<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>226271</bug_id>
          
          <creation_ts>2021-05-26 08:02:44 -0700</creation_ts>
          <short_desc>Merge WorkerGlobalScope+Caches.idl and DOMWindow+Caches.idl into a single WindowOrWorkerGlobalScope+Caches.idl</short_desc>
          <delta_ts>2021-05-27 06:27:16 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Sam Weinig">sam</reporter>
          <assigned_to name="Sam Weinig">sam</assigned_to>
          <cc>annulen</cc>
    
    <cc>cdumez</cc>
    
    <cc>darin</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>ryuan.choi</cc>
    
    <cc>sergio</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1763906</commentid>
    <comment_count>0</comment_count>
    <who name="Sam Weinig">sam</who>
    <bug_when>2021-05-26 08:02:44 -0700</bug_when>
    <thetext>Merge WorkerGlobalScope+Caches.idl and DOMWindow+Caches.idl into a single WindowOrWorkerGlobalScope+Caches.idl</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1763908</commentid>
    <comment_count>1</comment_count>
      <attachid>429757</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2021-05-26 08:03:53 -0700</bug_when>
    <thetext>Created attachment 429757
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1763995</commentid>
    <comment_count>2</comment_count>
      <attachid>429778</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2021-05-26 11:51:56 -0700</bug_when>
    <thetext>Created attachment 429778
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1764308</commentid>
    <comment_count>3</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-05-27 06:26:28 -0700</bug_when>
    <thetext>Committed r278163 (238207@main): &lt;https://commits.webkit.org/238207@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 429778.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1764310</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-05-27 06:27:16 -0700</bug_when>
    <thetext>&lt;rdar://problem/78565988&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>429757</attachid>
            <date>2021-05-26 08:03:53 -0700</date>
            <delta_ts>2021-05-26 11:51:53 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-226271-20210526080353.patch</filename>
            <type>text/plain</type>
            <size>42225</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI3ODA4MSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM5IEBACisyMDIxLTA1LTI2ICBTYW0gV2Vp
