From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Kiper Subject: [PATCH v3 13/16 - RFC] x86: add multiboot2 protocol support for EFI platforms Date: Fri, 15 Apr 2016 14:33:13 +0200 Message-ID: <1460723596-13261-14-git-send-email-daniel.kiper@oracle.com> References: <1460723596-13261-1-git-send-email-daniel.kiper@oracle.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta3.messagelabs.com ([195.245.230.39]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1ar2x8-0005RB-Sx for xen-devel@lists.xenproject.org; Fri, 15 Apr 2016 12:34:27 +0000 In-Reply-To: <1460723596-13261-1-git-send-email-daniel.kiper@oracle.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: xen-devel@lists.xenproject.org Cc: jgross@suse.com, andrew.cooper3@citrix.com, stefano.stabellini@eu.citrix.com, cardoe@cardoe.com, pgnet.dev@gmail.com, ning.sun@intel.com, david.vrabel@citrix.com, jbeulich@suse.com, qiaowei.ren@intel.com, richard.l.maliszewski@intel.com, gang.wei@intel.com, fu.wei@linaro.org List-Id: xen-devel@lists.xenproject.org VGhpcyB3YXkgWGVuIGNhbiBiZSBsb2FkZWQgb24gRUZJIHBsYXRmb3JtcyB1c2luZyBHUlVCMiBh bmQKb3RoZXIgYm9vdCBsb2FkZXJzIHdoaWNoIHN1cHBvcnQgbXVsdGlib290MiBwcm90b2NvbC4K ClNpZ25lZC1vZmYtYnk6IERhbmllbCBLaXBlciA8ZGFuaWVsLmtpcGVyQG9yYWNsZS5jb20+Ci0t LQp2MyAtIHN1Z2dlc3Rpb25zL2ZpeGVzOgogICAtIHRha2UgaW50byBhY2NvdW50IGFsaWdubWVu dCB3aGVuIHNraXBwaW5nIG11bHRpYm9vdDIgZml4ZWQgcGFydAogICAgIChzdWdnZXN0ZWQgYnkg S29ucmFkIFJ6ZXN6dXRlayBXaWxrKSwKICAgLSBpbXByb3ZlIHNlZ21lbnQgcmVnaXN0ZXJzIGlu aXRpYWxpemF0aW9uCiAgICAgKHN1Z2dlc3RlZCBieSBKYW4gQmV1bGljaCksCiAgIC0gaW1wcm92 ZSBjb21tZW50cwogICAgIChzdWdnZXN0ZWQgYnkgSmFuIEJldWxpY2ggYW5kIEtvbnJhZCBSemVz enV0ZWsgV2lsayksCiAgIC0gaW1wcm92ZSBjb21taXQgbWVzc2FnZQogICAgIChzdWdnZXN0ZWQg YnkgSmFuIEJldWxpY2gpLgoKdjMgLSBub3QgZml4ZWQgeWV0OgogICAtIHhlbi9hcmNoL3g4Ni9l Zmkvc3R1Yi5jOmVmaV9tdWx0aWJvb3QyKCkKICAgICBzaG91bGQgcHJpbnQgZXJyb3IgbWVzc2Fn ZSBhbmQgaGFsdCBzeXN0ZW0uCgp2MiAtIHN1Z2dlc3Rpb25zL2ZpeGVzOgogICAtIGdlbmVyYXRl IG11bHRpYm9vdDIgaGVhZGVyIHVzaW5nIG1hY3JvcwogICAgIChzdWdnZXN0ZWQgYnkgSmFuIEJl dWxpY2gpLAogICAtIHN3aXRjaCBDUFUgdG8geDg2XzMyIG1vZGUgYmVmb3JlCiAgICAganVtcGlu ZyB0byAzMi1iaXQgY29kZQogICAgIChzdWdnZXN0ZWQgYnkgQW5kcmV3IENvb3BlciksCiAgIC0g cmVkdWNlIGNvZGUgY2hhbmdlcyB0byBpbmNyZWFzZSBwYXRjaCByZWFkYWJpbGl0eQogICAgIChz dWdnZXN0ZWQgYnkgSmFuIEJldWxpY2gpLAogICAtIGltcHJvdmUgY29tbWVudHMKICAgICAoc3Vn Z2VzdGVkIGJ5IEphbiBCZXVsaWNoKSwKICAgLSBpZ25vcmUgTVVMVElCT09UMl9UQUdfVFlQRV9C QVNJQ19NRU1JTkZPIHRhZyBvbiBFRkkgcGxhdGZvcm0KICAgICBhbmQgZmluZCBvbiBteSBvd24g bXVsdGlib290Mi5tZW1fbG93ZXIgdmFsdWUsCiAgIC0gc3RvcCBleGVjdXRpb24gaWYgRUZJIHBs YXRmb3JtIGlzIGRldGVjdGVkCiAgICAgaW4gbGVnYWN5IEJJT1MgcGF0aC4KLS0tCiB4ZW4vYXJj aC94ODYvYm9vdC9oZWFkLlMgICAgICAgICAgfCAgMTc3ICsrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrLS0KIHhlbi9hcmNoL3g4Ni9lZmkvZWZpLWJvb3QuaCAgICAgICB8ICAgNDMg KysrKysrKysrCiB4ZW4vYXJjaC94ODYvZWZpL3N0dWIuYyAgICAgICAgICAgfCAgICA1ICsrCiB4 ZW4vYXJjaC94ODYvc2V0dXAuYyAgICAgICAgICAgICAgfCAgIDEwICsrLQogeGVuL2FyY2gveDg2 L3g4Nl82NC9hc20tb2Zmc2V0cy5jIHwgICAgMiArCiB4ZW4vYXJjaC94ODYveGVuLmxkcy5TICAg ICAgICAgICAgfCAgICA0ICstCiB4ZW4vY29tbW9uL2VmaS9ib290LmMgICAgICAgICAgICAgfCAg IDEyICsrKwogeGVuL2luY2x1ZGUveGVuL2VmaS5oICAgICAgICAgICAgIHwgICAgMSArCiA4IGZp bGVzIGNoYW5nZWQsIDI0MCBpbnNlcnRpb25zKCspLCAxNCBkZWxldGlvbnMoLSkKCmRpZmYgLS1n aXQgYS94ZW4vYXJjaC94ODYvYm9vdC9oZWFkLlMgYi94ZW4vYXJjaC94ODYvYm9vdC9oZWFkLlMK aW5kZXggZTQ2ZDY5MS4uZWZiMDYxNCAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L2Jvb3QvaGVh ZC5TCisrKyBiL3hlbi9hcmNoL3g4Ni9ib290L2hlYWQuUwpAQCAtODksNiArODksMTMgQEAgbXVs dGlib290Ml9oZWFkZXJfc3RhcnQ6CiAgICAgICAgICAgICAgICAgICAgMCwgLyogTnVtYmVyIG9m IHRoZSBsaW5lcyAtIG5vIHByZWZlcmVuY2UuICovIFwKICAgICAgICAgICAgICAgICAgICAwICAv KiBOdW1iZXIgb2YgYml0cyBwZXIgcGl4ZWwgLSBubyBwcmVmZXJlbmNlLiAqLwogCisgICAgICAg IC8qIEluaGliaXQgYm9vdGxvYWRlciBmcm9tIGNhbGxpbmcgRXhpdEJvb3RTZXJ2aWNlcygpLiAq LworICAgICAgICBtYjJodF9pbml0IE1CMl9IVChFRklfQlMpLCBNQjJfSFQoT1BUSU9OQUwpCisK KyAgICAgICAgLyogRUZJNjQgZW50cnkgcG9pbnQuICovCisgICAgICAgIG1iMmh0X2luaXQgTUIy X0hUKEVOVFJZX0FERFJFU1NfRUZJNjQpLCBNQjJfSFQoT1BUSU9OQUwpLCBcCisgICAgICAgICAg ICAgICAgICAgc3ltX3BoeXMoX19lZmk2NF9zdGFydCkKKwogICAgICAgICAvKiBNdWx0aWJvb3Qy IGhlYWRlciBlbmQgdGFnLiAqLwogICAgICAgICBtYjJodF9pbml0IE1CMl9IVChFTkQpLCBNQjJf SFQoUkVRVUlSRUQpCiBtdWx0aWJvb3QyX2hlYWRlcl9lbmQ6CkBAIC0xMDAsMTkgKzEwNywyOSBA QCBtdWx0aWJvb3QyX2hlYWRlcl9lbmQ6CiBnZHRfYm9vdF9kZXNjcjoKICAgICAgICAgLndvcmQg ICA2KjgtMQogICAgICAgICAubG9uZyAgIHN5bV9waHlzKHRyYW1wb2xpbmVfZ2R0KQorICAgICAg ICAubG9uZyAgIDAgLyogTmVlZGVkIGZvciA2NC1iaXQgbGdkdCAqLworCitjczMyX3N3aXRjaF9h ZGRyOgorICAgICAgICAubG9uZyAgIHN5bV9waHlzKGNzMzJfc3dpdGNoKQorICAgICAgICAud29y ZCAgIEJPT1RfQ1MzMgogCiAuTGJhZF9jcHVfbXNnOiAuYXNjaXogIkVSUjogTm90IGEgNjQtYml0 IENQVSEiCiAuTGJhZF9sZHJfbXNnOiAuYXNjaXogIkVSUjogTm90IGEgTXVsdGlib290IGJvb3Rs b2FkZXIhIgorLkxiYWRfbGRyX21iMjogLmFzY2l6ICJFUlI6IE9uIEVGSSBwbGF0Zm9ybSB1c2Ug bGF0ZXN0IE11bHRpYm9vdDIgY29tcGF0aWJsZSBib290bG9hZGVyISIKIAogICAgICAgICAuc2Vj dGlvbiAuaW5pdC50ZXh0LCAiYXgiLCBAcHJvZ2JpdHMKIAogYmFkX2NwdToKICAgICAgICAgbW92 ICAgICAkKHN5bV9waHlzKC5MYmFkX2NwdV9tc2cpKSwlZXNpICMgRXJyb3IgbWVzc2FnZQotICAg ICAgICBqbXAgICAgIHByaW50X2VycgorICAgICAgICBtb3YgICAgICQweEI4MDAwLCVlZGkgICAg ICAgICAgICAgICAgICAgIyBWR0EgZnJhbWVidWZmZXIKKyAgICAgICAgam1wICAgICAxZgogbm90 X211bHRpYm9vdDoKICAgICAgICAgbW92ICAgICAkKHN5bV9waHlzKC5MYmFkX2xkcl9tc2cpKSwl ZXNpICMgRXJyb3IgbWVzc2FnZQotcHJpbnRfZXJyOgotICAgICAgICBtb3YgICAgICQweEI4MDAw LCVlZGkgICMgVkdBIGZyYW1lYnVmZmVyCisgICAgICAgIG1vdiAgICAgJDB4QjgwMDAsJWVkaSAg ICAgICAgICAgICAgICAgICAjIFZHQSBmcmFtZWJ1ZmZlcgorICAgICAgICBqbXAgICAgIDFmCitt YjJfdG9vX29sZDoKKyAgICAgICAgbW92ICAgICAkKHN5bV9waHlzKC5MYmFkX2xkcl9tYjIpKSwl ZXNpICMgRXJyb3IgbWVzc2FnZQorICAgICAgICB4b3IgICAgICVlZGksJWVkaSAgICAgICAgICAg ICAgICAgICAgICAgIyBObyBWR0EgZnJhbWVidWZmZXIKIDE6ICAgICAgbW92ICAgICAoJWVzaSks JWJsCiAgICAgICAgIHRlc3QgICAgJWJsLCVibCAgICAgICAgIyBUZXJtaW5hdGUgb24gJ1wwJyBz ZW50aW5lbAogICAgICAgICBqZSAgICAgIC5MaGFsdApAQCAtMTIzLDYgKzE0MCw4IEBAIHByaW50 X2VycjoKICAgICAgICAgbW92ICAgICAkMHgzZjgrMCwlZHggICAjIFVBUlQgVHJhbnNtaXQgSG9s ZGluZyBSZWdpc3RlcgogICAgICAgICBtb3YgICAgICVibCwlYWwKICAgICAgICAgb3V0ICAgICAl YWwsJWR4ICAgICAgICAjIFNlbmQgYSBjaGFyYWN0ZXIgb3ZlciB0aGUgc2VyaWFsIGxpbmUKKyAg ICAgICAgdGVzdCAgICAlZWRpLCVlZGkgICAgICAjIElzIFZHQSBmcmFtZWJ1ZmZlciBhdmFpbGFi bGU/CisgICAgICAgIGp6ICAgICAgMWIKICAgICAgICAgbW92c2IgICAgICAgICAgICAgICAgICAj IFdyaXRlIGEgY2hhcmFjdGVyIHRvIHRoZSBWR0EgZnJhbWVidWZmZXIKICAgICAgICAgbW92ICAg ICAkNywlYWwKICAgICAgICAgc3Rvc2IgICAgICAgICAgICAgICAgICAjIFdyaXRlIGFuIGF0dHJp YnV0ZSB0byB0aGUgVkdBIGZyYW1lYnVmZmVyCkBAIC0xMzAsNiArMTQ5LDEzMCBAQCBwcmludF9l cnI6CiAuTGhhbHQ6IGhsdAogICAgICAgICBqbXAgICAgIC5MaGFsdAogCisgICAgICAgIC5jb2Rl NjQKKworX19lZmk2NF9zdGFydDoKKyAgICAgICAgY2xkCisKKyAgICAgICAgLyogQ2hlY2sgZm9y IE11bHRpYm9vdDIgYm9vdGxvYWRlci4gKi8KKyAgICAgICAgY21wICAgICAkTVVMVElCT09UMl9C T09UTE9BREVSX01BR0lDLCVlYXgKKyAgICAgICAgamUgICAgICBlZmlfbXVsdGlib290Ml9wcm90 bworCisgICAgICAgIC8qIEp1bXAgdG8gbm90X211bHRpYm9vdCBhZnRlciBzd2l0Y2hpbmcgQ1BV IHRvIHg4Nl8zMiBtb2RlLiAqLworICAgICAgICBsZWEgICAgIG5vdF9tdWx0aWJvb3QoJXJpcCks JXJkaQorICAgICAgICBqbXAgICAgIHg4Nl8zMl9zd2l0Y2gKKworZWZpX211bHRpYm9vdDJfcHJv dG86CisgICAgICAgIC8qCisgICAgICAgICAqIE11bHRpYm9vdDIgaW5mb3JtYXRpb24gYWRkcmVz cyBpcyAzMi1iaXQsCisgICAgICAgICAqIHNvLCB6ZXJvIGhpZ2hlciBoYWxmIG9mICVyYnguCisg ICAgICAgICAqLworICAgICAgICBtb3YgICAgICVlYngsJWVieAorCisgICAgICAgIC8qIFNraXAg TXVsdGlib290MiBpbmZvcm1hdGlvbiBmaXhlZCBwYXJ0LiAqLworICAgICAgICBsZWEgICAgIChN QjJfZml4ZWRfc2l6ZW9mK01VTFRJQk9PVDJfVEFHX0FMSUdOLTEpKCVyYngpLCVyY3gKKyAgICAg ICAgYW5kICAgICAkfihNVUxUSUJPT1QyX1RBR19BTElHTi0xKSwlcmN4CisKKzA6CisgICAgICAg IC8qIEdldCBFRkkgU3lzdGVtVGFibGUgYWRkcmVzcyBmcm9tIE11bHRpYm9vdDIgaW5mb3JtYXRp b24uICovCisgICAgICAgIGNtcGwgICAgJE1VTFRJQk9PVDJfVEFHX1RZUEVfRUZJNjQsTUIyX3Rh Z190eXBlKCVyY3gpCisgICAgICAgIGpuZSAgICAgMWYKKworICAgICAgICBtb3YgICAgIE1CMl9l Zmk2NF9zdCglcmN4KSwlcnNpCisKKyAgICAgICAgLyogRG8gbm90IGNsZWFyIEJTUyB0d2ljZSBh bmQgZG8gbm90IGdvIGludG8gcmVhbCBtb2RlLiAqLworICAgICAgICBtb3ZiICAgICQxLHNraXBf cmVhbG1vZGUoJXJpcCkKKyAgICAgICAgam1wICAgICAzZgorCisxOgorICAgICAgICAvKiBHZXQg RUZJIEltYWdlSGFuZGxlIGFkZHJlc3MgZnJvbSBNdWx0aWJvb3QyIGluZm9ybWF0aW9uLiAqLwor ICAgICAgICBjbXBsICAgICRNVUxUSUJPT1QyX1RBR19UWVBFX0VGSTY0X0lILE1CMl90YWdfdHlw ZSglcmN4KQorICAgICAgICBqbmUgICAgIDJmCisKKyAgICAgICAgbW92ICAgICBNQjJfZWZpNjRf aWgoJXJjeCksJXJkaQorICAgICAgICBqbXAgICAgIDNmCisKKzI6CisgICAgICAgIC8qIElzIGl0 IHRoZSBlbmQgb2YgTXVsdGlib290MiBpbmZvcm1hdGlvbj8gKi8KKyAgICAgICAgY21wbCAgICAk TVVMVElCT09UMl9UQUdfVFlQRV9FTkQsTUIyX3RhZ190eXBlKCVyY3gpCisgICAgICAgIGplICAg ICAgcnVuX2JzCisKKzM6CisgICAgICAgIC8qIEdvIHRvIG5leHQgTXVsdGlib290MiBpbmZvcm1h dGlvbiB0YWcuICovCisgICAgICAgIGFkZCAgICAgTUIyX3RhZ19zaXplKCVyY3gpLCVlY3gKKyAg ICAgICAgYWRkICAgICAkKE1VTFRJQk9PVDJfVEFHX0FMSUdOLTEpLCVyY3gKKyAgICAgICAgYW5k ICAgICAkfihNVUxUSUJPT1QyX1RBR19BTElHTi0xKSwlcmN4CisgICAgICAgIGptcCAgICAgMGIK KworcnVuX2JzOgorICAgICAgICBwdXNoICAgICVyYXgKKyAgICAgICAgcHVzaCAgICAlcmRpCisK KyAgICAgICAgLyoKKyAgICAgICAgICogSW5pdGlhbGl6ZSBCU1MgKG5vIG5hc3R5IHN1cnByaXNl cyEpLgorICAgICAgICAgKiBJdCBtdXN0IGJlIGRvbmUgZWFybGllciB0aGFuIGluIEJJT1MgY2Fz ZQorICAgICAgICAgKiBiZWNhdXNlIGVmaV9tdWx0aWJvb3QyKCkgdG91Y2hlcyBpdC4KKyAgICAg ICAgICovCisgICAgICAgIGxlYSAgICAgX19ic3Nfc3RhcnQoJXJpcCksJXJkaQorICAgICAgICBs ZWEgICAgIF9fYnNzX2VuZCglcmlwKSwlcmN4CisgICAgICAgIHN1YiAgICAgJXJkaSwlcmN4Cisg ICAgICAgIHNociAgICAgJDMsJXJjeAorICAgICAgICB4b3IgICAgICVlYXgsJWVheAorICAgICAg ICByZXAgICAgIHN0b3NxCisKKyAgICAgICAgcG9wICAgICAlcmRpCisKKyAgICAgICAgLyoKKyAg ICAgICAgICogSU46ICVyZGkgLSBFRkkgSW1hZ2VIYW5kbGUsICVyc2kgLSBFRkkgU3lzdGVtVGFi bGUuCisgICAgICAgICAqIE9VVDogJXJheCAtIEhpZ2hlc3QgYXZhaWxhYmxlIG1lbW9yeSBhZGRy ZXNzIGJlbG93IDEgTWlCLgorICAgICAgICAgKgorICAgICAgICAgKiBNVUxUSUJPT1QyX1RBR19U WVBFX0JBU0lDX01FTUlORk8gdGFnIGlzIG5vdCBwcm92aWRlZAorICAgICAgICAgKiBvbiBFRkkg cGxhdGZvcm1zLiBIZW5jZSwgaXQgY291bGQgbm90IGJlIHVzZWQgbGlrZQorICAgICAgICAgKiBv biBsZWdhY3kgQklPUyBwbGF0Zm9ybXMuCisgICAgICAgICAqLworICAgICAgICBjYWxsICAgIGVm aV9tdWx0aWJvb3QyCisKKyAgICAgICAgLyogQ29udmVydCBtZW1vcnkgYWRkcmVzcyB0byBieXRl cy8xNiBhbmQgc3RvcmUgaXQgaW4gc2FmZSBwbGFjZS4gKi8KKyAgICAgICAgc2hyICAgICAkNCwl cmF4CisgICAgICAgIG1vdiAgICAgJXJheCwlcmN4CisKKyAgICAgICAgcG9wICAgICAlcmF4CisK KyAgICAgICAgLyogSnVtcCB0byB0cmFtcG9saW5lX3NldHVwIGFmdGVyIHN3aXRjaGluZyBDUFUg dG8geDg2XzMyIG1vZGUuICovCisgICAgICAgIGxlYSAgICAgdHJhbXBvbGluZV9zZXR1cCglcmlw KSwlcmRpCisKK3g4Nl8zMl9zd2l0Y2g6CisgICAgICAgIGNsaQorCisgICAgICAgIC8qIEluaXRp YWxpc2UgR0RULiAqLworICAgICAgICBsZ2R0ICAgIGdkdF9ib290X2Rlc2NyKCVyaXApCisKKyAg ICAgICAgLyogUmVsb2FkIGNvZGUgc2VsZWN0b3IuICovCisgICAgICAgIGxqbXBsICAgKmNzMzJf c3dpdGNoX2FkZHIoJXJpcCkKKworICAgICAgICAuY29kZTMyCisKK2NzMzJfc3dpdGNoOgorICAg ICAgICAvKiBJbml0aWFsaXNlIGJhc2ljIGRhdGEgc2VnbWVudHMuICovCisgICAgICAgIG1vdiAg ICAgJEJPT1RfRFMsJWVkeAorICAgICAgICBtb3YgICAgICVlZHgsJWRzCisgICAgICAgIG1vdiAg ICAgJWVkeCwlZXMKKyAgICAgICAgbW92ICAgICAlZWR4LCVzcworICAgICAgICAvKiAlZXNwIGlz IGluaXRpYWxpc2VkIGxhdGVyLiAqLworCisgICAgICAgIC8qIExvYWQgbnVsbCBkZXNjcmlwdG9y IHRvIHVudXNlZCBzZWdtZW50IHJlZ2lzdGVycy4gKi8KKyAgICAgICAgeG9yICAgICAlZWR4LCVl ZHgKKyAgICAgICAgbW92ICAgICAlZWR4LCVmcworICAgICAgICBtb3YgICAgICVlZHgsJWdzCisK KyAgICAgICAgLyogRGlzYWJsZSBwYWdpbmcuICovCisgICAgICAgIG1vdiAgICAgJWNyMCwlZWR4 CisgICAgICAgIGFuZCAgICAgJCh+WDg2X0NSMF9QRyksJWVkeAorICAgICAgICBtb3YgICAgICVl ZHgsJWNyMAorCisgICAgICAgIC8qIEp1bXAgdG8gZWFybGllciBsb2FkZWQgYWRkcmVzcy4gKi8K KyAgICAgICAgam1wICAgICAqJWVkaQorCiBfX3N0YXJ0OgogICAgICAgICBjbGQKICAgICAgICAg Y2xpCkBAIC0xNTcsNyArMzAwLDcgQEAgX19zdGFydDoKIAogICAgICAgICAvKiBOb3QgYXZhaWxh YmxlPyBCREEgdmFsdWUgd2lsbCBiZSBmaW5lLiAqLwogICAgICAgICBjbW92bnogIE1CX21lbV9s b3dlciglZWJ4KSwlZWR4Ci0gICAgICAgIGptcCAgICAgdHJhbXBvbGluZV9zZXR1cAorICAgICAg ICBqbXAgICAgIHRyYW1wb2xpbmVfYmlvc19zZXR1cAogCiBtdWx0aWJvb3QyX3Byb3RvOgogICAg ICAgICAvKiBTa2lwIE11bHRpYm9vdDIgaW5mb3JtYXRpb24gZml4ZWQgcGFydC4gKi8KQEAgLTE3 MCwxMiArMzEzLDE5IEBAIG11bHRpYm9vdDJfcHJvdG86CiAgICAgICAgIGpuZSAgICAgMWYKIAog ICAgICAgICBtb3YgICAgIE1CMl9tZW1fbG93ZXIoJWVjeCksJWVkeAotICAgICAgICBqbXAgICAg IHRyYW1wb2xpbmVfc2V0dXAKKyAgICAgICAgam1wICAgICB0cmFtcG9saW5lX2Jpb3Nfc2V0dXAK IAogMToKKyAgICAgICAgLyogRUZJIG1vZGUgaXMgbm90IHN1cHBvcnRlZCB2aWEgbGVnYWN5IEJJ T1MgcGF0aC4gKi8KKyAgICAgICAgY21wbCAgICAkTVVMVElCT09UMl9UQUdfVFlQRV9FRkkzMixN QjJfdGFnX3R5cGUoJWVjeCkKKyAgICAgICAgamUgICAgICBtYjJfdG9vX29sZAorCisgICAgICAg IGNtcGwgICAgJE1VTFRJQk9PVDJfVEFHX1RZUEVfRUZJNjQsTUIyX3RhZ190eXBlKCVlY3gpCisg ICAgICAgIGplICAgICAgbWIyX3Rvb19vbGQKKwogICAgICAgICAvKiBJcyBpdCB0aGUgZW5kIG9m IE11bHRpYm9vdDIgaW5mb3JtYXRpb24/ICovCiAgICAgICAgIGNtcGwgICAgJE1VTFRJQk9PVDJf VEFHX1RZUEVfRU5ELE1CMl90YWdfdHlwZSglZWN4KQotICAgICAgICBqZSAgICAgIHRyYW1wb2xp bmVfc2V0dXAKKyAgICAgICAgamUgICAgICB0cmFtcG9saW5lX2Jpb3Nfc2V0dXAKIAogICAgICAg ICAvKiBHbyB0byBuZXh0IE11bHRpYm9vdDIgaW5mb3JtYXRpb24gdGFnLiAqLwogICAgICAgICBh ZGQgICAgIE1CMl90YWdfc2l6ZSglZWN4KSwlZWN4CkBAIC0xODMsNyArMzMzLDcgQEAgbXVsdGli b290Ml9wcm90bzoKICAgICAgICAgYW5kICAgICAkfihNVUxUSUJPT1QyX1RBR19BTElHTi0xKSwl ZWN4CiAgICAgICAgIGptcCAgICAgMGIKIAotdHJhbXBvbGluZV9zZXR1cDoKK3RyYW1wb2xpbmVf Ymlvc19zZXR1cDoKICAgICAgICAgLyogU2V0IHVwIHRyYW1wb2xpbmUgc2VnbWVudCA2NGsgYmVs b3cgRUJEQSAqLwogICAgICAgICBtb3Z6d2wgIDB4NDBlLCVlY3ggICAgICAgICAgLyogRUJEQSBz ZWdtZW50ICovCiAgICAgICAgIGNtcCAgICAgJDB4YTAwMCwlZWN4ICAgICAgICAvKiBzYW5pdHkg Y2hlY2sgKGhpZ2gpICovCkBAIC0xOTksMTIgKzM0OSwxMyBAQCB0cmFtcG9saW5lX3NldHVwOgog ICAgICAgICAgKiBtdWx0aWJvb3Qgc3RydWN0dXJlIChpZiBhdmFpbGFibGUpIGFuZCB1c2UgdGhl IHNtYWxsZXN0LgogICAgICAgICAgKi8KICAgICAgICAgY21wICAgICAkMHgxMDAsJWVkeCAgICAg ICAgIC8qIGlzIHRoZSBtdWx0aWJvb3QgdmFsdWUgdG9vIHNtYWxsPyAqLwotICAgICAgICBqYiAg ICAgIDJmICAgICAgICAgICAgICAgICAgLyogaWYgc28sIGRvIG5vdCB1c2UgaXQgKi8KKyAgICAg ICAgamIgICAgICB0cmFtcG9saW5lX3NldHVwICAgIC8qIGlmIHNvLCBkbyBub3QgdXNlIGl0ICov CiAgICAgICAgIHNobCAgICAgJDEwLTQsJWVkeAogICAgICAgICBjbXAgICAgICVlY3gsJWVkeCAg ICAgICAgICAgLyogY29tcGFyZSB3aXRoIEJEQSB2YWx1ZSAqLwogICAgICAgICBjbW92YiAgICVl ZHgsJWVjeCAgICAgICAgICAgLyogYW5kIHVzZSB0aGUgc21hbGxlciAqLwogCi0yOiAgICAgIC8q IFJlc2VydmUgNjRrYiBmb3IgdGhlIHRyYW1wb2xpbmUgKi8KK3RyYW1wb2xpbmVfc2V0dXA6Cisg ICAgICAgIC8qIFJlc2VydmUgNjRrYiBmb3IgdGhlIHRyYW1wb2xpbmUuICovCiAgICAgICAgIHN1 YiAgICAgJDB4MTAwMCwlZWN4CiAKICAgICAgICAgLyogRnJvbSBhcmNoL3g4Ni9zbXBib290LmM6 IHN0YXJ0X2VpcCBoYWQgYmV0dGVyIGJlIHBhZ2UtYWxpZ25lZCEgKi8KQEAgLTIyMSw2ICszNzIs MTMgQEAgdHJhbXBvbGluZV9zZXR1cDoKICAgICAgICAgYWRkICAgICAkMTIsJWVzcCAgICAgICAg ICAgIC8qIFJlbW92ZSByZWxvYygpIGFyZ3MgZnJvbSBzdGFjay4gKi8KICAgICAgICAgbW92ICAg ICAlZWF4LHN5bV9waHlzKG11bHRpYm9vdF9wdHIpCiAKKyAgICAgICAgLyoKKyAgICAgICAgICog RG8gbm90IHplcm8gQlNTIG9uIEVGSSBwbGF0Zm9ybSBoZXJlLgorICAgICAgICAgKiBJdCB3YXMg aW5pdGlhbGl6ZWQgZWFybGllci4KKyAgICAgICAgICovCisgICAgICAgIGNtcGIgICAgJDEsc3lt X3BoeXMoc2tpcF9yZWFsbW9kZSkKKyAgICAgICAgamUgICAgICAxZgorCiAgICAgICAgIC8qIElu aXRpYWxpemUgQlNTIChubyBuYXN0eSBzdXJwcmlzZXMhKS4gKi8KICAgICAgICAgbW92ICAgICAk c3ltX3BoeXMoX19ic3Nfc3RhcnQpLCVlZGkKICAgICAgICAgbW92ICAgICAkc3ltX3BoeXMoX19i c3NfZW5kKSwlZWN4CkBAIC0yMjksNiArMzg3LDcgQEAgdHJhbXBvbGluZV9zZXR1cDoKICAgICAg ICAgeG9yICAgICAlZWF4LCVlYXgKICAgICAgICAgcmVwICAgICBzdG9zbAogCisxOgogICAgICAg ICAvKiBJbnRlcnJvZ2F0ZSBDUFUgZXh0ZW5kZWQgZmVhdHVyZXMgdmlhIENQVUlELiAqLwogICAg ICAgICBtb3YgICAgICQweDgwMDAwMDAwLCVlYXgKICAgICAgICAgY3B1aWQKZGlmZiAtLWdpdCBh L3hlbi9hcmNoL3g4Ni9lZmkvZWZpLWJvb3QuaCBiL3hlbi9hcmNoL3g4Ni9lZmkvZWZpLWJvb3Qu aAppbmRleCA4NGFmZmZhLi5iMzExYjdjIDEwMDY0NAotLS0gYS94ZW4vYXJjaC94ODYvZWZpL2Vm aS1ib290LmgKKysrIGIveGVuL2FyY2gveDg2L2VmaS9lZmktYm9vdC5oCkBAIC0yMjgsNiArMjI4 LDkgQEAgc3RhdGljIHZvaWQgKl9faW5pdCBlZmlfYXJjaF9hbGxvY2F0ZV9tbWFwX2J1ZmZlcihV SU5UTiBtYXBfc2l6ZSkKIAogc3RhdGljIHZvaWQgX19pbml0IGVmaV9hcmNoX3ByZV9leGl0X2Jv b3Qodm9pZCkKIHsKKyAgICBpZiAoICFlZmlfZW5hYmxlZChFRklfTE9BREVSKSApCisgICAgICAg IHJldHVybjsKKwogICAgIGlmICggIXRyYW1wb2xpbmVfcGh5cyApCiAgICAgewogICAgICAgICBp ZiAoICFjZmcuYWRkciApCkBAIC02NjUsNiArNjY4LDQ2IEBAIHN0YXRpYyBib29sX3QgX19pbml0 IGVmaV9hcmNoX3VzZV9jb25maWdfZmlsZShFRklfU1lTVEVNX1RBQkxFICpTeXN0ZW1UYWJsZSkK IAogc3RhdGljIHZvaWQgZWZpX2FyY2hfZmx1c2hfZGNhY2hlX2FyZWEoY29uc3Qgdm9pZCAqdmFk ZHIsIFVJTlROIHNpemUpIHsgfQogCitwYWRkcl90IF9faW5pdCBlZmlfbXVsdGlib290MihFRklf SEFORExFIEltYWdlSGFuZGxlLCBFRklfU1lTVEVNX1RBQkxFICpTeXN0ZW1UYWJsZSkKK3sKKyAg ICBFRklfR1JBUEhJQ1NfT1VUUFVUX1BST1RPQ09MICpnb3A7CisgICAgVUlOVE4gY29scywgZ29w X21vZGUgPSB+MCwgcm93czsKKworICAgIHNldF9iaXQoRUZJX1BMQVRGT1JNLCAmZWZpLmZsYWdz KTsKKworICAgIGVmaV9pbml0KEltYWdlSGFuZGxlLCBTeXN0ZW1UYWJsZSk7CisKKyAgICBlZmlf Y29uc29sZV9zZXRfbW9kZSgpOworCisgICAgaWYgKCBTdGRPdXQtPlF1ZXJ5TW9kZShTdGRPdXQs IFN0ZE91dC0+TW9kZS0+TW9kZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICZjb2xzLCAm cm93cykgPT0gRUZJX1NVQ0NFU1MgKQorICAgICAgICBlZmlfYXJjaF9jb25zb2xlX2luaXQoY29s cywgcm93cyk7CisKKyAgICBnb3AgPSBlZmlfZ2V0X2dvcCgpOworCisgICAgaWYgKCBnb3AgKQor ICAgICAgICBnb3BfbW9kZSA9IGVmaV9maW5kX2dvcF9tb2RlKGdvcCwgMCwgMCwgMCk7CisKKyAg ICBlZmlfYXJjaF9lZGQoKTsKKworICAgIC8qCisgICAgICogZWZpX2FyY2hfY3B1KCkgaXMgbm90 IG5lZWRlZCBoZXJlLiBib290X2NwdV9kYXRhCisgICAgICogaXMgc2V0IGxhdGVyIGluIHhlbi9h cmNoL3g4Ni9ib290L2hlYWQuUy4KKyAgICAgKi8KKworICAgIGVmaV90YWJsZXMoKTsKKyAgICBz ZXR1cF9lZmlfcGNpKCk7CisgICAgZWZpX3ZhcmlhYmxlcygpOworCisgICAgaWYgKCBnb3AgKQor ICAgICAgICBlZmlfc2V0X2dvcF9tb2RlKGdvcCwgZ29wX21vZGUpOworCisgICAgZWZpX2V4aXRf Ym9vdChJbWFnZUhhbmRsZSwgU3lzdGVtVGFibGUpOworCisgICAgLyogUmV0dXJuIGhpZ2hlc3Qg YXZhaWxhYmxlIG1lbW9yeSBhZGRyZXNzIGJlbG93IDEgTWlCLiAqLworICAgIHJldHVybiBjZmcu YWRkcjsKK30KKwogLyoKICAqIExvY2FsIHZhcmlhYmxlczoKICAqIG1vZGU6IEMKZGlmZiAtLWdp dCBhL3hlbi9hcmNoL3g4Ni9lZmkvc3R1Yi5jIGIveGVuL2FyY2gveDg2L2VmaS9zdHViLmMKaW5k ZXggYzVhZTM2OS4uZDMwZmU4OSAxMDA2NDQKLS0tIGEveGVuL2FyY2gveDg2L2VmaS9zdHViLmMK KysrIGIveGVuL2FyY2gveDg2L2VmaS9zdHViLmMKQEAgLTEzLDYgKzEzLDExIEBAIHN0cnVjdCBl ZmkgX19yZWFkX21vc3RseSBlZmkgPSB7CiAJLnNtYmlvczMgPSBFRklfSU5WQUxJRF9UQUJMRV9B RERSCiB9OwogCit2b2lkIF9faW5pdCBlZmlfbXVsdGlib290Mih2b2lkKQoreworICAgIC8qIFRP RE86IEZhaWwgaWYgZW50ZXJlZCEgKi8KK30KKwogdm9pZCBfX2luaXQgZWZpX2luaXRfbWVtb3J5 KHZvaWQpIHsgfQogCiB2b2lkIGVmaV91cGRhdGVfbDRfcGd0YWJsZSh1bnNpZ25lZCBpbnQgbDRp ZHgsIGw0X3BnZW50cnlfdCBsNGUpIHsgfQpkaWZmIC0tZ2l0IGEveGVuL2FyY2gveDg2L3NldHVw LmMgYi94ZW4vYXJjaC94ODYvc2V0dXAuYwppbmRleCA0ZWI4NTcyLi4yMWJiZTZhIDEwMDY0NAot LS0gYS94ZW4vYXJjaC94ODYvc2V0dXAuYworKysgYi94ZW4vYXJjaC94ODYvc2V0dXAuYwpAQCAt NzE1LDcgKzcxNSw3IEBAIHZvaWQgX19pbml0IG5vcmV0dXJuIF9fc3RhcnRfeGVuKHVuc2lnbmVk IGxvbmcgbWJpX3ApCiAgICAgaWYgKCAhKG1iaS0+ZmxhZ3MgJiBNQklfTU9EVUxFUykgfHwgKG1i aS0+bW9kc19jb3VudCA9PSAwKSApCiAgICAgICAgIHBhbmljKCJkb20wIGtlcm5lbCBub3Qgc3Bl Y2lmaWVkLiBDaGVjayBib290bG9hZGVyIGNvbmZpZ3VyYXRpb24uIik7CiAKLSAgICBpZiAoIGVm aV9lbmFibGVkKEVGSV9QTEFURk9STSkgKQorICAgIGlmICggZWZpX2VuYWJsZWQoRUZJX0xPQURF UikgKQogICAgIHsKICAgICAgICAgc2V0X3BkeF9yYW5nZSh4ZW5fcGh5c19zdGFydCA+PiBQQUdF X1NISUZULAogICAgICAgICAgICAgICAgICAgICAgICh4ZW5fcGh5c19zdGFydCArIEJPT1RTVFJB UF9NQVBfQkFTRSkgPj4gUEFHRV9TSElGVCk7CkBAIC03MjgsNyArNzI4LDExIEBAIHZvaWQgX19p bml0IG5vcmV0dXJuIF9fc3RhcnRfeGVuKHVuc2lnbmVkIGxvbmcgbWJpX3ApCiAgICAgICAgIGwz X2Jvb3RtYXBbbDNfdGFibGVfb2Zmc2V0KEJPT1RTVFJBUF9NQVBfQkFTRSldID0KICAgICAgICAg ICAgIGwzZV9mcm9tX3BhZGRyKF9fcGEobDJfYm9vdG1hcCksIF9fUEFHRV9IWVBFUlZJU09SKTsK IAotICAgICAgICBtZW1tYXBfdHlwZSA9IGxvYWRlcjsKKyAgICAgICAgbWVtbWFwX3R5cGUgPSAi RUZJIjsKKyAgICB9CisgICAgZWxzZSBpZiAoIGVmaV9lbmFibGVkKEVGSV9QTEFURk9STSkgKQor ICAgIHsKKyAgICAgICAgbWVtbWFwX3R5cGUgPSAiRUZJIjsKICAgICB9CiAgICAgZWxzZSBpZiAo IGU4MjBfcmF3X25yICE9IDAgKQogICAgIHsKQEAgLTgyNiw3ICs4MzAsNyBAQCB2b2lkIF9faW5p dCBub3JldHVybiBfX3N0YXJ0X3hlbih1bnNpZ25lZCBsb25nIG1iaV9wKQogICAgICAqIHdlIGNh biByZWxvY2F0ZSB0aGUgZG9tMCBrZXJuZWwgYW5kIG90aGVyIG11bHRpYm9vdCBtb2R1bGVzLiBB bHNvLCBvbgogICAgICAqIHg4Ni82NCwgd2UgcmVsb2NhdGUgWGVuIHRvIGhpZ2hlciBtZW1vcnku CiAgICAgICovCi0gICAgZm9yICggaSA9IDA7ICFlZmlfZW5hYmxlZChFRklfUExBVEZPUk0pICYm IGkgPCBtYmktPm1vZHNfY291bnQ7IGkrKyApCisgICAgZm9yICggaSA9IDA7ICFlZmlfZW5hYmxl ZChFRklfTE9BREVSKSAmJiBpIDwgbWJpLT5tb2RzX2NvdW50OyBpKysgKQogICAgIHsKICAgICAg ICAgaWYgKCBtb2RbaV0ubW9kX3N0YXJ0ICYgKFBBR0VfU0laRSAtIDEpICkKICAgICAgICAgICAg IHBhbmljKCJCb290bG9hZGVyIGRpZG4ndCBob25vciBtb2R1bGUgYWxpZ25tZW50IHJlcXVlc3Qu Iik7CmRpZmYgLS1naXQgYS94ZW4vYXJjaC94ODYveDg2XzY0L2FzbS1vZmZzZXRzLmMgYi94ZW4v YXJjaC94ODYveDg2XzY0L2FzbS1vZmZzZXRzLmMKaW5kZXggYjkyNjA4Mi4uYjdhZWQ0OSAxMDA2 NDQKLS0tIGEveGVuL2FyY2gveDg2L3g4Nl82NC9hc20tb2Zmc2V0cy5jCisrKyBiL3hlbi9hcmNo L3g4Ni94ODZfNjQvYXNtLW9mZnNldHMuYwpAQCAtMTczLDQgKzE3Myw2IEBAIHZvaWQgX19kdW1t eV9fKHZvaWQpCiAgICAgT0ZGU0VUKE1CMl90YWdfdHlwZSwgbXVsdGlib290Ml90YWdfdCwgdHlw ZSk7CiAgICAgT0ZGU0VUKE1CMl90YWdfc2l6ZSwgbXVsdGlib290Ml90YWdfdCwgc2l6ZSk7CiAg ICAgT0ZGU0VUKE1CMl9tZW1fbG93ZXIsIG11bHRpYm9vdDJfdGFnX2Jhc2ljX21lbWluZm9fdCwg bWVtX2xvd2VyKTsKKyAgICBPRkZTRVQoTUIyX2VmaTY0X3N0LCBtdWx0aWJvb3QyX3RhZ19lZmk2 NF90LCBwb2ludGVyKTsKKyAgICBPRkZTRVQoTUIyX2VmaTY0X2loLCBtdWx0aWJvb3QyX3RhZ19l Zmk2NF9paF90LCBwb2ludGVyKTsKIH0KZGlmZiAtLWdpdCBhL3hlbi9hcmNoL3g4Ni94ZW4ubGRz LlMgYi94ZW4vYXJjaC94ODYveGVuLmxkcy5TCmluZGV4IDYzNzZiZmEuLmZhMWRhMzcgMTAwNjQ0 Ci0tLSBhL3hlbi9hcmNoL3g4Ni94ZW4ubGRzLlMKKysrIGIveGVuL2FyY2gveDg2L3hlbi5sZHMu UwpAQCAtMTkyLDcgKzE5Miw3IEBAIFNFQ1RJT05TCiAgIH0gOnRleHQKIAogICAvKiBBbGlnbiBC U1MgdG8gc3BlZWR1cCBpdHMgaW5pdGlhbGl6YXRpb24uICovCi0gIC4gPSBBTElHTig0KTsKKyAg LiA9IEFMSUdOKDgpOwogICAuYnNzIDogeyAgICAgICAgICAgICAgICAgICAgIC8qIEJTUyAqLwog ICAgICAgIC4gPSBBTElHTihTVEFDS19TSVpFKTsKICAgICAgICBfX2Jzc19zdGFydCA9IC47CkBA IC0yMDcsNyArMjA3LDcgQEAgU0VDVElPTlMKICAgICAgICAqKC5ic3MucGVyY3B1LnJlYWRfbW9z dGx5KQogICAgICAgIC4gPSBBTElHTihTTVBfQ0FDSEVfQllURVMpOwogICAgICAgIF9fcGVyX2Nw dV9kYXRhX2VuZCA9IC47Ci0gICAgICAgLiA9IEFMSUdOKDQpOworICAgICAgIC4gPSBBTElHTig4 KTsKICAgICAgICBfX2Jzc19lbmQgPSAuOwogICB9IDp0ZXh0CiAgIF9lbmQgPSAuIDsKZGlmZiAt LWdpdCBhL3hlbi9jb21tb24vZWZpL2Jvb3QuYyBiL3hlbi9jb21tb24vZWZpL2Jvb3QuYwppbmRl eCBkMTBjMGFiLi4xMjk1MTJmIDEwMDY0NAotLS0gYS94ZW4vY29tbW9uL2VmaS9ib290LmMKKysr IGIveGVuL2NvbW1vbi9lZmkvYm9vdC5jCkBAIC03OSw2ICs3OSwxNyBAQCBzdGF0aWMgc2l6ZV90 IHdzdHJsZW4oY29uc3QgQ0hBUjE2ICogcyk7CiBzdGF0aWMgaW50IHNldF9jb2xvcih1MzIgbWFz aywgaW50IGJwcCwgdTggKnBvcywgdTggKnN6KTsKIHN0YXRpYyBib29sX3QgbWF0Y2hfZ3VpZChj b25zdCBFRklfR1VJRCAqZ3VpZDEsIGNvbnN0IEVGSV9HVUlEICpndWlkMik7CiAKK3N0YXRpYyB2 b2lkIGVmaV9pbml0KEVGSV9IQU5ETEUgSW1hZ2VIYW5kbGUsIEVGSV9TWVNURU1fVEFCTEUgKlN5 c3RlbVRhYmxlKTsKK3N0YXRpYyB2b2lkIGVmaV9jb25zb2xlX3NldF9tb2RlKHZvaWQpOworc3Rh dGljIEVGSV9HUkFQSElDU19PVVRQVVRfUFJPVE9DT0wgKmVmaV9nZXRfZ29wKHZvaWQpOworc3Rh dGljIFVJTlROIGVmaV9maW5kX2dvcF9tb2RlKEVGSV9HUkFQSElDU19PVVRQVVRfUFJPVE9DT0wg KmdvcCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBVSU5UTiBjb2xzLCBVSU5UTiBy b3dzLCBVSU5UTiBkZXB0aCk7CitzdGF0aWMgdm9pZCBlZmlfdGFibGVzKHZvaWQpOworc3RhdGlj IHZvaWQgc2V0dXBfZWZpX3BjaSh2b2lkKTsKK3N0YXRpYyB2b2lkIGVmaV92YXJpYWJsZXModm9p ZCk7CitzdGF0aWMgdm9pZCBlZmlfc2V0X2dvcF9tb2RlKEVGSV9HUkFQSElDU19PVVRQVVRfUFJP VE9DT0wgKmdvcCwgVUlOVE4gZ29wX21vZGUpOworc3RhdGljIHZvaWQgZWZpX2V4aXRfYm9vdChF RklfSEFORExFIEltYWdlSGFuZGxlLCBFRklfU1lTVEVNX1RBQkxFICpTeXN0ZW1UYWJsZSk7CisK IHN0YXRpYyBjb25zdCBFRklfQk9PVF9TRVJWSUNFUyAqX19pbml0ZGF0YSBlZmlfYnM7CiBzdGF0 aWMgVUlOVDMyIF9faW5pdGRhdGEgZWZpX2JzX3JldmlzaW9uOwogc3RhdGljIEVGSV9IQU5ETEUg X19pbml0ZGF0YSBlZmlfaWg7CkBAIC05MzYsNiArOTQ3LDcgQEAgZWZpX3N0YXJ0KEVGSV9IQU5E TEUgSW1hZ2VIYW5kbGUsIEVGSV9TWVNURU1fVEFCTEUgKlN5c3RlbVRhYmxlKQogCiAjaWZuZGVm IENPTkZJR19BUk0gLyogRGlzYWJsZWQgdW50aWwgcnVudGltZSBzZXJ2aWNlcyBpbXBsZW1lbnRl ZC4gKi8KICAgICBzZXRfYml0KEVGSV9QTEFURk9STSwgJmVmaS5mbGFncyk7CisgICAgc2V0X2Jp dChFRklfTE9BREVSLCAmZWZpLmZsYWdzKTsKICNlbmRpZgogCiAgICAgZWZpX2luaXQoSW1hZ2VI YW5kbGUsIFN5c3RlbVRhYmxlKTsKZGlmZiAtLWdpdCBhL3hlbi9pbmNsdWRlL3hlbi9lZmkuaCBi L3hlbi9pbmNsdWRlL3hlbi9lZmkuaAppbmRleCA2NTljN2M0Li43YjBhN2NhIDEwMDY0NAotLS0g YS94ZW4vaW5jbHVkZS94ZW4vZWZpLmgKKysrIGIveGVuL2luY2x1ZGUveGVuL2VmaS5oCkBAIC05 LDYgKzksNyBAQAogI2RlZmluZSBFRklfSU5WQUxJRF9UQUJMRV9BRERSICh+MFVMKQogCiAjZGVm aW5lIEVGSV9QTEFURk9STQkwCisjZGVmaW5lIEVGSV9MT0FERVIJMQogCiAvKiBBZGQgZmllbGRz IGhlcmUgb25seSBpZiB0aGV5IG5lZWQgdG8gYmUgcmVmZXJlbmNlZCBmcm9tIG5vbi1FRkkgY29k ZS4gKi8KIHN0cnVjdCBlZmkgewotLSAKMS43LjEwLjQKCgpfX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZl bEBsaXN0cy54ZW4ub3JnCmh0dHA6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=