From mboxrd@z Thu Jan 1 00:00:00 1970 From: George Dunlap Subject: [PATCH v4 1/6] docs/qemu-deprivilege: Revise and update with status and future plans Date: Mon, 5 Nov 2018 18:07:06 +0000 Message-ID: <20181105180711.20322-1-george.dunlap@citrix.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] helo=us1-amaz-eas2.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1gJjIE-0000ag-8B for xen-devel@lists.xenproject.org; Mon, 05 Nov 2018 18:08:06 +0000 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: Stefano Stabellini , Wei Liu , Konrad Wilk , Andrew Cooper , Tim Deegan , George Dunlap , Ross Lagerwall , Julien Grall , Jan Beulich , Anthony Perard , Ian Jackson List-Id: xen-devel@lists.xenproject.org ZG9jcy9xZW11LWRlcHJpdmlsZWdlLnR4dCBoYWQgc29tZSBiYXNpYyBpbnN0cnVjdGlvbnMgZm9y IHVzaW5nCmRtX3Jlc3RyaWN0LCBidXQgaXQgd2FzIGluY29tcGxldGUsIG1pc2xlYWRpbmcsIGFu ZCBzdGFsZS4KClVwZGF0ZSB0aGUgZG9jcyBpbiBhIG51bWJlciBvZiB3YXlzLgoKRmlyc3QsIHNl cGFyYXRlIHVzZXItZmFjaW5nIGRvY3VtZW50YXRpb24gYW5kIHRlY2huaWNhbCBkZXNjcmlwdGlv bgppbnRvIGRvY3MvZmVhdHVyZXMgYW5kIGRvY3MvZGVzaWduLCByZXNwZWN0aXZlbHkuCgpJbiB0 aGUgZmVhdHVyZSBkb2M6CgoqIEludHJvZHVjZSBhIHNlY3Rpb24gbWVudGlvbmluZyBtaW5pbWlt IHZlcnNpb25zIG9mIExpbnV4LCBYZW4sIGFuZApxZW11IHJlcXVpcmVkIChUQkQpCgoqIEZpeCB0 aGUgZGlzY3Vzc2lvbiBvZiBxZW11IHVzZXJpZC4gIE1lbnRpb24geGVuLXFlbXV1c2VyLXJhbmdl LWJhc2UsCmFuZCBwcm92aWRlIGV4YW1wbGUgc2hlbGwgY29kZSB0aGF0IGFjdHVhbGx5IGhhcyBz b21lIGhvcGUgb2Ygd29ya2luZwooaW5zdGVhZCBvZiBmYWlsaW5nIG91dCBhZnRlciBjcmVhdGlu ZyA5MDAgdXNlcmlkcykuCgoqIERlc2NyaWJlIGhvdyB0byBlbmFibGUgcmVzdHJpY3Rpb25zLCBh cyB3ZWxsIGFzIGZlYXR1cmVzIHdoaWNoCnByb2JhYmx5IGRvbid0IG9yIGRlZmluaXRlbHkgZG9u J3Qgd29yay4KCkluIHRoZSBkZXNpZ24gZG9jLCBpbnRyb2R1Y2UgYSAiVGVjaG5pY2FsIERldGFp bHMiIHNlY3Rpb24gd2hpY2gKZGVzY3JpYmVzIHNwZWNpZmljYWxseSB3aGF0IHJlc3RyaWN0aW9u cyBhcmUgY3VycmVudGx5IGRvbmUsIGFuZCBhbHNvCndoYXQgcmVzdHJpY3Rpb25zIHdlIGFyZSBs b29raW5nIGF0IGRvaW5nIGluIHRoZSBmdXR1cmUuCgpUaGUgaWRlYSBoZXJlIGlzIHRoYXQgYXMg d2UgaW1wbGVtZW50IHRoZSB2YXJpb3VzIGl0ZW1zIGZvciB0aGUKZnV0dXJlLCB3ZSBtb3ZlIHRo ZW0gZnJvbSAiUmVzdHJpY3Rpb25zIHN0aWxsIHRvIGRvIiB0byAiUmVzdHJpY3Rpb25zCmRvbmUi LiAgVGhpcyBjYW4gYWxzbyBhY3QgYXMgYSBkZXNpZ24gZG9jdW1lbnQgLS0gYSBwbGFjZSBmb3Ig cHVibGljCmRpc2N1c3Npb24gb2Ygd2hhdCBjYW4gb3Igc2hvdWxkIGJlIGRvbmUgYW5kIGhvdy4K CkFsc28gYWRkIGFuIGVudHJ5IHRvIFNVUFBPUlQubWQuCgpTaWduZWQtb2ZmLWJ5OiBHZW9yZ2Ug RHVubGFwIDxnZW9yZ2UuZHVubGFwQGNpdHJpeC5jb20+Ci0tLQpDaGFuZ2VzIHNpbmNlIHYzOgot IEZpeCB0eXBvICgzMi0+MTYpCi0gVXNlIGFuIGV4YW1wbGUgdmFsdWUgbm90IGNsb3NlIHRvIHRo ZSBgbm9ib2R5YCB1aWRzLCBidXQgc3RpbGwgYQogIG11bHRpcGxlIG9mIDJeMTYuCi0gTWVudGlv biB0aGF0IHVzaW5nIGEgbXVsdGlwbGUgb2YgMl4xNiBtYXkgaGF2ZSBhZHZhbnRhZ2VzLgotIEhh dmUgdGhlIGV4YW1wbGUgY3JlYXRlIGEgZ3JvdXAgYXMgd2VsbAotIFJlb3JnYW5pemUgdHdvIGNv bW1lbnRzIG9uIHRoZSAicmFuZ2UtYmFzZSIgbWV0aG9kIGZvciBjbGFyaXR5CgpDaGFuZ2VzIHNp bmNlIHYyOgotIEV4dHJhbmVvdXMgcHJpdmNtZCAvIGV2dGNobiBpbnN0YW5jZXMgYXJlbid0IGNs b3NlZAotIEV4cGFuZCBkZXNjcmlwdGlvbiBvZiBob3cgdG8gdGVzdCBmZCBkZXByaXZpbGVnaW5n Ci0gUmV3b3JrIGFuZCBjbGFyaWZ5IHR3byBuYW1lc3BhY2Ugc2VjdGlvbnMsIGdpdmUgcmVmZXJl bmNlIGZvciBRRU1VIE5BSwotIEFkZCBtb3JlIGluZm9ybWF0aW9uIGFib3V0IG1pZ3JhdGlvbiB0 ZWNobmljYWwgY2hhbGxlbmdlcwotIEluIFVJRCBzZWN0aW9uLCBtZW50aW9uIHBvc3NpYmlsaXR5 IG9mIGNvbnRhaW5lciBJRCBjb2xsaXNpb25zLgotIEZpeCBuYW1lIG9mIGRlc2lnbiBkb2N1bWVu dC4KLSBBZGQgU1VQUE9SVC5tZCBzdGF0ZW1lbnQuICBTcGVjaWZ5IExpbnV4LCB0byBtYWtlIHN1 cmUgdGhhdCBGcmVlQlNEIGlzCiAgZXZhbHVhdGVkIHNlcGFyYXRlbHkuCi0gTWVudGlvbiB0aGF0 IGAtc2FuZGJveGAgaXMgYSBibGFja2xpc3QgYW5kIHdoeQoKQ2hhbmdlcyBzaW5jZSB2MToKLSBC cmVhayBpbnRvIHR3bywgYW5kIG1vdmUgaW50byBhcHByb3ByaWF0ZSBkaXJlY3RvcmllcyAocmF0 aGVyIHRoYW4gJ21pc2MnKQotIFVwZGF0ZWQgdmVyc2lvbiByZXF1aXJlbWVudHMKLSBEaXN0aW5n dWlzaCBiZXR3ZWVuIGZlYXR1cmVzIHdoaWNoICJkb24ndCB5ZXQgd29yayIgYW5kIGZlYXR1cmVz IHdoaWNoIHdlIG5ldmVyIGV4cGVjdCB0byB3b3JrCi0gVXBkYXRlIGRlc2NyaXB0aW9uIG9mIHhl bi1yZXN0cmljdCBmdW5jdGlvbmFsaXR5Ci0gUmVvcmRlciBhbmQgZXhwYW5kIGZ1cnRoZXIgcmVz dHJpY3Rpb25zCi0gTWFrZSBpdCBtb3JlIGNsZWFyIHdoaWNoIHJlc3RyaWN0aW9ucyBhcmUgYXZh aWxhYmxlIG9uIExpbnV4IG9ubHkKLSBJbmNsdWRlIGRldGFpbGVkIGRlc2NyaXB0aW9uIG9mIGhv dyB0byBraWxsIGEgcHJvY2VzcwotIEFkZCBSTElNSVRfTlBST0MgYXMgc29tZXRoaW5nIHdlIGNh biBkbyB3aXRob3V0IGZ1cnRoZXIgY2hhbmdlcyB0byBxZW11Ci0gRG9jdW1lbnQgdGhlIG5lZWQg dG8gY2hlY2sgZm9yIHRoZSBzYW5kYm94IGZlYXR1cmUgYmVmb3JlIHVzaW5nIGl0CgpUaGFuayB5 b3UgdG8gUm9zcyBMYWdlcndhbGwsIHdob3NlIGRlc2NyaXB0aW9uIG9mIHdoYXQgWGVuU2VydmVy IGlzCmRvaW5nIGZvcm1lZCBtdWNoIG9mIHRoZSBiYXNpcyBmb3IgdGhlIHRleHQgaGVyZS4KCkND OiBJYW4gSmFja3NvbiA8aWFuLmphY2tzb25AY2l0cml4LmNvbT4KQ0M6IFdlaSBMaXUgPHdlaS5s aXUyQGNpdHJpeC5jb20+CkNDOiBBbmRyZXcgQ29vcGVyIDxhbmRyZXcuY29vcGVyM0BjaXRyaXgu Y29tPgpDQzogSmFuIEJldWxpY2ggPGpiZXVsaWNoQHN1c2UuY29tPgpDQzogVGltIERlZWdhbiA8 dGltQHhlbi5vcmc+CkNDOiBLb25yYWQgV2lsayA8a29ucmFkLndpbGtAb3JhY2xlLmNvbT4KQ0M6 IFN0ZWZhbm8gU3RhYmVsbGluaSA8c3N0YWJlbGxpbmlAa2VybmVsLm9yZz4KQ0M6IEp1bGllbiBH cmFsbCA8anVsaWVuLmdyYWxsQGFybS5jb20+CkNDOiBBbnRob255IFBlcmFyZCA8YW50aG9ueS5w ZXJhcmRAY2l0cml4LmNvbT4KQ0M6IFJvc3MgTGFnZXJ3YWxsIDxyb3NzLmxhZ2Vyd2FsbEBjaXRy aXguY29tPgotLS0KIGRvY3MvZGVzaWducy9xZW11LWRlcHJpdmlsZWdlLm1kICAgICAgfCAzMjIg KysrKysrKysrKysrKysrKysrKysrKysrKysKIGRvY3MvZmVhdHVyZXMvcWVtdS1kZXByaXZpbGVn ZS5wYW5kb2MgfCAxMDEgKysrKysrKysKIGRvY3MvbWlzYy9xZW11LWRlcHJpdmlsZWdlLnR4dCAg ICAgICAgfCAgMzYgLS0tCiAzIGZpbGVzIGNoYW5nZWQsIDQyMyBpbnNlcnRpb25zKCspLCAzNiBk ZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBkb2NzL2Rlc2lnbnMvcWVtdS1kZXByaXZp bGVnZS5tZAogY3JlYXRlIG1vZGUgMTAwNjQ0IGRvY3MvZmVhdHVyZXMvcWVtdS1kZXByaXZpbGVn ZS5wYW5kb2MKIGRlbGV0ZSBtb2RlIDEwMDY0NCBkb2NzL21pc2MvcWVtdS1kZXByaXZpbGVnZS50 eHQKCmRpZmYgLS1naXQgYS9kb2NzL2Rlc2lnbnMvcWVtdS1kZXByaXZpbGVnZS5tZCBiL2RvY3Mv ZGVzaWducy9xZW11LWRlcHJpdmlsZWdlLm1kCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw MDAwMDAwMDAuLjc4N2FlMWFjN2MKLS0tIC9kZXYvbnVsbAorKysgYi9kb2NzL2Rlc2lnbnMvcWVt dS1kZXByaXZpbGVnZS5tZApAQCAtMCwwICsxLDMyMiBAQAorIyBJbnRyb2R1Y3Rpb24KKworVGhl IGdvYWwgb2YgZGVwcmlsdmlsZWdpbmcgcWVtdSBpcyB0aGlzOiBFdmVuIGlmIHRoZXJlIGlzIGEg YnVnIChmb3IKK2V4YW1wbGUgaW4gcWVtdSkgd2hpY2ggcGVybWl0cyBhIGRvbWFpbiB0byBnYWlu IGNvbnRyb2wgb2YgdGhlIGRldmljZQorbW9kZWwsIHRoZSBjb21wcm9taXNlZCBkZXZpY2UgbW9k ZWwgcHJvY2VzcyBpcyBwcmV2ZW50ZWQgZnJvbQordmlvbGF0aW5nIHRoZSBzeXN0ZW0ncyBvdmVy YWxsIHNlY3VyaXR5IHByb3BlcnRpZXMuICBJZSwgYSBndWVzdAorY2Fubm90ICJlc2NhcGUiIGZy b20gdGhlIHZpcnR1YWxpc2F0aW9uIGJ5IHVzaW5nIGEgcWVtdSBidWcuCisKK1RoaXMgZG9jdW1l bnQgbGlzdHMgdGhlIHZhcmlvdXMgdGVjaG5pY2FsIG1lYXN1cmVzIHdoaWNoIHdlIGVpdGhlcgor aGF2ZSB0YWtlbiwgb3IgcGxhbiB0byB0YWtlIHRvIGVmZmVjdCB0aGlzIGdvYWwuICBTb21lIG9m IHRoZW0gYXJlCityZXF1aXJlZCB0byBiZSBjb25zaWRlcmVkIHNlY3VyZSAodGhhdCBpcywgdGhl cmUgYXJlIGtub3duIGF0dGFjawordmVjdG9ycyB3aGljaCB0aGV5IGNsb3NlKTsgb3RoZXJzIGFy ZSAianVzdCBpbiBjYXNlIiAodGhhdCBpcywgdGhlcmUKK2FyZSBubyBrbm93biBhdHRhY2sgdmVj dG9ycywgYnV0IHdlIHBlcmZvcm0gdGhlIHJlc3RyaWN0aW9ucyB0byByZWR1Y2UKK3RoZSBwb3Nz aWJpbGl0eSBvZiB1bmtub3duIGF0dGFjayB2ZWN0b3JzKS4KKworIyBSZXN0cmljdGlvbnMgZG9u ZQorCitUaGUgZm9sbG93aW5nIHJlc3RyaWN0aW9ucyBhcmUgY3VycmVudGx5IGltcGxlbWVudGVk LgorCisjIyBIYXZpbmcgcWVtdSBzd2l0Y2ggdXNlcgorCisnJydEZXNjcmlwdGlvbicnJzogQXMg bWVudGlvbmVkIGFib3ZlLCBoYXZpbmcgUUVNVSBzd2l0Y2ggdG8gYQorbm9uLXJvb3QgdXNlciwg b25lIHBlciBkb21haW4gaWQuICBOb3QgYmVpbmcgdGhlIHJvb3QgdXNlciBsaW1pdHMgd2hhdAor YSBjb21wcm9taXNlZCBRRU1VIHByb2Nlc3MgY2FuIGRvIHRvIHRoZSBzeXN0ZW0sIGFuZCBoYXZp bmcgb25lIHVzZXIKK3BlciBkb21haW4gaWQgbGltaXRzIHdoYXQgYSBjb21wcmltaXNlZCBRRU1V IHByb2Nlc3MgY2FuIGRvIHRvIHRoZQorUUVNVSBwcm9jZXNzZXMgb2Ygb3RoZXIgVk1zLgorCisn JydJbXBsZW1lbnRhdGlvbicnJzogVGhlIHRvb2xzdGFjayBhZGRzIHRoZSBmb2xsb3dpbmcgdG8g dGhlIHFlbXUgY29tbWFuZC1saW5lOgorCisgICAgLXJ1bmFzIDx1aWQ+OjxnaWQ+CisKKycnJ0hv dyB0byB0ZXN0JycnOgorCisgICAgZ3JlcCAvcHJvYy88cXBpZD4vc3RhdHVzIFtVR11pZAorCisn JydUZXN0aW5nIFN0YXR1cycnJzogTm90IHRlc3RlZAorCisjIyBYZW4gbGlicmFyeSAvIGZpbGUt ZGVzY3JpcHRvciByZXN0cmljdGlvbnMKKworJycnRGVzY3JpcHRpb24nJyc6IENsb3NlIGFuZCBy ZXN0cmljdCBYZW4tcmVsYXRlZCBmaWxlIGRlc2NyaXB0b3JzLgorU3BlY2lmaWNhbGx5OgorICog Q2xvc2UgYWxsIHhlbnN0b3JlLXJlbGF0ZWQgZmlsZSBkZXNjcmlwdG9ycworICogTWFrZSBzdXJl IHRoYXQgYWxsIG9wZW4gaW5zdGFuY2VzIG9mIGBwcml2Y21kYCBhbmQgYGV2dGNobmAgZmlsZQor ZGVzY3JpcHRvcnMgaGF2ZSBoYWQgYElPQ1RMX1BSSVZDTURfUkVTVFJJQ1RgIGFuZAorYElPQ1RM X0VWVENITl9SRVNUUklDVF9ET01JRGAgaW9jdGxzIGNhbGxlZCBvbiB0aGVtLCByZXNwZWN0aXZl bHkuCisKK0ZJWE1FOiBEb3VibGUtY2hlY2sgdGhlIGNvcnJlY3RuZXNzIG9mIHRoZSBhYm92ZQor CisnJydJbXBsZW1lbnRhdGlvbicnJzogVG9vbHN0YWNrIGFkZHMgdGhlIGZvbGxvd2luZyB0byB0 aGUgcWVtdSBjb21tYW5kLWxpbmU6CisKKyAgICAteGVuLWRvbWlkLXJlc3RyaWN0CisKKycnJ0hv dyB0byB0ZXN0JycnOgorCitVc2UgYGZpc2hkZXNjcmlwdG9yYCB0byBwdWxsIGEgZmlsZSBkZXNj cmlwdG9yIGZyb20gYSBydW5uaW5nIFFFTVUsCit0aGVuIHVzZSBgZGVwcml2LWZkLWNoZWNrZXJg IHRvIGNoZWNrIHRoYXQgaXQgaGFzIHRoZSBkZXNpcmVkCitwcm9wZXJ0aWVzLCBhbmQgdGhhdCBo eXBlcmNhbGxzIHdoaWNoIGFyZSBtZWFudCB0byBmYWlsIGRvIGZhaWwuICAoSW4KK0RlYmlhbiBg ZmlzaGRlc2NyaXB0b3JgIGNhbiBiZSBmb3VuZCBpbiB0aGUgYmluYXJ5IHBhY2thZ2UKK2BjaGlh cmstc2NyaXB0c2A7IHRoZSBgZGVwcml2LWZkLWNoZWNrZXJgIGlzIGluY2x1ZGVkIGluIHRoZSBY ZW4KK3NvdXJjZSB0cmVlLikKKworJycnVGVzdGluZyBzdGF0dXMnJyc6IFRlc3RlZAorCisjIFJl c3RyaWN0aW9ucyAvIGltcHJvdmVtZW50cyBzdGlsbCB0byBkbworCitUaGlzIGxpc3RzIHBvdGVu dGlhbCByZXN0cmljdGlvbnMgc3RpbGwgdG8gZG8uICBJdCBpcyBtZWFudCB0byBiZQorbGlzdGVk IGluIG9yZGVyIG9mIGVhc2Ugb2YgaW1wbGVtZW50YXRpb24sIHdpdGggbG93LWhhbmdpbmcgZnJ1 aXQKK2ZpcnN0LgorCisjIyBDaHJvb3QKKworJycnRGVzY3JpcHRpb24nJyc6IFFlbXUgcnVucyBp biBpdHMgb3duIGNocm9vdCwgc3VjaCB0aGF0IGV2ZW4gaWYgaXQKK2NvdWxkIGNhbGwgYW4gJ29w ZW4nIGNvbW1hbmQgb2Ygc29tZSBzb3J0LCB0aGVyZSB3b3VsZCBiZSBub3RoaW5nIGZvcgoraXQg dG8gc2VlLgorCisnJydJbXBsZW1lbnRhdGlvbicnJzogVGhlIHRvb2xzdGFjayBjcmVhdGVzIGEg ZGlyZWN0b3J5IGluIHRoZSBsaWJ4bCAicnVuLWRpciI7IGUuZy4KK2AvdmFyL3J1bi94ZW4vcWVt dS1yb290LTxkb21pZD5gCisKK1RoZW4gYWRkcyB0aGUgZm9sbG93aW5nIHRvIHRoZSBxZW11IGNv bW1hbmQtbGluZToKKworICAgIC1jaHJvb3QgL3Zhci9ydW4veGVuL3FlbXUtcm9vdC08ZG9taWQ+ CisJCisnJydIb3cgdG8gdGVzdCcnJzogIENoZWNrIGAvcHJvYy88cXBpZD4vcm9vdGAKKwkKKycn J1Rlc3RlZCcnJzogTm90IHRlc3RlZAorCisjIyBOYW1lc3BhY2VzIGZvciB1bnVzZWQgZnVuY3Rp b25hbGl0eSAoTGludXggb25seSkKKworJycnRGVzY3JpcHRpb24nJyc6IFFFTVUgZG9lc24ndCB1 c2UgdGhlIGZ1bmN0aW9uYWxpdHkgYXNzb2NpYXRlZCB3aXRoCittb3VudCBhbmQgSVBDIG5hbWVz cGFjZXMuIChJUEMgbmFtZXNwYWNlcyBjb250b2wgbm9uLWZpbGUtYmFzZWQgSVBDCittZWNoYW5p c21zIHdpdGhpbiB0aGUga2VybmVsOyB1bml4IGFuZCBuZXR3b3JrIHNvY2tldHMgYXJlIG5vdAor YWZmZWN0ZWQgYnkgdGhpcy4pICBNYWtpbmcgc2VwYXJhdGUgbmFtZXNwYWNlcyBmb3IgdGhlc2Ug Zm9yIFFFTVUKK3dvbid0IGFmZmVjdCBub3JtYWwgb3BlcmF0aW9uLCBidXQgaXQgZG9lcyBtZWFu IHRoYXQgZXZlbiBpZiBvdGhlcgorcmVzdHJpY3Rpb25zIGZhaWwsIHRoZSBwcm9jZXNzIHdvbid0 IGJlIGFibGUgdG8gZXZlbiBuYW1lIHN5c3RlbSBtb3VudAorcG9pbnRzIG9yIGV4aXN0aW5nIG5v bi1maWxlLWJhc2VkIElQQyBkZXNjcmlwdG9ycyB0byBhdHRlbXB0IHRvIGF0dGFjawordGhlbS4K KworJycnSW1wbGVtZW50YXRpb24nJyc6CisKK0luIHRoZW9yeSB0aGlzIGNvdWxkIGJlIGRvbmUg aW4gUUVNVSAoc2ltaWxhciB0byAtc2FuZGJveCwgLXJ1bmFzLAorLWNocm9vdCwgYW5kIHNvIG9u KSwgYnV0IGEgcGF0Y2ggZG9pbmcgdGhpcyBpbiBRRU1VIHdhcyBOQUtlZCB1cHN0cmVhbQorKHNl ZSBbcWVtdS1uYW1lc3BhY2VzXSkuIFRoZXkgcHJlZmVycmVkIHRoYXQgdGhpcyB3YXMgZG9uZSBh cyBhIHNldHVwIHN0ZXAgYnkKK3doYXRldmVyIGV4ZWN1dGVzIFFFTVU7IGkuZS4sIGhhdmUgdGhl IHByb2Nlc3Mgd2hpY2ggZXhlYydzIFFFTVUgZmlyc3QKK2NhbGw6CisKKyAgICB1bnNoYXJlKENM T05FX05FV05TIHwgQ0xPTkVfTkVXSVBDKQorCQorJycnSG93IHRvIHRlc3QnJyc6ICBDaGVjayBg L3Byb2MvPHFwaWQ+L25zL1tpcGMsbW50XWAKKworJycnVGVzdGVkJycnOiBOb3QgdGVzdGVkCisK K1txZW11LW5hbWVzcGFjZXNdOiBodHRwczovL2xpc3RzLmdudS5vcmcvYXJjaGl2ZS9odG1sL3Fl bXUtZGV2ZWwvMjAxNy0xMC9tc2cwNDcyMy5odG1sCisKKyMjIyBCYXNpYyBSTElNSVRzCisKKycn J0Rlc2NyaXB0aW9uJycnOiBBIG51bWJlciBvZiBsaW1pdHMgb24gdGhlIHJlc291cmNlcyB0aGF0 IGEgZ2l2ZW4KK3Byb2Nlc3MgLyB1c2VyaWQgaXMgYWxsb3dlZCB0byBjb25zdW1lLiAgVGhlc2Ug Y2FuIGxpbWl0IHRoZSBhYmlsaXR5CitvZiBhIGNvbXByb21pc2VkIFFFTVUgcHJvY2VzcyB0byBE b1MgZG9tYWluIDAgYnkgZXhoYXVzdGluZyB2YXJpb3VzCityZXNvdXJjZXMgYXZhaWxhYmxlIHRv IGl0LgorCisnJydJbXBsZW1lbnRhdGlvbicnJworCitMaW1pdHMgdGhhdCBjYW4gYmUgaW1wbGVt ZW50ZWQgaW1tZWRpYXRlbHkgd2l0aG91dCBtdWNoIGVmZm9ydDoKKyAtIFJMSU1JVF9GU0laRWAg KGZpbGUgc2l6ZSkgdG8gMjU2S2lCLgorIC0gUkxJTUlUX05QUk9DIChhZnRlciB1aWQgY2hhbmdl cyB0byBhIHVuaXF1ZSB1aWQpCisKK1Byb2JhYmx5IG5vdCBuZWNlc3NhcnkgYnV0IHdoeSBub3Q6 CisgLSBSTElNSVRfQ09SRTogMAorIC0gUkxJTUlUX01TR1FVRVVFOiAwCisgLSBSTElNSVRfTE9D S1M6IDAKKyAtIFJMSU1JVF9NRU1MT0NLOiAwCisgCitOb3RlOiBtbG9jaygpIGlzIHVzZWQgYnkg UUVNVSBvbmx5IHdoZW4gYm90aCAicmVhbHRpbWUiIGFuZCAibWxvY2siCithcmUgc3BlY2lmaWVk OyB0aGlzIGRvZXMgbm90IGFwcGx5IHRvIFFFTVUgcnVubmluZyBhcyBhIFhlbiBETS4KKyAgIAor JycnSG93IHRvIHRlc3QnJyc6IENoZWNrIGAvcHJvYy88cXBpZD4vbGltaXRzYAorCisnJydUZXN0 ZWQnJyc6IE5vdCB0ZXN0ZWQKKworIyMjIEZ1cnRoZXIgUkxJTUlUcworCitSTElNSVRfQVMgbGlt aXRzIHRoZSB0b3RhbCBhbW91bnQgb2YgbWVtb3J5OyBidXQgdGhpcyBpbmNsdWRlcyB0aGUKK3Zp cnR1YWwgbWVtb3J5IHdoaWNoIFFFTVUgdXNlcyBhcyBhIG1hcGNhY2hlLiAgeGVuLW1hcGNhY2hl LmMgYWxyZWFkeQorZmlkZGxlcyB3aXRoIHRoaXM7IGl0IHdvdWxkIGJlIHN0cmFpZ2h0Zm9yd2Fy ZCB0byBtYWtlIGl0ICpzZXQqIHRoZQorcmxpbWl0IHRvIHdoYXQgaXQgdGhpbmtzIGEgc2Vuc2li bGUgbGltaXQgaXMuCisKK090aGVyIHRoaW5ncyB0aGF0IHdvdWxkIHRha2Ugc29tZSBjbGV2ZXJu ZXNzIC8gY2hhbmdlcyB0byBRRU1VIHRvCit1dGlsaXplIGR1ZSB0byBvcmRlcmluZyBjb25zdHJh bnRzOgorIC0gUkxJTUlUX05PRklMRVMgKGFmdGVyIGFsbCBuZWNlc3NhcnkgZmlsZXMgYXJlIG9w ZW5lZCkKKworIyMjIGxpYnhsIFVJRCBjbGVhbnVwCisKKycnJ0Rlc2NyaXB0aW9uJycnOiBEb21h aW4gSURzIGFyZSByZXVzZWQsIGFuZCB0aHVzIHJlc3RyaWN0ZWQgVUlEcyBhcmUKK3JldXNlZC4g IElmIGEgY29tcHJvbWlzZWQgUUVNVSBjYW4gZm9yayAoZHVlIHRvIHNlY2NvbXAgb3IKK1JMSU1J VF9OUFJPQyBsaW1pdHMgYmVpbmcgaW5lZmZlY3RpdmUgZm9yIHNvbWUgcmVhc29uKSwgaXQgbWF5 IGF2b2lkCitiZWluZyBraWxsZWQgd2hlbiBpdHMgZG9tYWluIGRpZXMsIHRoZW4gd2FpdCB1bnRp bCB0aGUgZG9tYWluIElEIGlzCityZXVzZWQgYWdhaW4sIGF0IHdoaWNoIHBvaW50IGl0IHdpbGwg aGF2ZSBjb250cm9sIG92ZXIgdGhlIGRvbWFpbiBpbgorcXVlc3Rpb24gKHdoaWNoIHByb2JhYmx5 IGJlbG9uZ3MgdG8gc29tZW9uZSBlbHNlKS4KKworbGlieGwgc2hvdWxkIGtpbGwgYWxsIFVJRHMg YXNzb2NpYXRlZCB3aXRoIGEgZG9tYWluIGJvdGggd2hlbiB0aGUgVk0KK2lzIGRlc3Ryb3llZCwg YW5kIGJlZm9yZSBzdGFydGluZyBhIFZNIHdpdGggdGhlIHNhbWUgVUlELgorCisnJydJbXBsZW1l bnRhdGlvbicnJzogVGhpcyBpcyB1bm5lY2Vzc2FyaWx5IHRyaWNreS4KKworVGhlIGtpbGwoKSBz eXN0ZW0gY2FsbCBjYW4gaGF2ZSB0aHJlZSBraW5kcyBvZiB0YXJnZXRzOgorIC0gQSBzaW5nbGUg cGlkCisgLSBBIHByb2Nlc3MgZ3JvdXAKKyAtICJFdmVyeSBwcm9jZXNzIGV4Y2VwdCBtZSB0byB3 aGljaCBJIGFtIGFsbG93ZWQgdG8gc2VuZCBhIHNpZ25hbCIgKC0xKQorCitUYXJnZXRpbmcgYSBz aW5nbGUgcGlkIGlzIHJhY3kgYW5kIGxpa2VseSB0byBiZSBiZWF0ZW4gYnkgdGhlCitmb2xsb3dp bmcgbG9vcDoKKworICAgIHdoaWxlKDEpIHsKKyAgICAgICAgaWYoZm9yaygpKQorCSAgICBfZXhp dCgwKTsKKyAgICB9CSAgCisKK1RoYXQgaXMsIGJ5IHRoZSB0aW1lIHlvdSd2ZSByZWFkIHRoZSBw cm9jZXNzIGxpc3QgYW5kIGZvdW5kIHRoZQorcHJvY2VzcyBpZCB5b3Ugd2FudCB0byBraWxsLCB0 aGF0IHByb2Nlc3MgaGFzIGV4aXRlZCBhbmQgdGhlcmUgaXMgYQorbmV3IHByb2Nlc3Mgd2hvc2Ug cGlkIHlvdSBkb24ndCBrbm93IGFib3V0LgorCitUYXJnZXRpbmcgYSBwcm9jZXNzIGdyb3VwIHdp bGwgYmUgaW5lZmZlY3RpdmUsIGFzIHVucHJpdmlsZWdlZAorcHJvY2Vzc2VzIGFyZSBhbGxvd2Vk IHRvIG1ha2UgdGhlaXIgb3duIHByb2Nlc3MgZ3JvdXBzLgorCitraWxsKC0xKSBjYW4gYmUgdXNl ZCBidXQgbXVzdCBiZSBkb25lIHdpdGggY2FyZS4gIENvbnNpZGVyIHRoZQorZm9sbG93aW5nIGNv ZGUsIGZvciBleGFtcGxlOgorCisgICAgc2V0dWlkKHRhcmdldF91aWQpOworICAgIGtpbGwoLTEs IDkpOworCitUaGlzIGxvb2tzIGxpa2UgaXQgd2lsbCBkbyB0aGUgdHJpY2s7IGJ1dCBieSBzZXR0 aW5nIGFsbCBvZiB0aGUgdXNlcgoraWRzIChlZmZlY3RpdmUsIHJlYWwsIGFuZCBzYXZlZCksIGl0 IG9wZW5zIHRoZSAna2lsbGluZycgcHJvY2VzcyB1cCB0bworYmVpbmcga2lsbGVkIGJ5IHRoZSB0 YXJnZXQgcHJvY2VzczoKKworICAgIHdoaWxlKDEpIHsKKyAgICAgICAgaWYoZm9yaygpKQorICAg ICAgICAgICAgX2V4aXQoMCk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIGtpbGwoLTEsIDkp OworICAgIH0KKworRm9ydHVuYXRlbHkgdGhlcmUgaXMgYW4gYXNzeW1ldHJ5IHdlIGNhbiB0YWtl IGFkdmFudGFnZSBvZi4gIEZyb20gdGhlCitQT1NJWCBzcGVjOgorCis+IEZvciBhIHByb2Nlc3Mg dG8gaGF2ZSBwZXJtaXNzaW9uIHRvIHNlbmQgYSBzaWduYWwgdG8gYSBwcm9jZXNzCis+IGRlc2ln bmF0ZWQgYnkgcGlkLCB1bmxlc3MgdGhlIHNlbmRpbmcgcHJvY2VzcyBoYXMgYXBwcm9wcmlhdGUK Kz4gcHJpdmlsZWdlcywgdGhlIHJlYWwgb3IgZWZmZWN0aXZlIHVzZXIgSUQgb2YgdGhlIHNlbmRp bmcgcHJvY2VzcyBzaGFsbAorPiBtYXRjaCB0aGUgcmVhbCBvciBzYXZlZCBzZXQtdXNlci1JRCBv ZiB0aGUgcmVjZWl2aW5nIHByb2Nlc3MuCisKK1RoZSBzb2x1dGlvbiBpcyB0byBhbGxvY2F0ZSBh IHNlY29uZCAicmVhcGVyIiB1aWQgdGhhdCBpcyBvbmx5IHVzZWQgdG8ga2lsbAordGFyZ2V0IHBy b2Nlc3Nlcy4gIFdlIHNldCB0aGUgZXVpZCBvZiB0aGUga2lsbGluZyBwcm9jZXNzIHRvIHRoZSBg dGFyZ2V0X3VpZGAsCitidXQgdGhlIHJ1aWQgb2YgdGhlIGtpbGxpbmcgcHJvY2VzcyB0byBgcmVh cGVyX3VpZGAsIGxlYXZpbmcgdGhlIHN1aWQgb2YgdGhlCitraWxsaW5nIHByb2Nlc3MgYXMgMDoK KworICAgIHNldHJlc3VpZChyZWFwZXJfdWlkLCB0YXJnZXRfdWlkLCAwKTsKKyAgICBraWxsKC0x LCA5KTsKKworTk9URTogV2UgY2Fubm90IHVzZSBgc2V0cmV1aWQocmVhcGVyX3VpZCwgdGFyZ2V0 X3VpZClgIGhlcmUsIGFzIHRoYXQKK3dpbGwgc2V0ICpib3RoKiBldWlkICphbmQqIHN1aWQgdG8g YHRhcmdldF91aWRgLCBtYWtpbmcgdGhlIGtpbGxpbmcKK3Byb2Nlc3MgdnVsbmVyYWJsZSB0byB0 aGUgdGFyZ2V0IHByb2Nlc3MgYWdhaW4uCisKK1NpbmNlIHRoaXMgd2lsbCBraWxsIGFsbCBvdGhl ciBgcmVhcGVyX3VpZGAgcHJvY2Vzc2VzIGFzIHdlbGwsIHdlIG11c3QKK2VpdGhlciBhbGxvY2F0 ZSBhIHNlcGFyYXRlIGByZWFwZXJfdWlkYCBwZXIgZG9tYWluLCBvciB1c2UgbG9ja2luZyB0bwor ZW5zdXJlIHRoYXQgb25seSBvbmUga2lsbGluZyBwcm9jZXNzIGlzIGFjdGl2ZSBhdCBhIHRpbWUu CisKKyMjIGxpYnhsOiBUcmVhdCBRTVAgY29ubmVjdGlvbiBhcyB1bnRydXN0ZWQKKworJycnRGVz Y3JpcHRpb24nJyc6IEN1cnJlbnRseSBsaWJ4bCB0YWxrcyB3aXRoIFFFTVUgdmlhIFFNUDsgYnV0 IGl0cworaW50ZXJhY3Rpb25zIGhhdmUgbm90IGhpc3RvcmljYWxseSBjb25zaWRlcmVkIGZyb20g YSBzZWN1cml0eSBwb2ludCBvZgordmlldy4gIEZvciBleGFtcGxlLCBxbXBfc3luY2hyb25vdXNf c2VuZCgpIHdhaXRzIGZvciBhIHJlc3BvbnNlIGZyb20KK1FFTVUsIHdoaWNoIGEgY29tcHJvbWlz ZWQgUUVNVSBjb3VsZCBzaW1wbHkgbm90IHNlbmQgKHRodXMgcHJldmVudGluZwordGhlIHRvb2xz dGFjayBmcm9tIG1ha2luZyBmb3J3YXJkIHByb2dyZXNzKS4KKworJycnSW1wbGVtZW50YXRpb24n Jyc6IEF1ZGl0IHRvb2xzdGFjayBpbnRlcmFjdGlvbnMgd2l0aCBRRU1VIHdoaWNoCitoYXBwZW4g YWZ0ZXIgdGhlIGd1ZXN0IGhhcyBzdGFydGVkIHJ1bm5pbmcsIGFuZCBhc3N1bWUgUUVNVSBoYXMg YmVlbgorY29tcHJvbWlzZWQuCisKKyMjIyBzZWNjb21wIGZpbHRlcmluZyAoTGludXggb25seSkK KworJycnRGVzY3JpcHRpb24nJyc6IFR1cm4gb24gc2VjY29tcCBmaWx0ZXJpbmcgdG8gZGlzYWJs ZSBzeXNjYWxscyB3aGljaAorUUVNVSBkb2Vzbid0IG5lZWQuIAorCisnJydJbXBsZW1lbnRhdGlv bicnJzogRW5hYmxlIGZyb20gdGhlIGNvbW1hbmQtbGluZToKKworICAgIC1zYW5kYm94IG9uLG9i c29sZXRlPWRlbnksZWxldmF0ZXByaXZpbGVnZXM9YWxsb3csc3Bhd249ZGVueSxyZXNvdXJjZWNv bnRyb2w9ZGVueQorCitgZWxldmF0ZXByaXZpbGVnZXNgIGlzIGN1cnJlbnRseSByZXF1aXJlZCB0 byBhbGxvdyBgLXJ1bmFzYCB0byB3b3JrLgorUmVtb3ZpbmcgdGhpcyByZXF1aXJlbWVudCB3b3Vs ZCBtZWFuIG1ha2luZyBzdXJlIHRoYXQgdGhlIHVpZCBjaGFuZ2UKK2hhcHBlbmVkIGJlZm9yZSB0 aGUgc2VjY29tcDIgY2FsbCwgcGVyaGFwcyBieSBjaGFuZ2luZyB0aGUgdWlkIGJlZm9yZQorZXhl Y3V0aW5nIFFFTVUuICAoQnV0IHRoaXMgd291bGQgdGhlbiByZXF1aXJlIG90aGVyIGNoYW5nZXMg dG8gY3JlYXRlCit0aGUgUU1QIHNvY2tldCwgVk5DIHNvY2tldCwgYW5kIHNvIG9uKS4KKworSXQg c2hvdWxkIGJlIG5vdGVkIHRoYXQgYC1zYW5kYm94YCBpcyBpbXBsZW1lbnRlZCBhcyBhIGJsYWNr bGlzdCwgbm90CithIHdoaXRlbGlzdDsgdGhhdCBpcywgaXQgZGlzYWJsZXMga25vd24tdW5zZWQg ZnVuY3Rpb25hbGl0eSB3aGljaCBtYXkKK2JlIGhhcm1mdWwsIHJhdGhlciB0aGFuIGRpc2FibGlu ZyBhbGwgZnVuY3Rpb25hbGl0eSBleGNlcHQgdGhhdCBrbm93bgordG8gYmUgc2FmZSBhbmQgbmVl ZGVkLiAgVGhpcyBpcyB1bmZvcnR1bmF0ZWx5IG5lY2Vzc2FyeSBzaW5jZSBxZW11Citkb2Vzbid0 IGtub3cgd2hhdCBzeXN0ZW0gY2FsbHMgbGlicmFyaWVzIG1pZ2h0IGVuZCB1cCBtYWtpbmcuICAo U2VlCitbbHduLXNlY2NvbXBdIGZvciBhIG1vcmUgY29tcGxldGUgZGlzY3Vzc2lvbi4pCisKK1Ro aXMgZmVhdHVyZSBpcyBub3Qgb24gYnkgZGVmYXVsdCBhbmQgbWF5IG5vdCBiZSBhdmFpbGFibGUg aW4gYWxsCitlbnZpcm9ubWVudHMuICBXZSB0aGVyZWZvcmUgbmVlZCB0byBlaXRoZXI6CisgMS4g UmVxdWlyZSB0aGF0IHRoaXMgZmVhdHVyZSBiZSBlbmFibGVkIHRvIGJ1aWxkIHFlbXUKKyAyLiBD aGVjayBmb3IgYC1zYW5kYm94YCBzdXBwb3J0IGF0IHJ1bnRpbWUgYmVmb3JlIAorCitbbHduLXNl Y2NvbXBdOiBodHRwczovL2x3bi5uZXQvQXJ0aWNsZXMvNzM4Njk0LworCisjIyMgRGlza3MKKwor VGhlIGNocm9vdCAoYW5kIHNlY2NvbXA/KSBoYXBwZW5zIGxhdGUgZW5vdWdoIHN1Y2ggdGhhdCBR RU1VIGNhbgoraW5pdGlhbGl6ZSBpdHNlbGYgYW5kIG9wZW4gaXRzIGRpc2tzLiBJZiB5b3Ugd2Fu dCB0byBhZGQgYSBkaXNrIGF0IHJ1bgordGltZSB2aWEgb3IgaW5zZXJ0IGEgQ0QsIHlvdSBjYW4n dCBwYXNzIGEgcGF0aCBiZWNhdXNlIFFFTVUgaXMKK2Nocm9vdGVkLiBJbnN0ZWFkIHVzZSB0aGUg YWRkLWZkIFFNUCBjb21tYW5kIGFuZCB1c2UKKy9kZXYvZmRzZXQvPGZkc2V0LWlkPiBhcyB0aGUg cGF0aC4KKworQSBmdXJ0aGVyIGxheWVyIG9mIHJlc3RyaWN0aW9uIGNvdWxkIGJlIHRvIHNldCBS TElNSVRfTk9GSUxFUyB0byAnMCcsCithbmQgaGFuZCBhbGwgZGlza3Mgb3ZlciBRTVAuCisKKyMj IE1pZ3JhdGlvbgorCitXaGVuIGNhbGxpbmcgeGVuLXNhdmUtZGV2aWNlcy1zdGF0ZSwgc2luY2Ug UUVNVSBpcyBydW5uaW5nIGluIGEgY2hyb290CitpdCBpcyBub3QgdXNlZnVsIHRvIHBhc3MgYSBm aWxlbmFtZSAoaXQgZG9lc24ndCBldmVuIGhhdmUgd3JpdGUgYWNjZXNzCitpbnNpZGUgdGhlIGNo cm9vdCkuIEluc3RlYWQsIGdpdmUgaXQgYW4gb3BlbiBmZCB1c2luZyB0aGUgYWRkLWZkCittZWNo YW5pc20uCisKK0FkZGl0aW9uYWxseSwgYWxsIHRoZSByZXN0cmljdGlvbnMgbmVlZCB0byBiZSBh cHBsaWVkIHRvIHRoZSBxZW11CitzdGFydGVkIHVwIG9uIHRoZSBwb3N0LW1pZ3JhdGlvbiBzaWRl LiAgT25lIGlzc3VlIHRoYXQgbmVlZHMgdG8gYmUKK3NvbHZlZCBpcyBob3cgdG8gc2lnbmFsIHRo ZSB0b29sc3RhY2sgb24gcmVzdG9yZSB0aGF0IHFlbXUgaXMgcmVhZHkKK2ZvciB0aGUgZG9tYWlu IHRvIGJlIHN0YXJ0ZWQgKHNpbmNlIHRoaXMgaXMgbm9ybWFsbHkgZG9uZSB2aWEKK3hlbnN0b3Jl LCBhbmQgYXQgdGhpcyBwb2ludCB0aGUgeGVuc3RvcmUgY29ubmVjdGlvbnMgd2lsbCBoYXZlIGJl ZW4KK2Nsb3NlZCkuCisKKyMjIyBOZXR3b3JrIG5hbWVzcGFjaW5nIChMaW51eCBvbmx5KQorCitF bnRlciBRRU1VIGludG8gaXRzIG93biBuZXR3b3JrIG5hbWVzcGFjZSAoaW4gYWRkaXRpb24gdG8g bW91bnQgJiBJUEMKK25hbWVzcGFjZXMpOgorCisgICAgdW5zaGFyZShDTE9ORV9ORVdORVQpOwor CitRRU1VIGRvZXMgYWN0dWFsbHkgdXNlIHRoZSBuZXR3b3JrIG5hbWVzcGFjZSBhcyBhIFhlbiBE TSBmb3IgdHdvCitwdXJwb3NlczogMSkgVG8gc2V0IHVwIG5ldHdvcmsgdGFwIGRldmljZXMgMikg VG8gb3BlbiB2bmMgY29ubmVjdGlvbnMuCisKKyMjIyMgTmV0d29yaworCitJZiBRRU1VIHJ1bnMg aW4gaXRzIG93biBuZXR3b3JrIG5hbWVzcGFjZSwgaXQgY2FuJ3Qgb3BlbiB0aGUgdGFwCitkZXZp Y2UgaXRzZWxmIGJlY2F1c2UgdGhlIGludGVyZmFjZSB3b24ndCBiZSB2aXNpYmxlIG91dHNpZGUg b2YgaXRzCitvd24gbmFtZXNwYWNlLiBTbyBpbnN0ZWFkLCBoYXZlIHRoZSB0b29sc3RhY2sgb3Bl biB0aGUgZGV2aWNlIGFuZCBwYXNzCitpdCBhcyBhbiBmZCBvbiB0aGUgY29tbWFuZC1saW5lOgor CisgICAgLWRldmljZSBydGw4MTM5LG5ldGRldj10YXBuZXQwLG1hYz0uLi4gLW5ldGRldiB0YXAs aWQ9dGFwbmV0MCxmZD08dGFwZmQ+CisKKyMjIyMgVk5DCisKK0lmIFFFTVUgcnVucyBpbiBpdHMg b3duIG5ldHdvcmsgbmFtZXNwYWNlLCBpdCBpcyBub3Qgc3RyYWlnaHRmb3J3YXJkCit0byBsaXN0 ZW4gb24gYSBUQ1Agc29ja2V0IG91dHNpZGUgb2YgaXRzIG93biBuZXR3b3JrIG5hbWVzcGFjZS4g T25lCitvcHRpb24gd291bGQgYmUgdG8gdXNlIFZOQyBvdmVyIGEgVU5JWCBzb2NrZXQ6CisKKyAg ICAtdm5jIHVuaXg6L3Zhci9ydW4veGVuL3ZuYy08ZG9taWQ+CisKK0hvd2V2ZXIsIHRoaXMgd291 bGQgYnJlYWsgZnVuY3Rpb25hbGl0eSBpbiB0aGUgZ2VuZXJhbCBjYXNlOyBJIHRoaW5rCit3ZSBu ZWVkIHRvIGhhdmUgdGhlIHRvb2xzdGFjayBvcGVuIGEgc29ja2V0IGFuZCBwYXNzIHRoZSBmZCB0 byBRRU1VCisod2hpY2ggcmVxdWlyZXMgY2hhbmdlcyB0byBRRU1VKS4KKwpkaWZmIC0tZ2l0IGEv ZG9jcy9mZWF0dXJlcy9xZW11LWRlcHJpdmlsZWdlLnBhbmRvYyBiL2RvY3MvZmVhdHVyZXMvcWVt dS1kZXByaXZpbGVnZS5wYW5kb2MKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw MC4uZjk0MTUyNTE4OQotLS0gL2Rldi9udWxsCisrKyBiL2RvY3MvZmVhdHVyZXMvcWVtdS1kZXBy aXZpbGVnZS5wYW5kb2MKQEAgLTAsMCArMSwxMDEgQEAKKyUgUUVNVSBEZXByaXZpbGVnaW5nIC8g ZG1fcmVzdHJpY3QKKyUgUmV2aXNpb24gMQorCitcY2xlYXJwYWdlCisKKyMgQmFzaWNzCisKKy0t LS0tLS0tLS0tLS0tLS0gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLQorICAgICAgICAgU3RhdHVzOiAqKlRlY2ggUHJldmlldyoqCisKK0FyY2hpdGVj dHVyZShzKTogeDg2CisKKyAgIENvbXBvbmVudChzKTogdG9vbHN0YWNrCisKKy0tLS0tLS0tLS0t LS0tLS0gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LQorCisjIE92ZXJ2aWV3CisKK0J5IGRlZmF1bHQsIHRoZSBRRU1VIGRldmljZSBtb2RlbCBpcyBy dW4gaW4gZG9tYWluIDAuICBJZiBhbiBhdHRhY2tlcgorY2FuIGdhaW4gY29udHJvbCBvZiBhIFFF TVUgcHJvY2VzcywgaXQgY291bGQgZWFzaWx5IHRha2UgY29udHJvbCBvZiBhCitzeXN0ZW0uCisK K2RtX3Jlc3RyaWN0IGlzIGEgc2V0IG9mIG9wZXJhdGlvbnMgdG8gcmVzdHJpY3QgUUVNVSBydW5u aW5nIGluIGRvbWFpbgorMC4gIEl0IGNvbnNpc3RzIG9mIHR3byBoYWx2ZXM6CisKKyAxLiBNZWNo YW5pc21zIHRvIHJlc3RyaWN0IFFFTVUgdG8gb25seSBiZWluZyBhYmxlIHRvIGFmZmVjdCBpdHMg b3duCitkb21haW4KKyAyLiBNZWNoYW5pc21zIHRvIHJlc3RydWN0IFFFTVUncyBhYmlsaXR5IHRv IGludGVyYWN0IHdpdGggZG9tYWluIDAuCisKKyMgVXNlciBkZXRhaWxzCisKKyMjIEdldHRpbmcg dGhlIHJpZ2h0IHZlcnNpb25zIG9mIHNvZnR3YXJlCisKK0xpbnV4OiA0LjExKworCitRZW11OiAz LjArIChPciB0aGUgdmVyc2lvbiB0aGF0IGNvbWVzIHdpdGggWGVuIDQuMTIrKQorCisjIyBTZXR0 aW5nIHVwIGEgZ3JvdXAgYW5kIHVzZXJpZCByYW5nZQorCitGb3IgbWF4aW11bSBzZWN1cml0eSwg bGlieGwgbmVlZHMgdG8gcnVuIHRoZSBkZXZpY2Vtb2RlbCBmb3IgZWFjaAorZG9tYWluIHVuZGVy IGEgdXNlciBpZCAoVUlEKSBjb3JyZXNwb25kaW5nIHRvIGl0cyBkb21haW4gaWQuICBUaGVyZQor YXJlIDMyNzUyIHBvc3NpYmxlIGRvbWFpbiBJRHMsIGFuZCBzbyBsaWJ4bCBuZWVkcyAzMjc1MiB1 c2VyIGlkcyBzZXQKK2FzaWRlIGZvciBpdC4gIFNldHRpbmcgdXAgYSBncm91cCBmb3IgYWxsIGRl dmljZW1vZGVscyB0byBydW4gYXQgaXMKK2Fsc28gcmVjb21tZW5kZWQuCisKK1RoZSBzaW1wbGVz dCBhbmQgbW9zdCBlZmZlY3RpdmUgd2F5IHRvIGRvIHRoaXMgaXMgdG8gYWxsb2NhdGUgYQorY29u dGlndW91cyBibG9jayBvZiBVSURzLCBhbmQgY3JlYXRlIGEgc2luZ2xlIHVzZXIgbmFtZWQKK2B4 ZW4tcWVtdXVzZXItcmFuZ2UtYmFzZWAgd2l0aCB0aGUgZmlyc3QgVUlELiAgRm9yIGV4YW1wbGUs IHVuZGVyCitEZWJpYW46CisKKyAgICBhZGR1c2VyIC0tc3lzdGVtIC0tdWlkIDEzMTA3MiAtLWdy b3VwIC0tbm8tY3JlYXRlLWhvbWUgeGVuLXFlbXV1c2VyLXJhbmdlLWJhc2UKKworVHdvIGNvbW1l bnRzIG9uIHRoaXMgbWV0aG9kOgorCisgIDEuIE1vc3QgbW9kZXJuIHN5c3RlbXMgaGF2ZSAzMi1i aXQgVUlEcywgYW5kIHNvIGNhbiBpbiB0aGVvcnkgZ28gdXAKK3RvIDJeMzEgKG9yIDJeMzIgaWYg dWlkcyBhcmUgdW5zaWduZWQpLiAgUE9TSVggb25seSBndWFyYW50ZWVzIDE2LWJpdAorVUlEcyBo b3dldmVyOyBVSUQgNjU1MzUgaXMgcmVzZXJ2ZWQgZm9yIGFuIGludmFsaWQgdmFsdWUsIGFuZCA2 NTUzNCBpcworbm9ybWFsbHkgYWxsb2NhdGVkIHRvICJub2JvZHkiLgorICAyLiBBZGRpdGlvbmFs bHksIHNvbWUgY29udGFpbmVyIHN5c3RlbXMgaGF2ZSBwcm9wb3NlZCB1c2luZyB0aGUKK3VwcGVy IDE2IGJpdHMgb2YgdGhlIHVpZCBmb3IgYSBjb250YWluZXIgSUQuICBVc2luZyBhIG11bHRpcGxl IG9mIDJeMTYKK2ZvciB0aGUgcmFuZ2UgYmFzZSAoYXMgaXMgZG9uZSBhYm92ZSkgd2lsbCByZXN1 bHQgaW4gYWxsIFVJRHMgYmVpbmcKK2ludGVycHJldGVkIGJ5IHN1Y2ggc3lzdGVtcyBhcyBhIHNp bmdsZSBjb250YWluZXIgSUQuCisKK0Fub3RoZXIsIGxlc3Mtc2VjdXJlIHdheSBpcyB0byBydW4g YWxsIFFFTVVzIGFzIHRoZSBzYW1lIFVJRC4gIFRvIGRvCit0aGlzLCBjcmVhdGUgYSB1c2VyIG5h bWVkIGB4ZW4tcWVtdXVzZXItc2hhcmVkYDsgZm9yIGV4YW1wbGU6CisKKyAgICBhZGR1c2VyIC0t bm8tY3JlYXRlLWhvbWUgLS1zeXN0ZW0geGVuLXFlbXV1c2VyLXNoYXJlZAorCisjIyBEb21haW4g Y29uZmlnIGNoYW5nZXMKKworVGhlIGNvcmUgZG9tYWluIGNvbmZpZyBjaGFuZ2UgaXMgdG8gYWRk IHRoZSBmb2xsb3dpbmcgbGluZSB0byB0aGUKK2RvbWFpbiBjb25maWd1cmF0aW9uOgorCisgICAg ZG1fcmVzdHJpY3Q9MQorCitUaGlzIHdpbGwgcGVyZm9ybSBhIG51bWJlciBvZiByZXN0cmljdGlv bnMsIG91dGxpbmVkIGJlbG93IGluIHRoZQorJ1RlY2huaWNhbCBkZXRhaWxzJyBzZWN0aW9uLgor CisjIFRlY2huaWNhbCBkZXRhaWxzCisKK1NlZSBkb2NzL2Rlc2lnbi9xZW11LWRlcHJpdmlsZWdl Lm1kIGZvciB0ZWNobmljYWwgZGV0YWlscy4KKworIyBMaW1pdGF0aW9ucworCitUaGUgZm9sbG93 aW5nIGZlYXR1cmVzIHN0aWxsIG5lZWQgdG8gYmUgaW1wbGVtZW50ZWQ6CisgKiBJbnNlcnRpbmcg YSBuZXcgY2Ryb20gd2hpbGUgdGhlIGd1ZXN0IGlzIHJ1bm5pbmcgKHhsIGNkcm9tLWluc2VydCkK KyAqIE1pZ3JhdGlvbiAvIHNhdmUgLyByZXN0b3JlCisKK0FkZGl0aW9uYWxseSwgZ2V0dGluZyBQ Q0kgcGFzc3Rocm91Z2ggdG8gd29yayBzZWN1cmVseSB3b3VsZCByZXF1aXJlIGEKK3NpZ25pZmlj YW50IHJld29yayBvZiBob3cgcGFzc3Rocm91Z2ggd29ya3MgYXQgdGhlIG1vbWVudC4gIEl0IG1h eSBiZQoraW1wbGVtZW50ZWQgYXQgc29tZSBwb2ludCBidXQgaXMgbm90IGEgbmVhci10ZXJtIHBy aW9yaXR5LgorCitTZWUgU1VQUE9SVC5tZCBmb3Igc2VjdXJpdHkgc3VwcG9ydCBzdGF0dXMuCisK KyMgSGlzdG9yeQorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KK0RhdGUgICAgICAgUmV2aXNpb24gVmVyc2lv biAgTm90ZXMKKy0tLS0tLS0tLS0gLS0tLS0tLS0gLS0tLS0tLS0gLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorMjAxOC0wOS0xNCAxICAgICAgICBYZW4gNC4xMiBJ bXBvcnRlZCBmcm9tIGRvY3MvbWlzYworLS0tLS0tLS0tLSAtLS0tLS0tLSAtLS0tLS0tLSAtLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCmRpZmYgLS1naXQgYS9kb2Nz L21pc2MvcWVtdS1kZXByaXZpbGVnZS50eHQgYi9kb2NzL21pc2MvcWVtdS1kZXByaXZpbGVnZS50 eHQKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDU4Yjg2YTM5MDguLjAwMDAwMDAwMDAK LS0tIGEvZG9jcy9taXNjL3FlbXUtZGVwcml2aWxlZ2UudHh0CisrKyAvZGV2L251bGwKQEAgLTEs MzYgKzAsMCBAQAotRm9yIHNlY3VyaXR5IHJlYXNvbnMsIGxpYnhsIHRyaWVzIHRvIHBhc3MgYSBu b24tcm9vdCB1c2VybmFtZSB0byBRRU1VIGFzCi1hcmd1bWVudC4gRHVyaW5nIGluaXRpYWxpemF0 aW9uIFFFTVUgY2FsbHMgc2V0dWlkIGFuZCBzZXRnaWQgd2l0aCB0aGUKLXVzZXIgSUQgYW5kIHRo ZSBncm91cCBJRCBvZiB0aGUgdXNlciBwYXNzZWQgYXMgYXJndW1lbnQuCi1MaWJ4bCBsb29rcyBm b3IgdGhlIGZvbGxvd2luZyB1c2VycyBpbiB0aGlzIG9yZGVyOgotCi0xKSBhIHVzZXIgbmFtZWQg Inhlbi1xZW11dXNlci1kb21pZCRkb21pZCIsCi1XaGVyZSAkZG9taWQgaXMgdGhlIGRvbWlkIG9m IHRoZSBkb21haW4gYmVpbmcgY3JlYXRlZC4KLVRoaXMgcmVxdWlyZXMgdGhlIHJlc2VydmF0aW9u IG9mIDY1NTM1IHVpZHMgZnJvbSB4ZW4tcWVtdXVzZXItZG9taWQxCi10byB4ZW4tcWVtdXVzZXIt ZG9taWQ2NTUzNS4gVG8gdXNlIHRoaXMgbWVjaGFuaXNtLCB5b3UgbWlnaHQgd2FudCB0bwotY3Jl YXRlIGEgbGFyZ2UgbnVtYmVyIG9mIHVzZXJzIGF0IGluc3RhbGxhdGlvbiB0aW1lLiBGb3IgZXhh bXBsZToKLQotZm9yICgoaT0xOyBpPDY1NTM2OyBpKyspKQotZG8KLSAgICBhZGR1c2VyIC0tbm8t Y3JlYXRlLWhvbWUgLS1zeXN0ZW0geGVuLXFlbXV1c2VyLWRvbWlkJGkKLWRvbmUKLQotWW91IG1p Z2h0IHdhbnQgdG8gY29uc2lkZXIgcGFzc2luZyAtLWdyb3VwIHRvIGFkZHVzZXIgdG8gY3JlYXRl IGEgbmV3Ci1ncm91cCBmb3IgZWFjaCBuZXcgdXNlci4KLQotCi0yKSBhIHVzZXIgbmFtZWQgInhl bi1xZW11dXNlci1zaGFyZWQiCi1BcyBhIGZhbGwgYmFjayBpZiBib3RoIDEpIGZhaWxzLCBsaWJ4 bCB3aWxsIHVzZSBhIHNpbmdsZSB1c2VyIGZvcgotYWxsIFFFTVUgaW5zdGFuY2VzLiBUaGUgdXNl ciBpcyBuYW1lZCB4ZW4tcWVtdXVzZXItc2hhcmVkLiBUaGlzIGlzCi1sZXNzIHNlY3VyZSBidXQg c3RpbGwgYmV0dGVyIHRoYW4gcnVubmluZyBRRU1VIGFzIHJvb3QuIFVzaW5nIHRoaXMgaXMgYXMK LXNpbXBsZSBhcyBjcmVhdGluZyBqdXN0IG9uZSBtb3JlIHVzZXIgb24geW91ciBob3N0OgotCi1h ZGR1c2VyIC0tbm8tY3JlYXRlLWhvbWUgLS1zeXN0ZW0geGVuLXFlbXV1c2VyLXNoYXJlZAotCi0K LTMpIHJvb3QKLUFzIGEgbGFzdCByZXNvcnQsIGxpYnhsIHdpbGwgc3RhcnQgUUVNVSBhcyByb290 LgotCi0KLVBsZWFzZSBub3RlIHRoYXQgcnVubmluZyBRRU1VIGFzIG5vbi1yb290IGNhdXNlcyBz ZXZlcmFsIGZlYXR1cmVzIGxpa2UKLW1pZ3JhdGlvbiBhbmQgUENJIHBhc3N0aHJvdWdoIHRvIG5v dCB3b3JrIHByb3Blcmx5IGFuZCBtYXkgcHJldmVudCB0aGUgZ3Vlc3QKLWZyb20gYm9vdGluZy4K LS0gCjIuMTkuMQoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbnByb2plY3Qub3Jn Cmh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvbWFpbG1hbi9saXN0aW5mby94ZW4tZGV2ZWw=