<?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>229392</bug_id>
          
          <creation_ts>2021-08-23 00:32:42 -0700</creation_ts>
          <short_desc>The simple text codepath does not handle unpaired surrogates</short_desc>
          <delta_ts>2024-03-26 15:23:24 -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=271691</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>
          
          <blocked>206208</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Myles C. Maxfield">mmaxfield</reporter>
          <assigned_to name="Myles C. Maxfield">mmaxfield</assigned_to>
          <cc>changseok</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>heycam</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>pdr</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1786333</commentid>
    <comment_count>0</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2021-08-23 00:32:42 -0700</bug_when>
    <thetext>The simple text codepath does not handle unpaired surrogates</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1786334</commentid>
    <comment_count>1</comment_count>
      <attachid>436156</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2021-08-23 00:34:26 -0700</bug_when>
    <thetext>Created attachment 436156
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1786335</commentid>
    <comment_count>2</comment_count>
      <attachid>436157</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2021-08-23 00:39:00 -0700</bug_when>
    <thetext>Created attachment 436157
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1786337</commentid>
    <comment_count>3</comment_count>
      <attachid>436156</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2021-08-23 00:49:44 -0700</bug_when>
    <thetext>Comment on attachment 436156
Patch

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

&gt; Source/WebCore/platform/graphics/SurrogatePairAwareTextIterator.h:60
&gt;      bool consumeSlowCase(UChar32&amp;, unsigned&amp;);

This should be deleted</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1786338</commentid>
    <comment_count>4</comment_count>
      <attachid>436156</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2021-08-23 01:00:56 -0700</bug_when>
    <thetext>Comment on attachment 436156
Patch

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

&gt; Source/WebCore/platform/graphics/SurrogatePairAwareTextIterator.h:22
&gt;  #ifndef SurrogatePairAwareTextIterator_h
&gt;  #define SurrogatePairAwareTextIterator_h

I can probably do #pragma once too</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1786341</commentid>
    <comment_count>5</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2021-08-23 01:06:40 -0700</bug_when>
    <thetext>It looks like there are some usages of SurrogatePairAwareTextIterator outside of the Cocoa ports.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1786344</commentid>
    <comment_count>6</comment_count>
      <attachid>436161</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2021-08-23 01:22:53 -0700</bug_when>
    <thetext>Created attachment 436161
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1786345</commentid>
    <comment_count>7</comment_count>
      <attachid>436162</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2021-08-23 01:27:00 -0700</bug_when>
    <thetext>Created attachment 436162
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1787966</commentid>
    <comment_count>8</comment_count>
      <attachid>436611</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2021-08-27 01:05:23 -0700</bug_when>
    <thetext>Created attachment 436611
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1788266</commentid>
    <comment_count>9</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-08-27 20:20:27 -0700</bug_when>
    <thetext>Committed r281731 (241073@main): &lt;https://commits.webkit.org/241073@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 436611.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1788267</commentid>
    <comment_count>10</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-08-27 20:21:17 -0700</bug_when>
    <thetext>&lt;rdar://problem/82465705&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>436156</attachid>
            <date>2021-08-23 00:34:26 -0700</date>
            <delta_ts>2021-08-23 00:38:58 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-229392-20210823003425.patch</filename>
            <type>text/plain</type>
            <size>13797</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgxNDMzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGUyYzQ0OGY2MWMzMGUw
ZWExY2I1MjgyOWNmNTdhNWNmN2E1MDkxMi4uZTlhYjZkMWM0ODU4MmEwNDc3N2QwMGFiNjMxMzlj
Y2FmMjRhNTAwOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDIxLTA4LTIzICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgVGhlIHNpbXBs
ZSB0ZXh0IGNvZGVwYXRoIGRvZXMgbm90IGhhbmRsZSB1bnBhaXJlZCBzdXJyb2dhdGVzCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjkzOTIKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGUgc2ltcGxlIHRl
eHQgY29kZXBhdGggd2FzIHRha2luZyBhbiBlYXJseSByZXR1cm4gaWYgaXQgZW5jb3VudGVyZWQg
YW4gdW5wYWlyZWQgc3Vycm9nYXRlLgorICAgICAgICBUaGlzIGVzc2VudGlhbGx5IGVuZHMgdXAg
YmVpbmcgZGF0YSBsb3NzLCBiZWNhdXNlIGV2ZXJ5dGhpbmcgYWZ0ZXIgdGhhdCBzdXJyb2dhdGUg
aXMganVzdCBnb25lLgorICAgICAgICBUaGUgb3RoZXIgYnJvd3NlcnMgcmVuZGVyIHRoZSB1bnBh
aXJlZCBzdXJyb2dhdGUsIGFuZCB0aGUgdGV4dCBhZnRlciBpdCB0b28uCisKKyAgICAgICAgVGVz
dDogZmFzdC90ZXh0L3VucGFpcmVkLXN1cnJvZ2F0ZS5odG1sCisKKyAgICAgICAgKiBTb3VyY2Vz
LnR4dDoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAg
ICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhc2NhZGUuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6Rm9udENhc2NhZGU6OmdldEVtcGhhc2lzTWFya0dseXBoRGF0YSBjb25zdCk6CisgICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3MvU3Vycm9nYXRlUGFpckF3YXJlVGV4dEl0ZXJhdG9yLmNwcDog
UmVtb3ZlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9TdXJyb2dhdGVQYWlyQXdhcmVU
ZXh0SXRlcmF0b3IuaDoKKyAgICAgICAgKFdlYkNvcmU6OlN1cnJvZ2F0ZVBhaXJBd2FyZVRleHRJ
dGVyYXRvcjo6U3Vycm9nYXRlUGFpckF3YXJlVGV4dEl0ZXJhdG9yKToKKyAgICAgICAgKFdlYkNv
cmU6OlN1cnJvZ2F0ZVBhaXJBd2FyZVRleHRJdGVyYXRvcjo6Y29uc3VtZSk6CisgICAgICAgIChX
ZWJDb3JlOjpTdXJyb2dhdGVQYWlyQXdhcmVUZXh0SXRlcmF0b3I6OmN1cnJlbnRJbmRleCBjb25z
dCk6CisgICAgICAgIChXZWJDb3JlOjpTdXJyb2dhdGVQYWlyQXdhcmVUZXh0SXRlcmF0b3I6OmNo
YXJhY3RlcnMgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL1dp
ZHRoSXRlcmF0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V2lkdGhJdGVyYXRvcjo6YWR2YW5j
ZUludGVybmFsKToKKwogMjAyMS0wOC0yMiAgQWxhbiBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+
CiAKICAgICAgICAgW0xGQ11bSUZDXSBBZGQgc3VwcG9ydCBmb3IgdmVydGljYWwtYWxpZ246IHN1
cGVyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dCBiL1NvdXJjZS9XZWJD
b3JlL1NvdXJjZXMudHh0CmluZGV4IDAzZTEyYTdhNzg3MjMxZDZhODllYzM3NWFmYTVjNDdkYzE2
ZjI5YzMuLmYxMjhlMTY0ODk5MTZlMzQyZGU1ZDA4ZGE3Zjc0MDIwOWNmYzgyMWEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL1NvdXJj
ZXMudHh0CkBAIC0xOTU3LDcgKzE5NTcsNiBAQCBwbGF0Zm9ybS9ncmFwaGljcy9Sb3VuZGVkUmVj
dC5jcHAKIHBsYXRmb3JtL2dyYXBoaWNzL1NoYWRvd0JsdXIuY3BwCiBwbGF0Zm9ybS9ncmFwaGlj
cy9Tb3VyY2VCdWZmZXJQcml2YXRlLmNwcAogcGxhdGZvcm0vZ3JhcGhpY3MvU3RyaW5nVHJ1bmNh
dG9yLmNwcAotcGxhdGZvcm0vZ3JhcGhpY3MvU3Vycm9nYXRlUGFpckF3YXJlVGV4dEl0ZXJhdG9y
LmNwcAogcGxhdGZvcm0vZ3JhcGhpY3MvVGV4dFJ1bi5jcHAKIHBsYXRmb3JtL2dyYXBoaWNzL1Rl
eHRUcmFja1JlcHJlc2VudGF0aW9uLmNwcAogcGxhdGZvcm0vZ3JhcGhpY3MvVHJhY2tQcml2YXRl
QmFzZS5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagppbmRleCBiMDkzNmEwZDQ1OWYyNDFiZTUyYTdhMWVjNGZjODZjNzM3NjE3M2ZiLi5l
NjZlNjA0NTIwOTczOWI0NjFmZDE3YmUyNWYwMWIyZGFmZTY3ODljIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC02MDcxLDcgKzYw
NzEsNiBAQAogCQkwODY0MUQ0NjEyMTQyRjdEMDA4REU5RjYgLyogUmVuZGVySW1hZ2VSZXNvdXJj
ZVN0eWxlSW1hZ2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVuZGVySW1h
Z2VSZXNvdXJjZVN0eWxlSW1hZ2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMDg2
QkJEMEUxMzYwMzlDMjAwOEIxNUQ4IC8qIEdseXBoLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IEdseXBoLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTA4NzNCODZB
MTM2MDY0RUEwMEE1MjJDMiAvKiBHbHlwaFBhZ2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gR2x5cGhQYWdlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTA4NzU1
OEMzMTNCNEE1N0QwMEY0OTMwNyAvKiBTdXJyb2dhdGVQYWlyQXdhcmVUZXh0SXRlcmF0b3IuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU3Vycm9nYXRlUGFpckF3YXJl
VGV4dEl0ZXJhdG9yLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMDg3NTU4QzQx
M0I0QTU3RDAwRjQ5MzA3IC8qIFN1cnJvZ2F0ZVBhaXJBd2FyZVRleHRJdGVyYXRvci5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTdXJyb2dhdGVQYWlyQXdhcmVUZXh0SXRlcmF0
b3IuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMDg4NTA2N0QxMURBMDQ1QjAwMTgy
Qjk4IC8qIFBhaW50SW5mby5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQYWlu
dEluZm8uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMDg4NTA2N0UxMURBMDQ1QjAw
MTgyQjk4IC8qIFBhaW50UGhhc2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
UGFpbnRQaGFzZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMjY3MzMsNyArMjY3
MzIsNiBAQAogCQkJCTdDODNERTg1MUQwNENCRDQwMEZFQkNGMyAvKiBTcHJpbmdTb2x2ZXIuaCAq
LywKIAkJCQlCMjM1NDBGMDBEMDA3ODJFMDAyMzgyRkEgLyogU3RyaW5nVHJ1bmNhdG9yLmNwcCAq
LywKIAkJCQlCMjM1NDBGMTBEMDA3ODJFMDAyMzgyRkEgLyogU3RyaW5nVHJ1bmNhdG9yLmggKi8s
Ci0JCQkJMDg3NTU4QzMxM0I0QTU3RDAwRjQ5MzA3IC8qIFN1cnJvZ2F0ZVBhaXJBd2FyZVRleHRJ
dGVyYXRvci5jcHAgKi8sCiAJCQkJMDg3NTU4QzQxM0I0QTU3RDAwRjQ5MzA3IC8qIFN1cnJvZ2F0
ZVBhaXJBd2FyZVRleHRJdGVyYXRvci5oICovLAogCQkJCTNCQjZCODBGMjJBN0QzMTEwMDNBMkE2
OSAvKiBUYWJTaXplLmggKi8sCiAJCQkJMzc2RENDRTAxM0I0Rjk2NjAwMkVCRUZDIC8qIFRleHRS
dW4uY3BwICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Rm9udENhc2NhZGUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENh
c2NhZGUuY3BwCmluZGV4IDA1MGUyODdkOTlkY2ViYWE1NGYzM2JmZWFmOWI2YzhkOWZiY2RkYTYu
LmNkMjRkNmNhMmFiY2JhMmM5MWUwNWI1ZGQxZDQ1M2NhMDgzMmQ2YjggMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYXNjYWRlLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FzY2FkZS5jcHAKQEAgLTExOTQsMTAg
KzExOTQsOSBAQCBzdGQ6Om9wdGlvbmFsPEdseXBoRGF0YT4gRm9udENhc2NhZGU6OmdldEVtcGhh
c2lzTWFya0dseXBoRGF0YShjb25zdCBBdG9tU3RyaW5nJgogCiAgICAgVUNoYXIzMiBjaGFyYWN0
ZXI7CiAgICAgaWYgKCFtYXJrLmlzOEJpdCgpKSB7Ci0gICAgICAgIFN1cnJvZ2F0ZVBhaXJBd2Fy
ZVRleHRJdGVyYXRvciBpdGVyYXRvcihtYXJrLmNoYXJhY3RlcnMxNigpLCAwLCBtYXJrLmxlbmd0
aCgpLCBtYXJrLmxlbmd0aCgpKTsKLSAgICAgICAgdW5zaWduZWQgY2x1c3Rlckxlbmd0aDsKLSAg
ICAgICAgaWYgKCFpdGVyYXRvci5jb25zdW1lKGNoYXJhY3RlciwgY2x1c3Rlckxlbmd0aCkpCi0g
ICAgICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OworICAgICAgICBzaXplX3QgaSA9IDA7Cisg
ICAgICAgIFUxNl9ORVhUKG1hcmsuY2hhcmFjdGVyczE2KCksIGksIG1hcmsubGVuZ3RoKCksIGNo
YXJhY3Rlcik7CisgICAgICAgIEFTU0VSVChVMTZfSVNfU0lOR0xFKGNoYXJhY3RlcikpOyAvLyBU
aGUgQ1NTIHBhcnNlciByZXBsYWNlcyB1bnBhaXJlZCBzdXJyb2dhdGVzIHdpdGggdGhlIG9iamVj
dCByZXBsYWNlbWVudCBjaGFyYWN0ZXIuCiAgICAgfSBlbHNlCiAgICAgICAgIGNoYXJhY3RlciA9
IG1hcmtbMF07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L1N1cnJvZ2F0ZVBhaXJBd2FyZVRleHRJdGVyYXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9TdXJyb2dhdGVQYWlyQXdhcmVUZXh0SXRlcmF0b3IuY3BwCmRlbGV0ZWQg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1YWVlNGNjNDJhYzJkNzQ3MmRlNzk5ZWIxNjE5ZGUwYmNi
MTEyZDBlLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1N1cnJvZ2F0ZVBhaXJBd2FyZVRleHRJdGVy
YXRvci5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSw4MCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0
IChDKSAyMDAzLTIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICogQ29weXJp
Z2h0IChDKSAyMDA4IEhvbGdlciBIYW5zIFBldGVyIEZyZXl0aGVyCi0gKiBDb3B5cmlnaHQgKEMp
IFJlc2VhcmNoIEluIE1vdGlvbiBMaW1pdGVkIDIwMTEuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0g
KgotICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRl
IGl0IGFuZC9vcgotICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJh
cnkgR2VuZXJhbCBQdWJsaWMKLSAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNv
ZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgotICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBv
ciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotICoKLSAqIFRoaXMgbGlicmFy
eSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotICog
YnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFu
dHkgb2YKLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRS4gIFNlZSB0aGUgR05VCi0gKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9y
IG1vcmUgZGV0YWlscy4KLSAqCi0gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9m
IHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0gKiBhbG9uZyB3aXRoIHRo
aXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bwot
ICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0
LCBGaWZ0aCBGbG9vciwKLSAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgotICoKLSAqLwot
Ci0jaW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVkZSAiU3Vycm9nYXRlUGFpckF3YXJlVGV4dEl0
ZXJhdG9yLmgiCi0KLSNpbmNsdWRlIDx1bmljb2RlL3Vub3JtMi5oPgotCi1uYW1lc3BhY2UgV2Vi
Q29yZSB7Ci0KLVN1cnJvZ2F0ZVBhaXJBd2FyZVRleHRJdGVyYXRvcjo6U3Vycm9nYXRlUGFpckF3
YXJlVGV4dEl0ZXJhdG9yKGNvbnN0IFVDaGFyKiBjaGFyYWN0ZXJzLCB1bnNpZ25lZCBjdXJyZW50
SW5kZXgsIHVuc2lnbmVkIGxhc3RJbmRleCwgdW5zaWduZWQgZW5kSW5kZXgpCi0gICAgOiBtX2No
YXJhY3RlcnMoY2hhcmFjdGVycykKLSAgICAsIG1fY3VycmVudEluZGV4KGN1cnJlbnRJbmRleCkK
LSAgICAsIG1fbGFzdEluZGV4KGxhc3RJbmRleCkKLSAgICAsIG1fZW5kSW5kZXgoZW5kSW5kZXgp
Ci17Ci19Ci0KLWJvb2wgU3Vycm9nYXRlUGFpckF3YXJlVGV4dEl0ZXJhdG9yOjpjb25zdW1lU2xv
d0Nhc2UoVUNoYXIzMiYgY2hhcmFjdGVyLCB1bnNpZ25lZCYgY2x1c3Rlckxlbmd0aCkKLXsKLSAg
ICBBU1NFUlQoVTE2X0lTX1NVUlJPR0FURShjaGFyYWN0ZXIpKTsKLQotICAgIC8vIElmIHdlIGhh
dmUgYSBzdXJyb2dhdGUgcGFpciwgbWFrZSBzdXJlIGl0IHN0YXJ0cyB3aXRoIHRoZSBoaWdoIHBh
cnQuCi0gICAgaWYgKCFVMTZfSVNfU1VSUk9HQVRFX0xFQUQoY2hhcmFjdGVyKSkKLSAgICAgICAg
cmV0dXJuIGZhbHNlOwotCi0gICAgLy8gRG8gd2UgaGF2ZSBhIHN1cnJvZ2F0ZSBwYWlyPyBJZiBz
bywgZGV0ZXJtaW5lIHRoZSBmdWxsIFVuaWNvZGUgKDMyIGJpdCkgY29kZSBwb2ludCBiZWZvcmUg
Z2x5cGggbG9va3VwLgotICAgIC8vIE1ha2Ugc3VyZSB3ZSBoYXZlIGFub3RoZXIgY2hhcmFjdGVy
IGFuZCBpdCdzIGEgbG93IHN1cnJvZ2F0ZS4KLSAgICBpZiAobV9jdXJyZW50SW5kZXggKyAxID49
IG1fZW5kSW5kZXgpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIFVDaGFyIGxvdyA9IG1f
Y2hhcmFjdGVyc1sxXTsKLSAgICBpZiAoIVUxNl9JU19UUkFJTChsb3cpKQotICAgICAgICByZXR1
cm4gZmFsc2U7Ci0KLSAgICBjaGFyYWN0ZXIgPSBVMTZfR0VUX1NVUFBMRU1FTlRBUlkoY2hhcmFj
dGVyLCBsb3cpOwotICAgIGNsdXN0ZXJMZW5ndGggPSAyOwotICAgIHJldHVybiB0cnVlOwotfQot
Ci1VQ2hhcjMyIFN1cnJvZ2F0ZVBhaXJBd2FyZVRleHRJdGVyYXRvcjo6bm9ybWFsaXplVm9pY2lu
Z01hcmtzKCkKLXsKLSAgICAvLyBBY2NvcmRpbmcgdG8gaHR0cDovL3d3dy51bmljb2RlLm9yZy9Q
dWJsaWMvVU5JREFUQS9VQ0QuaHRtbCNDYW5vbmljYWxfQ29tYmluaW5nX0NsYXNzX1ZhbHVlcwot
ICAgIHN0YXRpYyBjb25zdGV4cHIgdWludDhfdCBoaXJhZ2FuYUthdGFrYW5hVm9pY2luZ01hcmtz
Q29tYmluaW5nQ2xhc3MgPSA4OwotCi0gICAgaWYgKG1fY3VycmVudEluZGV4ICsgMSA+PSBtX2Vu
ZEluZGV4KQotICAgICAgICByZXR1cm4gMDsKLQotICAgIGlmICh1X2dldENvbWJpbmluZ0NsYXNz
KG1fY2hhcmFjdGVyc1sxXSkgPT0gaGlyYWdhbmFLYXRha2FuYVZvaWNpbmdNYXJrc0NvbWJpbmlu
Z0NsYXNzKSB7Ci0gICAgICAgIFVFcnJvckNvZGUgc3RhdHVzID0gVV9aRVJPX0VSUk9SOwotICAg
ICAgICBjb25zdCBVTm9ybWFsaXplcjIqIG5vcm1hbGl6ZXIgPSB1bm9ybTJfZ2V0TkZDSW5zdGFu
Y2UoJnN0YXR1cyk7Ci0gICAgICAgIEFTU0VSVChVX1NVQ0NFU1Moc3RhdHVzKSk7Ci0gICAgICAg
IGF1dG8gY29tcG9zZWRDaGFyYWN0ZXIgPSB1bm9ybTJfY29tcG9zZVBhaXIobm9ybWFsaXplciwg
bV9jaGFyYWN0ZXJzWzBdLCBtX2NoYXJhY3RlcnNbMV0pOwotICAgICAgICBpZiAoY29tcG9zZWRD
aGFyYWN0ZXIgPiAwKQotICAgICAgICAgICAgcmV0dXJuIGNvbXBvc2VkQ2hhcmFjdGVyOwotICAg
IH0KLQotICAgIHJldHVybiAwOwotfQotCi19CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9TdXJyb2dhdGVQYWlyQXdhcmVUZXh0SXRlcmF0b3IuaCBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1N1cnJvZ2F0ZVBhaXJBd2FyZVRleHRJdGVyYXRv
ci5oCmluZGV4IDM1NGZjOTllMTAyNWRjZmIzNmM2YTM1NTQ0Nzk2MWJjMjkwZDJkYmYuLjk1ZTk3
MGYwMGU4ZGViZjUzZmZkYzEzMTg4ZWEwMWEyYTc2ZGNjNGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1N1cnJvZ2F0ZVBhaXJBd2FyZVRleHRJdGVyYXRvci5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1N1cnJvZ2F0ZVBhaXJBd2Fy
ZVRleHRJdGVyYXRvci5oCkBAIC0yMSwyOSArMjEsMzEgQEAKICNpZm5kZWYgU3Vycm9nYXRlUGFp
ckF3YXJlVGV4dEl0ZXJhdG9yX2gKICNkZWZpbmUgU3Vycm9nYXRlUGFpckF3YXJlVGV4dEl0ZXJh
dG9yX2gKIAotI2luY2x1ZGUgPHd0Zi91bmljb2RlL0NoYXJhY3Rlck5hbWVzLmg+CisjaW5jbHVk
ZSA8dW5pY29kZS91dGYxNi5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCiBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFN1cnJvZ2F0ZVBhaXJBd2FyZVRleHRJdGVyYXRv
ciB7CiBwdWJsaWM6Ci0gICAgLy8gVGhlIHBhc3NlZCBpbiBVQ2hhciBwb2ludGVyIHN0YXJ0cyBh
dCAnY3VycmVudEluZGV4Jy4gVGhlIGl0ZXJhdG9yIG9wZXJhdG9lcyBvbiB0aGUgcmFuZ2UgW2N1
cnJlbnRJbmRleCwgbGFzdEluZGV4XS4KKyAgICAvLyBUaGUgcGFzc2VkIGluIFVDaGFyIHBvaW50
ZXIgc3RhcnRzIGF0ICdjdXJyZW50SW5kZXgnLiBUaGUgaXRlcmF0b3Igb3BlcmF0ZXMgb24gdGhl
IHJhbmdlIFtjdXJyZW50SW5kZXgsIGxhc3RJbmRleF0uCiAgICAgLy8gJ2VuZEluZGV4JyBkZW5v
dGVzIHRoZSBtYXhpbXVtIGxlbmd0aCBvZiB0aGUgVUNoYXIgYXJyYXksIHdoaWNoIG1pZ2h0IGV4
Y2VlZCAnbGFzdEluZGV4Jy4KLSAgICBTdXJyb2dhdGVQYWlyQXdhcmVUZXh0SXRlcmF0b3IoY29u
c3QgVUNoYXIqLCB1bnNpZ25lZCBjdXJyZW50SW5kZXgsIHVuc2lnbmVkIGxhc3RJbmRleCwgdW5z
aWduZWQgZW5kSW5kZXgpOworICAgIFN1cnJvZ2F0ZVBhaXJBd2FyZVRleHRJdGVyYXRvcihjb25z
dCBVQ2hhciogY2hhcmFjdGVycywgdW5zaWduZWQgY3VycmVudEluZGV4LCB1bnNpZ25lZCBsYXN0
SW5kZXgsIHVuc2lnbmVkIGVuZEluZGV4KQorICAgICAgICA6IG1fY2hhcmFjdGVycyhjaGFyYWN0
ZXJzKQorICAgICAgICAsIG1fY3VycmVudEluZGV4KGN1cnJlbnRJbmRleCkKKyAgICAgICAgLCBt
X2xhc3RJbmRleChsYXN0SW5kZXgpCisgICAgICAgICwgbV9lbmRJbmRleChlbmRJbmRleCkKKyAg
ICB7CisgICAgfQogCi0gICAgaW5saW5lIGJvb2wgY29uc3VtZShVQ2hhcjMyJiBjaGFyYWN0ZXIs
IHVuc2lnbmVkJiBjbHVzdGVyTGVuZ3RoKQorICAgIGJvb2wgY29uc3VtZShVQ2hhcjMyJiBjaGFy
YWN0ZXIsIHVuc2lnbmVkJiBjbHVzdGVyTGVuZ3RoKQogICAgIHsKICAgICAgICAgaWYgKG1fY3Vy
cmVudEluZGV4ID49IG1fbGFzdEluZGV4KQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0g
ICAgICAgIGNoYXJhY3RlciA9ICptX2NoYXJhY3RlcnM7Ci0gICAgICAgIGNsdXN0ZXJMZW5ndGgg
PSAxOwotCi0gICAgICAgIGlmICghVTE2X0lTX1NVUlJPR0FURShjaGFyYWN0ZXIpKQotICAgICAg
ICAgICAgcmV0dXJuIHRydWU7Ci0KLSAgICAgICAgcmV0dXJuIGNvbnN1bWVTbG93Q2FzZShjaGFy
YWN0ZXIsIGNsdXN0ZXJMZW5ndGgpOworICAgICAgICBjbHVzdGVyTGVuZ3RoID0gMDsKKyAgICAg
ICAgVTE2X05FWFQobV9jaGFyYWN0ZXJzLCBjbHVzdGVyTGVuZ3RoLCBtX2VuZEluZGV4IC0gbV9j
dXJyZW50SW5kZXgsIGNoYXJhY3Rlcik7CisgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KIAog
ICAgIHZvaWQgYWR2YW5jZSh1bnNpZ25lZCBhZHZhbmNlTGVuZ3RoKQpAQCAtNTMsMTYgKzU1LDE0
IEBAIHB1YmxpYzoKICAgICB9CiAKICAgICB1bnNpZ25lZCBjdXJyZW50SW5kZXgoKSBjb25zdCB7
IHJldHVybiBtX2N1cnJlbnRJbmRleDsgfQotICAgIGNvbnN0IFVDaGFyKiBjaGFyYWN0ZXJzKCkg
Y29uc3QgeyByZXR1cm4gbV9jaGFyYWN0ZXJzOyB9CiAKIHByaXZhdGU6CiAgICAgYm9vbCBjb25z
dW1lU2xvd0Nhc2UoVUNoYXIzMiYsIHVuc2lnbmVkJik7Ci0gICAgVUNoYXIzMiBub3JtYWxpemVW
b2ljaW5nTWFya3MoKTsKIAotICAgIGNvbnN0IFVDaGFyKiBtX2NoYXJhY3RlcnM7Ci0gICAgdW5z
aWduZWQgbV9jdXJyZW50SW5kZXg7Ci0gICAgdW5zaWduZWQgbV9sYXN0SW5kZXg7Ci0gICAgdW5z
aWduZWQgbV9lbmRJbmRleDsKKyAgICBjb25zdCBVQ2hhciogbV9jaGFyYWN0ZXJzIHsgbnVsbHB0
ciB9OworICAgIHVuc2lnbmVkIG1fY3VycmVudEluZGV4IHsgMCB9OworICAgIHVuc2lnbmVkIG1f
bGFzdEluZGV4IHsgMCB9OworICAgIHVuc2lnbmVkIG1fZW5kSW5kZXggeyAwIH07CiB9OwogCiB9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9XaWR0aEl0ZXJh
dG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1dpZHRoSXRlcmF0b3Iu
Y3BwCmluZGV4IGRlNGFlZGY4NzIzMGUzYjAxMWE4YWRmOGUwZTlhNjAyMTgzYmViMDMuLmZkODc5
ODBiY2I4MWI2MWVkMWE1ZWZiZjFlNzM4NzYwNmI2MTMxY2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1dpZHRoSXRlcmF0b3IuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1dpZHRoSXRlcmF0b3IuY3BwCkBAIC0yNzgsNiArMjc4
LDggQEAgaW5saW5lIHZvaWQgV2lkdGhJdGVyYXRvcjo6YWR2YW5jZUludGVybmFsKFRleHRJdGVy
YXRvciYgdGV4dEl0ZXJhdG9yLCBHbHlwaEJ1ZmYKICAgICBmbG9hdCB3aWR0aE9mQ3VycmVudEZv
bnRSYW5nZSA9IDA7CiAgICAgLy8gV2UgYXJlIGl0ZXJhdGluZyBpbiBzdHJpbmcgb3JkZXIsIG5v
dCBnbHlwaCBvcmRlci4gQ29tcGFyZSB0aGlzIHRvIENvbXBsZXhUZXh0Q29udHJvbGxlcjo6YWRq
dXN0R2x5cGhzQW5kQWR2YW5jZXMoKQogICAgIHdoaWxlICh0ZXh0SXRlcmF0b3IuY29uc3VtZShj
aGFyYWN0ZXIsIGNsdXN0ZXJMZW5ndGgpKSB7CisgICAgICAgIC8vIEZJWE1FOiBTaG91bGQgd2Ug
cmVwbGFjZSB1bnBhaXJlZCBzdXJyb2dhdGVzIHdpdGggdGhlIG9iamVjdCByZXBsYWNlbWVudCBj
aGFyYWN0ZXI/CisgICAgICAgIC8vIFNob3VsZCB3ZSBkbyB0aGlzIGJlZm9yZSBvciBhZnRlciBz
aGFwaW5nPyBXaGF0IGRvZXMgYSBzaGFwZXIgZG8gd2l0aCBhbiB1bnBhaXJlZCBzdXJyb2dhdGU/
CiAgICAgICAgIG1fY29udGFpbnNUYWJzIHw9IGNoYXJhY3RlciA9PSB0YWJDaGFyYWN0ZXI7CiAg
ICAgICAgIGN1cnJlbnRDaGFyYWN0ZXJJbmRleCA9IHRleHRJdGVyYXRvci5jdXJyZW50SW5kZXgo
KTsKICAgICAgICAgdW5zaWduZWQgYWR2YW5jZUxlbmd0aCA9IGNsdXN0ZXJMZW5ndGg7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5k
ZXggODc0ZGU0ZWQyM2NlMDIxOTdhZTYxNmQzMmNlMTNkZDk2N2UxNGIwNC4uM2E2N2ZiMzk2MmE3
MWNmZDM3ZmFhNWQyZDE1YmU4ZGZiMzBkOTc2ZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDIx
LTA4LTIzICBNeWxlcyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAg
ICAgVGhlIHNpbXBsZSB0ZXh0IGNvZGVwYXRoIGRvZXMgbm90IGhhbmRsZSB1bnBhaXJlZCBzdXJy
b2dhdGVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MjkzOTIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAq
IGZhc3QvdGV4dC91bnBhaXJlZC1zdXJyb2dhdGUtZXhwZWN0ZWQtbWlzbWF0Y2guaHRtbDogQWRk
ZWQuCisgICAgICAgICogZmFzdC90ZXh0L3VucGFpcmVkLXN1cnJvZ2F0ZS5odG1sOiBBZGRlZC4K
KwogMjAyMS0wOC0yMiAgQWxhbiBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CiAKICAgICAgICAg
W2lPU10gVW5yZXZpZXdlZCB0ZXN0IGdhcmRlbmluZy4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvdGV4dC91bnBhaXJlZC1zdXJyb2dhdGUtZXhwZWN0ZWQtbWlzbWF0Y2guaHRtbCBiL0xh
eW91dFRlc3RzL2Zhc3QvdGV4dC91bnBhaXJlZC1zdXJyb2dhdGUtZXhwZWN0ZWQtbWlzbWF0Y2gu
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5lZWIyNzllZjBjODEzMzQ0YTA3ODMyODc5ODc2MzI5NmY0MTY5YzVh
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L3VucGFpcmVkLXN1cnJv
Z2F0ZS1leHBlY3RlZC1taXNtYXRjaC5odG1sCkBAIC0wLDAgKzEsOCBAQAorPCFET0NUWVBFIGh0
bWw+Cis8aHRtbD4KKzxoZWFkPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IGlkPSJ0YXJnZXQiIHN0
eWxlPSJmb250LXNpemU6IDEwMHB4OyI+YTwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L3VucGFpcmVkLXN1cnJvZ2F0ZS5odG1sIGIvTGF5
b3V0VGVzdHMvZmFzdC90ZXh0L3VucGFpcmVkLXN1cnJvZ2F0ZS5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjFi
NmRmYWE5YzNhMmY2MjJiZTg3ZWUwMDczOWVmMDBkZWFhOGQ3ODYKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L3RleHQvdW5wYWlyZWQtc3Vycm9nYXRlLmh0bWwKQEAgLTAsMCAr
MSwxMiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPC9oZWFkPgorPGJvZHk+
Cis8ZGl2IGlkPSJ0YXJnZXQiIHN0eWxlPSJmb250LXNpemU6IDEwMHB4OyI+PC9kaXY+Cis8c2Ny
aXB0PgorbGV0IHRhcmdldCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0YXJnZXQiKTsKK3Rh
cmdldC50ZXh0Q29udGVudCA9ICdhXHVEODAwYic7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>436157</attachid>
            <date>2021-08-23 00:39:00 -0700</date>
            <delta_ts>2021-08-23 01:22:51 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-229392-20210823003859.patch</filename>
            <type>text/plain</type>
            <size>14292</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgxNDMzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGUyYzQ0OGY2MWMzMGUw
