<?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>233769</bug_id>
          
          <creation_ts>2021-12-02 10:18:37 -0800</creation_ts>
          <short_desc>Move Shared Worker classes to WebCore/workers/shared</short_desc>
          <delta_ts>2021-12-02 16:33:22 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore Misc.</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>
          
          <blocked>230382</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>achristensen</cc>
    
    <cc>annulen</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>1819754</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-12-02 10:18:37 -0800</bug_when>
    <thetext>Move Shared Worker classes to WebCore/workers/shared, for better structuring and consistency with WebCore/workers/service.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1819760</commentid>
    <comment_count>1</comment_count>
      <attachid>445735</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-12-02 10:22:23 -0800</bug_when>
    <thetext>Created attachment 445735
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1819780</commentid>
    <comment_count>2</comment_count>
      <attachid>445743</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-12-02 10:46:12 -0800</bug_when>
    <thetext>Created attachment 445743
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1819805</commentid>
    <comment_count>3</comment_count>
      <attachid>445752</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-12-02 11:22:26 -0800</bug_when>
    <thetext>Created attachment 445752
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1819838</commentid>
    <comment_count>4</comment_count>
      <attachid>445765</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-12-02 12:53:14 -0800</bug_when>
    <thetext>Created attachment 445765
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1819929</commentid>
    <comment_count>5</comment_count>
      <attachid>445765</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-12-02 16:32:17 -0800</bug_when>
    <thetext>Comment on attachment 445765
Patch

Clearing flags on attachment: 445765

Committed r286464 (244804@main): &lt;https://commits.webkit.org/244804@main&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1819930</commentid>
    <comment_count>6</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-12-02 16:32:20 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1819931</commentid>
    <comment_count>7</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-12-02 16:33:22 -0800</bug_when>
    <thetext>&lt;rdar://problem/85994781&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>445735</attachid>
            <date>2021-12-02 10:22:23 -0800</date>
            <delta_ts>2021-12-02 10:49:56 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-233769-20211202102222.patch</filename>
            <type>text/plain</type>
            <size>34064</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg2NDM0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTMwNmFkNGYyNGY1YmZl
MTRlNmU2M2Y5OTVjMWNkNmUyNzRkYzdjMi4uMjBhZTMzZGExMjg4ZTA2Y2ZhMTgzOTNjNGI5ODg0
N2Q5MGI1NDc1MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDIxLTEyLTAyICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgTW92ZSBTaGFyZWQgV29ya2Vy
IGNsYXNzZXMgdG8gV2ViQ29yZS93b3JrZXJzL3NoYXJlZAorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMzNzY5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTW92ZSBTaGFyZWQgV29ya2VyIGNsYXNzZXMgdG8g
V2ViQ29yZS93b3JrZXJzL3NoYXJlZCwgZm9yIGJldHRlciBzdHJ1Y3R1cmluZyBhbmQgY29uc2lz
dGVuY3kKKyAgICAgICAgd2l0aCBXZWJDb3JlL3dvcmtlcnMvc2VydmljZS4KKworICAgICAgICAq
IENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6CisgICAgICAg
ICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIHdvcmtlcnMv
c2hhcmVkL1NoYXJlZFdvcmtlci5jcHA6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL1NoYXJlZFdvcmtlci5jcHAuCisgICAgICAgICogd29ya2Vycy9zaGFyZWQvU2hhcmVkV29y
a2VyLmg6IFJlbmFtZWQgZnJvbSBTb3VyY2UvV2ViQ29yZS93b3JrZXJzL1NoYXJlZFdvcmtlci5o
LgorICAgICAgICAqIHdvcmtlcnMvc2hhcmVkL1NoYXJlZFdvcmtlci5pZGw6IFJlbmFtZWQgZnJv
bSBTb3VyY2UvV2ViQ29yZS93b3JrZXJzL1NoYXJlZFdvcmtlci5pZGwuCisgICAgICAgICogd29y
a2Vycy9zaGFyZWQvU2hhcmVkV29ya2VyR2xvYmFsU2NvcGUuY3BwOiBSZW5hbWVkIGZyb20gU291
cmNlL1dlYkNvcmUvd29ya2Vycy9TaGFyZWRXb3JrZXJHbG9iYWxTY29wZS5jcHAuCisgICAgICAg
ICogd29ya2Vycy9zaGFyZWQvU2hhcmVkV29ya2VyR2xvYmFsU2NvcGUuaDogUmVuYW1lZCBmcm9t
IFNvdXJjZS9XZWJDb3JlL3dvcmtlcnMvU2hhcmVkV29ya2VyR2xvYmFsU2NvcGUuaC4KKyAgICAg
ICAgKiB3b3JrZXJzL3NoYXJlZC9TaGFyZWRXb3JrZXJHbG9iYWxTY29wZS5pZGw6IFJlbmFtZWQg
ZnJvbSBTb3VyY2UvV2ViQ29yZS93b3JrZXJzL1NoYXJlZFdvcmtlckdsb2JhbFNjb3BlLmlkbC4K
KwogMjAyMS0xMi0wMiAgQW50dGkgS29pdmlzdG8gIDxhbnR0aUBhcHBsZS5jb20+CiAKICAgICAg
ICAgWzpoYXMoKSBwc2V1ZG8tY2xhc3NdIEludmFsaWRhdGlvbiBpbiBub24tc3ViamVjdCBwb3Np
dGlvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2Uv
V2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCA3ZmI1YzA0ZWM2NTk1MTUwOTI3ZTk0NmYzMDg2
ZjA1OTljYjdmZDBmLi5mZjE3Yzg5MzNkNjc0ZDdlYTc1MmYwMTY2MmUxMzA2MWVkMWJkOGQ2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9DTWFrZUxpc3RzLnR4dApAQCAtMTIxMiw4ICsxMjEyLDYgQEAgc2V0KFdlYkNvcmVfTk9O
X1NWR19JRExfRklMRVMKIAogICAgIHdvcmtlcnMvQWJzdHJhY3RXb3JrZXIuaWRsCiAgICAgd29y
a2Vycy9EZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZS5pZGwKLSAgICB3b3JrZXJzL1NoYXJlZFdv
cmtlci5pZGwKLSAgICB3b3JrZXJzL1NoYXJlZFdvcmtlckdsb2JhbFNjb3BlLmlkbAogICAgIHdv
cmtlcnMvV29ya2VyLmlkbAogICAgIHdvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuaWRsCiAgICAg
d29ya2Vycy9Xb3JrZXJMb2NhdGlvbi5pZGwKQEAgLTEyMzYsNiArMTIzNCw5IEBAIHNldChXZWJD
b3JlX05PTl9TVkdfSURMX0ZJTEVTCiAgICAgd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJV
cGRhdGVWaWFDYWNoZS5pZGwKICAgICB3b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlcldpbmRv
d0NsaWVudC5pZGwKIAorICAgIHdvcmtlcnMvc2hhcmVkL1NoYXJlZFdvcmtlci5pZGwKKyAgICB3
b3JrZXJzL3NoYXJlZC9TaGFyZWRXb3JrZXJHbG9iYWxTY29wZS5pZGwKKwogICAgIHdvcmtsZXRz
L1BhaW50V29ya2xldEdsb2JhbFNjb3BlLmlkbAogICAgIHdvcmtsZXRzL1dvcmtsZXQuaWRsCiAg
ICAgd29ya2xldHMvV29ya2xldEdsb2JhbFNjb3BlLmlkbApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZSBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2Vz
Lm1ha2UKaW5kZXggMmU2N2QxYTRiMGI2MzdlMjdiZTNhZTQ5MzUwMjk1YWU5NzYzODJmZS4uYzQ3
NGYwYmJlYmIzYzUyNDEyY2YzOWRmYjViZTk3MTc1OTZlZTQzZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVk
U291cmNlcy5tYWtlCkBAIC0xNDM1LDEyICsxNDM1LDEwIEBAIEpTX0JJTkRJTkdfSURMUyA6PSBc
CiAgICAgJChXZWJDb3JlKS90ZXN0aW5nL1hSU2ltdWxhdGVVc2VyQWN0aXZhdGlvbkZ1bmN0aW9u
LmlkbCBcCiAgICAgJChXZWJDb3JlKS93b3JrZXJzL0Fic3RyYWN0V29ya2VyLmlkbCBcCiAgICAg
JChXZWJDb3JlKS93b3JrZXJzL0RlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlLmlkbCBcCi0gICAg
JChXZWJDb3JlKS93b3JrZXJzL1NoYXJlZFdvcmtlci5pZGwgXAotICAgICQoV2ViQ29yZSkvd29y
a2Vycy9TaGFyZWRXb3JrZXJHbG9iYWxTY29wZS5pZGwgXAogICAgICQoV2ViQ29yZSkvd29ya2Vy
cy9Xb3JrZXIuaWRsIFwKICAgICAkKFdlYkNvcmUpL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUu
aWRsIFwKICAgICAkKFdlYkNvcmUpL3dvcmtlcnMvV29ya2VyTG9jYXRpb24uaWRsIFwKLQkkKFdl
YkNvcmUpL3dvcmtlcnMvV29ya2VyT3B0aW9ucy5pZGwgXAorICAgICQoV2ViQ29yZSkvd29ya2Vy
cy9Xb3JrZXJPcHRpb25zLmlkbCBcCiAgICAgJChXZWJDb3JlKS93b3JrZXJzL1dvcmtlclR5cGUu
aWRsIFwKICAgICAkKFdlYkNvcmUpL3dvcmtlcnMvc2VydmljZS9FeHRlbmRhYmxlRXZlbnQuaWRs
IFwKICAgICAkKFdlYkNvcmUpL3dvcmtlcnMvc2VydmljZS9FeHRlbmRhYmxlRXZlbnRJbml0Lmlk
bCBcCkBAIC0xNDU3LDYgKzE0NTUsOCBAQCBKU19CSU5ESU5HX0lETFMgOj0gXAogICAgICQoV2Vi
Q29yZSkvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24uaWRsIFwKICAg
ICAkKFdlYkNvcmUpL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyVXBkYXRlVmlhQ2FjaGUu
aWRsIFwKICAgICAkKFdlYkNvcmUpL3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyV2luZG93
Q2xpZW50LmlkbCBcCisgICAgJChXZWJDb3JlKS93b3JrZXJzL3NoYXJlZC9TaGFyZWRXb3JrZXIu
aWRsIFwKKyAgICAkKFdlYkNvcmUpL3dvcmtlcnMvc2hhcmVkL1NoYXJlZFdvcmtlckdsb2JhbFNj
b3BlLmlkbCBcCiAgICAgJChXZWJDb3JlKS93b3JrbGV0cy9QYWludFdvcmtsZXRHbG9iYWxTY29w
ZS5pZGwgXAogICAgICQoV2ViQ29yZSkvd29ya2xldHMvV29ya2xldC5pZGwgXAogICAgICQoV2Vi
Q29yZSkvd29ya2xldHMvV29ya2xldEdsb2JhbFNjb3BlLmlkbCBcCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggYzhjMWUzN2ZkNDQ1
YmFkYjU0ZTRjZWMzODY0N2FhNjkyODhlNGVhZS4uNmNhMDcyNWUyZDNhYzcyMzA2NDJkZjZlNTg0
YzhlYjVjMzZhYjhkYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagpAQCAtOTEyMiw2ICs5MTIyLDEyIEBACiAJCTQ2NUVERDlGMjIyRjRF
QzMwMEI0NkUxNiAvKiBEZXZpY2VPcmllbnRhdGlvbk9yTW90aW9uUGVybWlzc2lvblN0YXRlLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERldmljZU9yaWVudGF0aW9uT3JNb3Rp
b25QZXJtaXNzaW9uU3RhdGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDY1RURE
QTAyMjJGNEVDNDAwQjQ2RTE2IC8qIERldmljZU9yaWVudGF0aW9uT3JNb3Rpb25QZXJtaXNzaW9u
U3RhdGUuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IERldmljZU9yaWVudGF0aW9uT3JNb3Rp
b25QZXJtaXNzaW9uU3RhdGUuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0NjY1
MzZGQTI2NEM4REQxMDBBQUQxRDcgLyogSlNBdWRpb05vZGVDdXN0b20uY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gSlNBdWRpb05vZGVDdXN0b20uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQk0NjY5NENFMDI3NTk0NDhDMDBFMzE1MEUgLyogU2hhcmVkV29ya2VyR2xvYmFsU2NvcGUu
aWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4
dDsgcGF0aCA9IFNoYXJlZFdvcmtlckdsb2JhbFNjb3BlLmlkbDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJNDY2OTRDRTEyNzU5NDQ4QzAwRTMxNTBFIC8qIFNoYXJlZFdvcmtlckdsb2Jh
bFNjb3BlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNoYXJlZFdvcmtlckdsb2JhbFNjb3BlLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQ2Njk0Q0UyMjc1OTQ0OEQwMEUzMTUwRSAvKiBTaGFy
ZWRXb3JrZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU2hhcmVkV29ya2VyLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCTQ2Njk0Q0UzMjc1OTQ0OEQwMEUzMTUwRSAvKiBTaGFyZWRXb3JrZXIu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU2hhcmVkV29ya2VyLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJNDY2OTRDRTQyNzU5NDQ4RTAwRTMxNTBFIC8qIFNoYXJlZFdvcmtlckds
b2JhbFNjb3BlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNoYXJlZFdvcmtlckdsb2JhbFNjb3Bl
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDY2OTRDRTUyNzU5NDQ4RTAwRTMx
NTBFIC8qIFNoYXJlZFdvcmtlci5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gU2hhcmVkV29ya2VyLmlkbDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDY2QzJEQUIyNkM3M0FGQjAwNjUxOTMxIC8qIFBvbGljeUNv
bnRhaW5lci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQb2xpY3lDb250YWlu
ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDY2REM2QUIxRURFMDIxRDAwNzQ2
MjI0IC8qIEpTRE9NUmVjdExpc3QuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gSlNET01SZWN0TGlzdC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ2
NkVEOEQyMUVERTAxMzUwMDVFNDNGNiAvKiBKU0RPTVJlY3RMaXN0LmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IEpTRE9NUmVjdExpc3QuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKQEAgLTIwNTY4LDYgKzIwNTc0LDcgQEAKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hp
bGRyZW4gPSAoCiAJCQkJNTFGMTc1NDQxRjNFQkJGMjAwQzc0OTUwIC8qIHNlcnZpY2UgKi8sCisJ
CQkJNDY2OTRDREUyNzU5NDQ2RDAwRTMxNTBFIC8qIHNoYXJlZCAqLywKIAkJCQk0MUUxQjFDQTBG
RjU5ODY5MDA1NzZCM0IgLyogQWJzdHJhY3RXb3JrZXIuY3BwICovLAogCQkJCTQxRTFCMUNCMEZG
NTk4NjkwMDU3NkIzQiAvKiBBYnN0cmFjdFdvcmtlci5oICovLAogCQkJCTQxRTFCMUNDMEZGNTk4
NjkwMDU3NkIzQiAvKiBBYnN0cmFjdFdvcmtlci5pZGwgKi8sCkBAIC0yMTMxNiw2ICsyMTMyMywx
OSBAQAogCQkJcGF0aCA9ICJ3ZWItbG9ja3MiOwogCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsK
IAkJfTsKKwkJNDY2OTRDREUyNzU5NDQ2RDAwRTMxNTBFIC8qIHNoYXJlZCAqLyA9IHsKKwkJCWlz
YSA9IFBCWEdyb3VwOworCQkJY2hpbGRyZW4gPSAoCisJCQkJNDY2OTRDRTMyNzU5NDQ4RDAwRTMx
NTBFIC8qIFNoYXJlZFdvcmtlci5jcHAgKi8sCisJCQkJNDY2OTRDRTIyNzU5NDQ4RDAwRTMxNTBF
IC8qIFNoYXJlZFdvcmtlci5oICovLAorCQkJCTQ2Njk0Q0U1Mjc1OTQ0OEUwMEUzMTUwRSAvKiBT
aGFyZWRXb3JrZXIuaWRsICovLAorCQkJCTQ2Njk0Q0U0Mjc1OTQ0OEUwMEUzMTUwRSAvKiBTaGFy
ZWRXb3JrZXJHbG9iYWxTY29wZS5jcHAgKi8sCisJCQkJNDY2OTRDRTEyNzU5NDQ4QzAwRTMxNTBF
IC8qIFNoYXJlZFdvcmtlckdsb2JhbFNjb3BlLmggKi8sCisJCQkJNDY2OTRDRTAyNzU5NDQ4QzAw
RTMxNTBFIC8qIFNoYXJlZFdvcmtlckdsb2JhbFNjb3BlLmlkbCAqLywKKwkJCSk7CisJCQlwYXRo
ID0gc2hhcmVkOworCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKKwkJfTsKIAkJNDk0ODRGQUUx
MDJDRjAxRTAwMTg3REQzIC8qIGNhbnZhcyAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJ
Y2hpbGRyZW4gPSAoCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1NoYXJlZFdv
cmtlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1NoYXJlZFdvcmtlci5jcHAKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDUxNTFhMGMyMjEzOGNlYzA3MWZlYmM2ODgyM2EyYWIy
MGQyOTdmYmIuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9TaGFyZWRXb3JrZXIuY3BwCisrKyAvZGV2L251bGwKQEAg
LTEsNTYgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBt
ZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRl
ICJTaGFyZWRXb3JrZXIuaCIKLQotI2luY2x1ZGUgPHd0Zi9Jc29NYWxsb2NJbmxpbmVzLmg+Ci0K
LW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotV1RGX01BS0VfSVNPX0FMTE9DQVRFRF9JTVBMKFNoYXJl
ZFdvcmtlcik7Ci0KLVNoYXJlZFdvcmtlcjo6U2hhcmVkV29ya2VyKFN0cmluZyYmLCBzdGQ6Om9w
dGlvbmFsPHN0ZDo6dmFyaWFudDxTdHJpbmcsIFdvcmtlck9wdGlvbnM+PiYmKQotewotfQotCi1N
ZXNzYWdlUG9ydCogU2hhcmVkV29ya2VyOjpwb3J0KCkgY29uc3QKLXsKLSAgICAvLyBGSVhNRTog
aW1wbGVtZW50LgotICAgIHJldHVybiBudWxscHRyOwotfQotCi1TY3JpcHRFeGVjdXRpb25Db250
ZXh0KiBTaGFyZWRXb3JrZXI6OnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSBjb25zdAotewotICAg
IC8vIEZJWE1FOiBpbXBsZW1lbnQuCi0gICAgcmV0dXJuIG51bGxwdHI7Ci19Ci0KLUV2ZW50VGFy
Z2V0SW50ZXJmYWNlIFNoYXJlZFdvcmtlcjo6ZXZlbnRUYXJnZXRJbnRlcmZhY2UoKSBjb25zdAot
ewotICAgIHJldHVybiBTaGFyZWRXb3JrZXJFdmVudFRhcmdldEludGVyZmFjZVR5cGU7Ci19Ci0K
LX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvU2hhcmVkV29ya2VyLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1NoYXJlZFdvcmtlci5o
CmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwOTA3MWY3Y2JmODQ1YmYxMTYxZmZlMWVh
ZTU3YmNjNWEyYjE5NjdiLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvU2hhcmVkV29ya2VyLmgKKysrIC9kZXYvbnVs
bApAQCAtMSw0OCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICog
YXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0gKiBB
TkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICogQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI3ByYWdtYSBvbmNlCi0KLSNpbmNsdWRl
ICJBYnN0cmFjdFdvcmtlci5oIgotI2luY2x1ZGUgIldvcmtlck9wdGlvbnMuaCIKLQotbmFtZXNw
YWNlIFdlYkNvcmUgewotCi1jbGFzcyBNZXNzYWdlUG9ydDsKLQotY2xhc3MgU2hhcmVkV29ya2Vy
IGZpbmFsIDogcHVibGljIEFic3RyYWN0V29ya2VyIHsKLSAgICBXVEZfTUFLRV9JU09fQUxMT0NB
VEVEKFNoYXJlZFdvcmtlcik7Ci1wdWJsaWM6Ci0gICAgc3RhdGljIFJlZjxTaGFyZWRXb3JrZXI+
IGNyZWF0ZShTdHJpbmcmJiBzY3JpcHRVUkwsIHN0ZDo6b3B0aW9uYWw8c3RkOjp2YXJpYW50PFN0
cmluZywgV29ya2VyT3B0aW9ucz4+JiYgb3B0aW9ucykgeyByZXR1cm4gYWRvcHRSZWYoKm5ldyBT
aGFyZWRXb3JrZXIoV1RGTW92ZShzY3JpcHRVUkwpLCBXVEZNb3ZlKG9wdGlvbnMpKSk7IH0KLQot
ICAgIE1lc3NhZ2VQb3J0KiBwb3J0KCkgY29uc3Q7Ci1wcml2YXRlOgotICAgIFNoYXJlZFdvcmtl
cihTdHJpbmcmJiwgc3RkOjpvcHRpb25hbDxzdGQ6OnZhcmlhbnQ8U3RyaW5nLCBXb3JrZXJPcHRp
b25zPj4mJik7Ci0KLSAgICBFdmVudFRhcmdldEludGVyZmFjZSBldmVudFRhcmdldEludGVyZmFj
ZSgpIGNvbnN0IGZpbmFsOwotICAgIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIHNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQoKSBjb25zdCBmaW5hbDsKLX07Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvU2hhcmVkV29ya2VyLmlkbCBiL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvU2hhcmVkV29ya2VyLmlkbApkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDgzYzgzZjdiYmNjZGYzMjcwZDQxMjRkM2RmNmUyMDc0YTFmMjkzNC4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS93b3JrZXJzL1NoYXJlZFdvcmtlci5pZGwKKysrIC9kZXYvbnVsbApAQCAtMSwzNCArMCwwIEBA
Ci0vKgotICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElO
Qy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCi0gKi8KLVsKLSAgICBFbmFibGVkQnlTZXR0aW5nPVNoYXJlZFdvcmtlckVuYWJsZWQs
Ci0gICAgRXhwb3NlZD1XaW5kb3cKLV0KLWludGVyZmFjZSBTaGFyZWRXb3JrZXIgOiBFdmVudFRh
cmdldCB7Ci0gIGNvbnN0cnVjdG9yKFVTVlN0cmluZyBzY3JpcHRVUkwsIG9wdGlvbmFsIChET01T
dHJpbmcgb3IgV29ya2VyT3B0aW9ucykgb3B0aW9ucyk7Ci0KLSAgcmVhZG9ubHkgYXR0cmlidXRl
IE1lc3NhZ2VQb3J0IHBvcnQ7Ci19OwotU2hhcmVkV29ya2VyIGluY2x1ZGVzIEFic3RyYWN0V29y
a2VyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9TaGFyZWRXb3JrZXJHbG9i
YWxTY29wZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1NoYXJlZFdvcmtlckdsb2JhbFNj
b3BlLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNWVhMjk5OGU5YWI4ZTIwNWNh
ZDRlZmJjNDQyYTVhZjE5MWIzNzIxNC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1NoYXJlZFdvcmtlckdsb2JhbFNj
b3BlLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDQ2ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQg
KEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJV
VE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMg
Q09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0gKiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgotICogU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgotICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaW5j
bHVkZSAiY29uZmlnLmgiCi0jaW5jbHVkZSAiU2hhcmVkV29ya2VyR2xvYmFsU2NvcGUuaCIKLQot
I2luY2x1ZGUgPHd0Zi9Jc29NYWxsb2NJbmxpbmVzLmg+Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsK
LQotV1RGX01BS0VfSVNPX0FMTE9DQVRFRF9JTVBMKFNoYXJlZFdvcmtlckdsb2JhbFNjb3BlKTsK
LQotY29uc3QgU3RyaW5nJiBTaGFyZWRXb3JrZXJHbG9iYWxTY29wZTo6bmFtZSgpIGNvbnN0Ci17
Ci0gICAgLy8gRklYTUU6IEltcGxlbWVudC4KLSAgICByZXR1cm4gZW1wdHlTdHJpbmcoKTsKLX0K
LQotdm9pZCBTaGFyZWRXb3JrZXJHbG9iYWxTY29wZTo6Y2xvc2UoKQotewotICAgIC8vIEZJWE1F
OiBJbXBsZW1lbnQuCi19Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvU2hhcmVkV29ya2VyR2xvYmFsU2NvcGUuaCBiL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvU2hhcmVkV29ya2VyR2xvYmFsU2NvcGUuaApkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggM2NlYTAwM2IxODRmNDVhN2Q2M2JhMzI0ZjFmODdmZGZkMGU1M2VmOC4u
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL1NoYXJlZFdvcmtlckdsb2JhbFNjb3BlLmgKKysrIC9kZXYvbnVsbApAQCAt
MSw0OCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1l
dDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICogQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI3ByYWdtYSBvbmNlCi0KLSNpbmNsdWRlICJXb3Jr
ZXJHbG9iYWxTY29wZS5oIgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLWNsYXNzIFNoYXJlZFdv
cmtlckdsb2JhbFNjb3BlIGZpbmFsIDogcHVibGljIFdvcmtlckdsb2JhbFNjb3BlIHsKLSAgICBX
VEZfTUFLRV9JU09fQUxMT0NBVEVEKFNoYXJlZFdvcmtlckdsb2JhbFNjb3BlKTsKLXB1YmxpYzoK
LSAgICBib29sIGlzU2hhcmVkV29ya2VyR2xvYmFsU2NvcGUoKSBjb25zdCBmaW5hbCB7IHJldHVy
biB0cnVlOyB9Ci0gICAgY29uc3QgU3RyaW5nJiBuYW1lKCkgY29uc3Q7Ci0gICAgdm9pZCBjbG9z
ZSgpOwotcHJpdmF0ZToKLSAgICBFdmVudFRhcmdldEludGVyZmFjZSBldmVudFRhcmdldEludGVy
ZmFjZSgpIGNvbnN0IGZpbmFsOwotICAgIEZldGNoT3B0aW9uczo6RGVzdGluYXRpb24gZGVzdGlu
YXRpb24oKSBjb25zdCBmaW5hbDsKLX07Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQotU1BF
Q0lBTElaRV9UWVBFX1RSQUlUU19CRUdJTihXZWJDb3JlOjpTaGFyZWRXb3JrZXJHbG9iYWxTY29w
ZSkKLSAgICBzdGF0aWMgYm9vbCBpc1R5cGUoY29uc3QgV2ViQ29yZTo6U2NyaXB0RXhlY3V0aW9u
Q29udGV4dCYgY29udGV4dCkgeyByZXR1cm4gaXM8V2ViQ29yZTo6V29ya2VyR2xvYmFsU2NvcGU+
KGNvbnRleHQpICYmIGRvd25jYXN0PFdlYkNvcmU6Oldvcmtlckdsb2JhbFNjb3BlPihjb250ZXh0
KS5pc1NoYXJlZFdvcmtlckdsb2JhbFNjb3BlKCk7IH0KLSAgICBzdGF0aWMgYm9vbCBpc1R5cGUo
Y29uc3QgV2ViQ29yZTo6V29ya2VyR2xvYmFsU2NvcGUmIGNvbnRleHQpIHsgcmV0dXJuIGNvbnRl
eHQuaXNTaGFyZWRXb3JrZXJHbG9iYWxTY29wZSgpOyB9Ci1TUEVDSUFMSVpFX1RZUEVfVFJBSVRT
X0VORCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1NoYXJlZFdvcmtlckds
b2JhbFNjb3BlLmlkbCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvU2hhcmVkV29ya2VyR2xvYmFs
U2NvcGUuaWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA0Nzg1NTYzMTljMWY4YTdh
MDQ2NDUxYWE4ODU5NjQ1ZGMzZmZjMzNhLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvU2hhcmVkV29ya2VyR2xvYmFs
U2NvcGUuaWRsCisrKyAvZGV2L251bGwKQEAgLTEsMzggKzAsMCBAQAotLyoKLSAqIENvcHlyaWdo
dCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgot
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgot
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJ
QlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElU
UyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLVsK
LSAgICBFbmFibGVkQnlTZXR0aW5nPVNoYXJlZFdvcmtlckVuYWJsZWQsCi0gICAgR2xvYmFsPShX
b3JrZXIsU2hhcmVkV29ya2VyKSwKLSAgICBFeHBvc2VkPVNoYXJlZFdvcmtlciwKLSAgICBKU0dl
bmVyYXRlVG9OYXRpdmVPYmplY3QsCi1dCi1pbnRlcmZhY2UgU2hhcmVkV29ya2VyR2xvYmFsU2Nv
cGUgOiBXb3JrZXJHbG9iYWxTY29wZSB7Ci0gIFtSZXBsYWNlYWJsZV0gcmVhZG9ubHkgYXR0cmli
dXRlIERPTVN0cmluZyBuYW1lOwotCi0gIHVuZGVmaW5lZCBjbG9zZSgpOwotCi0gIGF0dHJpYnV0
ZSBFdmVudEhhbmRsZXIgb25jb25uZWN0OwotfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvc2hhcmVkL1NoYXJlZFdvcmtlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJz
L3NoYXJlZC9TaGFyZWRXb3JrZXIuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjUxNTFhMGMyMjEzOGNlYzA3MWZl
YmM2ODgyM2EyYWIyMGQyOTdmYmIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS93
b3JrZXJzL3NoYXJlZC9TaGFyZWRXb3JrZXIuY3BwCkBAIC0wLDAgKzEsNTYgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRT
IENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5D
LiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgor
ICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkK
KyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAq
LworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiU2hhcmVkV29ya2VyLmgiCisKKyNp
bmNsdWRlIDx3dGYvSXNvTWFsbG9jSW5saW5lcy5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisK
K1dURl9NQUtFX0lTT19BTExPQ0FURURfSU1QTChTaGFyZWRXb3JrZXIpOworCitTaGFyZWRXb3Jr
ZXI6OlNoYXJlZFdvcmtlcihTdHJpbmcmJiwgc3RkOjpvcHRpb25hbDxzdGQ6OnZhcmlhbnQ8U3Ry
aW5nLCBXb3JrZXJPcHRpb25zPj4mJikKK3sKK30KKworTWVzc2FnZVBvcnQqIFNoYXJlZFdvcmtl
cjo6cG9ydCgpIGNvbnN0Cit7CisgICAgLy8gRklYTUU6IGltcGxlbWVudC4KKyAgICByZXR1cm4g
bnVsbHB0cjsKK30KKworU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogU2hhcmVkV29ya2VyOjpzY3Jp
cHRFeGVjdXRpb25Db250ZXh0KCkgY29uc3QKK3sKKyAgICAvLyBGSVhNRTogaW1wbGVtZW50Lgor
ICAgIHJldHVybiBudWxscHRyOworfQorCitFdmVudFRhcmdldEludGVyZmFjZSBTaGFyZWRXb3Jr
ZXI6OmV2ZW50VGFyZ2V0SW50ZXJmYWNlKCkgY29uc3QKK3sKKyAgICByZXR1cm4gU2hhcmVkV29y
a2VyRXZlbnRUYXJnZXRJbnRlcmZhY2VUeXBlOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NoYXJlZC9TaGFyZWRXb3JrZXIu
aCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2hhcmVkL1NoYXJlZFdvcmtlci5oCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjA5MDcxZjdjYmY4NDViZjExNjFmZmUxZWFlNTdiY2M1YTJiMTk2N2IKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NoYXJlZC9TaGFyZWRXb3JrZXIuaApAQCAt
MCwwICsxLDQ4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlICJBYnN0
cmFjdFdvcmtlci5oIgorI2luY2x1ZGUgIldvcmtlck9wdGlvbnMuaCIKKworbmFtZXNwYWNlIFdl
YkNvcmUgeworCitjbGFzcyBNZXNzYWdlUG9ydDsKKworY2xhc3MgU2hhcmVkV29ya2VyIGZpbmFs
IDogcHVibGljIEFic3RyYWN0V29ya2VyIHsKKyAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKFNo
YXJlZFdvcmtlcik7CitwdWJsaWM6CisgICAgc3RhdGljIFJlZjxTaGFyZWRXb3JrZXI+IGNyZWF0
ZShTdHJpbmcmJiBzY3JpcHRVUkwsIHN0ZDo6b3B0aW9uYWw8c3RkOjp2YXJpYW50PFN0cmluZywg
V29ya2VyT3B0aW9ucz4+JiYgb3B0aW9ucykgeyByZXR1cm4gYWRvcHRSZWYoKm5ldyBTaGFyZWRX
b3JrZXIoV1RGTW92ZShzY3JpcHRVUkwpLCBXVEZNb3ZlKG9wdGlvbnMpKSk7IH0KKworICAgIE1l
c3NhZ2VQb3J0KiBwb3J0KCkgY29uc3Q7Citwcml2YXRlOgorICAgIFNoYXJlZFdvcmtlcihTdHJp
bmcmJiwgc3RkOjpvcHRpb25hbDxzdGQ6OnZhcmlhbnQ8U3RyaW5nLCBXb3JrZXJPcHRpb25zPj4m
Jik7CisKKyAgICBFdmVudFRhcmdldEludGVyZmFjZSBldmVudFRhcmdldEludGVyZmFjZSgpIGNv
bnN0IGZpbmFsOworICAgIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIHNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQoKSBjb25zdCBmaW5hbDsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2hhcmVkL1NoYXJlZFdvcmtlci5pZGwgYi9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL3NoYXJlZC9TaGFyZWRXb3JrZXIuaWRsCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjA4M2M4M2Y3YmJjY2RmMzI3MGQ0MTI0ZDNkZjZlMjA3NGExZjI5MzQKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NoYXJlZC9TaGFyZWRXb3JrZXIuaWRsCkBAIC0w
LDAgKzEsMzQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0
OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkg
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KKyAqLworWworICAgIEVuYWJsZWRCeVNldHRpbmc9U2hhcmVkV29y
a2VyRW5hYmxlZCwKKyAgICBFeHBvc2VkPVdpbmRvdworXQoraW50ZXJmYWNlIFNoYXJlZFdvcmtl
ciA6IEV2ZW50VGFyZ2V0IHsKKyAgY29uc3RydWN0b3IoVVNWU3RyaW5nIHNjcmlwdFVSTCwgb3B0
aW9uYWwgKERPTVN0cmluZyBvciBXb3JrZXJPcHRpb25zKSBvcHRpb25zKTsKKworICByZWFkb25s
eSBhdHRyaWJ1dGUgTWVzc2FnZVBvcnQgcG9ydDsKK307CitTaGFyZWRXb3JrZXIgaW5jbHVkZXMg
QWJzdHJhY3RXb3JrZXI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NoYXJl
ZC9TaGFyZWRXb3JrZXJHbG9iYWxTY29wZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3No
YXJlZC9TaGFyZWRXb3JrZXJHbG9iYWxTY29wZS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNWVhMjk5OGU5YWI4
ZTIwNWNhZDRlZmJjNDQyYTVhZjE5MWIzNzIxNAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvc2hhcmVkL1NoYXJlZFdvcmtlckdsb2JhbFNjb3BlLmNwcApAQCAtMCww
ICsxLDQ2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4K
KyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIlNo
YXJlZFdvcmtlckdsb2JhbFNjb3BlLmgiCisKKyNpbmNsdWRlIDx3dGYvSXNvTWFsbG9jSW5saW5l
cy5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK1dURl9NQUtFX0lTT19BTExPQ0FURURfSU1Q
TChTaGFyZWRXb3JrZXJHbG9iYWxTY29wZSk7CisKK2NvbnN0IFN0cmluZyYgU2hhcmVkV29ya2Vy
R2xvYmFsU2NvcGU6Om5hbWUoKSBjb25zdAoreworICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQuCisg
ICAgcmV0dXJuIGVtcHR5U3RyaW5nKCk7Cit9CisKK3ZvaWQgU2hhcmVkV29ya2VyR2xvYmFsU2Nv
cGU6OmNsb3NlKCkKK3sKKyAgICAvLyBGSVhNRTogSW1wbGVtZW50LgorfQorCit9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NoYXJlZC9T
aGFyZWRXb3JrZXJHbG9iYWxTY29wZS5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zaGFyZWQv
U2hhcmVkV29ya2VyR2xvYmFsU2NvcGUuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zY2VhMDAzYjE4NGY0NWE3ZDYz
YmEzMjRmMWY4N2ZkZmQwZTUzZWY4Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUv
d29ya2Vycy9zaGFyZWQvU2hhcmVkV29ya2VyR2xvYmFsU2NvcGUuaApAQCAtMCwwICsxLDQ4IEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElO
Qy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlICJXb3JrZXJHbG9iYWxTY29w
ZS5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIFNoYXJlZFdvcmtlckdsb2JhbFNj
b3BlIGZpbmFsIDogcHVibGljIFdvcmtlckdsb2JhbFNjb3BlIHsKKyAgICBXVEZfTUFLRV9JU09f
QUxMT0NBVEVEKFNoYXJlZFdvcmtlckdsb2JhbFNjb3BlKTsKK3B1YmxpYzoKKyAgICBib29sIGlz
U2hhcmVkV29ya2VyR2xvYmFsU2NvcGUoKSBjb25zdCBmaW5hbCB7IHJldHVybiB0cnVlOyB9Cisg
ICAgY29uc3QgU3RyaW5nJiBuYW1lKCkgY29uc3Q7CisgICAgdm9pZCBjbG9zZSgpOworcHJpdmF0
ZToKKyAgICBFdmVudFRhcmdldEludGVyZmFjZSBldmVudFRhcmdldEludGVyZmFjZSgpIGNvbnN0
IGZpbmFsOworICAgIEZldGNoT3B0aW9uczo6RGVzdGluYXRpb24gZGVzdGluYXRpb24oKSBjb25z
dCBmaW5hbDsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworU1BFQ0lBTElaRV9UWVBF
X1RSQUlUU19CRUdJTihXZWJDb3JlOjpTaGFyZWRXb3JrZXJHbG9iYWxTY29wZSkKKyAgICBzdGF0
aWMgYm9vbCBpc1R5cGUoY29uc3QgV2ViQ29yZTo6U2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29u
dGV4dCkgeyByZXR1cm4gaXM8V2ViQ29yZTo6V29ya2VyR2xvYmFsU2NvcGU+KGNvbnRleHQpICYm
IGRvd25jYXN0PFdlYkNvcmU6Oldvcmtlckdsb2JhbFNjb3BlPihjb250ZXh0KS5pc1NoYXJlZFdv
cmtlckdsb2JhbFNjb3BlKCk7IH0KKyAgICBzdGF0aWMgYm9vbCBpc1R5cGUoY29uc3QgV2ViQ29y
ZTo6V29ya2VyR2xvYmFsU2NvcGUmIGNvbnRleHQpIHsgcmV0dXJuIGNvbnRleHQuaXNTaGFyZWRX
b3JrZXJHbG9iYWxTY29wZSgpOyB9CitTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX0VORCgpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NoYXJlZC9TaGFyZWRXb3JrZXJHbG9iYWxT
Y29wZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NoYXJlZC9TaGFyZWRXb3JrZXJHbG9i
YWxTY29wZS5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDc4NTU2MzE5YzFmOGE3YTA0NjQ1MWFhODg1OTY0NWRj
M2ZmYzMzYQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2hhcmVk
L1NoYXJlZFdvcmtlckdsb2JhbFNjb3BlLmlkbApAQCAtMCwwICsxLDM4IEBACisvKgorICogQ29w
eXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBD
T05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIK
KyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4g
T1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAq
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisg
KiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8K
KworWworICAgIEVuYWJsZWRCeVNldHRpbmc9U2hhcmVkV29ya2VyRW5hYmxlZCwKKyAgICBHbG9i
YWw9KFdvcmtlcixTaGFyZWRXb3JrZXIpLAorICAgIEV4cG9zZWQ9U2hhcmVkV29ya2VyLAorICAg
IEpTR2VuZXJhdGVUb05hdGl2ZU9iamVjdCwKK10KK2ludGVyZmFjZSBTaGFyZWRXb3JrZXJHbG9i
YWxTY29wZSA6IFdvcmtlckdsb2JhbFNjb3BlIHsKKyAgW1JlcGxhY2VhYmxlXSByZWFkb25seSBh
dHRyaWJ1dGUgRE9NU3RyaW5nIG5hbWU7CisKKyAgdW5kZWZpbmVkIGNsb3NlKCk7CisKKyAgYXR0
cmlidXRlIEV2ZW50SGFuZGxlciBvbmNvbm5lY3Q7Cit9Owo=
</data>
<flag name="commit-queue"
          id="470975"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>445743</attachid>
            <date>2021-12-02 10:46:12 -0800</date>
            <delta_ts>2021-12-02 11:22:23 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-233769-20211202104611.patch</filename>
            <type>text/plain</type>
            <size>34986</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg2NDM0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTMwNmFkNGYyNGY1YmZl
