From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Pandiyan, Dhinakaran" Subject: Re: [PATCH v10 2/3] drm/i915: Add option to support dynamic backlight via DPCD Date: Wed, 31 May 2017 21:52:29 +0000 Message-ID: <1496268778.24196.7.camel@dk-H97M-D3H> References: <20170527014209.186331-1-puthik@chromium.org> <20170527014209.186331-3-puthik@chromium.org> <1496205535.17832.19.camel@dk-H97M-D3H> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: Content-Language: en-US Content-ID: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: "puthik@chromium.org" Cc: "daniel.vetter@ffwll.ch" , "intel-gfx@lists.freedesktop.org" , "dri-devel@lists.freedesktop.org" List-Id: intel-gfx@lists.freedesktop.org T24gV2VkLCAyMDE3LTA1LTMxIGF0IDE0OjM3IC0wNzAwLCBQdXRoaWtvcm4gVm9yYXZvb3RpdmF0 IHdyb3RlOg0KPiANCj4gDQo+IE9uIFR1ZSwgTWF5IDMwLCAyMDE3IGF0IDk6MTggUE0sIFBhbmRp eWFuLCBEaGluYWthcmFuDQo+IDxkaGluYWthcmFuLnBhbmRpeWFuQGludGVsLmNvbT4gd3JvdGU6 DQo+ICAgICAgICAgT24gRnJpLCAyMDE3LTA1LTI2IGF0IDE4OjQyIC0wNzAwLCBQdXRoaWtvcm4g Vm9yYXZvb3RpdmF0DQo+ICAgICAgICAgd3JvdGU6DQo+ICAgICAgICAgPiBUaGlzIHBhdGNoIGFk ZHMgb3B0aW9uIHRvIGVuYWJsZSBkeW5hbWljIGJhY2tsaWdodCBmb3IgZURQDQo+ICAgICAgICAg PiBwYW5lbCB0aGF0IHN1cHBvcnRzIHRoaXMgZmVhdHVyZSB2aWEgRFBDRCByZWdpc3RlciBhbmQN Cj4gICAgICAgICA+IHNldCBtaW5pbXVtIC8gbWF4aW11bSBicmlnaHRuZXNzIHRvIDAlIGFuZCAx MDAlIG9mIHRoZQ0KPiAgICAgICAgID4gbm9ybWFsIGJyaWdodG5lc3MuDQo+ICAgICAgICAgPg0K PiAgICAgICAgID4gU2lnbmVkLW9mZi1ieTogUHV0aGlrb3JuIFZvcmF2b290aXZhdCA8cHV0aGlr QGNocm9taXVtLm9yZz4NCj4gICAgICAgICA+IC0tLQ0KPiAgICAgICAgID4gIGRyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfcGFyYW1zLmMgICAgICAgICAgICB8ICA1ICsrKysNCj4gICAgICAgICA+ ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3BhcmFtcy5oICAgICAgICAgICAgfCAgMyArLQ0K PiAgICAgICAgID4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwX2F1eF9iYWNrbGlnaHQu YyB8IDQyDQo+ICAgICAgICAgKysrKysrKysrKysrKysrKysrKysrKy0tLS0tDQo+ICAgICAgICAg PiAgMyBmaWxlcyBjaGFuZ2VkLCA0MSBpbnNlcnRpb25zKCspLCA5IGRlbGV0aW9ucygtKQ0KPiAg ICAgICAgID4NCj4gICAgICAgICA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X3BhcmFtcy5jDQo+ICAgICAgICAgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3BhcmFt cy5jDQo+ICAgICAgICAgPiBpbmRleCAzNzU4YWUxZjExYjQuLmNlMDMzZDU4MTM0ZSAxMDA2NDQN Cj4gICAgICAgICA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcGFyYW1zLmMNCj4g ICAgICAgICA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcGFyYW1zLmMNCj4gICAg ICAgICA+IEBAIC02NSw2ICs2NSw3IEBAIHN0cnVjdCBpOTE1X3BhcmFtcyBpOTE1IF9fcmVhZF9t b3N0bHkgPSB7DQo+ICAgICAgICAgPiAgICAgICAuaW5qZWN0X2xvYWRfZmFpbHVyZSA9IDAsDQo+ ICAgICAgICAgPiAgICAgICAuZW5hYmxlX2RwY2RfYmFja2xpZ2h0ID0gLTEsDQo+ICAgICAgICAg PiAgICAgICAuZW5hYmxlX2d2dCA9IGZhbHNlLA0KPiAgICAgICAgID4gKyAgICAgLmVuYWJsZV9k YmMgPSBmYWxzZSwNCj4gICAgICAgICANCj4gICAgICAgICBCYXNlZCBvbiBEYW5pZWwncyBlYXJs aWVyIGNvbW1lbnRzIG9uIG1vZHVsZSBwYXJhbWV0ZXJzLA0KPiAgICAgICAgIHNob3VsZG4ndCB0 aGlzDQo+ICAgICAgICAgYmUgZW5hYmxlZCBieSBkZWZhdWx0IHRvbz8NCj4gDQo+IA0KPiBZZXMu IFdpbGwgZG8uDQo+ICANCj4gICAgICAgICANCj4gICAgICAgICBPciBldmVuIG1vcmUgaW1wb3J0 YW50bHksIGlzIHRoaXMgdGhlIHJpZ2h0IGFwcHJvYWNoIHRvDQo+ICAgICAgICAgZW5hYmxlL2Rp c2FibGUNCj4gICAgICAgICBkeW5hbWljIGJhY2sgbGlnaHQgY29udHJvbD8gVGhlIHJlYXNvbiBJ IHJlY29tbWVuZGVkIGhhdmluZw0KPiAgICAgICAgIHNvbWUgc29ydCBvZg0KPiAgICAgICAgIGNv bnRyb2wgdG8gZGlzYWJsZS9lbmFibGUgaXMgdGhhdCB0aGUgZURQIHNwZWMuIHNheXMgdGhlDQo+ ICAgICAgICAgZmVhdHVyZSBjYW4NCj4gICAgICAgICBoYXZlIHVzZXIgdmlzaWJsZSBpbXBhY3Qu DQo+IA0KPiANCj4gSSBkb24ndCB0aGluayB3ZSBzaG91bGQgZXhwZWN0IGVuZCB1c2VyIHRvIHNl dCB0aGlzIGNvcnJlY3RseS4gRm9yDQo+IHBvd2VyIHVzZXIsDQo+IEkgdGhpbmsgdGhlIGk5MTVf cGFyYW1zIGlzIGFkZXF1YXRlLiBJIGRvbid0IHdhbnQgdG8gYWRkIG1vcmUNCj4gY29tcGxpY2F0 aW9uDQo+IHRvIHRoZSBkcml2ZXIuDQo+ICANCg0KU3VyZSwgSSBhbSBub3QgcmVxdWVzdGluZyBh bnkgY2hhbmdlcyBoZXJlIDopIEkgbWVhbnQgdG8gYWRkcmVzcyB0aGUNCnF1ZXN0aW9uIHRvIERh bmllbCBpbiBjYXNlIGhlIGhhZCBhbnkgZmVlZGJhY2suDQoNCi1ESw0KPiAgICAgICAgIA0KPiAg ICAgICAgIFRhYmxlIDEwLTMgIERpc3BsYXkgQ29udHJvbCBDYXBhYmlsaXRpZXMNCj4gICAgICAg ICANCj4gICAgICAgICAiV2hpbGUgdGhlIERCQyBjb250cm9sIGJpdOKAmXMgZnVuY3Rpb24gaXMg ZGVmaW5lZCBpbiB0aGlzDQo+ICAgICAgICAgU3RhbmRhcmQsIERCQyBpbXBsZW1lbnRhdGlvbiBz cGVjaWZpY3MgYXJlIG5vdCBkZWZpbmVkLA0KPiAgICAgICAgIGluY2x1ZGluZw0KPiAgICAgICAg IGludGVyYWN0aW9uIHdpdGggb3RoZXIgRFBDRCByZWdpc3RlciBzZXR0aW5ncy4gVGhlIERCQw0K PiAgICAgICAgIGltcGxlbWVudGF0aW9uLA0KPiAgICAgICAgIHZpc3VhbCBwZXJmb3JtYW5jZSwg YW5kIHBvd2VyIHNhdmluZ3MgY2hhcmFjdGVyaXN0aWNzIGNhbg0KPiAgICAgICAgIGRpZmZlciBi ZXR3ZWVuDQo+ICAgICAgICAgc3BlY2lmaWMgcGFuZWxzLiINCj4gICAgICAgICANCj4gICAgICAg ICAtREsNCj4gICAgICAgICANCj4gICAgICAgICA+ICB9Ow0KPiAgICAgICAgID4NCj4gICAgICAg ICA+ICBtb2R1bGVfcGFyYW1fbmFtZWQobW9kZXNldCwgaTkxNS5tb2Rlc2V0LCBpbnQsIDA0MDAp Ow0KPiAgICAgICAgID4gQEAgLTI1NCwzICsyNTUsNyBAQCBNT0RVTEVfUEFSTV9ERVNDKGVuYWJs ZV9kcGNkX2JhY2tsaWdodCwNCj4gICAgICAgICA+ICBtb2R1bGVfcGFyYW1fbmFtZWQoZW5hYmxl X2d2dCwgaTkxNS5lbmFibGVfZ3Z0LCBib29sLA0KPiAgICAgICAgIDA0MDApOw0KPiAgICAgICAg ID4gIE1PRFVMRV9QQVJNX0RFU0MoZW5hYmxlX2d2dCwNCj4gICAgICAgICA+ICAgICAgICJFbmFi bGUgc3VwcG9ydCBmb3IgSW50ZWwgR1ZULWcgZ3JhcGhpY3MNCj4gICAgICAgICB2aXJ0dWFsaXph dGlvbiBob3N0IHN1cHBvcnQoZGVmYXVsdDpmYWxzZSkiKTsNCj4gICAgICAgICA+ICsNCj4gICAg ICAgICA+ICttb2R1bGVfcGFyYW1fbmFtZWRfdW5zYWZlKGVuYWJsZV9kYmMsIGk5MTUuZW5hYmxl X2RiYywNCj4gICAgICAgICBib29sLCAwNjAwKTsNCj4gICAgICAgICA+ICtNT0RVTEVfUEFSTV9E RVNDKGVuYWJsZV9kYmMsDQo+ICAgICAgICAgPiArICAgICAiRW5hYmxlIHN1cHBvcnQgZm9yIGR5 bmFtaWMgYmFja2xpZ2h0IGNvbnRyb2wNCj4gICAgICAgICAoZGVmYXVsdDpmYWxzZSkiKTsNCj4g ICAgICAgICA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3BhcmFtcy5o DQo+ICAgICAgICAgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3BhcmFtcy5oDQo+ICAgICAg ICAgPiBpbmRleCBhYzAyZWZjZTZlMjIuLjJkZTNlMjg1MGI1NCAxMDA2NDQNCj4gICAgICAgICA+ IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcGFyYW1zLmgNCj4gICAgICAgICA+ICsr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcGFyYW1zLmgNCj4gICAgICAgICA+IEBAIC02 Nyw3ICs2Nyw4IEBADQo+ICAgICAgICAgPiAgICAgICBmdW5jKGJvb2wsIG51Y2xlYXJfcGFnZWZs aXApOyBcDQo+ICAgICAgICAgPiAgICAgICBmdW5jKGJvb2wsIGVuYWJsZV9kcF9tc3QpOyBcDQo+ ICAgICAgICAgPiAgICAgICBmdW5jKGludCwgZW5hYmxlX2RwY2RfYmFja2xpZ2h0KTsgXA0KPiAg ICAgICAgID4gLSAgICAgZnVuYyhib29sLCBlbmFibGVfZ3Z0KQ0KPiAgICAgICAgID4gKyAgICAg ZnVuYyhib29sLCBlbmFibGVfZ3Z0KTsgXA0KPiAgICAgICAgID4gKyAgICAgZnVuYyhib29sLCBl bmFibGVfZGJjKQ0KPiAgICAgICAgID4NCj4gICAgICAgICA+ICAjZGVmaW5lIE1FTUJFUihULCBt ZW1iZXIpIFQgbWVtYmVyDQo+ICAgICAgICAgPiAgc3RydWN0IGk5MTVfcGFyYW1zIHsNCj4gICAg ICAgICA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcF9hdXhfYmFj a2xpZ2h0LmMNCj4gICAgICAgICBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwX2F1eF9i YWNrbGlnaHQuYw0KPiAgICAgICAgID4gaW5kZXggYzg5YWFlODA0NjU5Li5mNTVhZjQxY2UzYmQg MTAwNjQ0DQo+ICAgICAgICAgPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcF9h dXhfYmFja2xpZ2h0LmMNCj4gICAgICAgICA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2RwX2F1eF9iYWNrbGlnaHQuYw0KPiAgICAgICAgID4gQEAgLTEwMCwxMSArMTAwLDI2IEBA IGludGVsX2RwX2F1eF9zZXRfYmFja2xpZ2h0KHN0cnVjdA0KPiAgICAgICAgIGludGVsX2Nvbm5l Y3RvciAqY29ubmVjdG9yLCB1MzIgbGV2ZWwpDQo+ICAgICAgICAgPiAgICAgICB9DQo+ICAgICAg ICAgPiAgfQ0KPiAgICAgICAgID4NCj4gICAgICAgICA+ICsvKg0KPiAgICAgICAgID4gKyAqIFNl dCBtaW5pbXVtIC8gbWF4aW11bSBkeW5hbWljIGJyaWdodG5lc3MgcGVyY2VudGFnZS4NCj4gICAg ICAgICBUaGlzIHZhbHVlIGlzIGV4cHJlc3NlZA0KPiAgICAgICAgID4gKyAqIGFzIHRoZSBwZXJj ZW50YWdlIG9mIG5vcm1hbCBicmlnaHRuZXNzIGluIDUlIGluY3JlbWVudHMuDQo+ICAgICAgICAg PiArICovDQo+ICAgICAgICAgPiArc3RhdGljIHZvaWQNCj4gICAgICAgICA+ICtpbnRlbF9kcF9h dXhfc2V0X2R5bmFtaWNfYmFja2xpZ2h0X3BlcmNlbnQoc3RydWN0IGludGVsX2RwDQo+ICAgICAg ICAgKmludGVsX2RwLA0KPiAgICAgICAgID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB1MzIgbWluLCB1MzIgbWF4KQ0KPiAgICAgICAgID4gK3sNCj4gICAgICAgICA+ ICsgICAgIHU4IGRiY1tdID0geyBESVZfUk9VTkRfQ0xPU0VTVChtaW4sIDUpLA0KPiAgICAgICAg IERJVl9ST1VORF9DTE9TRVNUKG1heCwgNSkgfTsNCj4gICAgICAgICA+ICsNCj4gICAgICAgICA+ ICsgICAgIGlmIChkcm1fZHBfZHBjZF93cml0ZSgmaW50ZWxfZHAtPmF1eCwNCj4gICAgICAgICBE UF9FRFBfREJDX01JTklNVU1fQlJJR0hUTkVTU19TRVQsDQo+ICAgICAgICAgPiArICAgICAgICAg ICAgICAgICAgICAgICBkYmMsIHNpemVvZihkYmMpKSA8IDApIHsNCj4gICAgICAgICA+ICsgICAg ICAgICAgICAgRFJNX0RFQlVHX0tNUygiRmFpbGVkIHRvIHdyaXRlIGF1eCBEQkMNCj4gICAgICAg ICBicmlnaHRuZXNzIGxldmVsXG4iKTsNCj4gICAgICAgICA+ICsgICAgIH0NCj4gICAgICAgICA+ ICt9DQo+ICAgICAgICAgPiArDQo+ICAgICAgICAgPiAgc3RhdGljIHZvaWQgaW50ZWxfZHBfYXV4 X2VuYWJsZV9iYWNrbGlnaHQoc3RydWN0DQo+ICAgICAgICAgaW50ZWxfY29ubmVjdG9yICpjb25u ZWN0b3IpDQo+ICAgICAgICAgPiAgew0KPiAgICAgICAgID4gICAgICAgc3RydWN0IGludGVsX2Rw ICppbnRlbF9kcCA9DQo+ICAgICAgICAgZW5jX3RvX2ludGVsX2RwKCZjb25uZWN0b3ItPmVuY29k ZXItPmJhc2UpOw0KPiAgICAgICAgID4gLSAgICAgdWludDhfdCBkcGNkX2J1ZiA9IDA7DQo+ICAg ICAgICAgPiAtICAgICB1aW50OF90IGVkcF9iYWNrbGlnaHRfbW9kZSA9IDA7DQo+ICAgICAgICAg PiArICAgICB1aW50OF90IGRwY2RfYnVmLCBuZXdfZHBjZF9idWYsIGVkcF9iYWNrbGlnaHRfbW9k ZTsNCj4gICAgICAgICA+DQo+ICAgICAgICAgPiAgICAgICBpZiAoZHJtX2RwX2RwY2RfcmVhZGIo JmludGVsX2RwLT5hdXgsDQo+ICAgICAgICAgPiAgICAgICAgICAgICAgICAgICAgICAgRFBfRURQ X0JBQ0tMSUdIVF9NT0RFX1NFVF9SRUdJU1RFUiwNCj4gICAgICAgICAmZHBjZF9idWYpICE9IDEp IHsNCj4gICAgICAgICA+IEBAIC0xMTMsMTggKzEyOCwxNSBAQCBzdGF0aWMgdm9pZA0KPiAgICAg ICAgIGludGVsX2RwX2F1eF9lbmFibGVfYmFja2xpZ2h0KHN0cnVjdCBpbnRlbF9jb25uZWN0b3IN Cj4gICAgICAgICAqY29ubmVjdG9yKQ0KPiAgICAgICAgID4gICAgICAgICAgICAgICByZXR1cm47 DQo+ICAgICAgICAgPiAgICAgICB9DQo+ICAgICAgICAgPg0KPiAgICAgICAgID4gKyAgICAgbmV3 X2RwY2RfYnVmID0gZHBjZF9idWY7DQo+ICAgICAgICAgPiAgICAgICBlZHBfYmFja2xpZ2h0X21v ZGUgPSBkcGNkX2J1ZiAmDQo+ICAgICAgICAgRFBfRURQX0JBQ0tMSUdIVF9DT05UUk9MX01PREVf TUFTSzsNCj4gICAgICAgICA+DQo+ICAgICAgICAgPiAgICAgICBzd2l0Y2ggKGVkcF9iYWNrbGln aHRfbW9kZSkgew0KPiAgICAgICAgID4gICAgICAgY2FzZSBEUF9FRFBfQkFDS0xJR0hUX0NPTlRS T0xfTU9ERV9QV006DQo+ICAgICAgICAgPiAgICAgICBjYXNlIERQX0VEUF9CQUNLTElHSFRfQ09O VFJPTF9NT0RFX1BSRVNFVDoNCj4gICAgICAgICA+ICAgICAgIGNhc2UgRFBfRURQX0JBQ0tMSUdI VF9DT05UUk9MX01PREVfUFJPRFVDVDoNCj4gICAgICAgICA+IC0gICAgICAgICAgICAgZHBjZF9i dWYgJj0NCj4gICAgICAgICB+RFBfRURQX0JBQ0tMSUdIVF9DT05UUk9MX01PREVfTUFTSzsNCj4g ICAgICAgICA+IC0gICAgICAgICAgICAgZHBjZF9idWYgfD0NCj4gICAgICAgICBEUF9FRFBfQkFD S0xJR0hUX0NPTlRST0xfTU9ERV9EUENEOw0KPiAgICAgICAgID4gLSAgICAgICAgICAgICBpZiAo ZHJtX2RwX2RwY2Rfd3JpdGViKCZpbnRlbF9kcC0+YXV4LA0KPiAgICAgICAgID4gLSAgICAgICAg ICAgICAgICAgICAgIERQX0VEUF9CQUNLTElHSFRfTU9ERV9TRVRfUkVHSVNURVIsDQo+ICAgICAg ICAgZHBjZF9idWYpIDwgMCkgew0KPiAgICAgICAgID4gLSAgICAgICAgICAgICAgICAgICAgIERS TV9ERUJVR19LTVMoIkZhaWxlZCB0byB3cml0ZSBhdXgNCj4gICAgICAgICBiYWNrbGlnaHQgbW9k ZVxuIik7DQo+ICAgICAgICAgPiAtICAgICAgICAgICAgIH0NCj4gICAgICAgICA+ICsgICAgICAg ICAgICAgbmV3X2RwY2RfYnVmICY9DQo+ICAgICAgICAgfkRQX0VEUF9CQUNLTElHSFRfQ09OVFJP TF9NT0RFX01BU0s7DQo+ICAgICAgICAgPiArICAgICAgICAgICAgIG5ld19kcGNkX2J1ZiB8PQ0K PiAgICAgICAgIERQX0VEUF9CQUNLTElHSFRfQ09OVFJPTF9NT0RFX0RQQ0Q7DQo+ICAgICAgICAg PiAgICAgICAgICAgICAgIGJyZWFrOw0KPiAgICAgICAgID4NCj4gICAgICAgICA+ICAgICAgIC8q IERvIG5vdGhpbmcgd2hlbiBpdCBpcyBhbHJlYWR5IERQQ0QgbW9kZSAqLw0KPiAgICAgICAgID4g QEAgLTEzMyw2ICsxNDUsMjAgQEAgc3RhdGljIHZvaWQNCj4gICAgICAgICBpbnRlbF9kcF9hdXhf ZW5hYmxlX2JhY2tsaWdodChzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yDQo+ICAgICAgICAgKmNvbm5l Y3RvcikNCj4gICAgICAgICA+ICAgICAgICAgICAgICAgYnJlYWs7DQo+ICAgICAgICAgPiAgICAg ICB9DQo+ICAgICAgICAgPg0KPiAgICAgICAgID4gKyAgICAgaWYgKGk5MTUuZW5hYmxlX2RiYyAm Jg0KPiAgICAgICAgID4gKyAgICAgICAgIChpbnRlbF9kcC0+ZWRwX2RwY2RbMl0gJg0KPiAgICAg ICAgIERQX0VEUF9EWU5BTUlDX0JBQ0tMSUdIVF9DQVApKSB7DQo+ICAgICAgICAgPiArICAgICAg ICAgICAgIG5ld19kcGNkX2J1ZiB8PQ0KPiAgICAgICAgIERQX0VEUF9EWU5BTUlDX0JBQ0tMSUdI VF9FTkFCTEU7DQo+ICAgICAgICAgPiArDQo+ICAgICAgICAgIGludGVsX2RwX2F1eF9zZXRfZHlu YW1pY19iYWNrbGlnaHRfcGVyY2VudChpbnRlbF9kcCwgMCwgMTAwKTsNCj4gICAgICAgICA+ICsg ICAgICAgICAgICAgRFJNX0RFQlVHX0tNUygiRW5hYmxlIGR5bmFtaWMgYnJpZ2h0bmVzcy5cbiIp Ow0KPiAgICAgICAgID4gKyAgICAgfQ0KPiAgICAgICAgID4gKw0KPiAgICAgICAgID4gKyAgICAg aWYgKG5ld19kcGNkX2J1ZiAhPSBkcGNkX2J1Zikgew0KPiAgICAgICAgID4gKyAgICAgICAgICAg ICBpZiAoZHJtX2RwX2RwY2Rfd3JpdGViKCZpbnRlbF9kcC0+YXV4LA0KPiAgICAgICAgID4gKyAg ICAgICAgICAgICAgICAgICAgIERQX0VEUF9CQUNLTElHSFRfTU9ERV9TRVRfUkVHSVNURVIsDQo+ ICAgICAgICAgbmV3X2RwY2RfYnVmKSA8IDApIHsNCj4gICAgICAgICA+ICsgICAgICAgICAgICAg ICAgICAgICBEUk1fREVCVUdfS01TKCJGYWlsZWQgdG8gd3JpdGUgYXV4DQo+ICAgICAgICAgYmFj a2xpZ2h0IG1vZGVcbiIpOw0KPiAgICAgICAgID4gKyAgICAgICAgICAgICB9DQo+ICAgICAgICAg PiArICAgICB9DQo+ICAgICAgICAgPiArDQo+ICAgICAgICAgPiAgICAgICBzZXRfYXV4X2JhY2ts aWdodF9lbmFibGUoaW50ZWxfZHAsIHRydWUpOw0KPiAgICAgICAgID4gICAgICAgaW50ZWxfZHBf YXV4X3NldF9iYWNrbGlnaHQoY29ubmVjdG9yLA0KPiAgICAgICAgIGNvbm5lY3Rvci0+cGFuZWwu YmFja2xpZ2h0LmxldmVsKTsNCj4gICAgICAgICA+ICB9DQo+ICAgICAgICAgDQo+ICAgICAgICAg DQo+IA0KPiANCj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X18NCj4gSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdA0KPiBJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0 b3Aub3JnDQo+IGh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8v aW50ZWwtZ2Z4DQoNCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9y ZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdm eAo=