ZWExY2I1MjgyOWNmNTdhNWNmN2E1MDkxMi4uZTlhYjZkMWM0ODU4MmEwNDc3N2QwMGFiNjMxMzlj
Y2FmMjRhNTAwOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDIxLTA4LTIzICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgVGhlIHNpbXBs
ZSB0ZXh0IGNvZGVwYXRoIGRvZXMgbm90IGhhbmRsZSB1bnBhaXJlZCBzdXJyb2dhdGVzCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjkzOTIKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGUgc2ltcGxlIHRl
eHQgY29kZXBhdGggd2FzIHRha2luZyBhbiBlYXJseSByZXR1cm4gaWYgaXQgZW5jb3VudGVyZWQg
YW4gdW5wYWlyZWQgc3Vycm9nYXRlLgorICAgICAgICBUaGlzIGVzc2VudGlhbGx5IGVuZHMgdXAg
YmVpbmcgZGF0YSBsb3NzLCBiZWNhdXNlIGV2ZXJ5dGhpbmcgYWZ0ZXIgdGhhdCBzdXJyb2dhdGUg
aXMganVzdCBnb25lLgorICAgICAgICBUaGUgb3RoZXIgYnJvd3NlcnMgcmVuZGVyIHRoZSB1bnBh
aXJlZCBzdXJyb2dhdGUsIGFuZCB0aGUgdGV4dCBhZnRlciBpdCB0b28uCisKKyAgICAgICAgVGVz
dDogZmFzdC90ZXh0L3VucGFpcmVkLXN1cnJvZ2F0ZS5odG1sCisKKyAgICAgICAgKiBTb3VyY2Vz
LnR4dDoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAg
ICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhc2NhZGUuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6Rm9udENhc2NhZGU6OmdldEVtcGhhc2lzTWFya0dseXBoRGF0YSBjb25zdCk6CisgICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3MvU3Vycm9nYXRlUGFpckF3YXJlVGV4dEl0ZXJhdG9yLmNwcDog
UmVtb3ZlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9TdXJyb2dhdGVQYWlyQXdhcmVU
ZXh0SXRlcmF0b3IuaDoKKyAgICAgICAgKFdlYkNvcmU6OlN1cnJvZ2F0ZVBhaXJBd2FyZVRleHRJ
dGVyYXRvcjo6U3Vycm9nYXRlUGFpckF3YXJlVGV4dEl0ZXJhdG9yKToKKyAgICAgICAgKFdlYkNv
cmU6OlN1cnJvZ2F0ZVBhaXJBd2FyZVRleHRJdGVyYXRvcjo6Y29uc3VtZSk6CisgICAgICAgIChX
ZWJDb3JlOjpTdXJyb2dhdGVQYWlyQXdhcmVUZXh0SXRlcmF0b3I6OmN1cnJlbnRJbmRleCBjb25z
dCk6CisgICAgICAgIChXZWJDb3JlOjpTdXJyb2dhdGVQYWlyQXdhcmVUZXh0SXRlcmF0b3I6OmNo
YXJhY3RlcnMgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL1dp
ZHRoSXRlcmF0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V2lkdGhJdGVyYXRvcjo6YWR2YW5j
ZUludGVybmFsKToKKwogMjAyMS0wOC0yMiAgQWxhbiBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+
CiAKICAgICAgICAgW0xGQ11bSUZDXSBBZGQgc3VwcG9ydCBmb3IgdmVydGljYWwtYWxpZ246IHN1
cGVyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dCBiL1NvdXJjZS9XZWJD
b3JlL1NvdXJjZXMudHh0CmluZGV4IDAzZTEyYTdhNzg3MjMxZDZhODllYzM3NWFmYTVjNDdkYzE2
ZjI5YzMuLmYxMjhlMTY0ODk5MTZlMzQyZGU1ZDA4ZGE3Zjc0MDIwOWNmYzgyMWEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL1NvdXJj
ZXMudHh0CkBAIC0xOTU3LDcgKzE5NTcsNiBAQCBwbGF0Zm9ybS9ncmFwaGljcy9Sb3VuZGVkUmVj
dC5jcHAKIHBsYXRmb3JtL2dyYXBoaWNzL1NoYWRvd0JsdXIuY3BwCiBwbGF0Zm9ybS9ncmFwaGlj
cy9Tb3VyY2VCdWZmZXJQcml2YXRlLmNwcAogcGxhdGZvcm0vZ3JhcGhpY3MvU3RyaW5nVHJ1bmNh
dG9yLmNwcAotcGxhdGZvcm0vZ3JhcGhpY3MvU3Vycm9nYXRlUGFpckF3YXJlVGV4dEl0ZXJhdG9y
LmNwcAogcGxhdGZvcm0vZ3JhcGhpY3MvVGV4dFJ1bi5jcHAKIHBsYXRmb3JtL2dyYXBoaWNzL1Rl
eHRUcmFja1JlcHJlc2VudGF0aW9uLmNwcAogcGxhdGZvcm0vZ3JhcGhpY3MvVHJhY2tQcml2YXRl
QmFzZS5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagppbmRleCBiMDkzNmEwZDQ1OWYyNDFiZTUyYTdhMWVjNGZjODZjNzM3NjE3M2ZiLi5l
NjZlNjA0NTIwOTczOWI0NjFmZDE3YmUyNWYwMWIyZGFmZTY3ODljIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC02MDcxLDcgKzYw
NzEsNiBAQAogCQkwODY0MUQ0NjEyMTQyRjdEMDA4REU5RjYgLyogUmVuZGVySW1hZ2VSZXNvdXJj
ZVN0eWxlSW1hZ2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUmVuZGVySW1h
Z2VSZXNvdXJjZVN0eWxlSW1hZ2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMDg2
QkJEMEUxMzYwMzlDMjAwOEIxNUQ4IC8qIEdseXBoLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IEdseXBoLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTA4NzNCODZB
MTM2MDY0RUEwMEE1MjJDMiAvKiBHbHlwaFBhZ2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gR2x5cGhQYWdlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTA4NzU1
OEMzMTNCNEE1N0QwMEY0OTMwNyAvKiBTdXJyb2dhdGVQYWlyQXdhcmVUZXh0SXRlcmF0b3IuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU3Vycm9nYXRlUGFpckF3YXJl
VGV4dEl0ZXJhdG9yLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMDg3NTU4QzQx
M0I0QTU3RDAwRjQ5MzA3IC8qIFN1cnJvZ2F0ZVBhaXJBd2FyZVRleHRJdGVyYXRvci5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTdXJyb2dhdGVQYWlyQXdhcmVUZXh0SXRlcmF0
b3IuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMDg4NTA2N0QxMURBMDQ1QjAwMTgy
Qjk4IC8qIFBhaW50SW5mby5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBQYWlu
dEluZm8uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMDg4NTA2N0UxMURBMDQ1QjAw
MTgyQjk4IC8qIFBhaW50UGhhc2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
UGFpbnRQaGFzZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMjY3MzMsNyArMjY3
MzIsNiBAQAogCQkJCTdDODNERTg1MUQwNENCRDQwMEZFQkNGMyAvKiBTcHJpbmdTb2x2ZXIuaCAq
LywKIAkJCQlCMjM1NDBGMDBEMDA3ODJFMDAyMzgyRkEgLyogU3RyaW5nVHJ1bmNhdG9yLmNwcCAq
LywKIAkJCQlCMjM1NDBGMTBEMDA3ODJFMDAyMzgyRkEgLyogU3RyaW5nVHJ1bmNhdG9yLmggKi8s
Ci0JCQkJMDg3NTU4QzMxM0I0QTU3RDAwRjQ5MzA3IC8qIFN1cnJvZ2F0ZVBhaXJBd2FyZVRleHRJ
dGVyYXRvci5jcHAgKi8sCiAJCQkJMDg3NTU4QzQxM0I0QTU3RDAwRjQ5MzA3IC8qIFN1cnJvZ2F0
ZVBhaXJBd2FyZVRleHRJdGVyYXRvci5oICovLAogCQkJCTNCQjZCODBGMjJBN0QzMTEwMDNBMkE2
OSAvKiBUYWJTaXplLmggKi8sCiAJCQkJMzc2RENDRTAxM0I0Rjk2NjAwMkVCRUZDIC8qIFRleHRS
dW4uY3BwICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Rm9udENhc2NhZGUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENh
c2NhZGUuY3BwCmluZGV4IDA1MGUyODdkOTlkY2ViYWE1NGYzM2JmZWFmOWI2YzhkOWZiY2RkYTYu
LmExNzkwZDkyNmRhNDU0NzJjODNhNDhmZThjOTcwNGU4OTllZGZkNzAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYXNjYWRlLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FzY2FkZS5jcHAKQEAgLTMzLDcgKzMz
LDYgQEAKICNpbmNsdWRlICJHcmFwaGljc0NvbnRleHQuaCIKICNpbmNsdWRlICJJbk1lbW9yeURp
c3BsYXlMaXN0LmgiCiAjaW5jbHVkZSAiTGF5b3V0UmVjdC5oIgotI2luY2x1ZGUgIlN1cnJvZ2F0
ZVBhaXJBd2FyZVRleHRJdGVyYXRvci5oIgogI2luY2x1ZGUgIlRleHRSdW4uaCIKICNpbmNsdWRl
ICJXaWR0aEl0ZXJhdG9yLmgiCiAjaW5jbHVkZSA8d3RmL01haW5UaHJlYWQuaD4KQEAgLTExOTQs
MTAgKzExOTMsOSBAQCBzdGQ6Om9wdGlvbmFsPEdseXBoRGF0YT4gRm9udENhc2NhZGU6OmdldEVt
cGhhc2lzTWFya0dseXBoRGF0YShjb25zdCBBdG9tU3RyaW5nJgogCiAgICAgVUNoYXIzMiBjaGFy
YWN0ZXI7CiAgICAgaWYgKCFtYXJrLmlzOEJpdCgpKSB7Ci0gICAgICAgIFN1cnJvZ2F0ZVBhaXJB
d2FyZVRleHRJdGVyYXRvciBpdGVyYXRvcihtYXJrLmNoYXJhY3RlcnMxNigpLCAwLCBtYXJrLmxl
bmd0aCgpLCBtYXJrLmxlbmd0aCgpKTsKLSAgICAgICAgdW5zaWduZWQgY2x1c3Rlckxlbmd0aDsK
LSAgICAgICAgaWYgKCFpdGVyYXRvci5jb25zdW1lKGNoYXJhY3RlciwgY2x1c3Rlckxlbmd0aCkp
Ci0gICAgICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OworICAgICAgICBzaXplX3QgaSA9IDA7
CisgICAgICAgIFUxNl9ORVhUKG1hcmsuY2hhcmFjdGVyczE2KCksIGksIG1hcmsubGVuZ3RoKCks
IGNoYXJhY3Rlcik7CisgICAgICAgIEFTU0VSVChVMTZfSVNfU0lOR0xFKGNoYXJhY3RlcikpOyAv
LyBUaGUgQ1NTIHBhcnNlciByZXBsYWNlcyB1bnBhaXJlZCBzdXJyb2dhdGVzIHdpdGggdGhlIG9i
amVjdCByZXBsYWNlbWVudCBjaGFyYWN0ZXIuCiAgICAgfSBlbHNlCiAgICAgICAgIGNoYXJhY3Rl
ciA9IG1hcmtbMF07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL1N1cnJvZ2F0ZVBhaXJBd2FyZVRleHRJdGVyYXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9TdXJyb2dhdGVQYWlyQXdhcmVUZXh0SXRlcmF0b3IuY3BwCmRlbGV0
ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1YWVlNGNjNDJhYzJkNzQ3MmRlNzk5ZWIxNjE5ZGUw
YmNiMTEyZDBlLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1N1cnJvZ2F0ZVBhaXJBd2FyZVRleHRJ
dGVyYXRvci5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSw4MCArMCwwIEBACi0vKgotICogQ29weXJp
Z2h0IChDKSAyMDAzLTIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICogQ29w
eXJpZ2h0IChDKSAyMDA4IEhvbGdlciBIYW5zIFBldGVyIEZyZXl0aGVyCi0gKiBDb3B5cmlnaHQg
KEMpIFJlc2VhcmNoIEluIE1vdGlvbiBMaW1pdGVkIDIwMTEuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
Ci0gKgotICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmli
dXRlIGl0IGFuZC9vcgotICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExp
YnJhcnkgR2VuZXJhbCBQdWJsaWMKLSAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVl
IFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgotICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNl
LCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotICoKLSAqIFRoaXMgbGli
cmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAot
ICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2Fy
cmFudHkgb2YKLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIg
UFVSUE9TRS4gIFNlZSB0aGUgR05VCi0gKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2Ug
Zm9yIG1vcmUgZGV0YWlscy4KLSAqCi0gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5
IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0gKiBhbG9uZyB3aXRo
IHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0
bwotICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3Ry
ZWV0LCBGaWZ0aCBGbG9vciwKLSAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgotICoKLSAq
LwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVkZSAiU3Vycm9nYXRlUGFpckF3YXJlVGV4
dEl0ZXJhdG9yLmgiCi0KLSNpbmNsdWRlIDx1bmljb2RlL3Vub3JtMi5oPgotCi1uYW1lc3BhY2Ug
V2ViQ29yZSB7Ci0KLVN1cnJvZ2F0ZVBhaXJBd2FyZVRleHRJdGVyYXRvcjo6U3Vycm9nYXRlUGFp
ckF3YXJlVGV4dEl0ZXJhdG9yKGNvbnN0IFVDaGFyKiBjaGFyYWN0ZXJzLCB1bnNpZ25lZCBjdXJy
ZW50SW5kZXgsIHVuc2lnbmVkIGxhc3RJbmRleCwgdW5zaWduZWQgZW5kSW5kZXgpCi0gICAgOiBt
X2NoYXJhY3RlcnMoY2hhcmFjdGVycykKLSAgICAsIG1fY3VycmVudEluZGV4KGN1cnJlbnRJbmRl
eCkKLSAgICAsIG1fbGFzdEluZGV4KGxhc3RJbmRleCkKLSAgICAsIG1fZW5kSW5kZXgoZW5kSW5k
ZXgpCi17Ci19Ci0KLWJvb2wgU3Vycm9nYXRlUGFpckF3YXJlVGV4dEl0ZXJhdG9yOjpjb25zdW1l
U2xvd0Nhc2UoVUNoYXIzMiYgY2hhcmFjdGVyLCB1bnNpZ25lZCYgY2x1c3Rlckxlbmd0aCkKLXsK
LSAgICBBU1NFUlQoVTE2X0lTX1NVUlJPR0FURShjaGFyYWN0ZXIpKTsKLQotICAgIC8vIElmIHdl
IGhhdmUgYSBzdXJyb2dhdGUgcGFpciwgbWFrZSBzdXJlIGl0IHN0YXJ0cyB3aXRoIHRoZSBoaWdo
IHBhcnQuCi0gICAgaWYgKCFVMTZfSVNfU1VSUk9HQVRFX0xFQUQoY2hhcmFjdGVyKSkKLSAgICAg
ICAgcmV0dXJuIGZhbHNlOwotCi0gICAgLy8gRG8gd2UgaGF2ZSBhIHN1cnJvZ2F0ZSBwYWlyPyBJ
ZiBzbywgZGV0ZXJtaW5lIHRoZSBmdWxsIFVuaWNvZGUgKDMyIGJpdCkgY29kZSBwb2ludCBiZWZv
cmUgZ2x5cGggbG9va3VwLgotICAgIC8vIE1ha2Ugc3VyZSB3ZSBoYXZlIGFub3RoZXIgY2hhcmFj
dGVyIGFuZCBpdCdzIGEgbG93IHN1cnJvZ2F0ZS4KLSAgICBpZiAobV9jdXJyZW50SW5kZXggKyAx
ID49IG1fZW5kSW5kZXgpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIFVDaGFyIGxvdyA9
IG1fY2hhcmFjdGVyc1sxXTsKLSAgICBpZiAoIVUxNl9JU19UUkFJTChsb3cpKQotICAgICAgICBy
ZXR1cm4gZmFsc2U7Ci0KLSAgICBjaGFyYWN0ZXIgPSBVMTZfR0VUX1NVUFBMRU1FTlRBUlkoY2hh
cmFjdGVyLCBsb3cpOwotICAgIGNsdXN0ZXJMZW5ndGggPSAyOwotICAgIHJldHVybiB0cnVlOwot
fQotCi1VQ2hhcjMyIFN1cnJvZ2F0ZVBhaXJBd2FyZVRleHRJdGVyYXRvcjo6bm9ybWFsaXplVm9p
Y2luZ01hcmtzKCkKLXsKLSAgICAvLyBBY2NvcmRpbmcgdG8gaHR0cDovL3d3dy51bmljb2RlLm9y
Zy9QdWJsaWMvVU5JREFUQS9VQ0QuaHRtbCNDYW5vbmljYWxfQ29tYmluaW5nX0NsYXNzX1ZhbHVl
cwotICAgIHN0YXRpYyBjb25zdGV4cHIgdWludDhfdCBoaXJhZ2FuYUthdGFrYW5hVm9pY2luZ01h
cmtzQ29tYmluaW5nQ2xhc3MgPSA4OwotCi0gICAgaWYgKG1fY3VycmVudEluZGV4ICsgMSA+PSBt
X2VuZEluZGV4KQotICAgICAgICByZXR1cm4gMDsKLQotICAgIGlmICh1X2dldENvbWJpbmluZ0Ns
YXNzKG1fY2hhcmFjdGVyc1sxXSkgPT0gaGlyYWdhbmFLYXRha2FuYVZvaWNpbmdNYXJrc0NvbWJp
bmluZ0NsYXNzKSB7Ci0gICAgICAgIFVFcnJvckNvZGUgc3RhdHVzID0gVV9aRVJPX0VSUk9SOwot
ICAgICAgICBjb25zdCBVTm9ybWFsaXplcjIqIG5vcm1hbGl6ZXIgPSB1bm9ybTJfZ2V0TkZDSW5z
dGFuY2UoJnN0YXR1cyk7Ci0gICAgICAgIEFTU0VSVChVX1NVQ0NFU1Moc3RhdHVzKSk7Ci0gICAg
ICAgIGF1dG8gY29tcG9zZWRDaGFyYWN0ZXIgPSB1bm9ybTJfY29tcG9zZVBhaXIobm9ybWFsaXpl
ciwgbV9jaGFyYWN0ZXJzWzBdLCBtX2NoYXJhY3RlcnNbMV0pOwotICAgICAgICBpZiAoY29tcG9z
ZWRDaGFyYWN0ZXIgPiAwKQotICAgICAgICAgICAgcmV0dXJuIGNvbXBvc2VkQ2hhcmFjdGVyOwot
ICAgIH0KLQotICAgIHJldHVybiAwOwotfQotCi19CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9TdXJyb2dhdGVQYWlyQXdhcmVUZXh0SXRlcmF0b3IuaCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1N1cnJvZ2F0ZVBhaXJBd2FyZVRleHRJdGVy
YXRvci5oCmluZGV4IDM1NGZjOTllMTAyNWRjZmIzNmM2YTM1NTQ0Nzk2MWJjMjkwZDJkYmYuLjk1
ZTk3MGYwMGU4ZGViZjUzZmZkYzEzMTg4ZWEwMWEyYTc2ZGNjNGQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1N1cnJvZ2F0ZVBhaXJBd2FyZVRleHRJdGVyYXRv
ci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1N1cnJvZ2F0ZVBhaXJB
d2FyZVRleHRJdGVyYXRvci5oCkBAIC0yMSwyOSArMjEsMzEgQEAKICNpZm5kZWYgU3Vycm9nYXRl
UGFpckF3YXJlVGV4dEl0ZXJhdG9yX2gKICNkZWZpbmUgU3Vycm9nYXRlUGFpckF3YXJlVGV4dEl0
ZXJhdG9yX2gKIAotI2luY2x1ZGUgPHd0Zi91bmljb2RlL0NoYXJhY3Rlck5hbWVzLmg+CisjaW5j
bHVkZSA8dW5pY29kZS91dGYxNi5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIFN1cnJvZ2F0ZVBhaXJBd2FyZVRleHRJdGVy
YXRvciB7CiBwdWJsaWM6Ci0gICAgLy8gVGhlIHBhc3NlZCBpbiBVQ2hhciBwb2ludGVyIHN0YXJ0
cyBhdCAnY3VycmVudEluZGV4Jy4gVGhlIGl0ZXJhdG9yIG9wZXJhdG9lcyBvbiB0aGUgcmFuZ2Ug
W2N1cnJlbnRJbmRleCwgbGFzdEluZGV4XS4KKyAgICAvLyBUaGUgcGFzc2VkIGluIFVDaGFyIHBv
aW50ZXIgc3RhcnRzIGF0ICdjdXJyZW50SW5kZXgnLiBUaGUgaXRlcmF0b3Igb3BlcmF0ZXMgb24g
dGhlIHJhbmdlIFtjdXJyZW50SW5kZXgsIGxhc3RJbmRleF0uCiAgICAgLy8gJ2VuZEluZGV4JyBk
ZW5vdGVzIHRoZSBtYXhpbXVtIGxlbmd0aCBvZiB0aGUgVUNoYXIgYXJyYXksIHdoaWNoIG1pZ2h0
IGV4Y2VlZCAnbGFzdEluZGV4Jy4KLSAgICBTdXJyb2dhdGVQYWlyQXdhcmVUZXh0SXRlcmF0b3Io
Y29uc3QgVUNoYXIqLCB1bnNpZ25lZCBjdXJyZW50SW5kZXgsIHVuc2lnbmVkIGxhc3RJbmRleCwg
dW5zaWduZWQgZW5kSW5kZXgpOworICAgIFN1cnJvZ2F0ZVBhaXJBd2FyZVRleHRJdGVyYXRvcihj
b25zdCBVQ2hhciogY2hhcmFjdGVycywgdW5zaWduZWQgY3VycmVudEluZGV4LCB1bnNpZ25lZCBs
YXN0SW5kZXgsIHVuc2lnbmVkIGVuZEluZGV4KQorICAgICAgICA6IG1fY2hhcmFjdGVycyhjaGFy
YWN0ZXJzKQorICAgICAgICAsIG1fY3VycmVudEluZGV4KGN1cnJlbnRJbmRleCkKKyAgICAgICAg
LCBtX2xhc3RJbmRleChsYXN0SW5kZXgpCisgICAgICAgICwgbV9lbmRJbmRleChlbmRJbmRleCkK
KyAgICB7CisgICAgfQogCi0gICAgaW5saW5lIGJvb2wgY29uc3VtZShVQ2hhcjMyJiBjaGFyYWN0
ZXIsIHVuc2lnbmVkJiBjbHVzdGVyTGVuZ3RoKQorICAgIGJvb2wgY29uc3VtZShVQ2hhcjMyJiBj
aGFyYWN0ZXIsIHVuc2lnbmVkJiBjbHVzdGVyTGVuZ3RoKQogICAgIHsKICAgICAgICAgaWYgKG1f
Y3VycmVudEluZGV4ID49IG1fbGFzdEluZGV4KQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwog
Ci0gICAgICAgIGNoYXJhY3RlciA9ICptX2NoYXJhY3RlcnM7Ci0gICAgICAgIGNsdXN0ZXJMZW5n
dGggPSAxOwotCi0gICAgICAgIGlmICghVTE2X0lTX1NVUlJPR0FURShjaGFyYWN0ZXIpKQotICAg
ICAgICAgICAgcmV0dXJuIHRydWU7Ci0KLSAgICAgICAgcmV0dXJuIGNvbnN1bWVTbG93Q2FzZShj
aGFyYWN0ZXIsIGNsdXN0ZXJMZW5ndGgpOworICAgICAgICBjbHVzdGVyTGVuZ3RoID0gMDsKKyAg
ICAgICAgVTE2X05FWFQobV9jaGFyYWN0ZXJzLCBjbHVzdGVyTGVuZ3RoLCBtX2VuZEluZGV4IC0g
bV9jdXJyZW50SW5kZXgsIGNoYXJhY3Rlcik7CisgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0K
IAogICAgIHZvaWQgYWR2YW5jZSh1bnNpZ25lZCBhZHZhbmNlTGVuZ3RoKQpAQCAtNTMsMTYgKzU1
LDE0IEBAIHB1YmxpYzoKICAgICB9CiAKICAgICB1bnNpZ25lZCBjdXJyZW50SW5kZXgoKSBjb25z
dCB7IHJldHVybiBtX2N1cnJlbnRJbmRleDsgfQotICAgIGNvbnN0IFVDaGFyKiBjaGFyYWN0ZXJz
KCkgY29uc3QgeyByZXR1cm4gbV9jaGFyYWN0ZXJzOyB9CiAKIHByaXZhdGU6CiAgICAgYm9vbCBj
b25zdW1lU2xvd0Nhc2UoVUNoYXIzMiYsIHVuc2lnbmVkJik7Ci0gICAgVUNoYXIzMiBub3JtYWxp
emVWb2ljaW5nTWFya3MoKTsKIAotICAgIGNvbnN0IFVDaGFyKiBtX2NoYXJhY3RlcnM7Ci0gICAg
dW5zaWduZWQgbV9jdXJyZW50SW5kZXg7Ci0gICAgdW5zaWduZWQgbV9sYXN0SW5kZXg7Ci0gICAg
dW5zaWduZWQgbV9lbmRJbmRleDsKKyAgICBjb25zdCBVQ2hhciogbV9jaGFyYWN0ZXJzIHsgbnVs
bHB0ciB9OworICAgIHVuc2lnbmVkIG1fY3VycmVudEluZGV4IHsgMCB9OworICAgIHVuc2lnbmVk
IG1fbGFzdEluZGV4IHsgMCB9OworICAgIHVuc2lnbmVkIG1fZW5kSW5kZXggeyAwIH07CiB9Owog
CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9XaWR0aEl0
ZXJhdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1dpZHRoSXRlcmF0
b3IuY3BwCmluZGV4IGRlNGFlZGY4NzIzMGUzYjAxMWE4YWRmOGUwZTlhNjAyMTgzYmViMDMuLmY3
MzYxMWJiYzkxZDBhOTI3YjE1NTliZmU4ZDMwYWYxMTQ1ZjBiZjcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1dpZHRoSXRlcmF0b3IuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1dpZHRoSXRlcmF0b3IuY3BwCkBAIC0xLDUgKzEs
NSBAQAogLyoKLSAqIENvcHlyaWdodCAoQykgMjAwMyAtIDIwMjAgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDAzIC0gMjAyMSBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDggSG9sZ2VyIEhhbnMgUGV0
ZXIgRnJleXRoZXIKICAqCiAgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNh
biByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCkBAIC0yNzgsNiArMjc4LDggQEAgaW5saW5lIHZvaWQg
V2lkdGhJdGVyYXRvcjo6YWR2YW5jZUludGVybmFsKFRleHRJdGVyYXRvciYgdGV4dEl0ZXJhdG9y
LCBHbHlwaEJ1ZmYKICAgICBmbG9hdCB3aWR0aE9mQ3VycmVudEZvbnRSYW5nZSA9IDA7CiAgICAg
Ly8gV2UgYXJlIGl0ZXJhdGluZyBpbiBzdHJpbmcgb3JkZXIsIG5vdCBnbHlwaCBvcmRlci4gQ29t
cGFyZSB0aGlzIHRvIENvbXBsZXhUZXh0Q29udHJvbGxlcjo6YWRqdXN0R2x5cGhzQW5kQWR2YW5j
ZXMoKQogICAgIHdoaWxlICh0ZXh0SXRlcmF0b3IuY29uc3VtZShjaGFyYWN0ZXIsIGNsdXN0ZXJM
ZW5ndGgpKSB7CisgICAgICAgIC8vIEZJWE1FOiBTaG91bGQgd2UgcmVwbGFjZSB1bnBhaXJlZCBz
dXJyb2dhdGVzIHdpdGggdGhlIG9iamVjdCByZXBsYWNlbWVudCBjaGFyYWN0ZXI/CisgICAgICAg
IC8vIFNob3VsZCB3ZSBkbyB0aGlzIGJlZm9yZSBvciBhZnRlciBzaGFwaW5nPyBXaGF0IGRvZXMg
YSBzaGFwZXIgZG8gd2l0aCBhbiB1bnBhaXJlZCBzdXJyb2dhdGU/CiAgICAgICAgIG1fY29udGFp
bnNUYWJzIHw9IGNoYXJhY3RlciA9PSB0YWJDaGFyYWN0ZXI7CiAgICAgICAgIGN1cnJlbnRDaGFy
YWN0ZXJJbmRleCA9IHRleHRJdGVyYXRvci5jdXJyZW50SW5kZXgoKTsKICAgICAgICAgdW5zaWdu
ZWQgYWR2YW5jZUxlbmd0aCA9IGNsdXN0ZXJMZW5ndGg7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggODc0ZGU0ZWQyM2NlMDIx
OTdhZTYxNmQzMmNlMTNkZDk2N2UxNGIwNC4uM2E2N2ZiMzk2MmE3MWNmZDM3ZmFhNWQyZDE1YmU4
ZGZiMzBkOTc2ZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91
dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDIxLTA4LTIzICBNeWxlcyBDLiBN
YXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgVGhlIHNpbXBsZSB0ZXh0
IGNvZGVwYXRoIGRvZXMgbm90IGhhbmRsZSB1bnBhaXJlZCBzdXJyb2dhdGVzCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjkzOTIKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGZhc3QvdGV4dC91bnBhaXJl
ZC1zdXJyb2dhdGUtZXhwZWN0ZWQtbWlzbWF0Y2guaHRtbDogQWRkZWQuCisgICAgICAgICogZmFz
dC90ZXh0L3VucGFpcmVkLXN1cnJvZ2F0ZS5odG1sOiBBZGRlZC4KKwogMjAyMS0wOC0yMiAgQWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CiAKICAgICAgICAgW2lPU10gVW5yZXZpZXdlZCB0
ZXN0IGdhcmRlbmluZy4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvdGV4dC91bnBhaXJl
ZC1zdXJyb2dhdGUtZXhwZWN0ZWQtbWlzbWF0Y2guaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvdGV4
dC91bnBhaXJlZC1zdXJyb2dhdGUtZXhwZWN0ZWQtbWlzbWF0Y2guaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5l
ZWIyNzllZjBjODEzMzQ0YTA3ODMyODc5ODc2MzI5NmY0MTY5YzVhCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L3VucGFpcmVkLXN1cnJvZ2F0ZS1leHBlY3RlZC1taXNt
YXRjaC5odG1sCkBAIC0wLDAgKzEsOCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFk
PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IGlkPSJ0YXJnZXQiIHN0eWxlPSJmb250LXNpemU6IDEw
MHB4OyI+YTwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC90ZXh0L3VucGFpcmVkLXN1cnJvZ2F0ZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0
L3VucGFpcmVkLXN1cnJvZ2F0ZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjFiNmRmYWE5YzNhMmY2MjJiZTg3
ZWUwMDczOWVmMDBkZWFhOGQ3ODYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0
L3RleHQvdW5wYWlyZWQtc3Vycm9nYXRlLmh0bWwKQEAgLTAsMCArMSwxMiBAQAorPCFET0NUWVBF
IGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IGlkPSJ0YXJnZXQi
IHN0eWxlPSJmb250LXNpemU6IDEwMHB4OyI+PC9kaXY+Cis8c2NyaXB0PgorbGV0IHRhcmdldCA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0YXJnZXQiKTsKK3RhcmdldC50ZXh0Q29udGVudCA9
ICdhXHVEODAwYic7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>436161</attachid>
            <date>2021-08-23 01:22:53 -0700</date>
            <delta_ts>2021-08-23 02:05:57 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-229392-20210823012252.patch</filename>
            <type>text/plain</type>
            <size>16830</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgxNDM5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWM3MThlM2I2YTlhZGZk
