From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Jan Beulich" Subject: [PATCH v8 11/50] x86emul: support AVX512{F, BW} integer shuffle insns Date: Fri, 15 Mar 2019 04:43:01 -0600 Message-ID: <5C8B81B5020000780021F16A@prv1-mh.provo.novell.com> References: <5B6BF83602000078001DC548@prv1-mh.provo.novell.com> <5C8B7EC0020000780021F10B@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 1h4kIq-0004cM-Rn for xen-devel@lists.xenproject.org; Fri, 15 Mar 2019 10:43:04 +0000 In-Reply-To: <5C8B7EC0020000780021F10B@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 QWxzbyBpbmNsdWRlIHZzaHVmZnszMng0LDY0eDJ9IGFzIGJlaW5nIHZlcnkgc2ltaWxhciB0byB2 c2h1Zml7MzJ4NCw2NHgyfS4KClNpZ25lZC1vZmYtYnk6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBz dXNlLmNvbT4KLS0tCnY4OiBSZS1iYXNlLgp2NzogRGlzYWJsZSBmYXVsdCBzdXBwcmVzc2lvbiBm b3IgVlBTSFVGe0Qse0gsTH1XfS4gUmUtYmFzZS4KdjY6IFJlLWJhc2Ugb3ZlciBjaGFuZ2VzIGVh cmxpZXIgaW4gdGhlIHNlcmllcy4KdjU6IFJlLWJhc2Ugb3ZlciBjaGFuZ2VzIGVhcmxpZXIgaW4g dGhlIHNlcmllcy4KdjQ6IE1vdmUgT1ZSKCkgYWRkaXRpb24gaW50byBfX0FWWDUxMlZMX18gY29u ZGl0aW9uYWwuIENvcnJlY3QgY29tbWVudHMuCnYzOiBOZXcuCgotLS0gYS90b29scy90ZXN0cy94 ODZfZW11bGF0b3IvZXZleC1kaXNwOC5jCisrKyBiL3Rvb2xzL3Rlc3RzL3g4Nl9lbXVsYXRvci9l dmV4LWRpc3A4LmMKQEAgLTIxNCw2ICsyMTQsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IHRlc3Qg YXZ4NTEyZl9hbGxbXSA9CiAgICAgSU5TTihwcm9sdiwgICAgICAgIDY2LCAwZjM4LCAxNSwgICAg dmwsICAgICBkcSwgdmwpLAogICAgIElOU05YKHByb3IsICAgICAgICA2NiwgICAwZiwgNzIsIDAs IHZsLCAgICAgZHEsIHZsKSwKICAgICBJTlNOKHByb3J2LCAgICAgICAgNjYsIDBmMzgsIDE0LCAg ICB2bCwgICAgIGRxLCB2bCksCisgICAgSU5TTihwc2h1ZmQsICAgICAgIDY2LCAgIDBmLCA3MCwg ICAgdmwsICAgICAgZCwgdmwpLAogICAgIElOU04ocHNsbGQsICAgICAgICA2NiwgICAwZiwgZjIs ICAgIGVsXzQsICAgIGQsIHZsKSwKICAgICBJTlNOWChwc2xsZCwgICAgICAgNjYsICAgMGYsIDcy LCA2LCB2bCwgICAgICBkLCB2bCksCiAgICAgSU5TTihwc2xscSwgICAgICAgIDY2LCAgIDBmLCBm MywgICAgZWxfMiwgICAgcSwgdmwpLApAQCAtMjY0LDYgKzI2NSwxMCBAQCBzdGF0aWMgY29uc3Qg c3RydWN0IHRlc3QgYXZ4NTEyZl9ubzEyOFtdCiAgICAgSU5TTihleHRyYWN0aTMyeDQsICAgNjYs IDBmM2EsIDM5LCBlbF80LCAgZCwgdmwpLAogICAgIElOU04oaW5zZXJ0ZjMyeDQsICAgIDY2LCAw ZjNhLCAxOCwgZWxfNCwgIGQsIHZsKSwKICAgICBJTlNOKGluc2VydGkzMng0LCAgICA2NiwgMGYz YSwgMzgsIGVsXzQsICBkLCB2bCksCisgICAgSU5TTihzaHVmZjMyeDQsICAgICAgNjYsIDBmM2Es IDIzLCB2bCwgICAgZCwgdmwpLAorICAgIElOU04oc2h1ZmY2NHgyLCAgICAgIDY2LCAwZjNhLCAy MywgdmwsICAgIHEsIHZsKSwKKyAgICBJTlNOKHNodWZpMzJ4NCwgICAgICA2NiwgMGYzYSwgNDMs IHZsLCAgICBkLCB2bCksCisgICAgSU5TTihzaHVmaTY0eDIsICAgICAgNjYsIDBmM2EsIDQzLCB2 bCwgICAgcSwgdmwpLAogfTsKIAogc3RhdGljIGNvbnN0IHN0cnVjdCB0ZXN0IGF2eDUxMmZfNTEy W10gPSB7CkBAIC0zMTgsNiArMzIzLDkgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCB0ZXN0IGF2eDUx MmJ3X2FsbFtdCiAgICAgSU5TTihwbXVsaHcsICAgICAgNjYsICAgMGYsIGU1LCAgICB2bCwgICAg dywgdmwpLAogICAgIElOU04ocG11bGx3LCAgICAgIDY2LCAgIDBmLCBkNSwgICAgdmwsICAgIHcs IHZsKSwKICAgICBJTlNOKHBzYWRidywgICAgICA2NiwgICAwZiwgZjYsICAgIHZsLCAgICBiLCB2 bCksCisgICAgSU5TTihwc2h1ZmIsICAgICAgNjYsIDBmMzgsIDAwLCAgICB2bCwgICAgYiwgdmwp LAorICAgIElOU04ocHNodWZodywgICAgIGYzLCAgIDBmLCA3MCwgICAgdmwsICAgIHcsIHZsKSwK KyAgICBJTlNOKHBzaHVmbHcsICAgICBmMiwgICAwZiwgNzAsICAgIHZsLCAgICB3LCB2bCksCiAg ICAgSU5TTlgocHNsbGRxLCAgICAgNjYsICAgMGYsIDczLCA3LCB2bCwgICAgYiwgdmwpLAogICAg IElOU04ocHNsbHZ3LCAgICAgIDY2LCAwZjM4LCAxMiwgICAgdmwsICAgIHcsIHZsKSwKICAgICBJ TlNOKHBzbGx3LCAgICAgICA2NiwgICAwZiwgZjEsICAgIGVsXzgsICB3LCB2bCksCi0tLSBhL3Rv b2xzL3Rlc3RzL3g4Nl9lbXVsYXRvci9zaW1kLmMKKysrIGIvdG9vbHMvdGVzdHMveDg2X2VtdWxh dG9yL3NpbWQuYwpAQCAtMTUzLDYgKzE1MywxMCBAQCBzdGF0aWMgaW5saW5lIGJvb2wgX3RvX2Jv b2woYnl0ZV92ZWNfdCBiCiAjICBlbHNlCiAjICAgZGVmaW5lIGludGVybGVhdmVfaGkoeCwgeSkg Qih2cGVybWkydmFycHMsIF9tYXNrLCB4LCBpbnRlcmxlYXZlX2hpLCB5LCB+MCkKICMgICBkZWZp bmUgaW50ZXJsZWF2ZV9sbyh4LCB5KSBCKHZwZXJtdDJ2YXJwcywgX21hc2ssIGludGVybGVhdmVf bG8sIHgsIHksIH4wKQorIyAgIGRlZmluZSBzd2FwKHgpICh7IFwKKyAgICB2ZWNfdCB0XyA9IEIo c2h1Zl9mMzJ4NF8sIF9tYXNrLCB4LCB4LCBWRUNfU0laRSA9PSAzMiA/IDBiMDEgOiAwYjAwMDEx MDExLCB1bmRlZigpLCB+MCk7IFwKKyAgICBCKHNodWZwcywgX21hc2ssIHRfLCB0XywgMGIwMDAx MTAxMSwgdW5kZWYoKSwgfjApOyBcCit9KQogIyAgZW5kaWYKICMgZWxpZiBGTE9BVF9TSVpFID09 IDgKICMgIGlmIFZFQ19TSVpFID49IDMyCkBAIC0xODEsNiArMTg1LDEwIEBAIHN0YXRpYyBpbmxp bmUgYm9vbCBfdG9fYm9vbChieXRlX3ZlY190IGIKICMgIGVsc2UKICMgICBkZWZpbmUgaW50ZXJs ZWF2ZV9oaSh4LCB5KSBCKHZwZXJtaTJ2YXJwZCwgX21hc2ssIHgsIGludGVybGVhdmVfaGksIHks IH4wKQogIyAgIGRlZmluZSBpbnRlcmxlYXZlX2xvKHgsIHkpIEIodnBlcm10MnZhcnBkLCBfbWFz aywgaW50ZXJsZWF2ZV9sbywgeCwgeSwgfjApCisjICAgZGVmaW5lIHN3YXAoeCkgKHsgXAorICAg IHZlY190IHRfID0gQihzaHVmX2Y2NHgyXywgX21hc2ssIHgsIHgsIFZFQ19TSVpFID09IDMyID8g MGIwMSA6IDBiMDAwMTEwMTEsIHVuZGVmKCksIH4wKTsgXAorICAgIEIoc2h1ZnBkLCBfbWFzaywg dF8sIHRfLCAwYjAxMDEwMTAxLCB1bmRlZigpLCB+MCk7IFwKK30pCiAjICBlbmRpZgogIyBlbmRp ZgogI2VsaWYgRkxPQVRfU0laRSA9PSA0ICYmIGRlZmluZWQoX19TU0VfXykKQEAgLTMwOSw5ICsz MTcsMTQgQEAgc3RhdGljIGlubGluZSBib29sIF90b19ib29sKGJ5dGVfdmVjX3QgYgogIyAgaWYg VkVDX1NJWkUgPT0gMTYKICMgICBkZWZpbmUgaW50ZXJsZWF2ZV9oaSh4LCB5KSAoKHZlY190KUIo cHVucGNraGRxLCBfbWFzaywgKHZzaV90KSh4KSwgKHZzaV90KSh5KSwgKHZzaV90KXVuZGVmKCks IH4wKSkKICMgICBkZWZpbmUgaW50ZXJsZWF2ZV9sbyh4LCB5KSAoKHZlY190KUIocHVucGNrbGRx LCBfbWFzaywgKHZzaV90KSh4KSwgKHZzaV90KSh5KSwgKHZzaV90KXVuZGVmKCksIH4wKSkKKyMg ICBkZWZpbmUgc3dhcCh4KSAoKHZlY190KUIocHNodWZkLCBfbWFzaywgKHZzaV90KSh4KSwgMGIw MDAxMTAxMSwgKHZzaV90KXVuZGVmKCksIH4wKSkKICMgIGVsc2UKICMgICBkZWZpbmUgaW50ZXJs ZWF2ZV9oaSh4LCB5KSAoKHZlY190KUIodnBlcm1pMnZhcmQsIF9tYXNrLCAodnNpX3QpKHgpLCBp bnRlcmxlYXZlX2hpLCAodnNpX3QpKHkpLCB+MCkpCiAjICAgZGVmaW5lIGludGVybGVhdmVfbG8o eCwgeSkgKCh2ZWNfdClCKHZwZXJtdDJ2YXJkLCBfbWFzaywgaW50ZXJsZWF2ZV9sbywgKHZzaV90 KSh4KSwgKHZzaV90KSh5KSwgfjApKQorIyAgIGRlZmluZSBzd2FwKHgpICgodmVjX3QpQihwc2h1 ZmQsIF9tYXNrLCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEIoc2h1Zl9pMzJ4NF8s IF9tYXNrLCAodnNpX3QpKHgpLCAodnNpX3QpKHgpLCBcCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgVkVDX1NJWkUgPT0gMzIgPyAwYjAxIDogMGIwMDAxMTAxMSwgKHZzaV90KXVuZGVm KCksIH4wKSwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwYjAwMDExMDExLCAodnNp X3QpdW5kZWYoKSwgfjApKQogIyAgZW5kaWYKICMgIGRlZmluZSBtaXgoeCwgeSkgKCh2ZWNfdClC KG1vdmRxYTMyXywgX21hc2ssICh2c2lfdCkoeCksICh2c2lfdCkoeSksIFwKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICgwYjAxMDEwMTAxMDEwMTAxMDEgJiAoKDEgPDwgRUxFTV9DT1VO VCkgLSAxKSkpKQpAQCAtMzMzLDkgKzM0NiwxNCBAQCBzdGF0aWMgaW5saW5lIGJvb2wgX3RvX2Jv b2woYnl0ZV92ZWNfdCBiCiAjICBpZiBWRUNfU0laRSA9PSAxNgogIyAgIGRlZmluZSBpbnRlcmxl YXZlX2hpKHgsIHkpICgodmVjX3QpQihwdW5wY2tocWRxLCBfbWFzaywgKHZkaV90KSh4KSwgKHZk aV90KSh5KSwgKHZkaV90KXVuZGVmKCksIH4wKSkKICMgICBkZWZpbmUgaW50ZXJsZWF2ZV9sbyh4 LCB5KSAoKHZlY190KUIocHVucGNrbHFkcSwgX21hc2ssICh2ZGlfdCkoeCksICh2ZGlfdCkoeSks ICh2ZGlfdCl1bmRlZigpLCB+MCkpCisjICAgZGVmaW5lIHN3YXAoeCkgKCh2ZWNfdClCKHBzaHVm ZCwgX21hc2ssICh2c2lfdCkoeCksIDBiMDEwMDExMTAsICh2c2lfdCl1bmRlZigpLCB+MCkpCiAj ICBlbHNlCiAjICAgZGVmaW5lIGludGVybGVhdmVfaGkoeCwgeSkgKCh2ZWNfdClCKHZwZXJtaTJ2 YXJxLCBfbWFzaywgKHZkaV90KSh4KSwgaW50ZXJsZWF2ZV9oaSwgKHZkaV90KSh5KSwgfjApKQog IyAgIGRlZmluZSBpbnRlcmxlYXZlX2xvKHgsIHkpICgodmVjX3QpQih2cGVybXQydmFycSwgX21h c2ssIGludGVybGVhdmVfbG8sICh2ZGlfdCkoeCksICh2ZGlfdCkoeSksIH4wKSkKKyMgICBkZWZp bmUgc3dhcCh4KSAoKHZlY190KUIocHNodWZkLCBfbWFzaywgXAorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAodnNpX3QpQihzaHVmX2k2NHgyXywgX21hc2ssICh2ZGlfdCkoeCksICh2ZGlf dCkoeCksIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVkVDX1NJWkUg PT0gMzIgPyAwYjAxIDogMGIwMDAxMTAxMSwgKHZkaV90KXVuZGVmKCksIH4wKSwgXAorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAwYjAxMDAxMTEwLCAodnNpX3QpdW5kZWYoKSwgfjApKQog IyAgZW5kaWYKICMgIGRlZmluZSBtaXgoeCwgeSkgKCh2ZWNfdClCKG1vdmRxYTY0XywgX21hc2ss ICh2ZGlfdCkoeCksICh2ZGlfdCkoeSksIDBiMDEwMTAxMDEpKQogIyBlbmRpZgotLS0gYS90b29s cy90ZXN0cy94ODZfZW11bGF0b3Ivc2ltZC5oCisrKyBiL3Rvb2xzL3Rlc3RzL3g4Nl9lbXVsYXRv ci9zaW1kLmgKQEAgLTExOSw2ICsxMTksMTIgQEAgdHlwZWRlZiBsb25nIGxvbmcgX19hdHRyaWJ1 dGVfXygodmVjdG9yXwogCiAjaWZkZWYgX19BVlg1MTJGX18KIAorLyogU2FkbHkgdGhlcmUgYXJl IGEgZmV3IGV4Y2VwdGlvbnMgdG8gdGhlIGdlbmVyYWwgbmFtaW5nIHJ1bGVzLiAqLworIyBkZWZp bmUgX19idWlsdGluX2lhMzJfc2h1Zl9mMzJ4NF81MTJfbWFzayBfX2J1aWx0aW5faWEzMl9zaHVm X2YzMng0X21hc2sKKyMgZGVmaW5lIF9fYnVpbHRpbl9pYTMyX3NodWZfZjY0eDJfNTEyX21hc2sg X19idWlsdGluX2lhMzJfc2h1Zl9mNjR4Ml9tYXNrCisjIGRlZmluZSBfX2J1aWx0aW5faWEzMl9z aHVmX2kzMng0XzUxMl9tYXNrIF9fYnVpbHRpbl9pYTMyX3NodWZfaTMyeDRfbWFzaworIyBkZWZp bmUgX19idWlsdGluX2lhMzJfc2h1Zl9pNjR4Ml81MTJfbWFzayBfX2J1aWx0aW5faWEzMl9zaHVm X2k2NHgyX21hc2sKKwogIyBpZiBWRUNfU0laRSA+IEVMRU1fU0laRSAmJiAoZGVmaW5lZChWRUNf TUFYKSA/IFZFQ19NQVggOiBWRUNfU0laRSkgPCA2NAogIyAgcHJhZ21hIEdDQyB0YXJnZXQgKCAi YXZ4NTEydmwiICkKICMgZW5kaWYKQEAgLTI2Miw2ICsyNjgsNyBAQCBPVlIocG1vdnp4d3EpOwog T1ZSKHBtdWxsZCk7CiBPVlIocG11bGRxKTsKIE9WUihwbXVsdWRxKTsKK09WUihwc2h1ZmQpOwog T1ZSKHB1bnBja2hkcSk7CiBPVlIocHVucGNraHFkcSk7CiBPVlIocHVucGNrbGRxKTsKLS0tIGEv eGVuL2FyY2gveDg2L3g4Nl9lbXVsYXRlL3g4Nl9lbXVsYXRlLmMKKysrIGIveGVuL2FyY2gveDg2 L3g4Nl9lbXVsYXRlL3g4Nl9lbXVsYXRlLmMKQEAgLTMxOCw3ICszMTgsNyBAQCBzdGF0aWMgY29u c3Qgc3RydWN0IHR3b2J5dGVfdGFibGUgewogICAgIFsweDZiIC4uLiAweDZkXSA9IHsgRHN0SW1w bGljaXR8U3JjTWVtfE1vZFJNLCBzaW1kX3BhY2tlZF9pbnQsIGQ4c192bCB9LAogICAgIFsweDZl XSA9IHsgRHN0SW1wbGljaXR8U3JjTWVtfE1vZFJNfE1vdiwgc2ltZF9ub25lLCBkOHNfZHE2NCB9 LAogICAgIFsweDZmXSA9IHsgRHN0SW1wbGljaXR8U3JjTWVtfE1vZFJNfE1vdiwgc2ltZF9wYWNr ZWRfaW50LCBkOHNfdmwgfSwKLSAgICBbMHg3MF0gPSB7IFNyY0ltbUJ5dGV8TW9kUk18VHdvT3As IHNpbWRfb3RoZXIgfSwKKyAgICBbMHg3MF0gPSB7IFNyY0ltbUJ5dGV8TW9kUk18VHdvT3AsIHNp bWRfb3RoZXIsIGQ4c192bCB9LAogICAgIFsweDcxIC4uLiAweDczXSA9IHsgRHN0SW1wbGljaXR8 U3JjSW1tQnl0ZXxNb2RSTSwgc2ltZF9ub25lLCBkOHNfdmwgfSwKICAgICBbMHg3NCAuLi4gMHg3 Nl0gPSB7IERzdEltcGxpY2l0fFNyY01lbXxNb2RSTSwgc2ltZF9wYWNrZWRfaW50LCBkOHNfdmwg fSwKICAgICBbMHg3N10gPSB7IERzdEltcGxpY2l0fFNyY05vbmUgfSwKQEAgLTQzMiw3ICs0MzIs OCBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGV4dDBmMzhfdGFibGUgewogICAgIHVpbnQ4X3QgdnNp YjoxOwogICAgIGRpc3A4c2NhbGVfdCBkOHM6NDsKIH0gZXh0MGYzOF90YWJsZVsyNTZdID0gewot ICAgIFsweDAwIC4uLiAweDBiXSA9IHsgLnNpbWRfc2l6ZSA9IHNpbWRfcGFja2VkX2ludCB9LAor ICAgIFsweDAwXSA9IHsgLnNpbWRfc2l6ZSA9IHNpbWRfcGFja2VkX2ludCwgLmQ4cyA9IGQ4c192 bCB9LAorICAgIFsweDAxIC4uLiAweDBiXSA9IHsgLnNpbWRfc2l6ZSA9IHNpbWRfcGFja2VkX2lu dCB9LAogICAgIFsweDBjIC4uLiAweDBmXSA9IHsgLnNpbWRfc2l6ZSA9IHNpbWRfcGFja2VkX2Zw IH0sCiAgICAgWzB4MTAgLi4uIDB4MTJdID0geyAuc2ltZF9zaXplID0gc2ltZF9wYWNrZWRfaW50 LCAuZDhzID0gZDhzX3ZsIH0sCiAgICAgWzB4MTNdID0geyAuc2ltZF9zaXplID0gc2ltZF9vdGhl ciwgLnR3b19vcCA9IDEgfSwKQEAgLTU0Myw2ICs1NDQsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0 IGV4dDBmM2FfdGFibGUgewogICAgIFsweDIwXSA9IHsgLnNpbWRfc2l6ZSA9IHNpbWRfbm9uZSwg LmQ4cyA9IDAgfSwKICAgICBbMHgyMV0gPSB7IC5zaW1kX3NpemUgPSBzaW1kX290aGVyLCAuZDhz ID0gMiB9LAogICAgIFsweDIyXSA9IHsgLnNpbWRfc2l6ZSA9IHNpbWRfbm9uZSwgLmQ4cyA9IGQ4 c19kcTY0IH0sCisgICAgWzB4MjNdID0geyAuc2ltZF9zaXplID0gc2ltZF9wYWNrZWRfaW50LCAu ZDhzID0gZDhzX3ZsIH0sCiAgICAgWzB4MjVdID0geyAuc2ltZF9zaXplID0gc2ltZF9wYWNrZWRf aW50LCAuZDhzID0gZDhzX3ZsIH0sCiAgICAgWzB4MzAgLi4uIDB4MzNdID0geyAuc2ltZF9zaXpl ID0gc2ltZF9vdGhlciwgLnR3b19vcCA9IDEgfSwKICAgICBbMHgzOF0gPSB7IC5zaW1kX3NpemUg PSBzaW1kXzEyOCwgLmQ4cyA9IDQgfSwKQEAgLTU1Miw2ICs1NTQsNyBAQCBzdGF0aWMgY29uc3Qg c3RydWN0IGV4dDBmM2FfdGFibGUgewogICAgIFsweDNlIC4uLiAweDNmXSA9IHsgLnNpbWRfc2l6 ZSA9IHNpbWRfcGFja2VkX2ludCwgLmQ4cyA9IGQ4c192bCB9LAogICAgIFsweDQwIC4uLiAweDQx XSA9IHsgLnNpbWRfc2l6ZSA9IHNpbWRfcGFja2VkX2ZwIH0sCiAgICAgWzB4NDJdID0geyAuc2lt ZF9zaXplID0gc2ltZF9wYWNrZWRfaW50IH0sCisgICAgWzB4NDNdID0geyAuc2ltZF9zaXplID0g c2ltZF9wYWNrZWRfaW50LCAuZDhzID0gZDhzX3ZsIH0sCiAgICAgWzB4NDRdID0geyAuc2ltZF9z aXplID0gc2ltZF9wYWNrZWRfaW50IH0sCiAgICAgWzB4NDZdID0geyAuc2ltZF9zaXplID0gc2lt ZF9wYWNrZWRfaW50IH0sCiAgICAgWzB4NDggLi4uIDB4NDldID0geyAuc2ltZF9zaXplID0gc2lt ZF9wYWNrZWRfZnAsIC5mb3VyX29wID0gMSB9LApAQCAtNjcwMSw2ICs2NzA0LDcgQEAgeDg2X2Vt dWxhdGUoCiAgICAgY2FzZSBYODZFTVVMX09QQ19FVkVYXzY2KDB4MGYsIDB4ZTEpOiAvKiB2cHNy YXcgeG1tL20xMjgsW3h5el1tbSxbeHl6XW1te2t9ICovCiAgICAgY2FzZSBYODZFTVVMX09QQ19F VkVYXzY2KDB4MGYsIDB4ZjEpOiAvKiB2cHNsbHcgeG1tL20xMjgsW3h5el1tbSxbeHl6XW1te2t9 ICovCiAgICAgY2FzZSBYODZFTVVMX09QQ19FVkVYXzY2KDB4MGYsIDB4ZjUpOiAvKiB2cG1hZGR3 ZCBbeHl6XW1tL21lbSxbeHl6XW1tLFt4eXpdbW17a30gKi8KKyAgICBjYXNlIFg4NkVNVUxfT1BD X0VWRVhfNjYoMHgwZjM4LCAweDAwKTogLyogdnBzaHVmYiBbeHl6XW1tL21lbSxbeHl6XW1tLFt4 eXpdbW17a30gKi8KICAgICAgICAgZmF1bHRfc3VwcHJlc3Npb24gPSBmYWxzZTsKICAgICAgICAg LyogZmFsbCB0aHJvdWdoICovCiAgICAgY2FzZSBYODZFTVVMX09QQ19FVkVYXzY2KDB4MGYsIDB4 ZDUpOiAvKiB2cG11bGx3IFt4eXpdbW0vbWVtLFt4eXpdbW0sW3h5el1tbXtrfSAqLwpAQCAtNjk1 NSw2ICs2OTU5LDIxIEBAIHg4Nl9lbXVsYXRlKAogICAgICAgICBpbnNuX2J5dGVzID0gUEZYX0JZ VEVTICsgMzsKICAgICAgICAgYnJlYWs7CiAKKyAgICBjYXNlIFg4NkVNVUxfT1BDX0VWRVhfNjYo MHgwZiwgMHg3MCk6IC8qIHZwc2h1ZmQgJGltbTgsW3h5el1tbS9tZW0sW3h5el1tbXtrfSAqLwor ICAgIGNhc2UgWDg2RU1VTF9PUENfRVZFWF9GMygweDBmLCAweDcwKTogLyogdnBzaHVmaHcgJGlt bTgsW3h5el1tbS9tZW0sW3h5el1tbXtrfSAqLworICAgIGNhc2UgWDg2RU1VTF9PUENfRVZFWF9G MigweDBmLCAweDcwKTogLyogdnBzaHVmbHcgJGltbTgsW3h5el1tbS9tZW0sW3h5el1tbXtrfSAq LworICAgICAgICBpZiAoIGV2ZXgucGZ4ID09IHZleF82NiApCisgICAgICAgICAgICBnZW5lcmF0 ZV9leGNlcHRpb25faWYoZXZleC53LCBFWENfVUQpOworICAgICAgICBlbHNlCisgICAgICAgIHsK KyAgICAgICAgICAgIGhvc3RfYW5kX3ZjcHVfbXVzdF9oYXZlKGF2eDUxMmJ3KTsKKyAgICAgICAg ICAgIGdlbmVyYXRlX2V4Y2VwdGlvbl9pZihldmV4LmJycywgRVhDX1VEKTsKKyAgICAgICAgfQor ICAgICAgICBkID0gKGQgJiB+U3JjTWFzaykgfCBTcmNNZW0gfCBUd29PcDsKKyAgICAgICAgb3Bf Ynl0ZXMgPSAxNiA8PCBldmV4LmxyOworICAgICAgICBmYXVsdF9zdXBwcmVzc2lvbiA9IGZhbHNl OworICAgICAgICBnb3RvIGF2eDUxMmZfaW1tOF9ub19zYWU7CisKICAgICBDQVNFX1NJTURfUEFD S0VEX0lOVCgweDBmLCAweDcxKTogICAgLyogR3JwMTIgKi8KICAgICBjYXNlIFg4NkVNVUxfT1BD X1ZFWF82NigweDBmLCAweDcxKToKICAgICBDQVNFX1NJTURfUEFDS0VEX0lOVCgweDBmLCAweDcy KTogICAgLyogR3JwMTMgKi8KQEAgLTkxNTAsNyArOTE2OSwxMyBAQCB4ODZfZW11bGF0ZSgKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogdmV4dHJhY3RpNjR4 MiAkaW1tOCx7eSx6fW1tLHhtbS9tMTI4e2t9ICovCiAgICAgICAgIGlmICggZXZleC53ICkKICAg ICAgICAgICAgIGhvc3RfYW5kX3ZjcHVfbXVzdF9oYXZlKGF2eDUxMmRxKTsKLSAgICAgICAgZ2Vu ZXJhdGVfZXhjZXB0aW9uX2lmKCFldmV4LmxyIHx8IGV2ZXguYnJzLCBFWENfVUQpOworICAgICAg ICBnZW5lcmF0ZV9leGNlcHRpb25faWYoZXZleC5icnMsIEVYQ19VRCk7CisgICAgICAgIC8qIGZh bGwgdGhyb3VnaCAqLworICAgIGNhc2UgWDg2RU1VTF9PUENfRVZFWF82NigweDBmM2EsIDB4MjMp OiAvKiB2c2h1ZmYzMng0ICRpbW04LHt5LHp9bW0vbWVtLHt5LHp9bW0se3ksen1tbXtrfSAqLwor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiB2c2h1ZmY2NHgy ICRpbW04LHt5LHp9bW0vbWVtLHt5LHp9bW0se3ksen1tbXtrfSAqLworICAgIGNhc2UgWDg2RU1V TF9PUENfRVZFWF82NigweDBmM2EsIDB4NDMpOiAvKiB2c2h1ZmkzMng0ICRpbW04LHt5LHp9bW0v bWVtLHt5LHp9bW0se3ksen1tbXtrfSAqLworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAvKiB2c2h1Zmk2NHgyICRpbW04LHt5LHp9bW0vbWVtLHt5LHp9bW0se3ks en1tbXtrfSAqLworICAgICAgICBnZW5lcmF0ZV9leGNlcHRpb25faWYoIWV2ZXgubHIsIEVYQ19V RCk7CiAgICAgICAgIGZhdWx0X3N1cHByZXNzaW9uID0gZmFsc2U7CiAgICAgICAgIGdvdG8gYXZ4 NTEyZl9pbW04X25vX3NhZTsKIAoKCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVu cHJvamVjdC5vcmcKaHR0cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZv L3hlbi1kZXZlbA==