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 2C088F72 for ; Tue, 24 Jul 2018 14:37:32 +0200 (CEST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga006.jf.intel.com ([10.7.209.51]) by orsmga103.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 24 Jul 2018 05:37:31 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.51,398,1526367600"; d="scan'208";a="60232432" Received: from irsmsx103.ger.corp.intel.com ([163.33.3.157]) by orsmga006.jf.intel.com with ESMTP; 24 Jul 2018 05:37:08 -0700 Received: from irsmsx105.ger.corp.intel.com ([169.254.7.195]) by IRSMSX103.ger.corp.intel.com ([169.254.3.208]) with mapi id 14.03.0319.002; Tue, 24 Jul 2018 13:37:07 +0100 From: "Ananyev, Konstantin" To: Akhil Goyal , "dev@dpdk.org" CC: "Nicolau, Radu" Thread-Topic: [dpdk-dev] [PATCH 2/2] examples/ipsec-secgw: fix portmask option parsing Thread-Index: AQHT/NfEr4KwVcwBs0yeo6dCRQxAs6RqwrGAgAAj45CAAS6+gIAAEkhA///41YCAACRfEIAULs6AgB4mg9A= Date: Tue, 24 Jul 2018 12:37:06 +0000 Message-ID: <2601191342CEEE43887BDE71AB977258DF51CD64@irsmsx105.ger.corp.intel.com> References: <1528208163-31560-1-git-send-email-konstantin.ananyev@intel.com> <1528208163-31560-2-git-send-email-konstantin.ananyev@intel.com> <36d2a552-e043-7451-ed66-70d13f0f6fe6@nxp.com> <2601191342CEEE43887BDE71AB977258C0C4009C@irsmsx105.ger.corp.intel.com> <2ff9fe7a-3965-ca79-e5e3-9890cc6ce49d@nxp.com> <2601191342CEEE43887BDE71AB977258C0C40347@irsmsx105.ger.corp.intel.com> <2601191342CEEE43887BDE71AB977258C0C406CF@irsmsx105.ger.corp.intel.com> In-Reply-To: Accept-Language: en-IE, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiYTg4MmU5OTktMmIxNS00ZWY5LTg5ZTctMTlkNGQzZGFmNGZiIiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX05UIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE3LjEwLjE4MDQuNDkiLCJUcnVzdGVkTGFiZWxIYXNoIjoiNjdUMDduMXBHZXVEMHloN0c1RTQ4T0lEQjVSTEFBNFpmWHVQNU9XZGJDb1wvb3Y3ZjdaRFg3SmtpN2tDZ25YSzYifQ== x-ctpclassification: CTP_NT dlp-product: dlpe-windows dlp-version: 11.0.200.100 dlp-reaction: no-action x-originating-ip: [163.33.239.182] Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 Subject: Re: [dpdk-dev] [PATCH 2/2] examples/ipsec-secgw: fix portmask option parsing 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: Tue, 24 Jul 2018 12:37:34 -0000 SGkgQWtoaWwsDQoNCj4gDQo+IEhpIEtvbnN0YW50aW4sDQo+IA0KPiBPbiA2LzIyLzIwMTggNToy MSBQTSwgQW5hbnlldiwgS29uc3RhbnRpbiB3cm90ZToNCj4gDQo+ID4NCj4gPj4gLS0tLS1Pcmln aW5hbCBNZXNzYWdlLS0tLS0NCj4gPj4gRnJvbTogQWtoaWwgR295YWwgW21haWx0bzpha2hpbC5n b3lhbEBueHAuY29tXQ0KPiA+PiBTZW50OiBGcmlkYXksIEp1bmUgMjIsIDIwMTggMTE6NDEgQU0N Cj4gPj4gVG86IEFuYW55ZXYsIEtvbnN0YW50aW4gPGtvbnN0YW50aW4uYW5hbnlldkBpbnRlbC5j b20+OyBkZXZAZHBkay5vcmcNCj4gPj4gQ2M6IE5pY29sYXUsIFJhZHUgPHJhZHUubmljb2xhdUBp bnRlbC5jb20+DQo+ID4+IFN1YmplY3Q6IFJlOiBbZHBkay1kZXZdIFtQQVRDSCAyLzJdIGV4YW1w bGVzL2lwc2VjLXNlY2d3OiBmaXggcG9ydG1hc2sgb3B0aW9uIHBhcnNpbmcNCj4gPj4NCj4gPj4N Cj4gPj4NCj4gPj4gT24gNi8yMi8yMDE4IDM6NDAgUE0sIEFuYW55ZXYsIEtvbnN0YW50aW4gd3Jv dGU6DQo+ID4+Pj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPj4+PiBGcm9tOiBBa2hp bCBHb3lhbCBbbWFpbHRvOmFraGlsLmdveWFsQG54cC5jb21dDQo+ID4+Pj4gU2VudDogRnJpZGF5 LCBKdW5lIDIyLCAyMDE4IDExOjAxIEFNDQo+ID4+Pj4gVG86IEFuYW55ZXYsIEtvbnN0YW50aW4g PGtvbnN0YW50aW4uYW5hbnlldkBpbnRlbC5jb20+OyBkZXZAZHBkay5vcmcNCj4gPj4+PiBDYzog Tmljb2xhdSwgUmFkdSA8cmFkdS5uaWNvbGF1QGludGVsLmNvbT4NCj4gPj4+PiBTdWJqZWN0OiBS ZTogW2RwZGstZGV2XSBbUEFUQ0ggMi8yXSBleGFtcGxlcy9pcHNlYy1zZWNndzogZml4IHBvcnRt YXNrIG9wdGlvbiBwYXJzaW5nDQo+ID4+Pj4NCj4gPj4+PiBIaSBLb25zdGFudGluLA0KPiA+Pj4+ DQo+ID4+Pj4gT24gNi8yMS8yMDE4IDg6MzIgUE0sIEFuYW55ZXYsIEtvbnN0YW50aW4gd3JvdGU6 DQo+ID4+Pj4NCj4gPj4+Pj4gSGkgQWtoaWwsDQo+ID4+Pj4+DQo+ID4+Pj4+PiAtLS0tLU9yaWdp bmFsIE1lc3NhZ2UtLS0tLQ0KPiA+Pj4+Pj4gRnJvbTogQWtoaWwgR295YWwgW21haWx0bzpha2hp bC5nb3lhbEBueHAuY29tXQ0KPiA+Pj4+Pj4gU2VudDogVGh1cnNkYXksIEp1bmUgMjEsIDIwMTgg Mjo0OSBQTQ0KPiA+Pj4+Pj4gVG86IEFuYW55ZXYsIEtvbnN0YW50aW4gPGtvbnN0YW50aW4uYW5h bnlldkBpbnRlbC5jb20+OyBkZXZAZHBkay5vcmcNCj4gPj4+Pj4+IENjOiBOaWNvbGF1LCBSYWR1 IDxyYWR1Lm5pY29sYXVAaW50ZWwuY29tPg0KPiA+Pj4+Pj4gU3ViamVjdDogUmU6IFtkcGRrLWRl dl0gW1BBVENIIDIvMl0gZXhhbXBsZXMvaXBzZWMtc2VjZ3c6IGZpeCBwb3J0bWFzayBvcHRpb24g cGFyc2luZw0KPiA+Pj4+Pj4NCj4gPj4+Pj4+IEhpIEtvbnN0YW50aW4sDQo+ID4+Pj4+Pg0KPiA+ Pj4+Pj4gT24gNi81LzIwMTggNzo0NiBQTSwgS29uc3RhbnRpbiBBbmFueWV2IHdyb3RlOg0KPiA+ Pj4+Pj4+IHBhcnNlX3BvcnRtYXNrKCkgcmV0dXJucyBib3RoIHBvcnRtYXNrIHZhbHVlIGFuZCBw b3NzaWJsZSBlcnJvciBjb2RlDQo+ID4+Pj4+Pj4gYXMgMzItYml0IGludGVnZXIuIFRoYXQgY2F1 c2VzIHNvbWUgY29uZnVzaW9uIGZvciBjYWxsZXJzLg0KPiA+Pj4+Pj4+IFNwbGl0IGVycm9yIGNv ZGUgYW5kIHBvcnRtYXNrIHZhbHVlIGludG8gdHdvIGRpc3RpbmN0IHZhcmlhYmxlcy4NCj4gPj4+ Pj4+PiBBbHNvIGFsbG93cyB0byBydW4gdGhlIGFwcCB3aXRoIHVucHJvdGVjdGVkX3BvcnRfbWFz ayA9PSAwLg0KPiA+Pj4+Pj4gVGhpcyB3b3VsZCBhbHNvIGFsbG93IGNyeXB0b2Rldl9tYXNrID09 IDAgdG8gd29yayB3ZWxsIHdoaWNoIHNob3VsZCBub3QgYmUgdGhlIGNhc2UuDQo+ID4+Pj4+Pg0K PiA+Pj4+Pj4+IEZpeGVzOiBkMjk5MTA2ZThlMzEgKCJleGFtcGxlcy9pcHNlYy1zZWNndzogYWRk IElQc2VjIHNhbXBsZSBhcHBsaWNhdGlvbiIpDQo+ID4+Pj4+Pj4NCj4gPj4+Pj4+PiBTaWduZWQt b2ZmLWJ5OiBLb25zdGFudGluIEFuYW55ZXYgPGtvbnN0YW50aW4uYW5hbnlldkBpbnRlbC5jb20+ DQo+ID4+Pj4+Pj4gLS0tDQo+ID4+Pj4+Pj4gICAgICBleGFtcGxlcy9pcHNlYy1zZWNndy9pcHNl Yy1zZWNndy5jIHwgMjkgKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0NCj4gPj4+Pj4+PiAg ICAgIDEgZmlsZSBjaGFuZ2VkLCAxNSBpbnNlcnRpb25zKCspLCAxNCBkZWxldGlvbnMoLSkNCj4g Pj4+Pj4+Pg0KPiA+Pj4+Pj4+IGRpZmYgLS1naXQgYS9leGFtcGxlcy9pcHNlYy1zZWNndy9pcHNl Yy1zZWNndy5jIGIvZXhhbXBsZXMvaXBzZWMtc2VjZ3cvaXBzZWMtc2VjZ3cuYw0KPiA+Pj4+Pj4+ IGluZGV4IGZhZmI0MTE2MS4uNWQ3MDcxNjU3IDEwMDY0NA0KPiA+Pj4+Pj4+IC0tLSBhL2V4YW1w bGVzL2lwc2VjLXNlY2d3L2lwc2VjLXNlY2d3LmMNCj4gPj4+Pj4+PiArKysgYi9leGFtcGxlcy9p cHNlYy1zZWNndy9pcHNlYy1zZWNndy5jDQo+ID4+Pj4+Pj4gQEAgLTk3MiwyMCArOTcyLDE5IEBA IHByaW50X3VzYWdlKGNvbnN0IGNoYXIgKnByZ25hbWUpDQo+ID4+Pj4+Pj4gICAgICB9DQo+ID4+ Pj4+Pj4NCj4gPj4+Pj4+PiAgICAgIHN0YXRpYyBpbnQzMl90DQo+ID4+Pj4+Pj4gLXBhcnNlX3Bv cnRtYXNrKGNvbnN0IGNoYXIgKnBvcnRtYXNrKQ0KPiA+Pj4+Pj4+ICtwYXJzZV9wb3J0bWFzayhj b25zdCBjaGFyICpwb3J0bWFzaywgdWludDMyX3QgKnBtdikNCj4gPj4+Pj4+PiAgICAgIHsNCj4g Pj4+Pj4+PiAtCWNoYXIgKmVuZCA9IE5VTEw7DQo+ID4+Pj4+Pj4gKwljaGFyICplbmQ7DQo+ID4+ Pj4+Pj4gICAgICAJdW5zaWduZWQgbG9uZyBwbTsNCj4gPj4+Pj4+Pg0KPiA+Pj4+Pj4+ICAgICAg CS8qIHBhcnNlIGhleGFkZWNpbWFsIHN0cmluZyAqLw0KPiA+Pj4+Pj4+ICsJZXJybm8gPSAwOw0K PiA+Pj4+Pj4+ICAgICAgCXBtID0gc3RydG91bChwb3J0bWFzaywgJmVuZCwgMTYpOw0KPiA+Pj4+ Pj4+IC0JaWYgKChwb3J0bWFza1swXSA9PSAnXDAnKSB8fCAoZW5kID09IE5VTEwpIHx8ICgqZW5k ICE9ICdcMCcpKQ0KPiA+Pj4+Pj4+ICsJaWYgKGVycm5vICE9IDAgfHwgKmVuZCAhPSAnXDAnIHx8 IHBtID4gVUlOVDMyX01BWCkNCj4gPj4+Pj4+PiAgICAgIAkJcmV0dXJuIC0xOw0KPiA+Pj4+Pj4+ DQo+ID4+Pj4+Pj4gLQlpZiAoKHBtID09IDApICYmIGVycm5vKQ0KPiA+Pj4+Pj4+IC0JCXJldHVy biAtMTsNCj4gPj4+Pj4+PiAtDQo+ID4+Pj4+Pj4gLQlyZXR1cm4gcG07DQo+ID4+Pj4+Pj4gKwkq cG12ID0gcG07DQo+ID4+Pj4+Pj4gKwlyZXR1cm4gMDsNCj4gPj4+Pj4+PiAgICAgIH0NCj4gPj4+ Pj4+Pg0KPiA+Pj4+Pj4+ICAgICAgc3RhdGljIGludDMyX3QNCj4gPj4+Pj4+PiBAQCAtMTA2Myw2 ICsxMDYyLDcgQEAgcGFyc2VfYXJncyhpbnQzMl90IGFyZ2MsIGNoYXIgKiphcmd2KQ0KPiA+Pj4+ Pj4+ICAgICAgCWludDMyX3Qgb3B0LCByZXQ7DQo+ID4+Pj4+Pj4gICAgICAJY2hhciAqKmFyZ3Zv cHQ7DQo+ID4+Pj4+Pj4gICAgICAJaW50MzJfdCBvcHRpb25faW5kZXg7DQo+ID4+Pj4+Pj4gKwl1 aW50MzJfdCB2Ow0KPiA+Pj4+Pj4+ICAgICAgCWNoYXIgKnByZ25hbWUgPSBhcmd2WzBdOw0KPiA+ Pj4+Pj4+ICAgICAgCWludDMyX3QgZl9wcmVzZW50ID0gMDsNCj4gPj4+Pj4+Pg0KPiA+Pj4+Pj4+ IEBAIC0xMDczLDggKzEwNzMsOCBAQCBwYXJzZV9hcmdzKGludDMyX3QgYXJnYywgY2hhciAqKmFy Z3YpDQo+ID4+Pj4+Pj4NCj4gPj4+Pj4+PiAgICAgIAkJc3dpdGNoIChvcHQpIHsNCj4gPj4+Pj4+ PiAgICAgIAkJY2FzZSAncCc6DQo+ID4+Pj4+Pj4gLQkJCWVuYWJsZWRfcG9ydF9tYXNrID0gcGFy c2VfcG9ydG1hc2sob3B0YXJnKTsNCj4gPj4+Pj4+PiAtCQkJaWYgKGVuYWJsZWRfcG9ydF9tYXNr ID09IDApIHsNCj4gPj4+Pj4+PiArCQkJcmV0ID0gcGFyc2VfcG9ydG1hc2sob3B0YXJnLCAmZW5h YmxlZF9wb3J0X21hc2spOw0KPiA+Pj4+Pj4+ICsJCQlpZiAocmV0IDwgMCB8fCBlbmFibGVkX3Bv cnRfbWFzayA9PSAwKSB7DQo+ID4+Pj4+Pj4gICAgICAJCQkJcHJpbnRmKCJpbnZhbGlkIHBvcnRt YXNrXG4iKTsNCj4gPj4+Pj4+PiAgICAgIAkJCQlwcmludF91c2FnZShwcmduYW1lKTsNCj4gPj4+ Pj4+PiAgICAgIAkJCQlyZXR1cm4gLTE7DQo+ID4+Pj4+Pj4gQEAgLTEwODUsOCArMTA4NSw4IEBA IHBhcnNlX2FyZ3MoaW50MzJfdCBhcmdjLCBjaGFyICoqYXJndikNCj4gPj4+Pj4+PiAgICAgIAkJ CXByb21pc2N1b3VzX29uID0gMTsNCj4gPj4+Pj4+PiAgICAgIAkJCWJyZWFrOw0KPiA+Pj4+Pj4+ ICAgICAgCQljYXNlICd1JzoNCj4gPj4+Pj4+PiAtCQkJdW5wcm90ZWN0ZWRfcG9ydF9tYXNrID0g cGFyc2VfcG9ydG1hc2sob3B0YXJnKTsNCj4gPj4+Pj4+PiAtCQkJaWYgKHVucHJvdGVjdGVkX3Bv cnRfbWFzayA9PSAwKSB7DQo+ID4+Pj4+Pj4gKwkJCXJldCA9IHBhcnNlX3BvcnRtYXNrKG9wdGFy ZywgJnVucHJvdGVjdGVkX3BvcnRfbWFzayk7DQo+ID4+Pj4+Pj4gKwkJCWlmIChyZXQgPCAwKSB7 DQo+ID4+Pj4+Pj4gICAgICAJCQkJcHJpbnRmKCJpbnZhbGlkIHVucHJvdGVjdGVkIHBvcnRtYXNr XG4iKTsNCj4gPj4+Pj4+PiAgICAgIAkJCQlwcmludF91c2FnZShwcmduYW1lKTsNCj4gPj4+Pj4+ PiAgICAgIAkJCQlyZXR1cm4gLTE7DQo+ID4+Pj4+Pj4gQEAgLTExNDcsMTUgKzExNDcsMTYgQEAg cGFyc2VfYXJncyhpbnQzMl90IGFyZ2MsIGNoYXIgKiphcmd2KQ0KPiA+Pj4+Pj4+ICAgICAgCQkJ CQlzaW5nbGVfc2FfaWR4KTsNCj4gPj4+Pj4+PiAgICAgIAkJCWJyZWFrOw0KPiA+Pj4+Pj4+ICAg ICAgCQljYXNlIENNRF9MSU5FX09QVF9DUllQVE9ERVZfTUFTS19OVU06DQo+ID4+Pj4+Pj4gLQkJ CXJldCA9IHBhcnNlX3BvcnRtYXNrKG9wdGFyZyk7DQo+ID4+Pj4+Pj4gKwkJCXJldCA9IHBhcnNl X3BvcnRtYXNrKG9wdGFyZywgJnYpOw0KPiA+Pj4+Pj4gSSB0aGluayB0aGVyZSBpcyBubyBuZWVk IGZvciB2LCBlbmFibGVkX2NyeXB0b2Rldl9tYXNrIGNhbiBiZSB1c2VkIGluc3RlYWQuDQo+ID4+ Pj4+IFJpZ2h0IG5vdyAtIGl0IGNhbid0IGFzIGVuYWJsZWRfY3J5cHRvZGV2bWFzayBpcyB1aW50 NjRfdC4NCj4gPj4+Pj4gVG8gZG8gd2hhdCB5b3Ugc3VnZ2VzdGluZyB3ZSBoYXZlIGVpdGhlciBk b3duZ3JhZGUgZW5hYmxlZF9jcnlwdG9kZXZtYXNrIDMyLWJpdHMsDQo+ID4+Pj4+IG9yIHVwZ3Jh ZGUgZW5hYmxlZF9wb3J0X21hc2sgdG8gNjQtYml0IGFuZCBjaGFuZ2UgcGFyc2VfcG9ydG1hc2so KSB0byBhY2NlcHQgNjQtYml0IHBhcmFtZXRlci4NCj4gPj4+PiBJIGFtIG9rIHdpdGggYW55IG9m IHRoZSBjYXNlLg0KPiA+Pj4+DQo+ID4+Pj4+Pj4gICAgICAJCQlpZiAocmV0ID09IC0xKSB7DQo+ ID4+Pj4+PiBlbmFibGVkX2NyeXB0b2Rldl9tYXNrIHNob3VsZCBub3QgYmUgMCBhbmQgc2hvdWxk IGJlIGNoZWNrZWQgaGVyZS4NCj4gPj4+Pj4gQ291bGQgeW91IGV4cGxhaW4gYSBiaXQgbW9yZSB3 aHkgZW5hYmxlZF9jcnlwdG9kZXZtYXNrPT0wIGlzIG5vdCBhbGxvd2VkPw0KPiA+Pj4+IEJ5IGRl ZmF1bHQsIHRoZSB2YWx1ZSBvZiBlbmFibGVkX2NyeXB0b2Rldm1hc2sgaXMgVUlOVDY0X01BWCwg d2hpY2ggbWVhbnMgYWxsIGNyeXB0bw0KPiA+Pj4+IGRldmljZXMgYXJlIGVuYWJsZWQsIGFuZCBp ZiBpdCBpcyBtYXJrZWQgYXMgMCwgdGhlbiBhbGwgZ2V0IGRpc2FibGVkIHdoaWNoIGlzIG5vdA0K PiA+Pj4+IGNvcnJlY3QgYXMgd2UgbmVlZCBhdGxlYXN0IDEgY3J5cHRvIGRldmljZSBpbiBpcHNl YyBhcHBsaWNhdGlvbi4NCj4gPj4+IE1pZ2h0IGJlIHVzZXIgd291bGQgbGlrZSB0byBydW4gYXBw IHdpdGggaW5saW5lIGlwc2VjIG9ubHksDQo+ID4+PiBvciBoYXZlIGFwcCB0byB3b3JrIGluIGJ5 cGFzcyBtb2RlIG9ubHkgKG5vIGVuY3J5cHQvZGVjcnlwdCkgYXQgYWxsLg0KPiA+Pj4gV2h5IHRo YXQgc2hvdWxkIGJlIGNvbnNpZGVyZWQgYXMgYSBwcm9ibGVtPw0KPiA+Pj4gS29uc3RhbnRpbg0K PiA+PiBBZ3JlZWQgd2l0aCB5b3VyIHBvaW50LiBCdXQgaW4gY2FzZSBvZiBpbmxpbmUgaXBzZWMs IHVzZXIgbWF5IG5vdCBiZSBpbml0aWFsaXppbmcgdGhlIGNyeXB0byBkZXZpY2UgZWl0aGVyLg0K PiA+Pg0KPiA+PiBTbyB0aGUgY3J5cHRvZGV2X21hc2sgb3B0aW9uIHdvdWxkIGJlIHJlZHVuZGFu dCBpbiB0aGF0IGNhc2UgYW5kIGl0IG1heSBub3QgZ2l2ZSB0aGF0IHBhcmFtZXRlci4NCj4gPiBJ dCBpcyBzdGlsbCBub3QgY2xlYXIgdG8gbWUgd2h5IHlvdSdkIGxpa2UgdG8gcHJvaGliaXQgY3J5 cHRvZGV2X21hc2s9PTA/DQo+ID4gV291bGQgYW55dGhpbmcgd2lsbCBiZSBicm9rZW4/DQo+ID4g S29uc3RhbnRpbg0KPiANCj4gU29ycnkgZm9yIGRlbGF5ZWQgcmVzcG9uc2UuIEkgbWlzc2VkIHRo aXMgb25lIHNvbWVob3cuDQo+IA0KPiBOb3RoaW5nIGlzIGJyb2tlbiwNCg0KT2sNCg0KPiBidXQg aXQgbG9va3MgdmVyeSByZWR1bmRhbnQgaW4gY2FzZSBvZiBpbmxpbmUgbW9kZXMsIA0KDQpXaHkg aXMgdGhhdD8NCkxldCBzYXkgSSBoYXZlIGEgY3J5cHRvIGRldmljZSBlbmFibGVkIGZvciBEUERL LCBidXQgZG9uJ3Qgd2FudCB0byB1c2UgaXQNCmZvciB0aGF0IHBhcnRpY3VsYXIgcnVuLiANCg0K PmFuZCBpdCBpcyBub3QgYSB2YWxpZCB2YWx1ZSBpbiBjYXNlIG9mIG90aGVyIG1vZGVzLg0KDQpI b3cgdGhhdCBkaWZmZXJzIGZyb20gYW55IG90aGVyIGludmFsaWQgY3J5cHRvLWRldiBtYXNrPw0K TGV0IHNheSByaWdodCBub3csIHVzZXIgY2FuIGhhdmUgb25seSBvbmUgY3J5cHRvIGRldmljZSwg YnV0IG5vdGhpbmcgc3RvcHMgaGltIHRvIHNwZWNpZnkNCi0tY3J5cHRvZGV2X21hc2s9MHgxMCwg b3Igc28uIA0KDQpLb25zdGFudGluDQoNCj4gDQo+ID4NCj4gPj4gLUFraGlsDQo+ID4+DQo+ID4+ Pj4gU28gaWYgdGhlIHVzZXIgZG9lc24ndA0KPiA+Pj4+IHdhbnQgdG8gZ2l2ZSB0aGUgY3J5cHRv ZGV2X21hc2sgdGhlbiBoZSBtYXkgc2tpcCB0aGF0IHBhcmFtZXRlciwgYnV0IGlmIGl0IGlzIGdp dmluZywNCj4gPj4+PiB0aGVuIGl0IGNhbm5vdCBiZSAwLg0KPiA+Pj4+DQo+ID4+Pj4+IEtvbnN0 YW50aW4NCj4gPj4+Pj4NCj4gPj4+Pj4NCj4gPj4+PiAtQWtoaWwNCj4gPg0K