From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH] backlight: Avoid double fbcon backlight handling Date: Thu, 4 Aug 2016 11:50:27 +0200 Message-ID: <20160804095027.GB6232@phenom.ffwll.local> References: <1467286256-8870-1-git-send-email-chris@chris-wilson.co.uk> <20160712122119.GR23520@phenom.ffwll.local> <87a8gsq540.fsf@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <87a8gsq540.fsf@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Jani Nikula Cc: Milo Kim , Krzysztof Kozlowski , David Airlie , nouveau@lists.freedesktop.org, Jon Nettleton , Nicolas Ferre , linux-fbdev@vger.kernel.org, dri-devel@lists.freedesktop.org, Thierry Reding , Paul Mackerras , Laurent Pinchart , Daniel Vetter , Lee Jones , Daniel Drake , Jens Frederich , linux-acpi@vger.kernel.org, Bruno =?iso-8859-1?Q?Pr=E9mont?= , Tomi Valkeinen , Ben Skeggs , Zhang Rui , Jean-Christophe Plagniol-Villard , Michael Hennerich , intel-gfx@lists.f List-Id: linux-acpi@vger.kernel.org T24gVGh1LCBBdWcgMDQsIDIwMTYgYXQgMTI6MDI6MjNQTSArMDMwMCwgSmFuaSBOaWt1bGEgd3Jv dGU6Cj4gT24gVHVlLCAxMiBKdWwgMjAxNiwgRGFuaWVsIFZldHRlciA8ZGFuaWVsQGZmd2xsLmNo PiB3cm90ZToKPiA+IE9uIFRodSwgSnVuIDMwLCAyMDE2IGF0IDEyOjMwOjU2UE0gKzAxMDAsIENo cmlzIFdpbHNvbiB3cm90ZToKPiA+PiBCYWNrbGlnaHRzIGNvbnRyb2xsZWQgYnkgaTkxNS5rbyBh bmQgb25seSBhc3NvY2lhdGVkIHdpdGggaXRzIGNvbm5lY3RvcnMKPiA+PiBhbmQgYWxzbyBvbmx5 IGFzc29jaWF0ZWQgd2l0aCB0aGUgaW50ZWxfZHJtZmIgZmJjb24sIGNvbnRyb2xsZWQgYnkKPiA+ PiBpOTE1LmtvLiBJbiB0aGlzIHNpdHVhdGlvbiwgd2UgYWxyZWFkeSBoYW5kbGUgYWRqdXN0aW5n IHRoZSBiYWNrbGlnaHQKPiA+PiB3aGVuIHRoZSBmYmNvbiBpcyBibGFua2VkL3VuYmxhbmtlZCBh bmQgZG8gbm90IHJlcXVpcmUgYmFja2xpZ2h0IHRyeWluZwo+ID4+IHRvIGRvIHRoZSBzYW1lLgo+ ID4+IAo+ID4+IEF0dGVtcHRpbmcgdG8gcmVnaXN0ZXIgd2l0aCB0aGUgZmJkZXYgYXMgYSBjbGll bnQgY2F1c2VzIGxvY2tkZXAgdG8gd2Fybgo+ID4+IGFib3V0IGEgZGVwZW5kZW5jeSBjeWNsZToK PiA+Cj4gPiBUaGUgZmJkZXYgbm90aWZpZXIgc3RyaWtlcyBhZ2FpbiEKPiA+Cj4gPiBMYXN0IHRp bWUgSSBsb29rZWQgaW50byB0aGlzIEkgdGhpbmsgdGhlIHByb3BlciBzb2x1dGlvbiB3b3VsZCBi ZSB0byBzcGxpdAo+ID4gdGhlIGJhY2tsaWdodCBwYXJ0IGZyb20gdGhlIG90aGVyIGZiZGV2IG5v dGlmaWVyICh3aGljaCBpcyB1c2VkIGJ5IGZiY29uCj4gPiBmb3IgcmVhY3RpbmcgdG8gZmJkZXYg ZGV2aWNlIHJlZy91bnJlZyBldmVudHMpLgo+ID4KPiA+IEkgdGhpbmsgdGhhdCB3b3VsZCBmaXgg dGhpcyB0b28sIHdpdGggdGhlIGFkZGVkIGJvbnVzIG9mIHNsaWdodGx5Cj4gPiB1bnRhbmdsaW5n IHRoZSBmYmNvbiBsb2NraW5nIG1lc3MuIEFuZCBpdCdzIGFsc28gdGhlIG9uZSBwYXJ0IG9mCj4g PiB1bnRhbmdsaW5nIHRoaXMgbWVzcyB3aGljaCBzaG91bGQgYmUgcG9zc2libGUgd2l0aG91dCBh bnkgdHJvdWJsZSAtIEkndmUKPiA+IHNpbXBseSBuZXZlciBkb25lIGl0IHNpbmNlIGVudGlyZWx5 IGdldHRpbmcgcmlkIG9mIHRoZSBmYmRldiBub3RpZmllciBmb3IKPiA+IGZiY29uIGlzIGEgbG90 IG1vcmUgd29yay4KPiAKPiBTbyB3aGF0IGRvIHdlIGRvIHdpdGggdGhpcz8gSXQgZml4ZXMgYSBw cm9ibGVtIHVwc3RyZWFtLiBUaGVyZSdzIG5vCj4gRml4ZXM6IHRvIGlkZW50aWZ5IHRoZSBiYWQg Y29tbWl0LiBBbnkgaWRlYSBvbiB0aGF0PyBJdCdzIGVpdGhlciB0aGlzIG9yCj4gd2UgZGlnIG91 dCB0aGUgYmFkIGNvbW1pdCAoQ2hyaXMgcHJvYmFibHkga25vd3Mgd2hpY2ggb25lPykgYW5kIHJl dmVydC4KClRoZSByZWFsIHRyb3VibGUgaXMgdGhlIGRybV9mb3JfZWFjaF9jb25uZWN0b3IgaW4K ZHJtX2Nvbm5lY3Rvcl9yZWdpc3Rlcl9hbGwoKS4gVGhpcyBpbnRyb2R1Y2VkIHRoZSBuZXcgZGVw ZW5jeS4gVGhlIHByb3BlcgpmaXggaW1vIGlzIHRvIGZpeCB1cCB0aGUgY29ubmVjdG9yX2xpc3Qg bG9ja2luZywgYnV0IGZvciA0Ljggd2UgY291bGQgZG8KdGhlIHNhbWUgaGFjaytjb21tZW50IGxp a2Ugd2UgZG8gaW4gdW5yZWdpc3Rlcl9hbGwuIEl0J3Mgbm90IHRoZSBvbmx5CnBsYWNlIHRoYXQn cyBicm9rZW4gYW55d2F5LCBhbmQgbXVjaCBsZXNzIGludmFzaXZlIHRoYW4gdGhpcyBoZXJlLgoK SWYgc29tZW9uZSBjb25maXJtcyBJJ2xsIGJha2UgaXQgaW50byBhIHJlYWwgcGF0Y2guCi1EYW5p ZWwKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2Nvbm5lY3Rvci5jIGIvZHJpdmVy cy9ncHUvZHJtL2RybV9jb25uZWN0b3IuYwppbmRleCBlZjkyMWZhMDlhODQuLmM5OTBmZTljYzBj ZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9jb25uZWN0b3IuYworKysgYi9kcml2 ZXJzL2dwdS9kcm0vZHJtX2Nvbm5lY3Rvci5jCkBAIC00MDEsMTYgKzQwMSwxMyBAQCBpbnQgZHJt X2Nvbm5lY3Rvcl9yZWdpc3Rlcl9hbGwoc3RydWN0IGRybV9kZXZpY2UgKmRldikKIAlzdHJ1Y3Qg ZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yOwogCWludCByZXQ7CiAKLQltdXRleF9sb2NrKCZkZXYt Pm1vZGVfY29uZmlnLm11dGV4KTsKLQotCWRybV9mb3JfZWFjaF9jb25uZWN0b3IoY29ubmVjdG9y LCBkZXYpIHsKKwkvKiBGSVhNRTogdGFraW5nIHRoZSBtb2RlIGNvbmZpZyBtdXRleCBlbmRzIHVw IGluIGEgY2xhc2ggd2l0aCBzeXNmcyAqLworCWxpc3RfZm9yX2VhY2hfZW50cnkoY29ubmVjdG9y LCAmZGV2LT5tb2RlX2NvbmZpZy5jb25uZWN0b3JfbGlzdCwgaGVhZCkgewogCQlyZXQgPSBkcm1f Y29ubmVjdG9yX3JlZ2lzdGVyKGNvbm5lY3Rvcik7CiAJCWlmIChyZXQpCiAJCQlnb3RvIGVycjsK IAl9CiAKLQltdXRleF91bmxvY2soJmRldi0+bW9kZV9jb25maWcubXV0ZXgpOwotCiAJcmV0dXJu IDA7CiAKIGVycjoKPiAKPiBCUiwKPiBKYW5pLgo+IAo+IAo+ID4gLURhbmllbAo+ID4KPiA+PiAK PiA+PiBbICAgMTguOTgzNzYzXSA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT0KPiA+PiBbICAgMTguOTgzNzYzXSBbIElORk86IHBvc3NpYmxlIGNp cmN1bGFyIGxvY2tpbmcgZGVwZW5kZW5jeSBkZXRlY3RlZCBdCj4gPj4gWyAgIDE4Ljk4Mzc2Nl0g NC43LjAtcmM1KyAjNTI0IFRhaW50ZWQ6IEcgICAgICAgICAgIE8KPiA+PiBbICAgMTguOTgzNzY3 XSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t Cj4gPj4gWyAgIDE4Ljk4Mzc2N10ga3dvcmtlci91ODowLzYgaXMgdHJ5aW5nIHRvIGFjcXVpcmUg bG9jazoKPiA+PiBbICAgMTguOTgzNzc3XSAgKCZkZXYtPm1vZGVfY29uZmlnLm11dGV4KXsrLisu Ky59LCBhdDogWzxmZmZmZmZmZjgxNWFmZGUwPl0gZHJtX21vZGVzZXRfbG9ja19hbGwrMHg0MC8w eDEyMAo+ID4+IFsgICAxOC45ODM3NzddCj4gPj4gICAgICAgICAgICAgICAgYnV0IHRhc2sgaXMg YWxyZWFkeSBob2xkaW5nIGxvY2s6Cj4gPj4gWyAgIDE4Ljk4Mzc4Ml0gICgoZmJfbm90aWZpZXJf bGlzdCkucndzZW0peysrKysuK30sIGF0OiBbPGZmZmZmZmZmODEwYWMxOTU+XSBfX2Jsb2NraW5n X25vdGlmaWVyX2NhbGxfY2hhaW4rMHgzNS8weDcwCj4gPj4gWyAgIDE4Ljk4Mzc4M10KPiA+PiAg ICAgICAgICAgICAgICB3aGljaCBsb2NrIGFscmVhZHkgZGVwZW5kcyBvbiB0aGUgbmV3IGxvY2su Cj4gPj4gCj4gPj4gWyAgIDE4Ljk4Mzc4M10KPiA+PiAgICAgICAgICAgICAgICB0aGUgZXhpc3Rp bmcgZGVwZW5kZW5jeSBjaGFpbiAoaW4gcmV2ZXJzZSBvcmRlcikgaXM6Cj4gPj4gWyAgIDE4Ljk4 Mzc4NV0KPiA+PiAgICAgICAgICAgICAgICAtPiAjMSAoKGZiX25vdGlmaWVyX2xpc3QpLnJ3c2Vt KXsrKysrLit9Ogo+ID4+IFsgICAxOC45ODM3ODldICAgICAgICBbPGZmZmZmZmZmODEwZGY2MTE+ XSBsb2NrX2FjcXVpcmUrMHhiMS8weDIwMAo+ID4+IFsgICAxOC45ODM3OTJdICAgICAgICBbPGZm ZmZmZmZmODE5YTU1YjQ+XSBkb3duX3dyaXRlKzB4NDQvMHg4MAo+ID4+IFsgICAxOC45ODM3OTVd ICAgICAgICBbPGZmZmZmZmZmODEwYWJmOTE+XSBibG9ja2luZ19ub3RpZmllcl9jaGFpbl9yZWdp c3RlcisweDIxLzB4YjAKPiA+PiBbICAgMTguOTgzNzk4XSAgICAgICAgWzxmZmZmZmZmZjgxNGM3 NDQ4Pl0gZmJfcmVnaXN0ZXJfY2xpZW50KzB4MTgvMHgyMAo+ID4+IFsgICAxOC45ODM4MDBdICAg ICAgICBbPGZmZmZmZmZmODE0YzZjODY+XSBiYWNrbGlnaHRfZGV2aWNlX3JlZ2lzdGVyKzB4MTM2 LzB4MjYwCj4gPj4gWyAgIDE4Ljk4Mzg1Ml0gICAgICAgIFs8ZmZmZmZmZmZhMDEyN2ViMj5dIGlu dGVsX2JhY2tsaWdodF9kZXZpY2VfcmVnaXN0ZXIrMHhhMi8weDE2MCBbaTkxNV0KPiA+PiBbICAg MTguOTgzODkyXSAgICAgICAgWzxmZmZmZmZmZmEwMGY0NmJlPl0gaW50ZWxfY29ubmVjdG9yX3Jl Z2lzdGVyKzB4ZS8weDEwIFtpOTE1XQo+ID4+IFsgICAxOC45ODM5MzJdICAgICAgICBbPGZmZmZm ZmZmYTAxMTJiZmI+XSBpbnRlbF9kcF9jb25uZWN0b3JfcmVnaXN0ZXIrMHgxYi8weDgwIFtpOTE1 XQo+ID4+IFsgICAxOC45ODM5MzZdICAgICAgICBbPGZmZmZmZmZmODE1OWRmZWE+XSBkcm1fY29u bmVjdG9yX3JlZ2lzdGVyKzB4NGEvMHg4MAo+ID4+IFsgICAxOC45ODM5MzhdICAgICAgICBbPGZm ZmZmZmZmODE1OWZlNDQ+XSBkcm1fY29ubmVjdG9yX3JlZ2lzdGVyX2FsbCsweDY0LzB4ZjAKPiA+ PiBbICAgMTguOTgzOTQwXSAgICAgICAgWzxmZmZmZmZmZjgxNWEyYTY0Pl0gZHJtX21vZGVzZXRf cmVnaXN0ZXJfYWxsKzB4MTc0LzB4MWMwCj4gPj4gWyAgIDE4Ljk4Mzk0Ml0gICAgICAgIFs8ZmZm ZmZmZmY4MTU5OWI3Mj5dIGRybV9kZXZfcmVnaXN0ZXIrMHhjMi8weGQwCj4gPj4gWyAgIDE4Ljk4 Mzk3Nl0gICAgICAgIFs8ZmZmZmZmZmZhMDA2MjFkNz5dIGk5MTVfZHJpdmVyX2xvYWQrMHgxNTQ3 LzB4MjIwMCBbaTkxNV0KPiA+PiBbICAgMTguOTg0MDEwXSAgICAgICAgWzxmZmZmZmZmZmEwMDZk ODBmPl0gaTkxNV9wY2lfcHJvYmUrMHg0Zi8weDcwIFtpOTE1XQo+ID4+IFsgICAxOC45ODQwMTRd ICAgICAgICBbPGZmZmZmZmZmODE0YTIxMzU+XSBsb2NhbF9wY2lfcHJvYmUrMHg0NS8weGEwCj4g Pj4gWyAgIDE4Ljk4NDAxNV0gICAgICAgIFs8ZmZmZmZmZmY4MTRhMzQ5Yj5dIHBjaV9kZXZpY2Vf cHJvYmUrMHhkYi8weDEzMAo+ID4+IFsgICAxOC45ODQwMThdICAgICAgICBbPGZmZmZmZmZmODE1 YzA3ZTM+XSBkcml2ZXJfcHJvYmVfZGV2aWNlKzB4MjIzLzB4NDQwCj4gPj4gWyAgIDE4Ljk4NDAy MF0gICAgICAgIFs8ZmZmZmZmZmY4MTVjMGFkNT5dIF9fZHJpdmVyX2F0dGFjaCsweGQ1LzB4MTAw Cj4gPj4gWyAgIDE4Ljk4NDAyMl0gICAgICAgIFs8ZmZmZmZmZmY4MTViZTM4Nj5dIGJ1c19mb3Jf ZWFjaF9kZXYrMHg2Ni8weGEwCj4gPj4gWyAgIDE4Ljk4NDAyM10gICAgICAgIFs8ZmZmZmZmZmY4 MTVjMDAyZT5dIGRyaXZlcl9hdHRhY2grMHgxZS8weDIwCj4gPj4gWyAgIDE4Ljk4NDAyNV0gICAg ICAgIFs8ZmZmZmZmZmY4MTViZjliZT5dIGJ1c19hZGRfZHJpdmVyKzB4MWVlLzB4MjgwCj4gPj4g WyAgIDE4Ljk4NDAyOF0gICAgICAgIFs8ZmZmZmZmZmY4MTVjMTgxMD5dIGRyaXZlcl9yZWdpc3Rl cisweDYwLzB4ZTAKPiA+PiBbICAgMTguOTg0MDMwXSAgICAgICAgWzxmZmZmZmZmZjgxNGExYTEw Pl0gX19wY2lfcmVnaXN0ZXJfZHJpdmVyKzB4NjAvMHg3MAo+ID4+IFsgICAxOC45ODQwNjNdICAg ICAgICBbPGZmZmZmZmZmYTAxYTkwNWI+XSBpOTE1X2luaXQrMHg1Yi8weDYyIFtpOTE1XQo+ID4+ IFsgICAxOC45ODQwNjddICAgICAgICBbPGZmZmZmZmZmODEwMDA0MmQ+XSBkb19vbmVfaW5pdGNh bGwrMHgzZC8weDE1MAo+ID4+IFsgICAxOC45ODQwNzBdICAgICAgICBbPGZmZmZmZmZmODExYTkz NWI+XSBkb19pbml0X21vZHVsZSsweDVmLzB4MWQ5Cj4gPj4gWyAgIDE4Ljk4NDA3M10gICAgICAg IFs8ZmZmZmZmZmY4MTEyNDQxNj5dIGxvYWRfbW9kdWxlKzB4MjBlNi8weDI3ZTAKPiA+PiBbICAg MTguOTg0MDc1XSAgICAgICAgWzxmZmZmZmZmZjgxMTI0ZDYzPl0gU1lTQ19maW5pdF9tb2R1bGUr MHhjMy8weGYwCj4gPj4gWyAgIDE4Ljk4NDA3Nl0gICAgICAgIFs8ZmZmZmZmZmY4MTEyNGRhZT5d IFN5U19maW5pdF9tb2R1bGUrMHhlLzB4MTAKPiA+PiBbICAgMTguOTg0MDc5XSAgICAgICAgWzxm ZmZmZmZmZjgxOWE4M2E5Pl0gZW50cnlfU1lTQ0FMTF82NF9mYXN0cGF0aCsweDFjLzB4YWMKPiA+ PiBbICAgMTguOTg0MDgxXQo+ID4+ICAgICAgICAgICAgICAgIC0+ICMwICgmZGV2LT5tb2RlX2Nv bmZpZy5tdXRleCl7Ky4rLisufToKPiA+PiBbICAgMTguOTg0MDgzXSAgICAgICAgWzxmZmZmZmZm ZjgxMGRmMGFjPl0gX19sb2NrX2FjcXVpcmUrMHgxMGZjLzB4MTI2MAo+ID4+IFsgICAxOC45ODQw ODVdICAgICAgICBbPGZmZmZmZmZmODEwZGY2MTE+XSBsb2NrX2FjcXVpcmUrMHhiMS8weDIwMAo+ ID4+IFsgICAxOC45ODQwODhdICAgICAgICBbPGZmZmZmZmZmODE5YTMwOTc+XSBtdXRleF9sb2Nr X25lc3RlZCsweDY3LzB4M2MwCj4gPj4gWyAgIDE4Ljk4NDA5MF0gICAgICAgIFs8ZmZmZmZmZmY4 MTVhZmRlMD5dIGRybV9tb2Rlc2V0X2xvY2tfYWxsKzB4NDAvMHgxMjAKPiA+PiBbICAgMTguOTg0 MDkzXSAgICAgICAgWzxmZmZmZmZmZjgxNThmNzliPl0gZHJtX2ZiX2hlbHBlcl9yZXN0b3JlX2Zi ZGV2X21vZGVfdW5sb2NrZWQrMHgyYi8weDgwCj4gPj4gWyAgIDE4Ljk4NDA5NV0gICAgICAgIFs8 ZmZmZmZmZmY4MTU4ZjgxZD5dIGRybV9mYl9oZWxwZXJfc2V0X3BhcisweDJkLzB4NTAKPiA+PiBb ICAgMTguOTg0MTM0XSAgICAgICAgWzxmZmZmZmZmZmEwMTA1ZjdhPl0gaW50ZWxfZmJkZXZfc2V0 X3BhcisweDFhLzB4NjAgW2k5MTVdCj4gPj4gWyAgIDE4Ljk4NDEzNl0gICAgICAgIFs8ZmZmZmZm ZmY4MTRjMTNjNj5dIGZiY29uX2luaXQrMHg1ODYvMHg2MTAKPiA+PiBbICAgMTguOTg0MTM5XSAg ICAgICAgWzxmZmZmZmZmZjgxNTRkMTZhPl0gdmlzdWFsX2luaXQrMHhjYS8weDEzMAo+ID4+IFsg ICAxOC45ODQxNDFdICAgICAgICBbPGZmZmZmZmZmODE1NGU2MTE+XSBkb19iaW5kX2Nvbl9kcml2 ZXIrMHgxYzEvMHgzYTAKPiA+PiBbICAgMTguOTg0MTQzXSAgICAgICAgWzxmZmZmZmZmZjgxNTRl YWY2Pl0gZG9fdGFrZV9vdmVyX2NvbnNvbGUrMHgxMTYvMHgxODAKPiA+PiBbICAgMTguOTg0MTQ1 XSAgICAgICAgWzxmZmZmZmZmZjgxNGJkM2E3Pl0gZG9fZmJjb25fdGFrZW92ZXIrMHg1Ny8weGIw Cj4gPj4gWyAgIDE4Ljk4NDE0N10gICAgICAgIFs8ZmZmZmZmZmY4MTRjMWU0OD5dIGZiY29uX2V2 ZW50X25vdGlmeSsweDY1OC8weDc1MAo+ID4+IFsgICAxOC45ODQxNTBdICAgICAgICBbPGZmZmZm ZmZmODEwYWJjYWU+XSBub3RpZmllcl9jYWxsX2NoYWluKzB4M2UvMHhiMAo+ID4+IFsgICAxOC45 ODQxNTJdICAgICAgICBbPGZmZmZmZmZmODEwYWMxYWQ+XSBfX2Jsb2NraW5nX25vdGlmaWVyX2Nh bGxfY2hhaW4rMHg0ZC8weDcwCj4gPj4gWyAgIDE4Ljk4NDE1NF0gICAgICAgIFs8ZmZmZmZmZmY4 MTBhYzFlNj5dIGJsb2NraW5nX25vdGlmaWVyX2NhbGxfY2hhaW4rMHgxNi8weDIwCj4gPj4gWyAg IDE4Ljk4NDE1Nl0gICAgICAgIFs8ZmZmZmZmZmY4MTRjNzQ4Yj5dIGZiX25vdGlmaWVyX2NhbGxf Y2hhaW4rMHgxYi8weDIwCj4gPj4gWyAgIDE4Ljk4NDE1OF0gICAgICAgIFs8ZmZmZmZmZmY4MTRj ODZiMT5dIHJlZ2lzdGVyX2ZyYW1lYnVmZmVyKzB4MjUxLzB4MzMwCj4gPj4gWyAgIDE4Ljk4NDE2 MF0gICAgICAgIFs8ZmZmZmZmZmY4MTU4ZmE5Zj5dIGRybV9mYl9oZWxwZXJfaW5pdGlhbF9jb25m aWcrMHgyNWYvMHgzZjAKPiA+PiBbICAgMTguOTg0MTk5XSAgICAgICAgWzxmZmZmZmZmZmEwMTA2 YjQ4Pl0gaW50ZWxfZmJkZXZfaW5pdGlhbF9jb25maWcrMHgxOC8weDMwIFtpOTE1XQo+ID4+IFsg ICAxOC45ODQyMDFdICAgICAgICBbPGZmZmZmZmZmODEwYWRmZDg+XSBhc3luY19ydW5fZW50cnlf Zm4rMHg0OC8weDE1MAo+ID4+IFsgICAxOC45ODQyMDNdICAgICAgICBbPGZmZmZmZmZmODEwYTM5 NDc+XSBwcm9jZXNzX29uZV93b3JrKzB4MWU3LzB4NzUwCj4gPj4gWyAgIDE4Ljk4NDIwNV0gICAg ICAgIFs8ZmZmZmZmZmY4MTBhM2VmYj5dIHdvcmtlcl90aHJlYWQrMHg0Yi8weDRmMAo+ID4+IFsg ICAxOC45ODQyMDddICAgICAgICBbPGZmZmZmZmZmODEwYWFkNGY+XSBrdGhyZWFkKzB4ZWYvMHgx MTAKPiA+PiBbICAgMTguOTg0MjA4XSAgICAgICAgWzxmZmZmZmZmZjgxOWE4NWVmPl0gcmV0X2Zy b21fZm9yaysweDFmLzB4NDAKPiA+PiBbICAgMTguOTg0MjA5XQo+ID4+ICAgICAgICAgICAgICAg IG90aGVyIGluZm8gdGhhdCBtaWdodCBoZWxwIHVzIGRlYnVnIHRoaXM6Cj4gPj4gCj4gPj4gWyAg IDE4Ljk4NDIxMF0gIFBvc3NpYmxlIHVuc2FmZSBsb2NraW5nIHNjZW5hcmlvOgo+ID4+IAo+ID4+ IFsgICAxOC45ODQyMTBdICAgICAgICBDUFUwICAgICAgICAgICAgICAgICAgICBDUFUxCj4gPj4g WyAgIDE4Ljk4NDIxMV0gICAgICAgIC0tLS0gICAgICAgICAgICAgICAgICAgIC0tLS0KPiA+PiBb ICAgMTguOTg0MjEyXSAgIGxvY2soKGZiX25vdGlmaWVyX2xpc3QpLnJ3c2VtKTsKPiA+PiBbICAg MTguOTg0MjEzXSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbG9jaygmZGV2LT5tb2Rl X2NvbmZpZy5tdXRleCk7Cj4gPj4gWyAgIDE4Ljk4NDIxNV0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGxvY2soKGZiX25vdGlmaWVyX2xpc3QpLnJ3c2VtKTsKPiA+PiBbICAgMTguOTg0 MjE2XSAgIGxvY2soJmRldi0+bW9kZV9jb25maWcubXV0ZXgpOwo+ID4+IFsgICAxOC45ODQyMTZd Cj4gPj4gICAgICAgICAgICAgICAgICoqKiBERUFETE9DSyAqKioKPiA+PiAKPiA+PiBbICAgMTgu OTg0MjE3XSA2IGxvY2tzIGhlbGQgYnkga3dvcmtlci91ODowLzY6Cj4gPj4gWyAgIDE4Ljk4NDIy MF0gICMwOiAgKCJldmVudHNfdW5ib3VuZCIpey4rLisuK30sIGF0OiBbPGZmZmZmZmZmODEwYTM4 Yzk+XSBwcm9jZXNzX29uZV93b3JrKzB4MTY5LzB4NzUwCj4gPj4gWyAgIDE4Ljk4NDIyM10gICMx OiAgKCgmZW50cnktPndvcmspKXsrLisuKy59LCBhdDogWzxmZmZmZmZmZjgxMGEzOGM5Pl0gcHJv Y2Vzc19vbmVfd29yaysweDE2OS8weDc1MAo+ID4+IFsgICAxOC45ODQyMjddICAjMjogIChyZWdp c3RyYXRpb25fbG9jayl7Ky4rLisufSwgYXQ6IFs8ZmZmZmZmZmY4MTRjODQ4Nz5dIHJlZ2lzdGVy X2ZyYW1lYnVmZmVyKzB4MjcvMHgzMzAKPiA+PiBbICAgMTguOTg0MjMxXSAgIzM6ICAoY29uc29s ZV9sb2NrKXsrLisuKy59LCBhdDogWzxmZmZmZmZmZjgxNGM4NmNlPl0gcmVnaXN0ZXJfZnJhbWVi dWZmZXIrMHgyNmUvMHgzMzAKPiA+PiBbICAgMTguOTg0MjM0XSAgIzQ6ICAoJmZiX2luZm8tPmxv Y2speysuKy4rLn0sIGF0OiBbPGZmZmZmZmZmODE0Yzc4ZGQ+XSBsb2NrX2ZiX2luZm8rMHgxZC8w eDQwCj4gPj4gWyAgIDE4Ljk4NDIzOF0gICM1OiAgKChmYl9ub3RpZmllcl9saXN0KS5yd3NlbSl7 KysrKy4rfSwgYXQ6IFs8ZmZmZmZmZmY4MTBhYzE5NT5dIF9fYmxvY2tpbmdfbm90aWZpZXJfY2Fs bF9jaGFpbisweDM1LzB4NzAKPiA+PiBbICAgMTguOTg0MjM4XQo+ID4+ICAgICAgICAgICAgICAg IHN0YWNrIGJhY2t0cmFjZToKPiA+PiBbICAgMTguOTg0MjQxXSBDUFU6IDIgUElEOiA2IENvbW06 IGt3b3JrZXIvdTg6MCBUYWludGVkOiBHICAgICAgICAgICBPICAgIDQuNy4wLXJjNSsgIzUyNAo+ ID4+IFsgICAxOC45ODQyNDJdIEhhcmR3YXJlIG5hbWU6IEludGVsIENvcnAuIEJyb3h0b24gUC9O T1RFQk9PSywgQklPUyBBUExLUlZQQS5YNjQuMDEzOC5CMzMuMTYwNjI1MDg0MiAwNi8yNS8yMDE2 Cj4gPj4gWyAgIDE4Ljk4NDI0NF0gV29ya3F1ZXVlOiBldmVudHNfdW5ib3VuZCBhc3luY19ydW5f ZW50cnlfZm4KPiA+PiBbICAgMTguOTg0MjQ4XSAgMDAwMDAwMDAwMDAwMDAwMCBmZmZmODgwMDc1 ODU3N2YwIGZmZmZmZmZmODE0NTA3YTUgZmZmZmZmZmY4MjhiOTkwMAo+ID4+IFsgICAxOC45ODQy NTBdICBmZmZmZmZmZjgyOGI5OTAwIGZmZmY4ODAwNzU4NTc4MzAgZmZmZmZmZmY4MTBkYzZmYSBm ZmZmODgwMDc1ODU3ODgwCj4gPj4gWyAgIDE4Ljk4NDI1Ml0gIGZmZmY4ODAwNzU4NGQ2ODggMDAw MDAwMDAwMDAwMDAwNSAwMDAwMDAwMDAwMDAwMDA2IGZmZmY4ODAwNzU4NGQ2YjAKPiA+PiBbICAg MTguOTg0MjUzXSBDYWxsIFRyYWNlOgo+ID4+IFsgICAxOC45ODQyNTddICBbPGZmZmZmZmZmODE0 NTA3YTU+XSBkdW1wX3N0YWNrKzB4NjcvMHg5Mgo+ID4+IFsgICAxOC45ODQyNTldICBbPGZmZmZm ZmZmODEwZGM2ZmE+XSBwcmludF9jaXJjdWxhcl9idWcrMHgxYWEvMHgyMDAKPiA+PiBbICAgMTgu OTg0MjYxXSAgWzxmZmZmZmZmZjgxMGRmMGFjPl0gX19sb2NrX2FjcXVpcmUrMHgxMGZjLzB4MTI2 MAo+ID4+IFsgICAxOC45ODQyNjRdICBbPGZmZmZmZmZmODEwZGY2MTE+XSBsb2NrX2FjcXVpcmUr MHhiMS8weDIwMAo+ID4+IFsgICAxOC45ODQyNjZdICBbPGZmZmZmZmZmODE1YWZkZTA+XSA/IGRy bV9tb2Rlc2V0X2xvY2tfYWxsKzB4NDAvMHgxMjAKPiA+PiBbICAgMTguOTg0MjY3XSAgWzxmZmZm ZmZmZjgxNWFmZGUwPl0gPyBkcm1fbW9kZXNldF9sb2NrX2FsbCsweDQwLzB4MTIwCj4gPj4gWyAg IDE4Ljk4NDI2OV0gIFs8ZmZmZmZmZmY4MTlhMzA5Nz5dIG11dGV4X2xvY2tfbmVzdGVkKzB4Njcv MHgzYzAKPiA+PiBbICAgMTguOTg0MjcxXSAgWzxmZmZmZmZmZjgxNWFmZGUwPl0gPyBkcm1fbW9k ZXNldF9sb2NrX2FsbCsweDQwLzB4MTIwCj4gPj4gWyAgIDE4Ljk4NDI3M10gIFs8ZmZmZmZmZmY4 MTBmYTg1Zj5dID8gcmN1X3JlYWRfbG9ja19zY2hlZF9oZWxkKzB4N2YvMHg5MAo+ID4+IFsgICAx OC45ODQyNzZdICBbPGZmZmZmZmZmODEyMDgyMTg+XSA/IGttZW1fY2FjaGVfYWxsb2NfdHJhY2Ur MHgyNDgvMHgyYjAKPiA+PiBbICAgMTguOTg0Mjc3XSAgWzxmZmZmZmZmZjgxNWFmZGM1Pl0gPyBk cm1fbW9kZXNldF9sb2NrX2FsbCsweDI1LzB4MTIwCj4gPj4gWyAgIDE4Ljk4NDI3OV0gIFs8ZmZm ZmZmZmY4MTVhZmRlMD5dIGRybV9tb2Rlc2V0X2xvY2tfYWxsKzB4NDAvMHgxMjAKPiA+PiBbICAg MTguOTg0MjgxXSAgWzxmZmZmZmZmZjgxNThmNzliPl0gZHJtX2ZiX2hlbHBlcl9yZXN0b3JlX2Zi ZGV2X21vZGVfdW5sb2NrZWQrMHgyYi8weDgwCj4gPj4gWyAgIDE4Ljk4NDI4M10gIFs8ZmZmZmZm ZmY4MTU4ZjgxZD5dIGRybV9mYl9oZWxwZXJfc2V0X3BhcisweDJkLzB4NTAKPiA+PiBbICAgMTgu OTg0MzIyXSAgWzxmZmZmZmZmZmEwMTA1ZjdhPl0gaW50ZWxfZmJkZXZfc2V0X3BhcisweDFhLzB4 NjAgW2k5MTVdCj4gPj4gWyAgIDE4Ljk4NDMyNF0gIFs8ZmZmZmZmZmY4MTRjMTNjNj5dIGZiY29u X2luaXQrMHg1ODYvMHg2MTAKPiA+PiBbICAgMTguOTg0MzI2XSAgWzxmZmZmZmZmZjgxNTRkMTZh Pl0gdmlzdWFsX2luaXQrMHhjYS8weDEzMAo+ID4+IFsgICAxOC45ODQzMjhdICBbPGZmZmZmZmZm ODE1NGU2MTE+XSBkb19iaW5kX2Nvbl9kcml2ZXIrMHgxYzEvMHgzYTAKPiA+PiBbICAgMTguOTg0 MzMwXSAgWzxmZmZmZmZmZjgxNTRlYWY2Pl0gZG9fdGFrZV9vdmVyX2NvbnNvbGUrMHgxMTYvMHgx ODAKPiA+PiBbICAgMTguOTg0MzMyXSAgWzxmZmZmZmZmZjgxNGJkM2E3Pl0gZG9fZmJjb25fdGFr ZW92ZXIrMHg1Ny8weGIwCj4gPj4gWyAgIDE4Ljk4NDMzNF0gIFs8ZmZmZmZmZmY4MTRjMWU0OD5d IGZiY29uX2V2ZW50X25vdGlmeSsweDY1OC8weDc1MAo+ID4+IFsgICAxOC45ODQzMzZdICBbPGZm ZmZmZmZmODEwYWJjYWU+XSBub3RpZmllcl9jYWxsX2NoYWluKzB4M2UvMHhiMAo+ID4+IFsgICAx OC45ODQzMzhdICBbPGZmZmZmZmZmODEwYWMxYWQ+XSBfX2Jsb2NraW5nX25vdGlmaWVyX2NhbGxf Y2hhaW4rMHg0ZC8weDcwCj4gPj4gWyAgIDE4Ljk4NDM0MF0gIFs8ZmZmZmZmZmY4MTBhYzFlNj5d IGJsb2NraW5nX25vdGlmaWVyX2NhbGxfY2hhaW4rMHgxNi8weDIwCj4gPj4gWyAgIDE4Ljk4NDM0 Ml0gIFs8ZmZmZmZmZmY4MTRjNzQ4Yj5dIGZiX25vdGlmaWVyX2NhbGxfY2hhaW4rMHgxYi8weDIw Cj4gPj4gWyAgIDE4Ljk4NDM0NF0gIFs8ZmZmZmZmZmY4MTRjODZiMT5dIHJlZ2lzdGVyX2ZyYW1l YnVmZmVyKzB4MjUxLzB4MzMwCj4gPj4gWyAgIDE4Ljk4NDM0N10gIFs8ZmZmZmZmZmY4MTViN2U4 ZD5dID8gdmdhX3N3aXRjaGVyb29fY2xpZW50X2ZiX3NldCsweDVkLzB4NzAKPiA+PiBbICAgMTgu OTg0MzQ5XSAgWzxmZmZmZmZmZjgxNThmYTlmPl0gZHJtX2ZiX2hlbHBlcl9pbml0aWFsX2NvbmZp ZysweDI1Zi8weDNmMAo+ID4+IFsgICAxOC45ODQzODhdICBbPGZmZmZmZmZmYTAxMDZiNDg+XSBp bnRlbF9mYmRldl9pbml0aWFsX2NvbmZpZysweDE4LzB4MzAgW2k5MTVdCj4gPj4gWyAgIDE4Ljk4 NDM4OV0gIFs8ZmZmZmZmZmY4MTBhZGZkOD5dIGFzeW5jX3J1bl9lbnRyeV9mbisweDQ4LzB4MTUw Cj4gPj4gWyAgIDE4Ljk4NDM5MV0gIFs8ZmZmZmZmZmY4MTBhMzk0Nz5dIHByb2Nlc3Nfb25lX3dv cmsrMHgxZTcvMHg3NTAKPiA+PiBbICAgMTguOTg0MzkyXSAgWzxmZmZmZmZmZjgxMGEzOGM5Pl0g PyBwcm9jZXNzX29uZV93b3JrKzB4MTY5LzB4NzUwCj4gPj4gWyAgIDE4Ljk4NDM5NF0gIFs8ZmZm ZmZmZmY4MTBhM2VmYj5dIHdvcmtlcl90aHJlYWQrMHg0Yi8weDRmMAo+ID4+IFsgICAxOC45ODQz OTZdICBbPGZmZmZmZmZmODEwYTNlYjA+XSA/IHByb2Nlc3Nfb25lX3dvcmsrMHg3NTAvMHg3NTAK PiA+PiBbICAgMTguOTg0Mzk4XSAgWzxmZmZmZmZmZjgxMGFhZDRmPl0ga3RocmVhZCsweGVmLzB4 MTEwCj4gPj4gWyAgIDE4Ljk4NDQwMV0gIFs8ZmZmZmZmZmY4MTlhODVlZj5dIHJldF9mcm9tX2Zv cmsrMHgxZi8weDQwCj4gPj4gWyAgIDE4Ljk4NDQwMl0gIFs8ZmZmZmZmZmY4MTBhYWM2MD5dID8g a3RocmVhZF9zdG9wKzB4MmUwLzB4MmUwCj4gPj4gCj4gPj4gUmVwb3J0ZWQtYnk6IEltcmUgRGVh ayA8aW1yZS5kZWFrQGludGVsLmNvbT4KPiA+PiBTaWduZWQtb2ZmLWJ5OiBDaHJpcyBXaWxzb24g PGNocmlzQGNocmlzLXdpbHNvbi5jby51az4KPiA+PiBDYzogSW1yZSBEZWFrIDxpbXJlLmRlYWtA aW50ZWwuY29tPgo+ID4+IENjOiBaaGFuZyBSdWkgPHJ1aS56aGFuZ0BpbnRlbC5jb20+Cj4gPj4g Q2M6IEFsZXggRGV1Y2hlciA8YWxleGFuZGVyLmRldWNoZXJAYW1kLmNvbT4KPiA+PiBDYzogIkNo cmlzdGlhbiBLw7ZuaWciIDxjaHJpc3RpYW4ua29lbmlnQGFtZC5jb20+Cj4gPj4gQ2M6IERhdmlk IEFpcmxpZSA8YWlybGllZEBsaW51eC5pZT4KPiA+PiBDYzogUGF0cmlrIEpha29ic3NvbiA8cGF0 cmlrLnIuamFrb2Jzc29uQGdtYWlsLmNvbT4KPiA+PiBDYzogRGFuaWVsIFZldHRlciA8ZGFuaWVs LnZldHRlckBpbnRlbC5jb20+Cj4gPj4gQ2M6IEphbmkgTmlrdWxhIDxqYW5pLm5pa3VsYUBsaW51 eC5pbnRlbC5jb20+Cj4gPj4gQ2M6IEJlbiBTa2VnZ3MgPGJza2VnZ3NAcmVkaGF0LmNvbT4KPiA+ PiBDYzogVG9taSBWYWxrZWluZW4gPHRvbWkudmFsa2VpbmVuQHRpLmNvbT4KPiA+PiBDYzogTGF1 cmVudCBQaW5jaGFydCA8bGF1cmVudC5waW5jaGFydEBpZGVhc29uYm9hcmQuY29tPgo+ID4+IENj OiAiQnJ1bm8gUHLDqW1vbnQiIDxib25ib25zQGxpbnV4LXZzZXJ2ZXIub3JnPgo+ID4+IENjOiBK aXJpIEtvc2luYSA8amlrb3NAa2VybmVsLm9yZz4KPiA+PiBDYzogVGhvbWFzIFBldGF6em9uaSA8 dGhvbWFzLnBldGF6em9uaUBmcmVlLWVsZWN0cm9ucy5jb20+Cj4gPj4gQ2M6ICJOb3JhbGYgVHLD uG5uZXMiIDxub3JhbGZAdHJvbm5lcy5vcmc+Cj4gPj4gQ2M6IEplbnMgRnJlZGVyaWNoIDxqZnJl ZGVyaWNoQGdtYWlsLmNvbT4KPiA+PiBDYzogRGFuaWVsIERyYWtlIDxkc2RAbGFwdG9wLm9yZz4K PiA+PiBDYzogSm9uIE5ldHRsZXRvbiA8am9uLm5ldHRsZXRvbkBnbWFpbC5jb20+Cj4gPj4gQ2M6 IEppbmdvbyBIYW4gPGppbmdvb2hhbjFAZ21haWwuY29tPgo+ID4+IENjOiBMZWUgSm9uZXMgPGxl ZS5qb25lc0BsaW5hcm8ub3JnPgo+ID4+IENjOiBKZWFuLUNocmlzdG9waGUgUGxhZ25pb2wtVmls bGFyZCA8cGxhZ25pb2pAamNyb3NvZnQuY29tPgo+ID4+IENjOiBNaWNoYWVsIEhlbm5lcmljaCA8 bWljaGFlbC5oZW5uZXJpY2hAYW5hbG9nLmNvbT4KPiA+PiBDYzogTWlsbyBLaW0gPG1pbG8ua2lt QHRpLmNvbT4KPiA+PiBDYzogVGhpZXJyeSBSZWRpbmcgPHRoaWVycnkucmVkaW5nQGdtYWlsLmNv bT4KPiA+PiBDYzogTmljb2xhcyBGZXJyZSA8bmljb2xhcy5mZXJyZUBhdG1lbC5jb20+Cj4gPj4g Q2M6IFBhdWwgTWFja2VycmFzIDxwYXVsdXNAc2FtYmEub3JnPgo+ID4+IENjOiBLdWtqaW4gS2lt IDxrZ2VuZUBrZXJuZWwub3JnPgo+ID4+IENjOiBLcnp5c3p0b2YgS296bG93c2tpIDxrLmtvemxv d3NraUBzYW1zdW5nLmNvbT4KPiA+PiBDYzogQW50b25pbm8gRGFwbGFzIDxhZGFwbGFzQGdtYWls LmNvbT4KPiA+PiBDYzogbGludXgtYWNwaUB2Z2VyLmtlcm5lbC5vcmcKPiA+PiBDYzogZHJpLWRl dmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwo+ID4+IENjOiBpbnRlbC1nZnhAbGlzdHMuZnJlZWRl c2t0b3Aub3JnCj4gPj4gQ2M6IG5vdXZlYXVAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4gPj4gQ2M6 IGxpbnV4LXJlbmVzYXMtc29jQHZnZXIua2VybmVsLm9yZwo+ID4+IENjOiBsaW51eC1mYmRldkB2 Z2VyLmtlcm5lbC5vcmcKPiA+PiBDYzogbGludXgtb21hcEB2Z2VyLmtlcm5lbC5vcmcKPiA+PiAt LS0KPiA+PiAgZHJpdmVycy9hY3BpL2FjcGlfdmlkZW8uYyAgICAgICAgICAgICAgICAgICAgICAg ICAgICB8ICAzICsrLQo+ID4+ICBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hdG9tYmlvc19l bmNvZGVycy5jICAgICAgIHwgIDMgKystCj4gPj4gIGRyaXZlcnMvZ3B1L2RybS9icmlkZ2UvcGFy YWRlLXBzODYyMi5jICAgICAgICAgICAgICAgfCAgMyArKy0KPiA+PiAgZHJpdmVycy9ncHUvZHJt L2dtYTUwMC9jZHZfZGV2aWNlLmMgICAgICAgICAgICAgICAgICB8ICAzICsrLQo+ID4+ICBkcml2 ZXJzL2dwdS9kcm0vZ21hNTAwL21kZmxkX2RldmljZS5jICAgICAgICAgICAgICAgIHwgIDMgKyst Cj4gPj4gIGRyaXZlcnMvZ3B1L2RybS9nbWE1MDAvb2FrdHJhaWxfZGV2aWNlLmMgICAgICAgICAg ICAgfCAgMyArKy0KPiA+PiAgZHJpdmVycy9ncHUvZHJtL2dtYTUwMC9wc2JfZGV2aWNlLmMgICAg ICAgICAgICAgICAgICB8ICAzICsrLQo+ID4+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9w YW5lbC5jICAgICAgICAgICAgICAgICAgIHwgIDMgKystCj4gPj4gIGRyaXZlcnMvZ3B1L2RybS9u b3V2ZWF1L25vdXZlYXVfYmFja2xpZ2h0LmMgICAgICAgICAgfCAgNiArKysrLS0KPiA+PiAgZHJp dmVycy9ncHUvZHJtL29tYXBkcm0vZGlzcGxheXMvcGFuZWwtZHNpLWNtLmMgICAgICB8ICAzICsr LQo+ID4+ICAuLi4vZ3B1L2RybS9vbWFwZHJtL2Rpc3BsYXlzL3BhbmVsLXNvbnktYWN4NTY1YWtt LmMgIHwgIDMgKystCj4gPj4gIGRyaXZlcnMvZ3B1L2RybS9yYWRlb24vYXRvbWJpb3NfZW5jb2Rl cnMuYyAgICAgICAgICAgfCAgMyArKy0KPiA+PiAgZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRl b25fbGVnYWN5X2VuY29kZXJzLmMgICAgICB8ICAzICsrLQo+ID4+ICBkcml2ZXJzL2dwdS9kcm0v c2htb2JpbGUvc2htb2JfZHJtX2JhY2tsaWdodC5jICAgICAgIHwgIDMgKystCj4gPj4gIGRyaXZl cnMvaGlkL2hpZC1waWNvbGNkX2JhY2tsaWdodC5jICAgICAgICAgICAgICAgICAgfCAgMyArKy0K PiA+PiAgZHJpdmVycy9tYWNpbnRvc2gvdmlhLXBtdS1iYWNrbGlnaHQuYyAgICAgICAgICAgICAg ICB8ICAzICsrLQo+ID4+ICBkcml2ZXJzL3BsYXRmb3JtL3g4Ni9hY2VyLXdtaS5jICAgICAgICAg ICAgICAgICAgICAgIHwgIDMgKystCj4gPj4gIGRyaXZlcnMvcGxhdGZvcm0veDg2L2FwcGxlLWdt dXguYyAgICAgICAgICAgICAgICAgICAgfCAgMyArKy0KPiA+PiAgZHJpdmVycy9wbGF0Zm9ybS94 ODYvYXN1cy1sYXB0b3AuYyAgICAgICAgICAgICAgICAgICB8ICAzICsrLQo+ID4+ICBkcml2ZXJz L3BsYXRmb3JtL3g4Ni9hc3VzLXdtaS5jICAgICAgICAgICAgICAgICAgICAgIHwgIDMgKystCj4g Pj4gIGRyaXZlcnMvcGxhdGZvcm0veDg2L2NsYXNzbWF0ZS1sYXB0b3AuYyAgICAgICAgICAgICAg fCAgMyArKy0KPiA+PiAgZHJpdmVycy9wbGF0Zm9ybS94ODYvY29tcGFsLWxhcHRvcC5jICAgICAg ICAgICAgICAgICB8ICAzICsrLQo+ID4+ICBkcml2ZXJzL3BsYXRmb3JtL3g4Ni9kZWxsLWxhcHRv cC5jICAgICAgICAgICAgICAgICAgIHwgIDMgKystCj4gPj4gIGRyaXZlcnMvcGxhdGZvcm0veDg2 L2VlZXBjLWxhcHRvcC5jICAgICAgICAgICAgICAgICAgfCAgMyArKy0KPiA+PiAgZHJpdmVycy9w bGF0Zm9ybS94ODYvZnVqaXRzdS1sYXB0b3AuYyAgICAgICAgICAgICAgICB8ICAzICsrLQo+ID4+ ICBkcml2ZXJzL3BsYXRmb3JtL3g4Ni9pZGVhcGFkLWxhcHRvcC5jICAgICAgICAgICAgICAgIHwg IDMgKystCj4gPj4gIGRyaXZlcnMvcGxhdGZvcm0veDg2L2ludGVsX29ha3RyYWlsLmMgICAgICAg ICAgICAgICAgfCAgMyArKy0KPiA+PiAgZHJpdmVycy9wbGF0Zm9ybS94ODYvbXNpLWxhcHRvcC5j ICAgICAgICAgICAgICAgICAgICB8ICAzICsrLQo+ID4+ICBkcml2ZXJzL3BsYXRmb3JtL3g4Ni9t c2ktd21pLmMgICAgICAgICAgICAgICAgICAgICAgIHwgIDMgKystCj4gPj4gIGRyaXZlcnMvcGxh dGZvcm0veDg2L3BhbmFzb25pYy1sYXB0b3AuYyAgICAgICAgICAgICAgfCAgMyArKy0KPiA+PiAg ZHJpdmVycy9wbGF0Zm9ybS94ODYvc2Ftc3VuZy1sYXB0b3AuYyAgICAgICAgICAgICAgICB8ICAz ICsrLQo+ID4+ICBkcml2ZXJzL3BsYXRmb3JtL3g4Ni9zYW1zdW5nLXExMC5jICAgICAgICAgICAg ICAgICAgIHwgIDMgKystCj4gPj4gIGRyaXZlcnMvcGxhdGZvcm0veDg2L3NvbnktbGFwdG9wLmMg ICAgICAgICAgICAgICAgICAgfCAgMyArKy0KPiA+PiAgZHJpdmVycy9wbGF0Zm9ybS94ODYvdGhp bmtwYWRfYWNwaS5jICAgICAgICAgICAgICAgICB8ICAzICsrLQo+ID4+ICBkcml2ZXJzL3BsYXRm b3JtL3g4Ni90b3NoaWJhX2FjcGkuYyAgICAgICAgICAgICAgICAgIHwgIDMgKystCj4gPj4gIGRy aXZlcnMvc3RhZ2luZy9mYnRmdC9mYl9zc2QxMzUxLmMgICAgICAgICAgICAgICAgICAgfCAgMyAr Ky0KPiA+PiAgZHJpdmVycy9zdGFnaW5nL2ZidGZ0L2ZiX3dhdHRlcm90dC5jICAgICAgICAgICAg ICAgICB8ICAzICsrLQo+ID4+ICBkcml2ZXJzL3N0YWdpbmcvZmJ0ZnQvZmJ0ZnQtY29yZS5jICAg ICAgICAgICAgICAgICAgIHwgIDMgKystCj4gPj4gIGRyaXZlcnMvc3RhZ2luZy9vbHBjX2Rjb24v b2xwY19kY29uLmMgICAgICAgICAgICAgICAgfCAgMyArKy0KPiA+PiAgZHJpdmVycy91c2IvbWlz Yy9hcHBsZWRpc3BsYXkuYyAgICAgICAgICAgICAgICAgICAgICB8ICAzICsrLQo+ID4+ICBkcml2 ZXJzL3ZpZGVvL2JhY2tsaWdodC84OHBtODYweF9ibC5jICAgICAgICAgICAgICAgIHwgIDMgKyst Cj4gPj4gIGRyaXZlcnMvdmlkZW8vYmFja2xpZ2h0L2FhdDI4NzBfYmwuYyAgICAgICAgICAgICAg ICAgfCAgMyArKy0KPiA+PiAgZHJpdmVycy92aWRlby9iYWNrbGlnaHQvYWRwNTUyMF9ibC5jICAg ICAgICAgICAgICAgICB8ICAzICsrLQo+ID4+ICBkcml2ZXJzL3ZpZGVvL2JhY2tsaWdodC9hZHA4 ODYwX2JsLmMgICAgICAgICAgICAgICAgIHwgIDMgKystCj4gPj4gIGRyaXZlcnMvdmlkZW8vYmFj a2xpZ2h0L2FkcDg4NzBfYmwuYyAgICAgICAgICAgICAgICAgfCAgMyArKy0KPiA+PiAgZHJpdmVy cy92aWRlby9iYWNrbGlnaHQvYW1zMzY5ZmcwNi5jICAgICAgICAgICAgICAgICB8ICAzICsrLQo+ ID4+ICBkcml2ZXJzL3ZpZGVvL2JhY2tsaWdodC9hcHBsZV9ibC5jICAgICAgICAgICAgICAgICAg IHwgIDMgKystCj4gPj4gIGRyaXZlcnMvdmlkZW8vYmFja2xpZ2h0L2FzMzcxMV9ibC5jICAgICAg ICAgICAgICAgICAgfCAgMyArKy0KPiA+PiAgZHJpdmVycy92aWRlby9iYWNrbGlnaHQvYmFja2xp Z2h0LmMgICAgICAgICAgICAgICAgICB8IDIwICsrKysrKysrKysrKystLS0tLS0tCj4gPj4gIGRy aXZlcnMvdmlkZW8vYmFja2xpZ2h0L2JkNjEwNy5jICAgICAgICAgICAgICAgICAgICAgfCAgMyAr Ky0KPiA+PiAgZHJpdmVycy92aWRlby9iYWNrbGlnaHQvY29yZ2lfbGNkLmMgICAgICAgICAgICAg ICAgICB8ICAzICsrLQo+ID4+ICBkcml2ZXJzL3ZpZGVvL2JhY2tsaWdodC9jcl9ibGxjZC5jICAg ICAgICAgICAgICAgICAgIHwgIDMgKystCj4gPj4gIGRyaXZlcnMvdmlkZW8vYmFja2xpZ2h0L2Rh OTAzeF9ibC5jICAgICAgICAgICAgICAgICAgfCAgMyArKy0KPiA+PiAgZHJpdmVycy92aWRlby9i YWNrbGlnaHQvZGE5MDUyX2JsLmMgICAgICAgICAgICAgICAgICB8ICAzICsrLQo+ID4+ICBkcml2 ZXJzL3ZpZGVvL2JhY2tsaWdodC9lcDkzeHhfYmwuYyAgICAgICAgICAgICAgICAgIHwgIDMgKyst Cj4gPj4gIGRyaXZlcnMvdmlkZW8vYmFja2xpZ2h0L2dlbmVyaWNfYmwuYyAgICAgICAgICAgICAg ICAgfCAgMyArKy0KPiA+PiAgZHJpdmVycy92aWRlby9iYWNrbGlnaHQvZ3Bpb19iYWNrbGlnaHQu YyAgICAgICAgICAgICB8ICAzICsrLQo+ID4+ICBkcml2ZXJzL3ZpZGVvL2JhY2tsaWdodC9ocDY4 MF9ibC5jICAgICAgICAgICAgICAgICAgIHwgIDMgKystCj4gPj4gIGRyaXZlcnMvdmlkZW8vYmFj a2xpZ2h0L2lwYXFfbWljcm9fYmwuYyAgICAgICAgICAgICAgfCAgMyArKy0KPiA+PiAgZHJpdmVy cy92aWRlby9iYWNrbGlnaHQvam9ybmFkYTcyMF9ibC5jICAgICAgICAgICAgICB8ICAzICsrLQo+ ID4+ICBkcml2ZXJzL3ZpZGVvL2JhY2tsaWdodC9rYjM4ODZfYmwuYyAgICAgICAgICAgICAgICAg IHwgIDMgKystCj4gPj4gIGRyaXZlcnMvdmlkZW8vYmFja2xpZ2h0L2xkOTA0MC5jICAgICAgICAg ICAgICAgICAgICAgfCAgMyArKy0KPiA+PiAgZHJpdmVycy92aWRlby9iYWNrbGlnaHQvbG0zNTMz X2JsLmMgICAgICAgICAgICAgICAgICB8ICAzICsrLQo+ID4+ICBkcml2ZXJzL3ZpZGVvL2JhY2ts aWdodC9sbTM2MzBhX2JsLmMgICAgICAgICAgICAgICAgIHwgIDYgKysrKy0tCj4gPj4gIGRyaXZl cnMvdmlkZW8vYmFja2xpZ2h0L2xtMzYzOV9ibC5jICAgICAgICAgICAgICAgICAgfCAgMyArKy0K PiA+PiAgZHJpdmVycy92aWRlby9iYWNrbGlnaHQvbG9jb21vbGNkLmMgICAgICAgICAgICAgICAg ICB8ICAzICsrLQo+ID4+ICBkcml2ZXJzL3ZpZGVvL2JhY2tsaWdodC9scDg1NXhfYmwuYyAgICAg ICAgICAgICAgICAgIHwgIDMgKystCj4gPj4gIGRyaXZlcnMvdmlkZW8vYmFja2xpZ2h0L2xwODc4 OF9ibC5jICAgICAgICAgICAgICAgICAgfCAgMyArKy0KPiA+PiAgZHJpdmVycy92aWRlby9iYWNr bGlnaHQvbHY1MjA3bHAuYyAgICAgICAgICAgICAgICAgICB8ICAzICsrLQo+ID4+ICBkcml2ZXJz L3ZpZGVvL2JhY2tsaWdodC9tYXg4OTI1X2JsLmMgICAgICAgICAgICAgICAgIHwgIDMgKystCj4g Pj4gIGRyaXZlcnMvdmlkZW8vYmFja2xpZ2h0L29tYXAxX2JsLmMgICAgICAgICAgICAgICAgICAg fCAgMyArKy0KPiA+PiAgZHJpdmVycy92aWRlby9iYWNrbGlnaHQvb3QyMDBfYmwuYyAgICAgICAg ICAgICAgICAgICB8ICAzICsrLQo+ID4+ICBkcml2ZXJzL3ZpZGVvL2JhY2tsaWdodC9wYW5kb3Jh X2JsLmMgICAgICAgICAgICAgICAgIHwgIDMgKystCj4gPj4gIGRyaXZlcnMvdmlkZW8vYmFja2xp Z2h0L3BjZjUwNjMzLWJhY2tsaWdodC5jICAgICAgICAgfCAgMyArKy0KPiA+PiAgZHJpdmVycy92 aWRlby9iYWNrbGlnaHQvcG04OTQxLXdsZWQuYyAgICAgICAgICAgICAgICB8ICAzICsrLQo+ID4+ ICBkcml2ZXJzL3ZpZGVvL2JhY2tsaWdodC9wd21fYmwuYyAgICAgICAgICAgICAgICAgICAgIHwg IDMgKystCj4gPj4gIGRyaXZlcnMvdmlkZW8vYmFja2xpZ2h0L3M2ZTYzbTAuYyAgICAgICAgICAg ICAgICAgICAgfCAgMyArKy0KPiA+PiAgZHJpdmVycy92aWRlby9iYWNrbGlnaHQvc2t5ODE0NTIt YmFja2xpZ2h0LmMgICAgICAgICB8ICAzICsrLQo+ID4+ICBkcml2ZXJzL3ZpZGVvL2JhY2tsaWdo dC90b3NhX2JsLmMgICAgICAgICAgICAgICAgICAgIHwgIDMgKystCj4gPj4gIGRyaXZlcnMvdmlk ZW8vYmFja2xpZ2h0L3RwczY1MjE3X2JsLmMgICAgICAgICAgICAgICAgfCAgMyArKy0KPiA+PiAg ZHJpdmVycy92aWRlby9iYWNrbGlnaHQvd204MzF4X2JsLmMgICAgICAgICAgICAgICAgICB8ICAz ICsrLQo+ID4+ICBkcml2ZXJzL3ZpZGVvL2ZiZGV2L2F0bWVsX2xjZGZiLmMgICAgICAgICAgICAg ICAgICAgIHwgIDMgKystCj4gPj4gIGRyaXZlcnMvdmlkZW8vZmJkZXYvYXR5L2F0eTEyOGZiLmMg ICAgICAgICAgICAgICAgICAgfCAgMyArKy0KPiA+PiAgZHJpdmVycy92aWRlby9mYmRldi9hdHkv YXR5ZmJfYmFzZS5jICAgICAgICAgICAgICAgICB8ICAzICsrLQo+ID4+ICBkcml2ZXJzL3ZpZGVv L2ZiZGV2L2F0eS9yYWRlb25fYmFja2xpZ2h0LmMgICAgICAgICAgIHwgIDMgKystCj4gPj4gIGRy aXZlcnMvdmlkZW8vZmJkZXYvYmY1MzctbHEwMzUuYyAgICAgICAgICAgICAgICAgICAgfCAgMyAr Ky0KPiA+PiAgZHJpdmVycy92aWRlby9mYmRldi9iZjU0eC1scTA0M2ZiLmMgICAgICAgICAgICAg ICAgICB8ICAzICsrLQo+ID4+ICBkcml2ZXJzL3ZpZGVvL2ZiZGV2L2JmaW4tdDM1MG1jcWItZmIu YyAgICAgICAgICAgICAgIHwgIDMgKystCj4gPj4gIGRyaXZlcnMvdmlkZW8vZmJkZXYvZXh5bm9z L3M2ZThheDAuYyAgICAgICAgICAgICAgICAgfCAgMyArKy0KPiA+PiAgZHJpdmVycy92aWRlby9m YmRldi9teDNmYi5jICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAzICsrLQo+ID4+ICBkcml2 ZXJzL3ZpZGVvL2ZiZGV2L252aWRpYS9udl9iYWNrbGlnaHQuYyAgICAgICAgICAgIHwgIDMgKyst Cj4gPj4gIC4uLi92aWRlby9mYmRldi9vbWFwMi9vbWFwZmIvZGlzcGxheXMvcGFuZWwtZHNpLWNt LmMgfCAgMyArKy0KPiA+PiAgLi4uL29tYXAyL29tYXBmYi9kaXNwbGF5cy9wYW5lbC1zb255LWFj eDU2NWFrbS5jICAgICB8ICAzICsrLQo+ID4+ICBkcml2ZXJzL3ZpZGVvL2ZiZGV2L3JpdmEvZmJk ZXYuYyAgICAgICAgICAgICAgICAgICAgIHwgIDMgKystCj4gPj4gIGRyaXZlcnMvdmlkZW8vZmJk ZXYvc2hfbW9iaWxlX2xjZGNmYi5jICAgICAgICAgICAgICAgfCAgMyArKy0KPiA+PiAgZHJpdmVy cy92aWRlby9mYmRldi9zc2QxMzA3ZmIuYyAgICAgICAgICAgICAgICAgICAgICB8ICAzICsrLQo+ ID4+ICBpbmNsdWRlL2xpbnV4L2JhY2tsaWdodC5oICAgICAgICAgICAgICAgICAgICAgICAgICAg IHwgIDcgKysrKystLQo+ID4+ICA5NyBmaWxlcyBjaGFuZ2VkLCAyMTIgaW5zZXJ0aW9ucygrKSwg MTA2IGRlbGV0aW9ucygtKQo+ID4+IAo+ID4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2FjcGkvYWNw aV92aWRlby5jIGIvZHJpdmVycy9hY3BpL2FjcGlfdmlkZW8uYwo+ID4+IGluZGV4IGMxZDEzOGUx MjhjYi4uNDllMGFjYjcwYzE3IDEwMDY0NAo+ID4+IC0tLSBhL2RyaXZlcnMvYWNwaS9hY3BpX3Zp ZGVvLmMKPiA+PiArKysgYi9kcml2ZXJzL2FjcGkvYWNwaV92aWRlby5jCj4gPj4gQEAgLTE2OTMs NyArMTY5Myw4IEBAIHN0YXRpYyB2b2lkIGFjcGlfdmlkZW9fZGV2X3JlZ2lzdGVyX2JhY2tsaWdo dChzdHJ1Y3QgYWNwaV92aWRlb19kZXZpY2UgKmRldmljZSkKPiA+PiAgCQkJCQkJICAgICAgcGFy ZW50LAo+ID4+ICAJCQkJCQkgICAgICBkZXZpY2UsCj4gPj4gIAkJCQkJCSAgICAgICZhY3BpX2Jh Y2tsaWdodF9vcHMsCj4gPj4gLQkJCQkJCSAgICAgICZwcm9wcyk7Cj4gPj4gKwkJCQkJCSAgICAg ICZwcm9wcywKPiA+PiArCQkJCQkJICAgICAgQkFDS0xJR0hUX1JFR0lTVEVSX0ZCX0NMSUVOVCk7 Cj4gPj4gIAlrZnJlZShuYW1lKTsKPiA+PiAgCWlmIChJU19FUlIoZGV2aWNlLT5iYWNrbGlnaHQp KSB7Cj4gPj4gIAkJZGV2aWNlLT5iYWNrbGlnaHQgPSBOVUxMOwo+ID4+IGRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hdG9tYmlvc19lbmNvZGVycy5jIGIvZHJpdmVycy9n cHUvZHJtL2FtZC9hbWRncHUvYXRvbWJpb3NfZW5jb2RlcnMuYwo+ID4+IGluZGV4IDQ4YjZiZDY3 MWNkYS4uYjZhZTY3YTc1YTI1IDEwMDY0NAo+ID4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQv YW1kZ3B1L2F0b21iaW9zX2VuY29kZXJzLmMKPiA+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1k L2FtZGdwdS9hdG9tYmlvc19lbmNvZGVycy5jCj4gPj4gQEAgLTE5OCw3ICsxOTgsOCBAQCB2b2lk IGFtZGdwdV9hdG9tYmlvc19lbmNvZGVyX2luaXRfYmFja2xpZ2h0KHN0cnVjdCBhbWRncHVfZW5j b2RlciAqYW1kZ3B1X2VuY29kZQo+ID4+ICAJc25wcmludGYoYmxfbmFtZSwgc2l6ZW9mKGJsX25h bWUpLAo+ID4+ICAJCSAiYW1kZ3B1X2JsJWQiLCBkZXYtPnByaW1hcnktPmluZGV4KTsKPiA+PiAg CWJkID0gYmFja2xpZ2h0X2RldmljZV9yZWdpc3RlcihibF9uYW1lLCBkcm1fY29ubmVjdG9yLT5r ZGV2LAo+ID4+IC0JCQkJICAgICAgIHBkYXRhLCAmYW1kZ3B1X2F0b21iaW9zX2VuY29kZXJfYmFj a2xpZ2h0X29wcywgJnByb3BzKTsKPiA+PiArCQkJCSAgICAgICBwZGF0YSwgJmFtZGdwdV9hdG9t Ymlvc19lbmNvZGVyX2JhY2tsaWdodF9vcHMsICZwcm9wcywKPiA+PiArCQkJCSAgICAgICBCQUNL TElHSFRfUkVHSVNURVJfRkJfQ0xJRU5UKTsKPiA+PiAgCWlmIChJU19FUlIoYmQpKSB7Cj4gPj4g IAkJRFJNX0VSUk9SKCJCYWNrbGlnaHQgcmVnaXN0cmF0aW9uIGZhaWxlZFxuIik7Cj4gPj4gIAkJ Z290byBlcnJvcjsKPiA+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2JyaWRnZS9wYXJh ZGUtcHM4NjIyLmMgYi9kcml2ZXJzL2dwdS9kcm0vYnJpZGdlL3BhcmFkZS1wczg2MjIuYwo+ID4+ IGluZGV4IDVjZDhkZDdlNTkwNC4uMTRkZWE3MTFiNDc0IDEwMDY0NAo+ID4+IC0tLSBhL2RyaXZl cnMvZ3B1L2RybS9icmlkZ2UvcGFyYWRlLXBzODYyMi5jCj4gPj4gKysrIGIvZHJpdmVycy9ncHUv ZHJtL2JyaWRnZS9wYXJhZGUtcHM4NjIyLmMKPiA+PiBAQCAtNjA4LDcgKzYwOCw4IEBAIHN0YXRp YyBpbnQgcHM4NjIyX3Byb2JlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQsCj4gPj4gIAlpZiAo IW9mX2ZpbmRfcHJvcGVydHkoZGV2LT5vZl9ub2RlLCAidXNlLWV4dGVybmFsLXB3bSIsIE5VTEwp KSB7Cj4gPj4gIAkJcHM4NjIyLT5ibCA9IGJhY2tsaWdodF9kZXZpY2VfcmVnaXN0ZXIoInBzODYy Mi1iYWNrbGlnaHQiLAo+ID4+ICAJCQkJZGV2LCBwczg2MjIsICZwczg2MjJfYmFja2xpZ2h0X29w cywKPiA+PiAtCQkJCU5VTEwpOwo+ID4+ICsJCQkJTlVMTCwKPiA+PiArCQkJCUJBQ0tMSUdIVF9S RUdJU1RFUl9GQl9DTElFTlQpOwo+ID4+ICAJCWlmIChJU19FUlIocHM4NjIyLT5ibCkpIHsKPiA+ PiAgCQkJRFJNX0VSUk9SKCJmYWlsZWQgdG8gcmVnaXN0ZXIgYmFja2xpZ2h0XG4iKTsKPiA+PiAg CQkJcmV0ID0gUFRSX0VSUihwczg2MjItPmJsKTsKPiA+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2dtYTUwMC9jZHZfZGV2aWNlLmMgYi9kcml2ZXJzL2dwdS9kcm0vZ21hNTAwL2Nkdl9k ZXZpY2UuYwo+ID4+IGluZGV4IDg3NDU5NzFhNzY4MC4uZDJiNGQ2NDViNGRiIDEwMDY0NAo+ID4+ IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9nbWE1MDAvY2R2X2RldmljZS5jCj4gPj4gKysrIGIvZHJp dmVycy9ncHUvZHJtL2dtYTUwMC9jZHZfZGV2aWNlLmMKPiA+PiBAQCAtMTYzLDcgKzE2Myw4IEBA IHN0YXRpYyBpbnQgY2R2X2JhY2tsaWdodF9pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCj4g Pj4gIAlwcm9wcy50eXBlID0gQkFDS0xJR0hUX1BMQVRGT1JNOwo+ID4+ICAKPiA+PiAgCWNkdl9i YWNrbGlnaHRfZGV2aWNlID0gYmFja2xpZ2h0X2RldmljZV9yZWdpc3RlcigicHNiLWJsIiwKPiA+ PiAtCQkJCQlOVUxMLCAodm9pZCAqKWRldiwgJmNkdl9vcHMsICZwcm9wcyk7Cj4gPj4gKwkJCQkJ TlVMTCwgKHZvaWQgKilkZXYsICZjZHZfb3BzLCAmcHJvcHMsCj4gPj4gKwkJCQkJQkFDS0xJR0hU X1JFR0lTVEVSX0ZCX0NMSUVOVCk7Cj4gPj4gIAlpZiAoSVNfRVJSKGNkdl9iYWNrbGlnaHRfZGV2 aWNlKSkKPiA+PiAgCQlyZXR1cm4gUFRSX0VSUihjZHZfYmFja2xpZ2h0X2RldmljZSk7Cj4gPj4g IAo+ID4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZ21hNTAwL21kZmxkX2RldmljZS5j IGIvZHJpdmVycy9ncHUvZHJtL2dtYTUwMC9tZGZsZF9kZXZpY2UuYwo+ID4+IGluZGV4IGUyYWI4 NTgxMjJmOS4uMmUyNGVjY2NmZDM5IDEwMDY0NAo+ID4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9n bWE1MDAvbWRmbGRfZGV2aWNlLmMKPiA+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vZ21hNTAwL21k ZmxkX2RldmljZS5jCj4gPj4gQEAgLTEzMCw3ICsxMzAsOCBAQCBzdGF0aWMgaW50IG1kZmxkX2Jh Y2tsaWdodF9pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCj4gPj4gIAlwcm9wcy5tYXhfYnJp Z2h0bmVzcyA9IEJSSUdIVE5FU1NfTUFYX0xFVkVMOwo+ID4+ICAJcHJvcHMudHlwZSA9IEJBQ0tM SUdIVF9QTEFURk9STTsKPiA+PiAgCW1kZmxkX2JhY2tsaWdodF9kZXZpY2UgPSBiYWNrbGlnaHRf ZGV2aWNlX3JlZ2lzdGVyKCJtZGZsZC1ibCIsCj4gPj4gLQkJCQlOVUxMLCAodm9pZCAqKWRldiwg Jm1kZmxkX29wcywgJnByb3BzKTsKPiA+PiArCQkJCU5VTEwsICh2b2lkICopZGV2LCAmbWRmbGRf b3BzLCAmcHJvcHMsCj4gPj4gKwkJCQlCQUNLTElHSFRfUkVHSVNURVJfRkJfQ0xJRU5UKTsKPiA+ PiAgCj4gPj4gIAlpZiAoSVNfRVJSKG1kZmxkX2JhY2tsaWdodF9kZXZpY2UpKQo+ID4+ICAJCXJl dHVybiBQVFJfRVJSKG1kZmxkX2JhY2tsaWdodF9kZXZpY2UpOwo+ID4+IGRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vZ21hNTAwL29ha3RyYWlsX2RldmljZS5jIGIvZHJpdmVycy9ncHUvZHJt L2dtYTUwMC9vYWt0cmFpbF9kZXZpY2UuYwo+ID4+IGluZGV4IGJhMzBiNDNhMzQxMi4uMDM0NTUz YTUyNGFjIDEwMDY0NAo+ID4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9nbWE1MDAvb2FrdHJhaWxf ZGV2aWNlLmMKPiA+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vZ21hNTAwL29ha3RyYWlsX2Rldmlj ZS5jCj4gPj4gQEAgLTE1NSw3ICsxNTUsOCBAQCBzdGF0aWMgaW50IG9ha3RyYWlsX2JhY2tsaWdo dF9pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCj4gPj4gIAlwcm9wcy50eXBlID0gQkFDS0xJ R0hUX1BMQVRGT1JNOwo+ID4+ICAKPiA+PiAgCW9ha3RyYWlsX2JhY2tsaWdodF9kZXZpY2UgPSBi YWNrbGlnaHRfZGV2aWNlX3JlZ2lzdGVyKCJvYWt0cmFpbC1ibCIsCj4gPj4gLQkJCQlOVUxMLCAo dm9pZCAqKWRldiwgJm9ha3RyYWlsX29wcywgJnByb3BzKTsKPiA+PiArCQkJCU5VTEwsICh2b2lk ICopZGV2LCAmb2FrdHJhaWxfb3BzLCAmcHJvcHMsCj4gPj4gKwkJCQlCQUNLTElHSFRfUkVHSVNU RVJfRkJfQ0xJRU5UKTsKPiA+PiAgCj4gPj4gIAlpZiAoSVNfRVJSKG9ha3RyYWlsX2JhY2tsaWdo dF9kZXZpY2UpKQo+ID4+ICAJCXJldHVybiBQVFJfRVJSKG9ha3RyYWlsX2JhY2tsaWdodF9kZXZp Y2UpOwo+ID4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZ21hNTAwL3BzYl9kZXZpY2Uu YyBiL2RyaXZlcnMvZ3B1L2RybS9nbWE1MDAvcHNiX2RldmljZS5jCj4gPj4gaW5kZXggZGMwZjg1 Mjc1NzBjLi4wYzEzODVkNjQ4MzkgMTAwNjQ0Cj4gPj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2dt YTUwMC9wc2JfZGV2aWNlLmMKPiA+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vZ21hNTAwL3BzYl9k ZXZpY2UuYwo+ID4+IEBAIC0xMzEsNyArMTMxLDggQEAgc3RhdGljIGludCBwc2JfYmFja2xpZ2h0 X2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldikKPiA+PiAgCXByb3BzLnR5cGUgPSBCQUNLTElH SFRfUExBVEZPUk07Cj4gPj4gIAo+ID4+ICAJcHNiX2JhY2tsaWdodF9kZXZpY2UgPSBiYWNrbGln aHRfZGV2aWNlX3JlZ2lzdGVyKCJwc2ItYmwiLAo+ID4+IC0JCQkJCU5VTEwsICh2b2lkICopZGV2 LCAmcHNiX29wcywgJnByb3BzKTsKPiA+PiArCQkJCQlOVUxMLCAodm9pZCAqKWRldiwgJnBzYl9v cHMsICZwcm9wcywKPiA+PiArCQkJCQlCQUNLTElHSFRfUkVHSVNURVJfRkJfQ0xJRU5UKTsKPiA+ PiAgCWlmIChJU19FUlIocHNiX2JhY2tsaWdodF9kZXZpY2UpKQo+ID4+ICAJCXJldHVybiBQVFJf RVJSKHBzYl9iYWNrbGlnaHRfZGV2aWNlKTsKPiA+PiAgCj4gPj4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX3BhbmVsLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9wYW5lbC5jCj4gPj4gaW5kZXggM2MwYjk3ZjBiZmFlLi5hY2Y2Mzk1YjlmMzMgMTAwNjQ0Cj4g Pj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcGFuZWwuYwo+ID4+ICsrKyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BhbmVsLmMKPiA+PiBAQCAtMTIwMSw3ICsxMjAxLDgg QEAgaW50IGludGVsX2JhY2tsaWdodF9kZXZpY2VfcmVnaXN0ZXIoc3RydWN0IGludGVsX2Nvbm5l Y3RvciAqY29ubmVjdG9yKQo+ID4+ICAJCWJhY2tsaWdodF9kZXZpY2VfcmVnaXN0ZXIoImludGVs X2JhY2tsaWdodCIsCj4gPj4gIAkJCQkJICBjb25uZWN0b3ItPmJhc2Uua2RldiwKPiA+PiAgCQkJ CQkgIGNvbm5lY3RvciwKPiA+PiAtCQkJCQkgICZpbnRlbF9iYWNrbGlnaHRfZGV2aWNlX29wcywg JnByb3BzKTsKPiA+PiArCQkJCQkgICZpbnRlbF9iYWNrbGlnaHRfZGV2aWNlX29wcywgJnByb3Bz LAo+ID4+ICsJCQkJCSAgMCk7Cj4gPj4gIAo+ID4+ICAJaWYgKElTX0VSUihwYW5lbC0+YmFja2xp Z2h0LmRldmljZSkpIHsKPiA+PiAgCQlEUk1fRVJST1IoIkZhaWxlZCB0byByZWdpc3RlciBiYWNr bGlnaHQ6ICVsZFxuIiwKPiA+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL25vdXZlYXUv bm91dmVhdV9iYWNrbGlnaHQuYyBiL2RyaXZlcnMvZ3B1L2RybS9ub3V2ZWF1L25vdXZlYXVfYmFj a2xpZ2h0LmMKPiA+PiBpbmRleCBmNTEwMWJlODA2Y2IuLjVmZDdlNzQ5OGYxMyAxMDA2NDQKPiA+ PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vbm91dmVhdS9ub3V2ZWF1X2JhY2tsaWdodC5jCj4gPj4g KysrIGIvZHJpdmVycy9ncHUvZHJtL25vdXZlYXUvbm91dmVhdV9iYWNrbGlnaHQuYwo+ID4+IEBA IC04Miw3ICs4Miw4IEBAIG52NDBfYmFja2xpZ2h0X2luaXQoc3RydWN0IGRybV9jb25uZWN0b3Ig KmNvbm5lY3RvcikKPiA+PiAgCXByb3BzLnR5cGUgPSBCQUNLTElHSFRfUkFXOwo+ID4+ICAJcHJv cHMubWF4X2JyaWdodG5lc3MgPSAzMTsKPiA+PiAgCWJkID0gYmFja2xpZ2h0X2RldmljZV9yZWdp c3RlcigibnZfYmFja2xpZ2h0IiwgY29ubmVjdG9yLT5rZGV2LCBkcm0sCj4gPj4gLQkJCQkgICAg ICAgJm52NDBfYmxfb3BzLCAmcHJvcHMpOwo+ID4+ICsJCQkJICAgICAgICZudjQwX2JsX29wcywg JnByb3BzLAo+ID4+ICsJCQkJICAgICAgIEJBQ0tMSUdIVF9SRUdJU1RFUl9GQl9DTElFTlQpOwo+ ID4+ICAJaWYgKElTX0VSUihiZCkpCj4gPj4gIAkJcmV0dXJuIFBUUl9FUlIoYmQpOwo+ID4+ICAJ ZHJtLT5iYWNrbGlnaHQgPSBiZDsKPiA+PiBAQCAtMjA0LDcgKzIwNSw4IEBAIG52NTBfYmFja2xp Z2h0X2luaXQoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvcikKPiA+PiAgCXByb3BzLnR5 cGUgPSBCQUNLTElHSFRfUkFXOwo+ID4+ICAJcHJvcHMubWF4X2JyaWdodG5lc3MgPSAxMDA7Cj4g Pj4gIAliZCA9IGJhY2tsaWdodF9kZXZpY2VfcmVnaXN0ZXIoIm52X2JhY2tsaWdodCIsIGNvbm5l Y3Rvci0+a2RldiwKPiA+PiAtCQkJCSAgICAgICBudl9lbmNvZGVyLCBvcHMsICZwcm9wcyk7Cj4g Pj4gKwkJCQkgICAgICAgbnZfZW5jb2Rlciwgb3BzLCAmcHJvcHMsCj4gPj4gKwkJCQkgICAgICAg QkFDS0xJR0hUX1JFR0lTVEVSX0ZCX0NMSUVOVCk7Cj4gPj4gIAlpZiAoSVNfRVJSKGJkKSkKPiA+ PiAgCQlyZXR1cm4gUFRSX0VSUihiZCk7Cj4gPj4gIAo+ID4+IGRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vb21hcGRybS9kaXNwbGF5cy9wYW5lbC1kc2ktY20uYyBiL2RyaXZlcnMvZ3B1L2Ry bS9vbWFwZHJtL2Rpc3BsYXlzL3BhbmVsLWRzaS1jbS5jCj4gPj4gaW5kZXggMWIwY2YyZDgyMjRi Li4xMDUxMWJkZDk5MzYgMTAwNjQ0Cj4gPj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL29tYXBkcm0v ZGlzcGxheXMvcGFuZWwtZHNpLWNtLmMKPiA+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vb21hcGRy bS9kaXNwbGF5cy9wYW5lbC1kc2ktY20uYwo+ID4+IEBAIC0xMjYwLDcgKzEyNjAsOCBAQCBzdGF0 aWMgaW50IGRzaWNtX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCj4gPj4gIAo+ ID4+ICAJCXByb3BzLnR5cGUgPSBCQUNLTElHSFRfUkFXOwo+ID4+ICAJCWJsZGV2ID0gYmFja2xp Z2h0X2RldmljZV9yZWdpc3RlcihkZXZfbmFtZShkZXYpLAo+ID4+IC0JCQkJZGV2LCBkZGF0YSwg JmRzaWNtX2JsX29wcywgJnByb3BzKTsKPiA+PiArCQkJCWRldiwgZGRhdGEsICZkc2ljbV9ibF9v cHMsICZwcm9wcywKPiA+PiArCQkJCUJBQ0tMSUdIVF9SRUdJU1RFUl9GQl9DTElFTlQpOwo+ID4+ ICAJCWlmIChJU19FUlIoYmxkZXYpKSB7Cj4gPj4gIAkJCXIgPSBQVFJfRVJSKGJsZGV2KTsKPiA+ PiAgCQkJZ290byBlcnJfYmw7Cj4gPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9vbWFw ZHJtL2Rpc3BsYXlzL3BhbmVsLXNvbnktYWN4NTY1YWttLmMgYi9kcml2ZXJzL2dwdS9kcm0vb21h cGRybS9kaXNwbGF5cy9wYW5lbC1zb255LWFjeDU2NWFrbS5jCj4gPj4gaW5kZXggMTU3YzUxMjIw NWQxLi45ZjM2MjI5MTA1MTEgMTAwNjQ0Cj4gPj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL29tYXBk cm0vZGlzcGxheXMvcGFuZWwtc29ueS1hY3g1NjVha20uYwo+ID4+ICsrKyBiL2RyaXZlcnMvZ3B1 L2RybS9vbWFwZHJtL2Rpc3BsYXlzL3BhbmVsLXNvbnktYWN4NTY1YWttLmMKPiA+PiBAQCAtODE3 LDcgKzgxNyw4IEBAIHN0YXRpYyBpbnQgYWN4NTY1YWttX3Byb2JlKHN0cnVjdCBzcGlfZGV2aWNl ICpzcGkpCj4gPj4gIAlwcm9wcy50eXBlID0gQkFDS0xJR0hUX1JBVzsKPiA+PiAgCj4gPj4gIAli bGRldiA9IGJhY2tsaWdodF9kZXZpY2VfcmVnaXN0ZXIoImFjeDU2NWFrbSIsICZkZGF0YS0+c3Bp LT5kZXYsCj4gPj4gLQkJCWRkYXRhLCAmYWN4NTY1YWttX2JsX29wcywgJnByb3BzKTsKPiA+PiAr CQkJZGRhdGEsICZhY3g1NjVha21fYmxfb3BzLCAmcHJvcHMsCj4gPj4gKwkJCUJBQ0tMSUdIVF9S RUdJU1RFUl9GQl9DTElFTlQpOwo+ID4+ICAJaWYgKElTX0VSUihibGRldikpIHsKPiA+PiAgCQly ID0gUFRSX0VSUihibGRldik7Cj4gPj4gIAkJZ290byBlcnJfcmVnX2JsOwo+ID4+IGRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL2F0b21iaW9zX2VuY29kZXJzLmMgYi9kcml2ZXJz L2dwdS9kcm0vcmFkZW9uL2F0b21iaW9zX2VuY29kZXJzLmMKPiA+PiBpbmRleCA1ODdjYWU0ZTcz YzkuLjM2NzZiYTZlMTZlZSAxMDA2NDQKPiA+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9u L2F0b21iaW9zX2VuY29kZXJzLmMKPiA+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL2F0 b21iaW9zX2VuY29kZXJzLmMKPiA+PiBAQCAtMjE0LDcgKzIxNCw4IEBAIHZvaWQgcmFkZW9uX2F0 b21fYmFja2xpZ2h0X2luaXQoc3RydWN0IHJhZGVvbl9lbmNvZGVyICpyYWRlb25fZW5jb2RlciwK PiA+PiAgCXNucHJpbnRmKGJsX25hbWUsIHNpemVvZihibF9uYW1lKSwKPiA+PiAgCQkgInJhZGVv bl9ibCVkIiwgZGV2LT5wcmltYXJ5LT5pbmRleCk7Cj4gPj4gIAliZCA9IGJhY2tsaWdodF9kZXZp Y2VfcmVnaXN0ZXIoYmxfbmFtZSwgZHJtX2Nvbm5lY3Rvci0+a2RldiwKPiA+PiAtCQkJCSAgICAg ICBwZGF0YSwgJnJhZGVvbl9hdG9tX2JhY2tsaWdodF9vcHMsICZwcm9wcyk7Cj4gPj4gKwkJCQkg ICAgICAgcGRhdGEsICZyYWRlb25fYXRvbV9iYWNrbGlnaHRfb3BzLCAmcHJvcHMsCj4gPj4gKwkJ CQkgICAgICAgQkFDS0xJR0hUX1JFR0lTVEVSX0ZCX0NMSUVOVCk7Cj4gPj4gIAlpZiAoSVNfRVJS KGJkKSkgewo+ID4+ICAJCURSTV9FUlJPUigiQmFja2xpZ2h0IHJlZ2lzdHJhdGlvbiBmYWlsZWRc biIpOwo+ID4+ICAJCWdvdG8gZXJyb3I7Cj4gPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9yYWRlb24vcmFkZW9uX2xlZ2FjeV9lbmNvZGVycy5jIGIvZHJpdmVycy9ncHUvZHJtL3JhZGVv bi9yYWRlb25fbGVnYWN5X2VuY29kZXJzLmMKPiA+PiBpbmRleCA4NjhjM2JhMmVmYWEuLjI3OTA4 NjI0YzgxOCAxMDA2NDQKPiA+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9s ZWdhY3lfZW5jb2RlcnMuYwo+ID4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcmFkZW9u X2xlZ2FjeV9lbmNvZGVycy5jCj4gPj4gQEAgLTM5Myw3ICszOTMsOCBAQCB2b2lkIHJhZGVvbl9s ZWdhY3lfYmFja2xpZ2h0X2luaXQoc3RydWN0IHJhZGVvbl9lbmNvZGVyICpyYWRlb25fZW5jb2Rl ciwKPiA+PiAgCXNucHJpbnRmKGJsX25hbWUsIHNpemVvZihibF9uYW1lKSwKPiA+PiAgCQkgInJh ZGVvbl9ibCVkIiwgZGV2LT5wcmltYXJ5LT5pbmRleCk7Cj4gPj4gIAliZCA9IGJhY2tsaWdodF9k ZXZpY2VfcmVnaXN0ZXIoYmxfbmFtZSwgZHJtX2Nvbm5lY3Rvci0+a2RldiwKPiA+PiAtCQkJCSAg ICAgICBwZGF0YSwgJnJhZGVvbl9iYWNrbGlnaHRfb3BzLCAmcHJvcHMpOwo+ID4+ICsJCQkJICAg ICAgIHBkYXRhLCAmcmFkZW9uX2JhY2tsaWdodF9vcHMsICZwcm9wcywKPiA+PiArCQkJCSAgICAg ICBCQUNLTElHSFRfUkVHSVNURVJfRkJfQ0xJRU5UKTsKPiA+PiAgCWlmIChJU19FUlIoYmQpKSB7 Cj4gPj4gIAkJRFJNX0VSUk9SKCJCYWNrbGlnaHQgcmVnaXN0cmF0aW9uIGZhaWxlZFxuIik7Cj4g Pj4gIAkJZ290byBlcnJvcjsKPiA+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3NobW9i aWxlL3NobW9iX2RybV9iYWNrbGlnaHQuYyBiL2RyaXZlcnMvZ3B1L2RybS9zaG1vYmlsZS9zaG1v Yl9kcm1fYmFja2xpZ2h0LmMKPiA+PiBpbmRleCAzM2RkNDFhZmVhMGUuLjFmZjEwZmFlZDNhNyAx MDA2NDQKPiA+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vc2htb2JpbGUvc2htb2JfZHJtX2JhY2ts aWdodC5jCj4gPj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3NobW9iaWxlL3NobW9iX2RybV9iYWNr bGlnaHQuYwo+ID4+IEBAIC02OCw3ICs2OCw4IEBAIGludCBzaG1vYl9kcm1fYmFja2xpZ2h0X2lu aXQoc3RydWN0IHNobW9iX2RybV9jb25uZWN0b3IgKnNjb24pCj4gPj4gIAkJcmV0dXJuIDA7Cj4g Pj4gIAo+ID4+ICAJYmFja2xpZ2h0ID0gYmFja2xpZ2h0X2RldmljZV9yZWdpc3RlcihiZGF0YS0+ bmFtZSwgZGV2LT5kZXYsIHNjb24sCj4gPj4gLQkJCQkJICAgICAgJnNobW9iX2RybV9iYWNrbGln aHRfb3BzLCBOVUxMKTsKPiA+PiArCQkJCQkgICAgICAmc2htb2JfZHJtX2JhY2tsaWdodF9vcHMs IE5VTEwsCj4gPj4gKwkJCQkJICAgICAgQkFDS0xJR0hUX1JFR0lTVEVSX0ZCX0NMSUVOVCk7Cj4g Pj4gIAlpZiAoSVNfRVJSKGJhY2tsaWdodCkpIHsKPiA+PiAgCQlkZXZfZXJyKGRldi0+ZGV2LCAi dW5hYmxlIHRvIHJlZ2lzdGVyIGJhY2tsaWdodCBkZXZpY2U6ICVsZFxuIiwKPiA+PiAgCQkJUFRS X0VSUihiYWNrbGlnaHQpKTsKPiA+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9oaWQvaGlkLXBpY29s Y2RfYmFja2xpZ2h0LmMgYi9kcml2ZXJzL2hpZC9oaWQtcGljb2xjZF9iYWNrbGlnaHQuYwo+ID4+ IGluZGV4IDgwODgwN2FkMzg4Zi4uMDY1OTdmNTBjMzJiIDEwMDY0NAo+ID4+IC0tLSBhL2RyaXZl cnMvaGlkL2hpZC1waWNvbGNkX2JhY2tsaWdodC5jCj4gPj4gKysrIGIvZHJpdmVycy9oaWQvaGlk LXBpY29sY2RfYmFja2xpZ2h0LmMKPiA+PiBAQCAtNzcsNyArNzcsOCBAQCBpbnQgcGljb2xjZF9p bml0X2JhY2tsaWdodChzdHJ1Y3QgcGljb2xjZF9kYXRhICpkYXRhLCBzdHJ1Y3QgaGlkX3JlcG9y dCAqcmVwb3J0KQo+ID4+ICAJcHJvcHMudHlwZSA9IEJBQ0tMSUdIVF9SQVc7Cj4gPj4gIAlwcm9w cy5tYXhfYnJpZ2h0bmVzcyA9IDB4ZmY7Cj4gPj4gIAliZGV2ID0gYmFja2xpZ2h0X2RldmljZV9y ZWdpc3RlcihkZXZfbmFtZShkZXYpLCBkZXYsIGRhdGEsCj4gPj4gLQkJCSZwaWNvbGNkX2Jsb3Bz LCAmcHJvcHMpOwo+ID4+ICsJCQkmcGljb2xjZF9ibG9wcywgJnByb3BzLAo+ID4+ICsJCQlCQUNL TElHSFRfUkVHSVNURVJfRkJfQ0xJRU5UKTsKPiA+PiAgCWlmIChJU19FUlIoYmRldikpIHsKPiA+ PiAgCQlkZXZfZXJyKGRldiwgImZhaWxlZCB0byByZWdpc3RlciBiYWNrbGlnaHRcbiIpOwo+ID4+ ICAJCXJldHVybiBQVFJfRVJSKGJkZXYpOwo+ID4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL21hY2lu dG9zaC92aWEtcG11LWJhY2tsaWdodC5jIGIvZHJpdmVycy9tYWNpbnRvc2gvdmlhLXBtdS1iYWNr bGlnaHQuYwo+ID4+IGluZGV4IDZmNjg1MzdjOTNjZS4uZGEwZmIyZTg3Zjc1IDEwMDY0NAo+ID4+ IC0tLSBhL2RyaXZlcnMvbWFjaW50b3NoL3ZpYS1wbXUtYmFja2xpZ2h0LmMKPiA+PiArKysgYi9k cml2ZXJzL21hY2ludG9zaC92aWEtcG11LWJhY2tsaWdodC5jCj4gPj4gQEAgLTE2MCw3ICsxNjAs OCBAQCB2b2lkIF9faW5pdCBwbXVfYmFja2xpZ2h0X2luaXQoKQo+ID4+ICAJcHJvcHMudHlwZSA9 IEJBQ0tMSUdIVF9QTEFURk9STTsKPiA+PiAgCXByb3BzLm1heF9icmlnaHRuZXNzID0gRkJfQkFD S0xJR0hUX0xFVkVMUyAtIDE7Cj4gPj4gIAliZCA9IGJhY2tsaWdodF9kZXZpY2VfcmVnaXN0ZXIo bmFtZSwgTlVMTCwgTlVMTCwgJnBtdV9iYWNrbGlnaHRfZGF0YSwKPiA+PiAtCQkJCSAgICAgICAm cHJvcHMpOwo+ID4+ICsJCQkJICAgICAgICZwcm9wcywKPiA+PiArCQkJCSAgICAgICBCQUNLTElH SFRfUkVHSVNURVJfRkJfQ0xJRU5UKTsKPiA+PiAgCWlmIChJU19FUlIoYmQpKSB7Cj4gPj4gIAkJ cHJpbnRrKEtFUk5fRVJSICJQTVUgQmFja2xpZ2h0IHJlZ2lzdHJhdGlvbiBmYWlsZWRcbiIpOwo+ ID4+ICAJCXJldHVybjsKPiA+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9wbGF0Zm9ybS94ODYvYWNl ci13bWkuYyBiL2RyaXZlcnMvcGxhdGZvcm0veDg2L2FjZXItd21pLmMKPiA+PiBpbmRleCA3OWQ2 NGVhMDBiZmIuLjBiMTdjNTE0NjE3NSAxMDA2NDQKPiA+PiAtLS0gYS9kcml2ZXJzL3BsYXRmb3Jt L3g4Ni9hY2VyLXdtaS5jCj4gPj4gKysrIGIvZHJpdmVycy9wbGF0Zm9ybS94ODYvYWNlci13bWku Ywo+ID4+IEBAIC0xNDE5LDcgKzE0MTksOCBAQCBzdGF0aWMgaW50IGFjZXJfYmFja2xpZ2h0X2lu aXQoc3RydWN0IGRldmljZSAqZGV2KQo+ID4+ICAJcHJvcHMudHlwZSA9IEJBQ0tMSUdIVF9QTEFU Rk9STTsKPiA+PiAgCXByb3BzLm1heF9icmlnaHRuZXNzID0gbWF4X2JyaWdodG5lc3M7Cj4gPj4g IAliZCA9IGJhY2tsaWdodF9kZXZpY2VfcmVnaXN0ZXIoImFjZXItd21pIiwgZGV2LCBOVUxMLCAm YWNlcl9ibF9vcHMsCj4gPj4gLQkJCQkgICAgICAgJnByb3BzKTsKPiA+PiArCQkJCSAgICAgICAm cHJvcHMsCj4gPj4gKwkJCQkgICAgICAgQkFDS0xJR0hUX1JFR0lTVEVSX0ZCX0NMSUVOVCk7Cj4g Pj4gIAlpZiAoSVNfRVJSKGJkKSkgewo+ID4+ICAJCXByX2VycigiQ291bGQgbm90IHJlZ2lzdGVy IEFjZXIgYmFja2xpZ2h0IGRldmljZVxuIik7Cj4gPj4gIAkJYWNlcl9iYWNrbGlnaHRfZGV2aWNl ID0gTlVMTDsKPiA+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9wbGF0Zm9ybS94ODYvYXBwbGUtZ211 eC5jIGIvZHJpdmVycy9wbGF0Zm9ybS94ODYvYXBwbGUtZ211eC5jCj4gPj4gaW5kZXggNDAzNGQy ZDRjNTA3Li5lMDQxYmJlMTRkZjUgMTAwNjQ0Cj4gPj4gLS0tIGEvZHJpdmVycy9wbGF0Zm9ybS94 ODYvYXBwbGUtZ211eC5jCj4gPj4gKysrIGIvZHJpdmVycy9wbGF0Zm9ybS94ODYvYXBwbGUtZ211 eC5jCj4gPj4gQEAgLTY5OCw3ICs2OTgsOCBAQCBzdGF0aWMgaW50IGdtdXhfcHJvYmUoc3RydWN0 IHBucF9kZXYgKnBucCwgY29uc3Qgc3RydWN0IHBucF9kZXZpY2VfaWQgKmlkKQo+ID4+ICAJCXBy b3BzLm1heF9icmlnaHRuZXNzID0gR01VWF9NQVhfQlJJR0hUTkVTUzsKPiA+PiAgCj4gPj4gIAli ZGV2ID0gYmFja2xpZ2h0X2RldmljZV9yZWdpc3RlcigiZ211eF9iYWNrbGlnaHQiLCAmcG5wLT5k ZXYsCj4gPj4gLQkJCQkJIGdtdXhfZGF0YSwgJmdtdXhfYmxfb3BzLCAmcHJvcHMpOwo+ID4+ICsJ CQkJCSBnbXV4X2RhdGEsICZnbXV4X2JsX29wcywgJnByb3BzLAo+ID4+ICsJCQkJCSBCQUNLTElH SFRfUkVHSVNURVJfRkJfQ0xJRU5UKTsKPiA+PiAgCWlmIChJU19FUlIoYmRldikpIHsKPiA+PiAg CQlyZXQgPSBQVFJfRVJSKGJkZXYpOwo+ID4+ICAJCWdvdG8gZXJyX3JlbGVhc2U7Cj4gPj4gZGlm ZiAtLWdpdCBhL2RyaXZlcnMvcGxhdGZvcm0veDg2L2FzdXMtbGFwdG9wLmMgYi9kcml2ZXJzL3Bs YXRmb3JtL3g4Ni9hc3VzLWxhcHRvcC5jCj4gPj4gaW5kZXggMTVmMTMxMTQ2NTAxLi45OGYyNmNm ZjljOTYgMTAwNjQ0Cj4gPj4gLS0tIGEvZHJpdmVycy9wbGF0Zm9ybS94ODYvYXN1cy1sYXB0b3Au Ywo+ID4+ICsrKyBiL2RyaXZlcnMvcGxhdGZvcm0veDg2L2FzdXMtbGFwdG9wLmMKPiA+PiBAQCAt ODMxLDcgKzgzMSw4IEBAIHN0YXRpYyBpbnQgYXN1c19iYWNrbGlnaHRfaW5pdChzdHJ1Y3QgYXN1 c19sYXB0b3AgKmFzdXMpCj4gPj4gIAo+ID4+ICAJYmQgPSBiYWNrbGlnaHRfZGV2aWNlX3JlZ2lz dGVyKEFTVVNfTEFQVE9QX0ZJTEUsCj4gPj4gIAkJCQkgICAgICAgJmFzdXMtPnBsYXRmb3JtX2Rl dmljZS0+ZGV2LCBhc3VzLAo+ID4+IC0JCQkJICAgICAgICZhc3VzYmxfb3BzLCAmcHJvcHMpOwo+ ID4+ICsJCQkJICAgICAgICZhc3VzYmxfb3BzLCAmcHJvcHMsCj4gPj4gKwkJCQkgICAgICAgQkFD S0xJR0hUX1JFR0lTVEVSX0ZCX0NMSUVOVCk7Cj4gPj4gIAlpZiAoSVNfRVJSKGJkKSkgewo+ID4+ ICAJCXByX2VycigiQ291bGQgbm90IHJlZ2lzdGVyIGFzdXMgYmFja2xpZ2h0IGRldmljZVxuIik7 Cj4gPj4gIAkJYXN1cy0+YmFja2xpZ2h0X2RldmljZSA9IE5VTEw7Cj4gPj4gZGlmZiAtLWdpdCBh L2RyaXZlcnMvcGxhdGZvcm0veDg2L2FzdXMtd21pLmMgYi9kcml2ZXJzL3BsYXRmb3JtL3g4Ni9h c3VzLXdtaS5jCj4gPj4gaW5kZXggYTI2ZGNhMzY0MGVhLi5jYTg5N2JjOTQ2MjYgMTAwNjQ0Cj4g Pj4gLS0tIGEvZHJpdmVycy9wbGF0Zm9ybS94ODYvYXN1cy13bWkuYwo+ID4+ICsrKyBiL2RyaXZl cnMvcGxhdGZvcm0veDg2L2FzdXMtd21pLmMKPiA+PiBAQCAtMTU2NSw3ICsxNTY1LDggQEAgc3Rh dGljIGludCBhc3VzX3dtaV9iYWNrbGlnaHRfaW5pdChzdHJ1Y3QgYXN1c193bWkgKmFzdXMpCj4g Pj4gIAlwcm9wcy5tYXhfYnJpZ2h0bmVzcyA9IG1heDsKPiA+PiAgCWJkID0gYmFja2xpZ2h0X2Rl dmljZV9yZWdpc3Rlcihhc3VzLT5kcml2ZXItPm5hbWUsCj4gPj4gIAkJCQkgICAgICAgJmFzdXMt PnBsYXRmb3JtX2RldmljZS0+ZGV2LCBhc3VzLAo+ID4+IC0JCQkJICAgICAgICZhc3VzX3dtaV9i bF9vcHMsICZwcm9wcyk7Cj4gPj4gKwkJCQkgICAgICAgJmFzdXNfd21pX2JsX29wcywgJnByb3Bz LAo+ID4+ICsJCQkJICAgICAgIEJBQ0tMSUdIVF9SRUdJU1RFUl9GQl9DTElFTlQpOwo+ID4+ICAJ aWYgKElTX0VSUihiZCkpIHsKPiA+PiAgCQlwcl9lcnIoIkNvdWxkIG5vdCByZWdpc3RlciBiYWNr bGlnaHQgZGV2aWNlXG4iKTsKPiA+PiAgCQlyZXR1cm4gUFRSX0VSUihiZCk7Cj4gPj4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvcGxhdGZvcm0veDg2L2NsYXNzbWF0ZS1sYXB0b3AuYyBiL2RyaXZlcnMv cGxhdGZvcm0veDg2L2NsYXNzbWF0ZS1sYXB0b3AuYwo+ID4+IGluZGV4IDU1Y2YxMGJjNzgxNy4u NjBjZjdhMGM3MTcwIDEwMDY0NAo+ID4+IC0tLSBhL2RyaXZlcnMvcGxhdGZvcm0veDg2L2NsYXNz bWF0ZS1sYXB0b3AuYwo+ID4+ICsrKyBiL2RyaXZlcnMvcGxhdGZvcm0veDg2L2NsYXNzbWF0ZS1s YXB0b3AuYwo+ID4+IEBAIC05NzAsNyArOTcwLDggQEAgc3RhdGljIGludCBjbXBjX2lwbWxfYWRk KHN0cnVjdCBhY3BpX2RldmljZSAqYWNwaSkKPiA+PiAgCXByb3BzLm1heF9icmlnaHRuZXNzID0g NzsKPiA+PiAgCWlwbWwtPmJkID0gYmFja2xpZ2h0X2RldmljZV9yZWdpc3RlcigiY21wY19ibCIs ICZhY3BpLT5kZXYsCj4gPj4gIAkJCQkJICAgICBhY3BpLT5oYW5kbGUsICZjbXBjX2JsX29wcywK PiA+PiAtCQkJCQkgICAgICZwcm9wcyk7Cj4gPj4gKwkJCQkJICAgICAmcHJvcHMsCj4gPj4gKwkJ CQkJICAgICBCQUNLTElHSFRfUkVHSVNURVJfRkJfQ0xJRU5UKTsKPiA+PiAgCWlmIChJU19FUlIo aXBtbC0+YmQpKSB7Cj4gPj4gIAkJcmV0dmFsID0gUFRSX0VSUihpcG1sLT5iZCk7Cj4gPj4gIAkJ Z290byBvdXRfYmQ7Cj4gPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvcGxhdGZvcm0veDg2L2NvbXBh bC1sYXB0b3AuYyBiL2RyaXZlcnMvcGxhdGZvcm0veDg2L2NvbXBhbC1sYXB0b3AuYwo+ID4+IGlu ZGV4IGUxYzJiNmQ0YjI0YS4uOWE2NzVkM2I2ZmU1IDEwMDY0NAo+ID4+IC0tLSBhL2RyaXZlcnMv cGxhdGZvcm0veDg2L2NvbXBhbC1sYXB0b3AuYwo+ID4+ICsrKyBiL2RyaXZlcnMvcGxhdGZvcm0v eDg2L2NvbXBhbC1sYXB0b3AuYwo+ID4+IEBAIC0xMDA4LDcgKzEwMDgsOCBAQCBzdGF0aWMgaW50 IF9faW5pdCBjb21wYWxfaW5pdCh2b2lkKQo+ID4+ICAJCWNvbXBhbGJsX2RldmljZSA9IGJhY2ts aWdodF9kZXZpY2VfcmVnaXN0ZXIoRFJJVkVSX05BTUUsCj4gPj4gIAkJCQkJCQkgICAgTlVMTCwg TlVMTCwKPiA+PiAgCQkJCQkJCSAgICAmY29tcGFsYmxfb3BzLAo+ID4+IC0JCQkJCQkJICAgICZw cm9wcyk7Cj4gPj4gKwkJCQkJCQkgICAgJnByb3BzLAo+ID4+ICsJCQkJCQkJICAgIEJBQ0tMSUdI VF9SRUdJU1RFUl9GQl9DTElFTlQpOwo+ID4+ICAJCWlmIChJU19FUlIoY29tcGFsYmxfZGV2aWNl KSkKPiA+PiAgCQkJcmV0dXJuIFBUUl9FUlIoY29tcGFsYmxfZGV2aWNlKTsKPiA+PiAgCX0KPiA+ PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9wbGF0Zm9ybS94ODYvZGVsbC1sYXB0b3AuYyBiL2RyaXZl cnMvcGxhdGZvcm0veDg2L2RlbGwtbGFwdG9wLmMKPiA+PiBpbmRleCAyYzJmMDJiMmUwOGEuLjU3 NzEyYTk3MGY4ZCAxMDA2NDQKPiA+PiAtLS0gYS9kcml2ZXJzL3BsYXRmb3JtL3g4Ni9kZWxsLWxh cHRvcC5jCj4gPj4gKysrIGIvZHJpdmVycy9wbGF0Zm9ybS94ODYvZGVsbC1sYXB0b3AuYwo+ID4+ IEBAIC0yMDM1LDcgKzIwMzUsOCBAQCBzdGF0aWMgaW50IF9faW5pdCBkZWxsX2luaXQodm9pZCkK PiA+PiAgCQkJCQkJCQkgICZwbGF0Zm9ybV9kZXZpY2UtPmRldiwKPiA+PiAgCQkJCQkJCQkgIE5V TEwsCj4gPj4gIAkJCQkJCQkJICAmZGVsbF9vcHMsCj4gPj4gLQkJCQkJCQkJICAmcHJvcHMpOwo+ ID4+ICsJCQkJCQkJCSAgJnByb3BzLAo+ID4+ICsJCQkJCQkJCSAgQkFDS0xJR0hUX1JFR0lTVEVS X0ZCX0NMSUVOVCk7Cj4gPj4gIAo+ID4+ICAJCWlmIChJU19FUlIoZGVsbF9iYWNrbGlnaHRfZGV2 aWNlKSkgewo+ID4+ICAJCQlyZXQgPSBQVFJfRVJSKGRlbGxfYmFja2xpZ2h0X2RldmljZSk7Cj4g Pj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvcGxhdGZvcm0veDg2L2VlZXBjLWxhcHRvcC5jIGIvZHJp dmVycy9wbGF0Zm9ybS94ODYvZWVlcGMtbGFwdG9wLmMKPiA+PiBpbmRleCA4Y2RmMzE1Zjk3MzAu LmRhOGFkYTJiYTQyOSAxMDA2NDQKPiA+PiAtLS0gYS9kcml2ZXJzL3BsYXRmb3JtL3g4Ni9lZWVw Yy1sYXB0b3AuYwo+ID4+ICsrKyBiL2RyaXZlcnMvcGxhdGZvcm0veDg2L2VlZXBjLWxhcHRvcC5j Cj4gPj4gQEAgLTExNTksNyArMTE1OSw4IEBAIHN0YXRpYyBpbnQgZWVlcGNfYmFja2xpZ2h0X2lu aXQoc3RydWN0IGVlZXBjX2xhcHRvcCAqZWVlcGMpCj4gPj4gIAlwcm9wcy5tYXhfYnJpZ2h0bmVz cyA9IDE1Owo+ID4+ICAJYmQgPSBiYWNrbGlnaHRfZGV2aWNlX3JlZ2lzdGVyKEVFRVBDX0xBUFRP UF9GSUxFLAo+ID4+ICAJCQkJICAgICAgICZlZWVwYy0+cGxhdGZvcm1fZGV2aWNlLT5kZXYsIGVl ZXBjLAo+ID4+IC0JCQkJICAgICAgICZlZWVwY2JsX29wcywgJnByb3BzKTsKPiA+PiArCQkJCSAg ICAgICAmZWVlcGNibF9vcHMsICZwcm9wcywKPiA+PiArCQkJCSAgICAgICBCQUNLTElHSFRfUkVH SVNURVJfRkJfQ0xJRU5UKTsKPiA+PiAgCWlmIChJU19FUlIoYmQpKSB7Cj4gPj4gIAkJcHJfZXJy KCJDb3VsZCBub3QgcmVnaXN0ZXIgZWVlcGMgYmFja2xpZ2h0IGRldmljZVxuIik7Cj4gPj4gIAkJ ZWVlcGMtPmJhY2tsaWdodF9kZXZpY2UgPSBOVUxMOwo+ID4+IGRpZmYgLS1naXQgYS9kcml2ZXJz L3BsYXRmb3JtL3g4Ni9mdWppdHN1LWxhcHRvcC5jIGIvZHJpdmVycy9wbGF0Zm9ybS94ODYvZnVq aXRzdS1sYXB0b3AuYwo+ID4+IGluZGV4IGNlNDFiYzM0Mjg4ZC4uYjU0ZTdlYTJlOTY4IDEwMDY0 NAo+ID4+IC0tLSBhL2RyaXZlcnMvcGxhdGZvcm0veDg2L2Z1aml0c3UtbGFwdG9wLmMKPiA+PiAr KysgYi9kcml2ZXJzL3BsYXRmb3JtL3g4Ni9mdWppdHN1LWxhcHRvcC5jCj4gPj4gQEAgLTExNjcs NyArMTE2Nyw4IEBAIHN0YXRpYyBpbnQgX19pbml0IGZ1aml0c3VfaW5pdCh2b2lkKQo+ID4+ICAJ CWZ1aml0c3UtPmJsX2RldmljZSA9IGJhY2tsaWdodF9kZXZpY2VfcmVnaXN0ZXIoImZ1aml0c3Ut bGFwdG9wIiwKPiA+PiAgCQkJCQkJCSAgICAgICBOVUxMLCBOVUxMLAo+ID4+ICAJCQkJCQkJICAg ICAgICZmdWppdHN1Ymxfb3BzLAo+ID4+IC0JCQkJCQkJICAgICAgICZwcm9wcyk7Cj4gPj4gKwkJ CQkJCQkgICAgICAgJnByb3BzLAo+ID4+ICsJCQkJCQkJICAgICAgIEJBQ0tMSUdIVF9SRUdJU1RF Ul9GQl9DTElFTlQpOwo+ID4+ICAJCWlmIChJU19FUlIoZnVqaXRzdS0+YmxfZGV2aWNlKSkgewo+ ID4+ICAJCQlyZXQgPSBQVFJfRVJSKGZ1aml0c3UtPmJsX2RldmljZSk7Cj4gPj4gIAkJCWZ1aml0 c3UtPmJsX2RldmljZSA9IE5VTEw7Cj4gPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvcGxhdGZvcm0v eDg2L2lkZWFwYWQtbGFwdG9wLmMgYi9kcml2ZXJzL3BsYXRmb3JtL3g4Ni9pZGVhcGFkLWxhcHRv cC5jCj4gPj4gaW5kZXggZDFhMDkxYjkzMTkyLi45OWRlMDJlZmQ5NzEgMTAwNjQ0Cj4gPj4gLS0t IGEvZHJpdmVycy9wbGF0Zm9ybS94ODYvaWRlYXBhZC1sYXB0b3AuYwo+ID4+ICsrKyBiL2RyaXZl cnMvcGxhdGZvcm0veDg2L2lkZWFwYWQtbGFwdG9wLmMKPiA+PiBAQCAtNzI2LDcgKzcyNiw4IEBA IHN0YXRpYyBpbnQgaWRlYXBhZF9iYWNrbGlnaHRfaW5pdChzdHJ1Y3QgaWRlYXBhZF9wcml2YXRl ICpwcml2KQo+ID4+ICAJCQkJCSAgICAgICZwcml2LT5wbGF0Zm9ybV9kZXZpY2UtPmRldiwKPiA+ PiAgCQkJCQkgICAgICBwcml2LAo+ID4+ICAJCQkJCSAgICAgICZpZGVhcGFkX2JhY2tsaWdodF9v cHMsCj4gPj4gLQkJCQkJICAgICAgJnByb3BzKTsKPiA+PiArCQkJCQkgICAgICAmcHJvcHMsCj4g Pj4gKwkJCQkJICAgICAgQkFDS0xJR0hUX1JFR0lTVEVSX0ZCX0NMSUVOVCk7Cj4gPj4gIAlpZiAo SVNfRVJSKGJsaWdodGRldikpIHsKPiA+PiAgCQlwcl9lcnIoIkNvdWxkIG5vdCByZWdpc3RlciBi YWNrbGlnaHQgZGV2aWNlXG4iKTsKPiA+PiAgCQlyZXR1cm4gUFRSX0VSUihibGlnaHRkZXYpOwo+ ID4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL3BsYXRmb3JtL3g4Ni9pbnRlbF9vYWt0cmFpbC5jIGIv ZHJpdmVycy9wbGF0Zm9ybS94ODYvaW50ZWxfb2FrdHJhaWwuYwo+ID4+IGluZGV4IDZhYTMzYzRh ODA5Zi4uMzAzZThlMjdhMGI5IDEwMDY0NAo+ID4+IC0tLSBhL2RyaXZlcnMvcGxhdGZvcm0veDg2 L2ludGVsX29ha3RyYWlsLmMKPiA+PiArKysgYi9kcml2ZXJzL3BsYXRmb3JtL3g4Ni9pbnRlbF9v YWt0cmFpbC5jCj4gPj4gQEAgLTI1Myw3ICsyNTMsOCBAQCBzdGF0aWMgaW50IG9ha3RyYWlsX2Jh Y2tsaWdodF9pbml0KHZvaWQpCj4gPj4gIAliZCA9IGJhY2tsaWdodF9kZXZpY2VfcmVnaXN0ZXIo RFJJVkVSX05BTUUsCj4gPj4gIAkJCQkgICAgICAgJm9ha3RyYWlsX2RldmljZS0+ZGV2LCBOVUxM LAo+ID4+ICAJCQkJICAgICAgICZvYWt0cmFpbF9ibF9vcHMsCj4gPj4gLQkJCQkgICAgICAgJnBy b3BzKTsKPiA+PiArCQkJCSAgICAgICAmcHJvcHMsCj4gPj4gKwkJCQkgICAgICAgQkFDS0xJR0hU X1JFR0lTVEVSX0ZCX0NMSUVOVCk7Cj4gPj4gIAo+ID4+ICAJaWYgKElTX0VSUihiZCkpIHsKPiA+ PiAgCQlvYWt0cmFpbF9ibF9kZXZpY2UgPSBOVUxMOwo+ID4+IGRpZmYgLS1naXQgYS9kcml2ZXJz L3BsYXRmb3JtL3g4Ni9tc2ktbGFwdG9wLmMgYi9kcml2ZXJzL3BsYXRmb3JtL3g4Ni9tc2ktbGFw dG9wLmMKPiA+PiBpbmRleCA0MjMxNzcwNDYyOWQuLjgxOTkwYmRhYjIyOSAxMDA2NDQKPiA+PiAt LS0gYS9kcml2ZXJzL3BsYXRmb3JtL3g4Ni9tc2ktbGFwdG9wLmMKPiA+PiArKysgYi9kcml2ZXJz L3BsYXRmb3JtL3g4Ni9tc2ktbGFwdG9wLmMKPiA+PiBAQCAtMTA3OCw3ICsxMDc4LDggQEAgc3Rh dGljIGludCBfX2luaXQgbXNpX2luaXQodm9pZCkKPiA+PiAgCQlwcm9wcy5tYXhfYnJpZ2h0bmVz cyA9IE1TSV9MQ0RfTEVWRUxfTUFYIC0gMTsKPiA+PiAgCQltc2libF9kZXZpY2UgPSBiYWNrbGln aHRfZGV2aWNlX3JlZ2lzdGVyKCJtc2ktbGFwdG9wLWJsIiwgTlVMTCwKPiA+PiAgCQkJCQkJCSBO VUxMLCAmbXNpYmxfb3BzLAo+ID4+IC0JCQkJCQkJICZwcm9wcyk7Cj4gPj4gKwkJCQkJCQkgJnBy b3BzLAo+ID4+ICsJCQkJCQkJIEJBQ0tMSUdIVF9SRUdJU1RFUl9GQl9DTElFTlQpOwo+ID4+ICAJ CWlmIChJU19FUlIobXNpYmxfZGV2aWNlKSkKPiA+PiAgCQkJcmV0dXJuIFBUUl9FUlIobXNpYmxf ZGV2aWNlKTsKPiA+PiAgCX0KPiA+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9wbGF0Zm9ybS94ODYv bXNpLXdtaS5jIGIvZHJpdmVycy9wbGF0Zm9ybS94ODYvbXNpLXdtaS5jCj4gPj4gaW5kZXggOTc4 ZTZkNjQwNTcyLi41MTc0NTcyYTc4NTkgMTAwNjQ0Cj4gPj4gLS0tIGEvZHJpdmVycy9wbGF0Zm9y bS94ODYvbXNpLXdtaS5jCj4gPj4gKysrIGIvZHJpdmVycy9wbGF0Zm9ybS94ODYvbXNpLXdtaS5j Cj4gPj4gQEAgLTI0Nyw3ICsyNDcsOCBAQCBzdGF0aWMgaW50IF9faW5pdCBtc2lfd21pX2JhY2ts aWdodF9zZXR1cCh2b2lkKQo+ID4+ICAJcHJvcHMubWF4X2JyaWdodG5lc3MgPSBBUlJBWV9TSVpF KGJhY2tsaWdodF9tYXApIC0gMTsKPiA+PiAgCWJhY2tsaWdodCA9IGJhY2tsaWdodF9kZXZpY2Vf cmVnaXN0ZXIoRFJWX05BTUUsIE5VTEwsIE5VTEwsCj4gPj4gIAkJCQkJICAgICAgJm1zaV9iYWNr bGlnaHRfb3BzLAo+ID4+IC0JCQkJCSAgICAgICZwcm9wcyk7Cj4gPj4gKwkJCQkJICAgICAgJnBy b3BzLAo+ID4+ICsJCQkJCSAgICAgIEJBQ0tMSUdIVF9SRUdJU1RFUl9GQl9DTElFTlQpOwo+ID4+ ICAJaWYgKElTX0VSUihiYWNrbGlnaHQpKQo+ID4+ICAJCXJldHVybiBQVFJfRVJSKGJhY2tsaWdo dCk7Cj4gPj4gIAo+ID4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL3BsYXRmb3JtL3g4Ni9wYW5hc29u aWMtbGFwdG9wLmMgYi9kcml2ZXJzL3BsYXRmb3JtL3g4Ni9wYW5hc29uaWMtbGFwdG9wLmMKPiA+ PiBpbmRleCAzZjg3MDk3MjI0N2MuLjAwNjc5ODE0ZDhjMyAxMDA2NDQKPiA+PiAtLS0gYS9kcml2 ZXJzL3BsYXRmb3JtL3g4Ni9wYW5hc29uaWMtbGFwdG9wLmMKPiA+PiArKysgYi9kcml2ZXJzL3Bs YXRmb3JtL3g4Ni9wYW5hc29uaWMtbGFwdG9wLmMKPiA+PiBAQCAtNjE4LDcgKzYxOCw4IEBAIHN0 YXRpYyBpbnQgYWNwaV9wY2NfaG90a2V5X2FkZChzdHJ1Y3QgYWNwaV9kZXZpY2UgKmRldmljZSkK PiA+PiAgCXByb3BzLnR5cGUgPSBCQUNLTElHSFRfUExBVEZPUk07Cj4gPj4gIAlwcm9wcy5tYXhf YnJpZ2h0bmVzcyA9IHBjYy0+c2luZltTSU5GX0FDX01BWF9CUklHSFRdOwo+ID4+ICAJcGNjLT5i YWNrbGlnaHQgPSBiYWNrbGlnaHRfZGV2aWNlX3JlZ2lzdGVyKCJwYW5hc29uaWMiLCBOVUxMLCBw Y2MsCj4gPj4gLQkJCQkJCSAgICZwY2NfYmFja2xpZ2h0X29wcywgJnByb3BzKTsKPiA+PiArCQkJ CQkJICAgJnBjY19iYWNrbGlnaHRfb3BzLCAmcHJvcHMsCj4gPj4gKwkJCQkJCSAgIEJBQ0tMSUdI VF9SRUdJU1RFUl9GQl9DTElFTlQpOwo+ID4+ICAJaWYgKElTX0VSUihwY2MtPmJhY2tsaWdodCkp IHsKPiA+PiAgCQlyZXN1bHQgPSBQVFJfRVJSKHBjYy0+YmFja2xpZ2h0KTsKPiA+PiAgCQlnb3Rv IG91dF9pbnB1dDsKPiA+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9wbGF0Zm9ybS94ODYvc2Ftc3Vu Zy1sYXB0b3AuYyBiL2RyaXZlcnMvcGxhdGZvcm0veDg2L3NhbXN1bmctbGFwdG9wLmMKPiA+PiBp bmRleCA4YzE0NmUyYjY3MjcuLjA5ODY4NzA2ZGZkNiAxMDA2NDQKPiA+PiAtLS0gYS9kcml2ZXJz L3BsYXRmb3JtL3g4Ni9zYW1zdW5nLWxhcHRvcC5jCj4gPj4gKysrIGIvZHJpdmVycy9wbGF0Zm9y bS94ODYvc2Ftc3VuZy1sYXB0b3AuYwo+ID4+IEBAIC0xMjAwLDcgKzEyMDAsOCBAQCBzdGF0aWMg aW50IF9faW5pdCBzYW1zdW5nX2JhY2tsaWdodF9pbml0KHN0cnVjdCBzYW1zdW5nX2xhcHRvcCAq c2Ftc3VuZykKPiA+PiAgCWJkID0gYmFja2xpZ2h0X2RldmljZV9yZWdpc3Rlcigic2Ftc3VuZyIs Cj4gPj4gIAkJCQkgICAgICAgJnNhbXN1bmctPnBsYXRmb3JtX2RldmljZS0+ZGV2LAo+ID4+ICAJ CQkJICAgICAgIHNhbXN1bmcsICZiYWNrbGlnaHRfb3BzLAo+ID4+IC0JCQkJICAgICAgICZwcm9w cyk7Cj4gPj4gKwkJCQkgICAgICAgJnByb3BzLAo+ID4+ICsJCQkJICAgICAgIEJBQ0tMSUdIVF9S RUdJU1RFUl9GQl9DTElFTlQpOwo+ID4+ICAJaWYgKElTX0VSUihiZCkpCj4gPj4gIAkJcmV0dXJu IFBUUl9FUlIoYmQpOwo+ID4+ICAKPiA+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9wbGF0Zm9ybS94 ODYvc2Ftc3VuZy1xMTAuYyBiL2RyaXZlcnMvcGxhdGZvcm0veDg2L3NhbXN1bmctcTEwLmMKPiA+ PiBpbmRleCBlNmFhYzcyNWEwYWYuLmNjMjVkMDQxNjIzNiAxMDA2NDQKPiA+PiAtLS0gYS9kcml2 ZXJzL3BsYXRmb3JtL3g4Ni9zYW1zdW5nLXExMC5jCj4gPj4gKysrIGIvZHJpdmVycy9wbGF0Zm9y bS94ODYvc2Ftc3VuZy1xMTAuYwo+ID4+IEBAIC02MCw3ICs2MCw4IEBAIHN0YXRpYyBpbnQgc2Ft c3VuZ3ExMF9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQo+ID4+ICAJcHJvcHMu dHlwZSA9IEJBQ0tMSUdIVF9QTEFURk9STTsKPiA+PiAgCXByb3BzLm1heF9icmlnaHRuZXNzID0g U0FNU1VOR1ExMF9CTF9NQVhfSU5URU5TSVRZOwo+ID4+ICAJYmQgPSBiYWNrbGlnaHRfZGV2aWNl X3JlZ2lzdGVyKCJzYW1zdW5nIiwgJnBkZXYtPmRldiwgTlVMTCwKPiA+PiAtCQkJCSAgICAgICAm c2Ftc3VuZ3ExMF9ibF9vcHMsICZwcm9wcyk7Cj4gPj4gKwkJCQkgICAgICAgJnNhbXN1bmdxMTBf Ymxfb3BzLCAmcHJvcHMsCj4gPj4gKwkJCQkgICAgICAgQkFDS0xJR0hUX1JFR0lTVEVSX0ZCX0NM SUVOVCk7Cj4gPj4gIAlpZiAoSVNfRVJSKGJkKSkKPiA+PiAgCQlyZXR1cm4gUFRSX0VSUihiZCk7 Cj4gPj4gIAo+ID4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL3BsYXRmb3JtL3g4Ni9zb255LWxhcHRv cC5jIGIvZHJpdmVycy9wbGF0Zm9ybS94ODYvc29ueS1sYXB0b3AuYwo+ID4+IGluZGV4IDFkYmEz NTk4Y2ZjYi4uYTIwZjMwNjIxZTVmIDEwMDY0NAo+ID4+IC0tLSBhL2RyaXZlcnMvcGxhdGZvcm0v eDg2L3NvbnktbGFwdG9wLmMKPiA+PiArKysgYi9kcml2ZXJzL3BsYXRmb3JtL3g4Ni9zb255LWxh cHRvcC5jCj4gPj4gQEAgLTMxNTgsNyArMzE1OCw4IEBAIHN0YXRpYyB2b2lkIHNvbnlfbmNfYmFj a2xpZ2h0X3NldHVwKHZvaWQpCj4gPj4gIAlwcm9wcy5tYXhfYnJpZ2h0bmVzcyA9IG1heF9icmln aHRuZXNzOwo+ID4+ICAJc29ueV9ibF9wcm9wcy5kZXYgPSBiYWNrbGlnaHRfZGV2aWNlX3JlZ2lz dGVyKCJzb255IiwgTlVMTCwKPiA+PiAgCQkJCQkJICAgICAgJnNvbnlfYmxfcHJvcHMsCj4gPj4g LQkJCQkJCSAgICAgIG9wcywgJnByb3BzKTsKPiA+PiArCQkJCQkJICAgICAgb3BzLCAmcHJvcHMs Cj4gPj4gKwkJCQkJCSAgICAgIEJBQ0tMSUdIVF9SRUdJU1RFUl9GQl9DTElFTlQpOwo+ID4+ICAK PiA+PiAgCWlmIChJU19FUlIoc29ueV9ibF9wcm9wcy5kZXYpKSB7Cj4gPj4gIAkJcHJfd2Fybigi dW5hYmxlIHRvIHJlZ2lzdGVyIGJhY2tsaWdodCBkZXZpY2VcbiIpOwo+ID4+IGRpZmYgLS1naXQg YS9kcml2ZXJzL3BsYXRmb3JtL3g4Ni90aGlua3BhZF9hY3BpLmMgYi9kcml2ZXJzL3BsYXRmb3Jt L3g4Ni90aGlua3BhZF9hY3BpLmMKPiA+PiBpbmRleCBiNjVjZTc1MTk0MTEuLjk4N2VmODliMTFk YSAxMDA2NDQKPiA+PiAtLS0gYS9kcml2ZXJzL3BsYXRmb3JtL3g4Ni90aGlua3BhZF9hY3BpLmMK PiA+PiArKysgYi9kcml2ZXJzL3BsYXRmb3JtL3g4Ni90aGlua3BhZF9hY3BpLmMKPiA+PiBAQCAt NjgyMSw3ICs2ODIxLDggQEAgc3RhdGljIGludCBfX2luaXQgYnJpZ2h0bmVzc19pbml0KHN0cnVj dCBpYm1faW5pdF9zdHJ1Y3QgKmlpYm0pCj4gPj4gIAlpYm1fYmFja2xpZ2h0X2RldmljZSA9IGJh Y2tsaWdodF9kZXZpY2VfcmVnaXN0ZXIoVFBBQ1BJX0JBQ0tMSUdIVF9ERVZfTkFNRSwKPiA+PiAg CQkJCQkJCSBOVUxMLCBOVUxMLAo+ID4+ICAJCQkJCQkJICZpYm1fYmFja2xpZ2h0X2RhdGEsCj4g Pj4gLQkJCQkJCQkgJnByb3BzKTsKPiA+PiArCQkJCQkJCSAmcHJvcHMsCj4gPj4gKwkJCQkJCQkg QkFDS0xJR0hUX1JFR0lTVEVSX0ZCX0NMSUVOVCk7Cj4gPj4gIAlpZiAoSVNfRVJSKGlibV9iYWNr bGlnaHRfZGV2aWNlKSkgewo+ID4+ICAJCWludCByYyA9IFBUUl9FUlIoaWJtX2JhY2tsaWdodF9k ZXZpY2UpOwo+ID4+ICAJCWlibV9iYWNrbGlnaHRfZGV2aWNlID0gTlVMTDsKPiA+PiBkaWZmIC0t Z2l0IGEvZHJpdmVycy9wbGF0Zm9ybS94ODYvdG9zaGliYV9hY3BpLmMgYi9kcml2ZXJzL3BsYXRm b3JtL3g4Ni90b3NoaWJhX2FjcGkuYwo+ID4+IGluZGV4IDAxZTEyZDIyMWE4Yi4uNmIwZjIzMzYw MDk0IDEwMDY0NAo+ID4+IC0tLSBhL2RyaXZlcnMvcGxhdGZvcm0veDg2L3Rvc2hpYmFfYWNwaS5j Cj4gPj4gKysrIGIvZHJpdmVycy9wbGF0Zm9ybS94ODYvdG9zaGliYV9hY3BpLmMKPiA+PiBAQCAt Mjg0MCw3ICsyODQwLDggQEAgc3RhdGljIGludCB0b3NoaWJhX2FjcGlfc2V0dXBfYmFja2xpZ2h0 KHN0cnVjdCB0b3NoaWJhX2FjcGlfZGV2ICpkZXYpCj4gPj4gIAkJCQkJCSAgICAgICAmZGV2LT5h Y3BpX2Rldi0+ZGV2LAo+ID4+ICAJCQkJCQkgICAgICAgZGV2LAo+ID4+ICAJCQkJCQkgICAgICAg JnRvc2hpYmFfYmFja2xpZ2h0X2RhdGEsCj4gPj4gLQkJCQkJCSAgICAgICAmcHJvcHMpOwo+ID4+ ICsJCQkJCQkgICAgICAgJnByb3BzLAo+ID4+ICsJCQkJCQkgICAgICAgQkFDS0xJR0hUX1JFR0lT VEVSX0ZCX0NMSUVOVCk7Cj4gPj4gIAlpZiAoSVNfRVJSKGRldi0+YmFja2xpZ2h0X2RldikpIHsK PiA+PiAgCQlyZXQgPSBQVFJfRVJSKGRldi0+YmFja2xpZ2h0X2Rldik7Cj4gPj4gIAkJcHJfZXJy KCJDb3VsZCBub3QgcmVnaXN0ZXIgdG9zaGliYSBiYWNrbGlnaHQgZGV2aWNlXG4iKTsKPiA+PiBk aWZmIC0tZ2l0IGEvZHJpdmVycy9zdGFnaW5nL2ZidGZ0L2ZiX3NzZDEzNTEuYyBiL2RyaXZlcnMv c3RhZ2luZy9mYnRmdC9mYl9zc2QxMzUxLmMKPiA+PiBpbmRleCBjZWYzM2U0MzlmNDYuLjZhMTk0 ZmFmNjQ0OCAxMDA2NDQKPiA+PiAtLS0gYS9kcml2ZXJzL3N0YWdpbmcvZmJ0ZnQvZmJfc3NkMTM1 MS5jCj4gPj4gKysrIGIvZHJpdmVycy9zdGFnaW5nL2ZidGZ0L2ZiX3NzZDEzNTEuYwo+ID4+IEBA IC0yMTAsNyArMjEwLDggQEAgc3RhdGljIHZvaWQgcmVnaXN0ZXJfb25ib2FyZF9iYWNrbGlnaHQo c3RydWN0IGZidGZ0X3BhciAqcGFyKQo+ID4+ICAJYmxfcHJvcHMucG93ZXIgPSBGQl9CTEFOS19Q T1dFUkRPV047Cj4gPj4gIAo+ID4+ICAJYmQgPSBiYWNrbGlnaHRfZGV2aWNlX3JlZ2lzdGVyKGRl dl9kcml2ZXJfc3RyaW5nKHBhci0+aW5mby0+ZGV2aWNlKSwKPiA+PiAtCQkJCXBhci0+aW5mby0+ ZGV2aWNlLCBwYXIsICZibF9vcHMsICZibF9wcm9wcyk7Cj4gPj4gKwkJCQlwYXItPmluZm8tPmRl dmljZSwgcGFyLCAmYmxfb3BzLCAmYmxfcHJvcHMsCj4gPj4gKwkJCQlCQUNLTElHSFRfUkVHSVNU RVJfRkJfQ0xJRU5UKTsKPiA+PiAgCWlmIChJU19FUlIoYmQpKSB7Cj4gPj4gIAkJZGV2X2Vycihw YXItPmluZm8tPmRldmljZSwKPiA+PiAgCQkJImNhbm5vdCByZWdpc3RlciBiYWNrbGlnaHQgZGV2 aWNlICglbGQpXG4iLAo+ID4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL3N0YWdpbmcvZmJ0ZnQvZmJf d2F0dGVyb3R0LmMgYi9kcml2ZXJzL3N0YWdpbmcvZmJ0ZnQvZmJfd2F0dGVyb3R0LmMKPiA+PiBp bmRleCBmOGNiNjEwYTdiNjkuLmIyNDkxMzY4ODAxNCAxMDA2NDQKPiA+PiAtLS0gYS9kcml2ZXJz L3N0YWdpbmcvZmJ0ZnQvZmJfd2F0dGVyb3R0LmMKPiA+PiArKysgYi9kcml2ZXJzL3N0YWdpbmcv ZmJ0ZnQvZmJfd2F0dGVyb3R0LmMKPiA+PiBAQCAtMjU5LDcgKzI1OSw4IEBAIHN0YXRpYyB2b2lk IHJlZ2lzdGVyX2NoaXBfYmFja2xpZ2h0KHN0cnVjdCBmYnRmdF9wYXIgKnBhcikKPiA+PiAgCWJs X3Byb3BzLmJyaWdodG5lc3MgPSBERUZBVUxUX0JSSUdIVE5FU1M7Cj4gPj4gIAo+ID4+ICAJYmQg PSBiYWNrbGlnaHRfZGV2aWNlX3JlZ2lzdGVyKGRldl9kcml2ZXJfc3RyaW5nKHBhci0+aW5mby0+ ZGV2aWNlKSwKPiA+PiAtCQkJCXBhci0+aW5mby0+ZGV2aWNlLCBwYXIsICZibF9vcHMsICZibF9w cm9wcyk7Cj4gPj4gKwkJCQlwYXItPmluZm8tPmRldmljZSwgcGFyLCAmYmxfb3BzLCAmYmxfcHJv cHMsCj4gPj4gKwkJCQlCQUNLTElHSFRfUkVHSVNURVJfRkJfQ0xJRU5UKTsKPiA+PiAgCWlmIChJ U19FUlIoYmQpKSB7Cj4gPj4gIAkJZGV2X2VycihwYXItPmluZm8tPmRldmljZSwKPiA+PiAgCQkJ ImNhbm5vdCByZWdpc3RlciBiYWNrbGlnaHQgZGV2aWNlICglbGQpXG4iLAo+ID4+IGRpZmYgLS1n aXQgYS9kcml2ZXJzL3N0YWdpbmcvZmJ0ZnQvZmJ0ZnQtY29yZS5jIGIvZHJpdmVycy9zdGFnaW5n L2ZidGZ0L2ZidGZ0LWNvcmUuYwo+ID4+IGluZGV4IDBjMWE3N2NhZmUxNC4uNjFjNjdiMDc5Yjkw IDEwMDY0NAo+ID4+IC0tLSBhL2RyaXZlcnMvc3RhZ2luZy9mYnRmdC9mYnRmdC1jb3JlLmMKPiA+ PiArKysgYi9kcml2ZXJzL3N0YWdpbmcvZmJ0ZnQvZmJ0ZnQtY29yZS5jCj4gPj4gQEAgLTI5OSw3 ICsyOTksOCBAQCB2b2lkIGZidGZ0X3JlZ2lzdGVyX2JhY2tsaWdodChzdHJ1Y3QgZmJ0ZnRfcGFy ICpwYXIpCj4gPj4gIAkJYmxfcHJvcHMuc3RhdGUgfD0gQkxfQ09SRV9EUklWRVIxOwo+ID4+ICAK PiA+PiAgCWJkID0gYmFja2xpZ2h0X2RldmljZV9yZWdpc3RlcihkZXZfZHJpdmVyX3N0cmluZyhw YXItPmluZm8tPmRldmljZSksCj4gPj4gLQkJCQlwYXItPmluZm8tPmRldmljZSwgcGFyLCAmZmJ0 ZnRfYmxfb3BzLCAmYmxfcHJvcHMpOwo+ID4+ICsJCQkJcGFyLT5pbmZvLT5kZXZpY2UsIHBhciwg JmZidGZ0X2JsX29wcywgJmJsX3Byb3BzLAo+ID4+ICsJCQkJQkFDS0xJR0hUX1JFR0lTVEVSX0ZC X0NMSUVOVCk7Cj4gPj4gIAlpZiAoSVNfRVJSKGJkKSkgewo+ID4+ICAJCWRldl9lcnIocGFyLT5p bmZvLT5kZXZpY2UsCj4gPj4gIAkJCSJjYW5ub3QgcmVnaXN0ZXIgYmFja2xpZ2h0IGRldmljZSAo JWxkKVxuIiwKPiA+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9zdGFnaW5nL29scGNfZGNvbi9vbHBj X2Rjb24uYyBiL2RyaXZlcnMvc3RhZ2luZy9vbHBjX2Rjb24vb2xwY19kY29uLmMKPiA+PiBpbmRl eCBmNDViMmVmMDVmNDguLjM4NWM3YWRlYWEyNiAxMDA2NDQKPiA+PiAtLS0gYS9kcml2ZXJzL3N0 YWdpbmcvb2xwY19kY29uL29scGNfZGNvbi5jCj4gPj4gKysrIGIvZHJpdmVycy9zdGFnaW5nL29s cGNfZGNvbi9vbHBjX2Rjb24uYwo+ID4+IEBAIC02NDMsNyArNjQzLDggQEAgc3RhdGljIGludCBk Y29uX3Byb2JlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQsIGNvbnN0IHN0cnVjdCBpMmNfZGV2 aWNlX2lkICppZCkKPiA+PiAgCS8qIEFkZCB0aGUgYmFja2xpZ2h0IGRldmljZSBmb3IgdGhlIERD T04gKi8KPiA+PiAgCWRjb25fYmxfcHJvcHMuYnJpZ2h0bmVzcyA9IGRjb24tPmJsX3ZhbDsKPiA+ PiAgCWRjb24tPmJsX2RldiA9IGJhY2tsaWdodF9kZXZpY2VfcmVnaXN0ZXIoImRjb24tYmwiLCAm ZGNvbl9kZXZpY2UtPmRldiwKPiA+PiAtCQlkY29uLCAmZGNvbl9ibF9vcHMsICZkY29uX2JsX3By b3BzKTsKPiA+PiArCQlkY29uLCAmZGNvbl9ibF9vcHMsICZkY29uX2JsX3Byb3BzLAo+ID4+ICsJ CUJBQ0tMSUdIVF9SRUdJU1RFUl9GQl9DTElFTlQpOwo+ID4+ICAJaWYgKElTX0VSUihkY29uLT5i bF9kZXYpKSB7Cj4gPj4gIAkJZGV2X2VycigmY2xpZW50LT5kZXYsICJjYW5ub3QgcmVnaXN0ZXIg YmFja2xpZ2h0IGRldiAoJWxkKVxuIiwKPiA+PiAgCQkJCVBUUl9FUlIoZGNvbi0+YmxfZGV2KSk7 Cj4gPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvdXNiL21pc2MvYXBwbGVkaXNwbGF5LmMgYi9kcml2 ZXJzL3VzYi9taXNjL2FwcGxlZGlzcGxheS5jCj4gPj4gaW5kZXggYTBhMzgyN2I0YWZmLi45N2Mw ODI5NzExYTggMTAwNjQ0Cj4gPj4gLS0tIGEvZHJpdmVycy91c2IvbWlzYy9hcHBsZWRpc3BsYXku Ywo+ID4+ICsrKyBiL2RyaXZlcnMvdXNiL21pc2MvYXBwbGVkaXNwbGF5LmMKPiA+PiBAQCAtMjkz LDcgKzI5Myw4IEBAIHN0YXRpYyBpbnQgYXBwbGVkaXNwbGF5X3Byb2JlKHN0cnVjdCB1c2JfaW50 ZXJmYWNlICppZmFjZSwKPiA+PiAgCXByb3BzLnR5cGUgPSBCQUNLTElHSFRfUkFXOwo+ID4+ICAJ cHJvcHMubWF4X2JyaWdodG5lc3MgPSAweGZmOwo+ID4+ICAJcGRhdGEtPmJkID0gYmFja2xpZ2h0 X2RldmljZV9yZWdpc3RlcihibF9uYW1lLCBOVUxMLCBwZGF0YSwKPiA+PiAtCQkJCQkgICAgICAm YXBwbGVkaXNwbGF5X2JsX2RhdGEsICZwcm9wcyk7Cj4gPj4gKwkJCQkJICAgICAgJmFwcGxlZGlz cGxheV9ibF9kYXRhLCAmcHJvcHMsCj4gPj4gKwkJCQkJICAgICAgQkFDS0xJR0hUX1JFR0lTVEVS X0ZCX0NMSUVOVCk7Cj4gPj4gIAlpZiAoSVNfRVJSKHBkYXRhLT5iZCkpIHsKPiA+PiAgCQlkZXZf ZXJyKCZpZmFjZS0+ZGV2LCAiQmFja2xpZ2h0IHJlZ2lzdHJhdGlvbiBmYWlsZWRcbiIpOwo+ID4+ ICAJCXJldHZhbCA9IFBUUl9FUlIocGRhdGEtPmJkKTsKPiA+PiBkaWZmIC0tZ2l0IGEvZHJpdmVy cy92aWRlby9iYWNrbGlnaHQvODhwbTg2MHhfYmwuYyBiL2RyaXZlcnMvdmlkZW8vYmFja2xpZ2h0 Lzg4cG04NjB4X2JsLmMKPiA+PiBpbmRleCA2ZDhkYzJjNzc1MjAuLmUwZDgyMTJhZWJjMCAxMDA2 NDQKPiA+PiAtLS0gYS9kcml2ZXJzL3ZpZGVvL2JhY2tsaWdodC84OHBtODYweF9ibC5jCj4gPj4g KysrIGIvZHJpdmVycy92aWRlby9iYWNrbGlnaHQvODhwbTg2MHhfYmwuYwo+ID4+IEBAIC0yNDIs NyArMjQyLDggQEAgc3RhdGljIGludCBwbTg2MHhfYmFja2xpZ2h0X3Byb2JlKHN0cnVjdCBwbGF0 Zm9ybV9kZXZpY2UgKnBkZXYpCj4gPj4gIAlwcm9wcy50eXBlID0gQkFDS0xJR0hUX1JBVzsKPiA+ PiAgCXByb3BzLm1heF9icmlnaHRuZXNzID0gTUFYX0JSSUdIVE5FU1M7Cj4gPj4gIAlibCA9IGRl dm1fYmFja2xpZ2h0X2RldmljZV9yZWdpc3RlcigmcGRldi0+ZGV2LCBuYW1lLCAmcGRldi0+ZGV2 LCBkYXRhLAo+ID4+IC0JCQkJCSZwbTg2MHhfYmFja2xpZ2h0X29wcywgJnByb3BzKTsKPiA+PiAr CQkJCQkmcG04NjB4X2JhY2tsaWdodF9vcHMsICZwcm9wcywKPiA+PiArCQkJCQlCQUNLTElHSFRf UkVHSVNURVJfRkJfQ0xJRU5UKTsKPiA+PiAgCWlmIChJU19FUlIoYmwpKSB7Cj4gPj4gIAkJZGV2 X2VycigmcGRldi0+ZGV2LCAiZmFpbGVkIHRvIHJlZ2lzdGVyIGJhY2tsaWdodFxuIik7Cj4gPj4g IAkJcmV0dXJuIFBUUl9FUlIoYmwpOwo+ID4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL3ZpZGVvL2Jh Y2tsaWdodC9hYXQyODcwX2JsLmMgYi9kcml2ZXJzL3ZpZGVvL2JhY2tsaWdodC9hYXQyODcwX2Js LmMKPiA+PiBpbmRleCA1MDc3NGU2NTc3MDAuLmE0Y2JjMzNiZDZjMiAxMDA2NDQKPiA+PiAtLS0g YS9kcml2ZXJzL3ZpZGVvL2JhY2tsaWdodC9hYXQyODcwX2JsLmMKPiA+PiArKysgYi9kcml2ZXJz L3ZpZGVvL2JhY2tsaWdodC9hYXQyODcwX2JsLmMKPiA+PiBAQCAtMTUyLDcgKzE1Miw4IEBAIHN0 YXRpYyBpbnQgYWF0Mjg3MF9ibF9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQo+ ID4+ICAJcHJvcHMudHlwZSA9IEJBQ0tMSUdIVF9SQVc7Cj4gPj4gIAliZCA9IGRldm1fYmFja2xp Z2h0X2RldmljZV9yZWdpc3RlcigmcGRldi0+ZGV2LCAiYWF0Mjg3MC1iYWNrbGlnaHQiLAo+ID4+ ICAJCQkJCSZwZGV2LT5kZXYsIGFhdDI4NzBfYmwsICZhYXQyODcwX2JsX29wcywKPiA+PiAtCQkJ CQkmcHJvcHMpOwo+ID4+ICsJCQkJCSZwcm9wcywKPiA+PiArCQkJCQlCQUNLTElHSFRfUkVHSVNU RVJfRkJfQ0xJRU5UKTsKPiA+PiAgCWlmIChJU19FUlIoYmQpKSB7Cj4gPj4gIAkJZGV2X2Vycigm cGRldi0+ZGV2LAo+ID4+ICAJCQkiRmFpbGVkIGFsbG9jYXRlIG1lbW9yeSBmb3IgYmFja2xpZ2h0 IGRldmljZVxuIik7Cj4gPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvdmlkZW8vYmFja2xpZ2h0L2Fk cDU1MjBfYmwuYyBiL2RyaXZlcnMvdmlkZW8vYmFja2xpZ2h0L2FkcDU1MjBfYmwuYwo+ID4+IGlu ZGV4IGRkODhiYTFkNzFjZS4uMDMwOTNmYmVlNDE0IDEwMDY0NAo+ID4+IC0tLSBhL2RyaXZlcnMv dmlkZW8vYmFja2xpZ2h0L2FkcDU1MjBfYmwuYwo+ID4+ICsrKyBiL2RyaXZlcnMvdmlkZW8vYmFj a2xpZ2h0L2FkcDU1MjBfYmwuYwo+ID4+IEBAIC0zMTUsNyArMzE1LDggQEAgc3RhdGljIGludCBh ZHA1NTIwX2JsX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCj4gPj4gIAlwcm9w cy5tYXhfYnJpZ2h0bmVzcyA9IEFEUDUwMjBfTUFYX0JSSUdIVE5FU1M7Cj4gPj4gIAlibCA9IGRl dm1fYmFja2xpZ2h0X2RldmljZV9yZWdpc3RlcigmcGRldi0+ZGV2LCBwZGV2LT5uYW1lLAo+ID4+ ICAJCQkJCWRhdGEtPm1hc3RlciwgZGF0YSwgJmFkcDU1MjBfYmxfb3BzLAo+ID4+IC0JCQkJCSZw cm9wcyk7Cj4gPj4gKwkJCQkJJnByb3BzLAo+ID4+ICsJCQkJCUJBQ0tMSUdIVF9SRUdJU1RFUl9G Ql9DTElFTlQpOwo+ID4+ICAJaWYgKElTX0VSUihibCkpIHsKPiA+PiAgCQlkZXZfZXJyKCZwZGV2 LT5kZXYsICJmYWlsZWQgdG8gcmVnaXN0ZXIgYmFja2xpZ2h0XG4iKTsKPiA+PiAgCQlyZXR1cm4g UFRSX0VSUihibCk7Cj4gPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvdmlkZW8vYmFja2xpZ2h0L2Fk cDg4NjBfYmwuYyBiL2RyaXZlcnMvdmlkZW8vYmFja2xpZ2h0L2FkcDg4NjBfYmwuYwo+ID4+IGlu ZGV4IDUxMGU1NTljMDYwZS4uODg5ODJlZDI1N2Q5IDEwMDY0NAo+ID4+IC0tLSBhL2RyaXZlcnMv dmlkZW8vYmFja2xpZ2h0L2FkcDg4NjBfYmwuYwo+ID4+ICsrKyBiL2RyaXZlcnMvdmlkZW8vYmFj a2xpZ2h0L2FkcDg4NjBfYmwuYwo+ID4+IEBAIC03MTgsNyArNzE4LDggQEAgc3RhdGljIGludCBh ZHA4ODYwX3Byb2JlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQsCj4gPj4gIAo+ID4+ICAJYmwg PSBkZXZtX2JhY2tsaWdodF9kZXZpY2VfcmVnaXN0ZXIoJmNsaWVudC0+ZGV2LAo+ID4+ICAJCQkJ ZGV2X2RyaXZlcl9zdHJpbmcoJmNsaWVudC0+ZGV2KSwKPiA+PiAtCQkJCSZjbGllbnQtPmRldiwg ZGF0YSwgJmFkcDg4NjBfYmxfb3BzLCAmcHJvcHMpOwo+ID4+ICsJCQkJJmNsaWVudC0+ZGV2LCBk YXRhLCAmYWRwODg2MF9ibF9vcHMsICZwcm9wcywKPiA+PiArCQkJCUJBQ0tMSUdIVF9SRUdJU1RF Ul9GQl9DTElFTlQpOwo+ID4+ICAJaWYgKElTX0VSUihibCkpIHsKPiA+PiAgCQlkZXZfZXJyKCZj bGllbnQtPmRldiwgImZhaWxlZCB0byByZWdpc3RlciBiYWNrbGlnaHRcbiIpOwo+ID4+ICAJCXJl dHVybiBQVFJfRVJSKGJsKTsKPiA+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy92aWRlby9iYWNrbGln aHQvYWRwODg3MF9ibC5jIGIvZHJpdmVycy92aWRlby9iYWNrbGlnaHQvYWRwODg3MF9ibC5jCj4g Pj4gaW5kZXggMjFhY2FjOTBmZDc3Li41Mjg0ZjdmM2NkZDMgMTAwNjQ0Cj4gPj4gLS0tIGEvZHJp dmVycy92aWRlby9iYWNrbGlnaHQvYWRwODg3MF9ibC5jCj4gPj4gKysrIGIvZHJpdmVycy92aWRl by9iYWNrbGlnaHQvYWRwODg3MF9ibC5jCj4gPj4gQEAgLTg5NCw3ICs4OTQsOCBAQCBzdGF0aWMg aW50IGFkcDg4NzBfcHJvYmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCwKPiA+PiAgCXByb3Bz Lm1heF9icmlnaHRuZXNzID0gcHJvcHMuYnJpZ2h0bmVzcyA9IEFEUDg4NzBfTUFYX0JSSUdIVE5F U1M7Cj4gPj4gIAlibCA9IGRldm1fYmFja2xpZ2h0X2RldmljZV9yZWdpc3RlcigmY2xpZW50LT5k ZXYsCj4gPj4gIAkJCQlkZXZfZHJpdmVyX3N0cmluZygmY2xpZW50LT5kZXYpLAo+ID4+IC0JCQkJ JmNsaWVudC0+ZGV2LCBkYXRhLCAmYWRwODg3MF9ibF9vcHMsICZwcm9wcyk7Cj4gPj4gKwkJCQkm Y2xpZW50LT5kZXYsIGRhdGEsICZhZHA4ODcwX2JsX29wcywgJnByb3BzLAo+ID4+ICsJCQkJQkFD S0xJR0hUX1JFR0lTVEVSX0ZCX0NMSUVOVCk7Cj4gPj4gIAlpZiAoSVNfRVJSKGJsKSkgewo+ID4+ ICAJCWRldl9lcnIoJmNsaWVudC0+ZGV2LCAiZmFpbGVkIHRvIHJlZ2lzdGVyIGJhY2tsaWdodFxu Iik7Cj4gPj4gIAkJcmV0dXJuIFBUUl9FUlIoYmwpOwo+ID4+IGRpZmYgLS1naXQgYS9kcml2ZXJz L3ZpZGVvL2JhY2tsaWdodC9hbXMzNjlmZzA2LmMgYi9kcml2ZXJzL3ZpZGVvL2JhY2tsaWdodC9h bXMzNjlmZzA2LmMKPiA+PiBpbmRleCA1Y2NhOGNlNDVkNGQuLjFiZDY1NjE0MWMxZSAxMDA2NDQK PiA+PiAtLS0gYS9kcml2ZXJzL3ZpZGVvL2JhY2tsaWdodC9hbXMzNjlmZzA2LmMKPiA+PiArKysg Yi9kcml2ZXJzL3ZpZGVvL2JhY2tsaWdodC9hbXMzNjlmZzA2LmMKPiA+PiBAQCAtNDg0LDcgKzQ4 NCw4IEBAIHN0YXRpYyBpbnQgYW1zMzY5ZmcwNl9wcm9iZShzdHJ1Y3Qgc3BpX2RldmljZSAqc3Bp KQo+ID4+ICAKPiA+PiAgCWJkID0gZGV2bV9iYWNrbGlnaHRfZGV2aWNlX3JlZ2lzdGVyKCZzcGkt PmRldiwgImFtczM2OWZnMDYtYmwiLAo+ID4+ICAJCQkJCSZzcGktPmRldiwgbGNkLAo+ID4+IC0J CQkJCSZhbXMzNjlmZzA2X2JhY2tsaWdodF9vcHMsICZwcm9wcyk7Cj4gPj4gKwkJCQkJJmFtczM2 OWZnMDZfYmFja2xpZ2h0X29wcywgJnByb3BzLAo+ID4+ICsJCQkJCUJBQ0tMSUdIVF9SRUdJU1RF Ul9GQl9DTElFTlQpOwo+ID4+ICAJaWYgKElTX0VSUihiZCkpCj4gPj4gIAkJcmV0dXJuIFBUUl9F UlIoYmQpOwo+ID4+ICAKPiA+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy92aWRlby9iYWNrbGlnaHQv YXBwbGVfYmwuYyBiL2RyaXZlcnMvdmlkZW8vYmFja2xpZ2h0L2FwcGxlX2JsLmMKPiA+PiBpbmRl eCBkODQzMjk2NzY2ODkuLmVlMmU5MmQ1ODUxMiAxMDA2NDQKPiA+PiAtLS0gYS9kcml2ZXJzL3Zp ZGVvL2JhY2tsaWdodC9hcHBsZV9ibC5jCj4gPj4gKysrIGIvZHJpdmVycy92aWRlby9iYWNrbGln aHQvYXBwbGVfYmwuYwo+ID4+IEBAIC0xODIsNyArMTgyLDggQEAgc3RhdGljIGludCBhcHBsZV9i bF9hZGQoc3RydWN0IGFjcGlfZGV2aWNlICpkZXYpCj4gPj4gIAlwcm9wcy50eXBlID0gQkFDS0xJ R0hUX1BMQVRGT1JNOwo+ID4+ICAJcHJvcHMubWF4X2JyaWdodG5lc3MgPSAxNTsKPiA+PiAgCWFw cGxlX2JhY2tsaWdodF9kZXZpY2UgPSBiYWNrbGlnaHRfZGV2aWNlX3JlZ2lzdGVyKCJhcHBsZV9i YWNrbGlnaHQiLAo+ID4+IC0JCQkJICBOVUxMLCBOVUxMLCAmaHdfZGF0YS0+YmFja2xpZ2h0X29w cywgJnByb3BzKTsKPiA+PiArCQkJCSAgTlVMTCwgTlVMTCwgJmh3X2RhdGEtPmJhY2tsaWdodF9v cHMsICZwcm9wcywKPiA+PiArCQkJCSAgQkFDS0xJR0hUX1JFR0lTVEVSX0ZCX0NMSUVOVCk7Cj4g Pj4gIAo+ID4+ICAJaWYgKElTX0VSUihhcHBsZV9iYWNrbGlnaHRfZGV2aWNlKSkgewo+ID4+ICAJ CXJlbGVhc2VfcmVnaW9uKGh3X2RhdGEtPmlvc3RhcnQsIGh3X2RhdGEtPmlvbGVuKTsKPiA+PiBk aWZmIC0tZ2l0IGEvZHJpdmVycy92aWRlby9iYWNrbGlnaHQvYXMzNzExX2JsLmMgYi9kcml2ZXJz L3ZpZGVvL2JhY2tsaWdodC9hczM3MTFfYmwuYwo+ID4+IGluZGV4IDczNGE5MTU4OTQ2Yi4uNWYz YTQwYmM4YTg1IDEwMDY0NAo+ID4+IC0tLSBhL2RyaXZlcnMvdmlkZW8vYmFja2xpZ2h0L2FzMzcx MV9ibC5jCj4gPj4gKysrIGIvZHJpdmVycy92aWRlby9iYWNrbGlnaHQvYXMzNzExX2JsLmMKPiA+ PiBAQCAtMjQ0LDcgKzI0NCw4IEBAIHN0YXRpYyBpbnQgYXMzNzExX2JsX3JlZ2lzdGVyKHN0cnVj dCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYsCj4gPj4gIAkJCQkgICAgICAgc3UtPnR5cGUgPT0gQVMz NzExX0JMX1NVMSA/Cj4gPj4gIAkJCQkgICAgICAgImFzMzcxMS1zdTEiIDogImFzMzcxMS1zdTIi LAo+ID4+ICAJCQkJICAgICAgICZwZGV2LT5kZXYsIHN1LAo+ID4+IC0JCQkJICAgICAgICZhczM3 MTFfYmxfb3BzLCAmcHJvcHMpOwo+ID4+ICsJCQkJICAgICAgICZhczM3MTFfYmxfb3BzLCAmcHJv cHMsCj4gPj4gKwkJCQkgICAgICAgQkFDS0xJR0hUX1JFR0lTVEVSX0ZCX0NMSUVOVCk7Cj4gPj4g IAlpZiAoSVNfRVJSKGJsKSkgewo+ID4+ICAJCWRldl9lcnIoJnBkZXYtPmRldiwgImZhaWxlZCB0 byByZWdpc3RlciBiYWNrbGlnaHRcbiIpOwo+ID4+ICAJCXJldHVybiBQVFJfRVJSKGJsKTsKPiA+ PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy92aWRlby9iYWNrbGlnaHQvYmFja2xpZ2h0LmMgYi9kcml2 ZXJzL3ZpZGVvL2JhY2tsaWdodC9iYWNrbGlnaHQuYwo+ID4+IGluZGV4IDI4ODMxOGFkMjFkZC4u MWEyNTI3MzU3NmU4IDEwMDY0NAo+ID4+IC0tLSBhL2RyaXZlcnMvdmlkZW8vYmFja2xpZ2h0L2Jh Y2tsaWdodC5jCj4gPj4gKysrIGIvZHJpdmVycy92aWRlby9iYWNrbGlnaHQvYmFja2xpZ2h0LmMK PiA+PiBAQCAtMzE5LDEzICszMTksMTUgQEAgRVhQT1JUX1NZTUJPTChiYWNrbGlnaHRfZm9yY2Vf dXBkYXRlKTsKPiA+PiAgICogQGRldmRhdGE6IGFuIG9wdGlvbmFsIHBvaW50ZXIgdG8gYmUgc3Rv cmVkIGZvciBwcml2YXRlIGRyaXZlciB1c2UuIFRoZQo+ID4+ICAgKiAgIG1ldGhvZHMgbWF5IHJl dHJpZXZlIGl0IGJ5IHVzaW5nIGJsX2dldF9kYXRhKGJkKS4KPiA+PiAgICogQG9wczogdGhlIGJh Y2tsaWdodCBvcGVyYXRpb25zIHN0cnVjdHVyZS4KPiA+PiArICogQGZsYWdzOiBiaXRtYXNrIHRv IGNvbnRyb2wgYmFja2xpZ2h0IHJlZ2lzdHJhdGlvbgo+ID4+ICAgKgo+ID4+ICAgKiBDcmVhdGVz IGFuZCByZWdpc3RlcnMgbmV3IGJhY2tsaWdodCBkZXZpY2UuIFJldHVybnMgZWl0aGVyIGFuCj4g Pj4gICAqIEVSUl9QVFIoKSBvciBhIHBvaW50ZXIgdG8gdGhlIG5ld2x5IGFsbG9jYXRlZCBkZXZp Y2UuCj4gPj4gICAqLwo+ID4+ICBzdHJ1Y3QgYmFja2xpZ2h0X2RldmljZSAqYmFja2xpZ2h0X2Rl dmljZV9yZWdpc3Rlcihjb25zdCBjaGFyICpuYW1lLAo+ID4+ICAJc3RydWN0IGRldmljZSAqcGFy ZW50LCB2b2lkICpkZXZkYXRhLCBjb25zdCBzdHJ1Y3QgYmFja2xpZ2h0X29wcyAqb3BzLAo+ID4+ IC0JY29uc3Qgc3RydWN0IGJhY2tsaWdodF9wcm9wZXJ0aWVzICpwcm9wcykKPiA+PiArCWNvbnN0 IHN0cnVjdCBiYWNrbGlnaHRfcHJvcGVydGllcyAqcHJvcHMsCj4gPj4gKwl1bnNpZ25lZCBsb25n IGZsYWdzKQo+ID4+ICB7Cj4gPj4gIAlzdHJ1Y3QgYmFja2xpZ2h0X2RldmljZSAqbmV3X2JkOwo+ ID4+ICAJaW50IHJjOwo+ID4+IEBAIC0zNjMsMTAgKzM2NSwxMiBAQCBzdHJ1Y3QgYmFja2xpZ2h0 X2RldmljZSAqYmFja2xpZ2h0X2RldmljZV9yZWdpc3Rlcihjb25zdCBjaGFyICpuYW1lLAo+ID4+ ICAJCXJldHVybiBFUlJfUFRSKHJjKTsKPiA+PiAgCX0KPiA+PiAgCj4gPj4gLQlyYyA9IGJhY2ts aWdodF9yZWdpc3Rlcl9mYihuZXdfYmQpOwo+ID4+IC0JaWYgKHJjKSB7Cj4gPj4gLQkJZGV2aWNl X3VucmVnaXN0ZXIoJm5ld19iZC0+ZGV2KTsKPiA+PiAtCQlyZXR1cm4gRVJSX1BUUihyYyk7Cj4g Pj4gKwlpZiAoZmxhZ3MgJiBCQUNLTElHSFRfUkVHSVNURVJfRkJfQ0xJRU5UKSB7Cj4gPj4gKwkJ cmMgPSBiYWNrbGlnaHRfcmVnaXN0ZXJfZmIobmV3X2JkKTsKPiA+PiArCQlpZiAocmMpIHsKPiA+ PiArCQkJZGV2aWNlX3VucmVnaXN0ZXIoJm5ld19iZC0+ZGV2KTsKPiA+PiArCQkJcmV0dXJuIEVS Ul9QVFIocmMpOwo+ID4+ICsJCX0KPiA+PiAgCX0KPiA+PiAgCj4gPj4gIAluZXdfYmQtPm9wcyA9 IG9wczsKPiA+PiBAQCAtNDk0LDYgKzQ5OCw3IEBAIEVYUE9SVF9TWU1CT0woYmFja2xpZ2h0X3Vu cmVnaXN0ZXJfbm90aWZpZXIpOwo+ID4+ICAgKiBAZGV2ZGF0YTogYW4gb3B0aW9uYWwgcG9pbnRl ciB0byBiZSBzdG9yZWQgZm9yIHByaXZhdGUgZHJpdmVyIHVzZQo+ID4+ICAgKiBAb3BzOiB0aGUg YmFja2xpZ2h0IG9wZXJhdGlvbnMgc3RydWN0dXJlCj4gPj4gICAqIEBwcm9wczogdGhlIGJhY2ts aWdodCBwcm9wZXJ0aWVzCj4gPj4gKyAqIEBmbGFnczogYml0bWFzayB0byBjb250cm9sIGJhY2ts aWdodCByZWdpc3RyYXRpb24KPiA+PiAgICoKPiA+PiAgICogQHJldHVybiBhIHN0cnVjdCBiYWNr bGlnaHQgb24gc3VjY2Vzcywgb3IgYW4gRVJSX1BUUiBvbiBlcnJvcgo+ID4+ICAgKgo+ID4+IEBA IC01MDQsNyArNTA5LDggQEAgRVhQT1JUX1NZTUJPTChiYWNrbGlnaHRfdW5yZWdpc3Rlcl9ub3Rp Zmllcik7Cj4gPj4gIHN0cnVjdCBiYWNrbGlnaHRfZGV2aWNlICpkZXZtX2JhY2tsaWdodF9kZXZp Y2VfcmVnaXN0ZXIoc3RydWN0IGRldmljZSAqZGV2LAo+ID4+ICAJY29uc3QgY2hhciAqbmFtZSwg c3RydWN0IGRldmljZSAqcGFyZW50LCB2b2lkICpkZXZkYXRhLAo+ID4+ICAJY29uc3Qgc3RydWN0 IGJhY2tsaWdodF9vcHMgKm9wcywKPiA+PiAtCWNvbnN0IHN0cnVjdCBiYWNrbGlnaHRfcHJvcGVy dGllcyAqcHJvcHMpCj4gPj4gKwljb25zdCBzdHJ1Y3QgYmFja2xpZ2h0X3Byb3BlcnRpZXMgKnBy b3BzLAo+ID4+ICsJdW5zaWduZWQgbG9uZyBmbGFncykKPiA+PiAgewo+ID4+ICAJc3RydWN0IGJh Y2tsaWdodF9kZXZpY2UgKipwdHIsICpiYWNrbGlnaHQ7Cj4gPj4gIAo+ID4+IEBAIC01MTQsNyAr NTIwLDcgQEAgc3RydWN0IGJhY2tsaWdodF9kZXZpY2UgKmRldm1fYmFja2xpZ2h0X2RldmljZV9y ZWdpc3RlcihzdHJ1Y3QgZGV2aWNlICpkZXYsCj4gPj4gIAkJcmV0dXJuIEVSUl9QVFIoLUVOT01F TSk7Cj4gPj4gIAo+ID4+ICAJYmFja2xpZ2h0ID0gYmFja2xpZ2h0X2RldmljZV9yZWdpc3Rlcihu YW1lLCBwYXJlbnQsIGRldmRhdGEsIG9wcywKPiA+PiAtCQkJCQkJcHJvcHMpOwo+ID4+ICsJCQkJ CQlwcm9wcywgZmxhZ3MpOwo+ID4+ICAJaWYgKCFJU19FUlIoYmFja2xpZ2h0KSkgewo+ID4+ICAJ CSpwdHIgPSBiYWNrbGlnaHQ7Cj4gPj4gIAkJZGV2cmVzX2FkZChkZXYsIHB0cik7Cj4gPj4gZGlm ZiAtLWdpdCBhL2RyaXZlcnMvdmlkZW8vYmFja2xpZ2h0L2JkNjEwNy5jIGIvZHJpdmVycy92aWRl by9iYWNrbGlnaHQvYmQ2MTA3LmMKPiA+PiBpbmRleCBmZGIyZjdlMmM2YjUuLmE4ZWNkN2EyZjJh NCAxMDA2NDQKPiA+PiAtLS0gYS9kcml2ZXJzL3ZpZGVvL2JhY2tsaWdodC9iZDYxMDcuYwo+ID4+ ICsrKyBiL2RyaXZlcnMvdmlkZW8vYmFja2xpZ2h0L2JkNjEwNy5jCj4gPj4gQEAgLTE2Myw3ICsx NjMsOCBAQCBzdGF0aWMgaW50IGJkNjEwN19wcm9iZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50 LAo+ID4+ICAJYmFja2xpZ2h0ID0gZGV2bV9iYWNrbGlnaHRfZGV2aWNlX3JlZ2lzdGVyKCZjbGll bnQtPmRldiwKPiA+PiAgCQkJCQkgICAgICBkZXZfbmFtZSgmY2xpZW50LT5kZXYpLAo+ID4+ICAJ CQkJCSAgICAgICZiZC0+Y2xpZW50LT5kZXYsIGJkLAo+ID4+IC0JCQkJCSAgICAgICZiZDYxMDdf YmFja2xpZ2h0X29wcywgJnByb3BzKTsKPiA+PiArCQkJCQkgICAgICAmYmQ2MTA3X2JhY2tsaWdo dF9vcHMsICZwcm9wcywKPiA+PiArCQkJCQkgICAgICBCQUNLTElHSFRfUkVHSVNURVJfRkJfQ0xJ RU5UKTsKPiA+PiAgCWlmIChJU19FUlIoYmFja2xpZ2h0KSkgewo+ID4+ICAJCWRldl9lcnIoJmNs aWVudC0+ZGV2LCAiZmFpbGVkIHRvIHJlZ2lzdGVyIGJhY2tsaWdodFxuIik7Cj4gPj4gIAkJcmV0 dXJuIFBUUl9FUlIoYmFja2xpZ2h0KTsKPiA+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy92aWRlby9i YWNrbGlnaHQvY29yZ2lfbGNkLmMgYi9kcml2ZXJzL3ZpZGVvL2JhY2tsaWdodC9jb3JnaV9sY2Qu Ywo+ID4+IGluZGV4IGQ3YzIzOWVhM2QwOS4uMDA2ZTE3MTI1NmEwIDEwMDY0NAo+ID4+IC0tLSBh L2RyaXZlcnMvdmlkZW8vYmFja2xpZ2h0L2NvcmdpX2xjZC5jCj4gPj4gKysrIGIvZHJpdmVycy92 aWRlby9iYWNrbGlnaHQvY29yZ2lfbGNkLmMKPiA+PiBAQCAtNTYyLDcgKzU2Miw4IEBAIHN0YXRp YyBpbnQgY29yZ2lfbGNkX3Byb2JlKHN0cnVjdCBzcGlfZGV2aWNlICpzcGkpCj4gPj4gIAlwcm9w cy5tYXhfYnJpZ2h0bmVzcyA9IHBkYXRhLT5tYXhfaW50ZW5zaXR5Owo+ID4+ICAJbGNkLT5ibF9k ZXYgPSBkZXZtX2JhY2tsaWdodF9kZXZpY2VfcmVnaXN0ZXIoJnNwaS0+ZGV2LCAiY29yZ2lfYmwi LAo+ID4+ICAJCQkJCQkmc3BpLT5kZXYsIGxjZCwgJmNvcmdpX2JsX29wcywKPiA+PiAtCQkJCQkJ JnByb3BzKTsKPiA+PiArCQkJCQkJJnByb3BzLAo+ID4+ICsJCQkJCQlCQUNLTElHSFRfUkVHSVNU RVJfRkJfQ0xJRU5UKTsKPiA+PiAgCWlmIChJU19FUlIobGNkLT5ibF9kZXYpKQo+ID4+ICAJCXJl dHVybiBQVFJfRVJSKGxjZC0+YmxfZGV2KTsKPiA+PiAgCj4gPj4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvdmlkZW8vYmFja2xpZ2h0L2NyX2JsbGNkLmMgYi9kcml2ZXJzL3ZpZGVvL2JhY2tsaWdodC9j cl9ibGxjZC5jCj4gPj4gaW5kZXggM2UzODgwZmM4YzhlLi5jZjdjNWQzNWRkNjMgMTAwNjQ0Cj4g Pj4gLS0tIGEvZHJpdmVycy92aWRlby9iYWNrbGlnaHQvY3JfYmxsY2QuYwo+ID4+ICsrKyBiL2Ry aXZlcnMvdmlkZW8vYmFja2xpZ2h0L2NyX2JsbGNkLmMKPiA+PiBAQCAtMTk3LDcgKzE5Nyw4IEBA IHN0YXRpYyBpbnQgY3JfYmFja2xpZ2h0X3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBk ZXYpCj4gPj4gIAlwcm9wcy50eXBlID0gQkFDS0xJR0hUX1JBVzsKPiA+PiAgCWJkcCA9IGRldm1f YmFja2xpZ2h0X2RldmljZV9yZWdpc3RlcigmcGRldi0+ZGV2LCAiY3ItYmFja2xpZ2h0IiwKPiA+ PiAgCQkJCQkmcGRldi0+ZGV2LCBOVUxMLCAmY3JfYmFja2xpZ2h0X29wcywKPiA+PiAtCQkJCQkm cHJvcHMpOwo+ID4+ICsJCQkJCSZwcm9wcywKPiA+PiArCQkJCQlCQUNLTElHSFRfUkVHSVNURVJf RkJfQ0xJRU5UKTsKPiA+PiAgCWlmIChJU19FUlIoYmRwKSkgewo+ID4+ICAJCXBjaV9kZXZfcHV0 KGxwY19kZXYpOwo+ID4+ICAJCXJldHVybiBQVFJfRVJSKGJkcCk7Cj4gPj4gZGlmZiAtLWdpdCBh L2RyaXZlcnMvdmlkZW8vYmFja2xpZ2h0L2RhOTAzeF9ibC5jIGIvZHJpdmVycy92aWRlby9iYWNr bGlnaHQvZGE5MDN4X2JsLmMKPiA+PiBpbmRleCBmNzkzNzM4ZjA2ZmIuLmQ2MDE5YWViZmE0MiAx MDA2NDQKPiA+PiAtLS0gYS9kcml2ZXJzL3ZpZGVvL2JhY2tsaWdodC9kYTkwM3hfYmwuYwo+ID4+ ICsrKyBiL2RyaXZlcnMvdmlkZW8vYmFja2xpZ2h0L2RhOTAzeF9ibC5jCj4gPj4gQEAgLTE0Niw3 ICsxNDYsOCBAQCBzdGF0aWMgaW50IGRhOTAzeF9iYWNrbGlnaHRfcHJvYmUoc3RydWN0IHBsYXRm b3JtX2RldmljZSAqcGRldikKPiA+PiAgCXByb3BzLm1heF9icmlnaHRuZXNzID0gbWF4X2JyaWdo dG5lc3M7Cj4gPj4gIAlibCA9IGRldm1fYmFja2xpZ2h0X2RldmljZV9yZWdpc3RlcigmcGRldi0+ ZGV2LCBwZGV2LT5uYW1lLAo+ID4+ICAJCQkJCWRhdGEtPmRhOTAzeF9kZXYsIGRhdGEsCj4gPj4g LQkJCQkJJmRhOTAzeF9iYWNrbGlnaHRfb3BzLCAmcHJvcHMpOwo+ID4+ICsJCQkJCSZkYTkwM3hf YmFja2xpZ2h0X29wcywgJnByb3BzLAo+ID4+ICsJCQkJCUJBQ0tMSUdIVF9SRUdJU1RFUl9GQl9D TElFTlQpOwo+ID4+ICAJaWYgKElTX0VSUihibCkpIHsKPiA+PiAgCQlkZXZfZXJyKCZwZGV2LT5k ZXYsICJmYWlsZWQgdG8gcmVnaXN0ZXIgYmFja2xpZ2h0XG4iKTsKPiA+PiAgCQlyZXR1cm4gUFRS X0VSUihibCk7Cj4gPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvdmlkZW8vYmFja2xpZ2h0L2RhOTA1 Ml9ibC5jIGIvZHJpdmVycy92aWRlby9iYWNrbGlnaHQvZGE5MDUyX2JsLmMKPiA+PiBpbmRleCBm ZDJiZTQxN2FhNjQuLjk2NzM4YzJlOGEwOSAxMDA2NDQKPiA+PiAtLS0gYS9kcml2ZXJzL3ZpZGVv L2JhY2tsaWdodC9kYTkwNTJfYmwuYwo+ID4+ICsrKyBiL2RyaXZlcnMvdmlkZW8vYmFja2xpZ2h0 L2RhOTA1Ml9ibC5jCj4gPj4gQEAgLTEyNyw3ICsxMjcsOCBAQCBzdGF0aWMgaW50IGRhOTA1Ml9i YWNrbGlnaHRfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKPiA+PiAgCj4gPj4g IAlibCA9IGRldm1fYmFja2xpZ2h0X2RldmljZV9yZWdpc3RlcigmcGRldi0+ZGV2LCBwZGV2LT5u YW1lLAo+ID4+ICAJCQkJCXdsZWRzLT5kYTkwNTItPmRldiwgd2xlZHMsCj4gPj4gLQkJCQkJJmRh OTA1Ml9iYWNrbGlnaHRfb3BzLCAmcHJvcHMpOwo+ID4+ICsJCQkJCSZkYTkwNTJfYmFja2xpZ2h0 X29wcywgJnByb3BzLAo+ID4+ICsJCQkJCUJBQ0tMSUdIVF9SRUdJU1RFUl9GQl9DTElFTlQpOwo+ ID4+ICAJaWYgKElTX0VSUihibCkpIHsKPiA+PiAgCQlkZXZfZXJyKCZwZGV2LT5kZXYsICJGYWls ZWQgdG8gcmVnaXN0ZXIgYmFja2xpZ2h0XG4iKTsKPiA+PiAgCQlyZXR1cm4gUFRSX0VSUihibCk7 Cj4gPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvdmlkZW8vYmFja2xpZ2h0L2VwOTN4eF9ibC5jIGIv ZHJpdmVycy92aWRlby9iYWNrbGlnaHQvZXA5M3h4X2JsLmMKPiA+PiBpbmRleCAwMDY3OTMxODIx YzYuLjdmZTI1NDk5NjlhMSAxMDA2NDQKPiA+PiAtLS0gYS9kcml2ZXJzL3ZpZGVvL2JhY2tsaWdo dC9lcDkzeHhfYmwuYwo+ID4+ICsrKyBiL2RyaXZlcnMvdmlkZW8vYmFja2xpZ2h0L2VwOTN4eF9i bC5jCj4gPj4gQEAgLTkzLDcgKzkzLDggQEAgc3RhdGljIGludCBlcDkzeHhibF9wcm9iZShzdHJ1 Y3QgcGxhdGZvcm1fZGV2aWNlICpkZXYpCj4gPj4gIAlwcm9wcy50eXBlID0gQkFDS0xJR0hUX1JB VzsKPiA+PiAgCXByb3BzLm1heF9icmlnaHRuZXNzID0gRVA5M1hYX01BWF9CUklHSFQ7Cj4gPj4g IAlibCA9IGRldm1fYmFja2xpZ2h0X2RldmljZV9yZWdpc3RlcigmZGV2LT5kZXYsIGRldi0+bmFt ZSwgJmRldi0+ZGV2LAo+ID4+IC0JCQkJCWVwOTN4eGJsLCAmZXA5M3h4Ymxfb3BzLCAmcHJvcHMp Owo+ID4+ICsJCQkJCWVwOTN4eGJsLCAmZXA5M3h4Ymxfb3BzLCAmcHJvcHMsCj4gPj4gKwkJCQkJ QkFDS0xJR0hUX1JFR0lTVEVSX0ZCX0NMSUVOVCk7Cj4gPj4gIAlpZiAoSVNfRVJSKGJsKSkKPiA+ PiAgCQlyZXR1cm4gUFRSX0VSUihibCk7Cj4gPj4gIAo+ID4+IGRpZmYgLS1naXQgYS9kcml2ZXJz L3ZpZGVvL2JhY2tsaWdodC9nZW5lcmljX2JsLmMgYi9kcml2ZXJzL3ZpZGVvL2JhY2tsaWdodC9n ZW5lcmljX2JsLmMKPiA+PiBpbmRleCA2N2RmYjkzOWE1MTQuLjcxNzMxOGUxMmY4NyAxMDA2NDQK PiA+PiAtLS0gYS9kcml2ZXJzL3ZpZGVvL2JhY2tsaWdodC9nZW5lcmljX2JsLmMKPiA+PiArKysg Yi9kcml2ZXJzL3ZpZGVvL2JhY2tsaWdodC9nZW5lcmljX2JsLmMKPiA+PiBAQCAtNzYsNyArNzYs OCBAQCBzdGF0aWMgaW50IGdlbmVyaWNibF9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpw ZGV2KQo+ID4+ICAJcHJvcHMudHlwZSA9IEJBQ0tMSUdIVF9SQVc7Cj4gPj4gIAlwcm9wcy5tYXhf YnJpZ2h0bmVzcyA9IG1hY2hpbmZvLT5tYXhfaW50ZW5zaXR5Owo+ID4+ICAJYmQgPSBkZXZtX2Jh Y2tsaWdodF9kZXZpY2VfcmVnaXN0ZXIoJnBkZXYtPmRldiwgbmFtZSwgJnBkZXYtPmRldiwKPiA+ PiAtCQkJCQlOVUxMLCAmZ2VuZXJpY2JsX29wcywgJnByb3BzKTsKPiA+PiArCQkJCQlOVUxMLCAm Z2VuZXJpY2JsX29wcywgJnByb3BzLAo+ID4+ICsJCQkJCUJBQ0tMSUdIVF9SRUdJU1RFUl9GQl9D TElFTlQpOwo+ID4+ICAJaWYgKElTX0VSUihiZCkpCj4gPj4gIAkJcmV0dXJuIFBUUl9FUlIoYmQp Owo+ID4+ICAKPiA+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy92aWRlby9iYWNrbGlnaHQvZ3Bpb19i YWNrbGlnaHQuYyBiL2RyaXZlcnMvdmlkZW8vYmFja2xpZ2h0L2dwaW9fYmFja2xpZ2h0LmMKPiA+ PiBpbmRleCAxODEzNDQxNmIxNTQuLmQwYjZmNTE1NWY4NiAxMDA2NDQKPiA+PiAtLS0gYS9kcml2 ZXJzL3ZpZGVvL2JhY2tsaWdodC9ncGlvX2JhY2tsaWdodC5jCj4gPj4gKysrIGIvZHJpdmVycy92 aWRlby9iYWNrbGlnaHQvZ3Bpb19iYWNrbGlnaHQuYwo+ID4+IEBAIC0xMzIsNyArMTMyLDggQEAg c3RhdGljIGludCBncGlvX2JhY2tsaWdodF9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpw ZGV2KQo+ID4+ICAJcHJvcHMubWF4X2JyaWdodG5lc3MgPSAxOwo+ID4+ICAJYmwgPSBkZXZtX2Jh Y2tsaWdodF9kZXZpY2VfcmVnaXN0ZXIoJnBkZXYtPmRldiwgZGV2X25hbWUoJnBkZXYtPmRldiks Cj4gPj4gIAkJCQkJJnBkZXYtPmRldiwgZ2JsLCAmZ3Bpb19iYWNrbGlnaHRfb3BzLAo+ID4+IC0J CQkJCSZwcm9wcyk7Cj4gPj4gKwkJCQkJJnByb3BzLAo+ID4+ICsJCQkJCUJBQ0tMSUdIVF9SRUdJ U1RFUl9GQl9DTElFTlQpOwo+ID4+ICAJaWYgKElTX0VSUihibCkpIHsKPiA+PiAgCQlkZXZfZXJy KCZwZGV2LT5kZXYsICJmYWlsZWQgdG8gcmVnaXN0ZXIgYmFja2xpZ2h0XG4iKTsKPiA+PiAgCQly ZXR1cm4gUFRSX0VSUihibCk7Cj4gPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvdmlkZW8vYmFja2xp Z2h0L2hwNjgwX2JsLmMgYi9kcml2ZXJzL3ZpZGVvL2JhY2tsaWdodC9ocDY4MF9ibC5jCj4gPj4g aW5kZXggOGVhNDJiOGQ5YmM4Li5hNzViMmQwZDQ4OWEgMTAwNjQ0Cj4gPj4gLS0tIGEvZHJpdmVy cy92aWRlby9iYWNrbGlnaHQvaHA2ODBfYmwuYwo+ID4+ICsrKyBiL2RyaXZlcnMvdmlkZW8vYmFj a2xpZ2h0L2hwNjgwX2JsLmMKPiA+PiBAQCAtMTExLDcgKzExMSw4IEBAIHN0YXRpYyBpbnQgaHA2 ODBibF9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQo+ID4+ICAJcHJvcHMudHlw ZSA9IEJBQ0tMSUdIVF9SQVc7Cj4gPj4gIAlwcm9wcy5tYXhfYnJpZ2h0bmVzcyA9IEhQNjgwX01B WF9JTlRFTlNJVFk7Cj4gPj4gIAliZCA9IGRldm1fYmFja2xpZ2h0X2RldmljZV9yZWdpc3Rlcigm cGRldi0+ZGV2LCAiaHA2ODAtYmwiLCAmcGRldi0+ZGV2LAo+ID4+IC0JCQkJCU5VTEwsICZocDY4 MGJsX29wcywgJnByb3BzKTsKPiA+PiArCQkJCQlOVUxMLCAmaHA2ODBibF9vcHMsICZwcm9wcywK PiA+PiArCQkJCQlCQUNLTElHSFRfUkVHSVNURVJfRkJfQ0xJRU5UKTsKPiA+PiAgCWlmIChJU19F UlIoYmQpKQo+ID4+ICAJCXJldHVybiBQVFJfRVJSKGJkKTsKPiA+PiAgCj4gPj4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvdmlkZW8vYmFja2xpZ2h0L2lwYXFfbWljcm9fYmwuYyBiL2RyaXZlcnMvdmlk ZW8vYmFja2xpZ2h0L2lwYXFfbWljcm9fYmwuYwo+ID4+IGluZGV4IDM0N2RjMTFkNGNlYi4uODM0 Y2NjOGE3MjkxIDEwMDY0NAo+ID4+IC0tLSBhL2RyaXZlcnMvdmlkZW8vYmFja2xpZ2h0L2lwYXFf bWljcm9fYmwuYwo+ID4+ICsrKyBiL2RyaXZlcnMvdmlkZW8vYmFja2xpZ2h0L2lwYXFfbWljcm9f YmwuYwo+ID4+IEBAIC02MCw3ICs2MCw4IEBAIHN0YXRpYyBpbnQgbWljcm9fYmFja2xpZ2h0X3By b2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCj4gPj4gIAo+ID4+ICAJYmQgPSBkZXZt X2JhY2tsaWdodF9kZXZpY2VfcmVnaXN0ZXIoJnBkZXYtPmRldiwgImlwYXEtbWljcm8tYmFja2xp Z2h0IiwKPiA+PiAgCQkJCQkgICAgJnBkZXYtPmRldiwgbWljcm8sICZtaWNyb19ibF9vcHMsCj4g Pj4gLQkJCQkJICAgICZtaWNyb19ibF9wcm9wcyk7Cj4gPj4gKwkJCQkJICAgICZtaWNyb19ibF9w cm9wcywKPiA+PiArCQkJCQkgICAgQkFDS0xJR0hUX1JFR0lTVEVSX0ZCX0NMSUVOVCk7Cj4gPj4g IAlpZiAoSVNfRVJSKGJkKSkKPiA+PiAgCQlyZXR1cm4gUFRSX0VSUihiZCk7Cj4gPj4gIAo+ID4+ IGRpZmYgLS1naXQgYS9kcml2ZXJzL3ZpZGVvL2JhY2tsaWdodC9qb3JuYWRhNzIwX2JsLmMgYi9k cml2ZXJzL3ZpZGVvL2JhY2tsaWdodC9qb3JuYWRhNzIwX2JsLmMKPiA+PiBpbmRleCA3ZTZmZjUz NDY4OTIuLmUxNzNjNWI2MGU5ZSAxMDA2NDQKPiA+PiAtLS0gYS9kcml2ZXJzL3ZpZGVvL2JhY2ts aWdodC9qb3JuYWRhNzIwX2JsLmMKPiA+PiArKysgYi9kcml2ZXJzL3ZpZGVvL2JhY2tsaWdodC9q b3JuYWRhNzIwX2JsLmMKPiA+PiBAQCAtMTE4LDcgKzExOCw4IEBAIHN0YXRpYyBpbnQgam9ybmFk YV9ibF9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQo+ID4+ICAKPiA+PiAgCWJk ID0gZGV2bV9iYWNrbGlnaHRfZGV2aWNlX3JlZ2lzdGVyKCZwZGV2LT5kZXYsIFMxRF9ERVZJQ0VO QU1FLAo+ID4+ICAJCQkJCSZwZGV2LT5kZXYsIE5VTEwsICZqb3JuYWRhX2JsX29wcywKPiA+PiAt CQkJCQkmcHJvcHMpOwo+ID4+ICsJCQkJCSZwcm9wcywKPiA+PiArCQkJCQlCQUNLTElHSFRfUkVH SVNURVJfRkJfQ0xJRU5UKTsKPiA+PiAgCWlmIChJU19FUlIoYmQpKSB7Cj4gPj4gIAkJcmV0ID0g UFRSX0VSUihiZCk7Cj4gPj4gIAkJZGV2X2VycigmcGRldi0+ZGV2LCAiZmFpbGVkIHRvIHJlZ2lz dGVyIGRldmljZSwgZXJyPSV4XG4iLCByZXQpOwo+ID4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL3Zp ZGVvL2JhY2tsaWdodC9rYjM4ODZfYmwuYyBiL2RyaXZlcnMvdmlkZW8vYmFja2xpZ2h0L2tiMzg4 Nl9ibC5jCj4gPj4gaW5kZXggODRhMTEwYTcxOWNiLi5lYjYxOWM0YTdhMzkgMTAwNjQ0Cj4gPj4g LS0tIGEvZHJpdmVycy92aWRlby9iYWNrbGlnaHQva2IzODg2X2JsLmMKPiA+PiArKysgYi9kcml2 ZXJzL3ZpZGVvL2JhY2tsaWdodC9rYjM4ODZfYmwuYwo+ID4+IEBAIC0xNTMsNyArMTUzLDggQEAg c3RhdGljIGludCBrYjM4ODZibF9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQo+ ID4+ICAJa2IzODg2X2JhY2tsaWdodF9kZXZpY2UgPSBkZXZtX2JhY2tsaWdodF9kZXZpY2VfcmVn aXN0ZXIoJnBkZXYtPmRldiwKPiA+PiAgCQkJCQkJCSJrYjM4ODYtYmwiLCAmcGRldi0+ZGV2LAo+ ID4+ICAJCQkJCQkJTlVMTCwgJmtiMzg4NmJsX29wcywKPiA+PiAtCQkJCQkJCSZwcm9wcyk7Cj4g Pj4gKwkJCQkJCQkmcHJvcHMsCj4gPj4gKwkJCQkJCQlCQUNLTElHSFRfUkVHSVNURVJfRkJfQ0xJ RU5UKTsKPiA+PiAgCWlmIChJU19FUlIoa2IzODg2X2JhY2tsaWdodF9kZXZpY2UpKQo+ID4+ICAJ CXJldHVybiBQVFJfRVJSKGtiMzg4Nl9iYWNrbGlnaHRfZGV2aWNlKTsKPiA+PiAgCj4gPj4gZGlm ZiAtLWdpdCBhL2RyaXZlcnMvdmlkZW8vYmFja2xpZ2h0L2xkOTA0MC5jIGIvZHJpdmVycy92aWRl by9iYWNrbGlnaHQvbGQ5MDQwLmMKPiA+PiBpbmRleCA2NzdmOGFiYmEyN2MuLmMyOGU5MWZlYzU0 ZiAxMDA2NDQKPiA+PiAtLS0gYS9kcml2ZXJzL3ZpZGVvL2JhY2tsaWdodC9sZDkwNDAuYwo+ID4+ ICsrKyBiL2RyaXZlcnMvdmlkZW8vYmFja2xpZ2h0L2xkOTA0MC5jCj4gPj4gQEAgLTcyMiw3ICs3 MjIsOCBAQCBzdGF0aWMgaW50IGxkOTA0MF9wcm9iZShzdHJ1Y3Qgc3BpX2RldmljZSAqc3BpKQo+ ID4+ICAJcHJvcHMubWF4X2JyaWdodG5lc3MgPSBNQVhfQlJJR0hUTkVTUzsKPiA+PiAgCj4gPj4g IAliZCA9IGRldm1fYmFja2xpZ2h0X2RldmljZV9yZWdpc3Rlcigmc3BpLT5kZXYsICJsZDkwNDAt YmwiLCAmc3BpLT5kZXYsCj4gPj4gLQkJCQkJbGNkLCAmbGQ5MDQwX2JhY2tsaWdodF9vcHMsICZw cm9wcyk7Cj4gPj4gKwkJCQkJbGNkLCAmbGQ5MDQwX2JhY2tsaWdodF9vcHMsICZwcm9wcywKPiA+ PiArCQkJCQlCQUNLTElHSFRfUkVHSVNURVJfRkJfQ0xJRU5UKTsKPiA+PiAgCWlmIChJU19FUlIo YmQpKQo+ID4+ICAJCXJldHVybiBQVFJfRVJSKGJkKTsKPiA+PiAgCj4gPj4gZGlmZiAtLWdpdCBh L2RyaXZlcnMvdmlkZW8vYmFja2xpZ2h0L2xtMzUzM19ibC5jIGIvZHJpdmVycy92aWRlby9iYWNr bGlnaHQvbG0zNTMzX2JsLmMKPiA+PiBpbmRleCAwZTIzMzdmMzY3YjYuLmY2MzQ1YTJjZDA3NiAx MDA2NDQKPiA+PiAtLS0gYS9kcml2ZXJzL3ZpZGVvL2JhY2tsaWdodC9sbTM1MzNfYmwuYwo+ID4+ ICsrKyBiL2RyaXZlcnMvdmlkZW8vYmFja2xpZ2h0L2xtMzUzM19ibC5jCj4gPj4gQEAgLTMxMiw3 ICszMTIsOCBAQCBzdGF0aWMgaW50IGxtMzUzM19ibF9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2 aWNlICpwZGV2KQo+ID4+ICAJcHJvcHMuYnJpZ2h0bmVzcyA9IHBkYXRhLT5kZWZhdWx0X2JyaWdo dG5lc3M7Cj4gPj4gIAliZCA9IGRldm1fYmFja2xpZ2h0X2RldmljZV9yZWdpc3RlcigmcGRldi0+ ZGV2LCBwZGF0YS0+bmFtZSwKPiA+PiAgCQkJCQlwZGV2LT5kZXYucGFyZW50LCBibCwgJmxtMzUz M19ibF9vcHMsCj4gPj4gLQkJCQkJJnByb3BzKTsKPiA+PiArCQkJCQkmcHJvcHMsCj4gPj4gKwkJ CQkJQkFDS0xJR0hUX1JFR0lTVEVSX0ZCX0NMSUVOVCk7Cj4gPj4gIAlpZiAoSVNfRVJSKGJkKSkg ewo+ID4+ICAJCWRldl9lcnIoJnBkZXYtPmRldiwgImZhaWxlZCB0byByZWdpc3RlciBiYWNrbGln aHQgZGV2aWNlXG4iKTsKPiA+PiAgCQlyZXR1cm4gUFRSX0VSUihiZCk7Cj4gPj4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvdmlkZW8vYmFja2xpZ2h0L2xtMzYzMGFfYmwuYyBiL2RyaXZlcnMvdmlkZW8v YmFja2xpZ2h0L2xtMzYzMGFfYmwuYwo+ID4+IGluZGV4IDYwZDZjMmFjODdhYS4uYTYyYTA5NTEw ZmUzIDEwMDY0NAo+ID4+IC0tLSBhL2RyaXZlcnMvdmlkZW8vYmFja2xpZ2h0L2xtMzYzMGFfYmwu Ywo+ID4+ICsrKyBiL2RyaXZlcnMvdmlkZW8vYmFja2xpZ2h0L2xtMzYzMGFfYmwuYwo+ID4+IEBA IC0zMzgsNyArMzM4LDggQEAgc3RhdGljIGludCBsbTM2MzBhX2JhY2tsaWdodF9yZWdpc3Rlcihz dHJ1Y3QgbG0zNjMwYV9jaGlwICpwY2hpcCkKPiA+PiAgCQlwY2hpcC0+YmxlZGEgPQo+ID4+ICAJ CSAgICBkZXZtX2JhY2tsaWdodF9kZXZpY2VfcmVnaXN0ZXIocGNoaXAtPmRldiwgImxtMzYzMGFf bGVkYSIsCj4gPj4gIAkJCQkJCSAgIHBjaGlwLT5kZXYsIHBjaGlwLAo+ID4+IC0JCQkJCQkgICAm bG0zNjMwYV9iYW5rX2Ffb3BzLCAmcHJvcHMpOwo+ID4+ICsJCQkJCQkgICAmbG0zNjMwYV9iYW5r X2Ffb3BzLCAmcHJvcHMsCj4gPj4gKwkJCQkJCSAgIEJBQ0tMSUdIVF9SRUdJU1RFUl9GQl9DTElF TlQpOwo+ID4+ICAJCWlmIChJU19FUlIocGNoaXAtPmJsZWRhKSkKPiA+PiAgCQkJcmV0dXJuIFBU Ul9FUlIocGNoaXAtPmJsZWRhKTsKPiA+PiAgCX0KPiA+PiBAQCAtMzUwLDcgKzM1MSw4IEBAIHN0 YXRpYyBpbnQgbG0zNjMwYV9iYWNrbGlnaHRfcmVnaXN0ZXIoc3RydWN0IGxtMzYzMGFfY2hpcCAq cGNoaXApCj4gPj4gIAkJcGNoaXAtPmJsZWRiID0KPiA+PiAgCQkgICAgZGV2bV9iYWNrbGlnaHRf ZGV2aWNlX3JlZ2lzdGVyKHBjaGlwLT5kZXYsICJsbTM2MzBhX2xlZGIiLAo+ID4+ICAJCQkJCQkg ICBwY2hpcC0+ZGV2LCBwY2hpcCwKPiA+PiAtCQkJCQkJICAgJmxtMzYzMGFfYmFua19iX29wcywg JnByb3BzKTsKPiA+PiArCQkJCQkJICAgJmxtMzYzMGFfYmFua19iX29wcywgJnByb3BzLAo+ID4+ ICsJCQkJCQkgICBCQUNLTElHSFRfUkVHSVNURVJfRkJfQ0xJRU5UKTsKPiA+PiAgCQlpZiAoSVNf RVJSKHBjaGlwLT5ibGVkYikpCj4gPj4gIAkJCXJldHVybiBQVFJfRVJSKHBjaGlwLT5ibGVkYik7 Cj4gPj4gIAl9Cj4gPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvdmlkZW8vYmFja2xpZ2h0L2xtMzYz OV9ibC5jIGIvZHJpdmVycy92aWRlby9iYWNrbGlnaHQvbG0zNjM5X2JsLmMKPiA+PiBpbmRleCBj ZDUwZGY1ODA3ZWEuLjRhYWYwYzNmOWVlZSAxMDA2NDQKPiA+PiAtLS0gYS9kcml2ZXJzL3ZpZGVv L2JhY2tsaWdodC9sbTM2MzlfYmwuYwo+ID4+ICsrKyBiL2RyaXZlcnMvdmlkZW8vYmFja2xpZ2h0 L2xtMzYzOV9ibC5jCj4gPj4gQEAgLTM0OSw3ICszNDksOCBAQCBzdGF0aWMgaW50IGxtMzYzOV9w cm9iZShzdHJ1Y3QgaTJjX2NsaWVudCAqY2xpZW50LAo+ID4+ICAJcGNoaXAtPmJsZWQgPQo+ID4+ ICAJICAgIGRldm1fYmFja2xpZ2h0X2RldmljZV9yZWdpc3RlcihwY2hpcC0+ZGV2LCAibG0zNjM5 X2JsZWQiLAo+ID4+ICAJCQkJCSAgIHBjaGlwLT5kZXYsIHBjaGlwLCAmbG0zNjM5X2JsZWRfb3Bz LAo+ID4+IC0JCQkJCSAgICZwcm9wcyk7Cj4gPj4gKwkJCQkJICAgJnByb3BzLAo+ID4+ICsJCQkJ CSAgIEJBQ0tMSUdIVF9SRUdJU1RFUl9GQl9DTElFTlQpOwo+ID4+ICAJaWYgKElTX0VSUihwY2hp cC0+YmxlZCkpIHsKPiA+PiAgCQlkZXZfZXJyKCZjbGllbnQtPmRldiwgImZhaWwgOiBiYWNrbGln aHQgcmVnaXN0ZXJcbiIpOwo+ID4+ICAJCXJldCA9IFBUUl9FUlIocGNoaXAtPmJsZWQpOwo+ID4+ IGRpZmYgLS1naXQgYS9kcml2ZXJzL3ZpZGVvL2JhY2tsaWdodC9sb2NvbW9sY2QuYyBiL2RyaXZl cnMvdmlkZW8vYmFja2xpZ2h0L2xvY29tb2xjZC5jCj4gPj4gaW5kZXggNmMzZWM0MjU5YTYwLi4x MjZhNGRmNWZkMTIgMTAwNjQ0Cj4gPj4gLS0tIGEvZHJpdmVycy92aWRlby9iYWNrbGlnaHQvbG9j b21vbGNkLmMKPiA+PiArKysgYi9kcml2ZXJzL3ZpZGVvL2JhY2tsaWdodC9sb2NvbW9sY2QuYwo+ ID4+IEBAIC0yMDAsNyArMjAwLDggQEAgc3RhdGljIGludCBsb2NvbW9sY2RfcHJvYmUoc3RydWN0 IGxvY29tb19kZXYgKmxkZXYpCj4gPj4gIAlwcm9wcy5tYXhfYnJpZ2h0bmVzcyA9IDQ7Cj4gPj4g IAlsb2NvbW9sY2RfYmxfZGV2aWNlID0gYmFja2xpZ2h0X2RldmljZV9yZWdpc3RlcigibG9jb21v LWJsIiwKPiA+PiAgCQkJCQkJCSZsZGV2LT5kZXYsIE5VTEwsCj4gPj4gLQkJCQkJCQkmbG9jb21v YmxfZGF0YSwgJnByb3BzKTsKPiA+PiArCQkJCQkJCSZsb2NvbW9ibF9kYXRhLCAmcHJvcHMsCj4g Pj4gKwkJCQkJCQlCQUNLTElHSFRfUkVHSVNURVJfRkJfQ0xJRU5UKTsKPiA+PiAgCj4gPj4gIAlp ZiAoSVNfRVJSKGxvY29tb2xjZF9ibF9kZXZpY2UpKQo+ID4+ICAJCXJldHVybiBQVFJfRVJSKGxv Y29tb2xjZF9ibF9kZXZpY2UpOwo+ID4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL3ZpZGVvL2JhY2ts aWdodC9scDg1NXhfYmwuYyBiL2RyaXZlcnMvdmlkZW8vYmFja2xpZ2h0L2xwODU1eF9ibC5jCj4g Pj4gaW5kZXggZTViMTRmNTI2MjhmLi42ZWY1MWM2NTQwYTYgMTAwNjQ0Cj4gPj4gLS0tIGEvZHJp dmVycy92aWRlby9iYWNrbGlnaHQvbHA4NTV4X2JsLmMKPiA+PiArKysgYi9kcml2ZXJzL3ZpZGVv L2JhY2tsaWdodC9scDg1NXhfYmwuYwo+ID4+IEBAIC0yOTksNyArMjk5LDggQEAgc3RhdGljIGlu dCBscDg1NXhfYmFja2xpZ2h0X3JlZ2lzdGVyKHN0cnVjdCBscDg1NXggKmxwKQo+ID4+ICAJcHJv cHMuYnJpZ2h0bmVzcyA9IHBkYXRhLT5pbml0aWFsX2JyaWdodG5lc3M7Cj4gPj4gIAo+ID4+ICAJ YmwgPSBkZXZtX2JhY2tsaWdodF9kZXZpY2VfcmVnaXN0ZXIobHAtPmRldiwgbmFtZSwgbHAtPmRl diwgbHAsCj4gPj4gLQkJCQkgICAgICAgJmxwODU1eF9ibF9vcHMsICZwcm9wcyk7Cj4gPj4gKwkJ CQkgICAgICAgJmxwODU1eF9ibF9vcHMsICZwcm9wcywKPiA+PiArCQkJCSAgICAgICBCQUNLTElH SFRfUkVHSVNURVJfRkJfQ0xJRU5UKTsKPiA+PiAgCWlmIChJU19FUlIoYmwpKQo+ID4+ICAJCXJl dHVybiBQVFJfRVJSKGJsKTsKPiA+PiAgCj4gPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvdmlkZW8v YmFja2xpZ2h0L2xwODc4OF9ibC5jIGIvZHJpdmVycy92aWRlby9iYWNrbGlnaHQvbHA4Nzg4X2Js LmMKPiA+PiBpbmRleCBjZjg2OWVjOTBjY2UuLjczNDY3N2JlZjczOSAxMDA2NDQKPiA+PiAtLS0g YS9kcml2ZXJzL3ZpZGVvL2JhY2tsaWdodC9scDg3ODhfYmwuYwo+ID4+ICsrKyBiL2RyaXZlcnMv dmlkZW8vYmFja2xpZ2h0L2xwODc4OF9ibC5jCj4gPj4gQEAgLTIxNCw3ICsyMTQsOCBAQCBzdGF0 aWMgaW50IGxwODc4OF9iYWNrbGlnaHRfcmVnaXN0ZXIoc3RydWN0IGxwODc4OF9ibCAqYmwpCj4g Pj4gIAkJbmFtZSA9IHBkYXRhLT5uYW1lOwo+ID4+ICAKPiA+PiAgCWJsX2RldiA9IGJhY2tsaWdo dF9kZXZpY2VfcmVnaXN0ZXIobmFtZSwgYmwtPmxwLT5kZXYsIGJsLAo+ID4+IC0JCQkJICAgICAg ICZscDg3ODhfYmxfb3BzLCAmcHJvcHMpOwo+ID4+ICsJCQkJICAgICAgICZscDg3ODhfYmxfb3Bz LCAmcHJvcHMsCj4gPj4gKwkJCQkgICAgICAgQkFDS0xJR0hUX1JFR0lTVEVSX0ZCX0NMSUVOVCk7 Cj4gPj4gIAlpZiAoSVNfRVJSKGJsX2RldikpCj4gPj4gIAkJcmV0dXJuIFBUUl9FUlIoYmxfZGV2 KTsKPiA+PiAgCj4gPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvdmlkZW8vYmFja2xpZ2h0L2x2NTIw N2xwLmMgYi9kcml2ZXJzL3ZpZGVvL2JhY2tsaWdodC9sdjUyMDdscC5jCj4gPj4gaW5kZXggOGFi NzI5N2IxMThhLi5lYmQ0MWVkY2Q5MzYgMTAwNjQ0Cj4gPj4gLS0tIGEvZHJpdmVycy92aWRlby9i YWNrbGlnaHQvbHY1MjA3bHAuYwo+ID4+ICsrKyBiL2RyaXZlcnMvdmlkZW8vYmFja2xpZ2h0L2x2 NTIwN2xwLmMKPiA+PiBAQCAtMTIwLDcgKzEyMCw4IEBAIHN0YXRpYyBpbnQgbHY1MjA3bHBfcHJv YmUoc3RydWN0IGkyY19jbGllbnQgKmNsaWVudCwKPiA+PiAgCj4gPj4gIAliYWNrbGlnaHQgPSBk ZXZtX2JhY2tsaWdodF9kZXZpY2VfcmVnaXN0ZXIoJmNsaWVudC0+ZGV2LAo+ID4+ICAJCQkJZGV2 X25hbWUoJmNsaWVudC0+ZGV2KSwgJmx2LT5jbGllbnQtPmRldiwKPiA+PiAtCQkJCWx2LCAmbHY1 MjA3bHBfYmFja2xpZ2h0X29wcywgJnByb3BzKTsKPiA+PiArCQkJCWx2LCAmbHY1MjA3bHBfYmFj a2xpZ2h0X29wcywgJnByb3BzLAo+ID4+ICsJCQkJQkFDS0xJR0hUX1JFR0lTVEVSX0ZCX0NMSUVO VCk7Cj4gPj4gIAlpZiAoSVNfRVJSKGJhY2tsaWdodCkpIHsKPiA+PiAgCQlkZXZfZXJyKCZjbGll bnQtPmRldiwgImZhaWxlZCB0byByZWdpc3RlciBiYWNrbGlnaHRcbiIpOwo+ID4+ICAJCXJldHVy biBQVFJfRVJSKGJhY2tsaWdodCk7Cj4gPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvdmlkZW8vYmFj a2xpZ2h0L21heDg5MjVfYmwuYyBiL2RyaXZlcnMvdmlkZW8vYmFja2xpZ2h0L21heDg5MjVfYmwu Ywo+ID4+IGluZGV4IDdiNzM4ZDYwZWNjMi4uYWExZDM5YWI5OTc3IDEwMDY0NAo+ID4+IC0tLSBh L2RyaXZlcnMvdmlkZW8vYmFja2xpZ2h0L21heDg5MjVfYmwuYwo+ID4+ICsrKyBiL2RyaXZlcnMv dmlkZW8vYmFja2xpZ2h0L21heDg5MjVfYmwuYwo+ID4+IEBAIC0xNjUsNyArMTY1LDggQEAgc3Rh dGljIGludCBtYXg4OTI1X2JhY2tsaWdodF9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpw ZGV2KQo+ID4+ICAJcHJvcHMubWF4X2JyaWdodG5lc3MgPSBNQVhfQlJJR0hUTkVTUzsKPiA+PiAg CWJsID0gZGV2bV9iYWNrbGlnaHRfZGV2aWNlX3JlZ2lzdGVyKCZwZGV2LT5kZXYsICJtYXg4OTI1 LWJhY2tsaWdodCIsCj4gPj4gIAkJCQkJJnBkZXYtPmRldiwgZGF0YSwKPiA+PiAtCQkJCQkmbWF4 ODkyNV9iYWNrbGlnaHRfb3BzLCAmcHJvcHMpOwo+ID4+ICsJCQkJCSZtYXg4OTI1X2JhY2tsaWdo dF9vcHMsICZwcm9wcywKPiA+PiArCQkJCQlCQUNLTElHSFRfUkVHSVNURVJfRkJfQ0xJRU5UKTsK PiA+PiAgCWlmIChJU19FUlIoYmwpKSB7Cj4gPj4gIAkJZGV2X2VycigmcGRldi0+ZGV2LCAiZmFp bGVkIHRvIHJlZ2lzdGVyIGJhY2tsaWdodFxuIik7Cj4gPj4gIAkJcmV0dXJuIFBUUl9FUlIoYmwp Owo+ID4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL3ZpZGVvL2JhY2tsaWdodC9vbWFwMV9ibC5jIGIv ZHJpdmVycy92aWRlby9iYWNrbGlnaHQvb21hcDFfYmwuYwo+ID4+IGluZGV4IDU0NmQ5NGRmMjFk NS4uYzU4N2E0ZWM4OWEyIDEwMDY0NAo+ID4+IC0tLSBhL2RyaXZlcnMvdmlkZW8vYmFja2xpZ2h0 L29tYXAxX2JsLmMKPiA+PiArKysgYi9kcml2ZXJzL3ZpZGVvL2JhY2tsaWdodC9vbWFwMV9ibC5j Cj4gPj4gQEAgLTE0OCw3ICsxNDgsOCBAQCBzdGF0aWMgaW50IG9tYXBibF9wcm9iZShzdHJ1Y3Qg cGxhdGZvcm1fZGV2aWNlICpwZGV2KQo+ID4+ICAJcHJvcHMudHlwZSA9IEJBQ0tMSUdIVF9SQVc7 Cj4gPj4gIAlwcm9wcy5tYXhfYnJpZ2h0bmVzcyA9IE9NQVBCTF9NQVhfSU5URU5TSVRZOwo+ID4+ ICAJZGV2ID0gZGV2bV9iYWNrbGlnaHRfZGV2aWNlX3JlZ2lzdGVyKCZwZGV2LT5kZXYsICJvbWFw LWJsIiwgJnBkZXYtPmRldiwKPiA+PiAtCQkJCQlibCwgJm9tYXBibF9vcHMsICZwcm9wcyk7Cj4g Pj4gKwkJCQkJYmwsICZvbWFwYmxfb3BzLCAmcHJvcHMsCj4gPj4gKwkJCQkJQkFDS0xJR0hUX1JF R0lTVEVSX0ZCX0NMSUVOVCk7Cj4gPj4gIAlpZiAoSVNfRVJSKGRldikpCj4gPj4gIAkJcmV0dXJu IFBUUl9FUlIoZGV2KTsKPiA+PiAgCj4gPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvdmlkZW8vYmFj a2xpZ2h0L290MjAwX2JsLmMgYi9kcml2ZXJzL3ZpZGVvL2JhY2tsaWdodC9vdDIwMF9ibC5jCj4g Pj4gaW5kZXggM2FjZGI5ZjY0NmVkLi4zNmQ3MWIzMmI5Y2QgMTAwNjQ0Cj4gPj4gLS0tIGEvZHJp dmVycy92aWRlby9iYWNrbGlnaHQvb3QyMDBfYmwuYwo+ID4+ICsrKyBiL2RyaXZlcnMvdmlkZW8v YmFja2xpZ2h0L290MjAwX2JsLmMKPiA+PiBAQCAtMTIwLDcgKzEyMCw4IEBAIHN0YXRpYyBpbnQg b3QyMDBfYmFja2xpZ2h0X3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCj4gPj4g IAo+ID4+ICAJYmwgPSBkZXZtX2JhY2tsaWdodF9kZXZpY2VfcmVnaXN0ZXIoJnBkZXYtPmRldiwg ZGV2X25hbWUoJnBkZXYtPmRldiksCj4gPj4gIAkJCQkJJnBkZXYtPmRldiwgZGF0YSwgJm90MjAw X2JhY2tsaWdodF9vcHMsCj4gPj4gLQkJCQkJJnByb3BzKTsKPiA+PiArCQkJCQkmcHJvcHMsCj4g Pj4gKwkJCQkJQkFDS0xJR0hUX1JFR0lTVEVSX0ZCX0NMSUVOVCk7Cj4gPj4gIAlpZiAoSVNfRVJS KGJsKSkgewo+ID4+ICAJCWRldl9lcnIoJnBkZXYtPmRldiwgImZhaWxlZCB0byByZWdpc3RlciBi YWNrbGlnaHRcbiIpOwo+ID4+ICAJCXJldHZhbCA9IFBUUl9FUlIoYmwpOwo+ID4+IGRpZmYgLS1n aXQgYS9kcml2ZXJzL3ZpZGVvL2JhY2tsaWdodC9wYW5kb3JhX2JsLmMgYi9kcml2ZXJzL3ZpZGVv L2JhY2tsaWdodC9wYW5kb3JhX2JsLmMKPiA+PiBpbmRleCA1ZDhiYjhiMjAxODMuLmI2NTQ1NDNl YTg5NSAxMDA2NDQKPiA+PiAtLS0gYS9kcml2ZXJzL3ZpZGVvL2JhY2tsaWdodC9wYW5kb3JhX2Js LmMKPiA+PiArKysgYi9kcml2ZXJzL3ZpZGVvL2JhY2tsaWdodC9wYW5kb3JhX2JsLmMKPiA+PiBA QCAtMTE1LDcgKzExNSw4IEBAIHN0YXRpYyBpbnQgcGFuZG9yYV9iYWNrbGlnaHRfcHJvYmUoc3Ry dWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKPiA+PiAgCXByb3BzLm1heF9icmlnaHRuZXNzID0g TUFYX1VTRVJfVkFMVUU7Cj4gPj4gIAlwcm9wcy50eXBlID0gQkFDS0xJR0hUX1JBVzsKPiA+PiAg CWJsID0gZGV2bV9iYWNrbGlnaHRfZGV2aWNlX3JlZ2lzdGVyKCZwZGV2LT5kZXYsIHBkZXYtPm5h bWUsICZwZGV2LT5kZXYsCj4gPj4gLQkJCQkJTlVMTCwgJnBhbmRvcmFfYmFja2xpZ2h0X29wcywg JnByb3BzKTsKPiA+PiArCQkJCQlOVUxMLCAmcGFuZG9yYV9iYWNrbGlnaHRfb3BzLCAmcHJvcHMs Cj4gPj4gKwkJCQkJQkFDS0xJR0hUX1JFR0lTVEVSX0ZCX0NMSUVOVCk7Cj4gPj4gIAlpZiAoSVNf RVJSKGJsKSkgewo+ID4+ICAJCWRldl9lcnIoJnBkZXYtPmRldiwgImZhaWxlZCB0byByZWdpc3Rl ciBiYWNrbGlnaHRcbiIpOwo+ID4+ICAJCXJldHVybiBQVFJfRVJSKGJsKTsKPiA+PiBkaWZmIC0t Z2l0IGEvZHJpdmVycy92aWRlby9iYWNrbGlnaHQvcGNmNTA2MzMtYmFja2xpZ2h0LmMgYi9kcml2 ZXJzL3ZpZGVvL2JhY2tsaWdodC9wY2Y1MDYzMy1iYWNrbGlnaHQuYwo+ID4+IGluZGV4IDg1YmQ1 NzNiNmQxNS4uOGYzZGQ2YjIyMDg4IDEwMDY0NAo+ID4+IC0tLSBhL2RyaXZlcnMvdmlkZW8vYmFj a2xpZ2h0L3BjZjUwNjMzLWJhY2tsaWdodC5jCj4gPj4gKysrIGIvZHJpdmVycy92aWRlby9iYWNr bGlnaHQvcGNmNTA2MzMtYmFja2xpZ2h0LmMKPiA+PiBAQCAtMTI5LDcgKzEyOSw4IEBAIHN0YXRp YyBpbnQgcGNmNTA2MzNfYmxfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKPiA+ PiAgCj4gPj4gIAlwY2ZfYmwtPmJsID0gZGV2bV9iYWNrbGlnaHRfZGV2aWNlX3JlZ2lzdGVyKCZw ZGV2LT5kZXYsIHBkZXYtPm5hbWUsCj4gPj4gIAkJCQkJCSZwZGV2LT5kZXYsIHBjZl9ibCwKPiA+ PiAtCQkJCQkJJnBjZjUwNjMzX2JsX29wcywgJmJsX3Byb3BzKTsKPiA+PiArCQkJCQkJJnBjZjUw NjMzX2JsX29wcywgJmJsX3Byb3BzLAo+ID4+ICsJCQkJCQlCQUNLTElHSFRfUkVHSVNURVJfRkJf Q0xJRU5UKTsKPiA+PiAgCj4gPj4gIAlpZiAoSVNfRVJSKHBjZl9ibC0+YmwpKQo+ID4+ICAJCXJl dHVybiBQVFJfRVJSKHBjZl9ibC0+YmwpOwo+ID4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL3ZpZGVv L2JhY2tsaWdodC9wbTg5NDEtd2xlZC5jIGIvZHJpdmVycy92aWRlby9iYWNrbGlnaHQvcG04OTQx LXdsZWQuYwo+ID4+IGluZGV4IDBiNmQyMTk1NWQ5MS4uODUwMzVmMmY3ODRmIDEwMDY0NAo+ID4+ IC0tLSBhL2RyaXZlcnMvdmlkZW8vYmFja2xpZ2h0L3BtODk0MS13bGVkLmMKPiA+PiArKysgYi9k cml2ZXJzL3ZpZGVvL2JhY2tsaWdodC9wbTg5NDEtd2xlZC5jCj4gPj4gQEAgLTQwOCw3ICs0MDgs OCBAQCBzdGF0aWMgaW50IHBtODk0MV93bGVkX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2Ug KnBkZXYpCj4gPj4gIAlwcm9wcy5tYXhfYnJpZ2h0bmVzcyA9IFBNODk0MV9XTEVEX1JFR19WQUxf TUFYOwo+ID4+ICAJYmwgPSBkZXZtX2JhY2tsaWdodF9kZXZpY2VfcmVnaXN0ZXIoJnBkZXYtPmRl diwgd2xlZC0+bmFtZSwKPiA+PiAgCQkJCQkgICAgJnBkZXYtPmRldiwgd2xlZCwKPiA+PiAtCQkJ CQkgICAgJnBtODk0MV93bGVkX29wcywgJnByb3BzKTsKPiA+PiArCQkJCQkgICAgJnBtODk0MV93 bGVkX29wcywgJnByb3BzLAo+ID4+ICsJCQkJCSAgICBCQUNLTElHSFRfUkVHSVNURVJfRkJfQ0xJ RU5UKTsKPiA+PiAgCXJldHVybiBQVFJfRVJSX09SX1pFUk8oYmwpOwo+ID4+ICB9Owo+ID4+ICAK PiA+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy92aWRlby9iYWNrbGlnaHQvcHdtX2JsLmMgYi9kcml2 ZXJzL3ZpZGVvL2JhY2tsaWdodC9wd21fYmwuYwo+ID4+IGluZGV4IGIyYjM2NmJiMGY5Ny4uOTg2 NTVmY2U0NjJjIDEwMDY0NAo+ID4+IC0tLSBhL2RyaXZlcnMvdmlkZW8vYmFja2xpZ2h0L3B3bV9i bC5jCj4gPj4gKysrIGIvZHJpdmVycy92aWRlby9iYWNrbGlnaHQvcHdtX2JsLmMKPiA+PiBAQCAt MzMwLDcgKzMzMCw4IEBAIHN0YXRpYyBpbnQgcHdtX2JhY2tsaWdodF9wcm9iZShzdHJ1Y3QgcGxh dGZvcm1fZGV2aWNlICpwZGV2KQo+ID4+ICAJcHJvcHMudHlwZSA9IEJBQ0tMSUdIVF9SQVc7Cj4g Pj4gIAlwcm9wcy5tYXhfYnJpZ2h0bmVzcyA9IGRhdGEtPm1heF9icmlnaHRuZXNzOwo+ID4+ICAJ YmwgPSBiYWNrbGlnaHRfZGV2aWNlX3JlZ2lzdGVyKGRldl9uYW1lKCZwZGV2LT5kZXYpLCAmcGRl di0+ZGV2LCBwYiwKPiA+PiAtCQkJCSAgICAgICAmcHdtX2JhY2tsaWdodF9vcHMsICZwcm9wcyk7 Cj4gPj4gKwkJCQkgICAgICAgJnB3bV9iYWNrbGlnaHRfb3BzLCAmcHJvcHMsCj4gPj4gKwkJCQkg ICAgICAgQkFDS0xJR0hUX1JFR0lTVEVSX0ZCX0NMSUVOVCk7Cj4gPj4gIAlpZiAoSVNfRVJSKGJs KSkgewo+ID4+ICAJCWRldl9lcnIoJnBkZXYtPmRldiwgImZhaWxlZCB0byByZWdpc3RlciBiYWNr bGlnaHRcbiIpOwo+ID4+ICAJCXJldCA9IFBUUl9FUlIoYmwpOwo+ID4+IGRpZmYgLS1naXQgYS9k cml2ZXJzL3ZpZGVvL2JhY2tsaWdodC9zNmU2M20wLmMgYi9kcml2ZXJzL3ZpZGVvL2JhY2tsaWdo dC9zNmU2M20wLmMKPiA+PiBpbmRleCAzYzRhMjJhMzA2M2EuLjYwYmM4ODA3NWU2OCAxMDA2NDQK PiA+PiAtLS0gYS9kcml2ZXJzL3ZpZGVvL2JhY2tsaWdodC9zNmU2M20wLmMKPiA+PiArKysgYi9k cml2ZXJzL3ZpZGVvL2JhY2tsaWdodC9zNmU2M20wLmMKPiA+PiBAQCAtNzQ4LDcgKzc0OCw4IEBA IHN0YXRpYyBpbnQgczZlNjNtMF9wcm9iZShzdHJ1Y3Qgc3BpX2RldmljZSAqc3BpKQo+ID4+ICAK PiA+PiAgCWJkID0gZGV2bV9iYWNrbGlnaHRfZGV2aWNlX3JlZ2lzdGVyKCZzcGktPmRldiwgInM2 ZTYzbTBibC1ibCIsCj4gPj4gIAkJCQkJJnNwaS0+ZGV2LCBsY2QsICZzNmU2M20wX2JhY2tsaWdo dF9vcHMsCj4gPj4gLQkJCQkJJnByb3BzKTsKPiA+PiArCQkJCQkmcHJvcHMsCj4gPj4gKwkJCQkJ QkFDS0xJR0hUX1JFR0lTVEVSX0ZCX0NMSUVOVCk7Cj4gPj4gIAlpZiAoSVNfRVJSKGJkKSkKPiA+ PiAgCQlyZXR1cm4gUFRSX0VSUihiZCk7Cj4gPj4gIAo+ID4+IGRpZmYgLS1naXQgYS9kcml2ZXJz L3ZpZGVvL2JhY2tsaWdodC9za3k4MTQ1Mi1iYWNrbGlnaHQuYyBiL2RyaXZlcnMvdmlkZW8vYmFj a2xpZ2h0L3NreTgxNDUyLWJhY2tsaWdodC5jCj4gPj4gaW5kZXggZDQxNGM3YTNhY2Y1Li45YWJk YmNmNzFmZWYgMTAwNjQ0Cj4gPj4gLS0tIGEvZHJpdmVycy92aWRlby9iYWNrbGlnaHQvc2t5ODE0 NTItYmFja2xpZ2h0LmMKPiA+PiArKysgYi9kcml2ZXJzL3ZpZGVvL2JhY2tsaWdodC9za3k4MTQ1 Mi1iYWNrbGlnaHQuYwo+ID4+IEBAIC0yOTQsNyArMjk0LDggQEAgc3RhdGljIGludCBza3k4MTQ1 Ml9ibF9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQo+ID4+ICAJcHJvcHMubWF4 X2JyaWdodG5lc3MgPSBTS1k4MTQ1Ml9NQVhfQlJJR0hUTkVTUywKPiA+PiAgCW5hbWUgPSBwZGF0 YS0+bmFtZSA/IHBkYXRhLT5uYW1lIDogU0tZODE0NTJfREVGQVVMVF9OQU1FOwo+ID4+ICAJYmQg PSBkZXZtX2JhY2tsaWdodF9kZXZpY2VfcmVnaXN0ZXIoZGV2LCBuYW1lLCBkZXYsIHJlZ21hcCwK PiA+PiAtCQkJCQkJJnNreTgxNDUyX2JsX29wcywgJnByb3BzKTsKPiA+PiArCQkJCQkJJnNreTgx NDUyX2JsX29wcywgJnByb3BzLAo+ID4+ICsJCQkJCQlCQUNLTElHSFRfUkVHSVNURVJfRkJfQ0xJ RU5UKTsKPiA+PiAgCWlmIChJU19FUlIoYmQpKSB7Cj4gPj4gIAkJZGV2X2VycihkZXYsICJmYWls ZWQgdG8gcmVnaXN0ZXIuIGVycj0lbGRcbiIsIFBUUl9FUlIoYmQpKTsKPiA+PiAgCQlyZXR1cm4g UFRSX0VSUihiZCk7Cj4gPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvdmlkZW8vYmFja2xpZ2h0L3Rv c2FfYmwuYyBiL2RyaXZlcnMvdmlkZW8vYmFja2xpZ2h0L3Rvc2FfYmwuYwo+ID4+IGluZGV4IDgz NzQyZDgwNjM5MS4uNzU1YTYxNzI3Y2ExIDEwMDY0NAo+ID4+IC0tLSBhL2RyaXZlcnMvdmlkZW8v YmFja2xpZ2h0L3Rvc2FfYmwuYwo+ID4+ICsrKyBiL2RyaXZlcnMvdmlkZW8vYmFja2xpZ2h0L3Rv c2FfYmwuYwo+ID4+IEBAIC0xMDcsNyArMTA3LDggQEAgc3RhdGljIGludCB0b3NhX2JsX3Byb2Jl KHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQsCj4gPj4gIAlwcm9wcy5tYXhfYnJpZ2h0bmVzcyA9 IDUxMiAtIDE7Cj4gPj4gIAlkYXRhLT5ibCA9IGRldm1fYmFja2xpZ2h0X2RldmljZV9yZWdpc3Rl cigmY2xpZW50LT5kZXYsICJ0b3NhLWJsIiwKPiA+PiAgCQkJCQkJJmNsaWVudC0+ZGV2LCBkYXRh LCAmYmxfb3BzLAo+ID4+IC0JCQkJCQkmcHJvcHMpOwo+ID4+ICsJCQkJCQkmcHJvcHMsCj4gPj4g KwkJCQkJCUJBQ0tMSUdIVF9SRUdJU1RFUl9GQl9DTElFTlQpOwo+ID4+ICAJaWYgKElTX0VSUihk YXRhLT5ibCkpIHsKPiA+PiAgCQlyZXQgPSBQVFJfRVJSKGRhdGEtPmJsKTsKPiA+PiAgCQlnb3Rv IGVycl9yZWc7Cj4gPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvdmlkZW8vYmFja2xpZ2h0L3RwczY1 MjE3X2JsLmMgYi9kcml2ZXJzL3ZpZGVvL2JhY2tsaWdodC90cHM2NTIxN19ibC5jCj4gPj4gaW5k ZXggZmQ1MjRhZDg2MGE1Li4wYWM1NWI5YTc3M2MgMTAwNjQ0Cj4gPj4gLS0tIGEvZHJpdmVycy92 aWRlby9iYWNrbGlnaHQvdHBzNjUyMTdfYmwuYwo+ID4+ICsrKyBiL2RyaXZlcnMvdmlkZW8vYmFj a2xpZ2h0L3RwczY1MjE3X2JsLmMKPiA+PiBAQCAtMzA2LDcgKzMwNiw4IEBAIHN0YXRpYyBpbnQg dHBzNjUyMTdfYmxfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKPiA+PiAgCj4g Pj4gIAl0cHM2NTIxN19ibC0+YmwgPSBkZXZtX2JhY2tsaWdodF9kZXZpY2VfcmVnaXN0ZXIoJnBk ZXYtPmRldiwgcGRldi0+bmFtZSwKPiA+PiAgCQkJCQkJdHBzNjUyMTdfYmwtPmRldiwgdHBzNjUy MTdfYmwsCj4gPj4gLQkJCQkJCSZ0cHM2NTIxN19ibF9vcHMsICZibF9wcm9wcyk7Cj4gPj4gKwkJ CQkJCSZ0cHM2NTIxN19ibF9vcHMsICZibF9wcm9wcywKPiA+PiArCQkJCQkJQkFDS0xJR0hUX1JF R0lTVEVSX0ZCX0NMSUVOVCk7Cj4gPj4gIAlpZiAoSVNfRVJSKHRwczY1MjE3X2JsLT5ibCkpIHsK PiA+PiAgCQlkZXZfZXJyKHRwczY1MjE3X2JsLT5kZXYsCj4gPj4gIAkJCSJyZWdpc3RyYXRpb24g b2YgYmFja2xpZ2h0IGRldmljZSBmYWlsZWQ6ICVkXG4iLCByYyk7Cj4gPj4gZGlmZiAtLWdpdCBh L2RyaXZlcnMvdmlkZW8vYmFja2xpZ2h0L3dtODMxeF9ibC5jIGIvZHJpdmVycy92aWRlby9iYWNr bGlnaHQvd204MzF4X2JsLmMKPiA+PiBpbmRleCA2ZWFiMGQ2YzI2MmEuLjhiOTJhMjc3ZjgzYiAx MDA2NDQKPiA+PiAtLS0gYS9kcml2ZXJzL3ZpZGVvL2JhY2tsaWdodC93bTgzMXhfYmwuYwo+ID4+ ICsrKyBiL2RyaXZlcnMvdmlkZW8vYmFja2xpZ2h0L3dtODMxeF9ibC5jCj4gPj4gQEAgLTE5Nyw3 ICsxOTcsOCBAQCBzdGF0aWMgaW50IHdtODMxeF9iYWNrbGlnaHRfcHJvYmUoc3RydWN0IHBsYXRm b3JtX2RldmljZSAqcGRldikKPiA+PiAgCXByb3BzLnR5cGUgPSBCQUNLTElHSFRfUkFXOwo+ID4+ ICAJcHJvcHMubWF4X2JyaWdodG5lc3MgPSBtYXhfaXNlbDsKPiA+PiAgCWJsID0gZGV2bV9iYWNr bGlnaHRfZGV2aWNlX3JlZ2lzdGVyKCZwZGV2LT5kZXYsICJ3bTgzMXgiLCAmcGRldi0+ZGV2LAo+ ID4+IC0JCQkJCWRhdGEsICZ3bTgzMXhfYmFja2xpZ2h0X29wcywgJnByb3BzKTsKPiA+PiArCQkJ CQlkYXRhLCAmd204MzF4X2JhY2tsaWdodF9vcHMsICZwcm9wcywKPiA+PiArCQkJCQlCQUNLTElH SFRfUkVHSVNURVJfRkJfQ0xJRU5UKTsKPiA+PiAgCWlmIChJU19FUlIoYmwpKSB7Cj4gPj4gIAkJ ZGV2X2VycigmcGRldi0+ZGV2LCAiZmFpbGVkIHRvIHJlZ2lzdGVyIGJhY2tsaWdodFxuIik7Cj4g Pj4gIAkJcmV0dXJuIFBUUl9FUlIoYmwpOwo+ID4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL3ZpZGVv L2ZiZGV2L2F0bWVsX2xjZGZiLmMgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L2F0bWVsX2xjZGZiLmMK PiA+PiBpbmRleCA2NjllY2M3NTVmYTkuLmQ2YzQ2ZDY3MDYyMiAxMDA2NDQKPiA+PiAtLS0gYS9k cml2ZXJzL3ZpZGVvL2ZiZGV2L2F0bWVsX2xjZGZiLmMKPiA+PiArKysgYi9kcml2ZXJzL3ZpZGVv L2ZiZGV2L2F0bWVsX2xjZGZiLmMKPiA+PiBAQCAtMjQ0LDcgKzI0NCw4IEBAIHN0YXRpYyB2b2lk IGluaXRfYmFja2xpZ2h0KHN0cnVjdCBhdG1lbF9sY2RmYl9pbmZvICpzaW5mbykKPiA+PiAgCXBy b3BzLnR5cGUgPSBCQUNLTElHSFRfUkFXOwo+ID4+ICAJcHJvcHMubWF4X2JyaWdodG5lc3MgPSAw eGZmOwo+ID4+ICAJYmwgPSBiYWNrbGlnaHRfZGV2aWNlX3JlZ2lzdGVyKCJiYWNrbGlnaHQiLCAm c2luZm8tPnBkZXYtPmRldiwgc2luZm8sCj4gPj4gLQkJCQkgICAgICAgJmF0bWVsX2xjZGNfYmxf b3BzLCAmcHJvcHMpOwo+ID4+ICsJCQkJICAgICAgICZhdG1lbF9sY2RjX2JsX29wcywgJnByb3Bz LAo+ID4+ICsJCQkJICAgICAgIEJBQ0tMSUdIVF9SRUdJU1RFUl9GQl9DTElFTlQpOwo+ID4+ICAJ aWYgKElTX0VSUihibCkpIHsKPiA+PiAgCQlkZXZfZXJyKCZzaW5mby0+cGRldi0+ZGV2LCAiZXJy b3IgJWxkIG9uIGJhY2tsaWdodCByZWdpc3RlclxuIiwKPiA+PiAgCQkJCVBUUl9FUlIoYmwpKTsK PiA+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy92aWRlby9mYmRldi9hdHkvYXR5MTI4ZmIuYyBiL2Ry aXZlcnMvdmlkZW8vZmJkZXYvYXR5L2F0eTEyOGZiLmMKPiA+PiBpbmRleCAwYTQ2MjY4ODZiMDAu LmRhZTg3MzQ4NzBjOSAxMDA2NDQKPiA+PiAtLS0gYS9kcml2ZXJzL3ZpZGVvL2ZiZGV2L2F0eS9h dHkxMjhmYi5jCj4gPj4gKysrIGIvZHJpdmVycy92aWRlby9mYmRldi9hdHkvYXR5MTI4ZmIuYwo+ ID4+IEBAIC0xODcxLDcgKzE4NzEsOCBAQCBzdGF0aWMgdm9pZCBhdHkxMjhfYmxfaW5pdChzdHJ1 Y3QgYXR5MTI4ZmJfcGFyICpwYXIpCj4gPj4gIAlwcm9wcy50eXBlID0gQkFDS0xJR0hUX1JBVzsK PiA+PiAgCXByb3BzLm1heF9icmlnaHRuZXNzID0gRkJfQkFDS0xJR0hUX0xFVkVMUyAtIDE7Cj4g Pj4gIAliZCA9IGJhY2tsaWdodF9kZXZpY2VfcmVnaXN0ZXIobmFtZSwgaW5mby0+ZGV2LCBwYXIs ICZhdHkxMjhfYmxfZGF0YSwKPiA+PiAtCQkJCSAgICAgICAmcHJvcHMpOwo+ID4+ICsJCQkJICAg ICAgICZwcm9wcywKPiA+PiArCQkJCSAgICAgICBCQUNLTElHSFRfUkVHSVNURVJfRkJfQ0xJRU5U KTsKPiA+PiAgCWlmIChJU19FUlIoYmQpKSB7Cj4gPj4gIAkJaW5mby0+YmxfZGV2ID0gTlVMTDsK PiA+PiAgCQlwcmludGsoS0VSTl9XQVJOSU5HICJhdHkxMjg6IEJhY2tsaWdodCByZWdpc3RyYXRp b24gZmFpbGVkXG4iKTsKPiA+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy92aWRlby9mYmRldi9hdHkv YXR5ZmJfYmFzZS5jIGIvZHJpdmVycy92aWRlby9mYmRldi9hdHkvYXR5ZmJfYmFzZS5jCj4gPj4g aW5kZXggZjM0ZWQ0N2ZjYWY4Li45MThlYzhmOTQ2YWEgMTAwNjQ0Cj4gPj4gLS0tIGEvZHJpdmVy cy92aWRlby9mYmRldi9hdHkvYXR5ZmJfYmFzZS5jCj4gPj4gKysrIGIvZHJpdmVycy92aWRlby9m YmRldi9hdHkvYXR5ZmJfYmFzZS5jCj4gPj4gQEAgLTIyNDIsNyArMjI0Miw4IEBAIHN0YXRpYyB2 b2lkIGF0eV9ibF9pbml0KHN0cnVjdCBhdHlmYl9wYXIgKnBhcikKPiA+PiAgCXByb3BzLnR5cGUg PSBCQUNLTElHSFRfUkFXOwo+ID4+ICAJcHJvcHMubWF4X2JyaWdodG5lc3MgPSBGQl9CQUNLTElH SFRfTEVWRUxTIC0gMTsKPiA+PiAgCWJkID0gYmFja2xpZ2h0X2RldmljZV9yZWdpc3RlcihuYW1l LCBpbmZvLT5kZXYsIHBhciwgJmF0eV9ibF9kYXRhLAo+ID4+IC0JCQkJICAgICAgICZwcm9wcyk7 Cj4gPj4gKwkJCQkgICAgICAgJnByb3BzLAo+ID4+ICsJCQkJICAgICAgIEJBQ0tMSUdIVF9SRUdJ U1RFUl9GQl9DTElFTlQpOwo+ID4+ICAJaWYgKElTX0VSUihiZCkpIHsKPiA+PiAgCQlpbmZvLT5i bF9kZXYgPSBOVUxMOwo+ID4+ICAJCXByaW50ayhLRVJOX1dBUk5JTkcgImF0eTogQmFja2xpZ2h0 IHJlZ2lzdHJhdGlvbiBmYWlsZWRcbiIpOwo+ID4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL3ZpZGVv L2ZiZGV2L2F0eS9yYWRlb25fYmFja2xpZ2h0LmMgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L2F0eS9y YWRlb25fYmFja2xpZ2h0LmMKPiA+PiBpbmRleCAzMDFkNmQ2YWVlYWQuLmE4YzllZjYxOGU0MiAx MDA2NDQKPiA+PiAtLS0gYS9kcml2ZXJzL3ZpZGVvL2ZiZGV2L2F0eS9yYWRlb25fYmFja2xpZ2h0 LmMKPiA+PiArKysgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L2F0eS9yYWRlb25fYmFja2xpZ2h0LmMK PiA+PiBAQCAtMTU1LDcgKzE1NSw4IEBAIHZvaWQgcmFkZW9uZmJfYmxfaW5pdChzdHJ1Y3QgcmFk ZW9uZmJfaW5mbyAqcmluZm8pCj4gPj4gIAlwcm9wcy50eXBlID0gQkFDS0xJR0hUX1JBVzsKPiA+ PiAgCXByb3BzLm1heF9icmlnaHRuZXNzID0gRkJfQkFDS0xJR0hUX0xFVkVMUyAtIDE7Cj4gPj4g IAliZCA9IGJhY2tsaWdodF9kZXZpY2VfcmVnaXN0ZXIobmFtZSwgcmluZm8tPmluZm8tPmRldiwg cGRhdGEsCj4gPj4gLQkJCQkgICAgICAgJnJhZGVvbl9ibF9kYXRhLCAmcHJvcHMpOwo+ID4+ICsJ CQkJICAgICAgICZyYWRlb25fYmxfZGF0YSwgJnByb3BzLAo+ID4+ICsJCQkJICAgICAgIEJBQ0tM SUdIVF9SRUdJU1RFUl9GQl9DTElFTlQpOwo+ID4+ICAJaWYgKElTX0VSUihiZCkpIHsKPiA+PiAg CQlyaW5mby0+aW5mby0+YmxfZGV2ID0gTlVMTDsKPiA+PiAgCQlwcmludGsoInJhZGVvbmZiOiBC YWNrbGlnaHQgcmVnaXN0cmF0aW9uIGZhaWxlZFxuIik7Cj4gPj4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvdmlkZW8vZmJkZXYvYmY1MzctbHEwMzUuYyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYvYmY1Mzct bHEwMzUuYwo+ID4+IGluZGV4IGVmMjlmYjQyNTEyMi4uNzdiNmY5OGQyMTgyIDEwMDY0NAo+ID4+ IC0tLSBhL2RyaXZlcnMvdmlkZW8vZmJkZXYvYmY1MzctbHEwMzUuYwo+ID4+ICsrKyBiL2RyaXZl cnMvdmlkZW8vZmJkZXYvYmY1MzctbHEwMzUuYwo+ID4+IEBAIC03NjUsNyArNzY1LDggQEAgc3Rh dGljIGludCBiZmluX2xxMDM1X3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCj4g Pj4gIAlwcm9wcy50eXBlID0gQkFDS0xJR0hUX1JBVzsKPiA+PiAgCXByb3BzLm1heF9icmlnaHRu ZXNzID0gTUFYX0JSSUdIRU5FU1M7Cj4gPj4gIAlibF9kZXYgPSBiYWNrbGlnaHRfZGV2aWNlX3Jl Z2lzdGVyKCJiZjUzNy1ibCIsIE5VTEwsIE5VTEwsCj4gPj4gLQkJCQkJICAgJmJmaW5fbHEwMzVm Yl9ibF9vcHMsICZwcm9wcyk7Cj4gPj4gKwkJCQkJICAgJmJmaW5fbHEwMzVmYl9ibF9vcHMsICZw cm9wcywKPiA+PiArCQkJCQkgICBCQUNLTElHSFRfUkVHSVNURVJfRkJfQ0xJRU5UKTsKPiA+PiAg Cj4gPj4gIAlsY2RfZGV2ID0gbGNkX2RldmljZV9yZWdpc3RlcihLQlVJTERfTU9ETkFNRSwgJnBk ZXYtPmRldiwgTlVMTCwKPiA+PiAgCQkJCSAgICAgICZiZmluX2xjZF9vcHMpOwo+ID4+IGRpZmYg LS1naXQgYS9kcml2ZXJzL3ZpZGVvL2ZiZGV2L2JmNTR4LWxxMDQzZmIuYyBiL2RyaXZlcnMvdmlk ZW8vZmJkZXYvYmY1NHgtbHEwNDNmYi5jCj4gPj4gaW5kZXggOGYxZjk3Yzc1NjE5Li40MDAxZjNj OWM0MGMgMTAwNjQ0Cj4gPj4gLS0tIGEvZHJpdmVycy92aWRlby9mYmRldi9iZjU0eC1scTA0M2Zi LmMKPiA+PiArKysgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L2JmNTR4LWxxMDQzZmIuYwo+ID4+IEBA IC02NTIsNyArNjUyLDggQEAgc3RhdGljIGludCBiZmluX2JmNTR4X3Byb2JlKHN0cnVjdCBwbGF0 Zm9ybV9kZXZpY2UgKnBkZXYpCj4gPj4gIAlwcm9wcy50eXBlID0gQkFDS0xJR0hUX1JBVzsKPiA+ PiAgCXByb3BzLm1heF9icmlnaHRuZXNzID0gMjU1Owo+ID4+ICAJYmxfZGV2ID0gYmFja2xpZ2h0 X2RldmljZV9yZWdpc3RlcigiYmY1NHgtYmwiLCBOVUxMLCBOVUxMLAo+ID4+IC0JCQkJCSAgICZi ZmluX2xxMDQzZmJfYmxfb3BzLCAmcHJvcHMpOwo+ID4+ICsJCQkJCSAgICZiZmluX2xxMDQzZmJf Ymxfb3BzLCAmcHJvcHMsCj4gPj4gKwkJCQkJICAgQkFDS0xJR0hUX1JFR0lTVEVSX0ZCX0NMSUVO VCk7Cj4gPj4gIAlpZiAoSVNfRVJSKGJsX2RldikpIHsKPiA+PiAgCQlwcmludGsoS0VSTl9FUlIg RFJJVkVSX05BTUUKPiA+PiAgCQkJIjogdW5hYmxlIHRvIHJlZ2lzdGVyIGJhY2tsaWdodC5cbiIp Owo+ID4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL3ZpZGVvL2ZiZGV2L2JmaW4tdDM1MG1jcWItZmIu YyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYvYmZpbi10MzUwbWNxYi1mYi5jCj4gPj4gaW5kZXggZTVl ZTRkOTY3N2Y3Li42YzFjNjRmNDg0MzIgMTAwNjQ0Cj4gPj4gLS0tIGEvZHJpdmVycy92aWRlby9m YmRldi9iZmluLXQzNTBtY3FiLWZiLmMKPiA+PiArKysgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L2Jm aW4tdDM1MG1jcWItZmIuYwo+ID4+IEBAIC01NDksNyArNTQ5LDggQEAgc3RhdGljIGludCBiZmlu X3QzNTBtY3FiX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCj4gPj4gIAlwcm9w cy50eXBlID0gQkFDS0xJR0hUX1JBVzsKPiA+PiAgCXByb3BzLm1heF9icmlnaHRuZXNzID0gMjU1 Owo+ID4+ICAJYmxfZGV2ID0gYmFja2xpZ2h0X2RldmljZV9yZWdpc3RlcigiYmY1MngtYmwiLCBO VUxMLCBOVUxMLAo+ID4+IC0JCQkJCSAgICZiZmluX2xxMDQzZmJfYmxfb3BzLCAmcHJvcHMpOwo+ ID4+ICsJCQkJCSAgICZiZmluX2xxMDQzZmJfYmxfb3BzLCAmcHJvcHMsCj4gPj4gKwkJCQkJICAg QkFDS0xJR0hUX1JFR0lTVEVSX0ZCX0NMSUVOVCk7Cj4gPj4gIAlpZiAoSVNfRVJSKGJsX2Rldikp IHsKPiA+PiAgCQlwcmludGsoS0VSTl9FUlIgRFJJVkVSX05BTUUKPiA+PiAgCQkJIjogdW5hYmxl IHRvIHJlZ2lzdGVyIGJhY2tsaWdodC5cbiIpOwo+ID4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL3Zp ZGVvL2ZiZGV2L2V4eW5vcy9zNmU4YXgwLmMgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L2V4eW5vcy9z NmU4YXgwLmMKPiA+PiBpbmRleCBkZTJmM2U3OTM3ODYuLmE3OGM2ZWZmYWI5NyAxMDA2NDQKPiA+ PiAtLS0gYS9kcml2ZXJzL3ZpZGVvL2ZiZGV2L2V4eW5vcy9zNmU4YXgwLmMKPiA+PiArKysgYi9k cml2ZXJzL3ZpZGVvL2ZiZGV2L2V4eW5vcy9zNmU4YXgwLmMKPiA+PiBAQCAtNzk2LDcgKzc5Niw4 IEBAIHN0YXRpYyBpbnQgczZlOGF4MF9wcm9iZShzdHJ1Y3QgbWlwaV9kc2ltX2xjZF9kZXZpY2Ug KmRzaW1fZGV2KQo+ID4+ICAJfQo+ID4+ICAKPiA+PiAgCWxjZC0+YmQgPSBkZXZtX2JhY2tsaWdo dF9kZXZpY2VfcmVnaXN0ZXIobGNkLT5kZXYsICJzNmU4YXgwLWJsIiwKPiA+PiAtCQkJCWxjZC0+ ZGV2LCBsY2QsICZzNmU4YXgwX2JhY2tsaWdodF9vcHMsIE5VTEwpOwo+ID4+ICsJCQkJbGNkLT5k ZXYsIGxjZCwgJnM2ZThheDBfYmFja2xpZ2h0X29wcywgTlVMTCwKPiA+PiArCQkJCUJBQ0tMSUdI VF9SRUdJU1RFUl9GQl9DTElFTlQpOwo+ID4+ICAJaWYgKElTX0VSUihsY2QtPmJkKSkgewo+ID4+ ICAJCWRldl9lcnIobGNkLT5kZXYsICJmYWlsZWQgdG8gcmVnaXN0ZXIgYmFja2xpZ2h0IG9wcy5c biIpOwo+ID4+ICAJCXJldHVybiBQVFJfRVJSKGxjZC0+YmQpOwo+ID4+IGRpZmYgLS1naXQgYS9k cml2ZXJzL3ZpZGVvL2ZiZGV2L214M2ZiLmMgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L214M2ZiLmMK PiA+PiBpbmRleCBmOTFiMWRiMjYyYjAuLmMxM2MzNjVlNjYyMiAxMDA2NDQKPiA+PiAtLS0gYS9k cml2ZXJzL3ZpZGVvL2ZiZGV2L214M2ZiLmMKPiA+PiArKysgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2 L214M2ZiLmMKPiA+PiBAQCAtMzE5LDcgKzMxOSw4IEBAIHN0YXRpYyB2b2lkIG14M2ZiX2luaXRf YmFja2xpZ2h0KHN0cnVjdCBteDNmYl9kYXRhICpmYmQpCj4gPj4gIAlzZGNfc2V0X2JyaWdodG5l c3MoZmJkLCBmYmQtPmJhY2tsaWdodF9sZXZlbCk7Cj4gPj4gIAo+ID4+ICAJYmwgPSBiYWNrbGln aHRfZGV2aWNlX3JlZ2lzdGVyKCJteDNmYi1ibCIsIGZiZC0+ZGV2LCBmYmQsCj4gPj4gLQkJCQkg ICAgICAgJm14M2ZiX2xjZGNfYmxfb3BzLCAmcHJvcHMpOwo+ID4+ICsJCQkJICAgICAgICZteDNm Yl9sY2RjX2JsX29wcywgJnByb3BzLAo+ID4+ICsJCQkJICAgICAgIEJBQ0tMSUdIVF9SRUdJU1RF Ul9GQl9DTElFTlQpOwo+ID4+ICAJaWYgKElTX0VSUihibCkpIHsKPiA+PiAgCQlkZXZfZXJyKGZi ZC0+ZGV2LCAiZXJyb3IgJWxkIG9uIGJhY2tsaWdodCByZWdpc3RlclxuIiwKPiA+PiAgCQkJCVBU Ul9FUlIoYmwpKTsKPiA+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy92aWRlby9mYmRldi9udmlkaWEv bnZfYmFja2xpZ2h0LmMgYi9kcml2ZXJzL3ZpZGVvL2ZiZGV2L252aWRpYS9udl9iYWNrbGlnaHQu Ywo+ID4+IGluZGV4IDVjMTUxYjJlYTY4My4uZmRiOTE1NDdiMDJmIDEwMDY0NAo+ID4+IC0tLSBh L2RyaXZlcnMvdmlkZW8vZmJkZXYvbnZpZGlhL252X2JhY2tsaWdodC5jCj4gPj4gKysrIGIvZHJp dmVycy92aWRlby9mYmRldi9udmlkaWEvbnZfYmFja2xpZ2h0LmMKPiA+PiBAQCAtMTA4LDcgKzEw OCw4IEBAIHZvaWQgbnZpZGlhX2JsX2luaXQoc3RydWN0IG52aWRpYV9wYXIgKnBhcikKPiA+PiAg CXByb3BzLnR5cGUgPSBCQUNLTElHSFRfUkFXOwo+ID4+ICAJcHJvcHMubWF4X2JyaWdodG5lc3Mg PSBGQl9CQUNLTElHSFRfTEVWRUxTIC0gMTsKPiA+PiAgCWJkID0gYmFja2xpZ2h0X2RldmljZV9y ZWdpc3RlcihuYW1lLCBpbmZvLT5kZXYsIHBhciwgJm52aWRpYV9ibF9vcHMsCj4gPj4gLQkJCQkg ICAgICAgJnByb3BzKTsKPiA+PiArCQkJCSAgICAgICAmcHJvcHMsCj4gPj4gKwkJCQkgICAgICAg QkFDS0xJR0hUX1JFR0lTVEVSX0ZCX0NMSUVOVCk7Cj4gPj4gIAlpZiAoSVNfRVJSKGJkKSkgewo+ ID4+ICAJCWluZm8tPmJsX2RldiA9IE5VTEw7Cj4gPj4gIAkJcHJpbnRrKEtFUk5fV0FSTklORyAi bnZpZGlhOiBCYWNrbGlnaHQgcmVnaXN0cmF0aW9uIGZhaWxlZFxuIik7Cj4gPj4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvdmlkZW8vZmJkZXYvb21hcDIvb21hcGZiL2Rpc3BsYXlzL3BhbmVsLWRzaS1j bS5jIGIvZHJpdmVycy92aWRlby9mYmRldi9vbWFwMi9vbWFwZmIvZGlzcGxheXMvcGFuZWwtZHNp LWNtLmMKPiA+PiBpbmRleCBiNTgwMTJiODJiNmYuLjJjNWZjY2Y4MTM5MSAxMDA2NDQKPiA+PiAt LS0gYS9kcml2ZXJzL3ZpZGVvL2ZiZGV2L29tYXAyL29tYXBmYi9kaXNwbGF5cy9wYW5lbC1kc2kt Y20uYwo+ID4+ICsrKyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYvb21hcDIvb21hcGZiL2Rpc3BsYXlz L3BhbmVsLWRzaS1jbS5jCj4gPj4gQEAgLTEyNTksNyArMTI1OSw4IEBAIHN0YXRpYyBpbnQgZHNp Y21fcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKPiA+PiAgCj4gPj4gIAkJcHJv cHMudHlwZSA9IEJBQ0tMSUdIVF9SQVc7Cj4gPj4gIAkJYmxkZXYgPSBiYWNrbGlnaHRfZGV2aWNl X3JlZ2lzdGVyKGRldl9uYW1lKGRldiksCj4gPj4gLQkJCQlkZXYsIGRkYXRhLCAmZHNpY21fYmxf b3BzLCAmcHJvcHMpOwo+ID4+ICsJCQkJZGV2LCBkZGF0YSwgJmRzaWNtX2JsX29wcywgJnByb3Bz LAo+ID4+ICsJCQkJQkFDS0xJR0hUX1JFR0lTVEVSX0ZCX0NMSUVOVCk7Cj4gPj4gIAkJaWYgKElT X0VSUihibGRldikpIHsKPiA+PiAgCQkJciA9IFBUUl9FUlIoYmxkZXYpOwo+ID4+ICAJCQlnb3Rv IGVycl9ibDsKPiA+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy92aWRlby9mYmRldi9vbWFwMi9vbWFw ZmIvZGlzcGxheXMvcGFuZWwtc29ueS1hY3g1NjVha20uYyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYv b21hcDIvb21hcGZiL2Rpc3BsYXlzL3BhbmVsLXNvbnktYWN4NTY1YWttLmMKPiA+PiBpbmRleCA0 Njg1NjBhNmRhYWUuLjhkNzgyMWU4YmIwYSAxMDA2NDQKPiA+PiAtLS0gYS9kcml2ZXJzL3ZpZGVv L2ZiZGV2L29tYXAyL29tYXBmYi9kaXNwbGF5cy9wYW5lbC1zb255LWFjeDU2NWFrbS5jCj4gPj4g KysrIGIvZHJpdmVycy92aWRlby9mYmRldi9vbWFwMi9vbWFwZmIvZGlzcGxheXMvcGFuZWwtc29u eS1hY3g1NjVha20uYwo+ID4+IEBAIC04MTYsNyArODE2LDggQEAgc3RhdGljIGludCBhY3g1NjVh a21fcHJvYmUoc3RydWN0IHNwaV9kZXZpY2UgKnNwaSkKPiA+PiAgCXByb3BzLnR5cGUgPSBCQUNL TElHSFRfUkFXOwo+ID4+ICAKPiA+PiAgCWJsZGV2ID0gYmFja2xpZ2h0X2RldmljZV9yZWdpc3Rl cigiYWN4NTY1YWttIiwgJmRkYXRhLT5zcGktPmRldiwKPiA+PiAtCQkJZGRhdGEsICZhY3g1NjVh a21fYmxfb3BzLCAmcHJvcHMpOwo+ID4+ICsJCQlkZGF0YSwgJmFjeDU2NWFrbV9ibF9vcHMsICZw cm9wcywKPiA+PiArCQkJQkFDS0xJR0hUX1JFR0lTVEVSX0ZCX0NMSUVOVCk7Cj4gPj4gIAlpZiAo SVNfRVJSKGJsZGV2KSkgewo+ID4+ICAJCXIgPSBQVFJfRVJSKGJsZGV2KTsKPiA+PiAgCQlnb3Rv IGVycl9yZWdfYmw7Cj4gPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvdmlkZW8vZmJkZXYvcml2YS9m YmRldi5jIGIvZHJpdmVycy92aWRlby9mYmRldi9yaXZhL2ZiZGV2LmMKPiA+PiBpbmRleCAyZWYy NmFkOTkzNDEuLjZkYzA1ZGE1MDYwOSAxMDA2NDQKPiA+PiAtLS0gYS9kcml2ZXJzL3ZpZGVvL2Zi ZGV2L3JpdmEvZmJkZXYuYwo+ID4+ICsrKyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYvcml2YS9mYmRl di5jCj4gPj4gQEAgLTM0Myw3ICszNDMsOCBAQCBzdGF0aWMgdm9pZCByaXZhX2JsX2luaXQoc3Ry dWN0IHJpdmFfcGFyICpwYXIpCj4gPj4gIAlwcm9wcy50eXBlID0gQkFDS0xJR0hUX1JBVzsKPiA+ PiAgCXByb3BzLm1heF9icmlnaHRuZXNzID0gRkJfQkFDS0xJR0hUX0xFVkVMUyAtIDE7Cj4gPj4g IAliZCA9IGJhY2tsaWdodF9kZXZpY2VfcmVnaXN0ZXIobmFtZSwgaW5mby0+ZGV2LCBwYXIsICZy aXZhX2JsX29wcywKPiA+PiAtCQkJCSAgICAgICAmcHJvcHMpOwo+ID4+ICsJCQkJICAgICAgICZw cm9wcywKPiA+PiArCQkJCSAgICAgICBCQUNLTElHSFRfUkVHSVNURVJfRkJfQ0xJRU5UKTsKPiA+ PiAgCWlmIChJU19FUlIoYmQpKSB7Cj4gPj4gIAkJaW5mby0+YmxfZGV2ID0gTlVMTDsKPiA+PiAg CQlwcmludGsoS0VSTl9XQVJOSU5HICJyaXZhOiBCYWNrbGlnaHQgcmVnaXN0cmF0aW9uIGZhaWxl ZFxuIik7Cj4gPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvdmlkZW8vZmJkZXYvc2hfbW9iaWxlX2xj ZGNmYi5jIGIvZHJpdmVycy92aWRlby9mYmRldi9zaF9tb2JpbGVfbGNkY2ZiLmMKPiA+PiBpbmRl eCA4MmMwYThjYWE5YjguLjIwMDBlZDk4YjM4MCAxMDA2NDQKPiA+PiAtLS0gYS9kcml2ZXJzL3Zp ZGVvL2ZiZGV2L3NoX21vYmlsZV9sY2RjZmIuYwo+ID4+ICsrKyBiL2RyaXZlcnMvdmlkZW8vZmJk ZXYvc2hfbW9iaWxlX2xjZGNmYi5jCj4gPj4gQEAgLTIzMTQsNyArMjMxNCw4IEBAIHN0YXRpYyBz dHJ1Y3QgYmFja2xpZ2h0X2RldmljZSAqc2hfbW9iaWxlX2xjZGNfYmxfcHJvYmUoc3RydWN0IGRl dmljZSAqcGFyZW50LAo+ID4+ICAJc3RydWN0IGJhY2tsaWdodF9kZXZpY2UgKmJsOwo+ID4+ICAK PiA+PiAgCWJsID0gYmFja2xpZ2h0X2RldmljZV9yZWdpc3RlcihjaC0+Y2ZnLT5ibF9pbmZvLm5h bWUsIHBhcmVudCwgY2gsCj4gPj4gLQkJCQkgICAgICAgJnNoX21vYmlsZV9sY2RjX2JsX29wcywg TlVMTCk7Cj4gPj4gKwkJCQkgICAgICAgJnNoX21vYmlsZV9sY2RjX2JsX29wcywgTlVMTCwKPiA+ PiArCQkJCSAgICAgICBCQUNLTElHSFRfUkVHSVNURVJfRkJfQ0xJRU5UKTsKPiA+PiAgCWlmIChJ U19FUlIoYmwpKSB7Cj4gPj4gIAkJZGV2X2VycihwYXJlbnQsICJ1bmFibGUgdG8gcmVnaXN0ZXIg YmFja2xpZ2h0IGRldmljZTogJWxkXG4iLAo+ID4+ICAJCQlQVFJfRVJSKGJsKSk7Cj4gPj4gZGlm ZiAtLWdpdCBhL2RyaXZlcnMvdmlkZW8vZmJkZXYvc3NkMTMwN2ZiLmMgYi9kcml2ZXJzL3ZpZGVv L2ZiZGV2L3NzZDEzMDdmYi5jCj4gPj4gaW5kZXggYTljNDVjODliMTVlLi5hOGE3YmE0YWNkZTYg MTAwNjQ0Cj4gPj4gLS0tIGEvZHJpdmVycy92aWRlby9mYmRldi9zc2QxMzA3ZmIuYwo+ID4+ICsr KyBiL2RyaXZlcnMvdmlkZW8vZmJkZXYvc3NkMTMwN2ZiLmMKPiA+PiBAQCAtNjczLDcgKzY3Myw4 IEBAIHN0YXRpYyBpbnQgc3NkMTMwN2ZiX3Byb2JlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQs Cj4gPj4gIAo+ID4+ICAJc25wcmludGYoYmxfbmFtZSwgc2l6ZW9mKGJsX25hbWUpLCAic3NkMTMw N2ZiJWQiLCBpbmZvLT5ub2RlKTsKPiA+PiAgCWJsID0gYmFja2xpZ2h0X2RldmljZV9yZWdpc3Rl cihibF9uYW1lLCAmY2xpZW50LT5kZXYsIHBhciwKPiA+PiAtCQkJCSAgICAgICAmc3NkMTMwN2Zi X2JsX29wcywgTlVMTCk7Cj4gPj4gKwkJCQkgICAgICAgJnNzZDEzMDdmYl9ibF9vcHMsIE5VTEws Cj4gPj4gKwkJCQkgICAgICAgQkFDS0xJR0hUX1JFR0lTVEVSX0ZCX0NMSUVOVCk7Cj4gPj4gIAlp ZiAoSVNfRVJSKGJsKSkgewo+ID4+ICAJCXJldCA9IFBUUl9FUlIoYmwpOwo+ID4+ICAJCWRldl9l cnIoJmNsaWVudC0+ZGV2LCAidW5hYmxlIHRvIHJlZ2lzdGVyIGJhY2tsaWdodCBkZXZpY2U6ICVk XG4iLAo+ID4+IGRpZmYgLS1naXQgYS9pbmNsdWRlL2xpbnV4L2JhY2tsaWdodC5oIGIvaW5jbHVk ZS9saW51eC9iYWNrbGlnaHQuaAo+ID4+IGluZGV4IDVmMmZkNjFlZjRmYi4uNzlhZjNjY2FiZWNh IDEwMDY0NAo+ID4+IC0tLSBhL2luY2x1ZGUvbGludXgvYmFja2xpZ2h0LmgKPiA+PiArKysgYi9p bmNsdWRlL2xpbnV4L2JhY2tsaWdodC5oCj4gPj4gQEAgLTEyOSwxMyArMTI5LDE2IEBAIHN0YXRp YyBpbmxpbmUgaW50IGJhY2tsaWdodF91cGRhdGVfc3RhdHVzKHN0cnVjdCBiYWNrbGlnaHRfZGV2 aWNlICpiZCkKPiA+PiAgCXJldHVybiByZXQ7Cj4gPj4gIH0KPiA+PiAgCj4gPj4gKyNkZWZpbmUg QkFDS0xJR0hUX1JFR0lTVEVSX0ZCX0NMSUVOVCAweDEKPiA+PiAgZXh0ZXJuIHN0cnVjdCBiYWNr bGlnaHRfZGV2aWNlICpiYWNrbGlnaHRfZGV2aWNlX3JlZ2lzdGVyKGNvbnN0IGNoYXIgKm5hbWUs Cj4gPj4gIAlzdHJ1Y3QgZGV2aWNlICpkZXYsIHZvaWQgKmRldmRhdGEsIGNvbnN0IHN0cnVjdCBi YWNrbGlnaHRfb3BzICpvcHMsCj4gPj4gLQljb25zdCBzdHJ1Y3QgYmFja2xpZ2h0X3Byb3BlcnRp ZXMgKnByb3BzKTsKPiA+PiArCWNvbnN0IHN0cnVjdCBiYWNrbGlnaHRfcHJvcGVydGllcyAqcHJv cHMsCj4gPj4gKwl1bnNpZ25lZCBsb25nIGZsYWdzKTsKPiA+PiAgZXh0ZXJuIHN0cnVjdCBiYWNr bGlnaHRfZGV2aWNlICpkZXZtX2JhY2tsaWdodF9kZXZpY2VfcmVnaXN0ZXIoCj4gPj4gIAlzdHJ1 Y3QgZGV2aWNlICpkZXYsIGNvbnN0IGNoYXIgKm5hbWUsIHN0cnVjdCBkZXZpY2UgKnBhcmVudCwK PiA+PiAgCXZvaWQgKmRldmRhdGEsIGNvbnN0IHN0cnVjdCBiYWNrbGlnaHRfb3BzICpvcHMsCj4g Pj4gLQljb25zdCBzdHJ1Y3QgYmFja2xpZ2h0X3Byb3BlcnRpZXMgKnByb3BzKTsKPiA+PiArCWNv bnN0IHN0cnVjdCBiYWNrbGlnaHRfcHJvcGVydGllcyAqcHJvcHMsCj4gPj4gKwl1bnNpZ25lZCBs b25nIGZsYWdzKTsKPiA+PiAgZXh0ZXJuIHZvaWQgYmFja2xpZ2h0X2RldmljZV91bnJlZ2lzdGVy KHN0cnVjdCBiYWNrbGlnaHRfZGV2aWNlICpiZCk7Cj4gPj4gIGV4dGVybiB2b2lkIGRldm1fYmFj a2xpZ2h0X2RldmljZV91bnJlZ2lzdGVyKHN0cnVjdCBkZXZpY2UgKmRldiwKPiA+PiAgCQkJCQlz dHJ1Y3QgYmFja2xpZ2h0X2RldmljZSAqYmQpOwo+ID4+IC0tIAo+ID4+IDIuOC4xCj4gPj4gCj4g Pj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPiA+PiBJ bnRlbC1nZnggbWFpbGluZyBsaXN0Cj4gPj4gSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9y Zwo+ID4+IGh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50 ZWwtZ2Z4Cj4gCj4gLS0gCj4gSmFuaSBOaWt1bGEsIEludGVsIE9wZW4gU291cmNlIFRlY2hub2xv Z3kgQ2VudGVyCgotLSAKRGFuaWVsIFZldHRlcgpTb2Z0d2FyZSBFbmdpbmVlciwgSW50ZWwgQ29y cG9yYXRpb24KaHR0cDovL2Jsb2cuZmZ3bGwuY2gKX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlz dHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4v bGlzdGluZm8vaW50ZWwtZ2Z4Cg==