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 55D354600E; Tue, 7 Jan 2025 14:56:35 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id E4AB640BA4; Tue, 7 Jan 2025 14:56:34 +0100 (CET) Received: from mx0b-0016f401.pphosted.com (mx0b-0016f401.pphosted.com [67.231.156.173]) by mails.dpdk.org (Postfix) with ESMTP id 16F8040676 for ; Tue, 7 Jan 2025 14:56:32 +0100 (CET) Received: from pps.filterd (m0431383.ppops.net [127.0.0.1]) by mx0b-0016f401.pphosted.com (8.18.1.2/8.18.1.2) with ESMTP id 507C3k45011070 for ; Tue, 7 Jan 2025 05:56:32 -0800 Received: from pps.reinject (localhost [127.0.0.1]) by mx0b-0016f401.pphosted.com (PPS) with ESMTPS id 4413xjr5hs-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT) for ; Tue, 07 Jan 2025 05:56:32 -0800 (PST) Received: from m0431383.ppops.net (m0431383.ppops.net [127.0.0.1]) by pps.reinject (8.18.0.8/8.18.0.8) with ESMTP id 507DuV6j022149; Tue, 7 Jan 2025 05:56:31 -0800 Received: from nam11-co1-obe.outbound.protection.outlook.com (mail-co1nam11lp2171.outbound.protection.outlook.com [104.47.56.171]) by mx0b-0016f401.pphosted.com (PPS) with ESMTPS id 4413xjr5hr-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 07 Jan 2025 05:56:31 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=tiW8d5NK5Q87LFvRbEm0i7xLW/mjg1CMy4I/O/c+PULD3ceHKCSC5NC+4femkIbPFV4FJUo4lNwyrhapZorhH1Ub5t0RBXl0Nnhl8hRc5NtrHzpCVjepPuw/U445miJSuIbf1JdpDteyEpUmbhXU5w0wCm5/AT2gALN+rfBFpiLKDCfuexVd7bOZKrvtya/3uhXlOfa2hNguwSq8e61nTjx+Wd/B0MmHpwozUsL3ZkyPiH16U0eZ1Aa+xFrIsb0wQ8WQ8GCWqjN7L5diMbsqKZBMXUxVowUUjlVOtpqR0TmxHKzjKf4LjLRw0EeTAoh4HU4T4yWYCZLVFnrqXMsyxg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=YiwTDk7Fxxozn6rt+0WRMRAFnZ1HnfvY5bA5dt0AXJI=; b=xw/kjU6X1swHFNhCCiOTnM2izrhNsLEuu8zTPTAbBr3SPCs4Nc8sINlYa6cKqYSUTzw+NH74Lje5SKuuqoRJqeO2NpZGTPP7g24lDVyRYcItbcJjKS/hex7MVXLcN3A7JiawJg796e2rvfRd13oG5zbL+e+tlYHEU+/zKGMV3gwab1OW6wfWoohSGyx/hDbLEKaiJds0NwYiH1csM4A9vx2SWAGO0CDx7HZ0MizE8DwU7d+PHh6QHYu9GZhgHe+5idjtTaHjQvyk2R2DeDnj3eO3xW+QbJ5DgtFA3+xbBbxAZaS9LMk47pGgC5hKO1CjI6hho0Srjcd+MyPAnjNgzA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=marvell.com; dmarc=pass action=none header.from=marvell.com; dkim=pass header.d=marvell.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=YiwTDk7Fxxozn6rt+0WRMRAFnZ1HnfvY5bA5dt0AXJI=; b=PLhkNfYmnnYZpCJjEWibU1TeOOVIEXb6xQu5/mX9W79X0oJwu36tL2Lp8v9unumNEVNAmjDJEV6lx50BGHwIXe5ADyYOhJ61r9Aq+iWcygDjrUl2LZv5YVyMNp6cOfDfUy+WyPJgjm7XWgFmaNIwOxc2/eyx/v1zNph8BsdBsg4= Received: from PH0PR18MB4491.namprd18.prod.outlook.com (2603:10b6:510:e6::13) by SA6PR18MB6248.namprd18.prod.outlook.com (2603:10b6:806:412::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8314.17; Tue, 7 Jan 2025 13:56:22 +0000 Received: from PH0PR18MB4491.namprd18.prod.outlook.com ([fe80::b86b:9af:eec0:d010]) by PH0PR18MB4491.namprd18.prod.outlook.com ([fe80::b86b:9af:eec0:d010%5]) with mapi id 15.20.8314.018; Tue, 7 Jan 2025 13:56:22 +0000 From: Akhil Goyal To: Hanxiao Li , "dev@dpdk.org" Subject: RE: [EXTERNAL] [PATCH v22 06/13] compress/zsda: add zsda compressdev driver skeleton Thread-Topic: [EXTERNAL] [PATCH v22 06/13] compress/zsda: add zsda compressdev driver skeleton Thread-Index: AQHbNXVj92agaDaGoEKis7xHSdsJsLMLkCyg Date: Tue, 7 Jan 2025 13:56:21 +0000 Message-ID: References: <20241113022918.3228337-2-li.hanxiao@zte.com.cn> <20241113023323.3228516-1-li.hanxiao@zte.com.cn> <20241113023323.3228516-5-li.hanxiao@zte.com.cn> In-Reply-To: <20241113023323.3228516-5-li.hanxiao@zte.com.cn> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-traffictypediagnostic: PH0PR18MB4491:EE_|SA6PR18MB6248:EE_ x-ms-office365-filtering-correlation-id: 0033a662-ad8d-4dcb-8835-08dd2f23118b x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|1800799024|366016|376014|38070700018; x-microsoft-antispam-message-info: =?utf-8?B?ckVhbk1KRzlzaDlpaklyejRkZEt3K3NTYUE5cUlBS0k0NkIrS3hnTWtXL1Bo?= =?utf-8?B?VlVsakRWMW14cE5uY1lNWXNWKzZKaUxpTXdnSnBXMDErL051dVBkR1ZPYStm?= =?utf-8?B?bThVM0FvMFBUSjJ3a2oyTjJDNU42Zk45NjB0WDNMbDJPc2JMam5rNjNGR0VU?= =?utf-8?B?ZW5HaUlxSkp0MjZLMTBla05peks3QVlhbFFMK3gzSnhPWlBWM3kyd0VYbjdi?= =?utf-8?B?VVdIM1UvVnlMSlExUnFweXl5Y0R1YkxvNWxRMC9NNGhiNDkzakdDR25MWkRU?= =?utf-8?B?Rjc2QVBzY0JGUEptWEdyMThpaEVJOEpxWFRmQ1NZNm9FTHJwdi9ZbUdLNEJ0?= =?utf-8?B?K1JRWll5SCtEK0orNmU5eWFmVUZqRnJVQ0EzdTF0aUZIUFpOSmpxbTlFQ0ZN?= =?utf-8?B?blVLL2o2U0dibXF2K0NHTE5mbzZpTWtNMmdvMjNFT0pXYzA4OUp6bkc4SkpL?= =?utf-8?B?Tkk1NmRBVHBUdlhWd1NBWVFWQ1hxemhCMjd6M215Y2hvb1JMTzFEUWZ3RUNZ?= =?utf-8?B?eHRJRmRHRHNGeHdqVCtNQXRxbE9OcElVbVc5RjVFSUtJYXRPdloxbGxFV3g1?= =?utf-8?B?UXFnWkh0Z2E0QVdidnQ4VjFRenJ1SGhPajBNbTF3T1Q3Y0JVSnZ2V3BxMVdL?= =?utf-8?B?bFJuRnN6U0dUMFhMTlc1OHpHaGZhYzMvbnFGT3FuUHEvSHlIZThXZi92SEp5?= =?utf-8?B?SFdEMWpNYmhDTEt1R3NVVjAzU3lnSHIyV29CVGl4b3oxZVJPS2FFUVhJdlds?= =?utf-8?B?dEhNTFR6R0dhN2pnUlpvd3pncWVoajhVZjZidnhwU3dZWmFjNUJZdnhXaE8z?= =?utf-8?B?cUxsQ2NjM0FVWGVtd1hOSVhDa204WWJEU0ZQUWxSS2pvaUEyOWFrTkV3cERj?= =?utf-8?B?eEdWRE1sejRFUFE3WnZabHZLaXI0MDJKcEsvVzJ1Rm1WZ2liaStFS3g5U3Fi?= =?utf-8?B?bnErK3VTMXorRlVub0ZtMHBUazcvbEVFcW82QmRCSzhPUDNoN3IwWHpKeUo2?= =?utf-8?B?S0cxNU9SQ1llenBUQU1qbGwxTmhUeUlTeEZiTVN2R0lvcXlpVUZybEJqd1FO?= =?utf-8?B?V0pqbm1LUFEzekVUQk4rTUwwUU53U0lYNUp5S2tXdndLMWdsUUovaHUwYnlS?= =?utf-8?B?Ri8ydUlmeHFqV3VtRE4vMXNEOTVONjNVRlJqLzdKb3p3SUt1MmxldUJaM21J?= =?utf-8?B?M0VGZjNwZVNGWjdhZUJtYVB2a3ZyYWNlNWdxSzdjazdJRW9HZ0h0cnFBZ1ho?= =?utf-8?B?K0xiLzhiMDBTbTVvb1RqNHRkcElnQTFkMmtUdkp3d1RlNytKZE1YZzMxc0to?= =?utf-8?B?Vzk4ZEtkMnhhZ0orZVRFbDdEZ0JmU2JkMTQ3dmhBVU8wUTFVU0ZhTnlGOHRK?= =?utf-8?B?ZmFFK1QrRlpRWjR6cGVFT1lPSFF6eG4zUkVlSnlzK1RIL1NzWUgxanNIeXRD?= =?utf-8?B?cUxCb1VVTkhTOXVrYkdaTFovc0taMlc3WWwyeWwvbXNBc1RMWjZXQkEzdUZ4?= =?utf-8?B?TCtjalY5eDFDeXE2U0Y4VVQ3bXBVYXhsNVEyZXhWVzVRa3VqOXBSRjI0Nkd3?= =?utf-8?B?NzU0VXVmRUc2VGtJOHgvaWVtMkJhZEw1OWwzQnFtOW0valdXaHhmSmtmY3JI?= =?utf-8?B?aHd2QWFKTUp1QW5jTEoyUEJwWkpGU0pTbTJtazNnL25oTnZRVjBqc0Z2UW1Q?= =?utf-8?B?K3EwN1h0MHlPRXBGdEI2UGRnMHpIV0xaMXY5SjVOZGZwSk81aHkyNTRURHJz?= =?utf-8?B?RXRGSGlVMmkveFBkMytmR2JJN0pCSTR0aWNTL2JkS3hVUWhDRGIranQrcEdE?= =?utf-8?B?U0J0R3JVa1dickx5d1Q5RG1xZEpmdnJCUEVVWTRsS1ZNSC81VTZ4eWZvMlpw?= =?utf-8?B?SHNCSTZtQXBpdmpDS2xXbko2Y0t5cHo3K2Z3OHBQN3FPSVhqb1hnRkdUUzB6?= =?utf-8?Q?p3z/5CI/5rkVG0J9UHc8xE7JGH+aXHo7?= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:PH0PR18MB4491.namprd18.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(1800799024)(366016)(376014)(38070700018); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?UGYvc3NvV3ZVaUlUYVZFa29yWTZtelpraWxQNWFJMmZ1ZTJ1dDV0anM3RjY4?= =?utf-8?B?VzdWckV1VmwrYVQwV2ZORktRekp1V1ArM0JsM2o3eDh3U08yS2RLZnRZMEx2?= =?utf-8?B?dUVZdEgrTGh1M0d0VVBRRitUbW81M0lPZXQ3RGpHdVlIMU8xYW5Tc1ZGZDQ2?= =?utf-8?B?c3BINGlIcEJwWWUyNTJaY3B4d1JDa3pqRmRzS3ZlMWpUT01ER1VvNkI5MllS?= =?utf-8?B?SVNPMTl6UmhpdUV3MlpiR0E2ajJYdjVLRlBCeTc3NzNOdlAzRzFMSDc4S1VQ?= =?utf-8?B?c2Z3OGc3SG9pS3ZGMEtsTnFrdFpIY3lGQTRXeHlXWTNpUWRVMUZZK3MxQ0Fm?= =?utf-8?B?Z0xCSWJKMXJGMmNYUWkzL1BwMVNmMkpBRjRMVHN2Zzg4MnVaMGNBU290ay9H?= =?utf-8?B?d0NoWVB4cE1UQ1BJZUJySG5vM1BHeHVQclJHNFB4aVhPU3IvTzJXb2JZSXNq?= =?utf-8?B?a2JTN2E5N09lYkVweVVXYVp4RWpPdXROWnl0NEt4eE4ycUdZYTYwWHRrVkkx?= =?utf-8?B?T0dIcmJ6aExLSVdSWnNPZzRwc2JkbFZkWTBmM1pKd0tZZENlc2k4VDU2NmNP?= =?utf-8?B?ZHIrMDJoRWNSK1gzMWh1WmhibEdLQ29uU3ZkbXM3Mlpab3A2enFmenV3QlZL?= =?utf-8?B?K21zRWplNEovY05NVmRSZFVQUFk2eitOVVJFZVVRK1NxNVNQRHFmRyt5MzFK?= =?utf-8?B?VmRQZS9PU0tBTWJVanJVTnRQaTBDdXVaY3g5ayt3Y2UyZmdRdWVVVGZSS2Nq?= =?utf-8?B?MzBqckNtQ21tYXUzVjVydFQ3cWdmZlJ4RlpwWXhjSGZUeldsZUpkazh4N3NU?= =?utf-8?B?cTlzYlBYNlE2NnhPUlZ1OElvSTlrTDNGcFlYeTRVZkhxRVpSMThtMFlCM2VI?= =?utf-8?B?V0hoRFkwaWRmNWxsKzlrbE1HT0cyb092cWVVSURGc1VkMC9DUkQxSjdNbXRx?= =?utf-8?B?eENjZ1RmSnRoSHBkNXVTalhSS081VFdydU56R3lrRjAzUDd5eUFqc0dkNHEz?= =?utf-8?B?dWdNMGdOSXlvREFOSEpwT3Z5OWFmZ1J5bXBTWCs4ZHVYdmdoWmtBYzVPSlNn?= =?utf-8?B?OTVLbXY0dkhucFJwQnk2TTFQQkc0OHJRR2NQWHpMckw2cXprYS9IOVg1M1JS?= =?utf-8?B?UktpT2NhZGFCaWVwZ2oxbnJCR1gwUENjcEFJV3Z6TU1ZN216Y1VEL1h1d1Jj?= =?utf-8?B?MDBoeCtzYXh4c1h5VUY1MytYQVFoR1FmZy9WVVVuTUVGWVdMVzNqVjh1L0xN?= =?utf-8?B?cGVyNTVsNmFyU2hpKzAwcHFXQXBld0tYL1I3YzkwZC9XQSs2WTZhb0xUSmgx?= =?utf-8?B?VlkyOWhnV3IvS0VSZXpISDNvOXJjK3BoQTlTWDZTRkxqOGFwYmRjeDdQcTZB?= =?utf-8?B?Zk1FcVpkVFdISG9ackcyM0oxR0hveEg3UmI3SE05M1BXMXFxUGF4KzF5QStP?= =?utf-8?B?ZmRzUXBvVHhldm1OMnlldFZvb0FxTjZBZFFmVG10empMQjV5S3lOK1FlWnp4?= =?utf-8?B?c3BhMHZ3UEdyc211VlNOaWYxdC9uWnNNZ0Y2d2V6K1p2aFZ2NlZXUHhsWFh2?= =?utf-8?B?dEdEVHFzdUVNeXhHR1lpTlB0bmRveldDMGxuK1BGWUR6NWViZ2J4R3UzZXRI?= =?utf-8?B?eERhOTNkb0UxdmRER1V5WkZ4YkVxVUlzbXVvenNjNEdLQXJpOThVdTVqbU5Y?= =?utf-8?B?cXBEdGZhUFJqSTBJK1dGOERNV0tNSVFtaHMwZGlPdmRUdkJBdlQrZjlyakpq?= =?utf-8?B?aVNvc1NiRFpRRDg1TzQrcFJodGt6WGtMcWVyVnlUdmpiR2FaZUNpcld5YUN5?= =?utf-8?B?VVpzUnFLNUdFU0JFM1dlK2xWVjcyS2xIc2kvcGgzcGdkUWhGQzh5dXZhbUx1?= =?utf-8?B?aGo3TTZ6OEhUWnppM2YvT2g4N0QweXY5UDVqTW5MOUdtbnhYUVdqcXRUeisy?= =?utf-8?B?ZExlNUdYNWxLVjF4d3JZNGZjOWpOMDlxVlRBeTNCYXl2U1NoeTRGOHhEU3VV?= =?utf-8?B?aEh2SitxUXdlWEc0RWk2NzFaRjFDOWV5TXp0aEEzSEFOUm4wSmpaK0owcFIy?= =?utf-8?B?UHBZVTBJME1ucG1BaTNrUnNWcnBIajBYbnhScVc4QXZhM3ArRUpvSUdDOXhi?= =?utf-8?Q?iGVY=3D?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: marvell.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: PH0PR18MB4491.namprd18.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0033a662-ad8d-4dcb-8835-08dd2f23118b X-MS-Exchange-CrossTenant-originalarrivaltime: 07 Jan 2025 13:56:22.1011 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 70e1fb47-1155-421d-87fc-2e58f638b6e0 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: iZKFzXqnvrhHiijhQYs38ZjSEcCFfxPK8Mhxhw1AVL2Oj9TtPT4vN8UVS83cMjdYGeG8TbxQJrKkLuUM7gLmhQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA6PR18MB6248 X-Proofpoint-GUID: -hPaPhbruxAYZZ5tAfxgEzmeIJHQPVsA X-Proofpoint-ORIG-GUID: Z2Tt4D0crXLZaForu2s7G0YIvR6Dp3Q6 X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.687,Hydra:6.0.235,FMLib:17.0.607.475 definitions=2020-10-13_15,2020-10-13_02,2020-04-07_01 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 SGkgSGFueGlhbywNCg0KUGxlYXNlIHNlZSBjb21tZW50cyBpbmxpbmUuDQoNCj4gQWRkIHpzZGEg Y29tcHJlc3NkZXYgZHJpdmVyIGludGVyZmFjZSBza2VsZXRvbg0KPiANCj4gU2lnbmVkLW9mZi1i eTogSGFueGlhbyBMaSA8bGkuaGFueGlhb0B6dGUuY29tLmNuPg0KPiAtLS0NCj4gIE1BSU5UQUlO RVJTICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAzICsNCj4gIGRvYy9ndWlkZXMv Y29tcHJlc3NkZXZzL2ZlYXR1cmVzL3pzZGEuaW5pIHwgICA2ICsNCj4gIGRvYy9ndWlkZXMvY29t cHJlc3NkZXZzL2luZGV4LnJzdCAgICAgICAgIHwgICAxICsNCj4gIGRvYy9ndWlkZXMvY29tcHJl c3NkZXZzL3pzZGEucnN0ICAgICAgICAgIHwgMTc4ICsrKysrKysrKysrKysrKysrKysrKysNCj4g IGRyaXZlcnMvY29tbW9uL3pzZGEvbWVzb24uYnVpbGQgICAgICAgICAgIHwgIDEyICstDQo+ICBk cml2ZXJzL2NvbW1vbi96c2RhL3pzZGFfZGV2aWNlLmggICAgICAgICB8ICAyOSArKystDQo+ICBk cml2ZXJzL2NvbW1vbi96c2RhL3pzZGFfcXAuYyAgICAgICAgICAgICB8ICAzMCArKystDQo+ICBk cml2ZXJzL2NvbW1vbi96c2RhL3pzZGFfcXAuaCAgICAgICAgICAgICB8ICAxNiArLQ0KPiAgZHJp dmVycy9jb21tb24venNkYS96c2RhX3FwX2NvbW1vbi5oICAgICAgfCAgIDcgKw0KPiAgZHJpdmVy cy9jb21wcmVzcy96c2RhL3pzZGFfY29tcF9wbWQuYyAgICAgfCAxMjggKysrKysrKysrKysrKysr Kw0KPiAgZHJpdmVycy9jb21wcmVzcy96c2RhL3pzZGFfY29tcF9wbWQuaCAgICAgfCAgMjAgKysr DQo+ICAxMSBmaWxlcyBjaGFuZ2VkLCA0MTggaW5zZXJ0aW9ucygrKSwgMTIgZGVsZXRpb25zKC0p DQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQgZG9jL2d1aWRlcy9jb21wcmVzc2RldnMvZmVhdHVyZXMv enNkYS5pbmkNCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBkb2MvZ3VpZGVzL2NvbXByZXNzZGV2cy96 c2RhLnJzdA0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvY29tcHJlc3MvenNkYS96c2Rh X2NvbXBfcG1kLmMNCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL2NvbXByZXNzL3pzZGEv enNkYV9jb21wX3BtZC5oDQo+IA0KPiBkaWZmIC0tZ2l0IGEvTUFJTlRBSU5FUlMgYi9NQUlOVEFJ TkVSUw0KPiBpbmRleCAwMzE4ZDczNTdjLi5kYzNmYTIwOTdhIDEwMDY0NA0KPiAtLS0gYS9NQUlO VEFJTkVSUw0KPiArKysgYi9NQUlOVEFJTkVSUw0KPiBAQCAtMTI3MSw2ICsxMjcxLDkgQEAgRjog ZG9jL2d1aWRlcy9jb21wcmVzc2RldnMvZmVhdHVyZXMvemxpYi5pbmkNCj4gIFpURSBTdG9yYWdl IERhdGEgQWNjZWxlcmF0b3IoWlNEQSkNCj4gIE06IEhhbnhpYW8gTGkgPGxpLmhhbnhpYW9AenRl LmNvbS5jbj4NCj4gIEY6IGRyaXZlcnMvY29tbW9uL3pzZGEvDQo+ICtGOiBkcml2ZXJzL2NvbXBy ZXNzL3pzZGEvDQo+ICtGOiBkb2MvZ3VpZGVzL2NvbXByZXNzZGV2cy96c2RhLnJzdA0KPiArRjog ZG9jL2d1aWRlcy9jb21wcmVzc2RldnMvZmVhdHVyZXMvenNkYS5pbmkNCj4gDQo+ICBETUFkZXYg RHJpdmVycw0KPiAgLS0tLS0tLS0tLS0tLS0NCj4gZGlmZiAtLWdpdCBhL2RvYy9ndWlkZXMvY29t cHJlc3NkZXZzL2ZlYXR1cmVzL3pzZGEuaW5pDQo+IGIvZG9jL2d1aWRlcy9jb21wcmVzc2RldnMv ZmVhdHVyZXMvenNkYS5pbmkNCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAw MDAwMC4uNWNjOWEzYjFhNg0KPiAtLS0gL2Rldi9udWxsDQo+ICsrKyBiL2RvYy9ndWlkZXMvY29t cHJlc3NkZXZzL2ZlYXR1cmVzL3pzZGEuaW5pDQo+IEBAIC0wLDAgKzEsNiBAQA0KPiArOw0KPiAr OyBSZWZlciB0byBkZWZhdWx0LmluaSBmb3IgdGhlIGZ1bGwgbGlzdCBvZiBhdmFpbGFibGUgUE1E IGZlYXR1cmVzLg0KPiArOw0KPiArOyBTdXBwb3J0ZWQgZmVhdHVyZXMgb2YgJ1pTREEnIGNvbXBy ZXNzaW9uIGRyaXZlci4NCj4gKzsNCj4gK1tGZWF0dXJlc10NCj4gZGlmZiAtLWdpdCBhL2RvYy9n dWlkZXMvY29tcHJlc3NkZXZzL2luZGV4LnJzdA0KPiBiL2RvYy9ndWlkZXMvY29tcHJlc3NkZXZz L2luZGV4LnJzdA0KPiBpbmRleCA4N2VkNGY3MmE0Li5iYWIyMjZmZmJjIDEwMDY0NA0KPiAtLS0g YS9kb2MvZ3VpZGVzL2NvbXByZXNzZGV2cy9pbmRleC5yc3QNCj4gKysrIGIvZG9jL2d1aWRlcy9j b21wcmVzc2RldnMvaW5kZXgucnN0DQo+IEBAIC0xNywzICsxNyw0IEBAIENvbXByZXNzaW9uIERl dmljZSBEcml2ZXJzDQo+ICAgICAgcWF0X2NvbXANCj4gICAgICB1YWRrDQo+ICAgICAgemxpYg0K PiArICAgIHpzZGENCj4gZGlmZiAtLWdpdCBhL2RvYy9ndWlkZXMvY29tcHJlc3NkZXZzL3pzZGEu cnN0DQo+IGIvZG9jL2d1aWRlcy9jb21wcmVzc2RldnMvenNkYS5yc3QNCj4gbmV3IGZpbGUgbW9k ZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAwMDAwMC4uYzAyNDIzZDY1MA0KPiAtLS0gL2Rldi9udWxs DQo+ICsrKyBiL2RvYy9ndWlkZXMvY29tcHJlc3NkZXZzL3pzZGEucnN0DQo+IEBAIC0wLDAgKzEs MTc4IEBADQo+ICsuLiAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0zLUNsYXVzZQ0KPiAr ICAgIENvcHlyaWdodChjKSAyMDI0IFpURSBDb3Jwb3JhdGlvbi4NCj4gKw0KPiArWlRFIFN0b3Jh Z2UgRGF0YSBBY2NlbGVyYXRvciAoWlNEQSkgUG9sbCBNb2RlIERyaXZlcg0KPiArPT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KPiArDQo+ICtU aGUgWlNEQSBjb21wcmVzc2lvbiBQTUQgcHJvdmlkZXMgcG9sbCBtb2RlIGNvbXByZXNzaW9uICYg ZGVjb21wcmVzc2lvbg0KPiBkcml2ZXINCj4gK3N1cHBvcnQgZm9yIHRoZSBmb2xsb3dpbmcgaGFy ZHdhcmUgYWNjZWxlcmF0b3IgZGV2aWNlczoNCj4gKw0KPiArKiBgYFpURSBQcm9jZXNzaW5nIGFj Y2VsZXJhdG9ycyAxY2YyYGANCj4gKw0KPiArDQo+ICtGZWF0dXJlcw0KPiArLS0tLS0tLS0NCj4g Kw0KPiArDQo+ICtJbnN0YWxsYXRpb24NCj4gKy0tLS0tLS0tLS0tLQ0KPiArDQo+ICtUaGUgWlNE QSBjb21wcmVzc2lvbiBQTUQgaXMgYnVpbHQgYnkgZGVmYXVsdCB3aXRoIGEgc3RhbmRhcmQgRFBE SyBidWlsZC4NCj4gKw0KPiArSXQgZGVwZW5kcyBvbiBhIFpTREEga2VybmVsIGRyaXZlciwgc2Vl IDpyZWY6YGJ1aWxkaW5nX3pzZGFgLg0KDQpJIGRvIG5vdCBzZWUgZGV0YWlscyBvZiB6c2RhIGtl cm5lbCBkcml2ZXIuDQoNCj4gKw0KPiArDQo+ICsuLiBfYnVpbGRpbmdfenNkYToNCj4gKw0KPiAr QnVpbGRpbmcgUE1EcyBvbiBaU0RBDQo+ICstLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4gKw0KPiAr QSBaU0RBIGRldmljZSBjYW4gaG9zdCBtdWx0aXBsZSBhY2NlbGVyYXRpb24gc2VydmljZXM6DQo+ ICsNCj4gKyogZGF0YSBjb21wcmVzc2lvbg0KPiArDQo+ICtUaGVzZSBzZXJ2aWNlcyBhcmUgcHJv dmlkZWQgdG8gRFBESyBhcHBsaWNhdGlvbnMgdmlhIFBNRHMgd2hpY2ggcmVnaXN0ZXIgdG8NCj4g K2ltcGxlbWVudCB0aGUgY29tcHJlc3NkZXYgQVBJcy4gVGhlIFBNRHMgdXNlIGNvbW1vbiBaU0RB IGRyaXZlciBjb2RlDQo+ICt3aGljaCBtYW5hZ2VzIHRoZSBaU0RBIFBDSSBkZXZpY2UuDQo+ICsN Cj4gKw0KPiArQ29uZmlndXJpbmcgYW5kIEJ1aWxkaW5nIHRoZSBEUERLIFpTREEgUE1Ecw0KPiAr fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fg0KPiArDQo+ICtGdXJ0 aGVyIGluZm9ybWF0aW9uIG9uIGNvbmZpZ3VyaW5nLCBidWlsZGluZyBhbmQgaW5zdGFsbGluZyBE UERLIGlzIGRlc2NyaWJlZA0KPiArOmRvYzpgaGVyZSA8Li4vbGludXhfZ3NnL2J1aWxkX2RwZGs+ YC4NCj4gKw0KPiArLi4gX2J1aWxkaW5nX3pzZGFfY29uZmlnOg0KPiArDQo+ICtCdWlsZCBDb25m aWd1cmF0aW9uDQo+ICt+fn5+fn5+fn5+fn5+fn5+fn5+DQo+ICtUaGVzZSBpcyB0aGUgYnVpbGQg Y29uZmlndXJhdGlvbiBvcHRpb25zIGFmZmVjdGluZyBaU0RBLCBhbmQgaXRzIGRlZmF1bHQgdmFs dWVzOg0KPiArDQo+ICsuLiBjb2RlLWJsb2NrOjogY29uc29sZQ0KPiArDQo+ICsgICAgUlRFX1BN RF9aU0RBX01BWF9QQ0lfREVWSUNFUz0yNTYNCj4gKw0KPiArDQo+ICtEZXZpY2UgYW5kIGRyaXZl ciBuYW1pbmcNCj4gK35+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fg0KVGhpcyBpcyBub3QgYSBzdWIg c2VjdGlvbiBvZiBidWlsZCwgc28gaXQgc2hvdWxkIGJlIC0tLSBpbnN0ZWFkIG9mIH5+fg0KQ2hl Y2sgdGhlIGh0bWwgb3V0cHV0IG9mIHRoZSBmaWxlLg0KDQo+ICsNCj4gKyogVGhlIHpzZGEgY29t cHJlc3NkZXYgZHJpdmVyIG5hbWUgaXMgImNvbXByZXNzX3pzZGEiLg0KPiArICBUaGUgcnRlX2Nv bXByZXNzZGV2X2RldmljZXNfZ2V0KCkgcmV0dXJucyB0aGUgZGV2aWNlcyBleHBvc2VkIGJ5IHRo aXMgZHJpdmVyLg0KPiArDQo+ICsqIEVhY2ggenNkYSBjb21wcmVzc2lvbiBkZXZpY2UgaGFzIGEg dW5pcXVlIG5hbWUsIGluIGZvcm1hdA0KPiArICA8cGNpIGJkZj4sIGUuZy4gIjAwMDA6Y2M6MDAu M196c2RhIi4NCj4gKyAgVGhpcyBuYW1lIGNhbiBiZSBwYXNzZWQgdG8gcnRlX2NvbXByZXNzZGV2 X2dldF9kZXZfaWQoKSB0byBnZXQgdGhlDQo+IGRldmljZV9pZC4NCj4gKw0KPiArDQo+ICtFbmFi bGUgVkZzDQo+ICt+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4NCg0KVGhlcmUg YXJlIGV4dHJhIH5+fiBhbmQgYWxzbyBpdCBzaG91bGQgYmUgLS0tIEkgYmVsaWV2ZS4NCg0KPiAr DQo+ICtJbnN0cnVjdGlvbnMgZm9yIGluc3RhbGxhdGlvbiBhcmUgYmVsb3csIGJ1dCBmaXJzdCBh biBleHBsYW5hdGlvbiBvZiB0aGUNCj4gK3JlbGF0aW9uc2hpcHMgYmV0d2VlbiB0aGUgUEYvVkYg ZGV2aWNlcyBhbmQgdGhlIFBNRHMgdmlzaWJsZSB0bw0KPiArRFBESyBhcHBsaWNhdGlvbnMuDQo+ ICsNCj4gK0VhY2ggWlNEQSBQRiBkZXZpY2UgZXhwb3NlcyBhIG51bWJlciBvZiBWRiBkZXZpY2Vz LiBFYWNoIFZGIGRldmljZSBjYW4NCj4gK2VuYWJsZSBvbmUgY29tcHJlc3NkZXYgUE1ELg0KPiAr DQo+ICtUaGVzZSBaU0RBIFBNRHMgc2hhcmUgdGhlIHNhbWUgdW5kZXJseWluZyBkZXZpY2UgYW5k IHBjaS1tZ210IGNvZGUsIGJ1dCBhcmUNCj4gK2VudW1lcmF0ZWQgaW5kZXBlbmRlbnRseSBvbiB0 aGVpciByZXNwZWN0aXZlIEFQSXMgYW5kIGFwcGVhciBhcyBpbmRlcGVuZGVudA0KPiArZGV2aWNl cyB0byBhcHBsaWNhdGlvbnMuDQo+ICsNCj4gKy4uIE5vdGU6Og0KPiArDQo+ICsgICBFYWNoIFZG IGNhbiBvbmx5IGJlIHVzZWQgYnkgb25lIERQREsgcHJvY2Vzcy4gSXQgaXMgbm90IHBvc3NpYmxl IHRvIHNoYXJlDQo+ICsgICB0aGUgc2FtZSBWRiBhY3Jvc3MgbXVsdGlwbGUgcHJvY2Vzc2VzLCBl dmVuIGlmIHRoZXNlIHByb2Nlc3NlcyBhcmUgdXNpbmcNCj4gKyAgIGRpZmZlcmVudCBhY2NlbGVy YXRpb24gc2VydmljZXMuDQo+ICsgICBDb252ZXJzZWx5IG9uZSBEUERLIHByb2Nlc3MgY2FuIHVz ZSBvbmUgb3IgbW9yZSBaU0RBIFZGcyBhbmQgY2FuIGV4cG9zZQ0KPiArICAgY29tcHJlc3NkZXYg aW5zdGFuY2VzIG9uIGVhY2ggb2YgdGhvc2UgVkZzLg0KPiArDQo+ICsNCj4gK1RoZSBleGFtcGxl cyBiZWxvdyBhcmUgYmFzZWQgb24gdGhlIDFjZjIgZGV2aWNlLCBpZiB5b3UgaGF2ZSBhIGRpZmZl cmVudCBkZXZpY2UNCj4gK3VzZSB0aGUgY29ycmVzcG9uZGluZyB2YWx1ZXMgaW4gdGhlIGFib3Zl IHRhYmxlLg0KPiArDQo+ICtJbiBCSU9TIGVuc3VyZSB0aGF0IFNSSU9WIGlzIGVuYWJsZWQgYW5k IGVpdGhlcjoNCj4gKw0KPiArKiBEaXNhYmxlIFZULWQgb3INCj4gKyogRW5hYmxlIFZULWQgYW5k IHNldCBgYCJpbnRlbF9pb21tdT1vbiBpb21tdT1wdCJgYCBpbiB0aGUgZ3J1YiBmaWxlLg0KPiAr DQo+ICt5b3UgbmVlZCB0byBleHBvc2UgdGhlIFZpcnR1YWwgRnVuY3Rpb25zIChWRnMpIHVzaW5n IHRoZSBzeXNmcyBmaWxlIHN5c3RlbS4NCj4gKw0KPiArRmlyc3QgZmluZCB0aGUgQkRGcyAoQnVz LURldmljZS1GdW5jdGlvbikgb2YgdGhlIHBoeXNpY2FsIGZ1bmN0aW9ucyAoUEZzKSBvZg0KPiAr eW91ciBkZXZpY2UsIGUuZy46Og0KPiArDQo+ICsgICAgbHNwY2kgLWQ6ODA1MA0KPiArDQo+ICtZ b3Ugc2hvdWxkIHNlZSBvdXRwdXQgc2ltaWxhciB0bzo6DQo+ICsNCj4gKw0KPiArICAgIGNjOjAw LjQgUHJvY2Vzc2luZyBhY2NlbGVyYXRvcnM6IERldmljZSAxY2YyOjgwNTAgKHJldiAwMSkNCj4g KyAgICBjZTowMC4zIFByb2Nlc3NpbmcgYWNjZWxlcmF0b3JzOiBEZXZpY2UgMWNmMjo4MDUwIChy ZXYgMDEpDQo+ICsgICAgZDA6MDAuMyBQcm9jZXNzaW5nIGFjY2VsZXJhdG9yczogRGV2aWNlIDFj ZjI6ODA1MCAocmV2IDAxKQ0KPiArICAgIGQyOjAwLjMgUHJvY2Vzc2luZyBhY2NlbGVyYXRvcnM6 IERldmljZSAxY2YyOjgwNTAgKHJldiAwMSkNCj4gKw0KPiArRW5hYmxlIHRoZSBWRnMgZm9yIGVh Y2ggUEYgYnkgZWNob2luZyB0aGUgbnVtYmVyIG9mIFZGcyBwZXIgUEYgdG8gdGhlIHBjaQ0KPiBk cml2ZXI6Og0KPiArDQo+ICsgICAgIGVjaG8gMzEgPiAvc3lzL2J1cy9wY2kvZGV2aWNlLzAwMDA6 Y2M6MDAuNC9zcmlvdl9udW12ZnMNCj4gKyAgICAgZWNobyAzMSA+IC9zeXMvYnVzL3BjaS9kZXZp Y2UvMDAwMDpjZTowMC4zL3NyaW92X251bXZmcw0KPiArICAgICBlY2hvIDMxID4gL3N5cy9idXMv cGNpL2RldmljZS8wMDAwOmQwOjAwLjMvc3Jpb3ZfbnVtdmZzDQo+ICsgICAgIGVjaG8gMzEgPiAv c3lzL2J1cy9wY2kvZGV2aWNlLzAwMDA6ZDI6MDAuMy9zcmlvdl9udW12ZnMNCj4gKw0KPiArQ2hl Y2sgdGhhdCB0aGUgVkZzIGFyZSBhdmFpbGFibGUgZm9yIHVzZS4gRm9yIGV4YW1wbGUgYGBsc3Bj aSAtZDo4MDUxYGAgc2hvdWxkDQo+ICtsaXN0IDEyNCBWRiBkZXZpY2VzIGF2YWlsYWJsZS4NCj4g Kw0KPiArVG8gY29tcGxldGUgdGhlIGluc3RhbGxhdGlvbiBmb2xsb3cgdGhlIGluc3RydWN0aW9u cyBpbg0KPiArYEJpbmRpbmcgdGhlIGF2YWlsYWJsZSBWRnMgdG8gdGhlIHZmaW8tcGNpIGRyaXZl cmBfLg0KPiArDQo+ICsuLiBOb3RlOjoNCj4gKw0KPiArICAgSWYgeW91IHNlZSB0aGUgZm9sbG93 aW5nIHdhcm5pbmcgaW4gYGAvdmFyL2xvZy9tZXNzYWdlc2BgIGl0IGNhbiBiZSBpZ25vcmVkOg0K PiArICAgYGBJT01NVSBzaG91bGQgYmUgZW5hYmxlZCBmb3IgU1ItSU9WIHRvIHdvcmsgY29ycmVj dGx5YGAuDQo+ICsNCj4gKw0KPiArQmluZGluZyB0aGUgYXZhaWxhYmxlIFZGcyB0byB0aGUgdmZp by1wY2kgZHJpdmVyDQo+ICt+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+ fn5+fn5+fn4NCj4gKw0KPiArTm90ZToNCj4gKw0KPiArKiBQbGVhc2Ugbm90ZSB0aGF0IGR1ZSB0 byBzZWN1cml0eSBpc3N1ZXMsIHRoZSB1c2FnZSBvZiBvbGRlciBEUERLIGlnYl91aW8NCj4gKyAg ZHJpdmVyIGlzIG5vdCByZWNvbW1lbmRlZC4gVGhpcyBkb2N1bWVudCBzaG93cyBob3cgdG8gdXNl IHRoZSBtb3JlIHNlY3VyZQ0KPiArICB2ZmlvLXBjaSBkcml2ZXIuDQo+ICsNCj4gK1VuYmluZCB0 aGUgVkZzIGZyb20gdGhlIHN0b2NrIGRyaXZlciBzbyB0aGV5IGNhbiBiZSBib3VuZCB0byB0aGUg dmZpby1wY2kgZHJpdmVyLg0KPiArDQo+ICsNCj4gK0JpbmQgdG8gdGhlIHZmaW8tcGNpIGRyaXZl cg0KPiArXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eDQo+ICsNCj4gK0xvYWQgdGhlIHZmaW8t cGNpIGRyaXZlciwgYmluZCB0aGUgVkYgUENJIERldmljZSBpZCB0byBpdCB1c2luZyB0aGUNCj4g K2BgZHBkay1kZXZiaW5kLnB5YGAgc2NyaXB0IHRoZW4gdXNlIHRoZSBgYC0tc3RhdHVzYGAgb3B0 aW9uDQo+ICt0byBjb25maXJtIHRoZSBWRiBkZXZpY2VzIGFyZSBub3cgaW4gdXNlIGJ5IHZmaW8t cGNpIGtlcm5lbCBkcml2ZXIsDQo+ICtlLmcuIGZvciB0aGUgMWNmMiBkZXZpY2U6Og0KPiArDQo+ ICsgICAgY2QgdG8gdGhlIHRvcC1sZXZlbCBEUERLIGRpcmVjdG9yeQ0KPiArICAgIG1vZHByb2Jl IHZmaW8tcGNpDQo+ICsgICAgdXNlcnRvb2xzL2RwZGstZGV2YmluZC5weSAtYiB2ZmlvLXBjaSAw MDAwOmNjOjAxLjQNCj4gKyAgICB1c2VydG9vbHMvZHBkay1kZXZiaW5kLnB5IC0tc3RhdHVzDQo+ ICsNCj4gK1VzZSBgYG1vZHByb2JlIHZmaW8tcGNpIGRpc2FibGVfZGVueWxpc3Q9MWBgIGZyb20g a2VybmVsIDUuOSBvbndhcmRzLg0KPiArU2VlIG5vdGUgaW4gdGhlIHNlY3Rpb24gYEJpbmRpbmcg dGhlIGF2YWlsYWJsZSBWRnMgdG8gdGhlIHZmaW8tcGNpIGRyaXZlcmBfDQo+ICthYm92ZS4NCj4g Kw0KPiArDQo+ICtUZXN0aW5nDQo+ICt+fn5+fn5+DQoNCkNoZWNrIGhlcmUgYXMgd2VsbA0KPiAr DQo+ICtaU0RBIGNvbXByZXNzaW9uIFBNRCBjYW4gYmUgdGVzdGVkIGJ5IHJ1bm5pbmcgdGhlIHRl c3QgYXBwbGljYXRpb246Og0KPiArDQo+ICsgICAgY2QgLi88YnVpbGRfZGlyPi9hcHAvdGVzdA0K PiArICAgIC4vZHBkay10ZXN0IC1sMSAtbjEgLWEgPHlvdXIgenNkYSBiZGY+DQo+ICsgICAgUlRF Pj5jb21wcmVzc2Rldl9hdXRvdGVzdA0KPiArDQo+ICsNCj4gK0RlYnVnZ2luZw0KPiArfn5+fn5+ fn5+DQpDaGVjayBoZXJlIGFzIHdlbGwNCj4gKw0KPiArWlNEQSBsb2dnaW5nIGZlYXR1cmUgY2Fu IGJlIGVuYWJsZWQgdXNpbmcgdGhlIGxvZy1sZXZlbCBvcHRpb24gKHdoZXJlDQo+IDg9bWF4aW11 bQ0KPiArbG9nIGxldmVsKSBvbiB0aGUgcHJvY2VzcyBjbWRsaW5lLCBlLmcuIHVzaW5nIGFueSBv ZiB0aGUgZm9sbG93aW5nOjoNCj4gKw0KPiArICAgIC0tbG9nLWxldmVsPSJnZW4sOCINCj4gZGlm ZiAtLWdpdCBhL2RyaXZlcnMvY29tbW9uL3pzZGEvbWVzb24uYnVpbGQNCj4gYi9kcml2ZXJzL2Nv bW1vbi96c2RhL21lc29uLmJ1aWxkDQo+IGluZGV4IDRjOTEwZDdlN2QuLjZlZTJhNjhmNGIgMTAw NjQ0DQo+IC0tLSBhL2RyaXZlcnMvY29tbW9uL3pzZGEvbWVzb24uYnVpbGQNCj4gKysrIGIvZHJp dmVycy9jb21tb24venNkYS9tZXNvbi5idWlsZA0KPiBAQCAtNyw5ICs3LDE5IEBAIGlmIGlzX3dp bmRvd3MNCj4gICAgICBzdWJkaXJfZG9uZSgpDQo+ICBlbmRpZg0KPiANCj4gLWRlcHMgKz0gWydi dXNfcGNpJywgJ21idWYnXQ0KPiArZGVwcyArPSBbJ2J1c19wY2knLCAnbWJ1ZicsICdjb21wcmVz c2RldiddDQo+ICBzb3VyY2VzICs9IGZpbGVzKA0KPiAgICAgICAgICAnenNkYV9kZXZpY2UuYycs DQo+ICAgICAgICAgICd6c2RhX2xvZ3MuYycsDQo+ICAgICAgICAgICd6c2RhX3FwLmMnLA0KPiAg ICAgICAgICApDQo+ICsNCj4gK3pzZGFfY29tcHJlc3MgPSB0cnVlDQo+ICt6c2RhX2NvbXByZXNz X3BhdGggPSAnY29tcHJlc3MvenNkYScNCj4gK3pzZGFfY29tcHJlc3NfcmVscGF0aCA9ICcuLi8u Li8nICsgenNkYV9jb21wcmVzc19wYXRoDQo+ICtpbmNsdWRlcyArPSBpbmNsdWRlX2RpcmVjdG9y aWVzKHpzZGFfY29tcHJlc3NfcmVscGF0aCkNCj4gK2lmIHpzZGFfY29tcHJlc3MNCj4gKyAgICBm b3JlYWNoIGY6IFsnenNkYV9jb21wX3BtZC5jJ10NCj4gKyAgICAgICAgc291cmNlcyArPSBmaWxl cyhqb2luX3BhdGhzKHpzZGFfY29tcHJlc3NfcmVscGF0aCwgZikpDQo+ICsgICAgZW5kZm9yZWFj aA0KPiArZW5kaWYNCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvY29tbW9uL3pzZGEvenNkYV9kZXZp Y2UuaA0KPiBiL2RyaXZlcnMvY29tbW9uL3pzZGEvenNkYV9kZXZpY2UuaA0KPiBpbmRleCAwYzlm MzMyY2EyLi41NjRkNjhhYzZhIDEwMDY0NA0KPiAtLS0gYS9kcml2ZXJzL2NvbW1vbi96c2RhL3pz ZGFfZGV2aWNlLmgNCj4gKysrIGIvZHJpdmVycy9jb21tb24venNkYS96c2RhX2RldmljZS5oDQo+ IEBAIC03LDEwICs3LDEwIEBADQo+IA0KPiAgI2luY2x1ZGUgPHJ0ZV9tZW16b25lLmg+DQo+ICAj aW5jbHVkZSAiYnVzX3BjaV9kcml2ZXIuaCINCj4gKyNpbmNsdWRlICJ6c2RhX3FwX2NvbW1vbi5o Ig0KPiANCj4gICNkZWZpbmUgTUFYX1FQU19PTl9GVU5DVElPTiAgICAgICAgICAgIDEyOA0KPiAg I2RlZmluZSBaU0RBX0RFVl9OQU1FX01BWF9MRU4gICAgICAgIDY0DQo+IC0jZGVmaW5lIFpTREFf TUFYX1NFUlZJQ0VTICAgICAgICAgICAgKDApDQo+ICAjZGVmaW5lIFpTREFfTUFYX0RFViAgICAg ICAgICAgICAgICBSVEVfUE1EX1pTREFfTUFYX1BDSV9ERVZJQ0VTDQo+IA0KPiAgc3RydWN0IHpz ZGFfZGV2aWNlX2luZm8gew0KPiBAQCAtMTgsNyArMTgsMTEgQEAgc3RydWN0IHpzZGFfZGV2aWNl X2luZm8gew0KPiAgICAgIC8qKjwgbXogdG8gc3RvcmUgdGhl77yaICBzdHJ1Y3QgenNkYV9wY2lf ZGV2aWNlICwgICAgc28gaXQgY2FuIGJlDQo+ICAgICAgICogc2hhcmVkIGFjcm9zcyBwcm9jZXNz ZXMNCj4gICAgICAgKi8NCj4gLQ0KPiArICAgIHN0cnVjdCBydGVfZGV2aWNlIGNvbXBfcnRlX2Rl djsNCj4gKyAgICAvKio8IFRoaXMgcmVwcmVzZW50cyB0aGUgY29tcHJlc3Npb24gc3Vic2V0IG9m IHRoaXMgcGNpIGRldmljZS4NCj4gKyAgICAgKiBSZWdpc3RlciB3aXRoIHRoaXMgcmF0aGVyIHRo YW4gd2l0aCB0aGUgb25lIGluDQo+ICsgICAgICogcGNpX2RldiBzbyB0aGF0IGl0cyBkcml2ZXIg Y2FuIGhhdmUgYSBjb21wcmVzc2lvbi1zcGVjaWZpYyBuYW1lDQo+ICsgICAgICovDQo+ICAgICAg c3RydWN0IHJ0ZV9wY2lfZGV2aWNlICpwY2lfZGV2Ow0KPiAgfTsNCj4gDQo+IEBAIC0zNyw2ICs0 MSwyMyBAQCBzdHJ1Y3QgenNkYV9xcF9odyB7DQo+ICAgICAgc3RydWN0IHpzZGFfcXBfaHdfZGF0 YSBkYXRhW01BWF9RUFNfT05fRlVOQ1RJT05dOw0KPiAgfTsNCj4gDQo+ICsvKiogcHJpdmF0ZSBk YXRhIHN0cnVjdHVyZSBmb3IgYSBaU0RBIGNvbXByZXNzaW9uIGRldmljZS4NCj4gKyAqIFRoaXMg WlNEQSBkZXZpY2UgaXMgYSBkZXZpY2Ugb2ZmZXJpbmcgb25seSBhIGNvbXByZXNzaW9uIHNlcnZp Y2UsDQo+ICsgKiB0aGVyZSBjYW4gYmUgb25lIG9mIHRoZXNlIG9uIGVhY2ggenNkYV9wY2lfZGV2 aWNlIChWRikuDQo+ICsgKi8NCj4gK3N0cnVjdCB6c2RhX2NvbXBfZGV2X3ByaXZhdGUgew0KPiAr ICAgIHN0cnVjdCB6c2RhX3BjaV9kZXZpY2UgKnpzZGFfcGNpX2RldjsNCj4gKyAgICAvKio8IFRo ZSB6c2RhIHBjaSBkZXZpY2UgaG9zdGluZyB0aGUgc2VydmljZSAqLw0KPiArICAgIHN0cnVjdCBy dGVfY29tcHJlc3NkZXYgKmNvbXByZXNzZGV2Ow0KPiArICAgIC8qKjwgVGhlIHBvaW50ZXIgdG8g dGhpcyBjb21wcmVzc2lvbiBkZXZpY2Ugc3RydWN0dXJlICovDQo+ICsgICAgY29uc3Qgc3RydWN0 IHJ0ZV9jb21wcmVzc2Rldl9jYXBhYmlsaXRpZXMgKnpzZGFfZGV2X2NhcGFiaWxpdGllczsNCj4g KyAgICAvKiBaU0RBIGRldmljZSBjb21wcmVzc2lvbiBjYXBhYmlsaXRpZXMgKi8NCj4gKyAgICBz dHJ1Y3QgcnRlX21lbXBvb2wgKnhmb3JtcG9vbDsNCj4gKyAgICAvKio8IFRoZSBkZXZpY2UncyBw b29sIGZvciB6c2RhX2NvbXBfeGZvcm1zICovDQo+ICsgICAgY29uc3Qgc3RydWN0IHJ0ZV9tZW16 b25lICpjYXBhX216Ow0KPiArICAgIC8qIFNoYXJlZCBtZW16b25lIGZvciBzdG9yaW5nIGNhcGFi aWxpdGllcyAqLw0KPiArfTsNClRoaXMgc3RydWN0IGlzIHByaXZhdGUgYW5kIHNwZWNpZmljIHRv IGNvbXByZXNzaW9uIGRldmljZS4NCkNhbiB3ZSBtb3ZlIHRoaXMgdG8gZHJpdmVycy9jb21wcmVz cy96c2RhPw0KDQpTaW1pbGFybHkgb3RoZXIgY29tcHJlc3Npb24gc3BlY2lmaWMgdGhpbmdzIGNh biBiZSBtb3ZlZCB0byBkcml2ZXJzL2NvbXByZXNzL3pzZGEgYXMgd2VsbC4NCg0KPiArDQo+ICBz dHJ1Y3QgenNkYV9wY2lfZGV2aWNlIHsNCj4gICAgICAvKiBEYXRhIHVzZWQgYnkgYWxsIHNlcnZp Y2VzICovDQo+ICAgICAgY2hhciBuYW1lW1pTREFfREVWX05BTUVfTUFYX0xFTl07DQo+IEBAIC00 Niw2ICs2NywxMCBAQCBzdHJ1Y3QgenNkYV9wY2lfZGV2aWNlIHsNCj4gDQo+ICAgICAgc3RydWN0 IHJ0ZV9wY2lfZGV2aWNlICpwY2lfZGV2Ow0KPiANCj4gKyAgICAvKiBEYXRhIHJlbGF0aW5nIHRv IGNvbXByZXNzaW9uIHNlcnZpY2UgKi8NCj4gKyAgICBzdHJ1Y3QgenNkYV9jb21wX2Rldl9wcml2 YXRlICpjb21wX2RldjsNCj4gKyAgICAvKio8IGxpbmsgYmFjayB0byBjb21wcmVzc2RldiBwcml2 YXRlIGRhdGEgKi8NCj4gKw0KPiAgICAgIHN0cnVjdCB6c2RhX3FwX2h3IHpzZGFfaHdfcXBzW1pT REFfTUFYX1NFUlZJQ0VTXTsNCj4gICAgICB1aW50MTZfdCB6c2RhX3FwX2h3X251bVtaU0RBX01B WF9TRVJWSUNFU107DQo+ICB9Ow0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9jb21tb24venNkYS96 c2RhX3FwLmMgYi9kcml2ZXJzL2NvbW1vbi96c2RhL3pzZGFfcXAuYw0KPiBpbmRleCAwYmIwZjU5 OGI3Li43ZTAwMGQ1YjNmIDEwMDY0NA0KPiAtLS0gYS9kcml2ZXJzL2NvbW1vbi96c2RhL3pzZGFf cXAuYw0KPiArKysgYi9kcml2ZXJzL2NvbW1vbi96c2RhL3pzZGFfcXAuYw0KPiBAQCAtMywxNSAr MywxMiBAQA0KPiAgICovDQo+IA0KPiAgI2luY2x1ZGUgPHN0ZGludC5oPg0KPiAtDQo+IC0jaW5j bHVkZSA8cnRlX21hbGxvYy5oPg0KDQpCZXR0ZXIgdG8gcmVtb3ZlIHVudXNlZCBoZWFkZXJzIGlu IHRoZSBvcmlnaW5hbCBwYXRjaCB3aGVyZSB0aGV5IHdlcmUgaW50cm9kdWNlZC4NCg0KPiArI2lu Y2x1ZGUgPHJ0ZV9tZW1wb29sLmg+DQo+IA0KPiAgI2luY2x1ZGUgInpzZGFfbG9ncy5oIg0KPiAt I2luY2x1ZGUgInpzZGFfZGV2aWNlLmgiDQo+ICAjaW5jbHVkZSAienNkYV9xcC5oIg0KPiAgI2lu Y2x1ZGUgInpzZGFfcXBfY29tbW9uLmgiDQo+IA0KPiAtDQo+ICAjZGVmaW5lIE1BR0lDX1NFTkQg MHhhYg0KPiAgI2RlZmluZSBNQUdJQ19SRUNWIDB4Y2QNCj4gICNkZWZpbmUgQURNSU5fVkVSIDEN Cj4gQEAgLTQwMCw3ICszOTcsOCBAQCB6c2RhX2dldF9xdWV1ZV9jZmdfYnlfaWQoY29uc3Qgc3Ry dWN0IHpzZGFfcGNpX2RldmljZQ0KPiAqenNkYV9wY2lfZGV2LA0KPiAgfQ0KPiANCj4gIHN0YXRp YyBzdHJ1Y3QgcmluZ19zaXplIHpzZGFfcXBfaHdfcmluZ19zaXplW1pTREFfTUFYX1NFUlZJQ0VT XSA9IHsNCj4gLQ0KPiArICAgIFtaU0RBX1NFUlZJQ0VfRU5DT01QUkVTU0lPTl0gPSB7MzIsIDE2 fSwNCg0KRU5DT01QUkVTU0lPTj8gDQpDYW4gdGhpcyBiZSBDT01QUkVTU0lPTj8NCg0KPiArICAg IFtaU0RBX1NFUlZJQ0VfREVDT01QUkVTU0lPTl0gPSB7MzIsIDE2fSwNCj4gIH07DQo+IA0KPiAg c3RhdGljIGludA0KPiBAQCAtNDY4LDYgKzQ2NiwyNiBAQCB6c2RhX3VubWFza19mbHIoY29uc3Qg c3RydWN0IHpzZGFfcGNpX2RldmljZQ0KPiAqenNkYV9wY2lfZGV2KQ0KPiAgICAgIHJldHVybiBa U0RBX1NVQ0NFU1M7DQo+ICB9DQo+IA0KPiArc3RhdGljIHVpbnQxNl90DQo+ICt6c2RhX3Fwc19w ZXJfc2VydmljZShjb25zdCBzdHJ1Y3QgenNkYV9wY2lfZGV2aWNlICp6c2RhX3BjaV9kZXYsDQo+ ICsgICAgICAgICAgICAgY29uc3QgZW51bSB6c2RhX3NlcnZpY2VfdHlwZSBzZXJ2aWNlKQ0KPiAr ew0KPiArICAgIHVpbnQxNl90IHFwX2h3X251bSA9IDA7DQo+ICsNCj4gKyAgICBpZiAoc2Vydmlj ZSA8IFpTREFfU0VSVklDRV9JTlZBTElEKQ0KPiArICAgICAgICBxcF9od19udW0gPSB6c2RhX3Bj aV9kZXYtPnpzZGFfcXBfaHdfbnVtW3NlcnZpY2VdOw0KPiArICAgIHJldHVybiBxcF9od19udW07 DQo+ICt9DQo+ICsNCj4gK3N0cnVjdCB6c2RhX251bV9xcHMgenNkYV9uYl9xcHM7DQo+ICtzdGF0 aWMgdm9pZA0KPiArenNkYV9nZXRfbmJfcXBzKGNvbnN0IHN0cnVjdCB6c2RhX3BjaV9kZXZpY2Ug KnpzZGFfcGNpX2RldikNCj4gK3sNCj4gKyAgICB6c2RhX25iX3Fwcy5lbmNvbXAgPQ0KPiArICAg ICAgICB6c2RhX3Fwc19wZXJfc2VydmljZSh6c2RhX3BjaV9kZXYsIFpTREFfU0VSVklDRV9FTkNP TVBSRVNTSU9OKTsNCj4gKyAgICB6c2RhX25iX3Fwcy5kZWNvbXAgPQ0KPiArICAgICAgICB6c2Rh X3Fwc19wZXJfc2VydmljZSh6c2RhX3BjaV9kZXYsIFpTREFfU0VSVklDRV9ERUNPTVBSRVNTSU9O KTsNCj4gK30NCj4gDQo+ICBpbnQNCj4gIHpzZGFfcXVldWVfaW5pdChzdHJ1Y3QgenNkYV9wY2lf ZGV2aWNlICp6c2RhX3BjaV9kZXYpDQo+IEBAIC01MDEsNSArNTE5LDcgQEAgenNkYV9xdWV1ZV9p bml0KHN0cnVjdCB6c2RhX3BjaV9kZXZpY2UgKnpzZGFfcGNpX2RldikNCj4gICAgICAgICAgcmV0 dXJuIHJldDsNCj4gICAgICB9DQo+IA0KPiArICAgIHpzZGFfZ2V0X25iX3Fwcyh6c2RhX3BjaV9k ZXYpOw0KPiArDQo+ICAgICAgcmV0dXJuIHJldDsNCj4gIH0NCj4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvY29tbW9uL3pzZGEvenNkYV9xcC5oIGIvZHJpdmVycy9jb21tb24venNkYS96c2RhX3FwLmgN Cj4gaW5kZXggYzNmYzI4NDIzOS4uMGM4ZjM2MDYxYSAxMDA2NDQNCj4gLS0tIGEvZHJpdmVycy9j b21tb24venNkYS96c2RhX3FwLmgNCj4gKysrIGIvZHJpdmVycy9jb21tb24venNkYS96c2RhX3Fw LmgNCj4gQEAgLTUsNiArNSw4IEBADQo+ICAjaWZuZGVmIF9aU0RBX1FQX0hfDQo+ICAjZGVmaW5l IF9aU0RBX1FQX0hfDQo+IA0KPiArI2luY2x1ZGUgInpzZGFfZGV2aWNlLmgiDQo+ICsNCj4gICNk ZWZpbmUgWlNEQV9BRE1JTl9RX1NUQVJUICAgICAgICAweDEwMA0KPiAgI2RlZmluZSBaU0RBX0FE TUlOX1FfU1RPUCAgICAgICAgMHgxMDANCj4gICNkZWZpbmUgWlNEQV9BRE1JTl9RX1NUT1BfUkVT UCAgICAweDEwNA0KPiBAQCAtNzIsMTUgKzc0LDIxIEBAIGVudW0genNkYV9hZG1pbl9tc2dfaWQg ew0KPiAgICAgIFpTREFfQURNSU5fSU5UX1RFU1QNCj4gIH07DQo+IA0KPiAtZW51bSB6c2RhX3Nl cnZpY2VfdHlwZSB7DQo+IC0gICAgWlNEQV9TRVJWSUNFX0lOVkFMSUQsDQo+IC19Ow0KPiAtDQpS ZW1vdmUgdGhlIGVudW0gZnJvbSBvcmlnaW5hbCBwYXRjaC4NCg0KUGxlYXNlIGRvIG5vdCBhZGQg dW5uZWNlc3NhcnkgbGluZXMgaW4gb25lIHBhdGNoIGFuZCBkZWxldGUgaW4gc3Vic2VxdWVudCBw YXRjaGVzLg0KDQoNCj4gIHN0cnVjdCByaW5nX3NpemUgew0KPiAgICAgIHVpbnQxNl90IHR4X21z Z19zaXplOw0KPiAgICAgIHVpbnQxNl90IHJ4X21zZ19zaXplOw0KPiAgfTsNCj4gDQo+ICtzdHJ1 Y3QgenNkYV9udW1fcXBzIHsNCj4gKyAgICB1aW50MTZfdCBlbmNvbXA7DQo+ICsgICAgdWludDE2 X3QgZGVjb21wOw0KPiArICAgIHVpbnQxNl90IGVuY3J5cHQ7DQo+ICsgICAgdWludDE2X3QgZGVj cnlwdDsNCj4gKyAgICB1aW50MTZfdCBoYXNoOw0KPiArfTsNCj4gKw0KPiArZXh0ZXJuIHN0cnVj dCB6c2RhX251bV9xcHMgenNkYV9uYl9xcHM7DQo+ICsNCj4gIGludCB6c2RhX3F1ZXVlX3N0YXJ0 KGNvbnN0IHN0cnVjdCBydGVfcGNpX2RldmljZSAqcGNpX2Rldik7DQo+ICBpbnQgenNkYV9xdWV1 ZV9zdG9wKGNvbnN0IHN0cnVjdCBydGVfcGNpX2RldmljZSAqcGNpX2Rldik7DQo+IA0KPiBkaWZm IC0tZ2l0IGEvZHJpdmVycy9jb21tb24venNkYS96c2RhX3FwX2NvbW1vbi5oDQo+IGIvZHJpdmVy cy9jb21tb24venNkYS96c2RhX3FwX2NvbW1vbi5oDQo+IGluZGV4IDc1MjcxZDc4MjMuLjcyMmZk NzMwYjIgMTAwNjQ0DQo+IC0tLSBhL2RyaXZlcnMvY29tbW9uL3pzZGEvenNkYV9xcF9jb21tb24u aA0KPiArKysgYi9kcml2ZXJzL2NvbW1vbi96c2RhL3pzZGFfcXBfY29tbW9uLmgNCj4gQEAgLTE3 LDYgKzE3LDEzIEBADQo+ICAjZGVmaW5lIFpTREFfU1VDQ0VTUyAgICAgICAgICAgIDANCj4gICNk ZWZpbmUgWlNEQV9GQUlMRUQgICAgICAgICAgICAgICAgKC0xKQ0KPiANCj4gK2VudW0genNkYV9z ZXJ2aWNlX3R5cGUgew0KPiArICAgIFpTREFfU0VSVklDRV9FTkNPTVBSRVNTSU9OID0gMCwNCj4g KyAgICBaU0RBX1NFUlZJQ0VfREVDT01QUkVTU0lPTiA9IDEsDQo+ICsgICAgWlNEQV9TRVJWSUNF X0lOVkFMSUQsDQo+ICt9Ow0KPiArI2RlZmluZSBaU0RBX01BWF9TRVJWSUNFUyAoMikNCj4gKw0K PiAgI2RlZmluZSBaU0RBX0NTUl9SRUFEMzIoYWRkcikgICAgICAgICAgcnRlX3JlYWQzMigoYWRk cikpDQo+ICAjZGVmaW5lIFpTREFfQ1NSX1dSSVRFMzIoYWRkciwgdmFsdWUpIHJ0ZV93cml0ZTMy KCh2YWx1ZSksIChhZGRyKSkNCj4gICNkZWZpbmUgWlNEQV9DU1JfUkVBRDE2KGFkZHIpICAgICAg ICAgIHJ0ZV9yZWFkMTYoKGFkZHIpKQ0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9jb21wcmVzcy96 c2RhL3pzZGFfY29tcF9wbWQuYw0KPiBiL2RyaXZlcnMvY29tcHJlc3MvenNkYS96c2RhX2NvbXBf cG1kLmMNCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAwMDAwMC4uZDFjMzNm NDQ4Yw0KPiAtLS0gL2Rldi9udWxsDQo+ICsrKyBiL2RyaXZlcnMvY29tcHJlc3MvenNkYS96c2Rh X2NvbXBfcG1kLmMNCj4gQEAgLTAsMCArMSwxMjggQEANCj4gKy8qIFNQRFgtTGljZW5zZS1JZGVu dGlmaWVyOiBCU0QtMy1DbGF1c2UNCj4gKyAqIENvcHlyaWdodChjKSAyMDI0IFpURSBDb3Jwb3Jh dGlvbg0KPiArICovDQo+ICsNCj4gKyNpbmNsdWRlIDxydGVfbWFsbG9jLmg+DQo+ICsNCj4gKyNp bmNsdWRlICJ6c2RhX2xvZ3MuaCINCj4gKyNpbmNsdWRlICJ6c2RhX3FwX2NvbW1vbi5oIg0KPiAr I2luY2x1ZGUgInpzZGFfY29tcF9wbWQuaCINCj4gKw0KPiArc3RhdGljIHN0cnVjdCBydGVfY29t cHJlc3NkZXZfb3BzIGNvbXByZXNzX3pzZGFfb3BzID0gew0KPiArDQo+ICsgICAgLmRldl9jb25m aWd1cmUgPSBOVUxMLA0KPiArICAgIC5kZXZfc3RhcnQgPSBOVUxMLA0KPiArICAgIC5kZXZfc3Rv cCA9IE5VTEwsDQo+ICsgICAgLmRldl9jbG9zZSA9IE5VTEwsDQo+ICsgICAgLmRldl9pbmZvc19n ZXQgPSBOVUxMLA0KPiArDQo+ICsgICAgLnN0YXRzX2dldCA9IE5VTEwsDQo+ICsgICAgLnN0YXRz X3Jlc2V0ID0gTlVMTCwNCj4gKyAgICAucXVldWVfcGFpcl9zZXR1cCA9IE5VTEwsDQo+ICsgICAg LnF1ZXVlX3BhaXJfcmVsZWFzZSA9IE5VTEwsDQo+ICsNCj4gKyAgICAucHJpdmF0ZV94Zm9ybV9j cmVhdGUgPSBOVUxMLA0KPiArICAgIC5wcml2YXRlX3hmb3JtX2ZyZWUgPSBOVUxMDQo+ICt9Ow0K PiArDQo+ICsvKiBBbiBydGVfZHJpdmVyIGlzIG5lZWRlZCBpbiB0aGUgcmVnaXN0cmF0aW9uIG9m IHRoZSBkZXZpY2Ugd2l0aCBjb21wcmVzc2Rldi4NCj4gKyAqIFRoZSBhY3R1YWwgenNkYSBwY2kn cyBydGVfZHJpdmVyIGNhbid0IGJlIHVzZWQgYXMgaXRzIG5hbWUgcmVwcmVzZW50cw0KPiArICog dGhlIHdob2xlIHBjaSBkZXZpY2Ugd2l0aCBhbGwgc2VydmljZXMuIFRoaW5rIG9mIHRoaXMgYXMg YSBob2xkZXIgZm9yIGEgbmFtZQ0KPiArICogZm9yIHRoZSBjb21wcmVzc2lvbiBwYXJ0IG9mIHRo ZSBwY2kgZGV2aWNlLg0KPiArICovDQo+ICtzdGF0aWMgY29uc3QgY2hhciB6c2RhX2NvbXBfZHJ2 X25hbWVbXSA9DQo+IFJURV9TVFIoQ09NUFJFU1NERVZfTkFNRV9aU0RBX1BNRCk7DQo+ICtzdGF0 aWMgY29uc3Qgc3RydWN0IHJ0ZV9kcml2ZXIgY29tcGRldl96c2RhX2RyaXZlciA9IHsNCj4gKyAg ICAubmFtZSA9IHpzZGFfY29tcF9kcnZfbmFtZSwgLmFsaWFzID0genNkYV9jb21wX2Rydl9uYW1l fTsNCj4gKw0KPiAraW50DQo+ICt6c2RhX2NvbXBfZGV2X2NyZWF0ZShzdHJ1Y3QgenNkYV9wY2lf ZGV2aWNlICp6c2RhX3BjaV9kZXYpDQo+ICt7DQo+ICsgICAgc3RydWN0IHpzZGFfZGV2aWNlX2lu Zm8gKmRldl9pbmZvID0NCj4gKyAgICAgICAgJnpzZGFfZGV2c1t6c2RhX3BjaV9kZXYtPnpzZGFf ZGV2X2lkXTsNCj4gKw0KPiArICAgIHN0cnVjdCBydGVfY29tcHJlc3NkZXZfcG1kX2luaXRfcGFy YW1zIGluaXRfcGFyYW1zID0gew0KPiArICAgICAgICAubmFtZSA9ICIiLA0KPiArICAgICAgICAu c29ja2V0X2lkID0gKGludClydGVfc29ja2V0X2lkKCksDQo+ICsgICAgfTsNCj4gKw0KPiArICAg IGNoYXIgbmFtZVtSVEVfQ09NUFJFU1NERVZfTkFNRV9NQVhfTEVOXTsNCj4gKyAgICBjaGFyIGNh cGFfbWVtel9uYW1lW1JURV9DT01QUkVTU0RFVl9OQU1FX01BWF9MRU5dOw0KPiArICAgIHN0cnVj dCBydGVfY29tcHJlc3NkZXYgKmNvbXByZXNzZGV2Ow0KPiArICAgIHN0cnVjdCB6c2RhX2NvbXBf ZGV2X3ByaXZhdGUgKmNvbXBfZGV2Ow0KPiArICAgIGNvbnN0IHN0cnVjdCBydGVfY29tcHJlc3Nk ZXZfY2FwYWJpbGl0aWVzICpjYXBhYmlsaXRpZXM7DQo+ICsgICAgdWludDE2X3QgY2FwYV9zaXpl ID0gc2l6ZW9mKHN0cnVjdCBydGVfY29tcHJlc3NkZXZfY2FwYWJpbGl0aWVzKTsNCj4gKw0KPiAr ICAgIHNucHJpbnRmKG5hbWUsIFJURV9DT01QUkVTU0RFVl9OQU1FX01BWF9MRU4sICIlc18lcyIs DQo+ICsgICAgICAgICB6c2RhX3BjaV9kZXYtPm5hbWUsICJjb21wIik7DQo+ICsNCj4gKyAgICBp ZiAocnRlX2VhbF9wcm9jZXNzX3R5cGUoKSAhPSBSVEVfUFJPQ19QUklNQVJZKQ0KPiArICAgICAg ICByZXR1cm4gMDsNCj4gKw0KPiArICAgIGRldl9pbmZvLT5jb21wX3J0ZV9kZXYuZHJpdmVyID0g JmNvbXBkZXZfenNkYV9kcml2ZXI7DQo+ICsgICAgZGV2X2luZm8tPmNvbXBfcnRlX2Rldi5udW1h X25vZGUgPSBkZXZfaW5mby0+cGNpX2Rldi0NCj4gPmRldmljZS5udW1hX25vZGU7DQo+ICsgICAg ZGV2X2luZm8tPmNvbXBfcnRlX2Rldi5kZXZhcmdzID0gTlVMTDsNCj4gKw0KPiArICAgIGNvbXBy ZXNzZGV2ID0gcnRlX2NvbXByZXNzZGV2X3BtZF9jcmVhdGUoDQo+ICsgICAgICAgIG5hbWUsICYo ZGV2X2luZm8tPmNvbXBfcnRlX2RldiksDQo+ICsgICAgICAgIHNpemVvZihzdHJ1Y3QgenNkYV9j b21wX2Rldl9wcml2YXRlKSwgJmluaXRfcGFyYW1zKTsNCj4gKw0KPiArICAgIGlmIChjb21wcmVz c2RldiA9PSBOVUxMKQ0KPiArICAgICAgICByZXR1cm4gLUVOT0RFVjsNCj4gKw0KPiArICAgIGNv bXByZXNzZGV2LT5kZXZfb3BzID0gJmNvbXByZXNzX3pzZGFfb3BzOw0KPiArDQo+ICsgICAgY29t cHJlc3NkZXYtPmVucXVldWVfYnVyc3QgPSBOVUxMOw0KPiArICAgIGNvbXByZXNzZGV2LT5kZXF1 ZXVlX2J1cnN0ID0gTlVMTDsNCj4gKw0KPiArICAgIGNvbXByZXNzZGV2LT5mZWF0dXJlX2ZsYWdz ID0gUlRFX0NPTVBERVZfRkZfSFdfQUNDRUxFUkFURUQ7DQo+ICsNCj4gKyAgICBzbnByaW50Zihj YXBhX21lbXpfbmFtZSwgUlRFX0NPTVBSRVNTREVWX05BTUVfTUFYX0xFTiwNCj4gKyAgICAgICAg ICJaU0RBX0NPTVBfQ0FQQSIpOw0KPiArDQo+ICsgICAgY29tcF9kZXYgPSBjb21wcmVzc2Rldi0+ ZGF0YS0+ZGV2X3ByaXZhdGU7DQo+ICsgICAgY29tcF9kZXYtPnpzZGFfcGNpX2RldiA9IHpzZGFf cGNpX2RldjsNCj4gKyAgICBjb21wX2Rldi0+Y29tcHJlc3NkZXYgPSBjb21wcmVzc2RldjsNCj4g Kw0KPiArICAgIGNhcGFiaWxpdGllcyA9IE5VTEw7DQo+ICsNCj4gKyAgICBjb21wX2Rldi0+Y2Fw YV9teiA9IHJ0ZV9tZW16b25lX2xvb2t1cChjYXBhX21lbXpfbmFtZSk7DQo+ICsgICAgaWYgKGNv bXBfZGV2LT5jYXBhX216ID09IE5VTEwpIHsNCj4gKyAgICAgICAgY29tcF9kZXYtPmNhcGFfbXog PSBydGVfbWVtem9uZV9yZXNlcnZlKA0KPiArICAgICAgICAgICAgY2FwYV9tZW16X25hbWUsIGNh cGFfc2l6ZSwgcnRlX3NvY2tldF9pZCgpLCAwKTsNCj4gKyAgICB9DQo+ICsgICAgaWYgKGNvbXBf ZGV2LT5jYXBhX216ID09IE5VTEwpIHsNCj4gKyAgICAgICAgWlNEQV9MT0coREVCVUcsICJGYWls ZWQhIGNvbXBfZGV2LT5jYXBhX216IGlzIE5VTEwiKTsNCj4gKyAgICAgICAgbWVtc2V0KCZkZXZf aW5mby0+Y29tcF9ydGVfZGV2LCAwLA0KPiArICAgICAgICAgICAgICAgc2l6ZW9mKGRldl9pbmZv LT5jb21wX3J0ZV9kZXYpKTsNCj4gKyAgICAgICAgcnRlX2NvbXByZXNzZGV2X3BtZF9kZXN0cm95 KGNvbXByZXNzZGV2KTsNCj4gKyAgICAgICAgcmV0dXJuIC1FRkFVTFQ7DQo+ICsgICAgfQ0KPiAr DQo+ICsgICAgbWVtY3B5KGNvbXBfZGV2LT5jYXBhX216LT5hZGRyLCBjYXBhYmlsaXRpZXMsIGNh cGFfc2l6ZSk7DQo+ICsgICAgY29tcF9kZXYtPnpzZGFfZGV2X2NhcGFiaWxpdGllcyA9IGNvbXBf ZGV2LT5jYXBhX216LT5hZGRyOw0KPiArDQo+ICsgICAgenNkYV9wY2lfZGV2LT5jb21wX2RldiA9 IGNvbXBfZGV2Ow0KPiArDQo+ICsgICAgcmV0dXJuIFpTREFfU1VDQ0VTUzsNCj4gK30NCj4gKw0K PiAraW50DQo+ICt6c2RhX2NvbXBfZGV2X2Rlc3Ryb3koc3RydWN0IHpzZGFfcGNpX2RldmljZSAq enNkYV9wY2lfZGV2KQ0KPiArew0KPiArICAgIHN0cnVjdCB6c2RhX2NvbXBfZGV2X3ByaXZhdGUg KmNvbXBfZGV2Ow0KPiArDQo+ICsgICAgaWYgKHpzZGFfcGNpX2RldiA9PSBOVUxMKQ0KPiArICAg ICAgICByZXR1cm4gLUVOT0RFVjsNCj4gKw0KPiArICAgIGNvbXBfZGV2ID0genNkYV9wY2lfZGV2 LT5jb21wX2RldjsNCj4gKyAgICBpZiAoY29tcF9kZXYgPT0gTlVMTCkNCj4gKyAgICAgICAgcmV0 dXJuIFpTREFfU1VDQ0VTUzsNCj4gKw0KPiArICAgIGlmIChydGVfZWFsX3Byb2Nlc3NfdHlwZSgp ID09IFJURV9QUk9DX1BSSU1BUlkpDQo+ICsgICAgICAgIHJ0ZV9tZW16b25lX2ZyZWUoenNkYV9w Y2lfZGV2LT5jb21wX2Rldi0+Y2FwYV9teik7DQo+ICsNCj4gKyAgICBydGVfY29tcHJlc3NkZXZf cG1kX2Rlc3Ryb3koY29tcF9kZXYtPmNvbXByZXNzZGV2KTsNCj4gKyAgICB6c2RhX3BjaV9kZXYt PmNvbXBfZGV2ID0gTlVMTDsNCj4gKw0KPiArICAgIHJldHVybiBaU0RBX1NVQ0NFU1M7DQo+ICt9 DQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2NvbXByZXNzL3pzZGEvenNkYV9jb21wX3BtZC5oDQo+ IGIvZHJpdmVycy9jb21wcmVzcy96c2RhL3pzZGFfY29tcF9wbWQuaA0KPiBuZXcgZmlsZSBtb2Rl IDEwMDY0NA0KPiBpbmRleCAwMDAwMDAwMDAwLi5jNmVmNTdhZjhlDQo+IC0tLSAvZGV2L251bGwN Cj4gKysrIGIvZHJpdmVycy9jb21wcmVzcy96c2RhL3pzZGFfY29tcF9wbWQuaA0KPiBAQCAtMCww ICsxLDIwIEBADQo+ICsvKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlDQo+ ICsgKiBDb3B5cmlnaHQoYykgMjAyNCBaVEUgQ29ycG9yYXRpb24NCj4gKyAqLw0KPiArDQo+ICsj aWZuZGVmIF9aU0RBX0NPTVBfUE1EX0hfDQo+ICsjZGVmaW5lIF9aU0RBX0NPTVBfUE1EX0hfDQo+ ICsNCj4gKyNpbmNsdWRlIDxydGVfY29tcHJlc3NkZXZfcG1kLmg+DQo+ICsNCj4gKyNpbmNsdWRl ICJ6c2RhX3FwLmgiDQo+ICsjaW5jbHVkZSAienNkYV9kZXZpY2UuaCINCj4gKw0KPiArLyoqPCBa U0RBIENvbXByZXNzaW9uIFBNRCBkcml2ZXIgbmFtZSAqLw0KPiArI2RlZmluZSBDT01QUkVTU0RF Vl9OQU1FX1pTREFfUE1EIGNvbXByZXNzX3pzZGENCj4gKw0KPiAraW50IHpzZGFfY29tcF9kZXZf Y3JlYXRlKHN0cnVjdCB6c2RhX3BjaV9kZXZpY2UgKnpzZGFfcGNpX2Rldik7DQo+ICsNCj4gK2lu dCB6c2RhX2NvbXBfZGV2X2Rlc3Ryb3koc3RydWN0IHpzZGFfcGNpX2RldmljZSAqenNkYV9wY2lf ZGV2KTsNCj4gKw0KPiArI2VuZGlmIC8qIF9aU0RBX0NPTVBfUE1EX0hfICovDQo+IC0tDQo+IDIu MjcuMA0KDQo=