From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Jan Beulich" Subject: [PATCH v4 40/44] x86emul: support AVX512F legacy-equivalent packed int/FP conversion insns Date: Tue, 25 Sep 2018 07:52:26 -0600 Message-ID: <5BAA3D9A02000078001EBB6F@prv1-mh.provo.novell.com> References: <5B6BF83602000078001DC548@prv1-mh.provo.novell.com> <5BAA34B502000078001EB9B6@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]) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1g4nlT-00025G-68 for xen-devel@lists.xenproject.org; Tue, 25 Sep 2018 13:52:35 +0000 In-Reply-To: <5BAA34B502000078001EB9B6@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 List-Id: xen-devel@lists.xenproject.org Li4uIGluY2x1ZGluZyB0aGUgdHdvIEFWWDUxMkRRIGZvcm1zIHdoaWNoIHNoYXJlZCBlbmNvZGlu Z3MsIGp1c3Qgd2l0aApFVkVYLlcgc2V0IHRoZXJlLgoKVkNWVERRMlBELCBzaGFyaW5nIGl0cyBt YWluIG9wY29kZSB3aXRoIG90aGVycywgbmVlZHMgYSAibWFudWFsIgpvdmVycmlkZSBvZiBkaXNw OHNjYWxlLgoKVGhlIHNpbWRfc2l6ZSBjaGFuZ2VzIGZvciB0aGUgdHdvYnl0ZV90YWJsZVtdIGVu dHJpZXMgYXJlIGJlbmlnbiB0bwpwcmUtZXhpc3RpbmcgY29kZSwgYnV0IGFsbG93IGRlY29kZV9k aXNwOHNjYWxlKCkgdG8gd29yayBhcyBpcyBoZXJlLgoKVGhlIGF0IHRoaXMgcG9pbnQgd3Jvbmcg cGxhY2VtZW50IG9mIHRoZSAweGU2IGNhc2UgYmxvY2sgaXMgb25jZSBhZ2FpbgppbiBhbnRpY2lw YXRpb24gb2YgZnVydGhlciBhZGRpdGlvbnMgb2YgY2FzZSBsYWJlbHMuCgpTaWduZWQtb2ZmLWJ5 OiBKYW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+Ci0tLQp2NDogTmV3LgoKLS0tIGEvdG9v bHMvdGVzdHMveDg2X2VtdWxhdG9yL2V2ZXgtZGlzcDguYworKysgYi90b29scy90ZXN0cy94ODZf ZW11bGF0b3IvZXZleC1kaXNwOC5jCkBAIC05OCw4ICs5OCwxMiBAQCBzdGF0aWMgY29uc3Qgc3Ry dWN0IHRlc3QgYXZ4NTEyZl9hbGxbXSA9CiAgICAgSU5TTl9GUChjbXAsICAgICAgICAgICAgIDBm LCBjMiksCiAgICAgSU5TTihjb21pc2QsICAgICAgIDY2LCAgIDBmLCAyZiwgICAgZWwsICAgICAg cSwgZWwpLAogICAgIElOU04oY29taXNzLCAgICAgICAgICwgICAwZiwgMmYsICAgIGVsLCAgICAg IGQsIGVsKSwKKyAgICBJTlNOKGN2dGRxMnBkLCAgICAgZjMsICAgMGYsIGU2LCAgICB2bF8yLCAg ICBkLCB2bCksCisgICAgSU5TTihjdnRkcTJwcywgICAgICAgLCAgIDBmLCA1YiwgICAgdmwsICAg ICAgZCwgdmwpLAorICAgIElOU04oY3Z0cGQyZHEsICAgICBmMiwgICAwZiwgZTYsICAgIHZsLCAg ICAgIHEsIHZsKSwKICAgICBJTlNOKGN2dHBkMnBzLCAgICAgNjYsICAgMGYsIDVhLCAgICB2bCwg ICAgICBxLCB2bCksCiAgICAgSU5TTihjdnRwaDJwcywgICAgIDY2LCAwZjM4LCAxMywgICAgdmxf MiwgZF9uYiwgdmwpLAorICAgIElOU04oY3Z0cHMyZHEsICAgICA2NiwgICAwZiwgNWIsICAgIHZs LCAgICAgIGQsIHZsKSwKICAgICBJTlNOKGN2dHBzMnBkLCAgICAgICAsICAgMGYsIDVhLCAgICB2 bF8yLCAgICBkLCB2bCksCiAgICAgSU5TTihjdnRwczJwaCwgICAgIDY2LCAwZjNhLCAxZCwgICAg dmxfMiwgZF9uYiwgdmwpLAogICAgIElOU04oY3Z0c2Qyc3MsICAgICBmMiwgICAwZiwgNWEsICAg IGVsLCAgICAgIHEsIGVsKSwKQEAgLTM4OCw2ICszOTIsOCBAQCBzdGF0aWMgY29uc3Qgc3RydWN0 IHRlc3QgYXZ4NTEyZHFfYWxsW10KICAgICBJTlNOX1BGUChhbmQsICAgICAgICAgICAgICAwZiwg NTQpLAogICAgIElOU05fUEZQKGFuZG4sICAgICAgICAgICAgIDBmLCA1NSksCiAgICAgSU5TTihi cm9hZGNhc3RpMzJ4MiwgNjYsIDBmMzgsIDU5LCBlbF8yLCAgZCwgdmwpLAorICAgIElOU04oY3Z0 cXEycGQsICAgICAgIGYzLCAgIDBmLCBlNiwgICB2bCwgIHEsIHZsKSwKKyAgICBJTlNOKGN2dHFx MnBzLCAgICAgICAgICwgICAwZiwgNWIsICAgdmwsICBxLCB2bCksCiAgICAgSU5TTl9QRlAob3Is ICAgICAgICAgICAgICAgMGYsIDU2KSwKIC8vICAgICAgIHBtb3ZkMm0sICAgICAgICBmMywgMGYz OCwgMzksICAgICAgICBkCiAvLyAgICAgICBwbW92bTIsICAgICAgICAgZjMsIDBmMzgsIDM4LCAg ICAgICBkcQotLS0gYS90b29scy90ZXN0cy94ODZfZW11bGF0b3Ivc2ltZC5jCisrKyBiL3Rvb2xz L3Rlc3RzL3g4Nl9lbXVsYXRvci9zaW1kLmMKQEAgLTkyLDYgKzkyLDEzIEBAIHN0YXRpYyBpbmxp bmUgYm9vbCBfdG9fYm9vbChieXRlX3ZlY190IGIKICMgZGVmaW5lIHRvX2ludCh4KSAoKHZlY190 KXsgKGludCkoeClbMF0gfSkKICNlbGlmIFZFQ19TSVpFID09IDggJiYgRkxPQVRfU0laRSA9PSA0 ICYmIGRlZmluZWQoX18zZE5PV19fKQogIyBkZWZpbmUgdG9faW50KHgpIF9fYnVpbHRpbl9pYTMy X3BpMmZkKF9fYnVpbHRpbl9pYTMyX3BmMmlkKHgpKQorI2VsaWYgZGVmaW5lZChGTE9BVF9TSVpF KSAmJiBWRUNfU0laRSA+IEZMT0FUX1NJWkUgJiYgZGVmaW5lZChfX0FWWDUxMkZfXykgJiYgXAor ICAgICAgKFZFQ19TSVpFID09IDY0IHx8IGRlZmluZWQoX19BVlg1MTJWTF9fKSkKKyMgaWYgRkxP QVRfU0laRSA9PSA0CisjICBkZWZpbmUgdG9faW50KHgpIEJSKGN2dGRxMnBzLCBfbWFzaywgQlIo Y3Z0cHMyZHEsIF9tYXNrLCB4LCAodnNpX3QpdW5kZWYoKSwgfjApLCB1bmRlZigpLCB+MCkKKyMg ZWxpZiBGTE9BVF9TSVpFID09IDgKKyMgIGRlZmluZSB0b19pbnQoeCkgQihjdnRkcTJwZCwgX21h c2ssIEJSKGN2dHBkMmRxLCBfbWFzaywgeCwgKHZzaV9oYWxmX3Qpe30sIH4wKSwgdW5kZWYoKSwg fjApCisjIGVuZGlmCiAjZWxpZiBWRUNfU0laRSA9PSAxNiAmJiBkZWZpbmVkKF9fU1NFMl9fKQog IyBpZiBGTE9BVF9TSVpFID09IDQKICMgIGRlZmluZSB0b19pbnQoeCkgX19idWlsdGluX2lhMzJf Y3Z0ZHEycHMoX19idWlsdGluX2lhMzJfY3Z0cHMyZHEoeCkpCkBAIC0xMTM2LDE1ICsxMTQzLDIx IEBAIGludCBzaW1kX3Rlc3Qodm9pZCkKICAgICB0b3VjaChzcmMpOwogICAgIGlmICggIWVxKHgg KiAtYWx0LCAtc3JjKSApIHJldHVybiBfX0xJTkVfXzsKIAotIyBpZiBkZWZpbmVkKHJlY2lwKSAm JiBkZWZpbmVkKHRvX2ludCkKKyMgaWZkZWYgdG9faW50CiAKICAgICB0b3VjaChzcmMpOworICAg IHggPSB0b19pbnQoc3JjKTsKKyAgICB0b3VjaChzcmMpOworICAgIGlmICggIWVxKHgsIHNyYykg KSByZXR1cm4gX19MSU5FX187CisKKyMgIGlmZGVmIHJlY2lwCisgICAgdG91Y2goc3JjKTsKICAg ICB4ID0gcmVjaXAoc3JjKTsKICAgICB0b3VjaChzcmMpOwogICAgIHRvdWNoKHgpOwogICAgIGlm ICggIWVxKHRvX2ludChyZWNpcCh4KSksIHNyYykgKSByZXR1cm4gX19MSU5FX187CiAKLSMgIGlm ZGVmIHJzcXJ0CisjICAgaWZkZWYgcnNxcnQKICAgICB4ID0gc3JjICogc3JjOwogICAgIHRvdWNo KHgpOwogICAgIHkgPSByc3FydCh4KTsKQEAgLTExNTIsNiArMTE2NSw3IEBAIGludCBzaW1kX3Rl c3Qodm9pZCkKICAgICBpZiAoICFlcSh0b19pbnQocmVjaXAoeSkpLCBzcmMpICkgcmV0dXJuIF9f TElORV9fOwogICAgIHRvdWNoKHNyYyk7CiAgICAgaWYgKCAhZXEodG9faW50KHkpLCB0b19pbnQo cmVjaXAoc3JjKSkpICkgcmV0dXJuIF9fTElORV9fOworIyAgIGVuZGlmCiAjICBlbmRpZgogCiAj IGVuZGlmCi0tLSBhL3Rvb2xzL3Rlc3RzL3g4Nl9lbXVsYXRvci9zaW1kLmgKKysrIGIvdG9vbHMv dGVzdHMveDg2X2VtdWxhdG9yL3NpbWQuaApAQCAtMjQ0LDYgKzI0NCw3IEBAIGFzbSAoICIubWFj cm8gb3ZlcnJpZGUgaW5zbiAgICBcblx0IgogT1ZSX0lOVChicm9hZGNhc3QpOwogT1ZSX1NGUChi cm9hZGNhc3QpOwogT1ZSX1NGUChjb21pKTsKK09WUl9WRlAoY3Z0ZHEyKTsKIE9WUl9GUChhZGQp OwogT1ZSX0lOVChhZGQpOwogT1ZSX0JXKGFkZHMpOwpAQCAtMzMwLDEzICszMzEsMTkgQEAgUkVO KHBhbmRuLCAsIGQpOwogUkVOKHBvciwgLCBkKTsKIFJFTihweG9yLCAsIGQpOwogIyBlbmRpZgor T1ZSKGN2dHBkMmRxeCk7CitPVlIoY3Z0cGQyZHF5KTsKIE9WUihjdnRwZDJwc3gpOwogT1ZSKGN2 dHBkMnBzeSk7CiBPVlIoY3Z0cGgycHMpOworT1ZSKGN2dHBzMmRxKTsKIE9WUihjdnRwczJwZCk7 CiBPVlIoY3Z0cHMycGgpOwogT1ZSKGN2dHNkMnNzKTsKIE9WUihjdnRzczJzZCk7CitPVlIoY3Z0 dHBkMmRxeCk7CitPVlIoY3Z0dHBkMmRxeSk7CitPVlIoY3Z0dHBzMmRxKTsKIE9WUihtb3ZkZHVw KTsKIE9WUihtb3ZudGRxKTsKIE9WUihtb3ZudGRxYSk7Ci0tLSBhL3hlbi9hcmNoL3g4Ni94ODZf ZW11bGF0ZS94ODZfZW11bGF0ZS5jCisrKyBiL3hlbi9hcmNoL3g4Ni94ODZfZW11bGF0ZS94ODZf ZW11bGF0ZS5jCkBAIC0zMTEsNyArMzExLDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCB0d29ieXRl X3RhYmxlIHsKICAgICBbMHg1NCAuLi4gMHg1N10gPSB7IERzdEltcGxpY2l0fFNyY01lbXxNb2RS TSwgc2ltZF9wYWNrZWRfZnAsIGQ4c192bCB9LAogICAgIFsweDU4IC4uLiAweDU5XSA9IHsgRHN0 SW1wbGljaXR8U3JjTWVtfE1vZFJNLCBzaW1kX2FueV9mcCwgZDhzX3ZsIH0sCiAgICAgWzB4NWFd ID0geyBEc3RJbXBsaWNpdHxTcmNNZW18TW9kUk18TW92LCBzaW1kX2FueV9mcCwgZDhzX3ZsIH0s Ci0gICAgWzB4NWJdID0geyBEc3RJbXBsaWNpdHxTcmNNZW18TW9kUk18TW92LCBzaW1kX290aGVy IH0sCisgICAgWzB4NWJdID0geyBEc3RJbXBsaWNpdHxTcmNNZW18TW9kUk18TW92LCBzaW1kX3Bh Y2tlZF9mcCwgZDhzX3ZsIH0sCiAgICAgWzB4NWMgLi4uIDB4NWZdID0geyBEc3RJbXBsaWNpdHxT cmNNZW18TW9kUk0sIHNpbWRfYW55X2ZwLCBkOHNfdmwgfSwKICAgICBbMHg2MCAuLi4gMHg2Ml0g PSB7IERzdEltcGxpY2l0fFNyY01lbXxNb2RSTSwgc2ltZF9vdGhlciwgZDhzX3ZsIH0sCiAgICAg WzB4NjMgLi4uIDB4NjddID0geyBEc3RJbXBsaWNpdHxTcmNNZW18TW9kUk0sIHNpbWRfcGFja2Vk X2ludCwgZDhzX3ZsIH0sCkBAIC0zNzUsNyArMzc1LDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCB0 d29ieXRlX3RhYmxlIHsKICAgICBbMHhlMF0gPSB7IERzdEltcGxpY2l0fFNyY01lbXxNb2RSTSwg c2ltZF9wYWNrZWRfaW50LCBkOHNfdmwgfSwKICAgICBbMHhlMSAuLi4gMHhlMl0gPSB7IERzdElt cGxpY2l0fFNyY01lbXxNb2RSTSwgc2ltZF8xMjgsIDQgfSwKICAgICBbMHhlMyAuLi4gMHhlNV0g PSB7IERzdEltcGxpY2l0fFNyY01lbXxNb2RSTSwgc2ltZF9wYWNrZWRfaW50LCBkOHNfdmwgfSwK LSAgICBbMHhlNl0gPSB7IERzdEltcGxpY2l0fFNyY01lbXxNb2RSTXxNb3YsIHNpbWRfb3RoZXIg fSwKKyAgICBbMHhlNl0gPSB7IERzdEltcGxpY2l0fFNyY01lbXxNb2RSTXxNb3YsIHNpbWRfcGFj a2VkX2ZwLCBkOHNfdmwgfSwKICAgICBbMHhlN10gPSB7IERzdE1lbXxTcmNJbXBsaWNpdHxNb2RS TXxNb3YsIHNpbWRfcGFja2VkX2ludCwgZDhzX3ZsIH0sCiAgICAgWzB4ZTggLi4uIDB4ZWZdID0g eyBEc3RJbXBsaWNpdHxTcmNNZW18TW9kUk0sIHNpbWRfcGFja2VkX2ludCwgZDhzX3ZsIH0sCiAg ICAgWzB4ZjBdID0geyBEc3RJbXBsaWNpdHxTcmNNZW18TW9kUk18TW92LCBzaW1kX290aGVyIH0s CkBAIC0zMDY5LDYgKzMwNjksMTEgQEAgeDg2X2RlY29kZSgKICAgICAgICAgICAgICAgICBpZiAo IGRpc3A4c2NhbGUgPT0gMiAmJiBldmV4LnBmeCA9PSB2ZXhfZjMgKQogICAgICAgICAgICAgICAg ICAgICBkaXNwOHNjYWxlID0gMzsKICAgICAgICAgICAgICAgICBicmVhazsKKworICAgICAgICAg ICAgY2FzZSAweGU2OiAvKiB2Y3Z0ZHEycGQgbmVlZHMgc3BlY2lhbCBjYXNpbmcgKi8KKyAgICAg ICAgICAgICAgICBpZiAoIGRpc3A4c2NhbGUgJiYgZXZleC5wZnggPT0gdmV4X2YzICYmICFldmV4 LncgJiYgIWV2ZXguYnIgKQorICAgICAgICAgICAgICAgICAgICAtLWRpc3A4c2NhbGU7CisgICAg ICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBicmVhazsKIApA QCAtNjU1Myw2ICs2NTU4LDIyIEBAIHg4Nl9lbXVsYXRlKAogICAgICAgICBvcF9ieXRlcyA9IDE2 IDw8IHZleC5sOwogICAgICAgICBnb3RvIHNpbWRfMGZfY3Z0OwogCisgICAgY2FzZSBYODZFTVVM X09QQ19FVkVYXzY2KDB4MGYsIDB4NWIpOiAvKiB2Y3Z0cHMyZHEgW3h5el1tbS9tZW0sW3h5el1t bXtrfSAqLworICAgIGNhc2UgWDg2RU1VTF9PUENfRVZFWF9GMygweDBmLCAweDViKTogLyogdmN2 dHRwczJkcSBbeHl6XW1tL21lbSxbeHl6XW1te2t9ICovCisgICAgICAgIGdlbmVyYXRlX2V4Y2Vw dGlvbl9pZihldmV4LncsIEVYQ19VRCk7CisgICAgICAgIC8qIGZhbGwgdGhyb3VnaCAqLworICAg IGNhc2UgWDg2RU1VTF9PUENfRVZFWCgweDBmLCAweDViKTogICAgLyogdmN2dGRxMnBzIFt4eXpd bW0vbWVtLFt4eXpdbW17a30gKi8KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIC8qIHZjdnRxcTJwcyBbeHl6XW1tL21lbSx7eCx5fW1te2t9ICovCisgICAgICAgIGlm ICggZXZleC53ICkKKyAgICAgICAgICAgIGhvc3RfYW5kX3ZjcHVfbXVzdF9oYXZlKGF2eDUxMmRx KTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgaG9zdF9hbmRfdmNwdV9tdXN0X2hhdmUoYXZ4 NTEyZik7CisgICAgICAgIGlmICggZWEudHlwZSA9PSBPUF9NRU0gfHwgIWV2ZXguYnIgKQorICAg ICAgICAgICAgYXZ4NTEyX3ZsZW5fY2hlY2soZmFsc2UpOworICAgICAgICBkIHw9IFR3b09wOwor ICAgICAgICBvcF9ieXRlcyA9IDE2IDw8IGV2ZXgubHI7CisgICAgICAgIGdvdG8gc2ltZF96bW07 CisKICAgICBDQVNFX1NJTURfUEFDS0VEX0lOVCgweDBmLCAweDYwKTogICAgLyogcHVucGNrbGJ3 IHsseH1tbS9tZW0seyx4fW1tICovCiAgICAgY2FzZSBYODZFTVVMX09QQ19WRVhfNjYoMHgwZiwg MHg2MCk6IC8qIHZwdW5wY2tsYncge3gseX1tbS9tZW0se3gseX1tbSx7eCx5fW1tICovCiAgICAg Q0FTRV9TSU1EX1BBQ0tFRF9JTlQoMHgwZiwgMHg2MSk6ICAgIC8qIHB1bnBja2x3ZCB7LHh9bW0v bWVtLHsseH1tbSAqLwpAQCAtNzIxMSw2ICs3MjMyLDI3IEBAIHg4Nl9lbXVsYXRlKAogICAgICAg ICBvcF9ieXRlcyA9IDg7CiAgICAgICAgIGdvdG8gc2ltZF8wZl94bW07CiAKKyAgICBjYXNlIFg4 NkVNVUxfT1BDX0VWRVhfNjYoMHgwZiwgMHhlNik6ICAgLyogdmN2dHRwZDJkcSBbeHl6XW1tL21l bSx7eCx5fW1te2t9ICovCisgICAgY2FzZSBYODZFTVVMX09QQ19FVkVYX0YyKDB4MGYsIDB4ZTYp OiAgIC8qIHZjdnRwZDJkcSBbeHl6XW1tL21lbSx7eCx5fW1te2t9ICovCisgICAgICAgIGdlbmVy YXRlX2V4Y2VwdGlvbl9pZighZXZleC53LCBFWENfVUQpOworICAgICAgICAvKiBmYWxsIHRocm91 Z2ggKi8KKyAgICBjYXNlIFg4NkVNVUxfT1BDX0VWRVhfRjMoMHgwZiwgMHhlNik6ICAgLyogdmN2 dGRxMnBkIHt4LHl9bW0vbWVtLFt4eXpdbW17a30gKi8KKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgLyogdmN2dHFxMnBkIFt4eXpdbW0vbWVtLFt4eXpdbW17a30g Ki8KKyAgICAgICAgaWYgKCBldmV4LnBmeCAhPSB2ZXhfZjMgKQorICAgICAgICAgICAgaG9zdF9h bmRfdmNwdV9tdXN0X2hhdmUoYXZ4NTEyZik7CisgICAgICAgIGVsc2UgaWYgKCBldmV4LncgKQor ICAgICAgICAgICAgaG9zdF9hbmRfdmNwdV9tdXN0X2hhdmUoYXZ4NTEyZHEpOworICAgICAgICBl bHNlCisgICAgICAgIHsKKyAgICAgICAgICAgIGhvc3RfYW5kX3ZjcHVfbXVzdF9oYXZlKGF2eDUx MmYpOworICAgICAgICAgICAgZ2VuZXJhdGVfZXhjZXB0aW9uX2lmKGVhLnR5cGUgIT0gT1BfTUVN ICYmIGV2ZXguYnIsIEVYQ19VRCk7CisgICAgICAgIH0KKyAgICAgICAgaWYgKCBlYS50eXBlID09 IE9QX01FTSB8fCAhZXZleC5iciApCisgICAgICAgICAgICBhdng1MTJfdmxlbl9jaGVjayhmYWxz ZSk7CisgICAgICAgIGQgfD0gVHdvT3A7CisgICAgICAgIG9wX2J5dGVzID0gOCA8PCAoZXZleC53 ICsgZXZleC5scik7CisgICAgICAgIGdvdG8gc2ltZF96bW07CisKICAgICBjYXNlIFg4NkVNVUxf T1BDX0YyKDB4MGYsIDB4ZjApOiAgICAgLyogbGRkcXUgbTEyOCx4bW0gKi8KICAgICBjYXNlIFg4 NkVNVUxfT1BDX1ZFWF9GMigweDBmLCAweGYwKTogLyogdmxkZHF1IG1lbSx7eCx5fW1tICovCiAg ICAgICAgIGdlbmVyYXRlX2V4Y2VwdGlvbl9pZihlYS50eXBlICE9IE9QX01FTSwgRVhDX1VEKTsK CgoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1k ZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3JnCmh0dHBzOi8v bGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby94ZW4tZGV2ZWw=