From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by gabe.freedesktop.org (Postfix) with ESMTPS id 51C316EA28 for ; Wed, 20 Nov 2019 21:22:17 +0000 (UTC) From: Lionel Landwerlin Date: Wed, 20 Nov 2019 23:21:38 +0200 Message-Id: <20191120212143.364333-6-lionel.g.landwerlin@intel.com> In-Reply-To: <20191120212143.364333-1-lionel.g.landwerlin@intel.com> References: <20191120212143.364333-1-lionel.g.landwerlin@intel.com> MIME-Version: 1.0 Subject: [igt-dev] [PATCH i-g-t 05/10] tests/i915/exec_fence: switch to internal headers 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: igt-dev@lists.freedesktop.org List-ID: RHJvcCBsb2NhbCBkZWZpbmVzIGV0Yy4uCgpTaWduZWQtb2ZmLWJ5OiBMaW9uZWwgTGFuZHdlcmxp biA8bGlvbmVsLmcubGFuZHdlcmxpbkBpbnRlbC5jb20+Ci0tLQogdGVzdHMvaTkxNS9nZW1fZXhl Y19mZW5jZS5jIHwgMTIyICsrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLQogMSBm aWxlIGNoYW5nZWQsIDU1IGluc2VydGlvbnMoKyksIDY3IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdp dCBhL3Rlc3RzL2k5MTUvZ2VtX2V4ZWNfZmVuY2UuYyBiL3Rlc3RzL2k5MTUvZ2VtX2V4ZWNfZmVu Y2UuYwppbmRleCBmYmIxMWFiMi4uYjhmYTFhMDMgMTAwNjQ0Ci0tLSBhL3Rlc3RzL2k5MTUvZ2Vt X2V4ZWNfZmVuY2UuYworKysgYi90ZXN0cy9pOTE1L2dlbV9leGVjX2ZlbmNlLmMKQEAgLTMzLDE4 ICszMyw2IEBACiAKIElHVF9URVNUX0RFU0NSSVBUSU9OKCJDaGVjayB0aGF0IGV4ZWNidWYgd2Fp dHMgZm9yIGV4cGxpY2l0IGZlbmNlcyIpOwogCi0jZGVmaW5lIExPQ0FMX0VYRUNfRkVOQ0VfSU4g KDEgPDwgMTYpCi0jZGVmaW5lIExPQ0FMX0VYRUNfRkVOQ0VfT1VUICgxIDw8IDE3KQotI2RlZmlu ZSBMT0NBTF9FWEVDX0ZFTkNFX1NVQk1JVCAoMSA8PCAyMCkKLQotI2RlZmluZSBMT0NBTF9FWEVD X0ZFTkNFX0FSUkFZICgxIDw8IDE5KQotc3RydWN0IGxvY2FsX2dlbV9leGVjX2ZlbmNlIHsKLQl1 aW50MzJfdCBoYW5kbGU7Ci0JdWludDMyX3QgZmxhZ3M7Ci0jZGVmaW5lIExPQ0FMX0VYRUNfRkVO Q0VfV0FJVCAoMSA8PCAwKQotI2RlZmluZSBMT0NBTF9FWEVDX0ZFTkNFX1NJR05BTCAoMSA8PCAx KQotfTsKLQogI2lmbmRlZiBTWU5DX0lPQ19NRVJHRQogc3RydWN0IHN5bmNfbWVyZ2VfZGF0YSB7 CiAJY2hhciAgICBuYW1lWzMyXTsKQEAgLTcxLDcgKzU5LDcgQEAgc3RhdGljIHZvaWQgc3RvcmUo aW50IGZkLCB1bnNpZ25lZCByaW5nLCBpbnQgZmVuY2UsIHVpbnQzMl90IHRhcmdldCwgdW5zaWdu ZWQgb2YKIAltZW1zZXQoJmV4ZWNidWYsIDAsIHNpemVvZihleGVjYnVmKSk7CiAJZXhlY2J1Zi5i dWZmZXJzX3B0ciA9IHRvX3VzZXJfcG9pbnRlcihvYmopOwogCWV4ZWNidWYuYnVmZmVyX2NvdW50 ID0gMjsKLQlleGVjYnVmLmZsYWdzID0gcmluZyB8IExPQ0FMX0VYRUNfRkVOQ0VfSU47CisJZXhl Y2J1Zi5mbGFncyA9IHJpbmcgfCBJOTE1X0VYRUNfRkVOQ0VfSU47CiAJZXhlY2J1Zi5yc3ZkMiA9 IGZlbmNlOwogCWlmIChnZW4gPCA2KQogCQlleGVjYnVmLmZsYWdzIHw9IEk5MTVfRVhFQ19TRUNV UkU7CkBAIC0xMzcsNyArMTI1LDcgQEAgc3RhdGljIHZvaWQgdGVzdF9mZW5jZV9idXN5KGludCBm ZCwgdW5zaWduZWQgcmluZywgdW5zaWduZWQgZmxhZ3MpCiAJbWVtc2V0KCZleGVjYnVmLCAwLCBz aXplb2YoZXhlY2J1ZikpOwogCWV4ZWNidWYuYnVmZmVyc19wdHIgPSB0b191c2VyX3BvaW50ZXIo Jm9iaik7CiAJZXhlY2J1Zi5idWZmZXJfY291bnQgPSAxOwotCWV4ZWNidWYuZmxhZ3MgPSByaW5n IHwgTE9DQUxfRVhFQ19GRU5DRV9PVVQ7CisJZXhlY2J1Zi5mbGFncyA9IHJpbmcgfCBJOTE1X0VY RUNfRkVOQ0VfT1VUOwogCiAJbWVtc2V0KCZvYmosIDAsIHNpemVvZihvYmopKTsKIAlvYmouaGFu ZGxlID0gZ2VtX2NyZWF0ZShmZCwgNDA5Nik7CkBAIC0yNzAsNyArMjU4LDcgQEAgc3RhdGljIHZv aWQgdGVzdF9mZW5jZV9idXN5X2FsbChpbnQgZmQsIHVuc2lnbmVkIGZsYWdzKQogCiAJCWlmICgo ZmxhZ3MgJiBIQU5HKSA9PSAwKQogCQkJaWd0X3JlcXVpcmUoZ2VtX2VuZ2luZV9oYXNfbXV0YWJs ZV9zdWJtaXNzaW9uKGZkLCBlYl9yaW5nKGUpKSk7Ci0JCWV4ZWNidWYuZmxhZ3MgPSBlYl9yaW5n KGUpIHwgTE9DQUxfRVhFQ19GRU5DRV9PVVQ7CisJCWV4ZWNidWYuZmxhZ3MgPSBlYl9yaW5nKGUp IHwgSTkxNV9FWEVDX0ZFTkNFX09VVDsKIAkJZXhlY2J1Zi5yc3ZkMiA9IC0xOwogCQlnZW1fZXhl Y2J1Zl93cihmZCwgJmV4ZWNidWYpOwogCQlmZW5jZSA9IGV4ZWNidWYucnN2ZDIgPj4gMzI7CkBA IC00MzUsNyArNDIzLDcgQEAgc3RhdGljIHZvaWQgdGVzdF9wYXJhbGxlbChpbnQgZmQsIHVuc2ln bmVkIGludCBtYXN0ZXIpCiAJbWVtc2V0KCZleGVjYnVmLCAwLCBzaXplb2YoZXhlY2J1ZikpOwog CWV4ZWNidWYuYnVmZmVyc19wdHIgPSB0b191c2VyX3BvaW50ZXIob2JqKTsKIAlleGVjYnVmLmJ1 ZmZlcl9jb3VudCA9IDI7Ci0JZXhlY2J1Zi5mbGFncyA9IG1hc3RlciB8IExPQ0FMX0VYRUNfRkVO Q0VfT1VUOworCWV4ZWNidWYuZmxhZ3MgPSBtYXN0ZXIgfCBJOTE1X0VYRUNfRkVOQ0VfT1VUOwog CWlmIChnZW4gPCA2KQogCQlleGVjYnVmLmZsYWdzIHw9IEk5MTVfRVhFQ19TRUNVUkU7CiAKQEAg LTUwOCw3ICs0OTYsNyBAQCBzdGF0aWMgdm9pZCB0ZXN0X3BhcmFsbGVsKGludCBmZCwgdW5zaWdu ZWQgaW50IG1hc3RlcikKIAkJaWYgKGViX3JpbmcoZSkgPT0gbWFzdGVyKQogCQkJY29udGludWU7 CiAKLQkJZXhlY2J1Zi5mbGFncyA9IGViX3JpbmcoZSkgfCBMT0NBTF9FWEVDX0ZFTkNFX1NVQk1J VDsKKwkJZXhlY2J1Zi5mbGFncyA9IGViX3JpbmcoZSkgfCBJOTE1X0VYRUNfRkVOQ0VfU1VCTUlU OwogCQlpZiAoZ2VuIDwgNikKIAkJCWV4ZWNidWYuZmxhZ3MgfD0gSTkxNV9FWEVDX1NFQ1VSRTsK IApAQCAtNjA0LDcgKzU5Miw3IEBAIHN0YXRpYyB2b2lkIHRlc3Rfa2VlcF9pbl9mZW5jZShpbnQg ZmQsIHVuc2lnbmVkIGludCBlbmdpbmUsIHVuc2lnbmVkIGludCBmbGFncykKIAlzdHJ1Y3QgZHJt X2k5MTVfZ2VtX2V4ZWNidWZmZXIyIGV4ZWNidWYgPSB7CiAJCS5idWZmZXJzX3B0ciA9IHRvX3Vz ZXJfcG9pbnRlcigmb2JqKSwKIAkJLmJ1ZmZlcl9jb3VudCA9IDEsCi0JCS5mbGFncyA9IGVuZ2lu ZSB8IExPQ0FMX0VYRUNfRkVOQ0VfT1VULAorCQkuZmxhZ3MgPSBlbmdpbmUgfCBJOTE1X0VYRUNf RkVOQ0VfT1VULAogCX07CiAJdW5zaWduZWQgbG9uZyBjb3VudCwgbGFzdDsKIAlzdHJ1Y3QgaXRp bWVydmFsIGl0djsKQEAgLTYyMyw3ICs2MTEsNyBAQCBzdGF0aWMgdm9pZCB0ZXN0X2tlZXBfaW5f ZmVuY2UoaW50IGZkLCB1bnNpZ25lZCBpbnQgZW5naW5lLCB1bnNpZ25lZCBpbnQgZmxhZ3MpCiAJ aXR2Lml0X3ZhbHVlLnR2X3VzZWMgPSAxMDAwMDsKIAlzZXRpdGltZXIoSVRJTUVSX1JFQUwsICZp dHYsIE5VTEwpOwogCi0JZXhlY2J1Zi5mbGFncyB8PSBMT0NBTF9FWEVDX0ZFTkNFX0lOOworCWV4 ZWNidWYuZmxhZ3MgfD0gSTkxNV9FWEVDX0ZFTkNFX0lOOwogCWV4ZWNidWYucnN2ZDIgPSBmZW5j ZTsKIAogCWxhc3QgPSAtMTsKQEAgLTY5Miw3ICs2ODAsNyBAQCBzdGF0aWMgdm9pZCB0ZXN0X2xv bmdfaGlzdG9yeShpbnQgZmQsIGxvbmcgcmluZ19zaXplLCB1bnNpZ25lZCBmbGFncykKIAltZW1z ZXQoJmV4ZWNidWYsIDAsIHNpemVvZihleGVjYnVmKSk7CiAJZXhlY2J1Zi5idWZmZXJzX3B0ciA9 IHRvX3VzZXJfcG9pbnRlcigmb2JqWzFdKTsKIAlleGVjYnVmLmJ1ZmZlcl9jb3VudCA9IDE7Ci0J ZXhlY2J1Zi5mbGFncyA9IExPQ0FMX0VYRUNfRkVOQ0VfT1VUOworCWV4ZWNidWYuZmxhZ3MgPSBJ OTE1X0VYRUNfRkVOQ0VfT1VUOwogCiAJZ2VtX2V4ZWNidWZfd3IoZmQsICZleGVjYnVmKTsKIAlh bGxfZmVuY2VzID0gZXhlY2J1Zi5yc3ZkMiA+PiAzMjsKQEAgLTcwOCw3ICs2OTYsNyBAQCBzdGF0 aWMgdm9pZCB0ZXN0X2xvbmdfaGlzdG9yeShpbnQgZmQsIGxvbmcgcmluZ19zaXplLCB1bnNpZ25l ZCBmbGFncykKIAkJZm9yIChuID0gMDsgbiA8IG5lbmdpbmU7IG4rKykgewogCQkJc3RydWN0IHN5 bmNfbWVyZ2VfZGF0YSBtZXJnZTsKIAotCQkJZXhlY2J1Zi5mbGFncyA9IGVuZ2luZXNbbl0gfCBM T0NBTF9FWEVDX0ZFTkNFX09VVDsKKwkJCWV4ZWNidWYuZmxhZ3MgPSBlbmdpbmVzW25dIHwgSTkx NV9FWEVDX0ZFTkNFX09VVDsKIAkJCWlmIChfX2dlbV9leGVjYnVmX3dyKGZkLCAmZXhlY2J1Zikp CiAJCQkJY29udGludWU7CiAKQEAgLTc0Miw3ICs3MzAsNyBAQCBzdGF0aWMgdm9pZCB0ZXN0X2xv bmdfaGlzdG9yeShpbnQgZmQsIGxvbmcgcmluZ19zaXplLCB1bnNpZ25lZCBmbGFncykKIAogCWZv ciAocyA9IDA7IHMgPCByaW5nX3NpemU7IHMrKykgewogCQlmb3IgKG4gPSAwOyBuIDwgbmVuZ2lu ZTsgbisrKSB7Ci0JCQlleGVjYnVmLmZsYWdzID0gZW5naW5lc1tuXSB8IExPQ0FMX0VYRUNfRkVO Q0VfSU47CisJCQlleGVjYnVmLmZsYWdzID0gZW5naW5lc1tuXSB8IEk5MTVfRVhFQ19GRU5DRV9J TjsKIAkJCWlmIChfX2dlbV9leGVjYnVmX3dyKGZkLCAmZXhlY2J1ZikpCiAJCQkJY29udGludWU7 CiAJCX0KQEAgLTc2Niw3ICs3NTQsNyBAQCBzdGF0aWMgYm9vbCBoYXNfc3VibWl0X2ZlbmNlKGlu dCBmZCkKIAlpbnQgdmFsdWUgPSAwOwogCiAJbWVtc2V0KCZncCwgMCwgc2l6ZW9mKGdwKSk7Ci0J Z3AucGFyYW0gPSAweGRlYWRiZWVmIF4gNTE7IC8qIEk5MTVfUEFSQU1fSEFTX0VYRUNfU1VCTUlU X0ZFTkNFICovCisJZ3AucGFyYW0gPSAweGRlYWRiZWVmIF4gSTkxNV9QQVJBTV9IQVNfRVhFQ19T VUJNSVRfRkVOQ0U7CiAJZ3AudmFsdWUgPSAmdmFsdWU7CiAKIAlpb2N0bChmZCwgRFJNX0lPQ1RM X0k5MTVfR0VUUEFSQU0sICZncCwgc2l6ZW9mKGdwKSk7CkBAIC03NzcsNyArNzY1LDcgQEAgc3Rh dGljIGJvb2wgaGFzX3N1Ym1pdF9mZW5jZShpbnQgZmQpCiAKIHN0YXRpYyBib29sIGhhc19zeW5j b2JqKGludCBmZCkKIHsKLQlzdHJ1Y3QgZHJtX2dldF9jYXAgY2FwID0geyAuY2FwYWJpbGl0eSA9 IDB4MTMgfTsKKwlzdHJ1Y3QgZHJtX2dldF9jYXAgY2FwID0geyAuY2FwYWJpbGl0eSA9IERSTV9D QVBfU1lOQ09CSiB9OwogCWlvY3RsKGZkLCBEUk1fSU9DVExfR0VUX0NBUCwgJmNhcCk7CiAJcmV0 dXJuIGNhcC52YWx1ZTsKIH0KQEAgLTc4OCw3ICs3NzYsNyBAQCBzdGF0aWMgYm9vbCBleGVjX2hh c19mZW5jZV9hcnJheShpbnQgZmQpCiAJaW50IHZhbHVlID0gMDsKIAogCW1lbXNldCgmZ3AsIDAs IHNpemVvZihncCkpOwotCWdwLnBhcmFtID0gNDk7IC8qIEk5MTVfUEFSQU1fSEFTX0VYRUNfRkVO Q0VfQVJSQVkgKi8KKwlncC5wYXJhbSA9IEk5MTVfUEFSQU1fSEFTX0VYRUNfRkVOQ0VfQVJSQVk7 CiAJZ3AudmFsdWUgPSAmdmFsdWU7CiAKIAlpb2N0bChmZCwgRFJNX0lPQ1RMX0k5MTVfR0VUUEFS QU0sICZncCwgc2l6ZW9mKGdwKSk7CkBAIC04MDIsNyArNzkwLDcgQEAgc3RhdGljIHZvaWQgdGVz dF9pbnZhbGlkX2ZlbmNlX2FycmF5KGludCBmZCkKIAljb25zdCB1aW50MzJfdCBiYmUgPSBNSV9C QVRDSF9CVUZGRVJfRU5EOwogCXN0cnVjdCBkcm1faTkxNV9nZW1fZXhlY2J1ZmZlcjIgZXhlY2J1 ZjsKIAlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX2V4ZWNfb2JqZWN0MiBvYmo7Ci0Jc3RydWN0IGxvY2Fs X2dlbV9leGVjX2ZlbmNlIGZlbmNlOworCXN0cnVjdCBkcm1faTkxNV9nZW1fZXhlY19mZW5jZSBm ZW5jZTsKIAl2b2lkICpwdHI7CiAKIAkvKiBjcmVhdGUgYW4gb3RoZXJ3aXNlIHZhbGlkIGV4ZWNi dWYgKi8KQEAgLTgxNCw3ICs4MDIsNyBAQCBzdGF0aWMgdm9pZCB0ZXN0X2ludmFsaWRfZmVuY2Vf YXJyYXkoaW50IGZkKQogCWV4ZWNidWYuYnVmZmVyX2NvdW50ID0gMTsKIAlnZW1fZXhlY2J1Zihm ZCwgJmV4ZWNidWYpOwogCi0JZXhlY2J1Zi5mbGFncyB8PSBMT0NBTF9FWEVDX0ZFTkNFX0FSUkFZ OworCWV4ZWNidWYuZmxhZ3MgfD0gSTkxNV9FWEVDX0ZFTkNFX0FSUkFZOwogCWdlbV9leGVjYnVm KGZkLCAmZXhlY2J1Zik7CiAKIAkvKiBOb3cgYWRkIGEgZmV3IGludmFsaWQgZmVuY2UtYXJyYXkg cG9pbnRlcnMgKi8KQEAgLTEwMjYsNyArMTAxNCw3IEBAIHN0YXRpYyB2b2lkIHRlc3Rfc3luY29i al91bnVzZWRfZmVuY2UoaW50IGZkKQogCWNvbnN0IHVpbnQzMl90IGJiZSA9IE1JX0JBVENIX0JV RkZFUl9FTkQ7CiAJc3RydWN0IGRybV9pOTE1X2dlbV9leGVjX29iamVjdDIgb2JqOwogCXN0cnVj dCBkcm1faTkxNV9nZW1fZXhlY2J1ZmZlcjIgZXhlY2J1ZjsKLQlzdHJ1Y3QgbG9jYWxfZ2VtX2V4 ZWNfZmVuY2UgZmVuY2UgPSB7CisJc3RydWN0IGRybV9pOTE1X2dlbV9leGVjX2ZlbmNlIGZlbmNl ID0gewogCQkuaGFuZGxlID0gc3luY29ial9jcmVhdGUoZmQpLAogCX07CiAJaWd0X3NwaW5fdCAq c3BpbiA9IGlndF9zcGluX25ldyhmZCk7CkBAIC0xMDM3LDcgKzEwMjUsNyBAQCBzdGF0aWMgdm9p ZCB0ZXN0X3N5bmNvYmpfdW51c2VkX2ZlbmNlKGludCBmZCkKIAltZW1zZXQoJmV4ZWNidWYsIDAs IHNpemVvZihleGVjYnVmKSk7CiAJZXhlY2J1Zi5idWZmZXJzX3B0ciA9IHRvX3VzZXJfcG9pbnRl cigmb2JqKTsKIAlleGVjYnVmLmJ1ZmZlcl9jb3VudCA9IDE7Ci0JZXhlY2J1Zi5mbGFncyA9IExP Q0FMX0VYRUNfRkVOQ0VfQVJSQVk7CisJZXhlY2J1Zi5mbGFncyA9IEk5MTVfRVhFQ19GRU5DRV9B UlJBWTsKIAlleGVjYnVmLmNsaXByZWN0c19wdHIgPSB0b191c2VyX3BvaW50ZXIoJmZlbmNlKTsK IAlleGVjYnVmLm51bV9jbGlwcmVjdHMgPSAxOwogCkBAIC0xMDYyLDE0ICsxMDUwLDE0IEBAIHN0 YXRpYyB2b2lkIHRlc3Rfc3luY29ial9pbnZhbGlkX3dhaXQoaW50IGZkKQogCWNvbnN0IHVpbnQz Ml90IGJiZSA9IE1JX0JBVENIX0JVRkZFUl9FTkQ7CiAJc3RydWN0IGRybV9pOTE1X2dlbV9leGVj X29iamVjdDIgb2JqOwogCXN0cnVjdCBkcm1faTkxNV9nZW1fZXhlY2J1ZmZlcjIgZXhlY2J1ZjsK LQlzdHJ1Y3QgbG9jYWxfZ2VtX2V4ZWNfZmVuY2UgZmVuY2UgPSB7CisJc3RydWN0IGRybV9pOTE1 X2dlbV9leGVjX2ZlbmNlIGZlbmNlID0gewogCQkuaGFuZGxlID0gc3luY29ial9jcmVhdGUoZmQp LAogCX07CiAKIAltZW1zZXQoJmV4ZWNidWYsIDAsIHNpemVvZihleGVjYnVmKSk7CiAJZXhlY2J1 Zi5idWZmZXJzX3B0ciA9IHRvX3VzZXJfcG9pbnRlcigmb2JqKTsKIAlleGVjYnVmLmJ1ZmZlcl9j b3VudCA9IDE7Ci0JZXhlY2J1Zi5mbGFncyA9IExPQ0FMX0VYRUNfRkVOQ0VfQVJSQVk7CisJZXhl Y2J1Zi5mbGFncyA9IEk5MTVfRVhFQ19GRU5DRV9BUlJBWTsKIAlleGVjYnVmLmNsaXByZWN0c19w dHIgPSB0b191c2VyX3BvaW50ZXIoJmZlbmNlKTsKIAlleGVjYnVmLm51bV9jbGlwcmVjdHMgPSAx OwogCkBAIC0xMDc4LDcgKzEwNjYsNyBAQCBzdGF0aWMgdm9pZCB0ZXN0X3N5bmNvYmpfaW52YWxp ZF93YWl0KGludCBmZCkKIAlnZW1fd3JpdGUoZmQsIG9iai5oYW5kbGUsIDAsICZiYmUsIHNpemVv ZihiYmUpKTsKIAogCS8qIHdhaXRpbmcgYmVmb3JlIHRoZSBmZW5jZSBpcyBzZXQgaXMgaW52YWxp ZCAqLwotCWZlbmNlLmZsYWdzID0gTE9DQUxfRVhFQ19GRU5DRV9XQUlUOworCWZlbmNlLmZsYWdz ID0gSTkxNV9FWEVDX0ZFTkNFX1dBSVQ7CiAJaWd0X2Fzc2VydF9lcShfX2dlbV9leGVjYnVmKGZk LCAmZXhlY2J1ZiksIC1FSU5WQUwpOwogCiAJZ2VtX2Nsb3NlKGZkLCBvYmouaGFuZGxlKTsKQEAg LTEwOTAsMTQgKzEwNzgsMTQgQEAgc3RhdGljIHZvaWQgdGVzdF9zeW5jb2JqX2ludmFsaWRfZmxh Z3MoaW50IGZkKQogCWNvbnN0IHVpbnQzMl90IGJiZSA9IE1JX0JBVENIX0JVRkZFUl9FTkQ7CiAJ c3RydWN0IGRybV9pOTE1X2dlbV9leGVjX29iamVjdDIgb2JqOwogCXN0cnVjdCBkcm1faTkxNV9n ZW1fZXhlY2J1ZmZlcjIgZXhlY2J1ZjsKLQlzdHJ1Y3QgbG9jYWxfZ2VtX2V4ZWNfZmVuY2UgZmVu Y2UgPSB7CisJc3RydWN0IGRybV9pOTE1X2dlbV9leGVjX2ZlbmNlIGZlbmNlID0gewogCQkuaGFu ZGxlID0gc3luY29ial9jcmVhdGUoZmQpLAogCX07CiAKIAltZW1zZXQoJmV4ZWNidWYsIDAsIHNp emVvZihleGVjYnVmKSk7CiAJZXhlY2J1Zi5idWZmZXJzX3B0ciA9IHRvX3VzZXJfcG9pbnRlcigm b2JqKTsKIAlleGVjYnVmLmJ1ZmZlcl9jb3VudCA9IDE7Ci0JZXhlY2J1Zi5mbGFncyA9IExPQ0FM X0VYRUNfRkVOQ0VfQVJSQVk7CisJZXhlY2J1Zi5mbGFncyA9IEk5MTVfRVhFQ19GRU5DRV9BUlJB WTsKIAlleGVjYnVmLmNsaXByZWN0c19wdHIgPSB0b191c2VyX3BvaW50ZXIoJmZlbmNlKTsKIAll eGVjYnVmLm51bV9jbGlwcmVjdHMgPSAxOwogCkBAIC0xMTE4LDcgKzExMDYsNyBAQCBzdGF0aWMg dm9pZCB0ZXN0X3N5bmNvYmpfc2lnbmFsKGludCBmZCkKIAljb25zdCB1aW50MzJfdCBiYmUgPSBN SV9CQVRDSF9CVUZGRVJfRU5EOwogCXN0cnVjdCBkcm1faTkxNV9nZW1fZXhlY19vYmplY3QyIG9i ajsKIAlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX2V4ZWNidWZmZXIyIGV4ZWNidWY7Ci0Jc3RydWN0IGxv Y2FsX2dlbV9leGVjX2ZlbmNlIGZlbmNlID0geworCXN0cnVjdCBkcm1faTkxNV9nZW1fZXhlY19m ZW5jZSBmZW5jZSA9IHsKIAkJLmhhbmRsZSA9IHN5bmNvYmpfY3JlYXRlKGZkKSwKIAl9OwogCWln dF9zcGluX3QgKnNwaW4gPSBpZ3Rfc3Bpbl9uZXcoZmQpOwpAQCAtMTEyOCw3ICsxMTE2LDcgQEAg c3RhdGljIHZvaWQgdGVzdF9zeW5jb2JqX3NpZ25hbChpbnQgZmQpCiAJbWVtc2V0KCZleGVjYnVm LCAwLCBzaXplb2YoZXhlY2J1ZikpOwogCWV4ZWNidWYuYnVmZmVyc19wdHIgPSB0b191c2VyX3Bv aW50ZXIoJm9iaik7CiAJZXhlY2J1Zi5idWZmZXJfY291bnQgPSAxOwotCWV4ZWNidWYuZmxhZ3Mg PSBMT0NBTF9FWEVDX0ZFTkNFX0FSUkFZOworCWV4ZWNidWYuZmxhZ3MgPSBJOTE1X0VYRUNfRkVO Q0VfQVJSQVk7CiAJZXhlY2J1Zi5jbGlwcmVjdHNfcHRyID0gdG9fdXNlcl9wb2ludGVyKCZmZW5j ZSk7CiAJZXhlY2J1Zi5udW1fY2xpcHJlY3RzID0gMTsKIApAQCAtMTEzNiw3ICsxMTI0LDcgQEAg c3RhdGljIHZvaWQgdGVzdF9zeW5jb2JqX3NpZ25hbChpbnQgZmQpCiAJb2JqLmhhbmRsZSA9IGdl bV9jcmVhdGUoZmQsIDQwOTYpOwogCWdlbV93cml0ZShmZCwgb2JqLmhhbmRsZSwgMCwgJmJiZSwg c2l6ZW9mKGJiZSkpOwogCi0JZmVuY2UuZmxhZ3MgPSBMT0NBTF9FWEVDX0ZFTkNFX1NJR05BTDsK KwlmZW5jZS5mbGFncyA9IEk5MTVfRVhFQ19GRU5DRV9TSUdOQUw7CiAJZ2VtX2V4ZWNidWYoZmQs ICZleGVjYnVmKTsKIAogCWlndF9hc3NlcnQoZ2VtX2JvX2J1c3koZmQsIG9iai5oYW5kbGUpKTsK QEAgLTExNTcsNyArMTE0NSw3IEBAIHN0YXRpYyB2b2lkIHRlc3Rfc3luY29ial93YWl0KGludCBm ZCkKIAljb25zdCB1aW50MzJfdCBiYmUgPSBNSV9CQVRDSF9CVUZGRVJfRU5EOwogCXN0cnVjdCBk cm1faTkxNV9nZW1fZXhlY19vYmplY3QyIG9iajsKIAlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX2V4ZWNi dWZmZXIyIGV4ZWNidWY7Ci0Jc3RydWN0IGxvY2FsX2dlbV9leGVjX2ZlbmNlIGZlbmNlID0gewor CXN0cnVjdCBkcm1faTkxNV9nZW1fZXhlY19mZW5jZSBmZW5jZSA9IHsKIAkJLmhhbmRsZSA9IHN5 bmNvYmpfY3JlYXRlKGZkKSwKIAl9OwogCWlndF9zcGluX3QgKnNwaW47CkBAIC0xMTgxLDEwICsx MTY5LDEwIEBAIHN0YXRpYyB2b2lkIHRlc3Rfc3luY29ial93YWl0KGludCBmZCkKIAlnZW1fd3Jp dGUoZmQsIG9iai5oYW5kbGUsIDAsICZiYmUsIHNpemVvZihiYmUpKTsKIAogCS8qIFF1ZXVlIGEg c2lnbmFsZXIgZnJvbSB0aGUgYmxvY2tlZCBlbmdpbmUgKi8KLQlleGVjYnVmLmZsYWdzID0gTE9D QUxfRVhFQ19GRU5DRV9BUlJBWTsKKwlleGVjYnVmLmZsYWdzID0gSTkxNV9FWEVDX0ZFTkNFX0FS UkFZOwogCWV4ZWNidWYuY2xpcHJlY3RzX3B0ciA9IHRvX3VzZXJfcG9pbnRlcigmZmVuY2UpOwog CWV4ZWNidWYubnVtX2NsaXByZWN0cyA9IDE7Ci0JZmVuY2UuZmxhZ3MgPSBMT0NBTF9FWEVDX0ZF TkNFX1NJR05BTDsKKwlmZW5jZS5mbGFncyA9IEk5MTVfRVhFQ19GRU5DRV9TSUdOQUw7CiAJZ2Vt X2V4ZWNidWYoZmQsICZleGVjYnVmKTsKIAlpZ3RfYXNzZXJ0KGdlbV9ib19idXN5KGZkLCBzcGlu LT5oYW5kbGUpKTsKIApAQCAtMTIwOSwxMCArMTE5NywxMCBAQCBzdGF0aWMgdm9pZCB0ZXN0X3N5 bmNvYmpfd2FpdChpbnQgZmQpCiAJCWlndF9hc3NlcnQoZ2VtX2JvX2J1c3koZmQsIHNwaW4tPmhh bmRsZSkpOwogCiAJCS8qIE5vdyB3YWl0IHVwb24gdGhlIGJsb2NrZWQgZW5naW5lICovCi0JCWV4 ZWNidWYuZmxhZ3MgPSBMT0NBTF9FWEVDX0ZFTkNFX0FSUkFZIHwgZWJfcmluZyhlKTsKKwkJZXhl Y2J1Zi5mbGFncyA9IEk5MTVfRVhFQ19GRU5DRV9BUlJBWSB8IGViX3JpbmcoZSk7CiAJCWV4ZWNi dWYuY2xpcHJlY3RzX3B0ciA9IHRvX3VzZXJfcG9pbnRlcigmZmVuY2UpOwogCQlleGVjYnVmLm51 bV9jbGlwcmVjdHMgPSAxOwotCQlmZW5jZS5mbGFncyA9IExPQ0FMX0VYRUNfRkVOQ0VfV0FJVDsK KwkJZmVuY2UuZmxhZ3MgPSBJOTE1X0VYRUNfRkVOQ0VfV0FJVDsKIAkJZ2VtX2V4ZWNidWYoZmQs ICZleGVjYnVmKTsKIAogCQlpZ3RfYXNzZXJ0KGdlbV9ib19idXN5KGZkLCBvYmouaGFuZGxlKSk7 CkBAIC0xMjM2LDcgKzEyMjQsNyBAQCBzdGF0aWMgdm9pZCB0ZXN0X3N5bmNvYmpfZXhwb3J0KGlu dCBmZCkKIAljb25zdCB1aW50MzJfdCBiYmUgPSBNSV9CQVRDSF9CVUZGRVJfRU5EOwogCXN0cnVj dCBkcm1faTkxNV9nZW1fZXhlY19vYmplY3QyIG9iajsKIAlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX2V4 ZWNidWZmZXIyIGV4ZWNidWY7Ci0Jc3RydWN0IGxvY2FsX2dlbV9leGVjX2ZlbmNlIGZlbmNlID0g eworCXN0cnVjdCBkcm1faTkxNV9nZW1fZXhlY19mZW5jZSBmZW5jZSA9IHsKIAkJLmhhbmRsZSA9 IHN5bmNvYmpfY3JlYXRlKGZkKSwKIAl9OwogCWludCBleHBvcnRbMl07CkBAIC0xMjUzLDcgKzEy NDEsNyBAQCBzdGF0aWMgdm9pZCB0ZXN0X3N5bmNvYmpfZXhwb3J0KGludCBmZCkKIAltZW1zZXQo JmV4ZWNidWYsIDAsIHNpemVvZihleGVjYnVmKSk7CiAJZXhlY2J1Zi5idWZmZXJzX3B0ciA9IHRv X3VzZXJfcG9pbnRlcigmb2JqKTsKIAlleGVjYnVmLmJ1ZmZlcl9jb3VudCA9IDE7Ci0JZXhlY2J1 Zi5mbGFncyA9IExPQ0FMX0VYRUNfRkVOQ0VfQVJSQVk7CisJZXhlY2J1Zi5mbGFncyA9IEk5MTVf RVhFQ19GRU5DRV9BUlJBWTsKIAlleGVjYnVmLmNsaXByZWN0c19wdHIgPSB0b191c2VyX3BvaW50 ZXIoJmZlbmNlKTsKIAlleGVjYnVmLm51bV9jbGlwcmVjdHMgPSAxOwogCkBAIC0xMjYxLDcgKzEy NDksNyBAQCBzdGF0aWMgdm9pZCB0ZXN0X3N5bmNvYmpfZXhwb3J0KGludCBmZCkKIAlvYmouaGFu ZGxlID0gZ2VtX2NyZWF0ZShmZCwgNDA5Nik7CiAJZ2VtX3dyaXRlKGZkLCBvYmouaGFuZGxlLCAw LCAmYmJlLCBzaXplb2YoYmJlKSk7CiAKLQlmZW5jZS5mbGFncyA9IExPQ0FMX0VYRUNfRkVOQ0Vf U0lHTkFMOworCWZlbmNlLmZsYWdzID0gSTkxNV9FWEVDX0ZFTkNFX1NJR05BTDsKIAlnZW1fZXhl Y2J1ZihmZCwgJmV4ZWNidWYpOwogCiAJaWd0X2Fzc2VydChzeW5jb2JqX2J1c3koZmQsIGZlbmNl LmhhbmRsZSkpOwpAQCAtMTI5Niw3ICsxMjg0LDcgQEAgc3RhdGljIHZvaWQgdGVzdF9zeW5jb2Jq X3JlcGVhdChpbnQgZmQpCiAJY29uc3QgdW5zaWduZWQgbmZlbmNlcyA9IDQwOTY7CiAJc3RydWN0 IGRybV9pOTE1X2dlbV9leGVjX29iamVjdDIgb2JqOwogCXN0cnVjdCBkcm1faTkxNV9nZW1fZXhl Y2J1ZmZlcjIgZXhlY2J1ZjsKLQlzdHJ1Y3QgbG9jYWxfZ2VtX2V4ZWNfZmVuY2UgKmZlbmNlOwor CXN0cnVjdCBkcm1faTkxNV9nZW1fZXhlY19mZW5jZSAqZmVuY2U7CiAJaW50IGV4cG9ydDsKIAlp Z3Rfc3Bpbl90ICpzcGluID0gaWd0X3NwaW5fbmV3KGZkKTsKIApAQCAtMTMxMSw3ICsxMjk5LDcg QEAgc3RhdGljIHZvaWQgdGVzdF9zeW5jb2JqX3JlcGVhdChpbnQgZmQpCiAJbWVtc2V0KCZleGVj YnVmLCAwLCBzaXplb2YoZXhlY2J1ZikpOwogCWV4ZWNidWYuYnVmZmVyc19wdHIgPSB0b191c2Vy X3BvaW50ZXIoJm9iaik7CiAJZXhlY2J1Zi5idWZmZXJfY291bnQgPSAxOwotCWV4ZWNidWYuZmxh Z3MgPSBMT0NBTF9FWEVDX0ZFTkNFX0FSUkFZOworCWV4ZWNidWYuZmxhZ3MgPSBJOTE1X0VYRUNf RkVOQ0VfQVJSQVk7CiAJZXhlY2J1Zi5jbGlwcmVjdHNfcHRyID0gdG9fdXNlcl9wb2ludGVyKGZl bmNlKTsKIAlleGVjYnVmLm51bV9jbGlwcmVjdHMgPSBuZmVuY2VzOwogCkBAIC0xMzIwLDEzICsx MzA4LDEzIEBAIHN0YXRpYyB2b2lkIHRlc3Rfc3luY29ial9yZXBlYXQoaW50IGZkKQogCWdlbV93 cml0ZShmZCwgb2JqLmhhbmRsZSwgMCwgJmJiZSwgc2l6ZW9mKGJiZSkpOwogCiAJZm9yIChpbnQg aSA9IDA7IGkgPCBuZmVuY2VzOyBpKyspCi0JCWZlbmNlW2ldLmZsYWdzID0gTE9DQUxfRVhFQ19G RU5DRV9TSUdOQUw7CisJCWZlbmNlW2ldLmZsYWdzID0gSTkxNV9FWEVDX0ZFTkNFX1NJR05BTDsK IAogCWdlbV9leGVjYnVmKGZkLCAmZXhlY2J1Zik7CiAKIAlmb3IgKGludCBpID0gMDsgaSA8IG5m ZW5jZXM7IGkrKykgewogCQlpZ3RfYXNzZXJ0KHN5bmNvYmpfYnVzeShmZCwgZmVuY2VbaV0uaGFu ZGxlKSk7Ci0JCWZlbmNlW2ldLmZsYWdzIHw9IExPQ0FMX0VYRUNfRkVOQ0VfV0FJVDsKKwkJZmVu Y2VbaV0uZmxhZ3MgfD0gSTkxNV9FWEVDX0ZFTkNFX1dBSVQ7CiAJfQogCWlndF9hc3NlcnQoZ2Vt X2JvX2J1c3koZmQsIG9iai5oYW5kbGUpKTsKIApAQCAtMTM2NCw3ICsxMzUyLDcgQEAgc3RhdGlj IHZvaWQgdGVzdF9zeW5jb2JqX2ltcG9ydChpbnQgZmQpCiAJbWVtc2V0KCZleGVjYnVmLCAwLCBz aXplb2YoZXhlY2J1ZikpOwogCWV4ZWNidWYuYnVmZmVyc19wdHIgPSB0b191c2VyX3BvaW50ZXIo Jm9iaik7CiAJZXhlY2J1Zi5idWZmZXJfY291bnQgPSAxOwotCWV4ZWNidWYuZmxhZ3MgPSBMT0NB TF9FWEVDX0ZFTkNFX09VVDsKKwlleGVjYnVmLmZsYWdzID0gSTkxNV9FWEVDX0ZFTkNFX09VVDsK IAlleGVjYnVmLnJzdmQyID0gLTE7CiAKIAltZW1zZXQoJm9iaiwgMCwgc2l6ZW9mKG9iaikpOwpA QCAtMTQwOSw3ICsxMzk3LDcgQEAgc3RhdGljIHZvaWQgdGVzdF9zeW5jb2JqX2NoYW5uZWwoaW50 IGZkKQogCW1lbXNldCgmZXhlY2J1ZiwgMCwgc2l6ZW9mKGV4ZWNidWYpKTsKIAlleGVjYnVmLmJ1 ZmZlcnNfcHRyID0gdG9fdXNlcl9wb2ludGVyKCZvYmopOwogCWV4ZWNidWYuYnVmZmVyX2NvdW50 ID0gMTsKLQlleGVjYnVmLmZsYWdzID0gTE9DQUxfRVhFQ19GRU5DRV9PVVQ7CisJZXhlY2J1Zi5m bGFncyA9IEk5MTVfRVhFQ19GRU5DRV9PVVQ7CiAJZXhlY2J1Zi5yc3ZkMiA9IC0xOwogCiAJbWVt c2V0KCZvYmosIDAsIHNpemVvZihvYmopKTsKQEAgLTE0MTcsMTUgKzE0MDUsMTUgQEAgc3RhdGlj IHZvaWQgdGVzdF9zeW5jb2JqX2NoYW5uZWwoaW50IGZkKQogCWdlbV93cml0ZShmZCwgb2JqLmhh bmRsZSwgMCwgJmJiZSwgc2l6ZW9mKGJiZSkpOwogCiAJZm9yIChpbnQgaSA9IDA7IGkgPCBBUlJB WV9TSVpFKHN5bmNvYmopOyBpKyspIHsKLQkJc3RydWN0IGxvY2FsX2dlbV9leGVjX2ZlbmNlIGZl bmNlOworCQlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX2V4ZWNfZmVuY2UgZmVuY2U7CiAKLQkJZXhlY2J1 Zi5mbGFncyA9IExPQ0FMX0VYRUNfRkVOQ0VfQVJSQVk7CisJCWV4ZWNidWYuZmxhZ3MgPSBJOTE1 X0VYRUNfRkVOQ0VfQVJSQVk7CiAJCWV4ZWNidWYuY2xpcHJlY3RzX3B0ciA9IHRvX3VzZXJfcG9p bnRlcigmZmVuY2UpOwogCQlleGVjYnVmLm51bV9jbGlwcmVjdHMgPSAxOwogCiAJCS8qIENyZWF0 ZSBhIHByaW1lZCBmZW5jZSAqLwogCQlmZW5jZS5oYW5kbGUgPSBzeW5jb2JqX2NyZWF0ZShmZCk7 Ci0JCWZlbmNlLmZsYWdzID0gTE9DQUxfRVhFQ19GRU5DRV9TSUdOQUw7CisJCWZlbmNlLmZsYWdz ID0gSTkxNV9FWEVDX0ZFTkNFX1NJR05BTDsKIAogCQlnZW1fZXhlY2J1ZihmZCwgJmV4ZWNidWYp OwogCkBAIC0xNDM0LDIxICsxNDIyLDIxIEBAIHN0YXRpYyB2b2lkIHRlc3Rfc3luY29ial9jaGFu bmVsKGludCBmZCkKIAogCS8qIFR3byBwcm9jZXNzZXMgaW4gcGluZy1wb25nIHVuaXNvbiAocGlw ZSksIG9uZSBvdXQgb2Ygc3luYyAqLwogCWlndF9mb3JrKGNoaWxkLCAxKSB7Ci0JCXN0cnVjdCBs b2NhbF9nZW1fZXhlY19mZW5jZSBmZW5jZVszXTsKKwkJc3RydWN0IGRybV9pOTE1X2dlbV9leGVj X2ZlbmNlIGZlbmNlWzNdOwogCQl1bnNpZ25lZCBsb25nIGNvdW50OwogCi0JCWV4ZWNidWYuZmxh Z3MgPSBMT0NBTF9FWEVDX0ZFTkNFX0FSUkFZOworCQlleGVjYnVmLmZsYWdzID0gSTkxNV9FWEVD X0ZFTkNFX0FSUkFZOwogCQlleGVjYnVmLmNsaXByZWN0c19wdHIgPSB0b191c2VyX3BvaW50ZXIo ZmVuY2UpOwogCQlleGVjYnVmLm51bV9jbGlwcmVjdHMgPSAzOwogCiAJCWZlbmNlWzBdLmhhbmRs ZSA9IHN5bmNvYmpbMF07Ci0JCWZlbmNlWzBdLmZsYWdzID0gTE9DQUxfRVhFQ19GRU5DRV9TSUdO QUw7CisJCWZlbmNlWzBdLmZsYWdzID0gSTkxNV9FWEVDX0ZFTkNFX1NJR05BTDsKIAogCQlmZW5j ZVsxXS5oYW5kbGUgPSBzeW5jb2JqWzFdOwotCQlmZW5jZVsxXS5mbGFncyA9IExPQ0FMX0VYRUNf RkVOQ0VfV0FJVDsKKwkJZmVuY2VbMV0uZmxhZ3MgPSBJOTE1X0VYRUNfRkVOQ0VfV0FJVDsKIAog CQlmZW5jZVsyXS5oYW5kbGUgPSBzeW5jb2JqWzJdOwotCQlmZW5jZVsyXS5mbGFncyA9IExPQ0FM X0VYRUNfRkVOQ0VfV0FJVDsKKwkJZmVuY2VbMl0uZmxhZ3MgPSBJOTE1X0VYRUNfRkVOQ0VfV0FJ VDsKIAogCQljb3VudCA9IDA7CiAJCXdoaWxlICghKih2b2xhdGlsZSB1bnNpZ25lZCAqKWNvbnRy b2wpIHsKQEAgLTE0NTksMjEgKzE0NDcsMjEgQEAgc3RhdGljIHZvaWQgdGVzdF9zeW5jb2JqX2No YW5uZWwoaW50IGZkKQogCQljb250cm9sWzFdID0gY291bnQ7CiAJfQogCWlndF9mb3JrKGNoaWxk LCAxKSB7Ci0JCXN0cnVjdCBsb2NhbF9nZW1fZXhlY19mZW5jZSBmZW5jZVszXTsKKwkJc3RydWN0 IGRybV9pOTE1X2dlbV9leGVjX2ZlbmNlIGZlbmNlWzNdOwogCQl1bnNpZ25lZCBsb25nIGNvdW50 OwogCi0JCWV4ZWNidWYuZmxhZ3MgPSBMT0NBTF9FWEVDX0ZFTkNFX0FSUkFZOworCQlleGVjYnVm LmZsYWdzID0gSTkxNV9FWEVDX0ZFTkNFX0FSUkFZOwogCQlleGVjYnVmLmNsaXByZWN0c19wdHIg PSB0b191c2VyX3BvaW50ZXIoZmVuY2UpOwogCQlleGVjYnVmLm51bV9jbGlwcmVjdHMgPSAzOwog CiAJCWZlbmNlWzBdLmhhbmRsZSA9IHN5bmNvYmpbMF07Ci0JCWZlbmNlWzBdLmZsYWdzID0gTE9D QUxfRVhFQ19GRU5DRV9XQUlUOworCQlmZW5jZVswXS5mbGFncyA9IEk5MTVfRVhFQ19GRU5DRV9X QUlUOwogCiAJCWZlbmNlWzFdLmhhbmRsZSA9IHN5bmNvYmpbMV07Ci0JCWZlbmNlWzFdLmZsYWdz ID0gTE9DQUxfRVhFQ19GRU5DRV9TSUdOQUw7CisJCWZlbmNlWzFdLmZsYWdzID0gSTkxNV9FWEVD X0ZFTkNFX1NJR05BTDsKIAogCQlmZW5jZVsyXS5oYW5kbGUgPSBzeW5jb2JqWzJdOwotCQlmZW5j ZVsyXS5mbGFncyA9IExPQ0FMX0VYRUNfRkVOQ0VfV0FJVDsKKwkJZmVuY2VbMl0uZmxhZ3MgPSBJ OTE1X0VYRUNfRkVOQ0VfV0FJVDsKIAogCQljb3VudCA9IDA7CiAJCXdoaWxlICghKih2b2xhdGls ZSB1bnNpZ25lZCAqKWNvbnRyb2wpIHsKQEAgLTE0ODMsMTUgKzE0NzEsMTUgQEAgc3RhdGljIHZv aWQgdGVzdF9zeW5jb2JqX2NoYW5uZWwoaW50IGZkKQogCQljb250cm9sWzJdID0gY291bnQ7CiAJ fQogCWlndF9mb3JrKGNoaWxkLCAxKSB7Ci0JCXN0cnVjdCBsb2NhbF9nZW1fZXhlY19mZW5jZSBm ZW5jZTsKKwkJc3RydWN0IGRybV9pOTE1X2dlbV9leGVjX2ZlbmNlIGZlbmNlOwogCQl1bnNpZ25l ZCBsb25nIGNvdW50OwogCi0JCWV4ZWNidWYuZmxhZ3MgPSBMT0NBTF9FWEVDX0ZFTkNFX0FSUkFZ OworCQlleGVjYnVmLmZsYWdzID0gSTkxNV9FWEVDX0ZFTkNFX0FSUkFZOwogCQlleGVjYnVmLmNs aXByZWN0c19wdHIgPSB0b191c2VyX3BvaW50ZXIoJmZlbmNlKTsKIAkJZXhlY2J1Zi5udW1fY2xp cHJlY3RzID0gMTsKIAogCQlmZW5jZS5oYW5kbGUgPSBzeW5jb2JqWzJdOwotCQlmZW5jZS5mbGFn cyA9IExPQ0FMX0VYRUNfRkVOQ0VfU0lHTkFMOworCQlmZW5jZS5mbGFncyA9IEk5MTVfRVhFQ19G RU5DRV9TSUdOQUw7CiAKIAkJY291bnQgPSAwOwogCQl3aGlsZSAoISoodm9sYXRpbGUgdW5zaWdu ZWQgKiljb250cm9sKSB7Ci0tIAoyLjI0LjAKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fCmlndC1kZXYgbWFpbGluZyBsaXN0CmlndC1kZXZAbGlzdHMuZnJl ZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGlu Zm8vaWd0LWRldg==