From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jani Nikula Subject: Re: [PATCH 2/3] drm/i915: eDP Panel Power sequencing PP_DIV register changes Date: Thu, 30 Apr 2015 11:57:09 +0300 Message-ID: <87oam69eoq.fsf@intel.com> References: <1430379455-21244-1-git-send-email-vandana.kannan@intel.com> <1430379455-21244-2-git-send-email-vandana.kannan@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" 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 E84E66E5BE for ; Thu, 30 Apr 2015 01:55:09 -0700 (PDT) In-Reply-To: <1430379455-21244-2-git-send-email-vandana.kannan@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Vandana Kannan , intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gVGh1LCAzMCBBcHIgMjAxNSwgVmFuZGFuYSBLYW5uYW4gPHZhbmRhbmEua2FubmFuQGludGVs LmNvbT4gd3JvdGU6Cj4gQlhUIGRvZXMgbm90IGhhdmUgUFBfRElWIHJlZ2lzdGVyLiBNYWtpbmcg Y2hhbmdlcyB0byBoYW5kbGUgdGhpcy4KPgo+IFNpZ25lZC1vZmYtYnk6IFZhbmRhbmEgS2FubmFu IDx2YW5kYW5hLmthbm5hbkBpbnRlbC5jb20+Cj4gU2lnbmVkLW9mZi1ieTogS3VtYXIsIE1haGVz aCA8bWFoZXNoMS5rdW1hckBpbnRlbC5jb20+Cj4gLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfcmVnLmggICAgIHwgIDIgKysKPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9zdXNw ZW5kLmMgfCAgOCArKysrLS0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYyAgICAg fCA1NiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tCj4gIDMgZmlsZXMgY2hh bmdlZCwgNTIgaW5zZXJ0aW9ucygrKSwgMTQgZGVsZXRpb25zKC0pCj4KPiBkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfcmVnLmgKPiBpbmRleCAzNjgwNWI2Li41ODBmNWNiIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfcmVnLmgKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X3JlZy5oCj4gQEAgLTYzMTUsNiArNjMxNSw4IEBAIGVudW0gc2tsX2Rpc3BfcG93ZXJfd2VsbHMg ewo+ICAjZGVmaW5lIFBDSF9QUF9DT05UUk9MCQkweGM3MjA0Cj4gICNkZWZpbmUgIFBBTkVMX1VO TE9DS19SRUdTCSgweGFiY2QgPDwgMTYpCj4gICNkZWZpbmUgIFBBTkVMX1VOTE9DS19NQVNLCSgw eGZmZmYgPDwgMTYpCj4gKyNkZWZpbmUgIEJYVF9QT1dFUl9DWUNMRV9ERUxBWV9NQVNLCSgweDFm MCkKPiArI2RlZmluZSAgQlhUX1BPV0VSX0NZQ0xFX0RFTEFZX1NISUZUCTQKPiAgI2RlZmluZSAg RURQX0ZPUkNFX1ZERAkJKDEgPDwgMykKPiAgI2RlZmluZSAgRURQX0JMQ19FTkFCTEUJCSgxIDw8 IDIpCj4gICNkZWZpbmUgIFBBTkVMX1BPV0VSX1JFU0VUCSgxIDw8IDEpCj4gZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfc3VzcGVuZC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9zdXNwZW5kLmMKPiBpbmRleCBlOTFkNjM3Li4yNGUwYjA2IDEwMDY0NAo+IC0tLSBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfc3VzcGVuZC5jCj4gKysrIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9zdXNwZW5kLmMKPiBAQCAtNDgsNyArNDgsOSBAQCBzdGF0aWMgdm9pZCBp OTE1X3NhdmVfZGlzcGxheShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+ICAJCWRldl9wcml2LT5y ZWdmaWxlLnNhdmVQUF9DT05UUk9MID0gSTkxNV9SRUFEKFBDSF9QUF9DT05UUk9MKTsKPiAgCQlk ZXZfcHJpdi0+cmVnZmlsZS5zYXZlUFBfT05fREVMQVlTID0gSTkxNV9SRUFEKFBDSF9QUF9PTl9E RUxBWVMpOwo+ICAJCWRldl9wcml2LT5yZWdmaWxlLnNhdmVQUF9PRkZfREVMQVlTID0gSTkxNV9S RUFEKFBDSF9QUF9PRkZfREVMQVlTKTsKPiAtCQlkZXZfcHJpdi0+cmVnZmlsZS5zYXZlUFBfRElW SVNPUiA9IEk5MTVfUkVBRChQQ0hfUFBfRElWSVNPUik7Cj4gKwkJaWYgKCFJU19CUk9YVE9OKGRl dikpCj4gKwkJCWRldl9wcml2LT5yZWdmaWxlLnNhdmVQUF9ESVZJU09SID0KPiArCQkJCUk5MTVf UkVBRChQQ0hfUFBfRElWSVNPUik7Cj4gIAl9IGVsc2UgaWYgKCFJU19WQUxMRVlWSUVXKGRldikp IHsKPiAgCQlkZXZfcHJpdi0+cmVnZmlsZS5zYXZlUFBfQ09OVFJPTCA9IEk5MTVfUkVBRChQUF9D T05UUk9MKTsKPiAgCQlkZXZfcHJpdi0+cmVnZmlsZS5zYXZlUFBfT05fREVMQVlTID0gSTkxNV9S RUFEKFBQX09OX0RFTEFZUyk7Cj4gQEAgLTgyLDcgKzg0LDkgQEAgc3RhdGljIHZvaWQgaTkxNV9y ZXN0b3JlX2Rpc3BsYXkoc3RydWN0IGRybV9kZXZpY2UgKmRldikKPiAgCWlmICghSEFTX0dNQ0hf RElTUExBWShkZXYpKSB7Cj4gIAkJSTkxNV9XUklURShQQ0hfUFBfT05fREVMQVlTLCBkZXZfcHJp di0+cmVnZmlsZS5zYXZlUFBfT05fREVMQVlTKTsKPiAgCQlJOTE1X1dSSVRFKFBDSF9QUF9PRkZf REVMQVlTLCBkZXZfcHJpdi0+cmVnZmlsZS5zYXZlUFBfT0ZGX0RFTEFZUyk7Cj4gLQkJSTkxNV9X UklURShQQ0hfUFBfRElWSVNPUiwgZGV2X3ByaXYtPnJlZ2ZpbGUuc2F2ZVBQX0RJVklTT1IpOwo+ ICsJCWlmICghSVNfQlJPWFRPTihkZXYpKQo+ICsJCQlJOTE1X1dSSVRFKFBDSF9QUF9ESVZJU09S LAo+ICsJCQkJCWRldl9wcml2LT5yZWdmaWxlLnNhdmVQUF9ESVZJU09SKTsKCkFnYWluLCBubyBu ZWVkIHRvIGRvIHRoaXMgaW4gaTkxNV9zdXNwZW5kLmMuCgo+ICAJCUk5MTVfV1JJVEUoUENIX1BQ X0NPTlRST0wsIGRldl9wcml2LT5yZWdmaWxlLnNhdmVQUF9DT05UUk9MKTsKPiAgCX0gZWxzZSBp ZiAoIUlTX1ZBTExFWVZJRVcoZGV2KSkgewo+ICAJCUk5MTVfV1JJVEUoUFBfT05fREVMQVlTLCBk ZXZfcHJpdi0+cmVnZmlsZS5zYXZlUFBfT05fREVMQVlTKTsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rw LmMKPiBpbmRleCA2OGUxMGMxLi4zNzUxNGQzIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2RwLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5j Cj4gQEAgLTQ5NTQsOCArNDk1NCw4IEBAIGludGVsX2RwX2luaXRfcGFuZWxfcG93ZXJfc2VxdWVu Y2VyKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4gIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOwo+ICAJc3RydWN0IGVkcF9wb3dlcl9zZXEgY3Vy LCB2YnQsIHNwZWMsCj4gIAkJKmZpbmFsID0gJmludGVsX2RwLT5wcHNfZGVsYXlzOwo+IC0JdTMy IHBwX29uLCBwcF9vZmYsIHBwX2RpdiwgcHA7Cj4gLQlpbnQgcHBfY3RybF9yZWcsIHBwX29uX3Jl ZywgcHBfb2ZmX3JlZywgcHBfZGl2X3JlZzsKPiArCXUzMiBwcF9vbiwgcHBfb2ZmLCBwcF9kaXYg PSAwLCBwcF9jdGwgPSAwLCBwcDsKPiArCWludCBwcF9jdHJsX3JlZywgcHBfb25fcmVnLCBwcF9v ZmZfcmVnLCBwcF9kaXZfcmVnID0gMDsKPiAgCj4gIAlsb2NrZGVwX2Fzc2VydF9oZWxkKCZkZXZf cHJpdi0+cHBzX211dGV4KTsKPiAgCj4gQEAgLTQ5NjQsMTAgKzQ5NjQsMTYgQEAgaW50ZWxfZHBf aW5pdF9wYW5lbF9wb3dlcl9zZXF1ZW5jZXIoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPiAgCQly ZXR1cm47Cj4gIAo+ICAJaWYgKCFIQVNfR01DSF9ESVNQTEFZKGRldikpIHsKPiArCQkvKgo+ICsJ CSAqIFRPRE86IEJYVCBoYXMgMiBzZXRzIG9mIFBQUyByZWdpc3RlcnMuCj4gKwkJICogQ29ycmVj dCBSZWdpc3RlciBmb3IgQnJveHRvbiBuZWVkIHRvIGJlIGlkZW50aWZpZWQKPiArCQkgKiB1c2lu ZyBWQlQuIGhhcmRjb2RpbmcgZm9yIG5vdwo+ICsJCSAqLwoKVGhpcyBjb21tZW50IHJlYWxseSBi ZWxvbmdzIGluIHRoZSBwcmV2aW91cyBwYXRjaCwgd2hpY2ggd291bGQgYWRkIHRoZQppZiAoSVNf QlJPWFRPTihkZXYpKSBicmFuY2ggYXMgSSBzdWdnZXN0ZWQuCgo+ICAJCXBwX2N0cmxfcmVnID0g UENIX1BQX0NPTlRST0w7Cj4gIAkJcHBfb25fcmVnID0gUENIX1BQX09OX0RFTEFZUzsKPiAgCQlw cF9vZmZfcmVnID0gUENIX1BQX09GRl9ERUxBWVM7Cj4gLQkJcHBfZGl2X3JlZyA9IFBDSF9QUF9E SVZJU09SOwo+ICsJCWlmICghSVNfQlJPWFRPTihkZXYpKQo+ICsJCQlwcF9kaXZfcmVnID0gUENI X1BQX0RJVklTT1I7CgpBbmQgdGh1cyB0aGlzIGlzIG5hdHVyYWxseSBpbmNsdWRlZCBpbiB0aGUg cHJldmlvdXMgcGF0Y2ggYXMgd2VsbC4KClRoZSByZXN0IHdpbGwgcHJvYmFibHkgbmVlZCBzb21l IHVwZGF0ZXMgLSBtYXliZSBpdCBuZWVkcyB0byBiZSBmdWxseQppbmNvcnBvcmF0ZWQgaW50byB0 aGUgcHJldmlvdXMgcGF0Y2guCgo+ICAJfSBlbHNlIHsKPiAgCQllbnVtIHBpcGUgcGlwZSA9IHZs dl9wb3dlcl9zZXF1ZW5jZXJfcGlwZShpbnRlbF9kcCk7Cj4gIAo+IEBAIC00OTg0LDcgKzQ5OTAs MTAgQEAgaW50ZWxfZHBfaW5pdF9wYW5lbF9wb3dlcl9zZXF1ZW5jZXIoc3RydWN0IGRybV9kZXZp Y2UgKmRldiwKPiAgCj4gIAlwcF9vbiA9IEk5MTVfUkVBRChwcF9vbl9yZWcpOwo+ICAJcHBfb2Zm ID0gSTkxNV9SRUFEKHBwX29mZl9yZWcpOwo+IC0JcHBfZGl2ID0gSTkxNV9SRUFEKHBwX2Rpdl9y ZWcpOwo+ICsJaWYgKCFJU19CUk9YVE9OKGRldikpCj4gKwkJcHBfZGl2ID0gSTkxNV9SRUFEKHBw X2Rpdl9yZWcpOwo+ICsJZWxzZQo+ICsJCXBwX2N0bCA9IEk5MTVfUkVBRChwcF9jdHJsX3JlZyk7 Cj4gIAo+ICAJLyogUHVsbCB0aW1pbmcgdmFsdWVzIG91dCBvZiByZWdpc3RlcnMgKi8KPiAgCWN1 ci50MV90MyA9IChwcF9vbiAmIFBBTkVMX1BPV0VSX1VQX0RFTEFZX01BU0spID4+Cj4gQEAgLTQ5 OTksOCArNTAwOCwxMiBAQCBpbnRlbF9kcF9pbml0X3BhbmVsX3Bvd2VyX3NlcXVlbmNlcihzdHJ1 Y3QgZHJtX2RldmljZSAqZGV2LAo+ICAJY3VyLnQxMCA9IChwcF9vZmYgJiBQQU5FTF9QT1dFUl9E T1dOX0RFTEFZX01BU0spID4+Cj4gIAkJUEFORUxfUE9XRVJfRE9XTl9ERUxBWV9TSElGVDsKPiAg Cj4gLQljdXIudDExX3QxMiA9ICgocHBfZGl2ICYgUEFORUxfUE9XRVJfQ1lDTEVfREVMQVlfTUFT SykgPj4KPiAtCQkgICAgICAgUEFORUxfUE9XRVJfQ1lDTEVfREVMQVlfU0hJRlQpICogMTAwMDsK PiArCWlmIChJU19CUk9YVE9OKGRldikpCj4gKwkJY3VyLnQxMV90MTIgPSAoKChwcF9jdGwgJiBC WFRfUE9XRVJfQ1lDTEVfREVMQVlfTUFTSykgPj4KPiArCQkJQlhUX1BPV0VSX0NZQ0xFX0RFTEFZ X1NISUZUKSAtIDEpICogMTAwMDsKPiArCWVsc2UKPiArCQljdXIudDExX3QxMiA9ICgocHBfZGl2 ICYgUEFORUxfUE9XRVJfQ1lDTEVfREVMQVlfTUFTSykgPj4KPiArCQkJUEFORUxfUE9XRVJfQ1lD TEVfREVMQVlfU0hJRlQpICogMTAwMDsKPiAgCj4gIAlEUk1fREVCVUdfS01TKCJjdXIgdDFfdDMg JWQgdDggJWQgdDkgJWQgdDEwICVkIHQxMV90MTIgJWRcbiIsCj4gIAkJICAgICAgY3VyLnQxX3Qz LCBjdXIudDgsIGN1ci50OSwgY3VyLnQxMCwgY3VyLnQxMV90MTIpOwo+IEBAIC01MDU3LDE2ICs1 MDcwLDIyIEBAIGludGVsX2RwX2luaXRfcGFuZWxfcG93ZXJfc2VxdWVuY2VyX3JlZ2lzdGVycyhz dHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+ICAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKPiAgCXUzMiBwcF9vbiwgcHBfb2ZmLCBwcF9kaXYsIHBv cnRfc2VsID0gMDsKPiAgCWludCBkaXYgPSBIQVNfUENIX1NQTElUKGRldikgPyBpbnRlbF9wY2hf cmF3Y2xrKGRldikgOiBpbnRlbF9ocmF3Y2xrKGRldik7Cj4gLQlpbnQgcHBfb25fcmVnLCBwcF9v ZmZfcmVnLCBwcF9kaXZfcmVnOwo+ICsJaW50IHBwX29uX3JlZywgcHBfb2ZmX3JlZywgcHBfZGl2 X3JlZyA9IDAsIHBwX2N0cmxfcmVnOwo+ICAJZW51bSBwb3J0IHBvcnQgPSBkcF90b19kaWdfcG9y dChpbnRlbF9kcCktPnBvcnQ7Cj4gIAljb25zdCBzdHJ1Y3QgZWRwX3Bvd2VyX3NlcSAqc2VxID0g JmludGVsX2RwLT5wcHNfZGVsYXlzOwo+ICAKPiAgCWxvY2tkZXBfYXNzZXJ0X2hlbGQoJmRldl9w cml2LT5wcHNfbXV0ZXgpOwo+ICAKPiAgCWlmICghSEFTX0dNQ0hfRElTUExBWShkZXYpKSB7Cj4g KwkJLyoKPiArCQkgKiBUT0RPOiBDb3JyZWN0IFJlZ2lzdGVyIGZvciBCcm94dG9uIG5lZWQgdG8g YmUgaWRlbnRpZmllZAo+ICsJCSAqIHVzaW5nIFZCVC4gaGFyZGNvZGluZyBmb3Igbm93Cj4gKwkJ ICovCj4gIAkJcHBfb25fcmVnID0gUENIX1BQX09OX0RFTEFZUzsKPiAgCQlwcF9vZmZfcmVnID0g UENIX1BQX09GRl9ERUxBWVM7Cj4gLQkJcHBfZGl2X3JlZyA9IFBDSF9QUF9ESVZJU09SOwo+ICsJ CXBwX2N0cmxfcmVnID0gUENIX1BQX0NPTlRST0w7Cj4gKwkJaWYgKCFJU19CUk9YVE9OKGRldikp Cj4gKwkJCXBwX2Rpdl9yZWcgPSBQQ0hfUFBfRElWSVNPUjsKPiAgCX0gZWxzZSB7Cj4gIAkJZW51 bSBwaXBlIHBpcGUgPSB2bHZfcG93ZXJfc2VxdWVuY2VyX3BpcGUoaW50ZWxfZHApOwo+ICAKPiBA QCAtNTA4OSw5ICs1MTA4LDE2IEBAIGludGVsX2RwX2luaXRfcGFuZWxfcG93ZXJfc2VxdWVuY2Vy X3JlZ2lzdGVycyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+ICAJCSAoc2VxLT50MTAgPDwgUEFO RUxfUE9XRVJfRE9XTl9ERUxBWV9TSElGVCk7Cj4gIAkvKiBDb21wdXRlIHRoZSBkaXZpc29yIGZv ciB0aGUgcHAgY2xvY2ssIHNpbXBseSBtYXRjaCB0aGUgQnNwZWMKPiAgCSAqIGZvcm11bGEuICov Cj4gLQlwcF9kaXYgPSAoKDEwMCAqIGRpdikvMiAtIDEpIDw8IFBQX1JFRkVSRU5DRV9ESVZJREVS X1NISUZUOwo+IC0JcHBfZGl2IHw9IChESVZfUk9VTkRfVVAoc2VxLT50MTFfdDEyLCAxMDAwKQo+ IC0JCQk8PCBQQU5FTF9QT1dFUl9DWUNMRV9ERUxBWV9TSElGVCk7Cj4gKwlpZiAoSVNfQlJPWFRP TihkZXYpKSB7Cj4gKwkJcHBfZGl2ID0gSTkxNV9SRUFEKHBwX2N0cmxfcmVnKTsKPiArCQlwcF9k aXYgJj0gfkJYVF9QT1dFUl9DWUNMRV9ERUxBWV9NQVNLOwo+ICsJCXBwX2RpdiB8PSAoRElWX1JP VU5EX1VQKChzZXEtPnQxMV90MTIgKyAxKSwgMTAwMCkKPiArCQkJCTw8IEJYVF9QT1dFUl9DWUNM RV9ERUxBWV9TSElGVCk7Cj4gKwl9IGVsc2Ugewo+ICsJCXBwX2RpdiA9ICgoMTAwICogZGl2KS8y IC0gMSkgPDwgUFBfUkVGRVJFTkNFX0RJVklERVJfU0hJRlQ7Cj4gKwkJcHBfZGl2IHw9IChESVZf Uk9VTkRfVVAoc2VxLT50MTFfdDEyLCAxMDAwKQo+ICsJCQkJPDwgUEFORUxfUE9XRVJfQ1lDTEVf REVMQVlfU0hJRlQpOwo+ICsJfQo+ICAKPiAgCS8qIEhhc3dlbGwgZG9lc24ndCBoYXZlIGFueSBw b3J0IHNlbGVjdGlvbiBiaXRzIGZvciB0aGUgcGFuZWwKPiAgCSAqIHBvd2VyIHNlcXVlbmNlciBh bnkgbW9yZS4gKi8KPiBAQCAtNTEwOCwxMSArNTEzNCwxNyBAQCBpbnRlbF9kcF9pbml0X3BhbmVs X3Bvd2VyX3NlcXVlbmNlcl9yZWdpc3RlcnMoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPiAgCj4g IAlJOTE1X1dSSVRFKHBwX29uX3JlZywgcHBfb24pOwo+ICAJSTkxNV9XUklURShwcF9vZmZfcmVn LCBwcF9vZmYpOwo+IC0JSTkxNV9XUklURShwcF9kaXZfcmVnLCBwcF9kaXYpOwo+ICsJaWYgKElT X0JST1hUT04oZGV2KSkKPiArCQlJOTE1X1dSSVRFKHBwX2N0cmxfcmVnLCBwcF9kaXYpOwo+ICsJ ZWxzZQo+ICsJCUk5MTVfV1JJVEUocHBfZGl2X3JlZywgcHBfZGl2KTsKPiAgCj4gIAlEUk1fREVC VUdfS01TKCJwYW5lbCBwb3dlciBzZXF1ZW5jZXIgcmVnaXN0ZXIgc2V0dGluZ3M6IFBQX09OICUj eCwgUFBfT0ZGICUjeCwgUFBfRElWICUjeFxuIiwKPiAgCQkgICAgICBJOTE1X1JFQUQocHBfb25f cmVnKSwKPiAgCQkgICAgICBJOTE1X1JFQUQocHBfb2ZmX3JlZyksCj4gKwkJICAgICAgSVNfQlJP WFRPTihkZXYpID8KPiArCQkgICAgICAoKEk5MTVfUkVBRChwcF9jdHJsX3JlZykgJiYgQlhUX1BP V0VSX0NZQ0xFX0RFTEFZX01BU0spCj4gKwkJICAgICAgID4+IEJYVF9QT1dFUl9DWUNMRV9ERUxB WV9TSElGVCkgOgo+ICAJCSAgICAgIEk5MTVfUkVBRChwcF9kaXZfcmVnKSk7Cj4gIH0KPiAgCj4g LS0gCj4gMi4wLjEKPgo+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fCj4gSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdAo+IEludGVsLWdmeEBsaXN0cy5mcmVlZGVz a3RvcC5vcmcKPiBodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8v aW50ZWwtZ2Z4CgotLSAKSmFuaSBOaWt1bGEsIEludGVsIE9wZW4gU291cmNlIFRlY2hub2xvZ3kg Q2VudGVyCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCklu dGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRw Oi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==