From mboxrd@z Thu Jan 1 00:00:00 1970 From: Hongyang Yang Subject: Re: Xen 4.5 development update (July update) Date: Wed, 3 Sep 2014 09:17:37 +0800 Message-ID: <54066C31.10801@cn.fujitsu.com> References: <20140902204500.D39D0DC99F@laptop.dumpdata.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.xen.org with esmtp (Exim 4.72) (envelope-from ) id 1XOzE2-0001FR-Rc for xen-devel@lists.xenproject.org; Wed, 03 Sep 2014 01:19:07 +0000 In-Reply-To: <20140902204500.D39D0DC99F@laptop.dumpdata.com> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xen.org Errors-To: xen-devel-bounces@lists.xen.org To: konrad.wilk@oracle.com, julien.grall@linaro.org, avanzini.arianna@gmail.com, roy.franz@linaro.org, parth.dixit@linaro.org, vijay.kilari@gmail.com, Vijaya.Kumar@caviumnetworks.com, talex5@gmail.com, stefano.stabellini@eu.citrix.com, suriyan.r@gmail.com, tklengyel@sec.in.tum.de, andrew.cooper3@citrix.com, david.vrabel@citrix.com, mukesh.rathor@oracle.com, dslutz@verizon.com, boris.ostrovsky@oracle.com, chao.p.peng@linux.intel.com, dongxiao.xu@intel.com, shantong.kang@intel.com, mengxu@cis.upenn.edu, rcojocaru@bitdefender.com, ufimtseva@gmail.com, Wei.Liu2@citrix.com, olaf@aepfle.de, guijianfeng@cn.fujitsu.com, zoltan.kiss@citrix.com, eddie.dong@intel.com, roger.pau@citrix.com, artem.mygaiev@globallogic.com, ian.jackson@eu.citrix.com, daniel.kiper@oracle.com, ian.campbell@citrix.com, tiejun.chen@intel.com List-Id: xen-devel@lists.xenproject.org SGVsbG8ga29ucmFkLAoK5ZyoIDA5LzAzLzIwMTQgMDQ6NDUgQU0sIGtvbnJhZC53aWxrQG9yYWNs ZS5jb20g5YaZ6YGTOgo+IEJlbG93IGlzIGEgc3VtbWFyeSBvZiB0aGUgcHJvamVjdHMgLyBmZWF0 dXJlcyBiZWluZyB3b3JrZWQgb24gZm9yIHRoZSA0LjUKPiB0aW1lIGZyYW1lLiAgVGhlIHRlbnRh dGl2ZSBmZWF0dXJlIGZyZWV6ZSBpcyBzY2hlZHVsZWQgZm9yIFNlcHRlbWJlciAxMHRoLAo+IHdo aWNoIGlzIGxlc3MgYSB3ZWVrIGF3YXkhCj4KPiBNb3N0IG9mIHRoZSBYZW4gcGF0Y2hlcyB0aGF0 IGltcGFjdGVkIHRoZSBoeXBlcnZpc29yIGFuZCBoYWQnZmFpcicKPiAoZXhjZXB0IHRoZSBIVk0g aW50cm9zcGVjdGlvbiBvbmUpIEkgbW92ZWQgdG8gdGhlIFhlbiA0LjYgbGlzdC4KPgo+IFRoZXkg bWlnaHQgZ2V0IEFja2VkIGJ5IG1haW50YWluZXJzIGluIHRoZSBuZXh0IGNvdXBsZSBvZiBkYXlz IHdoaWNoIHdvdWxkCj4gYmUgZmFudGFzdGljIC0gYW5kIGlmIHNvIEkgd2lsbCB1cGRhdGUgdGhl IGxpc3QuIEJ1dCBwZXJoYXBzIG5vdC4gQWxzbwo+IHNvbWUgYXJlIGluICdnb29kJyBvciBpbiAn b2snIGNvbmRpdGlvbiAtIGJ1dCB0aGF0IGRvZXMgbm90IG1lYW4gdGhleQo+IHdpbGwgYXV0b21h dGljYWxseSBnbyBpbiBYZW4gNC41Lgo+Cj4gSW4gdGVybXMgb2YgUUVNVSAgLSBJIG9ubHkgaGFk IHRocmVlIGl0ZW1zIGFuZCBzaW5jZSB0aGUgdmVyc2lvbiBvZiBRRU1VCj4gZnJvbSB1cHN0cmVh bSB3ZSBhcmUgdXNpbmcgaXMgYWxyZWFkeSBlc3RhYmxpc2hlZCAoYW5kIHN0YWJsZSkgSSBkb24n dCBzZWUgdXMKPiBiYWNrcG9ydGluZyBhbnkgbW9yZSBwYXRjaGVzIGZyb20gdXBzdHJlYW0uIEJ1 dCBwZXJoYXBzIFN0ZWZhbm8gaGFzIHNvbWUKPiBvdGhlciBwbGFucy4uLgo+Ci4uLnNuaXAuLi4K Pgo+ID09IGxpYnt4Yyx4bH0gYW5kIHRvb2xzdGFjayA9PQo+Cj4gKiAgbGlieGwgd29yayAtIEpT T04gdG8ga2VlcCB0cmFjayBvZiBndWVzdCBjb25maWdzIChvaykKPiAgICAtICBXZWkgTGl1Cj4K PiAqICBwdnNjc2kgc2hvdWxkIGJlIHRhcmdldGVkIGZvciA0LjUsIGEgcHJvdG90eXBlIGV4aXN0 cyAoZmFpcikKPiAgICAtICBPbGFmIEhlcmluZwo+Cj4gKiAgUmVtdXMgaW4gWGVuIChsaWJ4bCkg KG9rKQo+ICAgICB2MTkKPiAgICAgdXJsOiBodHRwczovL2dpdGh1Yi5jb20vbGFpanMveGVuIHJl bXVzLXYxOQoKVXJsIGlzIGhlcmUgbm93OgogIGh0dHBzOi8vZ2l0aHViLmNvbS9tYWNyb3NoZWVw L3hlbi90cmVlL3JlbXVzLXYxOQoKCj4gICAgLSAgR3VpIEppYW5mZW5nCj4gICAgLSAgWWFuZyBI b25neWFuZwo+ICAgIC0gIERvbmcsIEVkZGllCj4KPiA9PSBMaW51eCA9PQo+Cj4gKiAgTGludXgg YmxvY2sgbXVsdGlxdWV1ZSAoZmFpcikKPiAgICAtICBBcmlhbm5hIEF2YW56aW5pCj4KPiAqICBO ZXRiYWNrIGdyYW50IHRhYmxlIG1hbmlwdWxhdGlvbnMgKG9rKQo+ICAgIC0gIFpvbHRhbiBLaXNz Cj4KPiAqICBWUE1VIC0gJ3BlcmYnIHN1cHBvcnQgaW4gTGludXggKG9rKQo+ICAgICBEZXBlbmRz IG9uIFhlbiBwYXRjaGVzCj4gICAgLSAgQm9yaXMgT3N0cm92c2t5Cj4KPiAqICB2TlVNQSBpbiBM aW51eCAob2spCj4gICAgIHY2IHBvc3RlZAo+ICAgICBnaXQ6Ly9naXRvcmlvdXMub3JnL3ZudW1h L2xpbnV4X3ZudW1hLmdpdAo+ICAgIC0gIEVsZW5hIFVmaW10c2V2YQo+Cj4gKiAgdnN5c2NhbGwg aW4gTGludXggKGZhaXIpCj4gICAgLSAgS29ucmFkIFJ6ZXN6dXRlayBXaWxrCj4KPiAqICBDT0xP IEFnZW50IGluIExpbnV4IChmYWlyKQo+ICAgIC0gIEd1aSBKaWFuZmVuZwo+ICAgIC0gIFlhbmcg SG9uZ3lhbmcKPiAgICAtICBEb25nLCBFZGRpZQo+Cj4gKiAgdkFQSUMgaW4gUFZIVk0gZ3Vlc3Rz IChMaW51eCBzaWRlKSAobm9uZSkKPiAgICAtICBCb3JpcyBPc3Ryb3Zza3kKPgo+ID09IEZyZWVC U0QgPT0KPgo+ICogIFBWSCBGcmVlQlNEIGRvbTAgKG9rKQo+ICAgICBGcmVlQlNEIDExIGdvYWwu IFRvb2xzdGFjayBzaWRlIGRvbmUgaW4gWGVuIDQuNQo+ICAgIC0gIFJvZ2VyIFBhdSBNb25uw6kK Pgo+ID09IE90aGVyIE9TZXMgKE1pbmlPUywgUU5YKSA9PQo+Cj4gKiAgUFYgZHJpdmVycyBmb3Ig YXV0b21vdGl2ZSBrZXJuZWxzIChmYWlyKQo+ICAgIC0gIEFydGVtIE15Z2FpZXYKPgo+ICogIG1p bmktb3M6IHhlbmJ1cyBjaGFuZ2VzIGZvciBydW1wIGtlcm5lbHMgKG9rKQo+ICAgICBnaXQ6Ly94 ZW5iaXRzLnhlbi5vcmcvcGVvcGxlL2l3ai9ydW1wdXNlci14ZW4uZ2l0Cj4gICAgIGJyYW5jaDog YmFzZS5kZXYteGVuLXhlbmJ1cy52MS4uZGV2LXhlbi14ZW5idXMudjEKPiAgICAgdjIgcG9zdGVk Cj4gICAgLSAgSWFuIEphY2tzb24KPgo+ID09IEdSVUIyID09Cj4KPiAqICBHUlVCMiBtdWx0aWJv b3QyIChmYWlyKQo+ICAgIC0gIERhbmllbCBLaXBlcgo+Cj4gPT0gT1NTVEVTVCA9PQo+Cj4gKiAg T1NTVGVzdDogbGlidmlydCAoZ29vZCkKPiAgICAtICBJYW4gQ2FtcGJlbGwKPgo+ID09IERlZmVy cmVkIHRvIFFFTVUgdjIubmV4dCA9PQo+Cj4gKiAgVXNpbmcgcWVtdS11cHN0cmVhbSBpbiBhIHN0 dWJkb21haW4gKGZhaXIpCj4gICAgIFdpbGwgdXNlIHJ1bXAga2VybmVscy4KPiAgICAtICBJYW4g SmFja3Nvbgo+Cj4gKiAgSW50ZWwgSUdEIFBDSSBHUFUgcGFzc3Rocm91Z2ggKG9rKQo+ICAgICB2 NSBwb3N0ZWQKPiAgICAtICBDaGVuLCBUaWVqdW4KPgo+ICogIFhlbiBQViBibG9jayBkcml2ZXIg aW4gT1ZNRiAoVUVGSSBpbiBndWVzdCkgKGZhaXIpCj4gICAgIFJGQyBwb3N0ZWQuCj4gICAgLSAg QW50aG9ueSBQRVJBUkQKPgo+ID09IERlZmVycmVkIHRvIFhlbiBoeXBlcnZpc29yIDQuNiA9PQo+ Cj4gKiAgZXh0ZW5kaW5nIG1lbV9hY2Nlc3Mgc3VwcG9ydCB0byBQViBkb21haW4gKGZhaXIpCj4g ICAgIFJGQyB2Mgo+ICAgIC0gIEFyYXZpbmRoIFB1dGhpeWFwYXJhbWJpbCAoYXJhdmluZHApCj4K PiAqICBSZXB1cnBvc2UgU0VERiBTY2hlZHVsZXIgZm9yIFJlYWwtdGltZSAoZmFpcikKPiAgICAg UkZDIHBhdGNoIHBvc3RlZCAodjIpCj4gICAgLSAgSm9zaHVhIFdoaXRlaGVhZCwgUm9iZXJ0IFZh blZvc3Nlbgo+Cj4gKiAgQVJNIHJlbW90ZSBwcm9jZXNzb3IgaW9tbXUgbW9kdWxlIChHUFVzICsg SVBVcykgKGZhaXIpCj4gICAgIHYzIHBvc3RlZAo+ICAgIC0gIEFuZHJpaSBUc2VnbHl0c2t5aQo+ Cj4gKiAgQ09hcnNlLWdyYWluIExPY2stc3RlcHBpbmcgVmlydHVhbCBNYWNoaW5lcyBpbiBYZW4g KGZhaXIpCj4gICAgIFJGQyBwYXRjaCBwb3N0ZWQKPiAgICAtICBXZW4gQ29uZ3lhbmcKPiAgICAt ICBHdWkgSmlhbmZlbmcKPiAgICAtICBZYW5nIEhvbmd5YW5nCj4gICAgLSAgRG9uZywgRWRkaWUK Pgo+ICogIGV4dGVuZCB0aGUgeGVuc3RvcmUgcmluZyB3aXRoIGEgJ2Nsb3NpbmcnIHNpZ25hbCAo ZmFpcikKPiAgICAgUkZDIHBhdGNoIHBvc3RlZAo+ICAgIC0gIERhdmlkIFNjb3R0Cj4KPiAqICBs aWJ4bCBtaWdyYXRpb252MiBwYXRjaGVzLiAobm9uZSkKPiAgICAtICBBbmRyZXcgQ29vcGVyICYg RGF2aWQgVnJhYmVsCj4KPiAqICB0bWVtIG1pZ3JhdGlvbnYyIHBhdGNoZXMuIChub25lKQo+ICAg IC0gIEJvYiBMaXUgJiBBbmRyZXcgQ29vcGVyICYgRGF2aWQgVnJhYmVsCj4KPiAqICBSZW11cyB1 c2luZyBtaWdyYXRpb24tdjIgKGZhaXIpCj4gICAgIFJGQyBwb3N0ZWQgLSBkZXBlbmRzIG9uIHY2 IG9mICdOZXcgTWlncmF0aW9uJwo+ICAgIC0gIFlhbmcgSG9uZ3lhbmcKPgo+ICogIFhlbiBtdWx0 aWJvb3QyLUVGSSBzdXBwb3J0IChmYWlyKQo+ICAgICBOZWVkZWQgZm9yIEdyVUIyCj4gICAgIERl cGVuZHMgb24gWGVuIEJvb3QgaW5mbyAocmV3b3JrIG11bHRpYm9vdCBhbmQgb3RoZXIgc3RydWN0 cykKPiAgICAgU2VlIGh0dHA6Ly9saXN0cy54ZW4ub3JnL2FyY2hpdmVzL2h0bWwveGVuLWRldmVs LzIwMTMtMDUvbXNnMDIyODEuaHRtbAo+ICAgICBSRkMgcG9zdGVkCj4gICAgLSAgRGFuaWVsIEtp cGVyCj4KPiAqICBkaXJ0eSB2cmFtIC8gSU9NTVUgYnVnIChmYWlyKQo+ICAgICBodHRwOi8vYnVn cy54ZW5wcm9qZWN0Lm9yZy94ZW4vYnVnLzM4Cj4gICAgLSAgWmhhbmcsIFlhbmcgWgo+Cj4gKiAg c25hcHNob3QgQVBJIGV4dGVuc2lvbiAoY2hlY2twb2ludGluZyBkaXNrKSAob2spCj4gICAgIHY1 Cj4gICAgIEhpcyBlbWFpbCBib3VuY2VzLgo+ICAgIC0gIEJhbXZvciBKaWFuIFpoYW5nCj4KPiAq ICBSZWFycmFuZ2UgYW5kIGNsZWFudXAgaW5zdGFsbGF0aW9uIGRlc3RpbmF0aW9uIGRpcmVjdG9y aWVzICgvdmFyIC0+IHZhci9saWIveGVuKSAoZmFpcikKPiAgICAtICBEYW5pZWwgS2lwZXIKPgo+ ICogIGxpYnhsL3hsIC0geG0gY29tcGF0aWJpbGl0eSBtb2RlIGZvciBtZW0tbWF4IGFuZCBtZW0t c2V0OyAob2spCj4gICAgLSAgRGFuaWVsIEtpcGVyCj4KPiAqICBTdXBwb3J0IGNvbnRyb2xsaW5n IHRoZSBtYXggQy1zdGF0ZSBzdWItc3RhdGUgKG9rKQo+ICAgICB2MyBwb3N0ZWQKPiAgICAtICBS b3NzIExhZ2Vyd2FsbAo+Cj4gKiAgMVRCIHNsb3cgZGVzdHJ1Y3Rpb24gKG9rKQo+ICAgIC0gIEJv YiBMaXUKPgo+ICogIElPTU1VIEFCSSBmb3IgZ3Vlc3RzIHRvIG1hcCB0aGVpciBETUEgcmVnaW9u cyAoZmFpcikKPiAgICAtICBNYWxjb2xtIENyb3NzbGV5Cj4KPiAqICB4bCBsaXN0IC0tbG9uZyAo YW5kIHNvbWUgcmVsYXRlZCB4bCBjb21tYW5kcykgaGF2ZSBzb21lIGJ1Z3MgKG5vbmUpCj4gICAg LSAgWmhpZ2FuZyBXYW5nCj4KPiAqICBYZW4gSFBFVCBpbnRlcnJ1cHQgZml4ZXMgKGZhaXIpCj4g ICAgIGJlaGluZCBtaWdyYXRpb24gdjIKPiAgICAtICBBbmRyZXcgQ29vcGVyCj4KPiAqICBDb252 ZXJ0IHRhc2tsZXQgdG8gcGVyLWNwdSB0YXNrbGV0cyAoZmFpcikKPiAgICAtICBLb25yYWQgUnpl c3p1dGVrIFdpbGsKPgo+ICogIEFSTSBWTSBzYXZlL3Jlc3RvcmUvbGl2ZSBtaWdyYXRpb24gKG5v bmUpCj4gICAgIE5lZWQgdG8gcmViYXNlZCBhZ2FpbnN0IG1pZ3JhdGlvbnYyIC0gbm8gY29kZSBw b3N0ZWQuCj4gICAgLSAgSnVuZ2h5dW4gWW9vCj4KPiAqICBEZWZhdWx0IHRvIGNyZWRpdDIgKG5v bmUpCj4gICAgIGNwdSBwaW5uaW5nLCBudW1hIGFmZmluaXR5IGFuZCBjcHUgcmVzZXJ2YXRpb24K PiAgICAtICBHZW9yZ2UgRHVubGFwCj4KPiAqICAiU2hvcnQiIGdyYW50IGNvcHkgKGp1c3QgaGVh ZGVyKSBvZiBwYWNrZXRzLiAobm9uZSkKPiAgICAtICBab2x0YW4gS2lzcwo+Cj4gKiAgY3B1aWQg bGV2ZWxpbmcgKG5vbmUpCj4gICAgIGh0dHA6Ly94ZW5iaXRzLnhlbi5vcmcvcGVvcGxlL2FuZHJl d2Nvb3AvZmVhdHVyZS1sZXZlbGxpbmcvZmVhdHVyZS1sZXZlbGxpbmctRC5wZGYKPiAgICAtICBB bmRyZXcgQ29vcGVyCj4KPiAqICBsaXZlIG1pZ3JhdGlvbiBrbm9icywgdGhlcmUgaXMgbm8gc3Vp dGFibGUgY29kZSB5ZXQsIGp1c3QgaWRlYXMgKG5vbmUpCj4gICAgICBodHRwOi8vbGlzdHMueGVu cHJvamVjdC5vcmcvYXJjaGl2ZXMvaHRtbC94ZW4tZGV2ZWwvMjAxNC0wMy9tc2cwMDc4NS5odG1s Cj4gICAgLSAgT2xhZiBIZXJpbmcKPgo+ICogIEZ1cnRoZXIgdG1lbSBjbGVhbnVwcy9maXhlcyAo MTZUQiBldGMpIChmYWlyKQo+ICAgIC0gIEJvYiBMaXUKPgo+ICogIEFNRCBSYWRlb24gUENJIEdQ VSBwYXNzdGhyb3VnaCAobm9uZSkKPiAgICAgRm9jdXNpbmcgb24gWGVuIDQuMiBhbmQgcWVtdS10 cmFkaXRpb25hbAo+ICAgIC0gIEtlbGx5IFp5dGFydWsKPgo+ICogIHhsIGRvZXMgbm90IGhhbmRs ZSBtaWdyYXRlIGludGVycnVwdGlvbiBncmFjZWZ1bGx5IChub25lKQo+ICAgICBJZiB5b3Ugc3Rh cnQgYSBsb2NhbGhvc3QgbWlncmF0ZSwgYW5kIHByZXNzICJDdHJsLUMiIGluIHRoZSBtaWRkbGUs IHlvdSBnZXQgdHdvIGh1bmcgZG9tYWlucwo+ICAgIC0gIElhbiBKYWNrc29uCj4KPiAqICBJTy1O VU1BIC0gaHdsb2MgYW5kIHhsIChub25lKQo+ICAgICBBbmRyZXcgQ29vcGVyIGhhZCBhbiBSRkMg cGF0Y2ggZm9yIGh3bG9jCj4gICAgIGFkZCByZXN0cmljdGlvbnMgIGFzIHRvIHdoaWNoIGRldmlj ZXMgY2Fubm90IHNhZmVseS9mdW5jdGlvbmFsbHkgYmUgc3BsaXQgYXBhcnQuCj4gICAgLSAgQm9y aXMgT3N0cm92c2t5Cj4KPiAqICBIVk0gZ3Vlc3QgTlVNQSAobm9uZSkKPiAgICAtICBNYXR0IFdp bHNvbgo+Cj4gKiAgUFZIIC0gTWlncmF0aW9uIG9mIFBWSCBEb21Vcy4gKG5vbmUpCj4gICAgIERl cGVuZHMgb24gbWlncmF0aW9uMiBjb2RlCj4gICAgLSAgUm9nZXIgUGF1IE1vbm7DqQo+Cj4gKiAg UFZIIC0gTWlncmF0aW9uIG9mIGd1ZXN0cyBmcm9tIGEgUFZIIGRvbTAgIChub25lKQo+ICAgICBE ZXBlbmRzIG9uIG1pZ3JhdGlvbjIgY29kZQo+ICAgIC0gIFJvZ2VyIFBhdSBNb25uw6kKPgo+ICog IEFSTSBHSUN2Mm0gc3VwcG9ydCAobm9uZSkKPiAgICAtICBMaW5hcm8gKHVua25vd24pCj4KPiA9 PSBVcCBmb3IgZ3JhYnMgPT0KPgo+ICogIE9TU1Rlc3QgLSBhbHNvIHRlc3QgTGludXggUFZIIGd1 ZXN0cwo+Cj4gKiAgUG9EIGZpeGVzCj4gICAgIGlmIHlvdSBib290IHdpdGggbWVtb3J5IDw9IG1h eG1lbSB3ZSBoYXZlIGEgc2l6ZSBlc3RpbWF0aW9uIGJ1Zwo+Cj4gKiAgVExCIGZsdXNoaW5nIHdp dGhvdXQgbG9ja3MgaW4gWGVuCj4KPiAqICB4bCBkb2VzIG5vdCBzdXBwb3J0IHNwZWNpZnlpbmcg dmlydHVhbCBmdW5jdGlvbiBmb3IgcGFzc3Rocm91Z2ggZGV2aWNlCj4gICAgIGh0dHA6Ly9idWdz LnhlbnByb2plY3Qub3JnL3hlbi9idWcvMjIKPgo+ICogIFBDSSBob2xlIHJlc2l6ZSBzdXBwb3J0 IGh2bWxvYWRlci9xZW11LXRyYWRpdGlvbmFsL3FlbXUtdXBzdHJlYW0gd2l0aCBQQ0kvR1BVIHBh c3N0aHJvdWdoCj4gICAgIGh0dHA6Ly9idWdzLnhlbnByb2plY3Qub3JnL3hlbi9idWcvMjgKPgo+ ICogIGxpYnh7YyxsfSBlcnJvciBoYW5kbGluZyBjbGVhbnVwCj4KPiAqICBBZGRpbmcgbWlzc2lu ZyAneGVuZCcgZmVhdHVyZXMgaW4gbGlieGwKPgo+ICogIHhsIGxpc3QgLWwgb24gYSBkb20wLW9u bHkgc3lzdGVtCj4KPiAqICB4bCBsaXN0IC1sIGRvZXNuJ3QgY29udGFpbiB0dHkgY29uc29sZSBw b3J0Cj4KPiAqICB4bDogcGFzc2luZyBtb3JlIGRlZmF1bHRzIGluIGNvbmZpZ3VyYXRpb24gaW4g eGwuY29uZgo+ICAgICBUaGVyZSBhcmUgYSBudW1iZXIgb2Ygb3B0aW9ucyBmb3Igd2hpY2ggaXQg bWlnaHQgYmUgdXNlZnVsIHRvIHBhc3MgYSBkZWZhdWx0IGluIHhsLmNvbmYuICBGb3IgZXhhbXBs ZSwgaWYgd2UgY291bGQgaGF2ZSBhIGRlZmF1bHQgImJhY2tlbmQiIHBhcmFtZXRlciBmb3Igdmlm cywgdGhlbiBpdCB3b3VsZCBiZSBlYXN5IHRvIHN3aXRjaCBiYWNrIGFuZCBmb3J0aCBiZXR3ZWVu IGEgYmFja2VuZCBpbiBhIGRyaXZlciBkb21haW4gYW5kIGEgYmFja2VuZCBpbiBkb20wLgo+Cj4g KiAgUFZIIC0gUFZIIHdvcmtpbmcgd2l0aCBzaGFkb3cuCj4gICAgIEJhc2VkIG9uIFRpbSdzIHdv cmsKPgo+ICogIFBWSCAtIFBDSSBwYXNzdGhyb3VnaCBmb3IgRG9tVS4KPgo+ICogIEFNRCBwZXJm b3JtYW5jZSByZWdyZXNzaW9ucwo+Cj4gKiAgUGVyZm9ybWFuY2UgZHVlIHRvIGh5cGVyY2FsbCBw cmVlbXB0aW9uLiBNb3JlIHByZWVtcHRpb25zIC0gc2xvd2VyLiAobm9uZSkKPgo+ID09IENvbXBs ZXRlZCA9PQo+Cj4gKiAgcHZTQ1NJIGluIExpbnV4IChmcm9udGVkIGFuZCBiYWNrZW5kKSAoZG9u ZSkKPiAgICAgdjYKPiAgICAtICBKdWVyZ2VuIEdyb3NzCj4KPiAqICBhbHRlcm5hdGl2ZV9hc20g aW4gWGVuIChkb25lKQo+ICAgIC0gIEZlbmcgV3UKPgo+ICogIFNNQVAgKGRvbmUpCj4gICAgLSAg RmVuZyBXdQo+Cj4gKiAgUmUtd3JpdGUgb2YgdkhQRVQgKGRvbmUpCj4gICAgIGFrYSBodm0vaHBl dDogRGV0ZWN0IGNvbXBhcmF0b3IgdmFsdWVzIGluIHRoZSBwYXN0Cj4gICAgLSAgRG9uIFNsdXR6 Cj4KPiAqICB2QVBJQyBpbiBQVkhWTSBndWVzdHMgKFhlbiBzaWRlKSAoZG9uZSkKPiAgICAtICBC b3JpcyBPc3Ryb3Zza3kKPgo+ICogIGxpYnZpcnQgYW5kIHhsIGRpc2NhcmQgc3VwcG9ydCwgc28g dGhhdCBsaWJ2aXJ0IGNhbiBzdGFydCB1c2luZyBpdCAoZG9uZSkKPiAgICAtICBPbGFmIEhlcmlu Zwo+Cj4gKiAgWGVuIFBWSCBkb20wIChkb25lKQo+ICAgIC0gIE11a2VzaCBSYXRob3IKPgo+ICog IExpbnV4IFBWSCBkb20wIChkb25lKQo+ICAgIC0gIE11a2VzaCBSYXRob3IKPgo+ICogIE9TU1Rl c3Q6IHVwc3RyZWFtIFFFTVUgKGRvbmUpCj4gICAgLSAgSWFuIENhbXBiZWxsCj4KPiAqICBhbWRf dWNvZGUgY2xlYW51cHMsIHZlcmlmeSBwYXRjaCBzaXplKGVuaGFuY2VtZW50KSAobW9zdGx5IGlu IG1hc3RlciBleGNlcHQgb25lIHBhdGNoKQo+Cj4gKiAgRGF0YSBicmVha3BvaW50IEV4dGVuc2lv biBzdXBwb3J0IChuZXctZmVhdCkgKGluIG1hc3RlcikKPgo+ICogIEZlYXR1cmUgbWFza2luZyBN U1Igc3VwcG9ydCAoZW5oYW5jZW1lbnQpIChpbiBtYXN0ZXIpCj4KPiAqICBTdXBwb3J0IEJSQ00g VHJ1TWFuYWdlIGNoaXAgKFNlcmlhbCBvdmVyIExBTiBzdXBwb3J0KSAobmV3LWZlYXQpIChpbiBt YXN0ZXIpCj4KPiAqICBmaXggdm1jZV9hbWQqIGZ1bmN0aW9ucywgdW5pZnkgbWNlX2FtZCBtY2hl Y2sgaW5pdGlhbGl6YXRpb24gKGZpeGVzL2NsZWFudXBzKQo+Cj4gKiAgbXVsdGlwbGUgQU1EIGNv bnRhaW5lciBmaWxlcyBhcHBlbmRlZCB0b2dldGhlciBpbiBpbml0cmQgKGVhcmx5IGluaXRyYW1m cykKPiAgICAtICBBcmF2aW5kIGFuZCBTdXJhdmVlCj4KPiAqICBOVU1BIG1lbW9yeSBzY3J1YmJp bmcgKGRvbmUpCj4gICAgLSAgS29ucmFkIFJ6ZXN6dXRlayBXaWxrCj4KPiAqICBBUk0gIC0gSU9N TVUgc3VwcG9ydCAoZG9uZSkKPiAgICAtICBKdWxpZW4gR3JhbGwKPgo+ICogIGlvcmVxLXNlcnZl ciwgYWthIHNlY29uZGFyeSBlbXVsYXRvcnMgKGRvbmUpCj4gICAgLSAgUGF1bCBEdXJyYW50Cj4K PiAqICBOZXRiYWNrIG11bHRpcXVldWUgKGdvb2QpCj4gICAgLSAgV2VpIExpdQo+Cj4gKiAgQVJN IEludGVycnVwdCBsYXRlbmN5IHJlZHVjdGlvbiAobm8gbWFpbnRlbmFuY2UgaW50ZXJydXB0cykg KGdvb2QpCj4gICAgLSAgU3RlZmFubyBTdGFiZWxsaW5pCj4KPiAqICBCaWdnZXIgUENJIGhvbGUg aW4gUUVNVSAoZG9uZSkKPiAgICAgTmVlZHMgdG8gYmUgcmViYXNlZAo+ICAgIC0gIERvbiBTbHV0 ego+Cj4gKiAgQVJNIERSQTcgc3VwcG9ydCAoZG9uZSkKPiAgICAgdjMgcG9zdGVkCj4gICAgIHYz IHdpdGggY29tbWVudHMgYXBwbGllZAo+ICAgIC0gIEFuZHJpaSBUc2VnbHl0c2t5aQo+Cj4gKiAg cmV3b3JrIFZNIEdlbmVyYXRpb24gSUQgKGRvbmUpCj4gICAgIHY3IHBvc3RlZAo+ICAgIC0gIERh dmlkIFZyYWJlbAo+Cj4gKiAgU29mdCBhZmZpbml0eSBmb3IgdmNwdXMgKHdhcyBOVU1BIGFmZmlu aXR5IGZvciB2Y3B1cykgKGdvb2QpCj4gICAgIHYxMSBwb3N0ZWQKPiAgICAtICBEYXJpbyBGYWdn aW9saQo+Cj4gKiAgTGludXggcHZvcHMgb2YgWGVuIEVGSSBoeXBlcmNhbGwgc3VwcG9ydCAoZG9u ZSkKPiAgICAtICBEYW5pZWwgS2lwZXIKPgo+ICogIEFSTTogVXNlIHN1cGVyIHBhZ2VzIGluIHAy bSAoZG9uZSkKPiAgICAgdjUgcG9zdGVkCj4gICAgLSAgSWFuIENhbXBiZWxsCj4KPiAqICBRRU1V IDIuMCBicmFuY2ggZm9yIHFlbXUtdXBzdHJlYW0gKGRvbmUpCj4gICAgIEl0IGlzIHYyLjAgd2l0 aCAyLjEgWGVuIGJhY2twb3J0cy4KPiAgICAtICBTdGVmYW5vIFN0YWJlbGxpbmkKPgo+ICogIHN5 c3RlbWQgc3VwcG9ydCAoZG9uZSkKPiAgICAgdjExCj4gICAgLSAgTHVpcyBSLiBSb2RyaWd1ZXoK Pgo+ICogIFNvZnQgYWZmaW5pdHkgZm9yIHZjcHVzIGxpYnhsL3hsIGNoYW5nZXMgKGRvbmUpCj4g ICAgIHYxMyBwb3N0ZWQKPiAgICAtICBEYXJpbyBGYWdnaW9saQo+Cj4gKiAgSFQgZW5hYmxlZCwg dmlydHVhbGl6YXRpb24gb3ZlcmhlYWQgaXMgaGlnaCAoWGVuIDQuNCkgKGRvbmUpCj4gICAgIGtl cm5iZW5jaCBkZW1vbnN0cmF0ZWQgaXQKPiAgICAgTG9va2luZyBhbmQgdHJhY2luZwo+ICAgICBo dHRwOi8vd3d3Lmdvc3NhbWVyLXRocmVhZHMuY29tL2xpc3RzL3hlbi9kZXZlbC8zMzk0MDkKPiAg ICAgRmFsc2UgYWxhcm0uCj4gICAgLSAgRGFyaW8gRmFnZ2lvbGkKPgo+IC4KPgoKLS0gClRoYW5r cywKWWFuZy4KCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f Clhlbi1kZXZlbCBtYWlsaW5nIGxpc3QKWGVuLWRldmVsQGxpc3RzLnhlbi5vcmcKaHR0cDovL2xp c3RzLnhlbi5vcmcveGVuLWRldmVsCg==