From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jike Song Subject: Re: [Announcement] 2015-Q3 release of XenGT - a Mediated Graphics Passthrough Solution from Intel Date: Thu, 19 Nov 2015 15:22:56 +0800 Message-ID: <564D78D0.80904@intel.com> References: <53D215D3.50608@intel.com> <547FCAAD.2060406@intel.com> <54AF967B.3060503@intel.com> <5527CEC4.9080700@intel.com> <559B3E38.1080707@intel.com> <562F4311.9@intel.com> <1447870341.4697.92.camel@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by gabe.freedesktop.org (Postfix) with ESMTP id 84A5B6E8D1 for ; Wed, 18 Nov 2015 23:23:23 -0800 (PST) In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Alex Williamson Cc: "igvt-g@ml01.01.org" , "Reddy, Raghuveer" , "White, Michael L" , "Cowperthwaite, David J" , "intel-gfx@lists.freedesktop.org" , "Li, Susie" , "Dong, Eddie" , "linux-kernel@vger.kernel.org" , "xen-devel@lists.xen.org" , qemu-devel , "Zhou, Chao" , Paolo Bonzini , "Zhu, Libo" , "Wang, Hongbo" List-Id: intel-gfx@lists.freedesktop.org SGkgQWxleCwKT24gMTEvMTkvMjAxNSAxMjowNiBQTSwgVGlhbiwgS2V2aW4gd3JvdGU6Cj4+IEZy b206IEFsZXggV2lsbGlhbXNvbiBbbWFpbHRvOmFsZXgud2lsbGlhbXNvbkByZWRoYXQuY29tXQo+ PiBTZW50OiBUaHVyc2RheSwgTm92ZW1iZXIgMTksIDIwMTUgMjoxMiBBTQo+Pgo+PiBbY2MgK3Fl bXUtZGV2ZWwsICtwYW9sbywgK2dlcmRdCj4+Cj4+IE9uIFR1ZSwgMjAxNS0xMC0yNyBhdCAxNzoy NSArMDgwMCwgSmlrZSBTb25nIHdyb3RlOgo+Pj4ge3NuaXB9Cj4+Cj4+IEhpIQo+Pgo+PiBBdCBy ZWRoYXQgd2UndmUgYmVlbiB0aGlua2luZyBhYm91dCBob3cgdG8gc3VwcG9ydCB2R1BVcyBmcm9t IG11bHRpcGxlCj4+IHZlbmRvcnMgaW4gYSBjb21tb24gd2F5IHdpdGhpbiBRRU1VLiAgV2Ugd2Fu dCB0byBlbmFibGUgY29kZSBzaGFyaW5nCj4+IGJldHdlZW4gdmVuZG9ycyBhbmQgZ2l2ZSBuZXcg dmVuZG9ycyBhbiBlYXN5IHBhdGggdG8gYWRkIHRoZWlyIG93bgo+PiBzdXBwb3J0LiAgV2UgYWxz byBoYXZlIHRoZSBjb21wbGljYXRpb24gdGhhdCBub3QgYWxsIHZHUFUgdmVuZG9ycyBhcmUgYXMK Pj4gb3BlbiBzb3VyY2UgZnJpZW5kbHkgYXMgSW50ZWwsIHNvIGJlaW5nIGFibGUgdG8gYWJzdHJh Y3QgdGhlIGRldmljZQo+PiBtZWRpYXRpb24gYW5kIGFjY2VzcyBvdXRzaWRlIG9mIFFFTVUgaXMg YSBiaWcgYWR2YW50YWdlLgo+Pgo+PiBUaGUgcHJvcG9zYWwgSSdkIGxpa2UgdG8gbWFrZSBpcyB0 aGF0IGEgdkdQVSwgd2hldGhlciBpdCBpcyBmcm9tIEludGVsCj4+IG9yIGFub3RoZXIgdmVuZG9y LCBpcyBwcmVkb21pbmFudGx5IGEgUENJKGUpIGRldmljZS4gIFdlIGhhdmUgYW4KPj4gaW50ZXJm YWNlIGluIFFFTVUgYWxyZWFkeSBmb3IgZXhwb3NpbmcgYXJiaXRyYXJ5IFBDSSBkZXZpY2VzLCB2 ZmlvLXBjaS4KPj4gQ3VycmVudGx5IHZmaW8tcGNpIHVzZXMgdGhlIFZGSU8gQVBJIHRvIGludGVy YWN0IHdpdGggInBoeXNpY2FsIiBkZXZpY2VzCj4+IGFuZCBzeXN0ZW0gSU9NTVVzLiAgSSBoaWdo bGlnaHQgL3BoeXNpY2FsLyB0aGVyZSBiZWNhdXNlIHNvbWUgb2YgdGhlc2UKPj4gcGh5c2ljYWwg ZGV2aWNlcyBhcmUgU1ItSU9WIFZGcywgd2hpY2ggaXMgc29tZXdoYXQgb2YgYSBmdXp6eSBjb25j ZXB0LAo+PiBzb21ld2hlcmUgYmV0d2VlbiBmaXhlZCBoYXJkd2FyZSBhbmQgYSB2aXJ0dWFsIGRl dmljZSBpbXBsZW1lbnRlZCBpbgo+PiBzb2Z0d2FyZS4gIFRoYXQgc29mdHdhcmUganVzdCBoYXBw ZW5zIHRvIGJlIHJ1bm5pbmcgb24gdGhlIHBoeXNpY2FsCj4+IGVuZHBvaW50Lgo+Cj4gQWdyZWUu Cj4KPiBPbmUgY2xhcmlmaWNhdGlvbiBmb3IgcmVzdCBkaXNjdXNzaW9uLCBpcyB0aGF0IHdlJ3Jl IHRhbGtpbmcgYWJvdXQgR1ZULWcgdkdQVQo+IGhlcmUgd2hpY2ggaXMgYSBwdXJlIHNvZnR3YXJl IEdQVSB2aXJ0dWFsaXphdGlvbiB0ZWNobmlxdWUuIEdWVC1kIChub3RlCj4gc29tZSB1c2UgaW4g dGhlIHRleHQpIHJlZmVycyB0byBwYXNzaW5nIHRocm91Z2ggdGhlIHdob2xlIEdQVSBvciBhIHNw ZWNpZmljCj4gVkYuIEdWVC1kIGFscmVhZHkgZmFsbHMgaW50byBleGlzdGluZyBWRklPIEFQSXMg bmljZWx5ICh0aG91Z2ggc29tZSBvbi1nb2luZwo+IGVmZm9ydCB0byByZW1vdmUgSW50ZWwgc3Bl Y2lmaWMgcGxhdGZvcm0gc3RpY2tuZXNzIGZyb20gZ2Z4IGRyaXZlcikuIDotKQo+CgpIaSBBbGV4 LCB0aGFua3MgZm9yIHRoZSBkaXNjdXNzaW9uLgoKSW4gYWRkaXRpb24gdG8gS2V2aW4ncyByZXBs aWVzLCBJIGhhdmUgYSBoaWdoLWxldmVsIHF1ZXN0aW9uOiBjYW4gVkZJTwpiZSB1c2VkIGJ5IFFF TVUgZm9yIGJvdGggS1ZNIGFuZCBYZW4/CgotLQpUaGFua3MsCkppa2UKCiAgCj4+Cj4+IHZHUFVz IGFyZSBzaW1pbGFyLCB3aXRoIHRoZSB2aXJ0dWFsIGRldmljZSBjcmVhdGVkIGF0IGEgZGlmZmVy ZW50IHBvaW50LAo+PiBob3N0IHNvZnR3YXJlLiAgVGhleSBhbHNvIHJlbHkgb24gZGlmZmVyZW50 IElPTU1VIGNvbnN0cnVjdHMsIG1ha2luZyB1c2UKPj4gb2YgdGhlIE1NVSBjYXBhYmlsaXRpZXMg b2YgdGhlIEdQVSAoR1RUcyBhbmQgc3VjaCksIGJ1dCByZWFsbHkgaGF2aW5nCj4+IHNpbWlsYXIg cmVxdWlyZW1lbnRzLgo+Cj4gT25lIGltcG9ydGFudCBkaWZmZXJlbmNlIGJldHdlZW4gc3lzdGVt IElPTU1VIGFuZCBHUFUtTU1VIGhlcmUuCj4gU3lzdGVtIElPTU1VIGlzIHZlcnkgbXVjaCBhYm91 dCB0cmFuc2xhdGlvbiBmcm9tIGEgRE1BIHRhcmdldAo+IChJT1ZBIG9uIG5hdGl2ZSwgb3IgR1BB IGluIHZpcnR1YWxpemF0aW9uIGNhc2UpIHRvIEhQQS4gSG93ZXZlciBHUFUKPiBpbnRlcm5hbCBN TVVzIGlzIHRvIHRyYW5zbGF0ZSBmcm9tIEdyYXBoaWNzIE1lbW9yeSBBZGRyZXNzIChHTUEpCj4g dG8gRE1BIHRhcmdldCAoSFBBIGlmIHN5c3RlbSBJT01NVSBpcyBkaXNhYmxlZCwgb3IgSU9WQS9H UEEgaWYgc3lzdGVtCj4gSU9NTVUgaXMgZW5hYmxlZCkuIEdNQSBpcyBhbiBpbnRlcm5hbCBhZGRy IHNwYWNlIHdpdGhpbiBHUFUsIG5vdAo+IGV4cG9zZWQgdG8gUWVtdSBhbmQgZnVsbHkgbWFuYWdl ZCBieSBHVlQtZyBkZXZpY2UgbW9kZWwuIFNpbmNlIGl0J3MKPiBub3QgYSBzdGFuZGFyZCBQQ0kg ZGVmaW5lZCByZXNvdXJjZSwgd2UgZG9uJ3QgbmVlZCBhYnN0cmFjdCB0aGlzIGNhcGFiaWxpdHkK PiBpbiBWRklPIGludGVyZmFjZS4KPgo+Pgo+PiBUaGUgcHJvcG9zYWwgaXMgdGhlcmVmb3JlIHRo YXQgR1BVIHZlbmRvcnMgY2FuIGV4cG9zZSB2R1BVcyB0bwo+PiB1c2Vyc3BhY2UsIGFuZCB0aHVz IHRvIFFFTVUsIHVzaW5nIHRoZSBWRklPIEFQSS4gIEZvciBpbnN0YW5jZSwgdmZpbwo+PiBzdXBw b3J0cyBtb2R1bGFyIGJ1cyBkcml2ZXJzIGFuZCBJT01NVSBkcml2ZXJzLiAgQW4gaW50ZWwtdmZp by1ndnQtZAo+PiBtb2R1bGUgKG9yIGV4dGVuc2lvbiBvZiBpOTE1KSBjYW4gcmVnaXN0ZXIgYXMg YSB2ZmlvIGJ1cyBkcml2ZXIsIGNyZWF0ZQo+PiBhIHN0cnVjdCBkZXZpY2UgcGVyIHZHUFUsIGNy ZWF0ZSBhbiBJT01NVSBncm91cCBmb3IgdGhhdCBkZXZpY2UsIGFuZAo+PiByZWdpc3RlciB0aGF0 IGRldmljZSB3aXRoIHRoZSB2ZmlvLWNvcmUuICBTaW5jZSB3ZSBkb24ndCByZWx5IG9uIHRoZQo+ PiBzeXN0ZW0gSU9NTVUgZm9yIEdWVC1kIHZHUFUgYXNzaWdubWVudCwgYW5vdGhlciB2R1BVIHZl bmRvciBkcml2ZXIgKG9yCj4+IGV4dGVuc2lvbiBvZiB0aGUgc2FtZSBtb2R1bGUpIGNhbiByZWdp c3RlciBhICJ0eXBlMSIgY29tcGxpYW50IElPTU1VCj4+IGRyaXZlciBpbnRvIHZmaW8tY29yZS4g IEZyb20gdGhlIHBlcnNwZWN0aXZlIG9mIFFFTVUgdGhlbiwgYWxsIG9mIHRoZQo+PiBleGlzdGlu ZyB2ZmlvLXBjaSBjb2RlIGlzIHJlLXVzZWQsIFFFTVUgcmVtYWlucyBsYXJnZWx5IHVuYXdhcmUg b2YgYW55Cj4+IHNwZWNpZmljcyBvZiB0aGUgdkdQVSBiZWluZyBhc3NpZ25lZCwgYW5kIHRoZSBv bmx5IG5lY2Vzc2FyeSBjaGFuZ2Ugc28KPj4gZmFyIGlzIGhvdyBRRU1VIHRyYXZlcnNlcyBzeXNm cyB0byBmaW5kIHRoZSBkZXZpY2UgYW5kIHRodXMgdGhlIElPTU1VCj4+IGdyb3VwIGxlYWRpbmcg dG8gdGhlIHZmaW8gZ3JvdXAuCj4KPiBHVlQtZyByZXF1aXJlcyB0byBwaW4gZ3Vlc3QgbWVtb3J5 IGFuZCBxdWVyeSBHUEEtPkhQQSBpbmZvcm1hdGlvbiwKPiB1cG9uIHdoaWNoIHNoYWRvdyBHVFRz IHdpbGwgYmUgdXBkYXRlZCBhY2NvcmRpbmdseSBmcm9tIChHTUEtPkdQQSkKPiB0byAoR01BLT5I UEEpLiBTbyB5ZXMsIGhlcmUgYSBkdW1teSBvciBzaW1wbGUgInR5cGUxIiBjb21wbGlhbnQgSU9N TVUKPiBjYW4gYmUgaW50cm9kdWNlZCBqdXN0IGZvciB0aGlzIHJlcXVpcmVtZW50Lgo+Cj4gSG93 ZXZlciB0aGVyZSdzIG9uZSB0cmlja3kgcG9pbnQgd2hpY2ggSSdtIG5vdCBzdXJlIHdoZXRoZXIg b3ZlcmFsbAo+IFZGSU8gY29uY2VwdCB3aWxsIGJlIHZpb2xhdGVkLiBHVlQtZyBkb2Vzbid0IHJl cXVpcmUgc3lzdGVtIElPTU1VCj4gdG8gZnVuY3Rpb24sIGhvd2V2ZXIgaG9zdCBzeXN0ZW0gbWF5 IGVuYWJsZSBzeXN0ZW0gSU9NTVUganVzdCBmb3IKPiBoYXJkZW5pbmcgcHVycG9zZS4gVGhpcyBt ZWFucyB0d28tbGV2ZWwgdHJhbnNsYXRpb25zIGV4aXN0aW5nIChHTUEtPgo+IElPVkEtPkhQQSks IHNvIHRoZSBkdW1teSBJT01NVSBkcml2ZXIgaGFzIHRvIHJlcXVlc3Qgc3lzdGVtIElPTU1VCj4g ZHJpdmVyIHRvIGFsbG9jYXRlIElPVkEgZm9yIFZNcyBhbmQgdGhlbiBzZXR1cCBJT1ZBLT5IUEEg bWFwcGluZwo+IGluIElPTU1VIHBhZ2UgdGFibGUuIEluIHRoaXMgY2FzZSwgbXVsdGlwbGUgVk0n cyB0cmFuc2xhdGlvbnMgYXJlCj4gbXVsdGlwbGV4ZWQgaW4gb25lIElPTU1VIHBhZ2UgdGFibGUu Cj4KPiBXZSBtaWdodCBuZWVkIGNyZWF0ZSBzb21lIGdyb3VwL3N1Yi1ncm91cCBvciBwYXJlbnQv Y2hpbGQgY29uY2VwdHMKPiBhbW9uZyB0aG9zZSBJT01NVXMgZm9yIHRob3JvdWdoIHBlcm1pc3Np b24gY29udHJvbC4KPgo+Pgo+PiBUaGVyZSBhcmUgYSBmZXcgYXJlYXMgd2hlcmUgd2Uga25vdyB3 ZSdsbCBuZWVkIHRvIGV4dGVuZCB0aGUgVkZJTyBBUEkgdG8KPj4gbWFrZSB0aGlzIHdvcmssIGJ1 dCBpdCBzZWVtcyBsaWtlIHRoZXkgY2FuIGFsbCBiZSBkb25lIGdlbmVyaWNhbGx5LiAgT25lCj4+ IGlzIHRoYXQgUENJIEJBUnMgYXJlIGRlc2NyaWJlZCB0aHJvdWdoIHRoZSBWRklPIEFQSSBhcyBy ZWdpb25zIGFuZCBlYWNoCj4+IHJlZ2lvbiBoYXMgYSBzaW5nbGUgZmxhZyBkZXNjcmliaW5nIHdo ZXRoZXIgbW1hcCAoaWUuIGRpcmVjdCBtYXBwaW5nKSBvZgo+PiB0aGF0IHJlZ2lvbiBpcyBwb3Nz aWJsZS4gIFdlIGV4cGVjdCB0aGF0IHZHUFVzIGxpa2VseSBuZWVkIGZpbmVyCj4+IGdyYW51bGFy aXR5LCBlbmFibGluZyBzb21lIGFyZWFzIHdpdGhpbiBhIEJBUiB0byBiZSB0cmFwcGVkIGFuZCBm b3dhcmRlZAo+PiBhcyBhIHJlYWQgb3Igd3JpdGUgYWNjZXNzIGZvciB0aGUgdkdQVS12ZmlvLWRl dmljZSBtb2R1bGUgdG8gZW11bGF0ZSwKPj4gd2hpbGUgb3RoZXIgcmVnaW9ucywgbGlrZSBmcmFt ZWJ1ZmZlcnMgb3IgdGV4dHVyZSByZWdpb25zLCBhcmUgZGlyZWN0bHkKPj4gbWFwcGVkLiAgSSBo YXZlIHByb3RvdHlwZSBjb2RlIHRvIGVuYWJsZSB0aGlzIGFscmVhZHkuCj4KPiBZZXMgaW4gR1ZU LWcgb25lIEJBUiByZXNvdXJjZSBtaWdodCBiZSBwYXJ0aXRpb25lZCBhbW9uZyBtdWx0aXBsZSB2 R1BVcy4KPiBJZiBWRklPIGNhbiBzdXBwb3J0IHN1Y2ggcGFydGlhbCByZXNvdXJjZSBhc3NpZ25t ZW50LCBpdCdkIGJlIGdyZWF0LiBTaW1pbGFyCj4gcGFyZW50L2NoaWxkIGNvbmNlcHQgbWlnaHQg YWxzbyBiZSByZXF1aXJlZCBoZXJlLCBzbyBhbnkgcmVzb3VyY2UgZW51bWVyYXRlZAo+IG9uIGEg dkdQVSBzaG91bGRuJ3QgYnJlYWsgbGltaXRhdGlvbnMgZW5mb3JjZWQgb24gdGhlIHBoeXNpY2Fs IGRldmljZS4KPgo+IE9uZSB1bmlxdWUgcmVxdWlyZW1lbnQgZm9yIEdWVC1nIGhlcmUsIHRob3Vn aCwgaXMgdGhhdCB2R1BVIGRldmljZSBtb2RlbAo+IG5lZWQgdG8ga25vdyBndWVzdCBCQVIgY29u ZmlndXJhdGlvbiBmb3IgcHJvcGVyIGVtdWxhdGlvbiAoZS5nLiByZWdpc3Rlcgo+IElPIGVtdWxh dGlvbiBoYW5kbGVyIHRvIEtWTSkuIFNpbWlsYXIgaXMgYWJvdXQgZ3Vlc3QgTVNJIHZlY3RvciBm b3IgdmlydHVhbAo+IGludGVycnVwdCBpbmplY3Rpb24uIE5vdCBzdXJlIGhvdyB0aGlzIGNhbiBi ZSBmaXQgaW50byBjb21tb24gVkZJTyBtb2RlbC4KPiBEb2VzIFZGSU8gYWxsb3cgdmVuZG9yIHNw ZWNpZmljIGV4dGVuc2lvbiB0b2RheT8KPgo+Pgo+PiBBbm90aGVyIGFyZWEgaXMgdGhhdCB3ZSBy ZWFsbHkgZG9uJ3Qgd2FudCB0byBwcm9saWZlcmF0ZSBlYWNoIHZHUFUKPj4gbmVlZGluZyBhIG5l dyBJT01NVSB0eXBlIHdpdGhpbiB2ZmlvLiAgVGhlIGV4aXN0aW5nIHR5cGUxIElPTU1VIHByb3Zp ZGVzCj4+IHBvdGVudGlhbGx5IHRoZSBtb3N0IHNpbXBsZSBtYXBwaW5nIGFuZCB1bm1hcHBpbmcg aW50ZXJmYWNlIHBvc3NpYmxlLgo+PiBXZSdkIHRoZXJlZm9yZSBuZWVkIHRvIGFsbG93IG11bHRp cGxlICJ0eXBlMSIgSU9NTVUgZHJpdmVycyBmb3IgdmZpbywKPj4gbWFraW5nIHR5cGUxIGJlIG1v cmUgb2YgYW4gaW50ZXJmYWNlIHNwZWNpZmljYXRpb24gcmF0aGVyIHRoYW4gYSBzaW5nbGUKPj4g aW1wbGVtZW50YXRpb24uICBUaGlzIGlzIGEgdHJpdmlhbCBjaGFuZ2UgdG8gbWFrZSB3aXRoaW4g dmZpbyBhbmQgb25lCj4+IHRoYXQgSSBiZWxpZXZlIGlzIGNvbXBhdGlibGUgd2l0aCB0aGUgZXhp c3RpbmcgQVBJLiAgTm90ZSB0aGF0Cj4+IGltcGxlbWVudGluZyBhIHR5cGUxLWNvbXBsaWFudCB2 ZmlvIElPTU1VIGRvZXMgbm90IGltcGx5IHBpbm5pbmcgYW4KPj4gbWFwcGluZyBldmVyeSByZWdp c3RlcmVkIHBhZ2UuICBBIHZHUFUsIHdpdGggbWVkaWF0ZWQgZGV2aWNlIGFjY2VzcywgbWF5Cj4+ IHVzZSB0aGlzIG9ubHkgdG8gdHJhY2sgdGhlIGN1cnJlbnQgSFZBIHRvIEdQQSBtYXBwaW5ncyBm b3IgYSBWTS4gIE9ubHkKPj4gd2hlbiBhIERNQSBpcyBlbmFibGVkIGZvciB0aGUgdkdQVSBpbnN0 YW5jZSBpcyB0aGF0IEhWQSBwaW5uZWQgYW5kIGFuCj4+IEhQQSB0byBHUEEgdHJhbnNsYXRpb24g cHJvZ3JhbW1lZCBpbnRvIHRoZSBHUFUgTU1VLgo+Pgo+PiBBbm90aGVyIGFyZWEgb2YgZXh0ZW5z aW9uIGlzIGhvdyB0byBleHBvc2UgYSBmcmFtZWJ1ZmZlciB0byBRRU1VIGZvcgo+PiBzZWFtbGVz cyBpbnRlZ3JhdGlvbiBpbnRvIGEgU1BJQ0UvVk5DIGNoYW5uZWwuICBGb3IgdGhpcyBJIGJlbGll dmUgd2UKPj4gY291bGQgdXNlIGEgbmV3IHJlZ2lvbiwgbXVjaCBsaWtlIHdlJ3ZlIGRvbmUgdG8g ZXhwb3NlIFZHQSBhY2Nlc3MKPj4gdGhyb3VnaCBhIHZmaW8gZGV2aWNlIGZpbGUgZGVzY3JpcHRv ci4gIEFuIGFyZWEgd2l0aGluIHRoaXMgbmV3Cj4+IGZyYW1lYnVmZmVyIHJlZ2lvbiBjb3VsZCBi ZSBkaXJlY3RseSBtYXBwYWJsZSBpbiBRRU1VIHdoaWxlIGEKPj4gbm9uLW1hcHBhYmxlIHBhZ2Us IGF0IGEgc3RhbmRhcmQgbG9jYXRpb24gd2l0aCBzdGFuZGFyZGl6ZWQgZm9ybWF0LAo+PiBwcm92 aWRlcyBhIGRlc2NyaXB0aW9uIG9mIGZyYW1lYnVmZmVyIGFuZCBwb3RlbnRpYWxseSBldmVuIGEK Pj4gY29tbXVuaWNhdGlvbiBjaGFubmVsIHRvIHN5bmNocm9uaXplIGZyYW1lYnVmZmVyIGNhcHR1 cmVzLiAgVGhpcyB3b3VsZAo+PiBiZSBuZXcgY29kZSBmb3IgUUVNVSwgYnV0IHNvbWV0aGluZyB3 ZSBjb3VsZCBzaGFyZSBhbW9uZyBhbGwgdkdQVQo+PiBpbXBsZW1lbnRhdGlvbnMuCj4KPiBOb3cg R1ZULWcgYWxyZWFkeSBwcm92aWRlcyBhbiBpbnRlcmZhY2UgdG8gZGVjb2RlIGZyYW1lYnVmZmVy IGluZm9ybWF0aW9uLAo+IHcvIGFuIGFzc3VtcHRpb24gdGhhdCB0aGUgZnJhbWVidWZmZXIgd2ls bCBiZSBmdXJ0aGVyIGNvbXBvc2l0ZWQgaW50bwo+IE9wZW5HTCBBUElzLiBTbyB0aGUgZm9ybWF0 IGlzIGRlZmluZWQgYWNjb3JkaW5nIHRvIE9wZW5HTCBkZWZpbml0aW9uLgo+IERvZXMgdGhhdCBt ZWV0IFNQSUNFIHJlcXVpcmVtZW50Pwo+Cj4gQW5vdGhlciB0aGluZyB0byBiZSBhZGRlZC4gRnJh bWVidWZmZXJzIGFyZSBmcmVxdWVudGx5IHN3aXRjaGVkIGluCj4gcmVhbGl0eS4gU28gZWl0aGVy IFFlbXUgbmVlZHMgdG8gcG9sbCBvciBhIG5vdGlmaWNhdGlvbiBtZWNoYW5pc20gaXMgcmVxdWly ZWQuCj4gQW5kIHNpbmNlIGl0J3MgZHluYW1pYywgaGF2aW5nIGZyYW1lYnVmZmVyIHBhZ2UgZGly ZWN0bHkgZXhwb3NlZCBpbiB0aGUKPiBuZXcgcmVnaW9uIG1pZ2h0IGJlIHRyaWNreS4gV2UgY2Fu IGp1c3QgZXhwb3NlIGZyYW1lYnVmZmVyIGluZm9ybWF0aW9uCj4gKGluY2x1ZGluZyBiYXNlLCBm b3JtYXQsIGV0Yy4pIGFuZCBsZXQgUWVtdSB0byBtYXAgc2VwYXJhdGVseSBvdXQgb2YgVkZJTwo+ IGludGVyZmFjZS4KPgo+IEFuZC4uLiB0aGlzIHdvcmtzIGZpbmUgd2l0aCB2R1BVIG1vZGVsIHNp bmNlIHNvZnR3YXJlIGtub3dzIGFsbCB0aGUKPiBkZXRhaWwgYWJvdXQgZnJhbWVidWZmZXIuIEhv d2V2ZXIgaW4gcGFzcy10aHJvdWdoIGNhc2UsIHdobyBkbyB5b3UgZXhwZWN0Cj4gdG8gcHJvdmlk ZSB0aGF0IGluZm9ybWF0aW9uPyBJcyBpdCBPSyB0byBpbnRyb2R1Y2UgdkdQVSBzcGVjaWZpYyBB UElzIGluCj4gVkZJTz8KPgo+Pgo+PiBBbm90aGVyIG9idmlvdXMgYXJlYSB0byBiZSBzdGFuZGFy ZGl6ZWQgd291bGQgYmUgaG93IHRvIGRpc2NvdmVyLAo+PiBjcmVhdGUsIGFuZCBkZXN0cm95IHZH UFUgaW5zdGFuY2VzLiAgU1ItSU9WIGhhcyBhIHN0YW5kYXJkIG1lY2hhbmlzbSB0bwo+PiBjcmVh dGUgVkZzIGluIHN5c2ZzIGFuZCBJIHdvdWxkIHByb3Bvc2UgdGhhdCB2R1BVIHZlbmRvcnMgdHJ5 IHRvCj4+IHN0YW5kYXJkaXplIG9uIHNpbWlsYXIgaW50ZXJmYWNlcyB0byBlbmFibGUgbGlidmly dCB0byBlYXNpbHkgZGlzY292ZXIKPj4gdGhlIHZHUFUgY2FwYWJpbGl0aWVzIG9mIGEgZ2l2ZW4g R1BVIGFuZCBtYW5hZ2UgdGhlIGxpZmVjeWNsZSBvZiBhIHZHUFUKPj4gaW5zdGFuY2UuCj4KPiBO b3cgdGhlcmUgaXMgbm8gc3RhbmRhcmQuIFdlIGV4cG9zZSB2R1BVIGxpZmUtY3ljbGUgbWdtdC4g QVBJcyB0aHJvdWdoCj4gc3lzZnMgKHVuZGVyIGk5MTUgbm9kZSksIHdoaWNoIGlzIHZlcnkgSW50 ZWwgc3BlY2lmaWMuIEluIHJlYWxpdHkgZGlmZmVyZW50Cj4gdmVuZG9ycyBoYXZlIHF1aXRlIGRp ZmZlcmVudCBjYXBhYmlsaXRpZXMgZm9yIHRoZWlyIG93biB2R1BVcywgc28gbm90IHN1cmUKPiBo b3cgc3RhbmRhcmQgd2UgY2FuIGRlZmluZSBzdWNoIGEgbWVjaGFuaXNtLiBCdXQgdGhpcyBjb2Rl IHNob3VsZCBiZQo+IG1pbm9yIHRvIGJlIG1haW50YWluZWQgaW4gbGlidmlydC4KPgo+Pgo+PiBU aGlzIGlzIG9idmlvdXNseSBhIGxvdCB0byBkaWdlc3QsIGJ1dCBJJ2QgY2VydGFpbmx5IGJlIGlu dGVyZXN0ZWQgaW4KPj4gaGVhcmluZyBmZWVkYmFjayBvbiB0aGlzIHByb3Bvc2FsIGFzIHdlbGwg YXMgdHJ5IHRvIGNsYXJpZnkgYW55dGhpbmcKPj4gSSd2ZSBsZWZ0IG91dCBvciBtaXNyZXByZXNl bnRlZCBhYm92ZS4gIEFub3RoZXIgYmVuZWZpdCB0byB0aGlzCj4+IG1lY2hhbmlzbSBpcyB0aGF0 IGRpcmVjdCBHUFUgYXNzaWdubWVudCBhbmQgdkdQVSBhc3NpZ25tZW50IHVzZSB0aGUgc2FtZQo+ PiBjb2RlIHdpdGhpbiBRRU1VIGFuZCBzYW1lIEFQSSB0byB0aGUga2VybmVsLCB3aGljaCBzaG91 bGQgbWFrZSBkZWJ1Z2dpbmcKPj4gYW5kIGNvZGUgc3VwcG9ydCBiZXR3ZWVuIHRoZSB0d28gZWFz aWVyLiAgSSdkIHJlYWxseSBsaWtlIHRvIHN0YXJ0IGEKPj4gZGlzY3Vzc2lvbiBhcm91bmQgdGhp cyBwcm9wb3NhbCwgYW5kIG9mIGNvdXJzZSB0aGUgZmlyc3Qgb3BlbiBzb3VyY2UKPj4gaW1wbGVt ZW50YXRpb24gb2YgdGhpcyBzb3J0IG9mIG1vZGVsIHdpbGwgcmVhbGx5IGhlbHAgdG8gZHJpdmUg dGhlCj4+IGRpcmVjdGlvbiBpdCB0YWtlcy4gIFRoYW5rcyEKPj4KPgo+IFRoYW5rcyBmb3Igc3Rh cnRpbmcgdGhpcyBkaXNjdXNzaW9uLiBJbnRlbCB3aWxsIGRlZmluaXRlbHkgd29yayB3aXRoCj4g Y29tbXVuaXR5IG9uIHRoaXMgd29yay4gQmFzZWQgb24gZWFybGllciBjb21tZW50cywgSSdtIG5v dCBzdXJlCj4gd2hldGhlciB3ZSBjYW4gZXhhY3RseSBzYW1lIGNvZGUgZm9yIGRpcmVjdCBHUFUg YXNzaWdubWVudCBhbmQKPiB2R1BVIGFzc2lnbm1lbnQsIHNpbmNlIGV2ZW4gd2UgZXh0ZW5kIFZG SU8gc29tZSBpbnRlcmZhY2VzIG1pZ2h0Cj4gYmUgdkdQVSBzcGVjaWZpYy4gRG9lcyB0aGlzIHdh eSBzdGlsbCBhY2hpZXZlIHlvdXIgZW5kIGdvYWw/Cj4KPiBUaGFua3MKPiBLZXZpbgo+Cl9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWls aW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMuZnJl ZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==