From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by gabe.freedesktop.org (Postfix) with ESMTPS id DAD5C6EB97 for ; Fri, 9 Mar 2018 11:25:46 +0000 (UTC) Message-ID: <1520594744.19043.34.camel@intel.com> From: Mika Kahola Date: Fri, 09 Mar 2018 13:25:44 +0200 In-Reply-To: <51c2f1a8-39d1-b655-bca8-9ef39e9758c9@linux.intel.com> References: <1519825460-30141-1-git-send-email-mika.kahola@intel.com> <51c2f1a8-39d1-b655-bca8-9ef39e9758c9@linux.intel.com> Mime-Version: 1.0 Subject: Re: [igt-dev] [PATCH i-g-t v2] tests/kms_plane_multiple: Drain pipe before reading CRC List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: mika.kahola@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: Maarten Lankhorst , igt-dev@lists.freedesktop.org List-ID: T24gRnJpLCAyMDE4LTAzLTA5IGF0IDA5OjQwICswMTAwLCBNYWFydGVuIExhbmtob3JzdCB3cm90 ZToKPiBPcCAyOC0wMi0xOCBvbSAxNDo0NCBzY2hyZWVmIE1pa2EgS2Fob2xhOgo+ID4gCj4gPiBJ biBDSSBydW5zIHdlIGV2ZXJ5IG5vdyBhbmQgdGhlbiBmYWlsIHRvIHJlYWQgY29ycmVjdCBDUkMg eWllbGRpbmcKPiA+IGFuIGVycm9yCj4gPiB3aGVuIGNvbXBhcmluZyByZWZlcmVuY2UgYW5kIGdy YWJiZWQgQ1JDJ3MuIExldCdzIGZpcnN0IGZpeCB0aGUKPiA+IHRlc3Qgc28gdGhhdAo+ID4gd2Ug ZHJhaW4gdGhlIHBpcGUgZmlyc3QgYW5kIHRoZW4gcmVhZCB0aGUgY29ycmVjdCBDUkMuIFdoaWxl IGF0IGl0LAo+ID4gbGV0J3MKPiA+IHNpbXBsaWZ5IHRoZSB0ZXN0IGJ5IGNvbWJpbmluZyBsZWdh Y3kgYW5kIGF0b21pYyB0ZXN0cyBpbnRvIGEgb25lCj4gPiBjb21tb24KPiA+IGZ1bmN0aW9uLgo+ ID4gCj4gPiB2MjogV2UgZG9uJ3QgbmVlZCB0byBkcmFpbiBwaXBlIHdoZW4gd2UgZ3JhYiBmaXJz dCBDUkMKPiA+IAo+ID4gUmVmZXJlbmNlczogaHR0cHM6Ly9idWdzLmZyZWVkZXNrdG9wLm9yZy9z aG93X2J1Zy5jZ2k/aWQ9MTAzMTY2Cj4gPiBTaWduZWQtb2ZmLWJ5OiBNaWthIEthaG9sYSA8bWlr YS5rYWhvbGFAaW50ZWwuY29tPgo+ID4gLS0tCj4gPiDCoHRlc3RzL2ttc19wbGFuZV9tdWx0aXBs ZS5jIHwgMTQyICsrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLQo+ID4gLS0tLS0tLS0t LS0tCj4gPiDCoDEgZmlsZSBjaGFuZ2VkLCAzOCBpbnNlcnRpb25zKCspLCAxMDQgZGVsZXRpb25z KC0pCj4gPiAKPiA+IGRpZmYgLS1naXQgYS90ZXN0cy9rbXNfcGxhbmVfbXVsdGlwbGUuYwo+ID4g Yi90ZXN0cy9rbXNfcGxhbmVfbXVsdGlwbGUuYwo+ID4gaW5kZXggOTViNzEzOC4uZmY4ZWRlMyAx MDA2NDQKPiA+IC0tLSBhL3Rlc3RzL2ttc19wbGFuZV9tdWx0aXBsZS5jCj4gPiArKysgYi90ZXN0 cy9rbXNfcGxhbmVfbXVsdGlwbGUuYwo+ID4gQEAgLTMyLDcgKzMyLDYgQEAKPiA+IMKgCj4gPiDC oElHVF9URVNUX0RFU0NSSVBUSU9OKCJUZXN0IGF0b21pYyBtb2RlIHNldHRpbmcgd2l0aCBtdWx0 aXBsZQo+ID4gcGxhbmVzICIpOwo+ID4gwqAKPiA+IC0jZGVmaW5lIE1BWF9DUkNTwqDCoMKgwqDC oMKgwqDCoMKgwqAyCj4gPiDCoCNkZWZpbmUgU0laRV9QTEFORcKgwqDCoMKgwqDCoDI1Ngo+ID4g wqAjZGVmaW5lIFNJWkVfQ1VSU09SwqDCoMKgwqDCoDEyOAo+ID4gwqAjZGVmaW5lIExPT1BfRk9S RVZFUsKgwqDCoMKgwqAtMQo+ID4gQEAgLTQ2LDYgKzQ1LDcgQEAgdHlwZWRlZiBzdHJ1Y3Qgewo+ ID4gwqB0eXBlZGVmIHN0cnVjdCB7Cj4gPiDCoAlpbnQgZHJtX2ZkOwo+ID4gwqAJaWd0X2Rpc3Bs YXlfdCBkaXNwbGF5Owo+ID4gKwlpZ3RfY3JjX3QgcmVmX2NyYzsKPiA+IMKgCWlndF9waXBlX2Ny Y190ICpwaXBlX2NyYzsKPiA+IMKgCWlndF9wbGFuZV90ICoqcGxhbmU7Cj4gPiDCoAlzdHJ1Y3Qg aWd0X2ZiICpmYjsKPiA+IEBAIC05MiwyMCArOTIsMjMgQEAgc3RhdGljIHZvaWQgdGVzdF9maW5p KGRhdGFfdCAqZGF0YSwKPiA+IGlndF9vdXRwdXRfdCAqb3V0cHV0LCBpbnQgbl9wbGFuZXMpCj4g PiDCoAlpZ3Rfb3V0cHV0X3NldF9waXBlKG91dHB1dCwgUElQRV9BTlkpOwo+ID4gwqAKPiA+IMKg CWlndF9waXBlX2NyY19mcmVlKGRhdGEtPnBpcGVfY3JjKTsKPiA+ICsJZGF0YS0+cGlwZV9jcmMg PSBOVUxMOwo+ID4gwqAKPiA+IMKgCWZyZWUoZGF0YS0+cGxhbmUpOwo+ID4gwqAJZGF0YS0+cGxh bmUgPSBOVUxMOwo+ID4gLQlmcmVlKGRhdGEtPmZiKTsKPiA+IC0JZGF0YS0+ZmIgPSBOVUxMOwo+ ID4gKwo+ID4gKwlpZ3RfcmVtb3ZlX2ZiKGRhdGEtPmRybV9mZCwgZGF0YS0+ZmIpOwo+ID4gKwo+ ID4gKwlpZ3RfZGlzcGxheV9yZXNldCgmZGF0YS0+ZGlzcGxheSk7Cj4gPiDCoH0KPiA+IMKgCj4g PiDCoHN0YXRpYyB2b2lkCj4gPiAtdGVzdF9ncmFiX2NyYyhkYXRhX3QgKmRhdGEsIGlndF9vdXRw dXRfdCAqb3V0cHV0LCBlbnVtIHBpcGUgcGlwZSwKPiA+IGJvb2wgYXRvbWljLAo+ID4gLQnCoMKg wqDCoMKgwqBjb2xvcl90ICpjb2xvciwgdWludDY0X3QgdGlsaW5nLCBpZ3RfY3JjX3QgKipjcmMg LyoKPiA+IG91dCAqLykKPiA+ICt0ZXN0X2dyYWJfY3JjKGRhdGFfdCAqZGF0YSwgaWd0X291dHB1 dF90ICpvdXRwdXQsIGVudW0gcGlwZSBwaXBlLAo+ID4gaW50IGNvbW1pdCwKPiA+ICsJwqDCoMKg wqDCoMKgY29sb3JfdCAqY29sb3IsIHVpbnQ2NF90IHRpbGluZykKPiA+IMKgewo+ID4gwqAJZHJt TW9kZU1vZGVJbmZvICptb2RlOwo+ID4gwqAJaWd0X3BsYW5lX3QgKnByaW1hcnk7Cj4gPiAtCWlu dCByZXQsIG47Cj4gPiArCWludCByZXQ7Cj4gPiDCoAo+ID4gwqAJaWd0X291dHB1dF9zZXRfcGlw ZShvdXRwdXQsIHBpcGUpOwo+ID4gwqAKPiA+IEBAIC0xMjIsMTMgKzEyNSwxNiBAQCB0ZXN0X2dy YWJfY3JjKGRhdGFfdCAqZGF0YSwgaWd0X291dHB1dF90Cj4gPiAqb3V0cHV0LCBlbnVtIHBpcGUg cGlwZSwgYm9vbCBhdG9taWMsCj4gPiDCoAo+ID4gwqAJaWd0X3BsYW5lX3NldF9mYihkYXRhLT5w bGFuZVtwcmltYXJ5LT5pbmRleF0sICZkYXRhLQo+ID4gPmZiW3ByaW1hcnktPmluZGV4XSk7Cj4g PiDCoAo+ID4gLQlyZXQgPSBpZ3RfZGlzcGxheV90cnlfY29tbWl0MigmZGF0YS0+ZGlzcGxheSwK PiA+IC0JCQkJwqDCoMKgwqDCoMKgYXRvbWljID8gQ09NTUlUX0FUT01JQyA6Cj4gPiBDT01NSVRf TEVHQUNZKTsKPiA+ICsJcmV0ID0gaWd0X2Rpc3BsYXlfdHJ5X2NvbW1pdDIoJmRhdGEtPmRpc3Bs YXksIGNvbW1pdCk7Cj4gPiDCoAlpZ3Rfc2tpcF9vbihyZXQgIT0gMCk7Cj4gPiDCoAo+ID4gLQlp Z3RfcGlwZV9jcmNfc3RhcnQoZGF0YS0+cGlwZV9jcmMpOwo+ID4gLQluID0gaWd0X3BpcGVfY3Jj X2dldF9jcmNzKGRhdGEtPnBpcGVfY3JjLCAxLCBjcmMpOwo+ID4gLQlpZ3RfYXNzZXJ0X2VxKG4s IDEpOwo+ID4gKwlpZiAoY29tbWl0ID09IENPTU1JVF9MRUdBQ1kpIHsKPiA+ICsJCWlndF9waXBl X2NyY19jb2xsZWN0X2NyYyhkYXRhLT5waXBlX2NyYywgJmRhdGEtCj4gPiA+cmVmX2NyYyk7Cj4g PiArCX0gZWxzZSB7Cj4gPiArCQlpZ3RfcGlwZV9jcmNfc3RhcnQoZGF0YS0+cGlwZV9jcmMpOwo+ ID4gKwkJaWd0X3BpcGVfY3JjX2RyYWluKGRhdGEtPnBpcGVfY3JjKTsKPiA+ICsJCWlndF9waXBl X2NyY19nZXRfc2luZ2xlKGRhdGEtPnBpcGVfY3JjLCAmZGF0YS0KPiA+ID5yZWZfY3JjKTsKPiA+ ICsJfQo+IFdoeSB0aGUgMiBkaWZmZXJlbnQgcGF0aHM/ClRoZSAqX3N0YXJ0ICpfZ2V0X3Npbmds ZSBtZXRob2QgZGlkbid0IHdvcmsgZm9yIENPTU1JVF9BVE9NSUMgc28gSQpkZWNpZGVkIHRvIHVz ZSBsZWdhY3kgd2F5IGZvciBDT01NSVRfTEVHQUNZLiBNYXliZSB3ZSBjb3VsZCBhZnRlciBhbGwK ZHJvcCB0aGUgbGVnYWN5IGNvbW1pdHMgZnJvbSB0aGlzIHRlc3QuIE9yaWdpbmFsbHksIHRoaXMg dGVzdCB3YXMgYWxsCmFib3V0IGF0b21pYyB0ZXN0cy7CoAo+IAo+IEFuZCBhZ2FpbiwgYWZ0ZXIg cGlwZV9jcmNfc3RhcnQgbm8gX2RyYWluKCkgaXMgbmVlZGVkLCB3ZSBhbHJlYWR5Cj4gaGF2ZSBh IGdvb2QgQ1JDLgpZZWFoLCB0aGlzIHRoaW5nIGlzIGFuIGVjaG8gZnJvbSB0aGUgcGFzdC4gSSBy ZW1lbWJlciB3ZSBhbHJlYWR5CmRpc2N1c3NlZCB0aGlzIHdoZW4gcHJldmlvdXMgcGF0Y2ggd2Fz IHVuZGVyIHJldmlldy4KClRoYW5rcyBmb3IgdGhlIHJldmlldyEKCj4gPiAKPiA+IMKgfQo+ID4g wqAKPiA+IMKgLyoKPiA+IEBAIC0yMzksMTcgKzI0NSwxMyBAQCBwcmVwYXJlX3BsYW5lcyhkYXRh X3QgKmRhdGEsIGVudW0gcGlwZQo+ID4gcGlwZV9pZCwgY29sb3JfdCAqY29sb3IsCj4gPiDCoH0K PiA+IMKgCj4gPiDCoHN0YXRpYyB2b2lkCj4gPiAtdGVzdF9hdG9taWNfcGxhbmVfcG9zaXRpb25f d2l0aF9vdXRwdXQoZGF0YV90ICpkYXRhLCBlbnVtIHBpcGUKPiA+IHBpcGUsCj4gPiAtCQkJCcKg wqDCoMKgwqDCoMKgaWd0X291dHB1dF90ICpvdXRwdXQsIGludAo+ID4gbl9wbGFuZXMsCj4gPiAt CQkJCcKgwqDCoMKgwqDCoMKgdWludDY0X3QgdGlsaW5nKQo+ID4gK3Rlc3RfcGxhbmVfcG9zaXRp b25fd2l0aF9vdXRwdXQoZGF0YV90ICpkYXRhLCBlbnVtIHBpcGUgcGlwZSwKPiA+ICsJCQkJaWd0 X291dHB1dF90ICpvdXRwdXQsIGludAo+ID4gbl9wbGFuZXMsCj4gPiArCQkJCXVpbnQ2NF90IHRp bGluZywgaW50IGNvbW1pdCkKPiA+IMKgewo+ID4gLQljaGFyIGJ1ZlsyNTZdOwo+ID4gLQlzdHJ1 Y3QgZHJtX2V2ZW50ICplID0gKHZvaWQgKilidWY7Cj4gPiDCoAljb2xvcl90IGJsdWXCoMKgPSB7 IDAuMGYsIDAuMGYsIDEuMGYgfTsKPiA+IC0JaWd0X2NyY190ICpyZWYgPSBOVUxMOwo+ID4gLQlp Z3RfY3JjX3QgKmNyYyA9IE5VTEw7Cj4gPiAtCXVuc2lnbmVkIGludCB2Ymxhbmtfc3RhcnQsIHZi bGFua19zdG9wOwo+ID4gLQlpbnQgaSwgbiwgcmV0Owo+ID4gKwlpZ3RfY3JjX3QgY3JjOwo+ID4g KwlpbnQgaTsKPiA+IMKgCWludCBpdGVyYXRpb25zID0gb3B0Lml0ZXJhdGlvbnMgPCAxID8gMSA6 IG9wdC5pdGVyYXRpb25zOwo+ID4gwqAJYm9vbCBsb29wX2ZvcmV2ZXI7Cj4gPiDCoAljaGFyIGlu Zm9bMjU2XTsKPiA+IEBAIC0yNjksODkgKzI3MSwyNyBAQCB0ZXN0X2F0b21pY19wbGFuZV9wb3Np dGlvbl93aXRoX291dHB1dChkYXRhX3QKPiA+ICpkYXRhLCBlbnVtIHBpcGUgcGlwZSwKPiA+IMKg Cj4gPiDCoAl0ZXN0X2luaXQoZGF0YSwgcGlwZSwgbl9wbGFuZXMpOwo+ID4gwqAKPiA+IC0JdGVz dF9ncmFiX2NyYyhkYXRhLCBvdXRwdXQsIHBpcGUsIHRydWUsICZibHVlLCB0aWxpbmcsCj4gPiAm cmVmKTsKPiA+ICsJdGVzdF9ncmFiX2NyYyhkYXRhLCBvdXRwdXQsIHBpcGUsIGNvbW1pdCwgJmJs dWUsIHRpbGluZyk7Cj4gPiDCoAo+ID4gwqAJaSA9IDA7Cj4gPiDCoAl3aGlsZSAoaSA8IGl0ZXJh dGlvbnMgfHwgbG9vcF9mb3JldmVyKSB7Cj4gPiDCoAkJcHJlcGFyZV9wbGFuZXMoZGF0YSwgcGlw ZSwgJmJsdWUsIHRpbGluZywKPiA+IG5fcGxhbmVzLCBvdXRwdXQpOwo+ID4gwqAKPiA+IC0JCXZi bGFua19zdGFydCA9IGttc3Rlc3RfZ2V0X3ZibGFuayhkYXRhLQo+ID4gPmRpc3BsYXkuZHJtX2Zk LCBwaXBlLAo+ID4gLQkJCQkJCcKgwqBEUk1fVkJMQU5LX05FWFRPCj4gPiBOTUlTUyk7Cj4gPiAr CQlpZ3RfZGlzcGxheV9jb21taXQyKCZkYXRhLT5kaXNwbGF5LCBjb21taXQpOwo+ID4gwqAKPiA+ IC0JCWlndF9kaXNwbGF5X2NvbW1pdF9hdG9taWMoJmRhdGEtPmRpc3BsYXksCj4gPiAtCQkJCQnC oMKgRFJNX01PREVfUEFHRV9GTElQX0VWRU5UCj4gPiAsCj4gPiAtCQkJCQnCoMKgJmRhdGEtPmRp c3BsYXkpOwo+ID4gLQo+ID4gLQkJaWd0X3NldF90aW1lb3V0KDEsICJTdHVjayBvbiBwYWdlIGZs aXAiKTsKPiA+IC0KPiA+IC0JCXJldCA9IHJlYWQoZGF0YS0+ZGlzcGxheS5kcm1fZmQsIGJ1ZiwK PiA+IHNpemVvZihidWYpKTsKPiA+IC0JCWlndF9hc3NlcnQocmV0ID49IDApOwo+ID4gLQo+ID4g LQkJdmJsYW5rX3N0b3AgPSBrbXN0ZXN0X2dldF92YmxhbmsoZGF0YS0KPiA+ID5kaXNwbGF5LmRy bV9mZCwgcGlwZSwgMCk7Cj4gPiAtCQlpZ3RfYXNzZXJ0X2VxKGUtPnR5cGUsIERSTV9FVkVOVF9G TElQX0NPTVBMRVRFKTsKPiA+IC0JCWlndF9yZXNldF90aW1lb3V0KCk7Cj4gPiAtCj4gPiAtCQlu ID0gaWd0X3BpcGVfY3JjX2dldF9jcmNzKGRhdGEtPnBpcGVfY3JjLAo+ID4gdmJsYW5rX3N0b3Ag LSB2Ymxhbmtfc3RhcnQsICZjcmMpOwo+ID4gLQo+ID4gLQkJaWd0X2Fzc2VydCh2Ymxhbmtfc3Rv cCAtIHZibGFua19zdGFydCA8PQo+ID4gTUFYX0NSQ1MpOwo+ID4gLQkJaWd0X2Fzc2VydF9lcShu LCB2Ymxhbmtfc3RvcCAtIHZibGFua19zdGFydCk7Cj4gPiAtCj4gPiAtCQlpZ3RfYXNzZXJ0X2Ny Y19lcXVhbChyZWYsIGNyYyk7Cj4gPiAtCj4gPiAtCQlpKys7Cj4gPiAtCX0KPiA+IC0KPiA+IC0J aWd0X3BpcGVfY3JjX3N0b3AoZGF0YS0+cGlwZV9jcmMpOwo+ID4gLQo+ID4gLQl0ZXN0X2Zpbmko ZGF0YSwgb3V0cHV0LCBuX3BsYW5lcyk7Cj4gPiAtfQo+ID4gLQo+ID4gLXN0YXRpYyB2b2lkCj4g PiAtdGVzdF9sZWdhY3lfcGxhbmVfcG9zaXRpb25fd2l0aF9vdXRwdXQoZGF0YV90ICpkYXRhLCBl bnVtIHBpcGUKPiA+IHBpcGUsCj4gPiAtCQkJCcKgwqDCoMKgwqDCoMKgaWd0X291dHB1dF90ICpv dXRwdXQsIGludAo+ID4gbl9wbGFuZXMsCj4gPiAtCQkJCcKgwqDCoMKgwqDCoMKgdWludDY0X3Qg dGlsaW5nKQo+ID4gLXsKPiA+IC0JY29sb3JfdCBibHVlwqDCoD0geyAwLjBmLCAwLjBmLCAxLjBm IH07Cj4gPiAtCWlndF9jcmNfdCAqcmVmID0gTlVMTDsKPiA+IC0JaWd0X2NyY190ICpjcmMgPSBO VUxMOwo+ID4gLQlpbnQgaSwgbjsKPiA+IC0JaW50IGl0ZXJhdGlvbnMgPSBvcHQuaXRlcmF0aW9u cyA8IDEgPyAxIDogb3B0Lml0ZXJhdGlvbnM7Cj4gPiAtCWJvb2wgbG9vcF9mb3JldmVyOwo+ID4g LQljaGFyIGluZm9bMjU2XTsKPiA+IC0KPiA+IC0JaWYgKG9wdC5pdGVyYXRpb25zID09IExPT1Bf Rk9SRVZFUikgewo+ID4gLQkJbG9vcF9mb3JldmVyID0gdHJ1ZTsKPiA+IC0JCXNwcmludGYoaW5m bywgImZvcmV2ZXIiKTsKPiA+IC0JfSBlbHNlIHsKPiA+IC0JCWxvb3BfZm9yZXZlciA9IGZhbHNl Owo+ID4gLQkJc3ByaW50ZihpbmZvLCAiZm9yICVkICVzIiwKPiA+IC0JCQlpdGVyYXRpb25zLCBp dGVyYXRpb25zID4gMSA/ICJpdGVyYXRpb25zIgo+ID4gOiAiaXRlcmF0aW9uIik7Cj4gPiAtCX0K PiA+IC0KPiA+IC0JaWd0X2luZm8oIlRlc3RpbmcgY29ubmVjdG9yICVzIHVzaW5nIHBpcGUgJXMg d2l0aCAlZAo+ID4gcGxhbmVzICVzIHdpdGggc2VlZCAlZFxuIiwKPiA+IC0JCcKgaWd0X291dHB1 dF9uYW1lKG91dHB1dCksIGttc3Rlc3RfcGlwZV9uYW1lKHBpcGUpLAo+ID4gbl9wbGFuZXMsCj4g PiAtCQnCoGluZm8sIG9wdC5zZWVkKTsKPiA+IC0KPiA+IC0JdGVzdF9pbml0KGRhdGEsIHBpcGUs IG5fcGxhbmVzKTsKPiA+IC0KPiA+IC0JdGVzdF9ncmFiX2NyYyhkYXRhLCBvdXRwdXQsIHBpcGUs IGZhbHNlLCAmYmx1ZSwgdGlsaW5nLAo+ID4gJnJlZik7Cj4gPiAtCj4gPiAtCWkgPSAwOwo+ID4g LQl3aGlsZSAoaSA8IGl0ZXJhdGlvbnMgfHwgbG9vcF9mb3JldmVyKSB7Cj4gPiAtCQlwcmVwYXJl X3BsYW5lcyhkYXRhLCBwaXBlLCAmYmx1ZSwgdGlsaW5nLAo+ID4gbl9wbGFuZXMsIG91dHB1dCk7 Cj4gPiAtCj4gPiAtCQlpZ3RfZGlzcGxheV9jb21taXQyKCZkYXRhLT5kaXNwbGF5LAo+ID4gQ09N TUlUX0xFR0FDWSk7Cj4gPiAtCj4gPiAtCQluID0gaWd0X3BpcGVfY3JjX2dldF9jcmNzKGRhdGEt PnBpcGVfY3JjLAo+ID4gTUFYX0NSQ1MsICZjcmMpOwo+ID4gLQo+ID4gLQkJaWd0X2Fzc2VydF9l cShuLCBNQVhfQ1JDUyk7Cj4gPiAtCj4gPiAtCQlpZ3RfYXNzZXJ0X2NyY19lcXVhbChyZWYsIGNy Yyk7Cj4gPiArCQlpZiAoY29tbWl0ID09IENPTU1JVF9MRUdBQ1kpIHsKPiA+ICsJCQlpZ3RfcGlw ZV9jcmNfY29sbGVjdF9jcmMoZGF0YS0+cGlwZV9jcmMsCj4gPiAmY3JjKTsKPiA+ICsJCX0gZWxz ZSB7Cj4gPiArCQkJaWd0X3BpcGVfY3JjX2RyYWluKGRhdGEtPnBpcGVfY3JjKTsKPiA+ICsJCQlp Z3RfcGlwZV9jcmNfZ2V0X3NpbmdsZShkYXRhLT5waXBlX2NyYywKPiA+ICZjcmMpOwo+ID4gKwkJ fQo+IEFnYWluIHdoeSB0aGUgc2VwYXJhdGUgcGF0aHM/Cj4gPiAKPiA+ICsJCWlndF9hc3NlcnRf Y3JjX2VxdWFsKCZkYXRhLT5yZWZfY3JjLCAmY3JjKTsKPiA+IMKgCj4gPiDCoAkJaSsrOwo+ID4g wqAJfQo+ID4gwqAKPiA+IC0JaWd0X3BpcGVfY3JjX3N0b3AoZGF0YS0+cGlwZV9jcmMpOwo+ID4g KwlpZiAoY29tbWl0ICE9IENPTU1JVF9MRUdBQ1kpCj4gPiArCQlpZ3RfcGlwZV9jcmNfc3RvcChk YXRhLT5waXBlX2NyYyk7Cj4gPiDCoAo+ID4gwqAJdGVzdF9maW5pKGRhdGEsIG91dHB1dCwgbl9w bGFuZXMpOwo+ID4gwqB9Cj4gPiBAQCAtMzc4LDE3ICszMTgsMTEgQEAgdGVzdF9wbGFuZV9wb3Np dGlvbihkYXRhX3QgKmRhdGEsIGVudW0gcGlwZQo+ID4gcGlwZSwgYm9vbCBhdG9taWMsIHVpbnQ2 NF90IHRpbGluZykKPiA+IMKgCj4gPiDCoAljb25uZWN0ZWRfb3V0cyA9IDA7Cj4gPiDCoAlmb3Jf ZWFjaF92YWxpZF9vdXRwdXRfb25fcGlwZSgmZGF0YS0+ZGlzcGxheSwgcGlwZSwKPiA+IG91dHB1 dCkgewo+ID4gLQkJaWYgKGF0b21pYykKPiA+IC0JCQl0ZXN0X2F0b21pY19wbGFuZV9wb3NpdGlv bl93aXRoX291dHB1dChkYXQKPiA+IGEsIHBpcGUsCj4gPiAtCQkJCQkJCcKgwqDCoMKgwqDCoMKg b3V0Cj4gPiBwdXQsCj4gPiAtCQkJCQkJCcKgwqDCoMKgwqDCoMKgbl9wCj4gPiBsYW5lcywKPiA+ IC0JCQkJCQkJwqDCoMKgwqDCoMKgwqB0aWwKPiA+IGluZyk7Cj4gPiAtCQllbHNlCj4gPiAtCQkJ dGVzdF9sZWdhY3lfcGxhbmVfcG9zaXRpb25fd2l0aF9vdXRwdXQoZGF0Cj4gPiBhLCBwaXBlLAo+ ID4gLQkJCQkJCQnCoMKgwqDCoMKgwqDCoG91dAo+ID4gcHV0LAo+ID4gLQkJCQkJCQnCoMKgwqDC oMKgwqDCoG5fcAo+ID4gbGFuZXMsCj4gPiAtCQkJCQkJCcKgwqDCoMKgwqDCoMKgdGlsCj4gPiBp bmcpOwo+ID4gLQo+ID4gKwkJdGVzdF9wbGFuZV9wb3NpdGlvbl93aXRoX291dHB1dChkYXRhLCBw aXBlLAo+ID4gKwkJCQkJCW91dHB1dCwKPiA+ICsJCQkJCQluX3BsYW5lcywKPiA+ICsJCQkJCQl0 aWxpbmcsCj4gPiArCQkJCQkJYXRvbWljID8KPiA+IENPTU1JVF9BVE9NSUMgOiBDT01NSVRfTEVH QUNZKTsKPiA+IMKgCQljb25uZWN0ZWRfb3V0cysrOwo+ID4gwqAJfQo+ID4gwqAKPiAKLS0gCk1p a2EgS2Fob2xhIC0gSW50ZWwgT1RDCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwppZ3QtZGV2IG1haWxpbmcgbGlzdAppZ3QtZGV2QGxpc3RzLmZyZWVkZXNr dG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ln dC1kZXYK