From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by mail.openembedded.org (Postfix) with ESMTP id 504AA782EE for ; Thu, 27 Jul 2017 16:08:53 +0000 (UTC) Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by fmsmga105.fm.intel.com with ESMTP; 27 Jul 2017 09:08:55 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.40,421,1496127600"; d="scan'208";a="883451634" Received: from orsmsx108.amr.corp.intel.com ([10.22.240.6]) by FMSMGA003.fm.intel.com with ESMTP; 27 Jul 2017 09:08:41 -0700 Received: from orsmsx163.amr.corp.intel.com (10.22.240.88) by ORSMSX108.amr.corp.intel.com (10.22.240.6) with Microsoft SMTP Server (TLS) id 14.3.319.2; Thu, 27 Jul 2017 09:08:40 -0700 Received: from orsmsx113.amr.corp.intel.com ([169.254.9.9]) by ORSMSX163.amr.corp.intel.com ([169.254.9.188]) with mapi id 14.03.0319.002; Thu, 27 Jul 2017 09:08:40 -0700 From: "Wold, Saul" To: "trini@konsulko.com" , "openembedded-core@lists.openembedded.org" Thread-Topic: [OE-core] [PATCH] image: Convert vmdk/vdi/qcow2 to strict CONVERSION_CMD types Thread-Index: AQHTBvKcgkTcitT6mU2NxKVtdCHO6Q== Date: Thu, 27 Jul 2017 16:08:40 +0000 Message-ID: <1501171718.27323.389.camel@intel.com> References: <1501012696-2666-1-git-send-email-trini@konsulko.com> In-Reply-To: <1501012696-2666-1-git-send-email-trini@konsulko.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.254.187.78] MIME-Version: 1.0 Subject: Re: [PATCH] image: Convert vmdk/vdi/qcow2 to strict CONVERSION_CMD types X-BeenThere: openembedded-core@lists.openembedded.org X-Mailman-Version: 2.1.12 Precedence: list List-Id: Patches and discussions about the oe-core layer List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 27 Jul 2017 16:08:54 -0000 Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-ID: Content-Transfer-Encoding: base64 T24gVHVlLCAyMDE3LTA3LTI1IGF0IDE1OjU4IC0wNDAwLCBUb20gUmluaSB3cm90ZToNCj4gVGhl IHZtZGsvdmRpL3Fjb3cyIElNQUdFX0ZTVFlQRXMgcHJlZGF0ZSB3aWMuwqDCoEFzIHN1Y2gsIHRo ZXkgcHJvdmlkZQ0KPiBzb21lIHNpbWlsYXIgdW5kZXJseWluZyBmdW5jdGlvbmFsaXR5IGluIG9y ZGVyIHRvIHByb2R1Y2UgYSAiZGlzayINCj4gaW1hZ2UNCj4gdGhhdCBpbiB0dXJuIGNhbiBiZSBj b252ZXJ0ZWQgaW50byBkaWZmZXJlbnQgZm9ybWF0cyB0aGF0IHZhcmlvdXMNCj4gaHlwZXJ2aXNv ciB0eXBlcyB3b3JrIHdpdGguwqDCoFRoZXkgZG8gbm90IGhvd2V2ZXIgcHJvdmlkZSB0aGUgYWJp bGl0eQ0KPiBmb3INCj4gb3RoZXIgZGlzayBpbWFnZSB0eXBlcyB0byBiZSBjb252ZXJ0ZWQgaW50 byB0aGVzZSBzYW1lIG91dHB1dCB0eXBlcy4NCj4gRnVydGhlcm1vcmUsIHRoZXkgYXJlIGxlc3Mg ZmxleGlibGUgdGhhbiB3aGF0IHdpYyBkb2VzIHByb3ZpZGUuwqDCoFRoaXMNCj4gZHJvcHMgdGhl IG9sZCBzdHlsZSB2bWRrL3ZkaS9xY293MiB0eXBlcyBhbmQgcmUtaW50cm9kdWNlcyB0aGVtIHVu ZGVyDQo+IHRoZSBDT05WRVJTSU9OX0NNRCBmcmFtZXdvcmsuwqDCoFRoZSBlcXVpdmFsZW50IG9m IHZtZGsgaXMgbm93IHdpYy52bWRrDQo+IGFuZCBzbyBmb3J0aCBmb3IgdGhlIG90aGVyIHR5cGVz Lg0KPiANCkkgbGlrZSB0aGlzIGFsc28hIMKgU3Ryb25nIHdvcmshDQoNCldvdWxkIHRoaXMgYWxs b3cgdXMgdG8gZnVydGhlciBjb2xsYXBzZSB0aGUgbGl2ZS12bS1jb21tb24uYmJjbGFzcyBiYWNr DQp0byBqdXN0IGltYWdlLWxpdmUuYmJjbGFzcy4gwqBJIGtub3cgdGhhdCB0aGUgbWFnaWMgbWFw cGluZyB0aGF0IGhhcHBlbnMNCmluIHNldF9saXZlX3ZtX3ZhcnMoKSBoYXMgY2F1c2VkIGNvbmZ1 c2lvbiBpbiB0aGUgcGFzdCBhbmQgcmVtb3ZpbmcNCnRoYXQgbWFwcGluZyB3b3VsZCBiZSBwcmV0 dHkgYXdlc29tZS4NCg0KSSBhbSBzdGlsbCBsb29raW5nIGF0IEVkJ3MgR2VuZXJpY0VGSSB3b3Jr IGluIGhvcGVzIG9mIGNyZWF0aW5nIGFuDQpib290ZnMgaW1hZ2UgdmlhIHJlY2lwZXMgKHNpbWls YXIgdG8gcm9vdGZzIGltYWdlcykgdGhhdCBXSUMgY2FuDQpjb25zdW1lIGRpcmVjdGx5IHJhdGhl ciB0aGFuIGZhc2hpb25pbmcgaXQgb3V0IG9mIGEgYmJjbGFzcy4gwqBUaGVuIHdlDQptaWdodCBl dmVuIGJlIGFibGUgdG8gZ2V0IHJpZCBvZiBpbWFnZS1saXZlLmJiY2xhc3MgYWxzbyENCg0KU2F1 IQ0KDQo+IFNpZ25lZC1vZmYtYnk6IFRvbSBSaW5pIDx0cmluaUBrb25zdWxrby5jb20+DQo+IC0t LQ0KPiBUaGlzIGRlcGVuZHMgb24gbXkgcHJldmlvdXMgc2VyaWVzIHRvIGNvcnJlY3QgY2hhaW5p bmcgY29tcHJlc3Npb24NCj4gc3VwcG9ydC7CoMKgSSBoYWQgYXR0ZW1wdGVkIHRvIGtlZXAgdGhl IHZtZGsvdmRpL3Fjb3cyIElNQUdFX0ZTVFlQRVMNCj4gZm9yDQo+IGNvbXBhdGliaWxpdHkgc2Fr ZSB1c2luZyBJTUFHRV9UWVBFREVQX3ZtZGsgPSAid2ljIiBhbmQgaW50cm9kdWNpbmcNCj4gYW4N Cj4gb2VfcWVtdWltZyBmdW5jdGlvbiB0byBydW4gdG8gZG8gdGhlIGNvbnZlcnNpb24uwqDCoFRo aXMgd2FzIHdvcmtpbmcsDQo+IGJ1dA0KPiBJIGNvdWxkIG5vdCBnZXQgaXQgdG8gaGF2ZSB0aGUg c3ltbGlua3MgY3JlYXRlZCBhdXRvbWF0aWNhbGx5LsKgwqBBdA0KPiB0aGlzDQo+IHRpbWVJIHRo aW5rIGl0IG1ha2VzIG1vc3Qgc2Vuc2UgdG8gbm90IGhpZGUgdGhhdCB0aGUgdW5kZXJseWluZyBk aXNrDQo+IGNvbnRlbnQgaGFzIGNoYW5nZWQgYXQgbGVhc3Qgc2xpZ2h0bHkgZnJvbSB0aGUgb2xk IHZtZGsgdHlwZSB0byB0aGUNCj4gbmV3DQo+IHR5cGUgYW5kIHRoYXQgd2UgY2FuIHNpbXBseSBo YW5kbGUgdGhpcyBjaGFuZ2UgaW4gZG9jdW1lbnRhdGlvbi7CoMKgQXMNCj4gc3VjaCwgaWYgdGhl cmUncyBhZ3JlZW1lbnQgYWJvdXQgZHJvcHBpbmcgdGhlIHR5cGVzIEknbGwgaW5jbHVkZSBzb21l DQo+IGRvY3VtZW50YXRpb24gY2hhbmdlcyBpbiB0aGUgbmV4dCB2ZXJzaW9uLg0KPiANCj4gwqBt ZXRhL2NsYXNzZXMvaW1hZ2Utdm0uYmJjbGFzc8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgfCAxNzEgLS0tLS0tLS0tDQo+IC0tLS0tLS0tLS0tLQ0KPiDCoG1ldGEv Y2xhc3Nlcy9pbWFnZS5iYmNsYXNzwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqB8wqDCoMKgMyAtDQo+IMKgbWV0YS9jbGFzc2VzL2ltYWdlX3R5cGVzLmJi Y2xhc3PCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHzCoMKgMTIgKy0NCj4g wqAuLi4vaW1hZ2VzL2J1aWxkLWFwcGxpYW5jZS1pbWFnZV8xNS4wLjAuYmLCoMKgwqDCoMKgwqDC oMKgwqB8wqDCoMKgNiArLQ0KPiDCoDQgZmlsZXMgY2hhbmdlZCwgMTAgaW5zZXJ0aW9ucygrKSwg MTgyIGRlbGV0aW9ucygtKQ0KPiDCoGRlbGV0ZSBtb2RlIDEwMDY0NCBtZXRhL2NsYXNzZXMvaW1h Z2Utdm0uYmJjbGFzcw0KPiANCj4gZGlmZiAtLWdpdCBhL21ldGEvY2xhc3Nlcy9pbWFnZS12bS5i YmNsYXNzIGIvbWV0YS9jbGFzc2VzL2ltYWdlLQ0KPiB2bS5iYmNsYXNzDQo+IGRlbGV0ZWQgZmls ZSBtb2RlIDEwMDY0NA0KPiBpbmRleCBiNTJkZjlmLi4wMDAwMDAwDQo+IC0tLSBhL21ldGEvY2xh c3Nlcy9pbWFnZS12bS5iYmNsYXNzDQo+ICsrKyAvZGV2L251bGwNCj4gQEAgLTEsMTcxICswLDAg QEANCj4gLSMgaW1hZ2Utdm0uYmJjbGFzcw0KPiAtIyAobG9vc2x5IGJhc2VkIG9mZiBpbWFnZS1s aXZlLmJiY2xhc3MgQ29weXJpZ2h0IChDKSAyMDA0LCBBZHZhbmNlZA0KPiBNaWNybyBEZXZpY2Vz LCBJbmMuKQ0KPiAtIw0KPiAtIyBDcmVhdGUgYW4gaW1hZ2Ugd2hpY2ggY2FuIGJlIHBsYWNlZCBk aXJlY3RseSBvbnRvIGEgaGFyZGRpc2sgdXNpbmcNCj4gZGQgYW5kIHRoZW4NCj4gLSMgYm9vdGVk Lg0KPiAtIw0KPiAtIyBUaGlzIHVzZXMgc3lzbGludXguIGV4dGxpbnV4IHdvdWxkIGhhdmUgYmVl biBuaWNlIGJ1dCByZXF1aXJlZCB0aGUNCj4gZXh0Mi8zDQo+IC0jIHBhcnRpdGlvbiB0byBiZSBt b3VudGVkLiBncnViIHJlcXVpcmVzIHRvIHJ1biBpdHNlbGYgYXMgcGFydCBvZg0KPiB0aGUgaW5z dGFsbA0KPiAtIyBwcm9jZXNzLg0KPiAtIw0KPiAtIyBUaGUgZW5kIHJlc3VsdCBpcyBhIDUxMiBi b290IHNlY3RvciBwb3B1bGF0ZWQgd2l0aCBhbiBNQlIgYW5kDQo+IHBhcnRpdGlvbiB0YWJsZQ0K PiAtIyBmb2xsb3dlZCBieSBhbiBtc2RvcyBmYXQxNiBwYXJ0aXRpb24gY29udGFpbmluZyBzeXNs aW51eCBhbmQgYQ0KPiBsaW51eCBrZXJuZWwNCj4gLSMgY29tcGxldGVkIGJ5IHRoZSBleHQyLzMg cm9vdGZzLg0KPiAtIw0KPiAtIyBXZSBoYXZlIHRvIHB1c2ggdGhlIG1zZG9zIHBhcml0aW9uIHRh YmxlIHNpemUgPiAxNk1CIHNvIGZhdCAxNiBpcw0KPiB1c2VkIGFzIHBhcnRlZA0KPiAtIyB3b24n dCB0b3VjaCBmYXQxMiBwYXJ0aXRpb25zLg0KPiAtDQo+IC1pbmhlcml0IGxpdmUtdm0tY29tbW9u DQo+IC0NCj4gLWRvX2Jvb3RkaXJlY3RkaXNrW2RlcGVuZHNdICs9ICJkb3Nmc3Rvb2xzLW5hdGl2 ZTpkb19wb3B1bGF0ZV9zeXNyb290IA0KPiBcDQo+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHZpcnR1YWwva2VybmVsOmRvX2Rl cGxveSBcDQo+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoHN5c2xpbnV4OmRvX3BvcHVsYXRlX3N5c3Jvb3QgXA0KPiAtwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqBz eXNsaW51eC1uYXRpdmU6ZG9fcG9wdWxhdGVfc3lzcm9vdCBcDQo+IC3CoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoHBhcnRlZC1uYXRp dmU6ZG9fcG9wdWxhdGVfc3lzcm9vdCBcDQo+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoG10b29scy1uYXRpdmU6ZG9fcG9wdWxh dGVfc3lzcm9vdCBcDQo+IC3CoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCR7UE59OmRvX2ltYWdlXyR7Vk1fUk9PVEZTX1RZUEV9IFwN Cj4gLcKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgIg0KPiAtDQo+IC1JTUFHRV9UWVBFREVQX3ZtZGsgPSAiJHtWTV9ST09URlNfVFlQ RX0iDQo+IC1JTUFHRV9UWVBFREVQX3ZkaSA9ICIke1ZNX1JPT1RGU19UWVBFfSINCj4gLUlNQUdF X1RZUEVERVBfcWNvdzIgPSAiJHtWTV9ST09URlNfVFlQRX0iDQo+IC1JTUFHRV9UWVBFREVQX2hk ZGRpcmVjdCA9ICIke1ZNX1JPT1RGU19UWVBFfSINCj4gLUlNQUdFX1RZUEVTX01BU0tFRCArPSAi dm1kayB2ZGkgcWNvdzIgaGRkZGlyZWN0Ig0KPiAtDQo+IC1WTV9ST09URlNfVFlQRSA/PSAiZXh0 NCINCj4gLVJPT1RGUyA/PSAiJHtJTUdERVBMT1lESVJ9LyR7SU1BR0VfTElOS19OQU1FfS4ke1ZN X1JPT1RGU19UWVBFfSINCj4gLQ0KPiAtIyBVc2VkIGJ5IGJvb3Rsb2FkZXINCj4gLUxBQkVMU19W TSA/PSAiYm9vdCINCj4gLVJPT1RfVk0gPz0gInJvb3Q9L2Rldi9zZGEyIg0KPiAtIyBVc2luZyBh biBpbml0cmFtZnMgaXMgb3B0aW9uYWwuIEVuYWJsZSBpdCBieSBzZXR0aW5nDQo+IElOSVRSRF9J TUFHRV9WTS4NCj4gLUlOSVRSRF9JTUFHRV9WTSA/PSAiIg0KPiAtSU5JVFJEX1ZNID89ICIke0An JHtJTUdERVBMT1lESVJ9LyR7SU5JVFJEX0lNQUdFX1ZNfS0NCj4gJHtNQUNISU5FfS5jcGlvLmd6 JyBpZiAnJHtJTklUUkRfSU1BR0VfVk19JyBlbHNlICcnfSINCj4gLWRvX2Jvb3RkaXJlY3RkaXNr W2RlcGVuZHNdICs9DQo+ICIke0AnJHtJTklUUkRfSU1BR0VfVk19OmRvX2ltYWdlX2NvbXBsZXRl JyBpZiAnJHtJTklUUkRfSU1BR0VfVk19Jw0KPiBlbHNlICcnfSINCj4gLQ0KPiAtQk9PVEREX1ZP TFVNRV9JRMKgwqDCoD89ICJib290Ig0KPiAtQk9PVEREX0VYVFJBX1NQQUNFID89ICIxNjM4NCIN Cj4gLQ0KPiAtRElTS19TSUdOQVRVUkUgPz0gIiR7RElTS19TSUdOQVRVUkVfR0VORVJBVEVEfSIN Cj4gLURJU0tfU0lHTkFUVVJFW3ZhcmRlcHNleGNsdWRlXSA9ICJESVNLX1NJR05BVFVSRV9HRU5F UkFURUQiDQo+IC0NCj4gLWJ1aWxkX2Jvb3RfZGQoKSB7DQo+IC0JSERERElSPSIke1N9L2hkZC9i b290Ig0KPiAtCUhERElNRz0iJHtTfS9oZGQuaW1hZ2UiDQo+IC0JSU1BR0U9JHtJTUdERVBMT1lE SVJ9LyR7SU1BR0VfTkFNRX0uaGRkZGlyZWN0DQo+IC0NCj4gLQlwb3B1bGF0ZV9rZXJuZWwgJEhE RERJUg0KPiAtDQo+IC0JaWYgWyAiJHtQQ0JJT1N9IiA9ICIxIiBdOyB0aGVuDQo+IC0JCXN5c2xp bnV4X2hkZGltZ19wb3B1bGF0ZSAkSERERElSDQo+IC0JZmkNCj4gLQlpZiBbICIke0VGSX0iID0g IjEiIF07IHRoZW4NCj4gLQkJZWZpX2hkZGltZ19wb3B1bGF0ZSAkSERERElSDQo+IC0JZmkNCj4g LQ0KPiAtCUJMT0NLUz1gZHUgLWJrcyAkSERERElSIHwgY3V0IC1mIDFgDQo+IC0JQkxPQ0tTPWBl eHByICRCTE9DS1MgKyAke0JPT1RERF9FWFRSQV9TUEFDRX1gDQo+IC0NCj4gLQkjIFJlbW92ZSBp dCBzaW5jZSBta2Rvc2ZzIHdvdWxkIGZhaWwgd2hlbiBpdCBleGlzdHMNCj4gLQlybSAtZiAkSERE SU1HDQo+IC0JbWtkb3NmcyAtbiAke0JPT1RERF9WT0xVTUVfSUR9ICR7TUtET1NGU19FWFRSQU9Q VFN9IC1DDQo+ICRIRERJTUcgJEJMT0NLUw0KPiAtCW1jb3B5IC1pICRIRERJTUcgLXMgJEhERERJ Ui8qIDo6Lw0KPiAtDQo+IC0JaWYgWyAiJHtQQ0JJT1N9IiA9ICIxIiBdOyB0aGVuDQo+IC0JCXN5 c2xpbnV4X2hkZGRpcmVjdF9pbnN0YWxsICRIRERJTUcNCj4gLQlmaQkNCj4gLQljaG1vZCA2NDQg JEhERElNRw0KPiAtDQo+IC0JUk9PVEZTQkxPQ0tTPWBkdSAtTGJrcyAke1JPT1RGU30gfCBjdXQg LWYgMWANCj4gLQlUT1RBTFNJWkU9YGV4cHIgJEJMT0NLUyArICRST09URlNCTE9DS1NgDQo+IC0J RU5EMT1gZXhwciAkQkxPQ0tTIFwqIDEwMjRgDQo+IC0JRU5EMj1gZXhwciAkRU5EMSArIDUxMmAN Cj4gLQlFTkQzPWBleHByIFwoICRST09URlNCTE9DS1MgXCogMTAyNCBcKSArICRFTkQxYA0KPiAt DQo+IC0JZWNobyAkUk9PVEZTQkxPQ0tTICRUT1RBTFNJWkUgJEVORDEgJEVORDIgJEVORDMNCj4g LQlybSAtcmYgJElNQUdFDQo+IC0JZGQgaWY9L2Rldi96ZXJvIG9mPSRJTUFHRSBicz0xMDI0IHNl ZWs9JFRPVEFMU0laRSBjb3VudD0xDQo+IC0NCj4gLQlwYXJ0ZWQgJElNQUdFIG1rbGFiZWwgbXNk b3MNCj4gLQlwYXJ0ZWQgJElNQUdFIG1rcGFydCBwcmltYXJ5IGZhdDE2IDAgJHtFTkQxfUINCj4g LQlwYXJ0ZWQgJElNQUdFIHVuaXQgQiBta3BhcnQgcHJpbWFyeSBleHQyICR7RU5EMn1CICR7RU5E M31CDQo+IC0JcGFydGVkICRJTUFHRSBzZXQgMSBib290IG9uwqANCj4gLQ0KPiAtCXBhcnRlZCAk SU1BR0UgcHJpbnQNCj4gLQ0KPiAtCWF3ayAiQkVHSU4geyBwcmludGYgXCIkKGVjaG8gJHtESVNL X1NJR05BVFVSRX0gfCBzZWQNCj4gJ3MvXCguLlwpXCguLlwpXCguLlwpXCguLlwpL1xceFw0XFx4 XDNcXHhcMlxceFwxLycpXCIgfSIgfCBcDQo+IC0JCWRkIG9mPSRJTUFHRSBicz0xIHNlZWs9NDQw IGNvbnY9bm90cnVuYw0KPiAtDQo+IC0JT0ZGU0VUPWBleHByICRFTkQyIC8gNTEyYA0KPiAtCWlm IFsgIiR7UENCSU9TfSIgPSAiMSIgXTsgdGhlbg0KPiAtCQlkZCBpZj0ke1NUQUdJTkdfREFUQURJ Un0vc3lzbGludXgvbWJyLmJpbiBvZj0kSU1BR0UNCj4gY29udj1ub3RydW5jDQo+IC0JZmkNCj4g LQ0KPiAtCWRkIGlmPSRIRERJTUcgb2Y9JElNQUdFIGNvbnY9bm90cnVuYyBzZWVrPTEgYnM9NTEy DQo+IC0JZGQgaWY9JHtST09URlN9IG9mPSRJTUFHRSBjb252PW5vdHJ1bmMgc2Vlaz0kT0ZGU0VU IGJzPTUxMg0KPiAtDQo+IC0JY2QgJHtJTUdERVBMT1lESVJ9DQo+IC0NCj4gLQlsbiAtc2YgJHtJ TUFHRV9OQU1FfS5oZGRkaXJlY3QNCj4gJHtJTUdERVBMT1lESVJ9LyR7SU1BR0VfTElOS19OQU1F fS5oZGRkaXJlY3QNCj4gLX3CoA0KPiAtDQo+IC1weXRob24gZG9fYm9vdGRpcmVjdGRpc2soKSB7 DQo+IC3CoMKgwqDCoHZhbGlkYXRlX2Rpc2tfc2lnbmF0dXJlKGQpDQo+IC3CoMKgwqDCoHNldF9s aXZlX3ZtX3ZhcnMoZCwgJ1ZNJykNCj4gLcKgwqDCoMKgaWYgZC5nZXRWYXIoIlBDQklPUyIpID09 ICIxIjoNCj4gLcKgwqDCoMKgwqDCoMKgwqBiYi5idWlsZC5leGVjX2Z1bmMoJ2J1aWxkX3N5c2xp bnV4X2NmZycsIGQpDQo+IC3CoMKgwqDCoGlmIGQuZ2V0VmFyKCJFRkkiKSA9PSAiMSI6DQo+IC3C oMKgwqDCoMKgwqDCoMKgYmIuYnVpbGQuZXhlY19mdW5jKCdidWlsZF9lZmlfY2ZnJywgZCkNCj4g LcKgwqDCoMKgYmIuYnVpbGQuZXhlY19mdW5jKCdidWlsZF9ib290X2RkJywgZCkNCj4gLX0NCj4g LQ0KPiAtZGVmIGdlbmVyYXRlX2Rpc2tfc2lnbmF0dXJlKCk6DQo+IC3CoMKgwqDCoGltcG9ydCB1 dWlkDQo+IC0NCj4gLcKgwqDCoMKgc2lnbmF0dXJlID0gc3RyKHV1aWQudXVpZDQoKSlbOjhdDQo+ IC0NCj4gLcKgwqDCoMKgaWYgc2lnbmF0dXJlICE9ICcwMDAwMDAwMCc6DQo+IC3CoMKgwqDCoMKg wqDCoMKgcmV0dXJuIHNpZ25hdHVyZQ0KPiAtwqDCoMKgwqBlbHNlOg0KPiAtwqDCoMKgwqDCoMKg wqDCoHJldHVybiAnZmZmZmZmZmYnDQo+IC0NCj4gLWRlZiB2YWxpZGF0ZV9kaXNrX3NpZ25hdHVy ZShkKToNCj4gLcKgwqDCoMKgaW1wb3J0IHJlDQo+IC0NCj4gLcKgwqDCoMKgZGlza19zaWduYXR1 cmUgPSBkLmdldFZhcigiRElTS19TSUdOQVRVUkUiKQ0KPiAtDQo+IC3CoMKgwqDCoGlmIG5vdCBy ZS5tYXRjaChyJ15bMC05YS1mQS1GXXs4fSQnLCBkaXNrX3NpZ25hdHVyZSk6DQo+IC3CoMKgwqDC oMKgwqDCoMKgYmIuZmF0YWwoIkRJU0tfU0lHTkFUVVJFICclcycgbXVzdCBiZSBhbiA4IGRpZ2l0 IGhleCBzdHJpbmciDQo+ICUgZGlza19zaWduYXR1cmUpDQo+IC0NCj4gLURJU0tfU0lHTkFUVVJF X0dFTkVSQVRFRCA6PSAiJHtAZ2VuZXJhdGVfZGlza19zaWduYXR1cmUoKX0iDQo+IC0NCj4gLXJ1 bl9xZW11X2ltZyAoKXsNCj4gLcKgwqDCoMKgdHlwZT0iJDEiDQo+IC3CoMKgwqDCoHFlbXUtaW1n IGNvbnZlcnQgLU8gJHR5cGUNCj4gJHtJTUdERVBMT1lESVJ9LyR7SU1BR0VfTElOS19OQU1FfS5o ZGRkaXJlY3QNCj4gJHtJTUdERVBMT1lESVJ9LyR7SU1BR0VfTkFNRX0uJHR5cGUNCj4gLQ0KPiAt wqDCoMKgwqBsbiAtc2YgJHtJTUFHRV9OQU1FfS4kdHlwZQ0KPiAke0lNR0RFUExPWURJUn0vJHtJ TUFHRV9MSU5LX05BTUV9LiR0eXBlDQo+IC19DQo+IC1jcmVhdGVfdm1ka19pbWFnZSAoKSB7DQo+ IC3CoMKgwqDCoHJ1bl9xZW11X2ltZyB2bWRrDQo+IC19DQo+IC0NCj4gLWNyZWF0ZV92ZGlfaW1h Z2UgKCkgew0KPiAtwqDCoMKgwqBydW5fcWVtdV9pbWcgdmRpDQo+IC19DQo+IC0NCj4gLWNyZWF0 ZV9xY293Ml9pbWFnZSAoKSB7DQo+IC3CoMKgwqDCoHJ1bl9xZW11X2ltZyBxY293Mg0KPiAtfQ0K PiAtDQo+IC1weXRob24gZG9fdm1pbWcoKSB7DQo+IC3CoMKgwqDCoGlmICd2bWRrJyBpbiBkLmdl dFZhcignSU1BR0VfRlNUWVBFUycpOg0KPiAtwqDCoMKgwqDCoMKgwqDCoGJiLmJ1aWxkLmV4ZWNf ZnVuYygnY3JlYXRlX3ZtZGtfaW1hZ2UnLCBkKQ0KPiAtwqDCoMKgwqBpZiAndmRpJyBpbiBkLmdl dFZhcignSU1BR0VfRlNUWVBFUycpOg0KPiAtwqDCoMKgwqDCoMKgwqDCoGJiLmJ1aWxkLmV4ZWNf ZnVuYygnY3JlYXRlX3ZkaV9pbWFnZScsIGQpDQo+IC3CoMKgwqDCoGlmICdxY293MicgaW4gZC5n ZXRWYXIoJ0lNQUdFX0ZTVFlQRVMnKToNCj4gLcKgwqDCoMKgwqDCoMKgwqBiYi5idWlsZC5leGVj X2Z1bmMoJ2NyZWF0ZV9xY293Ml9pbWFnZScsIGQpDQo+IC19DQo+IC0NCj4gLWFkZHRhc2sgYm9v dGRpcmVjdGRpc2sgYmVmb3JlIGRvX3ZtaW1nDQo+IC1hZGR0YXNrIHZtaW1nIGFmdGVyIGRvX2Jv b3RkaXJlY3RkaXNrIGJlZm9yZSBkb19pbWFnZV9jb21wbGV0ZQ0KPiAtZG9fdm1pbWdbZGVwZW5k c10gKz0gInFlbXUtbmF0aXZlOmRvX3BvcHVsYXRlX3N5c3Jvb3QiDQo+IGRpZmYgLS1naXQgYS9t ZXRhL2NsYXNzZXMvaW1hZ2UuYmJjbGFzcyBiL21ldGEvY2xhc3Nlcy9pbWFnZS5iYmNsYXNzDQo+ IGluZGV4IGRlZTE3YWUuLjQwYmQ2MTQgMTAwNjQ0DQo+IC0tLSBhL21ldGEvY2xhc3Nlcy9pbWFn ZS5iYmNsYXNzDQo+ICsrKyBiL21ldGEvY2xhc3Nlcy9pbWFnZS5iYmNsYXNzDQo+IEBAIC0xMzgs OSArMTM4LDYgQEAgZGVmIGJ1aWxkX2xpdmUoZCk6DQo+IMKgSU1BR0VfVFlQRV9saXZlID0gIiR7 QGJ1aWxkX2xpdmUoZCl9Ig0KPiDCoGluaGVyaXQgJHtJTUFHRV9UWVBFX2xpdmV9DQo+IMKgDQo+ IC1JTUFHRV9UWVBFX3ZtID0gJyR7QGJiLnV0aWxzLmNvbnRhaW5zX2FueSgiSU1BR0VfRlNUWVBF UyIsIFsidm1kayIsDQo+ICJ2ZGkiLCAicWNvdzIiLCAiaGRkZGlyZWN0Il0sICJpbWFnZS12bSIs ICIiLCBkKX0nDQo+IC1pbmhlcml0ICR7SU1BR0VfVFlQRV92bX0NCj4gLQ0KPiDCoElNQUdFX1RZ UEVfY29udGFpbmVyID0gJyR7QGJiLnV0aWxzLmNvbnRhaW5zKCJJTUFHRV9GU1RZUEVTIiwNCj4g ImNvbnRhaW5lciIsICJpbWFnZS1jb250YWluZXIiLCAiIiwgZCl9Jw0KPiDCoGluaGVyaXQgJHtJ TUFHRV9UWVBFX2NvbnRhaW5lcn0NCj4gwqANCj4gZGlmZiAtLWdpdCBhL21ldGEvY2xhc3Nlcy9p bWFnZV90eXBlcy5iYmNsYXNzDQo+IGIvbWV0YS9jbGFzc2VzL2ltYWdlX3R5cGVzLmJiY2xhc3MN Cj4gaW5kZXggNGZkY2RlMi4uMTM4ZDdhNSAxMDA2NDQNCj4gLS0tIGEvbWV0YS9jbGFzc2VzL2lt YWdlX3R5cGVzLmJiY2xhc3MNCj4gKysrIGIvbWV0YS9jbGFzc2VzL2ltYWdlX3R5cGVzLmJiY2xh c3MNCj4gQEAgLTI1NCwxMCArMjU0LDYgQEAgSU1BR0VfVFlQRVMgPSAiIFwNCj4gwqDCoMKgwqDC oHViaSB1YmlmcyBtdWx0aXViaSBcDQo+IMKgwqDCoMKgwqB0YXIgdGFyLmd6IHRhci5iejIgdGFy Lnh6IHRhci5sejQgXA0KPiDCoMKgwqDCoMKgY3BpbyBjcGlvLmd6IGNwaW8ueHogY3Bpby5sem1h IGNwaW8ubHo0IFwNCj4gLcKgwqDCoMKgdm1kayBcDQo+IC3CoMKgwqDCoHZkaSBcDQo+IC3CoMKg wqDCoHFjb3cyIFwNCj4gLcKgwqDCoMKgaGRkZGlyZWN0IFwNCj4gwqDCoMKgwqDCoGVsZiBcDQo+ IMKgwqDCoMKgwqB3aWMgd2ljLmd6IHdpYy5iejIgd2ljLmx6bWEgXA0KPiDCoMKgwqDCoMKgY29u dGFpbmVyIFwNCj4gQEAgLTI2OSw3ICsyNjUsNyBAQCBJTUFHRV9UWVBFUyA9ICIgXA0KPiDCoCMg Q09OVkVSU0lPTl9DTUQvREVQRU5EUy4NCj4gwqBDT01QUkVTU0lPTlRZUEVTID89ICIiDQo+IMKg DQo+IC1DT05WRVJTSU9OVFlQRVMgPSAiZ3ogYnoyIGx6bWEgeHogbHo0IGx6byB6aXAgc3VtIG1k NXN1bSBzaGExc3VtDQo+IHNoYTIyNHN1bSBzaGEyNTZzdW0gc2hhMzg0c3VtIHNoYTUxMnN1bSBi bWFwIHUtYm9vdA0KPiAke0NPTVBSRVNTSU9OVFlQRVN9Ig0KPiArQ09OVkVSU0lPTlRZUEVTID0g Imd6IGJ6MiBsem1hIHh6IGx6NCBsem8gemlwIHN1bSBtZDVzdW0gc2hhMXN1bQ0KPiBzaGEyMjRz dW0gc2hhMjU2c3VtIHNoYTM4NHN1bSBzaGE1MTJzdW0gYm1hcCB1LWJvb3Qgdm1kayB2ZGkgcWNv dzINCj4gJHtDT01QUkVTU0lPTlRZUEVTfSINCj4gwqBDT05WRVJTSU9OX0NNRF9sem1hID0gImx6 bWEgLWsgLWYgLTcNCj4gJHtJTUFHRV9OQU1FfSR7SU1BR0VfTkFNRV9TVUZGSVh9LiR7dHlwZX0i DQo+IMKgQ09OVkVSU0lPTl9DTURfZ3ogPSAiZ3ppcCAtZiAtOSAtYw0KPiAke0lNQUdFX05BTUV9 JHtJTUFHRV9OQU1FX1NVRkZJWH0uJHt0eXBlfSA+DQo+ICR7SU1BR0VfTkFNRX0ke0lNQUdFX05B TUVfU1VGRklYfS4ke3R5cGV9Lmd6Ig0KPiDCoENPTlZFUlNJT05fQ01EX2J6MiA9ICJwYnppcDIg LWYgLWsNCj4gJHtJTUFHRV9OQU1FfSR7SU1BR0VfTkFNRV9TVUZGSVh9LiR7dHlwZX0iDQo+IEBA IC0yODcsNiArMjgzLDkgQEAgQ09OVkVSU0lPTl9DTURfc2hhMzg0c3VtID0gInNoYTM4NHN1bQ0K PiAke0lNQUdFX05BTUV9JHtJTUFHRV9OQU1FX1NVRkZJWH0uJHt0eXBlfQ0KPiDCoENPTlZFUlNJ T05fQ01EX3NoYTUxMnN1bSA9ICJzaGE1MTJzdW0NCj4gJHtJTUFHRV9OQU1FfSR7SU1BR0VfTkFN RV9TVUZGSVh9LiR7dHlwZX0gPg0KPiAke0lNQUdFX05BTUV9JHtJTUFHRV9OQU1FX1NVRkZJWH0u JHt0eXBlfS5zaGE1MTJzdW0iDQo+IMKgQ09OVkVSU0lPTl9DTURfYm1hcCA9ICJibWFwdG9vbCBj cmVhdGUNCj4gJHtJTUFHRV9OQU1FfSR7SU1BR0VfTkFNRV9TVUZGSVh9LiR7dHlwZX0gLW8NCj4g JHtJTUFHRV9OQU1FfSR7SU1BR0VfTkFNRV9TVUZGSVh9LiR7dHlwZX0uYm1hcCINCj4gwqBDT05W RVJTSU9OX0NNRF91LWJvb3QgPSAibWtpbWFnZSAtQSAke1VCT09UX0FSQ0h9IC1PIGxpbnV4IC1U DQo+IHJhbWRpc2sgLUMgbm9uZSAtbiAke0lNQUdFX05BTUV9IC1kDQo+ICR7SU1BR0VfTkFNRX0k e0lNQUdFX05BTUVfU1VGRklYfS4ke3R5cGV9DQo+ICR7SU1BR0VfTkFNRX0ke0lNQUdFX05BTUVf U1VGRklYfS4ke3R5cGV9LnUtYm9vdCINCj4gK0NPTlZFUlNJT05fQ01EX3ZtZGsgPSAicWVtdS1p bWcgY29udmVydCAtTyB2bWRrDQo+ICR7SU1BR0VfTkFNRX0ke0lNQUdFX05BTUVfU1VGRklYfS4k e3R5cGV9DQo+ICR7SU1BR0VfTkFNRX0ke0lNQUdFX05BTUVfU1VGRklYfS4ke3R5cGV9LnZtZGsi DQo+ICtDT05WRVJTSU9OX0NNRF92ZGkgPSAicWVtdS1pbWcgY29udmVydCAtTyB2ZGkNCj4gJHtJ TUFHRV9OQU1FfSR7SU1BR0VfTkFNRV9TVUZGSVh9LiR7dHlwZX0NCj4gJHtJTUFHRV9OQU1FfSR7 SU1BR0VfTkFNRV9TVUZGSVh9LiR7dHlwZX0udmRpIg0KPiArQ09OVkVSU0lPTl9DTURfcWNvdzIg PSAicWVtdS1pbWcgY29udmVydCAtTyBxY293Mg0KPiAke0lNQUdFX05BTUV9JHtJTUFHRV9OQU1F X1NVRkZJWH0uJHt0eXBlfQ0KPiAke0lNQUdFX05BTUV9JHtJTUFHRV9OQU1FX1NVRkZJWH0uJHt0 eXBlfS5xY293MiINCj4gwqBDT05WRVJTSU9OX0RFUEVORFNfbHptYSA9ICJ4ei1uYXRpdmUiDQo+ IMKgQ09OVkVSU0lPTl9ERVBFTkRTX2d6ID0gInBpZ3otbmF0aXZlIg0KPiDCoENPTlZFUlNJT05f REVQRU5EU19iejIgPSAicGJ6aXAyLW5hdGl2ZSINCj4gQEAgLTI5Nyw2ICsyOTYsOSBAQCBDT05W RVJTSU9OX0RFUEVORFNfemlwID0gInppcC1uYXRpdmUiDQo+IMKgQ09OVkVSU0lPTl9ERVBFTkRT X3N1bSA9ICJtdGQtdXRpbHMtbmF0aXZlIg0KPiDCoENPTlZFUlNJT05fREVQRU5EU19ibWFwID0g ImJtYXAtdG9vbHMtbmF0aXZlIg0KPiDCoENPTlZFUlNJT05fREVQRU5EU191LWJvb3QgPSAidS1i b290LW1raW1hZ2UtbmF0aXZlIg0KPiArQ09OVkVSU0lPTl9ERVBFTkRTX3ZtZGsgPSAicWVtdS1u YXRpdmUiDQo+ICtDT05WRVJTSU9OX0RFUEVORFNfdmRpID0gInFlbXUtbmF0aXZlIg0KPiArQ09O VkVSU0lPTl9ERVBFTkRTX3Fjb3cyID0gInFlbXUtbmF0aXZlIg0KPiDCoA0KPiDCoFJVTk5BQkxF X0lNQUdFX1RZUEVTID89ICJleHQyIGV4dDMgZXh0NCINCj4gwqBSVU5OQUJMRV9NQUNISU5FX1BB VFRFUk5TID89ICJxZW11Ig0KPiBkaWZmIC0tZ2l0IGEvbWV0YS9yZWNpcGVzLWNvcmUvaW1hZ2Vz L2J1aWxkLWFwcGxpYW5jZS1pbWFnZV8xNS4wLjAuYmIgDQo+IGIvbWV0YS9yZWNpcGVzLWNvcmUv aW1hZ2VzL2J1aWxkLWFwcGxpYW5jZS1pbWFnZV8xNS4wLjAuYmINCj4gaW5kZXggZjE0NWI1ZS4u OTI3YTkzMSAxMDA2NDQNCj4gLS0tIGEvbWV0YS9yZWNpcGVzLWNvcmUvaW1hZ2VzL2J1aWxkLWFw cGxpYW5jZS1pbWFnZV8xNS4wLjAuYmINCj4gKysrIGIvbWV0YS9yZWNpcGVzLWNvcmUvaW1hZ2Vz L2J1aWxkLWFwcGxpYW5jZS1pbWFnZV8xNS4wLjAuYmINCj4gQEAgLTE5LDcgKzE5LDcgQEAgSU1B R0VfUk9PVEZTX0VYVFJBX1NQQUNFID0gIjQxOTQzMDQwIg0KPiDCoEFQUEVORCArPSAicm9vdGZz dHlwZT1leHQ0IHF1aWV0Ig0KPiDCoA0KPiDCoERFUEVORFMgPSAiemlwLW5hdGl2ZSBweXRob24z LXBpcC1uYXRpdmUiDQo+IC1JTUFHRV9GU1RZUEVTID0gInZtZGsiDQo+ICtJTUFHRV9GU1RZUEVT ID0gIndpYy52bWRrIg0KPiDCoA0KPiDCoGluaGVyaXQgY29yZS1pbWFnZSBtb2R1bGUtYmFzZSBz ZXR1cHRvb2xzMw0KPiDCoA0KPiBAQCAtMTIwLDcgKzEyMCw3IEBAIGNyZWF0ZV9idW5kbGVfZmls ZXMgKCkgew0KPiDCoAljZCAke1dPUktESVJ9DQo+IMKgCW1rZGlyIC1wIFlvY3RvX0J1aWxkX0Fw cGxpYW5jZQ0KPiDCoAljcCAqLnZteCogWW9jdG9fQnVpbGRfQXBwbGlhbmNlDQo+IC0JbG4gLXNm ICR7SU1HREVQTE9ZRElSfS8ke0lNQUdFX05BTUV9LnZtZGsNCj4gWW9jdG9fQnVpbGRfQXBwbGlh bmNlL1lvY3RvX0J1aWxkX0FwcGxpYW5jZS52bWRrDQo+ICsJbG4gLXNmDQo+ICR7SU1HREVQTE9Z RElSfS8ke0lNQUdFX05BTUV9JHtJTUFHRV9OQU1FX1NVRkZJWH0ud2ljLnZtZGsNCj4gWW9jdG9f QnVpbGRfQXBwbGlhbmNlL1lvY3RvX0J1aWxkX0FwcGxpYW5jZS52bWRrDQo+IMKgCXppcCAtciAk e0lNR0RFUExPWURJUn0vWW9jdG9fQnVpbGRfQXBwbGlhbmNlLSR7REFURVRJTUV9LnppcCANCj4g WW9jdG9fQnVpbGRfQXBwbGlhbmNlDQo+IMKgCWxuIC1zZiBZb2N0b19CdWlsZF9BcHBsaWFuY2Ut JHtEQVRFVElNRX0uemlwDQo+ICR7SU1HREVQTE9ZRElSfS9Zb2N0b19CdWlsZF9BcHBsaWFuY2Uu emlwDQo+IMKgfQ0KPiBAQCAtMTMwLDQgKzEzMCw0IEBAIHB5dGhvbiBkb19idW5kbGVfZmlsZXMo KSB7DQo+IMKgwqDCoMKgwqBiYi5idWlsZC5leGVjX2Z1bmMoJ2NyZWF0ZV9idW5kbGVfZmlsZXMn LCBkKQ0KPiDCoH0NCj4gwqANCj4gLWFkZHRhc2sgYnVuZGxlX2ZpbGVzIGFmdGVyIGRvX3ZtaW1n IGJlZm9yZSBkb19pbWFnZV9jb21wbGV0ZQ0KPiArYWRkdGFzayBidW5kbGVfZmlsZXMgYWZ0ZXIg ZG9faW1hZ2Vfd2ljIGJlZm9yZSBkb19pbWFnZV9jb21wbGV0ZQ0KPiAtLcKgDQo+IDIuMS40DQo+ IA==