From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTPS id AEED26F4A7 for ; Thu, 10 Jan 2019 23:52:56 +0000 (UTC) Message-ID: <1b8b803eb063c3754a086f0796d19d696363f7f6.camel@intel.com> From: Dhinakaran Pandiyan Date: Thu, 10 Jan 2019 15:52:52 -0800 In-Reply-To: <20190103143641.20200-7-jose.souza@intel.com> References: <20190103143641.20200-1-jose.souza@intel.com> <20190103143641.20200-7-jose.souza@intel.com> Mime-Version: 1.0 Subject: Re: [igt-dev] [PATCH i-g-t v2 7/9] tests/psr: Add the same test coverage that we have for PSR1 to PSR2 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: dhinakaran.pandiyan@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: =?ISO-8859-1?Q?Jos=E9?= Roberto de Souza , igt-dev@lists.freedesktop.org Cc: Rodrigo Vivi List-ID: T24gVGh1LCAyMDE5LTAxLTAzIGF0IDA2OjM2IC0wODAwLCBKb3PDqSBSb2JlcnRvIGRlIFNvdXph IHdyb3RlOgo+IFRoZSBtYWluIHRlc3RzIGZvciBQU1IxIGNoZWNrIGlmIGhhcmR3YXJlIHRyYWNr aW5nIGlzIGRldGVjdGluZwo+IGNoYW5nZXMgaW4gcGxhbmVzIHdoZW4gbW9kaWZpbmcgaXQgaW4g ZGlmZmVyZW50IHdheXMgYW5kIG5vdwo+IHRob3NlIHRlc3RzIHdpbGwgYWxzbyBydW4gZm9yIFBT UjIgaWYgc3VwcG9ydGVkIGJ5IHNvdXJjZSBhbmQgc2luay4KPiAKPiBDYzogUm9kcmlnbyBWaXZp IDxyb2RyaWdvLnZpdmlAaW50ZWwuY29tPgo+IENjOiBEaGluYWthcmFuIFBhbmRpeWFuIDxkaGlu YWthcmFuLnBhbmRpeWFuQGludGVsLmNvbT4KPiBTaWduZWQtb2ZmLWJ5OiBKb3PDqSBSb2JlcnRv IGRlIFNvdXphIDxqb3NlLnNvdXphQGludGVsLmNvbT4KPiAtLS0KPiAgdGVzdHMva21zX3Bzci5j IHwgMTEyICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0KPiAt LQo+ICAxIGZpbGUgY2hhbmdlZCwgMTA1IGluc2VydGlvbnMoKyksIDcgZGVsZXRpb25zKC0pCj4g Cj4gZGlmZiAtLWdpdCBhL3Rlc3RzL2ttc19wc3IuYyBiL3Rlc3RzL2ttc19wc3IuYwo+IGluZGV4 IDg1NTY3OWIwLi5kNGQzODMyMCAxMDA2NDQKPiAtLS0gYS90ZXN0cy9rbXNfcHNyLmMKPiArKysg Yi90ZXN0cy9rbXNfcHNyLmMKPiBAQCAtNjAsNiArNjAsNyBAQCB0eXBlZGVmIHN0cnVjdCB7Cj4g IAlpbnQgZHJtX2ZkOwo+ICAJaW50IGRlYnVnZnNfZmQ7Cj4gIAllbnVtIG9wZXJhdGlvbnMgb3A7 Cj4gKwlib29sIG9wX3BzcjI7Cj4gIAl1aW50MzJfdCBkZXZpZDsKPiAgCXVpbnQzMl90IGNydGNf aWQ7Cj4gIAlpZ3RfZGlzcGxheV90IGRpc3BsYXk7Cj4gQEAgLTcxLDYgKzcyLDcgQEAgdHlwZWRl ZiBzdHJ1Y3Qgewo+ICAJZHJtTW9kZU1vZGVJbmZvICptb2RlOwo+ICAJaWd0X291dHB1dF90ICpv dXRwdXQ7Cj4gIAlib29sIHdpdGhfcHNyX2Rpc2FibGVkOwo+ICsJYm9vbCBzdXBwb3J0c19wc3Iy Owo+ICB9IGRhdGFfdDsKPiAgCj4gIHN0YXRpYyB2b2lkIGNyZWF0ZV9jdXJzb3JfZmIoZGF0YV90 ICpkYXRhKQo+IEBAIC0xOTQsMTIgKzE5NiwyMiBAQCBzdGF0aWMgYm9vbCBzaW5rX3N1cHBvcnQo ZGF0YV90ICpkYXRhKQo+ICAJcmV0dXJuIGRhdGEtPndpdGhfcHNyX2Rpc2FibGVkIHx8IHBzcl9z aW5rX3N1cHBvcnQoZGF0YS0KPiA+ZGVidWdmc19mZCk7Cj4gIH0KPiAgCj4gLXN0YXRpYyBib29s IHBzcl93YWl0X2VudHJ5X2lmX2VuYWJsZWQoZGF0YV90ICpkYXRhKQo+ICtzdGF0aWMgYm9vbCBz aW5rX3N1cHBvcnRfcHNyMihkYXRhX3QgKmRhdGEpCj4gIHsKPiAtCWlmIChkYXRhLT53aXRoX3Bz cl9kaXNhYmxlZCkKPiAtCQlyZXR1cm4gdHJ1ZTsKPiArCXJldHVybiBkYXRhLT53aXRoX3Bzcl9k aXNhYmxlZCB8fCBwc3IyX3Npbmtfc3VwcG9ydChkYXRhLQo+ID5kZWJ1Z2ZzX2ZkKTsKPiArfQo+ ICAKPiAtCXJldHVybiBwc3Jfd2FpdF9lbnRyeShkYXRhLT5kZWJ1Z2ZzX2ZkKTsKPiArc3RhdGlj IGJvb2wgcHNyX3dhaXRfZW50cnlfaWZfZW5hYmxlZChkYXRhX3QgKmRhdGEpCj4gK3sKPiArCWlm ICghZGF0YS0+b3BfcHNyMikgewo+ICsJCWlmIChkYXRhLT53aXRoX3Bzcl9kaXNhYmxlZCkKPiAr CQkJcmV0dXJuIHRydWU7Cj4gKwkJcmV0dXJuIHBzcl93YWl0X2VudHJ5KGRhdGEtPmRlYnVnZnNf ZmQpOwo+ICsJfSBlbHNlIHsKPiArCQlpZiAoZGF0YS0+d2l0aF9wc3JfZGlzYWJsZWQpCj4gKwkJ CXJldHVybiB0cnVlOwo+ICsJCXJldHVybiBwc3IyX3dhaXRfZGVlcF9zbGVlcChkYXRhLT5kZWJ1 Z2ZzX2ZkKTsKPiArCX0KPiAgfQoKClVubGVzcyBJIGFtIG1pc3Npbmcgc29tZXRoaW5nLCB3ZSBj YW4gc2ltcGxpZnkgYWxsIHRoZXNlIGNoYW5nZXMgYnkKcHVzaGluZyB0aGUgUFNSIG1vZGUgZG93 biB0aHJvdWdoIHRoZSBjYWxsIGNoYWluLgoKIAotc3RhdGljIGJvb2wgcHNyX2FjdGl2ZShpbnQg ZGVidWdmc19mZCwgYm9vbCBjaGVja19hY3RpdmUpCitzdGF0aWMgYm9vbCBwc3JfYWN0aXZlKGlu dCBkZWJ1Z2ZzX2ZkLCBlbnVtIHBzcl9tb2RlIG1vZGUsIGJvb2wKY2hlY2tfYWN0aXZlKQogewog ICAgICAgIGJvb2wgYWN0aXZlOwogICAgICAgIGNoYXIgYnVmW1BTUl9TVEFUVVNfTUFYX0xFTl07 CisgICAgICAgY2hhciAqcyA9IG1vZGUgPT0gUFNSX01PREVfMiA/ICJERUVQX1NMRUVQIiA/ICJT UkRFTlQiOwogCiAgICAgICAgaWd0X2RlYnVnZnNfc2ltcGxlX3JlYWQoZGVidWdmc19mZCwgImk5 MTVfZWRwX3Bzcl9zdGF0dXMiLCBidWYsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg c2l6ZW9mKGJ1ZikpOwogICAgICAgIGFjdGl2ZSA9IHN0cnN0cihidWYsICJIVyBFbmFibGVkICYg QWN0aXZlIGJpdDogeWVzXG4iKSAmJgotICAgICAgICAgICAgICAgKHN0cnN0cihidWYsICJTUkRF TlQiKSB8fCBzdHJzdHIoYnVmLCAiU0xFRVAiKSk7CisgICAgICAgICAgICAgICAgc3Ryc3RyKGJ1 Ziwgcyk7CiAgICAgICAgcmV0dXJuIGNoZWNrX2FjdGl2ZSA/IGFjdGl2ZSA6ICFhY3RpdmU7CiB9 CiAKLWJvb2wgcHNyX3dhaXRfZW50cnkoaW50IGRlYnVnZnNfZmQpCitib29sIHBzcl93YWl0X2Vu dHJ5KGludCBkZWJ1Z2ZzX2ZkLCBpbnQgcHNyX21vZGUpCiB7Ci0gICAgICAgcmV0dXJuIGlndF93 YWl0KHBzcl9hY3RpdmUoZGVidWdmc19mZCwgdHJ1ZSksIDUwMCwgMjApOworICAgICAgIHJldHVy biBpZ3Rfd2FpdChwc3JfYWN0aXZlKGRlYnVnZnNfZmQsIHRydWUsIHBzcl9tb2RlKSwgNTAwLAoy MCk7CiB9CiAKLWJvb2wgcHNyX3dhaXRfZXhpdChpbnQgZGVidWdmc19mZCkKK2Jvb2wgcHNyX3dh aXRfZXhpdChpbnQgZGVidWdmc19mZCwgaW50IHBzcl9tb2RlKQogewogICAgICAgIHJldHVybiBp Z3Rfd2FpdChwc3JfYWN0aXZlKGRlYnVnZnNfZmQsIGZhbHNlKSwgNDAsIDEwKTsKIH0KZGlmZiAt LWdpdCBhL3Rlc3RzL2ttc19wc3IuYyBiL3Rlc3RzL2ttc19wc3IuYwppbmRleCA4NTU2NzliMC4u YmI5MGI5OTQgMTAwNjQ0Ci0tLSBhL3Rlc3RzL2ttc19wc3IuYworKysgYi90ZXN0cy9rbXNfcHNy LmMKQEAgLTE5OSw3ICsxOTksNyBAQCBzdGF0aWMgYm9vbCBwc3Jfd2FpdF9lbnRyeV9pZl9lbmFi bGVkKGRhdGFfdCAqZGF0YSkKICAgICAgICBpZiAoZGF0YS0+d2l0aF9wc3JfZGlzYWJsZWQpCiAg ICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKIAotICAgICAgIHJldHVybiBwc3Jfd2FpdF9lbnRy eShkYXRhLT5kZWJ1Z2ZzX2ZkKTsKKyAgICAgICByZXR1cm4gcHNyX3dhaXRfZW50cnkoZGF0YS0+ ZGVidWdmc19mZCwgZGF0YS0+cHNyX21vZGUpOwogfQogCiBzdGF0aWMgaW5saW5lIHZvaWQgbWFu dWFsKGNvbnN0IGNoYXIgKmV4cGVjdGVkKQpAQCAtMjg5LDcgKzI4OSw3IEBAIHN0YXRpYyB2b2lk IHJ1bl90ZXN0KGRhdGFfdCAqZGF0YSkKICAgICAgICAgICAgICAgIGV4cGVjdGVkID0gInNjcmVl biBHUkVFTiI7CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICB9Ci0gICAgICAgaWd0X2Fz c2VydChwc3Jfd2FpdF9leGl0KGRhdGEtPmRlYnVnZnNfZmQpKTsKKyAgICAgICBpZ3RfYXNzZXJ0 KHBzcl93YWl0X2V4aXQoZGF0YS0+ZGVidWdmc19mZCwgZGF0YS0+cHNyX21vZGUpKTsKICAgICAg ICBtYW51YWwoZXhwZWN0ZWQpOwogfQoKCgo+ICAKPiAgc3RhdGljIGlubGluZSB2b2lkIG1hbnVh bChjb25zdCBjaGFyICpleHBlY3RlZCkKPiBAQCAtMjg5LDExICszMDEsMTYgQEAgc3RhdGljIHZv aWQgcnVuX3Rlc3QoZGF0YV90ICpkYXRhKQo+ICAJCWV4cGVjdGVkID0gInNjcmVlbiBHUkVFTiI7 Cj4gIAkJYnJlYWs7Cj4gIAl9Cj4gLQlpZ3RfYXNzZXJ0KHBzcl93YWl0X2V4aXQoZGF0YS0+ZGVi dWdmc19mZCkpOwo+ICsKPiArCWlmICghZGF0YS0+b3BfcHNyMikKPiArCQlpZ3RfYXNzZXJ0KHBz cl93YWl0X2V4aXQoZGF0YS0+ZGVidWdmc19mZCkpOwo+ICsJZWxzZQo+ICsJCWlndF9hc3NlcnQo cHNyMl93YWl0X3VwZGF0ZShkYXRhLT5kZWJ1Z2ZzX2ZkKSk7Cj4gIAltYW51YWwoZXhwZWN0ZWQp Owo+ICB9Cj4gIAo+IC1zdGF0aWMgdm9pZCB0ZXN0X2NsZWFudXAoZGF0YV90ICpkYXRhKSB7Cj4g K3N0YXRpYyB2b2lkIHRlc3RfY2xlYW51cChkYXRhX3QgKmRhdGEpCj4gK3sKPiAgCWlndF9wbGFu ZV90ICpwcmltYXJ5Owo+ICAKPiAgCXByaW1hcnkgPSBpZ3Rfb3V0cHV0X2dldF9wbGFuZV90eXBl KGRhdGEtPm91dHB1dCwKPiBAQCAtMzA0LDYgKzMyMSwxMSBAQCBzdGF0aWMgdm9pZCB0ZXN0X2Ns ZWFudXAoZGF0YV90ICpkYXRhKSB7Cj4gIAo+ICAJaWd0X3JlbW92ZV9mYihkYXRhLT5kcm1fZmQs ICZkYXRhLT5mYl9ncmVlbik7Cj4gIAlpZ3RfcmVtb3ZlX2ZiKGRhdGEtPmRybV9mZCwgJmRhdGEt PmZiX3doaXRlKTsKPiArCj4gKwkvKiBzd2l0Y2ggdG8gUFNSMSBhZ2FpbiAqLwo+ICsJaWYgKGRh dGEtPm9wX3BzcjIgJiYgIWRhdGEtPndpdGhfcHNyX2Rpc2FibGVkKQo+ICsJCXBzcl9lbmFibGUo ZGF0YS0+ZGVidWdmc19mZCk7Cj4gKwlkYXRhLT5vcF9wc3IyID0gZmFsc2U7Cj4gIH0KPiAgCj4g IHN0YXRpYyB2b2lkIHNldHVwX3Rlc3RfcGxhbmUoZGF0YV90ICpkYXRhLCBpbnQgdGVzdF9wbGFu ZSkKPiBAQCAtMzExLDYgKzMzMywxMSBAQCBzdGF0aWMgdm9pZCBzZXR1cF90ZXN0X3BsYW5lKGRh dGFfdCAqZGF0YSwgaW50Cj4gdGVzdF9wbGFuZSkKPiAgCXVpbnQzMl90IHdoaXRlX2gsIHdoaXRl X3Y7Cj4gIAlpZ3RfcGxhbmVfdCAqcHJpbWFyeSwgKnNwcml0ZSwgKmN1cnNvcjsKPiAgCj4gKwlp ZiAoZGF0YS0+b3BfcHNyMiAmJiAhZGF0YS0+d2l0aF9wc3JfZGlzYWJsZWQpIHsKPiArCQlpZ3Rf cmVxdWlyZShkYXRhLT5zdXBwb3J0c19wc3IyKTsKPiArCQlwc3IyX2VuYWJsZShkYXRhLT5kZWJ1 Z2ZzX2ZkKTsKPiArCX0KPiArCj4gIAlpZ3RfY3JlYXRlX2NvbG9yX2ZiKGRhdGEtPmRybV9mZCwK PiAgCQkJICAgIGRhdGEtPm1vZGUtPmhkaXNwbGF5LCBkYXRhLT5tb2RlLT52ZGlzcGxheSwKPiAg CQkJICAgIERSTV9GT1JNQVRfWFJHQjg4ODgsCj4gQEAgLTM5MSw3ICs0MTgsNyBAQCBzdGF0aWMg aW50IG9wdF9oYW5kbGVyKGludCBvcHQsIGludCBvcHRfaW5kZXgsCj4gdm9pZCAqX2RhdGEpCj4g IGludCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCj4gIHsKPiAgCWNvbnN0IGNoYXIgKmhl bHBfc3RyID0KPiAtCSAgICAgICAiICAtLW5vLXBzclx0UnVuIHRlc3Qgd2l0aG91dCBQU1IuIjsK PiArCSAgICAgICAiICAtLW5vLXBzclx0UnVuIHRlc3Qgd2l0aG91dCBQU1IvUFNSMi5cbiI7Cj4g IAlzdGF0aWMgc3RydWN0IG9wdGlvbiBsb25nX29wdGlvbnNbXSA9IHsKPiAgCQl7Im5vLXBzciIs IDAsIDAsICduJ30sCj4gIAkJeyAwLCAwLCAwLCAwIH0KPiBAQCAtNDE0LDYgKzQ0MSw3IEBAIGlu dCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCj4gIAo+ICAJCWlndF9yZXF1aXJlX2Yoc2lu a19zdXBwb3J0KCZkYXRhKSwKPiAgCQkJICAgICAgIlNpbmsgZG9lcyBub3Qgc3VwcG9ydCBQU1Jc biIpOwo+ICsJCWRhdGEuc3VwcG9ydHNfcHNyMiA9IHNpbmtfc3VwcG9ydF9wc3IyKCZkYXRhKTsK PiAgCj4gIAkJZGF0YS5idWZtZ3IgPSBkcm1faW50ZWxfYnVmbWdyX2dlbV9pbml0KGRhdGEuZHJt X2ZkLAo+IDQwOTYpOwo+ICAJCWlndF9hc3NlcnQoZGF0YS5idWZtZ3IpOwo+IEBAIC00MjgsNiAr NDU2LDEzIEBAIGludCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCj4gIAkJdGVzdF9jbGVh bnVwKCZkYXRhKTsKPiAgCX0KPiAgCj4gKwlpZ3Rfc3VidGVzdCgicHNyMl9iYXNpYyIpIHsKPiAr CQlkYXRhLm9wX3BzcjIgPSB0cnVlOwo+ICsJCXNldHVwX3Rlc3RfcGxhbmUoJmRhdGEsIERSTV9Q TEFORV9UWVBFX1BSSU1BUlkpOwo+ICsJCWlndF9hc3NlcnQocHNyX3dhaXRfZW50cnlfaWZfZW5h YmxlZCgmZGF0YSkpOwo+ICsJCXRlc3RfY2xlYW51cCgmZGF0YSk7Cj4gKwl9Cj4gKwo+ICAJaWd0 X3N1YnRlc3QoIm5vX2RycnMiKSB7Cj4gIAkJc2V0dXBfdGVzdF9wbGFuZSgmZGF0YSwgRFJNX1BM QU5FX1RZUEVfUFJJTUFSWSk7Cj4gIAkJaWd0X2Fzc2VydChwc3Jfd2FpdF9lbnRyeV9pZl9lbmFi bGVkKCZkYXRhKSk7Cj4gQEAgLTQzNSw2ICs0NzAsMTQgQEAgaW50IG1haW4oaW50IGFyZ2MsIGNo YXIgKmFyZ3ZbXSkKPiAgCQl0ZXN0X2NsZWFudXAoJmRhdGEpOwo+ICAJfQo+ICAKPiArCWlndF9z dWJ0ZXN0KCJwc3IyX25vX2RycnMiKSB7Cj4gKwkJZGF0YS5vcF9wc3IyID0gdHJ1ZTsKPiArCQlz ZXR1cF90ZXN0X3BsYW5lKCZkYXRhLCBEUk1fUExBTkVfVFlQRV9QUklNQVJZKTsKPiArCQlpZ3Rf YXNzZXJ0KHBzcl93YWl0X2VudHJ5X2lmX2VuYWJsZWQoJmRhdGEpKTsKPiArCQlpZ3RfYXNzZXJ0 KGRycnNfZGlzYWJsZWQoJmRhdGEpKTsKPiArCQl0ZXN0X2NsZWFudXAoJmRhdGEpOwo+ICsJfQo+ ICsKPiAgCWZvciAob3AgPSBQQUdFX0ZMSVA7IG9wIDw9IFJFTkRFUjsgb3ArKykgewo+ICAJCWln dF9zdWJ0ZXN0X2YoInByaW1hcnlfJXMiLCBvcF9zdHIob3ApKSB7Cj4gIAkJCWRhdGEub3AgPSBv cDsKPiBAQCAtNDQ1LDYgKzQ4OCwxNyBAQCBpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltd KQo+ICAJCX0KPiAgCX0KPiAgCj4gKwlmb3IgKG9wID0gUEFHRV9GTElQOyBvcCA8PSBSRU5ERVI7 IG9wKyspIHsKPiArCQlpZ3Rfc3VidGVzdF9mKCJwc3IyX3ByaW1hcnlfJXMiLCBvcF9zdHIob3Ap KSB7Cj4gKwkJCWRhdGEub3BfcHNyMiA9IHRydWU7Cj4gKwkJCWRhdGEub3AgPSBvcDsKPiArCQkJ c2V0dXBfdGVzdF9wbGFuZSgmZGF0YSwKPiBEUk1fUExBTkVfVFlQRV9QUklNQVJZKTsKPiArCQkJ aWd0X2Fzc2VydChwc3Jfd2FpdF9lbnRyeV9pZl9lbmFibGVkKCZkYXRhKSk7Cj4gKwkJCXJ1bl90 ZXN0KCZkYXRhKTsKPiArCQkJdGVzdF9jbGVhbnVwKCZkYXRhKTsKPiArCQl9Cj4gKwl9Cj4gKwo+ ICAJZm9yIChvcCA9IE1NQVBfR1RUOyBvcCA8PSBQTEFORV9PTk9GRjsgb3ArKykgewo+ICAJCWln dF9zdWJ0ZXN0X2YoInNwcml0ZV8lcyIsIG9wX3N0cihvcCkpIHsKPiAgCQkJZGF0YS5vcCA9IG9w Owo+IEBAIC00NTUsNiArNTA5LDE3IEBAIGludCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10p Cj4gIAkJfQo+ICAJfQo+ICAKPiArCWZvciAob3AgPSBNTUFQX0dUVDsgb3AgPD0gUExBTkVfT05P RkY7IG9wKyspIHsKPiArCQlpZ3Rfc3VidGVzdF9mKCJwc3IyX3Nwcml0ZV8lcyIsIG9wX3N0cihv cCkpIHsKPiArCQkJZGF0YS5vcF9wc3IyID0gdHJ1ZTsKPiArCQkJZGF0YS5vcCA9IG9wOwo+ICsJ CQlzZXR1cF90ZXN0X3BsYW5lKCZkYXRhLAo+IERSTV9QTEFORV9UWVBFX09WRVJMQVkpOwo+ICsJ CQlpZ3RfYXNzZXJ0KHBzcl93YWl0X2VudHJ5X2lmX2VuYWJsZWQoJmRhdGEpKTsKPiArCQkJcnVu X3Rlc3QoJmRhdGEpOwo+ICsJCQl0ZXN0X2NsZWFudXAoJmRhdGEpOwo+ICsJCX0KPiArCX0KPiAr Cj4gIAlmb3IgKG9wID0gTU1BUF9HVFQ7IG9wIDw9IFBMQU5FX09OT0ZGOyBvcCsrKSB7Cj4gIAkJ aWd0X3N1YnRlc3RfZigiY3Vyc29yXyVzIiwgb3Bfc3RyKG9wKSkgewo+ICAJCQlkYXRhLm9wID0g b3A7Cj4gQEAgLTQ2NSw2ICs1MzAsMTcgQEAgaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3Zb XSkKPiAgCQl9Cj4gIAl9Cj4gIAo+ICsJZm9yIChvcCA9IE1NQVBfR1RUOyBvcCA8PSBQTEFORV9P Tk9GRjsgb3ArKykgewo+ICsJCWlndF9zdWJ0ZXN0X2YoInBzcjJfY3Vyc29yXyVzIiwgb3Bfc3Ry KG9wKSkgewo+ICsJCQlkYXRhLm9wX3BzcjIgPSB0cnVlOwo+ICsJCQlkYXRhLm9wID0gb3A7Cj4g KwkJCXNldHVwX3Rlc3RfcGxhbmUoJmRhdGEsIERSTV9QTEFORV9UWVBFX0NVUlNPUik7Cj4gKwkJ CWlndF9hc3NlcnQocHNyX3dhaXRfZW50cnlfaWZfZW5hYmxlZCgmZGF0YSkpOwo+ICsJCQlydW5f dGVzdCgmZGF0YSk7Cj4gKwkJCXRlc3RfY2xlYW51cCgmZGF0YSk7Cj4gKwkJfQo+ICsJfQo+ICsK PiAgCWlndF9zdWJ0ZXN0X2YoImRwbXMiKSB7Cj4gIAkJZGF0YS5vcCA9IFJFTkRFUjsKPiAgCQlz ZXR1cF90ZXN0X3BsYW5lKCZkYXRhLCBEUk1fUExBTkVfVFlQRV9QUklNQVJZKTsKPiBAQCAtNDc0 LDYgKzU1MCwxNiBAQCBpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQo+ICAJCXRlc3Rf Y2xlYW51cCgmZGF0YSk7Cj4gIAl9Cj4gIAo+ICsJaWd0X3N1YnRlc3RfZigicHNyMl9kcG1zIikg ewo+ICsJCWRhdGEub3BfcHNyMiA9IHRydWU7Cj4gKwkJZGF0YS5vcCA9IFJFTkRFUjsKPiArCQlz ZXR1cF90ZXN0X3BsYW5lKCZkYXRhLCBEUk1fUExBTkVfVFlQRV9QUklNQVJZKTsKPiArCQlpZ3Rf YXNzZXJ0KHBzcl93YWl0X2VudHJ5X2lmX2VuYWJsZWQoJmRhdGEpKTsKPiArCQlkcG1zX29mZl9v bigmZGF0YSk7Cj4gKwkJcnVuX3Rlc3QoJmRhdGEpOwo+ICsJCXRlc3RfY2xlYW51cCgmZGF0YSk7 Cj4gKwl9Cj4gKwo+ICAJaWd0X3N1YnRlc3RfZigic3VzcGVuZCIpIHsKPiAgCQlkYXRhLm9wID0g UExBTkVfT05PRkY7Cj4gIAkJc2V0dXBfdGVzdF9wbGFuZSgmZGF0YSwgRFJNX1BMQU5FX1RZUEVf Q1VSU09SKTsKPiBAQCAtNDg1LDYgKzU3MSwxOCBAQCBpbnQgbWFpbihpbnQgYXJnYywgY2hhciAq YXJndltdKQo+ICAJCXRlc3RfY2xlYW51cCgmZGF0YSk7Cj4gIAl9Cj4gIAo+ICsJaWd0X3N1YnRl c3RfZigicHNyMl9zdXNwZW5kIikgewo+ICsJCWRhdGEub3BfcHNyMiA9IHRydWU7Cj4gKwkJZGF0 YS5vcCA9IFBMQU5FX09OT0ZGOwo+ICsJCXNldHVwX3Rlc3RfcGxhbmUoJmRhdGEsIERSTV9QTEFO RV9UWVBFX0NVUlNPUik7Cj4gKwkJaWd0X2Fzc2VydChwc3Jfd2FpdF9lbnRyeV9pZl9lbmFibGVk KCZkYXRhKSk7Cj4gKwkJaWd0X3N5c3RlbV9zdXNwZW5kX2F1dG9yZXN1bWUoU1VTUEVORF9TVEFU RV9NRU0sCj4gKwkJCQkJICAgICAgU1VTUEVORF9URVNUX05PTkUpOwo+ICsJCWlndF9hc3NlcnQo cHNyX3dhaXRfZW50cnlfaWZfZW5hYmxlZCgmZGF0YSkpOwo+ICsJCXJ1bl90ZXN0KCZkYXRhKTsK PiArCQl0ZXN0X2NsZWFudXAoJmRhdGEpOwo+ICsJfQo+ICsKPiAgCWlndF9maXh0dXJlIHsKPiAg CQlpZiAoIWRhdGEud2l0aF9wc3JfZGlzYWJsZWQpCj4gIAkJCXBzcl9kaXNhYmxlKGRhdGEuZGVi dWdmc19mZCk7CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f XwppZ3QtZGV2IG1haWxpbmcgbGlzdAppZ3QtZGV2QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRw czovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2lndC1kZXYK