<?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>226104</bug_id>
          
          <creation_ts>2021-05-21 13:00:57 -0700</creation_ts>
          <short_desc>REGRESSION(r276993): 5 TestWebKitAPI.AudioRoutingArbitration (api-tests) are constant failures</short_desc>
          <delta_ts>2021-06-08 16:19:18 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=226787</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Jer Noble">jer.noble</reporter>
          <assigned_to name="Jer Noble">jer.noble</assigned_to>
          <cc>annulen</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>jean-yves.avenard</cc>
    
    <cc>peng.liu6</cc>
    
    <cc>philipj</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>1762534</commentid>
    <comment_count>0</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2021-05-21 13:00:57 -0700</bug_when>
    <thetext>REGRESSION(r276993): 5 TestWebKitAPI.AudioRoutingArbitration (api-tests) are constant failures</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1762535</commentid>
    <comment_count>1</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2021-05-21 13:01:15 -0700</bug_when>
    <thetext>&lt;rdar://77998049&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1762540</commentid>
    <comment_count>2</comment_count>
      <attachid>429330</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2021-05-21 13:11:47 -0700</bug_when>
    <thetext>Created attachment 429330
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1762565</commentid>
    <comment_count>3</comment_count>
      <attachid>429334</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2021-05-21 13:46:20 -0700</bug_when>
    <thetext>Created attachment 429334
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1762571</commentid>
    <comment_count>4</comment_count>
      <attachid>429336</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2021-05-21 14:00:29 -0700</bug_when>
    <thetext>Created attachment 429336
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1762628</commentid>
    <comment_count>5</comment_count>
      <attachid>429355</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2021-05-21 15:54:40 -0700</bug_when>
    <thetext>Created attachment 429355
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1762689</commentid>
    <comment_count>6</comment_count>
      <attachid>429373</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2021-05-21 17:15:49 -0700</bug_when>
    <thetext>Created attachment 429373
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1762693</commentid>
    <comment_count>7</comment_count>
      <attachid>429355</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2021-05-21 17:29:17 -0700</bug_when>
    <thetext>Comment on attachment 429355
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=429355&amp;action=review

&gt; Source/WebCore/platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:291
&gt; +    bool currentDataAvailable() const { return m_readyState &gt;= MediaPlayer::ReadyState::HaveCurrentData; }

You probably didn&apos;t mean to include this :-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1766018</commentid>
    <comment_count>8</comment_count>
      <attachid>430366</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2021-06-02 09:01:33 -0700</bug_when>
    <thetext>Created attachment 430366
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1766062</commentid>
    <comment_count>9</comment_count>
      <attachid>430374</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2021-06-02 10:35:30 -0700</bug_when>
    <thetext>Created attachment 430374
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1766165</commentid>
    <comment_count>10</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-06-02 14:36:00 -0700</bug_when>
    <thetext>Committed r278374 (238401@main): &lt;https://commits.webkit.org/238401@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 430374.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>429330</attachid>
            <date>2021-05-21 13:11:47 -0700</date>
            <delta_ts>2021-05-21 13:47:24 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-226104-20210521131146.patch</filename>
            <type>text/plain</type>
            <size>20334</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc3ODcxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGUzMzRiMzU0ZmUwYzZk
NzBmYmMxMTM2NzA2Njg4MzI1YmEwODZkNC4uMjVjYjNkNDQ1MThiMGVkMThkYzg2OTEwMjdiOTZi
Njc0MTY4ODAzNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDIxLTA1LTIxICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIFJFR1JFU1NJT04ocjI3Njk5
Myk6IDUgVGVzdFdlYktpdEFQSS5BdWRpb1JvdXRpbmdBcmJpdHJhdGlvbiAoYXBpLXRlc3RzKSBh
cmUgY29uc3RhbnQgZmFpbHVyZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIyNjEwNAorICAgICAgICA8cmRhcjovLzc3OTk4MDQ5PgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBhIG1lY2hhbmlzbSBm
b3IgYSBjbGllbnQgdG8gd2FpdCB1bnRpbCBhbiBBdWRpb1Nlc3Npb24gaXMgY3JlYXRlZCBvciBj
aGFuZ2VkIGJlZm9yZSB0YWtpbmcKKyAgICAgICAgYW4gYWN0aW9uLgorCisgICAgICAgICogcGxh
dGZvcm0vYXVkaW8vQXVkaW9TZXNzaW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmF1ZGlvU2Vz
c2lvbkNoYW5nZWRPYnNlcnZlcnMpOgorICAgICAgICAoV2ViQ29yZTo6QXVkaW9TZXNzaW9uOjpz
aGFyZWRTZXNzaW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvU2Vzc2lvbjo6c2V0U2hhcmVk
U2Vzc2lvbik6CisgICAgICAgIChXZWJDb3JlOjpBdWRpb1Nlc3Npb246OmFkZEF1ZGlvU2Vzc2lv
bkNoYW5nZWRPYnNlcnZlcik6CisgICAgICAgICogcGxhdGZvcm0vYXVkaW8vQXVkaW9TZXNzaW9u
Lmg6CisKIDIwMjEtMDUtMjAgIEplciBOb2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CiAKICAg
ICAgICAgW0NvY29hXSBMYXN0IGZldyBzZWNvbmRzIG9mICdhdWRpby93ZWJtOyBjb2RlY3M9dm9y
YmlzJyBhcHBlbmRlZCB0byBhIFNhbXBsZUJ1ZmZlciBhcmUgbm90IHBsYXllZApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRl
eCBmZTFjNzZiOWRiMWI5N2U4NDAzMzgzMTk0NTEyMmRjNzlmOTBlY2MzLi4wNjFkYzNlZTQ4NGRj
MGQ4MTYzMmZkNjMwMjI5N2NiOTkwNGZhMzk2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDUyIEBACisy
MDIxLTA1LTIxICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIFJF
R1JFU1NJT04ocjI3Njk5Myk6IDUgVGVzdFdlYktpdEFQSS5BdWRpb1JvdXRpbmdBcmJpdHJhdGlv
biAoYXBpLXRlc3RzKSBhcmUgY29uc3RhbnQgZmFpbHVyZXMKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNjEwNAorICAgICAgICA8cmRhcjovLzc3OTk4
MDQ5PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIElu
IHIyNzY5OTMsIEF1ZGlvU2Vzc2lvblJvdXRpbmdBcmJpdHJhdGlvbiB3YXMgbW92ZWQgZnJvbSBi
ZWluZyBpbml0aWF0ZWQgaW4gdGhlIFdlYkNvbnRlbnQgcHJvY2VzcworICAgICAgICBhbmQgZGlz
cGF0Y2hlZCB0byB0aGUgVUlQcm9jZXNzLCB0byBiZWluZyBkaXNwYXRjaGVkIHRvIHRoZSBHUFUg
cHJvY2Vzcy4gSG93ZXZlciB0d28gcHJvYmxlbXMgb2NjdXJyZWQ6CisKKyAgICAgICAgMSkgVGhl
IFVJUHJvY2VzcyBubyBsb25nZXIga25vd3MgYWJvdXQgcm91dGluZyBhcmJpdHJhdGlvbiwgd2hp
Y2ggaXMgcmVhc29uYWJsZSBmb3IgdGhlIGZlYXR1cmUsIGJ1dAorICAgICAgICAgICBicmVha3Mg
YW4gQVBJIHRlc3QgdGhhdCBxdWVyaWVzIGFyYml0cmF0aW9uIHN0YXR1cyBpbiB0aGUgVUlQcm9j
ZXNzLgorCisgICAgICAgIDIpIEEgc2FuZGJveCB2aW9sYXRpb24gY2F1c2VzIHJvdXRpbmcgYXJi
aXRyYXRpb24gdG8gZmFpbCBpbiB0aGUgR1BVIHByb2Nlc3MgcmVnYXJkbGVzcy4KKworICAgICAg
ICBXZSBjb3VsZCBvcGVuIHVwIHRoZSBzYW5kYm94IHRvIGFsbG93IHJvdXRpbmcgYXJiaXRyYXRp
b24gdG8gc3VjY2VlZCAoYW5kIGNvbWUgdXAgd2l0aCBhIHdheSB0byBwdXNoCisgICAgICAgIHN0
YXRlIGNoYW5nZXMgdXAgdG8gdGhlIFVJUHJvY2VzcyBmb3IgdGVzdGluZyBwdXJwb3NlcyksIGJ1
dCBpdCdzIG5vdCB0ZWNobmljYWxseSBuZWNlc3NhcnkgZm9yCisgICAgICAgIGFyYml0cmF0aW9u
IHRvIG9jY3VyIHRoZXJlLiBJbnN0ZWFkLCBqdXN0IHJldmVydCB0byB0aGUgc3RhdHVzLXF1by1h
bnRlIGJlaGF2aW9yIG9mIGhhdmluZyBhcmJpdHJhdGlvbgorICAgICAgICB0YWtlIHBsYWNlIGlu
IHRoZSBVSVByb2Nlc3MsIGFuZCBqdXN0IGFkZCBhIG5ldyBzZXQgb2YgbWVzc2FnZXMgZnJvbSB0
aGUgR1BVQ29ubm9jdGlvblRvV2ViUHJvY2VzcyB0bworICAgICAgICB0aGUgR1BVUHJvY2Vzc0Nv
bm5lY3Rpb24gdG8gZmFjaWxpdGF0ZSBhcmJpdHJhdGlvbi4KKworICAgICAgICBEcml2ZS1ieSBm
aXg6IEF1ZGlvU2Vzc2lvblJvdXRpbmdBcmJpdHJhdG9yIGlzIGEgc3VwcGxlbWVudCB0byBXZWJQ
cm9jZXNzLCBhbmQgYXMgc3VjaCBpdCdzIGNyZWF0ZWQKKyAgICAgICAgYXQgV2ViUHJvY2VzcyBj
cmVhdGlvbiB0aW1lLiBIb3dldmVyLCBpdCBhbHNvIGNhdXNlcyBhbiBBdWRpb1Nlc3Npb24gdG8g
YmUgY3JlYXRlZCBieSBhdHRlbXB0aW5nIHRvCisgICAgICAgIGFkZCBpdHNlbGYgYXMgYSBjbGll
bnQuIFRoaXMgaXMgYmFkIG9uIGlPUywgd2hlcmUgaXQgY291bGQgY2F1c2UgaGFuZ3MgZHVlIHRv
IEFWQXVkaW9TZXNzaW9uIGNhbGxzLgorICAgICAgICBTbywgYWRkIGEgbWVjaGFuaXNtIHRvIGJl
IG5vdGlmaWVkIHdoZW4gYW4gQXVkaW9TZXNzaW9uIGV2ZW50dWFsbHkgZG9lcyBnZXQgY3JlYXRl
ZCwgYW5kIGFkZCB0aGUKKyAgICAgICAgYXJiaXRyYXRvciBhcyBhIGNsaWVudCB0aGVuLgorCisg
ICAgICAgICogR1BVUHJvY2Vzcy9HUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmNwcDoKKyAgICAg
ICAgKFdlYktpdDo6R1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6R1BVQ29ubmVjdGlvblRvV2Vi
UHJvY2Vzcyk6CisgICAgICAgICogR1BVUHJvY2Vzcy9tYWMvTG9jYWxBdWRpb1Nlc3Npb25Sb3V0
aW5nQXJiaXRyYXRvci5jcHA6CisgICAgICAgIChXZWJLaXQ6OkxvY2FsQXVkaW9TZXNzaW9uUm91
dGluZ0FyYml0cmF0b3I6OmNyZWF0ZSk6CisgICAgICAgIChXZWJLaXQ6OkxvY2FsQXVkaW9TZXNz
aW9uUm91dGluZ0FyYml0cmF0b3I6OkxvY2FsQXVkaW9TZXNzaW9uUm91dGluZ0FyYml0cmF0b3Ip
OgorICAgICAgICAoV2ViS2l0OjpMb2NhbEF1ZGlvU2Vzc2lvblJvdXRpbmdBcmJpdHJhdG9yOjpw
cm9jZXNzRGlkVGVybWluYXRlKToKKyAgICAgICAgKFdlYktpdDo6TG9jYWxBdWRpb1Nlc3Npb25S
b3V0aW5nQXJiaXRyYXRvcjo6YmVnaW5Sb3V0aW5nQXJiaXRyYXRpb25XaXRoQ2F0ZWdvcnkpOgor
ICAgICAgICAoV2ViS2l0OjpMb2NhbEF1ZGlvU2Vzc2lvblJvdXRpbmdBcmJpdHJhdG9yOjpsZWF2
ZVJvdXRpbmdBYnJpdHJhdGlvbik6CisgICAgICAgICogR1BVUHJvY2Vzcy9tYWMvTG9jYWxBdWRp
b1Nlc3Npb25Sb3V0aW5nQXJiaXRyYXRvci5oOgorICAgICAgICAqIEdQVVByb2Nlc3MvbWVkaWEv
UmVtb3RlQXVkaW9TZXNzaW9uUHJveHlNYW5hZ2VyLmg6CisgICAgICAgIChXZWJLaXQ6OlJlbW90
ZUF1ZGlvU2Vzc2lvblByb3h5TWFuYWdlcjo6c2Vzc2lvbik6CisgICAgICAgICogVUlQcm9jZXNz
L0dQVS9HUFVQcm9jZXNzUHJveHkuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL0dQVS9HUFVQcm9j
ZXNzQ29ubmVjdGlvbi5jcHA6CisgICAgICAgIChXZWJLaXQ6OkdQVVByb2Nlc3NDb25uZWN0aW9u
OjpiZWdpblJvdXRpbmdBcmJpdHJhdGlvbldpdGhDYXRlZ29yeSk6CisgICAgICAgIChXZWJLaXQ6
OkdQVVByb2Nlc3NDb25uZWN0aW9uOjplbmRSb3V0aW5nQXJiaXRyYXRpb24pOgorICAgICAgICAq
IFdlYlByb2Nlc3MvR1BVL0dQVVByb2Nlc3NDb25uZWN0aW9uLmg6CisgICAgICAgICogV2ViUHJv
Y2Vzcy9HUFUvR1BVUHJvY2Vzc0Nvbm5lY3Rpb24ubWVzc2FnZXMuaW46CisgICAgICAgICogV2Vi
UHJvY2Vzcy9jb2NvYS9BdWRpb1Nlc3Npb25Sb3V0aW5nQXJiaXRyYXRvci5jcHA6CisgICAgICAg
IChXZWJLaXQ6OkF1ZGlvU2Vzc2lvblJvdXRpbmdBcmJpdHJhdG9yOjpBdWRpb1Nlc3Npb25Sb3V0
aW5nQXJiaXRyYXRvcik6CisgICAgICAgICogV2ViUHJvY2Vzcy9jb2NvYS9BdWRpb1Nlc3Npb25S
b3V0aW5nQXJiaXRyYXRvci5oOgorCiAyMDIxLTA1LTIxICBBZHJpYW4gUGVyZXogZGUgQ2FzdHJv
ICA8YXBlcmV6QGlnYWxpYS5jb20+CiAKICAgICAgICAgTm9uLXVuaWZpZWQgYnVpbGQgZml4ZXMs
IGxhdGUtaXNoIE1heSAyMDIxIGVkaXRpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2F1ZGlvL0F1ZGlvU2Vzc2lvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9h
dWRpby9BdWRpb1Nlc3Npb24uY3BwCmluZGV4IDhlNjg2ZTQ0N2I5YjY2ZGNlOGFiN2UyMTM3MTRm
ZGU2MGU5M2JiNWMuLmVkZWYzZDNmYWIyYTZlNTQ4OWFkNmUwYTNkNGFjYWFhZTMxM2NjODYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvU2Vzc2lvbi5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9TZXNzaW9uLmNwcApAQCAt
NDcsNiArNDcsMTIgQEAgc3RhdGljIE9wdGlvbmFsPFVuaXF1ZVJlZjxBdWRpb1Nlc3Npb24+PiYg
c2hhcmVkQXVkaW9TZXNzaW9uKCkKICAgICByZXR1cm4gc2Vzc2lvbi5nZXQoKTsKIH0KIAorc3Rh
dGljIFdlYWtIYXNoU2V0PEF1ZGlvU2Vzc2lvbjo6Q2hhbmdlZE9ic2VydmVyPiYgYXVkaW9TZXNz
aW9uQ2hhbmdlZE9ic2VydmVycygpCit7CisgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPFdlYWtI
YXNoU2V0PEF1ZGlvU2Vzc2lvbjo6Q2hhbmdlZE9ic2VydmVyPj4gb2JzZXJ2ZXJzOworICAgIHJl
dHVybiBvYnNlcnZlcnM7Cit9CisKIFVuaXF1ZVJlZjxBdWRpb1Nlc3Npb24+IEF1ZGlvU2Vzc2lv
bjo6Y3JlYXRlKCkKIHsKICNpZiBQTEFURk9STShNQUMpCkBAIC02NCwxMyArNzAsMjYgQEAgQXVk
aW9TZXNzaW9uOjp+QXVkaW9TZXNzaW9uKCkgPSBkZWZhdWx0OwogQXVkaW9TZXNzaW9uJiBBdWRp
b1Nlc3Npb246OnNoYXJlZFNlc3Npb24oKQogewogICAgIGlmICghc2hhcmVkQXVkaW9TZXNzaW9u
KCkpCi0gICAgICAgIHNoYXJlZEF1ZGlvU2Vzc2lvbigpID0gQXVkaW9TZXNzaW9uOjpjcmVhdGUo
KTsKKyAgICAgICAgc2V0U2hhcmVkU2Vzc2lvbihBdWRpb1Nlc3Npb246OmNyZWF0ZSgpKTsKICAg
ICByZXR1cm4gKnNoYXJlZEF1ZGlvU2Vzc2lvbigpOwogfQogCiB2b2lkIEF1ZGlvU2Vzc2lvbjo6
c2V0U2hhcmVkU2Vzc2lvbihVbmlxdWVSZWY8QXVkaW9TZXNzaW9uPiYmIHNlc3Npb24pCiB7CiAg
ICAgc2hhcmVkQXVkaW9TZXNzaW9uKCkgPSBXVEZNb3ZlKHNlc3Npb24pOworCisgICAgYXVkaW9T
ZXNzaW9uQ2hhbmdlZE9ic2VydmVycygpLmZvckVhY2goW10gKGF1dG8mIG9ic2VydmVyKSB7Cisg
ICAgICAgIG9ic2VydmVyKCpzaGFyZWRBdWRpb1Nlc3Npb24oKSk7CisgICAgfSk7Cit9CisKK3Zv
aWQgQXVkaW9TZXNzaW9uOjphZGRBdWRpb1Nlc3Npb25DaGFuZ2VkT2JzZXJ2ZXIoY29uc3QgQ2hh
bmdlZE9ic2VydmVyJiBvYnNlcnZlcikKK3sKKyAgICBBU1NFUlQoIWF1ZGlvU2Vzc2lvbkNoYW5n
ZWRPYnNlcnZlcnMoKS5jb250YWlucyhvYnNlcnZlcikpOworICAgIGF1ZGlvU2Vzc2lvbkNoYW5n
ZWRPYnNlcnZlcnMoKS5hZGQob2JzZXJ2ZXIpOworCisgICAgaWYgKHNoYXJlZEF1ZGlvU2Vzc2lv
bigpKQorICAgICAgICBvYnNlcnZlcigqc2hhcmVkQXVkaW9TZXNzaW9uKCkpOwogfQogCiBib29s
IEF1ZGlvU2Vzc2lvbjo6dHJ5VG9TZXRBY3RpdmUoYm9vbCBhY3RpdmUpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb1Nlc3Npb24uaCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvU2Vzc2lvbi5oCmluZGV4IGI4ZjdkMzBmN2Q2NTEwOGRi
M2QwYjczNjk4ODk3ZTMwNjBmOThiYjguLjRlOTM4NWE0Nzg2MDFlYTdjOTM4ZTI1ZTNmYjI4ZTcz
MTljY2MwYzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlv
U2Vzc2lvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvU2Vzc2lv
bi5oCkBAIC0zMiw2ICszMiw3IEBACiAjaW5jbHVkZSA8d3RmL0VudW1UcmFpdHMuaD4KICNpbmNs
dWRlIDx3dGYvTmV2ZXJEZXN0cm95ZWQuaD4KICNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4K
KyNpbmNsdWRlIDx3dGYvT2JzZXJ2ZXIuaD4KICNpbmNsdWRlIDx3dGYvVW5pcXVlUmVmLmg+CiAj
aW5jbHVkZSA8d3RmL1dlYWtIYXNoU2V0Lmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5n
Lmg+CkBAIC01Niw2ICs1NywxMCBAQCBwdWJsaWM6CiAgICAgc3RhdGljIFVuaXF1ZVJlZjxBdWRp
b1Nlc3Npb24+IGNyZWF0ZSgpOwogICAgIHN0YXRpYyB2b2lkIHNldFNoYXJlZFNlc3Npb24oVW5p
cXVlUmVmPEF1ZGlvU2Vzc2lvbj4mJik7CiAgICAgc3RhdGljIEF1ZGlvU2Vzc2lvbiYgc2hhcmVk
U2Vzc2lvbigpOworCisgICAgdXNpbmcgQ2hhbmdlZE9ic2VydmVyID0gV1RGOjpPYnNlcnZlcjx2
b2lkKEF1ZGlvU2Vzc2lvbiYpPjsKKyAgICBzdGF0aWMgdm9pZCBhZGRBdWRpb1Nlc3Npb25DaGFu
Z2VkT2JzZXJ2ZXIoY29uc3QgQ2hhbmdlZE9ic2VydmVyJik7CisKICAgICB2aXJ0dWFsIH5BdWRp
b1Nlc3Npb24oKTsKIAogICAgIGVudW0gY2xhc3MgQ2F0ZWdvcnlUeXBlIDogdWludDhfdCB7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVQ29ubmVjdGlvblRvV2ViUHJv
Y2Vzcy5jcHAgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVQ29ubmVjdGlvblRvV2ViUHJv
Y2Vzcy5jcHAKaW5kZXggNmIyMTE3OTQ1MDNlY2MxOTQ4ZDlmMjE2MWEyNjhlNzg2MmYyZTI1OS4u
MmQ1NjdjYWRlOGViZTdjNGZjMTM0MTFhNTExZTcxMzY1ZjI2MGVlMyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmNwcApA
QCAtMjA2LDExICsyMDYsMTUgQEAgR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6R1BVQ29ubmVj
dGlvblRvV2ViUHJvY2VzcyhHUFVQcm9jZXNzJiBncHVQcm9jZXNzLCBXZWIKICAgICAsIG1fc2Ft
cGxlQnVmZmVyRGlzcGxheUxheWVyTWFuYWdlcihSZW1vdGVTYW1wbGVCdWZmZXJEaXNwbGF5TGF5
ZXJNYW5hZ2VyOjpjcmVhdGUoKnRoaXMpKQogI2VuZGlmCiAjaWYgRU5BQkxFKFJPVVRJTkdfQVJC
SVRSQVRJT04pICYmIEhBVkUoQVZBVURJT19ST1VUSU5HX0FSQklURVIpCi0gICAgLCBtX3JvdXRp
bmdBcmJpdHJhdG9yKExvY2FsQXVkaW9TZXNzaW9uUm91dGluZ0FyYml0cmF0b3I6OmNyZWF0ZSgp
KQorICAgICwgbV9yb3V0aW5nQXJiaXRyYXRvcihMb2NhbEF1ZGlvU2Vzc2lvblJvdXRpbmdBcmJp
dHJhdG9yOjpjcmVhdGUoKnRoaXMpKQogI2VuZGlmCiB7CiAgICAgUkVMRUFTRV9BU1NFUlQoUnVu
TG9vcDo6aXNNYWluKCkpOwogCisjaWYgRU5BQkxFKFJPVVRJTkdfQVJCSVRSQVRJT04pICYmIEhB
VkUoQVZBVURJT19ST1VUSU5HX0FSQklURVIpCisgICAgZ3B1UHJvY2Vzcy5hdWRpb1Nlc3Npb25N
YW5hZ2VyKCkuc2Vzc2lvbigpLnNldFJvdXRpbmdBcmJpdHJhdGlvbkNsaWVudChtYWtlV2Vha1B0
cihtX3JvdXRpbmdBcmJpdHJhdG9yLmdldCgpKSk7CisjZW5kaWYKKwogICAgIGlmICghcGFyYW1l
dGVycy5vdmVycmlkZUxhbmd1YWdlcy5pc0VtcHR5KCkpCiAgICAgICAgIG92ZXJyaWRlVXNlclBy
ZWZlcnJlZExhbmd1YWdlcyhwYXJhbWV0ZXJzLm92ZXJyaWRlTGFuZ3VhZ2VzKTsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21hYy9Mb2NhbEF1ZGlvU2Vzc2lvblJvdXRp
bmdBcmJpdHJhdG9yLmNwcCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tYWMvTG9jYWxBdWRp
b1Nlc3Npb25Sb3V0aW5nQXJiaXRyYXRvci5jcHAKaW5kZXggOTViYzRjY2M2NDQxNTNkMDk1YzNm
Y2E4MGZiYTZjMGEzNzlhMDdlNS4uN2U1ZWRmZWQ5ODAxNWE0YTQ0MzA5ODdkMmZhN2M3OWYzMTYw
OTkzZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21hYy9Mb2NhbEF1ZGlv
U2Vzc2lvblJvdXRpbmdBcmJpdHJhdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nl
c3MvbWFjL0xvY2FsQXVkaW9TZXNzaW9uUm91dGluZ0FyYml0cmF0b3IuY3BwCkBAIC0yNiwxOSAr
MjYsMjIgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJMb2NhbEF1ZGlvU2Vzc2lv
blJvdXRpbmdBcmJpdHJhdG9yLmgiCiAKKyNpbmNsdWRlICJHUFVQcm9jZXNzLmgiCisjaW5jbHVk
ZSAiR1BVUHJvY2Vzc0Nvbm5lY3Rpb25NZXNzYWdlcy5oIgorCiAjaWYgRU5BQkxFKFJPVVRJTkdf
QVJCSVRSQVRJT04pICYmIEhBVkUoQVZBVURJT19ST1VUSU5HX0FSQklURVIpCiAKIG5hbWVzcGFj
ZSBXZWJLaXQgewogCiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAotVW5pcXVlUmVmPExvY2Fs
QXVkaW9TZXNzaW9uUm91dGluZ0FyYml0cmF0b3I+IExvY2FsQXVkaW9TZXNzaW9uUm91dGluZ0Fy
Yml0cmF0b3I6OmNyZWF0ZSgpCitVbmlxdWVSZWY8TG9jYWxBdWRpb1Nlc3Npb25Sb3V0aW5nQXJi
aXRyYXRvcj4gTG9jYWxBdWRpb1Nlc3Npb25Sb3V0aW5nQXJiaXRyYXRvcjo6Y3JlYXRlKEdQVUNv
bm5lY3Rpb25Ub1dlYlByb2Nlc3MmIGdwdUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MpCiB7Ci0gICAg
cmV0dXJuIG1ha2VVbmlxdWVSZWY8TG9jYWxBdWRpb1Nlc3Npb25Sb3V0aW5nQXJiaXRyYXRvcj4o
KTsKKyAgICByZXR1cm4gbWFrZVVuaXF1ZVJlZjxMb2NhbEF1ZGlvU2Vzc2lvblJvdXRpbmdBcmJp
dHJhdG9yPihncHVDb25uZWN0aW9uVG9XZWJQcm9jZXNzKTsKIH0KIAotTG9jYWxBdWRpb1Nlc3Np
b25Sb3V0aW5nQXJiaXRyYXRvcjo6TG9jYWxBdWRpb1Nlc3Npb25Sb3V0aW5nQXJiaXRyYXRvcigp
Ci0gICAgOiBtX3Rva2VuKFNoYXJlZFJvdXRpbmdBcmJpdHJhdG9yOjpUb2tlbjo6Y3JlYXRlKCkp
CitMb2NhbEF1ZGlvU2Vzc2lvblJvdXRpbmdBcmJpdHJhdG9yOjpMb2NhbEF1ZGlvU2Vzc2lvblJv
dXRpbmdBcmJpdHJhdG9yKEdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MmIGdwdUNvbm5lY3Rpb25U
b1dlYlByb2Nlc3MpCisgICAgOiBtX2Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MoZ3B1Q29ubmVjdGlv
blRvV2ViUHJvY2VzcykKIHsKIH0KIApAQCAtNDYsMjcgKzQ5LDE3IEBAIExvY2FsQXVkaW9TZXNz
aW9uUm91dGluZ0FyYml0cmF0b3I6On5Mb2NhbEF1ZGlvU2Vzc2lvblJvdXRpbmdBcmJpdHJhdG9y
KCkgPSBkZWZhCiAKIHZvaWQgTG9jYWxBdWRpb1Nlc3Npb25Sb3V0aW5nQXJiaXRyYXRvcjo6cHJv
Y2Vzc0RpZFRlcm1pbmF0ZSgpCiB7Ci0gICAgaWYgKFNoYXJlZFJvdXRpbmdBcmJpdHJhdG9yOjpz
aGFyZWRJbnN0YW5jZSgpLmlzSW5Sb3V0aW5nQXJiaXRyYXRpb25Gb3JUb2tlbihtX3Rva2VuKSkK
LSAgICAgICAgbGVhdmVSb3V0aW5nQWJyaXRyYXRpb24oKTsKKyAgICBsZWF2ZVJvdXRpbmdBYnJp
dHJhdGlvbigpOwogfQogCiB2b2lkIExvY2FsQXVkaW9TZXNzaW9uUm91dGluZ0FyYml0cmF0b3I6
OmJlZ2luUm91dGluZ0FyYml0cmF0aW9uV2l0aENhdGVnb3J5KEF1ZGlvU2Vzc2lvbjo6Q2F0ZWdv
cnlUeXBlIGNhdGVnb3J5LCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFJvdXRpbmdBcmJpdHJhdGlv
bkVycm9yLCBEZWZhdWx0Um91dGVDaGFuZ2VkKT4mJiBjYWxsYmFjaykKIHsKLSAgICBtX2NhdGVn
b3J5ID0gY2F0ZWdvcnk7Ci0gICAgbV9hcmJpdHJhdGlvblN0YXR1cyA9IEFyYml0cmF0aW9uU3Rh
dHVzOjpQZW5kaW5nOwotICAgIG1fYXJiaXRyYXRpb25VcGRhdGVUaW1lID0gV2FsbFRpbWU6Om5v
dygpOwotCi0gICAgU2hhcmVkUm91dGluZ0FyYml0cmF0b3I6OnNoYXJlZEluc3RhbmNlKCkuYmVn
aW5Sb3V0aW5nQXJiaXRyYXRpb25Gb3JUb2tlbihtX3Rva2VuLCBjYXRlZ29yeSwgW3dlYWtUaGlz
ID0gbWFrZVdlYWtQdHIoKnRoaXMpLCBjYWxsYmFjayA9IFdURk1vdmUoY2FsbGJhY2spXSAoUm91
dGluZ0FyYml0cmF0aW9uRXJyb3IgZXJyb3IsIERlZmF1bHRSb3V0ZUNoYW5nZWQgcm91dGVDaGFu
Z2VkKSBtdXRhYmxlIHsKLSAgICAgICAgaWYgKHdlYWtUaGlzKQotICAgICAgICAgICAgd2Vha1Ro
aXMtPm1fYXJiaXRyYXRpb25TdGF0dXMgPSBlcnJvciA9PSBSb3V0aW5nQXJiaXRyYXRpb25FcnJv
cjo6Tm9uZSA/IEFyYml0cmF0aW9uU3RhdHVzOjpBY3RpdmUgOiBBcmJpdHJhdGlvblN0YXR1czo6
Tm9uZTsKLSAgICAgICAgY2FsbGJhY2soZXJyb3IsIHJvdXRlQ2hhbmdlZCk7Ci0gICAgfSk7Cisg
ICAgbV9jb25uZWN0aW9uVG9XZWJQcm9jZXNzLmNvbm5lY3Rpb24oKS5zZW5kV2l0aEFzeW5jUmVw
bHkoTWVzc2FnZXM6OkdQVVByb2Nlc3NDb25uZWN0aW9uOjpCZWdpblJvdXRpbmdBcmJpdHJhdGlv
bldpdGhDYXRlZ29yeShjYXRlZ29yeSksIFdURk1vdmUoY2FsbGJhY2spLCAwKTsKIH0KIAogdm9p
ZCBMb2NhbEF1ZGlvU2Vzc2lvblJvdXRpbmdBcmJpdHJhdG9yOjpsZWF2ZVJvdXRpbmdBYnJpdHJh
dGlvbigpCiB7Ci0gICAgU2hhcmVkUm91dGluZ0FyYml0cmF0b3I6OnNoYXJlZEluc3RhbmNlKCku
ZW5kUm91dGluZ0FyYml0cmF0aW9uRm9yVG9rZW4obV90b2tlbik7Ci0gICAgbV9hcmJpdHJhdGlv
blN0YXR1cyA9IEFyYml0cmF0aW9uU3RhdHVzOjpOb25lOworICAgIG1fY29ubmVjdGlvblRvV2Vi
UHJvY2Vzcy5jb25uZWN0aW9uKCkuc2VuZChNZXNzYWdlczo6R1BVUHJvY2Vzc0Nvbm5lY3Rpb246
OkVuZFJvdXRpbmdBcmJpdHJhdGlvbigpLCAwKTsKIH0KIAogfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9HUFVQcm9jZXNzL21hYy9Mb2NhbEF1ZGlvU2Vzc2lvblJvdXRpbmdBcmJpdHJhdG9y
LmggYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWFjL0xvY2FsQXVkaW9TZXNzaW9uUm91dGlu
Z0FyYml0cmF0b3IuaAppbmRleCA5YWIyZGNlNGMwNzE2NmIxYzNhMjcxZGIyMTE0MzgxZjc1N2Mx
MmViLi4wOGNkYjI5MDJiZWFkZTdjOGIyNThkNmNlYjUxYzAzNDE5ZWQ0NzVmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWFjL0xvY2FsQXVkaW9TZXNzaW9uUm91dGluZ0Fy
Yml0cmF0b3IuaAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWFjL0xvY2FsQXVkaW9T
ZXNzaW9uUm91dGluZ0FyYml0cmF0b3IuaApAQCAtMjcsNyArMjcsNyBAQAogCiAjaWYgRU5BQkxF
KFJPVVRJTkdfQVJCSVRSQVRJT04pICYmIEhBVkUoQVZBVURJT19ST1VUSU5HX0FSQklURVIpCiAK
LSNpbmNsdWRlIDxXZWJDb3JlL1NoYXJlZFJvdXRpbmdBcmJpdHJhdG9yLmg+CisjaW5jbHVkZSAi
QXVkaW9TZXNzaW9uUm91dGluZ0FyYml0cmF0b3JQcm94eS5oIgogCiBuYW1lc3BhY2UgV2ViS2l0
IHsKIApAQCAtMzYsMzQgKzM2LDIzIEBAIGNsYXNzIExvY2FsQXVkaW9TZXNzaW9uUm91dGluZ0Fy
Yml0cmF0b3IgZmluYWwKICAgICAsIHB1YmxpYyBDYW5NYWtlV2Vha1B0cjxMb2NhbEF1ZGlvU2Vz
c2lvblJvdXRpbmdBcmJpdHJhdG9yPiB7CiAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAK
LSAgICBmcmllbmQgVW5pcXVlUmVmPExvY2FsQXVkaW9TZXNzaW9uUm91dGluZ0FyYml0cmF0b3I+
IFdURjo6bWFrZVVuaXF1ZVJlZldpdGhvdXRGYXN0TWFsbG9jQ2hlY2s8TG9jYWxBdWRpb1Nlc3Np
b25Sb3V0aW5nQXJiaXRyYXRvcj4oKTsKKyAgICBmcmllbmQgVW5pcXVlUmVmPExvY2FsQXVkaW9T
ZXNzaW9uUm91dGluZ0FyYml0cmF0b3I+IFdURjo6bWFrZVVuaXF1ZVJlZldpdGhvdXRGYXN0TWFs
bG9jQ2hlY2s8TG9jYWxBdWRpb1Nlc3Npb25Sb3V0aW5nQXJiaXRyYXRvcj4oR1BVQ29ubmVjdGlv
blRvV2ViUHJvY2VzcyYpOwogcHVibGljOgotICAgIHN0YXRpYyBVbmlxdWVSZWY8TG9jYWxBdWRp
b1Nlc3Npb25Sb3V0aW5nQXJiaXRyYXRvcj4gY3JlYXRlKCk7CisgICAgc3RhdGljIFVuaXF1ZVJl
ZjxMb2NhbEF1ZGlvU2Vzc2lvblJvdXRpbmdBcmJpdHJhdG9yPiBjcmVhdGUoR1BVQ29ubmVjdGlv
blRvV2ViUHJvY2VzcyYpOwogICAgIHZpcnR1YWwgfkxvY2FsQXVkaW9TZXNzaW9uUm91dGluZ0Fy
Yml0cmF0b3IoKTsKIAogICAgIHVzaW5nIFdlYWtWYWx1ZVR5cGUgPSBXZWJDb3JlOjpBdWRpb1Nl
c3Npb25Sb3V0aW5nQXJiaXRyYXRpb25DbGllbnQ7CiAKLSAgICBlbnVtIGNsYXNzIEFyYml0cmF0
aW9uU3RhdHVzIDogdWludDhfdCB7Ci0gICAgICAgIE5vbmUsCi0gICAgICAgIFBlbmRpbmcsCi0g
ICAgICAgIEFjdGl2ZSwKLSAgICB9OwotCiAgICAgdm9pZCBwcm9jZXNzRGlkVGVybWluYXRlKCk7
Ci0gICAgQXJiaXRyYXRpb25TdGF0dXMgYXJiaXRyYXRpb25TdGF0dXMoKSBjb25zdCB7IHJldHVy
biBtX2FyYml0cmF0aW9uU3RhdHVzOyB9Ci0gICAgV2FsbFRpbWUgYXJiaXRyYXRpb25VcGRhdGVU
aW1lKCkgY29uc3QgeyByZXR1cm4gbV9hcmJpdHJhdGlvblVwZGF0ZVRpbWU7IH0KIAogcHJpdmF0
ZToKLSAgICBMb2NhbEF1ZGlvU2Vzc2lvblJvdXRpbmdBcmJpdHJhdG9yKCk7CisgICAgTG9jYWxB
dWRpb1Nlc3Npb25Sb3V0aW5nQXJiaXRyYXRvcihHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzJik7
CiAKICAgICAvLyBBdWRpb1Nlc3Npb25Sb3V0aW5nQXJiaXRyYXRpb25DbGllbnQKICAgICB2b2lk
IGJlZ2luUm91dGluZ0FyYml0cmF0aW9uV2l0aENhdGVnb3J5KFdlYkNvcmU6OkF1ZGlvU2Vzc2lv
bjo6Q2F0ZWdvcnlUeXBlLCBBcmJpdHJhdGlvbkNhbGxiYWNrJiYpIGZpbmFsOwogICAgIHZvaWQg
bGVhdmVSb3V0aW5nQWJyaXRyYXRpb24oKSBmaW5hbDsKIAotICAgIFVuaXF1ZVJlZjxXZWJDb3Jl
OjpTaGFyZWRSb3V0aW5nQXJiaXRyYXRvcjo6VG9rZW4+IG1fdG9rZW47Ci0gICAgV2ViQ29yZTo6
QXVkaW9TZXNzaW9uOjpDYXRlZ29yeVR5cGUgbV9jYXRlZ29yeSB7IFdlYkNvcmU6OkF1ZGlvU2Vz
c2lvbjo6Q2F0ZWdvcnlUeXBlOjpOb25lIH07Ci0gICAgQXJiaXRyYXRpb25TdGF0dXMgbV9hcmJp
dHJhdGlvblN0YXR1cyB7IEFyYml0cmF0aW9uU3RhdHVzOjpOb25lIH07Ci0gICAgV2FsbFRpbWUg
bV9hcmJpdHJhdGlvblVwZGF0ZVRpbWU7CisgICAgR1BVQ29ubmVjdGlvblRvV2ViUHJvY2VzcyYg
bV9jb25uZWN0aW9uVG9XZWJQcm9jZXNzOwogfTsKIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZUF1ZGlvU2Vzc2lvblByb3h5TWFuYWdlci5oIGIv
U291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZUF1ZGlvU2Vzc2lvblByb3h5TWFu
YWdlci5oCmluZGV4IGNlMjdhNjRlMTU4MjQ0NDFkYjhjNWFkMTIzM2Y4MTE4ZWMwM2RlYjQuLjI3
ZjFkMTdiNjNhY2U3ZGZlNDhmZjE4MjI5NGYxOGRlNjIyZWE0YWYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVBdWRpb1Nlc3Npb25Qcm94eU1hbmFnZXIu
aAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlQXVkaW9TZXNzaW9u
UHJveHlNYW5hZ2VyLmgKQEAgLTUxLDYgKzUxLDcgQEAgcHVibGljOgogCiAgICAgYm9vbCB0cnlU
b1NldEFjdGl2ZUZvclByb2Nlc3MoUmVtb3RlQXVkaW9TZXNzaW9uUHJveHkmLCBib29sKTsKIAor
ICAgIFdlYkNvcmU6OkF1ZGlvU2Vzc2lvbiYgc2Vzc2lvbigpIHsgcmV0dXJuIG1fc2Vzc2lvbjsg
fQogICAgIGNvbnN0IFdlYkNvcmU6OkF1ZGlvU2Vzc2lvbiYgc2Vzc2lvbigpIGNvbnN0IHsgcmV0
dXJuIG1fc2Vzc2lvbjsgfQogCiBwcml2YXRlOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvR1BVL0dQVVByb2Nlc3NQcm94eS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
R1BVL0dQVVByb2Nlc3NQcm94eS5oCmluZGV4IDhlNDIxNTQ3ODUzYTc2NDUxZjRkZWY3NjExNDg1
NzhhNzRjYjE1MWQuLjc5YjRkMTdmNmJlNGNkZGM2ZjA1NWJmMWJmM2I4ODgwMzI5ZTFjMzMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0dQVS9HUFVQcm9jZXNzUHJveHkuaAor
KysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9HUFUvR1BVUHJvY2Vzc1Byb3h5LmgKQEAgLTQ3
LDYgKzQ3LDEwIEBACiAjaW5jbHVkZSA8Q29yZUdyYXBoaWNzL0NHRGlzcGxheUNvbmZpZ3VyYXRp
b24uaD4KICNlbmRpZgogCisjaWYgRU5BQkxFKFJPVVRJTkdfQVJCSVRSQVRJT04pCisjaW5jbHVk
ZSAiQXVkaW9TZXNzaW9uUm91dGluZ0FyYml0cmF0b3JQcm94eS5oIgorI2VuZGlmCisKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIHN0cnVjdCBNb2NrTWVkaWFEZXZpY2U7CiB9CkBAIC05MSw2ICs5NSw5
IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgdXBkYXRlUHJlZmVyZW5jZXMoKTsKIAorICAgIEF1ZGlv
U2Vzc2lvblJvdXRpbmdBcmJpdHJhdG9yUHJveHk6OkFyYml0cmF0aW9uU3RhdHVzIGFyYml0cmF0
aW9uU3RhdHVzKCkgY29uc3QgeyByZXR1cm4gbV9hcmJpdHJhdGlvblN0YXR1czsgfQorICAgIFdh
bGxUaW1lIGFyYml0cmF0aW9uVXBkYXRlVGltZSgpIGNvbnN0IHsgcmV0dXJuIG1fYXJiaXRyYXRp
b25VcGRhdGVUaW1lOyB9CisKIHByaXZhdGU6CiAgICAgZXhwbGljaXQgR1BVUHJvY2Vzc1Byb3h5
KCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvR1BVUHJvY2Vz
c0Nvbm5lY3Rpb24uY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9HUFVQcm9jZXNz
Q29ubmVjdGlvbi5jcHAKaW5kZXggOWNiODhlM2IwOWVmOWI4NjNiNjg4Yzg0MjU2M2Y0NGQ0ZGFj
ODYyMy4uZmFkM2QzZTI1YzE4YjhhZTUwYzc5Nzk4YTIxMGRkMTQ2OGJmN2I5YiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9HUFVQcm9jZXNzQ29ubmVjdGlvbi5jcHAK
KysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9HUFVQcm9jZXNzQ29ubmVjdGlvbi5j
cHAKQEAgLTI4LDYgKzI4LDcgQEAKIAogI2lmIEVOQUJMRShHUFVfUFJPQ0VTUykKIAorI2luY2x1
ZGUgIkF1ZGlvU2Vzc2lvblJvdXRpbmdBcmJpdHJhdG9yLmgiCiAjaW5jbHVkZSAiRGF0YVJlZmVy
ZW5jZS5oIgogI2luY2x1ZGUgIkdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3NNZXNzYWdlcy5oIgog
I2luY2x1ZGUgIkxpYldlYlJUQ0NvZGVjcy5oIgpAQCAtMjMzLDYgKzIzNCwyOSBAQCB2b2lkIEdQ
VVByb2Nlc3NDb25uZWN0aW9uOjpkaWRSZWNlaXZlUmVtb3RlQ29tbWFuZChQbGF0Zm9ybU1lZGlh
U2Vzc2lvbjo6UmVtb3RlQwogICAgIFBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlcjo6c2hhcmVk
TWFuYWdlcigpLnByb2Nlc3NEaWRSZWNlaXZlUmVtb3RlQ29udHJvbENvbW1hbmQodHlwZSwgYXJn
dW1lbnQpOwogfQogCisjaWYgRU5BQkxFKFJPVVRJTkdfQVJCSVRSQVRJT04pCit2b2lkIEdQVVBy
b2Nlc3NDb25uZWN0aW9uOjpiZWdpblJvdXRpbmdBcmJpdHJhdGlvbldpdGhDYXRlZ29yeShBdWRp
b1Nlc3Npb246OkNhdGVnb3J5VHlwZSBjYXRlZ29yeSwgQXVkaW9TZXNzaW9uUm91dGluZ0FyYml0
cmF0aW9uQ2xpZW50OjpBcmJpdHJhdGlvbkNhbGxiYWNrJiYgY2FsbGJhY2spCit7CisgICAgaWYg
KGF1dG8qIGFyYml0cmF0b3IgPSBXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5zdXBwbGVtZW50PEF1
ZGlvU2Vzc2lvblJvdXRpbmdBcmJpdHJhdG9yPigpKSB7CisgICAgICAgIGFyYml0cmF0b3ItPmJl
Z2luUm91dGluZ0FyYml0cmF0aW9uV2l0aENhdGVnb3J5KGNhdGVnb3J5LCBXVEZNb3ZlKGNhbGxi
YWNrKSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQo
KTsKKyAgICBjYWxsYmFjayhBdWRpb1Nlc3Npb25Sb3V0aW5nQXJiaXRyYXRpb25DbGllbnQ6OlJv
dXRpbmdBcmJpdHJhdGlvbkVycm9yOjpGYWlsZWQsIEF1ZGlvU2Vzc2lvblJvdXRpbmdBcmJpdHJh
dGlvbkNsaWVudDo6RGVmYXVsdFJvdXRlQ2hhbmdlZDo6Tm8pOworfQorCit2b2lkIEdQVVByb2Nl
c3NDb25uZWN0aW9uOjplbmRSb3V0aW5nQXJiaXRyYXRpb24oKQoreworICAgIGlmIChhdXRvKiBh
cmJpdHJhdG9yID0gV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkuc3VwcGxlbWVudDxBdWRpb1Nlc3Np
b25Sb3V0aW5nQXJiaXRyYXRvcj4oKSkgeworICAgICAgICBlbmRSb3V0aW5nQXJiaXRyYXRpb24o
KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwor
fQorI2VuZGlmCisKICNpZiBIQVZFKFZJU0lCSUxJVFlfUFJPUEFHQVRJT05fVklFVykKIHZvaWQg
R1BVUHJvY2Vzc0Nvbm5lY3Rpb246OmNyZWF0ZVZpc2liaWxpdHlQcm9wYWdhdGlvbkNvbnRleHRG
b3JQYWdlKFdlYlBhZ2UmIHBhZ2UpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvR1BVL0dQVVByb2Nlc3NDb25uZWN0aW9uLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvR1BVL0dQVVByb2Nlc3NDb25uZWN0aW9uLmgKaW5kZXggYTA3MDE3NzNhNGE4YmY5YzljNzVi
Y2M0MWJjMGViYTgwOWE4YWY5NC4uYjMxMzI0YmQwOGUwY2ViOWZmZTk0NGNjYmFjYjM2MzcyNjcw
MTk5MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9HUFVQcm9jZXNz
Q29ubmVjdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvR1BVUHJvY2Vz
c0Nvbm5lY3Rpb24uaApAQCAtMzMsNiArMzMsNyBAQAogI2luY2x1ZGUgIk1lc3NhZ2VSZWNlaXZl
ck1hcC5oIgogI2luY2x1ZGUgIlNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllck1hbmFnZXIuaCIKICNp
bmNsdWRlICJTaGFyZWRNZW1vcnkuaCIKKyNpbmNsdWRlIDxXZWJDb3JlL0F1ZGlvU2Vzc2lvbi5o
PgogI2luY2x1ZGUgPFdlYkNvcmUvUGxhdGZvcm1NZWRpYVNlc3Npb24uaD4KICNpbmNsdWRlIDx3
dGYvUmVmQ291bnRlZC5oPgogI2luY2x1ZGUgPHd0Zi9XZWFrSGFzaFNldC5oPgpAQCAtMTIwLDYg
KzEyMSwxMSBAQCBwcml2YXRlOgogCiAgICAgdm9pZCBkaWRSZWNlaXZlUmVtb3RlQ29tbWFuZChX
ZWJDb3JlOjpQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6UmVtb3RlQ29udHJvbENvbW1hbmRUeXBlLCBj
b25zdCBXZWJDb3JlOjpQbGF0Zm9ybU1lZGlhU2Vzc2lvbjo6UmVtb3RlQ29tbWFuZEFyZ3VtZW50
Jik7CiAKKyNpZiBFTkFCTEUoUk9VVElOR19BUkJJVFJBVElPTikKKyAgICB2b2lkIGJlZ2luUm91
dGluZ0FyYml0cmF0aW9uV2l0aENhdGVnb3J5KFdlYkNvcmU6OkF1ZGlvU2Vzc2lvbjo6Q2F0ZWdv
cnlUeXBlLCBXZWJDb3JlOjpBdWRpb1Nlc3Npb25Sb3V0aW5nQXJiaXRyYXRpb25DbGllbnQ6OkFy
Yml0cmF0aW9uQ2FsbGJhY2smJik7CisgICAgdm9pZCBlbmRSb3V0aW5nQXJiaXRyYXRpb24oKTsK
KyNlbmRpZgorCiAgICAgLy8gVGhlIGNvbm5lY3Rpb24gZnJvbSB0aGUgd2ViIHByb2Nlc3MgdG8g
dGhlIEdQVSBwcm9jZXNzLgogICAgIFJlZjxJUEM6OkNvbm5lY3Rpb24+IG1fY29ubmVjdGlvbjsK
ICAgICBJUEM6Ok1lc3NhZ2VSZWNlaXZlck1hcCBtX21lc3NhZ2VSZWNlaXZlck1hcDsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvR1BVUHJvY2Vzc0Nvbm5lY3Rpb24u
bWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL0dQVVByb2Nlc3NDb25u
ZWN0aW9uLm1lc3NhZ2VzLmluCmluZGV4IDg1YTZmY2Q3MzdjNzQ5ZDlmZjQwZGIxODAxYTY2ZGRj
OGJhNDk1ZGIuLjNkYTBlNjFmMGM4YWNhN2I1N2JlMTA2YWI1YTk2ZDc4MWVhNDg2NjYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvR1BVUHJvY2Vzc0Nvbm5lY3Rpb24u
bWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9HUFVQcm9jZXNz
Q29ubmVjdGlvbi5tZXNzYWdlcy5pbgpAQCAtMjQsNiArMjQsMTEgQEAKIAogbWVzc2FnZXMgLT4g
R1BVUHJvY2Vzc0Nvbm5lY3Rpb24gV2FudHNEaXNwYXRjaE1lc3NhZ2UgewogICAgIERpZFJlY2Vp
dmVSZW1vdGVDb21tYW5kKGVudW06dWludDhfdCBXZWJDb3JlOjpQbGF0Zm9ybU1lZGlhU2Vzc2lv
bjo6UmVtb3RlQ29udHJvbENvbW1hbmRUeXBlIHR5cGUsIHN0cnVjdCBXZWJDb3JlOjpQbGF0Zm9y
bU1lZGlhU2Vzc2lvbjo6UmVtb3RlQ29tbWFuZEFyZ3VtZW50IGFyZ3VtZW50KQorCisjaWYgRU5B
QkxFKFJPVVRJTkdfQVJCSVRSQVRJT04pCisgICAgQmVnaW5Sb3V0aW5nQXJiaXRyYXRpb25XaXRo
Q2F0ZWdvcnkoZW51bTp1aW50OF90IFdlYkNvcmU6OkF1ZGlvU2Vzc2lvbjo6Q2F0ZWdvcnlUeXBl
IGNhdGVnb3J5KSAtPiAoZW51bTp1aW50OF90IFdlYktpdDo6QXVkaW9TZXNzaW9uUm91dGluZ0Fy
Yml0cmF0b3JQcm94eTo6Um91dGluZ0FyYml0cmF0aW9uRXJyb3IgZXJyb3IsIGVudW06Ym9vbCBX
ZWJLaXQ6OkF1ZGlvU2Vzc2lvblJvdXRpbmdBcmJpdHJhdG9yUHJveHk6OkRlZmF1bHRSb3V0ZUNo
YW5nZWQgZGVmYXVsdFJvdXRlQ2hhbmdlZCkgQXN5bmMKKyAgICBFbmRSb3V0aW5nQXJiaXRyYXRp
b24oKTsKKyNlbmRpZgogfQogCiAjZW5kaWYgLy8gRU5BQkxFKEdQVV9QUk9DRVNTKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL0F1ZGlvU2Vzc2lvblJvdXRpbmdB
cmJpdHJhdG9yLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9BdWRpb1Nlc3Np
b25Sb3V0aW5nQXJiaXRyYXRvci5jcHAKaW5kZXggOTY5ODllN2E3ZjYxYTFkOGNmZGJmNWIwOGNi
ZmQ3YWU3ZjBmMzc3My4uN2VlZDM5ZGI4N2Q1YjVhYWU1MTg1NTg5ZTliMWZlMjM4MGFhYTkyMSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL0F1ZGlvU2Vzc2lvblJv
dXRpbmdBcmJpdHJhdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2Ev
QXVkaW9TZXNzaW9uUm91dGluZ0FyYml0cmF0b3IuY3BwCkBAIC0zOSw4ICszOSw5IEBAIHVzaW5n
IG5hbWVzcGFjZSBXZWJDb3JlOwogCiBBdWRpb1Nlc3Npb25Sb3V0aW5nQXJiaXRyYXRvcjo6QXVk
aW9TZXNzaW9uUm91dGluZ0FyYml0cmF0b3IoV2ViUHJvY2VzcyYgcHJvY2VzcykKICAgICA6IG1f
cHJvY2Vzcyhwcm9jZXNzKQorICAgICwgbV9vYnNlcnZlcihbdGhpc10gKEF1ZGlvU2Vzc2lvbiYg
c2Vzc2lvbikgeyBzZXNzaW9uLnNldFJvdXRpbmdBcmJpdHJhdGlvbkNsaWVudChtYWtlV2Vha1B0
cih0aGlzKSk7IH0pCiB7Ci0gICAgQXVkaW9TZXNzaW9uOjpzaGFyZWRTZXNzaW9uKCkuc2V0Um91
dGluZ0FyYml0cmF0aW9uQ2xpZW50KG1ha2VXZWFrUHRyKHRoaXMpKTsKKyAgICBBdWRpb1Nlc3Np
b246OmFkZEF1ZGlvU2Vzc2lvbkNoYW5nZWRPYnNlcnZlcihtX29ic2VydmVyKTsKIH0KIAogQXVk
aW9TZXNzaW9uUm91dGluZ0FyYml0cmF0b3I6On5BdWRpb1Nlc3Npb25Sb3V0aW5nQXJiaXRyYXRv
cigpID0gZGVmYXVsdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2Nv
YS9BdWRpb1Nlc3Npb25Sb3V0aW5nQXJiaXRyYXRvci5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL2NvY29hL0F1ZGlvU2Vzc2lvblJvdXRpbmdBcmJpdHJhdG9yLmgKaW5kZXggYzU2MGFiNTY2
NDFiYjViNzQ4MDc2ZWJlYTUzZjRlMDk0ZDc5MmU3Zi4uNWFlNWU4Yzk1MTc3MGJkN2M4ZGQzYzFi
ZDFhMjI2YTRkZjI3OGZhNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2Nv
Y29hL0F1ZGlvU2Vzc2lvblJvdXRpbmdBcmJpdHJhdG9yLmgKKysrIGIvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL2NvY29hL0F1ZGlvU2Vzc2lvblJvdXRpbmdBcmJpdHJhdG9yLmgKQEAgLTU0LDYg
KzU0LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIGxlYXZlUm91dGluZ0Ficml0cmF0aW9uKCkgZmlu
YWw7CiAKICAgICBXZWJQcm9jZXNzJiBtX3Byb2Nlc3M7CisgICAgV2ViQ29yZTo6QXVkaW9TZXNz
aW9uOjpDaGFuZ2VkT2JzZXJ2ZXIgbV9vYnNlcnZlcjsKIH07CiAKIH0K
</data>
<flag name="commit-queue"
          id="450498"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>429334</attachid>
            <date>2021-05-21 13:46:20 -0700</date>
            <delta_ts>2021-05-21 14:13:27 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-226104-20210521134619.patch</filename>
            <type>text/plain</type>
            <size>19502</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc3ODcxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGUzMzRiMzU0ZmUwYzZk
NzBmYmMxMTM2NzA2Njg4MzI1YmEwODZkNC4uMjVjYjNkNDQ1MThiMGVkMThkYzg2OTEwMjdiOTZi
Njc0MTY4ODAzNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDIxLTA1LTIxICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIFJFR1JFU1NJT04ocjI3Njk5
Myk6IDUgVGVzdFdlYktpdEFQSS5BdWRpb1JvdXRpbmdBcmJpdHJhdGlvbiAoYXBpLXRlc3RzKSBh
cmUgY29uc3RhbnQgZmFpbHVyZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIyNjEwNAorICAgICAgICA8cmRhcjovLzc3OTk4MDQ5PgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBhIG1lY2hhbmlzbSBm
b3IgYSBjbGllbnQgdG8gd2FpdCB1bnRpbCBhbiBBdWRpb1Nlc3Npb24gaXMgY3JlYXRlZCBvciBj
aGFuZ2VkIGJlZm9yZSB0YWtpbmcKKyAgICAgICAgYW4gYWN0aW9uLgorCisgICAgICAgICogcGxh
dGZvcm0vYXVkaW8vQXVkaW9TZXNzaW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmF1ZGlvU2Vz
c2lvbkNoYW5nZWRPYnNlcnZlcnMpOgorICAgICAgICAoV2ViQ29yZTo6QXVkaW9TZXNzaW9uOjpz
aGFyZWRTZXNzaW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvU2Vzc2lvbjo6c2V0U2hhcmVk
U2Vzc2lvbik6CisgICAgICAgIChXZWJDb3JlOjpBdWRpb1Nlc3Npb246OmFkZEF1ZGlvU2Vzc2lv
bkNoYW5nZWRPYnNlcnZlcik6CisgICAgICAgICogcGxhdGZvcm0vYXVkaW8vQXVkaW9TZXNzaW9u
Lmg6CisKIDIwMjEtMDUtMjAgIEplciBOb2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CiAKICAg
ICAgICAgW0NvY29hXSBMYXN0IGZldyBzZWNvbmRzIG9mICdhdWRpby93ZWJtOyBjb2RlY3M9dm9y
YmlzJyBhcHBlbmRlZCB0byBhIFNhbXBsZUJ1ZmZlciBhcmUgbm90IHBsYXllZApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRl
eCBmZTFjNzZiOWRiMWI5N2U4NDAzMzgzMTk0NTEyMmRjNzlmOTBlY2MzLi4wNjFkYzNlZTQ4NGRj
MGQ4MTYzMmZkNjMwMjI5N2NiOTkwNGZhMzk2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDUyIEBACisy
MDIxLTA1LTIxICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIFJF
R1JFU1NJT04ocjI3Njk5Myk6IDUgVGVzdFdlYktpdEFQSS5BdWRpb1JvdXRpbmdBcmJpdHJhdGlv
biAoYXBpLXRlc3RzKSBhcmUgY29uc3RhbnQgZmFpbHVyZXMKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNjEwNAorICAgICAgICA8cmRhcjovLzc3OTk4
MDQ5PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIElu
IHIyNzY5OTMsIEF1ZGlvU2Vzc2lvblJvdXRpbmdBcmJpdHJhdGlvbiB3YXMgbW92ZWQgZnJvbSBi
ZWluZyBpbml0aWF0ZWQgaW4gdGhlIFdlYkNvbnRlbnQgcHJvY2VzcworICAgICAgICBhbmQgZGlz
cGF0Y2hlZCB0byB0aGUgVUlQcm9jZXNzLCB0byBiZWluZyBkaXNwYXRjaGVkIHRvIHRoZSBHUFUg
cHJvY2Vzcy4gSG93ZXZlciB0d28gcHJvYmxlbXMgb2NjdXJyZWQ6CisKKyAgICAgICAgMSkgVGhl
IFVJUHJvY2VzcyBubyBsb25nZXIga25vd3MgYWJvdXQgcm91dGluZyBhcmJpdHJhdGlvbiwgd2hp
Y2ggaXMgcmVhc29uYWJsZSBmb3IgdGhlIGZlYXR1cmUsIGJ1dAorICAgICAgICAgICBicmVha3Mg
YW4gQVBJIHRlc3QgdGhhdCBxdWVyaWVzIGFyYml0cmF0aW9uIHN0YXR1cyBpbiB0aGUgVUlQcm9j
ZXNzLgorCisgICAgICAgIDIpIEEgc2FuZGJveCB2aW9sYXRpb24gY2F1c2VzIHJvdXRpbmcgYXJi
aXRyYXRpb24gdG8gZmFpbCBpbiB0aGUgR1BVIHByb2Nlc3MgcmVnYXJkbGVzcy4KKworICAgICAg
ICBXZSBjb3VsZCBvcGVuIHVwIHRoZSBzYW5kYm94IHRvIGFsbG93IHJvdXRpbmcgYXJiaXRyYXRp
b24gdG8gc3VjY2VlZCAoYW5kIGNvbWUgdXAgd2l0aCBhIHdheSB0byBwdXNoCisgICAgICAgIHN0
YXRlIGNoYW5nZXMgdXAgdG8gdGhlIFVJUHJvY2VzcyBmb3IgdGVzdGluZyBwdXJwb3NlcyksIGJ1
dCBpdCdzIG5vdCB0ZWNobmljYWxseSBuZWNlc3NhcnkgZm9yCisgICAgICAgIGFyYml0cmF0aW9u
IHRvIG9jY3VyIHRoZXJlLiBJbnN0ZWFkLCBqdXN0IHJldmVydCB0byB0aGUgc3RhdHVzLXF1by1h
bnRlIGJlaGF2aW9yIG9mIGhhdmluZyBhcmJpdHJhdGlvbgorICAgICAgICB0YWtlIHBsYWNlIGlu
IHRoZSBVSVByb2Nlc3MsIGFuZCBqdXN0IGFkZCBhIG5ldyBzZXQgb2YgbWVzc2FnZXMgZnJvbSB0
aGUgR1BVQ29ubm9jdGlvblRvV2ViUHJvY2VzcyB0bworICAgICAgICB0aGUgR1BVUHJvY2Vzc0Nv
bm5lY3Rpb24gdG8gZmFjaWxpdGF0ZSBhcmJpdHJhdGlvbi4KKworICAgICAgICBEcml2ZS1ieSBm
aXg6IEF1ZGlvU2Vzc2lvblJvdXRpbmdBcmJpdHJhdG9yIGlzIGEgc3VwcGxlbWVudCB0byBXZWJQ
cm9jZXNzLCBhbmQgYXMgc3VjaCBpdCdzIGNyZWF0ZWQKKyAgICAgICAgYXQgV2ViUHJvY2VzcyBj
cmVhdGlvbiB0aW1lLiBIb3dldmVyLCBpdCBhbHNvIGNhdXNlcyBhbiBBdWRpb1Nlc3Npb24gdG8g
YmUgY3JlYXRlZCBieSBhdHRlbXB0aW5nIHRvCisgICAgICAgIGFkZCBpdHNlbGYgYXMgYSBjbGll
bnQuIFRoaXMgaXMgYmFkIG9uIGlPUywgd2hlcmUgaXQgY291bGQgY2F1c2UgaGFuZ3MgZHVlIHRv
IEFWQXVkaW9TZXNzaW9uIGNhbGxzLgorICAgICAgICBTbywgYWRkIGEgbWVjaGFuaXNtIHRvIGJl
IG5vdGlmaWVkIHdoZW4gYW4gQXVkaW9TZXNzaW9uIGV2ZW50dWFsbHkgZG9lcyBnZXQgY3JlYXRl
ZCwgYW5kIGFkZCB0aGUKKyAgICAgICAgYXJiaXRyYXRvciBhcyBhIGNsaWVudCB0aGVuLgorCisg
ICAgICAgICogR1BVUHJvY2Vzcy9HUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmNwcDoKKyAgICAg
ICAgKFdlYktpdDo6R1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6R1BVQ29ubmVjdGlvblRvV2Vi
UHJvY2Vzcyk6CisgICAgICAgICogR1BVUHJvY2Vzcy9tYWMvTG9jYWxBdWRpb1Nlc3Npb25Sb3V0
aW5nQXJiaXRyYXRvci5jcHA6CisgICAgICAgIChXZWJLaXQ6OkxvY2FsQXVkaW9TZXNzaW9uUm91
dGluZ0FyYml0cmF0b3I6OmNyZWF0ZSk6CisgICAgICAgIChXZWJLaXQ6OkxvY2FsQXVkaW9TZXNz
aW9uUm91dGluZ0FyYml0cmF0b3I6OkxvY2FsQXVkaW9TZXNzaW9uUm91dGluZ0FyYml0cmF0b3Ip
OgorICAgICAgICAoV2ViS2l0OjpMb2NhbEF1ZGlvU2Vzc2lvblJvdXRpbmdBcmJpdHJhdG9yOjpw
cm9jZXNzRGlkVGVybWluYXRlKToKKyAgICAgICAgKFdlYktpdDo6TG9jYWxBdWRpb1Nlc3Npb25S
b3V0aW5nQXJiaXRyYXRvcjo6YmVnaW5Sb3V0aW5nQXJiaXRyYXRpb25XaXRoQ2F0ZWdvcnkpOgor
ICAgICAgICAoV2ViS2l0OjpMb2NhbEF1ZGlvU2Vzc2lvblJvdXRpbmdBcmJpdHJhdG9yOjpsZWF2
ZVJvdXRpbmdBYnJpdHJhdGlvbik6CisgICAgICAgICogR1BVUHJvY2Vzcy9tYWMvTG9jYWxBdWRp
b1Nlc3Npb25Sb3V0aW5nQXJiaXRyYXRvci5oOgorICAgICAgICAqIEdQVVByb2Nlc3MvbWVkaWEv
UmVtb3RlQXVkaW9TZXNzaW9uUHJveHlNYW5hZ2VyLmg6CisgICAgICAgIChXZWJLaXQ6OlJlbW90
ZUF1ZGlvU2Vzc2lvblByb3h5TWFuYWdlcjo6c2Vzc2lvbik6CisgICAgICAgICogVUlQcm9jZXNz
L0dQVS9HUFVQcm9jZXNzUHJveHkuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL0dQVS9HUFVQcm9j
ZXNzQ29ubmVjdGlvbi5jcHA6CisgICAgICAgIChXZWJLaXQ6OkdQVVByb2Nlc3NDb25uZWN0aW9u
OjpiZWdpblJvdXRpbmdBcmJpdHJhdGlvbldpdGhDYXRlZ29yeSk6CisgICAgICAgIChXZWJLaXQ6
OkdQVVByb2Nlc3NDb25uZWN0aW9uOjplbmRSb3V0aW5nQXJiaXRyYXRpb24pOgorICAgICAgICAq
IFdlYlByb2Nlc3MvR1BVL0dQVVByb2Nlc3NDb25uZWN0aW9uLmg6CisgICAgICAgICogV2ViUHJv
Y2Vzcy9HUFUvR1BVUHJvY2Vzc0Nvbm5lY3Rpb24ubWVzc2FnZXMuaW46CisgICAgICAgICogV2Vi
UHJvY2Vzcy9jb2NvYS9BdWRpb1Nlc3Npb25Sb3V0aW5nQXJiaXRyYXRvci5jcHA6CisgICAgICAg
IChXZWJLaXQ6OkF1ZGlvU2Vzc2lvblJvdXRpbmdBcmJpdHJhdG9yOjpBdWRpb1Nlc3Npb25Sb3V0
aW5nQXJiaXRyYXRvcik6CisgICAgICAgICogV2ViUHJvY2Vzcy9jb2NvYS9BdWRpb1Nlc3Npb25S
b3V0aW5nQXJiaXRyYXRvci5oOgorCiAyMDIxLTA1LTIxICBBZHJpYW4gUGVyZXogZGUgQ2FzdHJv
ICA8YXBlcmV6QGlnYWxpYS5jb20+CiAKICAgICAgICAgTm9uLXVuaWZpZWQgYnVpbGQgZml4ZXMs
IGxhdGUtaXNoIE1heSAyMDIxIGVkaXRpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2F1ZGlvL0F1ZGlvU2Vzc2lvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9h
dWRpby9BdWRpb1Nlc3Npb24uY3BwCmluZGV4IDhlNjg2ZTQ0N2I5YjY2ZGNlOGFiN2UyMTM3MTRm
ZGU2MGU5M2JiNWMuLmVkZWYzZDNmYWIyYTZlNTQ4OWFkNmUwYTNkNGFjYWFhZTMxM2NjODYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvU2Vzc2lvbi5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9TZXNzaW9uLmNwcApAQCAt
NDcsNiArNDcsMTIgQEAgc3RhdGljIE9wdGlvbmFsPFVuaXF1ZVJlZjxBdWRpb1Nlc3Npb24+PiYg
c2hhcmVkQXVkaW9TZXNzaW9uKCkKICAgICByZXR1cm4gc2Vzc2lvbi5nZXQoKTsKIH0KIAorc3Rh
dGljIFdlYWtIYXNoU2V0PEF1ZGlvU2Vzc2lvbjo6Q2hhbmdlZE9ic2VydmVyPiYgYXVkaW9TZXNz
aW9uQ2hhbmdlZE9ic2VydmVycygpCit7CisgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPFdlYWtI
YXNoU2V0PEF1ZGlvU2Vzc2lvbjo6Q2hhbmdlZE9ic2VydmVyPj4gb2JzZXJ2ZXJzOworICAgIHJl
dHVybiBvYnNlcnZlcnM7Cit9CisKIFVuaXF1ZVJlZjxBdWRpb1Nlc3Npb24+IEF1ZGlvU2Vzc2lv
bjo6Y3JlYXRlKCkKIHsKICNpZiBQTEFURk9STShNQUMpCkBAIC02NCwxMyArNzAsMjYgQEAgQXVk
aW9TZXNzaW9uOjp+QXVkaW9TZXNzaW9uKCkgPSBkZWZhdWx0OwogQXVkaW9TZXNzaW9uJiBBdWRp
b1Nlc3Npb246OnNoYXJlZFNlc3Npb24oKQogewogICAgIGlmICghc2hhcmVkQXVkaW9TZXNzaW9u
KCkpCi0gICAgICAgIHNoYXJlZEF1ZGlvU2Vzc2lvbigpID0gQXVkaW9TZXNzaW9uOjpjcmVhdGUo
KTsKKyAgICAgICAgc2V0U2hhcmVkU2Vzc2lvbihBdWRpb1Nlc3Npb246OmNyZWF0ZSgpKTsKICAg
ICByZXR1cm4gKnNoYXJlZEF1ZGlvU2Vzc2lvbigpOwogfQogCiB2b2lkIEF1ZGlvU2Vzc2lvbjo6
c2V0U2hhcmVkU2Vzc2lvbihVbmlxdWVSZWY8QXVkaW9TZXNzaW9uPiYmIHNlc3Npb24pCiB7CiAg
ICAgc2hhcmVkQXVkaW9TZXNzaW9uKCkgPSBXVEZNb3ZlKHNlc3Npb24pOworCisgICAgYXVkaW9T
ZXNzaW9uQ2hhbmdlZE9ic2VydmVycygpLmZvckVhY2goW10gKGF1dG8mIG9ic2VydmVyKSB7Cisg
ICAgICAgIG9ic2VydmVyKCpzaGFyZWRBdWRpb1Nlc3Npb24oKSk7CisgICAgfSk7Cit9CisKK3Zv
aWQgQXVkaW9TZXNzaW9uOjphZGRBdWRpb1Nlc3Npb25DaGFuZ2VkT2JzZXJ2ZXIoY29uc3QgQ2hh
bmdlZE9ic2VydmVyJiBvYnNlcnZlcikKK3sKKyAgICBBU1NFUlQoIWF1ZGlvU2Vzc2lvbkNoYW5n
ZWRPYnNlcnZlcnMoKS5jb250YWlucyhvYnNlcnZlcikpOworICAgIGF1ZGlvU2Vzc2lvbkNoYW5n
ZWRPYnNlcnZlcnMoKS5hZGQob2JzZXJ2ZXIpOworCisgICAgaWYgKHNoYXJlZEF1ZGlvU2Vzc2lv
bigpKQorICAgICAgICBvYnNlcnZlcigqc2hhcmVkQXVkaW9TZXNzaW9uKCkpOwogfQogCiBib29s
IEF1ZGlvU2Vzc2lvbjo6dHJ5VG9TZXRBY3RpdmUoYm9vbCBhY3RpdmUpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb1Nlc3Npb24uaCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvU2Vzc2lvbi5oCmluZGV4IGI4ZjdkMzBmN2Q2NTEwOGRi
M2QwYjczNjk4ODk3ZTMwNjBmOThiYjguLjRlOTM4NWE0Nzg2MDFlYTdjOTM4ZTI1ZTNmYjI4ZTcz
MTljY2MwYzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlv
U2Vzc2lvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvU2Vzc2lv
bi5oCkBAIC0zMiw2ICszMiw3IEBACiAjaW5jbHVkZSA8d3RmL0VudW1UcmFpdHMuaD4KICNpbmNs
dWRlIDx3dGYvTmV2ZXJEZXN0cm95ZWQuaD4KICNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4K
KyNpbmNsdWRlIDx3dGYvT2JzZXJ2ZXIuaD4KICNpbmNsdWRlIDx3dGYvVW5pcXVlUmVmLmg+CiAj
aW5jbHVkZSA8d3RmL1dlYWtIYXNoU2V0Lmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5n
Lmg+CkBAIC01Niw2ICs1NywxMCBAQCBwdWJsaWM6CiAgICAgc3RhdGljIFVuaXF1ZVJlZjxBdWRp
b1Nlc3Npb24+IGNyZWF0ZSgpOwogICAgIHN0YXRpYyB2b2lkIHNldFNoYXJlZFNlc3Npb24oVW5p
cXVlUmVmPEF1ZGlvU2Vzc2lvbj4mJik7CiAgICAgc3RhdGljIEF1ZGlvU2Vzc2lvbiYgc2hhcmVk
U2Vzc2lvbigpOworCisgICAgdXNpbmcgQ2hhbmdlZE9ic2VydmVyID0gV1RGOjpPYnNlcnZlcjx2
b2lkKEF1ZGlvU2Vzc2lvbiYpPjsKKyAgICBzdGF0aWMgdm9pZCBhZGRBdWRpb1Nlc3Npb25DaGFu
Z2VkT2JzZXJ2ZXIoY29uc3QgQ2hhbmdlZE9ic2VydmVyJik7CisKICAgICB2aXJ0dWFsIH5BdWRp
b1Nlc3Npb24oKTsKIAogICAgIGVudW0gY2xhc3MgQ2F0ZWdvcnlUeXBlIDogdWludDhfdCB7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVQ29ubmVjdGlvblRvV2ViUHJv
Y2Vzcy5jcHAgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVQ29ubmVjdGlvblRvV2ViUHJv
Y2Vzcy5jcHAKaW5kZXggNmIyMTE3OTQ1MDNlY2MxOTQ4ZDlmMjE2MWEyNjhlNzg2MmYyZTI1OS4u
MmQ1NjdjYWRlOGViZTdjNGZjMTM0MTFhNTExZTcxMzY1ZjI2MGVlMyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmNwcApA
QCAtMjA2LDExICsyMDYsMTUgQEAgR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6R1BVQ29ubmVj
dGlvblRvV2ViUHJvY2VzcyhHUFVQcm9jZXNzJiBncHVQcm9jZXNzLCBXZWIKICAgICAsIG1fc2Ft
cGxlQnVmZmVyRGlzcGxheUxheWVyTWFuYWdlcihSZW1vdGVTYW1wbGVCdWZmZXJEaXNwbGF5TGF5
ZXJNYW5hZ2VyOjpjcmVhdGUoKnRoaXMpKQogI2VuZGlmCiAjaWYgRU5BQkxFKFJPVVRJTkdfQVJC
SVRSQVRJT04pICYmIEhBVkUoQVZBVURJT19ST1VUSU5HX0FSQklURVIpCi0gICAgLCBtX3JvdXRp
bmdBcmJpdHJhdG9yKExvY2FsQXVkaW9TZXNzaW9uUm91dGluZ0FyYml0cmF0b3I6OmNyZWF0ZSgp
KQorICAgICwgbV9yb3V0aW5nQXJiaXRyYXRvcihMb2NhbEF1ZGlvU2Vzc2lvblJvdXRpbmdBcmJp
dHJhdG9yOjpjcmVhdGUoKnRoaXMpKQogI2VuZGlmCiB7CiAgICAgUkVMRUFTRV9BU1NFUlQoUnVu
TG9vcDo6aXNNYWluKCkpOwogCisjaWYgRU5BQkxFKFJPVVRJTkdfQVJCSVRSQVRJT04pICYmIEhB
VkUoQVZBVURJT19ST1VUSU5HX0FSQklURVIpCisgICAgZ3B1UHJvY2Vzcy5hdWRpb1Nlc3Npb25N
YW5hZ2VyKCkuc2Vzc2lvbigpLnNldFJvdXRpbmdBcmJpdHJhdGlvbkNsaWVudChtYWtlV2Vha1B0
cihtX3JvdXRpbmdBcmJpdHJhdG9yLmdldCgpKSk7CisjZW5kaWYKKwogICAgIGlmICghcGFyYW1l
dGVycy5vdmVycmlkZUxhbmd1YWdlcy5pc0VtcHR5KCkpCiAgICAgICAgIG92ZXJyaWRlVXNlclBy
ZWZlcnJlZExhbmd1YWdlcyhwYXJhbWV0ZXJzLm92ZXJyaWRlTGFuZ3VhZ2VzKTsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21hYy9Mb2NhbEF1ZGlvU2Vzc2lvblJvdXRp
bmdBcmJpdHJhdG9yLmNwcCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tYWMvTG9jYWxBdWRp
b1Nlc3Npb25Sb3V0aW5nQXJiaXRyYXRvci5jcHAKaW5kZXggOTViYzRjY2M2NDQxNTNkMDk1YzNm
Y2E4MGZiYTZjMGEzNzlhMDdlNS4uN2U1ZWRmZWQ5ODAxNWE0YTQ0MzA5ODdkMmZhN2M3OWYzMTYw
OTkzZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21hYy9Mb2NhbEF1ZGlv
U2Vzc2lvblJvdXRpbmdBcmJpdHJhdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nl
c3MvbWFjL0xvY2FsQXVkaW9TZXNzaW9uUm91dGluZ0FyYml0cmF0b3IuY3BwCkBAIC0yNiwxOSAr
MjYsMjIgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJMb2NhbEF1ZGlvU2Vzc2lv
blJvdXRpbmdBcmJpdHJhdG9yLmgiCiAKKyNpbmNsdWRlICJHUFVQcm9jZXNzLmgiCisjaW5jbHVk
ZSAiR1BVUHJvY2Vzc0Nvbm5lY3Rpb25NZXNzYWdlcy5oIgorCiAjaWYgRU5BQkxFKFJPVVRJTkdf
QVJCSVRSQVRJT04pICYmIEhBVkUoQVZBVURJT19ST1VUSU5HX0FSQklURVIpCiAKIG5hbWVzcGFj
ZSBXZWJLaXQgewogCiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAotVW5pcXVlUmVmPExvY2Fs
QXVkaW9TZXNzaW9uUm91dGluZ0FyYml0cmF0b3I+IExvY2FsQXVkaW9TZXNzaW9uUm91dGluZ0Fy
Yml0cmF0b3I6OmNyZWF0ZSgpCitVbmlxdWVSZWY8TG9jYWxBdWRpb1Nlc3Npb25Sb3V0aW5nQXJi
aXRyYXRvcj4gTG9jYWxBdWRpb1Nlc3Npb25Sb3V0aW5nQXJiaXRyYXRvcjo6Y3JlYXRlKEdQVUNv
bm5lY3Rpb25Ub1dlYlByb2Nlc3MmIGdwdUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MpCiB7Ci0gICAg
cmV0dXJuIG1ha2VVbmlxdWVSZWY8TG9jYWxBdWRpb1Nlc3Npb25Sb3V0aW5nQXJiaXRyYXRvcj4o
KTsKKyAgICByZXR1cm4gbWFrZVVuaXF1ZVJlZjxMb2NhbEF1ZGlvU2Vzc2lvblJvdXRpbmdBcmJp
dHJhdG9yPihncHVDb25uZWN0aW9uVG9XZWJQcm9jZXNzKTsKIH0KIAotTG9jYWxBdWRpb1Nlc3Np
b25Sb3V0aW5nQXJiaXRyYXRvcjo6TG9jYWxBdWRpb1Nlc3Npb25Sb3V0aW5nQXJiaXRyYXRvcigp
Ci0gICAgOiBtX3Rva2VuKFNoYXJlZFJvdXRpbmdBcmJpdHJhdG9yOjpUb2tlbjo6Y3JlYXRlKCkp
CitMb2NhbEF1ZGlvU2Vzc2lvblJvdXRpbmdBcmJpdHJhdG9yOjpMb2NhbEF1ZGlvU2Vzc2lvblJv
dXRpbmdBcmJpdHJhdG9yKEdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MmIGdwdUNvbm5lY3Rpb25U
b1dlYlByb2Nlc3MpCisgICAgOiBtX2Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MoZ3B1Q29ubmVjdGlv
blRvV2ViUHJvY2VzcykKIHsKIH0KIApAQCAtNDYsMjcgKzQ5LDE3IEBAIExvY2FsQXVkaW9TZXNz
aW9uUm91dGluZ0FyYml0cmF0b3I6On5Mb2NhbEF1ZGlvU2Vzc2lvblJvdXRpbmdBcmJpdHJhdG9y
KCkgPSBkZWZhCiAKIHZvaWQgTG9jYWxBdWRpb1Nlc3Npb25Sb3V0aW5nQXJiaXRyYXRvcjo6cHJv
Y2Vzc0RpZFRlcm1pbmF0ZSgpCiB7Ci0gICAgaWYgKFNoYXJlZFJvdXRpbmdBcmJpdHJhdG9yOjpz
aGFyZWRJbnN0YW5jZSgpLmlzSW5Sb3V0aW5nQXJiaXRyYXRpb25Gb3JUb2tlbihtX3Rva2VuKSkK
LSAgICAgICAgbGVhdmVSb3V0aW5nQWJyaXRyYXRpb24oKTsKKyAgICBsZWF2ZVJvdXRpbmdBYnJp
dHJhdGlvbigpOwogfQogCiB2b2lkIExvY2FsQXVkaW9TZXNzaW9uUm91dGluZ0FyYml0cmF0b3I6
OmJlZ2luUm91dGluZ0FyYml0cmF0aW9uV2l0aENhdGVnb3J5KEF1ZGlvU2Vzc2lvbjo6Q2F0ZWdv
cnlUeXBlIGNhdGVnb3J5LCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFJvdXRpbmdBcmJpdHJhdGlv
bkVycm9yLCBEZWZhdWx0Um91dGVDaGFuZ2VkKT4mJiBjYWxsYmFjaykKIHsKLSAgICBtX2NhdGVn
b3J5ID0gY2F0ZWdvcnk7Ci0gICAgbV9hcmJpdHJhdGlvblN0YXR1cyA9IEFyYml0cmF0aW9uU3Rh
dHVzOjpQZW5kaW5nOwotICAgIG1fYXJiaXRyYXRpb25VcGRhdGVUaW1lID0gV2FsbFRpbWU6Om5v
dygpOwotCi0gICAgU2hhcmVkUm91dGluZ0FyYml0cmF0b3I6OnNoYXJlZEluc3RhbmNlKCkuYmVn
aW5Sb3V0aW5nQXJiaXRyYXRpb25Gb3JUb2tlbihtX3Rva2VuLCBjYXRlZ29yeSwgW3dlYWtUaGlz
ID0gbWFrZVdlYWtQdHIoKnRoaXMpLCBjYWxsYmFjayA9IFdURk1vdmUoY2FsbGJhY2spXSAoUm91
dGluZ0FyYml0cmF0aW9uRXJyb3IgZXJyb3IsIERlZmF1bHRSb3V0ZUNoYW5nZWQgcm91dGVDaGFu
Z2VkKSBtdXRhYmxlIHsKLSAgICAgICAgaWYgKHdlYWtUaGlzKQotICAgICAgICAgICAgd2Vha1Ro
aXMtPm1fYXJiaXRyYXRpb25TdGF0dXMgPSBlcnJvciA9PSBSb3V0aW5nQXJiaXRyYXRpb25FcnJv
cjo6Tm9uZSA/IEFyYml0cmF0aW9uU3RhdHVzOjpBY3RpdmUgOiBBcmJpdHJhdGlvblN0YXR1czo6
Tm9uZTsKLSAgICAgICAgY2FsbGJhY2soZXJyb3IsIHJvdXRlQ2hhbmdlZCk7Ci0gICAgfSk7Cisg
ICAgbV9jb25uZWN0aW9uVG9XZWJQcm9jZXNzLmNvbm5lY3Rpb24oKS5zZW5kV2l0aEFzeW5jUmVw
bHkoTWVzc2FnZXM6OkdQVVByb2Nlc3NDb25uZWN0aW9uOjpCZWdpblJvdXRpbmdBcmJpdHJhdGlv
bldpdGhDYXRlZ29yeShjYXRlZ29yeSksIFdURk1vdmUoY2FsbGJhY2spLCAwKTsKIH0KIAogdm9p
ZCBMb2NhbEF1ZGlvU2Vzc2lvblJvdXRpbmdBcmJpdHJhdG9yOjpsZWF2ZVJvdXRpbmdBYnJpdHJh
dGlvbigpCiB7Ci0gICAgU2hhcmVkUm91dGluZ0FyYml0cmF0b3I6OnNoYXJlZEluc3RhbmNlKCku
ZW5kUm91dGluZ0FyYml0cmF0aW9uRm9yVG9rZW4obV90b2tlbik7Ci0gICAgbV9hcmJpdHJhdGlv
blN0YXR1cyA9IEFyYml0cmF0aW9uU3RhdHVzOjpOb25lOworICAgIG1fY29ubmVjdGlvblRvV2Vi
UHJvY2Vzcy5jb25uZWN0aW9uKCkuc2VuZChNZXNzYWdlczo6R1BVUHJvY2Vzc0Nvbm5lY3Rpb246
OkVuZFJvdXRpbmdBcmJpdHJhdGlvbigpLCAwKTsKIH0KIAogfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9HUFVQcm9jZXNzL21hYy9Mb2NhbEF1ZGlvU2Vzc2lvblJvdXRpbmdBcmJpdHJhdG9y
LmggYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWFjL0xvY2FsQXVkaW9TZXNzaW9uUm91dGlu
Z0FyYml0cmF0b3IuaAppbmRleCA5YWIyZGNlNGMwNzE2NmIxYzNhMjcxZGIyMTE0MzgxZjc1N2Mx
MmViLi4wOGNkYjI5MDJiZWFkZTdjOGIyNThkNmNlYjUxYzAzNDE5ZWQ0NzVmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWFjL0xvY2FsQXVkaW9TZXNzaW9uUm91dGluZ0Fy
Yml0cmF0b3IuaAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWFjL0xvY2FsQXVkaW9T
ZXNzaW9uUm91dGluZ0FyYml0cmF0b3IuaApAQCAtMjcsNyArMjcsNyBAQAogCiAjaWYgRU5BQkxF
KFJPVVRJTkdfQVJCSVRSQVRJT04pICYmIEhBVkUoQVZBVURJT19ST1VUSU5HX0FSQklURVIpCiAK
LSNpbmNsdWRlIDxXZWJDb3JlL1NoYXJlZFJvdXRpbmdBcmJpdHJhdG9yLmg+CisjaW5jbHVkZSAi
QXVkaW9TZXNzaW9uUm91dGluZ0FyYml0cmF0b3JQcm94eS5oIgogCiBuYW1lc3BhY2UgV2ViS2l0
IHsKIApAQCAtMzYsMzQgKzM2LDIzIEBAIGNsYXNzIExvY2FsQXVkaW9TZXNzaW9uUm91dGluZ0Fy
Yml0cmF0b3IgZmluYWwKICAgICAsIHB1YmxpYyBDYW5NYWtlV2Vha1B0cjxMb2NhbEF1ZGlvU2Vz
c2lvblJvdXRpbmdBcmJpdHJhdG9yPiB7CiAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAK
LSAgICBmcmllbmQgVW5pcXVlUmVmPExvY2FsQXVkaW9TZXNzaW9uUm91dGluZ0FyYml0cmF0b3I+
IFdURjo6bWFrZVVuaXF1ZVJlZldpdGhvdXRGYXN0TWFsbG9jQ2hlY2s8TG9jYWxBdWRpb1Nlc3Np
b25Sb3V0aW5nQXJiaXRyYXRvcj4oKTsKKyAgICBmcmllbmQgVW5pcXVlUmVmPExvY2FsQXVkaW9T
ZXNzaW9uUm91dGluZ0FyYml0cmF0b3I+IFdURjo6bWFrZVVuaXF1ZVJlZldpdGhvdXRGYXN0TWFs
bG9jQ2hlY2s8TG9jYWxBdWRpb1Nlc3Npb25Sb3V0aW5nQXJiaXRyYXRvcj4oR1BVQ29ubmVjdGlv
blRvV2ViUHJvY2VzcyYpOwogcHVibGljOgotICAgIHN0YXRpYyBVbmlxdWVSZWY8TG9jYWxBdWRp
b1Nlc3Npb25Sb3V0aW5nQXJiaXRyYXRvcj4gY3JlYXRlKCk7CisgICAgc3RhdGljIFVuaXF1ZVJl
ZjxMb2NhbEF1ZGlvU2Vzc2lvblJvdXRpbmdBcmJpdHJhdG9yPiBjcmVhdGUoR1BVQ29ubmVjdGlv
blRvV2ViUHJvY2VzcyYpOwogICAgIHZpcnR1YWwgfkxvY2FsQXVkaW9TZXNzaW9uUm91dGluZ0Fy
Yml0cmF0b3IoKTsKIAogICAgIHVzaW5nIFdlYWtWYWx1ZVR5cGUgPSBXZWJDb3JlOjpBdWRpb1Nl
c3Npb25Sb3V0aW5nQXJiaXRyYXRpb25DbGllbnQ7CiAKLSAgICBlbnVtIGNsYXNzIEFyYml0cmF0
aW9uU3RhdHVzIDogdWludDhfdCB7Ci0gICAgICAgIE5vbmUsCi0gICAgICAgIFBlbmRpbmcsCi0g
ICAgICAgIEFjdGl2ZSwKLSAgICB9OwotCiAgICAgdm9pZCBwcm9jZXNzRGlkVGVybWluYXRlKCk7
Ci0gICAgQXJiaXRyYXRpb25TdGF0dXMgYXJiaXRyYXRpb25TdGF0dXMoKSBjb25zdCB7IHJldHVy
biBtX2FyYml0cmF0aW9uU3RhdHVzOyB9Ci0gICAgV2FsbFRpbWUgYXJiaXRyYXRpb25VcGRhdGVU
aW1lKCkgY29uc3QgeyByZXR1cm4gbV9hcmJpdHJhdGlvblVwZGF0ZVRpbWU7IH0KIAogcHJpdmF0
ZToKLSAgICBMb2NhbEF1ZGlvU2Vzc2lvblJvdXRpbmdBcmJpdHJhdG9yKCk7CisgICAgTG9jYWxB
dWRpb1Nlc3Npb25Sb3V0aW5nQXJiaXRyYXRvcihHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzJik7
CiAKICAgICAvLyBBdWRpb1Nlc3Npb25Sb3V0aW5nQXJiaXRyYXRpb25DbGllbnQKICAgICB2b2lk
IGJlZ2luUm91dGluZ0FyYml0cmF0aW9uV2l0aENhdGVnb3J5KFdlYkNvcmU6OkF1ZGlvU2Vzc2lv
bjo6Q2F0ZWdvcnlUeXBlLCBBcmJpdHJhdGlvbkNhbGxiYWNrJiYpIGZpbmFsOwogICAgIHZvaWQg
bGVhdmVSb3V0aW5nQWJyaXRyYXRpb24oKSBmaW5hbDsKIAotICAgIFVuaXF1ZVJlZjxXZWJDb3Jl
OjpTaGFyZWRSb3V0aW5nQXJiaXRyYXRvcjo6VG9rZW4+IG1fdG9rZW47Ci0gICAgV2ViQ29yZTo6
QXVkaW9TZXNzaW9uOjpDYXRlZ29yeVR5cGUgbV9jYXRlZ29yeSB7IFdlYkNvcmU6OkF1ZGlvU2Vz
c2lvbjo6Q2F0ZWdvcnlUeXBlOjpOb25lIH07Ci0gICAgQXJiaXRyYXRpb25TdGF0dXMgbV9hcmJp
dHJhdGlvblN0YXR1cyB7IEFyYml0cmF0aW9uU3RhdHVzOjpOb25lIH07Ci0gICAgV2FsbFRpbWUg
bV9hcmJpdHJhdGlvblVwZGF0ZVRpbWU7CisgICAgR1BVQ29ubmVjdGlvblRvV2ViUHJvY2VzcyYg
bV9jb25uZWN0aW9uVG9XZWJQcm9jZXNzOwogfTsKIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZUF1ZGlvU2Vzc2lvblByb3h5TWFuYWdlci5oIGIv
U291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZUF1ZGlvU2Vzc2lvblByb3h5TWFu
YWdlci5oCmluZGV4IGNlMjdhNjRlMTU4MjQ0NDFkYjhjNWFkMTIzM2Y4MTE4ZWMwM2RlYjQuLjI3
ZjFkMTdiNjNhY2U3ZGZlNDhmZjE4MjI5NGYxOGRlNjIyZWE0YWYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVBdWRpb1Nlc3Npb25Qcm94eU1hbmFnZXIu
aAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlQXVkaW9TZXNzaW9u
UHJveHlNYW5hZ2VyLmgKQEAgLTUxLDYgKzUxLDcgQEAgcHVibGljOgogCiAgICAgYm9vbCB0cnlU
b1NldEFjdGl2ZUZvclByb2Nlc3MoUmVtb3RlQXVkaW9TZXNzaW9uUHJveHkmLCBib29sKTsKIAor
ICAgIFdlYkNvcmU6OkF1ZGlvU2Vzc2lvbiYgc2Vzc2lvbigpIHsgcmV0dXJuIG1fc2Vzc2lvbjsg
fQogICAgIGNvbnN0IFdlYkNvcmU6OkF1ZGlvU2Vzc2lvbiYgc2Vzc2lvbigpIGNvbnN0IHsgcmV0
dXJuIG1fc2Vzc2lvbjsgfQogCiBwcml2YXRlOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL0dQVS9HUFVQcm9jZXNzQ29ubmVjdGlvbi5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvR1BVL0dQVVByb2Nlc3NDb25uZWN0aW9uLmNwcAppbmRleCA5Y2I4OGUzYjA5ZWY5
Yjg2M2I2ODhjODQyNTYzZjQ0ZDRkYWM4NjIzLi5mYWQzZDNlMjVjMThiOGFlNTBjNzk3OThhMjEw
ZGQxNDY4YmY3YjliIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL0dQ
VVByb2Nlc3NDb25uZWN0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BV
L0dQVVByb2Nlc3NDb25uZWN0aW9uLmNwcApAQCAtMjgsNiArMjgsNyBAQAogCiAjaWYgRU5BQkxF
KEdQVV9QUk9DRVNTKQogCisjaW5jbHVkZSAiQXVkaW9TZXNzaW9uUm91dGluZ0FyYml0cmF0b3Iu
aCIKICNpbmNsdWRlICJEYXRhUmVmZXJlbmNlLmgiCiAjaW5jbHVkZSAiR1BVQ29ubmVjdGlvblRv
V2ViUHJvY2Vzc01lc3NhZ2VzLmgiCiAjaW5jbHVkZSAiTGliV2ViUlRDQ29kZWNzLmgiCkBAIC0y
MzMsNiArMjM0LDI5IEBAIHZvaWQgR1BVUHJvY2Vzc0Nvbm5lY3Rpb246OmRpZFJlY2VpdmVSZW1v
dGVDb21tYW5kKFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1vdGVDCiAgICAgUGxhdGZvcm1NZWRp
YVNlc3Npb25NYW5hZ2VyOjpzaGFyZWRNYW5hZ2VyKCkucHJvY2Vzc0RpZFJlY2VpdmVSZW1vdGVD
b250cm9sQ29tbWFuZCh0eXBlLCBhcmd1bWVudCk7CiB9CiAKKyNpZiBFTkFCTEUoUk9VVElOR19B
UkJJVFJBVElPTikKK3ZvaWQgR1BVUHJvY2Vzc0Nvbm5lY3Rpb246OmJlZ2luUm91dGluZ0FyYml0
cmF0aW9uV2l0aENhdGVnb3J5KEF1ZGlvU2Vzc2lvbjo6Q2F0ZWdvcnlUeXBlIGNhdGVnb3J5LCBB
dWRpb1Nlc3Npb25Sb3V0aW5nQXJiaXRyYXRpb25DbGllbnQ6OkFyYml0cmF0aW9uQ2FsbGJhY2sm
JiBjYWxsYmFjaykKK3sKKyAgICBpZiAoYXV0byogYXJiaXRyYXRvciA9IFdlYlByb2Nlc3M6OnNp
bmdsZXRvbigpLnN1cHBsZW1lbnQ8QXVkaW9TZXNzaW9uUm91dGluZ0FyYml0cmF0b3I+KCkpIHsK
KyAgICAgICAgYXJiaXRyYXRvci0+YmVnaW5Sb3V0aW5nQXJiaXRyYXRpb25XaXRoQ2F0ZWdvcnko
Y2F0ZWdvcnksIFdURk1vdmUoY2FsbGJhY2spKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKwor
ICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIGNhbGxiYWNrKEF1ZGlvU2Vzc2lvblJvdXRp
bmdBcmJpdHJhdGlvbkNsaWVudDo6Um91dGluZ0FyYml0cmF0aW9uRXJyb3I6OkZhaWxlZCwgQXVk
aW9TZXNzaW9uUm91dGluZ0FyYml0cmF0aW9uQ2xpZW50OjpEZWZhdWx0Um91dGVDaGFuZ2VkOjpO
byk7Cit9CisKK3ZvaWQgR1BVUHJvY2Vzc0Nvbm5lY3Rpb246OmVuZFJvdXRpbmdBcmJpdHJhdGlv
bigpCit7CisgICAgaWYgKGF1dG8qIGFyYml0cmF0b3IgPSBXZWJQcm9jZXNzOjpzaW5nbGV0b24o
KS5zdXBwbGVtZW50PEF1ZGlvU2Vzc2lvblJvdXRpbmdBcmJpdHJhdG9yPigpKSB7CisgICAgICAg
IGVuZFJvdXRpbmdBcmJpdHJhdGlvbigpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAg
QVNTRVJUX05PVF9SRUFDSEVEKCk7Cit9CisjZW5kaWYKKwogI2lmIEhBVkUoVklTSUJJTElUWV9Q
Uk9QQUdBVElPTl9WSUVXKQogdm9pZCBHUFVQcm9jZXNzQ29ubmVjdGlvbjo6Y3JlYXRlVmlzaWJp
bGl0eVByb3BhZ2F0aW9uQ29udGV4dEZvclBhZ2UoV2ViUGFnZSYgcGFnZSkKIHsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvR1BVUHJvY2Vzc0Nvbm5lY3Rpb24uaCBi
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvR1BVUHJvY2Vzc0Nvbm5lY3Rpb24uaAppbmRl
eCBhMDcwMTc3M2E0YThiZjljOWM3NWJjYzQxYmMwZWJhODA5YThhZjk0Li5iMzEzMjRiZDA4ZTBj
ZWI5ZmZlOTQ0Y2NiYWNiMzYzNzI2NzAxOTkzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvR1BVL0dQVVByb2Nlc3NDb25uZWN0aW9uLmgKKysrIGIvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL0dQVS9HUFVQcm9jZXNzQ29ubmVjdGlvbi5oCkBAIC0zMyw2ICszMyw3IEBACiAj
aW5jbHVkZSAiTWVzc2FnZVJlY2VpdmVyTWFwLmgiCiAjaW5jbHVkZSAiU2FtcGxlQnVmZmVyRGlz
cGxheUxheWVyTWFuYWdlci5oIgogI2luY2x1ZGUgIlNoYXJlZE1lbW9yeS5oIgorI2luY2x1ZGUg
PFdlYkNvcmUvQXVkaW9TZXNzaW9uLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9QbGF0Zm9ybU1lZGlh
U2Vzc2lvbi5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAjaW5jbHVkZSA8d3RmL1dl
YWtIYXNoU2V0Lmg+CkBAIC0xMjAsNiArMTIxLDExIEBAIHByaXZhdGU6CiAKICAgICB2b2lkIGRp
ZFJlY2VpdmVSZW1vdGVDb21tYW5kKFdlYkNvcmU6OlBsYXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1v
dGVDb250cm9sQ29tbWFuZFR5cGUsIGNvbnN0IFdlYkNvcmU6OlBsYXRmb3JtTWVkaWFTZXNzaW9u
OjpSZW1vdGVDb21tYW5kQXJndW1lbnQmKTsKIAorI2lmIEVOQUJMRShST1VUSU5HX0FSQklUUkFU
SU9OKQorICAgIHZvaWQgYmVnaW5Sb3V0aW5nQXJiaXRyYXRpb25XaXRoQ2F0ZWdvcnkoV2ViQ29y
ZTo6QXVkaW9TZXNzaW9uOjpDYXRlZ29yeVR5cGUsIFdlYkNvcmU6OkF1ZGlvU2Vzc2lvblJvdXRp
bmdBcmJpdHJhdGlvbkNsaWVudDo6QXJiaXRyYXRpb25DYWxsYmFjayYmKTsKKyAgICB2b2lkIGVu
ZFJvdXRpbmdBcmJpdHJhdGlvbigpOworI2VuZGlmCisKICAgICAvLyBUaGUgY29ubmVjdGlvbiBm
cm9tIHRoZSB3ZWIgcHJvY2VzcyB0byB0aGUgR1BVIHByb2Nlc3MuCiAgICAgUmVmPElQQzo6Q29u
bmVjdGlvbj4gbV9jb25uZWN0aW9uOwogICAgIElQQzo6TWVzc2FnZVJlY2VpdmVyTWFwIG1fbWVz
c2FnZVJlY2VpdmVyTWFwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQ
VS9HUFVQcm9jZXNzQ29ubmVjdGlvbi5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9HUFUvR1BVUHJvY2Vzc0Nvbm5lY3Rpb24ubWVzc2FnZXMuaW4KaW5kZXggODVhNmZjZDcz
N2M3NDlkOWZmNDBkYjE4MDFhNjZkZGM4YmE0OTVkYi4uM2RhMGU2MWYwYzhhY2E3YjU3YmUxMDZh
YjVhOTZkNzgxZWE0ODY2NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQ
VS9HUFVQcm9jZXNzQ29ubmVjdGlvbi5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvR1BVL0dQVVByb2Nlc3NDb25uZWN0aW9uLm1lc3NhZ2VzLmluCkBAIC0yNCw2ICsy
NCwxMSBAQAogCiBtZXNzYWdlcyAtPiBHUFVQcm9jZXNzQ29ubmVjdGlvbiBXYW50c0Rpc3BhdGNo
TWVzc2FnZSB7CiAgICAgRGlkUmVjZWl2ZVJlbW90ZUNvbW1hbmQoZW51bTp1aW50OF90IFdlYkNv
cmU6OlBsYXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1vdGVDb250cm9sQ29tbWFuZFR5cGUgdHlwZSwg
c3RydWN0IFdlYkNvcmU6OlBsYXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1vdGVDb21tYW5kQXJndW1l
bnQgYXJndW1lbnQpCisKKyNpZiBFTkFCTEUoUk9VVElOR19BUkJJVFJBVElPTikKKyAgICBCZWdp
blJvdXRpbmdBcmJpdHJhdGlvbldpdGhDYXRlZ29yeShlbnVtOnVpbnQ4X3QgV2ViQ29yZTo6QXVk
aW9TZXNzaW9uOjpDYXRlZ29yeVR5cGUgY2F0ZWdvcnkpIC0+IChlbnVtOnVpbnQ4X3QgV2ViS2l0
OjpBdWRpb1Nlc3Npb25Sb3V0aW5nQXJiaXRyYXRvclByb3h5OjpSb3V0aW5nQXJiaXRyYXRpb25F
cnJvciBlcnJvciwgZW51bTpib29sIFdlYktpdDo6QXVkaW9TZXNzaW9uUm91dGluZ0FyYml0cmF0
b3JQcm94eTo6RGVmYXVsdFJvdXRlQ2hhbmdlZCBkZWZhdWx0Um91dGVDaGFuZ2VkKSBBc3luYwor
ICAgIEVuZFJvdXRpbmdBcmJpdHJhdGlvbigpOworI2VuZGlmCiB9CiAKICNlbmRpZiAvLyBFTkFC
TEUoR1BVX1BST0NFU1MpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29j
b2EvQXVkaW9TZXNzaW9uUm91dGluZ0FyYml0cmF0b3IuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL2NvY29hL0F1ZGlvU2Vzc2lvblJvdXRpbmdBcmJpdHJhdG9yLmNwcAppbmRleCA5Njk4
OWU3YTdmNjFhMWQ4Y2ZkYmY1YjA4Y2JmZDdhZTdmMGYzNzczLi43ZWVkMzlkYjg3ZDViNWFhZTUx
ODU1ODllOWIxZmUyMzgwYWFhOTIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvY29jb2EvQXVkaW9TZXNzaW9uUm91dGluZ0FyYml0cmF0b3IuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9BdWRpb1Nlc3Npb25Sb3V0aW5nQXJiaXRyYXRvci5jcHAK
QEAgLTM5LDggKzM5LDkgQEAgdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKIEF1ZGlvU2Vzc2lv
blJvdXRpbmdBcmJpdHJhdG9yOjpBdWRpb1Nlc3Npb25Sb3V0aW5nQXJiaXRyYXRvcihXZWJQcm9j
ZXNzJiBwcm9jZXNzKQogICAgIDogbV9wcm9jZXNzKHByb2Nlc3MpCisgICAgLCBtX29ic2VydmVy
KFt0aGlzXSAoQXVkaW9TZXNzaW9uJiBzZXNzaW9uKSB7IHNlc3Npb24uc2V0Um91dGluZ0FyYml0
cmF0aW9uQ2xpZW50KG1ha2VXZWFrUHRyKHRoaXMpKTsgfSkKIHsKLSAgICBBdWRpb1Nlc3Npb246
OnNoYXJlZFNlc3Npb24oKS5zZXRSb3V0aW5nQXJiaXRyYXRpb25DbGllbnQobWFrZVdlYWtQdHIo
dGhpcykpOworICAgIEF1ZGlvU2Vzc2lvbjo6YWRkQXVkaW9TZXNzaW9uQ2hhbmdlZE9ic2VydmVy
KG1fb2JzZXJ2ZXIpOwogfQogCiBBdWRpb1Nlc3Npb25Sb3V0aW5nQXJiaXRyYXRvcjo6fkF1ZGlv
U2Vzc2lvblJvdXRpbmdBcmJpdHJhdG9yKCkgPSBkZWZhdWx0OwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL0F1ZGlvU2Vzc2lvblJvdXRpbmdBcmJpdHJhdG9yLmgg
Yi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvQXVkaW9TZXNzaW9uUm91dGluZ0FyYml0
cmF0b3IuaAppbmRleCBjNTYwYWI1NjY0MWJiNWI3NDgwNzZlYmVhNTNmNGUwOTRkNzkyZTdmLi41
YWU1ZThjOTUxNzcwYmQ3YzhkZDNjMWJkMWEyMjZhNGRmMjc4ZmE3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvQXVkaW9TZXNzaW9uUm91dGluZ0FyYml0cmF0b3Iu
aAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvQXVkaW9TZXNzaW9uUm91dGlu
Z0FyYml0cmF0b3IuaApAQCAtNTQsNiArNTQsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgbGVhdmVS
b3V0aW5nQWJyaXRyYXRpb24oKSBmaW5hbDsKIAogICAgIFdlYlByb2Nlc3MmIG1fcHJvY2VzczsK
KyAgICBXZWJDb3JlOjpBdWRpb1Nlc3Npb246OkNoYW5nZWRPYnNlcnZlciBtX29ic2VydmVyOwog
fTsKIAogfQo=
</data>
<flag name="commit-queue"
          id="450502"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>429336</attachid>
            <date>2021-05-21 14:00:29 -0700</date>
            <delta_ts>2021-05-21 15:54:38 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-226104-20210521140028.patch</filename>
            <type>text/plain</type>
            <size>19802</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc3ODcxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGUzMzRiMzU0ZmUwYzZk
NzBmYmMxMTM2NzA2Njg4MzI1YmEwODZkNC4uMjVjYjNkNDQ1MThiMGVkMThkYzg2OTEwMjdiOTZi
Njc0MTY4ODAzNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDIxLTA1LTIxICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIFJFR1JFU1NJT04ocjI3Njk5
Myk6IDUgVGVzdFdlYktpdEFQSS5BdWRpb1JvdXRpbmdBcmJpdHJhdGlvbiAoYXBpLXRlc3RzKSBh
cmUgY29uc3RhbnQgZmFpbHVyZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIyNjEwNAorICAgICAgICA8cmRhcjovLzc3OTk4MDQ5PgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBhIG1lY2hhbmlzbSBm
b3IgYSBjbGllbnQgdG8gd2FpdCB1bnRpbCBhbiBBdWRpb1Nlc3Npb24gaXMgY3JlYXRlZCBvciBj
aGFuZ2VkIGJlZm9yZSB0YWtpbmcKKyAgICAgICAgYW4gYWN0aW9uLgorCisgICAgICAgICogcGxh
dGZvcm0vYXVkaW8vQXVkaW9TZXNzaW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmF1ZGlvU2Vz
c2lvbkNoYW5nZWRPYnNlcnZlcnMpOgorICAgICAgICAoV2ViQ29yZTo6QXVkaW9TZXNzaW9uOjpz
aGFyZWRTZXNzaW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvU2Vzc2lvbjo6c2V0U2hhcmVk
U2Vzc2lvbik6CisgICAgICAgIChXZWJDb3JlOjpBdWRpb1Nlc3Npb246OmFkZEF1ZGlvU2Vzc2lv
bkNoYW5nZWRPYnNlcnZlcik6CisgICAgICAgICogcGxhdGZvcm0vYXVkaW8vQXVkaW9TZXNzaW9u
Lmg6CisKIDIwMjEtMDUtMjAgIEplciBOb2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CiAKICAg
ICAgICAgW0NvY29hXSBMYXN0IGZldyBzZWNvbmRzIG9mICdhdWRpby93ZWJtOyBjb2RlY3M9dm9y
YmlzJyBhcHBlbmRlZCB0byBhIFNhbXBsZUJ1ZmZlciBhcmUgbm90IHBsYXllZApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRl
eCBmZTFjNzZiOWRiMWI5N2U4NDAzMzgzMTk0NTEyMmRjNzlmOTBlY2MzLi4wNjFkYzNlZTQ4NGRj
MGQ4MTYzMmZkNjMwMjI5N2NiOTkwNGZhMzk2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDUyIEBACisy
MDIxLTA1LTIxICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIFJF
R1JFU1NJT04ocjI3Njk5Myk6IDUgVGVzdFdlYktpdEFQSS5BdWRpb1JvdXRpbmdBcmJpdHJhdGlv
biAoYXBpLXRlc3RzKSBhcmUgY29uc3RhbnQgZmFpbHVyZXMKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNjEwNAorICAgICAgICA8cmRhcjovLzc3OTk4
MDQ5PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIElu
IHIyNzY5OTMsIEF1ZGlvU2Vzc2lvblJvdXRpbmdBcmJpdHJhdGlvbiB3YXMgbW92ZWQgZnJvbSBi
ZWluZyBpbml0aWF0ZWQgaW4gdGhlIFdlYkNvbnRlbnQgcHJvY2VzcworICAgICAgICBhbmQgZGlz
cGF0Y2hlZCB0byB0aGUgVUlQcm9jZXNzLCB0byBiZWluZyBkaXNwYXRjaGVkIHRvIHRoZSBHUFUg
cHJvY2Vzcy4gSG93ZXZlciB0d28gcHJvYmxlbXMgb2NjdXJyZWQ6CisKKyAgICAgICAgMSkgVGhl
IFVJUHJvY2VzcyBubyBsb25nZXIga25vd3MgYWJvdXQgcm91dGluZyBhcmJpdHJhdGlvbiwgd2hp
Y2ggaXMgcmVhc29uYWJsZSBmb3IgdGhlIGZlYXR1cmUsIGJ1dAorICAgICAgICAgICBicmVha3Mg
YW4gQVBJIHRlc3QgdGhhdCBxdWVyaWVzIGFyYml0cmF0aW9uIHN0YXR1cyBpbiB0aGUgVUlQcm9j
ZXNzLgorCisgICAgICAgIDIpIEEgc2FuZGJveCB2aW9sYXRpb24gY2F1c2VzIHJvdXRpbmcgYXJi
aXRyYXRpb24gdG8gZmFpbCBpbiB0aGUgR1BVIHByb2Nlc3MgcmVnYXJkbGVzcy4KKworICAgICAg
ICBXZSBjb3VsZCBvcGVuIHVwIHRoZSBzYW5kYm94IHRvIGFsbG93IHJvdXRpbmcgYXJiaXRyYXRp
b24gdG8gc3VjY2VlZCAoYW5kIGNvbWUgdXAgd2l0aCBhIHdheSB0byBwdXNoCisgICAgICAgIHN0
YXRlIGNoYW5nZXMgdXAgdG8gdGhlIFVJUHJvY2VzcyBmb3IgdGVzdGluZyBwdXJwb3NlcyksIGJ1
dCBpdCdzIG5vdCB0ZWNobmljYWxseSBuZWNlc3NhcnkgZm9yCisgICAgICAgIGFyYml0cmF0aW9u
IHRvIG9jY3VyIHRoZXJlLiBJbnN0ZWFkLCBqdXN0IHJldmVydCB0byB0aGUgc3RhdHVzLXF1by1h
bnRlIGJlaGF2aW9yIG9mIGhhdmluZyBhcmJpdHJhdGlvbgorICAgICAgICB0YWtlIHBsYWNlIGlu
IHRoZSBVSVByb2Nlc3MsIGFuZCBqdXN0IGFkZCBhIG5ldyBzZXQgb2YgbWVzc2FnZXMgZnJvbSB0
aGUgR1BVQ29ubm9jdGlvblRvV2ViUHJvY2VzcyB0bworICAgICAgICB0aGUgR1BVUHJvY2Vzc0Nv
bm5lY3Rpb24gdG8gZmFjaWxpdGF0ZSBhcmJpdHJhdGlvbi4KKworICAgICAgICBEcml2ZS1ieSBm
aXg6IEF1ZGlvU2Vzc2lvblJvdXRpbmdBcmJpdHJhdG9yIGlzIGEgc3VwcGxlbWVudCB0byBXZWJQ
cm9jZXNzLCBhbmQgYXMgc3VjaCBpdCdzIGNyZWF0ZWQKKyAgICAgICAgYXQgV2ViUHJvY2VzcyBj
cmVhdGlvbiB0aW1lLiBIb3dldmVyLCBpdCBhbHNvIGNhdXNlcyBhbiBBdWRpb1Nlc3Npb24gdG8g
YmUgY3JlYXRlZCBieSBhdHRlbXB0aW5nIHRvCisgICAgICAgIGFkZCBpdHNlbGYgYXMgYSBjbGll
bnQuIFRoaXMgaXMgYmFkIG9uIGlPUywgd2hlcmUgaXQgY291bGQgY2F1c2UgaGFuZ3MgZHVlIHRv
IEFWQXVkaW9TZXNzaW9uIGNhbGxzLgorICAgICAgICBTbywgYWRkIGEgbWVjaGFuaXNtIHRvIGJl
IG5vdGlmaWVkIHdoZW4gYW4gQXVkaW9TZXNzaW9uIGV2ZW50dWFsbHkgZG9lcyBnZXQgY3JlYXRl
ZCwgYW5kIGFkZCB0aGUKKyAgICAgICAgYXJiaXRyYXRvciBhcyBhIGNsaWVudCB0aGVuLgorCisg
ICAgICAgICogR1BVUHJvY2Vzcy9HUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmNwcDoKKyAgICAg
ICAgKFdlYktpdDo6R1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6R1BVQ29ubmVjdGlvblRvV2Vi
UHJvY2Vzcyk6CisgICAgICAgICogR1BVUHJvY2Vzcy9tYWMvTG9jYWxBdWRpb1Nlc3Npb25Sb3V0
aW5nQXJiaXRyYXRvci5jcHA6CisgICAgICAgIChXZWJLaXQ6OkxvY2FsQXVkaW9TZXNzaW9uUm91
dGluZ0FyYml0cmF0b3I6OmNyZWF0ZSk6CisgICAgICAgIChXZWJLaXQ6OkxvY2FsQXVkaW9TZXNz
aW9uUm91dGluZ0FyYml0cmF0b3I6OkxvY2FsQXVkaW9TZXNzaW9uUm91dGluZ0FyYml0cmF0b3Ip
OgorICAgICAgICAoV2ViS2l0OjpMb2NhbEF1ZGlvU2Vzc2lvblJvdXRpbmdBcmJpdHJhdG9yOjpw
cm9jZXNzRGlkVGVybWluYXRlKToKKyAgICAgICAgKFdlYktpdDo6TG9jYWxBdWRpb1Nlc3Npb25S
b3V0aW5nQXJiaXRyYXRvcjo6YmVnaW5Sb3V0aW5nQXJiaXRyYXRpb25XaXRoQ2F0ZWdvcnkpOgor
ICAgICAgICAoV2ViS2l0OjpMb2NhbEF1ZGlvU2Vzc2lvblJvdXRpbmdBcmJpdHJhdG9yOjpsZWF2
ZVJvdXRpbmdBYnJpdHJhdGlvbik6CisgICAgICAgICogR1BVUHJvY2Vzcy9tYWMvTG9jYWxBdWRp
b1Nlc3Npb25Sb3V0aW5nQXJiaXRyYXRvci5oOgorICAgICAgICAqIEdQVVByb2Nlc3MvbWVkaWEv
UmVtb3RlQXVkaW9TZXNzaW9uUHJveHlNYW5hZ2VyLmg6CisgICAgICAgIChXZWJLaXQ6OlJlbW90
ZUF1ZGlvU2Vzc2lvblByb3h5TWFuYWdlcjo6c2Vzc2lvbik6CisgICAgICAgICogVUlQcm9jZXNz
L0dQVS9HUFVQcm9jZXNzUHJveHkuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL0dQVS9HUFVQcm9j
ZXNzQ29ubmVjdGlvbi5jcHA6CisgICAgICAgIChXZWJLaXQ6OkdQVVByb2Nlc3NDb25uZWN0aW9u
OjpiZWdpblJvdXRpbmdBcmJpdHJhdGlvbldpdGhDYXRlZ29yeSk6CisgICAgICAgIChXZWJLaXQ6
OkdQVVByb2Nlc3NDb25uZWN0aW9uOjplbmRSb3V0aW5nQXJiaXRyYXRpb24pOgorICAgICAgICAq
IFdlYlByb2Nlc3MvR1BVL0dQVVByb2Nlc3NDb25uZWN0aW9uLmg6CisgICAgICAgICogV2ViUHJv
Y2Vzcy9HUFUvR1BVUHJvY2Vzc0Nvbm5lY3Rpb24ubWVzc2FnZXMuaW46CisgICAgICAgICogV2Vi
UHJvY2Vzcy9jb2NvYS9BdWRpb1Nlc3Npb25Sb3V0aW5nQXJiaXRyYXRvci5jcHA6CisgICAgICAg
IChXZWJLaXQ6OkF1ZGlvU2Vzc2lvblJvdXRpbmdBcmJpdHJhdG9yOjpBdWRpb1Nlc3Npb25Sb3V0
aW5nQXJiaXRyYXRvcik6CisgICAgICAgICogV2ViUHJvY2Vzcy9jb2NvYS9BdWRpb1Nlc3Npb25S
b3V0aW5nQXJiaXRyYXRvci5oOgorCiAyMDIxLTA1LTIxICBBZHJpYW4gUGVyZXogZGUgQ2FzdHJv
ICA8YXBlcmV6QGlnYWxpYS5jb20+CiAKICAgICAgICAgTm9uLXVuaWZpZWQgYnVpbGQgZml4ZXMs
IGxhdGUtaXNoIE1heSAyMDIxIGVkaXRpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2F1ZGlvL0F1ZGlvU2Vzc2lvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9h
dWRpby9BdWRpb1Nlc3Npb24uY3BwCmluZGV4IDhlNjg2ZTQ0N2I5YjY2ZGNlOGFiN2UyMTM3MTRm
ZGU2MGU5M2JiNWMuLmVkZWYzZDNmYWIyYTZlNTQ4OWFkNmUwYTNkNGFjYWFhZTMxM2NjODYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvU2Vzc2lvbi5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9TZXNzaW9uLmNwcApAQCAt
NDcsNiArNDcsMTIgQEAgc3RhdGljIE9wdGlvbmFsPFVuaXF1ZVJlZjxBdWRpb1Nlc3Npb24+PiYg
c2hhcmVkQXVkaW9TZXNzaW9uKCkKICAgICByZXR1cm4gc2Vzc2lvbi5nZXQoKTsKIH0KIAorc3Rh
dGljIFdlYWtIYXNoU2V0PEF1ZGlvU2Vzc2lvbjo6Q2hhbmdlZE9ic2VydmVyPiYgYXVkaW9TZXNz
aW9uQ2hhbmdlZE9ic2VydmVycygpCit7CisgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPFdlYWtI
YXNoU2V0PEF1ZGlvU2Vzc2lvbjo6Q2hhbmdlZE9ic2VydmVyPj4gb2JzZXJ2ZXJzOworICAgIHJl
dHVybiBvYnNlcnZlcnM7Cit9CisKIFVuaXF1ZVJlZjxBdWRpb1Nlc3Npb24+IEF1ZGlvU2Vzc2lv
bjo6Y3JlYXRlKCkKIHsKICNpZiBQTEFURk9STShNQUMpCkBAIC02NCwxMyArNzAsMjYgQEAgQXVk
aW9TZXNzaW9uOjp+QXVkaW9TZXNzaW9uKCkgPSBkZWZhdWx0OwogQXVkaW9TZXNzaW9uJiBBdWRp
b1Nlc3Npb246OnNoYXJlZFNlc3Npb24oKQogewogICAgIGlmICghc2hhcmVkQXVkaW9TZXNzaW9u
KCkpCi0gICAgICAgIHNoYXJlZEF1ZGlvU2Vzc2lvbigpID0gQXVkaW9TZXNzaW9uOjpjcmVhdGUo
KTsKKyAgICAgICAgc2V0U2hhcmVkU2Vzc2lvbihBdWRpb1Nlc3Npb246OmNyZWF0ZSgpKTsKICAg
ICByZXR1cm4gKnNoYXJlZEF1ZGlvU2Vzc2lvbigpOwogfQogCiB2b2lkIEF1ZGlvU2Vzc2lvbjo6
c2V0U2hhcmVkU2Vzc2lvbihVbmlxdWVSZWY8QXVkaW9TZXNzaW9uPiYmIHNlc3Npb24pCiB7CiAg
ICAgc2hhcmVkQXVkaW9TZXNzaW9uKCkgPSBXVEZNb3ZlKHNlc3Npb24pOworCisgICAgYXVkaW9T
ZXNzaW9uQ2hhbmdlZE9ic2VydmVycygpLmZvckVhY2goW10gKGF1dG8mIG9ic2VydmVyKSB7Cisg
ICAgICAgIG9ic2VydmVyKCpzaGFyZWRBdWRpb1Nlc3Npb24oKSk7CisgICAgfSk7Cit9CisKK3Zv
aWQgQXVkaW9TZXNzaW9uOjphZGRBdWRpb1Nlc3Npb25DaGFuZ2VkT2JzZXJ2ZXIoY29uc3QgQ2hh
bmdlZE9ic2VydmVyJiBvYnNlcnZlcikKK3sKKyAgICBBU1NFUlQoIWF1ZGlvU2Vzc2lvbkNoYW5n
ZWRPYnNlcnZlcnMoKS5jb250YWlucyhvYnNlcnZlcikpOworICAgIGF1ZGlvU2Vzc2lvbkNoYW5n
ZWRPYnNlcnZlcnMoKS5hZGQob2JzZXJ2ZXIpOworCisgICAgaWYgKHNoYXJlZEF1ZGlvU2Vzc2lv
bigpKQorICAgICAgICBvYnNlcnZlcigqc2hhcmVkQXVkaW9TZXNzaW9uKCkpOwogfQogCiBib29s
IEF1ZGlvU2Vzc2lvbjo6dHJ5VG9TZXRBY3RpdmUoYm9vbCBhY3RpdmUpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb1Nlc3Npb24uaCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvU2Vzc2lvbi5oCmluZGV4IGI4ZjdkMzBmN2Q2NTEwOGRi
M2QwYjczNjk4ODk3ZTMwNjBmOThiYjguLjRlOTM4NWE0Nzg2MDFlYTdjOTM4ZTI1ZTNmYjI4ZTcz
MTljY2MwYzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlv
U2Vzc2lvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvU2Vzc2lv
bi5oCkBAIC0zMiw2ICszMiw3IEBACiAjaW5jbHVkZSA8d3RmL0VudW1UcmFpdHMuaD4KICNpbmNs
dWRlIDx3dGYvTmV2ZXJEZXN0cm95ZWQuaD4KICNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4K
KyNpbmNsdWRlIDx3dGYvT2JzZXJ2ZXIuaD4KICNpbmNsdWRlIDx3dGYvVW5pcXVlUmVmLmg+CiAj
aW5jbHVkZSA8d3RmL1dlYWtIYXNoU2V0Lmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5n
Lmg+CkBAIC01Niw2ICs1NywxMCBAQCBwdWJsaWM6CiAgICAgc3RhdGljIFVuaXF1ZVJlZjxBdWRp
b1Nlc3Npb24+IGNyZWF0ZSgpOwogICAgIHN0YXRpYyB2b2lkIHNldFNoYXJlZFNlc3Npb24oVW5p
cXVlUmVmPEF1ZGlvU2Vzc2lvbj4mJik7CiAgICAgc3RhdGljIEF1ZGlvU2Vzc2lvbiYgc2hhcmVk
U2Vzc2lvbigpOworCisgICAgdXNpbmcgQ2hhbmdlZE9ic2VydmVyID0gV1RGOjpPYnNlcnZlcjx2
b2lkKEF1ZGlvU2Vzc2lvbiYpPjsKKyAgICBzdGF0aWMgdm9pZCBhZGRBdWRpb1Nlc3Npb25DaGFu
Z2VkT2JzZXJ2ZXIoY29uc3QgQ2hhbmdlZE9ic2VydmVyJik7CisKICAgICB2aXJ0dWFsIH5BdWRp
b1Nlc3Npb24oKTsKIAogICAgIGVudW0gY2xhc3MgQ2F0ZWdvcnlUeXBlIDogdWludDhfdCB7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVQ29ubmVjdGlvblRvV2ViUHJv
Y2Vzcy5jcHAgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVQ29ubmVjdGlvblRvV2ViUHJv
Y2Vzcy5jcHAKaW5kZXggNmIyMTE3OTQ1MDNlY2MxOTQ4ZDlmMjE2MWEyNjhlNzg2MmYyZTI1OS4u
MmQ1NjdjYWRlOGViZTdjNGZjMTM0MTFhNTExZTcxMzY1ZjI2MGVlMyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmNwcApA
QCAtMjA2LDExICsyMDYsMTUgQEAgR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6R1BVQ29ubmVj
dGlvblRvV2ViUHJvY2VzcyhHUFVQcm9jZXNzJiBncHVQcm9jZXNzLCBXZWIKICAgICAsIG1fc2Ft
cGxlQnVmZmVyRGlzcGxheUxheWVyTWFuYWdlcihSZW1vdGVTYW1wbGVCdWZmZXJEaXNwbGF5TGF5
ZXJNYW5hZ2VyOjpjcmVhdGUoKnRoaXMpKQogI2VuZGlmCiAjaWYgRU5BQkxFKFJPVVRJTkdfQVJC
SVRSQVRJT04pICYmIEhBVkUoQVZBVURJT19ST1VUSU5HX0FSQklURVIpCi0gICAgLCBtX3JvdXRp
bmdBcmJpdHJhdG9yKExvY2FsQXVkaW9TZXNzaW9uUm91dGluZ0FyYml0cmF0b3I6OmNyZWF0ZSgp
KQorICAgICwgbV9yb3V0aW5nQXJiaXRyYXRvcihMb2NhbEF1ZGlvU2Vzc2lvblJvdXRpbmdBcmJp
dHJhdG9yOjpjcmVhdGUoKnRoaXMpKQogI2VuZGlmCiB7CiAgICAgUkVMRUFTRV9BU1NFUlQoUnVu
TG9vcDo6aXNNYWluKCkpOwogCisjaWYgRU5BQkxFKFJPVVRJTkdfQVJCSVRSQVRJT04pICYmIEhB
VkUoQVZBVURJT19ST1VUSU5HX0FSQklURVIpCisgICAgZ3B1UHJvY2Vzcy5hdWRpb1Nlc3Npb25N
YW5hZ2VyKCkuc2Vzc2lvbigpLnNldFJvdXRpbmdBcmJpdHJhdGlvbkNsaWVudChtYWtlV2Vha1B0
cihtX3JvdXRpbmdBcmJpdHJhdG9yLmdldCgpKSk7CisjZW5kaWYKKwogICAgIGlmICghcGFyYW1l
dGVycy5vdmVycmlkZUxhbmd1YWdlcy5pc0VtcHR5KCkpCiAgICAgICAgIG92ZXJyaWRlVXNlclBy
ZWZlcnJlZExhbmd1YWdlcyhwYXJhbWV0ZXJzLm92ZXJyaWRlTGFuZ3VhZ2VzKTsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21hYy9Mb2NhbEF1ZGlvU2Vzc2lvblJvdXRp
bmdBcmJpdHJhdG9yLmNwcCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tYWMvTG9jYWxBdWRp
b1Nlc3Npb25Sb3V0aW5nQXJiaXRyYXRvci5jcHAKaW5kZXggOTViYzRjY2M2NDQxNTNkMDk1YzNm
Y2E4MGZiYTZjMGEzNzlhMDdlNS4uN2U1ZWRmZWQ5ODAxNWE0YTQ0MzA5ODdkMmZhN2M3OWYzMTYw
OTkzZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21hYy9Mb2NhbEF1ZGlv
U2Vzc2lvblJvdXRpbmdBcmJpdHJhdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nl
c3MvbWFjL0xvY2FsQXVkaW9TZXNzaW9uUm91dGluZ0FyYml0cmF0b3IuY3BwCkBAIC0yNiwxOSAr
MjYsMjIgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJMb2NhbEF1ZGlvU2Vzc2lv
blJvdXRpbmdBcmJpdHJhdG9yLmgiCiAKKyNpbmNsdWRlICJHUFVQcm9jZXNzLmgiCisjaW5jbHVk
ZSAiR1BVUHJvY2Vzc0Nvbm5lY3Rpb25NZXNzYWdlcy5oIgorCiAjaWYgRU5BQkxFKFJPVVRJTkdf
QVJCSVRSQVRJT04pICYmIEhBVkUoQVZBVURJT19ST1VUSU5HX0FSQklURVIpCiAKIG5hbWVzcGFj
ZSBXZWJLaXQgewogCiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAotVW5pcXVlUmVmPExvY2Fs
QXVkaW9TZXNzaW9uUm91dGluZ0FyYml0cmF0b3I+IExvY2FsQXVkaW9TZXNzaW9uUm91dGluZ0Fy
Yml0cmF0b3I6OmNyZWF0ZSgpCitVbmlxdWVSZWY8TG9jYWxBdWRpb1Nlc3Npb25Sb3V0aW5nQXJi
aXRyYXRvcj4gTG9jYWxBdWRpb1Nlc3Npb25Sb3V0aW5nQXJiaXRyYXRvcjo6Y3JlYXRlKEdQVUNv
bm5lY3Rpb25Ub1dlYlByb2Nlc3MmIGdwdUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MpCiB7Ci0gICAg
cmV0dXJuIG1ha2VVbmlxdWVSZWY8TG9jYWxBdWRpb1Nlc3Npb25Sb3V0aW5nQXJiaXRyYXRvcj4o
KTsKKyAgICByZXR1cm4gbWFrZVVuaXF1ZVJlZjxMb2NhbEF1ZGlvU2Vzc2lvblJvdXRpbmdBcmJp
dHJhdG9yPihncHVDb25uZWN0aW9uVG9XZWJQcm9jZXNzKTsKIH0KIAotTG9jYWxBdWRpb1Nlc3Np
b25Sb3V0aW5nQXJiaXRyYXRvcjo6TG9jYWxBdWRpb1Nlc3Npb25Sb3V0aW5nQXJiaXRyYXRvcigp
Ci0gICAgOiBtX3Rva2VuKFNoYXJlZFJvdXRpbmdBcmJpdHJhdG9yOjpUb2tlbjo6Y3JlYXRlKCkp
CitMb2NhbEF1ZGlvU2Vzc2lvblJvdXRpbmdBcmJpdHJhdG9yOjpMb2NhbEF1ZGlvU2Vzc2lvblJv
dXRpbmdBcmJpdHJhdG9yKEdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MmIGdwdUNvbm5lY3Rpb25U
b1dlYlByb2Nlc3MpCisgICAgOiBtX2Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MoZ3B1Q29ubmVjdGlv
blRvV2ViUHJvY2VzcykKIHsKIH0KIApAQCAtNDYsMjcgKzQ5LDE3IEBAIExvY2FsQXVkaW9TZXNz
aW9uUm91dGluZ0FyYml0cmF0b3I6On5Mb2NhbEF1ZGlvU2Vzc2lvblJvdXRpbmdBcmJpdHJhdG9y
KCkgPSBkZWZhCiAKIHZvaWQgTG9jYWxBdWRpb1Nlc3Npb25Sb3V0aW5nQXJiaXRyYXRvcjo6cHJv
Y2Vzc0RpZFRlcm1pbmF0ZSgpCiB7Ci0gICAgaWYgKFNoYXJlZFJvdXRpbmdBcmJpdHJhdG9yOjpz
aGFyZWRJbnN0YW5jZSgpLmlzSW5Sb3V0aW5nQXJiaXRyYXRpb25Gb3JUb2tlbihtX3Rva2VuKSkK
LSAgICAgICAgbGVhdmVSb3V0aW5nQWJyaXRyYXRpb24oKTsKKyAgICBsZWF2ZVJvdXRpbmdBYnJp
dHJhdGlvbigpOwogfQogCiB2b2lkIExvY2FsQXVkaW9TZXNzaW9uUm91dGluZ0FyYml0cmF0b3I6
OmJlZ2luUm91dGluZ0FyYml0cmF0aW9uV2l0aENhdGVnb3J5KEF1ZGlvU2Vzc2lvbjo6Q2F0ZWdv
cnlUeXBlIGNhdGVnb3J5LCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFJvdXRpbmdBcmJpdHJhdGlv
bkVycm9yLCBEZWZhdWx0Um91dGVDaGFuZ2VkKT4mJiBjYWxsYmFjaykKIHsKLSAgICBtX2NhdGVn
b3J5ID0gY2F0ZWdvcnk7Ci0gICAgbV9hcmJpdHJhdGlvblN0YXR1cyA9IEFyYml0cmF0aW9uU3Rh
dHVzOjpQZW5kaW5nOwotICAgIG1fYXJiaXRyYXRpb25VcGRhdGVUaW1lID0gV2FsbFRpbWU6Om5v
dygpOwotCi0gICAgU2hhcmVkUm91dGluZ0FyYml0cmF0b3I6OnNoYXJlZEluc3RhbmNlKCkuYmVn
aW5Sb3V0aW5nQXJiaXRyYXRpb25Gb3JUb2tlbihtX3Rva2VuLCBjYXRlZ29yeSwgW3dlYWtUaGlz
ID0gbWFrZVdlYWtQdHIoKnRoaXMpLCBjYWxsYmFjayA9IFdURk1vdmUoY2FsbGJhY2spXSAoUm91
dGluZ0FyYml0cmF0aW9uRXJyb3IgZXJyb3IsIERlZmF1bHRSb3V0ZUNoYW5nZWQgcm91dGVDaGFu
Z2VkKSBtdXRhYmxlIHsKLSAgICAgICAgaWYgKHdlYWtUaGlzKQotICAgICAgICAgICAgd2Vha1Ro
aXMtPm1fYXJiaXRyYXRpb25TdGF0dXMgPSBlcnJvciA9PSBSb3V0aW5nQXJiaXRyYXRpb25FcnJv
cjo6Tm9uZSA/IEFyYml0cmF0aW9uU3RhdHVzOjpBY3RpdmUgOiBBcmJpdHJhdGlvblN0YXR1czo6
Tm9uZTsKLSAgICAgICAgY2FsbGJhY2soZXJyb3IsIHJvdXRlQ2hhbmdlZCk7Ci0gICAgfSk7Cisg
ICAgbV9jb25uZWN0aW9uVG9XZWJQcm9jZXNzLmNvbm5lY3Rpb24oKS5zZW5kV2l0aEFzeW5jUmVw
bHkoTWVzc2FnZXM6OkdQVVByb2Nlc3NDb25uZWN0aW9uOjpCZWdpblJvdXRpbmdBcmJpdHJhdGlv
bldpdGhDYXRlZ29yeShjYXRlZ29yeSksIFdURk1vdmUoY2FsbGJhY2spLCAwKTsKIH0KIAogdm9p
ZCBMb2NhbEF1ZGlvU2Vzc2lvblJvdXRpbmdBcmJpdHJhdG9yOjpsZWF2ZVJvdXRpbmdBYnJpdHJh
dGlvbigpCiB7Ci0gICAgU2hhcmVkUm91dGluZ0FyYml0cmF0b3I6OnNoYXJlZEluc3RhbmNlKCku
ZW5kUm91dGluZ0FyYml0cmF0aW9uRm9yVG9rZW4obV90b2tlbik7Ci0gICAgbV9hcmJpdHJhdGlv
blN0YXR1cyA9IEFyYml0cmF0aW9uU3RhdHVzOjpOb25lOworICAgIG1fY29ubmVjdGlvblRvV2Vi
UHJvY2Vzcy5jb25uZWN0aW9uKCkuc2VuZChNZXNzYWdlczo6R1BVUHJvY2Vzc0Nvbm5lY3Rpb246
OkVuZFJvdXRpbmdBcmJpdHJhdGlvbigpLCAwKTsKIH0KIAogfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9HUFVQcm9jZXNzL21hYy9Mb2NhbEF1ZGlvU2Vzc2lvblJvdXRpbmdBcmJpdHJhdG9y
LmggYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWFjL0xvY2FsQXVkaW9TZXNzaW9uUm91dGlu
Z0FyYml0cmF0b3IuaAppbmRleCA5YWIyZGNlNGMwNzE2NmIxYzNhMjcxZGIyMTE0MzgxZjc1N2Mx
MmViLi4wOGNkYjI5MDJiZWFkZTdjOGIyNThkNmNlYjUxYzAzNDE5ZWQ0NzVmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWFjL0xvY2FsQXVkaW9TZXNzaW9uUm91dGluZ0Fy
Yml0cmF0b3IuaAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWFjL0xvY2FsQXVkaW9T
ZXNzaW9uUm91dGluZ0FyYml0cmF0b3IuaApAQCAtMjcsNyArMjcsNyBAQAogCiAjaWYgRU5BQkxF
KFJPVVRJTkdfQVJCSVRSQVRJT04pICYmIEhBVkUoQVZBVURJT19ST1VUSU5HX0FSQklURVIpCiAK
LSNpbmNsdWRlIDxXZWJDb3JlL1NoYXJlZFJvdXRpbmdBcmJpdHJhdG9yLmg+CisjaW5jbHVkZSAi
QXVkaW9TZXNzaW9uUm91dGluZ0FyYml0cmF0b3JQcm94eS5oIgogCiBuYW1lc3BhY2UgV2ViS2l0
IHsKIApAQCAtMzYsMzQgKzM2LDIzIEBAIGNsYXNzIExvY2FsQXVkaW9TZXNzaW9uUm91dGluZ0Fy
Yml0cmF0b3IgZmluYWwKICAgICAsIHB1YmxpYyBDYW5NYWtlV2Vha1B0cjxMb2NhbEF1ZGlvU2Vz
c2lvblJvdXRpbmdBcmJpdHJhdG9yPiB7CiAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAK
LSAgICBmcmllbmQgVW5pcXVlUmVmPExvY2FsQXVkaW9TZXNzaW9uUm91dGluZ0FyYml0cmF0b3I+
IFdURjo6bWFrZVVuaXF1ZVJlZldpdGhvdXRGYXN0TWFsbG9jQ2hlY2s8TG9jYWxBdWRpb1Nlc3Np
b25Sb3V0aW5nQXJiaXRyYXRvcj4oKTsKKyAgICBmcmllbmQgVW5pcXVlUmVmPExvY2FsQXVkaW9T
ZXNzaW9uUm91dGluZ0FyYml0cmF0b3I+IFdURjo6bWFrZVVuaXF1ZVJlZldpdGhvdXRGYXN0TWFs
bG9jQ2hlY2s8TG9jYWxBdWRpb1Nlc3Npb25Sb3V0aW5nQXJiaXRyYXRvcj4oR1BVQ29ubmVjdGlv
blRvV2ViUHJvY2VzcyYpOwogcHVibGljOgotICAgIHN0YXRpYyBVbmlxdWVSZWY8TG9jYWxBdWRp
b1Nlc3Npb25Sb3V0aW5nQXJiaXRyYXRvcj4gY3JlYXRlKCk7CisgICAgc3RhdGljIFVuaXF1ZVJl
ZjxMb2NhbEF1ZGlvU2Vzc2lvblJvdXRpbmdBcmJpdHJhdG9yPiBjcmVhdGUoR1BVQ29ubmVjdGlv
blRvV2ViUHJvY2VzcyYpOwogICAgIHZpcnR1YWwgfkxvY2FsQXVkaW9TZXNzaW9uUm91dGluZ0Fy
Yml0cmF0b3IoKTsKIAogICAgIHVzaW5nIFdlYWtWYWx1ZVR5cGUgPSBXZWJDb3JlOjpBdWRpb1Nl
c3Npb25Sb3V0aW5nQXJiaXRyYXRpb25DbGllbnQ7CiAKLSAgICBlbnVtIGNsYXNzIEFyYml0cmF0
aW9uU3RhdHVzIDogdWludDhfdCB7Ci0gICAgICAgIE5vbmUsCi0gICAgICAgIFBlbmRpbmcsCi0g
ICAgICAgIEFjdGl2ZSwKLSAgICB9OwotCiAgICAgdm9pZCBwcm9jZXNzRGlkVGVybWluYXRlKCk7
Ci0gICAgQXJiaXRyYXRpb25TdGF0dXMgYXJiaXRyYXRpb25TdGF0dXMoKSBjb25zdCB7IHJldHVy
biBtX2FyYml0cmF0aW9uU3RhdHVzOyB9Ci0gICAgV2FsbFRpbWUgYXJiaXRyYXRpb25VcGRhdGVU
aW1lKCkgY29uc3QgeyByZXR1cm4gbV9hcmJpdHJhdGlvblVwZGF0ZVRpbWU7IH0KIAogcHJpdmF0
ZToKLSAgICBMb2NhbEF1ZGlvU2Vzc2lvblJvdXRpbmdBcmJpdHJhdG9yKCk7CisgICAgTG9jYWxB
dWRpb1Nlc3Npb25Sb3V0aW5nQXJiaXRyYXRvcihHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzJik7
CiAKICAgICAvLyBBdWRpb1Nlc3Npb25Sb3V0aW5nQXJiaXRyYXRpb25DbGllbnQKICAgICB2b2lk
IGJlZ2luUm91dGluZ0FyYml0cmF0aW9uV2l0aENhdGVnb3J5KFdlYkNvcmU6OkF1ZGlvU2Vzc2lv
bjo6Q2F0ZWdvcnlUeXBlLCBBcmJpdHJhdGlvbkNhbGxiYWNrJiYpIGZpbmFsOwogICAgIHZvaWQg
bGVhdmVSb3V0aW5nQWJyaXRyYXRpb24oKSBmaW5hbDsKIAotICAgIFVuaXF1ZVJlZjxXZWJDb3Jl
OjpTaGFyZWRSb3V0aW5nQXJiaXRyYXRvcjo6VG9rZW4+IG1fdG9rZW47Ci0gICAgV2ViQ29yZTo6
QXVkaW9TZXNzaW9uOjpDYXRlZ29yeVR5cGUgbV9jYXRlZ29yeSB7IFdlYkNvcmU6OkF1ZGlvU2Vz
c2lvbjo6Q2F0ZWdvcnlUeXBlOjpOb25lIH07Ci0gICAgQXJiaXRyYXRpb25TdGF0dXMgbV9hcmJp
dHJhdGlvblN0YXR1cyB7IEFyYml0cmF0aW9uU3RhdHVzOjpOb25lIH07Ci0gICAgV2FsbFRpbWUg
bV9hcmJpdHJhdGlvblVwZGF0ZVRpbWU7CisgICAgR1BVQ29ubmVjdGlvblRvV2ViUHJvY2VzcyYg
bV9jb25uZWN0aW9uVG9XZWJQcm9jZXNzOwogfTsKIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZUF1ZGlvU2Vzc2lvblByb3h5TWFuYWdlci5oIGIv
U291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZUF1ZGlvU2Vzc2lvblByb3h5TWFu
YWdlci5oCmluZGV4IGNlMjdhNjRlMTU4MjQ0NDFkYjhjNWFkMTIzM2Y4MTE4ZWMwM2RlYjQuLjI3
ZjFkMTdiNjNhY2U3ZGZlNDhmZjE4MjI5NGYxOGRlNjIyZWE0YWYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVBdWRpb1Nlc3Npb25Qcm94eU1hbmFnZXIu
aAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlQXVkaW9TZXNzaW9u
UHJveHlNYW5hZ2VyLmgKQEAgLTUxLDYgKzUxLDcgQEAgcHVibGljOgogCiAgICAgYm9vbCB0cnlU
b1NldEFjdGl2ZUZvclByb2Nlc3MoUmVtb3RlQXVkaW9TZXNzaW9uUHJveHkmLCBib29sKTsKIAor
ICAgIFdlYkNvcmU6OkF1ZGlvU2Vzc2lvbiYgc2Vzc2lvbigpIHsgcmV0dXJuIG1fc2Vzc2lvbjsg
fQogICAgIGNvbnN0IFdlYkNvcmU6OkF1ZGlvU2Vzc2lvbiYgc2Vzc2lvbigpIGNvbnN0IHsgcmV0
dXJuIG1fc2Vzc2lvbjsgfQogCiBwcml2YXRlOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL0dQVS9HUFVQcm9jZXNzQ29ubmVjdGlvbi5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvR1BVL0dQVVByb2Nlc3NDb25uZWN0aW9uLmNwcAppbmRleCA5Y2I4OGUzYjA5ZWY5
Yjg2M2I2ODhjODQyNTYzZjQ0ZDRkYWM4NjIzLi5mYWQzZDNlMjVjMThiOGFlNTBjNzk3OThhMjEw
ZGQxNDY4YmY3YjliIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL0dQ
VVByb2Nlc3NDb25uZWN0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BV
L0dQVVByb2Nlc3NDb25uZWN0aW9uLmNwcApAQCAtMjgsNiArMjgsNyBAQAogCiAjaWYgRU5BQkxF
KEdQVV9QUk9DRVNTKQogCisjaW5jbHVkZSAiQXVkaW9TZXNzaW9uUm91dGluZ0FyYml0cmF0b3Iu
aCIKICNpbmNsdWRlICJEYXRhUmVmZXJlbmNlLmgiCiAjaW5jbHVkZSAiR1BVQ29ubmVjdGlvblRv
V2ViUHJvY2Vzc01lc3NhZ2VzLmgiCiAjaW5jbHVkZSAiTGliV2ViUlRDQ29kZWNzLmgiCkBAIC0y
MzMsNiArMjM0LDI5IEBAIHZvaWQgR1BVUHJvY2Vzc0Nvbm5lY3Rpb246OmRpZFJlY2VpdmVSZW1v
dGVDb21tYW5kKFBsYXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1vdGVDCiAgICAgUGxhdGZvcm1NZWRp
YVNlc3Npb25NYW5hZ2VyOjpzaGFyZWRNYW5hZ2VyKCkucHJvY2Vzc0RpZFJlY2VpdmVSZW1vdGVD
b250cm9sQ29tbWFuZCh0eXBlLCBhcmd1bWVudCk7CiB9CiAKKyNpZiBFTkFCTEUoUk9VVElOR19B
UkJJVFJBVElPTikKK3ZvaWQgR1BVUHJvY2Vzc0Nvbm5lY3Rpb246OmJlZ2luUm91dGluZ0FyYml0
cmF0aW9uV2l0aENhdGVnb3J5KEF1ZGlvU2Vzc2lvbjo6Q2F0ZWdvcnlUeXBlIGNhdGVnb3J5LCBB
dWRpb1Nlc3Npb25Sb3V0aW5nQXJiaXRyYXRpb25DbGllbnQ6OkFyYml0cmF0aW9uQ2FsbGJhY2sm
JiBjYWxsYmFjaykKK3sKKyAgICBpZiAoYXV0byogYXJiaXRyYXRvciA9IFdlYlByb2Nlc3M6OnNp
bmdsZXRvbigpLnN1cHBsZW1lbnQ8QXVkaW9TZXNzaW9uUm91dGluZ0FyYml0cmF0b3I+KCkpIHsK
KyAgICAgICAgYXJiaXRyYXRvci0+YmVnaW5Sb3V0aW5nQXJiaXRyYXRpb25XaXRoQ2F0ZWdvcnko
Y2F0ZWdvcnksIFdURk1vdmUoY2FsbGJhY2spKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKwor
ICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIGNhbGxiYWNrKEF1ZGlvU2Vzc2lvblJvdXRp
bmdBcmJpdHJhdGlvbkNsaWVudDo6Um91dGluZ0FyYml0cmF0aW9uRXJyb3I6OkZhaWxlZCwgQXVk
aW9TZXNzaW9uUm91dGluZ0FyYml0cmF0aW9uQ2xpZW50OjpEZWZhdWx0Um91dGVDaGFuZ2VkOjpO
byk7Cit9CisKK3ZvaWQgR1BVUHJvY2Vzc0Nvbm5lY3Rpb246OmVuZFJvdXRpbmdBcmJpdHJhdGlv
bigpCit7CisgICAgaWYgKGF1dG8qIGFyYml0cmF0b3IgPSBXZWJQcm9jZXNzOjpzaW5nbGV0b24o
KS5zdXBwbGVtZW50PEF1ZGlvU2Vzc2lvblJvdXRpbmdBcmJpdHJhdG9yPigpKSB7CisgICAgICAg
IGVuZFJvdXRpbmdBcmJpdHJhdGlvbigpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAg
QVNTRVJUX05PVF9SRUFDSEVEKCk7Cit9CisjZW5kaWYKKwogI2lmIEhBVkUoVklTSUJJTElUWV9Q
Uk9QQUdBVElPTl9WSUVXKQogdm9pZCBHUFVQcm9jZXNzQ29ubmVjdGlvbjo6Y3JlYXRlVmlzaWJp
bGl0eVByb3BhZ2F0aW9uQ29udGV4dEZvclBhZ2UoV2ViUGFnZSYgcGFnZSkKIHsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvR1BVUHJvY2Vzc0Nvbm5lY3Rpb24uaCBi
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvR1BVUHJvY2Vzc0Nvbm5lY3Rpb24uaAppbmRl
eCBhMDcwMTc3M2E0YThiZjljOWM3NWJjYzQxYmMwZWJhODA5YThhZjk0Li5iMzEzMjRiZDA4ZTBj
ZWI5ZmZlOTQ0Y2NiYWNiMzYzNzI2NzAxOTkzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvR1BVL0dQVVByb2Nlc3NDb25uZWN0aW9uLmgKKysrIGIvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL0dQVS9HUFVQcm9jZXNzQ29ubmVjdGlvbi5oCkBAIC0zMyw2ICszMyw3IEBACiAj
aW5jbHVkZSAiTWVzc2FnZVJlY2VpdmVyTWFwLmgiCiAjaW5jbHVkZSAiU2FtcGxlQnVmZmVyRGlz
cGxheUxheWVyTWFuYWdlci5oIgogI2luY2x1ZGUgIlNoYXJlZE1lbW9yeS5oIgorI2luY2x1ZGUg
PFdlYkNvcmUvQXVkaW9TZXNzaW9uLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9QbGF0Zm9ybU1lZGlh
U2Vzc2lvbi5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAjaW5jbHVkZSA8d3RmL1dl
YWtIYXNoU2V0Lmg+CkBAIC0xMjAsNiArMTIxLDExIEBAIHByaXZhdGU6CiAKICAgICB2b2lkIGRp
ZFJlY2VpdmVSZW1vdGVDb21tYW5kKFdlYkNvcmU6OlBsYXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1v
dGVDb250cm9sQ29tbWFuZFR5cGUsIGNvbnN0IFdlYkNvcmU6OlBsYXRmb3JtTWVkaWFTZXNzaW9u
OjpSZW1vdGVDb21tYW5kQXJndW1lbnQmKTsKIAorI2lmIEVOQUJMRShST1VUSU5HX0FSQklUUkFU
SU9OKQorICAgIHZvaWQgYmVnaW5Sb3V0aW5nQXJiaXRyYXRpb25XaXRoQ2F0ZWdvcnkoV2ViQ29y
ZTo6QXVkaW9TZXNzaW9uOjpDYXRlZ29yeVR5cGUsIFdlYkNvcmU6OkF1ZGlvU2Vzc2lvblJvdXRp
bmdBcmJpdHJhdGlvbkNsaWVudDo6QXJiaXRyYXRpb25DYWxsYmFjayYmKTsKKyAgICB2b2lkIGVu
ZFJvdXRpbmdBcmJpdHJhdGlvbigpOworI2VuZGlmCisKICAgICAvLyBUaGUgY29ubmVjdGlvbiBm
cm9tIHRoZSB3ZWIgcHJvY2VzcyB0byB0aGUgR1BVIHByb2Nlc3MuCiAgICAgUmVmPElQQzo6Q29u
bmVjdGlvbj4gbV9jb25uZWN0aW9uOwogICAgIElQQzo6TWVzc2FnZVJlY2VpdmVyTWFwIG1fbWVz
c2FnZVJlY2VpdmVyTWFwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQ
VS9HUFVQcm9jZXNzQ29ubmVjdGlvbi5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9HUFUvR1BVUHJvY2Vzc0Nvbm5lY3Rpb24ubWVzc2FnZXMuaW4KaW5kZXggODVhNmZjZDcz
N2M3NDlkOWZmNDBkYjE4MDFhNjZkZGM4YmE0OTVkYi4uM2RhMGU2MWYwYzhhY2E3YjU3YmUxMDZh
YjVhOTZkNzgxZWE0ODY2NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQ
VS9HUFVQcm9jZXNzQ29ubmVjdGlvbi5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvR1BVL0dQVVByb2Nlc3NDb25uZWN0aW9uLm1lc3NhZ2VzLmluCkBAIC0yNCw2ICsy
NCwxMSBAQAogCiBtZXNzYWdlcyAtPiBHUFVQcm9jZXNzQ29ubmVjdGlvbiBXYW50c0Rpc3BhdGNo
TWVzc2FnZSB7CiAgICAgRGlkUmVjZWl2ZVJlbW90ZUNvbW1hbmQoZW51bTp1aW50OF90IFdlYkNv
cmU6OlBsYXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1vdGVDb250cm9sQ29tbWFuZFR5cGUgdHlwZSwg
c3RydWN0IFdlYkNvcmU6OlBsYXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1vdGVDb21tYW5kQXJndW1l
bnQgYXJndW1lbnQpCisKKyNpZiBFTkFCTEUoUk9VVElOR19BUkJJVFJBVElPTikKKyAgICBCZWdp
blJvdXRpbmdBcmJpdHJhdGlvbldpdGhDYXRlZ29yeShlbnVtOnVpbnQ4X3QgV2ViQ29yZTo6QXVk
aW9TZXNzaW9uOjpDYXRlZ29yeVR5cGUgY2F0ZWdvcnkpIC0+IChlbnVtOnVpbnQ4X3QgV2ViS2l0
OjpBdWRpb1Nlc3Npb25Sb3V0aW5nQXJiaXRyYXRvclByb3h5OjpSb3V0aW5nQXJiaXRyYXRpb25F
cnJvciBlcnJvciwgZW51bTpib29sIFdlYktpdDo6QXVkaW9TZXNzaW9uUm91dGluZ0FyYml0cmF0
b3JQcm94eTo6RGVmYXVsdFJvdXRlQ2hhbmdlZCBkZWZhdWx0Um91dGVDaGFuZ2VkKSBBc3luYwor
ICAgIEVuZFJvdXRpbmdBcmJpdHJhdGlvbigpOworI2VuZGlmCiB9CiAKICNlbmRpZiAvLyBFTkFC
TEUoR1BVX1BST0NFU1MpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29j
b2EvQXVkaW9TZXNzaW9uUm91dGluZ0FyYml0cmF0b3IuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL2NvY29hL0F1ZGlvU2Vzc2lvblJvdXRpbmdBcmJpdHJhdG9yLmNwcAppbmRleCA5Njk4
OWU3YTdmNjFhMWQ4Y2ZkYmY1YjA4Y2JmZDdhZTdmMGYzNzczLi43ZWVkMzlkYjg3ZDViNWFhZTUx
ODU1ODllOWIxZmUyMzgwYWFhOTIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvY29jb2EvQXVkaW9TZXNzaW9uUm91dGluZ0FyYml0cmF0b3IuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9BdWRpb1Nlc3Npb25Sb3V0aW5nQXJiaXRyYXRvci5jcHAK
QEAgLTM5LDggKzM5LDkgQEAgdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKIEF1ZGlvU2Vzc2lv
blJvdXRpbmdBcmJpdHJhdG9yOjpBdWRpb1Nlc3Npb25Sb3V0aW5nQXJiaXRyYXRvcihXZWJQcm9j
ZXNzJiBwcm9jZXNzKQogICAgIDogbV9wcm9jZXNzKHByb2Nlc3MpCisgICAgLCBtX29ic2VydmVy
KFt0aGlzXSAoQXVkaW9TZXNzaW9uJiBzZXNzaW9uKSB7IHNlc3Npb24uc2V0Um91dGluZ0FyYml0
cmF0aW9uQ2xpZW50KG1ha2VXZWFrUHRyKHRoaXMpKTsgfSkKIHsKLSAgICBBdWRpb1Nlc3Npb246
OnNoYXJlZFNlc3Npb24oKS5zZXRSb3V0aW5nQXJiaXRyYXRpb25DbGllbnQobWFrZVdlYWtQdHIo
dGhpcykpOworICAgIEF1ZGlvU2Vzc2lvbjo6YWRkQXVkaW9TZXNzaW9uQ2hhbmdlZE9ic2VydmVy
KG1fb2JzZXJ2ZXIpOwogfQogCiBBdWRpb1Nlc3Npb25Sb3V0aW5nQXJiaXRyYXRvcjo6fkF1ZGlv
U2Vzc2lvblJvdXRpbmdBcmJpdHJhdG9yKCkgPSBkZWZhdWx0OwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL0F1ZGlvU2Vzc2lvblJvdXRpbmdBcmJpdHJhdG9yLmgg
Yi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvQXVkaW9TZXNzaW9uUm91dGluZ0FyYml0
cmF0b3IuaAppbmRleCBjNTYwYWI1NjY0MWJiNWI3NDgwNzZlYmVhNTNmNGUwOTRkNzkyZTdmLi5m
MWQ1NzIzMmZhZDI5M2ZiOGExZGU3ZTBlNDBiMjQwZjIwY2NhYTM5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvQXVkaW9TZXNzaW9uUm91dGluZ0FyYml0cmF0b3Iu
aAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvQXVkaW9TZXNzaW9uUm91dGlu
Z0FyYml0cmF0b3IuaApAQCAtNDgsMTIgKzQ4LDEzIEBAIHB1YmxpYzoKIAogICAgIHVzaW5nIFdl
YWtWYWx1ZVR5cGUgPSBXZWJDb3JlOjpBdWRpb1Nlc3Npb25Sb3V0aW5nQXJiaXRyYXRpb25DbGll
bnQ7CiAKLXByaXZhdGU6CiAgICAgLy8gQXVkaW9TZXNzaW9uUm91dGluZ0Ficml0cmF0b3IKICAg
ICB2b2lkIGJlZ2luUm91dGluZ0FyYml0cmF0aW9uV2l0aENhdGVnb3J5KFdlYkNvcmU6OkF1ZGlv
U2Vzc2lvbjo6Q2F0ZWdvcnlUeXBlLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFJvdXRpbmdBcmJp
dHJhdGlvbkVycm9yLCBEZWZhdWx0Um91dGVDaGFuZ2VkKT4mJikgZmluYWw7CiAgICAgdm9pZCBs
ZWF2ZVJvdXRpbmdBYnJpdHJhdGlvbigpIGZpbmFsOwogCitwcml2YXRlOgogICAgIFdlYlByb2Nl
c3MmIG1fcHJvY2VzczsKKyAgICBXZWJDb3JlOjpBdWRpb1Nlc3Npb246OkNoYW5nZWRPYnNlcnZl
ciBtX29ic2VydmVyOwogfTsKIAogfQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>429355</attachid>
            <date>2021-05-21 15:54:40 -0700</date>
            <delta_ts>2021-05-21 21:02:21 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-226104-20210521155439.patch</filename>
            <type>text/plain</type>
            <size>23158</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc3ODcxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGUzMzRiMzU0ZmUwYzZk
NzBmYmMxMTM2NzA2Njg4MzI1YmEwODZkNC4uMjVjYjNkNDQ1MThiMGVkMThkYzg2OTEwMjdiOTZi
Njc0MTY4ODAzNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDIxLTA1LTIxICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIFJFR1JFU1NJT04ocjI3Njk5
Myk6IDUgVGVzdFdlYktpdEFQSS5BdWRpb1JvdXRpbmdBcmJpdHJhdGlvbiAoYXBpLXRlc3RzKSBh
cmUgY29uc3RhbnQgZmFpbHVyZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIyNjEwNAorICAgICAgICA8cmRhcjovLzc3OTk4MDQ5PgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBhIG1lY2hhbmlzbSBm
b3IgYSBjbGllbnQgdG8gd2FpdCB1bnRpbCBhbiBBdWRpb1Nlc3Npb24gaXMgY3JlYXRlZCBvciBj
aGFuZ2VkIGJlZm9yZSB0YWtpbmcKKyAgICAgICAgYW4gYWN0aW9uLgorCisgICAgICAgICogcGxh
dGZvcm0vYXVkaW8vQXVkaW9TZXNzaW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmF1ZGlvU2Vz
c2lvbkNoYW5nZWRPYnNlcnZlcnMpOgorICAgICAgICAoV2ViQ29yZTo6QXVkaW9TZXNzaW9uOjpz
aGFyZWRTZXNzaW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvU2Vzc2lvbjo6c2V0U2hhcmVk
U2Vzc2lvbik6CisgICAgICAgIChXZWJDb3JlOjpBdWRpb1Nlc3Npb246OmFkZEF1ZGlvU2Vzc2lv
bkNoYW5nZWRPYnNlcnZlcik6CisgICAgICAgICogcGxhdGZvcm0vYXVkaW8vQXVkaW9TZXNzaW9u
Lmg6CisKIDIwMjEtMDUtMjAgIEplciBOb2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CiAKICAg
ICAgICAgW0NvY29hXSBMYXN0IGZldyBzZWNvbmRzIG9mICdhdWRpby93ZWJtOyBjb2RlY3M9dm9y
YmlzJyBhcHBlbmRlZCB0byBhIFNhbXBsZUJ1ZmZlciBhcmUgbm90IHBsYXllZApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRl
eCBmZTFjNzZiOWRiMWI5N2U4NDAzMzgzMTk0NTEyMmRjNzlmOTBlY2MzLi4wNjFkYzNlZTQ4NGRj
MGQ4MTYzMmZkNjMwMjI5N2NiOTkwNGZhMzk2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDUyIEBACisy
MDIxLTA1LTIxICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIFJF
R1JFU1NJT04ocjI3Njk5Myk6IDUgVGVzdFdlYktpdEFQSS5BdWRpb1JvdXRpbmdBcmJpdHJhdGlv
biAoYXBpLXRlc3RzKSBhcmUgY29uc3RhbnQgZmFpbHVyZXMKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNjEwNAorICAgICAgICA8cmRhcjovLzc3OTk4
MDQ5PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIElu
IHIyNzY5OTMsIEF1ZGlvU2Vzc2lvblJvdXRpbmdBcmJpdHJhdGlvbiB3YXMgbW92ZWQgZnJvbSBi
ZWluZyBpbml0aWF0ZWQgaW4gdGhlIFdlYkNvbnRlbnQgcHJvY2VzcworICAgICAgICBhbmQgZGlz
cGF0Y2hlZCB0byB0aGUgVUlQcm9jZXNzLCB0byBiZWluZyBkaXNwYXRjaGVkIHRvIHRoZSBHUFUg
cHJvY2Vzcy4gSG93ZXZlciB0d28gcHJvYmxlbXMgb2NjdXJyZWQ6CisKKyAgICAgICAgMSkgVGhl
IFVJUHJvY2VzcyBubyBsb25nZXIga25vd3MgYWJvdXQgcm91dGluZyBhcmJpdHJhdGlvbiwgd2hp
Y2ggaXMgcmVhc29uYWJsZSBmb3IgdGhlIGZlYXR1cmUsIGJ1dAorICAgICAgICAgICBicmVha3Mg
YW4gQVBJIHRlc3QgdGhhdCBxdWVyaWVzIGFyYml0cmF0aW9uIHN0YXR1cyBpbiB0aGUgVUlQcm9j
ZXNzLgorCisgICAgICAgIDIpIEEgc2FuZGJveCB2aW9sYXRpb24gY2F1c2VzIHJvdXRpbmcgYXJi
aXRyYXRpb24gdG8gZmFpbCBpbiB0aGUgR1BVIHByb2Nlc3MgcmVnYXJkbGVzcy4KKworICAgICAg
ICBXZSBjb3VsZCBvcGVuIHVwIHRoZSBzYW5kYm94IHRvIGFsbG93IHJvdXRpbmcgYXJiaXRyYXRp
b24gdG8gc3VjY2VlZCAoYW5kIGNvbWUgdXAgd2l0aCBhIHdheSB0byBwdXNoCisgICAgICAgIHN0
YXRlIGNoYW5nZXMgdXAgdG8gdGhlIFVJUHJvY2VzcyBmb3IgdGVzdGluZyBwdXJwb3NlcyksIGJ1
dCBpdCdzIG5vdCB0ZWNobmljYWxseSBuZWNlc3NhcnkgZm9yCisgICAgICAgIGFyYml0cmF0aW9u
IHRvIG9jY3VyIHRoZXJlLiBJbnN0ZWFkLCBqdXN0IHJldmVydCB0byB0aGUgc3RhdHVzLXF1by1h
bnRlIGJlaGF2aW9yIG9mIGhhdmluZyBhcmJpdHJhdGlvbgorICAgICAgICB0YWtlIHBsYWNlIGlu
IHRoZSBVSVByb2Nlc3MsIGFuZCBqdXN0IGFkZCBhIG5ldyBzZXQgb2YgbWVzc2FnZXMgZnJvbSB0
aGUgR1BVQ29ubm9jdGlvblRvV2ViUHJvY2VzcyB0bworICAgICAgICB0aGUgR1BVUHJvY2Vzc0Nv
bm5lY3Rpb24gdG8gZmFjaWxpdGF0ZSBhcmJpdHJhdGlvbi4KKworICAgICAgICBEcml2ZS1ieSBm
aXg6IEF1ZGlvU2Vzc2lvblJvdXRpbmdBcmJpdHJhdG9yIGlzIGEgc3VwcGxlbWVudCB0byBXZWJQ
cm9jZXNzLCBhbmQgYXMgc3VjaCBpdCdzIGNyZWF0ZWQKKyAgICAgICAgYXQgV2ViUHJvY2VzcyBj
cmVhdGlvbiB0aW1lLiBIb3dldmVyLCBpdCBhbHNvIGNhdXNlcyBhbiBBdWRpb1Nlc3Npb24gdG8g
YmUgY3JlYXRlZCBieSBhdHRlbXB0aW5nIHRvCisgICAgICAgIGFkZCBpdHNlbGYgYXMgYSBjbGll
bnQuIFRoaXMgaXMgYmFkIG9uIGlPUywgd2hlcmUgaXQgY291bGQgY2F1c2UgaGFuZ3MgZHVlIHRv
IEFWQXVkaW9TZXNzaW9uIGNhbGxzLgorICAgICAgICBTbywgYWRkIGEgbWVjaGFuaXNtIHRvIGJl
IG5vdGlmaWVkIHdoZW4gYW4gQXVkaW9TZXNzaW9uIGV2ZW50dWFsbHkgZG9lcyBnZXQgY3JlYXRl
ZCwgYW5kIGFkZCB0aGUKKyAgICAgICAgYXJiaXRyYXRvciBhcyBhIGNsaWVudCB0aGVuLgorCisg
ICAgICAgICogR1BVUHJvY2Vzcy9HUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmNwcDoKKyAgICAg
ICAgKFdlYktpdDo6R1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6R1BVQ29ubmVjdGlvblRvV2Vi
UHJvY2Vzcyk6CisgICAgICAgICogR1BVUHJvY2Vzcy9tYWMvTG9jYWxBdWRpb1Nlc3Npb25Sb3V0
aW5nQXJiaXRyYXRvci5jcHA6CisgICAgICAgIChXZWJLaXQ6OkxvY2FsQXVkaW9TZXNzaW9uUm91
dGluZ0FyYml0cmF0b3I6OmNyZWF0ZSk6CisgICAgICAgIChXZWJLaXQ6OkxvY2FsQXVkaW9TZXNz
aW9uUm91dGluZ0FyYml0cmF0b3I6OkxvY2FsQXVkaW9TZXNzaW9uUm91dGluZ0FyYml0cmF0b3Ip
OgorICAgICAgICAoV2ViS2l0OjpMb2NhbEF1ZGlvU2Vzc2lvblJvdXRpbmdBcmJpdHJhdG9yOjpw
cm9jZXNzRGlkVGVybWluYXRlKToKKyAgICAgICAgKFdlYktpdDo6TG9jYWxBdWRpb1Nlc3Npb25S
b3V0aW5nQXJiaXRyYXRvcjo6YmVnaW5Sb3V0aW5nQXJiaXRyYXRpb25XaXRoQ2F0ZWdvcnkpOgor
ICAgICAgICAoV2ViS2l0OjpMb2NhbEF1ZGlvU2Vzc2lvblJvdXRpbmdBcmJpdHJhdG9yOjpsZWF2
ZVJvdXRpbmdBYnJpdHJhdGlvbik6CisgICAgICAgICogR1BVUHJvY2Vzcy9tYWMvTG9jYWxBdWRp
b1Nlc3Npb25Sb3V0aW5nQXJiaXRyYXRvci5oOgorICAgICAgICAqIEdQVVByb2Nlc3MvbWVkaWEv
UmVtb3RlQXVkaW9TZXNzaW9uUHJveHlNYW5hZ2VyLmg6CisgICAgICAgIChXZWJLaXQ6OlJlbW90
ZUF1ZGlvU2Vzc2lvblByb3h5TWFuYWdlcjo6c2Vzc2lvbik6CisgICAgICAgICogVUlQcm9jZXNz
L0dQVS9HUFVQcm9jZXNzUHJveHkuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL0dQVS9HUFVQcm9j
ZXNzQ29ubmVjdGlvbi5jcHA6CisgICAgICAgIChXZWJLaXQ6OkdQVVByb2Nlc3NDb25uZWN0aW9u
OjpiZWdpblJvdXRpbmdBcmJpdHJhdGlvbldpdGhDYXRlZ29yeSk6CisgICAgICAgIChXZWJLaXQ6
OkdQVVByb2Nlc3NDb25uZWN0aW9uOjplbmRSb3V0aW5nQXJiaXRyYXRpb24pOgorICAgICAgICAq
IFdlYlByb2Nlc3MvR1BVL0dQVVByb2Nlc3NDb25uZWN0aW9uLmg6CisgICAgICAgICogV2ViUHJv
Y2Vzcy9HUFUvR1BVUHJvY2Vzc0Nvbm5lY3Rpb24ubWVzc2FnZXMuaW46CisgICAgICAgICogV2Vi
UHJvY2Vzcy9jb2NvYS9BdWRpb1Nlc3Npb25Sb3V0aW5nQXJiaXRyYXRvci5jcHA6CisgICAgICAg
IChXZWJLaXQ6OkF1ZGlvU2Vzc2lvblJvdXRpbmdBcmJpdHJhdG9yOjpBdWRpb1Nlc3Npb25Sb3V0
aW5nQXJiaXRyYXRvcik6CisgICAgICAgICogV2ViUHJvY2Vzcy9jb2NvYS9BdWRpb1Nlc3Npb25S
b3V0aW5nQXJiaXRyYXRvci5oOgorCiAyMDIxLTA1LTIxICBBZHJpYW4gUGVyZXogZGUgQ2FzdHJv
ICA8YXBlcmV6QGlnYWxpYS5jb20+CiAKICAgICAgICAgTm9uLXVuaWZpZWQgYnVpbGQgZml4ZXMs
IGxhdGUtaXNoIE1heSAyMDIxIGVkaXRpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2F1ZGlvL0F1ZGlvU2Vzc2lvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9h
dWRpby9BdWRpb1Nlc3Npb24uY3BwCmluZGV4IDhlNjg2ZTQ0N2I5YjY2ZGNlOGFiN2UyMTM3MTRm
ZGU2MGU5M2JiNWMuLmVkZWYzZDNmYWIyYTZlNTQ4OWFkNmUwYTNkNGFjYWFhZTMxM2NjODYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvU2Vzc2lvbi5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9TZXNzaW9uLmNwcApAQCAt
NDcsNiArNDcsMTIgQEAgc3RhdGljIE9wdGlvbmFsPFVuaXF1ZVJlZjxBdWRpb1Nlc3Npb24+PiYg
c2hhcmVkQXVkaW9TZXNzaW9uKCkKICAgICByZXR1cm4gc2Vzc2lvbi5nZXQoKTsKIH0KIAorc3Rh
dGljIFdlYWtIYXNoU2V0PEF1ZGlvU2Vzc2lvbjo6Q2hhbmdlZE9ic2VydmVyPiYgYXVkaW9TZXNz
aW9uQ2hhbmdlZE9ic2VydmVycygpCit7CisgICAgc3RhdGljIE5ldmVyRGVzdHJveWVkPFdlYWtI
YXNoU2V0PEF1ZGlvU2Vzc2lvbjo6Q2hhbmdlZE9ic2VydmVyPj4gb2JzZXJ2ZXJzOworICAgIHJl
dHVybiBvYnNlcnZlcnM7Cit9CisKIFVuaXF1ZVJlZjxBdWRpb1Nlc3Npb24+IEF1ZGlvU2Vzc2lv
bjo6Y3JlYXRlKCkKIHsKICNpZiBQTEFURk9STShNQUMpCkBAIC02NCwxMyArNzAsMjYgQEAgQXVk
aW9TZXNzaW9uOjp+QXVkaW9TZXNzaW9uKCkgPSBkZWZhdWx0OwogQXVkaW9TZXNzaW9uJiBBdWRp
b1Nlc3Npb246OnNoYXJlZFNlc3Npb24oKQogewogICAgIGlmICghc2hhcmVkQXVkaW9TZXNzaW9u
KCkpCi0gICAgICAgIHNoYXJlZEF1ZGlvU2Vzc2lvbigpID0gQXVkaW9TZXNzaW9uOjpjcmVhdGUo
KTsKKyAgICAgICAgc2V0U2hhcmVkU2Vzc2lvbihBdWRpb1Nlc3Npb246OmNyZWF0ZSgpKTsKICAg
ICByZXR1cm4gKnNoYXJlZEF1ZGlvU2Vzc2lvbigpOwogfQogCiB2b2lkIEF1ZGlvU2Vzc2lvbjo6
c2V0U2hhcmVkU2Vzc2lvbihVbmlxdWVSZWY8QXVkaW9TZXNzaW9uPiYmIHNlc3Npb24pCiB7CiAg
ICAgc2hhcmVkQXVkaW9TZXNzaW9uKCkgPSBXVEZNb3ZlKHNlc3Npb24pOworCisgICAgYXVkaW9T
ZXNzaW9uQ2hhbmdlZE9ic2VydmVycygpLmZvckVhY2goW10gKGF1dG8mIG9ic2VydmVyKSB7Cisg
ICAgICAgIG9ic2VydmVyKCpzaGFyZWRBdWRpb1Nlc3Npb24oKSk7CisgICAgfSk7Cit9CisKK3Zv
aWQgQXVkaW9TZXNzaW9uOjphZGRBdWRpb1Nlc3Npb25DaGFuZ2VkT2JzZXJ2ZXIoY29uc3QgQ2hh
bmdlZE9ic2VydmVyJiBvYnNlcnZlcikKK3sKKyAgICBBU1NFUlQoIWF1ZGlvU2Vzc2lvbkNoYW5n
ZWRPYnNlcnZlcnMoKS5jb250YWlucyhvYnNlcnZlcikpOworICAgIGF1ZGlvU2Vzc2lvbkNoYW5n
ZWRPYnNlcnZlcnMoKS5hZGQob2JzZXJ2ZXIpOworCisgICAgaWYgKHNoYXJlZEF1ZGlvU2Vzc2lv
bigpKQorICAgICAgICBvYnNlcnZlcigqc2hhcmVkQXVkaW9TZXNzaW9uKCkpOwogfQogCiBib29s
IEF1ZGlvU2Vzc2lvbjo6dHJ5VG9TZXRBY3RpdmUoYm9vbCBhY3RpdmUpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb1Nlc3Npb24uaCBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvU2Vzc2lvbi5oCmluZGV4IGI4ZjdkMzBmN2Q2NTEwOGRi
M2QwYjczNjk4ODk3ZTMwNjBmOThiYjguLjRlOTM4NWE0Nzg2MDFlYTdjOTM4ZTI1ZTNmYjI4ZTcz
MTljY2MwYzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlv
U2Vzc2lvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvU2Vzc2lv
bi5oCkBAIC0zMiw2ICszMiw3IEBACiAjaW5jbHVkZSA8d3RmL0VudW1UcmFpdHMuaD4KICNpbmNs
dWRlIDx3dGYvTmV2ZXJEZXN0cm95ZWQuaD4KICNpbmNsdWRlIDx3dGYvTm9uY29weWFibGUuaD4K
KyNpbmNsdWRlIDx3dGYvT2JzZXJ2ZXIuaD4KICNpbmNsdWRlIDx3dGYvVW5pcXVlUmVmLmg+CiAj
aW5jbHVkZSA8d3RmL1dlYWtIYXNoU2V0Lmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5n
Lmg+CkBAIC01Niw2ICs1NywxMCBAQCBwdWJsaWM6CiAgICAgc3RhdGljIFVuaXF1ZVJlZjxBdWRp
b1Nlc3Npb24+IGNyZWF0ZSgpOwogICAgIHN0YXRpYyB2b2lkIHNldFNoYXJlZFNlc3Npb24oVW5p
cXVlUmVmPEF1ZGlvU2Vzc2lvbj4mJik7CiAgICAgc3RhdGljIEF1ZGlvU2Vzc2lvbiYgc2hhcmVk
U2Vzc2lvbigpOworCisgICAgdXNpbmcgQ2hhbmdlZE9ic2VydmVyID0gV1RGOjpPYnNlcnZlcjx2
b2lkKEF1ZGlvU2Vzc2lvbiYpPjsKKyAgICBzdGF0aWMgdm9pZCBhZGRBdWRpb1Nlc3Npb25DaGFu
Z2VkT2JzZXJ2ZXIoY29uc3QgQ2hhbmdlZE9ic2VydmVyJik7CisKICAgICB2aXJ0dWFsIH5BdWRp
b1Nlc3Npb24oKTsKIAogICAgIGVudW0gY2xhc3MgQ2F0ZWdvcnlUeXBlIDogdWludDhfdCB7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24v
TWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9hdmZvdW5kYXRpb24vTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uLmgK
aW5kZXggZDhhYjljNjY3MmNhN2VmMWI2NGU2ZWExMGEwYjFmMWU3MDhmZTk4ZC4uMjdhN2M4MzNh
N2RhMjViMTYxMzJkN2U5MWZlM2QwNDM4MmE3MDdjYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91
bmRhdGlvbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRh
dGlvbi9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb24uaApAQCAtMjg4LDYgKzI4OCw3IEBA
IHByb3RlY3RlZDoKICAgICBNZWRpYVJlbmRlcmluZ01vZGUgcHJlZmVycmVkUmVuZGVyaW5nTW9k
ZSgpIGNvbnN0OwogCiAgICAgYm9vbCBtZXRhRGF0YUF2YWlsYWJsZSgpIGNvbnN0IHsgcmV0dXJu
IG1fcmVhZHlTdGF0ZSA+PSBNZWRpYVBsYXllcjo6UmVhZHlTdGF0ZTo6SGF2ZU1ldGFkYXRhOyB9
CisgICAgYm9vbCBjdXJyZW50RGF0YUF2YWlsYWJsZSgpIGNvbnN0IHsgcmV0dXJuIG1fcmVhZHlT
dGF0ZSA+PSBNZWRpYVBsYXllcjo6UmVhZHlTdGF0ZTo6SGF2ZUN1cnJlbnREYXRhOyB9CiAgICAg
TWVkaWFUaW1lIG1heFRpbWVMb2FkZWQoKSBjb25zdDsKICAgICBib29sIGlzUmVhZHlGb3JWaWRl
b1NldHVwKCkgY29uc3Q7CiAgICAgdmlydHVhbCB2b2lkIHNldFVwVmlkZW9SZW5kZXJpbmcoKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlv
bi9vYmpjL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMubW0gYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZh
dGVBVkZvdW5kYXRpb25PYmpDLm1tCmluZGV4IDQ2NTVmZTVhMDg0YzM4OTExNjlmMGJlZjI3YzMz
ZmZjZTE2ZWQyNDAuLmY3MTc3ZWU2NTA5ZWZlYzNjNDg4ZDBkYzAyZDRlZWUyY2FlZWZmODIgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9v
YmpjL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMubW0KKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5ZXJQcml2
YXRlQVZGb3VuZGF0aW9uT2JqQy5tbQpAQCAtMTc0NCw3ICsxNzQ0LDcgQEAgbG9uZyBNZWRpYVBs
YXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDOjphc3NldEVycm9yQ29kZSgpIGNvbnN0CiAKIHZv
aWQgTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQzo6cGFpbnRDdXJyZW50RnJhbWVJ
bkNvbnRleHQoR3JhcGhpY3NDb250ZXh0JiBjb250ZXh0LCBjb25zdCBGbG9hdFJlY3QmIHJlY3Qp
CiB7Ci0gICAgaWYgKCFtZXRhRGF0YUF2YWlsYWJsZSgpIHx8IGNvbnRleHQucGFpbnRpbmdEaXNh
YmxlZCgpIHx8IGlzQ3VycmVudFBsYXliYWNrVGFyZ2V0V2lyZWxlc3MoKSkKKyAgICBpZiAoIWN1
cnJlbnREYXRhQXZhaWxhYmxlKCkgfHwgY29udGV4dC5wYWludGluZ0Rpc2FibGVkKCkgfHwgaXND
dXJyZW50UGxheWJhY2tUYXJnZXRXaXJlbGVzcygpKQogICAgICAgICByZXR1cm47CiAKICAgICBz
ZXREZWxheUNhbGxiYWNrcyh0cnVlKTsKQEAgLTE3NzIsNyArMTc3Miw3IEBAIHZvaWQgTWVkaWFQ
bGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQzo6cGFpbnRDdXJyZW50RnJhbWVJbkNvbnRleHQo
R3JhcGhpY3NDb250CiAKIHZvaWQgTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQzo6
cGFpbnQoR3JhcGhpY3NDb250ZXh0JiBjb250ZXh0LCBjb25zdCBGbG9hdFJlY3QmIHJlY3QpCiB7
Ci0gICAgaWYgKCFtZXRhRGF0YUF2YWlsYWJsZSgpIHx8IGNvbnRleHQucGFpbnRpbmdEaXNhYmxl
ZCgpKQorICAgIGlmICghY3VycmVudERhdGFBdmFpbGFibGUoKSB8fCBjb250ZXh0LnBhaW50aW5n
RGlzYWJsZWQoKSkKICAgICAgICAgcmV0dXJuOwogCiAgICAgLy8gV2UgY2FuIGlnbm9yZSB0aGUg
cmVxdWVzdCBpZiB3ZSBhcmUgYWxyZWFkeSByZW5kZXJpbmcgdG8gYSBsYXllci4KQEAgLTI0NDgs
NiArMjQ0OCwxMiBAQCB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakM6OnVw
ZGF0ZUxhc3RJbWFnZShVcGRhdGVUeXBlIHR5cGUpCiAgICAgaWYgKCFtX2F2UGxheWVySXRlbSkK
ICAgICAgICAgcmV0dXJuOwogCisgICAgLy8gSWYgd2UgY3VycmVudGx5IGhhdmUgYW4gQVZQbGF5
ZXJMYXllciwgYW5kIGl0cyBub3QgcmVhZHkgZm9yCisgICAgLy8gZGlzcGxheSwgdGhlcmUgYXJl
IG5vIGN1cnJlbnRseSBkZWNvZGVkIGltYWdlcyBhdmFpbGFibGUsIHNvCisgICAgLy8gcGFpbnRp
bmcgc2hvdWxkIGZhaWwgaGVyZS4KKyAgICBpZiAobV92aWRlb0xheWVyICYmICFbbV92aWRlb0xh
eWVyIGlzUmVhZHlGb3JEaXNwbGF5XSkKKyAgICAgICAgcmV0dXJuOworCiAgICAgaWYgKHR5cGUg
PT0gVXBkYXRlVHlwZTo6VXBkYXRlU3luY2hyb25vdXNseSAmJiAhbV9sYXN0SW1hZ2UgJiYgIXZp
ZGVvT3V0cHV0SGFzQXZhaWxhYmxlRnJhbWUoKSkKICAgICAgICAgd2FpdEZvclZpZGVvT3V0cHV0
TWVkaWFEYXRhV2lsbENoYW5nZSgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0NNYWtl
TGlzdHMudHh0IGIvU291cmNlL1dlYktpdC9DTWFrZUxpc3RzLnR4dAppbmRleCA2MDIyYzUyOWI3
ZmQyOTY3OTNlNDE1ZDI3NjA3YzE3ZTEzOTVlOGQ3Li4yZWFhNGUxMTFhZjc1MzcwYWQ5ZmNkZWUy
MDkzMWZlOTEyZTkwOWYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0NNYWtlTGlzdHMudHh0
CisrKyBiL1NvdXJjZS9XZWJLaXQvQ01ha2VMaXN0cy50eHQKQEAgLTU4LDYgKzU4LDcgQEAgc2V0
KFdlYktpdF9JTkNMVURFX0RJUkVDVE9SSUVTCiAgICAgIiR7V0VCS0lUX0RJUn0vVUlQcm9jZXNz
L0luc3BlY3RvciIKICAgICAiJHtXRUJLSVRfRElSfS9VSVByb2Nlc3MvSW5zcGVjdG9yL0FnZW50
cyIKICAgICAiJHtXRUJLSVRfRElSfS9VSVByb2Nlc3MvTGF1bmNoZXIiCisgICAgIiR7V0VCS0lU
X0RJUn0vVUlQcm9jZXNzL01lZGlhIgogICAgICIke1dFQktJVF9ESVJ9L1VJUHJvY2Vzcy9OZXR3
b3JrIgogICAgICIke1dFQktJVF9ESVJ9L1VJUHJvY2Vzcy9OZXR3b3JrL0N1c3RvbVByb3RvY29s
cyIKICAgICAiJHtXRUJLSVRfRElSfS9VSVByb2Nlc3MvTm90aWZpY2F0aW9ucyIKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmNw
cCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmNw
cAppbmRleCA2YjIxMTc5NDUwM2VjYzE5NDhkOWYyMTYxYTI2OGU3ODYyZjJlMjU5Li4yZDU2N2Nh
ZGU4ZWJlN2M0ZmMxMzQxMWE1MTFlNzEzNjVmMjYwZWUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L0dQVVByb2Nlc3MvR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5jcHAKKysrIGIvU291cmNl
L1dlYktpdC9HUFVQcm9jZXNzL0dQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuY3BwCkBAIC0yMDYs
MTEgKzIwNiwxNSBAQCBHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjpHUFVDb25uZWN0aW9uVG9X
ZWJQcm9jZXNzKEdQVVByb2Nlc3MmIGdwdVByb2Nlc3MsIFdlYgogICAgICwgbV9zYW1wbGVCdWZm
ZXJEaXNwbGF5TGF5ZXJNYW5hZ2VyKFJlbW90ZVNhbXBsZUJ1ZmZlckRpc3BsYXlMYXllck1hbmFn
ZXI6OmNyZWF0ZSgqdGhpcykpCiAjZW5kaWYKICNpZiBFTkFCTEUoUk9VVElOR19BUkJJVFJBVElP
TikgJiYgSEFWRShBVkFVRElPX1JPVVRJTkdfQVJCSVRFUikKLSAgICAsIG1fcm91dGluZ0FyYml0
cmF0b3IoTG9jYWxBdWRpb1Nlc3Npb25Sb3V0aW5nQXJiaXRyYXRvcjo6Y3JlYXRlKCkpCisgICAg
LCBtX3JvdXRpbmdBcmJpdHJhdG9yKExvY2FsQXVkaW9TZXNzaW9uUm91dGluZ0FyYml0cmF0b3I6
OmNyZWF0ZSgqdGhpcykpCiAjZW5kaWYKIHsKICAgICBSRUxFQVNFX0FTU0VSVChSdW5Mb29wOjpp
c01haW4oKSk7CiAKKyNpZiBFTkFCTEUoUk9VVElOR19BUkJJVFJBVElPTikgJiYgSEFWRShBVkFV
RElPX1JPVVRJTkdfQVJCSVRFUikKKyAgICBncHVQcm9jZXNzLmF1ZGlvU2Vzc2lvbk1hbmFnZXIo
KS5zZXNzaW9uKCkuc2V0Um91dGluZ0FyYml0cmF0aW9uQ2xpZW50KG1ha2VXZWFrUHRyKG1fcm91
dGluZ0FyYml0cmF0b3IuZ2V0KCkpKTsKKyNlbmRpZgorCiAgICAgaWYgKCFwYXJhbWV0ZXJzLm92
ZXJyaWRlTGFuZ3VhZ2VzLmlzRW1wdHkoKSkKICAgICAgICAgb3ZlcnJpZGVVc2VyUHJlZmVycmVk
TGFuZ3VhZ2VzKHBhcmFtZXRlcnMub3ZlcnJpZGVMYW5ndWFnZXMpOwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWFjL0xvY2FsQXVkaW9TZXNzaW9uUm91dGluZ0FyYml0
cmF0b3IuY3BwIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21hYy9Mb2NhbEF1ZGlvU2Vzc2lv
blJvdXRpbmdBcmJpdHJhdG9yLmNwcAppbmRleCA5NWJjNGNjYzY0NDE1M2QwOTVjM2ZjYTgwZmJh
NmMwYTM3OWEwN2U1Li43ZTVlZGZlZDk4MDE1YTRhNDQzMDk4N2QyZmE3Yzc5ZjMxNjA5OTNkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWFjL0xvY2FsQXVkaW9TZXNzaW9u
Um91dGluZ0FyYml0cmF0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tYWMv
TG9jYWxBdWRpb1Nlc3Npb25Sb3V0aW5nQXJiaXRyYXRvci5jcHAKQEAgLTI2LDE5ICsyNiwyMiBA
QAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkxvY2FsQXVkaW9TZXNzaW9uUm91dGlu
Z0FyYml0cmF0b3IuaCIKIAorI2luY2x1ZGUgIkdQVVByb2Nlc3MuaCIKKyNpbmNsdWRlICJHUFVQ
cm9jZXNzQ29ubmVjdGlvbk1lc3NhZ2VzLmgiCisKICNpZiBFTkFCTEUoUk9VVElOR19BUkJJVFJB
VElPTikgJiYgSEFWRShBVkFVRElPX1JPVVRJTkdfQVJCSVRFUikKIAogbmFtZXNwYWNlIFdlYktp
dCB7CiAKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCi1VbmlxdWVSZWY8TG9jYWxBdWRpb1Nl
c3Npb25Sb3V0aW5nQXJiaXRyYXRvcj4gTG9jYWxBdWRpb1Nlc3Npb25Sb3V0aW5nQXJiaXRyYXRv
cjo6Y3JlYXRlKCkKK1VuaXF1ZVJlZjxMb2NhbEF1ZGlvU2Vzc2lvblJvdXRpbmdBcmJpdHJhdG9y
PiBMb2NhbEF1ZGlvU2Vzc2lvblJvdXRpbmdBcmJpdHJhdG9yOjpjcmVhdGUoR1BVQ29ubmVjdGlv
blRvV2ViUHJvY2VzcyYgZ3B1Q29ubmVjdGlvblRvV2ViUHJvY2VzcykKIHsKLSAgICByZXR1cm4g
bWFrZVVuaXF1ZVJlZjxMb2NhbEF1ZGlvU2Vzc2lvblJvdXRpbmdBcmJpdHJhdG9yPigpOworICAg
IHJldHVybiBtYWtlVW5pcXVlUmVmPExvY2FsQXVkaW9TZXNzaW9uUm91dGluZ0FyYml0cmF0b3I+
KGdwdUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MpOwogfQogCi1Mb2NhbEF1ZGlvU2Vzc2lvblJvdXRp
bmdBcmJpdHJhdG9yOjpMb2NhbEF1ZGlvU2Vzc2lvblJvdXRpbmdBcmJpdHJhdG9yKCkKLSAgICA6
IG1fdG9rZW4oU2hhcmVkUm91dGluZ0FyYml0cmF0b3I6OlRva2VuOjpjcmVhdGUoKSkKK0xvY2Fs
QXVkaW9TZXNzaW9uUm91dGluZ0FyYml0cmF0b3I6OkxvY2FsQXVkaW9TZXNzaW9uUm91dGluZ0Fy
Yml0cmF0b3IoR1BVQ29ubmVjdGlvblRvV2ViUHJvY2VzcyYgZ3B1Q29ubmVjdGlvblRvV2ViUHJv
Y2VzcykKKyAgICA6IG1fY29ubmVjdGlvblRvV2ViUHJvY2VzcyhncHVDb25uZWN0aW9uVG9XZWJQ
cm9jZXNzKQogewogfQogCkBAIC00NiwyNyArNDksMTcgQEAgTG9jYWxBdWRpb1Nlc3Npb25Sb3V0
aW5nQXJiaXRyYXRvcjo6fkxvY2FsQXVkaW9TZXNzaW9uUm91dGluZ0FyYml0cmF0b3IoKSA9IGRl
ZmEKIAogdm9pZCBMb2NhbEF1ZGlvU2Vzc2lvblJvdXRpbmdBcmJpdHJhdG9yOjpwcm9jZXNzRGlk
VGVybWluYXRlKCkKIHsKLSAgICBpZiAoU2hhcmVkUm91dGluZ0FyYml0cmF0b3I6OnNoYXJlZElu
c3RhbmNlKCkuaXNJblJvdXRpbmdBcmJpdHJhdGlvbkZvclRva2VuKG1fdG9rZW4pKQotICAgICAg
ICBsZWF2ZVJvdXRpbmdBYnJpdHJhdGlvbigpOworICAgIGxlYXZlUm91dGluZ0Ficml0cmF0aW9u
KCk7CiB9CiAKIHZvaWQgTG9jYWxBdWRpb1Nlc3Npb25Sb3V0aW5nQXJiaXRyYXRvcjo6YmVnaW5S
b3V0aW5nQXJiaXRyYXRpb25XaXRoQ2F0ZWdvcnkoQXVkaW9TZXNzaW9uOjpDYXRlZ29yeVR5cGUg
Y2F0ZWdvcnksIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoUm91dGluZ0FyYml0cmF0aW9uRXJyb3Is
IERlZmF1bHRSb3V0ZUNoYW5nZWQpPiYmIGNhbGxiYWNrKQogewotICAgIG1fY2F0ZWdvcnkgPSBj
YXRlZ29yeTsKLSAgICBtX2FyYml0cmF0aW9uU3RhdHVzID0gQXJiaXRyYXRpb25TdGF0dXM6OlBl
bmRpbmc7Ci0gICAgbV9hcmJpdHJhdGlvblVwZGF0ZVRpbWUgPSBXYWxsVGltZTo6bm93KCk7Ci0K
LSAgICBTaGFyZWRSb3V0aW5nQXJiaXRyYXRvcjo6c2hhcmVkSW5zdGFuY2UoKS5iZWdpblJvdXRp
bmdBcmJpdHJhdGlvbkZvclRva2VuKG1fdG9rZW4sIGNhdGVnb3J5LCBbd2Vha1RoaXMgPSBtYWtl
V2Vha1B0cigqdGhpcyksIGNhbGxiYWNrID0gV1RGTW92ZShjYWxsYmFjayldIChSb3V0aW5nQXJi
aXRyYXRpb25FcnJvciBlcnJvciwgRGVmYXVsdFJvdXRlQ2hhbmdlZCByb3V0ZUNoYW5nZWQpIG11
dGFibGUgewotICAgICAgICBpZiAod2Vha1RoaXMpCi0gICAgICAgICAgICB3ZWFrVGhpcy0+bV9h
cmJpdHJhdGlvblN0YXR1cyA9IGVycm9yID09IFJvdXRpbmdBcmJpdHJhdGlvbkVycm9yOjpOb25l
ID8gQXJiaXRyYXRpb25TdGF0dXM6OkFjdGl2ZSA6IEFyYml0cmF0aW9uU3RhdHVzOjpOb25lOwot
ICAgICAgICBjYWxsYmFjayhlcnJvciwgcm91dGVDaGFuZ2VkKTsKLSAgICB9KTsKKyAgICBtX2Nv
bm5lY3Rpb25Ub1dlYlByb2Nlc3MuY29ubmVjdGlvbigpLnNlbmRXaXRoQXN5bmNSZXBseShNZXNz
YWdlczo6R1BVUHJvY2Vzc0Nvbm5lY3Rpb246OkJlZ2luUm91dGluZ0FyYml0cmF0aW9uV2l0aENh
dGVnb3J5KGNhdGVnb3J5KSwgV1RGTW92ZShjYWxsYmFjayksIDApOwogfQogCiB2b2lkIExvY2Fs
QXVkaW9TZXNzaW9uUm91dGluZ0FyYml0cmF0b3I6OmxlYXZlUm91dGluZ0Ficml0cmF0aW9uKCkK
IHsKLSAgICBTaGFyZWRSb3V0aW5nQXJiaXRyYXRvcjo6c2hhcmVkSW5zdGFuY2UoKS5lbmRSb3V0
aW5nQXJiaXRyYXRpb25Gb3JUb2tlbihtX3Rva2VuKTsKLSAgICBtX2FyYml0cmF0aW9uU3RhdHVz
ID0gQXJiaXRyYXRpb25TdGF0dXM6Ok5vbmU7CisgICAgbV9jb25uZWN0aW9uVG9XZWJQcm9jZXNz
LmNvbm5lY3Rpb24oKS5zZW5kKE1lc3NhZ2VzOjpHUFVQcm9jZXNzQ29ubmVjdGlvbjo6RW5kUm91
dGluZ0FyYml0cmF0aW9uKCksIDApOwogfQogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L0dQVVByb2Nlc3MvbWFjL0xvY2FsQXVkaW9TZXNzaW9uUm91dGluZ0FyYml0cmF0b3IuaCBiL1Nv
dXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tYWMvTG9jYWxBdWRpb1Nlc3Npb25Sb3V0aW5nQXJiaXRy
YXRvci5oCmluZGV4IDlhYjJkY2U0YzA3MTY2YjFjM2EyNzFkYjIxMTQzODFmNzU3YzEyZWIuLjA4
Y2RiMjkwMmJlYWRlN2M4YjI1OGQ2Y2ViNTFjMDM0MTllZDQ3NWYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvR1BVUHJvY2Vzcy9tYWMvTG9jYWxBdWRpb1Nlc3Npb25Sb3V0aW5nQXJiaXRyYXRv
ci5oCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tYWMvTG9jYWxBdWRpb1Nlc3Npb25S
b3V0aW5nQXJiaXRyYXRvci5oCkBAIC0yNyw3ICsyNyw3IEBACiAKICNpZiBFTkFCTEUoUk9VVElO
R19BUkJJVFJBVElPTikgJiYgSEFWRShBVkFVRElPX1JPVVRJTkdfQVJCSVRFUikKIAotI2luY2x1
ZGUgPFdlYkNvcmUvU2hhcmVkUm91dGluZ0FyYml0cmF0b3IuaD4KKyNpbmNsdWRlICJBdWRpb1Nl
c3Npb25Sb3V0aW5nQXJiaXRyYXRvclByb3h5LmgiCiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCkBA
IC0zNiwzNCArMzYsMjMgQEAgY2xhc3MgTG9jYWxBdWRpb1Nlc3Npb25Sb3V0aW5nQXJiaXRyYXRv
ciBmaW5hbAogICAgICwgcHVibGljIENhbk1ha2VXZWFrUHRyPExvY2FsQXVkaW9TZXNzaW9uUm91
dGluZ0FyYml0cmF0b3I+IHsKICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIAotICAgIGZy
aWVuZCBVbmlxdWVSZWY8TG9jYWxBdWRpb1Nlc3Npb25Sb3V0aW5nQXJiaXRyYXRvcj4gV1RGOjpt
YWtlVW5pcXVlUmVmV2l0aG91dEZhc3RNYWxsb2NDaGVjazxMb2NhbEF1ZGlvU2Vzc2lvblJvdXRp
bmdBcmJpdHJhdG9yPigpOworICAgIGZyaWVuZCBVbmlxdWVSZWY8TG9jYWxBdWRpb1Nlc3Npb25S
b3V0aW5nQXJiaXRyYXRvcj4gV1RGOjptYWtlVW5pcXVlUmVmV2l0aG91dEZhc3RNYWxsb2NDaGVj
azxMb2NhbEF1ZGlvU2Vzc2lvblJvdXRpbmdBcmJpdHJhdG9yPihHUFVDb25uZWN0aW9uVG9XZWJQ
cm9jZXNzJik7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFVuaXF1ZVJlZjxMb2NhbEF1ZGlvU2Vzc2lv
blJvdXRpbmdBcmJpdHJhdG9yPiBjcmVhdGUoKTsKKyAgICBzdGF0aWMgVW5pcXVlUmVmPExvY2Fs
QXVkaW9TZXNzaW9uUm91dGluZ0FyYml0cmF0b3I+IGNyZWF0ZShHUFVDb25uZWN0aW9uVG9XZWJQ
cm9jZXNzJik7CiAgICAgdmlydHVhbCB+TG9jYWxBdWRpb1Nlc3Npb25Sb3V0aW5nQXJiaXRyYXRv
cigpOwogCiAgICAgdXNpbmcgV2Vha1ZhbHVlVHlwZSA9IFdlYkNvcmU6OkF1ZGlvU2Vzc2lvblJv
dXRpbmdBcmJpdHJhdGlvbkNsaWVudDsKIAotICAgIGVudW0gY2xhc3MgQXJiaXRyYXRpb25TdGF0
dXMgOiB1aW50OF90IHsKLSAgICAgICAgTm9uZSwKLSAgICAgICAgUGVuZGluZywKLSAgICAgICAg
QWN0aXZlLAotICAgIH07Ci0KICAgICB2b2lkIHByb2Nlc3NEaWRUZXJtaW5hdGUoKTsKLSAgICBB
cmJpdHJhdGlvblN0YXR1cyBhcmJpdHJhdGlvblN0YXR1cygpIGNvbnN0IHsgcmV0dXJuIG1fYXJi
aXRyYXRpb25TdGF0dXM7IH0KLSAgICBXYWxsVGltZSBhcmJpdHJhdGlvblVwZGF0ZVRpbWUoKSBj
b25zdCB7IHJldHVybiBtX2FyYml0cmF0aW9uVXBkYXRlVGltZTsgfQogCiBwcml2YXRlOgotICAg
IExvY2FsQXVkaW9TZXNzaW9uUm91dGluZ0FyYml0cmF0b3IoKTsKKyAgICBMb2NhbEF1ZGlvU2Vz
c2lvblJvdXRpbmdBcmJpdHJhdG9yKEdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MmKTsKIAogICAg
IC8vIEF1ZGlvU2Vzc2lvblJvdXRpbmdBcmJpdHJhdGlvbkNsaWVudAogICAgIHZvaWQgYmVnaW5S
b3V0aW5nQXJiaXRyYXRpb25XaXRoQ2F0ZWdvcnkoV2ViQ29yZTo6QXVkaW9TZXNzaW9uOjpDYXRl
Z29yeVR5cGUsIEFyYml0cmF0aW9uQ2FsbGJhY2smJikgZmluYWw7CiAgICAgdm9pZCBsZWF2ZVJv
dXRpbmdBYnJpdHJhdGlvbigpIGZpbmFsOwogCi0gICAgVW5pcXVlUmVmPFdlYkNvcmU6OlNoYXJl
ZFJvdXRpbmdBcmJpdHJhdG9yOjpUb2tlbj4gbV90b2tlbjsKLSAgICBXZWJDb3JlOjpBdWRpb1Nl
c3Npb246OkNhdGVnb3J5VHlwZSBtX2NhdGVnb3J5IHsgV2ViQ29yZTo6QXVkaW9TZXNzaW9uOjpD
YXRlZ29yeVR5cGU6Ok5vbmUgfTsKLSAgICBBcmJpdHJhdGlvblN0YXR1cyBtX2FyYml0cmF0aW9u
U3RhdHVzIHsgQXJiaXRyYXRpb25TdGF0dXM6Ok5vbmUgfTsKLSAgICBXYWxsVGltZSBtX2FyYml0
cmF0aW9uVXBkYXRlVGltZTsKKyAgICBHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzJiBtX2Nvbm5l
Y3Rpb25Ub1dlYlByb2Nlc3M7CiB9OwogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQ
VVByb2Nlc3MvbWVkaWEvUmVtb3RlQXVkaW9TZXNzaW9uUHJveHlNYW5hZ2VyLmggYi9Tb3VyY2Uv
V2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlQXVkaW9TZXNzaW9uUHJveHlNYW5hZ2VyLmgK
aW5kZXggY2UyN2E2NGUxNTgyNDQ0MWRiOGM1YWQxMjMzZjgxMThlYzAzZGViNC4uMjdmMWQxN2I2
M2FjZTdkZmU0OGZmMTgyMjk0ZjE4ZGU2MjJlYTRhZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZUF1ZGlvU2Vzc2lvblByb3h5TWFuYWdlci5oCisrKyBi
L1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVBdWRpb1Nlc3Npb25Qcm94eU1h
bmFnZXIuaApAQCAtNTEsNiArNTEsNyBAQCBwdWJsaWM6CiAKICAgICBib29sIHRyeVRvU2V0QWN0
aXZlRm9yUHJvY2VzcyhSZW1vdGVBdWRpb1Nlc3Npb25Qcm94eSYsIGJvb2wpOwogCisgICAgV2Vi
Q29yZTo6QXVkaW9TZXNzaW9uJiBzZXNzaW9uKCkgeyByZXR1cm4gbV9zZXNzaW9uOyB9CiAgICAg
Y29uc3QgV2ViQ29yZTo6QXVkaW9TZXNzaW9uJiBzZXNzaW9uKCkgY29uc3QgeyByZXR1cm4gbV9z
ZXNzaW9uOyB9CiAKIHByaXZhdGU6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvR1BVL0dQVVByb2Nlc3NDb25uZWN0aW9uLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9HUFUvR1BVUHJvY2Vzc0Nvbm5lY3Rpb24uY3BwCmluZGV4IDljYjg4ZTNiMDllZjliODYzYjY4
OGM4NDI1NjNmNDRkNGRhYzg2MjMuLmZhZDNkM2UyNWMxOGI4YWU1MGM3OTc5OGEyMTBkZDE0Njhi
ZjdiOWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvR1BVUHJvY2Vz
c0Nvbm5lY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvR1BVUHJv
Y2Vzc0Nvbm5lY3Rpb24uY3BwCkBAIC0yOCw2ICsyOCw3IEBACiAKICNpZiBFTkFCTEUoR1BVX1BS
T0NFU1MpCiAKKyNpbmNsdWRlICJBdWRpb1Nlc3Npb25Sb3V0aW5nQXJiaXRyYXRvci5oIgogI2lu
Y2x1ZGUgIkRhdGFSZWZlcmVuY2UuaCIKICNpbmNsdWRlICJHUFVDb25uZWN0aW9uVG9XZWJQcm9j
ZXNzTWVzc2FnZXMuaCIKICNpbmNsdWRlICJMaWJXZWJSVENDb2RlY3MuaCIKQEAgLTIzMyw2ICsy
MzQsMjkgQEAgdm9pZCBHUFVQcm9jZXNzQ29ubmVjdGlvbjo6ZGlkUmVjZWl2ZVJlbW90ZUNvbW1h
bmQoUGxhdGZvcm1NZWRpYVNlc3Npb246OlJlbW90ZUMKICAgICBQbGF0Zm9ybU1lZGlhU2Vzc2lv
bk1hbmFnZXI6OnNoYXJlZE1hbmFnZXIoKS5wcm9jZXNzRGlkUmVjZWl2ZVJlbW90ZUNvbnRyb2xD
b21tYW5kKHR5cGUsIGFyZ3VtZW50KTsKIH0KIAorI2lmIEVOQUJMRShST1VUSU5HX0FSQklUUkFU
SU9OKQordm9pZCBHUFVQcm9jZXNzQ29ubmVjdGlvbjo6YmVnaW5Sb3V0aW5nQXJiaXRyYXRpb25X
aXRoQ2F0ZWdvcnkoQXVkaW9TZXNzaW9uOjpDYXRlZ29yeVR5cGUgY2F0ZWdvcnksIEF1ZGlvU2Vz
c2lvblJvdXRpbmdBcmJpdHJhdGlvbkNsaWVudDo6QXJiaXRyYXRpb25DYWxsYmFjayYmIGNhbGxi
YWNrKQoreworICAgIGlmIChhdXRvKiBhcmJpdHJhdG9yID0gV2ViUHJvY2Vzczo6c2luZ2xldG9u
KCkuc3VwcGxlbWVudDxBdWRpb1Nlc3Npb25Sb3V0aW5nQXJiaXRyYXRvcj4oKSkgeworICAgICAg
ICBhcmJpdHJhdG9yLT5iZWdpblJvdXRpbmdBcmJpdHJhdGlvbldpdGhDYXRlZ29yeShjYXRlZ29y
eSwgV1RGTW92ZShjYWxsYmFjaykpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgQVNT
RVJUX05PVF9SRUFDSEVEKCk7CisgICAgY2FsbGJhY2soQXVkaW9TZXNzaW9uUm91dGluZ0FyYml0
cmF0aW9uQ2xpZW50OjpSb3V0aW5nQXJiaXRyYXRpb25FcnJvcjo6RmFpbGVkLCBBdWRpb1Nlc3Np
b25Sb3V0aW5nQXJiaXRyYXRpb25DbGllbnQ6OkRlZmF1bHRSb3V0ZUNoYW5nZWQ6Ok5vKTsKK30K
Kwordm9pZCBHUFVQcm9jZXNzQ29ubmVjdGlvbjo6ZW5kUm91dGluZ0FyYml0cmF0aW9uKCkKK3sK
KyAgICBpZiAoYXV0byogYXJiaXRyYXRvciA9IFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLnN1cHBs
ZW1lbnQ8QXVkaW9TZXNzaW9uUm91dGluZ0FyYml0cmF0b3I+KCkpIHsKKyAgICAgICAgZW5kUm91
dGluZ0FyYml0cmF0aW9uKCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBBU1NFUlRf
Tk9UX1JFQUNIRUQoKTsKK30KKyNlbmRpZgorCiAjaWYgSEFWRShWSVNJQklMSVRZX1BST1BBR0FU
SU9OX1ZJRVcpCiB2b2lkIEdQVVByb2Nlc3NDb25uZWN0aW9uOjpjcmVhdGVWaXNpYmlsaXR5UHJv
cGFnYXRpb25Db250ZXh0Rm9yUGFnZShXZWJQYWdlJiBwYWdlKQogewpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9HUFVQcm9jZXNzQ29ubmVjdGlvbi5oIGIvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL0dQVS9HUFVQcm9jZXNzQ29ubmVjdGlvbi5oCmluZGV4IGEwNzAx
NzczYTRhOGJmOWM5Yzc1YmNjNDFiYzBlYmE4MDlhOGFmOTQuLmIzMTMyNGJkMDhlMGNlYjlmZmU5
NDRjY2JhY2IzNjM3MjY3MDE5OTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9HUFUvR1BVUHJvY2Vzc0Nvbm5lY3Rpb24uaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvR1BVL0dQVVByb2Nlc3NDb25uZWN0aW9uLmgKQEAgLTMzLDYgKzMzLDcgQEAKICNpbmNsdWRl
ICJNZXNzYWdlUmVjZWl2ZXJNYXAuaCIKICNpbmNsdWRlICJTYW1wbGVCdWZmZXJEaXNwbGF5TGF5
ZXJNYW5hZ2VyLmgiCiAjaW5jbHVkZSAiU2hhcmVkTWVtb3J5LmgiCisjaW5jbHVkZSA8V2ViQ29y
ZS9BdWRpb1Nlc3Npb24uaD4KICNpbmNsdWRlIDxXZWJDb3JlL1BsYXRmb3JtTWVkaWFTZXNzaW9u
Lmg+CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KICNpbmNsdWRlIDx3dGYvV2Vha0hhc2hT
ZXQuaD4KQEAgLTEyMCw2ICsxMjEsMTEgQEAgcHJpdmF0ZToKIAogICAgIHZvaWQgZGlkUmVjZWl2
ZVJlbW90ZUNvbW1hbmQoV2ViQ29yZTo6UGxhdGZvcm1NZWRpYVNlc3Npb246OlJlbW90ZUNvbnRy
b2xDb21tYW5kVHlwZSwgY29uc3QgV2ViQ29yZTo6UGxhdGZvcm1NZWRpYVNlc3Npb246OlJlbW90
ZUNvbW1hbmRBcmd1bWVudCYpOwogCisjaWYgRU5BQkxFKFJPVVRJTkdfQVJCSVRSQVRJT04pCisg
ICAgdm9pZCBiZWdpblJvdXRpbmdBcmJpdHJhdGlvbldpdGhDYXRlZ29yeShXZWJDb3JlOjpBdWRp
b1Nlc3Npb246OkNhdGVnb3J5VHlwZSwgV2ViQ29yZTo6QXVkaW9TZXNzaW9uUm91dGluZ0FyYml0
cmF0aW9uQ2xpZW50OjpBcmJpdHJhdGlvbkNhbGxiYWNrJiYpOworICAgIHZvaWQgZW5kUm91dGlu
Z0FyYml0cmF0aW9uKCk7CisjZW5kaWYKKwogICAgIC8vIFRoZSBjb25uZWN0aW9uIGZyb20gdGhl
IHdlYiBwcm9jZXNzIHRvIHRoZSBHUFUgcHJvY2Vzcy4KICAgICBSZWY8SVBDOjpDb25uZWN0aW9u
PiBtX2Nvbm5lY3Rpb247CiAgICAgSVBDOjpNZXNzYWdlUmVjZWl2ZXJNYXAgbV9tZXNzYWdlUmVj
ZWl2ZXJNYXA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL0dQVVBy
b2Nlc3NDb25uZWN0aW9uLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQ
VS9HUFVQcm9jZXNzQ29ubmVjdGlvbi5tZXNzYWdlcy5pbgppbmRleCA4NWE2ZmNkNzM3Yzc0OWQ5
ZmY0MGRiMTgwMWE2NmRkYzhiYTQ5NWRiLi4zZGEwZTYxZjBjOGFjYTdiNTdiZTEwNmFiNWE5NmQ3
ODFlYTQ4NjY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL0dQVVBy
b2Nlc3NDb25uZWN0aW9uLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9HUFUvR1BVUHJvY2Vzc0Nvbm5lY3Rpb24ubWVzc2FnZXMuaW4KQEAgLTI0LDYgKzI0LDExIEBA
CiAKIG1lc3NhZ2VzIC0+IEdQVVByb2Nlc3NDb25uZWN0aW9uIFdhbnRzRGlzcGF0Y2hNZXNzYWdl
IHsKICAgICBEaWRSZWNlaXZlUmVtb3RlQ29tbWFuZChlbnVtOnVpbnQ4X3QgV2ViQ29yZTo6UGxh
dGZvcm1NZWRpYVNlc3Npb246OlJlbW90ZUNvbnRyb2xDb21tYW5kVHlwZSB0eXBlLCBzdHJ1Y3Qg
V2ViQ29yZTo6UGxhdGZvcm1NZWRpYVNlc3Npb246OlJlbW90ZUNvbW1hbmRBcmd1bWVudCBhcmd1
bWVudCkKKworI2lmIEVOQUJMRShST1VUSU5HX0FSQklUUkFUSU9OKQorICAgIEJlZ2luUm91dGlu
Z0FyYml0cmF0aW9uV2l0aENhdGVnb3J5KGVudW06dWludDhfdCBXZWJDb3JlOjpBdWRpb1Nlc3Np
b246OkNhdGVnb3J5VHlwZSBjYXRlZ29yeSkgLT4gKGVudW06dWludDhfdCBXZWJLaXQ6OkF1ZGlv
U2Vzc2lvblJvdXRpbmdBcmJpdHJhdG9yUHJveHk6OlJvdXRpbmdBcmJpdHJhdGlvbkVycm9yIGVy
cm9yLCBlbnVtOmJvb2wgV2ViS2l0OjpBdWRpb1Nlc3Npb25Sb3V0aW5nQXJiaXRyYXRvclByb3h5
OjpEZWZhdWx0Um91dGVDaGFuZ2VkIGRlZmF1bHRSb3V0ZUNoYW5nZWQpIEFzeW5jCisgICAgRW5k
Um91dGluZ0FyYml0cmF0aW9uKCk7CisjZW5kaWYKIH0KIAogI2VuZGlmIC8vIEVOQUJMRShHUFVf
UFJPQ0VTUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9BdWRp
b1Nlc3Npb25Sb3V0aW5nQXJiaXRyYXRvci5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
Y29jb2EvQXVkaW9TZXNzaW9uUm91dGluZ0FyYml0cmF0b3IuY3BwCmluZGV4IDk2OTg5ZTdhN2Y2
MWExZDhjZmRiZjViMDhjYmZkN2FlN2YwZjM3NzMuLjdlZWQzOWRiODdkNWI1YWFlNTE4NTU4OWU5
YjFmZTIzODBhYWE5MjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2Nv
YS9BdWRpb1Nlc3Npb25Sb3V0aW5nQXJiaXRyYXRvci5jcHAKKysrIGIvU291cmNlL1dlYktpdC9X
ZWJQcm9jZXNzL2NvY29hL0F1ZGlvU2Vzc2lvblJvdXRpbmdBcmJpdHJhdG9yLmNwcApAQCAtMzks
OCArMzksOSBAQCB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAogQXVkaW9TZXNzaW9uUm91dGlu
Z0FyYml0cmF0b3I6OkF1ZGlvU2Vzc2lvblJvdXRpbmdBcmJpdHJhdG9yKFdlYlByb2Nlc3MmIHBy
b2Nlc3MpCiAgICAgOiBtX3Byb2Nlc3MocHJvY2VzcykKKyAgICAsIG1fb2JzZXJ2ZXIoW3RoaXNd
IChBdWRpb1Nlc3Npb24mIHNlc3Npb24pIHsgc2Vzc2lvbi5zZXRSb3V0aW5nQXJiaXRyYXRpb25D
bGllbnQobWFrZVdlYWtQdHIodGhpcykpOyB9KQogewotICAgIEF1ZGlvU2Vzc2lvbjo6c2hhcmVk
U2Vzc2lvbigpLnNldFJvdXRpbmdBcmJpdHJhdGlvbkNsaWVudChtYWtlV2Vha1B0cih0aGlzKSk7
CisgICAgQXVkaW9TZXNzaW9uOjphZGRBdWRpb1Nlc3Npb25DaGFuZ2VkT2JzZXJ2ZXIobV9vYnNl
cnZlcik7CiB9CiAKIEF1ZGlvU2Vzc2lvblJvdXRpbmdBcmJpdHJhdG9yOjp+QXVkaW9TZXNzaW9u
Um91dGluZ0FyYml0cmF0b3IoKSA9IGRlZmF1bHQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvY29jb2EvQXVkaW9TZXNzaW9uUm91dGluZ0FyYml0cmF0b3IuaCBiL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9BdWRpb1Nlc3Npb25Sb3V0aW5nQXJiaXRyYXRvci5o
CmluZGV4IGM1NjBhYjU2NjQxYmI1Yjc0ODA3NmViZWE1M2Y0ZTA5NGQ3OTJlN2YuLmYxZDU3MjMy
ZmFkMjkzZmI4YTFkZTdlMGU0MGIyNDBmMjBjY2FhMzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9jb2NvYS9BdWRpb1Nlc3Npb25Sb3V0aW5nQXJiaXRyYXRvci5oCisrKyBi
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9BdWRpb1Nlc3Npb25Sb3V0aW5nQXJiaXRy
YXRvci5oCkBAIC00OCwxMiArNDgsMTMgQEAgcHVibGljOgogCiAgICAgdXNpbmcgV2Vha1ZhbHVl
VHlwZSA9IFdlYkNvcmU6OkF1ZGlvU2Vzc2lvblJvdXRpbmdBcmJpdHJhdGlvbkNsaWVudDsKIAot
cHJpdmF0ZToKICAgICAvLyBBdWRpb1Nlc3Npb25Sb3V0aW5nQWJyaXRyYXRvcgogICAgIHZvaWQg
YmVnaW5Sb3V0aW5nQXJiaXRyYXRpb25XaXRoQ2F0ZWdvcnkoV2ViQ29yZTo6QXVkaW9TZXNzaW9u
OjpDYXRlZ29yeVR5cGUsIENvbXBsZXRpb25IYW5kbGVyPHZvaWQoUm91dGluZ0FyYml0cmF0aW9u
RXJyb3IsIERlZmF1bHRSb3V0ZUNoYW5nZWQpPiYmKSBmaW5hbDsKICAgICB2b2lkIGxlYXZlUm91
dGluZ0Ficml0cmF0aW9uKCkgZmluYWw7CiAKK3ByaXZhdGU6CiAgICAgV2ViUHJvY2VzcyYgbV9w
cm9jZXNzOworICAgIFdlYkNvcmU6OkF1ZGlvU2Vzc2lvbjo6Q2hhbmdlZE9ic2VydmVyIG1fb2Jz
ZXJ2ZXI7CiB9OwogCiB9Cg==
</data>
<flag name="review"
          id="450524"
          type_id="1"
          status="+"
          setter="eric.carlson"
    />
    <flag name="commit-queue"
          id="450577"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>429373</attachid>
            <date>2021-05-21 17:15:49 -0700</date>
            <delta_ts>2021-05-21 17:16:25 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-226104-20210521171548.patch</filename>
            <type>text/plain</type>
            <size>25937</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc3OTAwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjcyM2IwYzVmNTAyNGQ0
MjViN2EzOGVlYzhhZDg1MDEwY2ZlNjMzMy4uYzZmODcxOGQ2NmY5YTZmZTM0OTc2MDVjOGM2ZDYy
Zjk1NTY1NGFmNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDIxLTA1LTIxICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIFJFR1JFU1NJT04ocjI3Njk5
Myk6IDUgVGVzdFdlYktpdEFQSS5BdWRpb1JvdXRpbmdBcmJpdHJhdGlvbiAoYXBpLXRlc3RzKSBh
cmUgY29uc3RhbnQgZmFpbHVyZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIyNjEwNAorICAgICAgICA8cmRhcjovLzc3OTk4MDQ5PgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBhIG1lY2hhbmlzbSBm
b3IgYSBjbGllbnQgdG8gd2FpdCB1bnRpbCBhbiBBdWRpb1Nlc3Npb24gaXMgY3JlYXRlZCBvciBj
aGFuZ2VkIGJlZm9yZSB0YWtpbmcKKyAgICAgICAgYW4gYWN0aW9uLgorCisgICAgICAgICogcGxh
dGZvcm0vYXVkaW8vQXVkaW9TZXNzaW9uLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmF1ZGlvU2Vz
c2lvbkNoYW5nZWRPYnNlcnZlcnMpOgorICAgICAgICAoV2ViQ29yZTo6QXVkaW9TZXNzaW9uOjpz
aGFyZWRTZXNzaW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvU2Vzc2lvbjo6c2V0U2hhcmVk
U2Vzc2lvbik6CisgICAgICAgIChXZWJDb3JlOjpBdWRpb1Nlc3Npb246OmFkZEF1ZGlvU2Vzc2lv
bkNoYW5nZWRPYnNlcnZlcik6CisgICAgICAgICogcGxhdGZvcm0vYXVkaW8vQXVkaW9TZXNzaW9u
Lmg6CisKIDIwMjEtMDUtMjAgIEplciBOb2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CiAKICAg
ICAgICAgW0NvY29hXSBMYXN0IGZldyBzZWNvbmRzIG9mICdhdWRpby93ZWJtOyBjb2RlY3M9dm9y
YmlzJyBhcHBlbmRlZCB0byBhIFNhbXBsZUJ1ZmZlciBhcmUgbm90IHBsYXllZApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwppbmRl
eCBlOTlmNTY5YTIwODk2NGE2NGI3YWU2NjIzM2IzYTU2MzE0MGQ5NTE3Li44YjliMGEwYjgzNDA0
MmI5ODA5ZjYxM2Q2NWVkYmYwYTQ2NTRkMzA1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsxLDY4IEBACisy
MDIxLTA1LTIxICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIFtD
b2NvYV0gSGFuZyBpbiBXZWJNIGZvcm1hdCByZWFkZXIgd2hlbiBsb2FkaW5nIGNvbnRlbnQgZnJv
bSBodHRwczovL3Bvd2VycmFuZ2Vycy5mYW5kb20uY29tLworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI2MTI4CisgICAgICAgIDxyZGFyOi8vNzc2NDU4
Nzc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRXJpYyBDYXJsc29uLgorCisgICAgICAgIFdoZW4g
Y3JlYXRpbmcgYSBmb3JtYXQgcmVhZGVyLCBNZWRpYVRvb2xib3ggd2lsbCBxdWVyeSBmb3IgdmFy
aW91cyBwcm9wZXJ0aWVzIGluY2x1ZGluZyBvbmVzIGFib3V0CisgICAgICAgIE1ldGFkYXRhRm9y
bWF0IGFuZCBNZXRhZGF0YUtleVNwYWNlLiBXZSBkb24ndCBzdXBwb3J0IHRob3NlIHByb3BlcnRp
ZXMsIGJ1dCB3ZSBzdGlsbCBibG9jayB1bnRpbAorICAgICAgICB0cmFja3MgYXJlIGxvYWRlZCBi
ZWZvcmUgYW5zd2VyaW5nIHRoYXQgd2UgZG9uJ3Qgc3VwcG9ydCB0aGVtLiBJbnN0ZWFkLCBqdXN0
IHJldHVybiBlYXJseSB1bmxlc3MKKyAgICAgICAgdGhlIHF1ZXJ5IGlzIGZvciB0aGUgb25lIHBy
b3BlcnR5IHdoaWNoIHdlIGRvIHN1cHBvcnQsIER1cmF0aW9uLgorCisgICAgICAgICogU2hhcmVk
L21hYy9NZWRpYUZvcm1hdFJlYWRlci9NZWRpYUZvcm1hdFJlYWRlci5jcHA6CisgICAgICAgIChX
ZWJLaXQ6Ok1lZGlhRm9ybWF0UmVhZGVyOjpjb3B5UHJvcGVydHkpOgorCisyMDIxLTA1LTIxICBK
ZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIFJFR1JFU1NJT04ocjI3
Njk5Myk6IDUgVGVzdFdlYktpdEFQSS5BdWRpb1JvdXRpbmdBcmJpdHJhdGlvbiAoYXBpLXRlc3Rz
KSBhcmUgY29uc3RhbnQgZmFpbHVyZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTIyNjEwNAorICAgICAgICA8cmRhcjovLzc3OTk4MDQ5PgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEluIHIyNzY5OTMsIEF1
ZGlvU2Vzc2lvblJvdXRpbmdBcmJpdHJhdGlvbiB3YXMgbW92ZWQgZnJvbSBiZWluZyBpbml0aWF0
ZWQgaW4gdGhlIFdlYkNvbnRlbnQgcHJvY2VzcworICAgICAgICBhbmQgZGlzcGF0Y2hlZCB0byB0
aGUgVUlQcm9jZXNzLCB0byBiZWluZyBkaXNwYXRjaGVkIHRvIHRoZSBHUFUgcHJvY2Vzcy4gSG93
ZXZlciB0d28gcHJvYmxlbXMgb2NjdXJyZWQ6CisKKyAgICAgICAgMSkgVGhlIFVJUHJvY2VzcyBu
byBsb25nZXIga25vd3MgYWJvdXQgcm91dGluZyBhcmJpdHJhdGlvbiwgd2hpY2ggaXMgcmVhc29u
YWJsZSBmb3IgdGhlIGZlYXR1cmUsIGJ1dAorICAgICAgICAgICBicmVha3MgYW4gQVBJIHRlc3Qg
dGhhdCBxdWVyaWVzIGFyYml0cmF0aW9uIHN0YXR1cyBpbiB0aGUgVUlQcm9jZXNzLgorCisgICAg
ICAgIDIpIEEgc2FuZGJveCB2aW9sYXRpb24gY2F1c2VzIHJvdXRpbmcgYXJiaXRyYXRpb24gdG8g
ZmFpbCBpbiB0aGUgR1BVIHByb2Nlc3MgcmVnYXJkbGVzcy4KKworICAgICAgICBXZSBjb3VsZCBv
cGVuIHVwIHRoZSBzYW5kYm94IHRvIGFsbG93IHJvdXRpbmcgYXJiaXRyYXRpb24gdG8gc3VjY2Vl
ZCAoYW5kIGNvbWUgdXAgd2l0aCBhIHdheSB0byBwdXNoCisgICAgICAgIHN0YXRlIGNoYW5nZXMg
dXAgdG8gdGhlIFVJUHJvY2VzcyBmb3IgdGVzdGluZyBwdXJwb3NlcyksIGJ1dCBpdCdzIG5vdCB0
ZWNobmljYWxseSBuZWNlc3NhcnkgZm9yCisgICAgICAgIGFyYml0cmF0aW9uIHRvIG9jY3VyIHRo
ZXJlLiBJbnN0ZWFkLCBqdXN0IHJldmVydCB0byB0aGUgc3RhdHVzLXF1by1hbnRlIGJlaGF2aW9y
IG9mIGhhdmluZyBhcmJpdHJhdGlvbgorICAgICAgICB0YWtlIHBsYWNlIGluIHRoZSBVSVByb2Nl
c3MsIGFuZCBqdXN0IGFkZCBhIG5ldyBzZXQgb2YgbWVzc2FnZXMgZnJvbSB0aGUgR1BVQ29ubm9j
dGlvblRvV2ViUHJvY2VzcyB0bworICAgICAgICB0aGUgR1BVUHJvY2Vzc0Nvbm5lY3Rpb24gdG8g
ZmFjaWxpdGF0ZSBhcmJpdHJhdGlvbi4KKworICAgICAgICBEcml2ZS1ieSBmaXg6IEF1ZGlvU2Vz
c2lvblJvdXRpbmdBcmJpdHJhdG9yIGlzIGEgc3VwcGxlbWVudCB0byBXZWJQcm9jZXNzLCBhbmQg
YXMgc3VjaCBpdCdzIGNyZWF0ZWQKKyAgICAgICAgYXQgV2ViUHJvY2VzcyBjcmVhdGlvbiB0aW1l
LiBIb3dldmVyLCBpdCBhbHNvIGNhdXNlcyBhbiBBdWRpb1Nlc3Npb24gdG8gYmUgY3JlYXRlZCBi
eSBhdHRlbXB0aW5nIHRvCisgICAgICAgIGFkZCBpdHNlbGYgYXMgYSBjbGllbnQuIFRoaXMgaXMg
YmFkIG9uIGlPUywgd2hlcmUgaXQgY291bGQgY2F1c2UgaGFuZ3MgZHVlIHRvIEFWQXVkaW9TZXNz
aW9uIGNhbGxzLgorICAgICAgICBTbywgYWRkIGEgbWVjaGFuaXNtIHRvIGJlIG5vdGlmaWVkIHdo
ZW4gYW4gQXVkaW9TZXNzaW9uIGV2ZW50dWFsbHkgZG9lcyBnZXQgY3JlYXRlZCwgYW5kIGFkZCB0
aGUKKyAgICAgICAgYXJiaXRyYXRvciBhcyBhIGNsaWVudCB0aGVuLgorCisgICAgICAgICogR1BV
UHJvY2Vzcy9HUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6
R1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6R1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzcyk6Cisg
ICAgICAgICogR1BVUHJvY2Vzcy9tYWMvTG9jYWxBdWRpb1Nlc3Npb25Sb3V0aW5nQXJiaXRyYXRv
ci5jcHA6CisgICAgICAgIChXZWJLaXQ6OkxvY2FsQXVkaW9TZXNzaW9uUm91dGluZ0FyYml0cmF0
b3I6OmNyZWF0ZSk6CisgICAgICAgIChXZWJLaXQ6OkxvY2FsQXVkaW9TZXNzaW9uUm91dGluZ0Fy
Yml0cmF0b3I6OkxvY2FsQXVkaW9TZXNzaW9uUm91dGluZ0FyYml0cmF0b3IpOgorICAgICAgICAo
V2ViS2l0OjpMb2NhbEF1ZGlvU2Vzc2lvblJvdXRpbmdBcmJpdHJhdG9yOjpwcm9jZXNzRGlkVGVy
bWluYXRlKToKKyAgICAgICAgKFdlYktpdDo6TG9jYWxBdWRpb1Nlc3Npb25Sb3V0aW5nQXJiaXRy
YXRvcjo6YmVnaW5Sb3V0aW5nQXJiaXRyYXRpb25XaXRoQ2F0ZWdvcnkpOgorICAgICAgICAoV2Vi
S2l0OjpMb2NhbEF1ZGlvU2Vzc2lvblJvdXRpbmdBcmJpdHJhdG9yOjpsZWF2ZVJvdXRpbmdBYnJp
dHJhdGlvbik6CisgICAgICAgICogR1BVUHJvY2Vzcy9tYWMvTG9jYWxBdWRpb1Nlc3Npb25Sb3V0
aW5nQXJiaXRyYXRvci5oOgorICAgICAgICAqIEdQVVByb2Nlc3MvbWVkaWEvUmVtb3RlQXVkaW9T
ZXNzaW9uUHJveHlNYW5hZ2VyLmg6CisgICAgICAgIChXZWJLaXQ6OlJlbW90ZUF1ZGlvU2Vzc2lv
blByb3h5TWFuYWdlcjo6c2Vzc2lvbik6CisgICAgICAgICogVUlQcm9jZXNzL0dQVS9HUFVQcm9j
ZXNzUHJveHkuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL0dQVS9HUFVQcm9jZXNzQ29ubmVjdGlv
bi5jcHA6CisgICAgICAgIChXZWJLaXQ6OkdQVVByb2Nlc3NDb25uZWN0aW9uOjpiZWdpblJvdXRp
bmdBcmJpdHJhdGlvbldpdGhDYXRlZ29yeSk6CisgICAgICAgIChXZWJLaXQ6OkdQVVByb2Nlc3ND
b25uZWN0aW9uOjplbmRSb3V0aW5nQXJiaXRyYXRpb24pOgorICAgICAgICAqIFdlYlByb2Nlc3Mv
R1BVL0dQVVByb2Nlc3NDb25uZWN0aW9uLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9HUFUvR1BV
UHJvY2Vzc0Nvbm5lY3Rpb24ubWVzc2FnZXMuaW46CisgICAgICAgICogV2ViUHJvY2Vzcy9jb2Nv
YS9BdWRpb1Nlc3Npb25Sb3V0aW5nQXJiaXRyYXRvci5jcHA6CisgICAgICAgIChXZWJLaXQ6OkF1
ZGlvU2Vzc2lvblJvdXRpbmdBcmJpdHJhdG9yOjpBdWRpb1Nlc3Npb25Sb3V0aW5nQXJiaXRyYXRv
cik6CisgICAgICAgICogV2ViUHJvY2Vzcy9jb2NvYS9BdWRpb1Nlc3Npb25Sb3V0aW5nQXJiaXRy
YXRvci5oOgorCiAyMDIxLTA1LTIxICBCcmVudCBGdWxnaGFtICA8YmZ1bGdoYW1AYXBwbGUuY29t
PgogCiAgICAgICAgIFtDb2NvYV0gRXhwYW5kIElPS2l0IG1ldGhvZCBmaWx0ZXJzIHRvIGNvdmVy
IGl0ZW1zIGVuY291bnRlcmVkIGR1cmluZyB0ZXN0aW5nCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb1Nlc3Npb24uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vYXVkaW8vQXVkaW9TZXNzaW9uLmNwcAppbmRleCA4ZTY4NmU0NDdiOWI2NmRjZThhYjdl
MjEzNzE0ZmRlNjBlOTNiYjVjLi5lZGVmM2QzZmFiMmE2ZTU0ODlhZDZlMGEzZDRhY2FhYWUzMTNj
Yzg2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb1Nlc3Np
b24uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2F1ZGlvL0F1ZGlvU2Vzc2lvbi5j
cHAKQEAgLTQ3LDYgKzQ3LDEyIEBAIHN0YXRpYyBPcHRpb25hbDxVbmlxdWVSZWY8QXVkaW9TZXNz
aW9uPj4mIHNoYXJlZEF1ZGlvU2Vzc2lvbigpCiAgICAgcmV0dXJuIHNlc3Npb24uZ2V0KCk7CiB9
CiAKK3N0YXRpYyBXZWFrSGFzaFNldDxBdWRpb1Nlc3Npb246OkNoYW5nZWRPYnNlcnZlcj4mIGF1
ZGlvU2Vzc2lvbkNoYW5nZWRPYnNlcnZlcnMoKQoreworICAgIHN0YXRpYyBOZXZlckRlc3Ryb3ll
ZDxXZWFrSGFzaFNldDxBdWRpb1Nlc3Npb246OkNoYW5nZWRPYnNlcnZlcj4+IG9ic2VydmVyczsK
KyAgICByZXR1cm4gb2JzZXJ2ZXJzOworfQorCiBVbmlxdWVSZWY8QXVkaW9TZXNzaW9uPiBBdWRp
b1Nlc3Npb246OmNyZWF0ZSgpCiB7CiAjaWYgUExBVEZPUk0oTUFDKQpAQCAtNjQsMTMgKzcwLDI2
IEBAIEF1ZGlvU2Vzc2lvbjo6fkF1ZGlvU2Vzc2lvbigpID0gZGVmYXVsdDsKIEF1ZGlvU2Vzc2lv
biYgQXVkaW9TZXNzaW9uOjpzaGFyZWRTZXNzaW9uKCkKIHsKICAgICBpZiAoIXNoYXJlZEF1ZGlv
U2Vzc2lvbigpKQotICAgICAgICBzaGFyZWRBdWRpb1Nlc3Npb24oKSA9IEF1ZGlvU2Vzc2lvbjo6
Y3JlYXRlKCk7CisgICAgICAgIHNldFNoYXJlZFNlc3Npb24oQXVkaW9TZXNzaW9uOjpjcmVhdGUo
KSk7CiAgICAgcmV0dXJuICpzaGFyZWRBdWRpb1Nlc3Npb24oKTsKIH0KIAogdm9pZCBBdWRpb1Nl
c3Npb246OnNldFNoYXJlZFNlc3Npb24oVW5pcXVlUmVmPEF1ZGlvU2Vzc2lvbj4mJiBzZXNzaW9u
KQogewogICAgIHNoYXJlZEF1ZGlvU2Vzc2lvbigpID0gV1RGTW92ZShzZXNzaW9uKTsKKworICAg
IGF1ZGlvU2Vzc2lvbkNoYW5nZWRPYnNlcnZlcnMoKS5mb3JFYWNoKFtdIChhdXRvJiBvYnNlcnZl
cikgeworICAgICAgICBvYnNlcnZlcigqc2hhcmVkQXVkaW9TZXNzaW9uKCkpOworICAgIH0pOwor
fQorCit2b2lkIEF1ZGlvU2Vzc2lvbjo6YWRkQXVkaW9TZXNzaW9uQ2hhbmdlZE9ic2VydmVyKGNv
bnN0IENoYW5nZWRPYnNlcnZlciYgb2JzZXJ2ZXIpCit7CisgICAgQVNTRVJUKCFhdWRpb1Nlc3Np
b25DaGFuZ2VkT2JzZXJ2ZXJzKCkuY29udGFpbnMob2JzZXJ2ZXIpKTsKKyAgICBhdWRpb1Nlc3Np
b25DaGFuZ2VkT2JzZXJ2ZXJzKCkuYWRkKG9ic2VydmVyKTsKKworICAgIGlmIChzaGFyZWRBdWRp
b1Nlc3Npb24oKSkKKyAgICAgICAgb2JzZXJ2ZXIoKnNoYXJlZEF1ZGlvU2Vzc2lvbigpKTsKIH0K
IAogYm9vbCBBdWRpb1Nlc3Npb246OnRyeVRvU2V0QWN0aXZlKGJvb2wgYWN0aXZlKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9TZXNzaW9uLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb1Nlc3Npb24uaAppbmRleCBiOGY3ZDMwZjdk
NjUxMDhkYjNkMGI3MzY5ODg5N2UzMDYwZjk4YmI4Li40ZTkzODVhNDc4NjAxZWE3YzkzOGUyNWUz
ZmIyOGU3MzE5Y2NjMGMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRp
by9BdWRpb1Nlc3Npb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRp
b1Nlc3Npb24uaApAQCAtMzIsNiArMzIsNyBAQAogI2luY2x1ZGUgPHd0Zi9FbnVtVHJhaXRzLmg+
CiAjaW5jbHVkZSA8d3RmL05ldmVyRGVzdHJveWVkLmg+CiAjaW5jbHVkZSA8d3RmL05vbmNvcHlh
YmxlLmg+CisjaW5jbHVkZSA8d3RmL09ic2VydmVyLmg+CiAjaW5jbHVkZSA8d3RmL1VuaXF1ZVJl
Zi5oPgogI2luY2x1ZGUgPHd0Zi9XZWFrSGFzaFNldC5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dU
RlN0cmluZy5oPgpAQCAtNTYsNiArNTcsMTAgQEAgcHVibGljOgogICAgIHN0YXRpYyBVbmlxdWVS
ZWY8QXVkaW9TZXNzaW9uPiBjcmVhdGUoKTsKICAgICBzdGF0aWMgdm9pZCBzZXRTaGFyZWRTZXNz
aW9uKFVuaXF1ZVJlZjxBdWRpb1Nlc3Npb24+JiYpOwogICAgIHN0YXRpYyBBdWRpb1Nlc3Npb24m
IHNoYXJlZFNlc3Npb24oKTsKKworICAgIHVzaW5nIENoYW5nZWRPYnNlcnZlciA9IFdURjo6T2Jz
ZXJ2ZXI8dm9pZChBdWRpb1Nlc3Npb24mKT47CisgICAgc3RhdGljIHZvaWQgYWRkQXVkaW9TZXNz
aW9uQ2hhbmdlZE9ic2VydmVyKGNvbnN0IENoYW5nZWRPYnNlcnZlciYpOworCiAgICAgdmlydHVh
bCB+QXVkaW9TZXNzaW9uKCk7CiAKICAgICBlbnVtIGNsYXNzIENhdGVnb3J5VHlwZSA6IHVpbnQ4
X3QgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3Vu
ZGF0aW9uL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL01lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRh
dGlvbi5oCmluZGV4IGQ4YWI5YzY2NzJjYTdlZjFiNjRlNmVhMTBhMGIxZjFlNzA4ZmU5OGQuLjI3
YTdjODMzYTdkYTI1YjE2MTMyZDdlOTFmZTNkMDQzODJhNzA3Y2EgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9NZWRpYVBsYXllclByaXZh
dGVBVkZvdW5kYXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9h
dmZvdW5kYXRpb24vTWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uLmgKQEAgLTI4OCw2ICsy
ODgsNyBAQCBwcm90ZWN0ZWQ6CiAgICAgTWVkaWFSZW5kZXJpbmdNb2RlIHByZWZlcnJlZFJlbmRl
cmluZ01vZGUoKSBjb25zdDsKIAogICAgIGJvb2wgbWV0YURhdGFBdmFpbGFibGUoKSBjb25zdCB7
IHJldHVybiBtX3JlYWR5U3RhdGUgPj0gTWVkaWFQbGF5ZXI6OlJlYWR5U3RhdGU6OkhhdmVNZXRh
ZGF0YTsgfQorICAgIGJvb2wgY3VycmVudERhdGFBdmFpbGFibGUoKSBjb25zdCB7IHJldHVybiBt
X3JlYWR5U3RhdGUgPj0gTWVkaWFQbGF5ZXI6OlJlYWR5U3RhdGU6OkhhdmVDdXJyZW50RGF0YTsg
fQogICAgIE1lZGlhVGltZSBtYXhUaW1lTG9hZGVkKCkgY29uc3Q7CiAgICAgYm9vbCBpc1JlYWR5
Rm9yVmlkZW9TZXR1cCgpIGNvbnN0OwogICAgIHZpcnR1YWwgdm9pZCBzZXRVcFZpZGVvUmVuZGVy
aW5nKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZv
dW5kYXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDLm1tIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvYXZmb3VuZGF0aW9uL29iamMvTWVkaWFQbGF5
ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQy5tbQppbmRleCA0NjU1ZmU1YTA4NGMzODkxMTY5ZjBi
ZWYyN2MzM2ZmY2UxNmVkMjQwLi5mNzE3N2VlNjUwOWVmZWMzYzQ4OGQwZGMwMmQ0ZWVlMmNhZWVm
ZjgyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9hdmZvdW5k
YXRpb24vb2JqYy9NZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25PYmpDLm1tCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2F2Zm91bmRhdGlvbi9vYmpjL01lZGlhUGxh
eWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakMubW0KQEAgLTE3NDQsNyArMTc0NCw3IEBAIGxvbmcg
TWVkaWFQbGF5ZXJQcml2YXRlQVZGb3VuZGF0aW9uT2JqQzo6YXNzZXRFcnJvckNvZGUoKSBjb25z
dAogCiB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakM6OnBhaW50Q3VycmVu
dEZyYW1lSW5Db250ZXh0KEdyYXBoaWNzQ29udGV4dCYgY29udGV4dCwgY29uc3QgRmxvYXRSZWN0
JiByZWN0KQogewotICAgIGlmICghbWV0YURhdGFBdmFpbGFibGUoKSB8fCBjb250ZXh0LnBhaW50
aW5nRGlzYWJsZWQoKSB8fCBpc0N1cnJlbnRQbGF5YmFja1RhcmdldFdpcmVsZXNzKCkpCisgICAg
aWYgKCFjdXJyZW50RGF0YUF2YWlsYWJsZSgpIHx8IGNvbnRleHQucGFpbnRpbmdEaXNhYmxlZCgp
IHx8IGlzQ3VycmVudFBsYXliYWNrVGFyZ2V0V2lyZWxlc3MoKSkKICAgICAgICAgcmV0dXJuOwog
CiAgICAgc2V0RGVsYXlDYWxsYmFja3ModHJ1ZSk7CkBAIC0xNzcyLDcgKzE3NzIsNyBAQCB2b2lk
IE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlvbk9iakM6OnBhaW50Q3VycmVudEZyYW1lSW5D
b250ZXh0KEdyYXBoaWNzQ29udAogCiB2b2lkIE1lZGlhUGxheWVyUHJpdmF0ZUFWRm91bmRhdGlv
bk9iakM6OnBhaW50KEdyYXBoaWNzQ29udGV4dCYgY29udGV4dCwgY29uc3QgRmxvYXRSZWN0JiBy
ZWN0KQogewotICAgIGlmICghbWV0YURhdGFBdmFpbGFibGUoKSB8fCBjb250ZXh0LnBhaW50aW5n
RGlzYWJsZWQoKSkKKyAgICBpZiAoIWN1cnJlbnREYXRhQXZhaWxhYmxlKCkgfHwgY29udGV4dC5w
YWludGluZ0Rpc2FibGVkKCkpCiAgICAgICAgIHJldHVybjsKIAogICAgIC8vIFdlIGNhbiBpZ25v
cmUgdGhlIHJlcXVlc3QgaWYgd2UgYXJlIGFscmVhZHkgcmVuZGVyaW5nIHRvIGEgbGF5ZXIuCkBA
IC0yNDQ4LDYgKzI0NDgsMTIgQEAgdm9pZCBNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRpb25P
YmpDOjp1cGRhdGVMYXN0SW1hZ2UoVXBkYXRlVHlwZSB0eXBlKQogICAgIGlmICghbV9hdlBsYXll
ckl0ZW0pCiAgICAgICAgIHJldHVybjsKIAorICAgIC8vIElmIHdlIGN1cnJlbnRseSBoYXZlIGFu
IEFWUGxheWVyTGF5ZXIsIGFuZCBpdHMgbm90IHJlYWR5IGZvcgorICAgIC8vIGRpc3BsYXksIHRo
ZXJlIGFyZSBubyBjdXJyZW50bHkgZGVjb2RlZCBpbWFnZXMgYXZhaWxhYmxlLCBzbworICAgIC8v
IHBhaW50aW5nIHNob3VsZCBmYWlsIGhlcmUuCisgICAgaWYgKG1fdmlkZW9MYXllciAmJiAhW21f
dmlkZW9MYXllciBpc1JlYWR5Rm9yRGlzcGxheV0pCisgICAgICAgIHJldHVybjsKKwogICAgIGlm
ICh0eXBlID09IFVwZGF0ZVR5cGU6OlVwZGF0ZVN5bmNocm9ub3VzbHkgJiYgIW1fbGFzdEltYWdl
ICYmICF2aWRlb091dHB1dEhhc0F2YWlsYWJsZUZyYW1lKCkpCiAgICAgICAgIHdhaXRGb3JWaWRl
b091dHB1dE1lZGlhRGF0YVdpbGxDaGFuZ2UoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9XZWJLaXQvQ01ha2VMaXN0cy50eHQKaW5kZXggNjAy
MmM1MjliN2ZkMjk2NzkzZTQxNWQyNzYwN2MxN2UxMzk1ZThkNy4uMmVhYTRlMTExYWY3NTM3MGFk
OWZjZGVlMjA5MzFmZTkxMmU5MDlmMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DTWFrZUxp
c3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViS2l0L0NNYWtlTGlzdHMudHh0CkBAIC01OCw2ICs1OCw3
IEBAIHNldChXZWJLaXRfSU5DTFVERV9ESVJFQ1RPUklFUwogICAgICIke1dFQktJVF9ESVJ9L1VJ
UHJvY2Vzcy9JbnNwZWN0b3IiCiAgICAgIiR7V0VCS0lUX0RJUn0vVUlQcm9jZXNzL0luc3BlY3Rv
ci9BZ2VudHMiCiAgICAgIiR7V0VCS0lUX0RJUn0vVUlQcm9jZXNzL0xhdW5jaGVyIgorICAgICIk
e1dFQktJVF9ESVJ9L1VJUHJvY2Vzcy9NZWRpYSIKICAgICAiJHtXRUJLSVRfRElSfS9VSVByb2Nl
c3MvTmV0d29yayIKICAgICAiJHtXRUJLSVRfRElSfS9VSVByb2Nlc3MvTmV0d29yay9DdXN0b21Q
cm90b2NvbHMiCiAgICAgIiR7V0VCS0lUX0RJUn0vVUlQcm9jZXNzL05vdGlmaWNhdGlvbnMiCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVQ29ubmVjdGlvblRvV2ViUHJv
Y2Vzcy5jcHAgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvR1BVQ29ubmVjdGlvblRvV2ViUHJv
Y2Vzcy5jcHAKaW5kZXggNmIyMTE3OTQ1MDNlY2MxOTQ4ZDlmMjE2MWEyNjhlNzg2MmYyZTI1OS4u
MmQ1NjdjYWRlOGViZTdjNGZjMTM0MTFhNTExZTcxMzY1ZjI2MGVlMyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9HUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmNwcApA
QCAtMjA2LDExICsyMDYsMTUgQEAgR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6R1BVQ29ubmVj
dGlvblRvV2ViUHJvY2VzcyhHUFVQcm9jZXNzJiBncHVQcm9jZXNzLCBXZWIKICAgICAsIG1fc2Ft
cGxlQnVmZmVyRGlzcGxheUxheWVyTWFuYWdlcihSZW1vdGVTYW1wbGVCdWZmZXJEaXNwbGF5TGF5
ZXJNYW5hZ2VyOjpjcmVhdGUoKnRoaXMpKQogI2VuZGlmCiAjaWYgRU5BQkxFKFJPVVRJTkdfQVJC
SVRSQVRJT04pICYmIEhBVkUoQVZBVURJT19ST1VUSU5HX0FSQklURVIpCi0gICAgLCBtX3JvdXRp
bmdBcmJpdHJhdG9yKExvY2FsQXVkaW9TZXNzaW9uUm91dGluZ0FyYml0cmF0b3I6OmNyZWF0ZSgp
KQorICAgICwgbV9yb3V0aW5nQXJiaXRyYXRvcihMb2NhbEF1ZGlvU2Vzc2lvblJvdXRpbmdBcmJp
dHJhdG9yOjpjcmVhdGUoKnRoaXMpKQogI2VuZGlmCiB7CiAgICAgUkVMRUFTRV9BU1NFUlQoUnVu
TG9vcDo6aXNNYWluKCkpOwogCisjaWYgRU5BQkxFKFJPVVRJTkdfQVJCSVRSQVRJT04pICYmIEhB
VkUoQVZBVURJT19ST1VUSU5HX0FSQklURVIpCisgICAgZ3B1UHJvY2Vzcy5hdWRpb1Nlc3Npb25N
YW5hZ2VyKCkuc2Vzc2lvbigpLnNldFJvdXRpbmdBcmJpdHJhdGlvbkNsaWVudChtYWtlV2Vha1B0
cihtX3JvdXRpbmdBcmJpdHJhdG9yLmdldCgpKSk7CisjZW5kaWYKKwogICAgIGlmICghcGFyYW1l
dGVycy5vdmVycmlkZUxhbmd1YWdlcy5pc0VtcHR5KCkpCiAgICAgICAgIG92ZXJyaWRlVXNlclBy
ZWZlcnJlZExhbmd1YWdlcyhwYXJhbWV0ZXJzLm92ZXJyaWRlTGFuZ3VhZ2VzKTsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21hYy9Mb2NhbEF1ZGlvU2Vzc2lvblJvdXRp
bmdBcmJpdHJhdG9yLmNwcCBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tYWMvTG9jYWxBdWRp
b1Nlc3Npb25Sb3V0aW5nQXJiaXRyYXRvci5jcHAKaW5kZXggOTViYzRjY2M2NDQxNTNkMDk1YzNm
Y2E4MGZiYTZjMGEzNzlhMDdlNS4uN2U1ZWRmZWQ5ODAxNWE0YTQ0MzA5ODdkMmZhN2M3OWYzMTYw
OTkzZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21hYy9Mb2NhbEF1ZGlv
U2Vzc2lvblJvdXRpbmdBcmJpdHJhdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nl
c3MvbWFjL0xvY2FsQXVkaW9TZXNzaW9uUm91dGluZ0FyYml0cmF0b3IuY3BwCkBAIC0yNiwxOSAr
MjYsMjIgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJMb2NhbEF1ZGlvU2Vzc2lv
blJvdXRpbmdBcmJpdHJhdG9yLmgiCiAKKyNpbmNsdWRlICJHUFVQcm9jZXNzLmgiCisjaW5jbHVk
ZSAiR1BVUHJvY2Vzc0Nvbm5lY3Rpb25NZXNzYWdlcy5oIgorCiAjaWYgRU5BQkxFKFJPVVRJTkdf
QVJCSVRSQVRJT04pICYmIEhBVkUoQVZBVURJT19ST1VUSU5HX0FSQklURVIpCiAKIG5hbWVzcGFj
ZSBXZWJLaXQgewogCiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAotVW5pcXVlUmVmPExvY2Fs
QXVkaW9TZXNzaW9uUm91dGluZ0FyYml0cmF0b3I+IExvY2FsQXVkaW9TZXNzaW9uUm91dGluZ0Fy
Yml0cmF0b3I6OmNyZWF0ZSgpCitVbmlxdWVSZWY8TG9jYWxBdWRpb1Nlc3Npb25Sb3V0aW5nQXJi
aXRyYXRvcj4gTG9jYWxBdWRpb1Nlc3Npb25Sb3V0aW5nQXJiaXRyYXRvcjo6Y3JlYXRlKEdQVUNv
bm5lY3Rpb25Ub1dlYlByb2Nlc3MmIGdwdUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MpCiB7Ci0gICAg
cmV0dXJuIG1ha2VVbmlxdWVSZWY8TG9jYWxBdWRpb1Nlc3Npb25Sb3V0aW5nQXJiaXRyYXRvcj4o
KTsKKyAgICByZXR1cm4gbWFrZVVuaXF1ZVJlZjxMb2NhbEF1ZGlvU2Vzc2lvblJvdXRpbmdBcmJp
dHJhdG9yPihncHVDb25uZWN0aW9uVG9XZWJQcm9jZXNzKTsKIH0KIAotTG9jYWxBdWRpb1Nlc3Np
b25Sb3V0aW5nQXJiaXRyYXRvcjo6TG9jYWxBdWRpb1Nlc3Npb25Sb3V0aW5nQXJiaXRyYXRvcigp
Ci0gICAgOiBtX3Rva2VuKFNoYXJlZFJvdXRpbmdBcmJpdHJhdG9yOjpUb2tlbjo6Y3JlYXRlKCkp
CitMb2NhbEF1ZGlvU2Vzc2lvblJvdXRpbmdBcmJpdHJhdG9yOjpMb2NhbEF1ZGlvU2Vzc2lvblJv
dXRpbmdBcmJpdHJhdG9yKEdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MmIGdwdUNvbm5lY3Rpb25U
b1dlYlByb2Nlc3MpCisgICAgOiBtX2Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MoZ3B1Q29ubmVjdGlv
blRvV2ViUHJvY2VzcykKIHsKIH0KIApAQCAtNDYsMjcgKzQ5LDE3IEBAIExvY2FsQXVkaW9TZXNz
aW9uUm91dGluZ0FyYml0cmF0b3I6On5Mb2NhbEF1ZGlvU2Vzc2lvblJvdXRpbmdBcmJpdHJhdG9y
KCkgPSBkZWZhCiAKIHZvaWQgTG9jYWxBdWRpb1Nlc3Npb25Sb3V0aW5nQXJiaXRyYXRvcjo6cHJv
Y2Vzc0RpZFRlcm1pbmF0ZSgpCiB7Ci0gICAgaWYgKFNoYXJlZFJvdXRpbmdBcmJpdHJhdG9yOjpz
aGFyZWRJbnN0YW5jZSgpLmlzSW5Sb3V0aW5nQXJiaXRyYXRpb25Gb3JUb2tlbihtX3Rva2VuKSkK
LSAgICAgICAgbGVhdmVSb3V0aW5nQWJyaXRyYXRpb24oKTsKKyAgICBsZWF2ZVJvdXRpbmdBYnJp
dHJhdGlvbigpOwogfQogCiB2b2lkIExvY2FsQXVkaW9TZXNzaW9uUm91dGluZ0FyYml0cmF0b3I6
OmJlZ2luUm91dGluZ0FyYml0cmF0aW9uV2l0aENhdGVnb3J5KEF1ZGlvU2Vzc2lvbjo6Q2F0ZWdv
cnlUeXBlIGNhdGVnb3J5LCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFJvdXRpbmdBcmJpdHJhdGlv
bkVycm9yLCBEZWZhdWx0Um91dGVDaGFuZ2VkKT4mJiBjYWxsYmFjaykKIHsKLSAgICBtX2NhdGVn
b3J5ID0gY2F0ZWdvcnk7Ci0gICAgbV9hcmJpdHJhdGlvblN0YXR1cyA9IEFyYml0cmF0aW9uU3Rh
dHVzOjpQZW5kaW5nOwotICAgIG1fYXJiaXRyYXRpb25VcGRhdGVUaW1lID0gV2FsbFRpbWU6Om5v
dygpOwotCi0gICAgU2hhcmVkUm91dGluZ0FyYml0cmF0b3I6OnNoYXJlZEluc3RhbmNlKCkuYmVn
aW5Sb3V0aW5nQXJiaXRyYXRpb25Gb3JUb2tlbihtX3Rva2VuLCBjYXRlZ29yeSwgW3dlYWtUaGlz
ID0gbWFrZVdlYWtQdHIoKnRoaXMpLCBjYWxsYmFjayA9IFdURk1vdmUoY2FsbGJhY2spXSAoUm91
dGluZ0FyYml0cmF0aW9uRXJyb3IgZXJyb3IsIERlZmF1bHRSb3V0ZUNoYW5nZWQgcm91dGVDaGFu
Z2VkKSBtdXRhYmxlIHsKLSAgICAgICAgaWYgKHdlYWtUaGlzKQotICAgICAgICAgICAgd2Vha1Ro
aXMtPm1fYXJiaXRyYXRpb25TdGF0dXMgPSBlcnJvciA9PSBSb3V0aW5nQXJiaXRyYXRpb25FcnJv
cjo6Tm9uZSA/IEFyYml0cmF0aW9uU3RhdHVzOjpBY3RpdmUgOiBBcmJpdHJhdGlvblN0YXR1czo6
Tm9uZTsKLSAgICAgICAgY2FsbGJhY2soZXJyb3IsIHJvdXRlQ2hhbmdlZCk7Ci0gICAgfSk7Cisg
ICAgbV9jb25uZWN0aW9uVG9XZWJQcm9jZXNzLmNvbm5lY3Rpb24oKS5zZW5kV2l0aEFzeW5jUmVw
bHkoTWVzc2FnZXM6OkdQVVByb2Nlc3NDb25uZWN0aW9uOjpCZWdpblJvdXRpbmdBcmJpdHJhdGlv
bldpdGhDYXRlZ29yeShjYXRlZ29yeSksIFdURk1vdmUoY2FsbGJhY2spLCAwKTsKIH0KIAogdm9p
ZCBMb2NhbEF1ZGlvU2Vzc2lvblJvdXRpbmdBcmJpdHJhdG9yOjpsZWF2ZVJvdXRpbmdBYnJpdHJh
dGlvbigpCiB7Ci0gICAgU2hhcmVkUm91dGluZ0FyYml0cmF0b3I6OnNoYXJlZEluc3RhbmNlKCku
ZW5kUm91dGluZ0FyYml0cmF0aW9uRm9yVG9rZW4obV90b2tlbik7Ci0gICAgbV9hcmJpdHJhdGlv
blN0YXR1cyA9IEFyYml0cmF0aW9uU3RhdHVzOjpOb25lOworICAgIG1fY29ubmVjdGlvblRvV2Vi
UHJvY2Vzcy5jb25uZWN0aW9uKCkuc2VuZChNZXNzYWdlczo6R1BVUHJvY2Vzc0Nvbm5lY3Rpb246
OkVuZFJvdXRpbmdBcmJpdHJhdGlvbigpLCAwKTsKIH0KIAogfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9HUFVQcm9jZXNzL21hYy9Mb2NhbEF1ZGlvU2Vzc2lvblJvdXRpbmdBcmJpdHJhdG9y
LmggYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWFjL0xvY2FsQXVkaW9TZXNzaW9uUm91dGlu
Z0FyYml0cmF0b3IuaAppbmRleCA5YWIyZGNlNGMwNzE2NmIxYzNhMjcxZGIyMTE0MzgxZjc1N2Mx
MmViLi4wOGNkYjI5MDJiZWFkZTdjOGIyNThkNmNlYjUxYzAzNDE5ZWQ0NzVmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWFjL0xvY2FsQXVkaW9TZXNzaW9uUm91dGluZ0Fy
Yml0cmF0b3IuaAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWFjL0xvY2FsQXVkaW9T
ZXNzaW9uUm91dGluZ0FyYml0cmF0b3IuaApAQCAtMjcsNyArMjcsNyBAQAogCiAjaWYgRU5BQkxF
KFJPVVRJTkdfQVJCSVRSQVRJT04pICYmIEhBVkUoQVZBVURJT19ST1VUSU5HX0FSQklURVIpCiAK
LSNpbmNsdWRlIDxXZWJDb3JlL1NoYXJlZFJvdXRpbmdBcmJpdHJhdG9yLmg+CisjaW5jbHVkZSAi
QXVkaW9TZXNzaW9uUm91dGluZ0FyYml0cmF0b3JQcm94eS5oIgogCiBuYW1lc3BhY2UgV2ViS2l0
IHsKIApAQCAtMzYsMzQgKzM2LDIzIEBAIGNsYXNzIExvY2FsQXVkaW9TZXNzaW9uUm91dGluZ0Fy
Yml0cmF0b3IgZmluYWwKICAgICAsIHB1YmxpYyBDYW5NYWtlV2Vha1B0cjxMb2NhbEF1ZGlvU2Vz
c2lvblJvdXRpbmdBcmJpdHJhdG9yPiB7CiAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAK
LSAgICBmcmllbmQgVW5pcXVlUmVmPExvY2FsQXVkaW9TZXNzaW9uUm91dGluZ0FyYml0cmF0b3I+
IFdURjo6bWFrZVVuaXF1ZVJlZldpdGhvdXRGYXN0TWFsbG9jQ2hlY2s8TG9jYWxBdWRpb1Nlc3Np
b25Sb3V0aW5nQXJiaXRyYXRvcj4oKTsKKyAgICBmcmllbmQgVW5pcXVlUmVmPExvY2FsQXVkaW9T
ZXNzaW9uUm91dGluZ0FyYml0cmF0b3I+IFdURjo6bWFrZVVuaXF1ZVJlZldpdGhvdXRGYXN0TWFs
bG9jQ2hlY2s8TG9jYWxBdWRpb1Nlc3Npb25Sb3V0aW5nQXJiaXRyYXRvcj4oR1BVQ29ubmVjdGlv
blRvV2ViUHJvY2VzcyYpOwogcHVibGljOgotICAgIHN0YXRpYyBVbmlxdWVSZWY8TG9jYWxBdWRp
b1Nlc3Npb25Sb3V0aW5nQXJiaXRyYXRvcj4gY3JlYXRlKCk7CisgICAgc3RhdGljIFVuaXF1ZVJl
ZjxMb2NhbEF1ZGlvU2Vzc2lvblJvdXRpbmdBcmJpdHJhdG9yPiBjcmVhdGUoR1BVQ29ubmVjdGlv
blRvV2ViUHJvY2VzcyYpOwogICAgIHZpcnR1YWwgfkxvY2FsQXVkaW9TZXNzaW9uUm91dGluZ0Fy
Yml0cmF0b3IoKTsKIAogICAgIHVzaW5nIFdlYWtWYWx1ZVR5cGUgPSBXZWJDb3JlOjpBdWRpb1Nl
c3Npb25Sb3V0aW5nQXJiaXRyYXRpb25DbGllbnQ7CiAKLSAgICBlbnVtIGNsYXNzIEFyYml0cmF0
aW9uU3RhdHVzIDogdWludDhfdCB7Ci0gICAgICAgIE5vbmUsCi0gICAgICAgIFBlbmRpbmcsCi0g
ICAgICAgIEFjdGl2ZSwKLSAgICB9OwotCiAgICAgdm9pZCBwcm9jZXNzRGlkVGVybWluYXRlKCk7
Ci0gICAgQXJiaXRyYXRpb25TdGF0dXMgYXJiaXRyYXRpb25TdGF0dXMoKSBjb25zdCB7IHJldHVy
biBtX2FyYml0cmF0aW9uU3RhdHVzOyB9Ci0gICAgV2FsbFRpbWUgYXJiaXRyYXRpb25VcGRhdGVU
aW1lKCkgY29uc3QgeyByZXR1cm4gbV9hcmJpdHJhdGlvblVwZGF0ZVRpbWU7IH0KIAogcHJpdmF0
ZToKLSAgICBMb2NhbEF1ZGlvU2Vzc2lvblJvdXRpbmdBcmJpdHJhdG9yKCk7CisgICAgTG9jYWxB
dWRpb1Nlc3Npb25Sb3V0aW5nQXJiaXRyYXRvcihHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzJik7
CiAKICAgICAvLyBBdWRpb1Nlc3Npb25Sb3V0aW5nQXJiaXRyYXRpb25DbGllbnQKICAgICB2b2lk
IGJlZ2luUm91dGluZ0FyYml0cmF0aW9uV2l0aENhdGVnb3J5KFdlYkNvcmU6OkF1ZGlvU2Vzc2lv
bjo6Q2F0ZWdvcnlUeXBlLCBBcmJpdHJhdGlvbkNhbGxiYWNrJiYpIGZpbmFsOwogICAgIHZvaWQg
bGVhdmVSb3V0aW5nQWJyaXRyYXRpb24oKSBmaW5hbDsKIAotICAgIFVuaXF1ZVJlZjxXZWJDb3Jl
OjpTaGFyZWRSb3V0aW5nQXJiaXRyYXRvcjo6VG9rZW4+IG1fdG9rZW47Ci0gICAgV2ViQ29yZTo6
QXVkaW9TZXNzaW9uOjpDYXRlZ29yeVR5cGUgbV9jYXRlZ29yeSB7IFdlYkNvcmU6OkF1ZGlvU2Vz
c2lvbjo6Q2F0ZWdvcnlUeXBlOjpOb25lIH07Ci0gICAgQXJiaXRyYXRpb25TdGF0dXMgbV9hcmJp
dHJhdGlvblN0YXR1cyB7IEFyYml0cmF0aW9uU3RhdHVzOjpOb25lIH07Ci0gICAgV2FsbFRpbWUg
bV9hcmJpdHJhdGlvblVwZGF0ZVRpbWU7CisgICAgR1BVQ29ubmVjdGlvblRvV2ViUHJvY2VzcyYg
bV9jb25uZWN0aW9uVG9XZWJQcm9jZXNzOwogfTsKIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZUF1ZGlvU2Vzc2lvblByb3h5TWFuYWdlci5oIGIv
U291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90ZUF1ZGlvU2Vzc2lvblByb3h5TWFu
YWdlci5oCmluZGV4IGNlMjdhNjRlMTU4MjQ0NDFkYjhjNWFkMTIzM2Y4MTE4ZWMwM2RlYjQuLjI3
ZjFkMTdiNjNhY2U3ZGZlNDhmZjE4MjI5NGYxOGRlNjIyZWE0YWYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9SZW1vdGVBdWRpb1Nlc3Npb25Qcm94eU1hbmFnZXIu
aAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWVkaWEvUmVtb3RlQXVkaW9TZXNzaW9u
UHJveHlNYW5hZ2VyLmgKQEAgLTUxLDYgKzUxLDcgQEAgcHVibGljOgogCiAgICAgYm9vbCB0cnlU
b1NldEFjdGl2ZUZvclByb2Nlc3MoUmVtb3RlQXVkaW9TZXNzaW9uUHJveHkmLCBib29sKTsKIAor
ICAgIFdlYkNvcmU6OkF1ZGlvU2Vzc2lvbiYgc2Vzc2lvbigpIHsgcmV0dXJuIG1fc2Vzc2lvbjsg
fQogICAgIGNvbnN0IFdlYkNvcmU6OkF1ZGlvU2Vzc2lvbiYgc2Vzc2lvbigpIGNvbnN0IHsgcmV0
dXJuIG1fc2Vzc2lvbjsgfQogCiBwcml2YXRlOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9T
aGFyZWQvbWFjL01lZGlhRm9ybWF0UmVhZGVyL01lZGlhRm9ybWF0UmVhZGVyLmNwcCBiL1NvdXJj
ZS9XZWJLaXQvU2hhcmVkL21hYy9NZWRpYUZvcm1hdFJlYWRlci9NZWRpYUZvcm1hdFJlYWRlci5j
cHAKaW5kZXggMGRlYTA5NmQ5YWEwN2FiYTliNmFkYzM0Yjc0MTdiYjViNWYzNjU4OS4uNWU4Mjdi
NjkxY2IwNGI5NDE5NjNiOTRmZjc1ODZkYzhmMTZkN2RiZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9TaGFyZWQvbWFjL01lZGlhRm9ybWF0UmVhZGVyL01lZGlhRm9ybWF0UmVhZGVyLmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9tYWMvTWVkaWFGb3JtYXRSZWFkZXIvTWVkaWFGb3Jt
YXRSZWFkZXIuY3BwCkBAIC0yMzEsMjMgKzIzMSwyNiBAQCB2b2lkIE1lZGlhRm9ybWF0UmVhZGVy
OjpmaW5pc2hQYXJzaW5nKFJlZjxTb3VyY2VCdWZmZXJQYXJzZXI+JiYgcGFyc2VyKQogCiBPU1N0
YXR1cyBNZWRpYUZvcm1hdFJlYWRlcjo6Y29weVByb3BlcnR5KENGU3RyaW5nUmVmIGtleSwgQ0ZB
bGxvY2F0b3JSZWYgYWxsb2NhdG9yLCB2b2lkKiB2YWx1ZUNvcHkpCiB7CisgICAgaWYgKCFDRkVx
dWFsKGtleSwgUEFMOjpnZXRfTWVkaWFUb29sYm94X2tNVFBsdWdpbkZvcm1hdFJlYWRlclByb3Bl
cnR5X0R1cmF0aW9uKCkpKSB7CisgICAgICAgIEVSUk9SX0xPRyhMT0dJREVOVElGSUVSLCAiYXNr
ZWQgZm9yIHVuc3VwcG9ydGVkIHByb3BlcnR5ICIsIFN0cmluZyhrZXkpKTsKKyAgICAgICAgcmV0
dXJuIGtDTUJhc2VPYmplY3RFcnJvcl9WYWx1ZU5vdEF2YWlsYWJsZTsKKyAgICB9CisKICAgICBM
b2NrZXIgbG9ja2VyIHsgbV9wYXJzZVRyYWNrc0xvY2sgfTsKICAgICBtX3BhcnNlVHJhY2tzQ29u
ZGl0aW9uLndhaXQobV9wYXJzZVRyYWNrc0xvY2ssIFsmXSB7CiAgICAgICAgIGFzc2VydElzSGVs
ZChtX3BhcnNlVHJhY2tzTG9jayk7CiAgICAgICAgIHJldHVybiBtX3BhcnNlVHJhY2tzU3RhdHVz
Lmhhc1ZhbHVlKCk7CiAgICAgfSk7CiAKLSAgICBpZiAoQ0ZFcXVhbChrZXksIFBBTDo6Z2V0X01l
ZGlhVG9vbGJveF9rTVRQbHVnaW5Gb3JtYXRSZWFkZXJQcm9wZXJ0eV9EdXJhdGlvbigpKSkgewot
ICAgICAgICBpZiAobV9kdXJhdGlvbi5pc0luZGVmaW5pdGUoKSkKLSAgICAgICAgICAgIHJldHVy
biBrQ01CYXNlT2JqZWN0RXJyb3JfVmFsdWVOb3RBdmFpbGFibGU7CisgICAgaWYgKG1fZHVyYXRp
b24uaXNJbmRlZmluaXRlKCkpCisgICAgICAgIHJldHVybiBrQ01CYXNlT2JqZWN0RXJyb3JfVmFs
dWVOb3RBdmFpbGFibGU7CiAKLSAgICAgICAgaWYgKGF1dG8gbGVha2VkRHVyYXRpb24gPSBhZG9w
dENGKENNVGltZUNvcHlBc0RpY3Rpb25hcnkoUEFMOjp0b0NNVGltZShtX2R1cmF0aW9uKSwgYWxs
b2NhdG9yKSkubGVha1JlZigpKSB7Ci0gICAgICAgICAgICAqcmVpbnRlcnByZXRfY2FzdDxDRkRp
Y3Rpb25hcnlSZWYqPih2YWx1ZUNvcHkpID0gbGVha2VkRHVyYXRpb247Ci0gICAgICAgICAgICBy
ZXR1cm4gbm9FcnI7Ci0gICAgICAgIH0KKyAgICBpZiAoYXV0byBsZWFrZWREdXJhdGlvbiA9IGFk
b3B0Q0YoQ01UaW1lQ29weUFzRGljdGlvbmFyeShQQUw6OnRvQ01UaW1lKG1fZHVyYXRpb24pLCBh
bGxvY2F0b3IpKS5sZWFrUmVmKCkpIHsKKyAgICAgICAgKnJlaW50ZXJwcmV0X2Nhc3Q8Q0ZEaWN0
aW9uYXJ5UmVmKj4odmFsdWVDb3B5KSA9IGxlYWtlZER1cmF0aW9uOworICAgICAgICByZXR1cm4g
bm9FcnI7CiAgICAgfQogCi0gICAgRVJST1JfTE9HKExPR0lERU5USUZJRVIsICJhc2tlZCBmb3Ig
dW5zdXBwb3J0ZWQgcHJvcGVydHkgIiwgU3RyaW5nKGtleSkpOworICAgIEVSUk9SX0xPRyhMT0dJ
REVOVElGSUVSLCAiQ291bGQgbm90IHJldHJpZXZlIHZhbHVlIGZvciBwcm9wZXJ0eSAiLCBTdHJp
bmcoa2V5KSk7CiAgICAgcmV0dXJuIGtDTUJhc2VPYmplY3RFcnJvcl9WYWx1ZU5vdEF2YWlsYWJs
ZTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9HUFVQcm9j
ZXNzQ29ubmVjdGlvbi5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL0dQVVByb2Nl
c3NDb25uZWN0aW9uLmNwcAppbmRleCA5Y2I4OGUzYjA5ZWY5Yjg2M2I2ODhjODQyNTYzZjQ0ZDRk
YWM4NjIzLi5mYWQzZDNlMjVjMThiOGFlNTBjNzk3OThhMjEwZGQxNDY4YmY3YjliIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL0dQVVByb2Nlc3NDb25uZWN0aW9uLmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL0dQVVByb2Nlc3NDb25uZWN0aW9u
LmNwcApAQCAtMjgsNiArMjgsNyBAQAogCiAjaWYgRU5BQkxFKEdQVV9QUk9DRVNTKQogCisjaW5j
bHVkZSAiQXVkaW9TZXNzaW9uUm91dGluZ0FyYml0cmF0b3IuaCIKICNpbmNsdWRlICJEYXRhUmVm
ZXJlbmNlLmgiCiAjaW5jbHVkZSAiR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzc01lc3NhZ2VzLmgi
CiAjaW5jbHVkZSAiTGliV2ViUlRDQ29kZWNzLmgiCkBAIC0yMzMsNiArMjM0LDI5IEBAIHZvaWQg
R1BVUHJvY2Vzc0Nvbm5lY3Rpb246OmRpZFJlY2VpdmVSZW1vdGVDb21tYW5kKFBsYXRmb3JtTWVk
aWFTZXNzaW9uOjpSZW1vdGVDCiAgICAgUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyOjpzaGFy
ZWRNYW5hZ2VyKCkucHJvY2Vzc0RpZFJlY2VpdmVSZW1vdGVDb250cm9sQ29tbWFuZCh0eXBlLCBh
cmd1bWVudCk7CiB9CiAKKyNpZiBFTkFCTEUoUk9VVElOR19BUkJJVFJBVElPTikKK3ZvaWQgR1BV
UHJvY2Vzc0Nvbm5lY3Rpb246OmJlZ2luUm91dGluZ0FyYml0cmF0aW9uV2l0aENhdGVnb3J5KEF1
ZGlvU2Vzc2lvbjo6Q2F0ZWdvcnlUeXBlIGNhdGVnb3J5LCBBdWRpb1Nlc3Npb25Sb3V0aW5nQXJi
aXRyYXRpb25DbGllbnQ6OkFyYml0cmF0aW9uQ2FsbGJhY2smJiBjYWxsYmFjaykKK3sKKyAgICBp
ZiAoYXV0byogYXJiaXRyYXRvciA9IFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLnN1cHBsZW1lbnQ8
QXVkaW9TZXNzaW9uUm91dGluZ0FyYml0cmF0b3I+KCkpIHsKKyAgICAgICAgYXJiaXRyYXRvci0+
YmVnaW5Sb3V0aW5nQXJiaXRyYXRpb25XaXRoQ2F0ZWdvcnkoY2F0ZWdvcnksIFdURk1vdmUoY2Fs
bGJhY2spKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIEFTU0VSVF9OT1RfUkVBQ0hF
RCgpOworICAgIGNhbGxiYWNrKEF1ZGlvU2Vzc2lvblJvdXRpbmdBcmJpdHJhdGlvbkNsaWVudDo6
Um91dGluZ0FyYml0cmF0aW9uRXJyb3I6OkZhaWxlZCwgQXVkaW9TZXNzaW9uUm91dGluZ0FyYml0
cmF0aW9uQ2xpZW50OjpEZWZhdWx0Um91dGVDaGFuZ2VkOjpObyk7Cit9CisKK3ZvaWQgR1BVUHJv
Y2Vzc0Nvbm5lY3Rpb246OmVuZFJvdXRpbmdBcmJpdHJhdGlvbigpCit7CisgICAgaWYgKGF1dG8q
IGFyYml0cmF0b3IgPSBXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5zdXBwbGVtZW50PEF1ZGlvU2Vz
c2lvblJvdXRpbmdBcmJpdHJhdG9yPigpKSB7CisgICAgICAgIGVuZFJvdXRpbmdBcmJpdHJhdGlv
bigpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7
Cit9CisjZW5kaWYKKwogI2lmIEhBVkUoVklTSUJJTElUWV9QUk9QQUdBVElPTl9WSUVXKQogdm9p
ZCBHUFVQcm9jZXNzQ29ubmVjdGlvbjo6Y3JlYXRlVmlzaWJpbGl0eVByb3BhZ2F0aW9uQ29udGV4
dEZvclBhZ2UoV2ViUGFnZSYgcGFnZSkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9HUFUvR1BVUHJvY2Vzc0Nvbm5lY3Rpb24uaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9HUFUvR1BVUHJvY2Vzc0Nvbm5lY3Rpb24uaAppbmRleCBhMDcwMTc3M2E0YThiZjljOWM3
NWJjYzQxYmMwZWJhODA5YThhZjk0Li5iMzEzMjRiZDA4ZTBjZWI5ZmZlOTQ0Y2NiYWNiMzYzNzI2
NzAxOTkzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL0dQVVByb2Nl
c3NDb25uZWN0aW9uLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9HUFVQcm9j
ZXNzQ29ubmVjdGlvbi5oCkBAIC0zMyw2ICszMyw3IEBACiAjaW5jbHVkZSAiTWVzc2FnZVJlY2Vp
dmVyTWFwLmgiCiAjaW5jbHVkZSAiU2FtcGxlQnVmZmVyRGlzcGxheUxheWVyTWFuYWdlci5oIgog
I2luY2x1ZGUgIlNoYXJlZE1lbW9yeS5oIgorI2luY2x1ZGUgPFdlYkNvcmUvQXVkaW9TZXNzaW9u
Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9QbGF0Zm9ybU1lZGlhU2Vzc2lvbi5oPgogI2luY2x1ZGUg
PHd0Zi9SZWZDb3VudGVkLmg+CiAjaW5jbHVkZSA8d3RmL1dlYWtIYXNoU2V0Lmg+CkBAIC0xMjAs
NiArMTIxLDExIEBAIHByaXZhdGU6CiAKICAgICB2b2lkIGRpZFJlY2VpdmVSZW1vdGVDb21tYW5k
KFdlYkNvcmU6OlBsYXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1vdGVDb250cm9sQ29tbWFuZFR5cGUs
IGNvbnN0IFdlYkNvcmU6OlBsYXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1vdGVDb21tYW5kQXJndW1l
bnQmKTsKIAorI2lmIEVOQUJMRShST1VUSU5HX0FSQklUUkFUSU9OKQorICAgIHZvaWQgYmVnaW5S
b3V0aW5nQXJiaXRyYXRpb25XaXRoQ2F0ZWdvcnkoV2ViQ29yZTo6QXVkaW9TZXNzaW9uOjpDYXRl
Z29yeVR5cGUsIFdlYkNvcmU6OkF1ZGlvU2Vzc2lvblJvdXRpbmdBcmJpdHJhdGlvbkNsaWVudDo6
QXJiaXRyYXRpb25DYWxsYmFjayYmKTsKKyAgICB2b2lkIGVuZFJvdXRpbmdBcmJpdHJhdGlvbigp
OworI2VuZGlmCisKICAgICAvLyBUaGUgY29ubmVjdGlvbiBmcm9tIHRoZSB3ZWIgcHJvY2VzcyB0
byB0aGUgR1BVIHByb2Nlc3MuCiAgICAgUmVmPElQQzo6Q29ubmVjdGlvbj4gbV9jb25uZWN0aW9u
OwogICAgIElQQzo6TWVzc2FnZVJlY2VpdmVyTWFwIG1fbWVzc2FnZVJlY2VpdmVyTWFwOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9HUFVQcm9jZXNzQ29ubmVjdGlv
bi5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvR1BVUHJvY2Vzc0Nv
bm5lY3Rpb24ubWVzc2FnZXMuaW4KaW5kZXggODVhNmZjZDczN2M3NDlkOWZmNDBkYjE4MDFhNjZk
ZGM4YmE0OTVkYi4uM2RhMGU2MWYwYzhhY2E3YjU3YmUxMDZhYjVhOTZkNzgxZWE0ODY2NiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9HUFVQcm9jZXNzQ29ubmVjdGlv
bi5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL0dQVVByb2Nl
c3NDb25uZWN0aW9uLm1lc3NhZ2VzLmluCkBAIC0yNCw2ICsyNCwxMSBAQAogCiBtZXNzYWdlcyAt
PiBHUFVQcm9jZXNzQ29ubmVjdGlvbiBXYW50c0Rpc3BhdGNoTWVzc2FnZSB7CiAgICAgRGlkUmVj
ZWl2ZVJlbW90ZUNvbW1hbmQoZW51bTp1aW50OF90IFdlYkNvcmU6OlBsYXRmb3JtTWVkaWFTZXNz
aW9uOjpSZW1vdGVDb250cm9sQ29tbWFuZFR5cGUgdHlwZSwgc3RydWN0IFdlYkNvcmU6OlBsYXRm
b3JtTWVkaWFTZXNzaW9uOjpSZW1vdGVDb21tYW5kQXJndW1lbnQgYXJndW1lbnQpCisKKyNpZiBF
TkFCTEUoUk9VVElOR19BUkJJVFJBVElPTikKKyAgICBCZWdpblJvdXRpbmdBcmJpdHJhdGlvbldp
dGhDYXRlZ29yeShlbnVtOnVpbnQ4X3QgV2ViQ29yZTo6QXVkaW9TZXNzaW9uOjpDYXRlZ29yeVR5
cGUgY2F0ZWdvcnkpIC0+IChlbnVtOnVpbnQ4X3QgV2ViS2l0OjpBdWRpb1Nlc3Npb25Sb3V0aW5n
QXJiaXRyYXRvclByb3h5OjpSb3V0aW5nQXJiaXRyYXRpb25FcnJvciBlcnJvciwgZW51bTpib29s
IFdlYktpdDo6QXVkaW9TZXNzaW9uUm91dGluZ0FyYml0cmF0b3JQcm94eTo6RGVmYXVsdFJvdXRl
Q2hhbmdlZCBkZWZhdWx0Um91dGVDaGFuZ2VkKSBBc3luYworICAgIEVuZFJvdXRpbmdBcmJpdHJh
dGlvbigpOworI2VuZGlmCiB9CiAKICNlbmRpZiAvLyBFTkFCTEUoR1BVX1BST0NFU1MpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvQXVkaW9TZXNzaW9uUm91dGlu
Z0FyYml0cmF0b3IuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL0F1ZGlvU2Vz
c2lvblJvdXRpbmdBcmJpdHJhdG9yLmNwcAppbmRleCA5Njk4OWU3YTdmNjFhMWQ4Y2ZkYmY1YjA4
Y2JmZDdhZTdmMGYzNzczLi43ZWVkMzlkYjg3ZDViNWFhZTUxODU1ODllOWIxZmUyMzgwYWFhOTIx
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvQXVkaW9TZXNzaW9u
Um91dGluZ0FyYml0cmF0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2Nv
YS9BdWRpb1Nlc3Npb25Sb3V0aW5nQXJiaXRyYXRvci5jcHAKQEAgLTM5LDggKzM5LDkgQEAgdXNp
bmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKIEF1ZGlvU2Vzc2lvblJvdXRpbmdBcmJpdHJhdG9yOjpB
dWRpb1Nlc3Npb25Sb3V0aW5nQXJiaXRyYXRvcihXZWJQcm9jZXNzJiBwcm9jZXNzKQogICAgIDog
bV9wcm9jZXNzKHByb2Nlc3MpCisgICAgLCBtX29ic2VydmVyKFt0aGlzXSAoQXVkaW9TZXNzaW9u
JiBzZXNzaW9uKSB7IHNlc3Npb24uc2V0Um91dGluZ0FyYml0cmF0aW9uQ2xpZW50KG1ha2VXZWFr
UHRyKHRoaXMpKTsgfSkKIHsKLSAgICBBdWRpb1Nlc3Npb246OnNoYXJlZFNlc3Npb24oKS5zZXRS
b3V0aW5nQXJiaXRyYXRpb25DbGllbnQobWFrZVdlYWtQdHIodGhpcykpOworICAgIEF1ZGlvU2Vz
c2lvbjo6YWRkQXVkaW9TZXNzaW9uQ2hhbmdlZE9ic2VydmVyKG1fb2JzZXJ2ZXIpOwogfQogCiBB
dWRpb1Nlc3Npb25Sb3V0aW5nQXJiaXRyYXRvcjo6fkF1ZGlvU2Vzc2lvblJvdXRpbmdBcmJpdHJh
dG9yKCkgPSBkZWZhdWx0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2Nv
Y29hL0F1ZGlvU2Vzc2lvblJvdXRpbmdBcmJpdHJhdG9yLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvY29jb2EvQXVkaW9TZXNzaW9uUm91dGluZ0FyYml0cmF0b3IuaAppbmRleCBjNTYwYWI1
NjY0MWJiNWI3NDgwNzZlYmVhNTNmNGUwOTRkNzkyZTdmLi5mMWQ1NzIzMmZhZDI5M2ZiOGExZGU3
ZTBlNDBiMjQwZjIwY2NhYTM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
Y29jb2EvQXVkaW9TZXNzaW9uUm91dGluZ0FyYml0cmF0b3IuaAorKysgYi9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvY29jb2EvQXVkaW9TZXNzaW9uUm91dGluZ0FyYml0cmF0b3IuaApAQCAtNDgs
MTIgKzQ4LDEzIEBAIHB1YmxpYzoKIAogICAgIHVzaW5nIFdlYWtWYWx1ZVR5cGUgPSBXZWJDb3Jl
OjpBdWRpb1Nlc3Npb25Sb3V0aW5nQXJiaXRyYXRpb25DbGllbnQ7CiAKLXByaXZhdGU6CiAgICAg
Ly8gQXVkaW9TZXNzaW9uUm91dGluZ0Ficml0cmF0b3IKICAgICB2b2lkIGJlZ2luUm91dGluZ0Fy
Yml0cmF0aW9uV2l0aENhdGVnb3J5KFdlYkNvcmU6OkF1ZGlvU2Vzc2lvbjo6Q2F0ZWdvcnlUeXBl
LCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFJvdXRpbmdBcmJpdHJhdGlvbkVycm9yLCBEZWZhdWx0
Um91dGVDaGFuZ2VkKT4mJikgZmluYWw7CiAgICAgdm9pZCBsZWF2ZVJvdXRpbmdBYnJpdHJhdGlv
bigpIGZpbmFsOwogCitwcml2YXRlOgogICAgIFdlYlByb2Nlc3MmIG1fcHJvY2VzczsKKyAgICBX
ZWJDb3JlOjpBdWRpb1Nlc3Npb246OkNoYW5nZWRPYnNlcnZlciBtX29ic2VydmVyOwogfTsKIAog
fQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>430366</attachid>
            <date>2021-06-02 09:01:33 -0700</date>
            <delta_ts>2021-06-02 10:44:04 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-226104-20210602090132.patch</filename>
            <type>text/plain</type>
            <size>20402</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc4MzIzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODJiM2Q3MDQ1YzNhYzQ1
YTgyMDAzOWJiMDYxNWQ0ODQxZmU3ZjM5Yy4uZmIyZTJiNjNmMDE1NjYyMGVhMzEwMGE1NzQ3MGE0
MjFmYWMxOTBlMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDIxLTA1LTIxICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIFJFR1JFU1NJT04ocjI3Njk5
Myk6IDUgVGVzdFdlYktpdEFQSS5BdWRpb1JvdXRpbmdBcmJpdHJhdGlvbiAoYXBpLXRlc3RzKSBh
cmUgY29uc3RhbnQgZmFpbHVyZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIyNjEwNAorICAgICAgICA8cmRhcjovLzc3OTk4MDQ5PgorCisgICAgICAg
IFJldmlld2VkIGJ5IEVyaWMgQ2FybHNvbi4KKworICAgICAgICBBZGQgYSBtZWNoYW5pc20gZm9y
IGEgY2xpZW50IHRvIHdhaXQgdW50aWwgYW4gQXVkaW9TZXNzaW9uIGlzIGNyZWF0ZWQgb3IgY2hh
bmdlZCBiZWZvcmUgdGFraW5nCisgICAgICAgIGFuIGFjdGlvbi4KKworICAgICAgICAqIHBsYXRm
b3JtL2F1ZGlvL0F1ZGlvU2Vzc2lvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjphdWRpb1Nlc3Np
b25DaGFuZ2VkT2JzZXJ2ZXJzKToKKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvU2Vzc2lvbjo6c2hh
cmVkU2Vzc2lvbik6CisgICAgICAgIChXZWJDb3JlOjpBdWRpb1Nlc3Npb246OnNldFNoYXJlZFNl
c3Npb24pOgorICAgICAgICAoV2ViQ29yZTo6QXVkaW9TZXNzaW9uOjphZGRBdWRpb1Nlc3Npb25D
aGFuZ2VkT2JzZXJ2ZXIpOgorICAgICAgICAqIHBsYXRmb3JtL2F1ZGlvL0F1ZGlvU2Vzc2lvbi5o
OgorCiAyMDIxLTA1LTIwICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgogCiAgICAg
ICAgIFtDb2NvYV0gTGFzdCBmZXcgc2Vjb25kcyBvZiAnYXVkaW8vd2VibTsgY29kZWNzPXZvcmJp
cycgYXBwZW5kZWQgdG8gYSBTYW1wbGVCdWZmZXIgYXJlIG5vdCBwbGF5ZWQKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXgg
NzkyMzBiNGExMmE0Yzg1ZDdmYmUwODg3NDJhZTI5M2VlYmEwNDhjNC4uYWE4M2VmMzFhY2E5NmUy
Yjg0YzNhZDYwYzkyYmFlNGE1NTcxMTViYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSw1MiBAQAorMjAy
MS0wNS0yMSAgSmVyIE5vYmxlICA8amVyLm5vYmxlQGFwcGxlLmNvbT4KKworICAgICAgICBSRUdS
RVNTSU9OKHIyNzY5OTMpOiA1IFRlc3RXZWJLaXRBUEkuQXVkaW9Sb3V0aW5nQXJiaXRyYXRpb24g
KGFwaS10ZXN0cykgYXJlIGNvbnN0YW50IGZhaWx1cmVzCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjYxMDQKKyAgICAgICAgPHJkYXI6Ly83Nzk5ODA0
OT4KKworICAgICAgICBSZXZpZXdlZCBieSBFcmljIENhcmxzb24uCisKKyAgICAgICAgSW4gcjI3
Njk5MywgQXVkaW9TZXNzaW9uUm91dGluZ0FyYml0cmF0aW9uIHdhcyBtb3ZlZCBmcm9tIGJlaW5n
IGluaXRpYXRlZCBpbiB0aGUgV2ViQ29udGVudCBwcm9jZXNzCisgICAgICAgIGFuZCBkaXNwYXRj
aGVkIHRvIHRoZSBVSVByb2Nlc3MsIHRvIGJlaW5nIGRpc3BhdGNoZWQgdG8gdGhlIEdQVSBwcm9j
ZXNzLiBIb3dldmVyIHR3byBwcm9ibGVtcyBvY2N1cnJlZDoKKworICAgICAgICAxKSBUaGUgVUlQ
cm9jZXNzIG5vIGxvbmdlciBrbm93cyBhYm91dCByb3V0aW5nIGFyYml0cmF0aW9uLCB3aGljaCBp
cyByZWFzb25hYmxlIGZvciB0aGUgZmVhdHVyZSwgYnV0CisgICAgICAgICAgIGJyZWFrcyBhbiBB
UEkgdGVzdCB0aGF0IHF1ZXJpZXMgYXJiaXRyYXRpb24gc3RhdHVzIGluIHRoZSBVSVByb2Nlc3Mu
CisKKyAgICAgICAgMikgQSBzYW5kYm94IHZpb2xhdGlvbiBjYXVzZXMgcm91dGluZyBhcmJpdHJh
dGlvbiB0byBmYWlsIGluIHRoZSBHUFUgcHJvY2VzcyByZWdhcmRsZXNzLgorCisgICAgICAgIFdl
IGNvdWxkIG9wZW4gdXAgdGhlIHNhbmRib3ggdG8gYWxsb3cgcm91dGluZyBhcmJpdHJhdGlvbiB0
byBzdWNjZWVkIChhbmQgY29tZSB1cCB3aXRoIGEgd2F5IHRvIHB1c2gKKyAgICAgICAgc3RhdGUg
Y2hhbmdlcyB1cCB0byB0aGUgVUlQcm9jZXNzIGZvciB0ZXN0aW5nIHB1cnBvc2VzKSwgYnV0IGl0
J3Mgbm90IHRlY2huaWNhbGx5IG5lY2Vzc2FyeSBmb3IKKyAgICAgICAgYXJiaXRyYXRpb24gdG8g
b2NjdXIgdGhlcmUuIEluc3RlYWQsIGp1c3QgcmV2ZXJ0IHRvIHRoZSBzdGF0dXMtcXVvLWFudGUg
YmVoYXZpb3Igb2YgaGF2aW5nIGFyYml0cmF0aW9uCisgICAgICAgIHRha2UgcGxhY2UgaW4gdGhl
IFVJUHJvY2VzcywgYW5kIGp1c3QgYWRkIGEgbmV3IHNldCBvZiBtZXNzYWdlcyBmcm9tIHRoZSBH
UFVDb25ub2N0aW9uVG9XZWJQcm9jZXNzIHRvCisgICAgICAgIHRoZSBHUFVQcm9jZXNzQ29ubmVj
dGlvbiB0byBmYWNpbGl0YXRlIGFyYml0cmF0aW9uLgorCisgICAgICAgIERyaXZlLWJ5IGZpeDog
QXVkaW9TZXNzaW9uUm91dGluZ0FyYml0cmF0b3IgaXMgYSBzdXBwbGVtZW50IHRvIFdlYlByb2Nl
c3MsIGFuZCBhcyBzdWNoIGl0J3MgY3JlYXRlZAorICAgICAgICBhdCBXZWJQcm9jZXNzIGNyZWF0
aW9uIHRpbWUuIEhvd2V2ZXIsIGl0IGFsc28gY2F1c2VzIGFuIEF1ZGlvU2Vzc2lvbiB0byBiZSBj
cmVhdGVkIGJ5IGF0dGVtcHRpbmcgdG8KKyAgICAgICAgYWRkIGl0c2VsZiBhcyBhIGNsaWVudC4g
VGhpcyBpcyBiYWQgb24gaU9TLCB3aGVyZSBpdCBjb3VsZCBjYXVzZSBoYW5ncyBkdWUgdG8gQVZB
dWRpb1Nlc3Npb24gY2FsbHMuCisgICAgICAgIFNvLCBhZGQgYSBtZWNoYW5pc20gdG8gYmUgbm90
aWZpZWQgd2hlbiBhbiBBdWRpb1Nlc3Npb24gZXZlbnR1YWxseSBkb2VzIGdldCBjcmVhdGVkLCBh
bmQgYWRkIHRoZQorICAgICAgICBhcmJpdHJhdG9yIGFzIGEgY2xpZW50IHRoZW4uCisKKyAgICAg
ICAgKiBHUFVQcm9jZXNzL0dQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuY3BwOgorICAgICAgICAo
V2ViS2l0OjpHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjpHUFVDb25uZWN0aW9uVG9XZWJQcm9j
ZXNzKToKKyAgICAgICAgKiBHUFVQcm9jZXNzL21hYy9Mb2NhbEF1ZGlvU2Vzc2lvblJvdXRpbmdB
cmJpdHJhdG9yLmNwcDoKKyAgICAgICAgKFdlYktpdDo6TG9jYWxBdWRpb1Nlc3Npb25Sb3V0aW5n
QXJiaXRyYXRvcjo6Y3JlYXRlKToKKyAgICAgICAgKFdlYktpdDo6TG9jYWxBdWRpb1Nlc3Npb25S
b3V0aW5nQXJiaXRyYXRvcjo6TG9jYWxBdWRpb1Nlc3Npb25Sb3V0aW5nQXJiaXRyYXRvcik6Cisg
ICAgICAgIChXZWJLaXQ6OkxvY2FsQXVkaW9TZXNzaW9uUm91dGluZ0FyYml0cmF0b3I6OnByb2Nl
c3NEaWRUZXJtaW5hdGUpOgorICAgICAgICAoV2ViS2l0OjpMb2NhbEF1ZGlvU2Vzc2lvblJvdXRp
bmdBcmJpdHJhdG9yOjpiZWdpblJvdXRpbmdBcmJpdHJhdGlvbldpdGhDYXRlZ29yeSk6CisgICAg
ICAgIChXZWJLaXQ6OkxvY2FsQXVkaW9TZXNzaW9uUm91dGluZ0FyYml0cmF0b3I6OmxlYXZlUm91
dGluZ0Ficml0cmF0aW9uKToKKyAgICAgICAgKiBHUFVQcm9jZXNzL21hYy9Mb2NhbEF1ZGlvU2Vz
c2lvblJvdXRpbmdBcmJpdHJhdG9yLmg6CisgICAgICAgICogR1BVUHJvY2Vzcy9tZWRpYS9SZW1v
dGVBdWRpb1Nlc3Npb25Qcm94eU1hbmFnZXIuaDoKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlQXVk
aW9TZXNzaW9uUHJveHlNYW5hZ2VyOjpzZXNzaW9uKToKKyAgICAgICAgKiBVSVByb2Nlc3MvR1BV
L0dQVVByb2Nlc3NQcm94eS5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvR1BVL0dQVVByb2Nlc3ND
b25uZWN0aW9uLmNwcDoKKyAgICAgICAgKFdlYktpdDo6R1BVUHJvY2Vzc0Nvbm5lY3Rpb246OmJl
Z2luUm91dGluZ0FyYml0cmF0aW9uV2l0aENhdGVnb3J5KToKKyAgICAgICAgKFdlYktpdDo6R1BV
UHJvY2Vzc0Nvbm5lY3Rpb246OmVuZFJvdXRpbmdBcmJpdHJhdGlvbik6CisgICAgICAgICogV2Vi
UHJvY2Vzcy9HUFUvR1BVUHJvY2Vzc0Nvbm5lY3Rpb24uaDoKKyAgICAgICAgKiBXZWJQcm9jZXNz
L0dQVS9HUFVQcm9jZXNzQ29ubmVjdGlvbi5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBXZWJQcm9j
ZXNzL2NvY29hL0F1ZGlvU2Vzc2lvblJvdXRpbmdBcmJpdHJhdG9yLmNwcDoKKyAgICAgICAgKFdl
YktpdDo6QXVkaW9TZXNzaW9uUm91dGluZ0FyYml0cmF0b3I6OkF1ZGlvU2Vzc2lvblJvdXRpbmdB
cmJpdHJhdG9yKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL2NvY29hL0F1ZGlvU2Vzc2lvblJvdXRp
bmdBcmJpdHJhdG9yLmg6CisKIDIwMjEtMDYtMDEgIEplciBOb2JsZSAgPGplci5ub2JsZUBhcHBs
ZS5jb20+CiAKICAgICAgICAgW0NvY29hXSBNYWtlIHRoZSBob3N0VGltZSBwYXJhbWV0ZXIgdG8g
cGxheVNlc3Npb24gYSBNb25vdG9uaWMgdGltZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vYXVkaW8vQXVkaW9TZXNzaW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2F1ZGlvL0F1ZGlvU2Vzc2lvbi5jcHAKaW5kZXggNWY2MTY5ZTcxN2ZhZjYzNTk2NjkxMDRmNzgy
MDZmNWZkMjU0MjU3My4uMmZmMmI3MDFiMmYyNjdmMTRhYTc5MTMyNzgxNTZjM2I5YjIxY2NlNCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9TZXNzaW9uLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb1Nlc3Npb24uY3BwCkBA
IC00Nyw2ICs0NywxMiBAQCBzdGF0aWMgc3RkOjpvcHRpb25hbDxVbmlxdWVSZWY8QXVkaW9TZXNz
aW9uPj4mIHNoYXJlZEF1ZGlvU2Vzc2lvbigpCiAgICAgcmV0dXJuIHNlc3Npb24uZ2V0KCk7CiB9
CiAKK3N0YXRpYyBXZWFrSGFzaFNldDxBdWRpb1Nlc3Npb246OkNoYW5nZWRPYnNlcnZlcj4mIGF1
ZGlvU2Vzc2lvbkNoYW5nZWRPYnNlcnZlcnMoKQoreworICAgIHN0YXRpYyBOZXZlckRlc3Ryb3ll
ZDxXZWFrSGFzaFNldDxBdWRpb1Nlc3Npb246OkNoYW5nZWRPYnNlcnZlcj4+IG9ic2VydmVyczsK
KyAgICByZXR1cm4gb2JzZXJ2ZXJzOworfQorCiBVbmlxdWVSZWY8QXVkaW9TZXNzaW9uPiBBdWRp
b1Nlc3Npb246OmNyZWF0ZSgpCiB7CiAjaWYgUExBVEZPUk0oTUFDKQpAQCAtNjQsMTMgKzcwLDI2
IEBAIEF1ZGlvU2Vzc2lvbjo6fkF1ZGlvU2Vzc2lvbigpID0gZGVmYXVsdDsKIEF1ZGlvU2Vzc2lv
biYgQXVkaW9TZXNzaW9uOjpzaGFyZWRTZXNzaW9uKCkKIHsKICAgICBpZiAoIXNoYXJlZEF1ZGlv
U2Vzc2lvbigpKQotICAgICAgICBzaGFyZWRBdWRpb1Nlc3Npb24oKSA9IEF1ZGlvU2Vzc2lvbjo6
Y3JlYXRlKCk7CisgICAgICAgIHNldFNoYXJlZFNlc3Npb24oQXVkaW9TZXNzaW9uOjpjcmVhdGUo
KSk7CiAgICAgcmV0dXJuICpzaGFyZWRBdWRpb1Nlc3Npb24oKTsKIH0KIAogdm9pZCBBdWRpb1Nl
c3Npb246OnNldFNoYXJlZFNlc3Npb24oVW5pcXVlUmVmPEF1ZGlvU2Vzc2lvbj4mJiBzZXNzaW9u
KQogewogICAgIHNoYXJlZEF1ZGlvU2Vzc2lvbigpID0gV1RGTW92ZShzZXNzaW9uKTsKKworICAg
IGF1ZGlvU2Vzc2lvbkNoYW5nZWRPYnNlcnZlcnMoKS5mb3JFYWNoKFtdIChhdXRvJiBvYnNlcnZl
cikgeworICAgICAgICBvYnNlcnZlcigqc2hhcmVkQXVkaW9TZXNzaW9uKCkpOworICAgIH0pOwor
fQorCit2b2lkIEF1ZGlvU2Vzc2lvbjo6YWRkQXVkaW9TZXNzaW9uQ2hhbmdlZE9ic2VydmVyKGNv
bnN0IENoYW5nZWRPYnNlcnZlciYgb2JzZXJ2ZXIpCit7CisgICAgQVNTRVJUKCFhdWRpb1Nlc3Np
b25DaGFuZ2VkT2JzZXJ2ZXJzKCkuY29udGFpbnMob2JzZXJ2ZXIpKTsKKyAgICBhdWRpb1Nlc3Np
b25DaGFuZ2VkT2JzZXJ2ZXJzKCkuYWRkKG9ic2VydmVyKTsKKworICAgIGlmIChzaGFyZWRBdWRp
b1Nlc3Npb24oKSkKKyAgICAgICAgb2JzZXJ2ZXIoKnNoYXJlZEF1ZGlvU2Vzc2lvbigpKTsKIH0K
IAogYm9vbCBBdWRpb1Nlc3Npb246OnRyeVRvU2V0QWN0aXZlKGJvb2wgYWN0aXZlKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9TZXNzaW9uLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb1Nlc3Npb24uaAppbmRleCBhOTQ3N2UxZDAx
NzE2YTE0OTM3MmExMjU0OGFjYmJhYzg1OTk3NTljLi42ODMxOTIxYWRkMmEwYzlmYTU2ZGEyYjgz
NTJjYWE1NDAzMzdiZWRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRp
by9BdWRpb1Nlc3Npb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRp
b1Nlc3Npb24uaApAQCAtMzIsNiArMzIsNyBAQAogI2luY2x1ZGUgPHd0Zi9FbnVtVHJhaXRzLmg+
CiAjaW5jbHVkZSA8d3RmL05ldmVyRGVzdHJveWVkLmg+CiAjaW5jbHVkZSA8d3RmL05vbmNvcHlh
YmxlLmg+CisjaW5jbHVkZSA8d3RmL09ic2VydmVyLmg+CiAjaW5jbHVkZSA8d3RmL1VuaXF1ZVJl
Zi5oPgogI2luY2x1ZGUgPHd0Zi9XZWFrSGFzaFNldC5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dU
RlN0cmluZy5oPgpAQCAtNTYsNiArNTcsMTAgQEAgcHVibGljOgogICAgIHN0YXRpYyBVbmlxdWVS
ZWY8QXVkaW9TZXNzaW9uPiBjcmVhdGUoKTsKICAgICBzdGF0aWMgdm9pZCBzZXRTaGFyZWRTZXNz
aW9uKFVuaXF1ZVJlZjxBdWRpb1Nlc3Npb24+JiYpOwogICAgIHN0YXRpYyBBdWRpb1Nlc3Npb24m
IHNoYXJlZFNlc3Npb24oKTsKKworICAgIHVzaW5nIENoYW5nZWRPYnNlcnZlciA9IFdURjo6T2Jz
ZXJ2ZXI8dm9pZChBdWRpb1Nlc3Npb24mKT47CisgICAgc3RhdGljIHZvaWQgYWRkQXVkaW9TZXNz
aW9uQ2hhbmdlZE9ic2VydmVyKGNvbnN0IENoYW5nZWRPYnNlcnZlciYpOworCiAgICAgdmlydHVh
bCB+QXVkaW9TZXNzaW9uKCk7CiAKICAgICBlbnVtIGNsYXNzIENhdGVnb3J5VHlwZSA6IHVpbnQ4
X3QgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9X
ZWJLaXQvQ01ha2VMaXN0cy50eHQKaW5kZXggZGJiYjBjYTMyNmI2ZTZjMjAwMDU0MWNkZWQ1MWZi
Mzg5OWRlYzRkOC4uZjYzMTI4Mzg1OWI4NzdiZDk2ODg2NzEyODkwODBjYTI5NTE3MTM3YSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViS2l0
L0NNYWtlTGlzdHMudHh0CkBAIC01OCw2ICs1OCw3IEBAIHNldChXZWJLaXRfSU5DTFVERV9ESVJF
Q1RPUklFUwogICAgICIke1dFQktJVF9ESVJ9L1VJUHJvY2Vzcy9JbnNwZWN0b3IiCiAgICAgIiR7
V0VCS0lUX0RJUn0vVUlQcm9jZXNzL0luc3BlY3Rvci9BZ2VudHMiCiAgICAgIiR7V0VCS0lUX0RJ
Un0vVUlQcm9jZXNzL0xhdW5jaGVyIgorICAgICIke1dFQktJVF9ESVJ9L1VJUHJvY2Vzcy9NZWRp
YSIKICAgICAiJHtXRUJLSVRfRElSfS9VSVByb2Nlc3MvTmV0d29yayIKICAgICAiJHtXRUJLSVRf
RElSfS9VSVByb2Nlc3MvTmV0d29yay9DdXN0b21Qcm90b2NvbHMiCiAgICAgIiR7V0VCS0lUX0RJ
Un0vVUlQcm9jZXNzL05vdGlmaWNhdGlvbnMiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQ
VVByb2Nlc3MvR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5jcHAgYi9Tb3VyY2UvV2ViS2l0L0dQ
VVByb2Nlc3MvR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5jcHAKaW5kZXggNmIyMTE3OTQ1MDNl
Y2MxOTQ4ZDlmMjE2MWEyNjhlNzg2MmYyZTI1OS4uMmQ1NjdjYWRlOGViZTdjNGZjMTM0MTFhNTEx
ZTcxMzY1ZjI2MGVlMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVUNv
bm5lY3Rpb25Ub1dlYlByb2Nlc3MuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9H
UFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmNwcApAQCAtMjA2LDExICsyMDYsMTUgQEAgR1BVQ29u
bmVjdGlvblRvV2ViUHJvY2Vzczo6R1BVQ29ubmVjdGlvblRvV2ViUHJvY2VzcyhHUFVQcm9jZXNz
JiBncHVQcm9jZXNzLCBXZWIKICAgICAsIG1fc2FtcGxlQnVmZmVyRGlzcGxheUxheWVyTWFuYWdl
cihSZW1vdGVTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXJNYW5hZ2VyOjpjcmVhdGUoKnRoaXMpKQog
I2VuZGlmCiAjaWYgRU5BQkxFKFJPVVRJTkdfQVJCSVRSQVRJT04pICYmIEhBVkUoQVZBVURJT19S
T1VUSU5HX0FSQklURVIpCi0gICAgLCBtX3JvdXRpbmdBcmJpdHJhdG9yKExvY2FsQXVkaW9TZXNz
aW9uUm91dGluZ0FyYml0cmF0b3I6OmNyZWF0ZSgpKQorICAgICwgbV9yb3V0aW5nQXJiaXRyYXRv
cihMb2NhbEF1ZGlvU2Vzc2lvblJvdXRpbmdBcmJpdHJhdG9yOjpjcmVhdGUoKnRoaXMpKQogI2Vu
ZGlmCiB7CiAgICAgUkVMRUFTRV9BU1NFUlQoUnVuTG9vcDo6aXNNYWluKCkpOwogCisjaWYgRU5B
QkxFKFJPVVRJTkdfQVJCSVRSQVRJT04pICYmIEhBVkUoQVZBVURJT19ST1VUSU5HX0FSQklURVIp
CisgICAgZ3B1UHJvY2Vzcy5hdWRpb1Nlc3Npb25NYW5hZ2VyKCkuc2Vzc2lvbigpLnNldFJvdXRp
bmdBcmJpdHJhdGlvbkNsaWVudChtYWtlV2Vha1B0cihtX3JvdXRpbmdBcmJpdHJhdG9yLmdldCgp
KSk7CisjZW5kaWYKKwogICAgIGlmICghcGFyYW1ldGVycy5vdmVycmlkZUxhbmd1YWdlcy5pc0Vt
cHR5KCkpCiAgICAgICAgIG92ZXJyaWRlVXNlclByZWZlcnJlZExhbmd1YWdlcyhwYXJhbWV0ZXJz
Lm92ZXJyaWRlTGFuZ3VhZ2VzKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9j
ZXNzL21hYy9Mb2NhbEF1ZGlvU2Vzc2lvblJvdXRpbmdBcmJpdHJhdG9yLmNwcCBiL1NvdXJjZS9X
ZWJLaXQvR1BVUHJvY2Vzcy9tYWMvTG9jYWxBdWRpb1Nlc3Npb25Sb3V0aW5nQXJiaXRyYXRvci5j
cHAKaW5kZXggOTViYzRjY2M2NDQxNTNkMDk1YzNmY2E4MGZiYTZjMGEzNzlhMDdlNS4uN2U1ZWRm
ZWQ5ODAxNWE0YTQ0MzA5ODdkMmZhN2M3OWYzMTYwOTkzZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9HUFVQcm9jZXNzL21hYy9Mb2NhbEF1ZGlvU2Vzc2lvblJvdXRpbmdBcmJpdHJhdG9yLmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWFjL0xvY2FsQXVkaW9TZXNzaW9uUm91
dGluZ0FyYml0cmF0b3IuY3BwCkBAIC0yNiwxOSArMjYsMjIgQEAKICNpbmNsdWRlICJjb25maWcu
aCIKICNpbmNsdWRlICJMb2NhbEF1ZGlvU2Vzc2lvblJvdXRpbmdBcmJpdHJhdG9yLmgiCiAKKyNp
bmNsdWRlICJHUFVQcm9jZXNzLmgiCisjaW5jbHVkZSAiR1BVUHJvY2Vzc0Nvbm5lY3Rpb25NZXNz
YWdlcy5oIgorCiAjaWYgRU5BQkxFKFJPVVRJTkdfQVJCSVRSQVRJT04pICYmIEhBVkUoQVZBVURJ
T19ST1VUSU5HX0FSQklURVIpCiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCiB1c2luZyBuYW1lc3Bh
Y2UgV2ViQ29yZTsKIAotVW5pcXVlUmVmPExvY2FsQXVkaW9TZXNzaW9uUm91dGluZ0FyYml0cmF0
b3I+IExvY2FsQXVkaW9TZXNzaW9uUm91dGluZ0FyYml0cmF0b3I6OmNyZWF0ZSgpCitVbmlxdWVS
ZWY8TG9jYWxBdWRpb1Nlc3Npb25Sb3V0aW5nQXJiaXRyYXRvcj4gTG9jYWxBdWRpb1Nlc3Npb25S
b3V0aW5nQXJiaXRyYXRvcjo6Y3JlYXRlKEdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MmIGdwdUNv
bm5lY3Rpb25Ub1dlYlByb2Nlc3MpCiB7Ci0gICAgcmV0dXJuIG1ha2VVbmlxdWVSZWY8TG9jYWxB
dWRpb1Nlc3Npb25Sb3V0aW5nQXJiaXRyYXRvcj4oKTsKKyAgICByZXR1cm4gbWFrZVVuaXF1ZVJl
ZjxMb2NhbEF1ZGlvU2Vzc2lvblJvdXRpbmdBcmJpdHJhdG9yPihncHVDb25uZWN0aW9uVG9XZWJQ
cm9jZXNzKTsKIH0KIAotTG9jYWxBdWRpb1Nlc3Npb25Sb3V0aW5nQXJiaXRyYXRvcjo6TG9jYWxB
dWRpb1Nlc3Npb25Sb3V0aW5nQXJiaXRyYXRvcigpCi0gICAgOiBtX3Rva2VuKFNoYXJlZFJvdXRp
bmdBcmJpdHJhdG9yOjpUb2tlbjo6Y3JlYXRlKCkpCitMb2NhbEF1ZGlvU2Vzc2lvblJvdXRpbmdB
cmJpdHJhdG9yOjpMb2NhbEF1ZGlvU2Vzc2lvblJvdXRpbmdBcmJpdHJhdG9yKEdQVUNvbm5lY3Rp
b25Ub1dlYlByb2Nlc3MmIGdwdUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MpCisgICAgOiBtX2Nvbm5l
Y3Rpb25Ub1dlYlByb2Nlc3MoZ3B1Q29ubmVjdGlvblRvV2ViUHJvY2VzcykKIHsKIH0KIApAQCAt
NDYsMjcgKzQ5LDE3IEBAIExvY2FsQXVkaW9TZXNzaW9uUm91dGluZ0FyYml0cmF0b3I6On5Mb2Nh
bEF1ZGlvU2Vzc2lvblJvdXRpbmdBcmJpdHJhdG9yKCkgPSBkZWZhCiAKIHZvaWQgTG9jYWxBdWRp
b1Nlc3Npb25Sb3V0aW5nQXJiaXRyYXRvcjo6cHJvY2Vzc0RpZFRlcm1pbmF0ZSgpCiB7Ci0gICAg
aWYgKFNoYXJlZFJvdXRpbmdBcmJpdHJhdG9yOjpzaGFyZWRJbnN0YW5jZSgpLmlzSW5Sb3V0aW5n
QXJiaXRyYXRpb25Gb3JUb2tlbihtX3Rva2VuKSkKLSAgICAgICAgbGVhdmVSb3V0aW5nQWJyaXRy
YXRpb24oKTsKKyAgICBsZWF2ZVJvdXRpbmdBYnJpdHJhdGlvbigpOwogfQogCiB2b2lkIExvY2Fs
QXVkaW9TZXNzaW9uUm91dGluZ0FyYml0cmF0b3I6OmJlZ2luUm91dGluZ0FyYml0cmF0aW9uV2l0
aENhdGVnb3J5KEF1ZGlvU2Vzc2lvbjo6Q2F0ZWdvcnlUeXBlIGNhdGVnb3J5LCBDb21wbGV0aW9u
SGFuZGxlcjx2b2lkKFJvdXRpbmdBcmJpdHJhdGlvbkVycm9yLCBEZWZhdWx0Um91dGVDaGFuZ2Vk
KT4mJiBjYWxsYmFjaykKIHsKLSAgICBtX2NhdGVnb3J5ID0gY2F0ZWdvcnk7Ci0gICAgbV9hcmJp
dHJhdGlvblN0YXR1cyA9IEFyYml0cmF0aW9uU3RhdHVzOjpQZW5kaW5nOwotICAgIG1fYXJiaXRy
YXRpb25VcGRhdGVUaW1lID0gV2FsbFRpbWU6Om5vdygpOwotCi0gICAgU2hhcmVkUm91dGluZ0Fy
Yml0cmF0b3I6OnNoYXJlZEluc3RhbmNlKCkuYmVnaW5Sb3V0aW5nQXJiaXRyYXRpb25Gb3JUb2tl
bihtX3Rva2VuLCBjYXRlZ29yeSwgW3dlYWtUaGlzID0gbWFrZVdlYWtQdHIoKnRoaXMpLCBjYWxs
YmFjayA9IFdURk1vdmUoY2FsbGJhY2spXSAoUm91dGluZ0FyYml0cmF0aW9uRXJyb3IgZXJyb3Is
IERlZmF1bHRSb3V0ZUNoYW5nZWQgcm91dGVDaGFuZ2VkKSBtdXRhYmxlIHsKLSAgICAgICAgaWYg
KHdlYWtUaGlzKQotICAgICAgICAgICAgd2Vha1RoaXMtPm1fYXJiaXRyYXRpb25TdGF0dXMgPSBl
cnJvciA9PSBSb3V0aW5nQXJiaXRyYXRpb25FcnJvcjo6Tm9uZSA/IEFyYml0cmF0aW9uU3RhdHVz
OjpBY3RpdmUgOiBBcmJpdHJhdGlvblN0YXR1czo6Tm9uZTsKLSAgICAgICAgY2FsbGJhY2soZXJy
b3IsIHJvdXRlQ2hhbmdlZCk7Ci0gICAgfSk7CisgICAgbV9jb25uZWN0aW9uVG9XZWJQcm9jZXNz
LmNvbm5lY3Rpb24oKS5zZW5kV2l0aEFzeW5jUmVwbHkoTWVzc2FnZXM6OkdQVVByb2Nlc3NDb25u
ZWN0aW9uOjpCZWdpblJvdXRpbmdBcmJpdHJhdGlvbldpdGhDYXRlZ29yeShjYXRlZ29yeSksIFdU
Rk1vdmUoY2FsbGJhY2spLCAwKTsKIH0KIAogdm9pZCBMb2NhbEF1ZGlvU2Vzc2lvblJvdXRpbmdB
cmJpdHJhdG9yOjpsZWF2ZVJvdXRpbmdBYnJpdHJhdGlvbigpCiB7Ci0gICAgU2hhcmVkUm91dGlu
Z0FyYml0cmF0b3I6OnNoYXJlZEluc3RhbmNlKCkuZW5kUm91dGluZ0FyYml0cmF0aW9uRm9yVG9r
ZW4obV90b2tlbik7Ci0gICAgbV9hcmJpdHJhdGlvblN0YXR1cyA9IEFyYml0cmF0aW9uU3RhdHVz
OjpOb25lOworICAgIG1fY29ubmVjdGlvblRvV2ViUHJvY2Vzcy5jb25uZWN0aW9uKCkuc2VuZChN
ZXNzYWdlczo6R1BVUHJvY2Vzc0Nvbm5lY3Rpb246OkVuZFJvdXRpbmdBcmJpdHJhdGlvbigpLCAw
KTsKIH0KIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21hYy9Mb2Nh
bEF1ZGlvU2Vzc2lvblJvdXRpbmdBcmJpdHJhdG9yLmggYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nl
c3MvbWFjL0xvY2FsQXVkaW9TZXNzaW9uUm91dGluZ0FyYml0cmF0b3IuaAppbmRleCA5YWIyZGNl
NGMwNzE2NmIxYzNhMjcxZGIyMTE0MzgxZjc1N2MxMmViLi4wOGNkYjI5MDJiZWFkZTdjOGIyNThk
NmNlYjUxYzAzNDE5ZWQ0NzVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mv
bWFjL0xvY2FsQXVkaW9TZXNzaW9uUm91dGluZ0FyYml0cmF0b3IuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0L0dQVVByb2Nlc3MvbWFjL0xvY2FsQXVkaW9TZXNzaW9uUm91dGluZ0FyYml0cmF0b3IuaApA
QCAtMjcsNyArMjcsNyBAQAogCiAjaWYgRU5BQkxFKFJPVVRJTkdfQVJCSVRSQVRJT04pICYmIEhB
VkUoQVZBVURJT19ST1VUSU5HX0FSQklURVIpCiAKLSNpbmNsdWRlIDxXZWJDb3JlL1NoYXJlZFJv
dXRpbmdBcmJpdHJhdG9yLmg+CisjaW5jbHVkZSAiQXVkaW9TZXNzaW9uUm91dGluZ0FyYml0cmF0
b3JQcm94eS5oIgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIApAQCAtMzYsMzQgKzM2LDIzIEBAIGNs
YXNzIExvY2FsQXVkaW9TZXNzaW9uUm91dGluZ0FyYml0cmF0b3IgZmluYWwKICAgICAsIHB1Ymxp
YyBDYW5NYWtlV2Vha1B0cjxMb2NhbEF1ZGlvU2Vzc2lvblJvdXRpbmdBcmJpdHJhdG9yPiB7CiAg
ICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAKLSAgICBmcmllbmQgVW5pcXVlUmVmPExvY2Fs
QXVkaW9TZXNzaW9uUm91dGluZ0FyYml0cmF0b3I+IFdURjo6bWFrZVVuaXF1ZVJlZldpdGhvdXRG
YXN0TWFsbG9jQ2hlY2s8TG9jYWxBdWRpb1Nlc3Npb25Sb3V0aW5nQXJiaXRyYXRvcj4oKTsKKyAg
ICBmcmllbmQgVW5pcXVlUmVmPExvY2FsQXVkaW9TZXNzaW9uUm91dGluZ0FyYml0cmF0b3I+IFdU
Rjo6bWFrZVVuaXF1ZVJlZldpdGhvdXRGYXN0TWFsbG9jQ2hlY2s8TG9jYWxBdWRpb1Nlc3Npb25S
b3V0aW5nQXJiaXRyYXRvcj4oR1BVQ29ubmVjdGlvblRvV2ViUHJvY2VzcyYpOwogcHVibGljOgot
ICAgIHN0YXRpYyBVbmlxdWVSZWY8TG9jYWxBdWRpb1Nlc3Npb25Sb3V0aW5nQXJiaXRyYXRvcj4g
Y3JlYXRlKCk7CisgICAgc3RhdGljIFVuaXF1ZVJlZjxMb2NhbEF1ZGlvU2Vzc2lvblJvdXRpbmdB
cmJpdHJhdG9yPiBjcmVhdGUoR1BVQ29ubmVjdGlvblRvV2ViUHJvY2VzcyYpOwogICAgIHZpcnR1
YWwgfkxvY2FsQXVkaW9TZXNzaW9uUm91dGluZ0FyYml0cmF0b3IoKTsKIAogICAgIHVzaW5nIFdl
YWtWYWx1ZVR5cGUgPSBXZWJDb3JlOjpBdWRpb1Nlc3Npb25Sb3V0aW5nQXJiaXRyYXRpb25DbGll
bnQ7CiAKLSAgICBlbnVtIGNsYXNzIEFyYml0cmF0aW9uU3RhdHVzIDogdWludDhfdCB7Ci0gICAg
ICAgIE5vbmUsCi0gICAgICAgIFBlbmRpbmcsCi0gICAgICAgIEFjdGl2ZSwKLSAgICB9OwotCiAg
ICAgdm9pZCBwcm9jZXNzRGlkVGVybWluYXRlKCk7Ci0gICAgQXJiaXRyYXRpb25TdGF0dXMgYXJi
aXRyYXRpb25TdGF0dXMoKSBjb25zdCB7IHJldHVybiBtX2FyYml0cmF0aW9uU3RhdHVzOyB9Ci0g
ICAgV2FsbFRpbWUgYXJiaXRyYXRpb25VcGRhdGVUaW1lKCkgY29uc3QgeyByZXR1cm4gbV9hcmJp
dHJhdGlvblVwZGF0ZVRpbWU7IH0KIAogcHJpdmF0ZToKLSAgICBMb2NhbEF1ZGlvU2Vzc2lvblJv
dXRpbmdBcmJpdHJhdG9yKCk7CisgICAgTG9jYWxBdWRpb1Nlc3Npb25Sb3V0aW5nQXJiaXRyYXRv
cihHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzJik7CiAKICAgICAvLyBBdWRpb1Nlc3Npb25Sb3V0
aW5nQXJiaXRyYXRpb25DbGllbnQKICAgICB2b2lkIGJlZ2luUm91dGluZ0FyYml0cmF0aW9uV2l0
aENhdGVnb3J5KFdlYkNvcmU6OkF1ZGlvU2Vzc2lvbjo6Q2F0ZWdvcnlUeXBlLCBBcmJpdHJhdGlv
bkNhbGxiYWNrJiYpIGZpbmFsOwogICAgIHZvaWQgbGVhdmVSb3V0aW5nQWJyaXRyYXRpb24oKSBm
aW5hbDsKIAotICAgIFVuaXF1ZVJlZjxXZWJDb3JlOjpTaGFyZWRSb3V0aW5nQXJiaXRyYXRvcjo6
VG9rZW4+IG1fdG9rZW47Ci0gICAgV2ViQ29yZTo6QXVkaW9TZXNzaW9uOjpDYXRlZ29yeVR5cGUg
bV9jYXRlZ29yeSB7IFdlYkNvcmU6OkF1ZGlvU2Vzc2lvbjo6Q2F0ZWdvcnlUeXBlOjpOb25lIH07
Ci0gICAgQXJiaXRyYXRpb25TdGF0dXMgbV9hcmJpdHJhdGlvblN0YXR1cyB7IEFyYml0cmF0aW9u
U3RhdHVzOjpOb25lIH07Ci0gICAgV2FsbFRpbWUgbV9hcmJpdHJhdGlvblVwZGF0ZVRpbWU7Cisg
ICAgR1BVQ29ubmVjdGlvblRvV2ViUHJvY2VzcyYgbV9jb25uZWN0aW9uVG9XZWJQcm9jZXNzOwog
fTsKIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90
ZUF1ZGlvU2Vzc2lvblByb3h5TWFuYWdlci5oIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21l
ZGlhL1JlbW90ZUF1ZGlvU2Vzc2lvblByb3h5TWFuYWdlci5oCmluZGV4IGNlMjdhNjRlMTU4MjQ0
NDFkYjhjNWFkMTIzM2Y4MTE4ZWMwM2RlYjQuLjI3ZjFkMTdiNjNhY2U3ZGZlNDhmZjE4MjI5NGYx
OGRlNjIyZWE0YWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9S
ZW1vdGVBdWRpb1Nlc3Npb25Qcm94eU1hbmFnZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVBy
b2Nlc3MvbWVkaWEvUmVtb3RlQXVkaW9TZXNzaW9uUHJveHlNYW5hZ2VyLmgKQEAgLTUxLDYgKzUx
LDcgQEAgcHVibGljOgogCiAgICAgYm9vbCB0cnlUb1NldEFjdGl2ZUZvclByb2Nlc3MoUmVtb3Rl
QXVkaW9TZXNzaW9uUHJveHkmLCBib29sKTsKIAorICAgIFdlYkNvcmU6OkF1ZGlvU2Vzc2lvbiYg
c2Vzc2lvbigpIHsgcmV0dXJuIG1fc2Vzc2lvbjsgfQogICAgIGNvbnN0IFdlYkNvcmU6OkF1ZGlv
U2Vzc2lvbiYgc2Vzc2lvbigpIGNvbnN0IHsgcmV0dXJuIG1fc2Vzc2lvbjsgfQogCiBwcml2YXRl
OgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9HUFVQcm9jZXNzQ29u
bmVjdGlvbi5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL0dQVVByb2Nlc3NDb25u
ZWN0aW9uLmNwcAppbmRleCA5Y2I4OGUzYjA5ZWY5Yjg2M2I2ODhjODQyNTYzZjQ0ZDRkYWM4NjIz
Li5mYWQzZDNlMjVjMThiOGFlNTBjNzk3OThhMjEwZGQxNDY4YmY3YjliIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL0dQVVByb2Nlc3NDb25uZWN0aW9uLmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL0dQVVByb2Nlc3NDb25uZWN0aW9uLmNwcApA
QCAtMjgsNiArMjgsNyBAQAogCiAjaWYgRU5BQkxFKEdQVV9QUk9DRVNTKQogCisjaW5jbHVkZSAi
QXVkaW9TZXNzaW9uUm91dGluZ0FyYml0cmF0b3IuaCIKICNpbmNsdWRlICJEYXRhUmVmZXJlbmNl
LmgiCiAjaW5jbHVkZSAiR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzc01lc3NhZ2VzLmgiCiAjaW5j
bHVkZSAiTGliV2ViUlRDQ29kZWNzLmgiCkBAIC0yMzMsNiArMjM0LDI5IEBAIHZvaWQgR1BVUHJv
Y2Vzc0Nvbm5lY3Rpb246OmRpZFJlY2VpdmVSZW1vdGVDb21tYW5kKFBsYXRmb3JtTWVkaWFTZXNz
aW9uOjpSZW1vdGVDCiAgICAgUGxhdGZvcm1NZWRpYVNlc3Npb25NYW5hZ2VyOjpzaGFyZWRNYW5h
Z2VyKCkucHJvY2Vzc0RpZFJlY2VpdmVSZW1vdGVDb250cm9sQ29tbWFuZCh0eXBlLCBhcmd1bWVu
dCk7CiB9CiAKKyNpZiBFTkFCTEUoUk9VVElOR19BUkJJVFJBVElPTikKK3ZvaWQgR1BVUHJvY2Vz
c0Nvbm5lY3Rpb246OmJlZ2luUm91dGluZ0FyYml0cmF0aW9uV2l0aENhdGVnb3J5KEF1ZGlvU2Vz
c2lvbjo6Q2F0ZWdvcnlUeXBlIGNhdGVnb3J5LCBBdWRpb1Nlc3Npb25Sb3V0aW5nQXJiaXRyYXRp
b25DbGllbnQ6OkFyYml0cmF0aW9uQ2FsbGJhY2smJiBjYWxsYmFjaykKK3sKKyAgICBpZiAoYXV0
byogYXJiaXRyYXRvciA9IFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLnN1cHBsZW1lbnQ8QXVkaW9T
ZXNzaW9uUm91dGluZ0FyYml0cmF0b3I+KCkpIHsKKyAgICAgICAgYXJiaXRyYXRvci0+YmVnaW5S
b3V0aW5nQXJiaXRyYXRpb25XaXRoQ2F0ZWdvcnkoY2F0ZWdvcnksIFdURk1vdmUoY2FsbGJhY2sp
KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwor
ICAgIGNhbGxiYWNrKEF1ZGlvU2Vzc2lvblJvdXRpbmdBcmJpdHJhdGlvbkNsaWVudDo6Um91dGlu
Z0FyYml0cmF0aW9uRXJyb3I6OkZhaWxlZCwgQXVkaW9TZXNzaW9uUm91dGluZ0FyYml0cmF0aW9u
Q2xpZW50OjpEZWZhdWx0Um91dGVDaGFuZ2VkOjpObyk7Cit9CisKK3ZvaWQgR1BVUHJvY2Vzc0Nv
bm5lY3Rpb246OmVuZFJvdXRpbmdBcmJpdHJhdGlvbigpCit7CisgICAgaWYgKGF1dG8qIGFyYml0
cmF0b3IgPSBXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5zdXBwbGVtZW50PEF1ZGlvU2Vzc2lvblJv
dXRpbmdBcmJpdHJhdG9yPigpKSB7CisgICAgICAgIGVuZFJvdXRpbmdBcmJpdHJhdGlvbigpOwor
ICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7Cit9Cisj
ZW5kaWYKKwogI2lmIEhBVkUoVklTSUJJTElUWV9QUk9QQUdBVElPTl9WSUVXKQogdm9pZCBHUFVQ
cm9jZXNzQ29ubmVjdGlvbjo6Y3JlYXRlVmlzaWJpbGl0eVByb3BhZ2F0aW9uQ29udGV4dEZvclBh
Z2UoV2ViUGFnZSYgcGFnZSkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9HUFUvR1BVUHJvY2Vzc0Nvbm5lY3Rpb24uaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9H
UFUvR1BVUHJvY2Vzc0Nvbm5lY3Rpb24uaAppbmRleCAzYWY2MDk1OWM3ZjM4Zjg3Nzg3MTk3OTU0
OTA1ZjQ1ZTA1MzJmYTVjLi4zMzlhOTFiNDkxYTZkMTZkMWQ0MzUwM2U1NzE1MTA5MTRlZWI1ZWYx
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL0dQVVByb2Nlc3NDb25u
ZWN0aW9uLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9HUFVQcm9jZXNzQ29u
bmVjdGlvbi5oCkBAIC0zMyw2ICszMyw3IEBACiAjaW5jbHVkZSAiTWVzc2FnZVJlY2VpdmVyTWFw
LmgiCiAjaW5jbHVkZSAiU2FtcGxlQnVmZmVyRGlzcGxheUxheWVyTWFuYWdlci5oIgogI2luY2x1
ZGUgIlNoYXJlZE1lbW9yeS5oIgorI2luY2x1ZGUgPFdlYkNvcmUvQXVkaW9TZXNzaW9uLmg+CiAj
aW5jbHVkZSA8V2ViQ29yZS9QbGF0Zm9ybU1lZGlhU2Vzc2lvbi5oPgogI2luY2x1ZGUgPHd0Zi9S
ZWZDb3VudGVkLmg+CiAjaW5jbHVkZSA8d3RmL1dlYWtIYXNoU2V0Lmg+CkBAIC0xMjAsNiArMTIx
LDExIEBAIHByaXZhdGU6CiAKICAgICB2b2lkIGRpZFJlY2VpdmVSZW1vdGVDb21tYW5kKFdlYkNv
cmU6OlBsYXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1vdGVDb250cm9sQ29tbWFuZFR5cGUsIGNvbnN0
IFdlYkNvcmU6OlBsYXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1vdGVDb21tYW5kQXJndW1lbnQmKTsK
IAorI2lmIEVOQUJMRShST1VUSU5HX0FSQklUUkFUSU9OKQorICAgIHZvaWQgYmVnaW5Sb3V0aW5n
QXJiaXRyYXRpb25XaXRoQ2F0ZWdvcnkoV2ViQ29yZTo6QXVkaW9TZXNzaW9uOjpDYXRlZ29yeVR5
cGUsIFdlYkNvcmU6OkF1ZGlvU2Vzc2lvblJvdXRpbmdBcmJpdHJhdGlvbkNsaWVudDo6QXJiaXRy
YXRpb25DYWxsYmFjayYmKTsKKyAgICB2b2lkIGVuZFJvdXRpbmdBcmJpdHJhdGlvbigpOworI2Vu
ZGlmCisKICAgICAvLyBUaGUgY29ubmVjdGlvbiBmcm9tIHRoZSB3ZWIgcHJvY2VzcyB0byB0aGUg
R1BVIHByb2Nlc3MuCiAgICAgUmVmPElQQzo6Q29ubmVjdGlvbj4gbV9jb25uZWN0aW9uOwogICAg
IElQQzo6TWVzc2FnZVJlY2VpdmVyTWFwIG1fbWVzc2FnZVJlY2VpdmVyTWFwOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9HUFVQcm9jZXNzQ29ubmVjdGlvbi5tZXNz
YWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvR1BVUHJvY2Vzc0Nvbm5lY3Rp
b24ubWVzc2FnZXMuaW4KaW5kZXggODVhNmZjZDczN2M3NDlkOWZmNDBkYjE4MDFhNjZkZGM4YmE0
OTVkYi4uM2RhMGU2MWYwYzhhY2E3YjU3YmUxMDZhYjVhOTZkNzgxZWE0ODY2NiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9HUFVQcm9jZXNzQ29ubmVjdGlvbi5tZXNz
YWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL0dQVVByb2Nlc3NDb25u
ZWN0aW9uLm1lc3NhZ2VzLmluCkBAIC0yNCw2ICsyNCwxMSBAQAogCiBtZXNzYWdlcyAtPiBHUFVQ
cm9jZXNzQ29ubmVjdGlvbiBXYW50c0Rpc3BhdGNoTWVzc2FnZSB7CiAgICAgRGlkUmVjZWl2ZVJl
bW90ZUNvbW1hbmQoZW51bTp1aW50OF90IFdlYkNvcmU6OlBsYXRmb3JtTWVkaWFTZXNzaW9uOjpS
ZW1vdGVDb250cm9sQ29tbWFuZFR5cGUgdHlwZSwgc3RydWN0IFdlYkNvcmU6OlBsYXRmb3JtTWVk
aWFTZXNzaW9uOjpSZW1vdGVDb21tYW5kQXJndW1lbnQgYXJndW1lbnQpCisKKyNpZiBFTkFCTEUo
Uk9VVElOR19BUkJJVFJBVElPTikKKyAgICBCZWdpblJvdXRpbmdBcmJpdHJhdGlvbldpdGhDYXRl
Z29yeShlbnVtOnVpbnQ4X3QgV2ViQ29yZTo6QXVkaW9TZXNzaW9uOjpDYXRlZ29yeVR5cGUgY2F0
ZWdvcnkpIC0+IChlbnVtOnVpbnQ4X3QgV2ViS2l0OjpBdWRpb1Nlc3Npb25Sb3V0aW5nQXJiaXRy
YXRvclByb3h5OjpSb3V0aW5nQXJiaXRyYXRpb25FcnJvciBlcnJvciwgZW51bTpib29sIFdlYktp
dDo6QXVkaW9TZXNzaW9uUm91dGluZ0FyYml0cmF0b3JQcm94eTo6RGVmYXVsdFJvdXRlQ2hhbmdl
ZCBkZWZhdWx0Um91dGVDaGFuZ2VkKSBBc3luYworICAgIEVuZFJvdXRpbmdBcmJpdHJhdGlvbigp
OworI2VuZGlmCiB9CiAKICNlbmRpZiAvLyBFTkFCTEUoR1BVX1BST0NFU1MpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvQXVkaW9TZXNzaW9uUm91dGluZ0FyYml0
cmF0b3IuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL0F1ZGlvU2Vzc2lvblJv
dXRpbmdBcmJpdHJhdG9yLmNwcAppbmRleCA5Njk4OWU3YTdmNjFhMWQ4Y2ZkYmY1YjA4Y2JmZDdh
ZTdmMGYzNzczLi43ZWVkMzlkYjg3ZDViNWFhZTUxODU1ODllOWIxZmUyMzgwYWFhOTIxIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvQXVkaW9TZXNzaW9uUm91dGlu
Z0FyYml0cmF0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9jb2NvYS9BdWRp
b1Nlc3Npb25Sb3V0aW5nQXJiaXRyYXRvci5jcHAKQEAgLTM5LDggKzM5LDkgQEAgdXNpbmcgbmFt
ZXNwYWNlIFdlYkNvcmU7CiAKIEF1ZGlvU2Vzc2lvblJvdXRpbmdBcmJpdHJhdG9yOjpBdWRpb1Nl
c3Npb25Sb3V0aW5nQXJiaXRyYXRvcihXZWJQcm9jZXNzJiBwcm9jZXNzKQogICAgIDogbV9wcm9j
ZXNzKHByb2Nlc3MpCisgICAgLCBtX29ic2VydmVyKFt0aGlzXSAoQXVkaW9TZXNzaW9uJiBzZXNz
aW9uKSB7IHNlc3Npb24uc2V0Um91dGluZ0FyYml0cmF0aW9uQ2xpZW50KG1ha2VXZWFrUHRyKHRo
aXMpKTsgfSkKIHsKLSAgICBBdWRpb1Nlc3Npb246OnNoYXJlZFNlc3Npb24oKS5zZXRSb3V0aW5n
QXJiaXRyYXRpb25DbGllbnQobWFrZVdlYWtQdHIodGhpcykpOworICAgIEF1ZGlvU2Vzc2lvbjo6
YWRkQXVkaW9TZXNzaW9uQ2hhbmdlZE9ic2VydmVyKG1fb2JzZXJ2ZXIpOwogfQogCiBBdWRpb1Nl
c3Npb25Sb3V0aW5nQXJiaXRyYXRvcjo6fkF1ZGlvU2Vzc2lvblJvdXRpbmdBcmJpdHJhdG9yKCkg
PSBkZWZhdWx0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL2NvY29hL0F1
ZGlvU2Vzc2lvblJvdXRpbmdBcmJpdHJhdG9yLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
Y29jb2EvQXVkaW9TZXNzaW9uUm91dGluZ0FyYml0cmF0b3IuaAppbmRleCBjNTYwYWI1NjY0MWJi
NWI3NDgwNzZlYmVhNTNmNGUwOTRkNzkyZTdmLi5mMWQ1NzIzMmZhZDI5M2ZiOGExZGU3ZTBlNDBi
MjQwZjIwY2NhYTM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2Ev
QXVkaW9TZXNzaW9uUm91dGluZ0FyYml0cmF0b3IuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvY29jb2EvQXVkaW9TZXNzaW9uUm91dGluZ0FyYml0cmF0b3IuaApAQCAtNDgsMTIgKzQ4
LDEzIEBAIHB1YmxpYzoKIAogICAgIHVzaW5nIFdlYWtWYWx1ZVR5cGUgPSBXZWJDb3JlOjpBdWRp
b1Nlc3Npb25Sb3V0aW5nQXJiaXRyYXRpb25DbGllbnQ7CiAKLXByaXZhdGU6CiAgICAgLy8gQXVk
aW9TZXNzaW9uUm91dGluZ0Ficml0cmF0b3IKICAgICB2b2lkIGJlZ2luUm91dGluZ0FyYml0cmF0
aW9uV2l0aENhdGVnb3J5KFdlYkNvcmU6OkF1ZGlvU2Vzc2lvbjo6Q2F0ZWdvcnlUeXBlLCBDb21w
bGV0aW9uSGFuZGxlcjx2b2lkKFJvdXRpbmdBcmJpdHJhdGlvbkVycm9yLCBEZWZhdWx0Um91dGVD
aGFuZ2VkKT4mJikgZmluYWw7CiAgICAgdm9pZCBsZWF2ZVJvdXRpbmdBYnJpdHJhdGlvbigpIGZp
bmFsOwogCitwcml2YXRlOgogICAgIFdlYlByb2Nlc3MmIG1fcHJvY2VzczsKKyAgICBXZWJDb3Jl
OjpBdWRpb1Nlc3Npb246OkNoYW5nZWRPYnNlcnZlciBtX29ic2VydmVyOwogfTsKIAogfQo=
</data>
<flag name="commit-queue"
          id="451798"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>430374</attachid>
            <date>2021-06-02 10:35:30 -0700</date>
            <delta_ts>2021-06-02 14:36:01 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-226104-20210602103529.patch</filename>
            <type>text/plain</type>
            <size>20423</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc4MzIzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODJiM2Q3MDQ1YzNhYzQ1
YTgyMDAzOWJiMDYxNWQ0ODQxZmU3ZjM5Yy4uZmIyZTJiNjNmMDE1NjYyMGVhMzEwMGE1NzQ3MGE0
MjFmYWMxOTBlMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDIxLTA1LTIxICBKZXIg
Tm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAgIFJFR1JFU1NJT04ocjI3Njk5
Myk6IDUgVGVzdFdlYktpdEFQSS5BdWRpb1JvdXRpbmdBcmJpdHJhdGlvbiAoYXBpLXRlc3RzKSBh
cmUgY29uc3RhbnQgZmFpbHVyZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIyNjEwNAorICAgICAgICA8cmRhcjovLzc3OTk4MDQ5PgorCisgICAgICAg
IFJldmlld2VkIGJ5IEVyaWMgQ2FybHNvbi4KKworICAgICAgICBBZGQgYSBtZWNoYW5pc20gZm9y
IGEgY2xpZW50IHRvIHdhaXQgdW50aWwgYW4gQXVkaW9TZXNzaW9uIGlzIGNyZWF0ZWQgb3IgY2hh
bmdlZCBiZWZvcmUgdGFraW5nCisgICAgICAgIGFuIGFjdGlvbi4KKworICAgICAgICAqIHBsYXRm
b3JtL2F1ZGlvL0F1ZGlvU2Vzc2lvbi5jcHA6CisgICAgICAgIChXZWJDb3JlOjphdWRpb1Nlc3Np
b25DaGFuZ2VkT2JzZXJ2ZXJzKToKKyAgICAgICAgKFdlYkNvcmU6OkF1ZGlvU2Vzc2lvbjo6c2hh
cmVkU2Vzc2lvbik6CisgICAgICAgIChXZWJDb3JlOjpBdWRpb1Nlc3Npb246OnNldFNoYXJlZFNl
c3Npb24pOgorICAgICAgICAoV2ViQ29yZTo6QXVkaW9TZXNzaW9uOjphZGRBdWRpb1Nlc3Npb25D
aGFuZ2VkT2JzZXJ2ZXIpOgorICAgICAgICAqIHBsYXRmb3JtL2F1ZGlvL0F1ZGlvU2Vzc2lvbi5o
OgorCiAyMDIxLTA1LTIwICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgogCiAgICAg
ICAgIFtDb2NvYV0gTGFzdCBmZXcgc2Vjb25kcyBvZiAnYXVkaW8vd2VibTsgY29kZWNzPXZvcmJp
cycgYXBwZW5kZWQgdG8gYSBTYW1wbGVCdWZmZXIgYXJlIG5vdCBwbGF5ZWQKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKaW5kZXgg
NzkyMzBiNGExMmE0Yzg1ZDdmYmUwODg3NDJhZTI5M2VlYmEwNDhjNC4uYWE4M2VmMzFhY2E5NmUy
Yjg0YzNhZDYwYzkyYmFlNGE1NTcxMTViYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9DaGFuZ2VMb2cKQEAgLTEsMyArMSw1MiBAQAorMjAy
MS0wNS0yMSAgSmVyIE5vYmxlICA8amVyLm5vYmxlQGFwcGxlLmNvbT4KKworICAgICAgICBSRUdS
RVNTSU9OKHIyNzY5OTMpOiA1IFRlc3RXZWJLaXRBUEkuQXVkaW9Sb3V0aW5nQXJiaXRyYXRpb24g
KGFwaS10ZXN0cykgYXJlIGNvbnN0YW50IGZhaWx1cmVzCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjYxMDQKKyAgICAgICAgPHJkYXI6Ly83Nzk5ODA0
OT4KKworICAgICAgICBSZXZpZXdlZCBieSBFcmljIENhcmxzb24uCisKKyAgICAgICAgSW4gcjI3
Njk5MywgQXVkaW9TZXNzaW9uUm91dGluZ0FyYml0cmF0aW9uIHdhcyBtb3ZlZCBmcm9tIGJlaW5n
IGluaXRpYXRlZCBpbiB0aGUgV2ViQ29udGVudCBwcm9jZXNzCisgICAgICAgIGFuZCBkaXNwYXRj
aGVkIHRvIHRoZSBVSVByb2Nlc3MsIHRvIGJlaW5nIGRpc3BhdGNoZWQgdG8gdGhlIEdQVSBwcm9j
ZXNzLiBIb3dldmVyIHR3byBwcm9ibGVtcyBvY2N1cnJlZDoKKworICAgICAgICAxKSBUaGUgVUlQ
cm9jZXNzIG5vIGxvbmdlciBrbm93cyBhYm91dCByb3V0aW5nIGFyYml0cmF0aW9uLCB3aGljaCBp
cyByZWFzb25hYmxlIGZvciB0aGUgZmVhdHVyZSwgYnV0CisgICAgICAgICAgIGJyZWFrcyBhbiBB
UEkgdGVzdCB0aGF0IHF1ZXJpZXMgYXJiaXRyYXRpb24gc3RhdHVzIGluIHRoZSBVSVByb2Nlc3Mu
CisKKyAgICAgICAgMikgQSBzYW5kYm94IHZpb2xhdGlvbiBjYXVzZXMgcm91dGluZyBhcmJpdHJh
dGlvbiB0byBmYWlsIGluIHRoZSBHUFUgcHJvY2VzcyByZWdhcmRsZXNzLgorCisgICAgICAgIFdl
IGNvdWxkIG9wZW4gdXAgdGhlIHNhbmRib3ggdG8gYWxsb3cgcm91dGluZyBhcmJpdHJhdGlvbiB0
byBzdWNjZWVkIChhbmQgY29tZSB1cCB3aXRoIGEgd2F5IHRvIHB1c2gKKyAgICAgICAgc3RhdGUg
Y2hhbmdlcyB1cCB0byB0aGUgVUlQcm9jZXNzIGZvciB0ZXN0aW5nIHB1cnBvc2VzKSwgYnV0IGl0
J3Mgbm90IHRlY2huaWNhbGx5IG5lY2Vzc2FyeSBmb3IKKyAgICAgICAgYXJiaXRyYXRpb24gdG8g
b2NjdXIgdGhlcmUuIEluc3RlYWQsIGp1c3QgcmV2ZXJ0IHRvIHRoZSBzdGF0dXMtcXVvLWFudGUg
YmVoYXZpb3Igb2YgaGF2aW5nIGFyYml0cmF0aW9uCisgICAgICAgIHRha2UgcGxhY2UgaW4gdGhl
IFVJUHJvY2VzcywgYW5kIGp1c3QgYWRkIGEgbmV3IHNldCBvZiBtZXNzYWdlcyBmcm9tIHRoZSBH
UFVDb25ub2N0aW9uVG9XZWJQcm9jZXNzIHRvCisgICAgICAgIHRoZSBHUFVQcm9jZXNzQ29ubmVj
dGlvbiB0byBmYWNpbGl0YXRlIGFyYml0cmF0aW9uLgorCisgICAgICAgIERyaXZlLWJ5IGZpeDog
QXVkaW9TZXNzaW9uUm91dGluZ0FyYml0cmF0b3IgaXMgYSBzdXBwbGVtZW50IHRvIFdlYlByb2Nl
c3MsIGFuZCBhcyBzdWNoIGl0J3MgY3JlYXRlZAorICAgICAgICBhdCBXZWJQcm9jZXNzIGNyZWF0
aW9uIHRpbWUuIEhvd2V2ZXIsIGl0IGFsc28gY2F1c2VzIGFuIEF1ZGlvU2Vzc2lvbiB0byBiZSBj
cmVhdGVkIGJ5IGF0dGVtcHRpbmcgdG8KKyAgICAgICAgYWRkIGl0c2VsZiBhcyBhIGNsaWVudC4g
VGhpcyBpcyBiYWQgb24gaU9TLCB3aGVyZSBpdCBjb3VsZCBjYXVzZSBoYW5ncyBkdWUgdG8gQVZB
dWRpb1Nlc3Npb24gY2FsbHMuCisgICAgICAgIFNvLCBhZGQgYSBtZWNoYW5pc20gdG8gYmUgbm90
aWZpZWQgd2hlbiBhbiBBdWRpb1Nlc3Npb24gZXZlbnR1YWxseSBkb2VzIGdldCBjcmVhdGVkLCBh
bmQgYWRkIHRoZQorICAgICAgICBhcmJpdHJhdG9yIGFzIGEgY2xpZW50IHRoZW4uCisKKyAgICAg
ICAgKiBHUFVQcm9jZXNzL0dQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuY3BwOgorICAgICAgICAo
V2ViS2l0OjpHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjpHUFVDb25uZWN0aW9uVG9XZWJQcm9j
ZXNzKToKKyAgICAgICAgKiBHUFVQcm9jZXNzL21hYy9Mb2NhbEF1ZGlvU2Vzc2lvblJvdXRpbmdB
cmJpdHJhdG9yLmNwcDoKKyAgICAgICAgKFdlYktpdDo6TG9jYWxBdWRpb1Nlc3Npb25Sb3V0aW5n
QXJiaXRyYXRvcjo6Y3JlYXRlKToKKyAgICAgICAgKFdlYktpdDo6TG9jYWxBdWRpb1Nlc3Npb25S
b3V0aW5nQXJiaXRyYXRvcjo6TG9jYWxBdWRpb1Nlc3Npb25Sb3V0aW5nQXJiaXRyYXRvcik6Cisg
ICAgICAgIChXZWJLaXQ6OkxvY2FsQXVkaW9TZXNzaW9uUm91dGluZ0FyYml0cmF0b3I6OnByb2Nl
c3NEaWRUZXJtaW5hdGUpOgorICAgICAgICAoV2ViS2l0OjpMb2NhbEF1ZGlvU2Vzc2lvblJvdXRp
bmdBcmJpdHJhdG9yOjpiZWdpblJvdXRpbmdBcmJpdHJhdGlvbldpdGhDYXRlZ29yeSk6CisgICAg
ICAgIChXZWJLaXQ6OkxvY2FsQXVkaW9TZXNzaW9uUm91dGluZ0FyYml0cmF0b3I6OmxlYXZlUm91
dGluZ0Ficml0cmF0aW9uKToKKyAgICAgICAgKiBHUFVQcm9jZXNzL21hYy9Mb2NhbEF1ZGlvU2Vz
c2lvblJvdXRpbmdBcmJpdHJhdG9yLmg6CisgICAgICAgICogR1BVUHJvY2Vzcy9tZWRpYS9SZW1v
dGVBdWRpb1Nlc3Npb25Qcm94eU1hbmFnZXIuaDoKKyAgICAgICAgKFdlYktpdDo6UmVtb3RlQXVk
aW9TZXNzaW9uUHJveHlNYW5hZ2VyOjpzZXNzaW9uKToKKyAgICAgICAgKiBVSVByb2Nlc3MvR1BV
L0dQVVByb2Nlc3NQcm94eS5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvR1BVL0dQVVByb2Nlc3ND
b25uZWN0aW9uLmNwcDoKKyAgICAgICAgKFdlYktpdDo6R1BVUHJvY2Vzc0Nvbm5lY3Rpb246OmJl
Z2luUm91dGluZ0FyYml0cmF0aW9uV2l0aENhdGVnb3J5KToKKyAgICAgICAgKFdlYktpdDo6R1BV
UHJvY2Vzc0Nvbm5lY3Rpb246OmVuZFJvdXRpbmdBcmJpdHJhdGlvbik6CisgICAgICAgICogV2Vi
UHJvY2Vzcy9HUFUvR1BVUHJvY2Vzc0Nvbm5lY3Rpb24uaDoKKyAgICAgICAgKiBXZWJQcm9jZXNz
L0dQVS9HUFVQcm9jZXNzQ29ubmVjdGlvbi5tZXNzYWdlcy5pbjoKKyAgICAgICAgKiBXZWJQcm9j
ZXNzL2NvY29hL0F1ZGlvU2Vzc2lvblJvdXRpbmdBcmJpdHJhdG9yLmNwcDoKKyAgICAgICAgKFdl
YktpdDo6QXVkaW9TZXNzaW9uUm91dGluZ0FyYml0cmF0b3I6OkF1ZGlvU2Vzc2lvblJvdXRpbmdB
cmJpdHJhdG9yKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL2NvY29hL0F1ZGlvU2Vzc2lvblJvdXRp
bmdBcmJpdHJhdG9yLmg6CisKIDIwMjEtMDYtMDEgIEplciBOb2JsZSAgPGplci5ub2JsZUBhcHBs
ZS5jb20+CiAKICAgICAgICAgW0NvY29hXSBNYWtlIHRoZSBob3N0VGltZSBwYXJhbWV0ZXIgdG8g
cGxheVNlc3Npb24gYSBNb25vdG9uaWMgdGltZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vYXVkaW8vQXVkaW9TZXNzaW9uLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2F1ZGlvL0F1ZGlvU2Vzc2lvbi5jcHAKaW5kZXggNWY2MTY5ZTcxN2ZhZjYzNTk2NjkxMDRmNzgy
MDZmNWZkMjU0MjU3My4uMmZmMmI3MDFiMmYyNjdmMTRhYTc5MTMyNzgxNTZjM2I5YjIxY2NlNCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9TZXNzaW9uLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb1Nlc3Npb24uY3BwCkBA
IC00Nyw2ICs0NywxMiBAQCBzdGF0aWMgc3RkOjpvcHRpb25hbDxVbmlxdWVSZWY8QXVkaW9TZXNz
aW9uPj4mIHNoYXJlZEF1ZGlvU2Vzc2lvbigpCiAgICAgcmV0dXJuIHNlc3Npb24uZ2V0KCk7CiB9
CiAKK3N0YXRpYyBXZWFrSGFzaFNldDxBdWRpb1Nlc3Npb246OkNoYW5nZWRPYnNlcnZlcj4mIGF1
ZGlvU2Vzc2lvbkNoYW5nZWRPYnNlcnZlcnMoKQoreworICAgIHN0YXRpYyBOZXZlckRlc3Ryb3ll
ZDxXZWFrSGFzaFNldDxBdWRpb1Nlc3Npb246OkNoYW5nZWRPYnNlcnZlcj4+IG9ic2VydmVyczsK
KyAgICByZXR1cm4gb2JzZXJ2ZXJzOworfQorCiBVbmlxdWVSZWY8QXVkaW9TZXNzaW9uPiBBdWRp
b1Nlc3Npb246OmNyZWF0ZSgpCiB7CiAjaWYgUExBVEZPUk0oTUFDKQpAQCAtNjQsMTMgKzcwLDI2
IEBAIEF1ZGlvU2Vzc2lvbjo6fkF1ZGlvU2Vzc2lvbigpID0gZGVmYXVsdDsKIEF1ZGlvU2Vzc2lv
biYgQXVkaW9TZXNzaW9uOjpzaGFyZWRTZXNzaW9uKCkKIHsKICAgICBpZiAoIXNoYXJlZEF1ZGlv
U2Vzc2lvbigpKQotICAgICAgICBzaGFyZWRBdWRpb1Nlc3Npb24oKSA9IEF1ZGlvU2Vzc2lvbjo6
Y3JlYXRlKCk7CisgICAgICAgIHNldFNoYXJlZFNlc3Npb24oQXVkaW9TZXNzaW9uOjpjcmVhdGUo
KSk7CiAgICAgcmV0dXJuICpzaGFyZWRBdWRpb1Nlc3Npb24oKTsKIH0KIAogdm9pZCBBdWRpb1Nl
c3Npb246OnNldFNoYXJlZFNlc3Npb24oVW5pcXVlUmVmPEF1ZGlvU2Vzc2lvbj4mJiBzZXNzaW9u
KQogewogICAgIHNoYXJlZEF1ZGlvU2Vzc2lvbigpID0gV1RGTW92ZShzZXNzaW9uKTsKKworICAg
IGF1ZGlvU2Vzc2lvbkNoYW5nZWRPYnNlcnZlcnMoKS5mb3JFYWNoKFtdIChhdXRvJiBvYnNlcnZl
cikgeworICAgICAgICBvYnNlcnZlcigqc2hhcmVkQXVkaW9TZXNzaW9uKCkpOworICAgIH0pOwor
fQorCit2b2lkIEF1ZGlvU2Vzc2lvbjo6YWRkQXVkaW9TZXNzaW9uQ2hhbmdlZE9ic2VydmVyKGNv
bnN0IENoYW5nZWRPYnNlcnZlciYgb2JzZXJ2ZXIpCit7CisgICAgQVNTRVJUKCFhdWRpb1Nlc3Np
b25DaGFuZ2VkT2JzZXJ2ZXJzKCkuY29udGFpbnMob2JzZXJ2ZXIpKTsKKyAgICBhdWRpb1Nlc3Np
b25DaGFuZ2VkT2JzZXJ2ZXJzKCkuYWRkKG9ic2VydmVyKTsKKworICAgIGlmIChzaGFyZWRBdWRp
b1Nlc3Npb24oKSkKKyAgICAgICAgb2JzZXJ2ZXIoKnNoYXJlZEF1ZGlvU2Vzc2lvbigpKTsKIH0K
IAogYm9vbCBBdWRpb1Nlc3Npb246OnRyeVRvU2V0QWN0aXZlKGJvb2wgYWN0aXZlKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vYXVkaW8vQXVkaW9TZXNzaW9uLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRpb1Nlc3Npb24uaAppbmRleCBhOTQ3N2UxZDAx
NzE2YTE0OTM3MmExMjU0OGFjYmJhYzg1OTk3NTljLi42ODMxOTIxYWRkMmEwYzlmYTU2ZGEyYjgz
NTJjYWE1NDAzMzdiZWRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRp
by9BdWRpb1Nlc3Npb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hdWRpby9BdWRp
b1Nlc3Npb24uaApAQCAtMzIsNiArMzIsNyBAQAogI2luY2x1ZGUgPHd0Zi9FbnVtVHJhaXRzLmg+
CiAjaW5jbHVkZSA8d3RmL05ldmVyRGVzdHJveWVkLmg+CiAjaW5jbHVkZSA8d3RmL05vbmNvcHlh
YmxlLmg+CisjaW5jbHVkZSA8d3RmL09ic2VydmVyLmg+CiAjaW5jbHVkZSA8d3RmL1VuaXF1ZVJl
Zi5oPgogI2luY2x1ZGUgPHd0Zi9XZWFrSGFzaFNldC5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dU
RlN0cmluZy5oPgpAQCAtNTYsNiArNTcsMTAgQEAgcHVibGljOgogICAgIHN0YXRpYyBVbmlxdWVS
ZWY8QXVkaW9TZXNzaW9uPiBjcmVhdGUoKTsKICAgICBzdGF0aWMgdm9pZCBzZXRTaGFyZWRTZXNz
aW9uKFVuaXF1ZVJlZjxBdWRpb1Nlc3Npb24+JiYpOwogICAgIHN0YXRpYyBBdWRpb1Nlc3Npb24m
IHNoYXJlZFNlc3Npb24oKTsKKworICAgIHVzaW5nIENoYW5nZWRPYnNlcnZlciA9IFdURjo6T2Jz
ZXJ2ZXI8dm9pZChBdWRpb1Nlc3Npb24mKT47CisgICAgc3RhdGljIHZvaWQgYWRkQXVkaW9TZXNz
aW9uQ2hhbmdlZE9ic2VydmVyKGNvbnN0IENoYW5nZWRPYnNlcnZlciYpOworCiAgICAgdmlydHVh
bCB+QXVkaW9TZXNzaW9uKCk7CiAKICAgICBlbnVtIGNsYXNzIENhdGVnb3J5VHlwZSA6IHVpbnQ4
X3QgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9X
ZWJLaXQvQ01ha2VMaXN0cy50eHQKaW5kZXggZGJiYjBjYTMyNmI2ZTZjMjAwMDU0MWNkZWQ1MWZi
Mzg5OWRlYzRkOC4uZjYzMTI4Mzg1OWI4NzdiZDk2ODg2NzEyODkwODBjYTI5NTE3MTM3YSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViS2l0
L0NNYWtlTGlzdHMudHh0CkBAIC01OCw2ICs1OCw3IEBAIHNldChXZWJLaXRfSU5DTFVERV9ESVJF
Q1RPUklFUwogICAgICIke1dFQktJVF9ESVJ9L1VJUHJvY2Vzcy9JbnNwZWN0b3IiCiAgICAgIiR7
V0VCS0lUX0RJUn0vVUlQcm9jZXNzL0luc3BlY3Rvci9BZ2VudHMiCiAgICAgIiR7V0VCS0lUX0RJ
Un0vVUlQcm9jZXNzL0xhdW5jaGVyIgorICAgICIke1dFQktJVF9ESVJ9L1VJUHJvY2Vzcy9NZWRp
YSIKICAgICAiJHtXRUJLSVRfRElSfS9VSVByb2Nlc3MvTmV0d29yayIKICAgICAiJHtXRUJLSVRf
RElSfS9VSVByb2Nlc3MvTmV0d29yay9DdXN0b21Qcm90b2NvbHMiCiAgICAgIiR7V0VCS0lUX0RJ
Un0vVUlQcm9jZXNzL05vdGlmaWNhdGlvbnMiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0dQ
VVByb2Nlc3MvR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5jcHAgYi9Tb3VyY2UvV2ViS2l0L0dQ
VVByb2Nlc3MvR1BVQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5jcHAKaW5kZXggNmIyMTE3OTQ1MDNl
Y2MxOTQ4ZDlmMjE2MWEyNjhlNzg2MmYyZTI1OS4uMmQ1NjdjYWRlOGViZTdjNGZjMTM0MTFhNTEx
ZTcxMzY1ZjI2MGVlMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL0dQVUNv
bm5lY3Rpb25Ub1dlYlByb2Nlc3MuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9H
UFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmNwcApAQCAtMjA2LDExICsyMDYsMTUgQEAgR1BVQ29u
bmVjdGlvblRvV2ViUHJvY2Vzczo6R1BVQ29ubmVjdGlvblRvV2ViUHJvY2VzcyhHUFVQcm9jZXNz
JiBncHVQcm9jZXNzLCBXZWIKICAgICAsIG1fc2FtcGxlQnVmZmVyRGlzcGxheUxheWVyTWFuYWdl
cihSZW1vdGVTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXJNYW5hZ2VyOjpjcmVhdGUoKnRoaXMpKQog
I2VuZGlmCiAjaWYgRU5BQkxFKFJPVVRJTkdfQVJCSVRSQVRJT04pICYmIEhBVkUoQVZBVURJT19S
T1VUSU5HX0FSQklURVIpCi0gICAgLCBtX3JvdXRpbmdBcmJpdHJhdG9yKExvY2FsQXVkaW9TZXNz
aW9uUm91dGluZ0FyYml0cmF0b3I6OmNyZWF0ZSgpKQorICAgICwgbV9yb3V0aW5nQXJiaXRyYXRv
cihMb2NhbEF1ZGlvU2Vzc2lvblJvdXRpbmdBcmJpdHJhdG9yOjpjcmVhdGUoKnRoaXMpKQogI2Vu
ZGlmCiB7CiAgICAgUkVMRUFTRV9BU1NFUlQoUnVuTG9vcDo6aXNNYWluKCkpOwogCisjaWYgRU5B
QkxFKFJPVVRJTkdfQVJCSVRSQVRJT04pICYmIEhBVkUoQVZBVURJT19ST1VUSU5HX0FSQklURVIp
CisgICAgZ3B1UHJvY2Vzcy5hdWRpb1Nlc3Npb25NYW5hZ2VyKCkuc2Vzc2lvbigpLnNldFJvdXRp
bmdBcmJpdHJhdGlvbkNsaWVudChtYWtlV2Vha1B0cihtX3JvdXRpbmdBcmJpdHJhdG9yLmdldCgp
KSk7CisjZW5kaWYKKwogICAgIGlmICghcGFyYW1ldGVycy5vdmVycmlkZUxhbmd1YWdlcy5pc0Vt
cHR5KCkpCiAgICAgICAgIG92ZXJyaWRlVXNlclByZWZlcnJlZExhbmd1YWdlcyhwYXJhbWV0ZXJz
Lm92ZXJyaWRlTGFuZ3VhZ2VzKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9j
ZXNzL21hYy9Mb2NhbEF1ZGlvU2Vzc2lvblJvdXRpbmdBcmJpdHJhdG9yLmNwcCBiL1NvdXJjZS9X
ZWJLaXQvR1BVUHJvY2Vzcy9tYWMvTG9jYWxBdWRpb1Nlc3Npb25Sb3V0aW5nQXJiaXRyYXRvci5j
cHAKaW5kZXggOTViYzRjY2M2NDQxNTNkMDk1YzNmY2E4MGZiYTZjMGEzNzlhMDdlNS4uN2U1ZWRm
ZWQ5ODAxNWE0YTQ0MzA5ODdkMmZhN2M3OWYzMTYwOTkzZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9HUFVQcm9jZXNzL21hYy9Mb2NhbEF1ZGlvU2Vzc2lvblJvdXRpbmdBcmJpdHJhdG9yLmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3MvbWFjL0xvY2FsQXVkaW9TZXNzaW9uUm91
dGluZ0FyYml0cmF0b3IuY3BwCkBAIC0yNiwxOSArMjYsMjIgQEAKICNpbmNsdWRlICJjb25maWcu
aCIKICNpbmNsdWRlICJMb2NhbEF1ZGlvU2Vzc2lvblJvdXRpbmdBcmJpdHJhdG9yLmgiCiAKKyNp
bmNsdWRlICJHUFVQcm9jZXNzLmgiCisjaW5jbHVkZSAiR1BVUHJvY2Vzc0Nvbm5lY3Rpb25NZXNz
YWdlcy5oIgorCiAjaWYgRU5BQkxFKFJPVVRJTkdfQVJCSVRSQVRJT04pICYmIEhBVkUoQVZBVURJ
T19ST1VUSU5HX0FSQklURVIpCiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCiB1c2luZyBuYW1lc3Bh
Y2UgV2ViQ29yZTsKIAotVW5pcXVlUmVmPExvY2FsQXVkaW9TZXNzaW9uUm91dGluZ0FyYml0cmF0
b3I+IExvY2FsQXVkaW9TZXNzaW9uUm91dGluZ0FyYml0cmF0b3I6OmNyZWF0ZSgpCitVbmlxdWVS
ZWY8TG9jYWxBdWRpb1Nlc3Npb25Sb3V0aW5nQXJiaXRyYXRvcj4gTG9jYWxBdWRpb1Nlc3Npb25S
b3V0aW5nQXJiaXRyYXRvcjo6Y3JlYXRlKEdQVUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MmIGdwdUNv
bm5lY3Rpb25Ub1dlYlByb2Nlc3MpCiB7Ci0gICAgcmV0dXJuIG1ha2VVbmlxdWVSZWY8TG9jYWxB
dWRpb1Nlc3Npb25Sb3V0aW5nQXJiaXRyYXRvcj4oKTsKKyAgICByZXR1cm4gbWFrZVVuaXF1ZVJl
ZjxMb2NhbEF1ZGlvU2Vzc2lvblJvdXRpbmdBcmJpdHJhdG9yPihncHVDb25uZWN0aW9uVG9XZWJQ
cm9jZXNzKTsKIH0KIAotTG9jYWxBdWRpb1Nlc3Npb25Sb3V0aW5nQXJiaXRyYXRvcjo6TG9jYWxB
dWRpb1Nlc3Npb25Sb3V0aW5nQXJiaXRyYXRvcigpCi0gICAgOiBtX3Rva2VuKFNoYXJlZFJvdXRp
bmdBcmJpdHJhdG9yOjpUb2tlbjo6Y3JlYXRlKCkpCitMb2NhbEF1ZGlvU2Vzc2lvblJvdXRpbmdB
cmJpdHJhdG9yOjpMb2NhbEF1ZGlvU2Vzc2lvblJvdXRpbmdBcmJpdHJhdG9yKEdQVUNvbm5lY3Rp
b25Ub1dlYlByb2Nlc3MmIGdwdUNvbm5lY3Rpb25Ub1dlYlByb2Nlc3MpCisgICAgOiBtX2Nvbm5l
Y3Rpb25Ub1dlYlByb2Nlc3MoZ3B1Q29ubmVjdGlvblRvV2ViUHJvY2VzcykKIHsKIH0KIApAQCAt
NDYsMjcgKzQ5LDE3IEBAIExvY2FsQXVkaW9TZXNzaW9uUm91dGluZ0FyYml0cmF0b3I6On5Mb2Nh
bEF1ZGlvU2Vzc2lvblJvdXRpbmdBcmJpdHJhdG9yKCkgPSBkZWZhCiAKIHZvaWQgTG9jYWxBdWRp
b1Nlc3Npb25Sb3V0aW5nQXJiaXRyYXRvcjo6cHJvY2Vzc0RpZFRlcm1pbmF0ZSgpCiB7Ci0gICAg
aWYgKFNoYXJlZFJvdXRpbmdBcmJpdHJhdG9yOjpzaGFyZWRJbnN0YW5jZSgpLmlzSW5Sb3V0aW5n
QXJiaXRyYXRpb25Gb3JUb2tlbihtX3Rva2VuKSkKLSAgICAgICAgbGVhdmVSb3V0aW5nQWJyaXRy
YXRpb24oKTsKKyAgICBsZWF2ZVJvdXRpbmdBYnJpdHJhdGlvbigpOwogfQogCiB2b2lkIExvY2Fs
QXVkaW9TZXNzaW9uUm91dGluZ0FyYml0cmF0b3I6OmJlZ2luUm91dGluZ0FyYml0cmF0aW9uV2l0
aENhdGVnb3J5KEF1ZGlvU2Vzc2lvbjo6Q2F0ZWdvcnlUeXBlIGNhdGVnb3J5LCBDb21wbGV0aW9u
SGFuZGxlcjx2b2lkKFJvdXRpbmdBcmJpdHJhdGlvbkVycm9yLCBEZWZhdWx0Um91dGVDaGFuZ2Vk
KT4mJiBjYWxsYmFjaykKIHsKLSAgICBtX2NhdGVnb3J5ID0gY2F0ZWdvcnk7Ci0gICAgbV9hcmJp
dHJhdGlvblN0YXR1cyA9IEFyYml0cmF0aW9uU3RhdHVzOjpQZW5kaW5nOwotICAgIG1fYXJiaXRy
YXRpb25VcGRhdGVUaW1lID0gV2FsbFRpbWU6Om5vdygpOwotCi0gICAgU2hhcmVkUm91dGluZ0Fy
Yml0cmF0b3I6OnNoYXJlZEluc3RhbmNlKCkuYmVnaW5Sb3V0aW5nQXJiaXRyYXRpb25Gb3JUb2tl
bihtX3Rva2VuLCBjYXRlZ29yeSwgW3dlYWtUaGlzID0gbWFrZVdlYWtQdHIoKnRoaXMpLCBjYWxs
YmFjayA9IFdURk1vdmUoY2FsbGJhY2spXSAoUm91dGluZ0FyYml0cmF0aW9uRXJyb3IgZXJyb3Is
IERlZmF1bHRSb3V0ZUNoYW5nZWQgcm91dGVDaGFuZ2VkKSBtdXRhYmxlIHsKLSAgICAgICAgaWYg
KHdlYWtUaGlzKQotICAgICAgICAgICAgd2Vha1RoaXMtPm1fYXJiaXRyYXRpb25TdGF0dXMgPSBl
cnJvciA9PSBSb3V0aW5nQXJiaXRyYXRpb25FcnJvcjo6Tm9uZSA/IEFyYml0cmF0aW9uU3RhdHVz
OjpBY3RpdmUgOiBBcmJpdHJhdGlvblN0YXR1czo6Tm9uZTsKLSAgICAgICAgY2FsbGJhY2soZXJy
b3IsIHJvdXRlQ2hhbmdlZCk7Ci0gICAgfSk7CisgICAgbV9jb25uZWN0aW9uVG9XZWJQcm9jZXNz
LmNvbm5lY3Rpb24oKS5zZW5kV2l0aEFzeW5jUmVwbHkoTWVzc2FnZXM6OkdQVVByb2Nlc3NDb25u
ZWN0aW9uOjpCZWdpblJvdXRpbmdBcmJpdHJhdGlvbldpdGhDYXRlZ29yeShjYXRlZ29yeSksIFdU
Rk1vdmUoY2FsbGJhY2spLCAwKTsKIH0KIAogdm9pZCBMb2NhbEF1ZGlvU2Vzc2lvblJvdXRpbmdB
cmJpdHJhdG9yOjpsZWF2ZVJvdXRpbmdBYnJpdHJhdGlvbigpCiB7Ci0gICAgU2hhcmVkUm91dGlu
Z0FyYml0cmF0b3I6OnNoYXJlZEluc3RhbmNlKCkuZW5kUm91dGluZ0FyYml0cmF0aW9uRm9yVG9r
ZW4obV90b2tlbik7Ci0gICAgbV9hcmJpdHJhdGlvblN0YXR1cyA9IEFyYml0cmF0aW9uU3RhdHVz
OjpOb25lOworICAgIG1fY29ubmVjdGlvblRvV2ViUHJvY2Vzcy5jb25uZWN0aW9uKCkuc2VuZChN
ZXNzYWdlczo6R1BVUHJvY2Vzc0Nvbm5lY3Rpb246OkVuZFJvdXRpbmdBcmJpdHJhdGlvbigpLCAw
KTsKIH0KIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21hYy9Mb2Nh
bEF1ZGlvU2Vzc2lvblJvdXRpbmdBcmJpdHJhdG9yLmggYi9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nl
c3MvbWFjL0xvY2FsQXVkaW9TZXNzaW9uUm91dGluZ0FyYml0cmF0b3IuaAppbmRleCA5YWIyZGNl
NGMwNzE2NmIxYzNhMjcxZGIyMTE0MzgxZjc1N2MxMmViLi4wOGNkYjI5MDJiZWFkZTdjOGIyNThk
NmNlYjUxYzAzNDE5ZWQ0NzVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L0dQVVByb2Nlc3Mv
bWFjL0xvY2FsQXVkaW9TZXNzaW9uUm91dGluZ0FyYml0cmF0b3IuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0L0dQVVByb2Nlc3MvbWFjL0xvY2FsQXVkaW9TZXNzaW9uUm91dGluZ0FyYml0cmF0b3IuaApA
QCAtMjcsNyArMjcsNyBAQAogCiAjaWYgRU5BQkxFKFJPVVRJTkdfQVJCSVRSQVRJT04pICYmIEhB
VkUoQVZBVURJT19ST1VUSU5HX0FSQklURVIpCiAKLSNpbmNsdWRlIDxXZWJDb3JlL1NoYXJlZFJv
dXRpbmdBcmJpdHJhdG9yLmg+CisjaW5jbHVkZSAiQXVkaW9TZXNzaW9uUm91dGluZ0FyYml0cmF0
b3JQcm94eS5oIgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIApAQCAtMzYsMzQgKzM2LDIzIEBAIGNs
YXNzIExvY2FsQXVkaW9TZXNzaW9uUm91dGluZ0FyYml0cmF0b3IgZmluYWwKICAgICAsIHB1Ymxp
YyBDYW5NYWtlV2Vha1B0cjxMb2NhbEF1ZGlvU2Vzc2lvblJvdXRpbmdBcmJpdHJhdG9yPiB7CiAg
ICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiAKLSAgICBmcmllbmQgVW5pcXVlUmVmPExvY2Fs
QXVkaW9TZXNzaW9uUm91dGluZ0FyYml0cmF0b3I+IFdURjo6bWFrZVVuaXF1ZVJlZldpdGhvdXRG
YXN0TWFsbG9jQ2hlY2s8TG9jYWxBdWRpb1Nlc3Npb25Sb3V0aW5nQXJiaXRyYXRvcj4oKTsKKyAg
ICBmcmllbmQgVW5pcXVlUmVmPExvY2FsQXVkaW9TZXNzaW9uUm91dGluZ0FyYml0cmF0b3I+IFdU
Rjo6bWFrZVVuaXF1ZVJlZldpdGhvdXRGYXN0TWFsbG9jQ2hlY2s8TG9jYWxBdWRpb1Nlc3Npb25S
b3V0aW5nQXJiaXRyYXRvcj4oR1BVQ29ubmVjdGlvblRvV2ViUHJvY2VzcyYpOwogcHVibGljOgot
ICAgIHN0YXRpYyBVbmlxdWVSZWY8TG9jYWxBdWRpb1Nlc3Npb25Sb3V0aW5nQXJiaXRyYXRvcj4g
Y3JlYXRlKCk7CisgICAgc3RhdGljIFVuaXF1ZVJlZjxMb2NhbEF1ZGlvU2Vzc2lvblJvdXRpbmdB
cmJpdHJhdG9yPiBjcmVhdGUoR1BVQ29ubmVjdGlvblRvV2ViUHJvY2VzcyYpOwogICAgIHZpcnR1
YWwgfkxvY2FsQXVkaW9TZXNzaW9uUm91dGluZ0FyYml0cmF0b3IoKTsKIAogICAgIHVzaW5nIFdl
YWtWYWx1ZVR5cGUgPSBXZWJDb3JlOjpBdWRpb1Nlc3Npb25Sb3V0aW5nQXJiaXRyYXRpb25DbGll
bnQ7CiAKLSAgICBlbnVtIGNsYXNzIEFyYml0cmF0aW9uU3RhdHVzIDogdWludDhfdCB7Ci0gICAg
ICAgIE5vbmUsCi0gICAgICAgIFBlbmRpbmcsCi0gICAgICAgIEFjdGl2ZSwKLSAgICB9OwotCiAg
ICAgdm9pZCBwcm9jZXNzRGlkVGVybWluYXRlKCk7Ci0gICAgQXJiaXRyYXRpb25TdGF0dXMgYXJi
aXRyYXRpb25TdGF0dXMoKSBjb25zdCB7IHJldHVybiBtX2FyYml0cmF0aW9uU3RhdHVzOyB9Ci0g
ICAgV2FsbFRpbWUgYXJiaXRyYXRpb25VcGRhdGVUaW1lKCkgY29uc3QgeyByZXR1cm4gbV9hcmJp
dHJhdGlvblVwZGF0ZVRpbWU7IH0KIAogcHJpdmF0ZToKLSAgICBMb2NhbEF1ZGlvU2Vzc2lvblJv
dXRpbmdBcmJpdHJhdG9yKCk7CisgICAgTG9jYWxBdWRpb1Nlc3Npb25Sb3V0aW5nQXJiaXRyYXRv
cihHUFVDb25uZWN0aW9uVG9XZWJQcm9jZXNzJik7CiAKICAgICAvLyBBdWRpb1Nlc3Npb25Sb3V0
aW5nQXJiaXRyYXRpb25DbGllbnQKICAgICB2b2lkIGJlZ2luUm91dGluZ0FyYml0cmF0aW9uV2l0
aENhdGVnb3J5KFdlYkNvcmU6OkF1ZGlvU2Vzc2lvbjo6Q2F0ZWdvcnlUeXBlLCBBcmJpdHJhdGlv
bkNhbGxiYWNrJiYpIGZpbmFsOwogICAgIHZvaWQgbGVhdmVSb3V0aW5nQWJyaXRyYXRpb24oKSBm
aW5hbDsKIAotICAgIFVuaXF1ZVJlZjxXZWJDb3JlOjpTaGFyZWRSb3V0aW5nQXJiaXRyYXRvcjo6
VG9rZW4+IG1fdG9rZW47Ci0gICAgV2ViQ29yZTo6QXVkaW9TZXNzaW9uOjpDYXRlZ29yeVR5cGUg
bV9jYXRlZ29yeSB7IFdlYkNvcmU6OkF1ZGlvU2Vzc2lvbjo6Q2F0ZWdvcnlUeXBlOjpOb25lIH07
Ci0gICAgQXJiaXRyYXRpb25TdGF0dXMgbV9hcmJpdHJhdGlvblN0YXR1cyB7IEFyYml0cmF0aW9u
U3RhdHVzOjpOb25lIH07Ci0gICAgV2FsbFRpbWUgbV9hcmJpdHJhdGlvblVwZGF0ZVRpbWU7Cisg
ICAgR1BVQ29ubmVjdGlvblRvV2ViUHJvY2VzcyYgbV9jb25uZWN0aW9uVG9XZWJQcm9jZXNzOwog
fTsKIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21lZGlhL1JlbW90
ZUF1ZGlvU2Vzc2lvblByb3h5TWFuYWdlci5oIGIvU291cmNlL1dlYktpdC9HUFVQcm9jZXNzL21l
ZGlhL1JlbW90ZUF1ZGlvU2Vzc2lvblByb3h5TWFuYWdlci5oCmluZGV4IGNlMjdhNjRlMTU4MjQ0
NDFkYjhjNWFkMTIzM2Y4MTE4ZWMwM2RlYjQuLjI3ZjFkMTdiNjNhY2U3ZGZlNDhmZjE4MjI5NGYx
OGRlNjIyZWE0YWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvR1BVUHJvY2Vzcy9tZWRpYS9S
ZW1vdGVBdWRpb1Nlc3Npb25Qcm94eU1hbmFnZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0L0dQVVBy
b2Nlc3MvbWVkaWEvUmVtb3RlQXVkaW9TZXNzaW9uUHJveHlNYW5hZ2VyLmgKQEAgLTUxLDYgKzUx
LDcgQEAgcHVibGljOgogCiAgICAgYm9vbCB0cnlUb1NldEFjdGl2ZUZvclByb2Nlc3MoUmVtb3Rl
QXVkaW9TZXNzaW9uUHJveHkmLCBib29sKTsKIAorICAgIFdlYkNvcmU6OkF1ZGlvU2Vzc2lvbiYg
c2Vzc2lvbigpIHsgcmV0dXJuIG1fc2Vzc2lvbjsgfQogICAgIGNvbnN0IFdlYkNvcmU6OkF1ZGlv
U2Vzc2lvbiYgc2Vzc2lvbigpIGNvbnN0IHsgcmV0dXJuIG1fc2Vzc2lvbjsgfQogCiBwcml2YXRl
OgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9HUFVQcm9jZXNzQ29u
bmVjdGlvbi5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL0dQVVByb2Nlc3NDb25u
ZWN0aW9uLmNwcAppbmRleCA5Y2I4OGUzYjA5ZWY5Yjg2M2I2ODhjODQyNTYzZjQ0ZDRkYWM4NjIz
Li5iNDBmZmFmZTU0NGY3MzJjMzkxZjYxYTk5MWIxYWZlMGFmZGZhN2FhIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL0dQVVByb2Nlc3NDb25uZWN0aW9uLmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvR1BVL0dQVVByb2Nlc3NDb25uZWN0aW9uLmNwcApA
QCAtODUsNiArODUsMTAgQEAKICNpbmNsdWRlIDxXZWJDb3JlL1ZQOVV0aWxpdGllc0NvY29hLmg+
CiAjZW5kaWYKIAorI2lmIEVOQUJMRShST1VUSU5HX0FSQklUUkFUSU9OKQorI2luY2x1ZGUgIkF1
ZGlvU2Vzc2lvblJvdXRpbmdBcmJpdHJhdG9yLmgiCisjZW5kaWYKKwogbmFtZXNwYWNlIFdlYktp
dCB7CiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIApAQCAtMjMzLDYgKzIzNywyOSBAQCB2b2lk
IEdQVVByb2Nlc3NDb25uZWN0aW9uOjpkaWRSZWNlaXZlUmVtb3RlQ29tbWFuZChQbGF0Zm9ybU1l
ZGlhU2Vzc2lvbjo6UmVtb3RlQwogICAgIFBsYXRmb3JtTWVkaWFTZXNzaW9uTWFuYWdlcjo6c2hh
cmVkTWFuYWdlcigpLnByb2Nlc3NEaWRSZWNlaXZlUmVtb3RlQ29udHJvbENvbW1hbmQodHlwZSwg
YXJndW1lbnQpOwogfQogCisjaWYgRU5BQkxFKFJPVVRJTkdfQVJCSVRSQVRJT04pCit2b2lkIEdQ
VVByb2Nlc3NDb25uZWN0aW9uOjpiZWdpblJvdXRpbmdBcmJpdHJhdGlvbldpdGhDYXRlZ29yeShB
dWRpb1Nlc3Npb246OkNhdGVnb3J5VHlwZSBjYXRlZ29yeSwgQXVkaW9TZXNzaW9uUm91dGluZ0Fy
Yml0cmF0aW9uQ2xpZW50OjpBcmJpdHJhdGlvbkNhbGxiYWNrJiYgY2FsbGJhY2spCit7CisgICAg
aWYgKGF1dG8qIGFyYml0cmF0b3IgPSBXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5zdXBwbGVtZW50
PEF1ZGlvU2Vzc2lvblJvdXRpbmdBcmJpdHJhdG9yPigpKSB7CisgICAgICAgIGFyYml0cmF0b3It
PmJlZ2luUm91dGluZ0FyYml0cmF0aW9uV2l0aENhdGVnb3J5KGNhdGVnb3J5LCBXVEZNb3ZlKGNh
bGxiYWNrKSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBBU1NFUlRfTk9UX1JFQUNI
RUQoKTsKKyAgICBjYWxsYmFjayhBdWRpb1Nlc3Npb25Sb3V0aW5nQXJiaXRyYXRpb25DbGllbnQ6
OlJvdXRpbmdBcmJpdHJhdGlvbkVycm9yOjpGYWlsZWQsIEF1ZGlvU2Vzc2lvblJvdXRpbmdBcmJp
dHJhdGlvbkNsaWVudDo6RGVmYXVsdFJvdXRlQ2hhbmdlZDo6Tm8pOworfQorCit2b2lkIEdQVVBy
b2Nlc3NDb25uZWN0aW9uOjplbmRSb3V0aW5nQXJiaXRyYXRpb24oKQoreworICAgIGlmIChhdXRv
KiBhcmJpdHJhdG9yID0gV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkuc3VwcGxlbWVudDxBdWRpb1Nl
c3Npb25Sb3V0aW5nQXJiaXRyYXRvcj4oKSkgeworICAgICAgICBhcmJpdHJhdG9yLT5sZWF2ZVJv
dXRpbmdBYnJpdHJhdGlvbigpOworICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgQVNTRVJU
X05PVF9SRUFDSEVEKCk7Cit9CisjZW5kaWYKKwogI2lmIEhBVkUoVklTSUJJTElUWV9QUk9QQUdB
VElPTl9WSUVXKQogdm9pZCBHUFVQcm9jZXNzQ29ubmVjdGlvbjo6Y3JlYXRlVmlzaWJpbGl0eVBy
b3BhZ2F0aW9uQ29udGV4dEZvclBhZ2UoV2ViUGFnZSYgcGFnZSkKIHsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvR1BVUHJvY2Vzc0Nvbm5lY3Rpb24uaCBiL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9HUFUvR1BVUHJvY2Vzc0Nvbm5lY3Rpb24uaAppbmRleCAzYWY2
MDk1OWM3ZjM4Zjg3Nzg3MTk3OTU0OTA1ZjQ1ZTA1MzJmYTVjLi4zMzlhOTFiNDkxYTZkMTZkMWQ0
MzUwM2U1NzE1MTA5MTRlZWI1ZWYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvR1BVL0dQVVByb2Nlc3NDb25uZWN0aW9uLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL0dQVS9HUFVQcm9jZXNzQ29ubmVjdGlvbi5oCkBAIC0zMyw2ICszMyw3IEBACiAjaW5jbHVk
ZSAiTWVzc2FnZVJlY2VpdmVyTWFwLmgiCiAjaW5jbHVkZSAiU2FtcGxlQnVmZmVyRGlzcGxheUxh
eWVyTWFuYWdlci5oIgogI2luY2x1ZGUgIlNoYXJlZE1lbW9yeS5oIgorI2luY2x1ZGUgPFdlYkNv
cmUvQXVkaW9TZXNzaW9uLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9QbGF0Zm9ybU1lZGlhU2Vzc2lv
bi5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAjaW5jbHVkZSA8d3RmL1dlYWtIYXNo
U2V0Lmg+CkBAIC0xMjAsNiArMTIxLDExIEBAIHByaXZhdGU6CiAKICAgICB2b2lkIGRpZFJlY2Vp
dmVSZW1vdGVDb21tYW5kKFdlYkNvcmU6OlBsYXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1vdGVDb250
cm9sQ29tbWFuZFR5cGUsIGNvbnN0IFdlYkNvcmU6OlBsYXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1v
dGVDb21tYW5kQXJndW1lbnQmKTsKIAorI2lmIEVOQUJMRShST1VUSU5HX0FSQklUUkFUSU9OKQor
ICAgIHZvaWQgYmVnaW5Sb3V0aW5nQXJiaXRyYXRpb25XaXRoQ2F0ZWdvcnkoV2ViQ29yZTo6QXVk
aW9TZXNzaW9uOjpDYXRlZ29yeVR5cGUsIFdlYkNvcmU6OkF1ZGlvU2Vzc2lvblJvdXRpbmdBcmJp
dHJhdGlvbkNsaWVudDo6QXJiaXRyYXRpb25DYWxsYmFjayYmKTsKKyAgICB2b2lkIGVuZFJvdXRp
bmdBcmJpdHJhdGlvbigpOworI2VuZGlmCisKICAgICAvLyBUaGUgY29ubmVjdGlvbiBmcm9tIHRo
ZSB3ZWIgcHJvY2VzcyB0byB0aGUgR1BVIHByb2Nlc3MuCiAgICAgUmVmPElQQzo6Q29ubmVjdGlv
bj4gbV9jb25uZWN0aW9uOwogICAgIElQQzo6TWVzc2FnZVJlY2VpdmVyTWFwIG1fbWVzc2FnZVJl
Y2VpdmVyTWFwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9HUFVQ
cm9jZXNzQ29ubmVjdGlvbi5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9H
UFUvR1BVUHJvY2Vzc0Nvbm5lY3Rpb24ubWVzc2FnZXMuaW4KaW5kZXggODVhNmZjZDczN2M3NDlk
OWZmNDBkYjE4MDFhNjZkZGM4YmE0OTVkYi4uM2RhMGU2MWYwYzhhY2E3YjU3YmUxMDZhYjVhOTZk
NzgxZWE0ODY2NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL0dQVS9HUFVQ
cm9jZXNzQ29ubmVjdGlvbi5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvR1BVL0dQVVByb2Nlc3NDb25uZWN0aW9uLm1lc3NhZ2VzLmluCkBAIC0yNCw2ICsyNCwxMSBA
QAogCiBtZXNzYWdlcyAtPiBHUFVQcm9jZXNzQ29ubmVjdGlvbiBXYW50c0Rpc3BhdGNoTWVzc2Fn
ZSB7CiAgICAgRGlkUmVjZWl2ZVJlbW90ZUNvbW1hbmQoZW51bTp1aW50OF90IFdlYkNvcmU6OlBs
YXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1vdGVDb250cm9sQ29tbWFuZFR5cGUgdHlwZSwgc3RydWN0
IFdlYkNvcmU6OlBsYXRmb3JtTWVkaWFTZXNzaW9uOjpSZW1vdGVDb21tYW5kQXJndW1lbnQgYXJn
dW1lbnQpCisKKyNpZiBFTkFCTEUoUk9VVElOR19BUkJJVFJBVElPTikKKyAgICBCZWdpblJvdXRp
bmdBcmJpdHJhdGlvbldpdGhDYXRlZ29yeShlbnVtOnVpbnQ4X3QgV2ViQ29yZTo6QXVkaW9TZXNz
aW9uOjpDYXRlZ29yeVR5cGUgY2F0ZWdvcnkpIC0+IChlbnVtOnVpbnQ4X3QgV2ViS2l0OjpBdWRp
b1Nlc3Npb25Sb3V0aW5nQXJiaXRyYXRvclByb3h5OjpSb3V0aW5nQXJiaXRyYXRpb25FcnJvciBl
cnJvciwgZW51bTpib29sIFdlYktpdDo6QXVkaW9TZXNzaW9uUm91dGluZ0FyYml0cmF0b3JQcm94
eTo6RGVmYXVsdFJvdXRlQ2hhbmdlZCBkZWZhdWx0Um91dGVDaGFuZ2VkKSBBc3luYworICAgIEVu
ZFJvdXRpbmdBcmJpdHJhdGlvbigpOworI2VuZGlmCiB9CiAKICNlbmRpZiAvLyBFTkFCTEUoR1BV
X1BST0NFU1MpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvQXVk
aW9TZXNzaW9uUm91dGluZ0FyYml0cmF0b3IuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNz
L2NvY29hL0F1ZGlvU2Vzc2lvblJvdXRpbmdBcmJpdHJhdG9yLmNwcAppbmRleCA5Njk4OWU3YTdm
NjFhMWQ4Y2ZkYmY1YjA4Y2JmZDdhZTdmMGYzNzczLi43ZWVkMzlkYjg3ZDViNWFhZTUxODU1ODll
OWIxZmUyMzgwYWFhOTIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29j
b2EvQXVkaW9TZXNzaW9uUm91dGluZ0FyYml0cmF0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9jb2NvYS9BdWRpb1Nlc3Npb25Sb3V0aW5nQXJiaXRyYXRvci5jcHAKQEAgLTM5
LDggKzM5LDkgQEAgdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKIEF1ZGlvU2Vzc2lvblJvdXRp
bmdBcmJpdHJhdG9yOjpBdWRpb1Nlc3Npb25Sb3V0aW5nQXJiaXRyYXRvcihXZWJQcm9jZXNzJiBw
cm9jZXNzKQogICAgIDogbV9wcm9jZXNzKHByb2Nlc3MpCisgICAgLCBtX29ic2VydmVyKFt0aGlz
XSAoQXVkaW9TZXNzaW9uJiBzZXNzaW9uKSB7IHNlc3Npb24uc2V0Um91dGluZ0FyYml0cmF0aW9u
Q2xpZW50KG1ha2VXZWFrUHRyKHRoaXMpKTsgfSkKIHsKLSAgICBBdWRpb1Nlc3Npb246OnNoYXJl
ZFNlc3Npb24oKS5zZXRSb3V0aW5nQXJiaXRyYXRpb25DbGllbnQobWFrZVdlYWtQdHIodGhpcykp
OworICAgIEF1ZGlvU2Vzc2lvbjo6YWRkQXVkaW9TZXNzaW9uQ2hhbmdlZE9ic2VydmVyKG1fb2Jz
ZXJ2ZXIpOwogfQogCiBBdWRpb1Nlc3Npb25Sb3V0aW5nQXJiaXRyYXRvcjo6fkF1ZGlvU2Vzc2lv
blJvdXRpbmdBcmJpdHJhdG9yKCkgPSBkZWZhdWx0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL2NvY29hL0F1ZGlvU2Vzc2lvblJvdXRpbmdBcmJpdHJhdG9yLmggYi9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvQXVkaW9TZXNzaW9uUm91dGluZ0FyYml0cmF0b3Iu
aAppbmRleCBjNTYwYWI1NjY0MWJiNWI3NDgwNzZlYmVhNTNmNGUwOTRkNzkyZTdmLi5mMWQ1NzIz
MmZhZDI5M2ZiOGExZGU3ZTBlNDBiMjQwZjIwY2NhYTM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1dlYlByb2Nlc3MvY29jb2EvQXVkaW9TZXNzaW9uUm91dGluZ0FyYml0cmF0b3IuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvY29jb2EvQXVkaW9TZXNzaW9uUm91dGluZ0FyYml0
cmF0b3IuaApAQCAtNDgsMTIgKzQ4LDEzIEBAIHB1YmxpYzoKIAogICAgIHVzaW5nIFdlYWtWYWx1
ZVR5cGUgPSBXZWJDb3JlOjpBdWRpb1Nlc3Npb25Sb3V0aW5nQXJiaXRyYXRpb25DbGllbnQ7CiAK
LXByaXZhdGU6CiAgICAgLy8gQXVkaW9TZXNzaW9uUm91dGluZ0Ficml0cmF0b3IKICAgICB2b2lk
IGJlZ2luUm91dGluZ0FyYml0cmF0aW9uV2l0aENhdGVnb3J5KFdlYkNvcmU6OkF1ZGlvU2Vzc2lv
bjo6Q2F0ZWdvcnlUeXBlLCBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKFJvdXRpbmdBcmJpdHJhdGlv
bkVycm9yLCBEZWZhdWx0Um91dGVDaGFuZ2VkKT4mJikgZmluYWw7CiAgICAgdm9pZCBsZWF2ZVJv
dXRpbmdBYnJpdHJhdGlvbigpIGZpbmFsOwogCitwcml2YXRlOgogICAgIFdlYlByb2Nlc3MmIG1f
cHJvY2VzczsKKyAgICBXZWJDb3JlOjpBdWRpb1Nlc3Npb246OkNoYW5nZWRPYnNlcnZlciBtX29i
c2VydmVyOwogfTsKIAogfQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>