From mboxrd@z Thu Jan 1 00:00:00 1970 From: Norbert Manthey Subject: [PATCH L1TF v10 1/8] spec: add l1tf-barrier Date: Thu, 14 Mar 2019 13:50:04 +0100 Message-ID: <1552567811-5301-2-git-send-email-nmanthey@amazon.de> References: <1552567811-5301-1-git-send-email-nmanthey@amazon.de> 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 1h4PqL-0000Dr-M0 for xen-devel@lists.xenproject.org; Thu, 14 Mar 2019 12:52:17 +0000 In-Reply-To: <1552567811-5301-1-git-send-email-nmanthey@amazon.de> 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 , Tim Deegan , Stefano Stabellini , Wei Liu , Konrad Rzeszutek Wilk , George Dunlap , Andrew Cooper , Ian Jackson , Dario Faggioli , Martin Pohlack , Pawel Wieczorkiewicz , Julien Grall , David Woodhouse , Jan Beulich , Martin Mazein , Bjoern Doebel , Norbert Manthey List-Id: xen-devel@lists.xenproject.org VG8gY29udHJvbCB0aGUgcnVudGltZSBiZWhhdmlvciBvbiBMMVRGIHZ1bG5lcmFibGUgcGxhdGZv cm1zIGJldHRlciwgdGhlCmNvbW1hbmQgbGluZSBvcHRpb24gbDF0Zi1iYXJyaWVyIGlzIGludHJv ZHVjZWQuIFRoaXMgb3B0aW9uIGNvbnRyb2xzCndoZXRoZXIgb24gdnVsbmVyYWJsZSB4ODYgcGxh dGZvcm1zIHRoZSBsZmVuY2UgaW5zdHJ1Y3Rpb24gaXMgdXNlZCB0bwpwcmV2ZW50IHNwZWN1bGF0 aXZlIGV4ZWN1dGlvbiBmcm9tIGJ5cGFzc2luZyB0aGUgZXZhbHVhdGlvbiBvZgpjb25kaXRpb25h bHMgdGhhdCBhcmUgcHJvdGVjdGVkIHdpdGggdGhlIGV2YWx1YXRlX25vc3BlYyBtYWNyby4KCkJ5 IG5vdywgWGVuIGlzIGNhcGFibGUgb2YgaWRlbnRpZnlpbmcgTDFURiB2dWxuZXJhYmxlIGhhcmR3 YXJlLiBIb3dldmVyLAp0aGlzIGluZm9ybWF0aW9uIGNhbm5vdCBiZSB1c2VkIGZvciBhbHRlcm5h dGl2ZSBwYXRjaGluZywgYXMgYSBDUFUgZmVhdHVyZQppcyByZXF1aXJlZC4gVG8gY29udHJvbCBh bHRlcm5hdGl2ZSBwYXRjaGluZyB3aXRoIHRoZSBjb21tYW5kIGxpbmUgb3B0aW9uLAphIG5ldyB4 ODYgZmVhdHVyZSAiWDg2X0ZFQVRVUkVfU0NfTDFURl9WVUxOIiBpcyBpbnRyb2R1Y2VkLiBUaGlz IGZlYXR1cmUKaXMgdXNlZCB0byBwYXRjaCB0aGUgbGZlbmNlIGluc3RydWN0aW9uIGludG8gdGhl IGFyY2hfYmFycmllcl9ub3NwZWNfdHJ1ZQpmdW5jdGlvbi4gVGhlIGZlYXR1cmUgaXMgZW5hYmxl ZCBvbmx5IGlmIEwxVEYgdnVsbmVyYWJsZSBoYXJkd2FyZSBpcwpkZXRlY3RlZCBhbmQgdGhlIGNv bW1hbmQgbGluZSBvcHRpb24gZG9lcyBub3QgcHJldmVudCB1c2luZyB0aGlzIGZlYXR1cmUuCgpU aGUgc3RhdHVzIG9mIGh5cGVydGhyZWFkaW5nIGlzIGNvbnNpZGVyZWQgd2hlbiBhdXRvbWF0aWNh bGx5IGVuYWJsaW5nCmFkZGluZyB0aGUgbGZlbmNlIGluc3RydWN0aW9uLiBTaW5jZSBwbGF0Zm9y bXMgd2l0aG91dCBoeXBlcnRocmVhZGluZyBjYW4Kc3RpbGwgYmUgdnVsbmVyYWJsZSB0byBMMVRG IGluIGNhc2UgdGhlIEwxIGNhY2hlIGlzIG5vdCBmbHVzaGVkIHByb3Blcmx5LAp0aGUgYWRkaXRp b25hbCBsZmVuY2UgaW5zdHJ1Y3Rpb25zIGFyZSBwYXRjaGVkIGluIGlmIGVpdGhlciBoeXBlcnRo cmVhZGluZwppcyBlbmFibGVkLCBvciBMMSBjYWNoZSBmbHVzaGluZyBpcyBtaXNzaW5nLgoKVGhp cyBpcyBwYXJ0IG9mIHRoZSBzcGVjdWxhdGl2ZSBoYXJkZW5pbmcgZWZmb3J0LgoKU2lnbmVkLW9m Zi1ieTogTm9yYmVydCBNYW50aGV5IDxubWFudGhleUBhbWF6b24uZGU+ClJldmlld2VkLWJ5OiBK YW4gQmV1bGljaCA8amJldWxpY2hAc3VzZS5jb20+CgotLS0KIGRvY3MvbWlzYy94ZW4tY29tbWFu ZC1saW5lLnBhbmRvYyB8IDE0ICsrKysrKysrKystLS0tCiB4ZW4vYXJjaC94ODYvc3BlY19jdHJs LmMgICAgICAgICAgfCAxNyArKysrKysrKysrKysrKystLQogeGVuL2luY2x1ZGUvYXNtLXg4Ni9j cHVmZWF0dXJlcy5oIHwgIDEgKwogeGVuL2luY2x1ZGUvYXNtLXg4Ni9zcGVjX2N0cmwuaCAgIHwg IDEgKwogNCBmaWxlcyBjaGFuZ2VkLCAyNyBpbnNlcnRpb25zKCspLCA2IGRlbGV0aW9ucygtKQoK ZGlmZiAtLWdpdCBhL2RvY3MvbWlzYy94ZW4tY29tbWFuZC1saW5lLnBhbmRvYyBiL2RvY3MvbWlz Yy94ZW4tY29tbWFuZC1saW5lLnBhbmRvYwotLS0gYS9kb2NzL21pc2MveGVuLWNvbW1hbmQtbGlu ZS5wYW5kb2MKKysrIGIvZG9jcy9taXNjL3hlbi1jb21tYW5kLWxpbmUucGFuZG9jCkBAIC00ODMs OSArNDgzLDkgQEAgYWNjb3VudGluZyBmb3IgaGFyZHdhcmUgY2FwYWJpbGl0aWVzIGFzIGVudW1l cmF0ZWQgdmlhIENQVUlELgogCiBDdXJyZW50bHkgYWNjZXB0ZWQ6CiAKLVRoZSBTcGVjdWxhdGlv biBDb250cm9sIGhhcmR3YXJlIGZlYXR1cmVzIGBpYnJzYmAsIGBzdGlicGAsIGBpYnBiYCwKLWBs MWQtZmx1c2hgIGFuZCBgc3NiZGAgYXJlIHVzZWQgYnkgZGVmYXVsdCBpZiBhdmFpbGFibGUgYW5k IGFwcGxpY2FibGUuICBUaGV5IGNhbgotYmUgaWdub3JlZCwgZS5nLiBgbm8taWJyc2JgLCBhdCB3 aGljaCBwb2ludCBYZW4gd29uJ3QgdXNlIHRoZW0gaXRzZWxmLCBhbmQKK1RoZSBTcGVjdWxhdGlv biBDb250cm9sIGhhcmR3YXJlIGZlYXR1cmVzIGBpYnJzYmAsIGBzdGlicGAsIGBpYnBiYCwgYGwx ZC1mbHVzaGAsCitgbDF0Zi1iYXJyaWVyYCBhbmQgYHNzYmRgIGFyZSB1c2VkIGJ5IGRlZmF1bHQg aWYgYXZhaWxhYmxlIGFuZCBhcHBsaWNhYmxlLiAgVGhleQorY2FuIGJlIGlnbm9yZWQsIGUuZy4g YG5vLWlicnNiYCwgYXQgd2hpY2ggcG9pbnQgWGVuIHdvbid0IHVzZSB0aGVtIGl0c2VsZiwgYW5k CiB3b24ndCBvZmZlciB0aGVtIHRvIGd1ZXN0cy4KIAogIyMjIGNwdWlkX21hc2tfY3B1CkBAIC0x OTAyLDcgKzE5MDIsNyBAQCBCeSBkZWZhdWx0IFNTQkQgd2lsbCBiZSBtaXRpZ2F0ZWQgYXQgcnVu dGltZSAoaS5lIGBzc2JkPXJ1bnRpbWVgKS4KICMjIyBzcGVjLWN0cmwgKHg4NikKID4gYD0gTGlz dCBvZiBbIDxib29sPiwgeGVuPTxib29sPiwge3B2LGh2bSxtc3Itc2MscnNifT08Ym9vbD4sCiA+ ICAgICAgICAgICAgICBidGktdGh1bms9cmV0cG9saW5lfGxmZW5jZXxqbXAsIHtpYnJzLGlicGIs c3NiZCxlYWdlci1mcHUsCi0+ICAgICAgICAgICAgICBsMWQtZmx1c2h9PTxib29sPiBdYAorPiAg ICAgICAgICAgICAgbDFkLWZsdXNoLGwxdGYtYmFycmllcn09PGJvb2w+IF1gCiAKIENvbnRyb2xz IGZvciBzcGVjdWxhdGl2ZSBleGVjdXRpb24gc2lkZWNoYW5uZWwgbWl0aWdhdGlvbnMuICBCeSBk ZWZhdWx0LCBYZW4KIHdpbGwgcGljayB0aGUgbW9zdCBhcHByb3ByaWF0ZSBtaXRpZ2F0aW9ucyBi YXNlZCBvbiBjb21waWxlZCBpbiBzdXBwb3J0LApAQCAtMTk2OCw2ICsxOTY4LDEyIEBAIElycmVz cGVjdGl2ZSBvZiBYZW4ncyBzZXR0aW5nLCB0aGUgZmVhdHVyZSBpcyB2aXJ0dWFsaXNlZCBmb3Ig SFZNIGd1ZXN0cyB0bwogdXNlLiAgQnkgZGVmYXVsdCwgWGVuIHdpbGwgZW5hYmxlIHRoaXMgbWl0 aWdhdGlvbiBvbiBoYXJkd2FyZSBiZWxpZXZlZCB0byBiZQogdnVsbmVyYWJsZSB0byBMMVRGLgog CitPbiBoYXJkd2FyZSB2dWxuZXJhYmxlIHRvIEwxVEYsIHRoZSBgbDF0Zi1iYXJyaWVyPWAgb3B0 aW9uIGNhbiBiZSB1c2VkIHRvIGZvcmNlCitvciBwcmV2ZW50IFhlbiBmcm9tIHByb3RlY3Rpbmcg ZXZhbHVhdGlvbnMgaW5zaWRlIHRoZSBoeXBlcnZpc29yIHdpdGggYSBiYXJyaWVyCitpbnN0cnVj dGlvbiB0byBub3QgbG9hZCBwb3RlbnRpYWxseSBzZWNyZXQgaW5mb3JtYXRpb24gaW50byBMMSBj YWNoZS4gIEJ5CitkZWZhdWx0LCBYZW4gd2lsbCBlbmFibGUgdGhpcyBtaXRpZ2F0aW9uIG9uIGhh cmR3YXJlIGJlbGlldmVkIHRvIGJlIHZ1bG5lcmFibGUKK3RvIEwxVEYuCisKICMjIyBzeW5jX2Nv bnNvbGUKID4gYD0gPGJvb2xlYW4+YAogCmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYvc3BlY19j dHJsLmMgYi94ZW4vYXJjaC94ODYvc3BlY19jdHJsLmMKLS0tIGEveGVuL2FyY2gveDg2L3NwZWNf Y3RybC5jCisrKyBiL3hlbi9hcmNoL3g4Ni9zcGVjX2N0cmwuYwpAQCAtMjEsNiArMjEsNyBAQAog I2luY2x1ZGUgPHhlbi9saWIuaD4KICNpbmNsdWRlIDx4ZW4vd2FybmluZy5oPgogCisjaW5jbHVk ZSA8YXNtL2NwdWlkLmg+CiAjaW5jbHVkZSA8YXNtL21pY3JvY29kZS5oPgogI2luY2x1ZGUgPGFz bS9tc3IuaD4KICNpbmNsdWRlIDxhc20vcHJvY2Vzc29yLmg+CkBAIC01MCw2ICs1MSw3IEBAIGJv b2wgX19yZWFkX21vc3RseSBvcHRfaWJwYiA9IHRydWU7CiBib29sIF9fcmVhZF9tb3N0bHkgb3B0 X3NzYmQgPSBmYWxzZTsKIGludDhfdCBfX3JlYWRfbW9zdGx5IG9wdF9lYWdlcl9mcHUgPSAtMTsK IGludDhfdCBfX3JlYWRfbW9zdGx5IG9wdF9sMWRfZmx1c2ggPSAtMTsKK2ludDhfdCBfX3JlYWRf bW9zdGx5IG9wdF9sMXRmX2JhcnJpZXIgPSAtMTsKIAogYm9vbCBfX2luaXRkYXRhIGJzcF9kZWxh eV9zcGVjX2N0cmw7CiB1aW50OF90IF9fcmVhZF9tb3N0bHkgZGVmYXVsdF94ZW5fc3BlY19jdHJs OwpAQCAtOTEsNiArOTMsOCBAQCBzdGF0aWMgaW50IF9faW5pdCBwYXJzZV9zcGVjX2N0cmwoY29u c3QgY2hhciAqcykKICAgICAgICAgICAgIGlmICggb3B0X3B2X2wxdGZfZG9tdSA8IDAgKQogICAg ICAgICAgICAgICAgIG9wdF9wdl9sMXRmX2RvbXUgPSAwOwogCisgICAgICAgICAgICBvcHRfbDF0 Zl9iYXJyaWVyID0gMDsKKwogICAgICAgICBkaXNhYmxlX2NvbW1vbjoKICAgICAgICAgICAgIG9w dF9yc2JfcHYgPSBmYWxzZTsKICAgICAgICAgICAgIG9wdF9yc2JfaHZtID0gZmFsc2U7CkBAIC0x NTcsNiArMTYxLDggQEAgc3RhdGljIGludCBfX2luaXQgcGFyc2Vfc3BlY19jdHJsKGNvbnN0IGNo YXIgKnMpCiAgICAgICAgICAgICBvcHRfZWFnZXJfZnB1ID0gdmFsOwogICAgICAgICBlbHNlIGlm ICggKHZhbCA9IHBhcnNlX2Jvb2xlYW4oImwxZC1mbHVzaCIsIHMsIHNzKSkgPj0gMCApCiAgICAg ICAgICAgICBvcHRfbDFkX2ZsdXNoID0gdmFsOworICAgICAgICBlbHNlIGlmICggKHZhbCA9IHBh cnNlX2Jvb2xlYW4oImwxdGYtYmFycmllciIsIHMsIHNzKSkgPj0gMCApCisgICAgICAgICAgICBv cHRfbDF0Zl9iYXJyaWVyID0gdmFsOwogICAgICAgICBlbHNlCiAgICAgICAgICAgICByYyA9IC1F SU5WQUw7CiAKQEAgLTI0OCw3ICsyNTQsNyBAQCBzdGF0aWMgdm9pZCBfX2luaXQgcHJpbnRfZGV0 YWlscyhlbnVtIGluZF90aHVuayB0aHVuaywgdWludDY0X3QgY2FwcykKICAgICAgICAgICAgICAg ICJcbiIpOwogCiAgICAgLyogU2V0dGluZ3MgZm9yIFhlbidzIHByb3RlY3Rpb24sIGlycmVzcGVj dGl2ZSBvZiBndWVzdHMuICovCi0gICAgcHJpbnRrKCIgIFhlbiBzZXR0aW5nczogQlRJLVRodW5r ICVzLCBTUEVDX0NUUkw6ICVzJXMsIE90aGVyOiVzJXNcbiIsCisgICAgcHJpbnRrKCIgIFhlbiBz ZXR0aW5nczogQlRJLVRodW5rICVzLCBTUEVDX0NUUkw6ICVzJXMsIE90aGVyOiVzJXMlc1xuIiwK ICAgICAgICAgICAgdGh1bmsgPT0gVEhVTktfTk9ORSAgICAgID8gIk4vQSIgOgogICAgICAgICAg ICB0aHVuayA9PSBUSFVOS19SRVRQT0xJTkUgPyAiUkVUUE9MSU5FIiA6CiAgICAgICAgICAgIHRo dW5rID09IFRIVU5LX0xGRU5DRSAgICA/ICJMRkVOQ0UiIDoKQEAgLTI1OCw3ICsyNjQsOCBAQCBz dGF0aWMgdm9pZCBfX2luaXQgcHJpbnRfZGV0YWlscyhlbnVtIGluZF90aHVuayB0aHVuaywgdWlu dDY0X3QgY2FwcykKICAgICAgICAgICAgIWJvb3RfY3B1X2hhcyhYODZfRkVBVFVSRV9TU0JEKSAg ICAgICAgICAgPyAiIiA6CiAgICAgICAgICAgIChkZWZhdWx0X3hlbl9zcGVjX2N0cmwgJiBTUEVD X0NUUkxfU1NCRCkgID8gIiBTU0JEKyIgOiAiIFNTQkQtIiwKICAgICAgICAgICAgb3B0X2licGIg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPyAiIElCUEIiICA6ICIiLAotICAgICAg ICAgICBvcHRfbDFkX2ZsdXNoICAgICAgICAgICAgICAgICAgICAgICAgICAgICA/ICIgTDFEX0ZM VVNIIiA6ICIiKTsKKyAgICAgICAgICAgb3B0X2wxZF9mbHVzaCAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgPyAiIEwxRF9GTFVTSCIgOiAiIiwKKyAgICAgICAgICAgb3B0X2wxdGZfYmFycmll ciAgICAgICAgICAgICAgICAgICAgICAgICAgPyAiIEwxVEZfQkFSUklFUiIgOiAiIik7CiAKICAg ICAvKiBMMVRGIGRpYWdub3N0aWNzLCBwcmludGVkIGlmIHZ1bG5lcmFibGUgb3IgUFYgc2hhZG93 aW5nIGlzIGluIHVzZS4gKi8KICAgICBpZiAoIGNwdV9oYXNfYnVnX2wxdGYgfHwgb3B0X3B2X2wx dGZfaHdkb20gfHwgb3B0X3B2X2wxdGZfZG9tdSApCkBAIC04NDIsNiArODQ5LDEyIEBAIHZvaWQg X19pbml0IGluaXRfc3BlY3VsYXRpb25fbWl0aWdhdGlvbnModm9pZCkKICAgICBlbHNlIGlmICgg b3B0X2wxZF9mbHVzaCA9PSAtMSApCiAgICAgICAgIG9wdF9sMWRfZmx1c2ggPSBjcHVfaGFzX2J1 Z19sMXRmICYmICEoY2FwcyAmIEFSQ0hfQ0FQU19TS0lQX0wxREZMKTsKIAorICAgIC8qIEJ5IGRl ZmF1bHQsIGVuYWJsZSBMMVRGX1ZVTE4gb24gTDFURi12dWxuZXJhYmxlIGhhcmR3YXJlICovCisg ICAgaWYgKCBvcHRfbDF0Zl9iYXJyaWVyID09IC0xICkKKyAgICAgICAgb3B0X2wxdGZfYmFycmll ciA9IGNwdV9oYXNfYnVnX2wxdGYgJiYgKG9wdF9zbXQgfHwgIW9wdF9sMWRfZmx1c2gpOworICAg IGlmICggb3B0X2wxdGZfYmFycmllciA+IDAgKQorICAgICAgICBzZXR1cF9mb3JjZV9jcHVfY2Fw KFg4Nl9GRUFUVVJFX1NDX0wxVEZfVlVMTik7CisKICAgICAvKgogICAgICAqIFdlIGRvIG5vdCBk aXNhYmxlIEhUIGJ5IGRlZmF1bHQgb24gYWZmZWN0ZWQgaGFyZHdhcmUuCiAgICAgICoKZGlmZiAt LWdpdCBhL3hlbi9pbmNsdWRlL2FzbS14ODYvY3B1ZmVhdHVyZXMuaCBiL3hlbi9pbmNsdWRlL2Fz bS14ODYvY3B1ZmVhdHVyZXMuaAotLS0gYS94ZW4vaW5jbHVkZS9hc20teDg2L2NwdWZlYXR1cmVz LmgKKysrIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9jcHVmZWF0dXJlcy5oCkBAIC0yNSw2ICsyNSw3 IEBAIFhFTl9DUFVGRUFUVVJFKFhFTl9TTUFQLCAgICAgICAgKEZTQ0FQSU5UUyswKSozMisxMSkg LyogU01BUCBnZXRzIHVzZWQgYnkgWGVuIGl0CiBYRU5fQ1BVRkVBVFVSRShMRkVOQ0VfRElTUEFU Q0gsIChGU0NBUElOVFMrMCkqMzIrMTIpIC8qIGxmZW5jZSBzZXQgYXMgRGlzcGF0Y2ggU2VyaWFs aXNpbmcgKi8KIFhFTl9DUFVGRUFUVVJFKElORF9USFVOS19MRkVOQ0UsKEZTQ0FQSU5UUyswKSoz MisxMykgLyogVXNlIElORF9USFVOS19MRkVOQ0UgKi8KIFhFTl9DUFVGRUFUVVJFKElORF9USFVO S19KTVAsICAgKEZTQ0FQSU5UUyswKSozMisxNCkgLyogVXNlIElORF9USFVOS19KTVAgKi8KK1hF Tl9DUFVGRUFUVVJFKFNDX0wxVEZfVlVMTiwgICAgKEZTQ0FQSU5UUyswKSozMisxNSkgLyogTDFU RiBwcm90ZWN0aW9uIHJlcXVpcmVkICovCiBYRU5fQ1BVRkVBVFVSRShTQ19NU1JfUFYsICAgICAg IChGU0NBUElOVFMrMCkqMzIrMTYpIC8qIE1TUl9TUEVDX0NUUkwgdXNlZCBieSBYZW4gZm9yIFBW ICovCiBYRU5fQ1BVRkVBVFVSRShTQ19NU1JfSFZNLCAgICAgIChGU0NBUElOVFMrMCkqMzIrMTcp IC8qIE1TUl9TUEVDX0NUUkwgdXNlZCBieSBYZW4gZm9yIEhWTSAqLwogWEVOX0NQVUZFQVRVUkUo U0NfUlNCX1BWLCAgICAgICAoRlNDQVBJTlRTKzApKjMyKzE4KSAvKiBSU0Igb3ZlcndyaXRlIG5l ZWRlZCBmb3IgUFYgKi8KZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL2FzbS14ODYvc3BlY19jdHJs LmggYi94ZW4vaW5jbHVkZS9hc20teDg2L3NwZWNfY3RybC5oCi0tLSBhL3hlbi9pbmNsdWRlL2Fz bS14ODYvc3BlY19jdHJsLmgKKysrIGIveGVuL2luY2x1ZGUvYXNtLXg4Ni9zcGVjX2N0cmwuaApA QCAtMzcsNiArMzcsNyBAQCBleHRlcm4gYm9vbCBvcHRfaWJwYjsKIGV4dGVybiBib29sIG9wdF9z c2JkOwogZXh0ZXJuIGludDhfdCBvcHRfZWFnZXJfZnB1OwogZXh0ZXJuIGludDhfdCBvcHRfbDFk X2ZsdXNoOworZXh0ZXJuIGludDhfdCBvcHRfbDF0Zl9iYXJyaWVyOwogCiBleHRlcm4gYm9vbCBi c3BfZGVsYXlfc3BlY19jdHJsOwogZXh0ZXJuIHVpbnQ4X3QgZGVmYXVsdF94ZW5fc3BlY19jdHJs OwotLSAKMi43LjQKCgoKCkFtYXpvbiBEZXZlbG9wbWVudCBDZW50ZXIgR2VybWFueSBHbWJICkty YXVzZW5zdHIuIDM4CjEwMTE3IEJlcmxpbgpHZXNjaGFlZnRzZnVlaHJlcjogQ2hyaXN0aWFuIFNj aGxhZWdlciwgUmFsZiBIZXJicmljaApVc3QtSUQ6IERFIDI4OSAyMzcgODc5CkVpbmdldHJhZ2Vu IGFtIEFtdHNnZXJpY2h0IENoYXJsb3R0ZW5idXJnIEhSQiAxNDkxNzMgQgoKCgpfX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBs aXN0Clhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2pl Y3Qub3JnL21haWxtYW4vbGlzdGluZm8veGVuLWRldmVs