From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <chao.b.zhang@intel.com>
Received-SPF: Pass (sender SPF authorized) identity=mailfrom;
 client-ip=134.134.136.24; helo=mga09.intel.com;
 envelope-from=chao.b.zhang@intel.com; receiver=edk2-devel@lists.01.org 
Received: from mga09.intel.com (mga09.intel.com [134.134.136.24])
 (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
 (No client certificate requested)
 by ml01.01.org (Postfix) with ESMTPS id 5D6A5207DF28D
 for <edk2-devel@lists.01.org>; Tue,  3 Jul 2018 16:25:43 -0700 (PDT)
X-Amp-Result: SKIPPED(no attachment in message)
X-Amp-File-Uploaded: False
Received: from fmsmga006.fm.intel.com ([10.253.24.20])
 by orsmga102.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384;
 03 Jul 2018 16:25:42 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="5.51,306,1526367600"; 
 d="scan'208,217";a="242767043"
Received: from fmsmsx104.amr.corp.intel.com ([10.18.124.202])
 by fmsmga006.fm.intel.com with ESMTP; 03 Jul 2018 16:25:32 -0700
Received: from fmsmsx123.amr.corp.intel.com (10.18.125.38) by
 fmsmsx104.amr.corp.intel.com (10.18.124.202) with Microsoft SMTP Server (TLS)
 id 14.3.319.2; Tue, 3 Jul 2018 16:25:30 -0700
Received: from shsmsx103.ccr.corp.intel.com (10.239.4.69) by
 fmsmsx123.amr.corp.intel.com (10.18.125.38) with Microsoft SMTP Server (TLS)
 id 14.3.319.2; Tue, 3 Jul 2018 16:25:29 -0700
Received: from shsmsx101.ccr.corp.intel.com ([169.254.1.57]) by
 SHSMSX103.ccr.corp.intel.com ([169.254.4.100]) with mapi id 14.03.0319.002;
 Wed, 4 Jul 2018 07:25:28 +0800
From: "Zhang, Chao B" <chao.b.zhang@intel.com>
To: Gary Lin <glin@suse.com>
CC: "edk2-devel@lists.01.org" <edk2-devel@lists.01.org>, "Yao, Jiewen"
 <jiewen.yao@intel.com>, "Long, Qin" <qin.long@intel.com>
Thread-Topic: [edk2] [Patch 2/2] SecurityPkg: Tpm2DeviceLib: Enable
 CapCRBIdleBypass support
Thread-Index: AQHUDD85lwsxi6yxo0SwiYLZm+ajIaRzQEEAgArxU2A=
Date: Tue, 3 Jul 2018 23:25:27 +0000
Message-ID: <FF72C7E4248F3C4E9BDF19D4918E90F2497FE67A@SHSMSX101.ccr.corp.intel.com>
References: <20180625044421.2028-1-chao.b.zhang@intel.com>
 <20180625044421.2028-3-chao.b.zhang@intel.com>
 <20180627081830.gvqh75toe74btbre@GaryWorkstation>
In-Reply-To: <20180627081830.gvqh75toe74btbre@GaryWorkstation>
Accept-Language: en-US
X-MS-Has-Attach: 
X-MS-TNEF-Correlator: 
x-ctpclassification: CTP_NT
x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiOGQ2ZWZlZDItZmJhNy00NWZkLTk0ZWYtODQwYjUyYWM0M2I2IiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX05UIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE3LjEwLjE4MDQuNDkiLCJUcnVzdGVkTGFiZWxIYXNoIjoiNzI1TlllT0N0Q3FGSEdkQTJPVGNmSlYxa0tFOUlyVDR1a25HVndFaGVZRkRlS3hMRFlIb0ZGcG1DVlhFYXJqbSJ9
dlp-product: dlpe-windows
dlp-version: 11.0.200.100
dlp-reaction: no-action
x-originating-ip: [10.239.127.40]
MIME-Version: 1.0
X-Content-Filtered-By: Mailman/MimeDel 2.1.26
Subject: Re: [Patch 2/2] SecurityPkg: Tpm2DeviceLib: Enable CapCRBIdleBypass support
X-BeenThere: edk2-devel@lists.01.org
X-Mailman-Version: 2.1.26
Precedence: list
List-Id: EDK II Development  <edk2-devel.lists.01.org>
List-Unsubscribe: <https://lists.01.org/mailman/options/edk2-devel>,
 <mailto:edk2-devel-request@lists.01.org?subject=unsubscribe>
List-Archive: <http://lists.01.org/pipermail/edk2-devel/>
List-Post: <mailto:edk2-devel@lists.01.org>
List-Help: <mailto:edk2-devel-request@lists.01.org?subject=help>
List-Subscribe: <https://lists.01.org/mailman/listinfo/edk2-devel>,
 <mailto:edk2-devel-request@lists.01.org?subject=subscribe>
X-List-Received-Date: Tue, 03 Jul 2018 23:25:43 -0000
Content-Language: en-US
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64

SGkgR2FyeToNCiAgIEl0IGlzIGNhdXNlZCBieSBjb2RlIG1lcmdlLiBUa3MgZm9yIG5vdGlmaWNh
dGlvbi4gV2UgaGF2ZSBmaXhlZCBpdC4NCg0KRnJvbTogR2FyeSBMaW4gW21haWx0bzpnbGluQHN1
c2UuY29tXQ0KU2VudDogV2VkbmVzZGF5LCBKdW5lIDI3LCAyMDE4IDQ6MTkgUE0NClRvOiBaaGFu
ZywgQ2hhbyBCIDxjaGFvLmIuemhhbmdAaW50ZWwuY29tPg0KQ2M6IGVkazItZGV2ZWxAbGlzdHMu
MDEub3JnOyBZYW8sIEppZXdlbiA8amlld2VuLnlhb0BpbnRlbC5jb20+OyBMb25nLCBRaW4gPHFp
bi5sb25nQGludGVsLmNvbT4NClN1YmplY3Q6IFJlOiBbZWRrMl0gW1BhdGNoIDIvMl0gU2VjdXJp
dHlQa2c6IFRwbTJEZXZpY2VMaWI6IEVuYWJsZSBDYXBDUkJJZGxlQnlwYXNzIHN1cHBvcnQNCg0K
T24gTW9uLCBKdW4gMjUsIDIwMTggYXQgMTI6NDQ6MjFQTSArMDgwMCwgWmhhbmcsIENoYW8gQiB3
cm90ZToNCj4gRGlyZWN0bHkgdHJhbnNpdGlvbiBmcm9tIENNRCBjb21wbGV0aW9uIHRvIENNRCBS
ZWFkeSBzdGF0ZSBpZiBkZXZpY2UNCj4gc3VwcG9ydHMgSWRsZUJ5UGFzcw0KPg0KPiBDYzogTG9u
ZyBRaW4gPHFpbi5sb25nQGludGVsLmNvbTxtYWlsdG86cWluLmxvbmdAaW50ZWwuY29tPj4NCj4g
Q2M6IFlhbyBKaWV3ZW4gPGppZXdlbi55YW9AaW50ZWwuY29tPG1haWx0bzpqaWV3ZW4ueWFvQGlu
dGVsLmNvbT4+DQo+IENvbnRyaWJ1dGVkLXVuZGVyOiBUaWFub0NvcmUgQ29udHJpYnV0aW9uIEFn
cmVlbWVudCAxLjENCj4gU2lnbmVkLW9mZi1ieTogQ2hhbyBaaGFuZyA8Y2hhby5iLnpoYW5nQGlu
dGVsLmNvbTxtYWlsdG86Y2hhby5iLnpoYW5nQGludGVsLmNvbT4+DQo+IFNpZ25lZC1vZmYtYnk6
IFpoYW5nLCBDaGFvIEIgPGNoYW8uYi56aGFuZ0BpbnRlbC5jb208bWFpbHRvOmNoYW8uYi56aGFu
Z0BpbnRlbC5jb20+Pg0KPiAtLS0NCj4gIC4uLi9MaWJyYXJ5L1RwbTJEZXZpY2VMaWJEVHBtL1Rw
bTJEZXZpY2VMaWJEVHBtLmMgIHwgMTkgKysrKysNCj4gIC4uLi9UcG0yRGV2aWNlTGliRFRwbS9U
cG0yRGV2aWNlTGliRFRwbS5pbmYgICAgICAgIHwgIDEgKw0KPiAgLi4uL1RwbTJEZXZpY2VMaWJE
VHBtL1RwbTJJbnN0YW5jZUxpYkRUcG0uYyAgICAgICAgfCAxOSArKysrKw0KPiAgLi4uL1RwbTJE
ZXZpY2VMaWJEVHBtL1RwbTJJbnN0YW5jZUxpYkRUcG0uaW5mICAgICAgfCAgMyArLQ0KPiAgU2Vj
dXJpdHlQa2cvTGlicmFyeS9UcG0yRGV2aWNlTGliRFRwbS9UcG0yUHRwLmMgICAgfCA5OCArKysr
KysrKysrKysrKysrKysrLS0tDQo+ICBTZWN1cml0eVBrZy9TZWN1cml0eVBrZy5kZWMgICAgICAg
ICAgICAgICAgICAgICAgICB8IDEwICsrKw0KPiAgU2VjdXJpdHlQa2cvU2VjdXJpdHlQa2cudW5p
ICAgICAgICAgICAgICAgICAgICAgICAgfCAxMCArKy0NCj4gIDcgZmlsZXMgY2hhbmdlZCwgMTQ2
IGluc2VydGlvbnMoKyksIDE0IGRlbGV0aW9ucygtKQ0KPg0KPiBkaWZmIC0tZ2l0IGEvU2VjdXJp
dHlQa2cvTGlicmFyeS9UcG0yRGV2aWNlTGliRFRwbS9UcG0yRGV2aWNlTGliRFRwbS5jIGIvU2Vj
dXJpdHlQa2cvTGlicmFyeS9UcG0yRGV2aWNlTGliRFRwbS9UcG0yRGV2aWNlTGliRFRwbS5jDQo+
IGluZGV4IDNmZWI2NGRmN2UuLmU2ZmU1NjNiNDAgMTAwNjQ0DQo+IC0tLSBhL1NlY3VyaXR5UGtn
L0xpYnJhcnkvVHBtMkRldmljZUxpYkRUcG0vVHBtMkRldmljZUxpYkRUcG0uYw0KPiArKysgYi9T
ZWN1cml0eVBrZy9MaWJyYXJ5L1RwbTJEZXZpY2VMaWJEVHBtL1RwbTJEZXZpY2VMaWJEVHBtLmMN
Cj4gQEAgLTI5LDEwICsyOSwyMiBAQCBXSVRIT1VUIFdBUlJBTlRJRVMgT1IgUkVQUkVTRU5UQVRJ
T05TIE9GIEFOWSBLSU5ELCBFSVRIRVIgRVhQUkVTUyBPUiBJTVBMSUVELg0KPiAgVFBNMl9QVFBf
SU5URVJGQUNFX1RZUEUNCj4gIFRwbTJHZXRQdHBJbnRlcmZhY2UgKA0KPiAgICBJTiBWT0lEICpS
ZWdpc3Rlcg0KPiAgICApOw0KPg0KPiArLyoqDQo+ICsgIFJldHVybiBQVFAgQ1JCIGludGVyZmFj
ZSBJZGxlQnlQYXNzIHN0YXRlLg0KPiArDQo+ICsgIEBwYXJhbVtpbl0gUmVnaXN0ZXIgICAgICAg
ICAgICAgICAgUG9pbnRlciB0byBQVFAgcmVnaXN0ZXIuDQo+ICsNCj4gKyAgQHJldHVybiBQVFAg
Q1JCIGludGVyZmFjZSBJZGxlQnlQYXNzIHN0YXRlLg0KPiArKiovDQo+ICtVSU5UOA0KPiArVHBt
MkdldElkbGVCeVBhc3MgKA0KPiArICBJTiBWT0lEICpSZWdpc3Rlcg0KPiArICApOw0KPiArDQo+
ICAvKioNCj4gICAgVGhpcyBzZXJ2aWNlIGVuYWJsZXMgdGhlIHNlbmRpbmcgb2YgY29tbWFuZHMg
dG8gdGhlIFRQTTIuDQo+DQo+ICAgIEBwYXJhbVtpbl0gICAgICBJbnB1dFBhcmFtZXRlckJsb2Nr
U2l6ZSAgU2l6ZSBvZiB0aGUgVFBNMiBpbnB1dCBwYXJhbWV0ZXIgYmxvY2suDQo+ICAgIEBwYXJh
bVtpbl0gICAgICBJbnB1dFBhcmFtZXRlckJsb2NrICAgICAgUG9pbnRlciB0byB0aGUgVFBNMiBp
bnB1dCBwYXJhbWV0ZXIgYmxvY2suDQo+IEBAIC0xMzgsMTUgKzE1MCwyMiBAQCBFRklBUEkNCj4g
IFRwbTJEZXZpY2VMaWJDb25zdHJ1Y3RvciAoDQo+ICAgIFZPSUQNCj4gICAgKQ0KPiAgew0KPiAg
ICBUUE0yX1BUUF9JTlRFUkZBQ0VfVFlQRSAgUHRwSW50ZXJmYWNlOw0KPiArICBVSU5UOCAgICAg
ICAgICAgICAgICAgICAgSWRsZUJ5UGFzczsNCj4NCj4gICAgLy8NCj4gICAgLy8gQ2FjaGUgY3Vy
cmVudCBhY3RpdmUgVHBtSW50ZXJmYWNlVHlwZSBvbmx5IHdoZW4gbmVlZGVkDQo+ICAgIC8vDQo+
ICAgIGlmIChQY2RHZXQ4KFBjZEFjdGl2ZVRwbUludGVyZmFjZVR5cGUpID09IDB4RkYpIHsNCj4g
ICAgICBQdHBJbnRlcmZhY2UgPSBUcG0yR2V0UHRwSW50ZXJmYWNlICgoVk9JRCAqKSAoVUlOVE4p
IFBjZEdldDY0IChQY2RUcG1CYXNlQWRkcmVzcykpOw0KPiAgICAgIFBjZFNldDhTKFBjZEFjdGl2
ZVRwbUludGVyZmFjZVR5cGUsIFB0cEludGVyZmFjZSk7DQo+ICAgIH0NCj4gKw0KPiArICBpZiAo
UGNkR2V0OChQY2RBY3RpdmVUcG1JbnRlcmZhY2VUeXBlKSA9PSBQdHBJbnRlcmZhY2VDcmIgJiYg
UGNkR2V0OChQY2RDUkJJZGxlQnlQYXNzKSA9PSAweEZGKSB7DQpJIGdvdCBhIGJ1aWxkIGVycm9y
IHdpdGggUHRwSW50ZXJmYWNlQ3JiOg0KDQpTZWN1cml0eVBrZy9MaWJyYXJ5L1RwbTJEZXZpY2VM
aWJEVHBtL1RwbTJEZXZpY2VMaWJEVHBtLmM6IEluIGZ1bmN0aW9uIOKAmFRwbTJEZXZpY2VMaWJD
b25zdHJ1Y3RvcuKAmToNClNlY3VyaXR5UGtnL0xpYnJhcnkvVHBtMkRldmljZUxpYkRUcG0vVHBt
MkRldmljZUxpYkRUcG0uYzoxNjU6NDU6IGVycm9yOiDigJhQdHBJbnRlcmZhY2VDcmLigJkgdW5k
ZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pOyBkaWQgeW91IG1lYW4g4oCYUHRw
SW50ZXJmYWNl4oCZPw0KICAgaWYgKFBjZEdldDgoUGNkQWN0aXZlVHBtSW50ZXJmYWNlVHlwZSkg
PT0gUHRwSW50ZXJmYWNlQ3JiICYmIFBjZEdldDgoUGNkQ1JCSWRsZUJ5UGFzcykgPT0gMHhGRikg
ew0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+fn5+
fn5+fn5+DQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQdHBJ
bnRlcmZhY2UNCg0KSSBhc3N1bWUgeW91IG1lYW4gVHBtMlB0cEludGVyZmFjZUNyYj8NCg0KQ2hl
ZXJzLA0KDQpHYXJ5IExpbg0KDQo+ICsgICAgSWRsZUJ5UGFzcyA9IFRwbTJHZXRJZGxlQnlQYXNz
KChWT0lEICopIChVSU5UTikgUGNkR2V0NjQgKFBjZFRwbUJhc2VBZGRyZXNzKSk7DQo+ICsgICAg
UGNkU2V0OFMoUGNkQ1JCSWRsZUJ5UGFzcywgSWRsZUJ5UGFzcyk7DQo+ICsgIH0NCj4gKw0KPiAg
ICByZXR1cm4gRUZJX1NVQ0NFU1M7DQo+ICB9DQo+IGRpZmYgLS1naXQgYS9TZWN1cml0eVBrZy9M
aWJyYXJ5L1RwbTJEZXZpY2VMaWJEVHBtL1RwbTJEZXZpY2VMaWJEVHBtLmluZiBiL1NlY3VyaXR5
UGtnL0xpYnJhcnkvVHBtMkRldmljZUxpYkRUcG0vVHBtMkRldmljZUxpYkRUcG0uaW5mDQo+IGlu
ZGV4IDYzNGJiYWU4NDcuLjJlNTRhNzhjYzAgMTAwNjQ0DQo+IC0tLSBhL1NlY3VyaXR5UGtnL0xp
YnJhcnkvVHBtMkRldmljZUxpYkRUcG0vVHBtMkRldmljZUxpYkRUcG0uaW5mDQo+ICsrKyBiL1Nl
Y3VyaXR5UGtnL0xpYnJhcnkvVHBtMkRldmljZUxpYkRUcG0vVHBtMkRldmljZUxpYkRUcG0uaW5m
DQo+IEBAIC01Myw1ICs1Myw2IEBADQo+ICAgIFBjZExpYg0KPg0KPiAgW1BjZF0NCj4gICAgZ0Vm
aVNlY3VyaXR5UGtnVG9rZW5TcGFjZUd1aWQuUGNkVHBtQmFzZUFkZHJlc3MgICAgICAgICAgICAj
IyBDT05TVU1FUw0KPiAgICBnRWZpU2VjdXJpdHlQa2dUb2tlblNwYWNlR3VpZC5QY2RBY3RpdmVU
cG1JbnRlcmZhY2VUeXBlICAgICMjIFBST0RVQ0VTDQo+ICsgIGdFZmlTZWN1cml0eVBrZ1Rva2Vu
U3BhY2VHdWlkLlBjZENSQklkbGVCeVBhc3MgICAgICAgICAgICAgIyMgUFJPRFVDRVMNCj4gXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlDQo+IGRpZmYgLS1naXQgYS9TZWN1cml0eVBrZy9MaWJy
YXJ5L1RwbTJEZXZpY2VMaWJEVHBtL1RwbTJJbnN0YW5jZUxpYkRUcG0uYyBiL1NlY3VyaXR5UGtn
L0xpYnJhcnkvVHBtMkRldmljZUxpYkRUcG0vVHBtMkluc3RhbmNlTGliRFRwbS5jDQo+IGluZGV4
IDAxZjc4YmYwYmUuLmVkY2RiNzJhNzkgMTAwNjQ0DQo+IC0tLSBhL1NlY3VyaXR5UGtnL0xpYnJh
cnkvVHBtMkRldmljZUxpYkRUcG0vVHBtMkluc3RhbmNlTGliRFRwbS5jDQo+ICsrKyBiL1NlY3Vy
aXR5UGtnL0xpYnJhcnkvVHBtMkRldmljZUxpYkRUcG0vVHBtMkluc3RhbmNlTGliRFRwbS5jDQo+
IEBAIC0zMiwxMCArMzIsMjIgQEAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIFJFUFJFU0VOVEFUSU9O
UyBPRiBBTlkgS0lORCwgRUlUSEVSIEVYUFJFU1MgT1IgSU1QTElFRC4NCj4gIFRQTTJfUFRQX0lO
VEVSRkFDRV9UWVBFDQo+ICBUcG0yR2V0UHRwSW50ZXJmYWNlICgNCj4gICAgSU4gVk9JRCAqUmVn
aXN0ZXINCj4gICAgKTsNCj4NCj4gKy8qKg0KPiArICBSZXR1cm4gUFRQIENSQiBpbnRlcmZhY2Ug
SWRsZUJ5UGFzcyBzdGF0ZS4NCj4gKw0KPiArICBAcGFyYW1baW5dIFJlZ2lzdGVyICAgICAgICAg
ICAgICAgIFBvaW50ZXIgdG8gUFRQIHJlZ2lzdGVyLg0KPiArDQo+ICsgIEByZXR1cm4gUFRQIENS
QiBpbnRlcmZhY2UgSWRsZUJ5UGFzcyBzdGF0ZS4NCj4gKyoqLw0KPiArVUlOVDgNCj4gK1RwbTJH
ZXRJZGxlQnlQYXNzICgNCj4gKyAgSU4gVk9JRCAqUmVnaXN0ZXINCj4gKyAgKTsNCj4gKw0KPiAg
LyoqDQo+ICAgIER1bXAgUFRQIHJlZ2lzdGVyIGluZm9ybWF0aW9uLg0KPg0KPiAgICBAcGFyYW1b
aW5dIFJlZ2lzdGVyICAgICAgICAgICAgICAgIFBvaW50ZXIgdG8gUFRQIHJlZ2lzdGVyLg0KPiAg
KiovDQo+IEBAIC05NSwxMCArMTA3LDExIEBAIFRwbTJJbnN0YW5jZUxpYkRUcG1Db25zdHJ1Y3Rv
ciAoDQo+ICAgIFZPSUQNCj4gICAgKQ0KPiAgew0KPiAgICBFRklfU1RBVFVTICAgICAgICAgICAg
ICAgU3RhdHVzOw0KPiAgICBUUE0yX1BUUF9JTlRFUkZBQ0VfVFlQRSAgUHRwSW50ZXJmYWNlOw0K
PiArICBVSU5UOCAgICAgICAgICAgICAgICAgICAgSWRsZUJ5UGFzczsNCj4NCj4gICAgU3RhdHVz
ID0gVHBtMlJlZ2lzdGVyVHBtMkRldmljZUxpYiAoJm1EVHBtMkludGVybmFsVHBtMkRldmljZSk7
DQo+ICAgIGlmICgoU3RhdHVzID09IEVGSV9TVUNDRVNTKSB8fCAoU3RhdHVzID09IEVGSV9VTlNV
UFBPUlRFRCkpIHsNCj4gICAgICAvLw0KPiAgICAgIC8vIFVuc3VwcG9ydGVkIG1lYW5zIHBsYXRm
b3JtIHBvbGljeSBkb2VzIG5vdCBuZWVkIHRoaXMgaW5zdGFuY2UgZW5hYmxlZC4NCj4gQEAgLTEw
OSwxMCArMTIyLDE2IEBAIFRwbTJJbnN0YW5jZUxpYkRUcG1Db25zdHJ1Y3RvciAoDQo+ICAgICAg
ICAvLw0KPiAgICAgICAgaWYgKFBjZEdldDgoUGNkQWN0aXZlVHBtSW50ZXJmYWNlVHlwZSkgPT0g
MHhGRikgew0KPiAgICAgICAgICBQdHBJbnRlcmZhY2UgPSBUcG0yR2V0UHRwSW50ZXJmYWNlICgo
Vk9JRCAqKSAoVUlOVE4pIFBjZEdldDY0IChQY2RUcG1CYXNlQWRkcmVzcykpOw0KPiAgICAgICAg
ICBQY2RTZXQ4UyhQY2RBY3RpdmVUcG1JbnRlcmZhY2VUeXBlLCBQdHBJbnRlcmZhY2UpOw0KPiAg
ICAgICAgfQ0KPiArDQo+ICsgICAgICBpZiAoUGNkR2V0OChQY2RBY3RpdmVUcG1JbnRlcmZhY2VU
eXBlKSA9PSBQdHBJbnRlcmZhY2VDcmIgJiYgUGNkR2V0OChQY2RDUkJJZGxlQnlQYXNzKSA9PSAw
eEZGKSB7DQo+ICsgICAgICAgIElkbGVCeVBhc3MgPSBUcG0yR2V0SWRsZUJ5UGFzcygoVk9JRCAq
KSAoVUlOVE4pIFBjZEdldDY0IChQY2RUcG1CYXNlQWRkcmVzcykpOw0KPiArICAgICAgICBQY2RT
ZXQ4UyhQY2RDUkJJZGxlQnlQYXNzLCBJZGxlQnlQYXNzKTsNCj4gKyAgICAgIH0NCj4gKw0KPiAg
ICAgICAgRHVtcFB0cEluZm8gKChWT0lEICopIChVSU5UTikgUGNkR2V0NjQgKFBjZFRwbUJhc2VB
ZGRyZXNzKSk7DQo+ICAgICAgfQ0KPiAgICAgIHJldHVybiBFRklfU1VDQ0VTUzsNCj4gICAgfQ0K
PiAgICByZXR1cm4gU3RhdHVzOw0KPiBkaWZmIC0tZ2l0IGEvU2VjdXJpdHlQa2cvTGlicmFyeS9U
cG0yRGV2aWNlTGliRFRwbS9UcG0ySW5zdGFuY2VMaWJEVHBtLmluZiBiL1NlY3VyaXR5UGtnL0xp
YnJhcnkvVHBtMkRldmljZUxpYkRUcG0vVHBtMkluc3RhbmNlTGliRFRwbS5pbmYNCj4gaW5kZXgg
ODc2YTVhNjNjNC4uMjRlNGMzNWQ1NSAxMDA2NDQNCj4gLS0tIGEvU2VjdXJpdHlQa2cvTGlicmFy
eS9UcG0yRGV2aWNlTGliRFRwbS9UcG0ySW5zdGFuY2VMaWJEVHBtLmluZg0KPiArKysgYi9TZWN1
cml0eVBrZy9MaWJyYXJ5L1RwbTJEZXZpY2VMaWJEVHBtL1RwbTJJbnN0YW5jZUxpYkRUcG0uaW5m
DQo+IEBAIC00OCw2ICs0OCw3IEBADQo+ICAgIERlYnVnTGliDQo+ICAgIFBjZExpYg0KPg0KPiAg
W1BjZF0NCj4gICAgZ0VmaVNlY3VyaXR5UGtnVG9rZW5TcGFjZUd1aWQuUGNkVHBtQmFzZUFkZHJl
c3MgICAgICAgICAgIyMgQ09OU1VNRVMNCj4gLSAgZ0VmaVNlY3VyaXR5UGtnVG9rZW5TcGFjZUd1
aWQuUGNkQWN0aXZlVHBtSW50ZXJmYWNlVHlwZSAgIyMgUFJPRFVDRVMNCj4gXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlDQo+ICsgIGdFZmlTZWN1cml0eVBrZ1Rva2VuU3BhY2VHdWlkLlBjZEFj
dGl2ZVRwbUludGVyZmFjZVR5cGUgICMjIFBST0RVQ0VTDQo+ICsgIGdFZmlTZWN1cml0eVBrZ1Rv
a2VuU3BhY2VHdWlkLlBjZENSQklkbGVCeVBhc3MgICAgICAgICAgICAgIyMgUFJPRFVDRVMNCj4g
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlDQo+IGRpZmYgLS1naXQgYS9TZWN1cml0eVBrZy9M
aWJyYXJ5L1RwbTJEZXZpY2VMaWJEVHBtL1RwbTJQdHAuYyBiL1NlY3VyaXR5UGtnL0xpYnJhcnkv
VHBtMkRldmljZUxpYkRUcG0vVHBtMlB0cC5jDQo+IGluZGV4IDFiYzE1M2EyYzAuLjViY2U5Zjhl
MDIgMTAwNjQ0DQo+IC0tLSBhL1NlY3VyaXR5UGtnL0xpYnJhcnkvVHBtMkRldmljZUxpYkRUcG0v
VHBtMlB0cC5jDQo+ICsrKyBiL1NlY3VyaXR5UGtnL0xpYnJhcnkvVHBtMkRldmljZUxpYkRUcG0v
VHBtMlB0cC5jDQo+IEBAIC0xNzIsMTQgKzE3MiwzNCBAQCBQdHBDcmJUcG1Db21tYW5kICgNCj4g
ICAgICAgICAgREVCVUcgKChFRklfRF9WRVJCT1NFLCAiJTAyeCAiLCBCdWZmZXJJbltJbmRleF0p
KTsNCj4gICAgICAgIH0NCj4gICAgICB9DQo+ICAgICAgREVCVUcgKChFRklfRF9WRVJCT1NFLCAi
XG4iKSk7DQo+ICAgICk7DQo+IC0gIFRwbU91dFNpemUgPSAwOw0KPiArICBUcG1PdXRTaXplICAg
ICAgICAgPSAwOw0KPg0KPiAgICAvLw0KPiAgICAvLyBTVEVQIDA6DQo+ICsgIC8vIGlmIENhcENS
YklkZWxCeVBhc3MgPT0gMCwgZW5mb3JjZSBJZGxlIHN0YXRlIGJlZm9yZSBzZW5kaW5nIGNvbW1h
bmQNCj4gKyAgLy8NCj4gKyAgaWYgKFBjZEdldDgoUGNkQ1JCSWRsZUJ5UGFzcykgPT0gMCAmJiAo
TW1pb1JlYWQzMigoVUlOVE4pJkNyYlJlZy0+Q3JiQ29udHJvbFN0YXR1cykgJiBQVFBfQ1JCX0NP
TlRST0xfQVJFQV9TVEFUVVNfVFBNX0lETEUpID09IDApew0KPiArICAgIFN0YXR1cyA9IFB0cENy
YldhaXRSZWdpc3RlckJpdHMgKA0KPiArICAgICAgICAgICAgICAmQ3JiUmVnLT5DcmJDb250cm9s
U3RhdHVzLA0KPiArICAgICAgICAgICAgICBQVFBfQ1JCX0NPTlRST0xfQVJFQV9TVEFUVVNfVFBN
X0lETEUsDQo+ICsgICAgICAgICAgICAgIDAsDQo+ICsgICAgICAgICAgICAgIFBUUF9USU1FT1VU
X0MNCj4gKyAgICAgICAgICAgICAgKTsNCj4gKyAgICBpZiAoRUZJX0VSUk9SIChTdGF0dXMpKSB7
DQo+ICsgICAgICAvLw0KPiArICAgICAgLy8gVHJ5IHRvIGdvSWRsZSB0byByZWNvdmVyIFRQTQ0K
PiArICAgICAgLy8NCj4gKyAgICAgIFN0YXR1cyA9IEVGSV9ERVZJQ0VfRVJST1I7DQo+ICsgICAg
ICBnb3RvIEdvSWRsZV9FeGl0Ow0KPiArICAgIH0NCj4gKyAgfQ0KPiArDQo+ICsgIC8vDQo+ICsg
IC8vIFNURVAgMToNCj4gICAgLy8gUmVhZHkgaXMgYW55IHRpbWUgdGhlIFRQTSBpcyByZWFkeSB0
byByZWNlaXZlIGEgY29tbWFuZCwgZm9sbG93aW5nIGEgd3JpdGUNCj4gICAgLy8gb2YgMSBieSBz
b2Z0d2FyZSB0byBSZXF1ZXN0LmNtZFJlYWR5LCBhcyBpbmRpY2F0ZWQgYnkgdGhlIFN0YXR1cyBm
aWVsZA0KPiAgICAvLyBiZWluZyBjbGVhcmVkIHRvIDAuDQo+ICAgIC8vDQo+ICAgIE1taW9Xcml0
ZTMyKChVSU5UTikmQ3JiUmVnLT5DcmJDb250cm9sUmVxdWVzdCwgUFRQX0NSQl9DT05UUk9MX0FS
RUFfUkVRVUVTVF9DT01NQU5EX1JFQURZKTsNCj4gQEAgLTE4OSwyNSArMjA5LDI1IEBAIFB0cENy
YlRwbUNvbW1hbmQgKA0KPiAgICAgICAgICAgICAgIFBUUF9DUkJfQ09OVFJPTF9BUkVBX1JFUVVF
U1RfQ09NTUFORF9SRUFEWSwNCj4gICAgICAgICAgICAgICBQVFBfVElNRU9VVF9DDQo+ICAgICAg
ICAgICAgICAgKTsNCj4gICAgaWYgKEVGSV9FUlJPUiAoU3RhdHVzKSkgew0KPiAgICAgIFN0YXR1
cyA9IEVGSV9ERVZJQ0VfRVJST1I7DQo+IC0gICAgZ290byBFeGl0Ow0KPiArICAgIGdvdG8gR29J
ZGxlX0V4aXQ7DQo+ICAgIH0NCj4gICAgU3RhdHVzID0gUHRwQ3JiV2FpdFJlZ2lzdGVyQml0cyAo
DQo+ICAgICAgICAgICAgICAgJkNyYlJlZy0+Q3JiQ29udHJvbFN0YXR1cywNCj4gICAgICAgICAg
ICAgICAwLA0KPiAgICAgICAgICAgICAgIFBUUF9DUkJfQ09OVFJPTF9BUkVBX1NUQVRVU19UUE1f
SURMRSwNCj4gICAgICAgICAgICAgICBQVFBfVElNRU9VVF9DDQo+ICAgICAgICAgICAgICAgKTsN
Cj4gICAgaWYgKEVGSV9FUlJPUiAoU3RhdHVzKSkgew0KPiAgICAgIFN0YXR1cyA9IEVGSV9ERVZJ
Q0VfRVJST1I7DQo+IC0gICAgZ290byBFeGl0Ow0KPiArICAgIGdvdG8gR29JZGxlX0V4aXQ7DQo+
ICAgIH0NCj4NCj4gICAgLy8NCj4gLSAgLy8gU1RFUCAxOg0KPiArICAvLyBTVEVQIDI6DQo+ICAg
IC8vIENvbW1hbmQgUmVjZXB0aW9uIG9jY3VycyBmb2xsb3dpbmcgYSBSZWFkeSBzdGF0ZSBiZXR3
ZWVuIHRoZSB3cml0ZSBvZiB0aGUNCj4gICAgLy8gZmlyc3QgYnl0ZSBvZiBhIGNvbW1hbmQgdG8g
dGhlIENvbW1hbmQgQnVmZmVyIGFuZCB0aGUgcmVjZWlwdCBvZiBhIHdyaXRlDQo+ICAgIC8vIG9m
IDEgdG8gU3RhcnQuDQo+ICAgIC8vDQo+ICAgIGZvciAoSW5kZXggPSAwOyBJbmRleCA8IFNpemVJ
bjsgSW5kZXgrKykgew0KPiBAQCAtMjE5LDExICsyMzksMTEgQEAgUHRwQ3JiVHBtQ29tbWFuZCAo
DQo+DQo+ICAgIE1taW9Xcml0ZTY0ICgoVUlOVE4pJkNyYlJlZy0+Q3JiQ29udHJvbFJlc3BvbnNl
QWRkcnNzLCAoVUlOVDMyKShVSU5UTilDcmJSZWctPkNyYkRhdGFCdWZmZXIpOw0KPiAgICBNbWlv
V3JpdGUzMiAoKFVJTlROKSZDcmJSZWctPkNyYkNvbnRyb2xSZXNwb25zZVNpemUsIHNpemVvZihD
cmJSZWctPkNyYkRhdGFCdWZmZXIpKTsNCj4NCj4gICAgLy8NCj4gLSAgLy8gU1RFUCAyOg0KPiAr
ICAvLyBTVEVQIDM6DQo+ICAgIC8vIENvbW1hbmQgRXhlY3V0aW9uIG9jY3VycyBhZnRlciByZWNl
aXB0IG9mIGEgMSB0byBTdGFydCBhbmQgdGhlIFRQTQ0KPiAgICAvLyBjbGVhcmluZyBTdGFydCB0
byAwLg0KPiAgICAvLw0KPiAgICBNbWlvV3JpdGUzMigoVUlOVE4pJkNyYlJlZy0+Q3JiQ29udHJv
bFN0YXJ0LCBQVFBfQ1JCX0NPTlRST0xfU1RBUlQpOw0KPiAgICBTdGF0dXMgPSBQdHBDcmJXYWl0
UmVnaXN0ZXJCaXRzICgNCj4gQEAgLTI0OSwxNiArMjY5LDE2IEBAIFB0cENyYlRwbUNvbW1hbmQg
KA0KPiAgICAgIGlmIChFRklfRVJST1IoU3RhdHVzKSkgew0KPiAgICAgICAgLy8NCj4gICAgICAg
IC8vIFN0aWxsIGluIENvbW1hbmQgRXhlY3V0aW9uIHN0YXRlLiBUcnkgdG8gZ29JZGxlLCB0aGUg
YmVoYXZpb3IgaXMgYWdub3N0aWMuDQo+ICAgICAgICAvLw0KPiAgICAgICAgU3RhdHVzID0gRUZJ
X0RFVklDRV9FUlJPUjsNCj4gLSAgICAgIGdvdG8gRXhpdDsNCj4gKyAgICAgIGdvdG8gR29JZGxl
X0V4aXQ7DQo+ICAgICAgfQ0KPiAgICB9DQo+DQo+ICAgIC8vDQo+IC0gIC8vIFNURVAgMzoNCj4g
KyAgLy8gU1RFUCA0Og0KPiAgICAvLyBDb21tYW5kIENvbXBsZXRpb24gb2NjdXJzIGFmdGVyIGNv
bXBsZXRpb24gb2YgYSBjb21tYW5kIChpbmRpY2F0ZWQgYnkgdGhlDQo+ICAgIC8vIFRQTSBjbGVh
cmluZyBUUE1fQ1JCX0NUUkxfU3RhcnRfeCB0byAwKSBhbmQgYmVmb3JlIGEgd3JpdGUgb2YgYSAx
IGJ5IHRoZQ0KPiAgICAvLyBzb2Z0d2FyZSB0byBSZXF1ZXN0LmdvSWRsZS4NCj4gICAgLy8NCj4N
Cj4gQEAgLTI4MSw0MCArMzAxLDcyIEBAIFB0cENyYlRwbUNvbW1hbmQgKA0KPiAgICBDb3B5TWVt
ICgmRGF0YTE2LCBCdWZmZXJPdXQsIHNpemVvZiAoVUlOVDE2KSk7DQo+ICAgIC8vIFRQTTIgc2hv
dWxkIG5vdCB1c2UgdGhpcyBSU1BfQ09NTUFORA0KPiAgICBpZiAoU3dhcEJ5dGVzMTYgKERhdGEx
NikgPT0gVFBNX1NUX1JTUF9DT01NQU5EKSB7DQo+ICAgICAgREVCVUcgKChFRklfRF9FUlJPUiwg
IlRQTTI6IFRQTV9TVF9SU1AgZXJyb3IgLSAleFxuIiwgVFBNX1NUX1JTUF9DT01NQU5EKSk7DQo+
ICAgICAgU3RhdHVzID0gRUZJX1VOU1VQUE9SVEVEOw0KPiAtICAgIGdvdG8gRXhpdDsNCj4gKyAg
ICBnb3RvIEdvSWRsZV9FeGl0Ow0KPiAgICB9DQo+DQo+ICAgIENvcHlNZW0gKCZEYXRhMzIsIChC
dWZmZXJPdXQgKyAyKSwgc2l6ZW9mIChVSU5UMzIpKTsNCj4gICAgVHBtT3V0U2l6ZSAgPSBTd2Fw
Qnl0ZXMzMiAoRGF0YTMyKTsNCj4gICAgaWYgKCpTaXplT3V0IDwgVHBtT3V0U2l6ZSkgew0KPiAr
ICAgIC8vDQo+ICsgICAgLy8gQ29tbWFuZCBjb21wbGV0ZWQsIGJ1dCBidWZmZXIgaXMgbm90IGVu
b3VnaA0KPiArICAgIC8vDQo+ICAgICAgU3RhdHVzID0gRUZJX0JVRkZFUl9UT09fU01BTEw7DQo+
IC0gICAgZ290byBFeGl0Ow0KPiArICAgIGdvdG8gR29SZWFkeV9FeGl0Ow0KPiAgICB9DQo+ICAg
ICpTaXplT3V0ID0gVHBtT3V0U2l6ZTsNCj4gICAgLy8NCj4gICAgLy8gQ29udGludWUgcmVhZGlu
ZyB0aGUgcmVtYWluaW5nIGRhdGENCj4gICAgLy8NCj4gICAgZm9yIChJbmRleCA9IHNpemVvZiAo
VFBNMl9SRVNQT05TRV9IRUFERVIpOyBJbmRleCA8IFRwbU91dFNpemU7IEluZGV4KyspIHsNCj4g
ICAgICBCdWZmZXJPdXRbSW5kZXhdID0gTW1pb1JlYWQ4ICgoVUlOVE4pJkNyYlJlZy0+Q3JiRGF0
YUJ1ZmZlcltJbmRleF0pOw0KPiAgICB9DQo+IC1FeGl0Og0KPiArDQo+ICAgIERFQlVHX0NPREUg
KA0KPiAgICAgIERFQlVHICgoRUZJX0RfVkVSQk9TRSwgIlB0cENyYlRwbUNvbW1hbmQgUmVjZWl2
ZSAtICIpKTsNCj4gICAgICBmb3IgKEluZGV4ID0gMDsgSW5kZXggPCBUcG1PdXRTaXplOyBJbmRl
eCsrKSB7DQo+ICAgICAgICBERUJVRyAoKEVGSV9EX1ZFUkJPU0UsICIlMDJ4ICIsIEJ1ZmZlck91
dFtJbmRleF0pKTsNCj4gICAgICB9DQo+ICAgICAgREVCVUcgKChFRklfRF9WRVJCT1NFLCAiXG4i
KSk7DQo+ICAgICk7DQo+DQo+ICtHb1JlYWR5X0V4aXQ6DQo+ICAgIC8vDQo+IC0gIC8vIFNURVAg
NDoNCj4gLSAgLy8gSWRsZSBpcyBhbnkgdGltZSBUUE1fQ1JCX0NUUkxfU1RTX3guU3RhdHVzLmdv
SWRsZSBpcyAxLg0KPiArICAvLyBHb3RvIFJlYWR5IFN0YXRlIGlmIGNvbW1hbmQgaXMgY29tcGxl
dGVkIHN1Y2Nlc2Z1bGx5IGFuZCBUUE0gc3VwcG9ydCBJZGxlQnlwYXNzDQo+ICsgIC8vIElmIG5v
dCBzdXBwb3J0ZWQuIGZsb3cgZG93biB0byBHb0lkbGUNCj4gKyAgLy8NCj4gKyAgaWYgKFBjZEdl
dDgoUGNkQ1JCSWRsZUJ5UGFzcykgPT0gMSkgew0KPiArICAgIE1taW9Xcml0ZTMyKChVSU5UTikm
Q3JiUmVnLT5DcmJDb250cm9sUmVxdWVzdCwgUFRQX0NSQl9DT05UUk9MX0FSRUFfUkVRVUVTVF9D
T01NQU5EX1JFQURZKTsNCj4gKyAgICByZXR1cm4gU3RhdHVzOw0KPiArICB9DQo+ICsNCj4gKyAg
Ly8NCj4gKyAgLy8gRG8gbm90IHdhaXQgZm9yIHN0YXRlIHRyYW5zaXRpb24gZm9yIFRJTUVPVVRf
Qw0KPiArICAvLyBUaGlzIGZ1bmN0aW9uIHdpbGwgdHJ5IHRvIHdhaXQgMiBUSU1FT1VUX0MgYXQg
dGhlIGJlZ2lubmluZyBpbiBuZXh0IGNhbGwuDQo+ICsgIC8vDQo+ICtHb0lkbGVfRXhpdDoNCj4g
Kw0KPiArICAvLw0KPiArICAvLyAgUmV0dXJuIHRvIElkbGUgc3RhdGUgYnkgc2V0dGluZyBUUE1f
Q1JCX0NUUkxfU1RTX3guU3RhdHVzLmdvSWRsZSB0byAxLg0KPiAgICAvLw0KPiAgICBNbWlvV3Jp
dGUzMigoVUlOVE4pJkNyYlJlZy0+Q3JiQ29udHJvbFJlcXVlc3QsIFBUUF9DUkJfQ09OVFJPTF9B
UkVBX1JFUVVFU1RfR09fSURMRSk7DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gT25seSBlbmZvcmNl
IElkbGUgc3RhdGUgdHJhbnNpdGlvbiBpZiBleGVjdXRpb24gZmFpbHMgd2hlbiBDUkJJbmRsZUJ5
cGFzcz09MQ0KPiArICAvLyBMZWF2ZSByZWd1bGFyIElkbGUgZGVsYXkgYXQgdGhlIGJlZ2lubmlu
ZyBvZiBuZXh0IGNvbW1hbmQgZXhlY3V0aW9uDQo+ICsgIC8vDQo+ICsgIGlmIChQY2RHZXQ4KFBj
ZENSQklkbGVCeVBhc3MpID09IDEpew0KPiArICAgIFN0YXR1cyA9IFB0cENyYldhaXRSZWdpc3Rl
ckJpdHMgKA0KPiArICAgICAgICAgICAgICAgJkNyYlJlZy0+Q3JiQ29udHJvbFN0YXR1cywNCj4g
KyAgICAgICAgICAgICAgIFBUUF9DUkJfQ09OVFJPTF9BUkVBX1NUQVRVU19UUE1fSURMRSwNCj4g
KyAgICAgICAgICAgICAgIDAsDQo+ICsgICAgICAgICAgICAgICBQVFBfVElNRU9VVF9DDQo+ICsg
ICAgICAgICAgICAgICApOw0KPiArICB9DQo+ICsNCj4gICAgcmV0dXJuIFN0YXR1czsNCj4gIH0N
Cj4NCj4gIC8qKg0KPiAgICBTZW5kIGEgY29tbWFuZCB0byBUUE0gZm9yIGV4ZWN1dGlvbiBhbmQg
cmV0dXJuIHJlc3BvbnNlIGRhdGEuDQo+IEBAIC0zOTIsMTAgKzQ0NCwzMiBAQCBUcG0yR2V0UHRw
SW50ZXJmYWNlICgNCj4gICAgICByZXR1cm4gVHBtMlB0cEludGVyZmFjZUZpZm87DQo+ICAgIH0N
Cj4gICAgcmV0dXJuIFRwbTJQdHBJbnRlcmZhY2VUaXM7DQo+ICB9DQo+DQo+ICsvKioNCj4gKyAg
UmV0dXJuIFBUUCBDUkIgaW50ZXJmYWNlIElkbGVCeVBhc3Mgc3RhdGUuDQo+ICsNCj4gKyAgQHBh
cmFtW2luXSBSZWdpc3RlciAgICAgICAgICAgICAgICBQb2ludGVyIHRvIFBUUCByZWdpc3Rlci4N
Cj4gKw0KPiArICBAcmV0dXJuIFBUUCBDUkIgaW50ZXJmYWNlIElkbGVCeVBhc3Mgc3RhdGUuDQo+
ICsqKi8NCj4gK1VJTlQ4DQo+ICtUcG0yR2V0SWRsZUJ5UGFzcyAoDQo+ICsgIElOIFZPSUQgKlJl
Z2lzdGVyDQo+ICsgICkNCj4gK3sNCj4gKyAgUFRQX0NSQl9JTlRFUkZBQ0VfSURFTlRJRklFUiAg
SW50ZXJmYWNlSWQ7DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gQ2hlY2sgaW50ZXJmYWNlIGlkDQo+
ICsgIC8vDQo+ICsgIEludGVyZmFjZUlkLlVpbnQzMiA9IE1taW9SZWFkMzIgKChVSU5UTikmKChQ
VFBfQ1JCX1JFR0lTVEVSUyAqKVJlZ2lzdGVyKS0+SW50ZXJmYWNlSWQpOw0KPiArDQo+ICsgIHJl
dHVybiAoVUlOVDgpKEludGVyZmFjZUlkLkJpdHMuQ2FwQ1JCSWRsZUJ5cGFzcyk7DQo+ICt9DQo+
ICsNCj4gIC8qKg0KPiAgICBEdW1wIFBUUCByZWdpc3RlciBpbmZvcm1hdGlvbi4NCj4NCj4gICAg
QHBhcmFtW2luXSBSZWdpc3RlciAgICAgICAgICAgICAgICBQb2ludGVyIHRvIFBUUCByZWdpc3Rl
ci4NCj4gICoqLw0KPiBkaWZmIC0tZ2l0IGEvU2VjdXJpdHlQa2cvU2VjdXJpdHlQa2cuZGVjIGIv
U2VjdXJpdHlQa2cvU2VjdXJpdHlQa2cuZGVjDQo+IGluZGV4IDYwZjFjMGEwZTMuLmUyNGI1NjNi
ZGIgMTAwNjQ0DQo+IC0tLSBhL1NlY3VyaXR5UGtnL1NlY3VyaXR5UGtnLmRlYw0KPiArKysgYi9T
ZWN1cml0eVBrZy9TZWN1cml0eVBrZy5kZWMNCj4gQEAgLTQ3Miw3ICs0NzIsMTcgQEANCj4gICAg
IyAgMHhGRiAtIENvbnRhaW5zIG5vIGN1cnJlbnQgYWN0aXZlIFRQTSBpbnRlcmZhY2UgdHlwZS48
QlI+DQo+ICAgICMNCj4gICAgIyBAUHJvbXB0IGN1cnJlbnQgYWN0aXZlIFRQTSBpbnRlcmZhY2Ug
dHlwZS4NCj4gICAgZ0VmaVNlY3VyaXR5UGtnVG9rZW5TcGFjZUd1aWQuUGNkQWN0aXZlVHBtSW50
ZXJmYWNlVHlwZXwweEZGfFVJTlQ4fDB4MDAwMTAwMUUNCj4NCj4gKyAgIyMgVGhpcyBQQ0QgcmVj
b3JkcyBJZGxlQnlhc3Mgc3RhdHVzIHN1cHBvcnRlZCBieSBjdXJyZW50IGFjdGl2ZSBUUE0gaW50
ZXJmYWNlLg0KPiArICAjICBBY2NvZGluZ3QgdG8gVENHIFBUUCBzcGVjIDEuMywgVFBNIHdpdGgg
Q1JCIGludGVyZmFjZSBjYW4gc2tpcCBpZGxlIHN0YXRlIGFuZA0KPiArICAjICBkaXJldGNseSBt
b3ZlIHRvIENtZFJlYWR5IHN0YXRlLiA8QlI+DQo+ICsgICMgIDB4MDAgLSBEbyBub3Qgc3VwcG9y
dCBJZGxlQnlQYXNzLjxCUj4NCj4gKyAgIyAgMHgwMSAtIFN1cHBvcnQgSWRsZUJ5UGFzcy48QlI+
DQo+ICsgICMgIDB4RkYgLSBJZGxlQnlQYXNzIFN0YXRlIGlzIG5vdCBzeW5jZWQgd2l0aCBUUE0g
aGFyZHdhcmUuPEJSPg0KPiArICAjDQo+ICsgICMgQFByb21wdCBJZGxlQnlhc3Mgc3RhdHVzIHN1
cHBvcnRlZCBieSBjdXJyZW50IGFjdGl2ZSBUUE0gaW50ZXJmYWNlLg0KPiArICBnRWZpU2VjdXJp
dHlQa2dUb2tlblNwYWNlR3VpZC5QY2RDUkJJZGxlQnlQYXNzfDB4RkZ8VUlOVDh8MHgwMDAxMDAx
Rg0KPiArDQo+ICBbVXNlckV4dGVuc2lvbnMuVGlhbm9Db3JlLiJFeHRyYUZpbGVzIl0NCj4gICAg
U2VjdXJpdHlQa2dFeHRyYS51bmkNCj4gZGlmZiAtLWdpdCBhL1NlY3VyaXR5UGtnL1NlY3VyaXR5
UGtnLnVuaSBiL1NlY3VyaXR5UGtnL1NlY3VyaXR5UGtnLnVuaQ0KPiBpbmRleCBjMzQyNTBlNDIz
Li4wMDBiYzgzZDgwIDEwMDY0NA0KPiAtLS0gYS9TZWN1cml0eVBrZy9TZWN1cml0eVBrZy51bmkN
Cj4gKysrIGIvU2VjdXJpdHlQa2cvU2VjdXJpdHlQa2cudW5pDQo+IEBAIC0yNTIsNiArMjUyLDE0
IEBADQo+DQo+ICAjc3RyaW5nIFNUUl9nRWZpU2VjdXJpdHlQa2dUb2tlblNwYWNlR3VpZF9QY2RB
Y3RpdmVUcG1JbnRlcmZhY2VUeXBlX0hFTFAgICNsYW5ndWFnZSBlbi1VUyAiVGhpcyBQQ0QgaW5k
aWNhdGVzIGN1cnJlbnQgYWN0aXZlIFRQTSBpbnRlcmZhY2UgdHlwZS5cbiINCj4gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICIweDAwIC0gRklGTyBpbnRlcmZhY2UgYXMgZGVmaW5l
ZCBpbiBUSVMgMS4zIGlzIGFjdGl2ZS48QlI+XG4iDQo+ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAiMHgwMSAtIEZJRk8gaW50ZXJmYWNlIGFzIGRlZmluZWQgaW4gUFRQIGZvciBU
UE0gMi4wIGlzIGFjdGl2ZS48QlI+XG4iDQo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAiMHgwMiAtIENSQiBpbnRlcmZhY2UgaXMgYWN0aXZlLjxCUj5cbiINCj4gLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICIweEZGIC0gQ29udGFpbnMgbm8gY3VycmVudCBhY3Rp
dmUgVFBNIGludGVyZmFjZSB0eXBlPEJSPiINCj4gXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
DQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiMHhGRiAtIENvbnRhaW5zIG5v
IGN1cnJlbnQgYWN0aXZlIFRQTSBpbnRlcmZhY2UgdHlwZTxCUj4iDQo+ICsNCj4gKyNzdHJpbmcg
U1RSX2dFZmlTZWN1cml0eVBrZ1Rva2VuU3BhY2VHdWlkX1BjZENSQklkbGVCeVBhc3NfUFJPTVBU
ICAjbGFuZ3VhZ2UgZW4tVVMgIklkbGVCeWFzcyBzdGF0dXMgc3VwcG9ydGVkIGJ5IGN1cnJlbnQg
YWN0aXZlIFRQTSBpbnRlcmZhY2UuIg0KPiArDQo+ICsjc3RyaW5nIFNUUl9nRWZpU2VjdXJpdHlQ
a2dUb2tlblNwYWNlR3VpZF9QY2RDUkJJZGxlQnlQYXNzX0hFTFAgICNsYW5ndWFnZSBlbi1VUyAi
VGhpcyBQQ0QgcmVjb3JkcyBJZGxlQnlhc3Mgc3RhdHVzIHN1cHBvcnRlZCBieSBjdXJyZW50IGFj
dGl2ZSBUUE0gaW50ZXJmYWNlLlxuIg0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIkFjY29kaW5ndCB0byBUQ0cgUFRQIHNwZWMgMS4zLCBUUE0gd2l0aCBDUkIgaW50ZXJmYWNl
IGNhbiBza2lwIGlkbGUgc3RhdGUgYW5kIGRpcmV0Y2x5IG1vdmUgdG8gQ21kUmVhZHkgc3RhdGUu
IDxCUj4iDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiMHgwMSAtIERvIG5v
dCBzdXBwb3J0IElkbGVCeVBhc3MuPEJSPlxuIg0KPiArICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIjB4MDIgLSBTdXBwb3J0IElkbGVCeVBhc3MuPEJSPlxuIg0KPiArICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIjB4RkYgLSBJZGxlQnlQYXNzIFN0YXRlIGlzIG5vdCBz
eW5jZWQgd2l0aCBUUE0gaGFyZHdhcmUuPEJSPiINCj4gXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlDQo+IC0tDQo+IDIuMTYuMi53aW5kb3dzLjENCj4NCj4gX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX18NCj4gZWRrMi1kZXZlbCBtYWlsaW5nIGxpc3QNCj4g
ZWRrMi1kZXZlbEBsaXN0cy4wMS5vcmc8bWFpbHRvOmVkazItZGV2ZWxAbGlzdHMuMDEub3JnPg0K
PiBodHRwczovL2xpc3RzLjAxLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2VkazItZGV2ZWwNCj4NCg==