<?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>47523</bug_id>
          
          <creation_ts>2010-10-11 17:45:59 -0700</creation_ts>
          <short_desc>Remove WebIconFetcher from WebKit and IconFetcher from WebCore</short_desc>
          <delta_ts>2010-10-11 23:17:21 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Anders Carlsson">andersca</reporter>
          <assigned_to name="Anders Carlsson">andersca</assigned_to>
          <cc>hamaji</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>292787</commentid>
    <comment_count>0</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2010-10-11 17:45:59 -0700</bug_when>
    <thetext>Remove WebIconFetcher from WebKit and IconFetcher from WebCore</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>292794</commentid>
    <comment_count>1</comment_count>
      <attachid>70502</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2010-10-11 17:54:54 -0700</bug_when>
    <thetext>Created attachment 70502
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>292817</commentid>
    <comment_count>2</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2010-10-11 18:37:02 -0700</bug_when>
    <thetext>Committed r69549: &lt;http://trac.webkit.org/changeset/69549&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>292865</commentid>
    <comment_count>3</comment_count>
    <who name="Shinichiro Hamaji">hamaji</who>
    <bug_when>2010-10-11 23:17:21 -0700</bug_when>
    <thetext>Committed r69561: &lt;http://trac.webkit.org/changeset/69561&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>70502</attachid>
            <date>2010-10-11 17:54:54 -0700</date>
            <delta_ts>2010-10-11 18:10:19 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-47523-20101011175453.patch</filename>
            <type>text/plain</type>
            <size>49510</size>
            <attacher name="Anders Carlsson">andersca</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
