From mboxrd@z Thu Jan 1 00:00:00 1970 From: Claudio Fontana Subject: Re: [RFC v2] ARM VM System Specification Date: Tue, 10 Jun 2014 18:44:59 +0200 Message-ID: <5397360B.80102@huawei.com> References: <20140328184517.GA27219@cbox> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Cc: Michael Casadevall , Ian Campbell , Rob Herring , Leif Lindholm , Robie Basak , Stefano Stabellini , Grant Likely To: Christoffer Dall , , , , , Return-path: In-Reply-To: <20140328184517.GA27219@cbox> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=m.gmane.org@lists.infradead.org List-Id: kvm.vger.kernel.org SGVsbG8gYWxsLAoKSSBqdXN0IHdhbnRlZCB0byBzaGFyZSB3aXRoIHlvdSBndXlzIGhvdyB3ZSBh cmUgdXNpbmcgdmlydHVhbGl6YXRpb24gb24gQVJNNjQgb3ZlciBoZXJlIGZvciB0aGUgT1N2IHBy b2plY3QuCkkgZG9uJ3Qga25vdyBpZiB0aGF0J3Mgc29tZXRoaW5nIHRoYXQgY291bGQgYmUgdXNl ZnVsIGZvciB5b3VyIHNwZWNpZmljYXRpb24gZWZmb3J0LgoKSW4gT1N2LCBjcmVhdGluZyBhbmQg c3RhcnRpbmcgYSBWTSB0byBzb21lIGxldmVsIG1lYW5zIHN0YXJ0aW5nIGFuIGFwcGxpY2F0aW9u LgpUaGF0IGlzLCBPU3Ygc2hvdWxkIGJlIGEgdmVyeSB0aGluIGJhcmUgYm9uZXMgZ3Vlc3Qgc2Vy dmVyIE9TLCB3aGljaCBhbHNvIGFjdHMgYXMgYSBraW5kIG9mIHJ1bi10aW1lIGxpYnJhcnkgZm9y IGFuIGFwcGxpY2F0aW9uIHRvIHJ1bi4KQWxsIHRoZSBkZXZpY2VzIGFyZSBhc3N1bWVkIHRvIGJl IHZpcnR1YWxpemVkIGFuZCBoZWF2aWx5IHJlbHlpbmcgb24gdmlydGlvLgoKVGhlcmVmb3JlIHdl IHNlZSBhIGhpZ2hlciBuZWVkIGZvciBxdWljayBWTSBsYXVuY2ggdGhhbiBpdCBtaWdodCBiZSBm b3Igb3RoZXIgdXNlIGNhc2VzLgoKT25lIGFzcGVjdCBvZiB0aGlzIGlzIHRoYXQgd2UgY3VycmVu dGx5IHN0YXJ0IGV4ZWN1dGluZyB0aGUgaW1hZ2UgZGlyZWN0bHkgKG5vIFVFRkkgaW52b2x2ZWQg b24gdGhlIGd1ZXN0KSwKYW5kIGluIHNvbWUgY2FzZXMgd2UgbWlnaHQgbm90IG5lZWQgYSBmdWxs IGZsZWRnZWQgZmlsZSBzeXN0ZW0gYXQgYWxsLAphcyB0aGUgY29tbXVuaWNhdGlvbiBjYW4gaGFw cGVuIHZpYSB2aXJ0aW8gY2hhbm5lbHMuCgpXZSBkbyBoYXZlIGEgbmVlZCBmb3IgQUNQSSBmb3Ig ZGlzY292ZXJ5IG9mIGluZm9ybWF0aW9uIGxpa2UgZ2ljIGFkZHJlc3NlcywgdGltZXJzLCBpbnRl cnJ1cHRzLi4uIChubyBpbnRlcmVzdCBvbiBkZXZpY2UgdHJlZXMsIHJlYWxseSksIGFuZCBvZiBQ Q0ktRS4KCkJ5IHNraXBwaW5nIHN0ZXBzIGxpa2UgVUVGSSwgZ3J1YiwgZmlybXdhcmUgbG9hZCwg ZXRjIHdlIHN0cml2ZSB0byBrZWVwIG91ciBhcHBsaWNhdGlvbiBsYXVuY2ggdGltZSBsb3cuCklz IHRoaXMgZ29pbmcgdG8gY3JlYXRlIHByb2JsZW1zIGZvciB1cyBpbiB0aGUgZnV0dXJlIGlmIHlv dSBzdGFydCByZXF1aXJpbmcgZXZlcnkgVk0gdG8gYm9vdCB1c2luZyB0aG9zZSBpbnN0ZWFkPwoK VGhhbmsgeW91IGZvciB5b3VyIGNvbW1lbnRzLAoKQ2xhdWRpbwoKCk9uIDI4LjAzLjIwMTQgMTk6 NDUsIENocmlzdG9mZmVyIERhbGwgd3JvdGU6Cj4gQVJNIFZNIFN5c3RlbSBTcGVjaWZpY2F0aW9u Cj4gPT09PT09PT09PT09PT09PT09PT09PT09PT09Cj4gCj4gR29hbAo+IC0tLS0KPiBUaGUgZ29h bCBvZiB0aGlzIHNwZWMgaXMgdG8gYWxsb3cgc3VpdGFibHktYnVpbHQgT1MgaW1hZ2VzIHRvIHJ1 biBvbgo+IGFsbCBBUk0gdmlydHVhbGl6YXRpb24gc29sdXRpb25zLCBzdWNoIGFzIEtWTSBvciBY ZW4uCj4gCj4gUmVjb21tZW5kYXRpb25zIGluIHRoaXMgc3BlYyBhcmUgdmFsaWQgZm9yIGFhcmNo MzIgYW5kIGFhcmNoNjQgYWxpa2UsIGFuZAo+IHRoZXkgYWltIHRvIGJlIGh5cGVydmlzb3IgYWdu b3N0aWMuCj4gCj4gTm90ZSB0aGF0IHNpbXBseSBhZGhlcmluZyB0byB0aGUgU0JTQSBbMl0gaXMg bm90IGEgdmFsaWQgYXBwcm9hY2gsIGZvcgo+IGV4YW1wbGUgYmVjYXVzZSB0aGUgU0JTQSBtYW5k YXRlcyBFTDIsIHdoaWNoIHdpbGwgbm90IGJlIGF2YWlsYWJsZSBmb3IKPiBWTXMuICBGdXJ0aGVy LCB0aGlzIHNwZWMgYWxzbyBjb3ZlcnMgdGhlIGFhcmNoMzIgZXhlY3V0aW9uIG1vZGUsIG5vdAo+ IGNvdmVyZWQgaW4gdGhlIFNCU0EuCj4gCj4gCj4gSW1hZ2UgZm9ybWF0Cj4gLS0tLS0tLS0tLS0t Cj4gVGhlIGltYWdlIGZvcm1hdCwgYXMgcHJlc2VudGVkIHRvIHRoZSBWTSwgbmVlZHMgdG8gYmUg d2VsbC1kZWZpbmVkIGluCj4gb3JkZXIgZm9yIHByZXBhcmVkIGRpc2sgaW1hZ2VzIHRvIGJlIGJv b3RhYmxlIGFjcm9zcyB2YXJpb3VzCj4gdmlydHVhbGl6YXRpb24gaW1wbGVtZW50YXRpb25zLgo+ IAo+IFRoZSByYXcgZGlzayBmb3JtYXQgYXMgcHJlc2VudGVkIHRvIHRoZSBWTSBtdXN0IGJlIHBh cnRpdGlvbmVkIHdpdGggYQo+IEdVSUQgUGFydGl0aW9uIFRhYmxlIChHUFQpLiAgVGhlIGJvb3Rh YmxlIHNvZnR3YXJlIG11c3QgYmUgcGxhY2VkIGluIHRoZQo+IEVGSSBTeXN0ZW0gUGFydGl0aW9u IChFU1ApLCB1c2luZyB0aGUgVUVGSSByZW1vdmFibGUgbWVkaWEgcGF0aCwgYW5kCj4gbXVzdCBi ZSBhbiBFRkkgYXBwbGljYXRpb24gY29tcGx5aW5nIHRvIHRoZSBVRUZJIFNwZWNpZmljYXRpb24g Mi40Cj4gUmV2aXNpb24gQSBbNl0uCj4gCj4gVGhlIEVTUCBwYXJ0aXRpb24ncyBHUFQgZW50cnkn cyBwYXJ0aXRpb24gdHlwZSBHVUlEIG11c3QgYmUKPiBDMTJBNzMyOC1GODFGLTExRDItQkE0Qi0w MEEwQzkzRUM5M0IgYW5kIHRoZSBmaWxlIHN5c3RlbSBtdXN0IGJlCj4gZm9ybWF0dGVkIGFzIEZB VDMyL3ZmYXQgYXMgcGVyIFNlY3Rpb24gMTIuMy4xLjEgaW4gWzZdLgo+IAo+IFRoZSByZW1vdmFi bGUgbWVkaWEgcGF0aCBpcyBcRUZJXEJPT1RcQk9PVEFSTS5FRkkgZm9yIHRoZSBhYXJjaDMyCj4g ZXhlY3V0aW9uIHN0YXRlIGFuZCBpcyBcRUZJXEJPT1RcQk9PVEFBNjQuRUZJIGZvciB0aGUgYWFy Y2g2NCBleGVjdXRpb24KPiBzdGF0ZSBhcyBzcGVjaWZpZWQgaW4gU2VjdGlvbiAzLjMgKDMuMyAo Qm9vdCBPcHRpb24gVmFyaWFibGVzIERlZmF1bHQgQm9vdAo+IEJlaGF2aW9yKSBhbmQgMy40LjEu MSAoUmVtb3ZhYmxlIE1lZGlhIEJvb3QgQmVoYXZpb3IpIGluIFs2XS4KPiAKPiBUaGlzIGVuc3Vy ZXMgdGhhdCB0b29scyBmb3IgYm90aCBYZW4gYW5kIEtWTSBjYW4gbG9hZCBhIGJpbmFyeSBVRUZJ Cj4gZmlybXdhcmUgd2hpY2ggY2FuIHJlYWQgYW5kIGJvb3QgdGhlIEVGSSBhcHBsaWNhdGlvbiBp biB0aGUgZGlzayBpbWFnZS4KPiAKPiBBIHR5cGljYWwgc2NlbmFyaW8gd2lsbCBiZSBHUlVCMiBw YWNrYWdlZCBhcyBhbiBFRkkgYXBwbGljYXRpb24sIHdoaWNoCj4gbW91bnRzIHRoZSBzeXN0ZW0g Ym9vdCBwYXJ0aXRpb24gYW5kIGJvb3RzIExpbnV4Lgo+IAo+IAo+IFZpcnR1YWwgRmlybXdhcmUK PiAtLS0tLS0tLS0tLS0tLS0tCj4gVGhlIFZNIHN5c3RlbSBtdXN0IGJlIFVFRkkgY29tcGxpYW50 IGluIG9yZGVyIHRvIGJlIGFibGUgdG8gYm9vdCB0aGUgRUZJCj4gYXBwbGljYXRpb24gaW4gdGhl IEVTUC4gIEl0IGlzIHJlY29tbWVuZGVkIHRoYXQgdGhpcyBpcyBhY2hpZXZlZCBieQo+IGxvYWRp bmcgYSBVRUZJIGJpbmFyeSBhcyB0aGUgZmlyc3Qgc29mdHdhcmUgZXhlY3V0ZWQgYnkgdGhlIFZN LCB3aGljaAo+IHRoZW4gZXhlY3V0ZXMgdGhlIEVGSSBhcHBsaWNhdGlvbi4gIFRoZSBVRUZJIGlt cGxlbWVudGF0aW9uIHNob3VsZCBiZQo+IGNvbXBsaWFudCB3aXRoIFVFRkkgU3BlY2lmaWNhdGlv biAyLjQgUmV2aXNpb24gQSBbNl0gb3IgbGF0ZXIuCj4gCj4gVGhpcyBkb2N1bWVudCBzdHJvbmds eSByZWNvbW1lbmRzIHRoYXQgdGhlIFZNIGltcGxlbWVudGF0aW9uIHN1cHBvcnRzCj4gcGVyc2lz dGVudCBlbnZpcm9ubWVudCBzdG9yYWdlIGZvciB2aXJ0dWFsIGZpcm13YXJlIGltcGxlbWVudGF0 aW9uIGluCj4gb3JkZXIgdG8gZW5zdXJlIHByb2JhYmxlIHVzZSBjYXNlcyBzdWNoIGFzIGFkZGlu ZyBhZGRpdGlvbmFsIGRpc2sgaW1hZ2VzCj4gdG8gYSBWTSBvciBydW5uaW5nIGluc3RhbGxlcnMg dG8gcGVyZm9ybSB1cGdyYWRlcy4KPiAKPiBUaGlzIGRvY3VtZW50IHN0cm9uZ2x5IHJlY29tbWVu ZHMgdGhhdCBWTSBpbXBsZW1lbnRhdGlvbnMgaW1wbGVtZW50Cj4gcGVyc2lzdGVudCB2YXJpYWJs ZSBzdG9yYWdlIGZvciB0aGVpciBVRUZJIGltcGxlbWVudGF0aW9uLiAgUGVyc2lzdGVudAo+IHZh cmlhYmxlIHN0b3JhZ2Ugc2hhbGwgYmUgYSBwcm9wZXJ0eSBvZiBhIFZNIGluc3RhbmNlLCBidXQg c2hhbGwgbm90IGJlCj4gc3RvcmVkIGFzIHBhcnQgb2YgYSBwb3J0YWJsZSBkaXNrIGltYWdlLiAg UG9ydGFibGUgZGlzayBpbWFnZXMgc2hhbGwKPiBjb25mb3JtIHRvIHRoZSBVRUZJIHJlbW92YWJs ZSBkaXNrIHJlcXVpcmVtZW50cyBmcm9tIHRoZSBVRUZJIHNwZWMgYW5kCj4gY2Fubm90IHJlbHkg b24gb24gYSBwcmUtY29uZmlndXJlZCBVRUZJIGVudmlyb25tZW50Lgo+IAo+IFRoZSBiaW5hcnkg VUVGSSBmaXJtd2FyZSBpbXBsZW1lbnRhdGlvbiBzaG91bGQgbm90IGJlIGRpc3RyaWJ1dGVkIGFz Cj4gcGFydCBvZiB0aGUgVk0gaW1hZ2UsIGJ1dCBpcyBzcGVjaWZpYyB0byB0aGUgVk0gaW1wbGVt ZW50YXRpb24uCj4gCj4gCj4gSGFyZHdhcmUgRGVzY3JpcHRpb24KPiAtLS0tLS0tLS0tLS0tLS0t LS0tLQo+IFRoZSBWTSBzeXN0ZW0gbXVzdCBiZSBVRUZJIGNvbXBsaWFudCBhbmQgdGhlcmVmb3Jl IHRoZSBVRUZJIHN5c3RlbSB0YWJsZQo+IHdpbGwgcHJvdmlkZSBhIG1lYW5zIHRvIGFjY2VzcyBo YXJkd2FyZSBkZXNjcmlwdGlvbiBkYXRhLgo+IAo+IFRoZSBWTSBpbXBsZW1lbnRhdGlvbiBtdXN0 IHByb3ZpZGUgdGhyb3VnaCBpdHMgVUVGSSBpbXBsZW1lbnRhdGlvbjoKPiAKPiAgIGEgY29tcGxl dGUgRkRUIHdoaWNoIGRlc2NyaWJlcyB0aGUgZW50aXJlIFZNIHN5c3RlbSBhbmQgd2lsbCBib290 Cj4gICBtYWlubGluZSBrZXJuZWxzIGRyaXZlbiBieSBkZXZpY2UgdHJlZSBhbG9uZQo+IAo+IEZv ciBtb3JlIGluZm9ybWF0aW9uIGFib3V0IHRoZSBhcm0gYW5kIGFybTY0IGJvb3QgY29udmVudGlv bnMsIHNlZQo+IERvY3VtZW50YXRpb24vYXJtL0Jvb3RpbmcgYW5kIERvY3VtZW50YXRpb24vYXJt NjQvYm9vdGluZy50eHQgaW4gdGhlCj4gTGludXgga2VybmVsIHNvdXJjZSB0cmVlLgo+IAo+IEZv ciBtb3JlIGluZm9ybWF0aW9uIGFib3V0IFVFRkkgYm9vdGluZywgc2VlIFs0XSBhbmQgWzVdLgo+ IAo+IAo+IFZNIFBsYXRmb3JtCj4gLS0tLS0tLS0tLS0KPiBUaGUgc3BlY2lmaWNhdGlvbiBkb2Vz IG5vdCBtYW5kYXRlIGFueSBzcGVjaWZpYyBtZW1vcnkgbWFwLiAgVGhlIGd1ZXN0Cj4gT1MgbXVz dCBiZSBhYmxlIHRvIGVudW1lcmF0ZSBhbGwgcHJvY2Vzc2luZyBlbGVtZW50cywgZGV2aWNlcywg YW5kCj4gbWVtb3J5IHRocm91Z2ggSFcgZGVzY3JpcHRpb24gZGF0YSAoRkRUKSBvciBhIGJ1cy1z cGVjaWZpYwo+IG1lY2hhbmlzbSBzdWNoIGFzIFBDSS4KPiAKPiBJZiBhYXJjaDY0IHBoeXNpY2Fs IENQVXMgaW1wbGVtZW50IHN1cHBvcnQgZm9yIHRoZSBhYXJjaDMyIGV4ZWN1dGlvbgo+IHN0YXRl IGluIEVMMSBhbmQgRUwwIGV4ZWN1dGlvbiwgaXQgaXMgcmVjb21tZW5kZWQgdGhhdCB0aGUgVk0K PiBpbXBsZW1lbnRhdGlvbiBzdXBwb3J0cyBib290aW5nIHRoZSBWTSBhdCBFTDEgaW4gYm90aCBh YXJjaDMyIGFuZAo+IGFhcmNoNjQgZXhlY3V0aW9uIHN0YXRlcy4KPiAKPiBUaGUgdmlydHVhbCBo YXJkd2FyZSBwbGF0Zm9ybSBtdXN0IHByb3ZpZGUgYSBudW1iZXIgb2YgbWFuZGF0b3J5Cj4gcGVy aXBoZXJhbHM6Cj4gCj4gICBTZXJpYWwgY29uc29sZTogIFRoZSBwbGF0Zm9ybSBzaG91bGQgcHJv dmlkZSBhIGNvbnNvbGUsCj4gICBiYXNlZCBvbiBhbiBlbXVsYXRlZCBwbDAxMSwgYSB2aXJ0aW8t Y29uc29sZSwgb3IgYSBYZW4gUFYgY29uc29sZS4KPiAKPiAgIEFuIEFSTSBHZW5lcmljIEludGVy cnVwdCBDb250cm9sbGVyIHYyIChHSUN2MikgWzNdIG9yIG5ld2VyLiAgR0lDdjIKPiAgIGxpbWl0 cyB0aGUgdGhlIG51bWJlciBvZiB2aXJ0dWFsIENQVXMgdG8gOCBjb3JlcywgbmV3ZXIgR0lDIHZl cnNpb25zCj4gICByZW1vdmVzIHRoaXMgbGltaXRhdGlvbi4KPiAKPiAgIFRoZSBBUk0gdmlydHVh bCB0aW1lciBhbmQgY291bnRlciBzaG91bGQgYmUgYXZhaWxhYmxlIHRvIHRoZSBWTSBhcwo+ICAg cGVyIHRoZSBBUk0gR2VuZXJpYyBUaW1lcnMgc3BlY2lmaWNhdGlvbiBpbiB0aGUgQVJNIEFSTSBb MV0uCj4gCj4gSXQgaXMgc3Ryb25nbHkgcmVjb21tZW5kZWQgdGhhdCB0aGUgVk0gaW1wbGVtZW50 YXRpb24gcHJvdmlkZXMgYQo+IGhvdHBsdWdnYWJsZSBidXMgdG8gc3VwcG9ydCBob3RwbHVnIG9m IGF0IGxlYXN0IGJsb2NrIGFuZCBuZXR3b3JrCj4gZGV2aWNlcy4gIFN1aXRhYmxlIGJ1c2VzIGlu Y2x1ZGUgYSB2aXJ0dWFsIFBDSWUgYnVzIGFuZCB0aGUgWGVuIFBWIGJ1cy4KPiAKPiBGb3IgdGhl IFZNIGltYWdlIHRvIGJlIGNvbXBsaWFudCB3aXRoIHRoaXMgc3BlYywgdGhlIGZvbGxvd2luZyBh cHBsaWVzCj4gZm9yIHRoZSBndWVzdCBPUyBpbiB0aGUgVk0gaW1hZ2U6Cj4gCj4gICBUaGUgZ3Vl c3QgT1MgbXVzdCBpbmNsdWRlIHN1cHBvcnQgZm9yIHBsMDExIFVBUlQsIHZpcnRpby1jb25zb2xl LCBhbmQKPiAgIHRoZSBYZW4gUFYgY29uc29sZS4KPiAKPiAgIFRoZSBndWVzdCBPUyBtdXN0IGlu Y2x1ZGUgc3VwcG9ydCBmb3IgR0lDdjIgYW5kIGFueSBhdmFpbGFibGUgbmV3ZXIKPiAgIHZlcnNp b24gb2YgdGhlIEdJQyBhcmNoaXRlY3R1cmUgdG8gbWFpbnRhaW4gY29tcGF0aWJpbGl0eSB3aXRo IG9sZGVyCj4gICBWTSBpbXBsZW1lbnRhdGlvbnMuCj4gCj4gICBJdCBpcyBzdHJvbmdseSByZWNv bW1lbmRlZCB0byBpbmNsdWRlIHN1cHBvcnQgZm9yIGFsbCBhdmFpbGFibGUKPiAgIChibG9jaywg bmV0d29yaywgY29uc29sZSwgYmFsbG9vbikgdmlydGlvLXBjaSwgdmlydGlvLW1taW8sIGFuZCBY ZW4gUFYKPiAgIGRyaXZlcnMgaW4gdGhlIGd1ZXN0IE9TIGtlcm5lbCBvciBpbml0aWFsIHJhbWRp c2suCj4gCj4gCj4gT3RoZXIgY29tbW9uIHBlcmlwaGVyYWxzIGZvciBibG9jayBkZXZpY2VzLCBu ZXR3b3JraW5nLCBhbmQgbW9yZSBjYW4KPiAoYW5kIHR5cGljYWxseSB3aWxsKSBiZSBwcm92aWRl ZCwgYnV0IE9TIHNvZnR3YXJlIHdyaXR0ZW4gYW5kIGNvbXBpbGVkCj4gdG8gcnVuIG9uIEFSTSBW TXMgY2Fubm90IG1ha2UgYW55IGFzc3VtcHRpb25zIGFib3V0IHdoaWNoIHZhcmlhdGlvbnMKPiBv ZiB0aGVzZSBzaG91bGQgZXhpc3Qgb3Igd2hpY2ggaW1wbGVtZW50YXRpb24gdGhleSB1c2UgKGUu Zy4gVmlydElPIG9yCj4gWGVuIFBWKS4gIFNlZSAiSGFyZHdhcmUgRGVzY3JpcHRpb24iIGFib3Zl Lgo+IAo+IAo+IENoYW5nZXMgZnJvbSBwcmV2aW91cyB2ZXJzaW9ucyBvZiB0aGlzIFJGQwo+IC0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQo+IENoYW5nZXMgdjEtdjI6 Cj4gIC0gQ2xlYXJseSBzcGVjaWZ5IHRoYXQgdGhlIGd1ZXN0IG11c3Qgc3VwcG9ydCB0aGUgcGww MTEsCj4gICAgdmlydGlvLWNvbnNvbGUsIGFuZCBYZW4gUFYgY29uc29sZS4gIChOb3RlIHRoYXQg aXQgd2FzIGRpc2N1c3NlZCB0bwo+ICAgIG1hbmRhdGUgYSBwbDAxMSBkdXJpbmcgTGluYXJvIENv bm5lY3QgQXNpYSAyMDE0LCBidXQgdGhhdCB3YXMgdW5kZXIgdGhlCj4gICAgaW1wcmVzc2lvbiB0 aGF0IHRoZSBTQlNBIHNwZWNpZmljYXRpb24gd2FzIGFuIG91dHB1dC1vbmx5IG5vLWlycQo+ICAg IHNlcmlhbCBwb3J0LCB3aGljaCBpcyBub3QgdGhlIGNhc2UuICBUaGUgb25seSB0d28gYmVuZWZp dHMgZnJvbQo+ICAgIG1hbmRhdGluZyBhIHNwZWNpZmljIHNlcmlhbCB0eXBlIHdhcyB0byBoYW5k bGUgImNvbnNvbGU9dHR5QU1BMCIKPiAgICBrZXJuZWwgY29tbWFuZCBsaW5lIHBhcmFtZXRlcnMg YW5kIGVhcmx5cHJpbnRrOyBHcmFudCBMaWtlbHkgaGFzCj4gICAgc3VibWl0dGVkIHBhdGNoZXMg dG8gYXZvaWQgdGhlIG5lZWQgZm9yICJjb25zb2xlPSIgcGFyYW1ldGVycywgYW5kCj4gICAgUm9i IEhlcnJpbmcgaGFzIHN1Ym1pdHRlZCBwYXRjaGVzIGZvciBwYXJhdmlydHVhbGl6ZWQgZWFybHlw cmludGsKPiAgICBjb25zb2xlcy4pCj4gIC0gUmVmZXJlbmNlIEVGSSBzcGVjaWZpY2F0aW9uIGZv ciBib290YWJsZSBwYXRocy4KPiAgLSBSZW1vdmUgZGlzY3Vzc2lvbiBvbiBBQ1BJIGJvb3QgbWV0 aG9kcyBhbmQgZG8gbm90IHN1Z2dlc3QgQUNQSQo+ICAgIHN1cHBvcnQgaW4gVk1zLgo+ICAtIEFk ZCBzcGVjaWZpY2F0aW9uIGFib3V0IFVFRkkgcGVyc2lzdGVudCB2YXJpYWJsZSBzdG9yYWdlIGFu ZAo+ICAgIHBvcnRhYmlsaXR5Lgo+IAo+IAo+IFJlZmVyZW5jZXMKPiAtLS0tLS0tLS0tCj4gWzFd OiBUaGUgQVJNIEFyY2hpdGVjdHVyZSBSZWZlcmVuY2UgTWFudWFsLCBBUk12OCwgSXNzdWUgQS5i Cj4gaHR0cDovL2luZm9jZW50ZXIuYXJtLmNvbS9oZWxwL2luZGV4LmpzcD90b3BpYz0vY29tLmFy bS5kb2MuZGRpMDQ4N2EuYi9pbmRleC5odG1sCj4gCj4gWzJdOiBBUk0gU2VydmVyIEJhc2UgU3lz dGVtIEFyY2hpdGVjdHVyZQo+IGh0dHA6Ly9pbmZvY2VudGVyLmFybS5jb20vaGVscC9pbmRleC5q c3A/dG9waWM9L2NvbS5hcm0uZG9jLmRlbjAwMjkvaW5kZXguaHRtbAo+IAo+IFszXTogVGhlIEFS TSBHZW5lcmljIEludGVycnVwdCBDb250cm9sbGVyIEFyY2hpdGVjdHVyZSBTcGVjaWZpY2F0aW9u cyB2Mi4wCj4gaHR0cDovL2luZm9jZW50ZXIuYXJtLmNvbS9oZWxwL2luZGV4LmpzcD90b3BpYz0v Y29tLmFybS5kb2MuZGRpMDQ4N2EuYi9pbmRleC5odG1sCj4gCj4gWzRdOiBodHRwOi8vd3d3LnNl Y3JldGxhYi5jYS9hcmNoaXZlcy8yNwo+IAo+IFs1XTogaHR0cHM6Ly9naXQubGluYXJvLm9yZy9w ZW9wbGUvbGVpZi5saW5kaG9sbS9saW51eC5naXQvYmxvYi9yZWZzL2hlYWRzL3VlZmktZm9yLXVw c3RyZWFtOi9Eb2N1bWVudGF0aW9uL2FybS91ZWZpLnR4dAo+IAo+IFs2XTogVUVGSSBTcGVjaWZp Y2F0aW9uIDIuNCBSZXZpc2lvbiBBCj4gaHR0cDovL3d3dy51ZWZpLm9yZy9zaXRlcy9kZWZhdWx0 L2ZpbGVzL3Jlc291cmNlcy8yXzRfRXJyYXRhX0EucGRmCj4gX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX18KPiBrdm1hcm0gbWFpbGluZyBsaXN0Cj4ga3ZtYXJt QGxpc3RzLmNzLmNvbHVtYmlhLmVkdQo+IGh0dHBzOi8vbGlzdHMuY3MuY29sdW1iaWEuZWR1L21h aWxtYW4vbGlzdGluZm8va3ZtYXJtCj4gCgoKLS0gCkNsYXVkaW8gRm9udGFuYQpTZXJ2ZXIgVmly dHVhbGl6YXRpb24gQXJjaGl0ZWN0Ckh1YXdlaSBUZWNobm9sb2dpZXMgRHVlc3NlbGRvcmYgR21i SApSaWVzc3RyYcOfZSAyNSAtIDgwOTkyIE3DvG5jaGVuCgpvZmZpY2U6ICs0OSA4OSAxNTg4MzQg NDEzNQptb2JpbGU6ICs0OSAxNTI1MzA2MDE1OAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fCmxpbnV4LWFybS1rZXJuZWwgbWFpbGluZyBsaXN0CmxpbnV4 LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9y Zy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LWFybS1rZXJuZWwK