From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Deepak, M" Subject: Re: [PATCH 1/1] drm/i915: make backlight hooks connector specific Date: Tue, 29 Sep 2015 10:10:05 +0000 Message-ID: References: <20150914141743.GK3383@phenom.ffwll.local> <87bnd4jhem.fsf@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by gabe.freedesktop.org (Postfix) with ESMTP id 18D726E79E for ; Tue, 29 Sep 2015 03:10:11 -0700 (PDT) In-Reply-To: <87bnd4jhem.fsf@intel.com> Content-Language: en-US List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: "Nikula, Jani" , Daniel Vetter Cc: "Adebisi, YetundeX" , "intel-gfx@lists.freedesktop.org" List-Id: intel-gfx@lists.freedesktop.org Cgo+LS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0KPkZyb206IE5pa3VsYSwgSmFuaQo+U2VudDog VHVlc2RheSwgU2VwdGVtYmVyIDE1LCAyMDE1IDEyOjMxIFBNCj5UbzogRGFuaWVsIFZldHRlcgo+ Q2M6IERlZXBhaywgTTsgQWRlYmlzaSwgWWV0dW5kZVg7IGludGVsLWdmeEBsaXN0cy5mcmVlZGVz a3RvcC5vcmcKPlN1YmplY3Q6IFJlOiBbSW50ZWwtZ2Z4XSBbUEFUQ0ggMS8xXSBkcm0vaTkxNTog bWFrZSBiYWNrbGlnaHQgaG9va3MKPmNvbm5lY3RvciBzcGVjaWZpYwo+Cj5PbiBNb24sIDE0IFNl cCAyMDE1LCBEYW5pZWwgVmV0dGVyIDxkYW5pZWxAZmZ3bGwuY2g+IHdyb3RlOgo+PiBPbiBNb24s IFNlcCAxNCwgMjAxNSBhdCAwMjowMzo0OFBNICswMzAwLCBKYW5pIE5pa3VsYSB3cm90ZToKPj4+ IFByZXZpb3VzbHkgd2UndmUgcmVsaWVkIG9uIGhhdmluZyBiYXNpY2FsbHkgb25lIGJhY2tsaWdo dCBhbmQgb25lCj4+PiBiYWNrbGlnaHQgdHlwZSBwZXIgcGxhdGZvcm0uIFRoaXMgaXMgYWxyZWFk eSBhIGJpdCBxdWlya3kgd2l0aCBQTUlDCj4+PiBQV00gc3VwcG9ydCBvbiBWTFYvQ0hWIHBsYXRm b3JtcyB3aXRoIE1JUEkgRFNJLiBJbiB0aGUgZm9yZXNlZWFibGUKPj4+IGZ1dHVyZSB3ZSdsbCBo YXZlIGF0IGxlYXN0IERQQ0QgYmFzZWQgYmFja2xpZ2h0IGNvbnRyb2wgb24gZURQIGFuZAo+Pj4g RENTIGNvbW1hbmQgYmFzZWQgYmFja2xpZ2h0IGNvbnRyb2wgb24gTUlQSSBEU0kuIEJhY2tsaWdo dCBpcwo+Pj4gYmVjb21pbmcgbW9yZSBhbmQgbW9yZSBjb25uZWN0b3Igc3BlY2lmaWMsIHNvIHJl ZmxlY3QgdGhpcyBmYWN0IGJ5Cj4+PiBtYWtpbmcgdGhlIGJhY2tsaWdodCBjb250cm9sIGhvb2tz IGNvbm5lY3RvciBzcGVjaWZpYy4KPj4+Cj4+PiBUaGlzIGVuYWJsZXMgZnVydGhlciB3b3JrIHRv IHJldXNlIGdlbmVyaWMgYmFja2xpZ2h0IGNvZGUgaW4KPj4+IGludGVsX3BhbmVsLmMgd2hpbGUg YWRkaW5nIG1vcmUgc3BlY2lmaWMgYmFja2xpZ2h0IGNvZGUgYWNjZXNzZWQgdmlhCj4+PiB0aGUg aG9va3MuCj4+Pgo+Pj4gQ2M6IERlZXBhayBNIDxtLmRlZXBha0BpbnRlbC5jb20+Cj4+PiBDYzog WWV0dW5kZSBBZGViaXNpIDx5ZXR1bmRleC5hZGViaXNpQGludGVsLmNvbT4KPj4+IFNpZ25lZC1v ZmYtYnk6IEphbmkgTmlrdWxhIDxqYW5pLm5pa3VsYUBpbnRlbC5jb20+Cj4+PiAtLS0KUmV2aWV3 ZWQtYnk6IERlZXBhayBNIDxtLmRlZXBha0BpbnRlbC5jb20+Cgo+Pj4gIGRyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfZHJ2LmggICAgICB8ICAgOSAtLS0KPj4+ICBkcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9kaXNwbGF5LmMgfCAgIDIgLQo+Pj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2RwLmMgICAgICB8ICAgMiArLQo+Pj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5o ICAgICB8ICAxMyArKystCj4+PiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcGFuZWwuYyAg IHwgMTE2ICsrKysrKysrKysrKysrKysrKystLS0tLS0tLS0KPi0tLS0tLS0KPj4+ICA1IGZpbGVz IGNoYW5nZWQsIDc0IGluc2VydGlvbnMoKyksIDY4IGRlbGV0aW9ucygtKQo+Pj4KPj4+IGRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCj4+PiBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZHJ2LmggaW5kZXggMTc0ZjM5ZDBiZjQ2Li44MTMwMjNiNDM4YjIKPj4+ IDEwMDY0NAo+Pj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAo+Pj4gKysr IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAo+Pj4gQEAgLTY2NCwxNSArNjY0LDYg QEAgc3RydWN0IGRybV9pOTE1X2Rpc3BsYXlfZnVuY3Mgewo+Pj4gIAkvKiByZW5kZXIgY2xvY2sg aW5jcmVhc2UvZGVjcmVhc2UgKi8KPj4+ICAJLyogZGlzcGxheSBjbG9jayBpbmNyZWFzZS9kZWNy ZWFzZSAqLwo+Pj4gIAkvKiBwbGwgY2xvY2sgaW5jcmVhc2UvZGVjcmVhc2UgKi8KPj4+IC0KPj4+ IC0JaW50ICgqc2V0dXBfYmFja2xpZ2h0KShzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25uZWN0 b3IsIGVudW0gcGlwZQo+cGlwZSk7Cj4+PiAtCXVpbnQzMl90ICgqZ2V0X2JhY2tsaWdodCkoc3Ry dWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yKTsKPj4+IC0Jdm9pZCAoKnNldF9iYWNrbGln aHQpKHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvciwKPj4+IC0JCQkgICAgICB1aW50 MzJfdCBsZXZlbCk7Cj4+PiAtCXZvaWQgKCpkaXNhYmxlX2JhY2tsaWdodCkoc3RydWN0IGludGVs X2Nvbm5lY3RvciAqY29ubmVjdG9yKTsKPj4+IC0Jdm9pZCAoKmVuYWJsZV9iYWNrbGlnaHQpKHN0 cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3Rvcik7Cj4+PiAtCXVpbnQzMl90ICgqYmFja2xp Z2h0X2h6X3RvX3B3bSkoc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yLAo+Pj4gLQkJ CQkJdWludDMyX3QgaHopOwo+Pj4gIH07Cj4+Pgo+Pj4gIGVudW0gZm9yY2V3YWtlX2RvbWFpbl9p ZCB7Cj4+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5j Cj4+PiBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwo+Pj4gaW5kZXggZmMw MDg2NzQ4YjcxLi4xNWRlNGNjYzM5MDMgMTAwNjQ0Cj4+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9kaXNwbGF5LmMKPj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2Rpc3BsYXkuYwo+Pj4gQEAgLTE0NTIwLDggKzE0NTIwLDYgQEAgc3RhdGljIHZvaWQgaW50ZWxf aW5pdF9kaXNwbGF5KHN0cnVjdAo+ZHJtX2RldmljZSAqZGV2KQo+Pj4gIAkJZGV2X3ByaXYtPmRp c3BsYXkucXVldWVfZmxpcCA9IGludGVsX2RlZmF1bHRfcXVldWVfZmxpcDsKPj4+ICAJfQo+Pj4K Pj4+IC0JaW50ZWxfcGFuZWxfaW5pdF9iYWNrbGlnaHRfZnVuY3MoZGV2KTsKPj4+IC0KPj4+ICAJ bXV0ZXhfaW5pdCgmZGV2X3ByaXYtPnBwc19tdXRleCk7Cj4+PiAgfQo+Pj4KPj4+IGRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jCj4+PiBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2RwLmMgaW5kZXggYTY4NzI1MDhhZGVjLi5mYTFhNTI0ODQ0ZDUKPj4+IDEw MDY0NAo+Pj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYwo+Pj4gKysrIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYwo+Pj4gQEAgLTU5OTAsNyArNTk5MCw3IEBA IHN0YXRpYyBib29sIGludGVsX2VkcF9pbml0X2Nvbm5lY3RvcihzdHJ1Y3QKPmludGVsX2RwICpp bnRlbF9kcCwKPj4+ICAJfQo+Pj4KPj4+ICAJaW50ZWxfcGFuZWxfaW5pdCgmaW50ZWxfY29ubmVj dG9yLT5wYW5lbCwgZml4ZWRfbW9kZSwKPmRvd25jbG9ja19tb2RlKTsKPj4+IC0JaW50ZWxfY29u bmVjdG9yLT5wYW5lbC5iYWNrbGlnaHRfcG93ZXIgPQo+aW50ZWxfZWRwX2JhY2tsaWdodF9wb3dl cjsKPj4+ICsJaW50ZWxfY29ubmVjdG9yLT5wYW5lbC5iYWNrbGlnaHQucG93ZXIgPSBpbnRlbF9l ZHBfYmFja2xpZ2h0X3Bvd2VyOwo+Pj4gIAlpbnRlbF9wYW5lbF9zZXR1cF9iYWNrbGlnaHQoY29u bmVjdG9yLCBwaXBlKTsKPj4+Cj4+PiAgCXJldHVybiB0cnVlOwo+Pj4gZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCj4+PiBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2Rydi5oCj4+PiBpbmRleCAwMmE3NTVhNTBhOTYuLjM1YTY1Y2ExMDViMyAxMDA2NDQK Pj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCj4+PiArKysgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAo+Pj4gQEAgLTE4Miw5ICsxODIsMTcgQEAgc3Ry dWN0IGludGVsX3BhbmVsIHsKPj4+ICAJCXN0cnVjdCBwd21fZGV2aWNlICpwd207Cj4+Pgo+Pj4g IAkJc3RydWN0IGJhY2tsaWdodF9kZXZpY2UgKmRldmljZTsKPj4+IC0JfSBiYWNrbGlnaHQ7Cj4+ Pgo+Pj4gLQl2b2lkICgqYmFja2xpZ2h0X3Bvd2VyKShzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICos IGJvb2wgZW5hYmxlKTsKPj4+ICsJCS8qIENvbm5lY3RvciBhbmQgcGxhdGZvcm0gc3BlY2lmaWMg YmFja2xpZ2h0IGZ1bmN0aW9ucyAqLwo+Pj4gKwkJaW50ICgqc2V0dXApKHN0cnVjdCBpbnRlbF9j b25uZWN0b3IgKmNvbm5lY3RvciwgZW51bSBwaXBlCj5waXBlKTsKPj4+ICsJCXVpbnQzMl90ICgq Z2V0KShzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25uZWN0b3IpOwo+Pj4gKwkJdm9pZCAoKnNl dCkoc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yLCB1aW50MzJfdCBsZXZlbCk7Cj4+ PiArCQl2b2lkICgqZGlzYWJsZSkoc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yKTsK Pj4+ICsJCXZvaWQgKCplbmFibGUpKHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3Rvcik7 Cj4+PiArCQl1aW50MzJfdCAoKmh6X3RvX3B3bSkoc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29u bmVjdG9yLAo+Pj4gKwkJCQkgICAgICB1aW50MzJfdCBoeik7Cj4+PiArCQl2b2lkICgqcG93ZXIp KHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKiwgYm9vbCBlbmFibGUpOwo+Pj4gKwl9IGJhY2tsaWdo dDsKPj4KPj4gRm9yIHRoZSBpbnRlcmZhY2UsIGNvdWxkIHdlIGp1c3QgYWRkIGEgc3RydWN0IGJh Y2tsaWdodF9kZXZpY2UgaW5zdGVhZD8KPj4gWWVzIHRoZXJlJ3Mgbm8gdXNlZnVsIGtlcm5lbC1p bnRlcm5hbCBpbnRlcmZhY2UgZm9yIHRoYXQsIGJ1dCB3ZQo+PiBwcm9iYWJseSBuZWVkIHRvIGZp eCB0aGlzIHNvb25lciBvciBsYXRlciBhbnl3YXkuIEFuZCBpdCB3b3VsZAo+PiBmdXR1cmUtcHJv b2YgdGhpbmdzIGNvbnNpZGVyYWJsZSBJIHRoaW5rLgo+Cj5Oby4gVGhpcyBpcyBvdXIgaW50ZXJu YWwgaW50ZXJmYWNlIHRoYXQncyBiZWVuIHByb3ZlbiB0byBhYnN0cmFjdCBzZXZlbiBzbGlnaHRs eQo+ZGlmZmVyZW50IHdheXMgb2YgYWRqdXN0aW5nIGJhY2tsaWdodCwgd2l0aCBjb21tb24gYm9p bGVycGxhdGUgdG8gZGVhbCB3aXRoCj50aGUgcHJvYmxlbXMgb2Ygc3RydWN0IGJhY2tsaWdodF9k ZXZpY2UgYW5kIHNjYWxpbmcgYW5kIHNvIG9uLgo+Cj5CUiwKPkphbmkuCj4KPgo+PiAtRGFuaWVs Cj4+Cj4+PiAgfTsKPj4+Cj4+PiAgc3RydWN0IGludGVsX2Nvbm5lY3RvciB7Cj4+PiBAQCAtMTMy Miw3ICsxMzMwLDYgQEAgaW50IGludGVsX3BhbmVsX3NldHVwX2JhY2tsaWdodChzdHJ1Y3QKPj4+ IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwgZW51bSBwaXBlIHBpcGUpICB2b2lkCj4+PiBpbnRl bF9wYW5lbF9lbmFibGVfYmFja2xpZ2h0KHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3Rv cik7Cj4+PiB2b2lkIGludGVsX3BhbmVsX2Rpc2FibGVfYmFja2xpZ2h0KHN0cnVjdCBpbnRlbF9j b25uZWN0b3IKPj4+ICpjb25uZWN0b3IpOyAgdm9pZCBpbnRlbF9wYW5lbF9kZXN0cm95X2JhY2ts aWdodChzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcgo+Pj4gKmNvbm5lY3Rvcik7IC12b2lkIGludGVsX3Bh bmVsX2luaXRfYmFja2xpZ2h0X2Z1bmNzKHN0cnVjdCBkcm1fZGV2aWNlCj4+PiAqZGV2KTsgIGVu dW0gZHJtX2Nvbm5lY3Rvcl9zdGF0dXMgaW50ZWxfcGFuZWxfZGV0ZWN0KHN0cnVjdCBkcm1fZGV2 aWNlCj4qZGV2KTsgIGV4dGVybiBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqaW50ZWxfZmluZF9w YW5lbF9kb3duY2xvY2soCj4+PiAgCQkJCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4+PiBkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcGFuZWwuYwo+Pj4gYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9wYW5lbC5jCj4+PiBpbmRleCAyMDM0NDM4YTA2NjQuLjlhZGI2 MmIxYjk5ZiAxMDA2NDQKPj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BhbmVs LmMKPj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BhbmVsLmMKPj4+IEBAIC01 NjYsNyArNTY2LDcgQEAgc3RhdGljIHUzMiBpbnRlbF9wYW5lbF9nZXRfYmFja2xpZ2h0KHN0cnVj dAo+aW50ZWxfY29ubmVjdG9yICpjb25uZWN0b3IpCj4+PiAgCW11dGV4X2xvY2soJmRldl9wcml2 LT5iYWNrbGlnaHRfbG9jayk7Cj4+Pgo+Pj4gIAlpZiAocGFuZWwtPmJhY2tsaWdodC5lbmFibGVk KSB7Cj4+PiAtCQl2YWwgPSBkZXZfcHJpdi0+ZGlzcGxheS5nZXRfYmFja2xpZ2h0KGNvbm5lY3Rv cik7Cj4+PiArCQl2YWwgPSBwYW5lbC0+YmFja2xpZ2h0LmdldChjb25uZWN0b3IpOwo+Pj4gIAkJ dmFsID0gaW50ZWxfcGFuZWxfY29tcHV0ZV9icmlnaHRuZXNzKGNvbm5lY3RvciwgdmFsKTsKPj4+ ICAJfQo+Pj4KPj4+IEBAIC02NTUsMTMgKzY1NSwxMiBAQCBzdGF0aWMgdm9pZCBwd21fc2V0X2Jh Y2tsaWdodChzdHJ1Y3QKPj4+IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yLCB1MzIgbGV2ZWwp ICBzdGF0aWMgdm9pZAo+Pj4gaW50ZWxfcGFuZWxfYWN0dWFsbHlfc2V0X2JhY2tsaWdodChzdHJ1 Y3QgaW50ZWxfY29ubmVjdG9yICpjb25uZWN0b3IsCj4+PiB1MzIgbGV2ZWwpICB7Cj4+PiAtCXN0 cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBjb25uZWN0b3ItPmJhc2UuZGV2Owo+Pj4gLQlzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOwo+Pj4gKwlzdHJ1 Y3QgaW50ZWxfcGFuZWwgKnBhbmVsID0gJmNvbm5lY3Rvci0+cGFuZWw7Cj4+Pgo+Pj4gIAlEUk1f REVCVUdfRFJJVkVSKCJzZXQgYmFja2xpZ2h0IFBXTSA9ICVkXG4iLCBsZXZlbCk7Cj4+Pgo+Pj4g IAlsZXZlbCA9IGludGVsX3BhbmVsX2NvbXB1dGVfYnJpZ2h0bmVzcyhjb25uZWN0b3IsIGxldmVs KTsKPj4+IC0JZGV2X3ByaXYtPmRpc3BsYXkuc2V0X2JhY2tsaWdodChjb25uZWN0b3IsIGxldmVs KTsKPj4+ICsJcGFuZWwtPmJhY2tsaWdodC5zZXQoY29ubmVjdG9yLCBsZXZlbCk7Cj4+PiAgfQo+ Pj4KPj4+ICAvKiBzZXQgYmFja2xpZ2h0IGJyaWdodG5lc3MgdG8gbGV2ZWwgaW4gcmFuZ2UgWzAu Lm1heF0sIHNjYWxpbmcgd3J0Cj4+PiBodyBtaW4gKi8gQEAgLTgzNiw3ICs4MzUsNyBAQCB2b2lk Cj5pbnRlbF9wYW5lbF9kaXNhYmxlX2JhY2tsaWdodChzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpj b25uZWN0b3IpCj4+PiAgCWlmIChwYW5lbC0+YmFja2xpZ2h0LmRldmljZSkKPj4+ICAJCXBhbmVs LT5iYWNrbGlnaHQuZGV2aWNlLT5wcm9wcy5wb3dlciA9Cj5GQl9CTEFOS19QT1dFUkRPV047Cj4+ PiAgCXBhbmVsLT5iYWNrbGlnaHQuZW5hYmxlZCA9IGZhbHNlOwo+Pj4gLQlkZXZfcHJpdi0+ZGlz cGxheS5kaXNhYmxlX2JhY2tsaWdodChjb25uZWN0b3IpOwo+Pj4gKwlwYW5lbC0+YmFja2xpZ2h0 LmRpc2FibGUoY29ubmVjdG9yKTsKPj4+Cj4+PiAgCW11dGV4X3VubG9jaygmZGV2X3ByaXYtPmJh Y2tsaWdodF9sb2NrKTsKPj4+ICB9Cj4+PiBAQCAtMTA4NSw3ICsxMDg0LDcgQEAgdm9pZCBpbnRl bF9wYW5lbF9lbmFibGVfYmFja2xpZ2h0KHN0cnVjdAo+aW50ZWxfY29ubmVjdG9yICpjb25uZWN0 b3IpCj4+PiAgCQkJCQkJIHBhbmVsLT5iYWNrbGlnaHQuZGV2aWNlLQo+PnByb3BzLm1heF9icmln aHRuZXNzKTsKPj4+ICAJfQo+Pj4KPj4+IC0JZGV2X3ByaXYtPmRpc3BsYXkuZW5hYmxlX2JhY2ts aWdodChjb25uZWN0b3IpOwo+Pj4gKwlwYW5lbC0+YmFja2xpZ2h0LmVuYWJsZShjb25uZWN0b3Ip Owo+Pj4gIAlwYW5lbC0+YmFja2xpZ2h0LmVuYWJsZWQgPSB0cnVlOwo+Pj4gIAlpZiAocGFuZWwt PmJhY2tsaWdodC5kZXZpY2UpCj4+PiAgCQlwYW5lbC0+YmFja2xpZ2h0LmRldmljZS0+cHJvcHMu cG93ZXIgPQo+RkJfQkxBTktfVU5CTEFOSzsgQEAKPj4+IC0xMTEzLDEwICsxMTEyLDEwIEBAIHN0 YXRpYyBpbnQKPmludGVsX2JhY2tsaWdodF9kZXZpY2VfdXBkYXRlX3N0YXR1cyhzdHJ1Y3QgYmFj a2xpZ2h0X2RldmljZSAqYmQpCj4+PiAgCSAqIGNhbGxiYWNrIG5lZWRzIHRvIHRha2UgdGhpcyBp bnRvIGFjY291bnQuCj4+PiAgCSAqLwo+Pj4gIAlpZiAocGFuZWwtPmJhY2tsaWdodC5lbmFibGVk KSB7Cj4+PiAtCQlpZiAocGFuZWwtPmJhY2tsaWdodF9wb3dlcikgewo+Pj4gKwkJaWYgKHBhbmVs LT5iYWNrbGlnaHQucG93ZXIpIHsKPj4+ICAJCQlib29sIGVuYWJsZSA9IGJkLT5wcm9wcy5wb3dl ciA9PQo+RkJfQkxBTktfVU5CTEFOSyAmJgo+Pj4gIAkJCQliZC0+cHJvcHMuYnJpZ2h0bmVzcyAh PSAwOwo+Pj4gLQkJCXBhbmVsLT5iYWNrbGlnaHRfcG93ZXIoY29ubmVjdG9yLCBlbmFibGUpOwo+ Pj4gKwkJCXBhbmVsLT5iYWNrbGlnaHQucG93ZXIoY29ubmVjdG9yLCBlbmFibGUpOwo+Pj4gIAkJ fQo+Pj4gIAl9IGVsc2Ugewo+Pj4gIAkJYmQtPnByb3BzLnBvd2VyID0gRkJfQkxBTktfUE9XRVJE T1dOOyBAQCAtMTM0MSw2Cj4rMTM0MCw3IEBAIHN0YXRpYwo+Pj4gdTMyIGdldF9iYWNrbGlnaHRf bWF4X3ZidChzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25uZWN0b3IpICB7Cj4+PiAgCXN0cnVj dCBkcm1fZGV2aWNlICpkZXYgPSBjb25uZWN0b3ItPmJhc2UuZGV2Owo+Pj4gIAlzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOwo+Pj4gKwlzdHJ1Y3Qg aW50ZWxfcGFuZWwgKnBhbmVsID0gJmNvbm5lY3Rvci0+cGFuZWw7Cj4+PiAgCXUxNiBwd21fZnJl cV9oeiA9IGRldl9wcml2LT52YnQuYmFja2xpZ2h0LnB3bV9mcmVxX2h6Owo+Pj4gIAl1MzIgcHdt Owo+Pj4KPj4+IEBAIC0xMzQ5LDEyICsxMzQ5LDEyIEBAIHN0YXRpYyB1MzIgZ2V0X2JhY2tsaWdo dF9tYXhfdmJ0KHN0cnVjdAo+aW50ZWxfY29ubmVjdG9yICpjb25uZWN0b3IpCj4+PiAgCQlyZXR1 cm4gMDsKPj4+ICAJfQo+Pj4KPj4+IC0JaWYgKCFkZXZfcHJpdi0+ZGlzcGxheS5iYWNrbGlnaHRf aHpfdG9fcHdtKSB7Cj4+PiArCWlmICghcGFuZWwtPmJhY2tsaWdodC5oel90b19wd20pIHsKPj4+ ICAJCURSTV9ERUJVR19LTVMoImJhY2tsaWdodCBmcmVxdWVuY3kgc2V0dGluZyBmcm9tIFZCVAo+ Y3VycmVudGx5IG5vdCBzdXBwb3J0ZWQgb24gdGhpcyBwbGF0Zm9ybVxuIik7Cj4+PiAgCQlyZXR1 cm4gMDsKPj4+ICAJfQo+Pj4KPj4+IC0JcHdtID0gZGV2X3ByaXYtPmRpc3BsYXkuYmFja2xpZ2h0 X2h6X3RvX3B3bShjb25uZWN0b3IsCj5wd21fZnJlcV9oeik7Cj4+PiArCXB3bSA9IHBhbmVsLT5i YWNrbGlnaHQuaHpfdG9fcHdtKGNvbm5lY3RvciwgcHdtX2ZyZXFfaHopOwo+Pj4gIAlpZiAoIXB3 bSkgewo+Pj4gIAkJRFJNX0RFQlVHX0tNUygiYmFja2xpZ2h0IGZyZXF1ZW5jeSBjb252ZXJzaW9u Cj5mYWlsZWRcbiIpOwo+Pj4gIAkJcmV0dXJuIDA7Cj4+PiBAQCAtMTYzOSw5ICsxNjM5LDEzIEBA IGludCBpbnRlbF9wYW5lbF9zZXR1cF9iYWNrbGlnaHQoc3RydWN0Cj5kcm1fY29ubmVjdG9yICpj b25uZWN0b3IsIGVudW0gcGlwZSBwaXBlKQo+Pj4gIAkJfQo+Pj4gIAl9Cj4+Pgo+Pj4gKwkvKiBl bnN1cmUgaW50ZWxfcGFuZWwgaGFzIGJlZW4gaW5pdGlhbGl6ZWQgZmlyc3QgKi8KPj4+ICsJaWYg KFdBUk5fT04oIXBhbmVsLT5iYWNrbGlnaHQuc2V0dXApKQo+Pj4gKwkJcmV0dXJuIC1FTk9ERVY7 Cj4+PiArCj4+PiAgCS8qIHNldCBsZXZlbCBhbmQgbWF4IGluIHBhbmVsIHN0cnVjdCAqLwo+Pj4g IAltdXRleF9sb2NrKCZkZXZfcHJpdi0+YmFja2xpZ2h0X2xvY2spOwo+Pj4gLQlyZXQgPSBkZXZf cHJpdi0+ZGlzcGxheS5zZXR1cF9iYWNrbGlnaHQoaW50ZWxfY29ubmVjdG9yLCBwaXBlKTsKPj4+ ICsJcmV0ID0gcGFuZWwtPmJhY2tsaWdodC5zZXR1cChpbnRlbF9jb25uZWN0b3IsIHBpcGUpOwo+ Pj4gIAltdXRleF91bmxvY2soJmRldl9wcml2LT5iYWNrbGlnaHRfbG9jayk7Cj4+Pgo+Pj4gIAlp ZiAocmV0KSB7Cj4+PiBAQCAtMTY3Myw2MiArMTY3Nyw2NiBAQCB2b2lkIGludGVsX3BhbmVsX2Rl c3Ryb3lfYmFja2xpZ2h0KHN0cnVjdAo+Pj4gZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKSAgfQo+ Pj4KPj4+ICAvKiBTZXQgdXAgY2hpcCBzcGVjaWZpYyBiYWNrbGlnaHQgZnVuY3Rpb25zICovIC12 b2lkCj4+PiBpbnRlbF9wYW5lbF9pbml0X2JhY2tsaWdodF9mdW5jcyhzdHJ1Y3QgZHJtX2Rldmlj ZSAqZGV2KQo+Pj4gK3N0YXRpYyB2b2lkCj4+PiAraW50ZWxfcGFuZWxfaW5pdF9iYWNrbGlnaHRf ZnVuY3Moc3RydWN0IGludGVsX3BhbmVsICpwYW5lbCkKPj4+ICB7Cj4+PiArCXN0cnVjdCBpbnRl bF9jb25uZWN0b3IgKmludGVsX2Nvbm5lY3RvciA9Cj4+PiArCQljb250YWluZXJfb2YocGFuZWws IHN0cnVjdCBpbnRlbF9jb25uZWN0b3IsIHBhbmVsKTsKPj4+ICsJc3RydWN0IGRybV9kZXZpY2Ug KmRldiA9IGludGVsX2Nvbm5lY3Rvci0+YmFzZS5kZXY7Cj4+PiAgCXN0cnVjdCBkcm1faTkxNV9w cml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7Cj4+Pgo+Pj4gIAlpZiAoSVNfQlJP WFRPTihkZXYpKSB7Cj4+PiAtCQlkZXZfcHJpdi0+ZGlzcGxheS5zZXR1cF9iYWNrbGlnaHQgPSBi eHRfc2V0dXBfYmFja2xpZ2h0Owo+Pj4gLQkJZGV2X3ByaXYtPmRpc3BsYXkuZW5hYmxlX2JhY2ts aWdodCA9IGJ4dF9lbmFibGVfYmFja2xpZ2h0Owo+Pj4gLQkJZGV2X3ByaXYtPmRpc3BsYXkuZGlz YWJsZV9iYWNrbGlnaHQgPSBieHRfZGlzYWJsZV9iYWNrbGlnaHQ7Cj4+PiAtCQlkZXZfcHJpdi0+ ZGlzcGxheS5zZXRfYmFja2xpZ2h0ID0gYnh0X3NldF9iYWNrbGlnaHQ7Cj4+PiAtCQlkZXZfcHJp di0+ZGlzcGxheS5nZXRfYmFja2xpZ2h0ID0gYnh0X2dldF9iYWNrbGlnaHQ7Cj4+PiArCQlwYW5l bC0+YmFja2xpZ2h0LnNldHVwID0gYnh0X3NldHVwX2JhY2tsaWdodDsKPj4+ICsJCXBhbmVsLT5i YWNrbGlnaHQuZW5hYmxlID0gYnh0X2VuYWJsZV9iYWNrbGlnaHQ7Cj4+PiArCQlwYW5lbC0+YmFj a2xpZ2h0LmRpc2FibGUgPSBieHRfZGlzYWJsZV9iYWNrbGlnaHQ7Cj4+PiArCQlwYW5lbC0+YmFj a2xpZ2h0LnNldCA9IGJ4dF9zZXRfYmFja2xpZ2h0Owo+Pj4gKwkJcGFuZWwtPmJhY2tsaWdodC5n ZXQgPSBieHRfZ2V0X2JhY2tsaWdodDsKPj4+ICAJfSBlbHNlIGlmIChIQVNfUENIX0xQVChkZXYp IHx8IEhBU19QQ0hfU1BUKGRldikpIHsKPj4+IC0JCWRldl9wcml2LT5kaXNwbGF5LnNldHVwX2Jh Y2tsaWdodCA9IGxwdF9zZXR1cF9iYWNrbGlnaHQ7Cj4+PiAtCQlkZXZfcHJpdi0+ZGlzcGxheS5l bmFibGVfYmFja2xpZ2h0ID0gbHB0X2VuYWJsZV9iYWNrbGlnaHQ7Cj4+PiAtCQlkZXZfcHJpdi0+ ZGlzcGxheS5kaXNhYmxlX2JhY2tsaWdodCA9IGxwdF9kaXNhYmxlX2JhY2tsaWdodDsKPj4+IC0J CWRldl9wcml2LT5kaXNwbGF5LnNldF9iYWNrbGlnaHQgPSBscHRfc2V0X2JhY2tsaWdodDsKPj4+ IC0JCWRldl9wcml2LT5kaXNwbGF5LmdldF9iYWNrbGlnaHQgPSBscHRfZ2V0X2JhY2tsaWdodDsK Pj4+ICsJCXBhbmVsLT5iYWNrbGlnaHQuc2V0dXAgPSBscHRfc2V0dXBfYmFja2xpZ2h0Owo+Pj4g KwkJcGFuZWwtPmJhY2tsaWdodC5lbmFibGUgPSBscHRfZW5hYmxlX2JhY2tsaWdodDsKPj4+ICsJ CXBhbmVsLT5iYWNrbGlnaHQuZGlzYWJsZSA9IGxwdF9kaXNhYmxlX2JhY2tsaWdodDsKPj4+ICsJ CXBhbmVsLT5iYWNrbGlnaHQuc2V0ID0gbHB0X3NldF9iYWNrbGlnaHQ7Cj4+PiArCQlwYW5lbC0+ YmFja2xpZ2h0LmdldCA9IGxwdF9nZXRfYmFja2xpZ2h0Owo+Pj4gIAkJaWYgKEhBU19QQ0hfTFBU KGRldikpCj4+PiAtCQkJZGV2X3ByaXYtPmRpc3BsYXkuYmFja2xpZ2h0X2h6X3RvX3B3bSA9Cj5s cHRfaHpfdG9fcHdtOwo+Pj4gKwkJCXBhbmVsLT5iYWNrbGlnaHQuaHpfdG9fcHdtID0gbHB0X2h6 X3RvX3B3bTsKPj4+ICAJCWVsc2UKPj4+IC0JCQlkZXZfcHJpdi0+ZGlzcGxheS5iYWNrbGlnaHRf aHpfdG9fcHdtID0KPnNwdF9oel90b19wd207Cj4+PiArCQkJcGFuZWwtPmJhY2tsaWdodC5oel90 b19wd20gPSBzcHRfaHpfdG9fcHdtOwo+Pj4gIAl9IGVsc2UgaWYgKEhBU19QQ0hfU1BMSVQoZGV2 KSkgewo+Pj4gLQkJZGV2X3ByaXYtPmRpc3BsYXkuc2V0dXBfYmFja2xpZ2h0ID0gcGNoX3NldHVw X2JhY2tsaWdodDsKPj4+IC0JCWRldl9wcml2LT5kaXNwbGF5LmVuYWJsZV9iYWNrbGlnaHQgPSBw Y2hfZW5hYmxlX2JhY2tsaWdodDsKPj4+IC0JCWRldl9wcml2LT5kaXNwbGF5LmRpc2FibGVfYmFj a2xpZ2h0ID0gcGNoX2Rpc2FibGVfYmFja2xpZ2h0Owo+Pj4gLQkJZGV2X3ByaXYtPmRpc3BsYXku c2V0X2JhY2tsaWdodCA9IHBjaF9zZXRfYmFja2xpZ2h0Owo+Pj4gLQkJZGV2X3ByaXYtPmRpc3Bs YXkuZ2V0X2JhY2tsaWdodCA9IHBjaF9nZXRfYmFja2xpZ2h0Owo+Pj4gLQkJZGV2X3ByaXYtPmRp c3BsYXkuYmFja2xpZ2h0X2h6X3RvX3B3bSA9IHBjaF9oel90b19wd207Cj4+PiArCQlwYW5lbC0+ YmFja2xpZ2h0LnNldHVwID0gcGNoX3NldHVwX2JhY2tsaWdodDsKPj4+ICsJCXBhbmVsLT5iYWNr bGlnaHQuZW5hYmxlID0gcGNoX2VuYWJsZV9iYWNrbGlnaHQ7Cj4+PiArCQlwYW5lbC0+YmFja2xp Z2h0LmRpc2FibGUgPSBwY2hfZGlzYWJsZV9iYWNrbGlnaHQ7Cj4+PiArCQlwYW5lbC0+YmFja2xp Z2h0LnNldCA9IHBjaF9zZXRfYmFja2xpZ2h0Owo+Pj4gKwkJcGFuZWwtPmJhY2tsaWdodC5nZXQg PSBwY2hfZ2V0X2JhY2tsaWdodDsKPj4+ICsJCXBhbmVsLT5iYWNrbGlnaHQuaHpfdG9fcHdtID0g cGNoX2h6X3RvX3B3bTsKPj4+ICAJfSBlbHNlIGlmIChJU19WQUxMRVlWSUVXKGRldikpIHsKPj4+ ICAJCWlmIChkZXZfcHJpdi0+dmJ0Lmhhc19taXBpKSB7Cj4+PiAtCQkJZGV2X3ByaXYtPmRpc3Bs YXkuc2V0dXBfYmFja2xpZ2h0ID0KPnB3bV9zZXR1cF9iYWNrbGlnaHQ7Cj4+PiAtCQkJZGV2X3By aXYtPmRpc3BsYXkuZW5hYmxlX2JhY2tsaWdodCA9Cj5wd21fZW5hYmxlX2JhY2tsaWdodDsKPj4+ IC0JCQlkZXZfcHJpdi0+ZGlzcGxheS5kaXNhYmxlX2JhY2tsaWdodCA9Cj5wd21fZGlzYWJsZV9i YWNrbGlnaHQ7Cj4+PiAtCQkJZGV2X3ByaXYtPmRpc3BsYXkuc2V0X2JhY2tsaWdodCA9IHB3bV9z ZXRfYmFja2xpZ2h0Owo+Pj4gLQkJCWRldl9wcml2LT5kaXNwbGF5LmdldF9iYWNrbGlnaHQgPQo+ cHdtX2dldF9iYWNrbGlnaHQ7Cj4+PiArCQkJcGFuZWwtPmJhY2tsaWdodC5zZXR1cCA9IHB3bV9z ZXR1cF9iYWNrbGlnaHQ7Cj4+PiArCQkJcGFuZWwtPmJhY2tsaWdodC5lbmFibGUgPSBwd21fZW5h YmxlX2JhY2tsaWdodDsKPj4+ICsJCQlwYW5lbC0+YmFja2xpZ2h0LmRpc2FibGUgPSBwd21fZGlz YWJsZV9iYWNrbGlnaHQ7Cj4+PiArCQkJcGFuZWwtPmJhY2tsaWdodC5zZXQgPSBwd21fc2V0X2Jh Y2tsaWdodDsKPj4+ICsJCQlwYW5lbC0+YmFja2xpZ2h0LmdldCA9IHB3bV9nZXRfYmFja2xpZ2h0 Owo+Pj4gIAkJfSBlbHNlIHsKPj4+IC0JCQlkZXZfcHJpdi0+ZGlzcGxheS5zZXR1cF9iYWNrbGln aHQgPQo+dmx2X3NldHVwX2JhY2tsaWdodDsKPj4+IC0JCQlkZXZfcHJpdi0+ZGlzcGxheS5lbmFi bGVfYmFja2xpZ2h0ID0KPnZsdl9lbmFibGVfYmFja2xpZ2h0Owo+Pj4gLQkJCWRldl9wcml2LT5k aXNwbGF5LmRpc2FibGVfYmFja2xpZ2h0ID0KPnZsdl9kaXNhYmxlX2JhY2tsaWdodDsKPj4+IC0J CQlkZXZfcHJpdi0+ZGlzcGxheS5zZXRfYmFja2xpZ2h0ID0gdmx2X3NldF9iYWNrbGlnaHQ7Cj4+ PiAtCQkJZGV2X3ByaXYtPmRpc3BsYXkuZ2V0X2JhY2tsaWdodCA9IHZsdl9nZXRfYmFja2xpZ2h0 Owo+Pj4gLQkJCWRldl9wcml2LT5kaXNwbGF5LmJhY2tsaWdodF9oel90b19wd20gPQo+dmx2X2h6 X3RvX3B3bTsKPj4+ICsJCQlwYW5lbC0+YmFja2xpZ2h0LnNldHVwID0gdmx2X3NldHVwX2JhY2ts aWdodDsKPj4+ICsJCQlwYW5lbC0+YmFja2xpZ2h0LmVuYWJsZSA9IHZsdl9lbmFibGVfYmFja2xp Z2h0Owo+Pj4gKwkJCXBhbmVsLT5iYWNrbGlnaHQuZGlzYWJsZSA9IHZsdl9kaXNhYmxlX2JhY2ts aWdodDsKPj4+ICsJCQlwYW5lbC0+YmFja2xpZ2h0LnNldCA9IHZsdl9zZXRfYmFja2xpZ2h0Owo+ Pj4gKwkJCXBhbmVsLT5iYWNrbGlnaHQuZ2V0ID0gdmx2X2dldF9iYWNrbGlnaHQ7Cj4+PiArCQkJ cGFuZWwtPmJhY2tsaWdodC5oel90b19wd20gPSB2bHZfaHpfdG9fcHdtOwo+Pj4gIAkJfQo+Pj4g IAl9IGVsc2UgaWYgKElTX0dFTjQoZGV2KSkgewo+Pj4gLQkJZGV2X3ByaXYtPmRpc3BsYXkuc2V0 dXBfYmFja2xpZ2h0ID0gaTk2NV9zZXR1cF9iYWNrbGlnaHQ7Cj4+PiAtCQlkZXZfcHJpdi0+ZGlz cGxheS5lbmFibGVfYmFja2xpZ2h0ID0gaTk2NV9lbmFibGVfYmFja2xpZ2h0Owo+Pj4gLQkJZGV2 X3ByaXYtPmRpc3BsYXkuZGlzYWJsZV9iYWNrbGlnaHQgPSBpOTY1X2Rpc2FibGVfYmFja2xpZ2h0 Owo+Pj4gLQkJZGV2X3ByaXYtPmRpc3BsYXkuc2V0X2JhY2tsaWdodCA9IGk5eHhfc2V0X2JhY2ts aWdodDsKPj4+IC0JCWRldl9wcml2LT5kaXNwbGF5LmdldF9iYWNrbGlnaHQgPSBpOXh4X2dldF9i YWNrbGlnaHQ7Cj4+PiAtCQlkZXZfcHJpdi0+ZGlzcGxheS5iYWNrbGlnaHRfaHpfdG9fcHdtID0g aTk2NV9oel90b19wd207Cj4+PiArCQlwYW5lbC0+YmFja2xpZ2h0LnNldHVwID0gaTk2NV9zZXR1 cF9iYWNrbGlnaHQ7Cj4+PiArCQlwYW5lbC0+YmFja2xpZ2h0LmVuYWJsZSA9IGk5NjVfZW5hYmxl X2JhY2tsaWdodDsKPj4+ICsJCXBhbmVsLT5iYWNrbGlnaHQuZGlzYWJsZSA9IGk5NjVfZGlzYWJs ZV9iYWNrbGlnaHQ7Cj4+PiArCQlwYW5lbC0+YmFja2xpZ2h0LnNldCA9IGk5eHhfc2V0X2JhY2ts aWdodDsKPj4+ICsJCXBhbmVsLT5iYWNrbGlnaHQuZ2V0ID0gaTl4eF9nZXRfYmFja2xpZ2h0Owo+ Pj4gKwkJcGFuZWwtPmJhY2tsaWdodC5oel90b19wd20gPSBpOTY1X2h6X3RvX3B3bTsKPj4+ICAJ fSBlbHNlIHsKPj4+IC0JCWRldl9wcml2LT5kaXNwbGF5LnNldHVwX2JhY2tsaWdodCA9IGk5eHhf c2V0dXBfYmFja2xpZ2h0Owo+Pj4gLQkJZGV2X3ByaXYtPmRpc3BsYXkuZW5hYmxlX2JhY2tsaWdo dCA9IGk5eHhfZW5hYmxlX2JhY2tsaWdodDsKPj4+IC0JCWRldl9wcml2LT5kaXNwbGF5LmRpc2Fi bGVfYmFja2xpZ2h0ID0gaTl4eF9kaXNhYmxlX2JhY2tsaWdodDsKPj4+IC0JCWRldl9wcml2LT5k aXNwbGF5LnNldF9iYWNrbGlnaHQgPSBpOXh4X3NldF9iYWNrbGlnaHQ7Cj4+PiAtCQlkZXZfcHJp di0+ZGlzcGxheS5nZXRfYmFja2xpZ2h0ID0gaTl4eF9nZXRfYmFja2xpZ2h0Owo+Pj4gLQkJZGV2 X3ByaXYtPmRpc3BsYXkuYmFja2xpZ2h0X2h6X3RvX3B3bSA9IGk5eHhfaHpfdG9fcHdtOwo+Pj4g KwkJcGFuZWwtPmJhY2tsaWdodC5zZXR1cCA9IGk5eHhfc2V0dXBfYmFja2xpZ2h0Owo+Pj4gKwkJ cGFuZWwtPmJhY2tsaWdodC5lbmFibGUgPSBpOXh4X2VuYWJsZV9iYWNrbGlnaHQ7Cj4+PiArCQlw YW5lbC0+YmFja2xpZ2h0LmRpc2FibGUgPSBpOXh4X2Rpc2FibGVfYmFja2xpZ2h0Owo+Pj4gKwkJ cGFuZWwtPmJhY2tsaWdodC5zZXQgPSBpOXh4X3NldF9iYWNrbGlnaHQ7Cj4+PiArCQlwYW5lbC0+ YmFja2xpZ2h0LmdldCA9IGk5eHhfZ2V0X2JhY2tsaWdodDsKPj4+ICsJCXBhbmVsLT5iYWNrbGln aHQuaHpfdG9fcHdtID0gaTl4eF9oel90b19wd207Cj4+PiAgCX0KPj4+ICB9Cj4+Pgo+Pj4gQEAg LTE3MzYsNiArMTc0NCw4IEBAIGludCBpbnRlbF9wYW5lbF9pbml0KHN0cnVjdCBpbnRlbF9wYW5l bCAqcGFuZWwsCj4+PiAgCQkgICAgIHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICpmaXhlZF9tb2Rl LAo+Pj4gIAkJICAgICBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqZG93bmNsb2NrX21vZGUpICB7 Cj4+PiArCWludGVsX3BhbmVsX2luaXRfYmFja2xpZ2h0X2Z1bmNzKHBhbmVsKTsKPj4+ICsKPj4+ ICAJcGFuZWwtPmZpeGVkX21vZGUgPSBmaXhlZF9tb2RlOwo+Pj4gIAlwYW5lbC0+ZG93bmNsb2Nr X21vZGUgPSBkb3duY2xvY2tfbW9kZTsKPj4+Cj4+PiAtLQo+Pj4gMi4xLjQKPj4+Cj4+PiBfX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+Pj4gSW50ZWwtZ2Z4 IG1haWxpbmcgbGlzdAo+Pj4gSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwo+Pj4gaHR0 cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo+Pgo+ PiAtLQo+PiBEYW5pZWwgVmV0dGVyCj4+IFNvZnR3YXJlIEVuZ2luZWVyLCBJbnRlbCBDb3Jwb3Jh dGlvbgo+PiBodHRwOi8vYmxvZy5mZndsbC5jaAo+Cj4tLQo+SmFuaSBOaWt1bGEsIEludGVsIE9w ZW4gU291cmNlIFRlY2hub2xvZ3kgQ2VudGVyCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3Rz LmZyZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlz dGluZm8vaW50ZWwtZ2Z4Cg==