From mboxrd@z Thu Jan 1 00:00:00 1970 From: Juergen Gross Subject: [PATCH v3 03/17] x86: revert 5784de3e2067ed73efc2fe42e62831e8ae7f46c4 Date: Fri, 9 Feb 2018 15:01:37 +0100 Message-ID: <20180209140151.24714-4-jgross@suse.com> References: <20180209140151.24714-1-jgross@suse.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from all-amaz-eas1.inumbo.com ([34.197.232.57]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ek9Fg-0003CK-Of for xen-devel@lists.xenproject.org; Fri, 09 Feb 2018 14:02:08 +0000 In-Reply-To: <20180209140151.24714-1-jgross@suse.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: xen-devel@lists.xenproject.org Cc: Juergen Gross , andrew.cooper3@citrix.com, dfaggioli@suse.com, jbeulich@suse.com List-Id: xen-devel@lists.xenproject.org UmV2ZXJ0IHBhdGNoICJ4ODY6IE1lbHRkb3duIGJhbmQtYWlkIGFnYWluc3QgbWFsaWNpb3VzIDY0 LWJpdCBQVgpndWVzdHMiIGluIG9yZGVyIHRvIHByZXBhcmUgZm9yIGEgZmluYWwgTWVsdGRvd24g bWl0aWdhdGlvbi4KClNpZ25lZC1vZmYtYnk6IEp1ZXJnZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNv bT4KLS0tCiB4ZW4vYXJjaC94ODYvZG9tYWluLmMgICAgICAgICAgICAgIHwgICA1IC0KIHhlbi9h cmNoL3g4Ni9tbS5jICAgICAgICAgICAgICAgICAgfCAgMjEgLS0tLQogeGVuL2FyY2gveDg2L3Nt cGJvb3QuYyAgICAgICAgICAgICB8IDIwMCAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tCiB4ZW4vYXJjaC94ODYveDg2XzY0L2FzbS1vZmZzZXRzLmMgIHwgICAyIC0KIHhlbi9h cmNoL3g4Ni94ODZfNjQvY29tcGF0L2VudHJ5LlMgfCAgMTIgKy0tCiB4ZW4vYXJjaC94ODYveDg2 XzY0L2VudHJ5LlMgICAgICAgIHwgMTQyICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiB4ZW4v aW5jbHVkZS9hc20teDg2L2FzbV9kZWZucy5oICAgIHwgICA5IC0tCiB4ZW4vaW5jbHVkZS9hc20t eDg2L2N1cnJlbnQuaCAgICAgIHwgIDEyIC0tLQogeGVuL2luY2x1ZGUvYXNtLXg4Ni9wcm9jZXNz b3IuaCAgICB8ICAgMSAtCiB4ZW4vaW5jbHVkZS9hc20teDg2L3g4Nl82NC9wYWdlLmggIHwgICA1 ICstCiAxMCBmaWxlcyBjaGFuZ2VkLCA4IGluc2VydGlvbnMoKyksIDQwMSBkZWxldGlvbnMoLSkK CmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvZG9tYWluLmMgYi94ZW4vYXJjaC94ODYvZG9tYWlu LmMKaW5kZXggNzUyZTBmYWZlZS4uNmRkNDdiYjJiYiAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2 L2RvbWFpbi5jCisrKyBiL3hlbi9hcmNoL3g4Ni9kb21haW4uYwpAQCAtMTUyMCw5ICsxNTIwLDYg QEAgdm9pZCBwYXJhdmlydF9jdHh0X3N3aXRjaF90byhzdHJ1Y3QgdmNwdSAqdikKIHsKICAgICB1 bnNpZ25lZCBsb25nIGNyNDsKIAotICAgIHRoaXNfY3B1KHJvb3RfcGd0KVtyb290X3RhYmxlX29m ZnNldChQRVJET01BSU5fVklSVF9TVEFSVCldID0KLSAgICAgICAgbDRlX2Zyb21fcGFnZSh2LT5k b21haW4tPmFyY2gucGVyZG9tYWluX2wzX3BnLCBfX1BBR0VfSFlQRVJWSVNPUl9SVyk7Ci0KICAg ICBjcjQgPSBwdl9ndWVzdF9jcjRfdG9fcmVhbF9jcjQodik7CiAgICAgaWYgKCB1bmxpa2VseShj cjQgIT0gcmVhZF9jcjQoKSkgKQogICAgICAgICB3cml0ZV9jcjQoY3I0KTsKQEAgLTE2OTQsOCAr MTY5MSw2IEBAIHZvaWQgY29udGV4dF9zd2l0Y2goc3RydWN0IHZjcHUgKnByZXYsIHN0cnVjdCB2 Y3B1ICpuZXh0KQogCiAgICAgQVNTRVJUKGxvY2FsX2lycV9pc19lbmFibGVkKCkpOwogCi0gICAg Z2V0X2NwdV9pbmZvKCktPnhlbl9jcjMgPSAwOwotCiAgICAgaWYgKCB1bmxpa2VseShkaXJ0eV9j cHUgIT0gY3B1KSAmJiBkaXJ0eV9jcHUgIT0gVkNQVV9DUFVfQ0xFQU4gKQogICAgIHsKICAgICAg ICAgLyogUmVtb3RlIENQVSBjYWxscyBfX3N5bmNfbG9jYWxfZXhlY3N0YXRlKCkgZnJvbSBmbHVz aCBJUEkgaGFuZGxlci4gKi8KZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni9tbS5jIGIveGVuL2Fy Y2gveDg2L21tLmMKaW5kZXggZmEwZGE3YjBmZi4uZTc5NTIzOTgyOSAxMDA2NDQKLS0tIGEveGVu L2FyY2gveDg2L21tLmMKKysrIGIveGVuL2FyY2gveDg2L21tLmMKQEAgLTM1NDIsNyArMzU0Miw2 IEBAIGxvbmcgZG9fbW11X3VwZGF0ZSgKICAgICBzdHJ1Y3QgdmNwdSAqY3VyciA9IGN1cnJlbnQs ICp2ID0gY3VycjsKICAgICBzdHJ1Y3QgZG9tYWluICpkID0gdi0+ZG9tYWluLCAqcHRfb3duZXIg PSBkLCAqcGdfb3duZXI7CiAgICAgbWZuX3QgbWFwX21mbiA9IElOVkFMSURfTUZOOwotICAgIGJv b2wgc3luY19ndWVzdCA9IGZhbHNlOwogICAgIHVpbnQzMl90IHhzbV9uZWVkZWQgPSAwOwogICAg IHVpbnQzMl90IHhzbV9jaGVja2VkID0gMDsKICAgICBpbnQgcmMgPSBwdXRfb2xkX2d1ZXN0X3Rh YmxlKGN1cnIpOwpAQCAtMzcwNiw4ICszNzA1LDYgQEAgbG9uZyBkb19tbXVfdXBkYXRlKAogICAg ICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICAgICAgIHJjID0gbW9k X2w0X2VudHJ5KHZhLCBsNGVfZnJvbV9pbnRwdGUocmVxLnZhbCksIG1mbiwKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgY21kID09IE1NVV9QVF9VUERBVEVfUFJFU0VSVkVf QUQsIHYpOwotICAgICAgICAgICAgICAgICAgICBpZiAoICFyYyApCi0gICAgICAgICAgICAgICAg ICAgICAgICBzeW5jX2d1ZXN0ID0gdHJ1ZTsKICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAK ICAgICAgICAgICAgICAgICBjYXNlIFBHVF93cml0YWJsZV9wYWdlOgpAQCAtMzgxMiwyNCArMzgw OSw2IEBAIGxvbmcgZG9fbW11X3VwZGF0ZSgKICAgICBpZiAoIHZhICkKICAgICAgICAgdW5tYXBf ZG9tYWluX3BhZ2UodmEpOwogCi0gICAgaWYgKCBzeW5jX2d1ZXN0ICkKLSAgICB7Ci0gICAgICAg IC8qCi0gICAgICAgICAqIEZvcmNlIG90aGVyIHZDUFUtcyBvZiB0aGUgYWZmZWN0ZWQgZ3Vlc3Qg dG8gcGljayB1cCBMNCBlbnRyeQotICAgICAgICAgKiBjaGFuZ2VzIChpZiBhbnkpLiBJc3N1ZSBh IGZsdXNoIElQSSB3aXRoIGVtcHR5IG9wZXJhdGlvbiBtYXNrIHRvCi0gICAgICAgICAqIGZhY2ls aXRhdGUgdGhpcyAoaW5jbHVkaW5nIG91cnNlbHZlcyB3YWl0aW5nIGZvciB0aGUgSVBJIHRvCi0g ICAgICAgICAqIGFjdHVhbGx5IGhhdmUgYXJyaXZlZCkuIFV0aWxpemUgdGhlIGZhY3QgdGhhdCBG TFVTSF9WQV9WQUxJRCBpcwotICAgICAgICAgKiBtZWFuaW5nbGVzcyB3aXRob3V0IEZMVVNIX0NB Q0hFLCBidXQgd2lsbCBhbGxvdyB0byBwYXNzIHRoZSBuby1vcAotICAgICAgICAgKiBjaGVjayBp biBmbHVzaF9hcmVhX21hc2soKS4KLSAgICAgICAgICovCi0gICAgICAgIHVuc2lnbmVkIGludCBj cHUgPSBzbXBfcHJvY2Vzc29yX2lkKCk7Ci0gICAgICAgIGNwdW1hc2tfdCAqbWFzayA9IHBlcl9j cHUoc2NyYXRjaF9jcHVtYXNrLCBjcHUpOwotCi0gICAgICAgIGNwdW1hc2tfYW5kbm90KG1hc2ss IHB0X293bmVyLT5kaXJ0eV9jcHVtYXNrLCBjcHVtYXNrX29mKGNwdSkpOwotICAgICAgICBpZiAo ICFjcHVtYXNrX2VtcHR5KG1hc2spICkKLSAgICAgICAgICAgIGZsdXNoX2FyZWFfbWFzayhtYXNr LCBaRVJPX0JMT0NLX1BUUiwgRkxVU0hfVkFfVkFMSUQpOwotICAgIH0KLQogICAgIHBlcmZjX2Fk ZChudW1fcGFnZV91cGRhdGVzLCBpKTsKIAogIG91dDoKZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4 Ni9zbXBib290LmMgYi94ZW4vYXJjaC94ODYvc21wYm9vdC5jCmluZGV4IDQ5OTc4YjM2OTcuLjlk MzQ2ZTU0ZjYgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni9zbXBib290LmMKKysrIGIveGVuL2Fy Y2gveDg2L3NtcGJvb3QuYwpAQCAtMzMwLDkgKzMzMCw2IEBAIHZvaWQgc3RhcnRfc2Vjb25kYXJ5 KHZvaWQgKnVudXNlZCkKICAgICAgKi8KICAgICBzcGluX2RlYnVnX2Rpc2FibGUoKTsKIAotICAg IGdldF9jcHVfaW5mbygpLT54ZW5fY3IzID0gMDsKLSAgICBnZXRfY3B1X2luZm8oKS0+cHZfY3Iz ID0gX19wYSh0aGlzX2NwdShyb290X3BndCkpOwotCiAgICAgbG9hZF9zeXN0ZW1fdGFibGVzKCk7 CiAKICAgICAvKiBGdWxsIGV4Y2VwdGlvbiBzdXBwb3J0IGZyb20gaGVyZSBvbiBpbi4gKi8KQEAg LTY0MiwxODcgKzYzOSw2IEBAIHZvaWQgY3B1X2V4aXRfY2xlYXIodW5zaWduZWQgaW50IGNwdSkK ICAgICBzZXRfY3B1X3N0YXRlKENQVV9TVEFURV9ERUFEKTsKIH0KIAotc3RhdGljIGludCBjbG9u ZV9tYXBwaW5nKGNvbnN0IHZvaWQgKnB0ciwgcm9vdF9wZ2VudHJ5X3QgKnJwdCkKLXsKLSAgICB1 bnNpZ25lZCBsb25nIGxpbmVhciA9ICh1bnNpZ25lZCBsb25nKXB0ciwgcGZuOwotICAgIHVuc2ln bmVkIGludCBmbGFnczsKLSAgICBsM19wZ2VudHJ5X3QgKnBsM2UgPSBsNGVfdG9fbDNlKGlkbGVf cGdfdGFibGVbcm9vdF90YWJsZV9vZmZzZXQobGluZWFyKV0pICsKLSAgICAgICAgICAgICAgICAg ICAgICAgICBsM190YWJsZV9vZmZzZXQobGluZWFyKTsKLSAgICBsMl9wZ2VudHJ5X3QgKnBsMmU7 Ci0gICAgbDFfcGdlbnRyeV90ICpwbDFlOwotCi0gICAgaWYgKCBsaW5lYXIgPCBESVJFQ1RNQVBf VklSVF9TVEFSVCApCi0gICAgICAgIHJldHVybiAwOwotCi0gICAgZmxhZ3MgPSBsM2VfZ2V0X2Zs YWdzKCpwbDNlKTsKLSAgICBBU1NFUlQoZmxhZ3MgJiBfUEFHRV9QUkVTRU5UKTsKLSAgICBpZiAo IGZsYWdzICYgX1BBR0VfUFNFICkKLSAgICB7Ci0gICAgICAgIHBmbiA9IChsM2VfZ2V0X3Bmbigq cGwzZSkgJiB+KCgxVUwgPDwgKDIgKiBQQUdFVEFCTEVfT1JERVIpKSAtIDEpKSB8Ci0gICAgICAg ICAgICAgIChQRk5fRE9XTihsaW5lYXIpICYgKCgxVUwgPDwgKDIgKiBQQUdFVEFCTEVfT1JERVIp KSAtIDEpKTsKLSAgICAgICAgZmxhZ3MgJj0gfl9QQUdFX1BTRTsKLSAgICB9Ci0gICAgZWxzZQot ICAgIHsKLSAgICAgICAgcGwyZSA9IGwzZV90b19sMmUoKnBsM2UpICsgbDJfdGFibGVfb2Zmc2V0 KGxpbmVhcik7Ci0gICAgICAgIGZsYWdzID0gbDJlX2dldF9mbGFncygqcGwyZSk7Ci0gICAgICAg IEFTU0VSVChmbGFncyAmIF9QQUdFX1BSRVNFTlQpOwotICAgICAgICBpZiAoIGZsYWdzICYgX1BB R0VfUFNFICkKLSAgICAgICAgewotICAgICAgICAgICAgcGZuID0gKGwyZV9nZXRfcGZuKCpwbDJl KSAmIH4oKDFVTCA8PCBQQUdFVEFCTEVfT1JERVIpIC0gMSkpIHwKLSAgICAgICAgICAgICAgICAg IChQRk5fRE9XTihsaW5lYXIpICYgKCgxVUwgPDwgUEFHRVRBQkxFX09SREVSKSAtIDEpKTsKLSAg ICAgICAgICAgIGZsYWdzICY9IH5fUEFHRV9QU0U7Ci0gICAgICAgIH0KLSAgICAgICAgZWxzZQot ICAgICAgICB7Ci0gICAgICAgICAgICBwbDFlID0gbDJlX3RvX2wxZSgqcGwyZSkgKyBsMV90YWJs ZV9vZmZzZXQobGluZWFyKTsKLSAgICAgICAgICAgIGZsYWdzID0gbDFlX2dldF9mbGFncygqcGwx ZSk7Ci0gICAgICAgICAgICBpZiAoICEoZmxhZ3MgJiBfUEFHRV9QUkVTRU5UKSApCi0gICAgICAg ICAgICAgICAgcmV0dXJuIDA7Ci0gICAgICAgICAgICBwZm4gPSBsMWVfZ2V0X3BmbigqcGwxZSk7 Ci0gICAgICAgIH0KLSAgICB9Ci0KLSAgICBpZiAoICEocm9vdF9nZXRfZmxhZ3MocnB0W3Jvb3Rf dGFibGVfb2Zmc2V0KGxpbmVhcildKSAmIF9QQUdFX1BSRVNFTlQpICkKLSAgICB7Ci0gICAgICAg IHBsM2UgPSBhbGxvY194ZW5fcGFnZXRhYmxlKCk7Ci0gICAgICAgIGlmICggIXBsM2UgKQotICAg ICAgICAgICAgcmV0dXJuIC1FTk9NRU07Ci0gICAgICAgIGNsZWFyX3BhZ2UocGwzZSk7Ci0gICAg ICAgIGw0ZV93cml0ZSgmcnB0W3Jvb3RfdGFibGVfb2Zmc2V0KGxpbmVhcildLAotICAgICAgICAg ICAgICAgICAgbDRlX2Zyb21fcGFkZHIoX19wYShwbDNlKSwgX19QQUdFX0hZUEVSVklTT1IpKTsK LSAgICB9Ci0gICAgZWxzZQotICAgICAgICBwbDNlID0gbDRlX3RvX2wzZShycHRbcm9vdF90YWJs ZV9vZmZzZXQobGluZWFyKV0pOwotCi0gICAgcGwzZSArPSBsM190YWJsZV9vZmZzZXQobGluZWFy KTsKLQotICAgIGlmICggIShsM2VfZ2V0X2ZsYWdzKCpwbDNlKSAmIF9QQUdFX1BSRVNFTlQpICkK LSAgICB7Ci0gICAgICAgIHBsMmUgPSBhbGxvY194ZW5fcGFnZXRhYmxlKCk7Ci0gICAgICAgIGlm ICggIXBsMmUgKQotICAgICAgICAgICAgcmV0dXJuIC1FTk9NRU07Ci0gICAgICAgIGNsZWFyX3Bh Z2UocGwyZSk7Ci0gICAgICAgIGwzZV93cml0ZShwbDNlLCBsM2VfZnJvbV9wYWRkcihfX3BhKHBs MmUpLCBfX1BBR0VfSFlQRVJWSVNPUikpOwotICAgIH0KLSAgICBlbHNlCi0gICAgewotICAgICAg ICBBU1NFUlQoIShsM2VfZ2V0X2ZsYWdzKCpwbDNlKSAmIF9QQUdFX1BTRSkpOwotICAgICAgICBw bDJlID0gbDNlX3RvX2wyZSgqcGwzZSk7Ci0gICAgfQotCi0gICAgcGwyZSArPSBsMl90YWJsZV9v ZmZzZXQobGluZWFyKTsKLQotICAgIGlmICggIShsMmVfZ2V0X2ZsYWdzKCpwbDJlKSAmIF9QQUdF X1BSRVNFTlQpICkKLSAgICB7Ci0gICAgICAgIHBsMWUgPSBhbGxvY194ZW5fcGFnZXRhYmxlKCk7 Ci0gICAgICAgIGlmICggIXBsMWUgKQotICAgICAgICAgICAgcmV0dXJuIC1FTk9NRU07Ci0gICAg ICAgIGNsZWFyX3BhZ2UocGwxZSk7Ci0gICAgICAgIGwyZV93cml0ZShwbDJlLCBsMmVfZnJvbV9w YWRkcihfX3BhKHBsMWUpLCBfX1BBR0VfSFlQRVJWSVNPUikpOwotICAgIH0KLSAgICBlbHNlCi0g ICAgewotICAgICAgICBBU1NFUlQoIShsMmVfZ2V0X2ZsYWdzKCpwbDJlKSAmIF9QQUdFX1BTRSkp OwotICAgICAgICBwbDFlID0gbDJlX3RvX2wxZSgqcGwyZSk7Ci0gICAgfQotCi0gICAgcGwxZSAr PSBsMV90YWJsZV9vZmZzZXQobGluZWFyKTsKLQotICAgIGlmICggbDFlX2dldF9mbGFncygqcGwx ZSkgJiBfUEFHRV9QUkVTRU5UICkKLSAgICB7Ci0gICAgICAgIEFTU0VSVChsMWVfZ2V0X3Bmbigq cGwxZSkgPT0gcGZuKTsKLSAgICAgICAgQVNTRVJUKGwxZV9nZXRfZmxhZ3MoKnBsMWUpID09IGZs YWdzKTsKLSAgICB9Ci0gICAgZWxzZQotICAgICAgICBsMWVfd3JpdGUocGwxZSwgbDFlX2Zyb21f cGZuKHBmbiwgZmxhZ3MpKTsKLQotICAgIHJldHVybiAwOwotfQotCi1ERUZJTkVfUEVSX0NQVShy b290X3BnZW50cnlfdCAqLCByb290X3BndCk7Ci0KLXN0YXRpYyBpbnQgc2V0dXBfY3B1X3Jvb3Rf cGd0KHVuc2lnbmVkIGludCBjcHUpCi17Ci0gICAgcm9vdF9wZ2VudHJ5X3QgKnJwdCA9IGFsbG9j X3hlbl9wYWdldGFibGUoKTsKLSAgICB1bnNpZ25lZCBpbnQgb2ZmOwotICAgIGludCByYzsKLQot ICAgIGlmICggIXJwdCApCi0gICAgICAgIHJldHVybiAtRU5PTUVNOwotCi0gICAgY2xlYXJfcGFn ZShycHQpOwotICAgIHBlcl9jcHUocm9vdF9wZ3QsIGNwdSkgPSBycHQ7Ci0KLSAgICBycHRbcm9v dF90YWJsZV9vZmZzZXQoUk9fTVBUX1ZJUlRfU1RBUlQpXSA9Ci0gICAgICAgIGlkbGVfcGdfdGFi bGVbcm9vdF90YWJsZV9vZmZzZXQoUk9fTVBUX1ZJUlRfU1RBUlQpXTsKLSAgICAvKiBTSF9MSU5F QVJfUFQgaW5zZXJ0ZWQgdG9nZXRoZXIgd2l0aCBndWVzdCBtYXBwaW5ncy4gKi8KLSAgICAvKiBQ RVJET01BSU4gaW5zZXJ0ZWQgZHVyaW5nIGNvbnRleHQgc3dpdGNoLiAqLwotICAgIHJwdFtyb290 X3RhYmxlX29mZnNldChYRU5fVklSVF9TVEFSVCldID0KLSAgICAgICAgaWRsZV9wZ190YWJsZVty b290X3RhYmxlX29mZnNldChYRU5fVklSVF9TVEFSVCldOwotCi0gICAgLyogSW5zdGFsbCBkaXJl Y3QgbWFwIHBhZ2UgdGFibGUgZW50cmllcyBmb3Igc3RhY2ssIElEVCwgYW5kIFRTUy4gKi8KLSAg ICBmb3IgKCBvZmYgPSByYyA9IDA7ICFyYyAmJiBvZmYgPCBTVEFDS19TSVpFOyBvZmYgKz0gUEFH RV9TSVpFICkKLSAgICAgICAgcmMgPSBjbG9uZV9tYXBwaW5nKF9fdmEoX19wYShzdGFja19iYXNl W2NwdV0pKSArIG9mZiwgcnB0KTsKLQotICAgIGlmICggIXJjICkKLSAgICAgICAgcmMgPSBjbG9u ZV9tYXBwaW5nKGlkdF90YWJsZXNbY3B1XSwgcnB0KTsKLSAgICBpZiAoICFyYyApCi0gICAgICAg IHJjID0gY2xvbmVfbWFwcGluZygmcGVyX2NwdShpbml0X3RzcywgY3B1KSwgcnB0KTsKLQotICAg IHJldHVybiByYzsKLX0KLQotc3RhdGljIHZvaWQgY2xlYW51cF9jcHVfcm9vdF9wZ3QodW5zaWdu ZWQgaW50IGNwdSkKLXsKLSAgICByb290X3BnZW50cnlfdCAqcnB0ID0gcGVyX2NwdShyb290X3Bn dCwgY3B1KTsKLSAgICB1bnNpZ25lZCBpbnQgcjsKLQotICAgIGlmICggIXJwdCApCi0gICAgICAg IHJldHVybjsKLQotICAgIHBlcl9jcHUocm9vdF9wZ3QsIGNwdSkgPSBOVUxMOwotCi0gICAgZm9y ICggciA9IHJvb3RfdGFibGVfb2Zmc2V0KERJUkVDVE1BUF9WSVJUX1NUQVJUKTsKLSAgICAgICAg ICByIDwgcm9vdF90YWJsZV9vZmZzZXQoSFlQRVJWSVNPUl9WSVJUX0VORCk7ICsrciApCi0gICAg ewotICAgICAgICBsM19wZ2VudHJ5X3QgKmwzdDsKLSAgICAgICAgdW5zaWduZWQgaW50IGkzOwot Ci0gICAgICAgIGlmICggIShyb290X2dldF9mbGFncyhycHRbcl0pICYgX1BBR0VfUFJFU0VOVCkg KQotICAgICAgICAgICAgY29udGludWU7Ci0KLSAgICAgICAgbDN0ID0gbDRlX3RvX2wzZShycHRb cl0pOwotCi0gICAgICAgIGZvciAoIGkzID0gMDsgaTMgPCBMM19QQUdFVEFCTEVfRU5UUklFUzsg KytpMyApCi0gICAgICAgIHsKLSAgICAgICAgICAgIGwyX3BnZW50cnlfdCAqbDJ0OwotICAgICAg ICAgICAgdW5zaWduZWQgaW50IGkyOwotCi0gICAgICAgICAgICBpZiAoICEobDNlX2dldF9mbGFn cyhsM3RbaTNdKSAmIF9QQUdFX1BSRVNFTlQpICkKLSAgICAgICAgICAgICAgICBjb250aW51ZTsK LQotICAgICAgICAgICAgQVNTRVJUKCEobDNlX2dldF9mbGFncyhsM3RbaTNdKSAmIF9QQUdFX1BT RSkpOwotICAgICAgICAgICAgbDJ0ID0gbDNlX3RvX2wyZShsM3RbaTNdKTsKLQotICAgICAgICAg ICAgZm9yICggaTIgPSAwOyBpMiA8IEwyX1BBR0VUQUJMRV9FTlRSSUVTOyArK2kyICkKLSAgICAg ICAgICAgIHsKLSAgICAgICAgICAgICAgICBpZiAoICEobDJlX2dldF9mbGFncyhsMnRbaTJdKSAm IF9QQUdFX1BSRVNFTlQpICkKLSAgICAgICAgICAgICAgICAgICAgY29udGludWU7Ci0KLSAgICAg ICAgICAgICAgICBBU1NFUlQoIShsMmVfZ2V0X2ZsYWdzKGwydFtpMl0pICYgX1BBR0VfUFNFKSk7 Ci0gICAgICAgICAgICAgICAgZnJlZV94ZW5fcGFnZXRhYmxlKGwyZV90b19sMWUobDJ0W2kyXSkp OwotICAgICAgICAgICAgfQotCi0gICAgICAgICAgICBmcmVlX3hlbl9wYWdldGFibGUobDJ0KTsK LSAgICAgICAgfQotCi0gICAgICAgIGZyZWVfeGVuX3BhZ2V0YWJsZShsM3QpOwotICAgIH0KLQot ICAgIGZyZWVfeGVuX3BhZ2V0YWJsZShycHQpOwotfQotCiBzdGF0aWMgdm9pZCBjcHVfc21wYm9v dF9mcmVlKHVuc2lnbmVkIGludCBjcHUpCiB7CiAgICAgdW5zaWduZWQgaW50IG9yZGVyLCBzb2Nr ZXQgPSBjcHVfdG9fc29ja2V0KGNwdSk7CkBAIC04NjEsOCArNjc3LDYgQEAgc3RhdGljIHZvaWQg Y3B1X3NtcGJvb3RfZnJlZSh1bnNpZ25lZCBpbnQgY3B1KQogICAgICAgICAgICAgZnJlZV9kb21o ZWFwX3BhZ2UobWZuX3RvX3BhZ2UobWZuKSk7CiAgICAgfQogCi0gICAgY2xlYW51cF9jcHVfcm9v dF9wZ3QoY3B1KTsKLQogICAgIG9yZGVyID0gZ2V0X29yZGVyX2Zyb21fcGFnZXMoTlJfUkVTRVJW RURfR0RUX1BBR0VTKTsKICAgICBmcmVlX3hlbmhlYXBfcGFnZXMocGVyX2NwdShnZHRfdGFibGUs IGNwdSksIG9yZGVyKTsKIApAQCAtOTE3LDExICs3MzEsNiBAQCBzdGF0aWMgaW50IGNwdV9zbXBi b290X2FsbG9jKHVuc2lnbmVkIGludCBjcHUpCiAgICAgbWVtY3B5KGlkdF90YWJsZXNbY3B1XSwg aWR0X3RhYmxlLCBJRFRfRU5UUklFUyAqIHNpemVvZihpZHRfZW50cnlfdCkpOwogICAgIGRpc2Fi bGVfZWFjaF9pc3QoaWR0X3RhYmxlc1tjcHVdKTsKIAotICAgIHJjID0gc2V0dXBfY3B1X3Jvb3Rf cGd0KGNwdSk7Ci0gICAgaWYgKCByYyApCi0gICAgICAgIGdvdG8gb3V0OwotICAgIHJjID0gLUVO T01FTTsKLQogICAgIGZvciAoIHN0dWJfcGFnZSA9IDAsIGkgPSBjcHUgJiB+KFNUVUJTX1BFUl9Q QUdFIC0gMSk7CiAgICAgICAgICAgaSA8IG5yX2NwdV9pZHMgJiYgaSA8PSAoY3B1IHwgKFNUVUJT X1BFUl9QQUdFIC0gMSkpOyArK2kgKQogICAgICAgICBpZiAoIGNwdV9vbmxpbmUoaSkgJiYgY3B1 X3RvX25vZGUoaSkgPT0gbm9kZSApCkBAIC05ODEsOCArNzkwLDYgQEAgc3RhdGljIHN0cnVjdCBu b3RpZmllcl9ibG9jayBjcHVfc21wYm9vdF9uZmIgPSB7CiAKIHZvaWQgX19pbml0IHNtcF9wcmVw YXJlX2NwdXModW5zaWduZWQgaW50IG1heF9jcHVzKQogewotICAgIGludCByYzsKLQogICAgIHJl Z2lzdGVyX2NwdV9ub3RpZmllcigmY3B1X3NtcGJvb3RfbmZiKTsKIAogICAgIG10cnJfYXBzX3N5 bmNfYmVnaW4oKTsKQEAgLTk5NiwxMSArODAzLDYgQEAgdm9pZCBfX2luaXQgc21wX3ByZXBhcmVf Y3B1cyh1bnNpZ25lZCBpbnQgbWF4X2NwdXMpCiAKICAgICBzdGFja19iYXNlWzBdID0gc3RhY2tf c3RhcnQ7CiAKLSAgICByYyA9IHNldHVwX2NwdV9yb290X3BndCgwKTsKLSAgICBpZiAoIHJjICkK LSAgICAgICAgcGFuaWMoIkVycm9yICVkIHNldHRpbmcgdXAgUFYgcm9vdCBwYWdlIHRhYmxlXG4i LCByYyk7Ci0gICAgZ2V0X2NwdV9pbmZvKCktPnB2X2NyMyA9IF9fcGEocGVyX2NwdShyb290X3Bn dCwgMCkpOwotCiAgICAgc2V0X25yX3NvY2tldHMoKTsKIAogICAgIHNvY2tldF9jcHVtYXNrID0g eHphbGxvY19hcnJheShjcHVtYXNrX3QgKiwgbnJfc29ja2V0cyk7CkBAIC0xMDY5LDggKzg3MSw2 IEBAIHZvaWQgX19pbml0IHNtcF9wcmVwYXJlX2Jvb3RfY3B1KHZvaWQpCiAjaWYgTlJfQ1BVUyA+ IDIgKiBCSVRTX1BFUl9MT05HCiAgICAgcGVyX2NwdShzY3JhdGNoX2NwdW1hc2ssIGNwdSkgPSAm c2NyYXRjaF9jcHUwbWFzazsKICNlbmRpZgotCi0gICAgZ2V0X2NwdV9pbmZvKCktPnhlbl9jcjMg PSAwOwogfQogCiBzdGF0aWMgdm9pZApkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L3g4Nl82NC9h c20tb2Zmc2V0cy5jIGIveGVuL2FyY2gveDg2L3g4Nl82NC9hc20tb2Zmc2V0cy5jCmluZGV4IDUx YmU1MjhmODkuLmNjNzc1M2MwYTkgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni94ODZfNjQvYXNt LW9mZnNldHMuYworKysgYi94ZW4vYXJjaC94ODYveDg2XzY0L2FzbS1vZmZzZXRzLmMKQEAgLTEz OCw4ICsxMzgsNiBAQCB2b2lkIF9fZHVtbXlfXyh2b2lkKQogICAgIE9GRlNFVChDUFVJTkZPX3By b2Nlc3Nvcl9pZCwgc3RydWN0IGNwdV9pbmZvLCBwcm9jZXNzb3JfaWQpOwogICAgIE9GRlNFVChD UFVJTkZPX2N1cnJlbnRfdmNwdSwgc3RydWN0IGNwdV9pbmZvLCBjdXJyZW50X3ZjcHUpOwogICAg IE9GRlNFVChDUFVJTkZPX2NyNCwgc3RydWN0IGNwdV9pbmZvLCBjcjQpOwotICAgIE9GRlNFVChD UFVJTkZPX3hlbl9jcjMsIHN0cnVjdCBjcHVfaW5mbywgeGVuX2NyMyk7Ci0gICAgT0ZGU0VUKENQ VUlORk9fcHZfY3IzLCBzdHJ1Y3QgY3B1X2luZm8sIHB2X2NyMyk7CiAgICAgT0ZGU0VUKENQVUlO Rk9fc2hhZG93X3NwZWNfY3RybCwgc3RydWN0IGNwdV9pbmZvLCBzaGFkb3dfc3BlY19jdHJsKTsK ICAgICBPRkZTRVQoQ1BVSU5GT191c2Vfc2hhZG93X3NwZWNfY3RybCwgc3RydWN0IGNwdV9pbmZv LCB1c2Vfc2hhZG93X3NwZWNfY3RybCk7CiAgICAgT0ZGU0VUKENQVUlORk9fYnRpX2lzdF9pbmZv LCBzdHJ1Y3QgY3B1X2luZm8sIGJ0aV9pc3RfaW5mbyk7CmRpZmYgLS1naXQgYS94ZW4vYXJjaC94 ODYveDg2XzY0L2NvbXBhdC9lbnRyeS5TIGIveGVuL2FyY2gveDg2L3g4Nl82NC9jb21wYXQvZW50 cnkuUwppbmRleCA3MDdjNzQ2MjFiLi44ZmFjNWQzMDRkIDEwMDY0NAotLS0gYS94ZW4vYXJjaC94 ODYveDg2XzY0L2NvbXBhdC9lbnRyeS5TCisrKyBiL3hlbi9hcmNoL3g4Ni94ODZfNjQvY29tcGF0 L2VudHJ5LlMKQEAgLTIxNCwxNyArMjE0LDcgQEAgRU5UUlkoY3N0YXJfZW50ZXIpCiAgICAgICAg IFNQRUNfQ1RSTF9FTlRSWV9GUk9NX1BWIC8qIFJlcTogJXJzcD1yZWdzL2NwdWluZm8sIENsb2I6 IGFjZCAqLwogICAgICAgICAvKiBXQVJOSU5HISBgcmV0YCwgYGNhbGwgKmAsIGBqbXAgKmAgbm90 IHNhZmUgYmVmb3JlIHRoaXMgcG9pbnQuICovCiAKLSAgICAgICAgR0VUX1NUQUNLX0VORChieCkK LSAgICAgICAgbW92ICAgU1RBQ0tfQ1BVSU5GT19GSUVMRCh4ZW5fY3IzKSglcmJ4KSwgJXJjeAot ICAgICAgICBuZWcgICAlcmN4Ci0gICAgICAgIGp6ICAgIC5MY3N0YXJfY3IzX29rYXkKLSAgICAg ICAgbW92ICAgJXJjeCwgU1RBQ0tfQ1BVSU5GT19GSUVMRCh4ZW5fY3IzKSglcmJ4KQotICAgICAg ICBuZWcgICAlcmN4Ci0gICAgICAgIHdyaXRlX2NyMyByY3gsIHJkaSwgcnNpCi0gICAgICAgIG1v dnEgICQwLCBTVEFDS19DUFVJTkZPX0ZJRUxEKHhlbl9jcjMpKCVyYngpCi0uTGNzdGFyX2NyM19v a2F5OgotCi0gICAgICAgIG1vdnEgIFNUQUNLX0NQVUlORk9fRklFTEQoY3VycmVudF92Y3B1KSgl cmJ4KSwgJXJieAorICAgICAgICBHRVRfQ1VSUkVOVChieCkKICAgICAgICAgbW92cSAgVkNQVV9k b21haW4oJXJieCksJXJjeAogICAgICAgICBjbXBiICAkMCxET01BSU5faXNfMzJiaXRfcHYoJXJj eCkKICAgICAgICAgamUgICAgc3dpdGNoX3RvX2tlcm5lbApkaWZmIC0tZ2l0IGEveGVuL2FyY2gv eDg2L3g4Nl82NC9lbnRyeS5TIGIveGVuL2FyY2gveDg2L3g4Nl82NC9lbnRyeS5TCmluZGV4IDUy ZjY0Y2NlZGEuLmEwNzhhZDg5NzkgMTAwNjQ0Ci0tLSBhL3hlbi9hcmNoL3g4Ni94ODZfNjQvZW50 cnkuUworKysgYi94ZW4vYXJjaC94ODYveDg2XzY0L2VudHJ5LlMKQEAgLTQwLDM1ICs0MCw3IEBA IHJlc3RvcmVfYWxsX2d1ZXN0OgogCiAgICAgICAgIC8qIFN0YXNoIGd1ZXN0IFNQRUNfQ1RSTCB2 YWx1ZSB3aGlsZSB3ZSBjYW4gcmVhZCBzdHJ1Y3QgdmNwdS4gKi8KICAgICAgICAgbW92IFZDUFVf YXJjaF9tc3IoJXJieCksICVyZHgKLSAgICAgICAgbW92IFZDUFVNU1Jfc3BlY19jdHJsX3Jhdygl cmR4KSwgJXIxNWQKLQotICAgICAgICAvKiBDb3B5IGd1ZXN0IG1hcHBpbmdzIGFuZCBzd2l0Y2gg dG8gcGVyLUNQVSByb290IHBhZ2UgdGFibGUuICovCi0gICAgICAgIG1vdiAgICVjcjMsICVyOQot ICAgICAgICBHRVRfU1RBQ0tfRU5EKGR4KQotICAgICAgICBtb3YgICBTVEFDS19DUFVJTkZPX0ZJ RUxEKHB2X2NyMykoJXJkeCksICVyZGkKLSAgICAgICAgbW92YWJzICRQQUREUl9NQVNLICYgUEFH RV9NQVNLLCAlcnNpCi0gICAgICAgIG1vdmFicyAkRElSRUNUTUFQX1ZJUlRfU1RBUlQsICVyY3gK LSAgICAgICAgbW92ICAgJXJkaSwgJXJheAotICAgICAgICBhbmQgICAlcnNpLCAlcmRpCi0gICAg ICAgIGFuZCAgICVyOSwgJXJzaQotICAgICAgICBhZGQgICAlcmN4LCAlcmRpCi0gICAgICAgIGFk ZCAgICVyY3gsICVyc2kKLSAgICAgICAgbW92ICAgJFJPT1RfUEFHRVRBQkxFX0ZJUlNUX1hFTl9T TE9ULCAlZWN4Ci0gICAgICAgIG1vdiAgIHJvb3RfdGFibGVfb2Zmc2V0KFNIX0xJTkVBUl9QVF9W SVJUX1NUQVJUKSo4KCVyc2kpLCAlcjgKLSAgICAgICAgbW92ICAgJXI4LCByb290X3RhYmxlX29m ZnNldChTSF9MSU5FQVJfUFRfVklSVF9TVEFSVCkqOCglcmRpKQotICAgICAgICByZXAgbW92c3EK LSAgICAgICAgbW92ICAgJFJPT1RfUEFHRVRBQkxFX0VOVFJJRVMgLSBcCi0gICAgICAgICAgICAg ICBST09UX1BBR0VUQUJMRV9MQVNUX1hFTl9TTE9UIC0gMSwgJWVjeAotICAgICAgICBzdWIgICAk KFJPT1RfUEFHRVRBQkxFX0ZJUlNUX1hFTl9TTE9UIC0gXAotICAgICAgICAgICAgICAgIFJPT1Rf UEFHRVRBQkxFX0xBU1RfWEVOX1NMT1QgLSAxKSAqIDgsICVyc2kKLSAgICAgICAgc3ViICAgJChS T09UX1BBR0VUQUJMRV9GSVJTVF9YRU5fU0xPVCAtIFwKLSAgICAgICAgICAgICAgICBST09UX1BB R0VUQUJMRV9MQVNUX1hFTl9TTE9UIC0gMSkgKiA4LCAlcmRpCi0gICAgICAgIHJlcCBtb3ZzcQot ICAgICAgICBtb3YgICAlcjksIFNUQUNLX0NQVUlORk9fRklFTEQoeGVuX2NyMykoJXJkeCkKLSAg ICAgICAgd3JpdGVfY3IzIHJheCwgcmRpLCByc2kKLQotICAgICAgICAvKiBSZXN0b3JlIHN0YXNo ZWQgU1BFQ19DVFJMIHZhbHVlLiAqLwotICAgICAgICBtb3YgICAlcjE1ZCwgJWVheAorICAgICAg ICBtb3YgVkNQVU1TUl9zcGVjX2N0cmxfcmF3KCVyZHgpLCAlZWF4CiAKICAgICAgICAgLyogV0FS TklORyEgYHJldGAsIGBjYWxsICpgLCBgam1wICpgIG5vdCBzYWZlIGJleW9uZCB0aGlzIHBvaW50 LiAqLwogICAgICAgICBTUEVDX0NUUkxfRVhJVF9UT19HVUVTVCAvKiBSZXE6IGE9c3BlY19jdHJs ICVyc3A9cmVncy9jcHVpbmZvLCBDbG9iOiBjZCAqLwpAQCAtMTA3LDIyICs3OSw3IEBAIGlyZXRf ZXhpdF90b19ndWVzdDoKICAgICAgICAgQUxJR04KIC8qIE5vIHNwZWNpYWwgcmVnaXN0ZXIgYXNz dW1wdGlvbnMuICovCiByZXN0b3JlX2FsbF94ZW46Ci0gICAgICAgIC8qCi0gICAgICAgICAqIENo ZWNrIHdoZXRoZXIgd2UgbmVlZCB0byBzd2l0Y2ggdG8gdGhlIHBlci1DUFUgcGFnZSB0YWJsZXMs IGluCi0gICAgICAgICAqIGNhc2Ugd2UgcmV0dXJuIHRvIGxhdGUgUFYgZXhpdCBjb2RlIChmcm9t IGFuIE5NSSBvciAjTUMpLgotICAgICAgICAgKi8KICAgICAgICAgR0VUX1NUQUNLX0VORChieCkK LSAgICAgICAgbW92ICAgU1RBQ0tfQ1BVSU5GT19GSUVMRCh4ZW5fY3IzKSglcmJ4KSwgJXJkeAot ICAgICAgICBtb3YgICBTVEFDS19DUFVJTkZPX0ZJRUxEKHB2X2NyMykoJXJieCksICVyYXgKLSAg ICAgICAgdGVzdCAgJXJkeCwgJXJkeAotICAgICAgICAvKgotICAgICAgICAgKiBJZGVhbGx5IHRo ZSBjb25kaXRpb24gd291bGQgYmUgIm5zeiIsIGJ1dCBzdWNoIGRvZXNuJ3QgZXhpc3QsCi0gICAg ICAgICAqIHNvICJnIiB3aWxsIGhhdmUgdG8gZG8uCi0gICAgICAgICAqLwotVU5MSUtFTFlfU1RB UlQoZywgZXhpdF9jcjMpCi0gICAgICAgIHdyaXRlX2NyMyByYXgsIHJkaSwgcnNpCi1VTkxJS0VM WV9FTkQoZXhpdF9jcjMpCi0KICAgICAgICAgLyogV0FSTklORyEgYHJldGAsIGBjYWxsICpgLCBg am1wICpgIG5vdCBzYWZlIGJleW9uZCB0aGlzIHBvaW50LiAqLwogICAgICAgICBTUEVDX0NUUkxf RVhJVF9UT19YRU5fSVNUIC8qIFJlcTogJXJieD1lbmQsIENsb2I6IGFjZCAqLwogCkBAIC0xNTks MTcgKzExNiw3IEBAIEVOVFJZKGxzdGFyX2VudGVyKQogICAgICAgICBTUEVDX0NUUkxfRU5UUllf RlJPTV9QViAvKiBSZXE6ICVyc3A9cmVncy9jcHVpbmZvLCBDbG9iOiBhY2QgKi8KICAgICAgICAg LyogV0FSTklORyEgYHJldGAsIGBjYWxsICpgLCBgam1wICpgIG5vdCBzYWZlIGJlZm9yZSB0aGlz IHBvaW50LiAqLwogCi0gICAgICAgIEdFVF9TVEFDS19FTkQoYngpCi0gICAgICAgIG1vdiAgIFNU QUNLX0NQVUlORk9fRklFTEQoeGVuX2NyMykoJXJieCksICVyY3gKLSAgICAgICAgbmVnICAgJXJj eAotICAgICAgICBqeiAgICAuTGxzdGFyX2NyM19va2F5Ci0gICAgICAgIG1vdiAgICVyY3gsIFNU QUNLX0NQVUlORk9fRklFTEQoeGVuX2NyMykoJXJieCkKLSAgICAgICAgbmVnICAgJXJjeAotICAg ICAgICB3cml0ZV9jcjMgcmN4LCByZGksIHJzaQotICAgICAgICBtb3ZxICAkMCwgU1RBQ0tfQ1BV SU5GT19GSUVMRCh4ZW5fY3IzKSglcmJ4KQotLkxsc3Rhcl9jcjNfb2theToKLQotICAgICAgICBt b3ZxICBTVEFDS19DUFVJTkZPX0ZJRUxEKGN1cnJlbnRfdmNwdSkoJXJieCksICVyYngKKyAgICAg ICAgR0VUX0NVUlJFTlQoYngpCiAgICAgICAgIHRlc3RiICRURl9rZXJuZWxfbW9kZSxWQ1BVX3Ro cmVhZF9mbGFncyglcmJ4KQogICAgICAgICBqeiAgICBzd2l0Y2hfdG9fa2VybmVsCiAKQEAgLTI2 NSwxNyArMjEyLDcgQEAgR0xPQkFMKHN5c2VudGVyX2VmbGFnc19zYXZlZCkKICAgICAgICAgU1BF Q19DVFJMX0VOVFJZX0ZST01fUFYgLyogUmVxOiAlcnNwPXJlZ3MvY3B1aW5mbywgQ2xvYjogYWNk ICovCiAgICAgICAgIC8qIFdBUk5JTkchIGByZXRgLCBgY2FsbCAqYCwgYGptcCAqYCBub3Qgc2Fm ZSBiZWZvcmUgdGhpcyBwb2ludC4gKi8KIAotICAgICAgICBHRVRfU1RBQ0tfRU5EKGJ4KQotICAg ICAgICBtb3YgICBTVEFDS19DUFVJTkZPX0ZJRUxEKHhlbl9jcjMpKCVyYngpLCAlcmN4Ci0gICAg ICAgIG5lZyAgICVyY3gKLSAgICAgICAganogICAgLkxzeXNlX2NyM19va2F5Ci0gICAgICAgIG1v diAgICVyY3gsIFNUQUNLX0NQVUlORk9fRklFTEQoeGVuX2NyMykoJXJieCkKLSAgICAgICAgbmVn ICAgJXJjeAotICAgICAgICB3cml0ZV9jcjMgcmN4LCByZGksIHJzaQotICAgICAgICBtb3ZxICAk MCwgU1RBQ0tfQ1BVSU5GT19GSUVMRCh4ZW5fY3IzKSglcmJ4KQotLkxzeXNlX2NyM19va2F5Ogot Ci0gICAgICAgIG1vdnEgIFNUQUNLX0NQVUlORk9fRklFTEQoY3VycmVudF92Y3B1KSglcmJ4KSwg JXJieAorICAgICAgICBHRVRfQ1VSUkVOVChieCkKICAgICAgICAgY21wYiAgJDAsVkNQVV9zeXNl bnRlcl9kaXNhYmxlc19ldmVudHMoJXJieCkKICAgICAgICAgbW92cSAgVkNQVV9zeXNlbnRlcl9h ZGRyKCVyYngpLCVyYXgKICAgICAgICAgc2V0bmUgJWNsCkBAIC0zMTQsMjMgKzI1MSwxMyBAQCBF TlRSWShpbnQ4MF9kaXJlY3RfdHJhcCkKICAgICAgICAgU1BFQ19DVFJMX0VOVFJZX0ZST01fUFYg LyogUmVxOiAlcnNwPXJlZ3MvY3B1aW5mbywgQ2xvYjogYWNkICovCiAgICAgICAgIC8qIFdBUk5J TkchIGByZXRgLCBgY2FsbCAqYCwgYGptcCAqYCBub3Qgc2FmZSBiZWZvcmUgdGhpcyBwb2ludC4g Ki8KIAotICAgICAgICBHRVRfU1RBQ0tfRU5EKGJ4KQotICAgICAgICBtb3YgICBTVEFDS19DUFVJ TkZPX0ZJRUxEKHhlbl9jcjMpKCVyYngpLCAlcmN4Ci0gICAgICAgIG5lZyAgICVyY3gKLSAgICAg ICAganogICAgLkxpbnQ4MF9jcjNfb2theQotICAgICAgICBtb3YgICAlcmN4LCBTVEFDS19DUFVJ TkZPX0ZJRUxEKHhlbl9jcjMpKCVyYngpCi0gICAgICAgIG5lZyAgICVyY3gKLSAgICAgICAgd3Jp dGVfY3IzIHJjeCwgcmRpLCByc2kKLSAgICAgICAgbW92cSAgJDAsIFNUQUNLX0NQVUlORk9fRklF TEQoeGVuX2NyMykoJXJieCkKLS5MaW50ODBfY3IzX29rYXk6Ci0KICAgICAgICAgY21wYiAgJDAs dW50cnVzdGVkX21zaSglcmlwKQogVU5MSUtFTFlfU1RBUlQobmUsIG1zaV9jaGVjaykKICAgICAg ICAgbW92bCAgJDB4ODAsJWVkaQogICAgICAgICBjYWxsICBjaGVja19mb3JfdW5leHBlY3RlZF9t c2kKIFVOTElLRUxZX0VORChtc2lfY2hlY2spCiAKLSAgICAgICAgbW92cSAgU1RBQ0tfQ1BVSU5G T19GSUVMRChjdXJyZW50X3ZjcHUpKCVyYngpLCAlcmJ4CisgICAgICAgIEdFVF9DVVJSRU5UKGJ4 KQogCiAgICAgICAgIC8qIENoZWNrIHRoYXQgdGhlIGNhbGxiYWNrIGlzIG5vbi1udWxsLiAqLwog ICAgICAgICBsZWFxICBWQ1BVX2ludDgwX2JvdW5jZSglcmJ4KSwlcmR4CkBAIC00OTMsMjUgKzQy MCw5IEBAIEVOVFJZKGNvbW1vbl9pbnRlcnJ1cHQpCiAgICAgICAgIFNQRUNfQ1RSTF9FTlRSWV9G Uk9NX0lOVFIgLyogUmVxOiAlcnNwPXJlZ3MsICVyMTQ9ZW5kLCBDbG9iOiBhY2QgKi8KICAgICAg ICAgLyogV0FSTklORyEgYHJldGAsIGBjYWxsICpgLCBgam1wICpgIG5vdCBzYWZlIGJlZm9yZSB0 aGlzIHBvaW50LiAqLwogCi0gICAgICAgIG1vdiAgIFNUQUNLX0NQVUlORk9fRklFTEQoeGVuX2Ny MykoJXIxNCksICVyY3gKLSAgICAgICAgbW92ICAgJXJjeCwgJXIxNQotICAgICAgICBuZWcgICAl cmN4Ci0gICAgICAgIGp6ICAgIC5MaW50cl9jcjNfb2theQotICAgICAgICBqbnMgICAuTGludHJf Y3IzX2xvYWQKLSAgICAgICAgbW92ICAgJXJjeCwgU1RBQ0tfQ1BVSU5GT19GSUVMRCh4ZW5fY3Iz KSglcjE0KQotICAgICAgICBuZWcgICAlcmN4Ci0uTGludHJfY3IzX2xvYWQ6Ci0gICAgICAgIHdy aXRlX2NyMyByY3gsIHJkaSwgcnNpCi0gICAgICAgIHhvciAgICVlY3gsICVlY3gKLSAgICAgICAg bW92ICAgJXJjeCwgU1RBQ0tfQ1BVSU5GT19GSUVMRCh4ZW5fY3IzKSglcjE0KQotICAgICAgICB0 ZXN0YiAkMywgVVJFR1NfY3MoJXJzcCkKLSAgICAgICAgY21vdm56ICVyY3gsICVyMTUKLS5MaW50 cl9jcjNfb2theToKLQogICAgICAgICBDUjRfUFYzMl9SRVNUT1JFCiAgICAgICAgIG1vdnEgJXJz cCwlcmRpCiAgICAgICAgIGNhbGxxIGRvX0lSUQotICAgICAgICBtb3YgICAlcjE1LCBTVEFDS19D UFVJTkZPX0ZJRUxEKHhlbl9jcjMpKCVyMTQpCiAgICAgICAgIGptcCByZXRfZnJvbV9pbnRyCiAK IC8qIE5vIHNwZWNpYWwgcmVnaXN0ZXIgYXNzdW1wdGlvbnMuICovCkBAIC01MzUsMjEgKzQ0Niw2 IEBAIEdMT0JBTChoYW5kbGVfZXhjZXB0aW9uKQogICAgICAgICBTUEVDX0NUUkxfRU5UUllfRlJP TV9JTlRSIC8qIFJlcTogJXJzcD1yZWdzLCAlcjE0PWVuZCwgQ2xvYjogYWNkICovCiAgICAgICAg IC8qIFdBUk5JTkchIGByZXRgLCBgY2FsbCAqYCwgYGptcCAqYCBub3Qgc2FmZSBiZWZvcmUgdGhp cyBwb2ludC4gKi8KIAotICAgICAgICBtb3YgICBTVEFDS19DUFVJTkZPX0ZJRUxEKHhlbl9jcjMp KCVyMTQpLCAlcmN4Ci0gICAgICAgIG1vdiAgICVyY3gsICVyMTUKLSAgICAgICAgbmVnICAgJXJj eAotICAgICAgICBqeiAgICAuTHhjcHRfY3IzX29rYXkKLSAgICAgICAgam5zICAgLkx4Y3B0X2Ny M19sb2FkCi0gICAgICAgIG1vdiAgICVyY3gsIFNUQUNLX0NQVUlORk9fRklFTEQoeGVuX2NyMyko JXIxNCkKLSAgICAgICAgbmVnICAgJXJjeAotLkx4Y3B0X2NyM19sb2FkOgotICAgICAgICB3cml0 ZV9jcjMgcmN4LCByZGksIHJzaQotICAgICAgICB4b3IgICAlZWN4LCAlZWN4Ci0gICAgICAgIG1v diAgICVyY3gsIFNUQUNLX0NQVUlORk9fRklFTEQoeGVuX2NyMykoJXIxNCkKLSAgICAgICAgdGVz dGIgJDMsIFVSRUdTX2NzKCVyc3ApCi0gICAgICAgIGNtb3ZueiAlcmN4LCAlcjE1Ci0uTHhjcHRf Y3IzX29rYXk6Ci0KIGhhbmRsZV9leGNlcHRpb25fc2F2ZWQ6CiAgICAgICAgIEdFVF9DVVJSRU5U KGJ4KQogICAgICAgICB0ZXN0YiAkWDg2X0VGTEFHU19JRj4+OCxVUkVHU19lZmxhZ3MrMSglcnNw KQpAQCAtNjE1LDcgKzUxMSw2IEBAIGhhbmRsZV9leGNlcHRpb25fc2F2ZWQ6CiAgICAgICAgIFBF UkZDX0lOQ1IoZXhjZXB0aW9ucywgJXJheCwgJXJieCkKICAgICAgICAgbW92ICAgKCVyZHgsICVy YXgsIDgpLCAlcmR4CiAgICAgICAgIElORElSRUNUX0NBTEwgJXJkeAotICAgICAgICBtb3YgICAl cjE1LCBTVEFDS19DUFVJTkZPX0ZJRUxEKHhlbl9jcjMpKCVyMTQpCiAgICAgICAgIHRlc3RiICQz LFVSRUdTX2NzKCVyc3ApCiAgICAgICAgIGp6ICAgIHJlc3RvcmVfYWxsX3hlbgogICAgICAgICBs ZWFxICBWQ1BVX3RyYXBfYm91bmNlKCVyYngpLCVyZHgKQEAgLTY0OCw3ICs1NDMsNiBAQCBleGNl cHRpb25fd2l0aF9pbnRzX2Rpc2FibGVkOgogICAgICAgICByZXA7ICBtb3ZzcSAgICAgICAgICAg ICAgICAgICAgICMgbWFrZSByb29tIGZvciBlYy9ldgogMTogICAgICBtb3ZxICBVUkVHU19lcnJv cl9jb2RlKCVyc3ApLCVyYXggIyBlYy9ldgogICAgICAgICBtb3ZxICAlcmF4LFVSRUdTX2tlcm5l bF9zaXplb2YoJXJzcCkKLSAgICAgICAgbW92ICAgJXIxNSwgU1RBQ0tfQ1BVSU5GT19GSUVMRCh4 ZW5fY3IzKSglcjE0KQogICAgICAgICBqbXAgICByZXN0b3JlX2FsbF94ZW4gICAgICAgICAgICMg cmV0dXJuIHRvIGZpeHVwIGNvZGUKIAogLyogTm8gc3BlY2lhbCByZWdpc3RlciBhc3N1bXB0aW9u cy4gKi8KQEAgLTczMywxNSArNjI3LDYgQEAgRU5UUlkoZG91YmxlX2ZhdWx0KQogICAgICAgICBT UEVDX0NUUkxfRU5UUllfRlJPTV9JTlRSX0lTVCAvKiBSZXE6ICVyc3A9cmVncywgJXIxND1lbmQs IENsb2I6IGFjZCAqLwogICAgICAgICAvKiBXQVJOSU5HISBgcmV0YCwgYGNhbGwgKmAsIGBqbXAg KmAgbm90IHNhZmUgYmVmb3JlIHRoaXMgcG9pbnQuICovCiAKLSAgICAgICAgbW92ICAgU1RBQ0tf Q1BVSU5GT19GSUVMRCh4ZW5fY3IzKSglcjE0KSwgJXJieAotICAgICAgICB0ZXN0ICAlcmJ4LCAl cmJ4Ci0gICAgICAgIGp6ICAgIC5MZGJsZl9jcjNfb2theQotICAgICAgICBqbnMgICAuTGRibGZf Y3IzX2xvYWQKLSAgICAgICAgbmVnICAgJXJieAotLkxkYmxmX2NyM19sb2FkOgotICAgICAgICB3 cml0ZV9jcjMgcmJ4LCByZGksIHJzaQotLkxkYmxmX2NyM19va2F5OgotCiAgICAgICAgIG1vdnEg ICVyc3AsJXJkaQogICAgICAgICBjYWxsICBkb19kb3VibGVfZmF1bHQKICAgICAgICAgQlVHICAg LyogZG9fZG91YmxlX2ZhdWx0KCkgc2hvdWxkbid0IHJldHVybi4gKi8KQEAgLTc2NiwyNiArNjUx LDEwIEBAIGhhbmRsZV9pc3RfZXhjZXB0aW9uOgogICAgICAgICBTUEVDX0NUUkxfRU5UUllfRlJP TV9JTlRSX0lTVCAvKiBSZXE6ICVyc3A9cmVncywgJXIxND1lbmQsIENsb2I6IGFjZCAqLwogICAg ICAgICAvKiBXQVJOSU5HISBgcmV0YCwgYGNhbGwgKmAsIGBqbXAgKmAgbm90IHNhZmUgYmVmb3Jl IHRoaXMgcG9pbnQuICovCiAKLSAgICAgICAgbW92ICAgU1RBQ0tfQ1BVSU5GT19GSUVMRCh4ZW5f Y3IzKSglcjE0KSwgJXJjeAotICAgICAgICBtb3YgICAlcmN4LCAlcjE1Ci0gICAgICAgIG5lZyAg ICVyY3gKLSAgICAgICAganogICAgLkxpc3RfY3IzX29rYXkKLSAgICAgICAgam5zICAgLkxpc3Rf Y3IzX2xvYWQKLSAgICAgICAgbW92ICAgJXJjeCwgU1RBQ0tfQ1BVSU5GT19GSUVMRCh4ZW5fY3Iz KSglcjE0KQotICAgICAgICBuZWcgICAlcmN4Ci0uTGlzdF9jcjNfbG9hZDoKLSAgICAgICAgd3Jp dGVfY3IzIHJjeCwgcmRpLCByc2kKLSAgICAgICAgbW92cSAgJDAsIFNUQUNLX0NQVUlORk9fRklF TEQoeGVuX2NyMykoJXIxNCkKLS5MaXN0X2NyM19va2F5OgotCiAgICAgICAgIENSNF9QVjMyX1JF U1RPUkUKICAgICAgICAgdGVzdGIgJDMsVVJFR1NfY3MoJXJzcCkKICAgICAgICAganogICAgMWYK LSAgICAgICAgLyoKLSAgICAgICAgICogSW50ZXJydXB0ZWQgZ3Vlc3QgY29udGV4dC4gQ2xlYXIg dGhlIHJlc3RvcmUgdmFsdWUgZm9yIHhlbl9jcjMKLSAgICAgICAgICogYW5kIGNvcHkgdGhlIGNv bnRleHQgdG8gc3RhY2sgYm90dG9tLgotICAgICAgICAgKi8KLSAgICAgICAgeG9yICAgJXIxNSwg JXIxNQorICAgICAgICAvKiBJbnRlcnJ1cHRlZCBndWVzdCBjb250ZXh0LiBDb3B5IHRoZSBjb250 ZXh0IHRvIHN0YWNrIGJvdHRvbS4gKi8KICAgICAgICAgR0VUX0NQVUlORk9fRklFTEQoZ3Vlc3Rf Y3B1X3VzZXJfcmVncyxkaSkKICAgICAgICAgbW92cSAgJXJzcCwlcnNpCiAgICAgICAgIG1vdmwg ICRVUkVHU19rZXJuZWxfc2l6ZW9mLzgsJWVjeApAQCAtNzk2LDcgKzY2NSw2IEBAIGhhbmRsZV9p c3RfZXhjZXB0aW9uOgogICAgICAgICBsZWFxICBleGNlcHRpb25fdGFibGUoJXJpcCksJXJkeAog ICAgICAgICBtb3YgICAoJXJkeCwgJXJheCwgOCksICVyZHgKICAgICAgICAgSU5ESVJFQ1RfQ0FM TCAlcmR4Ci0gICAgICAgIG1vdiAgICVyMTUsIFNUQUNLX0NQVUlORk9fRklFTEQoeGVuX2NyMyko JXIxNCkKICAgICAgICAgY21wYiAgJFRSQVBfbm1pLFVSRUdTX2VudHJ5X3ZlY3RvciglcnNwKQog ICAgICAgICBqbmUgICByZXRfZnJvbV9pbnRyCiAKZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL2Fz bS14ODYvYXNtX2RlZm5zLmggYi94ZW4vaW5jbHVkZS9hc20teDg2L2FzbV9kZWZucy5oCmluZGV4 IGFlZTE0YmEwMDcuLjJhNzllOGE3ZjQgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL2FzbS14ODYv YXNtX2RlZm5zLmgKKysrIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9hc21fZGVmbnMuaApAQCAtMjA1 LDE1ICsyMDUsNiBAQCB2b2lkIHJldF9mcm9tX2ludHIodm9pZCk7CiAjZGVmaW5lIEFTTV9TVEFD IEFTTV9BQyhTVEFDKQogI2RlZmluZSBBU01fQ0xBQyBBU01fQUMoQ0xBQykKIAotLm1hY3JvIHdy aXRlX2NyMyB2YWw6cmVxLCB0bXAxOnJlcSwgdG1wMjpyZXEKLSAgICAgICAgbW92ICAgJWNyNCwg JVx0bXAxCi0gICAgICAgIG1vdiAgICVcdG1wMSwgJVx0bXAyCi0gICAgICAgIGFuZCAgICR+WDg2 X0NSNF9QR0UsICVcdG1wMQotICAgICAgICBtb3YgICAlXHRtcDEsICVjcjQKLSAgICAgICAgbW92 ICAgJVx2YWwsICVjcjMKLSAgICAgICAgbW92ICAgJVx0bXAyLCAlY3I0Ci0uZW5kbQotCiAjZGVm aW5lIENSNF9QVjMyX1JFU1RPUkUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgXAogICAgICAgICA2Njc6IEFTTV9OT1A1OyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFwKICAgICAgICAgLnB1c2hzZWN0aW9uIC5hbHRpbnN0cl9yZXBs YWNlbWVudCwgImF4IjsgICAgICAgICAgICAgICAgICBcCmRpZmYgLS1naXQgYS94ZW4vaW5jbHVk ZS9hc20teDg2L2N1cnJlbnQuaCBiL3hlbi9pbmNsdWRlL2FzbS14ODYvY3VycmVudC5oCmluZGV4 IDQ2NzhhMGZjZjUuLjEwODcyMzkzNTcgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL2FzbS14ODYv Y3VycmVudC5oCisrKyBiL3hlbi9pbmNsdWRlL2FzbS14ODYvY3VycmVudC5oCkBAIC00MSwxOCAr NDEsNiBAQCBzdHJ1Y3QgY3B1X2luZm8gewogICAgIHN0cnVjdCB2Y3B1ICpjdXJyZW50X3ZjcHU7 CiAgICAgdW5zaWduZWQgbG9uZyBwZXJfY3B1X29mZnNldDsKICAgICB1bnNpZ25lZCBsb25nIGNy NDsKLSAgICAvKgotICAgICAqIE9mIHRoZSB0d28gZm9sbG93aW5nIGZpZWxkcyB0aGUgbGF0dGVy IGlzIGJlaW5nIHNldCB0byB0aGUgQ1IzIHZhbHVlCi0gICAgICogdG8gYmUgdXNlZCBvbiB0aGUg Z2l2ZW4gcENQVSBmb3IgbG9hZGluZyB3aGVuZXZlciA2NC1iaXQgUFYgZ3Vlc3QKLSAgICAgKiBj b250ZXh0IGlzIGJlaW5nIGVudGVyZWQuIFRoZSB2YWx1ZSBuZXZlciBjaGFuZ2VzIG9uY2Ugc2V0 LgotICAgICAqIFRoZSBmb3JtZXIgaXMgdGhlIHZhbHVlIHRvIHJlc3RvcmUgd2hlbiByZS1lbnRl cmluZyBYZW4sIGlmIGFueS4gSU9XCi0gICAgICogaXRzIHZhbHVlIGJlaW5nIHplcm8gbWVhbnMg dGhlcmUncyBub3RoaW5nIHRvIHJlc3RvcmUuIEhvd2V2ZXIsIGl0cwotICAgICAqIHZhbHVlIGNh biBhbHNvIGJlIG5lZ2F0aXZlLCBpbmRpY2F0aW5nIHRvIHRoZSBleGl0LXRvLVhlbiBjb2RlIHRo YXQKLSAgICAgKiByZXN0b3JpbmcgaXMgbm90IG5lY2Vzc2FyeSwgYnV0IGFsbG93aW5nIGFueSBu ZXN0ZWQgZW50cnkgY29kZSBwYXRocwotICAgICAqIHRvIHN0aWxsIGtub3cgdGhlIHZhbHVlIHRv IHB1dCBiYWNrIGludG8gQ1IzLgotICAgICAqLwotICAgIHVuc2lnbmVkIGxvbmcgeGVuX2NyMzsK LSAgICB1bnNpZ25lZCBsb25nIHB2X2NyMzsKIAogICAgIC8qIFNlZSBhc20teDg2L3NwZWNfY3Ry bF9hc20uaCBmb3IgdXNhZ2UuICovCiAgICAgdW5zaWduZWQgaW50IHNoYWRvd19zcGVjX2N0cmw7 CmRpZmYgLS1naXQgYS94ZW4vaW5jbHVkZS9hc20teDg2L3Byb2Nlc3Nvci5oIGIveGVuL2luY2x1 ZGUvYXNtLXg4Ni9wcm9jZXNzb3IuaAppbmRleCA5YzcwYTk4YWVmLi42MjVmNmU5ZjY5IDEwMDY0 NAotLS0gYS94ZW4vaW5jbHVkZS9hc20teDg2L3Byb2Nlc3Nvci5oCisrKyBiL3hlbi9pbmNsdWRl L2FzbS14ODYvcHJvY2Vzc29yLmgKQEAgLTQzNyw3ICs0MzcsNiBAQCBleHRlcm4gaWR0X2VudHJ5 X3QgaWR0X3RhYmxlW107CiBleHRlcm4gaWR0X2VudHJ5X3QgKmlkdF90YWJsZXNbXTsKIAogREVD TEFSRV9QRVJfQ1BVKHN0cnVjdCB0c3Nfc3RydWN0LCBpbml0X3Rzcyk7Ci1ERUNMQVJFX1BFUl9D UFUocm9vdF9wZ2VudHJ5X3QgKiwgcm9vdF9wZ3QpOwogCiBleHRlcm4gdm9pZCBpbml0X2ludDgw X2RpcmVjdF90cmFwKHN0cnVjdCB2Y3B1ICp2KTsKIApkaWZmIC0tZ2l0IGEveGVuL2luY2x1ZGUv YXNtLXg4Ni94ODZfNjQvcGFnZS5oIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni94ODZfNjQvcGFnZS5o CmluZGV4IDA1YTAzMzQ4OTMuLjZmYjdjZDU1NTMgMTAwNjQ0Ci0tLSBhL3hlbi9pbmNsdWRlL2Fz bS14ODYveDg2XzY0L3BhZ2UuaAorKysgYi94ZW4vaW5jbHVkZS9hc20teDg2L3g4Nl82NC9wYWdl LmgKQEAgLTI0LDggKzI0LDggQEAKIC8qIFRoZXNlIGFyZSBhcmNoaXRlY3R1cmFsIGxpbWl0cy4g Q3VycmVudCBDUFVzIHN1cHBvcnQgb25seSA0MC1iaXQgcGh5cy4gKi8KICNkZWZpbmUgUEFERFJf QklUUyAgICAgICAgICAgICAgNTIKICNkZWZpbmUgVkFERFJfQklUUyAgICAgICAgICAgICAgNDgK LSNkZWZpbmUgUEFERFJfTUFTSyAgICAgICAgICAgICAgKChfQUMoMSxVTCkgPDwgUEFERFJfQklU UykgLSAxKQotI2RlZmluZSBWQUREUl9NQVNLICAgICAgICAgICAgICAoKF9BQygxLFVMKSA8PCBW QUREUl9CSVRTKSAtIDEpCisjZGVmaW5lIFBBRERSX01BU0sgICAgICAgICAgICAgICgoMVVMIDw8 IFBBRERSX0JJVFMpLTEpCisjZGVmaW5lIFZBRERSX01BU0sgICAgICAgICAgICAgICgoMVVMIDw8 IFZBRERSX0JJVFMpLTEpCiAKICNkZWZpbmUgVkFERFJfVE9QX0JJVCAgICAgICAgICAgKDFVTCA8 PCAoVkFERFJfQklUUyAtIDEpKQogI2RlZmluZSBDQU5PTklDQUxfTUFTSyAgICAgICAgICAofjBV TCAmIH5WQUREUl9NQVNLKQpAQCAtMTA3LDcgKzEwNyw2IEBAIHR5cGVkZWYgbDRfcGdlbnRyeV90 IHJvb3RfcGdlbnRyeV90OwogICAgICAgOiAoKChfcykgPCBST09UX1BBR0VUQUJMRV9GSVJTVF9Y RU5fU0xPVCkgfHwgIFwKICAgICAgICAgICgoX3MpID4gUk9PVF9QQUdFVEFCTEVfTEFTVF9YRU5f U0xPVCkpKQogCi0jZGVmaW5lIHJvb3RfdGFibGVfb2Zmc2V0ICAgICAgICAgbDRfdGFibGVfb2Zm c2V0CiAjZGVmaW5lIHJvb3RfZ2V0X3BmbiAgICAgICAgICAgICAgbDRlX2dldF9wZm4KICNkZWZp bmUgcm9vdF9nZXRfZmxhZ3MgICAgICAgICAgICBsNGVfZ2V0X2ZsYWdzCiAjZGVmaW5lIHJvb3Rf Z2V0X2ludHB0ZSAgICAgICAgICAgbDRlX2dldF9pbnRwdGUKLS0gCjIuMTMuNgoKCl9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5n IGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8vbGlzdHMueGVucHJv amVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby94ZW4tZGV2ZWw=