bmlnICA8d2VpbmlnQGFwcGxlLmNvbT4KKworICAgICAgICBNZXJnZSBXb3JrZXJHbG9iYWxTY29w
ZStDYWNoZXMuaWRsIGFuZCBET01XaW5kb3crQ2FjaGVzLmlkbCBpbnRvIGEgc2luZ2xlIFdpbmRv
d09yV29ya2VyR2xvYmFsU2NvcGUrQ2FjaGVzLmlkbAorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI2MjcxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkcmVzcyBGSVhNRXMgaW4gYm90aCBXb3JrZXJHbG9i
YWxTY29wZStDYWNoZXMuaWRsIGFuZCBET01XaW5kb3crQ2FjaGVzLmlkbCBieQorICAgICAgICBt
ZXJnaW5nIHRoZW0gaW50byBhIHNpbmdsZSBXaW5kb3dPcldvcmtlckdsb2JhbFNjb3BlK0NhY2hl
cy5pZGwsIG1hdGNoaW5nIHRoZSBzcGVjCisgICAgICAgIGxhbmdhdWdlIG1vcmUgY2xvc2VseS4K
KworICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLWlu
cHV0LnhjZmlsZWxpc3Q6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxp
c3Q6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBNb2R1bGVzL2Nh
Y2hlL0RPTVdpbmRvdytDYWNoZXMuaWRsOiBSZW1vdmVkLgorICAgICAgICAqIE1vZHVsZXMvY2Fj
aGUvRE9NV2luZG93Q2FjaGVzLmNwcDogUmVtb3ZlZC4KKyAgICAgICAgKiBNb2R1bGVzL2NhY2hl
L0RPTVdpbmRvd0NhY2hlcy5oOiBSZW1vdmVkLgorICAgICAgICAqIE1vZHVsZXMvY2FjaGUvV2lu
ZG93T3JXb3JrZXJHbG9iYWxTY29wZStDYWNoZXMuaWRsOiBBZGRlZC4KKyAgICAgICAgKiBNb2R1
bGVzL2NhY2hlL1dpbmRvd09yV29ya2VyR2xvYmFsU2NvcGVDYWNoZXMuY3BwOiBBZGRlZC4KKyAg
ICAgICAgKFdlYkNvcmU6OkRPTVdpbmRvd0NhY2hlczo6c3VwcGxlbWVudE5hbWUpOgorICAgICAg
ICAoV2ViQ29yZTo6V29ya2VyR2xvYmFsU2NvcGVDYWNoZXM6OnN1cHBsZW1lbnROYW1lKToKKyAg
ICAgICAgKFdlYkNvcmU6OkRPTVdpbmRvd0NhY2hlczo6RE9NV2luZG93Q2FjaGVzKToKKyAgICAg
ICAgKFdlYkNvcmU6OkRPTVdpbmRvd0NhY2hlczo6ZnJvbSk6CisgICAgICAgIChXZWJDb3JlOjpE
T01XaW5kb3dDYWNoZXM6OmNhY2hlcyBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJH
bG9iYWxTY29wZUNhY2hlczo6V29ya2VyR2xvYmFsU2NvcGVDYWNoZXMpOgorICAgICAgICAoV2Vi
Q29yZTo6V29ya2VyR2xvYmFsU2NvcGVDYWNoZXM6OmZyb20pOgorICAgICAgICAoV2ViQ29yZTo6
V29ya2VyR2xvYmFsU2NvcGVDYWNoZXM6OmNhY2hlcyBjb25zdCk6CisgICAgICAgIChXZWJDb3Jl
OjpXaW5kb3dPcldvcmtlckdsb2JhbFNjb3BlQ2FjaGVzOjpjYWNoZXMpOgorICAgICAgICAqIE1v
ZHVsZXMvY2FjaGUvV2luZG93T3JXb3JrZXJHbG9iYWxTY29wZUNhY2hlcy5oOiBBZGRlZC4KKyAg
ICAgICAgKiBNb2R1bGVzL2NhY2hlL1dvcmtlckdsb2JhbFNjb3BlK0NhY2hlcy5pZGw6IFJlbW92
ZWQuCisgICAgICAgICogTW9kdWxlcy9jYWNoZS9Xb3JrZXJHbG9iYWxTY29wZUNhY2hlcy5jcHA6
IFJlbW92ZWQuCisgICAgICAgICogTW9kdWxlcy9jYWNoZS9Xb3JrZXJHbG9iYWxTY29wZUNhY2hl
cy5oOiBSZW1vdmVkLgorICAgICAgICAqIFNvdXJjZXMudHh0OgorICAgICAgICAqIFdlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKwogMjAyMS0wNS0yNiAgQWxhbiBCdWp0YXMgIDx6
YWxhbkBhcHBsZS5jb20+CiAKICAgICAgICAgUkVHUkVTU0lPTjogU2FmYXJpIHYxNC4xIGNvbXB1
dGVzIGVsZW1lbnQgaGVpZ2h0IHRvIGJlIDMzLDU1NCw0MzIgcGl4ZWxzCkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9DTWFrZUxpc3RzLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9DTWFr
ZUxpc3RzLnR4dAkocmV2aXNpb24gMjc3OTg3KQorKysgU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0
cy50eHQJKHdvcmtpbmcgY29weSkKQEAgLTIyOSw4ICsyMjksNyBAQCBzZXQoV2ViQ29yZV9OT05f
U1ZHX0lETF9GSUxFUwogICAgIE1vZHVsZXMvY2FjaGUvQ2FjaGVRdWVyeU9wdGlvbnMuaWRsCiAg
ICAgTW9kdWxlcy9jYWNoZS9ET01DYWNoZS5pZGwKICAgICBNb2R1bGVzL2NhY2hlL0RPTUNhY2hl
U3RvcmFnZS5pZGwKLSAgICBNb2R1bGVzL2NhY2hlL0RPTVdpbmRvdytDYWNoZXMuaWRsCi0gICAg
TW9kdWxlcy9jYWNoZS9Xb3JrZXJHbG9iYWxTY29wZStDYWNoZXMuaWRsCisgICAgTW9kdWxlcy9j
YWNoZS9XaW5kb3dPcldvcmtlckdsb2JhbFNjb3BlK0NhY2hlcy5pZGwKIAogICAgIE1vZHVsZXMv
Y29udGFjdC1waWNrZXIvQ29udGFjdEluZm8uaWRsCiAgICAgTW9kdWxlcy9jb250YWN0LXBpY2tl
ci9Db250YWN0UHJvcGVydHkuaWRsCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNl
cy1pbnB1dC54Y2ZpbGVsaXN0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL0Rlcml2ZWRT
b3VyY2VzLWlucHV0LnhjZmlsZWxpc3QJKHJldmlzaW9uIDI3Nzk4NykKKysrIFNvdXJjZS9XZWJD
b3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QJKHdvcmtpbmcgY29weSkKQEAgLTcy
LDggKzcyLDcgQEAgJChQUk9KRUNUX0RJUikvTW9kdWxlcy9iZWFjb24vTmF2aWdhdG9yKwogJChQ
Uk9KRUNUX0RJUikvTW9kdWxlcy9jYWNoZS9DYWNoZVF1ZXJ5T3B0aW9ucy5pZGwKICQoUFJPSkVD
VF9ESVIpL01vZHVsZXMvY2FjaGUvRE9NQ2FjaGUuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVz
L2NhY2hlL0RPTUNhY2hlU3RvcmFnZS5pZGwKLSQoUFJPSkVDVF9ESVIpL01vZHVsZXMvY2FjaGUv
RE9NV2luZG93K0NhY2hlcy5pZGwKLSQoUFJPSkVDVF9ESVIpL01vZHVsZXMvY2FjaGUvV29ya2Vy
R2xvYmFsU2NvcGUrQ2FjaGVzLmlkbAorJChQUk9KRUNUX0RJUikvTW9kdWxlcy9jYWNoZS9XaW5k
b3dPcldvcmtlckdsb2JhbFNjb3BlK0NhY2hlcy5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMv
Y29udGFjdC1waWNrZXIvQ29udGFjdEluZm8uaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL2Nv
bnRhY3QtcGlja2VyL0NvbnRhY3RQcm9wZXJ0eS5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMv
Y29udGFjdC1waWNrZXIvQ29udGFjdHNNYW5hZ2VyLmlkbApJbmRleDogU291cmNlL1dlYkNvcmUv
RGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QJKHJldmlzaW9uIDI3Nzk4NykK
KysrIFNvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0CSh3b3Jr
aW5nIGNvcHkpCkBAIC01NTQsOCArNTU0LDYgQEAgJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2
ZWRTb3VyY2VzL1dlYgogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSlNET01XaW5kb3crQ1NTT00uaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3Vy
Y2VzL1dlYkNvcmUvSlNET01XaW5kb3crQ1NTT01WaWV3LmNwcAogJChCVUlMVF9QUk9EVUNUU19E
SVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNET01XaW5kb3crQ1NTT01WaWV3LmgKLSQoQlVJ
TFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRE9NV2luZG93K0NhY2hl
cy5jcHAKLSQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRE9N
V2luZG93K0NhY2hlcy5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2Vi
Q29yZS9KU0RPTVdpbmRvdytDb21wYXQuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZl
ZFNvdXJjZXMvV2ViQ29yZS9KU0RPTVdpbmRvdytDb21wYXQuaAogJChCVUlMVF9QUk9EVUNUU19E
SVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNET01XaW5kb3crRGV2aWNlTW90aW9uLmNwcApA
QCAtNTc0LDggKzU3Miw2IEBAICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9X
ZWIKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRE9NV2lu
ZG93K1dlYkRhdGFiYXNlLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9X
ZWJDb3JlL0pTRE9NV2luZG93LmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3Vy
Y2VzL1dlYkNvcmUvSlNET01XaW5kb3cuaAotJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRT
b3VyY2VzL1dlYkNvcmUvSlNET01XaW5kb3dDYWNoZXMuY3BwCi0kKEJVSUxUX1BST0RVQ1RTX0RJ
UikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0RPTVdpbmRvd0NhY2hlcy5oCiAkKEJVSUxUX1BS
T0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0RPTVdpbmRvd1NwZWVjaFN5bnRo
ZXNpcy5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pT
RE9NV2luZG93U3BlZWNoU3ludGhlc2lzLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVk
U291cmNlcy9XZWJDb3JlL0pTRE9NV2luZG93V2ViRGF0YWJhc2UuY3BwCkBAIC0yNTY4LDYgKzI1
NjQsOCBAQCAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViCiAkKEJVSUxU
X1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1dpbmRvd0V2ZW50SGFuZGxl
cnMuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNXaW5k
b3dMb2NhbFN0b3JhZ2UuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMv
V2ViQ29yZS9KU1dpbmRvd0xvY2FsU3RvcmFnZS5oCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9KU1dpbmRvd09yV29ya2VyR2xvYmFsU2NvcGUrQ2FjaGVzLmNw
cAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNXaW5kb3dP
cldvcmtlckdsb2JhbFNjb3BlK0NhY2hlcy5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZl
ZFNvdXJjZXMvV2ViQ29yZS9KU1dpbmRvd09yV29ya2VyR2xvYmFsU2NvcGUrQ3J5cHRvLmNwcAog
JChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNXaW5kb3dPcldv
cmtlckdsb2JhbFNjb3BlK0NyeXB0by5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNv
dXJjZXMvV2ViQ29yZS9KU1dpbmRvd09yV29ya2VyR2xvYmFsU2NvcGUrRmV0Y2guY3BwCkBAIC0y
NTgyLDEyICsyNTgwLDggQEAgJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dl
YgogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNXaW5kb3dT
ZXNzaW9uU3RvcmFnZS5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2Vi
Q29yZS9KU1dvcmtlci5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9X
ZWJDb3JlL0pTV29ya2VyLmgKLSQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9X
ZWJDb3JlL0pTV29ya2VyR2xvYmFsU2NvcGUrQ2FjaGVzLmNwcAotJChCVUlMVF9QUk9EVUNUU19E
SVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNXb3JrZXJHbG9iYWxTY29wZStDYWNoZXMuaAog
JChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNXb3JrZXJHbG9i
YWxTY29wZS5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3Jl
L0pTV29ya2VyR2xvYmFsU2NvcGUuaAotJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3Vy
Y2VzL1dlYkNvcmUvSlNXb3JrZXJHbG9iYWxTY29wZUNhY2hlcy5jcHAKLSQoQlVJTFRfUFJPRFVD
VFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV29ya2VyR2xvYmFsU2NvcGVDYWNoZXMu
aAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNXb3JrZXJM
b2NhdGlvbi5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3Jl
L0pTV29ya2VyTG9jYXRpb24uaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2Vz
L1dlYkNvcmUvSlNXb3JrZXJOYXZpZ2F0b3IrR1BVLmNwcApJbmRleDogU291cmNlL1dlYkNvcmUv
RGVyaXZlZFNvdXJjZXMubWFrZQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9EZXJpdmVk
U291cmNlcy5tYWtlCShyZXZpc2lvbiAyNzc5ODcpCisrKyBTb3VyY2UvV2ViQ29yZS9EZXJpdmVk
U291cmNlcy5tYWtlCSh3b3JraW5nIGNvcHkpCkBAIC0xMDEsOCArMTAxLDcgQEAgSlNfQklORElO
R19JRExTIDo9IFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvY2FjaGUvQ2FjaGVRdWVyeU9wdGlv
bnMuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvY2FjaGUvRE9NQ2FjaGUuaWRsIFwKICAg
ICAkKFdlYkNvcmUpL01vZHVsZXMvY2FjaGUvRE9NQ2FjaGVTdG9yYWdlLmlkbCBcCi0gICAgJChX
ZWJDb3JlKS9Nb2R1bGVzL2NhY2hlL0RPTVdpbmRvdytDYWNoZXMuaWRsIFwKLSAgICAkKFdlYkNv
cmUpL01vZHVsZXMvY2FjaGUvV29ya2VyR2xvYmFsU2NvcGUrQ2FjaGVzLmlkbCBcCisgICAgJChX
ZWJDb3JlKS9Nb2R1bGVzL2NhY2hlL1dpbmRvd09yV29ya2VyR2xvYmFsU2NvcGUrQ2FjaGVzLmlk
bCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2NvbnRhY3QtcGlja2VyL0NvbnRhY3RJbmZvLmlk
bCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2NvbnRhY3QtcGlja2VyL0NvbnRhY3RQcm9wZXJ0
eS5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9jb250YWN0LXBpY2tlci9Db250YWN0c01h
bmFnZXIuaWRsIFwKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0Cj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CShyZXZpc2lvbiAyNzc5ODcpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMzQsOSArMzQsOCBAQCBN
b2R1bGVzL2NhY2hlL0NhY2hlU3RvcmFnZUNvbm5lY3Rpb24uY3BwCiBNb2R1bGVzL2NhY2hlL0RP
TUNhY2hlLmNwcAogTW9kdWxlcy9jYWNoZS9ET01DYWNoZUVuZ2luZS5jcHAKIE1vZHVsZXMvY2Fj
aGUvRE9NQ2FjaGVTdG9yYWdlLmNwcAotTW9kdWxlcy9jYWNoZS9ET01XaW5kb3dDYWNoZXMuY3Bw
CitNb2R1bGVzL2NhY2hlL1dpbmRvd09yV29ya2VyR2xvYmFsU2NvcGVDYWNoZXMuY3BwCiBNb2R1
bGVzL2NhY2hlL1dvcmtlckNhY2hlU3RvcmFnZUNvbm5lY3Rpb24uY3BwCi1Nb2R1bGVzL2NhY2hl
L1dvcmtlckdsb2JhbFNjb3BlQ2FjaGVzLmNwcAogTW9kdWxlcy9jb250YWN0LXBpY2tlci9Db250
YWN0c01hbmFnZXIuY3BwCiBNb2R1bGVzL2NvbnRhY3QtcGlja2VyL05hdmlnYXRvckNvbnRhY3Rz
LmNwcAogTW9kdWxlcy9jcmVkZW50aWFsbWFuYWdlbWVudC9CYXNpY0NyZWRlbnRpYWwuY3BwCklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0RPTVdpbmRvdytDYWNoZXMuaWRsCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvRE9NV2luZG93K0NhY2hl
cy5pZGwJKHJldmlzaW9uIDI3Nzk4NykKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUv
RE9NV2luZG93K0NhY2hlcy5pZGwJKG5vbmV4aXN0ZW50KQpAQCAtMSwzMyArMCwwIEBACi0vKgot
ICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAq
Ci0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0g
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5E
IElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
Ci0gKi8KLQotLy8gaHR0cHM6Ly93M2MuZ2l0aHViLmlvL1NlcnZpY2VXb3JrZXIvI3NlbGYtY2Fj
aGVzCi0vLyBGSVhNRTogVGhpcyBzaG91bGQgYmUgbWVyZ2VkIHdpdGggV29ya2VyR2xvYmFsU2Nv
cGUrQ2FjaGVzLmlkbCBpbnRvIGEgbmV3IFdpbmRvd09yV29ya2VyR2xvYmFsU2NvcGUrQ2FjaGVz
LmlkbCB0byBtYXRjaCB0aGUgc3BlYy4KLVsKLSAgICBFbmFibGVkQXRSdW50aW1lPUNhY2hlQVBJ
LAotICAgIEltcGxlbWVudGVkQnk9RE9NV2luZG93Q2FjaGVzCi1dIHBhcnRpYWwgaW50ZXJmYWNl
IERPTVdpbmRvdyB7Ci0gICAgW0NhbGxXaXRoPVNjcmlwdEV4ZWN1dGlvbkNvbnRleHQsIFNlY3Vy
ZUNvbnRleHQsIFNhbWVPYmplY3RdIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01DYWNoZVN0b3JhZ2Ug
Y2FjaGVzOwotfTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvRE9NV2luZG93
Q2FjaGVzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0RP
TVdpbmRvd0NhY2hlcy5jcHAJKHJldmlzaW9uIDI3Nzk4NykKKysrIFNvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvY2FjaGUvRE9NV2luZG93Q2FjaGVzLmNwcAkobm9uZXhpc3RlbnQpCkBAIC0xLDc5ICsw
LDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0g
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAot
ICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0g
KiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRgotICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgotICog
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KLSAqLwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVkZSAiRE9NV2lu
ZG93Q2FjaGVzLmgiCi0KLSNpbmNsdWRlICJDYWNoZVN0b3JhZ2VQcm92aWRlci5oIgotI2luY2x1
ZGUgIkRPTUNhY2hlU3RvcmFnZS5oIgotI2luY2x1ZGUgIkRPTVdpbmRvdy5oIgotI2luY2x1ZGUg
IkRvY3VtZW50LmgiCi0jaW5jbHVkZSAiRnJhbWUuaCIKLSNpbmNsdWRlICJQYWdlLmgiCi0KLW5h
bWVzcGFjZSBXZWJDb3JlIHsKLQotRE9NV2luZG93Q2FjaGVzOjpET01XaW5kb3dDYWNoZXMoRE9N
V2luZG93KiB3aW5kb3cpCi0gICAgOiBET01XaW5kb3dQcm9wZXJ0eSh3aW5kb3cpCi17Ci19Ci0K
LWNvbnN0IGNoYXIqIERPTVdpbmRvd0NhY2hlczo6c3VwcGxlbWVudE5hbWUoKQotewotICAgIHJl
dHVybiAiRE9NV2luZG93Q2FjaGVzIjsKLX0KLQotRE9NV2luZG93Q2FjaGVzKiBET01XaW5kb3dD
YWNoZXM6OmZyb20oRE9NV2luZG93KiB3aW5kb3cpCi17Ci0gICAgYXV0byogc3VwcGxlbWVudCA9
IHN0YXRpY19jYXN0PERPTVdpbmRvd0NhY2hlcyo+KFN1cHBsZW1lbnQ8RE9NV2luZG93Pjo6ZnJv
bSh3aW5kb3csIHN1cHBsZW1lbnROYW1lKCkpKTsKLSAgICBpZiAoIXN1cHBsZW1lbnQpIHsKLSAg
ICAgICAgYXV0byBuZXdTdXBwbGVtZW50ID0gbWFrZVVuaXF1ZTxET01XaW5kb3dDYWNoZXM+KHdp
bmRvdyk7Ci0gICAgICAgIHN1cHBsZW1lbnQgPSBuZXdTdXBwbGVtZW50LmdldCgpOwotICAgICAg
ICBwcm92aWRlVG8od2luZG93LCBzdXBwbGVtZW50TmFtZSgpLCBXVEZNb3ZlKG5ld1N1cHBsZW1l
bnQpKTsKLSAgICB9Ci0gICAgcmV0dXJuIHN1cHBsZW1lbnQ7Ci19Ci0KLUV4Y2VwdGlvbk9yPERP
TUNhY2hlU3RvcmFnZSo+IERPTVdpbmRvd0NhY2hlczo6Y2FjaGVzKFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQmIGNvbnRleHQsIERPTVdpbmRvdyYgd2luZG93KQotewotICAgIGlmIChkb3duY2FzdDxE
b2N1bWVudD4oY29udGV4dCkuaXNTYW5kYm94ZWQoU2FuZGJveE9yaWdpbikpCi0gICAgICAgIHJl
dHVybiBFeGNlcHRpb24geyBTZWN1cml0eUVycm9yLCAiQ2FjaGUgc3RvcmFnZSBpcyBkaXNhYmxl
ZCBiZWNhdXNlIHRoZSBjb250ZXh0IGlzIHNhbmRib3hlZCBhbmQgbGFja3MgdGhlICdhbGxvdy1z
YW1lLW9yaWdpbicgZmxhZyIgfTsKLQotICAgIGlmICghd2luZG93LmlzQ3VycmVudGx5RGlzcGxh
eWVkSW5GcmFtZSgpKQotICAgICAgICByZXR1cm4gbnVsbHB0cjsKLQotICAgIHJldHVybiBET01X
aW5kb3dDYWNoZXM6OmZyb20oJndpbmRvdyktPmNhY2hlcygpOwotfQotCi1ET01DYWNoZVN0b3Jh
Z2UqIERPTVdpbmRvd0NhY2hlczo6Y2FjaGVzKCkgY29uc3QKLXsKLSAgICBBU1NFUlQoZnJhbWUo
KSk7Ci0gICAgQVNTRVJUKGZyYW1lKCktPmRvY3VtZW50KCkpOwotICAgIGlmICghbV9jYWNoZXMg
JiYgZnJhbWUoKS0+cGFnZSgpKQotICAgICAgICBtX2NhY2hlcyA9IERPTUNhY2hlU3RvcmFnZTo6
Y3JlYXRlKCpmcmFtZSgpLT5kb2N1bWVudCgpLCBmcmFtZSgpLT5wYWdlKCktPmNhY2hlU3RvcmFn
ZVByb3ZpZGVyKCkuY3JlYXRlQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbigpKTsKLSAgICByZXR1cm4g
bV9jYWNoZXMuZ2V0KCk7Ci19Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvRE9NV2luZG93Q2FjaGVzLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9ET01XaW5kb3dDYWNoZXMuaAkocmV2aXNpb24g
Mjc3OTg3KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9ET01XaW5kb3dDYWNoZXMu
aAkobm9uZXhpc3RlbnQpCkBAIC0xLDUzICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIw
MTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBg
YEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJ
QlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0gKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgotICogU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTgotICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jcHJhZ21hIG9u
Y2UKLQotI2luY2x1ZGUgIkRPTVdpbmRvd1Byb3BlcnR5LmgiCi0jaW5jbHVkZSAiRXhjZXB0aW9u
T3IuaCIKLSNpbmNsdWRlICJTdXBwbGVtZW50YWJsZS5oIgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7
Ci0KLWNsYXNzIERPTVdpbmRvdzsKLWNsYXNzIERPTUNhY2hlU3RvcmFnZTsKLWNsYXNzIFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQ7Ci0KLWNsYXNzIERPTVdpbmRvd0NhY2hlcyA6IHB1YmxpYyBTdXBw
bGVtZW50PERPTVdpbmRvdz4sIHB1YmxpYyBET01XaW5kb3dQcm9wZXJ0eSB7Ci0gICAgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQ7Ci1wdWJsaWM6Ci0gICAgZXhwbGljaXQgRE9NV2luZG93Q2FjaGVz
KERPTVdpbmRvdyopOwotCi0gICAgc3RhdGljIERPTVdpbmRvd0NhY2hlcyogZnJvbShET01XaW5k
b3cqKTsKLSAgICBzdGF0aWMgRXhjZXB0aW9uT3I8RE9NQ2FjaGVTdG9yYWdlKj4gY2FjaGVzKFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBET01XaW5kb3cmKTsKLQotcHJpdmF0ZToKLSAgICBzdGF0
aWMgY29uc3QgY2hhciogc3VwcGxlbWVudE5hbWUoKTsKLSAgICBET01DYWNoZVN0b3JhZ2UqIGNh
Y2hlcygpIGNvbnN0OwotCi0gICAgbXV0YWJsZSBSZWZQdHI8RE9NQ2FjaGVTdG9yYWdlPiBtX2Nh
Y2hlczsKLX07Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvY2FjaGUvV2luZG93T3JXb3JrZXJHbG9iYWxTY29wZStDYWNoZXMuaWRsCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvV2luZG93T3JXb3JrZXJHbG9i
YWxTY29wZStDYWNoZXMuaWRsCShub25leGlzdGVudCkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvY2FjaGUvV2luZG93T3JXb3JrZXJHbG9iYWxTY29wZStDYWNoZXMuaWRsCSh3b3JraW5nIGNv
cHkpCkBAIC0wLDAgKzEsMzIgQEAKKy8qCisqIENvcHlyaWdodCAoQykgMjAxNy0yMDIxIEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyoKKyogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwor
KiBhcmUgbWV0OgorKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKKyogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyoKKyogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworKiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKKyogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgorKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyogQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UgorKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRgorKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyogSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyog
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkKKyogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisqLworCisvLyBodHRwczovL3czYy5naXRodWIuaW8vU2VydmljZVdvcmtlci8j
c2VsZi1jYWNoZXMKK1sKKyAgICBFbmFibGVkQXRSdW50aW1lPUNhY2hlQVBJLAorICAgIEltcGxl
bWVudGVkQnk9V2luZG93T3JXb3JrZXJHbG9iYWxTY29wZUNhY2hlcworXSBwYXJ0aWFsIGludGVy
ZmFjZSBtaXhpbiBXaW5kb3dPcldvcmtlckdsb2JhbFNjb3BlIHsKKyAgICBbQ2FsbFdpdGg9U2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCwgU2VjdXJlQ29udGV4dCwgU2FtZU9iamVjdF0gcmVhZG9ubHkg
YXR0cmlidXRlIERPTUNhY2hlU3RvcmFnZSBjYWNoZXM7Cit9OwpJbmRleDogU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9jYWNoZS9XaW5kb3dPcldvcmtlckdsb2JhbFNjb3BlQ2FjaGVzLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL1dpbmRvd09yV29ya2VyR2xv
YmFsU2NvcGVDYWNoZXMuY3BwCShub25leGlzdGVudCkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvY2FjaGUvV2luZG93T3JXb3JrZXJHbG9iYWxTY29wZUNhY2hlcy5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTAsMCArMSwxNDIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTctMjAyMSBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMn
JworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMK
KyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAq
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICog
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcu
aCIKKyNpbmNsdWRlICJXaW5kb3dPcldvcmtlckdsb2JhbFNjb3BlQ2FjaGVzLmgiCisKKyNpbmNs
dWRlICJDYWNoZVN0b3JhZ2VQcm92aWRlci5oIgorI2luY2x1ZGUgIkRPTUNhY2hlU3RvcmFnZS5o
IgorI2luY2x1ZGUgIkRPTVdpbmRvdy5oIgorI2luY2x1ZGUgIkRPTVdpbmRvd1Byb3BlcnR5Lmgi
CisjaW5jbHVkZSAiRG9jdW1lbnQuaCIKKyNpbmNsdWRlICJGcmFtZS5oIgorI2luY2x1ZGUgIlBh
Z2UuaCIKKyNpbmNsdWRlICJTdXBwbGVtZW50YWJsZS5oIgorI2luY2x1ZGUgIldvcmtlckdsb2Jh
bFNjb3BlLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgRE9NV2luZG93Q2FjaGVz
IDogcHVibGljIFN1cHBsZW1lbnQ8RE9NV2luZG93PiwgcHVibGljIERPTVdpbmRvd1Byb3BlcnR5
IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKK3B1YmxpYzoKKyAgICBleHBsaWNpdCBE
T01XaW5kb3dDYWNoZXMoRE9NV2luZG93Jik7CisgICAgdmlydHVhbCB+RE9NV2luZG93Q2FjaGVz
KCkgPSBkZWZhdWx0OworCisgICAgc3RhdGljIERPTVdpbmRvd0NhY2hlcyogZnJvbShET01XaW5k
b3cmKTsKKyAgICBET01DYWNoZVN0b3JhZ2UqIGNhY2hlcygpIGNvbnN0OworCitwcml2YXRlOgor
ICAgIHN0YXRpYyBjb25zdCBjaGFyKiBzdXBwbGVtZW50TmFtZSgpIHsgcmV0dXJuICJET01XaW5k
b3dDYWNoZXMiOyB9CisKKyAgICBtdXRhYmxlIFJlZlB0cjxET01DYWNoZVN0b3JhZ2U+IG1fY2Fj
aGVzOworfTsKKworY2xhc3MgV29ya2VyR2xvYmFsU2NvcGVDYWNoZXMgOiBwdWJsaWMgU3VwcGxl
bWVudDxXb3JrZXJHbG9iYWxTY29wZT4geworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwor
cHVibGljOgorICAgIGV4cGxpY2l0IFdvcmtlckdsb2JhbFNjb3BlQ2FjaGVzKFdvcmtlckdsb2Jh
bFNjb3BlJik7CisgICAgdmlydHVhbCB+V29ya2VyR2xvYmFsU2NvcGVDYWNoZXMoKSA9IGRlZmF1
bHQ7CisKKyAgICBzdGF0aWMgV29ya2VyR2xvYmFsU2NvcGVDYWNoZXMqIGZyb20oV29ya2VyR2xv
YmFsU2NvcGUmKTsKKyAgICBET01DYWNoZVN0b3JhZ2UqIGNhY2hlcygpIGNvbnN0OworCitwcml2
YXRlOgorICAgIHN0YXRpYyBjb25zdCBjaGFyKiBzdXBwbGVtZW50TmFtZSgpIHsgcmV0dXJuICJX
b3JrZXJHbG9iYWxTY29wZUNhY2hlcyI7IH0KKworICAgIFdvcmtlckdsb2JhbFNjb3BlJiBtX3Nj
b3BlOworICAgIG11dGFibGUgUmVmUHRyPERPTUNhY2hlU3RvcmFnZT4gbV9jYWNoZXM7Cit9Owor
CisvLyBET01XaW5kb3dDYWNoZXMgc3VwcGxlbWVudC4KKworRE9NV2luZG93Q2FjaGVzOjpET01X
aW5kb3dDYWNoZXMoRE9NV2luZG93JiB3aW5kb3cpCisgICAgOiBET01XaW5kb3dQcm9wZXJ0eSgm
d2luZG93KQoreworfQorCitET01XaW5kb3dDYWNoZXMqIERPTVdpbmRvd0NhY2hlczo6ZnJvbShE
T01XaW5kb3cmIHdpbmRvdykKK3sKKyAgICBhdXRvKiBzdXBwbGVtZW50ID0gc3RhdGljX2Nhc3Q8
RE9NV2luZG93Q2FjaGVzKj4oU3VwcGxlbWVudDxET01XaW5kb3c+Ojpmcm9tKCZ3aW5kb3csIHN1
cHBsZW1lbnROYW1lKCkpKTsKKyAgICBpZiAoIXN1cHBsZW1lbnQpIHsKKyAgICAgICAgYXV0byBu
ZXdTdXBwbGVtZW50ID0gbWFrZVVuaXF1ZTxET01XaW5kb3dDYWNoZXM+KHdpbmRvdyk7CisgICAg
ICAgIHN1cHBsZW1lbnQgPSBuZXdTdXBwbGVtZW50LmdldCgpOworICAgICAgICBwcm92aWRlVG8o
JndpbmRvdywgc3VwcGxlbWVudE5hbWUoKSwgV1RGTW92ZShuZXdTdXBwbGVtZW50KSk7CisgICAg
fQorICAgIHJldHVybiBzdXBwbGVtZW50OworfQorCitET01DYWNoZVN0b3JhZ2UqIERPTVdpbmRv
d0NhY2hlczo6Y2FjaGVzKCkgY29uc3QKK3sKKyAgICBBU1NFUlQoZnJhbWUoKSk7CisgICAgQVNT
RVJUKGZyYW1lKCktPmRvY3VtZW50KCkpOworICAgIGlmICghbV9jYWNoZXMgJiYgZnJhbWUoKS0+
cGFnZSgpKQorICAgICAgICBtX2NhY2hlcyA9IERPTUNhY2hlU3RvcmFnZTo6Y3JlYXRlKCpmcmFt
ZSgpLT5kb2N1bWVudCgpLCBmcmFtZSgpLT5wYWdlKCktPmNhY2hlU3RvcmFnZVByb3ZpZGVyKCku
Y3JlYXRlQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbigpKTsKKyAgICByZXR1cm4gbV9jYWNoZXMuZ2V0
KCk7Cit9CisKKy8vIFdvcmtlckdsb2JhbFNjb3BlIHN1cHBsZW1lbnQuCisKK1dvcmtlckdsb2Jh
bFNjb3BlQ2FjaGVzOjpXb3JrZXJHbG9iYWxTY29wZUNhY2hlcyhXb3JrZXJHbG9iYWxTY29wZSYg
c2NvcGUpCisgICAgOiBtX3Njb3BlKHNjb3BlKQoreworfQorCitXb3JrZXJHbG9iYWxTY29wZUNh
Y2hlcyogV29ya2VyR2xvYmFsU2NvcGVDYWNoZXM6OmZyb20oV29ya2VyR2xvYmFsU2NvcGUmIHNj
b3BlKQoreworICAgIGF1dG8qIHN1cHBsZW1lbnQgPSBzdGF0aWNfY2FzdDxXb3JrZXJHbG9iYWxT
Y29wZUNhY2hlcyo+KFN1cHBsZW1lbnQ8V29ya2VyR2xvYmFsU2NvcGU+Ojpmcm9tKCZzY29wZSwg
c3VwcGxlbWVudE5hbWUoKSkpOworICAgIGlmICghc3VwcGxlbWVudCkgeworICAgICAgICBhdXRv
IG5ld1N1cHBsZW1lbnQgPSBtYWtlVW5pcXVlPFdvcmtlckdsb2JhbFNjb3BlQ2FjaGVzPihzY29w
ZSk7CisgICAgICAgIHN1cHBsZW1lbnQgPSBuZXdTdXBwbGVtZW50LmdldCgpOworICAgICAgICBw
cm92aWRlVG8oJnNjb3BlLCBzdXBwbGVtZW50TmFtZSgpLCBXVEZNb3ZlKG5ld1N1cHBsZW1lbnQp
KTsKKyAgICB9CisgICAgcmV0dXJuIHN1cHBsZW1lbnQ7Cit9CisKK0RPTUNhY2hlU3RvcmFnZSog
V29ya2VyR2xvYmFsU2NvcGVDYWNoZXM6OmNhY2hlcygpIGNvbnN0Cit7CisgICAgaWYgKCFtX2Nh
Y2hlcykKKyAgICAgICAgbV9jYWNoZXMgPSBET01DYWNoZVN0b3JhZ2U6OmNyZWF0ZShtX3Njb3Bl
LCBtX3Njb3BlLmNhY2hlU3RvcmFnZUNvbm5lY3Rpb24oKSk7CisgICAgcmV0dXJuIG1fY2FjaGVz
LmdldCgpOworfQorCisvLyBXaW5kb3dPcldvcmtlckdsb2JhbFNjb3BlQ2FjaGVzLgorCitFeGNl
cHRpb25PcjxET01DYWNoZVN0b3JhZ2UqPiBXaW5kb3dPcldvcmtlckdsb2JhbFNjb3BlQ2FjaGVz
OjpjYWNoZXMoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgRE9NV2luZG93JiB3aW5k
b3cpCit7CisgICAgaWYgKGRvd25jYXN0PERvY3VtZW50Pihjb250ZXh0KS5pc1NhbmRib3hlZChT
YW5kYm94T3JpZ2luKSkKKyAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IFNlY3VyaXR5RXJyb3Is
ICJDYWNoZSBzdG9yYWdlIGlzIGRpc2FibGVkIGJlY2F1c2UgdGhlIGNvbnRleHQgaXMgc2FuZGJv
eGVkIGFuZCBsYWNrcyB0aGUgJ2FsbG93LXNhbWUtb3JpZ2luJyBmbGFnIiB9OworCisgICAgaWYg
KCF3aW5kb3cuaXNDdXJyZW50bHlEaXNwbGF5ZWRJbkZyYW1lKCkpCisgICAgICAgIHJldHVybiBu
dWxscHRyOworCisgICAgcmV0dXJuIERPTVdpbmRvd0NhY2hlczo6ZnJvbSh3aW5kb3cpLT5jYWNo
ZXMoKTsKK30KKworRE9NQ2FjaGVTdG9yYWdlKiBXaW5kb3dPcldvcmtlckdsb2JhbFNjb3BlQ2Fj
aGVzOjpjYWNoZXMoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIFdvcmtlckdsb2JhbFNjb3BlJiBz
Y29wZSkKK3sKKyAgICByZXR1cm4gV29ya2VyR2xvYmFsU2NvcGVDYWNoZXM6OmZyb20oc2NvcGUp
LT5jYWNoZXMoKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDogU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9jYWNoZS9XaW5kb3dPcldvcmtlckdsb2JhbFNjb3BlQ2FjaGVzLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9XaW5kb3dPcldvcmtlckds
b2JhbFNjb3BlQ2FjaGVzLmgJKG5vbmV4aXN0ZW50KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9jYWNoZS9XaW5kb3dPcldvcmtlckdsb2JhbFNjb3BlQ2FjaGVzLmgJKHdvcmtpbmcgY29weSkK
QEAgLTAsMCArMSw0MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNy0yMDIxIEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwor
ICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisg
KiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICog
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKK25hbWVz
cGFjZSBXZWJDb3JlIHsKKworY2xhc3MgRE9NQ2FjaGVTdG9yYWdlOworY2xhc3MgRE9NV2luZG93
OworY2xhc3MgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDsKK2NsYXNzIFdvcmtlckdsb2JhbFNjb3Bl
OworCit0ZW1wbGF0ZTx0eXBlbmFtZT4gY2xhc3MgRXhjZXB0aW9uT3I7CisKK2NsYXNzIFdpbmRv
d09yV29ya2VyR2xvYmFsU2NvcGVDYWNoZXMgeworcHVibGljOgorICAgIHN0YXRpYyBFeGNlcHRp
b25PcjxET01DYWNoZVN0b3JhZ2UqPiBjYWNoZXMoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIERP
TVdpbmRvdyYpOworICAgIHN0YXRpYyBET01DYWNoZVN0b3JhZ2UqIGNhY2hlcyhTY3JpcHRFeGVj
dXRpb25Db250ZXh0JiwgV29ya2VyR2xvYmFsU2NvcGUmKTsKK307CisKK30gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvV29ya2VyR2xvYmFs
U2NvcGUrQ2FjaGVzLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Nh
Y2hlL1dvcmtlckdsb2JhbFNjb3BlK0NhY2hlcy5pZGwJKHJldmlzaW9uIDI3Nzk4NykKKysrIFNv
dXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvV29ya2VyR2xvYmFsU2NvcGUrQ2FjaGVzLmlkbAko
bm9uZXhpc3RlbnQpCkBAIC0xLDMzICswLDAgQEAKLS8qCi0qIENvcHlyaWdodCAoQykgMjAxNyBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0qCi0qIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKLSogYXJlIG1ldDoKLSogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotKiAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCi0qICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0qCi0qIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKLSogQU5E
IEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sCi0qIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0qIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IKLSogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YKLSogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi0qIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
Ci0qIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpCi0qIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKLSogVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgotKi8KLQotLy8gaHR0cHM6Ly93M2MuZ2l0aHViLmlvL1NlcnZpY2VXb3Jr
ZXIvI3NlbGYtY2FjaGVzCi0vLyBGSVhNRTogVGhpcyBzaG91bGQgYmUgbWVyZ2VkIHdpdGggRE9N
V2luZG93K0NhY2hlcy5pZGwgaW50byBhIG5ldyBXaW5kb3dPcldvcmtlckdsb2JhbFNjb3BlK0Nh
Y2hlcy5pZGwgdG8gbWF0Y2ggdGhlIHNwZWMuCi1bCi0gICAgRW5hYmxlZEF0UnVudGltZT1DYWNo
ZUFQSSwKLSAgICBJbXBsZW1lbnRlZEJ5PVdvcmtlckdsb2JhbFNjb3BlQ2FjaGVzCi1dIHBhcnRp
YWwgaW50ZXJmYWNlIFdvcmtlckdsb2JhbFNjb3BlIHsKLSAgICBbU2VjdXJlQ29udGV4dCwgU2Ft
ZU9iamVjdF0gcmVhZG9ubHkgYXR0cmlidXRlIERPTUNhY2hlU3RvcmFnZSBjYWNoZXM7Ci19OwpJ
bmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9Xb3JrZXJHbG9iYWxTY29wZUNhY2hl
cy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9Xb3JrZXJH
bG9iYWxTY29wZUNhY2hlcy5jcHAJKHJldmlzaW9uIDI3Nzk4NykKKysrIFNvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvY2FjaGUvV29ya2VyR2xvYmFsU2NvcGVDYWNoZXMuY3BwCShub25leGlzdGVudCkK
QEAgLTEsNjIgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFy
ZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5E
IEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNs
dWRlICJXb3JrZXJHbG9iYWxTY29wZUNhY2hlcy5oIgotCi0jaW5jbHVkZSAiRE9NQ2FjaGVTdG9y
YWdlLmgiCi0jaW5jbHVkZSAiV29ya2VyR2xvYmFsU2NvcGUuaCIKLQotbmFtZXNwYWNlIFdlYkNv
cmUgewotCi1jb25zdCBjaGFyKiBXb3JrZXJHbG9iYWxTY29wZUNhY2hlczo6c3VwcGxlbWVudE5h
bWUoKQotewotICAgIHJldHVybiAiV29ya2VyR2xvYmFsU2NvcGVDYWNoZXMiOwotfQotCi1Xb3Jr
ZXJHbG9iYWxTY29wZUNhY2hlcyogV29ya2VyR2xvYmFsU2NvcGVDYWNoZXM6OmZyb20oV29ya2Vy
R2xvYmFsU2NvcGUmIHNjb3BlKQotewotICAgIGF1dG8qIHN1cHBsZW1lbnQgPSBzdGF0aWNfY2Fz
dDxXb3JrZXJHbG9iYWxTY29wZUNhY2hlcyo+KFN1cHBsZW1lbnQ8V29ya2VyR2xvYmFsU2NvcGU+
Ojpmcm9tKCZzY29wZSwgc3VwcGxlbWVudE5hbWUoKSkpOwotICAgIGlmICghc3VwcGxlbWVudCkg
ewotICAgICAgICBhdXRvIG5ld1N1cHBsZW1lbnQgPSBtYWtlVW5pcXVlPFdvcmtlckdsb2JhbFNj
b3BlQ2FjaGVzPihzY29wZSk7Ci0gICAgICAgIHN1cHBsZW1lbnQgPSBuZXdTdXBwbGVtZW50Lmdl
dCgpOwotICAgICAgICBwcm92aWRlVG8oJnNjb3BlLCBzdXBwbGVtZW50TmFtZSgpLCBXVEZNb3Zl
KG5ld1N1cHBsZW1lbnQpKTsKLSAgICB9Ci0gICAgcmV0dXJuIHN1cHBsZW1lbnQ7Ci19Ci0KLURP
TUNhY2hlU3RvcmFnZSogV29ya2VyR2xvYmFsU2NvcGVDYWNoZXM6OmNhY2hlcyhXb3JrZXJHbG9i
YWxTY29wZSYgc2NvcGUpCi17Ci0gICAgcmV0dXJuIFdvcmtlckdsb2JhbFNjb3BlQ2FjaGVzOjpm
cm9tKHNjb3BlKS0+Y2FjaGVzKCk7Ci19Ci0KLURPTUNhY2hlU3RvcmFnZSogV29ya2VyR2xvYmFs
U2NvcGVDYWNoZXM6OmNhY2hlcygpIGNvbnN0Ci17Ci0gICAgaWYgKCFtX2NhY2hlcykKLSAgICAg
ICAgbV9jYWNoZXMgPSBET01DYWNoZVN0b3JhZ2U6OmNyZWF0ZShtX3Njb3BlLCBtX3Njb3BlLmNh
Y2hlU3RvcmFnZUNvbm5lY3Rpb24oKSk7Ci0gICAgcmV0dXJuIG1fY2FjaGVzLmdldCgpOwotfQot
Ci19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Nh
Y2hlL1dvcmtlckdsb2JhbFNjb3BlQ2FjaGVzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9jYWNoZS9Xb3JrZXJHbG9iYWxTY29wZUNhY2hlcy5oCShyZXZpc2lvbiAyNzc5
ODcpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL1dvcmtlckdsb2JhbFNjb3BlQ2Fj
aGVzLmgJKG5vbmV4aXN0ZW50KQpAQCAtMSw1NSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChD
KSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
LSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAy
LiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRP
UlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENP
TlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI3ByYWdt
YSBvbmNlCi0KLSNpbmNsdWRlICJTdXBwbGVtZW50YWJsZS5oIgotCi1uYW1lc3BhY2UgV2ViQ29y
ZSB7Ci0KLWNsYXNzIERPTUNhY2hlU3RvcmFnZTsKLWNsYXNzIFdvcmtlckdsb2JhbFNjb3BlOwot
Ci1jbGFzcyBXb3JrZXJHbG9iYWxTY29wZUNhY2hlcyA6IHB1YmxpYyBTdXBwbGVtZW50PFdvcmtl
ckdsb2JhbFNjb3BlPiB7Ci0gICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7Ci1wdWJsaWM6Ci0g
ICAgZXhwbGljaXQgV29ya2VyR2xvYmFsU2NvcGVDYWNoZXMoV29ya2VyR2xvYmFsU2NvcGUmIHNj
b3BlKQotICAgICAgICA6IG1fc2NvcGUoc2NvcGUpCi0gICAgewotICAgIH0KLQotICAgIHN0YXRp
YyBET01DYWNoZVN0b3JhZ2UqIGNhY2hlcyhXb3JrZXJHbG9iYWxTY29wZSYpOwotCi1wcml2YXRl
OgotICAgIHN0YXRpYyBXb3JrZXJHbG9iYWxTY29wZUNhY2hlcyogZnJvbShXb3JrZXJHbG9iYWxT
Y29wZSYpOwotICAgIHN0YXRpYyBjb25zdCBjaGFyKiBzdXBwbGVtZW50TmFtZSgpOwotICAgIERP
TUNhY2hlU3RvcmFnZSogY2FjaGVzKCkgY29uc3Q7Ci0KLSAgICBXb3JrZXJHbG9iYWxTY29wZSYg
bV9zY29wZTsKLSAgICBtdXRhYmxlIFJlZlB0cjxET01DYWNoZVN0b3JhZ2U+IG1fY2FjaGVzOwot
fTsKLQotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiAyNzc5ODcpCisr
KyBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHdvcmtp
bmcgY29weSkKQEAgLTExODEsOSArMTE4MSw4IEBACiAJCTQxQ0I4NDAxMjVDQUI3QjMwMDEwRTJC
MSAvKiBSZWFsdGltZUluY29taW5nVmlkZW9Tb3VyY2VDb2NvYS5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDFDQjg0MDAyNUNBQjdCMDAwMTBFMkIxIC8q
IFJlYWx0aW1lSW5jb21pbmdWaWRlb1NvdXJjZUNvY29hLmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDFDQjg0MDIyNUNBQjgxRTAwMTBFMkIxIC8q
IFJlYWx0aW1lSW5jb21pbmdWaWRlb1NvdXJjZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNUNERDgzM0ExRTQzMjRCQjAwNjIxRTkyIC8qIFJlYWx0aW1l
SW5jb21pbmdWaWRlb1NvdXJjZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CiAJCTQxRDAxNUNBMEY0QjVDNzEwMDRBNjYyRiAvKiBDb250ZW50VHlwZS5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDFEMDE1Qzgw
RjRCNUM3MTAwNEE2NjJGIC8qIENvbnRlbnRUeXBlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJNDFEMTI5Q0UxRjNEMEVGNjAwRDE1RTQ3IC8qIFdv
cmtlckdsb2JhbFNjb3BlQ2FjaGVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA0MUZCMjc4RDFGMzRDMjgyMDA3OTU0ODcgLyogV29ya2VyR2xvYmFsU2Nv
cGVDYWNoZXMuaCAqLzsgfTsKKwkJNDFEMTI5Q0UxRjNEMEVGNjAwRDE1RTQ3IC8qIFdpbmRvd09y
V29ya2VyR2xvYmFsU2NvcGVDYWNoZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDQxRkIyNzhEMUYzNEMyODIwMDc5NTQ4NyAvKiBXaW5kb3dPcldvcmtl
ckdsb2JhbFNjb3BlQ2FjaGVzLmggKi87IH07CiAJCTQxRDEyOUQwMUYzRDBGMDUwMEQxNUU0NyAv
KiBDYWNoZVF1ZXJ5T3B0aW9ucy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNDFGQjI3OUIxRjM0Q0VGMDAwNzk1NDg3IC8qIENhY2hlUXVlcnlPcHRpb25z
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJNDFE
MTI5RDExRjNEMEYwRTAwRDE1RTQ3IC8qIERPTVdpbmRvd0NhY2hlcy5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDFGQjI3OEMxRjM0QzI4MjAwNzk1NDg3
IC8qIERPTVdpbmRvd0NhY2hlcy5oICovOyB9OwogCQk0MUQxMjlEMzFGM0QwRjE2MDBEMTVFNDcg
LyogQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNDFEMTI5Q0MxRjNEMEVFMzAwRDE1RTQ3IC8qIENhY2hlU3RvcmFn
ZUNvbm5lY3Rpb24uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OwogCQk0MUQxMjlENTFGM0QwRjY5MDBEMTVFNDcgLyogQ2FjaGVTdG9yYWdlUHJvdmlkZXIu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxRDEyOUQ0
MUYzRDBGNjYwMEQxNUU0NyAvKiBDYWNoZVN0b3JhZ2VQcm92aWRlci5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTQxRDEyOURCMUYzRDE0MzgwMEQx
NUU0NyAvKiBGZXRjaEhlYWRlcnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDQxRjU0RjgzMUM1MEM0RjYwMDMzODQ4OCAvKiBGZXRjaEhlYWRlcnMuaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtNzc4Nyw4
ICs3Nzg2LDcgQEAKIAkJNDEzODBDMjMxRjM0MzY5NDAwMTU1RkRBIC8qIERPTUNhY2hlLmlkbCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IG5h
bWUgPSBET01DYWNoZS5pZGw7IHBhdGggPSBNb2R1bGVzL2NhY2hlL0RPTUNhY2hlLmlkbDsgc291
cmNlVHJlZSA9IFNPVVJDRV9ST09UOyB9OwogCQk0MTM4MEMyNDFGMzQzNjk3MDAxNTVGREEgLyog
RE9NQ2FjaGVTdG9yYWdlLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25v
d25GaWxlVHlwZSA9IHRleHQ7IG5hbWUgPSBET01DYWNoZVN0b3JhZ2UuaWRsOyBwYXRoID0gTW9k
dWxlcy9jYWNoZS9ET01DYWNoZVN0b3JhZ2UuaWRsOyBzb3VyY2VUcmVlID0gU09VUkNFX1JPT1Q7
IH07CiAJCTQxMzgwQzI1MUYzNDM2OUEwMDE1NUZEQSAvKiBET01DYWNoZS5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5h
bWUgPSBET01DYWNoZS5oOyBwYXRoID0gTW9kdWxlcy9jYWNoZS9ET01DYWNoZS5oOyBzb3VyY2VU
cmVlID0gU09VUkNFX1JPT1Q7IH07Ci0JCTQxMzgwQzJBMUYzNDNFMkYwMDE1NUZEQSAvKiBXb3Jr
ZXJHbG9iYWxTY29wZStDYWNoZXMuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gdGV4dDsgbmFtZSA9ICJXb3JrZXJHbG9iYWxTY29wZStDYWNoZXMu
aWRsIjsgcGF0aCA9ICJNb2R1bGVzL2NhY2hlL1dvcmtlckdsb2JhbFNjb3BlK0NhY2hlcy5pZGwi
OyBzb3VyY2VUcmVlID0gU09VUkNFX1JPT1Q7IH07Ci0JCTQxMzgwQzJCMUYzNDNFMkYwMDE1NUZE
QSAvKiBET01XaW5kb3crQ2FjaGVzLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBs
YXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IG5hbWUgPSAiRE9NV2luZG93K0NhY2hlcy5pZGwiOyBw
YXRoID0gIk1vZHVsZXMvY2FjaGUvRE9NV2luZG93K0NhY2hlcy5pZGwiOyBzb3VyY2VUcmVlID0g
U09VUkNFX1JPT1Q7IH07CisJCTQxMzgwQzJBMUYzNDNFMkYwMDE1NUZEQSAvKiBXaW5kb3dPcldv
cmtlckdsb2JhbFNjb3BlK0NhY2hlcy5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
bGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBuYW1lID0gIldpbmRvd09yV29ya2VyR2xvYmFsU2Nv
cGUrQ2FjaGVzLmlkbCI7IHBhdGggPSAiTW9kdWxlcy9jYWNoZS9XaW5kb3dPcldvcmtlckdsb2Jh
bFNjb3BlK0NhY2hlcy5pZGwiOyBzb3VyY2VUcmVlID0gU09VUkNFX1JPT1Q7IH07CiAJCTQxMzhE
MzMzMTI0NDA1NDgwMDMyM0QzMyAvKiBFdmVudENvbnRleHQuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gRXZlbnRDb250ZXh0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTQxMzhEMzM0MTI0NDA1NDgwMDMyM0QzMyAvKiBFdmVudENvbnRleHQuY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRXZlbnRDb250ZXh0LmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDEzOEY4NTUxRDI1M0VFRTAwMUNCNjFFIC8qIEpTRE9NSXRl
cmF0b3IuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNET01JdGVy
YXRvci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC04MTE1LDEwICs4MTEzLDgg
QEAKIAkJNDFGNTRGODkxQzUwQzRGNjAwMzM4NDg4IC8qIEZldGNoUmVxdWVzdC5pZGwgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSB0ZXh0OyBwYXRoID0gRmV0Y2hSZXF1ZXN0LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJNDFGQUJEMkIxRjRERkU0MjAwNkE2Qzk3IC8qIERPTUNhY2hlRW5naW5lLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERPTUNhY2hlRW5naW5lLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxRkFCRDJFMUY0RTAyNTEwMDZBNkM5NyAvKiBET01DYWNo
ZUVuZ2luZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBET01DYWNo
ZUVuZ2luZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTQxRkIyNzhDMUYzNEMy
ODIwMDc5NTQ4NyAvKiBET01XaW5kb3dDYWNoZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRE9NV2luZG93
Q2FjaGVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTQxRkIyNzhEMUYzNEMyODIw
MDc5NTQ4NyAvKiBXb3JrZXJHbG9iYWxTY29wZUNhY2hlcy5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXb3Jr
ZXJHbG9iYWxTY29wZUNhY2hlcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk0MUZC
Mjc4RTFGMzRDMjgyMDA3OTU0ODcgLyogRE9NV2luZG93Q2FjaGVzLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IERPTVdpbmRvd0NhY2hlcy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0J
CTQxRkIyNzhGMUYzNEMyODIwMDc5NTQ4NyAvKiBXb3JrZXJHbG9iYWxTY29wZUNhY2hlcy5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBXb3JrZXJHbG9iYWxTY29wZUNhY2hlcy5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTQxRkIyNzhEMUYzNEMyODIwMDc5NTQ4NyAvKiBXaW5kb3dP
cldvcmtlckdsb2JhbFNjb3BlQ2FjaGVzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdpbmRvd09yV29ya2Vy
R2xvYmFsU2NvcGVDYWNoZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDFGQjI3
OEYxRjM0QzI4MjAwNzk1NDg3IC8qIFdpbmRvd09yV29ya2VyR2xvYmFsU2NvcGVDYWNoZXMuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gV2luZG93T3JXb3JrZXJHbG9iYWxTY29wZUNhY2hlcy5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxRkIyNzk5MUYzNENFOUMwMDc5NTQ4NyAv
KiBDYWNoZVF1ZXJ5T3B0aW9ucy5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gQ2FjaGVRdWVyeU9wdGlvbnMuaWRsOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MUZCMjc5QjFGMzRDRUYwMDA3OTU0ODcgLyogQ2Fj
aGVRdWVyeU9wdGlvbnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ2FjaGVRdWVyeU9wdGlvbnMuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDFGQ0E1RjcyNEVBQUYxNTAwNUUxQkE2IC8qIFRy
YW5zZm9ybVN0cmVhbS5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3du
RmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gVHJhbnNmb3JtU3RyZWFtLmlkbDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKQEAgLTE5NTgxLDE1ICsxOTU3NywxMiBAQAogCQkJCTQxMzgwQzIxMUYz
NDM2OEQwMDE1NUZEQSAvKiBET01DYWNoZVN0b3JhZ2UuY3BwICovLAogCQkJCTQxMzgwQzIyMUYz
NDM2OTAwMDE1NUZEQSAvKiBET01DYWNoZVN0b3JhZ2UuaCAqLywKIAkJCQk0MTM4MEMyNDFGMzQz
Njk3MDAxNTVGREEgLyogRE9NQ2FjaGVTdG9yYWdlLmlkbCAqLywKLQkJCQk0MTM4MEMyQjFGMzQz
RTJGMDAxNTVGREEgLyogRE9NV2luZG93K0NhY2hlcy5pZGwgKi8sCi0JCQkJNDFGQjI3OEUxRjM0
QzI4MjAwNzk1NDg3IC8qIERPTVdpbmRvd0NhY2hlcy5jcHAgKi8sCi0JCQkJNDFGQjI3OEMxRjM0
QzI4MjAwNzk1NDg3IC8qIERPTVdpbmRvd0NhY2hlcy5oICovLAogCQkJCTQxODkzOEFGMjQyOUY5
QUIwMDdGREM0MSAvKiBSZXRyaWV2ZVJlY29yZHNPcHRpb25zLmggKi8sCisJCQkJNDEzODBDMkEx
RjM0M0UyRjAwMTU1RkRBIC8qIFdpbmRvd09yV29ya2VyR2xvYmFsU2NvcGUrQ2FjaGVzLmlkbCAq
LywKKwkJCQk0MUZCMjc4RjFGMzRDMjgyMDA3OTU0ODcgLyogV2luZG93T3JXb3JrZXJHbG9iYWxT
Y29wZUNhY2hlcy5jcHAgKi8sCisJCQkJNDFGQjI3OEQxRjM0QzI4MjAwNzk1NDg3IC8qIFdpbmRv
d09yV29ya2VyR2xvYmFsU2NvcGVDYWNoZXMuaCAqLywKIAkJCQk0MUE3RDM0RjFGNDM4RDEwMDA4
OTg4REUgLyogV29ya2VyQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbi5jcHAgKi8sCiAJCQkJNDFBN0Qz
NTAxRjQzOEQxMDAwODk4OERFIC8qIFdvcmtlckNhY2hlU3RvcmFnZUNvbm5lY3Rpb24uaCAqLywK
LQkJCQk0MTM4MEMyQTFGMzQzRTJGMDAxNTVGREEgLyogV29ya2VyR2xvYmFsU2NvcGUrQ2FjaGVz
LmlkbCAqLywKLQkJCQk0MUZCMjc4RjFGMzRDMjgyMDA3OTU0ODcgLyogV29ya2VyR2xvYmFsU2Nv
cGVDYWNoZXMuY3BwICovLAotCQkJCTQxRkIyNzhEMUYzNEMyODIwMDc5NTQ4NyAvKiBXb3JrZXJH
bG9iYWxTY29wZUNhY2hlcy5oICovLAogCQkJKTsKIAkJCXBhdGggPSBjYWNoZTsKIAkJCXNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7CkBAIC0zMjMwMCw3ICszMjI5Myw2IEBACiAJCQkJMUNFOEQxMjcy
NjE4NUMwRTAwRkMzQUVGIC8qIERpc3BsYXlMaXN0SXRlbUJ1ZmZlcklkZW50aWZpZXIuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTBGRTVGQkQ1MUMzREQ1MUUwMDA3QTJDQSAvKiBEaXNwbGF5TGlzdEl0
ZW1zLmggaW4gSGVhZGVycyAqLywKIAkJCQlGNDM3N0Q1NzI1NTFDOUM2MDA4MEFCRkUgLyogRGlz
cGxheUxpc3RJdGVtVHlwZS5oIGluIEhlYWRlcnMgKi8sCi0JCQkJQkMzRTYyNDMyNjU5NzkxODAw
NTQ4QUNEIC8qIFBsYXRmb3JtQ29sb3JTcGFjZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUNFOEQx
MkUyNjE4NjFDNDAwRkMzQUVGIC8qIERpc3BsYXlMaXN0SXRlcmF0b3IuaCBpbiBIZWFkZXJzICov
LAogCQkJCTBGRTVGQkQ3MUMzREQ1MUUwMDA3QTJDQSAvKiBEaXNwbGF5TGlzdFJlY29yZGVyLmgg
aW4gSGVhZGVycyAqLywKIAkJCQkwRkU1RkJEOTFDM0RENTFFMDAwN0EyQ0EgLyogRGlzcGxheUxp
c3RSZXBsYXllci5oIGluIEhlYWRlcnMgKi8sCkBAIC0zMjM4Niw3ICszMjM3OCw2IEBACiAJCQkJ
MkUzN0RGREIxMkRCQUZCODAwQTZCMjMzIC8qIERPTVVSTC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
Q0Q5REUxODIxN0FBRDZBNDAwRUEzODZEIC8qIERPTVVSTE1lZGlhU291cmNlLmggaW4gSGVhZGVy
cyAqLywKIAkJCQkxNDAzQjk5NzA5RUIxM0FGMDA3OTdDN0YgLyogRE9NV2luZG93LmggaW4gSGVh
ZGVycyAqLywKLQkJCQk0MUQxMjlEMTFGM0QwRjBFMDBEMTVFNDcgLyogRE9NV2luZG93Q2FjaGVz
LmggaW4gSGVhZGVycyAqLywKIAkJCQk1MUZBMkQ3ODE1MjEzMkIzMDBDMUJBMEIgLyogRE9NV2lu
ZG93RXh0ZW5zaW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQk5N0QyQUQwNDE0QjgyM0E2MDA5M0RG
MzIgLyogRE9NV2luZG93UHJvcGVydHkuaCBpbiBIZWFkZXJzICovLAogCQkJCUFBMkE1QUQ2MTZB
NDg2MTYwMDk3NUEyNSAvKiBET01XaW5kb3dTcGVlY2hTeW50aGVzaXMuaCBpbiBIZWFkZXJzICov
LApAQCAtMzQ1MzgsNiArMzQ1MjksNyBAQAogCQkJCTQ5OUIzRUM1MTI4Q0NDNDcwMEU3MjZDMiAv
KiBQbGF0Zm9ybUNBTGF5ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTQ5M0U1RTA5MTJENjQyMDUw
MDAyMDA4MSAvKiBQbGF0Zm9ybUNBTGF5ZXJDbGllbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTJE
NzBCQTEzMTgwNzREREYwMDAxOTA4QSAvKiBQbGF0Zm9ybUNBTGF5ZXJDb2NvYS5oIGluIEhlYWRl
cnMgKi8sCisJCQkJQkMzRTYyNDMyNjU5NzkxODAwNTQ4QUNEIC8qIFBsYXRmb3JtQ29sb3JTcGFj
ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTE0OTc4NzExQUJBRjNBNTAwQ0VGN0U0IC8qIFBsYXRm
b3JtQ29udGVudEZpbHRlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkM1Qzc2MkIxNDk3RkUxNDAw
QkM0Nzc1IC8qIFBsYXRmb3JtRXZlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTI2NjAxRUJGMTRC
M0I5QUQwMDEyQzBGRSAvKiBQbGF0Zm9ybUV2ZW50RmFjdG9yeUlPUy5oIGluIEhlYWRlcnMgKi8s
CkBAIC0zNTkzNCw2ICszNTkyNiw3IEBACiAJCQkJOUIyN0ZDNjAyMzREOUFEQjAwMzk0QTQ2IC8q
IFdpbmRvd0V2ZW50TG9vcC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkM4MjQzRTkwRDBDRkQ3NTAw
NDYwQzhGIC8qIFdpbmRvd0ZlYXR1cmVzLmggaW4gSGVhZGVycyAqLywKIAkJCQk3RTk5QUY1MzBC
MTM4NDY0NjhGQjAxQTUgLyogV2luZG93Rm9jdXNBbGxvd2VkSW5kaWNhdG9yLmggaW4gSGVhZGVy
cyAqLywKKwkJCQk0MUQxMjlDRTFGM0QwRUY2MDBEMTVFNDcgLyogV2luZG93T3JXb3JrZXJHbG9i
YWxTY29wZUNhY2hlcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTE4NUZDQjQxQkI0QzRFODAwMTI4
OThGIC8qIFdpbmRvd09yV29ya2VyR2xvYmFsU2NvcGVJbmRleGVkRGF0YWJhc2UuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTQ2MzUyMUFEMjA4MTA5MkEwMEMyODkyMiAvKiBXaW5kb3dQcm94eS5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJRTFFMUJGMDAxMTVGRjZGQjAwNkY1MkNBIC8qIFdpbmRvd3NLZXli
b2FyZENvZGVzLmggaW4gSGVhZGVycyAqLywKQEAgLTM1OTU3LDcgKzM1OTUwLDYgQEAKIAkJCQk5
MUUwRERDNDIzMEI0MUYxMDAxOUUxRTMgLyogV29ya2VyRE9NRGVidWdnZXJBZ2VudC5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJQTdENkIzNDkwRjYxMTA0NTAwRkY5RkQxIC8qIFdvcmtlckZvbnRMb2Fk
UmVxdWVzdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMkU0MzQ2NDkwRjU0NkE4MjAwQjBGMUJBIC8q
IFdvcmtlckdsb2JhbFNjb3BlLmggaW4gSGVhZGVycyAqLywKLQkJCQk0MUQxMjlDRTFGM0QwRUY2
MDBEMTVFNDcgLyogV29ya2VyR2xvYmFsU2NvcGVDYWNoZXMuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTJFNDM0NjRCMEY1NDZBODIwMEIwRjFCQSAvKiBXb3JrZXJHbG9iYWxTY29wZVByb3h5LmggaW4g
SGVhZGVycyAqLywKIAkJCQlBNTRBMEM2MjFEQjdGOEMxMDAxN0E5MEIgLyogV29ya2VySW5zcGVj
dG9yQ29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTU0QTBDNkMxREI4MzFGOTAwMTdB
OTBCIC8qIFdvcmtlckluc3BlY3RvclByb3h5LmggaW4gSGVhZGVycyAqLywK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>429778</attachid>
            <date>2021-05-26 11:51:56 -0700</date>
            <delta_ts>2021-05-27 06:26:30 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-226271-20210526115155.patch</filename>
            <type>text/plain</type>
            <size>41191</size>
            <attacher name="Sam Weinig">sam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI3ODExNikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM5IEBACisyMDIxLTA1LTI2ICBTYW0gV2Vp
