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 4663E43A0A; Tue, 30 Jan 2024 11:17:26 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 13EF8402CE; Tue, 30 Jan 2024 11:17:26 +0100 (CET) Received: from dkmailrelay1.smartsharesystems.com (smartserver.smartsharesystems.com [77.243.40.215]) by mails.dpdk.org (Postfix) with ESMTP id 40D0E402AC for ; Tue, 30 Jan 2024 11:17:24 +0100 (CET) Received: from smartserver.smartsharesystems.com (smartserver.smartsharesys.local [192.168.4.10]) by dkmailrelay1.smartsharesystems.com (Postfix) with ESMTP id 1C52B2011D; Tue, 30 Jan 2024 11:17:24 +0100 (CET) Content-class: urn:content-classes:message MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Subject: RE: [PATCH] RFC: use C11 alignas instead of GCC attribute aligned X-MimeOLE: Produced By Microsoft Exchange V6.5 Date: Tue, 30 Jan 2024 11:17:22 +0100 Message-ID: <98CBD80474FA8B44BF855DF32C47DC35E9F1C6@smartserver.smartshare.dk> In-Reply-To: <7d01357d-c843-4810-b12d-a692fa8b8102@lysator.liu.se> X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: [PATCH] RFC: use C11 alignas instead of GCC attribute aligned Thread-Index: AdpTXqZkANaBfHHXRi2WqhiEQU4J9gAAPDUg References: <1700069997-4399-1-git-send-email-roretzla@linux.microsoft.com> <20240125183713.GA27715@linuxonhyperv3.guj3yctzbm1etfxqx2vob5hsef.xx.internal.cloudapp.net> <98CBD80474FA8B44BF855DF32C47DC35E9F1A3@smartserver.smartshare.dk> <91ba1ece-10dd-4698-acd9-6b51cfc63cd9@lysator.liu.se> <98CBD80474FA8B44BF855DF32C47DC35E9F1A7@smartserver.smartshare.dk> <635f0d9f-6665-426b-b778-d61e5e732fbe@lysator.liu.se> <98CBD80474FA8B44BF855DF32C47DC35E9F1AA@smartserver.smartshare.dk> <413840c1-a263-4118-adfe-d4ae0ec0b52d@lysator.liu.se> <20240129194356.GA25654@linuxonhyperv3.guj3yctzbm1etfxqx2vob5hsef.xx.internal.cloudapp.net> <98CBD80474FA8B44BF855DF32C47DC35E9F1C5@smartserver.smartshare.dk> <7d01357d-c843-4810-b12d-a692fa8b8102@lysator.liu.se> From: =?utf-8?B?TW9ydGVuIEJyw7hydXA=?= To: =?utf-8?B?TWF0dGlhcyBSw7ZubmJsb20=?= , "Tyler Retzlaff" Cc: , =?utf-8?B?TWF0dGlhcyBSw7ZubmJsb20=?= , "Anatoly Burakov" , "Bruce Richardson" , "David Christensen" , "Harry van Haaren" , "Konstantin Ananyev" , "Min Zhou" , "Ruifeng Wang" , "Stanislaw Kardach" , 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 PiBGcm9tOiBNYXR0aWFzIFLDtm5uYmxvbSBbbWFpbHRvOmhvZm9yc0BseXNhdG9yLmxpdS5zZV0N Cj4gU2VudDogVHVlc2RheSwgMzAgSmFudWFyeSAyMDI0IDEwLjI4DQo+IA0KPiBPbiAyMDI0LTAx LTMwIDA5OjA5LCBNb3J0ZW4gQnLDuHJ1cCB3cm90ZToNCj4gPj4gRnJvbTogVHlsZXIgUmV0emxh ZmYgW21haWx0bzpyb3JldHpsYUBsaW51eC5taWNyb3NvZnQuY29tXQ0KPiA+PiBTZW50OiBNb25k YXksIDI5IEphbnVhcnkgMjAyNCAyMC40NA0KPiA+Pg0KPiA+PiBPbiBTdW4sIEphbiAyOCwgMjAy NCBhdCAxMTowMDozMUFNICswMTAwLCBNYXR0aWFzIFLDtm5uYmxvbSB3cm90ZToNCj4gPj4+IE9u IDIwMjQtMDEtMjggMDk6NTcsIE1vcnRlbiBCcsO4cnVwIHdyb3RlOg0KPiA+Pj4+PiBGcm9tOiBN YXR0aWFzIFLDtm5uYmxvbSBbbWFpbHRvOmhvZm9yc0BseXNhdG9yLmxpdS5zZV0NCj4gPj4+Pj4g U2VudDogU2F0dXJkYXksIDI3IEphbnVhcnkgMjAyNCAyMC4xNQ0KPiA+Pj4+Pg0KPiA+Pj4+PiBP biAyMDI0LTAxLTI2IDExOjE4LCBNb3J0ZW4gQnLDuHJ1cCB3cm90ZToNCj4gPj4+Pj4+PiBGcm9t OiBNYXR0aWFzIFLDtm5uYmxvbSBbbWFpbHRvOmhvZm9yc0BseXNhdG9yLmxpdS5zZV0NCj4gPj4+ Pj4+PiBTZW50OiBGcmlkYXksIDI2IEphbnVhcnkgMjAyNCAxMS4wNQ0KPiA+Pj4+Pj4+DQo+ID4+ Pj4+Pj4gT24gMjAyNC0wMS0yNSAyMzo1MywgTW9ydGVuIEJyw7hydXAgd3JvdGU6DQo+ID4+Pj4+ Pj4+PiBGcm9tOiBUeWxlciBSZXR6bGFmZiBbbWFpbHRvOnJvcmV0emxhQGxpbnV4Lm1pY3Jvc29m dC5jb21dDQo+ID4+Pj4+Pj4+PiBTZW50OiBUaHVyc2RheSwgMjUgSmFudWFyeSAyMDI0IDE5LjM3 DQo+ID4+Pj4+Pj4+Pg0KPiA+Pj4+Pj4+Pj4gcGluZy4NCj4gPj4+Pj4+Pj4+DQo+ID4+Pj4+Pj4+ PiBQbGVhc2UgcmV2aWV3IHRoaXMgdGhyZWFkIGlmIHlvdSBoYXZlIHRpbWUsIHRoZSBtYWluIHBv aW50IG9mDQo+ID4+Pj4+Pj4+PiBkaXNjdXNzaW9uDQo+ID4+Pj4+Pj4+PiBJIHdvdWxkIGxpa2Ug dG8gcmVjZWl2ZSBjb25zZW5zdXMgb24gdGhlIGZvbGxvd2luZyBxdWVzdGlvbnMuDQo+ID4+Pj4+ Pj4+Pg0KPiA+Pj4+Pj4+Pj4gMS4gU2hvdWxkIHdlIGNvbnRpbnVlIHRvIGV4cGFuZCBjb21tb24g YWxpZ25tZW50cyBiZWhpbmQgYW4NCj4gPj4+Pj4+PiBfX3J0ZV9tYWNybw0KPiA+Pj4+Pj4+Pj4N Cj4gPj4+Pj4+Pj4+ICAgICAgaS5lLiB3aGF0IGRvIHdlIHByZWZlciB0byBhcHBlYXIgaW4gY29k ZQ0KPiA+Pj4+Pj4+Pj4NCj4gPj4+Pj4+Pj4+ICAgICAgYWxpZ25hcyhSVEVfQ0FDSEVfTElORV9N SU5fU0laRSkNCj4gPj4+Pj4+Pj4+DQo+ID4+Pj4+Pj4+PiAgICAgIC0tIG9yIC0tDQo+ID4+Pj4+ Pj4+Pg0KPiA+Pj4+Pj4+Pj4gICAgICBfX3J0ZV9jYWNoZV9hbGlnbmVkDQo+ID4+Pj4+Pj4+Pg0K PiA+Pj4+Pj4+Pj4gT25lIG9mIHRoZSBiZW5lZml0cyBvZiBkcm9wcGluZyB0aGUgbWFjcm8gaXMg aXQgcHJvdmlkZXMgYQ0KPiA+PiBjbGVhcg0KPiA+Pj4+Pj4+IHZpc3VhbA0KPiA+Pj4+Pj4+Pj4g aW5kaWNhdG9yIHRoYXQgaXQgaXMgbm90IHBsYWNlZCBpbiB0aGUgc2FtZSBsb2NhdGlvbiBvciBn ZXQNCj4gPj4+Pj4gYXBwbGllZA0KPiA+Pj4+Pj4+Pj4gdG8gdHlwZXMgYXMgaXMgZG9uZSB3aXRo IF9fYXR0cmlidXRlX18oKF9fYWxpZ25lZF9fKG4pKSkuDQo+ID4+Pj4+Pj4+DQo+ID4+Pj4+Pj4+ IFdlIGRvbid0IHdhbnQgb3VyIG93biBwcm9wcmlldGFyeSB2YXJpYW50IG9mIHNvbWV0aGluZyB0 aGF0DQo+ID4+IGFscmVhZHkNCj4gPj4+Pj4+PiBleGlzdHMgaW4gdGhlIEMgc3RhbmRhcmQuIE5v dyB0aGF0IHdlIGhhdmUgbW92ZWQgdG8gQzExLCB0aGUNCj4gPj4gX19ydGUNCj4gPj4+Pj4+PiBh bGlnbm1lbnQgbWFjcm9zIHNob3VsZCBiZSBjb25zaWRlcmVkIG9ic29sZXRlLg0KPiA+Pj4+Pj4+ DQo+ID4+Pj4+Pj4gTWFraW5nIHNvIHNvbWV0aGluZyBjYWNoZS1saW5lIGFsaWduZWQgaXMgbm90 IGluIEMxMS4NCj4gPj4+Pj4+DQo+ID4+Pj4+PiBXZSBhcmUgdGFsa2luZyBhYm91dCB0aGUgX19y dGVfYWxpZ25lZCgpIG1hY3JvLCBub3QgdGhlIGNhY2hlDQo+ID4+Pj4+IGFsaWdubWVudCBtYWNy by4NCj4gPj4+Pj4+DQo+ID4+Pj4+DQo+ID4+Pj4+IE9LLCBpbiB0aGF0IGNhc2UsIHdoYXQgaXMg dGhlIHJlbGV2YW5jZSBvZiBxdWVzdGlvbiAxIGFib3ZlPw0KPiA+Pj4+DQo+ID4+Pj4gV2l0aCB0 aGlzIGluIG1pbmQsIHRyeSByZS1yZWFkaW5nIFR5bGVyJ3MgY2xhcmlmaWNhdGlvbnMgaW4gdGhp cw0KPiA+PiB0cmVhZC4NCj4gPj4+Pg0KPiA+Pj4+IEJyaWVmbHk6IGFsaWduYXMoKSBjYW4gYmUg YXR0YWNoZWQgdG8gdmFyaWFibGVzIGFuZCBzdHJ1Y3R1cmUNCj4gPj4gZmllbGRzLCBidXQgbm90 IHRvIHR5cGVzIChsaWtlIF9fcnRlX2FsaWduZWQoKSksIHNvIHRvIGFsaWduIGENCj4gPj4gc3Ry dWN0dXJlOg0KPiA+Pj4+DQo+ID4+Pj4gc3RydWN0IGZvbyB7DQo+ID4+Pj4gCWludCBhbGlnbmFz KDY0KSBiYXI7IC8qIGFsaWduYXMoNjQpIG11c3QgYmUgaGVyZSAqLw0KPiA+Pj4+IAlpbnQgICAg ICAgICAgICAgYmF6Ow0KPiA+Pj4+IH07IC8qIF9fcnRlX2FsaWduZWQoNjQpIHdhcyBoZXJlLCBi dXQgYWxpZ25hcyg2NCkgY2Fubm90IGJlIGhlcmUuDQo+ICovDQo+ID4+Pj4NCj4gPj4+PiBTbyB0 aGUgcXVlc3Rpb24gaXM6IERvIHdlIHdhbnQgdG8gZWxpbWluYXRlIHRoZSBfX3J0ZV9hbGlnbmVk KCkNCj4gPj4gbWFjcm8gLSB3aGljaCByZWxpZXMgb24gY29tcGlsZXIgYXR0cmlidXRlcyAtIGFu ZCBtaWdyYXRlIHRvIHVzaW5nDQo+IHRoZQ0KPiA+PiBDMTEgc3RhbmRhcmQgYWxpZ25hcygpPw0K PiA+Pj4+DQo+ID4+Pj4gSSB0aGluayB5ZXM7IGFmdGVyIHVwZGF0aW5nIHRvIEMxMSwgdGhlIHdv cmthcm91bmQgZm9yIHByZS1DMTEgbm90DQo+ID4+IG9mZmVyaW5nIGFsaWdubWVudCBpcyBvYnNv bGV0ZSwgYW5kIGl0cyByZW1vdmFsIHNob3VsZCBiZSBvbiB0aGUNCj4gPj4gcm9hZG1hcC4NCj4g Pj4+Pg0KPiA+Pj4NCj4gPj4+IE9LLCB0aGFua3MgZm9yIHRoZSBleHBsYW5hdGlvbi4gSW50ZXJl c3RpbmcgbGltaXRhdGlvbiBpbiB0aGUNCj4gPj4gc3RhbmRhcmQuDQo+ID4+Pg0KPiA+Pj4gSWYg dGhlIGNvbnN0cnVjdCB0aGUgc3RhbmRhcmQgaXMgb2ZmZXJpbmcgaXMgbGVzcyBlZmZlY3RpdmUg KGluDQo+IHRoaXMNCj4gPj4+IGNhc2UsIGxlc3MgcmVhZGFibGUpIGFuZCB0aGUgbm9uLXN0YW5k YXJkLWJhc2VkIG9wdGlvbiBpcyBwb3NzaWJsZQ0KPiA+Pj4gdG8gaW1wbGVtZW50IG9uIGFsbCBj b21waWxlcnMgKGkuZS4sIG9uIE1TVkMgdG9vKSwgdGhlbiB3ZSBzaG91bGQNCj4gPj4+IGtlZXAg dGhlIGN1c3RvbSBvcHRpb24uIEVzcGVjaWFsbHkgaWYgaXQncyBhbHJlYWR5IHRoZXJlLCBidXQg YWxzbw0KPiA+Pj4gaW4gY2FzZXMgd2hlcmUgaXQgaXNuJ3QuDQo+ID4+Pg0KPiA+Pj4gSW4gZmFj dCwgb25lIGNvdWxkIGFyZ3VlICpldmVyeXRoaW5nKiByZWxhdGVkIHRvIGFsaWdubWVudCBzaG91 bGQNCj4gZ28NCj4gPj4+IHRocm91Z2ggc29tZXRoaW5nIHJ0ZV8sIF9fcnRlXyBvciBSVEVfLXBy ZWZpeGVkLiBTbywgImludA0KPiA+Pj4gUlRFX0FMSUdOQVMoNjQpIGJhcjsiLiBNYXliZSB0aGF0 IHdvdWxkIGJlIHNpbGx5LCBidXQgaXQgd291bGQgYmUNCj4gPj4+IGNvbnNpc3RlbnQgd2l0aCBS VEVfQ0FDSEVfQUxJR05BUy4NCj4gPj4+DQo+ID4+PiBJIHdvdWxkIHdvcnJ5IG1vcmUgYWJvdXQg YWxsb3dpbmcgRFBESyBkZXZlbG9wZXJzIHdyaXRpbmcgY2xlYW4gYW5kDQo+ID4+PiByZWFkYWJs ZSBjb2RlLCB0aGFuIHZlcnkgc2xpZ2h0bHkgbG93ZXJpbmcgdGhlIGJhciBmb3IgdGhlIGZyYWN0 aW9uDQo+ID4+PiBvZiBuZXdjb21lcnMgZXhwZXJpZW5jZWQgd2l0aCB0aGUgbGF0ZXN0IGFuZCBn cmVhdGVzdCBmcm9tIHRoZSBDDQo+ID4+PiBzdGFuZGFyZCwgYW5kICpub3QqIGZhbWlsaWFyIHdp dGggYWdlLW9sZCBHQ0MgZXh0ZW5zaW9ucy4NCj4gPj4NCj4gPj4gSeKAmWQganVzdCBsaWtlIHRv IHN1bW1hcml6ZSB3aGVyZSBteSB1bmRlcnN0YW5kaW5nIGlzIGF0IGFmdGVyDQo+IHJldmlld2lu Zw0KPiA+PiB0aGlzIGRpc2N1c3Npb24gYW5kIG15IGRvd25zdHJlYW0gYnJhbmNoLiBCdXQgSSBh bHNvIHdhbnQgdG8gbWFrZSBpdA0KPiA+PiBjbGVhciB0aGF0IHdlIHByb2JhYmx5IG5lZWQgdG8g dXNlIGJvdGggc3RhbmRhcmQgQyBhbmQgbm9uLXN0YW5kYXJkDQo+ID4+IGF0dHJpYnV0ZS9kZWNs c3BlYyBmb3Igb2JqZWN0IGFuZCBzdHJ1Y3QvdW5pb24gdHlwZSBhbGlnbm1lbnQNCj4gPj4gcmVz cGVjdGl2ZWx5Lg0KPiA+Pg0KPiA+PiBJJ3ZlIGFzc3VtZWQgd2UgcHJlZmVyIGF2b2lkaW5nIHBl ci1jb21waWxlciBjb25kaXRpb25hbCBleHBhbnNpb24NCj4gd2hlbg0KPiA+PiBwb3NzaWJsZSB0 aHJvdWdoIHRoZSB1c2Ugb2Ygc3RhbmRhcmQgQyBtZWNoYW5pc21zLiBCdXQgdGhlcmUgYXJlDQo+ ID4+IGluc3RhbmNlcyB3aGVuIGFsaWduYXMgaXMgYXdrd2FyZC4NCj4gPj4NCj4gPj4gU28gSSB0 aGluayB0aGUgZm9sbG93aW5nIGlzIGNvbnNpc3RlbnQgd2l0aCB3aGF0IE1hdHRpYXMgaXMNCj4g YWR2b2NhdGluZw0KPiA+PiBzYW5zIGFueSBkaXNjdXNzaW9ucyByZWxhdGVkIHRvIGFjdHVhbCBu YW1pbmcgb2YgbWFjcm9zLg0KPiA+Pg0KPiA+PiBXZSBzaG91bGQgaGF2ZSAyIG1hY3JvcywgdXBv biB3aGljaCBvdGhlcnMgbWF5IGJlIGJ1aWx0IHRvIGV4cGFuZCB0bw0KPiA+PiB3ZWxsLWtub3du IHZhbHVlcyBmb3IgZS5nLiBjYWNoZSBsaW5lIHNpemUuDQo+ID4+DQo+ID4+IFJURV9BTElHTkFT KG4pIG9iamVjdDsNCj4gPj4NCj4gPj4gKiBUaGlzIG1hY3JvIGlzIHVzZWQgdG8gYWxpZ24gQyBv YmplY3RzIGkuZS4gdmFyaWFibGUsIGFycmF5LA0KPiA+PiBzdHJ1Y3QvdW5pb24NCj4gPj4gICAg ZmllbGRzIGV0Yy4NCj4gPj4gKiBUcml2aWFsbHkgZXhwYW5kcyB0byBhbGlnbmFzKG4pIGZvciBh bGwgdG9vbGNoYWlucy4NCj4gPj4gKiBQbGFjZWQgaW4gYSBsb2NhdGlvbiB0aGF0IGJvdGggQyBh bmQgQysrIHRyYW5zbGF0aW9uIHVuaXRzIGFjY2VwdA0KPiA+PiB0aGF0DQo+ID4+ICAgIGlzIG9u IHRoZSBzYW1lIGxpbmUgcHJlY2VlZGluZyB0aGUgb2JqZWN0IHR5cGUuDQo+ID4+ICAgIGV4YW1w bGU6DQo+ID4+ICAgIC8vIFJURV9BTElHTkFTKG4pIG9iamVjdDsNCj4gPj4gICAgUlRFX0FMSUdO QVMoMTYpIGNoYXIgc29tZWFycmF5WzE2XTsNCj4gPg0KPiA+IFNob3VsZG4ndCB0aGUgbG9jYXRp b24gYmU6DQo+ID4NCj4gPiBbc3RhdGljXSBbY29uc3RdIGNoYXIgUlRFX0FMSUdOQVMoMTYpIHNv bWVhcnJheVsxNl07DQo+ID4NCj4gPj4NCj4gPj4gUlRFX0FMSUdOX1RZUEUobikNCj4gPj4NCj4g Pj4gKiBUaGlzIG1hY3JvIGlzIHVzZWQgdG8gYWxpZ24gc3RydWN0L3VuaW9uIHR5cGVzLg0KPiA+ PiAqIENvbmRpdGlvbmFsbHkgZXhwYW5kcyB0byBfX2RlY2xzcGVjKGFsaWduKG4pKSAobXN2Yykg YW5kDQo+ID4+ICAgIF9fYXR0cmlidXRlX18oKF9fYWxpZ25lZF9fKG4pKSkgKGZvciBhbGwgb3Ro ZXIgdG9vbGNoYWlucykNCj4gPj4gKiBQbGFjZWQgaW4gYSBsb2NhdGlvbiB0aGF0IGZvciBhbGwg Z2NjLGNsYW5nLG1zdmMgYW5kIGJvdGggQyBhbmQNCj4gQysrDQo+ID4+ICAgIHRyYW5zbGF0aW9u IHVuaXRzIGFjY2VwdC4NCj4gPj4gICAgZXhhbXBsZToNCj4gPj4gICAgLy8ge3N0cnVjdCx1bmlv bn0gUlRFX0FMSUdOX1RZUEUobikgdGFnIHsgLi4uIH07DQo+ID4+ICAgIHN0cnVjdCBSVEVfQUxJ R05fVFlQRSg2NCkgc29tZXR5cGUgeyAuLi4gfTsNCj4gPj4NCj4gPj4gSSdtIG5vdCBwaWNreSBh Ym91dCB3aGF0IHRoZSBuYW1lcyBhY3R1YWx5IGFyZSBpZiB5b3UgaGF2ZSBiZXR0ZXINCj4gPj4g c3VnZ2VzdGlvbnMgaSdtIGhhcHB5IHRvIGFkb3B0IHRoZW0uDQo+ID4NCj4gPiBCZWluZyBhYmxl IHRvIGFsaWduIHR5cGVzIGlzIHZlcnkgY29udmVuaWVudCwgYW5kIHNpbmNlIGl0IHdvcmtzIG9u DQo+IGFsbCB0b29sY2hhaW5zLCByZXBsYWNpbmcgX19ydGVfYWxpZ25lZCgpIHdpdGggUlRFX0FM SUdOKCkgKGluIHByZXNlbnQNCj4gdGVuc2UsIGxpa2UgImlubGluZSIgbm90IHBhc3QgdGVuc2Ug bGlrZSAiaW5saW5lZCIpIGlzIHBlcmZlY3RseQ0KPiBhY2NlcHRhYmxlIHdpdGggbWUuIChJIHN1 cHBvc2UgTVNWQyByZXF1aXJlcyB0aGlzIG90aGVyIGxvY2F0aW9uIHdoZW4NCj4gdXNpbmcgaXQs IHNvIHdlIHNpbXBseSBoYXZlIHRvIGFjY2VwdCB0aGF0LiBJdCdzIGEgbWlub3IgY2hhbmdlIG9u bHksDQo+IGl0IGNvdWxkIGhhdmUgYmVlbiBtdWNoIHdvcnNlISkNCj4gPg0KPiA+IE5vdywgaWYg d2UgaGF2ZSBSVEVfQUxJR05bX1RZUEVdKCksIHdoYXQgZG8gd2UgbmVlZCBSVEVfQUxJR05BUygp DQo+IGZvcj8NCj4gPg0KPiA+IEFuZCB3aGF0IGlzIHRoZSBwb2ludCBvZiBpbnRyb2R1Y2luZyBS VEVfQUxJR05BUygpIHdoZW4gdGhlIEMNCj4gc3RhbmRhcmQgYWxyZWFkeSBoYXMgYWxpZ25hcygp Pw0KPiA+DQo+IA0KPiBUaGUgYXJndW1lbnQgSSBtYWRlLCB3aGljaCBtYXkgbm90IGJlIGEgdmVy eSBzdHJvbmcgb25lLCBpcyBpZiB5b3UNCj4gbmVlZGVkIHR3byBjb25zdHJ1Y3RzIGZvciBhbGln bm1lbnQtcmVsYXRlZCBwdXJwb3NlcywgdGhleSBzaG91bGQgYm90aA0KPiBoYXZlIHRoZSBSVEVf IHByZWZpeCwgZm9yIGNvbnNpc3RlbmN5IHJlYXNvbnMuDQoNCkkgZG9uJ3QgY29uc2lkZXIgc3Vj aCBjb25zaXN0ZW5jeSBhIHN0cm9uZyBlbm91Z2ggcmVhc29uIHRvIGludHJvZHVjZSBhIG1hY3Jv IChSVEVfQUxJR05BUygpKSBmb3Igc29tZXRoaW5nIHRoYXQgZXhpc3RzIDE6MSBpbiB0aGUgQyBz dGFuZGFyZCAoYWxpZ25hcygpKS4gSXQgZG9lc24ndCBtYWtlIHRoZSBjb2RlIGFueSBjbGVhbmVy LiBBbmQgc2luY2Ugd2UgcmVxdWlyZSBDMTEsIGFsaWduYXMoKSB3b3JrcyB3aXRoIGFsbCB0b29s Y2hhaW5zLg0KDQpJIGd1ZXNzIGl0J3MgYSBtYXR0ZXIgb2YgdGFzdGUuIEluIHRoaXMgY2FzZSBJ IHRoaW5rIGl0IGlzIHN1cGVyZmx1b3VzLCBhbmQgcHJlZmVyIEMxMSBwdXJpc20uIDotKQ0KDQo+ IA0KPiA+IEkgZG9uJ3Qga25vdyB3aHkgdGhlIGV4aXN0aW5nIGFsaWdubWVudCBtYWNyb3MgYXJl IGxvd2VyIGNhc2UgYW5kDQo+IHByZWZpeGVkIHdpdGggZG91YmxlIHVuZGVyc2NvcmUgKF9fcnRl X21hY3JvKSwgaW5zdGVhZCBvZiB1cHBlciBjYXNlDQo+IGxpa2Ugb3RoZXIgbWFjcm9zIChSVEVf TUFDUk8pLiBJZiBzb21lb25lIGNhbiBleHBsYWluIHdoeSB0aGF0IGNvZGUNCj4gY29udmVudGlv biBpcyBzdGlsbCByZWxldmFudCwgdGhlIG5ldyBtYWNyb3Mgc2hvdWxkIGZvbGxvdyBpdDsNCj4g b3RoZXJ3aXNlIGZvbGxvdyB0aGUgY29kZSBjb252ZW50aW9uIGZvciBtYWNyb3MsIGkuZS4gUlRF X01BQ1JPLg0KPiA+DQo+IA0KPiBBIGxvdCB0aGUgbG93LWxldmVsIERQREsgc3R1ZmYgbG9va3Mg bGlrZSBpdCdzIGJvcnJvd2VkIGZyb20gZWl0aGVyDQo+IExpbnV4IG9yICpCU0Qga2VybmVscy4g X19hbGlnbmVkKDE2KSAoTGludXgsIEZyZWVCU0QpIC0+DQo+IF9fcnRlX2FsaWduZWQoMTYpLg0K DQpUaGF0IHNlZW1zIGEgdmVyeSBsaWtlbHkgb3JpZ2luLg0KU28gdGhlIHF1ZXN0aW9ucyBhcmU6 DQoxLiBEbyBMaW51eCBrZXJuZWwgY29kaW5nIGNvbnZlbnRpb25zIHRydW1wIERQREsgQ29kaW5n IFN0eWxlIGd1aWRlbGluZXM/DQoyLiBXZSBtdXN0IGNoYW5nZSB0aGUgX19ydGVfYWxpZ25lZCgp IG1hY3JvLCBzbyBkbyB3ZSBrZWVwIHVzaW5nIGxvd2VyIGNhc2UgZm9yIHRoZSBuZXcgbWFjcm8s IG9yIGRvIHdlIHRha2UgdGhlIG9wcG9ydHVuaXR5IHRvIGZpeCBpdCBhbmQgbWFrZSBpdCB1cHBl ciBjYXNlPw0KDQpJIHRoaW5rIG1hY3JvcyBnZW5lcmFsbHkgc2hvdWxkIGJlIHVwcGVyIGNhc2Us IHNvIHdlIHNob3VsZCBtYWtlIHRoaXMgb25lIHVwcGVyIGNhc2UgdG9vLg0KSWYgd2Ugd2FudCB0 byBtYWtlIHNvbWUgbWFjcm9zIGxvd2VyIGNhc2UsIHdlIHNob3VsZCBkb2N1bWVudCB3aGVuIGEg bWFjcm8gY2FuIGJlIGxvd2VyIGNhc2UuIEUuZy4gd2UgY291bGQgYWxsb3cgaW5saW5lIGZ1bmN0 aW9uLWxpa2UgbWFjcm9zICh3aGljaCAtIHVubGlrZSBpbmxpbmUgZnVuY3Rpb25zIC0gY2FuIHRh a2UgdHlwZWxlc3MgcGFyYW1ldGVycykgdG8gYmUgbG93ZXIgY2FzZSwgaWYgdGhleSBzZWVuIGZy b20gdGhlIG91dHNpZGUgYmVoYXZlIGxpa2UgaW5saW5lIGZ1bmN0aW9ucywgaS5lLiBpZiB0aGV5 IHVzZSBlYWNoIG9mIHRoZWlyIHBhcmFtZXRlcnMgZXhhY3RseSBvbmNlLg0KDQo8aXJvbnk+DQpX ZSBzaG91bGQgYWxzbyByZW5hbWUgbGlrZWx5KCkvdW5saWtlbHkoKSB0byBSVEVfTElLRUxZKCkv UlRFX1VOTElLRUxZKCkhDQo8L2lyb255Pg0KDQo+IA0KPiA+IFBTOiAjZGVmaW5lIFJURV9DQUNI RV9BTElHTiBSVEVfQUxJR04oUlRFX0NBQ0hFX0xJTkVfU0laRSkgZm9yDQo+IGJyZXZpdHkgc3Rp bGwgc2VlbXMgbGlrZSBhIGdvb2QgaWRlYSB0byBtZS4NCj4gPg0KPiANCj4gUlRFX0NBQ0hFX0FM SUdOIG9yIFJURV9DQUNIRV9MSU5FX0FMSUdOPw0KPiANCj4gVGhlIGZvcm1lciBpcyBzaG9ydGVy LCB0aGUgbGF0dGVyIGNvbnNpc3RlbnQgd2l0aCBSVEVfQ0FDSEVfTElORV9TSVpFLg0KPiBJDQo+ IHRoaW5rIEkgcHJlZmVyIHRoZSBmb3JtZXIuDQoNCkkgcHJlZmVyIHRoZSBzaG9ydGVyIG9uZSB0 b28uDQoNClRoZSBtZWFuaW5nIG9mIENBQ0hFX0FMSUdOICh3aXRob3V0IF9MSU5FKSBpcyB1bmxp a2VseSB0byBiZSBtaXN1bmRlcnN0b29kLiBCdXQgQ0FDSEVfU0laRSAod2l0aG91dCBfTElORSkg d291bGQgbWVhbiBzb21ldGhpbmcgZWxzZSB0aGFuIENBQ0hFX0xJTkVfU0laRS4NCg0KTm8gc3Ry b25nIHByZWZlcmVuY2Ugb24gdGhpcyBuYW1lLCB0aG91Z2guDQoNCg==