From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by mx.groups.io with SMTP id smtpd.web10.9768.1594879519873227095 for ; Wed, 15 Jul 2020 23:05:20 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=OOdHuCRv; spf=pass (domain: intel.com, ip: 192.55.52.151, mailfrom: guomin.jiang@intel.com) IronPort-SDR: scGT6qNa6bvvFnti7aKhSOPmkAat99PyY4mZkae6gXKQMujL5bmE5+Z2p/mWGv9FDCRGolLHay fzVElWjtjXAA== X-IronPort-AV: E=McAfee;i="6000,8403,9683"; a="129397309" X-IronPort-AV: E=Sophos;i="5.75,358,1589266800"; d="scan'208";a="129397309" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by fmsmga107.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 15 Jul 2020 23:05:18 -0700 IronPort-SDR: Vyg2bklxhyry4d0rcBnW+SON7dbw3eRXjiopgsKUsk6NWT2aTYfBxerMNIeU6skiFSjRQds6T+ Pu5iL6Fk49Tg== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.75,358,1589266800"; d="scan'208";a="318314685" Received: from orsmsx601.amr.corp.intel.com ([10.22.229.14]) by fmsmga002.fm.intel.com with ESMTP; 15 Jul 2020 23:05:18 -0700 Received: from orsmsx611.amr.corp.intel.com (10.22.229.24) by ORSMSX601.amr.corp.intel.com (10.22.229.14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Wed, 15 Jul 2020 23:05:18 -0700 Received: from ORSEDG001.ED.cps.intel.com (10.7.248.4) by orsmsx611.amr.corp.intel.com (10.22.229.24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256) id 15.1.1713.5 via Frontend Transport; Wed, 15 Jul 2020 23:05:18 -0700 Received: from NAM10-MW2-obe.outbound.protection.outlook.com (104.47.55.108) by edgegateway.intel.com (134.134.137.100) with Microsoft SMTP Server (TLS) id 14.3.439.0; Wed, 15 Jul 2020 23:05:17 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ceZAfII33AfP6XEVMfyV9H84bXnjy7ms/Lt1i6MiXGnHyvrcVkIwcnwPhDgsdVzmmsYBr4KePtBJPXNVsrJZEiZq7yL1547bK8OP0oXewINPJ4ft0cUp94PjEGA6PnpktDTkVu+fu6+crnX++tXvtOtZ60eHBvm02S0I4B1iMnEPc5FsTS0FRHmi8XeeZfrLOpMoAFpyCtWqwhA0B0a2JPhr8QKEiLsnMId3rjNM8ioJoqGZHMR4CxJU2CYcUV7UQA5DCWb4CmefJ0OXAJwCf/S/AmuG77mlQen8t2ECt+vXyadIpJeNT625DP3oEIyyYmR5Pr5WS8c/2Gd5DErPkg== 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=drMcp0p5aQaJ4qDCX4zp7sffGDWEf4daeTBYoNKCQJ8=; b=EN0VKYwx2r4BmxkR+nKzyo6a0Px/IF3F7CpLGp0Dh9y13crHByfngVMWRPbF1WA4FEO8TCm2Epa3JXjVL+IUhX/5izl9sf4WAln2/l1aSsYm12dJvQ8ZWbX8ywSXnV/jqdf0jxbucl7xbuxFv0vT0lLTBxGnlumMEco9QiSupb5SdFYslYdX+sBNJO11gsGT+Bnby7A+EONWu/jnTlRJC8r9zBzc8zo8W8aDCo4x12BJG7QdlSdz3Jihjya/Dp+jurmVojWDMF0LAXfCkRcwOOn2Qio04Y3n+IqLNG1BCWVmmUF9ni8R2/sJKJPuzvHUox5V3ZnxIosS9LL4OeFNxQ== 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=drMcp0p5aQaJ4qDCX4zp7sffGDWEf4daeTBYoNKCQJ8=; b=OOdHuCRvW/4g9W7N6jDjiuTlhUH+/tEMRJmjDLMpvYGHF8fi7ZPfj14Qk4Z6hdlHLcmWclbL+JCTs1WE/9BWvGpdvTNpTpZH8f7Kr5proK+NWgtmapoc6yrbklUcZspGRBhrG+YAfb/FCFDjKaFqv/WBt/YRxqUBBORA2i/rGFU= Received: from DM6PR11MB2955.namprd11.prod.outlook.com (2603:10b6:5:65::31) by DM6PR11MB3899.namprd11.prod.outlook.com (2603:10b6:5:19c::31) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3174.22; Thu, 16 Jul 2020 06:05:14 +0000 Received: from DM6PR11MB2955.namprd11.prod.outlook.com ([fe80::e916:c766:fc41:b51d]) by DM6PR11MB2955.namprd11.prod.outlook.com ([fe80::e916:c766:fc41:b51d%5]) with mapi id 15.20.3174.025; Thu, 16 Jul 2020 06:05:14 +0000 From: "Guomin Jiang" To: "devel@edk2.groups.io" , "jeremy.linton@arm.com" CC: "Wang, Jian J" , "Wu, Hao A" , "Ni, Ray" Subject: Re: [edk2-devel] [PATCH v3 1/1] MdeModulePkg/UsbBusDxe: Rebuild the description table after Reset Device Thread-Topic: [edk2-devel] [PATCH v3 1/1] MdeModulePkg/UsbBusDxe: Rebuild the description table after Reset Device Thread-Index: AQHWWj2DQEHxu/ajEU+2DtGyWSVA/akH0jDggADnO4CAAP2K4A== Date: Thu, 16 Jul 2020 06:05:14 +0000 Message-ID: References: <20200509082651.327-1-guomin.jiang@intel.com> <99b5a21c-96e3-6131-76a3-78d24d6a26f3@arm.com> <7850ace3-7a37-fe6e-56bd-9de467b2a103@arm.com> In-Reply-To: <7850ace3-7a37-fe6e-56bd-9de467b2a103@arm.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-version: 11.2.0.6 dlp-product: dlpe-windows dlp-reaction: no-action authentication-results: edk2.groups.io; dkim=none (message not signed) header.d=none;edk2.groups.io; dmarc=none action=none header.from=intel.com; x-originating-ip: [192.102.204.45] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 5b4e50f4-9be2-4776-fe28-08d8294e351a x-ms-traffictypediagnostic: DM6PR11MB3899: x-ld-processed: 46c98d88-e344-4ed4-8496-4ed7712e255d,ExtAddr x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:10000; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: mgwA9Jy38niqPLWxggqyFiDXSzpuzodvOrp5JvM4vbEb7mbWaPi7b+zYIj/5h9xCi3KdOqlzBQDYGTBes5bYg6I3NEvmPM9+zpWHOlNDInueVyA0wWkZs7gcQQebsWh+ncUG3jm+gAFI149AoFJxCFEVuTNOrfASjL5O3q/wYqAxQ07tfNhRNHIpJH4vl57bDKeRi69qZRZqVc3xcq9ayebBCOljeoulDrX1JPHQPmmSmhQNsAEgLKdS8fVbyQxyoMN7O/nAk1LQISQFdlMvkVdcp/VEMg7Hj/DYpZRczIyOZQStfyf31/+r1EVpibPK3tbFlTGcpol7unuId9N62D4+n5Xd2J8KcXuqGQPFNAJ24XheqfcDaVZRzfAuB4RPCU+8ZVrFxTBPmY5xEGCtoQ== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM6PR11MB2955.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFTY:;SFS:(4636009)(366004)(136003)(396003)(346002)(376002)(39860400002)(316002)(107886003)(8676002)(966005)(110136005)(186003)(26005)(54906003)(30864003)(86362001)(52536014)(4326008)(478600001)(8936002)(33656002)(6506007)(66556008)(66476007)(53546011)(9686003)(76116006)(66946007)(2906002)(7696005)(64756008)(5660300002)(71200400001)(83380400001)(55016002)(66446008);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata: NSs8GNJjdej/b5dNCbW+GHdNEU7RPqwCAgV8Yz0J944//gdgRQJ6m3ZGa0iguKDJYKDuOMGIPZuVE4CQ/gdmby8H6bafpoDeNUi/2DJOyxBZtOI92+jGRfPzTAUV3vJQdFvSn7fRseCK3gXRmnB/x3s3YotXWn3vX63QiCGC0Re7fCrVUkySENG6UkQdJEWcoORS8JK/ZA1QJhkwTgGv27LfxoPRi1WW8SXOjqNnDch+2hqKtYhuADE0neKiwFciE8cWB6WOOs/x3adTOpJqAjh5TcrjcCPdeusDWncVf8QucmXBj031aw5lGvtLOAfxXDqq82vIhEUrJStgUijJyFiPLynGdyqh0lnm3OgPFxp/bRQVzx75uMC75EdA5tAui8T+NGLXXUPv/5W1YTbvcQPYQ8pmCmQ83OXByLuWEWARVd6DCcqa7+vfjyfhv/VmDD3/s2yTTx9xj42QchSRNuOPJ35UutKi9HlN8t8KXzxTwhRP842RxzlegIVoVlaD MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM6PR11MB2955.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 5b4e50f4-9be2-4776-fe28-08d8294e351a X-MS-Exchange-CrossTenant-originalarrivaltime: 16 Jul 2020 06:05:14.7235 (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: Q6tih5WckYlW0d48YHZvckBr5grmniZe0iEAJsf5dX/xhgkeBge7A4Doiqf6bi07oBmgzOF6BPFDSDHbfuVYqA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR11MB3899 Return-Path: guomin.jiang@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SGkgSmVyZW15LA0KDQpJIGtub3cgdGhhdCB5b3Ugd2FudCB0byBjb250aW51ZSBib290aW5nIHdp dGhvdXQgQVNTRVJULg0KDQpCdXQgd2hhdCBJIGNhcmUgaXMgdGhhdCB3aHkgdGhlIGRldmljZSBl cnJvciBoYXBwZW5lZCBhbmQgaWYgdGhlIGNoYW5nZSBpcyB0aGUgY29ycmVjdCBlcnJvciBoYW5k aW5nLg0KDQpUaGUgY2hhbmdlIGNhbiBtYWtlIHRoZSBBU1NFUlQgZGlzYXBwZWFyLCBidXQgdGhl IGRldmljZSBzdGlsbCBub3Qgd29yayBhZnRlciBpdCwgc28gdGhlcmUgYXJlIHNvbWUgb3RoZXIg cG90ZW50aWFsIGlzc3VlIG9yIHRoZSBkZXZpY2UgaXRzZWxmIGhhdmUgc29tZSBlcnJvciByYXRo ZXIgdGhhbiBmaXJtd2FyZS4NCg0KU28gdGhlIGNoYW5nZSBjYW4ndCBiZSBjaGVja2VkIGluIHRo ZSBtYXN0ZXIgbm93Lg0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IGRl dmVsQGVkazIuZ3JvdXBzLmlvIDxkZXZlbEBlZGsyLmdyb3Vwcy5pbz4gT24gQmVoYWxmIE9mIEpl cmVteQ0KPiBMaW50b24NCj4gU2VudDogV2VkbmVzZGF5LCBKdWx5IDE1LCAyMDIwIDEwOjQ4IFBN DQo+IFRvOiBKaWFuZywgR3VvbWluIDxndW9taW4uamlhbmdAaW50ZWwuY29tPjsgZGV2ZWxAZWRr Mi5ncm91cHMuaW8NCj4gQ2M6IFdhbmcsIEppYW4gSiA8amlhbi5qLndhbmdAaW50ZWwuY29tPjsg V3UsIEhhbyBBIDxoYW8uYS53dUBpbnRlbC5jb20+Ow0KPiBOaSwgUmF5IDxyYXkubmlAaW50ZWwu Y29tPg0KPiBTdWJqZWN0OiBSZTogW2VkazItZGV2ZWxdIFtQQVRDSCB2MyAxLzFdIE1kZU1vZHVs ZVBrZy9Vc2JCdXNEeGU6DQo+IFJlYnVpbGQgdGhlIGRlc2NyaXB0aW9uIHRhYmxlIGFmdGVyIFJl c2V0IERldmljZQ0KPiANCj4gDQo+IEhpLA0KPiANCj4gT24gNy8xNC8yMCA4OjA3IFBNLCBKaWFu ZywgR3VvbWluIHdyb3RlOg0KPiA+IEhpIEplcmVteSwNCj4gPg0KPiA+IFdlIHRlc3QgbWFueSBk aWZmZXJlbnQgZGV2aWNlIGFuZCBmb3VuZCBzb21lIGRldmljZSBoYXZlbid0IHJlcHJvZHVjZWQN Cj4gdGhlIGlzc3VlLg0KPiA+DQo+ID4gV2UgbmVlZCB0byBmaWd1cmUgb3V0IHRoZSByb290IGNh dXNlIHJhdGhlciB0aGFuIHdvcmsgYXJvdW5kLg0KPiANCj4gWWVzLCB0aGVyZSBhcmUgdHdvIHBy b2JsZW1zIGluIG15IGNhc2UuIFRoZSBmaXJzdCBpcyBzcGVjaWZpYyB0byB0aGUgZGV2aWNlLCBp bg0KPiB0aGF0IGl0IGNhbiBiZSBwdXQgaW50byBhIHN0YXRlIChsb3cgcG93ZXIgc3B1biBkb3du IElJUkMpIHdoZXJlIHRoZSBpbmRpdmlkdWFsDQo+IGRpc2tzIGFyZSByZXNwb25kaW5nIHdpdGgg YSA1LzI0MDAgKGludmFsaWQgY29tbWFuZCkuIEJ1dCwgaW4gdGhlb3J5IHRoZXJlDQo+IGFyZSBh IGxvdCBvZiBjYXNlcyBsaWtlIHRoaXMgd2hlcmUgbWFyZ2luYWwgY2FibGVzL2JhZCBkZXZpY2Vz L2V0YywgYXJlIGdvaW5nIHRvDQo+IHJlc3VsdCBpbiBlcnJvcnMuDQo+IA0KPiBUaGUgc2Vjb25k IHByb2JsZW0gaXMgdGhpcyBvbmUsIHdoZXJlIGFueSBkZXZpY2UgdGhhdCB0aGUgc3Vic3lzdGVt IHRoaW5rcw0KPiBuZWVkcyByZXNldHRpbmcgKGFzIHBhcnQgb2YgdGhlIHJlY292ZXJ5IHByb2Nl c3MpIGNyYXNoZXMgdGhlIGZpcm13YXJlLiBUaGlzDQo+IGJ1ZyBpcyBwcmV0dHkgY2xlYXIsIHRo ZSBkZXNjcmlwdG9yIGNhY2hlIGJlaW5nIG1haW50YWluZWQgYnkgWEhDSSBpcyBiZWluZw0KPiBj bGVhcmVkLCBhbmQgdGhlIHhoY2kgZHJpdmVyIGl0c2VsZiBpcyBkZXBlbmRpbmcgb24gdGhhdCBj YWNoZSB0byBoYW5kbGUNCj4gb3BlcmF0aW9ucy4gV2l0aG91dCBmaXhpbmcgaXQsIHRoZXJlIGFy ZSBudWxsIHBvaW50ZXIgZGVyZWZlcmVuY2VzIG9uIGp1c3QNCj4gYWJvdXQgYW55IGVycm9yIGNv bmRpdGlvbiB0aGF0IGNhbiBoYXBwZW4gb24gdGhlIFVTQiBidXMuIFRoaXMgaXMgYSBmYXIgbGFy Z2VyDQo+IHByb2JsZW0gSU1ITyB0aGFuIHdoZXRoZXIgb3Igbm90IGEgcGFydGljdWxhciBkZXZp Y2UgaXMgd29ya2luZy4gSW4gbXkgY2FzZSwNCj4gSSBkb24ndCBuZWVkL3dhbnQgdGhlIEpCT0Qg dG8gYmUgdXNlZCBieSB0aGUgZmlybXdhcmUsIGJ1dCBJIGRvIHdhbnQgdGhlDQo+IG1hY2hpbmUg dG8gYm9vdCB3aGVuIHRoYXQgZGV2aWNlIGlzIHBsdWdnZWQgaW4uDQo+IA0KPiBTbywgZWl0aGVy IHRoZSB1c2Igc3Vic3lzdGVtIHVzZXMgdGhlIHNhbWUgKHJlKWluaXRpYWxpemF0aW9uIHNlcXVl bmNlDQo+IGZvbGxvd2luZyBhIHJlc2V0IGFzIGl0IGRvZXMgaW5pdGlhbGx5LCBvciB0aGUgWEhD SSBkcml2ZXIgbmVlZHMgdG8gYmUgdHdlYWtlZCB0bw0KPiBlaXRoZXIgbm90IGRyb3AgdGhlIGRl c2NyaXB0b3IgY2FjaGUgZHVyaW5nIHJlc2V0LCBvciByZWJ1aWxkIGl0IHdoZW4gaXQNCj4gZGV0 ZWN0cyBpdHMgbWlzc2luZy4NCj4gDQo+IA0KPiBUaGFua3MsDQo+IA0KPiANCj4gDQo+ID4NCj4g PiBCZXN0IFJlZ2FyZHMNCj4gPiBHdW9taW4NCj4gPj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0t LS0NCj4gPj4gRnJvbTogSmVyZW15IExpbnRvbiA8amVyZW15LmxpbnRvbkBhcm0uY29tPg0KPiA+ PiBTZW50OiBXZWRuZXNkYXksIEp1bHkgMTUsIDIwMjAgODoxOSBBTQ0KPiA+PiBUbzogSmlhbmcs IEd1b21pbiA8Z3VvbWluLmppYW5nQGludGVsLmNvbT47IGRldmVsQGVkazIuZ3JvdXBzLmlvDQo+ ID4+IENjOiBXYW5nLCBKaWFuIEogPGppYW4uai53YW5nQGludGVsLmNvbT47IFd1LCBIYW8gQQ0K PiA+PiA8aGFvLmEud3VAaW50ZWwuY29tPjsgTmksIFJheSA8cmF5Lm5pQGludGVsLmNvbT4NCj4g Pj4gU3ViamVjdDogUmU6IFtQQVRDSCB2MyAxLzFdIE1kZU1vZHVsZVBrZy9Vc2JCdXNEeGU6IFJl YnVpbGQgdGhlDQo+ID4+IGRlc2NyaXB0aW9uIHRhYmxlIGFmdGVyIFJlc2V0IERldmljZQ0KPiA+ Pg0KPiA+PiBIaSwNCj4gPj4NCj4gPj4gT24gNS85LzIwIDM6MjYgQU0sIEd1b21pbiBKaWFuZyB3 cm90ZToNCj4gPj4+IFJFRjogaHR0cHM6Ly9idWd6aWxsYS50aWFub2NvcmUub3JnL3Nob3dfYnVn LmNnaT9pZD0yNjk0DQo+ID4+Pg0KPiA+Pj4gV2hlbiB0aGUgVVNCIGZhaWwgYW5kIHRoZW4gUmVz ZXQgRGV2aWNlLCBpdCBzaG91bGQgcmVidWlsZCBkZXNjcmlwdGlvbi4NCj4gPj4NCj4gPj4NCj4g Pj4gSSBwdWxsZWQgdGhlIGxhdGVzdCBlZGsyIGEgZmV3IGhvdXJzIGFnbyBhbmQgSSdtIHN0aWxs IHNlZWluZyB0aGUNCj4gPj4gYXNzZXJ0IFRyc1JpbmcgIT0gMCBtZXNzYWdlcyBvbiBhIHJlYWwg WEhDSSBjb250cm9sbGVyIHdpdGggdGhlDQo+ID4+IGptaWNyb24gSkJPRCBJIG1lbnRpb25lZCBl YXJsaWVyLg0KPiA+Pg0KPiA+PiBJcyB0aGVyZSBhIG5ld2VyIHZlcnNpb24gb2YgdGhpcyBwYXRj aD8NCj4gPj4NCj4gPj4gVGhhbmtzLA0KPiA+Pg0KPiA+Pg0KPiA+Pg0KPiA+Pj4NCj4gPj4+IFNp Z25lZC1vZmYtYnk6IEd1b21pbiBKaWFuZyA8Z3VvbWluLmppYW5nQGludGVsLmNvbT4NCj4gPj4+ IENjOiBKaWFuIEogV2FuZyA8amlhbi5qLndhbmdAaW50ZWwuY29tPg0KPiA+Pj4gQ2M6IEhhbyBB IFd1IDxoYW8uYS53dUBpbnRlbC5jb20+DQo+ID4+PiBDYzogUmF5IE5pIDxyYXkubmlAaW50ZWwu Y29tPg0KPiA+Pj4gLS0tDQo+ID4+PiAgICBNZGVNb2R1bGVQa2cvQnVzL1VzYi9Vc2JCdXNEeGUv VXNiQnVzLmMgIHwgICA3ICsrDQo+ID4+PiAgICBNZGVNb2R1bGVQa2cvQnVzL1VzYi9Vc2JCdXNE eGUvVXNiRGVzYy5jIHwgMTUyDQo+ID4+ICsrKysrKysrKysrKysrKysrKysrKysrDQo+ID4+PiAg ICBNZGVNb2R1bGVQa2cvQnVzL1VzYi9Vc2JCdXNEeGUvVXNiRGVzYy5oIHwgIDE0ICsrKw0KPiA+ Pj4gICAgMyBmaWxlcyBjaGFuZ2VkLCAxNzMgaW5zZXJ0aW9ucygrKQ0KPiA+Pj4NCj4gPj4+IGRp ZmYgLS1naXQgYS9NZGVNb2R1bGVQa2cvQnVzL1VzYi9Vc2JCdXNEeGUvVXNiQnVzLmMNCj4gPj4+ IGIvTWRlTW9kdWxlUGtnL0J1cy9Vc2IvVXNiQnVzRHhlL1VzYkJ1cy5jDQo+ID4+PiBpbmRleCA0 YjQ5MTVjMDE5YWQuLjdiYjkzNzNhNmFkZiAxMDA2NDQNCj4gPj4+IC0tLSBhL01kZU1vZHVsZVBr Zy9CdXMvVXNiL1VzYkJ1c0R4ZS9Vc2JCdXMuYw0KPiA+Pj4gKysrIGIvTWRlTW9kdWxlUGtnL0J1 cy9Vc2IvVXNiQnVzRHhlL1VzYkJ1cy5jDQo+ID4+PiBAQCAtODc0LDYgKzg3NCwxMyBAQCBVc2JJ b1BvcnRSZXNldCAoDQo+ID4+PiAgICAgIC8vIGlzIGluIENPTkZJR1VSRUQgc3RhdGUuDQo+ID4+ PiAgICAgIC8vDQo+ID4+PiAgICAgIGlmIChEZXYtPkFjdGl2ZUNvbmZpZyAhPSBOVUxMKSB7DQo+ ID4+PiArICAgIFN0YXR1cyA9IFVzYlJlYnVpbGREZXNjVGFibGUgKERldik7DQo+ID4+PiArDQo+ ID4+PiArICAgIGlmIChFRklfRVJST1IgKFN0YXR1cykpIHsNCj4gPj4+ICsgICAgICBERUJVRyAo KCBERUJVR19FUlJPUiwgIlVzYklvUG9ydFJlc2V0OiBmYWlsZWQgdG8gcmVidWlsZCBkZXNjDQo+ ID4+PiArIHRhYmxlDQo+ID4+IC0gJXJcbiIsIFN0YXR1cykpOw0KPiA+Pj4gKyAgICAgIGdvdG8g T05fRVhJVDsNCj4gPj4+ICsgICAgfQ0KPiA+Pj4gKw0KPiA+Pj4gICAgICAgIFN0YXR1cyA9IFVz YlNldENvbmZpZyAoRGV2LA0KPiA+Pj4gRGV2LT5BY3RpdmVDb25maWctPkRlc2MuQ29uZmlndXJh dGlvblZhbHVlKTsNCj4gPj4+DQo+ID4+PiAgICAgICAgaWYgKEVGSV9FUlJPUiAoU3RhdHVzKSkg ew0KPiA+Pj4gZGlmZiAtLWdpdCBhL01kZU1vZHVsZVBrZy9CdXMvVXNiL1VzYkJ1c0R4ZS9Vc2JE ZXNjLmMNCj4gPj4+IGIvTWRlTW9kdWxlUGtnL0J1cy9Vc2IvVXNiQnVzRHhlL1VzYkRlc2MuYw0K PiA+Pj4gaW5kZXggYjA4MTg4YjFiYzc4Li5kOGU1ZTUwYjdjNWEgMTAwNjQ0DQo+ID4+PiAtLS0g YS9NZGVNb2R1bGVQa2cvQnVzL1VzYi9Vc2JCdXNEeGUvVXNiRGVzYy5jDQo+ID4+PiArKysgYi9N ZGVNb2R1bGVQa2cvQnVzL1VzYi9Vc2JCdXNEeGUvVXNiRGVzYy5jDQo+ID4+PiBAQCAtOTAwLDYg KzkwMCwxNTggQEAgVXNiQnVpbGREZXNjVGFibGUgKA0KPiA+Pj4gICAgICByZXR1cm4gRUZJX1NV Q0NFU1M7DQo+ID4+PiAgICB9DQo+ID4+Pg0KPiA+Pj4gKy8qKg0KPiA+Pj4gKyAgQ29weSB0aGUg aW50ZXJmYWNlIGRlc2NyaXB0b3INCj4gPj4+ICsNCj4gPj4+ICsgIEBwYXJhbVtvdXRdICBEZXNj QnVmICAgICAgICAgICAgICAgVGhlIGJ1ZmZlciBvZiByYXcgZGVzY3JpcHRvci4NCj4gPj4+ICsg IEBwYXJhbVtpbl0gICBTcmNCdWYgICAgICAgICAgICAgICAgVGhlIGJ1ZmZlciBvZiByYXcgZGVz Y3JpcHRvcg0KPiA+Pj4gKyoqLw0KPiA+Pj4gK1ZPSUQNCj4gPj4+ICtVc2JDb3B5SW50ZXJmYWNl RGVzYyAoDQo+ID4+PiArICBPVVQgVVNCX0lOVEVSRkFDRV9ERVNDICAqRGVzY0J1ZiwNCj4gPj4+ ICsgIElOICBVU0JfSU5URVJGQUNFX0RFU0MgICpTcmNCdWYNCj4gPj4+ICsgICkNCj4gPj4+ICt7 DQo+ID4+PiArICBVSU5UTiAgICAgICAgICAgICAgICAgICBJbmRleCwgSW5kZXhJOw0KPiA+Pj4g Kw0KPiA+Pj4gKyAgQVNTRVJUICgoRGVzY0J1ZiAhPSBOVUxMKSAmJiAoU3JjQnVmICE9IE5VTEwp KTsNCj4gPj4+ICsNCj4gPj4+ICsgIGlmIChEZXNjQnVmLT5OdW1PZlNldHRpbmcgPT0gU3JjQnVm LT5OdW1PZlNldHRpbmcpIHsNCj4gPj4+ICsgICAgRGVzY0J1Zi0+QWN0aXZlSW5kZXggPSBTcmNC dWYtPkFjdGl2ZUluZGV4Ow0KPiA+Pj4gKw0KPiA+Pj4gKyAgICBmb3IgKEluZGV4ID0gMDsgSW5k ZXggPCBEZXNjQnVmLT5OdW1PZlNldHRpbmc7IEluZGV4KyspIHsNCj4gPj4+ICsgICAgICBDb3B5 TWVtICgmRGVzY0J1Zi0+U2V0dGluZ3NbSW5kZXhdLT5EZXNjLA0KPiA+Pj4gKyAgICAgICAgICAg ICAgICAmU3JjQnVmLT5TZXR0aW5nc1tJbmRleF0tPkRlc2MsDQo+ID4+PiArICAgICAgICAgICAg ICAgIHNpemVvZihFRklfVVNCX0lOVEVSRkFDRV9ERVNDUklQVE9SKSk7DQo+ID4+PiArDQo+ID4+ PiArICAgICAgaWYgKERlc2NCdWYtPlNldHRpbmdzW0luZGV4XS0+RGVzYy5OdW1FbmRwb2ludHMg PT0NCj4gPj4+ICsgICAgICAgICAgIFNyY0J1Zi0+U2V0dGluZ3NbSW5kZXhdLT5EZXNjLk51bUVu ZHBvaW50cykgew0KPiA+Pj4gKw0KPiA+Pj4gKyAgICAgICAgZm9yIChJbmRleEkgPSAwOyBJbmRl eEkgPCBEZXNjQnVmLT5TZXR0aW5nc1tJbmRleF0tDQo+ID4+PiBEZXNjLk51bUVuZHBvaW50czsN Cj4gPj4+ICsgICAgICAgICAgSW5kZXhJKyspIHsNCj4gPj4+ICsgICAgICAgICAgQ29weU1lbSAo RGVzY0J1Zi0+U2V0dGluZ3NbSW5kZXhdLT5FbmRwb2ludHNbSW5kZXhJXSwNCj4gPj4+ICsgICAg ICAgICAgICAgICAgICAgIFNyY0J1Zi0+U2V0dGluZ3NbSW5kZXhdLT5FbmRwb2ludHNbSW5kZXhJ XSwNCj4gPj4+ICsgICAgICAgICAgICAgICAgICAgIHNpemVvZihVU0JfRU5EUE9JTlRfREVTQykp Ow0KPiA+Pj4gKyAgICAgICAgfQ0KPiA+Pj4gKyAgICAgIH0NCj4gPj4+ICsgICAgfQ0KPiA+Pj4g KyAgfQ0KPiA+Pj4gK30NCj4gPj4+ICsNCj4gPj4+ICsvKioNCj4gPj4+ICsgIENvcHkgdGhlIGNv bmZpZ3VyYXRpb24gZGVzY3JpcHRvciBhbmQgaXRzIGludGVyZmFjZXMuDQo+ID4+PiArDQo+ID4+ PiArICBAcGFyYW1bb3V0XSAgRGVzY0J1ZiAgICAgICAgICAgICAgIFRoZSBidWZmZXIgb2YgcmF3 IGRlc2NyaXB0b3IuDQo+ID4+PiArICBAcGFyYW1baW5dICAgU3JjQnVmICAgICAgICAgICAgICAg IFRoZSBidWZmZXIgb2YgcmF3IGRlc2NyaXB0b3INCj4gPj4+ICsqKi8NCj4gPj4+ICtWT0lEDQo+ ID4+PiArVXNiQ29weUNvbmZpZ0Rlc2MgKA0KPiA+Pj4gKyAgT1VUIFVTQl9DT05GSUdfREVTQyAg ICpEZXNjQnVmLA0KPiA+Pj4gKyAgSU4gIFVTQl9DT05GSUdfREVTQyAgICpTcmNCdWYNCj4gPj4+ ICsgICkNCj4gPj4+ICt7DQo+ID4+PiArICBVSU5UTiAgICAgICAgICAgICAgICAgICBJbmRleDsN Cj4gPj4+ICsNCj4gPj4+ICsgIEFTU0VSVCAoKERlc2NCdWYgIT0gTlVMTCkgJiYgKFNyY0J1ZiAh PSBOVUxMKSk7DQo+ID4+PiArDQo+ID4+PiArICBpZiAoRGVzY0J1Zi0+RGVzYy5OdW1JbnRlcmZh Y2VzID09IFNyY0J1Zi0+RGVzYy5OdW1JbnRlcmZhY2VzKSB7DQo+ID4+PiArICAgIENvcHlNZW0g KCZEZXNjQnVmLT5EZXNjLCAmU3JjQnVmLT5EZXNjLA0KPiA+Pj4gKyBzaXplb2YoRUZJX1VTQl9D T05GSUdfREVTQ1JJUFRPUikpOw0KPiA+Pj4gKw0KPiA+Pj4gKyAgICBmb3IgKEluZGV4ID0gMDsg SW5kZXggPCBEZXNjQnVmLT5EZXNjLk51bUludGVyZmFjZXM7IEluZGV4KyspIHsNCj4gPj4+ICsg ICAgICBVc2JDb3B5SW50ZXJmYWNlRGVzYyAoRGVzY0J1Zi0+SW50ZXJmYWNlc1tJbmRleF0sIFNy Y0J1Zi0NCj4gPj4+IEludGVyZmFjZXNbSW5kZXhdKTsNCj4gPj4+ICsgICAgfQ0KPiA+Pj4gKyAg fQ0KPiA+Pj4gK30NCj4gPj4+ICsNCj4gPj4+ICsvKioNCj4gPj4+ICsgIFJlYnVpbGQgdGhlIHdo b2xlIGFycmF5IG9mIGRlc2NyaXB0b3JzLg0KPiA+Pj4gKw0KPiA+Pj4gKyAgQHBhcmFtW2luXSAg VXNiRGV2ICAgICAgICAgICAgICAgIFRoZSBVc2IgZGV2aWNlLg0KPiA+Pj4gKw0KPiA+Pj4gKyAg QHJldHZhbCBFRklfU1VDQ0VTUyAgICAgICAgICAgVGhlIGRlc2NyaXB0b3IgdGFibGUgaXMgYnVp bGQuDQo+ID4+PiArICBAcmV0dmFsIEVGSV9ERVZJQ0VfRVJST1IgICAgICBJbnZhbGlkIGNvbmZp Zw0KPiA+Pj4gKyAgQHJldHZhbCBPdGhlcnMgICAgICAgICAgICAgICAgQ29tbWFuZCBlcnJvciB3 aGVuIGdldCBkZXNjcmlwdG9yLg0KPiA+Pj4gKyoqLw0KPiA+Pj4gK0VGSV9TVEFUVVMNCj4gPj4+ ICtVc2JSZWJ1aWxkRGVzY1RhYmxlICgNCj4gPj4+ICsgIElOIFVTQl9ERVZJQ0UgICAgICAgICAg ICpVc2JEZXYNCj4gPj4+ICsgICkNCj4gPj4+ICt7DQo+ID4+PiArICBFRklfVVNCX0NPTkZJR19E RVNDUklQVE9SICpDb25maWc7DQo+ID4+PiArICBVU0JfQ09ORklHX0RFU0MgICAgICAgICAgICpD b25maWdEZXNjOw0KPiA+Pj4gKyAgVUlOVDggICAgICAgICAgICAgICAgICAgICBOdW1Db25maWc7 DQo+ID4+PiArICBFRklfU1RBVFVTICAgICAgICAgICAgICAgIFN0YXR1czsNCj4gPj4+ICsgIFVJ TlQ4ICAgICAgICAgICAgICAgICAgICAgSW5kZXg7DQo+ID4+PiArDQo+ID4+PiArICAvLw0KPiA+ Pj4gKyAgLy8gT3ZlcnJpZGUgdGhlIGRldmljZSBkZXNjcmlwdG9yLCBDdXJyZW50IGRldmljZSBm YWlsIGJ1dCB0aGUNCj4gPj4+ICsgb3JpZ2luYWwgIC8vIGRlc2NyaXB0b3IgcG9pbnRlciBhcnJh eSBpcyBzdGlsbCBleGlzdC4NCj4gPj4+ICsgIC8vDQo+ID4+PiArICBTdGF0dXMgID0gVXNiQ3Ry bEdldERlc2MgKA0KPiA+Pj4gKyAgICAgICAgICAgICAgVXNiRGV2LA0KPiA+Pj4gKyAgICAgICAg ICAgICAgVVNCX0RFU0NfVFlQRV9ERVZJQ0UsDQo+ID4+PiArICAgICAgICAgICAgICAwLA0KPiA+ Pj4gKyAgICAgICAgICAgICAgMCwNCj4gPj4+ICsgICAgICAgICAgICAgIFVzYkRldi0+RGV2RGVz YywNCj4gPj4+ICsgICAgICAgICAgICAgIHNpemVvZiAoRUZJX1VTQl9ERVZJQ0VfREVTQ1JJUFRP UikNCj4gPj4+ICsgICAgICAgICAgICAgICk7DQo+ID4+PiArDQo+ID4+PiArICBpZiAoRUZJX0VS Uk9SIChTdGF0dXMpKSB7DQo+ID4+PiArICAgIERFQlVHICgoREVCVUdfRVJST1IsICJVc2JSZWJ1 aWxkRGVzY1RhYmxlOiBmYWlsZWQgdG8gb3ZlcnJpZGUNCj4gPj4gZGV2aWNlIGRlc2NyaXB0b3Ig LSAlclxuIiwgU3RhdHVzKSk7DQo+ID4+PiArICAgIHJldHVybiBTdGF0dXM7DQo+ID4+PiArICB9 DQo+ID4+PiArDQo+ID4+PiArICBOdW1Db25maWcgPSBVc2JEZXYtPkRldkRlc2MtPkRlc2MuTnVt Q29uZmlndXJhdGlvbnM7DQo+ID4+PiArICBpZiAoTnVtQ29uZmlnID09IDApIHsNCj4gPj4+ICsg ICAgcmV0dXJuIEVGSV9ERVZJQ0VfRVJST1I7DQo+ID4+PiArICB9DQo+ID4+PiArDQo+ID4+PiAr ICBERUJVRyAoKERFQlVHX0lORk8sICJVc2JSZXVpbGREZXNjVGFibGU6IGRldmljZSBoYXMgJWQN Cj4gPj4+ICsgY29uZmlndXJlc1xuIiwgTnVtQ29uZmlnKSk7DQo+ID4+PiArDQo+ID4+PiArICAv Lw0KPiA+Pj4gKyAgLy8gUmVhZCBlYWNoIGNvbmZpZ3VyYXRpb25zLCB0aGVuIHBhcnNlIHRoZW0g IC8vICBmb3IgKEluZGV4ID0gMDsNCj4gPj4+ICsgSW5kZXggPCBOdW1Db25maWc7IEluZGV4Kysp IHsNCj4gPj4+ICsgICAgQ29uZmlnID0gVXNiR2V0T25lQ29uZmlnIChVc2JEZXYsIEluZGV4KTsN Cj4gPj4+ICsNCj4gPj4+ICsgICAgaWYgKENvbmZpZyA9PSBOVUxMKSB7DQo+ID4+PiArICAgICAg REVCVUcgKChERUJVR19JTkZPLCAiVXNiUmVidWlsZERlc2NUYWJsZTogZmFpbGVkIHRvIGdldA0K PiA+Pj4gKyBjb25maWd1cmUgKGluZGV4ICVkKVxuIiwgSW5kZXgpKTsNCj4gPj4+ICsNCj4gPj4+ ICsgICAgICAvLw0KPiA+Pj4gKyAgICAgIC8vIElmIHdlIGNhbiBnZXQgdGhlIGRlZmF1bHQgZGVz Y3JpcHRvciwgaXQgaXMgbGlrZWx5IHRoYXQgdGhlDQo+ID4+PiArICAgICAgLy8gZGV2aWNlIGlz IHN0aWxsIG9wZXJhdGlvbmFsLg0KPiA+Pj4gKyAgICAgIC8vDQo+ID4+PiArICAgICAgaWYgKElu ZGV4ID09IDApIHsNCj4gPj4+ICsgICAgICAgIHJldHVybiBFRklfREVWSUNFX0VSUk9SOw0KPiA+ Pj4gKyAgICAgIH0NCj4gPj4+ICsNCj4gPj4+ICsgICAgICBicmVhazsNCj4gPj4+ICsgICAgfQ0K PiA+Pj4gKw0KPiA+Pj4gKyAgICBDb25maWdEZXNjID0gVXNiUGFyc2VDb25maWdEZXNjICgoVUlO VDggKikgQ29uZmlnLA0KPiA+Pj4gKyBDb25maWctPlRvdGFsTGVuZ3RoKTsNCj4gPj4+ICsNCj4g Pj4+ICsgICAgRnJlZVBvb2wgKENvbmZpZyk7DQo+ID4+PiArDQo+ID4+PiArICAgIGlmIChDb25m aWdEZXNjID09IE5VTEwpIHsNCj4gPj4+ICsgICAgICBERUJVRyAoKERFQlVHX0VSUk9SLCAiVXNi UmVidWlsZERlc2NUYWJsZTogZmFpbGVkIHRvIHBhcnNlDQo+ID4+PiArIGNvbmZpZ3VyZSAoaW5k ZXggJWQpXG4iLCBJbmRleCkpOw0KPiA+Pj4gKw0KPiA+Pj4gKyAgICAgIC8vDQo+ID4+PiArICAg ICAgLy8gSWYgd2UgY2FuIGdldCB0aGUgZGVmYXVsdCBkZXNjcmlwdG9yLCBpdCBpcyBsaWtlbHkg dGhhdCB0aGUNCj4gPj4+ICsgICAgICAvLyBkZXZpY2UgaXMgc3RpbGwgb3BlcmF0aW9uYWwuDQo+ ID4+PiArICAgICAgLy8NCj4gPj4+ICsgICAgICBpZiAoSW5kZXggPT0gMCkgew0KPiA+Pj4gKyAg ICAgICAgcmV0dXJuIEVGSV9ERVZJQ0VfRVJST1I7DQo+ID4+PiArICAgICAgfQ0KPiA+Pj4gKw0K PiA+Pj4gKyAgICAgIGJyZWFrOw0KPiA+Pj4gKyAgICB9IGVsc2Ugew0KPiA+Pj4gKyAgICAgIFVz YkNvcHlDb25maWdEZXNjIChVc2JEZXYtPkRldkRlc2MtPkNvbmZpZ3NbSW5kZXhdLCBDb25maWdE ZXNjKTsNCj4gPj4+ICsgICAgICBVc2JGcmVlQ29uZmlnRGVzYyAoQ29uZmlnRGVzYyk7DQo+ID4+ PiArICAgIH0NCj4gPj4+ICsgIH0NCj4gPj4+ICsNCj4gPj4+ICsgIHJldHVybiBFRklfU1VDQ0VT UzsNCj4gPj4+ICt9DQo+ID4+Pg0KPiA+Pj4gICAgLyoqDQo+ID4+PiAgICAgIFNldCB0aGUgZGV2 aWNlJ3MgYWRkcmVzcy4NCj4gPj4+IGRpZmYgLS1naXQgYS9NZGVNb2R1bGVQa2cvQnVzL1VzYi9V c2JCdXNEeGUvVXNiRGVzYy5oDQo+ID4+PiBiL01kZU1vZHVsZVBrZy9CdXMvVXNiL1VzYkJ1c0R4 ZS9Vc2JEZXNjLmgNCj4gPj4+IGluZGV4IDdiMGM3N2ZkYzc5Yy4uNTQzNjcxMzMyNDFhIDEwMDY0 NA0KPiA+Pj4gLS0tIGEvTWRlTW9kdWxlUGtnL0J1cy9Vc2IvVXNiQnVzRHhlL1VzYkRlc2MuaA0K PiA+Pj4gKysrIGIvTWRlTW9kdWxlUGtnL0J1cy9Vc2IvVXNiQnVzRHhlL1VzYkRlc2MuaA0KPiA+ Pj4gQEAgLTE2OSw2ICsxNjksMjAgQEAgVXNiQnVpbGREZXNjVGFibGUgKA0KPiA+Pj4gICAgICBJ TiBVU0JfREVWSUNFICAgICAgICAgICAqVXNiRGV2DQo+ID4+PiAgICAgICk7DQo+ID4+Pg0KPiA+ Pj4gKy8qKg0KPiA+Pj4gKyAgUmVidWlsZCB0aGUgd2hvbGUgYXJyYXkgb2YgZGVzY3JpcHRvcnMu DQo+ID4+PiArDQo+ID4+PiArICBAcGFyYW1baW5dICBVc2JEZXYgICAgICAgICAgICAgICAgVGhl IFVzYiBkZXZpY2UuDQo+ID4+PiArDQo+ID4+PiArICBAcmV0dmFsIEVGSV9TVUNDRVNTICAgICAg ICAgICBUaGUgZGVzY3JpcHRvciB0YWJsZSBpcyBidWlsZC4NCj4gPj4+ICsgIEByZXR2YWwgRUZJ X0RFVklDRV9FUlJPUiAgICAgIEludmFsaWQgY29uZmlnDQo+ID4+PiArICBAcmV0dmFsIE90aGVy cyAgICAgICAgICAgICAgICBDb21tYW5kIGVycm9yIHdoZW4gZ2V0IGRlc2NyaXB0b3IuDQo+ID4+ PiArKiovDQo+ID4+PiArRUZJX1NUQVRVUw0KPiA+Pj4gK1VzYlJlYnVpbGREZXNjVGFibGUgKA0K PiA+Pj4gKyAgSU4gVVNCX0RFVklDRSAgICAgICAgICAgKlVzYkRldg0KPiA+Pj4gKyAgKTsNCj4g Pj4+ICsNCj4gPj4+ICAgIC8qKg0KPiA+Pj4gICAgICBTZXQgdGhlIGRldmljZSdzIGFkZHJlc3Mu DQo+ID4+Pg0KPiA+Pj4NCj4gPg0KPiANCj4gDQo+IA0KDQo=