cloud-init-21.2-lp152.5.27.1<>,,aUM/=„&bIIϴ&Qj 0hi7xf:yɳ^k1:_ačalna~YDcR*ål$wF&n6|0fV 1{ve/>c?cd   > 'HNX     0  64$$$(8 9:?FXGtHIXY$\\]^7C7b@cAdB4eB9fB<lB>uBPvJ wKxTDy\zcccccCcloud-init21.2lp152.5.27.1Cloud node initialization toolCloud-init is an init script that initializes a cloud node (VM) according to the fetched configuration data from the admin node.aUMhci-cnode1-m02LopenSUSE Leap 15.2openSUSEGPL-3.0http://bugs.opensuse.orgSystem/Managementhttp://launchpad.net/cloud-init/linuxx86_64Y+ < %<"*_? i + 0 z5V b,A [z>| D)_Z&' B!3w =$1: $2j^T w gMP|  J{IH qJ .Zy, M yp9t Nc HE%I   ,28 5+ WW ,c #p Q  x ' j~ (  =+ :%b  x^f M]  h D. &* N LFV]#oK& >8| q9H" " 3 \ V#PQL6  h~V!cV'K!X4X@ h!'i s52M  Z oQ E+7"!1t d#8 J ? >U&) G x.4?, r-iYAX$#=T%o?Q {#H} -*b 04k# m5&1)y#+@7[ =8'4ps='04&A}p U! 1 ,!I0W%` b} ]]{_^&uEj`n0d ;vDp R Y"m Z2g M5{%4A zV90;uFP= KKAAAA큤A큤AAA큤AA큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤A큤큤AA큤AaU aU `aU aU ``aU ````````````````aU aU `aU ^]aU aU `aU ```aU aU aU aU aU aU aU aU `aU aU aU aU aU aU aU aU aU aU aU aU aU aU aU aU aU aU aU aU aU aU aU aU aU aU aU aU aU aU aU aU aU aU aU aU ``aU aU aU aU aU `````aU `aU aU aU aU aU aU aU ``aU `aU aU aU aU aU aU aU `````a @``aU `aU aU aU aU aU aU aU aU aU aU aU aU aU aU aU aU aU aU aU aU aU aU aU aU aU aU aU aU aU aU aU aU aU aU aU aU aU aU aU aU aU aU aU aU aU aU aU aU aU aU aU aU aU aU aU aU aU aU aU aU aU aU ``````````````````````````````````````````````````````````````aU `aU aU aU aU aU aU aU aU aU aU aU aU aU aU aU aU aU aU aU aU aU aU ``````````````a @aU `aU aU aU aU aU aU aU ``````````````aU `aU aU aU ``aU `aU aU aU aU aU aU aU ````````aU `aU aU aU aU aU ```aU `aU aU aU aU aU aU aU aU aU aU aU aU aU aU aU ```````````a @`````aU `aU aU aU aU ```````aU `````````````a @``````a @``````aU aU aU aU aU aU aU aU aU aU aU aU aU aU aU aU aU aU aU aU aU aU aU aU aU aU aU aU aU `aU aU aU aU aU aU aU aU aU ``````aU `aU aU aU `aU aU aU aU aU aU aU aU aU aU aU aU aU aU aU aU aU `````````````````````````a @`aU aU`aUaUaU```aU aU `````aU 688c83da4aa4d373a6b4ecc07b4d8e2bb5856a23426e3e55ff1233802f5222645df6c972f880adc375ec32564a00b917fe1bca5aa02359abc0f4906fec65e0911c80199250aeabaa9ced4990d3e222ae83859a983e781c4d6b4c64808fc5a6c20d49d7f9b483a7f90f2f81ff794a7ab43388ead785e47b73ef1c88017d555b897fbdd5a008b0c1c4c64f17495c235923512d06e53103f088d6b3da24cb84f31c9d92432f448212c11af85691bc3195368f7079a031c059375c893824e2fcd58f4af93e3113fffe18f11f34e9a5b01fb449c16d05e0e7eba59978ea18068b06bfd09ccd2f4f0285f172043565da0759194be954e45ab43a4a4c025903607a35544af93e3113fffe18f11f34e9a5b01fb449c16d05e0e7eba59978ea18068b06bfef397f126249d338c1859c8be5cd4e998e761d01af0f097a8231d01298a16f1d3310425931bafcd491046edb04861c02bfe57b9252236898751c96337fc78406f40c1f9575af4503a096759fe136cadaa0fda118090a8b1c00197fccaddfa2cb981f72b961f25049174168896b9d979ded61406bf0052321b606f8940c4e08493662d513d2dd9f1272e5e56ed077c5351d03375eed6dda588a0e8a1c342c2b9aa09c0d9b1a54e00700755e1e892f0f30fd0b47decba76313c1affdff0f8b51839838131fa1b14ea887685bbbca67cc1f94d704eae431f6529f0f1c1f9e05b0d8a09c0d9b1a54e00700755e1e892f0f30fd0b47decba76313c1affdff0f8b5183deb2a3855d9486d448d9d34f5f4fcecd8a907451aae63b3d8c995b904303b22ecd1041962e1542e8030f93c8a393ddc2920bd7efecb2fb96d86aed52ba10efc7a6943def789ca80866c87ad99c5300ad8791e92834601f05cdaff7560021553898a31a4c66e573885df151fefceb38273000a4126618c8733a39ae2a9a9a0cdf5b61fd850ca5fb80758bb46834fe26f173377882177498ada7809124e130011dd08c9c43b24f260d8635b22e31a431c2666ef5afc761a8a6831c5964694daf64bf24328738a784acaa2e8184e0150c2621873ec2478c102099e35bf04335e06fba470d305f7118ff44b2335e166adf1bcf5b86dae0498be414a17baf68567d407afc39e89350aac127111f3046152c1b8bcaa5c6ea5f98a020164ebd704b05fb6efe13aa324a20715703d96619d8db3d3b39bef557ed7a8215146639dcfd051cdc3bb327ca723fb4254a4328f1a8518ca7842dad1d6eaad0118f9cf581f59f4fbdc15499b0bf0032f29d5acc49a05ab2b8c213f66bbdf2c0d92986adefdc961301ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b87b354571a05199eec5bfc4f9efbd95a4f748e645ad5f95caf7880b0ae9053efa770c05ecfb6c0b6c2e5dda449b7cddba000849119e4d8d4f1b22d035bdadbcf8c60ee03d62c6c45fe5eec59f23709b966ac544881a85d2a57d6f13278ebb736e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b8558c494c3bc340123e55e5eec76a90f19e8982538afd38c1fb92135fd571200bbf141fe0f3aa1be4d99ea05f6ceed39634dd1790ea8d8d6d0aa26e1bf9cc4fe3eaf750af3663e260738845516bbb772be3301aa9e3df8cbeb904389d067b45bd54a7d95f127c6ca3e43637b9981979ff6cbb7d43ae6ac11e75a6d434b5820e5f15fce679539353dca9f006c4613714278262fa2dd3b8f534540019e4db135f173091d4c74f8e0a5dfc6e6bb70f18cc945533b0e888135f10966d1b2caca4fc743a10f40176b423763143527f6932e82eaf2a8a1cd60c18d925528b33f7620609d9c1adc244e25324449feb9e34865d646bf6e279e88ff917416b4a267d5fac5e5f6197d29381d87d96d1404d254d1cdf4a83b3c8fdd55506c827e5d900b5cbae79c584c00ce80229727c06cd4c87cc2ade76fd9693748799a65c2d796737d35b2e66eaec0dd6cd7dd5cd3f743c324271cb5e6ae2704ed2283526c18d79a852785becb9d6af2e4c0af9d02dc9369717e059057c8fbd986e9ab4e0666d5b5881bb82a5ab8430b87357846a8fdb8d0d972c9adc0db92443b5a6d19ab32a3dedf70e33d9ecd42332770dbeb93bb35364d48623f656f86a7bc481d2ed0bd2fa139ad7448d578b0df2df49991990818fa925e9d8cba7b33c7bae9970ae15b8714b8c1c8955db4276a9465b5cda55d117f7e89ffb5b15f28143b0e12eaaa01e1798177a6d66c34903c78539259a5148e180a5defc8a8bc529614c7228c7ea096c4100e97f0029a299839de888c6adb627dab004de8fb5f6725b95d1da73bf86c17c72b68f4baf82c6108e9d8b4feaa3bb65442e773f3bc7f661c2bacbbaff9c9129a0ede21a4647cb2820043d00a3948889101d62c5a5d01051024df7d7d8e1ef2bd1babc8636478c7b91113b97d28d67d9bcea3113415132bd8774cddc48f6020ad64696ca4eb4c13d0793d78e811b38cb37fbde00a1e42292cf52e4d27acad3a9abc719ff49424296b08da642b28071fc15d1c5b1c69bf489d3cd370d8ff0048f293a956ec664f7f4598c2f7cbf8044f9be99361d84026f49bd5696b5c252a02c65e61442b6defa6d2f28d9d1c324edb5d34fa7b97b010692bbb5d0e678cb26bc06dbbda72ee1abba4006b446c369fa255aa8b3661f45137e56f5f854cd11ebd72d643f2a640b29e007fba5f834a6712d5c4474200bf562f8c6ec8dde878ccdf26ae20633379772b66a292e550063093ed067d7d7d2939960892dc264e735a5eb7186e726310978dc3d7405eb4f63aaf7f46b7fd87c38fcf87400b54ba0eefcbd2ce37062e5c90e2455d7920562eea529aeb708877dbf5d197cc23b66886139a36babce771d8590c7d7a499f62487959b9f6c8e758b8eacb387d44bd5f0c3a314bef8535c23355276bade5516b06aaa8a6fbc8c4ba8c228b0bac61bd170b7bf95d72d84ec331766b6a1a766a243fe51ced5612ed4f13fe5f0656c9602c8f9e5fc1984a85c0167c7ad442f6a6774348b8114c9538714f69f8b7730eb5ac53c3281a49840e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b85512f2578145ca0c728e0fc6125aaba40425ebbdd5bb34da803150c5327a4c7189093c2e2fbc1200b23ac902f2cb151fc7d6dc8380ab952b9bc59b5067399494ec4ca6c431748f97f8904ea148c278c0e6f662861b1055380140dba3510851427fa938082708879c8fe94315c95507416e7dc06b07349728e3c8c95a3c27559943dd8c75697cadd2ae32cf940f8b7a9799e805ac6da37e9e01bfca167b818e1801a7f14406be882a51a53b1ad2c6a3c821a218a99fe975cde5639f8d68fcd1871a2b35894658ba852806d7f2a23965a4d557dae8fd49155243562ba0b6c71be87a99f6ebcb59deeda627f98c14f9cab7c10a15469b5a4ae22db9f6e010aa1938df4f467c18392f7e0e906c179e06ec17c26656447a2ca532ce8de5ce101d8c8083166419e447d372a0d4a8170c1edbf7d03fdba90afdf9b9df52a37be0fad4fd62e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855f4de04e806a38201208e2a25fb3336f3d0935f2463ee9198c79d2351a4e0e67861eb2b6b5e419f2827bd21a1aeb436e8ef178a386454fdda147788305dbcf8f50219565ccfaa12003495a0823029fb26be9bc41be2f25cf6625dd0fbcac1ebc8d066b24962bdc25ea418d0d8734f8047ab90c78bc5df694469bf8a74095dc0cea5a89bee0bb16ca024a5c6f391de906154644e28718a46b561a2aa6752b9d57108c94f6d690602b99ef388f1ef14823cd4bcb9546a9d9f1c7e18381ac0ef098e1349c7aedc19af4091839ab05fc1e20faa1c032735efd6fe21b352ddc3bc601bf161915baefa7b91d464d37c2c22b788ad9a786d728db0b674cfffe81bc1c0a020e1f0dfdda09a29077c315f7a6286c1fa83a848264ba7dd42e7a8be561f853d053915041c1c6858f5601af40cddbb08a39c0ff41128ed177999e0652042a6691b86a9b0a1e81f36a8f3633ebe98a336d2b708b68acc45e5db5a212ca2911e831cace3546163afd7cc4b84c13f6ea434e72190b66ac7a5f256db7090e80ef4684cf41cf530e91632f17142a56b70d5e573e51e983ce28f9a023fa7ba5548a7a0a0b99dd69ca567f45f9bf018f22b39fa39de6869e03eaeabef4bd1e621a5ca8129e01f6b7382a664197be6618798525918cbbf244a0fa3d41464dfcf5b5314d6c6a9f22f875f4f71859e614dc47364af2b5515b8d1237afde5c106771e9a43b5dcb7d8da2a10b5936f1db3efb868eef67d9d567506eb3f38f03a8937aa585a6fe80494cd217e3859faf8229b3fb17e58051753b683a4883cdbba39fd22063643b8c6e4caacbae472575c3ad64c3a8a14beaa626520a6c6178d9f502c586300afe4494e827a1eaa70e6e68bea2a2bf5489285149d7e2a8023d517640168111ed734845503b4bf5b5a5786114c0c6218571d93a062b2313e09ba37f103af6d14ac3634705f0e3eedd68a7f15778c5212b8979586161acda473bf729cd7da1898eeb54a1f7871c0d3624608506d8426c475dbf76af2c927a2abc4bf3a79c811eed0ca6eaaf2b43dab5a74e41c3e7d9dfe696a4f84a59c1e726e625a89f7cb300398085890c9bb175b7ef02c5ce49aaeae1216ce83aa42fd229ef2caecbf8d5a7b44d06aea37a87656f3e901457ea4e66598e6ecc72ca9dec744e857bf4a5834a88b37e232fb3e70754600324ad4096266643fe9af48090a275a1015c5ec27bd6d4c8e2f15052995b04dca02038bd36e4cead3723b603e2533fc91791b0a89cd3d4abd56961028cb543effcd57ae565981d218cca2a99dc94198eb4da2bb82ca821f0eec7a25fa21c120e6d069870c1daf461d3f52cec3c3cebb39ce421075dd55c5560b9e10eb452193974bf457dfbdff816388d6478476e4c9b12732b0ad7cbb38f411e921ce8ef29b0ae76a670869d56731ccc759060bd9948caab6cacfa14dceb8aca513075747643d54276d45a3a6947c300cd581d5d3488668ee07cc63ed3ba78906b874e1c772b5cc54c92f96077b0df244981a69f0146e6a921421bf7d53a40e443a016022258f3a6d1aa6bcc9656ff8b71ca9e009d7f4b3b7fdc3157e986921ab217879a8aee2c555be7997cc11fa3a863579041a8f03bf489eb41ea1e2e97315f4068d21191323ab58ebf3c2dab033df86cd2b34a2f11ebc2097e7e3b0591e7685b820e30125dcc87d49193d97f7a49a35f40457f911cd9a2a553ee059535e81791f88698647d4b7816041905572c04c364de479e3db6f2d16fb631b125f837addc6b9687abb3bdb2cd20f60e9038a24afd2f64bbeda62e6586d75439e20c814df6d5712f5edb1a8a6043279ca713d3526a80a62fbf65943417141a76efaf01edd4015d382dfa607fbe7e17c8252846b123e3b2715b807fe3bfce72aaa791e13a500ee61bf59f3882fb6443fcb3f51047ccfe2a765c6c0c70345deeeaeb7147835970206b670e8ffe45963d802e25da428c172cbab98f0a5e5c16b8a6639cd8d0bb9345c3c8a775f0901f88b9a8f028cc9d161bcd1058322fc28cd6695c500f00132086598a2d7064df7039528e6c47ec30061eb419cb535a92a55f7b90f63d71a9bc2f86e575cd6d77b6866252a1cc9541aa72a8863ccf3b2e4bfa4fea7072b022df04f5e26636666a4f9291c37ccd3305b0b38156f4748e0a2d6747ca1703e9c1e2da5b5ec6ea4db89a7e6b38c4005b24eeb1abd0f17c21cd22c0278321512c5dca5452f54c5922355ddf9d7aabae95d8d4c9421588e3b1fd3180075448852d74fd91b5868d391be1bfcfc66fdfd8935143a160ccb4cc3665d1f9c4663f11fdf93cecc90cfe51c242f98f3eba110c03a78eeb926d6cc22545574a5e2b467bda5538bf69d28ee7045adaf7b390a052674c22dc7b3e043a156198c99fe06ab70bab4cf137d0eacffcfaea184fdaa9a00016efbe88000d1da84c38fcf154c629e5ed24a6aace65447d9ec02058ae000c60f7f949a646f125ae1c72d490650cf2a49b56b06b760244cca33547d6bc818bb1cce6b8833c41c83827bcaef023eaee42e542ac65aa2a4757656091501cfd66c9f0458cf4a8d3907d13d5ca8a546204c1b64ceb3dc30b08dd66166bfcc24ec8b1a18288a5016408271c3254726749cfe0f1234c7597a7e8ac24a31f83aea7c71420d5612a240ead0e9ec6247e8a818f661805b2bd739578bd909cc9e68826299b401678e06088d5a3439831154bcf3405e9437a636f6f577df385cbf7b7058e5c3d74424ce66c1bf0249bf3868efb6c3ea9f3d0f09b6f7282c23aca7d5787ad0592c1ce5e333b8387c72edae85e4032eceafe9cbe57933d59bc21dfb3819a445af394aa9d9b639cb9e031231c031aaff90eb5f69070c41a530951da8bd9b3427edc9367b3bee653bbd546cd804629985222cfea02bcc64d75858a266af617a6f9d2151acc56dd0bf5a0ef9b2b20fecc84cdd7c6d6e1d7fbb6a0fa8443576719904a590771c5ecd67dbeefea328bafe204aaa3745352c47168a59ff844e50acddfc20b09208472bd6768c6b71f11528654275446f953d8ecdbe3e213bc49aeaf1201e7f3588bc44945473b05fd565bcdd610983e36ef3bfebe15c0582e971b042e18031ee132528e90d1381590240fdd2a208f18a6b747fc575f1925f0463fa5978b80b8488970d16804fb366ceafa523d01d1e751c5152d1662019a27873030abf51f15b652d03f963d11411f44fb0d72a018deafbe26c14f44327c52a682a67bd333be97dc55157a8e0037d33957ec255c74078e8f7f1239d4e991ea43f181b947efcbc8670bcb7c10dfc3657b08ffcb23b9719772f166403bc333240c9dd775821f878e81b4f28db9504bd7b635c30132e949818d2d8996255e901c82c97967b379f8a861107a19f37e746b432551bb6d792fc04670bd451fb00f73fe20ac76931ada736383914e6bede5c56a0843ab930765ab6b2a07b7259b404ece8bff46eeff39557dbb8e1960baa3ed1f82acfdbe9ff3d2f751922fe02f6af7273531ba3faa406ee4aa35b609d38b472524275fbadc754246964aeb419861fe2811813767a688b0b6bdf6b4f46baf65c97bf6f09520ed6142d070898ff75311023c9d60db127b698833f254296d8b6c7978368fb0ed290c90c095caae2bbadfe787b655159ecd9b42fbed8a56bdf0f3a0473f73bbf801d078edeb720f0c7ce634e26051ee297f4d13dc07a2079479f5335e2b9cb0038188f0212e4fa6c4c0310bcb6e3a34241331028d621148cd4ca3ebe057121e47dc7f695d0f56f52771c7a73e95ecda5126cb712e9d791a5209686688cf8fd4fe8c6bc993767be5a303235a8941ce8cba3aedb8d06425f79de8d66fcd201318430ac53048dd83e6b4fb7a7b123ddb40bd1e08cf3315fa4afdb14bcd774fe27f306f47bdd74accd2d14125eed0e2331e173ca6345dee090408fa4e866041872097fbaad8a65214cb502637f4f20e3bc5bccaddb8125a255365d4fe8aba768036f559aba5e7fbac0813f1d4b96ebcd96f8aaca0253f0fdc4b69b0c8441e978028dee839517be69861eaff6ef735e67a0e8ff00148756811490d288e00cdf91e3da8374d6fe96071111445a8d6f7436902404d4b09451d78165de84470775f2afd3d737901a28a67d4c94896074426ffab4353b4d586cafe0c8f9d24eb3fb66a9a020ab989ab5d0decfee273e9e50771525461e19af9cae40dd9213b083e49a85d9e24c97188f7629040fc7a26659b643e90b7bcad7390407ed4d5138ef59412a0b1f7425397b8cb1ec23871b5a54dcb874734c91e66322919569cc8f4de5f6185670fd8e63dcd62bcd52e29bccbb6e8e4c99c2833b28626ec19b174573a128dbd263ebdd52a3a1279a209d1451ffaadc36fc405571bf97b6a8bf54f3e922e0ac64dc9504f3568406020ecb0bc38b81c0b800f31487c57b802adced00ebeb92831637f247722ffad5f67a23d712f66c5713cf2efcaa19ad878dfabbeb0f93c7e5ce21b48bf57e54a370b777a13629de2d5fff0149b4554d1296ed6b8bc92bff1757165b2e91dce565784abc384fc9c7020ce7a1cd7c79a91b8587dc2d188c0d03895f275756ec8d4c46a17af8a988df19af364d0d1ff302a1acc39a150f326176a4e670236bfe3c43382f2e6f5cf0e2d2d202c56c417eb58c775d642f1c342d99eef20724995680c841691c8936cb20c4bb929020cc29d08d86b1bd7d0a94f62dbc3931c7902d195ab9c06aa777263556d034537899b371b5bcb3995bb9dc97469676e7d76eeab52d85a478a8e28cc61b86162e1b55923696db6268172d43818b6a73af20029aca3380c54e0377f937ce408134103163e631aa3dd21eee30a1e20fcf5ca6d145574f9e0daf0cee02cc1c3a73315b9e7779cbabf1c1861d31e9c4bf0c6c15b99bde79a6dc1a998178d2f63d068bd5f23b575f24eeac1cb5ad484d01c3f5113960df524360fc5c01fc603bde7e9e18cc41355526991048e01cbd79be79a90ba339717eb791a35796eb7fb77e9d8616b301b624d07ba413b0ed4bdce8e1bb21d588dff5f71ff1e8c7503b6d91d83f57871dcd0289143634edcd989f9e14926a5ff407c320b4d093330c6c640209a63ceafa88bd10e7f61668d4a4f69d86b15c5cb79ab738ad0a4578e03ab1e3f7c86ade4638616a651dd59a4129263cc3132dc3d102d97ab1350064d5e047a7e1dcb0df74c56369d6f06f77cf09f6cf65e6d1350befbf6edd34f7b77929aa29b510179177081ed42d87bd663d4d8b1ec3121cf8390df68579293234a692009d6cb96baa5721baebfaef08dffac5408b83e9e4a3848a42182c872b9a15c060de907a745894df044dafafc69a2b8f81ca5dd3a5a1066775b8082e71f99c636b53ce34d5e5f27139a1bcf3346af871e2c7638dd964a15929b1cc42aaf8bbba3e8b082d439e82545a111f581e02aa3780d0b27d91ec2c9bd6d3c96c2febf63bf3b50b19d8def095f2b634bd5810c03bdb1595aef8e8ad95cf9bea72630ef7e107b298f26d9513ea251dcd127c5ee20de07bc3eff6947bd9c1daec67dad0ecf4d4e04efc487e2218c3b14ef54e85a99508fb7fc2983502b71a690a68acca862ed63d819a9bed0998338ee09d00f74f9cf610719d79764668a8951b8934e7cd3626575d65d03afdcbeac71a4b5b593d79524bdec440870eae9c9f954ce1e0d20cd5f1427eba31092aa23e9a717305369aa1111db87409751d0b8379d06593fd83633caeda27d433682b4ae2ca406d81f690169890d05e8d813bf4bd247d818261e27e8c20afc65b59ee95e4c844410d09092195c6825f54df590866fa4efc9e9dac7be58f7907b6e6ba4a6d0292730c5e4cb7864de5dda6c4dd42ba411486c18868294bc4f5ae32670df83f5893f7db2eff858962e5b7b70f8021f05f26ccfd2a7346a70c6e48679d20dc91406b27b8cc7c2f8677290136fe687e1d4faacc5256b70a633469dd2557089421a16869f31304ae36789bddb52e613af7a4de6afd0568acfd0498531aa43a14cc3d42e7980985996ddb4ebaf7ff4ac5a7575dc4beead8b23c2767cd4209611acae4317599416be24084c2db61ebb51c8569fad8b031a74cd021e8aff26c8184f9000152e76447a5679b1dbe22a155b0560de2e02fab1d279e81fb8cd5e47abafb564b6a2a0029c5644c3fdf7f43b1d77c87568166d1425c99b90fc1ade09a903b791d4b542968405e52c67a1b774bdc382f3c1d334227714dbc1e0de5e522da613bba9e1dc2fb3a6625181720d4fc506c6e12432560e1d8e4801fd189ad244b08f4fdd065ffb51cb1347f1bf4478d5f3b7b88bffec3d6d5b0b9d82d65e1bbd8115d9427f6e364e1ac5914cdd63041a9ee181b510be14c2f45f709ec2dc42764332400e36c2db98cc0d057aae917cd3088bd22ff80dca4f405a07ccab015c983d45eae344dd3b6cbb7fec994f2b4cdc47ba524d8568eca890492f8ace74a2ab91f91abb332a83c8d5a4e938411d093896c9e458b7e652cef7dd45c5fa81a6b80e4505d4630ee5d36ecd08c99e10a709308d6397e06a3987e1cf2d73e658b5e4bb5d71c13492788ee8bf69aa6118e56671ed534dce54a4f968eddb3332f952d1d98d52b1bbeb06d33e9a54509a62228b2dc5e65a39803cc5c6c996f66750533803d8d2f7fb1f8b32a6481951c0b4afc4d6f16feea9770739733fffba67f0e90a8b62d15544cb7af9ed7ef4cb925f4b5e5d04560d032b6b2fc9154aee466173c54b9fce634f6b91d144b75eab61c140f54a0d28a18145f183b6959e6531fd6e6f0e604d25624bb00e1c48a0f58a9956de570f25245ff402601f652390d5de1702a21fcdaa5b3f11b021d438a2edb638e4de7e1924974f60ca404a076474a4e790e7d9a785656bbea56a56d114000e86376cb6ba38ec5f42af8d7b9905f485c8367e893662a7064515189e3b1eec02160dc249a973195cecb74150db59275ca673aac364822b0eb53b135343dea3b543048fe90d9520bff2c3fb490caed240da59da1c9d55cb1e5894205ee965120d489705c1c73847d78751c9aef361a75f1442512eab6c45e74903285de7920c7686190a0bac4b261a548137a39442ae2d737e1788ccced335331f722fd60e97dab7cdaee72506bf50dcae34e074ae1d1aeabba8bcd94dd9afe33a3da9ba31880416db65df5a64db67ff38eb04243dba035a43df0ab8d71761034e6f0fa21f0fad776b54fa6ad6653c190299175a88962c1d1703ded95441ee2eefbc30010022c050d6de051e08f5a838e54aed878ef1ed17bd727ddd7e5410c2223021b11251fcaddee2766e3a974d26ef40cce0d1805efa1c0fe98179c98f1580c2a720f3a1255236d4bb29d60e67a8f35507386adf1e431a53f34b8997ce2ff9742f1ff69260350b385205f5dfc1f9eb619f83297a1fd66c132911c7be3599964412c1d12edc7674813f7cd30290a9b8583464ec9f501fcd51cdb7e05f581c2911bb4cc569a3c2a135b163deef0419bcb7ac04ac0fdf56f1eeacc811515bf5f9bd828bf9772c21e6ad4f0349f5e067b92a90274d163e62b0e469998e910f60c29ade40e9b8b0af082979f2f56fb628a826cf5329de90e1a70891455697c19f36a0bc9fb4faf0dbbda005d31a87ad2f14f8158bd8effed587ac80a761a8ecf8a8a4b5d504746b5c11d0437d8361bedcba96c5a26e30a9911212c5a9165c310ad968310abaa84b3aedc4fd6d8da19ca76f4cd5bd10cc161c1add4ae0bd94713ffc88cc65cbf825fc2119e731c84cb436b81ad90aa6825d1dc390d7cd5ea6575c90a301cd4b2ac0ef79a34f099d34544ada64fedb7a944b7283aed52563fe4d020156b6def5c107696a90ead4be4b1a179e25f2a5181f96493312bb07accaf5be038aa470bdb25d952693a46acfcf581d85e6e1a12ca76e222fc1455f44e252322ab2adb57f45cc221383949edeef40fc9bbc4bb689243638496f2f5978fe4fc8f09d0646ad2f1d20bc85fb78506a5b35eb614aed39a39316da9e2c044b884765b0e99c96c9a36e24794f9f392782d82f32de76ab8d696380ba6f09ccd3fceaa6dd2123d653bc204454849e2fada0f03e9bf04382ae55855d00581f393e127627b86bf634749cbd5825cade7f21eee48f6b97c6f5b394790b3f177ed54403add4d6d5a232c6a28eb4b5f5a2eb656d20d6c0acad5267bc5a873a999423e11b5e7cf5e488540c0d164069810a4c91fb2f8a850cbf962b20eafe00a53520cfd03fddecc91c36271250bc62b4228076f320fe748a2105851210f39c01e97cafa59857d27323a71fd31f6c0e46c3acf0fed9d75551405855afaebf3d997933c275e96a4c0cf21ebdcf96bdc1a7ffff5102cb6891aa531f3c8cb52bdb583b27a80a101086bf313170db7c1f6a8db18f87bd363bc21247174d37e74bc19d809cfc6a4c28c1f4f3a3a834fa704757495346d8f0e9f17e240fe5ac6eae6f16146294c24686ac26884dfb48e80a94ef5f3e44fbafe63cfe094ae52b4623a8063478abd4e26df00b9e217aede6955cff1a4c19e39e16cc1c2d9bf54645a981d332cdfd61b1251211ae7946e99506ad51233a9559d843f9c65d2a43dc3cebf9808ff9979af8023b9998e691a01ddaf3d5e04c4b189d795f99b385a30b2cedcc0c408ad3ff1537ec6fd2b6afdc6b39d00d4d9355ad0491dd8a7cef78518ef887dd3b488fe297ac7249774e915d47617c33483e84544cf48850411af2e62bc80880ebdf61da836457ffe3f2fbf09297531b5c6bc3a3e3e9d580bc71ef0df30a3e3d0b20e810e85203bad2b3abfa2b78174b7a87f438512ee4f235d1a1c57c9e3f49b2892207b6ee19e9e247b3252c127dfcf284fc91a9f776d8700efa0679e47dbf1c23638a30ebde74f60b95f8e4bb3d7cd0d5c294caa6df7cbc6d34f490e5e2aee52af4ff2cbc4433d678428b9dd2fad770082913f7d6994ee1873599752d89546cacb06a463142bcf6b6103c58d2bc730163dc6dfeb940432d316724edc8cdbc437988b3e20210807be849c695a6a0e907fd0f84013dd293d2c7b9b04fc4bf7ec04fd57aa8bc554b590b59d7969534da3ffe00c6f6db036d51d74e8965ca6d2aafefcb843f33f038826098dea440e7a1ce18abb41f2b17af9c18730e3bfa303454191f87e01dc4a605c459bc211d8f827209a6e0d4475d27958872c93f668b7371b1c797ad003ca372dc12fb93732c68c7bd37b45decbd029e5de55ce961e1916d2fee8608d765d6e2876af0aeef0966899e2462c3938b50409720fa70dc911f5a0afe3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855230e3341c22cb68e3bdca60b04924aa98d53e23e58db3a5593451dda7b536450f601214d2955c0b50f57b2f24bcaa3af45fe1ac80c679c4afcd56ff1fbab65e2aeca49c40c7bc8ddfcf9c70f07125202f8dfbda7108a0955023ad143f2c22ae4a3c5f403b6fffa3f8eca7ea1b4a2974f6d40893dfd0462ee1a9f69fd9aaea89d4be859e5ef88e4d192b629adac0fdf8f58fc5bfa38dd0662f8a66eaf4f61aa52637b8c3268071e5fe775e3b385cfa91d2bdcf3e13b26795fa6e000c887583b14c10443d548fe73708bbb8db7a569afe3902986430989ac25826d9c546aa8bfd8208a179151937a5e493fb9c01ba75517e4d3f060065977580d4c99b15731d3d6dd31d2b672b2fe8716e7f9a742014eff4580a37b2ab679af811e6a530cf2345ec9cbd9f57dfbd71bb7a36e09ef5447de6fc5b5b459a658303a512809c980313a28f0838d5a4e48af54d33845bc9f5589092e69c57a7a7fbe19427d8a29ee1d87784655df9c3eb1bab42425bd624b9eb0384b2b52b5735713b6bf7925c072f609710b1153d77996b23f3b0a7b6a47623b53e468d05ea87ee4b41ef356d4454aaea00fba8805abcd44554226fb96c247e00225fc9b3df5e3c7c68bccfb6ee895cc45f340ec9ac7c484505743a3a4d07f8d9d234f2697d9e5e93f79e87f835db7d7ea29c448bd655b0be5463b27552bc99773ebf6604a9e6876008c60d031cf87ab25cc263ae112b073e2310eda67de20f36b37a79fdc9b55e2a80f7e18dff1446f47d28ee924890b0d784408e4c38fefa0073d31a4092700b22247ca56b03c4bdbe3be677b3fc38137d7c4d6cd0f0c82ce78fe09ca9f6da82c766b2e9a5761f549eef04f1812495a459c7e7bbb0dc94852bcd1f217ab52282c255297706cda7fa379133cb7e7e3eb5cec94c4ebdbdbb11f065953bb03907475fa6242a0716bcaacced689117e20e5c93604cbb7e2c3b75bd6f6ea6973ce727d3f9332841acacb11e73e45e4bc141291fabc54adf7d5cdf1894a1f05ab4d8eba1f43c9760c75498e7076c35b44cf7a62672e519d4484233f5c4ac2fc50d2bd70c2e9670674f966a22fc4f10bf1f6a94414f096a00803ce5c42ca608a8314d9609d1345033549ad8c1b55794354703d203e8a7b9f67c26b277b1629f53de791ece9a957cf0a5b28001318f44749996a260a1b2a166ac0416f85546dcfe05684c056960879f5de4f0550ca09f657c986462e1280341562aa04d4fd87ac406335c5495bf448dddf466f306271517e44d3c30a58500feb4366ba45775f1b026fd1ca8953572173ffab14eae8aa60b74af76fb9d8b9fb7028851380762cf997de8bb958ddc6e0fe4feb89137306f415f8727167517da289581be8978b0502a215a4ecd4229506a3165172cd361698a1663484a04ab820fe0c8c0afca1001356df138972ab4f5081e9585c5b378a53ab9a28888ee959b199213a3984f030facb7fc22107707f0f6c7d016abcabcb4de50079db296edcc53b8811de3675d7565cd8e864bb53ce0f20bf8b584aa8057fbe16234b93d34a6ec7030b96b5af26330c5e940644ad59393ac6e6f3e13a359f7671133db490c0d51c7ef1eb92c4219c70b8917b80455dd544db2b2a9ebd09fe5ac7eb38608ea73094bb75f1f9d61948c8bc97dcca5037844daf7bf2d32a1b02805c149ce9c0c48f1d7971c74475c667359b72e20de772842e0f0a619c8192f4abbb7bf08ee2c85516c6f0d20fff085b855278f8933eba8b6f003b72111b20f0f5807f6b4a3cbdd0fdda6bdcd4adcbf2f2aead0ca9f287151dee873aeee75751c11a9d69508b0183ea643a00e20eae6712e71133fa66716b496e4ed92cb122889503baaa92568277d9e19063edda6128b893bfe0313e4f5f556f81128f90e4c846bc8b9c4876ece9d01aa14d60824ff264c94c0b544bbe6d95c788aa5dff623e6480f4ea455b61871d043207043d56812781d1f63c0aebc643fd1e3a8fe6fc1f5238d7a5ae1cec4eb009c6d94554b6cf09f4ed8f4f9c08ef663264f9459bceca8de2fea4243aaa8fa9e7018cd85849018e8c59ce3548638e2d6c64806d6ca0007880dac5bfd51bc35ab26fe00980e4e00b2556484bd0df37f4efc0de870ec466965cd9d98243f015bab9284d4720267daa604d8bf9631b0635413434129feff2fe4be8c0750508d2dfe42d9d4683c63c4b78d0529682666907034940d0b81127081fb5ef41094821ccf23c5b137ebae486418db2ac36f80494b6fee3f7fe4acdf9c2bd1b571e26d88794ab07e7d971febb720e3873a56d2cef2fcb3efe133c72eb175e409b6886549af192f0b74b199c4a2476bb4559f47c944950ff2b5e81e6258b5f2c3aea69f998a8a789f6bfaab53c34e36b66a16d4b598e354aac819b4d13e912a9a29af659169e30ca6279135ee2b3cfc1604d07d07ff5520b725b49a09807e660238695e381cb25f55dc9880cda89afff1d498571f68a82d1d408cb858b047f7ae1473ff4d026e198b1054eac94f0cc7b0efab7ff18e415af16ea6673123dbbb14bbbee514b6c313529f80f03ea3fe6dc49d825e858345f15fe1858e681c56661244d51dc1ee4a11126e1510a16d29593db65314c7052c31db95eb2c450734351d8477d4ce0fff40ee5a0e61471b51b56fb8627e7385fcdd5125a3181e9754492886f91474a68a31bc8a5c11cde1addc819109ce5220aeddd7c19a5f767f9b37635f9cad5861f531e9cf1479571b5bdc75986abbdb30e2caf2ddb3ad90382065c26d4f5920c8f44ca5fdc2bd774dd2f47cf07059210e89b7dd658ac03f0dc491f630d160fd209a46f9ebe1ac6ad6af2e328460d6130fd38e4ebd7ab9afb4c0bf8497310059ffb4d19cebef29d68cfff9acee48e8a74cfb306af64ebfc4971c5da840e9e59f783ec641b7a16b7d684ac48f7b2a6f95b61eb49a5fd6e8d37d800428f8a89bcfac5790ca960909219db4600b30734be3296854538ee11de48cb569722f2d6c365b274aeb27b28e9fae54cabd6803defbdba35989274a7d5abbf4b95edc87d8b45f04ddd285cff25354c252927ce12a9bf946f6e6b3667a640b57025db05357a40f557b4492885cbf228ab8a08ab130c497b7e9c291e29f9c858f61ca9286c6521aa54680035074bd63adbb56f85007ad19436f56c7a9b3a2e994d29363fedbf6679875c113cff96ea74f2e6c9905fb385107ccd7f76fc401e875ff1a529125d8200063a3cebf28a724211838a4bd6419406a4acc083a2dc573c52800d9c9c402e6c66b10e6c074107a4b7a9239d9a4fdfdc59e26ed3d6834aa00166daf28096ce8a1ab09951807a0a3ae827e629a0a639a5519290b70eddf2195b3ca4bd72ff07c6e8a00aea8e6f638dfb5879a6009802d510f56e1275a9bb2fa63e3cabede09e8fdcedd74cb6a46ba11b76986ba56eed3f0ecc77b633c5d28c57ee8dd25ac8fe1417a42fcd3eb053052da0dfe7200ece3a97911f14037d17628aca48d532bc2d684e11835dc23bea5b7a1dc54e57f2ba51926f958cc95ceb5bf3aff998987f9b03b7600c1ee0eb4b1c8d5a546c84feb6967c884bbb2638a3f0b5f54907c337e4b9f404bf2a6c1c52c1e8a4b1d9bab6e731ac645e21f9b6ed40b91c2dc54484fdef10554a1f7ffa50861ca8afc6ec73e367f0a8b4e462bc66fdc9a15cee3030fbd6ee128572adfd5a5eec14f3683769d9042864440b4722fad0dcd2257f373dc8b0acec342f8387781978866f5401d4793f4362a8c4c7aac53d74dad802466ff90fb95baf31a3d9164f851ff445ae709bd4162b023b76637f7abf170d1a957c8f4e84c6bf7c91aeb262bbf590f2afa1a1717b90a8357ec3ac8100e7cd53e09e63e6aed2b2711528f650f82d907093386d849b0b1181066c5a8d18422df8285d9ad9ee174d49160b5585b2671a5caf03d624fde28d190a8b4339ca6eda78a501362aacea5effa50bd2c3fbb55c0a55cdf973efa5fcfdd81ed6af5ee22f2195dcd49e2bf96e61ab89231f3f4ce35658c3cb99bcfd831f580f52707e7c7e7a498e406d46c81c5845ce25ef1e867441d547e143e0fba8bb9c6ce758e9999c83077ff32b486df1c90c0858140ebb58c548a138b29ad34bb28047e7aa8e5bce4568fc5a97a208f096259b7d5061560dc73623779c7c3699209bce42c6acca41e9ce011b1b4afa8d94ce83ebb911a3931f955295f42c045a7230bc1c94c51c494929d7eabbf1a2e7c184fedde8c6beb04b1781d3567cade9c54c08b39e28ed187d2243d1f7aae1ca2d4dc3af1f3f1c5c6c5d3bc6d946931ddd1ba3dfd39092e1aaf6182f0e03b5ddef40f7f767849f66f1afa03aab63a14c38c83484c5896333771c0df618c691a6df906f0fae2d7a20f0464d896fdd41217563b966d3a8a6638a634c06240070718f44417675e731a27d7a3c60b0dfe031668e5a303e2dcb095b9f982e813a5891ac1395b91e8ee2866a793fe792fe915e07f0d51055633f8323cdbb5d4b1345432ab6e89424980155ef9b996b63d32490eb207e0ea09b6c174a344c9b5981e49c73b027d1b2f003efba8ab91ab46a09f3033c043f16c4b2dd887720090830a5f4cc92e14da48f92ea55f209d12f193905b0be24cdd374bc66a7533698fda04f2326eec0a556a78a088b6cbd2951ab1683c57339f8b5c73e949f753506dbdbe22e8b4dd65c0ace6a95c3cce619ece6ea1571fa61acbb79993b0ce3bc034d638e93ec28a451f86749967ba690191cbcfa13e2cbefb709171e155af64effe9935f9cd4161ff89f2071fe7c7682b6d8c7e21e8adb80906e4a3ebf044fa0a83a80bc6dbecb2cfb2bb2e4ce27a2bbd88c634d95f1775ab765c41074c455ab6e364462f54fbcac727ba59666173e5fd65546566fbc1f9ee6421d76a7d52b7491b22727b8e3f04102a597bed8673920dd08b2863c6f19045c30451049ac370c687b3d420c2871ea67892ac9c152b9bfeab1715d20eaa1d73132048822581df2baf862a76716b6126b0917915b6f82f6ab8c4e83b30c22a61e5ff00201c3d532ed65141c4843156eeb010504cc044850f2cf5816cd69ac17314efbbe5d660de8934958ab8c0f150a833911e02f9eb8325efd3bafb494e7749ebb92cdf0b79b7014c4e72e19a076f563e7b3e6e7ba147e3e40a275c3c045b0e74b9f9496ab74b47309c9cdc71e7b1036bb05ef36d06336b845dfa1f519196439b0214c57a185f2510d7d1e3545b6a8977f7c9acdfa5abcb49e02a98dbc646492b348a29a5f51643eedcab9f5f84fd475e7e2b6aa6e5e58c81f7475606ea1fdc6742ab2fb803da9616bfc83cb36f2d602fb4b3e6292b1ee370572480163e5bed792c1474dae95a57e7300bf7c3a1f719d048420dc0b6b25edfa18e846e810bee773ad8d145673426e2aeba860dc0d36776712350154de0e1f2db6038e8b5202fc00e6477c5d2bb42a635e28f805843996619ae09cdfaadfd3f0583e6c323f6130404a05879d88657b053bcc824723cf5921a01edd7b011e0f6d5af3374b7948c289ca970a491f9c6a24371694a36272d8149ef625a0e053f132423c8e20e12fe2e968cd56557f472cdae3e2a9ed0ef98e1aca1d8b7d72e79729fd59e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855fbe4505418c9cf1185e92b98249874f79f0a166931fa29cf694ee3b166914191376b777ce767809c9a4064969632610c379edfba7ff60ce3e963ee927f7703d33ca196c1eb48ec32b130e7921878fdecb82e82740a7afcdae0044fb837fdf9c4ce93b2e3ba4b21b305b1f520187187301503cfb4a3a4231bad8856a77c94413883389c3ed21ebb9ac71f70f3a48d5f8fe2e1c8c4e9fd726938d5b836f7dfc34933e34021b9543f096abb75ffb784640025ddf2accc54281f0da884ac003f0f3d0fead24b8d28ae9312148565552613ed9b90ac9eada6d7bc285cba39426efa7eafdf5cc1cec80dab9e3ef06f9f6eabbe6fc3adb4b1f43c124cc03bfddee4c903e2d16f7b542a75f2bb9b865cb42be265deb32c1db1c3470197fc3ef85c88e2fa2d0ea8fd50fbca3392f85531e5cea4368fa43795ec69af9b8a183840a2364a2bd2f93eafb03a5d0bd2f37ecdefd3a94cd51725edd4ae4f06452310c27ff9dceeb74cc922c212354236d55ad01332af609deea7fbdd02b9beda58b33423797cc4ebcffc0bbe29450bb35c78ef7d874b042fad73ccbbf0e9b44bff92e31d208bb7371b59b632e983fed5b9c11f51816af0e8062e0012c40167be6cd33a40c7b7d4e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855d7a535973c44bd7e4b6ad989882bdf0b81565ef044763035ebbb99a5ea2f3dbde3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b8551f9a7d8a1ce1aff17831e05ca724e3ed36bb2e4237fa8b52e093fafa73f3d6745acb75f8e85f7d8f6685cb16f8b2acfc781fcc27a9afeadc6ea428f87e8f88d12d4654334f111db48bc4d43af9a33ef06216acc12be5b96569c1637db952b017b2afa19da606a977167db2e7378ddbf053b8c5eb7e528952a1476a9b74999658c43a7345999b4f553e6d362928fa34e7b5d68caed082b5a47bad97322ab75edf2f61aa2dcacc4038d8672e52401cf6a75cdd34e0a662a44e102ab45782835bc96cb2c52480ebf3aa0612d5353d282b0d7955dbd927d833976a4780da004ed9600f4ff009451d9cc9ea80cfb8d4fbf757ed711f65fca82f1f8849c487e2b0fd8d94091cca4341f1a0dc38403e5a01ecdb87a67b78a700fd0d32ed710aff213d209f9ebf41f7300eec2c452512ed687c7d5d5c6bfbfd94f23745b8f160489d72a59f0459ac758036794bb2b508cb142b27e49b2af91392991e311f11843f360e6488c2b882e8c92f2509e8272d58e7d5c584340b540a40f71ac03bae939943264245ce5fad98bbc7a18fe56b960db71122828d267433a425e7a1afaa76e77b0543e4c0e3a06530928e1fbb1b2d693e6d26526259e2f3ad890c30df297d22c7edc1bb77cffa7cc93a92c95e120109c64ced382ad3d796f47067cf33f69cf4b9992c57d56bedb5077db8be434051fccabbb971d73090af6aa7ccb781cfa93a50dfaca641017827182295eb99b71a1c6f055200e4d619c71f8a8abbda03d76334cddb5971c47dcb37f265ac27931e24e247467997b8ff9696414748bd80ef4544f1c1ebd2699d60f3ba093ff201348d164e48a189915e24577a89af24dfd56c885701c30aea8d066a97e3bea9775ca8d0c1f26cb02af5bcbff32fe72ee8b4435963ac4aa00761a7986e05e1f98f36987944f30a0d49d4e5089bd562f08adfb8337d583d7056104806dde24d7f59db5fa62ca68a654615034d911f5015a3ad38e539d5df98c7c55414f7386e5841b86682ce4e3b009f65e7ac0e0f73290c304f64ac362710e8dcf4d80957fb15028cbfe0597882d81fe4a6b489699d6e19fd4983c994db10d6a7dad164f8d9fb5979d242893417ea0a4b3b0b088d5ff0245065f8cdeb44d120c1d752bbd0e11cb0cb6ee2f2f301dca3949fdf17164cb8edb764ec1447b12c6aab1392a794d43559a4db9f7527a49a6200b5aeed8b7a86eedbb7210d8e0ec2b7d345c65ebf8f0efece58cec620869d983f9eae6405e596b4b821fc81cd8807c0ad417b80ff71fee3f35378808945f02eefd392d38755d2cf5d09d1888c1a0cb5966e30ee6474458bd8e63c62e78524621db8aaf1287585d12efdf3e1261905881018589031f6220819f8227c5a653fb7a0c07731210cd46e9fee1abc83d7bb067db98fe41032789c244190e1a5d7f613b21b017f388aec3909018df1ceb1afa6a8a8f78f43c19a76451626b51acd57ba9201b7a19300cd934fb605fa1079f5b32fed3c21a43cf3a017536dbb8f7b63aba4989490f2f153a32ac96cefa9b5e792690b2c18108e04454047bbdf6eb3950b48f995b2641f1a1356cacd9ec03eff0d9fc4ed89a28d65ca9ee8b614d04e72439e699ec8819881f7c0b4ea0ed58b6694f005a7dcd61a92e6d6ff695eb591f1b0e435ba1769a104798e4f44c394a7bf4057380317aff4e16e29c29674aab094de4407cb1b4d96e1b65ed1297dda6b3d13522bdb3a3921dbe3fa7e59ea96d8c1f17b521bd027a78b3ca1b049ddfaf8d1f148cc702fd260e901fc681a404050d28a3fa7def798515fabb5148b448c026d92c0c9caeef8ed75419d85ce9f40b9a8d481ef206c60bf257555afb1bc0c95310d78c03221d783d834021c3a036ef6cf315b065a57990ea8ab5333307c34005370de601a737d7b0ce9c599a11181221534e05711cf1ce073382959f5ba4a34fa4f638bb59049d97ad004e73ff5baf4adc401540d9b458f98e0dbf40227fcc4c0701388bb8f07020284875c0174bdd5eaa2f6aa04431d83a1f53f8121c320c27f1b8c1185a5982d2800124ac801d911f665aa01b78ebe3d078f43948b2eb566a4f2c7ddd19b65a969da5d82216c9b355b223a5255d005b5c9441496792c17836f1cb09d3194c95241c5ec08fb23555358fa0bb811bd5aaee6f716279499825c5550142747a94ee33b5aea5b6b127e6c96210287dca3789d90d8bfb56d75b6e9f7db62fc559f9c910dc4c062f64e583c3a9c69f2dbf39bf58dd15c9180a217667c9de8deeab80f02218c5976d0a2587f3c38e8542d2131fdff5fc0066bd207dcbb5e12ef6df69008ed744acbeb737c2c5c5b30a84b405049a6cacfb78c1e3a161adb699e9070bbbadda229089d593300bf7ec3d694079c957d4e6327cb106c8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903711079df5727120f3b33dc8cd9b25b0005ff0a79010eee5e78fa625dcbe80b2e10c99ee8eb2dd56e6f110587cdf4dc30878e7f427d27ab41c7637763099b064d4fa6bc880190860fa99347a4f85700b7f664c7f73557cd75e793d141ff4dba63rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootcloud-init-21.2-lp152.5.27.1.src.rpmcloud-initcloud-init(x86-64)config(cloud-init)@@@     /bin/sh/usr/bin/python3bashcloud-init-configconfig(cloud-init)dhcp-clientdmidecodee2fsprogsfilegrowpartnet-toolsopensshpython(abi)python3-Jinja2python3-PyYAMLpython3-configobjpython3-jsonpatchpython3-jsonschemapython3-oauthlibpython3-pyserialpython3-requestspython3-setuptoolspython3-sixpython3-xmlrpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)sudosystemdsystemdsystemdsystemdutil-linuxwgetwicked-service0.721.2-lp152.5.27.13.65.0.23.0.4-14.6.0-14.0-15.2-14.14.1a @a @`:@`r`m` @_@_@___u@___@^W@^^@^x^}^|@^{G^E:@^C^C^*@^!^@^]@]µ]@]@]@]@]@]]Z@]Z@]V];\\@\O\Z@\o@\o@\o@\R@\G\3?@[<@[ٙ@[Ѱ@[@[@[>@[3|@[@Z@ZZI@ZZ@Zp^@Zo Z`@Z]@Z'Z@Zr@Z@Z }Z@ZYYéYX@Y@YzY@XXX@X@X@X@XU(XOXN@XN@XJXIK@X@X>@X<@X5X43@X(UXX2@X@X@X=X=X=X=X=X@XXX`@W@WWڍ@W;W;W@WUeW(V@VU3@U\w@U>$U+TgT[@Tи@To)@Robert Schweikert Fusion Future Antonio Larrosa Robert Schweikert Robert Schweikert Jordi Massaguer Robert Schweikert Robert Schweikert Robert Schweikert Robert Schweikert Robert Schweikert Robert Schweikert Robert Schweikert Robert Schweikert Robert Schweikert Martin Loviska Joachim Gleissner Joachim Gleissner Robert Schweikert Robert Schweikert Robert Schweikert Robert Schweikert Robert Schweikert Robert Schweikert Dominique Leuenberger Robert Schweikert Tomáš Chvátal Robert Schweikert Robert Schweikert Petr Pavlu Robert Schweikert Robert Schweikert Robert Schweikert Robert Schweikert Robert Schweikert Robert Schweikert Robert Schweikert Robert Schweikert Robert Schweikert Robert Schweikert Dominique Leuenberger Robert Schweikert Robert Schweikert Robert Schweikert Robert Schweikert Robert Schweikert Robert Schweikert Robert Schweikert Robert Schweikert Robert Schweikert Robert Schweikert Robert Schweikert Robert Schweikert rjschwei@suse.comrjschwei@suse.comrjschwei@suse.combwiedemann@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comdmueller@suse.comrjschwei@suse.comdmueller@suse.comrjschwei@suse.comgmoro@suse.comdimstar@opensuse.orgrjschwei@suse.comkukuk@suse.derjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comdmueller@suse.comkukuk@suse.derjschwei@suse.comrjschwei@suse.comkukuk@suse.dedmueller@suse.comkukuk@suse.derjschwei@suse.comrjschwei@suse.comkukuk@suse.derjschwei@suse.comkukuk@suse.dedmueller@suse.comdmueller@suse.comjgleissner@suse.comdmueller@suse.comkukuk@suse.dekukuk@suse.comkukuk@suse.comkukuk@suse.dekukuk@suse.dekukuk@suse.derjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.combwiedemann@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comdmueller@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comjoachim.gleissner@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comrjschwei@suse.comtbechtold@suse.comrjschwei@suse.comtbechtold@suse.comtbechtold@suse.comreik.keutterling@nodefall.de- Update to version 21.2 (bsc#1186004) + Remove patches included upstream: - cloud-init-azure-def-usr-pass.patch - cloud-init-after-kvp.diff - cloud-init-recognize-hpc.patch - use_arroba_to_include_sudoers_directory-bsc_1181283.patch - cloud-init-bonding-opts.patch - cloud-init-log-file-mode.patch - cloud-init-no-pwd-in-log.patch - 0001-templater-drop-Jinja-Python-2-compatibility-shim.patch + Remove cloud-init-sle12-compat.patch, version in SLE 12 is frozen to 20.2 + Remove cloud-init-tests-set-exec.patch no longer needed + Forward port: - cloud-init-write-routes.patch - cloud-init-break-resolv-symlink.patch - cloud-init-sysconf-path.patch - cloud-init-no-tempnet-oci.patch + Add \r\n check for SSH keys in Azure (#889) + Revert "Add support to resize rootfs if using LVM (#721)" (#887) (LP: #1922742) + Add Vultaire as contributor (#881) [Paul Goins] + Azure: adding support for consuming userdata from IMDS (#884) [Anh Vo] + test_upgrade: modify test_upgrade_package to run for more sources (#883) + Fix chef module run failure when chef_license is set (#868) [Ben Hughes] + Azure: Retry net metadata during nic attach for non-timeout errs (#878) [aswinrajamannar] + Azure: Retrieve username and hostname from IMDS (#865) [Thomas Stringer] + Azure: eject the provisioning iso before reporting ready (#861) [Anh Vo] + Use `partprobe` to re-read partition table if available (#856) [Nicolas Bock] (LP: #1920939) + fix error on upgrade caused by new vendordata2 attributes (#869) (LP: #1922739) + add prefer_fqdn_over_hostname config option (#859) [hamalq] (LP: #1921004) + Emit dots on travis to avoid timeout (#867) + doc: Replace remaining references to user-scripts as a config module (#866) [Ryan Harper] + azure: Removing ability to invoke walinuxagent (#799) [Anh Vo] + Add Vultr support (#827) [David Dymko] + Fix unpickle for source paths missing run_dir (#863) [lucasmoura] (LP: #1899299) + sysconfig: use BONDING_MODULE_OPTS on SUSE (#831) [Jens Sandmann] + bringup_static_routes: fix gateway check (#850) [Petr Fedchenkov] + add hamalq user (#860) [hamalq] + Add support to resize rootfs if using LVM (#721) [Eduardo Otubo] (LP: #1799953) + Fix mis-detecting network configuration in initramfs cmdline (#844) (LP: #1919188) + tools/write-ssh-key-fingerprints: do not display empty header/footer (#817) [dermotbradley] + Azure helper: Ensure Azure http handler sleeps between retries (#842) [Johnson Shi] + Fix chef apt source example (#826) [timothegenzmer] + .travis.yml: generate an SSH key before running tests (#848) + write passwords only to serial console, lock down cloud-init-output.log (#847) (LP: #1918303) + Fix apt default integration test (#845) + integration_tests: bump pycloudlib dependency (#846) + Fix stack trace if vendordata_raw contained an array (#837) [eb3095] + archlinux: Fix broken locale logic (#841) [Kristian Klausen] (LP: #1402406) + Integration test for #783 (#832) + integration_tests: mount more paths IN_PLACE (#838) + Fix requiring device-number on EC2 derivatives (#836) (LP: #1917875) + Remove the vi comment from the part-handler example (#835) + net: exclude OVS internal interfaces in get_interfaces (#829) (LP: #1912844) + tox.ini: pass OS_* environment variables to integration tests (#830) + integration_tests: add OpenStack as a platform (#804) + Add flexibility to IMDS api-version (#793) [Thomas Stringer] + Fix the TestApt tests using apt-key on Xenial and Hirsute (#823) [Paride Legovini] (LP: #1916629) + doc: remove duplicate "it" from nocloud.rst (#825) [V.I. Wood] + archlinux: Use hostnamectl to set the transient hostname (#797) [Kristian Klausen] + cc_keys_to_console.py: Add documentation for recently added config key (#824) [dermotbradley] + Update cc_set_hostname documentation (#818) [Toshi Aoyama] From 21.1 + Azure: Support for VMs without ephemeral resource disks. (#800) [Johnson Shi] (LP: #1901011) + cc_keys_to_console: add option to disable key emission (#811) [Michael Hudson-Doyle] (LP: #1915460) + integration_tests: introduce lxd_use_exec mark (#802) + azure: case-insensitive UUID to avoid new IID during kernel upgrade (#798) (LP: #1835584) + stale.yml: don't ask submitters to reopen PRs (#816) + integration_tests: fix use of SSH agent within tox (#815) + integration_tests: add UPGRADE CloudInitSource (#812) + integration_tests: use unique MAC addresses for tests (#813) + Update .gitignore (#814) + Port apt cloud_tests to integration tests (#808) + integration_tests: fix test_gh626 on LXD VMs (#809) + Fix attempting to decode binary data in test_seed_random_data test (#806) + Remove wait argument from tests with session_cloud calls (#805) + Datasource for UpCloud (#743) [Antti Myyrä] + test_gh668: fix failure on LXD VMs (#801) + openstack: read the dynamic metadata group vendor_data2.json (#777) [Andrew Bogott] (LP: #1841104) + includedir in suoders can be prefixed by "arroba" (#783) [Jordi Massaguer Pla] + [VMware] change default max wait time to 15s (#774) [xiaofengw-vmware] + Revert integration test associated with reverted #586 (#784) + Add jordimassaguerpla as contributor (#787) [Jordi Massaguer Pla] + Add Rick Harding to CLA signers (#792) [Rick Harding] + HACKING.rst: add clarifying note to LP CLA process section (#789) + Stop linting cloud_tests (#791) + cloud-tests: update cryptography requirement (#790) [Joshua Powers] + Remove 'remove-raise-on-failure' calls from integration_tests (#788) + Use more cloud defaults in integration tests (#757) + Adding self to cla signers (#776) [Andrew Bogott] + doc: avoid two warnings (#781) [Dan Kenigsberg] + Use proper spelling for Red Hat (#778) [Dan Kenigsberg] + Add antonyc to .github-cla-signers (#747) [Anton Chaporgin] + integration_tests: log image serial if available (#772) + [VMware] Support cloudinit raw data feature (#691) [xiaofengw-vmware] + net: Fix static routes to host in eni renderer (#668) [Pavel Abalikhin] + .travis.yml: don't run cloud_tests in CI (#756) + test_upgrade: add some missing commas (#769) + cc_seed_random: update documentation and fix integration test (#771) (LP: #1911227) + Fix test gh-632 test to only run on NoCloud (#770) (LP: #1911230) + archlinux: fix package upgrade command handling (#768) [Bao Trinh] + integration_tests: add integration test for LP: #1910835 (#761) + Fix regression with handling of IMDS ssh keys (#760) [Thomas Stringer] + integration_tests: log cloud-init version in SUT (#758) + Add ajmyyra as contributor (#742) [Antti Myyrä] + net_convert: add some missing help text (#755) + Missing IPV6_AUTOCONF=no to render sysconfig dhcp6 stateful on RHEL (#753) [Eduardo Otubo] + doc: document missing IPv6 subnet types (#744) [Antti Myyrä] + Add example configuration for datasource `AliYun` (#751) [Xiaoyu Zhong] + integration_tests: add SSH key selection settings (#754) + fix a typo in man page cloud-init.1 (#752) [Amy Chen] + network-config-format-v2.rst: add Netplan Passthrough section (#750) + stale: re-enable post holidays (#749) + integration_tests: port ca_certs tests from cloud_tests (#732) + Azure: Add telemetry for poll IMDS (#741) [Johnson Shi] + doc: move testing section from HACKING to its own doc (#739) + No longer allow integration test failures on travis (#738) + stale: fix error in definition (#740) + integration_tests: set log-cli-level to INFO by default (#737) + PULL_REQUEST_TEMPLATE.md: use backticks around commit message (#736) + stale: disable check for holiday break (#735) + integration_tests: log the path we collect logs into (#733) + .travis.yml: add (most) supported Python versions to CI (#734) + integration_tests: fix IN_PLACE CLOUD_INIT_SOURCE (#731) + cc_ca_certs: add RHEL support (#633) [cawamata] + Azure: only generate config for NICs with addresses (#709) [Thomas Stringer] + doc: fix CloudStack configuration example (#707) [Olivier Lemasle] + integration_tests: restrict test_lxd_bridge appropriately (#730) + Add integration tests for CLI functionality (#729) + Integration test for gh-626 (#728) + Some test_upgrade fixes (#726) + Ensure overriding test vars with env vars works for booleans (#727) + integration_tests: port lxd_bridge test from cloud_tests (#718) + Integration test for gh-632. (#725) + Integration test for gh-671 (#724) + integration-requirements.txt: bump pycloudlib commit (#723) + Drop unnecessary shebang from cmd/main.py (#722) [Eduardo Otubo] + Integration test for LP: #1813396 and #669 (#719) + integration_tests: include timestamp in log output (#720) + integration_tests: add test for LP: #1898997 (#713) + Add integration test for power_state_change module (#717) + Update documentation for network-config-format-v2 (#701) [ggiesen] + sandbox CA Cert tests to not require ca-certificates (#715) [Eduardo Otubo] + Add upgrade integration test (#693) + Integration test for 570 (#712) + Add ability to keep snapshotted images in integration tests (#711) + Integration test for pull #586 (#706) + integration_tests: introduce skipping of tests by OS (#702) + integration_tests: introduce IntegrationInstance.restart (#708) + Add lxd-vm to list of valid integration test platforms (#705) + Adding BOOTPROTO = dhcp to render sysconfig dhcp6 stateful on RHEL (#685) [Eduardo Otubo] + Delete image snapshots created for integration tests (#682) + Parametrize ssh_keys_provided integration test (#700) [lucasmoura] + Drop use_sudo attribute on IntegrationInstance (#694) [lucasmoura] + cc_apt_configure: add riscv64 as a ports arch (#687) [Dimitri John Ledkov] + cla: add xnox (#692) [Dimitri John Ledkov] + Collect logs from integration test runs (#675) From 20.4.1 + Revert "ssh_util: handle non-default AuthorizedKeysFile config (#586)" From 20.4 + tox: avoid tox testenv subsvars for xenial support (#684) + Ensure proper root permissions in integration tests (#664) [James Falcon] + LXD VM support in integration tests (#678) [James Falcon] + Integration test for fallocate falling back to dd (#681) [James Falcon] + .travis.yml: correctly integration test the built .deb (#683) + Ability to hot-attach NICs to preprovisioned VMs before reprovisioning (#613) [aswinrajamannar] + Support configuring SSH host certificates. (#660) [Jonathan Lung] + add integration test for LP: #1900837 (#679) + cc_resizefs on FreeBSD: Fix _can_skip_ufs_resize (#655) [Mina Galić] (LP: #1901958, #1901958) + DataSourceAzure: push dmesg log to KVP (#670) [Anh Vo] + Make mount in place for tests work (#667) [James Falcon] + integration_tests: restore emission of settings to log (#657) + DataSourceAzure: update password for defuser if exists (#671) [Anh Vo] + tox.ini: only select "ci" marked tests for CI runs (#677) + Azure helper: Increase Azure Endpoint HTTP retries (#619) [Johnson Shi] + DataSourceAzure: send failure signal on Azure datasource failure (#594) [Johnson Shi] + test_persistence: simplify VersionIsPoppedFromState (#674) + only run a subset of integration tests in CI (#672) + cli: add + -system param to allow validating system user-data on a machine (#575) + test_persistence: add VersionIsPoppedFromState test (#673) + introduce an upgrade framework and related testing (#659) + add + -no-tty option to gpg (#669) [Till Riedel] (LP: #1813396) + Pin pycloudlib to a working commit (#666) [James Falcon] + DataSourceOpenNebula: exclude SRANDOM from context output (#665) + cloud_tests: add hirsute release definition (#662) + split integration and cloud_tests requirements (#652) + faq.rst: add warning to answer that suggests running `clean` (#661) + Fix stacktrace in DataSourceRbxCloud if no metadata disk is found (#632) [Scott Moser] + Make wakeonlan Network Config v2 setting actually work (#626) [dermotbradley] + HACKING.md: unify network-refactoring namespace (#658) [Mina Galić] + replace usage of dmidecode with kenv on FreeBSD (#621) [Mina Galić] + Prevent timeout on travis integration tests. (#651) [James Falcon] + azure: enable pushing the log to KVP from the last pushed byte (#614) [Moustafa Moustafa] + Fix launch_kwargs bug in integration tests (#654) [James Falcon] + split read_fs_info into linux & freebsd parts (#625) [Mina Galić] + PULL_REQUEST_TEMPLATE.md: expand commit message section (#642) + Make some language improvements in growpart documentation (#649) [Shane Frasier] + Revert ".travis.yml: use a known-working version of lxd (#643)" (#650) + Fix not sourcing default 50-cloud-init ENI file on Debian (#598) [WebSpider] + remove unnecessary reboot from gpart resize (#646) [Mina Galić] + cloudinit: move dmi functions out of util (#622) [Scott Moser] + integration_tests: various launch improvements (#638) + test_lp1886531: don't assume /etc/fstab exists (#639) + Remove Ubuntu restriction from PR template (#648) [James Falcon] + util: fix mounting of vfat on *BSD (#637) [Mina Galić] + conftest: improve docstring for disable_subp_usage (#644) + doc: add example query commands to debug Jinja templates (#645) + Correct documentation and testcase data for some user-data YAML (#618) [dermotbradley] + Hetzner: Fix instance_id / SMBIOS serial comparison (#640) [Markus Schade] + .travis.yml: use a known-working version of lxd (#643) + tools/build-on-freebsd: fix comment explaining purpose of the script (#635) [Mina Galić] + Hetzner: initialize instance_id from system-serial-number (#630) [Markus Schade] (LP: #1885527) + Explicit set IPV6_AUTOCONF and IPV6_FORCE_ACCEPT_RA on static6 (#634) [Eduardo Otubo] + get_interfaces: don't exclude Open vSwitch bridge/bond members (#608) [Lukas Märdian] (LP: #1898997) + Add config modules for controlling IBM PowerVM RMC. (#584) [Aman306] (LP: #1895979) + Update network config docs to clarify MAC address quoting (#623) [dermotbradley] + gentoo: fix hostname rendering when value has a comment (#611) [Manuel Aguilera] + refactor integration testing infrastructure (#610) [James Falcon] + stages: don't reset permissions of cloud-init.log every boot (#624) (LP: #1900837) + docs: Add how to use cloud-localds to boot qemu (#617) [Joshua Powers] + Drop vestigial update_resolve_conf_file function (#620) [Scott Moser] + cc_mounts: correctly fallback to dd if fallocate fails (#585) (LP: #1897099) + .travis.yml: add integration-tests to Travis matrix (#600) + ssh_util: handle non-default AuthorizedKeysFile config (#586) [Eduardo Otubo] + Multiple file fix for AuthorizedKeysFile config (#60) [Eduardo Otubo] + bddeb: new + -packaging-branch argument to pull packaging from branch (#576) [Paride Legovini] + Add more integration tests (#615) [lucasmoura] + DataSourceAzure: write marker file after report ready in preprovisioning (#590) [Johnson Shi] + integration_tests: emit settings to log during setup (#601) + integration_tests: implement citest tests run in Travis (#605) + Add Azure support to integration test framework (#604) [James Falcon] + openstack: consider product_name as valid chassis tag (#580) [Adrian Vladu] (LP: #1895976) + azure: clean up and refactor report_diagnostic_event (#563) [Johnson Shi] + net: add the ability to blacklist network interfaces based on driver during enumeration of physical network devices (#591) [Anh Vo] + integration_tests: don't error on cloud-init failure (#596) + integration_tests: improve cloud-init.log assertions (#593) + conftest.py: remove top-level import of httpretty (#599) + tox.ini: add integration-tests testenv definition (#595) + PULL_REQUEST_TEMPLATE.md: empty checkboxes need a space (#597) + add integration test for LP: #1886531 (#592) + Initial implementation of integration testing infrastructure (#581) [James Falcon] + Fix name of ntp and chrony service on CentOS and RHEL. (#589) [Scott Moser] (LP: #1897915) + Adding a PR template (#587) [James Falcon] + Azure parse_network_config uses fallback cfg when generate IMDS network cfg fails (#549) [Johnson Shi] + features: refresh docs for easier out-of-context reading (#582) + Fix typo in resolv_conf module's description (#578) [Wacław Schiller] + cc_users_groups: minor doc formatting fix (#577) + Fix typo in disk_setup module's description (#579) [Wacław Schiller] + Add vendor-data support to seedfrom parameter for NoCloud and OVF (#570) [Johann Queuniet] + boot.rst: add First Boot Determination section (#568) (LP: #1888858) + opennebula.rst: minor readability improvements (#573) [Mina Galić] + cloudinit: remove unused LOG variables (#574) + create a shutdown_command method in distro classes (#567) [Emmanuel Thomé] + user_data: remove unused constant (#566) + network: Fix type and respect name when rendering vlan in sysconfig. (#541) [Eduardo Otubo] (LP: #1788915, #1826608) + Retrieve SSH keys from IMDS first with OVF as a fallback (#509) [Thomas Stringer] + Add jqueuniet as contributor (#569) [Johann Queuniet] + distros: minor typo fix (#562) + Bump the integration-requirements versioned dependencies (#565) [Paride Legovini] + network-config-format-v1: fix typo in nameserver example (#564) [Stanislas] + Run cloud-init-local.service after the hv_kvp_daemon (#505) [Robert Schweikert] + Add method type hints for Azure helper (#540) [Johnson Shi] + systemd: add Before=shutdown.target when Conflicts=shutdown.target is used (#546) [Paride Legovini] + LXD: detach network from profile before deleting it (#542) [Paride Legovini] (LP: #1776958) + redhat spec: add missing BuildRequires (#552) [Paride Legovini] + util: remove debug statement (#556) [Joshua Powers] + Fix cloud config on chef example (#551) [lucasmoura] From 20.3 + Azure: Add netplan driver filter when using hv_netvsc driver (#539) [James Falcon] (LP: #1830740) + query: do not handle non-decodable non-gzipped content (#543) + DHCP sandboxing failing on noexec mounted /var/tmp (#521) [Eduardo Otubo] + Update the list of valid ssh keys. (#487) [Ole-Martin Bratteng] (LP: #1877869) + cmd: cloud-init query to handle compressed userdata (#516) (LP: #1889938) + Pushing cloud-init log to the KVP (#529) [Moustafa Moustafa] + Add Alpine Linux support. (#535) [dermotbradley] + Detect kernel version before swap file creation (#428) [Eduardo Otubo] + cli: add devel make-mime subcommand (#518) + user-data: only verify mime-types for TYPE_NEEDED and x-shellscript (#511) (LP: #1888822) + DataSourceOracle: retry twice (and document why we retry at all) (#536) + Refactor Azure report ready code (#468) [Johnson Shi] + tox.ini: pin correct version of httpretty in xenial{,-dev} envs (#531) + Support Oracle IMDSv2 API (#528) [James Falcon] + .travis.yml: run a doc build during CI (#534) + doc/rtd/topics/datasources/ovf.rst: fix doc8 errors (#533) + Fix 'Users and Groups' configuration documentation (#530) [sshedi] + cloudinit.distros: update docstrings of add_user and create_user (#527) + Fix headers for device types in network v2 docs (#532) [Caleb Xavier Berger] + Add AlexBaranowski as contributor (#508) [Aleksander Baranowski] + DataSourceOracle: refactor to use only OPC v1 endpoint (#493) + .github/workflows/stale.yml: s/Josh/Rick/ (#526) + Fix a typo in apt pipelining module (#525) [Xiao Liang] + test_util: parametrize devlist tests (#523) [James Falcon] + Recognize LABEL_FATBOOT labels (#513) [James Falcon] (LP: #1841466) + Handle additional identifier for SLES For HPC (#520) [Robert Schweikert] + Revert "test-requirements.txt: pin pytest to <6 (#512)" (#515) + test-requirements.txt: pin pytest to <6 (#512) + Add "tsanghan" as contributor (#504) [tsanghan] + fix brpm building (LP: #1886107) + Adding eandersson as a contributor (#502) [Erik Olof Gunnar Andersson] + azure: disable bouncing hostname when setting hostname fails (#494) [Anh Vo] + VMware: Support parsing DEFAULT-RUN-POST-CUST-SCRIPT (#441) [xiaofengw-vmware] + DataSourceAzure: Use ValueError when JSONDecodeError is not available (#490) [Anh Vo] + cc_ca_certs.py: fix blank line problem when removing CAs and adding new one (#483) [dermotbradley] + freebsd: py37-serial is now py37-pyserial (#492) [Gonéri Le Bouder] + ssh exit with non-zero status on disabled user (#472) [Eduardo Otubo] (LP: #1170059) + cloudinit: remove global disable of pylint W0107 and fix errors (#489) + networking: refactor wait_for_physdevs from cloudinit.net (#466) (LP: #1884626) + HACKING.rst: add pytest.param pytest gotcha (#481) + cloudinit: remove global disable of pylint W0105 and fix errors (#480) + Fix two minor warnings (#475) + test_data: fix faulty patch (#476) + cc_mounts: handle missing fstab (#484) (LP: #1886531) + LXD cloud_tests: support more lxd image formats (#482) [Paride Legovini] + Add update_etc_hosts as default module on *BSD (#479) [Adam Dobrawy] + cloudinit: fix tip-pylint failures and bump pinned pylint version (#478) + Added BirknerAlex as contributor and sorted the file (#477) [Alexander Birkner] + Update list of types of modules in cli.rst [saurabhvartak1982] + tests: use markers to configure disable_subp_usage (#473) + Add mention of vendor-data to no-cloud format documentation (#470) [Landon Kirk] + Fix broken link to OpenStack metadata service docs (#467) [Matt Riedemann] + Disable ec2 mirror for non aws instances (#390) [lucasmoura] (LP: #1456277) + cloud_tests: don't pass + -python-version to read-dependencies (#465) + networking: refactor is_physical from cloudinit.net (#457) (LP: #1884619) + Enable use of the caplog fixture in pytest tests, and add a cc_final_message test using it (#461) + RbxCloud: Add support for FreeBSD (#464) [Adam Dobrawy] + Add schema for cc_chef module (#375) [lucasmoura] (LP: #1858888) + test_util: add (partial) testing for util.mount_cb (#463) + .travis.yml: revert to installing ubuntu-dev-tools (#460) + HACKING.rst: add details of net refactor tracking (#456) + .travis.yml: rationalise installation of dependencies in host (#449) + Add dermotbradley as contributor. (#458) [dermotbradley] + net/networking: remove unused functions/methods (#453) + distros.networking: initial implementation of layout (#391) + cloud-init.service.tmpl: use "rhel" instead of "redhat" (#452) + Change from redhat to rhel in systemd generator tmpl (#450) [Eduardo Otubo] + Hetzner: support reading user-data that is base64 encoded. (#448) [Scott Moser] (LP: #1884071) + HACKING.rst: add strpath gotcha to testing gotchas section (#446) + cc_final_message: don't create directories when writing boot-finished (#445) (LP: #1883903) + .travis.yml: only store new schroot if something has changed (#440) + util: add ensure_dir_exists parameter to write_file (#443) + printing the error stream of the dhclient process before killing it (#369) [Moustafa Moustafa] + Fix link to the MAAS documentation (#442) [Paride Legovini] (LP: #1883666) + RPM build: disable the dynamic mirror URLs when using a proxy (#437) [Paride Legovini] + util: rename write_file's copy_mode parameter to preserve_mode (#439) + .travis.yml: use $TRAVIS_BUILD_DIR for lxd_image caching (#438) + cli.rst: alphabetise devel subcommands and add net-convert to list (#430) + Default to UTF-8 in /var/log/cloud-init.log (#427) [James Falcon] + travis: cache the chroot we use for package builds (#429) + test: fix all flake8 E126 errors (#425) [Joshua Powers] + Fixes KeyError for bridge with no "parameters:" setting (#423) [Brian Candler] (LP: #1879673) + When tools.conf does not exist, running cmd "vmware-toolbox-cmd config get deployPkg enable-custom-scripts", the return code will be EX_UNAVAILABLE(69), on this condition, it should not take it as error. (#413) [chengcheng-chcheng] + Document CloudStack data-server well-known hostname (#399) [Gregor Riepl] + test: move conftest.py to top-level, to cover tests/ also (#414) + Replace cc_chef is_installed with use of subp.is_exe. (#421) [Scott Moser] + Move runparts to subp. (#420) [Scott Moser] + Move subp into its own module. (#416) [Scott Moser] + readme: point at travis-ci.com (#417) [Joshua Powers] + New feature flag functionality and fix includes failing silently (#367) [James Falcon] (LP: #1734939) + Enhance poll imds logging (#365) [Moustafa Moustafa] + test: fix all flake8 E121 and E123 errors (#404) [Joshua Powers] + test: fix all flake8 E241 (#403) [Joshua Powers] + test: ignore flake8 E402 errors in main.py (#402) [Joshua Powers] + cc_grub_dpkg: determine idevs in more robust manner with grub-probe (#358) [Matthew Ruffell] (LP: #1877491) + test: fix all flake8 E741 errors (#401) [Joshua Powers] + tests: add groovy integration tests for ubuntu (#400) + Enable chef_license support for chef infra client (#389) [Bipin Bachhao] + testing: use flake8 again (#392) [Joshua Powers] + enable Puppet, Chef mcollective in default config (#385) [Mina Galić (deprecated: Igor Galić)] (LP: #1880279) + HACKING.rst: introduce .net + > Networking refactor section (#384) + Travis: do not install python3-contextlib2 (dropped dependency) (#388) [Paride Legovini] + HACKING: mention that .github-cla-signers is alpha-sorted (#380) + Add bipinbachhao as contributor (#379) [Bipin Bachhao] + cc_snap: validate that assertions property values are strings (#370) + conftest: implement partial disable_subp_usage (#371) + test_resolv_conf: refresh stale comment (#374) + cc_snap: apply validation to snap.commands properties (#364) + make finding libc platform independent (#366) [Mina Galić (deprecated: Igor Galić)] + doc/rtd/topics/faq: Updates LXD docs links to current site (#368) [TomP] + templater: drop Jinja Python 2 compatibility shim (#353) + cloudinit: minor pylint fixes (#360) + cloudinit: remove unneeded __future__ imports (#362) + migrating momousta lp user to Moustafa-Moustafa GitHub user (#361) [Moustafa Moustafa] + cloud_tests: emit dots on Travis while fetching images (#347) + Add schema to apt configure config (#357) [lucasmoura] (LP: #1858884) + conftest: add docs and tests regarding CiTestCase's subp functionality (#343) + analyze/dump: refactor shared string into variable (#350) + doc: update boot.rst with correct timing of runcmd (#351) + HACKING.rst: change contact info to Rick Harding (#359) [lucasmoura] + HACKING.rst: guide people to add themselves to the CLA file (#349) + HACKING.rst: more unit testing documentation (#354) + .travis.yml: don't run lintian during integration test package builds (#352) + Add test to ensure docs examples are valid cloud-init configs (#355) [James Falcon] (LP: #1876414) + make suse and sles support 127.0.1.1 (#336) [chengcheng-chcheng] + Create tests to validate schema examples (#348) [lucasmoura] (LP: #1876412) + analyze/dump: add support for Amazon Linux 2 log lines (#346) (LP: #1876323) + bsd: upgrade support (#305) [Gonéri Le Bouder] + Add lucasmoura as contributor (#345) [lucasmoura] + Add "therealfalcon" as contributor (#344) [James Falcon] + Adapt the package building scripts to use Python 3 (#231) [Paride Legovini] + DataSourceEc2: use metadata's NIC ordering to determine route-metrics (#342) (LP: #1876312) + .travis.yml: introduce caching (#329) + cc_locale: introduce schema (#335) + doc/rtd/conf.py: bump copyright year to 2020 (#341) + yum_add_repo: Add Centos to the supported distro list (#340)- Add cloud-init-update-test-characters-in-substitution-unit-test.patch to fix unit test fail in TestGetPackageMirrorInfo::test_substitution.- Add patch from upstream to remove python2 compatibility so cloud-init builds fine in Tumbleweed with a recent Jinja2 version. This patch is only applied in TW. * 0001-templater-drop-Jinja-Python-2-compatibility-shim.patch- Add cloud-init-log-file-mode.patch (bsc#1183939) + Change log file creation mode to 640 - Add cloud-init-no-pwd-in-log.patch (bsc#1184758) + Do not write the generated password to the log file - Add cloud-init-purge-cache-py-ver-change.patch- Add cloud-init-bonding-opts.patch (bsc#1184085) + Write proper bonding option configuration for SLE/openSUSE - Fix application and inclusion of use_arroba_to_include_sudoers_directory-bsc_1181283.patchfix (bsc#1181283)- Add use_arroba_to_include_sudoers_directory-bsc_1181283.patchfix (bsc#1181283) - Do not including sudoers.d directory twice- Update cloud-init-write-routes.patch (bsc#1180176) + Follow up to previous changes. Fix order of operations error to make gateway comparison between subnet configuration and route configuration valuable rather than self-comparing.- Add cloud-init-sle12-compat.patch (jsc#PM-2335) - Python 3.4 compatibility in setup.py - Disable some test for mock version compatibility- Add wget as a requirement (bsc#1178029) + wget is used in the CloudStack data source- Add cloud-init-azure-def-usr-pass.patch (bsc#1179150, bsc#1179151) + Properly set the password for the default user in all circumstances- Patch the full package version into the cloud-init version file- Update cloud-init-write-routes.patch (bsc#1177526) + Fix missing default route when dual stack network setup is used. Once a default route was configured for Ipv6 or IPv4 the default route configuration for the othre protocol was skipped.- Update cloud-init-write-routes.patch (bsc#1177526) + Avoid exception if no gateway information is present and warning is triggered for existing routing.- Update to version 20.2 (bsc#1174443, bsc#1174444) + Remove patches included upstream: - 0001-Make-tests-work-with-Python-3.8-139.patch - cloud-init-ostack-metadat-dencode.patch - cloud-init-use-different-random-src.diff - cloud-init-long-pass.patch - cloud-init-mix-static-dhcp.patch + Remove patches build switched to Python 3 for all distributions (jsc#PM-2335) - cloud-init-python2-sigpipe.patch - cloud-init-template-py2.patch + Add - cloud-init-after-kvp.diff - cloud-init-recognize-hpc.patch + doc/format: reference make-mime.py instead of an inline script (#334) + Add docs about creating parent folders (#330) [Adrian Wilkins] + DataSourceNoCloud/OVF: drop claim to support FTP (#333) (LP: #1875470) + schema: ignore spurious pylint error (#332) + schema: add json schema for write_files module (#152) + BSD: find_devs_with_ refactoring (#298) [Gonéri Le Bouder] + nocloud: drop work around for Linux 2.6 (#324) [Gonéri Le Bouder] + cloudinit: drop dependencies on unittest2 and contextlib2 (#322) + distros: handle a potential mirror filtering error case (#328) + log: remove unnecessary import fallback logic (#327) + .travis.yml: don't run integration test on ubuntu/* branches (#321) + More unit test documentation (#314) + conftest: introduce disable_subp_usage autouse fixture (#304) + YAML align indent sizes for docs readability (#323) [Tak Nishigori] + network_state: add missing space to log message (#325) + tests: add missing mocks for get_interfaces_by_mac (#326) (LP: #1873910) + test_mounts: expand happy path test for both happy paths (#319) + cc_mounts: fix incorrect format specifiers (#316) (LP: #1872836) + swap file "size" being used before checked if str (#315) [Eduardo Otubo] + HACKING.rst: add pytest version gotchas section (#311) + docs: Add steps to re-run cloud-id and cloud-init (#313) [Joshua Powers] + readme: OpenBSD is now supported (#309) [Gonéri Le Bouder] + net: ignore 'renderer' key in netplan config (#306) (LP: #1870421) + Add support for NFS/EFS mounts (#300) [Andrew Beresford] (LP: #1870370) + openbsd: set_passwd should not unlock user (#289) [Gonéri Le Bouder] + tools/.github-cla-signers: add beezly as CLA signer (#301) + util: remove unnecessary lru_cache import fallback (#299) + HACKING.rst: reorganise/update CLA signature info (#297) + distros: drop leading/trailing hyphens from mirror URL labels (#296) + HACKING.rst: add note about variable annotations (#295) + CiTestCase: stop using and remove sys_exit helper (#283) + distros: replace invalid characters in mirror URLs with hyphens (#291) (LP: #1868232) + rbxcloud: gracefully handle arping errors (#262) [Adam Dobrawy] + Fix cloud-init ignoring some misdeclared mimetypes in user-data. [Kurt Garloff] + net: ubuntu focal prioritize netplan over eni even if both present (#267) (LP: #1867029) + cloudinit: refactor util.is_ipv4 to net.is_ipv4_address (#292) + net/cmdline: replace type comments with annotations (#294) + HACKING.rst: add Type Annotations design section (#293) + net: introduce is_ip_address function (#288) + CiTestCase: remove now-unneeded parse_and_read helper method (#286) + .travis.yml: allow 30 minutes of inactivity in cloud tests (#287) + sources/tests/test_init: drop use of deprecated inspect.getargspec (#285) + setup.py: drop NIH check_output implementation (#282) + Identify SAP Converged Cloud as OpenStack [Silvio Knizek] + add Openbsd support (#147) [Gonéri Le Bouder] + HACKING.rst: add examples of the two test class types (#278) + VMWware: support to update guest info gc status if enabled (#261) [xiaofengw-vmware] + Add lp-to-git mapping for kgarloff (#279) + set_passwords: avoid chpasswd on BSD (#268) [Gonéri Le Bouder] + HACKING.rst: add Unit Testing design section (#277) + util: read_cc_from_cmdline handle urlencoded yaml content (#275) + distros/tests/test_init: add tests for _get_package_mirror_info (#272) + HACKING.rst: add links to new Code Review Process doc (#276) + freebsd: ensure package update works (#273) [Gonéri Le Bouder] + doc: introduce Code Review Process documentation (#160) + tools: use python3 (#274) + cc_disk_setup: fix RuntimeError (#270) (LP: #1868327) + cc_apt_configure/util: combine search_for_mirror implementations (#271) + bsd: boottime does not depend on the libc soname (#269) [Gonéri Le Bouder] + test_oracle,DataSourceOracle: sort imports (#266) + DataSourceOracle: update .network_config docstring (#257) + cloudinit/tests: remove unneeded with_logs configuration (#263) + .travis.yml: drop stale comment (#255) + .gitignore: add more common directories (#258) + ec2: render network on all NICs and add secondary IPs as static (#114) (LP: #1866930) + ec2 json validation: fix the reference to the 'merged_cfg' key (#256) [Paride Legovini] + releases.yaml: quote the Ubuntu version numbers (#254) [Paride Legovini] + cloudinit: remove six from packaging/tooling (#253) + util/netbsd: drop six usage (#252) + workflows: introduce stale pull request workflow (#125) + cc_resolv_conf: introduce tests and stabilise output across Python versions (#251) + fix minor issue with resolv_conf template (#144) [andreaf74] + doc: CloudInit also support NetBSD (#250) [Gonéri Le Bouder] + Add Netbsd support (#62) [Gonéri Le Bouder] + tox.ini: avoid substition syntax that causes a traceback on xenial (#245) + Add pub_key_ed25519 to cc_phone_home (#237) [Daniel Hensby] + Introduce and use of a list of GitHub usernames that have signed CLA (#244) + workflows/cla.yml: use correct username for CLA check (#243) + tox.ini: use xenial version of jsonpatch in CI (#242) + workflows: CLA validation altered to fail status on pull_request (#164) + tox.ini: bump pyflakes version to 2.1.1 (#239) + cloudinit: move to pytest for running tests (#211) + instance-data: add cloud-init merged_cfg and sys_info keys to json (#214) (LP: #1865969) + ec2: Do not fallback to IMDSv1 on EC2 (#216) + instance-data: write redacted cfg to instance-data.json (#233) (LP: #1865947) + net: support network-config:disabled on the kernel commandline (#232) (LP: #1862702) + ec2: only redact token request headers in logs, avoid altering request (#230) (LP: #1865882) + docs: typo fixed: dta → data [Alexey Vazhnov] + Fixes typo on Amazon Web Services (#217) [Nick Wales] + Fix docs for OpenStack DMI Asset Tag (#228) [Mark T. Voelker] (LP: #1669875) + Add physical network type: cascading to openstack helpers (#200) [sab-systems] + tests: add focal integration tests for ubuntu (#225) - From 20.1 (first vesrion after 19.4) + ec2: Do not log IMDSv2 token values, instead use REDACTED (#219) (LP: #1863943) + utils: use SystemRandom when generating random password. (#204) [Dimitri John Ledkov] + docs: mount_default_files is a list of 6 items, not 7 (#212) + azurecloud: fix issues with instances not starting (#205) (LP: #1861921) + unittest: fix stderr leak in cc_set_password random unittest output. (#208) + cc_disk_setup: add swap filesystem force flag (#207) + import sysvinit patches from freebsd-ports tree (#161) [Igor Galić] + docs: fix typo (#195) [Edwin Kofler] + sysconfig: distro-specific config rendering for BOOTPROTO option (#162) [Robert Schweikert] (LP: #1800854) + cloudinit: replace "from six import X" imports (except in util.py) (#183) + run-container: use 'test -n' instead of 'test ! -z' (#202) [Paride Legovini] + net/cmdline: correctly handle static ip= config (#201) [Dimitri John Ledkov] (LP: #1861412) + Replace mock library with unittest.mock (#186) + HACKING.rst: update CLA link (#199) + Scaleway: Fix DatasourceScaleway to avoid backtrace (#128) [Louis Bouchard] + cloudinit/cmd/devel/net_convert.py: add missing space (#191) + tools/run-container: drop support for python2 (#192) [Paride Legovini] + Print ssh key fingerprints using sha256 hash (#188) (LP: #1860789) + Make the RPM build use Python 3 (#190) [Paride Legovini] + cc_set_password: increase random pwlength from 9 to 20 (#189) (LP: #1860795) + .travis.yml: use correct Python version for xenial tests (#185) + cloudinit: remove ImportError handling for mock imports (#182) + Do not use fallocate in swap file creation on xfs. (#70) [Eduardo Otubo] (LP: #1781781) + .readthedocs.yaml: install cloud-init when building docs (#181) (LP: #1860450) + Introduce an RTD config file, and pin the Sphinx version to the RTD default (#180) + Drop most of the remaining use of six (#179) + Start removing dependency on six (#178) + Add Rootbox & HyperOne to list of cloud in README (#176) [Adam Dobrawy] + docs: add proposed SRU testing procedure (#167) + util: rename get_architecture to get_dpkg_architecture (#173) + Ensure util.get_architecture() runs only once (#172) + Only use gpart if it is the BSD gpart (#131) [Conrad Hoffmann] + freebsd: remove superflu exception mapping (#166) [Gonéri Le Bouder] + ssh_auth_key_fingerprints_disable test: fix capitalization (#165) [Paride Legovini] + util: move uptime's else branch into its own boottime function (#53) [Igor Galić] (LP: #1853160) + workflows: add contributor license agreement checker (#155) + net: fix rendering of 'static6' in network config (#77) (LP: #1850988) + Make tests work with Python 3.8 (#139) [Conrad Hoffmann] + fixed minor bug with mkswap in cc_disk_setup.py (#143) [andreaf74] + freebsd: fix create_group() cmd (#146) [Gonéri Le Bouder] + doc: make apt_update example consistent (#154) + doc: add modules page toc with links (#153) (LP: #1852456) + Add support for the amazon variant in cloud.cfg.tmpl (#119) [Frederick Lefebvre] + ci: remove Python 2.7 from CI runs (#137) + modules: drop cc_snap_config config module (#134) + migrate-lp-user-to-github: ensure Launchpad repo exists (#136) + docs: add initial troubleshooting to FAQ (#104) [Joshua Powers] + doc: update cc_set_hostname frequency and descrip (#109) [Joshua Powers] (LP: #1827021) + freebsd: introduce the freebsd renderer (#61) [Gonéri Le Bouder] + cc_snappy: remove deprecated module (#127) + HACKING.rst: clarify that everyone needs to do the LP->GH dance (#130) + freebsd: cloudinit service requires devd (#132) [Gonéri Le Bouder] + cloud-init: fix capitalisation of SSH (#126) + doc: update cc_ssh clarify host and auth keys [Joshua Powers] (LP: #1827021) + ci: emit names of tests run in Travis (#120)- Disable testing to aid elimination of unittest2 in Factory- bsc#1170154: rsyslog warning, '~' is deprecated + replace deprecated syntax '& ~' by '& stop' for more information please see https://www.rsyslog.com/rsyslog-error-2307/- Update cloud-init-write-routes.patch + Explicitly test for netconfig version 1 as well as 2- Update cloud-init-write-routes.patch + Handle netconfig v2 device configurations (bsc#1171546, bsc#1171995)- Update cloud-init-write-routes.patch + In cases where the config contains 2 or more default gateway specifications for an interface only write the first default route, log warning message about skipped routes + Avoid writing invalid route specification if neither the network nor destination is specified in the route configuration- Update cloud-init-write-routes.patch + Still need to consider the "network" configuration uption for the v1 config implementation. Fixes regression introduced with update from Wed Feb 12 19:30:42- Update cloud-init-write-routes.patch (bsc#1165296) + Add the default gateway to the ifroute config file when specified as part of the subnet configuration + Fix typo to properly extrakt provided netmask data (bsc#1163178)- Add cloud-init-long-pass.patch (bsc#1162936, CVE-2020-8632) + Increase the default length of generated passwords- Add cloud-init-use-different-random-src.diff (bsc#1162937, CVE-2020-8631) + Use non-deterministic generator for password generation.- Update cloud-init-write-routes.patch (bsc#1163178) + Entries in the routes definition have changed causing a traceback during rout config file writing. This patch update addresses the issue by extracting the new entries properly.- BuildRequire pkgconfig(udev) instead of udev: allow OBS to shortcut through the -mini flavor.- Add cloud-init-no-tempnet-oci.patch (bsc#1161132, bsc#1161133) + Do not attempt to configure an ephemeral network on OCI. We boot off iSCSI and the network is up. Just read the data.- Add patch to build properly with python 3.8: * 0001-Make-tests-work-with-Python-3.8-139.patch- Update to version 19.4 + Remove patches included upstream: - cloud-init-after-wicked.patch - cloud-init-noresolv-merge-no-dns-data.diff - cloud-init-renderer-detect.patch - cloud-init-trigger-udev.patch + Removed patches merged with cloud-init-mix-static-dhcp.patch - cloud-init-proper-ipv6-setting.patch - cloud-init-static-net.patch + Added cloud-init-mix-static-dhcp.patch (bsc#1157894) + Forward port cloud-init-sysconf-path.patch + doc: specify _ over - in cloud config modules + [Joshua Powers] (LP: #1293254) + tools: Detect python to use via env in migrate-lp-user-to-github + [Adam Dobrawy] + Partially revert "fix unlocking method on FreeBSD" (#116) + tests: mock uid when running as root (#113) + [Joshua Powers] (LP: #1856096) + cloudinit/netinfo: remove unused getgateway (#111) + docs: clear up apt config sections (#107) [Joshua Powers] (LP: #1832823) + doc: add kernel command line option to user data (#105) + [Joshua Powers] (LP: #1846524) + config/cloud.cfg.d: update README [Joshua Powers] (LP: #1855006) + azure: avoid re-running cloud-init when instance-id is byte-swapped + (#84) [AOhassan] + fix unlocking method on FreeBSD [Igor Galić] (LP: #1854594) + debian: add reference to the manpages [Joshua Powers] + ds_identify: if /sys is not available use dmidecode (#42) + [Igor Galić] (LP: #1852442) + docs: add cloud-id manpage [Joshua Powers] + docs: add cloud-init-per manpage [Joshua Powers] + docs: add cloud-init manpage [Joshua Powers] + docs: add additional details to per-instance/once [Joshua Powers] + Update doc-requirements.txt [Joshua Powers] + doc-requirements: add missing dep [Joshua Powers] + dhcp: Support RedHat dhcp rfc3442 lease format for option 121 (#76) + [Eric Lafontaine] (LP: #1850642) + network_state: handle empty v1 config (#45) (LP: #1852496) + docs: Add document on how to report bugs [Joshua Powers] + Add an Amazon distro in the redhat OS family [Frederick Lefebvre] + removed a couple of "the"s [gaughen] + docs: fix line length and remove highlighting [Joshua Powers] + docs: Add security.md to readthedocs [Joshua Powers] + Multiple file fix for AuthorizedKeysFile config (#60) [Eduardo Otubo] + Revert "travis: only run CI on pull requests" + doc: update links on README.md [Joshua Powers] + doc: Updates to wording of README.md [Joshua Powers] + Add security.md [Joshua Powers] + setup.py: Amazon Linux sets libexec to /usr/libexec (#52) + [Frederick Lefebvre] + Fix linting failure in test_url_helper (#83) [Eric Lafontaine] + url_helper: read_file_or_url should pass headers param into readurl + (#66) (LP: #1854084) + dmidecode: log result *after* stripping n [Igor Galić] + cloud_tests: add azure platform support to integration tests + [ahosmanmsft] + set_passwords: support for FreeBSD (#46) [Igor Galić] + tools: migrate-lp-user-to-github removes repo_dir if created (#35) + Correct jumbled documentation for cc_set_hostname module (#64) + [do3meli] (LP: #1853543) + FreeBSD: fix for get_linux_distro() and lru_cache (#59) + [Igor Galić] (LP: #1815030) + ec2: Add support for AWS IMDS v2 (session-oriented) (#55) + tests: Fix cloudsigma tests when no dmidecode data is present. (#57) + [Scott Moser] + net: IPv6, accept_ra, slaac, stateless (#51) + [Harald] (LP: #1806014, #1808647) + docs: Update the configdrive datasource links (#44) + [Joshua Powers] (LP: #1852461) + distro: correctly set usr_lib_exec path for FreeBSD distro (#40) + [Igor Galić] (LP: #1852491) + azure: support secondary ipv6 addresses (#33) + Fix metadata check when local-hostname is null (#32) + [Mark Goddard] (LP: #1852100) + switch default FreeBSD salt minion pkg from py27 to py36 + [Dominic Schlegel] + travis: only run CI on pull requests + add data-server dns entry as new metadata server detection [Joshua Hügli] + pycodestyle: remove unused local variable + reporting: Using a uuid to enforce uniqueness on the KVP keys. [momousta] + docs: touchups in rtd intro and README.md + doc: update launchpad git refs to github + github: drop pull-request template to prepare for migration + tools: add migrate-lp-user-to-github script to link LP to github + github: new basic project readme - From 19.3 + azure: support matching dhcp route-metrics for dual-stack ipv4 ipv6 + (LP: #1850308) + configdrive: fix subplatform config-drive for /config-drive source + [David Kindred] (LP: #1849731) + DataSourceSmartOS: reconfigure network on each boot + [Mike Gerdts] (LP: #1765801) + Add config for ssh-key import and consuming user-data [Pavel Zakharov] + net: fix subnet_is_ipv6() for stateless|stateful + [Harald Jensås] (LP: #1848690) + OVF: disable custom script execution by default [Xiaofeng Wang] + cc_puppet: Implement csr_attributes.yaml support [Matthias Baur] + cloud-init.service: on centos/fedora/redhat wait on NetworkManager.service + (LP: #1843334) + azure: Do not lock user on instance id change [Sam Eiderman] (LP: #1849677) + net/netplan: use ipv6-mtu key for specifying ipv6 mtu values + Fix usages of yaml, and move yaml_dump to safeyaml.dumps. (LP: #1849640) + exoscale: Increase url_max_wait to 120s. [Chris Glass] + net/sysconfig: fix available check on SUSE distros + [Robert Schweikert] (LP: #1849378) + docs: Fix incorrect Azure IMDS IP address [Joshua Powers] (LP: #1849508) + introduce .travis.yml + net: enable infiniband support in eni and sysconfig renderers + [Darren Birkett] (LP: #1847114) + guestcust_util: handle special characters in config file [Xiaofeng Wang] + fix some more typos in comments [Dominic Schlegel] + replace any deprecated log.warn with log.warning + [Dominic Schlegel] (LP: #1508442) + net: handle openstack dhcpv6-stateless configuration + [Harald Jensås] (LP: #1847517) + Add .venv/ to .gitignore [Dominic Schlegel] + Small typo fixes in code comments. [Dominic Schlegel] + cloud_test/lxd: Retry container delete a few times + Add Support for e24cloud to Ec2 datasource. (LP: #1696476) + Add RbxCloud datasource [Adam Dobrawy] + get_interfaces: don't exclude bridge and bond members (LP: #1846535) + Add support for Arch Linux in render-cloudcfg [Conrad Hoffmann] + util: json.dumps on python 2.7 will handle UnicodeDecodeError on binary + (LP: #1801364) + debian/ubuntu: add missing word to netplan/ENI header (LP: #1845669) + ovf: do not generate random instance-id for IMC customization path + sysconfig: only write resolv.conf if network_state has DNS values + (LP: #1843634) + sysconfig: use distro variant to check if available (LP: #1843584) + systemd/cloud-init.service.tmpl: start after wicked.service + [Robert Schweikert] + docs: fix zstack documentation lints + analyze/show: remove trailing space in output + Add missing space in warning: "not avalid seed" [Brian Candler] + pylintrc: add 'enter_context' to generated-members list + Add datasource for ZStack platform. [Shixin Ruan] (LP: #1841181) + docs: organize TOC and update summary of project [Joshua Powers] + tools: make clean now cleans the dev directory, not the system + docs: create cli specific page [Joshua Powers] + docs: added output examples to analyze.rst [Joshua Powers] + docs: doc8 fixes for instancedata page [Joshua Powers] + docs: clean up formatting, organize boot page [Joshua Powers] + net: add is_master check for filtering device list (LP: #1844191) + docs: more complete list of availability [Joshua Powers] + docs: start FAQ page [Joshua Powers] + docs: cleanup output & order of datasource page [Joshua Powers] + Brightbox: restrict detection to require full domain match .brightbox.com + VMWware: add option into VMTools config to enable/disable custom script. + [Xiaofeng Wang] + net,Oracle: Add support for netfailover detection + atomic_helper: add DEBUG logging to write_file (LP: #1843276) + doc: document doc, create makefile and tox target [Joshua Powers] + .gitignore: ignore files produced by package builds + docs: fix whitespace, spelling, and line length [Joshua Powers] + docs: remove unnecessary file in doc directory [Joshua Powers] + Oracle: Render secondary vnic IP and MTU values only + exoscale: fix sysconfig cloud_config_modules overrides (LP: #1841454) + net/cmdline: refactor to allow multiple initramfs network config sources + ubuntu-drivers: call db_x_loadtemplatefile to accept NVIDIA EULA + (LP: #1840080) + Add missing #cloud-config comment on first example in documentation. + [Florian Müller] + ubuntu-drivers: emit latelink=true debconf to accept nvidia eula + (LP: #1840080) + DataSourceOracle: prefer DS network config over initramfs + format.rst: add text/jinja2 to list of content types (+ cleanups) + Add GitHub pull request template to point people at hacking doc + cloudinit/distros/parsers/sys_conf: add docstring to SysConf + pyflakes: remove unused variable [Joshua Powers] + Azure: Record boot timestamps, system information, and diagnostic events + [Anh Vo] + DataSourceOracle: configure secondary NICs on Virtual Machines + distros: fix confusing variable names + azure/net: generate_fallback_nic emits network v2 config instead of v1 + Add support for publishing host keys to GCE guest attributes [Rick Wright] + New data source for the Exoscale.com cloud platform [Chris Glass] + doc: remove intersphinx extension + cc_set_passwords: rewrite documentation (LP: #1838794) + net/cmdline: split interfaces_by_mac and init network config determination + stages: allow data sources to override network config source order + cloud_tests: updates and fixes + Fix bug rendering MTU on bond or vlan when input was netplan. (LP: #1836949) + net: update net sequence, include wait on netdevs, opensuse netrules path (LP: #1817368)- Add cloud-init-proper-ipv6-setting.patch (bsc#1156139) + Set proper IPv6 interface variable in ifcfg file- Update cloud-init-write-routes.patch (bsc#1155376) + Write a route's destination network in CIDR notation instead of using the netmask. This provides support for correctly recording IPv6 routes.- Add cloud-init-renderer-detect.patch (bsc#1154092, boo#1142988) + Short curcuit the conditional for identifying the sysconfig renderer. If we find ifup/ifdown accept the renderer as available.- Add cloud-init-break-resolv-symlink.patch (bsc#1151488) + If /etc/resolv.conf is a symlink break it. This will avoid netconfig from clobbering the changes cloud-init applied.- Update to cloud-init 19.2 (bsc#1099358, bsc#1145622) + Remove, included upstream - cloud-init-detect-nova.diff - cloud-init-add-static-routes.diff + net: add rfc3442 (classless static routes) to EphemeralDHCP (LP: #1821102) + templates/ntp.conf.debian.tmpl: fix missing newline for pools (LP: #1836598) + Support netplan renderer in Arch Linux [Conrad Hoffmann] + Fix typo in publicly viewable documentation. [David Medberry] + Add a cdrom size checker for OVF ds to ds-identify [Pengpeng Sun] (LP: #1806701) + VMWare: Trigger the post customization script via cc_scripts module. [Xiaofeng Wang] (LP: #1833192) + Cloud-init analyze module: Added ability to analyze boot events. [Sam Gilson] + Update debian eni network configuration location, retain Ubuntu setting [Janos Lenart] + net: skip bond interfaces in get_interfaces [Stanislav Makar] (LP: #1812857) + Fix a couple of issues raised by a coverity scan + Add missing dsname for Hetzner Cloud datasource [Markus Schade] + doc: indicate that netplan is default in Ubuntu now + azure: add region and AZ properties from imds compute location metadata + sysconfig: support more bonding options [Penghui Liao] + cloud-init-generator: use libexec path to ds-identify on redhat systems (LP: #1833264) + tools/build-on-freebsd: update to python3 [Gonéri Le Bouder] + Allow identification of OpenStack by Asset Tag [Mark T. Voelker] (LP: #1669875) + Fix spelling error making 'an Ubuntu' consistent. [Brian Murray] + run-container: centos: comment out the repo mirrorlist [Paride Legovini] + netplan: update netplan key mappings for gratuitous-arp (LP: #1827238) + freebsd: fix the name of cloudcfg VARIANT [Gonéri Le Bouder] + freebsd: ability to grow root file system [Gonéri Le Bouder] + freebsd: NoCloud data source support [Gonéri Le Bouder] (LP: #1645824) + Azure: Return static fallback address as if failed to find endpoint [Jason Zions (MSFT)]- Add cloud-init-after-wicked.patch - Change the service order, the cloud-init service wants to run after networking is started- Add cloud-init-noresolv-merge-no-dns-data.diff - Avoid writing resolv.conf if the network configuration contains no dns entries.- Follow up to update cloud-init-trigger-udev.patch (bsc#1144363) - In this implementation the "name" is not yet an attribute, use get() to obtain the value from a dict. Source code version confusion.- Add cloud-init-add-static-routes.diff (bsc#1141969) + Properly handle static routes. The EphemeralDHCP context manager did not parse or handle rfc3442 classless static routes which prevented reading datasource metadata in some clouds.- Update cloud-init-trigger-udev.patch (bsc#1144363) - The __str__ implementation no longer delivers the name of the interface, use the "name" attribute instead to form a proper path in the sysfs tree- Update cloud-init-write-routes.patch (boo#1144881, bsc#1148645) + If no routes are set for a subnet but the subnet has a gateway specified, set the gateway as the default route for the interface- Follow the ever changing inconsistencies of version definitions and detection in the build service. + No more suse_version in SUSE internal instance for SLES 15 SP1- BuildRequire pkgconfig(systemd) instead of systemd: allow OBS to shortcut the build queues by allowing usage of systemd-mini- Update to version 19.1 (bsc#1136440, bsc#1129124) + Remove, included upstream - fix-default-systemd-unit-dir.patch - cloud-init-sysconf-ethsetup.patch - cloud-init-handle-def-route-set.patch - cloud-init-no-empty-resolv.patch - cloud-init-proper-ipv6-varname.patch + Forward port - cloud-init-trigger-udev.patch + Add cloud-init-detect-nova.diff (bsc#1136440) + Modify cloud-init-python2-sigpipe.patch, import signal and constants + Update spec to account for new location of bash completion + freebsd: add chpasswd pkg in the image [Gonéri Le Bouder] + tests: add Eoan release [Paride Legovini] + cc_mounts: check if mount -a on no-change fstab path [Jason Zions (MSFT)] (LP: #1825596) + replace remaining occurrences of LOG.warn [Daniel Watkins] + DataSourceAzure: Adjust timeout for polling IMDS [Anh Vo] + Azure: Changes to the Hyper-V KVP Reporter [Anh Vo] + git tests: no longer show warning about safe yaml. + tools/read-version: handle errors [Chad Miller] + net/sysconfig: only indicate available on known sysconfig distros (LP: #1819994) + packages: update rpm specs for new bash completion path [Daniel Watkins] (LP: #1825444) + test_azure: mock util.SeLinuxGuard where needed [Jason Zions (MSFT)] (LP: #1825253) + setup.py: install bash completion script in new location [Daniel Watkins] + mount_cb: do not pass sync and rw options to mount [Gonéri Le Bouder] (LP: #1645824) + cc_apt_configure: fix typo in apt documentation [Dominic Schlegel] + Revert "DataSource: move update_events from a class to an instance..." [Daniel Watkins] + Change DataSourceNoCloud to ignore file system label's case. [Risto Oikarinen] + cmd:main.py: Fix missing 'modules-init' key in modes dict [Antonio Romito] (LP: #1815109) + ubuntu_advantage: rewrite cloud-config module + Azure: Treat _unset network configuration as if it were absent [Jason Zions (MSFT)] (LP: #1823084) + DatasourceAzure: add additional logging for azure datasource [Anh Vo] + cloud_tests: fix apt_pipelining test-cases + Azure: Ensure platform random_seed is always serializable as JSON. [Jason Zions (MSFT)] + net/sysconfig: write out SUSE-compatible IPv6 config [Robert Schweikert] + tox: Update testenv for openSUSE Leap to 15.0 [Thomas Bechtold] + net: Fix ipv6 static routes when using eni renderer [Raphael Glon] (LP: #1818669) + Add ubuntu_drivers config module [Daniel Watkins] + doc: Refresh Azure walinuxagent docs [Daniel Watkins] + tox: bump pylint version to latest (2.3.1) [Daniel Watkins] + DataSource: move update_events from a class to an instance attribute [Daniel Watkins] (LP: #1819913) + net/sysconfig: Handle default route setup for dhcp configured NICs [Robert Schweikert] (LP: #1812117) + DataSourceEc2: update RELEASE_BLOCKER to be more accurate [Daniel Watkins] + cloud-init-per: POSIX sh does not support string subst, use sed (LP: #1819222) + Support locking user with usermod if passwd is not available. + Example for Microsoft Azure data disk added. [Anton Olifir] + clean: correctly determine the path for excluding seed directory [Daniel Watkins] (LP: #1818571) + helpers/openstack: Treat unknown link types as physical [Daniel Watkins] (LP: #1639263) + drop Python 2.6 support and our NIH version detection [Daniel Watkins] + tip-pylint: Fix assignment-from-return-none errors + net: append type:dhcp[46] only if dhcp[46] is True in v2 netconfig [Kurt Stieger] (LP: #1818032) + cc_apt_pipelining: stop disabling pipelining by default [Daniel Watkins] (LP: #1794982) + tests: fix some slow tests and some leaking state [Daniel Watkins] + util: don't determine string_types ourselves [Daniel Watkins] + cc_rsyslog: Escape possible nested set [Daniel Watkins] (LP: #1816967) + Enable encrypted_data_bag_secret support for Chef [Eric Williams] (LP: #1817082) + azure: Filter list of ssh keys pulled from fabric [Jason Zions (MSFT)] CVE-2019-0816 + doc: update merging doc with fixes and some additional details/examples + tests: integration test failure summary to use traceback if empty error + This is to fix https://bugs.launchpad.net/cloud-init/+bug/1812676 [Vitaly Kuznetsov] + EC2: Rewrite network config on AWS Classic instances every boot [Guilherme G. Piccoli] (LP: #1802073) + netinfo: Adjust ifconfig output parsing for FreeBSD ipv6 entries (LP: #1779672) + netplan: Don't render yaml aliases when dumping netplan (LP: #1815051) + add PyCharm IDE .idea/ path to .gitignore [Dominic Schlegel] + correct grammar issue in instance metadata documentation [Dominic Schlegel] (LP: #1802188) + clean: cloud-init clean should not trace when run from within cloud_dir (LP: #1795508) + Resolve flake8 comparison and pycodestyle over-ident issues [Paride Legovini] + opennebula: also exclude epochseconds from changed environment vars (LP: #1813641) + systemd: Render generator from template to account for system differences. [Robert Schweikert] + sysconfig: On SUSE, use STARTMODE instead of ONBOOT [Robert Schweikert] (LP: #1799540) + flake8: use ==/!= to compare str, bytes, and int literals [Paride Legovini] + opennebula: exclude EPOCHREALTIME as known bash env variable with a delta (LP: #1813383) + tox: fix disco httpretty dependencies for py37 (LP: #1813361) + run-container: uncomment baseurl in yum.repos.d/*.repo when using a proxy [Paride Legovini] + lxd: install zfs-linux instead of zfs meta package [Johnson Shi] (LP: #1799779) + net/sysconfig: do not write a resolv.conf file with only the header. [Robert Schweikert] + net: Make sysconfig renderer compatible with Network Manager. [Eduardo Otubo] + cc_set_passwords: Fix regex when parsing hashed passwords [Marlin Cremers] (LP: #1811446) + net: Wait for dhclient to daemonize before reading lease file [Jason Zions] (LP: #1794399) + [Azure] Increase retries when talking to Wireserver during metadata walk [Jason Zions] + Add documentation on adding a datasource. + doc: clean up some datasource documentation. + ds-identify: fix wrong variable name in ovf_vmware_transport_guestinfo. + Scaleway: Support ssh keys provided inside an instance tag. [PORTE Loïc] + OVF: simplify expected return values of transport functions. + Vmware: Add support for the com.vmware.guestInfo OVF transport. (LP: #1807466) + HACKING.rst: change contact info to Josh Powers + Update to pylint 2.2.2.- Update cloud-init-write-routes.patch (bsc#1132692) + Properly accumulate all the defined routes for a given network device. Previously only the last defined route was written to the routes file.- Update cloud-init-trigger-udev.patch (bsc#1125950) + Write the udev rules to a different file than the default + Settle udev if not all configured devices are in the device tree to avoid race condition between udev and cloud-init- Add cloud-init-trigger-udev.patch (bsc#1125950) + When the user configures a new rules file for network devices the rules may not apply immediately, trigger udevadm- Modify cloud-init-write-routes.patch (bsc#1125992) + Fix the order of calls, the SUSE implementation of route config file writing must clobber the default implementation.- Add cloud-init-proper-ipv6-varname.patch (bsc#1126101) + Use the proper name to designate IPv6 addresses in ifcfg-* files- Modify cloud-init-write-routes.patch (boo#1123694) + Drop a '-' in the route file for the last column- Add cloud-init-no-empty-resolv.patch (bsc#1119397)- Update to version 18.5 (bsc#1121878, boo#1116767) + Remove 0001-Fix-the-service-order-for-SUSE-distributions.patch 0001-Follow-the-ever-bouncing-ball-for-openSUSE-distribut.patch 0002-Add-tests-for-additional-openSUSE-distro-condition-m.patch included upstream + Forward port cloud-init-sysconf-ethsetup.patch + Add cloud-init-write-routes.patch + Add cloud-init-handle-def-route-set.patch + tests: add Disco release [Joshua Powers] + net: render 'metric' values in per-subnet routes (LP: #1805871) + write_files: add support for appending to files. [James Baxter] + config: On ubuntu select cloud archive mirrors for armel, armhf, arm64. (LP: #1805854) + dhclient-hook: cleanups, tests and fix a bug on 'down' event. + NoCloud: Allow top level 'network' key in network-config. (LP: #1798117) + ovf: Fix ovf network config generation gateway/routes (LP: #1806103) + azure: detect vnet migration via netlink media change event [Tamilmani Manoharan] + Azure: fix copy/paste error in error handling when reading azure ovf. + [Adam DePue] + tests: fix incorrect order of mocks in test_handle_zfs_root. + doc: Change dns_nameserver property to dns_nameservers. [Tomer Cohen] + OVF: identify label iso9660 filesystems with label 'OVF ENV'. + logs: collect-logs ignore instance-data-sensitive.json on non-root user (LP: #1805201) + net: Ephemeral*Network: add connectivity check via URL + azure: _poll_imds only retry on 404. Fail on Timeout (LP: #1803598) + resizefs: Prefix discovered devpath with '/dev/' when path does not exist [Igor Galić] + azure: retry imds polling on requests.Timeout (LP: #1800223) + azure: Accept variation in error msg from mount for ntfs volumes [Jason Zions] (LP: #1799338) + azure: fix regression introduced when persisting ephemeral dhcp lease [asakkurr] + azure: add udev rules to create cloud-init Gen2 disk name symlinks (LP: #1797480) + tests: ec2 mock missing httpretty user-data and instance-identity routes + azure: remove /etc/netplan/90-hotplug-azure.yaml when net from IMDS + azure: report ready to fabric after reprovision and reduce logging [asakkurr] (LP: #1799594) + query: better error when missing read permission on instance-data + instance-data: fallback to instance-data.json if sensitive is absent. (LP: #1798189) + docs: remove colon from network v1 config example. [Tomer Cohen] + Add cloud-id binary to packages for SUSE [Jason Zions] + systemd: On SUSE ensure cloud-init.service runs before wicked [Robert Schweikert] (LP: #1799709) + update detection of openSUSE variants [Robert Schweikert] + azure: Add apply_network_config option to disable network from IMDS (LP: #1798424) + Correct spelling in an error message (udevadm). [Katie McLaughlin] + tests: meta_data key changed to meta-data in ec2 instance-data.json (LP: #1797231) + tests: fix kvm integration test to assert flexible config-disk path (LP: #1797199) + tools: Add cloud-id command line utility + instance-data: Add standard keys platform and subplatform. Refactor ec2. + net: ignore nics that have "zero" mac address. (LP: #1796917) + tests: fix apt_configure_primary to be more flexible + Ubuntu: update sources.list to comment out deb-src entries. (LP: #74747)- Add cloud-init-ostack-metadat-dencode.patch (bsc#1101894)- Add cloud-init-static-net.patch (boo#1114160)- Update to version 18.4 (bsc#1087331, bsc#1097388, boo#1111427, bsc#1095627) + Remove cloud-init-no-user-lock-if-already-locked.patch cloud-init 18.4 is not supported on SLE 11 code base + Remove 0001-Support-chrony-configuration-lp-1731619.patch Included upstream + Remove 0003-Distro-dependent-chrony-config-file.patch Included upstream + Remove 0001-switch-to-using-iproute2-tools.patch Included upstream + Remove cloud-init-no-python-linux-dist.patch Included upstream + Remove cloud-init-no-trace-empt-sect.patch Included upstream + Remove cloud-init-setpath-dsitentify.patch Included upstream + Modify fix-default-systemd-unit-dir.patch Use pkg-config, only modify the generator + Remove cloud-init-sysconfig-netpathfix.patch Fixed upstream + Removed cloud-init-skip-ovf-tests.patch Fixed upstream + Removed cloud-init-translate-netconf-ipv4-keep-gw.patch Fixed upstream + Add cloud-init-template-py2.patch avoid Python 3 dependency when we build for distros with Python 2 support + Add 0001-Follow-the-ever-bouncing-ball-for-openSUSE-distribut.patch + Add 0002-Add-tests-for-additional-openSUSE-distro-condition-m.patch + Add cloud-init-sysconf-path.patch + Add cloud-init-sysconf-ethsetup.patch + Add 0001-Fix-the-service-order-for-SUSE-distributions.patch + Add dhcp-client as requirement cloud-init uses dhclient to setup temporary network for metadata retrieval. THis is needed until lp#1733226 is addressed + add rtd example docs about new standardized keys + use ds._crawled_metadata instance attribute if set when writing instance-data.json + ec2: update crawled metadata. add standardized keys + tests: allow skipping an entire cloud_test without running. + tests: disable lxd tests on cosmic + cii-tests: use unittest2.SkipTest in ntp_chrony due to new deps + lxd: adjust to snap installed lxd. + docs: surface experimental doc in instance-data.json + tests: fix ec2 integration tests. process meta_data instead of meta-data + Add support for Infiniband network interfaces (IPoIB). [Mark Goddard] + cli: add cloud-init query subcommand to query instance metadata + tools/tox-venv: update for new features. + pylint: ignore warning assignment-from-no-return for _write_network + stages: Fix bug causing datasource to have incorrect sys_cfg. (LP: #1787459) + Remove dead-code _write_network distro implementations. + net_util: ensure static configs have netmask in translate_network result [Thomas Berger] (LP: #1792454) + Fall back to root:root on syslog permissions if other options fail. [Robert Schweikert] + tests: Add mock for util.get_hostname. [Robert Schweikert] (LP: #1792799) + ds-identify: doc string cleanup. + OpenStack: Support setting mac address on bond. [Fabian Wiesel] (LP: #1682064) + bash_completion/cloud-init: fix shell syntax error. + EphemeralIPv4Network: Be more explicit when adding default route. (LP: #1792415) + OpenStack: support reading of newer versions of metdata. + OpenStack: fix bug causing 'latest' version to be used from network. (LP: #1792157) + user-data: jinja template to render instance-data.json in cloud-config (LP: #1791781) + config: disable ssh access to a configured user account + tests: print failed testname instead of docstring upon failure + tests: Disallow use of util.subp except for where needed. + sysconfig: refactor sysconfig to accept distro specific templates paths + Add unit tests for config/cc_ssh.py [Francis Ginther] + Fix the built-in cloudinit/tests/helpers:skipIf + read-version: enhance error message [Joshua Powers] + hyperv_reporting_handler: simplify threaded publisher + VMWare: Fix a network config bug in vm with static IPv4 and no gateway. [Pengpeng Sun] (LP: #1766538) + logging: Add logging config type hyperv for reporting via Azure KVP [Andy Liu] + tests: disable other snap test as well [Joshua Powers] + tests: disable snap, fix write_files binary [Joshua Powers] + Add datasource Oracle Compute Infrastructure (OCI). + azure: allow azure to generate network configuration from IMDS per boot. + Scaleway: Add network configuration to the DataSource [Louis Bouchard] + docs: Fix example cloud-init analyze command to match output. [Wesley Gao] + netplan: Correctly render macaddress on a bonds and bridges when provided. (LP: #1784699) + tools: Add 'net-convert' subcommand command to 'cloud-init devel'. + redhat: remove ssh keys on new instance. (LP: #1781094) + Use typeset or local in profile.d scripts. (LP: #1784713) + OpenNebula: Fix null gateway6 [Akihiko Ota] (LP: #1768547) + oracle: fix detect_openstack to report True on OracleCloud.com DMI data (LP: #1784685) + tests: improve LXDInstance trying to workaround or catch bug. + update_metadata re-config on every boot comments and tests not quite right [Mike Gerdts] + tests: Collect build_info from system if available. + pylint: Fix pylint warnings reported in pylint 2.0.0. + get_linux_distro: add support for rhel via redhat-release. + get_linux_distro: add support for centos6 and rawhide flavors of redhat (LP: #1781229) + tools: add '--debug' to tools/net-convert.py + tests: bump the version of paramiko to 2.4.1. + docs: note in rtd about avoiding /tmp when writing files (LP: #1727876) + ubuntu,centos,debian: get_linux_distro to align with platform.dist (LP: #1780481) + Fix boothook docs on environment variable name (INSTANCE_I -> INSTANCE_ID) [Marc Tamsky] + update_metadata: a datasource can support network re-config every boot + tests: drop salt-minion integration test (LP: #1778737) + Retry on failed import of gpg receive keys. + tools: Fix run-container when neither source or binary package requested. + docs: Fix a small spelling error. [Oz N Tiram] + tox: use simplestreams from git repository rather than bzr. - From 18.3 + docs: represent sudo:false in docs for user_groups config module + Explicitly prevent `sudo` access for user module [Jacob Bednarz] (LP: #1771468) + lxd: Delete default network and detach device if lxd-init created them. (LP: #1776958) + openstack: avoid unneeded metadata probe on non-openstack platforms (LP: #1776701) + stages: fix tracebacks if a module stage is undefined or empty [Robert Schweikert] (LP: #1770462) + Be more safe on string/bytes when writing multipart user-data to disk. (LP: #1768600) + Fix get_proc_env for pids that have non-utf8 content in environment. (LP: #1775371) + tests: fix salt_minion integration test on bionic and later + tests: provide human-readable integration test summary when --verbose + tests: skip chrony integration tests on lxd running artful or older + test: add optional --preserve-instance arg to integraiton tests + netplan: fix mtu if provided by network config for all rendered types (LP: #1774666) + tests: remove pip install workarounds for pylxd, take upstream fix. + subp: support combine_capture argument. + tests: ordered tox dependencies for pylxd install + util: add get_linux_distro function to replace platform.dist [Robert Schweikert] (LP: #1745235) + pyflakes: fix unused variable references identified by pyflakes 2.0.0. + Do not use the systemd_prefix macro, not available in this environment [Robert Schweikert] + doc: Add config info to ec2, openstack and cloudstack datasource docs + Enable SmartOS network metadata to work with netplan via per-subnet routes [Dan McDonald] (LP: #1763512) + openstack: Allow discovery in init-local using dhclient in a sandbox. (LP: #1749717) + tests: Avoid using https in httpretty, improve HttPretty test case. (LP: #1771659) + yaml_load/schema: Add invalid line and column nums to error message + Azure: Ignore NTFS mount errors when checking ephemeral drive [Paul Meyer] + packages/brpm: Get proper dependencies for cmdline distro. + packages: Make rpm spec files patch in package version like in debs. + tools/run-container: replace tools/run-centos with more generic. + Update version.version_string to contain packaged version. (LP: #1770712) + cc_mounts: Do not add devices to fstab that are already present. [Lars Kellogg-Stedman] + ds-identify: ensure that we have certain tokens in PATH. (LP: #1771382) + tests: enable Ubuntu Cosmic in integration tests [Joshua Powers] + read_file_or_url: move to url_helper, fix bug in its FileResponse. + cloud_tests: help pylint [Ryan Harper] + flake8: fix flake8 errors in previous commit. + typos: Fix spelling mistakes in cc_mounts.py log messages [Stephen Ford] + tests: restructure SSH and initial connections [Joshua Powers] + ds-identify: recognize container-other as a container, test SmartOS. + cloud-config.service: run After snap.seeded.service. (LP: #1767131) + tests: do not rely on host /proc/cmdline in test_net.py [Lars Kellogg-Stedman] (LP: #1769952) + ds-identify: Remove dupe call to is_ds_enabled, improve debug message. + SmartOS: fix get_interfaces for nics that do not have addr_assign_type. + tests: fix package and ca_cert cloud_tests on bionic (LP: #1769985) + ds-identify: make shellcheck 0.4.6 happy with ds-identify. + pycodestyle: Fix deprecated string literals, move away from flake8. + azure: Add reported ready marker file. [Joshua Chan] (LP: #1765214) + tools: Support adding a release suffix through packages/bddeb. + FreeBSD: Invoke growfs on ufs filesystems such that it does not prompt. [Harm Weites] (LP: #1404745) + tools: Re-use the orig tarball in packages/bddeb if it is around. + netinfo: fix netdev_pformat when a nic does not have an address assigned. (LP: #1766302) + collect-logs: add -v flag, write to stderr, limit journal to single boot. (LP: #1766335) + IBMCloud: Disable config-drive and nocloud only if IBMCloud is enabled. (LP: #1766401) + Add reporting events and log_time around early source of blocking time [Ryan Harper] + IBMCloud: recognize provisioning environment during debug boots. (LP: #1767166) + net: detect unstable network names and trigger a settle if needed [Ryan Harper] (LP: #1766287) + IBMCloud: improve documentation in datasource. + sysconfig: dhcp6 subnet type should not imply dhcpv4 [Vitaly Kuznetsov] + packages/debian/control.in: add missing dependency on iproute2. (LP: #1766711) + DataSourceSmartOS: add locking of serial device. [Mike Gerdts] (LP: #1746605) + DataSourceSmartOS: sdc:hostname is ignored [Mike Gerdts] (LP: #1765085) + DataSourceSmartOS: list() should always return a list [Mike Gerdts] (LP: #1763480) + schema: in validation, raise ImportError if strict but no jsonschema. + set_passwords: Add newline to end of sshd config, only restart if updated. (LP: #1677205) + pylint: pay attention to unused variable warnings. + doc: Add documentation for AliYun datasource. [Junjie Wang] + Schema: do not warn on duplicate items in commands. (LP: #1764264) + net: Depend on iproute2's ip instead of net-tools ifconfig or route + DataSourceSmartOS: fix hang when metadata service is down [Mike Gerdts] (LP: #1667735) + DataSourceSmartOS: change default fs on ephemeral disk from ext3 to ext4. [Mike Gerdts] (LP: #1763511) + pycodestyle: Fix invalid escape sequences in string literals. + Implement bash completion script for cloud-init command line [Ryan Harper] + tools: Fix make-tarball cli tool usage for development + renderer: support unicode in render_from_file. + Implement ntp client spec with auto support for distro selection [Ryan Harper] (LP: #1749722) + Apport: add Brightbox, IBM, LXD, and OpenTelekomCloud to list of clouds. + tests: fix ec2 integration network metadata validation + tests: fix integration tests to support lxd 3.0 release + correct documentation to match correct attribute name usage. [Dominic Schlegel] (LP: #1420018) + cc_resizefs, util: handle no /dev/zfs [Ryan Harper] + doc: Fix links in OpenStack datasource documentation. [Dominic Schlegel] (LP: #1721660)- Add a modified version of fix-default-systemd-unit-dir.patch + Removed pre-maturely, still needs 1 part of the patch- Remove fix-default-systemd-unit-dir.patch + No longer needed, proper systemd config dir is queried from pckg-config- The distribution inidcator is set to suse during template expansion, we do not replace anything set to ubuntu - Do not run cloud-init after network-online, this breaks functionality in cloud-init. Certain parts of the code running in this phase expect to run before the network is on-line. This "re-introduces" boo#1097388. But the changes made are not generic enough. - Root should not be enabled by default. For image builders/users that want root access by default they should provide an appropriate configuration file during image build or image setup- Let distribution default to opensuse/sles (boo#1099340) - do not disable root user to make it easier to work with - Run metadata detection after network-online (boo#1097388)- Re-add generator (bsc#1089824, boo#1093501) + Add cloud-init-setpath-dsitentify.patch, upstream solution to hanle PATH issue + Re-enable th egenerator to reduce effort in cloud-init configuration- Drop the generator (bsc#1089824, boo#1093501) + The generator spawns a script called ds-identify which in turn calls blkid. When the generator executes the environment may or may not be ready. The generator speeds up the boot process in cases where cloud-init is enabled but we are not in an environment where cloud-init should run -> Don't do that.- Update to version 18.2 (bsc#1092637, bsc#1084509) + Forward port cloud-init-python2-sigpipe.patch + Forward port cloud-init-no-python-linux-dist.patch + Add cloud-init-no-trace-empt-sect.patch + Hetzner: Exit early if dmi system-manufacturer is not Hetzner. + Add missing dependency on isc-dhcp-client to trunk ubuntu packaging. + (LP: #1759307) + FreeBSD: resizefs module now able to handle zfs/zpool. + [Dominic Schlegel] (LP: #1721243) + cc_puppet: Revert regression of puppet creating ssl and ssl_cert dirs + Enable IBMCloud datasource in settings.py. + IBMCloud: Initial IBM Cloud datasource. + tests: remove jsonschema from xenial tox environment. + tests: Fix newly added schema unit tests to skip if no jsonschema. + ec2: Adjust ec2 datasource after exception_cb change. + Reduce AzurePreprovisioning HTTP timeouts. + [Douglas Jordan] (LP: #1752977) + Revert the logic of exception_cb in read_url. + [Kurt Garloff] (LP: #1702160, #1298921) + ubuntu-advantage: Add new config module to support + ubuntu-advantage-tools + Handle global dns entries in netplan (LP: #1750884) + Identify OpenTelekomCloud Xen as OpenStack DS. + [Kurt Garloff] (LP: #1756471) + datasources: fix DataSource subclass get_hostname method signature + (LP: #1757176) + OpenNebula: Update network to return v2 config rather than ENI. + [Akihiko Ota] + Add Hetzner Cloud DataSource + net: recognize iscsi root cases without ip= on kernel command line. + (LP: #1752391) + tests: fix flakes warning for unused variable + tests: patch leaked stderr messages from snap unit tests + cc_snap: Add new module to install and configure snapd and snap + packages. + tests: Make pylint happy and fix python2.6 uses of assertRaisesRegex. + netplan: render bridge port-priority values (LP: #1735821) + util: Fix subp regression. Allow specifying subp command as a string. + (LP: #1755965) + doc: fix all warnings issued by 'tox -e doc' + FreeBSD: Set hostname to FQDN. [Dominic Schlegel] (LP: #1753499) + tests: fix run_tree and bddeb + tests: Fix some warnings in tests that popped up with newer python. + set_hostname: When present in metadata, set it before network bringup. + (LP: #1746455) + tests: Centralize and re-use skipTest based on json schema presense. + This commit fixes get_hostname on the AzureDataSource. + [Douglas Jordan] (LP: #1754495) + shellify: raise TypeError on bad input. + Make salt minion module work on FreeBSD. + [Dominic Schlegel] (LP: #1721503) + Simplify some comparisions. [Rémy Léone] + Change some list creation and population to literal. [Rémy Léone] + GCE: fix reading of user-data that is not base64 encoded. (LP: #1752711) + doc: fix chef install from apt packages example in RTD. + Implement puppet 4 support [Romanos Skiadas] (LP: #1446804) + subp: Fix subp usage with non-ascii characters when no system locale. + (LP: #1751051) + salt: configure grains in grains file rather than in minion config. [Daniel Wallace]- Update to version 18.1 (bsc#1085787, bsc#1084749) + Forward port cloud-init-python2-sigpipe.patch + Forward port 0003-Distro-dependent-chrony-config-file.patch partial integration into 0001-Support-chrony-configuration-lp-1731619.patch + Forward port cloud-init-no-python-linux-dist.patch + Remove 0002-Disable-method-deprecation-warning-for-pylint.patch use new cloud-init internal distro detection code + Remove cloud-init-resize-ro-btrfs.patch included upstream + Remove 0001-Set-syslog_fix_perms-for-SUSE-distro-addresses-bsc-1.patch included upstream + OVF: Fix VMware support for 64-bit platforms. [Sankar Tanguturi] + ds-identify: Fix searching for iso9660 OVF cdroms. (LP: #1749980) + SUSE: Fix groups used for ownership of cloud-init.log [Robert Schweikert] + ds-identify: check /writable/system-data/ for nocloud seed. (LP: #1747070) + tests: run nosetests in cloudinit/ directory, fix py26 fallout. + tools: run-centos: git clone rather than tar. + tests: add support for logs with lxd from snap and future lxd 3. (LP: #1745663) + EC2: Fix get_instance_id called against cached datasource pickle. (LP: #1748354) + cli: fix cloud-init status to report running when before result.json (LP: #1747965) + net: accept network-config in netplan format for renaming interfaces (LP: #1709715) + Fix ssh keys validation in ssh_util [Tatiana Kholkina] + docs: Update RTD content for cloud-init subcommands. + OVF: Extend well-known labels to include OVFENV. (LP: #1698669) + Fix potential cases of uninitialized variables. (LP: #1744796) + tests: Collect script output as binary, collect systemd journal, fix lxd. + HACKING.rst: mention setting user name and email via git config. + Azure VM Preprovisioning support. [Douglas Jordan] (LP: #1734991) + tools/read-version: Fix read-version when in a git worktree. + docs: Fix typos in docs and one debug message. [Florian Grignon] + btrfs: support resizing if root is mounted ro. [Robert Schweikert] (LP: #1734787) + OpenNebula: Improve network configuration support. [Akihiko Ota] (LP: #1719157, #1716397, #1736750) + tests: Fix EC2 Platform to return console output as bytes. + tests: Fix attempted use of /run in a test case. + GCE: Improvements and changes to ssh key behavior for default user. [Max Illfelder] (LP: #1670456, #1707033, #1707037, #1707039) + subp: make ProcessExecutionError have expected types in stderr, stdout. + tests: when querying ntp server, do not do dns resolution. + Recognize uppercase vfat disk labels [James Penick] (LP: #1598783) + tests: remove zesty as supported OS to test [Joshua Powers] + Do not log warning on config files that represent None. (LP: #1742479) + tests: Use git hash pip dependency format for pylxd. + tests: add integration requirements text file [Joshua Powers] + MAAS: add check_instance_id based off oauth tokens. (LP: #1712680) + tests: update apt sources list test [Joshua Powers] + tests: clean up image properties [Joshua Powers] + tests: rename test ssh keys to avoid appearance of leaking private keys. [Joshua Powers] + tests: Enable AWS EC2 Integration Testing [Joshua Powers] + cli: cloud-init clean handles symlinks (LP: #1741093) + SUSE: Add a basic test of network config rendering. [Robert Schweikert] + Azure: Only bounce network when necessary. (LP: #1722668) + lint: Fix lints seen by pylint version 1.8.1. + cli: Fix error in cloud-init modules --mode=init. (LP: #1736600)- update cloud-init-sysconfig-netpathfix.patch: * skip checking for files in /etc/sysconfig that never exist on a wickedd based system- Fix logfile permission settings (bsc#1080595) + Add 0001-Set-syslog_fix_perms-for-SUSE-distro-addresses-bsc-1.patch- drop dependency on boto (only used in examples, and should really be ported to botocore/boto3 instead)- Update to version 17.2 (boo#1069635, bsc#1072811) + Add cloud-init-skip-ovf-tests.patch + Add cloud-init-no-python-linux-dist.patch + Add 0001-switch-to-using-iproute2-tools.patch + Add 0001-Support-chrony-configuration-lp-1731619.patch + Add 0002-Disable-method-deprecation-warning-for-pylint.patch + Add 0003-Distro-dependent-chrony-config-file.patch + removed cloud-init-add-variant-cloudcfg.patch replaced by cloud-init-no-python-linux-dist.patch + removed zypp_add_repos.diff included upstream + removed zypp_add_repo_test.patch included upstream + removed cloud-init-hosts-template.patch included upstream + removed cloud-init-more-tasks.patch included upstream + removed cloud-init-final-no-apt.patch included upstream + removed cloud-init-ntp-conf-suse.patch included upstream + removed cloud-init-break-cycle-local-service.patch included upstream + removed cloud-init-reproduce-build.patch included upstream + For the complete changelog see https://launchpad.net/cloud-init/trunk/17.2- patch distribution detection until a fix is delivered to python3 (bsc#997614) add cloud-init-add-variant-cloudcfg.patch- Fix usage of fdupes macro: there is no '-n' parameter to the macro (there would be to fdupes, the command, though).- Add cloud-init-reproduce-build.patch (boo#1069635) + Make builds reproducible- Add cloud-init-resize-ro-btrfs.patch + cc_resizefs fails if the current root is a read-only btrfs subvolume, use an always writeable subvolume instead [bsc#1042913]- Add cloud-init-break-cycle-local-service.patch + Let systemd pull in the default targets. This breaks a cycle- Fix variable name in cloud-init-translate-netconf-ipv4-keep-gw.patch- Add cloud-init-translate-netconf-ipv4-keep-gw.patch (boo#1064854) + Properly insert the gateway information for v1 json network config data- Add cloud-init-ntp-conf-suse.patch + ntp configuration was broken on sles and opensuse lp#1726572- Add cloud-init-hosts-template.patch (bsc#1064594) + Properly expand the /etc/hosst file when manage_etc_hosts is set- Fix sed expression to set distro properly (boo#1063716)- Update to version 17.1 (bsc#1035106) + Version numbering scheme change now YY.NUMBER_OF_RELESE_THAT_YEAR + Remove cloud.cfg.suse, use generated default config file + Remove addopenSUSEBase.patch, included upstream + Remove suseIntegratedHandler.patch, included upstream + Remove openSUSEhostsTemplate.diff, included upstream + Remove cloud-init-handle-no-carrier.patch, included upstream + Remove cloud-init-digital-ocean-datasource.patch, use upstream implementation + Remove cloud-init-digital-ocean-datasource-enable-by-default.patch, use upstream implementation + Remove cloud-init-fix-unicode-handling-binarydecode.patch, included upstream + Remove cloud-init-no-dmidecode-on-ppc64.patch, included upstream + Remove dataSourceOpenNebula.patch, use upstream implementation + Remove setupSUSEsysVInit.diff, included upstream + Remove suseSysVInit.diff, included upstream + Remove cloud-init-finalbeforelogin.patch, don't block login + Remove cloud-init-handle-not-implemented-query.patch, query option removed + Remove cloud-init-spceandtabs-clean.patch, indentation fixed upstream + Remove dynamicInitCmd.diff, different solution from upstream + Added cloud-init-more-tasks.patch, (bsc#1047363) replace cloud-init-finalbeforelogin.patch + Forward port cloud-init-python2-sigpipe.patch + Remove cloud-init-net-eni.patch, included upstream + Remove cloud-init-service.patch, included upstream + Forward port cloud-init-sysconfig-netpathfix.patch + Remove cloud-init-net-sysconfig-lp1665441.patch, included upstream + Remove cloud-init-python26.patch, included upstream + Remove skip-argparse-on-python3.patch + Add cloud-init-tests-set-exec.patch + Add cloud-init-final-no-apt.patch + Add zypp_add_repo_test.patch + doc: document GCE datasource. [Arnd Hannemann] + suse: updates to templates to support openSUSE and SLES. + [Robert Schweikert] (LP: #1718640) + suse: Copy sysvinit files from redhat with slight changes. + [Robert Schweikert] (LP: #1718649) + docs: fix sphinx module schema documentation [Chad Smith] + tests: Add cloudinit package to all test targets [Chad Smith] + Makefile: No longer look for yaml files in obsolete ./bin/. + tests: fix ds-identify unit tests to set EC2_STRICT_ID_DEFAULT. + ec2: Fix maybe_perform_dhcp_discovery to use /var/tmp as a tmpdir + [Chad Smith] (LP: #1717627) + Azure: wait longer for SSH pub keys to arrive. + [Paul Meyer] (LP: #1717611) + GCE: Fix usage of user-data. (LP: #1717598) + cmdline: add collect-logs subcommand. [Chad Smith] (LP: #1607345) + CloudStack: consider dhclient lease files named with a hyphen. + (LP: #1717147) + resizefs: Drop check for read-only device file, do not warn on + overlayroot. [Chad Smith] + Do not provide systemd-fsck drop-in which could cause ordering cycles. + [Balint Reczey] (LP: #1717477) + tests: Enable the NoCloud KVM platform [Joshua Powers] + resizefs: pass mount point to xfs_growfs [Dusty Mabe] + vmware: Enable nics before sending the SUCCESS event. [Sankar Tanguturi] + cloud-config modules: honor distros definitions in each module + [Chad Smith] (LP: #1715738, #1715690) + chef: Add option to pin chef omnibus install version + [Ethan Apodaca] (LP: #1462693) + tests: execute: support command as string [Joshua Powers] + schema and docs: Add jsonschema to resizefs and bootcmd modules + [Chad Smith] + tools: Add xkvm script, wrapper around qemu-system [Joshua Powers] + vmware customization: return network config format + [Sankar Tanguturi] (LP: #1675063) + Ec2: only attempt to operate at local mode on known platforms. + (LP: #1715128) + Use /run/cloud-init for tempfile operations. (LP: #1707222) + ds-identify: Make OpenStack return maybe on arch other than intel. + (LP: #1715241) + tests: mock missed openstack metadata uri network_data.json + [Chad Smith] (LP: #1714376) + relocate tests/unittests/helpers.py to cloudinit/tests + [Lars Kellogg-Stedman] + tox: add nose timer output [Joshua Powers] + upstart: do not package upstart jobs, drop ubuntu-init-switch module. + tests: Stop leaking calls through unmocked metadata addresses + [Chad Smith] (LP: #1714117) + distro: allow distro to specify a default locale [Ryan Harper] + tests: fix two recently added tests for sles distro. + url_helper: dynamically import oauthlib import from inside oauth_headers + [Chad Smith] + tox: make xenial environment run with python3.6 + suse: Add support for openSUSE and return SLES to a working state. + [Robert Schweikert] + GCE: Add a main to the GCE Datasource. + ec2: Add IPv6 dhcp support to Ec2DataSource. [Chad Smith] (LP: #1639030) + url_helper: fail gracefully if oauthlib is not available + [Lars Kellogg-Stedman] (LP: #1713760) + cloud-init analyze: fix issues running under python 2. [Andrew Jorgensen] + Configure logging module to always use UTC time. + [Ryan Harper] (LP: #1713158) + Log a helpful message if a user script does not include shebang. + [Andrew Jorgensen] + cli: Fix command line parsing of coniditionally loaded subcommands. + [Chad Smith] (LP: #1712676) + doc: Explain error behavior in user data include file format. + [Jason Butz] + cc_landscape & cc_puppet: Fix six.StringIO use in writing configs + [Chad Smith] (LP: #1699282, #1710932) + schema cli: Add schema subcommand to cloud-init cli and cc_runcmd schema + [Chad Smith] + Debian: Remove non-free repositories from apt sources template. + [Joonas Kylmälä] (LP: #1700091) + tools: Add tooling for basic cloud-init performance analysis. + [Chad Smith] (LP: #1709761) + network: add v2 passthrough and fix parsing v2 config with bonds/bridge + params [Ryan Harper] (LP: #1709180) + doc: update capabilities with features available, link doc reference, + cli example [Ryan Harper] + vcloud directory: Guest Customization support for passwords + [Maitreyee Saikia] + ec2: Allow Ec2 to run in init-local using dhclient in a sandbox. + [Chad Smith] (LP: #1709772) + cc_ntp: fallback on timesyncd configuration if ntp is not installable + [Ryan Harper] (LP: #1686485) + net: Reduce duplicate code. Have get_interfaces_by_mac use + get_interfaces. + tests: Fix build tree integration tests [Joshua Powers] + sysconfig: Dont repeat header when rendering resolv.conf + [Ryan Harper] (LP: #1701420) + archlinux: Fix bug with empty dns, do not render 'lo' devices. + (LP: #1663045, #1706593) + cloudinit.net: add initialize_network_device function and tests + [Chad Smith] + makefile: fix ci-deps-ubuntu target [Chad Smith] + tests: adjust locale integration test to parse default locale. + tests: remove 'yakkety' from releases as it is EOL. + tests: Add initial tests for EC2 and improve a docstring. + locale: Do not re-run locale-gen if provided locale is system default. + archlinux: fix set hostname usage of write_file. + [Joshua Powers] (LP: #1705306) + sysconfig: support subnet type of 'manual'. + tools/run-centos: make running with no argument show help. + Drop rand_str() usage in DNS redirection detection + [Bob Aman] (LP: #1088611) + sysconfig: use MACADDR on bonds/bridges to configure mac_address + [Ryan Harper] (LP: #1701417) + net: eni route rendering missed ipv6 default route config + [Ryan Harper] (LP: #1701097) + sysconfig: enable mtu set per subnet, including ipv6 mtu + [Ryan Harper] (LP: #1702513) + sysconfig: handle manual type subnets [Ryan Harper] (LP: #1687725) + sysconfig: fix ipv6 gateway routes [Ryan Harper] (LP: #1694801) + sysconfig: fix rendering of bond, bridge and vlan types. + [Ryan Harper] (LP: #1695092) + Templatize systemd unit files for cross distro deltas. [Ryan Harper] + sysconfig: ipv6 and default gateway fixes. [Ryan Harper] (LP: #1704872) + net: fix renaming of nics to support mac addresses written in upper + case. (LP: #1705147) + tests: fixes for issues uncovered when moving to python 3.6. + (LP: #1703697) + sysconfig: include GATEWAY value if set in subnet + [Ryan Harper] (LP: #1686856) + Scaleway: add datasource with user and vendor data for Scaleway. + [Julien Castets] + Support comments in content read by load_shell_content. + cloudinitlocal fail to run during boot [Hongjiang Zhang] + doc: fix disk setup example table_type options + [Sandor Zeestraten] (LP: #1703789) + tools: Fix exception handling. [Joonas Kylmälä] (LP: #1701527) + tests: fix usage of mock in GCE test. + test_gce: Fix invalid mock of platform_reports_gce to return False + [Chad Smith] + test: fix incorrect keyid for apt repository. + [Joshua Powers] (LP: #1702717) + tests: Update version of pylxd [Joshua Powers] + write_files: Remove log from helper function signatures. + [Andrew Jorgensen] + doc: document the cmdline options to NoCloud [Brian Candler] + read_dmi_data: always return None when inside a container. (LP: #1701325) + requirements.txt: remove trailing white space. + Azure: Add network-config, Refactor net layer to handle duplicate macs. + [Ryan Harper] + Tests: Simplify the check on ssh-import-id [Joshua Powers] + tests: update ntp tests after sntp added [Joshua Powers] + FreeBSD: Make freebsd a variant, fix unittests and + tools/build-on-freebsd. + FreeBSD: fix test failure + FreeBSD: replace ifdown/ifup with "ifconfig down" and "ifconfig up". + [Hongjiang Zhang] (LP: #1697815) + FreeBSD: fix cdrom mounting failure if /mnt/cdrom/secure did not exist. + [Hongjiang Zhang] (LP: #1696295) + main: Don't use templater to format the welcome message + [Andrew Jorgensen] + docs: Automatically generate module docs form schema if present. + [Chad Smith] + debian: fix path comment in /etc/hosts template. + [Jens Sandmann] (LP: #1606406) + suse: add hostname and fully qualified domain to template. + [Jens Sandmann] + write_file(s): Print permissions as octal, not decimal [Andrew Jorgensen] + ci deps: Add --test-distro to read-dependencies to install all deps + [Chad Smith] + tools/run-centos: cleanups and move to using read-dependencies + pkg build ci: Add make ci-deps- target to install pkgs + [Chad Smith] + systemd: make cloud-final.service run before apt daily services. + (LP: #1693361) + selinux: Allow restorecon to be non-fatal. [Ryan Harper] (LP: #1686751) + net: Allow netinfo subprocesses to return 0 or 1. + [Ryan Harper] (LP: #1686751) + net: Allow for NetworkManager configuration [Ryan McCabe] (LP: #1693251) + Use distro release version to determine if we use systemd in redhat spec + [Ryan Harper] + net: normalize data in network_state object + Integration Testing: tox env, pyxld 2.2.3, and revamp framework + [Wesley Wiedenmeier] + Chef: Update omnibus url to chef.io, minor doc changes. [JJ Asghar] + tools: add centos scripts to build and test [Joshua Powers] + Drop cheetah python module as it is not needed by trunk [Ryan Harper] + rhel/centos spec cleanups. + cloud.cfg: move to a template. setup.py changes along the way. + Makefile: add deb-src and srpm targets. use PYVER more places. + makefile: fix python 2/3 detection in the Makefile [Chad Smith] + snap: Removing snapcraft plug line [Joshua Powers] (LP: #1695333) + RHEL/CentOS: Fix default routes for IPv4/IPv6 configuration. + [Andreas Karis] (LP: #1696176) + test: Fix pyflakes complaint of unused import. + [Joshua Powers] (LP: #1695918) + NoCloud: support seed of nocloud from smbios information + [Vladimir Pouzanov] (LP: #1691772) + net: when selecting a network device, use natural sort order + [Marc-Aurèle Brothier] + fix typos and remove whitespace in various docs [Stephan Telling] + systemd: Fix typo in comment in cloud-init.target. [Chen-Han Hsiao] + Tests: Skip jsonschema related unit tests when dependency is absent. + [Chad Smith] (LP: #1695318) + azure: remove accidental duplicate line in merge. + azure: identify platform by well known value in chassis asset tag. + [Chad Smith] (LP: #1693939) + tools/net-convert.py: support old cloudinit versions by using kwargs. + ntp: Add schema definition and passive schema validation. + [Chad Smith] (LP: #1692916) + Fix eni rendering for bridge params that require repeated key for + values. [Ryan Harper] + net: remove systemd link file writing from eni renderer [Ryan Harper] + AliYun: Enable platform identification and enable by default. + [Junjie Wang] (LP: #1638931) + net: fix reading and rendering addresses in cidr format. + [Dimitri John Ledkov] (LP: #1689346, #1684349) + disk_setup: udev settle before attempting partitioning or fs creation. + (LP: #1692093) + GCE: Update the attribute used to find instance SSH keys. + [Daniel Watkins] (LP: #1693582) + nplan: For bonds, allow dashed or underscore names of keys. + [Dimitri John Ledkov] (LP: #1690480) + python2.6: fix unit tests usage of assertNone and format. + test: update docstring on test_configured_list_with_none + fix tools/ds-identify to not write None twice. + tox/build: do not package depend on style requirements. + cc_ntp: Restructure cc_ntp unit tests. [Chad Smith] (LP: #1692794) + flake8: move the pinned version of flake8 up to 3.3.0 + tests: Apply workaround for snapd bug in test case. [Joshua Powers] + RHEL/CentOS: Fix dual stack IPv4/IPv6 configuration. + [Andreas Karis] (LP: #1679817, #1685534, #1685532) + disk_setup: fix several issues with gpt disk partitions. (LP: #1692087) + function spelling & docstring update [Joshua Powers] + Fixing wrong file name regression. [Joshua Powers] + tox: move pylint target to 1.7.1 + Fix get_interfaces_by_mac for empty macs (LP: #1692028) + DigitalOcean: remove routes except for the public interface. + [Ben Howard] (LP: #1681531.) + netplan: pass macaddress, when specified, for vlans + [Dimitri John Ledkov] (LP: #1690388) + doc: various improvements for the docs on cc_users_groups. + [Felix Dreissig] + cc_ntp: write template before installing and add service restart + [Ryan Harper] (LP: #1645644) + cloudstack: fix tests to avoid accessing /var/lib/NetworkManager + [Lars Kellogg-Stedman] + tests: fix hardcoded path to mkfs.ext4 [Joshua Powers] (LP: #1691517) + Actually skip warnings when .skip file is present. + [Chris Brinker] (LP: #1691551) + netplan: fix netplan render_network_state signature. + [Dimitri John Ledkov] (LP: #1685944) + Azure: fix reformatting of ephemeral disks on resize to large types. + (LP: #1686514) + Revert "tools/net-convert: fix argument order for render_network_state" + make deb: Add devscripts dependency for make deb. Cleanup + packages/bddeb. [Chad Smith] (LP: #1685935) + tools/net-convert: fix argument order for render_network_state + [Ryan Harper] (LP: #1685944) + openstack: fix log message copy/paste typo in _get_url_settings + [Lars Kellogg-Stedman] + unittests: fix unittests run on centos [Joshua Powers] + Improve detection of snappy to include os-release and kernel cmdline. + (LP: #1689944) + Add address to config entry generated by _klibc_to_config_entry. + [Julien Castets] (LP: #1691135) + sysconfig: Raise ValueError when multiple default gateways are present. + [Chad Smith] (LP: #1687485) + FreeBSD: improvements and fixes for use on Azure + [Hongjiang Zhang] (LP: #1636345) + Add unit tests for ds-identify, fix Ec2 bug found. + fs_setup: if cmd is specified, use shell interpretation. + [Paul Meyer] (LP: #1687712) + doc: document network configuration defaults policy and formats. + [Ryan Harper] + Fix name of "uri" key in docs for "cc_apt_configure" module + [Felix Dreissig] + tests: Enable artful [Joshua Powers] + nova-lxd: read product_name from environment, not platform. + (LP: #1685810) + Fix yum repo config where keys contain array values + [Dylan Perry] (LP: #1592150) + template: Update debian backports template [Joshua Powers] (LP: #1627293) + rsyslog: replace ~ with stop [Joshua Powers] (LP: #1367899) + Doc: add additional RTD examples [Joshua Powers] (LP: #1459604) + Fix growpart for some cases when booted with root=PARTUUID. + (LP: #1684869) + pylint: update output style to parseable [Joshua Powers] + pylint: fix all logging warnings [Joshua Powers] + CloudStack: Add NetworkManager to list of supported DHCP lease dirs. + [Syed] + net: kernel lies about vlans not stealing mac addresses, when they do + [Dimitri John Ledkov] (LP: #1682871) + ds-identify: Check correct path for "latest" config drive + [Daniel Watkins] (LP: #1673637) + doc: Fix example for resolve.conf configuration. + [Jon Grimm] (LP: #1531582) + Fix examples that reference upstream chef repository. + [Jon Grimm] (LP: #1678145) + doc: correct grammar and improve clarity in merging documentation. + [David Tagatac] + doc: Add missing doc link to snap-config module. [Ryan Harper] + snap: allows for creating cloud-init snap [Joshua Powers] + DigitalOcean: assign IPv4ll address to lowest indexed interface. + [Ben Howard] + DigitalOcean: configure all NICs presented in meta-data. [Ben Howard] + Remove (and/or fix) URL shortener references [Jon Grimm] (LP: #1669727) + HACKING.rst: more info on filling out contributors agreement. + util: teach write_file about copy_mode option + [Lars Kellogg-Stedman] (LP: #1644064) + DigitalOcean: bind resolvers to loopback interface. [Ben Howard] + tests: fix AltCloud tests to not rely on blkid (LP: #1636531) + OpenStack: add 'dvs' to the list of physical link types. (LP: #1674946) + Fix bug that resulted in an attempt to rename bonds or vlans. + (LP: #1669860) + tests: update OpenNebula and Digital Ocean to not rely on host + interfaces. + net: in netplan renderer delete known image-builtin content. + (LP: #1675576) + doc: correct grammar in capabilities.rst [David Tagatac] + ds-identify: fix detecting of maas datasource. (LP: #1677710) + netplan: remove debugging prints, add debug logging [Ryan Harper] + ds-identify: do not write None twice to datasource_list. + support resizing partition and rootfs on system booted without + initramfs. [Steve Langasek] (LP: #1677376) + apt_configure: run only when needed. (LP: #1675185) + OpenStack: identify OpenStack by product 'OpenStack Compute'. + (LP: #1675349) + GCE: Search GCE in ds-identify, consider serial number in check. + (LP: #1674861) + Add support for setting hashed passwords [Tore S. Lonoy] (LP: #1570325) + Fix filesystem creation when using "partition: auto" + [Jonathan Ballet] (LP: #1634678) + ConfigDrive: support reading config drive data from /config-drive. + (LP: #1673411) + ds-identify: fix detection of Bigstep datasource. (LP: #1674766) + test: add running of pylint [Joshua Powers] + ds-identify: fix bug where filename expansion was left on. + advertise network config v2 support (NETWORK_CONFIG_V2) in features. + Bigstep: fix bug when executing in python3. [root] + Fix unit test when running in a system deployed with cloud-init. + Bounce network interface for Azure when using the built-in path. + [Brent Baude] (LP: #1674685) + cloudinit.net: add network config v2 parsing and rendering [Ryan Harper] + net: Fix incorrect call to isfile [Joshua Powers] (LP: #1674317) + net: add renderers for automatically selecting the renderer. + doc: fix config drive doc with regard to unpartitioned disks. + (LP: #1673818) + test: Adding integratiron test for password as list [Joshua Powers] + render_network_state: switch arguments around, do not require target + support 'loopback' as a device type. + Integration Testing: improve testcase subclassing [Wesley Wiedenmeier] + gitignore: adding doc/rtd_html [Joshua Powers] + doc: add instructions for running integration tests via tox. + [Joshua Powers] + test: avoid differences in 'date' output due to daylight savings. + Fix chef config module in omnibus install. [Jeremy Melvin] (LP: #1583837) + Add feature flags to cloudinit.version. [Wesley Wiedenmeier] + tox: add a citest environment + Further fix regression to support 'password' for default user. + fix regression when no chpasswd/list was provided. + Support chpasswd/list being a list in addition to a string. + [Sergio Lystopad] (LP: #1665694) + doc: Fix configuration example for cc_set_passwords module. + [Sergio Lystopad] (LP: #1665773) + net: support both ipv4 and ipv6 gateways in sysconfig. + [Lars Kellogg-Stedman] (LP: #1669504) + net: do not raise exception for > 3 nameservers + [Lars Kellogg-Stedman] (LP: #1670052) + ds-identify: report cleanups for config and exit value. (LP: #1669949) + ds-identify: move default setting for Ec2/strict_id to a global. + ds-identify: record not found in cloud.cfg and always add None. + Support warning if the used datasource is not in ds-identify's list. + tools/ds-identify: make report mode write namespaced results. + Move warning functionality to cloudinit/warnings.py + Add profile.d script for showing warnings on login. + Z99-cloud-locale-test.sh: install and make consistent. + tools/ds-identify: look at cloud.cfg when looking for ec2 strict_id. + tools/ds-identify: disable vmware_guest_customization by default. + tools/ds-identify: ovf identify vmware guest customization. + Identify Brightbox as an Ec2 datasource user. (LP: #1661693) + DatasourceEc2: add warning message when not on AWS. + ds-identify: add reading of datasource/Ec2/strict_id + tools/ds-identify: add support for found or maybe contributing config. + tools/ds-identify: read the seed directory on Ec2 + tools/ds-identify: use quotes in local declarations. + tools/ds-identify: fix documentation of policy setting in a comment. + ds-identify: only run once per boot unless --force is given. + flake8: fix flake8 complaints in previous commit. + net: correct errors in cloudinit/net/sysconfig.py + [Lars Kellogg-Stedman] (LP: #1665441) + ec2_utils: fix MetadataLeafDecoder that returned bytes on empty + apply the runtime configuration written by ds-identify. + ds-identify: fix checking for filesystem label (LP: #1663735) + ds-identify: read ds=nocloud properly (LP: #1663723) + support nova-lxd by reading platform from environment of pid 1. + (LP: #1661797) + ds-identify: change aarch64 to use the default for non-dmi systems. + Remove style checking during build and add latest style checks to tox + [Joshua Powers] (LP: #1652329) + code-style: make master pass pycodestyle (2.3.1) cleanly, currently: + [Joshua Powers] + manual_cache_clean: When manually cleaning touch a file in instance dir. + Add tools/ds-identify to identify datasources available. + Fix small typo and change iso-filename for consistency [Robin Naundorf] + Fix eni rendering of multiple IPs per interface + [Ryan Harper] (LP: #1657940) + tools/mock-meta: support python2 or python3 and ipv6 in both. + tests: remove executable bit on test_net, so it runs, and fix it. + tests: No longer monkey patch httpretty for python 3.4.2 + Add 3 ecdsa-sha2-nistp* ssh key types now that they are standardized + [Lars Kellogg-Stedman] (LP: #1658174) + reset httppretty for each test [Lars Kellogg-Stedman] (LP: #1658200) + build: fix running Make on a branch with tags other than master + EC2: Do not cache security credentials on disk + [Andrew Jorgensen] (LP: #1638312) + doc: Fix typos and clarify some aspects of the part-handler + [Erik M. Bray] + doc: add some documentation on OpenStack datasource. + OpenStack: Use timeout and retries from config in get_data. + [Lars Kellogg-Stedman] (LP: #1657130) + Fixed Misc issues related to VMware customization. [Sankar Tanguturi] + Fix minor docs typo: perserve > preserve [Jeremy Bicha] + Use dnf instead of yum when available + [Lars Kellogg-Stedman] (LP: #1647118) + validate-yaml: use python rather than explicitly python3 + Get early logging logged, including failures of cmdline url. - From 0.7.9 + doc: adjust headers in tests documentation for consistency. + pep8: fix issue found in zesty build with pycodestyle. + integration test: initial commit of integration test framework + [Wesley Wiedenmeier] + LICENSE: Allow dual licensing GPL-3 or Apache 2.0 [Jon Grimm] + Fix config order of precedence, putting kernel command line over system. + [Wesley Wiedenmeier] (LP: #1582323) + pep8: whitespace fix + Update the list of valid ssh keys. [Michael Felt] + network: add ENI unit test for statically rendered routes. + set_hostname: avoid erroneously appending domain to fqdn + [Lars Kellogg-Stedman] (LP: #1647910) + doc: change 'nobootwait' to 'nofail' in docs [Anhad Jai Singh] + Replace an expired bit.ly link in code comment. + user-groups: fix bug when groups was provided as string and had spaces + (LP: #1354694) + mounts: use mount -a again to accomplish mounts (LP: #1647708) + CloudSigma: Fix bug where datasource was not loaded in local search. + (LP: #1648380) + when adding a user, strip whitespace from group list [Lars Kellogg-Stedman] + (LP: #1354694) + fix decoding of utf-8 chars in yaml test + Replace usage of sys_netdev_info with read_sys_net (LP: #1625766) + fix problems found in python2.6 test. + OpenStack: extend physical types to include hyperv, hw_veb, vhost_user. + (LP: #1642679) + tests: fix assumptions that expected no eth0 in system. (LP: #1644043) + net/cmdline: Consider ip= or ip6= on command line not only ip= + (LP: #1639930) + Just use file logging by default (LP: #1643990) + Improve formatting for ProcessExecutionError [Wesley Wiedenmeier] + flake8: fix trailing white space + Doc: various documentation fixes [Sean Bright] + cloudinit/config/cc_rh_subscription.py: Remove repos before adding + [Brent Baude] + packages/redhat: fix rpm spec file. + main: set TZ in environment if not already set. [Ryan Harper] + Azure: No longer rely on walinux agent. (LP: #1538522) + disk_setup: Use sectors as unit when formatting MBR disks with sfdisk. + [Daniel Watkins] (LP: #1460715) + Add activate_datasource, for datasource specific code paths. (LP: #1611074) + systemd: cloud-init-local use RequiresMountsFor=/var/lib/cloud + (LP: #1642062) + systemd: cloud-init remove After=systemd-networkd-wait-online + systemd: cloud-init-local change Before basic to sysinit + pep8: fix style errors reported by pycodestyle 2.1.0 + systemd: drop both Wants and After local-fs.target + systemd: networking service adjustments. (LP: #1636912) + systemd: replace Before=basic.target, dbus.target with sysinit.target + (LP: #1629797) + doc: Add documentation on stages of boot. + doc: make the RST files consistently formated and other improvements. + Ec2: fix syntax and tox in previous commit. + Ec2: protect against non-dictionary in block-device-mapping. + doc: fixed example to not overwrite /etc/hosts [Chris Glass] + Doc: fix spelling / typos in ca_certs and scripts_vendor. + pyflakes: fix issue with pyflakes 1.3 found in ubuntu zesty-proposed. + net/cmdline: Further adjustments to ipv6 support [LaMont Jones] + (LP: #1621615) + Add coverage dependency to bddeb to fix package build. + doc: improve HACKING.rst file + dmidecode: Allow dmidecode to be used on aarch64 [Robert Schweikert] + AliYun: Add new datasource for Ali-Cloud ECS [kaihuan.pkh] + Add coverage collection to tox unit tests. [Joshua Powers] + cc_users_groups: fix remaing call to ds.normalize_user_groups [Ryan Harper] + disk-config: udev settle after partitioning in gpt format. (LP: #1626243) + unittests: do not read system /etc/cloud/cloud.cfg.d (LP: #1635350) + Add documentation for logging features. [Wesley Wiedenmeier] + Add support for snap create-user on Ubuntu Core images. [Ryan Harper] + Fix sshd restarts for rhel distros. [Jim Gorz] + OpenNebula: replace 'ip' parsing with cloudinit.net usage. + Fix python2.6 things found running in centos 6. + Move user/group functions to new ug_util file + DigitalOcean: enable usage of data source by default. + update Gentoo initscripts to run in the correct order [Matthew Thode] + MAAS: improve the main of datasource to look at kernel cmdline config. + tests: silence the Cheetah UserWarning about NameMapper C version. + systemd: Run cloud-init.service Before dbus.socket not dbus.target + [Daniel Watkins] (LP: #1629797) + systemd: run cloud-init.service Before dbus.service (LP: #1629797) + unittests: fix use of mock 2.0 'assert_called' when running make check + [Ryan Harper] + Improve module documentation and doc cleanup. [Wesley Wiedenmeier] + lxd: Update network config for LXD 2.3 [Stéphane Graber] + DigitalOcean: use meta-data for network configruation [Ben Howard] + ntp: move to run after apt configuration (LP: #1628337) + Decode unicode types in decode_binary [Robert Schweikert] + systemd: Ensure that cloud-init-local happens before NetworkManager + Allow ephemeral drive to be unpartitioned [Paul Meyer] + subp: add 'update_env' argument + net: support reading ipv6 dhcp config from initramfs [LaMont Jones] + (LP: #1621615, #1621507) + Adjust mounts and disk configuration for systemd. (LP: #1611074) + dmidecode: run dmidecode only on i?86 or x86_64 arch. [Robert Schweikert] + systemd: put cloud-init.target After multi-user.target (LP: #1623868)- add skip-argparse-on-python3.patch: don't depend on argparse for python3, it is builtin there (as of python 3.2, so the patch should be good enough)- python_sitelib does not seem to exist for non single-spec python modules, use python2_sitelib and python3_sitelib instead.- Drop python-cheetah as requirement + Cheetah is no maintained and cloud-init switches to Jinja2 as templating engine if Cheetah is not available - Drop argparse as dependency for Py3 build + argparse is built into Python- Modify cloud-init-finalbeforelogin.patch (bsc#1047363) + Support user processes running in coud-init-final to consume a large number of threads. - Modify cloud-init-service.patch (bsc#1055649) + Start after dbus.service, needed by hotnamectl - Modify cloud-init-handle-not-implemented-query.patch + print needs () for Python3 - Add cloud-init-spceandtabs-clean.patch + Fix inconsistent use of spaces and tabs in various files - Modify suseIntegratedHandler.patch + Fix mode setting passed to function for file writing - Set packag up to build with Python 3 for distros later than SLE 12- On Tumbleweed we need net-tools-deprecated to setup the network- add cloud-init-net-sysconfig-lp1665441.patch (lp#1665441)- Don't call insserv if we use systemd- Do not set mount options for ephemeral drive, use the defaults that are built into the code (bsc#930524)- Update fix-default-systemd-unit-dir.patch (bsc#1024709) + based on work by Thomas Abraham - Add cloud-init-handle-not-implemented-query.patch (boo#1017832)- Require net-tools for network setup- Configuration split (bsc#1016160)- fix syntax error in datasource LocalDisk (fix got somehow lost)- adjust license (as of 0.7.8 AGPL-3.0 was added)- fix unintentional edit in last change again- Modify suseIntegratedHandler.patch (bsc#998103) + Store previous hostname so update_hostname module does not overwrite manually set hostnames - cloud-init-python26.patch + Compatibility fixes with Python 2.6- fix the cloud.cfg split, cyclic non-versioned dependencies are bad. also fix changelog entries- add datasourceLocalDisk.patch: * Fix datasourceLocalDisk module in case directory exists but is empty.- Add Conflicts for otherproviders of cloud-init-config. - Add require for python-six (used by several modules)- Add LocalDisk datasource datasourceLocalDisk.patch [FATE#321107]- Reworked zypp_add_repos.diff to behave similar to zypper ar- Move cloud.cfg into an own sub-package, so that we can have a product specific version. [FATE#322039]- Add zypp_add_repos.diff to support repos for zypper [FATE#322038]- Modify suseIntegratedHandler.patch (bsc#1007529) + Fall back to the previous method of writing network information We have to work out upstream how to have distro specific renderer for sysconfig- Add cloud-init-sysconfig-netpathfix.patch (bsc#1007529) + Fix the default path for network scripts - Cosmetic changes to suseIntegratedHandler.patch- Update cloud-init-no-dmidecode-on-ppc64.patch (bsc#1005616) + aarch64 does support dmidecode- Update cloud-init-service.patch + Break another cycle this one in -final- Update cloud-init-service.patch + Better match upstream intend Ubuntu networking.service is equivalent to SUSE wicked, thus we cannot translate networking to network, but need to translate it to wicked- Update cloud-init-service.patch + We need the following order: - something brings networking fully up (in our case wicked) - cloud-init.service runs - network-online.target is reached- Update cloud-init-service.patch + The network must be up an running in order to get ssh key injected- Update cloud-init-service.patch + Had self reference and thus cloud-init.service was never executed which caused ssh key loading failure- Do not own /lib/udev to not conflict with udev rpm- Forward port suseIntegratedHandler.patch + Implement new abstract interfaces + Some minor implementation fixes- Appease the build service, differences between OBS and IBS, and own the directories- Fix package, udev rules should be in /usr for distros after SLES 11- add cloud-init-digital-ocean-datasource-enable-by-default.patch, cloud-init-digital-ocean-datasource.patch: add DigitalOcean support - run tests on build- Add cloud-init-handle-no-carrier.patch (boo#1003977) - Handle the exception when attempting to detect if the network device is up when it is not- Update cloud-init-service.patch (boo#999942) - Backport upstream commits 3705bb5964a and 6e45ffb21e96- Decoding error (boo#998843) + Added cloud-init-fix-unicode-handling-binarydecode.patch - Fix dependencies, depends on oauthlib instead of oauth- Fix dataSourceOpenNebula.patch, missing closing paren (boo#998836)- Fix typo in cloud-init-service.patch- update to version 0.7.8 (bsc#998103) + added cloud-init-net-eni.patch based on work by eblock - Using config-drive instead of metadata failed because the network translation to Ubuntu-style did not return gateway information to opensuse.py + added cloud-init-service.patch based on work by eblock - The service file cloud-init.service referenced networking.service which on SUSE is network.service + remove no_logic_change.patch included in updated upstream source + forward port suseIntegratedHandler.patch + forward port setupSUSEsysVInit.diff + forward port cloud-init-no-dmidecode-on-ppc64.patch + foward port dataSourceOpenNebula.patch + forward port fix-default-systemd-unit-dir.patch + forward port cloud-init-finalbeforelogin.patch + forward port cloud-init-python2-sigpipe.patch + SmartOS: more improvements for network configuration + add ntp config module [Ryan Harper] + ChangeLog: update changelog for previous commit. + Add distro tags on config modules that should have it. + NoCloud: fix bug providing network-interfaces via meta-data. (LP: 1577982) + ConfigDrive: recognize 'tap' as a link type. (LP: #1610784) + Upgrade to a configobj package new enough to work + MAAS: add vendor-data support (LP: #1612313) + DigitalOcean: use the v1.json endpoint [Ben Howard] + Get Azure endpoint server from DHCP client [Brent Baude] + Apt: add new apt configuration format [Christian Ehrhardt] + distros: fix get_primary_arch method use of os.uname [Andrew Jorgensen] + Fix Gentoo net config generation [Matthew Thode] + Minor cleanups to atomic_helper and add unit tests. + azure dhclient-hook cleanups + network: fix get_interface_mac for bond slave, read_sys_net for ENOTDIR + Generate a dummy bond name for OpenStack (LP: #1605749) + add install option for openrc [Matthew Thode] + Add a module that can configure spacewalk. + python2.6: fix dict comprehension usage in _lsb_release. + apt-config: allow both old and new format to be present. [Christian Ehrhardt] (LP: #1616831) + bddeb: add --release flag to specify the release in changelog. + salt minion: update default pki directory for newer salt minion. (LP: #1609899) + Fix typo in default keys for phone_home [Roland Sommer] (LP: #1607810) + apt config conversion: treat empty string as not provided. (LP: #1621180) + tests: cleanup tempdirs in apt_source tests + systemd: Better support package and upgrade. (LP: #1576692, #1621336) + remove obsolete .bzrignore + DataSourceOVF: fix user-data as base64 with python3 (LP: #1619394) + Allow link type of null in network_data.json [Jon Grimm] (LP: #1621968) from 0.7.7: + Digital Ocean: add datasource for Digital Ocean. [Neal Shrader] + expose uses_systemd as a distro function (fix rhel7) + fix broken 'output' config (LP: #1387340) + begin adding cloud config module docs to config modules (LP: #1383510) + retain trailing eol from template files (sources.list) when rendered with jinja (LP: #1355343) + Only use datafiles and initsys addon outside virtualenvs + Fix the digital ocean test case on python 2.6 + Increase the usefulness, robustness, configurability of the chef module so that it is more useful, more documented and better for users + Fix how '=' signs are not handled that well in ssh_utils (LP: #1391303) + Be more tolerant of ssh keys passed into 'ssh_authorized_keys'; allowing for list, tuple, set, dict, string types and warning on other unexpected types + Update to use newer/better OMNIBUS_URL for chef module + GCE: Allow base64 encoded user-data (LP: #1404311) [Wayne Witzell III] + GCE: use short hostname rather than fqdn (LP: #1383794) [Ben Howard] + systemd: make init stage run before login prompts shown [Steve Langasek] + hostname: on first boot apply hostname to be same as is written for persistent hostname. (LP: #1246485) + remove usage of dmidecode on linux in favor of /sys interface [Ben Howard] + python3 support [Barry Warsaw, Daniel Watkins, Josh Harlow] (LP: #1247132) + support managing gpt partitions in disk config [Daniel Watkins] + Azure: utilze gpt support for ephemeral formating [Daniel Watkins] + CloudStack: support fetching password from virtual router [Daniel Watkins] (LP: #1422388) + readurl, read_file_or_url returns bytes, user must convert as necessary + SmartOS: use v2 metadata service (LP: #1436417) [Daniel Watkins] + NoCloud: fix local datasource claiming found without explicit dsmode + Snappy: add support for installing snappy packages and configuring. + systemd: use network-online instead of network.target (LP: #1440180) [Steve Langasek] + Add functionality to fixate the uid of a newly added user. + Don't overwrite the hostname if the user has changed it after we set it. + GCE datasource does not handle instance ssh keys (LP: 1403617) + sysvinit: make cloud-init-local run before network (LP: #1275098) [Surojit Pathak] + Azure: do not re-set hostname if user has changed it (LP: #1375252) + Fix exception when running with no arguments on Python 3. [Daniel Watkins] + Centos: detect/expect use of systemd on centos 7. [Brian Rak] + Azure: remove dependency on walinux-agent [Daniel Watkins] + EC2: know about eu-central-1 availability-zone (LP: #1456684) + Azure: remove password from on-disk ovf-env.xml (LP: #1443311) [Ben Howard] + Doc: include information on user-data in OpenStack [Daniel Watkins] + Systemd: check for systemd using sd_booted symantics (LP: #1461201) [Lars Kellogg-Stedman] + Add an rh_subscription module to handle registration of Red Hat instances. [Brent Baude] + cc_apt_configure: fix importing keys under python3 (LP: #1463373) + cc_growpart: fix specification of 'devices' list (LP: #1465436) + CloudStack: fix password setting on cloudstack > 4.5.1 (LP: #1464253) + GCE: fix determination of availability zone (LP: #1470880) + ssh: generate ed25519 host keys (LP: #1461242) + distro mirrors: provide datasource to mirror selection code to support GCE regional mirrors. (LP: #1470890) + add udev rules that identify ephemeral device on Azure (LP: #1411582) + _read_dmi_syspath: fix bad log message causing unintended exception + rsyslog: add additional configuration mode (LP: #1478103) + status_wrapper in main: fix use of print_exc when handling exception + reporting: add reporting module for web hook or logging of events. + NoCloud: fix consumption of vendordata (LP: #1493453) + power_state_change: support 'condition' to disable or enable poweroff + ubuntu fan: support for config and installing of ubuntu fan (LP: #1504604) + Azure: support extracting SSH key values from ovf-env.xml (LP: #1506244) + AltCloud: fix call to udevadm settle (LP: #1507526) + Ubuntu templates: modify sources.list template to provide same sources as install from server or desktop ISO. (LP: #1177432) + cc_mounts: use 'nofail' if system uses systemd. (LP: #1514485) + Azure: get instance id from dmi instead of SharedConfig (LP: #1506187) + systemd/power_state: fix power_state to work even if cloud-final exited non-zero (LP: #1449318) + SmartOS: Add support for Joyent LX-Brand Zones (LP: #1540965) [Robert C Jennings] + systemd: support using systemd-detect-virt to detect container (LP: #1539016) [Martin Pitt] + docs: fix lock_passwd documentation [Robert C Jennings] + Azure: Handle escaped quotes in WALinuxAgentShim.find_endpoint. (LP: #1488891) [Dan Watkins] + lxd: add support for setting up lxd using 'lxd init' (LP: #1522879) + Add Image Customization Parser for VMware vSphere Hypervisor Support. [Sankar Tanguturi] + timezone: use a symlink rather than copy for /etc/localtime unless it is already a file (LP: #1543025). + Enable password changing via a hashed string [Alex Sirbu] + Added BigStep datasource [Alex Sirbu] + No longer run pollinate in seed_random (LP: #1554152) + groups: add defalt user to 'lxd' group. Create groups listed for a user if they do not exist. (LP: #1539317) + dmi data: fix failure of reading dmi data for unset dmi values + doc: mention label for nocloud datasource must be 'cidata' [Peter Hurley] + ssh_pwauth: fix module to support 'unchanged' and match behavior described in documentation [Chris Cosby] + quickly check to see if the previous instance id is still valid to avoid dependency on network metadata service on every boot (LP: #1553815) + support network configuration in cloud-init --local with support device naming via systemd.link. + FreeBSD: add support for installing packages, setting password and timezone. Change default user to 'freebsd'. [Ben Arblaster] + locale: list unsupported environment settings in warning (LP: #1558069) + disk_setup: correctly send --force to mkfs on block devices (LP: #1548772) + chef: fix chef install from gems (LP: #1553345) + systemd: do not specify After of obsolete syslog.target (LP: #1536964) + centos: Ensure that resolve conf object is written as a str (LP: #1479988) + chef: straighten out validation_cert and validation_key (LP: #1568940) + phone_home: allow usage of fqdn (LP: #1566824) [Ollie Armstrong] + cloudstack: Only use DHCPv4 lease files as a datasource (LP: #1576273) [Wido den Hollander] + Paths: fix instance path if datasource's id has a '/'. (LP: #1575938) [Robert Jennings] + Ec2: do not retry requests for user-data path on 404. + settings on the kernel command line (cc:) override all local settings rather than only those in /etc/cloud/cloud.cfg (LP: #1582323) + Improve merging documentation [Daniel Watkins] + apt sources: support inserting key/key-id only, custom sources.list, long gpg key fingerprints with spaces, and dictionary format (LP: #1574113) + SmartOS: datasource improvements and support for metadata service providing networking information. + Datasources: centrally handle 'dsmode' and no longer require datasources to "pass" if modules_init should be executed with network access. + ConfigDrive: improved support for networking information from a network_data.json or older interfaces formated network_config. + Change missing Cheetah log warning to debug [Andrew Jorgensen] + Remove trailing dot from GCE metadata URL (LP: #1581200) [Phil Roche] + support network rendering to sysconfig (for centos and RHEL) + write_files: if no permissions are given, just use default without warn. + user_data: fix error when user-data is not utf-8 decodable (LP: #1532072) + fix mcollective module with python3 (LP: #1597699) [Sergii Golovatiuk]- Add cloud-init-python2-sigpipe.patch (bsc#903449) + Restore SIGPIPE default handler when executing shell scripts- Add cloud-init-finalbeforelogin.patch (bsc#978048) + Ordering issue, avoid login prompt before cloud-init is finished- Update suseIntegratedHandler.patch (bsc#971275) + Properly handle the package_upgrade configuration option- Add dependency on jinja2 (bsc#948995,bsc#948996)- Add no_logic_change.patch to undo upstream logic changes introduced during style clean up- Properly write the routes file for static networks (bnc#920190) + modify suseIntegratedHandler.patch - Remove suseSetInitCmd.patch + is now integrated with suseIntegratedHandler.patch- pmtools only exist on Intel architecture (bnc#928552)- update to 0.7.6: - open 0.7.6 - Enable vendordata on CloudSigma datasource (LP: #1303986) - Poll on /dev/ttyS1 in CloudSigma datasource only if dmidecode says we're running on cloudsigma (LP: #1316475) [Kiril Vladimiroff] - SmartOS test: do not require existance of /dev/ttyS1. [LP: #1316597] - doc: fix user-groups doc to reference plural ssh-authorized-keys (LP: #1327065) [Joern Heissler] - fix 'make test' in python 2.6 - support jinja2 as a templating engine. Drop the hard requirement on cheetah. This helps in python3 effort. (LP: #1219223) - change install path for systemd files to /lib/systemd/system [Dimitri John Ledkov] - change trunk debian packaging to use pybuild and drop cdbs. [Dimitri John Ledkov] - SeLinuxGuard: remove invalid check that looked for stat.st_mode in os.lstat. - do not write comments in /etc/timezone (LP: #1341710) - ubuntu: provide 'ubuntu-init-switch' module to aid in systemd testing. - status/result json: remove 'end' entry which was always null - systemd: make cloud-init block ssh service startup to guarantee keys are generated. [Jordan Evans] (LP: #1333920) - default settings: fix typo resulting in OpenStack and GCE not working unless config explicitly provided (LP: #1329583) [Garrett Holmstrom]) - fix rendering resolv.conf if no 'options' are provided (LP: #1328953) - docs: fix disk-setup to reference 'table_type' [Rail Aliiev] (LP: #1313114) - ssh_authkey_fingerprints: fix bug that prevented disabling the module. (LP: #1340903) [Patrick Lucas] - no longer use pylint as a checker, fix pep8 [Jay Faulkner]. - Openstack: do not load some urls twice. - FreeBsd: fix initscripts and add working config file [Harm Weites] - Datasource: fix broken logic to provide hostname if datasource does not provide one - Improved and less verbose logging. - resizefs: first check that device is writable. - configdrive: fix reading of vendor data to be like metadata service reader. [Jay Faulkner] - resizefs: fix broken background resizing [Jay Faulkner] (LP: #1338614) - cc_grub_dpkg: fix EC2 hvm instances to avoid prompt on grub update. (LP: #1336855) - FreeBsd: support config drive datasource [Joseph bajin] - cc_mounts: support creating a swap file - Refresh addopenSUSEBase.patch - Refresh setupSUSEsysVInit.diff - Removed cloudinit-datasources.patch. Applied upstream - BuildRequires pkg-config. Needed to find correct systemd unit dir. - Add fix-default-systemd-unit-dir.patch . Use better default for systemd system unit dir.- Fix (bnc#919305 & bnc#918952) - Properly handle persistent network device names for OpenNebula + add dataSourceOpenNebula.patch - Properly set up network mode if interface config file + modified suseIntegratedHandler.patch- Require e2fsprogs for filesystem resizing- Remove Requires for python-yaml . There's already the right requirement for python-PyYAML- fixed syntax error in dmidecode on ppc64 patch (bnc#914920)hci-cnode1-m0 1633011277  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~     21.2-lp152.5.27.121.2-lp152.5.27.121.2-lp152.5.27.1  !!!! ""##############"""""""""""""$$%%%$$&&&&&&&&&&&&&&&&&&&&&&&&&&&&'''''''''''''''''''''''''''&(())))))))(((((((**+*,,----------------,,,,,,,,,,,,,,,(.//////0123445556NetworkManagerdispatcher.dhook-network-managercloudcloud.cfg.d05_logging.cfgREADMEtemplateschef_client.rb.tmplchrony.conf.alpine.tmplchrony.conf.fedora.tmplchrony.conf.opensuse.tmplchrony.conf.rhel.tmplchrony.conf.sles.tmplhosts.alpine.tmplhosts.freebsd.tmplhosts.suse.tmplntp.conf.alpine.tmplntp.conf.fedora.tmplntp.conf.opensuse.tmplntp.conf.rhel.tmplntp.conf.sles.tmplresolv.conf.tmpltimesyncd.conf.tmpldhcpdhclient-exit-hooks.dhook-dhclientrsyslog.d21-cloudinit.confcloud-idcloud-initcloud-init-percloud-initds-identifyuncloud-initwrite-ssh-key-fingerprintscloud_init-21.2-py3.6.egg-infoPKG-INFOSOURCES.txtdependency_links.txtentry_points.txtrequires.txttop_level.txtcloudinit__init__.py__pycache____init__.cpython-36.pycapport.cpython-36.pycatomic_helper.cpython-36.pyccloud.cpython-36.pyccs_utils.cpython-36.pycdhclient_hook.cpython-36.pycdmi.cpython-36.pycec2_utils.cpython-36.pycevent.cpython-36.pycfeatures.cpython-36.pycgpg.cpython-36.pychelpers.cpython-36.pycimporter.cpython-36.pyclog.cpython-36.pycnetinfo.cpython-36.pycpatcher.cpython-36.pycpersistence.cpython-36.pycregistry.cpython-36.pycsafeyaml.cpython-36.pycserial.cpython-36.pycsettings.cpython-36.pycsignal_handler.cpython-36.pycsimpletable.cpython-36.pycssh_util.cpython-36.pycstages.cpython-36.pycsubp.cpython-36.pyctemp_utils.cpython-36.pyctemplater.cpython-36.pyctype_utils.cpython-36.pycurl_helper.cpython-36.pycuser_data.cpython-36.pycutil.cpython-36.pycversion.cpython-36.pycwarnings.cpython-36.pycanalyze__init__.py__main__.py__pycache____init__.cpython-36.pyc__main__.cpython-36.pycdump.cpython-36.pycshow.cpython-36.pycdump.pyshow.pyapport.pyatomic_helper.pycloud.pycmd__init__.py__pycache____init__.cpython-36.pycclean.cpython-36.pyccloud_id.cpython-36.pycmain.cpython-36.pycquery.cpython-36.pycstatus.cpython-36.pycclean.pycloud_id.pydevel__init__.py__pycache____init__.cpython-36.pyclogs.cpython-36.pycmake_mime.cpython-36.pycnet_convert.cpython-36.pycparser.cpython-36.pycrender.cpython-36.pyclogs.pymake_mime.pynet_convert.pyparser.pyrender.pymain.pyquery.pystatus.pyconfig__init__.py__pycache____init__.cpython-36.pyccc_apk_configure.cpython-36.pyccc_apt_configure.cpython-36.pyccc_apt_pipelining.cpython-36.pyccc_bootcmd.cpython-36.pyccc_byobu.cpython-36.pyccc_ca_certs.cpython-36.pyccc_chef.cpython-36.pyccc_debug.cpython-36.pyccc_disable_ec2_metadata.cpython-36.pyccc_disk_setup.cpython-36.pyccc_emit_upstart.cpython-36.pyccc_fan.cpython-36.pyccc_final_message.cpython-36.pyccc_foo.cpython-36.pyccc_growpart.cpython-36.pyccc_grub_dpkg.cpython-36.pyccc_keys_to_console.cpython-36.pyccc_landscape.cpython-36.pyccc_locale.cpython-36.pyccc_lxd.cpython-36.pyccc_mcollective.cpython-36.pyccc_migrator.cpython-36.pyccc_mounts.cpython-36.pyccc_ntp.cpython-36.pyccc_package_update_upgrade_install.cpython-36.pyccc_phone_home.cpython-36.pyccc_power_state_change.cpython-36.pyccc_puppet.cpython-36.pyccc_refresh_rmc_and_interface.cpython-36.pyccc_reset_rmc.cpython-36.pyccc_resizefs.cpython-36.pyccc_resolv_conf.cpython-36.pyccc_rh_subscription.cpython-36.pyccc_rightscale_userdata.cpython-36.pyccc_rsyslog.cpython-36.pyccc_runcmd.cpython-36.pyccc_salt_minion.cpython-36.pyccc_scripts_per_boot.cpython-36.pyccc_scripts_per_instance.cpython-36.pyccc_scripts_per_once.cpython-36.pyccc_scripts_user.cpython-36.pyccc_scripts_vendor.cpython-36.pyccc_seed_random.cpython-36.pyccc_set_hostname.cpython-36.pyccc_set_passwords.cpython-36.pyccc_snap.cpython-36.pyccc_spacewalk.cpython-36.pyccc_ssh.cpython-36.pyccc_ssh_authkey_fingerprints.cpython-36.pyccc_ssh_import_id.cpython-36.pyccc_timezone.cpython-36.pyccc_ubuntu_advantage.cpython-36.pyccc_ubuntu_drivers.cpython-36.pyccc_update_etc_hosts.cpython-36.pyccc_update_hostname.cpython-36.pyccc_users_groups.cpython-36.pyccc_write_files.cpython-36.pyccc_yum_add_repo.cpython-36.pyccc_zypper_add_repo.cpython-36.pycschema.cpython-36.pyccc_apk_configure.pycc_apt_configure.pycc_apt_pipelining.pycc_bootcmd.pycc_byobu.pycc_ca_certs.pycc_chef.pycc_debug.pycc_disable_ec2_metadata.pycc_disk_setup.pycc_emit_upstart.pycc_fan.pycc_final_message.pycc_foo.pycc_growpart.pycc_grub_dpkg.pycc_keys_to_console.pycc_landscape.pycc_locale.pycc_lxd.pycc_mcollective.pycc_migrator.pycc_mounts.pycc_ntp.pycc_package_update_upgrade_install.pycc_phone_home.pycc_power_state_change.pycc_puppet.pycc_refresh_rmc_and_interface.pycc_reset_rmc.pycc_resizefs.pycc_resolv_conf.pycc_rh_subscription.pycc_rightscale_userdata.pycc_rsyslog.pycc_runcmd.pycc_salt_minion.pycc_scripts_per_boot.pycc_scripts_per_instance.pycc_scripts_per_once.pycc_scripts_user.pycc_scripts_vendor.pycc_seed_random.pycc_set_hostname.pycc_set_passwords.pycc_snap.pycc_spacewalk.pycc_ssh.pycc_ssh_authkey_fingerprints.pycc_ssh_import_id.pycc_timezone.pycc_ubuntu_advantage.pycc_ubuntu_drivers.pycc_update_etc_hosts.pycc_update_hostname.pycc_users_groups.pycc_write_files.pycc_yum_add_repo.pycc_zypper_add_repo.pyschema.pycs_utils.pydhclient_hook.pydistros__init__.py__pycache____init__.cpython-36.pycalpine.cpython-36.pycamazon.cpython-36.pycarch.cpython-36.pycbsd.cpython-36.pycbsd_utils.cpython-36.pyccentos.cpython-36.pycdebian.cpython-36.pycfedora.cpython-36.pycfreebsd.cpython-36.pycgentoo.cpython-36.pycnet_util.cpython-36.pycnetbsd.cpython-36.pycnetworking.cpython-36.pycopenbsd.cpython-36.pycopensuse.cpython-36.pycrhel.cpython-36.pycrhel_util.cpython-36.pycsles.cpython-36.pycubuntu.cpython-36.pycug_util.cpython-36.pycalpine.pyamazon.pyarch.pybsd.pybsd_utils.pycentos.pydebian.pyfedora.pyfreebsd.pygentoo.pynet_util.pynetbsd.pynetworking.pyopenbsd.pyopensuse.pyparsers__init__.py__pycache____init__.cpython-36.pychostname.cpython-36.pychosts.cpython-36.pycnetworkmanager_conf.cpython-36.pycresolv_conf.cpython-36.pycsys_conf.cpython-36.pychostname.pyhosts.pynetworkmanager_conf.pyresolv_conf.pysys_conf.pyrhel.pyrhel_util.pysles.pyubuntu.pyug_util.pydmi.pyec2_utils.pyevent.pyfeatures.pyfilters__init__.py__pycache____init__.cpython-36.pyclaunch_index.cpython-36.pyclaunch_index.pygpg.pyhandlers__init__.py__pycache____init__.cpython-36.pycboot_hook.cpython-36.pyccloud_config.cpython-36.pycjinja_template.cpython-36.pycshell_script.cpython-36.pycupstart_job.cpython-36.pycboot_hook.pycloud_config.pyjinja_template.pyshell_script.pyupstart_job.pyhelpers.pyimporter.pylog.pymergers__init__.py__pycache____init__.cpython-36.pycm_dict.cpython-36.pycm_list.cpython-36.pycm_str.cpython-36.pycm_dict.pym_list.pym_str.pynet__init__.py__pycache____init__.cpython-36.pycbsd.cpython-36.pyccmdline.cpython-36.pycdhcp.cpython-36.pyceni.cpython-36.pycfreebsd.cpython-36.pycnetbsd.cpython-36.pycnetplan.cpython-36.pycnetwork_state.cpython-36.pycopenbsd.cpython-36.pycrenderer.cpython-36.pycrenderers.cpython-36.pycsysconfig.cpython-36.pycudev.cpython-36.pycbsd.pycmdline.pydhcp.pyeni.pyfreebsd.pynetbsd.pynetplan.pynetwork_state.pyopenbsd.pyrenderer.pyrenderers.pysysconfig.pyudev.pynetinfo.pypatcher.pypersistence.pyregistry.pyreporting__init__.py__pycache____init__.cpython-36.pycevents.cpython-36.pychandlers.cpython-36.pycevents.pyhandlers.pysafeyaml.pyserial.pysettings.pysignal_handler.pysimpletable.pysourcesDataSourceAliYun.pyDataSourceAltCloud.pyDataSourceAzure.pyDataSourceBigstep.pyDataSourceCloudSigma.pyDataSourceCloudStack.pyDataSourceConfigDrive.pyDataSourceDigitalOcean.pyDataSourceEc2.pyDataSourceExoscale.pyDataSourceGCE.pyDataSourceHetzner.pyDataSourceIBMCloud.pyDataSourceLocalDisk.pyDataSourceMAAS.pyDataSourceNoCloud.pyDataSourceNone.pyDataSourceOVF.pyDataSourceOpenNebula.pyDataSourceOpenStack.pyDataSourceOracle.pyDataSourceRbxCloud.pyDataSourceScaleway.pyDataSourceSmartOS.pyDataSourceUpCloud.pyDataSourceVultr.py__init__.py__pycache__DataSourceAliYun.cpython-36.pycDataSourceAltCloud.cpython-36.pycDataSourceAzure.cpython-36.pycDataSourceBigstep.cpython-36.pycDataSourceCloudSigma.cpython-36.pycDataSourceCloudStack.cpython-36.pycDataSourceConfigDrive.cpython-36.pycDataSourceDigitalOcean.cpython-36.pycDataSourceEc2.cpython-36.pycDataSourceExoscale.cpython-36.pycDataSourceGCE.cpython-36.pycDataSourceHetzner.cpython-36.pycDataSourceIBMCloud.cpython-36.pycDataSourceLocalDisk.cpython-36.pycDataSourceMAAS.cpython-36.pycDataSourceNoCloud.cpython-36.pycDataSourceNone.cpython-36.pycDataSourceOVF.cpython-36.pycDataSourceOpenNebula.cpython-36.pycDataSourceOpenStack.cpython-36.pycDataSourceOracle.cpython-36.pycDataSourceRbxCloud.cpython-36.pycDataSourceScaleway.cpython-36.pycDataSourceSmartOS.cpython-36.pycDataSourceUpCloud.cpython-36.pycDataSourceVultr.cpython-36.pyc__init__.cpython-36.pychelpers__init__.py__pycache____init__.cpython-36.pycazure.cpython-36.pycdigitalocean.cpython-36.pychetzner.cpython-36.pycnetlink.cpython-36.pycopenstack.cpython-36.pycupcloud.cpython-36.pycvultr.cpython-36.pycazure.pydigitalocean.pyhetzner.pynetlink.pyopenstack.pyupcloud.pyvmware__init__.py__pycache____init__.cpython-36.pycimc__init__.py__pycache____init__.cpython-36.pycboot_proto.cpython-36.pycconfig.cpython-36.pycconfig_custom_script.cpython-36.pycconfig_file.cpython-36.pycconfig_namespace.cpython-36.pycconfig_nic.cpython-36.pycconfig_passwd.cpython-36.pycconfig_source.cpython-36.pycguestcust_error.cpython-36.pycguestcust_event.cpython-36.pycguestcust_state.cpython-36.pycguestcust_util.cpython-36.pycipv4_mode.cpython-36.pycnic.cpython-36.pycnic_base.cpython-36.pycboot_proto.pyconfig.pyconfig_custom_script.pyconfig_file.pyconfig_namespace.pyconfig_nic.pyconfig_passwd.pyconfig_source.pyguestcust_error.pyguestcust_event.pyguestcust_state.pyguestcust_util.pyipv4_mode.pynic.pynic_base.pyvultr.pyssh_util.pystages.pysubp.pytemp_utils.pytemplater.pytype_utils.pyurl_helper.pyuser_data.pyutil.pyversion.pywarnings.pycloud-init-generatorcloud-config.servicecloud-config.targetcloud-final.servicecloud-init-local.servicecloud-init.servicecloud-init.target66-azure-ephemeral.rulescloud-initcloud-initcloud-initLICENSELICENSE-GPLv3cloud-id.1.gzcloud-init-per.1.gzcloud-init.1.gzcloud/etc//etc/NetworkManager//etc/NetworkManager/dispatcher.d//etc/cloud//etc/cloud/cloud.cfg.d//etc/cloud/templates//etc/dhcp//etc/dhcp/dhclient-exit-hooks.d//etc/rsyslog.d//usr/bin//usr/lib//usr/lib/cloud-init//usr/lib/python3.6/site-packages//usr/lib/python3.6/site-packages/cloud_init-21.2-py3.6.egg-info//usr/lib/python3.6/site-packages/cloudinit//usr/lib/python3.6/site-packages/cloudinit/__pycache__//usr/lib/python3.6/site-packages/cloudinit/analyze//usr/lib/python3.6/site-packages/cloudinit/analyze/__pycache__//usr/lib/python3.6/site-packages/cloudinit/cmd//usr/lib/python3.6/site-packages/cloudinit/cmd/__pycache__//usr/lib/python3.6/site-packages/cloudinit/cmd/devel//usr/lib/python3.6/site-packages/cloudinit/cmd/devel/__pycache__//usr/lib/python3.6/site-packages/cloudinit/config//usr/lib/python3.6/site-packages/cloudinit/config/__pycache__//usr/lib/python3.6/site-packages/cloudinit/distros//usr/lib/python3.6/site-packages/cloudinit/distros/__pycache__//usr/lib/python3.6/site-packages/cloudinit/distros/parsers//usr/lib/python3.6/site-packages/cloudinit/distros/parsers/__pycache__//usr/lib/python3.6/site-packages/cloudinit/filters//usr/lib/python3.6/site-packages/cloudinit/filters/__pycache__//usr/lib/python3.6/site-packages/cloudinit/handlers//usr/lib/python3.6/site-packages/cloudinit/handlers/__pycache__//usr/lib/python3.6/site-packages/cloudinit/mergers//usr/lib/python3.6/site-packages/cloudinit/mergers/__pycache__//usr/lib/python3.6/site-packages/cloudinit/net//usr/lib/python3.6/site-packages/cloudinit/net/__pycache__//usr/lib/python3.6/site-packages/cloudinit/reporting//usr/lib/python3.6/site-packages/cloudinit/reporting/__pycache__//usr/lib/python3.6/site-packages/cloudinit/sources//usr/lib/python3.6/site-packages/cloudinit/sources/__pycache__//usr/lib/python3.6/site-packages/cloudinit/sources/helpers//usr/lib/python3.6/site-packages/cloudinit/sources/helpers/__pycache__//usr/lib/python3.6/site-packages/cloudinit/sources/helpers/vmware//usr/lib/python3.6/site-packages/cloudinit/sources/helpers/vmware/__pycache__//usr/lib/python3.6/site-packages/cloudinit/sources/helpers/vmware/imc//usr/lib/python3.6/site-packages/cloudinit/sources/helpers/vmware/imc/__pycache__//usr/lib/systemd/system-generators//usr/lib/systemd/system//usr/lib/udev/rules.d//usr/share/bash-completion/completions//usr/share/doc/packages//usr/share/licenses//usr/share/licenses/cloud-init//usr/share/man/man1//var/lib/-fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -gobs://build.opensuse.org/openSUSE:Maintenance:17003/openSUSE_Leap_15.2_Update/12076ba247e1441644027a3fac78e804-cloud-init.openSUSE_Leap_15.2_Updatedrpmxz5x86_64-suse-linux  directoryPOSIX shell script, ASCII text executableASCII textUTF-8 Unicode textPython script, ASCII text executableemptypython 3.6 byte-compiledPython script, UTF-8 Unicode text executablePython script text executable Python script, ASCII text executabletroff or preprocessor input, ASCII text (gzip compressed data, max compression, from Unix)  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~RRRRRRRRR R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R RT]h9_!utf-8654405f97a1cb78d7d5950e8b7a03881ae9666fc4ccd22a7c7e67c086259b4cf? 7zXZ !t/ ]"k%r̥1ƷmO͓2!.Jt)0]B QV?i18jv5'„VaYSxy{2/ieٲ5(' l`wߗ$8H%2Pp&OhgS` iG^1 @O|Mvd9H, nӒ:Ձ5R1kڡroYgmkb$B)ESi:Kf am[< @DI)Fa;yEF#J+8JDBܷ2 el>EQxn Gd]uvDakmItYoxP=2&$Tqo4=x#7\BP zb+lgUu*桪d^[s8F|q Tn81y_;Tf%8`2?C;z Z`?=cP<$o 3"+Ḱx]B]6PLq4nkb[ &cW󼃭dd;a~09c2Hg%x1Ra1MP9hey[J.K]!$ :!'vs5o]~vL,+sԍ€(t3o*xƩrT~}llzC;ե LEDŝ<9jzC2HclGV͸Pѫ6񡺴chN;EbHM&lmV'4 Kw;Qj(`ʾUZ^ <#7kWkSdbԢFFbw .2]}rY41N~@xE[VXa{!ĄxO'A1 N14$jJ?_8b3!2+ק dcNېO.k-LhTKELf mmqw2$-&]ȦMʵLšskK&[c]ߧ=cq9 VJj"}8TˑYXĆKqD5_,hijoA?^`{bFVRbI[^O?-0oGb{sgNK'B@fuwv0m v9y#J_a5YjR[h\&.mx ĵ&-T,m,o}1)cIaU>ژW 9V"÷Ԫ2N+<(w%Id[گE} +BĞ'ٟƃb$5qQG^lNZ"鱲o1ި> LHcb&7' j>j/؎pܣSN,NYxZP_ =]]@ eSb8l_:v pWv#V6HAM~o$|98m~rwpg>|D~KEd&.0oQo?췞v#.s40v-101}?S,XKD2=_O:N ȧf^"ژyɂ+@#olmJæ D!YНk"@T*RoaBrދM% l@Kqڈtމ;W>օ'쩰9iBnp 6a ˱ܣE֊,M|3j˦J|kC)CpTT ~6›B`Ù8{f5e9p'xYαLmf3K裋[dp0rySpu { \勸ne:}@oɎ`J5Z('>NWYLRFj QV2xܥkd[gNjbK}U/C0--|(<_Ͻ Jtr4OG)I |[-f_ _lBx+yatr Բ̨>DDգb]"Ad|>!S.u6뢒h=|8/˄].՝E^f7w\+Cn'VMYKpusD|HÏIʺ S^ [M)0W:3<@۬es@{0Kl;?jKn\/d8M"L`CZ@3S$ Ξ^>t[5ˢ9^icO. c痹wVl0pl=DNK8VowTqVC(F'{hݚc͒ݻxu39A>~jto1$@$(G`qQwW/?-18ͶS$R^=&0AջeD9ȎJit34,W;nL' {Bzy $WN6޳u>5tܭ񂻎]"-\i,/Mh'l(#䮰,-a)G҅+Yǯl(%G@O=p=Q1 $GtT0FBZB>aTٮY{1|o\CE5"vL~ r(FyL&2T9G$=TqHsń'IREP*6u§ɀC-Ϧq0 XGLU|ԯaaI21jo:@e%q~nydy(D5A/nd3zLk#WU q4dtq65˰)b|5GG\ޔ~Mbl~y[7/|;y1fqHPgP^nT0o[v%Aog̍45& ܷ754B\;V0Oiܳ>No""Q_Mi鷦ݎQ.JfRq(:g9ꣲ)J?ăQFľHDDD51-kiXHj]kU OnWVr!y$ȁ.nE>RFVzgFyNGb0i$2dA y2si:GMJwuK؋bt()Ko1'N]w 6qȪ- JDT7..ǫy=~Nk%=Q%8c'<) xXNVmmXn]ا^ 'Sah[Xm`Vd .\WR(Ct~A5@ S3fbZ4Si i^$Xp715|^WBhC;.[\`Te\M|9Rh ~1LpiX H)oGӮ .j_0k%]΄!<+.R@om Fh<,EA9ogn-af N Yu>I*D'f:3[= 9m¶2ȜLy+kem=Jo 7ANx *]-;S6Q" _VxI&h(3 9iw IoԎn/[ {$`OqQfQ26?H43L!6"=j-JQy2 ':CWlDGM󯰡"kiV`WW}L$-M{w 9-*OL##nphR}ɯTd~8xȮOT)}+t}\l䦉< {}"H9>obu,/3o4QtwWJxjcڱ,ܙ69js ۔4g}=2ݽ}x9rM5h{e We:TyDyl$|p MssJ@uws.(E *m$uZd?{%7ƄAHmW[J\[RͅH aJu'Mc/:@=>Qj{R5s!0JY:P֏b`'F>'a5H uQ@K/L((2H̥*.=L)v?$?3MGLtY  ((M$_Ws] E}+,\تm/>]W',ﲣ ;4bԮЋ3q8{l|SG,>iVg#?#q.ر60K< %qއm(ۻ/ U7mQɅ)kX 1:_[M)Ssڇ^OH;Q:,ai)7T()#%}.DYw}nUkc%HˑH'B%^;n-<5p'}]J-| Ŷ&G2j լk;yh *i`7ذ15 a%-J9 u i8#^6.CUK"N Gg" "!5R/]:(%^Z  9,2J)M9wVf/w㨗3L*-_[3 RT kTOyAiI8 n)dܴF9YE98Xfk25{Aҫ-8Am$sTu\N32Έ(^ѡ vHmb ^#yIq?v(JDAACœ'Q/dd8bu"t kױAXoYlus`O-ʹXdbNBhKӦſg"]jJ1xa˅-[8EaLvexc j~CtɒC8aH\aqmolx+ iU-M`=UOIhbT+Zވdݏ,IJ,;+AHCIq|^;2#5X&2O3A >"&혟7l/|M_A0wE-[L#T_0qxkd bؒj@>1$ 1^g̔nwBMIb9YoGAaIOyI*^EN' aP>B߹$9p6Ǡz7Ƃc|P=tby^'+BnU@~rLS߯U[r=I)Ls9pնIhJ00jrQ@p8U\IaU?Fɸ=)6jN҅w*7 Qg`[3^fa7FlR0A~Ɯ%$UhDt*GIZ"ᯜ tElKo'`Gş.h'xf/)(szְGhXJUOU>}>ݷAhPgG! d/iU N4wMizUQչVNYQA ZHEWGuɷptws3Hc$Rm܋D܅}NJpzY{ֶRWc(vй*p)HO ށck1{ɐH|tb@Bg߆.KӯwgEA5EW= &$.#:iIRћ!_@[~/[L$W70=ؚm)뼩<2WpJDIlPG[Lߴmcˈ w6ڢXsC62$wi\z\'ם a" hcjC4af;YN P>3*MM6~ˑ{+Gb9m0Vg[9}](k>Z zt"ZR]@M$Y$ڽ{?b+xhx)7:yt^mi}5$lE#١|B}].9Q+kJ6]?,0`kA1 JG7v)}(NRiBVgfV b#ȴ[ HH@se)&OUJ,$z|:ɬ+(SMa] =t(+!fJUY>yk,Mq)E0Zۓ ʆ3ٮ @M,4.KKM CyK.3+?GRp42RF) ^tc1@v[ʤkVaD89TTiN50m;|qSh`h s}KS9)h ;32Ր0!5a?_}vl`ȨPGT1<:m,ΕSg cg}(\Ra뢨Ux"Ҡ 1-yV%0hҰbw$I:<׿ D+rj+`4ZBIYHexe Pu"s UP˭ ~zj+v̺A9};އO~ۭX&{ZU,^S4!Nq~Ӷ,$P4^NJw>R#Kl@uaC|XQ75k)fm"17gEN ~ض+c7c7 fQ91w6y`9s8IV1u0@2{ TELQM¦N,xͶT(x&l!gi0Tp*FUy`ՄX'مXk OW edkZD1ʡ]9TM& 2b1} 24Xnl`Kvg1KZ8@C1['f>me &u~ȓVn{oRKZ Xr1]͈I~H1 ]Hk?y+D@`E 87͋[eye[`Pz<?|:_!c#1T;%NW4Me[m ̹Vke4jTn_8|W\DžS~vAHq?'˹|8#Ѿ`M11TDsmDѪ4t9Rs+U iإhIMAvFD}nrNڴq5{bAu7OX3*ߧº޳.QnePfB]+ܡKl<$(շ\N:WTtK%|Մ%?lit%vϋ!e9!ؠР7V.qiX )vi[)5iQ .y}|pZTJT>[ 4iAb1hWC٤FPiS&B]}d"Y_0H7%r 3YxL"(-,m&#X%;,y!76p_ ;⾵9y#~w;wz8*@]C&Π[r>8 N}GY2> Eq*0Cri(NҦrς+KX<z\ 1SBe97ON =vF0=muF074fKם0uc*NF_@YȾV!&:J܎ ea-k^Dx&~##Z))Cj{d׈XpY2xGʓ X:(ȅM_U%4SBgnlNh#*1E+D'=6_43/3f쇾 U-!6Zb>V܃0V^vԀ8VVMoש]H=piwRR0QNg*~I3Ia(N/.Ika(fdO9ۮ0Uй`ѪRRޞyP*~F4`'@ˡm3H.v*`(kB:^W!F܊bh}; z' ?6 2z7yszDK =b)XBhv٘F݁wVbIv 2a;?䚇~rS7W FiqE zezcŒP :Qj;QQe+?⒍ G Gh7;=/xNefֵN03.-ڢia~/~-~fKy46|:eo"6w );`yp o)1km+~W|w ࠇ#RLH[w e#-|a}iػNMغ~ S SV+EI<wUnM8Jd4^!Oo*Ъbd3]}.>t%^1/mYjlޫc='4@Dn'XiM5- 6>sv~e*'VpVŇ~٢3' /u J'D]MB{7r>J:&eqT=ۍ3BJEE8Cku^&|hSmMY}ƱC[G[ϥZTZ @r~Ƨji7=t{i53Wžjjw}E\&ebƔ1B $[eR;.Q tb0|(`RCn79K ęe:8r\ ɚ]"D5AlItb0==y;2zd0@!3I-hTN(Bp1kwڂ3ś&nfK[#c1[MvU 7]-v$i#m&hy`c;k1)*UTR(}]F[岖3qRآ*S$+%dfjF\929}.:̏,uwhލZsi+ޢ G1P#wcZ^sJ;yӓcdR=Ey -缟p\Y$n6fɒ_c 5cKˡ.U*COSFha kU8hq'I@U,aA r8zl;'HQm>s < @zDHe%L5[鞬^P^E>Ы"LIj]=;oWc \}X5z-mNXQv~a-BDzLJ I\_.cd`ىr?(}< ~D6F2 wYkYWzQ{v>Cp"4{@ 1g-:KViEqX2gQN/=:3XRLr+d<]]ȃϷZV̺Z,mf^e\.;8c͊)ZhR#9GsM S` QݧX[`nG8@7rK16xJF]aA:PQ!aL;C8Y־t]+$9Rb fOE\YբIVb^-qnM(>r>AҞBw5-Fa0{8) . 58=HK}y; P+dj/6 63 vZN1b03<9 hd,qGh\ZilD!N%L9Fy adiN -[ Bso=BirTs;\s˻$ KL$Y!tCbnIY:n谔ovw+Wǁ Մql&ku{ZƗF8Kq53N%Eiyx?C@ +Dմ! [Kg, _WF(- P:zNW#A@t|KKQt3}74k*X}Ex.n=|톎yIr .P{#_ 6*B"*7kP<6hIl}d2LrLp4-SS?Z3- Z% ٫dy/02UN&|˧z4p@_\R] %9AFd @I;)_VUYR'e.[fj =meGѡP-3tAĶvgebuݎhtmD% 8E+_[p9I/cw_Pȸ~>H_Zd ,j ۲:iMTψ!Oźy\0'W50 SWeev5D@:tm_|p|1jF^c~%8F+j>~&4,70^n <2Yx}qFCo3##.{.4K W2W'&9͍#'Uuc=M]͏zV+N9N[~I'TbbĕC&FN3[56m_NwFvI~F<2&ŵgD/c4Q?=FKo:WIxaF'tS3-v|Fw;i;邹 hڡvi9U=zHo ͟7l8O%5*Nvx,ND")Ko_{\ \yaqVHM+"+hJEz|σӐ eK ih-٢}Lۓ,pCyRWQyDtYԗ:njjkg(C?mxltsα12^Gzג_8`a $X|O %ȁ0gxb9 I}3 '9KUKq - ”OգFǯۻ.dz1 J.16Jӌ|f}1(N:s-Obr`L*.֜\%]F r~O)>Qn/3j :㖳I/A䟽9f*'/ʄ3iô1{jgs?>GPrv%V?W}bQI]EFxz6[Tbu]4rע`!-i>vI +xm;Z HE PZT\z@:ć< at{6=]=ie~uc՚SzoW1i|8f2)}F&&~0-1.߂dS\"뵨j<ȫrs3ޒe/x~=2y>&P8IWˬ~+=i-B8dq\R#y+u8d/K0aUMNu hf,ۃS!?ߛkU5,`drKQ"v5!Kx:' iϒ,4ԥ-a ɯ-dLr j<dZ]r@I7Efea) ѰVh_Y5H )M"m IToHf7Ȏ *~nHIi&2&! YV@$l{͜ ylJ.9'i0尭hOh_cksE'0UsW,@^]Im@Zg_ RXÛ rS ۰D' 99&Y()8b"|@7hwiZ-8ofG7XOKsssA8};xABg }۽qR9aؚ v^.)~ u`=H(Oi;WS'5/} .$)\ 9%q 0SIuّ0 T`?vSJk% 1|Dz.$t:%R'Ya`@sP\#B-)2>]/>6R@25WI@&P{6jSŶ1n"V[?(9 )"̌@P6:jҠ#BZ) ͑]%w64` Hi #"c0Z6XWwxyn$ ]ܕ5U$L3g K!ّ8f yO=<{-X< c Iހ}'K hWRp ٢!{W(%!5W`w'7Gd1B~R ƕZF˳{i/yԡXՄ6I{󝽼f$u ojU-;" |}K}b0D"|2XhrJ}Sg{HDQ3bSe 8=]9G -QagRWRc%Bcߚ~;fC<? Uu\IazfJxmvRCk*Y9reB|*މ<3lz8EB}{ZKB5Sr=elCO'kw^,몫TSh(Sk+\I](r95 ]7yJh8`]L-.iđߕpxmH[%Cx)_@9[+*[=afM+nJ=U\{7ݸXyP0[uJ%7CR51Wu,U-tdșo] oOl-wȦ`,;B<3U岻n?3N2.P2Bȥq]:Ѯ@3Se"ĀH/jyg$iu MZh ,酧샅g|MTU ;n.ȯ Ki_n]Q|F<+_q:qv%ʤb)Iב\3SLbl!kGvG2kYៜ:$WHV|gȆy]¾5/E0eLG5P;r`狊ܒf#`GD7N^)'Rzl9aV^J]c 퓿BͶ|;*QI9 #!ZE82"lW~~[1-~mWJa+[A|e8u[zgMQToIO+ S"i%#i|zLw7;SrWSSqebd/rښ/˄Gl ghFFuF#7%LdVx/s@8'7U5GkWOj?ϛAAcr>@LUF!P|a{E%Ӧ$;6.T8&OyȬvs2#ނa i_W)R@!;V0+B T!!>G*CHU!xŋ%1M0"(*Y$Έ@ʤeN0_ h5/D:OɠÙz|4`)Xyd/{X3ͅ겉T̶! ;};72d~T6F<[o ~Xw흀Xr7E/q3TS%BZJ(`j)r]ݬ͗<|O$ȼ!d ZǗY*U֤4*T0{֨Vşg&/b%bCd].\ٰU(dbR%'2IB|jip,F֎kΖ孊VҘDk|L\Hy.SkFX&:n/j5i4usDlMJ:Di_@(L}ӆù[o4`b/D. [}MxDqk6z۱7b(y(bۉ`$,Q%-,4*F(Lpbm*FL*Fx}.rƔ0*I*$D:\^ܘuIlgv[sise;S)!K(ή .alq?+bx!E[\ s\_}8;>GZH900rvU(mDDYG>2 # ZZXvOW/gJ+.;h/ݎaWH]o|]ͪ6/y:r@2>Wye4zf?hє |Q)3xeh6$&Nx-@w²_%;]c >N$V1tXZ8̢d{SU8)l)(Y4ĩ CmIty)8g#BK 3ҡq )]@x9`#Ar x'`s/X~Ɗ2?kO"`wKPk"pdywLBA0Z ( J[jP՚[3džu|M8e{X p6h&h|F5)] ~_N^5wȳSVJgK9O0G !cW@1>6mc+$e*25 [k]y*5nݽ^De|2s=j<j%<ܕ`guop_F, `ƶھ4X!H s+OpݗcÂ'gӧ…0l7XX3%/=v ފOg7IҙtڛNQ"8HȋT, 6tt"h.Dd]SV6ѼF19UuUH%MDG#ZxbIa4kHB}۞@WXXdzĒ.O,5_æRp>=02ܤY'] ptƽwrzwG֗Ŏknho%GB<R̫px8(؃9otμ%~nrm+*wH3H!ZE_yPˎD-`,1DC%,RF#"D~76E"y!jC9^J$c/8 NJ'6LNRt&nu1~a'&䔔-`l/ dIj|3zQ (/+xNtzM ![-~҄~Y9T%%yP5 y(> ?KLN SVdXyCΓ=9LN=c~ԤۏJI[n-|xYar> +r `<7?c# w7Ed]4,AVHj,\Qiue[s@ґN ddG϶F4&:D^21Eb=4ъSuE^b$~AkWI~=1^Լ}7n8đvLB9F BD:Iv^˺({u!⺕6;TmZ $7U^;:Wj!d腬094۲B6LJh1ꮠ7p^pחR1] -7[Kshcmp{9*n9:QhIr`GS2Ey/..(P{ M ',)?i9j<e&FB)к^{,ӏ*qZu۶$0f^@mI}UavUYj߶ŬgBTe:?'W;=Ȕ#+ZAv?{۹a ?D8z ,dk^v {? WzQWPMq*N CZ*zA6q ΠE7\pUi+ J0E=ՠBZXsPa\,ޘp(k6 GR#I aP2q Ag>( -\Ge~B|,GK&Y8e}mF#/!6>::k&FݘWmP0 ir '{F_ !lP}DB"?V(x(N}?Ai΢è( C'$j@nI]P*2M0N\:PT,iXb4<t- mѪq:Vkء-8jI7_S,f~$~hp+B *:/*0@-@Vzya@|E.AuI:x=@ͻo5 Jy'MI{eh4!BCrS$Fܠhgn!qR*d$XuMQ2y0SKܾx)h|`b6Uz <$yDUd%ł%!}ڝĜiuyUT?"8)E~á,qϷFu( S|^RnݩÁJn%,v|>^h 7FkZc |<9T8M:iiaű7it6vZs(l=`AadR)~#DQN* $ dj-FҍTEd`rZ(AV-jWj*S@8G^;f57!Siv9wZl:z*Svi|6Pʒ؊ĭ`q#e ږFnx4g|2DN 2LGX('Wc?Zjt2 I.Ԁ~JEg3\k)fe<?+ -YM8gy-_[M>gE6 5QX޹0AвXeiVn7-MbhGDOxo\7"|"9 @@<SKW )N@i5# 7>ҪP^GM!G8CNEwy|0;ջ42pbQj"*4#v:]TZK;ӻ-JӄZ@AuuN-M)f=[~8H>`4K <\'$Ӑ/Ș( ̙ls/2qawJ6[6:,4P_@ ^\ar>Q SaMaYS[1Ð^ ڪ P;*Wt|%>ELCJvlON%don1)BW  /ԓ҈2x2UojS HjpΠnu寖wP} +mǶHBۺ}5k q_b+݈NՎ(3jxJQ23U6ԤŤ!TcهuxL# ~nKL C/ԗcnר`w!M`cuǙX$g?ʂwa1 SSǴq+ZƢ?_<H5fC g;U M~&zq4^Az+&VU٘QȶaԊw+>#ŋ T160/k:z 5 Yk&8Qd޿ FXm:ˡ#t!m4=do:r&tɮQMOD`.8NWjc3O{QdGNOMnkXo2[~8&-)݁i N((hjiN?jŤSYݧ2䳉Rer3VobBE$\Qu@/\M%gplhZӜqsN 0b=;!%mf|o!%*ϊ 'Bd\sRzAK从bex%a #ҽ R} sk-ǁ^&d3K'<k=%3o4D D$рvTmm(Fq;U}-TRˀ^Yy8ʩFwW6Kߪ:^˝7)ewKȵ`9&4W,lѝ/dG|^{ gKT9[Z'XAfHDd#_#aa_pmڠs۝,gIKZƮDYC.C&tH2l }%ZF& ZbNa1.Gg& 0**"Lf ::W.&y7s/DkS(`۱pbaG7Eȧ]6--EZ~9_\!|o1?{qJ{DC5@w8{w* oA{Gmw׋汬ܮw9uj+ۉ@ iКb kr+cɾsQ]Vf|~̫IwzR@Ea -|T\jMLx'vW5:2X8z/c0~IĹy@|bv3f0o1h+~C|!:0Y;/;{_AO&UIR5Lא C/B_xڃb"t]ZcwNI߮<[6S:Sju-(]@6|p #^l/zhz&+zxAkg4oKmE 2ٱ7OibqLF̝;b>q])1Si߹rj Ҁ1 0Y㻑g4G.ԷXpH<=hH?g.E$Gq=!nquRݸjUB4'9^jd8t]߱HpoCPFgG$|FVx_\%6: y{iW?0k|~߶7O!"pDBΗ^A$mђN}3R.+LhoMwrNֺHgڲl$xl+)#96 $rr( fOGNnÕRYs ow_yPd*͑.x4r2 ^XObA ?Dk28kͅ3ʉOv^ ^r ɡR۽lgVxyaX +TTH"/ 4ȇCƹJ;=3c-Űn@7aH o ۛ2>rGᤧ]:j]ڑL뫋Hg<`HpTYK,9"bDEf3lꎨy.:q@WH9m|Y3{c>}uٗ;gɵQ8`2ǿj!U"mDMp>.%7TnJ hD8H0􍛂1ʳ<Vre>v;Cr]%V:WYQ%{z{C f xQu2DK4-*I2' ${WP/*i:OuketLZcM,XtY已\=vb5DW#wц+3bKc_K/VEWZ̞C,.ϰa.d\)}8L7PpS!,dYs=Ɖ(zPq"HkO_Vb@: zܶ^63EI?Zftxڸ%^vu1< ɶ{ ߪיO0o";ob>~CgFsBk4Hg-2QƧ7Rq*ȼPvƤޟN˵G+1pJ0xOq1!π ]WJT54.i":Vޑ4kCP\o2gkP.ZhV\$&~mWZ搓*EaE^s?h #we/;2L''jM pirO;W'ߝ4} q;leveѷi~OU4tn6|bÚ4I C-Ay (Ay Lʲ$ߵ1#' 3QU!e5y@K/ F e^e)d_Y@/v)qb Y9`6cEn,g(qiiߛOKYw.*ŌoOC[zޞ`/n)8yٷtJ |/]H Xe&ͨLLE˒sU~ fwtѪv8h^0 YyL!bg1[@lP^UOvDc9:ONVN'dJ!1㪘B8}Wn7fКTpMc&vv a;a>J>Hm5NJiuHji,gd?'>@ M@jdP(zZ@O6W\w/]bܐ1l%J )Kq"-ږw.w v!{Sqpr6Җ}h&- ^s^ k2rLxI;2rc/?CTO}'lipj^dpEW8T&O8Uys˴+JGx!GwRS>jz#r"/}bϸX1yx}.E:vTG&Jt0ԘN=>p|LWG3F؁в::k1Wc^M9bxNo떫0̨m`jU $qo(A;˧,Sӵk4b ˯ z=K4#pQnXǚѐ/  z>U }WjX\0C#X?l/MS۔Lc 44rNL3MV TG6uVZ$]l"GGԧrfs[ ܯ&"/gE3e+ L*oSFG}C!LPC;C;}"q0y!LRRzoK Tr R-|^,9 ] =Xo5sDk[np4 eAO첗=,lO 6eVZfq@?}Z]!~wTzZ ^~. Ksٙ[F4@ϳXN}{[yS7F%O&JyVd } mCWh;NBW :>)K@Z ǞÀkICʠnH%C3ZqBDZ/ijgsWtsi㬑ڍ]ARxvm46ws?k-( wӧv+G{"}s[(՘HY8ʑ"ֻlj-sILPx\\tGBd.:7\I޶ l,/^Q6 س27q WˑMLPzkn@r!l\ |Ȉeq '9^=خJDzS*"̶m%ogK} T=ZEWGQʖZID 9/YI oXB&7:[Q4ed&Ǔ2q~ NHm%E%@rԟx ۶pߊJs'P|J%4B+z|ӂ.|qT8Cyf,E}x|~̡;բI紿c %Zz 1ri&&L~xD KT𸱻\h r{Wcsd)^ؚD]:D,R%:i]`w􈥧ET|Mvv_K5A1 u[]L\ B(Z%BLqRUsGR(7/oe[˪TgJG%zC5*L9S*JpXGq )4Q#dbH<CpQMش ko=56@Wj70dc,BV(fD]K6Ez-9(~ ږyŸ)NM@ :/ FA/[>*US=.!kg;̀i?-RVư~X&w q5DWɮ*O s/{}]D{0ZhMhvV! $P»Ll <#ߺ=4q}%邧AFntwaNEӹ{@P>N-!)8wHQG"ڔ5r&k' N1yHN* k߮;7=E8Q?s#3}z;sY ʘ.n)tcީXs=Ctȓ$#eCIݰOć}&cIQ37M&|<=zRHiٲn !x+n7!sh!3`}6<h9H %Vր%x UVЩ5ygÀt()qW i[>u.NƆȮwEB+*5-=y'} (|.r ڥ="5vI>R7pY >д͒=c+B#ےOzHU5'etꈾἡ5UXB7AѶSJZ]jB@F̌P6<vO jl_Nd)^1ŗ +3/YyaUtfTnpl~VۆOs?oIsg!2.vZJb-iXK$PXUhΚ$(b A&۽TV/$k27~;͑]X>s\@c`2;䖀1œv8>5l|?M3="k̔Hw+|{ݜչbqu dVC)G<#K)* Q~6׃hHJJw ZߙeMTU{wHpxdNSȬP!|]?xr% aqmBuTn&H6yԱJLbE?Ʉ~uo뭶hzz;D##򕼴[A GO'> ,-~rr 3 뉵'4P{w~7l> L[pA9aJ\HTR*fÚU]е0=ML,6W|ޗ - ǿg-Y;>DJUA^EHDhtrm._(M5rey)h2lTBk&%wW.[ 8|"|!ӀhUYhi79<} }ӡPg%S/퉉D\fYb OSo0Die>1:̡rEp=Nc;(W VMy"EF"D2F-rOG.RЄSeތɠQaKkfZ," B"& &q dʨAVbjg=0 *SB̳`&EYC=]wt%쐙[p fAcTCqyZ C$=c3} ^?%c0C=ȧ{/䡥=X=m;k_M{ 4Ե׾bw_Cw@CMLo9RPua{ YÔArPLP,m}&vCI)jH-U".v51Jպ!{F69ڈ@Js!fܪgWLǵLzSU<Wѣ|vj젤z%̫&ޘ zږCʒC,.Bamw^Y뱤p0[0޻N8g@VfivzLz!Keq.dH0iNC.0cۇ9:Z;--&Q2(ޞVqFf̲DxX!Dntݜ'T\Y9&kKRYjW< ,/[/vhI/; *XRRD;eKE)}$r=%\7#T@\a*RK :+M z/rm - ,h{\ŝ>s&.(GN( QPrzB4Mz8%/Ș1X3J̎j$ ~!'/!'vw^:>H^u$W5{N,9eBګj uYkg!D{h[6N(v||C ݃-b`xNynշ*;ϒxsxQHSu1z#\Ƃ8^za& ӾqLKȋ+ !i(/CX,| L<&+DBdz' -J7NG\\[2Z/bi$0_L5c(7D4,y~h!(%`ne[9ū~ K}R0p8.I5YNjU R5sDr a rHYÈo w跞[4D%afpUYv{Fs#rF?yz|z&}} nᰥW-8usJ=`L29kFQjb@fH0PR;oKm ,|A~4MhTQF$]'gxfq.F'υo263/cXBD YEgba.oCK6UGuzK\G[q4}mu+z`{`g ?9Q#-QZg%u:rO1D]f.>`O*e~ט 4I}+G Q.Af# E^/jH \ rgawԠђބ֧OvZQ1C3z5j)Su&]J0,fkt$¨3$qÙI#H5]^Y `U·|+8HB-+?1waT'~GPƚ1rdЫ9Q.`0DIFvXb~n;{ @3Z$2B i,@҉X7%.^NiQ zƷX'%o`*U$ .X?4?T}'% 3T¬{6'$CB(Yƶ^߃Lzi91mK_ƇlifK@xП)&Py!uٍA%#I&gt;QTC8Jq`YԏŨeT;`:Aɷ8L%U[KCXS Srn eU4~>yy_ 5d:W7Q.$.ڝ@T4ďnt 3ll;v!~v5b6B?o G-!9kYk(_؄tm/>I)1ZTAsvVUNwgKTQ{[Mp̄,lV4n@V|!io @\K+NinHBF/!>3zx{~l~@m  \ o1Ɇg^r}lأ@'iy~F.EeJ#L$n ӱ v )؍ijĹu}lb\,Cٲ[թ4VE f/?+`Oq!PC}+O8+0G׈Eڡec뚨-R#:5M׏uB@`lWe>9ޟaANwRJ KUx8s6I5S%O !J^J 5@In1@ۅ@MqVXŪ8=3=<|9ɐ0c=[~X@Fe㋑m,Ԭ{=HA{YA0o+SSgc.'VDf/3q ü`+AeΛ0Qs1zOkZil7IםqHTEF6.,Ga_恦F @! X'ֲ4;ҙ,mDf= ==kE" 9y.'n5H}3h7uQ֚õ*"B stۣM|dSahdԶtd屠2Þ4%o\؊ "g/҇xG\jH!:'=D'(!j4i0}U(ڒM*1LxT)@2OQZ)c!+eE=K0D+lnRsl.dd^͏\|{{fKgLR:WQT Jf$@ mΓ.kK'qzHssWDN3qE-|UA'ɔX T e{ƠWԁ=x9̑bwQhUt I&e:2M; H< .._rϠ4'-im)pHC|iūqs!7K5C;1Pi`yyq Ucź+Dd%!m*Xcx2(1"X1W쉿w6a;3We-ΏvƲr#BO b.)$WrDg枘^[-*OfyubWV2ip ǚ?))ů_,c[pu CvO$2`=.MAA( Q.zq4@T͓D'~Rkc9O!2<2k}3=GvWPS6C61ߘ Ur\@ ]/jpEb&-,ƙ8 &qp&70=Rt @IāZTIqMh[ZJ{ d>Tqگ-9SY:HBbqLx~ {CSrn £^ğk+O=jl4vPΫl+6Wgcr|%]e2^pG-USO35vc}I(uL$Egt{ 'Zѿf7r{Epa+5ćEq]! ;ʬd3uAv~㌃d{ݼf%K0uPt/ 7ktw5-1恘$II .$ʝ,C*'XYEC:pj1&Yt\Qi kW18>F/BOR…[8h&j.r`.^$(lB4hu>SF`8qY!)mC{d٨ޟQ_OnHcEQs/݇V'DΣŀoogĚ]IAWEbVfDzn/cTZ%'g$gJ,zʅdfC=ҙ}7E }>*Fn(QYca)4ƍOg=3EJjKnpof )NHԙ2%.ڿc3|[KˮWgN6Hif `6S~Z^cDd Gfk|De'}ޔ蒲 vO$^٥"-tayӌ&1Y4U(sG$#4L?SEi}t賝3kBW+h\'g*;ov;`@f>=rꉚ-I$!K.pt"09'Qf'Y8g[i gxAMŷ-rR/B*>18sT Sn81rP>D4EȂJ㤊W=wW;!{pEBGȝɰCPJ39R#, sTbIth= `^ݪ:a|CEL.8\,fGk.\& z[w Z|af1Wtk9.HsCM7E^. b ?E5{lYnv6br A^tᴄ)k><#Sl8t942?f1Y[0 qlY284s8r+m+zvfEED154-LjNî{hbwD+Q{8_J6 ]QO et`$yݸ?56\ H<W<LOCAC~ؤR|v[j}5[ªNVq64ڪskikĭt41f;9P2]iSJʡ:nlc9/x.0\:;| !O?opJʔ$*1G@tDag:qptX(lK嶑&*-ڛªr7Bq+V2o@p1'>.j,W & i B@HoEAd"E'>Kpa&gZRW5{UZ$g/9c0 +,혓dEtSYPoK3׶`+e(fccN(8Aʥ\UX[yd.լP {ʬjdaI5{B̧=pLu?wyr{@Fe.ak97@e}G2MMxrY*p  &eE+0.v*Idw`UTkO|Eٸη](Xi'Sf k6 \s%ߏ~p{ahsB7ɷ.7E:Kfײ͏˞܋-7C9[͋IiV oS ('&>Q ȵ9q&V