From mboxrd@z Thu Jan 1 00:00:00 1970 Return-path: Received: from 16.mo1.mail-out.ovh.net ([178.33.104.224]) by bombadil.infradead.org with esmtps (Exim 4.80.1 #2 (Red Hat Linux)) id 1YCbID-0004G2-Q1 for barebox@lists.infradead.org; Sat, 17 Jan 2015 21:52:32 +0000 Received: from mail628.ha.ovh.net (b9.ovh.net [213.186.33.59]) by mo1.mail-out.ovh.net (Postfix) with SMTP id 12B8DFF921F for ; Sat, 17 Jan 2015 22:52:04 +0100 (CET) Mime-Version: 1.0 (Mac OS X Mail 8.1 \(1993\)) From: Jean-Christophe PLAGNIOL-VILLARD In-Reply-To: <1421320118-31779-1-git-send-email-gregory.hermant@calao-systems.com> Date: Sun, 18 Jan 2015 05:51:42 +0800 Message-Id: <6FA9453A-61C8-4761-9637-9597D1287377@jcrosoft.com> References: <1421320118-31779-1-git-send-email-gregory.hermant@calao-systems.com> List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "barebox" Errors-To: barebox-bounces+u.kleine-koenig=pengutronix.de@lists.infradead.org Subject: Re: [PATCH] add support for the haba-knx-lite controller To: Gregory Hermant Cc: barebox@lists.infradead.org Cj4gT24gSmFuIDE1LCAyMDE1LCBhdCA3OjA4IFBNLCBHcmVnb3J5IEhlcm1hbnQgPGdyZWdvcnku aGVybWFudEBjYWxhby1zeXN0ZW1zLmNvbT4gd3JvdGU6Cj4gCj4gCj4gU2lnbmVkLW9mZi1ieTog R3JlZ29yeSBIZXJtYW50IDxncmVnb3J5Lmhlcm1hbnRAY2FsYW8tc3lzdGVtcy5jb20+Cj4gLS0t Cj4gYXJjaC9hcm0vYm9hcmRzL01ha2VmaWxlICAgICAgICAgICAgICAgICAgICB8ICAgIDEgKwo+ IGFyY2gvYXJtL2JvYXJkcy9oYWJhLWtueC9NYWtlZmlsZSAgICAgICAgICAgfCAgICAxICsKPiBh cmNoL2FybS9ib2FyZHMvaGFiYS1rbngvZW52L2Jpbi9pbml0X2JvYXJkIHwgICA0OSArKysrCj4g YXJjaC9hcm0vYm9hcmRzL2hhYmEta254L2Vudi9jb25maWcgICAgICAgICB8ICAgNDAgKysrCj4g YXJjaC9hcm0vYm9hcmRzL2hhYmEta254L2luaXQuYyAgICAgICAgICAgICB8ICAzNDggKysrKysr KysrKysrKysrKysrKysrKysrKysrCj4gYXJjaC9hcm0vY29uZmlncy9oYWJhX2tueF9saXRlX2Rl ZmNvbmZpZyAgICB8ICAgODkgKysrKysrKwo+IGFyY2gvYXJtL21hY2gtYXQ5MS9LY29uZmlnICAg ICAgICAgICAgICAgICAgfCAgICA1ICsKPiA3IGZpbGVzIGNoYW5nZWQsIDUzMyBpbnNlcnRpb25z KCspCj4gY3JlYXRlIG1vZGUgMTAwNjQ0IGFyY2gvYXJtL2JvYXJkcy9oYWJhLWtueC9NYWtlZmls ZQo+IGNyZWF0ZSBtb2RlIDEwMDY0NCBhcmNoL2FybS9ib2FyZHMvaGFiYS1rbngvZW52L2Jpbi9p bml0X2JvYXJkCj4gY3JlYXRlIG1vZGUgMTAwNjQ0IGFyY2gvYXJtL2JvYXJkcy9oYWJhLWtueC9l bnYvY29uZmlnCj4gY3JlYXRlIG1vZGUgMTAwNjQ0IGFyY2gvYXJtL2JvYXJkcy9oYWJhLWtueC9p bml0LmMKPiBjcmVhdGUgbW9kZSAxMDA2NDQgYXJjaC9hcm0vY29uZmlncy9oYWJhX2tueF9saXRl X2RlZmNvbmZpZwo+IAo+IGRpZmYgLS1naXQgYS9hcmNoL2FybS9ib2FyZHMvTWFrZWZpbGUgYi9h cmNoL2FybS9ib2FyZHMvTWFrZWZpbGUKPiBpbmRleCA5OTYxY2E4Li5iZjA0ZjM4IDEwMDY0NAo+ IC0tLSBhL2FyY2gvYXJtL2JvYXJkcy9NYWtlZmlsZQo+ICsrKyBiL2FyY2gvYXJtL2JvYXJkcy9N YWtlZmlsZQo+IEBAIC01MCw2ICs1MCw3IEBAIG9iai0kKENPTkZJR19NQUNIX0dVRl9DVVBJRCkJ CQkrPSBndWYtY3VwaWQvCj4gb2JqLSQoQ09ORklHX01BQ0hfR1VGX1NBTlRBUk8pCQkJKz0gZ3Vm LXNhbnRhcm8vCj4gb2JqLSQoQ09ORklHX01BQ0hfR1VGX1ZJTkNFTEwpCQkJKz0gZ3VmLXZpbmNl bGwvCj4gb2JqLSQoQ09ORklHX01BQ0hfR1dfVkVOVEFOQSkJCQkrPSBnYXRld29ya3MtdmVudGFu YS8KPiArb2JqLSQoQ09ORklHX01BQ0hfSEFCQV9LTlhfTElURSkJCSs9IGhhYmEta254Lwo+IG9i ai0kKENPTkZJR19NQUNIX0hJR0hCQU5LKQkJCSs9IGhpZ2hiYW5rLwo+IG9iai0kKENPTkZJR19N QUNIX0lNWDIxQURTKQkJCSs9IGZyZWVzY2FsZS1teDIxLWFkcy8KPiBvYmotJChDT05GSUdfTUFD SF9JTVgyMzNfT0xJTlVYSU5PKQkJKz0gaW14MjMzLW9saW51eGluby8KPiBkaWZmIC0tZ2l0IGEv YXJjaC9hcm0vYm9hcmRzL2hhYmEta254L01ha2VmaWxlIGIvYXJjaC9hcm0vYm9hcmRzL2hhYmEt a254L01ha2VmaWxlCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQKPiBpbmRleCAwMDAwMDAwLi5lYjA3 MmMwCj4gLS0tIC9kZXYvbnVsbAo+ICsrKyBiL2FyY2gvYXJtL2JvYXJkcy9oYWJhLWtueC9NYWtl ZmlsZQo+IEBAIC0wLDAgKzEgQEAKPiArb2JqLXkgKz0gaW5pdC5vCj4gZGlmZiAtLWdpdCBhL2Fy Y2gvYXJtL2JvYXJkcy9oYWJhLWtueC9lbnYvYmluL2luaXRfYm9hcmQgYi9hcmNoL2FybS9ib2Fy ZHMvaGFiYS1rbngvZW52L2Jpbi9pbml0X2JvYXJkCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQKPiBp bmRleCAwMDAwMDAwLi4wYTZiYWY3Cj4gLS0tIC9kZXYvbnVsbAo+ICsrKyBiL2FyY2gvYXJtL2Jv YXJkcy9oYWJhLWtueC9lbnYvYmluL2luaXRfYm9hcmQKPiBAQCAtMCwwICsxLDQ5IEBACj4gKyMh L2Jpbi9zaAo+ICsKPiArYnV0dG9uX25hbWU9ImRmdV9icCIKPiArYnV0dG9uX3dhaXQ9NQo+ICsK PiArcHJvZHVjdF9pZD0weDEyMzQKPiArdmVuZG9yX2lkPTB4NDMyMQo+ICsKPiArZGZ1X2NvbmZp Zz0iL2Rldi9uYW5kMC5iYXJlYm94LmJiKGJhcmVib3gpc3IsL2Rldi9uYW5kMC5rZXJuZWwuYmIo a2VybmVsKXIsL2Rldi9uYW5kMC5yb290ZnMuYmIocm9vdGZzKXIiCj4gKwo+ICtpZiBbICRhdDkx X3VkYzAudmJ1cyAhPSAxIF0KPiArdGhlbgo+ICsJZWNobyAiTm8gVVNCIERldmljZSBjYWJsZSBw bHVnZ2VkLCBub3JtYWwgYm9vdCIKPiArCWV4aXQKPiArZmkKPiArCj4gK2dwaW9fZ2V0X3ZhbHVl ICR7ZGZ1X2J1dHRvbn0KPiAraWYgWyAkPyAhPSAwIF0KPiArdGhlbgo+ICsJYXV0b2Jvb3RfdGlt ZW91dD0xNgo+ICsJZWNobyAiZW5hYmxlIHR0eSBvdmVyIFVTQiBEZXZpY2UsIGluY3JlYXNlIHRo ZSBib290IGRlbGF5IHRvICR7YXV0b2Jvb3RfdGltZW91dH1zIgo+ICsJdXNic2VyaWFsCj4gKwll eGl0Cj4gK2ZpCj4gKwo+ICtlY2hvICIke2J1dHRvbl9uYW1lfSBwcmVzc2VkIGRldGVjdGVkIHdh aXQgJHtidXR0b25fd2FpdH1zIgo+ICt0aW1lb3V0IC1zIC1hICR7YnV0dG9uX3dhaXR9Cj4gKwo+ ICtpZiBbICRhdDkxX3VkYzAudmJ1cyAhPSAxIF0KPiArdGhlbgo+ICsJZWNobyAiTm8gVVNCIERl dmljZSBjYWJsZSBwbHVnZ2VkLCBub3JtYWwgYm9vdCIKPiArCWV4aXQKPiArZmkKPiArCj4gK2dw aW9fZ2V0X3ZhbHVlICR7ZGZ1X2J1dHRvbn0KPiAraWYgWyAkPyAhPSAwIF0KPiArdGhlbgo+ICsJ ZWNobyAiJHtidXR0b25fbmFtZX0gcmVsZWFzZWQsIG5vcm1hbCBib290Igo+ICsJYXV0b2Jvb3Rf dGltZW91dD0xNgo+ICsJZWNobyAiZW5hYmxlIHR0eSBvdmVyIFVTQiBEZXZpY2UsIGluY3JlYXNl IHRoZSBib290IGRlbGF5IHRvICR7YXV0b2Jvb3RfdGltZW91dH1zIgo+ICsJdXNic2VyaWFsCj4g KwlleGl0Cj4gK2ZpCj4gKwo+ICtlY2hvICIiCj4gK2VjaG8gIlN0YXJ0IERGVSBNb2RlIgo+ICtl Y2hvICIiCj4gKwo+ICtkZnUgJHtkZnVfY29uZmlnfSAtUCAke3Byb2R1Y3RfaWR9IC1WICR7dmVu ZG9yX2lkfQo+IGRpZmYgLS1naXQgYS9hcmNoL2FybS9ib2FyZHMvaGFiYS1rbngvZW52L2NvbmZp ZyBiL2FyY2gvYXJtL2JvYXJkcy9oYWJhLWtueC9lbnYvY29uZmlnCj4gbmV3IGZpbGUgbW9kZSAx MDA2NDQKPiBpbmRleCAwMDAwMDAwLi5kMWRjYTEwCj4gLS0tIC9kZXYvbnVsbAo+ICsrKyBiL2Fy Y2gvYXJtL2JvYXJkcy9oYWJhLWtueC9lbnYvY29uZmlnCj4gQEAgLTAsMCArMSw0MCBAQAo+ICsj IS9iaW4vc2gKPiArCj4gKyMgdXNlICdkaGNwJyB0byBkbyBkaGNwIGluIGJhcmVib3ggYW5kIGlu IGtlcm5lbAo+ICsjIHVzZSAnbm9uZScgaWYgeW91IHdhbnQgdG8gc2tpcCBrZXJuZWwgaXAgYXV0 b2NvbmZpZ3VyYXRpb24KPiAraXA9bm9uZQo+ICsjaXA9ZGhjcC1iYXJlYm94Cj4gK1sgeCRhcm1s aW51eF9hcmNoaXRlY3R1cmUgPSB4NDMxMCBdICYmIGRoY3BfdmVuZG9yX2lkPWJhcmVib3gtaGFi YS1rbngtbGl0ZQo+ICsKPiArIyBvciBzZXQgeW91ciBuZXR3b3JraW5nIHBhcmFtZXRlcnMgaGVy ZQo+ICsjZXRoMC5pcGFkZHI9YS5iLmMuZAo+ICsjZXRoMC5uZXRtYXNrPWEuYi5jLmQKPiArI2V0 aDAuZ2F0ZXdheT1hLmIuYy5kCj4gKyNldGgwLnNlcnZlcmlwPWEuYi5jLmQKPiArCj4gKyMgY2Fu IGJlIGVpdGhlciAnbmZzJywgJ3RmdHAnLCAnbm9yJyBvciAnbmFuZCcKPiAra2VybmVsX2xvYz1u YW5kCj4gKyMgY2FuIGJlIGVpdGhlciAnbmV0JywgJ25vcicsICduYW5kJyBvciAnaW5pdHJkJwo+ ICtyb290ZnNfbG9jPW5hbmQKPiArIyBjYW4gYmUgZWl0aGVyICduZnMnLCAndGZ0cCcsICdub3In LCAnbmFuZCcgb3IgZW1wdHkKPiArb2Z0cmVlX2xvYz1uYW5kCj4gKwo+ICsjIGNhbiBiZSBlaXRo ZXIgJ2pmZnMyJyBvciAndWJpZnMnCj4gK3Jvb3Rmc190eXBlPXViaWZzCj4gK3Jvb3Rmc2ltYWdl PXJvb3QuJHJvb3Rmc190eXBlCj4gKwo+ICtrZXJuZWxpbWFnZT16SW1hZ2UKPiArI2tlcm5lbGlt YWdlPXVJbWFnZQo+ICsja2VybmVsaW1hZ2U9SW1hZ2UKPiArI2tlcm5lbGltYWdlPUltYWdlLmx6 bwo+ICsKPiArbmFuZF9kZXZpY2U9YXRtZWxfbmFuZAo+ICtuYW5kX3BhcnRzPSIxMjhrKGF0OTFi b290c3RyYXApLDI1NmsoYmFyZWJveClybywxMjhrKGJhcmVib3hlbnYpLDEyOGsoYmFyZWJveGVu djIpLDEyOGsob2Z0cmVlKSw0TShrZXJuZWwpLDEyME0ocm9vdGZzKSwtKGRhdGEpIgo+ICtyb290 ZnNfbXRkYmxvY2tfbmFuZD02Cj4gKwo+ICthdXRvYm9vdF90aW1lb3V0PTMKPiArCj4gK2Jvb3Rh cmdzPSJjb25zb2xlPXR0eVMwLDExNTIwMCIKPiArCj4gKyMgc2V0IGEgZmFuY3kgcHJvbXB0IChp ZiBzdXBwb3J0IGlzIGNvbXBpbGVkIGluKQo+ICtQUzE9IlxlWzE7MzJtYmFyZWJveEBcZVsxOzMx bVxoOlx3XGVbMG1cbiMgIgo+IGRpZmYgLS1naXQgYS9hcmNoL2FybS9ib2FyZHMvaGFiYS1rbngv aW5pdC5jIGIvYXJjaC9hcm0vYm9hcmRzL2hhYmEta254L2luaXQuYwo+IG5ldyBmaWxlIG1vZGUg MTAwNjQ0Cj4gaW5kZXggMDAwMDAwMC4uZjlkOGYwZgo+IC0tLSAvZGV2L251bGwKPiArKysgYi9h cmNoL2FybS9ib2FyZHMvaGFiYS1rbngvaW5pdC5jCj4gQEAgLTAsMCArMSwzNDggQEAKPiArLyoK PiArICogQ29weXJpZ2h0IChDKSAyMDExLTIwMTIgSmVhbi1DaHJpc3RvcGhlIFBMQUdOSU9MLVZJ TExBUkQKPiArICogQ29weXJpZ2h0IChDKSAyMDE0IEdyZWdvcnkgSGVybWFudCA8Z3JlZ29yeS5o ZXJtYW50QGNhbGFvLXN5c3RlbXMuY29tPgo+ICsgKgo+ICsgKiBUaGlzIHByb2dyYW0gaXMgZnJl ZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCj4gKyAqIG1vZGlmeSBp dCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzCj4g KyAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVy c2lvbiAyIG9mCj4gKyAqIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRl ciB2ZXJzaW9uLgo+ICsgKgo+ICsgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhl IGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKPiArICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJB TlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKPiArICogTUVSQ0hBTlRB QklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQo+ICsg KiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgo+ICsgKgo+ICsg Kgo+ICsgKi8KPiArCj4gKyNpbmNsdWRlIDxjb21tb24uaD4KPiArI2luY2x1ZGUgPG5ldC5oPgo+ ICsjaW5jbHVkZSA8aW5pdC5oPgo+ICsjaW5jbHVkZSA8ZW52aXJvbm1lbnQuaD4KPiArI2luY2x1 ZGUgPGFzbS9hcm1saW51eC5oPgo+ICsjaW5jbHVkZSA8Z2VuZXJhdGVkL21hY2gtdHlwZXMuaD4K PiArI2luY2x1ZGUgPHBhcnRpdGlvbi5oPgo+ICsjaW5jbHVkZSA8ZnMuaD4KPiArI2luY2x1ZGUg PGZjbnRsLmg+Cj4gKyNpbmNsdWRlIDxpby5oPgo+ICsjaW5jbHVkZSA8bWFjaC9oYXJkd2FyZS5o Pgo+ICsjaW5jbHVkZSA8bmFuZC5oPgo+ICsjaW5jbHVkZSA8bGludXgvc2l6ZXMuaD4KPiArI2lu Y2x1ZGUgPGxpbnV4L210ZC9uYW5kLmg+Cj4gKyNpbmNsdWRlIDxsaW51eC9jbGsuaD4KPiArI2lu Y2x1ZGUgPG1hY2gvYm9hcmQuaD4KPiArI2luY2x1ZGUgPG1hY2gvYXQ5MXNhbTlfc21jLmg+Cj4g KyNpbmNsdWRlIDxncGlvLmg+Cj4gKyNpbmNsdWRlIDxsZWQuaD4KPiArI2luY2x1ZGUgPG1hY2gv aW8uaD4KPiArI2luY2x1ZGUgPG1hY2gvaW9tdXguaD4KPiArI2luY2x1ZGUgPG1hY2gvYXQ5MV9w bWMuaD4KPiArI2luY2x1ZGUgPG1hY2gvYXQ5MV9yc3RjLmg+Cj4gKyNpbmNsdWRlIDxzcGkvc3Bp Lmg+Cj4gKyNpbmNsdWRlIDxpMmMvaTJjLmg+Cj4gKyNpbmNsdWRlIDxsaWJmaWxlLmg+Cj4gKwo+ ICsjaWYgZGVmaW5lZChDT05GSUdfTkFORF9BVE1FTCkKPiArc3RhdGljIHN0cnVjdCBhdG1lbF9u YW5kX2RhdGEgbmFuZF9wZGF0YSA9IHsKPiArCS5hbGUJCT0gMjEsCj4gKwkuY2xlCQk9IDIyLAo+ ICsJLmRldF9waW4JPSAtRUlOVkFMLAo+ICsJLnJkeV9waW4JPSBBVDkxX1BJTl9QQzEzLAo+ICsJ LmVuYWJsZV9waW4JPSBBVDkxX1BJTl9QQzE0LAo+ICsJLmVjY19tb2RlCT0gTkFORF9FQ0NfU09G VCwKPiArCS5vbl9mbGFzaF9iYnQJPSAxLAo+ICt9Owo+ICsKPiArc3RhdGljIHN0cnVjdCBzYW05 X3NtY19jb25maWcgaGFiYV9rbnhfbmFuZF9zbWNfY29uZmlnID0gewo+ICsJLm5jc19yZWFkX3Nl dHVwCQk9IDAsCj4gKwkubnJkX3NldHVwCQk9IDIsCj4gKwkubmNzX3dyaXRlX3NldHVwCT0gMCwK PiArCS5ud2Vfc2V0dXAJCT0gMiwKPiArCj4gKwkubmNzX3JlYWRfcHVsc2UJCT0gNCwKPiArCS5u cmRfcHVsc2UJCT0gNCwKPiArCS5uY3Nfd3JpdGVfcHVsc2UJPSA0LAo+ICsJLm53ZV9wdWxzZQkJ PSA0LAo+ICsKPiArCS5yZWFkX2N5Y2xlCQk9IDcsCj4gKwkud3JpdGVfY3ljbGUJCT0gNywKPiAr Cj4gKwkubW9kZQkJCT0gQVQ5MV9TTUNfUkVBRE1PREUgfCBBVDkxX1NNQ19XUklURU1PREUgfAo+ ICsJCQkJICBBVDkxX1NNQ19FWE5XTU9ERV9ESVNBQkxFIHwgQVQ5MV9TTUNfREJXXzgsCj4gKwku dGRmX2N5Y2xlcwkJPSAzLAo+ICt9Owo+ICsKPiArc3RhdGljIHZvaWQgaGFiYV9rbnhfYWRkX2Rl dmljZV9uYW5kKHZvaWQpCj4gK3sKPiArCS8qIGNvbmZpZ3VyZSBjaGlwLXNlbGVjdCAzIChOQU5E KSAqLwo+ICsJc2FtOV9zbWNfY29uZmlndXJlKDAsIDMsICZoYWJhX2tueF9uYW5kX3NtY19jb25m aWcpOwo+ICsJYXQ5MV9hZGRfZGV2aWNlX25hbmQoJm5hbmRfcGRhdGEpOwo+ICt9Cj4gKyNlbHNl Cj4gK3N0YXRpYyB2b2lkIGhhYmFfa254X2FkZF9kZXZpY2VfbmFuZCh2b2lkKSB7fQo+ICsjZW5k aWYKPiArCj4gKyNpZiBkZWZpbmVkKENPTkZJR19EUklWRVJfTkVUX01BQ0IpCj4gK3N0YXRpYyBz dHJ1Y3QgbWFjYl9wbGF0Zm9ybV9kYXRhIG1hY2JfcGRhdGEgPSB7Cj4gKwkucGh5X2ludGVyZmFj ZQk9IFBIWV9JTlRFUkZBQ0VfTU9ERV9STUlJLAo+ICsJLnBoeV9hZGRyCT0gLTEsCj4gK307Cj4g Kwo+ICtzdGF0aWMgdm9pZCBoYWJhX2tueF9waHlfcmVzZXQodm9pZCkKPiArewo+ICsJdW5zaWdu ZWQgbG9uZyByc3RjOwo+ICsJc3RydWN0IGNsayAqY2xrID0gY2xrX2dldChOVUxMLCAibWFjYl9j bGsiKTsKPiArCj4gKwljbGtfZW5hYmxlKGNsayk7Cj4gKwo+ICsJYXQ5MV9zZXRfZ3Bpb19pbnB1 dChBVDkxX1BJTl9QQTE0LCAwKTsKPiArCWF0OTFfc2V0X2dwaW9faW5wdXQoQVQ5MV9QSU5fUEEx NSwgMCk7Cj4gKwlhdDkxX3NldF9ncGlvX2lucHV0KEFUOTFfUElOX1BBMTcsIDApOwo+ICsJYXQ5 MV9zZXRfZ3Bpb19pbnB1dChBVDkxX1BJTl9QQTE4LCAwKTsKPiArCj4gKwlyc3RjID0gYXQ5MV9z eXNfcmVhZChBVDkxX1JTVENfTVIpICYgQVQ5MV9SU1RDX0VSU1RMOwo+ICsKPiArCS8qIE5lZWQg dG8gcmVzZXQgUEhZIC0+IDUwMG1zIHJlc2V0ICovCj4gKwlhdDkxX3N5c193cml0ZShBVDkxX1JT VENfTVIsIEFUOTFfUlNUQ19LRVkgfAo+ICsJCQkJICAgICAoQVQ5MV9SU1RDX0VSU1RMICYgKDB4 MGQgPDwgOCkpIHwKPiArCQkJCSAgICAgQVQ5MV9SU1RDX1VSU1RFTik7Cj4gKwo+ICsJYXQ5MV9z eXNfd3JpdGUoQVQ5MV9SU1RDX0NSLCBBVDkxX1JTVENfS0VZIHwgQVQ5MV9SU1RDX0VYVFJTVCk7 Cj4gKwo+ICsJLyogV2FpdCBmb3IgZW5kIGhhcmR3YXJlIHJlc2V0ICovCj4gKwl3aGlsZSAoIShh dDkxX3N5c19yZWFkKEFUOTFfUlNUQ19TUikgJiBBVDkxX1JTVENfTlJTVEwpKQo+ICsJCTsKPiAr Cj4gKwkvKiBSZXN0b3JlIE5SU1QgdmFsdWUgKi8KPiArCWF0OTFfc3lzX3dyaXRlKEFUOTFfUlNU Q19NUiwgQVQ5MV9SU1RDX0tFWSB8Cj4gKwkJCQkgICAgIChyc3RjKSB8Cj4gKwkJCQkgICAgIEFU OTFfUlNUQ19VUlNURU4pOwo+ICt9Cj4gKwo+ICsjZGVmaW5lIE1BQ0JfU0ExQgkweDAwOTgKPiAr I2RlZmluZSBNQUNCX1NBMVQJMHgwMDljCj4gKwo+ICtzdGF0aWMgaW50IGhhYmFfaXBfZ2V0X21h Y2JfZXRoYWRkcih1OCAqYWRkcikKPiAre1sKPiArCXUzMiB0b3AsIGJvdHRvbTsKPiArCXZvaWQg X19pb21lbSAqYmFzZSA9IElPTUVNKEFUOTFTQU05MjYwX0JBU0VfRU1BQyk7Cj4gKwo+ICsJYm90 dG9tID0gcmVhZGwoYmFzZSArIE1BQ0JfU0ExQik7Cj4gKwl0b3AgPSByZWFkbChiYXNlICsgTUFD Ql9TQTFUKTsKPiArCWFkZHJbMF0gPSBib3R0b20gJiAweGZmOwo+ICsJYWRkclsxXSA9IChib3R0 b20gPj4gOCkgJiAweGZmOwo+ICsJYWRkclsyXSA9IChib3R0b20gPj4gMTYpICYgMHhmZjsKPiAr CWFkZHJbM10gPSAoYm90dG9tID4+IDI0KSAmIDB4ZmY7Cj4gKwlhZGRyWzRdID0gdG9wICYgMHhm ZjsKPiArCWFkZHJbNV0gPSAodG9wID4+IDgpICYgMHhmZjsKPiArCj4gKwkvKiB2YWxpZCBhbmQg bm90IHByaXZhdGUgKi8KPiArCWlmIChpc192YWxpZF9ldGhlcl9hZGRyKGFkZHIpICYmICEoYWRk clswXSAmIDB4MDIpKQo+ICsJCXJldHVybiAwOwo+ICsKPiArCXJldHVybiAtRUlOVkFMOwo+ICt9 Cj4gKwo+ICsjZGVmaW5lIEVFUFJPTV9PRkZTRVQgMjUwCj4gKyNkZWZpbmUgRUVQUk9NX1NJWkUg MjU2Cj4gKwo+ICtzdGF0aWMgaW50IGhhYmFfc2V0X2V0aGFkZHIodm9pZCkKPiArewo+ICsJY2hh ciBhZGRyWzZdOwo+ICsJY2hhciBlZXBfZGF0YVsyNTZdOwo+ICsJaW50IGksIGZkLCByZXQ7Cj4g Kwo+ICsJZmQgPSBvcGVuKCIvZGV2L2VlcHJvbTAiLCBPX1JET05MWSk7Cj4gKwlpZiAoZmQgPCAw KSB7Cj4gKwkJcmV0ID0gZmQ7Cj4gKwkJZ290byBlcnI7Cj4gKwl9Cj4gKwo+ICsJcmV0ID0gcmVh ZF9mdWxsKGZkLCBlZXBfZGF0YSwgRUVQUk9NX1NJWkUpOwo+ICsJaWYgKHJldCA8IDApCj4gKwkJ Z290byBlcnJfb3BlbjsKPiArCj4gKwlmb3IgKGkgPSAwOyBpIDwgNjsgaSsrKQo+ICsJCWFkZHJb aV0gPSBlZXBfZGF0YVtFRVBST01fT0ZGU0VUK2ldOwo+ICsKPiArCWV0aF9yZWdpc3Rlcl9ldGhh ZGRyKDAsIGFkZHIpOwo+ICsKPiArCXJldCA9IDA7Cj4gKwo+ICtlcnJfb3BlbjoKPiArCWNsb3Nl KGZkKTsKPiArZXJyOgo+ICsJaWYgKHJldCkKPiArCQlwcl9lcnIoImNhbid0IHJlYWQgZWVwcm9t IC9kZXYvZWVwcm9tMCAoJXMpXG4iLCBzdHJlcnJvcihyZXQpKTsKPiArCj4gKwlyZXR1cm4gcmV0 Owo+ICt9CkdlbmVyaWMgc2hvdWxkIG5vIGJlIGluIGJvYXJkIGZpbGUKPiArCj4gK3N0YXRpYyB2 b2lkIGhhYmFfa254X2FkZF9kZXZpY2VfZXRoKHZvaWQpCj4gK3sKPiArCXU4IGVuZXRhZGRyWzZd Owo+ICsKPiArCWlmICghaGFiYV9pcF9nZXRfbWFjYl9ldGhhZGRyKGVuZXRhZGRyKSkKCURvIHlv dSByZWFsbHkgbmVlZCB0byBjaGVjayBJIGRvIHJlbWVtYmVyIHdoZW4gSSB3b3JrIG9uIHRoaXMg cGF0Y2ggdGhhdCBJCglwdXQgaXQgaW4gY2FzZSB5b3UgcmUtcnVuIGJhcmVib3ggZm9yIHJhbQoJ YW5kIGRvIG5vdCB3YW50IHRvIG92ZXJ3cml0ZSB0aGUgbWFjCgoJQnV0IGFzIGl04oCZcyBtYWNi IHJlbGF0ZWQgdGhlIGNvZGUgdG8gcmV0cmlldmUgdGhlIG1hYyBzaG91bGQgYmUgbW92ZSB0byBh IGlubGluZQoJaW4gdGhlIG1hY2IgaGVhZGVyIChhcyB0aGlzIGNvZGUgaXMgdXNlZCBieSB0aGUg ZHJpdmVyIHRvbykKCQoKPiArCQlldGhfcmVnaXN0ZXJfZXRoYWRkcigwLCBlbmV0YWRkcik7CgkJ bm8gbmVlZCB0aGlzIHJlZ2lzdGVyIGl0IHdpbGwgYmUgaGFuZGxlIGJ5IHRoZSBtYWNiIGRyaXZl cgo+ICsJZWxzZQo+ICsJCWhhYmFfc2V0X2V0aGFkZHIoKTsKPiArCj4gKwloYWJhX2tueF9waHlf cmVzZXQoKTsKPiArCWF0OTFfYWRkX2RldmljZV9ldGgoMCwgJm1hY2JfcGRhdGEpOwo+ICt9Cj4g KyNlbHNlCj4gK3N0YXRpYyB2b2lkIGhhYmFfa254X2FkZF9kZXZpY2VfZXRoKHZvaWQpIHt9Cj4g KyNlbmRpZgo+ICsKPiArLyoKPiArICogVVNCIERldmljZSBwb3J0Cj4gKyAqLwo+ICtzdGF0aWMg c3RydWN0IGF0OTFfdWRjX2RhdGEgX19pbml0ZGF0YSBla191ZGNfZGF0YSA9IHsKPiArCS52YnVz X3Bpbgk9IEFUOTFfUElOX1BCMiwKPiArCS5wdWxsdXBfcGluCT0gMCwJCS8qIHB1bGwtdXAgZHJp dmVuIGJ5IFVEQyAqLwo+ICt9Owo+ICsKPiArc3RhdGljIHN0cnVjdCBpMmNfYm9hcmRfaW5mbyBp MmNfZGV2aWNlc1tdID0gewo+ICsJewo+ICsJCUkyQ19CT0FSRF9JTkZPKCIyNGMwMiIsIDB4NTAp Cj4gKwl9Cj4gK307Cj4gKwo+ICtzdGF0aWMgY29uc3Qgc3RydWN0IHNwaV9ib2FyZF9pbmZvIGVr X3NwaV9kZXZpY2VzW10gPSB7Cj4gKwl7Cj4gKwkJLm5hbWUJCT0gIm0yNXAxNiIsCj4gKwkJLm1h eF9zcGVlZF9oegk9IDMwICogMTAwMCAqIDEwMDAsCj4gKwkJLmJ1c19udW0JPSAwLAo+ICsJCS5j aGlwX3NlbGVjdAk9IDAsCj4gKwl9LAo+ICsJewo+ICsJCS5uYW1lCQk9ICJzcGlfbWNpIiwKPiAr CQkubWF4X3NwZWVkX2h6CT0gMjUgKiAxMDAwICogMTAwMCwKPiArCQkuYnVzX251bQk9IDAsCj4g KwkJLmNoaXBfc2VsZWN0CT0gMSwKPiArCX0KPiArfTsKPiArCj4gK3N0YXRpYyB1bnNpZ25lZCBz cGkwX3N0YW5kYXJkX2NzW10gPSB7IEFUOTFfUElOX1BBMywgQVQ5MV9QSU5fUEEyNyB9Owo+ICtz dGF0aWMgc3RydWN0IGF0OTFfc3BpX3BsYXRmb3JtX2RhdGEgc3BpX3BkYXRhID0gewo+ICsJLmNo aXBzZWxlY3QgPSBzcGkwX3N0YW5kYXJkX2NzLAo+ICsJLm51bV9jaGlwc2VsZWN0ID0gQVJSQVlf U0laRShzcGkwX3N0YW5kYXJkX2NzKSwKPiArfTsKSeKAmWxsIGRyb3AgdGhpcyBzb29uLCBhbmQg aW5zdGVhZCBwYXNzIHRoZSBjcyBncGlvIHZpYSBib2FyZF9pbmZvIGFzIGRvbmUgb24gbGludXgK PiArCj4gK3N0YXRpYyB2b2lkIGhhYmFfa254X2FkZF9kZXZpY2Vfc3BpKHZvaWQpCj4gK3sKPiAr CWlmIChtYWNoaW5lX2lzX2hhYmFfa254X2xpdGUoKSkgewo+ICsJCXNwaV9yZWdpc3Rlcl9ib2Fy ZF9pbmZvKGVrX3NwaV9kZXZpY2VzLAo+ICsJCQkJCUFSUkFZX1NJWkUoZWtfc3BpX2RldmljZXMp KTsKPiArCQlhdDkxX2FkZF9kZXZpY2Vfc3BpKDAsICZzcGlfcGRhdGEpOwo+ICsJfQo+ICt9Cj4g Kwo+ICtzdGF0aWMgc3RydWN0IGF0OTFfdXNiaF9kYXRhIGhhYmFfa254X3VzYmhfZGF0YSA9IHsK PiArCS5wb3J0cwkJPSAyLAo+ICsJLnZidXNfcGluCT0geyAtRUlOVkFMLCAtRUlOVkFMIH0sCj4g K307Cj4gKwo+ICtzdGF0aWMgdm9pZCBoYWJhX2tueF9hZGRfZGV2aWNlX3VzYih2b2lkKQo+ICt7 Cj4gKwlhdDkxX2FkZF9kZXZpY2VfdXNiaF9vaGNpKCZoYWJhX2tueF91c2JoX2RhdGEpOwo+ICt9 Cj4gKwo+ICtzdHJ1Y3QgZ3Bpb19sZWQgbGVkID0gewo+ICsJLmdwaW8gPSBBVDkxX1BJTl9QQTI4 LAo+ICsJLmxlZCA9IHsKPiArCQkubmFtZSA9ICJ1c2VyX2xlZCIsCj4gKwl9LAo+ICt9Owo+ICsK PiArc3RhdGljIHZvaWQgX19pbml0IGVrX2FkZF9sZWQodm9pZCkKPiArewo+ICsJaWYgKCFtYWNo aW5lX2lzX2hhYmFfa254X2xpdGUoKSkKPiArCQlyZXR1cm47Cgp5b3Ugb25seSBhZGQgdGhlIGxp dGUgdmVyc2lvbiBpbiB0aGlzIHBhdGNoCj4gKwlhdDkxX3NldF9ncGlvX291dHB1dChsZWQuZ3Bp bywgbGVkLmFjdGl2ZV9sb3cpOwo+ICsJbGVkX2dwaW9fcmVnaXN0ZXIoJmxlZCk7Cj4gK30KPiAr Cj4gK3N0YXRpYyBpbnQgaGFiYV9rbnhfbWVtX2luaXQodm9pZCkKPiArewo+ICsJYXQ5MV9hZGRf ZGV2aWNlX3NkcmFtKDApOwo+ICsJcmV0dXJuIDA7Cj4gK30KPiArbWVtX2luaXRjYWxsKGhhYmFf a254X21lbV9pbml0KTsKPiArCj4gK3N0YXRpYyB2b2lkIF9faW5pdCBla19hZGRfZGV2aWNlX2J1 dHRvbih2b2lkKQo+ICt7Cj4gKwlhdDkxX3NldF9HUElPX3BlcmlwaChBVDkxX1BJTl9QQzMsIDEp OwkvKiB1c2VyIGJ0biwgcHVsbCB1cCBlbmFibGVkICovCj4gKwlhdDkxX3NldF9kZWdsaXRjaChB VDkxX1BJTl9QQzMsIDEpOwo+ICsJZXhwb3J0X2Vudl91bGwoImRmdV9idXR0b24iLCBBVDkxX1BJ Tl9QQzMpOwo+ICt9Cj4gKwo+ICtzdGF0aWMgY29uc3Qgc3RydWN0IGRldmZzX3BhcnRpdGlvbiBo YWJhX2tueF9uYW5kMF9wYXJ0aXRpb25zW10gPSB7Cj4gKwl7Cj4gKwkJLm9mZnNldCA9IDB4MDAw MDAsCj4gKwkJLnNpemUgPSBTWl8xMjhLLAo+ICsJCS5mbGFncyA9IERFVkZTX1BBUlRJVElPTl9G SVhFRCwKPiArCQkubmFtZSA9ICJhdDkxYm9vdHN0cmFwX3JhdyIsCj4gKwkJLmJibmFtZSA9ICJh dDkxYm9vdHN0cmFwIiwKPiArCX0sIHsKPiArCQkub2Zmc2V0ID0gREVWRlNfUEFSVElUSU9OX0FQ UEVORCwKPiArCQkuc2l6ZSA9IFNaXzI1NkssCj4gKwkJLmZsYWdzID0gREVWRlNfUEFSVElUSU9O X0ZJWEVELAo+ICsJCS5uYW1lID0gInNlbGZfcmF3IiwKPiArCQkuYmJuYW1lID0gInNlbGYwIiwK PiArCX0sIHsKPiArCQkub2Zmc2V0ID0gREVWRlNfUEFSVElUSU9OX0FQUEVORCwKPiArCQkuc2l6 ZSA9IFNaXzEyOEssCj4gKwkJLmZsYWdzID0gREVWRlNfUEFSVElUSU9OX0ZJWEVELAo+ICsJCS5u YW1lID0gImVudl9yYXciLAo+ICsJCS5iYm5hbWUgPSAiZW52MCIsCj4gKwl9LCB7Cj4gKwkJLm9m ZnNldCA9IERFVkZTX1BBUlRJVElPTl9BUFBFTkQsCj4gKwkJLnNpemUgPSBTWl8xMjhLLAo+ICsJ CS5mbGFncyA9IERFVkZTX1BBUlRJVElPTl9GSVhFRCwKPiArCQkubmFtZSA9ICJlbnZfcmF3MSIs Cj4gKwkJLmJibmFtZSA9ICJlbnYxIiwKPiArCX0sIHsKPiArCQkvKiBzZW50aW5lbCAqLwo+ICsJ fQo+ICt9Owo+ICsKPiArc3RhdGljIGludCBoYWJhX2tueF9kZXZpY2VzX2luaXQodm9pZCkKPiAr ewo+ICsJYXQ5MV9hZGRfZGV2aWNlX2kyYygwLCBpMmNfZGV2aWNlcywgQVJSQVlfU0laRShpMmNf ZGV2aWNlcykpOwo+ICsJaGFiYV9rbnhfYWRkX2RldmljZV9uYW5kKCk7Cj4gKwloYWJhX2tueF9h ZGRfZGV2aWNlX2V0aCgpOwo+ICsJaGFiYV9rbnhfYWRkX2RldmljZV9zcGkoKTsKPiArCWhhYmFf a254X2FkZF9kZXZpY2VfdXNiKCk7Cj4gKwlhdDkxX2FkZF9kZXZpY2VfdWRjKCZla191ZGNfZGF0 YSk7Cj4gKwlla19hZGRfbGVkKCk7Cj4gKwlla19hZGRfZGV2aWNlX2J1dHRvbigpOwo+ICsKPiAr CWFybWxpbnV4X3NldF9ib290cGFyYW1zKCh2b2lkICopKEFUOTFfQ0hJUFNFTEVDVF8xICsgMHgx MDApKTsKPiArCWFybWxpbnV4X3NldF9hcmNoaXRlY3R1cmUoTUFDSF9UWVBFX0hBQkFfS05YX0xJ VEUpOwo+ICsKPiArCWRldmZzX2NyZWF0ZV9wYXJ0aXRpb25zKCJuYW5kMCIsIGhhYmFfa254X25h bmQwX3BhcnRpdGlvbnMpOwo+ICsKPiArCXJldHVybiAwOwo+ICt9Cj4gK2RldmljZV9pbml0Y2Fs bChoYWJhX2tueF9kZXZpY2VzX2luaXQpOwo+ICsKPiArc3RhdGljIGludCBoYWJhX2tueF9jb25z b2xlX2luaXQodm9pZCkKPiArewo+ICsJYmFyZWJveF9zZXRfbW9kZWwoIkNBTEFPIEhBQkEtS05Y LUxJVEUiKTsKPiArCWJhcmVib3hfc2V0X2hvc3RuYW1lKCJoYWJhLWtueC1saXRlIik7Cj4gKwo+ ICsJYXQ5MV9yZWdpc3Rlcl91YXJ0KDAsIDApOwo+ICsJYXQ5MV9zZXRfQV9wZXJpcGgoQVQ5MV9Q SU5fUEIxNCwgMSk7ICAgIC8qIEVuYWJsZSBwdWxsLXVwIG9uIERSWEQgKi8KPiArCj4gKwlhdDkx X3NldF9ncGlvX2lucHV0KEFUOTFfUElOX1BCMCwgMSk7CS8qIEVuYWJsZSBwdWxsLXVwIG9uIHVz ZCBDRCAqLwo+ICsJcmV0dXJuIDA7Cj4gK30KPiArY29uc29sZV9pbml0Y2FsbChoYWJhX2tueF9j b25zb2xlX2luaXQpOwo+ICsKPiArc3RhdGljIGludCBoYWJhX2tueF9tYWluX2Nsb2NrKHZvaWQp Cj4gK3sKPiArCWF0OTFfc2V0X21haW5fY2xvY2soMTIwMDAwMDApOwo+ICsJcmV0dXJuIDA7Cj4g K30KPiArcHVyZV9pbml0Y2FsbChoYWJhX2tueF9tYWluX2Nsb2NrKTsKPiBkaWZmIC0tZ2l0IGEv YXJjaC9hcm0vY29uZmlncy9oYWJhX2tueF9saXRlX2RlZmNvbmZpZyBiL2FyY2gvYXJtL2NvbmZp Z3MvaGFiYV9rbnhfbGl0ZV9kZWZjb25maWcKPiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+IGluZGV4 IDAwMDAwMDAuLjYyZDY2YmMKPiAtLS0gL2Rldi9udWxsCj4gKysrIGIvYXJjaC9hcm0vY29uZmln cy9oYWJhX2tueF9saXRlX2RlZmNvbmZpZwo+IEBAIC0wLDAgKzEsODkgQEAKPiArQ09ORklHX0FS Q0hfQVQ5MVNBTTlHMjA9eQo+ICtDT05GSUdfTUFDSF9IQUJBX0tOWF9MSVRFPXkKPiArQ09ORklH X0JBUkVCT1hfTUFYX0lNQUdFX1NJWkU9MHg0MDAwMAo+ICtDT05GSUdfQUVBQkk9eQo+ICtDT05G SUdfQVJNX09QVElNWkVEX1NUUklOR19GVU5DVElPTlM9eQo+ICtDT05GSUdfUEJMX0lNQUdFPXkK PiArQ09ORklHX01NVT15Cj4gK0NPTkZJR19URVhUX0JBU0U9MHgyN2YwMDAwMAo+ICtDT05GSUdf RVhQRVJJTUVOVEFMPXkKPiArQ09ORklHX01BTExPQ19UTFNGPXkKPiArQ09ORklHX1BST01QVD0i SEFCQS1LTlgtTElURToiCj4gK0NPTkZJR19HTE9CPXkKPiArQ09ORklHX1BST01QVF9IVVNIX1BT Mj0ieSIKPiArQ09ORklHX0hVU0hfRkFOQ1lfUFJPTVBUPXkKPiArQ09ORklHX0NNRExJTkVfRURJ VElORz15Cj4gK0NPTkZJR19BVVRPX0NPTVBMRVRFPXkKPiArQ09ORklHX01FTlU9eQo+ICtDT05G SUdfQ09OU09MRV9BQ1RJVkFURV9BTEw9eQo+ICtDT05GSUdfREVGQVVMVF9FTlZJUk9OTUVOVF9H RU5FUklDPXkKPiArQ09ORklHX0RFRkFVTFRfRU5WSVJPTk1FTlRfUEFUSD0iYXJjaC9hcm0vYm9h cmRzL2hhYmEta254L2VuduKAnQpwbGVhc2UgdXNlIGRlZmF1bHRlbnYyIG5vdwo+ICsjIENPTkZJ R19DTURfQVJNX0NQVUlORk8gaXMgbm90IHNldAo+ICtDT05GSUdfTE9OR0hFTFA9eQo+ICtDT05G SUdfQ01EX01FTUlORk89eQo+ICtDT05GSUdfQ01EX0JPT1RNX1NIT1dfVFlQRT15Cj4gK0NPTkZJ R19DTURfQk9PVE1fVkVSQk9TRT15Cj4gK0NPTkZJR19DTURfQk9PVE1fSU5JVFJEPXkKPiArQ09O RklHX0NNRF9CT09UTV9PRlRSRUU9eQo+ICtDT05GSUdfQ01EX0JPT1RNX09GVFJFRV9VSU1BR0U9 eQo+ICsjIENPTkZJR19DTURfQk9PVFUgaXMgbm90IHNldAo+ICtDT05GSUdfQ01EX0dPPXkKPiAr Q09ORklHX0NNRF9MT0FEQj15Cj4gK0NPTkZJR19DTURfUkVTRVQ9eQo+ICtDT05GSUdfQ01EX1VJ TUFHRT15Cj4gK0NPTkZJR19DTURfUEFSVElUSU9OPXkKPiArQ09ORklHX0NNRF9FWFBPUlQ9eQo+ ICtDT05GSUdfQ01EX1BSSU5URU5WPXkKPiArQ09ORklHX0NNRF9TQVZFRU5WPXkKPiArQ09ORklH X0NNRF9NRDVTVU09eQo+ICtDT05GSUdfQ01EX1NIQTFTVU09eQo+ICtDT05GSUdfQ01EX1NMRUVQ PXkKPiArQ09ORklHX0NNRF9URlRQPXkKPiArQ09ORklHX0NNRF9FQ0hPX0U9eQo+ICtDT05GSUdf Q01EX0VESVQ9eQo+ICtDT05GSUdfQ01EX01FTlU9eQo+ICtDT05GSUdfQ01EX01FTlVfTUFOQUdF TUVOVD15Cj4gK0NPTkZJR19DTURfUkVBRExJTkU9eQo+ICtDT05GSUdfQ01EX1RJTUVPVVQ9eQo+ ICtDT05GSUdfQ01EX0ZMQVNIPXkKPiArQ09ORklHX0NNRF9HUElPPXkKPiArQ09ORklHX0NNRF9J MkM9eQo+ICtDT05GSUdfQ01EX0xFRD15Cj4gK0NPTkZJR19DTURfU1BJPXkKPiArQ09ORklHX0NN RF9MRURfVFJJR0dFUj15Cj4gK0NPTkZJR19DTURfQkFSRUJPWF9VUERBVEU9eQo+ICtDT05GSUdf Q01EX09GVFJFRT15Cj4gK0NPTkZJR19ORVQ9eQo+ICtDT05GSUdfTkVUX05GUz15Cj4gK0NPTkZJ R19ORVRfTkVUQ09OU09MRT15Cj4gK0NPTkZJR19EUklWRVJfTkVUX01BQ0I9eQo+ICtDT05GSUdf RFJJVkVSX1NQSV9BVE1FTD15Cj4gK0NPTkZJR19JMkM9eQo+ICtDT05GSUdfSTJDX0dQSU89eQo+ ICtDT05GSUdfTVREPXkKPiArIyBDT05GSUdfTVREX09PQl9ERVZJQ0UgaXMgbm90IHNldAo+ICtD T05GSUdfTVREX00yNVA4MD15Cj4gK0NPTkZJR19OQU5EPXkKPiArIyBDT05GSUdfTkFORF9FQ0Nf SFcgaXMgbm90IHNldAo+ICsjIENPTkZJR19OQU5EX0VDQ19IV19TWU5EUk9NRSBpcyBub3Qgc2V0 Cj4gKyMgQ09ORklHX05BTkRfRUNDX0hXX05PTkUgaXMgbm90IHNldAo+ICtDT05GSUdfTkFORF9B VE1FTD15Cj4gK0NPTkZJR19NVERfVUJJPXkKPiArQ09ORklHX1VTQl9HQURHRVQ9eQo+ICtDT05G SUdfVVNCX0dBREdFVF9TRVJJQUw9eQo+ICtDT05GSUdfTUNJPXkKPiArIyBDT05GSUdfTUNJX0lO Rk8gaXMgbm90IHNldAo+ICsjIENPTkZJR19NQ0lfV1JJVEUgaXMgbm90IHNldAo+ICtDT05GSUdf TUNJX1NQST15Cj4gK0NPTkZJR19NTUNfU1BJX0NSQ19PTj15Cj4gK0NPTkZJR19MRUQ9eQo+ICtD T05GSUdfTEVEX0dQSU89eQo+ICtDT05GSUdfTEVEX1RSSUdHRVJTPXkKPiArQ09ORklHX0VFUFJP TV9BVDI0PXkKPiArQ09ORklHX0ZTX1RGVFA9eQo+ICtDT05GSUdfRlNfRkFUPXkKPiArQ09ORklH X0ZTX0ZBVF9XUklURT15Cj4gK0NPTkZJR19GU19GQVRfTEZOPXkKPiArQ09ORklHX0ZTX1VCSUZT PXkKPiArQ09ORklHX1pMSUI9eQo+ICtDT05GSUdfTFpPX0RFQ09NUFJFU1M9eQo+IGRpZmYgLS1n aXQgYS9hcmNoL2FybS9tYWNoLWF0OTEvS2NvbmZpZyBiL2FyY2gvYXJtL21hY2gtYXQ5MS9LY29u ZmlnCj4gaW5kZXggOWVlNGYzMC4uYjg1ZTZmYSAxMDA2NDQKPiAtLS0gYS9hcmNoL2FybS9tYWNo LWF0OTEvS2NvbmZpZwo+ICsrKyBiL2FyY2gvYXJtL21hY2gtYXQ5MS9LY29uZmlnCj4gQEAgLTM1 Miw2ICszNTIsMTEgQEAgY29uZmlnIE1BQ0hfUUlMX0E5RzIwCj4gCSAgU2VsZWN0IHRoaXMgaWYg eW91IGFyZSB1c2luZyBhIENhbGFvIFN5c3RlbXMgUUlMLUE5RzIwIEJvYXJkLgo+IAkgIDxodHRw Oi8vd3d3LmNhbGFvLXN5c3RlbXMuY29tPgo+IAo+ICtjb25maWcgTUFDSF9IQUJBX0tOWF9MSVRF Cj4gKwlib29sICJDQUxBTyBIQUJBLUtOWC1MSVRFIgo+ICsJaGVscAo+ICsJICBTZWxlY3QgdGhp cyBpZiB5b3UgYXJlIHVzaW5nIGEgQ2FsYW8gU3lzdGVtcyBIQUJBLUtOWC1MSVRFLgo+ICsJICA8 aHR0cDovL3d3dy5jYWxhby1zeXN0ZW1zLmNvbT4KPiBlbmRjaG9pY2UKPiAKPiBlbmRpZgo+IC0t IAo+IDEuNy45LjUKPiAKPiAKPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXwo+IGJhcmVib3ggbWFpbGluZyBsaXN0Cj4gYmFyZWJveEBsaXN0cy5pbmZyYWRl YWQub3JnCj4gaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9iYXJl Ym94CgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KYmFy ZWJveCBtYWlsaW5nIGxpc3QKYmFyZWJveEBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0 cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vYmFyZWJveAo=