From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 1E997A00C5; Mon, 19 Dec 2022 16:54:03 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 03EB040685; Mon, 19 Dec 2022 16:54:03 +0100 (CET) Received: from EUR04-DB3-obe.outbound.protection.outlook.com (mail-db3eur04on2088.outbound.protection.outlook.com [40.107.6.88]) by mails.dpdk.org (Postfix) with ESMTP id 99E6440146 for ; Mon, 19 Dec 2022 16:54:01 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=YWReyFcTwW2qKC7eSJxKA7l7NevbrlXSDtQGYUBWyxpzH5K0P1XkRMruwikXUx62wIu9f/yaNZvtJnkvCjChMNF893N/GDXk0xvMV1Yyxcr/j3gT4W8PHbGBqPvpHQin8TSskz/247nx7wnTlALZZYfOew4/wn+mHyWphoxcuHQDUEsLfctK4TbvnTZ+W8j1lezqEOFitUR3D8Njg+Lq9dLHQk/j3dvKXk4+gtae8TTiOioWUOUBlL3j3/URdzV4ZDAO8V+KggJCzYX91pf1oGIXDvxLAQJUCjxntW9c8YuO5Ul3yP2BoHgPtjgkbXMgU5Y07uNNjb3C5gTP559aJA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=S0IH2CpxVJhSnoBmOrAcAm9SdTA3w1HlRM0KAr8jVik=; b=i8J+FUi0HjIBgY6WhyHRWMCdO2YOomSyr8xKMOcwlIyQFXk7VfdXppBxm21NmZA7jWUHR+lN2tENmRcP7H/JLKTg6vJplyin+kij37RZVPCO3CNQvgMgzBC/WUYlkZcK32njLFu+aTeADpj8dE799c2pUh9psOktbUMCv07ySbLRzmIBzVaM9ZEf2aCD3J3oFHcELei54kQaj+92NOZlM2YtNADZSsSieIR5KgfpEWSUfjeqVGo1eZKEkpwM7yw4ZOsBxIysIgcH8KN692iyIMRMqB+2xFXm8e8+Ew7fUPIcDA0wlGuIkIs24B4uaaQZ/9N0rLNpWsCblGQUGrKlTQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=ericsson.com; dmarc=pass action=none header.from=ericsson.com; dkim=pass header.d=ericsson.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ericsson.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=S0IH2CpxVJhSnoBmOrAcAm9SdTA3w1HlRM0KAr8jVik=; b=Y5abKsBT1UnXkTRiuhY+4QnxnaWSROL0Wj1/4GwqaQVgueWVS6/4AycojWQXB5mPbPzddtsCT4HC8GVoY8GoFvZ2HxLRCBWrG29cMB43ysvoaBCnBdlEtRQ0OvMFuqCLpzle0FCREc02PGz7eHufqEPFcTZ7aQ2bHTUR+KRlXyg= Received: from DB7PR07MB5978.eurprd07.prod.outlook.com (2603:10a6:10:80::15) by VI1PR07MB6494.eurprd07.prod.outlook.com (2603:10a6:800:18d::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5924.16; Mon, 19 Dec 2022 15:54:00 +0000 Received: from DB7PR07MB5978.eurprd07.prod.outlook.com ([fe80::aa92:63bb:c47:f8e5]) by DB7PR07MB5978.eurprd07.prod.outlook.com ([fe80::aa92:63bb:c47:f8e5%6]) with mapi id 15.20.5924.016; Mon, 19 Dec 2022 15:53:59 +0000 From: =?utf-8?B?TWF0dGlhcyBSw7ZubmJsb20=?= To: =?utf-8?B?TW9ydGVuIEJyw7hydXA=?= , "dev@dpdk.org" CC: "david.marchand@redhat.com" Subject: Re: [RFC] eal: per-thread constructors/destructors Thread-Topic: [RFC] eal: per-thread constructors/destructors Thread-Index: AdkSx6jT3XE7mP79Qhq+AVV4Hy4BJwA+nKqA Date: Mon, 19 Dec 2022 15:53:59 +0000 Message-ID: <92173a1c-9b4f-b6e3-c7d7-20845fc746eb@ericsson.com> References: <98CBD80474FA8B44BF855DF32C47DC35D875C4@smartserver.smartshare.dk> In-Reply-To: <98CBD80474FA8B44BF855DF32C47DC35D875C4@smartserver.smartshare.dk> Accept-Language: en-US, sv-SE Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.6.0 authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=ericsson.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: DB7PR07MB5978:EE_|VI1PR07MB6494:EE_ x-ms-office365-filtering-correlation-id: 5603a0f0-1aef-47b2-f348-08dae1d93e7d x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 5x8R3hbdCvVj6rSlSSEWpZe0agbd7GgHCBc0B2yT7OUpRqfMCVnbYEemZNFx+H3lib5gLITehyu/6oVMQCpArrqDMqVWObTbFtcyOCCqVe5vB8EB/vrmFPv7OTS6FSckqXC3MZXWDtUMijJNxlf3zGCBt1v1enO6QZza3/ZLl6isgUQSmGqYdKGd+D6VPpdSfBJBtOWGP4f+HWBx3Rto/LNrflVIq/+eD4iN8K5qYbick8KEn+hmRR1GZeR8gTI3T7aRwho7XmU+NrmPAhxoXFH8ffkvR4dSjLCm7pokJcibFB2iwEvjC4LySJULje4PTpLY5xzpUwa0V5p90niFqmLg+eUqO6awFn3o8XMrDbL/NvRjo/wFF1qypmm2MwGe1oV074zfDh7QdYTKfvem6EbTaAMGHBNXxmJcf0hQVZXNANKS7dLkbboTjFkrPfc8080Qwb6kibH6pSEYOQUrZg8qRzANj2Z82lcjVK6I9X/F0RxInapGacp7AptuJcMSFyQvPGkRyjLf4le1jMj9k1riWOGKX+Hw3t8JZ/08HUTZ800sPUAbKfnEw6hZ0p61IwK+nHi74QEqyzVxVhhp479AaQwGfUqUlQBuwFvzEp6OH1eHHLebIiNNgfG6RFlcmFOtJuyYSapKI6r1pdv/f8vlU8FRfVbAzPCfen6u9RBwr2f0OPs+f3b7LlIeE4Z8k+S465I1QSZdz5QnMEwzteAxNiqREGMRhwjzBdReeVpNq6K8zilry6zUwE8nmhGNs/JMO2yTyynxIL1/j6T4otwHJgGjQash8hGQu+VNEVY= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DB7PR07MB5978.eurprd07.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230022)(4636009)(396003)(366004)(346002)(136003)(376002)(39860400002)(451199015)(6506007)(966005)(478600001)(6486002)(85182001)(36756003)(71200400001)(2906002)(53546011)(26005)(6512007)(186003)(85202003)(4001150100001)(31696002)(41300700001)(66556008)(76116006)(66946007)(8676002)(66476007)(66446008)(38070700005)(91956017)(64756008)(4326008)(83380400001)(5660300002)(66574015)(122000001)(316002)(8936002)(110136005)(82960400001)(86362001)(38100700002)(31686004)(2616005)(43740500002)(45980500001); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?YWl3NFhZb0pkRTRxWXVzazQ1UUI4ekJHSDRlalpOOWhCTnZaK2t0RmZpTFMr?= =?utf-8?B?TzNucjAxcmh2cEtoamhXbG85bW91dTQrWktiYTRkZTdOR2txTWZyT1g4M3Jo?= =?utf-8?B?Sng1QW1LY2VoS1cvellhRmNFamxnTENHWmtDNmhXb25rK29KaFNmSFI3TFRF?= =?utf-8?B?YnJ2SytGNjhrSVRJcWlLL1NKa3pFK2hRWUd5aG9GY2V2cTJNR003NFJsVG8r?= =?utf-8?B?elNYY1dpOHdIRHY5Nm5TMXMvMkh5SEFxcTBWaUl4dFpjTDlhclBaR1ViUnFH?= =?utf-8?B?L3pROWFPRU9OTi9lWlRFQ1l1ME5RWnozSTArRkYzMXhIYUVaWDFWT3JvVnpE?= =?utf-8?B?Zm05YnRiajJqTnMzM0dsMTRaYU5rV3o2TGV3RXpXK1U3UGsxZ2ZneFlXQll4?= =?utf-8?B?WE5pMlBHaVRXd0ErOW1TdUNjd3g3WnhqWDkzUkp4N3lTUTFucXR5RkY4emhs?= =?utf-8?B?SlhkK3BSbkYwM0dJU2F3MFd4dngzMnVkTlZmTHQxZlhiSXVFT1JDUFJaU3RT?= =?utf-8?B?enY1MHM4RHBiVFArQmEzWWQvVGNoaHpEWHBMcHVUUFdOUHVtSWxpa3VlMHF3?= =?utf-8?B?TzUzRVQzejBZNlJkY2ZZT1Irb2lNc2FnQmxaWExSOUNBNTQrakxmOTQ4cXI5?= =?utf-8?B?a3dmVVY2UVBsZUhTd3FITmV6RFFjdkxuMFRwQkpWeWZ6ZWxPTHE5MisyWkxh?= =?utf-8?B?NGdDQVY5bm5DSGJ0K21waWEzYmpQcmNqeUlZN2xRWE1qTnN0b0txWVNsZmFu?= =?utf-8?B?Rm1xTStabERQeG1TT2EzckR4VXgwNUtGeS9zYktvVkZWTXR0L0xzYWtrU0ZC?= =?utf-8?B?V1VzbDJOTW5LZ3JQaWNkdC93QjlNUGtkc2NtMS9KYWgzTmd4dnV5WXIreFVS?= =?utf-8?B?MThIc2p0dWwxNTFsbmFPelJlZ2NtNTNzL0dFampkZHhiSUFoMTNaMm9ZZDQv?= =?utf-8?B?SmhDWWNrdGRUaXoyVDZMNUl0c3BadWkwSGhMTUY2Um92K1lvUngrNWx0aTls?= =?utf-8?B?STlBaS9ja3Q2Y282bnNhVkZXbWpzZEFwZ2ZuN2RFZkpMQUVOOXVUQmlEc25w?= =?utf-8?B?eWVGTHc1TldOcmRjZThIdHZEVzlmMW15Ymp5MG5YZ1B3SGpRNVhyUWRJc09E?= =?utf-8?B?UUw5eEd3QkVWd2Y0Q2UzL2FXazYzT1VpcE1aK3g0bFJTekNkTko4UG43dkRG?= =?utf-8?B?Ty9aZ3dxZ3hyZFUzdmVLb2lTR3BLVk9qRFdtbHJDdXZleFNiaFQyRktzSU43?= =?utf-8?B?V3k2VVltR3NBWGZ0c0JQdnpnZG5tQkRvbFFENmRlKytNQVlzZnRyS21uRjB0?= =?utf-8?B?Q1gxUHlMVnYvZlpZSTJSZzZ4a1hjUzhEUkhKdkdadTJyV21SSmtTTWhnWll5?= =?utf-8?B?ZGx6cm1laXNyQXd3S0FTRlNIbDRyVVAzU3c3TUN4cXBaMU9PNHNVa3NiUmZr?= =?utf-8?B?V1lsRDBrM1REekJaNWtTYXpLRWxOWHVCaDNIL0hQdG45VHMrZ3hHY0F0Tll0?= =?utf-8?B?L3Z6clJSYjE4L3VtNXdGSzUwa3FhN1Q0SWVFOXdrNTVGV0o4QmNqYks4TS8z?= =?utf-8?B?SVhxRUdoUjQ5Qlk2ckZOaTYyQXVvMHZlSDdJSitTVW42aG51ZGJCYkp2engw?= =?utf-8?B?RDRJeGZtQjc3SU5scW9aaStVNHlXL1ZjQi91Mmt2MXpYaFJjVkJ0M2c1OEh2?= =?utf-8?B?dm5zZjNsenJpVi9kM1QzVm5kTzRIaFpvUWRMNHdSdGRNc2lhQ2VOdDhmSGhl?= =?utf-8?B?Y0xBanROVktTZVpFRmZpdTE0aG9UN3JjMlVVUnRyd3JVNFUrVUlxRURsV2Nq?= =?utf-8?B?ZFE4R0pWa2xlcTVwYkx0MnF5TWxoSWpuUHNTckM3dmhQVW1HaFZDK1lwNWhS?= =?utf-8?B?aGI0bk9ZNm5iNnk5aXdMM3ZkSFNmd29qeGlZeUhOYXN3Y3JYSWhxSk4zVUFD?= =?utf-8?B?NkJpdUdDenNoVkhZYWtqdXRCMEtLanBoL3lxOHhBbkUxUkFQcDlGaE5Dd25m?= =?utf-8?B?THlFWUk0RzB3RVlqUWQ1U1J6TEcxZXJNcVYwOUI1SXNWb1NqVFFkMlg4MFVj?= =?utf-8?B?enRSYU9MU3pQN3lCZ1UrR21meGxCNDJQOTJPWGkvWlZYOXNYOHFPQXIwTTJO?= =?utf-8?B?RzlCdTNVVlJZb25xa0F1MGc5ZEFGeDZYZ0wwZGVGT3pFVWFKeVZJSlBTRG5Y?= =?utf-8?B?TEE9PQ==?= Content-Type: text/plain; charset="utf-8" Content-ID: <6D3E10E38FA62C4788CEC1AEE1034C6B@eurprd07.prod.outlook.com> Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: ericsson.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DB7PR07MB5978.eurprd07.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 5603a0f0-1aef-47b2-f348-08dae1d93e7d X-MS-Exchange-CrossTenant-originalarrivaltime: 19 Dec 2022 15:53:59.8472 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 92e84ceb-fbfd-47ab-be52-080c6b87953f X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: d/WeLPo2yrASFSmtOOMuJoT2np04x73j8PbyX107sLoHqyn+hJaLE/o0ClGnxOHAnQpKTWKWtZvCI+BgdW2/Wli7CWuFsCD6r9C47zFrtn0= X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR07MB6494 X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org T24gMjAyMi0xMi0xOCAxMTowMSwgTW9ydGVuIEJyw7hydXAgd3JvdGU6DQo+IFRoaXMgUkZDIGlu dHJvZHVjZXMgcGVyLXRocmVhZCBjb25zdHJ1Y3RvcnMvZGVzdHJ1Y3RvcnM6DQo+ICogUGVyLXRo cmVhZCBjb25zdHJ1Y3RvcnMgYXJlIGZ1bmN0aW9ucyBjYWxsZWQgYXMgdGhlIGZpcnN0IHRoaW5n IGZyb20gbmV3bHkgY3JlYXRlZCB0aHJlYWRzLiBUaGlzIGNhbiBiZSB1c2VkIHRvIGluaXRpYWxp emUgdmFyaWFibGVzIGluIHRocmVhZC1sb2NhbCBzdG9yYWdlLCB2YXJpYWJsZXMgZGVwZW5kaW5n IG9uIHRoZSAodGlkX3QpIHRocmVhZCBpZCwgYW5kIHRvIGNhbGwgc2V0dXAgZnVuY3Rpb25zIHRo YXQgbXVzdCBiZSBjYWxsZWQgZnJvbSB0aGUgdGhyZWFkIGl0c2VsZi4NCj4gKiBQZXItdGhyZWFk IGRlc3RydWN0b3JzIGFyZSBmdW5jdGlvbnMgY2FsbGVkIChmcm9tIHRoZSB0aHJlYWQpIGFzIHRo ZSBsYXN0IHRoaW5nIHdoZW4gYSB0aHJlYWQgZW5kcy4NCj4gDQo+IEF0IHRoaXMgdGltZSwgSSBh bSBzZWVraW5nIGZlZWRiYWNrIG9uIHRoZSBjb25jZXB0IGFuZCB0aGUgcHJvcG9zZWQgbGltaXRh dGlvbnMuDQo+IA0KDQpUaGlzIHNlZW1zIGxpa2UgYSB1c2VmdWwgbWVjaGFuaXNtLCB0aGF0IHdv dWxkIHNpbXBsaWZ5IHRoaW5ncyBmb3IgDQpsaWJyYXJpZXMgYW5kIFBNRHMgdGhhdCBoYXZlIGR5 bmFtaWNhbGx5IGFsbG9jYXRlZCBwZXItdGhyZWFkIHJlc291cmNlcy4gDQpJdCdzIHVuY2xlYXIg dG8gbWUsIGhvdyBtYW55IHN1Y2ggbW9kdWxlcyB0aGVyZSBhcmUuDQoNCj4gUHJvY2Vzc2VzIGhh dmUgX19hdHRyaWJ1dGVfXyhjb25zdHJ1Y3Rvci9kZXN0cnVjdG9yKSB0byBzZXQgdXAgZnVuY3Rp b25zIHRvIGJlIGNhbGxlZCBiZWZvcmUgbWFpbigpLiBOb3RoaW5nIHNpbWlsYXIgZXhpc3RzIGZv ciB0aHJlYWRzLCBzbyB3ZSBoYXZlIHRvIGRlc2lnbiBpdCBvdXJzZWx2ZXMuDQo+IA0KPiBUaGUg cHJvcG9zZWQgcGVyLXRocmVhZCBjb25zdHJ1Y3RvcnMvZGVzdHJ1Y3RvcnMgc2hvdWxkIG5vdCBh cHBseSB0byBhbGwgdGhyZWFkcyAtIG9ubHkgdG8gdGhyZWFkcyBjcmVhdGVkIHRocm91Z2ggdGhl IERQREsgdGhyZWFkcyBBUEkuIEFncmVlPw0KPiAgPiBEUERLIGhhcyB0aGUgUlRFX0lOSVQoKS9S VEVfRklOSSgpIG1hY3JvcyBmb3IgYWRkaW5nIHByb2Nlc3MgDQpjb25zdHJ1Y3RvcnMvZGVzdHJ1 Y3RvcnMgYXQgYnVpbGQgdGltZSwgc28gSSBwcm9wb3NlIGEgc2ltaWxhciBBUEksIGkuZS4gDQph ZGRpbmcgUlRFX1RIUkVBRF9JTklUKCkgYW5kIFJURV9USFJFQURfRklOSSgpIG1hY3JvcyB0byBi dWlsZCBhIGxpc3Qgb2YgDQpwZXItdGhyZWFkIGNvbnN0cnVjdG9ycyBhbmQgZGVzdHJ1Y3RvcnMg YXQgYnVpbGQgdGltZS4NCj4gDQo+IFR3byBmdW5jdGlvbnMgdGhhdCBjYWxsIHRoZSBsaXN0IG9m IHBlci10aHJlYWQgY29uc3RydWN0b3JzIHJlc3BlY3RpdmVseSBkZXN0cnVjdG9ycyB3aWxsIGJl IGludHJvZHVjZWQuDQo+IA0KPiBUaGUgcGVyLXRocmVhZCBjb25zdHJ1Y3RvciBmdW5jdGlvbiB3 aWxsIGJlIGNhbGxlZCBmcm9tIHRoZSBuZXdseSBjcmVhdGVkIHRocmVhZHMgd2l0aGluIERQREs6 DQo+IDEuIEVBTC9TRVJWSUNFIHRocmVhZHM6IEluIGVhbF90aHJlYWRfbG9vcCgpIGJlZm9yZSB0 aGUgbG9vcC4NCj4gMi4gQ1RSTCB0aHJlYWRzOiBJbiBjdHJsX3RocmVhZF9pbml0KCkgYmVmb3Jl IHN0YXJ0X3JvdXRpbmUoKS4NCj4gMy4gTm9uLUVBTCB0aHJlYWRzOiBJbiBydGVfdGhyZWFkX3Jl Z2lzdGVyKCkuDQo+IA0KPiBBcmUgYW55IHRocmVhZCB0eXBlcyBtaXNzaW5nIGluIHRoZSBsaXN0 IGFib3ZlPw0KPiANCg0KTWF5YmUgYWxsIHVucmVnaXN0ZXJlZCBub24tRUFMIHRocmVhZHMgc2hv dWxkIGJlIGV4Y2x1ZGVkLCBpbmNsdWRpbmcgDQpzdWNoIGNyZWF0ZWQgdmlhIHJ0ZV9jdHJsX3Ro cmVhZF9jcmVhdGUoKS4NCg0KSW4gdGhhdCBjYXNlLCB5b3Ugd291bGQgaGF2ZToNCjEuIEVBTCB0 aHJlYWRzIChib3RoIHRoZSBtYWluIGFuZCB0aGUgd29ya2VyIGxjb3JlcywgYW5kIGJvdGggbGNv cmVzIA0KZW1wbG95ZWQgYXMgc2VydmljZSBhbmQgbm9uLXNlcnZpY2UgbGNvcmVzKS4NCjIuIFJl Z2lzdGVyZWQgbm9uLUVBTCB0aHJlYWRzIChjcmVhdGVkIHVzaW5nIHJ0ZV9jdHJsX3RocmVhZF9j cmVhdGUoKSBvciANCmFueSBvdGhlciBtZWFucywgYnV0IGhhdmluZyBpbiBjb21tb24gaGF2aW5n IGNhbGxlZCBydGVfdGhyZWFkX3JlZ2lzdGVyKCkpLg0KDQpBbm90aGVyIHRoaW5nIHdoaWNoIGlz IHVuY2xlYXIgdG8gbWUgaXMgaWYgbGlicmFyaWVzL1BNRHMgdGVuZCB0byB3YW50IA0KdG8gZGlm ZmVyZW50aWF0ZSBiZXR3ZWVuIEVBTCB0aHJlYWRzIGFuZCByZWdpc3RlcmVkIG5vbi1FQUwgdGhy ZWFkcy4gRUFMIA0KdGhyZWFkcyBhcmUgZ2VuZXJhbGx5IHJlcXVpcmVkIHRvIGJlIHNhZmUgZnJv bSBwcmVlbXB0aW9uIGFuZCBhbHNvIA0KZ2VuZXJhbGx5IGRvIGZhc3QgcGF0aC9wYWNrZXQgcHJv Y2Vzc2luZyBraW5kIG9mIHdvcmssIHdoaWxlIHdoYXQgDQpyZWdpc3RlcmVkIG5vbi1FQUwgdGhy ZWFkcyB0ZW5kIHRvIGRvIChhbmQgdGh1cyB3aGF0IGtpbmQgb2YgQVBJIGFjY2VzcyANCnRoZXkg cmVxdWlyZSkgaXMgbW9yZSBvcGVuLg0KDQpBbm90aGVyIHRoaW5nIHRvIGNvbnNpZGVyIGlzIGhv dyB0aGlzIG1lY2hhbmlzbSBzaG91bGQgd29yayBpbiByZWdhcmRzIA0KdG8gc2NhbGluZyB1cC9k b3duIGEgRFBESyBhcHBsaWNhdGlvbi4gV2hlbiBhbiBFQUwgdGhyZWFkIGlzIHRha2VuIG91dCAN Cm9mIHVzZSwgc2hvdWxkIHRoZSBmaW5hbGl6ZSBmdW5jdGlvbiBiZSBjYWxsZWQ/IEl0IG1pZ2h0 IGNvbXBsaWNhdGUgDQp0aGluZ3MsIGJ1dCBvbiB0aGUgb3RoZXIgaGFuZCB3b3VsZCBhbGxvdyBs aWJyYXJpZXMgYW5kIFBNRHMgdG8gZnJlZSANCnJlc291cmNlcyBubyBsb25nZXIgcmVxdWlyZWQu DQoNCj4gDQo+IFRoZSBwZXItdGhyZWFkIGRlc3RydWN0b3IgZnVuY3Rpb24gd2lsbCBhbHNvIGJl IHJlZ2lzdGVyZWQgYnkgdGhlIHBlci10aHJlYWQgY29uc3RydWN0b3IsIHVzaW5nIHRoZSBQT1NJ WCBwdGhyZWFkX2NsZWFudXBfcHVzaCgpIGZ1bmN0aW9uLg0KPiANCj4gDQo+IEV4YW1wbGVzIG9m IHdoZXJlIHBlci10aHJlYWQgY29uc3RydWN0b3JzIGFyZSB1c2VmdWw6DQo+IFBSTkcgc3RhdGUg aW5pdGlhbGl6YXRpb24gWzFdOiBodHRwczovL3Byb3RlY3QyLmZpcmVleWUuY29tL3YxL3VybD9r PTMxMzIzMzM0LTUwMWQ1MTIyLTMxMzI3M2FmLTQ1NDQ0NTU1NTczMS1mYzRjNjEwYTMwODEwYjVk JnE9MSZlPWQ4NTgwZmNmLWE2YmItNGUyYi1hZWM0LWE3NzI2MjllY2UwOCZ1PWh0dHAlM0ElMkYl MkZpbmJveC5kcGRrLm9yZyUyRmRldiUyRjJhNTEyMWM3LTM2OWYtYWZkZS0wODk4LWQ0NWE1YjM2 OGMzYSU0MGVyaWNzc29uLmNvbSUyRg0KPiBQTVUgZXZlbnQgc2V0dXAgWzJdOiBodHRwczovL3By b3RlY3QyLmZpcmVleWUuY29tL3YxL3VybD9rPTMxMzIzMzM0LTUwMWQ1MTIyLTMxMzI3M2FmLTQ1 NDQ0NTU1NTczMS05ZDRmNmVkYmQ1NGExYWMwJnE9MSZlPWQ4NTgwZmNmLWE2YmItNGUyYi1hZWM0 LWE3NzI2MjllY2UwOCZ1PWh0dHAlM0ElMkYlMkZpbmJveC5kcGRrLm9yZyUyRmRldiUyRmEwNTlj NDAzLThjNmMtNzljMy1jM2U5LWE4YzE4MTVmNWExNCU0MGVyaWNzc29uLmNvbSUyRlQlMkYlMjNt M2QyOWZiYzMwMTA1OWYwMDc0MjVhYzE0OGE0MTEzZTY2ZDJlZjk4Mw0KPiANCj4gDQo+IFBsZWFz ZSBhbHNvIHJlZmVyIHRvIHRoZSBkaXNjdXNzaW9uIFszXSBhYm91dCBsY29yZSBpbml0IGNhbGxi YWNrcyBmb3IgZnVydGhlciB0aG91Z2h0cy4gRXNwZWNpYWxseSB0aGUgZGUtZmFjdG8gaW5hYmls aXR5IHRvIGVzdGFibGlzaCBjb25zdHJ1Y3RvcnMvZGVzdHJ1Y3RvcnMgYXQgcnVudGltZS4NCj4g DQo+IFszXTogaHR0cHM6Ly9wcm90ZWN0Mi5maXJlZXllLmNvbS92MS91cmw/az0zMTMyMzMzNC01 MDFkNTEyMi0zMTMyNzNhZi00NTQ0NDU1NTU3MzEtOTRjMjNmZTMwZmI5OTA4NyZxPTEmZT1kODU4 MGZjZi1hNmJiLTRlMmItYWVjNC1hNzcyNjI5ZWNlMDgmdT1odHRwJTNBJTJGJTJGaW5ib3guZHBk ay5vcmclMkZkZXYlMkY5OENCRDgwNDc0RkE4QjQ0QkY4NTVERjMyQzQ3REMzNUQ4NzVCNiU0MHNt YXJ0c2VydmVyLnNtYXJ0c2hhcmUuZGslMkZUJTJGJTIzbTIzYjlhOTMwYTQwNTBkYzZiMDMwNWQz NjUzNzU0YmQxNTJjMDlhYjcNCj4gDQo+IA0KPiBNZWQgdmVubGlnIGhpbHNlbiAvIEtpbmQgcmVn YXJkcywNCj4gLU1vcnRlbiBCcsO4cnVwDQoNCg==