From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Jan Beulich" Subject: [PATCH v6 30/42] x86emul: support AVX512{F, _VBMI2} compress/expand insns Date: Thu, 06 Dec 2018 03:06:26 -0700 Message-ID: <5C08F4A202000078002038A2@prv1-mh.provo.novell.com> References: <5B6BF83602000078001DC548@prv1-mh.provo.novell.com> <5C08EFAE020000780020373E@prv1-mh.provo.novell.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] helo=us1-amaz-eas2.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1gUqYE-0006e3-Mp for xen-devel@lists.xenproject.org; Thu, 06 Dec 2018 10:06:34 +0000 In-Reply-To: <5C08EFAE020000780020373E@prv1-mh.provo.novell.com> Content-Disposition: inline List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: xen-devel Cc: George Dunlap , Andrew Cooper , Wei Liu , Roger Pau Monne List-Id: xen-devel@lists.xenproject.org U2lnbmVkLW9mZi1ieTogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgotLS0KdjY6IFJl LWJhc2UuIEFkZCB0ZXN0cyBmb3IgdGhlIGJ5dGUvd29yZCBmb3Jtcy4KdjU6IE5ldy4KCi0tLSBh L3Rvb2xzL3Rlc3RzL3g4Nl9lbXVsYXRvci9ldmV4LWRpc3A4LmMKKysrIGIvdG9vbHMvdGVzdHMv eDg2X2VtdWxhdG9yL2V2ZXgtZGlzcDguYwpAQCAtMTA5LDYgKzEwOSw3IEBAIHN0YXRpYyBjb25z dCBzdHJ1Y3QgdGVzdCBhdng1MTJmX2FsbFtdID0KICAgICBJTlNOX0ZQKGNtcCwgICAgICAgICAg ICAgMGYsIGMyKSwKICAgICBJTlNOKGNvbWlzZCwgICAgICAgNjYsICAgMGYsIDJmLCAgICBlbCwg ICAgICBxLCBlbCksCiAgICAgSU5TTihjb21pc3MsICAgICAgICAgLCAgIDBmLCAyZiwgICAgZWws ICAgICAgZCwgZWwpLAorICAgIElOU04oY29tcHJlc3MsICAgICA2NiwgMGYzOCwgOGEsICAgIHZs LCAgICAgc2QsIGVsKSwKICAgICBJTlNOKGN2dGRxMnBkLCAgICAgZjMsICAgMGYsIGU2LCAgICB2 bF8yLCAgICBkLCB2bCksCiAgICAgSU5TTihjdnRkcTJwcywgICAgICAgLCAgIDBmLCA1YiwgICAg dmwsICAgICAgZCwgdmwpLAogICAgIElOU04oY3Z0cGQyZHEsICAgICBmMiwgICAwZiwgZTYsICAg IHZsLCAgICAgIHEsIHZsKSwKQEAgLTE0MCw2ICsxNDEsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0 IHRlc3QgYXZ4NTEyZl9hbGxbXSA9CiAgICAgSU5TTihjdnR1c2kyc2QsICAgIGYyLCAgIDBmLCA3 YiwgICAgZWwsICAgZHE2NCwgZWwpLAogICAgIElOU04oY3Z0dXNpMnNzLCAgICBmMywgICAwZiwg N2IsICAgIGVsLCAgIGRxNjQsIGVsKSwKICAgICBJTlNOX0ZQKGRpdiwgICAgICAgICAgICAgMGYs IDVlKSwKKyAgICBJTlNOKGV4cGFuZCwgICAgICAgNjYsIDBmMzgsIDg4LCAgICB2bCwgICAgIHNk LCBlbCksCiAgICAgSU5TTihmaXh1cGltbSwgICAgIDY2LCAwZjNhLCA1NCwgICAgdmwsICAgICBz ZCwgdmwpLAogICAgIElOU04oZml4dXBpbW0sICAgICA2NiwgMGYzYSwgNTUsICAgIGVsLCAgICAg c2QsIGVsKSwKICAgICBJTlNOKGZtYWRkMTMyLCAgICAgNjYsIDBmMzgsIDk4LCAgICB2bCwgICAg IHNkLCB2bCksCkBAIC0yMTQsNiArMjE2LDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCB0ZXN0IGF2 eDUxMmZfYWxsW10gPQogICAgIElOU04ocGNtcGd0ZCwgICAgICA2NiwgICAwZiwgNjYsICAgIHZs LCAgICAgIGQsIHZsKSwKICAgICBJTlNOKHBjbXBndHEsICAgICAgNjYsIDBmMzgsIDM3LCAgICB2 bCwgICAgICBxLCB2bCksCiAgICAgSU5TTihwY21wdSwgICAgICAgIDY2LCAwZjNhLCAxZSwgICAg dmwsICAgICBkcSwgdmwpLAorICAgIElOU04ocGNvbXByZXNzLCAgICA2NiwgMGYzOCwgOGIsICAg IHZsLCAgICAgZHEsIGVsKSwKICAgICBJTlNOKHBlcm1pMiwgICAgICAgNjYsIDBmMzgsIDc2LCAg ICB2bCwgICAgIGRxLCB2bCksCiAgICAgSU5TTihwZXJtaTIsICAgICAgIDY2LCAwZjM4LCA3Nywg ICAgdmwsICAgICBzZCwgdmwpLAogICAgIElOU04ocGVybWlscGQsICAgICA2NiwgMGYzOCwgMGQs ICAgIHZsLCAgICAgIHEsIHZsKSwKQEAgLTIyMiw2ICsyMjUsNyBAQCBzdGF0aWMgY29uc3Qgc3Ry dWN0IHRlc3QgYXZ4NTEyZl9hbGxbXSA9CiAgICAgSU5TTihwZXJtaWxwcywgICAgIDY2LCAwZjNh LCAwNCwgICAgdmwsICAgICAgZCwgdmwpLAogICAgIElOU04ocGVybXQyLCAgICAgICA2NiwgMGYz OCwgN2UsICAgIHZsLCAgICAgZHEsIHZsKSwKICAgICBJTlNOKHBlcm10MiwgICAgICAgNjYsIDBm MzgsIDdmLCAgICB2bCwgICAgIHNkLCB2bCksCisgICAgSU5TTihwZXhwYW5kLCAgICAgIDY2LCAw ZjM4LCA4OSwgICAgdmwsICAgICBkcSwgZWwpLAogICAgIElOU04ocG1heHMsICAgICAgICA2Niwg MGYzOCwgM2QsICAgIHZsLCAgICAgZHEsIHZsKSwKICAgICBJTlNOKHBtYXh1LCAgICAgICAgNjYs IDBmMzgsIDNmLCAgICB2bCwgICAgIGRxLCB2bCksCiAgICAgSU5TTihwbWlucywgICAgICAgIDY2 LCAwZjM4LCAzOSwgICAgdmwsICAgICBkcSwgdmwpLApAQCAtNTA5LDYgKzUxMywxMSBAQCBzdGF0 aWMgY29uc3Qgc3RydWN0IHRlc3QgYXZ4NTEyX3ZibWlfYWxsCiAgICAgSU5TTihwZXJtdDJiLCAg ICAgICA2NiwgMGYzOCwgN2QsIHZsLCBiLCB2bCksCiB9OwogCitzdGF0aWMgY29uc3Qgc3RydWN0 IHRlc3QgYXZ4NTEyX3ZibWkyX2FsbFtdID0geworICAgIElOU04ocGNvbXByZXNzLCA2NiwgMGYz OCwgNjMsIHZsLCBidywgZWwpLAorICAgIElOU04ocGV4cGFuZCwgICA2NiwgMGYzOCwgNjIsIHZs LCBidywgZWwpLAorfTsKKwogc3RhdGljIGNvbnN0IHVuc2lnbmVkIGNoYXIgdmxfYWxsW10gPSB7 IFZMXzUxMiwgVkxfMTI4LCBWTF8yNTYgfTsKIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIHZs XzEyOFtdID0geyBWTF8xMjggfTsKIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIHZsX25vMTI4 W10gPSB7IFZMXzUxMiwgVkxfMjU2IH07CkBAIC04NjUsNCArODc0LDUgQEAgdm9pZCBldmV4X2Rp c3A4X3Rlc3Qodm9pZCAqaW5zdHIsIHN0cnVjdAogICAgIFJVTihhdng1MTJkcSwgNTEyKTsKICAg ICBSVU4oYXZ4NTEyZXIsIDUxMik7CiAgICAgUlVOKGF2eDUxMl92Ym1pLCBhbGwpOworICAgIFJV Tihhdng1MTJfdmJtaTIsIGFsbCk7CiB9Ci0tLSBhL3Rvb2xzL3Rlc3RzL3g4Nl9lbXVsYXRvci90 ZXN0X3g4Nl9lbXVsYXRvci5jCisrKyBiL3Rvb2xzL3Rlc3RzL3g4Nl9lbXVsYXRvci90ZXN0X3g4 Nl9lbXVsYXRvci5jCkBAIC0zOTY2LDYgKzM5NjYsMjI3IEBAIGludCBtYWluKGludCBhcmdjLCBj aGFyICoqYXJndikKICAgICBlbHNlCiAgICAgICAgIHByaW50Zigic2tpcHBlZFxuIik7CiAKKyAg ICAvKgorICAgICAqIFRoZSBmb2xsb3dpbmcgY29tcHJlc3MvZXhwYW5kIHRlc3RzIGFyZSBub3Qg b25seSBtYWtpbmcgc3VyZSB0aGUKKyAgICAgKiBhY2Nlc3NlZCBkYXRhIGlzIGNvcnJlY3QsIGJ1 dCB0aGV5IGFsc28gdmVyaWZ5IChieSBwbGFjaW5nIG9wZXJhbmRzCisgICAgICogb24gdGhlIG1h cHBpbmcgYm91bmRhcmllcykgdGhhdCBlbGVtZW50cyBjb250cm9sbGVkIGJ5IGNsZWFyIG1hc2sK KyAgICAgKiBiaXRzIGRvbid0IGdldCBhY2Nlc3NlZC4KKyAgICAgKi8KKyAgICBpZiAoIHN0YWNr X2V4ZWMgJiYgY3B1X2hhc19hdng1MTJmICkKKyAgICB7CisgICAgICAgIGRlY2xfaW5zbih2cGNv bXByZXNzZCk7CisgICAgICAgIGRlY2xfaW5zbih2cGNvbXByZXNzcSk7CisgICAgICAgIGRlY2xf aW5zbih2cGV4cGFuZGQpOworICAgICAgICBkZWNsX2luc24odnBleHBhbmRxKTsKKyAgICAgICAg c3RhdGljIGNvbnN0IHN0cnVjdCB7CisgICAgICAgICAgICB1bnNpZ25lZCBpbnQgZFsxNl07Cisg ICAgICAgIH0gZHNyYyA9IHsgeyAwLCAxLCAyLCAzLCA0LCA1LCA2LCA3LCA4LCA5LCAxMCwgMTEs IDEyLCAxMywgMTQsIDE1IH0gfTsKKyAgICAgICAgc3RhdGljIGNvbnN0IHN0cnVjdCB7CisgICAg ICAgICAgICB1bnNpZ25lZCBsb25nIGxvbmcgcVs4XTsKKyAgICAgICAgfSBxc3JjID0geyB7IDAs IDEsIDIsIDMsIDQsIDUsIDYsIDcgfSB9OworICAgICAgICB1bnNpZ25lZCBpbnQgKnB0ciA9IHJl cyArIE1NQVBfU1ogLyBzaXplb2YoKnJlcykgLSAzMjsKKworICAgICAgICBwcmludGYoIiUtNDBz IiwgIlRlc3RpbmcgdnBjb21wcmVzc2QgJXptbTEsMjQqNCglZWN4KXslazJ9Li4uIik7CisgICAg ICAgIGFzbSB2b2xhdGlsZSAoICJrbW92dyAlMSwgJSVrMlxuXHQiCisgICAgICAgICAgICAgICAg ICAgICAgICJ2bW92ZHF1MzIgJTIsICUlem1tMVxuIgorICAgICAgICAgICAgICAgICAgICAgICBw dXRfaW5zbih2cGNvbXByZXNzZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZw Y29tcHJlc3NkICUlem1tMSwgMjQqNCglMCkleyUlazIlfSIpCisgICAgICAgICAgICAgICAgICAg ICAgIDo6ICJjIiAoTlVMTCksICJyIiAoMHg1NWFhKSwgIm0iIChkc3JjKSApOworCisgICAgICAg IG1lbXNldChwdHIsIDB4ZGIsIDMyICogNCk7CisgICAgICAgIHNldF9pbnNuKHZwY29tcHJlc3Nk KTsKKyAgICAgICAgcmVncy5lY3ggPSAodW5zaWduZWQgbG9uZylwdHI7CisgICAgICAgIHJjID0g eDg2X2VtdWxhdGUoJmN0eHQsICZlbXVsb3BzKTsKKyAgICAgICAgaWYgKCByYyAhPSBYODZFTVVM X09LQVkgfHwgIWNoZWNrX2VpcCh2cGNvbXByZXNzZCkgfHwKKyAgICAgICAgICAgICBtZW1jbXAo cHRyLCBwdHIgKyA4LCAxNiAqIDQpICkKKyAgICAgICAgICAgIGdvdG8gZmFpbDsKKyAgICAgICAg Zm9yICggaSA9IDA7IGkgPCA0OyArK2kgKQorICAgICAgICAgICAgaWYgKCBwdHJbMjQgKyBpXSAh PSAyICogaSArIDEgKQorICAgICAgICAgICAgICAgIGdvdG8gZmFpbDsKKyAgICAgICAgZm9yICgg OyBpIDwgODsgKytpICkKKyAgICAgICAgICAgIGlmICggcHRyWzI0ICsgaV0gIT0gMiAqIGkgKQor ICAgICAgICAgICAgICAgIGdvdG8gZmFpbDsKKyAgICAgICAgcHJpbnRmKCJva2F5XG4iKTsKKwor ICAgICAgICBwcmludGYoIiUtNDBzIiwgIlRlc3RpbmcgdnBleHBhbmRkIDgqNCglZWR4KSwlem1t M3slazJ9e3p9Li4uIik7CisgICAgICAgIGFzbSB2b2xhdGlsZSAoICJ2cHRlcm5sb2dkICQweDgx LCAlJXptbTMsICUlem1tMywgJSV6bW0zXG4iCisgICAgICAgICAgICAgICAgICAgICAgIHB1dF9p bnNuKHZwZXhwYW5kZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZwZXhwYW5k ZCA4KjQoJTApLCAlJXptbTMleyUlazIlfSV7eiV9IikKKyAgICAgICAgICAgICAgICAgICAgICAg OjogImQiIChOVUxMKSApOworICAgICAgICBzZXRfaW5zbih2cGV4cGFuZGQpOworICAgICAgICBy ZWdzLmVkeCA9ICh1bnNpZ25lZCBsb25nKShwdHIgKyAxNik7CisgICAgICAgIHJjID0geDg2X2Vt dWxhdGUoJmN0eHQsICZlbXVsb3BzKTsKKyAgICAgICAgaWYgKCByYyAhPSBYODZFTVVMX09LQVkg fHwgIWNoZWNrX2VpcCh2cGV4cGFuZGQpICkKKyAgICAgICAgICAgIGdvdG8gZmFpbDsKKyAgICAg ICAgYXNtICggInZtb3ZkcWEzMiAlJXptbTEsICUlem1tMiV7JSVrMiV9JXt6JX1cblx0IgorICAg ICAgICAgICAgICAidnBjbXBlcWQgJSV6bW0yLCAlJXptbTMsICUlazBcblx0IgorICAgICAgICAg ICAgICAia21vdncgJSVrMCwgJTAiCisgICAgICAgICAgICAgIDogIj1yIiAocmMpICk7CisgICAg ICAgIGlmICggcmMgIT0gMHhmZmZmICkKKyAgICAgICAgICAgIGdvdG8gZmFpbDsKKyAgICAgICAg cHJpbnRmKCJva2F5XG4iKTsKKworICAgICAgICBwcmludGYoIiUtNDBzIiwgIlRlc3RpbmcgdnBj b21wcmVzc3EgJXptbTQsMTIqOCglZWR4KXslazN9Li4uIik7CisgICAgICAgIGFzbSB2b2xhdGls ZSAoICJrbW92dyAlMSwgJSVrM1xuXHQiCisgICAgICAgICAgICAgICAgICAgICAgICJ2bW92ZHF1 NjQgJTIsICUlem1tNFxuIgorICAgICAgICAgICAgICAgICAgICAgICBwdXRfaW5zbih2cGNvbXBy ZXNzcSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZwY29tcHJlc3NxICUlem1t NCwgMTIqOCglMCkleyUlazMlfSIpCisgICAgICAgICAgICAgICAgICAgICAgIDo6ICJkIiAoTlVM TCksICJyIiAoMHg1YSksICJtIiAocXNyYykgKTsKKworICAgICAgICBtZW1zZXQocHRyLCAweGRi LCAxNiAqIDgpOworICAgICAgICBzZXRfaW5zbih2cGNvbXByZXNzcSk7CisgICAgICAgIHJlZ3Mu ZWR4ID0gKHVuc2lnbmVkIGxvbmcpcHRyOworICAgICAgICByYyA9IHg4Nl9lbXVsYXRlKCZjdHh0 LCAmZW11bG9wcyk7CisgICAgICAgIGlmICggcmMgIT0gWDg2RU1VTF9PS0FZIHx8ICFjaGVja19l aXAodnBjb21wcmVzc3EpIHx8CisgICAgICAgICAgICAgbWVtY21wKHB0ciwgcHRyICsgOCwgOCAq IDgpICkKKyAgICAgICAgICAgIGdvdG8gZmFpbDsKKyAgICAgICAgZm9yICggaSA9IDA7IGkgPCAy OyArK2kgKQorICAgICAgICB7CisgICAgICAgICAgICBpZiAoIHB0clsoMTIgKyBpKSAqIDJdICE9 IDIgKiBpICsgMSB8fAorICAgICAgICAgICAgICAgICBwdHJbKDEyICsgaSkgKiAyICsgMV0gKQor ICAgICAgICAgICAgICAgIGdvdG8gZmFpbDsKKyAgICAgICAgfQorICAgICAgICBmb3IgKCA7IGkg PCA0OyArK2kgKQorICAgICAgICB7CisgICAgICAgICAgICBpZiAoIHB0clsoMTIgKyBpKSAqIDJd ICE9IDIgKiBpIHx8CisgICAgICAgICAgICAgICAgIHB0clsoMTIgKyBpKSAqIDIgKyAxXSApCisg ICAgICAgICAgICAgICAgZ290byBmYWlsOworICAgICAgICB9CisgICAgICAgIHByaW50Zigib2th eVxuIik7CisKKyAgICAgICAgcHJpbnRmKCIlLTQwcyIsICJUZXN0aW5nIHZwZXhwYW5kcSA0Kjgo JWVjeCksJXptbTV7JWszfXt6fS4uLiIpOworICAgICAgICBhc20gdm9sYXRpbGUgKCAidnB0ZXJu bG9ncSAkMHg4MSwgJSV6bW01LCAlJXptbTUsICUlem1tNVxuIgorICAgICAgICAgICAgICAgICAg ICAgICBwdXRfaW5zbih2cGV4cGFuZHEsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICJ2cGV4cGFuZHEgNCo4KCUwKSwgJSV6bW01JXslJWszJX0le3olfSIpCisgICAgICAgICAgICAg ICAgICAgICAgIDo6ICJjIiAoTlVMTCkgKTsKKyAgICAgICAgc2V0X2luc24odnBleHBhbmRxKTsK KyAgICAgICAgcmVncy5lY3ggPSAodW5zaWduZWQgbG9uZykocHRyICsgMTYpOworICAgICAgICBy YyA9IHg4Nl9lbXVsYXRlKCZjdHh0LCAmZW11bG9wcyk7CisgICAgICAgIGlmICggcmMgIT0gWDg2 RU1VTF9PS0FZIHx8ICFjaGVja19laXAodnBleHBhbmRxKSApCisgICAgICAgICAgICBnb3RvIGZh aWw7CisgICAgICAgIGFzbSAoICJ2bW92ZHFhNjQgJSV6bW00LCAlJXptbTYleyUlazMlfSV7eiV9 XG5cdCIKKyAgICAgICAgICAgICAgInZwY21wZXFxICUlem1tNSwgJSV6bW02LCAlJWswXG5cdCIK KyAgICAgICAgICAgICAgImttb3Z3ICUlazAsICUwIgorICAgICAgICAgICAgICA6ICI9ciIgKHJj KSApOworICAgICAgICBpZiAoIHJjICE9IDB4ZmYgKQorICAgICAgICAgICAgZ290byBmYWlsOwor ICAgICAgICBwcmludGYoIm9rYXlcbiIpOworICAgIH0KKworI2lmIF9fR05VQ19fID4gNyAvKiBj YW4ndCBjaGVjayBmb3IgX19BVlg1MTJWQk1JMl9fIGhlcmUgKi8KKyAgICBpZiAoIHN0YWNrX2V4 ZWMgJiYgY3B1X2hhc19hdng1MTJfdmJtaTIgKQorICAgIHsKKyAgICAgICAgZGVjbF9pbnNuKHZw Y29tcHJlc3NiKTsKKyAgICAgICAgZGVjbF9pbnNuKHZwY29tcHJlc3N3KTsKKyAgICAgICAgZGVj bF9pbnNuKHZwZXhwYW5kYik7CisgICAgICAgIGRlY2xfaW5zbih2cGV4cGFuZHcpOworICAgICAg ICBzdGF0aWMgY29uc3Qgc3RydWN0IHsKKyAgICAgICAgICAgIHVuc2lnbmVkIGNoYXIgYls2NF07 CisgICAgICAgIH0gYnNyYyA9IHsgeyAwLCAgMSwgIDIsICAzLCAgNCwgIDUsICA2LCAgNywKKyAg ICAgICAgICAgICAgICAgICAgIDgsICA5LCAxMCwgMTEsIDEyLCAxMywgMTQsIDE1LAorICAgICAg ICAgICAgICAgICAgICAxNiwgMTcsIDE4LCAxOSwgMjAsIDIxLCAyMiwgMjMsCisgICAgICAgICAg ICAgICAgICAgIDI0LCAyNSwgMjYsIDI3LCAyOCwgMjksIDMwLCAzMSwKKyAgICAgICAgICAgICAg ICAgICAgMzIsIDMzLCAzNCwgMzUsIDM2LCAzNywgMzgsIDM5LAorICAgICAgICAgICAgICAgICAg ICA0MCwgNDEsIDQyLCA0MywgNDQsIDQ1LCA0NiwgNDcsCisgICAgICAgICAgICAgICAgICAgIDQ4 LCA0OSwgNTAsIDUxLCA1MiwgNTMsIDU0LCA1NSwKKyAgICAgICAgICAgICAgICAgICAgNTYsIDU3 LCA1OCwgNTksIDYwLCA2MSwgNjIsIDYzIH0gfTsKKyAgICAgICAgc3RhdGljIGNvbnN0IHN0cnVj dCB7CisgICAgICAgICAgICB1bnNpZ25lZCBzaG9ydCB3WzMyXTsKKyAgICAgICAgfSB3c3JjID0g eyB7IDAsICAxLCAgMiwgIDMsICA0LCAgNSwgIDYsICA3LAorICAgICAgICAgICAgICAgICAgICAg OCwgIDksIDEwLCAxMSwgMTIsIDEzLCAxNCwgMTUsCisgICAgICAgICAgICAgICAgICAgIDE2LCAx NywgMTgsIDE5LCAyMCwgMjEsIDIyLCAyMywKKyAgICAgICAgICAgICAgICAgICAgMjQsIDI1LCAy NiwgMjcsIDI4LCAyOSwgMzAsIDMxIH0gfTsKKyAgICAgICAgdW5zaWduZWQgY2hhciAqcHRyID0g KHZvaWQgKilyZXMgKyBNTUFQX1NaIC0gMTI4OworICAgICAgICB1bnNpZ25lZCBsb25nIGxvbmcg dyA9IDB4NTU1NTU1NTVhYWFhYWFhYVVMTDsKKworICAgICAgICBwcmludGYoIiUtNDBzIiwgIlRl c3RpbmcgdnBjb21wcmVzc2IgJXptbTEsOTYqMSglZWN4KXslazJ9Li4uIik7CisgICAgICAgIGFz bSB2b2xhdGlsZSAoICJrbW92cSAlMSwgJSVrMlxuXHQiCisgICAgICAgICAgICAgICAgICAgICAg ICJ2bW92ZHF1OCAlMiwgJSV6bW0xXG4iCisgICAgICAgICAgICAgICAgICAgICAgIHB1dF9pbnNu KHZwY29tcHJlc3NiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidnBjb21wcmVz c2IgJSV6bW0xLCA5NioxKCUwKSV7JSVrMiV9IikKKyAgICAgICAgICAgICAgICAgICAgICAgOjog ImMiIChOVUxMKSwgIm0iICh3KSwgIm0iIChic3JjKSApOworCisgICAgICAgIG1lbXNldChwdHIs IDB4ZGIsIDEyOCAqIDEpOworICAgICAgICBzZXRfaW5zbih2cGNvbXByZXNzYik7CisgICAgICAg IHJlZ3MuZWN4ID0gKHVuc2lnbmVkIGxvbmcpcHRyOworICAgICAgICByYyA9IHg4Nl9lbXVsYXRl KCZjdHh0LCAmZW11bG9wcyk7CisgICAgICAgIGlmICggcmMgIT0gWDg2RU1VTF9PS0FZIHx8ICFj aGVja19laXAodnBjb21wcmVzc2IpIHx8CisgICAgICAgICAgICAgbWVtY21wKHB0ciwgcHRyICsg MzIsIDY0ICogMSkgKQorICAgICAgICAgICAgZ290byBmYWlsOworICAgICAgICBmb3IgKCBpID0g MDsgaSA8IDE2OyArK2kgKQorICAgICAgICAgICAgaWYgKCBwdHJbOTYgKyBpXSAhPSAyICogaSAr IDEgKQorICAgICAgICAgICAgICAgIGdvdG8gZmFpbDsKKyAgICAgICAgZm9yICggOyBpIDwgMzI7 ICsraSApCisgICAgICAgICAgICBpZiAoIHB0cls5NiArIGldICE9IDIgKiBpICkKKyAgICAgICAg ICAgICAgICBnb3RvIGZhaWw7CisgICAgICAgIHByaW50Zigib2theVxuIik7CisKKyAgICAgICAg cHJpbnRmKCIlLTQwcyIsICJUZXN0aW5nIHZwZXhwYW5kYiAzMioxKCVlZHgpLCV6bW0zeyVrMn17 en0uLi4iKTsKKyAgICAgICAgYXNtIHZvbGF0aWxlICggInZwdGVybmxvZ2QgJDB4ODEsICUlem1t MywgJSV6bW0zLCAlJXptbTNcbiIKKyAgICAgICAgICAgICAgICAgICAgICAgcHV0X2luc24odnBl eHBhbmRiLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidnBleHBhbmRiIDMyKjEo JTApLCAlJXptbTMleyUlazIlfSV7eiV9IikKKyAgICAgICAgICAgICAgICAgICAgICAgOjogImQi IChOVUxMKSApOworICAgICAgICBzZXRfaW5zbih2cGV4cGFuZGIpOworICAgICAgICByZWdzLmVk eCA9ICh1bnNpZ25lZCBsb25nKShwdHIgKyA2NCk7CisgICAgICAgIHJjID0geDg2X2VtdWxhdGUo JmN0eHQsICZlbXVsb3BzKTsKKyAgICAgICAgaWYgKCByYyAhPSBYODZFTVVMX09LQVkgfHwgIWNo ZWNrX2VpcCh2cGV4cGFuZGIpICkKKyAgICAgICAgICAgIGdvdG8gZmFpbDsKKyAgICAgICAgYXNt ICggInZtb3ZkcXU4ICUlem1tMSwgJSV6bW0yJXslJWsyJX0le3olfVxuXHQiCisgICAgICAgICAg ICAgICJ2cGNtcGVxYiAlJXptbTIsICUlem1tMywgJSVrMFxuXHQiCisgICAgICAgICAgICAgICJr bW92cSAlJWswLCAlMCIKKyAgICAgICAgICAgICAgOiAiPW0iICh3KSApOworICAgICAgICBpZiAo IHcgIT0gMHhmZmZmZmZmZmZmZmZmZmZmVUxMICkKKyAgICAgICAgICAgIGdvdG8gZmFpbDsKKyAg ICAgICAgcHJpbnRmKCJva2F5XG4iKTsKKworICAgICAgICBwcmludGYoIiUtNDBzIiwgIlRlc3Rp bmcgdnBjb21wcmVzc3cgJXptbTQsNDgqMiglZWR4KXslazN9Li4uIik7CisgICAgICAgIGFzbSB2 b2xhdGlsZSAoICJrbW92ZCAlMSwgJSVrM1xuXHQiCisgICAgICAgICAgICAgICAgICAgICAgICJ2 bW92ZHF1MTYgJTIsICUlem1tNFxuIgorICAgICAgICAgICAgICAgICAgICAgICBwdXRfaW5zbih2 cGNvbXByZXNzdywKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInZwY29tcHJlc3N3 ICUlem1tNCwgNDgqMiglMCkleyUlazMlfSIpCisgICAgICAgICAgICAgICAgICAgICAgIDo6ICJk IiAoTlVMTCksICJyIiAoMHg1NTU1YWFhYSksICJtIiAod3NyYykgKTsKKworICAgICAgICBtZW1z ZXQocHRyLCAweGRiLCA2NCAqIDIpOworICAgICAgICBzZXRfaW5zbih2cGNvbXByZXNzdyk7Cisg ICAgICAgIHJlZ3MuZWR4ID0gKHVuc2lnbmVkIGxvbmcpcHRyOworICAgICAgICByYyA9IHg4Nl9l bXVsYXRlKCZjdHh0LCAmZW11bG9wcyk7CisgICAgICAgIGlmICggcmMgIT0gWDg2RU1VTF9PS0FZ IHx8ICFjaGVja19laXAodnBjb21wcmVzc3cpIHx8CisgICAgICAgICAgICAgbWVtY21wKHB0ciwg cHRyICsgMzIsIDMyICogMikgKQorICAgICAgICAgICAgZ290byBmYWlsOworICAgICAgICBmb3Ig KCBpID0gMDsgaSA8IDg7ICsraSApCisgICAgICAgIHsKKyAgICAgICAgICAgIGlmICggcHRyWyg0 OCArIGkpICogMl0gIT0gMiAqIGkgKyAxIHx8CisgICAgICAgICAgICAgICAgIHB0clsoNDggKyBp KSAqIDIgKyAxXSApCisgICAgICAgICAgICAgICAgZ290byBmYWlsOworICAgICAgICB9CisgICAg ICAgIGZvciAoIDsgaSA8IDE2OyArK2kgKQorICAgICAgICB7CisgICAgICAgICAgICBpZiAoIHB0 clsoNDggKyBpKSAqIDJdICE9IDIgKiBpIHx8CisgICAgICAgICAgICAgICAgIHB0clsoNDggKyBp KSAqIDIgKyAxXSApCisgICAgICAgICAgICAgICAgZ290byBmYWlsOworICAgICAgICB9CisgICAg ICAgIHByaW50Zigib2theVxuIik7CisKKyAgICAgICAgcHJpbnRmKCIlLTQwcyIsICJUZXN0aW5n IHZwZXhwYW5kdyAxNioyKCVlY3gpLCV6bW01eyVrM317en0uLi4iKTsKKyAgICAgICAgYXNtIHZv bGF0aWxlICggInZwdGVybmxvZ2QgJDB4ODEsICUlem1tNSwgJSV6bW01LCAlJXptbTVcbiIKKyAg ICAgICAgICAgICAgICAgICAgICAgcHV0X2luc24odnBleHBhbmR3LAorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAidnBleHBhbmR3IDE2KjIoJTApLCAlJXptbTUleyUlazMlfSV7eiV9 IikKKyAgICAgICAgICAgICAgICAgICAgICAgOjogImMiIChOVUxMKSApOworICAgICAgICBzZXRf aW5zbih2cGV4cGFuZHcpOworICAgICAgICByZWdzLmVjeCA9ICh1bnNpZ25lZCBsb25nKShwdHIg KyA2NCk7CisgICAgICAgIHJjID0geDg2X2VtdWxhdGUoJmN0eHQsICZlbXVsb3BzKTsKKyAgICAg ICAgaWYgKCByYyAhPSBYODZFTVVMX09LQVkgfHwgIWNoZWNrX2VpcCh2cGV4cGFuZHcpICkKKyAg ICAgICAgICAgIGdvdG8gZmFpbDsKKyAgICAgICAgYXNtICggInZtb3ZkcXUxNiAlJXptbTQsICUl em1tNiV7JSVrMyV9JXt6JX1cblx0IgorICAgICAgICAgICAgICAidnBjbXBlcXcgJSV6bW01LCAl JXptbTYsICUlazBcblx0IgorICAgICAgICAgICAgICAia21vdnEgJSVrMCwgJTAiCisgICAgICAg ICAgICAgIDogIj1tIiAodykgKTsKKyAgICAgICAgaWYgKCB3ICE9IDB4ZmZmZmZmZmYgKQorICAg ICAgICAgICAgZ290byBmYWlsOworICAgICAgICBwcmludGYoIm9rYXlcbiIpOworICAgIH0KKyNl bmRpZgorCiAjdW5kZWYgZGVjbF9pbnNuCiAjdW5kZWYgcHV0X2luc24KICN1bmRlZiBzZXRfaW5z bgotLS0gYS90b29scy90ZXN0cy94ODZfZW11bGF0b3IveDg2LWVtdWxhdGUuaAorKysgYi90b29s cy90ZXN0cy94ODZfZW11bGF0b3IveDg2LWVtdWxhdGUuaApAQCAtNTksNiArNTksOSBAQAogICAg ICh0eXBlICopKChjaGFyICopbXB0cl9fIC0gb2Zmc2V0b2YodHlwZSwgbWVtYmVyKSk7IFwKIH0p CiAKKyNkZWZpbmUgaHdlaWdodDMyIF9fYnVpbHRpbl9wb3Bjb3VudAorI2RlZmluZSBod2VpZ2h0 NjQgX19idWlsdGluX3BvcGNvdW50bGwKKwogI2RlZmluZSBpc19jYW5vbmljYWxfYWRkcmVzcyh4 KSAoKChpbnQ2NF90KSh4KSA+PiA0NykgPT0gKChpbnQ2NF90KSh4KSA+PiA2MykpCiAKIGV4dGVy biB1aW50MzJfdCBteGNzcl9tYXNrOwpAQCAtMTM4LDYgKzE0MSw3IEBAIHN0YXRpYyBpbmxpbmUg Ym9vbCB4Y3IwX21hc2sodWludDY0X3QgbWEKICNkZWZpbmUgY3B1X2hhc19hdng1MTJidyAgKGNw LmZlYXQuYXZ4NTEyYncgJiYgeGNyMF9tYXNrKDB4ZTYpKQogI2RlZmluZSBjcHVfaGFzX2F2eDUx MnZsICAoY3AuZmVhdC5hdng1MTJ2bCAmJiB4Y3IwX21hc2soMHhlNikpCiAjZGVmaW5lIGNwdV9o YXNfYXZ4NTEyX3ZibWkgKGNwLmZlYXQuYXZ4NTEyX3ZibWkgJiYgeGNyMF9tYXNrKDB4ZTYpKQor I2RlZmluZSBjcHVfaGFzX2F2eDUxMl92Ym1pMiAoY3AuZmVhdC5hdng1MTJfdmJtaTIgJiYgeGNy MF9tYXNrKDB4ZTYpKQogCiAjZGVmaW5lIGNwdV9oYXNfeGdldGJ2MSAgIChjcHVfaGFzX3hzYXZl ICYmIGNwLnhzdGF0ZS54Z2V0YnYxKQogCi0tLSBhL3hlbi9hcmNoL3g4Ni94ODZfZW11bGF0ZS94 ODZfZW11bGF0ZS5jCisrKyBiL3hlbi9hcmNoL3g4Ni94ODZfZW11bGF0ZS94ODZfZW11bGF0ZS5j CkBAIC00ODIsNiArNDgyLDggQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBleHQwZjM4X3RhYmxlIHsK ICAgICBbMHg1OV0gPSB7IC5zaW1kX3NpemUgPSBzaW1kX290aGVyLCAudHdvX29wID0gMSwgLmQ4 cyA9IDMgfSwKICAgICBbMHg1YV0gPSB7IC5zaW1kX3NpemUgPSBzaW1kXzEyOCwgLnR3b19vcCA9 IDEsIC5kOHMgPSA0IH0sCiAgICAgWzB4NWJdID0geyAuc2ltZF9zaXplID0gc2ltZF8yNTYsIC50 d29fb3AgPSAxLCAuZDhzID0gZDhzX3ZsX2J5XzIgfSwKKyAgICBbMHg2Ml0gPSB7IC5zaW1kX3Np emUgPSBzaW1kX3BhY2tlZF9pbnQsIC50d29fb3AgPSAxLCAuZDhzID0gZDhzX2J3IH0sCisgICAg WzB4NjNdID0geyAuc2ltZF9zaXplID0gc2ltZF9wYWNrZWRfaW50LCAudG9fbWVtID0gMSwgLnR3 b19vcCA9IDEsIC5kOHMgPSBkOHNfYncgfSwKICAgICBbMHg3NSAuLi4gMHg3Nl0gPSB7IC5zaW1k X3NpemUgPSBzaW1kX3BhY2tlZF9pbnQsIC5kOHMgPSBkOHNfdmwgfSwKICAgICBbMHg3N10gPSB7 IC5zaW1kX3NpemUgPSBzaW1kX3BhY2tlZF9mcCwgLmQ4cyA9IGQ4c192bCB9LAogICAgIFsweDc4 XSA9IHsgLnNpbWRfc2l6ZSA9IHNpbWRfb3RoZXIsIC50d29fb3AgPSAxIH0sCkBAIC00ODksNiAr NDkxLDEwIEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZXh0MGYzOF90YWJsZSB7CiAgICAgWzB4N2Eg Li4uIDB4N2NdID0geyAuc2ltZF9zaXplID0gc2ltZF9ub25lLCAudHdvX29wID0gMSB9LAogICAg IFsweDdkIC4uLiAweDdlXSA9IHsgLnNpbWRfc2l6ZSA9IHNpbWRfcGFja2VkX2ludCwgLmQ4cyA9 IGQ4c192bCB9LAogICAgIFsweDdmXSA9IHsgLnNpbWRfc2l6ZSA9IHNpbWRfcGFja2VkX2ZwLCAu ZDhzID0gZDhzX3ZsIH0sCisgICAgWzB4ODhdID0geyAuc2ltZF9zaXplID0gc2ltZF9wYWNrZWRf ZnAsIC50d29fb3AgPSAxLCAuZDhzID0gZDhzX2RxIH0sCisgICAgWzB4ODldID0geyAuc2ltZF9z aXplID0gc2ltZF9wYWNrZWRfaW50LCAudHdvX29wID0gMSwgLmQ4cyA9IGQ4c19kcSB9LAorICAg IFsweDhhXSA9IHsgLnNpbWRfc2l6ZSA9IHNpbWRfcGFja2VkX2ZwLCAudG9fbWVtID0gMSwgLnR3 b19vcCA9IDEsIC5kOHMgPSBkOHNfZHEgfSwKKyAgICBbMHg4Yl0gPSB7IC5zaW1kX3NpemUgPSBz aW1kX3BhY2tlZF9pbnQsIC50b19tZW0gPSAxLCAudHdvX29wID0gMSwgLmQ4cyA9IGQ4c19kcSB9 LAogICAgIFsweDhjXSA9IHsgLnNpbWRfc2l6ZSA9IHNpbWRfcGFja2VkX2ludCB9LAogICAgIFsw eDhkXSA9IHsgLnNpbWRfc2l6ZSA9IHNpbWRfcGFja2VkX2ludCwgLmQ4cyA9IGQ4c192bCB9LAog ICAgIFsweDhlXSA9IHsgLnNpbWRfc2l6ZSA9IHNpbWRfcGFja2VkX2ludCwgLnRvX21lbSA9IDEg fSwKQEAgLTE5MDAsNiArMTkwNiw3IEBAIHN0YXRpYyBib29sIHZjcHVfaGFzKAogI2RlZmluZSB2 Y3B1X2hhc19hdng1MTJidygpICAgIHZjcHVfaGFzKCAgICAgICAgIDcsIEVCWCwgMzAsIGN0eHQs IG9wcykKICNkZWZpbmUgdmNwdV9oYXNfYXZ4NTEydmwoKSAgICB2Y3B1X2hhcyggICAgICAgICA3 LCBFQlgsIDMxLCBjdHh0LCBvcHMpCiAjZGVmaW5lIHZjcHVfaGFzX2F2eDUxMl92Ym1pKCkgdmNw dV9oYXMoICAgICAgICAgNywgRUNYLCAgMSwgY3R4dCwgb3BzKQorI2RlZmluZSB2Y3B1X2hhc19h dng1MTJfdmJtaTIoKSB2Y3B1X2hhcyggICAgICAgIDcsIEVDWCwgIDYsIGN0eHQsIG9wcykKICNk ZWZpbmUgdmNwdV9oYXNfcmRwaWQoKSAgICAgICB2Y3B1X2hhcyggICAgICAgICA3LCBFQ1gsIDIy LCBjdHh0LCBvcHMpCiAjZGVmaW5lIHZjcHVfaGFzX2NsemVybygpICAgICAgdmNwdV9oYXMoMHg4 MDAwMDAwOCwgRUJYLCAgMCwgY3R4dCwgb3BzKQogCkBAIC04ODUxLDYgKzg4NTgsMzYgQEAgeDg2 X2VtdWxhdGUoCiAgICAgICAgIGdlbmVyYXRlX2V4Y2VwdGlvbl9pZihlYS50eXBlICE9IE9QX01F TSB8fCAhdmV4LmwgfHwgdmV4LncsIEVYQ19VRCk7CiAgICAgICAgIGdvdG8gc2ltZF8wZl9hdngy OwogCisgICAgY2FzZSBYODZFTVVMX09QQ19FVkVYXzY2KDB4MGYzOCwgMHg2Mik6IC8qIHZwZXhw YW5ke2Isd30gW3h5el1tbS9tZW0sW3h5el1tbXtrfSAqLworICAgIGNhc2UgWDg2RU1VTF9PUENf RVZFWF82NigweDBmMzgsIDB4NjMpOiAvKiB2cGNvbXByZXNze2Isd30gW3h5el1tbSxbeHl6XW1t L21lbXtrfSAqLworICAgICAgICBob3N0X2FuZF92Y3B1X211c3RfaGF2ZShhdng1MTJfdmJtaTIp OworICAgICAgICBlbGVtX2J5dGVzID0gMSA8PCBldmV4Lnc7CisgICAgICAgIC8qIGZhbGwgdGhy b3VnaCAqLworICAgIGNhc2UgWDg2RU1VTF9PUENfRVZFWF82NigweDBmMzgsIDB4ODgpOiAvKiB2 ZXhwYW5kcHtkLHN9IFt4eXpdbW0vbWVtLFt4eXpdbW17a30gKi8KKyAgICBjYXNlIFg4NkVNVUxf T1BDX0VWRVhfNjYoMHgwZjM4LCAweDg5KTogLyogdnBleHBhbmR7ZCxxfSBbeHl6XW1tL21lbSxb eHl6XW1te2t9ICovCisgICAgY2FzZSBYODZFTVVMX09QQ19FVkVYXzY2KDB4MGYzOCwgMHg4YSk6 IC8qIHZjb21wcmVzc3B7ZCxzfSBbeHl6XW1tLFt4eXpdbW0vbWVte2t9ICovCisgICAgY2FzZSBY ODZFTVVMX09QQ19FVkVYXzY2KDB4MGYzOCwgMHg4Yik6IC8qIHZwY29tcHJlc3N7ZCxxfSBbeHl6 XW1tLFt4eXpdbW0vbWVte2t9ICovCisgICAgICAgIGhvc3RfYW5kX3ZjcHVfbXVzdF9oYXZlKGF2 eDUxMmYpOworICAgICAgICBnZW5lcmF0ZV9leGNlcHRpb25faWYoZXZleC5iciwgRVhDX1VEKTsK KyAgICAgICAgYXZ4NTEyX3ZsZW5fY2hlY2soZmFsc2UpOworICAgICAgICAvKgorICAgICAgICAg KiBGb3IgdGhlIHJlc3BlY3RpdmUgY29kZSBiZWxvdyB0aGUgbWFpbiBzd2l0Y2goKSB0byB3b3Jr IHdlIG5lZWQgdG8KKyAgICAgICAgICogY29tcGFjdCBvcF9tYXNrIGhlcmU6IE1lbW9yeSBhY2Nl c3NlcyBhcmUgbm9uLXNwYXJzZSBldmVuIGlmIHRoZQorICAgICAgICAgKiBtYXNrIHJlZ2lzdGVy IGhhcyBzcGFyc2VseSBzZXQgYml0cy4KKyAgICAgICAgICovCisgICAgICAgIGlmICggbGlrZWx5 KGZhdWx0X3N1cHByZXNzaW9uKSApCisgICAgICAgIHsKKyAgICAgICAgICAgIG4gPSAxIDw8ICgo YiAmIDggPyAyIDogNCkgKyBldmV4LmxyIC0gZXZleC53KTsKKyAgICAgICAgICAgIEVYUEVDVChl bGVtX2J5dGVzID4gMCk7CisgICAgICAgICAgICBBU1NFUlQob3BfYnl0ZXMgPT0gbiAqIGVsZW1f Ynl0ZXMpOworICAgICAgICAgICAgb3BfbWFzayAmPSB+MFVMTCA+PiAoNjQgLSBuKTsKKyAgICAg ICAgICAgIG4gPSBod2VpZ2h0NjQob3BfbWFzayk7CisgICAgICAgICAgICBvcF9ieXRlcyA9IG4g KiBlbGVtX2J5dGVzOworICAgICAgICAgICAgaWYgKCBuICkKKyAgICAgICAgICAgICAgICBvcF9t YXNrID0gfjBVTEwgPj4gKDY0IC0gbik7CisgICAgICAgIH0KKyAgICAgICAgZ290byBzaW1kX3pt bTsKKwogICAgIGNhc2UgWDg2RU1VTF9PUENfRVZFWF82NigweDBmMzgsIDB4NzUpOiAvKiB2cGVy bWkye2Isd30gW3h5el1tbS9tZW0sW3h5el1tbSxbeHl6XW1te2t9ICovCiAgICAgY2FzZSBYODZF TVVMX09QQ19FVkVYXzY2KDB4MGYzOCwgMHg3ZCk6IC8qIHZwZXJtdDJ7Yix3fSBbeHl6XW1tL21l bSxbeHl6XW1tLFt4eXpdbW17a30gKi8KICAgICBjYXNlIFg4NkVNVUxfT1BDX0VWRVhfNjYoMHgw ZjM4LCAweDhkKTogLyogdnBlcm17Yix3fSBbeHl6XW1tL21lbSxbeHl6XW1tLFt4eXpdbW17a30g Ki8KLS0tIGEveGVuL2luY2x1ZGUvYXNtLXg4Ni9jcHVmZWF0dXJlLmgKKysrIGIveGVuL2luY2x1 ZGUvYXNtLXg4Ni9jcHVmZWF0dXJlLmgKQEAgLTExMCw2ICsxMTAsNyBAQAogCiAvKiBDUFVJRCBs ZXZlbCAweDAwMDAwMDA3OjAuZWN4ICovCiAjZGVmaW5lIGNwdV9oYXNfYXZ4NTEyX3ZibWkgICAg IGJvb3RfY3B1X2hhcyhYODZfRkVBVFVSRV9BVlg1MTJfVkJNSSkKKyNkZWZpbmUgY3B1X2hhc19h dng1MTJfdmJtaTIgICAgYm9vdF9jcHVfaGFzKFg4Nl9GRUFUVVJFX0FWWDUxMl9WQk1JMikKIAog LyogQ1BVSUQgbGV2ZWwgMHg4MDAwMDAwNy5lZHggKi8KICNkZWZpbmUgY3B1X2hhc19pdHNjICAg ICAgICAgICAgYm9vdF9jcHVfaGFzKFg4Nl9GRUFUVVJFX0lUU0MpCi0tLSBhL3hlbi9pbmNsdWRl L3B1YmxpYy9hcmNoLXg4Ni9jcHVmZWF0dXJlc2V0LmgKKysrIGIveGVuL2luY2x1ZGUvcHVibGlj L2FyY2gteDg2L2NwdWZlYXR1cmVzZXQuaApAQCAtMjI4LDYgKzIyOCw3IEBAIFhFTl9DUFVGRUFU VVJFKEFWWDUxMl9WQk1JLCAgIDYqMzIrIDEpIC8KIFhFTl9DUFVGRUFUVVJFKFVNSVAsICAgICAg ICAgIDYqMzIrIDIpIC8qUyAgVXNlciBNb2RlIEluc3RydWN0aW9uIFByZXZlbnRpb24gKi8KIFhF Tl9DUFVGRUFUVVJFKFBLVSwgICAgICAgICAgIDYqMzIrIDMpIC8qSCAgUHJvdGVjdGlvbiBLZXlz IGZvciBVc2Vyc3BhY2UgKi8KIFhFTl9DUFVGRUFUVVJFKE9TUEtFLCAgICAgICAgIDYqMzIrIDQp IC8qISAgT1MgUHJvdGVjdGlvbiBLZXlzIEVuYWJsZSAqLworWEVOX0NQVUZFQVRVUkUoQVZYNTEy X1ZCTUkyLCAgNiozMisgNikgLypBICBBZGRpdGlvbmFsIEFWWC01MTIgVmVjdG9yIEJ5dGUgTWFu aXB1bGF0aW9uIEluc3RycyAqLwogWEVOX0NQVUZFQVRVUkUoQVZYNTEyX1ZQT1BDTlREUSwgNioz MisxNCkgLypBICBQT1BDTlQgZm9yIHZlY3RvcnMgb2YgRFcvUVcgKi8KIFhFTl9DUFVGRUFUVVJF KFJEUElELCAgICAgICAgIDYqMzIrMjIpIC8qQSAgUkRQSUQgaW5zdHJ1Y3Rpb24gKi8KIAotLS0g YS94ZW4vdG9vbHMvZ2VuLWNwdWlkLnB5CisrKyBiL3hlbi90b29scy9nZW4tY3B1aWQucHkKQEAg LTI2NiwxMCArMjY2LDEwIEBAIGRlZiBjcnVuY2hfbnVtYmVycyhzdGF0ZSk6CiAgICAgICAgICAg ICAgICAgICBBVlg1MTJCVywgQVZYNTEyVkwsIEFWWDUxMl80Vk5OSVcsIEFWWDUxMl80Rk1BUFMs CiAgICAgICAgICAgICAgICAgICBBVlg1MTJfVlBPUENOVERRXSwKIAotICAgICAgICAjIEFWWDUx MiBleHRlbnNpb25zIGFjdGluZyBzb2xlbHkgb24gdmVjdG9ycyBvZiBieXRlcy93b3JkcyBhcmUg bWFkZQorICAgICAgICAjIEFWWDUxMiBleHRlbnNpb25zIGFjdGluZyAoc29sZWx5KSBvbiB2ZWN0 b3JzIG9mIGJ5dGVzL3dvcmRzIGFyZSBtYWRlCiAgICAgICAgICMgZGVwZW5kZW50cyBvZiBBVlg1 MTJCVyAoYXMgdG8gcmVxdWlyaW5nIHdpZGVyIHRoYW4gMTYtYml0IG1hc2sKICAgICAgICAgIyBy ZWdpc3RlcnMpLCBkZXNwaXRlIHRoZSBTRE0gbm90IGZvcm1hbGx5IG1ha2luZyB0aGlzIGNvbm5l Y3Rpb24uCi0gICAgICAgIEFWWDUxMkJXOiBbQVZYNTEyX1ZCTUldLAorICAgICAgICBBVlg1MTJC VzogW0FWWDUxMl9WQk1JLCBBVlg1MTJfVkJNSTJdLAogCiAgICAgICAgICMgVGhlIGZlYXR1cmVz OgogICAgICAgICAjICAgKiBTaW5nbGUgVGhyZWFkIEluZGlyZWN0IEJyYW5jaCBQcmVkaWN0b3Jz CgoKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4t ZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczov L2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8veGVuLWRldmVs