From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by mx.groups.io with SMTP id smtpd.web10.4229.1618958243896576523 for ; Tue, 20 Apr 2021 15:37:24 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=TpqAGEh6; spf=pass (domain: intel.com, ip: 134.134.136.65, mailfrom: michael.d.kinney@intel.com) IronPort-SDR: utbUOwV9lJ2I8Pg9vvvW/HNF5tpmD8SHgcW/zmjcRQdGMURF1u5BMlFymROGb9t5vnuF82KHgv E3XRJGNBPV+A== X-IronPort-AV: E=McAfee;i="6200,9189,9960"; a="195631384" X-IronPort-AV: E=Sophos;i="5.82,238,1613462400"; d="scan'208";a="195631384" Received: from fmsmga005.fm.intel.com ([10.253.24.32]) by orsmga103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 20 Apr 2021 15:37:21 -0700 IronPort-SDR: JzgxIVBVKTm0i2NQH/QnsGAubg/lh9g5ELmjOsMIs9tjblQvrVc4OtDgodpKbqd8FZ+lkDpoEF W2lqw4oks3QA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.82,238,1613462400"; d="scan'208";a="617138604" Received: from fmsmsx602.amr.corp.intel.com ([10.18.126.82]) by fmsmga005.fm.intel.com with ESMTP; 20 Apr 2021 15:37:21 -0700 Received: from fmsmsx610.amr.corp.intel.com (10.18.126.90) by fmsmsx602.amr.corp.intel.com (10.18.126.82) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2106.2; Tue, 20 Apr 2021 15:37:21 -0700 Received: from FMSEDG603.ED.cps.intel.com (10.1.192.133) by fmsmsx610.amr.corp.intel.com (10.18.126.90) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2106.2 via Frontend Transport; Tue, 20 Apr 2021 15:37:21 -0700 Received: from NAM04-MW2-obe.outbound.protection.outlook.com (104.47.73.172) by edgegateway.intel.com (192.55.55.68) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2106.2; Tue, 20 Apr 2021 15:37:21 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Eh3e8puMOXxatCg3zFoT2WKTvubErfZycRbih4+AaZdYeXSGyf+2e1nrweq+0ADh5njbYXxi7MvFr1/ONrpv8M6ywduOMZMbxTAZcBFMGP4mUwfPbdXFq867ods57e/Tpc/bgLkLnIXcbpcO+UXhoENMdFOU8yxfvWNfkZIOKKjS6x+lEDHgy9XMkCYZU4Iyi1SAiGEHODxq/HE+3LDSjsqoJGIB5rZMY67joBZF1MOIBsi9KTUad6I/YEZFQcfAXeu2vbckV1yvpu86fIdfE7VKGamjKtH5D+hmaQ4ZE/QNv+d0oQZNgnQDGtLLKWAbDcxPql4Tsqlf9ntdLj7RQg== 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=sss3f/o0pT2j9sfTjbYIjEpsopO/HoNsKxkkis83idU=; b=QPdDuVtGMT+cPH2/lvVFCvBJLcdu4lY+DhqFOpHLBSaNI4MQatLZaWeYR9y4dce/p71v+yguHmFR6+QDrVpjPfsv95Jb10H5WYsnN8m1QFpzIuJqRbfwETKmSgT+wNbvdaatpD2LSrdpw/AT4hesU54vVgoUSA3t3lV+LEL1OS+f04ZXv/xqnOzU3IU2tVJArzC+yrr23dFwyJKDeu22Dhhd2vtJm9EBxjzwAGP8LfufSC7CBbuADF++LxgX/DZByCgd0+L6yMptN+Ft9sYb1IHB0q5wk1Cb8k2bRKPHOD6zZf3IDU9YW3lJgkt6FfLEfXBj0nwOBKy7xGVt9cUR4A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel.onmicrosoft.com; s=selector2-intel-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=sss3f/o0pT2j9sfTjbYIjEpsopO/HoNsKxkkis83idU=; b=TpqAGEh6FdFoUmsOOAp+A9i3+Dpq8/XgdUBT3kEmOXJf4Vk9NTbqwA29ZNVUJskWzmsryNzE6zK7aEr6+UfmofxHYJ54c72gP4b3X2bK4Sf0JZuN/293w4opX7uKTs4NUF/rfUQseYPPIFlCdpy5tAtwEq0hL/newQKieWGwA9s= Received: from CO1PR11MB4929.namprd11.prod.outlook.com (2603:10b6:303:6d::19) by CO1PR11MB5121.namprd11.prod.outlook.com (2603:10b6:303:94::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4065.20; Tue, 20 Apr 2021 22:37:20 +0000 Received: from CO1PR11MB4929.namprd11.prod.outlook.com ([fe80::1c76:a17a:ecb0:9a8]) by CO1PR11MB4929.namprd11.prod.outlook.com ([fe80::1c76:a17a:ecb0:9a8%6]) with mapi id 15.20.4065.020; Tue, 20 Apr 2021 22:37:20 +0000 From: "Michael D Kinney" To: John Rahn , "devel@edk2.groups.io" , "Kinney, Michael D" CC: Liming Gao , "Jiang, Guomin" , "Xu, Wei6" Subject: Re: [PATCH v1 1/1] FmpDevicePkg: FmpDeviceLib interface change for Driver Unload support Thread-Topic: [PATCH v1 1/1] FmpDevicePkg: FmpDeviceLib interface change for Driver Unload support Thread-Index: AQHXNi0uycBt+40jd0a8lwbAy7GoUKq9/YNg Date: Tue, 20 Apr 2021 22:37:20 +0000 Message-ID: References: <20210420213557.9498-1-jrahn@nvidia.com> <20210420213557.9498-2-jrahn@nvidia.com> In-Reply-To: <20210420213557.9498-2-jrahn@nvidia.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-reaction: no-action dlp-version: 11.5.1.3 authentication-results: nvidia.com; dkim=none (message not signed) header.d=none;nvidia.com; dmarc=none action=none header.from=intel.com; x-originating-ip: [24.19.191.44] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 905ae5ca-8d9a-40f2-a1d3-08d9044cdbf0 x-ms-traffictypediagnostic: CO1PR11MB5121: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:9508; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: IEu3dNH3dVibTMQ7h+l+7OuXIRyuxxjsRQwPg+UZaASS01ZWGp/Fu74wSRq9YvJIpqOjb2LQE+c94MbXmeNHYO5GkrxM5MfoTQkaLgUT1/FZz5ZQpZCR5wV2KH0L5qAOjtH4LhERKhyI8msKlsZQza8Jw7EPD+84V2JeHwlFvvtPKzEXlCVwPnhg/K2Sqt8GgBudbjV+c1gKqBPr4HCjEouIK18VR5bv3jYWGFmKspZBoDXaJGXkvnfr7DhvOP0t6PXVBjDPNUCAvYSU3Bd8tx0kl+2p7QD1tOZxcwHMl0xBAocGphPPB0CiuIZLyaEuEPo4gQKUJ0AyBBRbUUbKKdjRapJNMt7IRLePFRxYw/PVwHcgY4YTyaeBONYN1YuyDBOXBXigy+AR8X6TH2aMiqokmkB0aJUTBlQwlAr2Oc81f2GK6oH9ptoQPxXR1I9h9BjSHZkRJ+6L9FfChETKmegSvFL7ZcWr6KGCG2waD23Lxwd7k3Huc4xqaIgUp3A5789SqgGLeqkXCOfu3hPdxrQG+U7UE659+KDQqFLjrS+BftekO9XXdnSaapThFWlq1UQMDRh6Vx/a9Wy9AushvthsjtDYRnmUO1Vn0Z1QkMwuXa47rWte7pjvwKHPKZIgZ59q3W5pjX5QqsEEt9wxAe5ByjbL7bX6um3SJFMnBAeytR0P0zQ0irKn0dzti3KM x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CO1PR11MB4929.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(136003)(396003)(376002)(39860400002)(366004)(346002)(86362001)(71200400001)(33656002)(52536014)(966005)(8676002)(478600001)(19627235002)(83380400001)(186003)(55016002)(54906003)(110136005)(2906002)(26005)(316002)(66446008)(64756008)(107886003)(66946007)(38100700002)(66556008)(66476007)(76116006)(122000001)(9686003)(4326008)(7696005)(8936002)(53546011)(6506007)(5660300002);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata: =?utf-8?B?WitNeUo3b1d2alFISTJPT1FYb3IwVUVaMEk2SEcwZW1jdThxZzhOdWREKy9J?= =?utf-8?B?ZmwraTlpTTZ5MVQwWFhHZ0h3cG1HZ2ZrWk1Ib2tEUmxwSzVKdVlBajY1dngx?= =?utf-8?B?bWFwY0o0b2EyWW51eS9TNlRMVUNzNk9EWHVVNmMwbTFuZnYxNXRXNHRtL2lw?= =?utf-8?B?ZTRPRHcySUl3TDZvcjM0aWQvMVRVMmxVRHBjNHh6Q1AwUTk2ZlFzV3VKVnYr?= =?utf-8?B?VlJ0NU1iV2dwZStFSEptSjlKZTVqaTR0U1JGNThRZ1RQVURDTGowQ21NNUlv?= =?utf-8?B?K01PMlpIbVBTa1pZeWhmVStndXhtQXZHenREUG95bTBOdGdJTytEeE0wVXJH?= =?utf-8?B?cUYwWVdwRmVaRXIrM3RQeVVVTit5T1dGWFJ3Y01SZmdsS0lzRURUVzZQZmlw?= =?utf-8?B?QUpkeFovRkNDakZKcUxSZXpXR2d6VjdLTnhsSHhGZW03SkdScXRpeXZUMHNK?= =?utf-8?B?VzFFZGhOcTBBaXJmY1pMOWkzdU1HOE9QTXVWUFhlcE9QR0hFL3hWMUp0QkZJ?= =?utf-8?B?OFh0Q0NZeTVwdWNEMXpnV2tEMDFzNzFpdGw2RmRDOGU4YmxUc3NDdlpycDky?= =?utf-8?B?MVBtVG94OWxMejdPTlNqbWc5M08wWCtYNW9QNFVIY2lqYThzQ3d5c2EyVmIx?= =?utf-8?B?TEdZeTRETkVTSlU0NkN6ZWtKTDBaRFdYa3FvSHpGVE1mZ3k0RXA3cFRCRXdX?= =?utf-8?B?Nzd5Y1E2Y1oweWN4THZNTCtuOVNDM0RlbDNFRlI0RFd2Yk11Z3RFRmpGeEpI?= =?utf-8?B?Rzc1Z3lkR3BRVTl6N1hwbGhRd1VzR1R6UXRTUlk3WW92c2Naa1RBT2Z3dXho?= =?utf-8?B?dEEvTy92TXFtRDAvN2NxMWZpTUxyWERvaGtXUGlFc1BIRndBeDRLK0U1NlZz?= =?utf-8?B?WEltTVdGZ1lrclFOLzl5NEpmZ0EvTFBuelhncU9JMmtRemxWNXc1RDI0S1dv?= =?utf-8?B?bUZmQkV5ZisxeGpwaWdvd3FMYU9TMkNsL29YU0d0dE53Nnd1RklUVnpJSjBW?= =?utf-8?B?SFZFbU9XVjhVZ29WeUcrTVNBZ2hCTlNrWXlCNVMxUjF5VnVyYms1bDRBS0lU?= =?utf-8?B?dUIyQlA3NG5kL2NHaDBReTVrWVhkZXJ3WGtyMldkczhlUXhnbnhYSHF3bVVl?= =?utf-8?B?OFRIb1JURUQzcEtGZUZIUm4xTHV4OUpPSC9BSE5SMWd2NlNuRk1XUnh3WURB?= =?utf-8?B?ZkZUWEZiTitQYXlwQmswb1U1empEdUFZZzFoNWtLdFpoYmNJSFo2TTBvNlp3?= =?utf-8?B?TFNYbDJReDNQSGN1eGdMU0dUaVFOaDgxaFJwT2NsT0w1NUhISjVrVUY0bGl3?= =?utf-8?B?TTRia3AzSUtUWlYxMitlOFJoQzRpczZabmZEMmIvRjhjc25ENTBKT2VKeEVS?= =?utf-8?B?a3ZnNUdYVHdaMHcrMU1UK29XV2JON3c0dXVVTnpKbWhXT0RTOFNuSHZoQjdi?= =?utf-8?B?SG0vVWRqM2hDWHUwRGpDb2w5VDBDdFM3Yk9Bblp1bm9SQlFXYWFsMjhncXgw?= =?utf-8?B?ZXJ5ZzhLT29zd1ZxeHk5R3dvVEh5djQrbXMxYjF6eXJSa3FOeU1iWmFzbWFv?= =?utf-8?B?eHBaRDdneTl4QW4wM2dLQ3c4SzA1QjJSZUF0MnYzTUIrRHZSUG10akowOE1E?= =?utf-8?B?aGhEMUVQSE56WVN6VDhlSnEwRmgxMUZ0d3dwTFg1dWpSbC9wQkthSFpzL2xK?= =?utf-8?B?ZUFRTHBsU1ptUGsyRXpDQlhGQ1YrenZ5L1luT0ROZkN6Q2dmWHc2NG45eTE1?= =?utf-8?Q?auGuFPK6km0TNeNnk6LFBjeX72r6iEf5QrKuzv2?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CO1PR11MB4929.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 905ae5ca-8d9a-40f2-a1d3-08d9044cdbf0 X-MS-Exchange-CrossTenant-originalarrivaltime: 20 Apr 2021 22:37:20.2427 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 2NyjAJ/LPDJWHzxyvFm5XN96G4VAEV3JPIFuipFWI8tyqSjMH4m7xzMXydUHRZN457/ZD4TYjgZMuTDp77S/AFEVaCUuC6UVnF5N4HXZi2Q= X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO1PR11MB5121 Return-Path: michael.d.kinney@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SGkgSm9obiwNCg0KVGhlIEZtcERldmljZUxpYiBwcm92aWRlcyB0aGUgUmVnaXN0ZXJGbXBJbnN0 YWxsZXIoKSBhbmQgUmVnaXN0ZXJGbXBVbmluc3RhbGxlcigpDQpBUElzIGZvciBVRUZJIERyaXZl ciBNb2RlbCBkcml2ZXJzIHRvIG1hbmFnZSB0aGUgRk1QIGNvbnRleHRzLg0KDQpXaHkgZG9lcyB0 aGUgVW5sb2FkIG5lZWQgdG8gYmUgZXh0ZW5kZWQgaW50byB0aGUgRm1wRGV2aWNlTGliIHdoZW4g dGhlc2UNCkFQSXMgYXJlIHVzZWQ/ICBJIHdvdWxkIHRoaW5rIHRoYXQgYSBVRUZJIERyaXZlciBN b2RlbCBEcml2ZXIgdGhhdCBzdXBwb3J0cw0KRk1QIGNvdWxkIGNhbGwgU3RvcCgpIG9uIGFsbCBp bnN0YW5jZXMgd2hlbiBhbiBVbmxvYWQoKSByZXF1ZXN0IGlzIHJlY2VpdmVkDQphbmQgdGhlIFN0 b3AoKSBzZXJ2aWNlcyB3b3VsZCB1c2UgdGhlIEZNUCBVbmluc3RhbGxlciBwYXRoIHRvIGNsZWFu IHVwDQp0aGUgRk1QIGluc3RhbmNlcy4gIElmIGFsbCBTdG9wcygpIHN1Y2NlZWQsIHRoZW4gdGhl IFVFRkkgRHJpdmVyIHRoYXQgaXMNCnByb2R1Y2luZyB0aGUgRk1QIGluc3RhbmNlcyBjYW4gYmUg dW5sb2FkZWQsDQoNCg0KLyoqDQogIENhbGxiYWNrIGZ1bmN0aW9uIHRoYXQgaW5zdGFsbHMgYSBG aXJtd2FyZSBNYW5hZ2VtZW50IFByb3RvY29sIGluc3RhbmNlIG9udG8NCiAgYSBoYW5kbGUuDQoN CiAgQHBhcmFtW2luXSAgSGFuZGxlICBUaGUgZGV2aWNlIGhhbmRsZSB0byBpbnN0YWxsIGEgRmly bXdhcmUgTWFuYWdlbWVudA0KICAgICAgICAgICAgICAgICAgICAgIFByb3RvY29sIGluc3RhbmNl Lg0KDQogIEByZXR2YWwgIEVGSV9TVUNDRVNTICAgICAgICAgICAgQSBGaXJtd2FyZSBNYW5hZ2Vt ZW50IFByb3RvY29sIGluc3RhbmNlIHdhcw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGluc3RhbGxlZCBvbnRvIEhhbmRsZS4NCiAgQHJldHZhbCAgRUZJX0lOVkFMSURfUEFSQU1F VEVSICBIYW5kbGUgaXMgaW52YWxpZA0KICBAcmV0dmFsICBvdGhlciAgICAgICAgICAgICAgICAg IEEgRmlybXdhcmUgTWFuYWdlbWVudCBQcm90b2NvbCBpbnN0YW5jZSBjb3VsZA0KICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIG5vdCBiZSBpbnN0YWxsZWQgb250byBIYW5kbGUuDQoN CioqLw0KdHlwZWRlZg0KRUZJX1NUQVRVUw0KKEVGSUFQSSAqRk1QX0RFVklDRV9MSUJfUkVHSVNU RVJfRk1QX0lOU1RBTExFUikoDQogIElOICBFRklfSEFORExFICAgICAgSGFuZGxlDQogICk7DQoN Ci8qKg0KICBDYWxsYmFjayBmdW5jdGlvbiB0aGF0IHVuaW5zdGFsbHMgYSBGaXJtd2FyZSBNYW5h Z2VtZW50IFByb3RvY29sIGluc3RhbmNlIGZyb20NCiAgYSBoYW5kbGUuDQoNCiAgQHBhcmFtW2lu XSAgSGFuZGxlICBUaGUgZGV2aWNlIGhhbmRsZSB0byB1bmluc3RhbGwgYSBGaXJtd2FyZSBNYW5h Z2VtZW50DQogICAgICAgICAgICAgICAgICAgICAgUHJvdG9jb2wgaW5zdGFuY2UuDQoNCiAgQHJl dHZhbCAgRUZJX1NVQ0NFU1MgICAgICAgICAgICBBIEZpcm13YXJlIE1hbmFnZW1lbnQgUHJvdG9j b2wgaW5zdGFuY2Ugd2FzDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5pbnN0 YWxsZWQgZnJvbSBIYW5kbGUuDQogIEByZXR2YWwgIEVGSV9JTlZBTElEX1BBUkFNRVRFUiAgSGFu ZGxlIGlzIGludmFsaWQNCiAgQHJldHZhbCAgb3RoZXIgICAgICAgICAgICAgICAgICBBIEZpcm13 YXJlIE1hbmFnZW1lbnQgUHJvdG9jb2wgaW5zdGFuY2UgY291bGQNCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBub3QgYmUgdW5pbnN0YWxsZWQgZnJvbSBIYW5kbGUuDQoNCioqLw0K dHlwZWRlZg0KRUZJX1NUQVRVUw0KKEVGSUFQSSAqRk1QX0RFVklDRV9MSUJfUkVHSVNURVJfRk1Q X1VOSU5TVEFMTEVSKSgNCiAgSU4gIEVGSV9IQU5ETEUgICAgICBIYW5kbGUNCiAgKTsNCg0KLyoq DQogIFByb3ZpZGUgYSBmdW5jdGlvbiB0byBpbnN0YWxsIHRoZSBGaXJtd2FyZSBNYW5hZ2VtZW50 IFByb3RvY29sIGluc3RhbmNlIG9udG8gYQ0KICBkZXZpY2UgaGFuZGxlIHdoZW4gdGhlIGRldmlj ZSBpcyBtYW5hZ2VkIGJ5IGEgZHJpdmVyIHRoYXQgZm9sbG93cyB0aGUgVUVGSQ0KICBEcml2ZXIg TW9kZWwuICBJZiB0aGUgZGV2aWNlIGlzIG5vdCBtYW5hZ2VkIGJ5IGEgZHJpdmVyIHRoYXQgZm9s bG93cyB0aGUgVUVGSQ0KICBEcml2ZXIgTW9kZWwsIHRoZW4gRUZJX1VOU1VQUE9SVEVEIGlzIHJl dHVybmVkLg0KDQogIEBwYXJhbVtpbl0gRm1wSW5zdGFsbGVyICBGdW5jdGlvbiB0aGF0IGluc3Rh bGxzIHRoZSBGaXJtd2FyZSBNYW5hZ2VtZW50DQogICAgICAgICAgICAgICAgICAgICAgICAgICBQ cm90b2NvbC4NCg0KICBAcmV0dmFsIEVGSV9TVUNDRVNTICAgICAgVGhlIGRldmljZSBpcyBtYW5h Z2VkIGJ5IGEgZHJpdmVyIHRoYXQgZm9sbG93cyB0aGUNCiAgICAgICAgICAgICAgICAgICAgICAg ICAgIFVFRkkgRHJpdmVyIE1vZGVsLiAgRm1wSW5zdGFsbGVyIG11c3QgYmUgY2FsbGVkIG9uDQog ICAgICAgICAgICAgICAgICAgICAgICAgICBlYWNoIERyaXZlciBCaW5kaW5nIFN0YXJ0KCkuDQog IEByZXR2YWwgRUZJX1VOU1VQUE9SVEVEICBUaGUgZGV2aWNlIGlzIG5vdCBtYW5hZ2VkIGJ5IGEg ZHJpdmVyIHRoYXQgZm9sbG93cw0KICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlIFVFRkkg RHJpdmVyIE1vZGVsLg0KICBAcmV0dmFsIG90aGVyICAgICAgICAgICAgVGhlIEZpcm13YXJlIE1h bmFnZW1lbnQgUHJvdG9jb2wgZm9yIHRoaXMgZmlybXdhcmUNCiAgICAgICAgICAgICAgICAgICAg ICAgICAgIGRldmljZSBpcyBub3QgaW5zdGFsbGVkLiAgVGhlIGZpcm13YXJlIGRldmljZSBpcw0K ICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RpbGwgbG9ja2VkIHVzaW5nIEZtcERldmljZUxv Y2soKS4NCg0KKiovDQpFRklfU1RBVFVTDQpFRklBUEkNClJlZ2lzdGVyRm1wSW5zdGFsbGVyICgN CiAgSU4gRk1QX0RFVklDRV9MSUJfUkVHSVNURVJfRk1QX0lOU1RBTExFUiAgRm1wSW5zdGFsbGVy DQogICk7DQoNCi8qKg0KICBQcm92aWRlIGEgZnVuY3Rpb24gdG8gdW5pbnN0YWxsIHRoZSBGaXJt d2FyZSBNYW5hZ2VtZW50IFByb3RvY29sIGluc3RhbmNlIGZyb20gYQ0KICBkZXZpY2UgaGFuZGxl IHdoZW4gdGhlIGRldmljZSBpcyBtYW5hZ2VkIGJ5IGEgZHJpdmVyIHRoYXQgZm9sbG93cyB0aGUg VUVGSQ0KICBEcml2ZXIgTW9kZWwuICBJZiB0aGUgZGV2aWNlIGlzIG5vdCBtYW5hZ2VkIGJ5IGEg ZHJpdmVyIHRoYXQgZm9sbG93cyB0aGUgVUVGSQ0KICBEcml2ZXIgTW9kZWwsIHRoZW4gRUZJX1VO U1VQUE9SVEVEIGlzIHJldHVybmVkLg0KDQogIEBwYXJhbVtpbl0gRm1wVW5pbnN0YWxsZXIgIEZ1 bmN0aW9uIHRoYXQgaW5zdGFsbHMgdGhlIEZpcm13YXJlIE1hbmFnZW1lbnQNCiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgUHJvdG9jb2wuDQoNCiAgQHJldHZhbCBFRklfU1VDQ0VTUyAgICAg IFRoZSBkZXZpY2UgaXMgbWFuYWdlZCBieSBhIGRyaXZlciB0aGF0IGZvbGxvd3MgdGhlDQogICAg ICAgICAgICAgICAgICAgICAgICAgICBVRUZJIERyaXZlciBNb2RlbC4gIEZtcFVuaW5zdGFsbGVy IG11c3QgYmUgY2FsbGVkIG9uDQogICAgICAgICAgICAgICAgICAgICAgICAgICBlYWNoIERyaXZl ciBCaW5kaW5nIFN0b3AoKS4NCiAgQHJldHZhbCBFRklfVU5TVVBQT1JURUQgIFRoZSBkZXZpY2Ug aXMgbm90IG1hbmFnZWQgYnkgYSBkcml2ZXIgdGhhdCBmb2xsb3dzDQogICAgICAgICAgICAgICAg ICAgICAgICAgICB0aGUgVUVGSSBEcml2ZXIgTW9kZWwuDQogIEByZXR2YWwgb3RoZXIgICAgICAg ICAgICBUaGUgRmlybXdhcmUgTWFuYWdlbWVudCBQcm90b2NvbCBmb3IgdGhpcyBmaXJtd2FyZQ0K ICAgICAgICAgICAgICAgICAgICAgICAgICAgZGV2aWNlIGlzIG5vdCBpbnN0YWxsZWQuICBUaGUg ZmlybXdhcmUgZGV2aWNlIGlzDQogICAgICAgICAgICAgICAgICAgICAgICAgICBzdGlsbCBsb2Nr ZWQgdXNpbmcgRm1wRGV2aWNlTG9jaygpLg0KDQoqKi8NCkVGSV9TVEFUVVMNCkVGSUFQSQ0KUmVn aXN0ZXJGbXBVbmluc3RhbGxlciAoDQogIElOIEZNUF9ERVZJQ0VfTElCX1JFR0lTVEVSX0ZNUF9V TklOU1RBTExFUiAgRm1wVW5pbnN0YWxsZXINCiAgKTsNCg0KQmVzdCByZWdhcmRzLA0KDQpNaWtl DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogSm9obiBSYWhuIDxqcmFo bkBudmlkaWEuY29tPg0KPiBTZW50OiBUdWVzZGF5LCBBcHJpbCAyMCwgMjAyMSAyOjM2IFBNDQo+ IFRvOiBkZXZlbEBlZGsyLmdyb3Vwcy5pbw0KPiBDYzogTGltaW5nIEdhbyA8Z2FvbGltaW5nQGJ5 b3NvZnQuY29tLmNuPjsgS2lubmV5LCBNaWNoYWVsIEQgPG1pY2hhZWwuZC5raW5uZXlAaW50ZWwu Y29tPjsgSmlhbmcsIEd1b21pbg0KPiA8Z3VvbWluLmppYW5nQGludGVsLmNvbT47IFh1LCBXZWk2 IDx3ZWk2Lnh1QGludGVsLmNvbT4NCj4gU3ViamVjdDogW1BBVENIIHYxIDEvMV0gRm1wRGV2aWNl UGtnOiBGbXBEZXZpY2VMaWIgaW50ZXJmYWNlIGNoYW5nZSBmb3IgRHJpdmVyIFVubG9hZCBzdXBw b3J0DQo+IA0KPiAgICBodHRwczovL2J1Z3ppbGxhLnRpYW5vY29yZS5vcmcvc2hvd19idWcuY2dp P2lkPTMzNDINCj4gICAgICBGbXBEZXZpY2VMaWIgaW50ZXJmYWNlIGZvciBEcml2ZXIgVW5sb2Fk IGlzIG1pc3NpbmcNCj4gICAgQWRkIEZtcERldmljZUxpYlVubG9hZEltYWdlIGZ1bmN0aW9uIGRl Y2xhcmF0aW9uIGFuZCBOVUxMIHNhbXBsZS4NCj4gICAgQWRkIEZtcER4ZVVubG9hZEltYWdlIGZ1 bmN0aW9uLg0KPiAgICBSZXBsYWNlIFVOTE9BRF9JTUFHRSBmdW5jdGlvbiBpbiBGbXBEeGUgc2Ft cGxlIHdpdGggRm1wRHhlVW5sb2FkSW1hZ2UuDQo+IA0KPiBDYzogTGltaW5nIEdhbyA8Z2FvbGlt aW5nQGJ5b3NvZnQuY29tLmNuPg0KPiBDYzogTWljaGFlbCBEIEtpbm5leSA8bWljaGFlbC5kLmtp bm5leUBpbnRlbC5jb20+DQo+IENjOiBHdW9taW4gSmlhbmcgPGd1b21pbi5qaWFuZ0BpbnRlbC5j b20+DQo+IENjOiBXZWk2IFh1IDx3ZWk2Lnh1QGludGVsLmNvbT4NCj4gU2lnbmVkLW9mZi1ieTog Sm9obiBSYWhuIDxqcmFobkBudmlkaWEuY29tPg0KPiAtLS0NCj4gIEZtcERldmljZVBrZy9GbXBE eGUvRm1wRHhlLmluZiAgICAgICAgICAgICAgICAgICAgICAgfCAgMiArLQ0KPiAgRm1wRGV2aWNl UGtnL0luY2x1ZGUvTGlicmFyeS9GbXBEZXZpY2VMaWIuaCAgICAgICAgICB8IDIxICsrKysrKysr KysrKysrKysrDQo+ICBGbXBEZXZpY2VQa2cvRm1wRHhlL0ZtcER4ZS5jICAgICAgICAgICAgICAg ICAgICAgICAgIHwgMjEgKysrKysrKysrKysrKysrKysNCj4gIEZtcERldmljZVBrZy9MaWJyYXJ5 L0ZtcERldmljZUxpYk51bGwvRm1wRGV2aWNlTGliLmMgfCAyNCArKysrKysrKysrKysrKysrKysr Kw0KPiAgNCBmaWxlcyBjaGFuZ2VkLCA2NyBpbnNlcnRpb25zKCspLCAxIGRlbGV0aW9uKC0pDQo+ IA0KPiBkaWZmIC0tZ2l0IGEvRm1wRGV2aWNlUGtnL0ZtcER4ZS9GbXBEeGUuaW5mIGIvRm1wRGV2 aWNlUGtnL0ZtcER4ZS9GbXBEeGUuaW5mDQo+IGluZGV4IGVlYjkwNGEwOTE0OC4uMmRlOWUzZTRm MmFkIDEwMDY0NA0KPiAtLS0gYS9GbXBEZXZpY2VQa2cvRm1wRHhlL0ZtcER4ZS5pbmYNCj4gKysr IGIvRm1wRGV2aWNlUGtnL0ZtcER4ZS9GbXBEeGUuaW5mDQo+IEBAIC0xNyw3ICsxNyw3IEBAIFtE ZWZpbmVzXQ0KPiAgICBNT0RVTEVfVFlQRSAgICAgICAgICAgICAgICAgICAgPSBEWEVfRFJJVkVS DQo+ICAgIFZFUlNJT05fU1RSSU5HICAgICAgICAgICAgICAgICA9IDEuMA0KPiAgICBFTlRSWV9Q T0lOVCAgICAgICAgICAgICAgICAgICAgPSBGbXBEeGVFbnRyeVBvaW50DQo+IC0gIFVOTE9BRF9J TUFHRSAgICAgICAgICAgICAgICAgICA9IFVuaW5zdGFsbEZtcEluc3RhbmNlDQo+ICsgIFVOTE9B RF9JTUFHRSAgICAgICAgICAgICAgICAgICA9IEJaMzM0MkZtcER4ZVVubG9hZEltYWdlDQo+IA0K PiAgIw0KPiAgIyBUaGUgZm9sbG93aW5nIGluZm9ybWF0aW9uIGlzIGZvciByZWZlcmVuY2Ugb25s eSBhbmQgbm90IHJlcXVpcmVkIGJ5IHRoZSBidWlsZCB0b29scy4NCj4gZGlmZiAtLWdpdCBhL0Zt cERldmljZVBrZy9JbmNsdWRlL0xpYnJhcnkvRm1wRGV2aWNlTGliLmggYi9GbXBEZXZpY2VQa2cv SW5jbHVkZS9MaWJyYXJ5L0ZtcERldmljZUxpYi5oDQo+IGluZGV4IDZhYmQ5OWZhMWY0Ny4uZDlk YTViOTQwODg2IDEwMDY0NA0KPiAtLS0gYS9GbXBEZXZpY2VQa2cvSW5jbHVkZS9MaWJyYXJ5L0Zt cERldmljZUxpYi5oDQo+ICsrKyBiL0ZtcERldmljZVBrZy9JbmNsdWRlL0xpYnJhcnkvRm1wRGV2 aWNlTGliLmgNCj4gQEAgLTEwNCw2ICsxMDQsMjcgQEAgUmVnaXN0ZXJGbXBVbmluc3RhbGxlciAo DQo+ICAgIElOIEZNUF9ERVZJQ0VfTElCX1JFR0lTVEVSX0ZNUF9VTklOU1RBTExFUiAgRm1wVW5p bnN0YWxsZXINCj4gICAgKTsNCj4gDQo+ICsvKioNCj4gKyAgRnVuY3Rpb24gdGhhdCB1bmxvYWRz IGEgRmlybXdhcmUgTWFuYWdlbWVudCBEZXZpY2UgTGlicmFyeSBiYXNlZCBkcml2ZXIgaW5zdGFu Y2Ugd2hlbg0KPiArICB0aGUgRm1wRGV2aWNlTGliIHN1cHBvcnRzIHRoZSBkcml2ZXIgYmluZGlu ZyBtb2RlbC4NCj4gKyAgSWYgdGhlIEZtcERldmljZUxpYiBkb2VzIG5vdCBzdXBwb3J0IHRoZSBV RUZJIGRyaXZlciBtb2RlbCwgdGhlIEZtcERldmljZUxpYiBVbmxvYWQgSW1hZ2UNCj4gKyAgc2hv dWxkIHJldHVybiBFRklfVU5TVVBQT1JURUQuDQo+ICsNCj4gKyAgQHBhcmFtW2luXSDCoEltYWdl SGFuZGxlIMKgVGhlIGRyaXZlciBoYW5kbGUgbWFuYWdpbmcgdGhlIEZpcm13YXJlIE1hbmFnZW1l bnQgUHJvdG9jb2wgaW5zdGFuY2UgdG8gdW5sb2FkLg0KPiArDQo+ICsgIEByZXR2YWwgRUZJX1NV Q0NFU1MgwqAgwqAgwqAgwqAgwqAgwqAgwqAgRHJpdmVyIGltYWdlIHdhcyByZW1vdmVkIHN1Y2Nl c3NmdWxseS4NCj4gKyAgQHJldHZhbCBFRklfVU5TVVBQT1JURUQgwqAgwqAgwqAgwqAgwqAgVGhl IGRldmljZSBpcyBub3QgbWFuYWdlZCBieSBhIGRyaXZlciB0aGF0IGZvbGxvd3MNCj4gKyDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoHRoZSBVRUZJ IERyaXZlciBNb2RlbC4NCj4gKyAgQHJldHZhbCBFRklfSU5WQUxJRF9QQVJBTUVURVIgwqAgwqAg SW1hZ2VIYW5kbGUgaXMgTlVMTC4NCj4gKyAgQHJldHZhbCBFRklfSU5WQUxJRF9QQVJBTUVURVIg wqAgwqAgSW1hZ2VIYW5kbGUgZG9lcyBub3QgbWF0Y2ggZHJpdmVyIGltYWdlIGhhbmRsZS4NCj4g KyAgQHJldHZhbCBvdGhlciDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCBEcml2ZXIgaW1h Z2Ugd2FzIG5vdCByZW1vdmVkLg0KPiArKiovDQo+ICtFRklfU1RBVFVTDQo+ICtFRklBUEkNCj4g K0JaMzM0MkZtcERldmljZUxpYlVubG9hZEltYWdlICgNCj4gKyAgSU4gRUZJX0hBTkRMRSAgSW1h Z2VIYW5kbGUNCj4gKyAgKTsNCj4gKw0KPiAgLyoqDQo+ICAgIFNldCB0aGUgZGV2aWNlIGNvbnRl eHQgZm9yIHRoZSBGbXBEZXZpY2VMaWIgc2VydmljZXMgd2hlbiB0aGUgZGV2aWNlIGlzDQo+ICAg IG1hbmFnZWQgYnkgYSBkcml2ZXIgdGhhdCBmb2xsb3dzIHRoZSBVRUZJIERyaXZlciBNb2RlbC4g IElmIHRoZSBkZXZpY2UgaXMgbm90DQo+IGRpZmYgLS1naXQgYS9GbXBEZXZpY2VQa2cvRm1wRHhl L0ZtcER4ZS5jIGIvRm1wRGV2aWNlUGtnL0ZtcER4ZS9GbXBEeGUuYw0KPiBpbmRleCA2YjA2NzVl YTM4ZjguLjY2ODBhMzgxYjhmZSAxMDA2NDQNCj4gLS0tIGEvRm1wRGV2aWNlUGtnL0ZtcER4ZS9G bXBEeGUuYw0KPiArKysgYi9GbXBEZXZpY2VQa2cvRm1wRHhlL0ZtcER4ZS5jDQo+IEBAIC0xODEz LDYgKzE4MTMsMjcgQEAgVW5pbnN0YWxsRm1wSW5zdGFuY2UgKA0KPiAgICByZXR1cm4gRUZJX1NV Q0NFU1M7DQo+ICB9DQo+IA0KPiArLyoqDQo+ICsgIFVubG9hZHMgdGhlIGFwcGxpY2F0aW9uIGFu ZCBpdHMgaW5zdGFsbGVkIHByb3RvY29sLg0KPiArDQo+ICsgIEBwYXJhbSBJbWFnZUhhbmRsZSDC oCDCoCDCoCBIYW5kbGUgdGhhdCBpZGVudGlmaWVzIHRoZSBpbWFnZSB0byBiZSB1bmxvYWRlZC4N Cj4gKw0KPiArICBAcmV0dmFsIEVGSV9TVUNDRVNTIMKgIMKgIMKgVGhlIGltYWdlIGhhcyBiZWVu IHVubG9hZGVkLg0KPiArDQo+ICsqKi8NCj4gK0VGSV9TVEFUVVMNCj4gK0VGSUFQSQ0KPiArQloz MzQyRm1wRHhlVW5sb2FkSW1hZ2UgKA0KPiArICBJTiBFRklfSEFORExFICDCoCDCoCDCoEltYWdl SGFuZGxlDQo+ICsgICkNCj4gK3sNCj4gKyAgaWYgKG1GbXBTaW5nbGVJbnN0YW5jZSkgew0KPiAr ICAgIHJldHVybiBVbmluc3RhbGxGbXBJbnN0YW5jZSAoSW1hZ2VIYW5kbGUpOw0KPiArICB9IGVs c2Ugew0KPiArICAgIHJldHVybiBCWjMzNDJGbXBEZXZpY2VMaWJVbmxvYWRJbWFnZSAoSW1hZ2VI YW5kbGUpOw0KPiArICB9DQo+ICt9DQo+ICsNCj4gIC8qKg0KPiAgICBVbmxvYWRzIHRoZSBhcHBs aWNhdGlvbiBhbmQgaXRzIGluc3RhbGxlZCBwcm90b2NvbC4NCj4gDQo+IGRpZmYgLS1naXQgYS9G bXBEZXZpY2VQa2cvTGlicmFyeS9GbXBEZXZpY2VMaWJOdWxsL0ZtcERldmljZUxpYi5jIGIvRm1w RGV2aWNlUGtnL0xpYnJhcnkvRm1wRGV2aWNlTGliTnVsbC9GbXBEZXZpY2VMaWIuYw0KPiBpbmRl eCBmNGY1N2IyOWJkYjEuLjRkMmNiYzY0YjdjNiAxMDA2NDQNCj4gLS0tIGEvRm1wRGV2aWNlUGtn L0xpYnJhcnkvRm1wRGV2aWNlTGliTnVsbC9GbXBEZXZpY2VMaWIuYw0KPiArKysgYi9GbXBEZXZp Y2VQa2cvTGlicmFyeS9GbXBEZXZpY2VMaWJOdWxsL0ZtcERldmljZUxpYi5jDQo+IEBAIC00MSw2 ICs0MSwzMCBAQCBSZWdpc3RlckZtcEluc3RhbGxlciAoDQo+ICAgIHJldHVybiBFRklfVU5TVVBQ T1JURUQ7DQo+ICB9DQo+IA0KPiArLyoqDQo+ICsgIEZ1bmN0aW9uIHRoYXQgdW5sb2FkcyBhIEZp cm13YXJlIE1hbmFnZW1lbnQgRGV2aWNlIExpYnJhcnkgYmFzZWQgZHJpdmVyIGluc3RhbmNlIHdo ZW4NCj4gKyAgdGhlIEZtcERldmljZUxpYiBzdXBwb3J0cyB0aGUgZHJpdmVyIGJpbmRpbmcgbW9k ZWwuDQo+ICsgIElmIHRoZSBGbXBEZXZpY2VMaWIgZG9lcyBub3Qgc3VwcG9ydCB0aGUgVUVGSSBk cml2ZXIgbW9kZWwsIHRoZSBGbXBEZXZpY2VMaWIgVW5sb2FkIEltYWdlDQo+ICsgIHNob3VsZCBy ZXR1cm4gRUZJX1VOU1VQUE9SVEVELg0KPiArDQo+ICsgIEBwYXJhbVtpbl0gwqBJbWFnZUhhbmRs ZSDCoFRoZSBkcml2ZXIgaGFuZGxlIG1hbmFnaW5nIHRoZSBGaXJtd2FyZSBNYW5hZ2VtZW50IFBy b3RvY29sIGluc3RhbmNlIHRvIHVubG9hZC4NCj4gKw0KPiArICBAcmV0dmFsIEVGSV9TVUNDRVNT IMKgIMKgIMKgIMKgIMKgIMKgIMKgIERyaXZlciBpbWFnZSB3YXMgcmVtb3ZlZCBzdWNjZXNzZnVs bHkuDQo+ICsgIEByZXR2YWwgRUZJX1VOU1VQUE9SVEVEIMKgIMKgIMKgIMKgIMKgIFRoZSBkZXZp Y2UgaXMgbm90IG1hbmFnZWQgYnkgYSBkcml2ZXIgdGhhdCBmb2xsb3dzDQo+ICsgICDCoCDCoCDC oCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoHRoZSBVRUZJIERy aXZlciBNb2RlbC4NCj4gKyAgQHJldHZhbCBFRklfSU5WQUxJRF9QQVJBTUVURVIgwqAgwqAgSW1h Z2VIYW5kbGUgaXMgTlVMTC4NCj4gKyAgQHJldHZhbCBFRklfSU5WQUxJRF9QQVJBTUVURVIgwqAg wqAgSW1hZ2VIYW5kbGUgZG9lcyBub3QgbWF0Y2ggZHJpdmVyIGltYWdlIGhhbmRsZS4NCj4gKyAg QHJldHZhbCBvdGhlciDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCDCoCBEcml2ZXIgaW1hZ2Ug d2FzIG5vdCByZW1vdmVkLg0KPiArKiovDQo+ICtFRklfU1RBVFVTDQo+ICtFRklBUEkNCj4gK0Ja MzM0MkZtcERldmljZUxpYlVubG9hZEltYWdlICgNCj4gKyAgSU4gRUZJX0hBTkRMRSAgSW1hZ2VI YW5kbGUNCj4gKyAgKQ0KPiArew0KPiArICByZXR1cm4gRUZJX1VOU1VQUE9SVEVEOw0KPiArfQ0K PiArDQo+ICAvKioNCj4gICAgUHJvdmlkZSBhIGZ1bmN0aW9uIHRvIHVuaW5zdGFsbCB0aGUgRmly bXdhcmUgTWFuYWdlbWVudCBQcm90b2NvbCBpbnN0YW5jZSBmcm9tIGENCj4gICAgZGV2aWNlIGhh bmRsZSB3aGVuIHRoZSBkZXZpY2UgaXMgbWFuYWdlZCBieSBhIGRyaXZlciB0aGF0IGZvbGxvd3Mg dGhlIFVFRkkNCj4gLS0NCj4gMi4xNy4xDQoNCg==