From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by gabe.freedesktop.org (Postfix) with ESMTPS id 8B0D089801 for ; Thu, 11 Apr 2019 12:36:52 +0000 (UTC) From: Simon Ser Date: Thu, 11 Apr 2019 15:36:46 +0300 Message-Id: <20190411123648.4123-4-simon.ser@intel.com> In-Reply-To: <20190411123648.4123-1-simon.ser@intel.com> References: <20190411123648.4123-1-simon.ser@intel.com> MIME-Version: 1.0 Subject: [igt-dev] [PATCH i-g-t v4 3/5] tests/kms_chamelium: test we receive a signal from both audio channels 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: VGhpcyBjb21taXQgdXBkYXRlcyB0aGUgYXVkaW8gdGVzdCB0byBtYWtlIHN1cmUgd2UgcmVjZWl2 ZSBhIHNpZ25hbCBmcm9tIGJvdGgKYXVkaW8gY2hhbm5lbHMuIEhvd2V2ZXIgdGhpcyBjb21taXQg ZG9lc24ndCBjaGVjayB0aGF0IGxlZnQgYW5kIHJpZ2h0IGNoYW5uZWxzCmFyZSBub3Qgc3dhcHBl ZC4gU3VjaCBhIGNoZWNrIHJlcXVpcmVzIHNvbWUgbW9yZSB3b3JrIChiZWNhdXNlIHRoZSBDaGFt ZWxpdW0KZGV2aWNlIGRvZXMgc3dhcCBsZWZ0IGFuZCByaWdodCBjaGFubmVscykgYW5kIHdpbGwg YmUgaW1wbGVtZW50ZWQgaW4gYSBmdXR1cmUKY29tbWl0LgoKVGhpcyBjb21taXQgYWRkcyBhIG5l dyBjaGFubmVsIGFyZ3VtZW50IHRvIGF1ZGlvX3NpZ25hbF9hZGRfZnJlcXVlbmN5LCB0byBhZGQK YSBmcmVxdWVuY3kgdG8gYSBzaW5nbGUgY2hhbm5lbCBvbmx5LgoKU29tZSBsaWdodCByZWZhY3Rv cmluZyBoYXMgYmVlbiBwZXJmb3JtZWQgKGEgcHJvcGVyIGF1ZGlvX3NpZ25hbF9kZWluaXQKZnVu Y3Rpb24gaGFzIGJlZW4gaW50cm9kdWNlZCkgYW5kIGxvZ2dpbmcgaGFzIGJlZW4gaW1wcm92ZWQu CgpTaWduZWQtb2ZmLWJ5OiBTaW1vbiBTZXIgPHNpbW9uLnNlckBpbnRlbC5jb20+Ci0tLQogbGli L2lndF9hbHNhLmMgICAgICAgIHwgIDI2ICsrKysrKystLQogbGliL2lndF9hdWRpby5jICAgICAg IHwgMTIxICsrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLQogbGliL2ln dF9hdWRpby5oICAgICAgIHwgIDExICsrLS0KIHRlc3RzL2ttc19jaGFtZWxpdW0uYyB8ICA1NiAr KysrKysrKysrKy0tLS0tLS0tCiA0IGZpbGVzIGNoYW5nZWQsIDEzOCBpbnNlcnRpb25zKCspLCA3 NiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9saWIvaWd0X2Fsc2EuYyBiL2xpYi9pZ3RfYWxz YS5jCmluZGV4IGNjMzRlM2QxLi5lMTg0ODMwMSAxMDA2NDQKLS0tIGEvbGliL2lndF9hbHNhLmMK KysrIGIvbGliL2lndF9hbHNhLmMKQEAgLTE4Miw2ICsxODIsOCBAQCBzdGF0aWMgY2hhciAqYWxz YV9yZXNvbHZlX2luZGVudGlmaWVyKGNvbnN0IGNoYXIgKmRldmljZV9uYW1lLCBpbnQgc2tpcCkK IAkJCQkJY29udGludWU7CiAJCQkJfQogCisJCQkJaWd0X2RlYnVnKCJNYXRjaGVkIGRldmljZSBc IiVzXCJcbiIsIHBjbV9uYW1lKTsKKwogCQkJCXNucHJpbnRmKG5hbWUsIHNpemVvZihuYW1lKSwg Imh3OiVkLCVkIiwgY2FyZCwKIAkJCQkJIGRldik7CiAKQEAgLTMyOSw2ICszMzEsOSBAQCBzdGF0 aWMgYm9vbCBhbHNhX3Rlc3RfY29uZmlndXJhdGlvbihzbmRfcGNtX3QgKmhhbmRsZSwgaW50IGNo YW5uZWxzLAogewogCXNuZF9wY21faHdfcGFyYW1zX3QgKnBhcmFtczsKIAlpbnQgcmV0OworCXVu c2lnbmVkIGludCBtaW5fY2hhbm5lbHMsIG1heF9jaGFubmVsczsKKwl1bnNpZ25lZCBpbnQgbWlu X3JhdGUsIG1heF9yYXRlOworCWludCBtaW5fcmF0ZV9kaXIsIG1heF9yYXRlX2RpcjsKIAogCXNu ZF9wY21faHdfcGFyYW1zX2FsbG9jYSgmcGFyYW1zKTsKIApAQCAtMzM3LDEyICszNDIsMjQgQEAg c3RhdGljIGJvb2wgYWxzYV90ZXN0X2NvbmZpZ3VyYXRpb24oc25kX3BjbV90ICpoYW5kbGUsIGlu dCBjaGFubmVscywKIAkJcmV0dXJuIGZhbHNlOwogCiAJcmV0ID0gc25kX3BjbV9od19wYXJhbXNf dGVzdF9yYXRlKGhhbmRsZSwgcGFyYW1zLCBzYW1wbGluZ19yYXRlLCAwKTsKLQlpZiAocmV0IDwg MCkKKwlpZiAocmV0IDwgMCkgeworCQlzbmRfcGNtX2h3X3BhcmFtc19nZXRfcmF0ZV9taW4ocGFy YW1zLCAmbWluX3JhdGUsICZtaW5fcmF0ZV9kaXIpOworCQlzbmRfcGNtX2h3X3BhcmFtc19nZXRf cmF0ZV9tYXgocGFyYW1zLCAmbWF4X3JhdGUsICZtYXhfcmF0ZV9kaXIpOworCQlpZ3RfZGVidWco Ik91dHB1dCBkZXZpY2Ugc3VwcG9ydHMgcmF0ZXMgYmV0d2VlbiAldSBhbmQgJXUsICIKKwkJCSAg InJlcXVlc3RlZCAlZFxuIiwKKwkJCSAgbWluX3JhdGUsIG1heF9yYXRlLCBzYW1wbGluZ19yYXRl KTsKIAkJcmV0dXJuIGZhbHNlOworCX0KIAogCXJldCA9IHNuZF9wY21faHdfcGFyYW1zX3Rlc3Rf Y2hhbm5lbHMoaGFuZGxlLCBwYXJhbXMsIGNoYW5uZWxzKTsKLQlpZiAocmV0IDwgMCkKKwlpZiAo cmV0IDwgMCkgeworCQlzbmRfcGNtX2h3X3BhcmFtc19nZXRfY2hhbm5lbHNfbWluKHBhcmFtcywg Jm1pbl9jaGFubmVscyk7CisJCXNuZF9wY21faHdfcGFyYW1zX2dldF9jaGFubmVsc19tYXgocGFy YW1zLCAmbWF4X2NoYW5uZWxzKTsKKwkJaWd0X2RlYnVnKCJPdXRwdXQgZGV2aWNlIHN1cHBvcnRz IGJldHdlZW4gJXUgYW5kICIKKwkJCSAgIiV1IGNoYW5uZWxzLCByZXF1ZXN0ZWQgJWRcbiIsCisJ CQkgIG1pbl9jaGFubmVscywgbWF4X2NoYW5uZWxzLCBjaGFubmVscyk7CiAJCXJldHVybiBmYWxz ZTsKKwl9CiAKIAlyZXR1cm4gdHJ1ZTsKIH0KQEAgLTQwOSwxMyArNDI2LDE2IEBAIHZvaWQgYWxz YV9jb25maWd1cmVfb3V0cHV0KHN0cnVjdCBhbHNhICphbHNhLCBpbnQgY2hhbm5lbHMsCiAJc25k X3BjbV90ICpoYW5kbGU7CiAJaW50IHJldDsKIAlpbnQgaTsKKwlpbnQgc29mdF9yZXNhbXBsZSA9 IDA7IC8qIERvbid0IGFsbG93IEFMU0EgdG8gcmVzYW1wbGUgKi8KKwl1bnNpZ25lZCBpbnQgbGF0 ZW5jeSA9IDA7CiAKIAlmb3IgKGkgPSAwOyBpIDwgYWxzYS0+b3V0cHV0X2hhbmRsZXNfY291bnQ7 IGkrKykgewogCQloYW5kbGUgPSBhbHNhLT5vdXRwdXRfaGFuZGxlc1tpXTsKIAogCQlyZXQgPSBz bmRfcGNtX3NldF9wYXJhbXMoaGFuZGxlLCBTTkRfUENNX0ZPUk1BVF9TMTZfTEUsCiAJCQkJCSBT TkRfUENNX0FDQ0VTU19SV19JTlRFUkxFQVZFRCwKLQkJCQkJIGNoYW5uZWxzLCBzYW1wbGluZ19y YXRlLCAwLCAwKTsKKwkJCQkJIGNoYW5uZWxzLCBzYW1wbGluZ19yYXRlLAorCQkJCQkgc29mdF9y ZXNhbXBsZSwgbGF0ZW5jeSk7CiAJCWlndF9hc3NlcnQocmV0ID49IDApOwogCX0KIApkaWZmIC0t Z2l0IGEvbGliL2lndF9hdWRpby5jIGIvbGliL2lndF9hdWRpby5jCmluZGV4IDRjYzliZGYwLi5i YTgxNTJmMyAxMDA2NDQKLS0tIGEvbGliL2lndF9hdWRpby5jCisrKyBiL2xpYi9pZ3RfYXVkaW8u YwpAQCAtMzUsNyArMzUsNyBAQAogI2luY2x1ZGUgImlndF9hdWRpby5oIgogI2luY2x1ZGUgImln dF9jb3JlLmgiCiAKLSNkZWZpbmUgRlJFUVNfTUFYCTgKKyNkZWZpbmUgRlJFUVNfTUFYIDY0CiAK IC8qKgogICogU0VDVElPTjppZ3RfYXVkaW8KQEAgLTQ5LDkgKzQ5LDEwIEBACiAKIHN0cnVjdCBh dWRpb19zaWduYWxfZnJlcSB7CiAJaW50IGZyZXE7CisJaW50IGNoYW5uZWw7CiAKLQlzaG9ydCAq cGVyaW9kOwotCWludCBmcmFtZXM7CisJaW50MTZfdCAqcGVyaW9kOworCXNpemVfdCBwZXJpb2Rf bGVuOwogCWludCBvZmZzZXQ7CiB9OwogCkBAIC02MCw3ICs2MSw3IEBAIHN0cnVjdCBhdWRpb19z aWduYWwgewogCWludCBzYW1wbGluZ19yYXRlOwogCiAJc3RydWN0IGF1ZGlvX3NpZ25hbF9mcmVx IGZyZXFzW0ZSRVFTX01BWF07Ci0JaW50IGZyZXFzX2NvdW50OworCXNpemVfdCBmcmVxc19jb3Vu dDsKIH07CiAKIC8qKgpAQCAtODksMjEgKzkwLDI4IEBAIHN0cnVjdCBhdWRpb19zaWduYWwgKmF1 ZGlvX3NpZ25hbF9pbml0KGludCBjaGFubmVscywgaW50IHNhbXBsaW5nX3JhdGUpCiAgKiBhdWRp b19zaWduYWxfYWRkX2ZyZXF1ZW5jeToKICAqIEBzaWduYWw6IFRoZSB0YXJnZXQgc2lnbmFsIHN0 cnVjdHVyZQogICogQGZyZXF1ZW5jeTogVGhlIGZyZXF1ZW5jeSB0byBhZGQgdG8gdGhlIHNpZ25h bAorICogQGNoYW5uZWw6IFRoZSBjaGFubmVsIHRvIGFkZCB0aGlzIGZyZXF1ZW5jeSB0bywgb3Ig LTEgdG8gYWRkIGl0IHRvIGFsbAorICogY2hhbm5lbHMKICAqCiAgKiBBZGQgYSBmcmVxdWVuY3kg dG8gdGhlIHNpZ25hbC4KICAqCiAgKiBSZXR1cm5zOiBBbiBpbnRlZ2VyIGVxdWFsIHRvIHplcm8g Zm9yIHN1Y2Nlc3MgYW5kIG5lZ2F0aXZlIGZvciBmYWlsdXJlCiAgKi8KLWludCBhdWRpb19zaWdu YWxfYWRkX2ZyZXF1ZW5jeShzdHJ1Y3QgYXVkaW9fc2lnbmFsICpzaWduYWwsIGludCBmcmVxdWVu Y3kpCitpbnQgYXVkaW9fc2lnbmFsX2FkZF9mcmVxdWVuY3koc3RydWN0IGF1ZGlvX3NpZ25hbCAq c2lnbmFsLCBpbnQgZnJlcXVlbmN5LAorCQkJICAgICAgIGludCBjaGFubmVsKQogewotCWludCBp bmRleCA9IHNpZ25hbC0+ZnJlcXNfY291bnQ7CisJc2l6ZV90IGluZGV4ID0gc2lnbmFsLT5mcmVx c19jb3VudDsKKwlzdHJ1Y3QgYXVkaW9fc2lnbmFsX2ZyZXEgKmZyZXE7CiAKLQlpZiAoaW5kZXgg PT0gRlJFUVNfTUFYKQotCQlyZXR1cm4gLTE7CisJaWd0X2Fzc2VydChpbmRleCA8IEZSRVFTX01B WCk7CisJaWd0X2Fzc2VydChjaGFubmVsIDwgc2lnbmFsLT5jaGFubmVscyk7CiAKIAkvKiBTdGF5 IHdpdGhpbiB0aGUgTnlxdWlzdOKAk1NoYW5ub24gc2FtcGxpbmcgdGhlb3JlbS4gKi8KLQlpZiAo ZnJlcXVlbmN5ID4gc2lnbmFsLT5zYW1wbGluZ19yYXRlIC8gMikKKwlpZiAoZnJlcXVlbmN5ID4g c2lnbmFsLT5zYW1wbGluZ19yYXRlIC8gMikgeworCQlpZ3RfZGVidWcoIlNraXBwaW5nIGZyZXF1 ZW5jeSAlZDogdG9vIGhpZ2ggZm9yIGEgJWQgSHogIgorCQkJICAic2FtcGxpbmcgcmF0ZVxuIiwg ZnJlcXVlbmN5LCBzaWduYWwtPnNhbXBsaW5nX3JhdGUpOwogCQlyZXR1cm4gLTE7CisJfQogCiAJ LyogQ2xpcCB0aGUgZnJlcXVlbmN5IHRvIGFuIGludGVnZXIgbXVsdGlwbGUgb2YgdGhlIHNhbXBs aW5nIHJhdGUuCiAJICogVGhpcyB0byBiZSBhYmxlIHRvIHN0b3JlIGEgZnVsbCBwZXJpb2Qgb2Yg aXQgYW5kIHVzZSB0aGF0IGZvcgpAQCAtMTExLDExICsxMTksMTQgQEAgaW50IGF1ZGlvX3NpZ25h bF9hZGRfZnJlcXVlbmN5KHN0cnVjdCBhdWRpb19zaWduYWwgKnNpZ25hbCwgaW50IGZyZXF1ZW5j eSkKIAkgKi8KIAlmcmVxdWVuY3kgPSBzaWduYWwtPnNhbXBsaW5nX3JhdGUgLyAoc2lnbmFsLT5z YW1wbGluZ19yYXRlIC8gZnJlcXVlbmN5KTsKIAotCWlndF9kZWJ1ZygiQWRkaW5nIHRlc3QgZnJl cXVlbmN5ICVkXG4iLCBmcmVxdWVuY3kpOworCWlndF9kZWJ1ZygiQWRkaW5nIHRlc3QgZnJlcXVl bmN5ICVkIHRvIGNoYW5uZWwgJWRcbiIsCisJCSAgZnJlcXVlbmN5LCBjaGFubmVsKTsKKworCWZy ZXEgPSAmc2lnbmFsLT5mcmVxc1tpbmRleF07CisJbWVtc2V0KGZyZXEsIDAsIHNpemVvZigqZnJl cSkpOworCWZyZXEtPmZyZXEgPSBmcmVxdWVuY3k7CisJZnJlcS0+Y2hhbm5lbCA9IGNoYW5uZWw7 CiAKLQlzaWduYWwtPmZyZXFzW2luZGV4XS5mcmVxID0gZnJlcXVlbmN5OwotCXNpZ25hbC0+ZnJl cXNbaW5kZXhdLmZyYW1lcyA9IDA7Ci0Jc2lnbmFsLT5mcmVxc1tpbmRleF0ub2Zmc2V0ID0gMDsK IAlzaWduYWwtPmZyZXFzX2NvdW50Kys7CiAKIAlyZXR1cm4gMDsKQEAgLTEzMywyMCArMTQ0LDE3 IEBAIHZvaWQgYXVkaW9fc2lnbmFsX3N5bnRoZXNpemUoc3RydWN0IGF1ZGlvX3NpZ25hbCAqc2ln bmFsKQogewogCWludDE2X3QgKnBlcmlvZDsKIAlkb3VibGUgdmFsdWU7Ci0JaW50IGZyYW1lczsK KwlzaXplX3QgcGVyaW9kX2xlbjsKIAlpbnQgZnJlcTsKIAlpbnQgaSwgajsKIAotCWlmIChzaWdu YWwtPmZyZXFzX2NvdW50ID09IDApCi0JCXJldHVybjsKLQogCWZvciAoaSA9IDA7IGkgPCBzaWdu YWwtPmZyZXFzX2NvdW50OyBpKyspIHsKIAkJZnJlcSA9IHNpZ25hbC0+ZnJlcXNbaV0uZnJlcTsK LQkJZnJhbWVzID0gc2lnbmFsLT5zYW1wbGluZ19yYXRlIC8gZnJlcTsKKwkJcGVyaW9kX2xlbiA9 IHNpZ25hbC0+c2FtcGxpbmdfcmF0ZSAvIGZyZXE7CiAKLQkJcGVyaW9kID0gY2FsbG9jKDEsIGZy YW1lcyAqIHNpemVvZihzaG9ydCkpOworCQlwZXJpb2QgPSBjYWxsb2MoMSwgcGVyaW9kX2xlbiAq IHNpemVvZihpbnQxNl90KSk7CiAKLQkJZm9yIChqID0gMDsgaiA8IGZyYW1lczsgaisrKSB7CisJ CWZvciAoaiA9IDA7IGogPCBwZXJpb2RfbGVuOyBqKyspIHsKIAkJCXZhbHVlID0gMi4wICogTV9Q SSAqIGZyZXEgLyBzaWduYWwtPnNhbXBsaW5nX3JhdGUgKiBqOwogCQkJdmFsdWUgPSBzaW4odmFs dWUpICogSU5UMTZfTUFYIC8gc2lnbmFsLT5mcmVxc19jb3VudDsKIApAQCAtMTU0LDI2ICsxNjIs MzQgQEAgdm9pZCBhdWRpb19zaWduYWxfc3ludGhlc2l6ZShzdHJ1Y3QgYXVkaW9fc2lnbmFsICpz aWduYWwpCiAJCX0KIAogCQlzaWduYWwtPmZyZXFzW2ldLnBlcmlvZCA9IHBlcmlvZDsKLQkJc2ln bmFsLT5mcmVxc1tpXS5mcmFtZXMgPSBmcmFtZXM7CisJCXNpZ25hbC0+ZnJlcXNbaV0ucGVyaW9k X2xlbiA9IHBlcmlvZF9sZW47CiAJfQogfQogCiAvKioKLSAqIGF1ZGlvX3NpZ25hbF9zeW50aGVz aXplOgorICogYXVkaW9fc2lnbmFsX2RlaW5pdDoKKyAqCisgKiBSZWxlYXNlIHRoZSBzaWduYWwu CisgKi8KK3ZvaWQgYXVkaW9fc2lnbmFsX2RlaW5pdChzdHJ1Y3QgYXVkaW9fc2lnbmFsICpzaWdu YWwpCit7CisJYXVkaW9fc2lnbmFsX3Jlc2V0KHNpZ25hbCk7CisJZnJlZShzaWduYWwpOworfQor CisvKioKKyAqIGF1ZGlvX3NpZ25hbF9yZXNldDoKICAqIEBzaWduYWw6IFRoZSB0YXJnZXQgc2ln bmFsIHN0cnVjdHVyZQogICoKICAqIEZyZWUgdGhlIHJlc291cmNlcyBhbGxvY2F0ZWQgYnkgYXVk aW9fc2lnbmFsX3N5bnRoZXNpemUgYW5kIHJlbW92ZQogICogdGhlIHByZXZpb3VzbHktYWRkZWQg ZnJlcXVlbmNpZXMuCiAgKi8KLXZvaWQgYXVkaW9fc2lnbmFsX2NsZWFuKHN0cnVjdCBhdWRpb19z aWduYWwgKnNpZ25hbCkKK3ZvaWQgYXVkaW9fc2lnbmFsX3Jlc2V0KHN0cnVjdCBhdWRpb19zaWdu YWwgKnNpZ25hbCkKIHsKLQlpbnQgaTsKKwlzaXplX3QgaTsKIAogCWZvciAoaSA9IDA7IGkgPCBz aWduYWwtPmZyZXFzX2NvdW50OyBpKyspIHsKLQkJaWYgKHNpZ25hbC0+ZnJlcXNbaV0ucGVyaW9k KQotCQkJZnJlZShzaWduYWwtPmZyZXFzW2ldLnBlcmlvZCk7Ci0KLQkJbWVtc2V0KCZzaWduYWwt PmZyZXFzW2ldLCAwLCBzaXplb2Yoc3RydWN0IGF1ZGlvX3NpZ25hbF9mcmVxKSk7CisJCWZyZWUo c2lnbmFsLT5mcmVxc1tpXS5wZXJpb2QpOwogCX0KIAogCXNpZ25hbC0+ZnJlcXNfY291bnQgPSAw OwpAQCAtMTgzLDQ0ICsxOTksNDUgQEAgdm9pZCBhdWRpb19zaWduYWxfY2xlYW4oc3RydWN0IGF1 ZGlvX3NpZ25hbCAqc2lnbmFsKQogICogYXVkaW9fc2lnbmFsX2ZpbGw6CiAgKiBAc2lnbmFsOiBU aGUgdGFyZ2V0IHNpZ25hbCBzdHJ1Y3R1cmUKICAqIEBidWZmZXI6IFRoZSB0YXJnZXQgYnVmZmVy IHRvIGZpbGwKLSAqIEBmcmFtZXM6IFRoZSBudW1iZXIgb2YgZnJhbWVzIHRvIGZpbGwKKyAqIEBz YW1wbGVzOiBUaGUgbnVtYmVyIG9mIHNhbXBsZXMgdG8gZmlsbAogICoKLSAqIEZpbGwgdGhlIHJl cXVlc3RlZCBudW1iZXIgb2YgZnJhbWVzIHRvIHRoZSB0YXJnZXQgYnVmZmVyIHdpdGggdGhlIGF1 ZGlvCisgKiBGaWxsIHRoZSByZXF1ZXN0ZWQgbnVtYmVyIG9mIHNhbXBsZXMgdG8gdGhlIHRhcmdl dCBidWZmZXIgd2l0aCB0aGUgYXVkaW8KICAqIHNpZ25hbCBkYXRhIChpbiBpbnRlcmxlYXZlZCBT MTZfTEUgZm9ybWF0KSwgYXQgdGhlIHJlcXVlc3RlZCBzYW1wbGluZyByYXRlCiAgKiBhbmQgbnVt YmVyIG9mIGNoYW5uZWxzLgogICovCi12b2lkIGF1ZGlvX3NpZ25hbF9maWxsKHN0cnVjdCBhdWRp b19zaWduYWwgKnNpZ25hbCwgaW50MTZfdCAqYnVmZmVyLCBpbnQgZnJhbWVzKQordm9pZCBhdWRp b19zaWduYWxfZmlsbChzdHJ1Y3QgYXVkaW9fc2lnbmFsICpzaWduYWwsIGludDE2X3QgKmJ1ZmZl ciwKKwkJICAgICAgIHNpemVfdCBidWZmZXJfbGVuKQogewogCWludDE2X3QgKmRlc3RpbmF0aW9u LCAqc291cmNlOworCXN0cnVjdCBhdWRpb19zaWduYWxfZnJlcSAqZnJlcTsKIAlpbnQgdG90YWw7 Ci0JaW50IGZyZXFfZnJhbWVzOwotCWludCBmcmVxX29mZnNldDsKIAlpbnQgY291bnQ7CiAJaW50 IGksIGosIGs7CiAKLQltZW1zZXQoYnVmZmVyLCAwLCBzaXplb2YoaW50MTZfdCkgKiBzaWduYWwt PmNoYW5uZWxzICogZnJhbWVzKTsKKwltZW1zZXQoYnVmZmVyLCAwLCBzaXplb2YoaW50MTZfdCkg KiBzaWduYWwtPmNoYW5uZWxzICogYnVmZmVyX2xlbik7CiAKIAlmb3IgKGkgPSAwOyBpIDwgc2ln bmFsLT5mcmVxc19jb3VudDsgaSsrKSB7CisJCWZyZXEgPSAmc2lnbmFsLT5mcmVxc1tpXTsKIAkJ dG90YWwgPSAwOwogCi0JCXdoaWxlICh0b3RhbCA8IGZyYW1lcykgewotCQkJZnJlcV9mcmFtZXMg PSBzaWduYWwtPmZyZXFzW2ldLmZyYW1lczsKLQkJCWZyZXFfb2Zmc2V0ID0gc2lnbmFsLT5mcmVx c1tpXS5vZmZzZXQ7CisJCWlndF9hc3NlcnQoZnJlcS0+cGVyaW9kKTsKIAotCQkJc291cmNlID0g c2lnbmFsLT5mcmVxc1tpXS5wZXJpb2QgKyBmcmVxX29mZnNldDsKKwkJd2hpbGUgKHRvdGFsIDwg YnVmZmVyX2xlbikgeworCQkJc291cmNlID0gZnJlcS0+cGVyaW9kICsgZnJlcS0+b2Zmc2V0Owog CQkJZGVzdGluYXRpb24gPSBidWZmZXIgKyB0b3RhbCAqIHNpZ25hbC0+Y2hhbm5lbHM7CiAKLQkJ CWNvdW50ID0gZnJlcV9mcmFtZXMgLSBmcmVxX29mZnNldDsKLQkJCWlmIChjb3VudCA+IChmcmFt ZXMgLSB0b3RhbCkpCi0JCQkJY291bnQgPSBmcmFtZXMgLSB0b3RhbDsKKwkJCWNvdW50ID0gZnJl cS0+cGVyaW9kX2xlbiAtIGZyZXEtPm9mZnNldDsKKwkJCWlmIChjb3VudCA+IGJ1ZmZlcl9sZW4g LSB0b3RhbCkKKwkJCQljb3VudCA9IGJ1ZmZlcl9sZW4gLSB0b3RhbDsKIAotCQkJZnJlcV9vZmZz ZXQgKz0gY291bnQ7Ci0JCQlmcmVxX29mZnNldCAlPSBmcmVxX2ZyYW1lczsKLQotCQkJc2lnbmFs LT5mcmVxc1tpXS5vZmZzZXQgPSBmcmVxX29mZnNldDsKKwkJCWZyZXEtPm9mZnNldCArPSBjb3Vu dDsKKwkJCWZyZXEtPm9mZnNldCAlPSBmcmVxLT5wZXJpb2RfbGVuOwogCiAJCQlmb3IgKGogPSAw OyBqIDwgY291bnQ7IGorKykgewogCQkJCWZvciAoayA9IDA7IGsgPCBzaWduYWwtPmNoYW5uZWxz OyBrKyspIHsKKwkJCQkJaWYgKGZyZXEtPmNoYW5uZWwgPj0gMCAmJgorCQkJCQkgICAgZnJlcS0+ Y2hhbm5lbCAhPSBrKQorCQkJCQkJY29udGludWU7CiAJCQkJCWRlc3RpbmF0aW9uW2ogKiBzaWdu YWwtPmNoYW5uZWxzICsga10gKz0gc291cmNlW2pdOwogCQkJCX0KIAkJCX0KQEAgLTIzNywxMSAr MjU0LDExIEBAIHZvaWQgYXVkaW9fc2lnbmFsX2ZpbGwoc3RydWN0IGF1ZGlvX3NpZ25hbCAqc2ln bmFsLCBpbnQxNl90ICpidWZmZXIsIGludCBmcmFtZXMpCiAgKiBzYW1wbGluZ19yYXRlIGlzIGdp dmVuIGluIEh6LiBkYXRhX2xlbiBpcyB0aGUgbnVtYmVyIG9mIGVsZW1lbnRzIGluIGRhdGEuCiAg Ki8KIGJvb2wgYXVkaW9fc2lnbmFsX2RldGVjdChzdHJ1Y3QgYXVkaW9fc2lnbmFsICpzaWduYWws IGludCBzYW1wbGluZ19yYXRlLAotCQkJIGRvdWJsZSAqZGF0YSwgc2l6ZV90IGRhdGFfbGVuKQor CQkJIGludCBjaGFubmVsLCBkb3VibGUgKmRhdGEsIHNpemVfdCBkYXRhX2xlbikKIHsKIAlzaXpl X3QgYW1wbGl0dWRlX2xlbiA9IGRhdGFfbGVuIC8gMiArIDE7CiAJZG91YmxlIGFtcGxpdHVkZVth bXBsaXR1ZGVfbGVuXTsKLQlib29sIGRldGVjdGVkW3NpZ25hbC0+ZnJlcXNfY291bnRdOworCWJv b2wgZGV0ZWN0ZWRbRlJFUVNfTUFYXTsKIAlpbnQgcmV0LCBlcHNpbG9uLCBmcmVxLCBtYXhfZnJl cTsKIAlkb3VibGUgbWF4LCB0aHJlc2hvbGQ7CiAJc2l6ZV90IGksIGo7CkBAIC0yNDksNyArMjY2 LDcgQEAgYm9vbCBhdWRpb19zaWduYWxfZGV0ZWN0KHN0cnVjdCBhdWRpb19zaWduYWwgKnNpZ25h bCwgaW50IHNhbXBsaW5nX3JhdGUsCiAKIAkvKiBBbGxvd2VkIGVycm9yIGluIEh6IGR1ZSB0byBG RlQgc3RlcCAqLwogCWVwc2lsb24gPSBzYW1wbGluZ19yYXRlIC8gZGF0YV9sZW47Ci0JaWd0X2Rl YnVnKCJhbGxvd2VkIGZyZXEuIGVycm9yOiAlZCBIelxuIiwgZXBzaWxvbik7CisJaWd0X2RlYnVn KCJBbGxvd2VkIGZyZXEuIGVycm9yOiAlZCBIelxuIiwgZXBzaWxvbik7CiAKIAlyZXQgPSBnc2xf ZmZ0X3JlYWxfcmFkaXgyX3RyYW5zZm9ybShkYXRhLCAxLCBkYXRhX2xlbik7CiAJaWd0X2Fzc2Vy dChyZXQgPT0gMCk7CkBAIC0yOTUsNiArMzEyLDEwIEBAIGJvb2wgYXVkaW9fc2lnbmFsX2RldGVj dChzdHJ1Y3QgYXVkaW9fc2lnbmFsICpzaWduYWwsIGludCBzYW1wbGluZ19yYXRlLAogCQkgKiBp bnZhbGlkLiAqLwogCQlpZiAoYW1wbGl0dWRlW2ldIDwgdGhyZXNob2xkKSB7CiAJCQlmb3IgKGog PSAwOyBqIDwgc2lnbmFsLT5mcmVxc19jb3VudDsgaisrKSB7CisJCQkJaWYgKHNpZ25hbC0+ZnJl cXNbal0uY2hhbm5lbCA+PSAwICYmCisJCQkJICAgIHNpZ25hbC0+ZnJlcXNbal0uY2hhbm5lbCAh PSBjaGFubmVsKQorCQkJCQljb250aW51ZTsKKwogCQkJCWlmIChzaWduYWwtPmZyZXFzW2pdLmZy ZXEgPgogCQkJCSAgICBtYXhfZnJlcSAtIGVwc2lsb24gJiYKIAkJCQkgICAgc2lnbmFsLT5mcmVx c1tqXS5mcmVxIDwKQEAgLTMyNyw2ICszNDgsMTAgQEAgYm9vbCBhdWRpb19zaWduYWxfZGV0ZWN0 KHN0cnVjdCBhdWRpb19zaWduYWwgKnNpZ25hbCwgaW50IHNhbXBsaW5nX3JhdGUsCiAKIAkvKiBD aGVjayB0aGF0IGFsbCBmcmVxdWVuY2llcyB3ZSBnZW5lcmF0ZWQgaGF2ZSBiZWVuIGRldGVjdGVk LiAqLwogCWZvciAoaSA9IDA7IGkgPCBzaWduYWwtPmZyZXFzX2NvdW50OyBpKyspIHsKKwkJaWYg KHNpZ25hbC0+ZnJlcXNbaV0uY2hhbm5lbCA+PSAwICYmCisJCSAgICBzaWduYWwtPmZyZXFzW2ld LmNoYW5uZWwgIT0gY2hhbm5lbCkKKwkJCWNvbnRpbnVlOworCiAJCWlmICghZGV0ZWN0ZWRbaV0p IHsKIAkJCWlndF9kZWJ1ZygiTWlzc2luZyBmcmVxdWVuY3k6ICVkXG4iLAogCQkJCSAgc2lnbmFs LT5mcmVxc1tpXS5mcmVxKTsKZGlmZiAtLWdpdCBhL2xpYi9pZ3RfYXVkaW8uaCBiL2xpYi9pZ3Rf YXVkaW8uaAppbmRleCA0YWE0M2U2OS4uZmUyNmJiNTcgMTAwNjQ0Ci0tLSBhL2xpYi9pZ3RfYXVk aW8uaAorKysgYi9saWIvaWd0X2F1ZGlvLmgKQEAgLTM1LDEyICszNSwxNSBAQAogc3RydWN0IGF1 ZGlvX3NpZ25hbDsKIAogc3RydWN0IGF1ZGlvX3NpZ25hbCAqYXVkaW9fc2lnbmFsX2luaXQoaW50 IGNoYW5uZWxzLCBpbnQgc2FtcGxpbmdfcmF0ZSk7Ci1pbnQgYXVkaW9fc2lnbmFsX2FkZF9mcmVx dWVuY3koc3RydWN0IGF1ZGlvX3NpZ25hbCAqc2lnbmFsLCBpbnQgZnJlcXVlbmN5KTsKK3ZvaWQg YXVkaW9fc2lnbmFsX2RlaW5pdChzdHJ1Y3QgYXVkaW9fc2lnbmFsICpzaWduYWwpOworaW50IGF1 ZGlvX3NpZ25hbF9hZGRfZnJlcXVlbmN5KHN0cnVjdCBhdWRpb19zaWduYWwgKnNpZ25hbCwgaW50 IGZyZXF1ZW5jeSwKKwkJCSAgICAgICBpbnQgY2hhbm5lbCk7CiB2b2lkIGF1ZGlvX3NpZ25hbF9z eW50aGVzaXplKHN0cnVjdCBhdWRpb19zaWduYWwgKnNpZ25hbCk7Ci12b2lkIGF1ZGlvX3NpZ25h bF9jbGVhbihzdHJ1Y3QgYXVkaW9fc2lnbmFsICpzaWduYWwpOwotdm9pZCBhdWRpb19zaWduYWxf ZmlsbChzdHJ1Y3QgYXVkaW9fc2lnbmFsICpzaWduYWwsIGludDE2X3QgKmJ1ZmZlciwgaW50IGZy YW1lcyk7Cit2b2lkIGF1ZGlvX3NpZ25hbF9yZXNldChzdHJ1Y3QgYXVkaW9fc2lnbmFsICpzaWdu YWwpOwordm9pZCBhdWRpb19zaWduYWxfZmlsbChzdHJ1Y3QgYXVkaW9fc2lnbmFsICpzaWduYWws IGludDE2X3QgKmJ1ZmZlciwKKwkJICAgICAgIHNpemVfdCBidWZmZXJfbGVuKTsKIGJvb2wgYXVk aW9fc2lnbmFsX2RldGVjdChzdHJ1Y3QgYXVkaW9fc2lnbmFsICpzaWduYWwsIGludCBzYW1wbGlu Z19yYXRlLAotCQkJIGRvdWJsZSAqZGF0YSwgc2l6ZV90IGRhdGFfbGVuKTsKKwkJCSBpbnQgY2hh bm5lbCwgZG91YmxlICpkYXRhLCBzaXplX3QgZGF0YV9sZW4pOwogc2l6ZV90IGF1ZGlvX2V4dHJh Y3RfY2hhbm5lbF9zMzJfbGUoZG91YmxlICpkc3QsIHNpemVfdCBkc3RfY2FwLAogCQkJCSAgICBp bnQzMl90ICpzcmMsIHNpemVfdCBzcmNfbGVuLAogCQkJCSAgICBpbnQgbl9jaGFubmVscywgaW50 IGNoYW5uZWwpOwpkaWZmIC0tZ2l0IGEvdGVzdHMva21zX2NoYW1lbGl1bS5jIGIvdGVzdHMva21z X2NoYW1lbGl1bS5jCmluZGV4IDQ0MDEwNTM0Li4xMmFiOTk5NyAxMDA2NDQKLS0tIGEvdGVzdHMv a21zX2NoYW1lbGl1bS5jCisrKyBiL3Rlc3RzL2ttc19jaGFtZWxpdW0uYwpAQCAtNzc3LDE2ICs3 NzcsMTYgQEAgZG9fdGVzdF9kaXNwbGF5X2F1ZGlvKGRhdGFfdCAqZGF0YSwgc3RydWN0IGNoYW1l bGl1bV9wb3J0ICpwb3J0LAogCQkgICAgICBzdHJ1Y3QgYWxzYSAqYWxzYSwgaW50IHBsYXliYWNr X2NoYW5uZWxzLAogCQkgICAgICBpbnQgcGxheWJhY2tfcmF0ZSkKIHsKLQlpbnQgcmV0LCBjYXB0 dXJlX3JhdGUsIGNhcHR1cmVfY2hhbm5lbHMsIG1zZWM7CisJaW50IHJldCwgY2FwdHVyZV9yYXRl LCBjYXB0dXJlX2NoYW5uZWxzLCBtc2VjLCBmcmVxOwogCXN0cnVjdCBjaGFtZWxpdW1fYXVkaW9f ZmlsZSAqYXVkaW9fZmlsZTsKIAlzdHJ1Y3QgY2hhbWVsaXVtX3N0cmVhbSAqc3RyZWFtOwogCWVu dW0gY2hhbWVsaXVtX3N0cmVhbV9yZWFsdGltZV9tb2RlIHN0cmVhbV9tb2RlOwogCXN0cnVjdCBh dWRpb19zaWduYWwgKnNpZ25hbDsKIAlpbnQzMl90ICpyZWN2LCAqYnVmOwogCWRvdWJsZSAqY2hh bm5lbDsKLQlzaXplX3QgaSwgc3RyZWFrLCBwYWdlX2NvdW50OworCXNpemVfdCBpLCBqLCBzdHJl YWssIHBhZ2VfY291bnQ7CiAJc2l6ZV90IHJlY3ZfbGVuLCBidWZfbGVuLCBidWZfY2FwLCBidWZf c2l6ZSwgY2hhbm5lbF9sZW47Ci0JYm9vbCBvazsKKwlib29sIG9rLCBzdWNjZXNzOwogCWNoYXIg ZHVtcF9zdWZmaXhbNjRdOwogCWNoYXIgKmR1bXBfcGF0aCA9IE5VTEw7CiAJaW50IGR1bXBfZmQg PSAtMTsKQEAgLTc5NCwxMCArNzk0LDE1IEBAIGRvX3Rlc3RfZGlzcGxheV9hdWRpbyhkYXRhX3Qg KmRhdGEsIHN0cnVjdCBjaGFtZWxpdW1fcG9ydCAqcG9ydCwKIAlzdHJ1Y3QgYXVkaW9fc3RhdGUg c3RhdGUgPSB7fTsKIAogCWlmICghYWxzYV90ZXN0X291dHB1dF9jb25maWd1cmF0aW9uKGFsc2Es IHBsYXliYWNrX2NoYW5uZWxzLAotCQkJCQkgICAgcGxheWJhY2tfcmF0ZSkpCisJCQkJCSAgICBw bGF5YmFja19yYXRlKSkgeworCQlpZ3RfZGVidWcoIlNraXBwaW5nIHRlc3Qgd2l0aCBzYW1wbGUg cmF0ZSAlZCBhbmQgJWQgY2hhbm5lbHMgIgorCQkJICAiYmVjYXVzZSBzZWxlY3RlZCBvdXRwdXQg ZGV2aWNlcyBkb24ndCBzdXBwb3J0IHRoaXMgIgorCQkJICAiY29uZmlndXJhdGlvblxuIiwgcGxh eWJhY2tfcmF0ZSwgcGxheWJhY2tfY2hhbm5lbHMpOwogCQlyZXR1cm4gZmFsc2U7CisJfQogCi0J aWd0X2RlYnVnKCJUZXN0aW5nIHdpdGggcGxheWJhY2sgc2FtcGxpbmcgcmF0ZSAlZFxuIiwgcGxh eWJhY2tfcmF0ZSk7CisJaWd0X2RlYnVnKCJUZXN0aW5nIHdpdGggcGxheWJhY2sgc2FtcGxpbmcg cmF0ZSAlZCBhbmQgJWQgY2hhbm5lbHNcbiIsCisJCSAgcGxheWJhY2tfcmF0ZSwgcGxheWJhY2tf Y2hhbm5lbHMpOwogCWFsc2FfY29uZmlndXJlX291dHB1dChhbHNhLCBwbGF5YmFja19jaGFubmVs cywgcGxheWJhY2tfcmF0ZSk7CiAKIAljaGFtZWxpdW1fc3RhcnRfY2FwdHVyaW5nX2F1ZGlvKGRh dGEtPmNoYW1lbGl1bSwgcG9ydCwgZmFsc2UpOwpAQCAtODI1LDggKzgzMCwxMiBAQCBkb190ZXN0 X2Rpc3BsYXlfYXVkaW8oZGF0YV90ICpkYXRhLCBzdHJ1Y3QgY2hhbWVsaXVtX3BvcnQgKnBvcnQs CiAJc2lnbmFsID0gYXVkaW9fc2lnbmFsX2luaXQocGxheWJhY2tfY2hhbm5lbHMsIHBsYXliYWNr X3JhdGUpOwogCWlndF9hc3NlcnQoc2lnbmFsKTsKIAotCWZvciAoaSA9IDA7IGkgPCB0ZXN0X2Zy ZXF1ZW5jaWVzX2NvdW50OyBpKyspCi0JCWF1ZGlvX3NpZ25hbF9hZGRfZnJlcXVlbmN5KHNpZ25h bCwgdGVzdF9mcmVxdWVuY2llc1tpXSk7CisJZm9yIChpID0gMDsgaSA8IHRlc3RfZnJlcXVlbmNp ZXNfY291bnQ7IGkrKykgeworCQlmb3IgKGogPSAwOyBqIDwgcGxheWJhY2tfY2hhbm5lbHM7IGor KykgeworCQkJZnJlcSA9IHRlc3RfZnJlcXVlbmNpZXNbaV07CisJCQlhdWRpb19zaWduYWxfYWRk X2ZyZXF1ZW5jeShzaWduYWwsIGZyZXEsIGopOworCQl9CisJfQogCWF1ZGlvX3NpZ25hbF9zeW50 aGVzaXplKHNpZ25hbCk7CiAKIAlzdGF0ZS5zaWduYWwgPSBzaWduYWw7CkBAIC04NTEsMTAgKzg2 MCwxMSBAQCBkb190ZXN0X2Rpc3BsYXlfYXVkaW8oZGF0YV90ICpkYXRhLCBzdHJ1Y3QgY2hhbWVs aXVtX3BvcnQgKnBvcnQsCiAJcmVjdiA9IE5VTEw7CiAJcmVjdl9sZW4gPSAwOwogCisJc3VjY2Vz cyA9IGZhbHNlOwogCXN0cmVhayA9IDA7CiAJbXNlYyA9IDA7CiAJaSA9IDA7Ci0Jd2hpbGUgKHN0 cmVhayA8IE1JTl9TVFJFQUsgJiYgbXNlYyA8IEFVRElPX1RJTUVPVVQpIHsKKwl3aGlsZSAoIXN1 Y2Nlc3MgJiYgbXNlYyA8IEFVRElPX1RJTUVPVVQpIHsKIAkJb2sgPSBjaGFtZWxpdW1fc3RyZWFt X3JlY2VpdmVfcmVhbHRpbWVfYXVkaW8oc3RyZWFtLAogCQkJCQkJCSAgICAgJnBhZ2VfY291bnQs CiAJCQkJCQkJICAgICAmcmVjdiwgJnJlY3ZfbGVuKTsKQEAgLTg3MiwyMSArODgyLDI3IEBAIGRv X3Rlc3RfZGlzcGxheV9hdWRpbyhkYXRhX3QgKmRhdGEsIHN0cnVjdCBjaGFtZWxpdW1fcG9ydCAq cG9ydCwKIAkJCWlndF9hc3NlcnQod3JpdGUoZHVtcF9mZCwgYnVmLCBidWZfc2l6ZSkgPT0gYnVm X3NpemUpOwogCQl9CiAKLQkJLyogVE9ETzogY2hlY2sgb3RoZXIgY2hhbm5lbHMgdG9vLCBub3Qg anVzdCB0aGUgZmlyc3Qgb25lICovCi0JCWF1ZGlvX2V4dHJhY3RfY2hhbm5lbF9zMzJfbGUoY2hh bm5lbCwgY2hhbm5lbF9sZW4sIGJ1ZiwgYnVmX2xlbiwKLQkJCQkJICAgICBjYXB0dXJlX2NoYW5u ZWxzLCAwKTsKLQogCQltc2VjID0gaSAqIGNoYW5uZWxfbGVuIC8gKGRvdWJsZSkgY2FwdHVyZV9y YXRlICogMTAwMDsKIAkJaWd0X2RlYnVnKCJEZXRlY3RpbmcgYXVkaW8gc2lnbmFsLCB0PSVkIG1z ZWNcbiIsIG1zZWMpOwogCi0JCWlmIChhdWRpb19zaWduYWxfZGV0ZWN0KHNpZ25hbCwgY2FwdHVy ZV9yYXRlLCBjaGFubmVsLAotCQkJCQljaGFubmVsX2xlbikpCi0JCQlzdHJlYWsrKzsKLQkJZWxz ZQotCQkJc3RyZWFrID0gMDsKKwkJZm9yIChqID0gMDsgaiA8IHBsYXliYWNrX2NoYW5uZWxzOyBq KyspIHsKKwkJCWlndF9kZWJ1ZygiUHJvY2Vzc2luZyBjaGFubmVsICV6dVxuIiwgaik7CisKKwkJ CWF1ZGlvX2V4dHJhY3RfY2hhbm5lbF9zMzJfbGUoY2hhbm5lbCwgY2hhbm5lbF9sZW4sCisJCQkJ CQkgICAgIGJ1ZiwgYnVmX2xlbiwKKwkJCQkJCSAgICAgY2FwdHVyZV9jaGFubmVscywgaik7CisK KwkJCWlmIChhdWRpb19zaWduYWxfZGV0ZWN0KHNpZ25hbCwgY2FwdHVyZV9yYXRlLCBqLAorCQkJ CQkJY2hhbm5lbCwgY2hhbm5lbF9sZW4pKQorCQkJCXN0cmVhaysrOworCQkJZWxzZQorCQkJCXN0 cmVhayA9IDA7CisJCX0KIAogCQlidWZfbGVuID0gMDsKIAkJaSsrOworCisJCXN1Y2Nlc3MgPSBz dHJlYWsgPT0gTUlOX1NUUkVBSyAqIHBsYXliYWNrX2NoYW5uZWxzOwogCX0KIAogCWlndF9kZWJ1 ZygiU3RvcHBpbmcgYXVkaW8gcGxheWJhY2tcbiIpOwpAQCAtOTIxLDEyICs5MzcsMTAgQEAgZG9f dGVzdF9kaXNwbGF5X2F1ZGlvKGRhdGFfdCAqZGF0YSwgc3RydWN0IGNoYW1lbGl1bV9wb3J0ICpw b3J0LAogCQljaGFtZWxpdW1fZGVzdHJveV9hdWRpb19maWxlKGF1ZGlvX2ZpbGUpOwogCX0KIAot CWF1ZGlvX3NpZ25hbF9jbGVhbihzaWduYWwpOwotCWZyZWUoc2lnbmFsKTsKLQorCWF1ZGlvX3Np Z25hbF9kZWluaXQoc2lnbmFsKTsKIAljaGFtZWxpdW1fc3RyZWFtX2RlaW5pdChzdHJlYW0pOwog Ci0JaWd0X2Fzc2VydChzdHJlYWsgPT0gTUlOX1NUUkVBSyk7CisJaWd0X2Fzc2VydChzdWNjZXNz KTsKIAlyZXR1cm4gdHJ1ZTsKIH0KIAotLSAKMi4yMS4wCgpfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwppZ3QtZGV2IG1haWxpbmcgbGlzdAppZ3QtZGV2QGxp c3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFu L2xpc3RpbmZvL2lndC1kZXY=