ODA1ZTMxYzliNmRmYzAwMzEwNzU0NTJhNS4uMmRlYzQxNjhmNDliYjUyMzJiNDQ4ZDcyMDhhYTc0
MzAyMzM3ODhlZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDIxLTA4LTIzICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgVGhlIHNpbXBs
ZSB0ZXh0IGNvZGVwYXRoIGRvZXMgbm90IGhhbmRsZSB1bnBhaXJlZCBzdXJyb2dhdGVzCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjkzOTIKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGUgc2ltcGxlIHRl
eHQgY29kZXBhdGggd2FzIHRha2luZyBhbiBlYXJseSByZXR1cm4gaWYgaXQgZW5jb3VudGVyZWQg
YW4gdW5wYWlyZWQgc3Vycm9nYXRlLgorICAgICAgICBUaGlzIGVzc2VudGlhbGx5IGVuZHMgdXAg
YmVpbmcgZGF0YSBsb3NzLCBiZWNhdXNlIGV2ZXJ5dGhpbmcgYWZ0ZXIgdGhhdCBzdXJyb2dhdGUg
aXMganVzdCBnb25lLgorICAgICAgICBUaGUgb3RoZXIgYnJvd3NlcnMgcmVuZGVyIHRoZSB1bnBh
aXJlZCBzdXJyb2dhdGUsIGFuZCB0aGUgdGV4dCBhZnRlciBpdCB0b28uCisKKyAgICAgICAgVGVz
dDogZmFzdC90ZXh0L3VucGFpcmVkLXN1cnJvZ2F0ZS5odG1sCisKKyAgICAgICAgKiBTb3VyY2Vz
LnR4dDoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAg
ICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhc2NhZGUuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6Rm9udENhc2NhZGU6OmdldEVtcGhhc2lzTWFya0dseXBoRGF0YSBjb25zdCk6CisgICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3MvU3Vycm9nYXRlUGFpckF3YXJlVGV4dEl0ZXJhdG9yLmNwcDog
UmVtb3ZlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9TdXJyb2dhdGVQYWlyQXdhcmVU
ZXh0SXRlcmF0b3IuaDoKKyAgICAgICAgKFdlYkNvcmU6OlN1cnJvZ2F0ZVBhaXJBd2FyZVRleHRJ
dGVyYXRvcjo6U3Vycm9nYXRlUGFpckF3YXJlVGV4dEl0ZXJhdG9yKToKKyAgICAgICAgKFdlYkNv
cmU6OlN1cnJvZ2F0ZVBhaXJBd2FyZVRleHRJdGVyYXRvcjo6Y29uc3VtZSk6CisgICAgICAgIChX
ZWJDb3JlOjpTdXJyb2dhdGVQYWlyQXdhcmVUZXh0SXRlcmF0b3I6OmN1cnJlbnRJbmRleCBjb25z
dCk6CisgICAgICAgIChXZWJDb3JlOjpTdXJyb2dhdGVQYWlyQXdhcmVUZXh0SXRlcmF0b3I6OmNo
YXJhY3RlcnMgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL1dp
ZHRoSXRlcmF0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V2lkdGhJdGVyYXRvcjo6YWR2YW5j
ZUludGVybmFsKToKKwogMjAyMS0wOC0yMiAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lh
QGlnYWxpYS5jb20+CiAKICAgICAgICAgW0ZyZWV0eXBlXSBTZXQgbWF4aW11bSBhbGxvd2VkIGZv
bnQgc2l6ZSBmb3IgRnJlZXR5cGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMu
dHh0IGIvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKaW5kZXggMDNlMTJhN2E3ODcyMzFkNmE4
OWVjMzc1YWZhNWM0N2RjMTZmMjljMy4uZjEyOGUxNjQ4OTkxNmUzNDJkZTVkMDhkYTdmNzQwMjA5
Y2ZjODIxYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKKysrIGIvU291
cmNlL1dlYkNvcmUvU291cmNlcy50eHQKQEAgLTE5NTcsNyArMTk1Nyw2IEBAIHBsYXRmb3JtL2dy
YXBoaWNzL1JvdW5kZWRSZWN0LmNwcAogcGxhdGZvcm0vZ3JhcGhpY3MvU2hhZG93Qmx1ci5jcHAK
IHBsYXRmb3JtL2dyYXBoaWNzL1NvdXJjZUJ1ZmZlclByaXZhdGUuY3BwCiBwbGF0Zm9ybS9ncmFw
aGljcy9TdHJpbmdUcnVuY2F0b3IuY3BwCi1wbGF0Zm9ybS9ncmFwaGljcy9TdXJyb2dhdGVQYWly
QXdhcmVUZXh0SXRlcmF0b3IuY3BwCiBwbGF0Zm9ybS9ncmFwaGljcy9UZXh0UnVuLmNwcAogcGxh
dGZvcm0vZ3JhcGhpY3MvVGV4dFRyYWNrUmVwcmVzZW50YXRpb24uY3BwCiBwbGF0Zm9ybS9ncmFw
aGljcy9UcmFja1ByaXZhdGVCYXNlLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGIwOTM2YTBkNDU5ZjI0MWJlNTJhN2ExZWM0
ZmM4NmM3Mzc2MTczZmIuLjNiNWU4NjNiOGJjNWViMTY1NjEyZDcxYTAyNGU5N2Y2ODYyNzlhM2Yg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oKQEAgLTI2Miw3ICsyNjIsNiBAQAogCQkwODY0MUQ0ODEyMTQyRjdEMDA4REU5RjYgLyogUmVu
ZGVySW1hZ2VSZXNvdXJjZVN0eWxlSW1hZ2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDA4NjQxRDQ2MTIxNDJGN0QwMDhERTlGNiAvKiBSZW5kZXJJbWFn
ZVJlc291cmNlU3R5bGVJbWFnZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CiAJCTA4NkJCRDBGMTM2MDM5QzIwMDhCMTVEOCAvKiBHbHlwaC5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDg2QkJEMEUxMzYwMzlD
MjAwOEIxNUQ4IC8qIEdseXBoLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKIAkJMDg3M0I4NkIxMzYwNjRFQTAwQTUyMkMyIC8qIEdseXBoUGFnZS5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDg3M0I4NkExMzYw
NjRFQTAwQTUyMkMyIC8qIEdseXBoUGFnZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07Ci0JCTA4NzU1OEM2MTNCNEE1N0QwMEY0OTMwNyAvKiBTdXJyb2dh
dGVQYWlyQXdhcmVUZXh0SXRlcmF0b3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDA4NzU1OEM0MTNCNEE1N0QwMEY0OTMwNyAvKiBTdXJyb2dhdGVQYWly
QXdhcmVUZXh0SXRlcmF0b3IuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OwogCQkwODg1MDY3RjExREEwNDVCMDAxODJCOTggLyogUGFpbnRJbmZvLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwODg1MDY3RDExREEw
NDVCMDAxODJCOTggLyogUGFpbnRJbmZvLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKIAkJMDg4NTA2ODAxMURBMDQ1QjAwMTgyQjk4IC8qIFBhaW50UGhh
c2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA4ODUw
NjdFMTFEQTA0NUIwMDE4MkI5OCAvKiBQYWludFBoYXNlLmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMDg4QTBFMEMxMjZFRjFEQjAwOTc4RjdBIC8q
IFNWR1Byb3BlcnR5VHJhaXRzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAwODhBMEUwMzEyNkVGMURCMDA5NzhGN0EgLyogU1ZHUHJvcGVydHlUcmFpdHMu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtNjA3
MSw3ICs2MDcwLDYgQEAKIAkJMDg2NDFENDYxMjE0MkY3RDAwOERFOUY2IC8qIFJlbmRlckltYWdl
UmVzb3VyY2VTdHlsZUltYWdlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJl
bmRlckltYWdlUmVzb3VyY2VTdHlsZUltYWdlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTA4NkJCRDBFMTM2MDM5QzIwMDhCMTVEOCAvKiBHbHlwaC5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBHbHlwaC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkw
ODczQjg2QTEzNjA2NEVBMDBBNTIyQzIgLyogR2x5cGhQYWdlLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IEdseXBoUGFnZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owot
CQkwODc1NThDMzEzQjRBNTdEMDBGNDkzMDcgLyogU3Vycm9nYXRlUGFpckF3YXJlVGV4dEl0ZXJh
dG9yLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFN1cnJvZ2F0ZVBh
aXJBd2FyZVRleHRJdGVyYXRvci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTA4
NzU1OEM0MTNCNEE1N0QwMEY0OTMwNyAvKiBTdXJyb2dhdGVQYWlyQXdhcmVUZXh0SXRlcmF0b3Iu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU3Vycm9nYXRlUGFpckF3YXJlVGV4
dEl0ZXJhdG9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTA4ODUwNjdEMTFEQTA0
NUIwMDE4MkI5OCAvKiBQYWludEluZm8uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gUGFpbnRJbmZvLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTA4ODUwNjdFMTFE
QTA0NUIwMDE4MkI5OCAvKiBQYWludFBoYXNlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IFBhaW50UGhhc2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTI2NzMz
LDcgKzI2NzMxLDYgQEAKIAkJCQk3QzgzREU4NTFEMDRDQkQ0MDBGRUJDRjMgLyogU3ByaW5nU29s
dmVyLmggKi8sCiAJCQkJQjIzNTQwRjAwRDAwNzgyRTAwMjM4MkZBIC8qIFN0cmluZ1RydW5jYXRv
ci5jcHAgKi8sCiAJCQkJQjIzNTQwRjEwRDAwNzgyRTAwMjM4MkZBIC8qIFN0cmluZ1RydW5jYXRv
ci5oICovLAotCQkJCTA4NzU1OEMzMTNCNEE1N0QwMEY0OTMwNyAvKiBTdXJyb2dhdGVQYWlyQXdh
cmVUZXh0SXRlcmF0b3IuY3BwICovLAogCQkJCTA4NzU1OEM0MTNCNEE1N0QwMEY0OTMwNyAvKiBT
dXJyb2dhdGVQYWlyQXdhcmVUZXh0SXRlcmF0b3IuaCAqLywKIAkJCQkzQkI2QjgwRjIyQTdEMzEx
MDAzQTJBNjkgLyogVGFiU2l6ZS5oICovLAogCQkJCTM3NkRDQ0UwMTNCNEY5NjYwMDJFQkVGQyAv
KiBUZXh0UnVuLmNwcCAqLywKQEAgLTM0NzU2LDcgKzM0NzUzLDYgQEAKIAkJCQk5M0IyRDgxNjBG
OTkyMEQyMDA2QUU2QjIgLyogU3VkZGVuVGVybWluYXRpb24uaCBpbiBIZWFkZXJzICovLAogCQkJ
CTk3QzA3ODUwMTE2NUQ1QkUwMDNBMzJFRiAvKiBTdWZmaXhUcmVlLmggaW4gSGVhZGVycyAqLywK
IAkJCQk5NzYyN0I5ODE0RkI1NDI0MDAyQ0RDQTEgLyogU3VwcGxlbWVudGFibGUuaCBpbiBIZWFk
ZXJzICovLAotCQkJCTA4NzU1OEM2MTNCNEE1N0QwMEY0OTMwNyAvKiBTdXJyb2dhdGVQYWlyQXdh
cmVUZXh0SXRlcmF0b3IuaCBpbiBIZWFkZXJzICovLAogCQkJCTYyQzEyMTdEMTFBQjlFNzcwMDND
NDYyQyAvKiBTdXNwZW5kYWJsZVRpbWVyLmggaW4gSGVhZGVycyAqLywKIAkJCQlCMjIyNzk3NDBE
MDBCRjIyMDA3MUI3ODIgLyogU1ZHQUVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTI0RDkx
MkIxMTNDQTlBMUYwMEQyMTkxNSAvKiBTVkdBbHRHbHlwaERlZkVsZW1lbnQuaCBpbiBIZWFkZXJz
ICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENh
c2NhZGUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhc2NhZGUu
Y3BwCmluZGV4IDA1MGUyODdkOTlkY2ViYWE1NGYzM2JmZWFmOWI2YzhkOWZiY2RkYTYuLmExNzkw
ZDkyNmRhNDU0NzJjODNhNDhmZThjOTcwNGU4OTllZGZkNzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYXNjYWRlLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FzY2FkZS5jcHAKQEAgLTMzLDcgKzMzLDYgQEAK
ICNpbmNsdWRlICJHcmFwaGljc0NvbnRleHQuaCIKICNpbmNsdWRlICJJbk1lbW9yeURpc3BsYXlM
aXN0LmgiCiAjaW5jbHVkZSAiTGF5b3V0UmVjdC5oIgotI2luY2x1ZGUgIlN1cnJvZ2F0ZVBhaXJB
d2FyZVRleHRJdGVyYXRvci5oIgogI2luY2x1ZGUgIlRleHRSdW4uaCIKICNpbmNsdWRlICJXaWR0
aEl0ZXJhdG9yLmgiCiAjaW5jbHVkZSA8d3RmL01haW5UaHJlYWQuaD4KQEAgLTExOTQsMTAgKzEx
OTMsOSBAQCBzdGQ6Om9wdGlvbmFsPEdseXBoRGF0YT4gRm9udENhc2NhZGU6OmdldEVtcGhhc2lz
TWFya0dseXBoRGF0YShjb25zdCBBdG9tU3RyaW5nJgogCiAgICAgVUNoYXIzMiBjaGFyYWN0ZXI7
CiAgICAgaWYgKCFtYXJrLmlzOEJpdCgpKSB7Ci0gICAgICAgIFN1cnJvZ2F0ZVBhaXJBd2FyZVRl
eHRJdGVyYXRvciBpdGVyYXRvcihtYXJrLmNoYXJhY3RlcnMxNigpLCAwLCBtYXJrLmxlbmd0aCgp
LCBtYXJrLmxlbmd0aCgpKTsKLSAgICAgICAgdW5zaWduZWQgY2x1c3Rlckxlbmd0aDsKLSAgICAg
ICAgaWYgKCFpdGVyYXRvci5jb25zdW1lKGNoYXJhY3RlciwgY2x1c3Rlckxlbmd0aCkpCi0gICAg
ICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OworICAgICAgICBzaXplX3QgaSA9IDA7CisgICAg
ICAgIFUxNl9ORVhUKG1hcmsuY2hhcmFjdGVyczE2KCksIGksIG1hcmsubGVuZ3RoKCksIGNoYXJh
Y3Rlcik7CisgICAgICAgIEFTU0VSVChVMTZfSVNfU0lOR0xFKGNoYXJhY3RlcikpOyAvLyBUaGUg
Q1NTIHBhcnNlciByZXBsYWNlcyB1bnBhaXJlZCBzdXJyb2dhdGVzIHdpdGggdGhlIG9iamVjdCBy
ZXBsYWNlbWVudCBjaGFyYWN0ZXIuCiAgICAgfSBlbHNlCiAgICAgICAgIGNoYXJhY3RlciA9IG1h
cmtbMF07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1N1
cnJvZ2F0ZVBhaXJBd2FyZVRleHRJdGVyYXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9TdXJyb2dhdGVQYWlyQXdhcmVUZXh0SXRlcmF0b3IuY3BwCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCA1YWVlNGNjNDJhYzJkNzQ3MmRlNzk5ZWIxNjE5ZGUwYmNiMTEy
ZDBlLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1N1cnJvZ2F0ZVBhaXJBd2FyZVRleHRJdGVyYXRv
ci5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSw4MCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChD
KSAyMDAzLTIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICogQ29weXJpZ2h0
IChDKSAyMDA4IEhvbGdlciBIYW5zIFBldGVyIEZyZXl0aGVyCi0gKiBDb3B5cmlnaHQgKEMpIFJl
c2VhcmNoIEluIE1vdGlvbiBMaW1pdGVkIDIwMTEuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgot
ICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0
IGFuZC9vcgotICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkg
R2VuZXJhbCBQdWJsaWMKLSAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3
YXJlIEZvdW5kYXRpb247IGVpdGhlcgotICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAo
YXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotICoKLSAqIFRoaXMgbGlicmFyeSBp
cyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotICogYnV0
IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkg
b2YKLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RS4gIFNlZSB0aGUgR05VCi0gKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1v
cmUgZGV0YWlscy4KLSAqCi0gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRo
ZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0gKiBhbG9uZyB3aXRoIHRoaXMg
bGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bwotICog
dGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBG
aWZ0aCBGbG9vciwKLSAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgotICoKLSAqLwotCi0j
aW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVkZSAiU3Vycm9nYXRlUGFpckF3YXJlVGV4dEl0ZXJh
dG9yLmgiCi0KLSNpbmNsdWRlIDx1bmljb2RlL3Vub3JtMi5oPgotCi1uYW1lc3BhY2UgV2ViQ29y
ZSB7Ci0KLVN1cnJvZ2F0ZVBhaXJBd2FyZVRleHRJdGVyYXRvcjo6U3Vycm9nYXRlUGFpckF3YXJl
VGV4dEl0ZXJhdG9yKGNvbnN0IFVDaGFyKiBjaGFyYWN0ZXJzLCB1bnNpZ25lZCBjdXJyZW50SW5k
ZXgsIHVuc2lnbmVkIGxhc3RJbmRleCwgdW5zaWduZWQgZW5kSW5kZXgpCi0gICAgOiBtX2NoYXJh
Y3RlcnMoY2hhcmFjdGVycykKLSAgICAsIG1fY3VycmVudEluZGV4KGN1cnJlbnRJbmRleCkKLSAg
ICAsIG1fbGFzdEluZGV4KGxhc3RJbmRleCkKLSAgICAsIG1fZW5kSW5kZXgoZW5kSW5kZXgpCi17
Ci19Ci0KLWJvb2wgU3Vycm9nYXRlUGFpckF3YXJlVGV4dEl0ZXJhdG9yOjpjb25zdW1lU2xvd0Nh
c2UoVUNoYXIzMiYgY2hhcmFjdGVyLCB1bnNpZ25lZCYgY2x1c3Rlckxlbmd0aCkKLXsKLSAgICBB
U1NFUlQoVTE2X0lTX1NVUlJPR0FURShjaGFyYWN0ZXIpKTsKLQotICAgIC8vIElmIHdlIGhhdmUg
YSBzdXJyb2dhdGUgcGFpciwgbWFrZSBzdXJlIGl0IHN0YXJ0cyB3aXRoIHRoZSBoaWdoIHBhcnQu
Ci0gICAgaWYgKCFVMTZfSVNfU1VSUk9HQVRFX0xFQUQoY2hhcmFjdGVyKSkKLSAgICAgICAgcmV0
dXJuIGZhbHNlOwotCi0gICAgLy8gRG8gd2UgaGF2ZSBhIHN1cnJvZ2F0ZSBwYWlyPyBJZiBzbywg
ZGV0ZXJtaW5lIHRoZSBmdWxsIFVuaWNvZGUgKDMyIGJpdCkgY29kZSBwb2ludCBiZWZvcmUgZ2x5
cGggbG9va3VwLgotICAgIC8vIE1ha2Ugc3VyZSB3ZSBoYXZlIGFub3RoZXIgY2hhcmFjdGVyIGFu
ZCBpdCdzIGEgbG93IHN1cnJvZ2F0ZS4KLSAgICBpZiAobV9jdXJyZW50SW5kZXggKyAxID49IG1f
ZW5kSW5kZXgpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIFVDaGFyIGxvdyA9IG1fY2hh
cmFjdGVyc1sxXTsKLSAgICBpZiAoIVUxNl9JU19UUkFJTChsb3cpKQotICAgICAgICByZXR1cm4g
ZmFsc2U7Ci0KLSAgICBjaGFyYWN0ZXIgPSBVMTZfR0VUX1NVUFBMRU1FTlRBUlkoY2hhcmFjdGVy
LCBsb3cpOwotICAgIGNsdXN0ZXJMZW5ndGggPSAyOwotICAgIHJldHVybiB0cnVlOwotfQotCi1V
Q2hhcjMyIFN1cnJvZ2F0ZVBhaXJBd2FyZVRleHRJdGVyYXRvcjo6bm9ybWFsaXplVm9pY2luZ01h
cmtzKCkKLXsKLSAgICAvLyBBY2NvcmRpbmcgdG8gaHR0cDovL3d3dy51bmljb2RlLm9yZy9QdWJs
aWMvVU5JREFUQS9VQ0QuaHRtbCNDYW5vbmljYWxfQ29tYmluaW5nX0NsYXNzX1ZhbHVlcwotICAg
IHN0YXRpYyBjb25zdGV4cHIgdWludDhfdCBoaXJhZ2FuYUthdGFrYW5hVm9pY2luZ01hcmtzQ29t
YmluaW5nQ2xhc3MgPSA4OwotCi0gICAgaWYgKG1fY3VycmVudEluZGV4ICsgMSA+PSBtX2VuZElu
ZGV4KQotICAgICAgICByZXR1cm4gMDsKLQotICAgIGlmICh1X2dldENvbWJpbmluZ0NsYXNzKG1f
Y2hhcmFjdGVyc1sxXSkgPT0gaGlyYWdhbmFLYXRha2FuYVZvaWNpbmdNYXJrc0NvbWJpbmluZ0Ns
YXNzKSB7Ci0gICAgICAgIFVFcnJvckNvZGUgc3RhdHVzID0gVV9aRVJPX0VSUk9SOwotICAgICAg
ICBjb25zdCBVTm9ybWFsaXplcjIqIG5vcm1hbGl6ZXIgPSB1bm9ybTJfZ2V0TkZDSW5zdGFuY2Uo
JnN0YXR1cyk7Ci0gICAgICAgIEFTU0VSVChVX1NVQ0NFU1Moc3RhdHVzKSk7Ci0gICAgICAgIGF1
dG8gY29tcG9zZWRDaGFyYWN0ZXIgPSB1bm9ybTJfY29tcG9zZVBhaXIobm9ybWFsaXplciwgbV9j
aGFyYWN0ZXJzWzBdLCBtX2NoYXJhY3RlcnNbMV0pOwotICAgICAgICBpZiAoY29tcG9zZWRDaGFy
YWN0ZXIgPiAwKQotICAgICAgICAgICAgcmV0dXJuIGNvbXBvc2VkQ2hhcmFjdGVyOwotICAgIH0K
LQotICAgIHJldHVybiAwOwotfQotCi19CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9TdXJyb2dhdGVQYWlyQXdhcmVUZXh0SXRlcmF0b3IuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1N1cnJvZ2F0ZVBhaXJBd2FyZVRleHRJdGVyYXRvci5o
CmluZGV4IDM1NGZjOTllMTAyNWRjZmIzNmM2YTM1NTQ0Nzk2MWJjMjkwZDJkYmYuLjU3NmNkYWRk
Mzk5YTk3MmI2ZmQzN2I3YWZjYzQxYWQyOTU0MzNlMzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL1N1cnJvZ2F0ZVBhaXJBd2FyZVRleHRJdGVyYXRvci5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1N1cnJvZ2F0ZVBhaXJBd2FyZVRl
eHRJdGVyYXRvci5oCkBAIC0xOCwzMiArMTgsMzMgQEAKICAqCiAgKi8KIAotI2lmbmRlZiBTdXJy
b2dhdGVQYWlyQXdhcmVUZXh0SXRlcmF0b3JfaAotI2RlZmluZSBTdXJyb2dhdGVQYWlyQXdhcmVU
ZXh0SXRlcmF0b3JfaAorI3ByYWdtYSBvbmNlCiAKLSNpbmNsdWRlIDx3dGYvdW5pY29kZS9DaGFy
YWN0ZXJOYW1lcy5oPgorI2luY2x1ZGUgPHVuaWNvZGUvdXRmMTYuaD4KICNpbmNsdWRlIDx3dGYv
dGV4dC9XVEZTdHJpbmcuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBTdXJyb2dh
dGVQYWlyQXdhcmVUZXh0SXRlcmF0b3IgewogcHVibGljOgotICAgIC8vIFRoZSBwYXNzZWQgaW4g
VUNoYXIgcG9pbnRlciBzdGFydHMgYXQgJ2N1cnJlbnRJbmRleCcuIFRoZSBpdGVyYXRvciBvcGVy
YXRvZXMgb24gdGhlIHJhbmdlIFtjdXJyZW50SW5kZXgsIGxhc3RJbmRleF0uCisgICAgLy8gVGhl
IHBhc3NlZCBpbiBVQ2hhciBwb2ludGVyIHN0YXJ0cyBhdCAnY3VycmVudEluZGV4Jy4gVGhlIGl0
ZXJhdG9yIG9wZXJhdGVzIG9uIHRoZSByYW5nZSBbY3VycmVudEluZGV4LCBsYXN0SW5kZXhdLgog
ICAgIC8vICdlbmRJbmRleCcgZGVub3RlcyB0aGUgbWF4aW11bSBsZW5ndGggb2YgdGhlIFVDaGFy
IGFycmF5LCB3aGljaCBtaWdodCBleGNlZWQgJ2xhc3RJbmRleCcuCi0gICAgU3Vycm9nYXRlUGFp
ckF3YXJlVGV4dEl0ZXJhdG9yKGNvbnN0IFVDaGFyKiwgdW5zaWduZWQgY3VycmVudEluZGV4LCB1
bnNpZ25lZCBsYXN0SW5kZXgsIHVuc2lnbmVkIGVuZEluZGV4KTsKKyAgICBTdXJyb2dhdGVQYWly
QXdhcmVUZXh0SXRlcmF0b3IoY29uc3QgVUNoYXIqIGNoYXJhY3RlcnMsIHVuc2lnbmVkIGN1cnJl
bnRJbmRleCwgdW5zaWduZWQgbGFzdEluZGV4LCB1bnNpZ25lZCBlbmRJbmRleCkKKyAgICAgICAg
OiBtX2NoYXJhY3RlcnMoY2hhcmFjdGVycykKKyAgICAgICAgLCBtX2N1cnJlbnRJbmRleChjdXJy
ZW50SW5kZXgpCisgICAgICAgICwgbV9sYXN0SW5kZXgobGFzdEluZGV4KQorICAgICAgICAsIG1f
ZW5kSW5kZXgoZW5kSW5kZXgpCisgICAgeworICAgIH0KIAotICAgIGlubGluZSBib29sIGNvbnN1
bWUoVUNoYXIzMiYgY2hhcmFjdGVyLCB1bnNpZ25lZCYgY2x1c3Rlckxlbmd0aCkKKyAgICBib29s
IGNvbnN1bWUoVUNoYXIzMiYgY2hhcmFjdGVyLCB1bnNpZ25lZCYgY2x1c3Rlckxlbmd0aCkKICAg
ICB7CiAgICAgICAgIGlmIChtX2N1cnJlbnRJbmRleCA+PSBtX2xhc3RJbmRleCkKICAgICAgICAg
ICAgIHJldHVybiBmYWxzZTsKIAotICAgICAgICBjaGFyYWN0ZXIgPSAqbV9jaGFyYWN0ZXJzOwot
ICAgICAgICBjbHVzdGVyTGVuZ3RoID0gMTsKLQotICAgICAgICBpZiAoIVUxNl9JU19TVVJST0dB
VEUoY2hhcmFjdGVyKSkKLSAgICAgICAgICAgIHJldHVybiB0cnVlOwotCi0gICAgICAgIHJldHVy
biBjb25zdW1lU2xvd0Nhc2UoY2hhcmFjdGVyLCBjbHVzdGVyTGVuZ3RoKTsKKyAgICAgICAgY2x1
c3Rlckxlbmd0aCA9IDA7CisgICAgICAgIFUxNl9ORVhUKG1fY2hhcmFjdGVycywgY2x1c3Rlckxl
bmd0aCwgbV9lbmRJbmRleCAtIG1fY3VycmVudEluZGV4LCBjaGFyYWN0ZXIpOworICAgICAgICBy
ZXR1cm4gdHJ1ZTsKICAgICB9CiAKICAgICB2b2lkIGFkdmFuY2UodW5zaWduZWQgYWR2YW5jZUxl
bmd0aCkKQEAgLTUzLDE2ICs1NCwxMiBAQCBwdWJsaWM6CiAgICAgfQogCiAgICAgdW5zaWduZWQg
Y3VycmVudEluZGV4KCkgY29uc3QgeyByZXR1cm4gbV9jdXJyZW50SW5kZXg7IH0KLSAgICBjb25z
dCBVQ2hhciogY2hhcmFjdGVycygpIGNvbnN0IHsgcmV0dXJuIG1fY2hhcmFjdGVyczsgfQogCiBw
cml2YXRlOgotICAgIGJvb2wgY29uc3VtZVNsb3dDYXNlKFVDaGFyMzImLCB1bnNpZ25lZCYpOwot
ICAgIFVDaGFyMzIgbm9ybWFsaXplVm9pY2luZ01hcmtzKCk7Ci0KLSAgICBjb25zdCBVQ2hhciog
bV9jaGFyYWN0ZXJzOwotICAgIHVuc2lnbmVkIG1fY3VycmVudEluZGV4OwotICAgIHVuc2lnbmVk
IG1fbGFzdEluZGV4OwotICAgIHVuc2lnbmVkIG1fZW5kSW5kZXg7CisgICAgY29uc3QgVUNoYXIq
IG1fY2hhcmFjdGVycyB7IG51bGxwdHIgfTsKKyAgICB1bnNpZ25lZCBtX2N1cnJlbnRJbmRleCB7
IDAgfTsKKyAgICB1bnNpZ25lZCBtX2xhc3RJbmRleCB7IDAgfTsKKyAgICB1bnNpZ25lZCBtX2Vu
ZEluZGV4IHsgMCB9OwogfTsKIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvV2lkdGhJdGVyYXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9XaWR0aEl0ZXJhdG9yLmNwcAppbmRleCBkZTRhZWRmODcyMzBlM2IwMTFhOGFkZjhl
MGU5YTYwMjE4M2JlYjAzLi5mNzM2MTFiYmM5MWQwYTkyN2IxNTU5YmZlOGQzMGFmMTE0NWYwYmY3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9XaWR0aEl0ZXJh
dG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9XaWR0aEl0ZXJh
dG9yLmNwcApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDMgLSAyMDIw
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAwMyAt
IDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICogQ29weXJpZ2h0IChDKSAy
MDA4IEhvbGdlciBIYW5zIFBldGVyIEZyZXl0aGVyCiAgKgogICogVGhpcyBsaWJyYXJ5IGlzIGZy
ZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgpAQCAtMjc4LDYgKzI3
OCw4IEBAIGlubGluZSB2b2lkIFdpZHRoSXRlcmF0b3I6OmFkdmFuY2VJbnRlcm5hbChUZXh0SXRl
cmF0b3ImIHRleHRJdGVyYXRvciwgR2x5cGhCdWZmCiAgICAgZmxvYXQgd2lkdGhPZkN1cnJlbnRG
b250UmFuZ2UgPSAwOwogICAgIC8vIFdlIGFyZSBpdGVyYXRpbmcgaW4gc3RyaW5nIG9yZGVyLCBu
b3QgZ2x5cGggb3JkZXIuIENvbXBhcmUgdGhpcyB0byBDb21wbGV4VGV4dENvbnRyb2xsZXI6OmFk
anVzdEdseXBoc0FuZEFkdmFuY2VzKCkKICAgICB3aGlsZSAodGV4dEl0ZXJhdG9yLmNvbnN1bWUo
Y2hhcmFjdGVyLCBjbHVzdGVyTGVuZ3RoKSkgeworICAgICAgICAvLyBGSVhNRTogU2hvdWxkIHdl
IHJlcGxhY2UgdW5wYWlyZWQgc3Vycm9nYXRlcyB3aXRoIHRoZSBvYmplY3QgcmVwbGFjZW1lbnQg
Y2hhcmFjdGVyPworICAgICAgICAvLyBTaG91bGQgd2UgZG8gdGhpcyBiZWZvcmUgb3IgYWZ0ZXIg
c2hhcGluZz8gV2hhdCBkb2VzIGEgc2hhcGVyIGRvIHdpdGggYW4gdW5wYWlyZWQgc3Vycm9nYXRl
PwogICAgICAgICBtX2NvbnRhaW5zVGFicyB8PSBjaGFyYWN0ZXIgPT0gdGFiQ2hhcmFjdGVyOwog
ICAgICAgICBjdXJyZW50Q2hhcmFjdGVySW5kZXggPSB0ZXh0SXRlcmF0b3IuY3VycmVudEluZGV4
KCk7CiAgICAgICAgIHVuc2lnbmVkIGFkdmFuY2VMZW5ndGggPSBjbHVzdGVyTGVuZ3RoOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZnJlZXR5cGUvU2ltcGxl
Rm9udERhdGFGcmVlVHlwZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9m
cmVldHlwZS9TaW1wbGVGb250RGF0YUZyZWVUeXBlLmNwcAppbmRleCA1NWRhOWE5MzA1YzZhN2Ji
NjI3Y2I5NDA4ZDY0YzYzN2EzZjkzOTk3Li4wMTU3YTM1NjcwMDE2ZTViZTg3ZWQ1ZTgwZTljOTE5
NTA1NzRiYmRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9m
cmVldHlwZS9TaW1wbGVGb250RGF0YUZyZWVUeXBlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9mcmVldHlwZS9TaW1wbGVGb250RGF0YUZyZWVUeXBlLmNwcApAQCAt
NDIsNyArNDIsNiBAQAogI2luY2x1ZGUgIkdseXBoQnVmZmVyLmgiCiAjaW5jbHVkZSAiT3BlblR5
cGVUeXBlcy5oIgogI2luY2x1ZGUgIlJlZlB0ckNhaXJvLmgiCi0jaW5jbHVkZSAiU3Vycm9nYXRl
UGFpckF3YXJlVGV4dEl0ZXJhdG9yLmgiCiAjaW5jbHVkZSAiVVRGMTZVQ2hhcjMySXRlcmF0b3Iu
aCIKICNpbmNsdWRlIDxjYWlyby1mdC5oPgogI2luY2x1ZGUgPGNhaXJvLmg+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggZDdj
NThhNjE1Mzg0YThiMjY3YmVkMjgzMmEwZDNiMmU4ZGM0NmU2OS4uOThlYTlhOWU0NDlmNjcyNjI3
ZjkwZDQ4N2YyM2I0YzBhZDhhYzc0YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDIxLTA4LTIz
ICBNeWxlcyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgVGhl
IHNpbXBsZSB0ZXh0IGNvZGVwYXRoIGRvZXMgbm90IGhhbmRsZSB1bnBhaXJlZCBzdXJyb2dhdGVz
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjkzOTIK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGZhc3Qv
dGV4dC91bnBhaXJlZC1zdXJyb2dhdGUtZXhwZWN0ZWQtbWlzbWF0Y2guaHRtbDogQWRkZWQuCisg
ICAgICAgICogZmFzdC90ZXh0L3VucGFpcmVkLXN1cnJvZ2F0ZS5odG1sOiBBZGRlZC4KKwogMjAy
MS0wOC0yMiAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29tPgogCiAgICAgICAgIFtK
U0NdIFJlbW92ZSBhbHJlYWR5LXNoaXBwZWQgd2FzbSBvcHRpb24gZmxhZ3MKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3QvdGV4dC91bnBhaXJlZC1zdXJyb2dhdGUtZXhwZWN0ZWQtbWlzbWF0
Y2guaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC91bnBhaXJlZC1zdXJyb2dhdGUtZXhwZWN0
ZWQtbWlzbWF0Y2guaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lZWIyNzllZjBjODEzMzQ0YTA3ODMyODc5ODc2
MzI5NmY0MTY5YzVhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L3Vu
cGFpcmVkLXN1cnJvZ2F0ZS1leHBlY3RlZC1taXNtYXRjaC5odG1sCkBAIC0wLDAgKzEsOCBAQAor
PCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IGlk
PSJ0YXJnZXQiIHN0eWxlPSJmb250LXNpemU6IDEwMHB4OyI+YTwvZGl2PgorPC9ib2R5PgorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L3VucGFpcmVkLXN1cnJvZ2F0
ZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L3VucGFpcmVkLXN1cnJvZ2F0ZS5odG1sCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjFiNmRmYWE5YzNhMmY2MjJiZTg3ZWUwMDczOWVmMDBkZWFhOGQ3ODYKLS0tIC9k
ZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQvdW5wYWlyZWQtc3Vycm9nYXRlLmh0
bWwKQEAgLTAsMCArMSwxMiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPC9o
ZWFkPgorPGJvZHk+Cis8ZGl2IGlkPSJ0YXJnZXQiIHN0eWxlPSJmb250LXNpemU6IDEwMHB4OyI+
PC9kaXY+Cis8c2NyaXB0PgorbGV0IHRhcmdldCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0
YXJnZXQiKTsKK3RhcmdldC50ZXh0Q29udGVudCA9ICdhXHVEODAwYic7Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4K
</data>
<flag name="commit-queue"
          id="459133"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>436162</attachid>
            <date>2021-08-23 01:27:00 -0700</date>
            <delta_ts>2021-08-27 01:05:21 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-229392-20210823012659.patch</filename>
            <type>text/plain</type>
            <size>16840</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgxNDM5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNWM3MThlM2I2YTlhZGZk
