Return-Path: Received: from mblankhorst.nl (mblankhorst.nl [IPv6:2a02:2308::216:3eff:fe92:dfa3]) by gabe.freedesktop.org (Postfix) with ESMTPS id D20DB89AAD for ; Wed, 18 Apr 2018 09:32:27 +0000 (UTC) From: Maarten Lankhorst Date: Wed, 18 Apr 2018 11:32:24 +0200 Message-Id: <20180418093224.1446-1-maarten.lankhorst@linux.intel.com> Subject: [igt-dev] [PATCH i-g-t] tests/kms_nv12: Add nv12 specific tests. List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: igt-dev-bounces@lists.freedesktop.org Sender: "igt-dev" To: igt-dev@lists.freedesktop.org List-ID: QWRkIHRlc3RzIGV4Y2VyY2lzaW5nIHN3aXRjaGluZyBiZXR3ZWVuIHZhcmlvdXMgc2NhbGVkL3Vu c2NhbGVkCnRyYW5zaXRpb25zIHRvIGFuZCBmcm9tIE5WMTIsIHNpbmNlIHNvbWUgb2YgdGhlIHdv cmthcm91bmRzIG1lbnRpb24KdGhpcyBtYXkgZmFpbC4KCldlIGFsc28gYWRkIE5WMTIgc3BlY2lm aWMgY2xpcHBpbmcvc2NhbGluZyB0ZXN0cywgdG8gbWFrZSBzdXJlCnRoYXQgTlYxMiBzcmMgY29v cmRpbmF0ZXMgYXJlIGFsd2F5cyBwcm9ncmFtbWVkIGFzIGEgbXVsdGlwbGUgb2YgNApjb3JyZWN0 bHksIGFuZCB2ZXJpZnkgc2NhbGluZy9jbGlwcGluZyB3b3JrcyB3aXRoIENSQyB0ZXN0cy4KClNp Z25lZC1vZmYtYnk6IE1hYXJ0ZW4gTGFua2hvcnN0IDxtYWFydGVuLmxhbmtob3JzdEBsaW51eC5p bnRlbC5jb20+CkNjOiBWaWR5YSBTcmluaXZhcyA8dmlkeWEuc3Jpbml2YXNAaW50ZWwuY29tPgot LS0KIHRlc3RzL01ha2VmaWxlLnNvdXJjZXMgICAgfCAgIDEgKwogdGVzdHMva21zX252MTIuYyAg ICAgICAgICB8IDQwNCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogdGVz dHMva21zX3BsYW5lX3NjYWxpbmcuYyB8ICAxMyArLQogdGVzdHMvbWVzb24uYnVpbGQgICAgICAg ICB8ICAgMSArCiA0IGZpbGVzIGNoYW5nZWQsIDQxMSBpbnNlcnRpb25zKCspLCA4IGRlbGV0aW9u cygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IHRlc3RzL2ttc19udjEyLmMKCmRpZmYgLS1naXQgYS90 ZXN0cy9NYWtlZmlsZS5zb3VyY2VzIGIvdGVzdHMvTWFrZWZpbGUuc291cmNlcwppbmRleCA3OTFl NGY4M2Q2NDguLmRkY2MxOGYyZWJiMiAxMDA2NDQKLS0tIGEvdGVzdHMvTWFrZWZpbGUuc291cmNl cworKysgYi90ZXN0cy9NYWtlZmlsZS5zb3VyY2VzCkBAIC0xOTUsNiArMTk1LDcgQEAgVEVTVFNf cHJvZ3MgPSBcCiAJa21zX2xlZ2FjeV9jb2xvcmtleSBcCiAJa21zX21tYXBfd3JpdGVfY3JjIFwK IAlrbXNfbW1pb192c19jc19mbGlwIFwKKwlrbXNfbnYxMiBcCiAJa21zX3BhbmVsX2ZpdHRpbmcg XAogCWttc19waXBlX2JfY19pdmIgXAogCWttc19waXBlX2NyY19iYXNpYyBcCmRpZmYgLS1naXQg YS90ZXN0cy9rbXNfbnYxMi5jIGIvdGVzdHMva21zX252MTIuYwpuZXcgZmlsZSBtb2RlIDEwMDY0 NAppbmRleCAwMDAwMDAwMDAwMDAuLmFhNTdlYWVjNWEzNwotLS0gL2Rldi9udWxsCisrKyBiL3Rl c3RzL2ttc19udjEyLmMKQEAgLTAsMCArMSw0MDQgQEAKKy8qCisgKiBQZXJtaXNzaW9uIGlzIGhl cmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbiBvYnRhaW5pbmcgYQor ICogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRvY3VtZW50YXRpb24gZmls ZXMgKHRoZSAiU29mdHdhcmUiKSwKKyAqIHRvIGRlYWwgaW4gdGhlIFNvZnR3YXJlIHdpdGhvdXQg cmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24KKyAqIHRoZSByaWdodHMg dG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNl bnNlLAorICogYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBTb2Z0d2FyZSwgYW5kIHRvIHBlcm1p dCBwZXJzb25zIHRvIHdob20gdGhlCisgKiBTb2Z0d2FyZSBpcyBmdXJuaXNoZWQgdG8gZG8gc28s IHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorICoKKyAqIFRoZSBhYm92ZSBj b3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsIGJlIGluY2x1 ZGVkIGluCisgKiBhbGwgY29waWVzIG9yIHN1YnN0YW50aWFsIHBvcnRpb25zIG9mIHRoZSBTb2Z0 d2FyZS4KKyAqCisgKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBX QVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgorICogSU1QTElFRCwgSU5DTFVESU5HIEJV VCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksCisgKiBG SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiBJTiBO TyBFVkVOVCBTSEFMTCBUSEUKKyAqIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElB QkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKKyAqIExJQUJJTElUWSwgV0hFVEhF UiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HCisg KiBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUg VVNFIE9SIE9USEVSIERFQUxJTkdTCisgKiBJTiBUSEUgU09GVFdBUkUuCisgKgorICogQXV0aG9y czoKKyAqICAgIE1hYXJ0ZW4gTGFua2hvcnN0IDxtYWFydGVuLmxhbmtob3JzdEBsaW51eC5pbnRl bC5jb20+CisgKi8KKyNpbmNsdWRlICJjb25maWcuaCIKKworI2luY2x1ZGUgImlndC5oIgorI2lu Y2x1ZGUgPGNhaXJvLmg+CisjaW5jbHVkZSA8ZXJybm8uaD4KKyNpbmNsdWRlIDxzdGRpbnQuaD4K KyNpbmNsdWRlIDx1bmlzdGQuaD4KKyNpbmNsdWRlIDxzeXMvdGltZS5oPgorCit0eXBlZGVmIHN0 cnVjdCB7CisJaWd0X2Rpc3BsYXlfdCBkaXNwbGF5OworCisJaWd0X3BpcGVfY3JjX3QgKnBpcGVf Y3JjOworCXN0cnVjdCBpZ3RfZmIgZmJbNF07Cit9IGRhdGFfdDsKKworc3RhdGljIGJvb2wgcGxh bmVfc3VwcG9ydHNfZm9ybWF0KGlndF9wbGFuZV90ICpwbGFuZSwgdWludDMyX3QgZm9ybWF0KQor eworCWludCBpOworCisJaWYgKCFpZ3RfZmJfc3VwcG9ydGVkX2Zvcm1hdChmb3JtYXQpKQorCQly ZXR1cm4gZmFsc2U7CisKKwlmb3IgKGkgPSAwOyBpIDwgcGxhbmUtPmRybV9wbGFuZS0+Y291bnRf Zm9ybWF0czsgaSsrKQorCQlpZiAocGxhbmUtPmRybV9wbGFuZS0+Zm9ybWF0c1tpXSA9PSBmb3Jt YXQpCisJCQlyZXR1cm4gdHJ1ZTsKKworCXJldHVybiBmYWxzZTsKK30KKworc3RhdGljIGJvb2wg cGlwZV9zdXBwb3J0c19mb3JtYXQoaWd0X2Rpc3BsYXlfdCAqZGlzcGxheSwgZW51bSBwaXBlIHBp cGUsIHVpbnQzMl90IGZvcm1hdCkKK3sKKwlpZ3RfcGxhbmVfdCAqcGxhbmU7CisKKwlmb3JfZWFj aF9wbGFuZV9vbl9waXBlKGRpc3BsYXksIHBpcGUsIHBsYW5lKQorCQlpZiAocGxhbmVfc3VwcG9y dHNfZm9ybWF0KHBsYW5lLCBmb3JtYXQpKQorCQkJcmV0dXJuIHRydWU7CisKKwlyZXR1cm4gZmFs c2U7Cit9CisKK3N0YXRpYyB2b2lkIHJlbW92ZV9mYnMoZGF0YV90ICpkYXRhKQoreworCWludCBp OworCisJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUoZGF0YS0+ZmIpOyBpKyspCisJCWlndF9y ZW1vdmVfZmIoZGF0YS0+ZGlzcGxheS5kcm1fZmQsICZkYXRhLT5mYltpXSk7Cit9CisKK3N0YXRp YyB2b2lkIHByZXBhcmVfY3J0YyhkYXRhX3QgKmRhdGEsIGVudW0gcGlwZSBwaXBlLCBpZ3Rfb3V0 cHV0X3QgKm91dHB1dCkKK3sKKwlpZ3RfZGlzcGxheV90ICpkaXNwbGF5ID0gJmRhdGEtPmRpc3Bs YXk7CisKKwlyZW1vdmVfZmJzKGRhdGEpOworCWlndF9kaXNwbGF5X3Jlc2V0KGRpc3BsYXkpOwor CWlndF9vdXRwdXRfc2V0X3BpcGUob3V0cHV0LCBwaXBlKTsKKwlpZ3RfZGlzcGxheV9jb21taXQy KGRpc3BsYXksIENPTU1JVF9BVE9NSUMpOworCisJaWd0X3BpcGVfY3JjX2ZyZWUoZGF0YS0+cGlw ZV9jcmMpOworCWRhdGEtPnBpcGVfY3JjID0gaWd0X3BpcGVfY3JjX25ldyhkaXNwbGF5LT5kcm1f ZmQsIHBpcGUsIElOVEVMX1BJUEVfQ1JDX1NPVVJDRV9BVVRPKTsKK30KKworc3RhdGljIHZvaWQg c2V0X2ZiKGlndF9wbGFuZV90ICpwbGFuZSwgc3RydWN0IGlndF9mYiAqZmIsIGJvb2wgc2NhbGVk KQoreworCWlndF9wbGFuZV9zZXRfZmIocGxhbmUsIGZiKTsKKworCWlmIChzY2FsZWQgJiYgZmIp CisJCWlndF9mYl9zZXRfc2l6ZShmYiwgcGxhbmUsIGZiLT53aWR0aCwgMTYpOworCisJaWYgKGZi ICYmIGZiLT50aWxpbmcgPT0gTE9DQUxfSTkxNV9GT1JNQVRfTU9EX1lfVElMRUQpIHsKKwkJaWd0 X3BsYW5lX3NldF9yb3RhdGlvbihwbGFuZSwgSUdUX1JPVEFUSU9OXzkwKTsKKwkJaWd0X3BsYW5l X3NldF9zaXplKHBsYW5lLCBmYi0+aGVpZ2h0LCBmYi0+d2lkdGgpOworCX0gZWxzZQorCQlpZ3Rf cGxhbmVfc2V0X3JvdGF0aW9uKHBsYW5lLCBJR1RfUk9UQVRJT05fMCk7Cit9CisKK3N0YXRpYyB2 b2lkIG52MTJfcmdiX3N3aXRjaChkYXRhX3QgKmRhdGEsIGVudW0gcGlwZSBwaXBlLCBpZ3Rfb3V0 cHV0X3QgKm91dHB1dCwgYm9vbCBzY2FsZWQsIHVuc2lnbmVkIGZvcm1hdCkKK3sKKwlkcm1Nb2Rl TW9kZUluZm8gKm1vZGUgPSBpZ3Rfb3V0cHV0X2dldF9tb2RlKG91dHB1dCk7CisJaWd0X2Rpc3Bs YXlfdCAqZGlzcGxheSA9ICZkYXRhLT5kaXNwbGF5OworCWlndF9wbGFuZV90ICpwbGFuZTsKKwlp bnQgaTsKKwlpZ3RfY3JjX3QgcmVmX2NyY1s0XSwgY3JjOworCisJcHJlcGFyZV9jcnRjKGRhdGEs IHBpcGUsIG91dHB1dCk7CisKKwlpZ3RfY3JlYXRlX3BhdHRlcm5fZmIoZGlzcGxheS0+ZHJtX2Zk LCBtb2RlLT5oZGlzcGxheSwgbW9kZS0+dmRpc3BsYXksCisJCQkgICAgICBmb3JtYXQsIExPQ0FM X0k5MTVfRk9STUFUX01PRF9YX1RJTEVELAorCQkJICAgICAgJmRhdGEtPmZiWzBdKTsKKworCWln dF9jcmVhdGVfcGF0dGVybl9mYihkaXNwbGF5LT5kcm1fZmQsIG1vZGUtPnZkaXNwbGF5LCBtb2Rl LT5oZGlzcGxheSwKKwkJCSAgICAgIGZvcm1hdCwgTE9DQUxfSTkxNV9GT1JNQVRfTU9EX1lfVElM RUQsCisJCQkgICAgICAmZGF0YS0+ZmJbMV0pOworCisJaWd0X2NyZWF0ZV9wYXR0ZXJuX2ZiKGRp c3BsYXktPmRybV9mZCwgbW9kZS0+aGRpc3BsYXksIG1vZGUtPnZkaXNwbGF5LAorCQkJICAgICAg RFJNX0ZPUk1BVF9YUkdCODg4OCwgTE9DQUxfSTkxNV9GT1JNQVRfTU9EX1hfVElMRUQsCisJCQkg ICAgICAmZGF0YS0+ZmJbMl0pOworCisJaWd0X2NyZWF0ZV9wYXR0ZXJuX2ZiKGRpc3BsYXktPmRy bV9mZCwgbW9kZS0+dmRpc3BsYXksIG1vZGUtPmhkaXNwbGF5LAorCQkJICAgICAgRFJNX0ZPUk1B VF9YUkdCODg4OCwgTE9DQUxfSTkxNV9GT1JNQVRfTU9EX1lfVElMRUQsCisJCQkgICAgICAmZGF0 YS0+ZmJbM10pOworCisJZm9yX2VhY2hfcGxhbmVfb25fcGlwZShkaXNwbGF5LCBwaXBlLCBwbGFu ZSkgeworCQlpZiAoIXBsYW5lX3N1cHBvcnRzX2Zvcm1hdChwbGFuZSwgRFJNX0ZPUk1BVF9YUkdC ODg4OCkpCisJCQljb250aW51ZTsKKworCQlpZiAocGxhbmUtPnR5cGUgIT0gRFJNX1BMQU5FX1RZ UEVfQ1VSU09SKQorCQkJc2V0X2ZiKHBsYW5lLCAmZGF0YS0+ZmJbM10sIHNjYWxlZCk7CisJfQor CisJZm9yX2VhY2hfcGxhbmVfb25fcGlwZShkaXNwbGF5LCBwaXBlLCBwbGFuZSkgeworCQljb25z dCBpbnQgc2VxW10gPSB7CisJCQkyLCAwLCAyLCAxLCAzLCAxLCAzCisJCX07CisKKwkJaWYgKCFw bGFuZV9zdXBwb3J0c19mb3JtYXQocGxhbmUsIGZvcm1hdCkpCisJCQljb250aW51ZTsKKworCQkv KiBDb2xsZWN0IHJlZmVyZW5jZSBjcmMgd2l0aCB0b2dnbGUgaW4gYmV0d2Vlbi4gKi8KKwkJZm9y IChpID0gMDsgaSA8IEFSUkFZX1NJWkUocmVmX2NyYyk7IGkrKykgeworCQkJc2V0X2ZiKHBsYW5l LCAmZGF0YS0+ZmJbaV0sIHNjYWxlZCk7CisJCQlpZ3RfZGlzcGxheV9jb21taXQyKGRpc3BsYXks IENPTU1JVF9BVE9NSUMpOworCisJCQlpZ3RfcGlwZV9jcmNfY29sbGVjdF9jcmMoZGF0YS0+cGlw ZV9jcmMsICZyZWZfY3JjW2ldKTsKKworCQkJc2V0X2ZiKHBsYW5lLCBOVUxMLCBzY2FsZWQpOwor CQkJaWd0X2Rpc3BsYXlfY29tbWl0MihkaXNwbGF5LCBDT01NSVRfQVRPTUlDKTsKKwkJfQorCisJ CWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKHNlcSk7IGkrKykgeworCQkJaW50IGogPSBzZXFb aV07CisKKwkJCXNldF9mYihwbGFuZSwgJmRhdGEtPmZiW2pdLCBzY2FsZWQpOworCQkJaWd0X2Rp c3BsYXlfY29tbWl0MihkaXNwbGF5LCBDT01NSVRfQVRPTUlDKTsKKworCQkJaWd0X3BpcGVfY3Jj X2NvbGxlY3RfY3JjKGRhdGEtPnBpcGVfY3JjLCAmY3JjKTsKKwkJCWlndF9hc3NlcnRfY3JjX2Vx dWFsKCZyZWZfY3JjW2pdLCAmY3JjKTsKKwkJfQorCX0KK30KKworI2RlZmluZSBhc3NlcnRfY29s bGVjdGVkX2NyY19lcXVhbChwaXBlX2NyYywgY3JjLCByZWZfY3JjKSBcCisJZG8geyBcCisJCWln dF9waXBlX2NyY19kcmFpbihwaXBlX2NyYyk7CQlcCisJCWlndF9waXBlX2NyY19nZXRfc2luZ2xl KHBpcGVfY3JjLCBjcmMpOwlcCisJCWlndF9hc3NlcnRfY3JjX2VxdWFsKHJlZl9jcmMsIGNyYyk7 CVwKKwl9IHdoaWxlICgwKQorCitzdGF0aWMgdm9pZCBzZXRfc3JjX2Nvb3JkcyhpZ3RfcGxhbmVf dCAqcGxhbmUsIHN0cnVjdCBpZ3RfZmIgKmZiLAorCQkJICAgaWd0X3JvdGF0aW9uX3Qgcm90LCBp bnQgdmlzLCBpbnQgaGlkZGVuKQoreworCXN3aXRjaCAocm90KSB7CisJY2FzZSBJR1RfUk9UQVRJ T05fMDoKKwkJaWd0X2ZiX3NldF9wb3NpdGlvbihmYiwgcGxhbmUsIGZiLT53aWR0aCAvIDIgLSB2 aXMsIGZiLT5oZWlnaHQgLyAyIC0gdmlzKTsKKwkJYnJlYWs7CisJY2FzZSBJR1RfUk9UQVRJT05f OTA6CisJCWlndF9mYl9zZXRfcG9zaXRpb24oZmIsIHBsYW5lLCBmYi0+d2lkdGggLyAyIC0gaGlk ZGVuLCBmYi0+aGVpZ2h0IC8gMiAtIHZpcyk7CisJCWJyZWFrOworCWNhc2UgSUdUX1JPVEFUSU9O XzE4MDoKKwkJaWd0X2ZiX3NldF9wb3NpdGlvbihmYiwgcGxhbmUsIGZiLT53aWR0aCAvIDIgLSBo aWRkZW4sIGZiLT5oZWlnaHQgLyAyIC0gaGlkZGVuKTsKKwkJYnJlYWs7CisJY2FzZSBJR1RfUk9U QVRJT05fMjcwOgorCQlpZ3RfZmJfc2V0X3Bvc2l0aW9uKGZiLCBwbGFuZSwgZmItPndpZHRoIC8g MiAtIHZpcywgZmItPmhlaWdodCAvIDIgLSBoaWRkZW4pOworCQlicmVhazsKKwlkZWZhdWx0OiBp Z3RfYXNzZXJ0KDApOworCX0KKwlpZ3RfZmJfc2V0X3NpemUoZmIsIHBsYW5lLCB2aXMgKyBoaWRk ZW4sIHZpcyArIGhpZGRlbik7Cit9CisKK3N0YXRpYyB2b2lkIG52MTJfdmFsaWRfd2lkdGhfcGxh bmUoZGF0YV90ICpkYXRhLCBkcm1Nb2RlTW9kZUluZm8gKm1vZGUsCisJCQkJICAgaWd0X3BsYW5l X3QgKnBsYW5lLCBzdHJ1Y3QgaWd0X2ZiICpmYiwKKwkJCQkgICBpZ3Rfcm90YXRpb25fdCByb3Qs IGlndF9jcmNfdCAqcmVmX2NyYykKK3sKKwlpZ3RfZGlzcGxheV90ICpkaXNwbGF5ID0gJmRhdGEt PmRpc3BsYXk7CisJaWd0X2NyY190IGNyYzsKKwlzdHJ1Y3QgaWd0X2ZiICpjbGlwX2ZiID0gJmRh dGEtPmZiWzJdOworCWludCBpOworCisJaWd0X3BsYW5lX3NldF9mYihwbGFuZSwgZmIpOworCWln dF9wbGFuZV9zZXRfcm90YXRpb24ocGxhbmUsIHJvdCk7CisJaWYgKHJvdCAmIChJR1RfUk9UQVRJ T05fOTAgfCBJR1RfUk9UQVRJT05fMjcwKSkKKwkJaWd0X3BsYW5lX3NldF9zaXplKHBsYW5lLCBm Yi0+aGVpZ2h0LCBmYi0+d2lkdGgpOworCWlndF9kaXNwbGF5X2NvbW1pdDIoZGlzcGxheSwgQ09N TUlUX0FUT01JQyk7CisKKwkvKiBKdXN0IGNsaXBwaW5nLi4gKi8KKwlpZ3RfcGxhbmVfc2V0X2Zi KHBsYW5lLCBjbGlwX2ZiKTsKKwlpZiAocm90ICYgKElHVF9ST1RBVElPTl85MCB8IElHVF9ST1RB VElPTl8yNzApKQorCQlpZ3RfcGxhbmVfc2V0X3NpemUocGxhbmUsIGNsaXBfZmItPmhlaWdodCwg Y2xpcF9mYi0+d2lkdGgpOworCWlndF9wbGFuZV9zZXRfcG9zaXRpb24ocGxhbmUsIG1vZGUtPmhk aXNwbGF5IC0gY2xpcF9mYi0+d2lkdGggLyAyLCBtb2RlLT52ZGlzcGxheSAtIGNsaXBfZmItPmhl aWdodCAvIDIpOworCWlndF9kaXNwbGF5X2NvbW1pdDIoZGlzcGxheSwgQ09NTUlUX0FUT01JQyk7 CisJYXNzZXJ0X2NvbGxlY3RlZF9jcmNfZXF1YWwoZGF0YS0+cGlwZV9jcmMsICZjcmMsIHJlZl9j cmMpOworCisJLyogQ2xpcHBpbmcgYW5kIHNjYWxpbmcuICovCisJaWd0X2ZiX3NldF9wb3NpdGlv bihjbGlwX2ZiLCBwbGFuZSwgY2xpcF9mYi0+d2lkdGggLyAyIC0gMTYsIGNsaXBfZmItPmhlaWdo dCAvIDIgLSAxNik7CisJaWd0X2ZiX3NldF9zaXplKGNsaXBfZmIsIHBsYW5lLCAzMiwgMzIpOwor CWlndF9kaXNwbGF5X2NvbW1pdDIoZGlzcGxheSwgQ09NTUlUX0FUT01JQyk7CisJYXNzZXJ0X2Nv bGxlY3RlZF9jcmNfZXF1YWwoZGF0YS0+cGlwZV9jcmMsICZjcmMsIHJlZl9jcmMpOworCisJLyog SW52YWxpZCA8IDE2IHNyYyB2aXNpYmxlLiAqLworCXNldF9zcmNfY29vcmRzKHBsYW5lLCBjbGlw X2ZiLCByb3QsIDgsIDgpOworCWlndF9hc3NlcnRfZXEoaWd0X2Rpc3BsYXlfdHJ5X2NvbW1pdDIo ZGlzcGxheSwgQ09NTUlUX0FUT01JQyksIC1FSU5WQUwpOworCisJLyogRG8gd2Ugcm91bmQgZG93 biBpZiBpdCdzIGNsb3Nlcj8gKi8KKwlzZXRfc3JjX2Nvb3JkcyhwbGFuZSwgY2xpcF9mYiwgcm90 LCAxNiwgMTYpOworCWlmIChyb3QgJiAoSUdUX1JPVEFUSU9OXzkwIHwgSUdUX1JPVEFUSU9OXzI3 MCkpCisJCWlndF9wbGFuZV9zZXRfc2l6ZShwbGFuZSwgY2xpcF9mYi0+aGVpZ2h0IC8gMzIgKiAz NCAtIDEsCisJCQkJICAgY2xpcF9mYi0+d2lkdGggLyAzMiAqIDM0IC0gMSk7CisJZWxzZQorCQlp Z3RfcGxhbmVfc2V0X3NpemUocGxhbmUsIChjbGlwX2ZiLT53aWR0aCAvIDMyKSAqIDM0IC0gMSwK KwkJCQkgICBjbGlwX2ZiLT5oZWlnaHQgLyAzMiAqIDM0IC0gMSk7CisKKwlpZ3RfZGlzcGxheV9j b21taXQyKGRpc3BsYXksIENPTU1JVF9BVE9NSUMpOworCWFzc2VydF9jb2xsZWN0ZWRfY3JjX2Vx dWFsKGRhdGEtPnBpcGVfY3JjLCAmY3JjLCByZWZfY3JjKTsKKworCS8qIEFuZCByb3VuZCB1cCBp ZiBpdCdzIGNsb3Nlcj8gKi8KKwlpZiAocm90ICYgKElHVF9ST1RBVElPTl85MCB8IElHVF9ST1RB VElPTl8yNzApKQorCQlpZ3RfcGxhbmVfc2V0X3NpemUocGxhbmUsIGNsaXBfZmItPmhlaWdodCAv IDMyICogMzAgKyAxLAorCQkJCSAgIGNsaXBfZmItPndpZHRoIC8gMzIgKiAzNCAtIDEpOworCWVs c2UKKwkJaWd0X3BsYW5lX3NldF9zaXplKHBsYW5lLCAoY2xpcF9mYi0+d2lkdGggLyAzMikgKiAz MCArIDEsCisJCQkJICAgY2xpcF9mYi0+aGVpZ2h0IC8gMzIgKiAzNCAtIDEpOworCisJaWd0X2Rp c3BsYXlfY29tbWl0MihkaXNwbGF5LCBDT01NSVRfQVRPTUlDKTsKKwlhc3NlcnRfY29sbGVjdGVk X2NyY19lcXVhbChkYXRhLT5waXBlX2NyYywgJmNyYywgcmVmX2NyYyk7CisKKwkvKgorCSAqIEFz IGEgZmluYWwgdGVzdCwgdHJ5IHdpdGggMTYgc3JjIHZpc2libGUsIGFuZCB2YXJpb3VzIGludmlz aWJsZQorCSAqIGNvbXBvbmVudHMgdG8gY2hlY2sgY2xpcHBpbmcgZG9lc24ndCBkcm9wIHRoZSB2 aXNpYmxlIHNyYyBiZWxvdyAxNi4KKwkgKi8KKwlmb3IgKGkgPSAwOyBpIDwgMTY7IGkgKz0gNCkg eworCQlzZXRfc3JjX2Nvb3JkcyhwbGFuZSwgY2xpcF9mYiwgcm90LCAxNiwgaSk7CisJCWlmIChy b3QgJiAoSUdUX1JPVEFUSU9OXzkwIHwgSUdUX1JPVEFUSU9OXzI3MCkpCisJCQlpZ3RfcGxhbmVf c2V0X3NpemUocGxhbmUsIChjbGlwX2ZiLT5oZWlnaHQgLyAzMikgKiAoMTYgKyBpKSwKKwkJCQkJ ICAgKGNsaXBfZmItPndpZHRoIC8gMzIpICogKDE2ICsgaSkpOworCQllbHNlCisJCQlpZ3RfcGxh bmVfc2V0X3NpemUocGxhbmUsIChjbGlwX2ZiLT53aWR0aCAvIDMyKSAqICgxNiArIGkpLAorCQkJ CQkgICAoY2xpcF9mYi0+aGVpZ2h0IC8gMzIpICogKDE2ICsgaSkpOworCQlpZ3RfZGlzcGxheV9j b21taXQyKGRpc3BsYXksIENPTU1JVF9BVE9NSUMpOworCQlhc3NlcnRfY29sbGVjdGVkX2NyY19l cXVhbChkYXRhLT5waXBlX2NyYywgJmNyYywgcmVmX2NyYyk7CisJfQorfQorCitzdGF0aWMgdm9p ZCBudjEyX3ZhbGlkX3dpZHRoKGRhdGFfdCAqZGF0YSwgZW51bSBwaXBlIHBpcGUsIGlndF9vdXRw dXRfdCAqb3V0cHV0LCB1bnNpZ25lZCBmb3JtYXQpCit7CisJZHJtTW9kZU1vZGVJbmZvICptb2Rl ID0gaWd0X291dHB1dF9nZXRfbW9kZShvdXRwdXQpOworCWlndF9kaXNwbGF5X3QgKmRpc3BsYXkg PSAmZGF0YS0+ZGlzcGxheTsKKwlpZ3RfcGxhbmVfdCAqcGxhbmU7CisJc3RydWN0IGlndF9mYiAq Y2xpcF9mYiA9ICZkYXRhLT5mYlsyXTsKKwlzdHJ1Y3QgaWd0X2ZiICpyZWZfZmIgPSAmZGF0YS0+ ZmJbM107CisKKwlwcmVwYXJlX2NydGMoZGF0YSwgcGlwZSwgb3V0cHV0KTsKKworCWlndF9jcmVh dGVfcGF0dGVybl9mYihkaXNwbGF5LT5kcm1fZmQsIG1vZGUtPmhkaXNwbGF5LCBtb2RlLT52ZGlz cGxheSwKKwkJCSAgICAgIGZvcm1hdCwgTE9DQUxfSTkxNV9GT1JNQVRfTU9EX1hfVElMRUQsCisJ CQkgICAgICAmZGF0YS0+ZmJbMF0pOworCisJaWd0X2NyZWF0ZV9wYXR0ZXJuX2ZiKGRpc3BsYXkt PmRybV9mZCwgbW9kZS0+dmRpc3BsYXksIG1vZGUtPmhkaXNwbGF5LAorCQkJICAgICAgZm9ybWF0 LCBMT0NBTF9JOTE1X0ZPUk1BVF9NT0RfWV9USUxFRCwKKwkJCSAgICAgICZkYXRhLT5mYlsxXSk7 CisKKwlpZ3RfY3JlYXRlX2ZiKGRpc3BsYXktPmRybV9mZCwgNjQsIDY0LCBmb3JtYXQsCisJCSAg ICAgIExPQ0FMX0k5MTVfRk9STUFUX01PRF9ZX1RJTEVELCByZWZfZmIpOworCisJaWd0X2NyZWF0 ZV9mYihkaXNwbGF5LT5kcm1fZmQsIDIgKiByZWZfZmItPndpZHRoLAorCQkgICAgICAyICogcmVm X2ZiLT5oZWlnaHQsIGZvcm1hdCwKKwkJICAgICAgTE9DQUxfSTkxNV9GT1JNQVRfTU9EX1lfVElM RUQsIGNsaXBfZmIpOworCisJaWd0X3BpcGVfY3JjX3N0YXJ0KGRhdGEtPnBpcGVfY3JjKTsKKwor CWZvcl9lYWNoX3BsYW5lX29uX3BpcGUoZGlzcGxheSwgcGlwZSwgcGxhbmUpIHsKKwkJaWd0X2Ny Y190IHJlZl9jcmNbNF07CisJCWNhaXJvX3QgKmNyOworCQlzdGF0aWMgY29uc3QgZG91YmxlIGNv bG9yc1s0XVszXSA9IHsKKwkJCXsgMS4sIDAuLCAwLiB9LAorCQkJeyAwLiwgMS4sIDAuIH0sCisJ CQl7IDAuLCAwLiwgMS4gfSwKKwkJCXsgMS4sIDEuLCAxLiB9CisJCX07CisJCWludCBpOworCisJ CWlmICghcGxhbmVfc3VwcG9ydHNfZm9ybWF0KHBsYW5lLCBmb3JtYXQpKQorCQkJY29udGludWU7 CisKKwkJLyogRHJhdyB0aGUgRkIgdGhhdCB3aWxsIGJlIHVzZWQgZm9yIGNsaXBwaW5nIHRlc3Rz LiAqLworCQljciA9IGlndF9nZXRfY2Fpcm9fY3R4KGRpc3BsYXktPmRybV9mZCwgY2xpcF9mYik7 CisJCWlndF9wYWludF9jb2xvcihjciwgMCwgMCwgY2xpcF9mYi0+d2lkdGggLyAyLCBjbGlwX2Zi LT5oZWlnaHQgLyAyLAorCQkJCWNvbG9yc1swXVswXSwgY29sb3JzWzBdWzFdLCBjb2xvcnNbMF1b Ml0pOworCisJCWlndF9wYWludF9jb2xvcihjciwgY2xpcF9mYi0+d2lkdGggLyAyLCAwLAorCQkJ CWNsaXBfZmItPndpZHRoIC8gMiwgY2xpcF9mYi0+aGVpZ2h0IC8gMiwKKwkJCQljb2xvcnNbMV1b MF0sIGNvbG9yc1sxXVsxXSwgY29sb3JzWzFdWzJdKTsKKworCQlpZ3RfcGFpbnRfY29sb3IoY3Is IGNsaXBfZmItPndpZHRoIC8gMiwgY2xpcF9mYi0+aGVpZ2h0IC8gMiwKKwkJCQljbGlwX2ZiLT53 aWR0aCAvIDIsIGNsaXBfZmItPmhlaWdodCAvIDIsCisJCQkJY29sb3JzWzJdWzBdLCBjb2xvcnNb Ml1bMV0sIGNvbG9yc1syXVsyXSk7CisKKwkJaWd0X3BhaW50X2NvbG9yKGNyLCAwLCBjbGlwX2Zi LT5oZWlnaHQgLyAyLAorCQkJCWNsaXBfZmItPndpZHRoIC8gMiwgY2xpcF9mYi0+aGVpZ2h0IC8g MiwKKwkJCQljb2xvcnNbM11bMF0sIGNvbG9yc1szXVsxXSwgY29sb3JzWzNdWzJdKTsKKworCQlp Z3RfcHV0X2NhaXJvX2N0eChkaXNwbGF5LT5kcm1fZmQsIGNsaXBfZmIsIGNyKTsKKworCQkvKiBE cmF3IGFsbCByZWZlcmVuY2UgRkIncyB0byBjb2xsZWN0IHRoZSBDUkMuICovCisJCWZvciAoaSA9 IDA7IGkgPCA0OyBpKyspIHsKKwkJCWNyID0gaWd0X2dldF9jYWlyb19jdHgoZGlzcGxheS0+ZHJt X2ZkLCByZWZfZmIpOworCQkJaWd0X3BhaW50X2NvbG9yKGNyLCAwLCAwLCByZWZfZmItPndpZHRo LCByZWZfZmItPmhlaWdodCwKKwkJCQkJY29sb3JzW2ldWzBdLCBjb2xvcnNbaV1bMV0sIGNvbG9y c1tpXVsyXSk7CisJCQlpZ3RfcHV0X2NhaXJvX2N0eChkaXNwbGF5LT5kcm1fZmQsICZkYXRhLT5m YlszXSwgY3IpOworCisJCQlpZiAoIWkpIHsKKwkJCQlpZ3RfcGxhbmVfc2V0X2ZiKHBsYW5lLCBy ZWZfZmIpOworCQkJCWlndF9wbGFuZV9zZXRfcG9zaXRpb24ocGxhbmUsIG1vZGUtPmhkaXNwbGF5 IC0gcmVmX2ZiLT53aWR0aCwgbW9kZS0+dmRpc3BsYXkgLSByZWZfZmItPmhlaWdodCk7CisJCQkJ aWd0X2Rpc3BsYXlfY29tbWl0MihkaXNwbGF5LCBDT01NSVRfQVRPTUlDKTsKKwkJCX0gZWxzZSB7 CisJCQkJaWd0X2RpcnR5X2ZiKGRpc3BsYXktPmRybV9mZCwgcmVmX2ZiKTsKKwkJCQlpZ3Rfd2Fp dF9mb3JfdmJsYW5rKGRpc3BsYXktPmRybV9mZCwgcGlwZSk7CisJCQl9CisKKwkJCWlndF9waXBl X2NyY19kcmFpbihkYXRhLT5waXBlX2NyYyk7CisJCQlpZ3RfcGlwZV9jcmNfZ2V0X3NpbmdsZShk YXRhLT5waXBlX2NyYywgJnJlZl9jcmNbaV0pOworCQl9CisKKwkJaWd0X3BsYW5lX3NldF9mYihw bGFuZSwgTlVMTCk7CisJCWlndF9wbGFuZV9zZXRfcG9zaXRpb24ocGxhbmUsIDAsIDApOworCisJ CW52MTJfdmFsaWRfd2lkdGhfcGxhbmUoZGF0YSwgbW9kZSwgcGxhbmUsICZkYXRhLT5mYlswXSwg SUdUX1JPVEFUSU9OXzAsICZyZWZfY3JjWzBdKTsKKwkJbnYxMl92YWxpZF93aWR0aF9wbGFuZShk YXRhLCBtb2RlLCBwbGFuZSwgJmRhdGEtPmZiWzFdLCBJR1RfUk9UQVRJT05fOTAsICZyZWZfY3Jj WzFdKTsKKwkJbnYxMl92YWxpZF93aWR0aF9wbGFuZShkYXRhLCBtb2RlLCBwbGFuZSwgJmRhdGEt PmZiWzBdLCBJR1RfUk9UQVRJT05fMTgwLCAmcmVmX2NyY1syXSk7CisJCW52MTJfdmFsaWRfd2lk dGhfcGxhbmUoZGF0YSwgbW9kZSwgcGxhbmUsICZkYXRhLT5mYlsxXSwgSUdUX1JPVEFUSU9OXzI3 MCwgJnJlZl9jcmNbM10pOworCisJCWlndF9wbGFuZV9zZXRfZmIocGxhbmUsIE5VTEwpOworCX0K K30KKworc3RhdGljIHZvaWQgcnVuX3Rlc3RzX2Zvcl9waXBlKGRhdGFfdCAqZGF0YSwgZW51bSBw aXBlIHBpcGUpCit7CisJaWd0X291dHB1dF90ICpvdXRwdXQ7CisJaWd0X2Rpc3BsYXlfdCAqZGlz cGxheSA9ICZkYXRhLT5kaXNwbGF5OworCisJaWd0X2ZpeHR1cmUgeworCQlpZ3RfZGlzcGxheV9y ZXF1aXJlX291dHB1dF9vbl9waXBlKGRpc3BsYXksIHBpcGUpOworCQlpZ3RfcmVxdWlyZShwaXBl X3N1cHBvcnRzX2Zvcm1hdChkaXNwbGF5LCBwaXBlLCBEUk1fRk9STUFUX05WMTIpKTsKKwl9CisK KwlpZ3Rfc3VidGVzdF9mKCJwaXBlLSVzLW52MTItcmdiLXN3aXRjaCIsIGttc3Rlc3RfcGlwZV9u YW1lKHBpcGUpKQorCQlmb3JfZWFjaF92YWxpZF9vdXRwdXRfb25fcGlwZShkaXNwbGF5LCBwaXBl LCBvdXRwdXQpCisJCQludjEyX3JnYl9zd2l0Y2goZGF0YSwgcGlwZSwgb3V0cHV0LCBmYWxzZSwg RFJNX0ZPUk1BVF9OVjEyKTsKKworCWlndF9zdWJ0ZXN0X2YoInBpcGUtJXMtbnYxMi1yZ2Itc2Nh bGVkLXN3aXRjaCIsIGttc3Rlc3RfcGlwZV9uYW1lKHBpcGUpKQorCQlmb3JfZWFjaF92YWxpZF9v dXRwdXRfb25fcGlwZShkaXNwbGF5LCBwaXBlLCBvdXRwdXQpCisJCQludjEyX3JnYl9zd2l0Y2go ZGF0YSwgcGlwZSwgb3V0cHV0LCB0cnVlLCBEUk1fRk9STUFUX05WMTIpOworCisJaWd0X3N1YnRl c3RfZigicGlwZS0lcy12YWxpZC13aWR0aCIsIGttc3Rlc3RfcGlwZV9uYW1lKHBpcGUpKQorCQlm b3JfZWFjaF92YWxpZF9vdXRwdXRfb25fcGlwZShkaXNwbGF5LCBwaXBlLCBvdXRwdXQpCisJCQlu djEyX3ZhbGlkX3dpZHRoKGRhdGEsIHBpcGUsIG91dHB1dCwgRFJNX0ZPUk1BVF9OVjEyKTsKK30K KworaWd0X21haW4KK3sKKwlkYXRhX3QgZGF0YSA9IHt9OworCWVudW0gcGlwZSBwaXBlOworCisJ aWd0X3NraXBfb25fc2ltdWxhdGlvbigpOworCisJaWd0X2ZpeHR1cmUgeworCQlkYXRhLmRpc3Bs YXkuZHJtX2ZkID0gZHJtX29wZW5fZHJpdmVyX21hc3RlcihEUklWRVJfQU5ZKTsKKworCQlrbXN0 ZXN0X3NldF92dF9ncmFwaGljc19tb2RlKCk7CisJCWlndF9kaXNwbGF5X2luaXQoJmRhdGEuZGlz cGxheSwgZGF0YS5kaXNwbGF5LmRybV9mZCk7CisJCWlndF9yZXF1aXJlKGRhdGEuZGlzcGxheS5p c19hdG9taWMpOworCQlpZ3RfcmVxdWlyZV9waXBlX2NyYyhkYXRhLmRpc3BsYXkuZHJtX2ZkKTsK Kwl9CisKKwlmb3JfZWFjaF9waXBlX3N0YXRpYyhwaXBlKQorCQlpZ3Rfc3VidGVzdF9ncm91cAor CQkJcnVuX3Rlc3RzX2Zvcl9waXBlKCZkYXRhLCBwaXBlKTsKKworCWlndF9maXh0dXJlIHsKKwkJ aWd0X2Rpc3BsYXlfZmluaSgmZGF0YS5kaXNwbGF5KTsKKwkJY2xvc2UoZGF0YS5kaXNwbGF5LmRy bV9mZCk7CisJfQorfQpkaWZmIC0tZ2l0IGEvdGVzdHMva21zX3BsYW5lX3NjYWxpbmcuYyBiL3Rl c3RzL2ttc19wbGFuZV9zY2FsaW5nLmMKaW5kZXggYTg0NTQyMDVkYmQ4Li41NjI5OWJmNmJiOTYg MTAwNjQ0Ci0tLSBhL3Rlc3RzL2ttc19wbGFuZV9zY2FsaW5nLmMKKysrIGIvdGVzdHMva21zX3Bs YW5lX3NjYWxpbmcuYwpAQCAtNTQ2LDIzICs1NDYsMjAgQEAgaWd0X21haW4KIAkJCWlndF9kaXNw bGF5X3JlcXVpcmVfb3V0cHV0X29uX3BpcGUoJmRhdGEuZGlzcGxheSwgcGlwZSk7CiAKIAkJCWln dF9yZXF1aXJlKGdldF9udW1fc2NhbGVycyhkYXRhLmRldmlkLCBwaXBlKSA+IDApOworCQkJb3V0 cHV0ID0gaWd0X2dldF9zaW5nbGVfb3V0cHV0X2Zvcl9waXBlKCZkYXRhLmRpc3BsYXksIHBpcGUp OwogCQl9CiAKIAkJaWd0X3N1YnRlc3RfZigicGlwZS0lcy1wbGFuZS1zY2FsaW5nIiwga21zdGVz dF9waXBlX25hbWUocGlwZSkpCi0JCQlmb3JfZWFjaF92YWxpZF9vdXRwdXRfb25fcGlwZSgmZGF0 YS5kaXNwbGF5LCBwaXBlLCBvdXRwdXQpCi0JCQkJdGVzdF9wbGFuZV9zY2FsaW5nX29uX3BpcGUo JmRhdGEsIHBpcGUsIG91dHB1dCk7CisJCQl0ZXN0X3BsYW5lX3NjYWxpbmdfb25fcGlwZSgmZGF0 YSwgcGlwZSwgb3V0cHV0KTsKIAogCQlpZ3Rfc3VidGVzdF9mKCJwaXBlLSVzLXNjYWxlci13aXRo LXBpeGVsLWZvcm1hdCIsIGttc3Rlc3RfcGlwZV9uYW1lKHBpcGUpKQotCQkJZm9yX2VhY2hfdmFs aWRfb3V0cHV0X29uX3BpcGUoJmRhdGEuZGlzcGxheSwgcGlwZSwgb3V0cHV0KQotCQkJCXRlc3Rf c2NhbGVyX3dpdGhfcGl4ZWxfZm9ybWF0X3BpcGUoJmRhdGEsIHBpcGUsIG91dHB1dCk7CisJCQl0 ZXN0X3NjYWxlcl93aXRoX3BpeGVsX2Zvcm1hdF9waXBlKCZkYXRhLCBwaXBlLCBvdXRwdXQpOwog CiAJCWlndF9zdWJ0ZXN0X2YoInBpcGUtJXMtc2NhbGVyLXdpdGgtcm90YXRpb24iLCBrbXN0ZXN0 X3BpcGVfbmFtZShwaXBlKSkKLQkJCWZvcl9lYWNoX3ZhbGlkX291dHB1dF9vbl9waXBlKCZkYXRh LmRpc3BsYXksIHBpcGUsIG91dHB1dCkKLQkJCQl0ZXN0X3NjYWxlcl93aXRoX3JvdGF0aW9uX3Bp cGUoJmRhdGEsIHBpcGUsIG91dHB1dCk7CisJCQl0ZXN0X3NjYWxlcl93aXRoX3JvdGF0aW9uX3Bp cGUoJmRhdGEsIHBpcGUsIG91dHB1dCk7CiAKIAkJaWd0X3N1YnRlc3RfZigicGlwZS0lcy1zY2Fs ZXItd2l0aC1jbGlwcGluZy1jbGFtcGluZyIsIGttc3Rlc3RfcGlwZV9uYW1lKHBpcGUpKQotCQkJ Zm9yX2VhY2hfdmFsaWRfb3V0cHV0X29uX3BpcGUoJmRhdGEuZGlzcGxheSwgcGlwZSwgb3V0cHV0 KQotCQkJCXRlc3Rfc2NhbGVyX3dpdGhfY2xpcHBpbmdfY2xhbXBpbmdfc2NlbmFyaW8oJmRhdGEs IHBpcGUsIG91dHB1dCk7CisJCQl0ZXN0X3NjYWxlcl93aXRoX2NsaXBwaW5nX2NsYW1waW5nX3Nj ZW5hcmlvKCZkYXRhLCBwaXBlLCBvdXRwdXQpOwogCX0KIAogCWlndF9zdWJ0ZXN0X2YoIjJ4LXNj YWxlci1tdWx0aS1waXBlIikKZGlmZiAtLWdpdCBhL3Rlc3RzL21lc29uLmJ1aWxkIGIvdGVzdHMv bWVzb24uYnVpbGQKaW5kZXggNDcyMGRmZTIxYTY2Li42NTZjYzEyZWJiMTAgMTAwNjQ0Ci0tLSBh L3Rlc3RzL21lc29uLmJ1aWxkCisrKyBiL3Rlc3RzL21lc29uLmJ1aWxkCkBAIC0xNzEsNiArMTcx LDcgQEAgdGVzdF9wcm9ncyA9IFsKIAkna21zX2xlZ2FjeV9jb2xvcmtleScsCiAJJ2ttc19tbWFw X3dyaXRlX2NyYycsCiAJJ2ttc19tbWlvX3ZzX2NzX2ZsaXAnLAorCSdrbXNfbnYxMicsCiAJJ2tt c19wYW5lbF9maXR0aW5nJywKIAkna21zX3BpcGVfYl9jX2l2YicsCiAJJ2ttc19waXBlX2NyY19i YXNpYycsCi0tIAoyLjE3LjAKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fCmlndC1kZXYgbWFpbGluZyBsaXN0CmlndC1kZXZAbGlzdHMuZnJlZWRlc2t0b3Au b3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaWd0LWRl dgo=