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 7AF63A0C57; Sat, 28 Aug 2021 16:16:11 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 017E440150; Sat, 28 Aug 2021 16:16:11 +0200 (CEST) Received: from NAM12-DM6-obe.outbound.protection.outlook.com (mail-dm6nam12on2071.outbound.protection.outlook.com [40.107.243.71]) by mails.dpdk.org (Postfix) with ESMTP id 7FBDB40143 for ; Sat, 28 Aug 2021 16:16:09 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=RUFWHq2Oqnc0AdXhmz7UYUMam3KtfHAG71H/MHqHd80AFkR/hZaCoC/H7il3w0nwGrkv4xvD053TBpPPs9WgajMyCgwjTDr4iA3NpmL5sSakOvmq8qc7TmPPp7VrZuG1jdI0q4oPNXB9W+ySHDl5w4pHlxD2av1IbPbxItiyyVBgsJPUOs4rPhHGS2taBfIuoQVRRd1+ztllQThvg8XoU9AamgMpT8xlrPs0zVxQd9XczQY53yVuTKRKY9tEjvQeLssUXayMHSvZnsYdslmUW9oGPnl8PB3nnfowbE669lI8JkE57FEC9pzwHHmEmK8cCo9/Pnv7KSmr8qXcheYEOA== 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-SenderADCheck; bh=VAYhAzHJ1AQq8iDN87FgeO++D4jnIJ2XIDS1mruVSqA=; b=PK+GYnvNaJjQQiIMHBR85jAyxbKQukXvKJIzACrz/fFbI6GFUAiHPHYt1PoBBvcKngE7dPZclliDzMkahx+UOTfXUP0r58YrL/lZXHDf0dRWhp1gnHfcPo7kyvAPyZvr5hauRzYOMRZdd5ALxpG7NSCaEjNcvFB/GgiRmiczvXsiOgk8IBzlBvwPUn4XSwpvRq8WM5w8BMrmWjhfkWkDRM1l5osjyeNfT5YwXYU5rvg6eF2e+5UWfslc0XVfKghyrqQ1ACWd40Z59afKQcP45UEnszweqjH13YkpQ3wNDMSlTGwqMARWTE66PUeZ70PnyNZFQ1aaMJXMccKG3Cl2ZQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=VAYhAzHJ1AQq8iDN87FgeO++D4jnIJ2XIDS1mruVSqA=; b=g3fPxCzDY0+ZmIVlXi0oRjesAwcNtkv/NEUKo6URsmorHFStt8fuY70T/owkM1VZyBxY81W58puqnPBx5GqS9kTbRMwzircWzKUys85I4HdQadqY3buLldjmK/SoEB0WiSInYcn4OWYWQvBbym4Aweqm58omp3leS27jU44K36wLMhqnvY+ITtPRfSHgRdL98+nJ2fVn3K81iVStUbsBKaEGf9Xth0Y3OvjUFNpuQIRnFvxwagc/GZgqxdpVWfJcdCqNwngWxmTQQQBgq62Aq+uV+WlrwfuwiEQsQAVXN/wvuo8JGE9TSz4cXEGdjebtlXILvCRKYgxLB6oKEnmDTA== Received: from DM4PR12MB5373.namprd12.prod.outlook.com (2603:10b6:5:39a::17) by DM4PR12MB5232.namprd12.prod.outlook.com (2603:10b6:5:39c::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.23; Sat, 28 Aug 2021 14:16:04 +0000 Received: from DM4PR12MB5373.namprd12.prod.outlook.com ([fe80::20f5:dbdd:64b1:617b]) by DM4PR12MB5373.namprd12.prod.outlook.com ([fe80::20f5:dbdd:64b1:617b%9]) with mapi id 15.20.4415.023; Sat, 28 Aug 2021 14:16:04 +0000 From: "Xueming(Steven) Li" To: Jerin Jacob CC: dpdk-dev , Ferruh Yigit , NBU-Contact-Thomas Monjalon , Andrew Rybchenko Thread-Topic: [PATCH v2 01/15] ethdev: introduce shared Rx queue Thread-Index: AQHXjrnd1i7/1bMsyEmpVz6Kp88Yyqt3eGmAgAAdm6CAAED4gIABKgpggAFXLwCAAGszAIALAnAAgANDfUA= Date: Sat, 28 Aug 2021 14:16:04 +0000 Message-ID: References: <20210727034204.20649-1-xuemingl@nvidia.com> <20210811140418.393264-1-xuemingl@nvidia.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: gmail.com; dkim=none (message not signed) header.d=none;gmail.com; dmarc=none action=none header.from=nvidia.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 9d23fecd-2e76-4b6b-42ef-08d96a2e5f24 x-ms-traffictypediagnostic: DM4PR12MB5232: x-ld-processed: 43083d15-7273-40c1-b7db-39efd9ccc17a,ExtAddr x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:10000; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: yVYdM/8ycTD90m5R7caIILVzpg3pDzmouPLn1VrRetqRcvSFkFXJcj0zmKynDMqcxmRJTiyPo4QrpA1wwndhKQr/OngajROP/bHKdrfixbFgpBmwBD3+gMjwNsj7EJcLu2Zz5wIHFPsTawKM7RxLRJ6A9uPZA1GEyE3c0VPFXnHKNzIypOu3ipN1fRNL3LbP6TMc/nvN+HhsP6RRWFD98Q9U6Eqg4uSOWPMVp4EJknM+/G89G3n2OG2q9PYB+/hjXZb4wXV+3bwa71lTUQrx62sYQcS2xxsduAcndYX4GdeNnlCYzPvwrx8TXXo/nRRolKGY2r+z9aVLws4BdT4pgOwU8Xbs8LqI2TK9Ca7z2PAGINjXBhYz0I1TsHwuABC0GFLDxinMJ9jaOvJBupJnI5bC4QisOKJreCwV6nQIBPvI+RUP20kceffqslyNhgU0rhL10rJlqQ2fkwd9ZX74Etji0qOzmC6eUFdq1rn9RSsMTe7IXVRUHurHq5fBXwDw6ISGUkBI5C2jqEO/dcR1PF4P2ovnx5l4KLJExFME0ynCsworWYs1hmGqND+RGkor/rQnSRwLALihrHWr7BQa10XfB40UiPbOVRzEzUOoLPxPTjy2ZE5//jzDB97+heuBBfoTjfbA9D614KbwMWIZiKUFqHqEQJz3SR91j+G7LKAREccreVDRCVayCMkqKwd5BBNCfxDdN+snKWEEsYrlACzTSO9i/T+s248L3x3D+P1g3Ev2FDgEKnUc3KYqjbM+EohuDTQI9/pgfR1IYOlgPpfKNn8tK3xw0ClkTCwsUhU= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM4PR12MB5373.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(366004)(5660300002)(33656002)(66946007)(76116006)(2906002)(86362001)(4326008)(54906003)(9686003)(66476007)(316002)(64756008)(55016002)(66556008)(66446008)(52536014)(186003)(83380400001)(71200400001)(966005)(6916009)(6506007)(26005)(30864003)(53546011)(38070700005)(8676002)(38100700002)(122000001)(508600001)(7696005)(8936002); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?d2E3VkdGUUNiZFRTZGdDaWo4eVRmZ3Q4eTJCeVFTV3Fqc2IrMW5aQTJZYkZv?= =?utf-8?B?cTVoQzc0TlRBNTlYNUxhRzhMbnZXRS8xSnA2YjdXQXJmVmNRT0NwQUQ3c2Ux?= =?utf-8?B?Q2NtLzE5bm1KcFJuejd1elZHTTc1OGJWT2ZoaGVLUEx5ak1iRXI4QjJRTUFr?= =?utf-8?B?UjhBUFpBV0plR1FSZk9odEVuejhrcUFYRVVkN0pseXVYU2doeGExQ3VxemhW?= =?utf-8?B?TytJdjhVVFduVmhkbW9GNDBQU2tvQ0pJQnRrTFRBdkNuMmlSZUJycFR2YlQw?= =?utf-8?B?eHpWSzRNVHY0L0VBOTFiSWpBekxRQzQ0YzRXazlVMDUyNUFyUjE5bXR0L0Zj?= =?utf-8?B?bmhXazhwSHV3VVFiQm42cGpJdno4NHkzby9VRHVMd2pxNW10THNIZG5uWEhj?= =?utf-8?B?MU4vRU1RcjRlR3FBeHF5QWdTOXBBd1NhelVmQTJMbktqamI4VXg0aCsxNHZZ?= =?utf-8?B?dW5ReURxN3pQQjVqWUhmNkkzZ2pvbGVBZVJGaUJEaThnb0NUSldzVXFOWWF4?= =?utf-8?B?SjFuSHAvVnNuTjUyVUZSMnVuUWJWWWRIY05ad2x0NmpDWlpOVzhRYm9xZXF4?= =?utf-8?B?TE5QNlpsNnFoaTVid29pUzRLM1ltMEd6cHNnN01XMVNZelR4eUxYT3h0R2pX?= =?utf-8?B?NUNYM0lHTndhYkhxL1hsUGZTZDhJM01KSUNKeC9yZmFBaGNMZlMwMGorYUoz?= =?utf-8?B?WmEyT0J3elBjK1ZVYUVuSlhlK0owTU8rSWp4Y3g0Z3hPTFdLSTIyRWNIKzRS?= =?utf-8?B?YW0zSWRCbWZUem10YmRyN3I0ZXJ0MlhteE9McUYzbDFlSi96V2JZUE15aTZE?= =?utf-8?B?ems0RzlYN2NMWDJCcStjZjBDaGxEQndtT2RxT2Y1M1pyNkxHd1ZaVDdGRjYx?= =?utf-8?B?eVdZWXNvSmJXQkNvSGx5S0EwdUc1Z1A5VVRjbTJMeTJHenduN2tFenhPMFJk?= =?utf-8?B?eWhMWWJTSjUzWXhqc2UvQ3EvMGdWZTNsSURHMlFHTWxPV1VTT2h3cjRvUTBu?= =?utf-8?B?SVFPKzliL0hCQ3RHeURWeE4xbXpadFgwR0FHVy9GK2ZUc1E0dnRvK2tLTXk1?= =?utf-8?B?c25TbThTZlFwcHFYekZRdFZjeXR1Q1BKTS9nUVhrS1NNKzgxMTFKY1UwTGdr?= =?utf-8?B?YndHdFlKZzRPUmI2SnltOExoZUNmbnZ2Q0dYOHl3eHBiTDFXakpkVC9id01K?= =?utf-8?B?YVNRREQwUUIyZjVXNHdBN1B6NGl5ZUJXVkFoODBWeWNQUDJUUFRRNjhpc0hy?= =?utf-8?B?RnlmVVgvOURGWllZUzQzQTBCQmpRZndnTVlsWkVtS0hmS0ZFZWVvRFQ4MWZx?= =?utf-8?B?ZUR4dnNjdkxsSEpGaUF2OVdDOW9vS1psN0t6eWpIcjlMMWw4YVdWRzB4eU54?= =?utf-8?B?R2NtQnFMVlVTMG4wcUhsSXo3Q2FNMHBuSVNFZ3ZmVHAvN2NDQXhSVnFqcHFJ?= =?utf-8?B?OVJ5RmFBNTF0UldGV0pPTHlZVHF1WDYzdFpjYVRqS1I1S2R5QW0yZ3RoRnRh?= =?utf-8?B?ZHRKTFlJVVNvdWFGcGt6L0hSQUJvU3cxR0FyUXF2cXkwbzh1R3JlcjRzOHJO?= =?utf-8?B?TzVxSjRtTjVxYTV6b2dHVUFSMVEzVVp6ZWhjdE5FUnlpZXh2cGF0dy9rWVhQ?= =?utf-8?B?aDJaOTlISXZZREx2VW9tMDRBejlOYXRmbGd1dFRzT1ZERUZJM3Yrd2F0MGdH?= =?utf-8?B?WDhSRzJyanBhMEROSWtiWjlXOGw4di9JQWd1M2RGWnRaREltcEg1N21VUU96?= =?utf-8?Q?GoMgA3N16S9jD5Qgu2tDKHMWnBOSOFMGZQOyUYb?= x-ms-exchange-transport-forked: True Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM4PR12MB5373.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 9d23fecd-2e76-4b6b-42ef-08d96a2e5f24 X-MS-Exchange-CrossTenant-originalarrivaltime: 28 Aug 2021 14:16:04.6081 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: xKSk+NX3wyKH9J4Ldun7jpf7cTKD12KpFBnWLrjuN1ueA5LuWMW1qIxk7z2kruTHQCF1VMvMdbL0Nd2v40N6AQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM4PR12MB5232 Subject: Re: [dpdk-dev] [PATCH v2 01/15] ethdev: introduce shared Rx queue 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 Sender: "dev" DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogSmVyaW4gSmFjb2IgPGpl cmluamFjb2JrQGdtYWlsLmNvbT4NCj4gU2VudDogVGh1cnNkYXksIEF1Z3VzdCAyNiwgMjAyMSA3 OjU4IFBNDQo+IFRvOiBYdWVtaW5nKFN0ZXZlbikgTGkgPHh1ZW1pbmdsQG52aWRpYS5jb20+DQo+ IENjOiBkcGRrLWRldiA8ZGV2QGRwZGsub3JnPjsgRmVycnVoIFlpZ2l0IDxmZXJydWgueWlnaXRA aW50ZWwuY29tPjsgTkJVLUNvbnRhY3QtVGhvbWFzIE1vbmphbG9uIDx0aG9tYXNAbW9uamFsb24u bmV0PjsNCj4gQW5kcmV3IFJ5YmNoZW5rbyA8YW5kcmV3LnJ5YmNoZW5rb0Bva3RldGxhYnMucnU+ DQo+IFN1YmplY3Q6IFJlOiBbUEFUQ0ggdjIgMDEvMTVdIGV0aGRldjogaW50cm9kdWNlIHNoYXJl ZCBSeCBxdWV1ZQ0KPiANCj4gT24gVGh1LCBBdWcgMTksIDIwMjEgYXQgNTozOSBQTSBYdWVtaW5n KFN0ZXZlbikgTGkgPHh1ZW1pbmdsQG52aWRpYS5jb20+IHdyb3RlOg0KPiA+DQo+ID4NCj4gPg0K PiA+ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPiA+IEZyb206IEplcmluIEphY29i IDxqZXJpbmphY29ia0BnbWFpbC5jb20+DQo+ID4gPiBTZW50OiBUaHVyc2RheSwgQXVndXN0IDE5 LCAyMDIxIDE6MjcgUE0NCj4gPiA+IFRvOiBYdWVtaW5nKFN0ZXZlbikgTGkgPHh1ZW1pbmdsQG52 aWRpYS5jb20+DQo+ID4gPiBDYzogZHBkay1kZXYgPGRldkBkcGRrLm9yZz47IEZlcnJ1aCBZaWdp dCA8ZmVycnVoLnlpZ2l0QGludGVsLmNvbT47DQo+ID4gPiBOQlUtQ29udGFjdC1UaG9tYXMgTW9u amFsb24gPHRob21hc0Btb25qYWxvbi5uZXQ+OyBBbmRyZXcgUnliY2hlbmtvDQo+ID4gPiA8YW5k cmV3LnJ5YmNoZW5rb0Bva3RldGxhYnMucnU+DQo+ID4gPiBTdWJqZWN0OiBSZTogW1BBVENIIHYy IDAxLzE1XSBldGhkZXY6IGludHJvZHVjZSBzaGFyZWQgUnggcXVldWUNCj4gPiA+DQo+ID4gPiBP biBXZWQsIEF1ZyAxOCwgMjAyMSBhdCA0OjQ0IFBNIFh1ZW1pbmcoU3RldmVuKSBMaSA8eHVlbWlu Z2xAbnZpZGlhLmNvbT4gd3JvdGU6DQo+ID4gPiA+DQo+ID4gPiA+DQo+ID4gPiA+DQo+ID4gPiA+ ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPiA+ID4gPiBGcm9tOiBKZXJpbiBKYWNv YiA8amVyaW5qYWNvYmtAZ21haWwuY29tPg0KPiA+ID4gPiA+IFNlbnQ6IFR1ZXNkYXksIEF1Z3Vz dCAxNywgMjAyMSAxMToxMiBQTQ0KPiA+ID4gPiA+IFRvOiBYdWVtaW5nKFN0ZXZlbikgTGkgPHh1 ZW1pbmdsQG52aWRpYS5jb20+DQo+ID4gPiA+ID4gQ2M6IGRwZGstZGV2IDxkZXZAZHBkay5vcmc+ OyBGZXJydWggWWlnaXQNCj4gPiA+ID4gPiA8ZmVycnVoLnlpZ2l0QGludGVsLmNvbT47IE5CVS1D b250YWN0LVRob21hcyBNb25qYWxvbg0KPiA+ID4gPiA+IDx0aG9tYXNAbW9uamFsb24ubmV0Pjsg QW5kcmV3IFJ5YmNoZW5rbw0KPiA+ID4gPiA+IDxhbmRyZXcucnliY2hlbmtvQG9rdGV0bGFicy5y dT4NCj4gPiA+ID4gPiBTdWJqZWN0OiBSZTogW1BBVENIIHYyIDAxLzE1XSBldGhkZXY6IGludHJv ZHVjZSBzaGFyZWQgUnggcXVldWUNCj4gPiA+ID4gPg0KPiA+ID4gPiA+IE9uIFR1ZSwgQXVnIDE3 LCAyMDIxIGF0IDU6MDEgUE0gWHVlbWluZyhTdGV2ZW4pIExpIDx4dWVtaW5nbEBudmlkaWEuY29t PiB3cm90ZToNCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4NCj4gPiA+ID4g PiA+ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPiA+ID4gPiA+ID4gRnJvbTogSmVy aW4gSmFjb2IgPGplcmluamFjb2JrQGdtYWlsLmNvbT4NCj4gPiA+ID4gPiA+ID4gU2VudDogVHVl c2RheSwgQXVndXN0IDE3LCAyMDIxIDU6MzMgUE0NCj4gPiA+ID4gPiA+ID4gVG86IFh1ZW1pbmco U3RldmVuKSBMaSA8eHVlbWluZ2xAbnZpZGlhLmNvbT4NCj4gPiA+ID4gPiA+ID4gQ2M6IGRwZGst ZGV2IDxkZXZAZHBkay5vcmc+OyBGZXJydWggWWlnaXQNCj4gPiA+ID4gPiA+ID4gPGZlcnJ1aC55 aWdpdEBpbnRlbC5jb20+OyBOQlUtQ29udGFjdC1UaG9tYXMgTW9uamFsb24NCj4gPiA+ID4gPiA+ ID4gPHRob21hc0Btb25qYWxvbi5uZXQ+OyBBbmRyZXcgUnliY2hlbmtvDQo+ID4gPiA+ID4gPiA+ IDxhbmRyZXcucnliY2hlbmtvQG9rdGV0bGFicy5ydT4NCj4gPiA+ID4gPiA+ID4gU3ViamVjdDog UmU6IFtQQVRDSCB2MiAwMS8xNV0gZXRoZGV2OiBpbnRyb2R1Y2Ugc2hhcmVkIFJ4DQo+ID4gPiA+ ID4gPiA+IHF1ZXVlDQo+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+IE9uIFdlZCwgQXVnIDEx LCAyMDIxIGF0IDc6MzQgUE0gWHVlbWluZyBMaSA8eHVlbWluZ2xAbnZpZGlhLmNvbT4gd3JvdGU6 DQo+ID4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gPiBJbiBjdXJyZW50IERQREsgZnJhbWV3 b3JrLCBlYWNoIFJYIHF1ZXVlIGlzIHByZS1sb2FkZWQNCj4gPiA+ID4gPiA+ID4gPiB3aXRoIG1i dWZzIGZvciBpbmNvbWluZyBwYWNrZXRzLiBXaGVuIG51bWJlciBvZg0KPiA+ID4gPiA+ID4gPiA+ IHJlcHJlc2VudG9ycyBzY2FsZSBvdXQgaW4gYSBzd2l0Y2ggZG9tYWluLCB0aGUgbWVtb3J5DQo+ ID4gPiA+ID4gPiA+ID4gY29uc3VtcHRpb24gYmVjYW1lIHNpZ25pZmljYW50LiBNb3N0IGltcG9y dGFudCwgcG9sbGluZw0KPiA+ID4gPiA+ID4gPiA+IGFsbCBwb3J0cyBsZWFkcyB0byBoaWdoIGNh Y2hlIG1pc3MsIGhpZ2ggbGF0ZW5jeSBhbmQgbG93IHRocm91Z2hwdXQuDQo+ID4gPiA+ID4gPiA+ ID4NCj4gPiA+ID4gPiA+ID4gPiBUaGlzIHBhdGNoIGludHJvZHVjZXMgc2hhcmVkIFJYIHF1ZXVl LiBQb3J0cyB3aXRoIHNhbWUNCj4gPiA+ID4gPiA+ID4gPiBjb25maWd1cmF0aW9uIGluIGEgc3dp dGNoIGRvbWFpbiBjb3VsZCBzaGFyZSBSWCBxdWV1ZSBzZXQgYnkgc3BlY2lmeWluZyBzaGFyaW5n IGdyb3VwLg0KPiA+ID4gPiA+ID4gPiA+IFBvbGxpbmcgYW55IHF1ZXVlIHVzaW5nIHNhbWUgc2hh cmVkIFJYIHF1ZXVlIHJlY2VpdmVzDQo+ID4gPiA+ID4gPiA+ID4gcGFja2V0cyBmcm9tIGFsbCBt ZW1iZXIgcG9ydHMuIFNvdXJjZSBwb3J0IGlzIGlkZW50aWZpZWQgYnkgbWJ1Zi0+cG9ydC4NCj4g PiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiA+IFBvcnQgcXVldWUgbnVtYmVyIGluIGEgc2hh cmVkIGdyb3VwIHNob3VsZCBiZSBpZGVudGljYWwuDQo+ID4gPiA+ID4gPiA+ID4gUXVldWUgaW5k ZXggaXMNCj4gPiA+ID4gPiA+ID4gPiAxOjEgbWFwcGVkIGluIHNoYXJlZCBncm91cC4NCj4gPiA+ ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiA+IFNoYXJlIFJYIHF1ZXVlIG11c3QgYmUgcG9sbGVk IG9uIHNpbmdsZSB0aHJlYWQgb3IgY29yZS4NCj4gPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4g PiA+IE11bHRpcGxlIGdyb3VwcyBpcyBzdXBwb3J0ZWQgYnkgZ3JvdXAgSUQuDQo+ID4gPiA+ID4g PiA+ID4NCj4gPiA+ID4gPiA+ID4gPiBTaWduZWQtb2ZmLWJ5OiBYdWVtaW5nIExpIDx4dWVtaW5n bEBudmlkaWEuY29tPg0KPiA+ID4gPiA+ID4gPiA+IENjOiBKZXJpbiBKYWNvYiA8amVyaW5qYWNv YmtAZ21haWwuY29tPg0KPiA+ID4gPiA+ID4gPiA+IC0tLQ0KPiA+ID4gPiA+ID4gPiA+IFJ4IHF1 ZXVlIG9iamVjdCBjb3VsZCBiZSB1c2VkIGFzIHNoYXJlZCBSeCBxdWV1ZSBvYmplY3QsDQo+ID4g PiA+ID4gPiA+ID4gaXQncyBpbXBvcnRhbnQgdG8gY2xlYXIgYWxsIHF1ZXVlIGNvbnRyb2wgY2Fs bGJhY2sgYXBpIHRoYXQgdXNpbmcgcXVldWUgb2JqZWN0Og0KPiA+ID4gPiA+ID4gPiA+DQo+ID4g PiA+ID4gPiA+ID4gaHR0cHM6Ly9tYWlscy5kcGRrLm9yZy9hcmNoaXZlcy9kZXYvMjAyMS1KdWx5 LzIxNTU3NC5odG1sDQo+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ID4gICN1bmRlZiBSVEVf UlhfT0ZGTE9BRF9CSVQyU1RSIGRpZmYgLS1naXQNCj4gPiA+ID4gPiA+ID4gPiBhL2xpYi9ldGhk ZXYvcnRlX2V0aGRldi5oIGIvbGliL2V0aGRldi9ydGVfZXRoZGV2LmggaW5kZXgNCj4gPiA+ID4g PiA+ID4gPiBkMmIyN2MzNTFmLi5hNTc4YzlkYjlkIDEwMDY0NA0KPiA+ID4gPiA+ID4gPiA+IC0t LSBhL2xpYi9ldGhkZXYvcnRlX2V0aGRldi5oDQo+ID4gPiA+ID4gPiA+ID4gKysrIGIvbGliL2V0 aGRldi9ydGVfZXRoZGV2LmgNCj4gPiA+ID4gPiA+ID4gPiBAQCAtMTA0Nyw2ICsxMDQ3LDcgQEAg c3RydWN0IHJ0ZV9ldGhfcnhjb25mIHsNCj4gPiA+ID4gPiA+ID4gPiAgICAgICAgIHVpbnQ4X3Qg cnhfZHJvcF9lbjsgLyoqPCBEcm9wIHBhY2tldHMgaWYgbm8gZGVzY3JpcHRvcnMgYXJlIGF2YWls YWJsZS4gKi8NCj4gPiA+ID4gPiA+ID4gPiAgICAgICAgIHVpbnQ4X3QgcnhfZGVmZXJyZWRfc3Rh cnQ7IC8qKjwgRG8gbm90IHN0YXJ0IHF1ZXVlIHdpdGggcnRlX2V0aF9kZXZfc3RhcnQoKS4gKi8N Cj4gPiA+ID4gPiA+ID4gPiAgICAgICAgIHVpbnQxNl90IHJ4X25zZWc7IC8qKjwgTnVtYmVyIG9m IGRlc2NyaXB0aW9ucyBpbiByeF9zZWcgYXJyYXkuDQo+ID4gPiA+ID4gPiA+ID4gKi8NCj4gPiA+ ID4gPiA+ID4gPiArICAgICAgIHVpbnQzMl90IHNoYXJlZF9ncm91cDsgLyoqPCBTaGFyZWQgcG9y dCBncm91cA0KPiA+ID4gPiA+ID4gPiA+ICsgaW5kZXggaW4gc3dpdGNoIGRvbWFpbi4gKi8NCj4g PiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gTm90IHRvIGFibGUgdG8gc2VlIGFueW9uZSBzZXR0 aW5nL2NyZWF0aW5nIHRoaXMgZ3JvdXAgSUQgdGVzdCBhcHBsaWNhdGlvbi4NCj4gPiA+ID4gPiA+ ID4gSG93IHRoaXMgZ3JvdXAgaXMgY3JlYXRlZD8NCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiBO aWNlIGNhdGNoLCB0aGUgaW5pdGlhbCB0ZXN0cG1kIHZlcnNpb24gb25seSBzdXBwb3J0IG9uZSBk ZWZhdWx0IGdyb3VwKDApLg0KPiA+ID4gPiA+ID4gQWxsIHBvcnRzIHRoYXQgc3VwcG9ydHMgc2hh cmVkLXJ4cSBhc3NpZ25lZCBpbiBzYW1lIGdyb3VwLg0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ IFdlIHNob3VsZCBiZSBhYmxlIHRvIGNoYW5nZSAiLS1yeHEtc2hhcmVkIiB0byAiLS1yeHEtc2hh cmVkLWdyb3VwIg0KPiA+ID4gPiA+ID4gdG8gc3VwcG9ydCBncm91cCBvdGhlciB0aGFuIGRlZmF1 bHQuDQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gVG8gc3VwcG9ydCBtb3JlIGdyb3VwcyBzaW11 bHRhbmVvdXNseSwgbmVlZCB0byBjb25zaWRlcg0KPiA+ID4gPiA+ID4gdGVzdHBtZCBmb3J3YXJk aW5nIHN0cmVhbSBjb3JlIGFzc2lnbm1lbnQsIGFsbCBzdHJlYW1zIGluIHNhbWUgZ3JvdXAgbmVl ZCB0byBzdGF5IG9uIHNhbWUgY29yZS4NCj4gPiA+ID4gPiA+IEl0J3MgcG9zc2libGUgdG8gc3Bl Y2lmeSBob3cgbWFueSBwb3J0cyB0byBpbmNyZWFzZSBncm91cA0KPiA+ID4gPiA+ID4gbnVtYmVy LCBidXQgdXNlciBtdXN0IHNjaGVkdWxlIHN0cmVhbSBhZmZpbml0eSBjYXJlZnVsbHkgLSBlcnJv ciBwcm9uZS4NCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiBPbiB0aGUgb3RoZXIgaGFuZCwgb25l IGdyb3VwIHNob3VsZCBiZSBzdWZmaWNpZW50IGZvciBtb3N0DQo+ID4gPiA+ID4gPiBjdXN0b21l ciwgdGhlIGRvdWJ0IGlzIHdoZXRoZXIgaXQgdmFsdWFibGUgdG8gc3VwcG9ydCBtdWx0aXBsZSBn cm91cHMgdGVzdC4NCj4gPiA+ID4gPg0KPiA+ID4gPiA+IEFjay4gT25lIGdyb3VwIGlzIGVub3Vn aCBpbiB0ZXN0cG1kLg0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gTXkgcXVlc3Rpb24gd2FzIG1vcmUg YWJvdXQgd2hvIGFuZCBob3cgdGhpcyBncm91cCBpcyBjcmVhdGVkLA0KPiA+ID4gPiA+IFNob3Vs ZCBuJ3Qgd2UgbmVlZCBBUEkgdG8gY3JlYXRlIHNoYXJlZF9ncm91cD8gSWYgd2UgZG8gdGhlIGZv bGxvd2luZywgYXQgbGVhc3QsIEkgY2FuIHRoaW5rLCBob3cgaXQgY2FuIGJlIGltcGxlbWVudGVk IGluIFNXDQo+IG9yIG90aGVyIEhXLg0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gLSBDcmVhdGUgYWdn cmVnYXRpb24gcXVldWUgZ3JvdXANCj4gPiA+ID4gPiAtIEF0dGFjaCBtdWx0aXBsZSAgUnggcXVl dWVzIHRvIHRoZSBhZ2dyZWdhdGlvbiBxdWV1ZSBncm91cA0KPiA+ID4gPiA+IC0gUHVsbCB0aGUg cGFja2V0cyBmcm9tIHRoZSBxdWV1ZSBncm91cCh3aGljaCBpbnRlcm5hbGx5IGZldGNoDQo+ID4g PiA+ID4gZnJvbSB0aGUgUnggcXVldWVzIF9hdHRhY2hlZF8pDQo+ID4gPiA+ID4NCj4gPiA+ID4g PiBEb2VzIHRoZSBhYm92ZSBraW5kIG9mIHNlcXVlbmNlLCBicmVhayB5b3VyIHJlcHJlc2VudG9y IHVzZSBjYXNlPw0KPiA+ID4gPg0KPiA+ID4gPiBTZWVtcyBtb3JlIGxpa2UgYSBzZXQgb2YgRUFM IHdyYXBwZXIuIEN1cnJlbnQgQVBJIHRyaWVzIHRvIG1pbmltaXplIHRoZSBhcHBsaWNhdGlvbiBl ZmZvcnRzIHRvIGFkYXB0IHNoYXJlZC1yeHEuDQo+ID4gPiA+IC0gc3RlcCAxLCBub3Qgc3VyZSBo b3cgaW1wb3J0YW50IGl0IGlzIHRvIGNyZWF0ZSBncm91cCB3aXRoIEFQSSwgaW4gcnRlX2Zsb3cs IGdyb3VwIGlzIGNyZWF0ZWQgb24gZGVtYW5kLg0KPiA+ID4NCj4gPiA+IFdoaWNoIHJ0ZV9mbG93 IHBhdHRlcm4vYWN0aW9uIGZvciB0aGlzPw0KPiA+DQo+ID4gTm8gcnRlX2Zsb3cgZm9yIHRoaXMs IGp1c3QgcmVjYWxsZWQgdGhhdCB0aGUgZ3JvdXAgaW4gcnRlX2Zsb3cgaXMgbm90IGNyZWF0ZWQg YWxvbmcgd2l0aCBmbG93LCBub3QgdmlhIGFwaS4NCj4gPiBJIGRvbuKAmXQgc2VlIGFueXRoaW5n IGVsc2UgdG8gY3JlYXRlIGFsb25nIHdpdGggZ3JvdXAsIGp1c3QgZG91YmxlIHdoZXRoZXIgaXQg dmFsdWFibGUgdG8gaW50cm9kdWNlIGEgbmV3IGFwaSBzZXQgdG8gbWFuYWdlIGdyb3VwLg0KPiAN Cj4gU2VlIGJlbG93Lg0KPiANCj4gPg0KPiA+ID4NCj4gPiA+ID4gLSBzdGVwIDIsIGN1cnJlbnRs eSwgdGhlIGF0dGFjaGluZyBpcyBkb25lIGluIHJ0ZV9ldGhfcnhfcXVldWVfc2V0dXAsIHNwZWNp Znkgb2ZmbG9hZCBhbmQgZ3JvdXAgaW4gcnhfY29uZiBzdHJ1Y3QuDQo+ID4gPiA+IC0gc3RlcCAz LCBkZWZpbmUgYSBkZWRpY2F0ZSBhcGkgdG8gcmVjZWl2ZSBwYWNrZXRzIGZyb20gc2hhcmVkIHJ4 cT8gTG9va3MgY2xlYXIgdG8gcmVjZWl2ZSBwYWNrZXRzIGZyb20gc2hhcmVkIHJ4cS4NCj4gPiA+ ID4gICBjdXJyZW50bHksIHJ4cSBvYmplY3RzIGluIHNoYXJlIGdyb3VwIGlzIHNhbWUgLSB0aGUg c2hhcmVkIHJ4cSwgc28gdGhlIGV0aCBjYWxsYmFjayBldGhfcnhfYnVyc3RfdChyeHFfb2JqLCBt YnVmcywgbikgY291bGQNCj4gPiA+ID4gICBiZSB1c2VkIHRvIHJlY2VpdmUgcGFja2V0cyBmcm9t IGFueSBwb3J0cyBpbiBncm91cCwgbm9ybWFsbHkgdGhlIGZpcnN0IHBvcnQoUEYpIGluIGdyb3Vw Lg0KPiA+ID4gPiAgIEFuIGFsdGVybmF0aXZlIHdheSBpcyBkZWZpbmluZyBhIHZkZXYgd2l0aCBz YW1lIHF1ZXVlIG51bWJlciBhbmQgY29weSByeHEgb2JqZWN0cyB3aWxsIG1ha2UgdGhlIHZkZXYg YSBwcm94eSBvZg0KPiA+ID4gPiAgIHRoZSBzaGFyZWQgcnhxIGdyb3VwIC0gdGhpcyBjb3VsZCBi ZSBhbiBoZWxwZXIgQVBJLg0KPiA+ID4gPg0KPiA+ID4gPiBBbnl3YXkgdGhlIHdyYXBwZXIgZG9l c24ndCBicmVhayB1c2UgY2FzZSwgc3RlcCAzIGFwaSBpcyBtb3JlIGNsZWFyLCBuZWVkIHRvIHVu ZGVyc3RhbmQgaG93IHRvIGltcGxlbWVudCBlZmZpY2llbnRseS4NCj4gPiA+DQo+ID4gPiBBcmUg eW91IGRvaW5nIHRoaXMgZmVhdHVyZSBiYXNlZCBvbiBhbnkgSFcgc3VwcG9ydCBvciBpdCBqdXN0 IHB1cmUNCj4gPiA+IFNXIHRoaW5nLCBJZiBpdCBpcyBTVywgSXQgaXMgYmV0dGVyIHRvIGhhdmUg anVzdCBuZXcgdmRldiBmb3IgbGlrZSBkcml2ZXJzL25ldC9ib25kaW5nLy4gVGhpcyB3ZSBjYW4g aGVscCBhZ2dyZWdhdGUgbXVsdGlwbGUgUnhxIGFjcm9zcw0KPiB0aGUgbXVsdGlwbGUgcG9ydHMg b2Ygc2FtZSB0aGUgZHJpdmVyLg0KPiA+DQo+ID4gQmFzZWQgb24gSFcgc3VwcG9ydC4NCj4gDQo+ IEluIE1hcnZlbCBIVywgd2UgZG8gc29tZSBzdXBwb3J0LCBJIHdpbGwgb3V0bGluZSBoZXJlIGFu ZCBzb21lIHF1ZXJpZXMgb24gdGhpcy4NCj4gDQo+ICMgV2UgbmVlZCB0byBjcmVhdGUgc29tZSBu ZXcgSFcgc3RydWN0dXJlIGZvciBhZ2dyZWdhdGlvbiAjIENvbm5lY3QgZWFjaCBSeHEgdG8gdGhl IG5ldyBIVyBzdHJ1Y3R1cmUgZm9yIGFnZ3JlZ2F0aW9uICMgVXNlDQo+IHJ4X2J1cnN0IGZyb20g dGhlIG5ldyBIVyBzdHJ1Y3R1cmUuDQo+IA0KPiBDb3VsZCB5b3Ugb3V0bGluZSB5b3VyIEhXIHN1 cHBvcnQ/DQo+IA0KPiBBbHNvLCBJIGFtIG5vdCBhYmxlIHRvIHVuZGVyc3RhbmQgaG93IHRoaXMg d2lsbCByZWR1Y2UgdGhlIG1lbW9yeSwgYXRsZWFzdCBpbiBvdXIgSFcgbmVlZCBjcmVhdGluZyBt b3JlIG1lbW9yeSBub3cgdG8gZGVhbCB0aGlzIGFzDQo+IHdlIG5lZWQgdG8gZGVhbCBuZXcgSFcg c3RydWN0dXJlLg0KPiANCj4gSG93IGlzIGluIHlvdXIgSFcgaXQgcmVkdWNlcyB0aGUgbWVtb3J5 PyBBbHNvLCBpZiBtZW1vcnkgaXMgdGhlIGNvbnN0cmFpbnQsIHdoeSBOT1QgcmVkdWNlIHRoZSBu dW1iZXIgb2YgcXVldWVzLg0KPiANCg0KR2xhZCB0byBrbm93IHRoYXQgTWFydmVsIGlzIHdvcmtp bmcgb24gdGhpcywgd2hhdCdzIHRoZSBzdGF0dXMgb2YgZHJpdmVyIGltcGxlbWVudGF0aW9uPw0K DQpJbiBteSBQTUQgaW1wbGVtZW50YXRpb24sIGl0J3MgdmVyeSBzaW1pbGFyLCBhIG5ldyBIVyBv YmplY3Qgc2hhcmVkIG1lbW9yeSBwb29sIGlzIGNyZWF0ZWQgdG8gcmVwbGFjZSBwZXIgcnhxIG1l bW9yeSBwb29sLg0KTGVnYWN5IHJ4cSBmZWVkIHF1ZXVlIHdpdGggYWxsb2NhdGVkIG1idWZzIGFz IG51bWJlciBvZiBkZXNjcmlwdG9ycywgbm93IHNoYXJlZCByeHFzIHNoYXJlIHRoZSBzYW1lIHBv b2wsIG5vIG5lZWQgdG8gc3VwcGx5DQptYnVmcyBmb3IgZWFjaCByeHEsIGp1c3QgZmVlZCB0aGUg c2hhcmVkIHJ4cS4NCg0KU28gdGhlIG1lbW9yeSBzYXZpbmcgcmVmbGVjdHMgdG8gbWJ1ZiBwZXIg cnhxLCBldmVuIDEwMDAgcmVwcmVzZW50b3JzIGluIHNoYXJlZCByeHEgZ3JvdXAsIHRoZSBtYnVm cyBjb25zdW1lZCBpcyBvbmUgcnhxLg0KSW4gb3RoZXIgd29yZHMsIG5ldyBtZW1iZXJzIGluIHNo YXJlZCByeHEgZG9lc27igJl0IGFsbG9jYXRlIG5ldyBtYnVmcyB0byBmZWVkIHJ4cSwganVzdCBz aGFyZSB3aXRoIGV4aXN0aW5nIHNoYXJlZCByeHEoSFcgbWVtcG9vbCkuDQpUaGUgbWVtb3J5IHJl cXVpcmVkIHRvIHNldHVwIGVhY2ggcnhxIGRvZXNuJ3QgY2hhbmdlIHRvbyBtdWNoLCBhZ3JlZS4N Cg0KPiAjIEFsc28sIEkgd2FzIHRoaW5raW5nLCBvbmUgd2F5IHRvIGF2b2lkIHRoZSBmYXN0IHBh dGggb3IgQUJJIGNoYW5nZSB3b3VsZCBsaWtlLg0KPiANCj4gIyBEcml2ZXIgSW5pdGlhbGl6ZXMg b25lIG1vcmUgZXRoX2Rldl9vcHMgaW4gZHJpdmVyIGFzIGFnZ3JlZ2F0b3IgZXRoZGV2ICMgZGV2 YXJncyBvZiBuZXcgZXRoZGV2IG9yIHNwZWNpZmljIEFQSSBsaWtlDQo+IGRyaXZlcnMvbmV0L2Jv bmRpbmcvcnRlX2V0aF9ib25kLmggY2FuIHRha2UgdGhlIGFyZ3VtZW50IChwb3J0LCBxdWV1ZSkg dHVwbGVzIHdoaWNoIG5lZWRzIHRvIGFnZ3JlZ2F0ZSBieSBuZXcgZXRoZGV2IHBvcnQgIyBObw0K PiBjaGFuZ2UgaW4gZmFzdHBhdGggb3IgQUJJIGlzIHJlcXVpcmVkIGluIHRoaXMgbW9kZWwuDQo+ IA0KDQpUaGlzIGNvdWxkIGJlIGFuIG9wdGlvbiB0byBhY2Nlc3Mgc2hhcmVkIHJ4cS4gV2hhdCdz IHRoZSBkaWZmZXJlbmNlIG9mIHRoZSBuZXcgUE1EPw0KV2hhdCdzIHRoZSBkaWZmZXJlbmNlIG9m IFBNRCBkcml2ZXIgdG8gY3JlYXRlIHRoZSBuZXcgZGV2aWNlPyANCg0KSXMgaXQgaW1wb3J0YW50 IGluIHlvdXIgaW1wbGVtZW50YXRpb24/IERvZXMgaXQgd29yayB3aXRoIGV4aXN0aW5nIHJ4X2J1 cnN0IGFwaT8NCg0KPiANCj4gDQo+ID4gTW9zdCB1c2VyIG1pZ2h0IHVzZXMgUEYgaW4gZ3JvdXAg YXMgdGhlIGFuY2hvciBwb3J0IHRvIHJ4IGJ1cnN0LCBjdXJyZW50IGRlZmluaXRpb24gc2hvdWxk IGJlIGVhc3kgZm9yIHRoZW0gdG8gbWlncmF0ZS4NCj4gPiBidXQgc29tZSB1c2VyIG1pZ2h0IHBy ZWZlciBncm91cGluZyBzb21lIGhvdA0KPiA+IHBsdWcvdW5wbHVnZ2VkcmVwcmVzZW50b3JzLCBF QUwgY291bGQgcHJvdmlkZSB3cmFwcGVycywgdXNlcnMgY291bGQgZG8gdGhhdCBlaXRoZXIgZHVl IHRvIHRoZSBzdHJhdGVneSBub3QgY29tcGxleCBlbm91Z2guDQo+IEFueXdheSwgd2VsY29tZSBh bnkgc3VnZ2VzdGlvbi4NCj4gPg0KPiA+ID4NCj4gPiA+DQo+ID4gPiA+DQo+ID4gPiA+ID4NCj4g PiA+ID4gPg0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4NCj4gPiA+ ID4gPiA+ID4gPiAgICAgICAgIC8qKg0KPiA+ID4gPiA+ID4gPiA+ICAgICAgICAgICogUGVyLXF1 ZXVlIFJ4IG9mZmxvYWRzIHRvIGJlIHNldCB1c2luZyBERVZfUlhfT0ZGTE9BRF8qIGZsYWdzLg0K PiA+ID4gPiA+ID4gPiA+ICAgICAgICAgICogT25seSBvZmZsb2FkcyBzZXQgb24gcnhfcXVldWVf b2ZmbG9hZF9jYXBhIG9yDQo+ID4gPiA+ID4gPiA+ID4gcnhfb2ZmbG9hZF9jYXBhIEBAIC0xMzcz LDYgKzEzNzQsMTIgQEAgc3RydWN0IHJ0ZV9ldGhfY29uZg0KPiA+ID4gPiA+ID4gPiA+IHsgI2Rl ZmluZSBERVZfUlhfT0ZGTE9BRF9PVVRFUl9VRFBfQ0tTVU0gIDB4MDAwNDAwMDANCj4gPiA+ID4g PiA+ID4gPiAgI2RlZmluZSBERVZfUlhfT0ZGTE9BRF9SU1NfSEFTSCAgICAgICAgICAgICAgICAw eDAwMDgwMDAwDQo+ID4gPiA+ID4gPiA+ID4gICNkZWZpbmUgUlRFX0VUSF9SWF9PRkZMT0FEX0JV RkZFUl9TUExJVCAweDAwMTAwMDAwDQo+ID4gPiA+ID4gPiA+ID4gKy8qKg0KPiA+ID4gPiA+ID4g PiA+ICsgKiBSeCBxdWV1ZSBpcyBzaGFyZWQgYW1vbmcgcG9ydHMgaW4gc2FtZSBzd2l0Y2ggZG9t YWluDQo+ID4gPiA+ID4gPiA+ID4gK3RvIHNhdmUgbWVtb3J5LA0KPiA+ID4gPiA+ID4gPiA+ICsg KiBhdm9pZCBwb2xsaW5nIGVhY2ggcG9ydC4gQW55IHBvcnQgaW4gZ3JvdXAgY2FuIGJlIHVzZWQg dG8gcmVjZWl2ZSBwYWNrZXRzLg0KPiA+ID4gPiA+ID4gPiA+ICsgKiBSZWFsIHNvdXJjZSBwb3J0 IG51bWJlciBzYXZlZCBpbiBtYnVmLT5wb3J0IGZpZWxkLg0KPiA+ID4gPiA+ID4gPiA+ICsgKi8N Cj4gPiA+ID4gPiA+ID4gPiArI2RlZmluZSBSVEVfRVRIX1JYX09GRkxPQURfU0hBUkVEX1JYUSAg IDB4MDAyMDAwMDANCj4gPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiA+ICAjZGVmaW5lIERF Vl9SWF9PRkZMT0FEX0NIRUNLU1VNIChERVZfUlhfT0ZGTE9BRF9JUFY0X0NLU1VNIHwgXA0KPiA+ ID4gPiA+ID4gPiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERFVl9SWF9PRkZM T0FEX1VEUF9DS1NVTQ0KPiA+ID4gPiA+ID4gPiA+IHwgXA0KPiA+ID4gPiA+ID4gPiA+IC0tDQo+ ID4gPiA+ID4gPiA+ID4gMi4yNS4xDQo+ID4gPiA+ID4gPiA+ID4NCg==