From mboxrd@z Thu Jan 1 00:00:00 1970 From: Yi Sun Subject: Re: [PATCH 0/3] Enable L2 Cache Allocation Technology Date: Sun, 18 Sep 2016 10:34:20 +0800 Message-ID: <20160918023420.GK30513@yi.y.sun> References: <1472102472-7105-1-git-send-email-yi.y.sun@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail6.bemta3.messagelabs.com ([195.245.230.39]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1blS0O-0008T1-Mn for xen-devel@lists.xenproject.org; Sun, 18 Sep 2016 02:38:56 +0000 Content-Disposition: inline In-Reply-To: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xen.org Sender: "Xen-devel" To: Meng Xu Cc: Wei Liu , he.chen@linux.intel.com, Andrew Cooper , Ian Jackson , Jan Beulich , "xen-devel@lists.xenproject.org" , Chao Peng List-Id: xen-devel@lists.xenproject.org T24gMTYtMDktMTcgMTE6MzE6NTQsIE1lbmcgWHUgd3JvdGU6Cj4gT24gVGh1LCBBdWcgMjUsIDIw MTYgYXQgMToyMSBBTSwgWWkgU3VuIDx5aS55LnN1bkBsaW51eC5pbnRlbC5jb20+IHdyb3RlOgo+ ID4KPiA+IERlc2lnbiBkb2N1bWVudCBpcyBiZWxvdzoKPiA+ID09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Cj4gPiAl IEludGVsIEwyIENhY2hlIEFsbG9jYXRpb24gVGVjaG5vbG9neSAoTDIgQ0FUKSBGZWF0dXJlCj4g PiAlIFJldmlzaW9uIDEuMAo+ID4KPiA+IFxjbGVhcnBhZ2UKPiA+Cj4gPiBIaSBhbGwsCj4gPgo+ ID4gV2UgcGxhbiB0byBicmluZyBhIG5ldyBQU1IgKFBsYXRmb3JtIFNoYXJlZCBSZXNvdXJjZSkg ZmVhdHVyZSBjYWxsZWQKPiA+IEludGVsIEwyIENhY2hlIEFsbG9jYXRpb24gVGVjaG5vbG9neSAo TDIgQ0FUKSB0byBYZW4uCj4gPgo+ID4gVGhpcyBpcyB0aGUgaW5pdGlhbCBkZXNpZ24gb2YgTDIg Q0FULiBJdCBtaWdodCBiZSBhIGxpdHRsZSBsb25nIGFuZAo+ID4gZGV0YWlsZWQsIGhvcGUgaXQg ZG9lc24ndCBtYXR0ZXIuCj4gPgo+ID4gQmVzaWRlcyB0aGUgTDIgQ0FUIGltcGxlbWVudGFpb24s IHdlIHJlZmFjdG9yIHRoZSBwc3IuYyB0byBtYWtlIGl0IG1vcmUKPiA+IGZsZXhpYmxlIHRvIGFk ZCBuZXcgZmVhdHVyZXMgYW5kIGZ1bGZpbGwgdGhlIHByaW5jaXBsZSwgb3BlbiBmb3IgZXh0ZW5z aW9uCj4gPiBidXQgY2xvc2VkIGZvciBtb2RpZmljYXRpb24uCj4gPgo+ID4gQ29tbWVudHMgYW5k IHN1Z2dlc3Rpb25zIGFyZSB3ZWxjb21lIDotKQo+IAo+IAo+IEkgaGF2ZSBzb21lIGNvbW1lbnRz L3F1ZXN0aW9ucy4gOy0pCj4gCj4gClRoYW5rcyBmb3IgeW91ciBjb21tZW50cyBhbmQgcXVlc3Rp b25zISA6KQoKPiA+Cj4gPgo+ID4gIyBCYXNpY3MKPiA+Cj4gPiAtLS0tLS0tLS0tLS0tLS0tIC0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KPiA+ICAg ICAgICAgIFN0YXR1czogKipUZWNoIFByZXZpZXcqKgo+ID4KPiA+IEFyY2hpdGVjdHVyZShzKTog SW50ZWwgeDg2Cj4gPgo+ID4gICAgQ29tcG9uZW50KHMpOiBIeXBlcnZpc29yLCB0b29sc3RhY2sK PiA+Cj4gPiAgICAgICAgSGFyZHdhcmU6IEF0b20gY29kZW5hbWUgR29sZG1vbnQgYW5kIGJleW9u ZAo+ID4gLS0tLS0tLS0tLS0tLS0tLSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tCj4gPgo+ID4gIyBPdmVydmlldwo+ID4KPiA+IEwyIENBVCBhbGxv d3MgYW4gT1Mgb3IgSHlwZXJ2aXNvci9WTU0gdG8gY29udHJvbCBhbGxvY2F0aW9uIG9mIGEKPiA+ IENQVSdzIHNoYXJlZCBMMiBjYWNoZSBiYXNlZCBvbiBhcHBsaWNhdGlvbiBwcmlvcml0eSBvciBD bGFzcyBvZiBTZXJ2aWNlCj4gPiAoQ09TKS4gRWFjaCBDTE9TIGlzIGNvbmZpZ3VyZWQgdXNpbmcg Y2FwYWNpdHkgYml0bWFza3MgKENCTSkgd2hpY2gKPiA+IHJlcHJlc2VudCBjYWNoZSBjYXBhY2l0 eSBhbmQgaW5kaWNhdGUgdGhlIGRlZ3JlZSBvZiBvdmVybGFwIGFuZAo+ID4gaXNvbGF0aW9uIGJl dHdlZW4gY2xhc3Nlcy4gT25jZSBMMiBDQVQgaXMgY29uZmlndXJlZCwgdGhlIHByb2Nlc3Nvcgo+ ID4gYWxsb3dzIGFjY2VzcyB0byBwb3J0aW9ucyBvZiBMMiBjYWNoZSBhY2NvcmRpbmcgdG8gdGhl IGVzdGFibGlzaGVkCj4gPiBjbGFzcyBvZiBzZXJ2aWNlIChDT1MpLgo+IAo+IAo+IAo+IFRoZSB2 ZXJ5IGVhcmxpZXIgdmVyc2lvbiBvZiB0aGUgZGVzaWduIGF0IFsxXSBzYWlkLCAiSW4gdGhlIGlu aXRpYWwKPiBpbXBsZW1lbnRhdGlvbiwgTDIgQ0FUIGlzIHNob3duIHVwIG9uIEF0b20gY29kZW5h bWUKPiBHb2xkbW9udCBmaXJzdGx5IGFuZCB0aGVyZSBpcyBubyBwbGF0Zm9ybSBzdXBwb3J0IGJv dGggTDIgJiBMMyBDQVQgc28gZmFyLiIKPiAKPiBJJ20gd29uZGVyaW5nIGlmIHRoZXJlIGlzIGFu eSBoYXJkd2FyZSBzdXBwb3J0aW5nIGJvdGggTDIgJiBMMyBDQVQgbm93Lgo+IAo+IFsxXWh0dHA6 Ly93d3cuZ29zc2FtZXItdGhyZWFkcy5jb20vbGlzdHMveGVuL2RldmVsLzQzMTE0Mgo+IAo+IApQ ZXIgbXkgaW5mbywgQ1VSUkVOVCBIV3MgZG9lcyBub3Qgc3VwcG9ydCBib3RoIEwyIGFuZCBMMy4g QnV0IGZyb20gU1cgdmlldywKd2UgY2Fubm90IGxpbWl0IHRoaXMuIElmIGJvdGggZmVhdHVyZXMg YXJlIGVuYWJsZWQgaW4gdGhlIGZ1dHVyZSBIVywgU1cKc2hvdWxkIGJlIGFibGUgdG8gc3VwcG9y dCBpdC4KCj4gPgo+ID4KPiA+ICMgVGVjaG5pY2FsIGluZm9ybWF0aW9uCj4gPgo+ID4gTDIgQ0FU IGlzIGEgbWVtYmVyIG9mIEludGVsIFBTUiBmZWF0dXJlcyBhbmQgcGFydCBvZiBDQVQsIGl0IHNo YXJlcwo+ID4gc29tZSBiYXNlIFBTUiBpbmZyYXN0cnVjdHVyZSBpbiBYZW4uCj4gPgo+ID4gIyMg SGFyZHdhcmUgcGVyc3BlY3RpdmUKPiA+Cj4gPiBMMiBDQVQgZGVmaW5lcyBhIG5ldyByYW5nZSBN U1JzIHRvIGFzc2lnbiBkaWZmZXJlbnQgTDIgY2FjaGUgYWNjZXNzCj4gPiBwYXR0ZXJucyB3aGlj aCBhcmUga25vd24gYXMgQ0JNcyAoQ2FwYWNpdHkgQml0TWFzayksIGVhY2ggQ0JNIGlzCj4gPiBh c3NvY2lhdGVkIHdpdGggYSBDT1MuCj4gPgo+ID4gYGBgCj4gPgo+ID4gICAgICAgICAgICAgICAg ICAgICAgICAgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLSsK PiA+ICAgIElBMzJfUFFSX0FTU09DICAgICAgIHwgTVNSIChwZXIgc29ja2V0KSAgICAgICAgICAg fCAgICBBZGRyZXNzICAgICB8Cj4gPiAgKy0tLS0rLS0tKy0tLS0tLS0rICAgICArLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0tKwo+ID4gIHwgICAgfENPU3wgICAg ICAgfCAgICAgfCBJQTMyX0wyX1FPU19NQVNLXzAgICAgICAgICB8ICAgICAweEQxMCAgICAgIHwK PiA+ICArLS0tLSstLS0rLS0tLS0tLSsgICAgICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t Ky0tLS0tLS0tLS0tLS0tLS0rCj4gPiAgICAgICAgIOKUlC0tLS0tLS0tLS0tLS0+IHwgLi4uICAg ICAgICAgICAgICAgICAgICAgICAgfCAgLi4uICAgICAgICAgICB8Cj4gPiAgICAgICAgICAgICAg ICAgICAgICAgICArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tLS0t Kwo+ID4gICAgICAgICAgICAgICAgICAgICAgICAgfCBJQTMyX0wyX1FPU19NQVNLX24gICAgICAg ICB8IDB4RDEwK24gKG48NjQpIHwKPiA+ICAgICAgICAgICAgICAgICAgICAgICAgICstLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0tLS0rCj4gPiBgYGAKPiA+Cj4gPiBX aGVuIGNvbnRleHQgc3dpdGNoIGhhcHBlbnMsIHRoZSBDT1Mgb2YgVkNQVSBpcyB3cml0dGVuIHRv IHBlci10aHJlYWQKPiA+IE1TUiBgSUEzMl9QUVJfQVNTT0NgLCBhbmQgdGhlbiBoYXJkd2FyZSBl bmZvcmNlcyBMMiBjYWNoZSBhbGxvY2F0aW9uCj4gPiBhY2NvcmRpbmcgdG8gdGhlIGNvcnJlc3Bv bmRpbmcgQ0JNLgo+ID4KPiA+ICMjIFRoZSByZWxhdGlvbnNoaXAgYmV0d2VlbiBMMiBDQVQgYW5k IEwzIENBVC9DRFAKPiA+Cj4gPiBMMiBDQVQgaXMgaW5kZXBlbmRlbnQgb2YgTDMgQ0FUL0NEUCwg d2hpY2ggbWVhbnMgTDIgQ0FUIHdvdWxkIGJlIGVuYWJsZWQKPiA+IHdoaWxlIEwzIENBVC9DRFAg aXMgZGlzYWJsZWQsIG9yIEwyIENBVCBhbmQgTDMgQ0FUL0NEUCBhcmUgYWxsIGVuYWJsZWQuCj4g Cj4gVGhpcyBzZW50ZW5jZSBpbmRpY2F0ZXMgdGhhdCBib3RoIEwyIGFuZCBMMyBDQVQgY2FuIGJl IGVuYWJsZWQgYXQgdGhlIHNhbWUgdGltZS4KPiBIb3cgY2FuIEkga25vdyB3aGljaCBDUFUgc3Vw cG9ydHMgYm90aCBMMiBhbmQgTDMgQ0FUPwo+IElzIHRoZSBzdXBwb3J0IGFyY2hpdGVjdHVyYWwg b3IganVzdCBvbiBzZXZlcmFsIHR5cGVzIG9mIENQVXM/Cj4gSU1ITywgaXQgd2lsbCBiZSBnb29k IHRvIHByb3ZpZGUgYSByZWZlcmVuY2UgYWJvdXQgdGhlIHR5cGUgb2YgQ1BVcwo+IHRoYXQgc3Vw cG9ydHMgTDIgb25seSwgYW5kIHRoYXQgYm90aCBMMiBhbmQgTDMuCj4gCkxpa2UgYWJvdmUgY29t bWVudCwgbm8gSFdzIHN1cHBvcnQgYm90aCBMMiBhbmQgTDMgU08gRkFSIGJ1dCB3ZSBzaG91bGQg bm90CmxpbWl0IHRoaXMgaW4gU1cuIEJ5IENQVUlEIHRvb2wgb3IgSFcgc3BlYywgeW91IHNob3Vs ZCBrbm93IHdoaWNoIGZlYXR1cmUKaXMgZW5hYmxlZCBvbiBDUFUuCgo+ID4KPiA+IEwyIENBVCB1 c2VzIGEgbmV3IHJhbmdlIENCTXMgZnJvbSAweEQxMCB+IDB4RDEwK24gKG48NjQpLCBmb2xsb3dp bmcgYnkKPiA+IHRoZSBMMyBDQVQvQ0RQIENCTXMsIGFuZCBzdXBwb3J0cyBzZXR0aW5nIGRpZmZl cmVudCBMMiBjYWNoZSBhY2Nlc3NpbmcKPiA+IHBhdHRlcm5zIGZyb20gTDMgY2FjaGUuCj4gPgo+ ID4gTi5CLiBMMiBDQVQgYW5kIEwzIENBVC9DRFAgc2hhcmUgdGhlIHNhbWUgQ09TIGZpZWxkIGlu IHRoZSBzYW1lCj4gPiBhc3NvY2lhdGUgcmVnaXN0ZXIgYElBMzJfUFFSX0FTU09DYCwgd2hpY2gg bWVhbnMgb25lIENPUyBhc3NvY2lhdGUgdG8gYQo+ID4gcGFpciBvZiBMMiBDQk0gYW5kIEwzIENC TS4KPiA+IEJlc2lkZXMsIHRoZSBtYXggQ09TIG9mIEwyIENBVCBtYXkgYmUgZGlmZmVyZW50IGZy b20gTDMgQ0FUL0NEUCAob3IKPiA+IG90aGVyIFBTUiBmZWF0dXJlcyBpbiBmdXR1cmUpLiBJbiBz b21lIGNhc2VzLCBhIFZNIGlzIHBlcm1pdHRlZCB0byBoYXZlIGEKPiA+IENPUyB0aGF0IGlzIGJl eW9uZCBvbmUgKG9yIG1vcmUpIG9mIFBTUiBmZWF0dXJlcyBidXQgd2l0aGluIHRoZSBvdGhlcnMu Cj4gPiBGb3IgaW5zdGFuY2UsIGxldCdzIGFzc3VtZSB0aGUgbWF4IENPUyBvZiBMMiBDQVQgaXMg OCBidXQgdGhlIG1heCBDT1Mgb2YKPiA+IEwzIENBVCBpcyAxNiwgd2hlbiBhIFZNIGlzIGFzc2ln bmVkIDkgYXMgQ09TLCB0aGUgTDMgQ0JNIGFzc29jaWF0ZWQgdG8KPiA+IENPUyA5IHdvdWxkIGJl IGVuZm9yY2VkLCBidXQgZm9yIEwyIENBVCwgdGhlIGJlaGF2aW9yIGlzIGZ1bGx5IG9wZW4gKG5v Cj4gPiBsaW1pdCkgc2luY2UgQ09TIDkgaXMgYmV5b25kIHRoZSBtYXggQ09TICg4KSBvZiBMMiBD QVQuCj4gPgo+ID4gIyMgRGVzaWduIE92ZXJ2aWV3Cj4gPgo+ID4gKiBDb3JlIENPUy9DQk0gYXNz b2NpYXRpb24KPiA+Cj4gPiAgIFdoZW4gZW5mb3JjaW5nIEwyIENBVCwgYWxsIGNvcmVzIG9mIGRv bWFpbnMgaGF2ZSB0aGUgc2FtZSBkZWZhdWx0Cj4gPiAgIENPUyAoQ09TMCkgd2hpY2ggYXNzb2Np YXRlZCB0byB0aGUgZnVsbHkgb3BlbiBDQk0gKGFsbCBvbmVzIGJpdG1hc2spCj4gPiAgIHRvIGFj Y2VzcyBhbGwgTDIgY2FjaGUuIFRoZSBkZWZhdWx0IENPUyBpcyB1c2VkIG9ubHkgaW4gaHlwZXJ2 aXNvcgo+ID4gICBhbmQgaXMgdHJhbnNwYXJlbnQgdG8gdG9vbCBzdGFjayBhbmQgdXNlci4KPiA+ Cj4gPiAgIFN5c3RlbSBhZG1pbmlzdHJhdG9yIGNhbiBjaGFuZ2UgUFNSIGFsbG9jYXRpb24gcG9s aWN5IGF0IHJ1bnRpbWUgYnkKPiA+ICAgdG9vbCBzdGFjay4gU2luY2UgTDIgQ0FUIHNoYXJlIENP UyB3aXRoIEwzIENBVC9DRFAsIGEgQ09TIGNvcnJlc3BvbmRzCj4gPiAgIHRvIGEgMi10dXBsZSwg bGlrZSBbTDIgQ0JNLCBMMyBDQk1dIHdpdGggb25seS1DQVQgZW5hYmxlZCwgd2hlbiBDRFAKPiA+ ICAgaXMgZW5hYmxlZCwgb25lIENPUyBjb3JyZXNwb25kcyB0byBhIDMtdHVwbGUsIGxpa2UgW0wy IENCTSwKPiA+ICAgTDMgQ29kZV9DQk0sIEwzIERhdGFfQ0JNXS4gSWYgbmVpdGhlciBMMyBDQVQg bm9yIEwzIENEUCBpcyBlbmFibGVkLAo+ID4gICB0aGluZ3Mgd291bGQgYmUgZWFzaWVyLCBvbmUg Q09TIGNvcnJlc3BvbmRzIHRvIG9uZSBMMiBDQk0uCj4gCj4gCj4gSSBmZWx0IHRoYXQgdGhpcyBw YXJhZ3JhcGggaXMga2luZCBvZiBjb25mdXNpbmcuIENhbiBzeXN0ZW0gYWRtaW4KPiBjb25maWd1 cmUgYm90aCBMMiBhbmQgTDMgYXQgdGhlIHNhbWUgdGltZSBmb3IgYSBWTT8KPiBXaGF0IGRvZXMg dGhlIDItdHVwbGUsIGxpa2UgW0wyIENCTSwgTDMgQ0JNXSwgaW5kaWNhdGVzIGhlcmU/Cj4gCklm IEhXIGNhbiBzdXBwb3J0IGJvdGggTDIgYW5kIEwzLCBhZG1pbiBjYW4gY29uZmlndXJlIHRoZW0g b25lIGJ5IG9uZSBmcm9tClNXIHZpZXcuIFRvIGV4cGxhaW4gMi10dXBsZSBhbmQgMy10dXBsZSwg cGxlYXNlIHJlZmVyIGJlbG93IGZpZ3VyZS4KCjItdHVwbGU6CiAgICAgICAgLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0KICAgICAgICB8IENPUyAwIHwgQ09TIDEgfCAuLi4gfAogICAgICAgIC0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tCkwzIENBVCAgfCAweDdmZiB8IDB4M2ZmIHwgLi4uIHwKICAgICAg ICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpMMiBDQVQgIHwgMHhmZiAgfCAweDNmICB8IC4uLiB8 CiAgICAgICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCjMtdHVwbGU6CiAgICAgICAgLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgICAgICB8 IENPUyAwIERBVEEgfCBDT1MgMCBDT0RFIHwgQ09TIDEgREFUQSB8IENPUyAxIENPREUgfAogICAg ICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t CkwzIENEUCAgfCAweDdmZiAgICAgIHwgMHg3ZmYgICAgICB8IDB4M2ZmICAgICAgfCAweDNmZiAg ICAgIHwKICAgICAgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLQogICAgICAgIHwgICAgICAgICAgQ09TIDAgICAgICAgICAgfCAgICAgICAgIENP UyAxICAgICAgICAgICB8CiAgICAgICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0KTDIgQ0FUICB8ICAgICAgICAgIDB4ZmYgICAgICAgICAgIHwg ICAgICAgICAweDNmICAgICAgICAgICAgfAogICAgICAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgpUaGVyZSBpcyBvbmx5IG9uZSBBU1NPQyBN U1IgcmVnaXN0ZXIsIHNvIGEgQ0JNIGNvbWJpbmF0aW9uKGUuZy4gMy10dXBsZSkgd2lsbAp3b3Jr IFdoZW4geW91IHNldCBDT1MgaWQoZS5nLiAxKSBpbnRvIEFTU09DIHJlZ2lzdGVyLiBUaGF0IG1l YW5zIGJlbG93IENCTSBzZXQKd29ya3Mgb24gdGhlIENQVS4KTDMgQ0RQIERBVEE9MHgzZmYKTDMg Q0RQIENPREU9MHgzZmYKTDIgQ0FUID0gMHgzZgogIAo+IEluIGFkZGl0aW9uLCBkb2VzIHRoZSBi aXRzIGluIENCTSBoYXZlIHRvIGJlIGNvbnRpbnVvdXM/Cj4gClllcywgYWxsIENCTSBiaXRzIHNo b3VsZCBiZSBjb250aW51b3VzLiBUaGFua3MgZm9yIHBvaW50aW5nIHRoaXMgb3V0IQoKPiA+ICMg VXNlciBpbmZvcm1hdGlvbgo+ID4KPiA+ICogRmVhdHVyZSBFbmFibGluZzoKPiA+Cj4gPiAgIEFk ZCAicHNyPWNhdCIgdG8gYm9vdCBsaW5lIHBhcmFtZXRlciB0byBlbmFibGUgYWxsIHN1cHBvcnRl ZCBsZXZlbCBDQVQKPiA+ICAgZmVhdHVyZXMuCj4gPgo+ID4gKiB4bCBpbnRlcmZhY2VzOgo+ID4K PiA+ICAgMS4gYHBzci1jYXQtc2hvdyBbT1BUSU9OU10gZG9tYWluLWlkYDoKPiA+Cj4gPiAgICAg IFNob3cgZG9tYWluIEwyIG9yIEwzIENBVCBDQk0uCj4gPgo+ID4gICAgICBOZXcgb3B0aW9uIGAt bGAgaXMgYWRkZWQuCj4gPiAgICAgIGAtbDJgOiBTcGVjaWZ5IGNibSBmb3IgTDIgY2FjaGUuCj4g PiAgICAgIGAtbDNgOiBTcGVjaWZ5IGNibSBmb3IgTDMgY2FjaGUuCj4gPgo+ID4gICAgICBJZiBu ZWl0aGVyIGAtbDJgIG5vciBgLWwzYCBpcyBnaXZlbiwgTExDIChMYXN0IExldmVsIENhY2hlKSBp cwo+ID4gICAgICBkZWZhdWx0IGJlaGF2aW9yLgo+IAo+IERvZXMgaXQgbWVhbiB0aGUgTExDIENB VCBzZXR0aW5nIHdpbGwgYmUgcmVzZXQgb3IganVzdCBrZXB0IHRvIHRoZQo+IGxhdGVzdCBjb25m aWd1cmF0aW9uPwo+IApIZXJlLCBpdCBtZWFucyBMTEMgQ0FUIHZhbHVlIHdpbGwgYmUgc2hvd24u Cgo+ID4KPiA+ICAgMi4gYHBzci1jYXQtY2JtLXNldCBbT1BUSU9OU10gZG9tYWluLWlkIGNibWA6 Cj4gPgo+ID4gICAgICBTZXQgZG9tYWluIEwyIG9yIEwzIENCTS4KPiA+Cj4gPiAgICAgIE5ldyBv cHRpb24gYC1sYCBpcyBhZGRlZC4KPiA+ICAgICAgYC1sMmA6IFNwZWNpZnkgY2JtIGZvciBMMiBj YWNoZS4KPiA+ICAgICAgYC1sM2A6IFNwZWNpZnkgY2JtIGZvciBMMyBjYWNoZS4KPiA+Cj4gPiAg ICAgIElmIG5laXRoZXIgYC1sMmAgbm9yIGAtbDNgIGlzIGdpdmVuLCBMTEMgKExhc3QgTGV2ZWwg Q2FjaGUpIGlzCj4gPiAgICAgIGRlZmF1bHQgYmVoYXZpb3IuIFNpbmNlIHRoZXJlIGlzIG5vIENE UCBzdXBwb3J0IG9uIEwyIGNhY2hlLCBzbyBpZgo+ID4gICAgICBgLWwyYCwgYC0tY29kZWAgb3Ig YC0tZGF0YWAgYXJlIGJvdGggZ2l2ZW4sIGVycm9yIG1lc3NhZ2Ugc2hvd3MuCj4gPgo+ID4gICAz LiBgcHNyLWh3aW5mbyBbT1BUSU9OU11gOgo+ID4KPiA+ICAgICAgU2hvdyBMMiAmIEwzIENBVCBI VyBpbmZvcm1hdGlvbnMgb24gZXZlcnkgc29ja2V0Lgo+ID4KPiA+ICMgUmVmZXJlbmNlcwo+ID4K PiA+IFtJbnRlbMKuIDY0IGFuZCBJQS0zMiBBcmNoaXRlY3R1cmVzIFNvZnR3YXJlIERldmVsb3Bl ciBNYW51YWxzXShodHRwOi8vd3d3LmludGVsLmNvbS9jb250ZW50L3d3dy91cy9lbi9wcm9jZXNz b3JzL2FyY2hpdGVjdHVyZXMtc29mdHdhcmUtZGV2ZWxvcGVyLW1hbnVhbHMuaHRtbCkKPiAKPiBX b3VsZCB5b3UgbWluZCBwcm92aWRlIHRoZSBjaGFwdGVyIGZvciB0aGUgTDIgQ0FUIGFuZCB0aGUg dmVyc2lvbiBvZgo+IHRoZSBTRE0geW91IGFyZSByZWZlcnJpbmc/Cj4gSXQgbWFrZXMgcGVvcGxl J3MgbGlmZSBlYXNpZXIgdG8gZmluZCB0aGUgcmVmZXJlbmNlLiA7LSkKPiAKVGhhbmsgeW91ISBJ IHdpbGwgYWRkIGl0IGluIG5leHQgdmVyc2lvbi4KCllvdSBjYW4gZG93bmxvYWQgdGhlIGxhdGVz dCB2ZXJzaW9uIGZyb20gdGhlIGxpbmsuIEwyIENBVCBpcyB2b2wzLCBjaGFwdGVyCjE3LjE3LgoK PiA+Cj4gPiAjIEhpc3RvcnkKPiA+Cj4gPiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KPiA+IERhdGUgICAgICAg UmV2aXNpb24gVmVyc2lvbiAgTm90ZXMKPiA+IC0tLS0tLS0tLS0gLS0tLS0tLS0gLS0tLS0tLS0g LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQo+ID4gMjAxNi0wOC0x MiAxLjAgICAgICBYZW4gNC43ICBJbml0aWFsIGRlc2lnbgo+IAo+IEl0IHNlZW1zIHRoZXJlIGlz IGEgUkZDIGRlc2lnbiBpbiBNYXkgdGhpcyB5ZWFyOgo+IGh0dHA6Ly93d3cuZ29zc2FtZXItdGhy ZWFkcy5jb20vbGlzdHMveGVuL2RldmVsLzQzMTE0Mgo+IAo+IFNob3VsZG4ndCBpdCBiZSBjb3Vu dGVkPwo+IApPaywgdGhhbmtzIQoKPiBUaGFua3MsCj4gCj4gTWVuZwo+IAo+IC0tLS0tLS0tLS0t Cj4gTWVuZyBYdQo+IFBoRCBTdHVkZW50IGluIENvbXB1dGVyIGFuZCBJbmZvcm1hdGlvbiBTY2ll bmNlCj4gVW5pdmVyc2l0eSBvZiBQZW5uc3lsdmFuaWEKPiBodHRwOi8vd3d3LmNpcy51cGVubi5l ZHUvfm1lbmd4dS8KPiAKPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXwo+IFhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKPiBYZW4tZGV2ZWxAbGlzdHMueGVuLm9y Zwo+IGh0dHBzOi8vbGlzdHMueGVuLm9yZy94ZW4tZGV2ZWwKCl9fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fClhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRl dmVsQGxpc3RzLnhlbi5vcmcKaHR0cHM6Ly9saXN0cy54ZW4ub3JnL3hlbi1kZXZlbAo=