<?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>167297</bug_id>
          
          <creation_ts>2017-01-22 20:32:25 -0800</creation_ts>
          <short_desc>Simple line layout: Add support for hyphen: auto.</short_desc>
          <delta_ts>2017-01-24 13:39:42 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Layout and Rendering</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="alan">zalan</reporter>
          <assigned_to name="alan">zalan</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>commit-queue</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>glenn</cc>
    
    <cc>koivisto</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>mmaxfield</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1268962</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2017-01-22 20:32:25 -0800</bug_when>
    <thetext>rdar://problem/30119463</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1268966</commentid>
    <comment_count>1</comment_count>
      <attachid>299494</attachid>
    <who name="alan">zalan</who>
    <bug_when>2017-01-22 20:40:38 -0800</bug_when>
    <thetext>Created attachment 299494
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1268967</commentid>
    <comment_count>2</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2017-01-22 20:40:51 -0800</bug_when>
    <thetext>WIP patch^^</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1269329</commentid>
    <comment_count>3</comment_count>
      <attachid>299570</attachid>
    <who name="alan">zalan</who>
    <bug_when>2017-01-23 20:46:42 -0800</bug_when>
    <thetext>Created attachment 299570
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1269435</commentid>
    <comment_count>4</comment_count>
      <attachid>299605</attachid>
    <who name="alan">zalan</who>
    <bug_when>2017-01-24 09:06:55 -0800</bug_when>
    <thetext>Created attachment 299605
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1269463</commentid>
    <comment_count>5</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2017-01-24 10:33:06 -0800</bug_when>
    <thetext>r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1269522</commentid>
    <comment_count>6</comment_count>
      <attachid>299605</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-01-24 13:39:38 -0800</bug_when>
    <thetext>Comment on attachment 299605
Patch

Clearing flags on attachment: 299605

Committed r211108: &lt;http://trac.webkit.org/changeset/211108&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1269523</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-01-24 13:39:42 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>299494</attachid>
            <date>2017-01-22 20:40:38 -0800</date>
            <delta_ts>2017-01-23 20:46:39 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-167297-20170122203841.patch</filename>
            <type>text/plain</type>
            <size>21576</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjExMDE4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGNhYzgwMTFmMWU0MTEy
NTE4YjI5Y2IwYjZkNDAyNzk2YTRkYTUwZC4uMGUzMDM0NDE3OGZiODU4ZjU5YjhmOWMyOGRmNjk0
ZDJkNTAyNDk3MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ0IEBACisyMDE3LTAxLTIyICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgU2ltcGxlIGxpbmUgbGF5b3V0
OiBBZGQgc3VwcG9ydCBmb3IgaHlwaGVuOiBhdXRvLgorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY3Mjk3CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8z
MDExOTQ2Mz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKyAgICAgICAg
CisgICAgICAgIFdJUCBwYXRjaC4KKworICAgICAgICAqIHJlbmRlcmluZy9TaW1wbGVMaW5lTGF5
b3V0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNpbXBsZUxpbmVMYXlvdXQ6OmNhblVzZUZvclN0
eWxlKToKKyAgICAgICAgKFdlYkNvcmU6OlNpbXBsZUxpbmVMYXlvdXQ6OkxpbmVTdGF0ZTo6YXBw
ZW5kRnJhZ21lbnRBbmRDcmVhdGVSdW5JZk5lZWRlZCk6CisgICAgICAgIChXZWJDb3JlOjpTaW1w
bGVMaW5lTGF5b3V0OjpzcGxpdEZyYWdtZW50VG9GaXRMaW5lKToKKyAgICAgICAgKFdlYkNvcmU6
OlNpbXBsZUxpbmVMYXlvdXQ6OmNyZWF0ZUxpbmVSdW5zKToKKyAgICAgICAgKFdlYkNvcmU6OlNp
bXBsZUxpbmVMYXlvdXQ6OnByaW50UmVhc29uKToKKyAgICAgICAgKiByZW5kZXJpbmcvU2ltcGxl
TGluZUxheW91dC5oOgorICAgICAgICAoV2ViQ29yZTo6U2ltcGxlTGluZUxheW91dDo6UnVuOjpS
dW4pOgorICAgICAgICAqIHJlbmRlcmluZy9TaW1wbGVMaW5lTGF5b3V0Rmxvd0NvbnRlbnRzLmg6
CisgICAgICAgIChXZWJDb3JlOjpTaW1wbGVMaW5lTGF5b3V0OjpGbG93Q29udGVudHM6OlNlZ21l
bnQ6OnRvU2VnbWVudFBvc2l0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlNpbXBsZUxpbmVMYXlv
dXQ6OkZsb3dDb250ZW50czo6U2VnbWVudDo6dG9SZW5kZXJQb3NpdGlvbik6CisgICAgICAgICog
cmVuZGVyaW5nL1NpbXBsZUxpbmVMYXlvdXRSZXNvbHZlci5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpTaW1wbGVMaW5lTGF5b3V0OjpSdW5SZXNvbHZlcjo6UnVuOjpSdW4pOgorICAgICAgICAoV2Vi
Q29yZTo6U2ltcGxlTGluZUxheW91dDo6UnVuUmVzb2x2ZXI6OlJ1bjo6Y29uc3RydWN0U3RyaW5n
Rm9yUnVuKToKKyAgICAgICAgKFdlYkNvcmU6OlNpbXBsZUxpbmVMYXlvdXQ6OlJ1blJlc29sdmVy
OjpSdW46OnRleHQpOiBEZWxldGVkLgorICAgICAgICAqIHJlbmRlcmluZy9TaW1wbGVMaW5lTGF5
b3V0UmVzb2x2ZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNpbXBsZUxpbmVMYXlvdXQ6OlJ1blJl
c29sdmVyOjpSdW46OnRleHQpOgorICAgICAgICAqIHJlbmRlcmluZy9TaW1wbGVMaW5lTGF5b3V0
VGV4dEZyYWdtZW50SXRlcmF0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2ltcGxlTGluZUxh
eW91dDo6VGV4dEZyYWdtZW50SXRlcmF0b3I6OlN0eWxlOjpTdHlsZSk6CisgICAgICAgIChXZWJD
b3JlOjpTaW1wbGVMaW5lTGF5b3V0OjpUZXh0RnJhZ21lbnRJdGVyYXRvcjo6bmV4dEJyZWFrYWJs
ZVBvc2l0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlNpbXBsZUxpbmVMYXlvdXQ6OlRleHRGcmFn
bWVudEl0ZXJhdG9yOjpuZXh0Tm9uV2hpdGVzcGFjZVBvc2l0aW9uKToKKyAgICAgICAgKFdlYkNv
cmU6OlNpbXBsZUxpbmVMYXlvdXQ6OlRleHRGcmFnbWVudEl0ZXJhdG9yOjp0ZXh0V2lkdGgpOgor
ICAgICAgICAoV2ViQ29yZTo6U2ltcGxlTGluZUxheW91dDo6VGV4dEZyYWdtZW50SXRlcmF0b3I6
Omxhc3RIeXBoZW5Qb3NpdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpTaW1wbGVMaW5lTGF5b3V0
OjpUZXh0RnJhZ21lbnRJdGVyYXRvcjo6cnVuV2lkdGgpOgorICAgICAgICAqIHJlbmRlcmluZy9T
aW1wbGVMaW5lTGF5b3V0VGV4dEZyYWdtZW50SXRlcmF0b3IuaDoKKyAgICAgICAgKFdlYkNvcmU6
OlNpbXBsZUxpbmVMYXlvdXQ6OlRleHRGcmFnbWVudEl0ZXJhdG9yOjpUZXh0RnJhZ21lbnQ6OlRl
eHRGcmFnbWVudCk6CisgICAgICAgIChXZWJDb3JlOjpTaW1wbGVMaW5lTGF5b3V0OjpUZXh0RnJh
Z21lbnRJdGVyYXRvcjo6VGV4dEZyYWdtZW50OjpoYXNIeXBoZW4pOgorICAgICAgICAoV2ViQ29y
ZTo6U2ltcGxlTGluZUxheW91dDo6VGV4dEZyYWdtZW50SXRlcmF0b3I6OlRleHRGcmFnbWVudDo6
b3BlcmF0b3I9PSk6CisgICAgICAgIChXZWJDb3JlOjpTaW1wbGVMaW5lTGF5b3V0OjpUZXh0RnJh
Z21lbnRJdGVyYXRvcjo6VGV4dEZyYWdtZW50OjpzcGxpdCk6CisgICAgICAgIChXZWJDb3JlOjpT
aW1wbGVMaW5lTGF5b3V0OjpUZXh0RnJhZ21lbnRJdGVyYXRvcjo6VGV4dEZyYWdtZW50OjpzcGxp
dFdpdGhIeXBoZW4pOgorCiAyMDE3LTAxLTIxICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJj
aWFAaWdhbGlhLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMjExMDEy
LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1NpbXBsZUxpbmVMYXlvdXQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1NpbXBsZUxpbmVMYXlvdXQuY3BwCmluZGV4
IGU4ODI1OGRkOTJlNTViODgzNWEzMmQ3ZGNiZTFkYWY0MmJkOGY1OWIuLjAyODk0Yjk1NjI5MjQ1
MDQxOTg3NzYyNDMyY2M1MmMyN2YxMjcxNjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9TaW1wbGVMaW5lTGF5b3V0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvU2ltcGxlTGluZUxheW91dC5jcHAKQEAgLTIzNiw4ICsyMzYsNiBAQCBzdGF0aWMgQXZvaWRh
bmNlUmVhc29uRmxhZ3MgY2FuVXNlRm9yU3R5bGUoY29uc3QgUmVuZGVyU3R5bGUmIHN0eWxlLCBJ
bmNsdWRlUmVhcwogICAgICAgICBTRVRfUkVBU09OX0FORF9SRVRVUk5fSUZfTkVFREVEKEZsb3dI
YXNMaW5lQWxpZ25FZGdlcywgcmVhc29ucywgaW5jbHVkZVJlYXNvbnMpOwogICAgIGlmIChzdHls
ZS5saW5lU25hcCgpICE9IExpbmVTbmFwTm9uZSkKICAgICAgICAgU0VUX1JFQVNPTl9BTkRfUkVU
VVJOX0lGX05FRURFRChGbG93SGFzTGluZVNuYXAsIHJlYXNvbnMsIGluY2x1ZGVSZWFzb25zKTsK
LSAgICBpZiAoc3R5bGUuaHlwaGVucygpID09IEh5cGhlbnNBdXRvKQotICAgICAgICBTRVRfUkVB
U09OX0FORF9SRVRVUk5fSUZfTkVFREVEKEZsb3dIYXNIeXBlbnNBdXRvLCByZWFzb25zLCBpbmNs
dWRlUmVhc29ucyk7CiAgICAgaWYgKHN0eWxlLnRleHRFbXBoYXNpc0ZpbGwoKSAhPSBUZXh0RW1w
aGFzaXNGaWxsRmlsbGVkIHx8IHN0eWxlLnRleHRFbXBoYXNpc01hcmsoKSAhPSBUZXh0RW1waGFz
aXNNYXJrTm9uZSkKICAgICAgICAgU0VUX1JFQVNPTl9BTkRfUkVUVVJOX0lGX05FRURFRChGbG93
SGFzVGV4dEVtcGhhc2lzRmlsbE9yTWFyaywgcmVhc29ucywgaW5jbHVkZVJlYXNvbnMpOwogICAg
IGlmIChzdHlsZS50ZXh0U2hhZG93KCkpCkBAIC00NTMsNyArNDUxLDcgQEAgcHVibGljOgogICAg
ICAgICB1bnNpZ25lZCBlbmRQb3NpdGlvbiA9IGZyYWdtZW50LmlzQ29sbGFwc2VkKCkgPyBmcmFn
bWVudC5zdGFydCgpICsgMSA6IGZyYWdtZW50LmVuZCgpOwogICAgICAgICAvLyBOZXcgbGluZSBu
ZWVkcyBuZXcgcnVuLgogICAgICAgICBpZiAoIW1fcnVuc1dpZHRoKQotICAgICAgICAgICAgcnVu
cy5hcHBlbmQoUnVuKGZyYWdtZW50LnN0YXJ0KCksIGVuZFBvc2l0aW9uLCBtX3J1bnNXaWR0aCwg
bV9ydW5zV2lkdGggKyBmcmFnbWVudC53aWR0aCgpLCBmYWxzZSkpOworICAgICAgICAgICAgcnVu
cy5hcHBlbmQoUnVuKGZyYWdtZW50LnN0YXJ0KCksIGVuZFBvc2l0aW9uLCBtX3J1bnNXaWR0aCwg
bV9ydW5zV2lkdGggKyBmcmFnbWVudC53aWR0aCgpLCBmYWxzZSwgZnJhZ21lbnQuaGFzSHlwaGVu
KCkpKTsKICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICBjb25zdCBhdXRvJiBsYXN0RnJhZ21l
bnQgPSBtX2ZyYWdtZW50cy5sYXN0KCk7CiAgICAgICAgICAgICAvLyBBZHZhbmNlIGxhc3QgY29t
cGxldGVkIGZyYWdtZW50IHdoZW4gdGhlIHByZXZpb3VzIGZyYWdtZW50IGlzIGFsbCBzZXQgKGlu
Y2x1ZGluZyBtdWx0aXBsZSBwYXJ0cyBhY3Jvc3MgcmVuZGVyZXJzKQpAQCAtNDcwLDExICs0Njgs
MTMgQEAgcHVibGljOgogICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgIH0KICAg
ICAgICAgICAgIGlmIChsYXN0RnJhZ21lbnQuaXNMYXN0SW5SZW5kZXJlcigpIHx8IGxhc3RGcmFn
bWVudC5pc0NvbGxhcHNlZCgpKQotICAgICAgICAgICAgICAgIHJ1bnMuYXBwZW5kKFJ1bihmcmFn
bWVudC5zdGFydCgpLCBlbmRQb3NpdGlvbiwgbV9ydW5zV2lkdGgsIG1fcnVuc1dpZHRoICsgZnJh
Z21lbnQud2lkdGgoKSwgZmFsc2UpKTsKKyAgICAgICAgICAgICAgICBydW5zLmFwcGVuZChSdW4o
ZnJhZ21lbnQuc3RhcnQoKSwgZW5kUG9zaXRpb24sIG1fcnVuc1dpZHRoLCBtX3J1bnNXaWR0aCAr
IGZyYWdtZW50LndpZHRoKCksIGZhbHNlLCBmcmFnbWVudC5oYXNIeXBoZW4oKSkpOwogICAgICAg
ICAgICAgZWxzZSB7CiAgICAgICAgICAgICAgICAgUnVuJiBsYXN0UnVuID0gcnVucy5sYXN0KCk7
CiAgICAgICAgICAgICAgICAgbGFzdFJ1bi5lbmQgPSBlbmRQb3NpdGlvbjsKICAgICAgICAgICAg
ICAgICBsYXN0UnVuLmxvZ2ljYWxSaWdodCArPSBmcmFnbWVudC53aWR0aCgpOworICAgICAgICAg
ICAgICAgIEFTU0VSVCghbGFzdFJ1bi5oYXNIeXBoZW4pOworICAgICAgICAgICAgICAgIGxhc3RS
dW4uaGFzSHlwaGVuID0gZnJhZ21lbnQuaGFzSHlwaGVuKCk7CiAgICAgICAgICAgICB9CiAgICAg
ICAgIH0KICAgICAgICAgbV9mcmFnbWVudHMuYXBwZW5kKGZyYWdtZW50KTsKQEAgLTYyNSw2ICs2
MjUsMTQgQEAgc3RhdGljIFRleHRGcmFnbWVudEl0ZXJhdG9yOjpUZXh0RnJhZ21lbnQgc3BsaXRG
cmFnbWVudFRvRml0TGluZShUZXh0RnJhZ21lbnRJdGUKICAgICB1bnNpZ25lZCBzcGxpdFBvc2l0
aW9uID0gKCppdCk7CiAgICAgaWYgKGtlZXBBdExlYXN0T25lQ2hhcmFjdGVyICYmIHNwbGl0UG9z
aXRpb24gPT0gZnJhZ21lbnRUb1NwbGl0LnN0YXJ0KCkpCiAgICAgICAgICsrc3BsaXRQb3NpdGlv
bjsKKyAgICBlbHNlIHsKKyAgICAgICAgYXV0byBiZWZvcmVJbmRleEZvckh5cGhlbiA9IHNwbGl0
UG9zaXRpb24gKyAxOworICAgICAgICB3aGlsZSAoYXV0byBsYXN0SHlwaGVuUG9zaXRpb24gPSB0
ZXh0RnJhZ21lbnRJdGVyYXRvci5sYXN0SHlwaGVuUG9zaXRpb24oZnJhZ21lbnRUb1NwbGl0LCBi
ZWZvcmVJbmRleEZvckh5cGhlbikpIHsKKyAgICAgICAgICAgIGlmICh0ZXh0RnJhZ21lbnRJdGVy
YXRvci50ZXh0V2lkdGgoc3RhcnQsICpsYXN0SHlwaGVuUG9zaXRpb24sIDApICsgdGV4dEZyYWdt
ZW50SXRlcmF0b3Iuc3R5bGUoKS5oeXBoZW5TdHJpbmdXaWR0aCA8PSBhdmFpbGFibGVXaWR0aCkK
KyAgICAgICAgICAgICAgICByZXR1cm4gZnJhZ21lbnRUb1NwbGl0LnNwbGl0V2l0aEh5cGhlbigq
bGFzdEh5cGhlblBvc2l0aW9uLCB0ZXh0RnJhZ21lbnRJdGVyYXRvcik7CisgICAgICAgICAgICBi
ZWZvcmVJbmRleEZvckh5cGhlbiA9ICpsYXN0SHlwaGVuUG9zaXRpb24gLSAxOworICAgICAgICB9
CisgICAgfQogICAgIHJldHVybiBmcmFnbWVudFRvU3BsaXQuc3BsaXQoc3BsaXRQb3NpdGlvbiwg
dGV4dEZyYWdtZW50SXRlcmF0b3IpOwogfQogCkBAIC03MzYsOCArNzQ0LDIwIEBAIHN0YXRpYyBi
b29sIGNyZWF0ZUxpbmVSdW5zKExpbmVTdGF0ZSYgbGluZSwgY29uc3QgTGluZVN0YXRlJiBwcmV2
aW91c0xpbmUsIExheW91CiAgICAgICAgICAgICAgICAgbGluZS5hcHBlbmRGcmFnbWVudEFuZENy
ZWF0ZVJ1bklmTmVlZGVkKGZyYWdtZW50LCBydW5zKTsKICAgICAgICAgICAgICAgICBicmVhazsK
ICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIC8vIE5vbi1icmVha2FibGUgbm9uLXdoaXRlc3Bh
Y2UgZmlyc3QgZnJhZ21lbnQuIEFkZCBpdCB0byB0aGUgY3VycmVudCBsaW5lLiAtaXQgb3ZlcmZs
b3dzIHRob3VnaC4KICAgICAgICAgICAgIEFTU0VSVChmcmFnbWVudC50eXBlKCkgPT0gVGV4dEZy
YWdtZW50SXRlcmF0b3I6OlRleHRGcmFnbWVudDo6Tm9uV2hpdGVzcGFjZSk7CisgICAgICAgICAg
ICAvLyBGaW5kIG91dCBpZiB0aGlzIG5vbi13aGl0ZXNwYWNlIGZyYWdtZW50IGhhcyBhIGh5cGhl
biB3aGVyZSB3ZSBjYW4gYnJlYWsuCisgICAgICAgICAgICBpZiAoc3R5bGUuc2hvdWxkSHlwaGVu
YXRlKSB7CisgICAgICAgICAgICAgICAgYXV0byBmcmFnbWVudFRvU3BsaXQgPSBmcmFnbWVudDsK
KyAgICAgICAgICAgICAgICAvLyBTcGxpdCBhbmQgY2hlY2sgaWYgd2UgYWN0dWFsbHkgZW5kZWQg
dXAgd2l0aCBhIGh5cGhlbi4KKyAgICAgICAgICAgICAgICBhdXRvIG92ZXJmbG93RnJhZ21lbnQg
PSBzcGxpdEZyYWdtZW50VG9GaXRMaW5lKGZyYWdtZW50VG9TcGxpdCwgbGluZS5hdmFpbGFibGVX
aWR0aCgpIC0gbGluZS53aWR0aCgpLCBlbXB0eUxpbmUsIHRleHRGcmFnbWVudEl0ZXJhdG9yKTsK
KyAgICAgICAgICAgICAgICBpZiAoZnJhZ21lbnRUb1NwbGl0Lmhhc0h5cGhlbigpKSB7CisgICAg
ICAgICAgICAgICAgICAgIGxpbmUuc2V0T3ZlcmZsb3dlZEZyYWdtZW50KG92ZXJmbG93RnJhZ21l
bnQpOworICAgICAgICAgICAgICAgICAgICBsaW5lLmFwcGVuZEZyYWdtZW50QW5kQ3JlYXRlUnVu
SWZOZWVkZWQoZnJhZ21lbnRUb1NwbGl0LCBydW5zKTsKKyAgICAgICAgICAgICAgICAgICAgYnJl
YWs7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIC8vIE5vIGh5cGhlbiwgbm8g
c3BsaXQuCisgICAgICAgICAgICB9CisgICAgICAgICAgICAvLyBOb24tYnJlYWthYmxlIG5vbi13
aGl0ZXNwYWNlIGZpcnN0IGZyYWdtZW50LiBBZGQgaXQgdG8gdGhlIGN1cnJlbnQgbGluZS4gLWl0
IG92ZXJmbG93cyB0aG91Z2guCiAgICAgICAgICAgICBpZiAoZW1wdHlMaW5lKSB7CiAgICAgICAg
ICAgICAgICAgZm9yY2VGcmFnbWVudFRvTGluZShsaW5lLCB0ZXh0RnJhZ21lbnRJdGVyYXRvciwg
cnVucywgZnJhZ21lbnQpOwogICAgICAgICAgICAgICAgIGJyZWFrOwpAQCAtOTU2LDkgKzk3Niw2
IEBAIHN0YXRpYyB2b2lkIHByaW50UmVhc29uKEF2b2lkYW5jZVJlYXNvbiByZWFzb24sIFRleHRT
dHJlYW0mIHN0cmVhbSkKICAgICBjYXNlIEZsb3dIYXNMaW5lU25hcDoKICAgICAgICAgc3RyZWFt
IDw8ICItd2Via2l0LWxpbmUtc25hcCBwcm9wZXJ0eSI7CiAgICAgICAgIGJyZWFrOwotICAgIGNh
c2UgRmxvd0hhc0h5cGVuc0F1dG86Ci0gICAgICAgIHN0cmVhbSA8PCAiaHlwaGVuOiBhdXRvIjsK
LSAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBGbG93SGFzVGV4dEVtcGhhc2lzRmlsbE9yTWFyazoK
ICAgICAgICAgc3RyZWFtIDw8ICJ0ZXh0LWVtcGhhc2lzIChmaWxsL21hcmspIjsKICAgICAgICAg
YnJlYWs7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvU2ltcGxlTGluZUxh
eW91dC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1NpbXBsZUxpbmVMYXlvdXQuaAppbmRl
eCBmNjU1NDM4NDczNzgyNTIxOTZlZjUwNjY3YTY1MDEzMGFhMjM0ZWE3Li5jMDFmNGY0ODg3MmJl
N2IzNzU0MTQ1NGZiMDIxNTExMDY4MmI5MjZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvU2ltcGxlTGluZUxheW91dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9TaW1wbGVMaW5lTGF5b3V0LmgKQEAgLTQ2LDE3ICs0NiwxOSBAQCBzdHJ1Y3QgUnVuIHsKICNp
ZiBDT01QSUxFUihNU1ZDKQogICAgIFJ1bigpIHsgfQogI2VuZGlmCi0gICAgUnVuKHVuc2lnbmVk
IHN0YXJ0LCB1bnNpZ25lZCBlbmQsIGZsb2F0IGxvZ2ljYWxMZWZ0LCBmbG9hdCBsb2dpY2FsUmln
aHQsIGJvb2wgaXNFbmRPZkxpbmUpCisgICAgUnVuKHVuc2lnbmVkIHN0YXJ0LCB1bnNpZ25lZCBl
bmQsIGZsb2F0IGxvZ2ljYWxMZWZ0LCBmbG9hdCBsb2dpY2FsUmlnaHQsIGJvb2wgaXNFbmRPZkxp
bmUsIGJvb2wgaGFzSHlwaGVuKQogICAgICAgICA6IHN0YXJ0KHN0YXJ0KQogICAgICAgICAsIGVu
ZChlbmQpCiAgICAgICAgICwgaXNFbmRPZkxpbmUoaXNFbmRPZkxpbmUpCisgICAgICAgICwgaGFz
SHlwaGVuKGhhc0h5cGhlbikKICAgICAgICAgLCBsb2dpY2FsTGVmdChsb2dpY2FsTGVmdCkKICAg
ICAgICAgLCBsb2dpY2FsUmlnaHQobG9naWNhbFJpZ2h0KQogICAgIHsgfQogCiAgICAgdW5zaWdu
ZWQgc3RhcnQ7Ci0gICAgdW5zaWduZWQgZW5kIDogMzE7CisgICAgdW5zaWduZWQgZW5kIDogMzA7
CiAgICAgdW5zaWduZWQgaXNFbmRPZkxpbmUgOiAxOworICAgIHVuc2lnbmVkIGhhc0h5cGhlbiA6
IDE7CiAgICAgZmxvYXQgbG9naWNhbExlZnQ7CiAgICAgZmxvYXQgbG9naWNhbFJpZ2h0OwogICAg
IC8vIFRPRE86IE1vdmUgdGhlc2Ugb3B0aW9uYWwgaXRlbXMgb3V0IG9mIFNpbXBsZUxpbmVMYXlv
dXQ6OlJ1biB0byBhIHN1cHBsZW1lbnRhcnkgc3RydWN0dXJlLgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1NpbXBsZUxpbmVMYXlvdXRGbG93Q29udGVudHMuaCBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9TaW1wbGVMaW5lTGF5b3V0Rmxvd0NvbnRlbnRzLmgKaW5kZXgg
ZTgwMTk4Y2NhYWIwMDI3Y2M1MjYwZWI5MWUyNjc4OGUyOWIyNTBhMy4uYmIzMzFlYzVkYzkzOTk4
OGZlNGQwYTJiNWZmMjI4ZDE5ZDQwYTc3MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1NpbXBsZUxpbmVMYXlvdXRGbG93Q29udGVudHMuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvU2ltcGxlTGluZUxheW91dEZsb3dDb250ZW50cy5oCkBAIC0zNyw2ICszNywx
MiBAQCBwdWJsaWM6CiAgICAgRmxvd0NvbnRlbnRzKGNvbnN0IFJlbmRlckJsb2NrRmxvdyYpOwog
CiAgICAgc3RydWN0IFNlZ21lbnQgeworICAgICAgICB1bnNpZ25lZCB0b1NlZ21lbnRQb3NpdGlv
bih1bnNpZ25lZCBwb3NpdGlvbikgY29uc3QKKyAgICAgICAgeworICAgICAgICAgICAgQVNTRVJU
KHBvc2l0aW9uID49IHN0YXJ0KTsKKyAgICAgICAgICAgIHJldHVybiBwb3NpdGlvbiAtIHN0YXJ0
OworICAgICAgICB9CisgICAgICAgIHVuc2lnbmVkIHRvUmVuZGVyUG9zaXRpb24odW5zaWduZWQg
cG9zaXRpb24pIGNvbnN0IHsgcmV0dXJuIHN0YXJ0ICsgcG9zaXRpb247IH0KICAgICAgICAgdW5z
aWduZWQgc3RhcnQ7CiAgICAgICAgIHVuc2lnbmVkIGVuZDsKICAgICAgICAgU3RyaW5nIHRleHQ7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvU2ltcGxlTGluZUxheW91dFJl
c29sdmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9TaW1wbGVMaW5lTGF5b3V0UmVz
b2x2ZXIuY3BwCmluZGV4IGE0YjYxYWViMmFiNWIyNzVmNmM1ODIwMmY5NGYyMzg1N2Y1YmRmYzEu
LmYxZjQwMjkwNzRiNjBmZTczMGM2MmY4NWI4NDE2OTEyMGFlYzlhY2MgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9TaW1wbGVMaW5lTGF5b3V0UmVzb2x2ZXIuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9TaW1wbGVMaW5lTGF5b3V0UmVzb2x2ZXIuY3BwCkBA
IC00Niw5ICs0NiwyNiBAQCBzdGF0aWMgRmxvYXRTaXplIGxpbmVTaXplKGZsb2F0IGxvZ2ljYWxM
ZWZ0LCBmbG9hdCBsb2dpY2FsUmlnaHQsIGZsb2F0IGhlaWdodCkKIAogUnVuUmVzb2x2ZXI6OlJ1
bjo6UnVuKGNvbnN0IEl0ZXJhdG9yJiBpdGVyYXRvcikKICAgICA6IG1faXRlcmF0b3IoaXRlcmF0
b3IpCisgICAgLCBtX3RleHQoY29uc3RydWN0U3RyaW5nRm9yUnVuKCkpCiB7CiB9CiAKK1N0cmlu
ZyBSdW5SZXNvbHZlcjo6UnVuOjpjb25zdHJ1Y3RTdHJpbmdGb3JSdW4oKQoreworICAgIGF1dG8m
IHJ1biA9IG1faXRlcmF0b3Iuc2ltcGxlUnVuKCk7CisgICAgQVNTRVJUKHJ1bi5zdGFydCA8PSBy
dW4uZW5kKTsKKyAgICBpZiAocnVuLnN0YXJ0ID09IHJ1bi5lbmQpCisgICAgICAgIHJldHVybiBT
dHJpbmcoKTsKKyAgICBhdXRvJiBzZWdtZW50ID0gbV9pdGVyYXRvci5yZXNvbHZlcigpLm1fZmxv
d0NvbnRlbnRzLnNlZ21lbnRGb3JSdW4ocnVuLnN0YXJ0LCBydW4uZW5kKTsKKyAgICAvLyBXZSBj
dXJyZW50bHkgc3BsaXQgcnVucyBvbiBzZWdtZW50IGJvdW5kYXJpZXMgKGRpZmZlcmVudCBSZW5k
ZXJPYmplY3QpLgorICAgIEFTU0VSVChydW4uZW5kIDw9IHNlZ21lbnQuZW5kKTsKKyAgICBhdXRv
IHRleHQgPSBTdHJpbmdWaWV3KHNlZ21lbnQudGV4dCkuc3Vic3RyaW5nKHJ1bi5zdGFydCAtIHNl
Z21lbnQuc3RhcnQsIHJ1bi5lbmQgLSBydW4uc3RhcnQpOworICAgIGlmIChydW4uaGFzSHlwaGVu
KQorICAgICAgICByZXR1cm4gbWFrZVN0cmluZyh0ZXh0LCBtX2l0ZXJhdG9yLnJlc29sdmVyKCku
ZmxvdygpLnN0eWxlKCkuaHlwaGVuU3RyaW5nKCkpOworICAgIC8vIEZJWE1FOiBUaGlzIHNob3Vs
ZCBqdXN0IGJlIFN0cmluZ1ZpZXcuCisgICAgcmV0dXJuIHRleHQudG9TdHJpbmcoKTsKK30KKwog
RmxvYXRSZWN0IFJ1blJlc29sdmVyOjpSdW46OnJlY3QoKSBjb25zdAogewogICAgIGF1dG8mIHJ1
biA9IG1faXRlcmF0b3Iuc2ltcGxlUnVuKCk7CkBAIC02NywxNiArODQsNiBAQCBGbG9hdFJlY3Qg
UnVuUmVzb2x2ZXI6OlJ1bjo6cmVjdCgpIGNvbnN0CiAgICAgcmV0dXJuIEZsb2F0UmVjdChwb3Np
dGlvbiwgc2l6ZSk7CiB9CiAKLVN0cmluZ1ZpZXcgUnVuUmVzb2x2ZXI6OlJ1bjo6dGV4dCgpIGNv
bnN0Ci17Ci0gICAgYXV0byYgcnVuID0gbV9pdGVyYXRvci5zaW1wbGVSdW4oKTsKLSAgICBBU1NF
UlQocnVuLnN0YXJ0IDwgcnVuLmVuZCk7Ci0gICAgYXV0byYgc2VnbWVudCA9IG1faXRlcmF0b3Iu
cmVzb2x2ZXIoKS5tX2Zsb3dDb250ZW50cy5zZWdtZW50Rm9yUnVuKHJ1bi5zdGFydCwgcnVuLmVu
ZCk7Ci0gICAgLy8gV2UgY3VycmVudGx5IHNwbGl0IHJ1bnMgb24gc2VnbWVudCBib3VuZGFyaWVz
IChkaWZmZXJlbnQgUmVuZGVyT2JqZWN0KS4KLSAgICBBU1NFUlQocnVuLmVuZCA8PSBzZWdtZW50
LmVuZCk7Ci0gICAgcmV0dXJuIFN0cmluZ1ZpZXcoc2VnbWVudC50ZXh0KS5zdWJzdHJpbmcocnVu
LnN0YXJ0IC0gc2VnbWVudC5zdGFydCwgcnVuLmVuZCAtIHJ1bi5zdGFydCk7Ci19Ci0KIFJ1blJl
c29sdmVyOjpJdGVyYXRvcjo6SXRlcmF0b3IoY29uc3QgUnVuUmVzb2x2ZXImIHJlc29sdmVyLCB1
bnNpZ25lZCBydW5JbmRleCwgdW5zaWduZWQgbGluZUluZGV4KQogICAgIDogbV9yZXNvbHZlcihy
ZXNvbHZlcikKICAgICAsIG1fcnVuSW5kZXgocnVuSW5kZXgpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvU2ltcGxlTGluZUxheW91dFJlc29sdmVyLmggYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvU2ltcGxlTGluZUxheW91dFJlc29sdmVyLmgKaW5kZXggZGI2ZGQxZDcx
NTQ2ODJiZGQzM2FkNGFmZTVjNjJmMjFhMTA4MzE1OC4uN2Y0NjIyMzBhODQ1NWZjZWRiN2E5NTQ4
M2ExZDZhNWM5Yzc0MmM5OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Np
bXBsZUxpbmVMYXlvdXRSZXNvbHZlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9T
aW1wbGVMaW5lTGF5b3V0UmVzb2x2ZXIuaApAQCAtNzAsOCArNzAsMTAgQEAgcHVibGljOgogCiAg
ICAgcHJpdmF0ZToKICAgICAgICAgZmxvYXQgY29tcHV0ZUJhc2VsaW5lUG9zaXRpb24oKSBjb25z
dDsKKyAgICAgICAgU3RyaW5nIGNvbnN0cnVjdFN0cmluZ0ZvclJ1bigpOwogCiAgICAgICAgIGNv
bnN0IEl0ZXJhdG9yJiBtX2l0ZXJhdG9yOworICAgICAgICBTdHJpbmcgbV90ZXh0OwogICAgIH07
CiAKICAgICBjbGFzcyBJdGVyYXRvciB7CkBAIC0xODAsNiArMTgyLDExIEBAIGlubGluZSBFeHBh
bnNpb25CZWhhdmlvciBSdW5SZXNvbHZlcjo6UnVuOjpleHBhbnNpb25CZWhhdmlvcigpIGNvbnN0
CiAgICAgcmV0dXJuIG1faXRlcmF0b3Iuc2ltcGxlUnVuKCkuZXhwYW5zaW9uQmVoYXZpb3I7CiB9
CiAKK2lubGluZSBTdHJpbmdWaWV3IFJ1blJlc29sdmVyOjpSdW46OnRleHQoKSBjb25zdAorewor
ICAgIHJldHVybiBtX3RleHQ7Cit9CisKIGlubGluZSBpbnQgUnVuUmVzb2x2ZXI6OlJ1bjo6YmFz
ZWxpbmVQb3NpdGlvbigpIGNvbnN0CiB7CiAgICAgcmV0dXJuIHJvdW5kVG9JbnQoY29tcHV0ZUJh
c2VsaW5lUG9zaXRpb24oKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
U2ltcGxlTGluZUxheW91dFRleHRGcmFnbWVudEl0ZXJhdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9TaW1wbGVMaW5lTGF5b3V0VGV4dEZyYWdtZW50SXRlcmF0b3IuY3BwCmluZGV4
IGU5YWM2ZWQxYjQxYmZmNGM3NGM5OGRlZjg0ZDdhNjhhODU2NThiNjYuLjk1YzIzMjMwMmQ2MjU4
ZDBkODJmZTgxYWY1ZmM4MmNkNmZkN2Q1MzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9TaW1wbGVMaW5lTGF5b3V0VGV4dEZyYWdtZW50SXRlcmF0b3IuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9TaW1wbGVMaW5lTGF5b3V0VGV4dEZyYWdtZW50SXRlcmF0
b3IuY3BwCkBAIC0yNiw2ICsyNiw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAi
U2ltcGxlTGluZUxheW91dFRleHRGcmFnbWVudEl0ZXJhdG9yLmgiCiAKKyNpbmNsdWRlICJIeXBo
ZW5hdGlvbi5oIgogI2luY2x1ZGUgIlJlbmRlckJsb2NrRmxvdy5oIgogI2luY2x1ZGUgIlJlbmRl
ckNoaWxkSXRlcmF0b3IuaCIKICNpbmNsdWRlICJTaW1wbGVMaW5lTGF5b3V0Rmxvd0NvbnRlbnRz
LmgiCkBAIC00Niw2ICs0Nyw4IEBAIFRleHRGcmFnbWVudEl0ZXJhdG9yOjpTdHlsZTo6U3R5bGUo
Y29uc3QgUmVuZGVyU3R5bGUmIHN0eWxlKQogICAgICwgc3BhY2VXaWR0aChmb250LndpZHRoKFRl
eHRSdW4oU3RyaW5nVmlldygmc3BhY2UsIDEpKSkpCiAgICAgLCB3b3JkU3BhY2luZyhmb250Lndv
cmRTcGFjaW5nKCkpCiAgICAgLCB0YWJXaWR0aChjb2xsYXBzZVdoaXRlc3BhY2UgPyAwIDogc3R5
bGUudGFiU2l6ZSgpKQorICAgICwgc2hvdWxkSHlwaGVuYXRlKHN0eWxlLmh5cGhlbnMoKSA9PSBI
eXBoZW5zQXV0byAmJiBjYW5IeXBoZW5hdGUoc3R5bGUubG9jYWxlKCkpKQorICAgICwgaHlwaGVu
U3RyaW5nV2lkdGgoc2hvdWxkSHlwaGVuYXRlID8gZm9udC53aWR0aChUZXh0UnVuKHN0eWxlLmh5
cGhlblN0cmluZygpKSkgOiAwKQogICAgICwgbG9jYWxlKHN0eWxlLmxvY2FsZSgpKQogewogfQpA
QCAtMTQzLDggKzE0Niw3IEBAIHVuc2lnbmVkIFRleHRGcmFnbWVudEl0ZXJhdG9yOjpuZXh0QnJl
YWthYmxlUG9zaXRpb24oY29uc3QgRmxvd0NvbnRlbnRzOjpTZWdtZW50CiAgICAgICAgIG1fbGlu
ZUJyZWFrSXRlcmF0b3Iuc2V0UHJpb3JDb250ZXh0KGxhc3RDaGFyYWN0ZXIsIHNlY29uZFRvTGFz
dENoYXJhY3Rlcik7CiAgICAgICAgIG1fbGluZUJyZWFrSXRlcmF0b3IucmVzZXRTdHJpbmdBbmRS
ZWxlYXNlSXRlcmF0b3Ioc2VnbWVudC50ZXh0LCBtX3N0eWxlLmxvY2FsZSwgTGluZUJyZWFrSXRl
cmF0b3JNb2RlOjpEZWZhdWx0KTsKICAgICB9Ci0gICAgdW5zaWduZWQgc2VnbWVudFBvc2l0aW9u
ID0gc3RhcnRQb3NpdGlvbiAtIHNlZ21lbnQuc3RhcnQ7Ci0gICAgcmV0dXJuIHNlZ21lbnQuc3Rh
cnQgKyBuZXh0QnJlYWthYmxlUG9zaXRpb25JblNlZ21lbnQobV9saW5lQnJlYWtJdGVyYXRvciwg
c2VnbWVudFBvc2l0aW9uLCBtX3N0eWxlLmJyZWFrTkJTUCwgbV9zdHlsZS5rZWVwQWxsV29yZHNG
b3JDSkspOworICAgIHJldHVybiBzZWdtZW50LnRvUmVuZGVyUG9zaXRpb24obmV4dEJyZWFrYWJs
ZVBvc2l0aW9uSW5TZWdtZW50KG1fbGluZUJyZWFrSXRlcmF0b3IsIHNlZ21lbnQudG9TZWdtZW50
UG9zaXRpb24oc3RhcnRQb3NpdGlvbiksIG1fc3R5bGUuYnJlYWtOQlNQLCBtX3N0eWxlLmtlZXBB
bGxXb3Jkc0ZvckNKSykpOwogfQogCiB0ZW1wbGF0ZSA8dHlwZW5hbWUgQ2hhcmFjdGVyVHlwZT4K
QEAgLTE1NCw3ICsxNTYsNyBAQCB1bnNpZ25lZCBUZXh0RnJhZ21lbnRJdGVyYXRvcjo6bmV4dE5v
bldoaXRlc3BhY2VQb3NpdGlvbihjb25zdCBGbG93Q29udGVudHM6OlNlZwogICAgIGNvbnN0IGF1
dG8qIHRleHQgPSBzZWdtZW50LnRleHQuY2hhcmFjdGVyczxDaGFyYWN0ZXJUeXBlPigpOwogICAg
IHVuc2lnbmVkIHBvc2l0aW9uID0gc3RhcnRQb3NpdGlvbjsKICAgICBmb3IgKDsgcG9zaXRpb24g
PCBzZWdtZW50LmVuZDsgKytwb3NpdGlvbikgewotICAgICAgICBhdXRvIGNoYXJhY3RlciA9IHRl
eHRbcG9zaXRpb24gLSBzZWdtZW50LnN0YXJ0XTsKKyAgICAgICAgYXV0byBjaGFyYWN0ZXIgPSB0
ZXh0W3NlZ21lbnQudG9TZWdtZW50UG9zaXRpb24ocG9zaXRpb24pXTsKICAgICAgICAgYm9vbCBp
c1doaXRlc3BhY2UgPSBjaGFyYWN0ZXIgPT0gJyAnIHx8IGNoYXJhY3RlciA9PSAnXHQnIHx8ICgh
bV9zdHlsZS5wcmVzZXJ2ZU5ld2xpbmUgJiYgY2hhcmFjdGVyID09ICdcbicpOwogICAgICAgICBp
ZiAoIWlzV2hpdGVzcGFjZSkKICAgICAgICAgICAgIHJldHVybiBwb3NpdGlvbjsKQEAgLTE3MCwx
MCArMTcyLDMwIEBAIGZsb2F0IFRleHRGcmFnbWVudEl0ZXJhdG9yOjp0ZXh0V2lkdGgodW5zaWdu
ZWQgZnJvbSwgdW5zaWduZWQgdG8sIGZsb2F0IHhQb3NpdGlvCiAgICAgaWYgKCFtX3N0eWxlLmZv
bnQuc2l6ZSgpKQogICAgICAgICByZXR1cm4gMDsKICAgICBpZiAobV9zdHlsZS5mb250LmlzRml4
ZWRQaXRjaCgpIHx8IChmcm9tID09IHNlZ21lbnQuc3RhcnQgJiYgdG8gPT0gc2VnbWVudC5lbmQp
KQotICAgICAgICByZXR1cm4gZG93bmNhc3Q8UmVuZGVyVGV4dD4oc2VnbWVudC5yZW5kZXJlciku
d2lkdGgoZnJvbSAtIHNlZ21lbnQuc3RhcnQsIHRvIC0gZnJvbSwgbV9zdHlsZS5mb250LCB4UG9z
aXRpb24sIG51bGxwdHIsIG51bGxwdHIpOworICAgICAgICByZXR1cm4gZG93bmNhc3Q8UmVuZGVy
VGV4dD4oc2VnbWVudC5yZW5kZXJlcikud2lkdGgoc2VnbWVudC50b1NlZ21lbnRQb3NpdGlvbihm
cm9tKSwgdG8gLSBmcm9tLCBtX3N0eWxlLmZvbnQsIHhQb3NpdGlvbiwgbnVsbHB0ciwgbnVsbHB0
cik7CiAgICAgcmV0dXJuIHJ1bldpZHRoKHNlZ21lbnQsIGZyb20sIHRvLCB4UG9zaXRpb24pOwog
fQogCitzdGQ6Om9wdGlvbmFsPHVuc2lnbmVkPiBUZXh0RnJhZ21lbnRJdGVyYXRvcjo6bGFzdEh5
cGhlblBvc2l0aW9uKGNvbnN0IFRleHRGcmFnbWVudEl0ZXJhdG9yOjpUZXh0RnJhZ21lbnQmIHJ1
biwgdW5zaWduZWQgYmVmb3JlSW5kZXgpIGNvbnN0Cit7CisgICAgYXV0byYgc2VnbWVudCA9ICpt
X2N1cnJlbnRTZWdtZW50OworICAgIEFTU0VSVChzZWdtZW50LnN0YXJ0IDw9IGJlZm9yZUluZGV4
ICYmIGJlZm9yZUluZGV4IDw9IHNlZ21lbnQuZW5kKTsKKyAgICBBU1NFUlQoaXM8UmVuZGVyVGV4
dD4oc2VnbWVudC5yZW5kZXJlcikpOworICAgIGlmICghbV9zdHlsZS5zaG91bGRIeXBoZW5hdGUg
fHwgcnVuLnR5cGUoKSAhPSBUZXh0RnJhZ21lbnQ6Ok5vbldoaXRlc3BhY2UpCisgICAgICAgIHJl
dHVybiBzdGQ6Om9wdGlvbmFsPHVuc2lnbmVkPigpOworCisgICAgaWYgKHJ1bi5zdGFydCgpID09
IGJlZm9yZUluZGV4KQorICAgICAgICByZXR1cm4gc3RkOjpvcHRpb25hbDx1bnNpZ25lZD4oKTsK
KyAgICBhdXRvIHJ1blN0YXJ0ID0gc2VnbWVudC50b1NlZ21lbnRQb3NpdGlvbihydW4uc3RhcnQo
KSk7CisgICAgYXV0byBoeXBlbkxvY2F0ZVN0YXJ0ID0gc3RkOjptYXgoMCwgKGludClydW5TdGFy
dCAtIDUpOworICAgIGF1dG8gYmVmb3JlID0gc2VnbWVudC50b1NlZ21lbnRQb3NpdGlvbihiZWZv
cmVJbmRleCkgLSBoeXBlbkxvY2F0ZVN0YXJ0OworICAgIGF1dG8gc3Vic3RyaW5nRm9ySHlwaGVu
YXRpb24gPSBTdHJpbmdWaWV3KHNlZ21lbnQudGV4dCkuc3Vic3RyaW5nKGh5cGVuTG9jYXRlU3Rh
cnQpOworICAgIGF1dG8gaHlwaGVuTG9jYXRpb24gPSBsYXN0SHlwaGVuTG9jYXRpb24oc3Vic3Ry
aW5nRm9ySHlwaGVuYXRpb24sIGJlZm9yZSwgbV9zdHlsZS5sb2NhbGUpICsgaHlwZW5Mb2NhdGVT
dGFydDsKKyAgICBpZiAoaHlwaGVuTG9jYXRpb24gPiBydW5TdGFydCkKKyAgICAgICAgcmV0dXJu
IHNlZ21lbnQudG9SZW5kZXJQb3NpdGlvbihoeXBoZW5Mb2NhdGlvbik7CisgICAgcmV0dXJuIHN0
ZDo6b3B0aW9uYWw8dW5zaWduZWQ+KCk7Cit9CisKIHVuc2lnbmVkIFRleHRGcmFnbWVudEl0ZXJh
dG9yOjpza2lwVG9OZXh0UG9zaXRpb24oUG9zaXRpb25UeXBlIHBvc2l0aW9uVHlwZSwgdW5zaWdu
ZWQgc3RhcnRQb3NpdGlvbiwgZmxvYXQmIHdpZHRoLCBmbG9hdCB4UG9zaXRpb24sIGJvb2wmIG92
ZXJsYXBwaW5nRnJhZ21lbnQpCiB7CiAgICAgb3ZlcmxhcHBpbmdGcmFnbWVudCA9IGZhbHNlOwpA
QCAtMjE5LDggKzI0MSw4IEBAIGZsb2F0IFRleHRGcmFnbWVudEl0ZXJhdG9yOjpydW5XaWR0aChj
b25zdCBGbG93Q29udGVudHM6OlNlZ21lbnQmIHNlZ21lbnQsIHVuc2lnCiAgICAgQVNTRVJUKHN0
YXJ0UG9zaXRpb24gPD0gZW5kUG9zaXRpb24pOwogICAgIGlmIChzdGFydFBvc2l0aW9uID09IGVu
ZFBvc2l0aW9uKQogICAgICAgICByZXR1cm4gMDsKLSAgICB1bnNpZ25lZCBzZWdtZW50RnJvbSA9
IHN0YXJ0UG9zaXRpb24gLSBzZWdtZW50LnN0YXJ0OwotICAgIHVuc2lnbmVkIHNlZ21lbnRUbyA9
IGVuZFBvc2l0aW9uIC0gc2VnbWVudC5zdGFydDsKKyAgICB1bnNpZ25lZCBzZWdtZW50RnJvbSA9
IHNlZ21lbnQudG9TZWdtZW50UG9zaXRpb24oc3RhcnRQb3NpdGlvbik7CisgICAgdW5zaWduZWQg
c2VnbWVudFRvID0gc2VnbWVudC50b1NlZ21lbnRQb3NpdGlvbihlbmRQb3NpdGlvbik7CiAgICAg
Ym9vbCBtZWFzdXJlV2l0aEVuZFNwYWNlID0gbV9zdHlsZS5jb2xsYXBzZVdoaXRlc3BhY2UgJiYg
c2VnbWVudFRvIDwgc2VnbWVudC50ZXh0Lmxlbmd0aCgpICYmIHNlZ21lbnQudGV4dFtzZWdtZW50
VG9dID09ICcgJzsKICAgICBpZiAobWVhc3VyZVdpdGhFbmRTcGFjZSkKICAgICAgICAgKytzZWdt
ZW50VG87CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvU2ltcGxlTGluZUxh
eW91dFRleHRGcmFnbWVudEl0ZXJhdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvU2lt
cGxlTGluZUxheW91dFRleHRGcmFnbWVudEl0ZXJhdG9yLmgKaW5kZXggOGNhODg0MzBiNTk3YjZj
YTlmZDc2NGI3ZDMxMGU3NGQ0OWQzYmY2Mi4uYWQ3ODQ5OTUwZmVlMWI1YTA5MDg4ZTJiYWIyZjgw
MjZlYmY0YmJlNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1NpbXBsZUxp
bmVMYXlvdXRUZXh0RnJhZ21lbnRJdGVyYXRvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9TaW1wbGVMaW5lTGF5b3V0VGV4dEZyYWdtZW50SXRlcmF0b3IuaApAQCAtNDMsNyArNDMs
NyBAQCBwdWJsaWM6CiAgICAgcHVibGljOgogICAgICAgICBlbnVtIFR5cGUgeyBDb250ZW50RW5k
LCBTb2Z0TGluZUJyZWFrLCBIYXJkTGluZUJyZWFrLCBXaGl0ZXNwYWNlLCBOb25XaGl0ZXNwYWNl
IH07CiAgICAgICAgIFRleHRGcmFnbWVudCgpID0gZGVmYXVsdDsKLSAgICAgICAgVGV4dEZyYWdt
ZW50KHVuc2lnbmVkIHN0YXJ0LCB1bnNpZ25lZCBlbmQsIGZsb2F0IHdpZHRoLCBUeXBlIHR5cGUs
IGJvb2wgaXNMYXN0SW5SZW5kZXJlciA9IGZhbHNlLCBib29sIG92ZXJsYXBzVG9OZXh0UmVuZGVy
ZXIgPSBmYWxzZSwgYm9vbCBpc0NvbGxhcHNlZCA9IGZhbHNlLCBib29sIGlzQ29sbGFwc2libGUg
PSBmYWxzZSkKKyAgICAgICAgVGV4dEZyYWdtZW50KHVuc2lnbmVkIHN0YXJ0LCB1bnNpZ25lZCBl
bmQsIGZsb2F0IHdpZHRoLCBUeXBlIHR5cGUsIGJvb2wgaXNMYXN0SW5SZW5kZXJlciA9IGZhbHNl
LCBib29sIG92ZXJsYXBzVG9OZXh0UmVuZGVyZXIgPSBmYWxzZSwgYm9vbCBpc0NvbGxhcHNlZCA9
IGZhbHNlLCBib29sIGlzQ29sbGFwc2libGUgPSBmYWxzZSwgYm9vbCBoYXNIeXBoZW4gPSBmYWxz
ZSkKICAgICAgICAgICAgIDogbV9zdGFydChzdGFydCkKICAgICAgICAgICAgICwgbV9lbmQoZW5k
KQogICAgICAgICAgICAgLCBtX3dpZHRoKHdpZHRoKQpAQCAtNTIsNiArNTIsNyBAQCBwdWJsaWM6
CiAgICAgICAgICAgICAsIG1fb3ZlcmxhcHNUb05leHRSZW5kZXJlcihvdmVybGFwc1RvTmV4dFJl
bmRlcmVyKQogICAgICAgICAgICAgLCBtX2lzQ29sbGFwc2VkKGlzQ29sbGFwc2VkKQogICAgICAg
ICAgICAgLCBtX2lzQ29sbGFwc2libGUoaXNDb2xsYXBzaWJsZSkKKyAgICAgICAgICAgICwgbV9o
YXNIeXBoZW4oaGFzSHlwaGVuKQogICAgICAgICB7CiAgICAgICAgIH0KIApAQCAtNjQsOSArNjUs
MTEgQEAgcHVibGljOgogICAgICAgICBib29sIGlzTGluZUJyZWFrKCkgY29uc3QgeyByZXR1cm4g
bV90eXBlID09IFNvZnRMaW5lQnJlYWsgfHwgbV90eXBlID09IEhhcmRMaW5lQnJlYWs7IH0KICAg
ICAgICAgYm9vbCBpc0NvbGxhcHNlZCgpIGNvbnN0IHsgcmV0dXJuIG1faXNDb2xsYXBzZWQ7IH0K
ICAgICAgICAgYm9vbCBpc0NvbGxhcHNpYmxlKCkgY29uc3QgeyByZXR1cm4gbV9pc0NvbGxhcHNp
YmxlOyB9CisgICAgICAgIGJvb2wgaGFzSHlwaGVuKCkgY29uc3QgeyByZXR1cm4gbV9oYXNIeXBo
ZW47IH0KIAogICAgICAgICBib29sIGlzRW1wdHkoKSBjb25zdCB7IHJldHVybiBzdGFydCgpID09
IGVuZCgpICYmICFpc0xpbmVCcmVhaygpOyB9CiAgICAgICAgIFRleHRGcmFnbWVudCBzcGxpdCh1
bnNpZ25lZCBzcGxpdFBvc2l0aW9uLCBjb25zdCBUZXh0RnJhZ21lbnRJdGVyYXRvciYpOworICAg
ICAgICBUZXh0RnJhZ21lbnQgc3BsaXRXaXRoSHlwaGVuKHVuc2lnbmVkIGh5cGhlblBvc2l0aW9u
LCBjb25zdCBUZXh0RnJhZ21lbnRJdGVyYXRvciYpOwogICAgICAgICBib29sIG9wZXJhdG9yPT0o
Y29uc3QgVGV4dEZyYWdtZW50JiBvdGhlcikgY29uc3QKICAgICAgICAgewogICAgICAgICAgICAg
cmV0dXJuIG1fc3RhcnQgPT0gb3RoZXIubV9zdGFydApAQCAtNzYsNyArNzksOCBAQCBwdWJsaWM6
CiAgICAgICAgICAgICAgICAgJiYgbV9pc0xhc3RJblJlbmRlcmVyID09IG90aGVyLm1faXNMYXN0
SW5SZW5kZXJlcgogICAgICAgICAgICAgICAgICYmIG1fb3ZlcmxhcHNUb05leHRSZW5kZXJlciA9
PSBvdGhlci5tX292ZXJsYXBzVG9OZXh0UmVuZGVyZXIKICAgICAgICAgICAgICAgICAmJiBtX2lz
Q29sbGFwc2VkID09IG90aGVyLm1faXNDb2xsYXBzZWQKLSAgICAgICAgICAgICAgICAmJiBtX2lz
Q29sbGFwc2libGUgPT0gb3RoZXIubV9pc0NvbGxhcHNpYmxlOworICAgICAgICAgICAgICAgICYm
IG1faXNDb2xsYXBzaWJsZSA9PSBvdGhlci5tX2lzQ29sbGFwc2libGUKKyAgICAgICAgICAgICAg
ICAmJiBtX2hhc0h5cGhlbiA9PSBvdGhlci5tX2hhc0h5cGhlbjsKICAgICAgICAgfQogCiAgICAg
cHJpdmF0ZToKQEAgLTg4LDEwICs5MiwxNCBAQCBwdWJsaWM6CiAgICAgICAgIGJvb2wgbV9vdmVy
bGFwc1RvTmV4dFJlbmRlcmVyIHsgZmFsc2UgfTsKICAgICAgICAgYm9vbCBtX2lzQ29sbGFwc2Vk
IHsgZmFsc2UgfTsKICAgICAgICAgYm9vbCBtX2lzQ29sbGFwc2libGUgeyBmYWxzZSB9OworICAg
ICAgICBib29sIG1faGFzSHlwaGVuIHsgZmFsc2UgfTsKICAgICB9OwogICAgIFRleHRGcmFnbWVu
dCBuZXh0VGV4dEZyYWdtZW50KGZsb2F0IHhQb3NpdGlvbiA9IDApOwogICAgIHZvaWQgcmV2ZXJ0
VG9FbmRPZkZyYWdtZW50KGNvbnN0IFRleHRGcmFnbWVudCYpOworCisgICAgLy8gRklYTUU6IFRo
ZXNlIGZ1bmN0aW9ucyBiZWxvdyBzaG91bGQgYmUgZGVjb3VwbGVkIGZyb20gdGhlIHRleHQgaXRl
cmF0b3IuCiAgICAgZmxvYXQgdGV4dFdpZHRoKHVuc2lnbmVkIHN0YXJ0UG9zaXRpb24sIHVuc2ln
bmVkIGVuZFBvc2l0aW9uLCBmbG9hdCB4UG9zaXRpb24pIGNvbnN0OworICAgIHN0ZDo6b3B0aW9u
YWw8dW5zaWduZWQ+IGxhc3RIeXBoZW5Qb3NpdGlvbihjb25zdCBUZXh0RnJhZ21lbnRJdGVyYXRv
cjo6VGV4dEZyYWdtZW50JiBydW4sIHVuc2lnbmVkIGJlZm9yZUluZGV4KSBjb25zdDsKIAogICAg
IHN0cnVjdCBTdHlsZSB7CiAgICAgICAgIGV4cGxpY2l0IFN0eWxlKGNvbnN0IFJlbmRlclN0eWxl
Jik7CkBAIC0xMDgsNiArMTE2LDggQEAgcHVibGljOgogICAgICAgICBmbG9hdCBzcGFjZVdpZHRo
OwogICAgICAgICBmbG9hdCB3b3JkU3BhY2luZzsKICAgICAgICAgdW5zaWduZWQgdGFiV2lkdGg7
CisgICAgICAgIGJvb2wgc2hvdWxkSHlwaGVuYXRlOworICAgICAgICBmbG9hdCBoeXBoZW5TdHJp
bmdXaWR0aDsKICAgICAgICAgQXRvbWljU3RyaW5nIGxvY2FsZTsKICAgICB9OwogICAgIGNvbnN0
IFN0eWxlJiBzdHlsZSgpIGNvbnN0IHsgcmV0dXJuIG1fc3R5bGU7IH0KQEAgLTE0MiwxMyArMTUy
LDIzIEBAIGlubGluZSBUZXh0RnJhZ21lbnRJdGVyYXRvcjo6VGV4dEZyYWdtZW50IFRleHRGcmFn
bWVudEl0ZXJhdG9yOjpUZXh0RnJhZ21lbnQ6OnNwCiAgICAgICAgIGZyYWdtZW50Lm1faXNDb2xs
YXBzZWQgPSBmYWxzZTsKICAgICB9OwogCi0gICAgVGV4dEZyYWdtZW50IG5ld0ZyYWdtZW50KCp0
aGlzKTsKKyAgICBUZXh0RnJhZ21lbnQgcmlnaHRTaWRlKCp0aGlzKTsKICAgICBtX2VuZCA9IHNw
bGl0UG9zaXRpb247CiAgICAgdXBkYXRlRnJhZ21lbnRQcm9wZXJ0aWVzKCp0aGlzKTsKIAotICAg
IG5ld0ZyYWdtZW50Lm1fc3RhcnQgPSBzcGxpdFBvc2l0aW9uOwotICAgIHVwZGF0ZUZyYWdtZW50
UHJvcGVydGllcyhuZXdGcmFnbWVudCk7Ci0gICAgcmV0dXJuIG5ld0ZyYWdtZW50OworICAgIHJp
Z2h0U2lkZS5tX3N0YXJ0ID0gc3BsaXRQb3NpdGlvbjsKKyAgICB1cGRhdGVGcmFnbWVudFByb3Bl
cnRpZXMocmlnaHRTaWRlKTsKKyAgICByZXR1cm4gcmlnaHRTaWRlOworfQorCitpbmxpbmUgVGV4
dEZyYWdtZW50SXRlcmF0b3I6OlRleHRGcmFnbWVudCBUZXh0RnJhZ21lbnRJdGVyYXRvcjo6VGV4
dEZyYWdtZW50OjpzcGxpdFdpdGhIeXBoZW4odW5zaWduZWQgaHlwaGVuUG9zaXRpb24sCisgICAg
Y29uc3QgVGV4dEZyYWdtZW50SXRlcmF0b3ImIHRleHRGcmFnbWVudEl0ZXJhdG9yKQoreworICAg
IEFTU0VSVCh0ZXh0RnJhZ21lbnRJdGVyYXRvci5zdHlsZSgpLnNob3VsZEh5cGhlbmF0ZSk7Cisg
ICAgYXV0byByaWdodFNpZGUgPSBzcGxpdChoeXBoZW5Qb3NpdGlvbiwgdGV4dEZyYWdtZW50SXRl
cmF0b3IpOworICAgIG1faGFzSHlwaGVuID0gdHJ1ZTsKKyAgICBtX3dpZHRoICs9IHRleHRGcmFn
bWVudEl0ZXJhdG9yLnN0eWxlKCkuaHlwaGVuU3RyaW5nV2lkdGg7CisgICAgcmV0dXJuIHJpZ2h0
U2lkZTsKIH0KIAogaW5saW5lIGJvb2wgVGV4dEZyYWdtZW50SXRlcmF0b3I6OmlzU29mdExpbmVC
cmVhayh1bnNpZ25lZCBwb3NpdGlvbikgY29uc3QK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>299570</attachid>
            <date>2017-01-23 20:46:42 -0800</date>
            <delta_ts>2017-01-24 09:06:52 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-167297-20170123204444.patch</filename>
            <type>text/plain</type>
            <size>27498</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjExMDE4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGNhYzgwMTFmMWU0MTEy
NTE4YjI5Y2IwYjZkNDAyNzk2YTRkYTUwZC4uYmMwZTFiNjNhMzI0ZmEwMmYwODJkNGE3MDAzNWY5
MDE5NDVmYjYwZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDUzIEBACisyMDE3LTAxLTIzICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgU2ltcGxlIGxpbmUgbGF5b3V0
OiBBZGQgc3VwcG9ydCBmb3IgaHlwaGVuOiBhdXRvLgorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY3Mjk3CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8z
MDExOTQ2Mz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBJbXBsZW1lbnQgaHlwaGVuOiBhdXRvIGZvciBzaW1wbGUgbGluZSBsYXlvdXQuIAorCisgICAg
ICAgIENvdmVyZWQgYnkgZXhpc3RpbmcgdGVzdHMuCisKKyAgICAgICAgKiBwbGF0Zm9ybS90ZXh0
L0h5cGhlbmF0aW9uLmg6CisgICAgICAgIChXZWJDb3JlOjplbm91Z2hXaWR0aEZvckh5cGhlbmF0
aW9uKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyVHJlZUFzVGV4dC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjp3cml0ZVNpbXBsZUxpbmUpOgorICAgICAgICAoV2ViQ29yZTo6d3JpdGUpOgor
ICAgICAgICAqIHJlbmRlcmluZy9TaW1wbGVMaW5lTGF5b3V0LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OlNpbXBsZUxpbmVMYXlvdXQ6OmNhblVzZUZvclN0eWxlKToKKyAgICAgICAgKFdlYkNvcmU6
OlNpbXBsZUxpbmVMYXlvdXQ6OkxpbmVTdGF0ZTo6YXBwZW5kRnJhZ21lbnRBbmRDcmVhdGVSdW5J
Zk5lZWRlZCk6CisgICAgICAgIChXZWJDb3JlOjpTaW1wbGVMaW5lTGF5b3V0OjpzcGxpdEZyYWdt
ZW50VG9GaXRMaW5lKToKKyAgICAgICAgKFdlYkNvcmU6OlNpbXBsZUxpbmVMYXlvdXQ6OmNyZWF0
ZUxpbmVSdW5zKToKKyAgICAgICAgKFdlYkNvcmU6OlNpbXBsZUxpbmVMYXlvdXQ6OnByaW50UmVh
c29uKToKKyAgICAgICAgKiByZW5kZXJpbmcvU2ltcGxlTGluZUxheW91dC5oOgorICAgICAgICAo
V2ViQ29yZTo6U2ltcGxlTGluZUxheW91dDo6UnVuOjpSdW4pOgorICAgICAgICAqIHJlbmRlcmlu
Zy9TaW1wbGVMaW5lTGF5b3V0Rmxvd0NvbnRlbnRzLmg6CisgICAgICAgIChXZWJDb3JlOjpTaW1w
bGVMaW5lTGF5b3V0OjpGbG93Q29udGVudHM6OlNlZ21lbnQ6OnRvU2VnbWVudFBvc2l0aW9uKToK
KyAgICAgICAgKFdlYkNvcmU6OlNpbXBsZUxpbmVMYXlvdXQ6OkZsb3dDb250ZW50czo6U2VnbWVu
dDo6dG9SZW5kZXJQb3NpdGlvbik6CisgICAgICAgICogcmVuZGVyaW5nL1NpbXBsZUxpbmVMYXlv
dXRSZXNvbHZlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTaW1wbGVMaW5lTGF5b3V0OjpSdW5S
ZXNvbHZlcjo6UnVuOjpSdW4pOgorICAgICAgICAoV2ViQ29yZTo6U2ltcGxlTGluZUxheW91dDo6
UnVuUmVzb2x2ZXI6OlJ1bjo6Y29uc3RydWN0U3RyaW5nRm9ySHlwaGVuSWZOZWVkZWQpOgorICAg
ICAgICAoV2ViQ29yZTo6U2ltcGxlTGluZUxheW91dDo6UnVuUmVzb2x2ZXI6OlJ1bjo6dGV4dCk6
CisgICAgICAgICogcmVuZGVyaW5nL1NpbXBsZUxpbmVMYXlvdXRSZXNvbHZlci5oOgorICAgICAg
ICAoV2ViQ29yZTo6U2ltcGxlTGluZUxheW91dDo6UnVuUmVzb2x2ZXI6OlJ1bjo6aGFzSHlwaGVu
KToKKyAgICAgICAgKiByZW5kZXJpbmcvU2ltcGxlTGluZUxheW91dFRleHRGcmFnbWVudEl0ZXJh
dG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNpbXBsZUxpbmVMYXlvdXQ6OlRleHRGcmFnbWVu
dEl0ZXJhdG9yOjpTdHlsZTo6U3R5bGUpOgorICAgICAgICAoV2ViQ29yZTo6U2ltcGxlTGluZUxh
eW91dDo6VGV4dEZyYWdtZW50SXRlcmF0b3I6Om5leHRCcmVha2FibGVQb3NpdGlvbik6CisgICAg
ICAgIChXZWJDb3JlOjpTaW1wbGVMaW5lTGF5b3V0OjpUZXh0RnJhZ21lbnRJdGVyYXRvcjo6bmV4
dE5vbldoaXRlc3BhY2VQb3NpdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpTaW1wbGVMaW5lTGF5
b3V0OjpUZXh0RnJhZ21lbnRJdGVyYXRvcjo6dGV4dFdpZHRoKToKKyAgICAgICAgKFdlYkNvcmU6
OlNpbXBsZUxpbmVMYXlvdXQ6OlRleHRGcmFnbWVudEl0ZXJhdG9yOjpsYXN0SHlwaGVuUG9zaXRp
b24pOgorICAgICAgICAoV2ViQ29yZTo6U2ltcGxlTGluZUxheW91dDo6VGV4dEZyYWdtZW50SXRl
cmF0b3I6OnJ1bldpZHRoKToKKyAgICAgICAgKiByZW5kZXJpbmcvU2ltcGxlTGluZUxheW91dFRl
eHRGcmFnbWVudEl0ZXJhdG9yLmg6CisgICAgICAgIChXZWJDb3JlOjpTaW1wbGVMaW5lTGF5b3V0
OjpUZXh0RnJhZ21lbnRJdGVyYXRvcjo6VGV4dEZyYWdtZW50OjpUZXh0RnJhZ21lbnQpOgorICAg
ICAgICAoV2ViQ29yZTo6U2ltcGxlTGluZUxheW91dDo6VGV4dEZyYWdtZW50SXRlcmF0b3I6OlRl
eHRGcmFnbWVudDo6aGFzSHlwaGVuKToKKyAgICAgICAgKFdlYkNvcmU6OlNpbXBsZUxpbmVMYXlv
dXQ6OlRleHRGcmFnbWVudEl0ZXJhdG9yOjpUZXh0RnJhZ21lbnQ6Om9wZXJhdG9yPT0pOgorICAg
ICAgICAoV2ViQ29yZTo6U2ltcGxlTGluZUxheW91dDo6VGV4dEZyYWdtZW50SXRlcmF0b3I6OlRl
eHRGcmFnbWVudDo6c3BsaXQpOgorICAgICAgICAoV2ViQ29yZTo6U2ltcGxlTGluZUxheW91dDo6
VGV4dEZyYWdtZW50SXRlcmF0b3I6OlRleHRGcmFnbWVudDo6c3BsaXRXaXRoSHlwaGVuKToKKyAg
ICAgICAgKiByZW5kZXJpbmcvbGluZS9CcmVha2luZ0NvbnRleHQuaDoKKyAgICAgICAgKFdlYkNv
cmU6OnRyeUh5cGhlbmF0aW5nKToKKwogMjAxNy0wMS0yMSAgQ2FybG9zIEdhcmNpYSBDYW1wb3Mg
IDxjZ2FyY2lhQGlnYWxpYS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9sbGluZyBvdXQg
cjIxMTAxMi4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvSHlwaGVu
YXRpb24uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvSHlwaGVuYXRpb24uaAppbmRl
eCAzOGYyYWYxMzZhZTE1YTA4ZTJmOTFjYzFjYWQ1N2FiNDQ4YjUwNjQ2Li4yN2Y0MzA1OTE0YWQ0
NTJiZDlkN2Y3OTA3NzllOTU5NWFhYjU2NDJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS90ZXh0L0h5cGhlbmF0aW9uLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
dGV4dC9IeXBoZW5hdGlvbi5oCkBAIC0zMSw2ICszMSwxMyBAQAogCiBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKK2lubGluZSBzdGF0aWMgYm9vbCBlbm91Z2hXaWR0aEZvckh5cGhlbmF0aW9uKGZsb2F0
IGF2YWlsYWJsZVdpZHRoLCBmbG9hdCBmb250UGl4ZWxTaXplKQoreworICAgIC8vIElmIHRoZSBt
YXhpbXVtIHdpZHRoIGF2YWlsYWJsZSBmb3IgdGhlIHByZWZpeCBiZWZvcmUgdGhlIGh5cGhlbiBp
cyBzbWFsbCwgdGhlbiBpdCBpcyB2ZXJ5IHVubGlrZWx5CisgICAgLy8gdGhhdCBhbiBoeXBoZW5h
dGlvbiBvcHBvcnR1bml0eSBleGlzdHMsIHNvIGRvIG5vdCBib3RoZXIgdG8gbG9vayBmb3IgaXQu
CisgICAgcmV0dXJuIGF2YWlsYWJsZVdpZHRoID4gZm9udFBpeGVsU2l6ZSAqIDUgLyA0OworCit9
CiBib29sIGNhbkh5cGhlbmF0ZShjb25zdCBBdG9taWNTdHJpbmcmIGxvY2FsZUlkZW50aWZpZXIp
Owogc2l6ZV90IGxhc3RIeXBoZW5Mb2NhdGlvbihTdHJpbmdWaWV3LCBzaXplX3QgYmVmb3JlSW5k
ZXgsIGNvbnN0IEF0b21pY1N0cmluZyYgbG9jYWxlSWRlbnRpZmllcik7CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUcmVlQXNUZXh0LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUcmVlQXNUZXh0LmNwcAppbmRleCAwYjYyMWMxYzczMjU5
NDk5NDgxN2RlMzI1NmRiYWM3ZTA5YzE5NjBmLi4zNGI5ZGU0NTllYjI1NWUyYjNjNzk2M2UyMjg4
ZDdkZjJkY2EwNzlmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
VHJlZUFzVGV4dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRyZWVB
c1RleHQuY3BwCkBAIC00OTMsMTggKzQ5MywyMyBAQCBzdGF0aWMgdm9pZCB3cml0ZVRleHRSdW4o
VGV4dFN0cmVhbSYgdHMsIGNvbnN0IFJlbmRlclRleHQmIG8sIGNvbnN0IElubGluZVRleHRCbwog
ICAgIHRzIDw8ICJcbiI7CiB9CiAKLXN0YXRpYyB2b2lkIHdyaXRlU2ltcGxlTGluZShUZXh0U3Ry
ZWFtJiB0cywgY29uc3QgUmVuZGVyVGV4dCYgbywgY29uc3QgRmxvYXRSZWN0JiByZWN0LCBTdHJp
bmdWaWV3IHRleHQpCitzdGF0aWMgdm9pZCB3cml0ZVNpbXBsZUxpbmUoVGV4dFN0cmVhbSYgdHMs
IGNvbnN0IFJlbmRlclRleHQmIHJlbmRlclRleHQsIGNvbnN0IFNpbXBsZUxpbmVMYXlvdXQ6OlJ1
blJlc29sdmVyOjpSdW4mIHJ1bikKIHsKKyAgICBhdXRvIHJlY3QgPSBydW4ucmVjdCgpOwogICAg
IGludCB4ID0gcmVjdC54KCk7CiAgICAgaW50IHkgPSByZWN0LnkoKTsKICAgICBpbnQgbG9naWNh
bFdpZHRoID0gY2VpbGYocmVjdC54KCkgKyByZWN0LndpZHRoKCkpIC0geDsKIAotICAgIGlmIChp
czxSZW5kZXJUYWJsZUNlbGw+KCpvLmNvbnRhaW5pbmdCbG9jaygpKSkKLSAgICAgICAgeSAtPSBm
bG9vclRvSW50KGRvd25jYXN0PFJlbmRlclRhYmxlQ2VsbD4oKm8uY29udGFpbmluZ0Jsb2NrKCkp
LmludHJpbnNpY1BhZGRpbmdCZWZvcmUoKSk7Ci0gICAgICAgIAorICAgIGlmIChpczxSZW5kZXJU
YWJsZUNlbGw+KCpyZW5kZXJUZXh0LmNvbnRhaW5pbmdCbG9jaygpKSkKKyAgICAgICAgeSAtPSBm
bG9vclRvSW50KGRvd25jYXN0PFJlbmRlclRhYmxlQ2VsbD4oKnJlbmRlclRleHQuY29udGFpbmlu
Z0Jsb2NrKCkpLmludHJpbnNpY1BhZGRpbmdCZWZvcmUoKSk7CisKICAgICB0cyA8PCAidGV4dCBy
dW4gYXQgKCIgPDwgeCA8PCAiLCIgPDwgeSA8PCAiKSB3aWR0aCAiIDw8IGxvZ2ljYWxXaWR0aDsK
LSAgICB0cyA8PCAiOiAiCi0gICAgICAgIDw8IHF1b3RlQW5kRXNjYXBlTm9uUHJpbnRhYmxlcyh0
ZXh0KTsKKyAgICBpZiAocnVuLmhhc0h5cGhlbigpKSB7CisgICAgICAgIHRzIDw8ICI6ICIgPDwg
cXVvdGVBbmRFc2NhcGVOb25QcmludGFibGVzKHJ1bi50ZXh0KCkuc3Vic3RyaW5nKDAsIHJ1bi50
ZXh0KCkubGVuZ3RoKCkgLSAxKSk7CisgICAgICAgIHRzIDw8ICIgKyBoeXBoZW4gc3RyaW5nICIg
PDwgcXVvdGVBbmRFc2NhcGVOb25QcmludGFibGVzKHJlbmRlclRleHQuc3R5bGUoKS5oeXBoZW5T
dHJpbmcoKS5zdHJpbmcoKSk7CisgICAgfSBlbHNlCisgICAgICAgIHRzIDw8ICI6ICIgPDwgcXVv
dGVBbmRFc2NhcGVOb25QcmludGFibGVzKHJ1bi50ZXh0KCkpOworCiAgICAgdHMgPDwgIlxuIjsK
IH0KIApAQCAtNTU1LDcgKzU2MCw3IEBAIHZvaWQgd3JpdGUoVGV4dFN0cmVhbSYgdHMsIGNvbnN0
IFJlbmRlck9iamVjdCYgbywgaW50IGluZGVudCwgUmVuZGVyQXNUZXh0QmVoYXZpCiAgICAgICAg
ICAgICBhdXRvIHJlc29sdmVyID0gcnVuUmVzb2x2ZXIoZG93bmNhc3Q8UmVuZGVyQmxvY2tGbG93
PigqdGV4dC5wYXJlbnQoKSksICpsYXlvdXQpOwogICAgICAgICAgICAgZm9yIChjb25zdCBhdXRv
JiBydW4gOiByZXNvbHZlci5yYW5nZUZvclJlbmRlcmVyKHRleHQpKSB7CiAgICAgICAgICAgICAg
ICAgd3JpdGVJbmRlbnQodHMsIGluZGVudCArIDEpOwotICAgICAgICAgICAgICAgIHdyaXRlU2lt
cGxlTGluZSh0cywgdGV4dCwgcnVuLnJlY3QoKSwgcnVuLnRleHQoKSk7CisgICAgICAgICAgICAg
ICAgd3JpdGVTaW1wbGVMaW5lKHRzLCB0ZXh0LCBydW4pOwogICAgICAgICAgICAgfQogICAgICAg
ICB9IGVsc2UgewogICAgICAgICAgICAgZm9yIChhdXRvKiBib3ggPSB0ZXh0LmZpcnN0VGV4dEJv
eCgpOyBib3g7IGJveCA9IGJveC0+bmV4dFRleHRCb3goKSkgewpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1NpbXBsZUxpbmVMYXlvdXQuY3BwIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1NpbXBsZUxpbmVMYXlvdXQuY3BwCmluZGV4IGU4ODI1OGRkOTJlNTViODgzNWEz
MmQ3ZGNiZTFkYWY0MmJkOGY1OWIuLjc0OWNiOThmNzAxZjhjNWQzMDdiNzNkMDQ0NjVmZDliY2Qw
NzI2ZDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9TaW1wbGVMaW5lTGF5
b3V0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvU2ltcGxlTGluZUxheW91dC5j
cHAKQEAgLTMzLDYgKzMzLDcgQEAKICNpbmNsdWRlICJIaXRUZXN0TG9jYXRpb24uaCIKICNpbmNs
dWRlICJIaXRUZXN0UmVxdWVzdC5oIgogI2luY2x1ZGUgIkhpdFRlc3RSZXN1bHQuaCIKKyNpbmNs
dWRlICJIeXBoZW5hdGlvbi5oIgogI2luY2x1ZGUgIklubGluZVRleHRCb3guaCIKICNpbmNsdWRl
ICJMaW5lV2lkdGguaCIKICNpbmNsdWRlICJMb2dnaW5nLmgiCkBAIC04NSw3ICs4Niw3IEBAIGVu
dW0gQXZvaWRhbmNlUmVhc29uXyA6IHVpbnQ2NF90IHsKICAgICBGbG93SGFzUlRMT3JkZXJpbmcg
ICAgICAgICAgICAgICAgICAgID0gMUxMVSAgPDwgMjAsCiAgICAgRmxvd0hhc0xpbmVBbGlnbkVk
Z2VzICAgICAgICAgICAgICAgICA9IDFMTFUgIDw8IDIxLAogICAgIEZsb3dIYXNMaW5lU25hcCAg
ICAgICAgICAgICAgICAgICAgICAgPSAxTExVICA8PCAyMiwKLSAgICBGbG93SGFzSHlwZW5zQXV0
byAgICAgICAgICAgICAgICAgICAgID0gMUxMVSAgPDwgMjMsCisgICAgRmxvd0hhc0h5cGVuc0xp
bWl0ICAgICAgICAgICAgICAgICAgICA9IDFMTFUgIDw8IDIzLAogICAgIEZsb3dIYXNUZXh0RW1w
aGFzaXNGaWxsT3JNYXJrICAgICAgICAgPSAxTExVICA8PCAyNCwKICAgICBGbG93SGFzVGV4dFNo
YWRvdyAgICAgICAgICAgICAgICAgICAgID0gMUxMVSAgPDwgMjUsCiAgICAgRmxvd0hhc1BzZXVk
b0ZpcnN0TGluZSAgICAgICAgICAgICAgICA9IDFMTFUgIDw8IDI2LApAQCAtMjM2LDggKzIzNywx
MCBAQCBzdGF0aWMgQXZvaWRhbmNlUmVhc29uRmxhZ3MgY2FuVXNlRm9yU3R5bGUoY29uc3QgUmVu
ZGVyU3R5bGUmIHN0eWxlLCBJbmNsdWRlUmVhcwogICAgICAgICBTRVRfUkVBU09OX0FORF9SRVRV
Uk5fSUZfTkVFREVEKEZsb3dIYXNMaW5lQWxpZ25FZGdlcywgcmVhc29ucywgaW5jbHVkZVJlYXNv
bnMpOwogICAgIGlmIChzdHlsZS5saW5lU25hcCgpICE9IExpbmVTbmFwTm9uZSkKICAgICAgICAg
U0VUX1JFQVNPTl9BTkRfUkVUVVJOX0lGX05FRURFRChGbG93SGFzTGluZVNuYXAsIHJlYXNvbnMs
IGluY2x1ZGVSZWFzb25zKTsKLSAgICBpZiAoc3R5bGUuaHlwaGVucygpID09IEh5cGhlbnNBdXRv
KQotICAgICAgICBTRVRfUkVBU09OX0FORF9SRVRVUk5fSUZfTkVFREVEKEZsb3dIYXNIeXBlbnNB
dXRvLCByZWFzb25zLCBpbmNsdWRlUmVhc29ucyk7CisgICAgaWYgKHN0eWxlLmh5cGhlbmF0aW9u
TGltaXRCZWZvcmUoKSAhPSBSZW5kZXJTdHlsZTo6aW5pdGlhbEh5cGhlbmF0aW9uTGltaXRCZWZv
cmUoKQorICAgICAgICB8fCBzdHlsZS5oeXBoZW5hdGlvbkxpbWl0QWZ0ZXIoKSAhPSBSZW5kZXJT
dHlsZTo6aW5pdGlhbEh5cGhlbmF0aW9uTGltaXRBZnRlcigpCisgICAgICAgIHx8IHN0eWxlLmh5
cGhlbmF0aW9uTGltaXRMaW5lcygpICE9IFJlbmRlclN0eWxlOjppbml0aWFsSHlwaGVuYXRpb25M
aW1pdExpbmVzKCkpCisgICAgICAgIFNFVF9SRUFTT05fQU5EX1JFVFVSTl9JRl9ORUVERUQoRmxv
d0hhc0h5cGVuc0xpbWl0LCByZWFzb25zLCBpbmNsdWRlUmVhc29ucyk7CiAgICAgaWYgKHN0eWxl
LnRleHRFbXBoYXNpc0ZpbGwoKSAhPSBUZXh0RW1waGFzaXNGaWxsRmlsbGVkIHx8IHN0eWxlLnRl
eHRFbXBoYXNpc01hcmsoKSAhPSBUZXh0RW1waGFzaXNNYXJrTm9uZSkKICAgICAgICAgU0VUX1JF
QVNPTl9BTkRfUkVUVVJOX0lGX05FRURFRChGbG93SGFzVGV4dEVtcGhhc2lzRmlsbE9yTWFyaywg
cmVhc29ucywgaW5jbHVkZVJlYXNvbnMpOwogICAgIGlmIChzdHlsZS50ZXh0U2hhZG93KCkpCkBA
IC00NTMsNyArNDU2LDcgQEAgcHVibGljOgogICAgICAgICB1bnNpZ25lZCBlbmRQb3NpdGlvbiA9
IGZyYWdtZW50LmlzQ29sbGFwc2VkKCkgPyBmcmFnbWVudC5zdGFydCgpICsgMSA6IGZyYWdtZW50
LmVuZCgpOwogICAgICAgICAvLyBOZXcgbGluZSBuZWVkcyBuZXcgcnVuLgogICAgICAgICBpZiAo
IW1fcnVuc1dpZHRoKQotICAgICAgICAgICAgcnVucy5hcHBlbmQoUnVuKGZyYWdtZW50LnN0YXJ0
KCksIGVuZFBvc2l0aW9uLCBtX3J1bnNXaWR0aCwgbV9ydW5zV2lkdGggKyBmcmFnbWVudC53aWR0
aCgpLCBmYWxzZSkpOworICAgICAgICAgICAgcnVucy5hcHBlbmQoUnVuKGZyYWdtZW50LnN0YXJ0
KCksIGVuZFBvc2l0aW9uLCBtX3J1bnNXaWR0aCwgbV9ydW5zV2lkdGggKyBmcmFnbWVudC53aWR0
aCgpLCBmYWxzZSwgZnJhZ21lbnQuaGFzSHlwaGVuKCkpKTsKICAgICAgICAgZWxzZSB7CiAgICAg
ICAgICAgICBjb25zdCBhdXRvJiBsYXN0RnJhZ21lbnQgPSBtX2ZyYWdtZW50cy5sYXN0KCk7CiAg
ICAgICAgICAgICAvLyBBZHZhbmNlIGxhc3QgY29tcGxldGVkIGZyYWdtZW50IHdoZW4gdGhlIHBy
ZXZpb3VzIGZyYWdtZW50IGlzIGFsbCBzZXQgKGluY2x1ZGluZyBtdWx0aXBsZSBwYXJ0cyBhY3Jv
c3MgcmVuZGVyZXJzKQpAQCAtNDcwLDExICs0NzMsMTMgQEAgcHVibGljOgogICAgICAgICAgICAg
ICAgIHJldHVybjsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGlmIChsYXN0RnJhZ21lbnQu
aXNMYXN0SW5SZW5kZXJlcigpIHx8IGxhc3RGcmFnbWVudC5pc0NvbGxhcHNlZCgpKQotICAgICAg
ICAgICAgICAgIHJ1bnMuYXBwZW5kKFJ1bihmcmFnbWVudC5zdGFydCgpLCBlbmRQb3NpdGlvbiwg
bV9ydW5zV2lkdGgsIG1fcnVuc1dpZHRoICsgZnJhZ21lbnQud2lkdGgoKSwgZmFsc2UpKTsKKyAg
ICAgICAgICAgICAgICBydW5zLmFwcGVuZChSdW4oZnJhZ21lbnQuc3RhcnQoKSwgZW5kUG9zaXRp
b24sIG1fcnVuc1dpZHRoLCBtX3J1bnNXaWR0aCArIGZyYWdtZW50LndpZHRoKCksIGZhbHNlLCBm
cmFnbWVudC5oYXNIeXBoZW4oKSkpOwogICAgICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICAg
ICAgUnVuJiBsYXN0UnVuID0gcnVucy5sYXN0KCk7CiAgICAgICAgICAgICAgICAgbGFzdFJ1bi5l
bmQgPSBlbmRQb3NpdGlvbjsKICAgICAgICAgICAgICAgICBsYXN0UnVuLmxvZ2ljYWxSaWdodCAr
PSBmcmFnbWVudC53aWR0aCgpOworICAgICAgICAgICAgICAgIEFTU0VSVCghbGFzdFJ1bi5oYXNI
eXBoZW4pOworICAgICAgICAgICAgICAgIGxhc3RSdW4uaGFzSHlwaGVuID0gZnJhZ21lbnQuaGFz
SHlwaGVuKCk7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICAgICAgbV9mcmFnbWVudHMu
YXBwZW5kKGZyYWdtZW50KTsKQEAgLTYyMyw4ICs2MjgsMjYgQEAgc3RhdGljIFRleHRGcmFnbWVu
dEl0ZXJhdG9yOjpUZXh0RnJhZ21lbnQgc3BsaXRGcmFnbWVudFRvRml0TGluZShUZXh0RnJhZ21l
bnRJdGUKICAgICAgICAgcmV0dXJuIGF2YWlsYWJsZVdpZHRoIDwgdGV4dEZyYWdtZW50SXRlcmF0
b3IudGV4dFdpZHRoKHN0YXJ0LCBpbmRleCArIDEsIDApOwogICAgIH0pOwogICAgIHVuc2lnbmVk
IHNwbGl0UG9zaXRpb24gPSAoKml0KTsKLSAgICBpZiAoa2VlcEF0TGVhc3RPbmVDaGFyYWN0ZXIg
JiYgc3BsaXRQb3NpdGlvbiA9PSBmcmFnbWVudFRvU3BsaXQuc3RhcnQoKSkKLSAgICAgICAgKytz
cGxpdFBvc2l0aW9uOworICAgIGF1dG8mIHN0eWxlID0gdGV4dEZyYWdtZW50SXRlcmF0b3Iuc3R5
bGUoKTsKKyAgICAvLyBEb2VzIGZpcnN0IGNoYXJhY3RlciBmaXQgdGhpcyBsaW5lPworICAgIGlm
IChzcGxpdFBvc2l0aW9uID09IGZyYWdtZW50VG9TcGxpdC5zdGFydCgpKSB7CisgICAgICAgIGlm
IChrZWVwQXRMZWFzdE9uZUNoYXJhY3RlcikKKyAgICAgICAgICAgICsrc3BsaXRQb3NpdGlvbjsK
KyAgICB9IGVsc2UgaWYgKHN0eWxlLnNob3VsZEh5cGhlbmF0ZSAmJiBlbm91Z2hXaWR0aEZvckh5
cGhlbmF0aW9uKGF2YWlsYWJsZVdpZHRoLCBzdHlsZS5mb250LnBpeGVsU2l6ZSgpKSkgeworICAg
ICAgICAvLyBXZSBtaWdodCBiZSBhYmxlIHRvIGZpdCB0aGUgaHlwaGVuIGF0IHRoZSBzcGxpdCBw
b3NpdGlvbi4KKyAgICAgICAgYXV0byBzcGxpdFBvc2l0aW9uV2l0aEh5cGhlbiA9IHNwbGl0UG9z
aXRpb247CisgICAgICAgIC8vIEZpbmQgYSBzcGxpdHRpbmcgcG9zaXRpb24gd2hlcmUgaHlwaGVu
IHN1cmVseSBmaXRzLgorICAgICAgICBhdXRvIGxlZnRTaWRlV2lkdGggPSB0ZXh0RnJhZ21lbnRJ
dGVyYXRvci50ZXh0V2lkdGgoc3RhcnQsIHNwbGl0UG9zaXRpb24sIDApOworICAgICAgICB3aGls
ZSAobGVmdFNpZGVXaWR0aCArIHN0eWxlLmh5cGhlblN0cmluZ1dpZHRoID4gYXZhaWxhYmxlV2lk
dGgpIHsKKyAgICAgICAgICAgIGlmICgtLXNwbGl0UG9zaXRpb25XaXRoSHlwaGVuIDw9IHN0YXJ0
KQorICAgICAgICAgICAgICAgIGJyZWFrOyAvLyBObyBzcGFjZSBmb3IgaHlwaGVuLgorICAgICAg
ICAgICAgbGVmdFNpZGVXaWR0aCAtPSB0ZXh0RnJhZ21lbnRJdGVyYXRvci50ZXh0V2lkdGgoc3Bs
aXRQb3NpdGlvbldpdGhIeXBoZW4sIHNwbGl0UG9zaXRpb25XaXRoSHlwaGVuICsgMSwgMCk7Cisg
ICAgICAgIH0KKyAgICAgICAgaWYgKHNwbGl0UG9zaXRpb25XaXRoSHlwaGVuID4gc3RhcnQpIHsK
KyAgICAgICAgICAgIGlmIChhdXRvIGh5cGhlblBvc2l0aW9uID0gdGV4dEZyYWdtZW50SXRlcmF0
b3IubGFzdEh5cGhlblBvc2l0aW9uKGZyYWdtZW50VG9TcGxpdCwgc3BsaXRQb3NpdGlvbldpdGhI
eXBoZW4gKyAxKSkKKyAgICAgICAgICAgICAgICByZXR1cm4gZnJhZ21lbnRUb1NwbGl0LnNwbGl0
V2l0aEh5cGhlbigqaHlwaGVuUG9zaXRpb24sIHRleHRGcmFnbWVudEl0ZXJhdG9yKTsKKyAgICAg
ICAgfQorICAgIH0KICAgICByZXR1cm4gZnJhZ21lbnRUb1NwbGl0LnNwbGl0KHNwbGl0UG9zaXRp
b24sIHRleHRGcmFnbWVudEl0ZXJhdG9yKTsKIH0KIApAQCAtNzM2LDggKzc1OSwyMCBAQCBzdGF0
aWMgYm9vbCBjcmVhdGVMaW5lUnVucyhMaW5lU3RhdGUmIGxpbmUsIGNvbnN0IExpbmVTdGF0ZSYg
cHJldmlvdXNMaW5lLCBMYXlvdQogICAgICAgICAgICAgICAgIGxpbmUuYXBwZW5kRnJhZ21lbnRB
bmRDcmVhdGVSdW5JZk5lZWRlZChmcmFnbWVudCwgcnVucyk7CiAgICAgICAgICAgICAgICAgYnJl
YWs7CiAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAvLyBOb24tYnJlYWthYmxlIG5vbi13aGl0
ZXNwYWNlIGZpcnN0IGZyYWdtZW50LiBBZGQgaXQgdG8gdGhlIGN1cnJlbnQgbGluZS4gLWl0IG92
ZXJmbG93cyB0aG91Z2guCiAgICAgICAgICAgICBBU1NFUlQoZnJhZ21lbnQudHlwZSgpID09IFRl
eHRGcmFnbWVudEl0ZXJhdG9yOjpUZXh0RnJhZ21lbnQ6Ok5vbldoaXRlc3BhY2UpOworICAgICAg
ICAgICAgLy8gRmluZCBvdXQgaWYgdGhpcyBub24td2hpdGVzcGFjZSBmcmFnbWVudCBoYXMgYSBo
eXBoZW4gd2hlcmUgd2UgY2FuIGJyZWFrLgorICAgICAgICAgICAgaWYgKHN0eWxlLnNob3VsZEh5
cGhlbmF0ZSkgeworICAgICAgICAgICAgICAgIGF1dG8gZnJhZ21lbnRUb1NwbGl0ID0gZnJhZ21l
bnQ7CisgICAgICAgICAgICAgICAgLy8gU3BsaXQgYW5kIGNoZWNrIGlmIHdlIGFjdHVhbGx5IGVu
ZGVkIHVwIHdpdGggYSBoeXBoZW4uCisgICAgICAgICAgICAgICAgYXV0byBvdmVyZmxvd0ZyYWdt
ZW50ID0gc3BsaXRGcmFnbWVudFRvRml0TGluZShmcmFnbWVudFRvU3BsaXQsIGxpbmUuYXZhaWxh
YmxlV2lkdGgoKSAtIGxpbmUud2lkdGgoKSwgZW1wdHlMaW5lLCB0ZXh0RnJhZ21lbnRJdGVyYXRv
cik7CisgICAgICAgICAgICAgICAgaWYgKGZyYWdtZW50VG9TcGxpdC5oYXNIeXBoZW4oKSkgewor
ICAgICAgICAgICAgICAgICAgICBsaW5lLnNldE92ZXJmbG93ZWRGcmFnbWVudChvdmVyZmxvd0Zy
YWdtZW50KTsKKyAgICAgICAgICAgICAgICAgICAgbGluZS5hcHBlbmRGcmFnbWVudEFuZENyZWF0
ZVJ1bklmTmVlZGVkKGZyYWdtZW50VG9TcGxpdCwgcnVucyk7CisgICAgICAgICAgICAgICAgICAg
IGJyZWFrOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAvLyBObyBoeXBoZW4s
IG5vIHNwbGl0LgorICAgICAgICAgICAgfQorICAgICAgICAgICAgLy8gTm9uLWJyZWFrYWJsZSBu
b24td2hpdGVzcGFjZSBmaXJzdCBmcmFnbWVudC4gQWRkIGl0IHRvIHRoZSBjdXJyZW50IGxpbmUu
IC1pdCBvdmVyZmxvd3MgdGhvdWdoLgogICAgICAgICAgICAgaWYgKGVtcHR5TGluZSkgewogICAg
ICAgICAgICAgICAgIGZvcmNlRnJhZ21lbnRUb0xpbmUobGluZSwgdGV4dEZyYWdtZW50SXRlcmF0
b3IsIHJ1bnMsIGZyYWdtZW50KTsKICAgICAgICAgICAgICAgICBicmVhazsKQEAgLTk1Niw4ICs5
OTEsOCBAQCBzdGF0aWMgdm9pZCBwcmludFJlYXNvbihBdm9pZGFuY2VSZWFzb24gcmVhc29uLCBU
ZXh0U3RyZWFtJiBzdHJlYW0pCiAgICAgY2FzZSBGbG93SGFzTGluZVNuYXA6CiAgICAgICAgIHN0
cmVhbSA8PCAiLXdlYmtpdC1saW5lLXNuYXAgcHJvcGVydHkiOwogICAgICAgICBicmVhazsKLSAg
ICBjYXNlIEZsb3dIYXNIeXBlbnNBdXRvOgotICAgICAgICBzdHJlYW0gPDwgImh5cGhlbjogYXV0
byI7CisgICAgY2FzZSBGbG93SGFzSHlwZW5zTGltaXQ6CisgICAgICAgIHN0cmVhbSA8PCAiaHlw
aGVuLWxpbWl0LSogcHJvcGVydHkiOwogICAgICAgICBicmVhazsKICAgICBjYXNlIEZsb3dIYXNU
ZXh0RW1waGFzaXNGaWxsT3JNYXJrOgogICAgICAgICBzdHJlYW0gPDwgInRleHQtZW1waGFzaXMg
KGZpbGwvbWFyaykiOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1NpbXBs
ZUxpbmVMYXlvdXQuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9TaW1wbGVMaW5lTGF5b3V0
LmgKaW5kZXggZjY1NTQzODQ3Mzc4MjUyMTk2ZWY1MDY2N2E2NTAxMzBhYTIzNGVhNy4uYjI4OGUw
NDhiOTYxZDQ0YjUzMDU2YmEzMmU1ODI5MTdlNmNlZWE0NiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1NpbXBsZUxpbmVMYXlvdXQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvU2ltcGxlTGluZUxheW91dC5oCkBAIC00NiwxNyArNDYsMTkgQEAgc3RydWN0IFJ1
biB7CiAjaWYgQ09NUElMRVIoTVNWQykKICAgICBSdW4oKSB7IH0KICNlbmRpZgotICAgIFJ1bih1
bnNpZ25lZCBzdGFydCwgdW5zaWduZWQgZW5kLCBmbG9hdCBsb2dpY2FsTGVmdCwgZmxvYXQgbG9n
aWNhbFJpZ2h0LCBib29sIGlzRW5kT2ZMaW5lKQotICAgICAgICA6IHN0YXJ0KHN0YXJ0KQotICAg
ICAgICAsIGVuZChlbmQpCisgICAgUnVuKHVuc2lnbmVkIHN0YXJ0LCB1bnNpZ25lZCBlbmQsIGZs
b2F0IGxvZ2ljYWxMZWZ0LCBmbG9hdCBsb2dpY2FsUmlnaHQsIGJvb2wgaXNFbmRPZkxpbmUsIGJv
b2wgaGFzSHlwaGVuKQorICAgICAgICA6IGVuZChlbmQpCisgICAgICAgICwgc3RhcnQoc3RhcnQp
CiAgICAgICAgICwgaXNFbmRPZkxpbmUoaXNFbmRPZkxpbmUpCisgICAgICAgICwgaGFzSHlwaGVu
KGhhc0h5cGhlbikKICAgICAgICAgLCBsb2dpY2FsTGVmdChsb2dpY2FsTGVmdCkKICAgICAgICAg
LCBsb2dpY2FsUmlnaHQobG9naWNhbFJpZ2h0KQogICAgIHsgfQogCi0gICAgdW5zaWduZWQgc3Rh
cnQ7Ci0gICAgdW5zaWduZWQgZW5kIDogMzE7CisgICAgdW5zaWduZWQgZW5kOworICAgIHVuc2ln
bmVkIHN0YXJ0IDogMzA7CiAgICAgdW5zaWduZWQgaXNFbmRPZkxpbmUgOiAxOworICAgIHVuc2ln
bmVkIGhhc0h5cGhlbiA6IDE7CiAgICAgZmxvYXQgbG9naWNhbExlZnQ7CiAgICAgZmxvYXQgbG9n
aWNhbFJpZ2h0OwogICAgIC8vIFRPRE86IE1vdmUgdGhlc2Ugb3B0aW9uYWwgaXRlbXMgb3V0IG9m
IFNpbXBsZUxpbmVMYXlvdXQ6OlJ1biB0byBhIHN1cHBsZW1lbnRhcnkgc3RydWN0dXJlLgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1NpbXBsZUxpbmVMYXlvdXRGbG93Q29u
dGVudHMuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9TaW1wbGVMaW5lTGF5b3V0Rmxvd0Nv
bnRlbnRzLmgKaW5kZXggZTgwMTk4Y2NhYWIwMDI3Y2M1MjYwZWI5MWUyNjc4OGUyOWIyNTBhMy4u
YmIzMzFlYzVkYzkzOTk4OGZlNGQwYTJiNWZmMjI4ZDE5ZDQwYTc3MiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1NpbXBsZUxpbmVMYXlvdXRGbG93Q29udGVudHMuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvU2ltcGxlTGluZUxheW91dEZsb3dDb250ZW50cy5o
CkBAIC0zNyw2ICszNywxMiBAQCBwdWJsaWM6CiAgICAgRmxvd0NvbnRlbnRzKGNvbnN0IFJlbmRl
ckJsb2NrRmxvdyYpOwogCiAgICAgc3RydWN0IFNlZ21lbnQgeworICAgICAgICB1bnNpZ25lZCB0
b1NlZ21lbnRQb3NpdGlvbih1bnNpZ25lZCBwb3NpdGlvbikgY29uc3QKKyAgICAgICAgeworICAg
ICAgICAgICAgQVNTRVJUKHBvc2l0aW9uID49IHN0YXJ0KTsKKyAgICAgICAgICAgIHJldHVybiBw
b3NpdGlvbiAtIHN0YXJ0OworICAgICAgICB9CisgICAgICAgIHVuc2lnbmVkIHRvUmVuZGVyUG9z
aXRpb24odW5zaWduZWQgcG9zaXRpb24pIGNvbnN0IHsgcmV0dXJuIHN0YXJ0ICsgcG9zaXRpb247
IH0KICAgICAgICAgdW5zaWduZWQgc3RhcnQ7CiAgICAgICAgIHVuc2lnbmVkIGVuZDsKICAgICAg
ICAgU3RyaW5nIHRleHQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvU2lt
cGxlTGluZUxheW91dFJlc29sdmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9TaW1w
bGVMaW5lTGF5b3V0UmVzb2x2ZXIuY3BwCmluZGV4IGE0YjYxYWViMmFiNWIyNzVmNmM1ODIwMmY5
NGYyMzg1N2Y1YmRmYzEuLmVjYTVmMTNlMmYxNTFlNGIwYzA1YTQ3YjZhYWIyY2VlZmQ4YWY1ZTMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9TaW1wbGVMaW5lTGF5b3V0UmVz
b2x2ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9TaW1wbGVMaW5lTGF5b3V0
UmVzb2x2ZXIuY3BwCkBAIC00Nyw2ICs0NywxOSBAQCBzdGF0aWMgRmxvYXRTaXplIGxpbmVTaXpl
KGZsb2F0IGxvZ2ljYWxMZWZ0LCBmbG9hdCBsb2dpY2FsUmlnaHQsIGZsb2F0IGhlaWdodCkKIFJ1
blJlc29sdmVyOjpSdW46OlJ1bihjb25zdCBJdGVyYXRvciYgaXRlcmF0b3IpCiAgICAgOiBtX2l0
ZXJhdG9yKGl0ZXJhdG9yKQogeworICAgIGNvbnN0cnVjdFN0cmluZ0Zvckh5cGhlbklmTmVlZGVk
KCk7Cit9CisKK3ZvaWQgUnVuUmVzb2x2ZXI6OlJ1bjo6Y29uc3RydWN0U3RyaW5nRm9ySHlwaGVu
SWZOZWVkZWQoKQoreworICAgIGF1dG8mIHJ1biA9IG1faXRlcmF0b3Iuc2ltcGxlUnVuKCk7Cisg
ICAgaWYgKCFydW4uaGFzSHlwaGVuKQorICAgICAgICByZXR1cm47CisgICAgLy8gRW1wdHkgcnVu
cyBzaG91bGQgbm90IGhhdmUgaHlwaGVuLgorICAgIEFTU0VSVChydW4uc3RhcnQgPCBydW4uZW5k
KTsKKyAgICBhdXRvJiBzZWdtZW50ID0gbV9pdGVyYXRvci5yZXNvbHZlcigpLm1fZmxvd0NvbnRl
bnRzLnNlZ21lbnRGb3JSdW4ocnVuLnN0YXJ0LCBydW4uZW5kKTsKKyAgICBhdXRvIHRleHQgPSBT
dHJpbmdWaWV3KHNlZ21lbnQudGV4dCkuc3Vic3RyaW5nKHNlZ21lbnQudG9TZWdtZW50UG9zaXRp
b24ocnVuLnN0YXJ0KSwgcnVuLmVuZCAtIHJ1bi5zdGFydCk7CisgICAgbV90ZXh0V2l0aEh5cGhl
biA9IG1ha2VTdHJpbmcodGV4dCwgbV9pdGVyYXRvci5yZXNvbHZlcigpLmZsb3coKS5zdHlsZSgp
Lmh5cGhlblN0cmluZygpKTsKIH0KIAogRmxvYXRSZWN0IFJ1blJlc29sdmVyOjpSdW46OnJlY3Qo
KSBjb25zdApAQCAtNjksMTIgKzgyLDE0IEBAIEZsb2F0UmVjdCBSdW5SZXNvbHZlcjo6UnVuOjpy
ZWN0KCkgY29uc3QKIAogU3RyaW5nVmlldyBSdW5SZXNvbHZlcjo6UnVuOjp0ZXh0KCkgY29uc3QK
IHsKKyAgICBpZiAobV90ZXh0V2l0aEh5cGhlbikKKyAgICAgICAgcmV0dXJuIFN0cmluZ1ZpZXco
Km1fdGV4dFdpdGhIeXBoZW4pOwogICAgIGF1dG8mIHJ1biA9IG1faXRlcmF0b3Iuc2ltcGxlUnVu
KCk7CiAgICAgQVNTRVJUKHJ1bi5zdGFydCA8IHJ1bi5lbmQpOwogICAgIGF1dG8mIHNlZ21lbnQg
PSBtX2l0ZXJhdG9yLnJlc29sdmVyKCkubV9mbG93Q29udGVudHMuc2VnbWVudEZvclJ1bihydW4u
c3RhcnQsIHJ1bi5lbmQpOwogICAgIC8vIFdlIGN1cnJlbnRseSBzcGxpdCBydW5zIG9uIHNlZ21l
bnQgYm91bmRhcmllcyAoZGlmZmVyZW50IFJlbmRlck9iamVjdCkuCiAgICAgQVNTRVJUKHJ1bi5l
bmQgPD0gc2VnbWVudC5lbmQpOwotICAgIHJldHVybiBTdHJpbmdWaWV3KHNlZ21lbnQudGV4dCku
c3Vic3RyaW5nKHJ1bi5zdGFydCAtIHNlZ21lbnQuc3RhcnQsIHJ1bi5lbmQgLSBydW4uc3RhcnQp
OworICAgIHJldHVybiBTdHJpbmdWaWV3KHNlZ21lbnQudGV4dCkuc3Vic3RyaW5nKHNlZ21lbnQu
dG9TZWdtZW50UG9zaXRpb24ocnVuLnN0YXJ0KSwgcnVuLmVuZCAtIHJ1bi5zdGFydCk7CiB9CiAK
IFJ1blJlc29sdmVyOjpJdGVyYXRvcjo6SXRlcmF0b3IoY29uc3QgUnVuUmVzb2x2ZXImIHJlc29s
dmVyLCB1bnNpZ25lZCBydW5JbmRleCwgdW5zaWduZWQgbGluZUluZGV4KQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1NpbXBsZUxpbmVMYXlvdXRSZXNvbHZlci5oIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1NpbXBsZUxpbmVMYXlvdXRSZXNvbHZlci5oCmluZGV4IGRi
NmRkMWQ3MTU0NjgyYmRkMzNhZDRhZmU1YzYyZjIxYTEwODMxNTguLjg0Yzc2OGI1M2U2YjE1MGEy
ZmUyZTljMjEzN2U5YWRjZjk2Zjc3MzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9TaW1wbGVMaW5lTGF5b3V0UmVzb2x2ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvU2ltcGxlTGluZUxheW91dFJlc29sdmVyLmgKQEAgLTY1LDEzICs2NSwxNiBAQCBwdWJs
aWM6CiAgICAgICAgIGludCBiYXNlbGluZVBvc2l0aW9uKCkgY29uc3Q7CiAgICAgICAgIFN0cmlu
Z1ZpZXcgdGV4dCgpIGNvbnN0OwogICAgICAgICBib29sIGlzRW5kT2ZMaW5lKCkgY29uc3Q7Cisg
ICAgICAgIGJvb2wgaGFzSHlwaGVuKCkgY29uc3QgeyByZXR1cm4gbV9pdGVyYXRvci5zaW1wbGVS
dW4oKS5oYXNIeXBoZW47IH0KIAogICAgICAgICB1bnNpZ25lZCBsaW5lSW5kZXgoKSBjb25zdDsK
IAogICAgIHByaXZhdGU6CiAgICAgICAgIGZsb2F0IGNvbXB1dGVCYXNlbGluZVBvc2l0aW9uKCkg
Y29uc3Q7CisgICAgICAgIHZvaWQgY29uc3RydWN0U3RyaW5nRm9ySHlwaGVuSWZOZWVkZWQoKTsK
IAogICAgICAgICBjb25zdCBJdGVyYXRvciYgbV9pdGVyYXRvcjsKKyAgICAgICAgc3RkOjpvcHRp
b25hbDxTdHJpbmc+IG1fdGV4dFdpdGhIeXBoZW47CiAgICAgfTsKIAogICAgIGNsYXNzIEl0ZXJh
dG9yIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9TaW1wbGVMaW5lTGF5
b3V0VGV4dEZyYWdtZW50SXRlcmF0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Np
bXBsZUxpbmVMYXlvdXRUZXh0RnJhZ21lbnRJdGVyYXRvci5jcHAKaW5kZXggZTlhYzZlZDFiNDFi
ZmY0Yzc0Yzk4ZGVmODRkN2E2OGE4NTY1OGI2Ni4uYTZkNWU3MjE1MDZiZDdhNmJhZDJhZmE2ZjQw
MGNiNDg0MDhkMmU3ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1NpbXBs
ZUxpbmVMYXlvdXRUZXh0RnJhZ21lbnRJdGVyYXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1NpbXBsZUxpbmVMYXlvdXRUZXh0RnJhZ21lbnRJdGVyYXRvci5jcHAKQEAgLTI2
LDYgKzI2LDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJTaW1wbGVMaW5lTGF5
b3V0VGV4dEZyYWdtZW50SXRlcmF0b3IuaCIKIAorI2luY2x1ZGUgIkh5cGhlbmF0aW9uLmgiCiAj
aW5jbHVkZSAiUmVuZGVyQmxvY2tGbG93LmgiCiAjaW5jbHVkZSAiUmVuZGVyQ2hpbGRJdGVyYXRv
ci5oIgogI2luY2x1ZGUgIlNpbXBsZUxpbmVMYXlvdXRGbG93Q29udGVudHMuaCIKQEAgLTQ2LDYg
KzQ3LDggQEAgVGV4dEZyYWdtZW50SXRlcmF0b3I6OlN0eWxlOjpTdHlsZShjb25zdCBSZW5kZXJT
dHlsZSYgc3R5bGUpCiAgICAgLCBzcGFjZVdpZHRoKGZvbnQud2lkdGgoVGV4dFJ1bihTdHJpbmdW
aWV3KCZzcGFjZSwgMSkpKSkKICAgICAsIHdvcmRTcGFjaW5nKGZvbnQud29yZFNwYWNpbmcoKSkK
ICAgICAsIHRhYldpZHRoKGNvbGxhcHNlV2hpdGVzcGFjZSA/IDAgOiBzdHlsZS50YWJTaXplKCkp
CisgICAgLCBzaG91bGRIeXBoZW5hdGUoc3R5bGUuaHlwaGVucygpID09IEh5cGhlbnNBdXRvICYm
IGNhbkh5cGhlbmF0ZShzdHlsZS5sb2NhbGUoKSkpCisgICAgLCBoeXBoZW5TdHJpbmdXaWR0aChz
aG91bGRIeXBoZW5hdGUgPyBmb250LndpZHRoKFRleHRSdW4oc3R5bGUuaHlwaGVuU3RyaW5nKCkp
KSA6IDApCiAgICAgLCBsb2NhbGUoc3R5bGUubG9jYWxlKCkpCiB7CiB9CkBAIC0xNDMsOCArMTQ2
LDcgQEAgdW5zaWduZWQgVGV4dEZyYWdtZW50SXRlcmF0b3I6Om5leHRCcmVha2FibGVQb3NpdGlv
bihjb25zdCBGbG93Q29udGVudHM6OlNlZ21lbnQKICAgICAgICAgbV9saW5lQnJlYWtJdGVyYXRv
ci5zZXRQcmlvckNvbnRleHQobGFzdENoYXJhY3Rlciwgc2Vjb25kVG9MYXN0Q2hhcmFjdGVyKTsK
ICAgICAgICAgbV9saW5lQnJlYWtJdGVyYXRvci5yZXNldFN0cmluZ0FuZFJlbGVhc2VJdGVyYXRv
cihzZWdtZW50LnRleHQsIG1fc3R5bGUubG9jYWxlLCBMaW5lQnJlYWtJdGVyYXRvck1vZGU6OkRl
ZmF1bHQpOwogICAgIH0KLSAgICB1bnNpZ25lZCBzZWdtZW50UG9zaXRpb24gPSBzdGFydFBvc2l0
aW9uIC0gc2VnbWVudC5zdGFydDsKLSAgICByZXR1cm4gc2VnbWVudC5zdGFydCArIG5leHRCcmVh
a2FibGVQb3NpdGlvbkluU2VnbWVudChtX2xpbmVCcmVha0l0ZXJhdG9yLCBzZWdtZW50UG9zaXRp
b24sIG1fc3R5bGUuYnJlYWtOQlNQLCBtX3N0eWxlLmtlZXBBbGxXb3Jkc0ZvckNKSyk7CisgICAg
cmV0dXJuIHNlZ21lbnQudG9SZW5kZXJQb3NpdGlvbihuZXh0QnJlYWthYmxlUG9zaXRpb25JblNl
Z21lbnQobV9saW5lQnJlYWtJdGVyYXRvciwgc2VnbWVudC50b1NlZ21lbnRQb3NpdGlvbihzdGFy
dFBvc2l0aW9uKSwgbV9zdHlsZS5icmVha05CU1AsIG1fc3R5bGUua2VlcEFsbFdvcmRzRm9yQ0pL
KSk7CiB9CiAKIHRlbXBsYXRlIDx0eXBlbmFtZSBDaGFyYWN0ZXJUeXBlPgpAQCAtMTU0LDcgKzE1
Niw3IEBAIHVuc2lnbmVkIFRleHRGcmFnbWVudEl0ZXJhdG9yOjpuZXh0Tm9uV2hpdGVzcGFjZVBv
c2l0aW9uKGNvbnN0IEZsb3dDb250ZW50czo6U2VnCiAgICAgY29uc3QgYXV0byogdGV4dCA9IHNl
Z21lbnQudGV4dC5jaGFyYWN0ZXJzPENoYXJhY3RlclR5cGU+KCk7CiAgICAgdW5zaWduZWQgcG9z
aXRpb24gPSBzdGFydFBvc2l0aW9uOwogICAgIGZvciAoOyBwb3NpdGlvbiA8IHNlZ21lbnQuZW5k
OyArK3Bvc2l0aW9uKSB7Ci0gICAgICAgIGF1dG8gY2hhcmFjdGVyID0gdGV4dFtwb3NpdGlvbiAt
IHNlZ21lbnQuc3RhcnRdOworICAgICAgICBhdXRvIGNoYXJhY3RlciA9IHRleHRbc2VnbWVudC50
b1NlZ21lbnRQb3NpdGlvbihwb3NpdGlvbildOwogICAgICAgICBib29sIGlzV2hpdGVzcGFjZSA9
IGNoYXJhY3RlciA9PSAnICcgfHwgY2hhcmFjdGVyID09ICdcdCcgfHwgKCFtX3N0eWxlLnByZXNl
cnZlTmV3bGluZSAmJiBjaGFyYWN0ZXIgPT0gJ1xuJyk7CiAgICAgICAgIGlmICghaXNXaGl0ZXNw
YWNlKQogICAgICAgICAgICAgcmV0dXJuIHBvc2l0aW9uOwpAQCAtMTcwLDEwICsxNzIsMjggQEAg
ZmxvYXQgVGV4dEZyYWdtZW50SXRlcmF0b3I6OnRleHRXaWR0aCh1bnNpZ25lZCBmcm9tLCB1bnNp
Z25lZCB0bywgZmxvYXQgeFBvc2l0aW8KICAgICBpZiAoIW1fc3R5bGUuZm9udC5zaXplKCkpCiAg
ICAgICAgIHJldHVybiAwOwogICAgIGlmIChtX3N0eWxlLmZvbnQuaXNGaXhlZFBpdGNoKCkgfHwg
KGZyb20gPT0gc2VnbWVudC5zdGFydCAmJiB0byA9PSBzZWdtZW50LmVuZCkpCi0gICAgICAgIHJl
dHVybiBkb3duY2FzdDxSZW5kZXJUZXh0PihzZWdtZW50LnJlbmRlcmVyKS53aWR0aChmcm9tIC0g
c2VnbWVudC5zdGFydCwgdG8gLSBmcm9tLCBtX3N0eWxlLmZvbnQsIHhQb3NpdGlvbiwgbnVsbHB0
ciwgbnVsbHB0cik7CisgICAgICAgIHJldHVybiBkb3duY2FzdDxSZW5kZXJUZXh0PihzZWdtZW50
LnJlbmRlcmVyKS53aWR0aChzZWdtZW50LnRvU2VnbWVudFBvc2l0aW9uKGZyb20pLCB0byAtIGZy
b20sIG1fc3R5bGUuZm9udCwgeFBvc2l0aW9uLCBudWxscHRyLCBudWxscHRyKTsKICAgICByZXR1
cm4gcnVuV2lkdGgoc2VnbWVudCwgZnJvbSwgdG8sIHhQb3NpdGlvbik7CiB9CiAKK3N0ZDo6b3B0
aW9uYWw8dW5zaWduZWQ+IFRleHRGcmFnbWVudEl0ZXJhdG9yOjpsYXN0SHlwaGVuUG9zaXRpb24o
Y29uc3QgVGV4dEZyYWdtZW50SXRlcmF0b3I6OlRleHRGcmFnbWVudCYgcnVuLCB1bnNpZ25lZCBi
ZWZvcmVJbmRleCkgY29uc3QKK3sKKyAgICBBU1NFUlQocnVuLnN0YXJ0KCkgPCBiZWZvcmVJbmRl
eCk7CisgICAgYXV0byYgc2VnbWVudCA9ICptX2N1cnJlbnRTZWdtZW50OworICAgIEFTU0VSVChz
ZWdtZW50LnN0YXJ0IDw9IGJlZm9yZUluZGV4ICYmIGJlZm9yZUluZGV4IDw9IHNlZ21lbnQuZW5k
KTsKKyAgICBBU1NFUlQoaXM8UmVuZGVyVGV4dD4oc2VnbWVudC5yZW5kZXJlcikpOworICAgIGlm
ICghbV9zdHlsZS5zaG91bGRIeXBoZW5hdGUgfHwgcnVuLnR5cGUoKSAhPSBUZXh0RnJhZ21lbnQ6
Ok5vbldoaXRlc3BhY2UpCisgICAgICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7CisgICAgCisgICAg
YXV0byBydW5TdGFydCA9IHNlZ21lbnQudG9TZWdtZW50UG9zaXRpb24ocnVuLnN0YXJ0KCkpOwor
ICAgIGF1dG8gYmVmb3JlID0gc2VnbWVudC50b1NlZ21lbnRQb3NpdGlvbihiZWZvcmVJbmRleCkg
LSBydW5TdGFydDsKKyAgICBhdXRvIHN1YnN0cmluZ0Zvckh5cGhlbmF0aW9uID0gU3RyaW5nVmll
dyhzZWdtZW50LnRleHQpLnN1YnN0cmluZyhydW5TdGFydCwgcnVuLmVuZCgpIC0gcnVuLnN0YXJ0
KCkpOworICAgIGF1dG8gaHlwaGVuTG9jYXRpb24gPSBsYXN0SHlwaGVuTG9jYXRpb24oc3Vic3Ry
aW5nRm9ySHlwaGVuYXRpb24sIGJlZm9yZSwgbV9zdHlsZS5sb2NhbGUpOworICAgIGlmIChoeXBo
ZW5Mb2NhdGlvbikKKyAgICAgICAgcmV0dXJuIHNlZ21lbnQudG9SZW5kZXJQb3NpdGlvbihoeXBo
ZW5Mb2NhdGlvbiArIHJ1blN0YXJ0KTsKKyAgICByZXR1cm4gc3RkOjpudWxsb3B0OworfQorCiB1
bnNpZ25lZCBUZXh0RnJhZ21lbnRJdGVyYXRvcjo6c2tpcFRvTmV4dFBvc2l0aW9uKFBvc2l0aW9u
VHlwZSBwb3NpdGlvblR5cGUsIHVuc2lnbmVkIHN0YXJ0UG9zaXRpb24sIGZsb2F0JiB3aWR0aCwg
ZmxvYXQgeFBvc2l0aW9uLCBib29sJiBvdmVybGFwcGluZ0ZyYWdtZW50KQogewogICAgIG92ZXJs
YXBwaW5nRnJhZ21lbnQgPSBmYWxzZTsKQEAgLTIxOSw4ICsyMzksOCBAQCBmbG9hdCBUZXh0RnJh
Z21lbnRJdGVyYXRvcjo6cnVuV2lkdGgoY29uc3QgRmxvd0NvbnRlbnRzOjpTZWdtZW50JiBzZWdt
ZW50LCB1bnNpZwogICAgIEFTU0VSVChzdGFydFBvc2l0aW9uIDw9IGVuZFBvc2l0aW9uKTsKICAg
ICBpZiAoc3RhcnRQb3NpdGlvbiA9PSBlbmRQb3NpdGlvbikKICAgICAgICAgcmV0dXJuIDA7Ci0g
ICAgdW5zaWduZWQgc2VnbWVudEZyb20gPSBzdGFydFBvc2l0aW9uIC0gc2VnbWVudC5zdGFydDsK
LSAgICB1bnNpZ25lZCBzZWdtZW50VG8gPSBlbmRQb3NpdGlvbiAtIHNlZ21lbnQuc3RhcnQ7Cisg
ICAgdW5zaWduZWQgc2VnbWVudEZyb20gPSBzZWdtZW50LnRvU2VnbWVudFBvc2l0aW9uKHN0YXJ0
UG9zaXRpb24pOworICAgIHVuc2lnbmVkIHNlZ21lbnRUbyA9IHNlZ21lbnQudG9TZWdtZW50UG9z
aXRpb24oZW5kUG9zaXRpb24pOwogICAgIGJvb2wgbWVhc3VyZVdpdGhFbmRTcGFjZSA9IG1fc3R5
bGUuY29sbGFwc2VXaGl0ZXNwYWNlICYmIHNlZ21lbnRUbyA8IHNlZ21lbnQudGV4dC5sZW5ndGgo
KSAmJiBzZWdtZW50LnRleHRbc2VnbWVudFRvXSA9PSAnICc7CiAgICAgaWYgKG1lYXN1cmVXaXRo
RW5kU3BhY2UpCiAgICAgICAgICsrc2VnbWVudFRvOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1NpbXBsZUxpbmVMYXlvdXRUZXh0RnJhZ21lbnRJdGVyYXRvci5oIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1NpbXBsZUxpbmVMYXlvdXRUZXh0RnJhZ21lbnRJdGVyYXRv
ci5oCmluZGV4IDhjYTg4NDMwYjU5N2I2Y2E5ZmQ3NjRiN2QzMTBlNzRkNDlkM2JmNjIuLmFkNzg0
OTk1MGZlZTFiNWEwOTA4OGUyYmFiMmY4MDI2ZWJmNGJiZTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9TaW1wbGVMaW5lTGF5b3V0VGV4dEZyYWdtZW50SXRlcmF0b3IuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvU2ltcGxlTGluZUxheW91dFRleHRGcmFnbWVu
dEl0ZXJhdG9yLmgKQEAgLTQzLDcgKzQzLDcgQEAgcHVibGljOgogICAgIHB1YmxpYzoKICAgICAg
ICAgZW51bSBUeXBlIHsgQ29udGVudEVuZCwgU29mdExpbmVCcmVhaywgSGFyZExpbmVCcmVhaywg
V2hpdGVzcGFjZSwgTm9uV2hpdGVzcGFjZSB9OwogICAgICAgICBUZXh0RnJhZ21lbnQoKSA9IGRl
ZmF1bHQ7Ci0gICAgICAgIFRleHRGcmFnbWVudCh1bnNpZ25lZCBzdGFydCwgdW5zaWduZWQgZW5k
LCBmbG9hdCB3aWR0aCwgVHlwZSB0eXBlLCBib29sIGlzTGFzdEluUmVuZGVyZXIgPSBmYWxzZSwg
Ym9vbCBvdmVybGFwc1RvTmV4dFJlbmRlcmVyID0gZmFsc2UsIGJvb2wgaXNDb2xsYXBzZWQgPSBm
YWxzZSwgYm9vbCBpc0NvbGxhcHNpYmxlID0gZmFsc2UpCisgICAgICAgIFRleHRGcmFnbWVudCh1
bnNpZ25lZCBzdGFydCwgdW5zaWduZWQgZW5kLCBmbG9hdCB3aWR0aCwgVHlwZSB0eXBlLCBib29s
IGlzTGFzdEluUmVuZGVyZXIgPSBmYWxzZSwgYm9vbCBvdmVybGFwc1RvTmV4dFJlbmRlcmVyID0g
ZmFsc2UsIGJvb2wgaXNDb2xsYXBzZWQgPSBmYWxzZSwgYm9vbCBpc0NvbGxhcHNpYmxlID0gZmFs
c2UsIGJvb2wgaGFzSHlwaGVuID0gZmFsc2UpCiAgICAgICAgICAgICA6IG1fc3RhcnQoc3RhcnQp
CiAgICAgICAgICAgICAsIG1fZW5kKGVuZCkKICAgICAgICAgICAgICwgbV93aWR0aCh3aWR0aCkK
QEAgLTUyLDYgKzUyLDcgQEAgcHVibGljOgogICAgICAgICAgICAgLCBtX292ZXJsYXBzVG9OZXh0
UmVuZGVyZXIob3ZlcmxhcHNUb05leHRSZW5kZXJlcikKICAgICAgICAgICAgICwgbV9pc0NvbGxh
cHNlZChpc0NvbGxhcHNlZCkKICAgICAgICAgICAgICwgbV9pc0NvbGxhcHNpYmxlKGlzQ29sbGFw
c2libGUpCisgICAgICAgICAgICAsIG1faGFzSHlwaGVuKGhhc0h5cGhlbikKICAgICAgICAgewog
ICAgICAgICB9CiAKQEAgLTY0LDkgKzY1LDExIEBAIHB1YmxpYzoKICAgICAgICAgYm9vbCBpc0xp
bmVCcmVhaygpIGNvbnN0IHsgcmV0dXJuIG1fdHlwZSA9PSBTb2Z0TGluZUJyZWFrIHx8IG1fdHlw
ZSA9PSBIYXJkTGluZUJyZWFrOyB9CiAgICAgICAgIGJvb2wgaXNDb2xsYXBzZWQoKSBjb25zdCB7
IHJldHVybiBtX2lzQ29sbGFwc2VkOyB9CiAgICAgICAgIGJvb2wgaXNDb2xsYXBzaWJsZSgpIGNv
bnN0IHsgcmV0dXJuIG1faXNDb2xsYXBzaWJsZTsgfQorICAgICAgICBib29sIGhhc0h5cGhlbigp
IGNvbnN0IHsgcmV0dXJuIG1faGFzSHlwaGVuOyB9CiAKICAgICAgICAgYm9vbCBpc0VtcHR5KCkg
Y29uc3QgeyByZXR1cm4gc3RhcnQoKSA9PSBlbmQoKSAmJiAhaXNMaW5lQnJlYWsoKTsgfQogICAg
ICAgICBUZXh0RnJhZ21lbnQgc3BsaXQodW5zaWduZWQgc3BsaXRQb3NpdGlvbiwgY29uc3QgVGV4
dEZyYWdtZW50SXRlcmF0b3ImKTsKKyAgICAgICAgVGV4dEZyYWdtZW50IHNwbGl0V2l0aEh5cGhl
bih1bnNpZ25lZCBoeXBoZW5Qb3NpdGlvbiwgY29uc3QgVGV4dEZyYWdtZW50SXRlcmF0b3ImKTsK
ICAgICAgICAgYm9vbCBvcGVyYXRvcj09KGNvbnN0IFRleHRGcmFnbWVudCYgb3RoZXIpIGNvbnN0
CiAgICAgICAgIHsKICAgICAgICAgICAgIHJldHVybiBtX3N0YXJ0ID09IG90aGVyLm1fc3RhcnQK
QEAgLTc2LDcgKzc5LDggQEAgcHVibGljOgogICAgICAgICAgICAgICAgICYmIG1faXNMYXN0SW5S
ZW5kZXJlciA9PSBvdGhlci5tX2lzTGFzdEluUmVuZGVyZXIKICAgICAgICAgICAgICAgICAmJiBt
X292ZXJsYXBzVG9OZXh0UmVuZGVyZXIgPT0gb3RoZXIubV9vdmVybGFwc1RvTmV4dFJlbmRlcmVy
CiAgICAgICAgICAgICAgICAgJiYgbV9pc0NvbGxhcHNlZCA9PSBvdGhlci5tX2lzQ29sbGFwc2Vk
Ci0gICAgICAgICAgICAgICAgJiYgbV9pc0NvbGxhcHNpYmxlID09IG90aGVyLm1faXNDb2xsYXBz
aWJsZTsKKyAgICAgICAgICAgICAgICAmJiBtX2lzQ29sbGFwc2libGUgPT0gb3RoZXIubV9pc0Nv
bGxhcHNpYmxlCisgICAgICAgICAgICAgICAgJiYgbV9oYXNIeXBoZW4gPT0gb3RoZXIubV9oYXNI
eXBoZW47CiAgICAgICAgIH0KIAogICAgIHByaXZhdGU6CkBAIC04OCwxMCArOTIsMTQgQEAgcHVi
bGljOgogICAgICAgICBib29sIG1fb3ZlcmxhcHNUb05leHRSZW5kZXJlciB7IGZhbHNlIH07CiAg
ICAgICAgIGJvb2wgbV9pc0NvbGxhcHNlZCB7IGZhbHNlIH07CiAgICAgICAgIGJvb2wgbV9pc0Nv
bGxhcHNpYmxlIHsgZmFsc2UgfTsKKyAgICAgICAgYm9vbCBtX2hhc0h5cGhlbiB7IGZhbHNlIH07
CiAgICAgfTsKICAgICBUZXh0RnJhZ21lbnQgbmV4dFRleHRGcmFnbWVudChmbG9hdCB4UG9zaXRp
b24gPSAwKTsKICAgICB2b2lkIHJldmVydFRvRW5kT2ZGcmFnbWVudChjb25zdCBUZXh0RnJhZ21l
bnQmKTsKKworICAgIC8vIEZJWE1FOiBUaGVzZSBmdW5jdGlvbnMgYmVsb3cgc2hvdWxkIGJlIGRl
Y291cGxlZCBmcm9tIHRoZSB0ZXh0IGl0ZXJhdG9yLgogICAgIGZsb2F0IHRleHRXaWR0aCh1bnNp
Z25lZCBzdGFydFBvc2l0aW9uLCB1bnNpZ25lZCBlbmRQb3NpdGlvbiwgZmxvYXQgeFBvc2l0aW9u
KSBjb25zdDsKKyAgICBzdGQ6Om9wdGlvbmFsPHVuc2lnbmVkPiBsYXN0SHlwaGVuUG9zaXRpb24o
Y29uc3QgVGV4dEZyYWdtZW50SXRlcmF0b3I6OlRleHRGcmFnbWVudCYgcnVuLCB1bnNpZ25lZCBi
ZWZvcmVJbmRleCkgY29uc3Q7CiAKICAgICBzdHJ1Y3QgU3R5bGUgewogICAgICAgICBleHBsaWNp
dCBTdHlsZShjb25zdCBSZW5kZXJTdHlsZSYpOwpAQCAtMTA4LDYgKzExNiw4IEBAIHB1YmxpYzoK
ICAgICAgICAgZmxvYXQgc3BhY2VXaWR0aDsKICAgICAgICAgZmxvYXQgd29yZFNwYWNpbmc7CiAg
ICAgICAgIHVuc2lnbmVkIHRhYldpZHRoOworICAgICAgICBib29sIHNob3VsZEh5cGhlbmF0ZTsK
KyAgICAgICAgZmxvYXQgaHlwaGVuU3RyaW5nV2lkdGg7CiAgICAgICAgIEF0b21pY1N0cmluZyBs
b2NhbGU7CiAgICAgfTsKICAgICBjb25zdCBTdHlsZSYgc3R5bGUoKSBjb25zdCB7IHJldHVybiBt
X3N0eWxlOyB9CkBAIC0xNDIsMTMgKzE1MiwyMyBAQCBpbmxpbmUgVGV4dEZyYWdtZW50SXRlcmF0
b3I6OlRleHRGcmFnbWVudCBUZXh0RnJhZ21lbnRJdGVyYXRvcjo6VGV4dEZyYWdtZW50OjpzcAog
ICAgICAgICBmcmFnbWVudC5tX2lzQ29sbGFwc2VkID0gZmFsc2U7CiAgICAgfTsKIAotICAgIFRl
eHRGcmFnbWVudCBuZXdGcmFnbWVudCgqdGhpcyk7CisgICAgVGV4dEZyYWdtZW50IHJpZ2h0U2lk
ZSgqdGhpcyk7CiAgICAgbV9lbmQgPSBzcGxpdFBvc2l0aW9uOwogICAgIHVwZGF0ZUZyYWdtZW50
UHJvcGVydGllcygqdGhpcyk7CiAKLSAgICBuZXdGcmFnbWVudC5tX3N0YXJ0ID0gc3BsaXRQb3Np
dGlvbjsKLSAgICB1cGRhdGVGcmFnbWVudFByb3BlcnRpZXMobmV3RnJhZ21lbnQpOwotICAgIHJl
dHVybiBuZXdGcmFnbWVudDsKKyAgICByaWdodFNpZGUubV9zdGFydCA9IHNwbGl0UG9zaXRpb247
CisgICAgdXBkYXRlRnJhZ21lbnRQcm9wZXJ0aWVzKHJpZ2h0U2lkZSk7CisgICAgcmV0dXJuIHJp
Z2h0U2lkZTsKK30KKworaW5saW5lIFRleHRGcmFnbWVudEl0ZXJhdG9yOjpUZXh0RnJhZ21lbnQg
VGV4dEZyYWdtZW50SXRlcmF0b3I6OlRleHRGcmFnbWVudDo6c3BsaXRXaXRoSHlwaGVuKHVuc2ln
bmVkIGh5cGhlblBvc2l0aW9uLAorICAgIGNvbnN0IFRleHRGcmFnbWVudEl0ZXJhdG9yJiB0ZXh0
RnJhZ21lbnRJdGVyYXRvcikKK3sKKyAgICBBU1NFUlQodGV4dEZyYWdtZW50SXRlcmF0b3Iuc3R5
bGUoKS5zaG91bGRIeXBoZW5hdGUpOworICAgIGF1dG8gcmlnaHRTaWRlID0gc3BsaXQoaHlwaGVu
UG9zaXRpb24sIHRleHRGcmFnbWVudEl0ZXJhdG9yKTsKKyAgICBtX2hhc0h5cGhlbiA9IHRydWU7
CisgICAgbV93aWR0aCArPSB0ZXh0RnJhZ21lbnRJdGVyYXRvci5zdHlsZSgpLmh5cGhlblN0cmlu
Z1dpZHRoOworICAgIHJldHVybiByaWdodFNpZGU7CiB9CiAKIGlubGluZSBib29sIFRleHRGcmFn
bWVudEl0ZXJhdG9yOjppc1NvZnRMaW5lQnJlYWsodW5zaWduZWQgcG9zaXRpb24pIGNvbnN0CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvbGluZS9CcmVha2luZ0NvbnRleHQu
aCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9saW5lL0JyZWFraW5nQ29udGV4dC5oCmluZGV4
IGVkNzYxMWVmODkwNTEwODdiMjMxODZhN2EwNDFjNGQ1MTYwYTY4YjYuLjU0MWNhNTczNjVmNWY4
MTg2ZDRjNzI5ZTc0MDM4MTJiNDU4ZjU3ZDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9saW5lL0JyZWFraW5nQ29udGV4dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9saW5lL0JyZWFraW5nQ29udGV4dC5oCkBAIC02ODcsOSArNjg3LDcgQEAgaW5saW5lIHZv
aWQgdHJ5SHlwaGVuYXRpbmcoUmVuZGVyVGV4dCYgdGV4dCwgY29uc3QgRm9udENhc2NhZGUmIGZv
bnQsIGNvbnN0IEF0b20KICAgICBpbnQgaHlwaGVuV2lkdGggPSBtZWFzdXJlSHlwaGVuV2lkdGgo
dGV4dCwgZm9udCk7CiAKICAgICBmbG9hdCBtYXhQcmVmaXhXaWR0aCA9IGF2YWlsYWJsZVdpZHRo
IC0geFBvcyAtIGh5cGhlbldpZHRoIC0gbGFzdFNwYWNlV29yZFNwYWNpbmc7Ci0gICAgLy8gSWYg
dGhlIG1heGltdW0gd2lkdGggYXZhaWxhYmxlIGZvciB0aGUgcHJlZml4IGJlZm9yZSB0aGUgaHlw
aGVuIGlzIHNtYWxsLCB0aGVuIGl0IGlzIHZlcnkgdW5saWtlbHkKLSAgICAvLyB0aGF0IGFuIGh5
cGhlbmF0aW9uIG9wcG9ydHVuaXR5IGV4aXN0cywgc28gZG8gbm90IGJvdGhlciB0byBsb29rIGZv
ciBpdC4KLSAgICBpZiAobWF4UHJlZml4V2lkdGggPD0gZm9udC5waXhlbFNpemUoKSAqIDUgLyA0
KQorICAgIGlmICghZW5vdWdoV2lkdGhGb3JIeXBoZW5hdGlvbihtYXhQcmVmaXhXaWR0aCwgZm9u
dC5waXhlbFNpemUoKSkpCiAgICAgICAgIHJldHVybjsKIAogICAgIGNvbnN0IFJlbmRlclN0eWxl
JiBzdHlsZSA9IHRleHQuc3R5bGUoKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>299605</attachid>
            <date>2017-01-24 09:06:55 -0800</date>
            <delta_ts>2017-01-24 13:39:38 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-167297-20170124090456.patch</filename>
            <type>text/plain</type>
            <size>62439</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjExMDE4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGNhYzgwMTFmMWU0MTEy
NTE4YjI5Y2IwYjZkNDAyNzk2YTRkYTUwZC4uZjc0OTFhMThjMDJjMzkwMTVjM2M4NzFhZWNiY2U1
YTUwNTgzM2IzYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU3IEBACisyMDE3LTAxLTIzICBaYWxh
biBCdWp0YXMgIDx6YWxhbkBhcHBsZS5jb20+CisKKyAgICAgICAgU2ltcGxlIGxpbmUgbGF5b3V0
OiBBZGQgc3VwcG9ydCBmb3IgaHlwaGVuOiBhdXRvLgorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY3Mjk3CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8z
MDExOTQ2Mz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBJbXBsZW1lbnQgaHlwaGVuOiBhdXRvIGZvciBzaW1wbGUgbGluZSBsYXlvdXQuIAorCisgICAg
ICAgIFRlc3RzOiBmYXN0L3RleHQvc2ltcGxlLWxpbmUtaHlwaGVucy13aXRoLXRleHQtYWxpZ24u
aHRtbAorICAgICAgICAgICAgICAgZmFzdC90ZXh0L3NpbXBsZS1saW5lLWh5cGhlbnMtd2l0aC13
b3JkLWxldHRlci1zcGFjaW5nLmh0bWwKKworICAgICAgICAqIHBsYXRmb3JtL3RleHQvSHlwaGVu
YXRpb24uaDoKKyAgICAgICAgKFdlYkNvcmU6OmVub3VnaFdpZHRoRm9ySHlwaGVuYXRpb24pOgor
ICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJUcmVlQXNUZXh0LmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OndyaXRlU2ltcGxlTGluZSk6CisgICAgICAgIChXZWJDb3JlOjp3cml0ZSk6CisgICAgICAg
ICogcmVuZGVyaW5nL1NpbXBsZUxpbmVMYXlvdXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2lt
cGxlTGluZUxheW91dDo6Y2FuVXNlRm9yU3R5bGUpOgorICAgICAgICAoV2ViQ29yZTo6U2ltcGxl
TGluZUxheW91dDo6TGluZVN0YXRlOjphcHBlbmRGcmFnbWVudEFuZENyZWF0ZVJ1bklmTmVlZGVk
KTogSW5oZXJpdCB0aGUgaHlwaGVuIGF0dHJpYnV0ZSBmcm9tIHRoZQorICAgICAgICBydW4tdG8t
YmUtYXBwZW5kZWQuIEVuc3VyZSB0aGF0IHdlIGRvbid0IGFwcGVuZCBhZGRpdGlvbmFsIHJ1bnMg
d2hlbiB0aGUgbGFzdCBydW4gaGFzIGh5cGhlbi4KKyAgICAgICAgKFdlYkNvcmU6OlNpbXBsZUxp
bmVMYXlvdXQ6OnNwbGl0RnJhZ21lbnRUb0ZpdExpbmUpOiBCZWZvcmUgY2FsbGluZyBpbnRvIHRo
ZSBsYXN0SHlwaGVuUG9zaXRpb24oKSB3ZSBuZWVkIHRvCisgICAgICAgIGVuc3VyZSB0aGF0IHRo
ZSBoeXBoZW4gd291bGQgc3VyZWx5IGZpdCAoZXZlbiBvbiB0aGUgc3BsaXR0aW5nIHBvc2l0aW9u
KS4KKyAgICAgICAgKFdlYkNvcmU6OlNpbXBsZUxpbmVMYXlvdXQ6OmNyZWF0ZUxpbmVSdW5zKTog
UHJvYmUgaHlwZW5hdGlvbiBmb3Igb3Zlcmhhbmdpbmcgbm9uLXdoaXRlc3BhY2UgcnVucy4gCisg
ICAgICAgIChXZWJDb3JlOjpTaW1wbGVMaW5lTGF5b3V0OjpwcmludFJlYXNvbik6CisgICAgICAg
ICogcmVuZGVyaW5nL1NpbXBsZUxpbmVMYXlvdXQuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNpbXBs
ZUxpbmVMYXlvdXQ6OlJ1bjo6UnVuKToKKyAgICAgICAgKiByZW5kZXJpbmcvU2ltcGxlTGluZUxh
eW91dEZsb3dDb250ZW50cy5oOgorICAgICAgICAoV2ViQ29yZTo6U2ltcGxlTGluZUxheW91dDo6
Rmxvd0NvbnRlbnRzOjpTZWdtZW50Ojp0b1NlZ21lbnRQb3NpdGlvbik6CisgICAgICAgIChXZWJD
b3JlOjpTaW1wbGVMaW5lTGF5b3V0OjpGbG93Q29udGVudHM6OlNlZ21lbnQ6OnRvUmVuZGVyUG9z
aXRpb24pOgorICAgICAgICAqIHJlbmRlcmluZy9TaW1wbGVMaW5lTGF5b3V0UmVzb2x2ZXIuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6U2ltcGxlTGluZUxheW91dDo6UnVuUmVzb2x2ZXI6OlJ1bjo6
UnVuKToKKyAgICAgICAgKFdlYkNvcmU6OlNpbXBsZUxpbmVMYXlvdXQ6OlJ1blJlc29sdmVyOjpS
dW46OmNvbnN0cnVjdFN0cmluZ0Zvckh5cGhlbklmTmVlZGVkKToKKyAgICAgICAgKFdlYkNvcmU6
OlNpbXBsZUxpbmVMYXlvdXQ6OlJ1blJlc29sdmVyOjpSdW46OnRleHQpOgorICAgICAgICAqIHJl
bmRlcmluZy9TaW1wbGVMaW5lTGF5b3V0UmVzb2x2ZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNp
bXBsZUxpbmVMYXlvdXQ6OlJ1blJlc29sdmVyOjpSdW46Omhhc0h5cGhlbik6CisgICAgICAgICog
cmVuZGVyaW5nL1NpbXBsZUxpbmVMYXlvdXRUZXh0RnJhZ21lbnRJdGVyYXRvci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpTaW1wbGVMaW5lTGF5b3V0OjpUZXh0RnJhZ21lbnRJdGVyYXRvcjo6U3R5
bGU6OlN0eWxlKToKKyAgICAgICAgKFdlYkNvcmU6OlNpbXBsZUxpbmVMYXlvdXQ6OlRleHRGcmFn
bWVudEl0ZXJhdG9yOjpuZXh0QnJlYWthYmxlUG9zaXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6
U2ltcGxlTGluZUxheW91dDo6VGV4dEZyYWdtZW50SXRlcmF0b3I6Om5leHROb25XaGl0ZXNwYWNl
UG9zaXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6U2ltcGxlTGluZUxheW91dDo6VGV4dEZyYWdt
ZW50SXRlcmF0b3I6OnRleHRXaWR0aCk6CisgICAgICAgIChXZWJDb3JlOjpTaW1wbGVMaW5lTGF5
b3V0OjpUZXh0RnJhZ21lbnRJdGVyYXRvcjo6bGFzdEh5cGhlblBvc2l0aW9uKTogV2Ugb25seSBj
aGVjayB0aGUgYWN0dWFsIHJ1biBmb3IgaHlwaGVuYXRpb24gaWdub3JpbmcKKyAgICAgICAgdGhl
IG5laWdoYm9yaW5nIHJ1bnMuIFRoaXMgbWlnaHQgbmVlZCB0byBiZSBjaGFuZ2VkIGluIHRoZSBm
dXR1cmUuCisgICAgICAgIChXZWJDb3JlOjpTaW1wbGVMaW5lTGF5b3V0OjpUZXh0RnJhZ21lbnRJ
dGVyYXRvcjo6cnVuV2lkdGgpOgorICAgICAgICAqIHJlbmRlcmluZy9TaW1wbGVMaW5lTGF5b3V0
VGV4dEZyYWdtZW50SXRlcmF0b3IuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNpbXBsZUxpbmVMYXlv
dXQ6OlRleHRGcmFnbWVudEl0ZXJhdG9yOjpUZXh0RnJhZ21lbnQ6OlRleHRGcmFnbWVudCk6Cisg
ICAgICAgIChXZWJDb3JlOjpTaW1wbGVMaW5lTGF5b3V0OjpUZXh0RnJhZ21lbnRJdGVyYXRvcjo6
VGV4dEZyYWdtZW50OjpoYXNIeXBoZW4pOgorICAgICAgICAoV2ViQ29yZTo6U2ltcGxlTGluZUxh
eW91dDo6VGV4dEZyYWdtZW50SXRlcmF0b3I6OlRleHRGcmFnbWVudDo6b3BlcmF0b3I9PSk6Cisg
ICAgICAgIChXZWJDb3JlOjpTaW1wbGVMaW5lTGF5b3V0OjpUZXh0RnJhZ21lbnRJdGVyYXRvcjo6
VGV4dEZyYWdtZW50OjpzcGxpdCk6CisgICAgICAgIChXZWJDb3JlOjpTaW1wbGVMaW5lTGF5b3V0
OjpUZXh0RnJhZ21lbnRJdGVyYXRvcjo6VGV4dEZyYWdtZW50OjpzcGxpdFdpdGhIeXBoZW4pOgor
ICAgICAgICAqIHJlbmRlcmluZy9saW5lL0JyZWFraW5nQ29udGV4dC5oOgorICAgICAgICAoV2Vi
Q29yZTo6dHJ5SHlwaGVuYXRpbmcpOgorCiAyMDE3LTAxLTIxICBDYXJsb3MgR2FyY2lhIENhbXBv
cyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91
dCByMjExMDEyLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9IeXBo
ZW5hdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9IeXBoZW5hdGlvbi5oCmlu
ZGV4IDM4ZjJhZjEzNmFlMTVhMDhlMmY5MWNjMWNhZDU3YWI0NDhiNTA2NDYuLjI3ZjQzMDU5MTRh
ZDQ1MmJkOWQ3Zjc5MDc3OWU5NTk1YWFiNTY0MmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL3RleHQvSHlwaGVuYXRpb24uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS90ZXh0L0h5cGhlbmF0aW9uLmgKQEAgLTMxLDYgKzMxLDEzIEBACiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAoraW5saW5lIHN0YXRpYyBib29sIGVub3VnaFdpZHRoRm9ySHlwaGVuYXRpb24oZmxv
YXQgYXZhaWxhYmxlV2lkdGgsIGZsb2F0IGZvbnRQaXhlbFNpemUpCit7CisgICAgLy8gSWYgdGhl
IG1heGltdW0gd2lkdGggYXZhaWxhYmxlIGZvciB0aGUgcHJlZml4IGJlZm9yZSB0aGUgaHlwaGVu
IGlzIHNtYWxsLCB0aGVuIGl0IGlzIHZlcnkgdW5saWtlbHkKKyAgICAvLyB0aGF0IGFuIGh5cGhl
bmF0aW9uIG9wcG9ydHVuaXR5IGV4aXN0cywgc28gZG8gbm90IGJvdGhlciB0byBsb29rIGZvciBp
dC4KKyAgICByZXR1cm4gYXZhaWxhYmxlV2lkdGggPiBmb250UGl4ZWxTaXplICogNSAvIDQ7CisK
K30KIGJvb2wgY2FuSHlwaGVuYXRlKGNvbnN0IEF0b21pY1N0cmluZyYgbG9jYWxlSWRlbnRpZmll
cik7CiBzaXplX3QgbGFzdEh5cGhlbkxvY2F0aW9uKFN0cmluZ1ZpZXcsIHNpemVfdCBiZWZvcmVJ
bmRleCwgY29uc3QgQXRvbWljU3RyaW5nJiBsb2NhbGVJZGVudGlmaWVyKTsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRyZWVBc1RleHQuY3BwIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRyZWVBc1RleHQuY3BwCmluZGV4IDBiNjIxYzFjNzMy
NTk0OTk0ODE3ZGUzMjU2ZGJhYzdlMDljMTk2MGYuLjM0YjlkZTQ1OWViMjU1ZTJiM2M3OTYzZTIy
ODhkN2RmMmRjYTA3OWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJUcmVlQXNUZXh0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVHJl
ZUFzVGV4dC5jcHAKQEAgLTQ5MywxOCArNDkzLDIzIEBAIHN0YXRpYyB2b2lkIHdyaXRlVGV4dFJ1
bihUZXh0U3RyZWFtJiB0cywgY29uc3QgUmVuZGVyVGV4dCYgbywgY29uc3QgSW5saW5lVGV4dEJv
CiAgICAgdHMgPDwgIlxuIjsKIH0KIAotc3RhdGljIHZvaWQgd3JpdGVTaW1wbGVMaW5lKFRleHRT
dHJlYW0mIHRzLCBjb25zdCBSZW5kZXJUZXh0JiBvLCBjb25zdCBGbG9hdFJlY3QmIHJlY3QsIFN0
cmluZ1ZpZXcgdGV4dCkKK3N0YXRpYyB2b2lkIHdyaXRlU2ltcGxlTGluZShUZXh0U3RyZWFtJiB0
cywgY29uc3QgUmVuZGVyVGV4dCYgcmVuZGVyVGV4dCwgY29uc3QgU2ltcGxlTGluZUxheW91dDo6
UnVuUmVzb2x2ZXI6OlJ1biYgcnVuKQogeworICAgIGF1dG8gcmVjdCA9IHJ1bi5yZWN0KCk7CiAg
ICAgaW50IHggPSByZWN0LngoKTsKICAgICBpbnQgeSA9IHJlY3QueSgpOwogICAgIGludCBsb2dp
Y2FsV2lkdGggPSBjZWlsZihyZWN0LngoKSArIHJlY3Qud2lkdGgoKSkgLSB4OwogCi0gICAgaWYg
KGlzPFJlbmRlclRhYmxlQ2VsbD4oKm8uY29udGFpbmluZ0Jsb2NrKCkpKQotICAgICAgICB5IC09
IGZsb29yVG9JbnQoZG93bmNhc3Q8UmVuZGVyVGFibGVDZWxsPigqby5jb250YWluaW5nQmxvY2so
KSkuaW50cmluc2ljUGFkZGluZ0JlZm9yZSgpKTsKLSAgICAgICAgCisgICAgaWYgKGlzPFJlbmRl
clRhYmxlQ2VsbD4oKnJlbmRlclRleHQuY29udGFpbmluZ0Jsb2NrKCkpKQorICAgICAgICB5IC09
IGZsb29yVG9JbnQoZG93bmNhc3Q8UmVuZGVyVGFibGVDZWxsPigqcmVuZGVyVGV4dC5jb250YWlu
aW5nQmxvY2soKSkuaW50cmluc2ljUGFkZGluZ0JlZm9yZSgpKTsKKwogICAgIHRzIDw8ICJ0ZXh0
IHJ1biBhdCAoIiA8PCB4IDw8ICIsIiA8PCB5IDw8ICIpIHdpZHRoICIgPDwgbG9naWNhbFdpZHRo
OwotICAgIHRzIDw8ICI6ICIKLSAgICAgICAgPDwgcXVvdGVBbmRFc2NhcGVOb25QcmludGFibGVz
KHRleHQpOworICAgIGlmIChydW4uaGFzSHlwaGVuKCkpIHsKKyAgICAgICAgdHMgPDwgIjogIiA8
PCBxdW90ZUFuZEVzY2FwZU5vblByaW50YWJsZXMocnVuLnRleHQoKS5zdWJzdHJpbmcoMCwgcnVu
LnRleHQoKS5sZW5ndGgoKSAtIDEpKTsKKyAgICAgICAgdHMgPDwgIiArIGh5cGhlbiBzdHJpbmcg
IiA8PCBxdW90ZUFuZEVzY2FwZU5vblByaW50YWJsZXMocmVuZGVyVGV4dC5zdHlsZSgpLmh5cGhl
blN0cmluZygpLnN0cmluZygpKTsKKyAgICB9IGVsc2UKKyAgICAgICAgdHMgPDwgIjogIiA8PCBx
dW90ZUFuZEVzY2FwZU5vblByaW50YWJsZXMocnVuLnRleHQoKSk7CisKICAgICB0cyA8PCAiXG4i
OwogfQogCkBAIC01NTUsNyArNTYwLDcgQEAgdm9pZCB3cml0ZShUZXh0U3RyZWFtJiB0cywgY29u
c3QgUmVuZGVyT2JqZWN0JiBvLCBpbnQgaW5kZW50LCBSZW5kZXJBc1RleHRCZWhhdmkKICAgICAg
ICAgICAgIGF1dG8gcmVzb2x2ZXIgPSBydW5SZXNvbHZlcihkb3duY2FzdDxSZW5kZXJCbG9ja0Zs
b3c+KCp0ZXh0LnBhcmVudCgpKSwgKmxheW91dCk7CiAgICAgICAgICAgICBmb3IgKGNvbnN0IGF1
dG8mIHJ1biA6IHJlc29sdmVyLnJhbmdlRm9yUmVuZGVyZXIodGV4dCkpIHsKICAgICAgICAgICAg
ICAgICB3cml0ZUluZGVudCh0cywgaW5kZW50ICsgMSk7Ci0gICAgICAgICAgICAgICAgd3JpdGVT
aW1wbGVMaW5lKHRzLCB0ZXh0LCBydW4ucmVjdCgpLCBydW4udGV4dCgpKTsKKyAgICAgICAgICAg
ICAgICB3cml0ZVNpbXBsZUxpbmUodHMsIHRleHQsIHJ1bik7CiAgICAgICAgICAgICB9CiAgICAg
ICAgIH0gZWxzZSB7CiAgICAgICAgICAgICBmb3IgKGF1dG8qIGJveCA9IHRleHQuZmlyc3RUZXh0
Qm94KCk7IGJveDsgYm94ID0gYm94LT5uZXh0VGV4dEJveCgpKSB7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvU2ltcGxlTGluZUxheW91dC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvU2ltcGxlTGluZUxheW91dC5jcHAKaW5kZXggZTg4MjU4ZGQ5MmU1NWI4ODM1
YTMyZDdkY2JlMWRhZjQyYmQ4ZjU5Yi4uNzQ5Y2I5OGY3MDFmOGM1ZDMwN2I3M2QwNDQ2NWZkOWJj
ZDA3MjZkNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1NpbXBsZUxpbmVM
YXlvdXQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9TaW1wbGVMaW5lTGF5b3V0
LmNwcApAQCAtMzMsNiArMzMsNyBAQAogI2luY2x1ZGUgIkhpdFRlc3RMb2NhdGlvbi5oIgogI2lu
Y2x1ZGUgIkhpdFRlc3RSZXF1ZXN0LmgiCiAjaW5jbHVkZSAiSGl0VGVzdFJlc3VsdC5oIgorI2lu
Y2x1ZGUgIkh5cGhlbmF0aW9uLmgiCiAjaW5jbHVkZSAiSW5saW5lVGV4dEJveC5oIgogI2luY2x1
ZGUgIkxpbmVXaWR0aC5oIgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKQEAgLTg1LDcgKzg2LDcgQEAg
ZW51bSBBdm9pZGFuY2VSZWFzb25fIDogdWludDY0X3QgewogICAgIEZsb3dIYXNSVExPcmRlcmlu
ZyAgICAgICAgICAgICAgICAgICAgPSAxTExVICA8PCAyMCwKICAgICBGbG93SGFzTGluZUFsaWdu
RWRnZXMgICAgICAgICAgICAgICAgID0gMUxMVSAgPDwgMjEsCiAgICAgRmxvd0hhc0xpbmVTbmFw
ICAgICAgICAgICAgICAgICAgICAgICA9IDFMTFUgIDw8IDIyLAotICAgIEZsb3dIYXNIeXBlbnNB
dXRvICAgICAgICAgICAgICAgICAgICAgPSAxTExVICA8PCAyMywKKyAgICBGbG93SGFzSHlwZW5z
TGltaXQgICAgICAgICAgICAgICAgICAgID0gMUxMVSAgPDwgMjMsCiAgICAgRmxvd0hhc1RleHRF
bXBoYXNpc0ZpbGxPck1hcmsgICAgICAgICA9IDFMTFUgIDw8IDI0LAogICAgIEZsb3dIYXNUZXh0
U2hhZG93ICAgICAgICAgICAgICAgICAgICAgPSAxTExVICA8PCAyNSwKICAgICBGbG93SGFzUHNl
dWRvRmlyc3RMaW5lICAgICAgICAgICAgICAgID0gMUxMVSAgPDwgMjYsCkBAIC0yMzYsOCArMjM3
LDEwIEBAIHN0YXRpYyBBdm9pZGFuY2VSZWFzb25GbGFncyBjYW5Vc2VGb3JTdHlsZShjb25zdCBS
ZW5kZXJTdHlsZSYgc3R5bGUsIEluY2x1ZGVSZWFzCiAgICAgICAgIFNFVF9SRUFTT05fQU5EX1JF
VFVSTl9JRl9ORUVERUQoRmxvd0hhc0xpbmVBbGlnbkVkZ2VzLCByZWFzb25zLCBpbmNsdWRlUmVh
c29ucyk7CiAgICAgaWYgKHN0eWxlLmxpbmVTbmFwKCkgIT0gTGluZVNuYXBOb25lKQogICAgICAg
ICBTRVRfUkVBU09OX0FORF9SRVRVUk5fSUZfTkVFREVEKEZsb3dIYXNMaW5lU25hcCwgcmVhc29u
cywgaW5jbHVkZVJlYXNvbnMpOwotICAgIGlmIChzdHlsZS5oeXBoZW5zKCkgPT0gSHlwaGVuc0F1
dG8pCi0gICAgICAgIFNFVF9SRUFTT05fQU5EX1JFVFVSTl9JRl9ORUVERUQoRmxvd0hhc0h5cGVu
c0F1dG8sIHJlYXNvbnMsIGluY2x1ZGVSZWFzb25zKTsKKyAgICBpZiAoc3R5bGUuaHlwaGVuYXRp
b25MaW1pdEJlZm9yZSgpICE9IFJlbmRlclN0eWxlOjppbml0aWFsSHlwaGVuYXRpb25MaW1pdEJl
Zm9yZSgpCisgICAgICAgIHx8IHN0eWxlLmh5cGhlbmF0aW9uTGltaXRBZnRlcigpICE9IFJlbmRl
clN0eWxlOjppbml0aWFsSHlwaGVuYXRpb25MaW1pdEFmdGVyKCkKKyAgICAgICAgfHwgc3R5bGUu
aHlwaGVuYXRpb25MaW1pdExpbmVzKCkgIT0gUmVuZGVyU3R5bGU6OmluaXRpYWxIeXBoZW5hdGlv
bkxpbWl0TGluZXMoKSkKKyAgICAgICAgU0VUX1JFQVNPTl9BTkRfUkVUVVJOX0lGX05FRURFRChG
bG93SGFzSHlwZW5zTGltaXQsIHJlYXNvbnMsIGluY2x1ZGVSZWFzb25zKTsKICAgICBpZiAoc3R5
bGUudGV4dEVtcGhhc2lzRmlsbCgpICE9IFRleHRFbXBoYXNpc0ZpbGxGaWxsZWQgfHwgc3R5bGUu
dGV4dEVtcGhhc2lzTWFyaygpICE9IFRleHRFbXBoYXNpc01hcmtOb25lKQogICAgICAgICBTRVRf
UkVBU09OX0FORF9SRVRVUk5fSUZfTkVFREVEKEZsb3dIYXNUZXh0RW1waGFzaXNGaWxsT3JNYXJr
LCByZWFzb25zLCBpbmNsdWRlUmVhc29ucyk7CiAgICAgaWYgKHN0eWxlLnRleHRTaGFkb3coKSkK
QEAgLTQ1Myw3ICs0NTYsNyBAQCBwdWJsaWM6CiAgICAgICAgIHVuc2lnbmVkIGVuZFBvc2l0aW9u
ID0gZnJhZ21lbnQuaXNDb2xsYXBzZWQoKSA/IGZyYWdtZW50LnN0YXJ0KCkgKyAxIDogZnJhZ21l
bnQuZW5kKCk7CiAgICAgICAgIC8vIE5ldyBsaW5lIG5lZWRzIG5ldyBydW4uCiAgICAgICAgIGlm
ICghbV9ydW5zV2lkdGgpCi0gICAgICAgICAgICBydW5zLmFwcGVuZChSdW4oZnJhZ21lbnQuc3Rh
cnQoKSwgZW5kUG9zaXRpb24sIG1fcnVuc1dpZHRoLCBtX3J1bnNXaWR0aCArIGZyYWdtZW50Lndp
ZHRoKCksIGZhbHNlKSk7CisgICAgICAgICAgICBydW5zLmFwcGVuZChSdW4oZnJhZ21lbnQuc3Rh
cnQoKSwgZW5kUG9zaXRpb24sIG1fcnVuc1dpZHRoLCBtX3J1bnNXaWR0aCArIGZyYWdtZW50Lndp
ZHRoKCksIGZhbHNlLCBmcmFnbWVudC5oYXNIeXBoZW4oKSkpOwogICAgICAgICBlbHNlIHsKICAg
ICAgICAgICAgIGNvbnN0IGF1dG8mIGxhc3RGcmFnbWVudCA9IG1fZnJhZ21lbnRzLmxhc3QoKTsK
ICAgICAgICAgICAgIC8vIEFkdmFuY2UgbGFzdCBjb21wbGV0ZWQgZnJhZ21lbnQgd2hlbiB0aGUg
cHJldmlvdXMgZnJhZ21lbnQgaXMgYWxsIHNldCAoaW5jbHVkaW5nIG11bHRpcGxlIHBhcnRzIGFj
cm9zcyByZW5kZXJlcnMpCkBAIC00NzAsMTEgKzQ3MywxMyBAQCBwdWJsaWM6CiAgICAgICAgICAg
ICAgICAgcmV0dXJuOwogICAgICAgICAgICAgfQogICAgICAgICAgICAgaWYgKGxhc3RGcmFnbWVu
dC5pc0xhc3RJblJlbmRlcmVyKCkgfHwgbGFzdEZyYWdtZW50LmlzQ29sbGFwc2VkKCkpCi0gICAg
ICAgICAgICAgICAgcnVucy5hcHBlbmQoUnVuKGZyYWdtZW50LnN0YXJ0KCksIGVuZFBvc2l0aW9u
LCBtX3J1bnNXaWR0aCwgbV9ydW5zV2lkdGggKyBmcmFnbWVudC53aWR0aCgpLCBmYWxzZSkpOwor
ICAgICAgICAgICAgICAgIHJ1bnMuYXBwZW5kKFJ1bihmcmFnbWVudC5zdGFydCgpLCBlbmRQb3Np
dGlvbiwgbV9ydW5zV2lkdGgsIG1fcnVuc1dpZHRoICsgZnJhZ21lbnQud2lkdGgoKSwgZmFsc2Us
IGZyYWdtZW50Lmhhc0h5cGhlbigpKSk7CiAgICAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAg
ICAgICBSdW4mIGxhc3RSdW4gPSBydW5zLmxhc3QoKTsKICAgICAgICAgICAgICAgICBsYXN0UnVu
LmVuZCA9IGVuZFBvc2l0aW9uOwogICAgICAgICAgICAgICAgIGxhc3RSdW4ubG9naWNhbFJpZ2h0
ICs9IGZyYWdtZW50LndpZHRoKCk7CisgICAgICAgICAgICAgICAgQVNTRVJUKCFsYXN0UnVuLmhh
c0h5cGhlbik7CisgICAgICAgICAgICAgICAgbGFzdFJ1bi5oYXNIeXBoZW4gPSBmcmFnbWVudC5o
YXNIeXBoZW4oKTsKICAgICAgICAgICAgIH0KICAgICAgICAgfQogICAgICAgICBtX2ZyYWdtZW50
cy5hcHBlbmQoZnJhZ21lbnQpOwpAQCAtNjIzLDggKzYyOCwyNiBAQCBzdGF0aWMgVGV4dEZyYWdt
ZW50SXRlcmF0b3I6OlRleHRGcmFnbWVudCBzcGxpdEZyYWdtZW50VG9GaXRMaW5lKFRleHRGcmFn
bWVudEl0ZQogICAgICAgICByZXR1cm4gYXZhaWxhYmxlV2lkdGggPCB0ZXh0RnJhZ21lbnRJdGVy
YXRvci50ZXh0V2lkdGgoc3RhcnQsIGluZGV4ICsgMSwgMCk7CiAgICAgfSk7CiAgICAgdW5zaWdu
ZWQgc3BsaXRQb3NpdGlvbiA9ICgqaXQpOwotICAgIGlmIChrZWVwQXRMZWFzdE9uZUNoYXJhY3Rl
ciAmJiBzcGxpdFBvc2l0aW9uID09IGZyYWdtZW50VG9TcGxpdC5zdGFydCgpKQotICAgICAgICAr
K3NwbGl0UG9zaXRpb247CisgICAgYXV0byYgc3R5bGUgPSB0ZXh0RnJhZ21lbnRJdGVyYXRvci5z
dHlsZSgpOworICAgIC8vIERvZXMgZmlyc3QgY2hhcmFjdGVyIGZpdCB0aGlzIGxpbmU/CisgICAg
aWYgKHNwbGl0UG9zaXRpb24gPT0gZnJhZ21lbnRUb1NwbGl0LnN0YXJ0KCkpIHsKKyAgICAgICAg
aWYgKGtlZXBBdExlYXN0T25lQ2hhcmFjdGVyKQorICAgICAgICAgICAgKytzcGxpdFBvc2l0aW9u
OworICAgIH0gZWxzZSBpZiAoc3R5bGUuc2hvdWxkSHlwaGVuYXRlICYmIGVub3VnaFdpZHRoRm9y
SHlwaGVuYXRpb24oYXZhaWxhYmxlV2lkdGgsIHN0eWxlLmZvbnQucGl4ZWxTaXplKCkpKSB7Cisg
ICAgICAgIC8vIFdlIG1pZ2h0IGJlIGFibGUgdG8gZml0IHRoZSBoeXBoZW4gYXQgdGhlIHNwbGl0
IHBvc2l0aW9uLgorICAgICAgICBhdXRvIHNwbGl0UG9zaXRpb25XaXRoSHlwaGVuID0gc3BsaXRQ
b3NpdGlvbjsKKyAgICAgICAgLy8gRmluZCBhIHNwbGl0dGluZyBwb3NpdGlvbiB3aGVyZSBoeXBo
ZW4gc3VyZWx5IGZpdHMuCisgICAgICAgIGF1dG8gbGVmdFNpZGVXaWR0aCA9IHRleHRGcmFnbWVu
dEl0ZXJhdG9yLnRleHRXaWR0aChzdGFydCwgc3BsaXRQb3NpdGlvbiwgMCk7CisgICAgICAgIHdo
aWxlIChsZWZ0U2lkZVdpZHRoICsgc3R5bGUuaHlwaGVuU3RyaW5nV2lkdGggPiBhdmFpbGFibGVX
aWR0aCkgeworICAgICAgICAgICAgaWYgKC0tc3BsaXRQb3NpdGlvbldpdGhIeXBoZW4gPD0gc3Rh
cnQpCisgICAgICAgICAgICAgICAgYnJlYWs7IC8vIE5vIHNwYWNlIGZvciBoeXBoZW4uCisgICAg
ICAgICAgICBsZWZ0U2lkZVdpZHRoIC09IHRleHRGcmFnbWVudEl0ZXJhdG9yLnRleHRXaWR0aChz
cGxpdFBvc2l0aW9uV2l0aEh5cGhlbiwgc3BsaXRQb3NpdGlvbldpdGhIeXBoZW4gKyAxLCAwKTsK
KyAgICAgICAgfQorICAgICAgICBpZiAoc3BsaXRQb3NpdGlvbldpdGhIeXBoZW4gPiBzdGFydCkg
eworICAgICAgICAgICAgaWYgKGF1dG8gaHlwaGVuUG9zaXRpb24gPSB0ZXh0RnJhZ21lbnRJdGVy
YXRvci5sYXN0SHlwaGVuUG9zaXRpb24oZnJhZ21lbnRUb1NwbGl0LCBzcGxpdFBvc2l0aW9uV2l0
aEh5cGhlbiArIDEpKQorICAgICAgICAgICAgICAgIHJldHVybiBmcmFnbWVudFRvU3BsaXQuc3Bs
aXRXaXRoSHlwaGVuKCpoeXBoZW5Qb3NpdGlvbiwgdGV4dEZyYWdtZW50SXRlcmF0b3IpOworICAg
ICAgICB9CisgICAgfQogICAgIHJldHVybiBmcmFnbWVudFRvU3BsaXQuc3BsaXQoc3BsaXRQb3Np
dGlvbiwgdGV4dEZyYWdtZW50SXRlcmF0b3IpOwogfQogCkBAIC03MzYsOCArNzU5LDIwIEBAIHN0
YXRpYyBib29sIGNyZWF0ZUxpbmVSdW5zKExpbmVTdGF0ZSYgbGluZSwgY29uc3QgTGluZVN0YXRl
JiBwcmV2aW91c0xpbmUsIExheW91CiAgICAgICAgICAgICAgICAgbGluZS5hcHBlbmRGcmFnbWVu
dEFuZENyZWF0ZVJ1bklmTmVlZGVkKGZyYWdtZW50LCBydW5zKTsKICAgICAgICAgICAgICAgICBi
cmVhazsKICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIC8vIE5vbi1icmVha2FibGUgbm9uLXdo
aXRlc3BhY2UgZmlyc3QgZnJhZ21lbnQuIEFkZCBpdCB0byB0aGUgY3VycmVudCBsaW5lLiAtaXQg
b3ZlcmZsb3dzIHRob3VnaC4KICAgICAgICAgICAgIEFTU0VSVChmcmFnbWVudC50eXBlKCkgPT0g
VGV4dEZyYWdtZW50SXRlcmF0b3I6OlRleHRGcmFnbWVudDo6Tm9uV2hpdGVzcGFjZSk7CisgICAg
ICAgICAgICAvLyBGaW5kIG91dCBpZiB0aGlzIG5vbi13aGl0ZXNwYWNlIGZyYWdtZW50IGhhcyBh
IGh5cGhlbiB3aGVyZSB3ZSBjYW4gYnJlYWsuCisgICAgICAgICAgICBpZiAoc3R5bGUuc2hvdWxk
SHlwaGVuYXRlKSB7CisgICAgICAgICAgICAgICAgYXV0byBmcmFnbWVudFRvU3BsaXQgPSBmcmFn
bWVudDsKKyAgICAgICAgICAgICAgICAvLyBTcGxpdCBhbmQgY2hlY2sgaWYgd2UgYWN0dWFsbHkg
ZW5kZWQgdXAgd2l0aCBhIGh5cGhlbi4KKyAgICAgICAgICAgICAgICBhdXRvIG92ZXJmbG93RnJh
Z21lbnQgPSBzcGxpdEZyYWdtZW50VG9GaXRMaW5lKGZyYWdtZW50VG9TcGxpdCwgbGluZS5hdmFp
bGFibGVXaWR0aCgpIC0gbGluZS53aWR0aCgpLCBlbXB0eUxpbmUsIHRleHRGcmFnbWVudEl0ZXJh
dG9yKTsKKyAgICAgICAgICAgICAgICBpZiAoZnJhZ21lbnRUb1NwbGl0Lmhhc0h5cGhlbigpKSB7
CisgICAgICAgICAgICAgICAgICAgIGxpbmUuc2V0T3ZlcmZsb3dlZEZyYWdtZW50KG92ZXJmbG93
RnJhZ21lbnQpOworICAgICAgICAgICAgICAgICAgICBsaW5lLmFwcGVuZEZyYWdtZW50QW5kQ3Jl
YXRlUnVuSWZOZWVkZWQoZnJhZ21lbnRUb1NwbGl0LCBydW5zKTsKKyAgICAgICAgICAgICAgICAg
ICAgYnJlYWs7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIC8vIE5vIGh5cGhl
biwgbm8gc3BsaXQuCisgICAgICAgICAgICB9CisgICAgICAgICAgICAvLyBOb24tYnJlYWthYmxl
IG5vbi13aGl0ZXNwYWNlIGZpcnN0IGZyYWdtZW50LiBBZGQgaXQgdG8gdGhlIGN1cnJlbnQgbGlu
ZS4gLWl0IG92ZXJmbG93cyB0aG91Z2guCiAgICAgICAgICAgICBpZiAoZW1wdHlMaW5lKSB7CiAg
ICAgICAgICAgICAgICAgZm9yY2VGcmFnbWVudFRvTGluZShsaW5lLCB0ZXh0RnJhZ21lbnRJdGVy
YXRvciwgcnVucywgZnJhZ21lbnQpOwogICAgICAgICAgICAgICAgIGJyZWFrOwpAQCAtOTU2LDgg
Kzk5MSw4IEBAIHN0YXRpYyB2b2lkIHByaW50UmVhc29uKEF2b2lkYW5jZVJlYXNvbiByZWFzb24s
IFRleHRTdHJlYW0mIHN0cmVhbSkKICAgICBjYXNlIEZsb3dIYXNMaW5lU25hcDoKICAgICAgICAg
c3RyZWFtIDw8ICItd2Via2l0LWxpbmUtc25hcCBwcm9wZXJ0eSI7CiAgICAgICAgIGJyZWFrOwot
ICAgIGNhc2UgRmxvd0hhc0h5cGVuc0F1dG86Ci0gICAgICAgIHN0cmVhbSA8PCAiaHlwaGVuOiBh
dXRvIjsKKyAgICBjYXNlIEZsb3dIYXNIeXBlbnNMaW1pdDoKKyAgICAgICAgc3RyZWFtIDw8ICJo
eXBoZW4tbGltaXQtKiBwcm9wZXJ0eSI7CiAgICAgICAgIGJyZWFrOwogICAgIGNhc2UgRmxvd0hh
c1RleHRFbXBoYXNpc0ZpbGxPck1hcms6CiAgICAgICAgIHN0cmVhbSA8PCAidGV4dC1lbXBoYXNp
cyAoZmlsbC9tYXJrKSI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvU2lt
cGxlTGluZUxheW91dC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1NpbXBsZUxpbmVMYXlv
dXQuaAppbmRleCBmNjU1NDM4NDczNzgyNTIxOTZlZjUwNjY3YTY1MDEzMGFhMjM0ZWE3Li5iMjg4
ZTA0OGI5NjFkNDRiNTMwNTZiYTMyZTU4MjkxN2U2Y2VlYTQ2IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvU2ltcGxlTGluZUxheW91dC5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9TaW1wbGVMaW5lTGF5b3V0LmgKQEAgLTQ2LDE3ICs0NiwxOSBAQCBzdHJ1Y3Qg
UnVuIHsKICNpZiBDT01QSUxFUihNU1ZDKQogICAgIFJ1bigpIHsgfQogI2VuZGlmCi0gICAgUnVu
KHVuc2lnbmVkIHN0YXJ0LCB1bnNpZ25lZCBlbmQsIGZsb2F0IGxvZ2ljYWxMZWZ0LCBmbG9hdCBs
b2dpY2FsUmlnaHQsIGJvb2wgaXNFbmRPZkxpbmUpCi0gICAgICAgIDogc3RhcnQoc3RhcnQpCi0g
ICAgICAgICwgZW5kKGVuZCkKKyAgICBSdW4odW5zaWduZWQgc3RhcnQsIHVuc2lnbmVkIGVuZCwg
ZmxvYXQgbG9naWNhbExlZnQsIGZsb2F0IGxvZ2ljYWxSaWdodCwgYm9vbCBpc0VuZE9mTGluZSwg
Ym9vbCBoYXNIeXBoZW4pCisgICAgICAgIDogZW5kKGVuZCkKKyAgICAgICAgLCBzdGFydChzdGFy
dCkKICAgICAgICAgLCBpc0VuZE9mTGluZShpc0VuZE9mTGluZSkKKyAgICAgICAgLCBoYXNIeXBo
ZW4oaGFzSHlwaGVuKQogICAgICAgICAsIGxvZ2ljYWxMZWZ0KGxvZ2ljYWxMZWZ0KQogICAgICAg
ICAsIGxvZ2ljYWxSaWdodChsb2dpY2FsUmlnaHQpCiAgICAgeyB9CiAKLSAgICB1bnNpZ25lZCBz
dGFydDsKLSAgICB1bnNpZ25lZCBlbmQgOiAzMTsKKyAgICB1bnNpZ25lZCBlbmQ7CisgICAgdW5z
aWduZWQgc3RhcnQgOiAzMDsKICAgICB1bnNpZ25lZCBpc0VuZE9mTGluZSA6IDE7CisgICAgdW5z
aWduZWQgaGFzSHlwaGVuIDogMTsKICAgICBmbG9hdCBsb2dpY2FsTGVmdDsKICAgICBmbG9hdCBs
b2dpY2FsUmlnaHQ7CiAgICAgLy8gVE9ETzogTW92ZSB0aGVzZSBvcHRpb25hbCBpdGVtcyBvdXQg
b2YgU2ltcGxlTGluZUxheW91dDo6UnVuIHRvIGEgc3VwcGxlbWVudGFyeSBzdHJ1Y3R1cmUuCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvU2ltcGxlTGluZUxheW91dEZsb3dD
b250ZW50cy5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1NpbXBsZUxpbmVMYXlvdXRGbG93
Q29udGVudHMuaAppbmRleCBlODAxOThjY2FhYjAwMjdjYzUyNjBlYjkxZTI2Nzg4ZTI5YjI1MGEz
Li5iYjMzMWVjNWRjOTM5OTg4ZmU0ZDBhMmI1ZmYyMjhkMTlkNDBhNzcyIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvU2ltcGxlTGluZUxheW91dEZsb3dDb250ZW50cy5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9TaW1wbGVMaW5lTGF5b3V0Rmxvd0NvbnRlbnRz
LmgKQEAgLTM3LDYgKzM3LDEyIEBAIHB1YmxpYzoKICAgICBGbG93Q29udGVudHMoY29uc3QgUmVu
ZGVyQmxvY2tGbG93Jik7CiAKICAgICBzdHJ1Y3QgU2VnbWVudCB7CisgICAgICAgIHVuc2lnbmVk
IHRvU2VnbWVudFBvc2l0aW9uKHVuc2lnbmVkIHBvc2l0aW9uKSBjb25zdAorICAgICAgICB7Cisg
ICAgICAgICAgICBBU1NFUlQocG9zaXRpb24gPj0gc3RhcnQpOworICAgICAgICAgICAgcmV0dXJu
IHBvc2l0aW9uIC0gc3RhcnQ7CisgICAgICAgIH0KKyAgICAgICAgdW5zaWduZWQgdG9SZW5kZXJQ
b3NpdGlvbih1bnNpZ25lZCBwb3NpdGlvbikgY29uc3QgeyByZXR1cm4gc3RhcnQgKyBwb3NpdGlv
bjsgfQogICAgICAgICB1bnNpZ25lZCBzdGFydDsKICAgICAgICAgdW5zaWduZWQgZW5kOwogICAg
ICAgICBTdHJpbmcgdGV4dDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9T
aW1wbGVMaW5lTGF5b3V0UmVzb2x2ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Np
bXBsZUxpbmVMYXlvdXRSZXNvbHZlci5jcHAKaW5kZXggYTRiNjFhZWIyYWI1YjI3NWY2YzU4MjAy
Zjk0ZjIzODU3ZjViZGZjMS4uZWNhNWYxM2UyZjE1MWU0YjBjMDVhNDdiNmFhYjJjZWVmZDhhZjVl
MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1NpbXBsZUxpbmVMYXlvdXRS
ZXNvbHZlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1NpbXBsZUxpbmVMYXlv
dXRSZXNvbHZlci5jcHAKQEAgLTQ3LDYgKzQ3LDE5IEBAIHN0YXRpYyBGbG9hdFNpemUgbGluZVNp
emUoZmxvYXQgbG9naWNhbExlZnQsIGZsb2F0IGxvZ2ljYWxSaWdodCwgZmxvYXQgaGVpZ2h0KQog
UnVuUmVzb2x2ZXI6OlJ1bjo6UnVuKGNvbnN0IEl0ZXJhdG9yJiBpdGVyYXRvcikKICAgICA6IG1f
aXRlcmF0b3IoaXRlcmF0b3IpCiB7CisgICAgY29uc3RydWN0U3RyaW5nRm9ySHlwaGVuSWZOZWVk
ZWQoKTsKK30KKwordm9pZCBSdW5SZXNvbHZlcjo6UnVuOjpjb25zdHJ1Y3RTdHJpbmdGb3JIeXBo
ZW5JZk5lZWRlZCgpCit7CisgICAgYXV0byYgcnVuID0gbV9pdGVyYXRvci5zaW1wbGVSdW4oKTsK
KyAgICBpZiAoIXJ1bi5oYXNIeXBoZW4pCisgICAgICAgIHJldHVybjsKKyAgICAvLyBFbXB0eSBy
dW5zIHNob3VsZCBub3QgaGF2ZSBoeXBoZW4uCisgICAgQVNTRVJUKHJ1bi5zdGFydCA8IHJ1bi5l
bmQpOworICAgIGF1dG8mIHNlZ21lbnQgPSBtX2l0ZXJhdG9yLnJlc29sdmVyKCkubV9mbG93Q29u
dGVudHMuc2VnbWVudEZvclJ1bihydW4uc3RhcnQsIHJ1bi5lbmQpOworICAgIGF1dG8gdGV4dCA9
IFN0cmluZ1ZpZXcoc2VnbWVudC50ZXh0KS5zdWJzdHJpbmcoc2VnbWVudC50b1NlZ21lbnRQb3Np
dGlvbihydW4uc3RhcnQpLCBydW4uZW5kIC0gcnVuLnN0YXJ0KTsKKyAgICBtX3RleHRXaXRoSHlw
aGVuID0gbWFrZVN0cmluZyh0ZXh0LCBtX2l0ZXJhdG9yLnJlc29sdmVyKCkuZmxvdygpLnN0eWxl
KCkuaHlwaGVuU3RyaW5nKCkpOwogfQogCiBGbG9hdFJlY3QgUnVuUmVzb2x2ZXI6OlJ1bjo6cmVj
dCgpIGNvbnN0CkBAIC02OSwxMiArODIsMTQgQEAgRmxvYXRSZWN0IFJ1blJlc29sdmVyOjpSdW46
OnJlY3QoKSBjb25zdAogCiBTdHJpbmdWaWV3IFJ1blJlc29sdmVyOjpSdW46OnRleHQoKSBjb25z
dAogeworICAgIGlmIChtX3RleHRXaXRoSHlwaGVuKQorICAgICAgICByZXR1cm4gU3RyaW5nVmll
dygqbV90ZXh0V2l0aEh5cGhlbik7CiAgICAgYXV0byYgcnVuID0gbV9pdGVyYXRvci5zaW1wbGVS
dW4oKTsKICAgICBBU1NFUlQocnVuLnN0YXJ0IDwgcnVuLmVuZCk7CiAgICAgYXV0byYgc2VnbWVu
dCA9IG1faXRlcmF0b3IucmVzb2x2ZXIoKS5tX2Zsb3dDb250ZW50cy5zZWdtZW50Rm9yUnVuKHJ1
bi5zdGFydCwgcnVuLmVuZCk7CiAgICAgLy8gV2UgY3VycmVudGx5IHNwbGl0IHJ1bnMgb24gc2Vn
bWVudCBib3VuZGFyaWVzIChkaWZmZXJlbnQgUmVuZGVyT2JqZWN0KS4KICAgICBBU1NFUlQocnVu
LmVuZCA8PSBzZWdtZW50LmVuZCk7Ci0gICAgcmV0dXJuIFN0cmluZ1ZpZXcoc2VnbWVudC50ZXh0
KS5zdWJzdHJpbmcocnVuLnN0YXJ0IC0gc2VnbWVudC5zdGFydCwgcnVuLmVuZCAtIHJ1bi5zdGFy
dCk7CisgICAgcmV0dXJuIFN0cmluZ1ZpZXcoc2VnbWVudC50ZXh0KS5zdWJzdHJpbmcoc2VnbWVu
dC50b1NlZ21lbnRQb3NpdGlvbihydW4uc3RhcnQpLCBydW4uZW5kIC0gcnVuLnN0YXJ0KTsKIH0K
IAogUnVuUmVzb2x2ZXI6Okl0ZXJhdG9yOjpJdGVyYXRvcihjb25zdCBSdW5SZXNvbHZlciYgcmVz
b2x2ZXIsIHVuc2lnbmVkIHJ1bkluZGV4LCB1bnNpZ25lZCBsaW5lSW5kZXgpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvU2ltcGxlTGluZUxheW91dFJlc29sdmVyLmggYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvU2ltcGxlTGluZUxheW91dFJlc29sdmVyLmgKaW5kZXgg
ZGI2ZGQxZDcxNTQ2ODJiZGQzM2FkNGFmZTVjNjJmMjFhMTA4MzE1OC4uODRjNzY4YjUzZTZiMTUw
YTJmZTJlOWMyMTM3ZTlhZGNmOTZmNzczMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1NpbXBsZUxpbmVMYXlvdXRSZXNvbHZlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9TaW1wbGVMaW5lTGF5b3V0UmVzb2x2ZXIuaApAQCAtNjUsMTMgKzY1LDE2IEBAIHB1
YmxpYzoKICAgICAgICAgaW50IGJhc2VsaW5lUG9zaXRpb24oKSBjb25zdDsKICAgICAgICAgU3Ry
aW5nVmlldyB0ZXh0KCkgY29uc3Q7CiAgICAgICAgIGJvb2wgaXNFbmRPZkxpbmUoKSBjb25zdDsK
KyAgICAgICAgYm9vbCBoYXNIeXBoZW4oKSBjb25zdCB7IHJldHVybiBtX2l0ZXJhdG9yLnNpbXBs
ZVJ1bigpLmhhc0h5cGhlbjsgfQogCiAgICAgICAgIHVuc2lnbmVkIGxpbmVJbmRleCgpIGNvbnN0
OwogCiAgICAgcHJpdmF0ZToKICAgICAgICAgZmxvYXQgY29tcHV0ZUJhc2VsaW5lUG9zaXRpb24o
KSBjb25zdDsKKyAgICAgICAgdm9pZCBjb25zdHJ1Y3RTdHJpbmdGb3JIeXBoZW5JZk5lZWRlZCgp
OwogCiAgICAgICAgIGNvbnN0IEl0ZXJhdG9yJiBtX2l0ZXJhdG9yOworICAgICAgICBzdGQ6Om9w
dGlvbmFsPFN0cmluZz4gbV90ZXh0V2l0aEh5cGhlbjsKICAgICB9OwogCiAgICAgY2xhc3MgSXRl
cmF0b3IgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1NpbXBsZUxpbmVM
YXlvdXRUZXh0RnJhZ21lbnRJdGVyYXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
U2ltcGxlTGluZUxheW91dFRleHRGcmFnbWVudEl0ZXJhdG9yLmNwcAppbmRleCBlOWFjNmVkMWI0
MWJmZjRjNzRjOThkZWY4NGQ3YTY4YTg1NjU4YjY2Li5hNmQ1ZTcyMTUwNmJkN2E2YmFkMmFmYTZm
NDAwY2I0ODQwOGQyZTdmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvU2lt
cGxlTGluZUxheW91dFRleHRGcmFnbWVudEl0ZXJhdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvU2ltcGxlTGluZUxheW91dFRleHRGcmFnbWVudEl0ZXJhdG9yLmNwcApAQCAt
MjYsNiArMjYsNyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIlNpbXBsZUxpbmVM
YXlvdXRUZXh0RnJhZ21lbnRJdGVyYXRvci5oIgogCisjaW5jbHVkZSAiSHlwaGVuYXRpb24uaCIK
ICNpbmNsdWRlICJSZW5kZXJCbG9ja0Zsb3cuaCIKICNpbmNsdWRlICJSZW5kZXJDaGlsZEl0ZXJh
dG9yLmgiCiAjaW5jbHVkZSAiU2ltcGxlTGluZUxheW91dEZsb3dDb250ZW50cy5oIgpAQCAtNDYs
NiArNDcsOCBAQCBUZXh0RnJhZ21lbnRJdGVyYXRvcjo6U3R5bGU6OlN0eWxlKGNvbnN0IFJlbmRl
clN0eWxlJiBzdHlsZSkKICAgICAsIHNwYWNlV2lkdGgoZm9udC53aWR0aChUZXh0UnVuKFN0cmlu
Z1ZpZXcoJnNwYWNlLCAxKSkpKQogICAgICwgd29yZFNwYWNpbmcoZm9udC53b3JkU3BhY2luZygp
KQogICAgICwgdGFiV2lkdGgoY29sbGFwc2VXaGl0ZXNwYWNlID8gMCA6IHN0eWxlLnRhYlNpemUo
KSkKKyAgICAsIHNob3VsZEh5cGhlbmF0ZShzdHlsZS5oeXBoZW5zKCkgPT0gSHlwaGVuc0F1dG8g
JiYgY2FuSHlwaGVuYXRlKHN0eWxlLmxvY2FsZSgpKSkKKyAgICAsIGh5cGhlblN0cmluZ1dpZHRo
KHNob3VsZEh5cGhlbmF0ZSA/IGZvbnQud2lkdGgoVGV4dFJ1bihzdHlsZS5oeXBoZW5TdHJpbmco
KSkpIDogMCkKICAgICAsIGxvY2FsZShzdHlsZS5sb2NhbGUoKSkKIHsKIH0KQEAgLTE0Myw4ICsx
NDYsNyBAQCB1bnNpZ25lZCBUZXh0RnJhZ21lbnRJdGVyYXRvcjo6bmV4dEJyZWFrYWJsZVBvc2l0
aW9uKGNvbnN0IEZsb3dDb250ZW50czo6U2VnbWVudAogICAgICAgICBtX2xpbmVCcmVha0l0ZXJh
dG9yLnNldFByaW9yQ29udGV4dChsYXN0Q2hhcmFjdGVyLCBzZWNvbmRUb0xhc3RDaGFyYWN0ZXIp
OwogICAgICAgICBtX2xpbmVCcmVha0l0ZXJhdG9yLnJlc2V0U3RyaW5nQW5kUmVsZWFzZUl0ZXJh
dG9yKHNlZ21lbnQudGV4dCwgbV9zdHlsZS5sb2NhbGUsIExpbmVCcmVha0l0ZXJhdG9yTW9kZTo6
RGVmYXVsdCk7CiAgICAgfQotICAgIHVuc2lnbmVkIHNlZ21lbnRQb3NpdGlvbiA9IHN0YXJ0UG9z
aXRpb24gLSBzZWdtZW50LnN0YXJ0OwotICAgIHJldHVybiBzZWdtZW50LnN0YXJ0ICsgbmV4dEJy
ZWFrYWJsZVBvc2l0aW9uSW5TZWdtZW50KG1fbGluZUJyZWFrSXRlcmF0b3IsIHNlZ21lbnRQb3Np
dGlvbiwgbV9zdHlsZS5icmVha05CU1AsIG1fc3R5bGUua2VlcEFsbFdvcmRzRm9yQ0pLKTsKKyAg
ICByZXR1cm4gc2VnbWVudC50b1JlbmRlclBvc2l0aW9uKG5leHRCcmVha2FibGVQb3NpdGlvbklu
U2VnbWVudChtX2xpbmVCcmVha0l0ZXJhdG9yLCBzZWdtZW50LnRvU2VnbWVudFBvc2l0aW9uKHN0
YXJ0UG9zaXRpb24pLCBtX3N0eWxlLmJyZWFrTkJTUCwgbV9zdHlsZS5rZWVwQWxsV29yZHNGb3JD
SkspKTsKIH0KIAogdGVtcGxhdGUgPHR5cGVuYW1lIENoYXJhY3RlclR5cGU+CkBAIC0xNTQsNyAr
MTU2LDcgQEAgdW5zaWduZWQgVGV4dEZyYWdtZW50SXRlcmF0b3I6Om5leHROb25XaGl0ZXNwYWNl
UG9zaXRpb24oY29uc3QgRmxvd0NvbnRlbnRzOjpTZWcKICAgICBjb25zdCBhdXRvKiB0ZXh0ID0g
c2VnbWVudC50ZXh0LmNoYXJhY3RlcnM8Q2hhcmFjdGVyVHlwZT4oKTsKICAgICB1bnNpZ25lZCBw
b3NpdGlvbiA9IHN0YXJ0UG9zaXRpb247CiAgICAgZm9yICg7IHBvc2l0aW9uIDwgc2VnbWVudC5l
bmQ7ICsrcG9zaXRpb24pIHsKLSAgICAgICAgYXV0byBjaGFyYWN0ZXIgPSB0ZXh0W3Bvc2l0aW9u
IC0gc2VnbWVudC5zdGFydF07CisgICAgICAgIGF1dG8gY2hhcmFjdGVyID0gdGV4dFtzZWdtZW50
LnRvU2VnbWVudFBvc2l0aW9uKHBvc2l0aW9uKV07CiAgICAgICAgIGJvb2wgaXNXaGl0ZXNwYWNl
ID0gY2hhcmFjdGVyID09ICcgJyB8fCBjaGFyYWN0ZXIgPT0gJ1x0JyB8fCAoIW1fc3R5bGUucHJl
c2VydmVOZXdsaW5lICYmIGNoYXJhY3RlciA9PSAnXG4nKTsKICAgICAgICAgaWYgKCFpc1doaXRl
c3BhY2UpCiAgICAgICAgICAgICByZXR1cm4gcG9zaXRpb247CkBAIC0xNzAsMTAgKzE3MiwyOCBA
QCBmbG9hdCBUZXh0RnJhZ21lbnRJdGVyYXRvcjo6dGV4dFdpZHRoKHVuc2lnbmVkIGZyb20sIHVu
c2lnbmVkIHRvLCBmbG9hdCB4UG9zaXRpbwogICAgIGlmICghbV9zdHlsZS5mb250LnNpemUoKSkK
ICAgICAgICAgcmV0dXJuIDA7CiAgICAgaWYgKG1fc3R5bGUuZm9udC5pc0ZpeGVkUGl0Y2goKSB8
fCAoZnJvbSA9PSBzZWdtZW50LnN0YXJ0ICYmIHRvID09IHNlZ21lbnQuZW5kKSkKLSAgICAgICAg
cmV0dXJuIGRvd25jYXN0PFJlbmRlclRleHQ+KHNlZ21lbnQucmVuZGVyZXIpLndpZHRoKGZyb20g
LSBzZWdtZW50LnN0YXJ0LCB0byAtIGZyb20sIG1fc3R5bGUuZm9udCwgeFBvc2l0aW9uLCBudWxs
cHRyLCBudWxscHRyKTsKKyAgICAgICAgcmV0dXJuIGRvd25jYXN0PFJlbmRlclRleHQ+KHNlZ21l
bnQucmVuZGVyZXIpLndpZHRoKHNlZ21lbnQudG9TZWdtZW50UG9zaXRpb24oZnJvbSksIHRvIC0g
ZnJvbSwgbV9zdHlsZS5mb250LCB4UG9zaXRpb24sIG51bGxwdHIsIG51bGxwdHIpOwogICAgIHJl
dHVybiBydW5XaWR0aChzZWdtZW50LCBmcm9tLCB0bywgeFBvc2l0aW9uKTsKIH0KIAorc3RkOjpv
cHRpb25hbDx1bnNpZ25lZD4gVGV4dEZyYWdtZW50SXRlcmF0b3I6Omxhc3RIeXBoZW5Qb3NpdGlv
bihjb25zdCBUZXh0RnJhZ21lbnRJdGVyYXRvcjo6VGV4dEZyYWdtZW50JiBydW4sIHVuc2lnbmVk
IGJlZm9yZUluZGV4KSBjb25zdAoreworICAgIEFTU0VSVChydW4uc3RhcnQoKSA8IGJlZm9yZUlu
ZGV4KTsKKyAgICBhdXRvJiBzZWdtZW50ID0gKm1fY3VycmVudFNlZ21lbnQ7CisgICAgQVNTRVJU
KHNlZ21lbnQuc3RhcnQgPD0gYmVmb3JlSW5kZXggJiYgYmVmb3JlSW5kZXggPD0gc2VnbWVudC5l
bmQpOworICAgIEFTU0VSVChpczxSZW5kZXJUZXh0PihzZWdtZW50LnJlbmRlcmVyKSk7CisgICAg
aWYgKCFtX3N0eWxlLnNob3VsZEh5cGhlbmF0ZSB8fCBydW4udHlwZSgpICE9IFRleHRGcmFnbWVu
dDo6Tm9uV2hpdGVzcGFjZSkKKyAgICAgICAgcmV0dXJuIHN0ZDo6bnVsbG9wdDsKKyAgICAKKyAg
ICBhdXRvIHJ1blN0YXJ0ID0gc2VnbWVudC50b1NlZ21lbnRQb3NpdGlvbihydW4uc3RhcnQoKSk7
CisgICAgYXV0byBiZWZvcmUgPSBzZWdtZW50LnRvU2VnbWVudFBvc2l0aW9uKGJlZm9yZUluZGV4
KSAtIHJ1blN0YXJ0OworICAgIGF1dG8gc3Vic3RyaW5nRm9ySHlwaGVuYXRpb24gPSBTdHJpbmdW
aWV3KHNlZ21lbnQudGV4dCkuc3Vic3RyaW5nKHJ1blN0YXJ0LCBydW4uZW5kKCkgLSBydW4uc3Rh
cnQoKSk7CisgICAgYXV0byBoeXBoZW5Mb2NhdGlvbiA9IGxhc3RIeXBoZW5Mb2NhdGlvbihzdWJz
dHJpbmdGb3JIeXBoZW5hdGlvbiwgYmVmb3JlLCBtX3N0eWxlLmxvY2FsZSk7CisgICAgaWYgKGh5
cGhlbkxvY2F0aW9uKQorICAgICAgICByZXR1cm4gc2VnbWVudC50b1JlbmRlclBvc2l0aW9uKGh5
cGhlbkxvY2F0aW9uICsgcnVuU3RhcnQpOworICAgIHJldHVybiBzdGQ6Om51bGxvcHQ7Cit9CisK
IHVuc2lnbmVkIFRleHRGcmFnbWVudEl0ZXJhdG9yOjpza2lwVG9OZXh0UG9zaXRpb24oUG9zaXRp
b25UeXBlIHBvc2l0aW9uVHlwZSwgdW5zaWduZWQgc3RhcnRQb3NpdGlvbiwgZmxvYXQmIHdpZHRo
LCBmbG9hdCB4UG9zaXRpb24sIGJvb2wmIG92ZXJsYXBwaW5nRnJhZ21lbnQpCiB7CiAgICAgb3Zl
cmxhcHBpbmdGcmFnbWVudCA9IGZhbHNlOwpAQCAtMjE5LDggKzIzOSw4IEBAIGZsb2F0IFRleHRG
cmFnbWVudEl0ZXJhdG9yOjpydW5XaWR0aChjb25zdCBGbG93Q29udGVudHM6OlNlZ21lbnQmIHNl
Z21lbnQsIHVuc2lnCiAgICAgQVNTRVJUKHN0YXJ0UG9zaXRpb24gPD0gZW5kUG9zaXRpb24pOwog
ICAgIGlmIChzdGFydFBvc2l0aW9uID09IGVuZFBvc2l0aW9uKQogICAgICAgICByZXR1cm4gMDsK
LSAgICB1bnNpZ25lZCBzZWdtZW50RnJvbSA9IHN0YXJ0UG9zaXRpb24gLSBzZWdtZW50LnN0YXJ0
OwotICAgIHVuc2lnbmVkIHNlZ21lbnRUbyA9IGVuZFBvc2l0aW9uIC0gc2VnbWVudC5zdGFydDsK
KyAgICB1bnNpZ25lZCBzZWdtZW50RnJvbSA9IHNlZ21lbnQudG9TZWdtZW50UG9zaXRpb24oc3Rh
cnRQb3NpdGlvbik7CisgICAgdW5zaWduZWQgc2VnbWVudFRvID0gc2VnbWVudC50b1NlZ21lbnRQ
b3NpdGlvbihlbmRQb3NpdGlvbik7CiAgICAgYm9vbCBtZWFzdXJlV2l0aEVuZFNwYWNlID0gbV9z
dHlsZS5jb2xsYXBzZVdoaXRlc3BhY2UgJiYgc2VnbWVudFRvIDwgc2VnbWVudC50ZXh0Lmxlbmd0
aCgpICYmIHNlZ21lbnQudGV4dFtzZWdtZW50VG9dID09ICcgJzsKICAgICBpZiAobWVhc3VyZVdp
dGhFbmRTcGFjZSkKICAgICAgICAgKytzZWdtZW50VG87CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvU2ltcGxlTGluZUxheW91dFRleHRGcmFnbWVudEl0ZXJhdG9yLmggYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvU2ltcGxlTGluZUxheW91dFRleHRGcmFnbWVudEl0ZXJh
dG9yLmgKaW5kZXggOGNhODg0MzBiNTk3YjZjYTlmZDc2NGI3ZDMxMGU3NGQ0OWQzYmY2Mi4uYWQ3
ODQ5OTUwZmVlMWI1YTA5MDg4ZTJiYWIyZjgwMjZlYmY0YmJlNCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1NpbXBsZUxpbmVMYXlvdXRUZXh0RnJhZ21lbnRJdGVyYXRvci5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9TaW1wbGVMaW5lTGF5b3V0VGV4dEZyYWdt
ZW50SXRlcmF0b3IuaApAQCAtNDMsNyArNDMsNyBAQCBwdWJsaWM6CiAgICAgcHVibGljOgogICAg
ICAgICBlbnVtIFR5cGUgeyBDb250ZW50RW5kLCBTb2Z0TGluZUJyZWFrLCBIYXJkTGluZUJyZWFr
LCBXaGl0ZXNwYWNlLCBOb25XaGl0ZXNwYWNlIH07CiAgICAgICAgIFRleHRGcmFnbWVudCgpID0g
ZGVmYXVsdDsKLSAgICAgICAgVGV4dEZyYWdtZW50KHVuc2lnbmVkIHN0YXJ0LCB1bnNpZ25lZCBl
bmQsIGZsb2F0IHdpZHRoLCBUeXBlIHR5cGUsIGJvb2wgaXNMYXN0SW5SZW5kZXJlciA9IGZhbHNl
LCBib29sIG92ZXJsYXBzVG9OZXh0UmVuZGVyZXIgPSBmYWxzZSwgYm9vbCBpc0NvbGxhcHNlZCA9
IGZhbHNlLCBib29sIGlzQ29sbGFwc2libGUgPSBmYWxzZSkKKyAgICAgICAgVGV4dEZyYWdtZW50
KHVuc2lnbmVkIHN0YXJ0LCB1bnNpZ25lZCBlbmQsIGZsb2F0IHdpZHRoLCBUeXBlIHR5cGUsIGJv
b2wgaXNMYXN0SW5SZW5kZXJlciA9IGZhbHNlLCBib29sIG92ZXJsYXBzVG9OZXh0UmVuZGVyZXIg
PSBmYWxzZSwgYm9vbCBpc0NvbGxhcHNlZCA9IGZhbHNlLCBib29sIGlzQ29sbGFwc2libGUgPSBm
YWxzZSwgYm9vbCBoYXNIeXBoZW4gPSBmYWxzZSkKICAgICAgICAgICAgIDogbV9zdGFydChzdGFy
dCkKICAgICAgICAgICAgICwgbV9lbmQoZW5kKQogICAgICAgICAgICAgLCBtX3dpZHRoKHdpZHRo
KQpAQCAtNTIsNiArNTIsNyBAQCBwdWJsaWM6CiAgICAgICAgICAgICAsIG1fb3ZlcmxhcHNUb05l
eHRSZW5kZXJlcihvdmVybGFwc1RvTmV4dFJlbmRlcmVyKQogICAgICAgICAgICAgLCBtX2lzQ29s
bGFwc2VkKGlzQ29sbGFwc2VkKQogICAgICAgICAgICAgLCBtX2lzQ29sbGFwc2libGUoaXNDb2xs
YXBzaWJsZSkKKyAgICAgICAgICAgICwgbV9oYXNIeXBoZW4oaGFzSHlwaGVuKQogICAgICAgICB7
CiAgICAgICAgIH0KIApAQCAtNjQsOSArNjUsMTEgQEAgcHVibGljOgogICAgICAgICBib29sIGlz
TGluZUJyZWFrKCkgY29uc3QgeyByZXR1cm4gbV90eXBlID09IFNvZnRMaW5lQnJlYWsgfHwgbV90
eXBlID09IEhhcmRMaW5lQnJlYWs7IH0KICAgICAgICAgYm9vbCBpc0NvbGxhcHNlZCgpIGNvbnN0
IHsgcmV0dXJuIG1faXNDb2xsYXBzZWQ7IH0KICAgICAgICAgYm9vbCBpc0NvbGxhcHNpYmxlKCkg
Y29uc3QgeyByZXR1cm4gbV9pc0NvbGxhcHNpYmxlOyB9CisgICAgICAgIGJvb2wgaGFzSHlwaGVu
KCkgY29uc3QgeyByZXR1cm4gbV9oYXNIeXBoZW47IH0KIAogICAgICAgICBib29sIGlzRW1wdHko
KSBjb25zdCB7IHJldHVybiBzdGFydCgpID09IGVuZCgpICYmICFpc0xpbmVCcmVhaygpOyB9CiAg
ICAgICAgIFRleHRGcmFnbWVudCBzcGxpdCh1bnNpZ25lZCBzcGxpdFBvc2l0aW9uLCBjb25zdCBU
ZXh0RnJhZ21lbnRJdGVyYXRvciYpOworICAgICAgICBUZXh0RnJhZ21lbnQgc3BsaXRXaXRoSHlw
aGVuKHVuc2lnbmVkIGh5cGhlblBvc2l0aW9uLCBjb25zdCBUZXh0RnJhZ21lbnRJdGVyYXRvciYp
OwogICAgICAgICBib29sIG9wZXJhdG9yPT0oY29uc3QgVGV4dEZyYWdtZW50JiBvdGhlcikgY29u
c3QKICAgICAgICAgewogICAgICAgICAgICAgcmV0dXJuIG1fc3RhcnQgPT0gb3RoZXIubV9zdGFy
dApAQCAtNzYsNyArNzksOCBAQCBwdWJsaWM6CiAgICAgICAgICAgICAgICAgJiYgbV9pc0xhc3RJ
blJlbmRlcmVyID09IG90aGVyLm1faXNMYXN0SW5SZW5kZXJlcgogICAgICAgICAgICAgICAgICYm
IG1fb3ZlcmxhcHNUb05leHRSZW5kZXJlciA9PSBvdGhlci5tX292ZXJsYXBzVG9OZXh0UmVuZGVy
ZXIKICAgICAgICAgICAgICAgICAmJiBtX2lzQ29sbGFwc2VkID09IG90aGVyLm1faXNDb2xsYXBz
ZWQKLSAgICAgICAgICAgICAgICAmJiBtX2lzQ29sbGFwc2libGUgPT0gb3RoZXIubV9pc0NvbGxh
cHNpYmxlOworICAgICAgICAgICAgICAgICYmIG1faXNDb2xsYXBzaWJsZSA9PSBvdGhlci5tX2lz
Q29sbGFwc2libGUKKyAgICAgICAgICAgICAgICAmJiBtX2hhc0h5cGhlbiA9PSBvdGhlci5tX2hh
c0h5cGhlbjsKICAgICAgICAgfQogCiAgICAgcHJpdmF0ZToKQEAgLTg4LDEwICs5MiwxNCBAQCBw
dWJsaWM6CiAgICAgICAgIGJvb2wgbV9vdmVybGFwc1RvTmV4dFJlbmRlcmVyIHsgZmFsc2UgfTsK
ICAgICAgICAgYm9vbCBtX2lzQ29sbGFwc2VkIHsgZmFsc2UgfTsKICAgICAgICAgYm9vbCBtX2lz
Q29sbGFwc2libGUgeyBmYWxzZSB9OworICAgICAgICBib29sIG1faGFzSHlwaGVuIHsgZmFsc2Ug
fTsKICAgICB9OwogICAgIFRleHRGcmFnbWVudCBuZXh0VGV4dEZyYWdtZW50KGZsb2F0IHhQb3Np
dGlvbiA9IDApOwogICAgIHZvaWQgcmV2ZXJ0VG9FbmRPZkZyYWdtZW50KGNvbnN0IFRleHRGcmFn
bWVudCYpOworCisgICAgLy8gRklYTUU6IFRoZXNlIGZ1bmN0aW9ucyBiZWxvdyBzaG91bGQgYmUg
ZGVjb3VwbGVkIGZyb20gdGhlIHRleHQgaXRlcmF0b3IuCiAgICAgZmxvYXQgdGV4dFdpZHRoKHVu
c2lnbmVkIHN0YXJ0UG9zaXRpb24sIHVuc2lnbmVkIGVuZFBvc2l0aW9uLCBmbG9hdCB4UG9zaXRp
b24pIGNvbnN0OworICAgIHN0ZDo6b3B0aW9uYWw8dW5zaWduZWQ+IGxhc3RIeXBoZW5Qb3NpdGlv
bihjb25zdCBUZXh0RnJhZ21lbnRJdGVyYXRvcjo6VGV4dEZyYWdtZW50JiBydW4sIHVuc2lnbmVk
IGJlZm9yZUluZGV4KSBjb25zdDsKIAogICAgIHN0cnVjdCBTdHlsZSB7CiAgICAgICAgIGV4cGxp
Y2l0IFN0eWxlKGNvbnN0IFJlbmRlclN0eWxlJik7CkBAIC0xMDgsNiArMTE2LDggQEAgcHVibGlj
OgogICAgICAgICBmbG9hdCBzcGFjZVdpZHRoOwogICAgICAgICBmbG9hdCB3b3JkU3BhY2luZzsK
ICAgICAgICAgdW5zaWduZWQgdGFiV2lkdGg7CisgICAgICAgIGJvb2wgc2hvdWxkSHlwaGVuYXRl
OworICAgICAgICBmbG9hdCBoeXBoZW5TdHJpbmdXaWR0aDsKICAgICAgICAgQXRvbWljU3RyaW5n
IGxvY2FsZTsKICAgICB9OwogICAgIGNvbnN0IFN0eWxlJiBzdHlsZSgpIGNvbnN0IHsgcmV0dXJu
IG1fc3R5bGU7IH0KQEAgLTE0MiwxMyArMTUyLDIzIEBAIGlubGluZSBUZXh0RnJhZ21lbnRJdGVy
YXRvcjo6VGV4dEZyYWdtZW50IFRleHRGcmFnbWVudEl0ZXJhdG9yOjpUZXh0RnJhZ21lbnQ6OnNw
CiAgICAgICAgIGZyYWdtZW50Lm1faXNDb2xsYXBzZWQgPSBmYWxzZTsKICAgICB9OwogCi0gICAg
VGV4dEZyYWdtZW50IG5ld0ZyYWdtZW50KCp0aGlzKTsKKyAgICBUZXh0RnJhZ21lbnQgcmlnaHRT
aWRlKCp0aGlzKTsKICAgICBtX2VuZCA9IHNwbGl0UG9zaXRpb247CiAgICAgdXBkYXRlRnJhZ21l
bnRQcm9wZXJ0aWVzKCp0aGlzKTsKIAotICAgIG5ld0ZyYWdtZW50Lm1fc3RhcnQgPSBzcGxpdFBv
c2l0aW9uOwotICAgIHVwZGF0ZUZyYWdtZW50UHJvcGVydGllcyhuZXdGcmFnbWVudCk7Ci0gICAg
cmV0dXJuIG5ld0ZyYWdtZW50OworICAgIHJpZ2h0U2lkZS5tX3N0YXJ0ID0gc3BsaXRQb3NpdGlv
bjsKKyAgICB1cGRhdGVGcmFnbWVudFByb3BlcnRpZXMocmlnaHRTaWRlKTsKKyAgICByZXR1cm4g
cmlnaHRTaWRlOworfQorCitpbmxpbmUgVGV4dEZyYWdtZW50SXRlcmF0b3I6OlRleHRGcmFnbWVu
dCBUZXh0RnJhZ21lbnRJdGVyYXRvcjo6VGV4dEZyYWdtZW50OjpzcGxpdFdpdGhIeXBoZW4odW5z
aWduZWQgaHlwaGVuUG9zaXRpb24sCisgICAgY29uc3QgVGV4dEZyYWdtZW50SXRlcmF0b3ImIHRl
eHRGcmFnbWVudEl0ZXJhdG9yKQoreworICAgIEFTU0VSVCh0ZXh0RnJhZ21lbnRJdGVyYXRvci5z
dHlsZSgpLnNob3VsZEh5cGhlbmF0ZSk7CisgICAgYXV0byByaWdodFNpZGUgPSBzcGxpdChoeXBo
ZW5Qb3NpdGlvbiwgdGV4dEZyYWdtZW50SXRlcmF0b3IpOworICAgIG1faGFzSHlwaGVuID0gdHJ1
ZTsKKyAgICBtX3dpZHRoICs9IHRleHRGcmFnbWVudEl0ZXJhdG9yLnN0eWxlKCkuaHlwaGVuU3Ry
aW5nV2lkdGg7CisgICAgcmV0dXJuIHJpZ2h0U2lkZTsKIH0KIAogaW5saW5lIGJvb2wgVGV4dEZy
YWdtZW50SXRlcmF0b3I6OmlzU29mdExpbmVCcmVhayh1bnNpZ25lZCBwb3NpdGlvbikgY29uc3QK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9saW5lL0JyZWFraW5nQ29udGV4
dC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL2xpbmUvQnJlYWtpbmdDb250ZXh0LmgKaW5k
ZXggZWQ3NjExZWY4OTA1MTA4N2IyMzE4NmE3YTA0MWM0ZDUxNjBhNjhiNi4uNTQxY2E1NzM2NWY1
ZjgxODZkNGM3MjllNzQwMzgxMmI0NThmNTdkNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL2xpbmUvQnJlYWtpbmdDb250ZXh0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL2xpbmUvQnJlYWtpbmdDb250ZXh0LmgKQEAgLTY4Nyw5ICs2ODcsNyBAQCBpbmxpbmUg
dm9pZCB0cnlIeXBoZW5hdGluZyhSZW5kZXJUZXh0JiB0ZXh0LCBjb25zdCBGb250Q2FzY2FkZSYg
Zm9udCwgY29uc3QgQXRvbQogICAgIGludCBoeXBoZW5XaWR0aCA9IG1lYXN1cmVIeXBoZW5XaWR0
aCh0ZXh0LCBmb250KTsKIAogICAgIGZsb2F0IG1heFByZWZpeFdpZHRoID0gYXZhaWxhYmxlV2lk
dGggLSB4UG9zIC0gaHlwaGVuV2lkdGggLSBsYXN0U3BhY2VXb3JkU3BhY2luZzsKLSAgICAvLyBJ
ZiB0aGUgbWF4aW11bSB3aWR0aCBhdmFpbGFibGUgZm9yIHRoZSBwcmVmaXggYmVmb3JlIHRoZSBo
eXBoZW4gaXMgc21hbGwsIHRoZW4gaXQgaXMgdmVyeSB1bmxpa2VseQotICAgIC8vIHRoYXQgYW4g
aHlwaGVuYXRpb24gb3Bwb3J0dW5pdHkgZXhpc3RzLCBzbyBkbyBub3QgYm90aGVyIHRvIGxvb2sg
Zm9yIGl0LgotICAgIGlmIChtYXhQcmVmaXhXaWR0aCA8PSBmb250LnBpeGVsU2l6ZSgpICogNSAv
IDQpCisgICAgaWYgKCFlbm91Z2hXaWR0aEZvckh5cGhlbmF0aW9uKG1heFByZWZpeFdpZHRoLCBm
b250LnBpeGVsU2l6ZSgpKSkKICAgICAgICAgcmV0dXJuOwogCiAgICAgY29uc3QgUmVuZGVyU3R5
bGUmIHN0eWxlID0gdGV4dC5zdHlsZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGQ0ZDgwODY2NjEzN2Y4MTdiNWM3YjU3
ZTg2Zjc5ZmFhMDk5ZjhlOGMuLjE4ZDY3MzVhOWFkMzNkZGRkYzc5NjMyZDU0N2FjOWRkOWJmYmFh
ZWIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAxNy0wMS0yNCAgWmFsYW4gQnVqdGFzICA8emFs
YW5AYXBwbGUuY29tPgorCisgICAgICAgIFNpbXBsZSBsaW5lIGxheW91dDogQWRkIHN1cHBvcnQg
Zm9yIGh5cGhlbjogYXV0by4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE2NzI5NworICAgICAgICA8cmRhcjovL3Byb2JsZW0vMzAxMTk0NjM+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBmYXN0L3RleHQv
c2ltcGxlLWxpbmUtaHlwaGVucy13aXRoLXRleHQtYWxpZ24tZXhwZWN0ZWQuaHRtbDogQWRkZWQu
CisgICAgICAgICogZmFzdC90ZXh0L3NpbXBsZS1saW5lLWh5cGhlbnMtd2l0aC10ZXh0LWFsaWdu
Lmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvdGV4dC9zaW1wbGUtbGluZS1oeXBoZW5zLXdp
dGgtd29yZC1sZXR0ZXItc3BhY2luZy1leHBlY3RlZC5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBm
YXN0L3RleHQvc2ltcGxlLWxpbmUtaHlwaGVucy13aXRoLXdvcmQtbGV0dGVyLXNwYWNpbmcuaHRt
bDogQWRkZWQuCisKIDIwMTctMDEtMjEgIEFudG9pbmUgUXVpbnQgIDxncmFvdXRzQGFwcGxlLmNv
bT4KIAogICAgICAgICBSRUdSRVNTSU9OIChyMjEwOTU5KTogTGF5b3V0VGVzdCBpbnNwZWN0b3Iv
Y3NzL3BzZXVkby1lbGVtZW50LW1hdGNoZXMuaHRtbCB0aW1pbmcgb3V0CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L3RleHQvc2ltcGxlLWxpbmUtaHlwaGVucy13aXRoLXRleHQtYWxpZ24t
ZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9zaW1wbGUtbGluZS1oeXBoZW5z
LXdpdGgtdGV4dC1hbGlnbi1leHBlY3RlZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjVlMTY3ZjZjNzk2M2Uy
YmI0OWYzZThmZjMwN2E0NTJjNjFhODkyZDAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L3RleHQvc2ltcGxlLWxpbmUtaHlwaGVucy13aXRoLXRleHQtYWxpZ24tZXhwZWN0ZWQu
aHRtbApAQCAtMCwwICsxLDIzIEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8
dGl0bGU+VGhpcyB0ZXN0cyB0aGF0IHNpbXBsZSBhbmQgbm9ybWFsIGxpbmUgbGF5b3V0IHByb2R1
Y2UgdGhlIHNhbWUgbGluZXMgd2l0aCBoeXBoZW5zPC90aXRsZT4KKzxzdHlsZT4KK2RpdiB7Cisg
IGRpc3BsYXk6IGlubGluZS1ibG9jazsKKyAgLXdlYmtpdC1oeXBoZW5zOiBhdXRvOyAKKyAgd2lk
dGg6IDIwMHB4OworICBib3JkZXI6IDFweCBzb2xpZCBncmVlbjsKK30KKzwvc3R5bGU+Cis8c2Ny
aXB0PgoraWYgKGludGVybmFsLnNldHRpbmdzKQorICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRT
aW1wbGVMaW5lTGF5b3V0RW5hYmxlZChmYWxzZSk7Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdj5Mb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2VjdGV0dXIgYWRpcGlzY2lu
ZyBlbGl0LiBEb25lYyBjb25zZXF1YXQgcmhvbmN1cyBlcmF0LCBpZCBwZWxsZW50ZXNxdWUgbGln
dWxhIGFsaXF1ZXQgZXQuIE5hbSBhbGlxdWFtIHBlbGxlbnRlc3F1ZSByaXN1cy4gTWF1cmlzIGxv
cmVtIG51bmMsIHNvZGFsZXMgcGVsbGVudGVzcXVlIHBvcnR0aXRvciB1dCwgcGVsbGVudGVzcXVl
IGF0IGZlbGlzLiBOdWxsYW0gZXQgYWNjdW1zYW4gbGVvLCBpbiBzY2VsZXJpc3F1ZSBtYXNzYS4g
RnVzY2UgbHVjdHVzIGxhb3JlZXQgcHJldGl1bS4gTnVsbGEgc29sbGljaXR1ZGluIHZvbHV0cGF0
IG5lcXVlIGluIG1hdHRpcy4gVmVzdGlidWx1bSBub24gcGxhY2VyYXQgdmVsaXQuIEFlbmVhbiBk
dWkgbnVuYywgdGluY2lkdW50IG5lYyB0ZW1wdXMgZXQsIHZlbmVuYXRpcyB2ZWwgbWFnbmEuIElu
dGVyZHVtIGV0IG1hbGVzdWFkYSBmYW1lcyBhYyBhbnRlIGlwc3VtIHByaW1pcyBpbiBmYXVjaWJ1
cy4gUHJvaW4gcHJldGl1bSBuaXNsIHNpdCBhbWV0IGxhY3VzIHZhcml1cyBjb25zZXF1YXQuIERv
bmVjIGNvbmd1ZSBtb2xlc3RpZSBtYXVyaXMsIGEgdmVoaWN1bGEgdmVsaXQuIE5hbSBwZWxsZW50
ZXNxdWUgc2VkIGFyY3UgY29uZ3VlIHJ1dHJ1bS4gTWFlY2VuYXMgcHVsdmluYXIgZXggYXQgZGlh
bSBkYXBpYnVzIGNvbnNlY3RldHVyIHV0IG5vbiBuaXNsLiBTZWQgdGVtcHVzIGJpYmVuZHVtIHNv
ZGFsZXMuIERvbmVjIG5lYyBhcmN1IGxpZ3VsYS4gVml2YW11cyBzaXQgYW1ldCBhbGlxdWV0IG5l
cXVlLCB2ZWwgdm9sdXRwYXQgbmliaC4gSW4gcHVydXMgc2VtLCB0aW5jaWR1bnQgdnVscHV0YXRl
IG5lcXVlIGV1LCBzY2VsZXJpc3F1ZSBoZW5kcmVyaXQgZXguIERvbmVjIGV1IHBvcnRhIGxlY3R1
cywgYXQgbWFsZXN1YWRhIG1hZ25hLiBEdWlzIHV0IGVnZXN0YXMgZXN0LiBOdWxsYW0gZXQgbGli
ZXJvIHNpdCBhbWV0IGxlY3R1cyB0ZW1wdXMgcGhhcmV0cmEgYWMgaWQgbWF1cmlzLiBVdCBkaWFt
IG9yY2ksIGludGVyZHVtIG5lYyBzdXNjaXBpdCB1dCwgc2VtcGVyIG5lYyBvcmNpLiBGdXNjZSBz
ZWQgcmlzdXMgZWxlbWVudHVtLCBwb3N1ZXJlIG9yY2kgaWQsIGFsaXF1YW0gdXJuYS4gRG9uZWMg
YXJjdSB0dXJwaXMsIHNjZWxlcmlzcXVlIGEgbWF1cmlzIHZlbCwgdmVoaWN1bGEgY29udmFsbGlz
IGlwc3VtLiBQaGFzZWxsdXMgZmFjaWxpc2lzLCBtYWduYSB1dCBkYXBpYnVzIHByZXRpdW0sIHNh
cGllbiBtYXVyaXMgdml2ZXJyYSBlbmltLCB1dCBoZW5kcmVyaXQgdXJuYSBkdWkgZXUgbGlndWxh
LiBOdWxsYSB2ZXN0aWJ1bHVtIGV0IG5pYmggcXVpcyBsYW9yZWV0LiBRdWlzcXVlIGZldWdpYXQg
YXJjdSBpcHN1bSwgaWQgbW9sbGlzIHF1YW0gc2FnaXR0aXMgYXQuIE1vcmJpIHRlbXB1cywgcmlz
dXMgbW9sZXN0aWUgdWx0cmljaWVzIHZpdmVycmEsIGp1c3RvIGF1Z3VlIGZhY2lsaXNpcyBvcmNp
LCBhIHNlbXBlciByaXN1cyBkdWkgcGVsbGVudGVzcXVlIHB1cnVzLiBDdXJhYml0dXIgZmFjaWxp
c2lzIGFyY3UgcXVhbSwgaWQgZmFjaWxpc2lzIHR1cnBpcyBhbGlxdWFtIGFjLiBNYWVjZW5hcyBl
ZmZpY2l0dXIgcmlzdXMgcGVsbGVudGVzcXVlIHNlbSBtYXhpbXVzIGV1aXNtb2QuIFByb2luIGFs
aXF1ZXQganVzdG8gYWMgZG9sb3IgZmF1Y2lidXMgcG9ydHRpdG9yLiBGdXNjZSBvcmNpIGxlY3R1
cywgZWxlaWZlbmQgYXQgbGVjdHVzIHNpdCBhbWV0LCBwcmV0aXVtIG9ybmFyZSBmZWxpcy4gTnVs
bGFtIG5lYyBpcHN1bSBtYXhpbXVzLCBtb2xlc3RpZSBhcmN1IGluLCBmaW5pYnVzIHVybmEuIFN1
c3BlbmRpc3NlIHRpbmNpZHVudCBmZXVnaWF0IGVzdCwgaW4gdml2ZXJyYSBsZWN0dXMgdGluY2lk
dW50IHF1aXMuIFV0IGVyb3MgdG9ydG9yLCB0aW5jaWR1bnQgdmVsIGNvbW1vZG8gaGVuZHJlcml0
LCBjb25zZXF1YXQgdmVsIG5lcXVlLiBWZXN0aWJ1bHVtIGVuaW0gbmliaCwgYWNjdW1zYW4gcXVp
cyB2aXZlcnJhIHV0LCBpYWN1bGlzIHNpdCBhbWV0IGVzdC4gTW9yYmkgbm9uIGxhY3VzIGF0IGRv
bG9yIGV1aXNtb2QgbW9sZXN0aWUuIEludGVnZXIgcHVsdmluYXIsIG5pYmggaW4gdm9sdXRwYXQg
dGluY2lkdW50LCB1cm5hIG9kaW8gaW50ZXJkdW0gbWFnbmEsIHZpdGFlIGZhdWNpYnVzIGZlbGlz
IHF1YW0gbmVjIGVzdC4gUHJvaW4gdGVsbHVzIHF1YW0sIGF1Y3RvciBuZWMgZGljdHVtIHNlZCwg
cmhvbmN1cyBuZWMgbWFzc2EuIE1hdXJpcyBhYyBhcmN1IGFjIGF1Z3VlIHBvcnRhIHZpdmVycmEu
IFF1aXNxdWUgc2VtcGVyIGVnZXQgbmlzaSBxdWlzIHZpdmVycmEuIERvbmVjIHZpdGFlIG1hdXJp
cyBpcHN1bS4gRHVpcyB0ZW1wb3IgcHVsdmluYXIgdml2ZXJyYS4gTmFtIGRpZ25pc3NpbSBpYWN1
bGlzIGZlbGlzLCBlZ2V0IHZlc3RpYnVsdW0gZXJvcy4gTnVsbGEgZWdldCBmYXVjaWJ1cyBtYXNz
YS4gSW50ZWdlciBzb2xsaWNpdHVkaW4gcHJldGl1bSBlcmF0LCB2ZWwgY29tbW9kbyBudW5jIGNv
bmd1ZSBub24uIE51bGxhIGluIG51bmMgYXVjdG9yIGR1aSBlZmZpY2l0dXIgZXVpc21vZC4gU2Vk
IHBoYXJldHJhIHNhcGllbiBlcmF0LCBhIGJsYW5kaXQgbmVxdWUgcG9ydHRpdG9yIHNpdCBhbWV0
LiBNYXVyaXMgcGhhcmV0cmEgc29kYWxlcyBtYXhpbXVzLiBOdWxsYSB2b2x1dHBhdCBhdWN0b3Ig
cXVhbSwgYSBlbGVtZW50dW0gcmlzdXMgdHJpc3RpcXVlIGV1LiBJbiBhYyBzb2RhbGVzIG5pYmgu
IE1hZWNlbmFzIHBoYXJldHJhIG9yY2kgc2VtLCBldSBsYW9yZWV0IHF1YW0gdGluY2lkdW50IG5v
bi4gTWF1cmlzIGluIGludGVyZHVtIGR1aS4gVml2YW11cyBldCBpbnRlcmR1bSBlcmF0LiBBbGlx
dWFtIG5lYyBhbnRlIHRpbmNpZHVudCwgZWxlbWVudHVtIHJpc3VzIGluLCBtYXR0aXMgb3JjaS4g
U2VkIG1hc3NhIHR1cnBpcywgYmxhbmRpdCBhIHJ1dHJ1bSBhdCwgZGlnbmlzc2ltIGV0IGxlY3R1
cy4gTnVuYyB0aW5jaWR1bnQgb3JjaSBuaWJoLCBpZCB1bGxhbWNvcnBlciBuaXNsIHZlc3RpYnVs
dW0gdmVsLjwvZGl2PgorPGRpdiBzdHlsZT0idGV4dC1hbGlnbjoganVzdGlmeSI+TG9yZW0gaXBz
dW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVyIGFkaXBpc2NpbmcgZWxpdC4gRG9uZWMgY29u
c2VxdWF0IHJob25jdXMgZXJhdCwgaWQgcGVsbGVudGVzcXVlIGxpZ3VsYSBhbGlxdWV0IGV0LiBO
YW0gYWxpcXVhbSBwZWxsZW50ZXNxdWUgcmlzdXMuIE1hdXJpcyBsb3JlbSBudW5jLCBzb2RhbGVz
IHBlbGxlbnRlc3F1ZSBwb3J0dGl0b3IgdXQsIHBlbGxlbnRlc3F1ZSBhdCBmZWxpcy4gTnVsbGFt
IGV0IGFjY3Vtc2FuIGxlbywgaW4gc2NlbGVyaXNxdWUgbWFzc2EuIEZ1c2NlIGx1Y3R1cyBsYW9y
ZWV0IHByZXRpdW0uIE51bGxhIHNvbGxpY2l0dWRpbiB2b2x1dHBhdCBuZXF1ZSBpbiBtYXR0aXMu
IFZlc3RpYnVsdW0gbm9uIHBsYWNlcmF0IHZlbGl0LiBBZW5lYW4gZHVpIG51bmMsIHRpbmNpZHVu
dCBuZWMgdGVtcHVzIGV0LCB2ZW5lbmF0aXMgdmVsIG1hZ25hLiBJbnRlcmR1bSBldCBtYWxlc3Vh
ZGEgZmFtZXMgYWMgYW50ZSBpcHN1bSBwcmltaXMgaW4gZmF1Y2lidXMuIFByb2luIHByZXRpdW0g
bmlzbCBzaXQgYW1ldCBsYWN1cyB2YXJpdXMgY29uc2VxdWF0LiBEb25lYyBjb25ndWUgbW9sZXN0
aWUgbWF1cmlzLCBhIHZlaGljdWxhIHZlbGl0LiBOYW0gcGVsbGVudGVzcXVlIHNlZCBhcmN1IGNv
bmd1ZSBydXRydW0uIE1hZWNlbmFzIHB1bHZpbmFyIGV4IGF0IGRpYW0gZGFwaWJ1cyBjb25zZWN0
ZXR1ciB1dCBub24gbmlzbC4gU2VkIHRlbXB1cyBiaWJlbmR1bSBzb2RhbGVzLiBEb25lYyBuZWMg
YXJjdSBsaWd1bGEuIFZpdmFtdXMgc2l0IGFtZXQgYWxpcXVldCBuZXF1ZSwgdmVsIHZvbHV0cGF0
IG5pYmguIEluIHB1cnVzIHNlbSwgdGluY2lkdW50IHZ1bHB1dGF0ZSBuZXF1ZSBldSwgc2NlbGVy
aXNxdWUgaGVuZHJlcml0IGV4LiBEb25lYyBldSBwb3J0YSBsZWN0dXMsIGF0IG1hbGVzdWFkYSBt
YWduYS4gRHVpcyB1dCBlZ2VzdGFzIGVzdC4gTnVsbGFtIGV0IGxpYmVybyBzaXQgYW1ldCBsZWN0
dXMgdGVtcHVzIHBoYXJldHJhIGFjIGlkIG1hdXJpcy4gVXQgZGlhbSBvcmNpLCBpbnRlcmR1bSBu
ZWMgc3VzY2lwaXQgdXQsIHNlbXBlciBuZWMgb3JjaS4gRnVzY2Ugc2VkIHJpc3VzIGVsZW1lbnR1
bSwgcG9zdWVyZSBvcmNpIGlkLCBhbGlxdWFtIHVybmEuIERvbmVjIGFyY3UgdHVycGlzLCBzY2Vs
ZXJpc3F1ZSBhIG1hdXJpcyB2ZWwsIHZlaGljdWxhIGNvbnZhbGxpcyBpcHN1bS4gUGhhc2VsbHVz
IGZhY2lsaXNpcywgbWFnbmEgdXQgZGFwaWJ1cyBwcmV0aXVtLCBzYXBpZW4gbWF1cmlzIHZpdmVy
cmEgZW5pbSwgdXQgaGVuZHJlcml0IHVybmEgZHVpIGV1IGxpZ3VsYS4gTnVsbGEgdmVzdGlidWx1
bSBldCBuaWJoIHF1aXMgbGFvcmVldC4gUXVpc3F1ZSBmZXVnaWF0IGFyY3UgaXBzdW0sIGlkIG1v
bGxpcyBxdWFtIHNhZ2l0dGlzIGF0LiBNb3JiaSB0ZW1wdXMsIHJpc3VzIG1vbGVzdGllIHVsdHJp
Y2llcyB2aXZlcnJhLCBqdXN0byBhdWd1ZSBmYWNpbGlzaXMgb3JjaSwgYSBzZW1wZXIgcmlzdXMg
ZHVpIHBlbGxlbnRlc3F1ZSBwdXJ1cy4gQ3VyYWJpdHVyIGZhY2lsaXNpcyBhcmN1IHF1YW0sIGlk
IGZhY2lsaXNpcyB0dXJwaXMgYWxpcXVhbSBhYy4gTWFlY2VuYXMgZWZmaWNpdHVyIHJpc3VzIHBl
bGxlbnRlc3F1ZSBzZW0gbWF4aW11cyBldWlzbW9kLiBQcm9pbiBhbGlxdWV0IGp1c3RvIGFjIGRv
bG9yIGZhdWNpYnVzIHBvcnR0aXRvci4gRnVzY2Ugb3JjaSBsZWN0dXMsIGVsZWlmZW5kIGF0IGxl
Y3R1cyBzaXQgYW1ldCwgcHJldGl1bSBvcm5hcmUgZmVsaXMuIE51bGxhbSBuZWMgaXBzdW0gbWF4
aW11cywgbW9sZXN0aWUgYXJjdSBpbiwgZmluaWJ1cyB1cm5hLiBTdXNwZW5kaXNzZSB0aW5jaWR1
bnQgZmV1Z2lhdCBlc3QsIGluIHZpdmVycmEgbGVjdHVzIHRpbmNpZHVudCBxdWlzLiBVdCBlcm9z
IHRvcnRvciwgdGluY2lkdW50IHZlbCBjb21tb2RvIGhlbmRyZXJpdCwgY29uc2VxdWF0IHZlbCBu
ZXF1ZS4gVmVzdGlidWx1bSBlbmltIG5pYmgsIGFjY3Vtc2FuIHF1aXMgdml2ZXJyYSB1dCwgaWFj
dWxpcyBzaXQgYW1ldCBlc3QuIE1vcmJpIG5vbiBsYWN1cyBhdCBkb2xvciBldWlzbW9kIG1vbGVz
dGllLiBJbnRlZ2VyIHB1bHZpbmFyLCBuaWJoIGluIHZvbHV0cGF0IHRpbmNpZHVudCwgdXJuYSBv
ZGlvIGludGVyZHVtIG1hZ25hLCB2aXRhZSBmYXVjaWJ1cyBmZWxpcyBxdWFtIG5lYyBlc3QuIFBy
b2luIHRlbGx1cyBxdWFtLCBhdWN0b3IgbmVjIGRpY3R1bSBzZWQsIHJob25jdXMgbmVjIG1hc3Nh
LiBNYXVyaXMgYWMgYXJjdSBhYyBhdWd1ZSBwb3J0YSB2aXZlcnJhLiBRdWlzcXVlIHNlbXBlciBl
Z2V0IG5pc2kgcXVpcyB2aXZlcnJhLiBEb25lYyB2aXRhZSBtYXVyaXMgaXBzdW0uIER1aXMgdGVt
cG9yIHB1bHZpbmFyIHZpdmVycmEuIE5hbSBkaWduaXNzaW0gaWFjdWxpcyBmZWxpcywgZWdldCB2
ZXN0aWJ1bHVtIGVyb3MuIE51bGxhIGVnZXQgZmF1Y2lidXMgbWFzc2EuIEludGVnZXIgc29sbGlj
aXR1ZGluIHByZXRpdW0gZXJhdCwgdmVsIGNvbW1vZG8gbnVuYyBjb25ndWUgbm9uLiBOdWxsYSBp
biBudW5jIGF1Y3RvciBkdWkgZWZmaWNpdHVyIGV1aXNtb2QuIFNlZCBwaGFyZXRyYSBzYXBpZW4g
ZXJhdCwgYSBibGFuZGl0IG5lcXVlIHBvcnR0aXRvciBzaXQgYW1ldC4gTWF1cmlzIHBoYXJldHJh
IHNvZGFsZXMgbWF4aW11cy4gTnVsbGEgdm9sdXRwYXQgYXVjdG9yIHF1YW0sIGEgZWxlbWVudHVt
IHJpc3VzIHRyaXN0aXF1ZSBldS4gSW4gYWMgc29kYWxlcyBuaWJoLiBNYWVjZW5hcyBwaGFyZXRy
YSBvcmNpIHNlbSwgZXUgbGFvcmVldCBxdWFtIHRpbmNpZHVudCBub24uIE1hdXJpcyBpbiBpbnRl
cmR1bSBkdWkuIFZpdmFtdXMgZXQgaW50ZXJkdW0gZXJhdC4gQWxpcXVhbSBuZWMgYW50ZSB0aW5j
aWR1bnQsIGVsZW1lbnR1bSByaXN1cyBpbiwgbWF0dGlzIG9yY2kuIFNlZCBtYXNzYSB0dXJwaXMs
IGJsYW5kaXQgYSBydXRydW0gYXQsIGRpZ25pc3NpbSBldCBsZWN0dXMuIE51bmMgdGluY2lkdW50
IG9yY2kgbmliaCwgaWQgdWxsYW1jb3JwZXIgbmlzbCB2ZXN0aWJ1bHVtIHZlbC48L2Rpdj4KKzxk
aXYgc3R5bGU9InRleHQtYWxpZ246IHJpZ2h0Ij5Mb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwg
Y29uc2VjdGV0dXIgYWRpcGlzY2luZyBlbGl0LiBEb25lYyBjb25zZXF1YXQgcmhvbmN1cyBlcmF0
LCBpZCBwZWxsZW50ZXNxdWUgbGlndWxhIGFsaXF1ZXQgZXQuIE5hbSBhbGlxdWFtIHBlbGxlbnRl
c3F1ZSByaXN1cy4gTWF1cmlzIGxvcmVtIG51bmMsIHNvZGFsZXMgcGVsbGVudGVzcXVlIHBvcnR0
aXRvciB1dCwgcGVsbGVudGVzcXVlIGF0IGZlbGlzLiBOdWxsYW0gZXQgYWNjdW1zYW4gbGVvLCBp
biBzY2VsZXJpc3F1ZSBtYXNzYS4gRnVzY2UgbHVjdHVzIGxhb3JlZXQgcHJldGl1bS4gTnVsbGEg
c29sbGljaXR1ZGluIHZvbHV0cGF0IG5lcXVlIGluIG1hdHRpcy4gVmVzdGlidWx1bSBub24gcGxh
Y2VyYXQgdmVsaXQuIEFlbmVhbiBkdWkgbnVuYywgdGluY2lkdW50IG5lYyB0ZW1wdXMgZXQsIHZl
bmVuYXRpcyB2ZWwgbWFnbmEuIEludGVyZHVtIGV0IG1hbGVzdWFkYSBmYW1lcyBhYyBhbnRlIGlw
c3VtIHByaW1pcyBpbiBmYXVjaWJ1cy4gUHJvaW4gcHJldGl1bSBuaXNsIHNpdCBhbWV0IGxhY3Vz
IHZhcml1cyBjb25zZXF1YXQuIERvbmVjIGNvbmd1ZSBtb2xlc3RpZSBtYXVyaXMsIGEgdmVoaWN1
bGEgdmVsaXQuIE5hbSBwZWxsZW50ZXNxdWUgc2VkIGFyY3UgY29uZ3VlIHJ1dHJ1bS4gTWFlY2Vu
YXMgcHVsdmluYXIgZXggYXQgZGlhbSBkYXBpYnVzIGNvbnNlY3RldHVyIHV0IG5vbiBuaXNsLiBT
ZWQgdGVtcHVzIGJpYmVuZHVtIHNvZGFsZXMuIERvbmVjIG5lYyBhcmN1IGxpZ3VsYS4gVml2YW11
cyBzaXQgYW1ldCBhbGlxdWV0IG5lcXVlLCB2ZWwgdm9sdXRwYXQgbmliaC4gSW4gcHVydXMgc2Vt
LCB0aW5jaWR1bnQgdnVscHV0YXRlIG5lcXVlIGV1LCBzY2VsZXJpc3F1ZSBoZW5kcmVyaXQgZXgu
IERvbmVjIGV1IHBvcnRhIGxlY3R1cywgYXQgbWFsZXN1YWRhIG1hZ25hLiBEdWlzIHV0IGVnZXN0
YXMgZXN0LiBOdWxsYW0gZXQgbGliZXJvIHNpdCBhbWV0IGxlY3R1cyB0ZW1wdXMgcGhhcmV0cmEg
YWMgaWQgbWF1cmlzLiBVdCBkaWFtIG9yY2ksIGludGVyZHVtIG5lYyBzdXNjaXBpdCB1dCwgc2Vt
cGVyIG5lYyBvcmNpLiBGdXNjZSBzZWQgcmlzdXMgZWxlbWVudHVtLCBwb3N1ZXJlIG9yY2kgaWQs
IGFsaXF1YW0gdXJuYS4gRG9uZWMgYXJjdSB0dXJwaXMsIHNjZWxlcmlzcXVlIGEgbWF1cmlzIHZl
bCwgdmVoaWN1bGEgY29udmFsbGlzIGlwc3VtLiBQaGFzZWxsdXMgZmFjaWxpc2lzLCBtYWduYSB1
dCBkYXBpYnVzIHByZXRpdW0sIHNhcGllbiBtYXVyaXMgdml2ZXJyYSBlbmltLCB1dCBoZW5kcmVy
aXQgdXJuYSBkdWkgZXUgbGlndWxhLiBOdWxsYSB2ZXN0aWJ1bHVtIGV0IG5pYmggcXVpcyBsYW9y
ZWV0LiBRdWlzcXVlIGZldWdpYXQgYXJjdSBpcHN1bSwgaWQgbW9sbGlzIHF1YW0gc2FnaXR0aXMg
YXQuIE1vcmJpIHRlbXB1cywgcmlzdXMgbW9sZXN0aWUgdWx0cmljaWVzIHZpdmVycmEsIGp1c3Rv
IGF1Z3VlIGZhY2lsaXNpcyBvcmNpLCBhIHNlbXBlciByaXN1cyBkdWkgcGVsbGVudGVzcXVlIHB1
cnVzLiBDdXJhYml0dXIgZmFjaWxpc2lzIGFyY3UgcXVhbSwgaWQgZmFjaWxpc2lzIHR1cnBpcyBh
bGlxdWFtIGFjLiBNYWVjZW5hcyBlZmZpY2l0dXIgcmlzdXMgcGVsbGVudGVzcXVlIHNlbSBtYXhp
bXVzIGV1aXNtb2QuIFByb2luIGFsaXF1ZXQganVzdG8gYWMgZG9sb3IgZmF1Y2lidXMgcG9ydHRp
dG9yLiBGdXNjZSBvcmNpIGxlY3R1cywgZWxlaWZlbmQgYXQgbGVjdHVzIHNpdCBhbWV0LCBwcmV0
aXVtIG9ybmFyZSBmZWxpcy4gTnVsbGFtIG5lYyBpcHN1bSBtYXhpbXVzLCBtb2xlc3RpZSBhcmN1
IGluLCBmaW5pYnVzIHVybmEuIFN1c3BlbmRpc3NlIHRpbmNpZHVudCBmZXVnaWF0IGVzdCwgaW4g
dml2ZXJyYSBsZWN0dXMgdGluY2lkdW50IHF1aXMuIFV0IGVyb3MgdG9ydG9yLCB0aW5jaWR1bnQg
dmVsIGNvbW1vZG8gaGVuZHJlcml0LCBjb25zZXF1YXQgdmVsIG5lcXVlLiBWZXN0aWJ1bHVtIGVu
aW0gbmliaCwgYWNjdW1zYW4gcXVpcyB2aXZlcnJhIHV0LCBpYWN1bGlzIHNpdCBhbWV0IGVzdC4g
TW9yYmkgbm9uIGxhY3VzIGF0IGRvbG9yIGV1aXNtb2QgbW9sZXN0aWUuIEludGVnZXIgcHVsdmlu
YXIsIG5pYmggaW4gdm9sdXRwYXQgdGluY2lkdW50LCB1cm5hIG9kaW8gaW50ZXJkdW0gbWFnbmEs
IHZpdGFlIGZhdWNpYnVzIGZlbGlzIHF1YW0gbmVjIGVzdC4gUHJvaW4gdGVsbHVzIHF1YW0sIGF1
Y3RvciBuZWMgZGljdHVtIHNlZCwgcmhvbmN1cyBuZWMgbWFzc2EuIE1hdXJpcyBhYyBhcmN1IGFj
IGF1Z3VlIHBvcnRhIHZpdmVycmEuIFF1aXNxdWUgc2VtcGVyIGVnZXQgbmlzaSBxdWlzIHZpdmVy
cmEuIERvbmVjIHZpdGFlIG1hdXJpcyBpcHN1bS4gRHVpcyB0ZW1wb3IgcHVsdmluYXIgdml2ZXJy
YS4gTmFtIGRpZ25pc3NpbSBpYWN1bGlzIGZlbGlzLCBlZ2V0IHZlc3RpYnVsdW0gZXJvcy4gTnVs
bGEgZWdldCBmYXVjaWJ1cyBtYXNzYS4gSW50ZWdlciBzb2xsaWNpdHVkaW4gcHJldGl1bSBlcmF0
LCB2ZWwgY29tbW9kbyBudW5jIGNvbmd1ZSBub24uIE51bGxhIGluIG51bmMgYXVjdG9yIGR1aSBl
ZmZpY2l0dXIgZXVpc21vZC4gU2VkIHBoYXJldHJhIHNhcGllbiBlcmF0LCBhIGJsYW5kaXQgbmVx
dWUgcG9ydHRpdG9yIHNpdCBhbWV0LiBNYXVyaXMgcGhhcmV0cmEgc29kYWxlcyBtYXhpbXVzLiBO
dWxsYSB2b2x1dHBhdCBhdWN0b3IgcXVhbSwgYSBlbGVtZW50dW0gcmlzdXMgdHJpc3RpcXVlIGV1
LiBJbiBhYyBzb2RhbGVzIG5pYmguIE1hZWNlbmFzIHBoYXJldHJhIG9yY2kgc2VtLCBldSBsYW9y
ZWV0IHF1YW0gdGluY2lkdW50IG5vbi4gTWF1cmlzIGluIGludGVyZHVtIGR1aS4gVml2YW11cyBl
dCBpbnRlcmR1bSBlcmF0LiBBbGlxdWFtIG5lYyBhbnRlIHRpbmNpZHVudCwgZWxlbWVudHVtIHJp
c3VzIGluLCBtYXR0aXMgb3JjaS4gU2VkIG1hc3NhIHR1cnBpcywgYmxhbmRpdCBhIHJ1dHJ1bSBh
dCwgZGlnbmlzc2ltIGV0IGxlY3R1cy4gTnVuYyB0aW5jaWR1bnQgb3JjaSBuaWJoLCBpZCB1bGxh
bWNvcnBlciBuaXNsIHZlc3RpYnVsdW0gdmVsLjwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC90ZXh0L3NpbXBsZS1saW5lLWh5cGhlbnMtd2l0aC10
ZXh0LWFsaWduLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQvc2ltcGxlLWxpbmUtaHlwaGVu
cy13aXRoLXRleHQtYWxpZ24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kMTdjYWM1MGQ4YzVkNWUzN2M2ZDhk
NGVlMjdjZmViYmJjMTc0YzkzCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC90
ZXh0L3NpbXBsZS1saW5lLWh5cGhlbnMtd2l0aC10ZXh0LWFsaWduLmh0bWwKQEAgLTAsMCArMSwx
OSBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHRpdGxlPlRoaXMgdGVzdHMg
dGhhdCBzaW1wbGUgYW5kIG5vcm1hbCBsaW5lIGxheW91dCBwcm9kdWNlIHRoZSBzYW1lIGxpbmVz
IHdpdGggaHlwaGVuczwvdGl0bGU+Cis8c3R5bGU+CitkaXYgeworICBkaXNwbGF5OiBpbmxpbmUt
YmxvY2s7CisgIC13ZWJraXQtaHlwaGVuczogYXV0bzsgCisgIHdpZHRoOiAyMDBweDsKKyAgYm9y
ZGVyOiAxcHggc29saWQgZ3JlZW47Cit9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2
PkxvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBjb25zZWN0ZXR1ciBhZGlwaXNjaW5nIGVsaXQu
IERvbmVjIGNvbnNlcXVhdCByaG9uY3VzIGVyYXQsIGlkIHBlbGxlbnRlc3F1ZSBsaWd1bGEgYWxp
cXVldCBldC4gTmFtIGFsaXF1YW0gcGVsbGVudGVzcXVlIHJpc3VzLiBNYXVyaXMgbG9yZW0gbnVu
Yywgc29kYWxlcyBwZWxsZW50ZXNxdWUgcG9ydHRpdG9yIHV0LCBwZWxsZW50ZXNxdWUgYXQgZmVs
aXMuIE51bGxhbSBldCBhY2N1bXNhbiBsZW8sIGluIHNjZWxlcmlzcXVlIG1hc3NhLiBGdXNjZSBs
dWN0dXMgbGFvcmVldCBwcmV0aXVtLiBOdWxsYSBzb2xsaWNpdHVkaW4gdm9sdXRwYXQgbmVxdWUg
aW4gbWF0dGlzLiBWZXN0aWJ1bHVtIG5vbiBwbGFjZXJhdCB2ZWxpdC4gQWVuZWFuIGR1aSBudW5j
LCB0aW5jaWR1bnQgbmVjIHRlbXB1cyBldCwgdmVuZW5hdGlzIHZlbCBtYWduYS4gSW50ZXJkdW0g
ZXQgbWFsZXN1YWRhIGZhbWVzIGFjIGFudGUgaXBzdW0gcHJpbWlzIGluIGZhdWNpYnVzLiBQcm9p
biBwcmV0aXVtIG5pc2wgc2l0IGFtZXQgbGFjdXMgdmFyaXVzIGNvbnNlcXVhdC4gRG9uZWMgY29u
Z3VlIG1vbGVzdGllIG1hdXJpcywgYSB2ZWhpY3VsYSB2ZWxpdC4gTmFtIHBlbGxlbnRlc3F1ZSBz
ZWQgYXJjdSBjb25ndWUgcnV0cnVtLiBNYWVjZW5hcyBwdWx2aW5hciBleCBhdCBkaWFtIGRhcGli
dXMgY29uc2VjdGV0dXIgdXQgbm9uIG5pc2wuIFNlZCB0ZW1wdXMgYmliZW5kdW0gc29kYWxlcy4g
RG9uZWMgbmVjIGFyY3UgbGlndWxhLiBWaXZhbXVzIHNpdCBhbWV0IGFsaXF1ZXQgbmVxdWUsIHZl
bCB2b2x1dHBhdCBuaWJoLiBJbiBwdXJ1cyBzZW0sIHRpbmNpZHVudCB2dWxwdXRhdGUgbmVxdWUg
ZXUsIHNjZWxlcmlzcXVlIGhlbmRyZXJpdCBleC4gRG9uZWMgZXUgcG9ydGEgbGVjdHVzLCBhdCBt
YWxlc3VhZGEgbWFnbmEuIER1aXMgdXQgZWdlc3RhcyBlc3QuIE51bGxhbSBldCBsaWJlcm8gc2l0
IGFtZXQgbGVjdHVzIHRlbXB1cyBwaGFyZXRyYSBhYyBpZCBtYXVyaXMuIFV0IGRpYW0gb3JjaSwg
aW50ZXJkdW0gbmVjIHN1c2NpcGl0IHV0LCBzZW1wZXIgbmVjIG9yY2kuIEZ1c2NlIHNlZCByaXN1
cyBlbGVtZW50dW0sIHBvc3VlcmUgb3JjaSBpZCwgYWxpcXVhbSB1cm5hLiBEb25lYyBhcmN1IHR1
cnBpcywgc2NlbGVyaXNxdWUgYSBtYXVyaXMgdmVsLCB2ZWhpY3VsYSBjb252YWxsaXMgaXBzdW0u
IFBoYXNlbGx1cyBmYWNpbGlzaXMsIG1hZ25hIHV0IGRhcGlidXMgcHJldGl1bSwgc2FwaWVuIG1h
dXJpcyB2aXZlcnJhIGVuaW0sIHV0IGhlbmRyZXJpdCB1cm5hIGR1aSBldSBsaWd1bGEuIE51bGxh
IHZlc3RpYnVsdW0gZXQgbmliaCBxdWlzIGxhb3JlZXQuIFF1aXNxdWUgZmV1Z2lhdCBhcmN1IGlw
c3VtLCBpZCBtb2xsaXMgcXVhbSBzYWdpdHRpcyBhdC4gTW9yYmkgdGVtcHVzLCByaXN1cyBtb2xl
c3RpZSB1bHRyaWNpZXMgdml2ZXJyYSwganVzdG8gYXVndWUgZmFjaWxpc2lzIG9yY2ksIGEgc2Vt
cGVyIHJpc3VzIGR1aSBwZWxsZW50ZXNxdWUgcHVydXMuIEN1cmFiaXR1ciBmYWNpbGlzaXMgYXJj
dSBxdWFtLCBpZCBmYWNpbGlzaXMgdHVycGlzIGFsaXF1YW0gYWMuIE1hZWNlbmFzIGVmZmljaXR1
ciByaXN1cyBwZWxsZW50ZXNxdWUgc2VtIG1heGltdXMgZXVpc21vZC4gUHJvaW4gYWxpcXVldCBq
dXN0byBhYyBkb2xvciBmYXVjaWJ1cyBwb3J0dGl0b3IuIEZ1c2NlIG9yY2kgbGVjdHVzLCBlbGVp
ZmVuZCBhdCBsZWN0dXMgc2l0IGFtZXQsIHByZXRpdW0gb3JuYXJlIGZlbGlzLiBOdWxsYW0gbmVj
IGlwc3VtIG1heGltdXMsIG1vbGVzdGllIGFyY3UgaW4sIGZpbmlidXMgdXJuYS4gU3VzcGVuZGlz
c2UgdGluY2lkdW50IGZldWdpYXQgZXN0LCBpbiB2aXZlcnJhIGxlY3R1cyB0aW5jaWR1bnQgcXVp
cy4gVXQgZXJvcyB0b3J0b3IsIHRpbmNpZHVudCB2ZWwgY29tbW9kbyBoZW5kcmVyaXQsIGNvbnNl
cXVhdCB2ZWwgbmVxdWUuIFZlc3RpYnVsdW0gZW5pbSBuaWJoLCBhY2N1bXNhbiBxdWlzIHZpdmVy
cmEgdXQsIGlhY3VsaXMgc2l0IGFtZXQgZXN0LiBNb3JiaSBub24gbGFjdXMgYXQgZG9sb3IgZXVp
c21vZCBtb2xlc3RpZS4gSW50ZWdlciBwdWx2aW5hciwgbmliaCBpbiB2b2x1dHBhdCB0aW5jaWR1
bnQsIHVybmEgb2RpbyBpbnRlcmR1bSBtYWduYSwgdml0YWUgZmF1Y2lidXMgZmVsaXMgcXVhbSBu
ZWMgZXN0LiBQcm9pbiB0ZWxsdXMgcXVhbSwgYXVjdG9yIG5lYyBkaWN0dW0gc2VkLCByaG9uY3Vz
IG5lYyBtYXNzYS4gTWF1cmlzIGFjIGFyY3UgYWMgYXVndWUgcG9ydGEgdml2ZXJyYS4gUXVpc3F1
ZSBzZW1wZXIgZWdldCBuaXNpIHF1aXMgdml2ZXJyYS4gRG9uZWMgdml0YWUgbWF1cmlzIGlwc3Vt
LiBEdWlzIHRlbXBvciBwdWx2aW5hciB2aXZlcnJhLiBOYW0gZGlnbmlzc2ltIGlhY3VsaXMgZmVs
aXMsIGVnZXQgdmVzdGlidWx1bSBlcm9zLiBOdWxsYSBlZ2V0IGZhdWNpYnVzIG1hc3NhLiBJbnRl
Z2VyIHNvbGxpY2l0dWRpbiBwcmV0aXVtIGVyYXQsIHZlbCBjb21tb2RvIG51bmMgY29uZ3VlIG5v
bi4gTnVsbGEgaW4gbnVuYyBhdWN0b3IgZHVpIGVmZmljaXR1ciBldWlzbW9kLiBTZWQgcGhhcmV0
cmEgc2FwaWVuIGVyYXQsIGEgYmxhbmRpdCBuZXF1ZSBwb3J0dGl0b3Igc2l0IGFtZXQuIE1hdXJp
cyBwaGFyZXRyYSBzb2RhbGVzIG1heGltdXMuIE51bGxhIHZvbHV0cGF0IGF1Y3RvciBxdWFtLCBh
IGVsZW1lbnR1bSByaXN1cyB0cmlzdGlxdWUgZXUuIEluIGFjIHNvZGFsZXMgbmliaC4gTWFlY2Vu
YXMgcGhhcmV0cmEgb3JjaSBzZW0sIGV1IGxhb3JlZXQgcXVhbSB0aW5jaWR1bnQgbm9uLiBNYXVy
aXMgaW4gaW50ZXJkdW0gZHVpLiBWaXZhbXVzIGV0IGludGVyZHVtIGVyYXQuIEFsaXF1YW0gbmVj
IGFudGUgdGluY2lkdW50LCBlbGVtZW50dW0gcmlzdXMgaW4sIG1hdHRpcyBvcmNpLiBTZWQgbWFz
c2EgdHVycGlzLCBibGFuZGl0IGEgcnV0cnVtIGF0LCBkaWduaXNzaW0gZXQgbGVjdHVzLiBOdW5j
IHRpbmNpZHVudCBvcmNpIG5pYmgsIGlkIHVsbGFtY29ycGVyIG5pc2wgdmVzdGlidWx1bSB2ZWwu
PC9kaXY+Cis8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBqdXN0aWZ5Ij5Mb3JlbSBpcHN1bSBkb2xv
ciBzaXQgYW1ldCwgY29uc2VjdGV0dXIgYWRpcGlzY2luZyBlbGl0LiBEb25lYyBjb25zZXF1YXQg
cmhvbmN1cyBlcmF0LCBpZCBwZWxsZW50ZXNxdWUgbGlndWxhIGFsaXF1ZXQgZXQuIE5hbSBhbGlx
dWFtIHBlbGxlbnRlc3F1ZSByaXN1cy4gTWF1cmlzIGxvcmVtIG51bmMsIHNvZGFsZXMgcGVsbGVu
dGVzcXVlIHBvcnR0aXRvciB1dCwgcGVsbGVudGVzcXVlIGF0IGZlbGlzLiBOdWxsYW0gZXQgYWNj
dW1zYW4gbGVvLCBpbiBzY2VsZXJpc3F1ZSBtYXNzYS4gRnVzY2UgbHVjdHVzIGxhb3JlZXQgcHJl
dGl1bS4gTnVsbGEgc29sbGljaXR1ZGluIHZvbHV0cGF0IG5lcXVlIGluIG1hdHRpcy4gVmVzdGli
dWx1bSBub24gcGxhY2VyYXQgdmVsaXQuIEFlbmVhbiBkdWkgbnVuYywgdGluY2lkdW50IG5lYyB0
ZW1wdXMgZXQsIHZlbmVuYXRpcyB2ZWwgbWFnbmEuIEludGVyZHVtIGV0IG1hbGVzdWFkYSBmYW1l
cyBhYyBhbnRlIGlwc3VtIHByaW1pcyBpbiBmYXVjaWJ1cy4gUHJvaW4gcHJldGl1bSBuaXNsIHNp
dCBhbWV0IGxhY3VzIHZhcml1cyBjb25zZXF1YXQuIERvbmVjIGNvbmd1ZSBtb2xlc3RpZSBtYXVy
aXMsIGEgdmVoaWN1bGEgdmVsaXQuIE5hbSBwZWxsZW50ZXNxdWUgc2VkIGFyY3UgY29uZ3VlIHJ1
dHJ1bS4gTWFlY2VuYXMgcHVsdmluYXIgZXggYXQgZGlhbSBkYXBpYnVzIGNvbnNlY3RldHVyIHV0
IG5vbiBuaXNsLiBTZWQgdGVtcHVzIGJpYmVuZHVtIHNvZGFsZXMuIERvbmVjIG5lYyBhcmN1IGxp
Z3VsYS4gVml2YW11cyBzaXQgYW1ldCBhbGlxdWV0IG5lcXVlLCB2ZWwgdm9sdXRwYXQgbmliaC4g
SW4gcHVydXMgc2VtLCB0aW5jaWR1bnQgdnVscHV0YXRlIG5lcXVlIGV1LCBzY2VsZXJpc3F1ZSBo
ZW5kcmVyaXQgZXguIERvbmVjIGV1IHBvcnRhIGxlY3R1cywgYXQgbWFsZXN1YWRhIG1hZ25hLiBE
dWlzIHV0IGVnZXN0YXMgZXN0LiBOdWxsYW0gZXQgbGliZXJvIHNpdCBhbWV0IGxlY3R1cyB0ZW1w
dXMgcGhhcmV0cmEgYWMgaWQgbWF1cmlzLiBVdCBkaWFtIG9yY2ksIGludGVyZHVtIG5lYyBzdXNj
aXBpdCB1dCwgc2VtcGVyIG5lYyBvcmNpLiBGdXNjZSBzZWQgcmlzdXMgZWxlbWVudHVtLCBwb3N1
ZXJlIG9yY2kgaWQsIGFsaXF1YW0gdXJuYS4gRG9uZWMgYXJjdSB0dXJwaXMsIHNjZWxlcmlzcXVl
IGEgbWF1cmlzIHZlbCwgdmVoaWN1bGEgY29udmFsbGlzIGlwc3VtLiBQaGFzZWxsdXMgZmFjaWxp
c2lzLCBtYWduYSB1dCBkYXBpYnVzIHByZXRpdW0sIHNhcGllbiBtYXVyaXMgdml2ZXJyYSBlbmlt
LCB1dCBoZW5kcmVyaXQgdXJuYSBkdWkgZXUgbGlndWxhLiBOdWxsYSB2ZXN0aWJ1bHVtIGV0IG5p
YmggcXVpcyBsYW9yZWV0LiBRdWlzcXVlIGZldWdpYXQgYXJjdSBpcHN1bSwgaWQgbW9sbGlzIHF1
YW0gc2FnaXR0aXMgYXQuIE1vcmJpIHRlbXB1cywgcmlzdXMgbW9sZXN0aWUgdWx0cmljaWVzIHZp
dmVycmEsIGp1c3RvIGF1Z3VlIGZhY2lsaXNpcyBvcmNpLCBhIHNlbXBlciByaXN1cyBkdWkgcGVs
bGVudGVzcXVlIHB1cnVzLiBDdXJhYml0dXIgZmFjaWxpc2lzIGFyY3UgcXVhbSwgaWQgZmFjaWxp
c2lzIHR1cnBpcyBhbGlxdWFtIGFjLiBNYWVjZW5hcyBlZmZpY2l0dXIgcmlzdXMgcGVsbGVudGVz
cXVlIHNlbSBtYXhpbXVzIGV1aXNtb2QuIFByb2luIGFsaXF1ZXQganVzdG8gYWMgZG9sb3IgZmF1
Y2lidXMgcG9ydHRpdG9yLiBGdXNjZSBvcmNpIGxlY3R1cywgZWxlaWZlbmQgYXQgbGVjdHVzIHNp
dCBhbWV0LCBwcmV0aXVtIG9ybmFyZSBmZWxpcy4gTnVsbGFtIG5lYyBpcHN1bSBtYXhpbXVzLCBt
b2xlc3RpZSBhcmN1IGluLCBmaW5pYnVzIHVybmEuIFN1c3BlbmRpc3NlIHRpbmNpZHVudCBmZXVn
aWF0IGVzdCwgaW4gdml2ZXJyYSBsZWN0dXMgdGluY2lkdW50IHF1aXMuIFV0IGVyb3MgdG9ydG9y
LCB0aW5jaWR1bnQgdmVsIGNvbW1vZG8gaGVuZHJlcml0LCBjb25zZXF1YXQgdmVsIG5lcXVlLiBW
ZXN0aWJ1bHVtIGVuaW0gbmliaCwgYWNjdW1zYW4gcXVpcyB2aXZlcnJhIHV0LCBpYWN1bGlzIHNp
dCBhbWV0IGVzdC4gTW9yYmkgbm9uIGxhY3VzIGF0IGRvbG9yIGV1aXNtb2QgbW9sZXN0aWUuIElu
dGVnZXIgcHVsdmluYXIsIG5pYmggaW4gdm9sdXRwYXQgdGluY2lkdW50LCB1cm5hIG9kaW8gaW50
ZXJkdW0gbWFnbmEsIHZpdGFlIGZhdWNpYnVzIGZlbGlzIHF1YW0gbmVjIGVzdC4gUHJvaW4gdGVs
bHVzIHF1YW0sIGF1Y3RvciBuZWMgZGljdHVtIHNlZCwgcmhvbmN1cyBuZWMgbWFzc2EuIE1hdXJp
cyBhYyBhcmN1IGFjIGF1Z3VlIHBvcnRhIHZpdmVycmEuIFF1aXNxdWUgc2VtcGVyIGVnZXQgbmlz
aSBxdWlzIHZpdmVycmEuIERvbmVjIHZpdGFlIG1hdXJpcyBpcHN1bS4gRHVpcyB0ZW1wb3IgcHVs
dmluYXIgdml2ZXJyYS4gTmFtIGRpZ25pc3NpbSBpYWN1bGlzIGZlbGlzLCBlZ2V0IHZlc3RpYnVs
dW0gZXJvcy4gTnVsbGEgZWdldCBmYXVjaWJ1cyBtYXNzYS4gSW50ZWdlciBzb2xsaWNpdHVkaW4g
cHJldGl1bSBlcmF0LCB2ZWwgY29tbW9kbyBudW5jIGNvbmd1ZSBub24uIE51bGxhIGluIG51bmMg
YXVjdG9yIGR1aSBlZmZpY2l0dXIgZXVpc21vZC4gU2VkIHBoYXJldHJhIHNhcGllbiBlcmF0LCBh
IGJsYW5kaXQgbmVxdWUgcG9ydHRpdG9yIHNpdCBhbWV0LiBNYXVyaXMgcGhhcmV0cmEgc29kYWxl
cyBtYXhpbXVzLiBOdWxsYSB2b2x1dHBhdCBhdWN0b3IgcXVhbSwgYSBlbGVtZW50dW0gcmlzdXMg
dHJpc3RpcXVlIGV1LiBJbiBhYyBzb2RhbGVzIG5pYmguIE1hZWNlbmFzIHBoYXJldHJhIG9yY2kg
c2VtLCBldSBsYW9yZWV0IHF1YW0gdGluY2lkdW50IG5vbi4gTWF1cmlzIGluIGludGVyZHVtIGR1
aS4gVml2YW11cyBldCBpbnRlcmR1bSBlcmF0LiBBbGlxdWFtIG5lYyBhbnRlIHRpbmNpZHVudCwg
ZWxlbWVudHVtIHJpc3VzIGluLCBtYXR0aXMgb3JjaS4gU2VkIG1hc3NhIHR1cnBpcywgYmxhbmRp
dCBhIHJ1dHJ1bSBhdCwgZGlnbmlzc2ltIGV0IGxlY3R1cy4gTnVuYyB0aW5jaWR1bnQgb3JjaSBu
aWJoLCBpZCB1bGxhbWNvcnBlciBuaXNsIHZlc3RpYnVsdW0gdmVsLjwvZGl2PgorPGRpdiBzdHls
ZT0idGV4dC1hbGlnbjogcmlnaHQiPkxvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBjb25zZWN0
ZXR1ciBhZGlwaXNjaW5nIGVsaXQuIERvbmVjIGNvbnNlcXVhdCByaG9uY3VzIGVyYXQsIGlkIHBl
bGxlbnRlc3F1ZSBsaWd1bGEgYWxpcXVldCBldC4gTmFtIGFsaXF1YW0gcGVsbGVudGVzcXVlIHJp
c3VzLiBNYXVyaXMgbG9yZW0gbnVuYywgc29kYWxlcyBwZWxsZW50ZXNxdWUgcG9ydHRpdG9yIHV0
LCBwZWxsZW50ZXNxdWUgYXQgZmVsaXMuIE51bGxhbSBldCBhY2N1bXNhbiBsZW8sIGluIHNjZWxl
cmlzcXVlIG1hc3NhLiBGdXNjZSBsdWN0dXMgbGFvcmVldCBwcmV0aXVtLiBOdWxsYSBzb2xsaWNp
dHVkaW4gdm9sdXRwYXQgbmVxdWUgaW4gbWF0dGlzLiBWZXN0aWJ1bHVtIG5vbiBwbGFjZXJhdCB2
ZWxpdC4gQWVuZWFuIGR1aSBudW5jLCB0aW5jaWR1bnQgbmVjIHRlbXB1cyBldCwgdmVuZW5hdGlz
IHZlbCBtYWduYS4gSW50ZXJkdW0gZXQgbWFsZXN1YWRhIGZhbWVzIGFjIGFudGUgaXBzdW0gcHJp
bWlzIGluIGZhdWNpYnVzLiBQcm9pbiBwcmV0aXVtIG5pc2wgc2l0IGFtZXQgbGFjdXMgdmFyaXVz
IGNvbnNlcXVhdC4gRG9uZWMgY29uZ3VlIG1vbGVzdGllIG1hdXJpcywgYSB2ZWhpY3VsYSB2ZWxp
dC4gTmFtIHBlbGxlbnRlc3F1ZSBzZWQgYXJjdSBjb25ndWUgcnV0cnVtLiBNYWVjZW5hcyBwdWx2
aW5hciBleCBhdCBkaWFtIGRhcGlidXMgY29uc2VjdGV0dXIgdXQgbm9uIG5pc2wuIFNlZCB0ZW1w
dXMgYmliZW5kdW0gc29kYWxlcy4gRG9uZWMgbmVjIGFyY3UgbGlndWxhLiBWaXZhbXVzIHNpdCBh
bWV0IGFsaXF1ZXQgbmVxdWUsIHZlbCB2b2x1dHBhdCBuaWJoLiBJbiBwdXJ1cyBzZW0sIHRpbmNp
ZHVudCB2dWxwdXRhdGUgbmVxdWUgZXUsIHNjZWxlcmlzcXVlIGhlbmRyZXJpdCBleC4gRG9uZWMg
ZXUgcG9ydGEgbGVjdHVzLCBhdCBtYWxlc3VhZGEgbWFnbmEuIER1aXMgdXQgZWdlc3RhcyBlc3Qu
IE51bGxhbSBldCBsaWJlcm8gc2l0IGFtZXQgbGVjdHVzIHRlbXB1cyBwaGFyZXRyYSBhYyBpZCBt
YXVyaXMuIFV0IGRpYW0gb3JjaSwgaW50ZXJkdW0gbmVjIHN1c2NpcGl0IHV0LCBzZW1wZXIgbmVj
IG9yY2kuIEZ1c2NlIHNlZCByaXN1cyBlbGVtZW50dW0sIHBvc3VlcmUgb3JjaSBpZCwgYWxpcXVh
bSB1cm5hLiBEb25lYyBhcmN1IHR1cnBpcywgc2NlbGVyaXNxdWUgYSBtYXVyaXMgdmVsLCB2ZWhp
Y3VsYSBjb252YWxsaXMgaXBzdW0uIFBoYXNlbGx1cyBmYWNpbGlzaXMsIG1hZ25hIHV0IGRhcGli
dXMgcHJldGl1bSwgc2FwaWVuIG1hdXJpcyB2aXZlcnJhIGVuaW0sIHV0IGhlbmRyZXJpdCB1cm5h
IGR1aSBldSBsaWd1bGEuIE51bGxhIHZlc3RpYnVsdW0gZXQgbmliaCBxdWlzIGxhb3JlZXQuIFF1
aXNxdWUgZmV1Z2lhdCBhcmN1IGlwc3VtLCBpZCBtb2xsaXMgcXVhbSBzYWdpdHRpcyBhdC4gTW9y
YmkgdGVtcHVzLCByaXN1cyBtb2xlc3RpZSB1bHRyaWNpZXMgdml2ZXJyYSwganVzdG8gYXVndWUg
ZmFjaWxpc2lzIG9yY2ksIGEgc2VtcGVyIHJpc3VzIGR1aSBwZWxsZW50ZXNxdWUgcHVydXMuIEN1
cmFiaXR1ciBmYWNpbGlzaXMgYXJjdSBxdWFtLCBpZCBmYWNpbGlzaXMgdHVycGlzIGFsaXF1YW0g
YWMuIE1hZWNlbmFzIGVmZmljaXR1ciByaXN1cyBwZWxsZW50ZXNxdWUgc2VtIG1heGltdXMgZXVp
c21vZC4gUHJvaW4gYWxpcXVldCBqdXN0byBhYyBkb2xvciBmYXVjaWJ1cyBwb3J0dGl0b3IuIEZ1
c2NlIG9yY2kgbGVjdHVzLCBlbGVpZmVuZCBhdCBsZWN0dXMgc2l0IGFtZXQsIHByZXRpdW0gb3Ju
YXJlIGZlbGlzLiBOdWxsYW0gbmVjIGlwc3VtIG1heGltdXMsIG1vbGVzdGllIGFyY3UgaW4sIGZp
bmlidXMgdXJuYS4gU3VzcGVuZGlzc2UgdGluY2lkdW50IGZldWdpYXQgZXN0LCBpbiB2aXZlcnJh
IGxlY3R1cyB0aW5jaWR1bnQgcXVpcy4gVXQgZXJvcyB0b3J0b3IsIHRpbmNpZHVudCB2ZWwgY29t
bW9kbyBoZW5kcmVyaXQsIGNvbnNlcXVhdCB2ZWwgbmVxdWUuIFZlc3RpYnVsdW0gZW5pbSBuaWJo
LCBhY2N1bXNhbiBxdWlzIHZpdmVycmEgdXQsIGlhY3VsaXMgc2l0IGFtZXQgZXN0LiBNb3JiaSBu
b24gbGFjdXMgYXQgZG9sb3IgZXVpc21vZCBtb2xlc3RpZS4gSW50ZWdlciBwdWx2aW5hciwgbmli
aCBpbiB2b2x1dHBhdCB0aW5jaWR1bnQsIHVybmEgb2RpbyBpbnRlcmR1bSBtYWduYSwgdml0YWUg
ZmF1Y2lidXMgZmVsaXMgcXVhbSBuZWMgZXN0LiBQcm9pbiB0ZWxsdXMgcXVhbSwgYXVjdG9yIG5l
YyBkaWN0dW0gc2VkLCByaG9uY3VzIG5lYyBtYXNzYS4gTWF1cmlzIGFjIGFyY3UgYWMgYXVndWUg
cG9ydGEgdml2ZXJyYS4gUXVpc3F1ZSBzZW1wZXIgZWdldCBuaXNpIHF1aXMgdml2ZXJyYS4gRG9u
ZWMgdml0YWUgbWF1cmlzIGlwc3VtLiBEdWlzIHRlbXBvciBwdWx2aW5hciB2aXZlcnJhLiBOYW0g
ZGlnbmlzc2ltIGlhY3VsaXMgZmVsaXMsIGVnZXQgdmVzdGlidWx1bSBlcm9zLiBOdWxsYSBlZ2V0
IGZhdWNpYnVzIG1hc3NhLiBJbnRlZ2VyIHNvbGxpY2l0dWRpbiBwcmV0aXVtIGVyYXQsIHZlbCBj
b21tb2RvIG51bmMgY29uZ3VlIG5vbi4gTnVsbGEgaW4gbnVuYyBhdWN0b3IgZHVpIGVmZmljaXR1
ciBldWlzbW9kLiBTZWQgcGhhcmV0cmEgc2FwaWVuIGVyYXQsIGEgYmxhbmRpdCBuZXF1ZSBwb3J0
dGl0b3Igc2l0IGFtZXQuIE1hdXJpcyBwaGFyZXRyYSBzb2RhbGVzIG1heGltdXMuIE51bGxhIHZv
bHV0cGF0IGF1Y3RvciBxdWFtLCBhIGVsZW1lbnR1bSByaXN1cyB0cmlzdGlxdWUgZXUuIEluIGFj
IHNvZGFsZXMgbmliaC4gTWFlY2VuYXMgcGhhcmV0cmEgb3JjaSBzZW0sIGV1IGxhb3JlZXQgcXVh
bSB0aW5jaWR1bnQgbm9uLiBNYXVyaXMgaW4gaW50ZXJkdW0gZHVpLiBWaXZhbXVzIGV0IGludGVy
ZHVtIGVyYXQuIEFsaXF1YW0gbmVjIGFudGUgdGluY2lkdW50LCBlbGVtZW50dW0gcmlzdXMgaW4s
IG1hdHRpcyBvcmNpLiBTZWQgbWFzc2EgdHVycGlzLCBibGFuZGl0IGEgcnV0cnVtIGF0LCBkaWdu
aXNzaW0gZXQgbGVjdHVzLiBOdW5jIHRpbmNpZHVudCBvcmNpIG5pYmgsIGlkIHVsbGFtY29ycGVy
IG5pc2wgdmVzdGlidWx1bSB2ZWwuPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L3RleHQvc2ltcGxlLWxpbmUtaHlwaGVucy13aXRoLXdvcmQtbGV0
dGVyLXNwYWNpbmctZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9zaW1wbGUt
bGluZS1oeXBoZW5zLXdpdGgtd29yZC1sZXR0ZXItc3BhY2luZy1leHBlY3RlZC5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjIzMDgwZGY5YmZhMzQ2MjAwYTE0NDEzOTAxYzlkYzM3MWFiNGY4NWMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3RleHQvc2ltcGxlLWxpbmUtaHlwaGVucy13aXRo
LXdvcmQtbGV0dGVyLXNwYWNpbmctZXhwZWN0ZWQuaHRtbApAQCAtMCwwICsxLDIyIEBACis8IURP
Q1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8dGl0bGU+VGhpcyB0ZXN0cyB0aGF0IHNpbXBs
ZSBhbmQgbm9ybWFsIGxpbmUgbGF5b3V0IHByb2R1Y2UgdGhlIHNhbWUgbGluZXMgd2l0aCBoeXBo
ZW5zPC90aXRsZT4KKzxzdHlsZT4KK2RpdiB7CisgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKKyAg
LXdlYmtpdC1oeXBoZW5zOiBhdXRvOyAKKyAgd2lkdGg6IDIwMHB4OworICBib3JkZXI6IDFweCBz
b2xpZCBncmVlbjsKK30KKzwvc3R5bGU+Cis8c2NyaXB0PgoraWYgKGludGVybmFsLnNldHRpbmdz
KQorICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRTaW1wbGVMaW5lTGF5b3V0RW5hYmxlZChmYWxz
ZSk7Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGRpdiBzdHlsZT0id29yZC1zcGFjaW5n
OiAzMHB4Ij5Mb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2VjdGV0dXIgYWRpcGlzY2lu
ZyBlbGl0LiBEb25lYyBjb25zZXF1YXQgcmhvbmN1cyBlcmF0LCBpZCBwZWxsZW50ZXNxdWUgbGln
dWxhIGFsaXF1ZXQgZXQuIE5hbSBhbGlxdWFtIHBlbGxlbnRlc3F1ZSByaXN1cy4gTWF1cmlzIGxv
cmVtIG51bmMsIHNvZGFsZXMgcGVsbGVudGVzcXVlIHBvcnR0aXRvciB1dCwgcGVsbGVudGVzcXVl
IGF0IGZlbGlzLiBOdWxsYW0gZXQgYWNjdW1zYW4gbGVvLCBpbiBzY2VsZXJpc3F1ZSBtYXNzYS4g
RnVzY2UgbHVjdHVzIGxhb3JlZXQgcHJldGl1bS4gTnVsbGEgc29sbGljaXR1ZGluIHZvbHV0cGF0
IG5lcXVlIGluIG1hdHRpcy4gVmVzdGlidWx1bSBub24gcGxhY2VyYXQgdmVsaXQuIEFlbmVhbiBk
dWkgbnVuYywgdGluY2lkdW50IG5lYyB0ZW1wdXMgZXQsIHZlbmVuYXRpcyB2ZWwgbWFnbmEuIElu
dGVyZHVtIGV0IG1hbGVzdWFkYSBmYW1lcyBhYyBhbnRlIGlwc3VtIHByaW1pcyBpbiBmYXVjaWJ1
cy4gUHJvaW4gcHJldGl1bSBuaXNsIHNpdCBhbWV0IGxhY3VzIHZhcml1cyBjb25zZXF1YXQuIERv
bmVjIGNvbmd1ZSBtb2xlc3RpZSBtYXVyaXMsIGEgdmVoaWN1bGEgdmVsaXQuIE5hbSBwZWxsZW50
ZXNxdWUgc2VkIGFyY3UgY29uZ3VlIHJ1dHJ1bS4gTWFlY2VuYXMgcHVsdmluYXIgZXggYXQgZGlh
bSBkYXBpYnVzIGNvbnNlY3RldHVyIHV0IG5vbiBuaXNsLiBTZWQgdGVtcHVzIGJpYmVuZHVtIHNv
ZGFsZXMuIERvbmVjIG5lYyBhcmN1IGxpZ3VsYS4gVml2YW11cyBzaXQgYW1ldCBhbGlxdWV0IG5l
cXVlLCB2ZWwgdm9sdXRwYXQgbmliaC4gSW4gcHVydXMgc2VtLCB0aW5jaWR1bnQgdnVscHV0YXRl
IG5lcXVlIGV1LCBzY2VsZXJpc3F1ZSBoZW5kcmVyaXQgZXguIERvbmVjIGV1IHBvcnRhIGxlY3R1
cywgYXQgbWFsZXN1YWRhIG1hZ25hLiBEdWlzIHV0IGVnZXN0YXMgZXN0LiBOdWxsYW0gZXQgbGli
ZXJvIHNpdCBhbWV0IGxlY3R1cyB0ZW1wdXMgcGhhcmV0cmEgYWMgaWQgbWF1cmlzLiBVdCBkaWFt
IG9yY2ksIGludGVyZHVtIG5lYyBzdXNjaXBpdCB1dCwgc2VtcGVyIG5lYyBvcmNpLiBGdXNjZSBz
ZWQgcmlzdXMgZWxlbWVudHVtLCBwb3N1ZXJlIG9yY2kgaWQsIGFsaXF1YW0gdXJuYS4gRG9uZWMg
YXJjdSB0dXJwaXMsIHNjZWxlcmlzcXVlIGEgbWF1cmlzIHZlbCwgdmVoaWN1bGEgY29udmFsbGlz
IGlwc3VtLiBQaGFzZWxsdXMgZmFjaWxpc2lzLCBtYWduYSB1dCBkYXBpYnVzIHByZXRpdW0sIHNh
cGllbiBtYXVyaXMgdml2ZXJyYSBlbmltLCB1dCBoZW5kcmVyaXQgdXJuYSBkdWkgZXUgbGlndWxh
LiBOdWxsYSB2ZXN0aWJ1bHVtIGV0IG5pYmggcXVpcyBsYW9yZWV0LiBRdWlzcXVlIGZldWdpYXQg
YXJjdSBpcHN1bSwgaWQgbW9sbGlzIHF1YW0gc2FnaXR0aXMgYXQuIE1vcmJpIHRlbXB1cywgcmlz
dXMgbW9sZXN0aWUgdWx0cmljaWVzIHZpdmVycmEsIGp1c3RvIGF1Z3VlIGZhY2lsaXNpcyBvcmNp
LCBhIHNlbXBlciByaXN1cyBkdWkgcGVsbGVudGVzcXVlIHB1cnVzLiBDdXJhYml0dXIgZmFjaWxp
c2lzIGFyY3UgcXVhbSwgaWQgZmFjaWxpc2lzIHR1cnBpcyBhbGlxdWFtIGFjLiBNYWVjZW5hcyBl
ZmZpY2l0dXIgcmlzdXMgcGVsbGVudGVzcXVlIHNlbSBtYXhpbXVzIGV1aXNtb2QuIFByb2luIGFs
aXF1ZXQganVzdG8gYWMgZG9sb3IgZmF1Y2lidXMgcG9ydHRpdG9yLiBGdXNjZSBvcmNpIGxlY3R1
cywgZWxlaWZlbmQgYXQgbGVjdHVzIHNpdCBhbWV0LCBwcmV0aXVtIG9ybmFyZSBmZWxpcy4gTnVs
bGFtIG5lYyBpcHN1bSBtYXhpbXVzLCBtb2xlc3RpZSBhcmN1IGluLCBmaW5pYnVzIHVybmEuIFN1
c3BlbmRpc3NlIHRpbmNpZHVudCBmZXVnaWF0IGVzdCwgaW4gdml2ZXJyYSBsZWN0dXMgdGluY2lk
dW50IHF1aXMuIFV0IGVyb3MgdG9ydG9yLCB0aW5jaWR1bnQgdmVsIGNvbW1vZG8gaGVuZHJlcml0
LCBjb25zZXF1YXQgdmVsIG5lcXVlLiBWZXN0aWJ1bHVtIGVuaW0gbmliaCwgYWNjdW1zYW4gcXVp
cyB2aXZlcnJhIHV0LCBpYWN1bGlzIHNpdCBhbWV0IGVzdC4gTW9yYmkgbm9uIGxhY3VzIGF0IGRv
bG9yIGV1aXNtb2QgbW9sZXN0aWUuIEludGVnZXIgcHVsdmluYXIsIG5pYmggaW4gdm9sdXRwYXQg
dGluY2lkdW50LCB1cm5hIG9kaW8gaW50ZXJkdW0gbWFnbmEsIHZpdGFlIGZhdWNpYnVzIGZlbGlz
IHF1YW0gbmVjIGVzdC4gUHJvaW4gdGVsbHVzIHF1YW0sIGF1Y3RvciBuZWMgZGljdHVtIHNlZCwg
cmhvbmN1cyBuZWMgbWFzc2EuIE1hdXJpcyBhYyBhcmN1IGFjIGF1Z3VlIHBvcnRhIHZpdmVycmEu
IFF1aXNxdWUgc2VtcGVyIGVnZXQgbmlzaSBxdWlzIHZpdmVycmEuIERvbmVjIHZpdGFlIG1hdXJp
cyBpcHN1bS4gRHVpcyB0ZW1wb3IgcHVsdmluYXIgdml2ZXJyYS4gTmFtIGRpZ25pc3NpbSBpYWN1
bGlzIGZlbGlzLCBlZ2V0IHZlc3RpYnVsdW0gZXJvcy4gTnVsbGEgZWdldCBmYXVjaWJ1cyBtYXNz
YS4gSW50ZWdlciBzb2xsaWNpdHVkaW4gcHJldGl1bSBlcmF0LCB2ZWwgY29tbW9kbyBudW5jIGNv
bmd1ZSBub24uIE51bGxhIGluIG51bmMgYXVjdG9yIGR1aSBlZmZpY2l0dXIgZXVpc21vZC4gU2Vk
IHBoYXJldHJhIHNhcGllbiBlcmF0LCBhIGJsYW5kaXQgbmVxdWUgcG9ydHRpdG9yIHNpdCBhbWV0
LiBNYXVyaXMgcGhhcmV0cmEgc29kYWxlcyBtYXhpbXVzLiBOdWxsYSB2b2x1dHBhdCBhdWN0b3Ig
cXVhbSwgYSBlbGVtZW50dW0gcmlzdXMgdHJpc3RpcXVlIGV1LiBJbiBhYyBzb2RhbGVzIG5pYmgu
IE1hZWNlbmFzIHBoYXJldHJhIG9yY2kgc2VtLCBldSBsYW9yZWV0IHF1YW0gdGluY2lkdW50IG5v
bi4gTWF1cmlzIGluIGludGVyZHVtIGR1aS4gVml2YW11cyBldCBpbnRlcmR1bSBlcmF0LiBBbGlx
dWFtIG5lYyBhbnRlIHRpbmNpZHVudCwgZWxlbWVudHVtIHJpc3VzIGluLCBtYXR0aXMgb3JjaS4g
U2VkIG1hc3NhIHR1cnBpcywgYmxhbmRpdCBhIHJ1dHJ1bSBhdCwgZGlnbmlzc2ltIGV0IGxlY3R1
cy4gTnVuYyB0aW5jaWR1bnQgb3JjaSBuaWJoLCBpZCB1bGxhbWNvcnBlciBuaXNsIHZlc3RpYnVs
dW0gdmVsLjwvZGl2PgorPGRpdiBzdHlsZT0ibGV0dGVyLXNwYWNpbmc6IDNweCI+TG9yZW0gaXBz
dW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVyIGFkaXBpc2NpbmcgZWxpdC4gRG9uZWMgY29u
c2VxdWF0IHJob25jdXMgZXJhdCwgaWQgcGVsbGVudGVzcXVlIGxpZ3VsYSBhbGlxdWV0IGV0LiBO
YW0gYWxpcXVhbSBwZWxsZW50ZXNxdWUgcmlzdXMuIE1hdXJpcyBsb3JlbSBudW5jLCBzb2RhbGVz
IHBlbGxlbnRlc3F1ZSBwb3J0dGl0b3IgdXQsIHBlbGxlbnRlc3F1ZSBhdCBmZWxpcy4gTnVsbGFt
IGV0IGFjY3Vtc2FuIGxlbywgaW4gc2NlbGVyaXNxdWUgbWFzc2EuIEZ1c2NlIGx1Y3R1cyBsYW9y
ZWV0IHByZXRpdW0uIE51bGxhIHNvbGxpY2l0dWRpbiB2b2x1dHBhdCBuZXF1ZSBpbiBtYXR0aXMu
IFZlc3RpYnVsdW0gbm9uIHBsYWNlcmF0IHZlbGl0LiBBZW5lYW4gZHVpIG51bmMsIHRpbmNpZHVu
dCBuZWMgdGVtcHVzIGV0LCB2ZW5lbmF0aXMgdmVsIG1hZ25hLiBJbnRlcmR1bSBldCBtYWxlc3Vh
ZGEgZmFtZXMgYWMgYW50ZSBpcHN1bSBwcmltaXMgaW4gZmF1Y2lidXMuIFByb2luIHByZXRpdW0g
bmlzbCBzaXQgYW1ldCBsYWN1cyB2YXJpdXMgY29uc2VxdWF0LiBEb25lYyBjb25ndWUgbW9sZXN0
aWUgbWF1cmlzLCBhIHZlaGljdWxhIHZlbGl0LiBOYW0gcGVsbGVudGVzcXVlIHNlZCBhcmN1IGNv
bmd1ZSBydXRydW0uIE1hZWNlbmFzIHB1bHZpbmFyIGV4IGF0IGRpYW0gZGFwaWJ1cyBjb25zZWN0
ZXR1ciB1dCBub24gbmlzbC4gU2VkIHRlbXB1cyBiaWJlbmR1bSBzb2RhbGVzLiBEb25lYyBuZWMg
YXJjdSBsaWd1bGEuIFZpdmFtdXMgc2l0IGFtZXQgYWxpcXVldCBuZXF1ZSwgdmVsIHZvbHV0cGF0
IG5pYmguIEluIHB1cnVzIHNlbSwgdGluY2lkdW50IHZ1bHB1dGF0ZSBuZXF1ZSBldSwgc2NlbGVy
aXNxdWUgaGVuZHJlcml0IGV4LiBEb25lYyBldSBwb3J0YSBsZWN0dXMsIGF0IG1hbGVzdWFkYSBt
YWduYS4gRHVpcyB1dCBlZ2VzdGFzIGVzdC4gTnVsbGFtIGV0IGxpYmVybyBzaXQgYW1ldCBsZWN0
dXMgdGVtcHVzIHBoYXJldHJhIGFjIGlkIG1hdXJpcy4gVXQgZGlhbSBvcmNpLCBpbnRlcmR1bSBu
ZWMgc3VzY2lwaXQgdXQsIHNlbXBlciBuZWMgb3JjaS4gRnVzY2Ugc2VkIHJpc3VzIGVsZW1lbnR1
bSwgcG9zdWVyZSBvcmNpIGlkLCBhbGlxdWFtIHVybmEuIERvbmVjIGFyY3UgdHVycGlzLCBzY2Vs
ZXJpc3F1ZSBhIG1hdXJpcyB2ZWwsIHZlaGljdWxhIGNvbnZhbGxpcyBpcHN1bS4gUGhhc2VsbHVz
IGZhY2lsaXNpcywgbWFnbmEgdXQgZGFwaWJ1cyBwcmV0aXVtLCBzYXBpZW4gbWF1cmlzIHZpdmVy
cmEgZW5pbSwgdXQgaGVuZHJlcml0IHVybmEgZHVpIGV1IGxpZ3VsYS4gTnVsbGEgdmVzdGlidWx1
bSBldCBuaWJoIHF1aXMgbGFvcmVldC4gUXVpc3F1ZSBmZXVnaWF0IGFyY3UgaXBzdW0sIGlkIG1v
bGxpcyBxdWFtIHNhZ2l0dGlzIGF0LiBNb3JiaSB0ZW1wdXMsIHJpc3VzIG1vbGVzdGllIHVsdHJp
Y2llcyB2aXZlcnJhLCBqdXN0byBhdWd1ZSBmYWNpbGlzaXMgb3JjaSwgYSBzZW1wZXIgcmlzdXMg
ZHVpIHBlbGxlbnRlc3F1ZSBwdXJ1cy4gQ3VyYWJpdHVyIGZhY2lsaXNpcyBhcmN1IHF1YW0sIGlk
IGZhY2lsaXNpcyB0dXJwaXMgYWxpcXVhbSBhYy4gTWFlY2VuYXMgZWZmaWNpdHVyIHJpc3VzIHBl
bGxlbnRlc3F1ZSBzZW0gbWF4aW11cyBldWlzbW9kLiBQcm9pbiBhbGlxdWV0IGp1c3RvIGFjIGRv
bG9yIGZhdWNpYnVzIHBvcnR0aXRvci4gRnVzY2Ugb3JjaSBsZWN0dXMsIGVsZWlmZW5kIGF0IGxl
Y3R1cyBzaXQgYW1ldCwgcHJldGl1bSBvcm5hcmUgZmVsaXMuIE51bGxhbSBuZWMgaXBzdW0gbWF4
aW11cywgbW9sZXN0aWUgYXJjdSBpbiwgZmluaWJ1cyB1cm5hLiBTdXNwZW5kaXNzZSB0aW5jaWR1
bnQgZmV1Z2lhdCBlc3QsIGluIHZpdmVycmEgbGVjdHVzIHRpbmNpZHVudCBxdWlzLiBVdCBlcm9z
IHRvcnRvciwgdGluY2lkdW50IHZlbCBjb21tb2RvIGhlbmRyZXJpdCwgY29uc2VxdWF0IHZlbCBu
ZXF1ZS4gVmVzdGlidWx1bSBlbmltIG5pYmgsIGFjY3Vtc2FuIHF1aXMgdml2ZXJyYSB1dCwgaWFj
dWxpcyBzaXQgYW1ldCBlc3QuIE1vcmJpIG5vbiBsYWN1cyBhdCBkb2xvciBldWlzbW9kIG1vbGVz
dGllLiBJbnRlZ2VyIHB1bHZpbmFyLCBuaWJoIGluIHZvbHV0cGF0IHRpbmNpZHVudCwgdXJuYSBv
ZGlvIGludGVyZHVtIG1hZ25hLCB2aXRhZSBmYXVjaWJ1cyBmZWxpcyBxdWFtIG5lYyBlc3QuIFBy
b2luIHRlbGx1cyBxdWFtLCBhdWN0b3IgbmVjIGRpY3R1bSBzZWQsIHJob25jdXMgbmVjIG1hc3Nh
LiBNYXVyaXMgYWMgYXJjdSBhYyBhdWd1ZSBwb3J0YSB2aXZlcnJhLiBRdWlzcXVlIHNlbXBlciBl
Z2V0IG5pc2kgcXVpcyB2aXZlcnJhLiBEb25lYyB2aXRhZSBtYXVyaXMgaXBzdW0uIER1aXMgdGVt
cG9yIHB1bHZpbmFyIHZpdmVycmEuIE5hbSBkaWduaXNzaW0gaWFjdWxpcyBmZWxpcywgZWdldCB2
ZXN0aWJ1bHVtIGVyb3MuIE51bGxhIGVnZXQgZmF1Y2lidXMgbWFzc2EuIEludGVnZXIgc29sbGlj
aXR1ZGluIHByZXRpdW0gZXJhdCwgdmVsIGNvbW1vZG8gbnVuYyBjb25ndWUgbm9uLiBOdWxsYSBp
biBudW5jIGF1Y3RvciBkdWkgZWZmaWNpdHVyIGV1aXNtb2QuIFNlZCBwaGFyZXRyYSBzYXBpZW4g
ZXJhdCwgYSBibGFuZGl0IG5lcXVlIHBvcnR0aXRvciBzaXQgYW1ldC4gTWF1cmlzIHBoYXJldHJh
IHNvZGFsZXMgbWF4aW11cy4gTnVsbGEgdm9sdXRwYXQgYXVjdG9yIHF1YW0sIGEgZWxlbWVudHVt
IHJpc3VzIHRyaXN0aXF1ZSBldS4gSW4gYWMgc29kYWxlcyBuaWJoLiBNYWVjZW5hcyBwaGFyZXRy
YSBvcmNpIHNlbSwgZXUgbGFvcmVldCBxdWFtIHRpbmNpZHVudCBub24uIE1hdXJpcyBpbiBpbnRl
cmR1bSBkdWkuIFZpdmFtdXMgZXQgaW50ZXJkdW0gZXJhdC4gQWxpcXVhbSBuZWMgYW50ZSB0aW5j
aWR1bnQsIGVsZW1lbnR1bSByaXN1cyBpbiwgbWF0dGlzIG9yY2kuIFNlZCBtYXNzYSB0dXJwaXMs
IGJsYW5kaXQgYSBydXRydW0gYXQsIGRpZ25pc3NpbSBldCBsZWN0dXMuIE51bmMgdGluY2lkdW50
IG9yY2kgbmliaCwgaWQgdWxsYW1jb3JwZXIgbmlzbCB2ZXN0aWJ1bHVtIHZlbC48L2Rpdj4KKzwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9zaW1wbGUt
bGluZS1oeXBoZW5zLXdpdGgtd29yZC1sZXR0ZXItc3BhY2luZy5odG1sIGIvTGF5b3V0VGVzdHMv
ZmFzdC90ZXh0L3NpbXBsZS1saW5lLWh5cGhlbnMtd2l0aC13b3JkLWxldHRlci1zcGFjaW5nLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uOGYxMDk0MjM3OGNiZmZmOGRlMTE3YmMzNDIzMGQyNWIxODJjZTc3NAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvdGV4dC9zaW1wbGUtbGluZS1oeXBo
ZW5zLXdpdGgtd29yZC1sZXR0ZXItc3BhY2luZy5odG1sCkBAIC0wLDAgKzEsMTggQEAKKzwhRE9D
VFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzx0aXRsZT5UaGlzIHRlc3RzIHRoYXQgc2ltcGxl
IGFuZCBub3JtYWwgbGluZSBsYXlvdXQgcHJvZHVjZSB0aGUgc2FtZSBsaW5lcyB3aXRoIGh5cGhl
bnM8L3RpdGxlPgorPHN0eWxlPgorZGl2IHsKKyAgZGlzcGxheTogaW5saW5lLWJsb2NrOworICAt
d2Via2l0LWh5cGhlbnM6IGF1dG87IAorICB3aWR0aDogMjAwcHg7CisgIGJvcmRlcjogMXB4IHNv
bGlkIGdyZWVuOworfQorPC9zdHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPGRpdiBzdHlsZT0id29y
ZC1zcGFjaW5nOiAzMHB4Ij5Mb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2VjdGV0dXIg
YWRpcGlzY2luZyBlbGl0LiBEb25lYyBjb25zZXF1YXQgcmhvbmN1cyBlcmF0LCBpZCBwZWxsZW50
ZXNxdWUgbGlndWxhIGFsaXF1ZXQgZXQuIE5hbSBhbGlxdWFtIHBlbGxlbnRlc3F1ZSByaXN1cy4g
TWF1cmlzIGxvcmVtIG51bmMsIHNvZGFsZXMgcGVsbGVudGVzcXVlIHBvcnR0aXRvciB1dCwgcGVs
bGVudGVzcXVlIGF0IGZlbGlzLiBOdWxsYW0gZXQgYWNjdW1zYW4gbGVvLCBpbiBzY2VsZXJpc3F1
ZSBtYXNzYS4gRnVzY2UgbHVjdHVzIGxhb3JlZXQgcHJldGl1bS4gTnVsbGEgc29sbGljaXR1ZGlu
IHZvbHV0cGF0IG5lcXVlIGluIG1hdHRpcy4gVmVzdGlidWx1bSBub24gcGxhY2VyYXQgdmVsaXQu
IEFlbmVhbiBkdWkgbnVuYywgdGluY2lkdW50IG5lYyB0ZW1wdXMgZXQsIHZlbmVuYXRpcyB2ZWwg
bWFnbmEuIEludGVyZHVtIGV0IG1hbGVzdWFkYSBmYW1lcyBhYyBhbnRlIGlwc3VtIHByaW1pcyBp
biBmYXVjaWJ1cy4gUHJvaW4gcHJldGl1bSBuaXNsIHNpdCBhbWV0IGxhY3VzIHZhcml1cyBjb25z
ZXF1YXQuIERvbmVjIGNvbmd1ZSBtb2xlc3RpZSBtYXVyaXMsIGEgdmVoaWN1bGEgdmVsaXQuIE5h
bSBwZWxsZW50ZXNxdWUgc2VkIGFyY3UgY29uZ3VlIHJ1dHJ1bS4gTWFlY2VuYXMgcHVsdmluYXIg
ZXggYXQgZGlhbSBkYXBpYnVzIGNvbnNlY3RldHVyIHV0IG5vbiBuaXNsLiBTZWQgdGVtcHVzIGJp
YmVuZHVtIHNvZGFsZXMuIERvbmVjIG5lYyBhcmN1IGxpZ3VsYS4gVml2YW11cyBzaXQgYW1ldCBh
bGlxdWV0IG5lcXVlLCB2ZWwgdm9sdXRwYXQgbmliaC4gSW4gcHVydXMgc2VtLCB0aW5jaWR1bnQg
dnVscHV0YXRlIG5lcXVlIGV1LCBzY2VsZXJpc3F1ZSBoZW5kcmVyaXQgZXguIERvbmVjIGV1IHBv
cnRhIGxlY3R1cywgYXQgbWFsZXN1YWRhIG1hZ25hLiBEdWlzIHV0IGVnZXN0YXMgZXN0LiBOdWxs
YW0gZXQgbGliZXJvIHNpdCBhbWV0IGxlY3R1cyB0ZW1wdXMgcGhhcmV0cmEgYWMgaWQgbWF1cmlz
LiBVdCBkaWFtIG9yY2ksIGludGVyZHVtIG5lYyBzdXNjaXBpdCB1dCwgc2VtcGVyIG5lYyBvcmNp
LiBGdXNjZSBzZWQgcmlzdXMgZWxlbWVudHVtLCBwb3N1ZXJlIG9yY2kgaWQsIGFsaXF1YW0gdXJu
YS4gRG9uZWMgYXJjdSB0dXJwaXMsIHNjZWxlcmlzcXVlIGEgbWF1cmlzIHZlbCwgdmVoaWN1bGEg
Y29udmFsbGlzIGlwc3VtLiBQaGFzZWxsdXMgZmFjaWxpc2lzLCBtYWduYSB1dCBkYXBpYnVzIHBy
ZXRpdW0sIHNhcGllbiBtYXVyaXMgdml2ZXJyYSBlbmltLCB1dCBoZW5kcmVyaXQgdXJuYSBkdWkg
ZXUgbGlndWxhLiBOdWxsYSB2ZXN0aWJ1bHVtIGV0IG5pYmggcXVpcyBsYW9yZWV0LiBRdWlzcXVl
IGZldWdpYXQgYXJjdSBpcHN1bSwgaWQgbW9sbGlzIHF1YW0gc2FnaXR0aXMgYXQuIE1vcmJpIHRl
bXB1cywgcmlzdXMgbW9sZXN0aWUgdWx0cmljaWVzIHZpdmVycmEsIGp1c3RvIGF1Z3VlIGZhY2ls
aXNpcyBvcmNpLCBhIHNlbXBlciByaXN1cyBkdWkgcGVsbGVudGVzcXVlIHB1cnVzLiBDdXJhYml0
dXIgZmFjaWxpc2lzIGFyY3UgcXVhbSwgaWQgZmFjaWxpc2lzIHR1cnBpcyBhbGlxdWFtIGFjLiBN
YWVjZW5hcyBlZmZpY2l0dXIgcmlzdXMgcGVsbGVudGVzcXVlIHNlbSBtYXhpbXVzIGV1aXNtb2Qu
IFByb2luIGFsaXF1ZXQganVzdG8gYWMgZG9sb3IgZmF1Y2lidXMgcG9ydHRpdG9yLiBGdXNjZSBv
cmNpIGxlY3R1cywgZWxlaWZlbmQgYXQgbGVjdHVzIHNpdCBhbWV0LCBwcmV0aXVtIG9ybmFyZSBm
ZWxpcy4gTnVsbGFtIG5lYyBpcHN1bSBtYXhpbXVzLCBtb2xlc3RpZSBhcmN1IGluLCBmaW5pYnVz
IHVybmEuIFN1c3BlbmRpc3NlIHRpbmNpZHVudCBmZXVnaWF0IGVzdCwgaW4gdml2ZXJyYSBsZWN0
dXMgdGluY2lkdW50IHF1aXMuIFV0IGVyb3MgdG9ydG9yLCB0aW5jaWR1bnQgdmVsIGNvbW1vZG8g
aGVuZHJlcml0LCBjb25zZXF1YXQgdmVsIG5lcXVlLiBWZXN0aWJ1bHVtIGVuaW0gbmliaCwgYWNj
dW1zYW4gcXVpcyB2aXZlcnJhIHV0LCBpYWN1bGlzIHNpdCBhbWV0IGVzdC4gTW9yYmkgbm9uIGxh
Y3VzIGF0IGRvbG9yIGV1aXNtb2QgbW9sZXN0aWUuIEludGVnZXIgcHVsdmluYXIsIG5pYmggaW4g
dm9sdXRwYXQgdGluY2lkdW50LCB1cm5hIG9kaW8gaW50ZXJkdW0gbWFnbmEsIHZpdGFlIGZhdWNp
YnVzIGZlbGlzIHF1YW0gbmVjIGVzdC4gUHJvaW4gdGVsbHVzIHF1YW0sIGF1Y3RvciBuZWMgZGlj
dHVtIHNlZCwgcmhvbmN1cyBuZWMgbWFzc2EuIE1hdXJpcyBhYyBhcmN1IGFjIGF1Z3VlIHBvcnRh
IHZpdmVycmEuIFF1aXNxdWUgc2VtcGVyIGVnZXQgbmlzaSBxdWlzIHZpdmVycmEuIERvbmVjIHZp
dGFlIG1hdXJpcyBpcHN1bS4gRHVpcyB0ZW1wb3IgcHVsdmluYXIgdml2ZXJyYS4gTmFtIGRpZ25p
c3NpbSBpYWN1bGlzIGZlbGlzLCBlZ2V0IHZlc3RpYnVsdW0gZXJvcy4gTnVsbGEgZWdldCBmYXVj
aWJ1cyBtYXNzYS4gSW50ZWdlciBzb2xsaWNpdHVkaW4gcHJldGl1bSBlcmF0LCB2ZWwgY29tbW9k
byBudW5jIGNvbmd1ZSBub24uIE51bGxhIGluIG51bmMgYXVjdG9yIGR1aSBlZmZpY2l0dXIgZXVp
c21vZC4gU2VkIHBoYXJldHJhIHNhcGllbiBlcmF0LCBhIGJsYW5kaXQgbmVxdWUgcG9ydHRpdG9y
IHNpdCBhbWV0LiBNYXVyaXMgcGhhcmV0cmEgc29kYWxlcyBtYXhpbXVzLiBOdWxsYSB2b2x1dHBh
dCBhdWN0b3IgcXVhbSwgYSBlbGVtZW50dW0gcmlzdXMgdHJpc3RpcXVlIGV1LiBJbiBhYyBzb2Rh
bGVzIG5pYmguIE1hZWNlbmFzIHBoYXJldHJhIG9yY2kgc2VtLCBldSBsYW9yZWV0IHF1YW0gdGlu
Y2lkdW50IG5vbi4gTWF1cmlzIGluIGludGVyZHVtIGR1aS4gVml2YW11cyBldCBpbnRlcmR1bSBl
cmF0LiBBbGlxdWFtIG5lYyBhbnRlIHRpbmNpZHVudCwgZWxlbWVudHVtIHJpc3VzIGluLCBtYXR0
aXMgb3JjaS4gU2VkIG1hc3NhIHR1cnBpcywgYmxhbmRpdCBhIHJ1dHJ1bSBhdCwgZGlnbmlzc2lt
IGV0IGxlY3R1cy4gTnVuYyB0aW5jaWR1bnQgb3JjaSBuaWJoLCBpZCB1bGxhbWNvcnBlciBuaXNs
IHZlc3RpYnVsdW0gdmVsLjwvZGl2PgorPGRpdiBzdHlsZT0ibGV0dGVyLXNwYWNpbmc6IDNweCI+
TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVyIGFkaXBpc2NpbmcgZWxpdC4g
RG9uZWMgY29uc2VxdWF0IHJob25jdXMgZXJhdCwgaWQgcGVsbGVudGVzcXVlIGxpZ3VsYSBhbGlx
dWV0IGV0LiBOYW0gYWxpcXVhbSBwZWxsZW50ZXNxdWUgcmlzdXMuIE1hdXJpcyBsb3JlbSBudW5j
LCBzb2RhbGVzIHBlbGxlbnRlc3F1ZSBwb3J0dGl0b3IgdXQsIHBlbGxlbnRlc3F1ZSBhdCBmZWxp
cy4gTnVsbGFtIGV0IGFjY3Vtc2FuIGxlbywgaW4gc2NlbGVyaXNxdWUgbWFzc2EuIEZ1c2NlIGx1
Y3R1cyBsYW9yZWV0IHByZXRpdW0uIE51bGxhIHNvbGxpY2l0dWRpbiB2b2x1dHBhdCBuZXF1ZSBp
biBtYXR0aXMuIFZlc3RpYnVsdW0gbm9uIHBsYWNlcmF0IHZlbGl0LiBBZW5lYW4gZHVpIG51bmMs
IHRpbmNpZHVudCBuZWMgdGVtcHVzIGV0LCB2ZW5lbmF0aXMgdmVsIG1hZ25hLiBJbnRlcmR1bSBl
dCBtYWxlc3VhZGEgZmFtZXMgYWMgYW50ZSBpcHN1bSBwcmltaXMgaW4gZmF1Y2lidXMuIFByb2lu
IHByZXRpdW0gbmlzbCBzaXQgYW1ldCBsYWN1cyB2YXJpdXMgY29uc2VxdWF0LiBEb25lYyBjb25n
dWUgbW9sZXN0aWUgbWF1cmlzLCBhIHZlaGljdWxhIHZlbGl0LiBOYW0gcGVsbGVudGVzcXVlIHNl
ZCBhcmN1IGNvbmd1ZSBydXRydW0uIE1hZWNlbmFzIHB1bHZpbmFyIGV4IGF0IGRpYW0gZGFwaWJ1
cyBjb25zZWN0ZXR1ciB1dCBub24gbmlzbC4gU2VkIHRlbXB1cyBiaWJlbmR1bSBzb2RhbGVzLiBE
b25lYyBuZWMgYXJjdSBsaWd1bGEuIFZpdmFtdXMgc2l0IGFtZXQgYWxpcXVldCBuZXF1ZSwgdmVs
IHZvbHV0cGF0IG5pYmguIEluIHB1cnVzIHNlbSwgdGluY2lkdW50IHZ1bHB1dGF0ZSBuZXF1ZSBl
dSwgc2NlbGVyaXNxdWUgaGVuZHJlcml0IGV4LiBEb25lYyBldSBwb3J0YSBsZWN0dXMsIGF0IG1h
bGVzdWFkYSBtYWduYS4gRHVpcyB1dCBlZ2VzdGFzIGVzdC4gTnVsbGFtIGV0IGxpYmVybyBzaXQg
YW1ldCBsZWN0dXMgdGVtcHVzIHBoYXJldHJhIGFjIGlkIG1hdXJpcy4gVXQgZGlhbSBvcmNpLCBp
bnRlcmR1bSBuZWMgc3VzY2lwaXQgdXQsIHNlbXBlciBuZWMgb3JjaS4gRnVzY2Ugc2VkIHJpc3Vz
IGVsZW1lbnR1bSwgcG9zdWVyZSBvcmNpIGlkLCBhbGlxdWFtIHVybmEuIERvbmVjIGFyY3UgdHVy
cGlzLCBzY2VsZXJpc3F1ZSBhIG1hdXJpcyB2ZWwsIHZlaGljdWxhIGNvbnZhbGxpcyBpcHN1bS4g
UGhhc2VsbHVzIGZhY2lsaXNpcywgbWFnbmEgdXQgZGFwaWJ1cyBwcmV0aXVtLCBzYXBpZW4gbWF1
cmlzIHZpdmVycmEgZW5pbSwgdXQgaGVuZHJlcml0IHVybmEgZHVpIGV1IGxpZ3VsYS4gTnVsbGEg
dmVzdGlidWx1bSBldCBuaWJoIHF1aXMgbGFvcmVldC4gUXVpc3F1ZSBmZXVnaWF0IGFyY3UgaXBz
dW0sIGlkIG1vbGxpcyBxdWFtIHNhZ2l0dGlzIGF0LiBNb3JiaSB0ZW1wdXMsIHJpc3VzIG1vbGVz
dGllIHVsdHJpY2llcyB2aXZlcnJhLCBqdXN0byBhdWd1ZSBmYWNpbGlzaXMgb3JjaSwgYSBzZW1w
ZXIgcmlzdXMgZHVpIHBlbGxlbnRlc3F1ZSBwdXJ1cy4gQ3VyYWJpdHVyIGZhY2lsaXNpcyBhcmN1
IHF1YW0sIGlkIGZhY2lsaXNpcyB0dXJwaXMgYWxpcXVhbSBhYy4gTWFlY2VuYXMgZWZmaWNpdHVy
IHJpc3VzIHBlbGxlbnRlc3F1ZSBzZW0gbWF4aW11cyBldWlzbW9kLiBQcm9pbiBhbGlxdWV0IGp1
c3RvIGFjIGRvbG9yIGZhdWNpYnVzIHBvcnR0aXRvci4gRnVzY2Ugb3JjaSBsZWN0dXMsIGVsZWlm
ZW5kIGF0IGxlY3R1cyBzaXQgYW1ldCwgcHJldGl1bSBvcm5hcmUgZmVsaXMuIE51bGxhbSBuZWMg
aXBzdW0gbWF4aW11cywgbW9sZXN0aWUgYXJjdSBpbiwgZmluaWJ1cyB1cm5hLiBTdXNwZW5kaXNz
ZSB0aW5jaWR1bnQgZmV1Z2lhdCBlc3QsIGluIHZpdmVycmEgbGVjdHVzIHRpbmNpZHVudCBxdWlz
LiBVdCBlcm9zIHRvcnRvciwgdGluY2lkdW50IHZlbCBjb21tb2RvIGhlbmRyZXJpdCwgY29uc2Vx
dWF0IHZlbCBuZXF1ZS4gVmVzdGlidWx1bSBlbmltIG5pYmgsIGFjY3Vtc2FuIHF1aXMgdml2ZXJy
YSB1dCwgaWFjdWxpcyBzaXQgYW1ldCBlc3QuIE1vcmJpIG5vbiBsYWN1cyBhdCBkb2xvciBldWlz
bW9kIG1vbGVzdGllLiBJbnRlZ2VyIHB1bHZpbmFyLCBuaWJoIGluIHZvbHV0cGF0IHRpbmNpZHVu
dCwgdXJuYSBvZGlvIGludGVyZHVtIG1hZ25hLCB2aXRhZSBmYXVjaWJ1cyBmZWxpcyBxdWFtIG5l
YyBlc3QuIFByb2luIHRlbGx1cyBxdWFtLCBhdWN0b3IgbmVjIGRpY3R1bSBzZWQsIHJob25jdXMg
bmVjIG1hc3NhLiBNYXVyaXMgYWMgYXJjdSBhYyBhdWd1ZSBwb3J0YSB2aXZlcnJhLiBRdWlzcXVl
IHNlbXBlciBlZ2V0IG5pc2kgcXVpcyB2aXZlcnJhLiBEb25lYyB2aXRhZSBtYXVyaXMgaXBzdW0u
IER1aXMgdGVtcG9yIHB1bHZpbmFyIHZpdmVycmEuIE5hbSBkaWduaXNzaW0gaWFjdWxpcyBmZWxp
cywgZWdldCB2ZXN0aWJ1bHVtIGVyb3MuIE51bGxhIGVnZXQgZmF1Y2lidXMgbWFzc2EuIEludGVn
ZXIgc29sbGljaXR1ZGluIHByZXRpdW0gZXJhdCwgdmVsIGNvbW1vZG8gbnVuYyBjb25ndWUgbm9u
LiBOdWxsYSBpbiBudW5jIGF1Y3RvciBkdWkgZWZmaWNpdHVyIGV1aXNtb2QuIFNlZCBwaGFyZXRy
YSBzYXBpZW4gZXJhdCwgYSBibGFuZGl0IG5lcXVlIHBvcnR0aXRvciBzaXQgYW1ldC4gTWF1cmlz
IHBoYXJldHJhIHNvZGFsZXMgbWF4aW11cy4gTnVsbGEgdm9sdXRwYXQgYXVjdG9yIHF1YW0sIGEg
ZWxlbWVudHVtIHJpc3VzIHRyaXN0aXF1ZSBldS4gSW4gYWMgc29kYWxlcyBuaWJoLiBNYWVjZW5h
cyBwaGFyZXRyYSBvcmNpIHNlbSwgZXUgbGFvcmVldCBxdWFtIHRpbmNpZHVudCBub24uIE1hdXJp
cyBpbiBpbnRlcmR1bSBkdWkuIFZpdmFtdXMgZXQgaW50ZXJkdW0gZXJhdC4gQWxpcXVhbSBuZWMg
YW50ZSB0aW5jaWR1bnQsIGVsZW1lbnR1bSByaXN1cyBpbiwgbWF0dGlzIG9yY2kuIFNlZCBtYXNz
YSB0dXJwaXMsIGJsYW5kaXQgYSBydXRydW0gYXQsIGRpZ25pc3NpbSBldCBsZWN0dXMuIE51bmMg
dGluY2lkdW50IG9yY2kgbmliaCwgaWQgdWxsYW1jb3JwZXIgbmlzbCB2ZXN0aWJ1bHVtIHZlbC48
L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
      

    </bug>

</bugzilla>