bmlnICA8d2VpbmlnQGFwcGxlLmNvbT4KKworICAgICAgICBNZXJnZSBXb3JrZXJHbG9iYWxTY29w
ZStDYWNoZXMuaWRsIGFuZCBET01XaW5kb3crQ2FjaGVzLmlkbCBpbnRvIGEgc2luZ2xlIFdpbmRv
d09yV29ya2VyR2xvYmFsU2NvcGUrQ2FjaGVzLmlkbAorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI2MjcxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkcmVzcyBGSVhNRXMgaW4gYm90aCBXb3JrZXJHbG9i
YWxTY29wZStDYWNoZXMuaWRsIGFuZCBET01XaW5kb3crQ2FjaGVzLmlkbCBieQorICAgICAgICBt
ZXJnaW5nIHRoZW0gaW50byBhIHNpbmdsZSBXaW5kb3dPcldvcmtlckdsb2JhbFNjb3BlK0NhY2hl
cy5pZGwsIG1hdGNoaW5nIHRoZSBzcGVjCisgICAgICAgIGxhbmdhdWdlIG1vcmUgY2xvc2VseS4K
KworICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLWlu
cHV0LnhjZmlsZWxpc3Q6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxp
c3Q6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBNb2R1bGVzL2Nh
Y2hlL0RPTVdpbmRvdytDYWNoZXMuaWRsOiBSZW1vdmVkLgorICAgICAgICAqIE1vZHVsZXMvY2Fj
aGUvRE9NV2luZG93Q2FjaGVzLmNwcDogUmVtb3ZlZC4KKyAgICAgICAgKiBNb2R1bGVzL2NhY2hl
L0RPTVdpbmRvd0NhY2hlcy5oOiBSZW1vdmVkLgorICAgICAgICAqIE1vZHVsZXMvY2FjaGUvV2lu
ZG93T3JXb3JrZXJHbG9iYWxTY29wZStDYWNoZXMuaWRsOiBBZGRlZC4KKyAgICAgICAgKiBNb2R1
bGVzL2NhY2hlL1dpbmRvd09yV29ya2VyR2xvYmFsU2NvcGVDYWNoZXMuY3BwOiBBZGRlZC4KKyAg
ICAgICAgKFdlYkNvcmU6OkRPTVdpbmRvd0NhY2hlczo6c3VwcGxlbWVudE5hbWUpOgorICAgICAg
ICAoV2ViQ29yZTo6V29ya2VyR2xvYmFsU2NvcGVDYWNoZXM6OnN1cHBsZW1lbnROYW1lKToKKyAg
ICAgICAgKFdlYkNvcmU6OkRPTVdpbmRvd0NhY2hlczo6RE9NV2luZG93Q2FjaGVzKToKKyAgICAg
ICAgKFdlYkNvcmU6OkRPTVdpbmRvd0NhY2hlczo6ZnJvbSk6CisgICAgICAgIChXZWJDb3JlOjpE
T01XaW5kb3dDYWNoZXM6OmNhY2hlcyBjb25zdCk6CisgICAgICAgIChXZWJDb3JlOjpXb3JrZXJH
bG9iYWxTY29wZUNhY2hlczo6V29ya2VyR2xvYmFsU2NvcGVDYWNoZXMpOgorICAgICAgICAoV2Vi
Q29yZTo6V29ya2VyR2xvYmFsU2NvcGVDYWNoZXM6OmZyb20pOgorICAgICAgICAoV2ViQ29yZTo6
V29ya2VyR2xvYmFsU2NvcGVDYWNoZXM6OmNhY2hlcyBjb25zdCk6CisgICAgICAgIChXZWJDb3Jl
OjpXaW5kb3dPcldvcmtlckdsb2JhbFNjb3BlQ2FjaGVzOjpjYWNoZXMpOgorICAgICAgICAqIE1v
ZHVsZXMvY2FjaGUvV2luZG93T3JXb3JrZXJHbG9iYWxTY29wZUNhY2hlcy5oOiBBZGRlZC4KKyAg
ICAgICAgKiBNb2R1bGVzL2NhY2hlL1dvcmtlckdsb2JhbFNjb3BlK0NhY2hlcy5pZGw6IFJlbW92
ZWQuCisgICAgICAgICogTW9kdWxlcy9jYWNoZS9Xb3JrZXJHbG9iYWxTY29wZUNhY2hlcy5jcHA6
IFJlbW92ZWQuCisgICAgICAgICogTW9kdWxlcy9jYWNoZS9Xb3JrZXJHbG9iYWxTY29wZUNhY2hl
cy5oOiBSZW1vdmVkLgorICAgICAgICAqIFNvdXJjZXMudHh0OgorICAgICAgICAqIFdlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKwogMjAyMS0wNS0yNiAgQ2hyaXMgRHVtZXogIDxj
ZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIERyb3AgU2VjdXJpdHlQb2xpY3lWaW9sYXRpb25F
dmVudCdzIGJsb2NrZWRVUkwgJiBkb2N1bWVudFVSTCBhdHRyaWJ1dGVzCkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9DTWFrZUxpc3RzLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9DTWFr
ZUxpc3RzLnR4dAkocmV2aXNpb24gMjc4MTE2KQorKysgU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0
cy50eHQJKHdvcmtpbmcgY29weSkKQEAgLTIyOSw4ICsyMjksNyBAQCBzZXQoV2ViQ29yZV9OT05f
U1ZHX0lETF9GSUxFUwogICAgIE1vZHVsZXMvY2FjaGUvQ2FjaGVRdWVyeU9wdGlvbnMuaWRsCiAg
ICAgTW9kdWxlcy9jYWNoZS9ET01DYWNoZS5pZGwKICAgICBNb2R1bGVzL2NhY2hlL0RPTUNhY2hl
U3RvcmFnZS5pZGwKLSAgICBNb2R1bGVzL2NhY2hlL0RPTVdpbmRvdytDYWNoZXMuaWRsCi0gICAg
TW9kdWxlcy9jYWNoZS9Xb3JrZXJHbG9iYWxTY29wZStDYWNoZXMuaWRsCisgICAgTW9kdWxlcy9j
YWNoZS9XaW5kb3dPcldvcmtlckdsb2JhbFNjb3BlK0NhY2hlcy5pZGwKIAogICAgIE1vZHVsZXMv
Y29udGFjdC1waWNrZXIvQ29udGFjdEluZm8uaWRsCiAgICAgTW9kdWxlcy9jb250YWN0LXBpY2tl
ci9Db250YWN0UHJvcGVydHkuaWRsCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNl
cy1pbnB1dC54Y2ZpbGVsaXN0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL0Rlcml2ZWRT
b3VyY2VzLWlucHV0LnhjZmlsZWxpc3QJKHJldmlzaW9uIDI3ODExNikKKysrIFNvdXJjZS9XZWJD
b3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QJKHdvcmtpbmcgY29weSkKQEAgLTcy
LDggKzcyLDcgQEAgJChQUk9KRUNUX0RJUikvTW9kdWxlcy9iZWFjb24vTmF2aWdhdG9yKwogJChQ
Uk9KRUNUX0RJUikvTW9kdWxlcy9jYWNoZS9DYWNoZVF1ZXJ5T3B0aW9ucy5pZGwKICQoUFJPSkVD
VF9ESVIpL01vZHVsZXMvY2FjaGUvRE9NQ2FjaGUuaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVz
L2NhY2hlL0RPTUNhY2hlU3RvcmFnZS5pZGwKLSQoUFJPSkVDVF9ESVIpL01vZHVsZXMvY2FjaGUv
RE9NV2luZG93K0NhY2hlcy5pZGwKLSQoUFJPSkVDVF9ESVIpL01vZHVsZXMvY2FjaGUvV29ya2Vy
R2xvYmFsU2NvcGUrQ2FjaGVzLmlkbAorJChQUk9KRUNUX0RJUikvTW9kdWxlcy9jYWNoZS9XaW5k
b3dPcldvcmtlckdsb2JhbFNjb3BlK0NhY2hlcy5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMv
Y29udGFjdC1waWNrZXIvQ29udGFjdEluZm8uaWRsCiAkKFBST0pFQ1RfRElSKS9Nb2R1bGVzL2Nv
bnRhY3QtcGlja2VyL0NvbnRhY3RQcm9wZXJ0eS5pZGwKICQoUFJPSkVDVF9ESVIpL01vZHVsZXMv
Y29udGFjdC1waWNrZXIvQ29udGFjdHNNYW5hZ2VyLmlkbApJbmRleDogU291cmNlL1dlYkNvcmUv
RGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
YkNvcmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QJKHJldmlzaW9uIDI3ODExNikK
KysrIFNvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0CSh3b3Jr
aW5nIGNvcHkpCkBAIC01NTQsOCArNTU0LDYgQEAgJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2
ZWRTb3VyY2VzL1dlYgogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSlNET01XaW5kb3crQ1NTT00uaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3Vy
Y2VzL1dlYkNvcmUvSlNET01XaW5kb3crQ1NTT01WaWV3LmNwcAogJChCVUlMVF9QUk9EVUNUU19E
SVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNET01XaW5kb3crQ1NTT01WaWV3LmgKLSQoQlVJ
TFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRE9NV2luZG93K0NhY2hl
cy5jcHAKLSQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRE9N
V2luZG93K0NhY2hlcy5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2Vi
Q29yZS9KU0RPTVdpbmRvdytDb21wYXQuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZl
ZFNvdXJjZXMvV2ViQ29yZS9KU0RPTVdpbmRvdytDb21wYXQuaAogJChCVUlMVF9QUk9EVUNUU19E
SVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNET01XaW5kb3crRGV2aWNlTW90aW9uLmNwcApA
QCAtNTc0LDggKzU3Miw2IEBAICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9X
ZWIKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTRE9NV2lu
ZG93K1dlYkRhdGFiYXNlLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9X
ZWJDb3JlL0pTRE9NV2luZG93LmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3Vy
Y2VzL1dlYkNvcmUvSlNET01XaW5kb3cuaAotJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRT
b3VyY2VzL1dlYkNvcmUvSlNET01XaW5kb3dDYWNoZXMuY3BwCi0kKEJVSUxUX1BST0RVQ1RTX0RJ
UikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0RPTVdpbmRvd0NhY2hlcy5oCiAkKEJVSUxUX1BS
T0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0RPTVdpbmRvd1NwZWVjaFN5bnRo
ZXNpcy5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pT
RE9NV2luZG93U3BlZWNoU3ludGhlc2lzLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVk
U291cmNlcy9XZWJDb3JlL0pTRE9NV2luZG93V2ViRGF0YWJhc2UuY3BwCkBAIC0yNTY4LDYgKzI1
NjQsOCBAQCAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViCiAkKEJVSUxU
X1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU1dpbmRvd0V2ZW50SGFuZGxl
cnMuaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNXaW5k
b3dMb2NhbFN0b3JhZ2UuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMv
V2ViQ29yZS9KU1dpbmRvd0xvY2FsU3RvcmFnZS5oCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9KU1dpbmRvd09yV29ya2VyR2xvYmFsU2NvcGUrQ2FjaGVzLmNw
cAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNXaW5kb3dP
cldvcmtlckdsb2JhbFNjb3BlK0NhY2hlcy5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZl
ZFNvdXJjZXMvV2ViQ29yZS9KU1dpbmRvd09yV29ya2VyR2xvYmFsU2NvcGUrQ3J5cHRvLmNwcAog
JChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNXaW5kb3dPcldv
cmtlckdsb2JhbFNjb3BlK0NyeXB0by5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNv
dXJjZXMvV2ViQ29yZS9KU1dpbmRvd09yV29ya2VyR2xvYmFsU2NvcGUrRmV0Y2guY3BwCkBAIC0y
NTgyLDEyICsyNTgwLDggQEAgJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dl
YgogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNXaW5kb3dT
ZXNzaW9uU3RvcmFnZS5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2Vi
Q29yZS9KU1dvcmtlci5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9X
ZWJDb3JlL0pTV29ya2VyLmgKLSQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9X
ZWJDb3JlL0pTV29ya2VyR2xvYmFsU2NvcGUrQ2FjaGVzLmNwcAotJChCVUlMVF9QUk9EVUNUU19E
SVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNXb3JrZXJHbG9iYWxTY29wZStDYWNoZXMuaAog
JChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNXb3JrZXJHbG9i
YWxTY29wZS5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3Jl
L0pTV29ya2VyR2xvYmFsU2NvcGUuaAotJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3Vy
Y2VzL1dlYkNvcmUvSlNXb3JrZXJHbG9iYWxTY29wZUNhY2hlcy5jcHAKLSQoQlVJTFRfUFJPRFVD
VFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTV29ya2VyR2xvYmFsU2NvcGVDYWNoZXMu
aAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNXb3JrZXJM
b2NhdGlvbi5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3Jl
L0pTV29ya2VyTG9jYXRpb24uaAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2Vz
L1dlYkNvcmUvSlNXb3JrZXJOYXZpZ2F0b3IrR1BVLmNwcApJbmRleDogU291cmNlL1dlYkNvcmUv
RGVyaXZlZFNvdXJjZXMubWFrZQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9EZXJpdmVk
U291cmNlcy5tYWtlCShyZXZpc2lvbiAyNzgxMTYpCisrKyBTb3VyY2UvV2ViQ29yZS9EZXJpdmVk
U291cmNlcy5tYWtlCSh3b3JraW5nIGNvcHkpCkBAIC0xMDEsOCArMTAxLDcgQEAgSlNfQklORElO
R19JRExTIDo9IFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvY2FjaGUvQ2FjaGVRdWVyeU9wdGlv
bnMuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvY2FjaGUvRE9NQ2FjaGUuaWRsIFwKICAg
ICAkKFdlYkNvcmUpL01vZHVsZXMvY2FjaGUvRE9NQ2FjaGVTdG9yYWdlLmlkbCBcCi0gICAgJChX
ZWJDb3JlKS9Nb2R1bGVzL2NhY2hlL0RPTVdpbmRvdytDYWNoZXMuaWRsIFwKLSAgICAkKFdlYkNv
cmUpL01vZHVsZXMvY2FjaGUvV29ya2VyR2xvYmFsU2NvcGUrQ2FjaGVzLmlkbCBcCisgICAgJChX
ZWJDb3JlKS9Nb2R1bGVzL2NhY2hlL1dpbmRvd09yV29ya2VyR2xvYmFsU2NvcGUrQ2FjaGVzLmlk
bCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2NvbnRhY3QtcGlja2VyL0NvbnRhY3RJbmZvLmlk
bCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2NvbnRhY3QtcGlja2VyL0NvbnRhY3RQcm9wZXJ0
eS5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9jb250YWN0LXBpY2tlci9Db250YWN0c01h
bmFnZXIuaWRsIFwKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0Cj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CShyZXZpc2lvbiAyNzgxMTYpCisrKyBTb3Vy
Y2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMzQsOSArMzQsOCBAQCBN
b2R1bGVzL2NhY2hlL0NhY2hlU3RvcmFnZUNvbm5lY3Rpb24uY3BwCiBNb2R1bGVzL2NhY2hlL0RP
TUNhY2hlLmNwcAogTW9kdWxlcy9jYWNoZS9ET01DYWNoZUVuZ2luZS5jcHAKIE1vZHVsZXMvY2Fj
aGUvRE9NQ2FjaGVTdG9yYWdlLmNwcAotTW9kdWxlcy9jYWNoZS9ET01XaW5kb3dDYWNoZXMuY3Bw
CitNb2R1bGVzL2NhY2hlL1dpbmRvd09yV29ya2VyR2xvYmFsU2NvcGVDYWNoZXMuY3BwCiBNb2R1
bGVzL2NhY2hlL1dvcmtlckNhY2hlU3RvcmFnZUNvbm5lY3Rpb24uY3BwCi1Nb2R1bGVzL2NhY2hl
L1dvcmtlckdsb2JhbFNjb3BlQ2FjaGVzLmNwcAogTW9kdWxlcy9jb250YWN0LXBpY2tlci9Db250
YWN0c01hbmFnZXIuY3BwCiBNb2R1bGVzL2NvbnRhY3QtcGlja2VyL05hdmlnYXRvckNvbnRhY3Rz
LmNwcAogTW9kdWxlcy9jcmVkZW50aWFsbWFuYWdlbWVudC9CYXNpY0NyZWRlbnRpYWwuY3BwCklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0RPTVdpbmRvdytDYWNoZXMuaWRsCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvRE9NV2luZG93K0NhY2hl
cy5pZGwJKHJldmlzaW9uIDI3ODExNikKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUv
RE9NV2luZG93K0NhY2hlcy5pZGwJKG5vbmV4aXN0ZW50KQpAQCAtMSwzMyArMCwwIEBACi0vKgot
ICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAq
Ci0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0g
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5E
IElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
Ci0gKi8KLQotLy8gaHR0cHM6Ly93M2MuZ2l0aHViLmlvL1NlcnZpY2VXb3JrZXIvI3NlbGYtY2Fj
aGVzCi0vLyBGSVhNRTogVGhpcyBzaG91bGQgYmUgbWVyZ2VkIHdpdGggV29ya2VyR2xvYmFsU2Nv
cGUrQ2FjaGVzLmlkbCBpbnRvIGEgbmV3IFdpbmRvd09yV29ya2VyR2xvYmFsU2NvcGUrQ2FjaGVz
LmlkbCB0byBtYXRjaCB0aGUgc3BlYy4KLVsKLSAgICBFbmFibGVkQXRSdW50aW1lPUNhY2hlQVBJ
LAotICAgIEltcGxlbWVudGVkQnk9RE9NV2luZG93Q2FjaGVzCi1dIHBhcnRpYWwgaW50ZXJmYWNl
IERPTVdpbmRvdyB7Ci0gICAgW0NhbGxXaXRoPVNjcmlwdEV4ZWN1dGlvbkNvbnRleHQsIFNlY3Vy
ZUNvbnRleHQsIFNhbWVPYmplY3RdIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01DYWNoZVN0b3JhZ2Ug
Y2FjaGVzOwotfTsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvRE9NV2luZG93
Q2FjaGVzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL0RP
TVdpbmRvd0NhY2hlcy5jcHAJKHJldmlzaW9uIDI3ODExNikKKysrIFNvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvY2FjaGUvRE9NV2luZG93Q2FjaGVzLmNwcAkobm9uZXhpc3RlbnQpCkBAIC0xLDc5ICsw
LDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0g
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAot
ICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0g
KiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRgotICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgotICog
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KLSAqLwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVkZSAiRE9NV2lu
ZG93Q2FjaGVzLmgiCi0KLSNpbmNsdWRlICJDYWNoZVN0b3JhZ2VQcm92aWRlci5oIgotI2luY2x1
ZGUgIkRPTUNhY2hlU3RvcmFnZS5oIgotI2luY2x1ZGUgIkRPTVdpbmRvdy5oIgotI2luY2x1ZGUg
IkRvY3VtZW50LmgiCi0jaW5jbHVkZSAiRnJhbWUuaCIKLSNpbmNsdWRlICJQYWdlLmgiCi0KLW5h
bWVzcGFjZSBXZWJDb3JlIHsKLQotRE9NV2luZG93Q2FjaGVzOjpET01XaW5kb3dDYWNoZXMoRE9N
V2luZG93KiB3aW5kb3cpCi0gICAgOiBET01XaW5kb3dQcm9wZXJ0eSh3aW5kb3cpCi17Ci19Ci0K
LWNvbnN0IGNoYXIqIERPTVdpbmRvd0NhY2hlczo6c3VwcGxlbWVudE5hbWUoKQotewotICAgIHJl
dHVybiAiRE9NV2luZG93Q2FjaGVzIjsKLX0KLQotRE9NV2luZG93Q2FjaGVzKiBET01XaW5kb3dD
YWNoZXM6OmZyb20oRE9NV2luZG93KiB3aW5kb3cpCi17Ci0gICAgYXV0byogc3VwcGxlbWVudCA9
IHN0YXRpY19jYXN0PERPTVdpbmRvd0NhY2hlcyo+KFN1cHBsZW1lbnQ8RE9NV2luZG93Pjo6ZnJv
bSh3aW5kb3csIHN1cHBsZW1lbnROYW1lKCkpKTsKLSAgICBpZiAoIXN1cHBsZW1lbnQpIHsKLSAg
ICAgICAgYXV0byBuZXdTdXBwbGVtZW50ID0gbWFrZVVuaXF1ZTxET01XaW5kb3dDYWNoZXM+KHdp
bmRvdyk7Ci0gICAgICAgIHN1cHBsZW1lbnQgPSBuZXdTdXBwbGVtZW50LmdldCgpOwotICAgICAg
ICBwcm92aWRlVG8od2luZG93LCBzdXBwbGVtZW50TmFtZSgpLCBXVEZNb3ZlKG5ld1N1cHBsZW1l
bnQpKTsKLSAgICB9Ci0gICAgcmV0dXJuIHN1cHBsZW1lbnQ7Ci19Ci0KLUV4Y2VwdGlvbk9yPERP
TUNhY2hlU3RvcmFnZSo+IERPTVdpbmRvd0NhY2hlczo6Y2FjaGVzKFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQmIGNvbnRleHQsIERPTVdpbmRvdyYgd2luZG93KQotewotICAgIGlmIChkb3duY2FzdDxE
b2N1bWVudD4oY29udGV4dCkuaXNTYW5kYm94ZWQoU2FuZGJveE9yaWdpbikpCi0gICAgICAgIHJl
dHVybiBFeGNlcHRpb24geyBTZWN1cml0eUVycm9yLCAiQ2FjaGUgc3RvcmFnZSBpcyBkaXNhYmxl
ZCBiZWNhdXNlIHRoZSBjb250ZXh0IGlzIHNhbmRib3hlZCBhbmQgbGFja3MgdGhlICdhbGxvdy1z
YW1lLW9yaWdpbicgZmxhZyIgfTsKLQotICAgIGlmICghd2luZG93LmlzQ3VycmVudGx5RGlzcGxh
eWVkSW5GcmFtZSgpKQotICAgICAgICByZXR1cm4gbnVsbHB0cjsKLQotICAgIHJldHVybiBET01X
aW5kb3dDYWNoZXM6OmZyb20oJndpbmRvdyktPmNhY2hlcygpOwotfQotCi1ET01DYWNoZVN0b3Jh
Z2UqIERPTVdpbmRvd0NhY2hlczo6Y2FjaGVzKCkgY29uc3QKLXsKLSAgICBBU1NFUlQoZnJhbWUo
KSk7Ci0gICAgQVNTRVJUKGZyYW1lKCktPmRvY3VtZW50KCkpOwotICAgIGlmICghbV9jYWNoZXMg
JiYgZnJhbWUoKS0+cGFnZSgpKQotICAgICAgICBtX2NhY2hlcyA9IERPTUNhY2hlU3RvcmFnZTo6
Y3JlYXRlKCpmcmFtZSgpLT5kb2N1bWVudCgpLCBmcmFtZSgpLT5wYWdlKCktPmNhY2hlU3RvcmFn
ZVByb3ZpZGVyKCkuY3JlYXRlQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbigpKTsKLSAgICByZXR1cm4g
bV9jYWNoZXMuZ2V0KCk7Ci19Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvRE9NV2luZG93Q2FjaGVzLmgKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9ET01XaW5kb3dDYWNoZXMuaAkocmV2aXNpb24g
Mjc4MTE2KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9ET01XaW5kb3dDYWNoZXMu
aAkobm9uZXhpc3RlbnQpCkBAIC0xLDUzICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIw
MTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBg
YEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJ
QlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0gKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgotICogU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTgotICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jcHJhZ21hIG9u
Y2UKLQotI2luY2x1ZGUgIkRPTVdpbmRvd1Byb3BlcnR5LmgiCi0jaW5jbHVkZSAiRXhjZXB0aW9u
T3IuaCIKLSNpbmNsdWRlICJTdXBwbGVtZW50YWJsZS5oIgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7
Ci0KLWNsYXNzIERPTVdpbmRvdzsKLWNsYXNzIERPTUNhY2hlU3RvcmFnZTsKLWNsYXNzIFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQ7Ci0KLWNsYXNzIERPTVdpbmRvd0NhY2hlcyA6IHB1YmxpYyBTdXBw
bGVtZW50PERPTVdpbmRvdz4sIHB1YmxpYyBET01XaW5kb3dQcm9wZXJ0eSB7Ci0gICAgV1RGX01B
S0VfRkFTVF9BTExPQ0FURUQ7Ci1wdWJsaWM6Ci0gICAgZXhwbGljaXQgRE9NV2luZG93Q2FjaGVz
KERPTVdpbmRvdyopOwotCi0gICAgc3RhdGljIERPTVdpbmRvd0NhY2hlcyogZnJvbShET01XaW5k
b3cqKTsKLSAgICBzdGF0aWMgRXhjZXB0aW9uT3I8RE9NQ2FjaGVTdG9yYWdlKj4gY2FjaGVzKFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBET01XaW5kb3cmKTsKLQotcHJpdmF0ZToKLSAgICBzdGF0
aWMgY29uc3QgY2hhciogc3VwcGxlbWVudE5hbWUoKTsKLSAgICBET01DYWNoZVN0b3JhZ2UqIGNh
Y2hlcygpIGNvbnN0OwotCi0gICAgbXV0YWJsZSBSZWZQdHI8RE9NQ2FjaGVTdG9yYWdlPiBtX2Nh
Y2hlczsKLX07Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvY2FjaGUvV2luZG93T3JXb3JrZXJHbG9iYWxTY29wZStDYWNoZXMuaWRsCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvV2luZG93T3JXb3JrZXJHbG9i
YWxTY29wZStDYWNoZXMuaWRsCShub25leGlzdGVudCkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvY2FjaGUvV2luZG93T3JXb3JrZXJHbG9iYWxTY29wZStDYWNoZXMuaWRsCSh3b3JraW5nIGNv
cHkpCkBAIC0wLDAgKzEsMzIgQEAKKy8qCisqIENvcHlyaWdodCAoQykgMjAxNy0yMDIxIEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyoKKyogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwor
KiBhcmUgbWV0OgorKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKKyogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyoKKyogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworKiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKKyogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgorKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyogQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UgorKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRgorKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyogSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyog
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkKKyogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisqLworCisvLyBodHRwczovL3czYy5naXRodWIuaW8vU2VydmljZVdvcmtlci8j
c2VsZi1jYWNoZXMKK1sKKyAgICBFbmFibGVkQXRSdW50aW1lPUNhY2hlQVBJLAorICAgIEltcGxl
bWVudGVkQnk9V2luZG93T3JXb3JrZXJHbG9iYWxTY29wZUNhY2hlcworXSBwYXJ0aWFsIGludGVy
ZmFjZSBtaXhpbiBXaW5kb3dPcldvcmtlckdsb2JhbFNjb3BlIHsKKyAgICBbQ2FsbFdpdGg9U2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCwgU2VjdXJlQ29udGV4dCwgU2FtZU9iamVjdF0gcmVhZG9ubHkg
YXR0cmlidXRlIERPTUNhY2hlU3RvcmFnZSBjYWNoZXM7Cit9OwpJbmRleDogU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9jYWNoZS9XaW5kb3dPcldvcmtlckdsb2JhbFNjb3BlQ2FjaGVzLmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL1dpbmRvd09yV29ya2VyR2xv
YmFsU2NvcGVDYWNoZXMuY3BwCShub25leGlzdGVudCkKKysrIFNvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvY2FjaGUvV2luZG93T3JXb3JrZXJHbG9iYWxTY29wZUNhY2hlcy5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTAsMCArMSwxNDIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTctMjAyMSBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMn
JworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMK
KyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAq
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICog
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcu
aCIKKyNpbmNsdWRlICJXaW5kb3dPcldvcmtlckdsb2JhbFNjb3BlQ2FjaGVzLmgiCisKKyNpbmNs
dWRlICJDYWNoZVN0b3JhZ2VQcm92aWRlci5oIgorI2luY2x1ZGUgIkRPTUNhY2hlU3RvcmFnZS5o
IgorI2luY2x1ZGUgIkRPTVdpbmRvdy5oIgorI2luY2x1ZGUgIkRPTVdpbmRvd1Byb3BlcnR5Lmgi
CisjaW5jbHVkZSAiRG9jdW1lbnQuaCIKKyNpbmNsdWRlICJGcmFtZS5oIgorI2luY2x1ZGUgIlBh
Z2UuaCIKKyNpbmNsdWRlICJTdXBwbGVtZW50YWJsZS5oIgorI2luY2x1ZGUgIldvcmtlckdsb2Jh
bFNjb3BlLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgRE9NV2luZG93Q2FjaGVz
IDogcHVibGljIFN1cHBsZW1lbnQ8RE9NV2luZG93PiwgcHVibGljIERPTVdpbmRvd1Byb3BlcnR5
IHsKKyAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKK3B1YmxpYzoKKyAgICBleHBsaWNpdCBE
T01XaW5kb3dDYWNoZXMoRE9NV2luZG93Jik7CisgICAgdmlydHVhbCB+RE9NV2luZG93Q2FjaGVz
KCkgPSBkZWZhdWx0OworCisgICAgc3RhdGljIERPTVdpbmRvd0NhY2hlcyogZnJvbShET01XaW5k
b3cmKTsKKyAgICBET01DYWNoZVN0b3JhZ2UqIGNhY2hlcygpIGNvbnN0OworCitwcml2YXRlOgor
ICAgIHN0YXRpYyBjb25zdCBjaGFyKiBzdXBwbGVtZW50TmFtZSgpIHsgcmV0dXJuICJET01XaW5k
b3dDYWNoZXMiOyB9CisKKyAgICBtdXRhYmxlIFJlZlB0cjxET01DYWNoZVN0b3JhZ2U+IG1fY2Fj
aGVzOworfTsKKworY2xhc3MgV29ya2VyR2xvYmFsU2NvcGVDYWNoZXMgOiBwdWJsaWMgU3VwcGxl
bWVudDxXb3JrZXJHbG9iYWxTY29wZT4geworICAgIFdURl9NQUtFX0ZBU1RfQUxMT0NBVEVEOwor
cHVibGljOgorICAgIGV4cGxpY2l0IFdvcmtlckdsb2JhbFNjb3BlQ2FjaGVzKFdvcmtlckdsb2Jh
bFNjb3BlJik7CisgICAgdmlydHVhbCB+V29ya2VyR2xvYmFsU2NvcGVDYWNoZXMoKSA9IGRlZmF1
bHQ7CisKKyAgICBzdGF0aWMgV29ya2VyR2xvYmFsU2NvcGVDYWNoZXMqIGZyb20oV29ya2VyR2xv
YmFsU2NvcGUmKTsKKyAgICBET01DYWNoZVN0b3JhZ2UqIGNhY2hlcygpIGNvbnN0OworCitwcml2
YXRlOgorICAgIHN0YXRpYyBjb25zdCBjaGFyKiBzdXBwbGVtZW50TmFtZSgpIHsgcmV0dXJuICJX
b3JrZXJHbG9iYWxTY29wZUNhY2hlcyI7IH0KKworICAgIFdvcmtlckdsb2JhbFNjb3BlJiBtX3Nj
b3BlOworICAgIG11dGFibGUgUmVmUHRyPERPTUNhY2hlU3RvcmFnZT4gbV9jYWNoZXM7Cit9Owor
CisvLyBET01XaW5kb3dDYWNoZXMgc3VwcGxlbWVudC4KKworRE9NV2luZG93Q2FjaGVzOjpET01X
aW5kb3dDYWNoZXMoRE9NV2luZG93JiB3aW5kb3cpCisgICAgOiBET01XaW5kb3dQcm9wZXJ0eSgm
d2luZG93KQoreworfQorCitET01XaW5kb3dDYWNoZXMqIERPTVdpbmRvd0NhY2hlczo6ZnJvbShE
T01XaW5kb3cmIHdpbmRvdykKK3sKKyAgICBhdXRvKiBzdXBwbGVtZW50ID0gc3RhdGljX2Nhc3Q8
RE9NV2luZG93Q2FjaGVzKj4oU3VwcGxlbWVudDxET01XaW5kb3c+Ojpmcm9tKCZ3aW5kb3csIHN1
cHBsZW1lbnROYW1lKCkpKTsKKyAgICBpZiAoIXN1cHBsZW1lbnQpIHsKKyAgICAgICAgYXV0byBu
ZXdTdXBwbGVtZW50ID0gbWFrZVVuaXF1ZTxET01XaW5kb3dDYWNoZXM+KHdpbmRvdyk7CisgICAg
ICAgIHN1cHBsZW1lbnQgPSBuZXdTdXBwbGVtZW50LmdldCgpOworICAgICAgICBwcm92aWRlVG8o
JndpbmRvdywgc3VwcGxlbWVudE5hbWUoKSwgV1RGTW92ZShuZXdTdXBwbGVtZW50KSk7CisgICAg
fQorICAgIHJldHVybiBzdXBwbGVtZW50OworfQorCitET01DYWNoZVN0b3JhZ2UqIERPTVdpbmRv
d0NhY2hlczo6Y2FjaGVzKCkgY29uc3QKK3sKKyAgICBBU1NFUlQoZnJhbWUoKSk7CisgICAgQVNT
RVJUKGZyYW1lKCktPmRvY3VtZW50KCkpOworICAgIGlmICghbV9jYWNoZXMgJiYgZnJhbWUoKS0+
cGFnZSgpKQorICAgICAgICBtX2NhY2hlcyA9IERPTUNhY2hlU3RvcmFnZTo6Y3JlYXRlKCpmcmFt
ZSgpLT5kb2N1bWVudCgpLCBmcmFtZSgpLT5wYWdlKCktPmNhY2hlU3RvcmFnZVByb3ZpZGVyKCku
Y3JlYXRlQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbigpKTsKKyAgICByZXR1cm4gbV9jYWNoZXMuZ2V0
KCk7Cit9CisKKy8vIFdvcmtlckdsb2JhbFNjb3BlIHN1cHBsZW1lbnQuCisKK1dvcmtlckdsb2Jh
bFNjb3BlQ2FjaGVzOjpXb3JrZXJHbG9iYWxTY29wZUNhY2hlcyhXb3JrZXJHbG9iYWxTY29wZSYg
c2NvcGUpCisgICAgOiBtX3Njb3BlKHNjb3BlKQoreworfQorCitXb3JrZXJHbG9iYWxTY29wZUNh
Y2hlcyogV29ya2VyR2xvYmFsU2NvcGVDYWNoZXM6OmZyb20oV29ya2VyR2xvYmFsU2NvcGUmIHNj
b3BlKQoreworICAgIGF1dG8qIHN1cHBsZW1lbnQgPSBzdGF0aWNfY2FzdDxXb3JrZXJHbG9iYWxT
Y29wZUNhY2hlcyo+KFN1cHBsZW1lbnQ8V29ya2VyR2xvYmFsU2NvcGU+Ojpmcm9tKCZzY29wZSwg
c3VwcGxlbWVudE5hbWUoKSkpOworICAgIGlmICghc3VwcGxlbWVudCkgeworICAgICAgICBhdXRv
IG5ld1N1cHBsZW1lbnQgPSBtYWtlVW5pcXVlPFdvcmtlckdsb2JhbFNjb3BlQ2FjaGVzPihzY29w
ZSk7CisgICAgICAgIHN1cHBsZW1lbnQgPSBuZXdTdXBwbGVtZW50LmdldCgpOworICAgICAgICBw
cm92aWRlVG8oJnNjb3BlLCBzdXBwbGVtZW50TmFtZSgpLCBXVEZNb3ZlKG5ld1N1cHBsZW1lbnQp
KTsKKyAgICB9CisgICAgcmV0dXJuIHN1cHBsZW1lbnQ7Cit9CisKK0RPTUNhY2hlU3RvcmFnZSog
V29ya2VyR2xvYmFsU2NvcGVDYWNoZXM6OmNhY2hlcygpIGNvbnN0Cit7CisgICAgaWYgKCFtX2Nh
Y2hlcykKKyAgICAgICAgbV9jYWNoZXMgPSBET01DYWNoZVN0b3JhZ2U6OmNyZWF0ZShtX3Njb3Bl
LCBtX3Njb3BlLmNhY2hlU3RvcmFnZUNvbm5lY3Rpb24oKSk7CisgICAgcmV0dXJuIG1fY2FjaGVz
LmdldCgpOworfQorCisvLyBXaW5kb3dPcldvcmtlckdsb2JhbFNjb3BlQ2FjaGVzLgorCitFeGNl
cHRpb25PcjxET01DYWNoZVN0b3JhZ2UqPiBXaW5kb3dPcldvcmtlckdsb2JhbFNjb3BlQ2FjaGVz
OjpjYWNoZXMoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgRE9NV2luZG93JiB3aW5k
b3cpCit7CisgICAgaWYgKGRvd25jYXN0PERvY3VtZW50Pihjb250ZXh0KS5pc1NhbmRib3hlZChT
YW5kYm94T3JpZ2luKSkKKyAgICAgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IFNlY3VyaXR5RXJyb3Is
ICJDYWNoZSBzdG9yYWdlIGlzIGRpc2FibGVkIGJlY2F1c2UgdGhlIGNvbnRleHQgaXMgc2FuZGJv
eGVkIGFuZCBsYWNrcyB0aGUgJ2FsbG93LXNhbWUtb3JpZ2luJyBmbGFnIiB9OworCisgICAgaWYg
KCF3aW5kb3cuaXNDdXJyZW50bHlEaXNwbGF5ZWRJbkZyYW1lKCkpCisgICAgICAgIHJldHVybiBu
dWxscHRyOworCisgICAgcmV0dXJuIERPTVdpbmRvd0NhY2hlczo6ZnJvbSh3aW5kb3cpLT5jYWNo
ZXMoKTsKK30KKworRE9NQ2FjaGVTdG9yYWdlKiBXaW5kb3dPcldvcmtlckdsb2JhbFNjb3BlQ2Fj
aGVzOjpjYWNoZXMoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIFdvcmtlckdsb2JhbFNjb3BlJiBz
Y29wZSkKK3sKKyAgICByZXR1cm4gV29ya2VyR2xvYmFsU2NvcGVDYWNoZXM6OmZyb20oc2NvcGUp
LT5jYWNoZXMoKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDogU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9jYWNoZS9XaW5kb3dPcldvcmtlckdsb2JhbFNjb3BlQ2FjaGVzLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9XaW5kb3dPcldvcmtlckds
b2JhbFNjb3BlQ2FjaGVzLmgJKG5vbmV4aXN0ZW50KQorKysgU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9jYWNoZS9XaW5kb3dPcldvcmtlckdsb2JhbFNjb3BlQ2FjaGVzLmgJKHdvcmtpbmcgY29weSkK
QEAgLTAsMCArMSw0MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNy0yMDIxIEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwor
ICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisg
KiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICog
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKK25hbWVz
cGFjZSBXZWJDb3JlIHsKKworY2xhc3MgRE9NQ2FjaGVTdG9yYWdlOworY2xhc3MgRE9NV2luZG93
OworY2xhc3MgU2NyaXB0RXhlY3V0aW9uQ29udGV4dDsKK2NsYXNzIFdvcmtlckdsb2JhbFNjb3Bl
OworCit0ZW1wbGF0ZTx0eXBlbmFtZT4gY2xhc3MgRXhjZXB0aW9uT3I7CisKK2NsYXNzIFdpbmRv
d09yV29ya2VyR2xvYmFsU2NvcGVDYWNoZXMgeworcHVibGljOgorICAgIHN0YXRpYyBFeGNlcHRp
b25PcjxET01DYWNoZVN0b3JhZ2UqPiBjYWNoZXMoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIERP
TVdpbmRvdyYpOworICAgIHN0YXRpYyBET01DYWNoZVN0b3JhZ2UqIGNhY2hlcyhTY3JpcHRFeGVj
dXRpb25Db250ZXh0JiwgV29ya2VyR2xvYmFsU2NvcGUmKTsKK307CisKK30gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvV29ya2VyR2xvYmFs
U2NvcGUrQ2FjaGVzLmlkbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Nh
Y2hlL1dvcmtlckdsb2JhbFNjb3BlK0NhY2hlcy5pZGwJKHJldmlzaW9uIDI3ODExNikKKysrIFNv
dXJjZS9XZWJDb3JlL01vZHVsZXMvY2FjaGUvV29ya2VyR2xvYmFsU2NvcGUrQ2FjaGVzLmlkbAko
bm9uZXhpc3RlbnQpCkBAIC0xLDMzICswLDAgQEAKLS8qCi0qIENvcHlyaWdodCAoQykgMjAxNyBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0qCi0qIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKLSogYXJlIG1ldDoKLSogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotKiAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCi0qICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0qCi0qIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKLSogQU5E
IEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sCi0qIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0qIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IKLSogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YKLSogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi0qIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
Ci0qIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpCi0qIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKLSogVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgotKi8KLQotLy8gaHR0cHM6Ly93M2MuZ2l0aHViLmlvL1NlcnZpY2VXb3Jr
ZXIvI3NlbGYtY2FjaGVzCi0vLyBGSVhNRTogVGhpcyBzaG91bGQgYmUgbWVyZ2VkIHdpdGggRE9N
V2luZG93K0NhY2hlcy5pZGwgaW50byBhIG5ldyBXaW5kb3dPcldvcmtlckdsb2JhbFNjb3BlK0Nh
Y2hlcy5pZGwgdG8gbWF0Y2ggdGhlIHNwZWMuCi1bCi0gICAgRW5hYmxlZEF0UnVudGltZT1DYWNo
ZUFQSSwKLSAgICBJbXBsZW1lbnRlZEJ5PVdvcmtlckdsb2JhbFNjb3BlQ2FjaGVzCi1dIHBhcnRp
YWwgaW50ZXJmYWNlIFdvcmtlckdsb2JhbFNjb3BlIHsKLSAgICBbU2VjdXJlQ29udGV4dCwgU2Ft
ZU9iamVjdF0gcmVhZG9ubHkgYXR0cmlidXRlIERPTUNhY2hlU3RvcmFnZSBjYWNoZXM7Ci19OwpJ
bmRleDogU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9Xb3JrZXJHbG9iYWxTY29wZUNhY2hl
cy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvTW9kdWxlcy9jYWNoZS9Xb3JrZXJH
bG9iYWxTY29wZUNhY2hlcy5jcHAJKHJldmlzaW9uIDI3ODExNikKKysrIFNvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvY2FjaGUvV29ya2VyR2xvYmFsU2NvcGVDYWNoZXMuY3BwCShub25leGlzdGVudCkK
QEAgLTEsNjIgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFy
ZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5E
IEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNs
dWRlICJXb3JrZXJHbG9iYWxTY29wZUNhY2hlcy5oIgotCi0jaW5jbHVkZSAiRE9NQ2FjaGVTdG9y
YWdlLmgiCi0jaW5jbHVkZSAiV29ya2VyR2xvYmFsU2NvcGUuaCIKLQotbmFtZXNwYWNlIFdlYkNv
cmUgewotCi1jb25zdCBjaGFyKiBXb3JrZXJHbG9iYWxTY29wZUNhY2hlczo6c3VwcGxlbWVudE5h
bWUoKQotewotICAgIHJldHVybiAiV29ya2VyR2xvYmFsU2NvcGVDYWNoZXMiOwotfQotCi1Xb3Jr
ZXJHbG9iYWxTY29wZUNhY2hlcyogV29ya2VyR2xvYmFsU2NvcGVDYWNoZXM6OmZyb20oV29ya2Vy
R2xvYmFsU2NvcGUmIHNjb3BlKQotewotICAgIGF1dG8qIHN1cHBsZW1lbnQgPSBzdGF0aWNfY2Fz
dDxXb3JrZXJHbG9iYWxTY29wZUNhY2hlcyo+KFN1cHBsZW1lbnQ8V29ya2VyR2xvYmFsU2NvcGU+
Ojpmcm9tKCZzY29wZSwgc3VwcGxlbWVudE5hbWUoKSkpOwotICAgIGlmICghc3VwcGxlbWVudCkg
ewotICAgICAgICBhdXRvIG5ld1N1cHBsZW1lbnQgPSBtYWtlVW5pcXVlPFdvcmtlckdsb2JhbFNj
b3BlQ2FjaGVzPihzY29wZSk7Ci0gICAgICAgIHN1cHBsZW1lbnQgPSBuZXdTdXBwbGVtZW50Lmdl
dCgpOwotICAgICAgICBwcm92aWRlVG8oJnNjb3BlLCBzdXBwbGVtZW50TmFtZSgpLCBXVEZNb3Zl
KG5ld1N1cHBsZW1lbnQpKTsKLSAgICB9Ci0gICAgcmV0dXJuIHN1cHBsZW1lbnQ7Ci19Ci0KLURP
TUNhY2hlU3RvcmFnZSogV29ya2VyR2xvYmFsU2NvcGVDYWNoZXM6OmNhY2hlcyhXb3JrZXJHbG9i
YWxTY29wZSYgc2NvcGUpCi17Ci0gICAgcmV0dXJuIFdvcmtlckdsb2JhbFNjb3BlQ2FjaGVzOjpm
cm9tKHNjb3BlKS0+Y2FjaGVzKCk7Ci19Ci0KLURPTUNhY2hlU3RvcmFnZSogV29ya2VyR2xvYmFs
U2NvcGVDYWNoZXM6OmNhY2hlcygpIGNvbnN0Ci17Ci0gICAgaWYgKCFtX2NhY2hlcykKLSAgICAg
ICAgbV9jYWNoZXMgPSBET01DYWNoZVN0b3JhZ2U6OmNyZWF0ZShtX3Njb3BlLCBtX3Njb3BlLmNh
Y2hlU3RvcmFnZUNvbm5lY3Rpb24oKSk7Ci0gICAgcmV0dXJuIG1fY2FjaGVzLmdldCgpOwotfQot
Ci19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Nh
Y2hlL1dvcmtlckdsb2JhbFNjb3BlQ2FjaGVzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9jYWNoZS9Xb3JrZXJHbG9iYWxTY29wZUNhY2hlcy5oCShyZXZpc2lvbiAyNzgx
MTYpCisrKyBTb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2NhY2hlL1dvcmtlckdsb2JhbFNjb3BlQ2Fj
aGVzLmgJKG5vbmV4aXN0ZW50KQpAQCAtMSw1NSArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChD
KSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
LSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAy
LiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRP
UlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENP
TlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI3ByYWdt
YSBvbmNlCi0KLSNpbmNsdWRlICJTdXBwbGVtZW50YWJsZS5oIgotCi1uYW1lc3BhY2UgV2ViQ29y
ZSB7Ci0KLWNsYXNzIERPTUNhY2hlU3RvcmFnZTsKLWNsYXNzIFdvcmtlckdsb2JhbFNjb3BlOwot
Ci1jbGFzcyBXb3JrZXJHbG9iYWxTY29wZUNhY2hlcyA6IHB1YmxpYyBTdXBwbGVtZW50PFdvcmtl
ckdsb2JhbFNjb3BlPiB7Ci0gICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7Ci1wdWJsaWM6Ci0g
ICAgZXhwbGljaXQgV29ya2VyR2xvYmFsU2NvcGVDYWNoZXMoV29ya2VyR2xvYmFsU2NvcGUmIHNj
b3BlKQotICAgICAgICA6IG1fc2NvcGUoc2NvcGUpCi0gICAgewotICAgIH0KLQotICAgIHN0YXRp
YyBET01DYWNoZVN0b3JhZ2UqIGNhY2hlcyhXb3JrZXJHbG9iYWxTY29wZSYpOwotCi1wcml2YXRl
OgotICAgIHN0YXRpYyBXb3JrZXJHbG9iYWxTY29wZUNhY2hlcyogZnJvbShXb3JrZXJHbG9iYWxT
Y29wZSYpOwotICAgIHN0YXRpYyBjb25zdCBjaGFyKiBzdXBwbGVtZW50TmFtZSgpOwotICAgIERP
TUNhY2hlU3RvcmFnZSogY2FjaGVzKCkgY29uc3Q7Ci0KLSAgICBXb3JrZXJHbG9iYWxTY29wZSYg
bV9zY29wZTsKLSAgICBtdXRhYmxlIFJlZlB0cjxET01DYWNoZVN0b3JhZ2U+IG1fY2FjaGVzOwot
fTsKLQotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZpc2lvbiAyNzgxMTYpCisr
KyBTb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHdvcmtp
bmcgY29weSkKQEAgLTExODEsOSArMTE4MSw4IEBACiAJCTQxQ0I4NDAxMjVDQUI3QjMwMDEwRTJC
MSAvKiBSZWFsdGltZUluY29taW5nVmlkZW9Tb3VyY2VDb2NvYS5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDFDQjg0MDAyNUNBQjdCMDAwMTBFMkIxIC8q
IFJlYWx0aW1lSW5jb21pbmdWaWRlb1NvdXJjZUNvY29hLmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDFDQjg0MDIyNUNBQjgxRTAwMTBFMkIxIC8q
IFJlYWx0aW1lSW5jb21pbmdWaWRlb1NvdXJjZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNUNERDgzM0ExRTQzMjRCQjAwNjIxRTkyIC8qIFJlYWx0aW1l
SW5jb21pbmdWaWRlb1NvdXJjZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CiAJCTQxRDAxNUNBMEY0QjVDNzEwMDRBNjYyRiAvKiBDb250ZW50VHlwZS5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDFEMDE1Qzgw
RjRCNUM3MTAwNEE2NjJGIC8qIENvbnRlbnRUeXBlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJNDFEMTI5Q0UxRjNEMEVGNjAwRDE1RTQ3IC8qIFdv
cmtlckdsb2JhbFNjb3BlQ2FjaGVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA0MUZCMjc4RDFGMzRDMjgyMDA3OTU0ODcgLyogV29ya2VyR2xvYmFsU2Nv
cGVDYWNoZXMuaCAqLzsgfTsKKwkJNDFEMTI5Q0UxRjNEMEVGNjAwRDE1RTQ3IC8qIFdpbmRvd09y
V29ya2VyR2xvYmFsU2NvcGVDYWNoZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDQxRkIyNzhEMUYzNEMyODIwMDc5NTQ4NyAvKiBXaW5kb3dPcldvcmtl
ckdsb2JhbFNjb3BlQ2FjaGVzLmggKi87IH07CiAJCTQxRDEyOUQwMUYzRDBGMDUwMEQxNUU0NyAv
KiBDYWNoZVF1ZXJ5T3B0aW9ucy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNDFGQjI3OUIxRjM0Q0VGMDAwNzk1NDg3IC8qIENhY2hlUXVlcnlPcHRpb25z
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJNDFE
MTI5RDExRjNEMEYwRTAwRDE1RTQ3IC8qIERPTVdpbmRvd0NhY2hlcy5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDFGQjI3OEMxRjM0QzI4MjAwNzk1NDg3
IC8qIERPTVdpbmRvd0NhY2hlcy5oICovOyB9OwogCQk0MUQxMjlEMzFGM0QwRjE2MDBEMTVFNDcg
LyogQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNDFEMTI5Q0MxRjNEMEVFMzAwRDE1RTQ3IC8qIENhY2hlU3RvcmFn
ZUNvbm5lY3Rpb24uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OwogCQk0MUQxMjlENTFGM0QwRjY5MDBEMTVFNDcgLyogQ2FjaGVTdG9yYWdlUHJvdmlkZXIu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxRDEyOUQ0
MUYzRDBGNjYwMEQxNUU0NyAvKiBDYWNoZVN0b3JhZ2VQcm92aWRlci5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTQxRDEyOURCMUYzRDE0MzgwMEQx
NUU0NyAvKiBGZXRjaEhlYWRlcnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDQxRjU0RjgzMUM1MEM0RjYwMDMzODQ4OCAvKiBGZXRjaEhlYWRlcnMuaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtNzc4Nyw4
ICs3Nzg2LDcgQEAKIAkJNDEzODBDMjMxRjM0MzY5NDAwMTU1RkRBIC8qIERPTUNhY2hlLmlkbCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IG5h
bWUgPSBET01DYWNoZS5pZGw7IHBhdGggPSBNb2R1bGVzL2NhY2hlL0RPTUNhY2hlLmlkbDsgc291
cmNlVHJlZSA9IFNPVVJDRV9ST09UOyB9OwogCQk0MTM4MEMyNDFGMzQzNjk3MDAxNTVGREEgLyog
RE9NQ2FjaGVTdG9yYWdlLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25v
d25GaWxlVHlwZSA9IHRleHQ7IG5hbWUgPSBET01DYWNoZVN0b3JhZ2UuaWRsOyBwYXRoID0gTW9k
dWxlcy9jYWNoZS9ET01DYWNoZVN0b3JhZ2UuaWRsOyBzb3VyY2VUcmVlID0gU09VUkNFX1JPT1Q7
IH07CiAJCTQxMzgwQzI1MUYzNDM2OUEwMDE1NUZEQSAvKiBET01DYWNoZS5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5h
bWUgPSBET01DYWNoZS5oOyBwYXRoID0gTW9kdWxlcy9jYWNoZS9ET01DYWNoZS5oOyBzb3VyY2VU
cmVlID0gU09VUkNFX1JPT1Q7IH07Ci0JCTQxMzgwQzJBMUYzNDNFMkYwMDE1NUZEQSAvKiBXb3Jr
ZXJHbG9iYWxTY29wZStDYWNoZXMuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gdGV4dDsgbmFtZSA9ICJXb3JrZXJHbG9iYWxTY29wZStDYWNoZXMu
aWRsIjsgcGF0aCA9ICJNb2R1bGVzL2NhY2hlL1dvcmtlckdsb2JhbFNjb3BlK0NhY2hlcy5pZGwi
OyBzb3VyY2VUcmVlID0gU09VUkNFX1JPT1Q7IH07Ci0JCTQxMzgwQzJCMUYzNDNFMkYwMDE1NUZE
QSAvKiBET01XaW5kb3crQ2FjaGVzLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBs
YXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IG5hbWUgPSAiRE9NV2luZG93K0NhY2hlcy5pZGwiOyBw
YXRoID0gIk1vZHVsZXMvY2FjaGUvRE9NV2luZG93K0NhY2hlcy5pZGwiOyBzb3VyY2VUcmVlID0g
U09VUkNFX1JPT1Q7IH07CisJCTQxMzgwQzJBMUYzNDNFMkYwMDE1NUZEQSAvKiBXaW5kb3dPcldv
cmtlckdsb2JhbFNjb3BlK0NhY2hlcy5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
bGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBuYW1lID0gIldpbmRvd09yV29ya2VyR2xvYmFsU2Nv
cGUrQ2FjaGVzLmlkbCI7IHBhdGggPSAiTW9kdWxlcy9jYWNoZS9XaW5kb3dPcldvcmtlckdsb2Jh
bFNjb3BlK0NhY2hlcy5pZGwiOyBzb3VyY2VUcmVlID0gU09VUkNFX1JPT1Q7IH07CiAJCTQxMzhE
MzMzMTI0NDA1NDgwMDMyM0QzMyAvKiBFdmVudENvbnRleHQuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gRXZlbnRDb250ZXh0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTQxMzhEMzM0MTI0NDA1NDgwMDMyM0QzMyAvKiBFdmVudENvbnRleHQuY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gRXZlbnRDb250ZXh0LmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDEzOEY4NTUxRDI1M0VFRTAwMUNCNjFFIC8qIEpTRE9NSXRl
cmF0b3IuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNET01JdGVy
YXRvci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC04MTE1LDEwICs4MTEzLDgg
QEAKIAkJNDFGNTRGODkxQzUwQzRGNjAwMzM4NDg4IC8qIEZldGNoUmVxdWVzdC5pZGwgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSB0ZXh0OyBwYXRoID0gRmV0Y2hSZXF1ZXN0LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJNDFGQUJEMkIxRjRERkU0MjAwNkE2Qzk3IC8qIERPTUNhY2hlRW5naW5lLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERPTUNhY2hlRW5naW5lLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxRkFCRDJFMUY0RTAyNTEwMDZBNkM5NyAvKiBET01DYWNo
ZUVuZ2luZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBET01DYWNo
ZUVuZ2luZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTQxRkIyNzhDMUYzNEMy
ODIwMDc5NTQ4NyAvKiBET01XaW5kb3dDYWNoZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRE9NV2luZG93
Q2FjaGVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTQxRkIyNzhEMUYzNEMyODIw
MDc5NTQ4NyAvKiBXb3JrZXJHbG9iYWxTY29wZUNhY2hlcy5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXb3Jr
ZXJHbG9iYWxTY29wZUNhY2hlcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk0MUZC
Mjc4RTFGMzRDMjgyMDA3OTU0ODcgLyogRE9NV2luZG93Q2FjaGVzLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IERPTVdpbmRvd0NhY2hlcy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0J
CTQxRkIyNzhGMUYzNEMyODIwMDc5NTQ4NyAvKiBXb3JrZXJHbG9iYWxTY29wZUNhY2hlcy5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBXb3JrZXJHbG9iYWxTY29wZUNhY2hlcy5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTQxRkIyNzhEMUYzNEMyODIwMDc5NTQ4NyAvKiBXaW5kb3dP
cldvcmtlckdsb2JhbFNjb3BlQ2FjaGVzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdpbmRvd09yV29ya2Vy
R2xvYmFsU2NvcGVDYWNoZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDFGQjI3
OEYxRjM0QzI4MjAwNzk1NDg3IC8qIFdpbmRvd09yV29ya2VyR2xvYmFsU2NvcGVDYWNoZXMuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gV2luZG93T3JXb3JrZXJHbG9iYWxTY29wZUNhY2hlcy5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxRkIyNzk5MUYzNENFOUMwMDc5NTQ4NyAv
KiBDYWNoZVF1ZXJ5T3B0aW9ucy5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gQ2FjaGVRdWVyeU9wdGlvbnMuaWRsOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MUZCMjc5QjFGMzRDRUYwMDA3OTU0ODcgLyogQ2Fj
aGVRdWVyeU9wdGlvbnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ2FjaGVRdWVyeU9wdGlvbnMuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDFGQ0E1RjcyNEVBQUYxNTAwNUUxQkE2IC8qIFRy
YW5zZm9ybVN0cmVhbS5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3du
RmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gVHJhbnNmb3JtU3RyZWFtLmlkbDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKQEAgLTE5NTgzLDE1ICsxOTU3OSwxMiBAQAogCQkJCTQxMzgwQzIxMUYz
NDM2OEQwMDE1NUZEQSAvKiBET01DYWNoZVN0b3JhZ2UuY3BwICovLAogCQkJCTQxMzgwQzIyMUYz
NDM2OTAwMDE1NUZEQSAvKiBET01DYWNoZVN0b3JhZ2UuaCAqLywKIAkJCQk0MTM4MEMyNDFGMzQz
Njk3MDAxNTVGREEgLyogRE9NQ2FjaGVTdG9yYWdlLmlkbCAqLywKLQkJCQk0MTM4MEMyQjFGMzQz
RTJGMDAxNTVGREEgLyogRE9NV2luZG93K0NhY2hlcy5pZGwgKi8sCi0JCQkJNDFGQjI3OEUxRjM0
QzI4MjAwNzk1NDg3IC8qIERPTVdpbmRvd0NhY2hlcy5jcHAgKi8sCi0JCQkJNDFGQjI3OEMxRjM0
QzI4MjAwNzk1NDg3IC8qIERPTVdpbmRvd0NhY2hlcy5oICovLAogCQkJCTQxODkzOEFGMjQyOUY5
QUIwMDdGREM0MSAvKiBSZXRyaWV2ZVJlY29yZHNPcHRpb25zLmggKi8sCisJCQkJNDEzODBDMkEx
RjM0M0UyRjAwMTU1RkRBIC8qIFdpbmRvd09yV29ya2VyR2xvYmFsU2NvcGUrQ2FjaGVzLmlkbCAq
LywKKwkJCQk0MUZCMjc4RjFGMzRDMjgyMDA3OTU0ODcgLyogV2luZG93T3JXb3JrZXJHbG9iYWxT
Y29wZUNhY2hlcy5jcHAgKi8sCisJCQkJNDFGQjI3OEQxRjM0QzI4MjAwNzk1NDg3IC8qIFdpbmRv
d09yV29ya2VyR2xvYmFsU2NvcGVDYWNoZXMuaCAqLywKIAkJCQk0MUE3RDM0RjFGNDM4RDEwMDA4
OTg4REUgLyogV29ya2VyQ2FjaGVTdG9yYWdlQ29ubmVjdGlvbi5jcHAgKi8sCiAJCQkJNDFBN0Qz
NTAxRjQzOEQxMDAwODk4OERFIC8qIFdvcmtlckNhY2hlU3RvcmFnZUNvbm5lY3Rpb24uaCAqLywK
LQkJCQk0MTM4MEMyQTFGMzQzRTJGMDAxNTVGREEgLyogV29ya2VyR2xvYmFsU2NvcGUrQ2FjaGVz
LmlkbCAqLywKLQkJCQk0MUZCMjc4RjFGMzRDMjgyMDA3OTU0ODcgLyogV29ya2VyR2xvYmFsU2Nv
cGVDYWNoZXMuY3BwICovLAotCQkJCTQxRkIyNzhEMUYzNEMyODIwMDc5NTQ4NyAvKiBXb3JrZXJH
bG9iYWxTY29wZUNhY2hlcy5oICovLAogCQkJKTsKIAkJCXBhdGggPSBjYWNoZTsKIAkJCXNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7CkBAIC0zMjM4Niw3ICszMjM3OSw2IEBACiAJCQkJMkUzN0RGREIx
MkRCQUZCODAwQTZCMjMzIC8qIERPTVVSTC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQ0Q5REUxODIx
N0FBRDZBNDAwRUEzODZEIC8qIERPTVVSTE1lZGlhU291cmNlLmggaW4gSGVhZGVycyAqLywKIAkJ
CQkxNDAzQjk5NzA5RUIxM0FGMDA3OTdDN0YgLyogRE9NV2luZG93LmggaW4gSGVhZGVycyAqLywK
LQkJCQk0MUQxMjlEMTFGM0QwRjBFMDBEMTVFNDcgLyogRE9NV2luZG93Q2FjaGVzLmggaW4gSGVh
ZGVycyAqLywKIAkJCQk1MUZBMkQ3ODE1MjEzMkIzMDBDMUJBMEIgLyogRE9NV2luZG93RXh0ZW5z
aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQk5N0QyQUQwNDE0QjgyM0E2MDA5M0RGMzIgLyogRE9N
V2luZG93UHJvcGVydHkuaCBpbiBIZWFkZXJzICovLAogCQkJCUFBMkE1QUQ2MTZBNDg2MTYwMDk3
NUEyNSAvKiBET01XaW5kb3dTcGVlY2hTeW50aGVzaXMuaCBpbiBIZWFkZXJzICovLApAQCAtMzU5
MzYsNiArMzU5MjgsNyBAQAogCQkJCTlCMjdGQzYwMjM0RDlBREIwMDM5NEE0NiAvKiBXaW5kb3dF
dmVudExvb3AuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDODI0M0U5MEQwQ0ZENzUwMDQ2MEM4RiAv
KiBXaW5kb3dGZWF0dXJlcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJN0U5OUFGNTMwQjEzODQ2NDY4
RkIwMUE1IC8qIFdpbmRvd0ZvY3VzQWxsb3dlZEluZGljYXRvci5oIGluIEhlYWRlcnMgKi8sCisJ
CQkJNDFEMTI5Q0UxRjNEMEVGNjAwRDE1RTQ3IC8qIFdpbmRvd09yV29ya2VyR2xvYmFsU2NvcGVD
YWNoZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCTUxODVGQ0I0MUJCNEM0RTgwMDEyODk4RiAvKiBX
aW5kb3dPcldvcmtlckdsb2JhbFNjb3BlSW5kZXhlZERhdGFiYXNlLmggaW4gSGVhZGVycyAqLywK
IAkJCQk0NjM1MjFBRDIwODEwOTJBMDBDMjg5MjIgLyogV2luZG93UHJveHkuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUUxRTFCRjAwMTE1RkY2RkIwMDZGNTJDQSAvKiBXaW5kb3dzS2V5Ym9hcmRDb2Rl
cy5oIGluIEhlYWRlcnMgKi8sCkBAIC0zNTk1OSw3ICszNTk1Miw2IEBACiAJCQkJOTFFMEREQzQy
MzBCNDFGMTAwMTlFMUUzIC8qIFdvcmtlckRPTURlYnVnZ2VyQWdlbnQuaCBpbiBIZWFkZXJzICov
LAogCQkJCUE3RDZCMzQ5MEY2MTEwNDUwMEZGOUZEMSAvKiBXb3JrZXJGb250TG9hZFJlcXVlc3Qu
aCBpbiBIZWFkZXJzICovLAogCQkJCTJFNDM0NjQ5MEY1NDZBODIwMEIwRjFCQSAvKiBXb3JrZXJH
bG9iYWxTY29wZS5oIGluIEhlYWRlcnMgKi8sCi0JCQkJNDFEMTI5Q0UxRjNEMEVGNjAwRDE1RTQ3
IC8qIFdvcmtlckdsb2JhbFNjb3BlQ2FjaGVzLmggaW4gSGVhZGVycyAqLywKIAkJCQkyRTQzNDY0
QjBGNTQ2QTgyMDBCMEYxQkEgLyogV29ya2VyR2xvYmFsU2NvcGVQcm94eS5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJQTU0QTBDNjIxREI3RjhDMTAwMTdBOTBCIC8qIFdvcmtlckluc3BlY3RvckNvbnRy
b2xsZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUE1NEEwQzZDMURCODMxRjkwMDE3QTkwQiAvKiBX
b3JrZXJJbnNwZWN0b3JQcm94eS5oIGluIEhlYWRlcnMgKi8sCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>