ODA1ZTMxYzliNmRmYzAwMzEwNzU0NTJhNS4uMmRlYzQxNjhmNDliYjUyMzJiNDQ4ZDcyMDhhYTc0
MzAyMzM3ODhlZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDIxLTA4LTIzICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgVGhlIHNpbXBs
ZSB0ZXh0IGNvZGVwYXRoIGRvZXMgbm90IGhhbmRsZSB1bnBhaXJlZCBzdXJyb2dhdGVzCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjkzOTIKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGUgc2ltcGxlIHRl
eHQgY29kZXBhdGggd2FzIHRha2luZyBhbiBlYXJseSByZXR1cm4gaWYgaXQgZW5jb3VudGVyZWQg
YW4gdW5wYWlyZWQgc3Vycm9nYXRlLgorICAgICAgICBUaGlzIGVzc2VudGlhbGx5IGVuZHMgdXAg
YmVpbmcgZGF0YSBsb3NzLCBiZWNhdXNlIGV2ZXJ5dGhpbmcgYWZ0ZXIgdGhhdCBzdXJyb2dhdGUg
aXMganVzdCBnb25lLgorICAgICAgICBUaGUgb3RoZXIgYnJvd3NlcnMgcmVuZGVyIHRoZSB1bnBh
aXJlZCBzdXJyb2dhdGUsIGFuZCB0aGUgdGV4dCBhZnRlciBpdCB0b28uCisKKyAgICAgICAgVGVz
dDogZmFzdC90ZXh0L3VucGFpcmVkLXN1cnJvZ2F0ZS5odG1sCisKKyAgICAgICAgKiBTb3VyY2Vz
LnR4dDoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAg
ICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhc2NhZGUuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6Rm9udENhc2NhZGU6OmdldEVtcGhhc2lzTWFya0dseXBoRGF0YSBjb25zdCk6CisgICAgICAg
ICogcGxhdGZvcm0vZ3JhcGhpY3MvU3Vycm9nYXRlUGFpckF3YXJlVGV4dEl0ZXJhdG9yLmNwcDog
UmVtb3ZlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9TdXJyb2dhdGVQYWlyQXdhcmVU
ZXh0SXRlcmF0b3IuaDoKKyAgICAgICAgKFdlYkNvcmU6OlN1cnJvZ2F0ZVBhaXJBd2FyZVRleHRJ
dGVyYXRvcjo6U3Vycm9nYXRlUGFpckF3YXJlVGV4dEl0ZXJhdG9yKToKKyAgICAgICAgKFdlYkNv
cmU6OlN1cnJvZ2F0ZVBhaXJBd2FyZVRleHRJdGVyYXRvcjo6Y29uc3VtZSk6CisgICAgICAgIChX
ZWJDb3JlOjpTdXJyb2dhdGVQYWlyQXdhcmVUZXh0SXRlcmF0b3I6OmN1cnJlbnRJbmRleCBjb25z
dCk6CisgICAgICAgIChXZWJDb3JlOjpTdXJyb2dhdGVQYWlyQXdhcmVUZXh0SXRlcmF0b3I6OmNo
YXJhY3RlcnMgY29uc3QpOiBEZWxldGVkLgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL1dp
ZHRoSXRlcmF0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6V2lkdGhJdGVyYXRvcjo6YWR2YW5j
ZUludGVybmFsKToKKwogMjAyMS0wOC0yMiAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lh
QGlnYWxpYS5jb20+CiAKICAgICAgICAgW0ZyZWV0eXBlXSBTZXQgbWF4aW11bSBhbGxvd2VkIGZv
bnQgc2l6ZSBmb3IgRnJlZXR5cGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMu
dHh0IGIvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKaW5kZXggMDNlMTJhN2E3ODcyMzFkNmE4
OWVjMzc1YWZhNWM0N2RjMTZmMjljMy4uZjEyOGUxNjQ4OTkxNmUzNDJkZTVkMDhkYTdmNzQwMjA5
Y2ZjODIxYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKKysrIGIvU291
cmNlL1dlYkNvcmUvU291cmNlcy50eHQKQEAgLTE5NTcsNyArMTk1Nyw2IEBAIHBsYXRmb3JtL2dy
YXBoaWNzL1JvdW5kZWRSZWN0LmNwcAogcGxhdGZvcm0vZ3JhcGhpY3MvU2hhZG93Qmx1ci5jcHAK
IHBsYXRmb3JtL2dyYXBoaWNzL1NvdXJjZUJ1ZmZlclByaXZhdGUuY3BwCiBwbGF0Zm9ybS9ncmFw
aGljcy9TdHJpbmdUcnVuY2F0b3IuY3BwCi1wbGF0Zm9ybS9ncmFwaGljcy9TdXJyb2dhdGVQYWly
QXdhcmVUZXh0SXRlcmF0b3IuY3BwCiBwbGF0Zm9ybS9ncmFwaGljcy9UZXh0UnVuLmNwcAogcGxh
dGZvcm0vZ3JhcGhpY3MvVGV4dFRyYWNrUmVwcmVzZW50YXRpb24uY3BwCiBwbGF0Zm9ybS9ncmFw
aGljcy9UcmFja1ByaXZhdGVCYXNlLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGIwOTM2YTBkNDU5ZjI0MWJlNTJhN2ExZWM0
ZmM4NmM3Mzc2MTczZmIuLjNiNWU4NjNiOGJjNWViMTY1NjEyZDcxYTAyNGU5N2Y2ODYyNzlhM2Yg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oKQEAgLTI2Miw3ICsyNjIsNiBAQAogCQkwODY0MUQ0ODEyMTQyRjdEMDA4REU5RjYgLyogUmVu
ZGVySW1hZ2VSZXNvdXJjZVN0eWxlSW1hZ2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDA4NjQxRDQ2MTIxNDJGN0QwMDhERTlGNiAvKiBSZW5kZXJJbWFn
ZVJlc291cmNlU3R5bGVJbWFnZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CiAJCTA4NkJCRDBGMTM2MDM5QzIwMDhCMTVEOCAvKiBHbHlwaC5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDg2QkJEMEUxMzYwMzlD
MjAwOEIxNUQ4IC8qIEdseXBoLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKIAkJMDg3M0I4NkIxMzYwNjRFQTAwQTUyMkMyIC8qIEdseXBoUGFnZS5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMDg3M0I4NkExMzYw
NjRFQTAwQTUyMkMyIC8qIEdseXBoUGFnZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07Ci0JCTA4NzU1OEM2MTNCNEE1N0QwMEY0OTMwNyAvKiBTdXJyb2dh
dGVQYWlyQXdhcmVUZXh0SXRlcmF0b3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDA4NzU1OEM0MTNCNEE1N0QwMEY0OTMwNyAvKiBTdXJyb2dhdGVQYWly
QXdhcmVUZXh0SXRlcmF0b3IuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OwogCQkwODg1MDY3RjExREEwNDVCMDAxODJCOTggLyogUGFpbnRJbmZvLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwODg1MDY3RDExREEw
NDVCMDAxODJCOTggLyogUGFpbnRJbmZvLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKIAkJMDg4NTA2ODAxMURBMDQ1QjAwMTgyQjk4IC8qIFBhaW50UGhh
c2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA4ODUw
NjdFMTFEQTA0NUIwMDE4MkI5OCAvKiBQYWludFBoYXNlLmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMDg4QTBFMEMxMjZFRjFEQjAwOTc4RjdBIC8q
IFNWR1Byb3BlcnR5VHJhaXRzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAwODhBMEUwMzEyNkVGMURCMDA5NzhGN0EgLyogU1ZHUHJvcGVydHlUcmFpdHMu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtNjA3
MSw3ICs2MDcwLDYgQEAKIAkJMDg2NDFENDYxMjE0MkY3RDAwOERFOUY2IC8qIFJlbmRlckltYWdl
UmVzb3VyY2VTdHlsZUltYWdlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJl
bmRlckltYWdlUmVzb3VyY2VTdHlsZUltYWdlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTA4NkJCRDBFMTM2MDM5QzIwMDhCMTVEOCAvKiBHbHlwaC5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBHbHlwaC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkw
ODczQjg2QTEzNjA2NEVBMDBBNTIyQzIgLyogR2x5cGhQYWdlLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IEdseXBoUGFnZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owot
CQkwODc1NThDMzEzQjRBNTdEMDBGNDkzMDcgLyogU3Vycm9nYXRlUGFpckF3YXJlVGV4dEl0ZXJh
dG9yLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFN1cnJvZ2F0ZVBh
aXJBd2FyZVRleHRJdGVyYXRvci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTA4
NzU1OEM0MTNCNEE1N0QwMEY0OTMwNyAvKiBTdXJyb2dhdGVQYWlyQXdhcmVUZXh0SXRlcmF0b3Iu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU3Vycm9nYXRlUGFpckF3YXJlVGV4
dEl0ZXJhdG9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTA4ODUwNjdEMTFEQTA0
NUIwMDE4MkI5OCAvKiBQYWludEluZm8uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gUGFpbnRJbmZvLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTA4ODUwNjdFMTFE
QTA0NUIwMDE4MkI5OCAvKiBQYWludFBoYXNlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IFBhaW50UGhhc2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTI2NzMz
LDcgKzI2NzMxLDYgQEAKIAkJCQk3QzgzREU4NTFEMDRDQkQ0MDBGRUJDRjMgLyogU3ByaW5nU29s
dmVyLmggKi8sCiAJCQkJQjIzNTQwRjAwRDAwNzgyRTAwMjM4MkZBIC8qIFN0cmluZ1RydW5jYXRv
ci5jcHAgKi8sCiAJCQkJQjIzNTQwRjEwRDAwNzgyRTAwMjM4MkZBIC8qIFN0cmluZ1RydW5jYXRv
ci5oICovLAotCQkJCTA4NzU1OEMzMTNCNEE1N0QwMEY0OTMwNyAvKiBTdXJyb2dhdGVQYWlyQXdh
cmVUZXh0SXRlcmF0b3IuY3BwICovLAogCQkJCTA4NzU1OEM0MTNCNEE1N0QwMEY0OTMwNyAvKiBT
dXJyb2dhdGVQYWlyQXdhcmVUZXh0SXRlcmF0b3IuaCAqLywKIAkJCQkzQkI2QjgwRjIyQTdEMzEx
MDAzQTJBNjkgLyogVGFiU2l6ZS5oICovLAogCQkJCTM3NkRDQ0UwMTNCNEY5NjYwMDJFQkVGQyAv
KiBUZXh0UnVuLmNwcCAqLywKQEAgLTM0NzU2LDcgKzM0NzUzLDYgQEAKIAkJCQk5M0IyRDgxNjBG
OTkyMEQyMDA2QUU2QjIgLyogU3VkZGVuVGVybWluYXRpb24uaCBpbiBIZWFkZXJzICovLAogCQkJ
CTk3QzA3ODUwMTE2NUQ1QkUwMDNBMzJFRiAvKiBTdWZmaXhUcmVlLmggaW4gSGVhZGVycyAqLywK
IAkJCQk5NzYyN0I5ODE0RkI1NDI0MDAyQ0RDQTEgLyogU3VwcGxlbWVudGFibGUuaCBpbiBIZWFk
ZXJzICovLAotCQkJCTA4NzU1OEM2MTNCNEE1N0QwMEY0OTMwNyAvKiBTdXJyb2dhdGVQYWlyQXdh
cmVUZXh0SXRlcmF0b3IuaCBpbiBIZWFkZXJzICovLAogCQkJCTYyQzEyMTdEMTFBQjlFNzcwMDND
NDYyQyAvKiBTdXNwZW5kYWJsZVRpbWVyLmggaW4gSGVhZGVycyAqLywKIAkJCQlCMjIyNzk3NDBE
MDBCRjIyMDA3MUI3ODIgLyogU1ZHQUVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTI0RDkx
MkIxMTNDQTlBMUYwMEQyMTkxNSAvKiBTVkdBbHRHbHlwaERlZkVsZW1lbnQuaCBpbiBIZWFkZXJz
ICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENh
c2NhZGUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhc2NhZGUu
Y3BwCmluZGV4IDA1MGUyODdkOTlkY2ViYWE1NGYzM2JmZWFmOWI2YzhkOWZiY2RkYTYuLmExNzkw
ZDkyNmRhNDU0NzJjODNhNDhmZThjOTcwNGU4OTllZGZkNzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYXNjYWRlLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FzY2FkZS5jcHAKQEAgLTMzLDcgKzMzLDYgQEAK
ICNpbmNsdWRlICJHcmFwaGljc0NvbnRleHQuaCIKICNpbmNsdWRlICJJbk1lbW9yeURpc3BsYXlM
aXN0LmgiCiAjaW5jbHVkZSAiTGF5b3V0UmVjdC5oIgotI2luY2x1ZGUgIlN1cnJvZ2F0ZVBhaXJB
d2FyZVRleHRJdGVyYXRvci5oIgogI2luY2x1ZGUgIlRleHRSdW4uaCIKICNpbmNsdWRlICJXaWR0
aEl0ZXJhdG9yLmgiCiAjaW5jbHVkZSA8d3RmL01haW5UaHJlYWQuaD4KQEAgLTExOTQsMTAgKzEx
OTMsOSBAQCBzdGQ6Om9wdGlvbmFsPEdseXBoRGF0YT4gRm9udENhc2NhZGU6OmdldEVtcGhhc2lz
TWFya0dseXBoRGF0YShjb25zdCBBdG9tU3RyaW5nJgogCiAgICAgVUNoYXIzMiBjaGFyYWN0ZXI7
CiAgICAgaWYgKCFtYXJrLmlzOEJpdCgpKSB7Ci0gICAgICAgIFN1cnJvZ2F0ZVBhaXJBd2FyZVRl
eHRJdGVyYXRvciBpdGVyYXRvcihtYXJrLmNoYXJhY3RlcnMxNigpLCAwLCBtYXJrLmxlbmd0aCgp
LCBtYXJrLmxlbmd0aCgpKTsKLSAgICAgICAgdW5zaWduZWQgY2x1c3Rlckxlbmd0aDsKLSAgICAg
ICAgaWYgKCFpdGVyYXRvci5jb25zdW1lKGNoYXJhY3RlciwgY2x1c3Rlckxlbmd0aCkpCi0gICAg
ICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OworICAgICAgICBzaXplX3QgaSA9IDA7CisgICAg
ICAgIFUxNl9ORVhUKG1hcmsuY2hhcmFjdGVyczE2KCksIGksIG1hcmsubGVuZ3RoKCksIGNoYXJh
Y3Rlcik7CisgICAgICAgIEFTU0VSVChVMTZfSVNfU0lOR0xFKGNoYXJhY3RlcikpOyAvLyBUaGUg
Q1NTIHBhcnNlciByZXBsYWNlcyB1bnBhaXJlZCBzdXJyb2dhdGVzIHdpdGggdGhlIG9iamVjdCBy
ZXBsYWNlbWVudCBjaGFyYWN0ZXIuCiAgICAgfSBlbHNlCiAgICAgICAgIGNoYXJhY3RlciA9IG1h
cmtbMF07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1N1
cnJvZ2F0ZVBhaXJBd2FyZVRleHRJdGVyYXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9TdXJyb2dhdGVQYWlyQXdhcmVUZXh0SXRlcmF0b3IuY3BwCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCA1YWVlNGNjNDJhYzJkNzQ3MmRlNzk5ZWIxNjE5ZGUwYmNiMTEy
ZDBlLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1N1cnJvZ2F0ZVBhaXJBd2FyZVRleHRJdGVyYXRv
ci5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSw4MCArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChD
KSAyMDAzLTIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICogQ29weXJpZ2h0
IChDKSAyMDA4IEhvbGdlciBIYW5zIFBldGVyIEZyZXl0aGVyCi0gKiBDb3B5cmlnaHQgKEMpIFJl
c2VhcmNoIEluIE1vdGlvbiBMaW1pdGVkIDIwMTEuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgot
ICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0
IGFuZC9vcgotICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkg
R2VuZXJhbCBQdWJsaWMKLSAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3
YXJlIEZvdW5kYXRpb247IGVpdGhlcgotICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAo
YXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotICoKLSAqIFRoaXMgbGlicmFyeSBp
cyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotICogYnV0
IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkg
b2YKLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RS4gIFNlZSB0aGUgR05VCi0gKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1v
cmUgZGV0YWlscy4KLSAqCi0gKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRo
ZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0gKiBhbG9uZyB3aXRoIHRoaXMg
bGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bwotICog
dGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBG
aWZ0aCBGbG9vciwKLSAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgotICoKLSAqLwotCi0j
aW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVkZSAiU3Vycm9nYXRlUGFpckF3YXJlVGV4dEl0ZXJh
dG9yLmgiCi0KLSNpbmNsdWRlIDx1bmljb2RlL3Vub3JtMi5oPgotCi1uYW1lc3BhY2UgV2ViQ29y
ZSB7Ci0KLVN1cnJvZ2F0ZVBhaXJBd2FyZVRleHRJdGVyYXRvcjo6U3Vycm9nYXRlUGFpckF3YXJl
VGV4dEl0ZXJhdG9yKGNvbnN0IFVDaGFyKiBjaGFyYWN0ZXJzLCB1bnNpZ25lZCBjdXJyZW50SW5k
ZXgsIHVuc2lnbmVkIGxhc3RJbmRleCwgdW5zaWduZWQgZW5kSW5kZXgpCi0gICAgOiBtX2NoYXJh
Y3RlcnMoY2hhcmFjdGVycykKLSAgICAsIG1fY3VycmVudEluZGV4KGN1cnJlbnRJbmRleCkKLSAg
ICAsIG1fbGFzdEluZGV4KGxhc3RJbmRleCkKLSAgICAsIG1fZW5kSW5kZXgoZW5kSW5kZXgpCi17
Ci19Ci0KLWJvb2wgU3Vycm9nYXRlUGFpckF3YXJlVGV4dEl0ZXJhdG9yOjpjb25zdW1lU2xvd0Nh
c2UoVUNoYXIzMiYgY2hhcmFjdGVyLCB1bnNpZ25lZCYgY2x1c3Rlckxlbmd0aCkKLXsKLSAgICBB
U1NFUlQoVTE2X0lTX1NVUlJPR0FURShjaGFyYWN0ZXIpKTsKLQotICAgIC8vIElmIHdlIGhhdmUg
YSBzdXJyb2dhdGUgcGFpciwgbWFrZSBzdXJlIGl0IHN0YXJ0cyB3aXRoIHRoZSBoaWdoIHBhcnQu
Ci0gICAgaWYgKCFVMTZfSVNfU1VSUk9HQVRFX0xFQUQoY2hhcmFjdGVyKSkKLSAgICAgICAgcmV0
dXJuIGZhbHNlOwotCi0gICAgLy8gRG8gd2UgaGF2ZSBhIHN1cnJvZ2F0ZSBwYWlyPyBJZiBzbywg
ZGV0ZXJtaW5lIHRoZSBmdWxsIFVuaWNvZGUgKDMyIGJpdCkgY29kZSBwb2ludCBiZWZvcmUgZ2x5
cGggbG9va3VwLgotICAgIC8vIE1ha2Ugc3VyZSB3ZSBoYXZlIGFub3RoZXIgY2hhcmFjdGVyIGFu
ZCBpdCdzIGEgbG93IHN1cnJvZ2F0ZS4KLSAgICBpZiAobV9jdXJyZW50SW5kZXggKyAxID49IG1f
ZW5kSW5kZXgpCi0gICAgICAgIHJldHVybiBmYWxzZTsKLQotICAgIFVDaGFyIGxvdyA9IG1fY2hh
cmFjdGVyc1sxXTsKLSAgICBpZiAoIVUxNl9JU19UUkFJTChsb3cpKQotICAgICAgICByZXR1cm4g
ZmFsc2U7Ci0KLSAgICBjaGFyYWN0ZXIgPSBVMTZfR0VUX1NVUFBMRU1FTlRBUlkoY2hhcmFjdGVy
LCBsb3cpOwotICAgIGNsdXN0ZXJMZW5ndGggPSAyOwotICAgIHJldHVybiB0cnVlOwotfQotCi1V
Q2hhcjMyIFN1cnJvZ2F0ZVBhaXJBd2FyZVRleHRJdGVyYXRvcjo6bm9ybWFsaXplVm9pY2luZ01h
cmtzKCkKLXsKLSAgICAvLyBBY2NvcmRpbmcgdG8gaHR0cDovL3d3dy51bmljb2RlLm9yZy9QdWJs
aWMvVU5JREFUQS9VQ0QuaHRtbCNDYW5vbmljYWxfQ29tYmluaW5nX0NsYXNzX1ZhbHVlcwotICAg
IHN0YXRpYyBjb25zdGV4cHIgdWludDhfdCBoaXJhZ2FuYUthdGFrYW5hVm9pY2luZ01hcmtzQ29t
YmluaW5nQ2xhc3MgPSA4OwotCi0gICAgaWYgKG1fY3VycmVudEluZGV4ICsgMSA+PSBtX2VuZElu
ZGV4KQotICAgICAgICByZXR1cm4gMDsKLQotICAgIGlmICh1X2dldENvbWJpbmluZ0NsYXNzKG1f
Y2hhcmFjdGVyc1sxXSkgPT0gaGlyYWdhbmFLYXRha2FuYVZvaWNpbmdNYXJrc0NvbWJpbmluZ0Ns
YXNzKSB7Ci0gICAgICAgIFVFcnJvckNvZGUgc3RhdHVzID0gVV9aRVJPX0VSUk9SOwotICAgICAg
ICBjb25zdCBVTm9ybWFsaXplcjIqIG5vcm1hbGl6ZXIgPSB1bm9ybTJfZ2V0TkZDSW5zdGFuY2Uo
JnN0YXR1cyk7Ci0gICAgICAgIEFTU0VSVChVX1NVQ0NFU1Moc3RhdHVzKSk7Ci0gICAgICAgIGF1
dG8gY29tcG9zZWRDaGFyYWN0ZXIgPSB1bm9ybTJfY29tcG9zZVBhaXIobm9ybWFsaXplciwgbV9j
aGFyYWN0ZXJzWzBdLCBtX2NoYXJhY3RlcnNbMV0pOwotICAgICAgICBpZiAoY29tcG9zZWRDaGFy
YWN0ZXIgPiAwKQotICAgICAgICAgICAgcmV0dXJuIGNvbXBvc2VkQ2hhcmFjdGVyOwotICAgIH0K
LQotICAgIHJldHVybiAwOwotfQotCi19CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9TdXJyb2dhdGVQYWlyQXdhcmVUZXh0SXRlcmF0b3IuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1N1cnJvZ2F0ZVBhaXJBd2FyZVRleHRJdGVyYXRvci5o
CmluZGV4IDM1NGZjOTllMTAyNWRjZmIzNmM2YTM1NTQ0Nzk2MWJjMjkwZDJkYmYuLmI5YWZhYzIy
ZTE4MWE5ZDM0ODJhMDllMGRhNTI1YWFjMTQ0ZWViODEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL1N1cnJvZ2F0ZVBhaXJBd2FyZVRleHRJdGVyYXRvci5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1N1cnJvZ2F0ZVBhaXJBd2FyZVRl
eHRJdGVyYXRvci5oCkBAIC0xOCwzMiArMTgsMzMgQEAKICAqCiAgKi8KIAotI2lmbmRlZiBTdXJy
b2dhdGVQYWlyQXdhcmVUZXh0SXRlcmF0b3JfaAotI2RlZmluZSBTdXJyb2dhdGVQYWlyQXdhcmVU
ZXh0SXRlcmF0b3JfaAorI3ByYWdtYSBvbmNlCiAKLSNpbmNsdWRlIDx3dGYvdW5pY29kZS9DaGFy
YWN0ZXJOYW1lcy5oPgorI2luY2x1ZGUgPHVuaWNvZGUvdXRmMTYuaD4KICNpbmNsdWRlIDx3dGYv
dGV4dC9XVEZTdHJpbmcuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBTdXJyb2dh
dGVQYWlyQXdhcmVUZXh0SXRlcmF0b3IgewogcHVibGljOgotICAgIC8vIFRoZSBwYXNzZWQgaW4g
VUNoYXIgcG9pbnRlciBzdGFydHMgYXQgJ2N1cnJlbnRJbmRleCcuIFRoZSBpdGVyYXRvciBvcGVy
YXRvZXMgb24gdGhlIHJhbmdlIFtjdXJyZW50SW5kZXgsIGxhc3RJbmRleF0uCisgICAgLy8gVGhl
IHBhc3NlZCBpbiBVQ2hhciBwb2ludGVyIHN0YXJ0cyBhdCAnY3VycmVudEluZGV4Jy4gVGhlIGl0
ZXJhdG9yIG9wZXJhdGVzIG9uIHRoZSByYW5nZSBbY3VycmVudEluZGV4LCBsYXN0SW5kZXhdLgog
ICAgIC8vICdlbmRJbmRleCcgZGVub3RlcyB0aGUgbWF4aW11bSBsZW5ndGggb2YgdGhlIFVDaGFy
IGFycmF5LCB3aGljaCBtaWdodCBleGNlZWQgJ2xhc3RJbmRleCcuCi0gICAgU3Vycm9nYXRlUGFp
ckF3YXJlVGV4dEl0ZXJhdG9yKGNvbnN0IFVDaGFyKiwgdW5zaWduZWQgY3VycmVudEluZGV4LCB1
bnNpZ25lZCBsYXN0SW5kZXgsIHVuc2lnbmVkIGVuZEluZGV4KTsKKyAgICBTdXJyb2dhdGVQYWly
QXdhcmVUZXh0SXRlcmF0b3IoY29uc3QgVUNoYXIqIGNoYXJhY3RlcnMsIHVuc2lnbmVkIGN1cnJl
bnRJbmRleCwgdW5zaWduZWQgbGFzdEluZGV4LCB1bnNpZ25lZCBlbmRJbmRleCkKKyAgICAgICAg
OiBtX2NoYXJhY3RlcnMoY2hhcmFjdGVycykKKyAgICAgICAgLCBtX2N1cnJlbnRJbmRleChjdXJy
ZW50SW5kZXgpCisgICAgICAgICwgbV9sYXN0SW5kZXgobGFzdEluZGV4KQorICAgICAgICAsIG1f
ZW5kSW5kZXgoZW5kSW5kZXgpCisgICAgeworICAgIH0KIAotICAgIGlubGluZSBib29sIGNvbnN1
bWUoVUNoYXIzMiYgY2hhcmFjdGVyLCB1bnNpZ25lZCYgY2x1c3Rlckxlbmd0aCkKKyAgICBib29s
IGNvbnN1bWUoVUNoYXIzMiYgY2hhcmFjdGVyLCB1bnNpZ25lZCYgY2x1c3Rlckxlbmd0aCkKICAg
ICB7CiAgICAgICAgIGlmIChtX2N1cnJlbnRJbmRleCA+PSBtX2xhc3RJbmRleCkKICAgICAgICAg
ICAgIHJldHVybiBmYWxzZTsKIAotICAgICAgICBjaGFyYWN0ZXIgPSAqbV9jaGFyYWN0ZXJzOwot
ICAgICAgICBjbHVzdGVyTGVuZ3RoID0gMTsKLQotICAgICAgICBpZiAoIVUxNl9JU19TVVJST0dB
VEUoY2hhcmFjdGVyKSkKLSAgICAgICAgICAgIHJldHVybiB0cnVlOwotCi0gICAgICAgIHJldHVy
biBjb25zdW1lU2xvd0Nhc2UoY2hhcmFjdGVyLCBjbHVzdGVyTGVuZ3RoKTsKKyAgICAgICAgY2x1
c3Rlckxlbmd0aCA9IDA7CisgICAgICAgIFUxNl9ORVhUKG1fY2hhcmFjdGVycywgY2x1c3Rlckxl
bmd0aCwgbV9lbmRJbmRleCAtIG1fY3VycmVudEluZGV4LCBjaGFyYWN0ZXIpOworICAgICAgICBy
ZXR1cm4gdHJ1ZTsKICAgICB9CiAKICAgICB2b2lkIGFkdmFuY2UodW5zaWduZWQgYWR2YW5jZUxl
bmd0aCkKQEAgLTUzLDE4ICs1NCwxMiBAQCBwdWJsaWM6CiAgICAgfQogCiAgICAgdW5zaWduZWQg
Y3VycmVudEluZGV4KCkgY29uc3QgeyByZXR1cm4gbV9jdXJyZW50SW5kZXg7IH0KLSAgICBjb25z
dCBVQ2hhciogY2hhcmFjdGVycygpIGNvbnN0IHsgcmV0dXJuIG1fY2hhcmFjdGVyczsgfQogCiBw
cml2YXRlOgotICAgIGJvb2wgY29uc3VtZVNsb3dDYXNlKFVDaGFyMzImLCB1bnNpZ25lZCYpOwot
ICAgIFVDaGFyMzIgbm9ybWFsaXplVm9pY2luZ01hcmtzKCk7Ci0KLSAgICBjb25zdCBVQ2hhciog
bV9jaGFyYWN0ZXJzOwotICAgIHVuc2lnbmVkIG1fY3VycmVudEluZGV4OwotICAgIHVuc2lnbmVk
IG1fbGFzdEluZGV4OwotICAgIHVuc2lnbmVkIG1fZW5kSW5kZXg7CisgICAgY29uc3QgVUNoYXIq
IG1fY2hhcmFjdGVycyB7IG51bGxwdHIgfTsKKyAgICB1bnNpZ25lZCBtX2N1cnJlbnRJbmRleCB7
IDAgfTsKKyAgICB1bnNpZ25lZCBtX2xhc3RJbmRleCB7IDAgfTsKKyAgICB1bnNpZ25lZCBtX2Vu
ZEluZGV4IHsgMCB9OwogfTsKIAogfQotCi0jZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL1dpZHRoSXRlcmF0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvV2lkdGhJdGVyYXRvci5jcHAKaW5kZXggZGU0YWVkZjg3MjMwZTNi
MDExYThhZGY4ZTBlOWE2MDIxODNiZWIwMy4uZjczNjExYmJjOTFkMGE5MjdiMTU1OWJmZThkMzBh
ZjExNDVmMGJmNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
V2lkdGhJdGVyYXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
V2lkdGhJdGVyYXRvci5jcHAKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAy
MDAzIC0gMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQg
KEMpIDIwMDMgLSAyMDIxIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqIENvcHly
aWdodCAoQykgMjAwOCBIb2xnZXIgSGFucyBQZXRlciBGcmV5dGhlcgogICoKICAqIFRoaXMgbGli
cmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKQEAg
LTI3OCw2ICsyNzgsOCBAQCBpbmxpbmUgdm9pZCBXaWR0aEl0ZXJhdG9yOjphZHZhbmNlSW50ZXJu
YWwoVGV4dEl0ZXJhdG9yJiB0ZXh0SXRlcmF0b3IsIEdseXBoQnVmZgogICAgIGZsb2F0IHdpZHRo
T2ZDdXJyZW50Rm9udFJhbmdlID0gMDsKICAgICAvLyBXZSBhcmUgaXRlcmF0aW5nIGluIHN0cmlu
ZyBvcmRlciwgbm90IGdseXBoIG9yZGVyLiBDb21wYXJlIHRoaXMgdG8gQ29tcGxleFRleHRDb250
cm9sbGVyOjphZGp1c3RHbHlwaHNBbmRBZHZhbmNlcygpCiAgICAgd2hpbGUgKHRleHRJdGVyYXRv
ci5jb25zdW1lKGNoYXJhY3RlciwgY2x1c3Rlckxlbmd0aCkpIHsKKyAgICAgICAgLy8gRklYTUU6
IFNob3VsZCB3ZSByZXBsYWNlIHVucGFpcmVkIHN1cnJvZ2F0ZXMgd2l0aCB0aGUgb2JqZWN0IHJl
cGxhY2VtZW50IGNoYXJhY3Rlcj8KKyAgICAgICAgLy8gU2hvdWxkIHdlIGRvIHRoaXMgYmVmb3Jl
IG9yIGFmdGVyIHNoYXBpbmc/IFdoYXQgZG9lcyBhIHNoYXBlciBkbyB3aXRoIGFuIHVucGFpcmVk
IHN1cnJvZ2F0ZT8KICAgICAgICAgbV9jb250YWluc1RhYnMgfD0gY2hhcmFjdGVyID09IHRhYkNo
YXJhY3RlcjsKICAgICAgICAgY3VycmVudENoYXJhY3RlckluZGV4ID0gdGV4dEl0ZXJhdG9yLmN1
cnJlbnRJbmRleCgpOwogICAgICAgICB1bnNpZ25lZCBhZHZhbmNlTGVuZ3RoID0gY2x1c3Rlckxl
bmd0aDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZyZWV0
eXBlL1NpbXBsZUZvbnREYXRhRnJlZVR5cGUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvZnJlZXR5cGUvU2ltcGxlRm9udERhdGFGcmVlVHlwZS5jcHAKaW5kZXggNTVkYTlh
OTMwNWM2YTdiYjYyN2NiOTQwOGQ2NGM2MzdhM2Y5Mzk5Ny4uMDE1N2EzNTY3MDAxNmU1YmU4N2Vk
NWU4MGU5YzkxOTUwNTc0YmJkZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvZnJlZXR5cGUvU2ltcGxlRm9udERhdGFGcmVlVHlwZS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZnJlZXR5cGUvU2ltcGxlRm9udERhdGFGcmVlVHlw
ZS5jcHAKQEAgLTQyLDcgKzQyLDYgQEAKICNpbmNsdWRlICJHbHlwaEJ1ZmZlci5oIgogI2luY2x1
ZGUgIk9wZW5UeXBlVHlwZXMuaCIKICNpbmNsdWRlICJSZWZQdHJDYWlyby5oIgotI2luY2x1ZGUg
IlN1cnJvZ2F0ZVBhaXJBd2FyZVRleHRJdGVyYXRvci5oIgogI2luY2x1ZGUgIlVURjE2VUNoYXIz
Mkl0ZXJhdG9yLmgiCiAjaW5jbHVkZSA8Y2Fpcm8tZnQuaD4KICNpbmNsdWRlIDxjYWlyby5oPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CmluZGV4IGQ3YzU4YTYxNTM4NGE4YjI2N2JlZDI4MzJhMGQzYjJlOGRjNDZlNjkuLjk4ZWE5YTll
NDQ5ZjY3MjYyN2Y5MGQ0ODdmMjNiNGMwYWQ4YWM3NGMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAor
MjAyMS0wOC0yMyAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgorCisg
ICAgICAgIFRoZSBzaW1wbGUgdGV4dCBjb2RlcGF0aCBkb2VzIG5vdCBoYW5kbGUgdW5wYWlyZWQg
c3Vycm9nYXRlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjI5MzkyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgKiBmYXN0L3RleHQvdW5wYWlyZWQtc3Vycm9nYXRlLWV4cGVjdGVkLW1pc21hdGNoLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGZhc3QvdGV4dC91bnBhaXJlZC1zdXJyb2dhdGUuaHRtbDogQWRk
ZWQuCisKIDIwMjEtMDgtMjIgIFl1c3VrZSBTdXp1a2kgIDx5c3V6dWtpQGFwcGxlLmNvbT4KIAog
ICAgICAgICBbSlNDXSBSZW1vdmUgYWxyZWFkeS1zaGlwcGVkIHdhc20gb3B0aW9uIGZsYWdzCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3RleHQvdW5wYWlyZWQtc3Vycm9nYXRlLWV4cGVj
dGVkLW1pc21hdGNoLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQvdW5wYWlyZWQtc3Vycm9n
YXRlLWV4cGVjdGVkLW1pc21hdGNoLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZWViMjc5ZWYwYzgxMzM0NGEw
NzgzMjg3OTg3NjMyOTZmNDE2OWM1YQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zh
c3QvdGV4dC91bnBhaXJlZC1zdXJyb2dhdGUtZXhwZWN0ZWQtbWlzbWF0Y2guaHRtbApAQCAtMCww
ICsxLDggQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdiBpZD0idGFyZ2V0IiBzdHlsZT0iZm9udC1zaXplOiAxMDBweDsiPmE8L2Rpdj4KKzwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvdGV4dC91bnBhaXJl
ZC1zdXJyb2dhdGUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC91bnBhaXJlZC1zdXJyb2dh
dGUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4xYjZkZmFhOWMzYTJmNjIyYmU4N2VlMDA3MzllZjAwZGVhYThk
Nzg2Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L3VucGFpcmVkLXN1
cnJvZ2F0ZS5odG1sCkBAIC0wLDAgKzEsMTIgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8
aGVhZD4KKzwvaGVhZD4KKzxib2R5PgorPGRpdiBpZD0idGFyZ2V0IiBzdHlsZT0iZm9udC1zaXpl
OiAxMDBweDsiPjwvZGl2PgorPHNjcmlwdD4KK2xldCB0YXJnZXQgPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgidGFyZ2V0Iik7Cit0YXJnZXQudGV4dENvbnRlbnQgPSAnYVx1RDgwMGInOworPC9z
Y3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>436611</attachid>
            <date>2021-08-27 01:05:23 -0700</date>
            <delta_ts>2021-08-27 20:20:29 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-229392-20210827010522.patch</filename>
            <type>text/plain</type>
            <size>24225</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgxNjgzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjhjOGYwOGM0Yzg2NTA1
