From mboxrd@z Thu Jan 1 00:00:00 1970 From: Anchal Agarwal Subject: Re: [PATCH] xen/netfront: Remove unneeded .resume callback Date: Mon, 25 Mar 2019 17:30:11 +0000 Message-ID: <20190325173011.GA20277@kaos-source-ops-60001.pdx1.amazon.com> References: <20190314131749.25706-1-andr2000@gmail.com> <6205819a-af39-8cd8-db87-f3fe047ff064@gmail.com> <09afcdca-258f-e5ca-5c31-b7fd079eb213@oracle.com> <3e868e7a-4872-e8ab-fd2c-90917ad6d593@arm.com> <435369ba-ad3b-1d3a-c2f4-babe8bb6189c@amazon.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from all-amaz-eas1.inumbo.com ([34.197.232.57] helo=us1-amaz-eas2.inumbo.com) by lists.xenproject.org with esmtp (Exim 4.89) (envelope-from ) id 1h8TQR-0001tb-KU for xen-devel@lists.xenproject.org; Mon, 25 Mar 2019 17:30:19 +0000 Content-Disposition: inline In-Reply-To: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: Oleksandr Andrushchenko Cc: "jgross@suse.com" , "sstabellini@kernel.org" , "eduval@amazon.com" , Oleksandr Andrushchenko , "netdev@vger.kernel.org" , Munehisa Kamata , "linux-kernel@vger.kernel.org" , Julien Grall , "xen-devel@lists.xenproject.org" , Boris Ostrovsky , Volodymyr Babchuk , "davem@davemloft.net" List-Id: xen-devel@lists.xenproject.org T24gRnJpLCBNYXIgMjIsIDIwMTkgYXQgMTA6NDQ6MzNBTSArMDAwMCwgT2xla3NhbmRyIEFuZHJ1 c2hjaGVua28gd3JvdGU6Cj4gCj4gT24gMy8yMC8xOSA1OjUwIEFNLCBNdW5laGlzYSBLYW1hdGEg d3JvdGU6Cj4gPiBPbiAzLzE4LzIwMTkgMzowMiBBTSwgT2xla3NhbmRyIEFuZHJ1c2hjaGVua28g d3JvdGU6Cj4gPj4gK0FtYXpvbgo+ID4+IHBscyBzZWUgaW5saW5lCj4gPiBIaSBPbGVrc2FuZHIs Cj4gPgo+ID4gTGV0IG1lIGFkZCBzb21lIGNvbW1lbnRzIGFzIHRoZSBvcmlnaW5hbCBhdXRob3Ig b2YgdGhlIHNlcmllcy4KPiBUaGFuayB5b3UgZm9yIHlvdXIgd29yayEKSGkgT2xla3NhbmRyLAo+ ID4KPiA+PiBPbiAzLzE0LzE5IDk6MDAgUE0sIEp1bGllbiBHcmFsbCB3cm90ZToKPiA+Pj4gSGks Cj4gPj4+Cj4gPj4+IE9uIDMvMTQvMTkgMzo0MCBQTSwgQm9yaXMgT3N0cm92c2t5IHdyb3RlOgo+ ID4+Pj4gT24gMy8xNC8xOSAxMToxMCBBTSwgT2xla3NhbmRyIEFuZHJ1c2hjaGVua28gd3JvdGU6 Cj4gPj4+Pj4gT24gMy8xNC8xOSA1OjAyIFBNLCBCb3JpcyBPc3Ryb3Zza3kgd3JvdGU6Cj4gPj4+ Pj4+IE9uIDMvMTQvMTkgMTA6NTIgQU0sIE9sZWtzYW5kciBBbmRydXNoY2hlbmtvIHdyb3RlOgo+ ID4+Pj4+Pj4gT24gMy8xNC8xOSA0OjQ3IFBNLCBCb3JpcyBPc3Ryb3Zza3kgd3JvdGU6Cj4gPj4+ Pj4+Pj4gT24gMy8xNC8xOSA5OjE3IEFNLCBPbGVrc2FuZHIgQW5kcnVzaGNoZW5rbyB3cm90ZToK PiA+Pj4+Pj4+Pj4gRnJvbTogT2xla3NhbmRyIEFuZHJ1c2hjaGVua28gPG9sZWtzYW5kcl9hbmRy dXNoY2hlbmtvQGVwYW0uY29tPgo+ID4+Pj4+Pj4+Pgo+ID4+Pj4+Pj4+PiBDdXJyZW50bHkgb24g ZHJpdmVyIHJlc3VtZSB3ZSByZW1vdmUgYWxsIHRoZSBuZXR3b3JrIHF1ZXVlcyBhbmQKPiA+Pj4+ Pj4+Pj4gZGVzdHJveSBzaGFyZWQgVHgvUnggcmluZ3MgbGVhdmluZyB0aGUgZHJpdmVyIGluIGl0 cyBjdXJyZW50IHN0YXRlCj4gPj4+Pj4+Pj4+IGFuZCBuZXZlciBzaWduYWxpbmcgdGhlIGJhY2tl bmQgb2YgdGhpcyBmcm9udGVuZCdzIHN0YXRlIGNoYW5nZS4KPiA+Pj4+Pj4+Pj4gVGhpcyBsZWFk cyB0byB0aGUgbnVtYmVyIG9mIGNvbnNlcXVlbmNlczoKPiA+Pj4+Pj4+Pj4gLSB3aGVuIGZyb250 ZW5kIHdpdGhkcmF3cyBncmFudGVkIHJlZmVyZW5jZXMgdG8gdGhlIHJpbmdzIGV0Yy4gaXQKPiA+ Pj4+Pj4+Pj4gY2Fubm90Cj4gPj4+Pj4+Pj4+ICA/Pz8/Pz8/PyBiZSBjbGVhbmx5IGRvbmUgYXMg dGhlIGJhY2tlbmQgc3RpbGwgaG9sZHMgdGhvc2UgKGl0IHdhcyBub3QKPiA+Pj4+Pj4+Pj4gdG9s ZCB0bwo+ID4+Pj4+Pj4+PiAgPz8/Pz8/Pz8gZnJlZSB0aGUgcmVzb3VyY2VzKQo+ID4+Pj4+Pj4+ PiAtIGl0IGlzIG5vdCBwb3NzaWJsZSB0byByZXN1bWUgZHJpdmVyIG9wZXJhdGlvbiBhcyBhbGwg dGhlCj4gPj4+Pj4+Pj4+IGNvbW11bmljYXRpb24KPiA+Pj4+Pj4+Pj4gID8/Pz8/Pz8/IG1lYW5z IHdpdGggdGhlIGJhY2tuZWQgd2VyZSBkZXN0cm95ZWQgYnkgdGhlIGZyb250ZW5kLCB0aHVzCj4g Pj4+Pj4+Pj4+ICA/Pz8/Pz8/PyBtYWtpbmcgdGhlIGZyb250ZW5kIGFwcGVhciB0byB0aGUgZ3Vl c3QgT1MgYXMgZnVuY3Rpb25hbCwgYnV0Cj4gPj4+Pj4+Pj4+ICA/Pz8/Pz8/PyBub3QgcmVhbGx5 Lgo+ID4+Pj4+Pj4+IFdoYXQgZG8geW91IG1lYW4/IEFyZSB5b3Ugc2F5aW5nIHRoYXQgYWZ0ZXIg cmVzdW1lIHlvdSBsb3NlCj4gPj4+Pj4+Pj4gY29ubmVjdGl2aXR5Pwo+ID4+Pj4+Pj4gRXhhY3Rs eSwgaWYgeW91IHRha2UgYSBsb29rIGF0IHRoZSAucmVzdW1lIGNhbGxiYWNrIGFzIGl0IGlzIG5v dwo+ID4+Pj4+Pj4gd2hhdCBpdCBkb2VzIGl0IGRlc3Ryb3lzIHRoZSByaW5ncyBldGMuIGFuZCBu ZXZlciBub3RpZmllcyB0aGUgYmFja2VuZAo+ID4+Pj4+Pj4gb2YgdGhhdCwgZS5nLiBpdCBzdGF5 cyBpbiwgc2F5LCBjb25uZWN0ZWQgc3RhdGUgd2l0aCBjb21tdW5pY2F0aW9uCj4gPj4+Pj4+PiBj aGFubmVscyBkZXN0cm95ZWQuIEl0IG5ldmVyIGdvZXMgaW50byBhbnkgb3RoZXIgWGVuIGJ1cyBz dGF0ZSwgc28KPiA+Pj4+Pj4+IHRoZXJlIGlzCj4gPj4+Pj4+PiBubyB3YXkgaXRzIHN0YXRlIG1h Y2hpbmUgY2FuIGhlbHAgcmVjb3ZlcmluZy4KPiA+Pj4+Pj4gTXkgdHJlZSBpcyBhYm91dCBhIG1v bnRoIG9sZCBzbyBwZXJoYXBzIHRoZXJlIGlzIHNvbWUgc29ydCBvZiByZWdyZXNzaW9uCj4gPj4+ Pj4+IGJ1dCB0aGlzIGNlcnRhaW5seSB3b3JrcyBmb3IgbWUuIEFmdGVyIHJlc3VtZSBuZXRmcm9u dCBnZXRzCj4gPj4+Pj4+IFhlbmJ1c1N0YXRlSW5pdFdhaXQgZnJvbSBiYWNrZW5kIHdoaWNoIGNh dXNlcyB4ZW5uZXRfY29ubmVjdCgpLgo+ID4+Pj4+IEFoLCB0aGUgZGlmZmVyZW5jZSBjYW4gYmUg b2YgdGhlIHdheSB3ZSBnZXQgdGhlIGd1ZXN0IGVudGVyCj4gPj4+Pj4gdGhlIHN1c3BlbmQgc3Rh dGUuIEkgYW0gbWFraW5nIG15IGd1ZXN0IHRvIHN1c3BlbmQgd2l0aDoKPiA+Pj4+PiBlY2hvIG1l bSA+IC9zeXMvcG93ZXIvc3RhdGUKPiA+Pj4+PiBBbmQgdGhlbiBJIHVzZSBhbiBpbnRlcnJ1cHQg dG8gdGhlIGd1ZXN0ICh0aGlzIGlzIGEgdGVzdCBjb2RlKQo+ID4+Pj4+IHRvIHdha2UgaXQgdXAu Cj4gPj4+Pj4gQ291bGQgeW91IHBsZWFzZSBzaGFyZSB5b3VyIGV4YWN0IHVzZS1jYXNlIHdoZW4g dGhlIGd1ZXN0IGVudGVycyBzdXNwZW5kCj4gPj4+Pj4gYW5kIHdoYXQgeW91IGRvIHRvIHJlc3Vt ZSBpdD8KPiA+Pj4+Cj4gPj4+PiB4bCBzYXZlIC8geGwgcmVzdG9yZQo+ID4+Pj4KPiA+Pj4+PiBJ IGNhbiBzZWUgbm8gd2F5IGJhY2tlbmQgbWF5IHdhbnQgZW50ZXIgWGVuYnVzU3RhdGVJbml0V2Fp dCBpbiBteQo+ID4+Pj4+IHVzZS1jYXNlCj4gPj4+Pj4gYXMgaXQgc2ltcGx5IGRvZXNuJ3Qga25v dyB3ZSB3YW50IGhpbSB0by4KPiA+Pj4+Cj4gPj4+PiBZb3VycyBsb29rcyBsaWtlIEFDUEkgcGF0 aCwgSSBkb24ndCBrbm93IGhvdyB3ZWxsIGl0IHdhcyB0ZXN0ZWQgVEJILgo+ID4+PiBJIHJlbWVt YmVyIGEgc2VyaWVzIGZyb20gYW1hem9uIFsxXSB0aGF0IHBsYXlzIGFyb3VuZCBzdXNwZW5kIGFu ZCBoaWJlcm5hdGlvbi4gVGhlIHBhdGNoIFsyXSBsZWFkcyBtZSB0byB0aGluayB0aGF0IGd1ZXN0 IHRyaWdnZXJlZCBzdXNwZW5kL3Jlc3VtZSBkb2VzIG5vdCB3b3JrIHByb3Blcmx5LiBJdCBsb29r cyBsaWtlIHRoZSBzZXJpZXMgaGFzIG5ldmVyIGJlZW4gZnVsbHkgcmV2aWV3ZWQuIE5vdCBzdXJl IHdoeS4uLgo+ID4+IEp1bGllbiwgdGhhbmtzIGEgbG90IGZvciBicmluZ2luZyB0aGVzZSBwYXRj aGVzIHRvIG91ciBhdHRlbnRpb24gd2hpY2ggd2Ugb2J2aW91c2x5IG1pc3NlZC4KPiA+Pj4gQW55 d2F5LCBmcm9tIG15IHVuZGVyc3RhbmRpbmcgdGhpcyBzZXJpZXMgbWF5IHNvbHZlIE9sZWtzYW5k ciBpc3N1ZS4gSG93ZXZlciwgdGhpcyB3b3VsZCBvbmx5IGFkZHJlc3MgdGhlIGNvbW1vbiBjb2Rl IHNpZGUuIEFGQUlLIE9sZWtzYW5kciBpcyB0YXJnZXRpbmcgQXJtIHBsYXRmb3JtLiBJZiBzbywg SSB0aGluayB0aGlzIHdvdWxkIHJlcXVpcmUgbW9yZSB3b3JrIHRoYW4gdGhpcyBzZXJpZXMuIEFy bSBjb2RlIHN0aWxsIG1pc3MgZmV3IGJpdHMgcHJvcGVybHkgc3VzcGVuZC9yZXN1bWUgYXJjaCBz cGVjaWZpYyBjb2RlIChzZWUgWzJdKS4KPiA+Pj4KPiA+Pj4gSSBoYXZlIGEgYnJhbmNoIG9uIG15 IGdpdCB0byB0cmFjayB0aGUgc2VyaWVzLiBIb3dldmVyLCB0aGV5IG5ldmVyIGhhdmUgYmVlbiBy ZXNlbnQgYWZ0ZXIgSWFuIENhbXBiZWxsIGxlZnQgQ2l0cml4LiBJIHdvdWxkIGJlIGhhcHB5IHRv IHJldmlldyB0aGVtIGlmIHNvbWVvbmUgd2FudHMgdG8gcGljayB0aGVtIHVwIGFuZCByZXBvc3Qg dGhlbS4KPiA+Pj4KPiA+PiBGaXJzdCBvZiBhbGwsIGxldCBtZSBtYWtlIGl0IGNsZWFyIHRoYXQg d2UgYXJlIGludGVyZXN0ZWQgaW4gaGliZXJuYXRpb24gbG9uZyB0ZXJtLCBzbyBpdCB3b3VsZCBi ZQo+ID4+IGRlc2lyYWJsZSB0byByZS11c2UgYXMgbXVjaCB3b3JrIGZvcm0gcmVzdW1lL3N1c3Bl bmQgYXMgd2UgY2FuLiBCdXQsIHdlIHNlZSBpdCBhcyBhIHN0ZXAgYnkKPiA+PiBzdGVwIHdvcmss IGUuZy4gZmlyc3QgUzJSQU0gYW5kIGxhdGVyIG9uIGhpYmVybmF0aW9uLgo+ID4+IExldCBtZSBj bGFyaWZ5IHRoZSBpbW1lZGlhdGUgdXNlLWNhc2UgdGhhdCB3ZSBoYXZlLCBzbyBpdCBpcyBlYXNp ZXIgdG8gdW5kZXJzdGFuZCB3aGF0IHdlIHdhbnQKPiA+PiBhbmQgd2hhdCB3ZSBkb24ndCBhdCB0 aGUgbW9tZW50LiBXZSBhcmUgYWJvdXQgdG8gY29udGludWUgd29yayBzdGFydGVkIGJ5IE1pcmVs YS9YaWxpbnggb24KPiA+PiBTdXNwZW5kLXRvLVJBTSBmb3IgQVJNIFszXSBhbmQgd2UgbWFkZSBu dW1iZXIgb2YgYXNzdW1wdGlvbnM6Cj4gPj4gMS4gV2UgYXJlIHRhbGtpbmcgYWJvdXQgKnN5c3Rl bSogc3VzcGVuZCwgZS5nLiB0aGUgZ29hbCBpcyB0byBzdXNwZW5kIGFsbCB0aGUgY29tcG9uZW50 cwo+ID4+IG9mIHRoZSBzeXN0ZW0gYW5kIFhlbiBpdHNlbGYgYXQgb25jZS4gVGhpbmsgYWJvdXQg dGhpcyBhcyBmYXN0LWJvb3QgYW5kL29yIGVuZXJneSBzYXZpbmcKPiA+PiBmZWF0dXJlIGlmIHlv dSB3aWxsLgo+ID4+IDIuIFdpdGggc3VzcGVuZC9yZXN1bWUgdGhlcmUgaXMgbm8gaW50ZW50aW9u IHRvIG1pZ3JhdGUgVk1zIHRvIGFueSBvdGhlciBob3N0Lgo+ID4+IDMuIE1vc3QgcHJvYmFibHkg Y29uZmlndXJhdGlvbiBvZiB0aGUgYmFjay9mcm9udCB3b24ndCBjaGFuZ2UgYmV0d2VlbiBzdXNw ZW5kL3Jlc3VtZS4KPiA+PiBCdXQgbG9uZyB0ZXJtIHdlIGFyZSBhbHNvIHRoaW5raW5nIGZvciBz dXBwb3J0aW5nIHN1c3BlbmQvcmVzdW1lIGluIGl0cyBicm9hZGVyIG1lYW5pbmcsCj4gPj4gZS5n LiB3aGF0IGlzIHByb2JhYmx5IHdoYXQgeW91IG1lYW4gYnkgc3VzcGVuZC9yZXN1bWUuCj4gPiBB RkFJSyAuc3VzcGVuZCBhbmQgLnJlc3VtZSBjYWxsYmFja3MgaW4gZnJvbnRlbmQgZHJpdmVycyBh cmUKPiA+IHNwZWNpZmljYWxseSBmb3IgeGwgc2F2ZS9yZXN0b3JlIGNhc2UgcmF0aGVyIHRoYW4g dGhlIG5vcm1hbCAic3lzdGVtIgo+ID4gc3VzcGVuZC4gaS5lLiBUaGUgZm9ybWVyIGlzIEJvcmlz JyBjYXNlIGFuZCBzb21ldGhpbmcgSSBjYWxsZWQgIlhlbgo+ID4gc3VzcGVuZCIgaW4gdGhlIHBh dGNoIHNlcmllcywgdGhlIGxhdHRlciBzaG91bGQgYmUgeW91ciBpbnRlcmVzdCBhbmQKPiA+IGNh bGxlZCAiQUNQSSBwYXRoIiBoZXJlLCBhbmQgSSByZWZlcnJlZCB0byBhcyAiUE0gc3VzcGVuZCIu IFRoZXkgYXJlCj4gPiB2ZXJ5IGRpZmZlcmVudCBjb2RlIHBhdGhzLCBzZWUgZHJpdmVycy94ZW4v bWFuYWdlLmMgZm9yIGRldGFpbHMgb2YKPiA+IFhlbiBzdXNwZW5kLgo+IFllcywgSSBzYXcgdGhh dCBjb2RlLCB0aGFuayB5b3UKPiA+Cj4gPj4gR2l2ZW4gdGhhdCwgd2UgdGhpbmsgdGhhdCB3ZSBk b24ndCBuZWVkIFhlbiBzdXBwb3J0IHRvIHNhdmUgZ3JhbnRzLCBwYWdlIHRhYmxlcyBhbmQgb3Ro ZXIKPiA+PiBWTSdzIGNvbnRleHQgb24gc3VzcGVuZCBhdCBsZWFzdCBhdCB0aGUgZmlyc3Qgc3Rh Z2UgYXMgd2UgYXJlIGltcGxlbWVudGluZyBub3QgYSBmdWxseQo+ID4+IGJsb3duIHN1c3BlbmQv cmVzdW1lLCBidXQgb25seSBTMlJBTSBwYXJ0IG9mIGl0IHdoaWNoIGlzIG11Y2ggbW9yZSBzaW1w bGVyIHRoYW4gYSBnZW5lcmljCj4gPj4gc3VzcGVuZCBpbXBsZW1lbnRhdGlvbi4gV2Ugb25seSBu ZWVkIGNoYW5nZXMgdG8gTGludXgga2VybmVsIGZyb250ZW5kIGRyaXZlcnMgZnJvbSBbMV0gLSB0 aGUKPiA+PiBwaWVjZSB0aGF0IHdlIG1pc3MgaXMgc3VzcGVuZC9yZXN1bWUgaW1wbGVtZW50YXRp b24gaW4gdGhlIG5ldGZyb250IGRyaXZlci4gV2hhdCBpcyBtb3JlLCBhcwo+ID4+IHdlIGFyZSBu b3QgY2hhbmdpbmcgYmFjay9mcm9udCBjb25maWd1cmF0aW9uLCB3ZSBjYW4gZXZlbiBsaXZlIHdp dGggZW1wdHkgLnJlc3VtZS8uc3VzcGVuZAo+ID4+IGZyb250ZW5kJ3MgY2FsbGJhY2tzIGJlY2F1 c2UgZXZlbnQgY2hhbm5lbHMsIHJpbmdzIGV0Yy4gYXJlICJzdGF0aWNhbGx5IiBhbGxvY2F0ZWQg aW4gb3VyCj4gPj4gdXNlLWNhc2UgYXQgdGhlIGZpcnN0IHN5c3RlbSBzdGFydCAoY29sZCBib290 KS4gQW5kIGluZGVlZCwgdGVzdHMgc2hvdyB0aGF0IHdha2luZyBkb21haW5zCj4gPj4gaW4gdGhl IHJpZ2h0IG9yZGVyIGRvIGFsbG93IHRoYXQuCj4gPj4gU28sIGZyYW5rbHksIGZyb20gWzNdIHdl IGFyZSBpbW1lZGlhdGVseSBpbnRlcmVzdGVkIGluIGltcGxlbWVudGluZyAucmVzdW1lLy5zdXNw ZW5kLCBub3QKPiA+IElmIHlvdSBqdXN0IChyZSlpbXBsZW1lbnQgLnN1c3BlbmQgYW5kIC5yZXN1 bWUgc28gd2l0aG91dCB0YWtpbmcgY2FyZQo+ID4gb2YgWGVuIHN1c3BlbmQsIHlvdSBjYW4gZWFz aWx5IGJyZWFrIHRoZSBleGlzdGluZyBmdW5jdGlvbmFsaXR5LiBUaGUKPiA+IHBhdGNoIHNlcmll cyBpbnRyb2R1Y2VkIC5mcmVlemUgYW5kIC5yZXN0b3JlIGNhbGxiYWNrcyBmb3IgYm90aCBQTQo+ ID4gc3VzcGVuZCBhbmQgaGliZXJuYXRpb24sIGFuZCBrZXB0IC5zdXNwZW5kIChub3QgaW1wbGVt ZW50ZWQgaW4gbW9zdAo+ID4gZnJvbnRlbmQgdGhvdWdoKSBhbmQgLnJlc3VtZSB3aXRoIG5vIGNo YW5nZXMgZm9yIFhlbiBzdXNwZW5kLgo+ID4KPiA+IE5vdGUgdGhhdCB4ZW5idXMgaGFzIG1hcHBl ZCBmcmVlemUvdGhhdy9yZXN0b3JlIGV2ZW50cyB0byBzdXNwZW5kLAo+ID4gcmVzdW1lIGFuZCBj YW5jZWwgY2FsbGJhY2tzIHRvIGhhbmRsZSAiY2hlY2twb2ludCIgY2FzZVs0XS4gVGhpcyB3YXMg YQo+ID4gYml0IHRyaWNreSBhbmQgbGVkIG1lIHRvIHRoZSBkZXNpZ24gdG8gaGF2ZSB0aGUgc2Vw YXJhdGUgc2V0IG9mCj4gPiBjYWxsYmFja3MgYXQgZWFjaCBmcm9udGVuZCBkcml2ZXIgbGV2ZWxb NV0uIFlvdSBtaWdodCBuZWVkIHRvIGNvbnNpZGVyCj4gPiBhIHNpbWlsYXIgYXBwcm9hY2ggZXZl biBpZiB5b3VyIGltbWVkaWF0ZSBpbnRlcmVzdCBhdCB0aGUgbW9tZW50IGlzIFBNCj4gPiBzdXNw ZW5kLgo+IEZvciB0aGUgaW1tZWRpYXRlIHRhc2sgd2UgaGF2ZSBhdCB0aGUgbW9tZW50IHdlIHRo aW5rIHdlIGNhbiByZS11c2UKPiB5b3VyIHdvcmsgYW5kIGltcGxlbWVudCAuc3VzcGVuZC8ucmVz dW1lIGJhc2VkIG9uIGl0ICh3ZSBhcmUgdGFyZ2V0aW5nCj4gUzJSQU0gYXMgdGhlIGZpcnN0IHN0 YWdlKS4KPiBCdXQgbG9uZyB0ZXJtIC0gd2UgZG8gc3VwcG9ydCB0aGUgaWRlYSBvZiBmdWxseSBp bXBsZW1lbnRlZAo+IHN1c3BlbmQgYW5kICpoaWJlcm5hdGUqIGZ1bmN0aW9uYWxpdHkgYXMgeW91 IGRlc2NyaWJlIGl0Lgo+IFNvLCB5ZXMsIHdlIGFyZSBhbHNvIHRoaW5raW5nIGFib3V0IHRoYXQu Cj4gPgo+ID4+IGV2ZW4gZnJlZXplL3RoYXcvcmVzdG9yZSBjYWxsYmFja3M6IGlmIEFtYXpvbiBo YXMgd2lsbCBhbmQgY2FwYWNpdHkgdG8gY29udGludWUgd29ya2luZyBvbiBbM10KPiA+PiB0aGVu IG9uY2UgdGhhdCBnZXRzIGludG8gdGhlIHVwc3RyZWFtIGl0IGFsc28gc29sdmVzIG91ciBTMlJB TSB1c2UtY2FzZSwgYnV0IGlmIG5vdCB0aGVuIHdlCj4gPj4gY2FuIHByb2JhYmx5IHJlLXdvcmsg bmV0ZnJvbnQgcGF0Y2ggYW5kIG9ubHkgcHJvdmlkZSAucmVzdW1lLy5zdXNwZW5kIGNhbGxiYWNr cyB3aGljaCB3ZSBuZWVkCj4gPj4gZm9yIG5vdyAocmVtZW1iZXIgb3VyIHZlcnkgc3BlY2lmaWMg dXNlLWNhc2Ugd2hpY2ggY2FuIHN1cnZpdmUgc3VzcGVuZCB3aXRob3V0IGNhbGxiYWNrcwo+ID4+ IGltcGxlbWVudGVkKS4KPiA+PiBJTU8sIHBhdGNoZXMgYXQgWzJdIHNlZW0gdG8gYmUgdXNlZnVs IHdoaWxlIGltcGxlbWVudGluZyBnZW5lcmljIHN1c3BlbmQvcmVzdW1lIGFuZCBjYW4KPiA+PiBi ZSBwb3N0cG9uZWQgZm9yIFMyUkFNLgo+ID4+Cj4gPj4gSnVsaWVuL0p1ZXJnZW4vQm9yaXMvQW1h em9uIC0gY291bGQgeW91IHBsZWFzZSBleHByZXNzIHlvdXIgdmlldyBvbiB0aGUgYWJvdmU/Cj4g Pj4gSXMgaXQgYWNjZXB0YWJsZSB0aGF0IGZvciBub3cgd2Ugb25seSB0YWtlIHJlLXdvcmtlZCBu ZXRmcm9udCBwYXRjaCBmcm9tIFszXSB3aXRoIGZ1bGwKPiA+PiBpbXBsZW1lbnRhdGlvbiBpbiBt aW5kIGZvciBsYXRlciAod2UgcmV1c2UgY29kZSBmb3IgLnJlc3VtZS8uc3VzcGVuZCk/Cj4gPiBJ biBmYWN0LCBBbmNoYWwgaGFzIHRha2VuIG92ZXIgbXkgaW5pdGlhbCB3b3JrIGFuZCBzaGUgbWF5 IHdhbnQgdG8gY2hpbWUKPiA+IGluIGhlcmUuCj4gR3JlYXQsIGNvdWxkIHlvdSBwbGVhc2UgbGV0 IHVzIGtub3cgd2hhdCBpcyB0aGUgcHJvZ3Jlc3MgYW5kIGZ1cnRoZXIgcGxhbnMKPiBvbiB0aGF0 LCBzbyB3ZSBkbyBub3Qgd29yayBvbiB0aGUgc2FtZSBjb2RlIGFuZCBjYW4gY29vcmRpbmF0ZSBv dXIKPiBlZmZvcnRzIHNvbWVob3c/IEFuY2hhbCwgY291bGQgeW91IHBsZWFzZSBzaGVkIHNvbWUg bGlnaHQgb24gdGhpcz8KPiA+Ckxvb2tzIGxpa2UgbXkgcHJldmlvdXMgZW1haWwgZGlkIG5vdCBt YWtlIGl0IHRvIG1haWxpbmcgbGlzdC4gTWF5IGJlIHNvbWUgaXNzdWVzIHdpdGggbXkgCmVtYWls IHNlcnZlciBzZXR0aW5ncy4gR2l2aW5nIGl0IGFub3RoZXIgc2hvdC4KWWVzLCBJIGFtIHdvcmtp bmcgb24gdGhvc2UgcGF0Y2hlcyBhbmQgcGxhbiB0byByZS1wb3N0IHRoZW0gaW4gYW4gZWZmb3J0 IHRvIHVwc3RyZWFtLgpJIGFncmVlIHdpdGggTXVuZWhpc2EgaGVyZSBvbiBjb25zaWRlcmluZyB0 aGUgcGF0Y2hlcyB0aGF0IGFyZSBhbHJlYWR5IG91dCB0aGVyZSBhcwpJIHBsYW4gdG8ga2VlcCB0 aGUgc2FtZSBtb2RlbCB0byBkaXN0aW5ndWlzaCBQTSBTVVNQRU5EIGFuZCBQTSBISUJFUk5BVElP TiBmcm9tIHhlbgpzdXNwZW5kIGFuZCByZXN1bWUuIFRoZXJlIG1heSBiZSBtaW5vciBmaXhlcyBo ZXJlIGFuZCB0aGVyZSBob3dldmVyLCB0aGUgb3ZlcmFsbAppZGVhIHdpbGwgc3RpbGwgcmVtYWlu IHRoZSBzYW1lLiBBcyB0aGUgcHJldmlvdXMgcGF0Y2hlcyB0aGVyZSB3aWxsIGJlIHN1cHBvcnQg Zm9yCm9ubHkgeGVuLWJsa2Zyb250IGFuZCB4ZW4tbmV0ZnJvbnQgaW4gdGhlIGluaXRpYWwgcGF0 Y2hzZXQuCj4gPiBUaGF0IHNhaWQsIEknZCBiZSB2ZXJ5IGhhcHB5IHRvIHJldmlldyBwYXRjaGVz IGlmIHlvdSBjb21lIHVwIHdpdGggeW91cgo+ID4gb3duIG9uZXMsIHNvIGZlZWwgZnJlZSB0byBh ZGQgbWUgaW4gdGhhdCBjYXNlLgo+IFN1cmUsIHRoYW5rIHlvdSEKPiA+Cj4gPj4+IENoZWVycywK PiA+Pj4KPiA+Pj4gWzFdIGh0dHBzOi8vbGlzdHMueGVucHJvamVjdC5vcmcvYXJjaGl2ZXMvaHRt bC94ZW4tZGV2ZWwvMjAxOC0wNi9tc2cwMDgyMy5odG1sCj4gPj4+Cj4gPj4+IFsyXSBodHRwOi8v eGVuYml0cy54ZW4ub3JnL2dpdHdlYi8/cD1wZW9wbGUvanVsaWVuZy9saW51eC1hcm0uZ2l0O2E9 c2hvcnRsb2c7aD1yZWZzL2hlYWRzL3hlbi1taWdyYXRpb24vdjIKPiA+Pj4KPiA+PiBbM10gaHR0 cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9hcmNoaXZlcy9odG1sL3hlbi1kZXZlbC8yMDE4LTEx L21zZzAxMDkzLmh0bWwKPiA+IFs0XSBodHRwczovL2dpdC5rZXJuZWwub3JnL3B1Yi9zY20vbGlu dXgva2VybmVsL2dpdC90b3J2YWxkcy9saW51eC5naXQvY29tbWl0Lz9pZD1iM2U5NmMwYzc1NjIx MWU4MDVjNjk0MWQ0YTZlNWY2ZTE5OTVjYjZiCj4gPiBbNV0gaHR0cHM6Ly9saXN0cy54ZW5wcm9q ZWN0Lm9yZy9hcmNoaXZlcy9odG1sL3hlbi1kZXZlbC8yMDE4LTA2L21zZzAwODI1Lmh0bWwKPiA+ Cj4gPj4+Pgo+ID4+Pj4gLWJvcmlzCj4gPj4+Pgo+ID4+Pj4gX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX18KPiA+Pj4+IFhlbi1kZXZlbCBtYWlsaW5nIGxpc3QK PiA+Pj4+IFhlbi1kZXZlbEBsaXN0cy54ZW5wcm9qZWN0Lm9yZwo+ID4+Pj4gaHR0cHM6Ly9saXN0 cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3hlbi1kZXZlbAo+ID4+Pj4KPiA+PiBU aGFuayB5b3UsCj4gPj4gT2xla3NhbmRyCj4gPiBUaGFua3MsCj4gPiBNdW5laGlzYQpUaGFua3Ms CkFuY2hhbAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K WGVuLWRldmVsIG1haWxpbmcgbGlzdApYZW4tZGV2ZWxAbGlzdHMueGVucHJvamVjdC5vcmcKaHR0 cHM6Ly9saXN0cy54ZW5wcm9qZWN0Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL3hlbi1kZXZlbA==