From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-13.6 required=3.0 tests=BAYES_00,DKIM_INVALID, DKIM_SIGNED,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id DD67FC433ED for ; Fri, 16 Apr 2021 03:19:01 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 8F07E61184 for ; Fri, 16 Apr 2021 03:19:01 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 8F07E61184 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=amd.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=amd-gfx-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 359206EB1B; Fri, 16 Apr 2021 03:19:01 +0000 (UTC) Received: from NAM10-MW2-obe.outbound.protection.outlook.com (mail-mw2nam10on2046.outbound.protection.outlook.com [40.107.94.46]) by gabe.freedesktop.org (Postfix) with ESMTPS id 983336EB1B for ; Fri, 16 Apr 2021 03:18:59 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ELug0/HnStge45PXvkB1izdEyQNb8DlmI2Yp2jh6UOAITAkQmkxJYDwdGJNAjQ27ZfmSzvVUI4/my0Bc2LWeLGEYriVjJeMiYcccEdLAjHbhxSgQP9iMWotgIPmTZFtq+DbWjrtJYv9iT5oZO26Dql8XVluBwhcLgmc6EUuAEyg9V2ww4PMkaAtGv3fWr4YIWoiz8s4g/v59y7wzm/W4SfsZeSjDilFjjRXSwx2N/EnI5wb8wYNwzIGpJapNY3sgPe9zNKFbOkLPQOATNI3V7mBH49KYVv14X6TSDjVZj0SYvutmzgR/9sS0mBnQxma7qBowLwjV4ACNP3biaHvh+w== 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=QrzghnQex6y/aAoygfinT8DNypJ6ukKe3ph/HqJagsM=; b=gjPOeSy4mMSew6DXfLTdAy28f/zTn6M81puKl/deXmfuijj5mVPGnPXtvp5u4LXWmK/ZowSzvvLuZhAf66pqH9D7MOniUvkjXnlkA/KIKIEri2w2stBbiGA5Vxe4/D+TUKw7PACMsbIiuNNPcvSLLmxKnm7Z91cDP3IwopH9wLghaizdu3fl2xrxuQmQzbAmKYROOL43dxs/OW6bs2OU03CyS8x+ZafYYskz7dFBMwfM/8NMUGX8zpFEfAX+EWpLm8+xqU+wGx5VUwhXka8NZDVny9rgR0rCkMF5XzA/3PppMPzf9LSKlvP4T4jc6lVCE5FDOsE8/6V0o9Gn4D+YJg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass header.d=amd.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=QrzghnQex6y/aAoygfinT8DNypJ6ukKe3ph/HqJagsM=; b=3i8d/olVqlv3YHLC4Mc7I15L4zHMCGcC1yp3THy8UijibAJTmovm+kqe1WhwemR/FgoNXa2T39IL/UZVoMcK8P1LU3LPlQJPr5Yqy1NLbnTdvSduzct8sEJ6AQL/gd+80rWxs7ik05GKSkDUTvtwidlIico8Y5MBxsKA2U7fFU4= Received: from DM6PR12MB4371.namprd12.prod.outlook.com (2603:10b6:5:2a3::23) by DM6PR12MB4763.namprd12.prod.outlook.com (2603:10b6:5:36::31) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4020.20; Fri, 16 Apr 2021 03:18:57 +0000 Received: from DM6PR12MB4371.namprd12.prod.outlook.com ([fe80::3928:717f:6399:75bc]) by DM6PR12MB4371.namprd12.prod.outlook.com ([fe80::3928:717f:6399:75bc%2]) with mapi id 15.20.4042.019; Fri, 16 Apr 2021 03:18:57 +0000 From: "Zhou, Peng Ju" To: "Kuehling, Felix" , "amd-gfx@lists.freedesktop.org" Subject: RE: [PATCH 1/8] drm/amdgpu: change MMHUB register access from MMIO to RLCG Thread-Topic: [PATCH 1/8] drm/amdgpu: change MMHUB register access from MMIO to RLCG Thread-Index: AQHXLGENPpbOoYibIEODf/XxvNaoPaqqtmiAgADSyRCACathUIAAj/4AgADAxzA= Date: Fri, 16 Apr 2021 03:18:57 +0000 Message-ID: References: <20210408102205.911-1-PengJu.Zhou@amd.com> <074f9425-799e-e60c-0022-08743f18c229@amd.com> <933500da-c0bd-5ac5-5de2-dd0676df9269@amd.com> In-Reply-To: <933500da-c0bd-5ac5-5de2-dd0676df9269@amd.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: msip_labels: MSIP_Label_76546daa-41b6-470c-bb85-f6f40f044d7f_Enabled=true; MSIP_Label_76546daa-41b6-470c-bb85-f6f40f044d7f_SetDate=2021-04-16T03:18:38Z; MSIP_Label_76546daa-41b6-470c-bb85-f6f40f044d7f_Method=Standard; MSIP_Label_76546daa-41b6-470c-bb85-f6f40f044d7f_Name=Internal Use Only - Unrestricted; MSIP_Label_76546daa-41b6-470c-bb85-f6f40f044d7f_SiteId=3dd8961f-e488-4e60-8e11-a82d994e183d; MSIP_Label_76546daa-41b6-470c-bb85-f6f40f044d7f_ActionId=4451fd31-ea5e-40df-bfd3-81d433efc7c7; MSIP_Label_76546daa-41b6-470c-bb85-f6f40f044d7f_ContentBits=1 msip_justification: drm-next upstream authentication-results: amd.com; dkim=none (message not signed) header.d=none;amd.com; dmarc=none action=none header.from=amd.com; x-originating-ip: [180.167.199.189] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 886fecd1-3562-423b-0d21-08d900865f56 x-ms-traffictypediagnostic: DM6PR12MB4763: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:6430; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: Q7d2jb7Usa0dQq4Lc+CM4/iNVwrWBZ7NqizEoiuYGNpDRJZ0WqIyVxUd27x4FE4CS9j77PGto5VrBf6s70iF1Yz9VI3CAh51TC/HHhxhcZ1jJ9XFaVMyB7oBy+/6QLd3GrbiiY5H2K7G3JgDCvrSSNS9f5EuvvH2/aDetAhw8rFWBZcjxhvNW+Abzf1ptSeHw4PYI4ZibA+51+DTH0AYFdfycOIMB9kod8NHCTIwEsmh1K/w8EdmxahmFmLmfTmAUAHWeC+vlg66mH/1ZPsr8nFcACUaYsAMkyrWxkm3SUY/qM9/TZZB73ttqmZPiX5+Q5ygIZHK92Uoiz3LtEaSpjO8R2JZqoM57bT3bTAvV7bvKnMpS4OUEgheXZxkhhgcCIucSAhAQfF7tMs3ZDstGNr4ae3XvjCtP+Nyy58JDlY9BqEh4DWQNmf+KXpT2gqWUBypeQIeYKsKzqgyr/k7g6z5klJp0kxlhDf3jWd67nI+XJmbpJj8M0/dkDNJQ5ncibS55TcSy9G0GqftURBJTFE7cIk7v1eooaGau3EuMAQulmbVzbQIHrjylQJI1JRE3MeMSKE0pmRqYpj+Qx5a52mmLxuJbhtnTJJb1ZE20L4= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM6PR12MB4371.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(396003)(136003)(39860400002)(376002)(346002)(366004)(110136005)(316002)(83380400001)(5660300002)(64756008)(76116006)(66556008)(33656002)(186003)(478600001)(122000001)(66446008)(8676002)(6506007)(71200400001)(86362001)(53546011)(8936002)(55016002)(66946007)(52536014)(7696005)(19627235002)(9686003)(26005)(38100700002)(66476007)(2906002); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata: =?utf-8?B?elVIU1l2eDZtYy9vQTlEbUdaYjhQeFlXdDJNZGFtU1lYMVMzOXpScDJzTWYx?= =?utf-8?B?WHRiV1E0QWlsU3hrZHVEaEZHMUIzbG43RmhBSE4xdGxSd2tVTWV6QWZFRUky?= =?utf-8?B?Sk4ra2ZTUG1adGFHWEloaHpuVTBuWkxveXJ6b2J1ZE5DM05ha2Y2L3djbVdG?= =?utf-8?B?UFFxV0F0KzI5aHZpOFpEeWFHQnA5NS9qR3hNV2RDVG1TTlVQcXJlOCsxODUx?= =?utf-8?B?L3hXUCszTENuUXpzNmRIbGoweEROSjFGVGh2NGR1Y0EyMy91TFhMK1VZeDVs?= =?utf-8?B?UFpLTjh1QlQ1b3l3TGVjRE5RSWxMYjZzMnpXWTdlakJleEVxd0lFS216cGFh?= =?utf-8?B?SGFUdk9aaFM1Y2JBYkxxUCtET3RkdG4vQlpoOVIvL0FETkYrakVIL1UrYlpw?= =?utf-8?B?Y3gxSTFaRWhiaGZ4dk1kSTFjNGRJZXFOcVk1V0FHT2V2WW8zWG9Rd2xpZlBP?= =?utf-8?B?eHJqZHQ3eFd1T0YxRGRWNTYzUTlNSGZJWC9GdkpSa1c1dzkyNTVaM2huUmxC?= =?utf-8?B?RWV2ZHgxRSs5Rng3dmdJRHRmZ2dhVjRUblBjTktaR3A3SzBUUVRSajB4ZHpp?= =?utf-8?B?YU1OWGp1elBna0lJYTZCbHVwbHZYK1RKUW9jcW81OGJ6Q3dDb05yTXhIVTg3?= =?utf-8?B?U0F5YVdKUU9qdXpxaWVnTHBIc2NzMzlOZ0U2S2t4Q1dBem4zMEJOMEdteFpW?= =?utf-8?B?UFZXVzdBWHBmcWJHWHJ6ZGpDZ3JmY3B4UjE0WHdXTTNkYnFqRUNlMyt4elZ3?= =?utf-8?B?TFEvTFVyNE9jeCtZVDNJT2Y5QmFCa1hwQ0J1Qzc4Z0xjcTJaYzNRbFZQVzBh?= =?utf-8?B?Mkt2TmNlMmhueEh4Mjl4a1dXSnVsc1Z5QVJxVXFTT3RndTFiOVpxN0pHcUdR?= =?utf-8?B?dVhDQTRwQkQ5S0xPbWR3SUtNYWp2aDJpQjZYbEhPakJRbWpmNDJwT2RoRjhF?= =?utf-8?B?ZUszam9CUGM1ZktPelI4QWtSa3FyMXBRbE5zSFpQdGhTY3JUWnBnQ2c5RXhx?= =?utf-8?B?U0tOa0NOc3ByOTV5KzE0MHNjcTNZcG1tMlZzQ3VVQmNNYmU3bmF0SVJKSi93?= =?utf-8?B?c0xxUSt2L1E4WjFBMjg5K2ExdmErZGxyTERPaGFxSi9jWmtNdFhzVnB1SEdP?= =?utf-8?B?RGY3RnpKY0E4WFhOUlhEV0w0cVpRR29menFYVWtzRmpIdkR5QWVmMisyM0Np?= =?utf-8?B?WHBacEFoSU02czcvRy9qV3NXTjY3L09pRFFSUXA3Y0xBTzBWVXhzb2g1eFNs?= =?utf-8?B?MXYvR1gyTi9JRWxMSmFndUJObHVzS09ka1dZcUVaK3JIRytxY29SeFk4cHoz?= =?utf-8?B?T2xUM001QUwyTnF4clpuNkVLYUNDKytmL0xOODYwa05DY2NSR1lNT0tJekZ1?= =?utf-8?B?bTgrdGhnbXlJS2N0L1RmazV3ZzU0NHJoZVFCR0JiNzBwNHJnd3hYTytPV2dw?= =?utf-8?B?Z3E3N1dzQkZxTVFGQ2FrdlNFUUc1RjhqcGVGK25wV2VBVWJHNnk5dUNrNG9F?= =?utf-8?B?b1pFa2haaEpYY2I0N0x5UzZRQlgrM0FURzZwbmhEWGxRSDFBakFCZm1OQitN?= =?utf-8?B?ZDEvOEE0TmZQcEoxSjlmUHVNaHg3MGJ5NTFiQmJPUGpRZ3NsVFc1L3U3ZGJq?= =?utf-8?B?UlJaQm5zL2RldW9QREpoZC91UUxYQzRxZ1NHUS92djZwcStvYWlEbWlqWFFu?= =?utf-8?B?T0RCdUFQZHhkVFhLOVhFeUwxbUprTGVnSFRYblVNdUVTV2JsVG54RUg0NlE1?= =?utf-8?Q?mNXi1QzX66vI7v1B9WiNZPwOxrvON35yRIp07/r?= MIME-Version: 1.0 X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM6PR12MB4371.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 886fecd1-3562-423b-0d21-08d900865f56 X-MS-Exchange-CrossTenant-originalarrivaltime: 16 Apr 2021 03:18:57.3493 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: mg1+L29QVPUIgzTA9uwLj3hYbJY6zsjDQfrZhwDwWVPv7lknHrcrlIZeXqn0uiUyBpzCXouRXz2IpV1MiXE+IQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR12MB4763 X-BeenThere: amd-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Discussion list for AMD gfx List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: amd-gfx-bounces@lists.freedesktop.org Sender: "amd-gfx" W0FNRCBPZmZpY2lhbCBVc2UgT25seSAtIEludGVybmFsIERpc3RyaWJ1dGlvbiBPbmx5XQ0KDQpI aSBGZWxpeA0KQXMgd2UgZGlzY3Vzc2VkIGluIHRoZSBtZWV0aW5nLCBkbyB5b3UgaGF2ZSBhbnkg b3RoZXIgcXVlc3Rpb25zPw0KDQoNCg0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSANCkJXDQpQZW5nanUgWmhvdQ0K DQoNCg0KLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCkZyb206IEt1ZWhsaW5nLCBGZWxpeCA8 RmVsaXguS3VlaGxpbmdAYW1kLmNvbT4gDQpTZW50OiBUaHVyc2RheSwgQXByaWwgMTUsIDIwMjEg MTE6NDggUE0NClRvOiBaaG91LCBQZW5nIEp1IDxQZW5nSnUuWmhvdUBhbWQuY29tPjsgYW1kLWdm eEBsaXN0cy5mcmVlZGVza3RvcC5vcmcNClN1YmplY3Q6IFJlOiBbUEFUQ0ggMS84XSBkcm0vYW1k Z3B1OiBjaGFuZ2UgTU1IVUIgcmVnaXN0ZXIgYWNjZXNzIGZyb20gTU1JTyB0byBSTENHDQoNCkFt IDIwMjEtMDQtMTUgdW0gMzoyNSBhLm0uIHNjaHJpZWIgWmhvdSwgUGVuZyBKdToNCj4gW0FNRCBP ZmZpY2lhbCBVc2UgT25seSAtIEludGVybmFsIERpc3RyaWJ1dGlvbiBPbmx5XQ0KPg0KPiBIaSBG ZWxpeA0KPiBUaGFua3MgZm9yIHlvdXIgcHJvcG9zYWwgYWJvdXQgIiBHaXZlbiB0aGUgbnVtYmVy IG9mIGNhbGwtc2l0ZXMgYmVpbmcgbW9kaWZpZWQgaW4gdGhpcyBwYXRjaCBzZXJpZXMiDQo+IFdl IGRpc2N1c3NlZCBpbnRlcm5hbGx5LCBhbmQgaGF2ZSBmb2xsb3dpbmcgY29uY2VybjoNCj4gCTEu IGV4cG9zZSBvdXIgcmFuZ2VzIHRvIG9wZW5zb3VyY2UuDQoNClNvbWVvbmUgbW9kaWZ5aW5nIG91 ciBjb2RlIHdpbGwgbmVlZCB0byBrbm93IHdoaWNoIHJlZ2lzdGVyIGFjY2VzcyBtYWNybyB0byB1 c2UuIFNvIHRoaXMgaW5mb3JtYXRpb24gbmVlZHMgdG8gYmUgYXZhaWxhYmxlIGluIHNvbWUgZm9y bS4gSWYgeW91IHRyeSB0byBoaWRlIGl0LCBwZW9wbGUgd2lsbCBicmVhayBzdHVmZiBieSB1c2lu ZyB0aGUgd3JvbmcgcmVnaXN0ZXIgYWNjZXNzIG1hY3JvLiBJZiB0aGUgaW5mb3JtYXRpb24gaXMg bm90IGVhc2lseSBhdmFpbGFibGUsIGV2ZW4gQU1EIGVuZ2luZWVycyB3aWxsIGJyZWFrIHRoaXMu DQoNCg0KPiAJMi4gbG9zdCB0aGUgb3J0aG9nb25hbGl0eSBpbiBvdXIgc29mdHdhcmUgc3RhY2su DQoNCkNhbiB5b3UgZWxhYm9yYXRlIHdoYXQgeW91IG1lYW4gYnkgIm9ydGhvZ29uYWxpdHkiPw0K DQpUaGFua3MsDQrCoCBGZWxpeA0KDQoNCj4gU28gd2Ugd2FudCB0byBrZWVwIG91ciBvcmlnaW5h bCB3b3JrYXJvdW5kLg0KPg0KPiBEbyB5b3UgYWdyZWU/DQo+DQo+DQo+IC0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0N Cj4gQlcNCj4gUGVuZ2p1IFpob3UNCj4NCj4NCj4NCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0t LS0NCj4gRnJvbTogWmhvdSwgUGVuZyBKdQ0KPiBTZW50OiBGcmlkYXksIEFwcmlsIDksIDIwMjEg MTE6MzYgQU0NCj4gVG86IEt1ZWhsaW5nLCBGZWxpeCA8RmVsaXguS3VlaGxpbmdAYW1kLmNvbT47 IA0KPiBhbWQtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZw0KPiBTdWJqZWN0OiBSRTogW1BBVENI IDEvOF0gZHJtL2FtZGdwdTogY2hhbmdlIE1NSFVCIHJlZ2lzdGVyIGFjY2VzcyBmcm9tIA0KPiBN TUlPIHRvIFJMQ0cNCj4NCj4gW0FNRCBPZmZpY2lhbCBVc2UgT25seSAtIEludGVybmFsIERpc3Ry aWJ1dGlvbiBPbmx5XQ0KPg0KPiBIaSBGZWxpeA0KPiBUaGF0IGlzIGEgZ3JlYXQgaWRlYSwgSSB3 aWxsIHRyeSBpdC4NCj4NCj4NCj4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPiBCVw0KPiBQZW5nanUgWmhvdQ0K Pg0KPg0KPg0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBLdWVobGluZywg RmVsaXggPEZlbGl4Lkt1ZWhsaW5nQGFtZC5jb20+DQo+IFNlbnQ6IFRodXJzZGF5LCBBcHJpbCA4 LCAyMDIxIDEwOjU4IFBNDQo+IFRvOiBaaG91LCBQZW5nIEp1IDxQZW5nSnUuWmhvdUBhbWQuY29t PjsgYW1kLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcNCj4gU3ViamVjdDogUmU6IFtQQVRDSCAx LzhdIGRybS9hbWRncHU6IGNoYW5nZSBNTUhVQiByZWdpc3RlciBhY2Nlc3MgZnJvbSANCj4gTU1J TyB0byBSTENHDQo+DQo+IEdpdmVuIHRoZSBudW1iZXIgb2YgY2FsbC1zaXRlcyBiZWluZyBtb2Rp ZmllZCBpbiB0aGlzIHBhdGNoIHNlcmllcywgd291bGQgaXQgYmUgZWFzaWVyIChhbmQgbW9yZSBt YWludGFpbmFibGUpIHRvIGNoYW5nZSB0aGUgYmVoYXZpb3VyIG9yIHRoZSByZWd1bGFyIHJlZ2lz dGVyIG1hY3JvcyBhbmQgYWRkIE5PX1JMQyB2ZXJzaW9ucyBmb3IgdGhlIGV4Y2VwdGlvbnMsIHNp bWlsYXIgdG8gTk9fS0lRPw0KPg0KPiBSZWdhcmRzLA0KPiDCoCBGZWxpeA0KPg0KPiBBbSAyMDIx LTA0LTA4IHVtIDY6MjEgYS5tLiBzY2hyaWViIFBlbmcgSnUgWmhvdToNCj4+IEZyb206IHBlbmd6 aG91IDxQZW5nSnUuWmhvdUBhbWQuY29tPg0KPj4NCj4+IEluIFNSSU9WIGVudmlyb25tZW50LCBL TUQgc2hvdWxkIGFjY2VzcyBNTUhVQiByZWdpc3RlcnMgd2l0aCBSTENHIGlmIA0KPj4gTU1IVUIg aW5kaXJlY3QgYWNjZXNzIGJpdCBlbmFibGVkLg0KPj4NCj4+IENoYW5nZSBNTUhVQiByZWdpc3Rl ciBhY2Nlc3MgZnJvbSBNTUlPIHRvIFJMQ0cuDQo+Pg0KPj4gU2lnbmVkLW9mZi1ieTogcGVuZ3po b3UgPFBlbmdKdS5aaG91QGFtZC5jb20+DQo+PiAtLS0NCj4+ICBkcml2ZXJzL2dwdS9kcm0vYW1k L2FtZGdwdS9nbWNfdjEwXzAuYyAgfCAxMiArKysrKystLSANCj4+IGRyaXZlcnMvZ3B1L2RybS9h bWQvYW1kZ3B1L21taHViX3YyXzAuYyB8IDM5IA0KPj4gKysrKysrKysrKysrKy0tLS0tLS0tLS0t LQ0KPj4gIDIgZmlsZXMgY2hhbmdlZCwgMjkgaW5zZXJ0aW9ucygrKSwgMjIgZGVsZXRpb25zKC0p DQo+Pg0KPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2dtY192MTBf MC5jDQo+PiBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2dtY192MTBfMC5jDQo+PiBpbmRl eCAyYmZkNjIwNTc2ZjIuLjQyODE4YzQwZDA4YyAxMDA2NDQNCj4+IC0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9hbWQvYW1kZ3B1L2dtY192MTBfMC5jDQo+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1k L2FtZGdwdS9nbWNfdjEwXzAuYw0KPj4gQEAgLTM4LDYgKzM4LDcgQEANCj4+ICAjaW5jbHVkZSAi c29jMTUuaCINCj4+ICAjaW5jbHVkZSAic29jMTVkLmgiDQo+PiAgI2luY2x1ZGUgInNvYzE1X2Nv bW1vbi5oIg0KPj4gKyNpbmNsdWRlICJnYy9nY18xMF8xXzBfb2Zmc2V0LmgiDQo+PiAgDQo+PiAg I2luY2x1ZGUgIm5iaW9fdjJfMy5oIg0KPj4gIA0KPj4gQEAgLTI1Myw3ICsyNTQsMTAgQEAgc3Rh dGljIHZvaWQgZ21jX3YxMF8wX2ZsdXNoX3ZtX2h1YihzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRl diwgdWludDMyX3Qgdm1pZCwNCj4+ICAJCQlEUk1fRVJST1IoIlRpbWVvdXQgd2FpdGluZyBmb3Ig c2VtIGFjcXVpcmUgaW4gVk0gZmx1c2ghXG4iKTsNCj4+ICAJfQ0KPj4gIA0KPj4gLQlXUkVHMzJf Tk9fS0lRKGh1Yi0+dm1faW52X2VuZzBfcmVxICsgaHViLT5lbmdfZGlzdGFuY2UgKiBlbmcsIGlu dl9yZXEpOw0KPj4gKwlpZiAodm1odWIgPT0gQU1ER1BVX01NSFVCXzApDQo+PiArCQlXUkVHMzJf UkxDX05PX0tJUSgoaHViLT52bV9pbnZfZW5nMF9yZXEgKyBlbmcpLCBpbnZfcmVxKTsNCj4+ICsJ ZWxzZQ0KPj4gKwkJV1JFRzMyX05PX0tJUShodWItPnZtX2ludl9lbmcwX3JlcSArIGVuZywgaW52 X3JlcSk7DQo+PiAgDQo+PiAgCS8qDQo+PiAgCSAqIElzc3VlIGEgZHVtbXkgcmVhZCB0byB3YWl0 IGZvciB0aGUgQUNLIHJlZ2lzdGVyIHRvIGJlIGNsZWFyZWQgQEANCj4+IC0yODAsOCArMjg0LDEw IEBAIHN0YXRpYyB2b2lkIGdtY192MTBfMF9mbHVzaF92bV9odWIoc3RydWN0IGFtZGdwdV9kZXZp Y2UgKmFkZXYsIHVpbnQzMl90IHZtaWQsDQo+PiAgCQkgKiBhZGQgc2VtYXBob3JlIHJlbGVhc2Ug YWZ0ZXIgaW52YWxpZGF0aW9uLA0KPj4gIAkJICogd3JpdGUgd2l0aCAwIG1lYW5zIHNlbWFwaG9y ZSByZWxlYXNlDQo+PiAgCQkgKi8NCj4+IC0JCVdSRUczMl9OT19LSVEoaHViLT52bV9pbnZfZW5n MF9zZW0gKw0KPj4gLQkJCSAgICAgIGh1Yi0+ZW5nX2Rpc3RhbmNlICogZW5nLCAwKTsNCj4+ICsJ CWlmICh2bWh1YiA9PSBBTURHUFVfTU1IVUJfMCkNCj4+ICsJCQlXUkVHMzJfUkxDX05PX0tJUSho dWItPnZtX2ludl9lbmcwX3NlbSArIGVuZywgMCk7DQo+PiArCQllbHNlDQo+PiArCQkJV1JFRzMy X05PX0tJUShodWItPnZtX2ludl9lbmcwX3NlbSArIGVuZywgMCk7DQo+PiAgDQo+PiAgCXNwaW5f dW5sb2NrKCZhZGV2LT5nbWMuaW52YWxpZGF0ZV9sb2NrKTsNCj4+ICANCj4+IGRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9tbWh1Yl92Ml8wLmMNCj4+IGIvZHJpdmVycy9n cHUvZHJtL2FtZC9hbWRncHUvbW1odWJfdjJfMC5jDQo+PiBpbmRleCBkYTdlZGQxZWQ2YjIuLmU4 ZWNkZjM4MzE5MiAxMDA2NDQNCj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L21t aHViX3YyXzAuYw0KPj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvbW1odWJfdjJf MC5jDQo+PiBAQCAtMjksNiArMjksNyBAQA0KPj4gICNpbmNsdWRlICJtbWh1Yi9tbWh1Yl8yXzBf MF9kZWZhdWx0LmgiDQo+PiAgI2luY2x1ZGUgIm5hdmkxMF9lbnVtLmgiDQo+PiAgDQo+PiArI2lu Y2x1ZGUgImdjL2djXzEwXzFfMF9vZmZzZXQuaCINCj4+ICAjaW5jbHVkZSAic29jMTVfY29tbW9u LmgiDQo+PiAgDQo+PiAgI2RlZmluZSBtbU1NX0FUQ19MMl9NSVNDX0NHX1NpZW5uYV9DaWNobGlk ICAgICAgICAgICAgICAgICAgICAgIDB4MDY0ZA0KPj4gQEAgLTE2NSwxMSArMTY2LDExIEBAIHN0 YXRpYyB2b2lkIG1taHViX3YyXzBfc2V0dXBfdm1fcHRfcmVncyhzdHJ1Y3QNCj4+IGFtZGdwdV9k ZXZpY2UgKmFkZXYsIHVpbnQzMl90IHZtaSAgew0KPj4gIAlzdHJ1Y3QgYW1kZ3B1X3ZtaHViICpo dWIgPSAmYWRldi0+dm1odWJbQU1ER1BVX01NSFVCXzBdOw0KPj4gIA0KPj4gLQlXUkVHMzJfU09D MTVfT0ZGU0VUKE1NSFVCLCAwLCBtbU1NVk1fQ09OVEVYVDBfUEFHRV9UQUJMRV9CQVNFX0FERFJf TE8zMiwNCj4+ICsJV1JFRzMyX1NPQzE1X09GRlNFVF9STEMoTU1IVUIsIDAsDQo+PiArbW1NTVZN X0NPTlRFWFQwX1BBR0VfVEFCTEVfQkFTRV9BRERSX0xPMzIsDQo+PiAgCQkJICAgIGh1Yi0+Y3R4 X2FkZHJfZGlzdGFuY2UgKiB2bWlkLA0KPj4gIAkJCSAgICBsb3dlcl8zMl9iaXRzKHBhZ2VfdGFi bGVfYmFzZSkpOw0KPj4gIA0KPj4gLQlXUkVHMzJfU09DMTVfT0ZGU0VUKE1NSFVCLCAwLCBtbU1N Vk1fQ09OVEVYVDBfUEFHRV9UQUJMRV9CQVNFX0FERFJfSEkzMiwNCj4+ICsJV1JFRzMyX1NPQzE1 X09GRlNFVF9STEMoTU1IVUIsIDAsDQo+PiArbW1NTVZNX0NPTlRFWFQwX1BBR0VfVEFCTEVfQkFT RV9BRERSX0hJMzIsDQo+PiAgCQkJICAgIGh1Yi0+Y3R4X2FkZHJfZGlzdGFuY2UgKiB2bWlkLA0K Pj4gIAkJCSAgICB1cHBlcl8zMl9iaXRzKHBhZ2VfdGFibGVfYmFzZSkpOyAgfSBAQCAtMTgwLDE0 ICsxODEsMTQgQEAgDQo+PiBzdGF0aWMgdm9pZCBtbWh1Yl92Ml8wX2luaXRfZ2FydF9hcGVydHVy ZV9yZWdzKHN0cnVjdCBhbWRncHVfZGV2aWNlDQo+PiAqYWRldikNCj4+ICANCj4+ICAJbW1odWJf djJfMF9zZXR1cF92bV9wdF9yZWdzKGFkZXYsIDAsIHB0X2Jhc2UpOw0KPj4gIA0KPj4gLQlXUkVH MzJfU09DMTUoTU1IVUIsIDAsIG1tTU1WTV9DT05URVhUMF9QQUdFX1RBQkxFX1NUQVJUX0FERFJf TE8zMiwNCj4+ICsJV1JFRzMyX1NPQzE1X1JMQyhNTUhVQiwgMCwNCj4+ICttbU1NVk1fQ09OVEVY VDBfUEFHRV9UQUJMRV9TVEFSVF9BRERSX0xPMzIsDQo+PiAgCQkgICAgICh1MzIpKGFkZXYtPmdt Yy5nYXJ0X3N0YXJ0ID4+IDEyKSk7DQo+PiAtCVdSRUczMl9TT0MxNShNTUhVQiwgMCwgbW1NTVZN X0NPTlRFWFQwX1BBR0VfVEFCTEVfU1RBUlRfQUREUl9ISTMyLA0KPj4gKwlXUkVHMzJfU09DMTVf UkxDKE1NSFVCLCAwLA0KPj4gK21tTU1WTV9DT05URVhUMF9QQUdFX1RBQkxFX1NUQVJUX0FERFJf SEkzMiwNCj4+ICAJCSAgICAgKHUzMikoYWRldi0+Z21jLmdhcnRfc3RhcnQgPj4gNDQpKTsNCj4+ ICANCj4+IC0JV1JFRzMyX1NPQzE1KE1NSFVCLCAwLCBtbU1NVk1fQ09OVEVYVDBfUEFHRV9UQUJM RV9FTkRfQUREUl9MTzMyLA0KPj4gKwlXUkVHMzJfU09DMTVfUkxDKE1NSFVCLCAwLCANCj4+ICtt bU1NVk1fQ09OVEVYVDBfUEFHRV9UQUJMRV9FTkRfQUREUl9MTzMyLA0KPj4gIAkJICAgICAodTMy KShhZGV2LT5nbWMuZ2FydF9lbmQgPj4gMTIpKTsNCj4+IC0JV1JFRzMyX1NPQzE1KE1NSFVCLCAw LCBtbU1NVk1fQ09OVEVYVDBfUEFHRV9UQUJMRV9FTkRfQUREUl9ISTMyLA0KPj4gKwlXUkVHMzJf U09DMTVfUkxDKE1NSFVCLCAwLCANCj4+ICttbU1NVk1fQ09OVEVYVDBfUEFHRV9UQUJMRV9FTkRf QUREUl9ISTMyLA0KPj4gIAkJICAgICAodTMyKShhZGV2LT5nbWMuZ2FydF9lbmQgPj4gNDQpKTsg IH0NCj4+ICANCj4+IEBAIC0xOTcsOSArMTk4LDkgQEAgc3RhdGljIHZvaWQgbW1odWJfdjJfMF9p bml0X3N5c3RlbV9hcGVydHVyZV9yZWdzKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2KQ0KPj4g IAl1aW50MzJfdCB0bXA7DQo+PiAgDQo+PiAgCS8qIFByb2dyYW0gdGhlIEFHUCBCQVIgKi8NCj4+ IC0JV1JFRzMyX1NPQzE1KE1NSFVCLCAwLCBtbU1NTUNfVk1fQUdQX0JBU0UsIDApOw0KPj4gLQlX UkVHMzJfU09DMTUoTU1IVUIsIDAsIG1tTU1NQ19WTV9BR1BfQk9ULCBhZGV2LT5nbWMuYWdwX3N0 YXJ0ID4+IDI0KTsNCj4+IC0JV1JFRzMyX1NPQzE1KE1NSFVCLCAwLCBtbU1NTUNfVk1fQUdQX1RP UCwgYWRldi0+Z21jLmFncF9lbmQgPj4gMjQpOw0KPj4gKwlXUkVHMzJfU09DMTVfUkxDKE1NSFVC LCAwLCBtbU1NTUNfVk1fQUdQX0JBU0UsIDApOw0KPj4gKwlXUkVHMzJfU09DMTVfUkxDKE1NSFVC LCAwLCBtbU1NTUNfVk1fQUdQX0JPVCwgYWRldi0+Z21jLmFncF9zdGFydCA+PiAyNCk7DQo+PiAr CVdSRUczMl9TT0MxNV9STEMoTU1IVUIsIDAsIG1tTU1NQ19WTV9BR1BfVE9QLCBhZGV2LT5nbWMu YWdwX2VuZCA+PiANCj4+ICsyNCk7DQo+PiAgDQo+PiAgCWlmICghYW1kZ3B1X3NyaW92X3ZmKGFk ZXYpKSB7DQo+PiAgCQkvKiBQcm9ncmFtIHRoZSBzeXN0ZW0gYXBlcnR1cmUgbG93IGxvZ2ljYWwg cGFnZSBudW1iZXIuICovIEBADQo+PiAtMzA0LDEyICszMDUsMTIgQEAgc3RhdGljIHZvaWQgbW1o dWJfdjJfMF9lbmFibGVfc3lzdGVtX2RvbWFpbihzdHJ1Y3QNCj4+IGFtZGdwdV9kZXZpY2UgKmFk ZXYpICB7DQo+PiAgCXVpbnQzMl90IHRtcDsNCj4+ICANCj4+IC0JdG1wID0gUlJFRzMyX1NPQzE1 KE1NSFVCLCAwLCBtbU1NVk1fQ09OVEVYVDBfQ05UTCk7DQo+PiArCXRtcCA9IFJSRUczMl9TT0Mx NV9STEMoTU1IVUIsIDAsIG1tTU1WTV9DT05URVhUMF9DTlRMKTsNCj4+ICAJdG1wID0gUkVHX1NF VF9GSUVMRCh0bXAsIE1NVk1fQ09OVEVYVDBfQ05UTCwgRU5BQkxFX0NPTlRFWFQsIDEpOw0KPj4g IAl0bXAgPSBSRUdfU0VUX0ZJRUxEKHRtcCwgTU1WTV9DT05URVhUMF9DTlRMLCBQQUdFX1RBQkxF X0RFUFRILCAwKTsNCj4+ICAJdG1wID0gUkVHX1NFVF9GSUVMRCh0bXAsIE1NVk1fQ09OVEVYVDBf Q05UTCwNCj4+ICAJCQkgICAgUkVUUllfUEVSTUlTU0lPTl9PUl9JTlZBTElEX1BBR0VfRkFVTFQs IDApOw0KPj4gLQlXUkVHMzJfU09DMTUoTU1IVUIsIDAsIG1tTU1WTV9DT05URVhUMF9DTlRMLCB0 bXApOw0KPj4gKwlXUkVHMzJfU09DMTVfUkxDKE1NSFVCLCAwLCBtbU1NVk1fQ09OVEVYVDBfQ05U TCwgdG1wKTsNCj4+ICB9DQo+PiAgDQo+PiAgc3RhdGljIHZvaWQgbW1odWJfdjJfMF9kaXNhYmxl X2lkZW50aXR5X2FwZXJ0dXJlKHN0cnVjdCANCj4+IGFtZGdwdV9kZXZpY2UNCj4+ICphZGV2KSBA QCAtMzcxLDE2ICszNzIsMTYgQEAgc3RhdGljIHZvaWQgbW1odWJfdjJfMF9zZXR1cF92bWlkX2Nv bmZpZyhzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldikNCj4+ICAJCXRtcCA9IFJFR19TRVRfRklF TEQodG1wLCBNTVZNX0NPTlRFWFQxX0NOVEwsDQo+PiAgCQkJCSAgICBSRVRSWV9QRVJNSVNTSU9O X09SX0lOVkFMSURfUEFHRV9GQVVMVCwNCj4+ICAJCQkJICAgICFhZGV2LT5nbWMubm9yZXRyeSk7 DQo+PiAtCQlXUkVHMzJfU09DMTVfT0ZGU0VUKE1NSFVCLCAwLCBtbU1NVk1fQ09OVEVYVDFfQ05U TCwNCj4+ICsJCVdSRUczMl9TT0MxNV9PRkZTRVRfUkxDKE1NSFVCLCAwLCBtbU1NVk1fQ09OVEVY VDFfQ05UTCwNCj4+ICAJCQkJICAgIGkgKiBodWItPmN0eF9kaXN0YW5jZSwgdG1wKTsNCj4+IC0J CVdSRUczMl9TT0MxNV9PRkZTRVQoTU1IVUIsIDAsIG1tTU1WTV9DT05URVhUMV9QQUdFX1RBQkxF X1NUQVJUX0FERFJfTE8zMiwNCj4+ICsJCVdSRUczMl9TT0MxNV9PRkZTRVRfUkxDKE1NSFVCLCAw LCANCj4+ICttbU1NVk1fQ09OVEVYVDFfUEFHRV9UQUJMRV9TVEFSVF9BRERSX0xPMzIsDQo+PiAg CQkJCSAgICBpICogaHViLT5jdHhfYWRkcl9kaXN0YW5jZSwgMCk7DQo+PiAtCQlXUkVHMzJfU09D MTVfT0ZGU0VUKE1NSFVCLCAwLCBtbU1NVk1fQ09OVEVYVDFfUEFHRV9UQUJMRV9TVEFSVF9BRERS X0hJMzIsDQo+PiArCQlXUkVHMzJfU09DMTVfT0ZGU0VUX1JMQyhNTUhVQiwgMCwgDQo+PiArbW1N TVZNX0NPTlRFWFQxX1BBR0VfVEFCTEVfU1RBUlRfQUREUl9ISTMyLA0KPj4gIAkJCQkgICAgaSAq IGh1Yi0+Y3R4X2FkZHJfZGlzdGFuY2UsIDApOw0KPj4gLQkJV1JFRzMyX1NPQzE1X09GRlNFVChN TUhVQiwgMCwgbW1NTVZNX0NPTlRFWFQxX1BBR0VfVEFCTEVfRU5EX0FERFJfTE8zMiwNCj4+ICsJ CVdSRUczMl9TT0MxNV9PRkZTRVRfUkxDKE1NSFVCLCAwLCANCj4+ICttbU1NVk1fQ09OVEVYVDFf UEFHRV9UQUJMRV9FTkRfQUREUl9MTzMyLA0KPj4gIAkJCQkgICAgaSAqIGh1Yi0+Y3R4X2FkZHJf ZGlzdGFuY2UsDQo+PiAgCQkJCSAgICBsb3dlcl8zMl9iaXRzKGFkZXYtPnZtX21hbmFnZXIubWF4 X3BmbiAtIDEpKTsNCj4+IC0JCVdSRUczMl9TT0MxNV9PRkZTRVQoTU1IVUIsIDAsIG1tTU1WTV9D T05URVhUMV9QQUdFX1RBQkxFX0VORF9BRERSX0hJMzIsDQo+PiArCQlXUkVHMzJfU09DMTVfT0ZG U0VUX1JMQyhNTUhVQiwgMCwgDQo+PiArbW1NTVZNX0NPTlRFWFQxX1BBR0VfVEFCTEVfRU5EX0FE RFJfSEkzMiwNCj4+ICAJCQkJICAgIGkgKiBodWItPmN0eF9hZGRyX2Rpc3RhbmNlLA0KPj4gIAkJ CQkgICAgdXBwZXJfMzJfYml0cyhhZGV2LT52bV9tYW5hZ2VyLm1heF9wZm4gLSAxKSk7DQo+PiAg CX0NCj4+IEBAIC0zOTIsOSArMzkzLDkgQEAgc3RhdGljIHZvaWQgbW1odWJfdjJfMF9wcm9ncmFt X2ludmFsaWRhdGlvbihzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldikNCj4+ICAJdW5zaWduZWQg aTsNCj4+ICANCj4+ICAJZm9yIChpID0gMDsgaSA8IDE4OyArK2kpIHsNCj4+IC0JCVdSRUczMl9T T0MxNV9PRkZTRVQoTU1IVUIsIDAsIG1tTU1WTV9JTlZBTElEQVRFX0VORzBfQUREUl9SQU5HRV9M TzMyLA0KPj4gKwkJV1JFRzMyX1NPQzE1X09GRlNFVF9STEMoTU1IVUIsIDAsIA0KPj4gK21tTU1W TV9JTlZBTElEQVRFX0VORzBfQUREUl9SQU5HRV9MTzMyLA0KPj4gIAkJCQkgICAgaSAqIGh1Yi0+ ZW5nX2FkZHJfZGlzdGFuY2UsIDB4ZmZmZmZmZmYpOw0KPj4gLQkJV1JFRzMyX1NPQzE1X09GRlNF VChNTUhVQiwgMCwgbW1NTVZNX0lOVkFMSURBVEVfRU5HMF9BRERSX1JBTkdFX0hJMzIsDQo+PiAr CQlXUkVHMzJfU09DMTVfT0ZGU0VUX1JMQyhNTUhVQiwgMCwgDQo+PiArbW1NTVZNX0lOVkFMSURB VEVfRU5HMF9BRERSX1JBTkdFX0hJMzIsDQo+PiAgCQkJCSAgICBpICogaHViLT5lbmdfYWRkcl9k aXN0YW5jZSwgMHgxZik7DQo+PiAgCX0NCj4+ICB9DQo+PiBAQCAtNDIzLDcgKzQyNCw3IEBAIHN0 YXRpYyB2b2lkIG1taHViX3YyXzBfZ2FydF9kaXNhYmxlKHN0cnVjdCANCj4+IGFtZGdwdV9kZXZp Y2UgKmFkZXYpDQo+PiAgDQo+PiAgCS8qIERpc2FibGUgYWxsIHRhYmxlcyAqLw0KPj4gIAlmb3Ig KGkgPSAwOyBpIDwgQU1ER1BVX05VTV9WTUlEOyBpKyspDQo+PiAtCQlXUkVHMzJfU09DMTVfT0ZG U0VUKE1NSFVCLCAwLCBtbU1NVk1fQ09OVEVYVDBfQ05UTCwNCj4+ICsJCVdSRUczMl9TT0MxNV9P RkZTRVRfUkxDKE1NSFVCLCAwLCBtbU1NVk1fQ09OVEVYVDBfQ05UTCwNCj4+ICAJCQkJICAgIGkg KiBodWItPmN0eF9kaXN0YW5jZSwgMCk7DQo+PiAgDQo+PiAgCS8qIFNldHVwIFRMQiBjb250cm9s ICovDQpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwphbWQt Z2Z4IG1haWxpbmcgbGlzdAphbWQtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xp c3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2FtZC1nZngK