From mboxrd@z Thu Jan 1 00:00:00 1970 From: Manish Jaggi Subject: Re: [PATCH v11 00/34] arm64: Dom0 ITS emulation Date: Mon, 12 Jun 2017 10:34:19 +0530 Message-ID: <8a892bac-3096-85b7-3e3a-0c0bbd9bada9@caviumnetworks.com> References: <20170609174141.5068-1-andre.przywara@arm.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta5.messagelabs.com ([195.245.231.135]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1dKHWm-0004dr-V8 for xen-devel@lists.xenproject.org; Mon, 12 Jun 2017 05:04:37 +0000 In-Reply-To: <20170609174141.5068-1-andre.przywara@arm.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Andre Przywara , Julien Grall , Stefano Stabellini Cc: xen-devel@lists.xenproject.org, Vijaya Kumar K , Vijay Kilari , Shanker Donthineni List-Id: xen-devel@lists.xenproject.org CgpPbiA2LzkvMjAxNyAxMToxMSBQTSwgQW5kcmUgUHJ6eXdhcmEgd3JvdGU6Cj4gSGksCkhpIEFu ZHJlLApUZXN0ZWQgdGhpcyBwYXRjaHNldCArIG15IGFjcGkgSVRTIHBhdGNoIAooaHR0cHM6Ly9s aXN0cy54ZW4ub3JnL2FyY2hpdmVzL2h0bWwveGVuLWRldmVsLzIwMTctMDYvbXNnMDA3MTYuaHRt bCkgb24gCm91ciBwbGF0Zm9ybSBhbmQgaXQgd29ya3MuCldpdGggdjEwIHdhcyBub3QgYWJsZSB0 byBnZXQgaW50ZXJydXB0cy4gdjkgd2FzIGJvb3Rpbmcgb2suCgpXQlIKLU1hbmlzaAo+IGZpeGVz IHRvIHYxMCwgd2l0aCB0aGVpciBudW1iZXIgZ2V0dGluZyBldmVudHVhbGx5IHNtYWxsZXIgOy0p Cj4gVGhlIHNhbWUgcmVzdHJpY3Rpb24gYXMgZm9yIHRoZSBwcmV2aW91cyB2ZXJzaW9ucyAgc3Rp bGwgYXBwbHk6IHRoZSBsb2NraW5nCj4gaXMgY29uc2lkZXJlZCBzb21ld2hhdCBpbnN1ZmZpY2ll bnQgYW5kIHdpbGwgYmUgZml4ZWQgYnkgYW4gdXBjb21pbmcgcmV3b3JrLgo+Cj4gUGF0Y2ggMDEv MzQgd2FzIHJld29ya2VkIHRvIHByb3Blcmx5IHN5bmNocm9uaXplIGFjY2VzcyB0byB0aGUgcHJp b3JpdHkKPiBpbiBhIGxvY2stbGVzcyBmYXNoaW9uLiBUaGlzIHNob3VsZCBiZSBiYWNrLXBvcnRl ZCB0byA0LjkuCj4gVGhlIGZvcm1lciBwYXRjaCAxMi8zMiAoImVuYWJsZSBJVFMgYW5kIExQSXMg b24gdGhlIGhvc3QiKSB3YXMgbW92ZWQgdXAtZnJvbnQKPiBhbmQgc3BsaXQgdG8gYWxsb3cgYmFj ay1wb3J0aW5nIHRoZSBuZXcgMDIvMzQgdG8gWGVuIDQuOSwgd2hpY2ggaXMgYnJva2VuCj4gaWYg dGhlIHByZWxpbWluYXJ5IElUUyBzdXBwb3J0IGlzIGNvbmZpZ3VyZWQgaW4gYW5kIHRoZSBtYWNo aW5lIGFkdmVydGlzZXMKPiBhbiBJVFMgaW4gdGhlIGRldmljZSB0cmVlLgo+Cj4gTm8gYmlnIGNo YW5nZXMgdGhpcyB0aW1lOiBzb21lIGJ1Z3MgZml4ZWQgKG1hbnkgdGhhbmtzIHRvIEp1bGllbiBm b3IKPiBwcm9wZXIgdGVzdGluZyEpLCBzb21lIGV4dGVuZGVkIGNvbW1lbnRzIGFuZCBzb21lIGlt cHJvdmVtZW50cyB0byBiZXR0ZXIKPiBwcm90ZWN0IHBhcmFsbGVsIGFjY2Vzc2VzLiBGb3IgYSBk ZXRhaWxlZCBjaGFuZ2Vsb2cgc2VlIGJlbG93Lgo+Cj4gSSBhZGRlZCBBY2tlZC1ieTogYW5kIFJl dmlld2VkLWJ5OiB0YWdzLCBidXQgcmVmcmFpbmVkIGZyb20gZG9pbmcgc28KPiBmb3IgSnVsaWVu J3MgdGFncyBmb3IgcGF0Y2ggMTgvMzQgYW5kIDIwLzM0LCBzaW5jZSBJIGNoYW5nZWQgdGhlbSBz bGlnaHRseS4KPgo+IENoZWVycywKPiBBbmRyZQo+Cj4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLQo+IFRoaXMgc2VyaWVzIGFkZHMgc3VwcG9ydCBmb3IgZW11bGF0aW9uIG9mIGFu IEFSTSBHSUN2MyBJVFMgaW50ZXJydXB0Cj4gY29udHJvbGxlci4gRm9yIGhhcmR3YXJlIHdoaWNo IHJlbGllcyBvbiB0aGUgSVRTIHRvIHByb3ZpZGUgaW50ZXJydXB0cyBmb3IKPiBpdHMgcGVyaXBo ZXJhbHMgdGhpcyBjb2RlIGlzIG5lZWRlZCB0byBnZXQgYSBtYWNoaW5lIGJvb3RlZCBpbnRvIERv bTAgYXQKPiBhbGwuIElUUyBlbXVsYXRpb24gZm9yIERvbVVzIGlzIG9ubHkgcmVhbGx5IHVzZWZ1 bCB3aXRoIFBDSSBwYXNzdGhyb3VnaCwKPiB3aGljaCBpcyBub3QgeWV0IGF2YWlsYWJsZSBmb3Ig QVJNLiBJdCBpcyBleHBlY3RlZCB0aGF0IHRoaXMgZmVhdHVyZQo+IHdpbGwgYmUgY28tZGV2ZWxv cGVkIHdpdGggdGhlIElUUyBEb21VIGNvZGUuIEhvd2V2ZXIgdGhpcyBjb2RlIGRyb3AgaGVyZQo+ IGNvbnNpZGVyZWQgRG9tVSBlbXVsYXRpb24gYWxyZWFkeSwgdG8ga2VlcCBsYXRlciBhcmNoaXRl Y3R1cmFsIGNoYW5nZXMKPiB0byBhIG1pbmltdW0uCj4KPiBUaGlzIGlzIHRlY2huaWNhbCBwcmV2 aWV3IHZlcnNpb24gdG8gYWxsb3cgZWFybHkgdGVzdGluZyBvZiB0aGUgZmVhdHVyZS4KPiBUaGlu Z3Mgbm90IChwcm9wZXJseSkgYWRkcmVzc2VkIGluIHRoaXMgcmVsZWFzZToKPiAtIFRoZXJlIGlz IG9ubHkgc3VwcG9ydCBmb3IgRG9tMCBhdCB0aGUgbW9tZW50LiBEb21VIHN1cHBvcnQgaXMgb25s eSByZWFsbHkKPiB1c2VmdWwgd2l0aCBQQ0kgcGFzc3Rocm91Z2gsIHdoaWNoIGlzIG5vdCB0aGVy ZSB5ZXQgZm9yIEFSTS4KPiAtIFRoZSBNT1ZBTEwgY29tbWFuZCBpcyBub3QgZW11bGF0ZWQuIElu IG91ciBjYXNlIHRoZXJlIGlzIHJlYWxseSBub3RoaW5nCj4gdG8gZG8gaGVyZS4gV2UgbWlnaHQg bmVlZCB0byByZXZpc2l0IHRoaXMgaW4gdGhlIGZ1dHVyZSBmb3IgRG9tVSBzdXBwb3J0Lgo+IC0g VGhlIElOVkFMTCBjb21tYW5kIG1pZ2h0IG5lZWQgc29tZSByZXdvcmsgdG8gYmUgbW9yZSBlZmZp Y2llbnQuIEN1cnJlbnRseQo+IHdlIGl0ZXJhdGUgb3ZlciBhbGwgbWFwcGVkIExQSXMsIHdoaWNo IG1pZ2h0IHRha2UgYSBiaXQgbG9uZ2VyLgo+IC0gSW5kaXJlY3QgdGFibGVzIGFyZSBub3Qgc3Vw cG9ydGVkLiBUaGlzIGFmZmVjdHMgYm90aCB0aGUgaG9zdCBhbmQgdGhlCj4gdmlydHVhbCBzaWRl Lgo+IC0gVGhlIElUUyB0YWJsZXMgaW5zaWRlIChEb20wKSBndWVzdCBtZW1vcnkgY2Fubm90IGVh c2lseSBiZSBwcm90ZWN0ZWQKPiBhdCB0aGUgbW9tZW50ICh3aXRob3V0IHJlc3RyaWN0aW5nIGFj Y2VzcyB0byBYZW4gYXMgd2VsbCkuIFNvIGZvciBub3cKPiB3ZSB0cnVzdCBEb20wIG5vdCB0byB0 b3VjaCB0aGlzIG1lbW9yeSAod2hpY2ggdGhlIHNwZWMgZm9yYmlkcyBhcyB3ZWxsKS4KPiAtIFdp dGggbWFsaWNpb3VzIGd1ZXN0cyAoRG9tVXMpIHRoZXJlIGlzIGEgcG9zc2liaWxpdHkgb2YgYW4g aW50ZXJydXB0Cj4gc3Rvcm0gdHJpZ2dlcmVkIGJ5IGEgZGV2aWNlLiBXZSB3b3VsZCBuZWVkIHRv IGludmVzdGlnYXRlIHdoYXQgdGhhdCBtZWFucwo+IGZvciBYZW4gYW5kIGlmIHRoZXJlIGlzIGEg bmljZSB3YXkgdG8gcHJldmVudCB0aGlzLiBEaXNhYmxpbmcgdGhlIExQSSBvbgo+IHRoZSBob3N0 IHNpZGUgd291bGQgcmVxdWlyZSBjb21tYW5kIHF1ZXVpbmcsIHdoaWNoIGhhcyBpdHMgZG93bnNp ZGVzIHRvCj4gYmUgaXNzdWVkIGR1cmluZyBydW50aW1lLgo+IC0gRG9tMCBzaG91bGQgbWFrZSBz dXJlIHRoYXQgdGhlIElUUyByZXNvdXJjZXMgKG51bWJlciBvZiBMUElzLCBkZXZpY2VzLAo+IGV2 ZW50cykgbGF0ZXIgaGFuZGVkIHRvIGEgRG9tVSBhcmUgcmVhbGx5IGxpbWl0ZWQsIGFzIGEgbGFy Z2UgbnVtYmVyIG9mCj4gdGhlbSBjb3VsZCBtZWFuIG11Y2ggdGltZSBzcGVuZCBpbiBYZW4gdG8g aW5pdGlhbGl6ZSwgZnJlZSBvciBoYW5kbGUgdGhvc2UuCj4gSXQgaXMgZXhwZWN0ZWQgdGhhdCB0 aGUgdG9vbHN0YWNrIHNldHMgdXAgYSB0YWlsb3JlZCBJVFMgd2l0aCBqdXN0IGVub3VnaAo+IHJl c291cmNlcyB0byBhY2NvbW1vZGF0ZSB0aGUgbmVlZHMgb2YgdGhlIGFjdHVhbCBwYXNzdGhyb3Vn aC1lZCBkZXZpY2UocykuCj4gLSBUaGUgY29tbWFuZCBxdWV1ZSBsb2NraW5nIGlzIGN1cnJlbnRs eSBzdWJvcHRpbWFsIGFuZCBzaG91bGQgYmUgbWFkZSBtb3JlCj4gZmluZS1ncmFpbmVkIGluIHRo ZSBmdXR1cmUsIGlmIHBvc3NpYmxlLgo+IC0gUHJvdmlkZSBzdXBwb3J0IGZvciBydW5uaW5nIHdp dGggYW4gSU9NTVUsIHRvIG1hcCB0aGUgZG9vcmJlbGwgcGFnZQo+IHRvIGFsbCBkZXZpY2VzLgo+ Cj4KPiBTb21lIGdlbmVyaWMgZGVzaWduIHByaW5jaXBsZXM6Cj4KPiAqIFRoZSBjdXJyZW50IEdJ QyBjb2RlIHN0YXRpY2FsbHkgYWxsb2NhdGVzIHN0cnVjdHVyZXMgZm9yIGVhY2ggc3VwcG9ydGVk Cj4gSVJRIChib3RoIGZvciB0aGUgaG9zdCBhbmQgdGhlIGd1ZXN0KSwgd2hpY2ggZHVlIHRvIHRo ZSBwb3RlbnRpYWxseQo+IG1pbGxpb25zIG9mIExQSSBpbnRlcnJ1cHRzIGlzIG5vdCBmZWFzaWJs ZSB0byBjb3B5IGZvciB0aGUgSVRTLgo+IFNvIHdlIHJlZnJhaW4gZnJvbSBpbnRyb2R1Y2luZyB0 aGUgSVRTIGFzIGEgZmlyc3QgY2xhc3MgWGVuIGludGVycnVwdAo+IGNvbnRyb2xsZXIsIGFsc28g d2UgZG9uJ3QgaG9sZCBzdHJ1Y3QgaXJxX2Rlc2MncyBvciBzdHJ1Y3QgcGVuZGluZ19pcnEncwo+ IGZvciBlYWNoIHBvc3NpYmxlIExQSS4KPiBGb3J0dW5hdGVseSBMUElzIGFyZSBvbmx5IGludGVy ZXN0aW5nIHRvIGd1ZXN0cywgc28gd2UgZ2V0IGF3YXkgd2l0aAo+IHN0b3Jpbmcgb25seSB0aGUg dmlydHVhbCBJUlEgbnVtYmVyIGFuZCB0aGUgZ3Vlc3QgVkNQVSBmb3IgZWFjaCBhbGxvY2F0ZWQK PiBob3N0IExQSSwgd2hpY2ggY2FuIGJlIHN0YXNoZWQgaW50byBvbmUgdWludDY0X3QuIFRoaXMg ZGF0YSBpcyBzdG9yZWQgaW4KPiBhIHR3by1sZXZlbCB0YWJsZSwgd2hpY2ggaXMgYm90aCBtZW1v cnkgZWZmaWNpZW50IGFuZCBxdWljayB0byBhY2Nlc3MuCj4gV2UgaG9vayBpbnRvIHRoZSBleGlz dGluZyBJUlEgaGFuZGxpbmcgYW5kIFZHSUMgY29kZSB0byBhdm9pZCBhY2Nlc3NpbmcKPiB0aGUg bm9ybWFsIHN0cnVjdHVyZXMsIHByb3ZpZGluZyBhbHRlcm5hdGl2ZSBtZXRob2RzIGZvciBnZXR0 aW5nIHRoZQo+IG5lZWRlZCBpbmZvcm1hdGlvbiAocHJpb3JpdHksIGlzIGVuYWJsZWQ/KSBmb3Ig TFBJcy4KPiBXaGVuZXZlciBhIGd1ZXN0IG1hcHMgYSBkZXZpY2UsIHdlIGFsbG9jYXRlIHRoZSBt YXhpbXVtIHJlcXVpcmVkIG51bWJlcgo+IG9mIHN0cnVjdCBwZW5kaW5nX2lycSdzLCBzbyB0aGF0 IGFueSB0cmlnZ2VyaW5nIExQSSBjYW4gZmluZCBpdHMgZGF0YQo+IHN0cnVjdHVyZS4gVXBvbiB0 aGUgZ3Vlc3QgYWN0dWFsbHkgbWFwcGluZyB0aGUgTFBJLCB0aGlzIHBvaW50ZXIgdG8gdGhlCj4g Y29ycmVzcG9uZGluZyBwZW5kaW5nX2lycSBnZXRzIGVudGVyZWQgaW50byBhIHJhZGl4IHRyZWUs IHNvIHRoYXQgaXQgY2FuCj4gYmUgcXVpY2tseSBsb29rZWQgdXAuCj4KPiAqIE9uIHRoZSBndWVz dCBzaWRlIHdlIChsYXRlciB3aWxsKSBoYXZlIHRvIGRlYWwgd2l0aCBtYWxpY2lvdXMgZ3Vlc3Rz Cj4gdHJ5aW5nIHRvIGhvZyBYZW4gd2l0aCBtYXBwaW5nIHJlcXVlc3RzIGZvciBhIGxvdCBvZiBM UElzLCBmb3IgaW5zdGFuY2UuCj4gQXMgdGhlIElUUyBhY3R1YWxseSB1c2VzIHN5c3RlbSBtZW1v cnkgZm9yIHN0b3Jpbmcgc3RhdHVzIGluZm9ybWF0aW9uLAo+IHdlIHVzZSB0aGlzIG1lbW9yeSAo d2hpY2ggdGhlIGd1ZXN0IGhhcyB0byBwcm92aWRlKSB0byBuYXR1cmFsbHkgbGltaXQKPiBhIGd1 ZXN0LiBXaGVuZXZlciB3ZSBuZWVkIGluZm9ybWF0aW9uIGZyb20gYW55IG9mIHRoZSBJVFMgdGFi bGVzLCB3ZQo+IHRlbXBvcmFyaWx5IG1hcCB0aGVtICh3aGljaCBpcyBjaGVhcCBvbiBhcm02NCkg YW5kIGNvcHkgdGhlIHJlcXVpcmVkIGRhdGEuCj4KPiAqIEFuIG9idmlvdXMgYXBwcm9hY2ggdG8g aGFuZGxpbmcgc29tZSBndWVzdCBJVFMgY29tbWFuZHMgd291bGQgYmUgdG8KPiBwcm9wYWdhdGUg dGhlbSB0byB0aGUgaG9zdCwgZm9yIGluc3RhbmNlIHRvIG1hcCBkZXZpY2VzIGFuZCBMUElzIGFu ZAo+IHRvIGVuYWJsZSBvciBkaXNhYmxlIExQSXMuCj4gSG93ZXZlciB0aGlzIChsYXRlciB3aXRo IERvbVUgc3VwcG9ydCkgd2lsbCBjcmVhdGUgYW4gYXR0YWNrIHZlY3RvciwgYXMKPiBhIG1hbGlj aW91cyBndWVzdCBjb3VsZCB0cnkgdG8gZmlsbCB0aGUgaG9zdCBjb21tYW5kIHF1ZXVlIHdpdGgK PiBwcm9wYWdhdGVkIGNvbW1hbmRzLgo+IFNvIHdlIHRyeSB0byBhdm9pZCB0aGlzIHNpdHVhdGlv bjogRG9tMCBzZW5kaW5nIGEgZGV2aWNlIG1hcHBpbmcgKE1BUEQpCj4gY29tbWFuZCBpcyB0aGUg b25seSB0aW1lIHdlIGFsbG93IHF1ZXVpbmcgY29tbWFuZHMgdG8gdGhlIGhvc3QgSVRTIGNvbW1h bmQKPiBxdWV1ZSwgYXMgdGhpcyBzZWVtcyB0byBiZSB0aGUgb25seSByZWxpYWJsZSB3YXkgb2Yg Z2V0dGluZyB0aGUKPiByZXF1aXJlZCBpbmZvcm1hdGlvbiBhdCB0aGUgbW9tZW50LiBIb3dldmVy IGF0IHRoZSBzYW1lIHRpbWUgd2UgbWFwIGFsbAo+IGV2ZW50cyB0byBMUElzIGFscmVhZHksIGFs c28gZW5hYmxlIHRoZW0uIFRoaXMgYXZvaWRzIHNlbmRpbmcgY29tbWFuZHMKPiBsYXRlciBhdCBy dW50aW1lLCBhcyB3ZSBjYW4gZGVhbCB3aXRoIG1hcHBpbmdzIGFuZCBMUEkgZW5hYmxpbmcvZGlz YWJsaW5nCj4gaW50ZXJuYWxseS4KPgo+IFRvIGFjY29tb2RhdGUgdGhlIHRlY2ggcHJldmlldyBu YXR1cmUgb2YgdGhpcyBmZWF0dXJlIGF0IHRoZSBtb21lbnQsIHRoZXJlCj4gaXMgYSBLY29uZmln IG9wdGlvbiB0byBlbmFibGUgaXQuIEFsc28gaXQgaXMgc3VwcG9ydGVkIG9uIGFybTY0IG9ubHks IHdoaWNoCj4gd2lsbCBtb3N0IGxpa2VseSBub3QgY2hhbmdlIGluIHRoZSBmdXR1cmUuCj4gVGhp cyBsZWFkcyB0byBzb21lIGhpZGVvdXMgY29uc3RydWN0cyBsaWtlIGFuICNpZmRlZidlZCBoZWFk ZXIgZmlsZSB3aXRoCj4gZW1wdHkgZnVuY3Rpb24gc3R1YnMgdG8gYWNjb21vZGF0ZSBhcm0zMiBh bmQgbm9uLUlUUyBidWlsZHMsIHdoaWNoIHNoYXJlCj4gc29tZSBnZW5lcmljIGNvZGUgcGF0aHMg d2l0aCB0aGUgSVRTIGVtdWxhdGlvbi4KPiBUaGUgbnVtYmVyIG9mIHN1cHBvcnRlZCBMUElzIGNh biBiZSBsaW1pdGVkIG9uIHRoZSBjb21tYW5kIGxpbmUsIGluIGNhc2UKPiB0aGUgbnVtYmVyIHJl cG9ydGVkIGJ5IHRoZSBoYXJkd2FyZSBpcyB0b28gaGlnaC4gQXMgWGVuIGNhbm5vdCBmb3Jlc2Vl IGhvdwo+IG1hbnkgaW50ZXJydXB0cyB0aGUgZ3Vlc3RzIHdpbGwgbmVlZCwgd2UgY2F0ZXIgZm9y IGFzIG1hbnkgYXMgcG9zc2libGUuCj4gVGhlIGNvbW1hbmQgbGluZSBwYXJhbWV0ZXIgaXMgY2Fs bGVkIG1heC1scGktYml0cyBhbmQgZXhwcmVzc2VzIHRoZSBudW1iZXIKPiBvZiBiaXRzIHJlcXVp cmVkIHRvIGhvbGQgYW4gaW50ZXJydXB0IElELiBJdCBkZWZhdWx0cyB0byAyMCwgaWYgdGhhdCBp cwo+IGxvd2VyIHRoYW4gdGhlIG51bWJlciBzdXBwb3J0ZWQgYnkgdGhlIGhhcmR3YXJlLgo+Cj4g VGhpcyBjb2RlIGJvb3RzIERvbTAgb24gYW4gQVJNIEZhc3QgTW9kZWwgd2l0aCBJVFMgc3VwcG9y dC4gSSB0cmllZCB0bwo+IGFkZHJlc3MgdGhlIGlzc3VlcyBzZWVuIGJ5IHBlb3BsZSBydW5uaW5n IHRoZSBwcmV2aW91cyB2ZXJzaW9ucyBvbiByZWFsCj4gaGFyZHdhcmUsIHRob3VnaCBjb3VsZG4n dCB2ZXJpZnkgdGhpcyBoZXJlIGZvciBteXNlbGYuCj4gU28gYW55IHRlc3RpbmcsIGJ1ZyByZXBv cnRzIChhbmQgcG9zc2libHkgZXZlbiBmaXhlcykgYXJlIHZlcnkgd2VsY29tZS4KPgo+IFRoZSBj b2RlIGNhbiBhbHNvIGJlIGZvdW5kIG9uIHRoZSBpdHMvdjExIGJyYW5jaCBoZXJlOgo+IGdpdDov L2xpbnV4LWFybS5vcmcveGVuLWFwLmdpdAo+IGh0dHA6Ly93d3cubGludXgtYXJtLm9yZy9naXQ/ cD14ZW4tYXAuZ2l0O2E9c2hvcnRsb2c7aD1yZWZzL2hlYWRzL2l0cy92MTEKPgo+IENoZWVycywK PiBBbmRyZQo+Cj4gQ2hhbmdlbG9nIHYxMCAuLi4gdjExOgo+IC0gWzAxLzM0XTogdXNlIHByb3Bl ciBBQ0NFU1NfT05DRSB3cmFwcGVycyBmb3IgYWxsIHVzZXJzCj4gLSBbMDIvMzRdOiBzcGxpdCBv ZiB2OS0xMi8zMiBmb3IgYmFja3BvcnRpbmcKPiAtIFswMy8zNF06IHJlbWFpbmRlciBvZiBzcGxp dHRpbmcgdjktMTIvMzIKPiAtIFswNC8zNF06IGV4dGVuZCBjb21tZW50IHRvIGp1c3RpZnkgMTAg SU5JVEQgYml0cwo+IC0gWzA1LzM0XTogc3dhcHBlZCBwbGFjZSB3aXRoIGZvcm1lciAwNC8zMiB0 byBmaXggdGVtcG9yYXJ5IGRlYWRsb2NrCj4gLSBbMDYvMzRdOiBzd2FwcGVkIHBsYWNlIHdpdGgg Zm9ybWVyIDAzLzMyIHRvIGZpeCB0ZW1wb3JhcnkgZGVhZGxvY2sKPiAtIFswOC8zNF06IHVwZGF0 ZSBjb21taXQgbWVzc2FnZQo+IC0gWzEwLzM0XTogcmVtb3ZlIHVubmVlZGVkIHAtPmxyIGluaXRp YWxpc2F0aW9uCj4gLSBbMTEvMzRdOiByZXBsYWNlIHJlYWRfYXRvbWljIHdpdGggQUNDRVNTX09O Q0UKPiAtIFsxMy8zNF06IHNwbGl0IG9mIGZvcm1lciAxMS8zMjogcmVtb3ZlIG5vIGxvbmdlciBu ZWVkZWQgdkNQVSBJRCBpbiBob3N0IExQSQo+IC0gWzE0LzM0XTogZXhwb3J0IGluamVjdF9scGks IGZpeCBsb2NrLWxlc3MgYWNjZXNzIHRvIHZDUFUgSUQKPiAtIFsxOC8zNF06IGZpeCBjb21taXQg bWVzc2FnZSwgYWRkIG9uZSBtb3JlIG1lbW9yeSBiYXJyaWVyIGFuZCBjb21tZW50Cj4gLSBbMTkv MzRdOiBmaXggaXRzX2NtZF9tYXNrX2ZpZWxkKCksIGR1bXAgSVRTIGNvbW1hbmQgb24gZXJyb3IK PiAtIFsyMC8zNF06IGRyb3AgbG9jay10YWtpbmcgdmVyc2lvbnMgb2Yge3JlYWQsd3JpdGV9X2l0 dGUsIGRyb3Agb3B0aW9uYWwgdkNQVQo+ICAgICAgICAgICAgIHBhcmFtZXRlciB0byB3cml0ZV9p dHRlKCksIHJlbW92ZSBzYW5pdHkgY2hlY2tzIChkb255IGJ5IGNhbGxlcnMpCj4gLSBbMjEvMzRd OiBmaXggInZldmVudGlkIiBwYXJhbWV0ZXIgbmFtZQo+IC0gWzIyLzM0XTogZXhwbGljaXRseSB0 YWtlIGxvY2sgYXJvdW5kIHJlYWRfaXR0ZSwgdXNlIHZnaWNfdmNwdV9pbmplY3RfbHBpKCkKPiAt IFsyNS8zNF06IGZpeCAidmV2ZW50aWQiIHBhcmFtZXRlciBuYW1lCj4gLSBbMjYvMzRdOiBhZGQg dW5saWtlbHkoKSBoaW50cwo+IC0gWzI3LzM0XTogcmVtb3ZlIHVubmVlZGVkIHJlYWRfYXRvbWlj KCksIGV4cGxpY2l0bHkgc2FuaXRpemUgY29sbGVjdGlvbgo+IC0gWzI4LzM0XTogZXh0ZW5kIElS USBtaWdyYXRpb24gY29tbWVudAo+IC0gWzMwLzM0XTogcHJvdGVjdHMgYWdhaW5zdCBub3QgdmFs aWQgcHJvcGVydHkgdGFibGUKPiAtIFszMS8zNF06IHByb3RlY3RzIGFnYWluc3Qgbm90IHZhbGlk IHByb3BlcnR5IHRhYmxlLCBmaXggZXJyb3IgcHJvcGFnYXRpb24KPgo+IENoYW5nZWxvZyB2OSAu Li4gdjEwOgo+IG5vIGNoYW5nZXMgdG8gMDYsIDA3LCAxMiwgMTUsIDIwLCAyOSwgMzAsIDMyCj4g LSBbMDEvMzJdOiBmaXggZm9yIHJhbmsgbG9jayBkZWFkbG9jayBhcyBwb3N0ZWQgYmVmb3JlCj4g LSBbMDIvMzJdOiByZXBsYWNlIGFyYml0cmFyeSAxNiBiaXRzIGZvciBEb21VIGludGVycnVwdCBJ RHMgd2l0aCAxMCBiaXRzCj4gLSBbMDMvMzJdOiBoYW5kbGUgZnVuY3Rpb25zIG5vdCBkZWFsaW5n IHdpdGggTFBJcyBhcyB3ZWxsCj4gLSBbMDQvMzJdOiBuZXcgcGF0Y2ggdG8gcmVuYW1lIGdpY19y ZW1vdmVfZnJvbV9xdWV1ZXMgYW5kIHJlbW92ZSBsb2NrCj4gLSBbMDUvMzJdOiBuZXcgcGF0Y2gg dG8gaW50cm9kdWNlIGhlbHBlciBmb3IgcmVtb3ZpbmcgSVJRcyBmcm9tIHRoZSBWR0lDCj4gLSBb MDYvMzJdOiBhZGFwdCB0byBwcmV2aW91cyBjaGFuZ2VzCj4gLSBbMDgvMzJdOiB1c2UgbWVtc2V0 IHRvIGNsZWFyIHRoZSB3aG9sZSBzdHJ1Y3R1cmUKPiAtIFswOS8zMl06IHNwbGl0IG9mZiBmcm9t IGZvcm1lciAwNS8yOAo+IC0gWzEwLzMyXTogbW92ZWQgdXAgZnJvbnQsIGluaXRpYWxpemUgVkNQ VSBJRAo+IC0gWzExLzMyXTogcmVtb3ZlIFZDUFUgSUQgZnJvbSBob3N0IGVudHJ5LCByZXdvcmsg TFBJIGluamVjdGlvbiwgbW92ZWQKPiAgICAgICAgICAgICBvdXQgcGFydCBkZWFsaW5nIHdpdGgg TFBJIHByaW9yaXR5IGNhY2hpbmcKPiAtIFsxMy8zMl06IGFkZCBhIGhpbnQgYWJvdXQgYm9vbGVh biB2YXJpYWJsZXMKPiAtIFsxNC8zMl06IGZpeCBib29sX3QgdHlwZSB1c2FnZQo+IC0gWzE2LzMy XTogcmVwbGFjZSBtYWdpYyB2YWx1ZSwgYWx3YXlzIHVzZSBpbnRpZF9iaXRzIGZvciBUWVBFUiBn ZW5lcmF0aW9uLAo+ICAgICAgICAgICAgIGFkZCBtZW1vcnkgYmFycmllcgo+IC0gWzE3LzMyXTog YWRkIGNvbW1lbnRzIGFib3V0IElUUyB0YWJsZSBsYXlvdXQsIHJlbW92ZSBsZTY0X3RvX2NwdSgp LAo+ICAgICAgICAgICAgIHNpbXBsaWZ5IENUTFIgcmVhZCBhbmQgcmVtb3ZlIGxvY2ssIHVzZSBh dG9taWMgcmVhZCBhbmQgYWRkIGNvbW1lbnQKPiAgICAgICAgICAgICBpbiBDUkVBRFIgcmVhZCwg YWRkIFRPRE8gYW5kIEFTU0VSVCBhYm91dCBjcmFmdGluZyBJVFMgdGFibGVzLAo+ICAgICAgICAg ICAgIGFkZCBlbXB0eSBsaW5lcyBpbiBzd2l0Y2gvY2FzZSwgbW92ZSBjb2RlIGJsb2NrCj4gLSBb MTgvMzJdOiBjb25zaXN0ZW50IHVzZSBvZiBkYXRhIHR5cGVzLCBjb21tZW50cyBtb3ZlZCBvdXQg dG8gZWFybGllciBwYXRjaAo+IC0gWzE5LzMyXTogZm9sZCBpbiBnZXRfaG9zdF9scGkoKSwgcmVu YW1lIHZldmVudGlkIGlkZW50aWZpZXIKPiAtIFsyMS8zMl06IG1vdmUgdmFyaWFibGUgYXNzaWdu bWVudAo+IC0gWzIyLzMyXTogYWRkIFRPRE8gbG9ja2luZyBjb21tZW50LCB1c2UgbmV3IGdpY19y ZW1vdmVfaXJxKCkgZnVuY3Rpb24KPiAtIFsyMy8zMl06IHJlbW92ZSBubyBsb25nZXIgbmVlZGVk IFZDUFUgSUQgZnJvbSBob3N0IExQSSBmdW5jdGlvbnMsIGFkZAo+ICAgICAgICAgICAgIGxvY2tp bmcgVE9ETywgdXNlIGdvdG8gb3V0Cj4gLSBbMjQvMzJdOiBleHBsYWluIHJlYXNvbiBmb3IgTFIg Y2hlY2ssIG1ha2UgTFJzIHVuc2lnbmVkLCBtb3ZlIFBSSVNUSU5FCj4gICAgICAgICAgICAgY2hl Y2sgaW50byBvbmUgcGxhY2UKPiAtIFsyNS8zMl06IG1lbnRpb24gTUFQSSwgcmVtb3ZlIFZDUFUg SUQgZnJvbSBob3N0IExQSSB1cGRhdGVzLCB1c2UgYXRvbWljCj4gICAgICAgICAgICAgd3JpdGUg Zm9yIHByaW9yaXR5IHVwZGF0ZSwgcmVtb3ZlIG91dGRhdGVkIGNvbW1lbnQsIGV4cGxhaW4KPiAg ICAgICAgICAgICBlcnJvciBoYW5kbGluZyBwYXRoLCBjaGVjayBmb3IgdmFsaWQgcHJvcGVydHkg dGFibGUKPiAtIFsyNi8zMl06IHJlbW92ZSB1cGRhdGUgb2YgVkNQVSBJRCBpbiB0aGUgaG9zdF9s cGkgc3RydWN0dXJlLCBhZGQgbG9ja2luZyBUT0RPCj4gLSBbMjcvMzJdOiBmaXggZXJyb3IgcGF0 aAo+IC0gWzI4LzMyXTogYWRkIGNvbW1lbnQgYWJvdXQgcGh5c2ljYWwgTFBJLCB1c2UgZ2VuZXJp YyBmdW5jdGlvbiB0byByZW1vdmUgSVJRLAo+ICAgICAgICAgICAgIHJlbW92ZSByZWR1bmRhbnQg Y2xlYXJfYml0Cj4gLSBbMzEvMzJdOiBtYWtlIHZnaWNfdjNfaXRzX2luaXRfdmlydHVhbCgpIHN0 YXRpYyAoYW5kIG1vdmUgaXQpLCBtb3ZlIGNvbW1lbnQsCj4gICAgICAgICAgICAgcmVtb3ZlIHVu bmVlZGVkIGNhbGwgdG8gdmdpY192M19pdHNfZnJlZV9kb21haW4oKQo+Cj4gQ2hhbmdlbG9nIHY4 IC4uLiB2OToKPiAtIFswMS8yOF06IGluaXRpYWxpemUgbnVtYmVyIG9mIGludGVycnVwdCBJRHMg Zm9yIERvbVVzIGFsc28KPiAtIFswMi8yOF06IG1vdmUgcHJpb3JpdHkgcmVhZGluZyBiYWNrIHVw IGZyb250Cj4gLSBbMDMvMjhdOiBlbnVtZXJhdGUgYWxsIGNhbGwgc2l0ZXMgaW4gY29tbWl0IG1l c3NhZ2UsIGFkZCBBU1NFUlRzLAo+ICAgICAgICAgICAgIGFkZCAidW5saWtlbHkiIGhpbnRzLCBh dm9pZCBza2lwcGluZyBBU1NFUlRzLCBhZGQgY29tbWVudCB0bwo+ICAgICAgICAgICAgIGlycV90 b19wZW5kaW5nKCkgZGVmaW5pdGlvbgo+IC0gWzA0LzI4XTogZXhwbGFpbiBleHBlY3RhdGlvbiBv ZiBkZXZpY2Ugc3RhdGUgd2hpbGUgZGVzdHJveWluZyBkb21haW4KPiAtIFswNS8yOF06IGRvY3Vt ZW50IGNhc2Ugb2YgaW52YWxpZCBMUEksIGNoYW5nZSBkdW1teSBwcmlvcml0eSB0byAweGZmCj4g LSBbMDgvMjhdOiBjaGVjayBjcm9zcyBwYWdlIGJvdW5kYXJ5IGNvbmRpdGlvbiBlYXJseSBpbiBm dW5jdGlvbgo+IC0gWzEwLzI4XTogaW5pdGlhbGl6ZSBzdGF0dXMgYW5kIGxyIG1lbWJlciBhcyB3 ZWxsCj4gLSBbMTEvMjhdOiBjaGVjayBscGlfdmNwdV9pZCB0byBjb3ZlciBhbGwgdmlydHVhbCBD UFVzCj4gLSBbMTIvMjhdOiBhZGQgc3BpbiBsb2NrIEFTU0VSVAo+IC0gWzEzLzI4XTogaW50cm9k dWNlIHR5cGVzIGZvciBvdXIgSVRTIHRhYmxlIGVudHJpZXMsIGZpeCBlcnJvciBtZXNzYWdlcwo+ IC0gWzE0LzI4XTogdXNlIG5ldyBJVFMgdGFibGUgZW50cnkgdHlwZXMKPiAtIFsxNS8yOF06IG5l dyBwYXRjaCB0byBpbnRyb2R1Y2UgcGVuZGluZ19pcnEgbG9va3VwIGZ1bmN0aW9uCj4gLSBbMTcv MjhdOiB2ZXJpZnkgc2l6ZSBvZiBjb2xsZWN0aW9uIHRhYmxlIGVudHJ5Cj4gLSBbMTgvMjhdOiB1 c2UgbmV3IHBlbmRpbmdfaXJxIGxvb2t1cCBmdW5jdGlvbgo+IC0gWzE5LzI4XTogdXNlIG5ldyBw ZW5kaW5nX2lycSBsb29rdXAgZnVuY3Rpb24sIGNvbGxlY3Rpb24gdGFibGUgdHlwZSBhbmQKPiAg ICAgICAgICAgICB2Z2ljX2luaXRfcGVuZGluZ19pcnEsIGFkZCBEb20wIEFTU0VSVCBhbmQgdW5t YXAgZGV2aWNlcyBmb3IgRG9tVXMKPiAtIFsyMC8yOF06IGRvY3VtZW50IFBSSVNUSU5FX0xQSSBm bGFnLCBmaXggdHlwbywgYXZvaWQgZG91YmxlIGluc2VydGlvbiBvZgo+ICAgICAgICAgICAgIHRo ZSBzYW1lIExQSSBpbnRvIGRpZmZlcmVudCBMUnMKPiAtIFsyMS8yOF06IHVzZSBuZXcgcGVuZGlu Z19pcnEgbG9va3VwIGZ1bmN0aW9uLCBhdm9pZCBleHBsaWN0IExQSSBudW1iZXIKPiAgICAgICAg ICAgICBwYXJhbWV0ZXIKPiAtIFsyMi8yOF06IGFkZCBwaHlzaWNhbCBhZmZpbml0eSBUT0RPLCB1 c2UgbmV3IHRhYmxlIHR5cGUgYW5kIHBlbmRpbmdfaXJxCj4gICAgICAgICAgICAgbG9va3VwIGZ1 bmN0aW9uLCBmaXggZXJyb3IgbWVzc2FnZQo+IC0gWzI0LzI4XTogdXNlIHBlbmRpbmdfaXJxIGxv b2t1cCBmdW5jdGlvbiwgZHJvcCBleHBsaWNpdCBMUEkgbnVtYmVyIHBhcmFtZXRlcgo+IC0gWzI1 LzI4XTogZHJvcCBleHBsaWNpdCBMUEkgbnVtYmVyIHBhcmFtZXRlcgo+IC0gWzI3LzI4XTogdXNl IG5ldyBJVFMgdGFibGUgZW50cnkgdHlwZQo+Cj4gQ2hhbmdlbG9nIHY3IC4uLiB2ODoKPiAtIGRy b3AgbGlzdCBwYXJhbWV0ZXIgYW5kIHJlbmFtZSB0byBnaWN2M19pdHNfbWFrZV9od2R3b21fZHRf bm9kZXMoKQo+IC0gcmVtb3ZlIHJlYmFzZSBhcnRpZmFjdHMKPiAtIGFkZCBpcnFfZW50ZXIvaXJx X2V4aXQoKSBjYWxscwo+IC0gcHJvcGFnYXRlcyBudW1iZXIgb2YgaG9zdCBMUElzIGFuZCBudW1i ZXIgb2YgZXZlbnQgSURzIHRvIERvbTAKPiAtIGFkZCBwcm9wZXIgY292ZXJhZ2Ugb2YgYWxsIGFk ZHJlc3NlcyBpbiBJVFMgTU1JTyBoYW5kbGVyCj4gLSBhdm9pZCB2Y21kX2xvY2sgZm9yIENCQVNF UiB3cml0ZXMKPiAtIGZpeCBtaXNzaW5nIGlycXNhdmUvaXJxcmVzdG9yZSBvbiBWR0lDIFZDUFUg bG9jawo+IC0gbW92ZSBzdHJ1Y3QgcGVuZGluZ19pcnEgdXNlIHVuZGVyIHRoZSBWR0lDIFZDUFUg bG9jawo+IC0gcHJvdGVjdCBnaWNfcmFpc2VfZ3Vlc3RfaXJxKCkgYWdhaW5zdCBOVUxMIHBlbmRp bmdfaXJxCj4gLSBpbXByb3ZlIGRldmljZSBhbmQgY29sbGVjdGlvbiB0YWJsZSBlbnRyeSBzaXpl IGRvY3VtZW50YXRpb24KPiAtIGNvdW50IG51bWJlciBvZiBJVFNlcyB0byBpbmNyZWFzZSBtbWlv X2NvdW50Cj4gLSByZXdvcmsgTUFQRCwgRElTQ0FSRCwgTUFQVEkgYW5kIE1PVkkgdG8gdGFrZSBw cm9wZXIgbG9ja3MKPiAtIHByb3Blcmx5IHJvbGxiYWNrIGZhaWxpbmcgTUFQRCBhbmQgTUFQVEkg Y2FsbHMKPiAtIHJld29yayBmdW5jdGlvbnMgdG8gdXBkYXRlIHByb3BlcnR5IHRhYmxlCj4gLSBy ZXR1cm4gZXJyb3Igb24gdmdpY19hY2Nlc3NfZ3Vlc3RfbWVtb3J5IGNyb3NzaW5nIHBhZ2UgYm91 bmRhcnkKPiAtIG1ha2Ugc3VyZSBDUkVBRFIgYWNjZXNzIGlzIGF0b21pYwo+Cj4gQ2hhbmdlbG9n IHY1IC4uLiB2NjoKPiAtIHJlb3JkZXJlZCBwYXRjaGVzIHRvIGFsbG93IHNwbGl0dGluZyB0aGUg c2VyaWVzCj4gLSBpbnRyb2R1Y2VkIGZ1bmN0aW9ucyBsYXRlciB0byBhdm9pZCB3YXJuaW5ncyBv biBpbnRlcm1lZGlhdGUgYnVpbGRzCj4gLSByZWZhY3RvcmVkIGNvbW1vbiBjb2RlIGNoYW5nZXMg aW50byBzZXBhcmF0ZSBwYXRjaGVzCj4gLSBkcm9wcGVkIEdFTk1BU0tfVUxMIGFuZCBCSVRfVUxM IChib3RoIHBhdGNoZXMgYW5kIHRoZWlyIHVzYWdlIGxhdGVyKQo+IC0gcmV3b3JrIGxvY2tpbmcg aW4gTU1JTyByZWdpc3RlciByZWFkcyBhbmQgd3JpdGVzCj4gLSBwcm90ZWN0IG5ldyBjb2RlIGZy b20gYmVpbmcgZXhlY3V0ZWQgd2l0aG91dCBhbiBJVFMgYmVpbmcgY29uZmlndXJlZAo+IC0gZml4 IHZnaWNfYWNjZXNzX2d1ZXN0X21lbW9yeSAobm93IGEgc2VwYXJhdGUgcGF0Y2gpCj4gLSBzb21l IG1vcmUgY29tbWVudHMgYW5kIFRPRE9zCj4KPiBDaGFuZ2Vsb2cgdjQgLi4uIHY1Ogo+IC0gYWRk aW5nIG1hbnkgY29tbWVudHMKPiAtIHNwaW5sb2NrIGFzc2VydHMKPiAtIHJlbmFtZSByX2hvc3Rf bHBpcyB0byBtYXhfaG9zdF9scGlfaWRzCj4gLSByZW1vdmUgbWF4X2l0c19kZXZpY2VfYml0cyBj b21tYW5kIGxpbmUKPiAtIGFkZCB3YXJuaW5nIG9uIGhpZ2ggbnVtYmVyIG9mIExQSXMKPiAtIGF2 b2lkIHBvdGVudGlhbCBsZWFrIG9uIGhvc3QgTUFQRAo+IC0gcHJvcGVybHkgaGFuZGxlIG5yX2V2 ZW50cyByb3VuZGluZwo+IC0gcmVtb3ZlIHVubWFwX2FsbF9kZXZpY2VzKCksIHJlcGxhY2Ugd2l0 aCBBU1NFUlQKPiAtIGFkZCBiYXJyaWVycyBmb3IgKGxvY2tsZXNzKSBob3N0IExQSSBsb29rdXBz Cj4gLSBhZGQgcHJvcGVyIGxvY2tpbmcgaW4gSVRTIGFuZCByZWRpc3QgTU1JTyByZWdpc3RlciBo YW5kbGluZwo+IC0gcm9sbGJhY2sgZmFpbGluZyBkZXZpY2UgbWFwcGluZwo+IC0gZml4IHZhcmlv dXMgcHJpbnRrcwo+IC0gYWRkIHZnaWNfYWNjZXNzX2d1ZXN0X21lbW9yeSgpIGFuZCB1c2UgaXQK PiAtIChnZXR0aW5nIHJpZCBvZiBwYWdlIG1hcHBpbmcgZnVuY3Rpb25zIGFuZCBoZWxwZXJzKQo+ IC0gZHJvcCB0YWJsZSBtYXBwaW5nIC8gdW5tYXBwaW5nIG9uIHJlZGlzdC9JVFMgZW5hYmxlL2Rp c2FibGUKPiAtIG1pbm9yIHJld29ya3MgaW4gZnVuY3Rpb25zIGFzIHBlciByZXZpZXcgY29tbWVu dHMKPiAtIGZpeCBJVFMgZW5hYmxlbWVudCBjaGVjawo+IC0gbW92ZSBscGlfdG9fcGVuZGluZygp IGFuZCBscGlfZ2V0X3ByaW9yaXR5KCkgdG8gdmdpY19vcHMKPiAtIG1vdmUgZG9fTFBJKCkgdG8g Z2ljX2h3X29wcwo+IC0gd2hpdGVzcGFjZSBhbmQgaGFyZCB0YWJzIGZpeGVzCj4gLSBpbnRyb2R1 Y2UgSVRTIGRvbWFpbiBpbml0IGZ1bmN0aW9uIChhbmQgdXNlIGl0IGZvciB0aGUgcmJ0cmVlKQo+ IC0gZW5hYmxlIElSUXMgYXJvdW5kIGRvX0xQSQo+IC0gaW1wbGVtZW50IFRPRE9zIGZvciBsYXRl ciBvcHRpbWl6YXRpb25zCj4gLSBhZGQgInYiIHByZWZpeCB0byB2YXJpYWJsZXMgaG9sZGluZyB2 aXJ0dWFsIHByb3BlcnRpZXMKPiAtIHByb3ZpZGUgbG9ja2VkIGFuZCBub3JtYWwgdmVyc2lvbnMg b2YgcmVhZC93cml0ZV9pdHRlCj4gLSBvbmx5IENMRUFSIExQSSBpZiBub3QgYWxyZWFkeSBndWVz dCB2aXNpYmxlIChwbHVzIGNvbW1lbnQpCj4gLSB1cGRhdGUgTFBJIHByb3BlcnR5IG9uIE1BUFRJ Cj4gLSBzdG9yZSB2Y3B1X2lkIGluIHBlbmRpbmdfaXJxIGZvciBMUElzIChoZWxwcyBJTlZBTEwp Cj4gLSBpbXByb3ZlIElOVkFMTCBpbXBsZW1lbnRhdGlvbiB0byBvbmx5IGNvdmVyIExQSXMgb24g dGhpcyBWQ1BVCj4gLSBpbXByb3ZlIHZpcnR1YWwgQkFTRSByZWdpc3RlciBpbml0aWFsaXphdGlv bgo+IC0gbGltaXQgbnVtYmVyIG9mIHZpcnR1YWwgTFBJcyB0byAyNCBiaXRzIChMaW51eCBidWcg YXQgMzI/PykKPiAtIG9ubHkgaW5qZWN0IExQSXMgaWYgcmVkaXN0cmlidXRvciBpcyBhY3R1YWxs eSBlbmFibGVkCj4KPiBDaGFuZ2Vsb2cgdjMgLi4gdjQ6Cj4gLSBtYWtlIEhBU19JVFMgZGVwZW5k IG9uIEVYUEVSVAo+IC0gaW50cm9kdWNlIG5ldyBwYXRjaCAwMiB0byBpbml0aWFsaXplIGhvc3Qg SVRTIGVhcmx5Cj4gLSBmaXggY21kX2xvY2sgaW5pdCBwb3NpdGlvbgo+IC0gaW50cm9kdWNlIHdh cm5pbmcgb24gaGlnaCBudW1iZXIgb2YgTFBJIGFsbG9jYXRpb25zCj4gLSB2YXJpb3VzIGludCAt PiB1bnNpZ25lZCBmaXhlcwo+IC0gYWRkaW5nIGFuZCBpbXByb3ZpbmcgY29tbWVudHMKPiAtIHJh dGUgbGltaXQgSVRTIGNvbW1hbmQgcXVldWUgZnVsbCBtc2cKPiAtIGRyb3AgdW5uZWVkZWQgY2hl Y2tzCj4gLSB2YWxpZGF0ZSBhZ2FpbnN0IGFsbG93ZWQgbnVtYmVyIG9mIGRldmljZSBJRHMKPiAt IGF2b2lkIG1lbW9yeSBsZWFrcyB3aGVuIHJlbW92aW5nIGRldmljZXMKPiAtIGltcHJvdmUgYWxn b3JpdGhtIGZvciBmaW5kaW5nIGZyZWUgaG9zdCBMUEkKPiAtIGNvbnZlcnQgdW5tYXBfYWxsX2Rl dmljZXMgZnJvbSBnb3RvIHRvIHdoaWxlIGxvb3AKPiAtIGFkZCBtZXNzYWdlIG9uIHJlbWFwcGlu ZyBJVFMgZGV2aWNlCj4gLSBuYW1lIHZpcnR1YWwgZGV2aWNlIC8gZXZlbnQgSURzIHByb3Blcmx5 Cj4gLSB1c2UgYXRvbWljIHJlYWQgd2hlbiByZWFkaW5nIElUVCBlbnRyeQo+Cj4gQ2hhbmdlbG9n IHYyIC4uIHYzOgo+IC0gcHJlYWxsb2NhdGUgc3RydWN0IHBlbmRpbmdfaXJxJ3MKPiAtIG1hcCBJ VFMgYW5kIHJlZGlzdHJpYnV0b3IgdGFibGVzIG9ubHkgb24gZGVtYW5kCj4gLSBzdG9yZSBwcm9w ZXJ0eSwgZW5hYmxlIGFuZCBwZW5kaW5nIGJpdCBpbiBzdHJ1Y3QgcGVuZGluZ19pcnEKPiAtIGlt cHJvdmUgZXJyb3IgY2hlY2tpbmcgYW5kIGhhbmRsaW5nCj4gLSBhZGQgY29tbWVudHMKPgo+IENo YW5nZWxvZyB2MSAuLiB2MjoKPiAtIGNsZWFuIHVwIGhlYWRlciBmaWxlIGluY2x1c2lvbgo+IC0g cmV3b3JrIGhvc3QgSVRTIHRhYmxlIGFsbG9jYXRpb246IG9ic2VydmUgYXR0cmlidXRlcywgbWFu eSBmaXhlcwo+IC0gcmVtb3ZlIHBhdGNoIDEgdG8gZXhwb3J0IF9fZmx1c2hfZGNhY2hlX2FyZWEs IHVzZSBleGlzdGluZyBmdW5jdGlvbiBpbnN0ZWFkCj4gLSB1c2UgbnVtYmVyIG9mIExQSXMgaW50 ZXJuYWxseSBpbnN0ZWFkIG9mIG51bWJlciBvZiBiaXRzCj4gLSBrZWVwIGhvc3RfaXRzX2xpc3Qg YXMgcHJpdmF0ZSBhcyBwb3NzaWJsZQo+IC0ga2VlcCBzdHJ1Y3QgaXRzX2RldmljZXMgcHJpdmF0 ZQo+IC0gcmV3b3JrIGdpY3YzX2l0c19tYXBfZ3Vlc3RfZGV2aWNlcwo+IC0gZml4IHJidHJlZSBp c3N1ZXMKPiAtIG1vcmUgZXJyb3IgaGFuZGxpbmcgYW5kIHByb3BhZ2F0aW9uCj4gLSBjb3BlIHdp dGggR0lDdjQgaW1wbGVtZW50YXRpb25zIChidXQgbm8gdmlydHVhbCBMUEkgZmVhdHVyZXMhKQo+ IC0gYWJzdHJhY3QgaG9zdCBhbmQgZ3Vlc3QgSVRTZXMgYnkgdXNpbmcgZG9vcmJlbGwgYWRkcmVz c2VzCj4gLSBqb2luIHBlci1yZWRpc3RyaWJ1dG9yIHZhcmlhYmxlcyBpbnRvIG9uZSBwZXItQ1BV IHN0cnVjdHVyZQo+IC0gZml4IGRhdGEgdHlwZXMgKHVuc2lnbmVkIGludCkKPiAtIG1hbnkgbWlu b3IgYnVnIGZpeGVzCj4KPiAoUm91Z2gpIGNoYW5nZWxvZyBSRkMtdjIgLi4gdjE6Cj4gLSBzcGxp dCBob3N0IElUUyBkcml2ZXIgaW50byBnaWMtdjMtbHBpLmMgYW5kIGdpYy12My1pdHMuYyBwYXJ0 Cj4gLSByZW5hbWUgdmlydHVhbCBJVFMgZHJpdmVyIGZpbGUgdG8gdmdpYy12My1pdHMuYwo+IC0g dXNlIG1hY3JvcyBhbmQgbmFtZWQgY29uc3RhbnRzIGZvciBhbGwgbWFnaWMgbnVtYmVycwo+IC0g dXNlIGF0b21pYyBhY2Nlc3NvcnMgZm9yIGFjY2Vzc2luZyB0aGUgaG9zdCBMUEkgZGF0YQo+IC0g cmVtb3ZlIGxlZnRvdmVycyBmcm9tIGNvbm5lY3RpbmcgdmlydHVhbCBhbmQgaG9zdCBJVFNlcwo+ IC0gYmFpbCBvdXQgaWYgaG9zdCBJVFMgaXMgZGlzYWJsZWQgaW4gdGhlIERUCj4gLSByZXdvcmsg bWFwL3VubWFwX2d1ZXN0X3BhZ2VzKCk6Cj4gICAgICAtIHNwbGl0IG9mZiBwMm0gcGFydCBhcyBn ZXQvcHV0X2d1ZXN0X3BhZ2VzICh0byBiZSBkb25lIG9uIGFsbG9jYXRpb24pCj4gICAgICAtIGdl dCByaWQgb2Ygdm1hcCwgdXNpbmcgbWFwX2RvbWFpbl9wYWdlKCkgaW5zdGVhZAo+IC0gZGVsYXkg YWxsb2NhdGlvbiBvZiB2aXJ0dWFsIHRhYmxlcyB1bnRpbCBhY3R1YWwgTFBJL0lUUyBlbmFibGVt ZW50Cj4gLSBwcm9wZXJseSBzaXplIGJvdGggdmlydHVhbCBhbmQgcGh5c2ljYWwgdGFibGVzIHVw b24gYWxsb2NhdGlvbgo+IC0gZml4IHB1dF9kb21haW4oKSBsb2NraW5nIGlzc3VlcyBpbiBwaHlz ZGV2X29wIGFuZCBMUEkgaGFuZGxpbmcgY29kZQo+IC0gYWRkIGFuZCBleHRlbmQgY29tbWVudHMg aW4gdmFyaW91cyBhcmVhcwo+IC0gZml4IGxvdHNhIGNvZGluZyBzdHlsZSBhbmQgd2hpdGUgc3Bh Y2UgaXNzdWVzLCBpbmNsdWRpbmcgY29tbWVudCBzdHlsZQo+IC0gYWRkIGxvY2tpbmcgdG8gZGF0 YSBzdHJ1Y3R1cmVzIG5vdCB5ZXQgY292ZXJlZAo+IC0gZml4IHZhcmlvdXMgbG9ja2luZyBpc3N1 ZXMKPiAtIHVzZSBhbiByYnRyZWUgdG8gZGVhbCB3aXRoIElUUyBkZXZpY2VzIChpbnN0ZWFkIG9m IGEgbGlzdCkKPiAtIHByb3Blcmx5IGhhbmRsZSBtZW1vcnkgYXR0cmlidXRlcyBmb3IgSVRTIHRh Ymxlcwo+IC0gaGFuZGxlIGNhY2hlYWJsZS9ub24tY2FjaGVhYmxlIElUUyB0YWJsZSBtYXBwaW5n cwo+IC0gc2FuaXRpemUgZ3Vlc3QgcHJvdmlkZWQgSVRTL0xQSSB0YWJsZSBhdHRyaWJ1dGVzCj4g LSBmaXggYnJlYWthZ2Ugb24gbm9uLUdJQ3YyIGNvbXBhdGlibGUgaG9zdCBHSUN2MyBjb250cm9s bGVycwo+IC0gYWRkIGNvbW1hbmQgbGluZSBwYXJhbWV0ZXJzIG9uIHRvcCBvZiBLY29uZmlnIG9w dGlvbnMKPiAtIHByb3Blcmx5IHdhaXQgZm9yIGFuIElUUyB0byBiZWNvbWUgcXVpZXNjaWVudCBi ZWZvcmUgZW5hYmxpbmcgaXQKPiAtIGhhbmRsZSBob3N0IElUUyBjb21tYW5kIHF1ZXVlIGVycm9y cwo+IC0gYWN0dWFsbHkgd2FpdCBmb3IgaG9zdCBJVFMgY29tbWFuZCBjb21wbGV0aW9uIChSRUFE Uj09V1JJVEVSKQo+IC0gZml4IEFSTTMyIGNvbXBpbGF0aW9uCj4gLSB2YXJpb3VzIHBhdGNoIHNw bGl0cyBhbmQgcmVvcmRlcmluZ3MKPgo+IEFuZHJlIFByenl3YXJhICgzMyk6Cj4gICAgQVJNOiB2 R0lDOiBhdm9pZCByYW5rIGxvY2sgd2hlbiByZWFkaW5nIHByaW9yaXR5Cj4gICAgQVJNOiBHSUN2 MzogZW5hYmxlIElUUyBvbiB0aGUgaG9zdAo+ICAgIEFSTTogR0lDdjM6IGVuYWJsZSBMUElzIG9u IHRoZSBob3N0Cj4gICAgQVJNOiBHSUN2Mzogc2V0dXAgbnVtYmVyIG9mIExQSSBiaXRzIGZvciBh IEdJQ3YzIGd1ZXN0Cj4gICAgQVJNOiB2R0lDOiByZXdvcmsgZ2ljX3JlbW92ZV9mcm9tX3F1ZXVl cygpCj4gICAgQVJNOiB2R0lDOiBtb3ZlIGlycV90b19wZW5kaW5nKCkgY2FsbHMgdW5kZXIgdGhl IFZHSUMgVkNQVSBsb2NrCj4gICAgQVJNOiB2R0lDOiBpbnRyb2R1Y2UgZ2ljX3JlbW92ZV9pcnEo KQo+ICAgIEFSTTogR0lDOiBBZGQgY2hlY2tzIGZvciBOVUxMIHBvaW50ZXIgcGVuZGluZ19pcnEn cwo+ICAgIEFSTTogR0lDdjM6IGludHJvZHVjZSBzZXBhcmF0ZSBwZW5kaW5nX2lycSBzdHJ1Y3Rz IGZvciBMUElzCj4gICAgQVJNOiBHSUM6IGV4cG9ydCBhbmQgZXh0ZW5kIHZnaWNfaW5pdF9wZW5k aW5nX2lycSgpCj4gICAgQVJNOiB2R0lDOiBjYWNoZSB2aXJ0dWFsIExQSSBwcmlvcml0eSBpbiBz dHJ1Y3QgcGVuZGluZ19pcnEKPiAgICBBUk06IHZHSUM6IGFkZCBMUEkgVkNQVSBJRCB0byBzdHJ1 Y3QgcGVuZGluZ19pcnEKPiAgICBBUk06IEdJQzogSVRTOiByZW1vdmUgbm8gbG9uZ2VyIG5lZWRl ZCBWQ1BVIElEIGluIGhvc3QgTFBJIGVudHJ5Cj4gICAgQVJNOiBHSUN2MzogZm9yd2FyZCBwZW5k aW5nIExQSXMgdG8gZ3Vlc3RzCj4gICAgQVJNOiB2R0lDdjM6IGhhbmRsZSB2aXJ0dWFsIExQSSBw ZW5kaW5nIGFuZCBwcm9wZXJ0eSB0YWJsZXMKPiAgICBBUk06IHZHSUN2MzogcmUtdXNlIHZnaWNf cmVnNjRfY2hlY2tfYWNjZXNzCj4gICAgQVJNOiB2R0lDOiBhZHZlcnRpc2UgTFBJIHN1cHBvcnQK PiAgICBBUk06IHZJVFM6IGFkZCBjb21tYW5kIGhhbmRsaW5nIHN0dWIgYW5kIE1NSU8gZW11bGF0 aW9uCj4gICAgQVJNOiB2SVRTOiBpbnRyb2R1Y2UgdHJhbnNsYXRpb24gdGFibGUgd2Fsa3MKPiAg ICBBUk06IHZJVFM6IHByb3ZpZGUgYWNjZXNzIHRvIHN0cnVjdCBwZW5kaW5nX2lycQo+ICAgIEFS TTogdklUUzogaGFuZGxlIElOVCBjb21tYW5kCj4gICAgQVJNOiB2SVRTOiBoYW5kbGUgTUFQQyBj b21tYW5kCj4gICAgQVJNOiB2SVRTOiBoYW5kbGUgQ0xFQVIgY29tbWFuZAo+ICAgIEFSTTogdklU UzogaGFuZGxlIE1BUEQgY29tbWFuZAo+ICAgIEFSTTogR0lDdjM6IGhhbmRsZSB1bm1hcHBlZCBM UElzCj4gICAgQVJNOiB2SVRTOiBoYW5kbGUgTUFQVEkvTUFQSSBjb21tYW5kCj4gICAgQVJNOiB2 SVRTOiBoYW5kbGUgTU9WSSBjb21tYW5kCj4gICAgQVJNOiB2SVRTOiBoYW5kbGUgRElTQ0FSRCBj b21tYW5kCj4gICAgQVJNOiB2SVRTOiBoYW5kbGUgSU5WIGNvbW1hbmQKPiAgICBBUk06IHZJVFM6 IGhhbmRsZSBJTlZBTEwgY29tbWFuZAo+ICAgIEFSTTogdklUUzogaW5jcmVhc2UgbW1pb19jb3Vu dCBmb3IgZWFjaCBJVFMKPiAgICBBUk06IHZJVFM6IGNyZWF0ZSBhbmQgaW5pdGlhbGl6ZSB2aXJ0 dWFsIElUU2VzIGZvciBEb20wCj4gICAgQVJNOiB2SVRTOiBjcmVhdGUgSVRTIHN1Ym5vZGVzIGZv ciBEb20wIERUCj4KPiBWaWpheWEgS3VtYXIgSyAoMSk6Cj4gICAgQVJNOiBpbnRyb2R1Y2Ugdmdp Y19hY2Nlc3NfZ3Vlc3RfbWVtb3J5KCkKPgo+ICAgeGVuL2FyY2gvYXJtL2dpYy12Mi5jICAgICAg ICAgICAgfCAgICA3ICsKPiAgIHhlbi9hcmNoL2FybS9naWMtdjMtaXRzLmMgICAgICAgIHwgIDE4 MCArKysrKwo+ICAgeGVuL2FyY2gvYXJtL2dpYy12My1scGkuYyAgICAgICAgfCAgIDk5ICsrLQo+ ICAgeGVuL2FyY2gvYXJtL2dpYy12My5jICAgICAgICAgICAgfCAgIDI5ICstCj4gICB4ZW4vYXJj aC9hcm0vZ2ljLmMgICAgICAgICAgICAgICB8ICAxMDIgKystCj4gICB4ZW4vYXJjaC9hcm0vdmdp Yy12Mi5jICAgICAgICAgICB8ICAgMjggKy0KPiAgIHhlbi9hcmNoL2FybS92Z2ljLXYzLWl0cy5j ICAgICAgIHwgMTQ4MiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLQo+ICAg eGVuL2FyY2gvYXJtL3ZnaWMtdjMuYyAgICAgICAgICAgfCAgMzI3ICsrKysrKysrLQo+ICAgeGVu L2FyY2gvYXJtL3ZnaWMuYyAgICAgICAgICAgICAgfCAgMTQ2ICsrKy0KPiAgIHhlbi9pbmNsdWRl L2FzbS1hcm0vZG9tYWluLmggICAgIHwgICAxNiArLQo+ICAgeGVuL2luY2x1ZGUvYXNtLWFybS9l dmVudC5oICAgICAgfCAgICAzICsKPiAgIHhlbi9pbmNsdWRlL2FzbS1hcm0vZ2ljLmggICAgICAg IHwgICAgNSArLQo+ICAgeGVuL2luY2x1ZGUvYXNtLWFybS9naWNfdjNfaXRzLmggfCAgIDQ0ICsr Cj4gICB4ZW4vaW5jbHVkZS9hc20tYXJtL3ZnaWMtZW11bC5oICB8ICAgIDkgKwo+ICAgeGVuL2lu Y2x1ZGUvYXNtLWFybS92Z2ljLmggICAgICAgfCAgIDE4ICstCj4gICAxNSBmaWxlcyBjaGFuZ2Vk LCAyNDEzIGluc2VydGlvbnMoKyksIDgyIGRlbGV0aW9ucygtKQo+CgoKX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KWGVuLWRldmVsIG1haWxpbmcgbGlzdApY ZW4tZGV2ZWxAbGlzdHMueGVuLm9yZwpodHRwczovL2xpc3RzLnhlbi5vcmcveGVuLWRldmVsCg==