From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Thulasimani, Sivakumar" Subject: Re: [PATCH 2/5] drm/i915: Cleaning up intel_dp_hpd_pulse Date: Mon, 1 Feb 2016 11:50:55 +0530 Message-ID: <56AEF947.4050901@intel.com> References: <1453199833-10401-1-git-send-email-shubhangi.shrivastava@intel.com> <1453199833-10401-2-git-send-email-shubhangi.shrivastava@intel.com> <1453814570.2695.18.camel@gmail.com> <56AB2A7E.6030403@intel.com> <1454068989.3454.25.camel@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" 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 00CF66E2A0 for ; Sun, 31 Jan 2016 22:20:57 -0800 (PST) In-Reply-To: <1454068989.3454.25.camel@gmail.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Ander Conselvan De Oliveira , Shubhangi Shrivastava , intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org CgpPbiAxLzI5LzIwMTYgNTozMyBQTSwgQW5kZXIgQ29uc2VsdmFuIERlIE9saXZlaXJhIHdyb3Rl Ogo+IE9uIEZyaSwgMjAxNi0wMS0yOSBhdCAxNDozMSArMDUzMCwgU2h1YmhhbmdpIFNocml2YXN0 YXZhIHdyb3RlOgo+PiBPbiBUdWVzZGF5IDI2IEphbnVhcnkgMjAxNiAwNjo1MiBQTSwgQW5kZXIg Q29uc2VsdmFuIERlIE9saXZlaXJhIHdyb3RlOgo+Pj4gT24gVHVlLCAyMDE2LTAxLTE5IGF0IDE2 OjA3ICswNTMwLCBTaHViaGFuZ2kgU2hyaXZhc3RhdmEgd3JvdGU6Cj4+Pj4gQ3VycmVudCBEUCBk ZXRlY3Rpb24gaGFzIERQQ0Qgb3BlcmF0aW9ucyBzcGxpdCBhY3Jvc3MKPj4+PiBpbnRlbF9kcF9o cGRfcHVsc2UgYW5kIGludGVsX2RwX2RldGVjdCB3aGljaCBjb250YWlucwo+Pj4+IGR1cGxpY2F0 ZXMgYXMgd2VsbC4gQWxzbyBpbnRlbF9kcF9kZXRlY3QgaXMgY2FsbGVkCj4+Pj4gZHVyaW5nIG1v ZGVzIGVudW1lcmF0aW9uIGFzIHdlbGwgd2hpY2ggd2lsbCByZXN1bHQKPj4+PiBpbiBtdWx0aXBs ZSBkcGNkIG9wZXJhdGlvbnMuIFNvIHRoaXMgcGF0Y2ggdHJpZXMKPj4+PiB0byBzb2x2ZSBib3Ro IHRoZXNlIGJ5IGJyaW5naW5nIGFsbCBEUENEIG9wZXJhdGlvbnMKPj4+PiBpbiBvbmUgc2luZ2xl IGZ1bmN0aW9uIGFuZCBtYWtlIGludGVsX2RwX2RldGVjdAo+Pj4+IHVzZSBleGlzdGluZyB2YWx1 ZXMgaW5zdGVhZCBvZiByZXBlYXRpbmcgc2FtZSBzdGVwcy4KPj4+Pgo+Pj4+IHYyOiBQdWxsZWQg aW4gYSBodW5rIGZyb20gbGFzdCBwYXRjaCBvZiB0aGUgc2VyaWVzIHRvCj4+Pj4gICAgICAgdGhp cyBwYXRjaC4gKEFuZGVyKQo+Pj4+IHYzOiBBZGRlZCBNU1QgaG90cGx1ZyBoYW5kbGluZy4gKEFu ZGVyKQo+Pj4+Cj4+Pj4gVGVzdGVkLWJ5OiBOYXRoYW4gRCBDaW9iYW51IDxuYXRoYW4uZC5jaW9i YW51QGludGVsLmNvbT4KPj4+PiBTaWduZWQtb2ZmLWJ5OiBTaXZha3VtYXIgVGh1bGFzaW1hbmkg PHNpdmFrdW1hci50aHVsYXNpbWFuaUBpbnRlbC5jb20+Cj4+Pj4gU2lnbmVkLW9mZi1ieTogU2h1 YmhhbmdpIFNocml2YXN0YXZhIDxzaHViaGFuZ2kuc2hyaXZhc3RhdmFAaW50ZWwuY29tPgo+Pj4+ IC0tLQo+Pj4+ICAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMgfCA3MSArKysrKysr KysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLQo+Pj4+IC0tLS0tCj4+Pj4gLQo+Pj4+ICAgIDEg ZmlsZSBjaGFuZ2VkLCA0NCBpbnNlcnRpb25zKCspLCAyNyBkZWxldGlvbnMoLSkKPj4+Pgo+Pj4+ IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jCj4+Pj4gYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jCj4+Pj4gaW5kZXggODk2OWZmOS4uODJlZTE4ZCAx MDA2NDQKPj4+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jCj4+Pj4gKysr IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYwo+Pj4gWy4uLl0KPj4+Cj4+Pj4gQEAg LTQ2OTMsNyArNDcxNyw4IEBAIGludGVsX2RwX2RldGVjdChzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAq Y29ubmVjdG9yLAo+Pj4+IGJvb2wKPj4+PiBmb3JjZSkKPj4+PiAgICAJCXJldHVybiBjb25uZWN0 b3Jfc3RhdHVzX2Rpc2Nvbm5lY3RlZDsKPj4+PiAgICAJfQo+Pj4+ICAgIAo+Pj4+IC0JaW50ZWxf ZHBfbG9uZ19wdWxzZShpbnRlbF9kcC0+YXR0YWNoZWRfY29ubmVjdG9yKTsKPj4+PiArCWlmIChm b3JjZSkKPj4+PiArCQlpbnRlbF9kcF9sb25nX3B1bHNlKGludGVsX2RwLT5hdHRhY2hlZF9jb25u ZWN0b3IpOwo+Pj4gSSBkaWRuJ3Qgbm90aWNlIHRoaXMgYXQgZmlyc3QsIGJ1dCBmb3JjZSBpcyBu b3QgdGhlIHJpZ2h0IHRoaW5nIHRvIGNoZWNrIGZvcgo+Pj4gaGVyZS4gSXQgaXMgYmFzaWNhbGx5 IGludGVuZGVkIHRvIGF2b2lkIGRvaW5nIGxvYWQgZGV0ZWN0aW9uIChzZWUKPj4+IGludGVsX2dl dF9sb2FkX2RldGVjdF9waXBlKCkpIG9uIGF1dG9tYXRlZCBwb2xsaW5nLiBCdXQgd2Ugc3RpbGwg aGF2ZSB0byB0cnkKPj4+IGRldGVjdGlvbiBoZXJlIHdoZW4gZm9yY2UgPSBmYWxzZSwgb3RoZXJ3 aXNlIHRoaXMgd2lsbCBjYXVzZSBhIHJlZ3Jlc3Npb24uCj4+Pgo+Pj4gSWYgeW91IHBsdWcgaW4g YSBEUCBkZXZpY2Ugd2hpbGUgc3VzcGVuZGVkLCB0aGF0IGRldmljZSB3b24ndCBnZXQgZGV0ZWN0 ZWQsCj4+PiBzaW5jZSB3ZSBkb24ndCBnZXQgYW4gSFBEIGZvciBpdC4gUHJldmlvdXNseSwgdGhl IGNhbGwgZG8gaW50ZWxfZHBfZGV0ZWN0KCkKPj4+IHdpdGgKPj4+IGZvcmNlID0gZmFsc2UgZnJv bSBpbnRlbF9kcm1fcmVzdW1lKCkgKHZpYSBkcm1faGVscGVyX2hwZF9pcnFfZXZlbnQoKSkgd291 bGQKPj4+IGNhdXNlIGEgZnVsbCBkZXRlY3Rpb24uCj4+Pgo+Pj4gVG8gYXZvaWQgdGhlIHJlcGVh dGVkIERQQ0Qgb3BlcmF0aW9ucywgSSB0aGluayB3ZSBuZWVkIGEgbW9yZSBleHBsaWNpdAo+Pj4g bWVjaGFuaXNtCj4+PiB0byBzaWduYWwgdGhhdCB3ZSBhbHJlYWR5IGhhbmRsZWQgdGhlIGxvbmcg cHVsc2UgdmlhIHRoZSBIUEQgaGFuZGxlci4gSW4KPj4+IGludGVsX2RwX2hwZF9wdWxzZSgpIHdl IGNvdWxkIHNldCBhIGZsYWcgdGhhdCB0ZWxscyB3ZSBqdXN0IGhhbmRsZWQgYSBsb25nCj4+PiBw dWxzZQo+Pj4gZm9yIHRoZSBnaXZlbiBwb3J0LiBUaGUgY2FsbCB0byBpbnRlbF9kcF9sb25nX3B1 bHNlKCkgaW4gaW50ZWxfZHBfZGV0ZWN0KCkKPj4+IHdvdWxkCj4+PiB0aGVuIGJlIGRlcGVuZGVu dCBvbiB0aGF0IGZsYWcuCj4+Pgo+Pj4gRm9yIHRoYXQgcmVhc29uIEkgaGF2ZSB0byByZXRyYWN0 IG15IFItYiBmcm9tIHRoaXMgcGF0Y2guCj4+Pgo+Pj4gQW5kZXIKPj4gQ2FsbCB0byBpbnRlbF9k cF9kZXRlY3QoKSBmcm9tIGdldF9tb2RlcyBpcyB3aXRoIGZvcmNlIHNldCB0byB0cnVlIHdoaWxl Cj4+IGZyb20gcmVzdW1lIHRoZSBjYWxsIGlzIHdpdGggZm9yY2Ugc2V0IHRvIGZhbHNlLi4gSXQg c2hvdWxkIGJlIGluIHRoZQo+PiBvcHBvc2l0ZSBtYW5uZXIgYXMgZ2V0X21vZGVzIHNob3VsZCBu b3QgcmVxdWlyZSBmdWxsIGRldGVjdGlvbiB3aGVyZWFzCj4+IHJlc3VtZSBzaG91bGQuIFNvLCB0 aGlzIG5lZWRzIHRvIGJlIGNsZWFuZWQgdXAgdGhlcmUuIEFmdGVyIG1lcmdlIG9mCj4+IHRoZXNl IHBhdGNoZXMsIHdpbGwgbG9vayBpbnRvIGNsZWFuaW5nIHVwIHRoYXQgcGFydCBvZiB0aGUgY29k ZS4KPiBUaGF0IHJlYWxseSBkZXBlbmRzIG9uIHdoYXQgdGhlIGZvcmNlIHBhcmFtZXRlciBpcyBz dXBwb3NlZCB0byBtZWFuLiBUaGUKPiBkb2N1bWVudGF0aW9uIHN0YXRlcyB0aGF0ICJmb3JjZSBp cyBzZXQgdG8gZmFsc2Ugd2hpbHN0IHBvbGxpbmcsIHRydWUgd2hlbgo+IGNoZWNraW5nIHRoZSBj b25uZWN0b3IgZHVlIHRvIGEgdXNlciByZXF1ZXN0Ii4gQSBsb29rIHRocm91Z2ggZ2l0IGhpc3Rv cnkgc2hvd3MKPiB0aGUgcGFyYW1ldGVyIHdhcyBhZGRlZCB0byByZWR1Y2UgdGltZSB3YXN0ZWQg ZG9pbmcgbG9hZCBkZXRlY3Rpb24gKGRvaW5nIGEgbW9kZQo+IHNldCBpbiBvcmRlciB0byBjaGVj ayBpZiB0aGVyZSBpcyBhIGRldmljZSBjb25uZWN0ZWQpIGZvciBoYXJkd2FyZSB0aGF0IG5lZWRz IGl0Cj4gKGNvbW1pdCA3YjMzNGZjYjQ1YjcpLgo+Cj4gQXMgZmFyIGFzIEkgY2FuIHRlbGwsIGFj cm9zcyBhbGwgdGhlIGRybSBkcml2ZXJzLCB0aGF0IHBhcmFtZXRlciBpcyBvbmx5IHVzZWQgdG8K PiBhdm9pZCBkb2luZyBsb2FkIGRldGVjdGlvbi4KPgo+IEFub3RoZXIgdGhpbmcgdG8gY29uc2lk ZXIgaXMgdGhhdCB0aGUgZHJpdmVyIG1heSBzd2l0Y2ggdG8gcG9sbGluZyBpZiBpdCBkZXRlY3Rz Cj4gYW4gSFBEIHN0b3JtLiBXaGVuIHRoZSBkZXRlY3QgY2FsbHMgY29tZSBmcm9tIHBvbGxpbmcs IHRoZSBjb2RlIGluIHRoaXMgcGF0Y2gKPiB3aWxsIHNpbXBseSBhdm9pZCBhbnkgZGV0ZWN0aW9u Lgo+CmhtbSBpIHRoaW5rIHRoaXMgZGlzY3Vzc2lvbiB3aWxsIHByb2xvbmcgZm9yIGEgd2hpbGUg OikKaG93IGFib3V0IHdlIGNhbGwgaW50ZWxfZHBfbG9uZ19wdWxzZSgpIGFsd2F5cyBmb3Igbm93 Lgp0aGlzIHdpbGwgYmUgYSBjb21wcm9taXNlIHRvIG5vdCBicmVhayBhbnkgb2YgdGhlIGV4aXN0 aW5nIGNvZGUKYnV0IHdpbGwgc3RpbGwgcmVzdWx0IGluIGdldHRpbmcgYSBjbGVhbiBkZXRlY3Rp b24gY29kZSwgd2hpY2gKd2lsbCBjYW4gdGhlbiBiZSBpbXByb3ZlZCB1cG9uIGluIHRoZSBuZXh0 IGl0ZXJhdGlvbiA/CmkuZSBwb3N0IHRoZSBjaGFuZ2UgaXQgc2hvdWxkIGxvb2sgbGlrZS4gaS5l IHNraXAgdGhpcyBjaGFuZ2UgYWxvbmUKCglpbnRlbF9kcF9sb25nX3B1bHNlKGludGVsX2RwLT5h dHRhY2hlZF9jb25uZWN0b3IpOwoKCnJlZ2FyZHMsClNpdmFrdW1hcgo+PiBNb3Jlb3ZlciwgaW50 ZWxfZHBfZGV0ZWN0KCkgd2lsbCBiZSBjYWxsZWQgZnJvbQo+PiBkcm1faGVscGVyX2hwZF9pcnFf ZXZlbnQoKSBpbiBwb2xsaW5nIHNjZW5hcmlvcyBvbmx5ICh3aGVuCj4+IERSTV9DT05ORUNUT1Jf UE9MTF9IUEQgZmxhZyBpcyBzZXQgaW4gY29ubmVjdG9yLT5wb2xsZWQpLiBTbywgc2VlbXMgbGlr ZQo+PiB0aGlzIGNvZGUgaGVyZSwgZG9lc24ndCByZWFsbHkgY3JlYXRlIGEgcmVncmVzc2lvbiBm b3IgcmVhbHRpbWUgc2NlbmFyaW9zLgo+IEkgZG9uJ3Qga25vdyB3aGF0IHlvdSBtZWFuIGJ5IHJl YWx0aW1lIHNjZW5hcmlvcywgYnV0IHRoZSByZWdyZXNzaW9uIGlzIHZlcnkKPiByZWFsLiBVc2lu ZyBhIGtlcm5lbCB3aXRoIHlvdXIgcGF0Y2hlcyBhcHBsaWVkLCBzdXNwZW5kIHdoaWxlIHRoZXJl IGlzIG5vIERQCj4gbW9uaXRvciBhdHRhY2hlZCwgYXR0YWNoIHRoZSBtb25pdG9yIHdoaWxlIHN1 c3BlbmRlZCBhbmQgdGhlbiB3YWtlIHVwLiBOb3RpY2UKPiBob3cgdGhlIGNvbm5lY3RvciBzdGF0 ZSBkb2Vzbid0IGNoYW5nZS4gWW91IGNhbiBjaGVjayB0aGUgaTkxNV9kaXNwbGF5X2luZm8gZmls ZQo+IGluIGRlYnVnZnMsIGZvciBpbnN0YW5jZS4KPgo+Cj4gQW5kZXIKPgo+Pj4gICAgCj4+Pj4g ICAgCWlmIChpbnRlbF9jb25uZWN0b3ItPmRldGVjdF9lZGlkKQo+Pj4+ICAgIAkJcmV0dXJuIGNv bm5lY3Rvcl9zdGF0dXNfY29ubmVjdGVkOwo+Pj4+IEBAIC01MDI2LDI1ICs1MDUxLDI1IEBAIGlu dGVsX2RwX2hwZF9wdWxzZShzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0Cj4+Pj4gKmludGVsX2Rp Z19wb3J0LCBib29sIGxvbmdfaHBkKQo+Pj4+ICAgIAkJLyogaW5kaWNhdGUgdGhhdCB3ZSBuZWVk IHRvIHJlc3RhcnQgbGluayB0cmFpbmluZyAqLwo+Pj4+ICAgIAkJaW50ZWxfZHAtPnRyYWluX3Nl dF92YWxpZCA9IGZhbHNlOwo+Pj4+ICAgIAo+Pj4+IC0JCWlmICghaW50ZWxfZGlnaXRhbF9wb3J0 X2Nvbm5lY3RlZChkZXZfcHJpdiwKPj4+PiBpbnRlbF9kaWdfcG9ydCkpCj4+Pj4gLQkJCWdvdG8g bXN0X2ZhaWw7Cj4+Pj4gLQo+Pj4+IC0JCWlmICghaW50ZWxfZHBfZ2V0X2RwY2QoaW50ZWxfZHAp KSB7Cj4+Pj4gLQkJCWdvdG8gbXN0X2ZhaWw7Cj4+Pj4gLQkJfQo+Pj4+IC0KPj4+PiAtCQlpbnRl bF9kcF9wcm9iZV9vdWkoaW50ZWxfZHApOwo+Pj4+ICsJCWludGVsX2RwX2xvbmdfcHVsc2UoaW50 ZWxfZHAtPmF0dGFjaGVkX2Nvbm5lY3Rvcik7Cj4+Pj4gKwkJaWYgKGludGVsX2RwLT5pc19tc3Qp Cj4+Pj4gKwkJCXJldCA9IElSUV9IQU5ETEVEOwo+Pj4+ICsJCWdvdG8gcHV0X3Bvd2VyOwo+Pj4+ ICAgIAo+Pj4+IC0JCWlmICghaW50ZWxfZHBfcHJvYmVfbXN0KGludGVsX2RwKSkgewo+Pj4+IC0J CQlkcm1fbW9kZXNldF9sb2NrKCZkZXYKPj4+PiAtPm1vZGVfY29uZmlnLmNvbm5lY3Rpb25fbXV0 ZXgsCj4+Pj4gTlVMTCk7Cj4+Pj4gLQkJCWludGVsX2RwX2NoZWNrX2xpbmtfc3RhdHVzKGludGVs X2RwKTsKPj4+PiAtCQkJZHJtX21vZGVzZXRfdW5sb2NrKCZkZXYKPj4+PiAtPm1vZGVfY29uZmln LmNvbm5lY3Rpb25fbXV0ZXgpOwo+Pj4+IC0JCQlnb3RvIG1zdF9mYWlsOwo+Pj4+IC0JCX0KPj4+ PiAgICAJfSBlbHNlIHsKPj4+PiAgICAJCWlmIChpbnRlbF9kcC0+aXNfbXN0KSB7Cj4+Pj4gLQkJ CWlmIChpbnRlbF9kcF9jaGVja19tc3Rfc3RhdHVzKGludGVsX2RwKSA9PQo+Pj4+IC1FSU5WQUwp Cj4+Pj4gLQkJCQlnb3RvIG1zdF9mYWlsOwo+Pj4+ICsJCQlpZiAoaW50ZWxfZHBfY2hlY2tfbXN0 X3N0YXR1cyhpbnRlbF9kcCkgPT0KPj4+PiAtRUlOVkFMKSB7Cj4+Pj4gKwkJCQkvKgo+Pj4+ICsJ CQkJICogSWYgd2Ugd2VyZSBpbiBNU1QgbW9kZSwgYW5kIGRldmljZSBpcwo+Pj4+IG5vdAo+Pj4+ ICsJCQkJICogdGhlcmUsIGdldCBvdXQgb2YgTVNUIG1vZGUKPj4+PiArCQkJCSAqLwo+Pj4+ICsJ CQkJRFJNX0RFQlVHX0tNUygiTVNUIGRldmljZSBtYXkgaGF2ZQo+Pj4+IGRpc2FwcGVhcmVkICVk IHZzICVkXG4iLAo+Pj4+ICsJCQkJCWludGVsX2RwLT5pc19tc3QsIGludGVsX2RwCj4+Pj4gLT5t c3RfbWdyLm1zdF9zdGF0ZSk7Cj4+Pj4gKwkJCQlpbnRlbF9kcC0+aXNfbXN0ID0gZmFsc2U7Cj4+ Pj4gKwkJCQlkcm1fZHBfbXN0X3RvcG9sb2d5X21ncl9zZXRfbXN0KCZpbnRlbF9kcAo+Pj4+IC0+ bXN0X21nciwKPj4+PiArCQkJCQkJCQlpbnRlbF9kcAo+Pj4+IC0+aXNfbXN0KTsKPj4+PiArCQkJ CWdvdG8gcHV0X3Bvd2VyOwo+Pj4+ICsJCQl9Cj4+Pj4gICAgCQl9Cj4+Pj4gICAgCj4+Pj4gICAg CQlpZiAoIWludGVsX2RwLT5pc19tc3QpIHsKPj4+PiBAQCAtNTA1NiwxNCArNTA4MSw2IEBAIGlu dGVsX2RwX2hwZF9wdWxzZShzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0Cj4+Pj4gKmludGVsX2Rp Z19wb3J0LCBib29sIGxvbmdfaHBkKQo+Pj4+ICAgIAo+Pj4+ICAgIAlyZXQgPSBJUlFfSEFORExF RDsKPj4+PiAgICAKPj4+PiAtCWdvdG8gcHV0X3Bvd2VyOwo+Pj4+IC1tc3RfZmFpbDoKPj4+PiAt CS8qIGlmIHdlIHdlcmUgaW4gTVNUIG1vZGUsIGFuZCBkZXZpY2UgaXMgbm90IHRoZXJlIGdldCBv dXQgb2YgTVNUCj4+Pj4gbW9kZSAqLwo+Pj4+IC0JaWYgKGludGVsX2RwLT5pc19tc3QpIHsKPj4+ PiAtCQlEUk1fREVCVUdfS01TKCJNU1QgZGV2aWNlIG1heSBoYXZlIGRpc2FwcGVhcmVkICVkIHZz Cj4+Pj4gJWRcbiIsCj4+Pj4gaW50ZWxfZHAtPmlzX21zdCwgaW50ZWxfZHAtPm1zdF9tZ3IubXN0 X3N0YXRlKTsKPj4+PiAtCQlpbnRlbF9kcC0+aXNfbXN0ID0gZmFsc2U7Cj4+Pj4gLQkJZHJtX2Rw X21zdF90b3BvbG9neV9tZ3Jfc2V0X21zdCgmaW50ZWxfZHAtPm1zdF9tZ3IsCj4+Pj4gaW50ZWxf ZHAKPj4+PiAtPmlzX21zdCk7Cj4+Pj4gLQl9Cj4+Pj4gICAgcHV0X3Bvd2VyOgo+Pj4+ICAgIAlp bnRlbF9kaXNwbGF5X3Bvd2VyX3B1dChkZXZfcHJpdiwgcG93ZXJfZG9tYWluKTsKPj4+PiAgICAK PiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+IEludGVs LWdmeCBtYWlsaW5nIGxpc3QKPiBJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4gaHR0 cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAoKX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1h aWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5m cmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK