From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from EUR04-VI1-obe.outbound.protection.outlook.com (mail-eopbgr80095.outbound.protection.outlook.com [40.107.8.95]) by dpdk.org (Postfix) with ESMTP id C0CB71B71D for ; Sun, 16 Dec 2018 10:44:46 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=radwareil.onmicrosoft.com; s=selector1-radware-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=lXTW+437zWErMYTVPLddQ9WfTccjUJmLTyKxALSgv30=; b=GsL82hWhaO+0FrmfLOAR4SJv/VHSpMtqO60/dzsykyv4WQi1AG82d3lgUvOEV6Bz8+AsKgeXsUEqVUrI9Ki7N9SYshx+0C7mZYBZUjt8IwM8xISdRuBAjW/afc6FQv82Ich7HbXROCOA25+pUDr1S84rhgi9PqZIyiUKY5V2Sy4= Received: from DB7PR01MB4635.eurprd01.prod.exchangelabs.com (20.178.40.161) by DB7PR01MB4904.eurprd01.prod.exchangelabs.com (20.177.192.157) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1425.18; Sun, 16 Dec 2018 09:44:45 +0000 Received: from DB7PR01MB4635.eurprd01.prod.exchangelabs.com ([fe80::2dbb:ef38:1c62:1228]) by DB7PR01MB4635.eurprd01.prod.exchangelabs.com ([fe80::2dbb:ef38:1c62:1228%3]) with mapi id 15.20.1425.021; Sun, 16 Dec 2018 09:44:45 +0000 From: Asaf Sinai To: "Burakov, Anatoly" , Ilya Maximets , Hemant Agrawal , "dev@dpdk.org" , Thomas Monjalon CC: Ilia Ferdman , Sasha Hodos Thread-Topic: [dpdk-dev] CONFIG_RTE_EAL_NUMA_AWARE_HUGEPAGES: no difference in memory pool allocations, when enabling/disabling this configuration Thread-Index: AdSFaFo2gLq237SpTfudELfXb1WoKAAEDcIAAABYBnAAANcRAAACVWOAAADqi4AAAB7/gAAAx/mAAAD4ZwAAAF84gAAAYNyAAADjsIAAAO5L4AAn51IAAAA5hAAADSknAADwR0bQAY+ID4ABLLs9oA== Date: Sun, 16 Dec 2018 09:44:44 +0000 Message-ID: References: <518f9333-8d80-0fa2-d391-b4c8df181508@intel.com> <12283bd1-ea0d-38d1-f64d-508596e48cd9@intel.com> <6ce31b20-19ea-ccaf-17d4-f36ab3959710@samsung.com> <5a045a4f-4037-cebf-ea02-7018c28918d0@samsung.com> <7edc7b3b-4a35-3b90-a10a-de67e7f31261@intel.com> <7868b0b5-d4f5-9e64-ec55-f7bbdc45b400@samsung.com> <6e498ac6-2f4a-9fb1-4da9-b6c622c82e60@intel.com> <9f6b885a-a795-19c3-64eb-edf69d72200a@nxp.com> <3e685127-a32a-3c4c-63d5-5ccdc0181fbc@intel.com> <71f711a9-c493-8df0-1888-fef5f40c80bd@samsung.com> <54a29dcc-7d21-9af2-1ce5-9a221d63e60f@intel.com> In-Reply-To: <54a29dcc-7d21-9af2-1ce5-9a221d63e60f@intel.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: spf=none (sender IP is ) smtp.mailfrom=AsafSi@Radware.com; x-originating-ip: [192.115.180.11] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1; DB7PR01MB4904; 6:wNvOuit2lIZHlN6s50f5F0nemg5n3KrtOnK07e0ZX24ki1zXMeMyOj9IAIPiu6DAFusl4/YAuEDfHOz9f9WqBv2YZog9/XSXbEFtNQJHQad4/HHnvsKp66PqYLUhe1P0FR96TjGwlHryWxEIbGW0Lu0hSkL3s0PxKkH+OeV+iFVPt0mFTP8GS2X0ii10AYmvccAVa+o1PL++02Ll7k0MmnJ/Du+q53YTo8B668xP3Br6afb3c23wJtc/i13PFUVK4DakBQX8Qyf4Y4oah9f0+PsEUmirex/ccUSqRGanB499sPBGKdUDsBSai8QV8mlt+RHCElgSr7PO6WC8nsKa3QPKmSLakA4aTt4yxDmWLijRAmg9X8fpOj7aHYX3oLz+PH7K74Hy257c29S1IdowQVnjTbONf4jBxhH7oQNegJpOl6JMpAI7Fck6xMJvvLAKiuyPL2ITm2fMW7AS+AZ+5g==; 5:13akwNJ3ol3RjSsVsKfkS1u82MRcuHhGm5vnKE0RGVGbhz7tg/GLj6VsfUvCeAhDgOTrqqMlx2yKVApyHSSbW1yTOhzXNO/61n8rcFvJPuPexCqmokxBe+P7vtnIlyBYtwYGBa9mjOIfynAhO/syvTI+68xX4ZCOrHwVhUQyKvc=; 7:9910JBHP87jYY1EvsTBX/sOBuqexAUCdqgTjfquq4H/+hY8/Bx+obYtX0BJ6S+w3oKtqx0K0NaUTzyoM0g2xdm19Hx/RgMqQOgz1ljH7D4yY2dvRH/UgBJGY0Bth30dKs9TlvBktSvGJe9Xiy39FBg== x-ms-office365-filtering-correlation-id: 65aa31e7-6ee9-4e2d-c94b-08d6633b1c6f x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600074)(711020)(2017052603328)(7153060)(7193020); SRVR:DB7PR01MB4904; x-ms-traffictypediagnostic: DB7PR01MB4904: x-microsoft-antispam-prvs: x-ms-exchange-senderadcheck: 1 x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(8211001083)(3230021)(999002)(6040522)(2401047)(5005006)(8121501046)(3231475)(944501520)(52105112)(93006095)(93001095)(3002001)(10201501046)(148016)(149066)(150057)(6041310)(20161123562045)(20161123558120)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123560045)(20161123564045)(201708071742011)(7699051)(76991095); SRVR:DB7PR01MB4904; BCL:0; PCL:0; RULEID:; SRVR:DB7PR01MB4904; x-forefront-prvs: 0888B1D284 x-forefront-antispam-report: SFV:NSPM; SFS:(10019020)(366004)(346002)(376002)(39860400002)(396003)(136003)(51914003)(52314003)(13464003)(53754006)(199004)(189003)(7736002)(45080400002)(305945005)(86362001)(575784001)(3846002)(478600001)(66066001)(6246003)(26005)(25786009)(107886003)(186003)(106356001)(6436002)(93886005)(99286004)(2501003)(97736004)(53936002)(2906002)(4744004)(68736007)(80792005)(71190400001)(71200400001)(14454004)(966005)(74316002)(6116002)(72206003)(316002)(81166006)(476003)(33656002)(486006)(446003)(8936002)(4326008)(5024004)(14444005)(256004)(8676002)(81156014)(54906003)(5660300001)(229853002)(110136005)(7696005)(6306002)(9686003)(105586002)(55016002)(11346002)(102836004)(6506007)(76176011)(53546011)(44543001); DIR:OUT; SFP:1102; SCL:1; SRVR:DB7PR01MB4904; H:DB7PR01MB4635.eurprd01.prod.exchangelabs.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; received-spf: None (protection.outlook.com: Radware.com does not designate permitted sender hosts) x-microsoft-antispam-message-info: ZLHucQHTZYedRFOxwknvxPRf5yst/vfHX+wVnHuKq0G9LCkNLRiKNONAgQGlqlDkQu1TDNJU2vYBQS9qQt172Ds0evDTap3lawsHGdZVpx2rseeO7p8lD8yReOhKgXCUrP7FkGPljNYQvE5YfqZ6b7ArRfLK+Eg0H2DIzeDz9aqFzhCXpkl2OyZR9555W/a9fW1Mn59OTQhGEuRGucMMH/TOHZYjB2I3fTxQD+bruiduC3FR6C+y8uK1/gQ0gAwSNi3lgaRray06ZRZZtuqTwcJFe1uvvJ0oo3DC9stqxQkJzHmU/dZinQc9Ap7yQ1FN spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: radware.com X-MS-Exchange-CrossTenant-Network-Message-Id: 65aa31e7-6ee9-4e2d-c94b-08d6633b1c6f X-MS-Exchange-CrossTenant-originalarrivaltime: 16 Dec 2018 09:44:44.8937 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 6ae4e000-b5d0-4f48-a766-402d46119b76 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB7PR01MB4904 Subject: Re: [dpdk-dev] CONFIG_RTE_EAL_NUMA_AWARE_HUGEPAGES: no difference in memory pool allocations, when enabling/disabling this configuration 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: Sun, 16 Dec 2018 09:44:47 -0000 SGkgQW5hdG9seSwNCg0KVGhhbmsgeW91IHZlcnkgbXVjaCBmb3IgdGhlIHVzZWZ1bCBleHBsYW5h dGlvbnMhDQoNClRoYW5rcywNCkFzYWYNCg0KLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCkZy b206IEJ1cmFrb3YsIEFuYXRvbHkgPGFuYXRvbHkuYnVyYWtvdkBpbnRlbC5jb20+IA0KU2VudDog TW9uZGF5LCBEZWNlbWJlciAxMCwgMjAxOCAxMjoxMCBQTQ0KVG86IEFzYWYgU2luYWkgPEFzYWZT aUBSYWR3YXJlLmNvbT47IElseWEgTWF4aW1ldHMgPGkubWF4aW1ldHNAc2Ftc3VuZy5jb20+OyBI ZW1hbnQgQWdyYXdhbCA8aGVtYW50LmFncmF3YWxAbnhwLmNvbT47IGRldkBkcGRrLm9yZzsgVGhv bWFzIE1vbmphbG9uIDx0aG9tYXNAbW9uamFsb24ubmV0Pg0KQ2M6IElsaWEgRmVyZG1hbiA8SWxp YUZAUmFkd2FyZS5jb20+OyBTYXNoYSBIb2RvcyA8U2FzaGFIQFJhZHdhcmUuY29tPg0KU3ViamVj dDogUmU6IFtkcGRrLWRldl0gQ09ORklHX1JURV9FQUxfTlVNQV9BV0FSRV9IVUdFUEFHRVM6IG5v IGRpZmZlcmVuY2UgaW4gbWVtb3J5IHBvb2wgYWxsb2NhdGlvbnMsIHdoZW4gZW5hYmxpbmcvZGlz YWJsaW5nIHRoaXMgY29uZmlndXJhdGlvbg0KDQpPbiAwOS1EZWMtMTggODoxNCBBTSwgQXNhZiBT aW5haSB3cm90ZToNCj4gSGkgYWxsLA0KPiANCj4gVGhhbmtzIGZvciB0aGUgZGV0YWlsZWQgZXhw bGFuYXRpb25zIQ0KPiANCj4gU28sIHdoYXQgd2UgdW5kZXJzdG9vZCBmcm9tIHRoYXQsIGlzIHRo ZSBmb2xsb3dpbmcgKHBsZWFzZSBjb3JyZWN0LCBpZiBpdCBpcyB3cm9uZyk6DQo+IEJlZm9yZSAx OC4wNSB2ZXJzaW9uOg0KPiAtIERpdmlkaW5nIGh1Z2UgcGFnZXMgYmV0d2VlbiBOVU1BcyB3YXMg YmFzZWQsIGJ5IGRlZmF1bHQsIG9uIExpbnV4IGdvb2Qgd2lsbC4NCj4gLSBFbmZvcmNpbmcgTGlu dXggdG8gZGl2aWRlIGh1Z2UgcGFnZXMgYmV0d2VlbiBOVU1BcywgcmVxdWlyZWQgZW5hYmxpbmcg Y29uZmlndXJhdGlvbiBvcHRpb24gIkNPTkZJR19SVEVfRUFMX05VTUFfQVdBUkVfSFVHRVBBR0VT Ii4NCj4gLSBUaGUgZW5mb3JjZW1lbnQgd2FzIGRvbmUgdmlhICJsaWJudW1hIiBsaWJyYXJ5Lg0K PiANCj4gIEZyb20gMTguMDUgdmVyc2lvbjoNCj4gLSBUaGUgbWVudGlvbmVkIGNvbmZpZ3VyYXRp b24gb3B0aW9uIGlzIGlnbm9yZWQsIHNvIHRoYXQgYnkgZGVmYXVsdCwgYWxsIGh1Z2UgcGFnZXMg YXJlIGFsbG9jYXRlZCBvbiBOVU1BIDAuDQo+IC0gaWYgImxpYm51bWEiIGxpYnJhcnkgZXhpc3Rz IGluIHN5c3RlbSwgdGhlbiBodWdlIHBhZ2VzIHdpbGwgYmUgZGl2aWRlZCBiZXR3ZWVuIE5VTUFz LCB3aXRob3V0IGFueSBzcGVjaWFsIGNvbmZpZ3VyYXRpb24uDQo+IC0gVGhlIGFib3ZlIGlzIHJl bGV2YW50IHRvIGFyY2hpdGVjdHVyZXMgdGhhdCBzdXBwb3J0IE5VTUEsIGUuZy4gWDg2ICh3aGlj aCB3ZSB1c2UpLg0KPiANCj4gVGhhbmtzLA0KPiBBc2FmDQoNCkhpIEFzYWYsDQoNCkJlZm9yZSAx OC4wNSwgdGhlIGFib3ZlIGRlc2NyaXB0aW9uIGlzIGNvcnJlY3QuDQoNClNpbmNlIDE4LjA1LCBp dCdzIG5vdCBfcXVpdGVfIGxpa2UgdGhhdC4gVGhlcmUgYXJlIHR3byBtZW1vcnkgbW9kZXMgaW4N CjE4LjA1IC0gZGVmYXVsdCBhbmQgbGVnYWN5LiBMZWdhY3kgbW9kZSBwcmV0dHkgbXVjaCBiZWhh dmVzIGxpa2UNCnByZS0xOC4wNSBjb2RlLg0KDQpEZWZhdWx0IG1lbW9yeSBtb2RlIHdpdGhvdXQg dGhlIENPTkZJR19SVEVfRUFMX05VTUFfQVdBUkVfSFVHRVBBR0VTIGZvciBhbGwgaW50ZW50cyBh bmQgcHVycG9zZXMgc2hvdWxkIGJlIGNvbnNpZGVyZWQgdW5zdXBwb3J0ZWQgZm9yIHBvc3QtMTgu MDUgY29kZSwgYW5kIGxpYm51bWEgc2hvdWxkIGJlIGNvbnNpZGVyZWQgdG8gYmUgYSBoYXJkIGRl cGVuZGVuY3kgZm9yIG5vbi1sZWdhY3ksIE5VTUEtYXdhcmUgY29kZS4gV2l0aG91dCB0aGlzIG9w dGlvbiwgRUFMIHdpbGwgZGlzYWxsb3cgYWxsb2NhdGlvbnMgb24gc29ja2V0cyBvdGhlciB0aGFu IDAsIGJ1dCBvbiBhIE5VTUEtZW5hYmxlZCBzeXN0ZW0sIHlvdSB3b24ndCBuZWNlc3NhcmlseSBn ZXQgbWVtb3J5IGZyb20gc29ja2V0IDAgLSBpdCB3aWxsICpzYXkqIGl0IGlzIG9uIHNvY2tldCAw LCBidXQgaXQgbWF5IG5vdCAqYWN0dWFsbHkqIGJlIHRoZSBjYXNlLCBiZWNhdXNlIHdpdGhvdXQg bGlibnVtYSB3ZSBkbyBub3QgY2hlY2sgd2hlcmUgaXQgd2FzIGFsbG9jYXRlZC4NCg0KUmVhc29u cyBmb3IgdGhlIGFib3ZlIGJlaGF2aW9yIGlzIHNpbXBsZTogbGVnYWN5IG1lbSBtb2RlIHByZWFs bG9jYXRlcyBhbGwgbWVtb3J5IGluIGFkdmFuY2UuIFRoaXMgZ2l2ZXMgdXMgYW4gb3Bwb3J0dW5p dHkgdG8gZmlndXJlIG91dCBwYWdlIHNvY2tldCBhZmZpbml0eSBhdCBpbml0aWFsaXphdGlvbiwg YW5kIG5vdCB3b3JyeSBhYm91dCBpdCBhZnRlcndhcmRzLiANCk5vbi1sZWdhY3kgbW9kZSBkb2Vz bid0IGhhdmUgdGhlIGx1eHVyeSBvZiBwcmVhbGxvY2F0aW5nIGFsbCBtZW1vcnkgaW4gYWR2YW5j ZSwgaW5zdGVhZCB3ZSBhbGxvY2F0ZSBtZW1vcnkgb24gdGhlIGZseSAtIHdoaWNoIG1lYW5zIHRo YXQgd2hlbmV2ZXIgYW4gYWxsb2NhdGlvbiBpcyByZXF1ZXN0ZWQsIHdlIG5lZWQgbWVtb3J5IG5v dCBqdXN0IGFueXdoZXJlIChsaWtlIGluIGxlZ2FjeSBpbml0IGNhc2UpLCBidXQgbG9jYXRlZCBv biBhIHNwZWNpZmljIHNvY2tldCAtIHdlIGNhbm5vdCAic29ydCBpdCBvdXQgbGF0ZXIiIGxpa2Ug d2UgZG8gd2l0aCBsZWdhY3kgbWVtLiBXaXRob3V0IGxpYm51bWEsIHdlIGNhbm5vdCBnZXQgdGhp cyBmdW5jdGlvbmFsaXR5Lg0KDQo+IA0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBG cm9tOiBJbHlhIE1heGltZXRzIDxpLm1heGltZXRzQHNhbXN1bmcuY29tPg0KPiBTZW50OiBUdWVz ZGF5LCBOb3ZlbWJlciAyNywgMjAxOCAwNjo1MCBQTQ0KPiBUbzogQnVyYWtvdiwgQW5hdG9seSA8 YW5hdG9seS5idXJha292QGludGVsLmNvbT47IEhlbWFudCBBZ3Jhd2FsIA0KPiA8aGVtYW50LmFn cmF3YWxAbnhwLmNvbT47IEFzYWYgU2luYWkgPEFzYWZTaUBSYWR3YXJlLmNvbT47IA0KPiBkZXZA ZHBkay5vcmc7IFRob21hcyBNb25qYWxvbiA8dGhvbWFzQG1vbmphbG9uLm5ldD4NCj4gQ2M6IEls aWEgRmVyZG1hbiA8SWxpYUZAUmFkd2FyZS5jb20+OyBTYXNoYSBIb2RvcyA8U2FzaGFIQFJhZHdh cmUuY29tPg0KPiBTdWJqZWN0OiBSZTogW2RwZGstZGV2XSBDT05GSUdfUlRFX0VBTF9OVU1BX0FX QVJFX0hVR0VQQUdFUzogbm8gDQo+IGRpZmZlcmVuY2UgaW4gbWVtb3J5IHBvb2wgYWxsb2NhdGlv bnMsIHdoZW4gZW5hYmxpbmcvZGlzYWJsaW5nIHRoaXMgDQo+IGNvbmZpZ3VyYXRpb24NCj4gDQo+ IE9uIDI3LjExLjIwMTggMTM6MzMsIEJ1cmFrb3YsIEFuYXRvbHkgd3JvdGU6DQo+PiBPbiAyNy1O b3YtMTggMTA6MjYgQU0sIEhlbWFudCBBZ3Jhd2FsIHdyb3RlOg0KPj4+DQo+Pj4gT24gMTEvMjYv MjAxOCA4OjU1IFBNLCBBc2FmIFNpbmFpIHdyb3RlOg0KPj4+PiArQ0MgSWxpYSAmIFNhc2hhLg0K Pj4+Pg0KPj4+PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPj4+PiBGcm9tOiBCdXJha292 LCBBbmF0b2x5IDxhbmF0b2x5LmJ1cmFrb3ZAaW50ZWwuY29tPg0KPj4+PiBTZW50OiBNb25kYXks IE5vdmVtYmVyIDI2LCAyMDE4IDA0OjU3IFBNDQo+Pj4+IFRvOiBJbHlhIE1heGltZXRzIDxpLm1h eGltZXRzQHNhbXN1bmcuY29tPjsgQXNhZiBTaW5haSANCj4+Pj4gPEFzYWZTaUBSYWR3YXJlLmNv bT47IGRldkBkcGRrLm9yZzsgVGhvbWFzIE1vbmphbG9uIA0KPj4+PiA8dGhvbWFzQG1vbmphbG9u Lm5ldD4NCj4+Pj4gU3ViamVjdDogUmU6IFtkcGRrLWRldl0gQ09ORklHX1JURV9FQUxfTlVNQV9B V0FSRV9IVUdFUEFHRVM6IG5vIA0KPj4+PiBkaWZmZXJlbmNlIGluIG1lbW9yeSBwb29sIGFsbG9j YXRpb25zLCB3aGVuIGVuYWJsaW5nL2Rpc2FibGluZyB0aGlzIA0KPj4+PiBjb25maWd1cmF0aW9u DQo+Pj4+DQo+Pj4+IE9uIDI2LU5vdi0xOCAyOjMyIFBNLCBJbHlhIE1heGltZXRzIHdyb3RlOg0K Pj4+Pj4gT24gMjYuMTEuMjAxOCAxNzoyMSwgQnVyYWtvdiwgQW5hdG9seSB3cm90ZToNCj4+Pj4+ PiBPbiAyNi1Ob3YtMTggMjoxMCBQTSwgSWx5YSBNYXhpbWV0cyB3cm90ZToNCj4+Pj4+Pj4gT24g MjYuMTEuMjAxOCAxNjo0MiwgQnVyYWtvdiwgQW5hdG9seSB3cm90ZToNCj4+Pj4+Pj4+IE9uIDI2 LU5vdi0xOCAxOjIwIFBNLCBJbHlhIE1heGltZXRzIHdyb3RlOg0KPj4+Pj4+Pj4+IE9uIDI2LjEx LjIwMTggMTY6MTYsIElseWEgTWF4aW1ldHMgd3JvdGU6DQo+Pj4+Pj4+Pj4+IE9uIDI2LjExLjIw MTggMTU6NTAsIEJ1cmFrb3YsIEFuYXRvbHkgd3JvdGU6DQo+Pj4+Pj4+Pj4+PiBPbiAyNi1Ob3Yt MTggMTE6NDMgQU0sIEJ1cmFrb3YsIEFuYXRvbHkgd3JvdGU6DQo+Pj4+Pj4+Pj4+Pj4gT24gMjYt Tm92LTE4IDExOjMzIEFNLCBBc2FmIFNpbmFpIHdyb3RlOg0KPj4+Pj4+Pj4+Pj4+PiBIaSBBbmF0 b2x5LA0KPj4+Pj4+Pj4+Pj4+Pg0KPj4+Pj4+Pj4+Pj4+PiBXZSBkaWQgbm90IGNoZWNrIGl0IHdp dGggInRlc3RwbWQiLCBvbmx5IHdpdGggb3VyIGFwcGxpY2F0aW9uLg0KPj4+Pj4+Pj4+Pj4+PiAg wqDCoCDCoMKgwqBGcm9tIHRoZSBiZWdpbm5pbmcsIHdlIGRpZCBub3QgZW5hYmxlIHRoaXMgY29u ZmlndXJhdGlvbiAobG9vayBhdCBhdHRhY2hlZCBmaWxlcyksIGFuZCBldmVyeXRoaW5nIHdvcmtz IGZpbmUuDQo+Pj4+Pj4+Pj4+Pj4+IE9mIGNvdXJzZSB3ZSByZWJ1aWxkIERQREssIHdoZW4gd2Ug Y2hhbmdlIGNvbmZpZ3VyYXRpb24uDQo+Pj4+Pj4+Pj4+Pj4+IFBsZWFzZSBub3RlIHRoYXQgd2Ug dXNlIERQREsgMTcuMTEuMywgbWF5YmUgdGhpcyBpcyB3aHkgaXQgd29ya3MgZmluZT8NCj4+Pj4+ Pj4+Pj4+PiBKdXN0IHRlc3RlZCB3aXRoIERQREsgMTcuMTEsIGFuZCB5ZXMsIGl0IGRvZXMgd29y ayB0aGUgd2F5IHlvdSBhcmUgZGVzY3JpYmluZy4gVGhpcyBpcyBub3QgaW50ZW5kZWQgYmVoYXZp b3IuIEkgd2lsbCBsb29rIGludG8gaXQuDQo+Pj4+Pj4+Pj4+Pj4NCj4+Pj4+Pj4+Pj4+ICtDQyBh dXRob3Igb2YgY29tbWl0IGludHJvZHVjaW5nIENPTkZJR19SVEVfRUFMX05VTUFfQVdBUkVfSFVH RVBBR0VTLg0KPj4+Pj4+Pj4+Pj4NCj4+Pj4+Pj4+Pj4+IExvb2tpbmcgYXQgdGhlIGNvZGUsIGkg dGhpbmsgdGhpcyBjb25maWcgb3B0aW9uIG5lZWRzIHRvIGJlIHJld29ya2VkIGFuZCB3ZSBzaG91 bGQgY2xhcmlmeSB3aGF0IHdlIG1lYW4gYnkgdGhpcyBvcHRpb24uIEl0IGFwcGVhcnMgdGhhdCBp J3ZlIG1pc3VuZGVyc3Rvb2Qgd2hhdCB0aGlzIG9wdGlvbiBhY3R1YWxseSBpbnRlbmRlZCB0byBk bywgYW5kIGkgYWxzbyB0aGluayBpdCdzIG5hbWluZyBjb3VsZCBiZSBpbXByb3ZlZCBiZWNhdXNl IGl0J3MgY29uZnVzaW5nIGFuZCBtaXNsZWFkaW5nLg0KPj4+Pj4+Pj4+Pj4NCj4+Pj4+Pj4+Pj4+ IEluIDE3LjExLCB0aGlzIG9wdGlvbiBkb2VzICpub3QqIHByZXZlbnQgRUFMIGZyb20gdXNpbmcg TlVNQSAtIGl0IG1lcmVseSBkaXNhYmxlcyB1c2luZyBsaWJudW1hIHRvIHBlcmZvcm0gbWVtb3J5 IGFsbG9jYXRpb24uIFRoaXMgbG9va3MgbGlrZSBpbnRlbmRlZCAoaWYgY291bnRlci1pbnR1aXRp dmUpIGJlaGF2aW9yIC0gZGlzYWJsaW5nIHRoaXMgb3B0aW9uIHdpbGwgc2ltcGx5IHJldmVydCBE UERLIHRvIHdvcmtpbmcgYXMgaXQgZGlkIGJlZm9yZSB0aGlzIG9wdGlvbiB3YXMgaW50cm9kdWNl ZCAoaS5lLiBiZXN0LWVmZm9ydCBhbGxvY2F0aW9uKS4gVGhpcyBpcyB3aHkgeW91ciBjb2RlIHN0 aWxsIHdvcmtzIC0gYmVjYXVzZSBFQUwgc3RpbGwgZG9lcyBhbGxvY2F0ZSBtZW1vcnkgb24gc29j a2V0IDEsIGFuZCAqa25vd3MqIHRoYXQgaXQncyBzb2NrZXQgMSBtZW1vcnkuIEl0IHN0aWxsIHN1 cHBvcnRzIE5VTUEuDQo+Pj4+Pj4+Pj4+Pg0KPj4+Pj4+Pj4+Pj4gVGhlIGNvbW1pdCBtZXNzYWdl IGZvciB0aGVzZSBjaGFuZ2VzIHN0YXRlcyB0aGF0IHRoZSBhY3R1YWwgcHVycG9zZSBvZiB0aGlz IG9wdGlvbiBpcyB0byBlbmFibGUgImJhbGFuY2VkIiBodWdlcGFnZSBhbGxvY2F0aW9uLiBJbiBj YXNlIG9mIGNncm91cHMgbGltaXRhdGlvbnMsIHByZXZpb3VzbHksIERQREsgd291bGQndmUgZXho YXVzdGVkIGFsbCBodWdlcGFnZXMgb24gbWFzdGVyIGNvcmUncyBzb2NrZXQgYmVmb3JlIGF0dGVt cHRpbmcgdG8gYWxsb2NhdGUgZnJvbSBvdGhlciBzb2NrZXRzLCBidXQgYnkgdGhlIHRpbWUgd2Un dmUgcmVhY2hlZCBjZ3JvdXBzIGxpbWl0cyBvbiBudW1iZXJzIG9mIGh1Z2VwYWdlcywgd2UgbWln aHQgbm90IGhhdmUgcmVhY2hlZCBzb2NrZXQgMSBhbmQgdGh1cyBtaXNzZWQgb3V0IG9uIHRoZSBw YWdlcyB3ZSBjb3VsZCd2ZSBhbGxvY2F0ZWQsIGJ1dCBkaWRuJ3QuIFVzaW5nIGxpYm51bWEgc29s dmVzIHRoaXMgaXNzdWUsIGJlY2F1c2Ugbm93IHdlIGNhbiBhbGxvY2F0ZSBwYWdlcyBvbiBzb2Nr ZXRzIHdlIHdhbnQsIGluc3RlYWQgb2YgaG9waW5nIHdlIHdvbid0IHJ1biBvdXQgb2YgaHVnZXBh Z2VzIGJlZm9yZSB3ZSBnZXQgdGhlIG1lbW9yeSB3ZSBuZWVkLg0KPj4+Pj4+Pj4+Pj4NCj4+Pj4+ Pj4+Pj4+IEluIDE4LjA1IG9ud2FyZHMsIHRoaXMgb3B0aW9uIHdvcmtzIGRpZmZlcmVudGx5IChh bmQgYXJndWFibHkgd3JvbmcpLiBNb3JlIHNwZWNpZmljYWxseSwgaXQgZGlzYWxsb3dzIGFsbG9j YXRpb25zIG9uIHNvY2tldHMgb3RoZXIgdGhhbiAwLCBhbmQgaXQgYWxzbyBtYWtlcyBpdCBzbyB0 aGF0IEVBTCBkb2VzIG5vdCBjaGVjayB3aGljaCBzb2NrZXQgdGhlIG1lbW9yeSAqYWN0dWFsbHkq IGNhbWUgZnJvbS4gU28sIG5vdCBvbmx5IGFsbG9jYXRpbmcgbWVtb3J5IGZyb20gc29ja2V0IDEg aXMgZGlzYWJsZWQsIGJ1dCBhbGxvY2F0aW5nIGZyb20gc29ja2V0IDAgbWF5IGV2ZW4gZ2V0IHlv dSBtZW1vcnkgZnJvbSBzb2NrZXQgMSENCj4+Pj4+Pj4+Pj4gSSdkIGNvbnNpZGVyIHRoaXMgYXMg YSBidWcuDQo+Pj4+Pj4+Pj4+DQo+Pj4+Pj4+Pj4+PiArQ0MgVGhvbWFzDQo+Pj4+Pj4+Pj4+Pg0K Pj4+Pj4+Pj4+Pj4gVGhlIENPTkZJR19SVEVfRUFMX05VTUFfQVdBUkVfSFVHRVBBR0VTIG9wdGlv biBpcyBhIG1pc25vbWVyLCBiZWNhdXNlIGl0IG1ha2VzIGl0IHNlZW0gbGlrZSB0aGlzIG9wdGlv biBkaXNhYmxlcyBOVU1BIHN1cHBvcnQsIHdoaWNoIGlzIG5vdCB0aGUgY2FzZS4NCj4+Pj4+Pj4+ Pj4+DQo+Pj4+Pj4+Pj4+PiBJIHdvdWxkIGFsc28gYXJndWUgdGhhdCBpdCBpcyBub3QgcmVsZXZh bnQgdG8gMTguMDUrIG1lbW9yeSBzdWJzeXN0ZW0sIGFuZCBzaG91bGQgb25seSB3b3JrIGluIGxl Z2FjeSBtb2RlLCBiZWNhdXNlIGl0IGlzICppbXBvc3NpYmxlKiB0byBtYWtlIGl0IHdvcmsgcmln aHQgaW4gdGhlIG5ldyBtZW1vcnkgc3Vic3lzdGVtLCBhbmQgaGVyZSdzIHdoeToNCj4+Pj4+Pj4+ Pj4+DQo+Pj4+Pj4+Pj4+PiBXaXRob3V0IGxpYm51bWEsIHdlIGhhdmUgbm8gd2F5IG9mICJhc2tp bmciIHRoZSBrZXJuZWwgdG8gYWxsb2NhdGUgYSBodWdlcGFnZSBvbiBhIHNwZWNpZmljIHNvY2tl dCAtIGluc3RlYWQsIGFueSBhbGxvY2F0aW9uIHdpbGwgbW9zdCBsaWtlbHkgaGFwcGVuIG9uIHNv Y2tldCBmcm9tIHdoaWNoIHRoZSBhbGxvY2F0aW9uIGNhbWUgZnJvbS4gRm9yIGV4YW1wbGUsIGlm IHVzZXIgcHJvZ3JhbSdzIGxjb3JlIGlzIG9uIHNvY2tldCAxLCBhbGxvY2F0aW9uIG9uIHNvY2tl dCAwIHdpbGwgYWN0dWFsbHkgYWxsb2NhdGUgYSBwYWdlIG9uIHNvY2tldCAxLg0KPj4+Pj4+Pj4+ Pj4NCj4+Pj4+Pj4+Pj4+IElmIHdlIGRvbid0IGNoZWNrIGZvciBwYWdlJ3MgTlVNQSBub2RlIGFm ZmluaXR5ICh3aGljaCBpcyB3aGF0IGN1cnJlbnRseSBoYXBwZW5zKSAtIHdlIGdldCBwZXJmb3Jt YW5jZSBkZWdyYWRhdGlvbiBiZWNhdXNlIHdlIG1heSB1bmludGVudGlvbmFsbHkgYWxsb2NhdGUg bWVtb3J5IG9uIHdyb25nIE5VTUEgbm9kZS4gSWYgd2UgZG8gY2hlY2sgZm9yIHRoaXMgLSB0aGVu IGFsbG9jYXRpb24gb2YgbWVtb3J5IG9uIHNvY2tldCAxIGZyb20gbGNvcmUgb24gc29ja2V0IDAg d2lsbCBhbG1vc3QgbmV2ZXIgc3VjY2VlZCwgYmVjYXVzZSBrZXJuZWwgd2lsbCBhbHdheXMgZ2l2 ZSB1cyBwYWdlcyBvbiBzb2NrZXQgMC4NCj4+Pj4+Pj4+Pj4+DQo+Pj4+Pj4+Pj4+PiBQdXQgaXQg c2ltcGx5LCB0aGVyZSBpcyBubyBzYW5lIHdheSB0byBtYWtlIHRoaXMgb3B0aW9uIHdvcmsgZm9y IHRoZSBuZXcgbWVtb3J5IHN1YnN5c3RlbSAtIElNTyBpdCBzaG91bGQgYmUgZHJvcHBlZCwgYW5k IGxpYm51bWEgc2hvdWxkIGJlIG1hZGUgYSBoYXJkIGRlcGVuZGVuY3kgb24gTGludXguDQo+Pj4+ Pj4+Pj4+IEkgYWdyZWUgdGhhdCBuZXcgbWVtb3J5IG1vZGVsIGNvdWxkIG5vdCB3b3JrIHdpdGhv dXQgbGlibnVtYSwgDQo+Pj4+Pj4+Pj4+IGkuZS4gd2lsbCBsZWFkIHRvIHVucHJlZGljdGFibGUg bWVtb3J5IGFsbG9jYXRpb25zIHdpdGggbm8gDQo+Pj4+Pj4+Pj4+IGFueSByZXNwZWN0IHRvIHJl cXVlc3RlZCBzb2NrZXRfaWQncy4gSSBhbHNvIGFncmVlIHRoYXQgDQo+Pj4+Pj4+Pj4+IENPTkZJ R19SVEVfRUFMX05VTUFfQVdBUkVfSFVHRVBBR0VTIGlzIG9ubHkgc2FuZSBmb3IgYSBsZWdhY3kg bWVtb3J5IG1vZGVsLg0KPj4+Pj4+Pj4+PiBJdCBsb29rcyBsaWtlIHdlIGhhdmUgbm8gb3RoZXIg Y2hvaWNlIHRoYW4ganVzdCBkcm9wIHRoZSANCj4+Pj4+Pj4+Pj4gb3B0aW9uIGFuZCBtYWtlIHRo ZSBjb2RlIHVuY29uZGl0aW9uYWwsIGkuZS4gaGF2ZSBoYXJkIGRlcGVuZGVuY3kgb24gbGlibnVt YS4NCj4+Pj4+Pj4+Pj4NCj4+Pj4+Pj4+PiBXZSwgcHJvYmFibHksIGNvdWxkIGNvbXBpbGUgdGhp cyBjb2RlIGFuZCBoYXZlIGhhcmQgZGVwZW5kZW5jeSANCj4+Pj4+Pj4+PiBvbmx5IGZvciBwbGF0 Zm9ybXMgd2l0aCAnUlRFX01BWF9OVU1BX05PREVTID4gMScuDQo+Pj4+Pj4+PiBXZWxsLCBhcyBs b25nIGFzIGxlZ2FjeSBtb2RlIHN0YXlzIHN1cHBvcnRlZCwgd2UgaGF2ZSB0byBrZWVwIHRoZSBv cHRpb24uIFRoZSAiZHJvcCIgcGFydCB3YXMgcmVmZXJyaW5nIHRvIHN1cHBvcnRpbmcgaXQgdW5k ZXIgdGhlIG5ldyBtZW1vcnkgc3lzdGVtLCBub3QgYSBsaXRlcmFsIGRyb3AgZnJvbSBjb25maWcg ZmlsZXMuDQo+Pj4+Pj4+IFRoZSBvcHRpb24gd2FzIGludHJvZHVjZWQgYmVjYXVzZSB3ZSBkaWRu J3Qgd2FudCB0byBpbnRyb2R1Y2UgDQo+Pj4+Pj4+IHRoZSBuZXcgaGFyZCBkZXBlbmRlbmN5LiBT aW5jZSB3ZSdsbCBoYXZlIGl0IGFueXdheSwgSSdtIG5vdCANCj4+Pj4+Pj4gc3VyZSBpZiBrZWVw aW5nIHRoZSBvcHRpb24gZm9yIGxlZ2FjeSBtb2RlIG1ha2VzIGFueSBzZW5zZS4NCj4+Pj4+PiBP aCB5ZXMsIHlvdSdyZSByaWdodC4gRHJvcCBpdCBpcyENCj4+Pj4+Pg0KPj4+Pj4+Pj4gQXMgZm9y IHVzaW5nIFJURV9NQVhfTlVNQV9OT0RFUywgaSBkb24ndCB0aGluayBpdCdzIG1lcml0ZWQuIERp c3RyaWJ1dGlvbnMgY2Fubm90IGRlbGl2ZXIgZGlmZmVyZW50IERQREsgdmVyc2lvbnMgYmFzZWQg b24gdGhlIG51bWJlciBvZiBzb2NrZXRzIG9uIGEgcGFydGljdWxhciBtYWNoaW5lIC0gc28gaXQg d291bGQgaGF2ZSB0byBiZSBhIGhhcmQgZGVwZW5kZW5jeSBmb3IgZGlzdHJpYnV0aW9ucyBhbnl3 YXkgKGRvZXMgYW55IGRpc3RyaWJ1dGlvbiBzaGlwIERQREsgd2l0aG91dCBsaWJudW1hPykuDQo+ Pj4+Pj4+IEF0IGxlYXN0IEFSTXY3IGJ1aWxkcyBjb21tb25seSBkb2VzIG5vdCBzaGlwIGxpYm51 bWEgcGFja2FnZS4NCj4+Pj4+PiBEbyB5b3UgbWVhbiBsaWJudW1hIGJ1aWxkcyBmb3IgQVJNdjcg YXJlIG5vdCBhdmFpbGFibGU/IE9yIGRvIHlvdSBtZWFuIHRoZSBsaWJudW1hIHBhY2thZ2UgaXMg bm90IGluc3RhbGxlZCBieSBkZWZhdWx0Pw0KPj4+Pj4+DQo+Pj4+Pj4gSWYgaXQncyB0aGUgbGF0 dGVyLCB0aGVuIGkgYmVsaWV2ZSBpdCdzIG5vdCBpbnN0YWxsZWQgYnkgZGVmYXVsdCBhbnl3aGVy ZSwgYnV0IGlmIHVzaW5nIGRpc3RyaWJ1dGlvbiB2ZXJzaW9uIG9mIERQREssIGxpYm51bWEgd2ls bCBiZSB0YWtlbiBjYXJlIG9mIHZpYSBwYWNrYWdlIG1hbmFnZXIuIFByZXN1bWFibHkgYnVpbGRp bmcgZnJvbSBzb3VyY2UgY2FuIGJlIHRha2VuIGNhcmUgb2Ygd2l0aCBwa2ctY29uZmlnL21lc29u Lg0KPj4+Pj4+DQo+Pj4+Pj4gT3IgZG8geW91IG1lYW4gQVJNdjcgZG9lcyBub3QgaGF2ZSBsaWJu dW1hIGZvciB0aGVpciBhcmNoIGF0IGFsbCwgaW4gYW55IGRpc3Rybz8NCj4+Pj4+IGxpYm51bWEg YnVpbGRzIGZvciBBUk12NyBhcmUgbm90IGF2YWlsYWJsZSBpbiBtb3N0IG9mIHRoZSBkaXN0cm9z Lg0KPj4+Pj4gSSBkaWRuJ3QgY2hlY2sgYWxsLCBidXQgaGVyZSBpcyByZXN1bHRzIGZvciBVYnVu dHU6DQo+Pj4+PiAgICAgICAgIA0KPj4+Pj4gaHR0cHM6Ly9lbWVhMDEuc2FmZWxpbmtzLnByb3Rl Y3Rpb24ub3V0bG9vay5jb20vP3VybD1odHRwcyUzQSUyRiUyDQo+Pj4+PiBGDQo+Pj4+PiBwYWMN Cj4+Pj4+IGthZ2VzLnVidW50dS5jb20lMkZzZWFyY2glM0ZzdWl0ZSUzRGJpb25pYyUyNmFyY2gl M0Rhcm1oZiUyNnNlYXJjaA0KPj4+Pj4gbw0KPj4+Pj4gbiUzDQo+Pj4+PiBEbmFtZXMlMjZrZXl3 b3JkcyUzRGxpYm51bWEmYW1wO2RhdGE9MDIlN0MwMSU3Q0FzYWZTaSU0MHJhZHdhcmUuY28NCj4+ Pj4+IG0NCj4+Pj4+ICU3Qw0KPj4+Pj4gYTQ0Zjg0YmNhNDJkNGE1MmFjYWMwOGQ2NTNhZjgzYjgl N0M2YWU0ZTAwMGI1ZDA0ZjQ4YTc2NjQwMmQ0NjExOWI3DQo+Pj4+PiA2DQo+Pj4+PiAlN0MNCj4+ Pj4+IDAlN0MwJTdDNjM2Nzg4NDEwNjI2MTc5OTI3JmFtcDtzZGF0YT0xcEowV2tBczZZJTJCdjN3 JTJCaEtBRUxCdyUyQg0KPj4+Pj4gag0KPj4+Pj4gTXJhDQo+Pj4+PiBCbmhpcXFwc1hrUnYyaWZJ JTNEJmFtcDtyZXNlcnZlZD0wDQo+Pj4+Pg0KPj4+Pj4gWW91IG1heSBzZWUgdGhhdCBVYnVudHUg MTguMDQgKGJpb25pYykgaGFzIG5vIGxpYm51bWEgcGFja2FnZSBmb3IgDQo+Pj4+PiAnYXJtaGYn IGFuZCBhbHNvICdwb3dlcnBjJyBwbGF0Zm9ybXMuDQo+Pj4+Pg0KPj4+PiBUaGF0J3MgYSBkaWZm aWN1bHR5LiBEbyB0aGVzZSBwbGF0Zm9ybXMgc3VwcG9ydCBOVU1BPyBJbiBvdGhlciB3b3Jkcywg Y291bGQgd2UgcmVwbGFjZSB0aGlzIGZsYWcgd2l0aCBqdXN0IG91dHJpZ2h0IGRpc2FibGluZyBO VU1BIHN1cHBvcnQ/DQo+Pj4NCj4+PiBNYW55IHBsYXRmb3JtcyBkb24ndCBzdXBwb3J0IE5VTUEs IHNvIHRoZXkgZG9udCcgcmVhbGx5IG5lZWQgbGlibnVtYS4NCj4+Pg0KPj4+IE1hbmRhdGluZyBs aWJudW1hIHdpbGwgYWxzbyBicmVhayBzZXZlcmFsIHRoaW5nczoNCj4+Pg0KPj4+ICDCoCDCoCAt IGNyb3NzIGJ1aWxkIGZvciBBUk0gb24geDg2IC0gd2hpY2ggaXMgYW1vbmcgdGhlIHByZWZlcnJl ZCANCj4+PiBtZXRob2QgZm9yIGJ1aWxkIGJ5IG1hbnkgaW4gQVJNIGNvbW11bml0eS4NCj4+Pg0K Pj4+ICDCoCDCoC0gbWFueSBvZiB0aGUgZW1iZWRkZWQgU29DcyBhcmUgd2l0aG91dCBOVU1BIHN1 cHBvcnQsIHRoZXkgdXNlIA0KPj4+IHNtYWxsZXIgcm9vdGYgKGUuZy4gWW9jdG8pLsKgIEl0IHdp bGwgYmUgYSBidXJkZW4gdG8gYWRkIGxpYm51bWEgdGhlcmUuDQo+Pj4NCj4+DQo+PiBPSywgcG9p bnQgdGFrZW4uDQo+Pg0KPj4gU28sIHRoZSBhbHRlcm5hdGl2ZSB3b3VsZCBiZSB0byBoYXZlIHRo ZSBhYmlsaXR5IHRvIG91dHJpZ2h0IGRpc2FibGUgTlVNQSBzdXBwb3J0IChlaXRoZXIgd2l0aCBh IG5ldyBvcHRpb24sIG9yIHJld29ya2luZyB0aGlzIG9uZSAtIGkgd291bGQgcHJlZmVyIGEgbmV3 IG9uZSwgc2luY2UgdGhpcyBvbmUgaXMgY29uZnVzaW5nbHkgbmFtZWQpLiBNZWFuaW5nLCByZXBv cnQgYWxsIGNvcmVzIGFzIHNvY2tldCAwLCByZXBvcnQgYWxsIGhhcmR3YXJlIGFzIHNvY2tldCAw LCByZXBvcnQgYWxsIG1lbW9yeSBhcyBzb2NrZXQgMCBhbmQgbmV2ZXIgY2FyZSBhYm91dCBOVU1B IG5vZGVzIGFueXdoZXJlLg0KPj4NCj4+IFdvdWxkIHRoYXQgd29yaz8gRS5nLiBieSBkZWZhdWx0 LCBtYWtlIGxpYm51bWEgYSBoYXJkIGRlcGVuZGVuY3kgb24geDg2IExpbnV4IChidXQgYWxsb3cg dG8gZGlzYWJsZSBpdCksIGJ1dCBkaXNhYmxlIGl0IGV2ZXJ5d2hlcmUgZWxzZT8NCj4gDQo+IEkg dGhpbmssIHlvdSBtYXkganVzdCByZW5hbWUgdGhlIFJURV9FQUxfTlVNQV9BV0FSRV9IVUdFUEFH RVMgdG8gc29tZXRoaW5nIGxpa2UgUlRFX0VBTF9OVU1BX1NVUFBPUlQgYW5kIGtlZXAgYWxsIHRo ZSBkZWZhdWx0cyBhcyBpcywgaS5lLg0KPiAqIGdsb2JhbGx5IGRpc2FibGVkDQo+ICogZW5hYmxl ZCBmb3IgbGludXgNCj4gKiBkaXNhYmxlZCBmb3IgYXJtdjdhLCBkcGFhLCBkcGFhMiBhbmQgc3Rp bmdyYXkuDQo+IE1lc29uIGNvdWxkIGhhbmRsZSBldmVyeXRoaW5nIGR5bmFtaWNhbGx5Lg0KPiAN Cj4+Pg0KPj4+Pg0KPj4+Pj4+Pj4gRm9yIHRob3NlIGNvbXBpbGluZyBmcm9tIHNvdXJjZSAtIGFy ZSB0aGVyZSBhbnkgc3VwcG9ydGVkIA0KPj4+Pj4+Pj4gZGlzdHJpYnV0aW9ucyB3aGljaCBkb24n dCBwYWNrYWdlIGxpYm51bWE/IEkgZG9uJ3Qgc2VlIG11Y2ggDQo+Pj4+Pj4+PiBzZW5zZSBpbiBr ZWVwaW5nIGxpYm51bWEgb3B0aW9uYWwsIElNTy4gVGhpcyBpcyBvZiBjb3Vyc2UgdXAgdG8gDQo+ Pj4+Pj4+PiB0aGUgdGVjaCBib2FyZCB0byBkZWNpZGUsIGJ1dCBJTU8gdGhlICJ3aXRob3V0IGxp Ym51bWEgaXQncyANCj4+Pj4+Pj4+IGJhc2ljYWxseSBicm9rZW4iIGFyZ3VtZW50IGlzIHZlcnkg c3Ryb25nIGluIG15IG9waW5pb24gOikNCj4+Pj4+Pj4+DQo+Pj4+Pj4NCj4+Pj4NCj4+Pj4gLS0N Cj4+Pj4gVGhhbmtzLA0KPj4+PiBBbmF0b2x5DQo+Pg0KPj4NCg0KDQotLQ0KVGhhbmtzLA0KQW5h dG9seQ0K