From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 380B9A04B7; Wed, 14 Oct 2020 08:53:10 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 993881DB52; Wed, 14 Oct 2020 08:53:08 +0200 (CEST) Received: from mailgw02.pantheon.sk (mailgw01.pantheon.sk [46.229.239.26]) by dpdk.org (Postfix) with ESMTP id 667191BFF6 for ; Wed, 14 Oct 2020 08:53:06 +0200 (CEST) Received: from mailgw02.pantheon.sk (localhost.localdomain [127.0.0.1]) by mailgw02.pantheon.sk (Proxmox) with ESMTP id 2A04418338D; Wed, 14 Oct 2020 08:53:05 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=pantheon.tech; h=cc:cc:content-transfer-encoding:content-type:content-type :date:from:from:in-reply-to:message-id:mime-version:references :reply-to:subject:subject:to:to; s=dkim; bh=KF7X/UjjTgIMQKGoV2oi waLFG/5RB682mAcospSHCH0=; b=KWyyqJtX34taYpRtjaAcdWOKZj2PlXEKSmQ7 O/1jLAUHhuozJRpzH9dnRz8jpz1VQu4++DYpBGGc5a8ZMFvk3a1L9tqKIIeHJqzs tcXSj14Mt5zPI0jYvbOFd72vFOzg5p+8Kfg7xu7OoWcnY6XVcg3PpOcW81yhN35Y WST+5RITEl5f2xnru3sN+ts3Qp1JZkYxfOVZmdrm3MXYP5kNYzd5WxGWsZzTFHKs AOcIgH5Efss4plfxVOgI7c2C5yjFAVvhrApUpwWWy/+lcWweKtayRCacssm1Pib6 uZmN+kV/cALiWcagp6Jt5TYRc+hQLyB/mWk7RvHrueNLpdPFGg== From: =?utf-8?B?SnVyYWogTGlua2XFoQ==?= To: Dharmik Thakkar CC: "thomas@monjalon.net" , "dev@dpdk.org" , Stephen Hemminger , Jerin Jacob , nd Thread-Topic: [dpdk-dev] [PATCH 2/2] build: find max lcore programmatically Thread-Index: AQHWeyStgtQbhE4/zE2URFE2PF3gn6lJsEIAgAACOYCADMuM0IAA8/+AgABy0QCAFNFkQIABMGUAgCfcu4CAACiikP//41WAgAEnUcA= Date: Wed, 14 Oct 2020 06:53:04 +0000 Message-ID: References: <20200825211317.8358-1-dharmik.thakkar@arm.com> <12050806.9cV25Y2rms@thomas> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.101.4.10] Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 Subject: Re: [dpdk-dev] [PATCH 2/2] build: find max lcore programmatically 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: , Errors-To: dev-bounces@dpdk.org Sender: "dev" SGkgRGhhcm1paywNCg0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBEaGFy bWlrIFRoYWtrYXIgPERoYXJtaWsuVGhha2thckBhcm0uY29tPg0KPiBTZW50OiBUdWVzZGF5LCBP Y3RvYmVyIDEzLCAyMDIwIDU6MTUgUE0NCj4gVG86IEp1cmFqIExpbmtlxaEgPGp1cmFqLmxpbmtl c0BwYW50aGVvbi50ZWNoPg0KPiBDYzogdGhvbWFzQG1vbmphbG9uLm5ldDsgZGV2QGRwZGsub3Jn OyBTdGVwaGVuIEhlbW1pbmdlcg0KPiA8c3RlcGhlbkBuZXR3b3JrcGx1bWJlci5vcmc+OyBKZXJp biBKYWNvYiA8amVyaW5qYWNvYmtAZ21haWwuY29tPjsgbmQNCj4gPG5kQGFybS5jb20+DQo+IFN1 YmplY3Q6IFJlOiBbZHBkay1kZXZdIFtQQVRDSCAyLzJdIGJ1aWxkOiBmaW5kIG1heCBsY29yZSBw cm9ncmFtbWF0aWNhbGx5DQo+IA0KPiBIaSBKdXJhaiwNCj4gDQo+ID4gT24gT2N0IDEzLCAyMDIw LCBhdCA5OjU4IEFNLCBKdXJhaiBMaW5rZcWhIDxqdXJhai5saW5rZXNAcGFudGhlb24udGVjaD4g d3JvdGU6DQo+ID4NCj4gPiBJIGJlbGlldmUgd2UncmUgZ29pbmcgdG8gZHJvcCB0aGlzIHBhdGNo IHNlcmllcyBpbiBmYXZvciBvZg0KPiBodHRwOi8vcGF0Y2hlcy5kcGRrLm9yZy9wcm9qZWN0L2Rw ZGsvbGlzdC8/c2VyaWVzPTEyOTIzLg0KPiANCj4gSSBjYW4gc2VlIHlvdSBoYXZlIGluY2x1ZGVk IHRoaXMgZmVhdHVyZSBpbiB5b3VyIHNlcmllcy4gVGhhbmsgeW91IQ0KPiBXaGF0IGFyZSB5b3Vy IHRob3VnaHRzIG9uIHRoZSBvdGhlciBwYXRjaCBbMV0/IERvIHlvdSBwbGFuIG9uIGluY2x1ZGlu ZyB0aGF0IGFzDQo+IHdlbGwgaW4geW91ciBzZXJpZXM/DQo+IA0KPiBbMV0gCVsxLzJdIGNvbmZp Zy9hcm06IGF2b2lkIHZhcmlhYmxlIHJldXNlDQo+IGh0dHBzOi8vcGF0Y2hlcy5kcGRrLm9yZy9w YXRjaC83NTk0Ni8NCj4gDQoNCkkgYmVsaWV2ZSB0aGUgZ2VuZXJhbCBpZGVhIG9mIHlvdXIgcGF0 Y2ggaXMgYWxyZWR5IHBhcnQgb2YgbXkgcGF0Y2ggc2VyaWVzIGluIHRoaXMgcGF0Y2g6IGh0dHA6 Ly9wYXRjaGVzLmRwZGsub3JnL3BhdGNoLzgwNTcyLw0KDQo+ID4NCj4gPj4gLS0tLS1PcmlnaW5h bCBNZXNzYWdlLS0tLS0NCj4gPj4gRnJvbTogVGhvbWFzIE1vbmphbG9uIDx0aG9tYXNAbW9uamFs b24ubmV0Pg0KPiA+PiBTZW50OiBUdWVzZGF5LCBPY3RvYmVyIDEzLCAyMDIwIDQ6MzIgUE0NCj4g Pj4gVG86IERoYXJtaWsgVGhha2thciA8RGhhcm1pay5UaGFra2FyQGFybS5jb20+DQo+ID4+IENj OiBKdXJhaiBMaW5rZcWhIDxqdXJhai5saW5rZXNAcGFudGhlb24udGVjaD47IGRldkBkcGRrLm9y ZzsgU3RlcGhlbg0KPiA+PiBIZW1taW5nZXIgPHN0ZXBoZW5AbmV0d29ya3BsdW1iZXIub3JnPjsg SmVyaW4gSmFjb2INCj4gPj4gPGplcmluamFjb2JrQGdtYWlsLmNvbT47IG5kIDxuZEBhcm0uY29t Pg0KPiA+PiBTdWJqZWN0OiBSZTogW2RwZGstZGV2XSBbUEFUQ0ggMi8yXSBidWlsZDogZmluZCBt YXggbGNvcmUNCj4gPj4gcHJvZ3JhbW1hdGljYWxseQ0KPiA+Pg0KPiA+PiBQbGVhc2UsIHdoYXQg aXMgdGhlIGNvbmNsdXNpb24gaGVyZT8NCj4gPj4NCj4gPj4NCj4gPj4gMTgvMDkvMjAyMCAwNzo0 NywgRGhhcm1payBUaGFra2FyOg0KPiA+Pj4NCj4gPj4+PiBPbiBTZXAgMTcsIDIwMjAsIGF0IDQ6 NTYgQU0sIEp1cmFqIExpbmtlxaENCj4gPj4+PiA8anVyYWoubGlua2VzQHBhbnRoZW9uLnRlY2g+ DQo+ID4+IHdyb3RlOg0KPiA+Pj4+DQo+ID4+Pj4NCj4gPj4+Pg0KPiA+Pj4+PiAtLS0tLU9yaWdp bmFsIE1lc3NhZ2UtLS0tLQ0KPiA+Pj4+PiBGcm9tOiBEaGFybWlrIFRoYWtrYXIgPERoYXJtaWsu VGhha2thckBhcm0uY29tPg0KPiA+Pj4+PiBTZW50OiBGcmlkYXksIFNlcHRlbWJlciA0LCAyMDIw IDc6NDQgQU0NCj4gPj4+Pj4gVG86IFN0ZXBoZW4gSGVtbWluZ2VyIDxzdGVwaGVuQG5ldHdvcmtw bHVtYmVyLm9yZz4NCj4gPj4+Pj4gQ2M6IEp1cmFqIExpbmtlxaEgPGp1cmFqLmxpbmtlc0BwYW50 aGVvbi50ZWNoPjsgSmVyaW4gSmFjb2INCj4gPj4+Pj4gPGplcmluamFjb2JrQGdtYWlsLmNvbT47 IHRob21hc0Btb25qYWxvbi5uZXQ7IGRwZGstZGV2DQo+ID4+Pj4+IDxkZXZAZHBkay5vcmc+OyBu ZCA8bmRAYXJtLmNvbT4NCj4gPj4+Pj4gU3ViamVjdDogUmU6IFtkcGRrLWRldl0gW1BBVENIIDIv Ml0gYnVpbGQ6IGZpbmQgbWF4IGxjb3JlDQo+ID4+Pj4+IHByb2dyYW1tYXRpY2FsbHkNCj4gPj4+ Pj4NCj4gPj4+Pj4NCj4gPj4+Pj4NCj4gPj4+Pj4+IE9uIFNlcCAzLCAyMDIwLCBhdCA1OjUyIFBN LCBTdGVwaGVuIEhlbW1pbmdlcg0KPiA+Pj4+PiA8c3RlcGhlbkBuZXR3b3JrcGx1bWJlci5vcmc+ IHdyb3RlOg0KPiA+Pj4+Pj4NCj4gPj4+Pj4+IE9uIFRodSwgMyBTZXAgMjAyMCAwNjoyMDoxNyAr MDAwMCBKdXJhaiBMaW5rZcWhDQo+ID4+Pj4+PiA8anVyYWoubGlua2VzQHBhbnRoZW9uLnRlY2g+ IHdyb3RlOg0KPiA+Pj4+Pj4NCj4gPj4+Pj4+Pj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0N Cj4gPj4+Pj4+Pj4gRnJvbTogZGV2IDxkZXYtYm91bmNlc0BkcGRrLm9yZz4gT24gQmVoYWxmIE9m IERoYXJtaWsgVGhha2thcg0KPiA+Pj4+Pj4+PiBTZW50OiBXZWRuZXNkYXksIEF1Z3VzdCAyNiwg MjAyMCA2OjU2IEFNDQo+ID4+Pj4+Pj4+IFRvOiBKZXJpbiBKYWNvYiA8amVyaW5qYWNvYmtAZ21h aWwuY29tPg0KPiA+Pj4+Pj4+PiBDYzogdGhvbWFzQG1vbmphbG9uLm5ldDsgZHBkay1kZXYgPGRl dkBkcGRrLm9yZz47IG5kDQo+ID4+Pj4+Pj4+IDxuZEBhcm0uY29tPg0KPiA+Pj4+Pj4+PiBTdWJq ZWN0OiBSZTogW2RwZGstZGV2XSBbUEFUQ0ggMi8yXSBidWlsZDogZmluZCBtYXggbGNvcmUNCj4g Pj4+Pj4+Pj4gcHJvZ3JhbW1hdGljYWxseQ0KPiA+Pj4+Pj4+Pg0KPiA+Pj4+Pj4+Pg0KPiA+Pj4+ Pj4+Pg0KPiA+Pj4+Pj4+Pj4gT24gQXVnIDI1LCAyMDIwLCBhdCAxMTo0NyBQTSwgSmVyaW4gSmFj b2INCj4gPj4+Pj4+Pj4+IDxqZXJpbmphY29ia0BnbWFpbC5jb20+DQo+ID4+Pj4+IHdyb3RlOg0K PiA+Pj4+Pj4+Pj4NCj4gPj4+Pj4+Pj4+IE9uIFdlZCwgQXVnIDI2LCAyMDIwIGF0IDI6NDQgQU0g RGhhcm1payBUaGFra2FyDQo+ID4+Pj4+Pj4+IDxkaGFybWlrLnRoYWtrYXJAYXJtLmNvbT4gd3Jv dGU6DQo+ID4+Pj4+Pj4+Pj4NCj4gPj4+Pj4+Pj4+PiBGb3IgQXJtLCBSVEVfTUFYX0xDT1JFIGlz IGhhcmQtY29kZWQgaW50byB0aGUgY29uZmlnLiBJdA0KPiA+Pj4+Pj4+Pj4+IGxlYWRzIHRvIGlu Y29ycmVjdCBSVEVfTUFYX0xDT1JFIHdoZW4gbWFjaGluZXMgaGF2ZSBzYW1lDQo+ID4+IEltcGxl bWVuZXINCj4gPj4+Pj4+Pj4+PiBhbmQgcGFydCBudW1iZXIgYnV0IGRpZmZlcmVudCBudW1iZXIg b2YgQ1BVcy4NCj4gPj4+Pj4+Pj4+PiBGb3IgeDg2LCBSVEVfTUFYX0xDT1JFIGlzIGFsd2F5cyBz ZXQgdG8gMTI4ICh1c2luZyB0aGUgdmFsdWUNCj4gPj4+Pj4+Pj4+PiBzZXQgaW4NCj4gPj4+Pj4+ Pj4+PiBtZXNvbl9vcHRpb25zLnR4dCkNCj4gPj4+Pj4+Pj4+Pg0KPiA+Pj4+Pj4+Pj4+IFVzZSBw eXRob24gc2NyaXB0IHRvIGZpbmQgbWF4IGxjb3JlIHdoZW4gdXNpbmcgbmF0aXZlIGJ1aWxkDQo+ ID4+Pj4+Pj4+Pj4gdG8gY29ycmVjdGx5IHNldCBSVEVfTUFYX0xDT1JFLg0KPiA+Pj4+Pj4+Pj4N Cj4gPj4+Pj4+Pj4+IFdlIG1heSBuZWVkIHRvIGJ1aWxkIG9uIHRoZSBuYXRpdmUgYXJtNjQgbWFj aGluZSBhbmQgdXNlIGl0IG9uDQo+ID4+Pj4+Pj4+PiBhbm90aGVyDQo+ID4+Pj4+Pj4+PiBhcm02 NCBtYWNoaW5lKEp1c3QgbGlrZSB4ODYpLg0KPiA+Pj4+Pj4+Pj4gU28gSSB0aGluaywgYXQgbGVh c3QgZm9yIGRlZmF1bHQgY29uZmlnKHdoaWNoIHdpbGwgYmUgdXNlZCBieQ0KPiA+Pj4+Pj4+Pj4g ZGlzdHJpYnV0aW9uKSB0byBzdXBwb3J0IG1heA0KPiA+Pj4+Pj4+Pj4gbGNvcmVzIGFzIGZpeGVk LiBJIGFtIG5vdCBzdXJlIHRoaXMgcGF0Y2ggY2hhbmdlcyB0aG9zZQ0KPiA+Pj4+Pj4+Pj4gYXNw ZWN0cyBvciBub3Q/IFBsZWFzZSBjaGVjay4NCj4gPj4+Pj4+Pj4NCj4gPj4+Pj4+Pj4gVGhpcyBw YXRjaCBkb2VzICpub3QqIGFmZmVjdCDigJhkZWZhdWx04oCZIGJ1aWxkIHR5cGUgYW5kIGNyb3Nz LQ0KPiBjb21waWxhdGlvbi4NCj4gPj4+Pj4+Pj4NCj4gPj4+Pj4+Pj4+DQo+ID4+Pj4+Pj4+Pj4N Cj4gPj4+Pj4+Pj4+PiBTaWduZWQtb2ZmLWJ5OiBEaGFybWlrIFRoYWtrYXIgPGRoYXJtaWsudGhh a2thckBhcm0uY29tPg0KPiA+Pj4+Pj4+Pj4+IFJldmlld2VkLWJ5OiBSdWlmZW5nIFdhbmcgPHJ1 aWZlbmcud2FuZ0Bhcm0uY29tPg0KPiA+Pj4+Pj4+Pj4+IC0tLQ0KPiA+Pj4+Pj4+Pj4+IGNvbmZp Zy9nZXRfbWF4X2xjb3Jlcy5weSB8IDEzICsrKysrKysrKysrKysNCj4gPj4+Pj4+Pj4+PiBjb25m aWcvbWVzb24uYnVpbGQgICAgICAgfCAxMyArKysrKysrKysrKystDQo+ID4+Pj4+Pj4+Pj4gMiBm aWxlcyBjaGFuZ2VkLCAyNSBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pIGNyZWF0ZSBtb2Rl DQo+ID4+Pj4+Pj4+Pj4gMTAwNzU1IGNvbmZpZy9nZXRfbWF4X2xjb3Jlcy5weQ0KPiA+Pj4+Pj4+ Pj4+DQo+ID4+Pj4+Pj4+Pj4gZGlmZiAtLWdpdCBhL2NvbmZpZy9nZXRfbWF4X2xjb3Jlcy5weQ0K PiA+Pj4+Pj4+Pj4+IGIvY29uZmlnL2dldF9tYXhfbGNvcmVzLnB5IG5ldyBmaWxlIG1vZGUgMTAw NzU1IGluZGV4DQo+ID4+Pj4+Pj4+Pj4gMDAwMDAwMDAwMDAwLi5lYmYxYzdlZmRhZGQNCj4gPj4+ Pj4+Pj4+PiAtLS0gL2Rldi9udWxsDQo+ID4+Pj4+Pj4+Pj4gKysrIGIvY29uZmlnL2dldF9tYXhf bGNvcmVzLnB5DQo+ID4+Pj4+Pj4+Pj4gQEAgLTAsMCArMSwxMyBAQA0KPiA+Pj4+Pj4+Pj4+ICsj IS91c3IvYmluL3B5dGhvbjMNCj4gPj4+Pj4+Pj4+PiArIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmll cjogQlNELTMtQ2xhdXNlICMgQ29weXJpZ2h0KGMpIDIwMjANCj4gPj4+Pj4+Pj4+PiArQXJtIExp bWl0ZWQNCj4gPj4+Pj4+Pj4+PiArDQo+ID4+Pj4+Pj4+Pj4gK2ltcG9ydCBvcw0KPiA+Pj4+Pj4+ Pj4+ICsNCj4gPj4+Pj4+Pj4+PiArbWF4X2xjb3JlcyA9IFtdDQo+ID4+Pj4+Pj4+Pj4gKw0KPiA+ Pj4+Pj4+Pj4+ICtuQ1BVID0gb3MuY3B1X2NvdW50KCkNCj4gPj4+Pj4+Pj4+PiArDQo+ID4+Pj4+ Pj4+Pj4gK21heF9sY29yZXMuYXBwZW5kKHN0cihuQ1BVICYgMHhGRkYpKSAgICAgICAgICAgICAj IE51bWJlciBvZiBDUFVzDQo+ID4+Pj4+Pj4+Pj4gKw0KPiA+Pj4+Pj4+Pj4+ICtwcmludCgnICcu am9pbihtYXhfbGNvcmVzKSkNCj4gPj4+Pj4+Pj4+PiBkaWZmIC0tZ2l0IGEvY29uZmlnL21lc29u LmJ1aWxkIGIvY29uZmlnL21lc29uLmJ1aWxkIGluZGV4DQo+ID4+Pj4+Pj4+Pj4gNjk5NmU1Y2Jl YWE1Li44MGMwNWJjMTVkMmYgMTAwNjQ0DQo+ID4+Pj4+Pj4+Pj4gLS0tIGEvY29uZmlnL21lc29u LmJ1aWxkDQo+ID4+Pj4+Pj4+Pj4gKysrIGIvY29uZmlnL21lc29uLmJ1aWxkDQo+ID4+Pj4+Pj4+ Pj4gQEAgLTIzNywxMSArMjM3LDIyIEBAIGVsc2UgIyBmb3IgMzItYml0IHdlIG5lZWQgc21hbGxl cg0KPiA+Pj4+Pj4+Pj4+IHJlc2VydmVkIG1lbW9yeQ0KPiA+Pj4+Pj4+PiBhcmVhcw0KPiA+Pj4+ Pj4+Pj4+ICAgICBkcGRrX2NvbmYuc2V0KCdSVEVfTUFYX01FTV9NQicsIDIwNDgpIGVuZGlmDQo+ ID4+Pj4+Pj4+Pj4NCj4gPj4+Pj4+Pj4+PiAtDQo+ID4+Pj4+Pj4+Pj4gY29tcGlsZV90aW1lX2Nw dWZsYWdzID0gW10NCj4gPj4+Pj4+Pj4+PiBzdWJkaXIoYXJjaF9zdWJkaXIpDQo+ID4+Pj4+Pj4+ Pj4gZHBka19jb25mLnNldCgnUlRFX0NPTVBJTEVfVElNRV9DUFVGTEFHUycsDQo+ID4+Pj4+Pj4+ Pj4gJywnLmpvaW4oY29tcGlsZV90aW1lX2NwdWZsYWdzKSkNCj4gPj4+Pj4+Pj4+Pg0KPiA+Pj4+ Pj4+Pj4+ICsjIHNldCBtYXggbGNvcmVzDQo+ID4+Pj4+Pj4+Pj4gK2lmIG1hY2hpbmUgIT0gJ2Rl ZmF1bHQnIGFuZCBub3QgbWVzb24uaXNfY3Jvc3NfYnVpbGQoKQ0KPiA+Pj4+Pj4+Pj4+ICsgICAg ICAgIyBUaGUgc2NyaXB0IHJldHVybnMgbWF4IGxjb3Jlcw0KPiA+Pj4+Pj4+Pj4+ICsgICAgICAg cGFyYW1zID0gZmlsZXMoJ2dldF9tYXhfbGNvcmVzLnB5JykNCj4gPj4+Pj4+Pj4+PiArICAgICAg IGNtZF9vdXQgPSBydW5fY29tbWFuZChwYXJhbXMpDQo+ID4+Pj4+Pj4NCj4gPj4+Pj4+PiBIYXZl IHlvdSBjb25zaWRlcmVkIHJ1bm5pbmcganVzdCBhIHNoZWxsIGNvbW1hbmQsIHN1Y2ggYXMgIm5w cm9jIC0tDQo+IGFsbCI/DQo+ID4+Pj4+Pg0KPiA+Pj4+Pj4gSXMgdGhpcyByZWFsbHkgYSBnb29k IGlkZWE/DQo+ID4+Pj4+PiBGb3IgcmVhbCBkaXN0cmlidXRpb25zIGFuZCBORlYgcHJvZHVjdHMs IHRoZSBidWlsZCBhbmQgcnVudGltZQ0KPiA+Pj4+Pj4gZW52aXJvbm1lbnQgd2lsbCB1c3VhbGx5 IGJlIGRpZmZlcmVudCBldmVuIGlmIG9uIHNhbWUgQ1BVIGFyY2hpdGVjdHVyZS4NCj4gPj4+Pj4+ DQo+ID4+Pj4+PiBJbiBtYW55IGNhc2VzIHRoZXJlIG1heWJlIGEgaHVnZSBidWlsZCBtYWNoaW5l ICgxMjggQ1BVKSBvciBpbiBhDQo+ID4+Pj4+PiBjb250YWluZXIgKHJlcG9ydGVkIGFzIHNpbmds ZSBjcHUpIGV2ZW4gaWYgbm90IGRvaW5nIGNyb3NzIGJ1aWxkLg0KPiA+Pj4+Pg0KPiA+Pj4+PiBU aGF04oCZcyBhIGdyZWF0IHBvaW50LCBTdGVwaGVuLiBJTU8sIHRoaXMgcGF0Y2ggaXMgdXNlZnVs IHdoZW4NCj4gPj4+Pj4gYnVpbGRpbmcgYW5kIHJ1bm5pbmcgbmF0aXZlbHkuDQo+ID4+Pj4+IEZv ciBhbGwgb3RoZXIgcHVycG9zZXMgKGxpa2UgdGhlIG9uZXMgeW91IG1lbnRpb25lZCksIGRvIHlv dSB0aGluaw0KPiA+Pj4+PiBpdCBpcyBhIGdvb2QgaWRlYSB0byBzZXQgUlRFX01BWF9MQ09SRSB1 c2luZyAtRG1heF9sY29yZXM/DQo+ID4+Pj4NCj4gPj4+PiBXZSBzaG91bGQgb25seSB1c2UgdGhp cyBuYXRpdmUgYnVpbGRzLCBhcyB0aGF0IHdvdWxkIGJlIGNvbnNpc3RlbnQNCj4gPj4+PiB3aXRo IHRoZQ0KPiA+PiBjdXJyZW50IG1lc29uIGJ1aWxkIHBoaWxvc29waHkgb2YgIm1lc29uIGZpZ3Vy aW5nIGFzIG11Y2ggYXMgcG9zc2libGUNCj4gPj4gb24gaXRzIG93biIuIEFueSBidWlsZCBvdGhl ciB0aGFuIG5hdGl2ZSBpbXBsaWVzIHRoZSB1c2VyIHdhbnRzIHRvDQo+ID4+IGRldmlhdGUgZnJv bSB0aGUgYnVpbGQgbWFjaGluZS4NCj4gPj4+Pg0KPiA+Pj4NCj4gPj4+IFRoZSBNSURSIHZhbHVl LWJhc2VkIHByb2JpbmcgZG9lc27igJl0IHF1aXRlIHdvcmsgd2VsbCBmb3IgQXJtIElQDQo+ID4+ PiAoY3VycmVudGx5DQo+ID4+IGJlaW5nIGRpc2N1c3NlZCBvbiB0aGlzIHBhdGNoOiBodHRwczov L3BhdGNoZXMuZHBkay5vcmcvcGF0Y2gvNzY5ODEvKS4NCj4gPj4+DQo+ID4+Pj4gT25lIHdheSB0 byBkbyB0aGlzIGF1dG9tYXRpYyBjb3JlIGNvdW50IGlzIHdoZW4gbWF4X2xjb3Jlcz0wICgwDQo+ ID4+Pj4gd291bGQNCj4gPj4gaGF2ZSB0aGUgc3BlY2lhbCBtZWFuaW5nIG9mICJmaWd1cmUgY29y ZSBjb3VudCBhdXRvbWF0aWNhbGx5IikuIFdlDQo+ID4+IGNhbiBzZXQgdGhhdCBhcyBkZWZhdWx0 IGluIG1lc29uX29wdGlvbi50eHQgYW5kIHRoZW4gdXNlcnMgd2lsbCBoYXZlDQo+ID4+IHRoZSBh YmlsaXR5IHRvIHNldCBpdCB0byB3aGF0ZXZlciB0aGV5IHdhbnQsIGV2ZW4gZm9yIG5hdGl2ZSBi dWlsZHMuIFdoYXQgZG8NCj4geW91IHRoaW5rPw0KPiA+Pj4+DQo+ID4+Pg0KPiA+Pj4gWWVzLCBh Z3JlZWQuDQo+ID4+Pg0KPiA+Pj4+IEN1cnJlbnRseSB0aGUgLURtYXhfbGNvcmVzIG9wdGlvbiBk b2Vzbid0IHdvcmsgZm9yIGFybSBidWlsZHMgKHRoZQ0KPiA+Pj4+IHZhbHVlIG9mDQo+ID4+IFJU RV9NQVhfTENPUkUgaXMgb3ZlcndyaXR0ZW4gaW4gY29uZmlnL2FybS9tZXNvbi5idWlsZCkuIEkg YmVsaWV2ZQ0KPiA+PiB0aGUgcGF0Y2ggdHJpZXMgdG8gYWRkcmVzcyB0aGlzLCBidXQgc3RpbGws IHdlIG5lZWQgdG8gYmUgbWluZGZ1bCBvZiB0aGF0Lg0KPiA+Pj4+DQo+ID4+Pj4gSnVyYWoNCj4g Pj4NCj4gPj4NCj4gPg0KDQo=