From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by gabe.freedesktop.org (Postfix) with ESMTPS id C103C6E0EF for ; Wed, 21 Nov 2018 17:39:38 +0000 (UTC) Date: Wed, 21 Nov 2018 19:39:36 +0200 From: Imre Deak Message-ID: <20181121173936.GF1830@ideak-desk.fi.intel.com> References: <1541244966-27134-1-git-send-email-jyoti.r.yadav@intel.com> <1541244966-27134-3-git-send-email-jyoti.r.yadav@intel.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <1541244966-27134-3-git-send-email-jyoti.r.yadav@intel.com> Subject: Re: [igt-dev] [PATCH i-g-t v3 2/5] [intel-gfx] tests/pm_dc: Added new test to verify Display C States. List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: imre.deak@intel.com Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: igt-dev-bounces@lists.freedesktop.org Sender: "igt-dev" To: Jyoti Yadav Cc: igt-dev@lists.freedesktop.org List-ID: T24gU2F0LCBOb3YgMDMsIDIwMTggYXQgMDc6MzY6MDNBTSAtMDQwMCwgSnlvdGkgWWFkYXYgd3Jv dGU6Cj4gQ3VycmVudGx5IHRoaXMgdGVzdCB2YWxpZGF0ZXMgREM1IHVwb24gUFNSIGVudHJ5IGZv ciBzdXBwb3J0ZWQgcGxhdGZvcm1zLgo+IEFkZGVkIG5ldyBmaWxlIGZvciBjb21waWxhdGlvbiBp bnNpZGUgTWFrZWZpbGUgYW5kIE1lc29uLgoKUGxlYXNlIGFsd2F5cyBsaXN0IHRoZSBjaGFuZ2Vz IGZvciB0aGUgbmV3IHJldmlzaW9uIGhlcmUgdG8gbWFrZSByZXZpZXcKZWFzaWVyLiBJbiBwYXJ0 aWN1bGFyIGl0IHdvdWxkIGJlIGdvb2QgdG8ga25vdyBob3cgdGhlIGNyYXNoIGR1cmluZwpjbGVh bnVwIGluIHRoZSBwcmV2aW91cyB2ZXJzaW9uIGdvdCBmaXhlZC4KCj4gCj4gU2lnbmVkLW9mZi1i eTogSnlvdGkgWWFkYXYgPGp5b3RpLnIueWFkYXZAaW50ZWwuY29tPgo+IC0tLQo+ICB0ZXN0cy9N YWtlZmlsZS5zb3VyY2VzIHwgICAxICsKPiAgdGVzdHMvbWVzb24uYnVpbGQgICAgICB8ICAgMSAr Cj4gIHRlc3RzL3BtX2RjLmMgICAgICAgICAgfCAyMTIgKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKwo+ICAzIGZpbGVzIGNoYW5nZWQsIDIxNCBpbnNlcnRp b25zKCspCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCB0ZXN0cy9wbV9kYy5jCj4gCj4gZGlmZiAtLWdp dCBhL3Rlc3RzL01ha2VmaWxlLnNvdXJjZXMgYi90ZXN0cy9NYWtlZmlsZS5zb3VyY2VzCj4gaW5k ZXggYzg0OTMzZi4uZDQ5MTQyMCAxMDA2NDQKPiAtLS0gYS90ZXN0cy9NYWtlZmlsZS5zb3VyY2Vz Cj4gKysrIGIvdGVzdHMvTWFrZWZpbGUuc291cmNlcwo+IEBAIC0yMTQsNiArMjE0LDcgQEAgVEVT VFNfcHJvZ3MgPSBcCj4gIAlwbV9scHNwIFwKPiAgCXBtX3JjNl9yZXNpZGVuY3kgXAo+ICAJcG1f cnBtIFwKPiArCXBtX2RjIFwKPiAgCXBtX3JwcyBcCj4gIAlwbV9zc2V1IFwKPiAgCXByaW1lX2J1 c3kgXAo+IGRpZmYgLS1naXQgYS90ZXN0cy9tZXNvbi5idWlsZCBiL3Rlc3RzL21lc29uLmJ1aWxk Cj4gaW5kZXggMTdkZWI5NC4uNTBiMDY4NyAxMDA2NDQKPiAtLS0gYS90ZXN0cy9tZXNvbi5idWls ZAo+ICsrKyBiL3Rlc3RzL21lc29uLmJ1aWxkCj4gQEAgLTE4OCw2ICsxODgsNyBAQCB0ZXN0X3By b2dzID0gWwo+ICAJJ3BtX2xwc3AnLAo+ICAJJ3BtX3JjNl9yZXNpZGVuY3knLAo+ICAJJ3BtX3Jw bScsCj4gKwkncG1fZGMnLAo+ICAJJ3BtX3JwcycsCj4gIAkncG1fc3NldScsCj4gIAkncHJpbWVf YnVzeScsCj4gZGlmZiAtLWdpdCBhL3Rlc3RzL3BtX2RjLmMgYi90ZXN0cy9wbV9kYy5jCj4gbmV3 IGZpbGUgbW9kZSAxMDA2NDQKPiBpbmRleCAwMDAwMDAwLi42NzFjMGY1Cj4gLS0tIC9kZXYvbnVs bAo+ICsrKyBiL3Rlc3RzL3BtX2RjLmMKPiBAQCAtMCwwICsxLDIxMiBAQAo+ICsvKgo+ICsgKiBD b3B5cmlnaHQgwqkgMjAxOCBJbnRlbCBDb3Jwb3JhdGlvbgo+ICsgKgo+ICsgKiBQZXJtaXNzaW9u IGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5p bmcgYQo+ICsgKiBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRh dGlvbiBmaWxlcyAodGhlICJTb2Z0d2FyZSIpLAo+ICsgKiB0byBkZWFsIGluIHRoZSBTb2Z0d2Fy ZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uCj4gKyAq IHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmli dXRlLCBzdWJsaWNlbnNlLAo+ICsgKiBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIFNvZnR3YXJl LCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUKPiArICogU29mdHdhcmUgaXMgZnVy bmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKPiAr ICoKPiArICogVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBu b3RpY2UgKGluY2x1ZGluZyB0aGUgbmV4dAo+ICsgKiBwYXJhZ3JhcGgpIHNoYWxsIGJlIGluY2x1 ZGVkIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlCj4gKyAqIFNv ZnR3YXJlLgo+ICsgKgo+ICsgKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lU SE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgo+ICsgKiBJTVBMSUVELCBJTkNM VURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU WSwKPiArICogRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQU5EIE5PTklORlJJTkdF TUVOVC4gIElOIE5PIEVWRU5UIFNIQUxMCj4gKyAqIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBI T0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSCj4gKyAqIExJ QUJJTElUWSwgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJX SVNFLCBBUklTSU5HCj4gKyAqIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhF IFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIgREVBTElOR1MKPiArICogSU4gVEhFIFNPRlRX QVJFLgo+ICsgKgo+ICsgKi8KPiArCj4gKyNpbmNsdWRlICJpZ3QuaCIKPiArI2luY2x1ZGUgImln dF9zeXNmcy5oIgo+ICsjaW5jbHVkZSAiaWd0X3Bzci5oIgo+ICsjaW5jbHVkZSA8ZXJybm8uaD4K PiArI2luY2x1ZGUgPHN0ZGJvb2wuaD4KPiArI2luY2x1ZGUgPHN0ZGlvLmg+Cj4gKyNpbmNsdWRl IDxzdHJpbmcuaD4KPiArI2luY2x1ZGUgImludGVsX2J1Zm1nci5oIgo+ICsjaW5jbHVkZSAiaW50 ZWxfaW8uaCIKPiArI2luY2x1ZGUgImxpbWl0cy5oIgo+ICsKPiArCj4gK3R5cGVkZWYgc3RydWN0 IHsKPiArCWludCBkcm1fZmQ7Cj4gKwlpbnQgZGVidWdmc19mZDsKPiArCXVpbnQzMl90IGRldmlk Owo+ICsJaWd0X2Rpc3BsYXlfdCBkaXNwbGF5Owo+ICsJc3RydWN0IGlndF9mYiBmYl93aGl0ZTsK PiArCWRybU1vZGVNb2RlSW5mbyAqbW9kZTsKPiArCWlndF9vdXRwdXRfdCAqb3V0cHV0Owo+ICt9 IGRhdGFfdDsKPiArCj4gKy8qIERDIFN0YXRlIEZsYWdzICovCj4gKyNkZWZpbmUgQ0hFQ0tfREM1 CTEKPiArI2RlZmluZSBDSEVDS19EQzYJMgo+ICsKPiArc3RhdGljIHZvaWQgc2V0dXBfb3V0cHV0 KGRhdGFfdCAqZGF0YSkKPiArewo+ICsJaWd0X2Rpc3BsYXlfdCAqZGlzcGxheSA9ICZkYXRhLT5k aXNwbGF5Owo+ICsJaWd0X291dHB1dF90ICpvdXRwdXQ7Cj4gKwllbnVtIHBpcGUgcGlwZTsKPiAr Cj4gKwlmb3JfZWFjaF9waXBlX3dpdGhfdmFsaWRfb3V0cHV0KGRpc3BsYXksIHBpcGUsIG91dHB1 dCkgewo+ICsJCWRybU1vZGVDb25uZWN0b3JQdHIgYyA9IG91dHB1dC0+Y29uZmlnLmNvbm5lY3Rv cjsKPiArCj4gKwkJaWYgKGMtPmNvbm5lY3Rvcl90eXBlICE9IERSTV9NT0RFX0NPTk5FQ1RPUl9l RFApCj4gKwkJCWNvbnRpbnVlOwo+ICsKPiArCQlpZ3Rfb3V0cHV0X3NldF9waXBlKG91dHB1dCwg cGlwZSk7Cj4gKwkJZGF0YS0+b3V0cHV0ID0gb3V0cHV0Owo+ICsJCWRhdGEtPm1vZGUgPSBpZ3Rf b3V0cHV0X2dldF9tb2RlKG91dHB1dCk7Cj4gKwo+ICsJCXJldHVybjsKPiArCX0KPiArfQo+ICsK PiArc3RhdGljIHZvaWQgZGlzcGxheV9pbml0KGRhdGFfdCAqZGF0YSkKPiArewo+ICsJaWd0X2Rp c3BsYXlfaW5pdCgmZGF0YS0+ZGlzcGxheSwgZGF0YS0+ZHJtX2ZkKTsKPiArCXNldHVwX291dHB1 dChkYXRhKTsKPiArfQoKVGhpcyBmdW5jdGlvbiBpc24ndCB1c2VkLgoKPiArCj4gK3N0YXRpYyB2 b2lkIGRpc3BsYXlfZmluaShkYXRhX3QgKmRhdGEpCj4gK3sKPiArCWlndF9kaXNwbGF5X2Zpbmko JmRhdGEtPmRpc3BsYXkpOwo+ICt9Cj4gKwo+ICtzdGF0aWMgYm9vbCBlZHBfcHNyX3Npbmtfc3Vw cG9ydChkYXRhX3QgKmRhdGEpCj4gK3sKPiArCWNoYXIgYnVmWzUxMl07Cj4gKwo+ICsJaWd0X2Rl YnVnZnNfc2ltcGxlX3JlYWQoZGF0YS0+ZGVidWdmc19mZCwgImk5MTVfZWRwX3Bzcl9zdGF0dXMi LAo+ICsJCQkgYnVmLCBzaXplb2YoYnVmKSk7Cj4gKwo+ICsJcmV0dXJuIHN0cnN0cihidWYsICJT aW5rX1N1cHBvcnQ6IHllc1xuIik7Cj4gK30KPiArCj4gK3N0YXRpYyB2b2lkIGNsZWFudXAoZGF0 YV90ICpkYXRhKQo+ICt7Cj4gKwlpZ3RfcGxhbmVfdCAqcHJpbWFyeTsKPiArCj4gKwlwcmltYXJ5 ID0gaWd0X291dHB1dF9nZXRfcGxhbmVfdHlwZShkYXRhLT5vdXRwdXQsCj4gKwkJCQkJICAgIERS TV9QTEFORV9UWVBFX1BSSU1BUlkpOwo+ICsJaWd0X3BsYW5lX3NldF9mYihwcmltYXJ5LCBOVUxM KTsKPiArCWlndF9kaXNwbGF5X2NvbW1pdCgmZGF0YS0+ZGlzcGxheSk7Cj4gKwlpZ3RfcmVtb3Zl X2ZiKGRhdGEtPmRybV9mZCwgJmRhdGEtPmZiX3doaXRlKTsKPiArfQoKVGhpcyBmdW5jdGlvbiBp c24ndCB1c2VkIGVpdGhlciBieSB0aGUgZW5kIG9mIHRoZSBwYXRjaHNldC4KCj4gKwo+ICtzdGF0 aWMgdm9pZCBzZXR1cF9wcmltYXJ5KGRhdGFfdCAqZGF0YSkKPiArewo+ICsJaWd0X3BsYW5lX3Qg KnByaW1hcnk7Cj4gKwo+ICsJcHJpbWFyeSA9IGlndF9vdXRwdXRfZ2V0X3BsYW5lX3R5cGUoZGF0 YS0+b3V0cHV0LAo+ICsJCQkJCSAgICBEUk1fUExBTkVfVFlQRV9QUklNQVJZKTsKPiArCWlndF9w bGFuZV9zZXRfZmIocHJpbWFyeSwgTlVMTCk7Cj4gKwlpZ3RfY3JlYXRlX2NvbG9yX2ZiKGRhdGEt PmRybV9mZCwKPiArCQkJICAgIGRhdGEtPm1vZGUtPmhkaXNwbGF5LCBkYXRhLT5tb2RlLT52ZGlz cGxheSwKPiArCQkJICAgIERSTV9GT1JNQVRfWFJHQjg4ODgsCj4gKwkJCSAgICBMT0NBTF9JOTE1 X0ZPUk1BVF9NT0RfWF9USUxFRCwKPiArCQkJICAgIDEuMCwgMS4wLCAxLjAsCj4gKwkJCSAgICAm ZGF0YS0+ZmJfd2hpdGUpOwo+ICsJaWd0X2Rpc3BsYXlfY29tbWl0KCZkYXRhLT5kaXNwbGF5KTsK CldoeSBkbyB3ZSBuZWVkIHRoaXMgc2VwYXJhdGUgY29tbWl0PwoKPiArCj4gKwlpZ3RfcGxhbmVf c2V0X2ZiKHByaW1hcnksICZkYXRhLT5mYl93aGl0ZSk7CgpJIGNhbid0IHNlZSB0aGlzIEZCIGdl dHRpbmcgZnJlZWQgYW55d2hlcmUgKGNsZWFudXAoKSB2YW5zaWhlcyBieSB0aGUKZW5kKS4KCj4g KwlpZ3RfZGlzcGxheV9jb21taXQoJmRhdGEtPmRpc3BsYXkpOwo+ICt9Cj4gKwo+ICtzdGF0aWMg dWludDMyX3QgZ2V0X2RjX2NvdW50ZXIoY2hhciAqZGNfZGF0YSkKPiArewo+ICsJY2hhciAqZTsK PiArCWxvbmcgcmV0Owo+ICsJY2hhciAqcyA9IHN0cmNocihkY19kYXRhLCAnOicpOwo+ICsKPiAr CWFzc2VydChzKTsKPiArCXMrKzsKPiArCXJldCA9IHN0cnRvbChzLCAmZSwgMTApOwo+ICsJYXNz ZXJ0KCgocmV0ICE9IExPTkdfTUlOICYmIHJldCAhPSBMT05HX01BWCkgfHwgZXJybm8gIT0gRVJB TkdFKSAmJgo+ICsJICAgICAgIGUgPiBzICYmICplID09ICdcbicgJiYgcmV0ID49IDApOwo+ICsJ cmV0dXJuIHJldDsKPiArfQo+ICsKPiArc3RhdGljIHVpbnQzMl90IHJlYWRfZGNfY291bnRlcih1 aW50MzJfdCBkcm1fZmQsIGludCBkY19mbGFnKQo+ICt7Cj4gKwljaGFyIGJ1Zls0MDk2XTsKPiAr CWNoYXIgKnN0cjsKPiArCj4gKwlpZ3RfZGVidWdmc19yZWFkKGRybV9mZCwgImk5MTVfZG1jX2lu Zm8iLCBidWYpOwo+ICsJaWYgKGRjX2ZsYWcgJiBDSEVDS19EQzUpCj4gKwkJc3RyID0gc3Ryc3Ry KGJ1ZiwgIkRDMyAtPiBEQzUgY291bnQiKTsKPiArCWVsc2UgaWYgKGRjX2ZsYWcgJiBDSEVDS19E QzYpCj4gKwkJc3RyID0gc3Ryc3RyKGJ1ZiwgIkRDNSAtPiBEQzYgY291bnQiKTsKPiArCWlndF9z a2lwX29uX2Yoc3RyID09IE5VTEwsICJEQyVkIGNvdW50ZXIgaXMgbm90IGF2YWlsYmxlXG4iLAo+ ICsJCSAgICAgIGRjX2ZsYWcgJiBDSEVDS19EQzUgPyA1IDogNik7Cj4gKwlyZXR1cm4gZ2V0X2Rj X2NvdW50ZXIoc3RyKTsKPiArfQo+ICsKPiArYm9vbCBkY19zdGF0ZV93YWl0X2VudHJ5KGludCBk cm1fZmQsIGludCBkY19mbGFnLCBpbnQgcHJldl9kY19jb3VudCkKPiArewo+ICsJcmV0dXJuIGln dF93YWl0KHJlYWRfZGNfY291bnRlcihkcm1fZmQsIGRjX2ZsYWcpID4gcHJldl9kY19jb3VudCwg MTAwMCwgMTAwKTsKPiArfQo+ICsKPiArdm9pZCBjaGVja19kY19jb3VudGVyKGludCBkcm1fZmQs IGludCBkY19mbGFnLCB1aW50MzJfdCBwcmV2X2RjX2NvdW50KQo+ICt7Cj4gKwlpZ3RfYXNzZXJ0 X2YoZGNfc3RhdGVfd2FpdF9lbnRyeShkcm1fZmQsIGRjX2ZsYWcsIHByZXZfZGNfY291bnQpLAo+ ICsJCSAgICAgIkRDJWQgc3RhdGUgaXMgbm90IGFjaGlldmVkXG4iLAo+ICsJCSAgICAgZGNfZmxh ZyAmIENIRUNLX0RDNSA/IDUgOiA2KTsKPiArfQo+ICsKPiArc3RhdGljIHZvaWQgdGVzdF9kY19z dGF0ZV9wc3IoZGF0YV90ICpkYXRhLCBpbnQgZGNfZmxhZykKPiArewo+ICsJdWludDMyX3QgZGNf Y291bnRlcl9iZWZvcmVfcHNyOwo+ICsKPiArCWRjX2NvdW50ZXJfYmVmb3JlX3BzciA9IHJlYWRf ZGNfY291bnRlcihkYXRhLT5kcm1fZmQsIGRjX2ZsYWcpOwo+ICsJc2V0dXBfb3V0cHV0KGRhdGEp Owo+ICsJc2V0dXBfcHJpbWFyeShkYXRhKTsKPiArCWlndF9hc3NlcnQocHNyX3dhaXRfZW50cnko ZGF0YS0+ZGVidWdmc19mZCkpOwo+ICsJY2hlY2tfZGNfY291bnRlcihkYXRhLT5kcm1fZmQsIGRj X2ZsYWcsIGRjX2NvdW50ZXJfYmVmb3JlX3Bzcik7Cj4gK30KPiArCj4gK2ludCBtYWluKGludCBh cmdjLCBjaGFyICphcmd2W10pCj4gK3sKPiArCWJvb2wgaGFzX3J1bnRpbWVfcG07Cj4gKwlkYXRh X3QgZGF0YSA9IHt9Owo+ICsKPiArCWlndF9za2lwX29uX3NpbXVsYXRpb24oKTsKPiArCWlndF9z dWJ0ZXN0X2luaXQoYXJnYywgYXJndik7Cj4gKwlpZ3RfZml4dHVyZSB7Cj4gKwkJZGF0YS5kcm1f ZmQgPSBkcm1fb3Blbl9kcml2ZXJfbWFzdGVyKERSSVZFUl9JTlRFTCk7Cj4gKwkJZGF0YS5kZWJ1 Z2ZzX2ZkID0gaWd0X2RlYnVnZnNfZGlyKGRhdGEuZHJtX2ZkKTsKPiArCQlpZ3RfcmVxdWlyZShk YXRhLmRlYnVnZnNfZmQgIT0gLTEpOwo+ICsJCWttc3Rlc3Rfc2V0X3Z0X2dyYXBoaWNzX21vZGUo KTsKPiArCQlkYXRhLmRldmlkID0gaW50ZWxfZ2V0X2RybV9kZXZpZChkYXRhLmRybV9mZCk7Cj4g KwkJaGFzX3J1bnRpbWVfcG0gPSBpZ3Rfc2V0dXBfcnVudGltZV9wbSgpOwo+ICsJCWlndF9pbmZv KCJSdW50aW1lIFBNIHN1cHBvcnQ6ICVkXG4iLCBoYXNfcnVudGltZV9wbSk7Cj4gKwkJaWd0X3Jl cXVpcmUoaGFzX3J1bnRpbWVfcG0pOwo+ICsJCWlndF9yZXF1aXJlKGlndF9wbV9kbWNfbG9hZGVk KGRhdGEuZGVidWdmc19mZCkpOwo+ICsJCWlndF9kaXNwbGF5X2luaXQoJmRhdGEtPmRpc3BsYXks IGRhdGEtPmRybV9mZCk7Cj4gKwkJLy9kaXNwbGF5X2luaXQoJmRhdGEpOwoKTGVmdG92ZXIgY29k ZS4KCj4gKwl9Cj4gKwo+ICsJaWd0X3N1YnRlc3QoImRjNS1wc3IiKSB7Cj4gKwkJcHNyX2VuYWJs ZShkYXRhLmRlYnVnZnNfZmQpOwo+ICsJCWlndF9yZXF1aXJlX2YoZWRwX3Bzcl9zaW5rX3N1cHBv cnQoJmRhdGEpLAo+ICsJCQkgICAgICAiU2luayBkb2VzIG5vdCBzdXBwb3J0IFBTUlxuIik7Cj4g KwkJLyogQ2hlY2sgREM1IGNvdW50ZXIgaXMgYXZhaWxhYmxlIGZvciB0aGUgcGxhdGZvcm0uCj4g KwkJICogU2tpcCB0aGUgdGVzdCBpZiBjb3VudGVyIGlzIG5vdCBhdmFpbGFibGUuCj4gKwkJICov Cj4gKwkJcmVhZF9kY19jb3VudGVyKGRhdGEuZHJtX2ZkLCBDSEVDS19EQzUpOwo+ICsJCXRlc3Rf ZGNfc3RhdGVfcHNyKCZkYXRhLCBDSEVDS19EQzUpOwo+ICsJCWNsZWFudXAoJmRhdGEpOwoKVGhp cyBvbmUgeW91J2xsIHJlbW92ZSBpbiBhIGxhdGVyIHBhdGNoLCBzbyBjb3VsZCBiZSByZW1vdmVk IGFscmVhZHkKaGVyZS4KCj4gKwl9Cj4gKwlpZ3RfZml4dHVyZSB7Cj4gKwkJY2xvc2UoZGF0YS5k ZWJ1Z2ZzX2ZkKTsKPiArCQlkaXNwbGF5X2ZpbmkoJmRhdGEpOwo+ICsJfQo+ICsKPiArCWlndF9l eGl0KCk7Cj4gK30KPiAtLSAKPiAxLjkuMQo+IApfX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXwppZ3QtZGV2IG1haWxpbmcgbGlzdAppZ3QtZGV2QGxpc3RzLmZy ZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3Rp bmZvL2lndC1kZXYK