MTRlNmU2M2Y5OTVjMWNkNmUyNzRkYzdjMi4uNDM3ZTNlYWFmYzgyOTVlMGQ1OTA2OTFiMzE0ZTg0
NmI2NDFjMmNlOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDIxLTEyLTAyICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgTW92ZSBTaGFyZWQgV29ya2Vy
IGNsYXNzZXMgdG8gV2ViQ29yZS93b3JrZXJzL3NoYXJlZAorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMzNzY5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
QWxleCBDaHJpc3RlbnNlbi4KKworICAgICAgICBNb3ZlIFNoYXJlZCBXb3JrZXIgY2xhc3NlcyB0
byBXZWJDb3JlL3dvcmtlcnMvc2hhcmVkLCBmb3IgYmV0dGVyIHN0cnVjdHVyaW5nIGFuZCBjb25z
aXN0ZW5jeQorICAgICAgICB3aXRoIFdlYkNvcmUvd29ya2Vycy9zZXJ2aWNlLgorCisgICAgICAg
ICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAg
ICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogd29ya2Vy
cy9zaGFyZWQvU2hhcmVkV29ya2VyLmNwcDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvU2hhcmVkV29ya2VyLmNwcC4KKyAgICAgICAgKiB3b3JrZXJzL3NoYXJlZC9TaGFyZWRX
b3JrZXIuaDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJDb3JlL3dvcmtlcnMvU2hhcmVkV29ya2Vy
LmguCisgICAgICAgICogd29ya2Vycy9zaGFyZWQvU2hhcmVkV29ya2VyLmlkbDogUmVuYW1lZCBm
cm9tIFNvdXJjZS9XZWJDb3JlL3dvcmtlcnMvU2hhcmVkV29ya2VyLmlkbC4KKyAgICAgICAgKiB3
b3JrZXJzL3NoYXJlZC9TaGFyZWRXb3JrZXJHbG9iYWxTY29wZS5jcHA6IFJlbmFtZWQgZnJvbSBT
b3VyY2UvV2ViQ29yZS93b3JrZXJzL1NoYXJlZFdvcmtlckdsb2JhbFNjb3BlLmNwcC4KKyAgICAg
ICAgKiB3b3JrZXJzL3NoYXJlZC9TaGFyZWRXb3JrZXJHbG9iYWxTY29wZS5oOiBSZW5hbWVkIGZy
b20gU291cmNlL1dlYkNvcmUvd29ya2Vycy9TaGFyZWRXb3JrZXJHbG9iYWxTY29wZS5oLgorICAg
ICAgICAqIHdvcmtlcnMvc2hhcmVkL1NoYXJlZFdvcmtlckdsb2JhbFNjb3BlLmlkbDogUmVuYW1l
ZCBmcm9tIFNvdXJjZS9XZWJDb3JlL3dvcmtlcnMvU2hhcmVkV29ya2VyR2xvYmFsU2NvcGUuaWRs
LgorCiAyMDIxLTEyLTAyICBBbnR0aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KIAogICAg
ICAgICBbOmhhcygpIHBzZXVkby1jbGFzc10gSW52YWxpZGF0aW9uIGluIG5vbi1zdWJqZWN0IHBv
c2l0aW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJj
ZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IDdmYjVjMDRlYzY1OTUxNTA5MjdlOTQ2ZjMw
ODZmMDU5OWNiN2ZkMGYuLmZmMTdjODkzM2Q2NzRkN2VhNzUyZjAxNjYyZTEzMDYxZWQxYmQ4ZDYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9X
ZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC0xMjEyLDggKzEyMTIsNiBAQCBzZXQoV2ViQ29yZV9O
T05fU1ZHX0lETF9GSUxFUwogCiAgICAgd29ya2Vycy9BYnN0cmFjdFdvcmtlci5pZGwKICAgICB3
b3JrZXJzL0RlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlLmlkbAotICAgIHdvcmtlcnMvU2hhcmVk
V29ya2VyLmlkbAotICAgIHdvcmtlcnMvU2hhcmVkV29ya2VyR2xvYmFsU2NvcGUuaWRsCiAgICAg
d29ya2Vycy9Xb3JrZXIuaWRsCiAgICAgd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5pZGwKICAg
ICB3b3JrZXJzL1dvcmtlckxvY2F0aW9uLmlkbApAQCAtMTIzNiw2ICsxMjM0LDkgQEAgc2V0KFdl
YkNvcmVfTk9OX1NWR19JRExfRklMRVMKICAgICB3b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtl
clVwZGF0ZVZpYUNhY2hlLmlkbAogICAgIHdvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyV2lu
ZG93Q2xpZW50LmlkbAogCisgICAgd29ya2Vycy9zaGFyZWQvU2hhcmVkV29ya2VyLmlkbAorICAg
IHdvcmtlcnMvc2hhcmVkL1NoYXJlZFdvcmtlckdsb2JhbFNjb3BlLmlkbAorCiAgICAgd29ya2xl
dHMvUGFpbnRXb3JrbGV0R2xvYmFsU2NvcGUuaWRsCiAgICAgd29ya2xldHMvV29ya2xldC5pZGwK
ICAgICB3b3JrbGV0cy9Xb3JrbGV0R2xvYmFsU2NvcGUuaWRsCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJj
ZXMubWFrZQppbmRleCAyZTY3ZDFhNGIwYjYzN2UyN2JlM2FlNDkzNTAyOTVhZTk3NjM4MmZlLi5j
NDc0ZjBiYmViYjNjNTI0MTJjZjM5ZGZiNWJlOTcxNzU5NmVlNDNmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2
ZWRTb3VyY2VzLm1ha2UKQEAgLTE0MzUsMTIgKzE0MzUsMTAgQEAgSlNfQklORElOR19JRExTIDo9
IFwKICAgICAkKFdlYkNvcmUpL3Rlc3RpbmcvWFJTaW11bGF0ZVVzZXJBY3RpdmF0aW9uRnVuY3Rp
b24uaWRsIFwKICAgICAkKFdlYkNvcmUpL3dvcmtlcnMvQWJzdHJhY3RXb3JrZXIuaWRsIFwKICAg
ICAkKFdlYkNvcmUpL3dvcmtlcnMvRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUuaWRsIFwKLSAg
ICAkKFdlYkNvcmUpL3dvcmtlcnMvU2hhcmVkV29ya2VyLmlkbCBcCi0gICAgJChXZWJDb3JlKS93
b3JrZXJzL1NoYXJlZFdvcmtlckdsb2JhbFNjb3BlLmlkbCBcCiAgICAgJChXZWJDb3JlKS93b3Jr
ZXJzL1dvcmtlci5pZGwgXAogICAgICQoV2ViQ29yZSkvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29w
ZS5pZGwgXAogICAgICQoV2ViQ29yZSkvd29ya2Vycy9Xb3JrZXJMb2NhdGlvbi5pZGwgXAotCSQo
V2ViQ29yZSkvd29ya2Vycy9Xb3JrZXJPcHRpb25zLmlkbCBcCisgICAgJChXZWJDb3JlKS93b3Jr
ZXJzL1dvcmtlck9wdGlvbnMuaWRsIFwKICAgICAkKFdlYkNvcmUpL3dvcmtlcnMvV29ya2VyVHlw
ZS5pZGwgXAogICAgICQoV2ViQ29yZSkvd29ya2Vycy9zZXJ2aWNlL0V4dGVuZGFibGVFdmVudC5p
ZGwgXAogICAgICQoV2ViQ29yZSkvd29ya2Vycy9zZXJ2aWNlL0V4dGVuZGFibGVFdmVudEluaXQu
aWRsIFwKQEAgLTE0NTcsNiArMTQ1NSw4IEBAIEpTX0JJTkRJTkdfSURMUyA6PSBcCiAgICAgJChX
ZWJDb3JlKS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbi5pZGwgXAog
ICAgICQoV2ViQ29yZSkvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJVcGRhdGVWaWFDYWNo
ZS5pZGwgXAogICAgICQoV2ViQ29yZSkvd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJXaW5k
b3dDbGllbnQuaWRsIFwKKyAgICAkKFdlYkNvcmUpL3dvcmtlcnMvc2hhcmVkL1NoYXJlZFdvcmtl
ci5pZGwgXAorICAgICQoV2ViQ29yZSkvd29ya2Vycy9zaGFyZWQvU2hhcmVkV29ya2VyR2xvYmFs
U2NvcGUuaWRsIFwKICAgICAkKFdlYkNvcmUpL3dvcmtsZXRzL1BhaW50V29ya2xldEdsb2JhbFNj
b3BlLmlkbCBcCiAgICAgJChXZWJDb3JlKS93b3JrbGV0cy9Xb3JrbGV0LmlkbCBcCiAgICAgJChX
ZWJDb3JlKS93b3JrbGV0cy9Xb3JrbGV0R2xvYmFsU2NvcGUuaWRsIFwKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0IGIvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKaW5k
ZXggZmU0OTVlMWZmMmM1ZGY0Mzk4MmMyNWViN2Y2ZTViNjQxZjhlMTI2Yy4uM2Y1ZmJjYzg3MjZm
MzU2NTVlYjg3YzU5ODZkNjllZGMyZGM1Y2I0NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
U291cmNlcy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKQEAgLTI3MjIsOCAr
MjcyMiw2IEBAIHdvcmtlcnMvQWJzdHJhY3RXb3JrZXIuY3BwCiB3b3JrZXJzL0RlZGljYXRlZFdv
cmtlckdsb2JhbFNjb3BlLmNwcAogd29ya2Vycy9EZWRpY2F0ZWRXb3JrZXJUaHJlYWQuY3BwCiB3
b3JrZXJzL1NjcmlwdEJ1ZmZlci5jcHAKLXdvcmtlcnMvU2hhcmVkV29ya2VyLmNwcAotd29ya2Vy
cy9TaGFyZWRXb3JrZXJHbG9iYWxTY29wZS5jcHAKIHdvcmtlcnMvV29ya2VyLmNwcAogd29ya2Vy
cy9Xb3JrZXJBbmltYXRpb25Db250cm9sbGVyLmNwcAogd29ya2Vycy9Xb3JrZXJDb25zb2xlQ2xp
ZW50LmNwcApAQCAtMjc3Niw2ICsyNzc0LDggQEAgd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1Nl
cnZlckpvYlF1ZXVlLmNwcAogd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlclJlZ2lzdHJh
dGlvbi5jcHAKIHdvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXJUb0NvbnRleHRDb25uZWN0
aW9uLmNwcAogd29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlcldvcmtlci5jcHAKK3dvcmtl
cnMvc2hhcmVkL1NoYXJlZFdvcmtlci5jcHAKK3dvcmtlcnMvc2hhcmVkL1NoYXJlZFdvcmtlckds
b2JhbFNjb3BlLmNwcAogd29ya2xldHMvUGFpbnRXb3JrbGV0R2xvYmFsU2NvcGUuY3BwCiB3b3Jr
bGV0cy9Xb3JrbGV0LmNwcAogd29ya2xldHMvV29ya2xldEdsb2JhbFNjb3BlLmNwcApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGM4
YzFlMzdmZDQ0NWJhZGI1NGU0Y2VjMzg2NDdhYTY5Mjg4ZTRlYWUuLjZjYTA3MjVlMmQzYWM3MjMw
NjQyZGY2ZTU4NGM4ZWI1YzM2YWI4ZGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTkxMjIsNiArOTEyMiwxMiBAQAogCQk0NjVF
REQ5RjIyMkY0RUMzMDBCNDZFMTYgLyogRGV2aWNlT3JpZW50YXRpb25Pck1vdGlvblBlcm1pc3Np
b25TdGF0ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBEZXZpY2VPcmllbnRh
dGlvbk9yTW90aW9uUGVybWlzc2lvblN0YXRlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTQ2NUVEREEwMjIyRjRFQzQwMEI0NkUxNiAvKiBEZXZpY2VPcmllbnRhdGlvbk9yTW90aW9u
UGVybWlzc2lvblN0YXRlLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBEZXZpY2VPcmllbnRh
dGlvbk9yTW90aW9uUGVybWlzc2lvblN0YXRlLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJNDY2NTM2RkEyNjRDOEREMTAwQUFEMUQ3IC8qIEpTQXVkaW9Ob2RlQ3VzdG9tLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IEpTQXVkaW9Ob2RlQ3VzdG9tLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJNDY2OTRDRTAyNzU5NDQ4QzAwRTMxNTBFIC8qIFNoYXJlZFdvcmtlckds
b2JhbFNjb3BlLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9IHRleHQ7IHBhdGggPSBTaGFyZWRXb3JrZXJHbG9iYWxTY29wZS5pZGw7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTQ2Njk0Q0UxMjc1OTQ0OEMwMEUzMTUwRSAvKiBTaGFyZWRX
b3JrZXJHbG9iYWxTY29wZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTaGFyZWRXb3JrZXJHbG9iYWxTY29w
ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0NjY5NENFMjI3NTk0NDhEMDBFMzE1
MEUgLyogU2hhcmVkV29ya2VyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNoYXJlZFdvcmtlci5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0NjY5NENFMzI3NTk0NDhEMDBFMzE1MEUgLyogU2hh
cmVkV29ya2VyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNoYXJlZFdvcmtlci5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQ2Njk0Q0U0Mjc1OTQ0OEUwMEUzMTUwRSAvKiBTaGFy
ZWRXb3JrZXJHbG9iYWxTY29wZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTaGFyZWRXb3JrZXJH
bG9iYWxTY29wZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQ2Njk0Q0U1Mjc1
OTQ0OEUwMEUzMTUwRSAvKiBTaGFyZWRXb3JrZXIuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFNoYXJlZFdvcmtlci5pZGw7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ2NkMyREFCMjZDNzNBRkIwMDY1MTkzMSAv
KiBQb2xpY3lDb250YWluZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUG9s
aWN5Q29udGFpbmVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ2NkRDNkFCMUVE
RTAyMUQwMDc0NjIyNCAvKiBKU0RPTVJlY3RMaXN0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IEpTRE9NUmVjdExpc3QuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQk0NjZFRDhEMjFFREUwMTM1MDA1RTQzRjYgLyogSlNET01SZWN0TGlzdC5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0RPTVJlY3RMaXN0Lmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CkBAIC0yMDU2OCw2ICsyMDU3NCw3IEBACiAJCQlpc2EgPSBQQlhHcm91
cDsKIAkJCWNoaWxkcmVuID0gKAogCQkJCTUxRjE3NTQ0MUYzRUJCRjIwMEM3NDk1MCAvKiBzZXJ2
aWNlICovLAorCQkJCTQ2Njk0Q0RFMjc1OTQ0NkQwMEUzMTUwRSAvKiBzaGFyZWQgKi8sCiAJCQkJ
NDFFMUIxQ0EwRkY1OTg2OTAwNTc2QjNCIC8qIEFic3RyYWN0V29ya2VyLmNwcCAqLywKIAkJCQk0
MUUxQjFDQjBGRjU5ODY5MDA1NzZCM0IgLyogQWJzdHJhY3RXb3JrZXIuaCAqLywKIAkJCQk0MUUx
QjFDQzBGRjU5ODY5MDA1NzZCM0IgLyogQWJzdHJhY3RXb3JrZXIuaWRsICovLApAQCAtMjEzMTYs
NiArMjEzMjMsMTkgQEAKIAkJCXBhdGggPSAid2ViLWxvY2tzIjsKIAkJCXNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7CiAJCX07CisJCTQ2Njk0Q0RFMjc1OTQ0NkQwMEUzMTUwRSAvKiBzaGFyZWQgKi8g
PSB7CisJCQlpc2EgPSBQQlhHcm91cDsKKwkJCWNoaWxkcmVuID0gKAorCQkJCTQ2Njk0Q0UzMjc1
OTQ0OEQwMEUzMTUwRSAvKiBTaGFyZWRXb3JrZXIuY3BwICovLAorCQkJCTQ2Njk0Q0UyMjc1OTQ0
OEQwMEUzMTUwRSAvKiBTaGFyZWRXb3JrZXIuaCAqLywKKwkJCQk0NjY5NENFNTI3NTk0NDhFMDBF
MzE1MEUgLyogU2hhcmVkV29ya2VyLmlkbCAqLywKKwkJCQk0NjY5NENFNDI3NTk0NDhFMDBFMzE1
MEUgLyogU2hhcmVkV29ya2VyR2xvYmFsU2NvcGUuY3BwICovLAorCQkJCTQ2Njk0Q0UxMjc1OTQ0
OEMwMEUzMTUwRSAvKiBTaGFyZWRXb3JrZXJHbG9iYWxTY29wZS5oICovLAorCQkJCTQ2Njk0Q0Uw
Mjc1OTQ0OEMwMEUzMTUwRSAvKiBTaGFyZWRXb3JrZXJHbG9iYWxTY29wZS5pZGwgKi8sCisJCQkp
OworCQkJcGF0aCA9IHNoYXJlZDsKKwkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CisJCX07CiAJ
CTQ5NDg0RkFFMTAyQ0YwMUUwMDE4N0REMyAvKiBjYW52YXMgKi8gPSB7CiAJCQlpc2EgPSBQQlhH
cm91cDsKIAkJCWNoaWxkcmVuID0gKApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9TaGFyZWRXb3JrZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9TaGFyZWRXb3JrZXIu
Y3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1MTUxYTBjMjIxMzhjZWMwNzFmZWJj
Njg4MjNhMmFiMjBkMjk3ZmJiLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvU2hhcmVkV29ya2VyLmNwcAorKysgL2Rl
di9udWxsCkBAIC0xLDU2ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
Ci0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0g
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycK
LSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLAotICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0g
KiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LCBFWEVNUExBUlksIE9SCi0gKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgotICogU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTgotICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKLSAqIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaW5jbHVkZSAiY29uZmlnLmgi
Ci0jaW5jbHVkZSAiU2hhcmVkV29ya2VyLmgiCi0KLSNpbmNsdWRlIDx3dGYvSXNvTWFsbG9jSW5s
aW5lcy5oPgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLVdURl9NQUtFX0lTT19BTExPQ0FURURf
SU1QTChTaGFyZWRXb3JrZXIpOwotCi1TaGFyZWRXb3JrZXI6OlNoYXJlZFdvcmtlcihTdHJpbmcm
Jiwgc3RkOjpvcHRpb25hbDxzdGQ6OnZhcmlhbnQ8U3RyaW5nLCBXb3JrZXJPcHRpb25zPj4mJikK
LXsKLX0KLQotTWVzc2FnZVBvcnQqIFNoYXJlZFdvcmtlcjo6cG9ydCgpIGNvbnN0Ci17Ci0gICAg
Ly8gRklYTUU6IGltcGxlbWVudC4KLSAgICByZXR1cm4gbnVsbHB0cjsKLX0KLQotU2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCogU2hhcmVkV29ya2VyOjpzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkgY29u
c3QKLXsKLSAgICAvLyBGSVhNRTogaW1wbGVtZW50LgotICAgIHJldHVybiBudWxscHRyOwotfQot
Ci1FdmVudFRhcmdldEludGVyZmFjZSBTaGFyZWRXb3JrZXI6OmV2ZW50VGFyZ2V0SW50ZXJmYWNl
KCkgY29uc3QKLXsKLSAgICByZXR1cm4gU2hhcmVkV29ya2VyRXZlbnRUYXJnZXRJbnRlcmZhY2VU
eXBlOwotfQotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS93b3JrZXJzL1NoYXJlZFdvcmtlci5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9TaGFy
ZWRXb3JrZXIuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDkwNzFmN2NiZjg0NWJm
MTE2MWZmZTFlYWU1N2JjYzVhMmIxOTY3Yi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1NoYXJlZFdvcmtlci5oCisr
KyAvZGV2L251bGwKQEAgLTEsNDggKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAyMSBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMg
SVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRP
UlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MK
LSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgot
ICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNwcmFnbWEgb25jZQot
Ci0jaW5jbHVkZSAiQWJzdHJhY3RXb3JrZXIuaCIKLSNpbmNsdWRlICJXb3JrZXJPcHRpb25zLmgi
Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotY2xhc3MgTWVzc2FnZVBvcnQ7Ci0KLWNsYXNzIFNo
YXJlZFdvcmtlciBmaW5hbCA6IHB1YmxpYyBBYnN0cmFjdFdvcmtlciB7Ci0gICAgV1RGX01BS0Vf
SVNPX0FMTE9DQVRFRChTaGFyZWRXb3JrZXIpOwotcHVibGljOgotICAgIHN0YXRpYyBSZWY8U2hh
cmVkV29ya2VyPiBjcmVhdGUoU3RyaW5nJiYgc2NyaXB0VVJMLCBzdGQ6Om9wdGlvbmFsPHN0ZDo6
dmFyaWFudDxTdHJpbmcsIFdvcmtlck9wdGlvbnM+PiYmIG9wdGlvbnMpIHsgcmV0dXJuIGFkb3B0
UmVmKCpuZXcgU2hhcmVkV29ya2VyKFdURk1vdmUoc2NyaXB0VVJMKSwgV1RGTW92ZShvcHRpb25z
KSkpOyB9Ci0KLSAgICBNZXNzYWdlUG9ydCogcG9ydCgpIGNvbnN0OwotcHJpdmF0ZToKLSAgICBT
aGFyZWRXb3JrZXIoU3RyaW5nJiYsIHN0ZDo6b3B0aW9uYWw8c3RkOjp2YXJpYW50PFN0cmluZywg
V29ya2VyT3B0aW9ucz4+JiYpOwotCi0gICAgRXZlbnRUYXJnZXRJbnRlcmZhY2UgZXZlbnRUYXJn
ZXRJbnRlcmZhY2UoKSBjb25zdCBmaW5hbDsKLSAgICBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBz
Y3JpcHRFeGVjdXRpb25Db250ZXh0KCkgY29uc3QgZmluYWw7Ci19OwotCi19IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1NoYXJlZFdvcmtl
ci5pZGwgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1NoYXJlZFdvcmtlci5pZGwKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDA4M2M4M2Y3YmJjY2RmMzI3MGQ0MTI0ZDNkZjZlMjA3NGEx
ZjI5MzQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9TaGFyZWRXb3JrZXIuaWRsCisrKyAvZGV2L251bGwKQEAgLTEs
MzQgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6
Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
Ci0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgotICovCi1bCi0gICAgRW5hYmxlZEJ5U2V0dGluZz1TaGFyZWRXb3Jr
ZXJFbmFibGVkLAotICAgIEV4cG9zZWQ9V2luZG93Ci1dCi1pbnRlcmZhY2UgU2hhcmVkV29ya2Vy
IDogRXZlbnRUYXJnZXQgewotICBjb25zdHJ1Y3RvcihVU1ZTdHJpbmcgc2NyaXB0VVJMLCBvcHRp
b25hbCAoRE9NU3RyaW5nIG9yIFdvcmtlck9wdGlvbnMpIG9wdGlvbnMpOwotCi0gIHJlYWRvbmx5
IGF0dHJpYnV0ZSBNZXNzYWdlUG9ydCBwb3J0OwotfTsKLVNoYXJlZFdvcmtlciBpbmNsdWRlcyBB
YnN0cmFjdFdvcmtlcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvU2hhcmVk
V29ya2VyR2xvYmFsU2NvcGUuY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9TaGFyZWRXb3Jr
ZXJHbG9iYWxTY29wZS5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDVlYTI5OThl
OWFiOGUyMDVjYWQ0ZWZiYzQ0MmE1YWYxOTFiMzcyMTQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9TaGFyZWRXb3Jr
ZXJHbG9iYWxTY29wZS5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSw0NiArMCwwIEBACi0vKgotICog
Q29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0g
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElU
UyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElO
Qy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YK
LSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
Ci0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0g
Ki8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUgIlNoYXJlZFdvcmtlckdsb2JhbFNj
b3BlLmgiCi0KLSNpbmNsdWRlIDx3dGYvSXNvTWFsbG9jSW5saW5lcy5oPgotCi1uYW1lc3BhY2Ug
V2ViQ29yZSB7Ci0KLVdURl9NQUtFX0lTT19BTExPQ0FURURfSU1QTChTaGFyZWRXb3JrZXJHbG9i
YWxTY29wZSk7Ci0KLWNvbnN0IFN0cmluZyYgU2hhcmVkV29ya2VyR2xvYmFsU2NvcGU6Om5hbWUo
KSBjb25zdAotewotICAgIC8vIEZJWE1FOiBJbXBsZW1lbnQuCi0gICAgcmV0dXJuIGVtcHR5U3Ry
aW5nKCk7Ci19Ci0KLXZvaWQgU2hhcmVkV29ya2VyR2xvYmFsU2NvcGU6OmNsb3NlKCkKLXsKLSAg
ICAvLyBGSVhNRTogSW1wbGVtZW50LgotfQotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1NoYXJlZFdvcmtlckdsb2JhbFNjb3BlLmgg
Yi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1NoYXJlZFdvcmtlckdsb2JhbFNjb3BlLmgKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDNjZWEwMDNiMTg0ZjQ1YTdkNjNiYTMyNGYxZjg3ZmRm
ZDBlNTNlZjguLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9TaGFyZWRXb3JrZXJHbG9iYWxTY29wZS5oCisrKyAvZGV2
L251bGwKQEAgLTEsNDggKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
LSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwot
ICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAq
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNwcmFnbWEgb25jZQotCi0jaW5j
bHVkZSAiV29ya2VyR2xvYmFsU2NvcGUuaCIKLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1jbGFz
cyBTaGFyZWRXb3JrZXJHbG9iYWxTY29wZSBmaW5hbCA6IHB1YmxpYyBXb3JrZXJHbG9iYWxTY29w
ZSB7Ci0gICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChTaGFyZWRXb3JrZXJHbG9iYWxTY29wZSk7
Ci1wdWJsaWM6Ci0gICAgYm9vbCBpc1NoYXJlZFdvcmtlckdsb2JhbFNjb3BlKCkgY29uc3QgZmlu
YWwgeyByZXR1cm4gdHJ1ZTsgfQotICAgIGNvbnN0IFN0cmluZyYgbmFtZSgpIGNvbnN0OwotICAg
IHZvaWQgY2xvc2UoKTsKLXByaXZhdGU6Ci0gICAgRXZlbnRUYXJnZXRJbnRlcmZhY2UgZXZlbnRU
YXJnZXRJbnRlcmZhY2UoKSBjb25zdCBmaW5hbDsKLSAgICBGZXRjaE9wdGlvbnM6OkRlc3RpbmF0
aW9uIGRlc3RpbmF0aW9uKCkgY29uc3QgZmluYWw7Ci19OwotCi19IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCi0KLVNQRUNJQUxJWkVfVFlQRV9UUkFJVFNfQkVHSU4oV2ViQ29yZTo6U2hhcmVkV29ya2Vy
R2xvYmFsU2NvcGUpCi0gICAgc3RhdGljIGJvb2wgaXNUeXBlKGNvbnN0IFdlYkNvcmU6OlNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQpIHsgcmV0dXJuIGlzPFdlYkNvcmU6Oldvcmtlckds
b2JhbFNjb3BlPihjb250ZXh0KSAmJiBkb3duY2FzdDxXZWJDb3JlOjpXb3JrZXJHbG9iYWxTY29w
ZT4oY29udGV4dCkuaXNTaGFyZWRXb3JrZXJHbG9iYWxTY29wZSgpOyB9Ci0gICAgc3RhdGljIGJv
b2wgaXNUeXBlKGNvbnN0IFdlYkNvcmU6Oldvcmtlckdsb2JhbFNjb3BlJiBjb250ZXh0KSB7IHJl
dHVybiBjb250ZXh0LmlzU2hhcmVkV29ya2VyR2xvYmFsU2NvcGUoKTsgfQotU1BFQ0lBTElaRV9U
WVBFX1RSQUlUU19FTkQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9TaGFy
ZWRXb3JrZXJHbG9iYWxTY29wZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1NoYXJlZFdv
cmtlckdsb2JhbFNjb3BlLmlkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNDc4NTU2
MzE5YzFmOGE3YTA0NjQ1MWFhODg1OTY0NWRjM2ZmYzMzYS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1NoYXJlZFdv
cmtlckdsb2JhbFNjb3BlLmlkbAorKysgL2Rldi9udWxsCkBAIC0xLDM4ICswLDAgQEAKLS8qCi0g
KiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoK
LSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQg
SVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
SU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0gKiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RgotICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgotICogQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
LSAqLwotCi1bCi0gICAgRW5hYmxlZEJ5U2V0dGluZz1TaGFyZWRXb3JrZXJFbmFibGVkLAotICAg
IEdsb2JhbD0oV29ya2VyLFNoYXJlZFdvcmtlciksCi0gICAgRXhwb3NlZD1TaGFyZWRXb3JrZXIs
Ci0gICAgSlNHZW5lcmF0ZVRvTmF0aXZlT2JqZWN0LAotXQotaW50ZXJmYWNlIFNoYXJlZFdvcmtl
ckdsb2JhbFNjb3BlIDogV29ya2VyR2xvYmFsU2NvcGUgewotICBbUmVwbGFjZWFibGVdIHJlYWRv
bmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgbmFtZTsKLQotICB1bmRlZmluZWQgY2xvc2UoKTsKLQot
ICBhdHRyaWJ1dGUgRXZlbnRIYW5kbGVyIG9uY29ubmVjdDsKLX07CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL3NoYXJlZC9TaGFyZWRXb3JrZXIuY3BwIGIvU291cmNlL1dlYkNv
cmUvd29ya2Vycy9zaGFyZWQvU2hhcmVkV29ya2VyLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41MTUxYTBjMjIx
MzhjZWMwNzFmZWJjNjg4MjNhMmFiMjBkMjk3ZmJiCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNl
L1dlYkNvcmUvd29ya2Vycy9zaGFyZWQvU2hhcmVkV29ya2VyLmNwcApAQCAtMCwwICsxLDU2IEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElO
Qy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIlNoYXJlZFdvcmtl
ci5oIgorCisjaW5jbHVkZSA8d3RmL0lzb01hbGxvY0lubGluZXMuaD4KKworbmFtZXNwYWNlIFdl
YkNvcmUgeworCitXVEZfTUFLRV9JU09fQUxMT0NBVEVEX0lNUEwoU2hhcmVkV29ya2VyKTsKKwor
U2hhcmVkV29ya2VyOjpTaGFyZWRXb3JrZXIoU3RyaW5nJiYsIHN0ZDo6b3B0aW9uYWw8c3RkOjp2
YXJpYW50PFN0cmluZywgV29ya2VyT3B0aW9ucz4+JiYpCit7Cit9CisKK01lc3NhZ2VQb3J0KiBT
aGFyZWRXb3JrZXI6OnBvcnQoKSBjb25zdAoreworICAgIC8vIEZJWE1FOiBpbXBsZW1lbnQuCisg
ICAgcmV0dXJuIG51bGxwdHI7Cit9CisKK1NjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIFNoYXJlZFdv
cmtlcjo6c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpIGNvbnN0Cit7CisgICAgLy8gRklYTUU6IGlt
cGxlbWVudC4KKyAgICByZXR1cm4gbnVsbHB0cjsKK30KKworRXZlbnRUYXJnZXRJbnRlcmZhY2Ug
U2hhcmVkV29ya2VyOjpldmVudFRhcmdldEludGVyZmFjZSgpIGNvbnN0Cit7CisgICAgcmV0dXJu
IFNoYXJlZFdvcmtlckV2ZW50VGFyZ2V0SW50ZXJmYWNlVHlwZTsKK30KKworfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zaGFyZWQvU2hh
cmVkV29ya2VyLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NoYXJlZC9TaGFyZWRXb3JrZXIu
aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4wOTA3MWY3Y2JmODQ1YmYxMTYxZmZlMWVhZTU3YmNjNWEyYjE5NjdiCi0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zaGFyZWQvU2hhcmVkV29y
a2VyLmgKQEAgLTAsMCArMSw0OCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
KyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwor
ICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAq
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5j
bHVkZSAiQWJzdHJhY3RXb3JrZXIuaCIKKyNpbmNsdWRlICJXb3JrZXJPcHRpb25zLmgiCisKK25h
bWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgTWVzc2FnZVBvcnQ7CisKK2NsYXNzIFNoYXJlZFdv
cmtlciBmaW5hbCA6IHB1YmxpYyBBYnN0cmFjdFdvcmtlciB7CisgICAgV1RGX01BS0VfSVNPX0FM
TE9DQVRFRChTaGFyZWRXb3JrZXIpOworcHVibGljOgorICAgIHN0YXRpYyBSZWY8U2hhcmVkV29y
a2VyPiBjcmVhdGUoU3RyaW5nJiYgc2NyaXB0VVJMLCBzdGQ6Om9wdGlvbmFsPHN0ZDo6dmFyaWFu
dDxTdHJpbmcsIFdvcmtlck9wdGlvbnM+PiYmIG9wdGlvbnMpIHsgcmV0dXJuIGFkb3B0UmVmKCpu
ZXcgU2hhcmVkV29ya2VyKFdURk1vdmUoc2NyaXB0VVJMKSwgV1RGTW92ZShvcHRpb25zKSkpOyB9
CisKKyAgICBNZXNzYWdlUG9ydCogcG9ydCgpIGNvbnN0OworcHJpdmF0ZToKKyAgICBTaGFyZWRX
b3JrZXIoU3RyaW5nJiYsIHN0ZDo6b3B0aW9uYWw8c3RkOjp2YXJpYW50PFN0cmluZywgV29ya2Vy
T3B0aW9ucz4+JiYpOworCisgICAgRXZlbnRUYXJnZXRJbnRlcmZhY2UgZXZlbnRUYXJnZXRJbnRl
cmZhY2UoKSBjb25zdCBmaW5hbDsKKyAgICBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBzY3JpcHRF
eGVjdXRpb25Db250ZXh0KCkgY29uc3QgZmluYWw7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NoYXJlZC9TaGFyZWRXb3Jr
ZXIuaWRsIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zaGFyZWQvU2hhcmVkV29ya2VyLmlkbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4wODNjODNmN2JiY2NkZjMyNzBkNDEyNGQzZGY2ZTIwNzRhMWYyOTM0Ci0tLSAv
ZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zaGFyZWQvU2hhcmVkV29ya2Vy
LmlkbApAQCAtMCwwICsxLDM0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwor
ICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisg
KiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICog
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KK1sKKyAgICBFbmFibGVkQnlTZXR0aW5n
PVNoYXJlZFdvcmtlckVuYWJsZWQsCisgICAgRXhwb3NlZD1XaW5kb3cKK10KK2ludGVyZmFjZSBT
aGFyZWRXb3JrZXIgOiBFdmVudFRhcmdldCB7CisgIGNvbnN0cnVjdG9yKFVTVlN0cmluZyBzY3Jp
cHRVUkwsIG9wdGlvbmFsIChET01TdHJpbmcgb3IgV29ya2VyT3B0aW9ucykgb3B0aW9ucyk7CisK
KyAgcmVhZG9ubHkgYXR0cmlidXRlIE1lc3NhZ2VQb3J0IHBvcnQ7Cit9OworU2hhcmVkV29ya2Vy
IGluY2x1ZGVzIEFic3RyYWN0V29ya2VyOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29y
a2Vycy9zaGFyZWQvU2hhcmVkV29ya2VyR2xvYmFsU2NvcGUuY3BwIGIvU291cmNlL1dlYkNvcmUv
d29ya2Vycy9zaGFyZWQvU2hhcmVkV29ya2VyR2xvYmFsU2NvcGUuY3BwCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjVl
YTI5OThlOWFiOGUyMDVjYWQ0ZWZiYzQ0MmE1YWYxOTFiMzcyMTQKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NoYXJlZC9TaGFyZWRXb3JrZXJHbG9iYWxTY29wZS5j
cHAKQEAgLTAsMCArMSw0NiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAq
IGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICog
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNp
bmNsdWRlICJTaGFyZWRXb3JrZXJHbG9iYWxTY29wZS5oIgorCisjaW5jbHVkZSA8d3RmL0lzb01h
bGxvY0lubGluZXMuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitXVEZfTUFLRV9JU09fQUxM
T0NBVEVEX0lNUEwoU2hhcmVkV29ya2VyR2xvYmFsU2NvcGUpOworCitjb25zdCBTdHJpbmcmIFNo
YXJlZFdvcmtlckdsb2JhbFNjb3BlOjpuYW1lKCkgY29uc3QKK3sKKyAgICAvLyBGSVhNRTogSW1w
bGVtZW50LgorICAgIHJldHVybiBlbXB0eVN0cmluZygpOworfQorCit2b2lkIFNoYXJlZFdvcmtl
ckdsb2JhbFNjb3BlOjpjbG9zZSgpCit7CisgICAgLy8gRklYTUU6IEltcGxlbWVudC4KK30KKwor
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9zaGFyZWQvU2hhcmVkV29ya2VyR2xvYmFsU2NvcGUuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvc2hhcmVkL1NoYXJlZFdvcmtlckdsb2JhbFNjb3BlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uM2NlYTAwM2Ix
ODRmNDVhN2Q2M2JhMzI0ZjFmODdmZGZkMGU1M2VmOAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvc2hhcmVkL1NoYXJlZFdvcmtlckdsb2JhbFNjb3BlLmgKQEAgLTAs
MCArMSw0OCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6
CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
CisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSAiV29ya2Vy
R2xvYmFsU2NvcGUuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBTaGFyZWRXb3Jr
ZXJHbG9iYWxTY29wZSBmaW5hbCA6IHB1YmxpYyBXb3JrZXJHbG9iYWxTY29wZSB7CisgICAgV1RG
X01BS0VfSVNPX0FMTE9DQVRFRChTaGFyZWRXb3JrZXJHbG9iYWxTY29wZSk7CitwdWJsaWM6Cisg
ICAgYm9vbCBpc1NoYXJlZFdvcmtlckdsb2JhbFNjb3BlKCkgY29uc3QgZmluYWwgeyByZXR1cm4g
dHJ1ZTsgfQorICAgIGNvbnN0IFN0cmluZyYgbmFtZSgpIGNvbnN0OworICAgIHZvaWQgY2xvc2Uo
KTsKK3ByaXZhdGU6CisgICAgRXZlbnRUYXJnZXRJbnRlcmZhY2UgZXZlbnRUYXJnZXRJbnRlcmZh
Y2UoKSBjb25zdCBmaW5hbDsKKyAgICBGZXRjaE9wdGlvbnM6OkRlc3RpbmF0aW9uIGRlc3RpbmF0
aW9uKCkgY29uc3QgZmluYWw7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKK1NQRUNJ
QUxJWkVfVFlQRV9UUkFJVFNfQkVHSU4oV2ViQ29yZTo6U2hhcmVkV29ya2VyR2xvYmFsU2NvcGUp
CisgICAgc3RhdGljIGJvb2wgaXNUeXBlKGNvbnN0IFdlYkNvcmU6OlNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQmIGNvbnRleHQpIHsgcmV0dXJuIGlzPFdlYkNvcmU6Oldvcmtlckdsb2JhbFNjb3BlPihj
b250ZXh0KSAmJiBkb3duY2FzdDxXZWJDb3JlOjpXb3JrZXJHbG9iYWxTY29wZT4oY29udGV4dCku
aXNTaGFyZWRXb3JrZXJHbG9iYWxTY29wZSgpOyB9CisgICAgc3RhdGljIGJvb2wgaXNUeXBlKGNv
bnN0IFdlYkNvcmU6Oldvcmtlckdsb2JhbFNjb3BlJiBjb250ZXh0KSB7IHJldHVybiBjb250ZXh0
LmlzU2hhcmVkV29ya2VyR2xvYmFsU2NvcGUoKTsgfQorU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19F
TkQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zaGFyZWQvU2hhcmVkV29y
a2VyR2xvYmFsU2NvcGUuaWRsIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zaGFyZWQvU2hhcmVk
V29ya2VyR2xvYmFsU2NvcGUuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ3ODU1NjMxOWMxZjhhN2EwNDY0NTFh
YTg4NTk2NDVkYzNmZmMzM2EKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL3NoYXJlZC9TaGFyZWRXb3JrZXJHbG9iYWxTY29wZS5pZGwKQEAgLTAsMCArMSwzOCBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMu
IEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKK1sKKyAgICBFbmFibGVkQnlTZXR0aW5nPVNoYXJlZFdvcmtlckVuYWJsZWQs
CisgICAgR2xvYmFsPShXb3JrZXIsU2hhcmVkV29ya2VyKSwKKyAgICBFeHBvc2VkPVNoYXJlZFdv
cmtlciwKKyAgICBKU0dlbmVyYXRlVG9OYXRpdmVPYmplY3QsCitdCitpbnRlcmZhY2UgU2hhcmVk
V29ya2VyR2xvYmFsU2NvcGUgOiBXb3JrZXJHbG9iYWxTY29wZSB7CisgIFtSZXBsYWNlYWJsZV0g
cmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyBuYW1lOworCisgIHVuZGVmaW5lZCBjbG9zZSgp
OworCisgIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgb25jb25uZWN0OworfTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>445752</attachid>
            <date>2021-12-02 11:22:26 -0800</date>
            <delta_ts>2021-12-02 13:11:12 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-233769-20211202112225.patch</filename>
            <type>text/plain</type>
            <size>35812</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg2NDM0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTMwNmFkNGYyNGY1YmZl
MTRlNmU2M2Y5OTVjMWNkNmUyNzRkYzdjMi4uNDM3ZTNlYWFmYzgyOTVlMGQ1OTA2OTFiMzE0ZTg0
NmI2NDFjMmNlOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDIxLTEyLTAyICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgTW92ZSBTaGFyZWQgV29ya2Vy
IGNsYXNzZXMgdG8gV2ViQ29yZS93b3JrZXJzL3NoYXJlZAorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMzNzY5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
QWxleCBDaHJpc3RlbnNlbi4KKworICAgICAgICBNb3ZlIFNoYXJlZCBXb3JrZXIgY2xhc3NlcyB0
byBXZWJDb3JlL3dvcmtlcnMvc2hhcmVkLCBmb3IgYmV0dGVyIHN0cnVjdHVyaW5nIGFuZCBjb25z
aXN0ZW5jeQorICAgICAgICB3aXRoIFdlYkNvcmUvd29ya2Vycy9zZXJ2aWNlLgorCisgICAgICAg
ICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAg
ICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogd29ya2Vy
cy9zaGFyZWQvU2hhcmVkV29ya2VyLmNwcDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvU2hhcmVkV29ya2VyLmNwcC4KKyAgICAgICAgKiB3b3JrZXJzL3NoYXJlZC9TaGFyZWRX
b3JrZXIuaDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJDb3JlL3dvcmtlcnMvU2hhcmVkV29ya2Vy
LmguCisgICAgICAgICogd29ya2Vycy9zaGFyZWQvU2hhcmVkV29ya2VyLmlkbDogUmVuYW1lZCBm
cm9tIFNvdXJjZS9XZWJDb3JlL3dvcmtlcnMvU2hhcmVkV29ya2VyLmlkbC4KKyAgICAgICAgKiB3
b3JrZXJzL3NoYXJlZC9TaGFyZWRXb3JrZXJHbG9iYWxTY29wZS5jcHA6IFJlbmFtZWQgZnJvbSBT
b3VyY2UvV2ViQ29yZS93b3JrZXJzL1NoYXJlZFdvcmtlckdsb2JhbFNjb3BlLmNwcC4KKyAgICAg
ICAgKiB3b3JrZXJzL3NoYXJlZC9TaGFyZWRXb3JrZXJHbG9iYWxTY29wZS5oOiBSZW5hbWVkIGZy
b20gU291cmNlL1dlYkNvcmUvd29ya2Vycy9TaGFyZWRXb3JrZXJHbG9iYWxTY29wZS5oLgorICAg
ICAgICAqIHdvcmtlcnMvc2hhcmVkL1NoYXJlZFdvcmtlckdsb2JhbFNjb3BlLmlkbDogUmVuYW1l
ZCBmcm9tIFNvdXJjZS9XZWJDb3JlL3dvcmtlcnMvU2hhcmVkV29ya2VyR2xvYmFsU2NvcGUuaWRs
LgorCiAyMDIxLTEyLTAyICBBbnR0aSBLb2l2aXN0byAgPGFudHRpQGFwcGxlLmNvbT4KIAogICAg
ICAgICBbOmhhcygpIHBzZXVkby1jbGFzc10gSW52YWxpZGF0aW9uIGluIG5vbi1zdWJqZWN0IHBv
c2l0aW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJj
ZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IDdmYjVjMDRlYzY1OTUxNTA5MjdlOTQ2ZjMw
ODZmMDU5OWNiN2ZkMGYuLmZmMTdjODkzM2Q2NzRkN2VhNzUyZjAxNjYyZTEzMDYxZWQxYmQ4ZDYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9X
ZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC0xMjEyLDggKzEyMTIsNiBAQCBzZXQoV2ViQ29yZV9O
T05fU1ZHX0lETF9GSUxFUwogCiAgICAgd29ya2Vycy9BYnN0cmFjdFdvcmtlci5pZGwKICAgICB3
b3JrZXJzL0RlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlLmlkbAotICAgIHdvcmtlcnMvU2hhcmVk
V29ya2VyLmlkbAotICAgIHdvcmtlcnMvU2hhcmVkV29ya2VyR2xvYmFsU2NvcGUuaWRsCiAgICAg
d29ya2Vycy9Xb3JrZXIuaWRsCiAgICAgd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5pZGwKICAg
ICB3b3JrZXJzL1dvcmtlckxvY2F0aW9uLmlkbApAQCAtMTIzNiw2ICsxMjM0LDkgQEAgc2V0KFdl
YkNvcmVfTk9OX1NWR19JRExfRklMRVMKICAgICB3b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtl
clVwZGF0ZVZpYUNhY2hlLmlkbAogICAgIHdvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyV2lu
ZG93Q2xpZW50LmlkbAogCisgICAgd29ya2Vycy9zaGFyZWQvU2hhcmVkV29ya2VyLmlkbAorICAg
IHdvcmtlcnMvc2hhcmVkL1NoYXJlZFdvcmtlckdsb2JhbFNjb3BlLmlkbAorCiAgICAgd29ya2xl
dHMvUGFpbnRXb3JrbGV0R2xvYmFsU2NvcGUuaWRsCiAgICAgd29ya2xldHMvV29ya2xldC5pZGwK
ICAgICB3b3JrbGV0cy9Xb3JrbGV0R2xvYmFsU2NvcGUuaWRsCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0IGIvU291cmNlL1dlYkNvcmUv
RGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdAppbmRleCBhODMyODk3ZGIwNjdmNmIyYTQx
Yzg5NjcwOGNjZmQyMTI4MWVkNjZhLi4zNzJkMWE0ODQxZGYxYmE4YTYzYTJiZTc3NGUyMzdhMTk4
MWRiMzNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1pbnB1dC54
Y2ZpbGVsaXN0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmls
ZWxpc3QKQEAgLTE2MzgsNiArMTYzOCw4IEBAICQoUFJPSkVDVF9ESVIpL3dvcmtlcnMvc2Vydmlj
ZS9TZXJ2aWNlV29ya2VyR2xvYmFsU2NvcGUuaWRsCiAkKFBST0pFQ1RfRElSKS93b3JrZXJzL3Nl
cnZpY2UvU2VydmljZVdvcmtlclJlZ2lzdHJhdGlvbi5pZGwKICQoUFJPSkVDVF9ESVIpL3dvcmtl
cnMvc2VydmljZS9TZXJ2aWNlV29ya2VyVXBkYXRlVmlhQ2FjaGUuaWRsCiAkKFBST0pFQ1RfRElS
KS93b3JrZXJzL3NlcnZpY2UvU2VydmljZVdvcmtlcldpbmRvd0NsaWVudC5pZGwKKyQoUFJPSkVD
VF9ESVIpL3dvcmtlcnMvc2hhcmVkL1NoYXJlZFdvcmtlci5pZGwKKyQoUFJPSkVDVF9ESVIpL3dv
cmtlcnMvc2hhcmVkL1NoYXJlZFdvcmtlckdsb2JhbFNjb3BlLmlkbAogJChQUk9KRUNUX0RJUikv
d29ya2xldHMvUGFpbnRXb3JrbGV0R2xvYmFsU2NvcGUuaWRsCiAkKFBST0pFQ1RfRElSKS93b3Jr
bGV0cy9Xb3JrbGV0LmlkbAogJChQUk9KRUNUX0RJUikvd29ya2xldHMvV29ya2xldEdsb2JhbFNj
b3BlLmlkbApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZSBi
L1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5kZXggMmU2N2QxYTRiMGI2Mzdl
MjdiZTNhZTQ5MzUwMjk1YWU5NzYzODJmZS4uYzQ3NGYwYmJlYmIzYzUyNDEyY2YzOWRmYjViZTk3
MTc1OTZlZTQzZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFr
ZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCkBAIC0xNDM1LDEyICsx
NDM1LDEwIEBAIEpTX0JJTkRJTkdfSURMUyA6PSBcCiAgICAgJChXZWJDb3JlKS90ZXN0aW5nL1hS
U2ltdWxhdGVVc2VyQWN0aXZhdGlvbkZ1bmN0aW9uLmlkbCBcCiAgICAgJChXZWJDb3JlKS93b3Jr
ZXJzL0Fic3RyYWN0V29ya2VyLmlkbCBcCiAgICAgJChXZWJDb3JlKS93b3JrZXJzL0RlZGljYXRl
ZFdvcmtlckdsb2JhbFNjb3BlLmlkbCBcCi0gICAgJChXZWJDb3JlKS93b3JrZXJzL1NoYXJlZFdv
cmtlci5pZGwgXAotICAgICQoV2ViQ29yZSkvd29ya2Vycy9TaGFyZWRXb3JrZXJHbG9iYWxTY29w
ZS5pZGwgXAogICAgICQoV2ViQ29yZSkvd29ya2Vycy9Xb3JrZXIuaWRsIFwKICAgICAkKFdlYkNv
cmUpL3dvcmtlcnMvV29ya2VyR2xvYmFsU2NvcGUuaWRsIFwKICAgICAkKFdlYkNvcmUpL3dvcmtl
cnMvV29ya2VyTG9jYXRpb24uaWRsIFwKLQkkKFdlYkNvcmUpL3dvcmtlcnMvV29ya2VyT3B0aW9u
cy5pZGwgXAorICAgICQoV2ViQ29yZSkvd29ya2Vycy9Xb3JrZXJPcHRpb25zLmlkbCBcCiAgICAg
JChXZWJDb3JlKS93b3JrZXJzL1dvcmtlclR5cGUuaWRsIFwKICAgICAkKFdlYkNvcmUpL3dvcmtl
cnMvc2VydmljZS9FeHRlbmRhYmxlRXZlbnQuaWRsIFwKICAgICAkKFdlYkNvcmUpL3dvcmtlcnMv
c2VydmljZS9FeHRlbmRhYmxlRXZlbnRJbml0LmlkbCBcCkBAIC0xNDU3LDYgKzE0NTUsOCBAQCBK
U19CSU5ESU5HX0lETFMgOj0gXAogICAgICQoV2ViQ29yZSkvd29ya2Vycy9zZXJ2aWNlL1NlcnZp
Y2VXb3JrZXJSZWdpc3RyYXRpb24uaWRsIFwKICAgICAkKFdlYkNvcmUpL3dvcmtlcnMvc2Vydmlj
ZS9TZXJ2aWNlV29ya2VyVXBkYXRlVmlhQ2FjaGUuaWRsIFwKICAgICAkKFdlYkNvcmUpL3dvcmtl
cnMvc2VydmljZS9TZXJ2aWNlV29ya2VyV2luZG93Q2xpZW50LmlkbCBcCisgICAgJChXZWJDb3Jl
KS93b3JrZXJzL3NoYXJlZC9TaGFyZWRXb3JrZXIuaWRsIFwKKyAgICAkKFdlYkNvcmUpL3dvcmtl
cnMvc2hhcmVkL1NoYXJlZFdvcmtlckdsb2JhbFNjb3BlLmlkbCBcCiAgICAgJChXZWJDb3JlKS93
b3JrbGV0cy9QYWludFdvcmtsZXRHbG9iYWxTY29wZS5pZGwgXAogICAgICQoV2ViQ29yZSkvd29y
a2xldHMvV29ya2xldC5pZGwgXAogICAgICQoV2ViQ29yZSkvd29ya2xldHMvV29ya2xldEdsb2Jh
bFNjb3BlLmlkbCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dCBiL1Nv
dXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CmluZGV4IGZlNDk1ZTFmZjJjNWRmNDM5ODJjMjVlYjdm
NmU1YjY0MWY4ZTEyNmMuLjNmNWZiY2M4NzI2ZjM1NjU1ZWI4N2M1OTg2ZDY5ZWRjMmRjNWNiNDYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CisrKyBiL1NvdXJjZS9XZWJD
b3JlL1NvdXJjZXMudHh0CkBAIC0yNzIyLDggKzI3MjIsNiBAQCB3b3JrZXJzL0Fic3RyYWN0V29y
a2VyLmNwcAogd29ya2Vycy9EZWRpY2F0ZWRXb3JrZXJHbG9iYWxTY29wZS5jcHAKIHdvcmtlcnMv
RGVkaWNhdGVkV29ya2VyVGhyZWFkLmNwcAogd29ya2Vycy9TY3JpcHRCdWZmZXIuY3BwCi13b3Jr
ZXJzL1NoYXJlZFdvcmtlci5jcHAKLXdvcmtlcnMvU2hhcmVkV29ya2VyR2xvYmFsU2NvcGUuY3Bw
CiB3b3JrZXJzL1dvcmtlci5jcHAKIHdvcmtlcnMvV29ya2VyQW5pbWF0aW9uQ29udHJvbGxlci5j
cHAKIHdvcmtlcnMvV29ya2VyQ29uc29sZUNsaWVudC5jcHAKQEAgLTI3NzYsNiArMjc3NCw4IEBA
IHdvcmtlcnMvc2VydmljZS9zZXJ2ZXIvU1dTZXJ2ZXJKb2JRdWV1ZS5jcHAKIHdvcmtlcnMvc2Vy
dmljZS9zZXJ2ZXIvU1dTZXJ2ZXJSZWdpc3RyYXRpb24uY3BwCiB3b3JrZXJzL3NlcnZpY2Uvc2Vy
dmVyL1NXU2VydmVyVG9Db250ZXh0Q29ubmVjdGlvbi5jcHAKIHdvcmtlcnMvc2VydmljZS9zZXJ2
ZXIvU1dTZXJ2ZXJXb3JrZXIuY3BwCit3b3JrZXJzL3NoYXJlZC9TaGFyZWRXb3JrZXIuY3BwCit3
b3JrZXJzL3NoYXJlZC9TaGFyZWRXb3JrZXJHbG9iYWxTY29wZS5jcHAKIHdvcmtsZXRzL1BhaW50
V29ya2xldEdsb2JhbFNjb3BlLmNwcAogd29ya2xldHMvV29ya2xldC5jcHAKIHdvcmtsZXRzL1dv
cmtsZXRHbG9iYWxTY29wZS5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBjOGMxZTM3ZmQ0NDViYWRiNTRlNGNlYzM4NjQ3YWE2
OTI4OGU0ZWFlLi42Y2EwNzI1ZTJkM2FjNzIzMDY0MmRmNmU1ODRjOGViNWMzNmFiOGRiIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oK
KysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBA
IC05MTIyLDYgKzkxMjIsMTIgQEAKIAkJNDY1RUREOUYyMjJGNEVDMzAwQjQ2RTE2IC8qIERldmlj
ZU9yaWVudGF0aW9uT3JNb3Rpb25QZXJtaXNzaW9uU3RhdGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gRGV2aWNlT3JpZW50YXRpb25Pck1vdGlvblBlcm1pc3Npb25TdGF0ZS5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0NjVFRERBMDIyMkY0RUM0MDBCNDZFMTYg
LyogRGV2aWNlT3JpZW50YXRpb25Pck1vdGlvblBlcm1pc3Npb25TdGF0ZS5pZGwgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSB0ZXh0OyBwYXRoID0gRGV2aWNlT3JpZW50YXRpb25Pck1vdGlvblBlcm1pc3Npb25TdGF0ZS5p
ZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ2NjUzNkZBMjY0QzhERDEwMEFBRDFE
NyAvKiBKU0F1ZGlvTm9kZUN1c3RvbS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0F1ZGlvTm9k
ZUN1c3RvbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQ2Njk0Q0UwMjc1OTQ0
OEMwMEUzMTUwRSAvKiBTaGFyZWRXb3JrZXJHbG9iYWxTY29wZS5pZGwgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gU2hhcmVkV29y
a2VyR2xvYmFsU2NvcGUuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0NjY5NENF
MTI3NTk0NDhDMDBFMzE1MEUgLyogU2hhcmVkV29ya2VyR2xvYmFsU2NvcGUuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gU2hhcmVkV29ya2VyR2xvYmFsU2NvcGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJNDY2OTRDRTIyNzU5NDQ4RDAwRTMxNTBFIC8qIFNoYXJlZFdvcmtlci5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBTaGFyZWRXb3JrZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDY2
OTRDRTMyNzU5NDQ4RDAwRTMxNTBFIC8qIFNoYXJlZFdvcmtlci5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBTaGFyZWRXb3JrZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0NjY5
NENFNDI3NTk0NDhFMDBFMzE1MEUgLyogU2hhcmVkV29ya2VyR2xvYmFsU2NvcGUuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gU2hhcmVkV29ya2VyR2xvYmFsU2NvcGUuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQk0NjY5NENFNTI3NTk0NDhFMDBFMzE1MEUgLyogU2hhcmVkV29ya2Vy
LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRl
eHQ7IHBhdGggPSBTaGFyZWRXb3JrZXIuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQk0NjZDMkRBQjI2QzczQUZCMDA2NTE5MzEgLyogUG9saWN5Q29udGFpbmVyLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBvbGljeUNvbnRhaW5lci5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk0NjZEQzZBQjFFREUwMjFEMDA3NDYyMjQgLyogSlNET01SZWN0TGlz
dC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU0RPTVJlY3RMaXN0
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDY2RUQ4RDIxRURFMDEzNTAwNUU0
M0Y2IC8qIEpTRE9NUmVjdExpc3QuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
SlNET01SZWN0TGlzdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMjA1NjgsNiAr
MjA1NzQsNyBAQAogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKIAkJCQk1MUYx
NzU0NDFGM0VCQkYyMDBDNzQ5NTAgLyogc2VydmljZSAqLywKKwkJCQk0NjY5NENERTI3NTk0NDZE
MDBFMzE1MEUgLyogc2hhcmVkICovLAogCQkJCTQxRTFCMUNBMEZGNTk4NjkwMDU3NkIzQiAvKiBB
YnN0cmFjdFdvcmtlci5jcHAgKi8sCiAJCQkJNDFFMUIxQ0IwRkY1OTg2OTAwNTc2QjNCIC8qIEFi
c3RyYWN0V29ya2VyLmggKi8sCiAJCQkJNDFFMUIxQ0MwRkY1OTg2OTAwNTc2QjNCIC8qIEFic3Ry
YWN0V29ya2VyLmlkbCAqLywKQEAgLTIxMzE2LDYgKzIxMzIzLDE5IEBACiAJCQlwYXRoID0gIndl
Yi1sb2NrcyI7CiAJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwogCQl9OworCQk0NjY5NENERTI3
NTk0NDZEMDBFMzE1MEUgLyogc2hhcmVkICovID0geworCQkJaXNhID0gUEJYR3JvdXA7CisJCQlj
aGlsZHJlbiA9ICgKKwkJCQk0NjY5NENFMzI3NTk0NDhEMDBFMzE1MEUgLyogU2hhcmVkV29ya2Vy
LmNwcCAqLywKKwkJCQk0NjY5NENFMjI3NTk0NDhEMDBFMzE1MEUgLyogU2hhcmVkV29ya2VyLmgg
Ki8sCisJCQkJNDY2OTRDRTUyNzU5NDQ4RTAwRTMxNTBFIC8qIFNoYXJlZFdvcmtlci5pZGwgKi8s
CisJCQkJNDY2OTRDRTQyNzU5NDQ4RTAwRTMxNTBFIC8qIFNoYXJlZFdvcmtlckdsb2JhbFNjb3Bl
LmNwcCAqLywKKwkJCQk0NjY5NENFMTI3NTk0NDhDMDBFMzE1MEUgLyogU2hhcmVkV29ya2VyR2xv
YmFsU2NvcGUuaCAqLywKKwkJCQk0NjY5NENFMDI3NTk0NDhDMDBFMzE1MEUgLyogU2hhcmVkV29y
a2VyR2xvYmFsU2NvcGUuaWRsICovLAorCQkJKTsKKwkJCXBhdGggPSBzaGFyZWQ7CisJCQlzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOworCQl9OwogCQk0OTQ4NEZBRTEwMkNGMDFFMDAxODdERDMgLyog
Y2FudmFzICovID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvU2hhcmVkV29ya2VyLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvU2hhcmVkV29ya2VyLmNwcApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggNTE1MWEwYzIyMTM4Y2VjMDcxZmViYzY4ODIzYTJhYjIwZDI5N2ZiYi4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS93b3Jr
ZXJzL1NoYXJlZFdvcmtlci5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSw1NiArMCwwIEBACi0vKgot
ICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAq
Ci0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0g
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5E
IElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
Ci0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUgIlNoYXJlZFdvcmtlci5oIgot
Ci0jaW5jbHVkZSA8d3RmL0lzb01hbGxvY0lubGluZXMuaD4KLQotbmFtZXNwYWNlIFdlYkNvcmUg
ewotCi1XVEZfTUFLRV9JU09fQUxMT0NBVEVEX0lNUEwoU2hhcmVkV29ya2VyKTsKLQotU2hhcmVk
V29ya2VyOjpTaGFyZWRXb3JrZXIoU3RyaW5nJiYsIHN0ZDo6b3B0aW9uYWw8c3RkOjp2YXJpYW50
PFN0cmluZywgV29ya2VyT3B0aW9ucz4+JiYpCi17Ci19Ci0KLU1lc3NhZ2VQb3J0KiBTaGFyZWRX
b3JrZXI6OnBvcnQoKSBjb25zdAotewotICAgIC8vIEZJWE1FOiBpbXBsZW1lbnQuCi0gICAgcmV0
dXJuIG51bGxwdHI7Ci19Ci0KLVNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIFNoYXJlZFdvcmtlcjo6
c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpIGNvbnN0Ci17Ci0gICAgLy8gRklYTUU6IGltcGxlbWVu
dC4KLSAgICByZXR1cm4gbnVsbHB0cjsKLX0KLQotRXZlbnRUYXJnZXRJbnRlcmZhY2UgU2hhcmVk
V29ya2VyOjpldmVudFRhcmdldEludGVyZmFjZSgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIFNoYXJl
ZFdvcmtlckV2ZW50VGFyZ2V0SW50ZXJmYWNlVHlwZTsKLX0KLQotfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9TaGFyZWRXb3JrZXIuaCBi
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvU2hhcmVkV29ya2VyLmgKZGVsZXRlZCBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDA5MDcxZjdjYmY4NDViZjExNjFmZmUxZWFlNTdiY2M1YTJiMTk2N2IuLjAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNv
cmUvd29ya2Vycy9TaGFyZWRXb3JrZXIuaAorKysgL2Rldi9udWxsCkBAIC0xLDQ4ICswLDAgQEAK
LS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5D
LiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0gKiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRgotICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgotICogQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KLSAqLwotCi0jcHJhZ21hIG9uY2UKLQotI2luY2x1ZGUgIkFic3RyYWN0V29ya2VyLmgi
Ci0jaW5jbHVkZSAiV29ya2VyT3B0aW9ucy5oIgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLWNs
YXNzIE1lc3NhZ2VQb3J0OwotCi1jbGFzcyBTaGFyZWRXb3JrZXIgZmluYWwgOiBwdWJsaWMgQWJz
dHJhY3RXb3JrZXIgewotICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoU2hhcmVkV29ya2VyKTsK
LXB1YmxpYzoKLSAgICBzdGF0aWMgUmVmPFNoYXJlZFdvcmtlcj4gY3JlYXRlKFN0cmluZyYmIHNj
cmlwdFVSTCwgc3RkOjpvcHRpb25hbDxzdGQ6OnZhcmlhbnQ8U3RyaW5nLCBXb3JrZXJPcHRpb25z
Pj4mJiBvcHRpb25zKSB7IHJldHVybiBhZG9wdFJlZigqbmV3IFNoYXJlZFdvcmtlcihXVEZNb3Zl
KHNjcmlwdFVSTCksIFdURk1vdmUob3B0aW9ucykpKTsgfQotCi0gICAgTWVzc2FnZVBvcnQqIHBv
cnQoKSBjb25zdDsKLXByaXZhdGU6Ci0gICAgU2hhcmVkV29ya2VyKFN0cmluZyYmLCBzdGQ6Om9w
dGlvbmFsPHN0ZDo6dmFyaWFudDxTdHJpbmcsIFdvcmtlck9wdGlvbnM+PiYmKTsKLQotICAgIEV2
ZW50VGFyZ2V0SW50ZXJmYWNlIGV2ZW50VGFyZ2V0SW50ZXJmYWNlKCkgY29uc3QgZmluYWw7Ci0g
ICAgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpIGNvbnN0
IGZpbmFsOwotfTsKLQotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvd29ya2Vycy9TaGFyZWRXb3JrZXIuaWRsIGIvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9TaGFyZWRXb3JrZXIuaWRsCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwODNjODNm
N2JiY2NkZjMyNzBkNDEyNGQzZGY2ZTIwNzRhMWYyOTM0Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvU2hhcmVkV29y
a2VyLmlkbAorKysgL2Rldi9udWxsCkBAIC0xLDM0ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQg
KEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJV
VE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMg
Q09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0gKiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgotICogU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgotICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotWwotICAg
IEVuYWJsZWRCeVNldHRpbmc9U2hhcmVkV29ya2VyRW5hYmxlZCwKLSAgICBFeHBvc2VkPVdpbmRv
dwotXQotaW50ZXJmYWNlIFNoYXJlZFdvcmtlciA6IEV2ZW50VGFyZ2V0IHsKLSAgY29uc3RydWN0
b3IoVVNWU3RyaW5nIHNjcmlwdFVSTCwgb3B0aW9uYWwgKERPTVN0cmluZyBvciBXb3JrZXJPcHRp
b25zKSBvcHRpb25zKTsKLQotICByZWFkb25seSBhdHRyaWJ1dGUgTWVzc2FnZVBvcnQgcG9ydDsK
LX07Ci1TaGFyZWRXb3JrZXIgaW5jbHVkZXMgQWJzdHJhY3RXb3JrZXI7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS93b3JrZXJzL1NoYXJlZFdvcmtlckdsb2JhbFNjb3BlLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvU2hhcmVkV29ya2VyR2xvYmFsU2NvcGUuY3BwCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCA1ZWEyOTk4ZTlhYjhlMjA1Y2FkNGVmYmM0NDJhNWFmMTkxYjM3
MjE0Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvU2hhcmVkV29ya2VyR2xvYmFsU2NvcGUuY3BwCisrKyAvZGV2L251
bGwKQEAgLTEsNDYgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAq
IGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICog
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLSNp
bmNsdWRlICJTaGFyZWRXb3JrZXJHbG9iYWxTY29wZS5oIgotCi0jaW5jbHVkZSA8d3RmL0lzb01h
bGxvY0lubGluZXMuaD4KLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1XVEZfTUFLRV9JU09fQUxM
T0NBVEVEX0lNUEwoU2hhcmVkV29ya2VyR2xvYmFsU2NvcGUpOwotCi1jb25zdCBTdHJpbmcmIFNo
YXJlZFdvcmtlckdsb2JhbFNjb3BlOjpuYW1lKCkgY29uc3QKLXsKLSAgICAvLyBGSVhNRTogSW1w
bGVtZW50LgotICAgIHJldHVybiBlbXB0eVN0cmluZygpOwotfQotCi12b2lkIFNoYXJlZFdvcmtl
ckdsb2JhbFNjb3BlOjpjbG9zZSgpCi17Ci0gICAgLy8gRklYTUU6IEltcGxlbWVudC4KLX0KLQot
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9TaGFyZWRXb3JrZXJHbG9iYWxTY29wZS5oIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9TaGFy
ZWRXb3JrZXJHbG9iYWxTY29wZS5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAzY2Vh
MDAzYjE4NGY0NWE3ZDYzYmEzMjRmMWY4N2ZkZmQwZTUzZWY4Li4wMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvU2hhcmVk
V29ya2VyR2xvYmFsU2NvcGUuaAorKysgL2Rldi9udWxsCkBAIC0xLDQ4ICswLDAgQEAKLS8qCi0g
KiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoK
LSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQg
SVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
SU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0gKiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RgotICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgotICogQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
LSAqLwotCi0jcHJhZ21hIG9uY2UKLQotI2luY2x1ZGUgIldvcmtlckdsb2JhbFNjb3BlLmgiCi0K
LW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotY2xhc3MgU2hhcmVkV29ya2VyR2xvYmFsU2NvcGUgZmlu
YWwgOiBwdWJsaWMgV29ya2VyR2xvYmFsU2NvcGUgewotICAgIFdURl9NQUtFX0lTT19BTExPQ0FU
RUQoU2hhcmVkV29ya2VyR2xvYmFsU2NvcGUpOwotcHVibGljOgotICAgIGJvb2wgaXNTaGFyZWRX
b3JrZXJHbG9iYWxTY29wZSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIHRydWU7IH0KLSAgICBjb25z
dCBTdHJpbmcmIG5hbWUoKSBjb25zdDsKLSAgICB2b2lkIGNsb3NlKCk7Ci1wcml2YXRlOgotICAg
IEV2ZW50VGFyZ2V0SW50ZXJmYWNlIGV2ZW50VGFyZ2V0SW50ZXJmYWNlKCkgY29uc3QgZmluYWw7
Ci0gICAgRmV0Y2hPcHRpb25zOjpEZXN0aW5hdGlvbiBkZXN0aW5hdGlvbigpIGNvbnN0IGZpbmFs
OwotfTsKLQotfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQotCi1TUEVDSUFMSVpFX1RZUEVfVFJBSVRT
X0JFR0lOKFdlYkNvcmU6OlNoYXJlZFdvcmtlckdsb2JhbFNjb3BlKQotICAgIHN0YXRpYyBib29s
IGlzVHlwZShjb25zdCBXZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0KSB7
IHJldHVybiBpczxXZWJDb3JlOjpXb3JrZXJHbG9iYWxTY29wZT4oY29udGV4dCkgJiYgZG93bmNh
c3Q8V2ViQ29yZTo6V29ya2VyR2xvYmFsU2NvcGU+KGNvbnRleHQpLmlzU2hhcmVkV29ya2VyR2xv
YmFsU2NvcGUoKTsgfQotICAgIHN0YXRpYyBib29sIGlzVHlwZShjb25zdCBXZWJDb3JlOjpXb3Jr
ZXJHbG9iYWxTY29wZSYgY29udGV4dCkgeyByZXR1cm4gY29udGV4dC5pc1NoYXJlZFdvcmtlckds
b2JhbFNjb3BlKCk7IH0KLVNQRUNJQUxJWkVfVFlQRV9UUkFJVFNfRU5EKCkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvU2hhcmVkV29ya2VyR2xvYmFsU2NvcGUuaWRsIGIvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9TaGFyZWRXb3JrZXJHbG9iYWxTY29wZS5pZGwKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDQ3ODU1NjMxOWMxZjhhN2EwNDY0NTFhYTg4NTk2NDVkYzNm
ZmMzM2EuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291
cmNlL1dlYkNvcmUvd29ya2Vycy9TaGFyZWRXb3JrZXJHbG9iYWxTY29wZS5pZGwKKysrIC9kZXYv
bnVsbApAQCAtMSwzOCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwot
ICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0g
KiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICog
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotWwotICAgIEVuYWJsZWRCeVNldHRp
bmc9U2hhcmVkV29ya2VyRW5hYmxlZCwKLSAgICBHbG9iYWw9KFdvcmtlcixTaGFyZWRXb3JrZXIp
LAotICAgIEV4cG9zZWQ9U2hhcmVkV29ya2VyLAotICAgIEpTR2VuZXJhdGVUb05hdGl2ZU9iamVj
dCwKLV0KLWludGVyZmFjZSBTaGFyZWRXb3JrZXJHbG9iYWxTY29wZSA6IFdvcmtlckdsb2JhbFNj
b3BlIHsKLSAgW1JlcGxhY2VhYmxlXSByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIG5hbWU7
Ci0KLSAgdW5kZWZpbmVkIGNsb3NlKCk7Ci0KLSAgYXR0cmlidXRlIEV2ZW50SGFuZGxlciBvbmNv
bm5lY3Q7Ci19OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zaGFyZWQvU2hh
cmVkV29ya2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2hhcmVkL1NoYXJlZFdvcmtl
ci5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNTE1MWEwYzIyMTM4Y2VjMDcxZmViYzY4ODIzYTJhYjIwZDI5N2Zi
YgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2hhcmVkL1NoYXJl
ZFdvcmtlci5jcHAKQEAgLTAsMCArMSw1NiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMg
SVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRP
UlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MK
KyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgor
ICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25m
aWcuaCIKKyNpbmNsdWRlICJTaGFyZWRXb3JrZXIuaCIKKworI2luY2x1ZGUgPHd0Zi9Jc29NYWxs
b2NJbmxpbmVzLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworV1RGX01BS0VfSVNPX0FMTE9D
QVRFRF9JTVBMKFNoYXJlZFdvcmtlcik7CisKK1NoYXJlZFdvcmtlcjo6U2hhcmVkV29ya2VyKFN0
cmluZyYmLCBzdGQ6Om9wdGlvbmFsPHN0ZDo6dmFyaWFudDxTdHJpbmcsIFdvcmtlck9wdGlvbnM+
PiYmKQoreworfQorCitNZXNzYWdlUG9ydCogU2hhcmVkV29ya2VyOjpwb3J0KCkgY29uc3QKK3sK
KyAgICAvLyBGSVhNRTogaW1wbGVtZW50LgorICAgIHJldHVybiBudWxscHRyOworfQorCitTY3Jp
cHRFeGVjdXRpb25Db250ZXh0KiBTaGFyZWRXb3JrZXI6OnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQo
KSBjb25zdAoreworICAgIC8vIEZJWE1FOiBpbXBsZW1lbnQuCisgICAgcmV0dXJuIG51bGxwdHI7
Cit9CisKK0V2ZW50VGFyZ2V0SW50ZXJmYWNlIFNoYXJlZFdvcmtlcjo6ZXZlbnRUYXJnZXRJbnRl
cmZhY2UoKSBjb25zdAoreworICAgIHJldHVybiBTaGFyZWRXb3JrZXJFdmVudFRhcmdldEludGVy
ZmFjZVR5cGU7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3dvcmtlcnMvc2hhcmVkL1NoYXJlZFdvcmtlci5oIGIvU291cmNlL1dlYkNvcmUv
d29ya2Vycy9zaGFyZWQvU2hhcmVkV29ya2VyLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDkwNzFmN2NiZjg0NWJm
MTE2MWZmZTFlYWU1N2JjYzVhMmIxOTY3YgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvc2hhcmVkL1NoYXJlZFdvcmtlci5oCkBAIC0wLDAgKzEsNDggQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQg
SVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
SU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
KyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgIkFic3RyYWN0V29ya2VyLmgiCisjaW5j
bHVkZSAiV29ya2VyT3B0aW9ucy5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIE1l
c3NhZ2VQb3J0OworCitjbGFzcyBTaGFyZWRXb3JrZXIgZmluYWwgOiBwdWJsaWMgQWJzdHJhY3RX
b3JrZXIgeworICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoU2hhcmVkV29ya2VyKTsKK3B1Ymxp
YzoKKyAgICBzdGF0aWMgUmVmPFNoYXJlZFdvcmtlcj4gY3JlYXRlKFN0cmluZyYmIHNjcmlwdFVS
TCwgc3RkOjpvcHRpb25hbDxzdGQ6OnZhcmlhbnQ8U3RyaW5nLCBXb3JrZXJPcHRpb25zPj4mJiBv
cHRpb25zKSB7IHJldHVybiBhZG9wdFJlZigqbmV3IFNoYXJlZFdvcmtlcihXVEZNb3ZlKHNjcmlw
dFVSTCksIFdURk1vdmUob3B0aW9ucykpKTsgfQorCisgICAgTWVzc2FnZVBvcnQqIHBvcnQoKSBj
b25zdDsKK3ByaXZhdGU6CisgICAgU2hhcmVkV29ya2VyKFN0cmluZyYmLCBzdGQ6Om9wdGlvbmFs
PHN0ZDo6dmFyaWFudDxTdHJpbmcsIFdvcmtlck9wdGlvbnM+PiYmKTsKKworICAgIEV2ZW50VGFy
Z2V0SW50ZXJmYWNlIGV2ZW50VGFyZ2V0SW50ZXJmYWNlKCkgY29uc3QgZmluYWw7CisgICAgU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCogc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpIGNvbnN0IGZpbmFs
OworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvd29ya2Vycy9zaGFyZWQvU2hhcmVkV29ya2VyLmlkbCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvc2hhcmVkL1NoYXJlZFdvcmtlci5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDgzYzgzZjdiYmNjZGYzMjcw
ZDQxMjRkM2RmNmUyMDc0YTFmMjkzNAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3dvcmtlcnMvc2hhcmVkL1NoYXJlZFdvcmtlci5pZGwKQEAgLTAsMCArMSwzNCBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJ
VFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
CisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCitbCisgICAgRW5hYmxlZEJ5U2V0dGluZz1TaGFyZWRXb3JrZXJFbmFibGVkLAorICAgIEV4
cG9zZWQ9V2luZG93CitdCitpbnRlcmZhY2UgU2hhcmVkV29ya2VyIDogRXZlbnRUYXJnZXQgewor
ICBjb25zdHJ1Y3RvcihVU1ZTdHJpbmcgc2NyaXB0VVJMLCBvcHRpb25hbCAoRE9NU3RyaW5nIG9y
IFdvcmtlck9wdGlvbnMpIG9wdGlvbnMpOworCisgIHJlYWRvbmx5IGF0dHJpYnV0ZSBNZXNzYWdl
UG9ydCBwb3J0OworfTsKK1NoYXJlZFdvcmtlciBpbmNsdWRlcyBBYnN0cmFjdFdvcmtlcjsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2hhcmVkL1NoYXJlZFdvcmtlckdsb2Jh
bFNjb3BlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2hhcmVkL1NoYXJlZFdvcmtlckds
b2JhbFNjb3BlLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41ZWEyOTk4ZTlhYjhlMjA1Y2FkNGVmYmM0NDJhNWFm
MTkxYjM3MjE0Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zaGFy
ZWQvU2hhcmVkV29ya2VyR2xvYmFsU2NvcGUuY3BwCkBAIC0wLDAgKzEsNDYgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRT
IENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5D
LiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgor
ICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkK
KyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAq
LworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiU2hhcmVkV29ya2VyR2xvYmFsU2Nv
cGUuaCIKKworI2luY2x1ZGUgPHd0Zi9Jc29NYWxsb2NJbmxpbmVzLmg+CisKK25hbWVzcGFjZSBX
ZWJDb3JlIHsKKworV1RGX01BS0VfSVNPX0FMTE9DQVRFRF9JTVBMKFNoYXJlZFdvcmtlckdsb2Jh
bFNjb3BlKTsKKworY29uc3QgU3RyaW5nJiBTaGFyZWRXb3JrZXJHbG9iYWxTY29wZTo6bmFtZSgp
IGNvbnN0Cit7CisgICAgLy8gRklYTUU6IEltcGxlbWVudC4KKyAgICByZXR1cm4gZW1wdHlTdHJp
bmcoKTsKK30KKwordm9pZCBTaGFyZWRXb3JrZXJHbG9iYWxTY29wZTo6Y2xvc2UoKQoreworICAg
IC8vIEZJWE1FOiBJbXBsZW1lbnQuCit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2hhcmVkL1NoYXJlZFdvcmtlckdsb2JhbFNj
b3BlLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NoYXJlZC9TaGFyZWRXb3JrZXJHbG9iYWxT
Y29wZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjNjZWEwMDNiMTg0ZjQ1YTdkNjNiYTMyNGYxZjg3ZmRmZDBlNTNl
ZjgKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NoYXJlZC9TaGFy
ZWRXb3JrZXJHbG9iYWxTY29wZS5oCkBAIC0wLDAgKzEsNDggQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJV
VE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMg
Q09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJh
Z21hIG9uY2UKKworI2luY2x1ZGUgIldvcmtlckdsb2JhbFNjb3BlLmgiCisKK25hbWVzcGFjZSBX
ZWJDb3JlIHsKKworY2xhc3MgU2hhcmVkV29ya2VyR2xvYmFsU2NvcGUgZmluYWwgOiBwdWJsaWMg
V29ya2VyR2xvYmFsU2NvcGUgeworICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoU2hhcmVkV29y
a2VyR2xvYmFsU2NvcGUpOworcHVibGljOgorICAgIGJvb2wgaXNTaGFyZWRXb3JrZXJHbG9iYWxT
Y29wZSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIHRydWU7IH0KKyAgICBjb25zdCBTdHJpbmcmIG5h
bWUoKSBjb25zdDsKKyAgICB2b2lkIGNsb3NlKCk7Citwcml2YXRlOgorICAgIEV2ZW50VGFyZ2V0
SW50ZXJmYWNlIGV2ZW50VGFyZ2V0SW50ZXJmYWNlKCkgY29uc3QgZmluYWw7CisgICAgRmV0Y2hP
cHRpb25zOjpEZXN0aW5hdGlvbiBkZXN0aW5hdGlvbigpIGNvbnN0IGZpbmFsOworfTsKKworfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQorCitTUEVDSUFMSVpFX1RZUEVfVFJBSVRTX0JFR0lOKFdlYkNv
cmU6OlNoYXJlZFdvcmtlckdsb2JhbFNjb3BlKQorICAgIHN0YXRpYyBib29sIGlzVHlwZShjb25z
dCBXZWJDb3JlOjpTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0KSB7IHJldHVybiBpczxX
ZWJDb3JlOjpXb3JrZXJHbG9iYWxTY29wZT4oY29udGV4dCkgJiYgZG93bmNhc3Q8V2ViQ29yZTo6
V29ya2VyR2xvYmFsU2NvcGU+KGNvbnRleHQpLmlzU2hhcmVkV29ya2VyR2xvYmFsU2NvcGUoKTsg
fQorICAgIHN0YXRpYyBib29sIGlzVHlwZShjb25zdCBXZWJDb3JlOjpXb3JrZXJHbG9iYWxTY29w
ZSYgY29udGV4dCkgeyByZXR1cm4gY29udGV4dC5pc1NoYXJlZFdvcmtlckdsb2JhbFNjb3BlKCk7
IH0KK1NQRUNJQUxJWkVfVFlQRV9UUkFJVFNfRU5EKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3dvcmtlcnMvc2hhcmVkL1NoYXJlZFdvcmtlckdsb2JhbFNjb3BlLmlkbCBiL1NvdXJjZS9X
ZWJDb3JlL3dvcmtlcnMvc2hhcmVkL1NoYXJlZFdvcmtlckdsb2JhbFNjb3BlLmlkbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi40Nzg1NTYzMTljMWY4YTdhMDQ2NDUxYWE4ODU5NjQ1ZGMzZmZjMzNhCi0tLSAvZGV2L251
bGwKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zaGFyZWQvU2hhcmVkV29ya2VyR2xvYmFs
U2NvcGUuaWRsCkBAIC0wLDAgKzEsMzggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElT
JycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JT
CisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisg
KiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAq
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCitbCisgICAgRW5hYmxlZEJ5
U2V0dGluZz1TaGFyZWRXb3JrZXJFbmFibGVkLAorICAgIEdsb2JhbD0oV29ya2VyLFNoYXJlZFdv
cmtlciksCisgICAgRXhwb3NlZD1TaGFyZWRXb3JrZXIsCisgICAgSlNHZW5lcmF0ZVRvTmF0aXZl
T2JqZWN0LAorXQoraW50ZXJmYWNlIFNoYXJlZFdvcmtlckdsb2JhbFNjb3BlIDogV29ya2VyR2xv
YmFsU2NvcGUgeworICBbUmVwbGFjZWFibGVdIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcg
bmFtZTsKKworICB1bmRlZmluZWQgY2xvc2UoKTsKKworICBhdHRyaWJ1dGUgRXZlbnRIYW5kbGVy
IG9uY29ubmVjdDsKK307Cg==
</data>
<flag name="commit-queue"
          id="471011"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>445765</attachid>
            <date>2021-12-02 12:53:14 -0800</date>
            <delta_ts>2021-12-02 16:32:17 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-233769-20211202125313.patch</filename>
            <type>text/plain</type>
            <size>36153</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjg2NDQ1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTg0YjY4ZjQ2N2E5ZTdk
NjA1ZGM1NGNlOGZlYWY2Nzc4NWY3NzIyYi4uMGRiZmJlOGIyZjcxNDNlZjZjYzNlMTYzYTcyZTQx
MDE3YjBhNzdjMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDIxLTEyLTAyICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgTW92ZSBTaGFyZWQgV29ya2Vy
IGNsYXNzZXMgdG8gV2ViQ29yZS93b3JrZXJzL3NoYXJlZAorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjMzNzY5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
QWxleCBDaHJpc3RlbnNlbi4KKworICAgICAgICBNb3ZlIFNoYXJlZCBXb3JrZXIgY2xhc3NlcyB0
byBXZWJDb3JlL3dvcmtlcnMvc2hhcmVkLCBmb3IgYmV0dGVyIHN0cnVjdHVyaW5nIGFuZCBjb25z
aXN0ZW5jeQorICAgICAgICB3aXRoIFdlYkNvcmUvd29ya2Vycy9zZXJ2aWNlLgorCisgICAgICAg
ICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAg
ICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogd29ya2Vy
cy9zaGFyZWQvU2hhcmVkV29ya2VyLmNwcDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJDb3JlL3dv
cmtlcnMvU2hhcmVkV29ya2VyLmNwcC4KKyAgICAgICAgKiB3b3JrZXJzL3NoYXJlZC9TaGFyZWRX
b3JrZXIuaDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJDb3JlL3dvcmtlcnMvU2hhcmVkV29ya2Vy
LmguCisgICAgICAgICogd29ya2Vycy9zaGFyZWQvU2hhcmVkV29ya2VyLmlkbDogUmVuYW1lZCBm
cm9tIFNvdXJjZS9XZWJDb3JlL3dvcmtlcnMvU2hhcmVkV29ya2VyLmlkbC4KKyAgICAgICAgKiB3
b3JrZXJzL3NoYXJlZC9TaGFyZWRXb3JrZXJHbG9iYWxTY29wZS5jcHA6IFJlbmFtZWQgZnJvbSBT
b3VyY2UvV2ViQ29yZS93b3JrZXJzL1NoYXJlZFdvcmtlckdsb2JhbFNjb3BlLmNwcC4KKyAgICAg
ICAgKiB3b3JrZXJzL3NoYXJlZC9TaGFyZWRXb3JrZXJHbG9iYWxTY29wZS5oOiBSZW5hbWVkIGZy
b20gU291cmNlL1dlYkNvcmUvd29ya2Vycy9TaGFyZWRXb3JrZXJHbG9iYWxTY29wZS5oLgorICAg
ICAgICAqIHdvcmtlcnMvc2hhcmVkL1NoYXJlZFdvcmtlckdsb2JhbFNjb3BlLmlkbDogUmVuYW1l
ZCBmcm9tIFNvdXJjZS9XZWJDb3JlL3dvcmtlcnMvU2hhcmVkV29ya2VyR2xvYmFsU2NvcGUuaWRs
LgorCiAyMDIxLTEyLTAyICBBbGFuIEJ1anRhcyAgPHphbGFuQGFwcGxlLmNvbT4KIAogICAgICAg
ICBbTEZDXVtJRkNdIE1vdmUgaW5saW5lIGJveCBnZW9tZXRyeSAoQm94R2VvbWV0cnkpIHVwZGF0
ZSBsb2dpYyB0byBhIGRlZGljYXRlZCBmdW5jdGlvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCA3
ZmI1YzA0ZWM2NTk1MTUwOTI3ZTk0NmYzMDg2ZjA1OTljYjdmZDBmLi4yYTE5ZWRmNjlmYTAxYzEy
NTQxYWEyOGQ2ZDJjMDgwMzkxZDg2MGZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFr
ZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtMTc2LDYg
KzE3Niw3IEBAIHNldChXZWJDb3JlX1BSSVZBVEVfSU5DTFVERV9ESVJFQ1RPUklFUwogICAgICIk
e1dFQkNPUkVfRElSfS93b3JrZXJzL3NlcnZpY2UiCiAgICAgIiR7V0VCQ09SRV9ESVJ9L3dvcmtl
cnMvc2VydmljZS9jb250ZXh0IgogICAgICIke1dFQkNPUkVfRElSfS93b3JrZXJzL3NlcnZpY2Uv
c2VydmVyIgorICAgICIke1dFQkNPUkVfRElSfS93b3JrZXJzL3NoYXJlZCIKICAgICAiJHtXRUJD
T1JFX0RJUn0vd29ya2xldHMiCiAgICAgIiR7V0VCQ09SRV9ESVJ9L3htbCIKICAgICAiJHtXRUJD
T1JFX0RJUn0veG1sL3BhcnNlciIKQEAgLTEyMTIsOCArMTIxMyw2IEBAIHNldChXZWJDb3JlX05P
Tl9TVkdfSURMX0ZJTEVTCiAKICAgICB3b3JrZXJzL0Fic3RyYWN0V29ya2VyLmlkbAogICAgIHdv
cmtlcnMvRGVkaWNhdGVkV29ya2VyR2xvYmFsU2NvcGUuaWRsCi0gICAgd29ya2Vycy9TaGFyZWRX
b3JrZXIuaWRsCi0gICAgd29ya2Vycy9TaGFyZWRXb3JrZXJHbG9iYWxTY29wZS5pZGwKICAgICB3
b3JrZXJzL1dvcmtlci5pZGwKICAgICB3b3JrZXJzL1dvcmtlckdsb2JhbFNjb3BlLmlkbAogICAg
IHdvcmtlcnMvV29ya2VyTG9jYXRpb24uaWRsCkBAIC0xMjM2LDYgKzEyMzUsOSBAQCBzZXQoV2Vi
Q29yZV9OT05fU1ZHX0lETF9GSUxFUwogICAgIHdvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2Vy
VXBkYXRlVmlhQ2FjaGUuaWRsCiAgICAgd29ya2Vycy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJXaW5k
b3dDbGllbnQuaWRsCiAKKyAgICB3b3JrZXJzL3NoYXJlZC9TaGFyZWRXb3JrZXIuaWRsCisgICAg
d29ya2Vycy9zaGFyZWQvU2hhcmVkV29ya2VyR2xvYmFsU2NvcGUuaWRsCisKICAgICB3b3JrbGV0
cy9QYWludFdvcmtsZXRHbG9iYWxTY29wZS5pZGwKICAgICB3b3JrbGV0cy9Xb3JrbGV0LmlkbAog
ICAgIHdvcmtsZXRzL1dvcmtsZXRHbG9iYWxTY29wZS5pZGwKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QgYi9Tb3VyY2UvV2ViQ29yZS9E
ZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CmluZGV4IGE4MzI4OTdkYjA2N2Y2YjJhNDFj
ODk2NzA4Y2NmZDIxMjgxZWQ2NmEuLjM3MmQxYTQ4NDFkZjFiYThhNjNhMmJlNzc0ZTIzN2ExOTgx
ZGIzM2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0Lnhj
ZmlsZWxpc3QKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxl
bGlzdApAQCAtMTYzOCw2ICsxNjM4LDggQEAgJChQUk9KRUNUX0RJUikvd29ya2Vycy9zZXJ2aWNl
L1NlcnZpY2VXb3JrZXJHbG9iYWxTY29wZS5pZGwKICQoUFJPSkVDVF9ESVIpL3dvcmtlcnMvc2Vy
dmljZS9TZXJ2aWNlV29ya2VyUmVnaXN0cmF0aW9uLmlkbAogJChQUk9KRUNUX0RJUikvd29ya2Vy
cy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJVcGRhdGVWaWFDYWNoZS5pZGwKICQoUFJPSkVDVF9ESVIp
L3dvcmtlcnMvc2VydmljZS9TZXJ2aWNlV29ya2VyV2luZG93Q2xpZW50LmlkbAorJChQUk9KRUNU
X0RJUikvd29ya2Vycy9zaGFyZWQvU2hhcmVkV29ya2VyLmlkbAorJChQUk9KRUNUX0RJUikvd29y
a2Vycy9zaGFyZWQvU2hhcmVkV29ya2VyR2xvYmFsU2NvcGUuaWRsCiAkKFBST0pFQ1RfRElSKS93
b3JrbGV0cy9QYWludFdvcmtsZXRHbG9iYWxTY29wZS5pZGwKICQoUFJPSkVDVF9ESVIpL3dvcmts
ZXRzL1dvcmtsZXQuaWRsCiAkKFBST0pFQ1RfRElSKS93b3JrbGV0cy9Xb3JrbGV0R2xvYmFsU2Nv
cGUuaWRsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlIGIv
U291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQppbmRleCAyZTY3ZDFhNGIwYjYzN2Uy
N2JlM2FlNDkzNTAyOTVhZTk3NjM4MmZlLi5jNDc0ZjBiYmViYjNjNTI0MTJjZjM5ZGZiNWJlOTcx
NzU5NmVlNDNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtl
CisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKQEAgLTE0MzUsMTIgKzE0
MzUsMTAgQEAgSlNfQklORElOR19JRExTIDo9IFwKICAgICAkKFdlYkNvcmUpL3Rlc3RpbmcvWFJT
aW11bGF0ZVVzZXJBY3RpdmF0aW9uRnVuY3Rpb24uaWRsIFwKICAgICAkKFdlYkNvcmUpL3dvcmtl
cnMvQWJzdHJhY3RXb3JrZXIuaWRsIFwKICAgICAkKFdlYkNvcmUpL3dvcmtlcnMvRGVkaWNhdGVk
V29ya2VyR2xvYmFsU2NvcGUuaWRsIFwKLSAgICAkKFdlYkNvcmUpL3dvcmtlcnMvU2hhcmVkV29y
a2VyLmlkbCBcCi0gICAgJChXZWJDb3JlKS93b3JrZXJzL1NoYXJlZFdvcmtlckdsb2JhbFNjb3Bl
LmlkbCBcCiAgICAgJChXZWJDb3JlKS93b3JrZXJzL1dvcmtlci5pZGwgXAogICAgICQoV2ViQ29y
ZSkvd29ya2Vycy9Xb3JrZXJHbG9iYWxTY29wZS5pZGwgXAogICAgICQoV2ViQ29yZSkvd29ya2Vy
cy9Xb3JrZXJMb2NhdGlvbi5pZGwgXAotCSQoV2ViQ29yZSkvd29ya2Vycy9Xb3JrZXJPcHRpb25z
LmlkbCBcCisgICAgJChXZWJDb3JlKS93b3JrZXJzL1dvcmtlck9wdGlvbnMuaWRsIFwKICAgICAk
KFdlYkNvcmUpL3dvcmtlcnMvV29ya2VyVHlwZS5pZGwgXAogICAgICQoV2ViQ29yZSkvd29ya2Vy
cy9zZXJ2aWNlL0V4dGVuZGFibGVFdmVudC5pZGwgXAogICAgICQoV2ViQ29yZSkvd29ya2Vycy9z
ZXJ2aWNlL0V4dGVuZGFibGVFdmVudEluaXQuaWRsIFwKQEAgLTE0NTcsNiArMTQ1NSw4IEBAIEpT
X0JJTkRJTkdfSURMUyA6PSBcCiAgICAgJChXZWJDb3JlKS93b3JrZXJzL3NlcnZpY2UvU2Vydmlj
ZVdvcmtlclJlZ2lzdHJhdGlvbi5pZGwgXAogICAgICQoV2ViQ29yZSkvd29ya2Vycy9zZXJ2aWNl
L1NlcnZpY2VXb3JrZXJVcGRhdGVWaWFDYWNoZS5pZGwgXAogICAgICQoV2ViQ29yZSkvd29ya2Vy
cy9zZXJ2aWNlL1NlcnZpY2VXb3JrZXJXaW5kb3dDbGllbnQuaWRsIFwKKyAgICAkKFdlYkNvcmUp
L3dvcmtlcnMvc2hhcmVkL1NoYXJlZFdvcmtlci5pZGwgXAorICAgICQoV2ViQ29yZSkvd29ya2Vy
cy9zaGFyZWQvU2hhcmVkV29ya2VyR2xvYmFsU2NvcGUuaWRsIFwKICAgICAkKFdlYkNvcmUpL3dv
cmtsZXRzL1BhaW50V29ya2xldEdsb2JhbFNjb3BlLmlkbCBcCiAgICAgJChXZWJDb3JlKS93b3Jr
bGV0cy9Xb3JrbGV0LmlkbCBcCiAgICAgJChXZWJDb3JlKS93b3JrbGV0cy9Xb3JrbGV0R2xvYmFs
U2NvcGUuaWRsIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0IGIvU291
cmNlL1dlYkNvcmUvU291cmNlcy50eHQKaW5kZXggZmU0OTVlMWZmMmM1ZGY0Mzk4MmMyNWViN2Y2
ZTViNjQxZjhlMTI2Yy4uM2Y1ZmJjYzg3MjZmMzU2NTVlYjg3YzU5ODZkNjllZGMyZGM1Y2I0NiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKKysrIGIvU291cmNlL1dlYkNv
cmUvU291cmNlcy50eHQKQEAgLTI3MjIsOCArMjcyMiw2IEBAIHdvcmtlcnMvQWJzdHJhY3RXb3Jr
ZXIuY3BwCiB3b3JrZXJzL0RlZGljYXRlZFdvcmtlckdsb2JhbFNjb3BlLmNwcAogd29ya2Vycy9E
ZWRpY2F0ZWRXb3JrZXJUaHJlYWQuY3BwCiB3b3JrZXJzL1NjcmlwdEJ1ZmZlci5jcHAKLXdvcmtl
cnMvU2hhcmVkV29ya2VyLmNwcAotd29ya2Vycy9TaGFyZWRXb3JrZXJHbG9iYWxTY29wZS5jcHAK
IHdvcmtlcnMvV29ya2VyLmNwcAogd29ya2Vycy9Xb3JrZXJBbmltYXRpb25Db250cm9sbGVyLmNw
cAogd29ya2Vycy9Xb3JrZXJDb25zb2xlQ2xpZW50LmNwcApAQCAtMjc3Niw2ICsyNzc0LDggQEAg
d29ya2Vycy9zZXJ2aWNlL3NlcnZlci9TV1NlcnZlckpvYlF1ZXVlLmNwcAogd29ya2Vycy9zZXJ2
aWNlL3NlcnZlci9TV1NlcnZlclJlZ2lzdHJhdGlvbi5jcHAKIHdvcmtlcnMvc2VydmljZS9zZXJ2
ZXIvU1dTZXJ2ZXJUb0NvbnRleHRDb25uZWN0aW9uLmNwcAogd29ya2Vycy9zZXJ2aWNlL3NlcnZl
ci9TV1NlcnZlcldvcmtlci5jcHAKK3dvcmtlcnMvc2hhcmVkL1NoYXJlZFdvcmtlci5jcHAKK3dv
cmtlcnMvc2hhcmVkL1NoYXJlZFdvcmtlckdsb2JhbFNjb3BlLmNwcAogd29ya2xldHMvUGFpbnRX
b3JrbGV0R2xvYmFsU2NvcGUuY3BwCiB3b3JrbGV0cy9Xb3JrbGV0LmNwcAogd29ya2xldHMvV29y
a2xldEdsb2JhbFNjb3BlLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGM4YzFlMzdmZDQ0NWJhZGI1NGU0Y2VjMzg2NDdhYTY5
Mjg4ZTRlYWUuLjZjYTA3MjVlMmQzYWM3MjMwNjQyZGY2ZTU4NGM4ZWI1YzM2YWI4ZGIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagor
KysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAg
LTkxMjIsNiArOTEyMiwxMiBAQAogCQk0NjVFREQ5RjIyMkY0RUMzMDBCNDZFMTYgLyogRGV2aWNl
T3JpZW50YXRpb25Pck1vdGlvblBlcm1pc3Npb25TdGF0ZS5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBEZXZpY2VPcmllbnRhdGlvbk9yTW90aW9uUGVybWlzc2lvblN0YXRlLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ2NUVEREEwMjIyRjRFQzQwMEI0NkUxNiAv
KiBEZXZpY2VPcmllbnRhdGlvbk9yTW90aW9uUGVybWlzc2lvblN0YXRlLmlkbCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHRleHQ7IHBhdGggPSBEZXZpY2VPcmllbnRhdGlvbk9yTW90aW9uUGVybWlzc2lvblN0YXRlLmlk
bDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDY2NTM2RkEyNjRDOEREMTAwQUFEMUQ3
IC8qIEpTQXVkaW9Ob2RlQ3VzdG9tLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTQXVkaW9Ob2Rl
Q3VzdG9tLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDY2OTRDRTAyNzU5NDQ4
QzAwRTMxNTBFIC8qIFNoYXJlZFdvcmtlckdsb2JhbFNjb3BlLmlkbCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBTaGFyZWRXb3Jr
ZXJHbG9iYWxTY29wZS5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQ2Njk0Q0Ux
Mjc1OTQ0OEMwMEUzMTUwRSAvKiBTaGFyZWRXb3JrZXJHbG9iYWxTY29wZS5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBTaGFyZWRXb3JrZXJHbG9iYWxTY29wZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQk0NjY5NENFMjI3NTk0NDhEMDBFMzE1MEUgLyogU2hhcmVkV29ya2VyLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IFNoYXJlZFdvcmtlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0NjY5
NENFMzI3NTk0NDhEMDBFMzE1MEUgLyogU2hhcmVkV29ya2VyLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IFNoYXJlZFdvcmtlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQ2Njk0
Q0U0Mjc1OTQ0OEUwMEUzMTUwRSAvKiBTaGFyZWRXb3JrZXJHbG9iYWxTY29wZS5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBTaGFyZWRXb3JrZXJHbG9iYWxTY29wZS5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCTQ2Njk0Q0U1Mjc1OTQ0OEUwMEUzMTUwRSAvKiBTaGFyZWRXb3JrZXIu
aWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4
dDsgcGF0aCA9IFNoYXJlZFdvcmtlci5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTQ2NkMyREFCMjZDNzNBRkIwMDY1MTkzMSAvKiBQb2xpY3lDb250YWluZXIuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUG9saWN5Q29udGFpbmVyLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTQ2NkRDNkFCMUVERTAyMUQwMDc0NjIyNCAvKiBKU0RPTVJlY3RMaXN0
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTRE9NUmVjdExpc3Qu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0NjZFRDhEMjFFREUwMTM1MDA1RTQz
RjYgLyogSlNET01SZWN0TGlzdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBK
U0RPTVJlY3RMaXN0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yMDU2OCw2ICsy
MDU3NCw3IEBACiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAogCQkJCTUxRjE3
NTQ0MUYzRUJCRjIwMEM3NDk1MCAvKiBzZXJ2aWNlICovLAorCQkJCTQ2Njk0Q0RFMjc1OTQ0NkQw
MEUzMTUwRSAvKiBzaGFyZWQgKi8sCiAJCQkJNDFFMUIxQ0EwRkY1OTg2OTAwNTc2QjNCIC8qIEFi
c3RyYWN0V29ya2VyLmNwcCAqLywKIAkJCQk0MUUxQjFDQjBGRjU5ODY5MDA1NzZCM0IgLyogQWJz
dHJhY3RXb3JrZXIuaCAqLywKIAkJCQk0MUUxQjFDQzBGRjU5ODY5MDA1NzZCM0IgLyogQWJzdHJh
Y3RXb3JrZXIuaWRsICovLApAQCAtMjEzMTYsNiArMjEzMjMsMTkgQEAKIAkJCXBhdGggPSAid2Vi
LWxvY2tzIjsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CiAJCX07CisJCTQ2Njk0Q0RFMjc1
OTQ0NkQwMEUzMTUwRSAvKiBzaGFyZWQgKi8gPSB7CisJCQlpc2EgPSBQQlhHcm91cDsKKwkJCWNo
aWxkcmVuID0gKAorCQkJCTQ2Njk0Q0UzMjc1OTQ0OEQwMEUzMTUwRSAvKiBTaGFyZWRXb3JrZXIu
Y3BwICovLAorCQkJCTQ2Njk0Q0UyMjc1OTQ0OEQwMEUzMTUwRSAvKiBTaGFyZWRXb3JrZXIuaCAq
LywKKwkJCQk0NjY5NENFNTI3NTk0NDhFMDBFMzE1MEUgLyogU2hhcmVkV29ya2VyLmlkbCAqLywK
KwkJCQk0NjY5NENFNDI3NTk0NDhFMDBFMzE1MEUgLyogU2hhcmVkV29ya2VyR2xvYmFsU2NvcGUu
Y3BwICovLAorCQkJCTQ2Njk0Q0UxMjc1OTQ0OEMwMEUzMTUwRSAvKiBTaGFyZWRXb3JrZXJHbG9i
YWxTY29wZS5oICovLAorCQkJCTQ2Njk0Q0UwMjc1OTQ0OEMwMEUzMTUwRSAvKiBTaGFyZWRXb3Jr
ZXJHbG9iYWxTY29wZS5pZGwgKi8sCisJCQkpOworCQkJcGF0aCA9IHNoYXJlZDsKKwkJCXNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7CisJCX07CiAJCTQ5NDg0RkFFMTAyQ0YwMUUwMDE4N0REMyAvKiBj
YW52YXMgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9TaGFyZWRXb3JrZXIuY3BwIGIvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9TaGFyZWRXb3JrZXIuY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCA1MTUxYTBjMjIxMzhjZWMwNzFmZWJjNjg4MjNhMmFiMjBkMjk3ZmJiLi4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL3dvcmtl
cnMvU2hhcmVkV29ya2VyLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDU2ICswLDAgQEAKLS8qCi0g
KiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoK
LSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQg
SVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKLSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
SU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCi0gKiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RgotICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgotICogQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
LSAqLwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVkZSAiU2hhcmVkV29ya2VyLmgiCi0K
LSNpbmNsdWRlIDx3dGYvSXNvTWFsbG9jSW5saW5lcy5oPgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7
Ci0KLVdURl9NQUtFX0lTT19BTExPQ0FURURfSU1QTChTaGFyZWRXb3JrZXIpOwotCi1TaGFyZWRX
b3JrZXI6OlNoYXJlZFdvcmtlcihTdHJpbmcmJiwgc3RkOjpvcHRpb25hbDxzdGQ6OnZhcmlhbnQ8
U3RyaW5nLCBXb3JrZXJPcHRpb25zPj4mJikKLXsKLX0KLQotTWVzc2FnZVBvcnQqIFNoYXJlZFdv
cmtlcjo6cG9ydCgpIGNvbnN0Ci17Ci0gICAgLy8gRklYTUU6IGltcGxlbWVudC4KLSAgICByZXR1
cm4gbnVsbHB0cjsKLX0KLQotU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogU2hhcmVkV29ya2VyOjpz
Y3JpcHRFeGVjdXRpb25Db250ZXh0KCkgY29uc3QKLXsKLSAgICAvLyBGSVhNRTogaW1wbGVtZW50
LgotICAgIHJldHVybiBudWxscHRyOwotfQotCi1FdmVudFRhcmdldEludGVyZmFjZSBTaGFyZWRX
b3JrZXI6OmV2ZW50VGFyZ2V0SW50ZXJmYWNlKCkgY29uc3QKLXsKLSAgICByZXR1cm4gU2hhcmVk
V29ya2VyRXZlbnRUYXJnZXRJbnRlcmZhY2VUeXBlOwotfQotCi19IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1NoYXJlZFdvcmtlci5oIGIv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9TaGFyZWRXb3JrZXIuaApkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDkwNzFmN2NiZjg0NWJmMTE2MWZmZTFlYWU1N2JjYzVhMmIxOTY3Yi4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS93b3JrZXJzL1NoYXJlZFdvcmtlci5oCisrKyAvZGV2L251bGwKQEAgLTEsNDggKzAsMCBAQAot
LyoKLSAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
Ci0gKgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMu
IEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgotICovCi0KLSNwcmFnbWEgb25jZQotCi0jaW5jbHVkZSAiQWJzdHJhY3RXb3JrZXIuaCIK
LSNpbmNsdWRlICJXb3JrZXJPcHRpb25zLmgiCi0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotY2xh
c3MgTWVzc2FnZVBvcnQ7Ci0KLWNsYXNzIFNoYXJlZFdvcmtlciBmaW5hbCA6IHB1YmxpYyBBYnN0
cmFjdFdvcmtlciB7Ci0gICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChTaGFyZWRXb3JrZXIpOwot
cHVibGljOgotICAgIHN0YXRpYyBSZWY8U2hhcmVkV29ya2VyPiBjcmVhdGUoU3RyaW5nJiYgc2Ny
aXB0VVJMLCBzdGQ6Om9wdGlvbmFsPHN0ZDo6dmFyaWFudDxTdHJpbmcsIFdvcmtlck9wdGlvbnM+
PiYmIG9wdGlvbnMpIHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU2hhcmVkV29ya2VyKFdURk1vdmUo
c2NyaXB0VVJMKSwgV1RGTW92ZShvcHRpb25zKSkpOyB9Ci0KLSAgICBNZXNzYWdlUG9ydCogcG9y
dCgpIGNvbnN0OwotcHJpdmF0ZToKLSAgICBTaGFyZWRXb3JrZXIoU3RyaW5nJiYsIHN0ZDo6b3B0
aW9uYWw8c3RkOjp2YXJpYW50PFN0cmluZywgV29ya2VyT3B0aW9ucz4+JiYpOwotCi0gICAgRXZl
bnRUYXJnZXRJbnRlcmZhY2UgZXZlbnRUYXJnZXRJbnRlcmZhY2UoKSBjb25zdCBmaW5hbDsKLSAg
ICBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkgY29uc3Qg
ZmluYWw7Ci19OwotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS93b3JrZXJzL1NoYXJlZFdvcmtlci5pZGwgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJz
L1NoYXJlZFdvcmtlci5pZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDA4M2M4M2Y3
YmJjY2RmMzI3MGQ0MTI0ZDNkZjZlMjA3NGExZjI5MzQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9TaGFyZWRXb3Jr
ZXIuaWRsCisrKyAvZGV2L251bGwKQEAgLTEsMzQgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAo
QykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICog
Mi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVU
T1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBD
T05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCi0gKiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQotICogQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICovCi1bCi0gICAg
RW5hYmxlZEJ5U2V0dGluZz1TaGFyZWRXb3JrZXJFbmFibGVkLAotICAgIEV4cG9zZWQ9V2luZG93
Ci1dCi1pbnRlcmZhY2UgU2hhcmVkV29ya2VyIDogRXZlbnRUYXJnZXQgewotICBjb25zdHJ1Y3Rv
cihVU1ZTdHJpbmcgc2NyaXB0VVJMLCBvcHRpb25hbCAoRE9NU3RyaW5nIG9yIFdvcmtlck9wdGlv
bnMpIG9wdGlvbnMpOwotCi0gIHJlYWRvbmx5IGF0dHJpYnV0ZSBNZXNzYWdlUG9ydCBwb3J0Owot
fTsKLVNoYXJlZFdvcmtlciBpbmNsdWRlcyBBYnN0cmFjdFdvcmtlcjsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3dvcmtlcnMvU2hhcmVkV29ya2VyR2xvYmFsU2NvcGUuY3BwIGIvU291cmNl
L1dlYkNvcmUvd29ya2Vycy9TaGFyZWRXb3JrZXJHbG9iYWxTY29wZS5jcHAKZGVsZXRlZCBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDVlYTI5OThlOWFiOGUyMDVjYWQ0ZWZiYzQ0MmE1YWYxOTFiMzcy
MTQuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNl
L1dlYkNvcmUvd29ya2Vycy9TaGFyZWRXb3JrZXJHbG9iYWxTY29wZS5jcHAKKysrIC9kZXYvbnVs
bApAQCAtMSw0NiArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICog
YXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0gKiBB
TkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywKLSAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICogQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUgotICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4KLSAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2luY2x1ZGUgImNvbmZpZy5oIgotI2lu
Y2x1ZGUgIlNoYXJlZFdvcmtlckdsb2JhbFNjb3BlLmgiCi0KLSNpbmNsdWRlIDx3dGYvSXNvTWFs
bG9jSW5saW5lcy5oPgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLVdURl9NQUtFX0lTT19BTExP
Q0FURURfSU1QTChTaGFyZWRXb3JrZXJHbG9iYWxTY29wZSk7Ci0KLWNvbnN0IFN0cmluZyYgU2hh
cmVkV29ya2VyR2xvYmFsU2NvcGU6Om5hbWUoKSBjb25zdAotewotICAgIC8vIEZJWE1FOiBJbXBs
ZW1lbnQuCi0gICAgcmV0dXJuIGVtcHR5U3RyaW5nKCk7Ci19Ci0KLXZvaWQgU2hhcmVkV29ya2Vy
R2xvYmFsU2NvcGU6OmNsb3NlKCkKLXsKLSAgICAvLyBGSVhNRTogSW1wbGVtZW50LgotfQotCi19
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJz
L1NoYXJlZFdvcmtlckdsb2JhbFNjb3BlLmggYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL1NoYXJl
ZFdvcmtlckdsb2JhbFNjb3BlLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDNjZWEw
MDNiMTg0ZjQ1YTdkNjNiYTMyNGYxZjg3ZmRmZDBlNTNlZjguLjAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9TaGFyZWRX
b3JrZXJHbG9iYWxTY29wZS5oCisrKyAvZGV2L251bGwKQEAgLTEsNDggKzAsMCBAQAotLyoKLSAq
IENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgot
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJ
VFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
Ci0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgot
ICovCi0KLSNwcmFnbWEgb25jZQotCi0jaW5jbHVkZSAiV29ya2VyR2xvYmFsU2NvcGUuaCIKLQot
bmFtZXNwYWNlIFdlYkNvcmUgewotCi1jbGFzcyBTaGFyZWRXb3JrZXJHbG9iYWxTY29wZSBmaW5h
bCA6IHB1YmxpYyBXb3JrZXJHbG9iYWxTY29wZSB7Ci0gICAgV1RGX01BS0VfSVNPX0FMTE9DQVRF
RChTaGFyZWRXb3JrZXJHbG9iYWxTY29wZSk7Ci1wdWJsaWM6Ci0gICAgYm9vbCBpc1NoYXJlZFdv
cmtlckdsb2JhbFNjb3BlKCkgY29uc3QgZmluYWwgeyByZXR1cm4gdHJ1ZTsgfQotICAgIGNvbnN0
IFN0cmluZyYgbmFtZSgpIGNvbnN0OwotICAgIHZvaWQgY2xvc2UoKTsKLXByaXZhdGU6Ci0gICAg
RXZlbnRUYXJnZXRJbnRlcmZhY2UgZXZlbnRUYXJnZXRJbnRlcmZhY2UoKSBjb25zdCBmaW5hbDsK
LSAgICBGZXRjaE9wdGlvbnM6OkRlc3RpbmF0aW9uIGRlc3RpbmF0aW9uKCkgY29uc3QgZmluYWw7
Ci19OwotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLVNQRUNJQUxJWkVfVFlQRV9UUkFJVFNf
QkVHSU4oV2ViQ29yZTo6U2hhcmVkV29ya2VyR2xvYmFsU2NvcGUpCi0gICAgc3RhdGljIGJvb2wg
aXNUeXBlKGNvbnN0IFdlYkNvcmU6OlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQpIHsg
cmV0dXJuIGlzPFdlYkNvcmU6Oldvcmtlckdsb2JhbFNjb3BlPihjb250ZXh0KSAmJiBkb3duY2Fz
dDxXZWJDb3JlOjpXb3JrZXJHbG9iYWxTY29wZT4oY29udGV4dCkuaXNTaGFyZWRXb3JrZXJHbG9i
YWxTY29wZSgpOyB9Ci0gICAgc3RhdGljIGJvb2wgaXNUeXBlKGNvbnN0IFdlYkNvcmU6Oldvcmtl
ckdsb2JhbFNjb3BlJiBjb250ZXh0KSB7IHJldHVybiBjb250ZXh0LmlzU2hhcmVkV29ya2VyR2xv
YmFsU2NvcGUoKTsgfQotU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19FTkQoKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvd29ya2Vycy9TaGFyZWRXb3JrZXJHbG9iYWxTY29wZS5pZGwgYi9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL1NoYXJlZFdvcmtlckdsb2JhbFNjb3BlLmlkbApkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggNDc4NTU2MzE5YzFmOGE3YTA0NjQ1MWFhODg1OTY0NWRjM2Zm
YzMzYS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS93b3JrZXJzL1NoYXJlZFdvcmtlckdsb2JhbFNjb3BlLmlkbAorKysgL2Rldi9u
dWxsCkBAIC0xLDM4ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0g
KiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKLSAq
IEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAotICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCi0gKiBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SCi0gKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgotICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCi0gKiBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTgotICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKLSAqIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi1bCi0gICAgRW5hYmxlZEJ5U2V0dGlu
Zz1TaGFyZWRXb3JrZXJFbmFibGVkLAotICAgIEdsb2JhbD0oV29ya2VyLFNoYXJlZFdvcmtlciks
Ci0gICAgRXhwb3NlZD1TaGFyZWRXb3JrZXIsCi0gICAgSlNHZW5lcmF0ZVRvTmF0aXZlT2JqZWN0
LAotXQotaW50ZXJmYWNlIFNoYXJlZFdvcmtlckdsb2JhbFNjb3BlIDogV29ya2VyR2xvYmFsU2Nv
cGUgewotICBbUmVwbGFjZWFibGVdIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgbmFtZTsK
LQotICB1bmRlZmluZWQgY2xvc2UoKTsKLQotICBhdHRyaWJ1dGUgRXZlbnRIYW5kbGVyIG9uY29u
bmVjdDsKLX07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NoYXJlZC9TaGFy
ZWRXb3JrZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zaGFyZWQvU2hhcmVkV29ya2Vy
LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi41MTUxYTBjMjIxMzhjZWMwNzFmZWJjNjg4MjNhMmFiMjBkMjk3ZmJi
Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zaGFyZWQvU2hhcmVk
V29ya2VyLmNwcApAQCAtMCwwICsxLDU2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJ
UycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9S
UworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwor
ICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisg
KiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZp
Zy5oIgorI2luY2x1ZGUgIlNoYXJlZFdvcmtlci5oIgorCisjaW5jbHVkZSA8d3RmL0lzb01hbGxv
Y0lubGluZXMuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitXVEZfTUFLRV9JU09fQUxMT0NB
VEVEX0lNUEwoU2hhcmVkV29ya2VyKTsKKworU2hhcmVkV29ya2VyOjpTaGFyZWRXb3JrZXIoU3Ry
aW5nJiYsIHN0ZDo6b3B0aW9uYWw8c3RkOjp2YXJpYW50PFN0cmluZywgV29ya2VyT3B0aW9ucz4+
JiYpCit7Cit9CisKK01lc3NhZ2VQb3J0KiBTaGFyZWRXb3JrZXI6OnBvcnQoKSBjb25zdAorewor
ICAgIC8vIEZJWE1FOiBpbXBsZW1lbnQuCisgICAgcmV0dXJuIG51bGxwdHI7Cit9CisKK1Njcmlw
dEV4ZWN1dGlvbkNvbnRleHQqIFNoYXJlZFdvcmtlcjo6c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgp
IGNvbnN0Cit7CisgICAgLy8gRklYTUU6IGltcGxlbWVudC4KKyAgICByZXR1cm4gbnVsbHB0cjsK
K30KKworRXZlbnRUYXJnZXRJbnRlcmZhY2UgU2hhcmVkV29ya2VyOjpldmVudFRhcmdldEludGVy
ZmFjZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIFNoYXJlZFdvcmtlckV2ZW50VGFyZ2V0SW50ZXJm
YWNlVHlwZTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvd29ya2Vycy9zaGFyZWQvU2hhcmVkV29ya2VyLmggYi9Tb3VyY2UvV2ViQ29yZS93
b3JrZXJzL3NoYXJlZC9TaGFyZWRXb3JrZXIuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wOTA3MWY3Y2JmODQ1YmYx
MTYxZmZlMWVhZTU3YmNjNWEyYjE5NjdiCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNv
cmUvd29ya2Vycy9zaGFyZWQvU2hhcmVkV29ya2VyLmgKQEAgLTAsMCArMSw0OCBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJ
VFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
CisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSAiQWJzdHJhY3RXb3JrZXIuaCIKKyNpbmNs
dWRlICJXb3JrZXJPcHRpb25zLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgTWVz
c2FnZVBvcnQ7CisKK2NsYXNzIFNoYXJlZFdvcmtlciBmaW5hbCA6IHB1YmxpYyBBYnN0cmFjdFdv
cmtlciB7CisgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChTaGFyZWRXb3JrZXIpOworcHVibGlj
OgorICAgIHN0YXRpYyBSZWY8U2hhcmVkV29ya2VyPiBjcmVhdGUoU3RyaW5nJiYgc2NyaXB0VVJM
LCBzdGQ6Om9wdGlvbmFsPHN0ZDo6dmFyaWFudDxTdHJpbmcsIFdvcmtlck9wdGlvbnM+PiYmIG9w
dGlvbnMpIHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcgU2hhcmVkV29ya2VyKFdURk1vdmUoc2NyaXB0
VVJMKSwgV1RGTW92ZShvcHRpb25zKSkpOyB9CisKKyAgICBNZXNzYWdlUG9ydCogcG9ydCgpIGNv
bnN0OworcHJpdmF0ZToKKyAgICBTaGFyZWRXb3JrZXIoU3RyaW5nJiYsIHN0ZDo6b3B0aW9uYWw8
c3RkOjp2YXJpYW50PFN0cmluZywgV29ya2VyT3B0aW9ucz4+JiYpOworCisgICAgRXZlbnRUYXJn
ZXRJbnRlcmZhY2UgZXZlbnRUYXJnZXRJbnRlcmZhY2UoKSBjb25zdCBmaW5hbDsKKyAgICBTY3Jp
cHRFeGVjdXRpb25Db250ZXh0KiBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkgY29uc3QgZmluYWw7
Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS93b3JrZXJzL3NoYXJlZC9TaGFyZWRXb3JrZXIuaWRsIGIvU291cmNlL1dlYkNvcmUvd29ya2Vy
cy9zaGFyZWQvU2hhcmVkV29ya2VyLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wODNjODNmN2JiY2NkZjMyNzBk
NDEyNGQzZGY2ZTIwNzRhMWYyOTM0Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUv
d29ya2Vycy9zaGFyZWQvU2hhcmVkV29ya2VyLmlkbApAQCAtMCwwICsxLDM0IEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElU
UyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElO
Qy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YK
KyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
CisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisg
Ki8KK1sKKyAgICBFbmFibGVkQnlTZXR0aW5nPVNoYXJlZFdvcmtlckVuYWJsZWQsCisgICAgRXhw
b3NlZD1XaW5kb3cKK10KK2ludGVyZmFjZSBTaGFyZWRXb3JrZXIgOiBFdmVudFRhcmdldCB7Cisg
IGNvbnN0cnVjdG9yKFVTVlN0cmluZyBzY3JpcHRVUkwsIG9wdGlvbmFsIChET01TdHJpbmcgb3Ig
V29ya2VyT3B0aW9ucykgb3B0aW9ucyk7CisKKyAgcmVhZG9ubHkgYXR0cmlidXRlIE1lc3NhZ2VQ
b3J0IHBvcnQ7Cit9OworU2hhcmVkV29ya2VyIGluY2x1ZGVzIEFic3RyYWN0V29ya2VyOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zaGFyZWQvU2hhcmVkV29ya2VyR2xvYmFs
U2NvcGUuY3BwIGIvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zaGFyZWQvU2hhcmVkV29ya2VyR2xv
YmFsU2NvcGUuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjVlYTI5OThlOWFiOGUyMDVjYWQ0ZWZiYzQ0MmE1YWYx
OTFiMzcyMTQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NoYXJl
ZC9TaGFyZWRXb3JrZXJHbG9iYWxTY29wZS5jcHAKQEAgLTAsMCArMSw0NiBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMg
Q09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
CisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisg
KiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQor
ICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICov
CisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJTaGFyZWRXb3JrZXJHbG9iYWxTY29w
ZS5oIgorCisjaW5jbHVkZSA8d3RmL0lzb01hbGxvY0lubGluZXMuaD4KKworbmFtZXNwYWNlIFdl
YkNvcmUgeworCitXVEZfTUFLRV9JU09fQUxMT0NBVEVEX0lNUEwoU2hhcmVkV29ya2VyR2xvYmFs
U2NvcGUpOworCitjb25zdCBTdHJpbmcmIFNoYXJlZFdvcmtlckdsb2JhbFNjb3BlOjpuYW1lKCkg
Y29uc3QKK3sKKyAgICAvLyBGSVhNRTogSW1wbGVtZW50LgorICAgIHJldHVybiBlbXB0eVN0cmlu
ZygpOworfQorCit2b2lkIFNoYXJlZFdvcmtlckdsb2JhbFNjb3BlOjpjbG9zZSgpCit7CisgICAg
Ly8gRklYTUU6IEltcGxlbWVudC4KK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvd29ya2Vycy9zaGFyZWQvU2hhcmVkV29ya2VyR2xvYmFsU2Nv
cGUuaCBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2hhcmVkL1NoYXJlZFdvcmtlckdsb2JhbFNj
b3BlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uM2NlYTAwM2IxODRmNDVhN2Q2M2JhMzI0ZjFmODdmZGZkMGU1M2Vm
OAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dvcmtlcnMvc2hhcmVkL1NoYXJl
ZFdvcmtlckdsb2JhbFNjb3BlLmgKQEAgLTAsMCArMSw0OCBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
Mi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVU
T1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBD
T05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFn
bWEgb25jZQorCisjaW5jbHVkZSAiV29ya2VyR2xvYmFsU2NvcGUuaCIKKworbmFtZXNwYWNlIFdl
YkNvcmUgeworCitjbGFzcyBTaGFyZWRXb3JrZXJHbG9iYWxTY29wZSBmaW5hbCA6IHB1YmxpYyBX
b3JrZXJHbG9iYWxTY29wZSB7CisgICAgV1RGX01BS0VfSVNPX0FMTE9DQVRFRChTaGFyZWRXb3Jr
ZXJHbG9iYWxTY29wZSk7CitwdWJsaWM6CisgICAgYm9vbCBpc1NoYXJlZFdvcmtlckdsb2JhbFNj
b3BlKCkgY29uc3QgZmluYWwgeyByZXR1cm4gdHJ1ZTsgfQorICAgIGNvbnN0IFN0cmluZyYgbmFt
ZSgpIGNvbnN0OworICAgIHZvaWQgY2xvc2UoKTsKK3ByaXZhdGU6CisgICAgRXZlbnRUYXJnZXRJ
bnRlcmZhY2UgZXZlbnRUYXJnZXRJbnRlcmZhY2UoKSBjb25zdCBmaW5hbDsKKyAgICBGZXRjaE9w
dGlvbnM6OkRlc3RpbmF0aW9uIGRlc3RpbmF0aW9uKCkgY29uc3QgZmluYWw7Cit9OworCit9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCisKK1NQRUNJQUxJWkVfVFlQRV9UUkFJVFNfQkVHSU4oV2ViQ29y
ZTo6U2hhcmVkV29ya2VyR2xvYmFsU2NvcGUpCisgICAgc3RhdGljIGJvb2wgaXNUeXBlKGNvbnN0
IFdlYkNvcmU6OlNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQpIHsgcmV0dXJuIGlzPFdl
YkNvcmU6Oldvcmtlckdsb2JhbFNjb3BlPihjb250ZXh0KSAmJiBkb3duY2FzdDxXZWJDb3JlOjpX
b3JrZXJHbG9iYWxTY29wZT4oY29udGV4dCkuaXNTaGFyZWRXb3JrZXJHbG9iYWxTY29wZSgpOyB9
CisgICAgc3RhdGljIGJvb2wgaXNUeXBlKGNvbnN0IFdlYkNvcmU6Oldvcmtlckdsb2JhbFNjb3Bl
JiBjb250ZXh0KSB7IHJldHVybiBjb250ZXh0LmlzU2hhcmVkV29ya2VyR2xvYmFsU2NvcGUoKTsg
fQorU1BFQ0lBTElaRV9UWVBFX1RSQUlUU19FTkQoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvd29ya2Vycy9zaGFyZWQvU2hhcmVkV29ya2VyR2xvYmFsU2NvcGUuaWRsIGIvU291cmNlL1dl
YkNvcmUvd29ya2Vycy9zaGFyZWQvU2hhcmVkV29ya2VyR2xvYmFsU2NvcGUuaWRsCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjQ3ODU1NjMxOWMxZjhhN2EwNDY0NTFhYTg4NTk2NDVkYzNmZmMzM2EKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvV2ViQ29yZS93b3JrZXJzL3NoYXJlZC9TaGFyZWRXb3JrZXJHbG9iYWxT
Y29wZS5pZGwKQEAgLTAsMCArMSwzOCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMn
JworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMK
KyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAq
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICog
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK1sKKyAgICBFbmFibGVkQnlT
ZXR0aW5nPVNoYXJlZFdvcmtlckVuYWJsZWQsCisgICAgR2xvYmFsPShXb3JrZXIsU2hhcmVkV29y
a2VyKSwKKyAgICBFeHBvc2VkPVNoYXJlZFdvcmtlciwKKyAgICBKU0dlbmVyYXRlVG9OYXRpdmVP
YmplY3QsCitdCitpbnRlcmZhY2UgU2hhcmVkV29ya2VyR2xvYmFsU2NvcGUgOiBXb3JrZXJHbG9i
YWxTY29wZSB7CisgIFtSZXBsYWNlYWJsZV0gcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyBu
YW1lOworCisgIHVuZGVmaW5lZCBjbG9zZSgpOworCisgIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIg
b25jb25uZWN0OworfTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>