From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by mx.groups.io with SMTP id smtpd.web11.1201.1610585096844719170 for ; Wed, 13 Jan 2021 16:44:57 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=Yawe8fRm; spf=pass (domain: intel.com, ip: 134.134.136.20, mailfrom: heng.luo@intel.com) IronPort-SDR: 4LMlCWiOehXHijMzvkhb29vxdWs51Y82k+F8RFIdI8fxzNyIjuym8f9UBWpPShFRrkEGTNeoBk l+z1ldnAVmxA== X-IronPort-AV: E=McAfee;i="6000,8403,9863"; a="165377831" X-IronPort-AV: E=Sophos;i="5.79,345,1602572400"; d="scan'208";a="165377831" Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by orsmga101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 13 Jan 2021 16:44:55 -0800 IronPort-SDR: iniCeP9Ady5JESLDp6+QuFHIrgAIHjf5Lh5rpbZVdpv+A7JeaOb+dY5/41G5fQISIXUrkzw8NL 2RZe9lyM9PsA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.79,345,1602572400"; d="scan'208";a="400731787" Received: from orsmsx603.amr.corp.intel.com ([10.22.229.16]) by fmsmga002.fm.intel.com with ESMTP; 13 Jan 2021 16:44:55 -0800 Received: from orsmsx606.amr.corp.intel.com (10.22.229.19) by ORSMSX603.amr.corp.intel.com (10.22.229.16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Wed, 13 Jan 2021 16:44:54 -0800 Received: from ORSEDG601.ED.cps.intel.com (10.7.248.6) by orsmsx606.amr.corp.intel.com (10.22.229.19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5 via Frontend Transport; Wed, 13 Jan 2021 16:44:54 -0800 Received: from NAM12-MW2-obe.outbound.protection.outlook.com (104.47.66.40) by edgegateway.intel.com (134.134.137.102) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.1713.5; Wed, 13 Jan 2021 16:44:54 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=j7a+jl82ANCsgk/CmpygppoYEupe5Eq7v9HAJblg8pfCaM0KCnctP9lAbdEwKi/fkgEPO24Kj1sexCw9Hlybsbybtw6mJCciUjiylHn4nyKz8wbK+WtXoYQEpBXGSicDmzMdtcGTuIPX7Rey5SZnozraj2HbxrBkMMCSuhuDtoMUrDkYSexJ7s5qQ7DCHSLczFAADghNcOPeJwj/bLqvsWVJy4qtzMdttUQOeI7Q7KikqHWBPgFE85H6Lq3HvKR3ao8rK+trKyLwn2dg3Z7lDfasdTu0nbIonL3ZxxxTMu/M9QFAtCqUJyuJ5c/T3qUhtBsLuss22xT1JzuZJo+7FA== 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=bURoQ8ER8nXwQXuPRqsH6x9AcgfRYE0r0dlhd0050x4=; b=CuzQoAf1hhBtUFvTwKfE3CLtiPE+QUNKlqOucj+UYeiZnKscMI2TjZ0jeE0szcHR/fjTONj3tqypZXxE6y1FOowRTHcpbp66/xH2qUi9t2kNVK40bksHbgenCtJj7EjCz0SZ4YhlpfeM9rAW5fgliofjCYW5MsMXBRcQNfmed+USD+QzgAzHLD9Zk3ZsSXUbnEeq8zt2P7AEy7PNe4ThgY/cHYwuB+9BxIYO8L3wzYSwuACV2ypQoDaD7cZjNAR9Mhf/LWkcgEyHgTWlXOi6+n+POzk095XqMmFR01ztY6sIYRH2h2Ud0SsFgWqPtQouTOrTeMMkFLrLzUXh1/Vv/Q== 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=bURoQ8ER8nXwQXuPRqsH6x9AcgfRYE0r0dlhd0050x4=; b=Yawe8fRm1z6MQZEbSWba395eTZhVJUcATlqY7bRmyp9A0V7LC+N4qDXgYSxCOkz5gUrPdHUiBMvRvmOTfMs5AzhoLNZwfZVBL/YS2pl+qo2CQYzidzOXr09+kffOsfIcB9fmXV6hTj9Jcpmhdn1EAvU55627MnGgQ7iIW6eJ2Xc= Received: from MWHPR11MB1805.namprd11.prod.outlook.com (2603:10b6:300:114::14) by CO1PR11MB4850.namprd11.prod.outlook.com (2603:10b6:303:9c::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3763.10; Thu, 14 Jan 2021 00:44:53 +0000 Received: from MWHPR11MB1805.namprd11.prod.outlook.com ([fe80::9dfe:4053:9b88:6786]) by MWHPR11MB1805.namprd11.prod.outlook.com ([fe80::9dfe:4053:9b88:6786%4]) with mapi id 15.20.3742.012; Thu, 14 Jan 2021 00:44:53 +0000 From: "Heng Luo" To: "devel@edk2.groups.io" , "lersek@redhat.com" , "Ni, Ray" , "Wu, Hao A" CC: "Kinney, Michael D" Subject: Re: [edk2-devel] [Patch V3 2/2] MdeModulePkg/Bus/Pci/PciBusDxe: Support PCIe Resizable BAR Capability Thread-Topic: [edk2-devel] [Patch V3 2/2] MdeModulePkg/Bus/Pci/PciBusDxe: Support PCIe Resizable BAR Capability Thread-Index: AQHW6FFFlEH83ht3wk2zgGGJisNY3KojRIMAgAHNeYCAAAH2AIAAAB0ggAAyt4CAAQTTkA== Date: Thu, 14 Jan 2021 00:44:53 +0000 Message-ID: References: <20210104065954.3901-1-heng.luo@intel.com> <20210104065954.3901-2-heng.luo@intel.com> <9a081622-94c8-d921-1631-b595f189c807@redhat.com> In-Reply-To: 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: 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.37] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 1c3ac40b-55ce-4587-5388-08d8b8259b7f x-ms-traffictypediagnostic: CO1PR11MB4850: 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: p/QqpPVpci7Ln9D6mInP1bt2alTusQatYwGHLDXYwHs9RrCpDT+aBNiDv0zULMsLu4h1044mt1vNJs6ftjrJTf93CzI/V5XnIc0OvfsoTAo9WMIF9d5Fw4UghSjlIUu0JYZrzEkq8BZHhLMkAANk3HYnTFGUE5U+BRqIR+JFS7EnArsjci9xIxBaDejqka0T+srmWhM55Y70vAsgqKnI4tZEwYgkxyVnG0pm5ZCBm/UsIK+3vegu58/WHsoIKnPuUwwM5DQvRY5XWZqwszWyVdPQbgbEP+3flSP+Wb8wG4bRMJZqpEx0ExOUSCJYybyXXDRWw5OrmJzPeNLj248ssry4GUbFeljXY92UPZwoLwKK6WsNiOe7GbNUTWn8/a1mTWlUJGKa5Db4PmWI1pp1biv3jUvKNMCglTT1k9RHYQmw9JIyYihr9YafdhscaoIB4miMZShOCwqij0NEtkx0Bg== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MWHPR11MB1805.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(376002)(366004)(136003)(396003)(39860400002)(346002)(33656002)(83380400001)(2906002)(8676002)(966005)(6506007)(53546011)(86362001)(316002)(4326008)(9686003)(6636002)(107886003)(71200400001)(7696005)(66476007)(66556008)(76116006)(52536014)(8936002)(66446008)(66946007)(64756008)(186003)(26005)(110136005)(5660300002)(55016002)(478600001);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata: =?utf-8?B?OXVmY01pMU5KRDM4SXFNN2hLRy9aLzZ4WUsyZEdtUFJESmsvK0w5RHBJWWc1?= =?utf-8?B?emRGRHhxTmNBTjRiQy9ESldPc0tSV3V1cDdzbDNaWjRjK2dmSkh5SVliWENE?= =?utf-8?B?czVRcno1c1JSZ3ppZ1Uxc0dBd3VLR2lQVVcrbUp2OTNlSHhtU09wajJlMmRv?= =?utf-8?B?N1hGWll3Nm5lbWNyYWFVZUhqVmR1akFvWmFyRElHNEtTWGwvSEQ2V3VZaHF2?= =?utf-8?B?TTkvZVMrTUo0MnVNNFpKRkFpVmpzS1I4eHFrSnRxMjIxMGJ3RzJObWpYT25w?= =?utf-8?B?cjk5ZFVXcEtjKzJrZm84ZFhxL0pGTEpBRW1tY2hnTUxMV1BVVGhiMkxkeHdK?= =?utf-8?B?U2p2T1FLdkQ5ZGR6eWE4My9vRThWck1FWTNNa3dmZHpGZ2wrWDJTc3BwNStj?= =?utf-8?B?cVZxNGwxRVRHSnV1Mldxcys5RkhOUzNKa09LbkNaR1I0YnNndC96ZEtoWERh?= =?utf-8?B?aVdhLzE0NStkcDJYNzFZUHpQUXcvV3dXamh4aTRxWEpMaEZ0OVB1UzNMaGtW?= =?utf-8?B?a2dNZjlSczR4aTcrWDFOOWFtTHYwd3IzTzI0VEYxdFpZS3Q2TWM1ejZ1MFhL?= =?utf-8?B?bEdQNHhiZjNBUGJYeklBcHJ0ckRXQ1hwYkoyaHZ4TDRxM0EzaUtLaVA2RitL?= =?utf-8?B?V1RCT28yaEU3K2ZDSWFNYzhsOHQ1eGZQVDB5ZjBpY0lySkFxWkxtYmlIay9Z?= =?utf-8?B?VnpHVDhnc1F5cG1SZ3JUNlZ4L0NneVoveFlyM3ZIT3krTVJZclV4dTZOc0hR?= =?utf-8?B?cEhaZmk3OStsYkNZb0FlcjBjNnVURDZRWkVwSUlhU0VWZHFzeUFRd3Vrb283?= =?utf-8?B?SW5aTWllSFBYdWVTc2Y2bC9VVXlsZ2FzSm5jMGMrM0YwZXg5bGdOcmNaMnVs?= =?utf-8?B?Ym11RVVsV21KYnVoSmYrdGhKWmcwU2dQMEVabVRZSEZWU3hlU2NSWHZ6aVNl?= =?utf-8?B?VExBZm5RMFFUeDJtMmt0VUtReEkwZ0Z6VVFmNXdIZmwxOGNSMlJqcStIM0pH?= =?utf-8?B?T0hyZHBmRy9Dd0RBRy8wVmZDaTVvTGg5SFNaTXIweWZxSzFhaGRaVXNNN055?= =?utf-8?B?UlZMR3JjU2FZRzlHbkx5d3Z1TWlBZ2Z2MENVU2pveTdLK0drMzZwOUZkcmhP?= =?utf-8?B?cmc0WmdMNU1DSEZiTHR0WmtWdk1VOXg1YzhjczN3WDd3cDVDQWdjL2xFaTFr?= =?utf-8?B?VkZUYmR3RGQ4TW0vTS9MbmJxSzhTOUwzUjI3WlNiV1E1WlQ0Q2lCbXFVSnhv?= =?utf-8?B?dkFJZmhoNjlYbjJjQ1llenloM3lNUEJOeVpjTktTTVdhcFVwait2cnQxS3ph?= =?utf-8?Q?ss9AO7cICX8T4=3D?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MWHPR11MB1805.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1c3ac40b-55ce-4587-5388-08d8b8259b7f X-MS-Exchange-CrossTenant-originalarrivaltime: 14 Jan 2021 00:44:53.3629 (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: rei1bWjy5ACuU2yFjVYjiSWXkDm8UC0bOnCmXgaptyv/vppBVdZ85/lHOhFlf5WVgZXlI0BvxtjktuqU1FiazA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CO1PR11MB4850 Return-Path: heng.luo@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SGkgTGFzemxvLA0KU29ycnkgZm9yIHRoZSBkZWxheS4gSSBoYXZlIGdvdHRlbiB0aGUgZmVlZGJh Y2ssIHdlIGNhbiBtZXJnZWQgdGhlbSBub3cuDQoNCkhpIEhhbywNCkNvdWxkIHlvdSBoZWxwIHRv IG1lcmdlIHRoZSBwYXRjaGVzLg0KDQpUaGFua3MsDQpIZW5nDQoNCj4gLS0tLS1PcmlnaW5hbCBN ZXNzYWdlLS0tLS0NCj4gRnJvbTogZGV2ZWxAZWRrMi5ncm91cHMuaW8gPGRldmVsQGVkazIuZ3Jv dXBzLmlvPiBPbiBCZWhhbGYgT2YgTGFzemxvDQo+IEVyc2VrDQo+IFNlbnQ6IFdlZG5lc2RheSwg SmFudWFyeSAxMywgMjAyMSA1OjA5IFBNDQo+IFRvOiBMdW8sIEhlbmcgPGhlbmcubHVvQGludGVs LmNvbT47IE5pLCBSYXkgPHJheS5uaUBpbnRlbC5jb20+OyBXdSwgSGFvIEENCj4gPGhhby5hLnd1 QGludGVsLmNvbT47IGRldmVsQGVkazIuZ3JvdXBzLmlvDQo+IENjOiBLaW5uZXksIE1pY2hhZWwg RCA8bWljaGFlbC5kLmtpbm5leUBpbnRlbC5jb20+DQo+IFN1YmplY3Q6IFJlOiBbZWRrMi1kZXZl bF0gW1BhdGNoIFYzIDIvMl0gTWRlTW9kdWxlUGtnL0J1cy9QY2kvUGNpQnVzRHhlOg0KPiBTdXBw b3J0IFBDSWUgUmVzaXphYmxlIEJBUiBDYXBhYmlsaXR5DQo+IA0KPiBPbiAwMS8xMy8yMSAwNzox NSwgTHVvLCBIZW5nIHdyb3RlOg0KPiA+IEhpIEhhbywNCj4gPiBQbGVhc2UgaG9sZCBvbiBtZXJn aW5nIHBhdGNoIG5vdywgd2UgYXJlIHN0aWxsIHdhaXRpbmcgZm9yIHNvbWUgaW5wdXRzLCBJDQo+ IHdpbGwgbGV0IHlvdSBrbm93IHdoZW4gd2UgcmVhY2ggYWdyZWVtZW50Lg0KPiANCj4gSSBkaXNh Z3JlZSB3aXRoIHdhaXRpbmcuIFRoZSBvcmlnaW5hbCBwYXRjaCBjYXVzZWQgYSByZWdyZXNzaW9u LiBUaGUgY3VycmVudGx5DQo+IHBlbmRpbmcgcGF0Y2ggZml4ZXMgdGhlIHJlZ3Jlc3Npb24uIEFu eSBmdXJ0aGVyIGlucHV0DQo+ICgiYWdyZWVtZW50Iikgc2hvdWxkIGJlIHByb2Nlc3NlZCAqYWZ0 ZXIqIHdlIGhhdmUgbWl0aWdhdGVkIHRoZSByZWdyZXNzaW9uLg0KPiANCj4gVGhlIHRyZWUgaXMg Y3VycmVudGx5IGluIGEgd3Jvbmcgc3RhdGUuIFRoZSBmaXggaGFzIGJlZW4gcmV2aWV3ZWQuIEhh bywgcGxlYXNlDQo+IHByb2NlZWQgd2l0aCBtZXJnaW5nIHRoZSBmaXggYXMgc29vbiBhcyB5b3Ug Y2FuLg0KPiANCj4gVGhhbmtzDQo+IExhc3psbw0KPiANCj4gPg0KPiA+IFRoYW5rcywNCj4gPiBI ZW5nDQo+ID4NCj4gPj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPj4gRnJvbTogTmks IFJheSA8cmF5Lm5pQGludGVsLmNvbT4NCj4gPj4gU2VudDogV2VkbmVzZGF5LCBKYW51YXJ5IDEz LCAyMDIxIDI6MDcgUE0NCj4gPj4gVG86IFd1LCBIYW8gQSA8aGFvLmEud3VAaW50ZWwuY29tPjsg TGFzemxvIEVyc2VrIDxsZXJzZWtAcmVkaGF0LmNvbT47DQo+ID4+IGRldmVsQGVkazIuZ3JvdXBz LmlvOyBMdW8sIEhlbmcgPGhlbmcubHVvQGludGVsLmNvbT4NCj4gPj4gQ2M6IEtpbm5leSwgTWlj aGFlbCBEIDxtaWNoYWVsLmQua2lubmV5QGludGVsLmNvbT4NCj4gPj4gU3ViamVjdDogUkU6IFtl ZGsyLWRldmVsXSBbUGF0Y2ggVjMgMi8yXQ0KPiBNZGVNb2R1bGVQa2cvQnVzL1BjaS9QY2lCdXNE eGU6DQo+ID4+IFN1cHBvcnQgUENJZSBSZXNpemFibGUgQkFSIENhcGFiaWxpdHkNCj4gPj4NCj4g Pj4gSSd2ZSBnaXZlbiBSLWIgdG8gdGhlIHR3byBwYXRjaGVzLiBObyBjb21tZW50cyBmcm9tIG15 IHNpZGUuDQo+ID4+DQo+ID4+PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+Pj4gRnJv bTogV3UsIEhhbyBBIDxoYW8uYS53dUBpbnRlbC5jb20+DQo+ID4+PiBTZW50OiBXZWRuZXNkYXks IEphbnVhcnkgMTMsIDIwMjEgMjowMCBQTQ0KPiA+Pj4gVG86IE5pLCBSYXkgPHJheS5uaUBpbnRl bC5jb20+OyBMYXN6bG8gRXJzZWsgPGxlcnNla0ByZWRoYXQuY29tPjsNCj4gPj4+IGRldmVsQGVk azIuZ3JvdXBzLmlvOyBMdW8sIEhlbmcgPGhlbmcubHVvQGludGVsLmNvbT4NCj4gPj4+IENjOiBL aW5uZXksIE1pY2hhZWwgRCA8bWljaGFlbC5kLmtpbm5leUBpbnRlbC5jb20+DQo+ID4+PiBTdWJq ZWN0OiBSRTogW2VkazItZGV2ZWxdIFtQYXRjaCBWMyAyLzJdDQo+IE1kZU1vZHVsZVBrZy9CdXMv UGNpL1BjaUJ1c0R4ZToNCj4gPj4+IFN1cHBvcnQgUENJZSBSZXNpemFibGUgQkFSIENhcGFiaWxp dHkNCj4gPj4+DQo+ID4+Pj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPj4+PiBGcm9t OiBOaSwgUmF5IDxyYXkubmlAaW50ZWwuY29tPg0KPiA+Pj4+IFNlbnQ6IFR1ZXNkYXksIEphbnVh cnkgMTIsIDIwMjEgMTA6MjggQU0NCj4gPj4+PiBUbzogTGFzemxvIEVyc2VrIDxsZXJzZWtAcmVk aGF0LmNvbT47IGRldmVsQGVkazIuZ3JvdXBzLmlvOyBMdW8sDQo+ID4+Pj4gSGVuZyA8aGVuZy5s dW9AaW50ZWwuY29tPg0KPiA+Pj4+IENjOiBXdSwgSGFvIEEgPGhhby5hLnd1QGludGVsLmNvbT47 IEtpbm5leSwgTWljaGFlbCBEDQo+ID4+Pj4gPG1pY2hhZWwuZC5raW5uZXlAaW50ZWwuY29tPg0K PiA+Pj4+IFN1YmplY3Q6IFJFOiBbZWRrMi1kZXZlbF0gW1BhdGNoIFYzIDIvMl0NCj4gPj4gTWRl TW9kdWxlUGtnL0J1cy9QY2kvUGNpQnVzRHhlOg0KPiA+Pj4+IFN1cHBvcnQgUENJZSBSZXNpemFi bGUgQkFSIENhcGFiaWxpdHkNCj4gPj4+Pg0KPiA+Pj4+Pj4gSXQgc2VlbXMgbGlrZSB0aGUgbWF4 IEJBUiBzaXplIGlzIHNlbGVjdGVkIGZpcnN0LCBidXQgaWYgdGhlcmUncw0KPiA+Pj4+Pj4gYSAi cmVzb3VyY2UgY29uZmxpY3QiIChydW5uaW5nIG91dCBvZiBhIHBhcnRpY3VsYXIgcmVzb3VyY2Ug dHlwZQ0KPiA+Pj4+Pj4gYXBlcnR1cmUpLCB0aGVuIHRoZSBtaW5pbXVtIEJBUiBzaXplIGlzIHNl bGVjdGVkLiBJIGRvbid0IGtub3cNCj4gPj4+Pj4+IHdoYXQgc2V0IG9mIGRldmljZXMgYW5kL29y IHJlc2l6YWJsZSBCQVJzIHRoaXMgbG9naWMgYXBwbGllcyB0bywNCj4gPj4+Pj4+IGlmIHRoZXJl IGFyZSBtdWx0aXBsZSBvZiB0aGVtLg0KPiA+Pj4+DQo+ID4+Pj4+PiBQZXIgdGhlIFBDSWUgc3Bl Y2lmaWNhdGlvbiAocmV2aXNpb24gNS4wLCB2ZXJzaW9uIDAuOSkgNy44LjY6DQo+ID4+Pj4+Pg0K PiA+Pj4+Pj4gICBTb2Z0d2FyZSBkZXRlcm1pbmVzLCB0aHJvdWdoIGEgcHJvcHJpZXRhcnkgbWVj aGFuaXNtLCB3aGF0IHRoZQ0KPiA+Pj4+Pj4gICBvcHRpbWFsIHNpemUgaXMgZm9yIHRoZSByZXNv dXJjZSwgYW5kIHByb2dyYW1zIHRoYXQgc2l6ZSB2aWEgdGhlIEJBUg0KPiA+Pj4+Pj4gICBTaXpl IGZpZWxkIG9mIHRoZSBSZXNpemFibGUgQkFSIENvbnRyb2wgcmVnaXN0ZXIuDQo+ID4+Pj4+Pg0K PiA+Pj4+Pj4gRnVydGhlcm1vcmUsIFRhYmxlIDctMTE0IGRlZmluZXMgdGhlIEJhciBTaXplIGZp ZWxkIG9mIHRoZQ0KPiA+Pj4+Pj4gY29udHJvbCByZWdpc3RlciBzdGF0aW5nOg0KPiA+Pj4+Pj4N Cj4gPj4+Pj4+ICAgVGhlIGRlZmF1bHQgdmFsdWUgb2YgdGhpcyBmaWVsZCBpcyBlcXVhbCB0byB0 aGUgZGVmYXVsdCBzaXplIG9mIHRoZQ0KPiA+Pj4+Pj4gICBhZGRyZXNzIHNwYWNlIHRoYXQgdGhl IEJBUiByZXNvdXJjZSBpcyByZXF1ZXN0aW5nIHZpYSB0aGUgQkFSJ3MNCj4gPj4+Pj4+ICAgcmVh ZC1vbmx5IGJpdHMuDQo+ID4+Pj4+Pg0KPiA+Pj4+Pj4gVGhlcmVmb3JlIHRoZSBtYXhpbXVtIHNp emUgaXMgbm90IG5lY2Vzc2FyaWx5IG9wdGltYWwsIG5vciBzaG91bGQNCj4gPj4+Pj4+IHRoZSBt aW5pbXVtIHNpemUgYmUgY29uc2lkZXJlZCB0aGUgZGVmYXVsdC4gIEluIGZhY3QsIFt3ZV0gdGVz dGVkDQo+ID4+Pj4+PiB2YXJpb3VzIGhhbmRvZmYgQkFSIHNpemVzIGZvciBbYSBwYXJ0aWN1bGFy XSBHUFUgYW5kIGZvdW5kIHRoYXQNCj4gPj4+Pj4+IFdpbmRvd3MgZGlkbid0IGxpa2UgdGhlIG1h eGltdW0gQkFSIHNpemUuDQo+ID4+Pj4+Pg0KPiA+Pj4+Pj4gRWxzZXdoZXJlIGluIHRoZSBkaXNj dXNzaW9uIFsxXSB0aGUgQU1EIGF1dGhvciBvZiB0aGUga2VybmVsDQo+ID4+Pj4+PiBzdXBwb3J0 IGZvciByZXNpemVhYmxlIEJBUnMgaW5kaWNhdGVzIHRoYXQgRlBHQSBkZXZpY2VzIG1pZ2h0DQo+ ID4+Pj4+PiBpbXBsZW1lbnQgdGhlIFJFQkFSIGNhcGFiaWxpdHkgYXMgcGFydCBvZiB0aGVpciBz dGFuZGFyZCBQQ0kNCj4gPj4+Pj4+IHdyYXBwZXIgKFtvdXJdIGludGVycHJldGF0aW9uKSwgYnV0 IHRoZSBCQVIgdXNhZ2Ugd291bGQgYmUNCj4gPj4+Pj4+IGRldGVybWluZWQgYnkgdGhlIGFjdHVh bCBiaXRzdHJlYW0gd3JpdHRlbiB0byB0aGUgZGV2aWNlLA0KPiA+Pj4+Pj4gdGhlcmVmb3JlIHRo ZXJlIG1pZ2h0IGJlIGEgZnVsbCBiaXRtYXNrIGZvciB0aGUgQkFSIHNpemVzDQo+ID4+Pj4+PiBz dXBwb3J0ZWQNCj4gPj4gYnkgdGhlIGRldmljZS4NCj4gPj4+Pj4+DQo+ID4+Pj4+PiBbMV0NCj4g Pj4+Pj4+IGh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL2FyY2hpdmVzL2RyaS1kZXZlbC8y MDIxLUphbnVhcnkvdGgNCj4gPj4+Pj4+IHJlYWQNCj4gPj4+Pj4+IC5odG1sDQo+ID4+Pj4+Pg0K PiA+Pj4+Pj4gSXQgd291bGQgY2VydGFpbmx5IG1ha2Ugc2Vuc2UgZm9yIHRoZSBmaXJtd2FyZSB0 byB0YWtlIFJFQkFSDQo+ID4+Pj4+PiBjYXBhYmlsaXRpZXMgaW50byBhY2NvdW50IHdoZW4gc2l6 aW5nIGJyaWRnZSBhcGVydHVyZXMsIGJ1dCB0bw0KPiA+Pj4+Pj4gZ2VuZXJpY2FsbHkgZW5hYmxl IGV4dGVuZGVkIEJBUiBzaXplcyB3b3VsZCBtYWtlIGxvdHMgb2YNCj4gPj4+Pj4+IGFzc3VtcHRp b25zIGFib3V0IHRoZSBkZXZpY2UgdXNhZ2UgYW5kIGNvbXBhdGliaWxpdHkuDQo+ID4+Pj4+Pg0K PiA+Pj4+Pj4gWy4uLl0gQXQgbGVhc3QgZm9yIEdQVXMgdGhlIGV4cGVjdGF0aW9uIHdvdWxkIGJl IGEgZGVmYXVsdCwNCj4gPj4+Pj4+IHNtYWxsZXIgY29tcGF0aWJpbGl0eSBzaXplIGV4cGFuZGlu ZyB0byBzb21lIHJlcHJlc2VudGF0aW9uIHRoYXQNCj4gPj4+Pj4+IGFsbG93cyBkaXJlY3QgRE1B IHRvIHRoZSBlbnRpcmUgbWVtb3J5IG9mIHRoZSBjYXJkLg0KPiA+Pj4+Pg0KPiA+Pj4+PiBTbyB0 aGlzIHBhdGNoIHNob3VsZCBlaXRoZXIgYmUgcmV2ZXJ0ZWQ7IG9yIG1pbmltYWxseSwgdGhlIGRl ZmF1bHQNCj4gPj4+Pj4gdmFsdWUgb2YgIlBjZFBjaWVSZXNpemFibGVCYXJTdXBwb3J0IiBzaG91 bGQgYmUgc2V0IHRvIEZBTFNFLCBhcw0KPiA+Pj4+PiB0aGUgcG9saWN5IGZvciBCQVIgc2l6aW5n IGRvZXNuJ3QgbG9vayByb2J1c3Qgb3IgcG9ydGFibGUuDQo+ID4+Pj4+DQo+ID4+Pj4+DQo+ID4+ Pj4+IEdlbmVyYWwgcmVxdWVzdCBmb3IgdGhlIGZ1dHVyZTogaWYgeW91IGltcGxlbWVudCBzb21l IGtpbmQgb2YNCj4gPj4+Pj4gcG9saWN5IGluIGNvcmUgZWRrMiwgcGxlYXNlIGF0IGxlYXN0ICpk b2N1bWVudCogdGhlIHBvbGljeQ0KPiA+Pj4+PiBzb21ld2hlcmUuIEl0J3MgdW5hY2NlcHRhYmxl IHRvIGhhdmUgdG8gZGVjaXBoZXIgdGhlIHNvdXJjZSBjb2RlDQo+ID4+Pj4+IGZvciBzdWNoIGEg cG9zc2libHkgaW1wYWN0ZnVsIGNoYW5nZSBpbiB0aGUgY29yZS4gVGhlcmUgaXMgbm8gbmVlZA0K PiA+Pj4+PiBmb3IgYSB3aWtpIHBhZ2Ugb3IgYW4gUkZDLCBidXQgYSBzYW5lIGJ1Z3ppbGxhIHRp Y2tldCBhbmQgYSBzYW5lDQo+ID4+Pj4+IGNvbW1pdA0KPiA+PiBtZXNzYWdlIGFyZSByZXF1aXJl ZC4NCj4gPj4+Pj4NCj4gPj4+Pj4gKFRoZSBkb2N1bWVudGF0aW9uIG9mIHRoZSBQQ0QgaW4gdGhl ICJNZGVNb2R1bGVQa2cuZGVjIiBmaWxlIGlzDQo+ID4+Pj4+IHVuc2F0aXNmYWN0b3J5IHRvbywg YW5kIHRoZSBVTkkgZmlsZSBoYXMgbm90IGJlZW4gdXBkYXRlZCBhdCBhbGwuKQ0KPiA+Pj4+Pg0K PiA+Pj4+DQo+ID4+Pj4NCj4gPj4+Pg0KPiA+Pj4+IFlvdXIgdW5kZXJzdGFuZGluZyBpcyBjb3Jy ZWN0LiBPcmlnaW5hbCBpZGVhIGlzIHRvIGxldCBwbGF0Zm9ybQ0KPiA+Pj4+IHN1cHBseSB0aGUN Cj4gPj4+IHBvbGljeQ0KPiA+Pj4+IGFib3V0IHdoYXQgdGhlIG9wdGltYWwgQkFSIHNpemUgaXMg Zm9yIGVhY2ggcmVzaXphYmxlIEJBUi4NCj4gPj4+PiBUaGUgY3VycmVudCBpbXBsZW1lbnRhdGlv biBpcyBhIHRyeSB0byBhdm9pZCBhc2tpbmcgcGxhdGZvcm0gY29kZQ0KPiA+Pj4+IGZvciBzdWNo IHBvbGljeSBiZWNhdXNlIHdlIHRob3VnaHQgaXQncyBhIGJ1cmRlbiBmb3IgcGxhdGZvcm0gdG8N Cj4gPj4+PiBzdXBwbHkNCj4gPj4gdGhlIHBvbGljeSBkYXRhLg0KPiA+Pj4+DQo+ID4+Pj4gSSBh Z3JlZSB0aGF0IHdlIHNldCB0aGUgUENEIGRlZmF1bHQgdmFsdWUgYXMgZGlzYWJsZWQgYW5kIGFm dGVyIGENCj4gPj4+PiBwZXJpb2Qgb2Ygc3R1ZHksIHdlIHdpbGwgdW5kZXJzdGFuZCB3aGV0aGVy IGEgcGxhdGZvcm0gcG9saWN5IGlzDQo+ID4+Pj4gcmVhbGx5DQo+ID4+IG5lZWRlZC4NCj4gPj4+ DQo+ID4+Pg0KPiA+Pj4gSGVsbG8gTGFzemxvIGFuZCBSYXksDQo+ID4+Pg0KPiA+Pj4gSSBzYXcg SGVuZydzIHBhdGNoIHNlcmllcyB0bw0KPiA+Pj4gICAxKSBTZXQgdGhlIFBDRCBkZWZhdWx0IHZh bHVlIHRvIEZBTFNFOg0KPiA+Pj4gaHR0cHM6Ly9lZGsyLmdyb3Vwcy5pby9nL2RldmVsL21lc3Nh Z2UvNzAxMzkNCj4gPj4+ICAgMikgVXBkYXRlIHRoZSBVTkkgZmlsZToNCj4gPj4+IGh0dHBzOi8v ZWRrMi5ncm91cHMuaW8vZy9kZXZlbC9tZXNzYWdlLzcwMTQwDQo+ID4+PiBoYXMgZ290IFJldmll d2VkLWJ5L0Fja2VkLWJ5IHRhZ3MgZnJvbSByZXZpZXdlcnMuDQo+ID4+Pg0KPiA+Pj4gRG8geW91 IGhhdmUgZnVydGhlciBjb21tZW50cyBmb3IgdGhlIHNlcmllcz8NCj4gPj4+IElmIG5vdCwgSSB3 aWxsIG1lcmdlIHRoaXMgY2hhbmdlIGluIHRoZSBuZXh0IDI0IGhvdXJzLg0KPiA+Pj4NCj4gPj4+ IFRoYW5rcyBpbiBhZHZhbmNlLg0KPiA+Pj4NCj4gPj4+IEJlc3QgUmVnYXJkcywNCj4gPj4+IEhh byBXdQ0KPiA+Pj4NCj4gPj4+DQo+ID4+Pj4NCj4gPj4+PiBUaGFua3MsDQo+ID4+Pj4gUmF5DQo+ IA0KPiANCj4gDQo+IA0KPiANCg0K