Return-Path: Received: from mx144.netapp.com ([216.240.21.25]:18057 "EHLO mx144.netapp.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1756852AbcHCVTC (ORCPT ); Wed, 3 Aug 2016 17:19:02 -0400 From: "Adamson, Andy" To: Trond Myklebust CC: "Adamson, Andy" , Fields Bruce James , Kornievskaia Olga , Lever Chuck , List Linux NFS Mailing Subject: Re: Problem re-establishing GSS contexts after a server reboot Date: Wed, 3 Aug 2016 21:12:27 +0000 Message-ID: <24AE7AE5-9EDE-40A7-91A6-810D6A2DAE1B@netapp.com> References: <42FD3D54-79F9-485A-A2B4-FBFA65C2FC16@oracle.com> <9E866C53-DD4B-419E-ABF0-64B04609C066@oracle.com> <20160802180642.GA15324@fieldses.org> <20160803200619.GB5901@fieldses.org> <54E16DA6-1DEE-41FB-B15A-904C93B3AC5E@netapp.com> In-Reply-To: Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Sender: linux-nfs-owner@vger.kernel.org List-ID: DQo+IE9uIEF1ZyAzLCAyMDE2LCBhdCA0OjMzIFBNLCBUcm9uZCBNeWtsZWJ1c3QgPHRyb25kbXlA cHJpbWFyeWRhdGEuY29tPiB3cm90ZToNCj4gDQo+PiANCj4+IE9uIEF1ZyAzLCAyMDE2LCBhdCAx NjoxOCwgQWRhbXNvbiwgQW5keSA8V2lsbGlhbS5BZGFtc29uQG5ldGFwcC5jb20+IHdyb3RlOg0K Pj4gDQo+PiANCj4+PiBPbiBBdWcgMywgMjAxNiwgYXQgNDowNiBQTSwgSi4gQnJ1Y2UgRmllbGRz IDxiZmllbGRzQGZpZWxkc2VzLm9yZz4gd3JvdGU6DQo+Pj4gDQo+Pj4gT24gV2VkLCBBdWcgMDMs IDIwMTYgYXQgMDM6NTY6MzFQTSAtMDQwMCwgT2xnYSBLb3JuaWV2c2thaWEgd3JvdGU6DQo+Pj4+ IE9uIFdlZCwgQXVnIDMsIDIwMTYgYXQgMjo1MyBQTSwgQWRhbXNvbiwgQW5keQ0KPj4+PiA8V2ls bGlhbS5BZGFtc29uQG5ldGFwcC5jb20+IHdyb3RlOg0KPj4+Pj4gDQo+Pj4+Pj4gT24gQXVnIDIs IDIwMTYsIGF0IDI6MDYgUE0sIEouIEJydWNlIEZpZWxkcyA8YmZpZWxkc0BmaWVsZHNlcy5vcmc+ IHdyb3RlOg0KPj4+Pj4+IA0KPj4+Pj4+IE9uIEZyaSwgSnVsIDI5LCAyMDE2IGF0IDEyOjM4OjM0 UE0gLTA0MDAsIENodWNrIExldmVyIHdyb3RlOg0KPj4+Pj4+PiANCj4+Pj4+Pj4+IE9uIEp1bCAy OSwgMjAxNiwgYXQgMTI6MjcgUE0sIE9sZ2EgS29ybmlldnNrYWlhIDxhZ2xvQHVtaWNoLmVkdT4g d3JvdGU6DQo+Pj4+Pj4+PiANCj4+Pj4+Pj4+IE9uIE1vbiwgSnVsIDI1LCAyMDE2IGF0IDI6MTgg UE0sIE9sZ2EgS29ybmlldnNrYWlhIDxhZ2xvQHVtaWNoLmVkdT4gd3JvdGU6DQo+Pj4+Pj4+Pj4g T24gVGh1LCBKdWwgMjEsIDIwMTYgYXQgNTozMiBQTSwgQ2h1Y2sgTGV2ZXIgPGNodWNrLmxldmVy QG9yYWNsZS5jb20+IHdyb3RlOg0KPj4+Pj4+Pj4+PiANCj4+Pj4+Pj4+Pj4gDQo+Pj4+Pj4+Pj4+ PiBPbiBKdWwgMjEsIDIwMTYsIGF0IDEwOjQ2IFBNLCBPbGdhIEtvcm5pZXZza2FpYSA8YWdsb0B1 bWljaC5lZHU+IHdyb3RlOg0KPj4+Pj4+Pj4+Pj4gDQo+Pj4+Pj4+Pj4+Pj4gT24gVGh1LCBKdWwg MjEsIDIwMTYgYXQgMzo1NCBQTSwgT2xnYSBLb3JuaWV2c2thaWEgPGFnbG9AdW1pY2guZWR1PiB3 cm90ZToNCj4+Pj4+Pj4+Pj4+Pj4gT24gVGh1LCBKdWwgMjEsIDIwMTYgYXQgMTo1NiBQTSwgQ2h1 Y2sgTGV2ZXIgPGNodWNrLmxldmVyQG9yYWNsZS5jb20+IHdyb3RlOg0KPj4+Pj4+Pj4+Pj4+PiAN Cj4+Pj4+Pj4+Pj4+Pj4+IE9uIEp1bCAyMSwgMjAxNiwgYXQgNjowNCBQTSwgT2xnYSBLb3JuaWV2 c2thaWEgPGFnbG9AdW1pY2guZWR1PiB3cm90ZToNCj4+Pj4+Pj4+Pj4+Pj4+IA0KPj4+Pj4+Pj4+ Pj4+Pj4gT24gVGh1LCBKdWwgMjEsIDIwMTYgYXQgMjo1NSBBTSwgQ2h1Y2sgTGV2ZXIgPGNodWNr LmxldmVyQG9yYWNsZS5jb20+IHdyb3RlOg0KPj4+Pj4+Pj4+Pj4+Pj4+IA0KPj4+Pj4+Pj4+Pj4+ Pj4+PiBPbiBKdWwgMjAsIDIwMTYsIGF0IDY6NTYgUE0sIE9sZ2EgS29ybmlldnNrYWlhIDxhZ2xv QHVtaWNoLmVkdT4gd3JvdGU6DQo+Pj4+Pj4+Pj4+Pj4+Pj4+IA0KPj4+Pj4+Pj4+Pj4+Pj4+PiBP biBXZWQsIEp1bCAyMCwgMjAxNiBhdCA1OjE0IEFNLCBBZGFtc29uLCBBbmR5DQo+Pj4+Pj4+Pj4+ Pj4+Pj4+IDxXaWxsaWFtLkFkYW1zb25AbmV0YXBwLmNvbT4gd3JvdGU6DQo+Pj4+Pj4+Pj4+Pj4+ Pj4+PiANCj4+Pj4+Pj4+Pj4+Pj4+Pj4+PiBPbiBKdWwgMTksIDIwMTYsIGF0IDEwOjUxIEFNLCBD aHVjayBMZXZlciA8Y2h1Y2subGV2ZXJAb3JhY2xlLmNvbT4gd3JvdGU6DQo+Pj4+Pj4+Pj4+Pj4+ Pj4+Pj4gDQo+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4gSGkgQW5keS0NCj4+Pj4+Pj4+Pj4+Pj4+Pj4+PiAN Cj4+Pj4+Pj4+Pj4+Pj4+Pj4+PiBUaGFua3MgZm9yIHRha2luZyB0aGUgdGltZSB0byBkaXNjdXNz IHRoaXMgd2l0aCBtZS4gSSd2ZQ0KPj4+Pj4+Pj4+Pj4+Pj4+Pj4+IGNvcGllZCBsaW51eC1uZnMg dG8gbWFrZSB0aGlzIGUtbWFpbCBhbHNvIGFuIHVwc3RyZWFtIGJ1Zw0KPj4+Pj4+Pj4+Pj4+Pj4+ Pj4+IHJlcG9ydC4NCj4+Pj4+Pj4+Pj4+Pj4+Pj4+PiANCj4+Pj4+Pj4+Pj4+Pj4+Pj4+PiBBcyB3 ZSBzYXcgaW4gdGhlIG5ldHdvcmsgY2FwdHVyZSwgcmVjb3Zlcnkgb2YgR1NTIGNvbnRleHRzDQo+ Pj4+Pj4+Pj4+Pj4+Pj4+Pj4gYWZ0ZXIgYSBzZXJ2ZXIgcmVib290IGZhaWxzIGluIGNlcnRhaW4g Y2FzZXMgd2l0aCBORlN2NC4wDQo+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4gYW5kIE5GU3Y0LjEgbW91bnQg cG9pbnRzLg0KPj4+Pj4+Pj4+Pj4+Pj4+Pj4+IA0KPj4+Pj4+Pj4+Pj4+Pj4+Pj4+IFRoZSByZXBy b2R1Y2VyIGlzIGEgc2ltcGxlIHByb2dyYW0gdGhhdCBnZW5lcmF0ZXMgb25lIE5GUw0KPj4+Pj4+ Pj4+Pj4+Pj4+Pj4+IFdSSVRFIHBlcmlvZGljYWxseSwgcnVuIHdoaWxlIHRoZSBzZXJ2ZXIgcmVw ZWF0ZWRseSByZWJvb3RzDQo+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4gKG9yIG9uZSBjbHVzdGVyIGhlYWQg ZmFpbHMgb3ZlciB0byB0aGUgb3RoZXIgYW5kIGJhY2spLiBUaGUNCj4+Pj4+Pj4+Pj4+Pj4+Pj4+ PiBnb2FsIG9mIHRoZSByZXByb2R1Y2VyIGlzIHRvIGlkZW50aWZ5IHByb2JsZW1zIHdpdGggc3Rh dGUNCj4+Pj4+Pj4+Pj4+Pj4+Pj4+PiByZWNvdmVyeSB3aXRob3V0IGEgbG90IG9mIG90aGVyIEkv TyBnb2luZyBvbiB0byBjbHV0dGVyIHVwDQo+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4gdGhlIG5ldHdvcmsg Y2FwdHVyZS4NCj4+Pj4+Pj4+Pj4+Pj4+Pj4+PiANCj4+Pj4+Pj4+Pj4+Pj4+Pj4+PiBJbiB0aGUg ZmFpbGluZyBjYXNlLCBzZWM9a3JiNSBpcyBzcGVjaWZpZWQgb24gdGhlIG1vdW50DQo+Pj4+Pj4+ Pj4+Pj4+Pj4+Pj4gcG9pbnQsIGFuZCB0aGUgcmVwcm9kdWNlciBpcyBydW4gYXMgcm9vdC4gV2Un dmUgZm91bmQgdGhpcw0KPj4+Pj4+Pj4+Pj4+Pj4+Pj4+IGNvbWJpbmF0aW9uIGZhaWxzIHdpdGgg Ym90aCBORlN2NC4wIGFuZCBORlN2NC4xLg0KPj4+Pj4+Pj4+Pj4+Pj4+Pj4+IA0KPj4+Pj4+Pj4+ Pj4+Pj4+Pj4+IEF0IG1vdW50IHRpbWUsIHRoZSBjbGllbnQgZXN0YWJsaXNoZXMgYSBHU1MgY29u dGV4dCBmb3INCj4+Pj4+Pj4+Pj4+Pj4+Pj4+PiBsZWFzZSBtYW5hZ2VtZW50IG9wZXJhdGlvbnMs IHdoaWNoIGlzIGJvdW5kIHRvIHRoZSBjbGllbnQncw0KPj4+Pj4+Pj4+Pj4+Pj4+Pj4+IE5GUyBz ZXJ2aWNlIHByaW5jaXBhbCBhbmQgdXNlcyBHU1Mgc2VydmljZSAiaW50ZWdyaXR5LiINCj4+Pj4+ Pj4+Pj4+Pj4+Pj4+PiBDYWxsIHRoaXMgR1NTIGNvbnRleHQgMS4NCj4+Pj4+Pj4+Pj4+Pj4+Pj4+ PiANCj4+Pj4+Pj4+Pj4+Pj4+Pj4+PiBXaGVuIHRoZSByZXByb2R1Y2VyIHN0YXJ0cywgYSBzZWNv bmQgR1NTIGNvbnRleHQgaXMNCj4+Pj4+Pj4+Pj4+Pj4+Pj4+PiBlc3RhYmxpc2hlZCBmb3IgTkZT IG9wZXJhdGlvbnMgYXNzb2NpYXRlZCB3aXRoIHRoYXQgdXNlci4NCj4+Pj4+Pj4+Pj4+Pj4+Pj4+ PiBTaW5jZSB0aGUgcmVwcm9kdWNlciBpcyBydW5uaW5nIGFzIHJvb3QsIHRoaXMgY29udGV4dCBp cw0KPj4+Pj4+Pj4+Pj4+Pj4+Pj4+IGFsc28gYm91bmQgdG8gdGhlIGNsaWVudCdzIE5GUyBzZXJ2 aWNlIHByaW5jaXBhbCwgYnV0IGl0DQo+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4gdXNlcyB0aGUgR1NTIHNl cnZpY2UgIm5vbmUiIChyZWZsZWN0aW5nIHRoZSBleHBsaWNpdA0KPj4+Pj4+Pj4+Pj4+Pj4+Pj4+ IHJlcXVlc3QgZm9yICJzZWM9a3JiNSIpLiBDYWxsIHRoaXMgR1NTIGNvbnRleHQgMi4NCj4+Pj4+ Pj4+Pj4+Pj4+Pj4+PiANCj4+Pj4+Pj4+Pj4+Pj4+Pj4+PiBBZnRlciB0aGUgc2VydmVyIHJlYm9v dHMsIHRoZSBjbGllbnQgcmUtZXN0YWJsaXNoZXMgYSBUQ1ANCj4+Pj4+Pj4+Pj4+Pj4+Pj4+PiBj b25uZWN0aW9uIHdpdGggdGhlIHNlcnZlciwgYW5kIHBlcmZvcm1zIGEgUkVORVcNCj4+Pj4+Pj4+ Pj4+Pj4+Pj4+PiBvcGVyYXRpb24gdXNpbmcgY29udGV4dCAxLiBUaGFua3MgdG8gdGhlIHNlcnZl ciByZWJvb3QsDQo+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4gY29udGV4dHMgMSBhbmQgMiBhcmUgbm93IHN0 YWxlLiBUaGUgc2VydmVyIHRodXMgcmVqZWN0cw0KPj4+Pj4+Pj4+Pj4+Pj4+Pj4+IHRoZSBSUEMg d2l0aCBSUENTRUNfR1NTX0NUWFBST0JMRU0uDQo+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4gDQo+Pj4+Pj4+ Pj4+Pj4+Pj4+Pj4gVGhlIGNsaWVudCBwZXJmb3JtcyBhIEdTU19JTklUX1NFQ19DT05URVhUIHZp YSBhbiBORlN2NA0KPj4+Pj4+Pj4+Pj4+Pj4+Pj4+IE5VTEwgb3BlcmF0aW9uLiBDYWxsIHRoaXMg R1NTIGNvbnRleHQgMy4NCj4+Pj4+Pj4+Pj4+Pj4+Pj4+PiANCj4+Pj4+Pj4+Pj4+Pj4+Pj4+PiBJ bnRlcmVzdGluZ2x5LCB0aGUgY2xpZW50IGRvZXMgbm90IHJlc2VuZCB0aGUgUkVORVcNCj4+Pj4+ Pj4+Pj4+Pj4+Pj4+PiBvcGVyYXRpb24gYXQgdGhpcyBwb2ludCAoaWYgaXQgZGlkLCB3ZSB3b3Vs ZG4ndCBzZWUgdGhpcw0KPj4+Pj4+Pj4+Pj4+Pj4+Pj4+IHByb2JsZW0gYXQgYWxsKS4NCj4+Pj4+ Pj4+Pj4+Pj4+Pj4+PiANCj4+Pj4+Pj4+Pj4+Pj4+Pj4+PiBUaGUgY2xpZW50IHRoZW4gYXR0ZW1w dHMgdG8gcmVzdW1lIHRoZSByZXByb2R1Y2VyIHdvcmtsb2FkLg0KPj4+Pj4+Pj4+Pj4+Pj4+Pj4+ IEl0IHNlbmRzIGFuIE5GU3Y0IFdSSVRFIG9wZXJhdGlvbiwgdXNpbmcgdGhlIGZpcnN0IGF2YWls YWJsZQ0KPj4+Pj4+Pj4+Pj4+Pj4+Pj4+IEdTUyBjb250ZXh0IGluIFVJRCAwJ3MgY3JlZGVudGlh bCBjYWNoZSwgd2hpY2ggaXMgY29udGV4dCAzLA0KPj4+Pj4+Pj4+Pj4+Pj4+Pj4+IGFscmVhZHkg Ym91bmQgdG8gdGhlIGNsaWVudCdzIE5GUyBzZXJ2aWNlIHByaW5jaXBhbC4gQnV0IEdTUw0KPj4+ Pj4+Pj4+Pj4+Pj4+Pj4+IHNlcnZpY2UgIm5vbmUiIGlzIHVzZWQgZm9yIHRoaXMgb3BlcmF0aW9u LCBzaW5jZSBpdCBpcyBvbg0KPj4+Pj4+Pj4+Pj4+Pj4+Pj4+IGJlaGFsZiBvZiB0aGUgbW91bnQg d2hlcmUgc2VjPWtyYjUgd2FzIHNwZWNpZmllZC4NCj4+Pj4+Pj4+Pj4+Pj4+Pj4+PiANCj4+Pj4+ Pj4+Pj4+Pj4+Pj4+PiBUaGUgUlBDIGlzIGFjY2VwdGVkLCBidXQgdGhlIHNlcnZlciByZXBvcnRz DQo+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4gTkZTNEVSUl9TVEFMRV9TVEFURUlELCBzaW5jZSBpdCBoYXMg cmVjZW50bHkgcmVib290ZWQuDQo+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4gDQo+Pj4+Pj4+Pj4+Pj4+Pj4+ Pj4gVGhlIGNsaWVudCByZXNwb25kcyBieSBhdHRlbXB0aW5nIHN0YXRlIHJlY292ZXJ5LiBUaGUN Cj4+Pj4+Pj4+Pj4+Pj4+Pj4+PiBmaXJzdCBvcGVyYXRpb24gaXQgdHJpZXMgaXMgYW5vdGhlciBS RU5FVy4gU2luY2UgdGhpcyBpcw0KPj4+Pj4+Pj4+Pj4+Pj4+Pj4+IGEgbGVhc2UgbWFuYWdlbWVu dCBvcGVyYXRpb24sIHRoZSBjbGllbnQgbG9va3MgaW4gVUlEIDAncw0KPj4+Pj4+Pj4+Pj4+Pj4+ Pj4+IGNyZWRlbnRpYWwgY2FjaGUgYWdhaW4gYW5kIGZpbmRzIHRoZSByZWNlbnRseSBlc3RhYmxp c2hlZA0KPj4+Pj4+Pj4+Pj4+Pj4+Pj4+IGNvbnRleHQgMy4gSXQgdHJpZXMgdGhlIFJFTkVXIG9w ZXJhdGlvbiB1c2luZyBHU1MgY29udGV4dA0KPj4+Pj4+Pj4+Pj4+Pj4+Pj4+IDMgd2l0aCBHU1Mg c2VydmljZSAiaW50ZWdyaXR5LiINCj4+Pj4+Pj4+Pj4+Pj4+Pj4+PiANCj4+Pj4+Pj4+Pj4+Pj4+ Pj4+PiBUaGUgc2VydmVyIHJlamVjdHMgdGhlIFJFTkVXIFJQQyB3aXRoIEFVVEhfRkFJTEVELCBh bmQNCj4+Pj4+Pj4+Pj4+Pj4+Pj4+PiB0aGUgY2xpZW50IHJlcG9ydHMgdGhhdCAiY2hlY2sgbGVh c2UgZmFpbGVkIiBhbmQNCj4+Pj4+Pj4+Pj4+Pj4+Pj4+PiB0ZXJtaW5hdGVzIHN0YXRlIHJlY292 ZXJ5Lg0KPj4+Pj4+Pj4+Pj4+Pj4+Pj4+IA0KPj4+Pj4+Pj4+Pj4+Pj4+Pj4+IFRoZSBjbGllbnQg cmUtZHJpdmVzIHRoZSBXUklURSBvcGVyYXRpb24gd2l0aCB0aGUgc3RhbGUNCj4+Pj4+Pj4+Pj4+ Pj4+Pj4+PiBzdGF0ZWlkIHdpdGggcHJlZGljdGFibGUgcmVzdWx0cy4gVGhlIGNsaWVudCBhZ2Fp biB0cmllcw0KPj4+Pj4+Pj4+Pj4+Pj4+Pj4+IHRvIHJlY292ZXIgc3RhdGUgYnkgc2VuZGluZyBh IFJFTkVXLCBhbmQgc3RpbGwgdXNlcyB0aGUNCj4+Pj4+Pj4+Pj4+Pj4+Pj4+PiBzYW1lIEdTUyBj b250ZXh0IDMgd2l0aCBzZXJ2aWNlICJpbnRlZ3JpdHkiIGFuZCBnZXRzIHRoZQ0KPj4+Pj4+Pj4+ Pj4+Pj4+Pj4+IHNhbWUgcmVzdWx0LiBBIChwZXJoYXBzIHNsb3ctbW90aW9uKSBTVEFMRV9TVEFU RUlEIGxvb3ANCj4+Pj4+Pj4+Pj4+Pj4+Pj4+PiBlbnN1ZXMsIGFuZCB0aGUgY2xpZW50IG1vdW50 IHBvaW50IGlzIGRlYWRsb2NrZWQuDQo+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4gDQo+Pj4+Pj4+Pj4+Pj4+ Pj4+Pj4gWW91ciBhbmFseXNpcyB3YXMgdGhhdCBiZWNhdXNlIHRoZSByZXByb2R1Y2VyIGlzIHJ1 biBhcw0KPj4+Pj4+Pj4+Pj4+Pj4+Pj4+IHJvb3QsIGJvdGggdGhlIHJlcHJvZHVjZXIncyBJL08g b3BlcmF0aW9ucywgYW5kIGxlYXNlDQo+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4gbWFuYWdlbWVudCBvcGVy YXRpb25zLCBhdHRlbXB0IHRvIHVzZSB0aGUgc2FtZSBHU1MgY29udGV4dA0KPj4+Pj4+Pj4+Pj4+ Pj4+Pj4+IGluIFVJRCAwJ3MgY3JlZGVudGlhbCBjYWNoZSwgYnV0IGVhY2ggdXNlcyBkaWZmZXJl bnQgR1NTDQo+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4gc2VydmljZXMuDQo+Pj4+Pj4+Pj4+Pj4+Pj4+PiAN Cj4+Pj4+Pj4+Pj4+Pj4+Pj4+IEFzIFJGQzIyMDMgc3RhdGVzLCAiSW4gYSBjcmVhdGlvbiByZXF1 ZXN0LCB0aGUgc2VxX251bSBhbmQgc2VydmljZSBmaWVsZHMgYXJlIHVuZGVmaW5lZCBhbmQgYm90 aCBtdXN0IGJlIGlnbm9yZWQgYnkgdGhlIHNlcnZlcuKAnQ0KPj4+Pj4+Pj4+Pj4+Pj4+Pj4gU28g YSBjb250ZXh0IGNyZWF0aW9uIHJlcXVlc3Qgd2hpbGUga2lja2VkIG9mZiBieSBhbiBvcGVyYXRp b24gd2l0aCBhIHNlcnZpY2UgYXR0YWNoZWQgKGUuZy4gV1JJVEUgdXNlcyBycGNfZ3NzX3N2Y19u b25lIGFuZCBSRU5FVyB1c2VzIHJwY19nc3Nfc3ZjX2ludGVncml0eSksIGNhbiBiZSB1c2VkIGJ5 IGVpdGhlciBzZXJ2aWNlIGxldmVsLg0KPj4+Pj4+Pj4+Pj4+Pj4+Pj4gQUZBSUNTIGEgc2luZ2xl IEdTUyBjb250ZXh0IGNvdWxkIGluIHRoZW9yeSBiZSB1c2VkIGZvciBhbGwgc2VydmljZSBsZXZl bHMsIGJ1dCBpbiBwcmFjdGljZSwgR1NTIGNvbnRleHRzIGFyZSByZXN0cmljdGVkIHRvIGEgc2Vy dmljZSBsZXZlbCAoYnkgY2xpZW50PyBieSBzZXJ2ZXI/ICkgb25jZSB0aGV5IGFyZSB1c2VkLg0K Pj4+Pj4+Pj4+Pj4+Pj4+Pj4gDQo+Pj4+Pj4+Pj4+Pj4+Pj4+PiANCj4+Pj4+Pj4+Pj4+Pj4+Pj4+ PiBUaGUga2V5IGlzc3VlIHNlZW1zIHRvIGJlIHdoeSwgd2hlbiB0aGUgbW91bnQNCj4+Pj4+Pj4+ Pj4+Pj4+Pj4+PiBpcyBmaXJzdCBlc3RhYmxpc2hlZCwgdGhlIGNsaWVudCBpcyBjb3JyZWN0bHkg YWJsZSB0bw0KPj4+Pj4+Pj4+Pj4+Pj4+Pj4+IGVzdGFibGlzaCB0d28gc2VwYXJhdGUgR1NTIGNv bnRleHRzIGZvciBVSUQgMDsgYnV0IGFmdGVyDQo+Pj4+Pj4+Pj4+Pj4+Pj4+Pj4gYSBzZXJ2ZXIg cmVib290LCB0aGUgY2xpZW50IGF0dGVtcHRzIHRvIHVzZSB0aGUgc2FtZSBHU1MNCj4+Pj4+Pj4+ Pj4+Pj4+Pj4+PiBjb250ZXh0IHdpdGggdHdvIGRpZmZlcmVudCBHU1Mgc2VydmljZXMuDQo+Pj4+ Pj4+Pj4+Pj4+Pj4+PiANCj4+Pj4+Pj4+Pj4+Pj4+Pj4+IEkgc3BlY3VsYXRlIHRoYXQgaXQgaXMg YSByYWNlIGJldHdlZW4gdGhlIFdSSVRFIGFuZCB0aGUgUkVORVcgdG8gdXNlIHRoZSBzYW1lIG5l d2x5IGNyZWF0ZWQgR1NTIGNvbnRleHQgdGhhdCBoYXMgbm90IGJlZW4gdXNlZCB5ZXQsIGFuZCBz byBoYXMgbm8gYXNzaWduZWQgc2VydmljZSBsZXZlbCwgYW5kIHRoZSB0d28gcmVxdWVzdHMgcmFj ZSB0byBzZXQgdGhlIHNlcnZpY2UgbGV2ZWwuDQo+Pj4+Pj4+Pj4+Pj4+Pj4+IA0KPj4+Pj4+Pj4+ Pj4+Pj4+PiBJIGFncmVlIHdpdGggQW5keS4gSXQgbXVzdCBiZSBhIHRpZ2h0IHJhY2UuDQo+Pj4+ Pj4+Pj4+Pj4+Pj4gDQo+Pj4+Pj4+Pj4+Pj4+Pj4gSW4gb25lIGNhcHR1cmUgSSBzZWUgc29tZXRo aW5nIGxpa2UgdGhpcyBhZnRlcg0KPj4+Pj4+Pj4+Pj4+Pj4+IHRoZSBzZXJ2ZXIgcmVzdGFydHM6 DQo+Pj4+Pj4+Pj4+Pj4+Pj4gDQo+Pj4+Pj4+Pj4+Pj4+Pj4gU1lODQo+Pj4+Pj4+Pj4+Pj4+Pj4g U1lOLCBBQ0sNCj4+Pj4+Pj4+Pj4+Pj4+PiBBQ0sNCj4+Pj4+Pj4+Pj4+Pj4+PiBDIFdSSVRFDQo+ Pj4+Pj4+Pj4+Pj4+Pj4gQyBTRVFVRU5DRQ0KPj4+Pj4+Pj4+Pj4+Pj4+IFIgV1JJVEUgLT4gQ1RY X1BST0JMRU0NCj4+Pj4+Pj4+Pj4+Pj4+PiBSIFNFUVVFTkNFIC0+IENUWF9QUk9CTEVNDQo+Pj4+ Pj4+Pj4+Pj4+Pj4gQyBOVUxMIChLUkI1X0FQX1JFUSkNCj4+Pj4+Pj4+Pj4+Pj4+PiBSIE5VTEwg KEtSQjVfQVBfUkVQKQ0KPj4+Pj4+Pj4+Pj4+Pj4+IEMgV1JJVEUNCj4+Pj4+Pj4+Pj4+Pj4+PiBD IFNFUVVFTkNFDQo+Pj4+Pj4+Pj4+Pj4+Pj4gUiBXUklURSAtPiBORlM0RVJSX1NUQUxFX1NUQVRF SUQNCj4+Pj4+Pj4+Pj4+Pj4+PiBSIFNFUVVFTkNFIC0+IEFVVEhfRkFJTEVEDQo+Pj4+Pj4+Pj4+ Pj4+Pj4gDQo+Pj4+Pj4+Pj4+Pj4+Pj4gQW5keSdzIHRoZW9yeSBuZWF0bHkgZXhwbGFpbnMgdGhp cyBiZWhhdmlvci4NCj4+Pj4+Pj4+Pj4+Pj4+PiANCj4+Pj4+Pj4+Pj4+Pj4+PiANCj4+Pj4+Pj4+ Pj4+Pj4+Pj4gSSBoYXZlIHRyaWVkIHRvIHJlcHJvZHVjZQ0KPj4+Pj4+Pj4+Pj4+Pj4+PiB5b3Vy IHNjZW5hcmlvIGFuZCBpbiBteSB0ZXN0cyBvZiByZWJvb3RpbmcgdGhlIHNlcnZlciBhbGwgcmVj b3Zlcg0KPj4+Pj4+Pj4+Pj4+Pj4+PiBjb3JyZWN0bHkuIEluIG15IGNhc2UsIGlmIFJFTkVXIHdh cyB0aGUgb25lIGhpdHRpbmcgdGhlIEFVVEhfRVJSIHRoZW4NCj4+Pj4+Pj4+Pj4+Pj4+Pj4gdGhl IG5ldyBjb250ZXh0IGlzIGVzdGFibGlzaGVkIGFuZCB0aGVuIFJFTkVXIHVzaW5nIGludGVncml0 eSBzZXJ2aWNlDQo+Pj4+Pj4+Pj4+Pj4+Pj4+IGlzIHJldHJpZWQgd2l0aCB0aGUgbmV3IGNvbnRl eHQgd2hpY2ggZ2V0cyBFUlJfU1RBTEVfQ0xJRU5USUQgd2hpY2gNCj4+Pj4+Pj4+Pj4+Pj4+Pj4g dGhlbiBjbGllbnQgcmVjb3ZlcnMgZnJvbS4gSWYgaXQncyBhbiBvcGVyYXRpb24gKEkgaGF2ZSBh IEdFVEFUVFIpDQo+Pj4+Pj4+Pj4+Pj4+Pj4+IHRoYXQgZ2V0cyBBVVRIX0VSUiwgdGhlbiBpdCBn ZXRzIG5ldyBjb250ZXh0IGFuZCBpcyByZXRyaWVkIHVzaW5nIG5vbmUNCj4+Pj4+Pj4+Pj4+Pj4+ Pj4gc2VydmljZS4gVGhlbiBSRU5FVyBnZXRzIGl0cyBvd24gQVVUSF9FUlIgYXMgaXQgdXNlcyBh IGRpZmZlcmVudA0KPj4+Pj4+Pj4+Pj4+Pj4+PiBjb250ZXh0LCBhIG5ldyBjb250ZXh0IGlzIGdv dHRlbiwgUkVORVcgaXMgcmV0cmllZCBvdmVyIGludGVncml0eSBhbmQNCj4+Pj4+Pj4+Pj4+Pj4+ Pj4gZ2V0cyBFUlJfU1RBTEVfQ0xJRU5USUQgd2hpY2ggaXQgcmVjb3ZlcnMgZnJvbS4NCj4+Pj4+ Pj4+Pj4+Pj4+PiANCj4+Pj4+Pj4+Pj4+Pj4+PiBJZiBvbmUgb3BlcmF0aW9uIGlzIGFsbG93ZWQg dG8gY29tcGxldGUsIHRoZW4NCj4+Pj4+Pj4+Pj4+Pj4+PiB0aGUgb3RoZXIgd2lsbCBhbHdheXMg cmVjb2duaXplIHRoYXQgYW5vdGhlcg0KPj4+Pj4+Pj4+Pj4+Pj4+IGZyZXNoIEdTUyBjb250ZXh0 IGlzIG5lZWRlZC4gSWYgdHdvIGFyZSBzZW50DQo+Pj4+Pj4+Pj4+Pj4+Pj4gYXQgdGhlIHNhbWUg dGltZSwgdGhleSByYWNlIGFuZCBvbmUgYWx3YXlzDQo+Pj4+Pj4+Pj4+Pj4+Pj4gZmFpbHMuDQo+ Pj4+Pj4+Pj4+Pj4+Pj4gDQo+Pj4+Pj4+Pj4+Pj4+Pj4gSGVsZW4ncyB0ZXN0IGluY2x1ZGVzIGEg c2Vjb25kIGlkbGUgbW91bnQgcG9pbnQNCj4+Pj4+Pj4+Pj4+Pj4+PiAoc2VjPWtyYjVpKSBhbmQg bWF5YmUgdGhhdCBpcyBuZWVkZWQgdG8gdHJpZ2dlcg0KPj4+Pj4+Pj4+Pj4+Pj4+IHRoZSByYWNl Pw0KPj4+Pj4+Pj4+Pj4+Pj4gDQo+Pj4+Pj4+Pj4+Pj4+PiBDaHVjaywgYW55IGNoYW5jZSB0byBn ZXQgInJwY2RlYnVnIC1tIHJwYyBhdXRoIiBvdXRwdXQgZHVyaW5nIHRoZQ0KPj4+Pj4+Pj4+Pj4+ Pj4gZmFpbHVyZSAoZ3NzZCBvcHRpb25hbGx5KSAoaSByZWFsaXplIHRoYXQgaXQgbWlnaHQgYWx0 ZXIgdGhlIHRpbWluZ3MNCj4+Pj4+Pj4+Pj4+Pj4+IGFuZCBub3QgaGl0IHRoZSBpc3N1ZSBidXQg d29ydGggYSBzaG90KT8NCj4+Pj4+Pj4+Pj4+Pj4gDQo+Pj4+Pj4+Pj4+Pj4+IEknbSBzdXJlIHRo YXQncyBmaW5lLiBBbiBpbnRlcm5hbCB0ZXN0ZXIgaGl0IHRoaXMsDQo+Pj4+Pj4+Pj4+Pj4+IG5v dCBhIGN1c3RvbWVyLCBzbyBJIHdpbGwgYXNrLg0KPj4+Pj4+Pj4+Pj4+PiANCj4+Pj4+Pj4+Pj4+ Pj4gSSBhZ3JlZSwgdGhvdWdoLCB0aGF0IHRpbWluZyBtaWdodCBiZSBhIHByb2JsZW06DQo+Pj4+ Pj4+Pj4+Pj4+IHRoZXNlIHN5c3RlbXMgYWxsIGhhdmUgcmVhbCBzZXJpYWwgY29uc29sZXMgdmlh DQo+Pj4+Pj4+Pj4+Pj4+IGlMT00sIHNvIC92L2wvbSB0cmFmZmljIGRvZXMgYnJpbmcgZXZlcnl0 aGluZyB0bw0KPj4+Pj4+Pj4+Pj4+PiBhIHN0YW5kc3RpbGwuDQo+Pj4+Pj4+Pj4+Pj4+IA0KPj4+ Pj4+Pj4+Pj4+PiBNZWFud2hpbGUsIHdoYXQncyB5b3UncmUgb3BpbmlvbiBhYm91dCBBVVRIX0ZB SUxFRD8NCj4+Pj4+Pj4+Pj4+Pj4gU2hvdWxkIHRoZSBzZXJ2ZXIgcmV0dXJuIFJQQ1NFQ19HU1Nf Q1RYUFJPQkxFTQ0KPj4+Pj4+Pj4+Pj4+PiBpbiB0aGlzIGNhc2UgaW5zdGVhZD8gSWYgaXQgZGlk LCBkbyB5b3UgdGhpbmsNCj4+Pj4+Pj4+Pj4+Pj4gdGhlIExpbnV4IGNsaWVudCB3b3VsZCByZWNv dmVyIGJ5IGNyZWF0aW5nIGENCj4+Pj4+Pj4+Pj4+Pj4gcmVwbGFjZW1lbnQgR1NTIGNvbnRleHQ/ DQo+Pj4+Pj4+Pj4+Pj4gDQo+Pj4+Pj4+Pj4+Pj4gQWgsIHllcywgSSBlcXVhdGVkIEFVVEhfRkFJ TEVEIEFuZCBBVVRIX0VSUk9SIGluIG15IG1pbmQuIElmIGNsaWVudA0KPj4+Pj4+Pj4+Pj4+IHJl Y2VpdmVzIHRoZSByZWFzb24gYXMgQVVUSF9GQUlMRUQgYXMgb3Bwb3NlIHRvIENUWFBST0JMRU0g aXQgd2lsbA0KPj4+Pj4+Pj4+Pj4+IGZhaWwgd2l0aCBFSU8gZXJyb3IgYW5kIHdpbGwgbm90IHRy eSB0byBjcmVhdGUgYSBuZXcgR1NTIGNvbnRleHQuIFNvDQo+Pj4+Pj4+Pj4+Pj4geWVzLCBJIGJl bGlldmUgaXQgd291bGQgaGVscCBpZiB0aGUgc2VydmVyIHJldHVybnMgYW55IG9mIHRoZQ0KPj4+ Pj4+Pj4+Pj4+IGZvbGxvd2luZyBlcnJvcnM6DQo+Pj4+Pj4+Pj4+Pj4gICAgICAgICAgIGNhc2Ug UlBDX0FVVEhfUkVKRUNURURDUkVEOg0KPj4+Pj4+Pj4+Pj4+ICAgICAgICAgICBjYXNlIFJQQ19B VVRIX1JFSkVDVEVEVkVSRjoNCj4+Pj4+Pj4+Pj4+PiAgICAgICAgICAgY2FzZSBSUENTRUNfR1NT X0NSRURQUk9CTEVNOg0KPj4+Pj4+Pj4+Pj4+ICAgICAgICAgICBjYXNlIFJQQ1NFQ19HU1NfQ1RY UFJPQkxFTToNCj4+Pj4+Pj4+Pj4+PiANCj4+Pj4+Pj4+Pj4+PiB0aGVuIHRoZSBjbGllbnQgd2ls bCByZWNyZWF0ZSB0aGUgY29udGV4dC4NCj4+Pj4+Pj4+Pj4+IA0KPj4+Pj4+Pj4+Pj4gQWxzbyBp biBteSB0ZXN0aW5nLCBJIGNhbiBzZWUgdGhhdCBjcmVkZW50aWFsIGNhY2hlIGlzIHBlciBnc3Mg Zmxhdm9yLg0KPj4+Pj4+Pj4+Pj4gSnVzdCB0byBjaGVjaywgd2hhdCBrZXJuZWwgdmVyc2lvbiBp cyB0aGlzIHByb2JsZW0gZW5jb3VudGVyZWQgb24gKEkNCj4+Pj4+Pj4+Pj4+IGtub3cgeW91IHNh aWQgdXBzdHJlYW0pIGJ1dCBJIGp1c3Qgd2FudCB0byBkb3VibGUgY2hlY2sgc28gdGhhdCBJIGNh bg0KPj4+Pj4+Pj4+Pj4gbG9vayBhdCB0aGUgY29ycmVjdCBzb3VyY2UgY29kZS4NCj4+Pj4+Pj4+ Pj4gDQo+Pj4+Pj4+Pj4+IHY0LjEuMTIgKHN0YWJsZSkgSSB0aGluay4NCj4+Pj4+Pj4+PiANCj4+ Pj4+Pj4+PiBBbHNvLCBjYW4geW91IHNoYXJlIHRoZSBuZXR3b3JrIHRyYWNlPw0KPj4+Pj4+Pj4g DQo+Pj4+Pj4+PiBIaSBDaHVjaywNCj4+Pj4+Pj4+IA0KPj4+Pj4+Pj4gSSB3YXMgZmluYWxseSBh YmxlIHRvIHJlcHJvZHVjZSB0aGUgY29uZGl0aW9uIHlvdSB3ZXJlIHNlZWluZyAoaS5lLiwNCj4+ Pj4+Pj4+IHRoZSB1c2Ugb2YgdGhlIHNhbWUgY29udGV4dCBmb3IgZGlmZmVyZW50IGdzcyBzZXJ2 aWNlcykuDQo+Pj4+Pj4+PiANCj4+Pj4+Pj4+IEkgZW5hYmxlZCBycGNkZWJ1ZyBycGMgYXV0aCBh bmQgSSBjYW4gc2VlIHRoYXQgdGhlIDJuZCByZXF1ZXN0IGVuZHMgdXANCj4+Pj4+Pj4+IGZpbmRp bmcgYSBnc3NfdXBjYWxsIG1lc3NhZ2UgYmVjYXVzZSBpdCdzIGp1c3QgbWF0Y2hlZCBieSB0aGUg dWlkLg0KPj4+Pj4+Pj4gVGhlcmUgaXMgZXZlbiBhIGNvbW1lbnQgaW4gYXV0aF9nc3MvYXV0aF9n c3MuYyBpbiBnc3NfYWRkX21zZygpIHNheWluZw0KPj4+Pj4+Pj4gdGhhdCBpZiB0aGVyZSBpcyB1 cGNhbGwgZm9yIGFuIHVpZCB0aGVuIGl0IHdvbid0IGFkZCBhbm90aGVyIHVwY2FsbC4NCj4+Pj4+ Pj4+IFNvIEkgdGhpbmsgdGhlIGRlY2lzaW9uIGlzIG1hZGUgcmlnaHQgdGhlcmUgdG8gc2hhcmUg dGhlIHNhbWUgY29udGV4dA0KPj4+Pj4+Pj4gbm8gbWF0dGVyIHRoZSBnc3Mgc2VydmljZS4NCj4+ Pj4+Pj4gDQo+Pj4+Pj4+IElmIEkgdW5kZXJzdGFuZCBjb3JyZWN0bHksIHRoYXQncyBqdXN0IHdo YXQgQW5keSBwcmVkaWN0ZWQuDQo+Pj4+Pj4+IA0KPj4+Pj4+PiBUaGF0IGNoZWNrIG5lZWRzIHRv IGJlIGNoYW5nZWQgdG8gYWxsb3cgYW5vdGhlciB1cGNhbGwgdG8gYmUNCj4+Pj4+Pj4gcXVldWVk IGlmIHRoZSBVSUQgbWF0Y2hlcyBidXQgdGhlIEdTUyBzZXJ2aWNlIGRvZXMgbm90Lg0KPj4+Pj4+ IA0KPj4+Pj4+IFlvdSBzaG91bGQgYmUgYWJsZSB0byB1c2UgdGhlIHNhbWUgY29udGV4dCB3aXRo IGRpZmZlcmVudCBzZXJ2aWNlcy4NCj4+Pj4+PiANCj4+Pj4+PiBBcG9sb2dpZXMsIEkgaGF2ZW4n dCBjYXVnaHQgdXAgd2l0aCB0aGUgd2hvbGUgZGlzY3Vzc2lvbiBhYm92ZSwgdGhpcyBvbmUNCj4+ Pj4+PiBwb2ludCBqdXN0IGp1bXBlZCBvdXQgYXQgbWUuICBJZiB5b3UncmUgdHJ5aW5nIHRvIHJl cXVlc3QgYSB3aG9sZSBuZXcNCj4+Pj4+PiBnc3MgY29udGV4dCBqdXN0IHNvIHlvdSBjYW4gdXNl LCBlLmcuLCBpbnRlZ3JpdHkgaW5zdGVhZCBvZiBwcml2YWN5LA0KPj4+Pj4+IHRoZW4gc29tZXRo aW5nJ3Mgd3JvbmcuDQo+Pj4+PiANCj4+Pj4+IFRoZSBjbGllbnQgY29kZSBoYXMgc2VwYXJhdGUg Z3NzX2NyZWQgY2FjaGVzIChhbmQgc28gc2VwYXJhdGUgZ3NzX2NvbnRleOKAmXMpIHBlciBnc3Nf YXV0aCwgd2hpY2ggaXMgcGVyIHNlcnZpY2UuIEFGQUlLIHRoZSBjbGllbnQgaGFzIGFsd2F5cyBv YnRhaW5lZCBhIHNlcGFyYXRlIGNvbnRleHQgcGVyIHNlcnZpY2UgcGVyIHNlcnZlci4gV2hpbGUg d2UgY2FuIHVzZSB0aGUgc2FtZSBnc3MgY29udGV4dCB3aXRoIGRpZmZlcmVudCBzZXJ2aWNlcywg dGhhdCBpcyBub3QgdGhlIGRlc2lnbiBjaG9pY2UuDQo+Pj4+IA0KPj4+PiBHaXZlbiB0aGUgY3Vy cmVudCBjb2RlLCBJJ2Qgc2F5IHRoYXQgaXQncyBub3QgY2xlYXIgd2hhdCB0aGUgZGVzaWduDQo+ Pj4+IGNob2ljZSBpcy4gVGhlIHVwY2FsbCBjb2RlIHN0YXRlcyB0aGF0IGl0IHdpbGwgbm90IGRv IGFub3RoZXIgdXBjYWxsDQo+Pj4+IGZvciBhIGdpdmVuIFVJRCBpZiBhbm90aGVyIHVwY2FsbCBp cyBhbHJlYWR5IG1hZGUuIFNvIGl0J3MgcHVyZWx5DQo+Pj4+IHRpbWluZyBsdWNrIHRoYXQgd2Ug aGF2ZSB0d28gZGlmZmVyZW50IGNvbnRleHRzIGZvciB0aGUgbW91bnQgd2hlbg0KPj4+PiBzZWM9 a3JiNSBhbmQgdGhlIGRlZmF1bHQgZm9yIGxlYXNlIG9wZXJhdGlvbnMgaXMgImludGVncml0eSIu IEFuZCB3ZQ0KPj4+PiBkb24ndCBwYXNzIHRoZSBHU1Mgc2VydmljZSBiZXR3ZWVuIHRoZSBrZXJu ZWwgYW5kIGdzc2QgYW5kIHRodXMgbm8gd2F5DQo+Pj4+IGZvciB1cyB0byB0aWUgdGhlIHVwY2Fs bCB0byB0aGUgc2VydmljZS4NCj4+PiANCj4+PiBXZWxsLCBJIHdyb3RlIHNvbWUgb2YgdGhlIHVw Y2FsbCBjb2RlLCBhbmQgSSB0aG91Z2ggKGluY29ycmVjdGx5LCBJDQo+Pj4gZ3Vlc3MpIHRoYXQg Y2xpZW50cyBjb3VsZCByZXVzZSB0aGUgc2FtZSBjb250ZXh0IHdpdGggbXVsdGlwbGUgc2Vydmlj ZXMsDQo+Pj4gc28gdGhlIGNvbmZ1c2lvbiBtYXkganVzdCBiZSBteSBmYXVsdC4gIFNvIHlvdSB0 aGluayB0aGUgb25seSBmaXggaGVyZQ0KPj4+IGlzIHRvIGtleSB0aGUgdXBjYWxscw0KPj4gDQo+ PiBObyBuZWVkIHRvIGNoYW5nZSB0aGUgdXBjYWxsLCBqdXN0IGRvbuKAmSB0IGxldCB0aGUgMm5k IHJlcXVlc3QgdXNlIHRoZSBuZXcgZG93bmNhbGwgZ3NzIGNvbnRleHQgdW5sZXNzIHRoZSBzZXJ2 aWNlIGFzc2lnbmVkIHRvIGl0IG1hdGNoZXMuIEkgd291bGQgdGhpbmsgeW91IGNvdWxkIHNldCB0 aGUgc2VydmljZSBpbW1lZGlhdGVseSB1cG9uIHJlY2VpdmluZyB0aGUgbmV3IGdzcyBjb250ZXh0 IGRvd24gY2FsbCBhbmQgdGhlbiBjaGVjayBpdCBwcmlvciB0byB0aGUgMm5kIHJlcXVlc3QgdXNl cyBpdC4NCj4+IA0KPiANCj4gaHR0cHM6Ly90b29scy5pZXRmLm9yZy9odG1sL3JmYzIyMDMjc2Vj dGlvbi01LjIuMiBJbiBhIGNyZWF0aW9uIHJlcXVlc3QsIHRoZSBzZXFfbnVtIGFuZCBzZXJ2aWNl IGZpZWxkcyBhcmUgdW5kZWZpbmVkIGFuZCBib3RoIG11c3QgYmUgaWdub3JlZCBieSB0aGUgc2Vy dmVyLg0KPiANCj4gSU9XOiB0aGUgc2VydmVyIGNhbuKAmXQgbG9jayB0aGUgc2VydmljZSB1bnRp bCB0aGUgZGF0YSBleGNoYW5nZSBwaGFzZSAoaHR0cHM6Ly90b29scy5pZXRmLm9yZy9odG1sL3Jm YzIyMDMjc2VjdGlvbi01LjMpLg0KDQpZZXMsIHRoYXQgaXMgdHJ1ZS4gSSBkb27igJl0IHNlZSBo b3cgdGhhdCBjaGFuZ2VzIHdoYXQgSSBwcm9wb3NlZC4gT25jZSB0aGUgY2xpZW50IGNob29zZXMg dG8gdXNlIGEgZ3NzIGNvbnRleHQgZm9yIGEgc2VydmljZSBsZXZlbCwgaXQgc2hvdWxkIG5vdCB1 c2UgdGhlIHNhbWUgY29udGV4dCBmb3IgYW5vdGhlciBzZXJ2aWNlIGxldmVsIGFzIGl0IGlzIGFs bW9zdCBndWFyYW50ZWVkIHRvIGZhaWwuDQoNCuKAlD5BbmR5DQoNCj4gDQo+IENoZWVycw0KPiAg VHJvbmQNCg0K