tmt-1.27.0-1.fc39 A`>AP 6 6_..611,10 3!92d LuZLd϶ uZLƙXu# ZapGҿ֔WO 5/y~\"2'J".F(qU,M}!|{i;Cش>Iv87B_Ϸ [{$^GүL#3]!8vn<2zcr:~*l,@. }pY1aL6ER= R!5$$=+b iPPg{5#\h^6z:U=:`6h[+jɋEC \O1俭{y4Py7PgJ_"FI߂ bb,&Rǯr)e}ZmoRdaaRuRTcqw2\%`,stb]:x"c|lM-XyOTB8LVƽlĨgpR87 rv[G/ Snd3M sV{pn& xd{@he708409a68054dd34715d6ba6c019f92f9e13709ced6b73307ab4d6955ee24479ff585bc2eeea8d8a0930c92cd033e6a0518ee66030204388b603e004730450220483962462cc242db5376e2ad6ff17f9e4568338faab3e69ea267e75f4b18ae9d022100f06c280e78afa0dd8d3e2ceda63be3c8da249aa305fc97d0828f627227237ad2030204388b603e00483046022100d7e1ffce1267bc0223cb932c4e7a34ea356e6c16e51cc357cb14cd6a70277ca502210089ddfa336fc31eb8319ea28f05a74d5775e7519b75f2946833560f3460fb126c030204388b603e00483046022100a065e3dc8987e02f43e3d8168bd3bde7f86330f68e5ad13719ac9ad95c361dfe022100edf5aa8d5f5be4acaef159e31072dbd9112660197d82c35a4ec8b28d7df74d63030204388b603e0046304402205b9fe3fad9bcef8f95e8f23b29105863f7668fc4eefa7a6b9326615fdaa7d1b502203dba8a59f457062f8fa0c03ce7f13868cd6d6437f959dca85f8281bce6a150a9030204388b603e00473045022100afd97b06b19a60623e39b2a667f4ba6863219657e3acce4b222607b89938d0bf02205247796ec873f5e0206217899aca62ea2e28ad2ec43c0f25555c2a80702e82fd030204388b603e00483046022100e798597c39c13c7880a71bf9424bae4318a46e0d67eb3fb6ded3b790bca8d140022100d8d86ca567f7da12f57244f66033f87b21402bd7c9450befb2495e2f7118a83f030204388b603e0046304402201e9b6136df7096ccb62d5d5bf5a92f719a01d516599aa31b2a084724b664dfa002205ea107c9c5640311290ef22c31007d7e78990199dd894ddc707e84ce9fb1683a030204388b603e0046304402204be8c93aabbd51876750de4c8b4da93dd3e1e4ef256c73fae6133060b6ae9bca02204f45da4142c59d8d7ad1c18a7ede24a0e728c1ef9b2fe7690409d76abe863ec8030204388b603e004830460221009240394d0e9b70d166a179444a7dc9d16fbac8d2b7697c6ccb46069a839de64d0221009413aa9918c3cbbdfe046368af55ff8372c6d0c4d611e278f39932f9e5267c82030204388b603e00483046022100992c4388507c8505be1e6f1bee29eb5a5a531c30e519a301f9d0666e5d355bce022100e16b53ad77576afc6c442b5c46c71d7e49977f8873dbe18e8850de8417165b78030204388b603e004630440220378fba9a177d5976971065905ab670e496f658691f971bcac8dc2b09ec652d7b022017a5a7bfa0f595bac3d643a9f987e59246ea619ed2a613f47f1509b31f92144a030204388b603e00463044022044a33ac2d3355a94745c6623176976930de2cb16d590fecbefe5183b3b662a10022012f6f771778c3b36d45ef9b1a21ad4a3010bd4485ff984226682e4ec45df9120030204388b603e004830460221009fde18e98679202d80d47a0ffaf0e1ab373bcdeedae1b4dd1844d2e6d8ad0792022100ea161b9beb76fea94cecdbf68d58f73313bf0565d3942e8c63088276b5444ba5030204388b603e004830460221009b75bcc8fcc81b6e847e351c4ad4f41d89ff394c552967aa312d16df403ae9b90221009b2ae6ba0983a80d4d9accd9c19eca94a04848bd97f08097007c3ff4e87e09f8030204388b603e00473045022100c26ede19ea51c7fbe3bfc5896eac28d7bf94211e07b9b885ee0a2f5cde1f1bfc0220150ffc31687c1887418fd2f91d6bd25ee92e0abd8c3a85c342d03cbca21c5148030204388b603e00473045022100d4f285d965b1d037c4ce250ac112a307dd3986212477ec98b87cf416e65ffaec022022884a2c2802751cbc7283ac1d787a7bbd8d5d34c0d3d67b6ea0e64a84b72769030204388b603e0046304402203e097271ca392c219ebd621626eebbae83f7215ee233b83361bb7319f5eac45d02202f526ea2af23616ca49fc1a146c1fde3b20107b291a98d1c88df3100d2b7fbb8030204388b603e0047304502210094e1e789eb707478043c5c200b589c5d58fb3d5be122eb97a9cb41e3cb7e0cd90220371e3b0f889b25c7b6d42f17c2d02f74b6d02d4d0b7263ad8fdca0fb155e2cc8030204388b603e00463044022067c833780234113deb07abb79ca7ab7e9b7daceac7b9cc1abfaee7284ed34baa022006e9384ed29f49620358c6de7661fa0dc1a47aca67bfd567626d05eb383c26e8030204388b603e00463044022070f0bdeb8e65af8584b04cc54a2064e58f86fcadcab8f7bb910516022701199b02203e206028d4c6239b90241971ccb7ff035fff2c23bc8249cbab38dd253096ad14030204388b603e00483046022100cd8f7aa959110618586762e7ecd694ea3e51d7036cac1431a72969fcdfd0c1d0022100dddc2fdf9d93e0f3dc930fa8a743d3e6a935c359e5d4e6e18e5eeac8c224164b030204388b603e00483046022100ac39937ba67f82bbe8df31e5b1dd9297df9b907d79c0d37697eec991c2d39eea02210087402963458e67e6403bd82d030c080f86685b1ecf19ecbbeac7233a3be2dafd030204388b603e0046304402202d140caa528a8f43644f9c01d5b3fc90cf412ea6710c38186a07db6c2881c0fe02201c0116c09a15712b95f74e629b24d5c59e3454c35696cf3aef54f19b3ebec892030204388b603e00473045022100ea07b77e0399a7e5dc27c6462402fd7039dee1e3cabd3bf6ecbcde26b4b1d75b022047b2d2d4b85bc482dbc89cb38b0112b049b711e96be4a096e3fd3cf2c7863084030204388b603e00483046022100e8200bb9f45ee629a11327a5c47fc55e06999bf88be7c8d9936bda555f4d100c022100a77db1e52e22dc4518548e309af76dc534e2594a3aa60530131f4053bc73b4f9030204388b603e0047304502206c946383a9b5bd78b681321fd1675e7bb405504149abd5fdf1a49162781c0b83022100a2a1733a24528b4b22a7c8d0994242622624133a78313e324224b2f57980de40030204388b603e00483046022100dea6de6e5f72bbc554328a4e4c69ffa25d6ddf158c7818f62b554f0e666a3acd022100e345a2304a35c9ad50acbef175a76835afc37df80a494e4c9abed08a0e286a0d030204388b603e00473045022100d08f3fa74a75980db43414f1e257d7cdc4aa4516f489246d59716ecbfc739965022041a7a766c40d55a8dfa4e6264c3317f4ba876bff49d1d3848adc32db71357f63030204388b603e00473045022077b47d799a19f0391c843a6ee7204621bf1092469e7eb96eb77b2159f00ae731022100abcf6c95a6f709fc8973942128e1586688409934b0fef68ed486edc7233d1c08030204388b603e00473045022100983968147a6b8689863c464511eeb8da36133afb7d641df1561128d6222bf3c5022063bc3e63af8d8869c2d10fbd08597a3cfaea4b2228d8404a8faa7d14ab1d7a9d030204388b603e0046304402204e638789348cf4e7201d5e36a4cdb194db4ce33c632ccfbbbacef977841f4a28022063698265101a779a360f0403345df8070c69fd69b4e35c472aae2e90de47739a030204388b603e00463044022013850e1427b52a1da876531ffa5d823d3758a5a55f070d8dec01ffc087d4993d02204b7f93edd17f7eeab2847e5e3d174ddbdc2db40ecd60df88edda0fc95dacd659030204388b603e00473045022100e7513f05815c97ed156825f529b564328269015a1c8e9c79e1fe0ac76cf5e51a022071f0a9e75152a866447ba860b8c56c0a5ce9fb0275d8bb903724f2493c2a5b56030204388b603e00473045022100aea49b86b62c9d7f6937272f233e3f6a1680972f29ca63d9fe6e3117347c4bfb022043a11f78a3dd56c15806d0a55be7b91f467ce2093a34e3a8c911d3217fef7846030204388b603e00483046022100b23abc6a170ba833a81bd624e5748d41f3a64479def3070de402c4891c6f72be022100adf183616f6a1c3afc1953e0da4b538939039ef111b9bd50d741486bfc33b16c030204388b603e00473045022100adf7a2ee9bb24156568a053157f6638cd307429cd90346ab041e717fa0d67e4902203b7e871128411b9faad00f8c514e6fe3f1aedc518df9c79c64c29bc76bb5cf03030204388b603e00483046022100c3e85c1bc80f52a70b6b1888e99b3546af7500f07e9fc1ad208811831b10b59b02210089e50b267babe294e264bd7e7ff8168dcb770085ce53d64583120abae9ae5f6e030204388b603e0046304402206747ede28fb1e682523ddb66b42d26065474f23e1196a261261f43ef1869bf0302207e23b2268bba48ef17b4ff7d337a56cdfb3c554a1acc789f93b27db1dcee0763030204388b603e00463044022037163154941fc2e04a8dfb2254f6594dde437e02be905a12a70671d85e03afaa02205311f31e89357c603d1c888cf58c1d660da896519ea27d87a33785b60944d2b4030204388b603e00473045022100f9b2de4306df77a51767d5229e31afea52c7e300ec499699a028d56a1936f37002207061c95f48911536cd9347caf8feba7bba02ebb303f573478a78b90f88ea0319030204388b603e00483046022100aee84c4c2c8eac1c90169c1d43129f91485d276e688558399cf0cc852314d56d0221008e8c7fe36ba2e900c6ea37d3d839b87a1711a23b8e581ab7d116eb5142cb3657030204388b603e004630440220391284c36172b4920bfb7de9cccadbf3a66287f10c55869ac517b6415ccdf8fb0220789d5916d0383151e698d9548cb579167f93e038a75404562a4f22fe6ba5984a030204388b603e004730450220787e0c9d411a1c42141ba3e432dfc3dcfccc40cf8c59292bac1b42973481a7f30221008edf3fad80dc408edc7aba05dbbfec6c43c1a0a8eebfd0ab51223827b79a6032030204388b603e00463044022009d2df2668c88a5c6dc1d823f3ba93554ccf5f3a644aa4d105087159025de5c3022005f656bcccc283a9c01b8a4de5be9efeabc569c16a5d71263cb1253c6b092b0e030204388b603e00473045022100b6d8a1213d7aacff5299614b3016ae4408ae6721c6cf9a8629c5028e3b5c33c302202191803ba36032a0c499358a9ff5a189b8010c2fccadafdc44be727c77d03bbc030204388b603e00473045022100956e3db2d71d3d9d48c5df1ce5f0084cd87ac12cef7bc9345ed317685e25fbfe022028c43d6edbb512fa0d10751a5023ac7f5f2b7d283998145369fbfcc385d1aa8b030204388b603e0048304602210098f7190d7200b78f86956091cd6eca35441c25598ff12dc293769b01fb582c12022100e0a379327289f3a6da9d3bc9875aabe33a465b2785ff1d0f1045e5a612b74dc5030204388b603e0046304402207cfd048eeb8baf49f4d072c3f4b3a89e23ec58edd9f5f1b5b74b2f82a02d8666022053f2966f56f7a3ca411887bd53383271f16d17f7c3df9268925b0f0caf742ec6030204388b603e00483046022100e4020fbc2d0cf20435a41295d29c857ba3bec4997aecd571802aa2f10997e6de022100d5329006d1d3c96ee5f3fcf7e55bc7916358a49d5e401cc5bb65001d209e145a030204388b603e00473045022063a7c6d1c3be73db58fee699ceab6769163972fbda38c5fc616c4a9674023c29022100daa3445e5ccd591ee73e05f34fc1dc9bcb39e11e4a55106322e26c6f40d3d6c4030204388b603e00473045022100bb10b5ca950e37a4186292addfb91ad872b88928a5b45eb2e4b2f311d30d6eae0220619b2b73c476dddf696257c6633137d5fd03f7f0d7b81dfd6122ef99dc66ad7e030204388b603e00463044022079e46b0f99685f1e98c83e9ae2e0836d87e9e895b9596456caad723d6ec4653102203f153af825fec0c5f208a3cadb86aa90f70230926281f412a598ed8fb7fe28d2030204388b603e00473045022100f68880a245ba6d8be24c30f092b37651ee145fb9ec53683494dce2ff01aa2fdc02205f8a1e102f51fe1c169967401595d01f0cf116a82691d9408dcecde3cf795259030204388b603e0047304502200a08090b65d3b2a651c08bfbcbcae314a5510c3a86d181889c48dd6080c041960221008ba1807edc996d81fb8aca8ee60701d4ee162555cbdc86542d4485b9ae2000c2030204388b603e00483046022100932913d477ef415650355c732534c08db4eab20ae2069085339082d2212fb312022100f7960bc3fb3b5ee86298fe84ba52583fa42235bbaa4ca16a7837f0c8d45baef8030204388b603e00473045022100ac32b1b76821090057e621952e079deff265ebda489248855d821654b83de0ba022045eda4605457df4eca4b629e3d245367f0399b97a78e187fc0fd8d74fd819686030204388b603e00483046022100eebd36cb0ee3896b8753910ae82a631995dacfe565efeb1020217575a02271a2022100b07e94019d62c6566c881090d3799457919644aa39750f4479284f4d2107c353030204388b603e00483046022100e8b986e7119db214cc6e4c800ec89b07da05b1e86cda7bb18b95ad411102efd0022100acb2856fd5d9d61153259b6516f889604eae6fd522571d7b1dcaf102f001d99d030204388b603e004830460221009df51b933abece1ef17fe8e2b05a08a8c127671c49349b121daae3ddf029481c022100ab90d58a2e5d21e5dce29296a10394e0ef8874b0c86fd08679654eb6c0ba25ae030204388b603e00473045022036c4562d6a30283e0fda8875924a77d7a031c107430fc8b14b489bf455c76c92022100aff51a20523a3ae3f7b911bf5151d5c688420d6e39f2370d15a531a7729373c1030204388b603e0048304602210093897e35cb978a6a91d58c2a55393c0b802712cc42d75a49816ee810b4589caa022100c7dbaba496fdaec872355b4fcbe6a9b64a792afadc130c5328a2048256e73bb8030204388b603e004630440220318b7b1380e86dbfeff01e3c47241bb6a1ad34038cca28c97aab87a9313b60c402205a6b1abfb4195ecdbc5fca66f858af524abdec03f7372d594d95887513d8b521030204388b603e004630440220787368993e1bf58037f593b27fac47c92383514c824c4de8ec1acebc2ab9678c02203966e5ce517d5ded470705aa1cd1c4d6a3d96f3a4432c1e2ca23447c64065def030204388b603e00473045022100cf0f1c0402781f89030b20c952e10afa4ba3db85ba82a927c12e8b282dac707302200b194fa05e67f80898f7f3ce789bc2dd9bcf5335dcf8db0e5ebb896ff254e461030204388b603e0046304402202134b9ba1bffaecbb8e7a0f2561f24237bccc54b75b47b7230801639109ab9e802203227b5d41d0c431e01d70bcfc293fe833cc4afc6317c66f84a51329bd7a6cad2030204388b603e0046304402204f1a3257fbc73224ccc971e82ab98294e3470cad79bd7c711289d42ce85517f302200cec0fb74f6e88436b1923bd3facae14deb8075ddc5d5185a745e3ddddafc034030204388b603e00483046022100b5855b86b4e9d113a231f855686d88b8599e8f4feab35881f5e8a8fd0ea0f8a3022100aee8b9072c2ba9492f65f54ccafc7adc812aaa51368377d9b3da51383fcef7ea030204388b603e00473045022100d48fe0e48dff8f0ab2fe4b8d43876b71db3d852f1de83f1ceaecc63ed393649902204e9c3adcba84e2c1182c32ce6443142966175f80478e2ef113c0d817218a3013030204388b603e0047304502201d3ae9d1b1e9e8544cb5d2c83c742713f374d9fe464bbfcb2e7513731eb2af4e0221009c60c8ea0765c6e4cf1dfe1e008b6d5b326c4b66bf0a4e1ab720953bf6930f7f030204388b603e0046304402202cc122b67e19958e2ebf6e37b58958b8f6ce1f01206471ceaf757e02c3e9ffa402202ec356f60304647f5b23c72a8fe921160003eb2b8a7613299cc8e1ae5d14bb50T~3!92d LuZLd϶ uZLSA.H%e(>;˼_oߞfF +uV+SWG#)1eb-%ir3* iBQ^;ZC%q)}":Ӊx,ZuŸNg^&kQZ s4.:3)Dի@a[A?}/?yhtdv.prKa]j a CtTGfi&c3(cDK;A 2ۇb#iŃ'տE.:du+JFIj7i4`6IqmmCD]P8?sn? +*މE{ZW0^9zLK<Mqnn4'n`]AW_N:$iX:E6b|N)H@0󒙐B^/Й$JpVdUCOF0ivg&bom^Z:Y:?/tF>`>}?md   )&* 9Edjtp n l h g g!!## $ $ ($8$9%H:)1G˼H͸IϴX4Y8\H]D^~1b~dݖeݛfݠlݣtݼu߸vwxy(,Ctmt1.27.01.fc39Test Management ToolThe tmt Python module and command line tool implement the test metadata specification (L1 and L2) and allows easy test execution. This package contains the command line tool.dobuildhw-x86-10.iad2.fedoraproject.orgFedora ProjectFedora ProjectMITFedora ProjectUnspecifiedhttps://github.com/teemtee/tmtlinuxnoarch+7FK*i[3zXWa =.   o A큤AAA큤AA큤AA큤AA큤AA큤AA큤AA큤AA큤AA큤AA큤AA큤A큤AA큤AA큤A큤AAAAAA큤AA큤A큤AA큤A큤A큤A큤dDdddddddddddd ccdwBcd"dccdccccd]q]qddccddcccdwBdccdwBcccccdDccdDccc]r&f]r&fcdccdddddcccccdwBdwBdwBddwBdwBdwBdwBdwBdwBddddwBdwBddwBdwBdwBdwBdwBdwBdwBdwBdwBdwBdwBdwBdwBdwBdwBdwB]r'K]r'KdwBdwBccdwBddccddccdcddSccdddd848b1457a6367f481f3d1d40f62b421823f151bd640a19292cb77762a4986b89fa52227d9b56136443a2075d81f3dc9c20abd40a2fa67ae1fe0c4c5c29f0861da5be69b40e31ce94d9e80767f9f2bf462f0ed319a808e658dc25a7bc10c7e92c4355a46b19d348dc2f57c046f8ef63d4538ebb936000f3c9ee954a27460dd8650607f97dd1b6611a37531fc426530af8eed027c38e977eddec1f27d895837cd6e618a83bd23d1ca9d6905a23393c1dd39b53f454b1212413cb6f2dd8dadcd399866e5810aaa70abae12c644d28eebdfc1de542fbaafcbd176e8d4da9d8bc27314355a46b19d348dc2f57c046f8ef63d4538ebb936000f3c9ee954a27460dd865586ff424f8e932721db3f9096fcd37411cc9ea1cc02a74b96484a9bd717cb94ad8f91fbeedbac1a37e5469b2aedea05b46d958478ce1c5aa52ce0489f394610994b7583bb094aa73cd4d5288c5a10aed64ee1b2e4421831b16e3767424aef5384355a46b19d348dc2f57c046f8ef63d4538ebb936000f3c9ee954a27460dd865337550f311acee1a25673058f092ca3e336e50926dce6fc860c1910c4973c6c44355a46b19d348dc2f57c046f8ef63d4538ebb936000f3c9ee954a27460dd865372bb294ca3f9dad6184c6b4e7616d713703f15bbe49ed615482a61f7d650d8d4355a46b19d348dc2f57c046f8ef63d4538ebb936000f3c9ee954a27460dd86525401aed6b4dbdddb8636f30eb773074468f68e65444db53c81fa9ef601ad6db4355a46b19d348dc2f57c046f8ef63d4538ebb936000f3c9ee954a27460dd8656f1fd6f535de73342a46b2aed439df98dc7ad076eef3ccd68351181597dc17c44355a46b19d348dc2f57c046f8ef63d4538ebb936000f3c9ee954a27460dd8651c6d0dd4490694fee24d51d31c0c486a5922508912f61dd317aa1f632535ce45dc3f4db8daee778b028c445463607de30e24c123b108cdfd9cbd9a86b658046f8364f8b58fa3cb4a3a9a90d7ea1f0e802be4b1dd4431fc91ae04293202cbb4b3cedea6ce5e8e71e74ca58b787fd89524696ef3417440edaea481e180169d787c40188ed9618965bc8afb1238db1f30c4d567c343abeb82a0d7fdcb65ff7441653bfd3c79cba2e294f093509e960153b8faeb41c7bb41b024b716f9cdaf474ebca4b08606cc3260877d2ae53cfa831310bbcf3d375f28bd9a7ae57919c6b6019a4355a46b19d348dc2f57c046f8ef63d4538ebb936000f3c9ee954a27460dd8656a6e2bf1fd01b4533b755b06cf3a3088a9d8ab738742366f3f5a0aa6044b8a554355a46b19d348dc2f57c046f8ef63d4538ebb936000f3c9ee954a27460dd86524652b271f7e21e359d87e379f573b9a12c4c467f746ee25756fb8b6a673e488a4c03d29e2eea222359d33d5472eb93828213c139d3c78865f13865a2c4254e0ef048d29d674efb8f459c5ac735a9219201ae368dbdc579254dd6bdad685ce284355a46b19d348dc2f57c046f8ef63d4538ebb936000f3c9ee954a27460dd8651ba14ae3e3d556a25549680008642710939824bc28e65b3a61ffc37a64a9df284355a46b19d348dc2f57c046f8ef63d4538ebb936000f3c9ee954a27460dd8653dd908d97d72237a233ada61b62c8f18b0bcf0708fe61073cbf88e17ef442c2695da129bfa16e7d1b254db205e8522bf0332d70946dd15154bfa1b80a16a3b0d0d016e506943f79fbcff0c94c03ed3465dd70c2bf74215af4e31dc4d1c9c24ea4caad50f16087d981b53963d8df315a9b9ab953607c37ee5f3615ebdca8c24de4355a46b19d348dc2f57c046f8ef63d4538ebb936000f3c9ee954a27460dd8656a4f418c1a333801953b1f5df1e615dc8a81411188a26b8ca4d98b59367541de09ae0860919cfd5362916c0a69d3e73fdc11617a9900ea2226f8fb03ee72d4524355a46b19d348dc2f57c046f8ef63d4538ebb936000f3c9ee954a27460dd8659c43fd10151ba0b86877e147c5db94f9302941bb093478ee28019878058eb22a2760a756273b62b5f57b85b713f95e604fcc230cfd3e61628e024c26cb147b0a5dbb0b1d2cfcbc1fafca573ea1a6f85de505c12fd880555efff272cbf5c964515ffc2ab3ec006da510f4f8407348e1fa69dd6d7a84c5b0c0f451aca895ec741814f73da665ee97ce552544cf7fec2eaa6560bd00637c97a33f5f80ce65939938b6097b600c32cfb4e4e1d2fa826d1da98ef5176f8916a7fb1d89008d969929d9e8ede0c8ba52fe12154c13d95a3e06da90689e4e36e729d1fc0546990128edd821620fa0201e229258baf7852ec04434e2091771374b7ffb820e0102e6fa766e4628f03370eb9d164be3726145e9b14c51c0173758c7b3d0d1b8552037caeed0fe7791386f3b5f7c66d1fd907d5d1dc4a421e5b7bedd09d8c94b441a0341b4fb4355a46b19d348dc2f57c046f8ef63d4538ebb936000f3c9ee954a27460dd865aa3b57e61ac63eab68dc098aa3832d90abf200ffe69e49e989bf79f17e5413484355a46b19d348dc2f57c046f8ef63d4538ebb936000f3c9ee954a27460dd865b418068ea064d67280673253d5a722cdef48bc6d134d56ebfaf065cd781627b0a5508207c71acb4a4a8109d2925a5254a127bff221307d6b88a7a7ad95516cb1799d6329412c746bcd268b18c998b0d6ab77a85612a7927d9c24a782d2fbb4d164ca0c8ffa1492e4db71fde6026fef4ef0dc35804f87e8a78022cef31f232851c9229c6934cef9f8109bb5f7cbad56102fde06509d4bf17e2d829979916b5efe4355a46b19d348dc2f57c046f8ef63d4538ebb936000f3c9ee954a27460dd86569b758bc08334db55177b8333a3ab5474cba8da1bc1a4928b72b31efe4c1ecb8402bfca667bb39791ecea8965cbfeee42982f80e19b776f75cc4f63bb7f7a2c1f837a8af77786c96d68a73f5bed81d20ad1be9fa812d2498391ba7fd67ee6c6277253316223248e0b56d5b79a8d2a6af59754bd6bed885eaab3259fad1075105801d4dc99f7478db73996001f3abf7e89ddcab881197b77b3d03eb511183b053c73920f8de79cb1053ff7858e4410256f9ad1eb39713a5db214520b8f00254cbdb75cdfd17bdf4d7bab9c80be4b69680f2558b7415c9770ce271a7b09146d612../../plans/basic.fmf../../plans/core.fmf../../plans/smoke.fmf../../plans/unit.fmf../../plans/basic.fmf../../plans/core.fmf../../plans/smoke.fmf../../plans/unit.fmf../plans/main.fmf../../plans/basic.fmf../../plans/core.fmf../../plans/smoke.fmf../../plans/unit.fmfrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootroottmt-1.27.0-1.fc39.src.rpmtmt@    /usr/bin/python3git-corepython3-tmtrpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsZstd)rsyncsshpass1.27.0-1.fc393.0.4-14.6.0-14.0-15.4.18-14.18.92didǢ@dd@dq@d\d9@@c@cck@cD @cbc@b3@b@bobJb\@a a@aUPetr Šplíchal - 1.27.0-1Lukáš Zachar - 1.26.0Lukáš Zachar - 1.25.0Petr Šplíchal - 1.24.1-1Petr Šplíchal - 1.24.0-1Lukáš Zachar - 1.23.0-1Petr Šplíchal - 1.22.0-1Lukáš Zachar - 1.21.0-1Lukáš Zachar - 1.20.0-1Lukáš Zachar - 1.19.0-1Petr Šplíchal - 1.18.0-1Lukáš Zachar - 1.17.0-1Lukáš Zachar - 1.16.0-1Lukáš Zachar - 1.15.0-1Petr Šplíchal - 1.14.0-1Petr Šplíchal - 1.13.0-1Petr Šplíchal - 1.12.0-1Petr Šplíchal - 1.11.0-1Lukáš Zachar - 1.10.0-1Petr Šplíchal - 1.9.0-1Lukáš Zachar - 1.8.0-1- Use `testcloud` domain API v2 - Bootstrap before/after test checks (#2210) - Separate value formatting from key/value nature of tmt.utils.format() - Render `link` fields in tmt stories and specs - Render default friendly command for guest execution - Use consistently plural/singular forms in docs - Make file/fmf dependencies hashable - Rewrite git url for discover fmf: modified-only - Refactor Artemis and Beaker provision tests to make room for HW - Adjust imported plan to let its adjust rules make changes - Get Ansible logging on par with general command execution - Support Click versions newer than 8.1.4 - Teach tmt test create to link relevant issues (#2273) - Add story describing CLI for multiple phases - When rendering exception, indetation was dropping empty lines - Expose tmt version as an environment variable - Fix handling of integers and hostname in Beaker plugin - Fix bug where polarion component is misinterpreted as list - Refactor recording of CLI subcommand invocations (#2188) - Put `--help` at the end of the CLI in the step usage - Extend the expected `pip install` fail to `f-39` - Make `tmt init` add .fmf directory into git index - Fix guest data show() and how it displays hardware requirements - Add lint check for matching guests, roles and where keys - Add -e/--environment/--environment-files to plan show/export - No more need to install `pre-commit` using `pip` - Ensure that step phases have unique names - Verbose regular expression for linter descriptions - Initial draft of hardware requirement helpers - Simplify the reportportal plugin test using `yq` - Add dynamic ref support to library type dependency - Remove `epel-8` and `python-3.6` specifics - Use the latest `sphinx-rtd-theme` for docs building - Full `pip install` expected to fail on `Rawhide` - Add missing name attribute to report plugins schema - Add missing arguments in polarion report schema - Extend sufficiently the full test suite duration - Add support for log types to Artemis plugin - Fix `tmt run --follow`, add test coverage for it - Remove the temporary hotfix for deep libraries- Do not throw an exception on missing mrack.log - Allow injecting credentials for git clone - Exception in web_link() when node root is missing - Rewrite url in git_clone - Add support for rendering error tracebacks - ReST export plugin should accept --template option - Add `role` to the Beaker provision plugin schema - Fix test checking custom destination for libraries - Create plans to cover individual step features (#2216) - Add cache_property for things that are generated but not often - Simplify public git conversion with a declarative list - Spec-based container becomes generic over input/output specs - Clean up logging in `tmt.utils.create_directory()` - Move test framework code into distinct framework classes - Add template option to polarion report - Group discover/fmf options, improve wording a bit - Record tmt command line in tmt log - Add note about dynamic ref to the plan import spec - Use the `Deprecated` class for deprecated options - Remove `python3-mrack-beaker` from `BuildRequires` - Switch discover/fmf to our field() implementation - Lock the `click` version < 8.1.4 - Refine examples of plans > discover > fmf - Override packit actions for `propose_downstream`- Test for pruning needs VM - Internal anonymous git:// access is deprecated - Beakerlibs pruning and merge - Add dynamic ref evaluation support to plan import - Replace self.opt() when looking for debug/verbose/quiet setting - Reimplement the `ReportPortal` plugin using API - Make `Step` class own export of step data (#2040) - Make relevancy/coverage linters to not re-read fmf files - Add a single `tmpdir` fixture for all Python versions - Replace named tuples with data classes - Replace `/` in safe name, and fix prepare step to use safe names - Do not export fmf id's ref when it's the default branch - Move the sync libraries into a separate section - Allow running next plan in queue when one fails to complete - Fix a too strict check for the detected library - Convert provision plugins' step data to our field implementation - Convert execute plugins to `tmt.utils.field()` for options - Cache that beakerlib/library repo is missing - Use code-block directive for examples and code blocks - Add the `show()` method for guest data packages - Turn fmf context into a fancy dict - Enable ruff checks for mutable dataclass field defaults - Create option metavar from listed choices - Document how to modify imported plans - Recommend needs a different option for `dnf5` - Ask ruff to show what it fixed - Bumps supported Artemis API to 0.0.58 - Use `--version` to gather the package_manager fact - Use f-strings where possible - Bump pre-commit hooks to latest version - Fix ruff RUF010: Use f-strings conversion flags - Fix py<38 mypy type:ignore being on wrong line - Move isort to ruff - Enable passing Pylint checks - Fix ruff RSE102: Unnecessary parentheses on exception - Fix ruff PIE: flake8-pie errors - Remove duplicates from ruff rules selection - Fix ruff SIM: flake8-simplify errors - Fix ruff RET: flake8-return errors - Fix ruff PT: flake8-pytest-style errors - Fix ruff UP: pyupgrade errors - Fix ruff N: pep8-naming errors - Fix ruff RUF005: collection-literal-concatenation - Fix ruff B: flake8-bugbear errors - Fix flake8 C405: unnecessary literal set - Fix flake8 C401: unnecessary generator set - Fix flake8 C416: unnecessary comprehension - Fix flake8 C408: unnecessary collection calls - Polarion report set to UTC timezone - Add `Organize Data` as a new tmt guide chapter - Fix emptiness check of /var/tmp/tmt in /tests/status/base - Allow modification of imported plans - Raise error if malformed test metadata is given - Ensure test with empty custom results ends as an ERROR - Fix /tests/status/base when /var/tmp/tmt is empty - Remove `pytest.ini` from the `Makefile` targets - Bad source path for local libraries file require - Remove useless loop.cycle() from the HTML report - Implement basic filtering for the HTML report - Cleanup of "logging function" types - Do not patch verbosity in discover for --fmf-id - Drop enum from HW hypervisor and boot method constraints - Fix enforcement of workdir root in full workdir root test - Narrow type of file & library dependencies - Make web-link test play nicely with custom SSH host config - Use serialization callbacks for last script fields - Save click context in click context object - Add the `envvar` argument to `utils.field()` - Improve structure of the packit config a bit - Update release instructions with simplified steps - Sync changelog when creating downstream release- Revert the `Source0` url to the original value - Use correct url for the release archive, fix docs- Do not display guest facts when showing a plan - Add new guide/summary for multihost testing - Define a "plugin registry" class - Hide `facts` in the `virtual` provision plugin - Cache resolved linters - Improve documentation of lint checks (#2089) - A custom wrapper for options instead of click.option() - Identify incorrect subcommand after a correct one - Remove one extra space between @ and decorator name - Assign envvars to Polarion report arguments - Expose "key address" to normalization callbacks (#1869) - Move export of special test/plan/story fields to their respective classes - Expose guest topology to tests and scripts (#2072) - Enable building downstream release using Packit - Add sections for environment variable groups - Add default envvar to plugin options - Load env TMT_WORKDIR_ROOT when running tmt status (#2087) - Opportunistically use "selectable" entry_points. - Explicitly convert tmpdir to str in test_utils.py. - Move pytest.ini contents to pyproject.toml. - Rename Require* classes to Dependency* (#2099) - Expose fmf ID of tests in results - Use the `tmt-lint` pre-commit hook - Turn finish step implementation to queue-based one (#2110) - Convert base classes to data classes (#2080) - Crashed prepare and execute steps propagate all causes - Support exceptions with multiple causes - Make "needs sudo" a guest fact (#2096) - Test data path must use safe guest/test names - Support for multi case import from Polarion and Polarion as only source (#2084) - Fix search function in docs - Make tmt test wrapper name unique to avoid race conditions - Change link-polarion argument default to false - Add export plugin for JSON (#2058) - Handle el6 as a legacy os too in virtual provision - Hint beakerlib is old when result parsing fails - Revert "Fix dry mode handling when running a remote plan" - Set a new dict instance to the Plan class - Replaces "common" object with logger in method hint logging - Parallelize prepare and execute steps - Formalizing guest "facts" storage - Support urllib3 2.x and its allowed_methods/method_whitelist - Require setuptools- Add `Artemis` to the `provision` documentation - Add artemis's user defined watchdog specification - Add support for require of files and directories - Expose test serial number as an environment variable - Print only failed objects when linting in hook - Refactored metadata linting - Request newer os image and python version for docs - Explore all available plugins only once - Add test start/end timestamps into results - Implement `deprecated` for obsoleted options - Unify results examples in test and plan specification - Convert gitlab private namespace into dist-git url - Shorter Nitrate summary name - Correct the path of Ansible playbook - Refactor logging during plugin discovery, using tmt's logging - Improve names and docs around CLI context in Common classes - Fix ruamel.yaml type waivers that mypy sometimes ignores - Drop some no longer valid TODO comments - Replace '--t' by '-t' when creating a new plan with template - Add a new cpu property `flag` to the hardware spec - Fix duplicate export for Polarion hyperlinks - Option to list locally cached images for testcloud - Log out testcloud version in virtual provision - Use yq instead of grep when testing YAML content - Don't use specific addresses in virtual provision - Polish workdir pruning - pathlib transition & logging - Support for fuzzy matching subcommand - Add new link relation `test-script` definition - Remove `group` from the `multihost` specification - Move "show exception" code to utils - Add missing support for 0.0.55 and 0.0.48 API - Add type annotations to tmt.steps.STEPS/ACTIONS - Support logging "topics" to allow lower unnecessary verbosity - Add support for right-padding of logging labels - Move tools config to `pyproject.toml`, add Ruff - Example to parametrize test selection via envars - Merge run_command() and _run_command() into Command.run() - Install beakerlib into images used in test/full - Don't run `ShellCheck` on tests & decrease severity - Support multiline strings for option help texts - Fix tests run only in full testsuite- Change help text of the `tmt --root` option - Add support for `results.json` in custom results - Proper support for the test `duration` format - Prepend '/' to custom test result name if missing - Document necessary packages for pip install on Ubuntu - Tag cloud resources to `tmt` in Testing Farm - Display guest multihost name even in dry run (#1982) - Pass the `arch` option to the Beaker provider - Use `job-id` instead of `guestname` in Beaker class - Adjust the fix for the default branch handling - Add support to get `ref` under the git worktree - Fix dry mode handling when running a remote plan - Enable the external `polarion` plugin tests - Extract "run a command" functionality into a stand-alone helper - Increase minimal severity of `ShellCheck` defects - Display guest full name in `display` plugin report - Push using `sudo rsync` when necessary - Avoid warning from installing tmt as pre-commit - Add test checking repeated test execution results - Freeze the `yq` version to fix `el8` installation - Update the `CODEOWNERS` file with more granularity - Document current workaround for running scripts - Install `beakerlib` before the `ShellCheck` - Rename `Guest.full_name` to `Guest.multihost_name` - Display guest full name in `html` plugin report - Add test for template-based export plugin - Add `kickstart` to the `artemis` provision plugin - Extract just tar files in dist-git-source - Add missing fields to custom results test - Add shell linter `Differential ShellCheck` - Always try to run dhclient in cloud-init in virtual provision - Fix polarion report pruning and add or fix arguments - Run `chcon` only if SELinux fs supported - Require `beaker` provision in `tmt-all` - Adjust the new `mrack` plugin spec, test and plan - Add `beaker` provision plugin using `mrack` - Adjust pip install to always upgrade to the latest - Move `testcloud` url guessing logic out of `tmt` - Hotfix Ubuntu with virtual provision - Detect correct category when export to nitrate - Add an entrypoint for interactive `tmt` sessions - Fix internal handling of the `where` key - Move logging labels to the beginning of lines - Refactor CLI error reporting to improve readability - Remove no longer needed cast around our custom Click context - Display guest full name when showing its details - Add `kickstart` section as a new specification key - Add more controls for output colorization - Rephrase `results.yaml` documentation and examples - Fix `get_bootstrap_logger` name and docstring typo - Expose guest info in results - Enable `root` login and disable default `core` for rhcos - Sanitize plan/test/story names before filtering - Set default user `core` for rhcos in testcloud - Remove no longer used "err" parameter of logging methods - testcloud: Raise default limits - Update log key content of results.yaml examples (#1834) - Include guest name in execute phase data paths - Adds "bootstrap logger" for logging before CLI options are recognized (#1839) - Export `TMT_TEST_NAME` and `TMT_TEST_METADATA` (#1888) - List supported operators in hardware requirement docs (#1867) - Build tmt usable in inner guests for tests/full - Target test-complement for tests/full - Tag tests which are affected by how=full - Use PROVISION_METHODS in tests - Report individual test results in tests/full - Use Require* classes for collection & installation of plugin requirements (#1766) - Disable tracebacks if default branch is not found - Assign a data path and serial number to each test in discover (#1876) - Convert log path for results:custom - Allow report result for itself in results:custom - Support to import Makefile having '\\\n' - Require `pylero` for the `polarion` subpackage - Fix forgotten guest when Artemis provisioning times out - Turn `tests.yaml` into a list of tests - Simplify the `Result` class implementation - Use `Path` instead of `os.path` in export code - Use `Path` when working with logfile path - Fix use of old `os.path.symlink()` in discover/shell - Add /root/.local/bin to PATH on Centos Stream 8 in CI - Install jq/yq for more readable tests in tmt test suite - Fix Common class ignoring other branches of multiple inheritance tree - Use Path instead of os.path in prepare/install plugin - Convert path-like strings to `pathlib.Path` objects - Change `Plugin.go()` to accept logger and extra environment - Artemis API version may contain multiple integers - Add logging `labels` used for prefixing messages - Adds "full name" guest property for multihost logging- Fix tmt-reboot without custom command - Fix test /discover/libraries - Add serialization callbacks to data class fields - Use own private key for `provision.virtual` - Adds a template-backed export plugin - Polarion export fix component upload bug and upload id first - Convert story ReST export to use a Jinja2 template - Convert export-related code to plugins per format - Do not clone the whole remote plan in dry mode - Hardcode tmt git URL so test won't fail for PRs - Add py.typed marker for 3rd party type annotations - Fixes isort 5.10.1 installation issue - Improve logging by `tmt.utils.wait()` - Check packages are installed via debuginfo-install - Always ignore failures for recommended packages - Merge report plugins options into step data fields - Dynamically find the current Fedora release - Suggest using a pull request checklist template - Include a simple Python code among the examples - Apply normalization callback when updating data with CLI input - Bump pre-commit linters - Flake8, Mypy, JSON schema, YAML lint & pygrep - Use base implementation of provision plugin requirements - Relay 'interactive' value for podman call - Update Fedora versions in `upgrade` tests - Apply `ShellScript` for the custom reboot command - Update the `shell` discover specification - Enable to sync git repo to SUT in `shell` discover - Increase the default `utils.format()` indent a bit - Define pull request Copr build job in Packit config - Decouple logging from objects and base classes - Enable `url` and `ref` as `shell` discover options - Export `TMT_TREE` in other steps as well - Add a new key `system` to the `hardware` spec - Remove default for the dynamic `ref` evaluation - Schema update and test for order in discover step - Merge report plugins options into step data fields - Add a test for hardware schema coverage - Better type annotations of prepare/install scripts - Move `jinja2` require to the main `tmt` package - Define the new context dimension `initiator` - Respect `TMT_WORKDIR_ROOT` variable in `testcloud` - Annotate commands, command line elements and shell scripts - Adjust the `reportportal` plugin implementation - Implement the `reportportal` report plugin - Require the latest `testcloud` package - Define `srpm_build_deps` in the packit config - Include the new web link in verbose `show` mode - Add a clickable web link to test to polarion export - Enhance `Links` to allow checking for any links at all - Drop various guest `wake()` methods in favor of parent class - Catch `SystemExit` during module discovery- Do not prune `html` and `junit` reports - Skip extending fmf context if cli context missing - Connect needs is_ready property as well - Cover setup.py with pre-commit Python checks - Do not leak "private" fields into export - Set guest hostname in testcloud provision - Capture provision error when login is used - Support `TMT_WORKDIR_ROOT` environment variable - Support step data definitions carrying CLI options - Adds flake8 coverage for bin/ directory - Prune irrelevant files during the `finish` step - Add junit plugin schema - Support to import empty key from Makefile - Deleting unsed and duplicite part of finish step - Support absolute paths in HTML reports - Capture exceptions when getting `image_url` - Enable verbose output for `provision` & `prepare` - Add support for Artemis v0.0.47 upcoming release - Remove unused variables - Initial support for passing ssh options from cli - Update specification of the `where` multihost key - Add a simple test demonstrating the upgrade testing - Use custom subclass of click.Context for better annotations - Extend the `duration` for tests using containers - Change common class constructors to use keyword arguments only - Make packit build with the next release.dev version - Add basic test coverage for `tmt story export` - Fix export of the story `priority` field - Read source from correct directory if ref is used- Protect args in rsync call - Set tree root for the default plan tree as well - Properly set the `tmt` script shebang on `rhel-8` - Use image exists to check for container image - Updates docs with example on `adjust` & `prepare+` - Fix test duration enforcement - Skip missing debuginfo packages in `recommend` - Explicitly document extending the plan environment - Fix ownership of a tmp directory propagated to container - Support fetching remote repo for `shell` discover - Fix default `framework`, remove old execution methods - Add support for Artemis v0.0.46 upcoming release - Handle an fmf fetch error in remote plan clone - Do not truncate `RunError` output in verbose mode - Warn user about data erasing after prepare step - Formalize `data` package passed to the `Result` class - Change order of plugin and guest classes in files - Add `compatible` as a new hardware specification key - Add `tpm` as a new hardware specification key - Move the hardware specification into a separate page - Improve fmf-id processing - Add test for TTY state in test environment - Login after each test using the `--test` parameter - Mention version where important features were added - Handle dist-git-sources for gitlab - Fix getting CentOS via --how virtual - Capture uncaught exceptions when using testcloud - Update the overview of essential classes - When following command line --how, do not iterate over step data - Convert utils' Run unit tests to class-less tests - Enable variable expansion for dynamic references - Support beaker libraries as recommended packages - Add `SpecBasedContainer.to_minimal_spec()` method (#1637) - Enable context based plan parametrization - Coverage for tests defined under `discover.shell` - Fix `/tests/run/shell` access permission problem - Add step data classes for provisioning and report - Adjust support for the dynamic `ref` evaluation - Add support for dynamic `ref` evaluation - Add a test for fmf id parsing and normalization - Fix NO_COLOR not being honored by executed command output - Moves common command options into one place - Log full chain of exceptions, not just the first cause - Drop deprecated PluginIndex - Add message to failure tags in junit report - Update the pip installation plan - Remove pointless reimport of tmt.base in discover steps - Do not use f-string as a docstring - Fix use of variable before assignment in `Plan.go` - Fix variable redefinition in `discover/shell.py` - Fix guest distro detection, do not throw results away - Fix a typo in `cpu.sockets` hardware requirement - Make links relative for report html - Review all uses of `type: ignore` and link relevant issues - Enhance ClickOptionDecorator type to announce identity - Update `/tests/execute/upgrade/override` duration - Review all uses of `Any` and link relevant issues - Annotate all `cast()` calls with respective issues - Move the `Result` class into a separate file - Unblock mypy's follow-import setting - Use set comprehension instead of list-in-set sequence - Use `enumerate()` instead of `range(len())` - Use dict comprehension instead of tuple-in-list-in-dict - Replace two more list comprehensions with generators - Replace GeneralError's "origin" with Python's "raise from" - Fix normalization of the `Plan.context` key - Adds a missing import to polarion plugin - Update all linters to their most recent versions - Define CPU HW components with more granularity - Adjust the support for importing remote plans - Add import plan feature and tests - Add type annotations to `base.py` - Fix test depending on ordering of elements in junit XML - Adds type annotations to `tmt` itself - Remove custom yet same implementation of step's show() - Make sure `repo_copy` is gone before `make srpm`- Fix recommended packages handling for rpm-ostree - Add EFI configuration to the `tmt-reboot` script - Fix adjust for precommit test - Fix provision for coreos image - Emit only non-default keys when constructing a test from `execute` - Add flake8 config file for easier integration with IDEs - Multiple scripts for CLI prepare -h shell - Allow mypy to cover the whole tmt.plugins and tmt.steps - Add typing for `steps/execute/upgrade.py` - Fix name & default value of polarion's upload field - Fixes enhancing of environment by local's guest implementation - Ignore plan -n when searching for upgrade path - Document & correct use of class conversion methods - Print fmf tree location when schema unit test fails - Custom results implementation - Refactors internal link handling and storage - Allow mypy to cover whole tmt.steps.prepare - Add typing for `steps/execute/internal.py` - Use workdir with safe names without special chars - Adjust support for installing remote packages - Support to install package from URL - Make sure short option '-x' is covered - Add Polarion as a source for test case import - Print path to the used ssh identity - Add typing for `steps/prepare/__init__.py` - Use generator instead of list comprehension with any/all - Fixes handling of default of --key in connect plugin - Update test data for the debuginfo install test - Add a helper for importing a member from a module - Fix plan schema to allow custom context dimensions - Allow mypy to cover whole tmt.steps.discover - Remove support for the obsoleted `detach` executor - Add typing for `steps/discover/fmf.py` - Fix importing for pylero - Allow mypy to cover whole tmt.steps.provision - Replace blank "type: ignore" with more specific waivers - Use the `SerializableContainer` for plugins' data - Enhance SerializableContainer with default key value inspection - Moves validation and normalization mixins to utils- Unify Polarion case searching - Error out if reboot timeout is exceeded - Initialize workdir thread-safe - Add support for remote playbooks in prepare - Add plan schema for errata and minute plugins - Correct rhts command names in stories file - Print escaped command suitable for manual debugging - Fix report plugin not getting arguments from fmf file - Less eager to disable nitrate case during export - Move `tag` and `tier` to common core attributes - Use `/bin/bash` instead of `/bin/sh` for execute - Reorder step and their base plugin classes - Fix prepare/multihost docs to match implementation - Teach schema validation tests to peek into other trees - Clarify motivation for creating `id` during export - Add link-polarion option and fix link searching bug - Ignore race in last-run symlink creation - Fix polarion tcmscaseid search - Force order of clean operations - Convert status/clean argument to option - Report enabled plans/tests/stories via option - Hint user if 'tmt init' creates nested root - Require `libvirt-daemon-config-network` as well - Add type annotation for /steps/prepare/install.py - Encapsulate created file within script's dataclass - Adds normalization layer to base classes based on fmf - Fixes data class used for local guest creation - Fixes Artemis guest data class link - Making tests/full more usable - Add typing for tmt/steps/provision/podman.py - Add typing for tmt/steps/provision/testcloud.py - Add typing for tmt/steps/provision/local.py - Remove unused keys parameter from wake() methods - Adds types describing tmt constructs when as stored in raw fmf data - Typing /steps/provision/connect.py - Allow raising an exception on validation errors - Inject logger object to base node classes inheritance - Fixes use of SSH keys in testcloud and connect plugins - Annotate tmt.steps.provision - Ask mypy to show error codes in its messages - Testcloud expects disk and memory to be int - Do not inherit classes from object - Use keyword-only init in base fmf-backed classes - Use decorator to register plugin methods - Demonstrate inheritance on a virtual test example - Add a simple hint how to write user messages - Add typing for `steps/finish/ansible.py` - Remove unneeded parameters for step load/save (#1428) - Normalize step data to be always stored a list internally - Display test/plan/story name in parametrized schema tests - Allow numbers and booleans to be values of environment - Give a reasonable error for old data format - Add typing for tmt/steps/finish/__init__.py - add typing for steps/discover/shell.py - Adds a fmf node validation layer to core classes (Test/Plan/Story) - Add missing keys `role` and `where` to schemas - Extend plan schema with all known step plugin schemas - Correcting rhts aliases & adding rhts opt. - Adds a generic "wait for condition" primitive - Disallow push/pull/execute if guest is unavailable - Rename "default how" step attribute to enhance its visibility - Use textwrap.dedent() to unindent docstrings- Reboot has to check for boot time - Fix path inside pre-commit test - Cut circular dependency of libraries - Update 'Develop' section of contribution docs - Precommit hooks to call tmt * lint - Schema loading helpers - Package schemas in subdirectories too - Implement reboot reconnect timeout configuration - Add missing report specifications/docs - Print result for execute -v - Correct import assumption about script - Ask mypy to check whole tmt.steps.report package - Fixing the directory name escaping in 'cd' command - Add polarion report plugin - Add schemas for plans - Write extra-nitrate as soon as possible - Retry git clone without --depth=1 if it failed - Support to lint attribute 'id' - Do not apply test command filter in upgrade - Fix export.py typing issues - Refactor location and signature of Phase's go() method - Simplify abort handling - Backwards compatibility for rstrnt-abort - Add type annotations for tmt/cli.py - Add typing for tmt/export.py - add typing for steps/discover/__init__.py - Convert guest implementations to use serializable container for load/save - Detect plugins by entry_point as well - Add typing for `steps/execute/__init__.py` - Add typing for `tmt/convert.py` - Remove duplicated dist-git-source/dist-git-type - Add typing for `steps/report/junit.py` - Add typing for `steps/report/html.py` - add typing for steps/report/display.py - Add typing for steps/report/__init__.py - tmt-file-submit is a bash script - Add type annotations for tmt/options.py - Backwards compatibility for `rstrnt-report-log` - Support conditional requires with `pip` as well - Remove duplicated short option in tmt lint - Adjust the `rstrnt-report-result` implementation - Backwards compatibility for `rstrnt-report-result` - Set the `1777` permision for `/var/tmp/tmt` - Adjust the fix for the `rpm-ostree` intallation - Fix package installation using `rpm-ostree` - Handle empty fmf file as an empty dictionary - Fix distgit testsuite after tmt packaging change- Require fresh testcloud with coreos support - Bad substitution in tmt-reboot - Ignore "certificate verify failed" error when handling retries - Cache content of each loaded environment file - Initial polarion support for test export - Fixes names of Artemis API versions - Convert FmfIdType from TypedDict to a dataclass - Add CoreOS support to the testcloud provision - Run containers with root user - Retry getting environment file - Test import --general is default now - Add typing for steps/finish/shell.py - Enhance tmt.utils.retry_session with timeout support - Adjust the `rpm-ostree` install implementation - Add support for the `rpm-ostree` package manager - Add `environment-file` to possible Plan keys - Avoid Library url conflict if repo doesn't exist - Check changes are pushed before export nitrate - Add typing for beakerlib.py - Unbundle template from the report.html plugin - Rename `uuid` to `identifier` to prevent conflicts - Use `must` for all mandatory spec requirements - Fail import for packages starting with minus sign - Adds support for newer Artemis API versions - Disable the extra verbose progress in testcloud - Refactor internal executor scripts - Adds "missing" imports to help IDEs follow objects - Add typing for steps/__init__.py - Implement the test `result` attribute - Add typing for plugins/__init__.py - Detect legacy relevancy during import as well - Implement the new user story key `priority` - Implement new class `SerializableContainer` - Add schema for stories - Add typing for steps/prepare/shell.py - Add typing for steps/prepare/ansible.py - Require fmf >= 1.1.0 (we need validation support) - Package fmf root into the source tarball as well - Add JSON Schema for tests - Exclude namespaced backup in beakerlib - Use --depth=1 when cloning git repos by default - Handle missing nitrate user during export - Removes unused GuestContainer.container_id attribute - Every subpackage must require the main tmt package - Introduce dataclasses as a requirement - Avoid re-using image/instance for different values by testcloud plugin - Add typing for multihost.py - Except nitrate xmlrpc issues during import - Exclude beakerlib's backup dir from guest.pull() - Increase `duration` for the reboot-related tests - Several release-related tests and docs adjustments- Command 'tmt clean' should not run rsync at all - Dist-git-source for Discover (fmf, shell) - Adjust the new `id` key implementation - Add a new core key `id` for unique identifiers - Recommend qemu emulators for other architectures - Copy the whole git repo only if necessary - Reveal hidden errors during `testcloud` booting - Use time for timeout handling in Guest.reconnect() - Split `Guest` class to separate SSH-capable guests - Explicitly set the docs language in the config - Kill the running test when rebooting - Extend the reboot timeout to allow system upgrades - Allow selecting tasks directly from upgrade config - Adjust the new `upgrade` execute plugin - Allow specifying command for reboot - Implement upgrade execute plugin - Buildrequire python3-docutils, append plan adjust - Implement `tmt tests export --nitrate --link-runs` - Detect component from general plan during import - Adjust the support for steps in standalone mode - Add results method to ExecutePlugin - Implement a common ancestor for Action and Plugin - Allow abstractly excluding steps from runs - Correctly handle tests --name '.' shortcut - Rename WorkdirType to WorkdirArgumentType - Fix workdir parameter type for tmt.utils.Common - Allows importing jira issues as link-relates - Enables mypy coverage for empty-ish Python files - Adds type annotations to tmt.templates - Prevent infinite recursion if --id is set - Enable mypy check for Artemis provision plugin - Adjust provision dry mode propagation, add a test - Introduce new _options attribute to Common class - Add specification for remote plans referencing - Bootstrap type annotations - Execute script should not be used with discover - Add the `arch` key to the hardware specification - Fix pip install instructions - Disable network access when building in copr - Ignore list for dist-git-source - Remove the obsoleted `detach` execute method - Fix login during `execute` and `prepare` step - Import from Makefile with missing build target- Add multiarch support to testcloud provision - Consistent summary for test export --nitrate - Allow dry mode for tests export --nitrate - Add a nice provisioning progress to Artemis plugin - Add support for the `where` keyword to `execute` - Adjust support for export of multiple tests - Add support for exporting multiple tests - Basic multihost test for the httpd web server - Update multihost specification with guest groups - Add a provision plugin for Artemis - Fix exclude option in fmf discover - Reduce the number of execute calls for reboot - Add support for reboot in interactive mode- Add a command to setup shell completions - Use /tmp instead of /run/user/ if not available - Use separate examples in the test specification - Add more story examples, simplify examples export - Story.example can hold list of strings - Fix traceback when connect plugin is used without hostname. - Adjust disabled shell expansion in Common.run() - Disable shell expansion in Common.run() by default - Build `epel9` packages, update install docs - Adjust the full test wrapper and document it - Test which compiles tmt and runs its testsuite - Add --exclude search option - Correct regex for require read from metadata file - Update document for creating virtual environment - Option to export fmf-id from run discover -h fmf - Allow import from restraint's metadata file (#1043) - Do not disable building for power arch on Fedora - Update documentation for plan parametrization - Make .vscode ignored by git - Drops basestring and unicode built-ins from utils - Fix timeout behaviour in testcloud plugin - Fixes possible test of None-ish CWD when running a command - Remove workdir only when its defined - Adjust the new `tmt plan export` feature - New feature: tmt plan export- Prevent koji build failures on unsupported arches - Check remote git URL if it is accessible - Implement a generic `requires` for all plugins - Run commands in podman provision via bash - Adjust implementation of the new `order` attribute - Implement the Core attribute `order` - Fix link generation in report.html - Improve step name handling - Enable shared volume mounts in podman provision - Add support for multihost provision and prepare - Adjust the dnf support for rsync install - Add dnf support for rsync install - Update links and refs after migration to `teemtee` - Track output for reboot purposes on per-test basis - Fix test --name '.' used with multiple plans - Tweak test suite (duration, centos:8, datadir) - Use `os.pathsep` to separate `TMT_PLUGINS` paths (#1049) - Document framework:shell exit codes - Add `html2text` to the `convert` pip dependencies- Make reboot support a bit more backward compatible - Ensure that workdir has a correct selinux context - Use `centos:stream8` image instead of `centos:8` - Disable X11 forwarding in ssh connections - Fix traceback for login after last report - Use `TMT_TEST_DATA` as location for `rlFileSubmit` - Implement variables for storing logs and artifacts - Adjust rsync installation on read-only distros - Handle rsync installation on read-only distros - Add hardware specification for hostname - Correctly import multiple bugs from Makefile - Remove dependency on the `python3-mock` package - Adjust linting of manual test files - Check Markdown files in tmt lint if `manual=True` - Adjust pulling logs from the guest during finish - Add guest.pull() to the finish step - Update virtualization hints for session connection - Improve error message for empty git repositories - Minor modification of test result specification - Use `where` instead of `on` in the multihost spec - Clarify that `path` is defined from the tree root - Adjust ansible requires for containers preparation - Move the reboot scripts to a read/write directory - Ignore read/only file systems reboot script errors - Require either ansible or ansible-core - Set the `TMT_TREE` variable during test execution - Clarify that 'until' means until and including - Update test debugging examples with --force option - Add `bios.method` to hardware spec - Improve environment variables specification a bit - Adjust the ssh connection multiplexing - Add support for ssh multiplexing- Improve testcloud/virtual provider docs - Disable UseDNS, GSSAPI for faster SSH in testcloud - Use `extra-args` attr for ansible-playbook - Fix el7 provision in testcloud user session - Adjust the instructions for migrating from STI - Document how to migrate tests from STI to tmt - Allow to pick objects by --link - Generate ecdsa key in testcloud - Simplify plugin keys handling in wake() and show() - Add support for Beakerlib's rlFileSubmit - Revert requiring exact beakerlib version - Dist git source can contain multiple files - Symlink worktree for discovered shell tests - Read environment variables from options only once - Correctly handle empty environment files - Use distro values from context for dist-git type - Make tests --name to just prune discovered tests - Enable duplicate test names and preserve ordering - Require beakerlib-1.28 for beakerlib tests - Adjust the dist git source discover implementation - Discover tmt tests from sources - Reenable plans/install/docs - Correct the `playbook` attribute in the spec (#948) - Ansible plugin for Finish step - Thread processing of executed commands inside tmt - Adjust `tmt test lint` test for old yaml format - Canonical name for centos-stream in dimension - Remove obsoleted conditionals from the spec file - Use a fresh sphinx when building the readthedocs - Allow to specify session type (system/session) - Package tmt.plugins to store arbitrary plugins - Ignore ssh connection closed during reboot - Improve error message for the missing step name - Document how to integrate tests with other tools - Use the recommended format of the copyright notice - Update notes about the release process - Update the hardware specification with new keys- Add support for reboot in a reused provision - Solve the reboot race condition - Adjust the current git remote improvement - Use current git remote for url in fmf-id - Implement option to exit after first failure - Clarify and update spec for the discover step - Adjust the multihost test specification - Add the multihost testing specification - Make run --force behave more expectably - Increase duration for tests using containers - Rename soon-to-be deprecated resultcallback - Remove the minute.obsolete provision plugin - Document how to create a new minor/major release - Explicitly mention '.' as special value for names - Add Github Action for PyPI releases - Improve fetching remote environment files - Adjust the check for rsync before pull and push - Install `rsync` before guest.pull() - Second chapter of the Guide: Under The Hood - Simplify the search for step method options - Produce better errors for unsupported plugins - Add more ignored files, categorize gitignore more - Extend .gitignore with a few more common patterns - Export fields of a case should be checked by lint - Adjust the bugzilla support in test export - Test export can link case to bugzilla - Document the support for `open` key in html report - Allow html report to be opened by plan - Require essential packages for tmt testing - Skip the docs test until the Sphinx issue is fixed  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~1.27.0-1.fc39     !"""""!#####!!$$$$$%&%'('))))*+*,,*--*./0tmttmttmtREADME.rstexamplesansible.fmfversionplan.fmftest.fmftest.ymlconvert.fmfversionMakefilePURPOSEruntest.shdiscover.fmfversiondiscover.fmfenvironment.fmfversionmain.fmfhttpd.fmfversionsmoke.fmfinherit.fmfversionmain.fmfl2.fmfversionartifacts.fmfbed.fmfgating.fmfrpmdiff.fmfsimple.fmftooling.fmfworkflow.fmflocal.fmfversionplan.fmfmanual.fmfversionfull.mdmain.fmfmini.mdmini.fmfversionci.fmfmultiple.fmfversionbasic.fmfpluginsdiscover.pyprovision.pysetup.pyrtt.fmfversioninstall.fmfpost-install.fmfsymlinks.fmfversionplansbasic.fmfcore.fmfhelps.fmfinstall.fmfmain.fmfsmoke.fmfunit.fmftryconnectbasic.fmfcore.fmfmain.fmfsmoke.fmfunit.fmfcontainerbasic.fmfcore.fmfmain.fmfsmoke.fmfunit.fmfmain.fmfvirtualbasic.fmfcore.fmfmain.fmfsmoke.fmfunit.fmfsystemd.fmfversionci.fmftogether.fmfversionmain.fmfvagrantVagrantfile.real_prodVagrantfile.simpleVagrantfile.urlVagrantfile.variouswow.fmfversionfullmain.fmftest.shminimain.fmftest.shrun.shtmtLICENSEtmt.1.gz/etc/bash_completion.d//usr/bin//usr/share/doc//usr/share/doc/tmt//usr/share/doc/tmt/examples//usr/share/doc/tmt/examples/ansible//usr/share/doc/tmt/examples/ansible/.fmf//usr/share/doc/tmt/examples/convert//usr/share/doc/tmt/examples/convert/.fmf//usr/share/doc/tmt/examples/discover//usr/share/doc/tmt/examples/discover/.fmf//usr/share/doc/tmt/examples/environment//usr/share/doc/tmt/examples/environment/.fmf//usr/share/doc/tmt/examples/httpd//usr/share/doc/tmt/examples/httpd/.fmf//usr/share/doc/tmt/examples/inherit//usr/share/doc/tmt/examples/inherit/.fmf//usr/share/doc/tmt/examples/l2//usr/share/doc/tmt/examples/l2/.fmf//usr/share/doc/tmt/examples/local//usr/share/doc/tmt/examples/local/.fmf//usr/share/doc/tmt/examples/manual//usr/share/doc/tmt/examples/manual/.fmf//usr/share/doc/tmt/examples/mini//usr/share/doc/tmt/examples/mini/.fmf//usr/share/doc/tmt/examples/multiple//usr/share/doc/tmt/examples/multiple/.fmf//usr/share/doc/tmt/examples/plugins//usr/share/doc/tmt/examples/rtt//usr/share/doc/tmt/examples/rtt/.fmf//usr/share/doc/tmt/examples/symlinks//usr/share/doc/tmt/examples/symlinks/.fmf//usr/share/doc/tmt/examples/symlinks/plans//usr/share/doc/tmt/examples/symlinks/try//usr/share/doc/tmt/examples/symlinks/try/connect//usr/share/doc/tmt/examples/symlinks/try/container//usr/share/doc/tmt/examples/symlinks/try/virtual//usr/share/doc/tmt/examples/systemd//usr/share/doc/tmt/examples/systemd/.fmf//usr/share/doc/tmt/examples/together//usr/share/doc/tmt/examples/together/.fmf//usr/share/doc/tmt/examples/vagrant//usr/share/doc/tmt/examples/wow//usr/share/doc/tmt/examples/wow/.fmf//usr/share/doc/tmt/examples/wow/full//usr/share/doc/tmt/examples/wow/mini//usr/share/licenses//usr/share/licenses/tmt//usr/share/man/man1/-O2 -g -march=x86-64-v3cpiozstd19noarch-redhat-linux-gnuASCII textPython script, ASCII text executabledirectoryUnicode text, UTF-8 textBourne-Again shell script, ASCII text executableRuby script, ASCII texttroff or preprocessor input, Unicode text, UTF-8 text (gzip compressed data, max compression, from Unix)Rhttps://bugz.fedoraproject.org/tmtutf-8f2c98baaa973f825c9fac06e749d049190ff2fb9b97050f5752d512657694eb16b41a9e3aff9dd905eb84874a18fbb7644a861fe41b9d7753b575d955185f5a4? (/h8)@j"Cxq|J}Ql\qĢ&Ia %E)`Xl`)\Oٿ9.u_XRyGN4\ٖaɒq|\oSbU"M ʘǏo+֠CI9ES9cݺ +3cO3߷Zi?d{hӷsLvF^ڌ%qB={Ocu?oK% Upmux`]d\X,FkBLT$,ǷT{{k(s<[2}q TNǙkST+"Q}3ǮSܙWMILQzof|ߪ"A~J$ڄ%oe/ɮ87?FWTˬRtpЖ"-H:\ml뭴Zٖ>I7`ʲ*@Hlt:Oz `88&YxMmo'z) @;X B GgD% Zbsu"^Ć#a*=°['T\5rB˺\c h*Umw\Ȧ]0'-}ۧ/;}ԑ"*KuΚk~hhhbE?Bv ~ RQa\D E?RxU^)JNSzv lÏ-`{RnvzU*A{r9ϭm!銾Dee01aa$@Pz 4qwugV"8liD)lE#1ӌT fG&TjEu p6eUYu)Pg =:r?km \VX>9G8gJ+ enrt:(Иv@[%r[g8WM+t|w3"jGV B>NZ-$WnBғ+4h*UOWy^N]MH,ufqpS aGW!^Vl^*7_/)3r{ެVm6T_;QTK~d3DbI3M$~\j%Z/aM$sWiwECvwٟXBwPj+N>9[doov5\~sqh nE5Cڶ|C}Iw tٝs};v<]Q;=]pU`6' 0;]yi7AOYcSr+{trTGP~N. t#HH>ϜsЖџdp\nB'yX9=ME[95\8@' I UuLOi+09 2ϱCXm?>#d8ϺrVZkѿz< 2NU n8gOn޽tyl\23y Цc/KQz3̞bl8@ׇZ"H@Éy,p(4o]$qrRޞ@@8HL^Yqݭl6WuFM҈` c>-ŧ"y;}l˴sq:W'ڲ2 b>江U&w]P(sQ(mi8{qʌQ)JҠ*QEQ9,qrHĥ, #(K=iEʋDySY4G|F.B!v}urЁ:0HMDVe:w`G"::[JPfXK% zGOf3bqg:s9鞑 SE=UPn x W5 J|ΊmާY𗪘b{%% uD٫ĤR`|/ɖ午ZS2>R.ӚQh Ll#1!J%nq\n㞲.~KhWA@0YsJ>RiYRib$6ֈ03#Z`+bkࡤ~AȠ<ƅEdo?, Jh QsphHhh`Jn܋u3cO̍ y]qdhMJ؆ؗQQ Jթ~[=#x 1b\X**Q氰ﱐB*#[?6 ˃.6]`.Ui{AgTok gU ^Ow0 p:$NH@4M=p9ӗv{xha``dya1RX.(4/]b6Րwyuuyo"ÿY4( V"eQJwsXjs a}0<)٧ ,03fL s V 2Qg1*ᣤ*MuvW$R=FLA:"Ӄ7u=5>x "-G-a4xިjuI P̆1qX>'1b @1  Uvq!6M x!rJ0_ͷ*jU#wi&[[9Yz_5BT,N.K|!z' TpjOs]DI)iٽJ *șiseA.zb9:OFɧ?f>\uuBij@'aYO$+10diu!$8]`nV kumOK"!RQՍ^U ?S& d,!|V⽳ڍrjjH~6֤/ģX뀡H(/ү͊|Ã(%j^7{kJG$ۺq,wdL>0ǶʇD6).x -ڹaK- My#O\gƸIn̶ALsɶ0֝F+xG0EйK Go"ofm+ۯH=ĄHZ ǘ}l&"݅!LA?h!4}=hzi-fĉ.5| 1*3vXm*L:q%PcW0y/mSJ#Hkiq<#UAwn10 _jI'6݋oo>|e F>zn(t7,ڼ TQ;@b*SnlAB6:}Q2@pJπ B<|`ur#z,Vx9 بe7RRm ?}$Vm/ì759c֩pɡ\pL_)Q6cϒ0&<[t~*,XTJ6n-ቢ @k`=UBF BQ$Hn=(-7L? v/?_t_Ye;hS A.ѥYMae#qy:䑝$9QH O$blV? SkKFi J;~oڴ(/p_Bb2$[Ouв(rO'k!j T7ASb^UUKw7z>،IQW/& i;bύfg5I{~#`֍NE@ªwՁ/GR^>9-žg7|'x&?,/ `\-X$7 ){KT'Ȃ+]׭6KΑߙ⑷w g'լOyvj\V`C=f?$ x\u^@nc[.Rׂ'H"=,>vG EJ86HcDq۟QSI]M1<v@IMe\%3B zzlNo@ a!hm)T^H 2X~T&4NWm'Q'xM8BH RtNhr􃽱AQ~^пHaX1]Oޫ,9ס fnjf5 ~xr YBWӀq@6RƘ֤QK" PЖAH}?KAO IegFܷ[{(;έ:ȿ*T٘QgӉa฀T8b*} ! FGySY$pM(.b[@v6)1'fV_8$:b #2BE[ۥʝр$^_-X b6 dKK)gR]BBג>TtwP|6JG f4(ɩe[I?}1WsJC..)B8I!\ih@Qذߠ~gfkR- rB6?c.\JNd=d+,B?xۢ:I}@9[JlG?Un! NRi{h`tM?%T9m3 N"a6&uI?hKf Wcohf*ʚJW,XpP'nj24luks?,=,Z˜U% F|J!t.>SPyhN(S~AZf%?*$$ b_H{_{ǜ?FyG 6)Zf;uxPò$y. V5 6|IWQhޫ[w.q&L[AN:I*jtI7ZL`e0".(CNeټsL:z a k믘nޑ #B:=s @ 3LfVǤ(oAb. FгIiXxvk}C$wArj;wvD !/vNO:ŜBߓݧTL fk!(ӿ.&C[6>qϱni>f7xuAFYS߅*zOL ?̃kS\(Ko!+K iw~$Lywb# G d;`g)BR%RګqC´{b")ūp!(!WOʸJѵWK)MA0O;KuUn OfV#q9mNmozhܕ! ԾԤ0W%{e|Qbp޺23s3R_ SF-L}6Շ 77u0r._Ycnh6J+;̴N-M)ݳN;a R1-Q/o S[ şQs%\Ӌ6c E)|cjsؑHzb\ 8sNFjD`NTCc!&"UrLP>C*8X6D1 x"$4:.BXp%"0;ʒŒۄLKPs~gKw2ȆJW`ïa4\%s1_I9xn 1'H_*N68X^z9M6bXǂzo{G5AvUd(ǫviA){['=t lgE2Dr_-"RJRql/:8hh|iGnZ²*yN]Z(p' =SnV ~֥YrhNo\=B9W/oyXq+Af3 $mQݓzw2u^ۨl l}ɗ?:e5Km/UI瀱giӧ기j}kOꩋֻda0._M"a@~a `T9oT.HDb@$:,G"}(*ƙȱ)aI] !};+83-L`TF FTkNhQ}U:^u pU?'p̤qa4!+Z~yr0M:蓓GNP~TC/]2WSy֓ك*s 'e>*iZroiEa8s¢0gNJ@("p5ўtqwtAd'dOYǀ;,W.M -PA$X7QbDHC|iyj9#9+*F71E+z|dx9} %l٧0uX.jmL-6gjIPj(3_y#9r^Uz2cYЈm 9jqNPBloVGм*O !%`|o/[O{,r?^E^_db⸈|8䌗Е2ЄŹaML^lH7Q`m$kiNVg$/U*JL,"+gnT B{'mߺ[w|CSS掟l Mi|y2Ʉn 4s0Iag7ptgܡ_Bv` ? x,i@AxFQX)RB]K(SY \^%s%kTe4$.WD1].E~.G}<7lP!?ӟ e׼_m>(M) @|5@VgSÂ.eDy{L֑8.\'0 K ZŠc-ݒptF+ *O6=9P hYM`G: 7}0t6ϳ B5 TfPhjëa#3q:Լ薔O:iRvS^C ~c͋7Ǽ$X= Tƾ6@H2EcIןvZ <ȋëmlyURr!I$ *&jGH;><.RlP9 `ߔ5/.­c [acڐV*= z%Dde뤹$ K"TQ6Jda&8ěU:˸.EDPPFDTz!Vd FEʅEռWmgELzGK+C(~U,@  =Ar˪SjU]vhe"8YEXHߋV4mf!tyTӋ,c3I&$* wzDDig]{') Q bN%*B"t'8n**ASF_aė1)Z\<|1UTJ Z4,XŨX4/ᠤ>NEe[9YrQT,OB%"brJqAG(* *X#O ,S@]Kv zj|l87WM`IgTYL#ZW?)ٞ0/ 7V _c64M*wٜiWjzq Ⱅݿ[G yWy0U! Uo$J1/bE)^FBiRY;2ȵi}뮖`^zb[2`}CftܤN0(.W=<%xg|X|hf|UW+_^Ptfft/6;ʃ񔸆,!rOnT\Ř2@C9mH&5!TsrXsoOE_n䳕62ZH2AA]uV7rS}>Xj C4vv ۢRrdm!' >&dIfng:=p'DW2+A<+'/9t~kU9 qU[ʷ9-=hE('V_Vm1] z>t b+3ʷ;`lޭBRy,7V=>@ OUxH"c,hx>J7/OeLn0H{ŤҤg"Ť7#RODz`XMjlBXB$0i^R ݙ~>h/ǬXv4$ xN&2NCQ,cP08d)bn5pUq486\5% .DnO2 =wUѨ*[sM/`{=G:dͩR-tT`@Ѓ A(5/׈*d(֋OR򰅫\t_. Be"Ot1F >yӾZq (ClOt2jk2f&CwGW(nxə-BGK, -IɊ$Z0tO t[[`Vypſ~af$R`"Q=~!V*\G4⒭Q33g L*G2Ce R.!vv=WRޯծş2 .'m?u\8$ Q;$J640HOt't@+|s /m<\Vmw fvmaqNyr! TsE[3oCN%#}k6>.=aVa8\}l.@'eӵPɸx"GfF@v\M#pzz{ذ]"K@W4ea^d .q(&HHk$ ].M%,ϔY0BU|U0DFۛ3Xɂm-\ npqSo* ݵ'we(;?P|gڮ@?(0%pΡ /th!+L**vbx:_׷Fu͸d:gl2I%M0€HMѶMΣԼ[4aH2& |;q``#H Dz.CXÓ#SYB[ZT6o/ '<垼xX@2R;`>^k,tI dBoBC\Mȇ?6YV~%[O 8LńjܴOv̯rSy-DŽ՝cZ,2ns8 C*laČ=ݪ>9cIBF@DPNbi/͚d5+ 1Dʄ@i&u&윜rEۓa13Ҙ>pfyb݋I}z6th&G03䋫rEU@<\q>98ˢ DlWzZJY.k/e&WP pr୽:Wal,;Ъ|"P 3a%b?jbdJI1D!IhVx:T))9HzإdUz1 d ǀhF#IuЦgt60]\`cmxt]I`r׽:Ǜ|'3k,r'呌9{ߤ䫫8V# F,OBayLY'Z󒴹ΊK^#-Km*-N6A}(kXÙhe!m涢VYa6u!q8C[!8A )!*u n%r= }`,g3M~|nOV++}ɣ2O4;{؊FYjwMjQɇY+tIMG@Bs_ ̂X 1Fn"_72eu;2VMQml%m$I̝C8\o34Lc2pwR jbv؜# n`%;aJ \VPdu@Ġ'p\}2<3*x+z%BEECB.%7Փ P81_;Yɤ|txe qv/Z=óDD8r9b׏:1_ [>| l|/ &43 K}8惝>EU^Y?\lI,l|b/iö aC~"YU?Dp)3o +/yJ [h5H6k|hvbs7i}m7Z&T2h3ԡ(]91x\N(\ ,ze'Vїmej E C;J1W xoU-2DcEè)P)!ASu#x}/kVtgde㹳@B^ +cfRk~*,dF㜾$$;?R.Af`28E>g'9&vz~$Y(:qayifÝx@O!eP{ s&!pA)ri,9 )h9M1m\ncd͍?si0uW6?aRrAx^"~*BN&zzs|AYҁr耙EfGQN \P(Lj^ ػE#ׂvoJ*Vu[_0 ̢,UQ64[T(WzeDLHP#Xu {DHgS}:.6>*A+쏼~]D/5]9q't 9p:Jjbls٥2Հ[C\ACP,XxXb0˲?p,fX8E9RQ( EqPԇeuX$6Rpk *t@0hHȃCw:r_iU8p+;*AdY1AUG?F^TPwQ6_ rq7>xQgT/L!$argn>,Sˤ_T,ڙ,V:}E1 9Y~`U5p!I=):5]OaL$eƂW0bArRhKXŹgg\*(}.0Z 'Z<:܈7@ZVh0]yCE|#/_j1ckˎhE@aA(01D+2~hW4ɘɜn)<5°I¬3|c?D&s,gX `CdSQ`n44E"Ǥ9t=+ϹM\̙Nfϩ.;y4Vްg#􋤾*tjL"X&IC$x|ge*ց*M܎ݶag0P#G,-I|w V=#ŶA7w_1Mi)l΀GY4B>]p8wDge/>W[^0J4,ƅb@Q YP:ڻW6QN ڡ<ŭ")R{:sԷ =GAY|vM쩨HI^پaR%di|p4 V9HTO"PQwL)(}?HDCS_.|CV+*cFHC5iDŹ{Q w4^[TCqF~q˹l0׀1v )~:vTwFChī`Ђc=6c3!*pg8!6Nvv<J7e 1T=P-Inдdz-`A~0 hhI(-\ ]`Ǝ щ\3ٙ8.{U!=*j>r4~*הk;[2գ3Kvc7Etk? lzk̥דQ;uMvP/Px !߹T#ji9iPyB>;'wMx*`FR †SO~1ߺTy[/q@uh2C  3y@SohV6H:κOnҬWcC" &:Z]aɽz}]k 8)۷%M_ԏ\lqC+x:5\Y> R дp~Gzt $-0WDrGI,AI1 -fI6.\q߯ _yrQZ!j5,Z +,;CG8v =w2hyYsEoZ{Sw5xz5 w{.Y=(*%a}?^̛9Eb߁Ѯ QBb) U qHJtFDDd$H$$itưN=|YX?ޕYnkRC@;vzH+'>Sx1tB0!=cj.$fy:A$̡Övy[X. ]99d-mA> eO1ͭ(.RJOQo6NfBdXH"hJ4U8A!W./R| \ïҧidKx><<%]g0 XgMn}'>R_1wNZ;fæI*:ܛm1\wL4;Mi/6Hn2ڧi#͙e+Of}4ud{=`Hu|* ,\h-CPo@Y{5)uA?@oldImX&@^Wg#1t~K͸І[6F->_a TlH۽H@g'R$3#_8_nJdʝNXn2 }:2+q2-^}ZВ]玬ǎ~l`w&n#:kdr *xp^y_C)E[M %I/8IxF{ĉ[ D/Wmi-_qVvg]@@P {G7ήRGߙXo8HX9.Ub T6 QVG6nQ;7$l@-p?!h z51aDaF 73e:kK"j5Tf)W$ᙰ5J DV;*OF@Q|_ uTDUAR/%QHedۺ&aSrpB,r >m!?F:KkU&MqeAcjmn2>6 ~%%.ENF8GV,p,lfڀFkY<[ā!պYZi79==ȳU si3T7:W&Y K.dtV٦<_L '2Mp^!j4ngjѱaVXǐ`Z6ey֐t0 )1 2J+Q>@ ,OԵ񌼁Gkt.XfB iǧ׹^4jFe(m@#dfe-kt$BkR!Ze[P$jp``Dh:0k@m%ČW ]d_@S }}dT<GS[&1zҶʝPc6dztr7%C{YC\;شf3j rkq'qN7MZEٖȂ#B5 (kzCMꬢ%SzJ9A9*]gCbmx< EEtژs28'n@l>ze0b0]f)'&)xU,3άL:VsjW2x3 t:o|ZlԲor^\^ܖ8AcS^uVXEW껩Yu^@XY"Dof0[nsPv֝9R?.qҢh- /8KG#.0D#6}(n:55ZǂcT&mx";=0lKu2@ ijr*jWNK'yK OTD=r~q9'.N+%3 :`_xGQ']8Rlv?(R  ~tvy:NM3}?c\Hřօ h}tT~&Y̜ A3#SG@Y,(sliҦ؇07Q/ q+rP?8APmrvPl~QpGoAx{=(ߒ) S{,>#/WGMNK&d|pApW223%/Gxt/8:[-[ Fz_bzʬ#PkhsM"K^x ƺyv;g/bIQtr(}X4o ؑ4y?Ģ N%Cs4qHa?%ݘݒcKGpB|X~6#c9s @^2~Pb56Bna5XpjR-U@<ǝ}ٗdxZ]ʶW5cFaѥ.XtQT^R.KF~vXE\/0pk\#:LT'f#``a6R.KSD7GѢ$7`Pq`HYRG10~29^$Vb2滠_[HYups!"-"l]gek]! Rcȡ@Hm]|w-e ?S9݋oCҝفE7@0Eft]nlsm*=!+5p,GUgQRq9ܞ"p=#88EYA4'毎]Iq@>FJdOv]2r~͑ǂ R\LTl{iҰ!GƮ4EOnz׀(f{gHE;q `^]MFjݜcp7ېH6 !+Wřg%QM1M3L1csW-I[S)5G|<9:= |F9 #c 5]ZWHa P-;ϸlB H9"fRMq|n B Q?R#`!, Ɂ ef5pNZg+,U~ϐCk^ º_ PdϹ>bc!}ӮzShӠw])R Btu%?R‘_?k}1fO@)8 D4]_*Mux9<%3Ud%' Oݩb,ozhR?q[$L?{M^'W2ҟl>}ܤe],.Ӫ=i/`5.@>?EI>U6Os6jV. u^Z­C/\D-dDnꂽjU+:,B0pƈd(eSe/^N<1UdjZ.e5aaZa_Hv8}d٪#M|$'8Ƚ"1rVA! 'Z5BF>PhA[rkm2Q'W`8.#wu}IJQ\ʔ.n7=pF$LZKs]ܗŚ"SΖI'E*:x7o4g-J6$Z_}/Dy vwor]rg3n/;*'1Og. WRO" EaP &\fَ4Twh ͦ8t%@C 8DbsX9> $Ù>U;=x fEB'pd?s5w~ůM9Be0Go5w! ~nE>ȁ:`R\r1G\(_ DS̏/4KU}U9UJ;@ZuC8J ˲D&O DA-y>+fr:3yy0z D܃u>:jqH?C^P yM"E`%|0PR +:vX`-WT5wP8Vu[ghz,Ti 0YgC͵e7P܃nԔxjt<kjR.Dr4miqU>#\jPDVޝ RVZB"tF=\ z}PیTwcKN&Aؼ.|cUL+VJ]niP f8mFncJ9/ F\W>:z8Q㚉%m}׽[G,0[5G.BK2/0cd_6ܯ[^aoE4ʼnS,R 0~3v̲`*ڠJ;7䓊5IX8i9MzD-gz3]^m簢0| ׃ y4+ d4.2h쪴j].j2\Kd4S\qVL~) sSw1uN )k6y"qyI^h>3qzDm^#ƫ@GijE ݒ›+p{5z,qVdmTqA|)?J >iD ʃWOWkk@ekt?cV+xҭuS}RxKz##ZwK x>,9+{\ B7tD)hY"_w[z[gk˩Zxyt~hrqM&غ'j;jkzu @G$]t_WT-5G5w]! r3K<'J@efIfyë1HDjv5}'yf8x׹&rc)!uS kUθRhDi>2*wLM`(4{Ue DYtOaޥnrǜ߇'&kD/ß^*Oǁ_г}|9ٕ(LBI@bHDr4~:p<€ZCML8F\Z^ p=Y6܉ަ&Qjo?IC6Le@^?O\頤l2O:mkYRO6A:}ڵ\܃1 7D گw0 _`cÒШ뮿LJL/ F 5/e?mk]Dn)I G'z\w/>Wҵ  i]+A(rImED(Fd~G9M(3y fj7ja 9(7A!J`mDI=%qc9vfZfbF(P X}@/ؓ7hlj89pH< DiV|W -z4VꤼL0@ez9XLdZ ̼Ѻn-^|wr{lß )A3IbW|GӌDWa(/7pqϭνB V>cmt.^Ow5a4Ş${Uי8dwU=#@{:ӆ#[ stt2z vlYVrX̎4mĂbIBh'*c%`(.=:)~2kMt/{{e!+e1IڟLn)˗2m Hag;2Xw\1pcce"AbN;K6UETWMn8I}\$MU?d(~YH\li;#yzp5_]W`3wJjT"b#yq'Ij&:\FK4b =>1̵@qJI]m)n2Ԫ|%p7:w\XA`lg42=Y ٕL"Y{BN *!B="*xcUFKB7 A>.bɽJ?Yc\[@gJm5u *"RTRNc\;29(ɜmoCS4cڄOV=ƁS'68L&>IIRr^QB/CZ`JTBRoW04ƒcBsvuFWװÃO,\8Ϳ:5?5 yO.R pa! Q5nWl]d<>t-<=|V:y]츘jlbaJ$x\'^EiioLo;zXbhI780c&͂2E8cp :a? NbR!!!2#>2q01 1H ""$ !lu<ɱ,u_" z7Tq Y,6wa G?U`+Qf 'u3 ;6ZAk|(j.#r(u&lb"h*ˋ*'T?_4A%rH$)˱[DKS/GpU<88~z`f50.ݷWU|)S=gWU ?PbemJ_RbGe}i?dICٽ.ۦ|N\ݾbqI'Y( 4