From mboxrd@z Thu Jan 1 00:00:00 1970 From: Juergen Gross Subject: [PATCH v2 3/5] doc: correct livepatch.markdown syntax Date: Mon, 7 May 2018 12:16:06 +0200 Message-ID: <20180507101608.797-4-jgross@suse.com> References: <20180507101608.797-1-jgross@suse.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 1fFdBr-0004Df-3t for xen-devel@lists.xenproject.org; Mon, 07 May 2018 10:16:19 +0000 In-Reply-To: <20180507101608.797-1-jgross@suse.com> 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 , sstabellini@kernel.org, wei.liu2@citrix.com, George.Dunlap@eu.citrix.com, andrew.cooper3@citrix.com, ian.jackson@eu.citrix.com, tim@xen.org, ross.lagerwall@citrix.com, jbeulich@suse.com List-Id: xen-devel@lists.xenproject.org Im1ha2UgLUMgZG9jcyBhbGwiIGZhaWxzIGR1ZSB0byBpbmNvcnJlY3QgbWFya2Rvd24gc3ludGF4 IGluCmxpdmVwYXRjaC5tYXJrZG93bi4gQ29ycmVjdCBpdC4KClNpZ25lZC1vZmYtYnk6IEp1ZXJn ZW4gR3Jvc3MgPGpncm9zc0BzdXNlLmNvbT4KUmV2aWV3ZWQtYnk6IEtvbnJhZCBSemVzenV0ZWsg V2lsayA8a29ucmFkLndpbGtAb3JhY2xlLmNvbT4KLS0tCiBkb2NzL21pc2MvbGl2ZXBhdGNoLm1h cmtkb3duIHwgNTkwICsrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K IDEgZmlsZSBjaGFuZ2VkLCAyNzMgaW5zZXJ0aW9ucygrKSwgMzE3IGRlbGV0aW9ucygtKQoKZGlm ZiAtLWdpdCBhL2RvY3MvbWlzYy9saXZlcGF0Y2gubWFya2Rvd24gYi9kb2NzL21pc2MvbGl2ZXBh dGNoLm1hcmtkb3duCmluZGV4IDU0YTZiODUwY2IuLmE0ZGU0NDQ3MmEgMTAwNjQ0Ci0tLSBhL2Rv Y3MvbWlzYy9saXZlcGF0Y2gubWFya2Rvd24KKysrIGIvZG9jcy9taXNjL2xpdmVwYXRjaC5tYXJr ZG93bgpAQCAtODksMzMgKzg5LDI3IEBAIEFzIGV4YW1wbGUgd2Ugd2lsbCBhc3N1bWUgdGhlIGh5 cGVydmlzb3IgZG9lcyBub3QgaGF2ZSBYU0EtMTMyIChzZWUKIDRmZjM0NDlmMGU5ZDE3NWNlYjk1 NTFkM2YyYWVjYjU5MjczZjYzOWQpIGFuZCB3ZSB3b3VsZCBsaWtlIHRvIGJpbmFyeSBwYXRjaAog dGhlIGh5cGVydmlzb3Igd2l0aCBpdC4gVGhlIG9yaWdpbmFsIGNvZGUgbG9va3MgYXMgc286CiAK LTxwcmU+Ci0gICA0OCA4OSBlMCAgICAgICAgICAgICAgICAgIG1vdiAgICAlcnNwLCVyYXggIAot ICAgNDggMjUgMDAgODAgZmYgZmYgICAgICAgICBhbmQgICAgJDB4ZmZmZmZmZmZmZmZmODAwMCwl cmF4ICAKLTwvcHJlPgorICAgICAgIDQ4IDg5IGUwICAgICAgICAgICAgICAgICAgbW92ICAgICVy c3AsJXJheAorICAgICAgIDQ4IDI1IDAwIDgwIGZmIGZmICAgICAgICAgYW5kICAgICQweGZmZmZm ZmZmZmZmZjgwMDAsJXJheAogCiB3aGlsZSB0aGUgbmV3IHBhdGNoZWQgaHlwZXJ2aXNvciB3b3Vs ZCBiZToKIAotPHByZT4KLSAgIDQ4IGM3IDQ1IGI4IDAwIDAwIDAwIDAwICAgbW92cSAgICQweDAs LTB4NDgoJXJicCkgIAotICAgNDggYzcgNDUgYzAgMDAgMDAgMDAgMDAgICBtb3ZxICAgJDB4MCwt MHg0MCglcmJwKSAgCi0gICA0OCBjNyA0NSBjOCAwMCAwMCAwMCAwMCAgIG1vdnEgICAkMHgwLC0w eDM4KCVyYnApICAKLSAgIDQ4IDg5IGUwICAgICAgICAgICAgICAgICAgbW92ICAgICVyc3AsJXJh eCAgCi0gICA0OCAyNSAwMCA4MCBmZiBmZiAgICAgICAgIGFuZCAgICAkMHhmZmZmZmZmZmZmZmY4 MDAwLCVyYXggIAotPC9wcmU+CisgICAgICAgNDggYzcgNDUgYjggMDAgMDAgMDAgMDAgICBtb3Zx ICAgJDB4MCwtMHg0OCglcmJwKQorICAgICAgIDQ4IGM3IDQ1IGMwIDAwIDAwIDAwIDAwICAgbW92 cSAgICQweDAsLTB4NDAoJXJicCkKKyAgICAgICA0OCBjNyA0NSBjOCAwMCAwMCAwMCAwMCAgIG1v dnEgICAkMHgwLC0weDM4KCVyYnApCisgICAgICAgNDggODkgZTAgICAgICAgICAgICAgICAgICBt b3YgICAgJXJzcCwlcmF4CisgICAgICAgNDggMjUgMDAgODAgZmYgZmYgICAgICAgICBhbmQgICAg JDB4ZmZmZmZmZmZmZmZmODAwMCwlcmF4CiAKLVRoaXMgaXMgaW5zaWRlIHRoZSBhcmNoX2RvX2Rv bWN0bC4gVGhpcyBuZXcgY2hhbmdlIGFkZHMgMjEgZXh0cmEKK1RoaXMgaXMgaW5zaWRlIHRoZSBh cmNoXF9kb1xfZG9tY3RsLiBUaGlzIG5ldyBjaGFuZ2UgYWRkcyAyMSBleHRyYQogYnl0ZXMgb2Yg Y29kZSB3aGljaCBhbHRlcnMgYWxsIHRoZSBvZmZzZXRzIGluc2lkZSB0aGUgZnVuY3Rpb24uIFRv IGFsdGVyCiB0aGVzZSBvZmZzZXRzIGFuZCBhZGQgdGhlIGV4dHJhIDIxIGJ5dGVzIG9mIGNvZGUg d2UgbWlnaHQgbm90IGhhdmUgZW5vdWdoCiBzcGFjZSBpbiAudGV4dCB0byBzcXVlZXplIHRoaXMg aW4uCiAKIEFzIHN1Y2ggd2UgY291bGQgc2ltcGxpZnkgdGhpcyBwcm9ibGVtIGJ5IG9ubHkgcGF0 Y2hpbmcgdGhlIHNpdGUKLXdoaWNoIGNhbGxzIGFyY2hfZG9fZG9tY3RsOgord2hpY2ggY2FsbHMg YXJjaFxfZG9cX2RvbWN0bDoKIAotPHByZT4KLWRvX2RvbWN0bDogIAotIGU4IDRiIGIxIDA1IDAw ICAgICAgICAgIGNhbGxxICBmZmZmODJkMDgwMTVmYmI5IDxhcmNoX2RvX2RvbWN0bD4gIAotPC9w cmU+CisgICAgZG9fZG9tY3RsOgorICAgICBlOCA0YiBiMSAwNSAwMCAgICAgICAgICBjYWxscSAg ZmZmZjgyZDA4MDE1ZmJiOSA8YXJjaF9kb19kb21jdGw+CiAKIHdpdGggYSBuZXcgYWRkcmVzcyBm b3Igd2hlcmUgdGhlIG5ldyBgYXJjaF9kb19kb21jdGxgIHdvdWxkIGJlICh0aGlzCiBhcmVhIHdv dWxkIGJlIGFsbG9jYXRlZCBkeW5hbWljYWxseSkuCkBAIC0xMjMsMTUgKzExNywxMyBAQCBhcmVh IHdvdWxkIGJlIGFsbG9jYXRlZCBkeW5hbWljYWxseSkuCiBBc3R1dGUgcmVhZGVycyB3aWxsIHdv bmRlciB3aGF0IHdlIG5lZWQgdG8gZG8gaWYgd2Ugd2VyZSB0byBwYXRjaCBgZG9fZG9tY3RsYAog LSB3aGljaCBpcyBub3QgY2FsbGVkIGRpcmVjdGx5IGJ5IGh5cGVydmlzb3IgYnV0IG9uIGJlaGFs ZiBvZiB0aGUgZ3Vlc3RzIHZpYQogdGhlIGBjb21wYXRfaHlwZXJjYWxsX3RhYmxlYCBhbmQgYGh5 cGVyY2FsbF90YWJsZWAuCi1QYXRjaGluZyB0aGUgb2Zmc2V0IGluIGBoeXBlcmNhbGxfdGFibGVg IGZvciBgZG9fZG9tY3RsOgotKGZmZmY4MmQwODAxMDMwNzkgPGRvX2RvbWN0bD46KQorUGF0Y2hp bmcgdGhlIG9mZnNldCBpbiBgaHlwZXJjYWxsX3RhYmxlYCBmb3IgYGRvX2RvbWN0bGA6CisoZmZm ZjgyZDA4MDEwMzA3OSAmbHQ7ZG9cX2RvbWN0bCZndDs6KQogCi08cHJlPgotCi0gZmZmZjgyZDA4 MDI0ZDQ5MDogICA3OSAzMCAgCi0gZmZmZjgyZDA4MDI0ZDQ5MjogICAxMCA4MCBkMCA4MiBmZiBm ZiAgIAotCi08L3ByZT4KKyAgICAKKyAgICAgZmZmZjgyZDA4MDI0ZDQ5MDogICA3OSAzMAorICAg ICBmZmZmODJkMDgwMjRkNDkyOiAgIDEwIDgwIGQwIDgyIGZmIGZmCisgICAgCiAKIHdpdGggdGhl IG5ldyBhZGRyZXNzIHdoZXJlIHRoZSBuZXcgYGRvX2RvbWN0bGAgaXMgcG9zc2libGUuIFRoZSBv dGhlcgogcGxhY2Ugd2hlcmUgaXQgaXMgdXNlZCBpcyBpbiBgaHZtX2h5cGVyY2FsbDY0X3RhYmxl YCB3aGljaCB3b3VsZCBuZWVkCkBAIC0xNjQsMTkgKzE1NiwxNyBAQCBDUFUgYnJhbmNoaW5nIGxv Z2ljIChJLWNhY2hlLCBidXQgaXQgaXMganVzdCBvbmUgdW5jb25kaXRpb25hbCBqdW1wKS4KIAog Rm9yIHRoaXMgZXhhbXBsZSB3ZSB3aWxsIGFzc3VtZSB0aGF0IHRoZSBoeXBlcnZpc29yIGhhcyBu b3QgYmVlbiBjb21waWxlZAogd2l0aCBmZTJlMDc5ZjY0MmVmZmIzZDI0YTZlMWE3MDk2ZWYyNmU2 OTFkOTNlIChYU0EtMTI1OiAqcHJlLWZpbGwgc3RydWN0dXJlcwotZm9yIGNlcnRhaW4gSFlQRVJW SVNPUl94ZW5fdmVyc2lvbiBzdWItb3BzKikgd2hpY2ggbWVtLXNldHMgYW4gc3RydWN0dXJlCitm b3IgY2VydGFpbiBIWVBFUlZJU09SXF94ZW5cX3ZlcnNpb24gc3ViLW9wcyopIHdoaWNoIG1lbS1z ZXRzIGFuIHN0cnVjdHVyZQogaW4gYHhlbl92ZXJzaW9uYCBoeXBlcmNhbGwuIFRoaXMgZnVuY3Rp b24gaXMgbm90IGNhbGxlZCAqKmFueXdoZXJlKiogaW4KIHRoZSBoeXBlcnZpc29yIChpdCBpcyBj YWxsZWQgYnkgdGhlIGd1ZXN0KSBidXQgcmVmZXJlbmNlZCBpbiB0aGUKIGBjb21wYXRfaHlwZXJj YWxsX3RhYmxlYCBhbmQgYGh5cGVyY2FsbF90YWJsZWAgKGFuZCBpbmRpcmVjdGx5IGNhbGxlZAog ZnJvbSB0aGF0KS4gUGF0Y2hpbmcgdGhlIG9mZnNldCBpbiBgaHlwZXJjYWxsX3RhYmxlYCBmb3Ig dGhlIG9sZAotYGRvX3hlbl92ZXJzaW9uYCAoZmZmZjgyZDA4MDExMmY5ZSA8ZG9feGVuX3ZlcnNp b24+KQotCi08L3ByZT4KLSBmZmZmODJkMDgwMjRiMjcwIDxoeXBlcmNhbGxfdGFibGU+OiAgIAot IC4uLiAgCi0gZmZmZjgyZDA4MDI0YjJmODogICA5ZSAyZiAxMSA4MCBkMCA4MiBmZiBmZiAgCitg ZG9feGVuX3ZlcnNpb25gIChmZmZmODJkMDgwMTEyZjllICZsdDtkb1xfeGVuXF92ZXJzaW9uJmd0 OykKIAotPC9wcmU+CisgICAgIGZmZmY4MmQwODAyNGIyNzAgPGh5cGVyY2FsbF90YWJsZT46Cisg ICAgIC4uLgorICAgICBmZmZmODJkMDgwMjRiMmY4OiAgIDllIDJmIDExIDgwIGQwIDgyIGZmIGZm CisgICAgCiAKIHdpdGggdGhlIG5ldyBhZGRyZXNzIHdoZXJlIHRoZSBuZXcgYGRvX3hlbl92ZXJz aW9uYCBpcyBwb3NzaWJsZS4gVGhlIG90aGVyCiBwbGFjZSB3aGVyZSBpdCBpcyB1c2VkIGlzIGlu IGBodm1faHlwZXJjYWxsNjRfdGFibGVgIHdoaWNoIHdvdWxkIG5lZWQKQEAgLTE4NCwyMSArMTc0 LDE3IEBAIHRvIGJlIHBhdGNoZWQgaW4gYSBzaW1pbGFyIHdheS4gVGhpcyB3b3VsZCByZXF1aXJl IGFuIGluLXBsYWNlIHNwbGljaW5nCiBvZiB0aGUgbmV3IHZpcnR1YWwgYWRkcmVzcyBvZiBgZG9f eGVuX3ZlcnNpb25gLgogCiBBbiBhbHRlcm5hdGl2ZSBzb2x1dGlvbiB3b3VsZCBiZSB0byBwYXRj aCBpbnNlcnQgYSB0cmFtcG9saW5lIGluIHRoZQotb2xkIGBkb194ZW5fdmVyc2lvbicgZnVuY3Rp b24gdG8gZGlyZWN0bHkganVtcCB0byB0aGUgbmV3IGBkb194ZW5fdmVyc2lvbmAuCitvbGQgYGRv X3hlbl92ZXJzaW9uYCBmdW5jdGlvbiB0byBkaXJlY3RseSBqdW1wIHRvIHRoZSBuZXcgYGRvX3hl bl92ZXJzaW9uYC4KIAotPHByZT4KLSBmZmZmODJkMDgwMTEyZjllIGRvX3hlbl92ZXJzaW9uOiAg Ci0gZmZmZjgyZDA4MDExMmY5ZTogICAgICAgNDggYzcgYzAgZGEgZmYgZmYgZmYgICAgbW92ICAg ICQweGZmZmZmZmZmZmZmZmZmZGEsJXJheCAgCi0gZmZmZjgyZDA4MDExMmZhNTogICAgICAgODMg ZmYgMDkgICAgICAgICAgICAgICAgY21wICAgICQweDksJWVkaSAgCi0gZmZmZjgyZDA4MDExMmZh ODogICAgICAgMGYgODcgMjQgMDUgMDAgMDAgICAgICAgamEgICAgIGZmZmY4MmQwODAxMTM0ZDIg OyBkb194ZW5fdmVyc2lvbisweDUzNCAgCi08L3ByZT4KKyAgICAgZmZmZjgyZDA4MDExMmY5ZSBk b194ZW5fdmVyc2lvbjoKKyAgICAgZmZmZjgyZDA4MDExMmY5ZTogICAgICAgNDggYzcgYzAgZGEg ZmYgZmYgZmYgICAgbW92ICAgICQweGZmZmZmZmZmZmZmZmZmZGEsJXJheAorICAgICBmZmZmODJk MDgwMTEyZmE1OiAgICAgICA4MyBmZiAwOSAgICAgICAgICAgICAgICBjbXAgICAgJDB4OSwlZWRp CisgICAgIGZmZmY4MmQwODAxMTJmYTg6ICAgICAgIDBmIDg3IDI0IDA1IDAwIDAwICAgICAgIGph ICAgICBmZmZmODJkMDgwMTEzNGQyIDsgZG9feGVuX3ZlcnNpb24rMHg1MzQKIAogd2l0aDoKIAot PHByZT4KLSBmZmZmODJkMDgwMTEyZjllIGRvX3hlbl92ZXJzaW9uOiAgCi0gZmZmZjgyZDA4MDEx MmY5ZTogICAgICAgZTkgWFggWVkgWlogUVEgICAgICAgICAgam1wcSAgIFtuZXcgZG9feGVuX3Zl cnNpb25dICAKLTwvcHJlPgorICAgICBmZmZmODJkMDgwMTEyZjllIGRvX3hlbl92ZXJzaW9uOgor ICAgICBmZmZmODJkMDgwMTEyZjllOiAgICAgICBlOSBYWCBZWSBaWiBRUSAgICAgICAgICBqbXBx ICAgW25ldyBkb194ZW5fdmVyc2lvbl0KIAogd2hpY2ggd291bGQgbGVzc2VuIHRoZSBhbW91bnQg b2YgcGF0Y2hpbmcgdG8ganVzdCBvbmUgbG9jYXRpb24uCiAKQEAgLTIwOCw3ICsxOTQsNyBAQCBu ZXcgcmVwbGFjZW1lbnQgZnVuY3Rpb24gd2hpY2ggcmVxdWlyZWQ6CiAgKiBpbnNlcnRpbmcgdHJh bXBvbGluZSB3aXRoIG5ldyBvZmZzZXQgaW4gdGhlIG9sZCBmdW5jdGlvbiB0byBwb2ludCB0byB0 aGUKICAgIG5ldyBmdW5jdGlvbi4KICAqIE9wdGlvbmFsbHkgd2UgY2FuIGluc2VydCBpbiB0aGUg b2xkIGZ1bmN0aW9uIGEgdHJhbXBvbGluZSBqdW1wIHRvIGFuIGZ1bmN0aW9uCi0gICBwcm92aWRp bmcgYW4gQlVHX09OIHRvIGNhdGNoIGVycmFudCBjb2RlLgorICAgcHJvdmlkaW5nIGFuIEJVR1xf T04gdG8gY2F0Y2ggZXJyYW50IGNvZGUuCiAKIFRoZSBkaXNhZHZhbnRhZ2Ugb2YgdGhpcyBhcmUg dGhhdCB0aGUgdW5jb25kaXRpb25hbCBqdW1wIHdpbGwgY29uc3VtZSBhIHNtYWxsCiBJLWNhY2hl IHBlbmFsdHkuIEhvd2V2ZXIgdGhlIHNpbXBsaWNpdHkgb2YgdGhlIHBhdGNoaW5nIGFuZCBoaWdo ZXIgY2hhbmNlCkBAIC0yNjAsNyArMjQ2LDcgQEAgTm90ZSB0aGF0IGV2ZXJ5IHN0cnVjdHVyZSBo YXMgcGFkZGluZy4gVGhpcyBpcyBhZGRlZCBzbyB0aGF0IHRoZSBoeXBlcnZpc29yCiBjYW4gcmUt dXNlIHRob3NlIGZpZWxkcyBhcyBpdCBzZWVzIGZpdC4KIAogRWFybGllciBkZXNpZ24gYXR0ZW1w dGVkIHRvIGluZXB0bHkgZXhwbGFpbiB0aGUgcmVsYXRpb25zIG9mIHRoZSBFTEYgc2VjdGlvbnMK LXRvIGVhY2ggb3RoZXIgd2l0aG91dCB1c2luZyBwcm9wZXIgRUxGIG1lY2hhbmlzbSAoc2hfaW5m bywgc2hfbGluaywgZGF0YQordG8gZWFjaCBvdGhlciB3aXRob3V0IHVzaW5nIHByb3BlciBFTEYg bWVjaGFuaXNtIChzaFxfaW5mbywgc2hcX2xpbmssIGRhdGEKIHN0cnVjdHVyZXMgdXNpbmcgRWxm IHR5cGVzLCBldGMpLiBUaGlzIGRlc2lnbiB3aWxsIGV4cGxhaW4gdGhlIHN0cnVjdHVyZXMKIGFu ZCBob3cgdGhleSBhcmUgdXNlZCB0b2dldGhlciBhbmQgbm90IGRpZyBpbiB0aGUgRUxGIGZvcm1h dCAtIGV4Y2VwdCBtZW50aW9uCiB0aGF0IHRoZSBzZWN0aW9uIG5hbWVzIHNob3VsZCBtYXRjaCB0 aGUgc3RydWN0dXJlIG5hbWVzLgpAQCAtMjg1LDI3ICsyNzEsMjUgQEAgbGlrZSB3aGF0IHRoZSBM aW51eCBrZXJuZWwgbW9kdWxlIGxvYWRlciBkb2VzLgogCiBUaGUgcGF5bG9hZCBjb250YWlucyBh dCBsZWFzdCB0aHJlZSBzZWN0aW9uczoKIAotICogYC5saXZlcGF0Y2guZnVuY3NgIC0gd2hpY2gg aXMgYW4gYXJyYXkgb2YgbGl2ZXBhdGNoX2Z1bmMgc3RydWN0dXJlcy4KKyAqIGAubGl2ZXBhdGNo LmZ1bmNzYCAtIHdoaWNoIGlzIGFuIGFycmF5IG9mIGxpdmVwYXRjaFxfZnVuYyBzdHJ1Y3R1cmVz LgogICogYC5saXZlcGF0Y2guZGVwZW5kc2AgLSB3aGljaCBpcyBhbiBFTEYgTm90ZSB0aGF0IGRl c2NyaWJlcyB3aGF0IHRoZSBwYXlsb2FkCiAgICAgZGVwZW5kcyBvbi4gKipNVVNUKiogaGF2ZSBv bmUuCiAgKiAgYC5ub3RlLmdudS5idWlsZC1pZGAgLSB0aGUgYnVpbGQtaWQgb2YgdGhpcyBwYXls b2FkLiAqKk1VU1QqKiBoYXZlIG9uZS4KIAogIyMjIC5saXZlcGF0Y2guZnVuY3MKIAotVGhlIGAu bGl2ZXBhdGNoLmZ1bmNzYCBjb250YWlucyBhbiBhcnJheSBvZiBsaXZlcGF0Y2hfZnVuYyBzdHJ1 Y3R1cmVzCitUaGUgYC5saXZlcGF0Y2guZnVuY3NgIGNvbnRhaW5zIGFuIGFycmF5IG9mIGxpdmVw YXRjaFxfZnVuYyBzdHJ1Y3R1cmVzCiB3aGljaCBkZXNjcmliZSB0aGUgZnVuY3Rpb25zIHRvIGJl IHBhdGNoZWQ6CiAKLTxwcmU+Ci1zdHJ1Y3QgbGl2ZXBhdGNoX2Z1bmMgeyAgCi0gICAgY29uc3Qg Y2hhciAqbmFtZTsgIAotICAgIHZvaWQgKm5ld19hZGRyOyAgCi0gICAgdm9pZCAqb2xkX2FkZHI7 ICAKLSAgICB1aW50MzJfdCBuZXdfc2l6ZTsgIAotICAgIHVpbnQzMl90IG9sZF9zaXplOyAgCi0g ICAgdWludDhfdCB2ZXJzaW9uOyAgCi0gICAgdWludDhfdCBvcGFxdWVbMzFdOyAgCi19OyAgCi08 L3ByZT4KKyAgICBzdHJ1Y3QgbGl2ZXBhdGNoX2Z1bmMgeworICAgICAgICBjb25zdCBjaGFyICpu YW1lOworICAgICAgICB2b2lkICpuZXdfYWRkcjsKKyAgICAgICAgdm9pZCAqb2xkX2FkZHI7Cisg ICAgICAgIHVpbnQzMl90IG5ld19zaXplOworICAgICAgICB1aW50MzJfdCBvbGRfc2l6ZTsKKyAg ICAgICAgdWludDhfdCB2ZXJzaW9uOworICAgICAgICB1aW50OF90IG9wYXF1ZVszMV07CisgICAg fTsKIAogVGhlIHNpemUgb2YgdGhlIHN0cnVjdHVyZSBpcyA2NCBieXRlcyBvbiA2NC1iaXQgaHlw ZXJ2aXNvcnMuIEl0IHdpbGwgYmUKIDUyIG9uIDMyLWJpdCBoeXBlcnZpc29ycy4KQEAgLTM2Miwz NiArMzQ2LDM0IEBAIGJlaW5nIGFwcGxpZWQgYW5kIGFmdGVyIGJlaW5nIHJldmVydGVkOgogCiBB IHNpbXBsZSBleGFtcGxlIG9mIHdoYXQgYSBwYXlsb2FkIGZpbGUgY2FuIGJlOgogCi08cHJlPgot LyogTVVTVCBiZSBpbiBzeW5jIHdpdGggaHlwZXJ2aXNvci4gKi8gIAotc3RydWN0IGxpdmVwYXRj aF9mdW5jIHsgIAotICAgIGNvbnN0IGNoYXIgKm5hbWU7ICAKLSAgICB2b2lkICpuZXdfYWRkcjsg IAotICAgIHZvaWQgKm9sZF9hZGRyOyAgCi0gICAgdWludDMyX3QgbmV3X3NpemU7ICAKLSAgICB1 aW50MzJfdCBvbGRfc2l6ZTsgIAotICAgIHVpbnQ4X3QgdmVyc2lvbjsKLSAgICB1aW50OF90IHBh ZFszMV07ICAKLX07ICAKLQotLyogT3VyIHJlcGxhY2VtZW50IGZ1bmN0aW9uIGZvciB4ZW5fZXh0 cmFfdmVyc2lvbi4gKi8gIAotY29uc3QgY2hhciAqeGVuX2hlbGxvX3dvcmxkKHZvaWQpICAKLXsg IAotICAgIHJldHVybiAiSGVsbG8gV29ybGQiOyAgCi19ICAKLQotc3RhdGljIHVuc2lnbmVkIGNo YXIgcGF0Y2hfdGhpc19mbmNbXSA9ICJ4ZW5fZXh0cmFfdmVyc2lvbiI7ICAKLQotc3RydWN0IGxp dmVwYXRjaF9mdW5jIGxpdmVwYXRjaF9oZWxsb193b3JsZCA9IHsgIAotICAgIC52ZXJzaW9uID0g TElWRVBBVENIX1BBWUxPQURfVkVSU0lPTiwKLSAgICAubmFtZSA9IHBhdGNoX3RoaXNfZm5jLCAg Ci0gICAgLm5ld19hZGRyID0geGVuX2hlbGxvX3dvcmxkLCAgCi0gICAgLm9sZF9hZGRyID0gKHZv aWQgKikweGZmZmY4MmQwODAxMzk2M2MsIC8qIEV4dHJhY3RlZCBmcm9tIHhlbi1zeW1zLiAqLyAg Ci0gICAgLm5ld19zaXplID0gMTMsIC8qIFRvIGJlIGJlIGNvbXB1dGVkIGJ5IHNjcmlwdHMuICov ICAKLSAgICAub2xkX3NpemUgPSAxMywgLyogLS0tLS0tLS0tLS0iIi0tLS0tLS0tLS0tLS0tLSAg Ki8gIAotfSBfX2F0dHJpYnV0ZV9fKChfX3NlY3Rpb25fXygiLmxpdmVwYXRjaC5mdW5jcyIpKSk7 ICAKLQotPC9wcmU+CisgICAgLyogTVVTVCBiZSBpbiBzeW5jIHdpdGggaHlwZXJ2aXNvci4gKi8K KyAgICBzdHJ1Y3QgbGl2ZXBhdGNoX2Z1bmMgeworICAgICAgICBjb25zdCBjaGFyICpuYW1lOwor ICAgICAgICB2b2lkICpuZXdfYWRkcjsKKyAgICAgICAgdm9pZCAqb2xkX2FkZHI7CisgICAgICAg IHVpbnQzMl90IG5ld19zaXplOworICAgICAgICB1aW50MzJfdCBvbGRfc2l6ZTsKKyAgICAgICAg dWludDhfdCB2ZXJzaW9uOworICAgICAgICB1aW50OF90IHBhZFszMV07CisgICAgfTsKKyAgICAK KyAgICAvKiBPdXIgcmVwbGFjZW1lbnQgZnVuY3Rpb24gZm9yIHhlbl9leHRyYV92ZXJzaW9uLiAq LworICAgIGNvbnN0IGNoYXIgKnhlbl9oZWxsb193b3JsZCh2b2lkKQorICAgIHsKKyAgICAgICAg cmV0dXJuICJIZWxsbyBXb3JsZCI7CisgICAgfQorICAgIAorICAgIHN0YXRpYyB1bnNpZ25lZCBj aGFyIHBhdGNoX3RoaXNfZm5jW10gPSAieGVuX2V4dHJhX3ZlcnNpb24iOworICAgIAorICAgIHN0 cnVjdCBsaXZlcGF0Y2hfZnVuYyBsaXZlcGF0Y2hfaGVsbG9fd29ybGQgPSB7CisgICAgICAgIC52 ZXJzaW9uID0gTElWRVBBVENIX1BBWUxPQURfVkVSU0lPTiwKKyAgICAgICAgLm5hbWUgPSBwYXRj aF90aGlzX2ZuYywKKyAgICAgICAgLm5ld19hZGRyID0geGVuX2hlbGxvX3dvcmxkLAorICAgICAg ICAub2xkX2FkZHIgPSAodm9pZCAqKTB4ZmZmZjgyZDA4MDEzOTYzYywgLyogRXh0cmFjdGVkIGZy b20geGVuLXN5bXMuICovCisgICAgICAgIC5uZXdfc2l6ZSA9IDEzLCAvKiBUbyBiZSBiZSBjb21w dXRlZCBieSBzY3JpcHRzLiAqLworICAgICAgICAub2xkX3NpemUgPSAxMywgLyogLS0tLS0tLS0t LS0iIi0tLS0tLS0tLS0tLS0tLSAgKi8KKyAgICB9IF9fYXR0cmlidXRlX18oKF9fc2VjdGlvbl9f KCIubGl2ZXBhdGNoLmZ1bmNzIikpKTsKKyAgICAKIAogQ29kZSBtdXN0IGJlIGNvbXBpbGVkIHdp dGggLWZQSUMuCiAKQEAgLTQwNiwxMCArMzg4LDggQEAgRWFjaCBlbnRyeSBpbiB0aGlzIGFycmF5 IGlzIGVpZ2h0IGJ5dGVzLgogCiBUaGUgdHlwZSBkZWZpbml0aW9uIG9mIHRoZSBmdW5jdGlvbiBh cmUgYXMgZm9sbG93OgogCi08cHJlPgotdHlwZWRlZiB2b2lkICgqbGl2ZXBhdGNoX2xvYWRjYWxs X3QpKHZvaWQpOyAgCi10eXBlZGVmIHZvaWQgKCpsaXZlcGF0Y2hfdW5sb2FkY2FsbF90KSh2b2lk KTsgICAKLTwvcHJlPgorICAgIHR5cGVkZWYgdm9pZCAoKmxpdmVwYXRjaF9sb2FkY2FsbF90KSh2 b2lkKTsKKyAgICB0eXBlZGVmIHZvaWQgKCpsaXZlcGF0Y2hfdW5sb2FkY2FsbF90KSh2b2lkKTsK IAogIyMjIC5saXZlcGF0Y2guZGVwZW5kcyBhbmQgLm5vdGUuZ251LmJ1aWxkLWlkCiAKQEAgLTQy Myw3ICs0MDMsNyBAQCB3aGljaCBmb2xsb3dzIHRoZSBmb3JtYXQgb2YgYW4gRUxGIE5vdGUuIFRo ZSBjb250ZW50cyBvZiB0aGlzCiBidWlsZCB0aGUgaHlwZXZpc29yIGFuZCBwYXlsb2FkLgogCiBJ ZiBHTlUgbGlua2VyIGlzIHVzZWQgdGhlbiB0aGUgbmFtZSBpcyBgR05VYCBhbmQgdGhlIGRlc2Ny aXB0aW9uCi1pcyBhIE5UX0dOVV9CVUlMRF9JRCB0eXBlIElELiBUaGUgZGVzY3JpcHRpb24gY2Fu IGJlIGFuIFNIQTEKK2lzIGEgTlRcX0dOVVxfQlVJTERcX0lEIHR5cGUgSUQuIFRoZSBkZXNjcmlw dGlvbiBjYW4gYmUgYW4gU0hBMQogY2hlY2tzdW0sIE1ENSBjaGVja3N1bSBvciBhbnkgdW5pcXVl IHZhbHVlLgogCiBUaGUgc2l6ZSBvZiB0aGVzZSBzdHJ1Y3R1cmVzIHZhcmllcyB3aXRoIHRoZSAt LWJ1aWxkLWlkIGxpbmtlciBvcHRpb24uCkBAIC00NTQsMjIgKzQzNCwyMCBAQCBGdXJ0aGVybW9y ZSBpdCBpcyBwb3NzaWJsZSB0byBoYXZlIG11bHRpcGxlIGRpZmZlcmVudCBwYXlsb2FkcyBmb3Ig dGhlIHNhbWUKIGZ1bmN0aW9uLiBBcyBzdWNoIGFuIHVuaXF1ZSBuYW1lIHBlciBwYXlsb2FkIGhh cyB0byBiZSB2aXNpYmxlIHRvIGFsbG93IHByb3BlciBtYW5pcHVsYXRpb24uCiAKIFRoZSBoeXBl cmNhbGwgaXMgcGFydCBvZiB0aGUgYHhlbl9zeXNjdGxgLiBUaGUgdG9wIGxldmVsIHN0cnVjdHVy ZSBjb250YWlucwotb25lIHVpbnQzMl90IHRvIGRldGVybWluZSB0aGUgc3ViLW9wZXJhdGlvbnMg YW5kIG9uZSBwYWRkaW5nIGZpZWxkIHdoaWNoCitvbmUgdWludDMyXF90IHRvIGRldGVybWluZSB0 aGUgc3ViLW9wZXJhdGlvbnMgYW5kIG9uZSBwYWRkaW5nIGZpZWxkIHdoaWNoCiAqTVVTVCogYWx3 YXlzIGJlIHplcm8uCiAKLTxwcmU+Ci1zdHJ1Y3QgeGVuX3N5c2N0bF9saXZlcGF0Y2hfb3AgeyAg Ci0gICAgdWludDMyX3QgY21kOyAgICAgICAgICAgICAgICAgICAvKiBJTjogWEVOX1NZU0NUTF9M SVZFUEFUQ0hfKi4gKi8gIAotICAgIHVpbnQzMl90IHBhZDsgICAgICAgICAgICAgICAgICAgLyog SU46IEFsd2F5cyB6ZXJvLiAqLyAgCi0JdW5pb24geyAgCi0gICAgICAgICAgLi4uIHNlZSBiZWxv dyAuLi4gIAotICAgICAgICB9IHU7ICAKLX07ICAKLQotPC9wcmU+CisgICAgc3RydWN0IHhlbl9z eXNjdGxfbGl2ZXBhdGNoX29wIHsKKyAgICAgICAgdWludDMyX3QgY21kOyAgICAgICAgICAgICAg ICAgICAvKiBJTjogWEVOX1NZU0NUTF9MSVZFUEFUQ0hfKi4gKi8KKyAgICAgICAgdWludDMyX3Qg cGFkOyAgICAgICAgICAgICAgICAgICAvKiBJTjogQWx3YXlzIHplcm8uICovCisJICAgIHVuaW9u IHsKKyAgICAgICAgICAgICAgLi4uIHNlZSBiZWxvdyAuLi4KKyAgICAgICAgICAgIH0gdTsKKyAg ICB9OworICAgIAogd2hpbGUgdGhlIHJlc3Qgb2YgaHlwZXJjYWxsIHNwZWNpZmljIHN0cnVjdHVy ZXMgYXJlIHBhcnQgb2YgdGhlIHRoaXMgc3RydWN0dXJlLgogCi0jIyMgQmFzaWMgdHlwZTogc3Ry dWN0IHhlbl9saXZlcGF0Y2hfbmFtZQorIyMjIEJhc2ljIHR5cGU6IHN0cnVjdCB4ZW5cX2xpdmVw YXRjaFxfbmFtZQogCiBNb3N0IG9mIHRoZSBoeXBlcmNhbGxzIGVtcGxveSBhbiBzaGFyZWQgc3Ry dWN0dXJlIGNhbGxlZCBgc3RydWN0IHhlbl9saXZlcGF0Y2hfbmFtZWAKIHdoaWNoIGNvbnRhaW5z OgpAQCAtNDgwLDI2ICs0NTgsMjQgQEAgd2hpY2ggY29udGFpbnM6CiAKIFRoZSBzdHJ1Y3R1cmUg aXMgYXMgZm9sbG93OgogCi08cHJlPgotLyogIAotICogIFVuaXF1ZWx5IGlkZW50aWZpZXMgdGhl IHBheWxvYWQuICBTaG91bGQgYmUgaHVtYW4gcmVhZGFibGUuICAKLSAqIEluY2x1ZGVzIHRoZSBO VUwgdGVybWluYXRvciAgCi0gKi8gIAotI2RlZmluZSBYRU5fTElWRVBBVENIX05BTUVfU0laRSAx MjggIAotc3RydWN0IHhlbl9saXZlcGF0Y2hfbmFtZSB7ICAKLSAgICBYRU5fR1VFU1RfSEFORExF XzY0KGNoYXIpIG5hbWU7ICAgICAgICAgLyogSU4sIHBvaW50ZXIgdG8gbmFtZS4gKi8gIAotICAg IHVpbnQxNl90IHNpemU7ICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBJTiwgc2l6ZSBvZiBu YW1lLiBNYXkgYmUgdXB0byAgIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBYRU5fTElWRVBBVENIX05BTUVfU0laRS4gKi8gIAotICAgIHVpbnQxNl90IHBh ZFszXTsgICAgICAgICAgICAgICAgICAgICAgICAvKiBJTjogTVVTVCBiZSB6ZXJvLiAqLyAKLX07 ICAKLTwvcHJlPgotCi0jIyMgWEVOX1NZU0NUTF9MSVZFUEFUQ0hfVVBMT0FEICgwKQorICAgIC8q CisgICAgICogIFVuaXF1ZWx5IGlkZW50aWZpZXMgdGhlIHBheWxvYWQuICBTaG91bGQgYmUgaHVt YW4gcmVhZGFibGUuCisgICAgICogSW5jbHVkZXMgdGhlIE5VTCB0ZXJtaW5hdG9yCisgICAgICov CisgICAgI2RlZmluZSBYRU5fTElWRVBBVENIX05BTUVfU0laRSAxMjgKKyAgICBzdHJ1Y3QgeGVu X2xpdmVwYXRjaF9uYW1lIHsKKyAgICAgICAgWEVOX0dVRVNUX0hBTkRMRV82NChjaGFyKSBuYW1l OyAgICAgICAgIC8qIElOLCBwb2ludGVyIHRvIG5hbWUuICovCisgICAgICAgIHVpbnQxNl90IHNp emU7ICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBJTiwgc2l6ZSBvZiBuYW1lLiBNYXkgYmUg dXB0bworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg WEVOX0xJVkVQQVRDSF9OQU1FX1NJWkUuICovCisgICAgICAgIHVpbnQxNl90IHBhZFszXTsgICAg ICAgICAgICAgICAgICAgICAgICAvKiBJTjogTVVTVCBiZSB6ZXJvLiAqLworICAgIH07CisKKyMj IyBYRU5cX1NZU0NUTFxfTElWRVBBVENIXF9VUExPQUQgKDApCiAKIFVwbG9hZCBhIHBheWxvYWQg dG8gdGhlIGh5cGVydmlzb3IuIFRoZSBwYXlsb2FkIGlzIHZlcmlmaWVkCiBhZ2FpbnN0IGJhc2lj IGNoZWNrcyBhbmQgaWYgdGhlcmUgYXJlIGFueSBpc3N1ZXMgdGhlIHByb3BlciByZXR1cm4gY29k ZQogd2lsbCBiZSByZXR1cm5lZC4gVGhlIHBheWxvYWQgaXMgbm90IGFwcGxpZWQgYXQgdGhpcyB0 aW1lIC0gdGhhdCBpcwotY29udHJvbGxlZCBieSAqWEVOX1NZU0NUTF9MSVZFUEFUQ0hfQUNUSU9O Ki4KK2NvbnRyb2xsZWQgYnkgKlhFTlxfU1lTQ1RMXF9MSVZFUEFUQ0hcX0FDVElPTiouCiAKIFRo ZSBjYWxsZXIgcHJvdmlkZXM6CiAKQEAgLTUxMiwyMSArNDg4LDE5IEBAIHBheWxvYWQuIEl0IGNh biBiZSBlbWJlZGRlZCBpbnRvIHRoZSBFTEYgcGF5bG9hZCBhdCBjcmVhdGlvbiB0aW1lCiBhbmQg ZXh0cmFjdGVkIGJ5IHRvb2xzLgogCiBUaGUgcmV0dXJuIHZhbHVlIGlzIHplcm8gaWYgdGhlIHBh eWxvYWQgd2FzIHN1Y2Nlc2Z1bGx5IHVwbG9hZGVkLgotT3RoZXJ3aXNlIGFuIC1YRU5fRVhYIHJl dHVybiB2YWx1ZSBpcyBwcm92aWRlZC4gRHVwbGljYXRlIGBuYW1lYCBhcmUgbm90IHN1cHBvcnRl ZC4KK090aGVyd2lzZSBhbiAtWEVOXF9FWFggcmV0dXJuIHZhbHVlIGlzIHByb3ZpZGVkLiBEdXBs aWNhdGUgYG5hbWVgIGFyZSBub3Qgc3VwcG9ydGVkLgogCiBUaGUgYHBheWxvYWRgIGlzIHRoZSBF TEYgcGF5bG9hZCBhcyBtZW50aW9uZWQgaW4gdGhlIGBQYXlsb2FkIGZvcm1hdGAgc2VjdGlvbi4K IAogVGhlIHN0cnVjdHVyZSBpcyBhcyBmb2xsb3c6CiAKLTxwcmU+Ci1zdHJ1Y3QgeGVuX3N5c2N0 bF9saXZlcGF0Y2hfdXBsb2FkIHsgIAotICAgIHhlbl9saXZlcGF0Y2hfbmFtZV90IG5hbWU7ICAg ICAgICAgIC8qIElOLCBuYW1lIG9mIHRoZSBwYXRjaC4gKi8gIAotICAgIHVpbnQ2NF90IHNpemU7 ICAgICAgICAgICAgICAgICAgICAgIC8qIElOLCBzaXplIG9mIHRoZSBFTEYgZmlsZS4gKi8gIAot ICAgIFhFTl9HVUVTVF9IQU5ETEVfNjQodWludDgpIHBheWxvYWQ7IC8qIElOOiBFTEYgZmlsZS4g Ki8gIAotfTsgIAotPC9wcmU+CisgICAgc3RydWN0IHhlbl9zeXNjdGxfbGl2ZXBhdGNoX3VwbG9h ZCB7CisgICAgICAgIHhlbl9saXZlcGF0Y2hfbmFtZV90IG5hbWU7ICAgICAgICAgIC8qIElOLCBu YW1lIG9mIHRoZSBwYXRjaC4gKi8KKyAgICAgICAgdWludDY0X3Qgc2l6ZTsgICAgICAgICAgICAg ICAgICAgICAgLyogSU4sIHNpemUgb2YgdGhlIEVMRiBmaWxlLiAqLworICAgICAgICBYRU5fR1VF U1RfSEFORExFXzY0KHVpbnQ4KSBwYXlsb2FkOyAvKiBJTjogRUxGIGZpbGUuICovCisgICAgfTsK IAotIyMjIFhFTl9TWVNDVExfTElWRVBBVENIX0dFVCAoMSkKKyMjIyBYRU5cX1NZU0NUTFxfTElW RVBBVENIXF9HRVQgKDEpCiAKIFJldHJpZXZlIGFuIHN0YXR1cyBvZiBhbiBzcGVjaWZpYyBwYXls b2FkLiBUaGlzIGNhbGxlciBwcm92aWRlczoKIApAQCAtNTM3LDMzICs1MTEsMjkgQEAgUmV0cmll dmUgYW4gc3RhdHVzIG9mIGFuIHNwZWNpZmljIHBheWxvYWQuIFRoaXMgY2FsbGVyIHByb3ZpZGVz OgogVXBvbiBjb21wbGV0aW9uIHRoZSBgc3RydWN0IHhlbl9saXZlcGF0Y2hfc3RhdHVzYCBpcyB1 cGRhdGVkLgogCiAgKiBgc3RhdHVzYCAtIGluZGljYXRlcyB0aGUgY3VycmVudCBzdGF0dXMgb2Yg dGhlIHBheWxvYWQ6Ci0gICAqICpMSVZFUEFUQ0hfU1RBVFVTX0NIRUNLRUQqICAoMSkgbG9hZGVk IGFuZCB0aGUgRUxGIHBheWxvYWQgc2FmZXR5IGNoZWNrcyBwYXNzZWQuCi0gICAqICpMSVZFUEFU Q0hfU1RBVFVTX0FQUExJRUQqICgyKSBsb2FkZWQsIGNoZWNrZWQsIGFuZCBhcHBsaWVkLgorICAg KiAqTElWRVBBVENIXF9TVEFUVVNcX0NIRUNLRUQqICAoMSkgbG9hZGVkIGFuZCB0aGUgRUxGIHBh eWxvYWQgc2FmZXR5IGNoZWNrcyBwYXNzZWQuCisgICAqICpMSVZFUEFUQ0hcX1NUQVRVU1xfQVBQ TElFRCogKDIpIGxvYWRlZCwgY2hlY2tlZCwgYW5kIGFwcGxpZWQuCiAgICAqICBObyBvdGhlciB2 YWx1ZSBpcyBwb3NzaWJsZS4KLSAqIGByY2AgLSAtWEVOX0VYWCB0eXBlIGVycm9ycyBlbmNvdW50 ZXJlZCB3aGlsZSBwZXJmb3JtaW5nIHRoZSBsYXN0Ci0gICBMSVZFUEFUQ0hfQUNUSU9OXyogb3Bl cmF0aW9uLiBUaGUgbm9ybWFsIHZhbHVlcyBjYW4gYmUgemVybyBvciAtWEVOX0VBR0FJTiB3aGlj aAorICogYHJjYCAtIC1YRU5cX0VYWCB0eXBlIGVycm9ycyBlbmNvdW50ZXJlZCB3aGlsZSBwZXJm b3JtaW5nIHRoZSBsYXN0CisgICBMSVZFUEFUQ0hcX0FDVElPTlxfXCogb3BlcmF0aW9uLiBUaGUg bm9ybWFsIHZhbHVlcyBjYW4gYmUgemVybyBvciAtWEVOXF9FQUdBSU4gd2hpY2gKICAgIHJlc3Bl Y3RpdmVseSBtZWFuOiBzdWNjZXNzIG9yIG9wZXJhdGlvbiBpbiBwcm9ncmVzcy4gT3RoZXIgdmFs dWVzCiAgICBpbXBseSBhbiBlcnJvciBvY2N1cnJlZC4gSWYgdGhlcmUgaXMgYW4gZXJyb3IgaW4g YHJjYCwgYHN0YXR1c2Agd2lsbCAqKk5PVCoqCiAgICBoYXZlIGNoYW5nZWQuCiAKLVRoZSByZXR1 cm4gdmFsdWUgb2YgdGhlIGh5cGVyY2FsbCBpcyB6ZXJvIG9uIHN1Y2Nlc3MgYW5kIC1YRU5fRVhY IG9uIGZhaWx1cmUuCi0oTm90ZSB0aGF0IHRoZSBgcmNgYCB2YWx1ZSBjYW4gYmUgZGlmZmVyZW50 IGZyb20gdGhlIHJldHVybiB2YWx1ZSwgYXMgaW4KLXJjPS1YRU5fRUFHQUlOIGFuZCByZXR1cm4g dmFsdWUgY2FuIGJlIDApLgorVGhlIHJldHVybiB2YWx1ZSBvZiB0aGUgaHlwZXJjYWxsIGlzIHpl cm8gb24gc3VjY2VzcyBhbmQgLVhFTlxfRVhYIG9uIGZhaWx1cmUuCisoTm90ZSB0aGF0IHRoZSBg cmNgIHZhbHVlIGNhbiBiZSBkaWZmZXJlbnQgZnJvbSB0aGUgcmV0dXJuIHZhbHVlLCBhcyBpbgor cmM9LVhFTlxfRUFHQUlOIGFuZCByZXR1cm4gdmFsdWUgY2FuIGJlIDApLgogCiBGb3IgZXhhbXBs ZSwgc3VwcG9zaW5nIHRoZXJlIGlzIGFuIHBheWxvYWQ6CiAKLTxwcmU+Ci0gc3RhdHVzOiBMSVZF UEFUQ0hfU1RBVFVTX0NIRUNLRUQKLSByYzogMAotPC9wcmU+CisgICAgIHN0YXR1czogTElWRVBB VENIX1NUQVRVU19DSEVDS0VECisgICAgIHJjOiAwCiAKLVdlIGFwcGx5IGFuIGFjdGlvbiAtIExJ VkVQQVRDSF9BQ1RJT05fUkVWRVJUIC0gdG8gcmV2ZXJ0IGl0ICh3aGljaCB3b24ndCB3b3JrCitX ZSBhcHBseSBhbiBhY3Rpb24gLSBMSVZFUEFUQ0hcX0FDVElPTlxfUkVWRVJUIC0gdG8gcmV2ZXJ0 IGl0ICh3aGljaCB3b24ndCB3b3JrCiBhcyB3ZSBoYXZlIG5vdCBldmVuIGFwcGxpZWQgaXQuIEFm dGVyd2FyZHMgd2Ugd2lsbCBoYXZlOgogCi08cHJlPgotIHN0YXR1czogTElWRVBBVENIX1NUQVRV U19DSEVDS0VECi0gcmM6IC1YRU5fRUlOVkFMCi08L3ByZT4KKyAgICAgc3RhdHVzOiBMSVZFUEFU Q0hfU1RBVFVTX0NIRUNLRUQKKyAgICAgcmM6IC1YRU5fRUlOVkFMCiAKIEl0IGhhcyBmYWlsZWQg YnV0IGl0IHJlbWFpbnMgbG9hZGVkLgogCkBAIC01NzEsMjEgKzU0MSwxOSBAQCBUaGlzIG9wZXJh dGlvbiBpcyBzeW5jaHJvbm91cyBhbmQgZG9lcyBub3QgcmVxdWlyZSBwcmVlbXB0aW9uLgogCiBU aGUgc3RydWN0dXJlIGlzIGFzIGZvbGxvdzoKIAotPHByZT4KLXN0cnVjdCB4ZW5fbGl2ZXBhdGNo X3N0YXR1cyB7ICAKLSNkZWZpbmUgTElWRVBBVENIX1NUQVRVU19DSEVDS0VEICAgICAgMSAgCi0j ZGVmaW5lIExJVkVQQVRDSF9TVEFUVVNfQVBQTElFRCAgICAgIDIgIAotICAgIHVpbnQzMl90IHN0 YXRlOyAgICAgICAgICAgICAgICAgLyogT1VUOiBMSVZFUEFUQ0hfU1RBVEVfKi4gKi8gIAotICAg IGludDMyX3QgcmM7ICAgICAgICAgICAgICAgICAgICAgLyogT1VUOiAwIGlmIG5vIGVycm9yLCBv dGhlcndpc2UgLVhFTl9FWFguICovICAKLX07ICAKKyAgICBzdHJ1Y3QgeGVuX2xpdmVwYXRjaF9z dGF0dXMgeworICAgICNkZWZpbmUgTElWRVBBVENIX1NUQVRVU19DSEVDS0VEICAgICAgMQorICAg ICNkZWZpbmUgTElWRVBBVENIX1NUQVRVU19BUFBMSUVEICAgICAgMgorICAgICAgICB1aW50MzJf dCBzdGF0ZTsgICAgICAgICAgICAgICAgIC8qIE9VVDogTElWRVBBVENIX1NUQVRFXyouICovCisg ICAgICAgIGludDMyX3QgcmM7ICAgICAgICAgICAgICAgICAgICAgLyogT1VUOiAwIGlmIG5vIGVy cm9yLCBvdGhlcndpc2UgLVhFTl9FWFguICovCisgICAgfTsKKyAgICAKKyAgICBzdHJ1Y3QgeGVu X3N5c2N0bF9saXZlcGF0Y2hfZ2V0IHsKKyAgICAgICAgeGVuX2xpdmVwYXRjaF9uYW1lX3QgbmFt ZTsgICAgICAvKiBJTiwgdGhlIG5hbWUgb2YgdGhlIHBheWxvYWQuICovCisgICAgICAgIHhlbl9s aXZlcGF0Y2hfc3RhdHVzX3Qgc3RhdHVzOyAgLyogSU4vT1VUOiBzdGF0dXMgb2YgdGhlIHBheWxv YWQuICovCisgICAgfTsKIAotc3RydWN0IHhlbl9zeXNjdGxfbGl2ZXBhdGNoX2dldCB7ICAKLSAg ICB4ZW5fbGl2ZXBhdGNoX25hbWVfdCBuYW1lOyAgICAgIC8qIElOLCB0aGUgbmFtZSBvZiB0aGUg cGF5bG9hZC4gKi8gIAotICAgIHhlbl9saXZlcGF0Y2hfc3RhdHVzX3Qgc3RhdHVzOyAgLyogSU4v T1VUOiBzdGF0dXMgb2YgdGhlIHBheWxvYWQuICovICAKLX07ICAKLTwvcHJlPgotCi0jIyMgWEVO X1NZU0NUTF9MSVZFUEFUQ0hfTElTVCAoMikKKyMjIyBYRU5cX1NZU0NUTFxfTElWRVBBVENIXF9M SVNUICgyKQogCiBSZXRyaWV2ZSBhbiBhcnJheSBvZiBhYmJyZXZpYXRlZCBzdGF0dXMgYW5kIG5h bWVzIG9mIHBheWxvYWRzIHRoYXQgYXJlIGxvYWRlZCBpbiB0aGUKIGh5cGVydmlzb3IuCkBAIC02 MDYsMjAgKzU3NCwyMCBAQCBUaGUgY2FsbGVyIHByb3ZpZGVzOgogICAgc3RydWN0dXJlcy4gQ2Fs bGVyICpNVVNUKiBhbGxvY2F0ZSB1cCB0byBgbnJgIG9mIHRoZW0uCiAgKiBgbmFtZWAgLSB2aXJ0 dWFsIGFkZHJlc3Mgb2Ygd2hlcmUgdG8gd3JpdGUgdGhlIHVuaXF1ZSBuYW1lIG9mIHRoZSBwYXls b2FkLgogICAgQ2FsbGVyICpNVVNUKiBhbGxvY2F0ZSB1cCB0byBgbnJgIG9mIHRoZW0uIEVhY2gg Kk1VU1QqIGJlIG9mCi0gICAqKlhFTl9MSVZFUEFUQ0hfTkFNRV9TSVpFKiogc2l6ZS4gTm90ZSB0 aGF0ICoqWEVOX0xJVkVQQVRDSF9OQU1FX1NJWkUqKiBpbmNsdWRlcworICAgKipYRU5cX0xJVkVQ QVRDSFxfTkFNRVxfU0laRSoqIHNpemUuIE5vdGUgdGhhdCAqKlhFTlxfTElWRVBBVENIXF9OQU1F XF9TSVpFKiogaW5jbHVkZXMKICAgIHRoZSBOVUwgdGVybWluYXRvci4KICAqIGBsZW5gIC0gdmly dHVhbCBhZGRyZXNzIG9mIHdoZXJlIHRvIHdyaXRlIHRoZSBsZW5ndGggb2YgZWFjaCB1bmlxdWUg bmFtZQogICAgb2YgdGhlIHBheWxvYWQuIENhbGxlciAqTVVTVCogYWxsb2NhdGUgdXAgdG8gYG5y YCBvZiB0aGVtLiBFYWNoICpNVVNUKiBiZQotICAgb2Ygc2l6ZW9mKHVpbnQzMl90KSAoNCBieXRl cykuCisgICBvZiBzaXplb2YodWludDMyXF90KSAoNCBieXRlcykuCiAKIElmIHRoZSBoeXBlcmNh bGwgcmV0dXJucyBhbiBwb3NpdGl2ZSBudW1iZXIsIGl0IGlzIHRoZSBudW1iZXIgKHVwdG8gYG5y YAogcHJvdmlkZWQgdG8gdGhlIGh5cGVyY2FsbCkgb2YgdGhlIHBheWxvYWRzIHJldHVybmVkLCBh bG9uZyB3aXRoIGBucmAgdXBkYXRlZAogd2l0aCB0aGUgbnVtYmVyIG9mIHJlbWFpbmluZyBwYXls b2FkcywgYHZlcnNpb25gIHVwZGF0ZWQgKGl0IG1heSBiZSB0aGUgc2FtZQogYWNyb3NzIGh5cGVy Y2FsbHMgLSBpZiBpdCB2YXJpZXMgdGhlIGRhdGEgaXMgc3RhbGUgYW5kIGZ1cnRoZXIgY2FsbHMg Y291bGQKLWZhaWwpLiBUaGUgYHN0YXR1c2AsIGBuYW1lYCwgYW5kIGBsZW5gJyBhcmUgdXBkYXRl ZCBhdCB0aGVpciBkZXNpZ25lZCBpbmRleAorZmFpbCkuIFRoZSBgc3RhdHVzYCwgYG5hbWVgLCBh bmQgYGxlbmAgYXJlIHVwZGF0ZWQgYXQgdGhlaXIgZGVzaWduZWQgaW5kZXgKIHZhbHVlIChgaWR4 YCkgd2l0aCB0aGUgcmV0dXJuZWQgdmFsdWUgb2YgZGF0YS4KIAotSWYgdGhlIGh5cGVyY2FsbCBy ZXR1cm5zIC1YRU5fRTJCSUcgdGhlIGBucmAgaXMgdG9vIGJpZyBhbmQgc2hvdWxkIGJlCitJZiB0 aGUgaHlwZXJjYWxsIHJldHVybnMgLVhFTlxfRTJCSUcgdGhlIGBucmAgaXMgdG9vIGJpZyBhbmQg c2hvdWxkIGJlCiBsb3dlcmVkLgogCiBJZiB0aGUgaHlwZXJjYWxsIHJldHVybnMgYW4gemVybyB2 YWx1ZSB0aGVyZSBhcmUgbm8gbW9yZSBwYXlsb2Fkcy4KQEAgLTYzNCw2MSArNjAyLDU5IEBAIGRh dGEgYW5kIHN0YXJ0IGZyb20gc2NyYXRjaC4gSXQgaXMgT0sgZm9yIHRoZSB0b29sc3RhY2sgdG8g dXNlIHRoZSBuZXcKIFRoZSBgc3RydWN0IHhlbl9saXZlcGF0Y2hfc3RhdHVzYCBzdHJ1Y3R1cmUg Y29udGFpbnMgYW4gc3RhdHVzIG9mIHBheWxvYWQgd2hpY2ggaW5jbHVkZXM6CiAKICAqIGBzdGF0 dXNgIC0gaW5kaWNhdGVzIHRoZSBjdXJyZW50IHN0YXR1cyBvZiB0aGUgcGF5bG9hZDoKLSAgICog KkxJVkVQQVRDSF9TVEFUVVNfQ0hFQ0tFRCogICgxKSBsb2FkZWQgYW5kIHRoZSBFTEYgcGF5bG9h ZCBzYWZldHkgY2hlY2tzIHBhc3NlZC4KLSAgICogKkxJVkVQQVRDSF9TVEFUVVNfQVBQTElFRCog KDIpIGxvYWRlZCwgY2hlY2tlZCwgYW5kIGFwcGxpZWQuCisgICAqICpMSVZFUEFUQ0hcX1NUQVRV U1xfQ0hFQ0tFRCogICgxKSBsb2FkZWQgYW5kIHRoZSBFTEYgcGF5bG9hZCBzYWZldHkgY2hlY2tz IHBhc3NlZC4KKyAgICogKkxJVkVQQVRDSFxfU1RBVFVTXF9BUFBMSUVEKiAoMikgbG9hZGVkLCBj aGVja2VkLCBhbmQgYXBwbGllZC4KICAgICogIE5vIG90aGVyIHZhbHVlIGlzIHBvc3NpYmxlLgot ICogYHJjYCAtIC1YRU5fRVhYIHR5cGUgZXJyb3JzIGVuY291bnRlcmVkIHdoaWxlIHBlcmZvcm1p bmcgdGhlIGxhc3QKLSAgIExJVkVQQVRDSF9BQ1RJT05fKiBvcGVyYXRpb24uIFRoZSBub3JtYWwg dmFsdWVzIGNhbiBiZSB6ZXJvIG9yIC1YRU5fRUFHQUlOIHdoaWNoCisgKiBgcmNgIC0gLVhFTlxf RVhYIHR5cGUgZXJyb3JzIGVuY291bnRlcmVkIHdoaWxlIHBlcmZvcm1pbmcgdGhlIGxhc3QKKyAg IExJVkVQQVRDSFxfQUNUSU9OXF9cKiBvcGVyYXRpb24uIFRoZSBub3JtYWwgdmFsdWVzIGNhbiBi ZSB6ZXJvIG9yIC1YRU5cX0VBR0FJTiB3aGljaAogICAgcmVzcGVjdGl2ZWx5IG1lYW46IHN1Y2Nl c3Mgb3Igb3BlcmF0aW9uIGluIHByb2dyZXNzLiBPdGhlciB2YWx1ZXMKICAgIGltcGx5IGFuIGVy cm9yIG9jY3VycmVkLiBJZiB0aGVyZSBpcyBhbiBlcnJvciBpbiBgcmNgLCBgc3RhdHVzYCB3aWxs ICoqTk9UKioKICAgIGhhdmUgY2hhbmdlZC4KIAogVGhlIHN0cnVjdHVyZSBpcyBhcyBmb2xsb3c6 CiAKLTxwcmU+Ci1zdHJ1Y3QgeGVuX3N5c2N0bF9saXZlcGF0Y2hfbGlzdCB7ICAKLSAgICB1aW50 MzJfdCB2ZXJzaW9uOyAgICAgICAgICAgICAgICAgICAgICAgLyogT1VUOiBIeXBlcnZpc29yIHN0 YW1wcyB2YWx1ZS4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgSWYgdmFyaWVzIGJldHdlZW4gY2FsbHMsIHdlIGFyZSAgCi0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldHRpbmcgc3RhbGUgZGF0YS4gKi8gIAotICAg IHVpbnQzMl90IGlkeDsgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBJTjogSW5kZXggaW50 byBoeXBlcnZpc29yIGxpc3QuICovCi0gICAgdWludDMyX3QgbnI7ICAgICAgICAgICAgICAgICAg ICAgICAgICAgIC8qIElOOiBIb3cgbWFueSBzdGF0dXMsIG5hbWVzLCBhbmQgbGVuICAKLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2hvdWxkIGJlIGZpbGxl ZCBvdXQuIENhbiBiZSB6ZXJvIHRvIGdldCAgCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGFtb3VudCBvZiBwYXlsb2FkcyBhbmQgdmVyc2lvbi4gIAotICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPVVQ6IEhvdyBtYW55 IHBheWxvYWRzIGxlZnQuICovICAKLSAgICB1aW50MzJfdCBwYWQ7ICAgICAgICAgICAgICAgICAg ICAgICAgICAgLyogSU46IE11c3QgYmUgemVyby4gKi8gIAotICAgIFhFTl9HVUVTVF9IQU5ETEVf NjQoeGVuX2xpdmVwYXRjaF9zdGF0dXNfdCkgc3RhdHVzOyAgLyogT1VULiBNdXN0IGhhdmUgZW5v dWdoICAKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Bh Y2UgYWxsb2NhdGUgZm9yIG5yIG9mIHRoZW0uICovICAKLSAgICBYRU5fR1VFU1RfSEFORExFXzY0 KGNoYXIpIGlkOyAgICAgICAgICAgLyogT1VUOiBBcnJheSBvZiBuYW1lcy4gRWFjaCBtZW1iZXIg IAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNVVNUIFhF Tl9MSVZFUEFUQ0hfTkFNRV9TSVpFIGluIHNpemUuICAKLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgTXVzdCBoYXZlIG5yIG9mIHRoZW0uICovICAKLSAgICBY RU5fR1VFU1RfSEFORExFXzY0KHVpbnQzMikgbGVuOyAgICAgICAgLyogT1VUOiBBcnJheSBvZiBs ZW5ndGhzIG9mIG5hbWUncy4gIAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBNdXN0IGhhdmUgbnIgb2YgdGhlbS4gKi8gIAotfTsgIAotPC9wcmU+Ci0KLSMj IyBYRU5fU1lTQ1RMX0xJVkVQQVRDSF9BQ1RJT04gKDMpCisgICAgc3RydWN0IHhlbl9zeXNjdGxf bGl2ZXBhdGNoX2xpc3QgeworICAgICAgICB1aW50MzJfdCB2ZXJzaW9uOyAgICAgICAgICAgICAg ICAgICAgICAgLyogT1VUOiBIeXBlcnZpc29yIHN0YW1wcyB2YWx1ZS4KKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIHZhcmllcyBiZXR3ZWVuIGNh bGxzLCB3ZSBhcmUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGdldHRpbmcgc3RhbGUgZGF0YS4gKi8KKyAgICAgICAgdWludDMyX3QgaWR4OyAgICAg ICAgICAgICAgICAgICAgICAgICAgIC8qIElOOiBJbmRleCBpbnRvIGh5cGVydmlzb3IgbGlzdC4g Ki8KKyAgICAgICAgdWludDMyX3QgbnI7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIElO OiBIb3cgbWFueSBzdGF0dXMsIG5hbWVzLCBhbmQgbGVuCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaG91bGQgYmUgZmlsbGVkIG91dC4gQ2FuIGJl IHplcm8gdG8gZ2V0CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBhbW91bnQgb2YgcGF5bG9hZHMgYW5kIHZlcnNpb24uCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPVVQ6IEhvdyBtYW55IHBheWxvYWRz IGxlZnQuICovCisgICAgICAgIHVpbnQzMl90IHBhZDsgICAgICAgICAgICAgICAgICAgICAgICAg ICAvKiBJTjogTXVzdCBiZSB6ZXJvLiAqLworICAgICAgICBYRU5fR1VFU1RfSEFORExFXzY0KHhl bl9saXZlcGF0Y2hfc3RhdHVzX3QpIHN0YXR1czsgIC8qIE9VVC4gTXVzdCBoYXZlIGVub3VnaAor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3BhY2Ug YWxsb2NhdGUgZm9yIG5yIG9mIHRoZW0uICovCisgICAgICAgIFhFTl9HVUVTVF9IQU5ETEVfNjQo Y2hhcikgaWQ7ICAgICAgICAgICAvKiBPVVQ6IEFycmF5IG9mIG5hbWVzLiBFYWNoIG1lbWJlcgor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTVVTVCBY RU5fTElWRVBBVENIX05BTUVfU0laRSBpbiBzaXplLgorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgTXVzdCBoYXZlIG5yIG9mIHRoZW0uICovCisgICAg ICAgIFhFTl9HVUVTVF9IQU5ETEVfNjQodWludDMyKSBsZW47ICAgICAgICAvKiBPVVQ6IEFycmF5 IG9mIGxlbmd0aHMgb2YgbmFtZSdzLgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgTXVzdCBoYXZlIG5yIG9mIHRoZW0uICovCisgICAgfTsKKworIyMj IFhFTlxfU1lTQ1RMXF9MSVZFUEFUQ0hcX0FDVElPTiAoMykKIAogUGVyZm9ybSBhbiBvcGVyYXRp b24gb24gdGhlIHBheWxvYWQgc3RydWN0dXJlIHJlZmVyZW5jZWQgYnkgdGhlIGBuYW1lYCBmaWVs ZC4KIFRoZSBvcGVyYXRpb24gcmVxdWVzdCBpcyBhc3luY2hyb25vdXMgYW5kIHRoZSBzdGF0dXMg c2hvdWxkIGJlIHJldHJpZXZlZAotYnkgdXNpbmcgZWl0aGVyICoqWEVOX1NZU0NUTF9MSVZFUEFU Q0hfR0VUKiogb3IgKipYRU5fU1lTQ1RMX0xJVkVQQVRDSF9MSVNUKiogaHlwZXJjYWxsLgorYnkg dXNpbmcgZWl0aGVyICoqWEVOXF9TWVNDVExcX0xJVkVQQVRDSFxfR0VUKiogb3IgKipYRU5cX1NZ U0NUTFxfTElWRVBBVENIXF9MSVNUKiogaHlwZXJjYWxsLgogCiBUaGUgY2FsbGVyIHByb3ZpZGVz OgogCi0gKiBBICdzdHJ1Y3QgeGVuX2xpdmVwYXRjaF9uYW1lYCBgbmFtZWAgY29udGFpbmluZyB0 aGUgdW5pcXVlIG5hbWUuCisgKiBBIGBzdHJ1Y3QgeGVuX2xpdmVwYXRjaF9uYW1lYCBgbmFtZWAg Y29udGFpbmluZyB0aGUgdW5pcXVlIG5hbWUuCiAgKiBgY21kYCB0aGUgY29tbWFuZCByZXF1ZXN0 ZWQ6Ci0gICogKkxJVkVQQVRDSF9BQ1RJT05fVU5MT0FEKiAoMSkgdW5sb2FkIHRoZSBwYXlsb2Fk LgorICAqICpMSVZFUEFUQ0hcX0FDVElPTlxfVU5MT0FEKiAoMSkgdW5sb2FkIHRoZSBwYXlsb2Fk LgogICAgQW55IGZ1cnRoZXIgaHlwZXJjYWxscyBhZ2FpbnN0IHRoZSBgbmFtZWAgd2lsbCByZXN1 bHQgaW4gZmFpbHVyZSB1bmxlc3MKLSAgICoqWEVOX1NZU0NUTF9MSVZFUEFUQ0hfVVBMT0FEKiog aHlwZXJjYWxsIGlzIHBlcmZvbWVkIHdpdGggc2FtZSBgbmFtZWAuCi0gICogKkxJVkVQQVRDSF9B Q1RJT05fUkVWRVJUKiAoMikgcmV2ZXJ0IHRoZSBwYXlsb2FkLiBJZiB0aGUgb3BlcmF0aW9uIHRh a2VzCi0gIG1vcmUgdGltZSB0aGFuIHRoZSB1cHBlciBib3VuZCBvZiB0aW1lIHRoZSBgcmNgIGlu IGB4ZW5fbGl2ZXBhdGNoX3N0YXR1cycKLSAgcmV0cmlldmVkIHZpYSAqKlhFTl9TWVNDVExfTElW RVBBVENIX0dFVCoqIHdpbGwgYmUgLVhFTl9FQlVTWS4KLSAgKiAqTElWRVBBVENIX0FDVElPTl9B UFBMWSogKDMpIGFwcGx5IHRoZSBwYXlsb2FkLiBJZiB0aGUgb3BlcmF0aW9uIHRha2VzCi0gIG1v cmUgdGltZSB0aGFuIHRoZSB1cHBlciBib3VuZCBvZiB0aW1lIHRoZSBgcmNgIGluIGB4ZW5fbGl2 ZXBhdGNoX3N0YXR1cycKLSAgcmV0cmlldmVkIHZpYSAqKlhFTl9TWVNDVExfTElWRVBBVENIX0dF VCoqIHdpbGwgYmUgLVhFTl9FQlVTWS4KLSAgKiAqTElWRVBBVENIX0FDVElPTl9SRVBMQUNFKiAo NCkgcmV2ZXJ0IGFsbCBhcHBsaWVkIHBheWxvYWRzIGFuZCBhcHBseSB0aGlzCisgICAqKlhFTlxf U1lTQ1RMXF9MSVZFUEFUQ0hcX1VQTE9BRCoqIGh5cGVyY2FsbCBpcyBwZXJmb21lZCB3aXRoIHNh bWUgYG5hbWVgLgorICAqICpMSVZFUEFUQ0hcX0FDVElPTlxfUkVWRVJUKiAoMikgcmV2ZXJ0IHRo ZSBwYXlsb2FkLiBJZiB0aGUgb3BlcmF0aW9uIHRha2VzCisgIG1vcmUgdGltZSB0aGFuIHRoZSB1 cHBlciBib3VuZCBvZiB0aW1lIHRoZSBgcmNgIGluIGB4ZW5fbGl2ZXBhdGNoX3N0YXR1c2AKKyAg cmV0cmlldmVkIHZpYSAqKlhFTlxfU1lTQ1RMXF9MSVZFUEFUQ0hcX0dFVCoqIHdpbGwgYmUgLVhF TlxfRUJVU1kuCisgICogKkxJVkVQQVRDSFxfQUNUSU9OXF9BUFBMWSogKDMpIGFwcGx5IHRoZSBw YXlsb2FkLiBJZiB0aGUgb3BlcmF0aW9uIHRha2VzCisgIG1vcmUgdGltZSB0aGFuIHRoZSB1cHBl ciBib3VuZCBvZiB0aW1lIHRoZSBgcmNgIGluIGB4ZW5fbGl2ZXBhdGNoX3N0YXR1c2AKKyAgcmV0 cmlldmVkIHZpYSAqKlhFTlxfU1lTQ1RMXF9MSVZFUEFUQ0hcX0dFVCoqIHdpbGwgYmUgLVhFTlxf RUJVU1kuCisgICogKkxJVkVQQVRDSFxfQUNUSU9OXF9SRVBMQUNFKiAoNCkgcmV2ZXJ0IGFsbCBh cHBsaWVkIHBheWxvYWRzIGFuZCBhcHBseSB0aGlzCiAgIHBheWxvYWQuIElmIHRoZSBvcGVyYXRp b24gdGFrZXMgbW9yZSB0aW1lIHRoYW4gdGhlIHVwcGVyIGJvdW5kIG9mIHRpbWUKLSAgdGhlIGBy Y2AgaW4gYHhlbl9saXZlcGF0Y2hfc3RhdHVzJyByZXRyaWV2ZWQgdmlhICoqWEVOX1NZU0NUTF9M SVZFUEFUQ0hfR0VUKioKLSAgd2lsbCBiZSAtWEVOX0VCVVNZLgorICB0aGUgYHJjYCBpbiBgeGVu X2xpdmVwYXRjaF9zdGF0dXNgIHJldHJpZXZlZCB2aWEgKipYRU5cX1NZU0NUTFxfTElWRVBBVENI XF9HRVQqKgorICB3aWxsIGJlIC1YRU5cX0VCVVNZLgogICogYHRpbWVgIHRoZSB1cHBlciBib3Vu ZCBvZiB0aW1lIChucykgdGhlIGNtZCBzaG91bGQgdGFrZS4gWmVybyBtZWFucyB0byB1c2UKICAg IHRoZSBoeXBlcnZpc29yIGRlZmF1bHQuIElmIHdpdGhpbiB0aGUgdGltZSB0aGUgb3BlcmF0aW9u IGRvZXMgbm90IHN1Y2NlZWQKICAgIHRoZSBvcGVyYXRpb24gd291bGQgZ28gaW4gZXJyb3Igc3Rh dGUuCkBAIC02OTgsNzEgKzY2NCw2NSBAQCBUaGUgcmV0dXJuIHZhbHVlIHdpbGwgYmUgemVybyB1 bmxlc3MgdGhlIHByb3ZpZGVkIGZpZWxkcyBhcmUgaW5jb3JyZWN0LgogCiBUaGUgc3RydWN0dXJl IGlzIGFzIGZvbGxvdzoKIAotPHByZT4KLSNkZWZpbmUgTElWRVBBVENIX0FDVElPTl9VTkxPQUQg IDEgIAotI2RlZmluZSBMSVZFUEFUQ0hfQUNUSU9OX1JFVkVSVCAgMiAgCi0jZGVmaW5lIExJVkVQ QVRDSF9BQ1RJT05fQVBQTFkgICAzICAKLSNkZWZpbmUgTElWRVBBVENIX0FDVElPTl9SRVBMQUNF IDQgIAotc3RydWN0IHhlbl9zeXNjdGxfbGl2ZXBhdGNoX2FjdGlvbiB7ICAKLSAgICB4ZW5fbGl2 ZXBhdGNoX25hbWVfdCBuYW1lOyAgICAgICAgICAgICAgLyogSU4sIG5hbWUgb2YgdGhlIHBhdGNo LiAqLyAgCi0gICAgdWludDMyX3QgY21kOyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIElO OiBMSVZFUEFUQ0hfQUNUSU9OXyogKi8gIAotICAgIHVpbnQzMl90IHRpbWU7ICAgICAgICAgICAg ICAgICAgICAgICAgICAvKiBJTjogSWYgemVybyB0aGVuIHVzZXMgKi8KLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogaHlwZXJ2aXNvciBkZWZhdWx0LiAqLwot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBPciB1cHBlciBi b3VuZCBvZiB0aW1lIChucykgKi8KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgLyogZm9yIG9wZXJhdGlvbiB0byB0YWtlLiAqLwotfTsgIAotCi08L3ByZT4KLQot IyMgU3RhdGUgZGlhZ3JhbXMgb2YgTElWRVBBVENIX0FDVElPTiBjb21tYW5kcy4KKyAgICAjZGVm aW5lIExJVkVQQVRDSF9BQ1RJT05fVU5MT0FEICAxCisgICAgI2RlZmluZSBMSVZFUEFUQ0hfQUNU SU9OX1JFVkVSVCAgMgorICAgICNkZWZpbmUgTElWRVBBVENIX0FDVElPTl9BUFBMWSAgIDMKKyAg ICAjZGVmaW5lIExJVkVQQVRDSF9BQ1RJT05fUkVQTEFDRSA0CisgICAgc3RydWN0IHhlbl9zeXNj dGxfbGl2ZXBhdGNoX2FjdGlvbiB7CisgICAgICAgIHhlbl9saXZlcGF0Y2hfbmFtZV90IG5hbWU7 ICAgICAgICAgICAgICAvKiBJTiwgbmFtZSBvZiB0aGUgcGF0Y2guICovCisgICAgICAgIHVpbnQz Ml90IGNtZDsgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBJTjogTElWRVBBVENIX0FDVElP Tl8qICovCisgICAgICAgIHVpbnQzMl90IHRpbWU7ICAgICAgICAgICAgICAgICAgICAgICAgICAv KiBJTjogSWYgemVybyB0aGVuIHVzZXMgKi8KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIC8qIGh5cGVydmlzb3IgZGVmYXVsdC4gKi8KKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIE9yIHVwcGVyIGJvdW5kIG9m IHRpbWUgKG5zKSAqLworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgLyogZm9yIG9wZXJhdGlvbiB0byB0YWtlLiAqLworICAgIH07CisgICAgCisKKyMjIFN0 YXRlIGRpYWdyYW1zIG9mIExJVkVQQVRDSFxfQUNUSU9OIGNvbW1hbmRzLgogCiBUaGVyZSBpcyBh IHN0cmljdCBvcmRlcmluZyBzdGF0ZSBvZiB3aGF0IHRoZSBjb21tYW5kcyBjYW4gYmUuCi1UaGUg TElWRVBBVENIX0FDVElPTiBwcmVmaXggaGFzIGJlZW4gZHJvcHBlZCB0byBlYXN5IHJlYWRpbmcg YW5kCi1kb2VzIG5vdCBpbmNsdWRlIHRoZSBMSVZFUEFUQ0hfU1RBVEVTOgorVGhlIExJVkVQQVRD SFxfQUNUSU9OIHByZWZpeCBoYXMgYmVlbiBkcm9wcGVkIHRvIGVhc3kgcmVhZGluZyBhbmQKK2Rv ZXMgbm90IGluY2x1ZGUgdGhlIExJVkVQQVRDSFxfU1RBVEVTOgogCi08cHJlPgotICAgICAgICAg ICAgICAvLT5cICAKLSAgICAgICAgICAgICAgXCAgLyAgCi0gVU5MT0FEIDwtLS0gQ0hFQ0sgLS0t PiBSRVBMQUNFfEFQUExZIC0tPiBSRVZFUlQgLS1cICAKLSAgICAgICAgICAgICAgICBcICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIAotICAgICAgICAgICAgICAgICBcLS0tLS0t LS0tLS0tLS0tLS0tLTwtLS0tLS0tLS0tLS0tLyAgCi0KLTwvcHJlPgotIyMgU3RhdGUgdHJhbnNp dGlvbiB0YWJsZSBvZiBMSVZFUEFUQ0hfQUNUSU9OIGNvbW1hbmRzIGFuZCBMSVZFUEFUQ0hfU1RB VFVTLgorICAgICAgICAgICAgICAgICAgLy0+XAorICAgICAgICAgICAgICAgICAgXCAgLworICAg ICBVTkxPQUQgPC0tLSBDSEVDSyAtLS0+IFJFUExBQ0V8QVBQTFkgLS0+IFJFVkVSVCAtLVwKKyAg ICAgICAgICAgICAgICAgICAgXCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Cisg ICAgICAgICAgICAgICAgICAgICBcLS0tLS0tLS0tLS0tLS0tLS0tLTwtLS0tLS0tLS0tLS0tLwor ICAgIAorIyMgU3RhdGUgdHJhbnNpdGlvbiB0YWJsZSBvZiBMSVZFUEFUQ0hcX0FDVElPTiBjb21t YW5kcyBhbmQgTElWRVBBVENIXF9TVEFUVVMuCiAKIE5vdGUgdGhhdDoKIAotIC0gVGhlIENIRUNL RUQgc3RhdGUgaXMgdGhlIHN0YXJ0aW5nIG9uZSBhY2hpZXZlZCB3aXRoICpYRU5fU1lTQ1RMX0xJ VkVQQVRDSF9VUExPQUQqIGh5cGVyY2FsbC4KKyAtIFRoZSBDSEVDS0VEIHN0YXRlIGlzIHRoZSBz dGFydGluZyBvbmUgYWNoaWV2ZWQgd2l0aCAqWEVOXF9TWVNDVExcX0xJVkVQQVRDSFxfVVBMT0FE KiBoeXBlcmNhbGwuCiAgLSBUaGUgUkVWRVJUIG9wZXJhdGlvbiBvbiBzdWNjZXNzIHdpbGwgYXV0 b21hdGljYWxseSBtb3ZlIHRvIHRoZSBDSEVDS0VEIHN0YXRlLgogIC0gVGhlcmUgYXJlIHR3byBT VEFURVM6IENIRUNLRUQgYW5kIEFQUExJRUQuCiAgLSBUaGVyZSBhcmUgZm91ciBhY3Rpb25zIChh a2EgY29tbWFuZHMpOiBBUFBMWSwgUkVQTEFDRSwgUkVWRVJULCBhbmQgVU5MT0FELgogCiBUaGUg c3RhdGUgdHJhbnNpdGlvbiB0YWJsZSBvZiB2YWxpZCBzdGF0ZXMgYW5kIGFjdGlvbiBzdGF0ZXM6 CiAKLTxwcmU+Ci0KLSstLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tKy0tLS0tLS0rLS0tLS0tLS0rCi18IEFDVElPTiAgfCBDdXJyZW50IHwgUmVzdWx0 ICAgICAgICAgICAgICAgICAgICAgICAgIHwgTmV4dCBTVEFURTogICAgfAotfCBBQ1RJT04gIHwg U1RBVEUgICB8ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8Q0hFQ0tFRHxBUFBMSUVE IHwKLSstLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0rLS0tLS0tLS0rCi18IFVOTE9BRCAgfCBDSEVDS0VEIHwgVW5sb2FkIHBheWxvYWQu IEFsd2F5cyB3b3Jrcy4gIHwgICAgICAgfCAgICAgICAgfAotfCAgICAgICAgIHwgICAgICAgICB8 IE5vIG5leHQgc3RhdGVzLiAgICAgICAgICAgICAgICB8ICAgICAgIHwgICAgICAgIHwKLSstLS0t LS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0r LS0tLS0tLS0rCi18IEFQUExZICAgfCBDSEVDS0VEIHwgQXBwbHkgcGF5bG9hZCAoc3VjY2Vzcyku ICAgICAgIHwgICAgICAgfCAgIHggICAgfAotKy0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLSstLS0tLS0tLSsKLXwgQVBQTFkgICB8IENI RUNLRUQgfCBBcHBseSBwYXlsb2FkIChlcnJvcnx0aW1lb3V0KSAgfCAgIHggICB8ICAgICAgICB8 Ci0rLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSst LS0tLS0tKy0tLS0tLS0tKwotfCBSRVBMQUNFIHwgQ0hFQ0tFRCB8IFJldmVydCBwYXlsb2FkcyBh bmQgYXBwbHkgbmV3ICB8ICAgICAgIHwgICB4ICAgIHwKLXwgICAgICAgICB8ICAgICAgICAgfCBw YXlsb2FkIHdpdGggc3VjY2Vzcy4gICAgICAgICAgfCAgICAgICB8ICAgICAgICB8Ci0rLS0tLS0t LS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tKy0t LS0tLS0tKwotfCBSRVBMQUNFIHwgQ0hFQ0tFRCB8IFJldmVydCBwYXlsb2FkcyBhbmQgYXBwbHkg bmV3ICB8ICAgeCAgIHwgICAgICAgIHwKLXwgICAgICAgICB8ICAgICAgICAgfCBwYXlsb2FkIHdp dGggZXJyb3IuICAgICAgICAgICAgfCAgICAgICB8ICAgICAgICB8Ci0rLS0tLS0tLS0tKy0tLS0t LS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tKy0tLS0tLS0tKwot fCBSRVZFUlQgIHwgQVBQTElFRCB8IFJldmVydCBwYXlsb2FkIChzdWNjZXNzKS4gICAgICB8ICAg eCAgIHwgICAgICAgIHwKLSstLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tKy0tLS0tLS0rLS0tLS0tLS0rCi18IFJFVkVSVCAgfCBBUFBMSUVEIHwgUmV2 ZXJ0IHBheWxvYWQgKGVycm9yfHRpbWVvdXQpIHwgICAgICAgfCAgIHggICAgfAotKy0tLS0tLS0t LSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLSstLS0t LS0tLSsKLTwvcHJlPgorICAgIAorICAgICstLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0rLS0tLS0tLS0rCisgICAgfCBBQ1RJT04gIHwg Q3VycmVudCB8IFJlc3VsdCAgICAgICAgICAgICAgICAgICAgICAgICB8IE5leHQgU1RBVEU6ICAg IHwKKyAgICB8IEFDVElPTiAgfCBTVEFURSAgIHwgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHxDSEVDS0VEfEFQUExJRUQgfAorICAgICstLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0rLS0tLS0tLS0rCisgICAgfCBVTkxPQUQg IHwgQ0hFQ0tFRCB8IFVubG9hZCBwYXlsb2FkLiBBbHdheXMgd29ya3MuICB8ICAgICAgIHwgICAg ICAgIHwKKyAgICB8ICAgICAgICAgfCAgICAgICAgIHwgTm8gbmV4dCBzdGF0ZXMuICAgICAgICAg ICAgICAgIHwgICAgICAgfCAgICAgICAgfAorICAgICstLS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0rLS0tLS0tLS0rCisgICAgfCBBUFBM WSAgIHwgQ0hFQ0tFRCB8IEFwcGx5IHBheWxvYWQgKHN1Y2Nlc3MpLiAgICAgICB8ICAgICAgIHwg ICB4ICAgIHwKKyAgICArLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLSstLS0tLS0tKy0tLS0tLS0tKworICAgIHwgQVBQTFkgICB8IENIRUNLRUQgfCBB cHBseSBwYXlsb2FkIChlcnJvcnx0aW1lb3V0KSAgfCAgIHggICB8ICAgICAgICB8CisgICAgKy0t LS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0t LSstLS0tLS0tLSsKKyAgICB8IFJFUExBQ0UgfCBDSEVDS0VEIHwgUmV2ZXJ0IHBheWxvYWRzIGFu ZCBhcHBseSBuZXcgIHwgICAgICAgfCAgIHggICAgfAorICAgIHwgICAgICAgICB8ICAgICAgICAg fCBwYXlsb2FkIHdpdGggc3VjY2Vzcy4gICAgICAgICAgfCAgICAgICB8ICAgICAgICB8CisgICAg Ky0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0t LS0tLSstLS0tLS0tLSsKKyAgICB8IFJFUExBQ0UgfCBDSEVDS0VEIHwgUmV2ZXJ0IHBheWxvYWRz IGFuZCBhcHBseSBuZXcgIHwgICB4ICAgfCAgICAgICAgfAorICAgIHwgICAgICAgICB8ICAgICAg ICAgfCBwYXlsb2FkIHdpdGggZXJyb3IuICAgICAgICAgICAgfCAgICAgICB8ICAgICAgICB8Cisg ICAgKy0tLS0tLS0tLSstLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0r LS0tLS0tLSstLS0tLS0tLSsKKyAgICB8IFJFVkVSVCAgfCBBUFBMSUVEIHwgUmV2ZXJ0IHBheWxv YWQgKHN1Y2Nlc3MpLiAgICAgIHwgICB4ICAgfCAgICAgICAgfAorICAgICstLS0tLS0tLS0rLS0t LS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0rLS0tLS0tLS0r CisgICAgfCBSRVZFUlQgIHwgQVBQTElFRCB8IFJldmVydCBwYXlsb2FkIChlcnJvcnx0aW1lb3V0 KSB8ICAgICAgIHwgICB4ICAgIHwKKyAgICArLS0tLS0tLS0tKy0tLS0tLS0tLSstLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tKy0tLS0tLS0tKwogCiBBbGwgdGhlIG90aGVy IHN0YXRlIHRyYW5zaXRpb25zIGFyZSBpbnZhbGlkLgogCkBAIC03NzAsMTAgKzczMCwxMCBAQCBB bGwgdGhlIG90aGVyIHN0YXRlIHRyYW5zaXRpb25zIGFyZSBpbnZhbGlkLgogCiBUaGUgbm9ybWFs IHNlcXVlbmNlIG9mIGV2ZW50cyBpcyB0bzoKIAotIDEuICpYRU5fU1lTQ1RMX0xJVkVQQVRDSF9V UExPQUQqIHRvIHVwbG9hZCB0aGUgcGF5bG9hZC4gSWYgdGhlcmUgYXJlIGVycm9ycyAqU1RPUCog aGVyZS4KLSAyLiAqWEVOX1NZU0NUTF9MSVZFUEFUQ0hfR0VUKiB0byBjaGVjayB0aGUgYC0+cmNg LiBJZiAqLVhFTl9FQUdBSU4qIHNwaW4uIElmIHplcm8gZ28gdG8gbmV4dCBzdGVwLgotIDMuICpY RU5fU1lTQ1RMX0xJVkVQQVRDSF9BQ1RJT04qIHdpdGggKkxJVkVQQVRDSF9BQ1RJT05fQVBQTFkq IHRvIGFwcGx5IHRoZSBwYXRjaC4KLSA0LiAqWEVOX1NZU0NUTF9MSVZFUEFUQ0hfR0VUKiB0byBj aGVjayB0aGUgYC0+cmNgLiBJZiBpbiAqLVhFTl9FQUdBSU4qIHNwaW4uIElmIHplcm8gZXhpdCB3 aXRoIHN1Y2Nlc3MuCisgMS4gKlhFTlxfU1lTQ1RMXF9MSVZFUEFUQ0hcX1VQTE9BRCogdG8gdXBs b2FkIHRoZSBwYXlsb2FkLiBJZiB0aGVyZSBhcmUgZXJyb3JzICpTVE9QKiBoZXJlLgorIDIuICpY RU5cX1NZU0NUTFxfTElWRVBBVENIXF9HRVQqIHRvIGNoZWNrIHRoZSBgLT5yY2AuIElmICotWEVO XF9FQUdBSU4qIHNwaW4uIElmIHplcm8gZ28gdG8gbmV4dCBzdGVwLgorIDMuICpYRU5cX1NZU0NU TFxfTElWRVBBVENIXF9BQ1RJT04qIHdpdGggKkxJVkVQQVRDSFxfQUNUSU9OXF9BUFBMWSogdG8g YXBwbHkgdGhlIHBhdGNoLgorIDQuICpYRU5cX1NZU0NUTFxfTElWRVBBVENIXF9HRVQqIHRvIGNo ZWNrIHRoZSBgLT5yY2AuIElmIGluICotWEVOXF9FQUdBSU4qIHNwaW4uIElmIHplcm8gZXhpdCB3 aXRoIHN1Y2Nlc3MuCiAKIAogIyMgQWRkZW5kdW0KQEAgLTgwNywxOCArNzY3LDE4IEBAIG1pbmlt aXplIHRoZSBjaGFuY2Ugb2YgdGhlIHBhdGNoIG5vdCBiZWluZyBhcHBsaWVkIGR1ZSB0byBzYWZl dHkKIGNoZWNrcyBmYWlsaW5nLiBTYWZldHkgY2hlY2tzIHN1Y2ggYXMgbm90IHBhdGNoaW5nIGNv ZGUgd2hpY2gKIGlzIG9uIHRoZSBzdGFjayAtIHdoaWNoIGNhbiBsZWFkIHRvIGNvcnJ1cHRpb24u CiAKLSMjIyMgUmVuZGV6dm91cyBjb2RlIGluc3RlYWQgb2Ygc3RvcF9tYWNoaW5lIGZvciBwYXRj aGluZworIyMjIyBSZW5kZXp2b3VzIGNvZGUgaW5zdGVhZCBvZiBzdG9wXF9tYWNoaW5lIGZvciBw YXRjaGluZwogCiBUaGUgaHlwZXJ2aXNvcidzIHRpbWUgcmVuZGV6dm91cyBjb2RlIHJ1bnMgc3lu Y2hyb25vdXNseSBhY3Jvc3MgYWxsIENQVXMKLWV2ZXJ5IHNlY29uZC4gVXNpbmcgdGhlIHN0b3Bf bWFjaGluZSB0byBwYXRjaCBjYW4gc3RhbGwgdGhlIHRpbWUgcmVuZGV6dm91cworZXZlcnkgc2Vj b25kLiBVc2luZyB0aGUgc3RvcFxfbWFjaGluZSB0byBwYXRjaCBjYW4gc3RhbGwgdGhlIHRpbWUg cmVuZGV6dm91cwogY29kZSBhbmQgcmVzdWx0IGluIE5NSS4gQXMgc3VjaCBoYXZpbmcgdGhlIHBh dGNoaW5nIGJlIGRvbmUgYXQgdGhlIHRhaWwKIG9mIHJlbmRlenZvdXMgY29kZSBzaG91bGQgYXZv aWQgdGhpcyBwcm9ibGVtLgogCiBIb3dldmVyIHRoZSBlbnRyYW5jZSBwb2ludCBmb3IgdGhhdCBj b2RlIGlzCi1kb19zb2Z0aXJxLT50aW1lcl9zb2Z0aXJxX2FjdGlvbi0+dGltZV9jYWxpYnJhdGlv bgotd2hpY2ggZW5kcyB1cCBjYWxsaW5nIG9uX3NlbGVjdGVkX2NwdXMgb24gcmVtb3RlIENQVXMu Citkb1xfc29mdGlycS0mZ3Q7dGltZXJcX3NvZnRpcnFcX2FjdGlvbi0mZ3Q7dGltZVxfY2FsaWJy YXRpb24KK3doaWNoIGVuZHMgdXAgY2FsbGluZyBvblxfc2VsZWN0ZWRcX2NwdXMgb24gcmVtb3Rl IENQVXMuCiAKLVRoZSByZW1vdGUgQ1BVcyByZWNlaXZlIENBTExfRlVOQ1RJT05fVkVDVE9SIElQ SSBhbmQgZXhlY3V0ZSB0aGUKK1RoZSByZW1vdGUgQ1BVcyByZWNlaXZlIENBTExcX0ZVTkNUSU9O XF9WRUNUT1IgSVBJIGFuZCBleGVjdXRlIHRoZQogZGVzaXJlZCBmdW5jdGlvbi4KIAogIyMjIyBC ZWZvcmUgZW50ZXJpbmcgdGhlIGd1ZXN0IGNvZGUuCkBAIC04MzIsNyArNzkyLDcgQEAgY291bGQg YmUgYWRqdXN0ZWQpLCBjb21iaW5lZCB3aXRoIGZvcmNpbmcgYWxsIG90aGVyIENQVXMgdGhyb3Vn aCB0aGUKIGh5cGVydmlzb3Igd2l0aCBJUElzLCBjYW4gYmUgdXRpbGl6ZWQgdG8gZXhlY3V0ZSBs b2Nrc3RlcCBpbnN0cnVjdGlvbnMKIG9uIGFsbCBDUFVzLgogCi1UaGUgYXBwcm9hY2ggaXMgc2lt aWxhciBpbiBjb25jZXB0IHRvIHN0b3BfbWFjaGluZSBhbmQgdGhlIHRpbWUgcmVuZGV6dm91cwor VGhlIGFwcHJvYWNoIGlzIHNpbWlsYXIgaW4gY29uY2VwdCB0byBzdG9wXF9tYWNoaW5lIGFuZCB0 aGUgdGltZSByZW5kZXp2b3VzCiBidXQgaXMgdGltZS1ib3VuZC4gSG93ZXZlciB0aGUgbG9jYWwg Q1BVIHN0YWNrIGlzIG11Y2ggc2hvcnRlciBhbmQKIGEgbG90IG1vcmUgZGV0ZXJtaW5pc3RpYy4K IApAQCAtOTY3LDEwICs5MjcsMTAgQEAgVGhlIGltcGxlbWVudGF0aW9uIG11c3QgYWxzbyBoYXZl IGEgbWVjaGFuaXNtIGZvciAoaW4gbm8gcGFydGljdWxhciBvcmRlcik6CiAgICB0aGUgc3RhY2ss IG1ha2Ugc3VyZSB0aGUgcGF5bG9hZCBpcyBidWlsdCB3aXRoIHNhbWUgY29tcGlsZXIgYXMgaHlw ZXJ2aXNvcikuCiAgICBTcGVjaWZpY2FsbHkgd2Ugd2FudCB0byBtYWtlIHN1cmUgdGhhdCBsaXZl IHBhdGNoaW5nIGNvZGVwYXRocyBjYW5ub3QgYmUgcGF0Y2hlZC4KICAqIE5PUCBvdXQgdGhlIGNv ZGUgc2VxdWVuY2UgaWYgYG5ld19zaXplYCBpcyB6ZXJvLgotICogRGVhbCB3aXRoIG90aGVyIHJl bG9jYXRpb24gdHlwZXM6ICBSX1g4Nl82NF9bOCwxNiwzMiwzMlNdLCBSX1g4Nl82NF9QQ1s4LDE2 LDY0XQorICogRGVhbCB3aXRoIG90aGVyIHJlbG9jYXRpb24gdHlwZXM6ICBSXF9YODZcXzY0XF9b OCwxNiwzMiwzMlNdLCBSXF9YODZcXzY0XF9QQ1s4LDE2LDY0XQogICAgaW4gcGF5bG9hZCBmaWxl LgogCi0jIyMgSGFuZGxlIGlubGluZWQgX19MSU5FX18KKyMjIyBIYW5kbGUgaW5saW5lZCBcX1xf TElORVxfXF8KIAogVGhpcyBwcm9ibGVtIGlzIHJlbGF0ZWQgdG8gaG90cGF0Y2ggY29uc3RydWN0 aW9uCiBhbmQgcG90ZW50aWFsbHkgaGFzIGluZmx1ZW5jZSBvbiB0aGUgZGVzaWduIG9mIHRoZSBo b3RwYXRjaGluZwpAQCAtMTAzMCw3ICs5OTAsNyBAQCBPcHRpb25zOgogRm9yIEJVRygpLCBXQVJO KCksIGV0Yy4sIHRoZSBsaW5lIG51bWJlciBpcyBlbWJlZGRlZCBpbnRvIHRoZSBidWcgZnJhbWUs IG5vdAogdGhlIGZ1bmN0aW9uIGl0c2VsZi4KIAotU2ltaWxhciBjb25zaWRlcmF0aW9ucyBhcmUg dHJ1ZSB0byBhIGxlc3NlciBleHRlbnQgZm9yIF9fRklMRV9fLCBidXQgaXQKK1NpbWlsYXIgY29u c2lkZXJhdGlvbnMgYXJlIHRydWUgdG8gYSBsZXNzZXIgZXh0ZW50IGZvciBcX1xfRklMRVxfXF8s IGJ1dCBpdAogY291bGQgYmUgYXJndWVkIHRoYXQgZmlsZSByZW5hbWluZyBzaG91bGQgYmUgZG9u ZSBvdXRzaWRlIG9mIGhvdHBhdGNoZXMuCiAKICMjIFNpZ25hdHVyZSBjaGVja2luZyByZXF1aXJl bWVudHMuCkBAIC0xMDQyLDQ5ICsxMDAyLDQ3IEBAIGV4cGVjdGluZyBzdWNoIHRoYXQgaXQgY2Fu IHByb3Blcmx5IGRvIHNpZ25hdHVyZSB2ZXJpZmljYXRpb24uCiAKIFRoZSBzaWduYXR1cmUgaXMg YmFzZWQgb24gdGhlIGFsbCBvZiB0aGUgcGF5bG9hZHMgY29udGludW91c2x5IGxhaWQgb3V0CiBp biBtZW1vcnkuIFRoZSBzaWduYXR1cmUgaXMgdG8gYmUgYXBwZW5kZWQgYXQgdGhlIGVuZCBvZiB0 aGUgRUxGIHBheWxvYWQKLXByZWZpeGVkIHdpdGggdGhlIHN0cmluZyBgJ35Nb2R1bGUgc2lnbmF0 dXJlIGFwcGVuZGVkflxuJ2AsIGZvbGxvd2VkIGJ5CitwcmVmaXhlZCB3aXRoIHRoZSBzdHJpbmcg J2B+TW9kdWxlIHNpZ25hdHVyZSBhcHBlbmRlZH5cbmAnLCBmb2xsb3dlZCBieQogYW4gc2lnbmF0 dXJlIGhlYWRlciB0aGVuIGZvbGxvd2VkIGJ5IHRoZSBzaWduYXR1cmUsIGtleSBpZGVudGlmaWVy LCBhbmQgc2lnbmVycwogbmFtZS4KIAogU3BlY2lmaWNhbGx5IHRoZSBzaWduYXR1cmUgaGVhZGVy IHdvdWxkIGJlOgogCi08cHJlPgotI2RlZmluZSBQS0VZX0FMR09fRFNBICAgICAgIDAgIAotI2Rl ZmluZSBQS0VZX0FMR09fUlNBICAgICAgIDEgIAotCi0jZGVmaW5lIFBLRVlfSURfUEdQICAgICAg ICAgMCAvKiBPcGVuUEdQIGdlbmVyYXRlZCBrZXkgSUQgKi8gIAotI2RlZmluZSBQS0VZX0lEX1g1 MDkgICAgICAgIDEgLyogWC41MDkgYXJiaXRyYXJ5IHN1YmplY3RLZXlJZGVudGlmaWVyICovICAK LQotI2RlZmluZSBIQVNIX0FMR09fTUQ0ICAgICAgICAgIDAgIAotI2RlZmluZSBIQVNIX0FMR09f TUQ1ICAgICAgICAgIDEgIAotI2RlZmluZSBIQVNIX0FMR09fU0hBMSAgICAgICAgIDIgIAotI2Rl ZmluZSBIQVNIX0FMR09fUklQRV9NRF8xNjAgIDMgIAotI2RlZmluZSBIQVNIX0FMR09fU0hBMjU2 ICAgICAgIDQgIAotI2RlZmluZSBIQVNIX0FMR09fU0hBMzg0ICAgICAgIDUgIAotI2RlZmluZSBI QVNIX0FMR09fU0hBNTEyICAgICAgIDYgIAotI2RlZmluZSBIQVNIX0FMR09fU0hBMjI0ICAgICAg IDcgIAotI2RlZmluZSBIQVNIX0FMR09fUklQRV9NRF8xMjggIDggIAotI2RlZmluZSBIQVNIX0FM R09fUklQRV9NRF8yNTYgIDkgIAotI2RlZmluZSBIQVNIX0FMR09fUklQRV9NRF8zMjAgMTAgIAot I2RlZmluZSBIQVNIX0FMR09fV1BfMjU2ICAgICAgMTEgIAotI2RlZmluZSBIQVNIX0FMR09fV1Bf Mzg0ICAgICAgMTIgIAotI2RlZmluZSBIQVNIX0FMR09fV1BfNTEyICAgICAgMTMgIAotI2RlZmlu ZSBIQVNIX0FMR09fVEdSXzEyOCAgICAgMTQgIAotI2RlZmluZSBIQVNIX0FMR09fVEdSXzE2MCAg ICAgMTUgIAotI2RlZmluZSBIQVNIX0FMR09fVEdSXzE5MiAgICAgMTYgIAotCi0KLXN0cnVjdCBl bGZfcGF5bG9hZF9zaWduYXR1cmUgeyAgCi0JdTgJYWxnbzsJCS8qIFB1YmxpYy1rZXkgY3J5cHRv IGFsZ29yaXRobSBQS0VZX0FMR09fKi4gKi8gIAotCXU4CWhhc2g7CQkvKiBEaWdlc3QgYWxnb3Jp dGhtOiBIQVNIX0FMR09fKi4gKi8gIAotCXU4CWlkX3R5cGU7CS8qIEtleSBpZGVudGlmaWVyIHR5 cGUgUEtFWV9JRCouICovICAKLQl1OAlzaWduZXJfbGVuOwkvKiBMZW5ndGggb2Ygc2lnbmVyJ3Mg bmFtZSAqLyAgCi0JdTgJa2V5X2lkX2xlbjsJLyogTGVuZ3RoIG9mIGtleSBpZGVudGlmaWVyICov ICAKLQl1OAlfX3BhZFszXTsgIAotCV9fYmUzMglzaWdfbGVuOwkvKiBMZW5ndGggb2Ygc2lnbmF0 dXJlIGRhdGEgKi8gIAotfTsKLQotPC9wcmU+CisgICAgI2RlZmluZSBQS0VZX0FMR09fRFNBICAg ICAgIDAKKyAgICAjZGVmaW5lIFBLRVlfQUxHT19SU0EgICAgICAgMQorICAgIAorICAgICNkZWZp bmUgUEtFWV9JRF9QR1AgICAgICAgICAwIC8qIE9wZW5QR1AgZ2VuZXJhdGVkIGtleSBJRCAqLwor ICAgICNkZWZpbmUgUEtFWV9JRF9YNTA5ICAgICAgICAxIC8qIFguNTA5IGFyYml0cmFyeSBzdWJq ZWN0S2V5SWRlbnRpZmllciAqLworICAgIAorICAgICNkZWZpbmUgSEFTSF9BTEdPX01ENCAgICAg ICAgICAwCisgICAgI2RlZmluZSBIQVNIX0FMR09fTUQ1ICAgICAgICAgIDEKKyAgICAjZGVmaW5l IEhBU0hfQUxHT19TSEExICAgICAgICAgMgorICAgICNkZWZpbmUgSEFTSF9BTEdPX1JJUEVfTURf MTYwICAzCisgICAgI2RlZmluZSBIQVNIX0FMR09fU0hBMjU2ICAgICAgIDQKKyAgICAjZGVmaW5l IEhBU0hfQUxHT19TSEEzODQgICAgICAgNQorICAgICNkZWZpbmUgSEFTSF9BTEdPX1NIQTUxMiAg ICAgICA2CisgICAgI2RlZmluZSBIQVNIX0FMR09fU0hBMjI0ICAgICAgIDcKKyAgICAjZGVmaW5l IEhBU0hfQUxHT19SSVBFX01EXzEyOCAgOAorICAgICNkZWZpbmUgSEFTSF9BTEdPX1JJUEVfTURf MjU2ICA5CisgICAgI2RlZmluZSBIQVNIX0FMR09fUklQRV9NRF8zMjAgMTAKKyAgICAjZGVmaW5l IEhBU0hfQUxHT19XUF8yNTYgICAgICAxMQorICAgICNkZWZpbmUgSEFTSF9BTEdPX1dQXzM4NCAg ICAgIDEyCisgICAgI2RlZmluZSBIQVNIX0FMR09fV1BfNTEyICAgICAgMTMKKyAgICAjZGVmaW5l IEhBU0hfQUxHT19UR1JfMTI4ICAgICAxNAorICAgICNkZWZpbmUgSEFTSF9BTEdPX1RHUl8xNjAg ICAgIDE1CisgICAgI2RlZmluZSBIQVNIX0FMR09fVEdSXzE5MiAgICAgMTYKKyAgICAKKyAgICAK KyAgICBzdHJ1Y3QgZWxmX3BheWxvYWRfc2lnbmF0dXJlIHsKKwkgICAgdTgJYWxnbzsJCS8qIFB1 YmxpYy1rZXkgY3J5cHRvIGFsZ29yaXRobSBQS0VZX0FMR09fKi4gKi8KKwkgICAgdTgJaGFzaDsJ CS8qIERpZ2VzdCBhbGdvcml0aG06IEhBU0hfQUxHT18qLiAqLworCSAgICB1OAlpZF90eXBlOwkv KiBLZXkgaWRlbnRpZmllciB0eXBlIFBLRVlfSUQqLiAqLworCSAgICB1OAlzaWduZXJfbGVuOwkv KiBMZW5ndGggb2Ygc2lnbmVyJ3MgbmFtZSAqLworCSAgICB1OAlrZXlfaWRfbGVuOwkvKiBMZW5n dGggb2Yga2V5IGlkZW50aWZpZXIgKi8KKwkgICAgdTgJX19wYWRbM107CisJICAgIF9fYmUzMglz aWdfbGVuOwkvKiBMZW5ndGggb2Ygc2lnbmF0dXJlIGRhdGEgKi8KKyAgICB9OworICAgIAogKE5v dGUgdGhhdCB0aGlzIGhhcyBiZWVuIGJvcnJvd2VkIGZyb20gTGludXggbW9kdWxlIHNpZ25hdHVy ZSBjb2RlLikuCiAKIApAQCAtMTEyOCwxNSArMTA4NiwxMyBAQCBhdCBsZWFzdCBmaXZlIGJ5dGVz IGlmIHBhdGNoaW5nIGluIHRyYW1wb2xpbmUuCiBEZXBlbmRpbmcgb24gY29tcGlsZXIgc2V0dGlu Z3MsIHRoZXJlIGFyZSBzZXZlcmFsIGZ1bmN0aW9ucyBpbiBYZW4gdGhhdAogYXJlIHNtYWxsZXIg KHdpdGhvdXQgaW50ZXItZnVuY3Rpb24gcGFkZGluZykuCiAKLTxwcmU+IAotcmVhZGVsZiAtc1cg eGVuLXN5bXMgfCBncmVwICIgRlVOQyAiIHwgXAotICAgIGF3ayAneyBpZiAoJDMgPCA1KSBwcmlu dCAkMywgJDQsICQ1LCAkOCB9JwotCi0uLi4KLTMgRlVOQyBMT0NBTCB3YmludmRfaXBpCi0zIEZV TkMgTE9DQUwgc2hhZG93X2wxX2luZGV4Ci0uLi4KLTwvcHJlPgorICAgIHJlYWRlbGYgLXNXIHhl bi1zeW1zIHwgZ3JlcCAiIEZVTkMgIiB8IFwKKyAgICAgICAgYXdrICd7IGlmICgkMyA8IDUpIHBy aW50ICQzLCAkNCwgJDUsICQ4IH0nCisgICAgCisgICAgLi4uCisgICAgMyBGVU5DIExPQ0FMIHdi aW52ZF9pcGkKKyAgICAzIEZVTkMgTE9DQUwgc2hhZG93X2wxX2luZGV4CisgICAgLi4uCiBBIGNv bXBpbGUtdGltZSBjaGVjayBmb3IsIGUuZy4sIGEgbWluaW11bSBhbGlnbm1lbnQgb2YgZnVuY3Rp b25zIG9yIGEKIHJ1bnRpbWUgY2hlY2sgdGhhdCB2ZXJpZmllcyBzeW1ib2wgc2l6ZSAoKyBwYWRk aW5nIHRvIG5leHQgc3ltYm9scykgZm9yCiB0aGF0IGluIHRoZSBoeXBlcnZpc29yIGlzIGFkdmlz ZWQuCi0tIAoyLjEzLjYKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0 Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8veGVuLWRl dmVs