From mboxrd@z Thu Jan 1 00:00:00 1970 From: Laurent Pinchart Subject: Re: DRM_MODE_CONNECTOR_PANEL? [Was: drm/panel: Add and fill drm_panel type field] Date: Sat, 24 Aug 2019 17:02:34 +0300 Message-ID: <20190824140234.GA4830@pendragon.ideasonboard.com> References: <20190823193245.23876-1-laurent.pinchart@ideasonboard.com> <20190823193245.23876-4-laurent.pinchart@ideasonboard.com> <20190824095421.GC30584@ravnborg.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [IPv6:2001:4b98:dc2:55:216:3eff:fef7:d647]) by gabe.freedesktop.org (Postfix) with ESMTPS id 710236E0CA for ; Sat, 24 Aug 2019 14:02:50 +0000 (UTC) Content-Disposition: inline In-Reply-To: <20190824095421.GC30584@ravnborg.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Sam Ravnborg Cc: Alexandre Belloni , Neil Armstrong , Maxime Ripard , Guido =?utf-8?Q?G=C3=BCnther?= , dri-devel@lists.freedesktop.org, Philippe Cornu , Paul Cercueil , Thierry Reding , Yannick Fertre , Stefan Mavrodiev , Tomi Valkeinen , Ludovic Desroches , Jagan Teki , Robert Chiras , Jonas Karlman , Jyri Sarha , Sean Paul , Jernej Skrabec , Purism Kernel Team , Boris Brezillon , Nicolas Ferre , Vincent Abriou List-Id: dri-devel@lists.freedesktop.org SGkgU2FtLAoKT24gU2F0LCBBdWcgMjQsIDIwMTkgYXQgMTE6NTQ6MjFBTSArMDIwMCwgU2FtIFJh dm5ib3JnIHdyb3RlOgo+IE9uIEZyaSwgQXVnIDIzLCAyMDE5IGF0IDEwOjMyOjQ0UE0gKzAzMDAs IExhdXJlbnQgUGluY2hhcnQgd3JvdGU6Cj4gPiBBZGQgYSB0eXBlIGZpZWxkIHRvIHRoZSBkcm1f cGFuZWwgc3RydWN0dXJlIHRvIHJlcG9ydCB0aGUgcGFuZWwgdHlwZSwKPiA+IHVzaW5nIERSTV9N T0RFX0NPTk5FQ1RPUl8qIG1hY3JvcyAodGhlIHZhbHVlcyB0aGF0IG1ha2Ugc2Vuc2UgYXJlIExW RFMsCj4gPiBlRFAsIERTSSBhbmQgRFBJKS4gVGhpcyB3aWxsIGJlIHVzZWQgdG8gaW5pdGlhbGlz ZSB0aGUgY29ycmVzcG9uZGluZwo+ID4gY29ubmVjdG9yIHR5cGUuCj4gCj4gQXMgZGlzY3Vzc2Vk IG9uIGlyYyBiZWZvcmUgYXBwbHlpbmcgdGhpcyB3ZSBzaG91bGQgZXZhbHVhdGUgdGhlCj4gaWRl YSB0byBpbnRyb2R1Y2UgRFJNX01PREVfQ09OTkVDVE9SX1BBTkVMCgpUaGFuayB5b3UgZm9yIGJy aW5naW5nIGl0IHVwLgoKPiBUb2RheSB3ZSBoYXZlOgo+ICAgICBEUk1fTU9ERV9DT05ORUNUT1Jf RFBJCj4gICAgIERSTV9NT0RFX0NPTk5FQ1RPUl9EQkkKPiAgICAgRFJNX01PREVfQ09OTkVDVE9S X1NQSQo+ICAgICBEUk1fTU9ERV9DT05ORUNUT1JfTFZEUwo+IAo+IFRoZSBxdWVzdGlvbiBpZiB3 aGF0IGJlbmVmaXQgaWcgZ2l2ZXMgdG8gZGlzdGluZ3VzaCBiZXR3ZWVuIHRoZQo+IGRpZmZlcmVu dCB3YXlzIHBhbmVscyBhcmUgY29ubmVjdGVkLgo+IAo+IEZvciBleGFtcGxlIGZvciBWR0EgYW5k IEhETUkgdGhlcmUgaXMgYSBwaHlzaWNhbCBjb25uZWN0b3IgaW52b2x2ZWQgc28KPiBoZXJlIGl0 IG1ha2UgZ29vZCBzZW5zZS4KPiBCdXQgd2h5IHNob3VsZCB1c2Vyc3BhY2UgY2FyZSBpZiB0aGUg cGFuZWwgaXMgY29ubmVjdGVkIHZpYSBEUEkgb3IgTFZEUz8KPiAKPiBUaGUgbW9yZSBnZW5lcmlj IERSTV9NT0RFX0NPTk5FQ1RPUl9QQU5FTCB3b3VsZCBiZSBlcXVhbGx5IGRlc2NyaXB0aXZlLgo+ IAo+IFdlIHdpbGwgYWxzbyBzdGFydCB0byBzZWUgbmV3IGRyaXZlcnMgd2hlcmUgdGhlcmUgd2ls bCBiZSBzdXBwb3J0Cj4gZm9yIG1vcmUgdGhhbiBvbmUgdHlwZSBvZiBjb25uZWN0b3IgaW50ZXJm YWNlLgo+IAo+IExpa2UgZm9yIGV4YW1wbGUgaWxpOTMyMjoKPiAgLSA4LWJpdCBzZXJpYWwgUkdC IGludGVyZmFjZQo+ICAtIDI0LWJpdCBwYXJhbGxlbCBSR0IgaW50ZXJmYWNlCj4gIC0gOC1iaXQg SVRVLVIgQlQuNjAxIGludGVyZmFjZQo+ICAtIDgtYml0IElUVS1SIEJULjY1NiBpbnRlcmZhY2UK PiAKPiBBZGRpbmcgRFJNX01PREVfQ09OTkVDVE9SX1BBTkVMIG1heSBjcmVhdGUgYW4geGtjZCA5 Mjcgc2l0dWF0aW9uLgo+IEJ1dCB3ZSBzaG91bGQgdGhlbiBkZXByZWNhdGUgX0RQSSwgX0RCSSwg X1NQSSwgX0xWRFMuCgpfREJJIGRvZXNuJ3QgZXhpc3QsIGJ1dCB3ZSBhbHNvIGhhdmUgX2VEUC4K ClRoZSBkaXNjdXNzaW9ucyBvcmlnaW5hdGVkIGZyb20gdGhlIGZhY3QgdGhhdCBhIG51bWJlciBv ZiBkcml2ZXJzCmluY29ycmVjdGx5IHJlcG9ydCB0aGVpciBjb25uZWN0b3IgdHlwZSBmb3IgcGFu ZWxzIHRvZGF5IChpbmNsdWRpbmcKcmVwb3J0aW5nIERSTV9NT0RFX0NPTk5FQ1RPUl9Vbmtub3du KSwgYW5kIHRoZXkgY2FuJ3QgYmUgZml4ZWQgd2l0aG91dCBhCnJpc2sgb3IgYnJlYWtpbmcgdXNl cnNwYWNlLCBlc3BlY2lhbGx5IGFzIHRoZSBjb25uZWN0b3IgdHlwZSBpcyBhbHNvCnVzZWQgdG8g bmFtZSB0aGUgY29ubmVjdG9yIChpdCB3b3VsZCBhdCBsZWFzdCBicmVhayBjb21tYW5kIGxpbmUg bW9kZQpzZXR0aW5nIGFzIHJlcG9ydGVkIGJ5IE5pY29sYXMgRmVycmUpLiBJdCBhbHNvIG1ha2Vz IGl0IGRpZmZpY3VsdCBmb3IgYQpkcml2ZXIgdG8gZXhoaWJpdCB0aGUgcmlnaHQgYmVoYXZpb3Vy IG9uIG5ldyBzeXN0ZW1zICh0aGF0IGRvbid0IG5lZWQgdG8KY2FyZSBhYm91dCBiYWNrd2FyZCBj b21wYXRpYmlsaXR5KSB3aXRob3V0IGJyZWFraW5nIHRoZSBhbHJlYWR5CnN1cHBvcnRlZCBzeXN0 ZW1zLgoKVGhlcmUgd2VyZSBhbHNvIHJlY2VudCBkaXNjdXNzaW9ucyBhYm91dCBhZGRpbmcgYSBf REJJIGNvbm5lY3RvciB0eXBlLAp3aGljaCB3aWxsIGluY3JlYXNlIHRoaXMgbWVzcy4gSSBwb2lu dGVkIG91dCBpbiBhIGZldyBJUkMgZGlzY3Vzc2lvbnMKdGhhdCBJIHRoaW5rIHRoZSBkaWZmZXJl bnQgY29ubmVjdG9yIHR5cGVzIGZvciBwYW5lbHMgd2VyZSBhIG1pc3Rha2UsCmFuZCB0aGF0IHdl IHNob3VsZCBoYXZlIGdvbmUgZm9yIERSTV9NT0RFX0NPTk5FQ1RPUl9QQU5FTCBpbiB0aGUgZmly c3QKcGxhY2UuIEl0J3Mgb2YgY291cnNlIHRvbyBsYXRlIHRvIGZpeCB0aGlzLCBidXQgZ29pbmcg Zm9yd2FyZCwgaW5zdGVhZApvZiBpbnRyb2R1Y2luZyBhIF9EQkkgY29ubmVjdG9yIHR5cGUsIEkg dGhpbmsgd2UnZCBiZSBtdWNoIGJldHRlciBvZmYKd2l0aCBfUEFORUwuCgo+ID4gVXBkYXRlIGFs bCBwYW5lbCBkcml2ZXJzIGFjY29yZGluZ2x5LiBUaGUgcGFuZWwtc2ltcGxlIGRyaXZlciBvbmx5 Cj4gPiBzcGVjaWZpZXMgdGhlIHR5cGUgZm9yIHRoZSBrbm93biB0byBiZSBMVkRTIHBhbmVscywg d2hpbGUgYWxsIG90aGVyCj4gPiBwYW5lbHMgYXJlIGxlZnQgYXMgdW5rbm93biBhbmQgd2lsbCBi ZSBjb252ZXJ0ZWQgb24gYSBjYXNlLWJ5LWNhc2UKPiA+IGJhc2lzIGFzIHRoZXkgYWxsIG5lZWQg dG8gYmUgY2FyZWZ1bGx5IHJldmlld2VkLgo+ID4gCj4gPiBTaWduZWQtb2ZmLWJ5OiBMYXVyZW50 IFBpbmNoYXJ0IDxsYXVyZW50LnBpbmNoYXJ0QGlkZWFzb25ib2FyZC5jb20+Cj4gPiAtLS0KPiA+ IENoYW5nZXMgc2luY2UgdjE6Cj4gPiAKPiA+IC0gUmVuYW1lIHRoZSB0eXBlIGZpZWxkIHRvIGNv bm5lY3Rvcl90eXBlCj4gPiAtIFBhc3MgdGhlIHR5cGUgdG8gdGhlIGRybV9wYW5lbF9pbml0KCkg ZnVuY3Rpb24KPiA+IC0gS2VlcCBjb25uZWN0b3IgdHlwZSBhcyB1bmtub3duIGZvciBub24tTFZE UyBwYW5lbHMgaW4gcGFuZWwtc2ltcGxlCj4gPiAtIEZsYWcgdGhlIHRvc2hpYmFfbHQwODlhYzI5 MDAwIHBhbmVsIGFzIExWRFMgYXMgcmVwb3J0ZWQgYnkgQm9yaXMKPiA+IC0tLQo+ID4gIGRyaXZl cnMvZ3B1L2RybS9kcm1fcGFuZWwuYyAgICAgICAgICAgICAgICAgICB8ICA1ICsrKy0KPiA+ICBk cml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtYXJtLXZlcnNhdGlsZS5jICAgfCAgMyArKy0KPiA+ ICAuLi4vZHJtL3BhbmVsL3BhbmVsLWZlaXlhbmctZnkwNzAyNGRpMjZhMzBkLmMgfCAgMyArKy0K PiA+ICBkcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtaWxpdGVrLWlsaTkzMjIuYyAgfCAgMyAr Ky0KPiA+ICBkcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtaWxpdGVrLWlsaTk4ODFjLmMgfCAg MyArKy0KPiA+ICBkcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtaW5ub2x1eC1wMDc5emNhLmMg fCAgMyArKy0KPiA+ICAuLi4vZ3B1L2RybS9wYW5lbC9wYW5lbC1qZGktbHQwNzBtZTA1MDAwLmMg ICAgfCAgMyArKy0KPiA+ICAuLi4vZHJtL3BhbmVsL3BhbmVsLWtpbmdkaXNwbGF5LWtkMDk3ZDA0 LmMgICAgfCAgMiArLQo+ID4gIGRyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1sZy1sYjAzNXEw Mi5jICAgICB8ICAzICsrLQo+ID4gIGRyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1sZy1sZzQ1 NzMuYyAgICAgICB8ICAzICsrLQo+ID4gIGRyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1sdmRz LmMgICAgICAgICAgICB8ICAzICsrLQo+ID4gIGRyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1u ZWMtbmw4MDQ4aGwxMS5jICB8ICAzICsrLQo+ID4gIGRyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5l bC1ub3ZhdGVrLW50MzkwMTYuYyB8ICAzICsrLQo+ID4gIC4uLi9kcm0vcGFuZWwvcGFuZWwtb2xp bWV4LWxjZC1vbGludXhpbm8uYyAgICB8ICAzICsrLQo+ID4gIC4uLi9ncHUvZHJtL3BhbmVsL3Bh bmVsLW9yaXNldGVjaC1vdG04MDA5YS5jICB8ICAzICsrLQo+ID4gIC4uLi9kcm0vcGFuZWwvcGFu ZWwtb3NkLW9zZDEwMXQyNTg3LTUzdHMuYyAgICB8ICAyICstCj4gPiAgLi4uL2RybS9wYW5lbC9w YW5lbC1wYW5hc29uaWMtdnZ4MTBmMDM0bjAwLmMgIHwgIDIgKy0KPiA+ICAuLi4vZHJtL3BhbmVs L3BhbmVsLXJhc3BiZXJyeXBpLXRvdWNoc2NyZWVuLmMgfCAgMyArKy0KPiA+ICBkcml2ZXJzL2dw dS9kcm0vcGFuZWwvcGFuZWwtcmF5ZGl1bS1ybTY3MTkxLmMgfCAgMyArKy0KPiA+ICBkcml2ZXJz L2dwdS9kcm0vcGFuZWwvcGFuZWwtcmF5ZGl1bS1ybTY4MjAwLmMgfCAgMyArKy0KPiA+ICAuLi4v ZHJtL3BhbmVsL3BhbmVsLXJvY2t0ZWNoLWpoMDU3bjAwOTAwLmMgICAgfCAgMyArKy0KPiA+ICBk cml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtcm9uYm8tcmIwNzBkMzAuYyAgfCAgMyArKy0KPiA+ ICBkcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtc2Ftc3VuZy1sZDkwNDAuYyAgfCAgMyArKy0K PiA+ICBkcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtc2Ftc3VuZy1zNmQxNmQwLmMgfCAgMyAr Ky0KPiA+ICBkcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtc2Ftc3VuZy1zNmUzaGEyLmMgfCAg MyArKy0KPiA+ICAuLi4vZ3B1L2RybS9wYW5lbC9wYW5lbC1zYW1zdW5nLXM2ZTYzajB4MDMuYyAg fCAgMyArKy0KPiA+ICBkcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtc2Ftc3VuZy1zNmU2M20w LmMgfCAgMyArKy0KPiA+ICBkcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtc2Ftc3VuZy1zNmU4 YWEwLmMgfCAgMyArKy0KPiA+ICBkcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtc2Vpa28tNDN3 dmYxZy5jICAgfCAgMyArKy0KPiA+ICAuLi4vZ3B1L2RybS9wYW5lbC9wYW5lbC1zaGFycC1scTEw MXIxc3gwMS5jICAgfCAgMyArKy0KPiA+ICAuLi4vZ3B1L2RybS9wYW5lbC9wYW5lbC1zaGFycC1s czAzN3Y3ZHcwMS5jICAgfCAgMyArKy0KPiA+ICAuLi4vZ3B1L2RybS9wYW5lbC9wYW5lbC1zaGFy cC1sczA0M3QxbGUwMS5jICAgfCAgMiArLQo+ID4gIGRyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5l bC1zaW1wbGUuYyAgICAgICAgICB8IDI2ICsrKysrKysrKysrKysrKysrKy0KPiA+ICBkcml2ZXJz L2dwdS9kcm0vcGFuZWwvcGFuZWwtc2l0cm9uaXgtc3Q3NzAxLmMgfCAgMyArKy0KPiA+ICAuLi4v Z3B1L2RybS9wYW5lbC9wYW5lbC1zaXRyb25peC1zdDc3ODl2LmMgICAgfCAgMyArKy0KPiA+ICBk cml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtc29ueS1hY3g1NjVha20uYyAgfCAgMyArKy0KPiA+ ICBkcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtdHBvLXRkMDI4dHRlYzEuYyAgfCAgMyArKy0K PiA+ICBkcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtdHBvLXRkMDQzbXRlYTEuYyAgfCAgMyAr Ky0KPiA+ICBkcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtdHBvLXRwZzExMC5jICAgICAgfCAg MyArKy0KPiA+ICBkcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtdHJ1bHktbnQzNTU5Ny5jICAg fCAgMyArKy0KPiA+ICBpbmNsdWRlL2RybS9kcm1fcGFuZWwuaCAgICAgICAgICAgICAgICAgICAg ICAgfCAxMiArKysrKysrKy0KPiA+ICA0MSBmaWxlcyBjaGFuZ2VkLCAxMTIgaW5zZXJ0aW9ucygr KSwgNDEgZGVsZXRpb25zKC0pCj4gPiAKPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v ZHJtX3BhbmVsLmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX3BhbmVsLmMKPiA+IGluZGV4IGJhMmZh ZDRjOTY0OC4uZWQ3OTg1YzA1MzVhIDEwMDY0NAo+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2Ry bV9wYW5lbC5jCj4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX3BhbmVsLmMKPiA+IEBAIC00 NiwxNiArNDYsMTkgQEAgc3RhdGljIExJU1RfSEVBRChwYW5lbF9saXN0KTsKPiA+ICAgKiBAcGFu ZWw6IERSTSBwYW5lbAo+ID4gICAqIEBkZXY6IHBhcmVudCBkZXZpY2Ugb2YgdGhlIHBhbmVsCj4g PiAgICogQGZ1bmNzOiBwYW5lbCBvcGVyYXRpb25zCj4gPiArICogQGNvbm5lY3Rvcl90eXBlOiB0 aGUgY29ubmVjdG9yIHR5cGUgKERSTV9NT0RFX0NPTk5FQ1RPUl8qKSBjb3JyZXNwb25kaW5nIHRv Cj4gPiArICoJdGhlIHBhbmVsIGludGVyZmFjZQo+ID4gICAqCj4gPiAgICogSW5pdGlhbGl6ZSB0 aGUgcGFuZWwgc3RydWN0dXJlIGZvciBzdWJzZXF1ZW50IHJlZ2lzdHJhdGlvbiB3aXRoCj4gPiAg ICogZHJtX3BhbmVsX2FkZCgpLgo+ID4gICAqLwo+ID4gIHZvaWQgZHJtX3BhbmVsX2luaXQoc3Ry dWN0IGRybV9wYW5lbCAqcGFuZWwsIHN0cnVjdCBkZXZpY2UgKmRldiwKPiA+IC0JCSAgICBjb25z dCBzdHJ1Y3QgZHJtX3BhbmVsX2Z1bmNzICpmdW5jcykKPiA+ICsJCSAgICBjb25zdCBzdHJ1Y3Qg ZHJtX3BhbmVsX2Z1bmNzICpmdW5jcywgaW50IGNvbm5lY3Rvcl90eXBlKQo+ID4gIHsKPiA+ICAJ SU5JVF9MSVNUX0hFQUQoJnBhbmVsLT5saXN0KTsKPiA+ICAJcGFuZWwtPmRldiA9IGRldjsKPiA+ ICAJcGFuZWwtPmZ1bmNzID0gZnVuY3M7Cj4gPiArCXBhbmVsLT5jb25uZWN0b3JfdHlwZSA9IGNv bm5lY3Rvcl90eXBlOwo+ID4gIH0KPiA+ICBFWFBPUlRfU1lNQk9MKGRybV9wYW5lbF9pbml0KTsK PiA+ICAKPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtYXJtLXZl cnNhdGlsZS5jIGIvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLWFybS12ZXJzYXRpbGUuYwo+ ID4gaW5kZXggYTQzMzNlZDBmMjBjLi5hMDU3NGRjMDNlMTYgMTAwNjQ0Cj4gPiAtLS0gYS9kcml2 ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtYXJtLXZlcnNhdGlsZS5jCj4gPiArKysgYi9kcml2ZXJz L2dwdS9kcm0vcGFuZWwvcGFuZWwtYXJtLXZlcnNhdGlsZS5jCj4gPiBAQCAtMzUwLDcgKzM1MCw4 IEBAIHN0YXRpYyBpbnQgdmVyc2F0aWxlX3BhbmVsX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZp Y2UgKnBkZXYpCj4gPiAgCQkJZGV2X2luZm8oZGV2LCAicGFuZWwgbW91bnRlZCBvbiBJQjIgZGF1 Z2h0ZXJib2FyZFxuIik7Cj4gPiAgCX0KPiA+ICAKPiA+IC0JZHJtX3BhbmVsX2luaXQoJnZwYW5l bC0+cGFuZWwsIGRldiwgJnZlcnNhdGlsZV9wYW5lbF9kcm1fZnVuY3MpOwo+ID4gKwlkcm1fcGFu ZWxfaW5pdCgmdnBhbmVsLT5wYW5lbCwgZGV2LCAmdmVyc2F0aWxlX3BhbmVsX2RybV9mdW5jcywK PiA+ICsJCSAgICAgICBEUk1fTU9ERV9DT05ORUNUT1JfRFBJKTsKPiA+ICAKPiA+ICAJcmV0dXJu IGRybV9wYW5lbF9hZGQoJnZwYW5lbC0+cGFuZWwpOwo+ID4gIH0KPiA+IGRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtZmVpeWFuZy1meTA3MDI0ZGkyNmEzMGQuYyBiL2Ry aXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1mZWl5YW5nLWZ5MDcwMjRkaTI2YTMwZC5jCj4gPiBp bmRleCA3ZDVkNzQ1NWJjMDEuLjk4ZjE4NGI4MTE4NyAxMDA2NDQKPiA+IC0tLSBhL2RyaXZlcnMv Z3B1L2RybS9wYW5lbC9wYW5lbC1mZWl5YW5nLWZ5MDcwMjRkaTI2YTMwZC5jCj4gPiArKysgYi9k cml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtZmVpeWFuZy1meTA3MDI0ZGkyNmEzMGQuYwo+ID4g QEAgLTIwNCw3ICsyMDQsOCBAQCBzdGF0aWMgaW50IGZlaXlhbmdfZHNpX3Byb2JlKHN0cnVjdCBt aXBpX2RzaV9kZXZpY2UgKmRzaSkKPiA+ICAJbWlwaV9kc2lfc2V0X2RydmRhdGEoZHNpLCBjdHgp Owo+ID4gIAljdHgtPmRzaSA9IGRzaTsKPiA+ICAKPiA+IC0JZHJtX3BhbmVsX2luaXQoJmN0eC0+ cGFuZWwsICZkc2ktPmRldiwgJmZlaXlhbmdfZnVuY3MpOwo+ID4gKwlkcm1fcGFuZWxfaW5pdCgm Y3R4LT5wYW5lbCwgJmRzaS0+ZGV2LCAmZmVpeWFuZ19mdW5jcywKPiA+ICsJCSAgICAgICBEUk1f TU9ERV9DT05ORUNUT1JfRFNJKTsKPiA+ICAKPiA+ICAJY3R4LT5kdmRkID0gZGV2bV9yZWd1bGF0 b3JfZ2V0KCZkc2ktPmRldiwgImR2ZGQiKTsKPiA+ICAJaWYgKElTX0VSUihjdHgtPmR2ZGQpKSB7 Cj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLWlsaXRlay1pbGk5 MzIyLmMgYi9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtaWxpdGVrLWlsaTkzMjIuYwo+ID4g aW5kZXggYWQyNDA1YmFhMGFjLi4yNDk1NWJlYzE5NTggMTAwNjQ0Cj4gPiAtLS0gYS9kcml2ZXJz L2dwdS9kcm0vcGFuZWwvcGFuZWwtaWxpdGVrLWlsaTkzMjIuYwo+ID4gKysrIGIvZHJpdmVycy9n cHUvZHJtL3BhbmVsL3BhbmVsLWlsaXRlay1pbGk5MzIyLmMKPiA+IEBAIC04OTUsNyArODk1LDgg QEAgc3RhdGljIGludCBpbGk5MzIyX3Byb2JlKHN0cnVjdCBzcGlfZGV2aWNlICpzcGkpCj4gPiAg CQlpbGktPmlucHV0ID0gaWxpLT5jb25mLT5pbnB1dDsKPiA+ICAJfQo+ID4gIAo+ID4gLQlkcm1f cGFuZWxfaW5pdCgmaWxpLT5wYW5lbCwgZGV2LCAmaWxpOTMyMl9kcm1fZnVuY3MpOwo+ID4gKwlk cm1fcGFuZWxfaW5pdCgmaWxpLT5wYW5lbCwgZGV2LCAmaWxpOTMyMl9kcm1fZnVuY3MsCj4gPiAr CQkgICAgICAgRFJNX01PREVfQ09OTkVDVE9SX0RQSSk7Cj4gPiAgCj4gPiAgCXJldHVybiBkcm1f cGFuZWxfYWRkKCZpbGktPnBhbmVsKTsKPiA+ICB9Cj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL3BhbmVsL3BhbmVsLWlsaXRlay1pbGk5ODgxYy5jIGIvZHJpdmVycy9ncHUvZHJtL3Bh bmVsL3BhbmVsLWlsaXRlay1pbGk5ODgxYy5jCj4gPiBpbmRleCAxZDcxNGY5NjFjMDAuLmU4Nzg5 ZTQ2MGExNiAxMDA2NDQKPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1pbGl0 ZWstaWxpOTg4MWMuYwo+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLWlsaXRl ay1pbGk5ODgxYy5jCj4gPiBAQCAtNDMzLDcgKzQzMyw4IEBAIHN0YXRpYyBpbnQgaWxpOTg4MWNf ZHNpX3Byb2JlKHN0cnVjdCBtaXBpX2RzaV9kZXZpY2UgKmRzaSkKPiA+ICAJbWlwaV9kc2lfc2V0 X2RydmRhdGEoZHNpLCBjdHgpOwo+ID4gIAljdHgtPmRzaSA9IGRzaTsKPiA+ICAKPiA+IC0JZHJt X3BhbmVsX2luaXQoJmN0eC0+cGFuZWwsICZkc2ktPmRldiwgJmlsaTk4ODFjX2Z1bmNzKTsKPiA+ ICsJZHJtX3BhbmVsX2luaXQoJmN0eC0+cGFuZWwsICZkc2ktPmRldiwgJmlsaTk4ODFjX2Z1bmNz LAo+ID4gKwkJICAgICAgIERSTV9NT0RFX0NPTk5FQ1RPUl9EU0kpOwo+ID4gIAo+ID4gIAljdHgt PnBvd2VyID0gZGV2bV9yZWd1bGF0b3JfZ2V0KCZkc2ktPmRldiwgInBvd2VyIik7Cj4gPiAgCWlm IChJU19FUlIoY3R4LT5wb3dlcikpIHsKPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v cGFuZWwvcGFuZWwtaW5ub2x1eC1wMDc5emNhLmMgYi9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFu ZWwtaW5ub2x1eC1wMDc5emNhLmMKPiA+IGluZGV4IDIwNTRhZmMzMWYyMC4uNDZiZmViOTgyYjA2 IDEwMDY0NAo+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLWlubm9sdXgtcDA3 OXpjYS5jCj4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtaW5ub2x1eC1wMDc5 emNhLmMKPiA+IEBAIC00ODcsNyArNDg3LDggQEAgc3RhdGljIGludCBpbm5vbHV4X3BhbmVsX2Fk ZChzdHJ1Y3QgbWlwaV9kc2lfZGV2aWNlICpkc2ksCj4gPiAgCWlmIChJU19FUlIoaW5ub2x1eC0+ YmFja2xpZ2h0KSkKPiA+ICAJCXJldHVybiBQVFJfRVJSKGlubm9sdXgtPmJhY2tsaWdodCk7Cj4g PiAgCj4gPiAtCWRybV9wYW5lbF9pbml0KCZpbm5vbHV4LT5iYXNlLCBkZXYsICZpbm5vbHV4X3Bh bmVsX2Z1bmNzKTsKPiA+ICsJZHJtX3BhbmVsX2luaXQoJmlubm9sdXgtPmJhc2UsIGRldiwgJmlu bm9sdXhfcGFuZWxfZnVuY3MKPiA+ICsJCSAgICAgICBEUk1fTU9ERV9DT05ORUNUT1JfRFNJKTsK PiA+ICAKPiA+ICAJZXJyID0gZHJtX3BhbmVsX2FkZCgmaW5ub2x1eC0+YmFzZSk7Cj4gPiAgCWlm IChlcnIgPCAwKQo+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1q ZGktbHQwNzBtZTA1MDAwLmMgYi9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtamRpLWx0MDcw bWUwNTAwMC5jCj4gPiBpbmRleCA3YmZkYmZiYzg2OGUuLjU2MzY0YTkzZjBiOCAxMDA2NDQKPiA+ IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1qZGktbHQwNzBtZTA1MDAwLmMKPiA+ ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1qZGktbHQwNzBtZTA1MDAwLmMKPiA+ IEBAIC00MzcsNyArNDM3LDggQEAgc3RhdGljIGludCBqZGlfcGFuZWxfYWRkKHN0cnVjdCBqZGlf cGFuZWwgKmpkaSkKPiA+ICAJCXJldHVybiByZXQ7Cj4gPiAgCX0KPiA+ICAKPiA+IC0JZHJtX3Bh bmVsX2luaXQoJmpkaS0+YmFzZSwgJmpkaS0+ZHNpLT5kZXYsICZqZGlfcGFuZWxfZnVuY3MpOwo+ ID4gKwlkcm1fcGFuZWxfaW5pdCgmamRpLT5iYXNlLCAmamRpLT5kc2ktPmRldiwgJmpkaV9wYW5l bF9mdW5jcywKPiA+ICsJCSAgICAgICBEUk1fTU9ERV9DT05ORUNUT1JfRFNJKTsKPiA+ICAKPiA+ ICAJcmV0ID0gZHJtX3BhbmVsX2FkZCgmamRpLT5iYXNlKTsKPiA+ICAKPiA+IGRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwta2luZ2Rpc3BsYXkta2QwOTdkMDQuYyBiL2Ry aXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1raW5nZGlzcGxheS1rZDA5N2QwNC5jCj4gPiBpbmRl eCBhNDc4ODVhMWE4YWEuLjQ1Zjk2NTU2ZWM4YyAxMDA2NDQKPiA+IC0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9wYW5lbC9wYW5lbC1raW5nZGlzcGxheS1rZDA5N2QwNC5jCj4gPiArKysgYi9kcml2ZXJz L2dwdS9kcm0vcGFuZWwvcGFuZWwta2luZ2Rpc3BsYXkta2QwOTdkMDQuYwo+ID4gQEAgLTM5Miw3 ICszOTIsNyBAQCBzdGF0aWMgaW50IGtpbmdkaXNwbGF5X3BhbmVsX2FkZChzdHJ1Y3Qga2luZ2Rp c3BsYXlfcGFuZWwgKmtpbmdkaXNwbGF5KQo+ID4gIAkJcmV0dXJuIFBUUl9FUlIoa2luZ2Rpc3Bs YXktPmJhY2tsaWdodCk7Cj4gPiAgCj4gPiAgCWRybV9wYW5lbF9pbml0KCZraW5nZGlzcGxheS0+ YmFzZSwgJmtpbmdkaXNwbGF5LT5saW5rLT5kZXYsCj4gPiAtCQkgICAgICAgJmtpbmdkaXNwbGF5 X3BhbmVsX2Z1bmNzKTsKPiA+ICsJCSAgICAgICAma2luZ2Rpc3BsYXlfcGFuZWxfZnVuY3MsIERS TV9NT0RFX0NPTk5FQ1RPUl9EU0kpOwo+ID4gIAo+ID4gIAlyZXR1cm4gZHJtX3BhbmVsX2FkZCgm a2luZ2Rpc3BsYXktPmJhc2UpOwo+ID4gIH0KPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vcGFuZWwvcGFuZWwtbGctbGIwMzVxMDIuYyBiL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5l bC1sZy1sYjAzNXEwMi5jCj4gPiBpbmRleCAyOGMzMjA1ZGY0ODIuLmY5ODRhNTE4OWZiZiAxMDA2 NDQKPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1sZy1sYjAzNXEwMi5jCj4g PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtbGctbGIwMzVxMDIuYwo+ID4gQEAg LTE5Niw3ICsxOTYsOCBAQCBzdGF0aWMgaW50IGxiMDM1cTAyX3Byb2JlKHN0cnVjdCBzcGlfZGV2 aWNlICpzcGkpCj4gPiAgCWlmIChyZXQgPCAwKQo+ID4gIAkJcmV0dXJuIHJldDsKPiA+ICAKPiA+ IC0JZHJtX3BhbmVsX2luaXQoJmxjZC0+cGFuZWwsICZsY2QtPnNwaS0+ZGV2LCAmbGIwMzVxMDJf ZnVuY3MpOwo+ID4gKwlkcm1fcGFuZWxfaW5pdCgmbGNkLT5wYW5lbCwgJmxjZC0+c3BpLT5kZXYs ICZsYjAzNXEwMl9mdW5jcywKPiA+ICsJCSAgICAgICBEUk1fTU9ERV9DT05ORUNUT1JfRFBJKTsK PiA+ICAKPiA+ICAJcmV0dXJuIGRybV9wYW5lbF9hZGQoJmxjZC0+cGFuZWwpOwo+ID4gIH0KPiA+ IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtbGctbGc0NTczLmMgYi9k cml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtbGctbGc0NTczLmMKPiA+IGluZGV4IDYwOGYyZGU5 MTY2Mi4uZGI0ODY1YTRjMmI5IDEwMDY0NAo+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3BhbmVs L3BhbmVsLWxnLWxnNDU3My5jCj4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwt bGctbGc0NTczLmMKPiA+IEBAIC0yNTksNyArMjU5LDggQEAgc3RhdGljIGludCBsZzQ1NzNfcHJv YmUoc3RydWN0IHNwaV9kZXZpY2UgKnNwaSkKPiA+ICAJCXJldHVybiByZXQ7Cj4gPiAgCX0KPiA+ ICAKPiA+IC0JZHJtX3BhbmVsX2luaXQoJmN0eC0+cGFuZWwsICZzcGktPmRldiwgJmxnNDU3M19k cm1fZnVuY3MpOwo+ID4gKwlkcm1fcGFuZWxfaW5pdCgmY3R4LT5wYW5lbCwgJnNwaS0+ZGV2LCAm bGc0NTczX2RybV9mdW5jcywKPiA+ICsJCSAgICAgICBEUk1fTU9ERV9DT05ORUNUT1JfRFBJKTsK PiA+ICAKPiA+ICAJcmV0dXJuIGRybV9wYW5lbF9hZGQoJmN0eC0+cGFuZWwpOwo+ID4gIH0KPiA+ IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtbHZkcy5jIGIvZHJpdmVy cy9ncHUvZHJtL3BhbmVsL3BhbmVsLWx2ZHMuYwo+ID4gaW5kZXggM2RjMWFjMmE2YjAzLi5jYWIz ZmI0MTc3ZTMgMTAwNjQ0Cj4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtbHZk cy5jCj4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtbHZkcy5jCj4gPiBAQCAt MjYwLDcgKzI2MCw4IEBAIHN0YXRpYyBpbnQgcGFuZWxfbHZkc19wcm9iZShzdHJ1Y3QgcGxhdGZv cm1fZGV2aWNlICpwZGV2KQo+ID4gIAkgKi8KPiA+ICAKPiA+ICAJLyogUmVnaXN0ZXIgdGhlIHBh bmVsLiAqLwo+ID4gLQlkcm1fcGFuZWxfaW5pdCgmbHZkcy0+cGFuZWwsIGx2ZHMtPmRldiwgJnBh bmVsX2x2ZHNfZnVuY3MpOwo+ID4gKwlkcm1fcGFuZWxfaW5pdCgmbHZkcy0+cGFuZWwsIGx2ZHMt PmRldiwgJnBhbmVsX2x2ZHNfZnVuY3MsCj4gPiArCQkgICAgICAgRFJNX01PREVfQ09OTkVDVE9S X0xWRFMpOwo+ID4gIAo+ID4gIAlyZXQgPSBkcm1fcGFuZWxfYWRkKCZsdmRzLT5wYW5lbCk7Cj4g PiAgCWlmIChyZXQgPCAwKQo+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9w YW5lbC1uZWMtbmw4MDQ4aGwxMS5jIGIvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLW5lYy1u bDgwNDhobDExLmMKPiA+IGluZGV4IGI2NzYzNmZkYmMyMS4uYzRiYzdmYTg1ZmFkIDEwMDY0NAo+ ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLW5lYy1ubDgwNDhobDExLmMKPiA+ ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1uZWMtbmw4MDQ4aGwxMS5jCj4gPiBA QCAtMjA1LDcgKzIwNSw4IEBAIHN0YXRpYyBpbnQgbmw4MDQ4X3Byb2JlKHN0cnVjdCBzcGlfZGV2 aWNlICpzcGkpCj4gPiAgCWlmIChyZXQgPCAwKQo+ID4gIAkJcmV0dXJuIHJldDsKPiA+ICAKPiA+ IC0JZHJtX3BhbmVsX2luaXQoJmxjZC0+cGFuZWwsICZsY2QtPnNwaS0+ZGV2LCAmbmw4MDQ4X2Z1 bmNzKTsKPiA+ICsJZHJtX3BhbmVsX2luaXQoJmxjZC0+cGFuZWwsICZsY2QtPnNwaS0+ZGV2LCAm bmw4MDQ4X2Z1bmNzLAo+ID4gKwkJICAgICAgIERSTV9NT0RFX0NPTk5FQ1RPUl9EUEkpOwo+ID4g IAo+ID4gIAlyZXR1cm4gZHJtX3BhbmVsX2FkZCgmbGNkLT5wYW5lbCk7Cj4gPiAgfQo+ID4gZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1ub3ZhdGVrLW50MzkwMTYuYyBi L2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1ub3ZhdGVrLW50MzkwMTYuYwo+ID4gaW5kZXgg NjRjZmUxMTFhYWFkLi42MGNjZWRjZTUzMGMgMTAwNjQ0Cj4gPiAtLS0gYS9kcml2ZXJzL2dwdS9k cm0vcGFuZWwvcGFuZWwtbm92YXRlay1udDM5MDE2LmMKPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9wYW5lbC9wYW5lbC1ub3ZhdGVrLW50MzkwMTYuYwo+ID4gQEAgLTI5Miw3ICsyOTIsOCBAQCBz dGF0aWMgaW50IG50MzkwMTZfcHJvYmUoc3RydWN0IHNwaV9kZXZpY2UgKnNwaSkKPiA+ICAJCXJl dHVybiBlcnI7Cj4gPiAgCX0KPiA+ICAKPiA+IC0JZHJtX3BhbmVsX2luaXQoJnBhbmVsLT5kcm1f cGFuZWwsIGRldiwgJm50MzkwMTZfZnVuY3MpOwo+ID4gKwlkcm1fcGFuZWxfaW5pdCgmcGFuZWwt PmRybV9wYW5lbCwgZGV2LCAmbnQzOTAxNl9mdW5jcywKPiA+ICsJCSAgICAgICBEUk1fTU9ERV9D T05ORUNUT1JfRFBJKTsKPiA+ICAKPiA+ICAJZXJyID0gZHJtX3BhbmVsX2FkZCgmcGFuZWwtPmRy bV9wYW5lbCk7Cj4gPiAgCWlmIChlcnIgPCAwKSB7Cj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL3BhbmVsL3BhbmVsLW9saW1leC1sY2Qtb2xpbnV4aW5vLmMgYi9kcml2ZXJzL2dwdS9k cm0vcGFuZWwvcGFuZWwtb2xpbWV4LWxjZC1vbGludXhpbm8uYwo+ID4gaW5kZXggZjJkNmE0ZWMw MDQ2Li5mMmE3MmVlNmVlMDcgMTAwNjQ0Cj4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vcGFuZWwv cGFuZWwtb2xpbWV4LWxjZC1vbGludXhpbm8uYwo+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3Bh bmVsL3BhbmVsLW9saW1leC1sY2Qtb2xpbnV4aW5vLmMKPiA+IEBAIC0yODgsNyArMjg4LDggQEAg c3RhdGljIGludCBsY2Rfb2xpbnV4aW5vX3Byb2JlKHN0cnVjdCBpMmNfY2xpZW50ICpjbGllbnQs Cj4gPiAgCWlmIChJU19FUlIobGNkLT5iYWNrbGlnaHQpKQo+ID4gIAkJcmV0dXJuIFBUUl9FUlIo bGNkLT5iYWNrbGlnaHQpOwo+ID4gIAo+ID4gLQlkcm1fcGFuZWxfaW5pdCgmbGNkLT5wYW5lbCwg ZGV2LCAmbGNkX29saW51eGlub19mdW5jcyk7Cj4gPiArCWRybV9wYW5lbF9pbml0KCZsY2QtPnBh bmVsLCBkZXYsICZsY2Rfb2xpbnV4aW5vX2Z1bmNzLAo+ID4gKwkJICAgICAgIERSTV9NT0RFX0NP Tk5FQ1RPUl9EUEkpOwo+ID4gIAo+ID4gIAlyZXR1cm4gZHJtX3BhbmVsX2FkZCgmbGNkLT5wYW5l bCk7Cj4gPiAgfQo+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1v cmlzZXRlY2gtb3RtODAwOWEuYyBiL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1vcmlzZXRl Y2gtb3RtODAwOWEuYwo+ID4gaW5kZXggOGI2MGQ1ZTRkNzc1Li5iZjFmOTI4YjIxNWYgMTAwNjQ0 Cj4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtb3Jpc2V0ZWNoLW90bTgwMDlh LmMKPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1vcmlzZXRlY2gtb3RtODAw OWEuYwo+ID4gQEAgLTQ1NSw3ICs0NTUsOCBAQCBzdGF0aWMgaW50IG90bTgwMDlhX3Byb2JlKHN0 cnVjdCBtaXBpX2RzaV9kZXZpY2UgKmRzaSkKPiA+ICAJZHNpLT5tb2RlX2ZsYWdzID0gTUlQSV9E U0lfTU9ERV9WSURFTyB8IE1JUElfRFNJX01PREVfVklERU9fQlVSU1QgfAo+ID4gIAkJCSAgTUlQ SV9EU0lfTU9ERV9MUE07Cj4gPiAgCj4gPiAtCWRybV9wYW5lbF9pbml0KCZjdHgtPnBhbmVsLCBk ZXYsICZvdG04MDA5YV9kcm1fZnVuY3MpOwo+ID4gKwlkcm1fcGFuZWxfaW5pdCgmY3R4LT5wYW5l bCwgZGV2LCAmb3RtODAwOWFfZHJtX2Z1bmNzLAo+ID4gKwkJICAgICAgIERSTV9NT0RFX0NPTk5F Q1RPUl9EU0kpOwo+ID4gIAo+ID4gIAljdHgtPmJsX2RldiA9IGRldm1fYmFja2xpZ2h0X2Rldmlj ZV9yZWdpc3RlcihkZXYsIGRldl9uYW1lKGRldiksCj4gPiAgCQkJCQkJICAgICBkc2ktPmhvc3Qt PmRldiwgY3R4LAo+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1v c2Qtb3NkMTAxdDI1ODctNTN0cy5jIGIvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLW9zZC1v c2QxMDF0MjU4Ny01M3RzLmMKPiA+IGluZGV4IDM4ZjExNGIwM2I4OS4uMmI0MDkxMzg5OWQ4IDEw MDY0NAo+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLW9zZC1vc2QxMDF0MjU4 Ny01M3RzLmMKPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1vc2Qtb3NkMTAx dDI1ODctNTN0cy5jCj4gPiBAQCAtMTY3LDcgKzE2Nyw3IEBAIHN0YXRpYyBpbnQgb3NkMTAxdDI1 ODdfcGFuZWxfYWRkKHN0cnVjdCBvc2QxMDF0MjU4N19wYW5lbCAqb3NkMTAxdDI1ODcpCj4gPiAg CQlyZXR1cm4gUFRSX0VSUihvc2QxMDF0MjU4Ny0+YmFja2xpZ2h0KTsKPiA+ICAKPiA+ICAJZHJt X3BhbmVsX2luaXQoJm9zZDEwMXQyNTg3LT5iYXNlLCAmb3NkMTAxdDI1ODctPmRzaS0+ZGV2LAo+ ID4gLQkJICAgICAgICZvc2QxMDF0MjU4N19wYW5lbF9mdW5jcyk7Cj4gPiArCQkgICAgICAgJm9z ZDEwMXQyNTg3X3BhbmVsX2Z1bmNzLCBEUk1fTU9ERV9DT05ORUNUT1JfRFNJKTsKPiA+ICAKPiA+ ICAJcmV0dXJuIGRybV9wYW5lbF9hZGQoJm9zZDEwMXQyNTg3LT5iYXNlKTsKPiA+ICB9Cj4gPiBk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLXBhbmFzb25pYy12dngxMGYw MzRuMDAuYyBiL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1wYW5hc29uaWMtdnZ4MTBmMDM0 bjAwLmMKPiA+IGluZGV4IDYwMzViZjQ1ODA3NC4uNjY0NjA1MDcxZDM0IDEwMDY0NAo+ID4gLS0t IGEvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLXBhbmFzb25pYy12dngxMGYwMzRuMDAuYwo+ ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLXBhbmFzb25pYy12dngxMGYwMzRu MDAuYwo+ID4gQEAgLTIyNCw3ICsyMjQsNyBAQCBzdGF0aWMgaW50IHd1eGdhX250X3BhbmVsX2Fk ZChzdHJ1Y3Qgd3V4Z2FfbnRfcGFuZWwgKnd1eGdhX250KQo+ID4gIAl9Cj4gPiAgCj4gPiAgCWRy bV9wYW5lbF9pbml0KCZ3dXhnYV9udC0+YmFzZSwgJnd1eGdhX250LT5kc2ktPmRldiwKPiA+IC0J CSAgICAgICAmd3V4Z2FfbnRfcGFuZWxfZnVuY3MpOwo+ID4gKwkJICAgICAgICZ3dXhnYV9udF9w YW5lbF9mdW5jcywgRFJNX01PREVfQ09OTkVDVE9SX0RTSSk7Cj4gPiAgCj4gPiAgCXJldCA9IGRy bV9wYW5lbF9hZGQoJnd1eGdhX250LT5iYXNlKTsKPiA+ICAJaWYgKHJldCA8IDApCj4gPiBkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLXJhc3BiZXJyeXBpLXRvdWNoc2Ny ZWVuLmMgYi9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtcmFzcGJlcnJ5cGktdG91Y2hzY3Jl ZW4uYwo+ID4gaW5kZXggMjNhODAxNDI3ZTQyLi4wOTgyNGU5MmZjNzggMTAwNjQ0Cj4gPiAtLS0g YS9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtcmFzcGJlcnJ5cGktdG91Y2hzY3JlZW4uYwo+ ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLXJhc3BiZXJyeXBpLXRvdWNoc2Ny ZWVuLmMKPiA+IEBAIC00MjYsNyArNDI2LDggQEAgc3RhdGljIGludCBycGlfdG91Y2hzY3JlZW5f cHJvYmUoc3RydWN0IGkyY19jbGllbnQgKmkyYywKPiA+ICAJCXJldHVybiBQVFJfRVJSKHRzLT5k c2kpOwo+ID4gIAl9Cj4gPiAgCj4gPiAtCWRybV9wYW5lbF9pbml0KCZ0cy0+YmFzZSwgZGV2LCAm cnBpX3RvdWNoc2NyZWVuX2Z1bmNzKTsKPiA+ICsJZHJtX3BhbmVsX2luaXQoJnRzLT5iYXNlLCBk ZXYsICZycGlfdG91Y2hzY3JlZW5fZnVuY3MsCj4gPiArCQkgICAgICAgRFJNX01PREVfQ09OTkVD VE9SX0RTSSk7Cj4gPiAgCj4gPiAgCS8qIFRoaXMgYXBwZWFycyBsYXN0LCBhcyBpdCdzIHdoYXQg d2lsbCB1bmJsb2NrIHRoZSBEU0kgaG9zdAo+ID4gIAkgKiBkcml2ZXIncyBjb21wb25lbnQgYmlu ZCBmdW5jdGlvbi4KPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwt cmF5ZGl1bS1ybTY3MTkxLmMgYi9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtcmF5ZGl1bS1y bTY3MTkxLmMKPiA+IGluZGV4IGY4MmExZjY5ZjEzYi4uZmQ2N2ZjNjE4NWM0IDEwMDY0NAo+ID4g LS0tIGEvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLXJheWRpdW0tcm02NzE5MS5jCj4gPiAr KysgYi9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtcmF5ZGl1bS1ybTY3MTkxLmMKPiA+IEBA IC02MDYsNyArNjA2LDggQEAgc3RhdGljIGludCByYWRfcGFuZWxfcHJvYmUoc3RydWN0IG1pcGlf ZHNpX2RldmljZSAqZHNpKQo+ID4gIAlpZiAocmV0KQo+ID4gIAkJcmV0dXJuIHJldDsKPiA+ICAK PiA+IC0JZHJtX3BhbmVsX2luaXQoJnBhbmVsLT5wYW5lbCwgZGV2LCAmcmFkX3BhbmVsX2Z1bmNz KTsKPiA+ICsJZHJtX3BhbmVsX2luaXQoJnBhbmVsLT5wYW5lbCwgZGV2LCAmcmFkX3BhbmVsX2Z1 bmNzLAo+ID4gKwkJICAgICAgIERSTV9NT0RFX0NPTk5FQ1RPUl9EU0kpOwo+ID4gIAlkZXZfc2V0 X2RydmRhdGEoZGV2LCBwYW5lbCk7Cj4gPiAgCj4gPiAgCXJldCA9IGRybV9wYW5lbF9hZGQoJnBh bmVsLT5wYW5lbCk7Cj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVs LXJheWRpdW0tcm02ODIwMC5jIGIvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLXJheWRpdW0t cm02ODIwMC5jCj4gPiBpbmRleCBmMDA0Yjc4ZmI4YmMuLjk5NGU4NTU3MjFmNCAxMDA2NDQKPiA+ IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1yYXlkaXVtLXJtNjgyMDAuYwo+ID4g KysrIGIvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLXJheWRpdW0tcm02ODIwMC5jCj4gPiBA QCAtNDA0LDcgKzQwNCw4IEBAIHN0YXRpYyBpbnQgcm02ODIwMF9wcm9iZShzdHJ1Y3QgbWlwaV9k c2lfZGV2aWNlICpkc2kpCj4gPiAgCWRzaS0+bW9kZV9mbGFncyA9IE1JUElfRFNJX01PREVfVklE RU8gfCBNSVBJX0RTSV9NT0RFX1ZJREVPX0JVUlNUIHwKPiA+ICAJCQkgIE1JUElfRFNJX01PREVf TFBNOwo+ID4gIAo+ID4gLQlkcm1fcGFuZWxfaW5pdCgmY3R4LT5wYW5lbCwgZGV2LCAmcm02ODIw MF9kcm1fZnVuY3MpOwo+ID4gKwlkcm1fcGFuZWxfaW5pdCgmY3R4LT5wYW5lbCwgZGV2LCAmcm02 ODIwMF9kcm1fZnVuY3MsCj4gPiArCQkgICAgICAgRFJNX01PREVfQ09OTkVDVE9SX0RTSSk7Cj4g PiAgCj4gPiAgCWRybV9wYW5lbF9hZGQoJmN0eC0+cGFuZWwpOwo+ID4gIAo+ID4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1yb2NrdGVjaC1qaDA1N24wMDkwMC5jIGIv ZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLXJvY2t0ZWNoLWpoMDU3bjAwOTAwLmMKPiA+IGlu ZGV4IGQ3ZjU2Mzc0ZjJmMS4uMzEyMzRiNzlkM2IxIDEwMDY0NAo+ID4gLS0tIGEvZHJpdmVycy9n cHUvZHJtL3BhbmVsL3BhbmVsLXJvY2t0ZWNoLWpoMDU3bjAwOTAwLmMKPiA+ICsrKyBiL2RyaXZl cnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1yb2NrdGVjaC1qaDA1N24wMDkwMC5jCj4gPiBAQCAtMzQz LDcgKzM0Myw4IEBAIHN0YXRpYyBpbnQgamgwNTduX3Byb2JlKHN0cnVjdCBtaXBpX2RzaV9kZXZp Y2UgKmRzaSkKPiA+ICAJCXJldHVybiByZXQ7Cj4gPiAgCX0KPiA+ICAKPiA+IC0JZHJtX3BhbmVs X2luaXQoJmN0eC0+cGFuZWwsIGRldiwgJmpoMDU3bl9kcm1fZnVuY3MpOwo+ID4gKwlkcm1fcGFu ZWxfaW5pdCgmY3R4LT5wYW5lbCwgZGV2LCAmamgwNTduX2RybV9mdW5jcywKPiA+ICsJCSAgICAg ICBEUk1fTU9ERV9DT05ORUNUT1JfRFNJKTsKPiA+ICAKPiA+ICAJZHJtX3BhbmVsX2FkZCgmY3R4 LT5wYW5lbCk7Cj4gPiAgCj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3Bh bmVsLXJvbmJvLXJiMDcwZDMwLmMgYi9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtcm9uYm8t cmIwNzBkMzAuYwo+ID4gaW5kZXggODcwOGZiYmU3NjM3Li4xNzBhNWNkYTIxYjkgMTAwNjQ0Cj4g PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtcm9uYm8tcmIwNzBkMzAuYwo+ID4g KysrIGIvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLXJvbmJvLXJiMDcwZDMwLmMKPiA+IEBA IC0xNzMsNyArMTczLDggQEAgc3RhdGljIGludCByYjA3MGQzMF9wYW5lbF9kc2lfcHJvYmUoc3Ry dWN0IG1pcGlfZHNpX2RldmljZSAqZHNpKQo+ID4gIAltaXBpX2RzaV9zZXRfZHJ2ZGF0YShkc2ks IGN0eCk7Cj4gPiAgCWN0eC0+ZHNpID0gZHNpOwo+ID4gIAo+ID4gLQlkcm1fcGFuZWxfaW5pdCgm Y3R4LT5wYW5lbCwgJmRzaS0+ZGV2LCAmcmIwNzBkMzBfcGFuZWxfZnVuY3MpOwo+ID4gKwlkcm1f cGFuZWxfaW5pdCgmY3R4LT5wYW5lbCwgJmRzaS0+ZGV2LCAmcmIwNzBkMzBfcGFuZWxfZnVuY3Ms Cj4gPiArCQkgICAgICAgRFJNX01PREVfQ09OTkVDVE9SX0RTSSk7Cj4gPiAgCj4gPiAgCWN0eC0+ Z3Bpb3MucmVzZXQgPSBkZXZtX2dwaW9kX2dldCgmZHNpLT5kZXYsICJyZXNldCIsIEdQSU9EX09V VF9MT1cpOwo+ID4gIAlpZiAoSVNfRVJSKGN0eC0+Z3Bpb3MucmVzZXQpKSB7Cj4gPiBkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLXNhbXN1bmctbGQ5MDQwLmMgYi9kcml2 ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtc2Ftc3VuZy1sZDkwNDAuYwo+ID4gaW5kZXggNzFhMjky ZGJlYzQ3Li4yNTA4MDliYTM3YzcgMTAwNjQ0Cj4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vcGFu ZWwvcGFuZWwtc2Ftc3VuZy1sZDkwNDAuYwo+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3BhbmVs L3BhbmVsLXNhbXN1bmctbGQ5MDQwLmMKPiA+IEBAIC0zNTEsNyArMzUxLDggQEAgc3RhdGljIGlu dCBsZDkwNDBfcHJvYmUoc3RydWN0IHNwaV9kZXZpY2UgKnNwaSkKPiA+ICAJCXJldHVybiByZXQ7 Cj4gPiAgCX0KPiA+ICAKPiA+IC0JZHJtX3BhbmVsX2luaXQoJmN0eC0+cGFuZWwsIGRldiwgJmxk OTA0MF9kcm1fZnVuY3MpOwo+ID4gKwlkcm1fcGFuZWxfaW5pdCgmY3R4LT5wYW5lbCwgZGV2LCAm bGQ5MDQwX2RybV9mdW5jcywKPiA+ICsJCSAgICAgICBEUk1fTU9ERV9DT05ORUNUT1JfRFBJKTsK PiA+ICAKPiA+ICAJcmV0dXJuIGRybV9wYW5lbF9hZGQoJmN0eC0+cGFuZWwpOwo+ID4gIH0KPiA+ IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtc2Ftc3VuZy1zNmQxNmQw LmMgYi9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtc2Ftc3VuZy1zNmQxNmQwLmMKPiA+IGlu ZGV4IDRkMjVjOTZlODQyYy4uZTNhMDM5N2U5NTNlIDEwMDY0NAo+ID4gLS0tIGEvZHJpdmVycy9n cHUvZHJtL3BhbmVsL3BhbmVsLXNhbXN1bmctczZkMTZkMC5jCj4gPiArKysgYi9kcml2ZXJzL2dw dS9kcm0vcGFuZWwvcGFuZWwtc2Ftc3VuZy1zNmQxNmQwLmMKPiA+IEBAIC0yMTUsNyArMjE1LDgg QEAgc3RhdGljIGludCBzNmQxNmQwX3Byb2JlKHN0cnVjdCBtaXBpX2RzaV9kZXZpY2UgKmRzaSkK PiA+ICAJCXJldHVybiByZXQ7Cj4gPiAgCX0KPiA+ICAKPiA+IC0JZHJtX3BhbmVsX2luaXQoJnM2 LT5wYW5lbCwgZGV2LCAmczZkMTZkMF9kcm1fZnVuY3MpOwo+ID4gKwlkcm1fcGFuZWxfaW5pdCgm czYtPnBhbmVsLCBkZXYsICZzNmQxNmQwX2RybV9mdW5jcywKPiA+ICsJCSAgICAgICBEUk1fTU9E RV9DT05ORUNUT1JfRFNJKTsKPiA+ICAKPiA+ICAJcmV0ID0gZHJtX3BhbmVsX2FkZCgmczYtPnBh bmVsKTsKPiA+ICAJaWYgKHJldCA8IDApCj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L3BhbmVsL3BhbmVsLXNhbXN1bmctczZlM2hhMi5jIGIvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3Bh bmVsLXNhbXN1bmctczZlM2hhMi5jCj4gPiBpbmRleCA0MmEzYWFhYjQ5ZWIuLjkzOGFiNzJjNTU0 MCAxMDA2NDQKPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1zYW1zdW5nLXM2 ZTNoYTIuYwo+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLXNhbXN1bmctczZl M2hhMi5jCj4gPiBAQCAtNzMyLDcgKzczMiw4IEBAIHN0YXRpYyBpbnQgczZlM2hhMl9wcm9iZShz dHJ1Y3QgbWlwaV9kc2lfZGV2aWNlICpkc2kpCj4gPiAgCWN0eC0+YmxfZGV2LT5wcm9wcy5icmln aHRuZXNzID0gUzZFM0hBMl9ERUZBVUxUX0JSSUdIVE5FU1M7Cj4gPiAgCWN0eC0+YmxfZGV2LT5w cm9wcy5wb3dlciA9IEZCX0JMQU5LX1BPV0VSRE9XTjsKPiA+ICAKPiA+IC0JZHJtX3BhbmVsX2lu aXQoJmN0eC0+cGFuZWwsIGRldiwgJnM2ZTNoYTJfZHJtX2Z1bmNzKTsKPiA+ICsJZHJtX3BhbmVs X2luaXQoJmN0eC0+cGFuZWwsIGRldiwgJnM2ZTNoYTJfZHJtX2Z1bmNzLAo+ID4gKwkJICAgICAg IERSTV9NT0RFX0NPTk5FQ1RPUl9EU0kpOwo+ID4gIAo+ID4gIAlyZXQgPSBkcm1fcGFuZWxfYWRk KCZjdHgtPnBhbmVsKTsKPiA+ICAJaWYgKHJldCA8IDApCj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL3BhbmVsL3BhbmVsLXNhbXN1bmctczZlNjNqMHgwMy5jIGIvZHJpdmVycy9ncHUv ZHJtL3BhbmVsL3BhbmVsLXNhbXN1bmctczZlNjNqMHgwMy5jCj4gPiBpbmRleCBiNGQ4NzliZjRk MDMuLmE2MDYzNWU5MjI2ZCAxMDA2NDQKPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9w YW5lbC1zYW1zdW5nLXM2ZTYzajB4MDMuYwo+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3BhbmVs L3BhbmVsLXNhbXN1bmctczZlNjNqMHgwMy5jCj4gPiBAQCAtNDY2LDcgKzQ2Niw4IEBAIHN0YXRp YyBpbnQgczZlNjNqMHgwM19wcm9iZShzdHJ1Y3QgbWlwaV9kc2lfZGV2aWNlICpkc2kpCj4gPiAg CQlyZXR1cm4gUFRSX0VSUihjdHgtPnJlc2V0X2dwaW8pOwo+ID4gIAl9Cj4gPiAgCj4gPiAtCWRy bV9wYW5lbF9pbml0KCZjdHgtPnBhbmVsLCBkZXYsICZzNmU2M2oweDAzX2Z1bmNzKTsKPiA+ICsJ ZHJtX3BhbmVsX2luaXQoJmN0eC0+cGFuZWwsIGRldiwgJnM2ZTYzajB4MDNfZnVuY3MsCj4gPiAr CQkgICAgICAgRFJNX01PREVfQ09OTkVDVE9SX0RTSSk7Cj4gPiAgCj4gPiAgCWN0eC0+YmxfZGV2 ID0gYmFja2xpZ2h0X2RldmljZV9yZWdpc3RlcigiczZlNjNqMHgwMyIsIGRldiwgY3R4LAo+ID4g IAkJCQkJCSZzNmU2M2oweDAzX2JsX29wcywgTlVMTCk7Cj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL3BhbmVsL3BhbmVsLXNhbXN1bmctczZlNjNtMC5jIGIvZHJpdmVycy9ncHUvZHJt L3BhbmVsL3BhbmVsLXNhbXN1bmctczZlNjNtMC5jCj4gPiBpbmRleCA2MTI1OWMyODMzYWIuLmJh MDFhZjBiMTRmZCAxMDA2NDQKPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1z YW1zdW5nLXM2ZTYzbTAuYwo+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLXNh bXN1bmctczZlNjNtMC5jCj4gPiBAQCAtNDczLDcgKzQ3Myw4IEBAIHN0YXRpYyBpbnQgczZlNjNt MF9wcm9iZShzdHJ1Y3Qgc3BpX2RldmljZSAqc3BpKQo+ID4gIAkJcmV0dXJuIHJldDsKPiA+ICAJ fQo+ID4gIAo+ID4gLQlkcm1fcGFuZWxfaW5pdCgmY3R4LT5wYW5lbCwgZGV2LCAmczZlNjNtMF9k cm1fZnVuY3MpOwo+ID4gKwlkcm1fcGFuZWxfaW5pdCgmY3R4LT5wYW5lbCwgZGV2LCAmczZlNjNt MF9kcm1fZnVuY3MsCj4gPiArCQkgICAgICAgRFJNX01PREVfQ09OTkVDVE9SX0RQSSk7Cj4gPiAg Cj4gPiAgCXJldCA9IHM2ZTYzbTBfYmFja2xpZ2h0X3JlZ2lzdGVyKGN0eCk7Cj4gPiAgCWlmIChy ZXQgPCAwKQo+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1zYW1z dW5nLXM2ZThhYTAuYyBiL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1zYW1zdW5nLXM2ZThh YTAuYwo+ID4gaW5kZXggMzVkYmZmYWJkNTI2Li5kYmNlZDY1MDEyMDQgMTAwNjQ0Cj4gPiAtLS0g YS9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtc2Ftc3VuZy1zNmU4YWEwLmMKPiA+ICsrKyBi L2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1zYW1zdW5nLXM2ZThhYTAuYwo+ID4gQEAgLTEw MTcsNyArMTAxNyw4IEBAIHN0YXRpYyBpbnQgczZlOGFhMF9wcm9iZShzdHJ1Y3QgbWlwaV9kc2lf ZGV2aWNlICpkc2kpCj4gPiAgCj4gPiAgCWN0eC0+YnJpZ2h0bmVzcyA9IEdBTU1BX0xFVkVMX05V TSAtIDE7Cj4gPiAgCj4gPiAtCWRybV9wYW5lbF9pbml0KCZjdHgtPnBhbmVsLCBkZXYsICZzNmU4 YWEwX2RybV9mdW5jcyk7Cj4gPiArCWRybV9wYW5lbF9pbml0KCZjdHgtPnBhbmVsLCBkZXYsICZz NmU4YWEwX2RybV9mdW5jcywKPiA+ICsJCSAgICAgICBEUk1fTU9ERV9DT05ORUNUT1JfRFNJKTsK PiA+ICAKPiA+ICAJcmV0ID0gZHJtX3BhbmVsX2FkZCgmY3R4LT5wYW5lbCk7Cj4gPiAgCWlmIChy ZXQgPCAwKQo+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1zZWlr by00M3d2ZjFnLmMgYi9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtc2Vpa28tNDN3dmYxZy5j Cj4gPiBpbmRleCAwODMzZDBjMDNhZGMuLmIzNjE5YmE0NDNiZCAxMDA2NDQKPiA+IC0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1zZWlrby00M3d2ZjFnLmMKPiA+ICsrKyBiL2RyaXZl cnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1zZWlrby00M3d2ZjFnLmMKPiA+IEBAIC0yNzQsNyArMjc0 LDggQEAgc3RhdGljIGludCBzZWlrb19wYW5lbF9wcm9iZShzdHJ1Y3QgZGV2aWNlICpkZXYsCj4g PiAgCQkJcmV0dXJuIC1FUFJPQkVfREVGRVI7Cj4gPiAgCX0KPiA+ICAKPiA+IC0JZHJtX3BhbmVs X2luaXQoJnBhbmVsLT5iYXNlLCBkZXYsICZzZWlrb19wYW5lbF9mdW5jcyk7Cj4gPiArCWRybV9w YW5lbF9pbml0KCZwYW5lbC0+YmFzZSwgZGV2LCAmc2Vpa29fcGFuZWxfZnVuY3MsCj4gPiArCQkg ICAgICAgRFJNX01PREVfQ09OTkVDVE9SX0RQSSk7Cj4gPiAgCj4gPiAgCWVyciA9IGRybV9wYW5l bF9hZGQoJnBhbmVsLT5iYXNlKTsKPiA+ICAJaWYgKGVyciA8IDApCj4gPiBkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLXNoYXJwLWxxMTAxcjFzeDAxLmMgYi9kcml2ZXJz L2dwdS9kcm0vcGFuZWwvcGFuZWwtc2hhcnAtbHExMDFyMXN4MDEuYwo+ID4gaW5kZXggODdhNThj YjRkOTQ1Li41ZTEzNmMzYmExODUgMTAwNjQ0Cj4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vcGFu ZWwvcGFuZWwtc2hhcnAtbHExMDFyMXN4MDEuYwo+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3Bh bmVsL3BhbmVsLXNoYXJwLWxxMTAxcjFzeDAxLmMKPiA+IEBAIC0zMjksNyArMzI5LDggQEAgc3Rh dGljIGludCBzaGFycF9wYW5lbF9hZGQoc3RydWN0IHNoYXJwX3BhbmVsICpzaGFycCkKPiA+ICAJ aWYgKElTX0VSUihzaGFycC0+YmFja2xpZ2h0KSkKPiA+ICAJCXJldHVybiBQVFJfRVJSKHNoYXJw LT5iYWNrbGlnaHQpOwo+ID4gIAo+ID4gLQlkcm1fcGFuZWxfaW5pdCgmc2hhcnAtPmJhc2UsICZz aGFycC0+bGluazEtPmRldiwgJnNoYXJwX3BhbmVsX2Z1bmNzKTsKPiA+ICsJZHJtX3BhbmVsX2lu aXQoJnNoYXJwLT5iYXNlLCAmc2hhcnAtPmxpbmsxLT5kZXYsICZzaGFycF9wYW5lbF9mdW5jcywK PiA+ICsJCSAgICAgICBEUk1fTU9ERV9DT05ORUNUT1JfRFNJKTsKPiA+ICAKPiA+ICAJcmV0dXJu IGRybV9wYW5lbF9hZGQoJnNoYXJwLT5iYXNlKTsKPiA+ICB9Cj4gPiBkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLXNoYXJwLWxzMDM3djdkdzAxLmMgYi9kcml2ZXJzL2dw dS9kcm0vcGFuZWwvcGFuZWwtc2hhcnAtbHMwMzd2N2R3MDEuYwo+ID4gaW5kZXggOTZlM2RlYjBl MzA1Li5lZWFiNzk5OGM3ZGUgMTAwNjQ0Cj4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vcGFuZWwv cGFuZWwtc2hhcnAtbHMwMzd2N2R3MDEuYwo+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3BhbmVs L3BhbmVsLXNoYXJwLWxzMDM3djdkdzAxLmMKPiA+IEBAIC0xODUsNyArMTg1LDggQEAgc3RhdGlj IGludCBsczAzN3Y3ZHcwMV9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQo+ID4g IAkJcmV0dXJuIFBUUl9FUlIobGNkLT51ZF9ncGlvKTsKPiA+ICAJfQo+ID4gIAo+ID4gLQlkcm1f cGFuZWxfaW5pdCgmbGNkLT5wYW5lbCwgJnBkZXYtPmRldiwgJmxzMDM3djdkdzAxX2Z1bmNzKTsK PiA+ICsJZHJtX3BhbmVsX2luaXQoJmxjZC0+cGFuZWwsICZwZGV2LT5kZXYsICZsczAzN3Y3ZHcw MV9mdW5jcywKPiA+ICsJCSAgICAgICBEUk1fTU9ERV9DT05ORUNUT1JfRFBJKTsKPiA+ICAKPiA+ ICAJcmV0dXJuIGRybV9wYW5lbF9hZGQoJmxjZC0+cGFuZWwpOwo+ID4gIH0KPiA+IGRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtc2hhcnAtbHMwNDN0MWxlMDEuYyBiL2Ry aXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1zaGFycC1sczA0M3QxbGUwMS5jCj4gPiBpbmRleCBm ZmE4NDRlZTgyYWQuLmI5NjNiYTRhYjU4OSAxMDA2NDQKPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9wYW5lbC9wYW5lbC1zaGFycC1sczA0M3QxbGUwMS5jCj4gPiArKysgYi9kcml2ZXJzL2dwdS9k cm0vcGFuZWwvcGFuZWwtc2hhcnAtbHMwNDN0MWxlMDEuYwo+ID4gQEAgLTI2NSw3ICsyNjUsNyBA QCBzdGF0aWMgaW50IHNoYXJwX250X3BhbmVsX2FkZChzdHJ1Y3Qgc2hhcnBfbnRfcGFuZWwgKnNo YXJwX250KQo+ID4gIAkJcmV0dXJuIFBUUl9FUlIoc2hhcnBfbnQtPmJhY2tsaWdodCk7Cj4gPiAg Cj4gPiAgCWRybV9wYW5lbF9pbml0KCZzaGFycF9udC0+YmFzZSwgJnNoYXJwX250LT5kc2ktPmRl diwKPiA+IC0JCSAgICAgICAmc2hhcnBfbnRfcGFuZWxfZnVuY3MpOwo+ID4gKwkJICAgICAgICZz aGFycF9udF9wYW5lbF9mdW5jcywgRFJNX01PREVfQ09OTkVDVE9SX0RTSSk7Cj4gPiAgCj4gPiAg CXJldHVybiBkcm1fcGFuZWxfYWRkKCZzaGFycF9udC0+YmFzZSk7Cj4gPiAgfQo+ID4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1zaW1wbGUuYyBiL2RyaXZlcnMvZ3B1 L2RybS9wYW5lbC9wYW5lbC1zaW1wbGUuYwo+ID4gaW5kZXggYjM2YzEzMGQ1Y2YwLi40YjkyYjI3 ZWJhODYgMTAwNjQ0Cj4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtc2ltcGxl LmMKPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1zaW1wbGUuYwo+ID4gQEAg LTk0LDYgKzk0LDcgQEAgc3RydWN0IHBhbmVsX2Rlc2Mgewo+ID4gIAo+ID4gIAl1MzIgYnVzX2Zv cm1hdDsKPiA+ICAJdTMyIGJ1c19mbGFnczsKPiA+ICsJaW50IGNvbm5lY3Rvcl90eXBlOwo+ID4g IH07Cj4gPiAgCj4gPiAgc3RydWN0IHBhbmVsX3NpbXBsZSB7Cj4gPiBAQCAtNDY0LDcgKzQ2NSw4 IEBAIHN0YXRpYyBpbnQgcGFuZWxfc2ltcGxlX3Byb2JlKHN0cnVjdCBkZXZpY2UgKmRldiwgY29u c3Qgc3RydWN0IHBhbmVsX2Rlc2MgKmRlc2MpCj4gPiAgCWlmICghb2ZfZ2V0X2Rpc3BsYXlfdGlt aW5nKGRldi0+b2Zfbm9kZSwgInBhbmVsLXRpbWluZyIsICZkdCkpCj4gPiAgCQlwYW5lbF9zaW1w bGVfcGFyc2VfcGFuZWxfdGltaW5nX25vZGUoZGV2LCBwYW5lbCwgJmR0KTsKPiA+ICAKPiA+IC0J ZHJtX3BhbmVsX2luaXQoJnBhbmVsLT5iYXNlLCBkZXYsICZwYW5lbF9zaW1wbGVfZnVuY3MpOwo+ ID4gKwlkcm1fcGFuZWxfaW5pdCgmcGFuZWwtPmJhc2UsIGRldiwgJnBhbmVsX3NpbXBsZV9mdW5j cywKPiA+ICsJCSAgICAgICBkZXNjLT5jb25uZWN0b3JfdHlwZSk7Cj4gPiAgCj4gPiAgCWVyciA9 IGRybV9wYW5lbF9hZGQoJnBhbmVsLT5iYXNlKTsKPiA+ICAJaWYgKGVyciA8IDApCj4gPiBAQCAt ODMxLDYgKzgzMyw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgcGFuZWxfZGVzYyBhdW9fZzEzM2hh bjAxID0gewo+ID4gIAkJLnVucHJlcGFyZSA9IDEwMDAsCj4gPiAgCX0sCj4gPiAgCS5idXNfZm9y bWF0ID0gTUVESUFfQlVTX0ZNVF9SR0I4ODhfMVg3WDRfSkVJREEsCj4gPiArCS5jb25uZWN0b3Jf dHlwZSA9IERSTV9NT0RFX0NPTk5FQ1RPUl9MVkRTLAo+ID4gIH07Cj4gPiAgCj4gPiAgc3RhdGlj IGNvbnN0IHN0cnVjdCBkaXNwbGF5X3RpbWluZyBhdW9fZzE4NWhhbjAxX3RpbWluZ3MgPSB7Cj4g PiBAQCAtODYwLDYgKzg2Myw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgcGFuZWxfZGVzYyBhdW9f ZzE4NWhhbjAxID0gewo+ID4gIAkJLnVucHJlcGFyZSA9IDEwMDAsCj4gPiAgCX0sCj4gPiAgCS5i dXNfZm9ybWF0ID0gTUVESUFfQlVTX0ZNVF9SR0I4ODhfMVg3WDRfU1BXRywKPiA+ICsJLmNvbm5l Y3Rvcl90eXBlID0gRFJNX01PREVfQ09OTkVDVE9SX0xWRFMsCj4gPiAgfTsKPiA+ICAKPiA+ICBz dGF0aWMgY29uc3Qgc3RydWN0IGRpc3BsYXlfdGltaW5nIGF1b19wMzIwaHZuMDNfdGltaW5ncyA9 IHsKPiA+IEBAIC04ODgsNiArODkyLDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBwYW5lbF9kZXNj IGF1b19wMzIwaHZuMDMgPSB7Cj4gPiAgCQkudW5wcmVwYXJlID0gNTAwLAo+ID4gIAl9LAo+ID4g IAkuYnVzX2Zvcm1hdCA9IE1FRElBX0JVU19GTVRfUkdCODg4XzFYN1g0X1NQV0csCj4gPiArCS5j b25uZWN0b3JfdHlwZSA9IERSTV9NT0RFX0NPTk5FQ1RPUl9MVkRTLAo+ID4gIH07Cj4gPiAgCj4g PiAgc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlIGF1b190MjE1aHZuMDFfbW9k ZSA9IHsKPiA+IEBAIC0xMjAzLDYgKzEyMDgsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHBhbmVs X2Rlc2MgZGxjX2RsYzA3MDB5emdfMSA9IHsKPiA+ICAJCS5kaXNhYmxlID0gMjAwLAo+ID4gIAl9 LAo+ID4gIAkuYnVzX2Zvcm1hdCA9IE1FRElBX0JVU19GTVRfUkdCNjY2XzFYN1gzX1NQV0csCj4g PiArCS5jb25uZWN0b3JfdHlwZSA9IERSTV9NT0RFX0NPTk5FQ1RPUl9MVkRTLAo+ID4gIH07Cj4g PiAgCj4gPiAgc3RhdGljIGNvbnN0IHN0cnVjdCBkaXNwbGF5X3RpbWluZyBkbGNfZGxjMTAxMGdp Z190aW1pbmcgPSB7Cj4gPiBAQCAtMTIzMyw2ICsxMjM5LDcgQEAgc3RhdGljIGNvbnN0IHN0cnVj dCBwYW5lbF9kZXNjIGRsY19kbGMxMDEwZ2lnID0gewo+ID4gIAkJLnVucHJlcGFyZSA9IDYwLAo+ ID4gIAl9LAo+ID4gIAkuYnVzX2Zvcm1hdCA9IE1FRElBX0JVU19GTVRfUkdCODg4XzFYN1g0X1NQ V0csCj4gPiArCS5jb25uZWN0b3JfdHlwZSA9IERSTV9NT0RFX0NPTk5FQ1RPUl9MVkRTLAo+ID4g IH07Cj4gPiAgCj4gPiAgc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlIGVkdF9l dDAzNTAxMmRtNl9tb2RlID0gewo+ID4gQEAgLTE0OTksNiArMTUwNiw3IEBAIHN0YXRpYyBjb25z dCBzdHJ1Y3QgcGFuZWxfZGVzYyBoYW5uc3Rhcl9oc2QwNzBwd3cxID0gewo+ID4gIAkJLmhlaWdo dCA9IDk0LAo+ID4gIAl9LAo+ID4gIAkuYnVzX2Zvcm1hdCA9IE1FRElBX0JVU19GTVRfUkdCNjY2 XzFYN1gzX1NQV0csCj4gPiArCS5jb25uZWN0b3JfdHlwZSA9IERSTV9NT0RFX0NPTk5FQ1RPUl9M VkRTLAo+ID4gIH07Cj4gPiAgCj4gPiAgc3RhdGljIGNvbnN0IHN0cnVjdCBkaXNwbGF5X3RpbWlu ZyBoYW5uc3Rhcl9oc2QxMDBweG4xX3RpbWluZyA9IHsKPiA+IEBAIC0xNTIzLDYgKzE1MzEsNyBA QCBzdGF0aWMgY29uc3Qgc3RydWN0IHBhbmVsX2Rlc2MgaGFubnN0YXJfaHNkMTAwcHhuMSA9IHsK PiA+ICAJCS5oZWlnaHQgPSAxNTIsCj4gPiAgCX0sCj4gPiAgCS5idXNfZm9ybWF0ID0gTUVESUFf QlVTX0ZNVF9SR0I2NjZfMVg3WDNfU1BXRywKPiA+ICsJLmNvbm5lY3Rvcl90eXBlID0gRFJNX01P REVfQ09OTkVDVE9SX0xWRFMsCj4gPiAgfTsKPiA+ICAKPiA+ICBzdGF0aWMgY29uc3Qgc3RydWN0 IGRybV9kaXNwbGF5X21vZGUgaGl0YWNoaV90eDIzZDM4dm0wY2FhX21vZGUgPSB7Cj4gPiBAQCAt MTYyOSw2ICsxNjM4LDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBwYW5lbF9kZXNjIGlubm9sdXhf ZzA3MHkyX2wwMSA9IHsKPiA+ICAJCS51bnByZXBhcmUgPSA4MDAsCj4gPiAgCX0sCj4gPiAgCS5i dXNfZm9ybWF0ID0gTUVESUFfQlVTX0ZNVF9SR0I4ODhfMVg3WDRfU1BXRywKPiA+ICsJLmNvbm5l Y3Rvcl90eXBlID0gRFJNX01PREVfQ09OTkVDVE9SX0xWRFMsCj4gPiAgfTsKPiA+ICAKPiA+ICBz dGF0aWMgY29uc3Qgc3RydWN0IGRpc3BsYXlfdGltaW5nIGlubm9sdXhfZzEwMWljZV9sMDFfdGlt aW5nID0gewo+ID4gQEAgLTE2NTcsNiArMTY2Nyw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgcGFu ZWxfZGVzYyBpbm5vbHV4X2cxMDFpY2VfbDAxID0gewo+ID4gIAkJLmRpc2FibGUgPSAyMDAsCj4g PiAgCX0sCj4gPiAgCS5idXNfZm9ybWF0ID0gTUVESUFfQlVTX0ZNVF9SR0I4ODhfMVg3WDRfU1BX RywKPiA+ICsJLmNvbm5lY3Rvcl90eXBlID0gRFJNX01PREVfQ09OTkVDVE9SX0xWRFMsCj4gPiAg fTsKPiA+ICAKPiA+ICBzdGF0aWMgY29uc3Qgc3RydWN0IGRpc3BsYXlfdGltaW5nIGlubm9sdXhf ZzEyMWkxX2wwMV90aW1pbmcgPSB7Cj4gPiBAQCAtMTY4NCw2ICsxNjk1LDcgQEAgc3RhdGljIGNv bnN0IHN0cnVjdCBwYW5lbF9kZXNjIGlubm9sdXhfZzEyMWkxX2wwMSA9IHsKPiA+ICAJCS5kaXNh YmxlID0gMjAsCj4gPiAgCX0sCj4gPiAgCS5idXNfZm9ybWF0ID0gTUVESUFfQlVTX0ZNVF9SR0I4 ODhfMVg3WDRfU1BXRywKPiA+ICsJLmNvbm5lY3Rvcl90eXBlID0gRFJNX01PREVfQ09OTkVDVE9S X0xWRFMsCj4gPiAgfTsKPiA+ICAKPiA+ICBzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9kaXNwbGF5 X21vZGUgaW5ub2x1eF9nMTIxeDFfbDAzX21vZGUgPSB7Cj4gPiBAQCAtMTg2Nyw2ICsxODc5LDcg QEAgc3RhdGljIGNvbnN0IHN0cnVjdCBwYW5lbF9kZXNjIGtvZV90eDMxZDIwMHZtMGJhYSA9IHsK PiA+ICAJCS5oZWlnaHQgPSAxMDksCj4gPiAgCX0sCj4gPiAgCS5idXNfZm9ybWF0ID0gTUVESUFf QlVTX0ZNVF9SR0I2NjZfMVg3WDNfU1BXRywKPiA+ICsJLmNvbm5lY3Rvcl90eXBlID0gRFJNX01P REVfQ09OTkVDVE9SX0xWRFMsCj4gPiAgfTsKPiA+ICAKPiA+ICBzdGF0aWMgY29uc3Qgc3RydWN0 IGRpc3BsYXlfdGltaW5nIGt5b190Y2cxMjF4Z2xwX3RpbWluZyA9IHsKPiA+IEBAIC0xODkxLDYg KzE5MDQsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHBhbmVsX2Rlc2Mga3lvX3RjZzEyMXhnbHAg PSB7Cj4gPiAgCQkuaGVpZ2h0ID0gMTg0LAo+ID4gIAl9LAo+ID4gIAkuYnVzX2Zvcm1hdCA9IE1F RElBX0JVU19GTVRfUkdCODg4XzFYN1g0X1NQV0csCj4gPiArCS5jb25uZWN0b3JfdHlwZSA9IERS TV9NT0RFX0NPTk5FQ1RPUl9MVkRTLAo+ID4gIH07Cj4gPiAgCj4gPiAgc3RhdGljIGNvbnN0IHN0 cnVjdCBkcm1fZGlzcGxheV9tb2RlIGxlbWFrZXJfYmwwMzVfcmdiXzAwMl9tb2RlID0gewo+ID4g QEAgLTE5MzksNiArMTk1Myw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgcGFuZWxfZGVzYyBsZ19s YjA3MHd2OCA9IHsKPiA+ICAJCS5oZWlnaHQgPSA5MSwKPiA+ICAJfSwKPiA+ICAJLmJ1c19mb3Jt YXQgPSBNRURJQV9CVVNfRk1UX1JHQjg4OF8xWDdYNF9TUFdHLAo+ID4gKwkuY29ubmVjdG9yX3R5 cGUgPSBEUk1fTU9ERV9DT05ORUNUT1JfTFZEUywKPiA+ICB9Owo+ID4gIAo+ID4gIHN0YXRpYyBj b25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSBsZ19scDA3OXF4MV9zcDB2X21vZGUgPSB7Cj4g PiBAQCAtMjA2MSw2ICsyMDc2LDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBwYW5lbF9kZXNjIG1p dHN1YmlzaGlfYWEwNzBtYzAxID0gewo+ID4gIAkJLmRpc2FibGUgPSA0MDAsCj4gPiAgCX0sCj4g PiAgCS5idXNfZm9ybWF0ID0gTUVESUFfQlVTX0ZNVF9SR0I4ODhfMVg3WDRfU1BXRywKPiA+ICsJ LmNvbm5lY3Rvcl90eXBlID0gRFJNX01PREVfQ09OTkVDVE9SX0xWRFMsCj4gPiAgCS5idXNfZmxh Z3MgPSBEUk1fQlVTX0ZMQUdfREVfSElHSCwKPiA+ICB9Owo+ID4gIAo+ID4gQEAgLTIwODksNiAr MjEwNSw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgcGFuZWxfZGVzYyBuZWNfbmwxMjg4MGJjMjBf MDUgPSB7Cj4gPiAgCQkuZGlzYWJsZSA9IDUwLAo+ID4gIAl9LAo+ID4gIAkuYnVzX2Zvcm1hdCA9 IE1FRElBX0JVU19GTVRfUkdCODg4XzFYN1g0X1NQV0csCj4gPiArCS5jb25uZWN0b3JfdHlwZSA9 IERSTV9NT0RFX0NPTk5FQ1RPUl9MVkRTLAo+ID4gIH07Cj4gPiAgCj4gPiAgc3RhdGljIGNvbnN0 IHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlIG5lY19ubDQ4MjdoYzE5XzA1Yl9tb2RlID0gewo+ID4g QEAgLTIxOTEsNiArMjIwOCw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgcGFuZWxfZGVzYyBubHRf bmwxOTIxMDhhYzE4XzAyZCA9IHsKPiA+ICAJCS51bnByZXBhcmUgPSA1MDAsCj4gPiAgCX0sCj4g PiAgCS5idXNfZm9ybWF0ID0gTUVESUFfQlVTX0ZNVF9SR0I4ODhfMVg3WDRfU1BXRywKPiA+ICsJ LmNvbm5lY3Rvcl90eXBlID0gRFJNX01PREVfQ09OTkVDVE9SX0xWRFMsCj4gPiAgfTsKPiA+ICAK PiA+ICBzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgbnZkXzkxMjhfbW9kZSA9 IHsKPiA+IEBAIC0yMjE0LDYgKzIyMzIsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHBhbmVsX2Rl c2MgbnZkXzkxMjggPSB7Cj4gPiAgCQkuaGVpZ2h0ID0gODgsCj4gPiAgCX0sCj4gPiAgCS5idXNf Zm9ybWF0ID0gTUVESUFfQlVTX0ZNVF9SR0I4ODhfMVg3WDRfU1BXRywKPiA+ICsJLmNvbm5lY3Rv cl90eXBlID0gRFJNX01PREVfQ09OTkVDVE9SX0xWRFMsCj4gPiAgfTsKPiA+ICAKPiA+ICBzdGF0 aWMgY29uc3Qgc3RydWN0IGRpc3BsYXlfdGltaW5nIG9rYXlhX3JzODAwNDgwdF83eDBncF90aW1p bmcgPSB7Cj4gPiBAQCAtMjYyNiw2ICsyNjQ1LDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBwYW5l bF9kZXNjIHNoYXJwX2xxMTAxazFseTA0ID0gewo+ID4gIAkJLmhlaWdodCA9IDEzNiwKPiA+ICAJ fSwKPiA+ICAJLmJ1c19mb3JtYXQgPSBNRURJQV9CVVNfRk1UX1JHQjg4OF8xWDdYNF9KRUlEQSwK PiA+ICsJLmNvbm5lY3Rvcl90eXBlID0gRFJNX01PREVfQ09OTkVDVE9SX0xWRFMsCj4gPiAgfTsK PiA+ICAKPiA+ICBzdGF0aWMgY29uc3Qgc3RydWN0IGRpc3BsYXlfdGltaW5nIHNoYXJwX2xxMTIz cDFqeDMxX3RpbWluZyA9IHsKPiA+IEBAIC0yODA1LDYgKzI4MjUsNyBAQCBzdGF0aWMgY29uc3Qg c3RydWN0IHBhbmVsX2Rlc2MgdGlhbm1hX3RtMDcwamRoZzMwID0gewo+ID4gIAkJLmhlaWdodCA9 IDk1LAo+ID4gIAl9LAo+ID4gIAkuYnVzX2Zvcm1hdCA9IE1FRElBX0JVU19GTVRfUkdCODg4XzFY N1g0X1NQV0csCj4gPiArCS5jb25uZWN0b3JfdHlwZSA9IERSTV9NT0RFX0NPTk5FQ1RPUl9MVkRT LAo+ID4gIH07Cj4gPiAgCj4gPiAgc3RhdGljIGNvbnN0IHN0cnVjdCBkaXNwbGF5X3RpbWluZyB0 aWFubWFfdG0wNzBydmhnNzFfdGltaW5nID0gewo+ID4gQEAgLTI4MjksNiArMjg1MCw3IEBAIHN0 YXRpYyBjb25zdCBzdHJ1Y3QgcGFuZWxfZGVzYyB0aWFubWFfdG0wNzBydmhnNzEgPSB7Cj4gPiAg CQkuaGVpZ2h0ID0gODYsCj4gPiAgCX0sCj4gPiAgCS5idXNfZm9ybWF0ID0gTUVESUFfQlVTX0ZN VF9SR0I4ODhfMVg3WDRfU1BXRywKPiA+ICsJLmNvbm5lY3Rvcl90eXBlID0gRFJNX01PREVfQ09O TkVDVE9SX0xWRFMsCj4gPiAgfTsKPiA+ICAKPiA+ICBzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9k aXNwbGF5X21vZGUgdGlfbnNwaXJlX2N4X2xjZF9tb2RlW10gPSB7Cj4gPiBAQCAtMjkxMSw2ICsy OTMzLDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBwYW5lbF9kZXNjIHRvc2hpYmFfbHQwODlhYzI5 MDAwID0gewo+ID4gIAl9LAo+ID4gIAkuYnVzX2Zvcm1hdCA9IE1FRElBX0JVU19GTVRfUkdCODg4 XzFYMjQsCj4gPiAgCS5idXNfZmxhZ3MgPSBEUk1fQlVTX0ZMQUdfREVfSElHSCB8IERSTV9CVVNf RkxBR19QSVhEQVRBX0RSSVZFX1BPU0VER0UsCj4gPiArCS5jb25uZWN0b3JfdHlwZSA9IERSTV9N T0RFX0NPTk5FQ1RPUl9MVkRTLAo+ID4gIH07Cj4gPiAgCj4gPiAgc3RhdGljIGNvbnN0IHN0cnVj dCBkcm1fZGlzcGxheV9tb2RlIHRwa19mMDdhXzAxMDJfbW9kZSA9IHsKPiA+IEBAIC0yOTgxLDYg KzMwMDQsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHBhbmVsX2Rlc2MgdXJ0X3Vtc2hfODU5Nm1k X2x2ZHMgPSB7Cj4gPiAgCQkuaGVpZ2h0ID0gOTEsCj4gPiAgCX0sCj4gPiAgCS5idXNfZm9ybWF0 ID0gTUVESUFfQlVTX0ZNVF9SR0I2NjZfMVg3WDNfU1BXRywKPiA+ICsJLmNvbm5lY3Rvcl90eXBl ID0gRFJNX01PREVfQ09OTkVDVE9SX0xWRFMsCj4gPiAgfTsKPiA+ICAKPiA+ICBzdGF0aWMgY29u c3Qgc3RydWN0IHBhbmVsX2Rlc2MgdXJ0X3Vtc2hfODU5Nm1kX3BhcmFsbGVsID0gewo+ID4gZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1zaXRyb25peC1zdDc3MDEuYyBi L2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1zaXRyb25peC1zdDc3MDEuYwo+ID4gaW5kZXgg M2Y3YmNkMjRhYTgxLi5lZTNmMjNmNDU3NTUgMTAwNjQ0Cj4gPiAtLS0gYS9kcml2ZXJzL2dwdS9k cm0vcGFuZWwvcGFuZWwtc2l0cm9uaXgtc3Q3NzAxLmMKPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9wYW5lbC9wYW5lbC1zaXRyb25peC1zdDc3MDEuYwo+ID4gQEAgLTM2OSw3ICszNjksOCBAQCBz dGF0aWMgaW50IHN0NzcwMV9kc2lfcHJvYmUoc3RydWN0IG1pcGlfZHNpX2RldmljZSAqZHNpKQo+ ID4gIAlpZiAoSVNfRVJSKHN0NzcwMS0+YmFja2xpZ2h0KSkKPiA+ICAJCXJldHVybiBQVFJfRVJS KHN0NzcwMS0+YmFja2xpZ2h0KTsKPiA+ICAKPiA+IC0JZHJtX3BhbmVsX2luaXQoJnN0NzcwMS0+ cGFuZWwsICZkc2ktPmRldiwgJnN0NzcwMV9mdW5jcyk7Cj4gPiArCWRybV9wYW5lbF9pbml0KCZz dDc3MDEtPnBhbmVsLCAmZHNpLT5kZXYsICZzdDc3MDFfZnVuY3MsCj4gPiArCQkgICAgICAgRFJN X01PREVfQ09OTkVDVE9SX0RTSSk7Cj4gPiAgCj4gPiAgCS8qKgo+ID4gIAkgKiBPbmNlIHNsZWVw IG91dCBoYXMgYmVlbiBpc3N1ZWQsIFNUNzcwMSBJQyByZXF1aXJlZCB0byB3YWl0IDEyMG1zCj4g PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLXNpdHJvbml4LXN0Nzc4 OXYuYyBiL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1zaXRyb25peC1zdDc3ODl2LmMKPiA+ IGluZGV4IDJlZWFlZWUwZGQ3Zi4uMTA4YTg1YmI2NjY3IDEwMDY0NAo+ID4gLS0tIGEvZHJpdmVy cy9ncHUvZHJtL3BhbmVsL3BhbmVsLXNpdHJvbml4LXN0Nzc4OXYuYwo+ID4gKysrIGIvZHJpdmVy cy9ncHUvZHJtL3BhbmVsL3BhbmVsLXNpdHJvbml4LXN0Nzc4OXYuYwo+ID4gQEAgLTM4MSw3ICsz ODEsOCBAQCBzdGF0aWMgaW50IHN0Nzc4OXZfcHJvYmUoc3RydWN0IHNwaV9kZXZpY2UgKnNwaSkK PiA+ICAJc3BpX3NldF9kcnZkYXRhKHNwaSwgY3R4KTsKPiA+ICAJY3R4LT5zcGkgPSBzcGk7Cj4g PiAgCj4gPiAtCWRybV9wYW5lbF9pbml0KCZjdHgtPnBhbmVsLCAmc3BpLT5kZXYsICZzdDc3ODl2 X2RybV9mdW5jcyk7Cj4gPiArCWRybV9wYW5lbF9pbml0KCZjdHgtPnBhbmVsLCAmc3BpLT5kZXYs ICZzdDc3ODl2X2RybV9mdW5jcywKPiA+ICsJCSAgICAgICBEUk1fTU9ERV9DT05ORUNUT1JfRFBJ KTsKPiA+ICAKPiA+ICAJY3R4LT5wb3dlciA9IGRldm1fcmVndWxhdG9yX2dldCgmc3BpLT5kZXYs ICJwb3dlciIpOwo+ID4gIAlpZiAoSVNfRVJSKGN0eC0+cG93ZXIpKQo+ID4gZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1zb255LWFjeDU2NWFrbS5jIGIvZHJpdmVycy9n cHUvZHJtL3BhbmVsL3BhbmVsLXNvbnktYWN4NTY1YWttLmMKPiA+IGluZGV4IDVhMjc3MmIwNGI3 NS4uNmY1Y2U1ODY3ZmY5IDEwMDY0NAo+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3Bh bmVsLXNvbnktYWN4NTY1YWttLmMKPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5l bC1zb255LWFjeDU2NWFrbS5jCj4gPiBAQCAtNjQ4LDcgKzY0OCw4IEBAIHN0YXRpYyBpbnQgYWN4 NTY1YWttX3Byb2JlKHN0cnVjdCBzcGlfZGV2aWNlICpzcGkpCj4gPiAgCQkJcmV0dXJuIHJldDsK PiA+ICAJfQo+ID4gIAo+ID4gLQlkcm1fcGFuZWxfaW5pdCgmbGNkLT5wYW5lbCwgJmxjZC0+c3Bp LT5kZXYsICZhY3g1NjVha21fZnVuY3MpOwo+ID4gKwlkcm1fcGFuZWxfaW5pdCgmbGNkLT5wYW5l bCwgJmxjZC0+c3BpLT5kZXYsICZhY3g1NjVha21fZnVuY3MsCj4gPiArCQkgICAgICAgRFJNX01P REVfQ09OTkVDVE9SX0RQSSk7Cj4gPiAgCj4gPiAgCXJldCA9IGRybV9wYW5lbF9hZGQoJmxjZC0+ cGFuZWwpOwo+ID4gIAlpZiAocmV0IDwgMCkgewo+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9wYW5lbC9wYW5lbC10cG8tdGQwMjh0dGVjMS5jIGIvZHJpdmVycy9ncHUvZHJtL3BhbmVs L3BhbmVsLXRwby10ZDAyOHR0ZWMxLmMKPiA+IGluZGV4IDhiMTE0OGQ3NGU3Yi4uMWQwOGQwM2Y1 MDlkIDEwMDY0NAo+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLXRwby10ZDAy OHR0ZWMxLmMKPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC10cG8tdGQwMjh0 dGVjMS5jCj4gPiBAQCAtMzQ3LDcgKzM0Nyw4IEBAIHN0YXRpYyBpbnQgdGQwMjh0dGVjMV9wcm9i ZShzdHJ1Y3Qgc3BpX2RldmljZSAqc3BpKQo+ID4gIAkJcmV0dXJuIHJldDsKPiA+ICAJfQo+ID4g IAo+ID4gLQlkcm1fcGFuZWxfaW5pdCgmbGNkLT5wYW5lbCwgJmxjZC0+c3BpLT5kZXYsICZ0ZDAy OHR0ZWMxX2Z1bmNzKTsKPiA+ICsJZHJtX3BhbmVsX2luaXQoJmxjZC0+cGFuZWwsICZsY2QtPnNw aS0+ZGV2LCAmdGQwMjh0dGVjMV9mdW5jcywKPiA+ICsJCSAgICAgICBEUk1fTU9ERV9DT05ORUNU T1JfRFBJKTsKPiA+ICAKPiA+ICAJcmV0dXJuIGRybV9wYW5lbF9hZGQoJmxjZC0+cGFuZWwpOwo+ ID4gIH0KPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtdHBvLXRk MDQzbXRlYTEuYyBiL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC10cG8tdGQwNDNtdGVhMS5j Cj4gPiBpbmRleCBiYmYwYzJlMWM5MGYuLjQxNmFlYmQyM2I2YSAxMDA2NDQKPiA+IC0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC10cG8tdGQwNDNtdGVhMS5jCj4gPiArKysgYi9kcml2 ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtdHBvLXRkMDQzbXRlYTEuYwo+ID4gQEAgLTQ1OCw3ICs0 NTgsOCBAQCBzdGF0aWMgaW50IHRkMDQzbXRlYTFfcHJvYmUoc3RydWN0IHNwaV9kZXZpY2UgKnNw aSkKPiA+ICAJCXJldHVybiByZXQ7Cj4gPiAgCX0KPiA+ICAKPiA+IC0JZHJtX3BhbmVsX2luaXQo JmxjZC0+cGFuZWwsICZsY2QtPnNwaS0+ZGV2LCAmdGQwNDNtdGVhMV9mdW5jcyk7Cj4gPiArCWRy bV9wYW5lbF9pbml0KCZsY2QtPnBhbmVsLCAmbGNkLT5zcGktPmRldiwgJnRkMDQzbXRlYTFfZnVu Y3MsCj4gPiArCQkgICAgICAgRFJNX01PREVfQ09OTkVDVE9SX0RQSSk7Cj4gPiAgCj4gPiAgCXJl dCA9IGRybV9wYW5lbF9hZGQoJmxjZC0+cGFuZWwpOwo+ID4gIAlpZiAocmV0IDwgMCkgewo+ID4g ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC10cG8tdHBnMTEwLmMgYi9k cml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtdHBvLXRwZzExMC5jCj4gPiBpbmRleCAyNTUyNGMy NmIyNDEuLjFhNTQxOGFlMmNjZiAxMDA2NDQKPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9wYW5l bC9wYW5lbC10cG8tdHBnMTEwLmMKPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5l bC10cG8tdHBnMTEwLmMKPiA+IEBAIC00NTcsNyArNDU3LDggQEAgc3RhdGljIGludCB0cGcxMTBf cHJvYmUoc3RydWN0IHNwaV9kZXZpY2UgKnNwaSkKPiA+ICAJaWYgKHJldCkKPiA+ICAJCXJldHVy biByZXQ7Cj4gPiAgCj4gPiAtCWRybV9wYW5lbF9pbml0KCZ0cGctPnBhbmVsLCBkZXYsICZ0cGcx MTBfZHJtX2Z1bmNzKTsKPiA+ICsJZHJtX3BhbmVsX2luaXQoJnRwZy0+cGFuZWwsIGRldiwgJnRw ZzExMF9kcm1fZnVuY3MsCj4gPiArCQkgICAgICAgRFJNX01PREVfQ09OTkVDVE9SX0RQSSk7Cj4g PiAgCXNwaV9zZXRfZHJ2ZGF0YShzcGksIHRwZyk7Cj4gPiAgCj4gPiAgCXJldHVybiBkcm1fcGFu ZWxfYWRkKCZ0cGctPnBhbmVsKTsKPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcGFu ZWwvcGFuZWwtdHJ1bHktbnQzNTU5Ny5jIGIvZHJpdmVycy9ncHUvZHJtL3BhbmVsL3BhbmVsLXRy dWx5LW50MzU1OTcuYwo+ID4gaW5kZXggYzM3MTRiZTc4ODM3Li4wZmVlYTI0NTZlMTQgMTAwNjQ0 Cj4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtdHJ1bHktbnQzNTU5Ny5jCj4g PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vcGFuZWwvcGFuZWwtdHJ1bHktbnQzNTU5Ny5jCj4gPiBA QCAtNTE4LDcgKzUxOCw4IEBAIHN0YXRpYyBpbnQgdHJ1bHlfbnQzNTU5N19wYW5lbF9hZGQoc3Ry dWN0IHRydWx5X250MzU1OTcgKmN0eCkKPiA+ICAJLyogZHVhbCBwb3J0ICovCj4gPiAgCWdwaW9k X3NldF92YWx1ZShjdHgtPm1vZGVfZ3BpbywgMCk7Cj4gPiAgCj4gPiAtCWRybV9wYW5lbF9pbml0 KCZjdHgtPnBhbmVsLCBkZXYsICZ0cnVseV9udDM1NTk3X2RybV9mdW5jcyk7Cj4gPiArCWRybV9w YW5lbF9pbml0KCZjdHgtPnBhbmVsLCBkZXYsICZ0cnVseV9udDM1NTk3X2RybV9mdW5jcywKPiA+ ICsJCSAgICAgICBEUk1fTU9ERV9DT05ORUNUT1JfRFNJKTsKPiA+ICAJZHJtX3BhbmVsX2FkZCgm Y3R4LT5wYW5lbCk7Cj4gPiAgCj4gPiAgCXJldHVybiAwOwo+ID4gZGlmZiAtLWdpdCBhL2luY2x1 ZGUvZHJtL2RybV9wYW5lbC5oIGIvaW5jbHVkZS9kcm0vZHJtX3BhbmVsLmgKPiA+IGluZGV4IDRi OWM2NTZkYzE1ZS4uY2U4ZGE2NDAyMmI0IDEwMDY0NAo+ID4gLS0tIGEvaW5jbHVkZS9kcm0vZHJt X3BhbmVsLmgKPiA+ICsrKyBiL2luY2x1ZGUvZHJtL2RybV9wYW5lbC5oCj4gPiBAQCAtMTM5LDYg KzEzOSwxNSBAQCBzdHJ1Y3QgZHJtX3BhbmVsIHsKPiA+ICAJICovCj4gPiAgCWNvbnN0IHN0cnVj dCBkcm1fcGFuZWxfZnVuY3MgKmZ1bmNzOwo+ID4gIAo+ID4gKwkvKioKPiA+ICsJICogQGNvbm5l Y3Rvcl90eXBlOgo+ID4gKwkgKgo+ID4gKwkgKiBUeXBlIG9mIHRoZSBwYW5lbCBhcyBhIERSTV9N T0RFX0NPTk5FQ1RPUl8qIHZhbHVlLiBUaGlzIGlzIHVzZWQgdG8KPiA+ICsJICogaW5pdGlhbGlz ZSB0aGUgZHJtX2Nvbm5lY3RvciBjb3JyZXNwb25kaW5nIHRvIHRoZSBwYW5lbCB3aXRoIHRoZQo+ ID4gKwkgKiBjb3JyZWN0IGNvbm5lY3RvciB0eXBlLgo+ID4gKwkgKi8KPiA+ICsJaW50IGNvbm5l Y3Rvcl90eXBlOwo+ID4gKwo+ID4gIAkvKioKPiA+ICAJICogQGxpc3Q6Cj4gPiAgCSAqCj4gPiBA QCAtMTQ4LDcgKzE1Nyw4IEBAIHN0cnVjdCBkcm1fcGFuZWwgewo+ID4gIH07Cj4gPiAgCj4gPiAg dm9pZCBkcm1fcGFuZWxfaW5pdChzdHJ1Y3QgZHJtX3BhbmVsICpwYW5lbCwgc3RydWN0IGRldmlj ZSAqZGV2LAo+ID4gLQkJICAgIGNvbnN0IHN0cnVjdCBkcm1fcGFuZWxfZnVuY3MgKmZ1bmNzKTsK PiA+ICsJCSAgICBjb25zdCBzdHJ1Y3QgZHJtX3BhbmVsX2Z1bmNzICpmdW5jcywKPiA+ICsJCSAg ICBpbnQgY29ubmVjdG9yX3R5cGUpOwo+ID4gIAo+ID4gIGludCBkcm1fcGFuZWxfYWRkKHN0cnVj dCBkcm1fcGFuZWwgKnBhbmVsKTsKPiA+ICB2b2lkIGRybV9wYW5lbF9yZW1vdmUoc3RydWN0IGRy bV9wYW5lbCAqcGFuZWwpOwoKLS0gClJlZ2FyZHMsCgpMYXVyZW50IFBpbmNoYXJ0Cl9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5n IGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVk ZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbA==