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 644436EDD4 for ; Thu, 10 May 2018 00:05:06 +0000 (UTC) Message-ID: <1525912217.3123.50.camel@intel.com> From: Dhinakaran Pandiyan Date: Wed, 09 May 2018 17:30:17 -0700 In-Reply-To: <265d9bc0b2a9b0e95eeac7199581c28d06adea99.camel@intel.com> References: <20180509173746.23405-1-dhinakaran.pandiyan@intel.com> <20180509173746.23405-14-dhinakaran.pandiyan@intel.com> <265d9bc0b2a9b0e95eeac7199581c28d06adea99.camel@intel.com> Mime-Version: 1.0 Subject: Re: [igt-dev] [PATCH i-g-t 13/14] tests/psr: Eliminate storing pointers for igt_plane_type. 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: "Souza, Jose" , "igt-dev@lists.freedesktop.org" Cc: "Vivi, Rodrigo" List-ID: T24gV2VkLCAyMDE4LTA1LTA5IGF0IDIzOjQ2ICswMDAwLCBTb3V6YSwgSm9zZSB3cm90ZToKPiBP biBXZWQsIDIwMTgtMDUtMDkgYXQgMTA6MzcgLTA3MDAsIERoaW5ha2FyYW4gUGFuZGl5YW4gd3Jv dGU6Cj4gPiAKPiA+IEFmdGVyIHRoZSBpbml0aWFsIHBsYW5lIHNldHVwLCBvbmx5IHRoZSB0ZXN0 IHBsYW5lIGlzIHJlcXVpcmVkLiBPbmUKPiA+IGV4Y2VwdGlvbiBpcyBjbGVhbl91cCB3aGVyZSB0 aGUgcHJpbWFyeSBpcyByZXF1aXJlZCwgYnV0IGEgY2FsbCB0bwo+ID4gaWd0X291dHB1dF9nZXRf cGxhbmVfdHlwZSgpIGNhbiBnZXQgdXMgdGhhdC4KPiA+IAo+ID4gU2lnbmVkLW9mZi1ieTogRGhp bmFrYXJhbiBQYW5kaXlhbiA8ZGhpbmFrYXJhbi5wYW5kaXlhbkBpbnRlbC5jb20+Cj4gUmV2aWV3 ZWQtYnk6IEpvc2UgUm9iZXJ0byBkZSBTb3V6YSA8am9zZS5zb3V6YUBpbnRlbC5jb20+Cj4gCj4g U28gd2UgZG9uJ3QgaGF2ZSBhIHRlc3QgdGhhdCB0ZXN0IGF0IHRoZSBzYW1lIHRpbWUgY2hhbmdz IGluIHByaW1hcnksCj4gc3ByaXRlIGFuZCBjdXJzb3IhPyA9LwoKTm9uZSBhcyBvZiBub3cuIEkg YW0gdGhpbmtpbmcgb2YgZXh0ZW5kaW5nIHRoZSBiYXNpYyBzdWJ0ZXN0IHRvIGRvIGEKZmxpcCBh bmQgYSBjdXJzb3IgbW92ZS4KClRoYW5rcyBmb3IgdGhlIHJldmlld3MuCgo+IAo+ID4gCj4gPiAt LS0KPiA+IMKgdGVzdHMva21zX3Bzcl9zaW5rX2NyYy5jIHwgNzMgKysrKysrKysrKysrKysrKysr KysrLS0tLS0tLS0tLS0tLS0tCj4gPiAtLQo+ID4gLS0tLS0tLS0tLQo+ID4gwqAxIGZpbGUgY2hh bmdlZCwgMzIgaW5zZXJ0aW9ucygrKSwgNDEgZGVsZXRpb25zKC0pCj4gPiAKPiA+IGRpZmYgLS1n aXQgYS90ZXN0cy9rbXNfcHNyX3NpbmtfY3JjLmMgYi90ZXN0cy9rbXNfcHNyX3NpbmtfY3JjLmMK PiA+IGluZGV4IGRlOTA1ZDJlLi4xNTJlYTA0NSAxMDA2NDQKPiA+IC0tLSBhL3Rlc3RzL2ttc19w c3Jfc2lua19jcmMuYwo+ID4gKysrIGIvdGVzdHMva21zX3Bzcl9zaW5rX2NyYy5jCj4gPiBAQCAt NjIsMTQgKzYyLDEzIEBAIHN0YXRpYyBjb25zdCBjaGFyICpvcF9zdHIoZW51bSBvcGVyYXRpb25z IG9wKQo+ID4gwqB0eXBlZGVmIHN0cnVjdCB7Cj4gPiDCoAlpbnQgZHJtX2ZkOwo+ID4gwqAJaW50 IGRlYnVnZnNfZmQ7Cj4gPiAtCWludCB0ZXN0X3BsYW5lOwo+ID4gwqAJZW51bSBvcGVyYXRpb25z IG9wOwo+ID4gwqAJdWludDMyX3QgZGV2aWQ7Cj4gPiDCoAl1aW50MzJfdCBjcnRjX2lkOwo+ID4g wqAJaWd0X2Rpc3BsYXlfdCBkaXNwbGF5Owo+ID4gwqAJZHJtX2ludGVsX2J1Zm1nciAqYnVmbWdy Owo+ID4gwqAJc3RydWN0IGlndF9mYiBmYl9ncmVlbiwgZmJfd2hpdGU7Cj4gPiAtCWlndF9wbGFu ZV90ICpwcmltYXJ5LCAqc3ByaXRlLCAqY3Vyc29yOwo+ID4gKwlpZ3RfcGxhbmVfdCAqdGVzdF9w bGFuZTsKPiA+IMKgCWludCBtb2Rfc2l6ZTsKPiA+IMKgCWludCBtb2Rfc3RyaWRlOwo+ID4gwqAJ ZHJtTW9kZU1vZGVJbmZvICptb2RlOwo+ID4gQEAgLTI2NSw3ICsyNjQsNyBAQCBzdGF0aWMgYm9v bCBkcnJzX2Rpc2FibGVkKGRhdGFfdCAqZGF0YSkKPiA+IMKgc3RhdGljIHZvaWQgcnVuX3Rlc3Qo ZGF0YV90ICpkYXRhKQo+ID4gwqB7Cj4gPiDCoAl1aW50MzJfdCBoYW5kbGUgPSBkYXRhLT5mYl93 aGl0ZS5nZW1faGFuZGxlOwo+ID4gLQlpZ3RfcGxhbmVfdCAqdGVzdF9wbGFuZTsKPiA+ICsJaWd0 X3BsYW5lX3QgKnRlc3RfcGxhbmUgPSBkYXRhLT50ZXN0X3BsYW5lOwo+ID4gwqAJdm9pZCAqcHRy Owo+ID4gwqAJY2hhciByZWZfY3JjW0NSQ19MRU5dOwo+ID4gwqAJY2hhciBjcmNbQ1JDX0xFTl07 Cj4gPiBAQCAtMjgxLDE4ICsyODAsMTMgQEAgc3RhdGljIHZvaWQgcnVuX3Rlc3QoZGF0YV90ICpk YXRhKQo+ID4gwqAJYXNzZXJ0X29yX21hbnVhbChpc19ncmVlbihyZWZfY3JjKSwgInNjcmVlbiBH UkVFTiIpOwo+ID4gwqAKPiA+IMKgCS8qIFNldHRpbmcgYSBzZWNvbmRhcnkgZmIvcGxhbmUgKi8K PiA+IC0Jc3dpdGNoIChkYXRhLT50ZXN0X3BsYW5lKSB7Cj4gPiAtCWNhc2UgRFJNX1BMQU5FX1RZ UEVfUFJJTUFSWTogZGVmYXVsdDogdGVzdF9wbGFuZSA9IGRhdGEtCj4gPiA+IAo+ID4gPiBwcmlt YXJ5OyBicmVhazsKPiA+IC0JY2FzZSBEUk1fUExBTkVfVFlQRV9PVkVSTEFZOiB0ZXN0X3BsYW5l ID0gZGF0YS0+c3ByaXRlOwo+ID4gYnJlYWs7Cj4gPiAtCWNhc2UgRFJNX1BMQU5FX1RZUEVfQ1VS U09SOiB0ZXN0X3BsYW5lID0gZGF0YS0+Y3Vyc29yOwo+ID4gYnJlYWs7Cj4gPiAtCX0KPiA+IMKg CWlndF9wbGFuZV9zZXRfZmIodGVzdF9wbGFuZSwgJmRhdGEtPmZiX3doaXRlKTsKPiA+IMKgCWln dF9kaXNwbGF5X2NvbW1pdCgmZGF0YS0+ZGlzcGxheSk7Cj4gPiDCoAo+ID4gwqAJLyogQ29uZmly bSBpdCBpcyBub3QgR3JlZW4gYW55bW9yZSAqLwo+ID4gwqAJaWd0X2Fzc2VydCh3YWl0X3Bzcl9l bnRyeShkYXRhKSk7Cj4gPiDCoAlnZXRfc2lua19jcmMoZGF0YSwgcmVmX2NyYyk7Cj4gPiAtCWlm IChkYXRhLT50ZXN0X3BsYW5lID09IERSTV9QTEFORV9UWVBFX1BSSU1BUlkpCj4gPiArCWlmICh0 ZXN0X3BsYW5lLT50eXBlID09IERSTV9QTEFORV9UWVBFX1BSSU1BUlkpCj4gPiDCoAkJYXNzZXJ0 X29yX21hbnVhbCghaXNfZ3JlZW4ocmVmX2NyYyksICJzY3JlZW4KPiA+IFdISVRFIik7Cj4gPiDC oAllbHNlCj4gPiDCoAkJYXNzZXJ0X29yX21hbnVhbCghaXNfZ3JlZW4ocmVmX2NyYyksICJHUkVF Tgo+ID4gYmFja2dyb3VuZCB3aXRoIFdISVRFIGJveCIpOwo+ID4gQEAgLTM1MSwyMSArMzQ1LDIy IEBAIHN0YXRpYyB2b2lkIHJ1bl90ZXN0KGRhdGFfdCAqZGF0YSkKPiA+IMKgfQo+ID4gwqAKPiA+ IMKgc3RhdGljIHZvaWQgdGVzdF9jbGVhbnVwKGRhdGFfdCAqZGF0YSkgewo+ID4gLQlpZ3RfcGxh bmVfc2V0X2ZiKGRhdGEtPnByaW1hcnksIE5VTEwpOwo+ID4gLQlpZiAoZGF0YS0+dGVzdF9wbGFu ZSA9PSBEUk1fUExBTkVfVFlQRV9PVkVSTEFZKQo+ID4gLQkJaWd0X3BsYW5lX3NldF9mYihkYXRh LT5zcHJpdGUsIE5VTEwpOwo+ID4gLQlpZiAoZGF0YS0+dGVzdF9wbGFuZSA9PSBEUk1fUExBTkVf VFlQRV9DVVJTT1IpCj4gPiAtCQlpZ3RfcGxhbmVfc2V0X2ZiKGRhdGEtPmN1cnNvciwgTlVMTCk7 Cj4gPiArCWlndF9wbGFuZV90ICpwcmltYXJ5Owo+ID4gwqAKPiA+ICsJcHJpbWFyeSA9IGlndF9v dXRwdXRfZ2V0X3BsYW5lX3R5cGUoZGF0YS0+b3V0cHV0LAo+ID4gKwkJCQkJwqDCoMKgwqBEUk1f UExBTkVfVFlQRV9QUklNQVJZCj4gPiApOwo+ID4gKwlpZ3RfcGxhbmVfc2V0X2ZiKHByaW1hcnks IE5VTEwpOwo+ID4gKwlpZ3RfcGxhbmVfc2V0X2ZiKGRhdGEtPnRlc3RfcGxhbmUsIE5VTEwpOwo+ ID4gwqAJaWd0X2Rpc3BsYXlfY29tbWl0KCZkYXRhLT5kaXNwbGF5KTsKPiA+IMKgCj4gPiDCoAlp Z3RfcmVtb3ZlX2ZiKGRhdGEtPmRybV9mZCwgJmRhdGEtPmZiX2dyZWVuKTsKPiA+IMKgCWlndF9y ZW1vdmVfZmIoZGF0YS0+ZHJtX2ZkLCAmZGF0YS0+ZmJfd2hpdGUpOwo+ID4gwqB9Cj4gPiDCoAo+ ID4gLXN0YXRpYyB2b2lkIHNldHVwX3Rlc3RfcGxhbmUoZGF0YV90ICpkYXRhKQo+ID4gK3N0YXRp YyB2b2lkIHNldHVwX3Rlc3RfcGxhbmUoZGF0YV90ICpkYXRhLCBpbnQgdGVzdF9wbGFuZSkKPiA+ IMKgewo+ID4gwqAJdWludDMyX3Qgd2hpdGVfaCwgd2hpdGVfdjsKPiA+ICsJaWd0X3BsYW5lX3Qg KnByaW1hcnksICpzcHJpdGUsICpjdXJzb3I7Cj4gPiDCoAo+ID4gwqAJaWd0X2NyZWF0ZV9jb2xv cl9mYihkYXRhLT5kcm1fZmQsCj4gPiDCoAkJCcKgwqDCoMKgZGF0YS0+bW9kZS0+aGRpc3BsYXks IGRhdGEtPm1vZGUtCj4gPiA+IAo+ID4gPiB2ZGlzcGxheSwKPiA+IEBAIC0zNzQsOCArMzY5LDEw IEBAIHN0YXRpYyB2b2lkIHNldHVwX3Rlc3RfcGxhbmUoZGF0YV90ICpkYXRhKQo+ID4gwqAJCQnC oMKgwqDCoDAuMCwgMS4wLCAwLjAsCj4gPiDCoAkJCcKgwqDCoMKgJmRhdGEtPmZiX2dyZWVuKTsK PiA+IMKgCj4gPiAtCWRhdGEtPnByaW1hcnkgPSBpZ3Rfb3V0cHV0X2dldF9wbGFuZV90eXBlKGRh dGEtPm91dHB1dCwKPiA+IERSTV9QTEFORV9UWVBFX1BSSU1BUlkpOwo+ID4gLQlpZ3RfcGxhbmVf c2V0X2ZiKGRhdGEtPnByaW1hcnksIE5VTEwpOwo+ID4gKwlwcmltYXJ5ID0gaWd0X291dHB1dF9n ZXRfcGxhbmVfdHlwZShkYXRhLT5vdXRwdXQsCj4gPiArCQkJCQnCoMKgwqDCoERSTV9QTEFORV9U WVBFX1BSSU1BUlkKPiA+ICk7Cj4gPiArCWlndF9wbGFuZV9zZXRfZmIocHJpbWFyeSwgTlVMTCk7 Cj4gPiArCWRhdGEtPnRlc3RfcGxhbmUgPSBwcmltYXJ5Owo+ID4gwqAKPiA+IMKgCXdoaXRlX2gg PSBkYXRhLT5tb2RlLT5oZGlzcGxheTsKPiA+IMKgCXdoaXRlX3YgPSBkYXRhLT5tb2RlLT52ZGlz cGxheTsKPiA+IEBAIC0zODQsMTYgKzM4MSwxNCBAQCBzdGF0aWMgdm9pZCBzZXR1cF90ZXN0X3Bs YW5lKGRhdGFfdCAqZGF0YSkKPiA+IMKgCWRhdGEtPm1vZF9zaXplID0gd2hpdGVfaCAqIHdoaXRl X3Y7Cj4gPiDCoAlkYXRhLT5tb2Rfc3RyaWRlID0gd2hpdGVfaCAqIDQ7Cj4gPiDCoAo+ID4gLQlz d2l0Y2ggKGRhdGEtPnRlc3RfcGxhbmUpIHsKPiA+ICsJc3dpdGNoICh0ZXN0X3BsYW5lKSB7Cj4g PiDCoAljYXNlIERSTV9QTEFORV9UWVBFX09WRVJMQVk6Cj4gPiAtCQlkYXRhLT5zcHJpdGUgPSBp Z3Rfb3V0cHV0X2dldF9wbGFuZV90eXBlKGRhdGEtCj4gPiA+IAo+ID4gPiBvdXRwdXQsCj4gPiAt CQkJCQkJwqDCoMKgwqBEUk1fUExBTkVfVFlQRQo+ID4gX08KPiA+IFZFUkxBWSk7Cj4gPiAtCQlp Z3RfcGxhbmVfc2V0X2ZiKGRhdGEtPnNwcml0ZSwgTlVMTCk7Cj4gPiAtCQkvKiBUbyBtYWtlIGl0 IGRpZmZlcmVudCBmb3IgaHVtYW4gZXllcyBsZXQncyBtYWtlCj4gPiAtCQnCoCogc3ByaXRlIHZp c2libGUgaW4gb25seSBvbmUgcXVhcnRlciBvZiB0aGUKPiA+IHByaW1hcnkKPiA+IC0JCcKgKi8K PiA+ICsJCXNwcml0ZSA9IGlndF9vdXRwdXRfZ2V0X3BsYW5lX3R5cGUoZGF0YS0+b3V0cHV0LAo+ ID4gKwkJCQkJCcKgwqDCoERSTV9QTEFORV9UWVBFXwo+ID4gT1YKPiA+IEVSTEFZKTsKPiA+ICsJ CWlndF9wbGFuZV9zZXRfZmIoc3ByaXRlLCBOVUxMKTsKPiA+IMKgCQl3aGl0ZV9oID0gd2hpdGVf aC8yOwo+ID4gwqAJCXdoaXRlX3YgPSB3aGl0ZV92LzI7Cj4gPiArCQlkYXRhLT50ZXN0X3BsYW5l ID0gc3ByaXRlOwo+ID4gwqAJY2FzZSBEUk1fUExBTkVfVFlQRV9QUklNQVJZOgo+ID4gwqAJCWln dF9jcmVhdGVfY29sb3JfZmIoZGF0YS0+ZHJtX2ZkLAo+ID4gwqAJCQkJwqDCoMKgwqB3aGl0ZV9o LCB3aGl0ZV92LAo+ID4gQEAgLTQwMywyMCArMzk4LDIxIEBAIHN0YXRpYyB2b2lkIHNldHVwX3Rl c3RfcGxhbmUoZGF0YV90ICpkYXRhKQo+ID4gwqAJCQkJwqDCoMKgwqAmZGF0YS0+ZmJfd2hpdGUp Owo+ID4gwqAJCWJyZWFrOwo+ID4gwqAJY2FzZSBEUk1fUExBTkVfVFlQRV9DVVJTT1I6Cj4gPiAt CQlkYXRhLT5jdXJzb3IgPSBpZ3Rfb3V0cHV0X2dldF9wbGFuZV90eXBlKGRhdGEtCj4gPiA+IAo+ ID4gPiBvdXRwdXQsCj4gPiAtCQkJCQkJwqDCoMKgwqBEUk1fUExBTkVfVFlQRQo+ID4gX0MKPiA+ IFVSU09SKTsKPiA+IC0JCWlndF9wbGFuZV9zZXRfZmIoZGF0YS0+Y3Vyc29yLCBOVUxMKTsKPiA+ ICsJCWN1cnNvciA9IGlndF9vdXRwdXRfZ2V0X3BsYW5lX3R5cGUoZGF0YS0+b3V0cHV0LAo+ID4g KwkJCQkJCcKgwqDCoERSTV9QTEFORV9UWVBFXwo+ID4gQ1UKPiA+IFJTT1IpOwo+ID4gKwkJaWd0 X3BsYW5lX3NldF9mYihjdXJzb3IsIE5VTEwpOwo+ID4gwqAJCWNyZWF0ZV9jdXJzb3JfZmIoZGF0 YSk7Cj4gPiAtCQlpZ3RfcGxhbmVfc2V0X3Bvc2l0aW9uKGRhdGEtPmN1cnNvciwgMCwgMCk7Cj4g PiArCQlpZ3RfcGxhbmVfc2V0X3Bvc2l0aW9uKGN1cnNvciwgMCwgMCk7Cj4gPiDCoAo+ID4gwqAJ CS8qIEN1cnNvciBpcyA2NCB4IDY0LCBpZ25vcmluZyBwaXRjaCBhbmQgYmJwIGFnYWluCj4gPiAq Lwo+ID4gwqAJCWRhdGEtPm1vZF9zaXplID0gNjQgKiA2NDsKPiA+ICsJCWRhdGEtPnRlc3RfcGxh bmUgPSBjdXJzb3I7Cj4gPiDCoAkJYnJlYWs7Cj4gPiDCoAl9Cj4gPiDCoAo+ID4gwqAJaWd0X2Rp c3BsYXlfY29tbWl0KCZkYXRhLT5kaXNwbGF5KTsKPiA+IMKgCj4gPiAtCWlndF9wbGFuZV9zZXRf ZmIoZGF0YS0+cHJpbWFyeSwgJmRhdGEtPmZiX2dyZWVuKTsKPiA+ICsJaWd0X3BsYW5lX3NldF9m YihwcmltYXJ5LCAmZGF0YS0+ZmJfZ3JlZW4pOwo+ID4gwqAJaWd0X2Rpc3BsYXlfY29tbWl0KCZk YXRhLT5kaXNwbGF5KTsKPiA+IMKgfQo+ID4gwqAKPiA+IEBAIC00NzcsMTMgKzQ3MywxMyBAQCBp bnQgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQo+ID4gwqAJfQo+ID4gwqAKPiA+IMKgCWln dF9zdWJ0ZXN0KCJiYXNpYyIpIHsKPiA+IC0JCXNldHVwX3Rlc3RfcGxhbmUoJmRhdGEpOwo+ID4g KwkJc2V0dXBfdGVzdF9wbGFuZSgmZGF0YSwgRFJNX1BMQU5FX1RZUEVfUFJJTUFSWSk7Cj4gPiDC oAkJaWd0X2Fzc2VydCh3YWl0X3Bzcl9lbnRyeSgmZGF0YSkpOwo+ID4gwqAJCXRlc3RfY2xlYW51 cCgmZGF0YSk7Cj4gPiDCoAl9Cj4gPiDCoAo+ID4gwqAJaWd0X3N1YnRlc3QoIm5vX2RycnMiKSB7 Cj4gPiAtCQlzZXR1cF90ZXN0X3BsYW5lKCZkYXRhKTsKPiA+ICsJCXNldHVwX3Rlc3RfcGxhbmUo JmRhdGEsIERSTV9QTEFORV9UWVBFX1BSSU1BUlkpOwo+ID4gwqAJCWlndF9hc3NlcnQod2FpdF9w c3JfZW50cnkoJmRhdGEpKTsKPiA+IMKgCQlpZ3RfYXNzZXJ0KGRycnNfZGlzYWJsZWQoJmRhdGEp KTsKPiA+IMKgCQl0ZXN0X2NsZWFudXAoJmRhdGEpOwo+ID4gQEAgLTQ5MSw5ICs0ODcsOCBAQCBp bnQgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQo+ID4gwqAKPiA+IMKgCWZvciAob3AgPSBQ QUdFX0ZMSVA7IG9wIDw9IFJFTkRFUjsgb3ArKykgewo+ID4gwqAJCWlndF9zdWJ0ZXN0X2YoInBy aW1hcnlfJXMiLCBvcF9zdHIob3ApKSB7Cj4gPiAtCQkJZGF0YS50ZXN0X3BsYW5lID0gRFJNX1BM QU5FX1RZUEVfUFJJTUFSWTsKPiA+IMKgCQkJZGF0YS5vcCA9IG9wOwo+ID4gLQkJCXNldHVwX3Rl c3RfcGxhbmUoJmRhdGEpOwo+ID4gKwkJCXNldHVwX3Rlc3RfcGxhbmUoJmRhdGEsCj4gPiBEUk1f UExBTkVfVFlQRV9QUklNQVJZKTsKPiA+IMKgCQkJaWd0X2Fzc2VydCh3YWl0X3Bzcl9lbnRyeSgm ZGF0YSkpOwo+ID4gwqAJCQlydW5fdGVzdCgmZGF0YSk7Cj4gPiDCoAkJCXRlc3RfY2xlYW51cCgm ZGF0YSk7Cj4gPiBAQCAtNTAyLDkgKzQ5Nyw4IEBAIGludCBtYWluKGludCBhcmdjLCBjaGFyICph cmd2W10pCj4gPiDCoAo+ID4gwqAJZm9yIChvcCA9IE1NQVBfR1RUOyBvcCA8PSBQTEFORV9PTk9G Rjsgb3ArKykgewo+ID4gwqAJCWlndF9zdWJ0ZXN0X2YoInNwcml0ZV8lcyIsIG9wX3N0cihvcCkp IHsKPiA+IC0JCQlkYXRhLnRlc3RfcGxhbmUgPSBEUk1fUExBTkVfVFlQRV9PVkVSTEFZOwo+ID4g wqAJCQlkYXRhLm9wID0gb3A7Cj4gPiAtCQkJc2V0dXBfdGVzdF9wbGFuZSgmZGF0YSk7Cj4gPiAr CQkJc2V0dXBfdGVzdF9wbGFuZSgmZGF0YSwKPiA+IERSTV9QTEFORV9UWVBFX09WRVJMQVkpOwo+ ID4gwqAJCQlpZ3RfYXNzZXJ0KHdhaXRfcHNyX2VudHJ5KCZkYXRhKSk7Cj4gPiDCoAkJCXJ1bl90 ZXN0KCZkYXRhKTsKPiA+IMKgCQkJdGVzdF9jbGVhbnVwKCZkYXRhKTsKPiA+IEBAIC01MTMsOSAr NTA3LDggQEAgaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKPiA+IMKgCj4gPiDCoAlm b3IgKG9wID0gTU1BUF9HVFQ7IG9wIDw9IFBMQU5FX09OT0ZGOyBvcCsrKSB7Cj4gPiDCoAkJaWd0 X3N1YnRlc3RfZigiY3Vyc29yXyVzIiwgb3Bfc3RyKG9wKSkgewo+ID4gLQkJCWRhdGEudGVzdF9w bGFuZSA9IERSTV9QTEFORV9UWVBFX0NVUlNPUjsKPiA+IMKgCQkJZGF0YS5vcCA9IG9wOwo+ID4g LQkJCXNldHVwX3Rlc3RfcGxhbmUoJmRhdGEpOwo+ID4gKwkJCXNldHVwX3Rlc3RfcGxhbmUoJmRh dGEsCj4gPiBEUk1fUExBTkVfVFlQRV9DVVJTT1IpOwo+ID4gwqAJCQlpZ3RfYXNzZXJ0KHdhaXRf cHNyX2VudHJ5KCZkYXRhKSk7Cj4gPiDCoAkJCXJ1bl90ZXN0KCZkYXRhKTsKPiA+IMKgCQkJdGVz dF9jbGVhbnVwKCZkYXRhKTsKPiA+IEBAIC01MjMsOSArNTE2LDggQEAgaW50IG1haW4oaW50IGFy Z2MsIGNoYXIgKmFyZ3ZbXSkKPiA+IMKgCX0KPiA+IMKgCj4gPiDCoAlpZ3Rfc3VidGVzdF9mKCJk cG1zIikgewo+ID4gLQkJZGF0YS50ZXN0X3BsYW5lID0gRFJNX1BMQU5FX1RZUEVfUFJJTUFSWTsK PiA+IMKgCQlkYXRhLm9wID0gUkVOREVSOwo+ID4gLQkJc2V0dXBfdGVzdF9wbGFuZSgmZGF0YSk7 Cj4gPiArCQlzZXR1cF90ZXN0X3BsYW5lKCZkYXRhLCBEUk1fUExBTkVfVFlQRV9QUklNQVJZKTsK PiA+IMKgCQlpZ3RfYXNzZXJ0KHdhaXRfcHNyX2VudHJ5KCZkYXRhKSk7Cj4gPiDCoAkJZHBtc19v ZmZfb24oZGF0YSk7Cj4gPiDCoAkJcnVuX3Rlc3QoJmRhdGEpOwo+ID4gQEAgLTUzMyw5ICs1MjUs OCBAQCBpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQo+ID4gwqAJfQo+ID4gwqAKPiA+ IMKgCWlndF9zdWJ0ZXN0X2YoInN1c3BlbmQiKSB7Cj4gPiAtCQlkYXRhLnRlc3RfcGxhbmUgPSBE Uk1fUExBTkVfVFlQRV9DVVJTT1I7Cj4gPiDCoAkJZGF0YS5vcCA9IFBMQU5FX09OT0ZGOwo+ID4g LQkJc2V0dXBfdGVzdF9wbGFuZSgmZGF0YSk7Cj4gPiArCQlzZXR1cF90ZXN0X3BsYW5lKCZkYXRh LCBEUk1fUExBTkVfVFlQRV9DVVJTT1IpOwo+ID4gwqAJCWlndF9hc3NlcnQod2FpdF9wc3JfZW50 cnkoJmRhdGEpKTsKPiA+IMKgCQlpZ3Rfc3lzdGVtX3N1c3BlbmRfYXV0b3Jlc3VtZShTVVNQRU5E X1NUQVRFX01FTSwKPiA+IMKgCQkJCQnCoMKgwqDCoMKgwqBTVVNQRU5EX1RFU1RfTk9ORSk7Cl9f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmlndC1kZXYgbWFp bGluZyBsaXN0CmlndC1kZXZAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJl ZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaWd0LWRldgo=