From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thomas F Herbert Subject: Re: Status of Open vSwitch with DPDK Date: Fri, 14 Aug 2015 17:24:41 -0400 Message-ID: <55CE5C99.5010809@gmail.com> References: <738D45BC1F695740A983F43CFE1B7EA9437C8255@IRSMSX108.ger.corp.intel.com> Reply-To: thomasfherbert-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Cc: dev To: "Gray, Mark D" , Daniele Di Proietto , "dev-yBygre7rU0TnMu66kgdUjQ@public.gmane.org" Return-path: In-Reply-To: <738D45BC1F695740A983F43CFE1B7EA9437C8255-kPTMFJFq+rEMvF1YICWikbfspsVTdybXVpNB7YpNyf8@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces-yBygre7rU0TnMu66kgdUjQ@public.gmane.org Sender: "dev" List-Id: dev.dpdk.org T24gOC8xNC8xNSAxMjowNCBQTSwgR3JheSwgTWFyayBEIHdyb3RlOgo+IEhpIERhbmllbGUsCj4K PiBUaGFua3MgZm9yIHN0YXJ0aW5nIHRoaXMgY29udmVyc2F0aW9uLiBJdCBpcyBhIGdvb2QgbGlz dCA6KSBJIGhhdmUgY3Jvc3NlZC1wb3N0ZWQgdGhpcwo+IHRvIGRwZGsub3JnIGFzIEkgZmVlbCB0 aGF0IHNvbWUgb2YgdGhlIHBvaW50cyBjb3VsZCBiZSBpbnRlcmVzdGluZyB0byB0aGF0IGNvbW11 bml0eQo+IGFzIHRoZXkgYXJlIHJlbGF0ZWQgdG8gaG93IERQREsgaXMgdXNlZC4KPgo+IEhvdyBk byAidXNlcnMiIG9mIE9WUyB3aXRoIERQREsgZmVlbCBhYm91dCB0aGlzIGxpc3Q/IERvZXMgYW55 b25lIGRpc2FncmVlIG9yCj4gZG9lcyBhbnlvbmUgaGF2ZSBhbnkgYWRkaXRpb25zPyBXaGF0IGFy ZSB5b3VyIGV4cGVyaWVuY2VzPwpEYW5pZWxlLAoKQWx0aG91Z2ggSSB0aGluayBNYXJrIHBvc3Rl ZCB0aGlzIGluZm9ybWF0aW9uIHRvIEBvcGVudnN3aXRjaCBiZWZvcmUsIEkgCndhbnQgdG8gbWVu dGlvbiBhZ2FpbiB0aGUgbmV3IHByb2plY3QgaW4gb3BuZnYsIG9wZW52c3dpdGNoIGZvciBuZnYg Cih0YWdnZWQgb3ZzbmZ2KSB3aG9zZSBwdXJwb3NlIGlzIHRvIGRlcGxveSBPcGVuIHZTd2l0Y2gg d2l0aCBzdyBkYXRhcGF0aCAKYWNjZWxlcmF0aW9uIGludG8gb3BuZnYuIFRoZSBnb2FsIGlzIHRv IHRlc3Qgb3ZzLWRwZGsgb3Igb3RoZXIgcG90ZW50aWFsIApjb250cmlidXRlZCBhY2NlbGVyYXRl ZCBkYXRhcGF0aHMgaW50byBtb3JlIGNvbXBsZXggdXNlciBmb2N1c2VkIApzY2VuYXJpb3Mgc3Vj aCBhcyBzZmMgYW5kIG9wbmZ2IHZzcGVyZi4KPgo+Pgo+PiBUaGVyZSBoYXMgYmVlbiBzb21lIGRp c2N1c3Npb24gbGF0ZWx5IGFib3V0IHRoZSBzdGF0dXMgb2YgdGhlIE9wZW4gdlN3aXRjaAo+PiBw b3J0IHRvIERQREsuICBXaGlsZSBwYXJ0IG9mIHRoZSBjb2RlIGhhcyBiZWVuIHRlc3RlZCBmb3Ig cXVpdGUgc29tZSB0aW1lLAo+PiBJIHRoaW5rIHdlIGNhbiBhZ3JlZSB0aGF0IHRoZXJlIGFyZSBh IGZldyByb3VnaCBzcG90cyB0aGF0IHByZXZlbnQgaXQgZnJvbQo+PiBiZWluZyBlYXNpbHkgZGVw bG95ZWQgYW5kIHVzZWQuCj4+Cj4+IEkgd2FzIGhvcGluZyB0byBnZXQgc29tZSBmZWVkYmFjayBm cm9tIHRoZSBjb21tdW5pdHkgYWJvdXQgdGhvc2Ugcm91Z2gKPj4gc3BvdHMsCj4+IGkuZS4gYXJl YXMgd2hlcmUgT1ZTK0RQREsgY2FuL25lZWRzIHRvIGltcHJvdmUgdG8gYmVjb21lIG1vcmUKPj4g InByb2R1Y3Rpb24KPj4gcmVhZHkiIGFuZCB1c2VyLWZyaWVuZGx5Lgo+Pgo+PiAtIFBNRCB0aHJl YWRzIGFuZCBxdWV1ZXMgbWFuYWdlbWVudDogdGhlIGNvZGUgaGFzIHNob3duIHNldmVyYWwgYnVn cwo+PiBhbmQKPj4gdGhlCj4+ICAgIG5ldGRldiBpbnRlcmZhY2VzIGRvbid0IHNlZW0gdXAgdG8g dGhlIGpvYiBhbnltb3JlLgo+Cj4gWW91IGhhZCBhIGZldyBpZGVhcyBhYm91dCBob3cgdG8gcmVm YWN0b3IgdGhpcyBiZWZvcmUgYnV0IEkgd2FzIGNvbmNlcm5lZAo+IGFib3V0IHRoZSBlZmZlY3Qg aXQgd291bGQgaGF2ZSBvbiB0aHJvdWdocHV0LiBJIGNhbid0IGZpbmQgdGhlIHRocmVhZC4KPgo+ IERvIHlvdSBoYXZlIHNvbWUgZnVydGhlciBpZGVhcyBhYm91dCBob3cgdG8gYWNoaWV2ZSB0aGlz Pwo+Cj4+Cj4+ICAgIFRoZXJlJ3MgYSBsb3Qgb2YgbWFyZ2luIG9mIGltcHJvdmVtZW50OiB3ZSBj b3VsZCBmYWN0b3Igb3V0IHRoZSBjb2RlIGZyb20KPj4gICAgZHBpZi1uZXRkZXYsIGFkZCBjb25m aWd1cmF0aW9uIHBhcmFtZXRlcnMgZm9yIGFkdmFuY2VkIHVzZXJzLCBhbmQgZmlndXJlCj4+IG91 dAo+PiAgICBhIHdheSB0byBhZGQgdW5pdCB0ZXN0cy4KPj4KPgo+IEkgdGhpbmsgdGhpcyBpcyBh IGdlbmVyYWwgaXNzdWUgd2l0aCBib3RoIHRoZSBrZXJuZWwgZGF0YXBhdGggKGFuZCBuZXRkZXZz KQo+IGFuZCB0aGUgdXNlcnNwYWNlIGRhdGFwYXRoLiBUaGVyZSBpc24ndCBtdWNoIHVuaXQgdGVz dGluZyAob3IgdGVzdGluZykgb3V0c2lkZQo+IG9mIHRoZSBzbG93IHBhdGguCldlbGwgeWVzIG9m IGNvdXJzZSBidXQgdGhlcmUgaXMgcXVpdGUgYSBiaXQgb2YgdHJhZGVjcmFmdCBhY2N1bXVsYXRl ZCAKb3ZlciBtYW55IHllYXJzIGFib3V0IGhvdyB0byBkZWJ1ZyBhbmQgdGVzdCBhIGtlcm5lbCBi YXNlZCBwcm90b2NvbCB0aGF0IApqdXN0IGRvZXNuJ3QgZXhpc3QgeWV0IGZvciBkcGRrLgo+Cj4+ ICAgIFJlbGF0ZWQgdG8gdGhpcywgdGhlIHN5c3RlbSBzaG91bGQgYmUgYXMgZmFzdCBhcyBwb3Nz aWJsZSBvdXQtb2YtdGhlLWJveCwKPj4gICAgd2l0aG91dCByZXF1aXJpbmcgdG9vIG11Y2ggdHVu aW5nLgpJIGtub3cgdGhlcmUgaGF2ZSBiZWVuIHNvbWUgb2ZmLWxpbmUgZGlzY3Vzc2lvbnMgYWJv dXQgdGhlIHBvc3NpYmlsaXR5IApvZiBjcmVhdGluZyBzb21lIGNhbm5lZCB0dW5pbmcgcHJvZmls ZXMgaW5jbHVkaW5nIGEgZGVmYXVsdCBwcm9maWxlIHRvIAppbXByb3ZlIHRoZSAib3V0IG9mIHRo ZSBib3giIGV4cGVyaWVuY2Ugb2YgZHBkayBzbyBuZXcgZGVwbG95ZXJzIG9mIApkcGRrL292cyBj b3VsZCBleHBlcmllbmNlIHNvbWUgb2YgdGhlIGJlbmVmaXRzIG9mIGRwZGsgd2l0aG91dCBuZWVk aW5nIAp0byBkZWVwIGRpdmUgaW50byB0aGUgbXlzdGVyaWVzIG9mIHR1bmluZyBkcGRrLgo+Cj4g VGhpcyBpcyBhIGdvb2QgcG9pbnQuIEkgdGhpbmsgdGhlIGtlcm5lbCBkYXRhcGF0aCBoYXMgYSBz aW1pbGFyIGlzc3VlLiBZb3UgY2FuCj4gZ2V0IGEgY2VydGFpbiBsZXZlbCBvZiBwZXJmb3JtYW5j ZSB3aXRob3V0IGNvbXBpbGluZyB3aXRoIC1PZmFzdCBvcgo+IHBpbm5pbmcgdGhyZWFkcyBidXQg eW91IHdpbGwgKGV2ZW4gd2l0aCB0aGUga2VybmVsIGRhdGFwYXRoKSBnZXQgYmV0dGVyCj4gcGVy Zm9ybWFuY2UgaWYgeW91IHBpbiB0aHJlYWRzIChhbmQgcG9zc2libHkgY29tcGlsZSBkaWZmZXJl bnRseSkuIEkgZ3Vlc3MKPiBpdCBpcyBtb3JlIHZpc2libGUgd2l0aCB0aGUgZHBkayBkYXRhcGF0 aCBhcyBwZXJmb3JtYW5jZSBpcyBvbmUgb2YgdGhlIGtleQo+IHZhbHVlcy4gSXQgaXMgYWxzbyBt b3JlIGRldHJpbWVudGFsIHRvIHRoZSBwZXJmb3JtYW5jZSBpZiB5b3UgZG9uJ3Qgc2V0IGl0Cj4g dXAgY29ycmVjdGx5Lgo+Cj4gUGVyaGFwcyB3ZSBjb3VsZCBwcm92aWRlIHNjcmlwdHMgdG8gaGVs cCBkbyB0aGlzPwo+Cj4gSSB0aGluayB0aGlzIGlzIGFsc28gaW50ZXJlc3RpbmcgdG8gdGhlIERQ REsgY29tbXVuaXR5LiBUaGVyZSBpcwo+IGtub3dsZWRnZSByZXF1aXJlZCB3aGVuIHJ1bm5pbmcg RFBESyBlbmFibGVkIGFwcHMgdG8KPiBnZXQgZ29vZCBwZXJmb3JtYW5jZTogY29yZSBwaW5uaW5n IGlzIG9uZSB0aGluZyB0aGF0IGNvbWVzIHRvIG1pbmQuCj4KPj4KPj4gLSBVc2Vyc3BhY2UgdHVu bmVsaW5nOiB3aGlsZSB0aGUgY29kZSBoYXMgYmVlbiB0aGVyZSBmb3IgcXVpdGUgc29tZSB0aW1l IGl0Cj4+ICAgIGhhc24ndCByZWNlaXZlZCB0aGUgbGV2ZWwgb2YgdGVzdGluZyB0aGF0IHRoZSBM aW51eCBrZXJuZWwgZGF0YXBhdGgKPj4gdHVubmVsaW5nCj4+ICAgIGhhcy4KPj4KPgo+IEFnYWlu LCB0aGVyZSBpcyBhIGxhY2sgb2YgdGVzdCBpbmZyYXN0cnVjdHVyZSBpbiBnZW5lcmFsIGZvciBP VlMuIHZzcGVyZiBpcyBhIGdvb2QKPiBzdGFydCwgYW5kIGl0IHdvdWxkIGJlIGdyZWF0IHRvIHNl ZSBtb3JlIHBlb3BsZSB1c2UgYW5kIGNvbnRyaWJ1dGUgdG8gaXQhCj4KPj4gLSBEb2N1bWVudGF0 aW9uOiBvdGhlciB0aGFuIGEgc3RlcCBieSBzdGVwIHR1dG9yaWFsLCAgaXQgY2Fubm90IGJlIHNh aWQKPj4gdGhhdAo+PiAgICBEUERLIGlzIGEgZmlyc3QgY2xhc3MgY2l0aXplbiBpbiB0aGUgT1ZT IGRvY3VtZW50YXRpb24uICBNYW5wYWdlcyBjb3VsZAo+PiBiZQo+PiAgICBpbXByb3ZlZC4KPgo+ IEVhc2lseSBkb25lLiBUaGUgSU5TVEFMTCBndWlkZSBpcyBwcmV0dHkgZ29vZCBidXQgdGhlIHN0 cnVjdHVyZSBjb3VsZCBiZSBiZXR0ZXIuCj4gVGhlcmUgaXMgYWxzbyBhIGxhY2sgb2YgbWFucGFn ZXMuIEdvb2QgcG9pbnQuCj4KPj4KPj4gLSBWaG9zdDogdGhlIGNvZGUgaGFzIG5vdCByZWNlaXZl ZCB0aGUgbGV2ZWwgb2YgdGVzdGluZyBvZiB0aGUga2VybmVsCj4+IHZob3N0Lgo+PiAgICBBbm90 aGVyIGRvdWJ0IHNoYXJlZCBieSBzb21lIGRldmVsb3BlcnMgaXMgd2hldGhlciB3ZSBzaG91bGQg a2VlcAo+PiAgICB2aG9zdC1jdXNlLCBnaXZlbiBpdHMgcmVsYXRpdmVseSBsb3cgZWFzZSBvZiB1 c2UgYW5kIHRoZSBvdmVybGFwcGluZyB3aXRoCj4+ICAgIHRoZSBmYXIgbW9yZSBzdGFuZGFyZCB2 aG9zdC11c2VyLgo+Cj4gdmhvc3QtY3VzZSBpcyByZXF1aXJlZCBmb3Igb2xkZXIgdmVyc2lvbnMg b2YgcWVtdS4gSSdtIGF3YXJlIG9mIHNvbWUgY29tcGFuaWVzCj4gdXNpbmcgaXQgYXMgdGhleSBh cmUgcmVzdHJpY3RlZCB0byBhbiBvbGRlciB2ZXJzaW9uIG9mIHFlbXUuIEkgdGhpbmsgaXQgaXMg ZGVwcmVjYXRlZAo+IGF0IHRoZSBtb21lbnQ/IElzIHRoZXJlIGEgbm90aWNlIHRvIHRoYXQgZWZm ZWN0PyBXZSBqdXN0IG5lZWQgYSBwbGFuIGZvciB3aGVuIHRvCj4gcmVtb3ZlIGl0IGFuZCBtYWtl IHN1cmUgdGhhdCBwbGFuIGlzIGNsZWFyPworMQo+Cj4+Cj4+IC0gSW50ZXJmYWNlIG1hbmFnZW1l bnQgYW5kIG5hbWluZzogaW50ZXJmYWNlcyBtdXN0IGJlIG1hbnVhbGx5IHJlbW92ZWQKPj4gZnJv bQo+PiAgICB0aGUga2VybmVsIGRyaXZlcnMuCj4+Cj4+ICAgIFdlIHN0aWxsIGRvbid0IGhhdmUg YW4gZWFzeSB3YXkgdG8gaWRlbnRpZnkgdGhlbS4gSWRlYXMgYXJlIHdlbGNvbWU6IGhvdwo+PiBj YW4KPj4gICAgd2UgbWFrZSB0aGlzIHVzZXIgZnJpZW5kbHk/ICBJcyB0aGVyZSBhIGJldHRlciBz b2x1dGlvbiBvbiB0aGUgRFBESyBzaWRlPwo+Cj4gVGhpcyBpcyBhIHRvdWdoIG9uZSBhbmQgaXMg aW50ZXJlc3RpbmcgdG8gdGhlIERQREsgY29tbXVuaXR5LiAgVGhlIGJhc2ljIGlzc3VlCj4gaGVy ZSBpcyB0aGF0IHVzZXJzIGFyZSBtb3JlIGZhbWlsaWFyIHdpdGggbGludXggaW50ZXJmYWNlcyBh bmQgbGludXggbmFtaW5nCj4gY29udmVudGlvbnMuCj4KPiAib3ZzLXZzY3RsIGFkZC1wb3J0IGJy byBldGgwIiBtYWtlcyBhIGxvdCBtb3JlIHNlbnNlIHRoYW4KPgo+ICJkcGRrX25pY19iaW5kIC1i IGlnYl91aW8gPHBjaV9pZD4iLCB0aGVuIGNoZWNrIHRoZSBvcmRlciB0aGF0IHRoZSBwb3J0cwo+ IGFyZSBlbnVtZXJhdGVkIGFuZCB0aGVuIHJ1biAib3ZzLXZzY3RsIGFkZC1wb3J0IGJyMCBkcGRr TiIuCj4KPiBJIGNhbiB0aGluayBvZiB3YXlzIHRvIGRvIHRoaXMgd2l0aCBwaHlzaWNhbCBOSUNz LiBGb3IgZXhhbXBsZSwKPiB5b3UgY291bGQgcmVmZXJlbmNlIHRoZSBwb3J0IGJ5IHRoZSBsaW51 eCBuYW1lIGFuZCB3aGVuIHlvdSB0cnkgdG8gYWRkIGl0LCBPVlMKPiBjb3VsZCB1bmJpbmQgZnJv bSB0aGUga2VybmVsIG1vZHVsZSBhbmQgYmluZCBpdCB0byBpZ2JfdWlvPwo+Cj4gSG93ZXZlciwg SSBhbSBub3Qgc3VyZSBob3cgeW91IHdvdWxkIGRvIGl0IHdpdGggdmlydHVhbCBuaWNzIGFzIHRo ZXJlIGlzIG5vdAo+IGV2ZW4gYSByZWFsIGRldmljZS4KPgo+IEkgdGhpbmsgYSBnZW5lcmFsIHNv bHV0aW9uIGZyb20gdGhlIGRwZGsgY29tbXVuaXR5IHdvdWxkIGJlIHJlYWxseSBoZWxwZnVsIGhl cmUuCj4+Cj4+ICAgIEhvdyBhcmUgRFBESyBpbnRlcmZhY2VzIGhhbmRsZWQgYnkgbGludXggZGlz dHJpYnV0aW9ucz8gSSd2ZSBoZWFyZCBhYm91dAo+PiAgICBvbmdvaW5nIHdvcmsgZm9yIFJIRUwg YW5kIFVidW50dSwgaXQgd291bGQgYmUgaW50ZXJlc3RpbmcgdG8gY29vcmRpbmF0ZS4KPj4KPj4K Pj4gLSBJbnNpZ2h0IGludG8gdGhlIHN5c3RlbSBhbmQgZGVidWdnYWJpbGl0eTogbm90aGluZyBi ZWF0cyB0Y3BkdW1wIGZvciB0aGUKPj4gICAga2VybmVsIGRhdGFwYXRoLiAgQ2FuIHNvbWV0aGlu ZyBzaW1pbGFyIGJlIGRvbmUgZm9yIHRoZSB1c2Vyc3BhY2UKPj4gZGF0YXBhdGg/Cj4KPiBZZWFo LCB0aGlzIHdvdWxkIGJlIHVzZWZ1bC4gSSBoYXZlIG15IG93biB3YXkgb2YgZGVhbGluZyB3aXRo IHRoaXMuIEZvciBleGFtcGxlLAo+IHlvdSBjb3VsZCBkdW1wIGZyb20gdGhlIExPQ0FMIHBvcnQg b24gYSBOT1JNQUwgYnJpZGdlIG9yIGFkZCBhIHJ1bGUgdG8KPiBtaXJyb3IgYSBmbG93IHRvIGFu b3RoZXIgcG9ydCBidXQgSSBmZWVsIHRoZXJlIGNvdWxkIGJlIGEgYmV0dGVyIHdheSB0byBkbyB0 aGlzIGluCj4gRFBESy4KKzEKICBJIGhhdmUgcmVjZW50bHkgaGVhcmQgdGhhdCB0aGUgRFBESyB0 ZWFtIGRvIHNvbWV0aGluZyB3aXRoIGEgcGNhcCBwbWQKPiB0byBoZWxwIHdpdGggZGVidWdnaW5n LiBBIG1vcmUgZ2VuZXJhbCBhcHByb2FjaCBmcm9tIGRwZGsgd291bGQgaGVscCBhIGxvdC4KSSBh Z3JlZSB0aGF0IGEgbGlicGNhcCBJRiB3b3VsZCBiZSByZWFsbHkgdXNlZnVsIC0gbWF5YmUgd2hl cmUgYSBjb3JlIAp3aXRoIGEgaHVnZXBhZ2UgY291bGQgYmUgYWxsb2NhdGVkIGZvciBidWZmZXJp bmcuCj4+Cj4+IC0gQ29uc2lzdGVuY3kgb2YgdGhlIHRvb2xzOiBzb21lIGNvbW1hbmRzIGFyZSBz bGlnaHRseSBkaWZmZXJlbnQgZm9yIHRoZQo+PiAgICB1c2Vyc3BhY2Uva2VybmVsIGRhdGFwYXRo LiAgSWRlYWxseSB0aGVyZSBzaG91bGRuJ3QgYmUgYW55IGRpZmZlcmVuY2UuCj4KPiBZZWFoLCB0 aGVyZSBhcmUgc29tZSB0aGluZ3MgdGhhdCBjb3VsZCBiZSBjaGFuZ2VkLiBEUERLIGp1c3Qgd29y a3MgZGlmZmVyZW50bHkgYnV0Cj4gdGhlIGJlbmVmaXRzIGFyZSBzaWduaWZpY2FudCA6KQo+Cj4g V2UgbmVlZCB0byBtb3VudCBodWdlcGFnZXMsIGJpbmQgbmljcyB0byBpZ2JfdWlvLCBldGMKPgo+ IFdpdGggYSBsb3Qgb2YgdGhpcyBzdHVmZiwgbWF5YmUgdGhlIERQREsgY29tbXVuaXR5J3MgdG9v bHMgZG9uJ3QgbmVlZCB0byBlbXVsYXRlCj4gdGhlIGxpbnV4IG5ldHdvcmtpbmcgdG9vbHMgZXhh Y3RseS4gTWF5YmUgb3ZlciB0aW1lIGFzIHRoZSBEUERLIGNvbW11bml0eQo+IGFuZCB1c2VyLWJh c2UgZXhwYW5kcywgcGVvcGxlIHdpbGwgYmVjb21lIG1vcmUgZmFtaWxpYXIgd2l0aCB0aGUgdG9v bHMsIHByb2Nlc3NlcywgZXRjCj4gYW5kIHRoaXMgd2lsbCBiZSBsZXNzIG9mIGFuIGlzc3VlPwo+ Cj4KPj4KPj4gLSBQYWNrYWdpbmc6IGhvdyBzaG91bGQgdGhlIGRpc3RyaWJ1dGlvbnMgcGFja2Fn ZSBEUERLIGFuZCBPVlM/IFNob3VsZAo+PiB0aGVyZQo+PiAgICBvbmx5IGJlIGEgc2luZ2xlIGJ1 aWxkIHRvIGhhbmRsZSBib3RoIHRoZSBrZXJuZWwgYW5kIHRoZSB1c2Vyc3BhY2UKPj4gZGF0YXBh dGgsCj4+ICAgIGV2ZW50dWFsbHkgZHluYW1pY2FsbHkgbGlua2VkIHRvIERQREs/Cj4KPiBZZWFo LiBEbyB3ZSBuZWVkIHRvIHN0YXJ0IHdpdGggZHBkayBpZiB3ZSBoYXZlIGNvbXBpbGVkIHdpdGgg RFBESyBzdXBwb3J0Pz8/Cj4+Cj4+IC0gQmVuY2htYXJrczogd2Ugb2Z0ZW4gcmVseSBvbiBleHRy ZW1lbHkgc2ltcGxlIGZsb3cgdGFibGVzIHdpdGggc2luZ2xlCj4+IGZsb3cKPj4gICAgdHJhZmZp YyB0byBldmFsdWF0ZSB0aGUgZWZmZWN0IG9mIGEgY2hhbmdlLiAgVGhhdCBtYXkgYmUgb2sgZHVy aW5nCj4+ICAgIGRldmVsb3BtZW50LCBidXQgT1ZTIHdpdGggdGhlIGtlcm5lbCBkYXRhcGF0aCBo YXMgYmVlbiB0ZXN0ZWQgaW4KPj4gZGlmZmVyZW50Cj4+ICAgIHNjZW5hcmlvcyB3aXRoIG1vcmUg Y29tcGxpY2F0ZWQgZmxvdyB0YWJsZXMgYW5kIGV2ZW4gd2l0aCBob3N0aWxlIHRyYWZmaWMKPj4g ICAgcGF0dGVybnMuCj4+Cj4+ICAgIEVmZm9ydHMgaW4gdGhpcyBzZW5zZSBhcmUgYmVpbmcgbWFk ZSwgbGlrZSB0aGUgdnNwZXJmIHByb2plY3QsIG9yIGV2ZW4KPj4gdGhlCj4+ICAgIHNpbXBsZSBv dnMtcGlwZWxpbmUucHkKPgo+IHZzcGVyZiB3aWxsIHJlYWxseSBoZWxwIHRoaXMuCj4KPj4KPj4g SSB3b3VsZCBhcHByZWNpYXRlIGZlZWRiYWNrIG9uIHRoZSBhYm92ZSBwb2ludHMsIG5vdCAob25s eSkgaW4gdGVybXMgb2YKPj4gc29sdXRpb25zLCBidXQgaW4gdGVybXMgb2YgcmVxdWlyZW1lbnRz IHRoYXQgeW91IGZlZWwgYXJlIGltcG9ydGFudCBmb3Igb3VyCj4+IHN5c3RlbSB0byBiZSBjb25z aWRlcmVkIHJlYWR5LgpUaGFua3MgZm9yIG1ha2luZyB0aGVzZSBnb29kIHBvaW50cyBhbmQgc3Rh cnRpbmcgdGhpcyB0aHJlYWQuCgotLVRGSAo+Pgo+PiBDaGVlcnMsCj4+Cj4+IERhbmllbGUKPj4K Pgo+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCj4gZGV2 IG1haWxpbmcgbGlzdAo+IGRldkBvcGVudnN3aXRjaC5vcmcKPiBodHRwOi8vb3BlbnZzd2l0Y2gu b3JnL21haWxtYW4vbGlzdGluZm8vZGV2Cj4KCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fCmRldiBtYWlsaW5nIGxpc3QKZGV2QG9wZW52c3dpdGNoLm9yZwpo dHRwOi8vb3BlbnZzd2l0Y2gub3JnL21haWxtYW4vbGlzdGluZm8vZGV2Cg==