MzI5NGFmMmU1ODVjYjcyZjUyZjgwMmI3NS4uMDZmYTkwYjdmMWRlMzczYTY1NTA0Mjk5M2U2NGMx
YTJhOGU0ZmJhMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQzIEBACisyMDIxLTA4LTI3ICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgVGhlIHNpbXBs
ZSB0ZXh0IGNvZGVwYXRoIGRvZXMgbm90IGhhbmRsZSB1bnBhaXJlZCBzdXJyb2dhdGVzCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjkzOTIKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGUgc2ltcGxlIHRl
eHQgY29kZXBhdGggd2FzIHRha2luZyBhbiBlYXJseSByZXR1cm4gaWYgaXQgZW5jb3VudGVyZWQg
YW4gdW5wYWlyZWQgc3Vycm9nYXRlLgorICAgICAgICBUaGlzIGVzc2VudGlhbGx5IGVuZHMgdXAg
YmVpbmcgZGF0YSBsb3NzLCBiZWNhdXNlIGV2ZXJ5dGhpbmcgYWZ0ZXIgdGhhdCBzdXJyb2dhdGUg
aXMganVzdCBnb25lLgorICAgICAgICBUaGUgb3RoZXIgYnJvd3NlcnMgcmVuZGVyIHRoZSB1bnBh
aXJlZCBzdXJyb2dhdGUsIGFuZCB0aGUgdGV4dCBhZnRlciBpdCB0b28uCisKKyAgICAgICAgUmVt
b3ZpbmcgdGhlIGVhcmx5IHJldHVybiB1bmNvdmVyZWQgYSBwcmVleGlzdGluZyBidWcsIHdoZXJl
IHdvcmQtYnJlYWs6IGJyZWFrLWFsbCB3b3VsZCBjYXVzZQorICAgICAgICBib3RoIFJlbmRlclRl
eHQ6OmNvbXB1dGVQcmVmZXJyZWRMb2dpY2FsV2lkdGhzKCkgYW5kIEJyZWFraW5nQ29udGV4dDo6
aGFuZGxlVGV4dCgpIHRvIHRyeSB0bworICAgICAgICBicmVhayBpbiBiZXR3ZWVuIHR3byBhZGph
Y2VudCBqb2luaW5nIHN1cnJvZ2F0ZXMuCisKKyAgICAgICAgQmVjYXVzZSBib3RoIGZpeGVzIGRl
cGVuZCBvbiBlYWNoIG90aGVyIHRvIGJlIG9ic2VydmFibGUsIHRoaXMgcGF0Y2ggZG9lcyBib3Ro
IHRvZ2V0aGVyLgorCisgICAgICAgIFRlc3Q6IGZhc3QvdGV4dC91bnBhaXJlZC1zdXJyb2dhdGUu
aHRtbAorCisgICAgICAgICogU291cmNlcy50eHQ6CisgICAgICAgICogV2ViQ29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIFdlYkNvcmUueGNvZGVwcm9qL3hjc2hhcmVk
ZGF0YS94Y3NjaGVtZXMvV2ViQ29yZS54Y3NjaGVtZToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFw
aGljcy9Gb250Q2FzY2FkZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGb250Q2FzY2FkZTo6Z2V0
RW1waGFzaXNNYXJrR2x5cGhEYXRhIGNvbnN0KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGlj
cy9TdXJyb2dhdGVQYWlyQXdhcmVUZXh0SXRlcmF0b3IuY3BwOiBSZW1vdmVkLgorICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL1N1cnJvZ2F0ZVBhaXJBd2FyZVRleHRJdGVyYXRvci5oOgorICAg
ICAgICAoV2ViQ29yZTo6U3Vycm9nYXRlUGFpckF3YXJlVGV4dEl0ZXJhdG9yOjpTdXJyb2dhdGVQ
YWlyQXdhcmVUZXh0SXRlcmF0b3IpOgorICAgICAgICAoV2ViQ29yZTo6U3Vycm9nYXRlUGFpckF3
YXJlVGV4dEl0ZXJhdG9yOjpjb25zdW1lKToKKyAgICAgICAgKFdlYkNvcmU6OlN1cnJvZ2F0ZVBh
aXJBd2FyZVRleHRJdGVyYXRvcjo6Y3VycmVudEluZGV4IGNvbnN0KToKKyAgICAgICAgKFdlYkNv
cmU6OlN1cnJvZ2F0ZVBhaXJBd2FyZVRleHRJdGVyYXRvcjo6Y2hhcmFjdGVycyBjb25zdCk6IERl
bGV0ZWQuCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvV2lkdGhJdGVyYXRvci5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpXaWR0aEl0ZXJhdG9yOjphZHZhbmNlSW50ZXJuYWwpOgorICAgICAg
ICAqIHBsYXRmb3JtL2dyYXBoaWNzL2ZyZWV0eXBlL1NpbXBsZUZvbnREYXRhRnJlZVR5cGUuY3Bw
OgorICAgICAgICAqIHJlbmRlcmluZy9JbmxpbmVJdGVyYXRvci5oOgorICAgICAgICAoV2ViQ29y
ZTo6SW5saW5lSXRlcmF0b3I6OmluY3JlbWVudEJ5Q29kZVBvaW50SW5UZXh0Tm9kZSk6CisgICAg
ICAgICogcmVuZGVyaW5nL1JlbmRlclRleHQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
VGV4dDo6Y29tcHV0ZVByZWZlcnJlZExvZ2ljYWxXaWR0aHMpOgorICAgICAgICAqIHJlbmRlcmlu
Zy9saW5lL0JyZWFraW5nQ29udGV4dC5oOgorICAgICAgICAoV2ViQ29yZTo6QnJlYWtpbmdDb250
ZXh0OjpoYW5kbGVUZXh0KToKKwogMjAyMS0wOC0yNiAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJh
c2VyQGFwcGxlLmNvbT4KIAogICAgICAgICBDU1Mga2V5ZnJhbWVkIGFuaW1hdGlvbnMgZG9uJ3Qg
cmVzcGVjdCBlZGdlcyBpbiA0IHZhbHVlIGJhY2tncm91bmQtcG9zaXRpb24KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0IGIvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQK
aW5kZXggNmQ1OWRjM2ZkODc4NGFjMzU3NjBhZGRmNWQ5MjA1OGQyNTg0ZDA3Yi4uNWE0NjQ1YmZj
OTQ4MGYyNzIzMzIzODBiM2U3ZDRhMDc2MTA1N2Q0MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvU291cmNlcy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKQEAgLTE5NTgs
NyArMTk1OCw2IEBAIHBsYXRmb3JtL2dyYXBoaWNzL1JvdW5kZWRSZWN0LmNwcAogcGxhdGZvcm0v
Z3JhcGhpY3MvU2hhZG93Qmx1ci5jcHAKIHBsYXRmb3JtL2dyYXBoaWNzL1NvdXJjZUJ1ZmZlclBy
aXZhdGUuY3BwCiBwbGF0Zm9ybS9ncmFwaGljcy9TdHJpbmdUcnVuY2F0b3IuY3BwCi1wbGF0Zm9y
bS9ncmFwaGljcy9TdXJyb2dhdGVQYWlyQXdhcmVUZXh0SXRlcmF0b3IuY3BwCiBwbGF0Zm9ybS9n
cmFwaGljcy9UZXh0UnVuLmNwcAogcGxhdGZvcm0vZ3JhcGhpY3MvVGV4dFRyYWNrUmVwcmVzZW50
YXRpb24uY3BwCiBwbGF0Zm9ybS9ncmFwaGljcy9UcmFja1ByaXZhdGVCYXNlLmNwcApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGQw
YWEwZThkMmI5YjkxMDczYjk4M2E2OGNmNTlmN2U2NmEyYTUzNzUuLjAwYWNjODZmNTBmMTk5OGQ2
NmJiYzE5YzgyMGFiNTlhYzRiMjQ5ZTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTI2Miw3ICsyNjIsNiBAQAogCQkwODY0MUQ0
ODEyMTQyRjdEMDA4REU5RjYgLyogUmVuZGVySW1hZ2VSZXNvdXJjZVN0eWxlSW1hZ2UuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA4NjQxRDQ2MTIxNDJG
N0QwMDhERTlGNiAvKiBSZW5kZXJJbWFnZVJlc291cmNlU3R5bGVJbWFnZS5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTA4NkJCRDBGMTM2MDM5QzIw
MDhCMTVEOCAvKiBHbHlwaC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMDg2QkJEMEUxMzYwMzlDMjAwOEIxNUQ4IC8qIEdseXBoLmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMDg3M0I4NkIxMzYwNjRFQTAw
QTUyMkMyIC8qIEdseXBoUGFnZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMDg3M0I4NkExMzYwNjRFQTAwQTUyMkMyIC8qIEdseXBoUGFnZS5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07Ci0JCTA4NzU1OEM2MTNC
NEE1N0QwMEY0OTMwNyAvKiBTdXJyb2dhdGVQYWlyQXdhcmVUZXh0SXRlcmF0b3IuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDA4NzU1OEM0MTNCNEE1N0Qw
MEY0OTMwNyAvKiBTdXJyb2dhdGVQYWlyQXdhcmVUZXh0SXRlcmF0b3IuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkwODg1MDY3RjExREEwNDVCMDAx
ODJCOTggLyogUGFpbnRJbmZvLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAwODg1MDY3RDExREEwNDVCMDAxODJCOTggLyogUGFpbnRJbmZvLmggKi87IHNl
dHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMDg4NTA2ODAxMURB
MDQ1QjAwMTgyQjk4IC8qIFBhaW50UGhhc2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDA4ODUwNjdFMTFEQTA0NUIwMDE4MkI5OCAvKiBQYWludFBoYXNl
LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMDg4
QTBFMEMxMjZFRjFEQjAwOTc4RjdBIC8qIFNWR1Byb3BlcnR5VHJhaXRzLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwODhBMEUwMzEyNkVGMURCMDA5NzhG
N0EgLyogU1ZHUHJvcGVydHlUcmFpdHMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OwpAQCAtNjA3Miw3ICs2MDcxLDYgQEAKIAkJMDg2NDFENDYxMjE0MkY3
RDAwOERFOUY2IC8qIFJlbmRlckltYWdlUmVzb3VyY2VTdHlsZUltYWdlLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJlbmRlckltYWdlUmVzb3VyY2VTdHlsZUltYWdlLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTA4NkJCRDBFMTM2MDM5QzIwMDhCMTVEOCAvKiBH
bHlwaC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBHbHlwaC5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQkwODczQjg2QTEzNjA2NEVBMDBBNTIyQzIgLyogR2x5cGhQ
YWdlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEdseXBoUGFnZS5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwotCQkwODc1NThDMzEzQjRBNTdEMDBGNDkzMDcgLyogU3Vy
cm9nYXRlUGFpckF3YXJlVGV4dEl0ZXJhdG9yLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IFN1cnJvZ2F0ZVBhaXJBd2FyZVRleHRJdGVyYXRvci5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTA4NzU1OEM0MTNCNEE1N0QwMEY0OTMwNyAvKiBTdXJyb2dh
dGVQYWlyQXdhcmVUZXh0SXRlcmF0b3IuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gU3Vycm9nYXRlUGFpckF3YXJlVGV4dEl0ZXJhdG9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTA4ODUwNjdEMTFEQTA0NUIwMDE4MkI5OCAvKiBQYWludEluZm8uaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUGFpbnRJbmZvLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTA4ODUwNjdFMTFEQTA0NUIwMDE4MkI5OCAvKiBQYWludFBoYXNlLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFBhaW50UGhhc2UuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKQEAgLTI2NzM4LDcgKzI2NzM2LDYgQEAKIAkJCQk3QzgzREU4NTFEMDRD
QkQ0MDBGRUJDRjMgLyogU3ByaW5nU29sdmVyLmggKi8sCiAJCQkJQjIzNTQwRjAwRDAwNzgyRTAw
MjM4MkZBIC8qIFN0cmluZ1RydW5jYXRvci5jcHAgKi8sCiAJCQkJQjIzNTQwRjEwRDAwNzgyRTAw
MjM4MkZBIC8qIFN0cmluZ1RydW5jYXRvci5oICovLAotCQkJCTA4NzU1OEMzMTNCNEE1N0QwMEY0
OTMwNyAvKiBTdXJyb2dhdGVQYWlyQXdhcmVUZXh0SXRlcmF0b3IuY3BwICovLAogCQkJCTA4NzU1
OEM0MTNCNEE1N0QwMEY0OTMwNyAvKiBTdXJyb2dhdGVQYWlyQXdhcmVUZXh0SXRlcmF0b3IuaCAq
LywKIAkJCQkzQkI2QjgwRjIyQTdEMzExMDAzQTJBNjkgLyogVGFiU2l6ZS5oICovLAogCQkJCTM3
NkRDQ0UwMTNCNEY5NjYwMDJFQkVGQyAvKiBUZXh0UnVuLmNwcCAqLywKQEAgLTM0NzYyLDcgKzM0
NzU5LDYgQEAKIAkJCQk5M0IyRDgxNjBGOTkyMEQyMDA2QUU2QjIgLyogU3VkZGVuVGVybWluYXRp
b24uaCBpbiBIZWFkZXJzICovLAogCQkJCTk3QzA3ODUwMTE2NUQ1QkUwMDNBMzJFRiAvKiBTdWZm
aXhUcmVlLmggaW4gSGVhZGVycyAqLywKIAkJCQk5NzYyN0I5ODE0RkI1NDI0MDAyQ0RDQTEgLyog
U3VwcGxlbWVudGFibGUuaCBpbiBIZWFkZXJzICovLAotCQkJCTA4NzU1OEM2MTNCNEE1N0QwMEY0
OTMwNyAvKiBTdXJyb2dhdGVQYWlyQXdhcmVUZXh0SXRlcmF0b3IuaCBpbiBIZWFkZXJzICovLAog
CQkJCTYyQzEyMTdEMTFBQjlFNzcwMDNDNDYyQyAvKiBTdXNwZW5kYWJsZVRpbWVyLmggaW4gSGVh
ZGVycyAqLywKIAkJCQlCMjIyNzk3NDBEMDBCRjIyMDA3MUI3ODIgLyogU1ZHQUVsZW1lbnQuaCBp
biBIZWFkZXJzICovLAogCQkJCTI0RDkxMkIxMTNDQTlBMUYwMEQyMTkxNSAvKiBTVkdBbHRHbHlw
aERlZkVsZW1lbnQuaCBpbiBIZWFkZXJzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3MvRm9udENhc2NhZGUuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvRm9udENhc2NhZGUuY3BwCmluZGV4IDA1MGUyODdkOTlkY2ViYWE1NGYzM2Jm
ZWFmOWI2YzhkOWZiY2RkYTYuLmExNzkwZDkyNmRhNDU0NzJjODNhNDhmZThjOTcwNGU4OTllZGZk
NzAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0ZvbnRDYXNj
YWRlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9Gb250Q2FzY2Fk
ZS5jcHAKQEAgLTMzLDcgKzMzLDYgQEAKICNpbmNsdWRlICJHcmFwaGljc0NvbnRleHQuaCIKICNp
bmNsdWRlICJJbk1lbW9yeURpc3BsYXlMaXN0LmgiCiAjaW5jbHVkZSAiTGF5b3V0UmVjdC5oIgot
I2luY2x1ZGUgIlN1cnJvZ2F0ZVBhaXJBd2FyZVRleHRJdGVyYXRvci5oIgogI2luY2x1ZGUgIlRl
eHRSdW4uaCIKICNpbmNsdWRlICJXaWR0aEl0ZXJhdG9yLmgiCiAjaW5jbHVkZSA8d3RmL01haW5U
aHJlYWQuaD4KQEAgLTExOTQsMTAgKzExOTMsOSBAQCBzdGQ6Om9wdGlvbmFsPEdseXBoRGF0YT4g
Rm9udENhc2NhZGU6OmdldEVtcGhhc2lzTWFya0dseXBoRGF0YShjb25zdCBBdG9tU3RyaW5nJgog
CiAgICAgVUNoYXIzMiBjaGFyYWN0ZXI7CiAgICAgaWYgKCFtYXJrLmlzOEJpdCgpKSB7Ci0gICAg
ICAgIFN1cnJvZ2F0ZVBhaXJBd2FyZVRleHRJdGVyYXRvciBpdGVyYXRvcihtYXJrLmNoYXJhY3Rl
cnMxNigpLCAwLCBtYXJrLmxlbmd0aCgpLCBtYXJrLmxlbmd0aCgpKTsKLSAgICAgICAgdW5zaWdu
ZWQgY2x1c3Rlckxlbmd0aDsKLSAgICAgICAgaWYgKCFpdGVyYXRvci5jb25zdW1lKGNoYXJhY3Rl
ciwgY2x1c3Rlckxlbmd0aCkpCi0gICAgICAgICAgICByZXR1cm4gc3RkOjpudWxsb3B0OworICAg
ICAgICBzaXplX3QgaSA9IDA7CisgICAgICAgIFUxNl9ORVhUKG1hcmsuY2hhcmFjdGVyczE2KCks
IGksIG1hcmsubGVuZ3RoKCksIGNoYXJhY3Rlcik7CisgICAgICAgIEFTU0VSVChVMTZfSVNfU0lO
R0xFKGNoYXJhY3RlcikpOyAvLyBUaGUgQ1NTIHBhcnNlciByZXBsYWNlcyB1bnBhaXJlZCBzdXJy
b2dhdGVzIHdpdGggdGhlIG9iamVjdCByZXBsYWNlbWVudCBjaGFyYWN0ZXIuCiAgICAgfSBlbHNl
CiAgICAgICAgIGNoYXJhY3RlciA9IG1hcmtbMF07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL1N1cnJvZ2F0ZVBhaXJBd2FyZVRleHRJdGVyYXRvci5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9TdXJyb2dhdGVQYWlyQXdhcmVUZXh0
SXRlcmF0b3IuY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1YWVlNGNjNDJhYzJk
NzQ3MmRlNzk5ZWIxNjE5ZGUwYmNiMTEyZDBlLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1N1cnJv
Z2F0ZVBhaXJBd2FyZVRleHRJdGVyYXRvci5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSw4MCArMCww
IEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDAzLTIwMTkgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgotICogQ29weXJpZ2h0IChDKSAyMDA4IEhvbGdlciBIYW5zIFBldGVyIEZyZXl0
aGVyCi0gKiBDb3B5cmlnaHQgKEMpIFJlc2VhcmNoIEluIE1vdGlvbiBMaW1pdGVkIDIwMTEuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7
IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgotICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0
ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKLSAqIExpY2Vuc2UgYXMgcHVi
bGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgotICogdmVyc2lv
biAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9u
LgotICoKLSAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0
IHdpbGwgYmUgdXNlZnVsLAotICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2
ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCi0gKiBMaWJyYXJ5IEdlbmVy
YWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSAqCi0gKiBZb3Ugc2hvdWxkIGhh
dmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNl
bnNlCi0gKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElC
LiAgSWYgbm90LCB3cml0ZSB0bwotICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5j
LiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKLSAqIEJvc3RvbiwgTUEgMDIxMTAt
MTMwMSwgVVNBLgotICoKLSAqLwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVkZSAiU3Vy
cm9nYXRlUGFpckF3YXJlVGV4dEl0ZXJhdG9yLmgiCi0KLSNpbmNsdWRlIDx1bmljb2RlL3Vub3Jt
Mi5oPgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLVN1cnJvZ2F0ZVBhaXJBd2FyZVRleHRJdGVy
YXRvcjo6U3Vycm9nYXRlUGFpckF3YXJlVGV4dEl0ZXJhdG9yKGNvbnN0IFVDaGFyKiBjaGFyYWN0
ZXJzLCB1bnNpZ25lZCBjdXJyZW50SW5kZXgsIHVuc2lnbmVkIGxhc3RJbmRleCwgdW5zaWduZWQg
ZW5kSW5kZXgpCi0gICAgOiBtX2NoYXJhY3RlcnMoY2hhcmFjdGVycykKLSAgICAsIG1fY3VycmVu
dEluZGV4KGN1cnJlbnRJbmRleCkKLSAgICAsIG1fbGFzdEluZGV4KGxhc3RJbmRleCkKLSAgICAs
IG1fZW5kSW5kZXgoZW5kSW5kZXgpCi17Ci19Ci0KLWJvb2wgU3Vycm9nYXRlUGFpckF3YXJlVGV4
dEl0ZXJhdG9yOjpjb25zdW1lU2xvd0Nhc2UoVUNoYXIzMiYgY2hhcmFjdGVyLCB1bnNpZ25lZCYg
Y2x1c3Rlckxlbmd0aCkKLXsKLSAgICBBU1NFUlQoVTE2X0lTX1NVUlJPR0FURShjaGFyYWN0ZXIp
KTsKLQotICAgIC8vIElmIHdlIGhhdmUgYSBzdXJyb2dhdGUgcGFpciwgbWFrZSBzdXJlIGl0IHN0
YXJ0cyB3aXRoIHRoZSBoaWdoIHBhcnQuCi0gICAgaWYgKCFVMTZfSVNfU1VSUk9HQVRFX0xFQUQo
Y2hhcmFjdGVyKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgLy8gRG8gd2UgaGF2ZSBh
IHN1cnJvZ2F0ZSBwYWlyPyBJZiBzbywgZGV0ZXJtaW5lIHRoZSBmdWxsIFVuaWNvZGUgKDMyIGJp
dCkgY29kZSBwb2ludCBiZWZvcmUgZ2x5cGggbG9va3VwLgotICAgIC8vIE1ha2Ugc3VyZSB3ZSBo
YXZlIGFub3RoZXIgY2hhcmFjdGVyIGFuZCBpdCdzIGEgbG93IHN1cnJvZ2F0ZS4KLSAgICBpZiAo
bV9jdXJyZW50SW5kZXggKyAxID49IG1fZW5kSW5kZXgpCi0gICAgICAgIHJldHVybiBmYWxzZTsK
LQotICAgIFVDaGFyIGxvdyA9IG1fY2hhcmFjdGVyc1sxXTsKLSAgICBpZiAoIVUxNl9JU19UUkFJ
TChsb3cpKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICBjaGFyYWN0ZXIgPSBVMTZfR0VU
X1NVUFBMRU1FTlRBUlkoY2hhcmFjdGVyLCBsb3cpOwotICAgIGNsdXN0ZXJMZW5ndGggPSAyOwot
ICAgIHJldHVybiB0cnVlOwotfQotCi1VQ2hhcjMyIFN1cnJvZ2F0ZVBhaXJBd2FyZVRleHRJdGVy
YXRvcjo6bm9ybWFsaXplVm9pY2luZ01hcmtzKCkKLXsKLSAgICAvLyBBY2NvcmRpbmcgdG8gaHR0
cDovL3d3dy51bmljb2RlLm9yZy9QdWJsaWMvVU5JREFUQS9VQ0QuaHRtbCNDYW5vbmljYWxfQ29t
YmluaW5nX0NsYXNzX1ZhbHVlcwotICAgIHN0YXRpYyBjb25zdGV4cHIgdWludDhfdCBoaXJhZ2Fu
YUthdGFrYW5hVm9pY2luZ01hcmtzQ29tYmluaW5nQ2xhc3MgPSA4OwotCi0gICAgaWYgKG1fY3Vy
cmVudEluZGV4ICsgMSA+PSBtX2VuZEluZGV4KQotICAgICAgICByZXR1cm4gMDsKLQotICAgIGlm
ICh1X2dldENvbWJpbmluZ0NsYXNzKG1fY2hhcmFjdGVyc1sxXSkgPT0gaGlyYWdhbmFLYXRha2Fu
YVZvaWNpbmdNYXJrc0NvbWJpbmluZ0NsYXNzKSB7Ci0gICAgICAgIFVFcnJvckNvZGUgc3RhdHVz
ID0gVV9aRVJPX0VSUk9SOwotICAgICAgICBjb25zdCBVTm9ybWFsaXplcjIqIG5vcm1hbGl6ZXIg
PSB1bm9ybTJfZ2V0TkZDSW5zdGFuY2UoJnN0YXR1cyk7Ci0gICAgICAgIEFTU0VSVChVX1NVQ0NF
U1Moc3RhdHVzKSk7Ci0gICAgICAgIGF1dG8gY29tcG9zZWRDaGFyYWN0ZXIgPSB1bm9ybTJfY29t
cG9zZVBhaXIobm9ybWFsaXplciwgbV9jaGFyYWN0ZXJzWzBdLCBtX2NoYXJhY3RlcnNbMV0pOwot
ICAgICAgICBpZiAoY29tcG9zZWRDaGFyYWN0ZXIgPiAwKQotICAgICAgICAgICAgcmV0dXJuIGNv
bXBvc2VkQ2hhcmFjdGVyOwotICAgIH0KLQotICAgIHJldHVybiAwOwotfQotCi19CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9TdXJyb2dhdGVQYWlyQXdhcmVU
ZXh0SXRlcmF0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1N1cnJvZ2F0
ZVBhaXJBd2FyZVRleHRJdGVyYXRvci5oCmluZGV4IDM1NGZjOTllMTAyNWRjZmIzNmM2YTM1NTQ0
Nzk2MWJjMjkwZDJkYmYuLmI5YWZhYzIyZTE4MWE5ZDM0ODJhMDllMGRhNTI1YWFjMTQ0ZWViODEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1N1cnJvZ2F0ZVBh
aXJBd2FyZVRleHRJdGVyYXRvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL1N1cnJvZ2F0ZVBhaXJBd2FyZVRleHRJdGVyYXRvci5oCkBAIC0xOCwzMiArMTgsMzMgQEAK
ICAqCiAgKi8KIAotI2lmbmRlZiBTdXJyb2dhdGVQYWlyQXdhcmVUZXh0SXRlcmF0b3JfaAotI2Rl
ZmluZSBTdXJyb2dhdGVQYWlyQXdhcmVUZXh0SXRlcmF0b3JfaAorI3ByYWdtYSBvbmNlCiAKLSNp
bmNsdWRlIDx3dGYvdW5pY29kZS9DaGFyYWN0ZXJOYW1lcy5oPgorI2luY2x1ZGUgPHVuaWNvZGUv
dXRmMTYuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCiBjbGFzcyBTdXJyb2dhdGVQYWlyQXdhcmVUZXh0SXRlcmF0b3IgewogcHVibGlj
OgotICAgIC8vIFRoZSBwYXNzZWQgaW4gVUNoYXIgcG9pbnRlciBzdGFydHMgYXQgJ2N1cnJlbnRJ
bmRleCcuIFRoZSBpdGVyYXRvciBvcGVyYXRvZXMgb24gdGhlIHJhbmdlIFtjdXJyZW50SW5kZXgs
IGxhc3RJbmRleF0uCisgICAgLy8gVGhlIHBhc3NlZCBpbiBVQ2hhciBwb2ludGVyIHN0YXJ0cyBh
dCAnY3VycmVudEluZGV4Jy4gVGhlIGl0ZXJhdG9yIG9wZXJhdGVzIG9uIHRoZSByYW5nZSBbY3Vy
cmVudEluZGV4LCBsYXN0SW5kZXhdLgogICAgIC8vICdlbmRJbmRleCcgZGVub3RlcyB0aGUgbWF4
aW11bSBsZW5ndGggb2YgdGhlIFVDaGFyIGFycmF5LCB3aGljaCBtaWdodCBleGNlZWQgJ2xhc3RJ
bmRleCcuCi0gICAgU3Vycm9nYXRlUGFpckF3YXJlVGV4dEl0ZXJhdG9yKGNvbnN0IFVDaGFyKiwg
dW5zaWduZWQgY3VycmVudEluZGV4LCB1bnNpZ25lZCBsYXN0SW5kZXgsIHVuc2lnbmVkIGVuZElu
ZGV4KTsKKyAgICBTdXJyb2dhdGVQYWlyQXdhcmVUZXh0SXRlcmF0b3IoY29uc3QgVUNoYXIqIGNo
YXJhY3RlcnMsIHVuc2lnbmVkIGN1cnJlbnRJbmRleCwgdW5zaWduZWQgbGFzdEluZGV4LCB1bnNp
Z25lZCBlbmRJbmRleCkKKyAgICAgICAgOiBtX2NoYXJhY3RlcnMoY2hhcmFjdGVycykKKyAgICAg
ICAgLCBtX2N1cnJlbnRJbmRleChjdXJyZW50SW5kZXgpCisgICAgICAgICwgbV9sYXN0SW5kZXgo
bGFzdEluZGV4KQorICAgICAgICAsIG1fZW5kSW5kZXgoZW5kSW5kZXgpCisgICAgeworICAgIH0K
IAotICAgIGlubGluZSBib29sIGNvbnN1bWUoVUNoYXIzMiYgY2hhcmFjdGVyLCB1bnNpZ25lZCYg
Y2x1c3Rlckxlbmd0aCkKKyAgICBib29sIGNvbnN1bWUoVUNoYXIzMiYgY2hhcmFjdGVyLCB1bnNp
Z25lZCYgY2x1c3Rlckxlbmd0aCkKICAgICB7CiAgICAgICAgIGlmIChtX2N1cnJlbnRJbmRleCA+
PSBtX2xhc3RJbmRleCkKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKIAotICAgICAgICBjaGFy
YWN0ZXIgPSAqbV9jaGFyYWN0ZXJzOwotICAgICAgICBjbHVzdGVyTGVuZ3RoID0gMTsKLQotICAg
ICAgICBpZiAoIVUxNl9JU19TVVJST0dBVEUoY2hhcmFjdGVyKSkKLSAgICAgICAgICAgIHJldHVy
biB0cnVlOwotCi0gICAgICAgIHJldHVybiBjb25zdW1lU2xvd0Nhc2UoY2hhcmFjdGVyLCBjbHVz
dGVyTGVuZ3RoKTsKKyAgICAgICAgY2x1c3Rlckxlbmd0aCA9IDA7CisgICAgICAgIFUxNl9ORVhU
KG1fY2hhcmFjdGVycywgY2x1c3Rlckxlbmd0aCwgbV9lbmRJbmRleCAtIG1fY3VycmVudEluZGV4
LCBjaGFyYWN0ZXIpOworICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9CiAKICAgICB2b2lkIGFk
dmFuY2UodW5zaWduZWQgYWR2YW5jZUxlbmd0aCkKQEAgLTUzLDE4ICs1NCwxMiBAQCBwdWJsaWM6
CiAgICAgfQogCiAgICAgdW5zaWduZWQgY3VycmVudEluZGV4KCkgY29uc3QgeyByZXR1cm4gbV9j
dXJyZW50SW5kZXg7IH0KLSAgICBjb25zdCBVQ2hhciogY2hhcmFjdGVycygpIGNvbnN0IHsgcmV0
dXJuIG1fY2hhcmFjdGVyczsgfQogCiBwcml2YXRlOgotICAgIGJvb2wgY29uc3VtZVNsb3dDYXNl
KFVDaGFyMzImLCB1bnNpZ25lZCYpOwotICAgIFVDaGFyMzIgbm9ybWFsaXplVm9pY2luZ01hcmtz
KCk7Ci0KLSAgICBjb25zdCBVQ2hhciogbV9jaGFyYWN0ZXJzOwotICAgIHVuc2lnbmVkIG1fY3Vy
cmVudEluZGV4OwotICAgIHVuc2lnbmVkIG1fbGFzdEluZGV4OwotICAgIHVuc2lnbmVkIG1fZW5k
SW5kZXg7CisgICAgY29uc3QgVUNoYXIqIG1fY2hhcmFjdGVycyB7IG51bGxwdHIgfTsKKyAgICB1
bnNpZ25lZCBtX2N1cnJlbnRJbmRleCB7IDAgfTsKKyAgICB1bnNpZ25lZCBtX2xhc3RJbmRleCB7
IDAgfTsKKyAgICB1bnNpZ25lZCBtX2VuZEluZGV4IHsgMCB9OwogfTsKIAogfQotCi0jZW5kaWYK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL1dpZHRoSXRlcmF0
b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvV2lkdGhJdGVyYXRvci5j
cHAKaW5kZXggZGU0YWVkZjg3MjMwZTNiMDExYThhZGY4ZTBlOWE2MDIxODNiZWIwMy4uZjczNjEx
YmJjOTFkMGE5MjdiMTU1OWJmZThkMzBhZjExNDVmMGJmNyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvV2lkdGhJdGVyYXRvci5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvV2lkdGhJdGVyYXRvci5jcHAKQEAgLTEsNSArMSw1IEBA
CiAvKgotICogQ29weXJpZ2h0IChDKSAyMDAzIC0gMjAyMCBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDMgLSAyMDIxIEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KICAqIENvcHlyaWdodCAoQykgMjAwOCBIb2xnZXIgSGFucyBQZXRlciBG
cmV5dGhlcgogICoKICAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJl
ZGlzdHJpYnV0ZSBpdCBhbmQvb3IKQEAgLTI3OCw2ICsyNzgsOCBAQCBpbmxpbmUgdm9pZCBXaWR0
aEl0ZXJhdG9yOjphZHZhbmNlSW50ZXJuYWwoVGV4dEl0ZXJhdG9yJiB0ZXh0SXRlcmF0b3IsIEds
eXBoQnVmZgogICAgIGZsb2F0IHdpZHRoT2ZDdXJyZW50Rm9udFJhbmdlID0gMDsKICAgICAvLyBX
ZSBhcmUgaXRlcmF0aW5nIGluIHN0cmluZyBvcmRlciwgbm90IGdseXBoIG9yZGVyLiBDb21wYXJl
IHRoaXMgdG8gQ29tcGxleFRleHRDb250cm9sbGVyOjphZGp1c3RHbHlwaHNBbmRBZHZhbmNlcygp
CiAgICAgd2hpbGUgKHRleHRJdGVyYXRvci5jb25zdW1lKGNoYXJhY3RlciwgY2x1c3Rlckxlbmd0
aCkpIHsKKyAgICAgICAgLy8gRklYTUU6IFNob3VsZCB3ZSByZXBsYWNlIHVucGFpcmVkIHN1cnJv
Z2F0ZXMgd2l0aCB0aGUgb2JqZWN0IHJlcGxhY2VtZW50IGNoYXJhY3Rlcj8KKyAgICAgICAgLy8g
U2hvdWxkIHdlIGRvIHRoaXMgYmVmb3JlIG9yIGFmdGVyIHNoYXBpbmc/IFdoYXQgZG9lcyBhIHNo
YXBlciBkbyB3aXRoIGFuIHVucGFpcmVkIHN1cnJvZ2F0ZT8KICAgICAgICAgbV9jb250YWluc1Rh
YnMgfD0gY2hhcmFjdGVyID09IHRhYkNoYXJhY3RlcjsKICAgICAgICAgY3VycmVudENoYXJhY3Rl
ckluZGV4ID0gdGV4dEl0ZXJhdG9yLmN1cnJlbnRJbmRleCgpOwogICAgICAgICB1bnNpZ25lZCBh
ZHZhbmNlTGVuZ3RoID0gY2x1c3Rlckxlbmd0aDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2ZyZWV0eXBlL1NpbXBsZUZvbnREYXRhRnJlZVR5cGUuY3BwIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZnJlZXR5cGUvU2ltcGxlRm9udERhdGFG
cmVlVHlwZS5jcHAKaW5kZXggNTVkYTlhOTMwNWM2YTdiYjYyN2NiOTQwOGQ2NGM2MzdhM2Y5Mzk5
Ny4uMDE1N2EzNTY3MDAxNmU1YmU4N2VkNWU4MGU5YzkxOTUwNTc0YmJkZCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZnJlZXR5cGUvU2ltcGxlRm9udERhdGFG
cmVlVHlwZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZnJlZXR5
cGUvU2ltcGxlRm9udERhdGFGcmVlVHlwZS5jcHAKQEAgLTQyLDcgKzQyLDYgQEAKICNpbmNsdWRl
ICJHbHlwaEJ1ZmZlci5oIgogI2luY2x1ZGUgIk9wZW5UeXBlVHlwZXMuaCIKICNpbmNsdWRlICJS
ZWZQdHJDYWlyby5oIgotI2luY2x1ZGUgIlN1cnJvZ2F0ZVBhaXJBd2FyZVRleHRJdGVyYXRvci5o
IgogI2luY2x1ZGUgIlVURjE2VUNoYXIzMkl0ZXJhdG9yLmgiCiAjaW5jbHVkZSA8Y2Fpcm8tZnQu
aD4KICNpbmNsdWRlIDxjYWlyby5oPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL0lubGluZUl0ZXJhdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lSXRl
cmF0b3IuaAppbmRleCAwZDZkMDZlNzI4MjJhMTMzN2ZkNGUwZmUwOGM3NmU1YzgzZmMxNzVhLi4z
Y2E5Yjg2NDgyZjVjNzczMmJkNGE4MzA5YzU5YzIyOTk1MGMyNmI0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvSW5saW5lSXRlcmF0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvSW5saW5lSXRlcmF0b3IuaApAQCAtOTIsNiArOTIsNyBAQCBwdWJsaWM6CiAg
ICAgdm9pZCBzZXRSZWZlcnNUb0VuZE9mUHJldmlvdXNOb2RlKCk7CiAKICAgICB2b2lkIGZhc3RJ
bmNyZW1lbnRJblRleHROb2RlKCk7CisgICAgdm9pZCBpbmNyZW1lbnRCeUNvZGVQb2ludEluVGV4
dE5vZGUoKTsKICAgICB2b2lkIGluY3JlbWVudChJbmxpbmVCaWRpUmVzb2x2ZXIqID0gbnVsbHB0
cik7CiAgICAgdm9pZCBmYXN0RGVjcmVtZW50KCk7CiAgICAgYm9vbCBhdEVuZCgpIGNvbnN0OwpA
QCAtMzQ2LDYgKzM0NywxOSBAQCBpbmxpbmUgdm9pZCBJbmxpbmVJdGVyYXRvcjo6ZmFzdEluY3Jl
bWVudEluVGV4dE5vZGUoKQogICAgICsrbV9wb3M7CiB9CiAKK2lubGluZSB2b2lkIElubGluZUl0
ZXJhdG9yOjppbmNyZW1lbnRCeUNvZGVQb2ludEluVGV4dE5vZGUoKQoreworICAgIEFTU0VSVCht
X3JlbmRlcmVyKTsKKyAgICBjb25zdCBhdXRvJiB0ZXh0ID0gZG93bmNhc3Q8UmVuZGVyVGV4dD4o
Km1fcmVuZGVyZXIpLnRleHQoKTsKKyAgICBBU1NFUlQobV9wb3MgPCB0ZXh0Lmxlbmd0aCgpKTsK
KyAgICBpZiAodGV4dC5pczhCaXQoKSkgeworICAgICAgICArK21fcG9zOworICAgICAgICByZXR1
cm47CisgICAgfQorICAgIFVDaGFyMzIgY2hhcmFjdGVyOworICAgIFUxNl9ORVhUKHRleHQuY2hh
cmFjdGVyczE2KCksIG1fcG9zLCB0ZXh0Lmxlbmd0aCgpLCBjaGFyYWN0ZXIpOworfQorCiBpbmxp
bmUgdm9pZCBJbmxpbmVJdGVyYXRvcjo6c2V0T2Zmc2V0KHVuc2lnbmVkIHBvc2l0aW9uKQogewog
ICAgIEFTU0VSVChwb3NpdGlvbiA8PSBVSU5UX01BWCAtIDEwKTsgLy8gU2FuaXR5IGNoZWNrCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dC5jcHAKaW5kZXggZjBiNDRhN2UwYzFlOTM0
YzY2Y2FkOGRiNzFjMjI5YjJmNzlkNWViYS4uNjgzZDU1MThiZGM2NDAwODEwZWRhOWUzY2U3NTVi
NGY5Y2FlZDdlOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRl
eHQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0LmNwcApAQCAt
MTA2OSwxMyArMTA2OSwxOSBAQCB2b2lkIFJlbmRlclRleHQ6OmNvbXB1dGVQcmVmZXJyZWRMb2dp
Y2FsV2lkdGhzKGZsb2F0IGxlYWRXaWR0aCwgSGFzaFNldDxjb25zdCBGbwogICAgICAgICBib29s
IGJldHdlZW5Xb3JkcyA9IHRydWU7CiAgICAgICAgIHVuc2lnbmVkIGogPSBpOwogICAgICAgICB3
aGlsZSAoYyAhPSAnXG4nICYmICFpc1NwYWNlQWNjb3JkaW5nVG9TdHlsZShjLCBzdHlsZSkgJiYg
YyAhPSAnXHQnICYmIChjICE9IHNvZnRIeXBoZW4gfHwgc3R5bGUuaHlwaGVucygpID09IEh5cGhl
bnM6Ok5vbmUpKSB7CisgICAgICAgICAgICBVQ2hhciBwcmV2aW91c0NoYXJhY3RlciA9IGM7CiAg
ICAgICAgICAgICBqKys7CiAgICAgICAgICAgICBpZiAoaiA9PSBsZW5ndGgpCiAgICAgICAgICAg
ICAgICAgYnJlYWs7CiAgICAgICAgICAgICBjID0gc3RyaW5nW2pdOworICAgICAgICAgICAgaWYg
KFVfSVNfTEVBRChwcmV2aW91c0NoYXJhY3RlcikgJiYgVV9JU19UUkFJTChjKSkKKyAgICAgICAg
ICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgIGlmIChpc0JyZWFrYWJsZShicmVha0l0ZXJh
dG9yLCBqLCBuZXh0QnJlYWthYmxlLCBicmVha05CU1AsIGNhblVzZUxpbmVCcmVha1Nob3J0Y3V0
LCBrZWVwQWxsV29yZHMsIGJyZWFrQW55d2hlcmUpICYmIGNoYXJhY3RlckF0KGogLSAxKSAhPSBz
b2Z0SHlwaGVuKQogICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgaWYgKGJyZWFr
QWxsKSB7CisgICAgICAgICAgICAgICAgLy8gRklYTUU6IFRoaXMgY29kZSBpcyB1bHRyYSB3cm9u
Zy4KKyAgICAgICAgICAgICAgICAvLyBUaGUgc3BlYyBzYXlzICJ3b3JkLWJyZWFrOiBicmVhay1h
bGw6IEFueSB0eXBvZ3JhcGhpYyBsZXR0ZXIgdW5pdHMgYXJlIHRyZWF0ZWQgYXMgSUQo4oCcaWRl
b2dyYXBoaWMgY2hhcmFjdGVyc+KAnSkgZm9yIHRoZSBwdXJwb3NlIG9mIGxpbmUtYnJlYWtpbmcu
IgorICAgICAgICAgICAgICAgIC8vIFRoZSBzcGVjIGRlc2NyaWJlcyBob3cgYSAidHlwb2dyYXBo
aWMgbGV0dGVyIHVuaXQiIGlzIGEgY2x1c3Rlciwgbm90IGEgY29kZSBwb2ludDogaHR0cHM6Ly9k
cmFmdHMuY3Nzd2cub3JnL2Nzcy10ZXh0LTMvI3R5cG9ncmFwaGljLWNoYXJhY3Rlci11bml0CiAg
ICAgICAgICAgICAgICAgYmV0d2VlbldvcmRzID0gZmFsc2U7CiAgICAgICAgICAgICAgICAgYnJl
YWs7CiAgICAgICAgICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
bGluZS9CcmVha2luZ0NvbnRleHQuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9saW5lL0Jy
ZWFraW5nQ29udGV4dC5oCmluZGV4IDNmOTZiNTYwNGY4YTc0OTk5YmMzYTlmYjE5MjhjYzhjNzY5
ZTk1M2YuLjA3OTg5NDk1NTc4ZmU0ZWEzOGE1NDI2YzNiNjUxYTgzNzEwMDBiNmEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9saW5lL0JyZWFraW5nQ29udGV4dC5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9saW5lL0JyZWFraW5nQ29udGV4dC5oCkBAIC03Mzgs
MTEgKzczOCwxMSBAQCBpbmxpbmUgYm9vbCBCcmVha2luZ0NvbnRleHQ6OmhhbmRsZVRleHQoV29y
ZE1lYXN1cmVtZW50cyYgd29yZE1lYXN1cmVtZW50cywgYm9vbAogICAgIC8vIHdvcmRzIHdpdGgg
dGhlaXIgdHJhaWxpbmcgc3BhY2UsIHRoZW4gc3VidHJhY3QgaXRzIHdpZHRoLgogICAgIFRleHRM
YXlvdXQqIHRleHRMYXlvdXQgPSBtX3JlbmRlclRleHRJbmZvLmxheW91dC5nZXQoKTsKICAgICBX
b3JkVHJhaWxpbmdTcGFjZSB3b3JkVHJhaWxpbmdTcGFjZShzdHlsZSwgIXRleHRMYXlvdXQpOwot
ICAgIGZvciAoOyBtX2N1cnJlbnQub2Zmc2V0KCkgPCByZW5kZXJlci50ZXh0KCkubGVuZ3RoKCk7
IG1fY3VycmVudC5mYXN0SW5jcmVtZW50SW5UZXh0Tm9kZSgpKSB7CisgICAgZm9yICg7IG1fY3Vy
cmVudC5vZmZzZXQoKSA8IHJlbmRlcmVyLnRleHQoKS5sZW5ndGgoKTsgbV9jdXJyZW50LmluY3Jl
bWVudEJ5Q29kZVBvaW50SW5UZXh0Tm9kZSgpKSB7CiAgICAgICAgIEFTU0VSVCgmcmVuZGVyZXIg
PT0gbV9jdXJyZW50LnJlbmRlcmVyKCkpOwogICAgICAgICBib29sIHByZXZpb3VzQ2hhcmFjdGVy
SXNTcGFjZSA9IG1fY3VycmVudENoYXJhY3RlcklzU3BhY2U7CiAgICAgICAgIGJvb2wgcHJldmlv
dXNDaGFyYWN0ZXJJc1dTID0gbV9jdXJyZW50Q2hhcmFjdGVySXNXUzsKLSAgICAgICAgVUNoYXIg
YyA9IG1fY3VycmVudC5jdXJyZW50KCk7CisgICAgICAgIFVDaGFyIGMgPSBtX2N1cnJlbnQuY3Vy
cmVudCgpOyAvLyBGSVhNRTogSXQncyBzaWxseSB0byBwdWxsIG91dCBhIHNpbmdsZSBzdXJyb2dh
dGUgZnJvbSB0aGUgY29udGVudCBhbmQgYXR0ZW1wdCB0byBkbyBhbnl0aGluZyB1c2VmdWwgd2l0
aCBpdC4KICAgICAgICAgbV9jdXJyZW50Q2hhcmFjdGVySXNTcGFjZSA9IGMgPT0gJyAnIHx8IGMg
PT0gJ1x0JyB8fCAoIW1fcHJlc2VydmVzTmV3bGluZSAmJiAoYyA9PSAnXG4nKSk7CiAKICAgICAg
ICAgLy8gQSBzaW5nbGUgcHJlc2VydmVkIGxlYWRpbmcgd2hpdGUtc3BhY2UgZG9lc24ndCBmdWxm
aWxsIHRoZSAnYmV0d2VlbldvcmRzJyBjb25kaXRpb24sIGhvd2V2ZXIgaXQncyBpbmRlZWQgYQpA
QCAtNzc2LDYgKzc3Niw5IEBAIGlubGluZSBib29sIEJyZWFraW5nQ29udGV4dDo6aGFuZGxlVGV4
dChXb3JkTWVhc3VyZW1lbnRzJiB3b3JkTWVhc3VyZW1lbnRzLCBib29sCiAgICAgICAgIG1fY3Vy
cmVudENoYXJhY3RlcklzV1MgPSBtX2N1cnJlbnRDaGFyYWN0ZXJJc1NwYWNlIHx8IChicmVha05C
U1AgJiYgYyA9PSBub0JyZWFrU3BhY2UpOwogCiAgICAgICAgIGlmIChjYW5CcmVha01pZFdvcmQg
JiYgIW1pZFdvcmRCcmVhayAmJiAoIW1fY3VycmVudENoYXJhY3RlcklzU3BhY2UgfHwgbV9hdFN0
YXJ0IHx8IHN0eWxlLndoaXRlU3BhY2UoKSAhPSBXaGl0ZVNwYWNlOjpQcmVXcmFwKSkgeworICAg
ICAgICAgICAgLy8gRklYTUU6IFRoaXMgY29kZSBpcyB1bHRyYSB3cm9uZy4KKyAgICAgICAgICAg
IC8vIFRoZSBzcGVjIHNheXMgIndvcmQtYnJlYWs6IGJyZWFrLWFsbDogQW55IHR5cG9ncmFwaGlj
IGxldHRlciB1bml0cyBhcmUgdHJlYXRlZCBhcyBJRCjigJxpZGVvZ3JhcGhpYyBjaGFyYWN0ZXJz
4oCdKSBmb3IgdGhlIHB1cnBvc2Ugb2YgbGluZS1icmVha2luZy4iCisgICAgICAgICAgICAvLyBU
aGUgc3BlYyBkZXNjcmliZXMgaG93IGEgInR5cG9ncmFwaGljIGxldHRlciB1bml0IiBpcyBhIGNs
dXN0ZXIsIG5vdCBhIGNvZGUgcG9pbnQ6IGh0dHBzOi8vZHJhZnRzLmNzc3dnLm9yZy9jc3MtdGV4
dC0zLyN0eXBvZ3JhcGhpYy1jaGFyYWN0ZXItdW5pdAogICAgICAgICAgICAgd3JhcFcgKz0gY2hh
cldpZHRoOwogICAgICAgICAgICAgYm9vbCBtaWRXb3JkQnJlYWtJc0JlZm9yZVN1cnJvZ2F0ZVBh
aXIgPSBVMTZfSVNfTEVBRChjKSAmJiBVMTZfSVNfVFJBSUwocmVuZGVyZXIuY2hhcmFjdGVyQXQo
bV9jdXJyZW50Lm9mZnNldCgpICsgMSkpOwogICAgICAgICAgICAgY2hhcldpZHRoID0gdGV4dFdp
ZHRoKHJlbmRlcmVyLCBtX2N1cnJlbnQub2Zmc2V0KCksIG1pZFdvcmRCcmVha0lzQmVmb3JlU3Vy
cm9nYXRlUGFpciA/IDIgOiAxLCBmb250LCBtX3dpZHRoLmNvbW1pdHRlZFdpZHRoKCkgKyB3cmFw
VywgaXNGaXhlZFBpdGNoLCBtX2NvbGxhcHNlV2hpdGVTcGFjZSwgZmFsbGJhY2tGb250cywgdGV4
dExheW91dCk7CkBAIC03ODMsNyArNzg2LDcgQEAgaW5saW5lIGJvb2wgQnJlYWtpbmdDb250ZXh0
OjpoYW5kbGVUZXh0KFdvcmRNZWFzdXJlbWVudHMmIHdvcmRNZWFzdXJlbWVudHMsIGJvb2wKICAg
ICAgICAgfQogCiAgICAgICAgIHN0ZDo6b3B0aW9uYWw8dW5zaWduZWQ+IG5leHRCcmVha2FibGVQ
b3NpdGlvbiA9IG1fY3VycmVudC5uZXh0QnJlYWthYmxlUG9zaXRpb24oKTsKLSAgICAgICAgYm9v
bCBiZXR3ZWVuV29yZHMgPSBjID09ICdcbicgfHwgKG1fY3VycldTICE9IFdoaXRlU3BhY2U6OlBy
ZSAmJiAhbV9hdFN0YXJ0ICYmIGlzQnJlYWthYmxlKG1fcmVuZGVyVGV4dEluZm8ubGluZUJyZWFr
SXRlcmF0b3IsIG1fY3VycmVudC5vZmZzZXQoKSwgbmV4dEJyZWFrYWJsZVBvc2l0aW9uLCBicmVh
a05CU1AsIGNhblVzZUxpbmVCcmVha1Nob3J0Y3V0LCBrZWVwQWxsV29yZHMsIGJyZWFrQW55d2hl
cmUpCisgICAgICAgIGJvb2wgYmV0d2VlbldvcmRzID0gYyA9PSBuZXdsaW5lQ2hhcmFjdGVyIHx8
IChtX2N1cnJXUyAhPSBXaGl0ZVNwYWNlOjpQcmUgJiYgIW1fYXRTdGFydCAmJiBpc0JyZWFrYWJs
ZShtX3JlbmRlclRleHRJbmZvLmxpbmVCcmVha0l0ZXJhdG9yLCBtX2N1cnJlbnQub2Zmc2V0KCks
IG5leHRCcmVha2FibGVQb3NpdGlvbiwgYnJlYWtOQlNQLCBjYW5Vc2VMaW5lQnJlYWtTaG9ydGN1
dCwga2VlcEFsbFdvcmRzLCBicmVha0FueXdoZXJlKQogICAgICAgICAgICAgJiYgKHN0eWxlLmh5
cGhlbnMoKSAhPSBIeXBoZW5zOjpOb25lIHx8IChtX2N1cnJlbnQucHJldmlvdXNJblNhbWVOb2Rl
KCkgIT0gc29mdEh5cGhlbikpKTsKICAgICAgICAgbV9jdXJyZW50LnNldE5leHRCcmVha2FibGVQ
b3NpdGlvbihuZXh0QnJlYWthYmxlUG9zaXRpb24pOwogICAgICAgICAKQEAgLTkzMSw3ICs5MzQs
NyBAQCBpbmxpbmUgYm9vbCBCcmVha2luZ0NvbnRleHQ6OmhhbmRsZVRleHQoV29yZE1lYXN1cmVt
ZW50cyYgd29yZE1lYXN1cmVtZW50cywgYm9vbAogICAgICAgICAgICAgICAgIH0KICAgICAgICAg
ICAgIH0KIAotICAgICAgICAgICAgaWYgKGMgPT0gJ1xuJyAmJiBtX3ByZXNlcnZlc05ld2xpbmUp
IHsKKyAgICAgICAgICAgIGlmIChjID09IG5ld2xpbmVDaGFyYWN0ZXIgJiYgbV9wcmVzZXJ2ZXNO
ZXdsaW5lKSB7CiAgICAgICAgICAgICAgICAgaWYgKCFzdG9wcGVkSWdub3JpbmdTcGFjZXMgJiYg
bV9jdXJyZW50Lm9mZnNldCgpKQogICAgICAgICAgICAgICAgICAgICBlbnN1cmVDaGFyYWN0ZXJH
ZXRzTGluZUJveChtX2xpbmVXaGl0ZXNwYWNlQ29sbGFwc2luZ1N0YXRlLCBtX2N1cnJlbnQpOwog
ICAgICAgICAgICAgICAgIGNvbW1pdExpbmVCcmVha0F0Q3VycmVudFdpZHRoKHJlbmRlcmVyLCBt
X2N1cnJlbnQub2Zmc2V0KCksIG1fY3VycmVudC5uZXh0QnJlYWthYmxlUG9zaXRpb24oKSk7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
aW5kZXggYmY0ZGU5YzA1ODRiYTcxYTg5YmVkMzg2NDFiOWMzOTEwYjA5MDljNi4uNjYzOGFjNjRm
NTA1MzJlZTE4NmZiMGY0ZGZkOGY0OTc0Yzk4ODA5NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisy
MDIxLTA4LTI3ICBNeWxlcyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAg
ICAgICAgVGhlIHNpbXBsZSB0ZXh0IGNvZGVwYXRoIGRvZXMgbm90IGhhbmRsZSB1bnBhaXJlZCBz
dXJyb2dhdGVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yMjkzOTIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICAqIGZhc3QvdGV4dC91bnBhaXJlZC1zdXJyb2dhdGUtZXhwZWN0ZWQtbWlzbWF0Y2guaHRtbDog
QWRkZWQuCisgICAgICAgICogZmFzdC90ZXh0L3VucGFpcmVkLXN1cnJvZ2F0ZS5odG1sOiBBZGRl
ZC4KKwogMjAyMS0wOC0yNiAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4K
IAogICAgICAgICBDU1Mga2V5ZnJhbWVkIGFuaW1hdGlvbnMgZG9uJ3QgcmVzcGVjdCBlZGdlcyBp
biA0IHZhbHVlIGJhY2tncm91bmQtcG9zaXRpb24KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3QvdGV4dC91bnBhaXJlZC1zdXJyb2dhdGUtZXhwZWN0ZWQtbWlzbWF0Y2guaHRtbCBiL0xheW91
dFRlc3RzL2Zhc3QvdGV4dC91bnBhaXJlZC1zdXJyb2dhdGUtZXhwZWN0ZWQtbWlzbWF0Y2guaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5lZWIyNzllZjBjODEzMzQ0YTA3ODMyODc5ODc2MzI5NmY0MTY5YzVhCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L3VucGFpcmVkLXN1cnJvZ2F0
ZS1leHBlY3RlZC1taXNtYXRjaC5odG1sCkBAIC0wLDAgKzEsOCBAQAorPCFET0NUWVBFIGh0bWw+
Cis8aHRtbD4KKzxoZWFkPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IGlkPSJ0YXJnZXQiIHN0eWxl
PSJmb250LXNpemU6IDEwMHB4OyI+YTwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L3VucGFpcmVkLXN1cnJvZ2F0ZS5odG1sIGIvTGF5b3V0
VGVzdHMvZmFzdC90ZXh0L3VucGFpcmVkLXN1cnJvZ2F0ZS5odG1sCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjFiNmRm
YWE5YzNhMmY2MjJiZTg3ZWUwMDczOWVmMDBkZWFhOGQ3ODYKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L3RleHQvdW5wYWlyZWQtc3Vycm9nYXRlLmh0bWwKQEAgLTAsMCArMSwx
MiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPC9oZWFkPgorPGJvZHk+Cis8
ZGl2IGlkPSJ0YXJnZXQiIHN0eWxlPSJmb250LXNpemU6IDEwMHB4OyI+PC9kaXY+Cis8c2NyaXB0
PgorbGV0IHRhcmdldCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0YXJnZXQiKTsKK3Rhcmdl
dC50ZXh0Q29udGVudCA9ICdhXHVEODAwYic7Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
      

    </bug>

</bugzilla>