From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Jan Beulich" Subject: [PATCH v5 45/47] x86emul: support AVX512DQ floating point manipulation insns Date: Mon, 19 Nov 2018 03:40:15 -0700 Message-ID: <5BF2930F02000078001FD5E2@prv1-mh.provo.novell.com> References: <5B6BF83602000078001DC548@prv1-mh.provo.novell.com> <5BF289D802000078001FD3DF@prv1-mh.provo.novell.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1gOgya-0004om-8T for xen-devel@lists.xenproject.org; Mon, 19 Nov 2018 10:40:20 +0000 In-Reply-To: <5BF289D802000078001FD3DF@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 VGhpcyBjb21wbGV0ZXMgc3VwcG9ydCBvZiBBVlg1MTJEUSBpbiB0aGUgaW5zbiBlbXVsYXRvci4K ClNpZ25lZC1vZmYtYnk6IEphbiBCZXVsaWNoIDxqYmV1bGljaEBzdXNlLmNvbT4KLS0tCnY1OiBO ZXcuCgotLS0gYS90b29scy90ZXN0cy94ODZfZW11bGF0b3IvZXZleC1kaXNwOC5jCisrKyBiL3Rv b2xzL3Rlc3RzL3g4Nl9lbXVsYXRvci9ldmV4LWRpc3A4LmMKQEAgLTQ1OCwxMSArNDU4LDE3IEBA IHN0YXRpYyBjb25zdCBzdHJ1Y3QgdGVzdCBhdng1MTJkcV9hbGxbXQogICAgIElOU04oY3Z0dHBz MnVxcSwgICAgIDY2LCAgIDBmLCA3OCwgdmxfMiwgIGQsIHZsKSwKICAgICBJTlNOKGN2dHVxcTJw ZCwgICAgICBmMywgICAwZiwgN2EsICAgdmwsICBxLCB2bCksCiAgICAgSU5TTihjdnR1cXEycHMs ICAgICAgZjIsICAgMGYsIDdhLCAgIHZsLCAgcSwgdmwpLAorICAgIElOU04oZnBjbGFzcywgICAg ICAgIDY2LCAwZjNhLCA2NiwgICB2bCwgc2QsIHZsKSwKKyAgICBJTlNOKGZwY2xhc3MsICAgICAg ICA2NiwgMGYzYSwgNjcsICAgZWwsIHNkLCBlbCksCiAgICAgSU5TTl9QRlAob3IsICAgICAgICAg ICAgICAgMGYsIDU2KSwKIC8vICAgICAgIHBtb3ZkMm0sICAgICAgICBmMywgMGYzOCwgMzksICAg ICAgICBkCiAvLyAgICAgICBwbW92bTIsICAgICAgICAgZjMsIDBmMzgsIDM4LCAgICAgICBkcQog Ly8gICAgICAgcG1vdnEybSwgICAgICAgIGYzLCAwZjM4LCAzOSwgICAgICAgIHEKICAgICBJTlNO KHBtdWxscSwgICAgICAgICA2NiwgMGYzOCwgNDAsICAgdmwsICBxLCB2bCksCisgICAgSU5TTihy YW5nZSwgICAgICAgICAgNjYsIDBmM2EsIDUwLCAgIHZsLCBzZCwgdmwpLAorICAgIElOU04ocmFu Z2UsICAgICAgICAgIDY2LCAwZjNhLCA1MSwgICBlbCwgc2QsIGVsKSwKKyAgICBJTlNOKHJlZHVj ZSwgICAgICAgICA2NiwgMGYzYSwgNTYsICAgdmwsIHNkLCB2bCksCisgICAgSU5TTihyZWR1Y2Us ICAgICAgICAgNjYsIDBmM2EsIDU3LCAgIGVsLCBzZCwgZWwpLAogICAgIElOU05fUEZQKHhvciwg ICAgICAgICAgICAgIDBmLCA1NyksCiB9OwogCi0tLSBhL3Rvb2xzL3Rlc3RzL3g4Nl9lbXVsYXRv ci9zaW1kLmMKKysrIGIvdG9vbHMvdGVzdHMveDg2X2VtdWxhdG9yL3NpbWQuYwpAQCAtMjc4LDEw ICsyNzgsMTggQEAgc3RhdGljIGlubGluZSBib29sIF90b19ib29sKGJ5dGVfdmVjX3QgYgogIyAg IGRlZmluZSBicm9hZGNhc3Rfb2N0ZXQoeCkgQihicm9hZGNhc3RmMzJ4OF8sIF9tYXNrLCB4LCB1 bmRlZigpLCB+MCkKICMgICBkZWZpbmUgaW5zZXJ0X29jdGV0KHgsIHksIHApIEIoaW5zZXJ0ZjMy eDhfLCBfbWFzaywgeCwgeSwgcCwgdW5kZWYoKSwgfjApCiAjICBlbmRpZgorIyAgaWZkZWYgX19B Vlg1MTJEUV9fCisjICAgZGVmaW5lIGZyYWMoeCkgQihyZWR1Y2VwcywgX21hc2ssIHgsIDBiMDAw MDEwMTEsIHVuZGVmKCksIH4wKQorIyAgZW5kaWYKICMgIGRlZmluZSBnZXRleHAoeCkgQlIoZ2V0 ZXhwcHMsIF9tYXNrLCB4LCB1bmRlZigpLCB+MCkKICMgIGRlZmluZSBnZXRtYW50KHgpIEJSKGdl dG1hbnRwcywgX21hc2ssIHgsIDAsIHVuZGVmKCksIH4wKQotIyAgZGVmaW5lIG1heCh4LCB5KSBC Ul8obWF4cHMsIF9tYXNrLCB4LCB5LCB1bmRlZigpLCB+MCkKLSMgIGRlZmluZSBtaW4oeCwgeSkg QlJfKG1pbnBzLCBfbWFzaywgeCwgeSwgdW5kZWYoKSwgfjApCisjICBpZmRlZiBfX0FWWDUxMkRR X18KKyMgICBkZWZpbmUgbWF4KHgsIHkpIEJSKHJhbmdlcHMsIF9tYXNrLCB4LCB5LCAwYjAxMDEs IHVuZGVmKCksIH4wKQorIyAgIGRlZmluZSBtaW4oeCwgeSkgQlIocmFuZ2VwcywgX21hc2ssIHgs IHksIDBiMDEwMCwgdW5kZWYoKSwgfjApCisjICBlbHNlCisjICAgZGVmaW5lIG1heCh4LCB5KSBC Ul8obWF4cHMsIF9tYXNrLCB4LCB5LCB1bmRlZigpLCB+MCkKKyMgICBkZWZpbmUgbWluKHgsIHkp IEJSXyhtaW5wcywgX21hc2ssIHgsIHksIHVuZGVmKCksIH4wKQorIyAgZW5kaWYKICMgIGRlZmlu ZSBtaXgoeCwgeSkgQihtb3ZhcHMsIF9tYXNrLCB4LCB5LCAoMGIwMTAxMDEwMTAxMDEwMTAxICYg QUxMX1RSVUUpKQogIyAgZGVmaW5lIHNjYWxlKHgsIHkpIEJSKHNjYWxlZnBzLCBfbWFzaywgeCwg eSwgdW5kZWYoKSwgfjApCiAjICBpZiBWRUNfU0laRSA9PSA2NCAmJiBkZWZpbmVkKF9fQVZYNTEy RVJfXykKQEAgLTM0MywxMCArMzUxLDE4IEBAIHN0YXRpYyBpbmxpbmUgYm9vbCBfdG9fYm9vbChi eXRlX3ZlY190IGIKICMgICBkZWZpbmUgYnJvYWRjYXN0X3F1YXJ0ZXQoeCkgQihicm9hZGNhc3Rm NjR4NF8sICwgeCwgdW5kZWYoKSwgfjApCiAjICAgZGVmaW5lIGluc2VydF9xdWFydGV0KHgsIHks IHApIEIoaW5zZXJ0ZjY0eDRfLCBfbWFzaywgeCwgeSwgcCwgdW5kZWYoKSwgfjApCiAjICBlbmRp ZgorIyAgaWZkZWYgX19BVlg1MTJEUV9fCisjICAgZGVmaW5lIGZyYWMoeCkgQihyZWR1Y2VwZCwg X21hc2ssIHgsIDBiMDAwMDEwMTEsIHVuZGVmKCksIH4wKQorIyAgZW5kaWYKICMgIGRlZmluZSBn ZXRleHAoeCkgQlIoZ2V0ZXhwcGQsIF9tYXNrLCB4LCB1bmRlZigpLCB+MCkKICMgIGRlZmluZSBn ZXRtYW50KHgpIEJSKGdldG1hbnRwZCwgX21hc2ssIHgsIDAsIHVuZGVmKCksIH4wKQotIyAgZGVm aW5lIG1heCh4LCB5KSBCUl8obWF4cGQsIF9tYXNrLCB4LCB5LCB1bmRlZigpLCB+MCkKLSMgIGRl ZmluZSBtaW4oeCwgeSkgQlJfKG1pbnBkLCBfbWFzaywgeCwgeSwgdW5kZWYoKSwgfjApCisjICBp ZmRlZiBfX0FWWDUxMkRRX18KKyMgICBkZWZpbmUgbWF4KHgsIHkpIEJSKHJhbmdlcGQsIF9tYXNr LCB4LCB5LCAwYjAxMDEsIHVuZGVmKCksIH4wKQorIyAgIGRlZmluZSBtaW4oeCwgeSkgQlIocmFu Z2VwZCwgX21hc2ssIHgsIHksIDBiMDEwMCwgdW5kZWYoKSwgfjApCisjICBlbHNlCisjICAgZGVm aW5lIG1heCh4LCB5KSBCUl8obWF4cGQsIF9tYXNrLCB4LCB5LCB1bmRlZigpLCB+MCkKKyMgICBk ZWZpbmUgbWluKHgsIHkpIEJSXyhtaW5wZCwgX21hc2ssIHgsIHksIHVuZGVmKCksIH4wKQorIyAg ZW5kaWYKICMgIGRlZmluZSBtaXgoeCwgeSkgQihtb3ZhcGQsIF9tYXNrLCB4LCB5LCAwYjAxMDEw MTAxKQogIyAgZGVmaW5lIHNjYWxlKHgsIHkpIEJSKHNjYWxlZnBkLCBfbWFzaywgeCwgeSwgdW5k ZWYoKSwgfjApCiAjICBpZiBWRUNfU0laRSA9PSA2NCAmJiBkZWZpbmVkKF9fQVZYNTEyRVJfXykK LS0tIGEvdG9vbHMvdGVzdHMveDg2X2VtdWxhdG9yL3Rlc3RfeDg2X2VtdWxhdG9yLmMKKysrIGIv dG9vbHMvdGVzdHMveDg2X2VtdWxhdG9yL3Rlc3RfeDg2X2VtdWxhdG9yLmMKQEAgLTM5MzMsNiAr MzkzMywzOSBAQCBpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCiAgICAgZWxzZQogICAg ICAgICBwcmludGYoInNraXBwZWRcbiIpOwogCisKKyAgICBwcmludGYoIiUtNDBzIiwgIlRlc3Rp bmcgdmZwY2xhc3Nwc3ogJDB4NDYsNjQoJWVkeCksJWsyLi4uIik7CisgICAgaWYgKCBzdGFja19l eGVjICYmIGNwdV9oYXNfYXZ4NTEyZHEgKQorICAgIHsKKyAgICAgICAgZGVjbF9pbnNuKHZmcGNs YXNzcHMpOworCisgICAgICAgIGFzbSB2b2xhdGlsZSAoIHB1dF9pbnNuKHZmcGNsYXNzcHMsCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIDB4NDY6IGNoZWNrIGZvciArLy0gMCBh bmQgbmVnLiAqLworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAidmZwY2xhc3Nwc3og JDB4NDYsIDY0KCUwKSwgJSVrMiIpCisgICAgICAgICAgICAgICAgICAgICAgIDo6ICJkIiAoTlVM TCkgKTsKKworICAgICAgICBzZXRfaW5zbih2ZnBjbGFzc3BzKTsKKyAgICAgICAgZm9yICggaSA9 IDA7IGkgPCAzOyArK2kgKQorICAgICAgICB7CisgICAgICAgICAgICByZXNbMTYgKyBpICogNSAr IDBdID0gMHgwMDAwMDAwMDsgLyogKzAgKi8KKyAgICAgICAgICAgIHJlc1sxNiArIGkgKiA1ICsg MV0gPSAweDgwMDAwMDAwOyAvKiAtMCAqLworICAgICAgICAgICAgcmVzWzE2ICsgaSAqIDUgKyAy XSA9IDB4ODAwMDAwMDE7IC8qIC1ERU4gKi8KKyAgICAgICAgICAgIHJlc1sxNiArIGkgKiA1ICsg M10gPSAweGZmMDAwMDAwOyAvKiAtRklOICovCisgICAgICAgICAgICByZXNbMTYgKyBpICogNSAr IDRdID0gMHg3ZjAwMDAwMDsgLyogK0ZJTiAqLworICAgICAgICB9CisgICAgICAgIHJlc1szMV0g PSAwOworICAgICAgICByZWdzLmVkeCA9ICh1bnNpZ25lZCBsb25nKXJlczsKKyAgICAgICAgcmMg PSB4ODZfZW11bGF0ZSgmY3R4dCwgJmVtdWxvcHMpOworICAgICAgICBpZiAoIHJjICE9IFg4NkVN VUxfT0tBWSB8fCAhY2hlY2tfZWlwKHZmcGNsYXNzcHMpICkKKyAgICAgICAgICAgIGdvdG8gZmFp bDsKKyAgICAgICAgYXNtIHZvbGF0aWxlICggImttb3Z3ICUlazIsICUwIiA6ICI9ZyIgKHJjKSAp OworICAgICAgICBpZiAoIHJjICE9IDB4YmRlZiApCisgICAgICAgICAgICBnb3RvIGZhaWw7Cisg ICAgICAgIHByaW50Zigib2theVxuIik7CisgICAgfQorICAgIGVsc2UKKyAgICAgICAgcHJpbnRm KCJza2lwcGVkXG4iKTsKKwogI3VuZGVmIGRlY2xfaW5zbgogI3VuZGVmIHB1dF9pbnNuCiAjdW5k ZWYgc2V0X2luc24KLS0tIGEveGVuL2FyY2gveDg2L3g4Nl9lbXVsYXRlL3g4Nl9lbXVsYXRlLmMK KysrIGIveGVuL2FyY2gveDg2L3g4Nl9lbXVsYXRlL3g4Nl9lbXVsYXRlLmMKQEAgLTU4MiwxMCAr NTgyLDE2IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZXh0MGYzYV90YWJsZSB7CiAgICAgWzB4NDgg Li4uIDB4NDldID0geyAuc2ltZF9zaXplID0gc2ltZF9wYWNrZWRfZnAsIC5mb3VyX29wID0gMSB9 LAogICAgIFsweDRhIC4uLiAweDRiXSA9IHsgLnNpbWRfc2l6ZSA9IHNpbWRfcGFja2VkX2ZwLCAu Zm91cl9vcCA9IDEgfSwKICAgICBbMHg0Y10gPSB7IC5zaW1kX3NpemUgPSBzaW1kX3BhY2tlZF9p bnQsIC5mb3VyX29wID0gMSB9LAorICAgIFsweDUwXSA9IHsgLnNpbWRfc2l6ZSA9IHNpbWRfcGFj a2VkX2ZwLCAuZDhzID0gZDhzX3ZsIH0sCisgICAgWzB4NTFdID0geyAuc2ltZF9zaXplID0gc2lt ZF9zY2FsYXJfdmV4dywgLmQ4cyA9IGQ4c19kcSB9LAogICAgIFsweDU0XSA9IHsgLnNpbWRfc2l6 ZSA9IHNpbWRfcGFja2VkX2ZwLCAuZDhzID0gZDhzX3ZsIH0sCiAgICAgWzB4NTVdID0geyAuc2lt ZF9zaXplID0gc2ltZF9zY2FsYXJfdmV4dywgLmQ4cyA9IGQ4c19kcSB9LAorICAgIFsweDU2XSA9 IHsgLnNpbWRfc2l6ZSA9IHNpbWRfcGFja2VkX2ZwLCAudHdvX29wID0gMSwgLmQ4cyA9IGQ4c192 bCB9LAorICAgIFsweDU3XSA9IHsgLnNpbWRfc2l6ZSA9IHNpbWRfc2NhbGFyX3ZleHcsIC5kOHMg PSBkOHNfZHEgfSwKICAgICBbMHg1YyAuLi4gMHg1Zl0gPSB7IC5zaW1kX3NpemUgPSBzaW1kX3Bh Y2tlZF9mcCwgLmZvdXJfb3AgPSAxIH0sCiAgICAgWzB4NjAgLi4uIDB4NjNdID0geyAuc2ltZF9z aXplID0gc2ltZF9wYWNrZWRfaW50LCAudHdvX29wID0gMSB9LAorICAgIFsweDY2XSA9IHsgLnNp bWRfc2l6ZSA9IHNpbWRfcGFja2VkX2ZwLCAudHdvX29wID0gMSwgLmQ4cyA9IGQ4c192bCB9LAor ICAgIFsweDY3XSA9IHsgLnNpbWRfc2l6ZSA9IHNpbWRfc2NhbGFyX3ZleHcsIC50d29fb3AgPSAx LCAuZDhzID0gZDhzX2RxIH0sCiAgICAgWzB4NjggLi4uIDB4NjldID0geyAuc2ltZF9zaXplID0g c2ltZF9wYWNrZWRfZnAsIC5mb3VyX29wID0gMSB9LAogICAgIFsweDZhIC4uLiAweDZiXSA9IHsg LnNpbWRfc2l6ZSA9IHNpbWRfc2NhbGFyX29wYywgLmZvdXJfb3AgPSAxIH0sCiAgICAgWzB4NmMg Li4uIDB4NmRdID0geyAuc2ltZF9zaXplID0gc2ltZF9wYWNrZWRfZnAsIC5mb3VyX29wID0gMSB9 LApAQCAtOTYyOSw2ICs5NjM1LDEwIEBAIHg4Nl9lbXVsYXRlKAogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgRVhDX1VEKTsKICAgICAgICAgZ290byBhdng1MTJmX2ltbThfbm9fc2FlOwog CisgICAgY2FzZSBYODZFTVVMX09QQ19FVkVYXzY2KDB4MGYzYSwgMHg1MCk6IC8qIHZyYW5nZXB7 cyxkfSAkaW1tOCxbeHl6XW1tL21lbSxbeHl6XW1tLFt4eXpdbW17a30gKi8KKyAgICBjYXNlIFg4 NkVNVUxfT1BDX0VWRVhfNjYoMHgwZjNhLCAweDU2KTogLyogdnJlZHVjZXB7cyxkfSAkaW1tOCxb eHl6XW1tL21lbSxbeHl6XW1te2t9ICovCisgICAgICAgIGhvc3RfYW5kX3ZjcHVfbXVzdF9oYXZl KGF2eDUxMmRxKTsKKyAgICAgICAgLyogZmFsbCB0aHJvdWdoICovCiAgICAgY2FzZSBYODZFTVVM X09QQ19FVkVYXzY2KDB4MGYzYSwgMHgyNik6IC8qIHZnZXRtYW50cHtzLGR9ICRpbW04LFt4eXpd bW0vbWVtLFt4eXpdbW17a30gKi8KICAgICBjYXNlIFg4NkVNVUxfT1BDX0VWRVhfNjYoMHgwZjNh LCAweDU0KTogLyogdmZpeHVwaW1tcHtzLGR9ICRpbW04LFt4eXpdbW0vbWVtLFt4eXpdbW0sW3h5 el1tbXtrfSAqLwogICAgICAgICBob3N0X2FuZF92Y3B1X211c3RfaGF2ZShhdng1MTJmKTsKQEAg LTk2MzYsMTEgKzk2NDYsMTYgQEAgeDg2X2VtdWxhdGUoCiAgICAgICAgICAgICBhdng1MTJfdmxl bl9jaGVjayhmYWxzZSk7CiAgICAgICAgIGdvdG8gc2ltZF9pbW04X3ptbTsKIAorICAgIGNhc2Ug WDg2RU1VTF9PUENfRVZFWF82NigweDBmM2EsIDB4NTEpOiAvKiB2cmFuZ2Vze3MsZH0gJGltbTgs eG1tL21lbSx4bW0seG1te2t9ICovCisgICAgY2FzZSBYODZFTVVMX09QQ19FVkVYXzY2KDB4MGYz YSwgMHg1Nyk6IC8qIHZyZWR1Y2Vze3MsZH0gJGltbTgseG1tL21lbSx4bW0seG1te2t9ICovCisg ICAgICAgIGhvc3RfYW5kX3ZjcHVfbXVzdF9oYXZlKGF2eDUxMmRxKTsKKyAgICAgICAgLyogZmFs bCB0aHJvdWdoICovCiAgICAgY2FzZSBYODZFTVVMX09QQ19FVkVYXzY2KDB4MGYzYSwgMHgyNyk6 IC8qIHZnZXRtYW50c3tzLGR9ICRpbW04LHhtbS9tZW0seG1tLHhtbXtrfSAqLwogICAgIGNhc2Ug WDg2RU1VTF9PUENfRVZFWF82NigweDBmM2EsIDB4NTUpOiAvKiB2Zml4dXBpbW1ze3MsZH0gJGlt bTgseG1tL21lbSx4bW0seG1te2t9ICovCiAgICAgICAgIGhvc3RfYW5kX3ZjcHVfbXVzdF9oYXZl KGF2eDUxMmYpOwogICAgICAgICBpZiAoIGVhLnR5cGUgPT0gT1BfTUVNICkKICAgICAgICAgewor ICAgIHNpbWRfaW1tOF96bW1fc2NhbGFyOgogICAgICAgICAgICAgZ2VuZXJhdGVfZXhjZXB0aW9u X2lmKGV2ZXguYnIsIEVYQ19VRCk7CiAgICAgICAgICAgICBhdng1MTJfdmxlbl9jaGVjayh0cnVl KTsKICAgICAgICAgfQpAQCAtOTc5Myw2ICs5ODA4LDE0IEBAIHg4Nl9lbXVsYXRlKAogICAgICAg ICBkc3QudHlwZSA9IE9QX05PTkU7CiAgICAgICAgIGJyZWFrOwogCisgICAgY2FzZSBYODZFTVVM X09QQ19FVkVYXzY2KDB4MGYzYSwgMHg2Nik6IC8qIHZmcGNsYXNzcHtkLHN9ICRpbW04LFt4eXpd bW0vbWVtLGt7a30gKi8KKyAgICBjYXNlIFg4NkVNVUxfT1BDX0VWRVhfNjYoMHgwZjNhLCAweDY3 KTogLyogdmZwY2xhc3Nze2Qsc30gJGltbTgsW3h5el1tbS9tZW0sa3trfSAqLworICAgICAgICBo b3N0X2FuZF92Y3B1X211c3RfaGF2ZShhdng1MTJkcSk7CisgICAgICAgIGdlbmVyYXRlX2V4Y2Vw dGlvbl9pZighZXZleC5yIHx8ICFldmV4LlIgfHwgZXZleC56LCBFWENfVUQpOworICAgICAgICBp ZiAoIGIgJiAxICkKKyAgICAgICAgICAgIGdvdG8gc2ltZF9pbW04X3ptbV9zY2FsYXI7CisgICAg ICAgIGdvdG8gYXZ4NTEyZl9pbW04X25vX3NhZTsKKwogICAgIGNhc2UgWDg2RU1VTF9PUEMoMHgw ZjNhLCAweGNjKTogICAgIC8qIHNoYTFybmRzNCAkaW1tOCx4bW0vbTEyOCx4bW0gKi8KICAgICAg ICAgaG9zdF9hbmRfdmNwdV9tdXN0X2hhdmUoc2hhKTsKICAgICAgICAgb3BfYnl0ZXMgPSAxNjsK CgoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1k ZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8v bGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby94ZW4tZGV2ZWw=