From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM05-BY2-obe.outbound.protection.outlook.com (mail-eopbgr710054.outbound.protection.outlook.com [40.107.71.54]) by gabe.freedesktop.org (Postfix) with ESMTPS id DBEC06E182 for ; Wed, 3 Jul 2019 18:01:03 +0000 (UTC) From: "Kazlauskas, Nicholas" Date: Wed, 3 Jul 2019 18:01:01 +0000 Message-ID: References: <20190628194438.2714-3-ville.syrjala@linux.intel.com> <20190702175708.15091-1-ville.syrjala@linux.intel.com> <3f3b5d88-49a0-5479-99fa-7b0b228dda6b@amd.com> <20190703171218.GZ5942@intel.com> In-Reply-To: <20190703171218.GZ5942@intel.com> Content-Language: en-US Content-ID: <5A790E8D756BC4418F95CC5D82EA154A@namprd12.prod.outlook.com> MIME-Version: 1.0 Subject: Re: [igt-dev] [PATCH i-g-t v2 2/3] tests/kms_plane: Test all YCbCr encodings/ranges List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: igt-dev-bounces@lists.freedesktop.org Sender: "igt-dev" To: =?utf-8?B?VmlsbGUgU3lyasOkbMOk?= Cc: "igt-dev@lists.freedesktop.org" List-ID: T24gNy8zLzE5IDE6MTIgUE0sIFZpbGxlIFN5cmrDpGzDpCB3cm90ZToNCj4gT24gVHVlLCBKdWwg MDIsIDIwMTkgYXQgMDY6MDc6MjRQTSArMDAwMCwgS2F6bGF1c2thcywgTmljaG9sYXMgd3JvdGU6 DQo+PiBPbiA3LzIvMTkgMTo1NyBQTSwgVmlsbGUgU3lyamFsYSB3cm90ZToNCj4+PiBGcm9tOiBW aWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tPg0KPj4+DQo+Pj4g VGVzdCBhbGwgc3VwcG9ydCBZQ2JDciBlbmNvZGluZy9yYW5nZSBjb21iaW5hdGlvbnMuIFNvIGZh cg0KPj4+IHdlJ3ZlIG9ubHkgYmVlbiB0ZXN0aW5nIG9uZSBwYXJ0aWN1bGFyIGNvbWJvLg0KPj4+ DQo+Pj4gdjI6IFVzZSBpZ3RfY3JlYXRlX2ZiX3dpdGhfYm9fc2l6ZSgpIGFuZCBoYW5kIHJvbGwg dGhlDQo+Pj4gICAgICAgc29saWQgZmlsbHMNCj4+Pg0KPj4+IENjOiBVbWEgU2hhbmthciA8dW1h LnNoYW5rYXJAaW50ZWwuY29tPg0KPj4+IFJldmlld2VkLWJ5OiBOaWNob2xhcyBLYXpsYXVza2Fz IDxuaWNob2xhcy5rYXpsYXVza2FzQGFtZC5jb20+ICN2MQ0KPj4+IFJldmlld2VkLWJ5OiBVbWEg U2hhbmthciA8dW1hLnNoYW5rYXJAaW50ZWwuY29tPiAjdjENCj4+PiBTaWduZWQtb2ZmLWJ5OiBW aWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tPg0KPj4+IC0tLQ0K Pj4+ICAgIHRlc3RzL2ttc19wbGFuZS5jIHwgMTY0ICsrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKy0tLS0tLS0tLS0NCj4+PiAgICAxIGZpbGUgY2hhbmdlZCwgMTI5IGluc2VydGlv bnMoKyksIDM1IGRlbGV0aW9ucygtKQ0KPj4+DQo+Pj4gZGlmZiAtLWdpdCBhL3Rlc3RzL2ttc19w bGFuZS5jIGIvdGVzdHMva21zX3BsYW5lLmMNCj4+PiBpbmRleCA1OWQ1ZjFlODBjZDIuLmNlNGJm OWUxYzIxZCAxMDA2NDQNCj4+PiAtLS0gYS90ZXN0cy9rbXNfcGxhbmUuYw0KPj4+ICsrKyBiL3Rl c3RzL2ttc19wbGFuZS5jDQo+Pj4gQEAgLTQyNywyNyArNDI3LDM2IEBAIHN0YXRpYyB2b2lkIHRl c3RfZm9ybWF0X3BsYW5lX2NvbG9yKGRhdGFfdCAqZGF0YSwgZW51bSBwaXBlIHBpcGUsDQo+Pj4g ICAgCQkJCSAgICBpZ3RfcGxhbmVfdCAqcGxhbmUsDQo+Pj4gICAgCQkJCSAgICB1aW50MzJfdCBm b3JtYXQsIHVpbnQ2NF90IG1vZGlmaWVyLA0KPj4+ICAgIAkJCQkgICAgaW50IHdpZHRoLCBpbnQg aGVpZ2h0LA0KPj4+ICsJCQkJICAgIGVudW0gaWd0X2NvbG9yX2VuY29kaW5nIGNvbG9yX2VuY29k aW5nLA0KPj4+ICsJCQkJICAgIGVudW0gaWd0X2NvbG9yX3JhbmdlIGNvbG9yX3JhbmdlLA0KPj4+ ICAgIAkJCQkgICAgaW50IGNvbG9yLCBpZ3RfY3JjX3QgKmNyYywgc3RydWN0IGlndF9mYiAqZmIp DQo+Pj4gICAgew0KPj4+ICAgIAljb25zdCBjb2xvcl90ICpjID0gJmNvbG9yc1tjb2xvcl07DQo+ Pj4gICAgCXN0cnVjdCBpZ3RfZmIgb2xkX2ZiID0gKmZiOw0KPj4+ICsJY2Fpcm9fdCAqY3I7DQo+ Pj4gICAgDQo+Pj4gICAgCWlmIChkYXRhLT5jcm9wID09IDAgfHwgZm9ybWF0ID09IERSTV9GT1JN QVRfWFJHQjg4ODgpIHsNCj4+PiAtCQlpZ3RfY3JlYXRlX2NvbG9yX2ZiKGRhdGEtPmRybV9mZCwg d2lkdGgsIGhlaWdodCwNCj4+PiAtCQkJCSAgICBmb3JtYXQsIG1vZGlmaWVyLA0KPj4+IC0JCQkJ ICAgIGMtPnJlZCwgYy0+Z3JlZW4sIGMtPmJsdWUsIGZiKTsNCj4+PiArCQlpZ3RfY3JlYXRlX2Zi X3dpdGhfYm9fc2l6ZShkYXRhLT5kcm1fZmQsIHdpZHRoLCBoZWlnaHQsDQo+Pj4gKwkJCQkJICAg Zm9ybWF0LCBtb2RpZmllciwgY29sb3JfZW5jb2RpbmcsDQo+Pj4gKwkJCQkJICAgY29sb3JfcmFu Z2UsIGZiLCAwLCAwKTsNCj4+PiArDQo+Pj4gKwkJY3IgPSBpZ3RfZ2V0X2NhaXJvX2N0eChkYXRh LT5kcm1fZmQsIGZiKTsNCj4+PiArDQo+Pj4gKwkJaWd0X3BhaW50X2NvbG9yKGNyLCAwLCAwLCB3 aWR0aCwgaGVpZ2h0LA0KPj4+ICsJCQkJYy0+cmVkLCBjLT5ncmVlbiwgYy0+Ymx1ZSk7DQo+Pj4g Kw0KPj4+ICsJCWlndF9wdXRfY2Fpcm9fY3R4KGRhdGEtPmRybV9mZCwgZmIsIGNyKTsNCj4+PiAg ICAJfSBlbHNlIHsNCj4+PiArCQlpZ3RfY3JlYXRlX2ZiX3dpdGhfYm9fc2l6ZShkYXRhLT5kcm1f ZmQsDQo+Pj4gKwkJCQkJICAgd2lkdGggKyBkYXRhLT5jcm9wICogMiwNCj4+PiArCQkJCQkgICBo ZWlnaHQgKyBkYXRhLT5jcm9wICogMiwNCj4+PiArCQkJCQkgICBmb3JtYXQsIG1vZGlmaWVyLCBj b2xvcl9lbmNvZGluZywNCj4+PiArCQkJCQkgICBjb2xvcl9yYW5nZSwgZmIsIDAsIDApOw0KPj4+ ICsNCj4+PiAgICAJCS8qDQo+Pj4gICAgCQkgKiBwYWludCBib3JkZXIgaW4gaW52ZXJ0ZWQgY29s b3IsIHRoZW4gdmlzaWJsZSBhcmVhIGluIG1pZGRsZQ0KPj4+ICAgIAkJICogd2l0aCBjb3JyZWN0 IGNvbG9yIGZvciBjbGFtcGluZyB0ZXN0DQo+Pj4gICAgCQkgKi8NCj4+PiAtCQljYWlyb190ICpj cjsNCj4+PiAtDQo+Pj4gLQkJaWd0X2NyZWF0ZV9mYihkYXRhLT5kcm1fZmQsDQo+Pj4gLQkJCSAg ICAgIHdpZHRoICsgZGF0YS0+Y3JvcCAqIDIsDQo+Pj4gLQkJCSAgICAgIGhlaWdodCArIGRhdGEt PmNyb3AgKiAyLA0KPj4+IC0JCQkgICAgICBmb3JtYXQsIG1vZGlmaWVyLCBmYik7DQo+Pj4gLQ0K Pj4+ICAgIAkJY3IgPSBpZ3RfZ2V0X2NhaXJvX2N0eChkYXRhLT5kcm1fZmQsIGZiKTsNCj4+PiAg ICANCj4+PiAgICAJCWlndF9wYWludF9jb2xvcihjciwgMCwgMCwNCj4+PiBAQCAtNTAwLDYgKzUw OSwxMDQgQEAgc3RhdGljIGludCBudW1fdW5pcXVlX2NyY3MoY29uc3QgaWd0X2NyY190IGNyY1td LCBpbnQgbnVtX2NyYykNCj4+PiAgICAJcmV0dXJuIG51bV91bmlxdWVfY3JjOw0KPj4+ICAgIH0N Cj4+PiAgICANCj4+PiArc3RhdGljIGJvb2wgdGVzdF9mb3JtYXRfcGxhbmVfY29sb3JzKGRhdGFf dCAqZGF0YSwgZW51bSBwaXBlIHBpcGUsDQo+Pj4gKwkJCQkgICAgIGlndF9wbGFuZV90ICpwbGFu ZSwNCj4+PiArCQkJCSAgICAgdWludDMyX3QgZm9ybWF0LCB1aW50NjRfdCBtb2RpZmllciwNCj4+ PiArCQkJCSAgICAgaW50IHdpZHRoLCBpbnQgaGVpZ2h0LA0KPj4+ICsJCQkJICAgICBlbnVtIGln dF9jb2xvcl9lbmNvZGluZyBlbmNvZGluZywNCj4+PiArCQkJCSAgICAgZW51bSBpZ3RfY29sb3Jf cmFuZ2UgcmFuZ2UsDQo+Pj4gKwkJCQkgICAgIGlndF9jcmNfdCByZWZfY3JjW0FSUkFZX1NJWkUo Y29sb3JzKV0sDQo+Pj4gKwkJCQkgICAgIHN0cnVjdCBpZ3RfZmIgKmZiKQ0KPj4+ICt7DQo+Pj4g KwlpbnQgY3JjX21pc21hdGNoX2NvdW50ID0gMDsNCj4+PiArCXVuc2lnbmVkIGludCBjcmNfbWlz bWF0Y2hfbWFzayA9IDA7DQo+Pj4gKwlib29sIHJlc3VsdCA9IHRydWU7DQo+Pj4gKw0KPj4+ICsJ Zm9yIChpbnQgaSA9IDA7IGkgPCBBUlJBWV9TSVpFKGNvbG9ycyk7IGkrKykgew0KPj4+ICsJCWln dF9jcmNfdCBjcmM7DQo+Pj4gKw0KPj4+ICsJCXRlc3RfZm9ybWF0X3BsYW5lX2NvbG9yKGRhdGEs IHBpcGUsIHBsYW5lLA0KPj4+ICsJCQkJCWZvcm1hdCwgbW9kaWZpZXIsDQo+Pj4gKwkJCQkJd2lk dGgsIGhlaWdodCwNCj4+PiArCQkJCQllbmNvZGluZywgcmFuZ2UsDQo+Pj4gKwkJCQkJaSwgJmNy YywgZmIpOw0KPj4+ICsNCj4+PiArCQlpZiAoIWlndF9jaGVja19jcmNfZXF1YWwoJmNyYywgJnJl Zl9jcmNbaV0pKSB7DQo+Pj4gKwkJCWNyY19taXNtYXRjaF9jb3VudCsrOw0KPj4+ICsJCQljcmNf bWlzbWF0Y2hfbWFzayB8PSAoMSA8PCBpKTsNCj4+PiArCQkJcmVzdWx0ID0gZmFsc2U7DQo+Pj4g KwkJfQ0KPj4+ICsJfQ0KPj4+ICsNCj4+PiArCWlmIChjcmNfbWlzbWF0Y2hfY291bnQpDQo+Pj4g KwkJaWd0X3dhcm4oIkNSQyBtaXNtYXRjaGVzIHdpdGggZm9ybWF0ICIgSUdUX0ZPUk1BVF9GTVQg IiBvbiAlcy4ldSB3aXRoICVkLyVkIHNvbGlkIGNvbG9ycyB0ZXN0ZWQgKDB4JVgpXG4iLA0KPj4+ ICsJCQkgSUdUX0ZPUk1BVF9BUkdTKGZvcm1hdCksIGttc3Rlc3RfcGlwZV9uYW1lKHBpcGUpLA0K Pj4+ICsJCQkgcGxhbmUtPmluZGV4LCBjcmNfbWlzbWF0Y2hfY291bnQsIChpbnQpQVJSQVlfU0la RShjb2xvcnMpLCBjcmNfbWlzbWF0Y2hfbWFzayk7DQo+Pj4gKw0KPj4+ICsJcmV0dXJuIHJlc3Vs dDsNCj4+PiArfQ0KPj4+ICsNCj4+PiArc3RhdGljIGJvb2wgdGVzdF9mb3JtYXRfcGxhbmVfcmdi KGRhdGFfdCAqZGF0YSwgZW51bSBwaXBlIHBpcGUsDQo+Pj4gKwkJCQkgIGlndF9wbGFuZV90ICpw bGFuZSwNCj4+PiArCQkJCSAgdWludDMyX3QgZm9ybWF0LCB1aW50NjRfdCBtb2RpZmllciwNCj4+ PiArCQkJCSAgaW50IHdpZHRoLCBpbnQgaGVpZ2h0LA0KPj4+ICsJCQkJICBpZ3RfY3JjX3QgcmVm X2NyY1tBUlJBWV9TSVpFKGNvbG9ycyldLA0KPj4+ICsJCQkJICBzdHJ1Y3QgaWd0X2ZiICpmYikN Cj4+PiArew0KPj4+ICsJaWd0X2luZm8oIlRlc3RpbmcgZm9ybWF0ICIgSUdUX0ZPUk1BVF9GTVQg IiAvIG1vZGlmaWVyIDB4JSIgUFJJeDY0ICIgb24gJXMuJXVcbiIsDQo+Pj4gKwkJIElHVF9GT1JN QVRfQVJHUyhmb3JtYXQpLCBtb2RpZmllciwNCj4+PiArCQkga21zdGVzdF9waXBlX25hbWUocGlw ZSksIHBsYW5lLT5pbmRleCk7DQo+Pj4gKw0KPj4+ICsJcmV0dXJuIHRlc3RfZm9ybWF0X3BsYW5l X2NvbG9ycyhkYXRhLCBwaXBlLCBwbGFuZSwNCj4+PiArCQkJCQlmb3JtYXQsIG1vZGlmaWVyLA0K Pj4+ICsJCQkJCXdpZHRoLCBoZWlnaHQsDQo+Pj4gKwkJCQkJSUdUX0NPTE9SX1lDQkNSX0JUNjAx LA0KPj4+ICsJCQkJCUlHVF9DT0xPUl9ZQ0JDUl9MSU1JVEVEX1JBTkdFLA0KPj4+ICsJCQkJCXJl Zl9jcmMsIGZiKTsNCj4+PiArfQ0KPj4+ICsNCj4+PiArc3RhdGljIGJvb2wgdGVzdF9mb3JtYXRf cGxhbmVfeXV2KGRhdGFfdCAqZGF0YSwgZW51bSBwaXBlIHBpcGUsDQo+Pj4gKwkJCQkgIGlndF9w bGFuZV90ICpwbGFuZSwNCj4+PiArCQkJCSAgdWludDMyX3QgZm9ybWF0LCB1aW50NjRfdCBtb2Rp ZmllciwNCj4+PiArCQkJCSAgaW50IHdpZHRoLCBpbnQgaGVpZ2h0LA0KPj4+ICsJCQkJICBpZ3Rf Y3JjX3QgcmVmX2NyY1tBUlJBWV9TSVpFKGNvbG9ycyldLA0KPj4+ICsJCQkJICBzdHJ1Y3QgaWd0 X2ZiICpmYikNCj4+PiArew0KPj4+ICsJYm9vbCByZXN1bHQgPSB0cnVlOw0KPj4+ICsNCj4+PiAr CWlmICghaWd0X3BsYW5lX2hhc19wcm9wKHBsYW5lLCBJR1RfUExBTkVfQ09MT1JfRU5DT0RJTkcp KQ0KPj4+ICsJCXJldHVybiB0cnVlOw0KPj4+ICsJaWYgKCFpZ3RfcGxhbmVfaGFzX3Byb3AocGxh bmUsIElHVF9QTEFORV9DT0xPUl9SQU5HRSkpDQo+Pj4gKwkJcmV0dXJuIHRydWU7DQo+Pg0KPj4g U2tpbW1lZCBvdmVyIHRoaXMgaW4gbXkgZmlyc3QgcGFzcy4NCj4+DQo+PiBEbyB3ZSByZWFsbHkg d2FudCB0byBiZSByZXR1cm5pbmcgdHJ1ZSBoZXJlIGlmIHRoZSBkcml2ZXIgZG9lc24ndA0KPj4g c3VwcG9ydCBlbmNvZGluZy9yYW5nZT8gSXQncyBwcm9iYWJseSBub3QgYSBnb29kIGlkZWEgdG8g cmVhbGx5IGV4cG9zZQ0KPj4gWVVWIGZvcm1hdHMgd2l0aCB0aGVtIHNvIGl0IG1pZ2h0IGJlIGJl c3QgdG8ganVzdCBhc3NlcnQgaGVyZSBpbnN0ZWFkLg0KPiANCj4gSSBzdXNwZWN0IHRoZXJlIGFy ZSBzdGlsbCBxdWl0ZSBhIGZldyBkcml2ZXJzIHRoYXQgZG9uJ3QgZXhwb3NlDQo+IHRoZXNlIHBy b3BzLiBBc3NlcnRpbmcvc2tpcHBpbmcgaGVyZSB3b3VsZCBtZWFuIHNraXBwaW5nIHRoZSBlbnRp cmUNCj4gc3VidGVzdCB3aGljaCBpcyBub3Qgc28gZ3JlYXQuIFNvIElNTyBiZXR0ZXIgdG8ganVz dCBza2lwIHRoZSBZVVYNCj4gZm9ybWF0cy4NCg0KVGhhdCdzIGEgZmFpciBwb2ludC4gSXQncyBz dGlsbCBhIHNpbGVudCBza2lwIGJ1dCBpdCdzIHByb2JhYmx5IG5vdCBhIA0KYmlnIGRlYWwuIFRo aXMgc2VyaWVzIGxvb2tzIGZpbmUgdG8gbWU6DQoNClJldmlld2VkLWJ5OiBOaWNob2xhcyBLYXps YXVza2FzIDxuaWNob2xhcy5rYXpsdWFza2FzQGFtZC5jb20+DQoNCj4gDQo+Pg0KPj4gVGhlIHJl c3Qgb2YgUDErUDIgbGd0bS4gSSBkb24ndCBzZWUgUDMgYnV0IHRoYXQgc3RpbGwgb25seSBuZWVk cyB0aGUNCj4+IHRpdGxlIGZpeC4NCj4+DQo+PiBOaWNob2xhcyBLYXpsYXVza2FzDQo+Pg0KPj4+ ICsNCj4+PiArCWZvciAoZW51bSBpZ3RfY29sb3JfZW5jb2RpbmcgZSA9IDA7IGUgPCBJR1RfTlVN X0NPTE9SX0VOQ09ESU5HUzsgZSsrKSB7DQo+Pj4gKwkJaWYgKCFpZ3RfcGxhbmVfdHJ5X3Byb3Bf ZW51bShwbGFuZSwNCj4+PiArCQkJCQkgICAgIElHVF9QTEFORV9DT0xPUl9FTkNPRElORywNCj4+ PiArCQkJCQkgICAgIGlndF9jb2xvcl9lbmNvZGluZ190b19zdHIoZSkpKQ0KPj4+ICsJCQljb250 aW51ZTsNCj4+PiArDQo+Pj4gKwkJZm9yIChlbnVtIGlndF9jb2xvcl9yYW5nZSByID0gMDsgciA8 IElHVF9OVU1fQ09MT1JfUkFOR0VTOyByKyspIHsNCj4+PiArCQkJaWYgKCFpZ3RfcGxhbmVfdHJ5 X3Byb3BfZW51bShwbGFuZSwNCj4+PiArCQkJCQkJICAgICBJR1RfUExBTkVfQ09MT1JfUkFOR0Us DQo+Pj4gKwkJCQkJCSAgICAgaWd0X2NvbG9yX3JhbmdlX3RvX3N0cihyKSkpDQo+Pj4gKwkJCQlj b250aW51ZTsNCj4+PiArDQo+Pj4gKwkJCWlndF9pbmZvKCJUZXN0aW5nIGZvcm1hdCAiIElHVF9G T1JNQVRfRk1UICIgLyBtb2RpZmllciAweCUiIFBSSXg2NCAiICglcywgJXMpIG9uICVzLiV1XG4i LA0KPj4+ICsJCQkJIElHVF9GT1JNQVRfQVJHUyhmb3JtYXQpLCBtb2RpZmllciwNCj4+PiArCQkJ CSBpZ3RfY29sb3JfZW5jb2RpbmdfdG9fc3RyKGUpLA0KPj4+ICsJCQkJIGlndF9jb2xvcl9yYW5n ZV90b19zdHIociksDQo+Pj4gKwkJCQkga21zdGVzdF9waXBlX25hbWUocGlwZSksIHBsYW5lLT5p bmRleCk7DQo+Pj4gKw0KPj4+ICsJCQlyZXN1bHQgJj0gdGVzdF9mb3JtYXRfcGxhbmVfY29sb3Jz KGRhdGEsIHBpcGUsIHBsYW5lLA0KPj4+ICsJCQkJCQkJICAgZm9ybWF0LCBtb2RpZmllciwNCj4+ PiArCQkJCQkJCSAgIHdpZHRoLCBoZWlnaHQsDQo+Pj4gKwkJCQkJCQkgICBlLCByLCByZWZfY3Jj LCBmYik7DQo+Pj4gKwkJfQ0KPj4+ICsJfQ0KPj4+ICsNCj4+PiArCXJldHVybiByZXN1bHQ7DQo+ Pj4gK30NCj4+PiArDQo+Pj4gICAgc3RhdGljIGJvb2wgdGVzdF9mb3JtYXRfcGxhbmUoZGF0YV90 ICpkYXRhLCBlbnVtIHBpcGUgcGlwZSwNCj4+PiAgICAJCQkgICAgICBpZ3Rfb3V0cHV0X3QgKm91 dHB1dCwgaWd0X3BsYW5lX3QgKnBsYW5lKQ0KPj4+ICAgIHsNCj4+PiBAQCAtNTY5LDYgKzY3Niw4 IEBAIHN0YXRpYyBib29sIHRlc3RfZm9ybWF0X3BsYW5lKGRhdGFfdCAqZGF0YSwgZW51bSBwaXBl IHBpcGUsDQo+Pj4gICAgCQl0ZXN0X2Zvcm1hdF9wbGFuZV9jb2xvcihkYXRhLCBwaXBlLCBwbGFu ZSwNCj4+PiAgICAJCQkJCWZvcm1hdCwgbW9kaWZpZXIsDQo+Pj4gICAgCQkJCQl3aWR0aCwgaGVp Z2h0LA0KPj4+ICsJCQkJCUlHVF9DT0xPUl9ZQ0JDUl9CVDcwOSwNCj4+PiArCQkJCQlJR1RfQ09M T1JfWUNCQ1JfTElNSVRFRF9SQU5HRSwNCj4+PiAgICAJCQkJCWksICZyZWZfY3JjW2ldLCAmZmIp Ow0KPj4+ICAgIAl9DQo+Pj4gICAgDQo+Pj4gQEAgLTU4MCwxMCArNjg5LDYgQEAgc3RhdGljIGJv b2wgdGVzdF9mb3JtYXRfcGxhbmUoZGF0YV90ICpkYXRhLCBlbnVtIHBpcGUgcGlwZSwNCj4+PiAg ICAJaWd0X3JlcXVpcmUobnVtX3VuaXF1ZV9jcmNzKHJlZl9jcmMsIEFSUkFZX1NJWkUoY29sb3Jz KSkgPiAxKTsNCj4+PiAgICANCj4+PiAgICAJZm9yIChpbnQgaSA9IDA7IGkgPCBwbGFuZS0+Zm9y bWF0X21vZF9jb3VudDsgaSsrKSB7DQo+Pj4gLQkJaW50IGNyY19taXNtYXRjaF9jb3VudCA9IDA7 DQo+Pj4gLQkJaW50IGNyY19taXNtYXRjaF9tYXNrID0gMDsNCj4+PiAtCQlpZ3RfY3JjX3QgY3Jj Ow0KPj4+IC0NCj4+PiAgICAJCWZvcm1hdCA9IHBsYW5lLT5mb3JtYXRzW2ldOw0KPj4+ICAgIAkJ bW9kaWZpZXIgPSBwbGFuZS0+bW9kaWZpZXJzW2ldOw0KPj4+ICAgIA0KPj4+IEBAIC01OTksMzAg KzcwNCwxOSBAQCBzdGF0aWMgYm9vbCB0ZXN0X2Zvcm1hdF9wbGFuZShkYXRhX3QgKmRhdGEsIGVu dW0gcGlwZSBwaXBlLA0KPj4+ICAgIAkJCQljb250aW51ZTsNCj4+PiAgICAJCX0NCj4+PiAgICAN Cj4+PiAtCQlpZ3RfaW5mbygiVGVzdGluZyBmb3JtYXQgIiBJR1RfRk9STUFUX0ZNVCAiIC8gbW9k aWZpZXIgMHglIiBQUkl4NjQgIiBvbiAlcy4ldVxuIiwNCj4+PiAtCQkJIElHVF9GT1JNQVRfQVJH Uyhmb3JtYXQpLCBtb2RpZmllciwNCj4+PiAtCQkJIGttc3Rlc3RfcGlwZV9uYW1lKHBpcGUpLCBw bGFuZS0+aW5kZXgpOw0KPj4+IC0NCj4+PiAtCQlmb3IgKGludCBqID0gMDsgaiA8IEFSUkFZX1NJ WkUoY29sb3JzKTsgaisrKSB7DQo+Pj4gLQkJCXRlc3RfZm9ybWF0X3BsYW5lX2NvbG9yKGRhdGEs IHBpcGUsIHBsYW5lLA0KPj4+IC0JCQkJCQlmb3JtYXQsIG1vZGlmaWVyLA0KPj4+IC0JCQkJCQl3 aWR0aCwgaGVpZ2h0LA0KPj4+IC0JCQkJCQlqLCAmY3JjLCAmZmIpOw0KPj4+IC0NCj4+PiAtCQkJ aWYgKCFpZ3RfY2hlY2tfY3JjX2VxdWFsKCZjcmMsICZyZWZfY3JjW2pdKSkgew0KPj4+IC0JCQkJ Y3JjX21pc21hdGNoX2NvdW50Kys7DQo+Pj4gLQkJCQljcmNfbWlzbWF0Y2hfbWFzayB8PSAoMSA8 PCBqKTsNCj4+PiAtCQkJCXJlc3VsdCA9IGZhbHNlOw0KPj4+IC0JCQl9DQo+Pj4gLQkJfQ0KPj4+ ICsJCWlmIChpZ3RfZm9ybWF0X2lzX3l1dihmb3JtYXQpKQ0KPj4+ICsJCQlyZXN1bHQgJj0gdGVz dF9mb3JtYXRfcGxhbmVfeXV2KGRhdGEsIHBpcGUsIHBsYW5lLA0KPj4+ICsJCQkJCQkJZm9ybWF0 LCBtb2RpZmllciwNCj4+PiArCQkJCQkJCXdpZHRoLCBoZWlnaHQsDQo+Pj4gKwkJCQkJCQlyZWZf Y3JjLCAmZmIpOw0KPj4+ICsJCWVsc2UNCj4+PiArCQkJcmVzdWx0ICY9IHRlc3RfZm9ybWF0X3Bs YW5lX3JnYihkYXRhLCBwaXBlLCBwbGFuZSwNCj4+PiArCQkJCQkJCWZvcm1hdCwgbW9kaWZpZXIs DQo+Pj4gKwkJCQkJCQl3aWR0aCwgaGVpZ2h0LA0KPj4+ICsJCQkJCQkJcmVmX2NyYywgJmZiKTsN Cj4+PiAgICANCj4+PiAgICAJCWlmIChmb3JtYXQgPT0gRFJNX0ZPUk1BVF9DOCkNCj4+PiAgICAJ CQlzZXRfbGVnYWN5X2x1dChkYXRhLCBwaXBlLCAweGZjMDApOw0KPj4+IC0NCj4+PiAtCQlpZiAo Y3JjX21pc21hdGNoX2NvdW50KQ0KPj4+IC0JCQlpZ3Rfd2FybigiQ1JDIG1pc21hdGNoZXMgd2l0 aCBmb3JtYXQgIiBJR1RfRk9STUFUX0ZNVCAiIG9uICVzLiV1IHdpdGggJWQvJWQgc29saWQgY29s b3JzIHRlc3RlZCAoMHglWClcbiIsDQo+Pj4gLQkJCQkgSUdUX0ZPUk1BVF9BUkdTKGZvcm1hdCks IGttc3Rlc3RfcGlwZV9uYW1lKHBpcGUpLA0KPj4+IC0JCQkJIHBsYW5lLT5pbmRleCwgY3JjX21p c21hdGNoX2NvdW50LCAoaW50KUFSUkFZX1NJWkUoY29sb3JzKSwgY3JjX21pc21hdGNoX21hc2sp Ow0KPj4+ICAgIAl9DQo+Pj4gICAgDQo+Pj4gICAgCWlndF9waXBlX2NyY19zdG9wKGRhdGEtPnBp cGVfY3JjKTsNCj4+Pg0KPj4NCj4gDQoNCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fCmlndC1kZXYgbWFpbGluZyBsaXN0CmlndC1kZXZAbGlzdHMuZnJlZWRl c2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8v aWd0LWRldg==