From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by dpdk.org (Postfix) with ESMTP id 4A2CE2C6A for ; Mon, 7 May 2018 10:11:53 +0200 (CEST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by orsmga103.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 07 May 2018 01:11:52 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.49,373,1520924400"; d="scan'208";a="47287621" Received: from fmsmsx104.amr.corp.intel.com ([10.18.124.202]) by FMSMGA003.fm.intel.com with ESMTP; 07 May 2018 01:11:52 -0700 Received: from fmsmsx101.amr.corp.intel.com (10.18.124.199) by fmsmsx104.amr.corp.intel.com (10.18.124.202) with Microsoft SMTP Server (TLS) id 14.3.319.2; Mon, 7 May 2018 01:11:52 -0700 Received: from shsmsx152.ccr.corp.intel.com (10.239.6.52) by fmsmsx101.amr.corp.intel.com (10.18.124.199) with Microsoft SMTP Server (TLS) id 14.3.319.2; Mon, 7 May 2018 01:11:51 -0700 Received: from shsmsx103.ccr.corp.intel.com ([169.254.4.210]) by SHSMSX152.ccr.corp.intel.com ([169.254.6.6]) with mapi id 14.03.0319.002; Mon, 7 May 2018 16:11:50 +0800 From: "Peng, Yuan" To: Adrien Mazarguil , "Zhao1, Wei" CC: "dev@dpdk.org" , "Xu, Qian Q" , "Liu, Yu Y" , "Lu, Wenzhuo" , "Wu, Jingjing" Thread-Topic: [dpdk-dev] [PATCH v6 07/16] ethdev: flatten RSS configuration in flow API Thread-Index: AQHT4t0e2deXzwLzd0uZm3bc6AL4oqQeyWmAgAADyICABRjfUIAACWLQ Date: Mon, 7 May 2018 08:11:50 +0000 Message-ID: <67D543A150B29E4CAAE53918F64EDAEA37500DFF@SHSMSX103.ccr.corp.intel.com> References: <20180419100848.6178-1-adrien.mazarguil@6wind.com> <20180425151852.7676-1-adrien.mazarguil@6wind.com> <20180425151852.7676-8-adrien.mazarguil@6wind.com> <67D543A150B29E4CAAE53918F64EDAEA374F519B@SHSMSX103.ccr.corp.intel.com> <67D543A150B29E4CAAE53918F64EDAEA374F5274@SHSMSX103.ccr.corp.intel.com> <20180503124825.GJ4957@6wind.com> <20180504094437.GB20388@6wind.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-version: 11.0.200.100 dlp-reaction: no-action x-originating-ip: [10.239.127.40] Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 Subject: Re: [dpdk-dev] [PATCH v6 07/16] ethdev: flatten RSS configuration in flow API X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 07 May 2018 08:11:54 -0000 SGkgQWRyaWVuLA0KDQpJIGNvbmZpZ3VyZSB0aGUgY29tbWFuZCBhczoNCnRlc3RwbWQ+IGZsb3cg Y3JlYXRlIDAgaW5ncmVzcyBwYXR0ZXJuIGVuZCBhY3Rpb25zIHJzcyB0eXBlcyB1ZHAgZW5kIHF1 ZXVlcyA1IGVuZCAvIGVuZA0KRmxvdyBydWxlICMwIGNyZWF0ZWQNClRoZSBydWxlIGNhbiBiZSBz ZXQgc3VjY2Vzc2Z1bGx5Lg0KSXQgc2VlbXMgbGlrZSB5b3UgaGF2ZSBhZGRlZCBzZXZlcmFsIHBh cmFtZXRlciB0byB0aGUgZmVhdHVyZSwgYW5kIG1vZGlmaWVkIHRoZSBjb21tYW5kIGZvcm1hdC4N CnRlc3RwbWQ+IGZsb3cgY3JlYXRlIDAgaW5ncmVzcyBwYXR0ZXJuIGVuZCBhY3Rpb25zIHJzcw0K IGZ1bmMgW1RPS0VOXTogUlNTIGhhc2ggZnVuY3Rpb24gdG8gYXBwbHkNCiBsZXZlbCBbVE9LRU5d OiBlbmNhcHN1bGF0aW9uIGxldmVsIGZvciAidHlwZXMiDQogdHlwZXMgW1RPS0VOXTogc3BlY2lm aWMgUlNTIGhhc2ggdHlwZXMNCiBrZXkgW1RPS0VOXTogUlNTIGhhc2gga2V5DQoga2V5X2xlbiBb VE9LRU5dOiBSU1MgaGFzaCBrZXkgbGVuZ3RoIGluIGJ5dGVzDQogcXVldWVzIFtUT0tFTl06IHF1 ZXVlIGluZGljZXMgdG8gdXNlDQogLyBbVE9LRU5dOiBzcGVjaWZ5IG5leHQgYWN0aW9uDQoNCkNv dWxkIHlvdSBzZW5kIG1lIGFuZCBaaGFvIFdlaSBhIHVzZXIgZ3VpZGVsaW5lPw0KDQpUaGFuayB5 b3UuDQpZdWFuLg0KDQoNCi0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQpGcm9tOiBQZW5nLCBZ dWFuIA0KU2VudDogTW9uZGF5LCBNYXkgNywgMjAxOCAzOjQyIFBNDQpUbzogJ0FkcmllbiBNYXph cmd1aWwnIDxhZHJpZW4ubWF6YXJndWlsQDZ3aW5kLmNvbT47IFpoYW8xLCBXZWkgPHdlaS56aGFv MUBpbnRlbC5jb20+DQpDYzogZGV2QGRwZGsub3JnOyBYdSwgUWlhbiBRIDxxaWFuLnEueHVAaW50 ZWwuY29tPjsgTGl1LCBZdSBZIDx5dS55LmxpdUBpbnRlbC5jb20+OyBMdSwgV2Vuemh1byA8d2Vu emh1by5sdUBpbnRlbC5jb20+OyBXdSwgSmluZ2ppbmcgPGppbmdqaW5nLnd1QGludGVsLmNvbT4N ClN1YmplY3Q6IFJFOiBbZHBkay1kZXZdIFtQQVRDSCB2NiAwNy8xNl0gZXRoZGV2OiBmbGF0dGVu IFJTUyBjb25maWd1cmF0aW9uIGluIGZsb3cgQVBJDQoNCkhpIEFkcmllbiwNCg0KVGhlIHRoaXJk IHByb2JsZW0gd2hpY2ggdXNlIGl4Z2JlIE5JQzoNCkkgYWRkICIga2V5X2xlbiAwIHR5cGVzIGlw IHVkcCBlbmQgIiB0byB0aGUgY29tbWFuZCAiZmxvdyBjcmVhdGUgMCBpbmdyZXNzIHBhdHRlcm4g ZW5kIGFjdGlvbnMgcnNzIHF1ZXVlcyA1IDYgNyBlbmQgLyBlbmQiDQpJdCBzaG93czoNCnRlc3Rw bWQ+IGZsb3cgY3JlYXRlIDAgaW5ncmVzcyBwYXR0ZXJuIGVuZCBhY3Rpb25zIHJzcyBxdWV1ZXMg NSA2IDcgZW5kIA0KdGVzdHBtZD4gLyBrZXlfbGVuIDAgdHlwZXMgaXAgdWRwIGVuZCAvIGVuZA0K QmFkIGFyZ3VtZW50cw0KdGVzdHBtZD4gZmxvdyBjcmVhdGUgMCBpbmdyZXNzIHBhdHRlcm4gZW5k IGFjdGlvbnMgcnNzIHF1ZXVlcyA1IDYgNyAvIA0KdGVzdHBtZD4ga2V5X2xlbiAwIHR5cGVzIGlw IHVkcCBlbmQgLyBlbmQNCkJhZCBhcmd1bWVudHMNCnRlc3RwbWQ+IGtleV9sZW4gMCB0eXBlcyBp cCB1ZHAgZW5kDQpDb21tYW5kIG5vdCBmb3VuZA0KDQpDb3VsZCB5b3Ugc2hvdyBtZSB0aGUgY29y cmVjdCBjb21tYW5kPw0KVGhhbmtzLg0KWXVhbi4NCg0KLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0t LS0NCkZyb206IEFkcmllbiBNYXphcmd1aWwgW21haWx0bzphZHJpZW4ubWF6YXJndWlsQDZ3aW5k LmNvbV0NClNlbnQ6IEZyaWRheSwgTWF5IDQsIDIwMTggNTo0NSBQTQ0KVG86IFpoYW8xLCBXZWkg PHdlaS56aGFvMUBpbnRlbC5jb20+DQpDYzogUGVuZywgWXVhbiA8eXVhbi5wZW5nQGludGVsLmNv bT47IGRldkBkcGRrLm9yZzsgWHUsIFFpYW4gUSA8cWlhbi5xLnh1QGludGVsLmNvbT47IExpdSwg WXUgWSA8eXUueS5saXVAaW50ZWwuY29tPjsgTHUsIFdlbnpodW8gPHdlbnpodW8ubHVAaW50ZWwu Y29tPjsgV3UsIEppbmdqaW5nIDxqaW5namluZy53dUBpbnRlbC5jb20+DQpTdWJqZWN0OiBSZTog W2RwZGstZGV2XSBbUEFUQ0ggdjYgMDcvMTZdIGV0aGRldjogZmxhdHRlbiBSU1MgY29uZmlndXJh dGlvbiBpbiBmbG93IEFQSQ0KDQpPbiBGcmksIE1heSAwNCwgMjAxOCBhdCAwOTozMTowNUFNICsw MDAwLCBaaGFvMSwgV2VpIHdyb3RlOg0KPiBIaSwgIEFkcmllbiBNYXphcmd1aWwNCj4gDQo+ID4g LS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPiBGcm9tOiBBZHJpZW4gTWF6YXJndWlsIFtt YWlsdG86YWRyaWVuLm1hemFyZ3VpbEA2d2luZC5jb21dDQo+ID4gU2VudDogVGh1cnNkYXksIE1h eSAzLCAyMDE4IDg6NDggUE0NCj4gPiBUbzogUGVuZywgWXVhbiA8eXVhbi5wZW5nQGludGVsLmNv bT4NCj4gPiBDYzogWmhhbzEsIFdlaSA8d2VpLnpoYW8xQGludGVsLmNvbT47IGRldkBkcGRrLm9y ZzsgWHUsIFFpYW4gUSANCj4gPiA8cWlhbi5xLnh1QGludGVsLmNvbT47IExpdSwgWXUgWSA8eXUu eS5saXVAaW50ZWwuY29tPjsgTHUsIFdlbnpodW8gDQo+ID4gPHdlbnpodW8ubHVAaW50ZWwuY29t PjsgV3UsIEppbmdqaW5nIDxqaW5namluZy53dUBpbnRlbC5jb20+DQo+ID4gU3ViamVjdDogUmU6 IFtkcGRrLWRldl0gW1BBVENIIHY2IDA3LzE2XSBldGhkZXY6IGZsYXR0ZW4gUlNTIA0KPiA+IGNv bmZpZ3VyYXRpb24gaW4gZmxvdyBBUEkNCj4gPiANCj4gPiBIaSBQZW5nIFl1YW4sDQo+ID4gDQo+ ID4gQXBvbG9naWVzIGZvciB0aGUgZGVsYXksIEknbGwgYW5zd2VyIGJlbG93IHRvIHRoZSBlbnRp cmUgdGhyZWFkLg0KPiA+IA0KPiA+IE9uIFNhdCwgQXByIDI4LCAyMDE4IGF0IDA3OjQ1OjMxQU0g KzAwMDAsIFBlbmcsIFl1YW4gd3JvdGU6DQo+ID4gPiBIae+8jEFkcmllbiBNYXphcmd1aWwNCj4g PiA+DQo+ID4gPiBUaGVyZSBpcyBhIGJ1ZyBvZiBxdWV1ZSByZWdpb24gd2l0aCAxOC4wNS1yYzEg VGhlIHRlc3Qgc3RlcHMgYXJlIA0KPiA+ID4gYXMNCj4gPiA+IGJlbG93Og0KPiA+ID4gLi91c2Vy dG9vbHMvZHBkay1kZXZiaW5kLnB5IC1iIGlnYl91aW8gMDU6MDAuMCANCj4gPiA+IC4veDg2XzY0 LW5hdGl2ZS1saW51eGFwcC1nY2MvYXBwL3Rlc3RwbWQgLWMgMWZmZmYgLW4gNCAtLSAtaQ0KPiA+ ID4gLS1yeHE9MTYNCj4gPiA+IC0tdHhxPTE2DQo+ID4gPiB0ZXN0cG1kPiBwb3J0IGNvbmZpZyBh bGwgcnNzIGFsbA0KPiA+ID4gQ29uZmlndXJhdGlvbiBvZiBSU1MgaGFzaCBhdCBldGhlcm5ldCBw b3J0IDAgZmFpbGVkIHdpdGggZXJyb3INCj4gPiA+ICgyMik6IEludmFsaWQNCj4gPiBhcmd1bWVu dC4NCj4gPiANCj4gPiBJIGFzc3VtZSB0aGlzIGlzc3VlIGlzIHJlbGF0ZWQgcnRlX2V0aF9kZXZf Y29uZmlndXJlKCkgd2hpY2ggd2FzIA0KPiA+IHJlY2VudGx5IGZpeGVkIFsxXSwgcmlnaHQ/DQo+ ID4gDQo+ID4gWzFdICJldGhkZXY6IGZpeCBhcHBsaWNhdGlvbnMgZmFpbHVyZSBvbiBjb25maWd1 cmUiDQo+ID4gICAgIGh0dHA6Ly9kcGRrLm9yZy9tbC9hcmNoaXZlcy9kZXYvMjAxOC1NYXkvMDk5 ODU4Lmh0bWwNCj4gPiANCj4gPiA8c25pcD4NCj4gPiA+IFRoZXJlIGlzIGEgYnVnIHByZXNlbnQg d2l0aCAxOC4wNS1yY2kgd2hlbiBJIHRlc3QgdGhlIGZlYXR1cmUgDQo+ID4gPiAiTW92ZSBSU1Mg dG8gcnRlX2Zsb3ciIGluIGk0MGUgTklDIFRoZSB0ZXN0IHN0ZXBzIGFyZSBhcyBiZWxvdzoNCj4g PiA+IC4vdXNlcnRvb2xzL2RwZGstZGV2YmluZC5weSAtYiBpZ2JfdWlvIDA1OjAwLjAgMDU6MDAu MSANCj4gPiA+IC4veDg2XzY0LW5hdGl2ZS1saW51eGFwcC1nY2MvYXBwL3Rlc3RwbWQgLWMgMHgx ZmZmZSAtbiA0ICAtLSAtaQ0KPiA+ID4gLS1uYi1jb3Jlcz04IC0tcnhxPTggLS10eHE9OCAtLXBv cnQtdG9wb2xvZ3k9Y2hhaW5lZA0KPiA+ID4gdGVzdHBtZD4gc2V0IGZ3ZCByeG9ubHkNCj4gPiA+ IFNldCByeG9ubHkgcGFja2V0IGZvcndhcmRpbmcgbW9kZQ0KPiA+ID4gdGVzdHBtZD4gc2V0IHZl cmJvc2UgMQ0KPiA+ID4gQ2hhbmdlIHZlcmJvc2UgbGV2ZWwgZnJvbSAwIHRvIDENCj4gPiA+IHRl c3RwbWQ+IHN0YXJ0DQo+ID4gPiB0ZXN0cG1kPiBmbG93IGNyZWF0ZSAwIGluZ3Jlc3MgcGF0dGVy biBlbmQgYWN0aW9ucyByc3MgcXVldWVzIDAgNA0KPiA+ID4gdGVzdHBtZD4gNyBlbmQgLyBlbmQN Cj4gPiA+IENhdWdodCBlcnJvciB0eXBlIDE2IChzcGVjaWZpYyBhY3Rpb24pOiBjYXVzZTogMHg3 ZmZmODRlMzM2NTgsIFJTUyANCj4gPiA+IGhhc2gga2V5IHRvbyBsYXJnZQ0KPiA+ID4NCj4gPiA+ IFRoZSByc3MgcnVsZSBjYW4gYmUgc2V0IHN1Y2Nlc3NmdWxseSB3aGVuIEkgdGVzdCBpdCB5ZXN0 ZXJkYXkgd2l0aCANCj4gPiA+IG9sZGVyIGRwZGsNCj4gPiB2ZXJzaW9uIHdpdGhvdXQgdGhpcyBw YXRjaC4NCj4gPiANCj4gPiBSZWdhcmRpbmcgdGhpcyBpc3N1ZSwgdGhlIHRlc3RwbWQgZmxvdyBj b21tYW5kIG5vdyByZXF1ZXN0cyBoYXNoIGtleSANCj4gPiBsZW5ndGggZnJvbSB0aGUgUE1EIGJ5 IGRlZmF1bHQgWzJdIGlmIGxlZnQgdW5zcGVjaWZpZWQgYnkgdXNlci4gVGhpcyANCj4gPiB2YWx1 ZSBpcyB0YWtlbiBmcm9tIHRoZSAiaGFzaF9rZXlfc2l6ZSIgZmllbGQgcmV0dXJuZWQgYnkgcnRl X2V0aF9kZXZfaW5mb3NfZ2V0KCkuDQo+ID4gDQo+ID4gV2hpbGUgbW9zdCBQTURzIHJldHVybiA0 MCBoZXJlLCBpNDBlIHJldHVybnM6DQo+ID4gDQo+ID4gIChJNDBFX1BGUUZfSEtFWV9NQVhfSU5E RVggKyAxKSAqIHNpemVvZih1aW50MzJfdCkNCj4gPiAgLyogdGhhdCBpcywgKDEyICsgMSkgKiA0 ID0+IDUyICovDQo+ID4gDQo+ID4gSXMgdGhpcyBjb3JyZWN0IGFuZCByZWFsbHkgc3VwcG9ydGVk IGJ5IGk0MGU/IE90aGVyd2lzZSBJJ2Qgc3VnZ2VzdCANCj4gPiB0byBmaXggdGhlIFBNRCBhcyBp dCBtYXkgYWxzbyBjb25mdXNlIGFwcGxpY2F0aW9ucyBvdGhlciB0aGFuIHRlc3RwbWQuDQo+ID4g DQo+ID4gTm90ZSB0aGF0IHlvdSBzaG91bGQgYmUgYWJsZSB0byByZXZlcnQgdG8gdGhlIG9sZCBi ZWhhdmlvciB3aXRoIHRoZQ0KPiA+IFBNRC0gc3BlY2lmaWMgZGVmYXVsdCBrZXkgYnkgc3BlY2lm eWluZyBhICJrZXlfbGVuIDAiIHBhcmFtZXRlciB0byB0aGUgUlNTIGFjdGlvbi4NCj4gPiANCj4g PiBbMl0gaHR0cDovL2RwZGsub3JnL2Jyb3dzZS9kcGRrL3RyZWUvYXBwL3Rlc3QtDQo+ID4gcG1k L2NtZGxpbmVfZmxvdy5jP2lkPXYxOC4wNS1yYzIjbjI3ODANCj4gDQo+IA0KPiBUaGlzIGlzIHRo ZSByb290IGNhdXNlIGZvciB0aGlzIGlzc3VlLCBhbHRob3VnaCBpNDAgcmV0dXJuIDoNCj4gDQo+ IAlkZXZfaW5mby0+aGFzaF9rZXlfc2l6ZSA9IChJNDBFX1BGUUZfSEtFWV9NQVhfSU5ERVggKyAx KSAqDQo+IAkJCQkJCXNpemVvZih1aW50MzJfdCk7DQo+IA0KPiB0aGF0IGlzIDUyIGJ5dGUsIGJ1 dCAiIFJURV9ESU0ocnNzX2NvbmZpZy0+a2V5KSIg77yMIHdoaWNoIGlzDQo+IA0KPiAJdWludDhf dCBrZXlbKEk0MEVfVkZRRl9IS0VZX01BWF9JTkRFWCA+IEk0MEVfUEZRRl9IS0VZX01BWF9JTkRF WCA/DQo+IAkJICAgICBJNDBFX1ZGUUZfSEtFWV9NQVhfSU5ERVggOiBJNDBFX1BGUUZfSEtFWV9N QVhfSU5ERVgpICsgMSAqDQo+IAkJICAgIHNpemVvZih1aW50MzJfdCldOyAvKiBIYXNoIGtleS4g Ki8gaXMgbm90IDUyISEhDQo+IA0KPiBJIHRoaW5rIHRoZSBjb2RlIHNob3VsZCBiZSA6DQo+IA0K PiAJdWludDhfdCBrZXlbKEk0MEVfVkZRRl9IS0VZX01BWF9JTkRFWCA+IEk0MEVfUEZRRl9IS0VZ X01BWF9JTkRFWCA/DQo+IAkJICAgICBJNDBFX1ZGUUZfSEtFWV9NQVhfSU5ERVggOiBJNDBFX1BG UUZfSEtFWV9NQVhfSU5ERVggKyAxKSAqDQo+IAkJICAgIHNpemVvZih1aW50MzJfdCldOyAvKiBI YXNoIGtleS4gKi8NCj4gDQo+IElmIHlvdSBhZ3JlZSBhbmQgcGVybWl0LCBJIFdJTEwgY29tbWl0 IGEgcGF0Y2ggdG8gZml4IHRoaXMgYnVnLg0KPiBUaGFuayB5b3UhDQoNCldob29wcywgZHVtYiBt aXN0YWtlLCBuaWNlIGNhdGNoLiBJZiB5b3UgdGFrZSBjYXJlIG9mIGl0LCBwbGVhc2UgYWRkOg0K DQpGaXhlczogYWM4ZDIyZGUyMzk0ICgiZXRoZGV2OiBmbGF0dGVuIFJTUyBjb25maWd1cmF0aW9u IGluIGZsb3cgQVBJIikNCg0KPiA+IDxzbmlwPg0KPiA+ID4gVGhlcmUgaXMgYW5vdGhlciBwcm9i bGVtIHdpdGggaXhnYmUgbmljOg0KPiA+ID4gLi91c2VydG9vbHMvZHBkay1kZXZiaW5kLnB5IC1i IGlnYl91aW8gMDc6MDAuMCAwNzowMC4xIA0KPiA+ID4gLi94ODZfNjQtbmF0aXZlLWxpbnV4YXBw LWdjYy9hcHAvdGVzdHBtZCAtYyAweDFmZmZlIC1uIDQgIC0tIC1pDQo+ID4gPiAtLW5iLWNvcmVz PTggLS1yeHE9OCAtLXR4cT04IC0tZGlzYWJsZS1yc3MgLS1wb3J0LXRvcG9sb2d5PWNoYWluZWQN Cj4gPiA+IHRlc3RwbWQ+IGZsb3cgY3JlYXRlIDAgaW5ncmVzcyBwYXR0ZXJuIGVuZCBhY3Rpb25z IHJzcyBxdWV1ZXMgNSA2DQo+ID4gPiB0ZXN0cG1kPiA3IGVuZCAvIGVuZA0KPiA+ID4gQ2F1Z2h0 IGVycm9yIHR5cGUgMiAoZmxvdyBydWxlIChoYW5kbGUpKTogRmFpbGVkIHRvIGNyZWF0ZSBmbG93 Lg0KPiA+ID4gVGhlIHJ1bGUgc2V0dGluZyBjb21tYW5kIGNhbiBiZSBleGVjdXRlZCBzdWNjZXNz ZnVsbHkgd2l0aCBvbGRlciANCj4gPiA+IGRwZGsNCj4gPiB2ZXJzaW9uLg0KPiA+ID4NCj4gPiA+ IENvdWxkIHlvdSBoZWxwIHRvIGNoZWNrIGlmIHRoZXJlIGlzIGEgcmVsYXRpb25zaGlwIGJldHdl ZW4gdGhlIA0KPiA+ID4gYnVncyBhbmQgdGhpcw0KPiA+IHBhdGNoPw0KPiA+IA0KPiA+IFBlcmhh cHMgYSBzaW1pbGFyIGlzc3VlIHNpbmNlIHRlc3RwbWQgbm93IHByb3ZpZGVzIGRlZmF1bHQgdmFs dWVzIA0KPiA+IGZvciB1bnNwZWNpZmllZCBmaWVsZHMgb2YgdGhlIFJTUyBhY3Rpb24sIHRoYXQg aXMsIGEgZGVmYXVsdCBoYXNoIA0KPiA+IGtleSB3aXRoIGEgUE1ELSByZXR1cm5lZCBkZWZhdWx0 IGxlbmd0aCBhbmQgdGhlIGdsb2JhbCAicnNzX2hmIg0KPiA+IHZhbHVlIGZvciB0eXBlcyAoaGVy ZSAwIGR1ZSB0byAtLWRpc2FibGUtcnNzKS4NCj4gPiANCj4gPiBUcnkgYXBwZW5kaW5nIHRoZSBm b2xsb3dpbmcgYXJndW1lbnRzIHRvIHRoZSBSU1MgYWN0aW9uOg0KPiA+IA0KPiA+ICBrZXlfbGVu IDAgdHlwZXMgaXAgdWRwIGVuZA0KPiA+IA0KPiA+IElmIGl0IHdvcmtzLCBpdCBwcm9iYWJseSBt ZWFucyB0aGUgaXNzdWUgd2FzIGFsd2F5cyBwcmVzZW50LCBpdCBqdXN0IA0KPiA+IG5ldmVyIHNo b3dlZCB1cCBkdWUgdG8gdGhlIGluYWJpbGl0eSB0byB2YWxpZGF0ZSBSU1MgYWN0aW9uIHBhcmFt ZXRlcnMgcHJldmlvdXNseS4NCj4gPiBZb3Ugc2hvdWxkIG1ha2Ugc3VyZSBpeGdiZSBzdXBwb3J0 cyB0aGVtLg0KDQpObyBjb21tZW50IHJlZ2FyZGluZyBpeGdiZT8NCg0KLS0NCkFkcmllbiBNYXph cmd1aWwNCjZXSU5EDQo=