ZTYzMWI4MDUxNmE5Njc5NGQ4OWMwYzdlOTgwM2E0NjY2YzhjM2JhYy4uMjEwY2RlODBiN2U1MjY1
ZTZmYjhjZGUzODllYTZmNWJjOTIyZWQ2ZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cK
KysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMSBAQAorMjAxMC0xMC0xMSAgQW5k
ZXJzIENhcmxzc29uICA8YW5kZXJzY2FAYXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlbW92ZSBXZWJJY29uRmV0Y2hlciBmcm9tIFdl
YktpdCBhbmQgSWNvbkZldGNoZXIgZnJvbSBXZWJDb3JlCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NzUyMworCisgICAgICAgIFJlbW92ZSBhbGwgdHJh
Y2VzIG9mIHRoZSBXZWJDb3JlIEljb25GZXRjaGVyIGNsYXNzLiBJdCdzIFNQSSB0aGF0IG5vYm9k
eSB1c2VzLgorCisgICAgICAgICogR05VbWFrZWZpbGUuYW06CisgICAgICAgICogV2ViQ29yZS5l
eHAuaW46CisgICAgICAgICogV2ViQ29yZS5neXAvV2ViQ29yZS5neXA6CisgICAgICAgICogV2Vi
Q29yZS5neXBpOgorICAgICAgICAqIFdlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qOgorICAg
ICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBsb2Fk
ZXIvaWNvbi9JY29uRmV0Y2hlci5jcHA6IFJlbW92ZWQuCisgICAgICAgICogbG9hZGVyL2ljb24v
SWNvbkZldGNoZXIuaDogUmVtb3ZlZC4KKwogMjAxMC0xMC0xMSAgQW5kcmVhcyBLbGluZyAgPGts
aW5nQHdlYmtpdC5vcmc+CiAKICAgICAgICAgQnVpbGQgZml4IChpbXBsaWNpdCBmbG9hdCBjb252
ZXJzaW9uIGluIFBhdGguY3BwKQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbSBi
L1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KaW5kZXggYzFmMjE5MGNlM2IzYjhlOGRmODNkMGI0NDI3
YjEwNTIyZWE3ZTgxMC4uYzYyOWE3YzE2NjE1ODU2NDY5NzcxZjNmNDM4YWQzMWNlMDY5ZjVkYiAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQorKysgYi9XZWJDb3JlL0dOVW1ha2Vm
aWxlLmFtCkBAIC0xOTIxLDcgKzE5MjEsNiBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVdlYkNv
cmUvbG9hZGVyL2ljb24vSWNvbkRhdGFiYXNlLmNwcCBcCiAJV2ViQ29yZS9sb2FkZXIvaWNvbi9J
Y29uRGF0YWJhc2UuaCBcCiAJV2ViQ29yZS9sb2FkZXIvaWNvbi9JY29uRGF0YWJhc2VOb25lLmNw
cCBcCi0JV2ViQ29yZS9sb2FkZXIvaWNvbi9JY29uRmV0Y2hlci5oIFwKIAlXZWJDb3JlL2xvYWRl
ci9pY29uL0ljb25Mb2FkZXIuY3BwIFwKIAlXZWJDb3JlL2xvYWRlci9pY29uL0ljb25Mb2FkZXIu
aCBcCiAJV2ViQ29yZS9sb2FkZXIvaWNvbi9JY29uUmVjb3JkLmNwcCBcCmRpZmYgLS1naXQgYS9X
ZWJDb3JlL1dlYkNvcmUuZXhwLmluIGIvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgppbmRleCBkMWRj
MDIxZjljMzM1ZDM1YTRlNmQyMjQxMTViMGRhOTM1YTc1MjYwLi5lNDRhNTVhMDFmMGI0NzI5MTdm
MGQwM2I0ZjBjNGU2MDE2OWE4MWY0IDEwMDY0NAotLS0gYS9XZWJDb3JlL1dlYkNvcmUuZXhwLmlu
CisrKyBiL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KQEAgLTIwMiw4ICsyMDIsNiBAQCBfX1pON1dl
YkNvcmUxMUhpc3RvcnlJdGVtQzFFUktOM1dURjZTdHJpbmdFUzRfZAogX19aTjdXZWJDb3JlMTFI
aXN0b3J5SXRlbUMxRVJLTlNfNEtVUkxFUktOM1dURjZTdHJpbmdFUzdfUzdfCiBfX1pON1dlYkNv
cmUxMUhpc3RvcnlJdGVtQzFFdgogX19aTjdXZWJDb3JlMTFIaXN0b3J5SXRlbUQxRXYKLV9fWk43
V2ViQ29yZTExSWNvbkZldGNoZXI2Y2FuY2VsRXYKLV9fWk43V2ViQ29yZTExSWNvbkZldGNoZXI2
Y3JlYXRlRVBOU181RnJhbWVFUE5TXzE3SWNvbkZldGNoZXJDbGllbnRFCiBfX1pON1dlYkNvcmUx
MVJlbmRlckxheWVyMTlzY3JvbGxSZWN0VG9WaXNpYmxlRVJLTlNfN0ludFJlY3RFYlJLTlNfMTVT
Y3JvbGxBbGlnbm1lbnRFUzZfCiBfX1pON1dlYkNvcmUxMWdsb2JhbFBvaW50RVJLOF9OU1BvaW50
UDhOU1dpbmRvdwogX19aTjdXZWJDb3JlMTF0b1VzZXJTcGFjZUVSSzdfTlNSZWN0UDhOU1dpbmRv
dwpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLmd5cC9XZWJDb3JlLmd5cCBiL1dlYkNvcmUv
V2ViQ29yZS5neXAvV2ViQ29yZS5neXAKaW5kZXggNmIxM2ViNWRkMjJlNDBhODMyN2M2ODVmNjVh
MTM4ZjYzYzBjOTU3OS4uMmY0NTc5OWE5ZDQyY2E4MTY1NDAwNDhmZGYwZjgwNmZkMmU2ZGZiMCAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLmd5cC9XZWJDb3JlLmd5cAorKysgYi9XZWJDb3Jl
L1dlYkNvcmUuZ3lwL1dlYkNvcmUuZ3lwCkBAIC0xMjc4LDcgKzEyNzgsNiBAQAogICAgICAgICAj
IGJlIG5pY2UgdG8gcHJvdmlkZSBtb3JlIGV4cGxpY2l0IGNvbW1lbnRzLiAgU29tZSBvZiB0aGVz
ZSBkbyBhY3R1YWxseQogICAgICAgICAjIGNvbXBpbGUuCiAgICAgICAgIFsnZXhjbHVkZScsICdk
b20vU3RhdGljU3RyaW5nTGlzdFxcLmNwcCQnXSwKLSAgICAgICAgWydleGNsdWRlJywgJ2xvYWRl
ci9pY29uL0ljb25GZXRjaGVyXFwuY3BwJCddLAogICAgICAgICBbJ2V4Y2x1ZGUnLCAnbG9hZGVy
L1VzZXJTdHlsZVNoZWV0TG9hZGVyXFwuY3BwJCddLAogCiAgICAgICAgICMgV2UgdXNlIGEgbXVs
dGktcHJvY2VzcyB2ZXJzaW9uIGZyb20gdGhlIFdlYktpdCBBUEkuCmRpZmYgLS1naXQgYS9XZWJD
b3JlL1dlYkNvcmUuZ3lwaSBiL1dlYkNvcmUvV2ViQ29yZS5neXBpCmluZGV4IDMzNjdjZWUzOTg3
ZjRmYzcxNTUwMzc3NWIwMzJlZTljNWFlYjMzNTQuLmU1MTUzZmExYWIzZDU5ZGM0ZTdmMWVkYWM3
OWU3ZWE1Y2MyYmIzNjEgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvV2ViQ29yZS5neXBpCisrKyBiL1dl
YkNvcmUvV2ViQ29yZS5neXBpCkBAIC0xOTgyLDggKzE5ODIsNiBAQAogICAgICAgICAgICAgJ2xv
YWRlci9pY29uL0ljb25EYXRhYmFzZS5oJywKICAgICAgICAgICAgICdsb2FkZXIvaWNvbi9JY29u
RGF0YWJhc2VDbGllbnQuaCcsCiAgICAgICAgICAgICAnbG9hZGVyL2ljb24vSWNvbkRhdGFiYXNl
Tm9uZS5jcHAnLAotICAgICAgICAgICAgJ2xvYWRlci9pY29uL0ljb25GZXRjaGVyLmNwcCcsCi0g
ICAgICAgICAgICAnbG9hZGVyL2ljb24vSWNvbkZldGNoZXIuaCcsCiAgICAgICAgICAgICAnbG9h
ZGVyL2ljb24vSWNvbkxvYWRlci5jcHAnLAogICAgICAgICAgICAgJ2xvYWRlci9pY29uL0ljb25M
b2FkZXIuaCcsCiAgICAgICAgICAgICAnbG9hZGVyL2ljb24vSWNvblJlY29yZC5jcHAnLApkaWZm
IC0tZ2l0IGEvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvaiBiL1dlYkNvcmUv
V2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKaW5kZXggZDYxYjQ5ZjliZTdkNmUxNTNlYzg5
MjNhZmQ0MWJlZGU4MTIyMWUzNi4uMTdhZTkwYTc3NjI0OTJiZDc4MTgzY2Y5YTE5YjhjMmEyMWEz
MmE3NSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagor
KysgYi9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCkBAIC0yNDAwNiwxNCAr
MjQwMDYsNiBAQAogCQkJCQk+DQogCQkJCTwvRmlsZT4NCiAJCQkJPEZpbGUNCi0JCQkJCVJlbGF0
aXZlUGF0aD0iLi5cbG9hZGVyXGljb25cSWNvbkZldGNoZXIuY3BwIg0KLQkJCQkJPg0KLQkJCQk8
L0ZpbGU+DQotCQkJCTxGaWxlDQotCQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGxvYWRlclxpY29uXElj
b25GZXRjaGVyLmgiDQotCQkJCQk+DQotCQkJCTwvRmlsZT4NCi0JCQkJPEZpbGUNCiAJCQkJCVJl
bGF0aXZlUGF0aD0iLi5cbG9hZGVyXGljb25cSWNvbkxvYWRlci5jcHAiDQogCQkJCQk+DQogCQkJ
CTwvRmlsZT4NCmRpZmYgLS1naXQgYS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvaiBiL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4
IGRmNTE0MDFkODcwMWYwMjZmYTdlYWE5ZTJlMDk4YzQ3NzI3M2U4NTIuLjk0ZDNhY2EwZjE3OGVl
YzI4ZThkY2RlZGFkM2Q1MWRmY2MxOGU0YTQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvV2ViQ29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCkBAIC0zNzksOCArMzc5LDYgQEAKIAkJMUEyQUFDNTgwREMyQTNCMTAw
QTIwRDlBIC8qIEFwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlLmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBMkFBQzU2MERDMkEzQjEwMEEyMEQ5QSAvKiBB
cHBsaWNhdGlvbkNhY2hlU3RvcmFnZS5jcHAgKi87IH07CiAJCTFBMkFBQzU5MERDMkEzQjEwMEEy
MEQ5QSAvKiBBcHBsaWNhdGlvbkNhY2hlU3RvcmFnZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUEyQUFDNTcwREMyQTNCMTAwQTIwRDlBIC8qIEFwcGxp
Y2F0aW9uQ2FjaGVTdG9yYWdlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKIAkJMUEyQzQwQUIwREVCNTVBQTAwNUFGMTlFIC8qIEpTVGV4dEN1c3RvbS5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTJDNDBB
QTBERUI1NUFBMDA1QUYxOUUgLyogSlNUZXh0Q3VzdG9tLmNwcCAqLzsgfTsKLQkJMUEyRDc1M0Qw
REU0N0ZBQjAwRjBBNjQ4IC8qIEljb25GZXRjaGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTJENzUzQjBERTQ3RkFCMDBGMEE2NDggLyogSWNvbkZl
dGNoZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owot
CQkxQTJENzUzRTBERTQ3RkFCMDBGMEE2NDggLyogSWNvbkZldGNoZXIuY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUEyRDc1M0MwREU0N0ZBQjAwRjBB
NjQ4IC8qIEljb25GZXRjaGVyLmNwcCAqLzsgfTsKIAkJMUEyRTZFNTkwQ0M1NTIxMzAwNEEyMDYy
IC8qIFNRTFZhbHVlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDFBMkU2RTU3MENDNTUyMTMwMDRBMjA2MiAvKiBTUUxWYWx1ZS5jcHAgKi87IH07CiAJ
CTFBMkU2RTVBMENDNTUyMTMwMDRBMjA2MiAvKiBTUUxWYWx1ZS5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUEyRTZFNTgwQ0M1NTIxMzAwNEEyMDYyIC8q
IFNRTFZhbHVlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKIAkJMUEyRTZFN0EwQ0M1NTZENTAwNEEyMDYyIC8qIFNRTGl0ZUF1dGhvcml6ZXIuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUEyRTZFNzgwQ0M1
NTZENTAwNEEyMDYyIC8qIFNRTGl0ZUF1dGhvcml6ZXIuY3BwICovOyB9OwpAQCAtNjM2Nyw4ICs2
MzY1LDYgQEAKIAkJMUEyQUFDNTYwREMyQTNCMTAwQTIwRDlBIC8qIEFwcGxpY2F0aW9uQ2FjaGVT
dG9yYWdlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEFwcGxpY2F0
aW9uQ2FjaGVTdG9yYWdlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUEyQUFD
NTcwREMyQTNCMTAwQTIwRDlBIC8qIEFwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEFwcGxpY2F0aW9uQ2FjaGVTdG9yYWdlLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFBMkM0MEFBMERFQjU1QUEwMDVBRjE5RSAvKiBKU1Rl
eHRDdXN0b20uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNUZXh0
Q3VzdG9tLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJMUEyRDc1M0IwREU0N0ZB
QjAwRjBBNjQ4IC8qIEljb25GZXRjaGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IEljb25GZXRjaGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTFBMkQ3NTND
MERFNDdGQUIwMEYwQTY0OCAvKiBJY29uRmV0Y2hlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBJY29uRmV0Y2hlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTFBMkU2RTU3MENDNTUyMTMwMDRBMjA2MiAvKiBTUUxWYWx1ZS5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBTUUxWYWx1ZS5jcHA7IHBhdGggPSBzcWwvU1FM
VmFsdWUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQTJFNkU1ODBDQzU1MjEz
MDA0QTIwNjIgLyogU1FMVmFsdWUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0g
U1FMVmFsdWUuaDsgcGF0aCA9IHNxbC9TUUxWYWx1ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQkxQTJFNkU3ODBDQzU1NkQ1MDA0QTIwNjIgLyogU1FMaXRlQXV0aG9yaXplci5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBTUUxpdGVBdXRob3JpemVyLmNw
cDsgcGF0aCA9IHNxbC9TUUxpdGVBdXRob3JpemVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKQEAgLTEyNjY4LDggKzEyNjY0LDYgQEAKIAkJCQk1MTI2RTZCQTBBMkUzQjEyMDA1QzI5
RkEgLyogSWNvbkRhdGFiYXNlLmggKi8sCiAJCQkJNTFFMUVDQjgwQzkxQzkwNDAwREMyNTVCIC8q
IEljb25EYXRhYmFzZUNsaWVudC5oICovLAogCQkJCTQ0NUM4REI2MTAwMTVGQzkwMDMxNTMxQSAv
KiBJY29uRGF0YWJhc2VOb25lLmNwcCAqLywKLQkJCQkxQTJENzUzQzBERTQ3RkFCMDBGMEE2NDgg
LyogSWNvbkZldGNoZXIuY3BwICovLAotCQkJCTFBMkQ3NTNCMERFNDdGQUIwMEYwQTY0OCAvKiBJ
Y29uRmV0Y2hlci5oICovLAogCQkJCTUxM0YxNDUxMEFCNjM0QzQwMDA5NERERiAvKiBJY29uTG9h
ZGVyLmNwcCAqLywKIAkJCQk1MTNGMTQ1MjBBQjYzNEM0MDAwOTREREYgLyogSWNvbkxvYWRlci5o
ICovLAogCQkJCTUxRTFFQ0JBMEM5MUM5MDQwMERDMjU1QiAvKiBJY29uUmVjb3JkLmNwcCAqLywK
QEAgLTE5NTkyLDcgKzE5NTg2LDYgQEAKIAkJCQlCMjc1MzU2RTBCMDUzODE0MDAyQ0U2NEYgLyog
SWNvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTEyNkU2QkMwQTJFM0IxMjAwNUMyOUZBIC8qIElj
b25EYXRhYmFzZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTFFMUVDQkUwQzkxQzkwNDAwREMyNTVC
IC8qIEljb25EYXRhYmFzZUNsaWVudC5oIGluIEhlYWRlcnMgKi8sCi0JCQkJMUEyRDc1M0QwREU0
N0ZBQjAwRjBBNjQ4IC8qIEljb25GZXRjaGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MTNGMTQ1
NDBBQjYzNEM0MDAwOTREREYgLyogSWNvbkxvYWRlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTFF
MUVDQzEwQzkxQzkwNDAwREMyNTVCIC8qIEljb25SZWNvcmQuaCBpbiBIZWFkZXJzICovLAogCQkJ
CUM1ODVBNkNEMTFENEZCM0QwMDRDM0U0QiAvKiBJREJBbnkuaCBpbiBIZWFkZXJzICovLApAQCAt
MjIxNzgsNyArMjIxNzEsNiBAQAogCQkJCTM3NUNEMjNCMTE5RDQ0RUEwMEEyQTg1OSAvKiBIeXBo
ZW5hdGlvbk1hYy5tbSBpbiBTb3VyY2VzICovLAogCQkJCTUxMjZFNkJCMEEyRTNCMTIwMDVDMjlG
QSAvKiBJY29uRGF0YWJhc2UuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNDQ1QzhEQjcxMDAxNUZD
OTAwMzE1MzFBIC8qIEljb25EYXRhYmFzZU5vbmUuY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJMUEy
RDc1M0UwREU0N0ZBQjAwRjBBNjQ4IC8qIEljb25GZXRjaGVyLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCTUxM0YxNDUzMEFCNjM0QzQwMDA5NERERiAvKiBJY29uTG9hZGVyLmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCUIyNzUzNThFMEIwNTNBNjYwMDJDRTY0RiAvKiBJY29uTWFjLm1tIGluIFNvdXJj
ZXMgKi8sCiAJCQkJNTFFMUVDQzAwQzkxQzkwNDAwREMyNTVCIC8qIEljb25SZWNvcmQuY3BwIGlu
IFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9XZWJDb3JlL2xvYWRlci9pY29uL0ljb25GZXRjaGVy
LmNwcCBiL1dlYkNvcmUvbG9hZGVyL2ljb24vSWNvbkZldGNoZXIuY3BwCmRlbGV0ZWQgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCBmNmI4MGZhMDU4OTUwYTJhNjdhMmFhZWJlNTQwZDVlMTUwOWI0NTEz
Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1dlYkNvcmUv
bG9hZGVyL2ljb24vSWNvbkZldGNoZXIuY3BwCisrKyAvZGV2L251bGwKQEAgLTEsMjMwICswLDAg
QEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDggQXBwbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2Vy
dmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4g
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
SU5DLiBgYEFTIElTJycgQU5EIEFOWQotICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKLSAqIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKLSAq
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLAotICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCi0gKiBQUk9GSVRTOyBP
UiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
Ci0gKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCi0gKi8KLQotI2luY2x1
ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUgIkljb25GZXRjaGVyLmgiCi0KLSNpbmNsdWRlICJGcmFt
ZS5oIgotI2luY2x1ZGUgIkZyYW1lTG9hZGVyQ2xpZW50LmgiCi0jaW5jbHVkZSAiSFRNTEhlYWRF
bGVtZW50LmgiCi0jaW5jbHVkZSAiSFRNTExpbmtFbGVtZW50LmgiCi0jaW5jbHVkZSAiSFRNTE5h
bWVzLmgiCi0jaW5jbHVkZSAiUmVzb3VyY2VIYW5kbGUuaCIKLSNpbmNsdWRlICJSZXNvdXJjZVJl
cXVlc3QuaCIKLSNpbmNsdWRlICJTaGFyZWRCdWZmZXIuaCIKLQotbmFtZXNwYWNlIFdlYkNvcmUg
ewotCi11c2luZyBuYW1lc3BhY2UgSFRNTE5hbWVzOwotCi1zdHJ1Y3QgSWNvbkxpbmtFbnRyeSB7
Ci1wdWJsaWM6Ci0gICAgZW51bSBJY29uVHlwZSB7Ci0gICAgICAgIFVua25vd24sCi0gICAgICAg
IElDTlMsCi0gICAgICAgIElDTywKLSAgICB9OwotICAgIAotICAgIEljb25MaW5rRW50cnkoSWNv
blR5cGUgdHlwZSwgY29uc3QgS1VSTCYgdXJsKSAKLSAgICAgICAgOiBtX3R5cGUodHlwZSkKLSAg
ICAgICAgLCBtX3VybCh1cmwpCi0gICAgewotICAgIH0KLSAgICAKLSAgICBJY29uVHlwZSB0eXBl
KCkgY29uc3QgeyByZXR1cm4gbV90eXBlOyB9Ci0gICAgY29uc3QgS1VSTCYgdXJsKCkgY29uc3Qg
eyByZXR1cm4gbV91cmw7IH0KLQotICAgIFNoYXJlZEJ1ZmZlciogYnVmZmVyKCkgCi0gICAgewot
ICAgICAgICBpZiAoIW1fYnVmZmVyKQotICAgICAgICAgICAgbV9idWZmZXIgPSBTaGFyZWRCdWZm
ZXI6OmNyZWF0ZSgpOwotICAgICAgICAKLSAgICAgICAgcmV0dXJuIG1fYnVmZmVyLmdldCgpOwot
ICAgIH0KLSAgICAKLXByaXZhdGU6Ci0gICAgUmVmUHRyPFNoYXJlZEJ1ZmZlcj4gbV9idWZmZXI7
Ci0gICAgSWNvblR5cGUgbV90eXBlOwotICAgIEtVUkwgbV91cmw7Ci19OwotICAgIAotI2lmIFBM
QVRGT1JNKE1BQykKLXN0YXRpYyBjb25zdCBJY29uTGlua0VudHJ5OjpJY29uVHlwZSBOYXRpdmVJ
Y29uVHlwZSA9IEljb25MaW5rRW50cnk6OklDTlM7Ci0jZWxpZiBQTEFURk9STShXSU4pCi1zdGF0
aWMgY29uc3QgSWNvbkxpbmtFbnRyeTo6SWNvblR5cGUgTmF0aXZlSWNvblR5cGUgPSBJY29uTGlu
a0VudHJ5OjpJQ087Ci0jZWxzZQotc3RhdGljIGNvbnN0IEljb25MaW5rRW50cnk6Okljb25UeXBl
IE5hdGl2ZUljb25UeXBlID0gSWNvbkxpbmtFbnRyeTo6VW5rbm93bjsKLSNlbmRpZgotCi1zdGF0
aWMgdm9pZCBwYXJzZUljb25MaW5rKEhUTUxMaW5rRWxlbWVudCogbGluaywgVmVjdG9yPEljb25M
aW5rRW50cnk+JiBlbnRyaWVzKQotewotICAgIC8vIEZJWE1FOiBQYXJzZSB0aGUgc2l6ZSBhdHRy
aWJ1dGUgdG9vLgotICAgIAotICAgIEljb25MaW5rRW50cnk6Okljb25UeXBlIHR5cGUgPSBJY29u
TGlua0VudHJ5OjpVbmtub3duOwotICAgIGNvbnN0IEtVUkwmIHVybCA9IGxpbmstPmhyZWYoKTsK
LQotICAgIC8vIFRyeSB0byBkZXRlcm1pbmUgdGhlIGZpbGUgdHlwZS4KLSAgICBTdHJpbmcgcGF0
aCA9IHVybC5wYXRoKCk7Ci0gICAgCi0gICAgc2l6ZV90IHBvcyA9IHBhdGgucmV2ZXJzZUZpbmQo
Jy4nKTsKLSAgICBpZiAocG9zICE9IG5vdEZvdW5kKSB7Ci0gICAgICAgIFN0cmluZyBleHRlbnNp
b24gPSBwYXRoLnN1YnN0cmluZyhwb3MgKyAxKTsKLSAgICAgICAgaWYgKGVxdWFsSWdub3JpbmdD
YXNlKGV4dGVuc2lvbiwgImljbnMiKSkKLSAgICAgICAgICAgIHR5cGUgPSBJY29uTGlua0VudHJ5
OjpJQ05TOwotICAgICAgICBlbHNlIGlmIChlcXVhbElnbm9yaW5nQ2FzZShleHRlbnNpb24sICJp
Y28iKSkKLSAgICAgICAgICAgIHR5cGUgPSBJY29uTGlua0VudHJ5OjpJQ087Ci0gICAgfQotICAg
IAotICAgIGVudHJpZXMuYXBwZW5kKEljb25MaW5rRW50cnkodHlwZSwgdXJsKSk7Ci19Ci0gICAg
Ci1QYXNzUmVmUHRyPEljb25GZXRjaGVyPiBJY29uRmV0Y2hlcjo6Y3JlYXRlKEZyYW1lKiBmcmFt
ZSwgSWNvbkZldGNoZXJDbGllbnQqIGNsaWVudCkKLXsKLSAgICBEb2N1bWVudCogZG9jdW1lbnQg
PSBmcmFtZS0+ZG9jdW1lbnQoKTsKLSAgICAKLSAgICBIVE1MSGVhZEVsZW1lbnQqIGhlYWQgPSBk
b2N1bWVudC0+aGVhZCgpOwotICAgIGlmICghaGVhZCkKLSAgICAgICAgcmV0dXJuIDA7Ci0gICAg
Ci0gICAgVmVjdG9yPEljb25MaW5rRW50cnk+IGVudHJpZXM7Ci0gICAgCi0gICAgZm9yIChOb2Rl
KiBuID0gaGVhZDsgbjsgbiA9IG4tPnRyYXZlcnNlTmV4dE5vZGUoKSkgewotICAgICAgICBpZiAo
IW4tPmhhc1RhZ05hbWUobGlua1RhZykpICAgIAotICAgICAgICAgICAgY29udGludWU7Ci0gICAg
ICAgICAgICAKLSAgICAgICAgSFRNTExpbmtFbGVtZW50KiBsaW5rID0gc3RhdGljX2Nhc3Q8SFRN
TExpbmtFbGVtZW50Kj4obik7Ci0gICAgICAgIGlmICghbGluay0+aXNJY29uKCkpCi0gICAgICAg
ICAgICBjb250aW51ZTsKLQotICAgICAgICBwYXJzZUljb25MaW5rKGxpbmssIGVudHJpZXMpOwot
ICAgIH0KLSAgICAKLSAgICBpZiAoZW50cmllcy5pc0VtcHR5KCkpCi0gICAgICAgIHJldHVybiAw
OwotICAgIAotICAgIC8vIENoZWNrIGlmIGFueSBvZiB0aGUgZW50cmllcyBoYXZlIHRoZSBzYW1l
IHR5cGUgYXMgdGhlIG5hdGl2ZSBpY29uIHR5cGUuCi0KLSAgICAvLyBGSVhNRTogVGhpcyBzaG91
bGQgYmUgd2F5IG1vcmUgc29waGlzdGljYXRlZCwgYW5kIGhhbmRsZSBjb252ZXJzaW9uCi0gICAg
Ly8gb2YgbXVsdGlzaXplIGZvcm1hdHMgZm9yIGV4YW1wbGUuCi0gICAgZm9yICh1bnNpZ25lZCBp
ID0gMDsgaSA8IGVudHJpZXMuc2l6ZSgpOyBpKyspIHsKLSAgICAgICAgY29uc3QgSWNvbkxpbmtF
bnRyeSYgZW50cnkgPSBlbnRyaWVzW2ldOwotICAgICAgICBpZiAoZW50cnkudHlwZSgpID09IE5h
dGl2ZUljb25UeXBlKSB7Ci0gICAgICAgICAgICBSZWZQdHI8SWNvbkZldGNoZXI+IGljb25GZXRj
aGVyID0gYWRvcHRSZWYobmV3IEljb25GZXRjaGVyKGZyYW1lLCBjbGllbnQpKTsKLSAgICAgICAg
ICAgIAotICAgICAgICAgICAgaWNvbkZldGNoZXItPm1fZW50cmllcy5hcHBlbmQoZW50cnkpOwot
ICAgICAgICAgICAgaWNvbkZldGNoZXItPmxvYWRFbnRyeSgpOwotICAgICAgICAgICAgCi0gICAg
ICAgICAgICByZXR1cm4gaWNvbkZldGNoZXIucmVsZWFzZSgpOwotICAgICAgICB9Ci0gICAgfQot
Ci0gICAgcmV0dXJuIDA7Ci19ICAgIAotCi1JY29uRmV0Y2hlcjo6SWNvbkZldGNoZXIoRnJhbWUq
IGZyYW1lLCBJY29uRmV0Y2hlckNsaWVudCogY2xpZW50KQotICAgIDogbV9mcmFtZShmcmFtZSkK
LSAgICAsIG1fY2xpZW50KGNsaWVudCkKLSAgICAsIG1fY3VycmVudEVudHJ5KDApCi17Ci19Ci0g
ICAgCi1JY29uRmV0Y2hlcjo6fkljb25GZXRjaGVyKCkKLXsKLSAgICBjYW5jZWwoKTsKLX0KLQot
dm9pZCBJY29uRmV0Y2hlcjo6Y2FuY2VsKCkKLXsKLSAgICBpZiAobV9oYW5kbGUpCi0gICAgICAg
IG1faGFuZGxlLT5jYW5jZWwoKTsKLX0KLQotUGFzc1JlZlB0cjxTaGFyZWRCdWZmZXI+IEljb25G
ZXRjaGVyOjpjcmVhdGVJY29uKCkKLXsKLSAgICBBU1NFUlQoIW1fZW50cmllcy5pc0VtcHR5KCkp
OwotICAgIAotICAgIC8vIEZvciBub3csIGp1c3QgcmV0dXJuIHRoZSBkYXRhIG9mIHRoZSBmaXJz
dCBlbnRyeS4KLSAgICByZXR1cm4gbV9lbnRyaWVzLmZpcnN0KCkuYnVmZmVyKCk7Ci19Ci0KLXZv
aWQgSWNvbkZldGNoZXI6OmxvYWRFbnRyeSgpCi17Ci0gICAgQVNTRVJUKG1fY3VycmVudEVudHJ5
IDwgbV9lbnRyaWVzLnNpemUoKSk7Ci0gICAgQVNTRVJUKCFtX2hhbmRsZSk7Ci0gICAgCi0gICAg
bV9oYW5kbGUgPSBSZXNvdXJjZUhhbmRsZTo6Y3JlYXRlKG1fZnJhbWUtPmxvYWRlcigpLT5uZXR3
b3JraW5nQ29udGV4dCgpLCBtX2VudHJpZXNbbV9jdXJyZW50RW50cnldLnVybCgpLCB0aGlzLCBm
YWxzZSwgZmFsc2UpOwotfQotICAgIAotdm9pZCBJY29uRmV0Y2hlcjo6bG9hZEZhaWxlZCgpCi17
Ci0gICAgbV9oYW5kbGUgPSAwOwotICAgIAotICAgIG1fY2xpZW50LT5maW5pc2hlZEZldGNoaW5n
SWNvbigwKTsKLX0gICAgCi0gICAgCi12b2lkIEljb25GZXRjaGVyOjpkaWRSZWNlaXZlUmVzcG9u
c2UoUmVzb3VyY2VIYW5kbGUqIGhhbmRsZSwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9u
c2UpCi17Ci0gICAgQVNTRVJUX1VOVVNFRChoYW5kbGUsIG1faGFuZGxlID09IGhhbmRsZSk7Ci0g
ICAgCi0gICAgaW50IHN0YXR1c0NvZGUgPSByZXNwb25zZS5odHRwU3RhdHVzQ29kZSgpIC8gMTAw
OwotICAgIGlmIChzdGF0dXNDb2RlID09IDQgfHwgc3RhdHVzQ29kZSA9PSA1KSB7Ci0gICAgICAg
IGxvYWRGYWlsZWQoKTsKLSAgICAgICAgcmV0dXJuOwotICAgIH0gICAgCi19Ci0gICAgCi12b2lk
IEljb25GZXRjaGVyOjpkaWRSZWNlaXZlRGF0YShSZXNvdXJjZUhhbmRsZSogaGFuZGxlLCBjb25z
dCBjaGFyKiBkYXRhLCBpbnQgbGVuZ3RoLCBpbnQpCi17Ci0gICAgQVNTRVJUX1VOVVNFRChoYW5k
bGUsIG1faGFuZGxlID09IGhhbmRsZSk7Ci0gICAgCi0gICAgbV9lbnRyaWVzW21fY3VycmVudEVu
dHJ5XS5idWZmZXIoKS0+YXBwZW5kKGRhdGEsIGxlbmd0aCk7Ci19Ci0KLXZvaWQgSWNvbkZldGNo
ZXI6OmRpZEZpbmlzaExvYWRpbmcoUmVzb3VyY2VIYW5kbGUqIGhhbmRsZSwgZG91YmxlKQotewot
ICAgIEFTU0VSVF9VTlVTRUQoaGFuZGxlLCBtX2hhbmRsZSA9PSBoYW5kbGUpOwotICAgIAotICAg
IGlmIChtX2N1cnJlbnRFbnRyeSA9PSBtX2VudHJpZXMuc2l6ZSgpIC0gMSkgewotICAgICAgICAv
LyBXZSBmaW5pc2hlZCBsb2FkaW5nLCBjcmVhdGUgdGhlIGljb24KLSAgICAgICAgUmVmUHRyPFNo
YXJlZEJ1ZmZlcj4gaWNvbkRhdGEgPSBjcmVhdGVJY29uKCk7Ci0gICAgICAgIAotICAgICAgICBt
X2NsaWVudC0+ZmluaXNoZWRGZXRjaGluZ0ljb24oaWNvbkRhdGEucmVsZWFzZSgpKTsKLSAgICAg
ICAgcmV0dXJuOwotICAgIH0KLSAgICAKLSAgICAvLyBMb2FkIHRoZSBuZXh0IGVudHJ5Ci0gICAg
bV9jdXJyZW50RW50cnkrKzsKLQotICAgIGxvYWRFbnRyeSgpOwotfQotICAgIAotdm9pZCBJY29u
RmV0Y2hlcjo6ZGlkRmFpbChSZXNvdXJjZUhhbmRsZSogaGFuZGxlLCBjb25zdCBSZXNvdXJjZUVy
cm9yJikKLXsKLSAgICBBU1NFUlRfVU5VU0VEKGhhbmRsZSwgbV9oYW5kbGUgPT0gaGFuZGxlKTsK
LSAgICAKLSAgICBsb2FkRmFpbGVkKCk7Ci19Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvbG9hZGVyL2ljb24vSWNvbkZldGNoZXIuaCBiL1dlYkNvcmUvbG9h
ZGVyL2ljb24vSWNvbkZldGNoZXIuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMzg3
ZTFjMzJkNjFkOGExNWRkNjA5MTFiYTI3Y2Y0YTcwODc2MjY1OS4uMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9XZWJDb3JlL2xvYWRlci9pY29uL0ljb25GZXRj
aGVyLmgKKysrIC9kZXYvbnVsbApAQCAtMSw3OCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChD
KSAyMDA4IEFwcGxlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
LSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAy
LiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkK
LSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKLSAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUgotICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuIAotICovCi0KLSNpZm5kZWYgSWNvbkZldGNoZXJfaAotI2RlZmlu
ZSBJY29uRmV0Y2hlcl9oCi0KLSNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgotI2luY2x1ZGUg
PHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgotCi0jaW5jbHVkZSAiUmVz
b3VyY2VIYW5kbGVDbGllbnQuaCIKLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1jbGFzcyBGcmFt
ZTsKLXN0cnVjdCBJY29uTGlua0VudHJ5OwotY2xhc3MgUmVzb3VyY2VIYW5kbGU7Ci1jbGFzcyBT
aGFyZWRCdWZmZXI7Ci0KLWNsYXNzIEljb25GZXRjaGVyQ2xpZW50IHsKLXB1YmxpYzoKLSAgICB2
aXJ0dWFsIHZvaWQgZmluaXNoZWRGZXRjaGluZ0ljb24oUGFzc1JlZlB0cjxTaGFyZWRCdWZmZXI+
IGljb25EYXRhKSA9IDA7Ci0gICAgCi0gICAgdmlydHVhbCB+SWNvbkZldGNoZXJDbGllbnQoKSB7
IH0KLX07Ci0KLWNsYXNzIEljb25GZXRjaGVyIDogcHVibGljIFJlZkNvdW50ZWQ8SWNvbkZldGNo
ZXI+LCBSZXNvdXJjZUhhbmRsZUNsaWVudCB7Ci1wdWJsaWM6Ci0gICAgc3RhdGljIFBhc3NSZWZQ
dHI8SWNvbkZldGNoZXI+IGNyZWF0ZShGcmFtZSosIEljb25GZXRjaGVyQ2xpZW50Kik7Ci0gICAg
fkljb25GZXRjaGVyKCk7Ci0gICAgCi0gICAgdm9pZCBjYW5jZWwoKTsKLSAgICAKLXByaXZhdGU6
Ci0gICAgSWNvbkZldGNoZXIoRnJhbWUqLCBJY29uRmV0Y2hlckNsaWVudCopOwotICAgIHZvaWQg
bG9hZEVudHJ5KCk7Ci0gICAgdm9pZCBsb2FkRmFpbGVkKCk7Ci0gICAgCi0gICAgUGFzc1JlZlB0
cjxTaGFyZWRCdWZmZXI+IGNyZWF0ZUljb24oKTsKLSAgICAKLSAgICB2aXJ0dWFsIHZvaWQgZGlk
UmVjZWl2ZVJlc3BvbnNlKFJlc291cmNlSGFuZGxlKiwgY29uc3QgUmVzb3VyY2VSZXNwb25zZSYp
OwotICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZlRGF0YShSZXNvdXJjZUhhbmRsZSosIGNvbnN0
IGNoYXIqLCBpbnQsIGludCBsZW5ndGhSZWNlaXZlZCk7Ci0gICAgdmlydHVhbCB2b2lkIGRpZEZp
bmlzaExvYWRpbmcoUmVzb3VyY2VIYW5kbGUqLCBkb3VibGUgLypmaW5pc2hUaW1lKi8pOwotICAg
IHZpcnR1YWwgdm9pZCBkaWRGYWlsKFJlc291cmNlSGFuZGxlKiwgY29uc3QgUmVzb3VyY2VFcnJv
ciYpOwotCi0gICAgRnJhbWUqIG1fZnJhbWU7Ci0gICAgSWNvbkZldGNoZXJDbGllbnQqIG1fY2xp
ZW50OwotCi0gICAgdW5zaWduZWQgbV9jdXJyZW50RW50cnk7Ci0gICAgUmVmUHRyPFJlc291cmNl
SGFuZGxlPiBtX2hhbmRsZTsKLSAgICBWZWN0b3I8SWNvbkxpbmtFbnRyeT4gbV9lbnRyaWVzOwot
fTsKLSAgICAKLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlmIC8vIEljb25GZXRjaGVy
X2gKZGlmZiAtLWdpdCBhL1dlYktpdC9DaGFuZ2VMb2cgYi9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4
IDAxZTg1NzRiODUyNWNlOTY3ZThhMGUyOGM1Y2EyZTE1ZjFhZDljMDIuLjBlNTlmNDdmOGZmMGYw
NWMwOWQwZjFiODU1YTFiY2E3YzE2M2E4OWMgMTAwNjQ0Ci0tLSBhL1dlYktpdC9DaGFuZ2VMb2cK
KysrIGIvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDEwLTEwLTExICBBbmRl
cnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVtb3ZlIFdlYkljb25GZXRjaGVyIGZyb20gV2Vi
S2l0IGFuZCBJY29uRmV0Y2hlciBmcm9tIFdlYkNvcmUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ3NTIzCisKKyAgICAgICAgUmVtb3ZlIGFsbCB0cmFj
ZXMgb2YgdGhlIFdlYktpdCBXZWJJY29uRmV0Y2hlciBjbGFzcy4gSXQncyBTUEkgdGhhdCBub2Jv
ZHkgdXNlcy4KKworICAgICAgICAqIFdlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgor
CiAyMDEwLTEwLTA3ICBKZXNzaWUgQmVybGluICA8amJlcmxpbkBhcHBsZS5jb20+CiAKICAgICAg
ICAgUmV2aWV3ZWQgYnkgU2FtIFdlaW5pZy4KZGlmZiAtLWdpdCBhL1dlYktpdC9XZWJLaXQueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagppbmRleCA0MjA2OTVmM2JlY2RhYjA5MTQ2OGNlNDAyZGQ2NDI4YmU0YmY4MTYwLi4z
NjRjOWU1ZDg0OTgxNjI4NWVhMjEyMjczMjkxMzE5NzM1NWM4NWFhIDEwMDY0NAotLS0gYS9XZWJL
aXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvV2ViS2l0L1dlYktpdC54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0yOSw5ICsyOSw2IEBACiAJCTE0RDgyNTJGMEFG
OTU1MDkwMDA0RjA1NyAvKiBXZWJDaHJvbWVDbGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDE0RDgyNTJEMEFGOTU1MDkwMDA0RjA1NyAvKiBXZWJD
aHJvbWVDbGllbnQuaCAqLzsgfTsKIAkJMTREODI1MzAwQUY5NTUwOTAwMDRGMDU3IC8qIFdlYkNo
cm9tZUNsaWVudC5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDE0RDgyNTJFMEFGOTU1MDkwMDA0RjA1NyAvKiBXZWJDaHJvbWVDbGllbnQubW0gKi87IH07
CiAJCTFBMjBEMDhCMEVEMzg0RjIwMDQzRkE5RiAvKiBRdWFydHpDb3JlLmZyYW1ld29yayBpbiBG
cmFtZXdvcmtzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFBMjBEMDhBMEVE
Mzg0RjIwMDQzRkE5RiAvKiBRdWFydHpDb3JlLmZyYW1ld29yayAqLzsgfTsKLQkJMUEyRDc1NEQw
REU0ODBCOTAwRjBBNjQ4IC8qIFdlYkljb25GZXRjaGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTJENzU0QjBERTQ4MEI5MDBGMEE2NDggLyogV2Vi
SWNvbkZldGNoZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OwotCQkxQTJENzU0RTBERTQ4MEI5MDBGMEE2NDggLyogV2ViSWNvbkZldGNoZXIubW0gaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTJENzU0QzBERTQ4
MEI5MDBGMEE2NDggLyogV2ViSWNvbkZldGNoZXIubW0gKi87IH07Ci0JCTFBMkQ3NTUwMERFNDgx
MEUwMEYwQTY0OCAvKiBXZWJJY29uRmV0Y2hlckludGVybmFsLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTJENzU0RjBERTQ4MTBFMDBGMEE2NDggLyog
V2ViSWNvbkZldGNoZXJJbnRlcm5hbC5oICovOyB9OwogCQkxQTJEQkU5RjBGMjUxRTNBMDAzNkY4
QTYgLyogUHJveHlJbnN0YW5jZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMUEyREJFOUQwRjI1MUUzQTAwMzZGOEE2IC8qIFByb3h5SW5zdGFuY2UuaCAq
LzsgfTsKIAkJMUEyREJFQTAwRjI1MUUzQTAwMzZGOEE2IC8qIFByb3h5SW5zdGFuY2UubW0gaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQTJEQkU5RTBGMjUx
RTNBMDAzNkY4QTYgLyogUHJveHlJbnN0YW5jZS5tbSAqLzsgfTsKIAkJMUE0REY1MjIwRUM4Qzc0
RDAwNkJENEI0IC8qIFdlYk5ldHNjYXBlUGx1Z2luVmlldy5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUE0REY1MjAwRUM4Qzc0RDAwNkJENEI0IC8qIFdl
Yk5ldHNjYXBlUGx1Z2luVmlldy5oICovOyB9OwpAQCAtNDA2LDkgKzQwMyw2IEBACiAJCTE0RDgy
NTJEMEFGOTU1MDkwMDA0RjA1NyAvKiBXZWJDaHJvbWVDbGllbnQuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IFdlYkNocm9tZUNsaWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQkxNEQ4MjUyRTBBRjk1NTA5MDAwNEYwNTcgLyogV2ViQ2hyb21lQ2xpZW50Lm1t
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFdlYkNocm9tZUNsaWVu
dC5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUEyMEQwOEEwRUQzODRGMjAwNDNG
QTlGIC8qIFF1YXJ0ekNvcmUuZnJhbWV3b3JrICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGxhc3RLbm93bkZpbGVUeXBlID0gd3JhcHBlci5mcmFtZXdvcms7IG5hbWUgPSBRdWFydHpDb3Jl
LmZyYW1ld29yazsgcGF0aCA9IC9TeXN0ZW0vTGlicmFyeS9GcmFtZXdvcmtzL1F1YXJ0ekNvcmUu
ZnJhbWV3b3JrOyBzb3VyY2VUcmVlID0gIjxhYnNvbHV0ZT4iOyB9OwotCQkxQTJENzU0QjBERTQ4
MEI5MDBGMEE2NDggLyogV2ViSWNvbkZldGNoZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gV2ViSWNvbkZldGNoZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJ
MUEyRDc1NEMwREU0ODBCOTAwRjBBNjQ4IC8qIFdlYkljb25GZXRjaGVyLm1tICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gV2ViSWNvbkZldGNoZXIubW07IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTFBMkQ3NTRGMERFNDgxMEUwMEYwQTY0OCAvKiBXZWJJY29u
RmV0Y2hlckludGVybmFsLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYklj
b25GZXRjaGVySW50ZXJuYWwuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUEyREJF
OUQwRjI1MUUzQTAwMzZGOEE2IC8qIFByb3h5SW5zdGFuY2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gUHJveHlJbnN0YW5jZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQkxQTJEQkU5RTBGMjUxRTNBMDAzNkY4QTYgLyogUHJveHlJbnN0YW5jZS5tbSAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFByb3h5SW5zdGFuY2UubW07IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFBNERGNTIwMEVDOEM3NEQwMDZCRDRCNCAvKiBXZWJO
ZXRzY2FwZVBsdWdpblZpZXcuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2Vi
TmV0c2NhcGVQbHVnaW5WaWV3Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC05NTIs
OSArOTQ2LDYgQEAKIAkJCQk1MUIyQTBGRjBBREIxNUQwMDAyQTlCRUUgLyogV2ViSWNvbkRhdGFi
YXNlRGVsZWdhdGUuaCAqLywKIAkJCQk5MzA0QjJGRjBCMDIzNDE1MDBGNzg1MEQgLyogV2ViSWNv
bkRhdGFiYXNlSW50ZXJuYWwuaCAqLywKIAkJCQlGNTI4RTNFQjAzMUU5MUFEMDFDQTJBQ0EgLyog
V2ViSWNvbkRhdGFiYXNlUHJpdmF0ZS5oICovLAotCQkJCTFBMkQ3NTRCMERFNDgwQjkwMEYwQTY0
OCAvKiBXZWJJY29uRmV0Y2hlci5oICovLAotCQkJCTFBMkQ3NTRDMERFNDgwQjkwMEYwQTY0OCAv
KiBXZWJJY29uRmV0Y2hlci5tbSAqLywKLQkJCQkxQTJENzU0RjBERTQ4MTBFMDBGMEE2NDggLyog
V2ViSWNvbkZldGNoZXJJbnRlcm5hbC5oICovLAogCQkJCTI1NjhDNzJDMDE3NDkxMkQwRUNBMTQ5
RSAvKiBXZWJLaXQuaCAqLywKIAkJCQlGNTkyN0Q0RTAyRDI2QzVFMDFDQTJEQkIgLyogV2ViS2l0
RXJyb3JzLmggKi8sCiAJCQkJODM3MzBGOTgwM0ZCMUU2NjAwMDQ3MzZFIC8qIFdlYktpdEVycm9y
cy5tICovLApAQCAtMTUxMSw4ICsxNTAyLDYgQEAKIAkJCQk1MUIyQTEwMDBBREIxNUQwMDAyQTlC
RUUgLyogV2ViSWNvbkRhdGFiYXNlRGVsZWdhdGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTkzMDRC
MzAwMEIwMjM0MTUwMEY3ODUwRCAvKiBXZWJJY29uRGF0YWJhc2VJbnRlcm5hbC5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJOTM5ODEwMTkwODI0QkYwMTAwOERGMDM4IC8qIFdlYkljb25EYXRhYmFzZVBy
aXZhdGUuaCBpbiBIZWFkZXJzICovLAotCQkJCTFBMkQ3NTREMERFNDgwQjkwMEYwQTY0OCAvKiBX
ZWJJY29uRmV0Y2hlci5oIGluIEhlYWRlcnMgKi8sCi0JCQkJMUEyRDc1NTAwREU0ODEwRTAwRjBB
NjQ4IC8qIFdlYkljb25GZXRjaGVySW50ZXJuYWwuaCBpbiBIZWFkZXJzICovLAogCQkJCTVEN0JG
ODE0MEMyQTFEOTAwMDhDRTA2RCAvKiBXZWJJbnNwZWN0b3IuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTA2NjkzRERDMEJGQkE4NTIwMDIxNjA3MiAvKiBXZWJJbnNwZWN0b3JDbGllbnQuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTdBOEZGMEQxMTA3NTAyNEEwMEE4MEEwOCAvKiBXZWJJbnNwZWN0b3JQcml2
YXRlLmggaW4gSGVhZGVycyAqLywKQEAgLTE5MTIsNyArMTkwMSw2IEBACiAJCQkJOTM5ODEwRjQw
ODI0QkYwMTAwOERGMDM4IC8qIFdlYkhUTUxWaWV3Lm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJOTM5
ODEwQzEwODI0QkYwMTAwOERGMDM4IC8qIFdlYkljb25EYXRhYmFzZS5tbSBpbiBTb3VyY2VzICov
LAogCQkJCTUxNDk0Q0Q3MEM3RUJERTAwMDQxNzhDNSAvKiBXZWJJY29uRGF0YWJhc2VDbGllbnQu
bW0gaW4gU291cmNlcyAqLywKLQkJCQkxQTJENzU0RTBERTQ4MEI5MDBGMEE2NDggLyogV2ViSWNv
bkZldGNoZXIubW0gaW4gU291cmNlcyAqLywKIAkJCQk5Mzk4MTBFMzA4MjRCRjAxMDA4REYwMzgg
LyogV2ViSW1hZ2VSZW5kZXJlckZhY3RvcnkubSBpbiBTb3VyY2VzICovLAogCQkJCTVEN0JGODE1
MEMyQTFEOTAwMDhDRTA2RCAvKiBXZWJJbnNwZWN0b3IubW0gaW4gU291cmNlcyAqLywKIAkJCQkw
NjY5M0RERDBCRkJBODUyMDAyMTYwNzIgLyogV2ViSW5zcGVjdG9yQ2xpZW50Lm1tIGluIFNvdXJj
ZXMgKi8sCmRpZmYgLS1naXQgYS9XZWJLaXQvbWFjL0NoYW5nZUxvZyBiL1dlYktpdC9tYWMvQ2hh
bmdlTG9nCmluZGV4IGRiOTg1MGI1OWI3YTgxNTFjZjQ3NDEzNjJhYzdmMzc5MzIyOGFlNmMuLmU2
NGI3YWVmNTA0Y2UzYmI1YThjN2E2MGU0M2M3MTgyYTM5YmNkMTYgMTAwNjQ0Ci0tLSBhL1dlYktp
dC9tYWMvQ2hhbmdlTG9nCisrKyBiL1dlYktpdC9tYWMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTgg
QEAKKzIwMTAtMTAtMTEgIEFuZGVycyBDYXJsc3NvbiAgPGFuZGVyc2NhQGFwcGxlLmNvbT4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSZW1vdmUgV2Vi
SWNvbkZldGNoZXIgZnJvbSBXZWJLaXQgYW5kIEljb25GZXRjaGVyIGZyb20gV2ViQ29yZQorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDc1MjMKKworICAg
ICAgICBSZW1vdmUgYWxsIHRyYWNlcyBvZiB0aGUgV2ViS2l0IFdlYkljb25GZXRjaGVyIGNsYXNz
LiBJdCdzIFNQSSB0aGF0IG5vYm9keSB1c2VzLgorCisgICAgICAgICogTWlzYy9XZWJJY29uRmV0
Y2hlci5oOiBSZW1vdmVkLgorICAgICAgICAqIE1pc2MvV2ViSWNvbkZldGNoZXIubW06IFJlbW92
ZWQuCisgICAgICAgICogTWlzYy9XZWJJY29uRmV0Y2hlckludGVybmFsLmg6IFJlbW92ZWQuCisg
ICAgICAgICogV2ViVmlldy9XZWJGcmFtZS5tbToKKyAgICAgICAgKiBXZWJWaWV3L1dlYkZyYW1l
UHJpdmF0ZS5oOgorCiAyMDEwLTEwLTA3ICBKZXNzaWUgQmVybGluICA8amJlcmxpbkBhcHBsZS5j
b20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgU2FtIFdlaW5pZy4KZGlmZiAtLWdpdCBhL1dlYktp
dC9tYWMvTWlzYy9XZWJJY29uRmV0Y2hlci5oIGIvV2ViS2l0L21hYy9NaXNjL1dlYkljb25GZXRj
aGVyLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQyN2FkOTQxYmIxNDgyOWJmZWYx
OWRlOWY1YThkYzI4YTE1OTIzYzEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAKLS0tIGEvV2ViS2l0L21hYy9NaXNjL1dlYkljb25GZXRjaGVyLmgKKysrIC9kZXYvbnVs
bApAQCAtMSwzNiArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDA4IEFwcGxlIEluYy4g
QWxsIFJpZ2h0cyBSZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICog
YXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UgotICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
IAotICovCi0KLSNpbXBvcnQgPENvY29hL0NvY29hLmg+Ci0KLUBjbGFzcyBXZWJJY29uRmV0Y2hl
clByaXZhdGU7Ci0KLUBpbnRlcmZhY2UgV2ViSWNvbkZldGNoZXIgOiBOU09iamVjdCB7Ci0gICAg
V2ViSWNvbkZldGNoZXJQcml2YXRlICpfcHJpdmF0ZTsKLX0KLQotLSAodm9pZCljYW5jZWw7Ci0K
LUBlbmQKZGlmZiAtLWdpdCBhL1dlYktpdC9tYWMvTWlzYy9XZWJJY29uRmV0Y2hlci5tbSBiL1dl
YktpdC9tYWMvTWlzYy9XZWJJY29uRmV0Y2hlci5tbQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggYTMxYWI3ZDY5MDVjZjlkMjIwYmJlM2ViN2E5MWUxOWM4NjYxNWIxNi4uMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9XZWJLaXQvbWFjL01pc2MvV2Vi
SWNvbkZldGNoZXIubW0KKysrIC9kZXYvbnVsbApAQCAtMSwxMjggKzAsMCBAQAotLyoKLSAqIENv
cHlyaWdodCAoQykgMjAwOCBBcHBsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCi0gKgotICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
Ci0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMn
JyBBTkQgQU5ZCi0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgotICogQ09OVFJJQlVUT1JT
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
Ci0gKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sCi0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICog
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKLSAqLwotCi0jaW1wb3J0ICJXZWJJY29uRmV0
Y2hlci5oIgotCi0jaW1wb3J0ICJXZWJGcmFtZUludGVybmFsLmgiCi0jaW1wb3J0ICJXZWJJY29u
RmV0Y2hlckludGVybmFsLmgiCi0KLSNpbXBvcnQgPFdlYkNvcmUvRnJhbWUuaD4KLSNpbXBvcnQg
PFdlYkNvcmUvSWNvbkZldGNoZXIuaD4KLSNpbXBvcnQgPFdlYkNvcmUvU2hhcmVkQnVmZmVyLmg+
Ci0jaW1wb3J0IDx3dGYvUGFzc1JlZlB0ci5oPgotCi11c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsK
LQotY2xhc3MgV2ViSWNvbkZldGNoZXJDbGllbnQgOiBwdWJsaWMgSWNvbkZldGNoZXJDbGllbnQg
ewotcHVibGljOgotICAgIFdlYkljb25GZXRjaGVyQ2xpZW50KGlkIHRhcmdldCwgU0VMIHNlbGVj
dG9yKQotICAgICAgICA6IG1fdGFyZ2V0KHRhcmdldCkKLSAgICAgICAgLCBtX3NlbGVjdG9yKHNl
bGVjdG9yKQotICAgIHsKLSAgICB9Ci0KLSAgICB2aXJ0dWFsIHZvaWQgZmluaXNoZWRGZXRjaGlu
Z0ljb24oUGFzc1JlZlB0cjxTaGFyZWRCdWZmZXI+IGljb25EYXRhKQotICAgIHsKLSAgICAgICAg
UmV0YWluUHRyPE5TRGF0YT4gZGF0YTsKLSAgICAgICAgaWYgKGljb25EYXRhKQotICAgICAgICAg
ICAgZGF0YSA9IGljb25EYXRhLT5jcmVhdGVOU0RhdGEoKTsKLSAgICAgICAgCi0gICAgICAgIFtt
X3RhcmdldCBwZXJmb3JtU2VsZWN0b3I6bV9zZWxlY3RvciB3aXRoT2JqZWN0Om1fZmV0Y2hlci5n
ZXQoKSB3aXRoT2JqZWN0OmRhdGEuZ2V0KCldOwotCi0gICAgICAgIGRlbGV0ZSB0aGlzOwotICAg
IH0KLQotICAgIHZvaWQgc2V0RmV0Y2hlcihXZWJJY29uRmV0Y2hlciAqZmV0Y2hlcikgeyBtX2Zl
dGNoZXIgPSBmZXRjaGVyOyB9Ci0gICAgCi1wcml2YXRlOgotICAgIFJldGFpblB0cjxXZWJJY29u
RmV0Y2hlcj4gbV9mZXRjaGVyOwotICAgIGlkIG1fdGFyZ2V0OwotICAgIFNFTCBtX3NlbGVjdG9y
OwotfTsKLQotQGltcGxlbWVudGF0aW9uIFdlYkljb25GZXRjaGVyCi0KLS0gKGlkKWluaXQKLXsK
LSAgICByZXR1cm4gbmlsOwotfQotCi0tICh2b2lkKWRlYWxsb2MKLXsKLSAgICBpZiAoX3ByaXZh
dGUpCi0gICAgICAgIHJlaW50ZXJwcmV0X2Nhc3Q8SWNvbkZldGNoZXIqPihfcHJpdmF0ZSktPmRl
cmVmKCk7Ci0gICAgCi0gICAgW3N1cGVyIGRlYWxsb2NdOwotfQotCi0tICh2b2lkKWZpbmFsaXpl
Ci17Ci0gICAgaWYgKF9wcml2YXRlKQotICAgICAgICByZWludGVycHJldF9jYXN0PEljb25GZXRj
aGVyKj4oX3ByaXZhdGUpLT5kZXJlZigpOwotICAgIAotICAgIFtzdXBlciBmaW5hbGl6ZV07Ci19
Ci0KLS0gKHZvaWQpY2FuY2VsCi17Ci0gICAgcmVpbnRlcnByZXRfY2FzdDxJY29uRmV0Y2hlcio+
KF9wcml2YXRlKS0+Y2FuY2VsKCk7Ci19Ci0KLUBlbmQKLQotQGltcGxlbWVudGF0aW9uIFdlYklj
b25GZXRjaGVyIChXZWJJbnRlcm5hbCkKLQotLSAoaWQpX2luaXRXaXRoSWNvbkZldGNoZXI6KFBh
c3NSZWZQdHI8SWNvbkZldGNoZXI+KWljb25GZXRjaGVyIGNsaWVudDooV2ViSWNvbkZldGNoZXJD
bGllbnQgKiljbGllbnQKLXsKLSAgICBBU1NFUlQoaWNvbkZldGNoZXIpOwotICAgIAotICAgIHNl
bGYgPSBbc3VwZXIgaW5pdF07Ci0gICAgaWYgKCFzZWxmKQotICAgICAgICByZXR1cm4gbmlsOwot
Ci0gICAgY2xpZW50LT5zZXRGZXRjaGVyKHNlbGYpOwotICAgIF9wcml2YXRlID0gcmVpbnRlcnBy
ZXRfY2FzdDxXZWJJY29uRmV0Y2hlclByaXZhdGUqPihpY29uRmV0Y2hlci5yZWxlYXNlUmVmKCkp
OwotCi0gICAgcmV0dXJuIHNlbGY7Ci19Ci0KLSsgKFdlYkljb25GZXRjaGVyICopX2ZldGNoQXBw
bGljYXRpb25JY29uRm9yRnJhbWU6KFdlYkZyYW1lICopd2ViRnJhbWUKLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXQ6KGlkKXRhcmdldAotICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxlY3RvcjooU0VMKXNlbGVjdG9yCi17
Ci0gICAgRnJhbWUqIGZyYW1lID0gY29yZSh3ZWJGcmFtZSk7Ci0gICAgCi0gICAgV2ViSWNvbkZl
dGNoZXJDbGllbnQqIGNsaWVudCA9IG5ldyBXZWJJY29uRmV0Y2hlckNsaWVudCh0YXJnZXQsIHNl
bGVjdG9yKTsKLSAgICAKLSAgICBSZWZQdHI8SWNvbkZldGNoZXI+IGZldGNoZXIgPSBJY29uRmV0
Y2hlcjo6Y3JlYXRlKGZyYW1lLCBjbGllbnQpOwotICAgIAotICAgIGlmICghZmV0Y2hlcikKLSAg
ICAgICAgcmV0dXJuIG5pbDsKLSAgICAKLSAgICByZXR1cm4gW1tbV2ViSWNvbkZldGNoZXIgYWxs
b2NdIF9pbml0V2l0aEljb25GZXRjaGVyOmZldGNoZXIucmVsZWFzZSgpIGNsaWVudDpjbGllbnRd
IGF1dG9yZWxlYXNlXTsKLX0KLQotQGVuZAotCmRpZmYgLS1naXQgYS9XZWJLaXQvbWFjL01pc2Mv
V2ViSWNvbkZldGNoZXJJbnRlcm5hbC5oIGIvV2ViS2l0L21hYy9NaXNjL1dlYkljb25GZXRjaGVy
SW50ZXJuYWwuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNTk1MWVmOTk2MWViNWI1
MjdjZDdlZjBmYWFkZDNiNGUxNGM0ZDI0Ny4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9XZWJLaXQvbWFjL01pc2MvV2ViSWNvbkZldGNoZXJJbnRlcm5hbC5o
CisrKyAvZGV2L251bGwKQEAgLTEsNDIgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAw
OCBBcHBsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCi0gKgotICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCi0gKgotICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCi0gKiBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFRIRQotICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgotICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCi0gKiBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
Ci0gKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IKLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKLSAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0g
KiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLiAKLSAqLwotCi0jaW1wb3J0IDxXZWJLaXQvV2ViSWNvbkZldGNoZXIuaD4K
LSNpbXBvcnQgPHd0Zi9Gb3J3YXJkLmg+Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLSAgICBjbGFz
cyBJY29uRmV0Y2hlcjsKLX0KLQotQGNsYXNzIFdlYkZyYW1lOwotCi1AaW50ZXJmYWNlIFdlYklj
b25GZXRjaGVyIChXZWJJbnRlcm5hbCkKLQotKyAoV2ViSWNvbkZldGNoZXIgKilfZmV0Y2hBcHBs
aWNhdGlvbkljb25Gb3JGcmFtZTooV2ViRnJhbWUgKil3ZWJGcmFtZQotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhcmdldDooaWQpdGFyZ2V0Ci0gICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdG9yOihTRUwpc2VsZWN0b3I7Ci0K
LUBlbmQKLQpkaWZmIC0tZ2l0IGEvV2ViS2l0L21hYy9XZWJWaWV3L1dlYkZyYW1lLm1tIGIvV2Vi
S2l0L21hYy9XZWJWaWV3L1dlYkZyYW1lLm1tCmluZGV4IDAyNjk2ZjQ1N2M1MmJjNjgxNzg3NTQ4
NmEwZTk0NWVlMTAyZjMzMTUuLjQwOTllNDY3MDU4YzdjMjRkMDUxMWI2YTFhZmM3MDQxZTcwNTVi
MDEgMTAwNjQ0Ci0tLSBhL1dlYktpdC9tYWMvV2ViVmlldy9XZWJGcmFtZS5tbQorKysgYi9XZWJL
aXQvbWFjL1dlYlZpZXcvV2ViRnJhbWUubW0KQEAgLTQ0LDcgKzQ0LDYgQEAKICNpbXBvcnQgIldl
YkZyYW1lVmlld0ludGVybmFsLmgiCiAjaW1wb3J0ICJXZWJIVE1MVmlldy5oIgogI2ltcG9ydCAi
V2ViSFRNTFZpZXdJbnRlcm5hbC5oIgotI2ltcG9ydCAiV2ViSWNvbkZldGNoZXJJbnRlcm5hbC5o
IgogI2ltcG9ydCAiV2ViS2l0U3RhdGlzdGljc1ByaXZhdGUuaCIKICNpbXBvcnQgIldlYktpdFZl
cnNpb25DaGVja3MuaCIKICNpbXBvcnQgIldlYk5TT2JqZWN0RXh0cmFzLmgiCkBAIC0xMDA4LDE0
ICsxMDA3LDYgQEAgc3RhdGljIGlubGluZSBXZWJEYXRhU291cmNlICpkYXRhU291cmNlKERvY3Vt
ZW50TG9hZGVyKiBsb2FkZXIpCiAgICAgcmV0dXJuIF9wcml2YXRlLT5jb3JlRnJhbWUtPmRvbVdp
bmRvdygpLT5wZW5kaW5nVW5sb2FkRXZlbnRMaXN0ZW5lcnMoKTsKIH0KIAotLSAoV2ViSWNvbkZl
dGNoZXIgKilmZXRjaEFwcGxpY2F0aW9uSWNvbjooaWQpdGFyZ2V0Ci0gICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIHNlbGVjdG9yOihTRUwpc2VsZWN0b3IKLXsKLSAgICByZXR1cm4gW1dl
Ykljb25GZXRjaGVyIF9mZXRjaEFwcGxpY2F0aW9uSWNvbkZvckZyYW1lOnNlbGYKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFyZ2V0OnRhcmdldAot
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0b3I6
c2VsZWN0b3JdOwotfQotCiAtICh2b2lkKV9zZXRJc0Rpc2Nvbm5lY3RlZDooYm9vbClpc0Rpc2Nv
bm5lY3RlZAogewogICAgIF9wcml2YXRlLT5jb3JlRnJhbWUtPnNldElzRGlzY29ubmVjdGVkKGlz
RGlzY29ubmVjdGVkKTsKZGlmZiAtLWdpdCBhL1dlYktpdC9tYWMvV2ViVmlldy9XZWJGcmFtZVBy
aXZhdGUuaCBiL1dlYktpdC9tYWMvV2ViVmlldy9XZWJGcmFtZVByaXZhdGUuaAppbmRleCA5Y2I2
MjMyMzJiNGExYzNlNTM1YjMxZjZkNDlkNjc0MWJlZTcxOTJmLi5iMGNiMGYzM2Y4YzllZWUxNWJh
NGMyMTMyZTdkMDhkMzM2ZmZiYzFmIDEwMDY0NAotLS0gYS9XZWJLaXQvbWFjL1dlYlZpZXcvV2Vi
RnJhbWVQcml2YXRlLmgKKysrIGIvV2ViS2l0L21hYy9XZWJWaWV3L1dlYkZyYW1lUHJpdmF0ZS5o
CkBAIC0zOCw3ICszOCw2IEBACiBAY2xhc3MgRE9NRG9jdW1lbnRGcmFnbWVudDsKIEBjbGFzcyBE
T01Ob2RlOwogQGNsYXNzIERPTVJhbmdlOwotQGNsYXNzIFdlYkljb25GZXRjaGVyOwogQGNsYXNz
IFdlYlNjcmlwdE9iamVjdDsKIEBjbGFzcyBXZWJTY3JpcHRXb3JsZDsKIApAQCAtODcsOSArODYs
NiBAQCB0eXBlZGVmIGVudW0gewogCiAtICh1bnNpZ25lZClfcGVuZGluZ0ZyYW1lVW5sb2FkRXZl
bnRDb3VudDsKIAotLSAoV2ViSWNvbkZldGNoZXIgKilmZXRjaEFwcGxpY2F0aW9uSWNvbjooaWQp
dGFyZ2V0Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGVjdG9yOihTRUwpc2Vs
ZWN0b3I7Ci0KIC0gKHZvaWQpX3NldElzRGlzY29ubmVjdGVkOihib29sKWlzRGlzY29ubmVjdGVk
OwogLSAodm9pZClfc2V0RXhjbHVkZUZyb21UZXh0U2VhcmNoOihib29sKWV4Y2x1ZGU7CiAKZGlm
ZiAtLWdpdCBhL1dlYktpdC93aW4vQ2hhbmdlTG9nIGIvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKaW5k
ZXggMTVhMTIxNzZjZGJkMmE4YmU1NDQ3MGEyYjIzZWQ5Y2IyMGE3OTdlMC4uZmQxOGQ0NjI4YTk3
ZDMyNDQwOGVjYWFmMGI4NGVmNzg1NzBhZGIzYiAxMDA2NDQKLS0tIGEvV2ViS2l0L3dpbi9DaGFu
Z2VMb2cKKysrIGIvV2ViS2l0L3dpbi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMyBAQAorMjAxMC0x
MC0xMSAgQW5kZXJzIENhcmxzc29uICA8YW5kZXJzY2FAYXBwbGUuY29tPgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlbW92ZSBXZWJJY29uRmV0Y2hl
ciBmcm9tIFdlYktpdCBhbmQgSWNvbkZldGNoZXIgZnJvbSBXZWJDb3JlCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00NzUyMworCisgICAgICAgIFJlbW92
ZSBhbGwgdHJhY2VzIG9mIHRoZSBXZWJLaXQgV2ViSWNvbkZldGNoZXIgY2xhc3MuIEl0J3MgU1BJ
IHRoYXQgbm9ib2R5IHVzZXMuCisKKyAgICAgICAgKiBJbnRlcmZhY2VzL0lXZWJGcmFtZVByaXZh
dGUuaWRsOgorICAgICAgICAqIEludGVyZmFjZXMvSVdlYkljb25GZXRjaGVyLmlkbDogUmVtb3Zl
ZC4KKyAgICAgICAgKiBJbnRlcmZhY2VzL1dlYktpdC5pZGw6CisgICAgICAgICogV2ViRnJhbWUu
Y3BwOgorICAgICAgICAoV2ViRnJhbWU6OnVudXNlZDEpOgorICAgICAgICAqIFdlYkZyYW1lLmg6
CisgICAgICAgICogV2ViSWNvbkZldGNoZXIuY3BwOiBSZW1vdmVkLgorICAgICAgICAqIFdlYklj
b25GZXRjaGVyLmg6IFJlbW92ZWQuCisgICAgICAgICogV2ViS2l0LnZjcHJvai9JbnRlcmZhY2Vz
LnZjcHJvajoKKyAgICAgICAgKiBXZWJLaXQudmNwcm9qL1dlYktpdC52Y3Byb2o6CisKIDIwMTAt
MTAtMDcgIEplc3NpZSBCZXJsaW4gIDxqYmVybGluQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZp
ZXdlZCBieSBTYW0gV2VpbmlnLgpkaWZmIC0tZ2l0IGEvV2ViS2l0L3dpbi9JbnRlcmZhY2VzL0lX
ZWJGcmFtZVByaXZhdGUuaWRsIGIvV2ViS2l0L3dpbi9JbnRlcmZhY2VzL0lXZWJGcmFtZVByaXZh
dGUuaWRsCmluZGV4IDQ5OWFhMDM2ZjY4OTUzZTUzNGY0YzkyYTEyYzI0Nzk5ZjE3YjJkNmYuLjUw
ODVkYzc3YTQ2Y2U1YTJlOGM0NTJhN2FiMjI1YjJjOWZjZGQ1ZWMgMTAwNjQ0Ci0tLSBhL1dlYktp
dC93aW4vSW50ZXJmYWNlcy9JV2ViRnJhbWVQcml2YXRlLmlkbAorKysgYi9XZWJLaXQvd2luL0lu
dGVyZmFjZXMvSVdlYkZyYW1lUHJpdmF0ZS5pZGwKQEAgLTMwLDggKzMwLDYgQEAgaW1wb3J0ICJJ
V2ViRnJhbWUuaWRsIjsKICNlbmRpZgogCiBpbnRlcmZhY2UgSVdlYkZyYW1lOwotaW50ZXJmYWNl
IElXZWJJY29uRmV0Y2hlcjsKLWludGVyZmFjZSBJV2ViSWNvbkZldGNoZXJEZWxlZ2F0ZTsKIGlu
dGVyZmFjZSBJV2ViU2NyaXB0V29ybGQ7CiAKIHR5cGVkZWYgZW51bSB7CkBAIC04MSw3ICs3OSw3
IEBAIGludGVyZmFjZSBJV2ViRnJhbWVQcml2YXRlIDogSVVua25vd24KIAogICAgIEhSRVNVTFQg
cGVuZGluZ0ZyYW1lVW5sb2FkRXZlbnRDb3VudChbb3V0LCByZXR2YWxdIFVJTlQqIHJlc3VsdCk7
CiAKLSAgICBIUkVTVUxUIGZldGNoQXBwbGljYXRpb25JY29uKFtpbl0gSVdlYkljb25GZXRjaGVy
RGVsZWdhdGUqIGRlbGVnYXRlLCBbb3V0LCByZXR2YWxdIElXZWJJY29uRmV0Y2hlcioqIHJlc3Vs
dCk7CisgICAgSFJFU1VMVCB1bnVzZWQxKCk7CiAKICAgICBIUkVTVUxUIHBhaW50RG9jdW1lbnRS
ZWN0VG9Db250ZXh0KFtpbl0gUkVDVCByZWN0LCBbaW5dIE9MRV9IQU5ETEUgZGV2aWNlQ29udGV4
dCk7CiAKZGlmZiAtLWdpdCBhL1dlYktpdC93aW4vSW50ZXJmYWNlcy9JV2ViSWNvbkZldGNoZXIu
aWRsIGIvV2ViS2l0L3dpbi9JbnRlcmZhY2VzL0lXZWJJY29uRmV0Y2hlci5pZGwKZGVsZXRlZCBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDE0ODY2ODdjOTNiMTBiZGE4ZmFlYjE4MzI0MjcwMDlmMTQz
YjA1MDcuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvV2Vi
S2l0L3dpbi9JbnRlcmZhY2VzL0lXZWJJY29uRmV0Y2hlci5pZGwKKysrIC9kZXYvbnVsbApAQCAt
MSw1NiArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDA3LCAyMDA4IEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICog
YXJlIG1ldDoKLSAqCi0gKiAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiAgUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
LSAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqIDMuICBOZWl0aGVyIHRo
ZSBuYW1lIG9mIEFwcGxlIENvbXB1dGVyLCBJbmMuICgiQXBwbGUiKSBub3IgdGhlIG5hbWVzIG9m
Ci0gKiAgICAgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21v
dGUgcHJvZHVjdHMgZGVyaXZlZAotICogICAgIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNw
ZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIEFORCBJVFMgQ09OVFJJQlVUT1JTICJBUyBJUyIgQU5EIEFOWQot
ICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBUSEUgSU1QTElFRAotICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQotICogRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFO
WQotICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMKLSAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKLSAqIExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORAotICogT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRgot
ICogVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KLSAqLwotCi0jaWZuZGVmIERPX05PX0lNUE9SVFMKLWltcG9ydCAib2FpZGwu
aWRsIjsKLWltcG9ydCAib2NpZGwuaWRsIjsKLSNlbmRpZgotCi1pbnRlcmZhY2UgSVdlYkljb25G
ZXRjaGVyOwotCi1bCi0gICAgb2JqZWN0LAotICAgIG9sZWF1dG9tYXRpb24sCi0gICAgdXVpZCg5
ZDI3ZTUwMy0xZTBlLTQ1OGUtYmM2Ni1mZmE5ZmE2NDYwMGUpLAotICAgIHBvaW50ZXJfZGVmYXVs
dCh1bmlxdWUpCi1dCi1pbnRlcmZhY2UgSVdlYkljb25GZXRjaGVyRGVsZWdhdGUgOiBJVW5rbm93
bgotewotICAgIEhSRVNVTFQgZmluaXNoZWRMb2FkaW5nSWNvbihbaW5dIElXZWJJY29uRmV0Y2hl
ciogZmV0Y2hlciwgW2luXSBJU3RyZWFtKiBkYXRhKTsKLX0KLQotWwotICAgIG9iamVjdCwKLSAg
ICBvbGVhdXRvbWF0aW9uLAotICAgIHV1aWQoNTRmNTA0NjAtOGZmYS00NDJjLWI1QWItNTQyMmUx
ZmNjOTczKSwKLSAgICBwb2ludGVyX2RlZmF1bHQodW5pcXVlKQotXQotaW50ZXJmYWNlIElXZWJJ
Y29uRmV0Y2hlciA6IElVbmtub3duCi17Ci0gICAgSFJFU1VMVCBjYW5jZWwoKTsKLX0KZGlmZiAt
LWdpdCBhL1dlYktpdC93aW4vSW50ZXJmYWNlcy9XZWJLaXQuaWRsIGIvV2ViS2l0L3dpbi9JbnRl
cmZhY2VzL1dlYktpdC5pZGwKaW5kZXggZWZlMjI3MTc1OGIwMDZiZDJlMzYxNjNjZjNiNGViYjkw
OTQyY2UwNC4uYjRjZTQxMDc0NjIyOTUyMTQyYmNjYWVhYzk2ZGIzYWVkM2I1MzlkOSAxMDA2NDQK
LS0tIGEvV2ViS2l0L3dpbi9JbnRlcmZhY2VzL1dlYktpdC5pZGwKKysrIGIvV2ViS2l0L3dpbi9J
bnRlcmZhY2VzL1dlYktpdC5pZGwKQEAgLTEwMCw3ICsxMDAsNiBAQCBpbXBvcnQgIm9jaWRsLmlk
bCI7CiAjaW5jbHVkZSAiSVdlYkhpc3RvcnlJdGVtUHJpdmF0ZS5pZGwiCiAjaW5jbHVkZSAiSVdl
Ykhpc3RvcnlQcml2YXRlLmlkbCIKICNpbmNsdWRlICJJV2ViSWNvbkRhdGFiYXNlLmlkbCIKLSNp
bmNsdWRlICJJV2ViSWNvbkZldGNoZXIuaWRsIgogI2luY2x1ZGUgIklXZWJJbnNwZWN0b3IuaWRs
IgogI2luY2x1ZGUgIklXZWJJbnNwZWN0b3JQcml2YXRlLmlkbCIKICNpbmNsdWRlICJJV2ViSmF2
YVNjcmlwdENvbGxlY3Rvci5pZGwiCmRpZmYgLS1naXQgYS9XZWJLaXQvd2luL1dlYkZyYW1lLmNw
cCBiL1dlYktpdC93aW4vV2ViRnJhbWUuY3BwCmluZGV4IDI3ZGExZjRjOTYwNzcxZTYxNzVhNGI0
ZTJlZDZlYTAzZTBhMTM2YTEuLjEzZTY4NjVjMzAyZTZmNGY3MjdkMWJlNDM1NGQ4ZGNiZmIzZWZk
ZWEgMTAwNjQ0Ci0tLSBhL1dlYktpdC93aW4vV2ViRnJhbWUuY3BwCisrKyBiL1dlYktpdC93aW4v
V2ViRnJhbWUuY3BwCkBAIC00Niw3ICs0Niw2IEBACiAjaW5jbHVkZSAiV2ViRnJhbWVQb2xpY3lM
aXN0ZW5lci5oIgogI2luY2x1ZGUgIldlYkhpc3RvcnkuaCIKICNpbmNsdWRlICJXZWJIaXN0b3J5
SXRlbS5oIgotI2luY2x1ZGUgIldlYkljb25GZXRjaGVyLmgiCiAjaW5jbHVkZSAiV2ViS2l0Lmgi
CiAjaW5jbHVkZSAiV2ViS2l0U3RhdGlzdGljc1ByaXZhdGUuaCIKICNpbmNsdWRlICJXZWJNdXRh
YmxlVVJMUmVxdWVzdC5oIgpAQCAtMTAxNSwyNyArMTAxNCw5IEBAIEhSRVNVTFQgU1RETUVUSE9E
Q0FMTFRZUEUgV2ViRnJhbWU6OnBlbmRpbmdGcmFtZVVubG9hZEV2ZW50Q291bnQoCiAgICAgcmV0
dXJuIFNfT0s7CiB9CiAKLUhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgV2ViRnJhbWU6OmZldGNo
QXBwbGljYXRpb25JY29uKCAKLSAgICAvKiBbaW5dICovIElXZWJJY29uRmV0Y2hlckRlbGVnYXRl
ICpkZWxlZ2F0ZSwKLSAgICAvKiBbcmV0dmFsXVtvdXRdICovIElXZWJJY29uRmV0Y2hlciAqKnJl
c3VsdCkKK0hSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgV2ViRnJhbWU6OnVudXNlZDEoKQogewot
ICAgIGlmICghcmVzdWx0KQotICAgICAgICByZXR1cm4gRV9QT0lOVEVSOwotCi0gICAgKnJlc3Vs
dCA9IDA7Ci0KLSAgICBpZiAoIWRlbGVnYXRlKQotICAgICAgICByZXR1cm4gRV9GQUlMOwotCi0g
ICAgRnJhbWUqIGNvcmVGcmFtZSA9IGNvcmUodGhpcyk7Ci0gICAgaWYgKCFjb3JlRnJhbWUpCi0g
ICAgICAgIHJldHVybiBFX0ZBSUw7Ci0KLSAgICAqcmVzdWx0ID0gV2ViSWNvbkZldGNoZXI6OmZl
dGNoQXBwbGljYXRpb25JY29uKGNvcmVGcmFtZSwgZGVsZWdhdGUpOwotICAgIGlmICghKnJlc3Vs
dCkKLSAgICAgICAgcmV0dXJuIEVfRkFJTDsKLQotICAgIHJldHVybiBTX09LOworICAgIHJldHVy
biBFX05PVElNUEw7CiB9CiAKIC8vIElXZWJEb2N1bWVudFRleHQgLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KZGlmZiAtLWdpdCBhL1dl
YktpdC93aW4vV2ViRnJhbWUuaCBiL1dlYktpdC93aW4vV2ViRnJhbWUuaAppbmRleCAyMWMzMDI3
ZDFhNDZiM2I5NjMyNjU5YzQxMDdjMzg0MjJhNjg1NzQ2Li41YzBhYzVlMDljMTExMDVjZTc3ZGFl
NjMwNDI3NDQ4OGNjYjBlOWQxIDEwMDY0NAotLS0gYS9XZWJLaXQvd2luL1dlYkZyYW1lLmgKKysr
IGIvV2ViS2l0L3dpbi9XZWJGcmFtZS5oCkBAIC0xODcsOSArMTg3LDcgQEAgcHVibGljOgogICAg
IHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBwZW5kaW5nRnJhbWVVbmxvYWRFdmVu
dENvdW50KCAKICAgICAgICAgLyogW3JldHZhbF1bb3V0XSAqLyBVSU5UKiByZXN1bHQpOwogCi0g
ICAgdmlydHVhbCBIUkVTVUxUIFNURE1FVEhPRENBTExUWVBFIGZldGNoQXBwbGljYXRpb25JY29u
KCAKLSAgICAgICAgLyogW2luXSAqLyBJV2ViSWNvbkZldGNoZXJEZWxlZ2F0ZSAqZGVsZWdhdGUs
Ci0gICAgICAgIC8qIFtyZXR2YWxdW291dF0gKi8gSVdlYkljb25GZXRjaGVyICoqcmVzdWx0KTsK
KyAgICB2aXJ0dWFsIEhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgdW51c2VkMSgpOwogICAgIAog
ICAgIHZpcnR1YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBzZXRJblByaW50aW5nTW9kZSgg
CiAgICAgICAgIC8qIFtpbl0gKi8gQk9PTCB2YWx1ZSwKZGlmZiAtLWdpdCBhL1dlYktpdC93aW4v
V2ViSWNvbkZldGNoZXIuY3BwIGIvV2ViS2l0L3dpbi9XZWJJY29uRmV0Y2hlci5jcHAKZGVsZXRl
ZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGZiYzQ2YWY4N2FhMjM3YWI3Yjg3NDFjNjM3NzQ0NTM2
NWNiZWRjY2MuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEv
V2ViS2l0L3dpbi9XZWJJY29uRmV0Y2hlci5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSwxMjkgKzAs
MCBAQAotLyoNCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDggQXBwbGUgSW5jLiBBbGwgUmlnaHRzIFJl
c2VydmVkLg0KLSAqDQotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0DQotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zDQotICogYXJlIG1ldDoN
Ci0gKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodA0KLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4NCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodA0KLSAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUNCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLg0KLSAqDQotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZDQotICogRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUNCi0gKiBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVINCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgSU5DLiBPUg0KLSAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLA0KLSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywNCi0gKiBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1INCi0gKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZDQotICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUDQotICogKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFDQotICogT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4gDQotICovDQotDQotI2luY2x1ZGUgImNvbmZpZy5oIg0KLSNpbmNsdWRlICJXZWJL
aXRETEwuaCINCi0jaW5jbHVkZSAiV2ViSWNvbkZldGNoZXIuaCINCi0NCi0jaW5jbHVkZSAiTWVt
b3J5U3RyZWFtLmgiDQotI2luY2x1ZGUgPFdlYkNvcmUvQ09NUHRyLmg+DQotI2luY2x1ZGUgPFdl
YkNvcmUvU2hhcmVkQnVmZmVyLmg+DQotI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+DQotDQot
dXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7DQotDQotY2xhc3MgV2ViSWNvbkZldGNoZXJDbGllbnQg
OiBwdWJsaWMgSWNvbkZldGNoZXJDbGllbnQgew0KLXB1YmxpYzoNCi0gICAgV2ViSWNvbkZldGNo
ZXJDbGllbnQoSVdlYkljb25GZXRjaGVyRGVsZWdhdGUqIGRlbGVnYXRlKQ0KLSAgICAgICAgOiBt
X2ZldGNoZXIoMCkNCi0gICAgICAgICwgbV9kZWxlZ2F0ZShkZWxlZ2F0ZSkNCi0gICAgew0KLSAg
ICB9DQotDQotICAgIHZpcnR1YWwgdm9pZCBmaW5pc2hlZEZldGNoaW5nSWNvbihQYXNzUmVmUHRy
PFNoYXJlZEJ1ZmZlcj4gaWNvbkRhdGEpDQotICAgIHsNCi0gICAgICAgIENPTVB0cjxNZW1vcnlT
dHJlYW0+IG1lbW9yeVN0cmVhbTsNCi0gICAgICAgIGlmIChpY29uRGF0YSkNCi0gICAgICAgICAg
ICBtZW1vcnlTdHJlYW0gPSBNZW1vcnlTdHJlYW06OmNyZWF0ZUluc3RhbmNlKGljb25EYXRhKTsN
Ci0NCi0gICAgICAgIG1fZGVsZWdhdGUtPmZpbmlzaGVkTG9hZGluZ0ljb24obV9mZXRjaGVyLCBt
ZW1vcnlTdHJlYW0uZ2V0KCkpOw0KLQ0KLSAgICAgICAgZGVsZXRlIHRoaXM7DQotICAgIH0NCi0N
Ci0gICB2b2lkIHNldEZldGNoZXIoV2ViSWNvbkZldGNoZXIgKmZldGNoZXIpIHsgbV9mZXRjaGVy
ID0gZmV0Y2hlcjsgfQ0KLSAgICANCi1wcml2YXRlOg0KLSAgICBXZWJJY29uRmV0Y2hlciogbV9m
ZXRjaGVyOw0KLSAgICBDT01QdHI8SVdlYkljb25GZXRjaGVyRGVsZWdhdGU+IG1fZGVsZWdhdGU7
DQotfTsNCi0NCi0vLyBXZWJJY29uRmV0Y2hlciAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQotDQotV2ViSWNvbkZldGNo
ZXIqIFdlYkljb25GZXRjaGVyOjpmZXRjaEFwcGxpY2F0aW9uSWNvbihGcmFtZSogZnJhbWUsIElX
ZWJJY29uRmV0Y2hlckRlbGVnYXRlKiBkZWxlZ2F0ZSkNCi17DQotICAgIFdlYkljb25GZXRjaGVy
Q2xpZW50KiBjbGllbnQgPSBuZXcgV2ViSWNvbkZldGNoZXJDbGllbnQoZGVsZWdhdGUpOw0KLSAg
ICANCi0gICAgUmVmUHRyPEljb25GZXRjaGVyPiBmZXRjaGVyID0gSWNvbkZldGNoZXI6OmNyZWF0
ZShmcmFtZSwgY2xpZW50KTsNCi0gICAgDQotICAgIGlmICghZmV0Y2hlcikNCi0gICAgICAgIHJl
dHVybiAwOw0KLSAgICANCi0gICAgQ09NUHRyPFdlYkljb25GZXRjaGVyPiBpY29uRmV0Y2hlciA9
IG5ldyBXZWJJY29uRmV0Y2hlcihmZXRjaGVyLnJlbGVhc2UoKSk7DQotICAgIGNsaWVudC0+c2V0
RmV0Y2hlcihpY29uRmV0Y2hlci5nZXQoKSk7DQotDQotICAgIHJldHVybiBpY29uRmV0Y2hlci5y
ZWxlYXNlUmVmKCk7DQotfQ0KLQ0KLVdlYkljb25GZXRjaGVyOjpXZWJJY29uRmV0Y2hlcihQYXNz
UmVmUHRyPEljb25GZXRjaGVyPiBpY29uRmV0Y2hlcikNCi0gICAgOiBtX3JlZkNvdW50KDApDQot
ICAgICwgbV9pY29uRmV0Y2hlcihpY29uRmV0Y2hlcikNCi17DQotICAgIGdDbGFzc0NvdW50Kys7
DQotfQ0KLQ0KLVdlYkljb25GZXRjaGVyOjp+V2ViSWNvbkZldGNoZXIoKQ0KLXsNCi0gICAgZ0Ns
YXNzQ291bnQtLTsNCi19DQotDQotLy8gSVVua25vd24gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KLQ0KLUhSRVNVTFQg
U1RETUVUSE9EQ0FMTFRZUEUgV2ViSWNvbkZldGNoZXI6OlF1ZXJ5SW50ZXJmYWNlKFJFRklJRCBy
aWlkLCB2b2lkKiogcHB2T2JqZWN0KQ0KLXsNCi0gICAgKnBwdk9iamVjdCA9IDA7DQotICAgIGlm
IChJc0VxdWFsR1VJRChyaWlkLCBJSURfSVVua25vd24pKQ0KLSAgICAgICAgKnBwdk9iamVjdCA9
IHN0YXRpY19jYXN0PElVbmtub3duKj4odGhpcyk7DQotICAgIGVsc2UgaWYgKElzRXF1YWxHVUlE
KHJpaWQsIElJRF9JV2ViSWNvbkZldGNoZXIpKQ0KLSAgICAgICAgKnBwdk9iamVjdCA9IHN0YXRp
Y19jYXN0PElXZWJJY29uRmV0Y2hlcio+KHRoaXMpOw0KLSAgICBlbHNlDQotICAgICAgICByZXR1
cm4gRV9OT0lOVEVSRkFDRTsNCi0NCi0gICAgQWRkUmVmKCk7DQotICAgIHJldHVybiBTX09LOw0K
LX0NCi0NCi1VTE9ORyBTVERNRVRIT0RDQUxMVFlQRSBXZWJJY29uRmV0Y2hlcjo6QWRkUmVmKCkN
Ci17DQotICAgIHJldHVybiArK21fcmVmQ291bnQ7DQotfQ0KLQ0KLVVMT05HIFNURE1FVEhPRENB
TExUWVBFIFdlYkljb25GZXRjaGVyOjpSZWxlYXNlKCkNCi17DQotICAgIFVMT05HIG5ld1JlZiA9
IC0tbV9yZWZDb3VudDsNCi0gICAgaWYgKCFuZXdSZWYpDQotICAgICAgICBkZWxldGUgdGhpczsN
Ci0NCi0gICAgcmV0dXJuIG5ld1JlZjsNCi19DQotDQotLy8gSVVua25vd24gLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0K
LQ0KLUhSRVNVTFQgU1RETUVUSE9EQ0FMTFRZUEUgV2ViSWNvbkZldGNoZXI6OmNhbmNlbCgpDQot
ew0KLSAgICBtX2ljb25GZXRjaGVyLT5jYW5jZWwoKTsNCi0NCi0gICAgcmV0dXJuIFNfT0s7DQot
fQ0KZGlmZiAtLWdpdCBhL1dlYktpdC93aW4vV2ViSWNvbkZldGNoZXIuaCBiL1dlYktpdC93aW4v
V2ViSWNvbkZldGNoZXIuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjk0YWViZmI1
ZmFkOTZkZjZkM2ExYzE5NWY3MmZmZDQxZjYwNDhjNS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMAotLS0gYS9XZWJLaXQvd2luL1dlYkljb25GZXRjaGVyLmgKKysrIC9k
ZXYvbnVsbApAQCAtMSw1MiArMCwwIEBACi0vKg0KLSAqIENvcHlyaWdodCAoQykgMjAwOCBBcHBs
ZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuDQotICoNCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQNCi0gKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMNCi0gKiBhcmUgbWV0Og0KLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0DQotICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLg0KLSAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0DQotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQ0KLSAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uDQotICoNCi0gKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkN
Ci0gKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFRIRQ0KLSAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUg0KLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
ICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SDQotICogQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsDQotICog
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLA0KLSAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUg0KLSAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkNCi0gKiBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQNCi0gKiAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UNCi0gKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiANCi0gKi8NCi0NCi0jaWZuZGVmIFdlYkljb25G
ZXRjaGVyX2gNCi0jZGVmaW5lIFdlYkljb25GZXRjaGVyX2gNCi0NCi0jaW5jbHVkZSAiV2ViS2l0
LmgiDQotI2luY2x1ZGUgPFdlYkNvcmUvSWNvbkZldGNoZXIuaD4NCi0NCi1jbGFzcyBXZWJJY29u
RmV0Y2hlciA6IHB1YmxpYyBJV2ViSWNvbkZldGNoZXIgew0KLXB1YmxpYzoNCi0gICAgc3RhdGlj
IFdlYkljb25GZXRjaGVyKiBmZXRjaEFwcGxpY2F0aW9uSWNvbihXZWJDb3JlOjpGcmFtZSosIElX
ZWJJY29uRmV0Y2hlckRlbGVnYXRlKik7DQotDQotICAgIC8vIElVbmtub3duDQotICAgIHZpcnR1
YWwgSFJFU1VMVCBTVERNRVRIT0RDQUxMVFlQRSBRdWVyeUludGVyZmFjZShSRUZJSUQgcmlpZCwg
dm9pZCoqIHBwdk9iamVjdCk7DQotICAgIHZpcnR1YWwgVUxPTkcgU1RETUVUSE9EQ0FMTFRZUEUg
QWRkUmVmKCk7DQotICAgIHZpcnR1YWwgVUxPTkcgU1RETUVUSE9EQ0FMTFRZUEUgUmVsZWFzZSgp
Ow0KLQ0KLSAgICAvLyBJV2ViSWNvbkZldGNoZXINCi0gICAgdmlydHVhbCBIUkVTVUxUIFNURE1F
VEhPRENBTExUWVBFIGNhbmNlbCgpOw0KLQ0KLXByaXZhdGU6DQotICAgIFdlYkljb25GZXRjaGVy
KFBhc3NSZWZQdHI8V2ViQ29yZTo6SWNvbkZldGNoZXI+KTsNCi0gICAgfldlYkljb25GZXRjaGVy
KCk7DQotDQotICAgIFVMT05HIG1fcmVmQ291bnQ7DQotICAgIFJlZlB0cjxXZWJDb3JlOjpJY29u
RmV0Y2hlcj4gbV9pY29uRmV0Y2hlcjsNCi19Ow0KLQ0KLSNlbmRpZiAvLyBXZWJJY29uRmV0Y2hl
cl9oDQpkaWZmIC0tZ2l0IGEvV2ViS2l0L3dpbi9XZWJLaXQudmNwcm9qL0ludGVyZmFjZXMudmNw
cm9qIGIvV2ViS2l0L3dpbi9XZWJLaXQudmNwcm9qL0ludGVyZmFjZXMudmNwcm9qCmluZGV4IDA5
NzE2MDJjYzNkZDI5ZjNhMzM4OWZlZTY1ZTc4Mjk1OWZjYzk4NDMuLjBmM2I2YTdhMzFiMWM0ODM3
OGRkODAxY2IyZjRlZmYxM2IyZTIxYzMgMTAwNjQ0Ci0tLSBhL1dlYktpdC93aW4vV2ViS2l0LnZj
cHJvai9JbnRlcmZhY2VzLnZjcHJvagorKysgYi9XZWJLaXQvd2luL1dlYktpdC52Y3Byb2ovSW50
ZXJmYWNlcy52Y3Byb2oKQEAgLTEwMDQsMjYgKzEwMDQsNiBAQAogCQkJPC9GaWxlQ29uZmlndXJh
dGlvbj4NCiAJCTwvRmlsZT4NCiAJCTxGaWxlDQotCQkJUmVsYXRpdmVQYXRoPSIuLlxJbnRlcmZh
Y2VzXElXZWJJY29uRmV0Y2hlci5pZGwiDQotCQkJPg0KLQkJCTxGaWxlQ29uZmlndXJhdGlvbg0K
LQkJCQlOYW1lPSJEZWJ1Z3xXaW4zMiINCi0JCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiDQot
CQkJCT4NCi0JCQkJPFRvb2wNCi0JCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJCS8+DQotCQkJ
PC9GaWxlQ29uZmlndXJhdGlvbj4NCi0JCQk8RmlsZUNvbmZpZ3VyYXRpb24NCi0JCQkJTmFtZT0i
UmVsZWFzZXxXaW4zMiINCi0JCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiDQotCQkJCT4NCi0J
CQkJPFRvb2wNCi0JCQkJCU5hbWU9IlZDTUlETFRvb2wiDQotCQkJCS8+DQotCQkJPC9GaWxlQ29u
ZmlndXJhdGlvbj4NCi0JCTwvRmlsZT4NCi0JCTxGaWxlDQogCQkJUmVsYXRpdmVQYXRoPSIuLlxJ
bnRlcmZhY2VzXElXZWJJbnNwZWN0b3IuaWRsIg0KIAkJCT4NCiAJCQk8RmlsZUNvbmZpZ3VyYXRp
b24NCmRpZmYgLS1naXQgYS9XZWJLaXQvd2luL1dlYktpdC52Y3Byb2ovV2ViS2l0LnZjcHJvaiBi
L1dlYktpdC93aW4vV2ViS2l0LnZjcHJvai9XZWJLaXQudmNwcm9qCmluZGV4IDgyMmUxM2NmYmJk
OGI4MWNjZThkNmY0NGM0ZTk4ODhhMjU2MGFlMTMuLjk3NDA5NDdjZWI3N2UyMGRhNTEyY2Y2ZTNl
MmE5OTI2MTgyZmMzNWQgMTAwNjQ0Ci0tLSBhL1dlYktpdC93aW4vV2ViS2l0LnZjcHJvai9XZWJL
aXQudmNwcm9qCisrKyBiL1dlYktpdC93aW4vV2ViS2l0LnZjcHJvai9XZWJLaXQudmNwcm9qCkBA
IC02MTIsMTAgKzYxMiw2IEBACiAJCQkJPg0KIAkJCTwvRmlsZT4NCiAJCQk8RmlsZQ0KLQkJCQlS
ZWxhdGl2ZVBhdGg9Ii4uXFdlYkljb25GZXRjaGVyLmgiDQotCQkJCT4NCi0JCQk8L0ZpbGU+DQot
CQkJPEZpbGUNCiAJCQkJUmVsYXRpdmVQYXRoPSIuLlxXZWJJbnNwZWN0b3IuaCINCiAJCQkJPg0K
IAkJCTwvRmlsZT4NCkBAIC0xMDM2LDEwICsxMDMyLDYgQEAKIAkJCQk+DQogCQkJPC9GaWxlPg0K
IAkJCTxGaWxlDQotCQkJCVJlbGF0aXZlUGF0aD0iLi5cV2ViSWNvbkZldGNoZXIuY3BwIg0KLQkJ
CQk+DQotCQkJPC9GaWxlPg0KLQkJCTxGaWxlDQogCQkJCVJlbGF0aXZlUGF0aD0iLi5cV2ViSW5z
cGVjdG9yLmNwcCINCiAJCQkJPg0KIAkJCTwvRmlsZT4NCg==
</data>
<flag name="review"
          id="60360"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>