From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Sharma, Shashank" Subject: Re: [PATCH 3/3] drm/i915: Read HDMI EDID only when required Date: Thu, 02 Jul 2015 08:24:12 +0530 Message-ID: <5594A7D4.6010701@intel.com> References: <1435643038-3078-1-git-send-email-sonika.jindal@intel.com> <1435643038-3078-3-git-send-email-sonika.jindal@intel.com> <20150630110652.GR30960@phenom.ffwll.local> <20150701125634.GE23343@phenom.ffwll.local> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTP id 42F5672147 for ; Wed, 1 Jul 2015 19:54:17 -0700 (PDT) In-Reply-To: <20150701125634.GE23343@phenom.ffwll.local> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Daniel Vetter , Shashank Sharma Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org UmVnYXJkcwpTaGFzaGFuawoKT24gNy8xLzIwMTUgNjoyNiBQTSwgRGFuaWVsIFZldHRlciB3cm90 ZToKPiBPbiBUdWUsIEp1biAzMCwgMjAxNSBhdCAwOTo0OTo1N1BNICswNTMwLCBTaGFzaGFuayBT aGFybWEgd3JvdGU6Cj4+PiBVc2Vyc3BhY2UgYWx3YXlzIHNldHMgZm9yY2UuIEFyZSB5b3Ugc3Vy ZSB0aGlzIGFjdHVhbGx5IGltcHJvdmVzIGFueXRoaW5nPwo+PiBZZXMgd2UgZG8uIFdlIGhhdmUg aGFkIHRoaXMgY29kZSBmb3IgY29tbWVyY2lhbCBwcm9qZWN0cywgYW5kIHRoYXQncyByZWFsbHkK Pj4gICBpbXBvcnRhbnQgdG8gaGF2ZSBwcm9wZXIgaW50ZXJydXB0IGhhbmRsaW5nIGFzIHdlbGwg YXMgdG8gYXZvaWQgcmFjZQo+PiBjb25kaXRpb24gYmV0d2VlbiBtdWx0aXBsZSBIRE1JIGRldGVj dHMgZnJvbSBpbnRlcnJ1cHQgaGFuZGxlciBhbmQKPj4gdXNlcnNwYWNlIGRldGVjdCBjYWxscy4g VGhpcyBpcyBhIG11c3QgZm9yIEhETUkgY29tcGxpYW5jZSBhbHNvLgo+Cj4gVGhlcmUncyBubyBy YWNlLCB3ZSBoYXZlIGxvY2tzIGZvciB0aGlzLiBBbmQgd2UgYWxyZWFkeSBoYXZlIGEgbGl0dGxl IGJpdAo+IG9mIGVkaWQgY2FjaGluZywgYW5kIHlvdSdyZSBjb2RlIHdvbid0IGFkZCBtb3JlIGNh Y2hpbmcgZm9yIHRoZSBmb3JjZSA9Cj4gdHJ1ZSBjYXNlLiBXaGljaCBpcyB3aHkgSSB3b25kZXJl ZCB3aGV0aGVyIHlvdSd2ZSByZWFsbHkgc2VlbiBpbXByb3ZlbWVudHMKPiB3aXRoIHRoaXMgb24g bGF0ZXN0IHVwc3RyZWFtLCBhbmQgbm90IGp1c3QgYW4gb2xkZXIgYW5kcm9pZCB0cmVlLgpUaGlz IGNhY2hpbmcgaXMgbm90IHVzZWZ1bCwgYXMgaW4gZXZlcnkgZGV0ZWN0IGNhbGwsIHdlIGFyZSBk b2luZyBhIAp1bnNldCBFRElELCBhbmQgZG9pbmcgYSBzZXQgRURJRCBhZ2Fpbi4gVGhlIGFjdHVh bCByZWFzb24gYmVoaW5kIAptdWx0aXBsZSBIRE1JIEVESUQgcmVhZHMgaXMgZGV0ZWN0KCkgZ2V0 dGluZyBjYWxsZWQgZnJvbSB1c2VyIHNwYWNlIApvbmx5LlNvIGV2ZXJ5IHRpbWUgdGhlcmUgaXMg YSBkZXRlY3QgY2FsbCwgdGhlcmUgaXMgSERNSSBFRElEIHJlYWQuCgpXZSBzaG91bGQgcmVhZCBF RElEIG9ubHkgb24gaG90cGx1ZywgY2FjaGUgaXQsIGFuZCByZXVzZSBpdCB1bnRpbCBob3QgCnVu cGx1Zy4KPgo+PiBBY3R1YWxseSB0aGUgcGxhbiBpcyB0byB1c2UgdGhpcyBmb3JjZSBmb3IgR0VO IDwgNiBIVyBvbmx5LCB3aGVyZSB0aGUKPj4gaG90cGx1ZyBkb2Vzbid0IHdvcmsgcmVsaWFibHkg KEkgcmVtZW1iZXIgb3VyIGxhc3QgY29udmVyc2F0aW9uIG9uIHNvbWUgb2xkCj4+IEhXIHdoaWNo IGRvZXNuJ3Qgc3VwcG9ydCBIUEQgcHJvcGVybHkpLiBGb3Igdmx2Kywgd2UgY2FuICh3aWxsKSB1 c2Ugb25seQo+PiB0aGUgY2FjaGVkIEVESUQuCj4KPiBPaywgb25jZSBtb3JlOiBIRE1JIGhwZCBp cyB1bnJlbGlhYmxlIGV2ZXJ5d2hlcmUuIEkgaGF2ZSBhIGdlbjcgaGVyZSB3aGljaAo+IGlzIGhh bGYtYnVzdGVkIGl0IHNlZW1zLCBhbmQgd2UndmUgZm91bmQgZXhhbXBsZXMgZm9yIGV2ZXJ5IHNp bmdsZQo+IHBsYXRmb3JtIHRoYXQgc3VwcG9ydHMgaGRtaSBvdXQgdGhlcmUuIFRoZSBwcm9ibGVt IGlzbid0IG5lY2Vzc2FyaWx5IHNwZWMKPiBjb21wbGlhbnQgSERNSSBzaW5rcywgYnV0IGFsbCB0 aGUgb3RoZXIgY3JhcCBwcGwgbGlrZSB0byBwbHVnIGluLgo+Cj4gWWVzIHRoaXMgbWVhbnMgd2Un bGwgbm90IGJlIHNwZWMgY29tcGxpYW50LCBidXQgaWYgd2UgaGF2ZSByZWFsaXR5IHZzLgo+IHNw ZWMsIHJlYWxpdHkgd2lucy4gQXQgbGVhc3QgaW4gdXBzdHJlYW0uCgpXZSBoYXZlIHRlc3RlZCBI UEQgd2l0aCBzZXZlcmFsIEhETUkgbW9uaXRvcnMgZm9yIFZMViwgQ0hWIFNLTCBhbmQgbm93IApm b3IgQlhUIGFsc28uIFdlIGFyZSBnZXR0aW5nIHJlbGlhYmxlIGhvdHBsdWdzIGFuZCB1bnBsdWdz IGFjcm9zcyB0aGVzZSAKcGxhdGZvcm1zLCB3aXRoIGFjY3VyYXRlIGluZm9ybWF0aW9uIG9uIGxv bmcvc2hvcnQgcHVsc2VzLiBDYW4geW91IApwbGVhc2UgZ2l2ZSBzb21lIGRldGFpbHMgYWJvdXQg d2hhdCBpcyB5b3VyIG9ic2VydmF0aW9uID8KCkl0cyB2ZXJ5IGltcG9ydGFudCBmb3IgdGhlIEFu ZHJvaWQgcHJvamVjdHMgdG8gY29tcGx5IHdpdGggdGhlIHNwZWMgZHVlIAp0byBjZXJ0aWZpY2F0 aW9uIHByZXNzdXJlIGZyb20gY3VzdG9tZXJzLiBBbmQgd2UgY2FuIGdldCBhIGNvbW1vbiBwYXRo IApmb3IgdXMsIGlmIHdlIGtub3cgd2hhdCBleGFjdGx5IGlzIHRoZSBwcm9ibGVtLiBCdXQgZm9y IHN1cmUgd2UgY2FudCAKaWdub3JlIHRoaXMgZmFjdG9yIHRoYXQgY29tcGxpYW5jZSBpcyBlc3Nl bnRpYWwuCj4KPj4+IEFsc28gdGhlIGdvYWwgc2hvdWxkIGJlIHRvIGtlZXAgdGhpbmdzIGNhY2hl IGZvciBhIGZldyBjYWxscyBmcm9tCj4+PiB1c2Vyc3BhY2UgKHNpbmNlIG9mdGVuIGl0IHBva2Vz IGEgZmV3IHRpbWVzIGluIGEgcm93IHVuZm9ydHVhbnRlbHkpLCBmb3IKPj4+IHdoaWNoIHdlIG5l ZWQgYSBwcm9wZXIgdGltZW91dCB0byBjbGVhciB0aGUgZWRpZCBhZ2Fpbi4KPj4KPj4gQ2FuIHlv dSBwbGVhc2UgbGV0IHVzIGtub3cgd2h5ID8gV2h5IGRvIHdlIG5lZWQgdG8gY2xlYXIgdGhpcyBF RElEIGNhY2hpbmcKPj4gPyBXZSBzaG91bGQgY2xlYXIgaXQgb25seSBpbiB0aGUgbmV4dCBob3Qt dW5wbHVnLCBhbmQgbWFpbnRhaW4gdGhpcyBjYWNoZWQKPj4gRURJRCBmb3IgYWxsIHVzZXJzcGFj ZSBkZXRlY3Qgb3BlcmF0aW9ucy4gSSBiZWxpZXZlIGFzIGxvbmcgYXMgd2UgaGF2ZSB0aGUKPj4g c3RhdGUgbWFjaGluZSBtYWludGFpbmVkLCB3ZSBuZWVkIG5vdCB0byBjbGVhciBpdC4KPgo+IGhv dHBsdWcgaXMgbm90IHJlbGlhYmxlLCBhdCBsZWFzdCBub3Qgb3V0c2lkZSBvZiBsYWJzIGFuZCB2 YWxpZGF0aW9uCj4gdGVzdGVycy4gQW5kIHlvdXIgY29kZSBoZXJlIHRocm93cyB0aGUgY2FjaGVk IGVkaWQgYXdheSBldmVyeSB0aW1lIGZvcmNlID0KPiB0cnVlIGlzIHNldCwgd2hpY2ggaXMgcHJl dHR5IG11Y2ggYWx3YXlzLiBBdCBsZWFzdCBvbiB1cHN0cmVhbS4KPgo+IFRoZSBvbmx5IHBsYWNl IHdoZXJlIHdlIGRvbid0IHNldCBmb3JjZSBpcyBpbiB0aGUgcG9sbCB3b3JrZXIsIGFuZCB0aGF0 J3MKPiBvbmx5IHJ1biB3aGVuIHdlIGhhdmUgYSBocGQgc3Rvcm0uCj4gLURhbmllbApUaGUgbmV3 IGNvZGUgZG9lc24ndCB0aHJvdyBhd2F5IGNhY2hlZCBFRElEIGZvciBwbGF0Zm9ybSdzID4gR0VO NgpidXQgdGhlIGN1cnJlbnQgY29kZSBkb2VzIHRoYXQsIGluIGV2ZXJ5IGRldGVjdCBjYWxsLgoK VGhlIGN1cnJlbnQgc3RhdGUgbWFjaGluZSBpczoKPT09PT09PT09PT09PT09PT09PT09PT09PT09 PT0KMS4gSG90cGx1ZyAtPiBVbnNldCBFRElELCBSZWFkIEVESUQsIFNldCBlZGlkCjIuIGFsbCBk ZXRlY3QgY2FsbHMgLT4gVW5zZXQgRURJRCwgcmVhZCBFRElELCBTZXQgRURJRAozLiBIb3R1bnBs dWcgLT4gVW5zZXQgRURJRAoKVGhlIHN0YXRlIG1hY2hpbmUgSSBhbSBzdWdnZXN0aW5nIGlzOgo9 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CjEuIEhvdHBsdWcgLT4gdGhyb3cg YXdheSBjYWNoZWQgRURJRCwgY2FjaGUgbmV3IG9uZSBwcm9iaW5nIEREQwoyLiBhbGwgZGV0ZWN0 KCkgY2FsbHMgLT4KCXVzZSBjYWNoZWQgRURJRCBvbmx5CjMuIGhvdCB1bnBsdWcgLT4gdGhyb3cg YXdheSBjYWNoZWQgRURJRCwKCk9SIGlmIHlvdSB3YW50IHRvIHN1cHBvcnQgc29tZSBvbGQgcGxh dGZvcm1zOgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KMS4g SG90cGx1ZyAtPiB0aHJvdyBhd2F5IGNhY2hlZCBFRElELCBjYWNoZSBuZXcgb25lIHByb2Jpbmcg RERDCjIuIGFsbCBkZXRlY3QoKSBjYWxscyAtPiAoU3VwcG9ydCBvbGQgSFcgd2l0aCB1bnN0YWJs ZSBIUEQpCglpZiAoZ2VuID4gR0VONikKCQl1c2UgY2FjaGVkIEVESUQgb25seQoJZWxzZQoJCXBy b2JlIEREQyBhbmQgcmVhZCBFRElELCB1cGRhdGUgY2FjaGUKMy4gaG90IHVucGx1ZyAtPiB0aHJv dyBhd2F5IGNhY2hlZCBFRElELAo+Cj4+Cj4+PiAtRGFuaWVsCj4+Cj4+IFJlZ2FyZHMKPj4gU2hh c2hhbmsKPj4KPj4gT24gVHVlLCBKdW4gMzAsIDIwMTUgYXQgNDozNiBQTSwgRGFuaWVsIFZldHRl ciA8ZGFuaWVsQGZmd2xsLmNoPiB3cm90ZToKPj4KPj4+IE9uIFR1ZSwgSnVuIDMwLCAyMDE1IGF0 IDExOjEzOjU4QU0gKzA1MzAsIFNvbmlrYSBKaW5kYWwgd3JvdGU6Cj4+Pj4gRnJvbTogU2hhc2hh bmsgU2hhcm1hIDxjb250YWN0c2hhc2hhbmtzaGFybWFAZ21haWwuY29tPgo+Pj4+Cj4+Pj4gVGhp cyBwYXRjaCBtYWtlcyBzdXJlIHRoYXQgdGhlIEhETUkgZGV0ZWN0IGZ1bmN0aW9uCj4+Pj4gcmVh ZHMgRURJRCBvbmx5IHdoZW4gaXRzIGZvcmNlZCB0byBkbyBpdC4gQWxsIHRoZSBvdGhlcgo+Pj4+ IHRpbWVzLCBpdCB1c2VzIHRoZSBjb25uZWN0b3ItPmRldGVjdF9lZGlkIHdoaWNoIHdhcyBjYWNo ZWQKPj4+PiBkdXJpbmcgaG90cGx1ZyBoYW5kbGluZyBpbiB0aGUgaGRtaV9wcm9iZSgpIGZ1bmN0 aW9uLiBBcyB0aGUKPj4+PiBwcm9iZSBmdW5jdGlvbiBnZXRzIGNhbGxlZCBiZWZvcmUgZGV0ZWN0 IGluIHRoZSBpbnRlcnJ1cHQgaGFuZGxlcgo+Pj4+IGFuZCBoYW5kbGVzIHRoZSBFRElEIGNhY2hl aW5nIHBhcnQsIGl0cyBhYnNvbHV0ZWx5IHNhZmUgdG8gYXNzdW1lCj4+Pj4gdGhhdCBwcmVzZW5j ZSBvZiBFRElEIHJlZmxlY3RzIG1vbml0b3IgY29ubmVjdGVkIGFuZCB2aWNldmVyc2EuCj4+Pj4K Pj4+PiBUaGlzIHdpbGwgc2F2ZSB1cyBmcm9tIG1hbnkgcmFjZSBjb25kaXRpb25zIGJldHdlZW4g aG90cGx1Zy91bnBsdWcKPj4+PiBkZXRlY3QgY2FsbCBoYW5kbGVyIHRocmVhZHMgYW5kIHVzZXJz cGFjZSBjYWxscyBmb3IgdGhlIHNhbWUuCj4+Pj4gVGhlIHByZXZpb3VzIHBhdGNoIGluIHRoaXMg cGF0Y2ggc2VyaWVzIGV4cGxhaW5zIHRoaXMgaW4gZGV0YWlsLgo+Pj4+Cj4+Pj4gU2lnbmVkLW9m Zi1ieTogU2hhc2hhbmsgU2hhcm1hIDxjb250YWN0c2hhc2hhbmtzaGFybWFAZ21haWwuY29tPgo+ Pj4+IC0tLQo+Pj4+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRtaS5jIHwgICAyNiAr KysrKysrKysrKysrKysrKysrKy0tLS0tLQo+Pj4+ICAgMSBmaWxlIGNoYW5nZWQsIDIwIGluc2Vy dGlvbnMoKyksIDYgZGVsZXRpb25zKC0pCj4+Pj4KPj4+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfaGRtaS5jCj4+PiBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2hkbWkuYwo+Pj4+IGluZGV4IDA2NGRkZDguLjFmYjY5MTkgMTAwNjQ0Cj4+Pj4gLS0tIGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRtaS5jCj4+Pj4gKysrIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfaGRtaS5jCj4+Pj4gQEAgLTEzNjIsMTkgKzEzNjIsMzMgQEAgc3RhdGljIGVu dW0gZHJtX2Nvbm5lY3Rvcl9zdGF0dXMKPj4+PiAgIGludGVsX2hkbWlfZGV0ZWN0KHN0cnVjdCBk cm1fY29ubmVjdG9yICpjb25uZWN0b3IsIGJvb2wgZm9yY2UpCj4+Pj4gICB7Cj4+Pj4gICAgICAg IGVudW0gZHJtX2Nvbm5lY3Rvcl9zdGF0dXMgc3RhdHVzOwo+Pj4+ICsgICAgIHN0cnVjdCBpbnRl bF9jb25uZWN0b3IgKmludGVsX2Nvbm5lY3RvciA9Cj4+Pj4gKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgdG9faW50ZWxfY29ubmVjdG9yKGNvbm5lY3Rvcik7Cj4+Pj4KPj4+PiAgICAgICAg RFJNX0RFQlVHX0tNUygiW0NPTk5FQ1RPUjolZDolc11cbiIsCj4+Pj4gICAgICAgICAgICAgICAg ICAgICAgY29ubmVjdG9yLT5iYXNlLmlkLCBjb25uZWN0b3ItPm5hbWUpOwo+Pj4+ICsgICAgIC8q Cj4+Pj4gKyAgICAgICogVGhlcmUgYXJlIG1hbnkgdXNlcnNwYWNlIGNhbGxzIHdoaWNoIHByb2Jl IEVESUQgZnJvbQo+Pj4+ICsgICAgICAqIGRldGVjdCBwYXRoLiBJbiBjYXNlIG9uIG11bHRpcGxl IGhvdHBsdWcvdW5wbHVnLCB0aGVzZQo+Pj4+ICsgICAgICAqIGNhbiBjYXVzZSByYWNlIGNvbmRp dGlvbnMgd2hpbGUgcHJvYmluZyBFRElELiBBbHNvIGl0cwo+Pj4+ICsgICAgICAqIHdhc3RlIG9m IENQVSBjeWNsZXMgdG8gcmVhZCB0aGUgRURJRCBhZ2FpbiBhbmQgYWdhaW4KPj4+PiArICAgICAg KiB1bmxlc3MgdGhlcmUgaXMgYSByZWFsIGhvdHBsdWcuCj4+Pj4gKyAgICAgICogU28gdW50aWwg d2UgYXJlIGZvcmNlZCwgY2hlY2sgY29ubmVjdG9yIHN0YXR1cwo+Pj4+ICsgICAgICAqIGJhc2Vk IG9uIGF2YWlsYWJpbGl0eSBvZiBjYWNoZWQgRURJRC4gVGhpcyB3aWxsIGF2b2lkIG1hbnkgb2YK Pj4+PiArICAgICAgKiB0aGVzZSByYWNlIGNvbmRpdGlvbnMgYW5kIHRpbWluZyBwcm9ibGVtcy4K Pj4+PiArICAgICAgKi8KPj4+PiArICAgICBpZiAoZm9yY2UpCj4+Pgo+Pj4gVXNlcnNwYWNlIGFs d2F5cyBzZXRzIGZvcmNlLiBBcmUgeW91IHN1cmUgdGhpcyBhY3R1YWxseSBpbXByb3ZlcyBhbnl0 aGluZz8KPj4+IEFsc28gdGhlIGdvYWwgc2hvdWxkIGJlIHRvIGtlZXAgdGhpbmdzIGNhY2hlIGZv ciBhIGZldyBjYWxscyBmcm9tCj4+PiB1c2Vyc3BhY2UgKHNpbmNlIG9mdGVuIGl0IHBva2VzIGEg ZmV3IHRpbWVzIGluIGEgcm93IHVuZm9ydHVhbnRlbHkpLCBmb3IKPj4+IHdoaWNoIHdlIG5lZWQg YSBwcm9wZXIgdGltZW91dCB0byBjbGVhciB0aGUgZWRpZCBhZ2Fpbi4KPj4+IC1EYW5pZWwKPj4+ Cj4+Pj4gKyAgICAgICAgICAgICBpbnRlbF9oZG1pX3Byb2JlKGludGVsX2Nvbm5lY3Rvci0+ZW5j b2Rlcik7Cj4+Pj4KPj4+PiAtICAgICBpbnRlbF9oZG1pX3Vuc2V0X2VkaWQoY29ubmVjdG9yKTsK Pj4+PiAtCj4+Pj4gLSAgICAgaWYgKGludGVsX2hkbWlfc2V0X2VkaWQoY29ubmVjdG9yKSkgewo+ Pj4+ICsgICAgIGlmIChpbnRlbF9jb25uZWN0b3ItPmRldGVjdF9lZGlkKSB7Cj4+Pj4gICAgICAg ICAgICAgICAgc3RydWN0IGludGVsX2hkbWkgKmludGVsX2hkbWkgPQo+Pj4gaW50ZWxfYXR0YWNo ZWRfaGRtaShjb25uZWN0b3IpOwo+Pj4+IC0KPj4+PiAtICAgICAgICAgICAgIGhkbWlfdG9fZGln X3BvcnQoaW50ZWxfaGRtaSktPmJhc2UudHlwZSA9Cj4+PiBJTlRFTF9PVVRQVVRfSERNSTsKPj4+ PiAgICAgICAgICAgICAgICBzdGF0dXMgPSBjb25uZWN0b3Jfc3RhdHVzX2Nvbm5lY3RlZDsKPj4+ PiAtICAgICB9IGVsc2UKPj4+PiArICAgICAgICAgICAgIGhkbWlfdG9fZGlnX3BvcnQoaW50ZWxf aGRtaSktPmJhc2UudHlwZSA9Cj4+PiBJTlRFTF9PVVRQVVRfSERNSTsKPj4+PiArICAgICAgICAg ICAgIERSTV9ERUJVR19EUklWRVIoImhkbWkgc3RhdHVzID0gY29ubmVjdGVkXG4iKTsKPj4+PiAr ICAgICB9IGVsc2Ugewo+Pj4+ICAgICAgICAgICAgICAgIHN0YXR1cyA9IGNvbm5lY3Rvcl9zdGF0 dXNfZGlzY29ubmVjdGVkOwo+Pj4+ICsgICAgICAgICAgICAgRFJNX0RFQlVHX0RSSVZFUigiaGRt aSBzdGF0dXMgPSBkaXNjb25uZWN0ZWRcbiIpOwo+Pj4+ICsgICAgIH0KPj4+Pgo+Pj4+ICAgICAg ICByZXR1cm4gc3RhdHVzOwo+Pj4+ICAgfQo+Pj4+IC0tCj4+Pj4gMS43LjEwLjQKPj4+Pgo+Pj4+ IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4+Pj4gSW50 ZWwtZ2Z4IG1haWxpbmcgbGlzdAo+Pj4+IEludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcK Pj4+PiBodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwt Z2Z4Cj4+Pgo+Pj4gLS0KPj4+IERhbmllbCBWZXR0ZXIKPj4+IFNvZnR3YXJlIEVuZ2luZWVyLCBJ bnRlbCBDb3Jwb3JhdGlvbgo+Pj4gaHR0cDovL2Jsb2cuZmZ3bGwuY2gKPj4+Cj4KX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcg bGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVz a3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK