<?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>248236</bug_id>
          
          <creation_ts>2022-11-22 09:12:45 -0800</creation_ts>
          <short_desc>[MQ4] Use new parser and evaluator for responsive images</short_desc>
          <delta_ts>2022-11-24 09:08:06 -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>CSS</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>180234</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Antti Koivisto">koivisto</reporter>
          <assigned_to name="Antti Koivisto">koivisto</assigned_to>
          <cc>calvaris</cc>
    
    <cc>cdumez</cc>
    
    <cc>changseok</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>jer.noble</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>philipj</cc>
    
    <cc>sergio</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youssefdevelops</cc>
    
    <cc>y_soliman</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1914114</commentid>
    <comment_count>0</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2022-11-22 09:12:45 -0800</bug_when>
    <thetext>Handle &lt;source media&gt; and &lt;img sizes&gt; with the new code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1914115</commentid>
    <comment_count>1</comment_count>
      <attachid>463674</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2022-11-22 09:13:41 -0800</bug_when>
    <thetext>Created attachment 463674
wip</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1914123</commentid>
    <comment_count>2</comment_count>
      <attachid>463675</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2022-11-22 09:33:20 -0800</bug_when>
    <thetext>Created attachment 463675
wip</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1914291</commentid>
    <comment_count>3</comment_count>
      <attachid>463690</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2022-11-23 03:16:09 -0800</bug_when>
    <thetext>Created attachment 463690
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1914476</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-11-24 06:30:14 -0800</bug_when>
    <thetext>&lt;rdar://problem/102647341&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1914481</commentid>
    <comment_count>5</comment_count>
      <attachid>463710</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2022-11-24 06:55:07 -0800</bug_when>
    <thetext>Created attachment 463710
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1914506</commentid>
    <comment_count>6</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-11-24 09:08:01 -0800</bug_when>
    <thetext>Committed 256993@main (ba11d60c7b4c): &lt;https://commits.webkit.org/256993@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 463710.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>463674</attachid>
            <date>2022-11-22 09:13:41 -0800</date>
            <delta_ts>2022-11-22 09:33:20 -0800</delta_ts>
            <desc>wip</desc>
            <filename>mq-dynamic.patch</filename>
            <type>text/plain</type>
            <size>21258</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvU2l6ZXNBdHRyaWJ1dGVQYXJz
ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9TaXplc0F0dHJpYnV0ZVBhcnNlci5j
cHAKaW5kZXggZGJkMjBiNWYyZmEzLi5iYWNkZDZkNGE0NGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9wYXJzZXIvU2l6ZXNBdHRyaWJ1dGVQYXJzZXIuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9wYXJzZXIvU2l6ZXNBdHRyaWJ1dGVQYXJzZXIuY3BwCkBAIC0zNCw5ICszNCw4
IEBACiAjaW5jbHVkZSAiQ1NTVG9MZW5ndGhDb252ZXJzaW9uRGF0YS5oIgogI2luY2x1ZGUgIkNT
U1Rva2VuaXplci5oIgogI2luY2x1ZGUgIkZvbnRDYXNjYWRlLmgiCi0jaW5jbHVkZSAiTGVnYWN5
TWVkaWFRdWVyeUV2YWx1YXRvci5oIgotI2luY2x1ZGUgIkxlZ2FjeU1lZGlhUXVlcnlQYXJzZXIu
aCIKLSNpbmNsdWRlICJNZWRpYUxpc3QuaCIKKyNpbmNsdWRlICJNZWRpYVF1ZXJ5RXZhbHVhdG9y
LmgiCisjaW5jbHVkZSAiTWVkaWFRdWVyeVBhcnNlci5oIgogI2luY2x1ZGUgIk1lZGlhUXVlcnlQ
YXJzZXJDb250ZXh0LmgiCiAjaW5jbHVkZSAiUmVuZGVyVmlldy5oIgogI2luY2x1ZGUgIlNpemVz
Q2FsY1BhcnNlci5oIgpAQCAtMTA0LDE0ICsxMDMsMTQgQEAgYm9vbCBTaXplc0F0dHJpYnV0ZVBh
cnNlcjo6Y2FsY3VsYXRlTGVuZ3RoSW5QaXhlbHMoQ1NTUGFyc2VyVG9rZW5SYW5nZSByYW5nZSwg
ZmwKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKLWJvb2wgU2l6ZXNBdHRyaWJ1dGVQYXJzZXI6Om1l
ZGlhQ29uZGl0aW9uTWF0Y2hlcyhjb25zdCBNZWRpYVF1ZXJ5U2V0JiBtZWRpYUNvbmRpdGlvbikK
K2Jvb2wgU2l6ZXNBdHRyaWJ1dGVQYXJzZXI6Om1lZGlhQ29uZGl0aW9uTWF0Y2hlcyhjb25zdCBN
UTo6TWVkaWFRdWVyeSYgbWVkaWFDb25kaXRpb24pCiB7CiAgICAgLy8gQSBNZWRpYSBDb25kaXRp
b24gY2Fubm90IGhhdmUgYSBtZWRpYSB0eXBlIG90aGVyIHRoYW4gc2NyZWVuLgogICAgIGF1dG8q
IHJlbmRlcmVyID0gbV9kb2N1bWVudC5yZW5kZXJWaWV3KCk7CiAgICAgaWYgKCFyZW5kZXJlcikK
ICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIGF1dG8mIHN0eWxlID0gcmVuZGVyZXItPnN0eWxl
KCk7Ci0gICAgcmV0dXJuIExlZ2FjeU1lZGlhUXVlcnlFdmFsdWF0b3IgeyAic2NyZWVuIl9zLCBt
X2RvY3VtZW50LCAmc3R5bGUgfS5ldmFsdWF0ZShtZWRpYUNvbmRpdGlvbik7CisgICAgcmV0dXJu
IE1ROjpNZWRpYVF1ZXJ5RXZhbHVhdG9yIHsgInNjcmVlbiJfcywgbV9kb2N1bWVudCwgJnN0eWxl
IH0uZXZhbHVhdGUobWVkaWFDb25kaXRpb24pOwogfQogCiBib29sIFNpemVzQXR0cmlidXRlUGFy
c2VyOjpwYXJzZShDU1NQYXJzZXJUb2tlblJhbmdlIHJhbmdlKQpAQCAtMTMzLDEyICsxMzIsMTMg
QEAgYm9vbCBTaXplc0F0dHJpYnV0ZVBhcnNlcjo6cGFyc2UoQ1NTUGFyc2VyVG9rZW5SYW5nZSBy
YW5nZSkKICAgICAgICAgZmxvYXQgbGVuZ3RoOwogICAgICAgICBpZiAoIWNhbGN1bGF0ZUxlbmd0
aEluUGl4ZWxzKHJhbmdlLm1ha2VTdWJSYW5nZShsZW5ndGhUb2tlblN0YXJ0LCBsZW5ndGhUb2tl
bkVuZCksIGxlbmd0aCkpCiAgICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAgYXV0byBtZWRp
YUNvbmRpdGlvbiA9IExlZ2FjeU1lZGlhUXVlcnlQYXJzZXI6OnBhcnNlTWVkaWFDb25kaXRpb24o
cmFuZ2UubWFrZVN1YlJhbmdlKG1lZGlhQ29uZGl0aW9uU3RhcnQsIGxlbmd0aFRva2VuU3RhcnQp
LCBNZWRpYVF1ZXJ5UGFyc2VyQ29udGV4dChtX2RvY3VtZW50KSk7CisgICAgICAgIGF1dG8gbWVk
aWFDb25kaXRpb24gPSBNUTo6TWVkaWFRdWVyeVBhcnNlcjo6cGFyc2VDb25kaXRpb24ocmFuZ2Uu
bWFrZVN1YlJhbmdlKG1lZGlhQ29uZGl0aW9uU3RhcnQsIGxlbmd0aFRva2VuU3RhcnQpLCBNZWRp
YVF1ZXJ5UGFyc2VyQ29udGV4dChtX2RvY3VtZW50KSk7CiAgICAgICAgIGlmICghbWVkaWFDb25k
aXRpb24pCiAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgYm9vbCBtYXRjaGVzID0gbWVk
aWFDb25kaXRpb25NYXRjaGVzKCptZWRpYUNvbmRpdGlvbik7Ci0gICAgICAgIGlmICghbWVkaWFR
dWVyeUR5bmFtaWNEZXBlbmRlbmNpZXMoKm1lZGlhQ29uZGl0aW9uLCB7ICJzY3JlZW4iX3MsIGZh
bHNlIH0pLmlzRW1wdHkoKSkKLSAgICAgICAgICAgIG1fZHluYW1pY01lZGlhQ29uZGl0aW9uUmVz
dWx0cy5hcHBlbmQoeyAqbWVkaWFDb25kaXRpb24sIG1hdGNoZXMgfSk7CisgICAgICAgIE1ROjpN
ZWRpYVF1ZXJ5RXZhbHVhdG9yIGV2YWx1YXRvciB7ICJzY3JlZW4iX3MsIG1fZG9jdW1lbnQsIG51
bGxwdHIgfTsKKyAgICAgICAgaWYgKCFldmFsdWF0b3IuY29sbGVjdER5bmFtaWNEZXBlbmRlbmNp
ZXMoKm1lZGlhQ29uZGl0aW9uKS5pc0VtcHR5KCkpCisgICAgICAgICAgICBtX2R5bmFtaWNNZWRp
YVF1ZXJ5UmVzdWx0cy5hcHBlbmQoeyBNUTo6TWVkaWFRdWVyeUxpc3QgeyAqbWVkaWFDb25kaXRp
b24gfSwgbWF0Y2hlcyB9KTsKICAgICAgICAgaWYgKCFtYXRjaGVzKQogICAgICAgICAgICAgY29u
dGludWU7CiAgICAgICAgIG1fbGVuZ3RoID0gbGVuZ3RoOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvY3NzL3BhcnNlci9TaXplc0F0dHJpYnV0ZVBhcnNlci5oIGIvU291cmNlL1dlYkNvcmUv
Y3NzL3BhcnNlci9TaXplc0F0dHJpYnV0ZVBhcnNlci5oCmluZGV4IDY4OTNkMjY1YWNmYy4uNzJm
ZGUwYjc4OGU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL1NpemVzQXR0
cmlidXRlUGFyc2VyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9TaXplc0F0dHJp
YnV0ZVBhcnNlci5oCkBAIC0zMSw3ICszMSw3IEBACiAKICNpbmNsdWRlICJDU1NQYXJzZXJUb2tl
blJhbmdlLmgiCiAjaW5jbHVkZSAiQ1NTUHJpbWl0aXZlVmFsdWUuaCIKLSNpbmNsdWRlICJMZWdh
Y3lNZWRpYVF1ZXJ5RXZhbHVhdG9yLmgiCisjaW5jbHVkZSAiTWVkaWFRdWVyeS5oIgogI2luY2x1
ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC00OCwx
NyArNDgsMTcgQEAgcHVibGljOgogICAgIHN0YXRpYyBmbG9hdCBkZWZhdWx0TGVuZ3RoKGNvbnN0
IERvY3VtZW50Jik7CiAgICAgc3RhdGljIGZsb2F0IGNvbXB1dGVMZW5ndGgoZG91YmxlIHZhbHVl
LCBDU1NVbml0VHlwZSwgY29uc3QgRG9jdW1lbnQmKTsKIAotICAgIGF1dG8mIGR5bmFtaWNNZWRp
YUNvbmRpdGlvblJlc3VsdHMoKSBjb25zdCB7IHJldHVybiBtX2R5bmFtaWNNZWRpYUNvbmRpdGlv
blJlc3VsdHM7IH0KKyAgICBhdXRvJiBkeW5hbWljTWVkaWFRdWVyeVJlc3VsdHMoKSBjb25zdCB7
IHJldHVybiBtX2R5bmFtaWNNZWRpYVF1ZXJ5UmVzdWx0czsgfQogCiBwcml2YXRlOgogICAgIGJv
b2wgcGFyc2UoQ1NTUGFyc2VyVG9rZW5SYW5nZSk7CiAgICAgZmxvYXQgZWZmZWN0aXZlU2l6ZSgp
OwogICAgIGJvb2wgY2FsY3VsYXRlTGVuZ3RoSW5QaXhlbHMoQ1NTUGFyc2VyVG9rZW5SYW5nZSwg
ZmxvYXQmIHJlc3VsdCk7Ci0gICAgYm9vbCBtZWRpYUNvbmRpdGlvbk1hdGNoZXMoY29uc3QgTWVk
aWFRdWVyeVNldCYgbWVkaWFDb25kaXRpb24pOworICAgIGJvb2wgbWVkaWFDb25kaXRpb25NYXRj
aGVzKGNvbnN0IE1ROjpNZWRpYVF1ZXJ5Jik7CiAgICAgdW5zaWduZWQgZWZmZWN0aXZlU2l6ZURl
ZmF1bHRWYWx1ZSgpOwogCiAgICAgY29uc3QgRG9jdW1lbnQmIG1fZG9jdW1lbnQ7Ci0gICAgVmVj
dG9yPE1lZGlhUXVlcnlSZXN1bHQ+IG1fZHluYW1pY01lZGlhQ29uZGl0aW9uUmVzdWx0czsKKyAg
ICBWZWN0b3I8TVE6Ok1lZGlhUXVlcnlSZXN1bHQ+IG1fZHluYW1pY01lZGlhUXVlcnlSZXN1bHRz
OwogICAgIGZsb2F0IG1fbGVuZ3RoIHsgMCB9OwogICAgIGJvb2wgbV9sZW5ndGhXYXNTZXQgeyBm
YWxzZSB9OwogICAgIGJvb2wgbV9pc1ZhbGlkIHsgZmFsc2UgfTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9xdWVyeS9HZW5lcmljTWVkaWFRdWVyeVR5cGVzLmggYi9Tb3VyY2UvV2Vi
Q29yZS9jc3MvcXVlcnkvR2VuZXJpY01lZGlhUXVlcnlUeXBlcy5oCmluZGV4IDUxZjBjOGFjOGRj
Yy4uYzE4OWQ2NjIwNzJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvcXVlcnkvR2Vu
ZXJpY01lZGlhUXVlcnlUeXBlcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9xdWVyeS9HZW5l
cmljTWVkaWFRdWVyeVR5cGVzLmgKQEAgLTEwNSw1ICsxMDUsMjcgQEAgc3RydWN0IEZlYXR1cmVT
Y2hlbWEgewogICAgIHZpcnR1YWwgfkZlYXR1cmVTY2hlbWEoKSA9IGRlZmF1bHQ7CiB9OwogCit0
ZW1wbGF0ZTx0eXBlbmFtZSBUcmF2ZXJzZUZ1bmN0aW9uPiB2b2lkIHRyYXZlcnNlRmVhdHVyZXMo
Y29uc3QgQ29uZGl0aW9uJiwgVHJhdmVyc2VGdW5jdGlvbiYmKTsKKwordGVtcGxhdGU8dHlwZW5h
bWUgVHJhdmVyc2VGdW5jdGlvbj4KK3ZvaWQgdHJhdmVyc2VGZWF0dXJlcyhjb25zdCBRdWVyeUlu
UGFyZW5zJiBxdWVyeUluUGFyZW5zLCBUcmF2ZXJzZUZ1bmN0aW9uJiYgZnVuY3Rpb24pCit7Cisg
ICAgcmV0dXJuIFdURjo6c3dpdGNoT24ocXVlcnlJblBhcmVucywgWyZdKGNvbnN0IENvbmRpdGlv
biYgY29uZGl0aW9uKSB7CisgICAgICAgIHRyYXZlcnNlRmVhdHVyZXMoY29uZGl0aW9uLCBmdW5j
dGlvbik7CisgICAgfSwgWyZdKGNvbnN0IE1ROjpGZWF0dXJlJiBmZWF0dXJlKSB7CisgICAgICAg
IGZ1bmN0aW9uKGZlYXR1cmUpOworICAgIH0sIFsmXShjb25zdCBNUTo6R2VuZXJhbEVuY2xvc2Vk
JikgeworICAgICAgICByZXR1cm47CisgICAgfSk7Cit9CisKK3RlbXBsYXRlPHR5cGVuYW1lIFRy
YXZlcnNlRnVuY3Rpb24+Cit2b2lkIHRyYXZlcnNlRmVhdHVyZXMoY29uc3QgQ29uZGl0aW9uJiBj
b25kaXRpb24sIFRyYXZlcnNlRnVuY3Rpb24mJiBmdW5jdGlvbikKK3sKKyAgICBmb3IgKGF1dG8m
IHF1ZXJ5SW5QYXJlbnMgOiBjb25kaXRpb24ucXVlcmllcykKKyAgICAgICAgdHJhdmVyc2VGZWF0
dXJlcyhxdWVyeUluUGFyZW5zLCBmdW5jdGlvbik7Cit9CisKKwogfQogfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvY3NzL3F1ZXJ5L01lZGlhUXVlcnkuaCBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9xdWVyeS9NZWRpYVF1ZXJ5LmgKaW5kZXggY2IzM2E3YmQzMmE4Li5mYjRhYmFhNzY4NmUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9xdWVyeS9NZWRpYVF1ZXJ5LmgKKysrIGIvU291
cmNlL1dlYkNvcmUvY3NzL3F1ZXJ5L01lZGlhUXVlcnkuaApAQCAtMzksMTEgKzM5LDMwIEBAIHN0
cnVjdCBNZWRpYVF1ZXJ5IHsKIAogdXNpbmcgTWVkaWFRdWVyeUxpc3QgPSBWZWN0b3I8TWVkaWFR
dWVyeT47CiAKK3N0cnVjdCBNZWRpYVF1ZXJ5UmVzdWx0IHsKKyAgICBNZWRpYVF1ZXJ5TGlzdCBt
ZWRpYVF1ZXJ5TGlzdDsKKyAgICBib29sIHJlc3VsdDsKK307CisKIGVudW0gY2xhc3MgTWVkaWFR
dWVyeUR5bmFtaWNEZXBlbmRlbmN5IDogdWludDhfdCAgewogICAgIFZpZXdwb3J0ID0gMSA8PCAw
LAogICAgIEFwcGVhcmFuY2UgPSAxIDw8IDEsCiAgICAgQWNjZXNzaWJpbGl0eSA9IDEgPDwgMiwK
IH07CiAKK3RlbXBsYXRlPHR5cGVuYW1lIFRyYXZlcnNlRnVuY3Rpb24+Cit2b2lkIHRyYXZlcnNl
RmVhdHVyZXMoY29uc3QgTWVkaWFRdWVyeSYgcXVlcnksIFRyYXZlcnNlRnVuY3Rpb24mJiBmdW5j
dGlvbikKK3sKKyAgICAgaWYgKHF1ZXJ5LmNvbmRpdGlvbikKKyAgICAgICAgIHRyYXZlcnNlRmVh
dHVyZXMoKnF1ZXJ5LmNvbmRpdGlvbiwgZnVuY3Rpb24pOworfQorCit0ZW1wbGF0ZTx0eXBlbmFt
ZSBUcmF2ZXJzZUZ1bmN0aW9uPgordm9pZCB0cmF2ZXJzZUZlYXR1cmVzKGNvbnN0IE1lZGlhUXVl
cnlMaXN0JiBsaXN0LCBUcmF2ZXJzZUZ1bmN0aW9uJiYgZnVuY3Rpb24pCit7CisgICAgZm9yIChh
dXRvJiBxdWVyeSA6IGxpc3QpCisgICAgICAgIHRyYXZlcnNlRmVhdHVyZXMocXVlcnksIGZ1bmN0
aW9uKTsKK30KKwogfQogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL3F1ZXJ5L01l
ZGlhUXVlcnlFdmFsdWF0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL3F1ZXJ5L01lZGlhUXVl
cnlFdmFsdWF0b3IuY3BwCmluZGV4IDFkNWM0NjA0MzQ5NS4uZDhhYTQ1YTNiZDhmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvcXVlcnkvTWVkaWFRdWVyeUV2YWx1YXRvci5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvY3NzL3F1ZXJ5L01lZGlhUXVlcnlFdmFsdWF0b3IuY3BwCkBAIC0y
OCw2ICsyOCw3IEBACiAjaW5jbHVkZSAiQ1NTVG9MZW5ndGhDb252ZXJzaW9uRGF0YS5oIgogI2lu
Y2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiTWVkaWFRdWVyeS5oIgorI2luY2x1ZGUgIk1l
ZGlhUXVlcnlGZWF0dXJlcy5oIgogI2luY2x1ZGUgIlJlbmRlclZpZXcuaCIKICNpbmNsdWRlICJT
dHlsZUZvbnRTaXplRnVuY3Rpb25zLmgiCiAKQEAgLTU4LDE1ICs1OSw3IEBAIGJvb2wgTWVkaWFR
dWVyeUV2YWx1YXRvcjo6ZXZhbHVhdGUoY29uc3QgTWVkaWFRdWVyeSYgcXVlcnkpIGNvbnN0CiB7
CiAgICAgYm9vbCBpc05lZ2F0ZWQgPSBxdWVyeS5wcmVmaXggJiYgKnF1ZXJ5LnByZWZpeCA9PSBQ
cmVmaXg6Ok5vdDsKIAotICAgIGF1dG8gbWVkaWFUeXBlTWF0Y2hlcyA9IFsmXSB7Ci0gICAgICAg
IGlmIChxdWVyeS5tZWRpYVR5cGUuaXNFbXB0eSgpKQotICAgICAgICAgICAgcmV0dXJuIHRydWU7
Ci0gICAgICAgIGlmIChlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShxdWVyeS5tZWRpYVR5
cGUsICJhbGwiX3MpKQotICAgICAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgICAgIHJldHVybiBl
cXVhbElnbm9yaW5nQVNDSUlDYXNlKHF1ZXJ5Lm1lZGlhVHlwZSwgbV9tZWRpYVR5cGUpOwotICAg
IH0oKTsKLQotICAgIGlmICghbWVkaWFUeXBlTWF0Y2hlcykKKyAgICBpZiAoIWV2YWx1YXRlTWVk
aWFUeXBlKHF1ZXJ5KSkKICAgICAgICAgcmV0dXJuIGlzTmVnYXRlZDsKIAogICAgIGF1dG8gY29u
ZGl0aW9uTWF0Y2hlcyA9IFsmXSB7CkBAIC05NCw1ICs4Nyw0MSBAQCBib29sIE1lZGlhUXVlcnlF
dmFsdWF0b3I6OmV2YWx1YXRlKGNvbnN0IE1lZGlhUXVlcnkmIHF1ZXJ5KSBjb25zdAogICAgIHJl
dHVybiBjb25kaXRpb25NYXRjaGVzICE9IGlzTmVnYXRlZDsKIH0KIAorYm9vbCBNZWRpYVF1ZXJ5
RXZhbHVhdG9yOjpldmFsdWF0ZU1lZGlhVHlwZShjb25zdCBNZWRpYVF1ZXJ5JiBxdWVyeSkgY29u
c3QKK3sKKyAgICBpZiAocXVlcnkubWVkaWFUeXBlLmlzRW1wdHkoKSkKKyAgICAgICAgcmV0dXJu
IHRydWU7CisgICAgaWYgKGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKHF1ZXJ5Lm1lZGlh
VHlwZSwgImFsbCJfcykpCisgICAgICAgIHJldHVybiB0cnVlOworICAgIHJldHVybiBlcXVhbEln
bm9yaW5nQVNDSUlDYXNlKHF1ZXJ5Lm1lZGlhVHlwZSwgbV9tZWRpYVR5cGUpOworfTsKKworT3B0
aW9uU2V0PE1lZGlhUXVlcnlEeW5hbWljRGVwZW5kZW5jeT4gTWVkaWFRdWVyeUV2YWx1YXRvcjo6
Y29sbGVjdER5bmFtaWNEZXBlbmRlbmNpZXMoY29uc3QgTWVkaWFRdWVyeUxpc3QmIHF1ZXJpZXMp
IGNvbnN0Cit7CisgICAgT3B0aW9uU2V0PE1lZGlhUXVlcnlEeW5hbWljRGVwZW5kZW5jeT4gcmVz
dWx0OworCisgICAgZm9yIChhdXRvJiBxdWVyeSA6IHF1ZXJpZXMpCisgICAgICAgIHJlc3VsdC5h
ZGQoY29sbGVjdER5bmFtaWNEZXBlbmRlbmNpZXMocXVlcnkpKTsKKworICAgIHJldHVybiByZXN1
bHQ7Cit9CisKK09wdGlvblNldDxNZWRpYVF1ZXJ5RHluYW1pY0RlcGVuZGVuY3k+IE1lZGlhUXVl
cnlFdmFsdWF0b3I6OmNvbGxlY3REeW5hbWljRGVwZW5kZW5jaWVzKGNvbnN0IE1lZGlhUXVlcnkm
IHF1ZXJ5KSBjb25zdAoreworICAgIGlmICghZXZhbHVhdGVNZWRpYVR5cGUocXVlcnkpKQorICAg
ICAgICByZXR1cm4geyB9OworCisgICAgT3B0aW9uU2V0PE1lZGlhUXVlcnlEeW5hbWljRGVwZW5k
ZW5jeT4gcmVzdWx0OworCisgICAgdHJhdmVyc2VGZWF0dXJlcyhxdWVyeSwgWyZdKGNvbnN0IEZl
YXR1cmUmIGZlYXR1cmUpIHsKKyAgICAgICAgaWYgKCFmZWF0dXJlLnNjaGVtYSkKKyAgICAgICAg
ICAgIHJldHVybjsKKyAgICAgICAgaWYgKGF1dG8gZGVwZW5kZW5jeSA9IEZlYXR1cmVzOjpkeW5h
bWljRGVwZW5kZW5jeSgqZmVhdHVyZS5zY2hlbWEpKQorICAgICAgICAgICAgcmVzdWx0LmFkZCgq
ZGVwZW5kZW5jeSk7CisgICAgfSk7CisKKyAgICByZXR1cm4gcmVzdWx0OworfQorCiB9CiB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvcXVlcnkvTWVkaWFRdWVyeUV2YWx1YXRvci5o
IGIvU291cmNlL1dlYkNvcmUvY3NzL3F1ZXJ5L01lZGlhUXVlcnlFdmFsdWF0b3IuaAppbmRleCAw
ZDFjYjM4ODgzY2UuLjlkMDI5NDRkNDZiZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3Nz
L3F1ZXJ5L01lZGlhUXVlcnlFdmFsdWF0b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvcXVl
cnkvTWVkaWFRdWVyeUV2YWx1YXRvci5oCkBAIC00MCw2ICs0MCwxMSBAQCBwdWJsaWM6CiAgICAg
Ym9vbCBldmFsdWF0ZShjb25zdCBNZWRpYVF1ZXJ5TGlzdCYpIGNvbnN0OwogICAgIGJvb2wgZXZh
bHVhdGUoY29uc3QgTWVkaWFRdWVyeSYpIGNvbnN0OwogCisgICAgYm9vbCBldmFsdWF0ZU1lZGlh
VHlwZShjb25zdCBNZWRpYVF1ZXJ5JikgY29uc3Q7CisKKyAgICBPcHRpb25TZXQ8TWVkaWFRdWVy
eUR5bmFtaWNEZXBlbmRlbmN5PiBjb2xsZWN0RHluYW1pY0RlcGVuZGVuY2llcyhjb25zdCBNZWRp
YVF1ZXJ5TGlzdCYpIGNvbnN0OworICAgIE9wdGlvblNldDxNZWRpYVF1ZXJ5RHluYW1pY0RlcGVu
ZGVuY3k+IGNvbGxlY3REeW5hbWljRGVwZW5kZW5jaWVzKGNvbnN0IE1lZGlhUXVlcnkmKSBjb25z
dDsKKwogcHJpdmF0ZToKICAgICBjb25zdCBBdG9tU3RyaW5nIG1fbWVkaWFUeXBlOwogICAgIGNv
bnN0IERvY3VtZW50JiBtX2RvY3VtZW50OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3Nz
L3F1ZXJ5L01lZGlhUXVlcnlGZWF0dXJlcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvcXVlcnkv
TWVkaWFRdWVyeUZlYXR1cmVzLmNwcAppbmRleCA5ZmQzMDgyM2QxMTkuLjliZDJkOTNlYTg2MiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL3F1ZXJ5L01lZGlhUXVlcnlGZWF0dXJlcy5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL3F1ZXJ5L01lZGlhUXVlcnlGZWF0dXJlcy5jcHAK
QEAgLTczNCw0ICs3MzQsMjMgQEAgVmVjdG9yPGNvbnN0IEZlYXR1cmVTY2hlbWEqPiBhbGxTY2hl
bWFzKCkKICAgICB9OwogfQogCisvLyBGSVhNRTogVGhpcyBjb3VsZCBiZSBwYXJ0IG9mIHRoZSBz
Y2hlbWEuCitzdGQ6Om9wdGlvbmFsPE1lZGlhUXVlcnlEeW5hbWljRGVwZW5kZW5jeT4gZHluYW1p
Y0RlcGVuZGVuY3koY29uc3QgRmVhdHVyZVNjaGVtYSYgc2NoZW1hKQoreworICAgIGlmICgmc2No
ZW1hID09ICZ3aWR0aCgpIHx8ICZzY2hlbWEgPT0gJmhlaWdodCgpIHx8ICZzY2hlbWEgPT0gJm9y
aWVudGF0aW9uKCkgfHwgJnNjaGVtYSA9PSAmYXNwZWN0UmF0aW8oKSkKKyAgICAgICAgcmV0dXJu
IE1lZGlhUXVlcnlEeW5hbWljRGVwZW5kZW5jeTo6Vmlld3BvcnQ7CisKKyAgICBpZiAoJnNjaGVt
YSA9PSAmcHJlZmVyc0RhcmtJbnRlcmZhY2UoKSkKKyAgICAgICAgcmV0dXJuIE1lZGlhUXVlcnlE
eW5hbWljRGVwZW5kZW5jeTo6QXBwZWFyYW5jZTsKKyNpZiBFTkFCTEUoREFSS19NT0RFX0NTUykK
KyAgICBpZiAoJnNjaGVtYSA9PSAmcHJlZmVyc0NvbG9yU2NoZW1lKCkpCisgICAgICAgIHJldHVy
biBNZWRpYVF1ZXJ5RHluYW1pY0RlcGVuZGVuY3k6OkFwcGVhcmFuY2U7CisjZW5kaWYKKworICAg
IGlmICgmc2NoZW1hID09ICZpbnZlcnRlZENvbG9ycygpIHx8ICZzY2hlbWEgPT0gJm1vbm9jaHJv
bWUoKSB8fCAmc2NoZW1hID09ICZwcmVmZXJzUmVkdWNlZE1vdGlvbigpIHx8ICZzY2hlbWEgPT0g
JnByZWZlcnNDb250cmFzdCgpKQorICAgICAgICByZXR1cm4gTWVkaWFRdWVyeUR5bmFtaWNEZXBl
bmRlbmN5OjpBY2Nlc3NpYmlsaXR5OworCisgICAgcmV0dXJuIHsgfTsKK30KKwogfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL3F1ZXJ5L01lZGlhUXVlcnlGZWF0dXJlcy5oIGIvU291
cmNlL1dlYkNvcmUvY3NzL3F1ZXJ5L01lZGlhUXVlcnlGZWF0dXJlcy5oCmluZGV4IDA0ZWNkZTgz
NGU1My4uZjY0NDk1Nzc3NDQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvcXVlcnkv
TWVkaWFRdWVyeUZlYXR1cmVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL3F1ZXJ5L01lZGlh
UXVlcnlGZWF0dXJlcy5oCkBAIC0yNCw3ICsyNCw3IEBACiAKICNwcmFnbWEgb25jZQogCi0jaW5j
bHVkZSAiR2VuZXJpY01lZGlhUXVlcnlUeXBlcy5oIgorI2luY2x1ZGUgIk1lZGlhUXVlcnkuaCIK
IAogbmFtZXNwYWNlIFdlYkNvcmU6Ok1RIHsKIApAQCAtNjksNiArNjksOCBAQCBjb25zdCBGZWF0
dXJlU2NoZW1hJiBwcmVmZXJzQ29sb3JTY2hlbWUoKTsKIAogVmVjdG9yPGNvbnN0IEZlYXR1cmVT
Y2hlbWEqPiBhbGxTY2hlbWFzKCk7CiAKK3N0ZDo6b3B0aW9uYWw8TWVkaWFRdWVyeUR5bmFtaWNE
ZXBlbmRlbmN5PiBkeW5hbWljRGVwZW5kZW5jeShjb25zdCBGZWF0dXJlU2NoZW1hJik7CisKIH07
CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9xdWVyeS9NZWRpYVF1ZXJ5UGFy
c2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9xdWVyeS9NZWRpYVF1ZXJ5UGFyc2VyLmNwcApp
bmRleCBiODIwNjI1ZGJhZDQuLjBkMDA0MjM4ZGEzMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvY3NzL3F1ZXJ5L01lZGlhUXVlcnlQYXJzZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9xdWVyeS9NZWRpYVF1ZXJ5UGFyc2VyLmNwcApAQCAtNTYsNiArNTYsMjIgQEAgTWVkaWFRdWVy
eUxpc3QgTWVkaWFRdWVyeVBhcnNlcjo6cGFyc2UoY29uc3QgU3RyaW5nJiBzdHJpbmcsIGNvbnN0
IE1lZGlhUXVlcnlQYXIKICAgICByZXR1cm4gcGFyc2VyLmNvbnN1bWVNZWRpYVF1ZXJ5TGlzdChy
YW5nZSk7CiB9CiAKK3N0ZDo6b3B0aW9uYWw8TWVkaWFRdWVyeT4gTWVkaWFRdWVyeVBhcnNlcjo6
cGFyc2VDb25kaXRpb24oQ1NTUGFyc2VyVG9rZW5SYW5nZSByYW5nZSwgY29uc3QgTWVkaWFRdWVy
eVBhcnNlckNvbnRleHQmIGNvbnRleHQpCit7CisgICAgcmFuZ2UuY29uc3VtZVdoaXRlc3BhY2Uo
KTsKKworICAgIGlmIChyYW5nZS5hdEVuZCgpKQorICAgICAgICByZXR1cm4gTWVkaWFRdWVyeSB7
IHsgfSwgImFsbCJfcyB9OworCisgICAgTWVkaWFRdWVyeVBhcnNlciBwYXJzZXIgeyBjb250ZXh0
IH07CisgICAgCisgICAgYXV0byBjb25kaXRpb24gPSBwYXJzZXIuY29uc3VtZUNvbmRpdGlvbihy
YW5nZSk7CisgICAgaWYgKCFjb25kaXRpb24pCisgICAgICAgIHJldHVybiB7IH07CisKKyAgICBy
ZXR1cm4gTWVkaWFRdWVyeSB7IHsgfSwgeyB9LCBjb25kaXRpb24gfTsKK30KKwogTWVkaWFRdWVy
eUxpc3QgTWVkaWFRdWVyeVBhcnNlcjo6Y29uc3VtZU1lZGlhUXVlcnlMaXN0KENTU1BhcnNlclRv
a2VuUmFuZ2UmIHJhbmdlKQogewogICAgIE1lZGlhUXVlcnlMaXN0IGxpc3Q7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvcXVlcnkvTWVkaWFRdWVyeVBhcnNlci5oIGIvU291cmNlL1dl
YkNvcmUvY3NzL3F1ZXJ5L01lZGlhUXVlcnlQYXJzZXIuaAppbmRleCA2ODUxY2NkY2JjNTEuLjZm
YjU0MThmZDlhNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL3F1ZXJ5L01lZGlhUXVl
cnlQYXJzZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvcXVlcnkvTWVkaWFRdWVyeVBhcnNl
ci5oCkBAIC0zNSw2ICszNSw3IEBAIHB1YmxpYzoKICAgICBNZWRpYVF1ZXJ5UGFyc2VyKGNvbnN0
IE1lZGlhUXVlcnlQYXJzZXJDb250ZXh0Jik7CiAKICAgICBzdGF0aWMgTWVkaWFRdWVyeUxpc3Qg
cGFyc2UoY29uc3QgU3RyaW5nJiwgY29uc3QgTWVkaWFRdWVyeVBhcnNlckNvbnRleHQmKTsKKyAg
ICBzdGF0aWMgc3RkOjpvcHRpb25hbDxNZWRpYVF1ZXJ5PiBwYXJzZUNvbmRpdGlvbihDU1NQYXJz
ZXJUb2tlblJhbmdlLCBjb25zdCBNZWRpYVF1ZXJ5UGFyc2VyQ29udGV4dCYpOwogCiAgICAgTWVk
aWFRdWVyeUxpc3QgY29uc3VtZU1lZGlhUXVlcnlMaXN0KENTU1BhcnNlclRva2VuUmFuZ2UmKTsK
ICAgICBzdGQ6Om9wdGlvbmFsPE1lZGlhUXVlcnk+IGNvbnN1bWVNZWRpYVF1ZXJ5KENTU1BhcnNl
clRva2VuUmFuZ2UmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEltYWdl
RWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbWFnZUVsZW1lbnQuY3BwCmlu
ZGV4IDYyNjI0MDI1Njk3My4uYzViYTc2ZjRhNjk2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxJbWFnZUVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TEltYWdlRWxlbWVudC5jcHAKQEAgLTQ5LDcgKzQ5LDcgQEAKICNpbmNsdWRlICJMZWdhY3lNZWRp
YVF1ZXJ5RXZhbHVhdG9yLmgiCiAjaW5jbHVkZSAiTG9nZ2luZy5oIgogI2luY2x1ZGUgIk1JTUVU
eXBlUmVnaXN0cnkuaCIKLSNpbmNsdWRlICJNZWRpYUxpc3QuaCIKKyNpbmNsdWRlICJNZWRpYVF1
ZXJ5RXZhbHVhdG9yLmgiCiAjaW5jbHVkZSAiTW91c2VFdmVudC5oIgogI2luY2x1ZGUgIk5vZGVU
cmF2ZXJzYWwuaCIKICNpbmNsdWRlICJQbGF0Zm9ybU1vdXNlRXZlbnQuaCIKQEAgLTI0MywyMSAr
MjQzLDIxIEBAIEltYWdlQ2FuZGlkYXRlIEhUTUxJbWFnZUVsZW1lbnQ6OmJlc3RGaXRTb3VyY2VG
cm9tUGljdHVyZUVsZW1lbnQoKQogICAgICAgICB9CiAKICAgICAgICAgUmVmUHRyIGRvY3VtZW50
RWxlbWVudCA9IGRvY3VtZW50KCkuZG9jdW1lbnRFbGVtZW50KCk7Ci0gICAgICAgIExlZ2FjeU1l
ZGlhUXVlcnlFdmFsdWF0b3IgZXZhbHVhdG9yIHsgZG9jdW1lbnQoKS5wcmludGluZygpID8gInBy
aW50Il9zIDogInNjcmVlbiJfcywgZG9jdW1lbnQoKSwgZG9jdW1lbnRFbGVtZW50ID8gZG9jdW1l
bnRFbGVtZW50LT5jb21wdXRlZFN0eWxlKCkgOiBudWxscHRyIH07Ci0gICAgICAgIGF1dG8qIHF1
ZXJpZXMgPSBzb3VyY2UucGFyc2VkTWVkaWFBdHRyaWJ1dGUoZG9jdW1lbnQoKSk7CisgICAgICAg
IE1ROjpNZWRpYVF1ZXJ5RXZhbHVhdG9yIGV2YWx1YXRvciB7IGRvY3VtZW50KCkucHJpbnRpbmco
KSA/ICJwcmludCJfcyA6ICJzY3JlZW4iX3MsIGRvY3VtZW50KCksIGRvY3VtZW50RWxlbWVudCA/
IGRvY3VtZW50RWxlbWVudC0+Y29tcHV0ZWRTdHlsZSgpIDogbnVsbHB0ciB9OworICAgICAgICBh
dXRvJiBxdWVyaWVzID0gc291cmNlLnBhcnNlZE1lZGlhQXR0cmlidXRlKGRvY3VtZW50KCkpOwog
ICAgICAgICBMT0coTWVkaWFRdWVyaWVzLCAiSFRNTEltYWdlRWxlbWVudCAlcCBiZXN0Rml0U291
cmNlRnJvbVBpY3R1cmVFbGVtZW50IGV2YWx1YXRpbmcgbWVkaWEgcXVlcmllcyIsIHRoaXMpOwog
Ci0gICAgICAgIGF1dG8gcmVzdWx0ID0gIXF1ZXJpZXMgfHwgZXZhbHVhdG9yLmV2YWx1YXRlKCpx
dWVyaWVzKTsKKyAgICAgICAgYXV0byByZXN1bHQgPSBldmFsdWF0b3IuZXZhbHVhdGUocXVlcmll
cyk7CiAKLSAgICAgICAgaWYgKHF1ZXJpZXMgJiYgIW1lZGlhUXVlcnlEeW5hbWljRGVwZW5kZW5j
aWVzKCpxdWVyaWVzLCBldmFsdWF0b3IpLmlzRW1wdHkoKSkKLSAgICAgICAgICAgIG1fZHluYW1p
Y01lZGlhUXVlcnlSZXN1bHRzLmFwcGVuZCh7ICpxdWVyaWVzLCByZXN1bHQgfSk7CisgICAgICAg
IGlmICghZXZhbHVhdG9yLmNvbGxlY3REeW5hbWljRGVwZW5kZW5jaWVzKHF1ZXJpZXMpLmlzRW1w
dHkoKSkKKyAgICAgICAgICAgIG1fZHluYW1pY01lZGlhUXVlcnlSZXN1bHRzLmFwcGVuZCh7IHF1
ZXJpZXMsIHJlc3VsdCB9KTsKIAogICAgICAgICBpZiAoIXJlc3VsdCkKICAgICAgICAgICAgIGNv
bnRpbnVlOwogCiAgICAgICAgIFNpemVzQXR0cmlidXRlUGFyc2VyIHNpemVzUGFyc2VyKHNvdXJj
ZS5hdHRyaWJ1dGVXaXRob3V0U3luY2hyb25pemF0aW9uKHNpemVzQXR0cikuc3RyaW5nKCksIGRv
Y3VtZW50KCkpOwogCi0gICAgICAgIG1fZHluYW1pY01lZGlhUXVlcnlSZXN1bHRzLmFwcGVuZFZl
Y3RvcihzaXplc1BhcnNlci5keW5hbWljTWVkaWFDb25kaXRpb25SZXN1bHRzKCkpOworICAgICAg
ICBtX2R5bmFtaWNNZWRpYVF1ZXJ5UmVzdWx0cy5hcHBlbmRWZWN0b3Ioc2l6ZXNQYXJzZXIuZHlu
YW1pY01lZGlhUXVlcnlSZXN1bHRzKCkpOwogCiAgICAgICAgIGF1dG8gc291cmNlU2l6ZSA9IHNp
emVzUGFyc2VyLmxlbmd0aCgpOwogCkBAIC0yNzQsMTEgKzI3NCwxMSBAQCBJbWFnZUNhbmRpZGF0
ZSBIVE1MSW1hZ2VFbGVtZW50OjpiZXN0Rml0U291cmNlRnJvbVBpY3R1cmVFbGVtZW50KCkKIHZv
aWQgSFRNTEltYWdlRWxlbWVudDo6ZXZhbHVhdGVEeW5hbWljTWVkaWFRdWVyeURlcGVuZGVuY2ll
cygpCiB7CiAgICAgUmVmUHRyIGRvY3VtZW50RWxlbWVudCA9IGRvY3VtZW50KCkuZG9jdW1lbnRF
bGVtZW50KCk7Ci0gICAgTGVnYWN5TWVkaWFRdWVyeUV2YWx1YXRvciBldmFsdWF0b3IgeyBkb2N1
bWVudCgpLnByaW50aW5nKCkgPyAicHJpbnQiX3MgOiAic2NyZWVuIl9zLCBkb2N1bWVudCgpLCBk
b2N1bWVudEVsZW1lbnQgPyBkb2N1bWVudEVsZW1lbnQtPmNvbXB1dGVkU3R5bGUoKSA6IG51bGxw
dHIgfTsKKyAgICBNUTo6TWVkaWFRdWVyeUV2YWx1YXRvciBldmFsdWF0b3IgeyBkb2N1bWVudCgp
LnByaW50aW5nKCkgPyAicHJpbnQiX3MgOiAic2NyZWVuIl9zLCBkb2N1bWVudCgpLCBkb2N1bWVu
dEVsZW1lbnQgPyBkb2N1bWVudEVsZW1lbnQtPmNvbXB1dGVkU3R5bGUoKSA6IG51bGxwdHIgfTsK
IAogICAgIGF1dG8gaGFzQ2hhbmdlcyA9IFsmXSB7Ci0gICAgICAgIGZvciAoYXV0byYgY29uZGl0
aW9uIDogbV9keW5hbWljTWVkaWFRdWVyeVJlc3VsdHMpIHsKLSAgICAgICAgICAgIGlmIChjb25k
aXRpb24ucmVzdWx0ICE9IGV2YWx1YXRvci5ldmFsdWF0ZShjb25kaXRpb24ucXVlcnkuZ2V0KCkp
KQorICAgICAgICBmb3IgKGF1dG8mIHJlc3VsdHMgOiBtX2R5bmFtaWNNZWRpYVF1ZXJ5UmVzdWx0
cykgeworICAgICAgICAgICAgaWYgKHJlc3VsdHMucmVzdWx0ICE9IGV2YWx1YXRvci5ldmFsdWF0
ZShyZXN1bHRzLm1lZGlhUXVlcnlMaXN0KSkKICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsK
ICAgICAgICAgfQogICAgICAgICByZXR1cm4gZmFsc2U7CkBAIC0zMDEsNyArMzAxLDcgQEAgdm9p
ZCBIVE1MSW1hZ2VFbGVtZW50OjpzZWxlY3RJbWFnZVNvdXJjZShSZWxldmFudE11dGF0aW9uIHJl
bGV2YW50TXV0YXRpb24pCiAgICAgICAgIHNldFNvdXJjZUVsZW1lbnQobnVsbHB0cik7CiAgICAg
ICAgIC8vIElmIHdlIGRvbid0IGhhdmUgYSA8cGljdHVyZT4gb3IgZGlkbid0IGZpbmQgYSBzb3Vy
Y2UsIHRoZW4gd2UgdXNlIG91ciBvd24gYXR0cmlidXRlcy4KICAgICAgICAgU2l6ZXNBdHRyaWJ1
dGVQYXJzZXIgc2l6ZXNQYXJzZXIoYXR0cmlidXRlV2l0aG91dFN5bmNocm9uaXphdGlvbihzaXpl
c0F0dHIpLnN0cmluZygpLCBkb2N1bWVudCgpKTsKLSAgICAgICAgbV9keW5hbWljTWVkaWFRdWVy
eVJlc3VsdHMuYXBwZW5kVmVjdG9yKHNpemVzUGFyc2VyLmR5bmFtaWNNZWRpYUNvbmRpdGlvblJl
c3VsdHMoKSk7CisgICAgICAgIG1fZHluYW1pY01lZGlhUXVlcnlSZXN1bHRzLmFwcGVuZFZlY3Rv
cihzaXplc1BhcnNlci5keW5hbWljTWVkaWFRdWVyeVJlc3VsdHMoKSk7CiAgICAgICAgIGF1dG8g
c291cmNlU2l6ZSA9IHNpemVzUGFyc2VyLmxlbmd0aCgpOwogICAgICAgICBjYW5kaWRhdGUgPSBi
ZXN0Rml0U291cmNlRm9ySW1hZ2VBdHRyaWJ1dGVzKGRvY3VtZW50KCkuZGV2aWNlU2NhbGVGYWN0
b3IoKSwgYXR0cmlidXRlV2l0aG91dFN5bmNocm9uaXphdGlvbihzcmNBdHRyKSwgYXR0cmlidXRl
V2l0aG91dFN5bmNocm9uaXphdGlvbihzcmNzZXRBdHRyKSwgc291cmNlU2l6ZSk7CiAgICAgfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50LmggYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxJbWFnZUVsZW1lbnQuaAppbmRleCAzOTBhMGYwOTcxYWYuLjI1
NTRjOWRmOGJhOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVt
ZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50LmgKQEAgLTI5
LDcgKzI5LDcgQEAKICNpbmNsdWRlICJHcmFwaGljc0xheWVyLmgiCiAjaW5jbHVkZSAiR3JhcGhp
Y3NUeXBlcy5oIgogI2luY2x1ZGUgIkhUTUxFbGVtZW50LmgiCi0jaW5jbHVkZSAiTGVnYWN5TWVk
aWFRdWVyeUV2YWx1YXRvci5oIgorI2luY2x1ZGUgIk1lZGlhUXVlcnkuaCIKICNpbmNsdWRlIDx3
dGYvV2Vha1B0ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0yNDMsNyArMjQzLDggQEAg
cHJpdmF0ZToKICAgICBXZWFrUHRyPEhUTUxQaWN0dXJlRWxlbWVudCwgV2Vha1B0ckltcGxXaXRo
RXZlbnRUYXJnZXREYXRhPiBtX3BpY3R1cmVFbGVtZW50OwogICAgIC8vIFRoZSBzb3VyY2UgZWxl
bWVudCB0aGF0IHdhcyBzZWxlY3RlZCB0byBwcm92aWRlIHRoZSBzb3VyY2UgVVJMLgogICAgIFdl
YWtQdHI8SFRNTFNvdXJjZUVsZW1lbnQsIFdlYWtQdHJJbXBsV2l0aEV2ZW50VGFyZ2V0RGF0YT4g
bV9zb3VyY2VFbGVtZW50OwotICAgIFZlY3RvcjxNZWRpYVF1ZXJ5UmVzdWx0PiBtX2R5bmFtaWNN
ZWRpYVF1ZXJ5UmVzdWx0czsKKworICAgIFZlY3RvcjxNUTo6TWVkaWFRdWVyeVJlc3VsdD4gbV9k
eW5hbWljTWVkaWFRdWVyeVJlc3VsdHM7CiAKICNpZiBFTkFCTEUoQVRUQUNITUVOVF9FTEVNRU5U
KQogICAgIFN0cmluZyBtX3BlbmRpbmdDbG9uZWRBdHRhY2htZW50SUQ7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcAppbmRleCAwZjYyNTRlMmY1MGIuLjkzM2ZiNWRmZDk5
YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCkBAIC03Miw3ICs3
Miw2IEBACiAjaW5jbHVkZSAiSlNET01Qcm9taXNlRGVmZXJyZWQuaCIKICNpbmNsdWRlICJKU0hU
TUxNZWRpYUVsZW1lbnQuaCIKICNpbmNsdWRlICJKU01lZGlhQ29udHJvbHNIb3N0LmgiCi0jaW5j
bHVkZSAiTGVnYWN5TWVkaWFRdWVyeUV2YWx1YXRvci5oIgogI2luY2x1ZGUgIkxvYWRhYmxlVGV4
dFRyYWNrLmgiCiAjaW5jbHVkZSAiTG9nZ2luZy5oIgogI2luY2x1ZGUgIk1JTUVUeXBlUmVnaXN0
cnkuaCIKQEAgLTg0LDYgKzgzLDcgQEAKICNpbmNsdWRlICJNZWRpYUZyYWdtZW50VVJJUGFyc2Vy
LmgiCiAjaW5jbHVkZSAiTWVkaWFMaXN0LmgiCiAjaW5jbHVkZSAiTWVkaWFQbGF5ZXIuaCIKKyNp
bmNsdWRlICJNZWRpYVF1ZXJ5RXZhbHVhdG9yLmgiCiAjaW5jbHVkZSAiTWVkaWFSZXNvdXJjZUxv
YWRlci5oIgogI2luY2x1ZGUgIk5hdmlnYXRvck1lZGlhRGV2aWNlcy5oIgogI2luY2x1ZGUgIk5l
dHdvcmtpbmdDb250ZXh0LmgiCkBAIC01MTY3LDEyICs1MTY3LDEyIEBAIFVSTCBIVE1MTWVkaWFF
bGVtZW50OjpzZWxlY3ROZXh0U291cmNlQ2hpbGQoQ29udGVudFR5cGUqIGNvbnRlbnRUeXBlLCBT
dHJpbmcqIGtlCiAgICAgICAgIGlmIChtZWRpYVVSTC5pc0VtcHR5KCkpCiAgICAgICAgICAgICBn
b3RvIENoZWNrQWdhaW47CiAKLSAgICAgICAgaWYgKGF1dG8qIG1lZGlhID0gc291cmNlLT5wYXJz
ZWRNZWRpYUF0dHJpYnV0ZShkb2N1bWVudCgpKSkgeworICAgICAgICBpZiAoYXV0byBtZWRpYVF1
ZXJ5TGlzdCA9IHNvdXJjZS0+cGFyc2VkTWVkaWFBdHRyaWJ1dGUoZG9jdW1lbnQoKSk7ICFtZWRp
YVF1ZXJ5TGlzdC5pc0VtcHR5KCkpIHsKICAgICAgICAgICAgIGlmIChzaG91bGRMb2cpCiAgICAg
ICAgICAgICAgICAgSU5GT19MT0coTE9HSURFTlRJRklFUiwgIidtZWRpYScgaXMgIiwgc291cmNl
LT5hdHRyaWJ1dGVXaXRob3V0U3luY2hyb25pemF0aW9uKG1lZGlhQXR0cikpOwogICAgICAgICAg
ICAgYXV0byogcmVuZGVyZXIgPSB0aGlzLT5yZW5kZXJlcigpOwogICAgICAgICAgICAgTE9HKE1l
ZGlhUXVlcmllcywgIkhUTUxNZWRpYUVsZW1lbnQgJXAgc2VsZWN0TmV4dFNvdXJjZUNoaWxkIGV2
YWx1YXRpbmcgbWVkaWEgcXVlcmllcyIsIHRoaXMpOwotICAgICAgICAgICAgaWYgKCFMZWdhY3lN
ZWRpYVF1ZXJ5RXZhbHVhdG9yIHsgInNjcmVlbiJfcywgZG9jdW1lbnQoKSwgcmVuZGVyZXIgPyAm
cmVuZGVyZXItPnN0eWxlKCkgOiBudWxscHRyIH0uZXZhbHVhdGUoKm1lZGlhKSkKKyAgICAgICAg
ICAgIGlmICghTVE6Ok1lZGlhUXVlcnlFdmFsdWF0b3IgeyAic2NyZWVuIl9zLCBkb2N1bWVudCgp
LCByZW5kZXJlciA/ICZyZW5kZXJlci0+c3R5bGUoKSA6IG51bGxwdHIgfS5ldmFsdWF0ZShtZWRp
YVF1ZXJ5TGlzdCkpCiAgICAgICAgICAgICAgICAgZ290byBDaGVja0FnYWluOwogICAgICAgICB9
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNvdXJjZUVsZW1lbnQuY3Bw
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU291cmNlRWxlbWVudC5jcHAKaW5kZXggZTlmOTZh
ODJjN2MwLi4xOTg1ZTkzZGE0ZDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TFNvdXJjZUVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNvdXJjZUVs
ZW1lbnQuY3BwCkBAIC0zMyw3ICszMyw3IEBACiAjaW5jbHVkZSAiSFRNTE5hbWVzLmgiCiAjaW5j
bHVkZSAiSFRNTFBpY3R1cmVFbGVtZW50LmgiCiAjaW5jbHVkZSAiTG9nZ2luZy5oIgotI2luY2x1
ZGUgIk1lZGlhTGlzdC5oIgorI2luY2x1ZGUgIk1lZGlhUXVlcnlQYXJzZXIuaCIKICNpbmNsdWRl
ICJNZWRpYVF1ZXJ5UGFyc2VyQ29udGV4dC5oIgogI2luY2x1ZGUgPHd0Zi9Jc29NYWxsb2NJbmxp
bmVzLmg+CiAKQEAgLTE3MCwxNiArMTcwLDEzIEBAIHZvaWQgSFRNTFNvdXJjZUVsZW1lbnQ6OnBh
cnNlQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmIG5hbWUsIGNvbnN0IEF0b21TdHJpCiAj
ZW5kaWYKIH0KIAotY29uc3QgTWVkaWFRdWVyeVNldCogSFRNTFNvdXJjZUVsZW1lbnQ6OnBhcnNl
ZE1lZGlhQXR0cmlidXRlKERvY3VtZW50JiBkb2N1bWVudCkgY29uc3QKK2NvbnN0IE1ROjpNZWRp
YVF1ZXJ5TGlzdCYgSFRNTFNvdXJjZUVsZW1lbnQ6OnBhcnNlZE1lZGlhQXR0cmlidXRlKERvY3Vt
ZW50JiBkb2N1bWVudCkgY29uc3QKIHsKICAgICBpZiAoIW1fY2FjaGVkUGFyc2VkTWVkaWFBdHRy
aWJ1dGUpIHsKLSAgICAgICAgUmVmUHRyPGNvbnN0IE1lZGlhUXVlcnlTZXQ+IHBhcnNlZEF0dHJp
YnV0ZTsKICAgICAgICAgYXV0byYgdmFsdWUgPSBhdHRyaWJ1dGVXaXRob3V0U3luY2hyb25pemF0
aW9uKG1lZGlhQXR0cik7Ci0gICAgICAgIGlmICghdmFsdWUuaXNOdWxsKCkpCi0gICAgICAgICAg
ICBwYXJzZWRBdHRyaWJ1dGUgPSBNZWRpYVF1ZXJ5U2V0OjpjcmVhdGUodmFsdWUsIE1lZGlhUXVl
cnlQYXJzZXJDb250ZXh0KGRvY3VtZW50KSk7Ci0gICAgICAgIG1fY2FjaGVkUGFyc2VkTWVkaWFB
dHRyaWJ1dGUgPSBXVEZNb3ZlKHBhcnNlZEF0dHJpYnV0ZSk7CisgICAgICAgIG1fY2FjaGVkUGFy
c2VkTWVkaWFBdHRyaWJ1dGUgPSBNUTo6TWVkaWFRdWVyeVBhcnNlcjo6cGFyc2UodmFsdWUsIE1l
ZGlhUXVlcnlQYXJzZXJDb250ZXh0IHsgZG9jdW1lbnQgfSk7CiAgICAgfQotICAgIHJldHVybiBt
X2NhY2hlZFBhcnNlZE1lZGlhQXR0cmlidXRlLnZhbHVlKCkuZ2V0KCk7CisgICAgcmV0dXJuIG1f
Y2FjaGVkUGFyc2VkTWVkaWFBdHRyaWJ1dGUudmFsdWUoKTsKIH0KIAogdm9pZCBIVE1MU291cmNl
RWxlbWVudDo6YXR0cmlidXRlQ2hhbmdlZChjb25zdCBRdWFsaWZpZWROYW1lJiBuYW1lLCBjb25z
dCBBdG9tU3RyaW5nJiBvbGRWYWx1ZSwgY29uc3QgQXRvbVN0cmluZyYgbmV3VmFsdWUsIEF0dHJp
YnV0ZU1vZGlmaWNhdGlvblJlYXNvbiByZWFzb24pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxTb3VyY2VFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxTb3Vy
Y2VFbGVtZW50LmgKaW5kZXggMzk2YWQyNDQ2YmI0Li5mZTZmNDBkMTIyM2QgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNvdXJjZUVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxTb3VyY2VFbGVtZW50LmgKQEAgLTI3LDEyICsyNywxMSBAQAogCiAjaW5j
bHVkZSAiQWN0aXZlRE9NT2JqZWN0LmgiCiAjaW5jbHVkZSAiSFRNTEVsZW1lbnQuaCIKKyNpbmNs
dWRlICJNZWRpYVF1ZXJ5LmgiCiAjaW5jbHVkZSAiVGltZXIuaCIKIAogbmFtZXNwYWNlIFdlYkNv
cmUgewogCi1jbGFzcyBNZWRpYVF1ZXJ5U2V0OwotCiBjbGFzcyBIVE1MU291cmNlRWxlbWVudCBm
aW5hbCA6IHB1YmxpYyBIVE1MRWxlbWVudCwgcHVibGljIEFjdGl2ZURPTU9iamVjdCB7CiAgICAg
V1RGX01BS0VfSVNPX0FMTE9DQVRFRChIVE1MU291cmNlRWxlbWVudCk7CiBwdWJsaWM6CkBAIC00
Miw3ICs0MSw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHNjaGVkdWxlRXJyb3JFdmVudCgpOwogICAg
IHZvaWQgY2FuY2VsUGVuZGluZ0Vycm9yRXZlbnQoKTsKIAotICAgIGNvbnN0IE1lZGlhUXVlcnlT
ZXQqIHBhcnNlZE1lZGlhQXR0cmlidXRlKERvY3VtZW50JikgY29uc3Q7CisgICAgY29uc3QgTVE6
Ok1lZGlhUXVlcnlMaXN0JiBwYXJzZWRNZWRpYUF0dHJpYnV0ZShEb2N1bWVudCYpIGNvbnN0Owog
CiBwcml2YXRlOgogICAgIEhUTUxTb3VyY2VFbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmLCBE
b2N1bWVudCYpOwpAQCAtNjEsNyArNjAsNyBAQCBwcml2YXRlOgogCiAgICAgVGFza0NhbmNlbGxh
dGlvbkdyb3VwIG1fZXJyb3JFdmVudENhbmNlbGxhdGlvbkdyb3VwOwogICAgIGJvb2wgbV9zaG91
bGRDYWxsU291cmNlc0NoYW5nZWQgeyBmYWxzZSB9OwotICAgIG11dGFibGUgc3RkOjpvcHRpb25h
bDxSZWZQdHI8Y29uc3QgTWVkaWFRdWVyeVNldD4+IG1fY2FjaGVkUGFyc2VkTWVkaWFBdHRyaWJ1
dGU7CisgICAgbXV0YWJsZSBzdGQ6Om9wdGlvbmFsPE1ROjpNZWRpYVF1ZXJ5TGlzdD4gbV9jYWNo
ZWRQYXJzZWRNZWRpYUF0dHJpYnV0ZTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>463675</attachid>
            <date>2022-11-22 09:33:20 -0800</date>
            <delta_ts>2022-11-23 03:16:01 -0800</delta_ts>
            <desc>wip</desc>
            <filename>mq-dynamic-2.patch</filename>
            <type>text/plain</type>
            <size>22343</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvU2l6ZXNBdHRyaWJ1dGVQYXJz
ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9TaXplc0F0dHJpYnV0ZVBhcnNlci5j
cHAKaW5kZXggZGJkMjBiNWYyZmEzLi5iYWNkZDZkNGE0NGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9wYXJzZXIvU2l6ZXNBdHRyaWJ1dGVQYXJzZXIuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9wYXJzZXIvU2l6ZXNBdHRyaWJ1dGVQYXJzZXIuY3BwCkBAIC0zNCw5ICszNCw4
IEBACiAjaW5jbHVkZSAiQ1NTVG9MZW5ndGhDb252ZXJzaW9uRGF0YS5oIgogI2luY2x1ZGUgIkNT
U1Rva2VuaXplci5oIgogI2luY2x1ZGUgIkZvbnRDYXNjYWRlLmgiCi0jaW5jbHVkZSAiTGVnYWN5
TWVkaWFRdWVyeUV2YWx1YXRvci5oIgotI2luY2x1ZGUgIkxlZ2FjeU1lZGlhUXVlcnlQYXJzZXIu
aCIKLSNpbmNsdWRlICJNZWRpYUxpc3QuaCIKKyNpbmNsdWRlICJNZWRpYVF1ZXJ5RXZhbHVhdG9y
LmgiCisjaW5jbHVkZSAiTWVkaWFRdWVyeVBhcnNlci5oIgogI2luY2x1ZGUgIk1lZGlhUXVlcnlQ
YXJzZXJDb250ZXh0LmgiCiAjaW5jbHVkZSAiUmVuZGVyVmlldy5oIgogI2luY2x1ZGUgIlNpemVz
Q2FsY1BhcnNlci5oIgpAQCAtMTA0LDE0ICsxMDMsMTQgQEAgYm9vbCBTaXplc0F0dHJpYnV0ZVBh
cnNlcjo6Y2FsY3VsYXRlTGVuZ3RoSW5QaXhlbHMoQ1NTUGFyc2VyVG9rZW5SYW5nZSByYW5nZSwg
ZmwKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKLWJvb2wgU2l6ZXNBdHRyaWJ1dGVQYXJzZXI6Om1l
ZGlhQ29uZGl0aW9uTWF0Y2hlcyhjb25zdCBNZWRpYVF1ZXJ5U2V0JiBtZWRpYUNvbmRpdGlvbikK
K2Jvb2wgU2l6ZXNBdHRyaWJ1dGVQYXJzZXI6Om1lZGlhQ29uZGl0aW9uTWF0Y2hlcyhjb25zdCBN
UTo6TWVkaWFRdWVyeSYgbWVkaWFDb25kaXRpb24pCiB7CiAgICAgLy8gQSBNZWRpYSBDb25kaXRp
b24gY2Fubm90IGhhdmUgYSBtZWRpYSB0eXBlIG90aGVyIHRoYW4gc2NyZWVuLgogICAgIGF1dG8q
IHJlbmRlcmVyID0gbV9kb2N1bWVudC5yZW5kZXJWaWV3KCk7CiAgICAgaWYgKCFyZW5kZXJlcikK
ICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIGF1dG8mIHN0eWxlID0gcmVuZGVyZXItPnN0eWxl
KCk7Ci0gICAgcmV0dXJuIExlZ2FjeU1lZGlhUXVlcnlFdmFsdWF0b3IgeyAic2NyZWVuIl9zLCBt
X2RvY3VtZW50LCAmc3R5bGUgfS5ldmFsdWF0ZShtZWRpYUNvbmRpdGlvbik7CisgICAgcmV0dXJu
IE1ROjpNZWRpYVF1ZXJ5RXZhbHVhdG9yIHsgInNjcmVlbiJfcywgbV9kb2N1bWVudCwgJnN0eWxl
IH0uZXZhbHVhdGUobWVkaWFDb25kaXRpb24pOwogfQogCiBib29sIFNpemVzQXR0cmlidXRlUGFy
c2VyOjpwYXJzZShDU1NQYXJzZXJUb2tlblJhbmdlIHJhbmdlKQpAQCAtMTMzLDEyICsxMzIsMTMg
QEAgYm9vbCBTaXplc0F0dHJpYnV0ZVBhcnNlcjo6cGFyc2UoQ1NTUGFyc2VyVG9rZW5SYW5nZSBy
YW5nZSkKICAgICAgICAgZmxvYXQgbGVuZ3RoOwogICAgICAgICBpZiAoIWNhbGN1bGF0ZUxlbmd0
aEluUGl4ZWxzKHJhbmdlLm1ha2VTdWJSYW5nZShsZW5ndGhUb2tlblN0YXJ0LCBsZW5ndGhUb2tl
bkVuZCksIGxlbmd0aCkpCiAgICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAgYXV0byBtZWRp
YUNvbmRpdGlvbiA9IExlZ2FjeU1lZGlhUXVlcnlQYXJzZXI6OnBhcnNlTWVkaWFDb25kaXRpb24o
cmFuZ2UubWFrZVN1YlJhbmdlKG1lZGlhQ29uZGl0aW9uU3RhcnQsIGxlbmd0aFRva2VuU3RhcnQp
LCBNZWRpYVF1ZXJ5UGFyc2VyQ29udGV4dChtX2RvY3VtZW50KSk7CisgICAgICAgIGF1dG8gbWVk
aWFDb25kaXRpb24gPSBNUTo6TWVkaWFRdWVyeVBhcnNlcjo6cGFyc2VDb25kaXRpb24ocmFuZ2Uu
bWFrZVN1YlJhbmdlKG1lZGlhQ29uZGl0aW9uU3RhcnQsIGxlbmd0aFRva2VuU3RhcnQpLCBNZWRp
YVF1ZXJ5UGFyc2VyQ29udGV4dChtX2RvY3VtZW50KSk7CiAgICAgICAgIGlmICghbWVkaWFDb25k
aXRpb24pCiAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgYm9vbCBtYXRjaGVzID0gbWVk
aWFDb25kaXRpb25NYXRjaGVzKCptZWRpYUNvbmRpdGlvbik7Ci0gICAgICAgIGlmICghbWVkaWFR
dWVyeUR5bmFtaWNEZXBlbmRlbmNpZXMoKm1lZGlhQ29uZGl0aW9uLCB7ICJzY3JlZW4iX3MsIGZh
bHNlIH0pLmlzRW1wdHkoKSkKLSAgICAgICAgICAgIG1fZHluYW1pY01lZGlhQ29uZGl0aW9uUmVz
dWx0cy5hcHBlbmQoeyAqbWVkaWFDb25kaXRpb24sIG1hdGNoZXMgfSk7CisgICAgICAgIE1ROjpN
ZWRpYVF1ZXJ5RXZhbHVhdG9yIGV2YWx1YXRvciB7ICJzY3JlZW4iX3MsIG1fZG9jdW1lbnQsIG51
bGxwdHIgfTsKKyAgICAgICAgaWYgKCFldmFsdWF0b3IuY29sbGVjdER5bmFtaWNEZXBlbmRlbmNp
ZXMoKm1lZGlhQ29uZGl0aW9uKS5pc0VtcHR5KCkpCisgICAgICAgICAgICBtX2R5bmFtaWNNZWRp
YVF1ZXJ5UmVzdWx0cy5hcHBlbmQoeyBNUTo6TWVkaWFRdWVyeUxpc3QgeyAqbWVkaWFDb25kaXRp
b24gfSwgbWF0Y2hlcyB9KTsKICAgICAgICAgaWYgKCFtYXRjaGVzKQogICAgICAgICAgICAgY29u
dGludWU7CiAgICAgICAgIG1fbGVuZ3RoID0gbGVuZ3RoOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvY3NzL3BhcnNlci9TaXplc0F0dHJpYnV0ZVBhcnNlci5oIGIvU291cmNlL1dlYkNvcmUv
Y3NzL3BhcnNlci9TaXplc0F0dHJpYnV0ZVBhcnNlci5oCmluZGV4IDY4OTNkMjY1YWNmYy4uNzJm
ZGUwYjc4OGU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL1NpemVzQXR0
cmlidXRlUGFyc2VyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9TaXplc0F0dHJp
YnV0ZVBhcnNlci5oCkBAIC0zMSw3ICszMSw3IEBACiAKICNpbmNsdWRlICJDU1NQYXJzZXJUb2tl
blJhbmdlLmgiCiAjaW5jbHVkZSAiQ1NTUHJpbWl0aXZlVmFsdWUuaCIKLSNpbmNsdWRlICJMZWdh
Y3lNZWRpYVF1ZXJ5RXZhbHVhdG9yLmgiCisjaW5jbHVkZSAiTWVkaWFRdWVyeS5oIgogI2luY2x1
ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC00OCwx
NyArNDgsMTcgQEAgcHVibGljOgogICAgIHN0YXRpYyBmbG9hdCBkZWZhdWx0TGVuZ3RoKGNvbnN0
IERvY3VtZW50Jik7CiAgICAgc3RhdGljIGZsb2F0IGNvbXB1dGVMZW5ndGgoZG91YmxlIHZhbHVl
LCBDU1NVbml0VHlwZSwgY29uc3QgRG9jdW1lbnQmKTsKIAotICAgIGF1dG8mIGR5bmFtaWNNZWRp
YUNvbmRpdGlvblJlc3VsdHMoKSBjb25zdCB7IHJldHVybiBtX2R5bmFtaWNNZWRpYUNvbmRpdGlv
blJlc3VsdHM7IH0KKyAgICBhdXRvJiBkeW5hbWljTWVkaWFRdWVyeVJlc3VsdHMoKSBjb25zdCB7
IHJldHVybiBtX2R5bmFtaWNNZWRpYVF1ZXJ5UmVzdWx0czsgfQogCiBwcml2YXRlOgogICAgIGJv
b2wgcGFyc2UoQ1NTUGFyc2VyVG9rZW5SYW5nZSk7CiAgICAgZmxvYXQgZWZmZWN0aXZlU2l6ZSgp
OwogICAgIGJvb2wgY2FsY3VsYXRlTGVuZ3RoSW5QaXhlbHMoQ1NTUGFyc2VyVG9rZW5SYW5nZSwg
ZmxvYXQmIHJlc3VsdCk7Ci0gICAgYm9vbCBtZWRpYUNvbmRpdGlvbk1hdGNoZXMoY29uc3QgTWVk
aWFRdWVyeVNldCYgbWVkaWFDb25kaXRpb24pOworICAgIGJvb2wgbWVkaWFDb25kaXRpb25NYXRj
aGVzKGNvbnN0IE1ROjpNZWRpYVF1ZXJ5Jik7CiAgICAgdW5zaWduZWQgZWZmZWN0aXZlU2l6ZURl
ZmF1bHRWYWx1ZSgpOwogCiAgICAgY29uc3QgRG9jdW1lbnQmIG1fZG9jdW1lbnQ7Ci0gICAgVmVj
dG9yPE1lZGlhUXVlcnlSZXN1bHQ+IG1fZHluYW1pY01lZGlhQ29uZGl0aW9uUmVzdWx0czsKKyAg
ICBWZWN0b3I8TVE6Ok1lZGlhUXVlcnlSZXN1bHQ+IG1fZHluYW1pY01lZGlhUXVlcnlSZXN1bHRz
OwogICAgIGZsb2F0IG1fbGVuZ3RoIHsgMCB9OwogICAgIGJvb2wgbV9sZW5ndGhXYXNTZXQgeyBm
YWxzZSB9OwogICAgIGJvb2wgbV9pc1ZhbGlkIHsgZmFsc2UgfTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9xdWVyeS9HZW5lcmljTWVkaWFRdWVyeVR5cGVzLmggYi9Tb3VyY2UvV2Vi
Q29yZS9jc3MvcXVlcnkvR2VuZXJpY01lZGlhUXVlcnlUeXBlcy5oCmluZGV4IDUxZjBjOGFjOGRj
Yy4uYzE4OWQ2NjIwNzJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvcXVlcnkvR2Vu
ZXJpY01lZGlhUXVlcnlUeXBlcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9xdWVyeS9HZW5l
cmljTWVkaWFRdWVyeVR5cGVzLmgKQEAgLTEwNSw1ICsxMDUsMjcgQEAgc3RydWN0IEZlYXR1cmVT
Y2hlbWEgewogICAgIHZpcnR1YWwgfkZlYXR1cmVTY2hlbWEoKSA9IGRlZmF1bHQ7CiB9OwogCit0
ZW1wbGF0ZTx0eXBlbmFtZSBUcmF2ZXJzZUZ1bmN0aW9uPiB2b2lkIHRyYXZlcnNlRmVhdHVyZXMo
Y29uc3QgQ29uZGl0aW9uJiwgVHJhdmVyc2VGdW5jdGlvbiYmKTsKKwordGVtcGxhdGU8dHlwZW5h
bWUgVHJhdmVyc2VGdW5jdGlvbj4KK3ZvaWQgdHJhdmVyc2VGZWF0dXJlcyhjb25zdCBRdWVyeUlu
UGFyZW5zJiBxdWVyeUluUGFyZW5zLCBUcmF2ZXJzZUZ1bmN0aW9uJiYgZnVuY3Rpb24pCit7Cisg
ICAgcmV0dXJuIFdURjo6c3dpdGNoT24ocXVlcnlJblBhcmVucywgWyZdKGNvbnN0IENvbmRpdGlv
biYgY29uZGl0aW9uKSB7CisgICAgICAgIHRyYXZlcnNlRmVhdHVyZXMoY29uZGl0aW9uLCBmdW5j
dGlvbik7CisgICAgfSwgWyZdKGNvbnN0IE1ROjpGZWF0dXJlJiBmZWF0dXJlKSB7CisgICAgICAg
IGZ1bmN0aW9uKGZlYXR1cmUpOworICAgIH0sIFsmXShjb25zdCBNUTo6R2VuZXJhbEVuY2xvc2Vk
JikgeworICAgICAgICByZXR1cm47CisgICAgfSk7Cit9CisKK3RlbXBsYXRlPHR5cGVuYW1lIFRy
YXZlcnNlRnVuY3Rpb24+Cit2b2lkIHRyYXZlcnNlRmVhdHVyZXMoY29uc3QgQ29uZGl0aW9uJiBj
b25kaXRpb24sIFRyYXZlcnNlRnVuY3Rpb24mJiBmdW5jdGlvbikKK3sKKyAgICBmb3IgKGF1dG8m
IHF1ZXJ5SW5QYXJlbnMgOiBjb25kaXRpb24ucXVlcmllcykKKyAgICAgICAgdHJhdmVyc2VGZWF0
dXJlcyhxdWVyeUluUGFyZW5zLCBmdW5jdGlvbik7Cit9CisKKwogfQogfQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvY3NzL3F1ZXJ5L01lZGlhUXVlcnkuaCBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9xdWVyeS9NZWRpYVF1ZXJ5LmgKaW5kZXggY2IzM2E3YmQzMmE4Li5mYjRhYmFhNzY4NmUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9xdWVyeS9NZWRpYVF1ZXJ5LmgKKysrIGIvU291
cmNlL1dlYkNvcmUvY3NzL3F1ZXJ5L01lZGlhUXVlcnkuaApAQCAtMzksMTEgKzM5LDMwIEBAIHN0
cnVjdCBNZWRpYVF1ZXJ5IHsKIAogdXNpbmcgTWVkaWFRdWVyeUxpc3QgPSBWZWN0b3I8TWVkaWFR
dWVyeT47CiAKK3N0cnVjdCBNZWRpYVF1ZXJ5UmVzdWx0IHsKKyAgICBNZWRpYVF1ZXJ5TGlzdCBt
ZWRpYVF1ZXJ5TGlzdDsKKyAgICBib29sIHJlc3VsdDsKK307CisKIGVudW0gY2xhc3MgTWVkaWFR
dWVyeUR5bmFtaWNEZXBlbmRlbmN5IDogdWludDhfdCAgewogICAgIFZpZXdwb3J0ID0gMSA8PCAw
LAogICAgIEFwcGVhcmFuY2UgPSAxIDw8IDEsCiAgICAgQWNjZXNzaWJpbGl0eSA9IDEgPDwgMiwK
IH07CiAKK3RlbXBsYXRlPHR5cGVuYW1lIFRyYXZlcnNlRnVuY3Rpb24+Cit2b2lkIHRyYXZlcnNl
RmVhdHVyZXMoY29uc3QgTWVkaWFRdWVyeSYgcXVlcnksIFRyYXZlcnNlRnVuY3Rpb24mJiBmdW5j
dGlvbikKK3sKKyAgICAgaWYgKHF1ZXJ5LmNvbmRpdGlvbikKKyAgICAgICAgIHRyYXZlcnNlRmVh
dHVyZXMoKnF1ZXJ5LmNvbmRpdGlvbiwgZnVuY3Rpb24pOworfQorCit0ZW1wbGF0ZTx0eXBlbmFt
ZSBUcmF2ZXJzZUZ1bmN0aW9uPgordm9pZCB0cmF2ZXJzZUZlYXR1cmVzKGNvbnN0IE1lZGlhUXVl
cnlMaXN0JiBsaXN0LCBUcmF2ZXJzZUZ1bmN0aW9uJiYgZnVuY3Rpb24pCit7CisgICAgZm9yIChh
dXRvJiBxdWVyeSA6IGxpc3QpCisgICAgICAgIHRyYXZlcnNlRmVhdHVyZXMocXVlcnksIGZ1bmN0
aW9uKTsKK30KKwogfQogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL3F1ZXJ5L01l
ZGlhUXVlcnlFdmFsdWF0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL3F1ZXJ5L01lZGlhUXVl
cnlFdmFsdWF0b3IuY3BwCmluZGV4IDFkNWM0NjA0MzQ5NS4uNDY4OTg3YzhmNzZhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvcXVlcnkvTWVkaWFRdWVyeUV2YWx1YXRvci5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvY3NzL3F1ZXJ5L01lZGlhUXVlcnlFdmFsdWF0b3IuY3BwCkBAIC0y
OCw2ICsyOCw3IEBACiAjaW5jbHVkZSAiQ1NTVG9MZW5ndGhDb252ZXJzaW9uRGF0YS5oIgogI2lu
Y2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiTWVkaWFRdWVyeS5oIgorI2luY2x1ZGUgIk1l
ZGlhUXVlcnlGZWF0dXJlcy5oIgogI2luY2x1ZGUgIlJlbmRlclZpZXcuaCIKICNpbmNsdWRlICJT
dHlsZUZvbnRTaXplRnVuY3Rpb25zLmgiCiAKQEAgLTU4LDI2ICs1OSwxOCBAQCBib29sIE1lZGlh
UXVlcnlFdmFsdWF0b3I6OmV2YWx1YXRlKGNvbnN0IE1lZGlhUXVlcnkmIHF1ZXJ5KSBjb25zdAog
ewogICAgIGJvb2wgaXNOZWdhdGVkID0gcXVlcnkucHJlZml4ICYmICpxdWVyeS5wcmVmaXggPT0g
UHJlZml4OjpOb3Q7CiAKLSAgICBhdXRvIG1lZGlhVHlwZU1hdGNoZXMgPSBbJl0gewotICAgICAg
ICBpZiAocXVlcnkubWVkaWFUeXBlLmlzRW1wdHkoKSkKLSAgICAgICAgICAgIHJldHVybiB0cnVl
OwotICAgICAgICBpZiAoZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UocXVlcnkubWVkaWFU
eXBlLCAiYWxsIl9zKSkKLSAgICAgICAgICAgIHJldHVybiB0cnVlOwotICAgICAgICByZXR1cm4g
ZXF1YWxJZ25vcmluZ0FTQ0lJQ2FzZShxdWVyeS5tZWRpYVR5cGUsIG1fbWVkaWFUeXBlKTsKLSAg
ICB9KCk7Ci0KLSAgICBpZiAoIW1lZGlhVHlwZU1hdGNoZXMpCisgICAgaWYgKCFldmFsdWF0ZU1l
ZGlhVHlwZShxdWVyeSkpCiAgICAgICAgIHJldHVybiBpc05lZ2F0ZWQ7CiAKLSAgICBhdXRvIGNv
bmRpdGlvbk1hdGNoZXMgPSBbJl0geworICAgIGF1dG8gcmVzdWx0ID0gWyZdIHsKICAgICAgICAg
aWYgKCFxdWVyeS5jb25kaXRpb24pCi0gICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAg
ICAgIHJldHVybiBFdmFsdWF0aW9uUmVzdWx0OjpUcnVlOwogCiAgICAgICAgIGlmICghbV9kb2N1
bWVudC52aWV3KCkpCi0gICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgICAgICByZXR1
cm4gRXZhbHVhdGlvblJlc3VsdDo6VW5rbm93bjsKIAogICAgICAgICBpZiAoIW1fZG9jdW1lbnQu
ZG9jdW1lbnRFbGVtZW50KCkpCi0gICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgICAg
ICByZXR1cm4gRXZhbHVhdGlvblJlc3VsdDo6VW5rbm93bjsKIAogICAgICAgICBhdXRvIGRlZmF1
bHRTdHlsZSA9IFJlbmRlclN0eWxlOjpjcmVhdGUoKTsKICAgICAgICAgYXV0byBmb250RGVzY3Jp
cHRpb24gPSBkZWZhdWx0U3R5bGUuZm9udERlc2NyaXB0aW9uKCk7CkBAIC04OCwxMCArODEsNTYg
QEAgYm9vbCBNZWRpYVF1ZXJ5RXZhbHVhdG9yOjpldmFsdWF0ZShjb25zdCBNZWRpYVF1ZXJ5JiBx
dWVyeSkgY29uc3QKICAgICAgICAgZGVmYXVsdFN0eWxlLmZvbnRDYXNjYWRlKCkudXBkYXRlKCk7
CiAKICAgICAgICAgRmVhdHVyZUV2YWx1YXRpb25Db250ZXh0IGNvbnRleHQgeyBtX2RvY3VtZW50
LCB7ICptX3Jvb3RFbGVtZW50U3R5bGUsICZkZWZhdWx0U3R5bGUsIG51bGxwdHIsIG1fZG9jdW1l
bnQucmVuZGVyVmlldygpIH0sIG51bGxwdHIgfTsKLSAgICAgICAgcmV0dXJuIGV2YWx1YXRlQ29u
ZGl0aW9uKCpxdWVyeS5jb25kaXRpb24sIGNvbnRleHQpID09IEV2YWx1YXRpb25SZXN1bHQ6OlRy
dWU7CisgICAgICAgIHJldHVybiBldmFsdWF0ZUNvbmRpdGlvbigqcXVlcnkuY29uZGl0aW9uLCBj
b250ZXh0KTsKICAgICB9KCk7CiAKLSAgICByZXR1cm4gY29uZGl0aW9uTWF0Y2hlcyAhPSBpc05l
Z2F0ZWQ7CisgICAgc3dpdGNoIChyZXN1bHQpIHsKKyAgICBjYXNlIEV2YWx1YXRpb25SZXN1bHQ6
OlVua25vd246CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBjYXNlIEV2YWx1YXRpb25SZXN1
bHQ6OlRydWU6CisgICAgICAgIHJldHVybiAhaXNOZWdhdGVkOworICAgIGNhc2UgRXZhbHVhdGlv
blJlc3VsdDo6RmFsc2U6CisgICAgICAgIHJldHVybiBpc05lZ2F0ZWQ7CisgICAgfQorCisgICAg
QVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgcmV0dXJuIGZhbHNlOworfQorCitib29sIE1lZGlh
UXVlcnlFdmFsdWF0b3I6OmV2YWx1YXRlTWVkaWFUeXBlKGNvbnN0IE1lZGlhUXVlcnkmIHF1ZXJ5
KSBjb25zdAoreworICAgIGlmIChxdWVyeS5tZWRpYVR5cGUuaXNFbXB0eSgpKQorICAgICAgICBy
ZXR1cm4gdHJ1ZTsKKyAgICBpZiAoZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UocXVlcnku
bWVkaWFUeXBlLCAiYWxsIl9zKSkKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgcmV0dXJuIGVx
dWFsSWdub3JpbmdBU0NJSUNhc2UocXVlcnkubWVkaWFUeXBlLCBtX21lZGlhVHlwZSk7Cit9Owor
CitPcHRpb25TZXQ8TWVkaWFRdWVyeUR5bmFtaWNEZXBlbmRlbmN5PiBNZWRpYVF1ZXJ5RXZhbHVh
dG9yOjpjb2xsZWN0RHluYW1pY0RlcGVuZGVuY2llcyhjb25zdCBNZWRpYVF1ZXJ5TGlzdCYgcXVl
cmllcykgY29uc3QKK3sKKyAgICBPcHRpb25TZXQ8TWVkaWFRdWVyeUR5bmFtaWNEZXBlbmRlbmN5
PiByZXN1bHQ7CisKKyAgICBmb3IgKGF1dG8mIHF1ZXJ5IDogcXVlcmllcykKKyAgICAgICAgcmVz
dWx0LmFkZChjb2xsZWN0RHluYW1pY0RlcGVuZGVuY2llcyhxdWVyeSkpOworCisgICAgcmV0dXJu
IHJlc3VsdDsKK30KKworT3B0aW9uU2V0PE1lZGlhUXVlcnlEeW5hbWljRGVwZW5kZW5jeT4gTWVk
aWFRdWVyeUV2YWx1YXRvcjo6Y29sbGVjdER5bmFtaWNEZXBlbmRlbmNpZXMoY29uc3QgTWVkaWFR
dWVyeSYgcXVlcnkpIGNvbnN0Cit7CisgICAgaWYgKCFldmFsdWF0ZU1lZGlhVHlwZShxdWVyeSkp
CisgICAgICAgIHJldHVybiB7IH07CisKKyAgICBPcHRpb25TZXQ8TWVkaWFRdWVyeUR5bmFtaWNE
ZXBlbmRlbmN5PiByZXN1bHQ7CisKKyAgICB0cmF2ZXJzZUZlYXR1cmVzKHF1ZXJ5LCBbJl0oY29u
c3QgRmVhdHVyZSYgZmVhdHVyZSkgeworICAgICAgICBpZiAoIWZlYXR1cmUuc2NoZW1hKQorICAg
ICAgICAgICAgcmV0dXJuOworICAgICAgICBpZiAoYXV0byBkZXBlbmRlbmN5ID0gRmVhdHVyZXM6
OmR5bmFtaWNEZXBlbmRlbmN5KCpmZWF0dXJlLnNjaGVtYSkpCisgICAgICAgICAgICByZXN1bHQu
YWRkKCpkZXBlbmRlbmN5KTsKKyAgICB9KTsKKworICAgIHJldHVybiByZXN1bHQ7CiB9CiAKIH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9xdWVyeS9NZWRpYVF1ZXJ5RXZhbHVhdG9y
LmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvcXVlcnkvTWVkaWFRdWVyeUV2YWx1YXRvci5oCmluZGV4
IDBkMWNiMzg4ODNjZS4uOWQwMjk0NGQ0NmJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9j
c3MvcXVlcnkvTWVkaWFRdWVyeUV2YWx1YXRvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9x
dWVyeS9NZWRpYVF1ZXJ5RXZhbHVhdG9yLmgKQEAgLTQwLDYgKzQwLDExIEBAIHB1YmxpYzoKICAg
ICBib29sIGV2YWx1YXRlKGNvbnN0IE1lZGlhUXVlcnlMaXN0JikgY29uc3Q7CiAgICAgYm9vbCBl
dmFsdWF0ZShjb25zdCBNZWRpYVF1ZXJ5JikgY29uc3Q7CiAKKyAgICBib29sIGV2YWx1YXRlTWVk
aWFUeXBlKGNvbnN0IE1lZGlhUXVlcnkmKSBjb25zdDsKKworICAgIE9wdGlvblNldDxNZWRpYVF1
ZXJ5RHluYW1pY0RlcGVuZGVuY3k+IGNvbGxlY3REeW5hbWljRGVwZW5kZW5jaWVzKGNvbnN0IE1l
ZGlhUXVlcnlMaXN0JikgY29uc3Q7CisgICAgT3B0aW9uU2V0PE1lZGlhUXVlcnlEeW5hbWljRGVw
ZW5kZW5jeT4gY29sbGVjdER5bmFtaWNEZXBlbmRlbmNpZXMoY29uc3QgTWVkaWFRdWVyeSYpIGNv
bnN0OworCiBwcml2YXRlOgogICAgIGNvbnN0IEF0b21TdHJpbmcgbV9tZWRpYVR5cGU7CiAgICAg
Y29uc3QgRG9jdW1lbnQmIG1fZG9jdW1lbnQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9j
c3MvcXVlcnkvTWVkaWFRdWVyeUZlYXR1cmVzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9xdWVy
eS9NZWRpYVF1ZXJ5RmVhdHVyZXMuY3BwCmluZGV4IDlmZDMwODIzZDExOS4uOWJkMmQ5M2VhODYy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvcXVlcnkvTWVkaWFRdWVyeUZlYXR1cmVz
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvcXVlcnkvTWVkaWFRdWVyeUZlYXR1cmVzLmNw
cApAQCAtNzM0LDQgKzczNCwyMyBAQCBWZWN0b3I8Y29uc3QgRmVhdHVyZVNjaGVtYSo+IGFsbFNj
aGVtYXMoKQogICAgIH07CiB9CiAKKy8vIEZJWE1FOiBUaGlzIGNvdWxkIGJlIHBhcnQgb2YgdGhl
IHNjaGVtYS4KK3N0ZDo6b3B0aW9uYWw8TWVkaWFRdWVyeUR5bmFtaWNEZXBlbmRlbmN5PiBkeW5h
bWljRGVwZW5kZW5jeShjb25zdCBGZWF0dXJlU2NoZW1hJiBzY2hlbWEpCit7CisgICAgaWYgKCZz
Y2hlbWEgPT0gJndpZHRoKCkgfHwgJnNjaGVtYSA9PSAmaGVpZ2h0KCkgfHwgJnNjaGVtYSA9PSAm
b3JpZW50YXRpb24oKSB8fCAmc2NoZW1hID09ICZhc3BlY3RSYXRpbygpKQorICAgICAgICByZXR1
cm4gTWVkaWFRdWVyeUR5bmFtaWNEZXBlbmRlbmN5OjpWaWV3cG9ydDsKKworICAgIGlmICgmc2No
ZW1hID09ICZwcmVmZXJzRGFya0ludGVyZmFjZSgpKQorICAgICAgICByZXR1cm4gTWVkaWFRdWVy
eUR5bmFtaWNEZXBlbmRlbmN5OjpBcHBlYXJhbmNlOworI2lmIEVOQUJMRShEQVJLX01PREVfQ1NT
KQorICAgIGlmICgmc2NoZW1hID09ICZwcmVmZXJzQ29sb3JTY2hlbWUoKSkKKyAgICAgICAgcmV0
dXJuIE1lZGlhUXVlcnlEeW5hbWljRGVwZW5kZW5jeTo6QXBwZWFyYW5jZTsKKyNlbmRpZgorCisg
ICAgaWYgKCZzY2hlbWEgPT0gJmludmVydGVkQ29sb3JzKCkgfHwgJnNjaGVtYSA9PSAmbW9ub2No
cm9tZSgpIHx8ICZzY2hlbWEgPT0gJnByZWZlcnNSZWR1Y2VkTW90aW9uKCkgfHwgJnNjaGVtYSA9
PSAmcHJlZmVyc0NvbnRyYXN0KCkpCisgICAgICAgIHJldHVybiBNZWRpYVF1ZXJ5RHluYW1pY0Rl
cGVuZGVuY3k6OkFjY2Vzc2liaWxpdHk7CisKKyAgICByZXR1cm4geyB9OworfQorCiB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvcXVlcnkvTWVkaWFRdWVyeUZlYXR1cmVzLmggYi9T
b3VyY2UvV2ViQ29yZS9jc3MvcXVlcnkvTWVkaWFRdWVyeUZlYXR1cmVzLmgKaW5kZXggMDRlY2Rl
ODM0ZTUzLi5mNjQ0OTU3Nzc0NDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9xdWVy
eS9NZWRpYVF1ZXJ5RmVhdHVyZXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvcXVlcnkvTWVk
aWFRdWVyeUZlYXR1cmVzLmgKQEAgLTI0LDcgKzI0LDcgQEAKIAogI3ByYWdtYSBvbmNlCiAKLSNp
bmNsdWRlICJHZW5lcmljTWVkaWFRdWVyeVR5cGVzLmgiCisjaW5jbHVkZSAiTWVkaWFRdWVyeS5o
IgogCiBuYW1lc3BhY2UgV2ViQ29yZTo6TVEgewogCkBAIC02OSw2ICs2OSw4IEBAIGNvbnN0IEZl
YXR1cmVTY2hlbWEmIHByZWZlcnNDb2xvclNjaGVtZSgpOwogCiBWZWN0b3I8Y29uc3QgRmVhdHVy
ZVNjaGVtYSo+IGFsbFNjaGVtYXMoKTsKIAorc3RkOjpvcHRpb25hbDxNZWRpYVF1ZXJ5RHluYW1p
Y0RlcGVuZGVuY3k+IGR5bmFtaWNEZXBlbmRlbmN5KGNvbnN0IEZlYXR1cmVTY2hlbWEmKTsKKwog
fTsKIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL3F1ZXJ5L01lZGlhUXVlcnlQ
YXJzZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL3F1ZXJ5L01lZGlhUXVlcnlQYXJzZXIuY3Bw
CmluZGV4IGI4MjA2MjVkYmFkNC4uMGQwMDQyMzhkYTMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvcXVlcnkvTWVkaWFRdWVyeVBhcnNlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
Y3NzL3F1ZXJ5L01lZGlhUXVlcnlQYXJzZXIuY3BwCkBAIC01Niw2ICs1NiwyMiBAQCBNZWRpYVF1
ZXJ5TGlzdCBNZWRpYVF1ZXJ5UGFyc2VyOjpwYXJzZShjb25zdCBTdHJpbmcmIHN0cmluZywgY29u
c3QgTWVkaWFRdWVyeVBhcgogICAgIHJldHVybiBwYXJzZXIuY29uc3VtZU1lZGlhUXVlcnlMaXN0
KHJhbmdlKTsKIH0KIAorc3RkOjpvcHRpb25hbDxNZWRpYVF1ZXJ5PiBNZWRpYVF1ZXJ5UGFyc2Vy
OjpwYXJzZUNvbmRpdGlvbihDU1NQYXJzZXJUb2tlblJhbmdlIHJhbmdlLCBjb25zdCBNZWRpYVF1
ZXJ5UGFyc2VyQ29udGV4dCYgY29udGV4dCkKK3sKKyAgICByYW5nZS5jb25zdW1lV2hpdGVzcGFj
ZSgpOworCisgICAgaWYgKHJhbmdlLmF0RW5kKCkpCisgICAgICAgIHJldHVybiBNZWRpYVF1ZXJ5
IHsgeyB9LCAiYWxsIl9zIH07CisKKyAgICBNZWRpYVF1ZXJ5UGFyc2VyIHBhcnNlciB7IGNvbnRl
eHQgfTsKKyAgICAKKyAgICBhdXRvIGNvbmRpdGlvbiA9IHBhcnNlci5jb25zdW1lQ29uZGl0aW9u
KHJhbmdlKTsKKyAgICBpZiAoIWNvbmRpdGlvbikKKyAgICAgICAgcmV0dXJuIHsgfTsKKworICAg
IHJldHVybiBNZWRpYVF1ZXJ5IHsgeyB9LCB7IH0sIGNvbmRpdGlvbiB9OworfQorCiBNZWRpYVF1
ZXJ5TGlzdCBNZWRpYVF1ZXJ5UGFyc2VyOjpjb25zdW1lTWVkaWFRdWVyeUxpc3QoQ1NTUGFyc2Vy
VG9rZW5SYW5nZSYgcmFuZ2UpCiB7CiAgICAgTWVkaWFRdWVyeUxpc3QgbGlzdDsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9xdWVyeS9NZWRpYVF1ZXJ5UGFyc2VyLmggYi9Tb3VyY2Uv
V2ViQ29yZS9jc3MvcXVlcnkvTWVkaWFRdWVyeVBhcnNlci5oCmluZGV4IDY4NTFjY2RjYmM1MS4u
NmZiNTQxOGZkOWE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvcXVlcnkvTWVkaWFR
dWVyeVBhcnNlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9xdWVyeS9NZWRpYVF1ZXJ5UGFy
c2VyLmgKQEAgLTM1LDYgKzM1LDcgQEAgcHVibGljOgogICAgIE1lZGlhUXVlcnlQYXJzZXIoY29u
c3QgTWVkaWFRdWVyeVBhcnNlckNvbnRleHQmKTsKIAogICAgIHN0YXRpYyBNZWRpYVF1ZXJ5TGlz
dCBwYXJzZShjb25zdCBTdHJpbmcmLCBjb25zdCBNZWRpYVF1ZXJ5UGFyc2VyQ29udGV4dCYpOwor
ICAgIHN0YXRpYyBzdGQ6Om9wdGlvbmFsPE1lZGlhUXVlcnk+IHBhcnNlQ29uZGl0aW9uKENTU1Bh
cnNlclRva2VuUmFuZ2UsIGNvbnN0IE1lZGlhUXVlcnlQYXJzZXJDb250ZXh0Jik7CiAKICAgICBN
ZWRpYVF1ZXJ5TGlzdCBjb25zdW1lTWVkaWFRdWVyeUxpc3QoQ1NTUGFyc2VyVG9rZW5SYW5nZSYp
OwogICAgIHN0ZDo6b3B0aW9uYWw8TWVkaWFRdWVyeT4gY29uc3VtZU1lZGlhUXVlcnkoQ1NTUGFy
c2VyVG9rZW5SYW5nZSYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW1h
Z2VFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEltYWdlRWxlbWVudC5jcHAK
aW5kZXggNjI2MjQwMjU2OTczLi5jNWJhNzZmNGE2OTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTEltYWdlRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MSW1hZ2VFbGVtZW50LmNwcApAQCAtNDksNyArNDksNyBAQAogI2luY2x1ZGUgIkxlZ2FjeU1l
ZGlhUXVlcnlFdmFsdWF0b3IuaCIKICNpbmNsdWRlICJMb2dnaW5nLmgiCiAjaW5jbHVkZSAiTUlN
RVR5cGVSZWdpc3RyeS5oIgotI2luY2x1ZGUgIk1lZGlhTGlzdC5oIgorI2luY2x1ZGUgIk1lZGlh
UXVlcnlFdmFsdWF0b3IuaCIKICNpbmNsdWRlICJNb3VzZUV2ZW50LmgiCiAjaW5jbHVkZSAiTm9k
ZVRyYXZlcnNhbC5oIgogI2luY2x1ZGUgIlBsYXRmb3JtTW91c2VFdmVudC5oIgpAQCAtMjQzLDIx
ICsyNDMsMjEgQEAgSW1hZ2VDYW5kaWRhdGUgSFRNTEltYWdlRWxlbWVudDo6YmVzdEZpdFNvdXJj
ZUZyb21QaWN0dXJlRWxlbWVudCgpCiAgICAgICAgIH0KIAogICAgICAgICBSZWZQdHIgZG9jdW1l
bnRFbGVtZW50ID0gZG9jdW1lbnQoKS5kb2N1bWVudEVsZW1lbnQoKTsKLSAgICAgICAgTGVnYWN5
TWVkaWFRdWVyeUV2YWx1YXRvciBldmFsdWF0b3IgeyBkb2N1bWVudCgpLnByaW50aW5nKCkgPyAi
cHJpbnQiX3MgOiAic2NyZWVuIl9zLCBkb2N1bWVudCgpLCBkb2N1bWVudEVsZW1lbnQgPyBkb2N1
bWVudEVsZW1lbnQtPmNvbXB1dGVkU3R5bGUoKSA6IG51bGxwdHIgfTsKLSAgICAgICAgYXV0byog
cXVlcmllcyA9IHNvdXJjZS5wYXJzZWRNZWRpYUF0dHJpYnV0ZShkb2N1bWVudCgpKTsKKyAgICAg
ICAgTVE6Ok1lZGlhUXVlcnlFdmFsdWF0b3IgZXZhbHVhdG9yIHsgZG9jdW1lbnQoKS5wcmludGlu
ZygpID8gInByaW50Il9zIDogInNjcmVlbiJfcywgZG9jdW1lbnQoKSwgZG9jdW1lbnRFbGVtZW50
ID8gZG9jdW1lbnRFbGVtZW50LT5jb21wdXRlZFN0eWxlKCkgOiBudWxscHRyIH07CisgICAgICAg
IGF1dG8mIHF1ZXJpZXMgPSBzb3VyY2UucGFyc2VkTWVkaWFBdHRyaWJ1dGUoZG9jdW1lbnQoKSk7
CiAgICAgICAgIExPRyhNZWRpYVF1ZXJpZXMsICJIVE1MSW1hZ2VFbGVtZW50ICVwIGJlc3RGaXRT
b3VyY2VGcm9tUGljdHVyZUVsZW1lbnQgZXZhbHVhdGluZyBtZWRpYSBxdWVyaWVzIiwgdGhpcyk7
CiAKLSAgICAgICAgYXV0byByZXN1bHQgPSAhcXVlcmllcyB8fCBldmFsdWF0b3IuZXZhbHVhdGUo
KnF1ZXJpZXMpOworICAgICAgICBhdXRvIHJlc3VsdCA9IGV2YWx1YXRvci5ldmFsdWF0ZShxdWVy
aWVzKTsKIAotICAgICAgICBpZiAocXVlcmllcyAmJiAhbWVkaWFRdWVyeUR5bmFtaWNEZXBlbmRl
bmNpZXMoKnF1ZXJpZXMsIGV2YWx1YXRvcikuaXNFbXB0eSgpKQotICAgICAgICAgICAgbV9keW5h
bWljTWVkaWFRdWVyeVJlc3VsdHMuYXBwZW5kKHsgKnF1ZXJpZXMsIHJlc3VsdCB9KTsKKyAgICAg
ICAgaWYgKCFldmFsdWF0b3IuY29sbGVjdER5bmFtaWNEZXBlbmRlbmNpZXMocXVlcmllcykuaXNF
bXB0eSgpKQorICAgICAgICAgICAgbV9keW5hbWljTWVkaWFRdWVyeVJlc3VsdHMuYXBwZW5kKHsg
cXVlcmllcywgcmVzdWx0IH0pOwogCiAgICAgICAgIGlmICghcmVzdWx0KQogICAgICAgICAgICAg
Y29udGludWU7CiAKICAgICAgICAgU2l6ZXNBdHRyaWJ1dGVQYXJzZXIgc2l6ZXNQYXJzZXIoc291
cmNlLmF0dHJpYnV0ZVdpdGhvdXRTeW5jaHJvbml6YXRpb24oc2l6ZXNBdHRyKS5zdHJpbmcoKSwg
ZG9jdW1lbnQoKSk7CiAKLSAgICAgICAgbV9keW5hbWljTWVkaWFRdWVyeVJlc3VsdHMuYXBwZW5k
VmVjdG9yKHNpemVzUGFyc2VyLmR5bmFtaWNNZWRpYUNvbmRpdGlvblJlc3VsdHMoKSk7CisgICAg
ICAgIG1fZHluYW1pY01lZGlhUXVlcnlSZXN1bHRzLmFwcGVuZFZlY3RvcihzaXplc1BhcnNlci5k
eW5hbWljTWVkaWFRdWVyeVJlc3VsdHMoKSk7CiAKICAgICAgICAgYXV0byBzb3VyY2VTaXplID0g
c2l6ZXNQYXJzZXIubGVuZ3RoKCk7CiAKQEAgLTI3NCwxMSArMjc0LDExIEBAIEltYWdlQ2FuZGlk
YXRlIEhUTUxJbWFnZUVsZW1lbnQ6OmJlc3RGaXRTb3VyY2VGcm9tUGljdHVyZUVsZW1lbnQoKQog
dm9pZCBIVE1MSW1hZ2VFbGVtZW50OjpldmFsdWF0ZUR5bmFtaWNNZWRpYVF1ZXJ5RGVwZW5kZW5j
aWVzKCkKIHsKICAgICBSZWZQdHIgZG9jdW1lbnRFbGVtZW50ID0gZG9jdW1lbnQoKS5kb2N1bWVu
dEVsZW1lbnQoKTsKLSAgICBMZWdhY3lNZWRpYVF1ZXJ5RXZhbHVhdG9yIGV2YWx1YXRvciB7IGRv
Y3VtZW50KCkucHJpbnRpbmcoKSA/ICJwcmludCJfcyA6ICJzY3JlZW4iX3MsIGRvY3VtZW50KCks
IGRvY3VtZW50RWxlbWVudCA/IGRvY3VtZW50RWxlbWVudC0+Y29tcHV0ZWRTdHlsZSgpIDogbnVs
bHB0ciB9OworICAgIE1ROjpNZWRpYVF1ZXJ5RXZhbHVhdG9yIGV2YWx1YXRvciB7IGRvY3VtZW50
KCkucHJpbnRpbmcoKSA/ICJwcmludCJfcyA6ICJzY3JlZW4iX3MsIGRvY3VtZW50KCksIGRvY3Vt
ZW50RWxlbWVudCA/IGRvY3VtZW50RWxlbWVudC0+Y29tcHV0ZWRTdHlsZSgpIDogbnVsbHB0ciB9
OwogCiAgICAgYXV0byBoYXNDaGFuZ2VzID0gWyZdIHsKLSAgICAgICAgZm9yIChhdXRvJiBjb25k
aXRpb24gOiBtX2R5bmFtaWNNZWRpYVF1ZXJ5UmVzdWx0cykgewotICAgICAgICAgICAgaWYgKGNv
bmRpdGlvbi5yZXN1bHQgIT0gZXZhbHVhdG9yLmV2YWx1YXRlKGNvbmRpdGlvbi5xdWVyeS5nZXQo
KSkpCisgICAgICAgIGZvciAoYXV0byYgcmVzdWx0cyA6IG1fZHluYW1pY01lZGlhUXVlcnlSZXN1
bHRzKSB7CisgICAgICAgICAgICBpZiAocmVzdWx0cy5yZXN1bHQgIT0gZXZhbHVhdG9yLmV2YWx1
YXRlKHJlc3VsdHMubWVkaWFRdWVyeUxpc3QpKQogICAgICAgICAgICAgICAgIHJldHVybiB0cnVl
OwogICAgICAgICB9CiAgICAgICAgIHJldHVybiBmYWxzZTsKQEAgLTMwMSw3ICszMDEsNyBAQCB2
b2lkIEhUTUxJbWFnZUVsZW1lbnQ6OnNlbGVjdEltYWdlU291cmNlKFJlbGV2YW50TXV0YXRpb24g
cmVsZXZhbnRNdXRhdGlvbikKICAgICAgICAgc2V0U291cmNlRWxlbWVudChudWxscHRyKTsKICAg
ICAgICAgLy8gSWYgd2UgZG9uJ3QgaGF2ZSBhIDxwaWN0dXJlPiBvciBkaWRuJ3QgZmluZCBhIHNv
dXJjZSwgdGhlbiB3ZSB1c2Ugb3VyIG93biBhdHRyaWJ1dGVzLgogICAgICAgICBTaXplc0F0dHJp
YnV0ZVBhcnNlciBzaXplc1BhcnNlcihhdHRyaWJ1dGVXaXRob3V0U3luY2hyb25pemF0aW9uKHNp
emVzQXR0cikuc3RyaW5nKCksIGRvY3VtZW50KCkpOwotICAgICAgICBtX2R5bmFtaWNNZWRpYVF1
ZXJ5UmVzdWx0cy5hcHBlbmRWZWN0b3Ioc2l6ZXNQYXJzZXIuZHluYW1pY01lZGlhQ29uZGl0aW9u
UmVzdWx0cygpKTsKKyAgICAgICAgbV9keW5hbWljTWVkaWFRdWVyeVJlc3VsdHMuYXBwZW5kVmVj
dG9yKHNpemVzUGFyc2VyLmR5bmFtaWNNZWRpYVF1ZXJ5UmVzdWx0cygpKTsKICAgICAgICAgYXV0
byBzb3VyY2VTaXplID0gc2l6ZXNQYXJzZXIubGVuZ3RoKCk7CiAgICAgICAgIGNhbmRpZGF0ZSA9
IGJlc3RGaXRTb3VyY2VGb3JJbWFnZUF0dHJpYnV0ZXMoZG9jdW1lbnQoKS5kZXZpY2VTY2FsZUZh
Y3RvcigpLCBhdHRyaWJ1dGVXaXRob3V0U3luY2hyb25pemF0aW9uKHNyY0F0dHIpLCBhdHRyaWJ1
dGVXaXRob3V0U3luY2hyb25pemF0aW9uKHNyY3NldEF0dHIpLCBzb3VyY2VTaXplKTsKICAgICB9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbWFnZUVsZW1lbnQuaCBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTEltYWdlRWxlbWVudC5oCmluZGV4IDM5MGEwZjA5NzFhZi4u
MjU1NGM5ZGY4YmE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbWFnZUVs
ZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbWFnZUVsZW1lbnQuaApAQCAt
MjksNyArMjksNyBAQAogI2luY2x1ZGUgIkdyYXBoaWNzTGF5ZXIuaCIKICNpbmNsdWRlICJHcmFw
aGljc1R5cGVzLmgiCiAjaW5jbHVkZSAiSFRNTEVsZW1lbnQuaCIKLSNpbmNsdWRlICJMZWdhY3lN
ZWRpYVF1ZXJ5RXZhbHVhdG9yLmgiCisjaW5jbHVkZSAiTWVkaWFRdWVyeS5oIgogI2luY2x1ZGUg
PHd0Zi9XZWFrUHRyLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTI0Myw3ICsyNDMsOCBA
QCBwcml2YXRlOgogICAgIFdlYWtQdHI8SFRNTFBpY3R1cmVFbGVtZW50LCBXZWFrUHRySW1wbFdp
dGhFdmVudFRhcmdldERhdGE+IG1fcGljdHVyZUVsZW1lbnQ7CiAgICAgLy8gVGhlIHNvdXJjZSBl
bGVtZW50IHRoYXQgd2FzIHNlbGVjdGVkIHRvIHByb3ZpZGUgdGhlIHNvdXJjZSBVUkwuCiAgICAg
V2Vha1B0cjxIVE1MU291cmNlRWxlbWVudCwgV2Vha1B0ckltcGxXaXRoRXZlbnRUYXJnZXREYXRh
PiBtX3NvdXJjZUVsZW1lbnQ7Ci0gICAgVmVjdG9yPE1lZGlhUXVlcnlSZXN1bHQ+IG1fZHluYW1p
Y01lZGlhUXVlcnlSZXN1bHRzOworCisgICAgVmVjdG9yPE1ROjpNZWRpYVF1ZXJ5UmVzdWx0PiBt
X2R5bmFtaWNNZWRpYVF1ZXJ5UmVzdWx0czsKIAogI2lmIEVOQUJMRShBVFRBQ0hNRU5UX0VMRU1F
TlQpCiAgICAgU3RyaW5nIG1fcGVuZGluZ0Nsb25lZEF0dGFjaG1lbnRJRDsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCmluZGV4IDBmNjI1NGUyZjUwYi4uOTMzZmI1ZGZk
OTlhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKQEAgLTcyLDcg
KzcyLDYgQEAKICNpbmNsdWRlICJKU0RPTVByb21pc2VEZWZlcnJlZC5oIgogI2luY2x1ZGUgIkpT
SFRNTE1lZGlhRWxlbWVudC5oIgogI2luY2x1ZGUgIkpTTWVkaWFDb250cm9sc0hvc3QuaCIKLSNp
bmNsdWRlICJMZWdhY3lNZWRpYVF1ZXJ5RXZhbHVhdG9yLmgiCiAjaW5jbHVkZSAiTG9hZGFibGVU
ZXh0VHJhY2suaCIKICNpbmNsdWRlICJMb2dnaW5nLmgiCiAjaW5jbHVkZSAiTUlNRVR5cGVSZWdp
c3RyeS5oIgpAQCAtODQsNiArODMsNyBAQAogI2luY2x1ZGUgIk1lZGlhRnJhZ21lbnRVUklQYXJz
ZXIuaCIKICNpbmNsdWRlICJNZWRpYUxpc3QuaCIKICNpbmNsdWRlICJNZWRpYVBsYXllci5oIgor
I2luY2x1ZGUgIk1lZGlhUXVlcnlFdmFsdWF0b3IuaCIKICNpbmNsdWRlICJNZWRpYVJlc291cmNl
TG9hZGVyLmgiCiAjaW5jbHVkZSAiTmF2aWdhdG9yTWVkaWFEZXZpY2VzLmgiCiAjaW5jbHVkZSAi
TmV0d29ya2luZ0NvbnRleHQuaCIKQEAgLTUxNjcsMTIgKzUxNjcsMTIgQEAgVVJMIEhUTUxNZWRp
YUVsZW1lbnQ6OnNlbGVjdE5leHRTb3VyY2VDaGlsZChDb250ZW50VHlwZSogY29udGVudFR5cGUs
IFN0cmluZyoga2UKICAgICAgICAgaWYgKG1lZGlhVVJMLmlzRW1wdHkoKSkKICAgICAgICAgICAg
IGdvdG8gQ2hlY2tBZ2FpbjsKIAotICAgICAgICBpZiAoYXV0byogbWVkaWEgPSBzb3VyY2UtPnBh
cnNlZE1lZGlhQXR0cmlidXRlKGRvY3VtZW50KCkpKSB7CisgICAgICAgIGlmIChhdXRvIG1lZGlh
UXVlcnlMaXN0ID0gc291cmNlLT5wYXJzZWRNZWRpYUF0dHJpYnV0ZShkb2N1bWVudCgpKTsgIW1l
ZGlhUXVlcnlMaXN0LmlzRW1wdHkoKSkgewogICAgICAgICAgICAgaWYgKHNob3VsZExvZykKICAg
ICAgICAgICAgICAgICBJTkZPX0xPRyhMT0dJREVOVElGSUVSLCAiJ21lZGlhJyBpcyAiLCBzb3Vy
Y2UtPmF0dHJpYnV0ZVdpdGhvdXRTeW5jaHJvbml6YXRpb24obWVkaWFBdHRyKSk7CiAgICAgICAg
ICAgICBhdXRvKiByZW5kZXJlciA9IHRoaXMtPnJlbmRlcmVyKCk7CiAgICAgICAgICAgICBMT0co
TWVkaWFRdWVyaWVzLCAiSFRNTE1lZGlhRWxlbWVudCAlcCBzZWxlY3ROZXh0U291cmNlQ2hpbGQg
ZXZhbHVhdGluZyBtZWRpYSBxdWVyaWVzIiwgdGhpcyk7Ci0gICAgICAgICAgICBpZiAoIUxlZ2Fj
eU1lZGlhUXVlcnlFdmFsdWF0b3IgeyAic2NyZWVuIl9zLCBkb2N1bWVudCgpLCByZW5kZXJlciA/
ICZyZW5kZXJlci0+c3R5bGUoKSA6IG51bGxwdHIgfS5ldmFsdWF0ZSgqbWVkaWEpKQorICAgICAg
ICAgICAgaWYgKCFNUTo6TWVkaWFRdWVyeUV2YWx1YXRvciB7ICJzY3JlZW4iX3MsIGRvY3VtZW50
KCksIHJlbmRlcmVyID8gJnJlbmRlcmVyLT5zdHlsZSgpIDogbnVsbHB0ciB9LmV2YWx1YXRlKG1l
ZGlhUXVlcnlMaXN0KSkKICAgICAgICAgICAgICAgICBnb3RvIENoZWNrQWdhaW47CiAgICAgICAg
IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU291cmNlRWxlbWVudC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxTb3VyY2VFbGVtZW50LmNwcAppbmRleCBlOWY5
NmE4MmM3YzAuLjE5ODVlOTNkYTRkNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MU291cmNlRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU291cmNl
RWxlbWVudC5jcHAKQEAgLTMzLDcgKzMzLDcgQEAKICNpbmNsdWRlICJIVE1MTmFtZXMuaCIKICNp
bmNsdWRlICJIVE1MUGljdHVyZUVsZW1lbnQuaCIKICNpbmNsdWRlICJMb2dnaW5nLmgiCi0jaW5j
bHVkZSAiTWVkaWFMaXN0LmgiCisjaW5jbHVkZSAiTWVkaWFRdWVyeVBhcnNlci5oIgogI2luY2x1
ZGUgIk1lZGlhUXVlcnlQYXJzZXJDb250ZXh0LmgiCiAjaW5jbHVkZSA8d3RmL0lzb01hbGxvY0lu
bGluZXMuaD4KIApAQCAtMTcwLDE2ICsxNzAsMTMgQEAgdm9pZCBIVE1MU291cmNlRWxlbWVudDo6
cGFyc2VBdHRyaWJ1dGUoY29uc3QgUXVhbGlmaWVkTmFtZSYgbmFtZSwgY29uc3QgQXRvbVN0cmkK
ICNlbmRpZgogfQogCi1jb25zdCBNZWRpYVF1ZXJ5U2V0KiBIVE1MU291cmNlRWxlbWVudDo6cGFy
c2VkTWVkaWFBdHRyaWJ1dGUoRG9jdW1lbnQmIGRvY3VtZW50KSBjb25zdAorY29uc3QgTVE6Ok1l
ZGlhUXVlcnlMaXN0JiBIVE1MU291cmNlRWxlbWVudDo6cGFyc2VkTWVkaWFBdHRyaWJ1dGUoRG9j
dW1lbnQmIGRvY3VtZW50KSBjb25zdAogewogICAgIGlmICghbV9jYWNoZWRQYXJzZWRNZWRpYUF0
dHJpYnV0ZSkgewotICAgICAgICBSZWZQdHI8Y29uc3QgTWVkaWFRdWVyeVNldD4gcGFyc2VkQXR0
cmlidXRlOwogICAgICAgICBhdXRvJiB2YWx1ZSA9IGF0dHJpYnV0ZVdpdGhvdXRTeW5jaHJvbml6
YXRpb24obWVkaWFBdHRyKTsKLSAgICAgICAgaWYgKCF2YWx1ZS5pc051bGwoKSkKLSAgICAgICAg
ICAgIHBhcnNlZEF0dHJpYnV0ZSA9IE1lZGlhUXVlcnlTZXQ6OmNyZWF0ZSh2YWx1ZSwgTWVkaWFR
dWVyeVBhcnNlckNvbnRleHQoZG9jdW1lbnQpKTsKLSAgICAgICAgbV9jYWNoZWRQYXJzZWRNZWRp
YUF0dHJpYnV0ZSA9IFdURk1vdmUocGFyc2VkQXR0cmlidXRlKTsKKyAgICAgICAgbV9jYWNoZWRQ
YXJzZWRNZWRpYUF0dHJpYnV0ZSA9IE1ROjpNZWRpYVF1ZXJ5UGFyc2VyOjpwYXJzZSh2YWx1ZSwg
TWVkaWFRdWVyeVBhcnNlckNvbnRleHQgeyBkb2N1bWVudCB9KTsKICAgICB9Ci0gICAgcmV0dXJu
IG1fY2FjaGVkUGFyc2VkTWVkaWFBdHRyaWJ1dGUudmFsdWUoKS5nZXQoKTsKKyAgICByZXR1cm4g
bV9jYWNoZWRQYXJzZWRNZWRpYUF0dHJpYnV0ZS52YWx1ZSgpOwogfQogCiB2b2lkIEhUTUxTb3Vy
Y2VFbGVtZW50OjphdHRyaWJ1dGVDaGFuZ2VkKGNvbnN0IFF1YWxpZmllZE5hbWUmIG5hbWUsIGNv
bnN0IEF0b21TdHJpbmcmIG9sZFZhbHVlLCBjb25zdCBBdG9tU3RyaW5nJiBuZXdWYWx1ZSwgQXR0
cmlidXRlTW9kaWZpY2F0aW9uUmVhc29uIHJlYXNvbikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTFNvdXJjZUVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNv
dXJjZUVsZW1lbnQuaAppbmRleCAzOTZhZDI0NDZiYjQuLmZlNmY0MGQxMjIzZCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU291cmNlRWxlbWVudC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTFNvdXJjZUVsZW1lbnQuaApAQCAtMjcsMTIgKzI3LDExIEBACiAKICNp
bmNsdWRlICJBY3RpdmVET01PYmplY3QuaCIKICNpbmNsdWRlICJIVE1MRWxlbWVudC5oIgorI2lu
Y2x1ZGUgIk1lZGlhUXVlcnkuaCIKICNpbmNsdWRlICJUaW1lci5oIgogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKLWNsYXNzIE1lZGlhUXVlcnlTZXQ7Ci0KIGNsYXNzIEhUTUxTb3VyY2VFbGVtZW50
IGZpbmFsIDogcHVibGljIEhUTUxFbGVtZW50LCBwdWJsaWMgQWN0aXZlRE9NT2JqZWN0IHsKICAg
ICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKEhUTUxTb3VyY2VFbGVtZW50KTsKIHB1YmxpYzoKQEAg
LTQyLDcgKzQxLDcgQEAgcHVibGljOgogICAgIHZvaWQgc2NoZWR1bGVFcnJvckV2ZW50KCk7CiAg
ICAgdm9pZCBjYW5jZWxQZW5kaW5nRXJyb3JFdmVudCgpOwogCi0gICAgY29uc3QgTWVkaWFRdWVy
eVNldCogcGFyc2VkTWVkaWFBdHRyaWJ1dGUoRG9jdW1lbnQmKSBjb25zdDsKKyAgICBjb25zdCBN
UTo6TWVkaWFRdWVyeUxpc3QmIHBhcnNlZE1lZGlhQXR0cmlidXRlKERvY3VtZW50JikgY29uc3Q7
CiAKIHByaXZhdGU6CiAgICAgSFRNTFNvdXJjZUVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYs
IERvY3VtZW50Jik7CkBAIC02MSw3ICs2MCw3IEBAIHByaXZhdGU6CiAKICAgICBUYXNrQ2FuY2Vs
bGF0aW9uR3JvdXAgbV9lcnJvckV2ZW50Q2FuY2VsbGF0aW9uR3JvdXA7CiAgICAgYm9vbCBtX3No
b3VsZENhbGxTb3VyY2VzQ2hhbmdlZCB7IGZhbHNlIH07Ci0gICAgbXV0YWJsZSBzdGQ6Om9wdGlv
bmFsPFJlZlB0cjxjb25zdCBNZWRpYVF1ZXJ5U2V0Pj4gbV9jYWNoZWRQYXJzZWRNZWRpYUF0dHJp
YnV0ZTsKKyAgICBtdXRhYmxlIHN0ZDo6b3B0aW9uYWw8TVE6Ok1lZGlhUXVlcnlMaXN0PiBtX2Nh
Y2hlZFBhcnNlZE1lZGlhQXR0cmlidXRlOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>463690</attachid>
            <date>2022-11-23 03:16:09 -0800</date>
            <delta_ts>2022-11-24 06:55:01 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-248236-20221123131608.patch</filename>
            <type>text/plain</type>
            <size>37792</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">RnJvbSAzZmJhNzFjOWZlNjM4MmRlY2JlYjBjYTBmOWE4NjdjMTY1MjZkYTNlIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbnR0aSBLb2l2aXN0byA8YW50dGlAYXBwbGUuY29tPgpEYXRl
OiBXZWQsIDIzIE5vdiAyMDIyIDEyOjU4OjM0ICswMjAwClN1YmplY3Q6IFtQQVRDSF0gW01RNF0g
VXNlIG5ldyBwYXJzZXIgYW5kIGV2YWx1YXRvciBmb3IgcmVzcG9uc2l2ZSBpbWFnZXMKIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yNDgyMzYgSW5jbHVkZSBhIFJhZGFy
IGxpbmsgKE9PUFMhKS4KClJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgoKSGFuZGxlIDxzb3Vy
Y2UgbWVkaWE+IGFuZCA8aW1nIHNpemVzPiB3aXRoIHRoZSBuZXcgY29kZS4KCiogTGF5b3V0VGVz
dHMvZmFzdC9kb20vSFRNTEltYWdlRWxlbWVudC9zaXplcy9pbWFnZS1zaXplcy13M2MtMS1leHBl
Y3RlZC50eHQ6CiogTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEltYWdlRWxlbWVudC9zaXplcy9p
bWFnZS1zaXplcy13M2MtMi1leHBlY3RlZC50eHQ6CiogTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRN
TEltYWdlRWxlbWVudC9zaXplcy9pbWFnZS1zaXplcy13M2MtMy1leHBlY3RlZC50eHQ6CiogTGF5
b3V0VGVzdHMvZmFzdC9kb20vSFRNTEltYWdlRWxlbWVudC9zaXplcy9pbWFnZS1zaXplcy13M2Mt
NC1leHBlY3RlZC50eHQ6CgpTb21lIHByb2dyZXNzaW9ucyBpbiB0aGVzZSB0ZXN0cy4KVGhlIG5l
dyBGQUlMcyBtYXRjaCB0aGUgY3VycmVudCBzcGVjIHRleHQgYW5kIHRoZSBiZWhhdmlvciBvZiBl
aXRoZXIgQ2hyb21lIG9yIEZpcmVmb3ggKGdlbmVyYWwgZW5jbG9zZWQgaGFuZGxpbmcpLgoKKiBT
b3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL1NpemVzQXR0cmlidXRlUGFyc2VyLmNwcDoKKFdlYkNv
cmU6OlNpemVzQXR0cmlidXRlUGFyc2VyOjptZWRpYUNvbmRpdGlvbk1hdGNoZXMpOgooV2ViQ29y
ZTo6U2l6ZXNBdHRyaWJ1dGVQYXJzZXI6OnBhcnNlKToKKiBTb3VyY2UvV2ViQ29yZS9jc3MvcGFy
c2VyL1NpemVzQXR0cmlidXRlUGFyc2VyLmg6CihXZWJDb3JlOjpTaXplc0F0dHJpYnV0ZVBhcnNl
cjo6ZHluYW1pY01lZGlhUXVlcnlSZXN1bHRzIGNvbnN0KToKKFdlYkNvcmU6OlNpemVzQXR0cmli
dXRlUGFyc2VyOjpkeW5hbWljTWVkaWFDb25kaXRpb25SZXN1bHRzIGNvbnN0KTogRGVsZXRlZC4K
KiBTb3VyY2UvV2ViQ29yZS9jc3MvcXVlcnkvR2VuZXJpY01lZGlhUXVlcnlFdmFsdWF0b3IuaDoK
KFdlYkNvcmU6Ok1ROjpHZW5lcmljTWVkaWFRdWVyeUV2YWx1YXRvcjxDb25jcmV0ZUV2YWx1YXRv
cj46OmV2YWx1YXRlQ29uZGl0aW9uIGNvbnN0KToKKiBTb3VyY2UvV2ViQ29yZS9jc3MvcXVlcnkv
R2VuZXJpY01lZGlhUXVlcnlUeXBlcy5oOgooV2ViQ29yZTo6TVE6OnRyYXZlcnNlRmVhdHVyZXMp
OgoqIFNvdXJjZS9XZWJDb3JlL2Nzcy9xdWVyeS9NZWRpYVF1ZXJ5Lmg6CihXZWJDb3JlOjpNUTo6
dHJhdmVyc2VGZWF0dXJlcyk6CgpBZGQgaGVscGVyIGZvciB0cmF2ZXJzaW5nIGZlYXR1cmVzLgoK
KiBTb3VyY2UvV2ViQ29yZS9jc3MvcXVlcnkvTWVkaWFRdWVyeUV2YWx1YXRvci5jcHA6CihXZWJD
b3JlOjpNUTo6TWVkaWFRdWVyeUV2YWx1YXRvcjo6ZXZhbHVhdGUgY29uc3QpOgoKRml4IFVua25v
d24gbG9naWMuCgooV2ViQ29yZTo6TVE6Ok1lZGlhUXVlcnlFdmFsdWF0b3I6OmV2YWx1YXRlTWVk
aWFUeXBlIGNvbnN0KToKCkZhY3RvciBpbnRvIGEgZnVuY3Rpb24uCgooV2ViQ29yZTo6TVE6Ok1l
ZGlhUXVlcnlFdmFsdWF0b3I6OmNvbGxlY3REeW5hbWljRGVwZW5kZW5jaWVzIGNvbnN0KToKCkZp
bmQgb3V0IHRoZSBkeW5hbWljIGRlcGVuZGVuY2llcy4KCiogU291cmNlL1dlYkNvcmUvY3NzL3F1
ZXJ5L01lZGlhUXVlcnlFdmFsdWF0b3IuaDoKKiBTb3VyY2UvV2ViQ29yZS9jc3MvcXVlcnkvTWVk
aWFRdWVyeUZlYXR1cmVzLmNwcDoKKFdlYkNvcmU6Ok1ROjpGZWF0dXJlczo6cHJlZmVyc1JlZHVj
ZWRNb3Rpb24pOgoKRml4IGEgY29weS1wYXN0YSBlcnJvci4KCihXZWJDb3JlOjpNUTo6RmVhdHVy
ZXM6OmR5bmFtaWNEZXBlbmRlbmN5KToKCkdldCBkeW5hbWljIGRlcGVuZGVuY2llcyBvZiBhIGZl
YXR1cmUgc2NoZW1hLgoKKiBTb3VyY2UvV2ViQ29yZS9jc3MvcXVlcnkvTWVkaWFRdWVyeUZlYXR1
cmVzLmg6CiogU291cmNlL1dlYkNvcmUvY3NzL3F1ZXJ5L01lZGlhUXVlcnlQYXJzZXIuY3BwOgoo
V2ViQ29yZTo6TVE6Ok1lZGlhUXVlcnlQYXJzZXI6OnBhcnNlQ29uZGl0aW9uKToKCkFkZCBhIGhl
bHBlciBmb3IgcGFyc2luZyBhIHNpbmdsZSBjb25kaXRpb24gKGFzIHVzZWQgaW4gdGhlICdzaXpl
cycgYXR0cmlidXRlKS4KCiogU291cmNlL1dlYkNvcmUvY3NzL3F1ZXJ5L01lZGlhUXVlcnlQYXJz
ZXIuaDoKKiBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbWFnZUVsZW1lbnQuY3BwOgooV2ViQ29y
ZTo6SFRNTEltYWdlRWxlbWVudDo6YmVzdEZpdFNvdXJjZUZyb21QaWN0dXJlRWxlbWVudCk6CihX
ZWJDb3JlOjpIVE1MSW1hZ2VFbGVtZW50OjpldmFsdWF0ZUR5bmFtaWNNZWRpYVF1ZXJ5RGVwZW5k
ZW5jaWVzKToKKFdlYkNvcmU6OkhUTUxJbWFnZUVsZW1lbnQ6OnNlbGVjdEltYWdlU291cmNlKToK
KiBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbWFnZUVsZW1lbnQuaDoKKiBTb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwOgooV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6
c2VsZWN0TmV4dFNvdXJjZUNoaWxkKToKKiBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxTb3VyY2VF
bGVtZW50LmNwcDoKKFdlYkNvcmU6OkhUTUxTb3VyY2VFbGVtZW50OjpwYXJzZWRNZWRpYUF0dHJp
YnV0ZSBjb25zdCk6CiogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU291cmNlRWxlbWVudC5oOgot
LS0KIC4uLi9jc3MvcGFyc2VyL1NpemVzQXR0cmlidXRlUGFyc2VyLmNwcCAgICAgICB8IDE2ICsr
LS0tCiAuLi4vV2ViQ29yZS9jc3MvcGFyc2VyL1NpemVzQXR0cmlidXRlUGFyc2VyLmggfCAgOCAr
LS0KIC4uLi9jc3MvcXVlcnkvR2VuZXJpY01lZGlhUXVlcnlFdmFsdWF0b3IuaCAgICB8ICA2ICst
CiAuLi4vY3NzL3F1ZXJ5L0dlbmVyaWNNZWRpYVF1ZXJ5VHlwZXMuaCAgICAgICAgfCAyMiArKysr
KysKIFNvdXJjZS9XZWJDb3JlL2Nzcy9xdWVyeS9NZWRpYVF1ZXJ5LmggICAgICAgICB8IDE5ICsr
KysrCiAuLi4vV2ViQ29yZS9jc3MvcXVlcnkvTWVkaWFRdWVyeUV2YWx1YXRvci5jcHAgfCA2OSAr
KysrKysrKysrKysrKystLS0tCiAuLi4vV2ViQ29yZS9jc3MvcXVlcnkvTWVkaWFRdWVyeUV2YWx1
YXRvci5oICAgfCAgNSArKwogLi4uL1dlYkNvcmUvY3NzL3F1ZXJ5L01lZGlhUXVlcnlGZWF0dXJl
cy5jcHAgIHwgMjEgKysrKystCiBTb3VyY2UvV2ViQ29yZS9jc3MvcXVlcnkvTWVkaWFRdWVyeUZl
YXR1cmVzLmggfCAgNCArLQogU291cmNlL1dlYkNvcmUvY3NzL3F1ZXJ5L01lZGlhUXVlcnlQYXJz
ZXIuY3BwIHwgMTYgKysrKysKIFNvdXJjZS9XZWJDb3JlL2Nzcy9xdWVyeS9NZWRpYVF1ZXJ5UGFy
c2VyLmggICB8ICAxICsKIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEltYWdlRWxlbWVudC5jcHAg
ICAgICB8IDIzICsrKy0tLS0KIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEltYWdlRWxlbWVudC5o
ICAgICAgICB8ICA1ICstCiBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3Bw
ICAgICAgfCAgNiArLQogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU291cmNlRWxlbWVudC5jcHAg
ICAgIHwgMTEgKystCiBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxTb3VyY2VFbGVtZW50LmggICAg
ICAgfCAgNyArLQogLi4uL3NpemVzL2ltYWdlLXNpemVzLXczYy0xLWV4cGVjdGVkLnR4dCAgICAg
IHwgMTIgKystLQogLi4uL3NpemVzL2ltYWdlLXNpemVzLXczYy0yLWV4cGVjdGVkLnR4dCAgICAg
IHwgMTIgKystLQogLi4uL3NpemVzL2ltYWdlLXNpemVzLXczYy0zLWV4cGVjdGVkLnR4dCAgICAg
IHwgMTIgKystLQogLi4uL3NpemVzL2ltYWdlLXNpemVzLXczYy00LWV4cGVjdGVkLnR4dCAgICAg
IHwgMTIgKystLQogMjAgZmlsZXMgY2hhbmdlZCwgMjAzIGluc2VydGlvbnMoKyksIDg0IGRlbGV0
aW9ucygtKQoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvU2l6ZXNBdHRy
aWJ1dGVQYXJzZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9TaXplc0F0dHJpYnV0
ZVBhcnNlci5jcHAKaW5kZXggZGJkMjBiNWYyZmEzLi5iYWNkZDZkNGE0NGMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvU2l6ZXNBdHRyaWJ1dGVQYXJzZXIuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvU2l6ZXNBdHRyaWJ1dGVQYXJzZXIuY3BwCkBAIC0z
NCw5ICszNCw4IEBACiAjaW5jbHVkZSAiQ1NTVG9MZW5ndGhDb252ZXJzaW9uRGF0YS5oIgogI2lu
Y2x1ZGUgIkNTU1Rva2VuaXplci5oIgogI2luY2x1ZGUgIkZvbnRDYXNjYWRlLmgiCi0jaW5jbHVk
ZSAiTGVnYWN5TWVkaWFRdWVyeUV2YWx1YXRvci5oIgotI2luY2x1ZGUgIkxlZ2FjeU1lZGlhUXVl
cnlQYXJzZXIuaCIKLSNpbmNsdWRlICJNZWRpYUxpc3QuaCIKKyNpbmNsdWRlICJNZWRpYVF1ZXJ5
RXZhbHVhdG9yLmgiCisjaW5jbHVkZSAiTWVkaWFRdWVyeVBhcnNlci5oIgogI2luY2x1ZGUgIk1l
ZGlhUXVlcnlQYXJzZXJDb250ZXh0LmgiCiAjaW5jbHVkZSAiUmVuZGVyVmlldy5oIgogI2luY2x1
ZGUgIlNpemVzQ2FsY1BhcnNlci5oIgpAQCAtMTA0LDE0ICsxMDMsMTQgQEAgYm9vbCBTaXplc0F0
dHJpYnV0ZVBhcnNlcjo6Y2FsY3VsYXRlTGVuZ3RoSW5QaXhlbHMoQ1NTUGFyc2VyVG9rZW5SYW5n
ZSByYW5nZSwgZmwKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKLWJvb2wgU2l6ZXNBdHRyaWJ1dGVQ
YXJzZXI6Om1lZGlhQ29uZGl0aW9uTWF0Y2hlcyhjb25zdCBNZWRpYVF1ZXJ5U2V0JiBtZWRpYUNv
bmRpdGlvbikKK2Jvb2wgU2l6ZXNBdHRyaWJ1dGVQYXJzZXI6Om1lZGlhQ29uZGl0aW9uTWF0Y2hl
cyhjb25zdCBNUTo6TWVkaWFRdWVyeSYgbWVkaWFDb25kaXRpb24pCiB7CiAgICAgLy8gQSBNZWRp
YSBDb25kaXRpb24gY2Fubm90IGhhdmUgYSBtZWRpYSB0eXBlIG90aGVyIHRoYW4gc2NyZWVuLgog
ICAgIGF1dG8qIHJlbmRlcmVyID0gbV9kb2N1bWVudC5yZW5kZXJWaWV3KCk7CiAgICAgaWYgKCFy
ZW5kZXJlcikKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIGF1dG8mIHN0eWxlID0gcmVuZGVy
ZXItPnN0eWxlKCk7Ci0gICAgcmV0dXJuIExlZ2FjeU1lZGlhUXVlcnlFdmFsdWF0b3IgeyAic2Ny
ZWVuIl9zLCBtX2RvY3VtZW50LCAmc3R5bGUgfS5ldmFsdWF0ZShtZWRpYUNvbmRpdGlvbik7Cisg
ICAgcmV0dXJuIE1ROjpNZWRpYVF1ZXJ5RXZhbHVhdG9yIHsgInNjcmVlbiJfcywgbV9kb2N1bWVu
dCwgJnN0eWxlIH0uZXZhbHVhdGUobWVkaWFDb25kaXRpb24pOwogfQogCiBib29sIFNpemVzQXR0
cmlidXRlUGFyc2VyOjpwYXJzZShDU1NQYXJzZXJUb2tlblJhbmdlIHJhbmdlKQpAQCAtMTMzLDEy
ICsxMzIsMTMgQEAgYm9vbCBTaXplc0F0dHJpYnV0ZVBhcnNlcjo6cGFyc2UoQ1NTUGFyc2VyVG9r
ZW5SYW5nZSByYW5nZSkKICAgICAgICAgZmxvYXQgbGVuZ3RoOwogICAgICAgICBpZiAoIWNhbGN1
bGF0ZUxlbmd0aEluUGl4ZWxzKHJhbmdlLm1ha2VTdWJSYW5nZShsZW5ndGhUb2tlblN0YXJ0LCBs
ZW5ndGhUb2tlbkVuZCksIGxlbmd0aCkpCiAgICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAg
YXV0byBtZWRpYUNvbmRpdGlvbiA9IExlZ2FjeU1lZGlhUXVlcnlQYXJzZXI6OnBhcnNlTWVkaWFD
b25kaXRpb24ocmFuZ2UubWFrZVN1YlJhbmdlKG1lZGlhQ29uZGl0aW9uU3RhcnQsIGxlbmd0aFRv
a2VuU3RhcnQpLCBNZWRpYVF1ZXJ5UGFyc2VyQ29udGV4dChtX2RvY3VtZW50KSk7CisgICAgICAg
IGF1dG8gbWVkaWFDb25kaXRpb24gPSBNUTo6TWVkaWFRdWVyeVBhcnNlcjo6cGFyc2VDb25kaXRp
b24ocmFuZ2UubWFrZVN1YlJhbmdlKG1lZGlhQ29uZGl0aW9uU3RhcnQsIGxlbmd0aFRva2VuU3Rh
cnQpLCBNZWRpYVF1ZXJ5UGFyc2VyQ29udGV4dChtX2RvY3VtZW50KSk7CiAgICAgICAgIGlmICgh
bWVkaWFDb25kaXRpb24pCiAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgYm9vbCBtYXRj
aGVzID0gbWVkaWFDb25kaXRpb25NYXRjaGVzKCptZWRpYUNvbmRpdGlvbik7Ci0gICAgICAgIGlm
ICghbWVkaWFRdWVyeUR5bmFtaWNEZXBlbmRlbmNpZXMoKm1lZGlhQ29uZGl0aW9uLCB7ICJzY3Jl
ZW4iX3MsIGZhbHNlIH0pLmlzRW1wdHkoKSkKLSAgICAgICAgICAgIG1fZHluYW1pY01lZGlhQ29u
ZGl0aW9uUmVzdWx0cy5hcHBlbmQoeyAqbWVkaWFDb25kaXRpb24sIG1hdGNoZXMgfSk7CisgICAg
ICAgIE1ROjpNZWRpYVF1ZXJ5RXZhbHVhdG9yIGV2YWx1YXRvciB7ICJzY3JlZW4iX3MsIG1fZG9j
dW1lbnQsIG51bGxwdHIgfTsKKyAgICAgICAgaWYgKCFldmFsdWF0b3IuY29sbGVjdER5bmFtaWNE
ZXBlbmRlbmNpZXMoKm1lZGlhQ29uZGl0aW9uKS5pc0VtcHR5KCkpCisgICAgICAgICAgICBtX2R5
bmFtaWNNZWRpYVF1ZXJ5UmVzdWx0cy5hcHBlbmQoeyBNUTo6TWVkaWFRdWVyeUxpc3QgeyAqbWVk
aWFDb25kaXRpb24gfSwgbWF0Y2hlcyB9KTsKICAgICAgICAgaWYgKCFtYXRjaGVzKQogICAgICAg
ICAgICAgY29udGludWU7CiAgICAgICAgIG1fbGVuZ3RoID0gbGVuZ3RoOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9TaXplc0F0dHJpYnV0ZVBhcnNlci5oIGIvU291cmNl
L1dlYkNvcmUvY3NzL3BhcnNlci9TaXplc0F0dHJpYnV0ZVBhcnNlci5oCmluZGV4IDY4OTNkMjY1
YWNmYy4uNzJmZGUwYjc4OGU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2Vy
L1NpemVzQXR0cmlidXRlUGFyc2VyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9T
aXplc0F0dHJpYnV0ZVBhcnNlci5oCkBAIC0zMSw3ICszMSw3IEBACiAKICNpbmNsdWRlICJDU1NQ
YXJzZXJUb2tlblJhbmdlLmgiCiAjaW5jbHVkZSAiQ1NTUHJpbWl0aXZlVmFsdWUuaCIKLSNpbmNs
dWRlICJMZWdhY3lNZWRpYVF1ZXJ5RXZhbHVhdG9yLmgiCisjaW5jbHVkZSAiTWVkaWFRdWVyeS5o
IgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7
CkBAIC00OCwxNyArNDgsMTcgQEAgcHVibGljOgogICAgIHN0YXRpYyBmbG9hdCBkZWZhdWx0TGVu
Z3RoKGNvbnN0IERvY3VtZW50Jik7CiAgICAgc3RhdGljIGZsb2F0IGNvbXB1dGVMZW5ndGgoZG91
YmxlIHZhbHVlLCBDU1NVbml0VHlwZSwgY29uc3QgRG9jdW1lbnQmKTsKIAotICAgIGF1dG8mIGR5
bmFtaWNNZWRpYUNvbmRpdGlvblJlc3VsdHMoKSBjb25zdCB7IHJldHVybiBtX2R5bmFtaWNNZWRp
YUNvbmRpdGlvblJlc3VsdHM7IH0KKyAgICBhdXRvJiBkeW5hbWljTWVkaWFRdWVyeVJlc3VsdHMo
KSBjb25zdCB7IHJldHVybiBtX2R5bmFtaWNNZWRpYVF1ZXJ5UmVzdWx0czsgfQogCiBwcml2YXRl
OgogICAgIGJvb2wgcGFyc2UoQ1NTUGFyc2VyVG9rZW5SYW5nZSk7CiAgICAgZmxvYXQgZWZmZWN0
aXZlU2l6ZSgpOwogICAgIGJvb2wgY2FsY3VsYXRlTGVuZ3RoSW5QaXhlbHMoQ1NTUGFyc2VyVG9r
ZW5SYW5nZSwgZmxvYXQmIHJlc3VsdCk7Ci0gICAgYm9vbCBtZWRpYUNvbmRpdGlvbk1hdGNoZXMo
Y29uc3QgTWVkaWFRdWVyeVNldCYgbWVkaWFDb25kaXRpb24pOworICAgIGJvb2wgbWVkaWFDb25k
aXRpb25NYXRjaGVzKGNvbnN0IE1ROjpNZWRpYVF1ZXJ5Jik7CiAgICAgdW5zaWduZWQgZWZmZWN0
aXZlU2l6ZURlZmF1bHRWYWx1ZSgpOwogCiAgICAgY29uc3QgRG9jdW1lbnQmIG1fZG9jdW1lbnQ7
Ci0gICAgVmVjdG9yPE1lZGlhUXVlcnlSZXN1bHQ+IG1fZHluYW1pY01lZGlhQ29uZGl0aW9uUmVz
dWx0czsKKyAgICBWZWN0b3I8TVE6Ok1lZGlhUXVlcnlSZXN1bHQ+IG1fZHluYW1pY01lZGlhUXVl
cnlSZXN1bHRzOwogICAgIGZsb2F0IG1fbGVuZ3RoIHsgMCB9OwogICAgIGJvb2wgbV9sZW5ndGhX
YXNTZXQgeyBmYWxzZSB9OwogICAgIGJvb2wgbV9pc1ZhbGlkIHsgZmFsc2UgfTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9xdWVyeS9HZW5lcmljTWVkaWFRdWVyeUV2YWx1YXRvci5o
IGIvU291cmNlL1dlYkNvcmUvY3NzL3F1ZXJ5L0dlbmVyaWNNZWRpYVF1ZXJ5RXZhbHVhdG9yLmgK
aW5kZXggODA3NWJhYTA5ZDgwLi5lYjM3YjdmMWUwNzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9xdWVyeS9HZW5lcmljTWVkaWFRdWVyeUV2YWx1YXRvci5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9xdWVyeS9HZW5lcmljTWVkaWFRdWVyeUV2YWx1YXRvci5oCkBAIC03Niw5ICs3
NiwxMCBAQCBFdmFsdWF0aW9uUmVzdWx0IEdlbmVyaWNNZWRpYVF1ZXJ5RXZhbHVhdG9yPENvbmNy
ZXRlRXZhbHVhdG9yPjo6ZXZhbHVhdGVDb25kaXRpbwogICAgIGNhc2UgTG9naWNhbE9wZXJhdG9y
OjpOb3Q6CiAgICAgICAgIHJldHVybiAhY29uY3JldGVFdmFsdWF0b3IoKS5ldmFsdWF0ZVF1ZXJ5
SW5QYXJlbnMoY29uZGl0aW9uLnF1ZXJpZXMuZmlyc3QoKSwgY29udGV4dCk7CiAKKyAgICAvLyBL
bGVlbmUgMy12YWx1ZWQgbG9naWMuCiAgICAgY2FzZSBMb2dpY2FsT3BlcmF0b3I6OkFuZDogewog
ICAgICAgICBhdXRvIHJlc3VsdCA9IEV2YWx1YXRpb25SZXN1bHQ6OlRydWU7Ci0gICAgICAgIGZv
ciAoYXV0byBxdWVyeSA6IGNvbmRpdGlvbi5xdWVyaWVzKSB7CisgICAgICAgIGZvciAoYXV0byYg
cXVlcnkgOiBjb25kaXRpb24ucXVlcmllcykgewogICAgICAgICAgICAgYXV0byBxdWVyeVJlc3Vs
dCA9IGNvbmNyZXRlRXZhbHVhdG9yKCkuZXZhbHVhdGVRdWVyeUluUGFyZW5zKHF1ZXJ5LCBjb250
ZXh0KTsKICAgICAgICAgICAgIGlmIChxdWVyeVJlc3VsdCA9PSBFdmFsdWF0aW9uUmVzdWx0OjpG
YWxzZSkKICAgICAgICAgICAgICAgICByZXR1cm4gRXZhbHVhdGlvblJlc3VsdDo6RmFsc2U7CkBA
IC05MCw3ICs5MSw3IEBAIEV2YWx1YXRpb25SZXN1bHQgR2VuZXJpY01lZGlhUXVlcnlFdmFsdWF0
b3I8Q29uY3JldGVFdmFsdWF0b3I+OjpldmFsdWF0ZUNvbmRpdGlvCiAKICAgICBjYXNlIExvZ2lj
YWxPcGVyYXRvcjo6T3I6IHsKICAgICAgICAgYXV0byByZXN1bHQgPSBFdmFsdWF0aW9uUmVzdWx0
OjpGYWxzZTsKLSAgICAgICAgZm9yIChhdXRvIHF1ZXJ5IDogY29uZGl0aW9uLnF1ZXJpZXMpIHsK
KyAgICAgICAgZm9yIChhdXRvJiBxdWVyeSA6IGNvbmRpdGlvbi5xdWVyaWVzKSB7CiAgICAgICAg
ICAgICBhdXRvIHF1ZXJ5UmVzdWx0ID0gY29uY3JldGVFdmFsdWF0b3IoKS5ldmFsdWF0ZVF1ZXJ5
SW5QYXJlbnMocXVlcnksIGNvbnRleHQpOwogICAgICAgICAgICAgaWYgKHF1ZXJ5UmVzdWx0ID09
IEV2YWx1YXRpb25SZXN1bHQ6OlRydWUpCiAgICAgICAgICAgICAgICAgcmV0dXJuIEV2YWx1YXRp
b25SZXN1bHQ6OlRydWU7CkBAIC0xMTIsNyArMTEzLDYgQEAgRXZhbHVhdGlvblJlc3VsdCBHZW5l
cmljTWVkaWFRdWVyeUV2YWx1YXRvcjxDb25jcmV0ZUV2YWx1YXRvcj46OmV2YWx1YXRlRmVhdHVy
ZSgKICAgICByZXR1cm4gZmVhdHVyZS5zY2hlbWEtPmV2YWx1YXRlKGZlYXR1cmUsIGNvbnRleHQp
OwogfQogCi0KIGlubGluZSBFdmFsdWF0aW9uUmVzdWx0IG9wZXJhdG9yJihFdmFsdWF0aW9uUmVz
dWx0IGxlZnQsIEV2YWx1YXRpb25SZXN1bHQgcmlnaHQpCiB7CiAgICAgaWYgKGxlZnQgPT0gRXZh
bHVhdGlvblJlc3VsdDo6VW5rbm93biB8fCByaWdodCA9PSBFdmFsdWF0aW9uUmVzdWx0OjpVbmtu
b3duKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL3F1ZXJ5L0dlbmVyaWNNZWRpYVF1
ZXJ5VHlwZXMuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9xdWVyeS9HZW5lcmljTWVkaWFRdWVyeVR5
cGVzLmgKaW5kZXggNTFmMGM4YWM4ZGNjLi5jMTg5ZDY2MjA3MmEgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9xdWVyeS9HZW5lcmljTWVkaWFRdWVyeVR5cGVzLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvY3NzL3F1ZXJ5L0dlbmVyaWNNZWRpYVF1ZXJ5VHlwZXMuaApAQCAtMTA1LDUgKzEw
NSwyNyBAQCBzdHJ1Y3QgRmVhdHVyZVNjaGVtYSB7CiAgICAgdmlydHVhbCB+RmVhdHVyZVNjaGVt
YSgpID0gZGVmYXVsdDsKIH07CiAKK3RlbXBsYXRlPHR5cGVuYW1lIFRyYXZlcnNlRnVuY3Rpb24+
IHZvaWQgdHJhdmVyc2VGZWF0dXJlcyhjb25zdCBDb25kaXRpb24mLCBUcmF2ZXJzZUZ1bmN0aW9u
JiYpOworCit0ZW1wbGF0ZTx0eXBlbmFtZSBUcmF2ZXJzZUZ1bmN0aW9uPgordm9pZCB0cmF2ZXJz
ZUZlYXR1cmVzKGNvbnN0IFF1ZXJ5SW5QYXJlbnMmIHF1ZXJ5SW5QYXJlbnMsIFRyYXZlcnNlRnVu
Y3Rpb24mJiBmdW5jdGlvbikKK3sKKyAgICByZXR1cm4gV1RGOjpzd2l0Y2hPbihxdWVyeUluUGFy
ZW5zLCBbJl0oY29uc3QgQ29uZGl0aW9uJiBjb25kaXRpb24pIHsKKyAgICAgICAgdHJhdmVyc2VG
ZWF0dXJlcyhjb25kaXRpb24sIGZ1bmN0aW9uKTsKKyAgICB9LCBbJl0oY29uc3QgTVE6OkZlYXR1
cmUmIGZlYXR1cmUpIHsKKyAgICAgICAgZnVuY3Rpb24oZmVhdHVyZSk7CisgICAgfSwgWyZdKGNv
bnN0IE1ROjpHZW5lcmFsRW5jbG9zZWQmKSB7CisgICAgICAgIHJldHVybjsKKyAgICB9KTsKK30K
KwordGVtcGxhdGU8dHlwZW5hbWUgVHJhdmVyc2VGdW5jdGlvbj4KK3ZvaWQgdHJhdmVyc2VGZWF0
dXJlcyhjb25zdCBDb25kaXRpb24mIGNvbmRpdGlvbiwgVHJhdmVyc2VGdW5jdGlvbiYmIGZ1bmN0
aW9uKQoreworICAgIGZvciAoYXV0byYgcXVlcnlJblBhcmVucyA6IGNvbmRpdGlvbi5xdWVyaWVz
KQorICAgICAgICB0cmF2ZXJzZUZlYXR1cmVzKHF1ZXJ5SW5QYXJlbnMsIGZ1bmN0aW9uKTsKK30K
KworCiB9CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvcXVlcnkvTWVkaWFRdWVy
eS5oIGIvU291cmNlL1dlYkNvcmUvY3NzL3F1ZXJ5L01lZGlhUXVlcnkuaAppbmRleCBjYjMzYTdi
ZDMyYTguLjgyNDNmMTA4ZTQxOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL3F1ZXJ5
L01lZGlhUXVlcnkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvcXVlcnkvTWVkaWFRdWVyeS5o
CkBAIC0zOSwxMSArMzksMzAgQEAgc3RydWN0IE1lZGlhUXVlcnkgewogCiB1c2luZyBNZWRpYVF1
ZXJ5TGlzdCA9IFZlY3RvcjxNZWRpYVF1ZXJ5PjsKIAorc3RydWN0IE1lZGlhUXVlcnlSZXN1bHQg
eworICAgIE1lZGlhUXVlcnlMaXN0IG1lZGlhUXVlcnlMaXN0OworICAgIGJvb2wgcmVzdWx0Owor
fTsKKwogZW51bSBjbGFzcyBNZWRpYVF1ZXJ5RHluYW1pY0RlcGVuZGVuY3kgOiB1aW50OF90ICB7
CiAgICAgVmlld3BvcnQgPSAxIDw8IDAsCiAgICAgQXBwZWFyYW5jZSA9IDEgPDwgMSwKICAgICBB
Y2Nlc3NpYmlsaXR5ID0gMSA8PCAyLAogfTsKIAordGVtcGxhdGU8dHlwZW5hbWUgVHJhdmVyc2VG
dW5jdGlvbj4KK3ZvaWQgdHJhdmVyc2VGZWF0dXJlcyhjb25zdCBNZWRpYVF1ZXJ5JiBxdWVyeSwg
VHJhdmVyc2VGdW5jdGlvbiYmIGZ1bmN0aW9uKQoreworICAgIGlmIChxdWVyeS5jb25kaXRpb24p
CisgICAgICAgIHRyYXZlcnNlRmVhdHVyZXMoKnF1ZXJ5LmNvbmRpdGlvbiwgZnVuY3Rpb24pOwor
fQorCit0ZW1wbGF0ZTx0eXBlbmFtZSBUcmF2ZXJzZUZ1bmN0aW9uPgordm9pZCB0cmF2ZXJzZUZl
YXR1cmVzKGNvbnN0IE1lZGlhUXVlcnlMaXN0JiBsaXN0LCBUcmF2ZXJzZUZ1bmN0aW9uJiYgZnVu
Y3Rpb24pCit7CisgICAgZm9yIChhdXRvJiBxdWVyeSA6IGxpc3QpCisgICAgICAgIHRyYXZlcnNl
RmVhdHVyZXMocXVlcnksIGZ1bmN0aW9uKTsKK30KKwogfQogfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvY3NzL3F1ZXJ5L01lZGlhUXVlcnlFdmFsdWF0b3IuY3BwIGIvU291cmNlL1dlYkNv
cmUvY3NzL3F1ZXJ5L01lZGlhUXVlcnlFdmFsdWF0b3IuY3BwCmluZGV4IDFkNWM0NjA0MzQ5NS4u
NDY4OTg3YzhmNzZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvcXVlcnkvTWVkaWFR
dWVyeUV2YWx1YXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL3F1ZXJ5L01lZGlhUXVl
cnlFdmFsdWF0b3IuY3BwCkBAIC0yOCw2ICsyOCw3IEBACiAjaW5jbHVkZSAiQ1NTVG9MZW5ndGhD
b252ZXJzaW9uRGF0YS5oIgogI2luY2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiTWVkaWFR
dWVyeS5oIgorI2luY2x1ZGUgIk1lZGlhUXVlcnlGZWF0dXJlcy5oIgogI2luY2x1ZGUgIlJlbmRl
clZpZXcuaCIKICNpbmNsdWRlICJTdHlsZUZvbnRTaXplRnVuY3Rpb25zLmgiCiAKQEAgLTU4LDI2
ICs1OSwxOCBAQCBib29sIE1lZGlhUXVlcnlFdmFsdWF0b3I6OmV2YWx1YXRlKGNvbnN0IE1lZGlh
UXVlcnkmIHF1ZXJ5KSBjb25zdAogewogICAgIGJvb2wgaXNOZWdhdGVkID0gcXVlcnkucHJlZml4
ICYmICpxdWVyeS5wcmVmaXggPT0gUHJlZml4OjpOb3Q7CiAKLSAgICBhdXRvIG1lZGlhVHlwZU1h
dGNoZXMgPSBbJl0gewotICAgICAgICBpZiAocXVlcnkubWVkaWFUeXBlLmlzRW1wdHkoKSkKLSAg
ICAgICAgICAgIHJldHVybiB0cnVlOwotICAgICAgICBpZiAoZXF1YWxMZXR0ZXJzSWdub3JpbmdB
U0NJSUNhc2UocXVlcnkubWVkaWFUeXBlLCAiYWxsIl9zKSkKLSAgICAgICAgICAgIHJldHVybiB0
cnVlOwotICAgICAgICByZXR1cm4gZXF1YWxJZ25vcmluZ0FTQ0lJQ2FzZShxdWVyeS5tZWRpYVR5
cGUsIG1fbWVkaWFUeXBlKTsKLSAgICB9KCk7Ci0KLSAgICBpZiAoIW1lZGlhVHlwZU1hdGNoZXMp
CisgICAgaWYgKCFldmFsdWF0ZU1lZGlhVHlwZShxdWVyeSkpCiAgICAgICAgIHJldHVybiBpc05l
Z2F0ZWQ7CiAKLSAgICBhdXRvIGNvbmRpdGlvbk1hdGNoZXMgPSBbJl0geworICAgIGF1dG8gcmVz
dWx0ID0gWyZdIHsKICAgICAgICAgaWYgKCFxdWVyeS5jb25kaXRpb24pCi0gICAgICAgICAgICBy
ZXR1cm4gdHJ1ZTsKKyAgICAgICAgICAgIHJldHVybiBFdmFsdWF0aW9uUmVzdWx0OjpUcnVlOwog
CiAgICAgICAgIGlmICghbV9kb2N1bWVudC52aWV3KCkpCi0gICAgICAgICAgICByZXR1cm4gZmFs
c2U7CisgICAgICAgICAgICByZXR1cm4gRXZhbHVhdGlvblJlc3VsdDo6VW5rbm93bjsKIAogICAg
ICAgICBpZiAoIW1fZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KCkpCi0gICAgICAgICAgICByZXR1
cm4gZmFsc2U7CisgICAgICAgICAgICByZXR1cm4gRXZhbHVhdGlvblJlc3VsdDo6VW5rbm93bjsK
IAogICAgICAgICBhdXRvIGRlZmF1bHRTdHlsZSA9IFJlbmRlclN0eWxlOjpjcmVhdGUoKTsKICAg
ICAgICAgYXV0byBmb250RGVzY3JpcHRpb24gPSBkZWZhdWx0U3R5bGUuZm9udERlc2NyaXB0aW9u
KCk7CkBAIC04OCwxMCArODEsNTYgQEAgYm9vbCBNZWRpYVF1ZXJ5RXZhbHVhdG9yOjpldmFsdWF0
ZShjb25zdCBNZWRpYVF1ZXJ5JiBxdWVyeSkgY29uc3QKICAgICAgICAgZGVmYXVsdFN0eWxlLmZv
bnRDYXNjYWRlKCkudXBkYXRlKCk7CiAKICAgICAgICAgRmVhdHVyZUV2YWx1YXRpb25Db250ZXh0
IGNvbnRleHQgeyBtX2RvY3VtZW50LCB7ICptX3Jvb3RFbGVtZW50U3R5bGUsICZkZWZhdWx0U3R5
bGUsIG51bGxwdHIsIG1fZG9jdW1lbnQucmVuZGVyVmlldygpIH0sIG51bGxwdHIgfTsKLSAgICAg
ICAgcmV0dXJuIGV2YWx1YXRlQ29uZGl0aW9uKCpxdWVyeS5jb25kaXRpb24sIGNvbnRleHQpID09
IEV2YWx1YXRpb25SZXN1bHQ6OlRydWU7CisgICAgICAgIHJldHVybiBldmFsdWF0ZUNvbmRpdGlv
bigqcXVlcnkuY29uZGl0aW9uLCBjb250ZXh0KTsKICAgICB9KCk7CiAKLSAgICByZXR1cm4gY29u
ZGl0aW9uTWF0Y2hlcyAhPSBpc05lZ2F0ZWQ7CisgICAgc3dpdGNoIChyZXN1bHQpIHsKKyAgICBj
YXNlIEV2YWx1YXRpb25SZXN1bHQ6OlVua25vd246CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAg
ICBjYXNlIEV2YWx1YXRpb25SZXN1bHQ6OlRydWU6CisgICAgICAgIHJldHVybiAhaXNOZWdhdGVk
OworICAgIGNhc2UgRXZhbHVhdGlvblJlc3VsdDo6RmFsc2U6CisgICAgICAgIHJldHVybiBpc05l
Z2F0ZWQ7CisgICAgfQorCisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgcmV0dXJuIGZh
bHNlOworfQorCitib29sIE1lZGlhUXVlcnlFdmFsdWF0b3I6OmV2YWx1YXRlTWVkaWFUeXBlKGNv
bnN0IE1lZGlhUXVlcnkmIHF1ZXJ5KSBjb25zdAoreworICAgIGlmIChxdWVyeS5tZWRpYVR5cGUu
aXNFbXB0eSgpKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICBpZiAoZXF1YWxMZXR0ZXJzSWdu
b3JpbmdBU0NJSUNhc2UocXVlcnkubWVkaWFUeXBlLCAiYWxsIl9zKSkKKyAgICAgICAgcmV0dXJu
IHRydWU7CisgICAgcmV0dXJuIGVxdWFsSWdub3JpbmdBU0NJSUNhc2UocXVlcnkubWVkaWFUeXBl
LCBtX21lZGlhVHlwZSk7Cit9OworCitPcHRpb25TZXQ8TWVkaWFRdWVyeUR5bmFtaWNEZXBlbmRl
bmN5PiBNZWRpYVF1ZXJ5RXZhbHVhdG9yOjpjb2xsZWN0RHluYW1pY0RlcGVuZGVuY2llcyhjb25z
dCBNZWRpYVF1ZXJ5TGlzdCYgcXVlcmllcykgY29uc3QKK3sKKyAgICBPcHRpb25TZXQ8TWVkaWFR
dWVyeUR5bmFtaWNEZXBlbmRlbmN5PiByZXN1bHQ7CisKKyAgICBmb3IgKGF1dG8mIHF1ZXJ5IDog
cXVlcmllcykKKyAgICAgICAgcmVzdWx0LmFkZChjb2xsZWN0RHluYW1pY0RlcGVuZGVuY2llcyhx
dWVyeSkpOworCisgICAgcmV0dXJuIHJlc3VsdDsKK30KKworT3B0aW9uU2V0PE1lZGlhUXVlcnlE
eW5hbWljRGVwZW5kZW5jeT4gTWVkaWFRdWVyeUV2YWx1YXRvcjo6Y29sbGVjdER5bmFtaWNEZXBl
bmRlbmNpZXMoY29uc3QgTWVkaWFRdWVyeSYgcXVlcnkpIGNvbnN0Cit7CisgICAgaWYgKCFldmFs
dWF0ZU1lZGlhVHlwZShxdWVyeSkpCisgICAgICAgIHJldHVybiB7IH07CisKKyAgICBPcHRpb25T
ZXQ8TWVkaWFRdWVyeUR5bmFtaWNEZXBlbmRlbmN5PiByZXN1bHQ7CisKKyAgICB0cmF2ZXJzZUZl
YXR1cmVzKHF1ZXJ5LCBbJl0oY29uc3QgRmVhdHVyZSYgZmVhdHVyZSkgeworICAgICAgICBpZiAo
IWZlYXR1cmUuc2NoZW1hKQorICAgICAgICAgICAgcmV0dXJuOworICAgICAgICBpZiAoYXV0byBk
ZXBlbmRlbmN5ID0gRmVhdHVyZXM6OmR5bmFtaWNEZXBlbmRlbmN5KCpmZWF0dXJlLnNjaGVtYSkp
CisgICAgICAgICAgICByZXN1bHQuYWRkKCpkZXBlbmRlbmN5KTsKKyAgICB9KTsKKworICAgIHJl
dHVybiByZXN1bHQ7CiB9CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9xdWVy
eS9NZWRpYVF1ZXJ5RXZhbHVhdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvcXVlcnkvTWVkaWFR
dWVyeUV2YWx1YXRvci5oCmluZGV4IDBkMWNiMzg4ODNjZS4uOWQwMjk0NGQ0NmJkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvcXVlcnkvTWVkaWFRdWVyeUV2YWx1YXRvci5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9xdWVyeS9NZWRpYVF1ZXJ5RXZhbHVhdG9yLmgKQEAgLTQwLDYg
KzQwLDExIEBAIHB1YmxpYzoKICAgICBib29sIGV2YWx1YXRlKGNvbnN0IE1lZGlhUXVlcnlMaXN0
JikgY29uc3Q7CiAgICAgYm9vbCBldmFsdWF0ZShjb25zdCBNZWRpYVF1ZXJ5JikgY29uc3Q7CiAK
KyAgICBib29sIGV2YWx1YXRlTWVkaWFUeXBlKGNvbnN0IE1lZGlhUXVlcnkmKSBjb25zdDsKKwor
ICAgIE9wdGlvblNldDxNZWRpYVF1ZXJ5RHluYW1pY0RlcGVuZGVuY3k+IGNvbGxlY3REeW5hbWlj
RGVwZW5kZW5jaWVzKGNvbnN0IE1lZGlhUXVlcnlMaXN0JikgY29uc3Q7CisgICAgT3B0aW9uU2V0
PE1lZGlhUXVlcnlEeW5hbWljRGVwZW5kZW5jeT4gY29sbGVjdER5bmFtaWNEZXBlbmRlbmNpZXMo
Y29uc3QgTWVkaWFRdWVyeSYpIGNvbnN0OworCiBwcml2YXRlOgogICAgIGNvbnN0IEF0b21TdHJp
bmcgbV9tZWRpYVR5cGU7CiAgICAgY29uc3QgRG9jdW1lbnQmIG1fZG9jdW1lbnQ7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvcXVlcnkvTWVkaWFRdWVyeUZlYXR1cmVzLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9xdWVyeS9NZWRpYVF1ZXJ5RmVhdHVyZXMuY3BwCmluZGV4IDlmZDMw
ODIzZDExOS4uMzc5NmFkZWM5MWM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvcXVl
cnkvTWVkaWFRdWVyeUZlYXR1cmVzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvcXVlcnkv
TWVkaWFRdWVyeUZlYXR1cmVzLmNwcApAQCAtNTI5LDcgKzUyOSw3IEBAIGNvbnN0IEZlYXR1cmVT
Y2hlbWEmIHByZWZlcnNEYXJrSW50ZXJmYWNlKCkKIGNvbnN0IEZlYXR1cmVTY2hlbWEmIHByZWZl
cnNSZWR1Y2VkTW90aW9uKCkKIHsKICAgICBzdGF0aWMgTWFpblRocmVhZE5ldmVyRGVzdHJveWVk
PElkZW50aWZpZXJTY2hlbWE+IHNjaGVtYSB7Ci0gICAgICAgICJwcmVmZXJzLWNvbnRyYXN0Il9z
LAorICAgICAgICAicHJlZmVycy1yZWR1Y2VkLW1vdGlvbiJfcywKICAgICAgICAgVmVjdG9yIHsg
Q1NTVmFsdWVOb1ByZWZlcmVuY2UsIENTU1ZhbHVlUmVkdWNlIH0sCiAgICAgICAgIFtdKGF1dG8m
IGNvbnRleHQpIHsKICAgICAgICAgICAgIGJvb2wgdXNlclByZWZlcnNSZWR1Y2VkTW90aW9uID0g
WyZdIHsKQEAgLTczNCw0ICs3MzQsMjMgQEAgVmVjdG9yPGNvbnN0IEZlYXR1cmVTY2hlbWEqPiBh
bGxTY2hlbWFzKCkKICAgICB9OwogfQogCisvLyBGSVhNRTogVGhpcyBjb3VsZCBiZSBwYXJ0IG9m
IHRoZSBzY2hlbWEuCitzdGQ6Om9wdGlvbmFsPE1lZGlhUXVlcnlEeW5hbWljRGVwZW5kZW5jeT4g
ZHluYW1pY0RlcGVuZGVuY3koY29uc3QgRmVhdHVyZVNjaGVtYSYgc2NoZW1hKQoreworICAgIGlm
ICgmc2NoZW1hID09ICZ3aWR0aCgpIHx8ICZzY2hlbWEgPT0gJmhlaWdodCgpIHx8ICZzY2hlbWEg
PT0gJm9yaWVudGF0aW9uKCkgfHwgJnNjaGVtYSA9PSAmYXNwZWN0UmF0aW8oKSkKKyAgICAgICAg
cmV0dXJuIE1lZGlhUXVlcnlEeW5hbWljRGVwZW5kZW5jeTo6Vmlld3BvcnQ7CisKKyAgICBpZiAo
JnNjaGVtYSA9PSAmcHJlZmVyc0RhcmtJbnRlcmZhY2UoKSkKKyAgICAgICAgcmV0dXJuIE1lZGlh
UXVlcnlEeW5hbWljRGVwZW5kZW5jeTo6QXBwZWFyYW5jZTsKKyNpZiBFTkFCTEUoREFSS19NT0RF
X0NTUykKKyAgICBpZiAoJnNjaGVtYSA9PSAmcHJlZmVyc0NvbG9yU2NoZW1lKCkpCisgICAgICAg
IHJldHVybiBNZWRpYVF1ZXJ5RHluYW1pY0RlcGVuZGVuY3k6OkFwcGVhcmFuY2U7CisjZW5kaWYK
KworICAgIGlmICgmc2NoZW1hID09ICZpbnZlcnRlZENvbG9ycygpIHx8ICZzY2hlbWEgPT0gJm1v
bm9jaHJvbWUoKSB8fCAmc2NoZW1hID09ICZwcmVmZXJzUmVkdWNlZE1vdGlvbigpIHx8ICZzY2hl
bWEgPT0gJnByZWZlcnNDb250cmFzdCgpKQorICAgICAgICByZXR1cm4gTWVkaWFRdWVyeUR5bmFt
aWNEZXBlbmRlbmN5OjpBY2Nlc3NpYmlsaXR5OworCisgICAgcmV0dXJuIHsgfTsKK30KKwogfQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL3F1ZXJ5L01lZGlhUXVlcnlGZWF0dXJlcy5o
IGIvU291cmNlL1dlYkNvcmUvY3NzL3F1ZXJ5L01lZGlhUXVlcnlGZWF0dXJlcy5oCmluZGV4IDA0
ZWNkZTgzNGU1My4uZjY0NDk1Nzc3NDQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
cXVlcnkvTWVkaWFRdWVyeUZlYXR1cmVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL3F1ZXJ5
L01lZGlhUXVlcnlGZWF0dXJlcy5oCkBAIC0yNCw3ICsyNCw3IEBACiAKICNwcmFnbWEgb25jZQog
Ci0jaW5jbHVkZSAiR2VuZXJpY01lZGlhUXVlcnlUeXBlcy5oIgorI2luY2x1ZGUgIk1lZGlhUXVl
cnkuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmU6Ok1RIHsKIApAQCAtNjksNiArNjksOCBAQCBjb25z
dCBGZWF0dXJlU2NoZW1hJiBwcmVmZXJzQ29sb3JTY2hlbWUoKTsKIAogVmVjdG9yPGNvbnN0IEZl
YXR1cmVTY2hlbWEqPiBhbGxTY2hlbWFzKCk7CiAKK3N0ZDo6b3B0aW9uYWw8TWVkaWFRdWVyeUR5
bmFtaWNEZXBlbmRlbmN5PiBkeW5hbWljRGVwZW5kZW5jeShjb25zdCBGZWF0dXJlU2NoZW1hJik7
CisKIH07CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9xdWVyeS9NZWRpYVF1
ZXJ5UGFyc2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9xdWVyeS9NZWRpYVF1ZXJ5UGFyc2Vy
LmNwcAppbmRleCBiODIwNjI1ZGJhZDQuLjBkMDA0MjM4ZGEzMyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvY3NzL3F1ZXJ5L01lZGlhUXVlcnlQYXJzZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9xdWVyeS9NZWRpYVF1ZXJ5UGFyc2VyLmNwcApAQCAtNTYsNiArNTYsMjIgQEAgTWVk
aWFRdWVyeUxpc3QgTWVkaWFRdWVyeVBhcnNlcjo6cGFyc2UoY29uc3QgU3RyaW5nJiBzdHJpbmcs
IGNvbnN0IE1lZGlhUXVlcnlQYXIKICAgICByZXR1cm4gcGFyc2VyLmNvbnN1bWVNZWRpYVF1ZXJ5
TGlzdChyYW5nZSk7CiB9CiAKK3N0ZDo6b3B0aW9uYWw8TWVkaWFRdWVyeT4gTWVkaWFRdWVyeVBh
cnNlcjo6cGFyc2VDb25kaXRpb24oQ1NTUGFyc2VyVG9rZW5SYW5nZSByYW5nZSwgY29uc3QgTWVk
aWFRdWVyeVBhcnNlckNvbnRleHQmIGNvbnRleHQpCit7CisgICAgcmFuZ2UuY29uc3VtZVdoaXRl
c3BhY2UoKTsKKworICAgIGlmIChyYW5nZS5hdEVuZCgpKQorICAgICAgICByZXR1cm4gTWVkaWFR
dWVyeSB7IHsgfSwgImFsbCJfcyB9OworCisgICAgTWVkaWFRdWVyeVBhcnNlciBwYXJzZXIgeyBj
b250ZXh0IH07CisgICAgCisgICAgYXV0byBjb25kaXRpb24gPSBwYXJzZXIuY29uc3VtZUNvbmRp
dGlvbihyYW5nZSk7CisgICAgaWYgKCFjb25kaXRpb24pCisgICAgICAgIHJldHVybiB7IH07CisK
KyAgICByZXR1cm4gTWVkaWFRdWVyeSB7IHsgfSwgeyB9LCBjb25kaXRpb24gfTsKK30KKwogTWVk
aWFRdWVyeUxpc3QgTWVkaWFRdWVyeVBhcnNlcjo6Y29uc3VtZU1lZGlhUXVlcnlMaXN0KENTU1Bh
cnNlclRva2VuUmFuZ2UmIHJhbmdlKQogewogICAgIE1lZGlhUXVlcnlMaXN0IGxpc3Q7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvcXVlcnkvTWVkaWFRdWVyeVBhcnNlci5oIGIvU291
cmNlL1dlYkNvcmUvY3NzL3F1ZXJ5L01lZGlhUXVlcnlQYXJzZXIuaAppbmRleCA2ODUxY2NkY2Jj
NTEuLjZmYjU0MThmZDlhNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL3F1ZXJ5L01l
ZGlhUXVlcnlQYXJzZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvcXVlcnkvTWVkaWFRdWVy
eVBhcnNlci5oCkBAIC0zNSw2ICszNSw3IEBAIHB1YmxpYzoKICAgICBNZWRpYVF1ZXJ5UGFyc2Vy
KGNvbnN0IE1lZGlhUXVlcnlQYXJzZXJDb250ZXh0Jik7CiAKICAgICBzdGF0aWMgTWVkaWFRdWVy
eUxpc3QgcGFyc2UoY29uc3QgU3RyaW5nJiwgY29uc3QgTWVkaWFRdWVyeVBhcnNlckNvbnRleHQm
KTsKKyAgICBzdGF0aWMgc3RkOjpvcHRpb25hbDxNZWRpYVF1ZXJ5PiBwYXJzZUNvbmRpdGlvbihD
U1NQYXJzZXJUb2tlblJhbmdlLCBjb25zdCBNZWRpYVF1ZXJ5UGFyc2VyQ29udGV4dCYpOwogCiAg
ICAgTWVkaWFRdWVyeUxpc3QgY29uc3VtZU1lZGlhUXVlcnlMaXN0KENTU1BhcnNlclRva2VuUmFu
Z2UmKTsKICAgICBzdGQ6Om9wdGlvbmFsPE1lZGlhUXVlcnk+IGNvbnN1bWVNZWRpYVF1ZXJ5KENT
U1BhcnNlclRva2VuUmFuZ2UmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TEltYWdlRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbWFnZUVsZW1lbnQu
Y3BwCmluZGV4IDYyNjI0MDI1Njk3My4uOGUzOTQwMTk2YTk5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxJbWFnZUVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTEltYWdlRWxlbWVudC5jcHAKQEAgLTQ2LDEwICs0Niw5IEBACiAjaW5jbHVkZSAiSFRN
TFNvdXJjZUVsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MU3Jjc2V0UGFyc2VyLmgiCiAjaW5jbHVk
ZSAiTGF6eUxvYWRJbWFnZU9ic2VydmVyLmgiCi0jaW5jbHVkZSAiTGVnYWN5TWVkaWFRdWVyeUV2
YWx1YXRvci5oIgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKICNpbmNsdWRlICJNSU1FVHlwZVJlZ2lz
dHJ5LmgiCi0jaW5jbHVkZSAiTWVkaWFMaXN0LmgiCisjaW5jbHVkZSAiTWVkaWFRdWVyeUV2YWx1
YXRvci5oIgogI2luY2x1ZGUgIk1vdXNlRXZlbnQuaCIKICNpbmNsdWRlICJOb2RlVHJhdmVyc2Fs
LmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1Nb3VzZUV2ZW50LmgiCkBAIC0yNDMsMjEgKzI0MiwyMSBA
QCBJbWFnZUNhbmRpZGF0ZSBIVE1MSW1hZ2VFbGVtZW50OjpiZXN0Rml0U291cmNlRnJvbVBpY3R1
cmVFbGVtZW50KCkKICAgICAgICAgfQogCiAgICAgICAgIFJlZlB0ciBkb2N1bWVudEVsZW1lbnQg
PSBkb2N1bWVudCgpLmRvY3VtZW50RWxlbWVudCgpOwotICAgICAgICBMZWdhY3lNZWRpYVF1ZXJ5
RXZhbHVhdG9yIGV2YWx1YXRvciB7IGRvY3VtZW50KCkucHJpbnRpbmcoKSA/ICJwcmludCJfcyA6
ICJzY3JlZW4iX3MsIGRvY3VtZW50KCksIGRvY3VtZW50RWxlbWVudCA/IGRvY3VtZW50RWxlbWVu
dC0+Y29tcHV0ZWRTdHlsZSgpIDogbnVsbHB0ciB9OwotICAgICAgICBhdXRvKiBxdWVyaWVzID0g
c291cmNlLnBhcnNlZE1lZGlhQXR0cmlidXRlKGRvY3VtZW50KCkpOworICAgICAgICBNUTo6TWVk
aWFRdWVyeUV2YWx1YXRvciBldmFsdWF0b3IgeyBkb2N1bWVudCgpLnByaW50aW5nKCkgPyAicHJp
bnQiX3MgOiAic2NyZWVuIl9zLCBkb2N1bWVudCgpLCBkb2N1bWVudEVsZW1lbnQgPyBkb2N1bWVu
dEVsZW1lbnQtPmNvbXB1dGVkU3R5bGUoKSA6IG51bGxwdHIgfTsKKyAgICAgICAgYXV0byYgcXVl
cmllcyA9IHNvdXJjZS5wYXJzZWRNZWRpYUF0dHJpYnV0ZShkb2N1bWVudCgpKTsKICAgICAgICAg
TE9HKE1lZGlhUXVlcmllcywgIkhUTUxJbWFnZUVsZW1lbnQgJXAgYmVzdEZpdFNvdXJjZUZyb21Q
aWN0dXJlRWxlbWVudCBldmFsdWF0aW5nIG1lZGlhIHF1ZXJpZXMiLCB0aGlzKTsKIAotICAgICAg
ICBhdXRvIHJlc3VsdCA9ICFxdWVyaWVzIHx8IGV2YWx1YXRvci5ldmFsdWF0ZSgqcXVlcmllcyk7
CisgICAgICAgIGF1dG8gcmVzdWx0ID0gZXZhbHVhdG9yLmV2YWx1YXRlKHF1ZXJpZXMpOwogCi0g
ICAgICAgIGlmIChxdWVyaWVzICYmICFtZWRpYVF1ZXJ5RHluYW1pY0RlcGVuZGVuY2llcygqcXVl
cmllcywgZXZhbHVhdG9yKS5pc0VtcHR5KCkpCi0gICAgICAgICAgICBtX2R5bmFtaWNNZWRpYVF1
ZXJ5UmVzdWx0cy5hcHBlbmQoeyAqcXVlcmllcywgcmVzdWx0IH0pOworICAgICAgICBpZiAoIWV2
YWx1YXRvci5jb2xsZWN0RHluYW1pY0RlcGVuZGVuY2llcyhxdWVyaWVzKS5pc0VtcHR5KCkpCisg
ICAgICAgICAgICBtX2R5bmFtaWNNZWRpYVF1ZXJ5UmVzdWx0cy5hcHBlbmQoeyBxdWVyaWVzLCBy
ZXN1bHQgfSk7CiAKICAgICAgICAgaWYgKCFyZXN1bHQpCiAgICAgICAgICAgICBjb250aW51ZTsK
IAogICAgICAgICBTaXplc0F0dHJpYnV0ZVBhcnNlciBzaXplc1BhcnNlcihzb3VyY2UuYXR0cmli
dXRlV2l0aG91dFN5bmNocm9uaXphdGlvbihzaXplc0F0dHIpLnN0cmluZygpLCBkb2N1bWVudCgp
KTsKIAotICAgICAgICBtX2R5bmFtaWNNZWRpYVF1ZXJ5UmVzdWx0cy5hcHBlbmRWZWN0b3Ioc2l6
ZXNQYXJzZXIuZHluYW1pY01lZGlhQ29uZGl0aW9uUmVzdWx0cygpKTsKKyAgICAgICAgbV9keW5h
bWljTWVkaWFRdWVyeVJlc3VsdHMuYXBwZW5kVmVjdG9yKHNpemVzUGFyc2VyLmR5bmFtaWNNZWRp
YVF1ZXJ5UmVzdWx0cygpKTsKIAogICAgICAgICBhdXRvIHNvdXJjZVNpemUgPSBzaXplc1BhcnNl
ci5sZW5ndGgoKTsKIApAQCAtMjc0LDExICsyNzMsMTEgQEAgSW1hZ2VDYW5kaWRhdGUgSFRNTElt
YWdlRWxlbWVudDo6YmVzdEZpdFNvdXJjZUZyb21QaWN0dXJlRWxlbWVudCgpCiB2b2lkIEhUTUxJ
bWFnZUVsZW1lbnQ6OmV2YWx1YXRlRHluYW1pY01lZGlhUXVlcnlEZXBlbmRlbmNpZXMoKQogewog
ICAgIFJlZlB0ciBkb2N1bWVudEVsZW1lbnQgPSBkb2N1bWVudCgpLmRvY3VtZW50RWxlbWVudCgp
OwotICAgIExlZ2FjeU1lZGlhUXVlcnlFdmFsdWF0b3IgZXZhbHVhdG9yIHsgZG9jdW1lbnQoKS5w
cmludGluZygpID8gInByaW50Il9zIDogInNjcmVlbiJfcywgZG9jdW1lbnQoKSwgZG9jdW1lbnRF
bGVtZW50ID8gZG9jdW1lbnRFbGVtZW50LT5jb21wdXRlZFN0eWxlKCkgOiBudWxscHRyIH07Cisg
ICAgTVE6Ok1lZGlhUXVlcnlFdmFsdWF0b3IgZXZhbHVhdG9yIHsgZG9jdW1lbnQoKS5wcmludGlu
ZygpID8gInByaW50Il9zIDogInNjcmVlbiJfcywgZG9jdW1lbnQoKSwgZG9jdW1lbnRFbGVtZW50
ID8gZG9jdW1lbnRFbGVtZW50LT5jb21wdXRlZFN0eWxlKCkgOiBudWxscHRyIH07CiAKICAgICBh
dXRvIGhhc0NoYW5nZXMgPSBbJl0gewotICAgICAgICBmb3IgKGF1dG8mIGNvbmRpdGlvbiA6IG1f
ZHluYW1pY01lZGlhUXVlcnlSZXN1bHRzKSB7Ci0gICAgICAgICAgICBpZiAoY29uZGl0aW9uLnJl
c3VsdCAhPSBldmFsdWF0b3IuZXZhbHVhdGUoY29uZGl0aW9uLnF1ZXJ5LmdldCgpKSkKKyAgICAg
ICAgZm9yIChhdXRvJiByZXN1bHRzIDogbV9keW5hbWljTWVkaWFRdWVyeVJlc3VsdHMpIHsKKyAg
ICAgICAgICAgIGlmIChyZXN1bHRzLnJlc3VsdCAhPSBldmFsdWF0b3IuZXZhbHVhdGUocmVzdWx0
cy5tZWRpYVF1ZXJ5TGlzdCkpCiAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAg
IH0KICAgICAgICAgcmV0dXJuIGZhbHNlOwpAQCAtMzAxLDcgKzMwMCw3IEBAIHZvaWQgSFRNTElt
YWdlRWxlbWVudDo6c2VsZWN0SW1hZ2VTb3VyY2UoUmVsZXZhbnRNdXRhdGlvbiByZWxldmFudE11
dGF0aW9uKQogICAgICAgICBzZXRTb3VyY2VFbGVtZW50KG51bGxwdHIpOwogICAgICAgICAvLyBJ
ZiB3ZSBkb24ndCBoYXZlIGEgPHBpY3R1cmU+IG9yIGRpZG4ndCBmaW5kIGEgc291cmNlLCB0aGVu
IHdlIHVzZSBvdXIgb3duIGF0dHJpYnV0ZXMuCiAgICAgICAgIFNpemVzQXR0cmlidXRlUGFyc2Vy
IHNpemVzUGFyc2VyKGF0dHJpYnV0ZVdpdGhvdXRTeW5jaHJvbml6YXRpb24oc2l6ZXNBdHRyKS5z
dHJpbmcoKSwgZG9jdW1lbnQoKSk7Ci0gICAgICAgIG1fZHluYW1pY01lZGlhUXVlcnlSZXN1bHRz
LmFwcGVuZFZlY3RvcihzaXplc1BhcnNlci5keW5hbWljTWVkaWFDb25kaXRpb25SZXN1bHRzKCkp
OworICAgICAgICBtX2R5bmFtaWNNZWRpYVF1ZXJ5UmVzdWx0cy5hcHBlbmRWZWN0b3Ioc2l6ZXNQ
YXJzZXIuZHluYW1pY01lZGlhUXVlcnlSZXN1bHRzKCkpOwogICAgICAgICBhdXRvIHNvdXJjZVNp
emUgPSBzaXplc1BhcnNlci5sZW5ndGgoKTsKICAgICAgICAgY2FuZGlkYXRlID0gYmVzdEZpdFNv
dXJjZUZvckltYWdlQXR0cmlidXRlcyhkb2N1bWVudCgpLmRldmljZVNjYWxlRmFjdG9yKCksIGF0
dHJpYnV0ZVdpdGhvdXRTeW5jaHJvbml6YXRpb24oc3JjQXR0ciksIGF0dHJpYnV0ZVdpdGhvdXRT
eW5jaHJvbml6YXRpb24oc3Jjc2V0QXR0ciksIHNvdXJjZVNpemUpOwogICAgIH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEltYWdlRWxlbWVudC5oIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50LmgKaW5kZXggMzkwYTBmMDk3MWFmLi4yNTU0YzlkZjhi
YTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEltYWdlRWxlbWVudC5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEltYWdlRWxlbWVudC5oCkBAIC0yOSw3ICsyOSw3
IEBACiAjaW5jbHVkZSAiR3JhcGhpY3NMYXllci5oIgogI2luY2x1ZGUgIkdyYXBoaWNzVHlwZXMu
aCIKICNpbmNsdWRlICJIVE1MRWxlbWVudC5oIgotI2luY2x1ZGUgIkxlZ2FjeU1lZGlhUXVlcnlF
dmFsdWF0b3IuaCIKKyNpbmNsdWRlICJNZWRpYVF1ZXJ5LmgiCiAjaW5jbHVkZSA8d3RmL1dlYWtQ
dHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtMjQzLDcgKzI0Myw4IEBAIHByaXZhdGU6
CiAgICAgV2Vha1B0cjxIVE1MUGljdHVyZUVsZW1lbnQsIFdlYWtQdHJJbXBsV2l0aEV2ZW50VGFy
Z2V0RGF0YT4gbV9waWN0dXJlRWxlbWVudDsKICAgICAvLyBUaGUgc291cmNlIGVsZW1lbnQgdGhh
dCB3YXMgc2VsZWN0ZWQgdG8gcHJvdmlkZSB0aGUgc291cmNlIFVSTC4KICAgICBXZWFrUHRyPEhU
TUxTb3VyY2VFbGVtZW50LCBXZWFrUHRySW1wbFdpdGhFdmVudFRhcmdldERhdGE+IG1fc291cmNl
RWxlbWVudDsKLSAgICBWZWN0b3I8TWVkaWFRdWVyeVJlc3VsdD4gbV9keW5hbWljTWVkaWFRdWVy
eVJlc3VsdHM7CisKKyAgICBWZWN0b3I8TVE6Ok1lZGlhUXVlcnlSZXN1bHQ+IG1fZHluYW1pY01l
ZGlhUXVlcnlSZXN1bHRzOwogCiAjaWYgRU5BQkxFKEFUVEFDSE1FTlRfRUxFTUVOVCkKICAgICBT
dHJpbmcgbV9wZW5kaW5nQ2xvbmVkQXR0YWNobWVudElEOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TE1lZGlhRWxlbWVudC5jcHAKaW5kZXggMGY2MjU0ZTJmNTBiLi45MzNmYjVkZmQ5OWEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcApAQCAtNzIsNyArNzIsNiBAQAog
I2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCiAjaW5jbHVkZSAiSlNIVE1MTWVkaWFF
bGVtZW50LmgiCiAjaW5jbHVkZSAiSlNNZWRpYUNvbnRyb2xzSG9zdC5oIgotI2luY2x1ZGUgIkxl
Z2FjeU1lZGlhUXVlcnlFdmFsdWF0b3IuaCIKICNpbmNsdWRlICJMb2FkYWJsZVRleHRUcmFjay5o
IgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKICNpbmNsdWRlICJNSU1FVHlwZVJlZ2lzdHJ5LmgiCkBA
IC04NCw2ICs4Myw3IEBACiAjaW5jbHVkZSAiTWVkaWFGcmFnbWVudFVSSVBhcnNlci5oIgogI2lu
Y2x1ZGUgIk1lZGlhTGlzdC5oIgogI2luY2x1ZGUgIk1lZGlhUGxheWVyLmgiCisjaW5jbHVkZSAi
TWVkaWFRdWVyeUV2YWx1YXRvci5oIgogI2luY2x1ZGUgIk1lZGlhUmVzb3VyY2VMb2FkZXIuaCIK
ICNpbmNsdWRlICJOYXZpZ2F0b3JNZWRpYURldmljZXMuaCIKICNpbmNsdWRlICJOZXR3b3JraW5n
Q29udGV4dC5oIgpAQCAtNTE2NywxMiArNTE2NywxMiBAQCBVUkwgSFRNTE1lZGlhRWxlbWVudDo6
c2VsZWN0TmV4dFNvdXJjZUNoaWxkKENvbnRlbnRUeXBlKiBjb250ZW50VHlwZSwgU3RyaW5nKiBr
ZQogICAgICAgICBpZiAobWVkaWFVUkwuaXNFbXB0eSgpKQogICAgICAgICAgICAgZ290byBDaGVj
a0FnYWluOwogCi0gICAgICAgIGlmIChhdXRvKiBtZWRpYSA9IHNvdXJjZS0+cGFyc2VkTWVkaWFB
dHRyaWJ1dGUoZG9jdW1lbnQoKSkpIHsKKyAgICAgICAgaWYgKGF1dG8gbWVkaWFRdWVyeUxpc3Qg
PSBzb3VyY2UtPnBhcnNlZE1lZGlhQXR0cmlidXRlKGRvY3VtZW50KCkpOyAhbWVkaWFRdWVyeUxp
c3QuaXNFbXB0eSgpKSB7CiAgICAgICAgICAgICBpZiAoc2hvdWxkTG9nKQogICAgICAgICAgICAg
ICAgIElORk9fTE9HKExPR0lERU5USUZJRVIsICInbWVkaWEnIGlzICIsIHNvdXJjZS0+YXR0cmli
dXRlV2l0aG91dFN5bmNocm9uaXphdGlvbihtZWRpYUF0dHIpKTsKICAgICAgICAgICAgIGF1dG8q
IHJlbmRlcmVyID0gdGhpcy0+cmVuZGVyZXIoKTsKICAgICAgICAgICAgIExPRyhNZWRpYVF1ZXJp
ZXMsICJIVE1MTWVkaWFFbGVtZW50ICVwIHNlbGVjdE5leHRTb3VyY2VDaGlsZCBldmFsdWF0aW5n
IG1lZGlhIHF1ZXJpZXMiLCB0aGlzKTsKLSAgICAgICAgICAgIGlmICghTGVnYWN5TWVkaWFRdWVy
eUV2YWx1YXRvciB7ICJzY3JlZW4iX3MsIGRvY3VtZW50KCksIHJlbmRlcmVyID8gJnJlbmRlcmVy
LT5zdHlsZSgpIDogbnVsbHB0ciB9LmV2YWx1YXRlKCptZWRpYSkpCisgICAgICAgICAgICBpZiAo
IU1ROjpNZWRpYVF1ZXJ5RXZhbHVhdG9yIHsgInNjcmVlbiJfcywgZG9jdW1lbnQoKSwgcmVuZGVy
ZXIgPyAmcmVuZGVyZXItPnN0eWxlKCkgOiBudWxscHRyIH0uZXZhbHVhdGUobWVkaWFRdWVyeUxp
c3QpKQogICAgICAgICAgICAgICAgIGdvdG8gQ2hlY2tBZ2FpbjsKICAgICAgICAgfQogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxTb3VyY2VFbGVtZW50LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTFNvdXJjZUVsZW1lbnQuY3BwCmluZGV4IGU5Zjk2YTgyYzdjMC4u
MTk4NWU5M2RhNGQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxTb3VyY2VF
bGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxTb3VyY2VFbGVtZW50LmNw
cApAQCAtMzMsNyArMzMsNyBAQAogI2luY2x1ZGUgIkhUTUxOYW1lcy5oIgogI2luY2x1ZGUgIkhU
TUxQaWN0dXJlRWxlbWVudC5oIgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKLSNpbmNsdWRlICJNZWRp
YUxpc3QuaCIKKyNpbmNsdWRlICJNZWRpYVF1ZXJ5UGFyc2VyLmgiCiAjaW5jbHVkZSAiTWVkaWFR
dWVyeVBhcnNlckNvbnRleHQuaCIKICNpbmNsdWRlIDx3dGYvSXNvTWFsbG9jSW5saW5lcy5oPgog
CkBAIC0xNzAsMTYgKzE3MCwxMyBAQCB2b2lkIEhUTUxTb3VyY2VFbGVtZW50OjpwYXJzZUF0dHJp
YnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiBuYW1lLCBjb25zdCBBdG9tU3RyaQogI2VuZGlmCiB9
CiAKLWNvbnN0IE1lZGlhUXVlcnlTZXQqIEhUTUxTb3VyY2VFbGVtZW50OjpwYXJzZWRNZWRpYUF0
dHJpYnV0ZShEb2N1bWVudCYgZG9jdW1lbnQpIGNvbnN0Citjb25zdCBNUTo6TWVkaWFRdWVyeUxp
c3QmIEhUTUxTb3VyY2VFbGVtZW50OjpwYXJzZWRNZWRpYUF0dHJpYnV0ZShEb2N1bWVudCYgZG9j
dW1lbnQpIGNvbnN0CiB7CiAgICAgaWYgKCFtX2NhY2hlZFBhcnNlZE1lZGlhQXR0cmlidXRlKSB7
Ci0gICAgICAgIFJlZlB0cjxjb25zdCBNZWRpYVF1ZXJ5U2V0PiBwYXJzZWRBdHRyaWJ1dGU7CiAg
ICAgICAgIGF1dG8mIHZhbHVlID0gYXR0cmlidXRlV2l0aG91dFN5bmNocm9uaXphdGlvbihtZWRp
YUF0dHIpOwotICAgICAgICBpZiAoIXZhbHVlLmlzTnVsbCgpKQotICAgICAgICAgICAgcGFyc2Vk
QXR0cmlidXRlID0gTWVkaWFRdWVyeVNldDo6Y3JlYXRlKHZhbHVlLCBNZWRpYVF1ZXJ5UGFyc2Vy
Q29udGV4dChkb2N1bWVudCkpOwotICAgICAgICBtX2NhY2hlZFBhcnNlZE1lZGlhQXR0cmlidXRl
ID0gV1RGTW92ZShwYXJzZWRBdHRyaWJ1dGUpOworICAgICAgICBtX2NhY2hlZFBhcnNlZE1lZGlh
QXR0cmlidXRlID0gTVE6Ok1lZGlhUXVlcnlQYXJzZXI6OnBhcnNlKHZhbHVlLCBNZWRpYVF1ZXJ5
UGFyc2VyQ29udGV4dCB7IGRvY3VtZW50IH0pOwogICAgIH0KLSAgICByZXR1cm4gbV9jYWNoZWRQ
YXJzZWRNZWRpYUF0dHJpYnV0ZS52YWx1ZSgpLmdldCgpOworICAgIHJldHVybiBtX2NhY2hlZFBh
cnNlZE1lZGlhQXR0cmlidXRlLnZhbHVlKCk7CiB9CiAKIHZvaWQgSFRNTFNvdXJjZUVsZW1lbnQ6
OmF0dHJpYnV0ZUNoYW5nZWQoY29uc3QgUXVhbGlmaWVkTmFtZSYgbmFtZSwgY29uc3QgQXRvbVN0
cmluZyYgb2xkVmFsdWUsIGNvbnN0IEF0b21TdHJpbmcmIG5ld1ZhbHVlLCBBdHRyaWJ1dGVNb2Rp
ZmljYXRpb25SZWFzb24gcmVhc29uKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MU291cmNlRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU291cmNlRWxlbWVu
dC5oCmluZGV4IDM5NmFkMjQ0NmJiNC4uZmU2ZjQwZDEyMjNkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxTb3VyY2VFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MU291cmNlRWxlbWVudC5oCkBAIC0yNywxMiArMjcsMTEgQEAKIAogI2luY2x1ZGUgIkFj
dGl2ZURPTU9iamVjdC5oIgogI2luY2x1ZGUgIkhUTUxFbGVtZW50LmgiCisjaW5jbHVkZSAiTWVk
aWFRdWVyeS5oIgogI2luY2x1ZGUgIlRpbWVyLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAot
Y2xhc3MgTWVkaWFRdWVyeVNldDsKLQogY2xhc3MgSFRNTFNvdXJjZUVsZW1lbnQgZmluYWwgOiBw
dWJsaWMgSFRNTEVsZW1lbnQsIHB1YmxpYyBBY3RpdmVET01PYmplY3QgewogICAgIFdURl9NQUtF
X0lTT19BTExPQ0FURUQoSFRNTFNvdXJjZUVsZW1lbnQpOwogcHVibGljOgpAQCAtNDIsNyArNDEs
NyBAQCBwdWJsaWM6CiAgICAgdm9pZCBzY2hlZHVsZUVycm9yRXZlbnQoKTsKICAgICB2b2lkIGNh
bmNlbFBlbmRpbmdFcnJvckV2ZW50KCk7CiAKLSAgICBjb25zdCBNZWRpYVF1ZXJ5U2V0KiBwYXJz
ZWRNZWRpYUF0dHJpYnV0ZShEb2N1bWVudCYpIGNvbnN0OworICAgIGNvbnN0IE1ROjpNZWRpYVF1
ZXJ5TGlzdCYgcGFyc2VkTWVkaWFBdHRyaWJ1dGUoRG9jdW1lbnQmKSBjb25zdDsKIAogcHJpdmF0
ZToKICAgICBIVE1MU291cmNlRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQm
KTsKQEAgLTYxLDcgKzYwLDcgQEAgcHJpdmF0ZToKIAogICAgIFRhc2tDYW5jZWxsYXRpb25Hcm91
cCBtX2Vycm9yRXZlbnRDYW5jZWxsYXRpb25Hcm91cDsKICAgICBib29sIG1fc2hvdWxkQ2FsbFNv
dXJjZXNDaGFuZ2VkIHsgZmFsc2UgfTsKLSAgICBtdXRhYmxlIHN0ZDo6b3B0aW9uYWw8UmVmUHRy
PGNvbnN0IE1lZGlhUXVlcnlTZXQ+PiBtX2NhY2hlZFBhcnNlZE1lZGlhQXR0cmlidXRlOworICAg
IG11dGFibGUgc3RkOjpvcHRpb25hbDxNUTo6TWVkaWFRdWVyeUxpc3Q+IG1fY2FjaGVkUGFyc2Vk
TWVkaWFBdHRyaWJ1dGU7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MSW1hZ2VFbGVtZW50L3NpemVzL2ltYWdlLXNpemVz
LXczYy0xLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxJbWFnZUVsZW1l
bnQvc2l6ZXMvaW1hZ2Utc2l6ZXMtdzNjLTEtZXhwZWN0ZWQudHh0CmluZGV4IGNmN2E2MTJiMWRh
YS4uMzU3ZjhjZDAwZTc1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MSW1h
Z2VFbGVtZW50L3NpemVzL2ltYWdlLXNpemVzLXczYy0xLWV4cGVjdGVkLnR4dAorKysgYi9MYXlv
dXRUZXN0cy9mYXN0L2RvbS9IVE1MSW1hZ2VFbGVtZW50L3NpemVzL2ltYWdlLXNpemVzLXczYy0x
LWV4cGVjdGVkLnR4dApAQCAtMzgsMTIgKzM4LDE4IEBAIFBBU1MgImdyZWVuLTF4MS5wbmciIGlz
ICJncmVlbi0xeDEucG5nIgogUEFTUyAiZ3JlZW4tMXgxLnBuZyIgaXMgImdyZWVuLTF4MS5wbmci
CiBQQVNTICJncmVlbi0xeDEucG5nIiBpcyAiZ3JlZW4tMXgxLnBuZyIKIFBBU1MgImdyZWVuLTF4
MS5wbmciIGlzICJncmVlbi0xeDEucG5nIgorRkFJTCAiZ3JlZW4tMTZ4MTYucG5nIiBzaG91bGQg
YmUgZ3JlZW4tMXgxLnBuZy4gV2FzIGdyZWVuLTE2eDE2LnBuZy4KIFBBU1MgImdyZWVuLTF4MS5w
bmciIGlzICJncmVlbi0xeDEucG5nIgogUEFTUyAiZ3JlZW4tMXgxLnBuZyIgaXMgImdyZWVuLTF4
MS5wbmciCiBQQVNTICJncmVlbi0xeDEucG5nIiBpcyAiZ3JlZW4tMXgxLnBuZyIKIFBBU1MgImdy
ZWVuLTF4MS5wbmciIGlzICJncmVlbi0xeDEucG5nIgogUEFTUyAiZ3JlZW4tMXgxLnBuZyIgaXMg
ImdyZWVuLTF4MS5wbmciCiBQQVNTICJncmVlbi0xeDEucG5nIiBpcyAiZ3JlZW4tMXgxLnBuZyIK
K0ZBSUwgImdyZWVuLTE2eDE2LnBuZyIgc2hvdWxkIGJlIGdyZWVuLTF4MS5wbmcuIFdhcyBncmVl
bi0xNngxNi5wbmcuCitQQVNTICJncmVlbi0xeDEucG5nIiBpcyAiZ3JlZW4tMXgxLnBuZyIKK1BB
U1MgImdyZWVuLTF4MS5wbmciIGlzICJncmVlbi0xeDEucG5nIgorUEFTUyAiZ3JlZW4tMXgxLnBu
ZyIgaXMgImdyZWVuLTF4MS5wbmciCitQQVNTICJncmVlbi0xeDEucG5nIiBpcyAiZ3JlZW4tMXgx
LnBuZyIKIFBBU1MgImdyZWVuLTF4MS5wbmciIGlzICJncmVlbi0xeDEucG5nIgogUEFTUyAiZ3Jl
ZW4tMXgxLnBuZyIgaXMgImdyZWVuLTF4MS5wbmciCiBQQVNTICJncmVlbi0xeDEucG5nIiBpcyAi
Z3JlZW4tMXgxLnBuZyIKQEAgLTU3LDExICs2Myw2IEBAIFBBU1MgImdyZWVuLTF4MS5wbmciIGlz
ICJncmVlbi0xeDEucG5nIgogUEFTUyAiZ3JlZW4tMXgxLnBuZyIgaXMgImdyZWVuLTF4MS5wbmci
CiBQQVNTICJncmVlbi0xeDEucG5nIiBpcyAiZ3JlZW4tMXgxLnBuZyIKIFBBU1MgImdyZWVuLTF4
MS5wbmciIGlzICJncmVlbi0xeDEucG5nIgotRkFJTCAiZ3JlZW4tMTZ4MTYucG5nIiBzaG91bGQg
YmUgZ3JlZW4tMXgxLnBuZy4gV2FzIGdyZWVuLTE2eDE2LnBuZy4KLUZBSUwgImdyZWVuLTE2eDE2
LnBuZyIgc2hvdWxkIGJlIGdyZWVuLTF4MS5wbmcuIFdhcyBncmVlbi0xNngxNi5wbmcuCi1GQUlM
ICJncmVlbi0xNngxNi5wbmciIHNob3VsZCBiZSBncmVlbi0xeDEucG5nLiBXYXMgZ3JlZW4tMTZ4
MTYucG5nLgotRkFJTCAiZ3JlZW4tMTZ4MTYucG5nIiBzaG91bGQgYmUgZ3JlZW4tMXgxLnBuZy4g
V2FzIGdyZWVuLTE2eDE2LnBuZy4KLUZBSUwgImdyZWVuLTE2eDE2LnBuZyIgc2hvdWxkIGJlIGdy
ZWVuLTF4MS5wbmcuIFdhcyBncmVlbi0xNngxNi5wbmcuCiBGQUlMICJncmVlbi0xNngxNi5wbmci
IHNob3VsZCBiZSBncmVlbi0xeDEucG5nLiBXYXMgZ3JlZW4tMTZ4MTYucG5nLgogUEFTUyAiZ3Jl
ZW4tMXgxLnBuZyIgaXMgImdyZWVuLTF4MS5wbmciCiBQQVNTICJncmVlbi0xeDEucG5nIiBpcyAi
Z3JlZW4tMXgxLnBuZyIKQEAgLTEwNiw3ICsxMDcsNiBAQCBQQVNTICJncmVlbi0xeDEucG5nIiBp
cyAiZ3JlZW4tMXgxLnBuZyIKIFBBU1MgImdyZWVuLTF4MS5wbmciIGlzICJncmVlbi0xeDEucG5n
IgogUEFTUyAiZ3JlZW4tMXgxLnBuZyIgaXMgImdyZWVuLTF4MS5wbmciCiBQQVNTICJncmVlbi0x
eDEucG5nIiBpcyAiZ3JlZW4tMXgxLnBuZyIKLUZBSUwgImdyZWVuLTE2eDE2LnBuZyIgc2hvdWxk
IGJlIGdyZWVuLTF4MS5wbmcuIFdhcyBncmVlbi0xNngxNi5wbmcuCiBQQVNTICJncmVlbi0xeDEu
cG5nIiBpcyAiZ3JlZW4tMXgxLnBuZyIKIFBBU1MgImdyZWVuLTF4MS5wbmciIGlzICJncmVlbi0x
eDEucG5nIgogUEFTUyAiZ3JlZW4tMXgxLnBuZyIgaXMgImdyZWVuLTF4MS5wbmciCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MSW1hZ2VFbGVtZW50L3NpemVzL2ltYWdlLXNp
emVzLXczYy0yLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxJbWFnZUVs
ZW1lbnQvc2l6ZXMvaW1hZ2Utc2l6ZXMtdzNjLTItZXhwZWN0ZWQudHh0CmluZGV4IGNmN2E2MTJi
MWRhYS4uMzU3ZjhjZDAwZTc1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1M
SW1hZ2VFbGVtZW50L3NpemVzL2ltYWdlLXNpemVzLXczYy0yLWV4cGVjdGVkLnR4dAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MSW1hZ2VFbGVtZW50L3NpemVzL2ltYWdlLXNpemVzLXcz
Yy0yLWV4cGVjdGVkLnR4dApAQCAtMzgsMTIgKzM4LDE4IEBAIFBBU1MgImdyZWVuLTF4MS5wbmci
IGlzICJncmVlbi0xeDEucG5nIgogUEFTUyAiZ3JlZW4tMXgxLnBuZyIgaXMgImdyZWVuLTF4MS5w
bmciCiBQQVNTICJncmVlbi0xeDEucG5nIiBpcyAiZ3JlZW4tMXgxLnBuZyIKIFBBU1MgImdyZWVu
LTF4MS5wbmciIGlzICJncmVlbi0xeDEucG5nIgorRkFJTCAiZ3JlZW4tMTZ4MTYucG5nIiBzaG91
bGQgYmUgZ3JlZW4tMXgxLnBuZy4gV2FzIGdyZWVuLTE2eDE2LnBuZy4KIFBBU1MgImdyZWVuLTF4
MS5wbmciIGlzICJncmVlbi0xeDEucG5nIgogUEFTUyAiZ3JlZW4tMXgxLnBuZyIgaXMgImdyZWVu
LTF4MS5wbmciCiBQQVNTICJncmVlbi0xeDEucG5nIiBpcyAiZ3JlZW4tMXgxLnBuZyIKIFBBU1Mg
ImdyZWVuLTF4MS5wbmciIGlzICJncmVlbi0xeDEucG5nIgogUEFTUyAiZ3JlZW4tMXgxLnBuZyIg
aXMgImdyZWVuLTF4MS5wbmciCiBQQVNTICJncmVlbi0xeDEucG5nIiBpcyAiZ3JlZW4tMXgxLnBu
ZyIKK0ZBSUwgImdyZWVuLTE2eDE2LnBuZyIgc2hvdWxkIGJlIGdyZWVuLTF4MS5wbmcuIFdhcyBn
cmVlbi0xNngxNi5wbmcuCitQQVNTICJncmVlbi0xeDEucG5nIiBpcyAiZ3JlZW4tMXgxLnBuZyIK
K1BBU1MgImdyZWVuLTF4MS5wbmciIGlzICJncmVlbi0xeDEucG5nIgorUEFTUyAiZ3JlZW4tMXgx
LnBuZyIgaXMgImdyZWVuLTF4MS5wbmciCitQQVNTICJncmVlbi0xeDEucG5nIiBpcyAiZ3JlZW4t
MXgxLnBuZyIKIFBBU1MgImdyZWVuLTF4MS5wbmciIGlzICJncmVlbi0xeDEucG5nIgogUEFTUyAi
Z3JlZW4tMXgxLnBuZyIgaXMgImdyZWVuLTF4MS5wbmciCiBQQVNTICJncmVlbi0xeDEucG5nIiBp
cyAiZ3JlZW4tMXgxLnBuZyIKQEAgLTU3LDExICs2Myw2IEBAIFBBU1MgImdyZWVuLTF4MS5wbmci
IGlzICJncmVlbi0xeDEucG5nIgogUEFTUyAiZ3JlZW4tMXgxLnBuZyIgaXMgImdyZWVuLTF4MS5w
bmciCiBQQVNTICJncmVlbi0xeDEucG5nIiBpcyAiZ3JlZW4tMXgxLnBuZyIKIFBBU1MgImdyZWVu
LTF4MS5wbmciIGlzICJncmVlbi0xeDEucG5nIgotRkFJTCAiZ3JlZW4tMTZ4MTYucG5nIiBzaG91
bGQgYmUgZ3JlZW4tMXgxLnBuZy4gV2FzIGdyZWVuLTE2eDE2LnBuZy4KLUZBSUwgImdyZWVuLTE2
eDE2LnBuZyIgc2hvdWxkIGJlIGdyZWVuLTF4MS5wbmcuIFdhcyBncmVlbi0xNngxNi5wbmcuCi1G
QUlMICJncmVlbi0xNngxNi5wbmciIHNob3VsZCBiZSBncmVlbi0xeDEucG5nLiBXYXMgZ3JlZW4t
MTZ4MTYucG5nLgotRkFJTCAiZ3JlZW4tMTZ4MTYucG5nIiBzaG91bGQgYmUgZ3JlZW4tMXgxLnBu
Zy4gV2FzIGdyZWVuLTE2eDE2LnBuZy4KLUZBSUwgImdyZWVuLTE2eDE2LnBuZyIgc2hvdWxkIGJl
IGdyZWVuLTF4MS5wbmcuIFdhcyBncmVlbi0xNngxNi5wbmcuCiBGQUlMICJncmVlbi0xNngxNi5w
bmciIHNob3VsZCBiZSBncmVlbi0xeDEucG5nLiBXYXMgZ3JlZW4tMTZ4MTYucG5nLgogUEFTUyAi
Z3JlZW4tMXgxLnBuZyIgaXMgImdyZWVuLTF4MS5wbmciCiBQQVNTICJncmVlbi0xeDEucG5nIiBp
cyAiZ3JlZW4tMXgxLnBuZyIKQEAgLTEwNiw3ICsxMDcsNiBAQCBQQVNTICJncmVlbi0xeDEucG5n
IiBpcyAiZ3JlZW4tMXgxLnBuZyIKIFBBU1MgImdyZWVuLTF4MS5wbmciIGlzICJncmVlbi0xeDEu
cG5nIgogUEFTUyAiZ3JlZW4tMXgxLnBuZyIgaXMgImdyZWVuLTF4MS5wbmciCiBQQVNTICJncmVl
bi0xeDEucG5nIiBpcyAiZ3JlZW4tMXgxLnBuZyIKLUZBSUwgImdyZWVuLTE2eDE2LnBuZyIgc2hv
dWxkIGJlIGdyZWVuLTF4MS5wbmcuIFdhcyBncmVlbi0xNngxNi5wbmcuCiBQQVNTICJncmVlbi0x
eDEucG5nIiBpcyAiZ3JlZW4tMXgxLnBuZyIKIFBBU1MgImdyZWVuLTF4MS5wbmciIGlzICJncmVl
bi0xeDEucG5nIgogUEFTUyAiZ3JlZW4tMXgxLnBuZyIgaXMgImdyZWVuLTF4MS5wbmciCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MSW1hZ2VFbGVtZW50L3NpemVzL2ltYWdl
LXNpemVzLXczYy0zLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxJbWFn
ZUVsZW1lbnQvc2l6ZXMvaW1hZ2Utc2l6ZXMtdzNjLTMtZXhwZWN0ZWQudHh0CmluZGV4IGU1ZTg3
MzU0MmJlZi4uNDkwMjNjMTdjMmE0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9I
VE1MSW1hZ2VFbGVtZW50L3NpemVzL2ltYWdlLXNpemVzLXczYy0zLWV4cGVjdGVkLnR4dAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MSW1hZ2VFbGVtZW50L3NpemVzL2ltYWdlLXNpemVz
LXczYy0zLWV4cGVjdGVkLnR4dApAQCAtMzgsMTIgKzM4LDE4IEBAIFBBU1MgImdyZWVuLTF4MS5w
bmciIGlzICJncmVlbi0xeDEucG5nIgogUEFTUyAiZ3JlZW4tMXgxLnBuZyIgaXMgImdyZWVuLTF4
MS5wbmciCiBQQVNTICJncmVlbi0xeDEucG5nIiBpcyAiZ3JlZW4tMXgxLnBuZyIKIFBBU1MgImdy
ZWVuLTF4MS5wbmciIGlzICJncmVlbi0xeDEucG5nIgorRkFJTCAiZ3JlZW4tMTZ4MTYucG5nIiBz
aG91bGQgYmUgZ3JlZW4tMXgxLnBuZy4gV2FzIGdyZWVuLTE2eDE2LnBuZy4KIFBBU1MgImdyZWVu
LTF4MS5wbmciIGlzICJncmVlbi0xeDEucG5nIgogUEFTUyAiZ3JlZW4tMXgxLnBuZyIgaXMgImdy
ZWVuLTF4MS5wbmciCiBQQVNTICJncmVlbi0xeDEucG5nIiBpcyAiZ3JlZW4tMXgxLnBuZyIKIFBB
U1MgImdyZWVuLTF4MS5wbmciIGlzICJncmVlbi0xeDEucG5nIgogUEFTUyAiZ3JlZW4tMXgxLnBu
ZyIgaXMgImdyZWVuLTF4MS5wbmciCiBQQVNTICJncmVlbi0xeDEucG5nIiBpcyAiZ3JlZW4tMXgx
LnBuZyIKK0ZBSUwgImdyZWVuLTE2eDE2LnBuZyIgc2hvdWxkIGJlIGdyZWVuLTF4MS5wbmcuIFdh
cyBncmVlbi0xNngxNi5wbmcuCitQQVNTICJncmVlbi0xeDEucG5nIiBpcyAiZ3JlZW4tMXgxLnBu
ZyIKK1BBU1MgImdyZWVuLTF4MS5wbmciIGlzICJncmVlbi0xeDEucG5nIgorUEFTUyAiZ3JlZW4t
MXgxLnBuZyIgaXMgImdyZWVuLTF4MS5wbmciCitQQVNTICJncmVlbi0xeDEucG5nIiBpcyAiZ3Jl
ZW4tMXgxLnBuZyIKIFBBU1MgImdyZWVuLTF4MS5wbmciIGlzICJncmVlbi0xeDEucG5nIgogUEFT
UyAiZ3JlZW4tMXgxLnBuZyIgaXMgImdyZWVuLTF4MS5wbmciCiBQQVNTICJncmVlbi0xeDEucG5n
IiBpcyAiZ3JlZW4tMXgxLnBuZyIKQEAgLTU3LDExICs2Myw2IEBAIFBBU1MgImdyZWVuLTF4MS5w
bmciIGlzICJncmVlbi0xeDEucG5nIgogUEFTUyAiZ3JlZW4tMXgxLnBuZyIgaXMgImdyZWVuLTF4
MS5wbmciCiBQQVNTICJncmVlbi0xeDEucG5nIiBpcyAiZ3JlZW4tMXgxLnBuZyIKIFBBU1MgImdy
ZWVuLTF4MS5wbmciIGlzICJncmVlbi0xeDEucG5nIgotRkFJTCAiZ3JlZW4tMTZ4MTYucG5nIiBz
aG91bGQgYmUgZ3JlZW4tMXgxLnBuZy4gV2FzIGdyZWVuLTE2eDE2LnBuZy4KLUZBSUwgImdyZWVu
LTE2eDE2LnBuZyIgc2hvdWxkIGJlIGdyZWVuLTF4MS5wbmcuIFdhcyBncmVlbi0xNngxNi5wbmcu
Ci1GQUlMICJncmVlbi0xNngxNi5wbmciIHNob3VsZCBiZSBncmVlbi0xeDEucG5nLiBXYXMgZ3Jl
ZW4tMTZ4MTYucG5nLgotRkFJTCAiZ3JlZW4tMTZ4MTYucG5nIiBzaG91bGQgYmUgZ3JlZW4tMXgx
LnBuZy4gV2FzIGdyZWVuLTE2eDE2LnBuZy4KLUZBSUwgImdyZWVuLTE2eDE2LnBuZyIgc2hvdWxk
IGJlIGdyZWVuLTF4MS5wbmcuIFdhcyBncmVlbi0xNngxNi5wbmcuCiBGQUlMICJncmVlbi0xNngx
Ni5wbmciIHNob3VsZCBiZSBncmVlbi0xeDEucG5nLiBXYXMgZ3JlZW4tMTZ4MTYucG5nLgogUEFT
UyAiZ3JlZW4tMXgxLnBuZyIgaXMgImdyZWVuLTF4MS5wbmciCiBQQVNTICJncmVlbi0xeDEucG5n
IiBpcyAiZ3JlZW4tMXgxLnBuZyIKQEAgLTEwNiw3ICsxMDcsNiBAQCBQQVNTICJncmVlbi0xeDEu
cG5nIiBpcyAiZ3JlZW4tMXgxLnBuZyIKIFBBU1MgImdyZWVuLTF4MS5wbmciIGlzICJncmVlbi0x
eDEucG5nIgogUEFTUyAiZ3JlZW4tMXgxLnBuZyIgaXMgImdyZWVuLTF4MS5wbmciCiBQQVNTICJn
cmVlbi0xeDEucG5nIiBpcyAiZ3JlZW4tMXgxLnBuZyIKLUZBSUwgImdyZWVuLTE2eDE2LnBuZyIg
c2hvdWxkIGJlIGdyZWVuLTF4MS5wbmcuIFdhcyBncmVlbi0xNngxNi5wbmcuCiBQQVNTICJncmVl
bi0xeDEucG5nIiBpcyAiZ3JlZW4tMXgxLnBuZyIKIFBBU1MgImdyZWVuLTF4MS5wbmciIGlzICJn
cmVlbi0xeDEucG5nIgogUEFTUyAiZ3JlZW4tMXgxLnBuZyIgaXMgImdyZWVuLTF4MS5wbmciCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MSW1hZ2VFbGVtZW50L3NpemVzL2lt
YWdlLXNpemVzLXczYy00LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxJ
bWFnZUVsZW1lbnQvc2l6ZXMvaW1hZ2Utc2l6ZXMtdzNjLTQtZXhwZWN0ZWQudHh0CmluZGV4IGNm
N2E2MTJiMWRhYS4uMzU3ZjhjZDAwZTc1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9IVE1MSW1hZ2VFbGVtZW50L3NpemVzL2ltYWdlLXNpemVzLXczYy00LWV4cGVjdGVkLnR4dAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MSW1hZ2VFbGVtZW50L3NpemVzL2ltYWdlLXNp
emVzLXczYy00LWV4cGVjdGVkLnR4dApAQCAtMzgsMTIgKzM4LDE4IEBAIFBBU1MgImdyZWVuLTF4
MS5wbmciIGlzICJncmVlbi0xeDEucG5nIgogUEFTUyAiZ3JlZW4tMXgxLnBuZyIgaXMgImdyZWVu
LTF4MS5wbmciCiBQQVNTICJncmVlbi0xeDEucG5nIiBpcyAiZ3JlZW4tMXgxLnBuZyIKIFBBU1Mg
ImdyZWVuLTF4MS5wbmciIGlzICJncmVlbi0xeDEucG5nIgorRkFJTCAiZ3JlZW4tMTZ4MTYucG5n
IiBzaG91bGQgYmUgZ3JlZW4tMXgxLnBuZy4gV2FzIGdyZWVuLTE2eDE2LnBuZy4KIFBBU1MgImdy
ZWVuLTF4MS5wbmciIGlzICJncmVlbi0xeDEucG5nIgogUEFTUyAiZ3JlZW4tMXgxLnBuZyIgaXMg
ImdyZWVuLTF4MS5wbmciCiBQQVNTICJncmVlbi0xeDEucG5nIiBpcyAiZ3JlZW4tMXgxLnBuZyIK
IFBBU1MgImdyZWVuLTF4MS5wbmciIGlzICJncmVlbi0xeDEucG5nIgogUEFTUyAiZ3JlZW4tMXgx
LnBuZyIgaXMgImdyZWVuLTF4MS5wbmciCiBQQVNTICJncmVlbi0xeDEucG5nIiBpcyAiZ3JlZW4t
MXgxLnBuZyIKK0ZBSUwgImdyZWVuLTE2eDE2LnBuZyIgc2hvdWxkIGJlIGdyZWVuLTF4MS5wbmcu
IFdhcyBncmVlbi0xNngxNi5wbmcuCitQQVNTICJncmVlbi0xeDEucG5nIiBpcyAiZ3JlZW4tMXgx
LnBuZyIKK1BBU1MgImdyZWVuLTF4MS5wbmciIGlzICJncmVlbi0xeDEucG5nIgorUEFTUyAiZ3Jl
ZW4tMXgxLnBuZyIgaXMgImdyZWVuLTF4MS5wbmciCitQQVNTICJncmVlbi0xeDEucG5nIiBpcyAi
Z3JlZW4tMXgxLnBuZyIKIFBBU1MgImdyZWVuLTF4MS5wbmciIGlzICJncmVlbi0xeDEucG5nIgog
UEFTUyAiZ3JlZW4tMXgxLnBuZyIgaXMgImdyZWVuLTF4MS5wbmciCiBQQVNTICJncmVlbi0xeDEu
cG5nIiBpcyAiZ3JlZW4tMXgxLnBuZyIKQEAgLTU3LDExICs2Myw2IEBAIFBBU1MgImdyZWVuLTF4
MS5wbmciIGlzICJncmVlbi0xeDEucG5nIgogUEFTUyAiZ3JlZW4tMXgxLnBuZyIgaXMgImdyZWVu
LTF4MS5wbmciCiBQQVNTICJncmVlbi0xeDEucG5nIiBpcyAiZ3JlZW4tMXgxLnBuZyIKIFBBU1Mg
ImdyZWVuLTF4MS5wbmciIGlzICJncmVlbi0xeDEucG5nIgotRkFJTCAiZ3JlZW4tMTZ4MTYucG5n
IiBzaG91bGQgYmUgZ3JlZW4tMXgxLnBuZy4gV2FzIGdyZWVuLTE2eDE2LnBuZy4KLUZBSUwgImdy
ZWVuLTE2eDE2LnBuZyIgc2hvdWxkIGJlIGdyZWVuLTF4MS5wbmcuIFdhcyBncmVlbi0xNngxNi5w
bmcuCi1GQUlMICJncmVlbi0xNngxNi5wbmciIHNob3VsZCBiZSBncmVlbi0xeDEucG5nLiBXYXMg
Z3JlZW4tMTZ4MTYucG5nLgotRkFJTCAiZ3JlZW4tMTZ4MTYucG5nIiBzaG91bGQgYmUgZ3JlZW4t
MXgxLnBuZy4gV2FzIGdyZWVuLTE2eDE2LnBuZy4KLUZBSUwgImdyZWVuLTE2eDE2LnBuZyIgc2hv
dWxkIGJlIGdyZWVuLTF4MS5wbmcuIFdhcyBncmVlbi0xNngxNi5wbmcuCiBGQUlMICJncmVlbi0x
NngxNi5wbmciIHNob3VsZCBiZSBncmVlbi0xeDEucG5nLiBXYXMgZ3JlZW4tMTZ4MTYucG5nLgog
UEFTUyAiZ3JlZW4tMXgxLnBuZyIgaXMgImdyZWVuLTF4MS5wbmciCiBQQVNTICJncmVlbi0xeDEu
cG5nIiBpcyAiZ3JlZW4tMXgxLnBuZyIKQEAgLTEwNiw3ICsxMDcsNiBAQCBQQVNTICJncmVlbi0x
eDEucG5nIiBpcyAiZ3JlZW4tMXgxLnBuZyIKIFBBU1MgImdyZWVuLTF4MS5wbmciIGlzICJncmVl
bi0xeDEucG5nIgogUEFTUyAiZ3JlZW4tMXgxLnBuZyIgaXMgImdyZWVuLTF4MS5wbmciCiBQQVNT
ICJncmVlbi0xeDEucG5nIiBpcyAiZ3JlZW4tMXgxLnBuZyIKLUZBSUwgImdyZWVuLTE2eDE2LnBu
ZyIgc2hvdWxkIGJlIGdyZWVuLTF4MS5wbmcuIFdhcyBncmVlbi0xNngxNi5wbmcuCiBQQVNTICJn
cmVlbi0xeDEucG5nIiBpcyAiZ3JlZW4tMXgxLnBuZyIKIFBBU1MgImdyZWVuLTF4MS5wbmciIGlz
ICJncmVlbi0xeDEucG5nIgogUEFTUyAiZ3JlZW4tMXgxLnBuZyIgaXMgImdyZWVuLTF4MS5wbmci
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>463710</attachid>
            <date>2022-11-24 06:55:07 -0800</date>
            <delta_ts>2022-11-24 09:08:04 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-248236-20221124165505.patch</filename>
            <type>text/plain</type>
            <size>48388</size>
            <attacher name="Antti Koivisto">koivisto</attacher>
            
              <data encoding="base64">RnJvbSA4MzE3NmExOTUxOTVlMjk0YjM4M2QxZDJmNDRkMzRkNDA1NTg5ZmRlIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbnR0aSBLb2l2aXN0byA8YW50dGlAYXBwbGUuY29tPgpEYXRl
OiBXZWQsIDIzIE5vdiAyMDIyIDEyOjU4OjM0ICswMjAwClN1YmplY3Q6IFtQQVRDSF0gW01RNF0g
VXNlIG5ldyBwYXJzZXIgYW5kIGV2YWx1YXRvciBmb3IgcmVzcG9uc2l2ZSBpbWFnZXMKIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yNDgyMzYgPHJkYXI6Ly9wcm9ibGVt
LzEwMjY0NzM0MT4KClJldmlld2VkIGJ5IEFsYW4gQmFyYWRsYXkuCgpIYW5kbGUgPHNvdXJjZSBt
ZWRpYT4gYW5kIDxpbWcgc2l6ZXM+IHdpdGggdGhlIG5ldyBjb2RlLgoKKiBMYXlvdXRUZXN0cy9m
YXN0L2RvbS9IVE1MSW1hZ2VFbGVtZW50L3NpemVzL2ltYWdlLXNpemVzLXczYy0xLWV4cGVjdGVk
LnR4dDoKKiBMYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MSW1hZ2VFbGVtZW50L3NpemVzL2ltYWdl
LXNpemVzLXczYy0yLWV4cGVjdGVkLnR4dDoKKiBMYXlvdXRUZXN0cy9mYXN0L2RvbS9IVE1MSW1h
Z2VFbGVtZW50L3NpemVzL2ltYWdlLXNpemVzLXczYy0zLWV4cGVjdGVkLnR4dDoKKiBMYXlvdXRU
ZXN0cy9mYXN0L2RvbS9IVE1MSW1hZ2VFbGVtZW50L3NpemVzL2ltYWdlLXNpemVzLXczYy00LWV4
cGVjdGVkLnR4dDoKClNvbWUgcHJvZ3Jlc3Npb25zIGluIHRoZXNlIHRlc3RzLgpUaGUgbmV3IEZB
SUxzIG1hdGNoIHRoZSBjdXJyZW50IHNwZWMgdGV4dCBhbmQgdGhlIGJlaGF2aW9yIG9mIGVpdGhl
ciBDaHJvbWUgb3IgRmlyZWZveCAoZ2VuZXJhbCBlbmNsb3NlZCBoYW5kbGluZykuCgoqIFNvdXJj
ZS9XZWJDb3JlL2Nzcy9wYXJzZXIvU2l6ZXNBdHRyaWJ1dGVQYXJzZXIuY3BwOgooV2ViQ29yZTo6
U2l6ZXNBdHRyaWJ1dGVQYXJzZXI6Om1lZGlhQ29uZGl0aW9uTWF0Y2hlcyk6CihXZWJDb3JlOjpT
aXplc0F0dHJpYnV0ZVBhcnNlcjo6cGFyc2UpOgoqIFNvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIv
U2l6ZXNBdHRyaWJ1dGVQYXJzZXIuaDoKKFdlYkNvcmU6OlNpemVzQXR0cmlidXRlUGFyc2VyOjpk
eW5hbWljTWVkaWFRdWVyeVJlc3VsdHMgY29uc3QpOgooV2ViQ29yZTo6U2l6ZXNBdHRyaWJ1dGVQ
YXJzZXI6OmR5bmFtaWNNZWRpYUNvbmRpdGlvblJlc3VsdHMgY29uc3QpOiBEZWxldGVkLgoqIFNv
dXJjZS9XZWJDb3JlL2Nzcy9xdWVyeS9HZW5lcmljTWVkaWFRdWVyeUV2YWx1YXRvci5oOgooV2Vi
Q29yZTo6TVE6OkdlbmVyaWNNZWRpYVF1ZXJ5RXZhbHVhdG9yPENvbmNyZXRlRXZhbHVhdG9yPjo6
ZXZhbHVhdGVDb25kaXRpb24gY29uc3QpOgoqIFNvdXJjZS9XZWJDb3JlL2Nzcy9xdWVyeS9HZW5l
cmljTWVkaWFRdWVyeVR5cGVzLmg6CihXZWJDb3JlOjpNUTo6dHJhdmVyc2VGZWF0dXJlcyk6Ciog
U291cmNlL1dlYkNvcmUvY3NzL3F1ZXJ5L01lZGlhUXVlcnkuaDoKKFdlYkNvcmU6Ok1ROjp0cmF2
ZXJzZUZlYXR1cmVzKToKCkFkZCBoZWxwZXIgZm9yIHRyYXZlcnNpbmcgZmVhdHVyZXMuCgoqIFNv
dXJjZS9XZWJDb3JlL2Nzcy9xdWVyeS9NZWRpYVF1ZXJ5RXZhbHVhdG9yLmNwcDoKKFdlYkNvcmU6
Ok1ROjpNZWRpYVF1ZXJ5RXZhbHVhdG9yOjpldmFsdWF0ZSBjb25zdCk6CgpGaXggVW5rbm93biBs
b2dpYy4KCihXZWJDb3JlOjpNUTo6TWVkaWFRdWVyeUV2YWx1YXRvcjo6ZXZhbHVhdGVNZWRpYVR5
cGUgY29uc3QpOgoKRmFjdG9yIGludG8gYSBmdW5jdGlvbi4KCihXZWJDb3JlOjpNUTo6TWVkaWFR
dWVyeUV2YWx1YXRvcjo6Y29sbGVjdER5bmFtaWNEZXBlbmRlbmNpZXMgY29uc3QpOgoKRmluZCBv
dXQgdGhlIGR5bmFtaWMgZGVwZW5kZW5jaWVzLgoKKiBTb3VyY2UvV2ViQ29yZS9jc3MvcXVlcnkv
TWVkaWFRdWVyeUV2YWx1YXRvci5oOgoqIFNvdXJjZS9XZWJDb3JlL2Nzcy9xdWVyeS9NZWRpYVF1
ZXJ5RmVhdHVyZXMuY3BwOgooV2ViQ29yZTo6TVE6OkZlYXR1cmVzOjpwcmVmZXJzUmVkdWNlZE1v
dGlvbik6CgpGaXggYSBjb3B5LXBhc3RhIGVycm9yLgoKKFdlYkNvcmU6Ok1ROjpGZWF0dXJlczo6
ZHluYW1pY0RlcGVuZGVuY3kpOgoKR2V0IGR5bmFtaWMgZGVwZW5kZW5jaWVzIG9mIGEgZmVhdHVy
ZSBzY2hlbWEuCgoqIFNvdXJjZS9XZWJDb3JlL2Nzcy9xdWVyeS9NZWRpYVF1ZXJ5RmVhdHVyZXMu
aDoKKiBTb3VyY2UvV2ViQ29yZS9jc3MvcXVlcnkvTWVkaWFRdWVyeVBhcnNlci5jcHA6CihXZWJD
b3JlOjpNUTo6TWVkaWFRdWVyeVBhcnNlcjo6cGFyc2VDb25kaXRpb24pOgoKQWRkIGEgaGVscGVy
IGZvciBwYXJzaW5nIGEgc2luZ2xlIGNvbmRpdGlvbiAoYXMgdXNlZCBpbiB0aGUgJ3NpemVzJyBh
dHRyaWJ1dGUpLgoKKiBTb3VyY2UvV2ViQ29yZS9jc3MvcXVlcnkvTWVkaWFRdWVyeVBhcnNlci5o
OgoqIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEltYWdlRWxlbWVudC5jcHA6CihXZWJDb3JlOjpI
VE1MSW1hZ2VFbGVtZW50OjpiZXN0Rml0U291cmNlRnJvbVBpY3R1cmVFbGVtZW50KToKKFdlYkNv
cmU6OkhUTUxJbWFnZUVsZW1lbnQ6OmV2YWx1YXRlRHluYW1pY01lZGlhUXVlcnlEZXBlbmRlbmNp
ZXMpOgooV2ViQ29yZTo6SFRNTEltYWdlRWxlbWVudDo6c2VsZWN0SW1hZ2VTb3VyY2UpOgoqIFNv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTEltYWdlRWxlbWVudC5oOgoqIFNvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTE1lZGlhRWxlbWVudC5jcHA6CihXZWJDb3JlOjpIVE1MTWVkaWFFbGVtZW50OjpzZWxl
Y3ROZXh0U291cmNlQ2hpbGQpOgoqIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNvdXJjZUVsZW1l
bnQuY3BwOgooV2ViQ29yZTo6SFRNTFNvdXJjZUVsZW1lbnQ6OnBhcnNlZE1lZGlhQXR0cmlidXRl
IGNvbnN0KToKKiBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxTb3VyY2VFbGVtZW50Lmg6Ci0tLQog
Li4uL2Nzcy9wYXJzZXIvU2l6ZXNBdHRyaWJ1dGVQYXJzZXIuY3BwICAgICAgIHwgMTYgKystLS0K
IC4uLi9XZWJDb3JlL2Nzcy9wYXJzZXIvU2l6ZXNBdHRyaWJ1dGVQYXJzZXIuaCB8ICA4ICstLQog
Li4uL2Nzcy9xdWVyeS9HZW5lcmljTWVkaWFRdWVyeUV2YWx1YXRvci5oICAgIHwgIDYgKy0KIC4u
Li9jc3MvcXVlcnkvR2VuZXJpY01lZGlhUXVlcnlQYXJzZXIuY3BwICAgICB8IDE0ICsrKy0KIC4u
Li9jc3MvcXVlcnkvR2VuZXJpY01lZGlhUXVlcnlUeXBlcy5oICAgICAgICB8IDIyICsrKysrKwog
U291cmNlL1dlYkNvcmUvY3NzL3F1ZXJ5L01lZGlhUXVlcnkuaCAgICAgICAgIHwgMTkgKysrKysK
IC4uLi9XZWJDb3JlL2Nzcy9xdWVyeS9NZWRpYVF1ZXJ5RXZhbHVhdG9yLmNwcCB8IDY5ICsrKysr
KysrKysrKysrKy0tLS0KIC4uLi9XZWJDb3JlL2Nzcy9xdWVyeS9NZWRpYVF1ZXJ5RXZhbHVhdG9y
LmggICB8ICA1ICsrCiAuLi4vV2ViQ29yZS9jc3MvcXVlcnkvTWVkaWFRdWVyeUZlYXR1cmVzLmNw
cCAgfCAyMSArKysrKy0KIFNvdXJjZS9XZWJDb3JlL2Nzcy9xdWVyeS9NZWRpYVF1ZXJ5RmVhdHVy
ZXMuaCB8ICA0ICstCiBTb3VyY2UvV2ViQ29yZS9jc3MvcXVlcnkvTWVkaWFRdWVyeVBhcnNlci5j
cHAgfCAxNiArKysrKwogU291cmNlL1dlYkNvcmUvY3NzL3F1ZXJ5L01lZGlhUXVlcnlQYXJzZXIu
aCAgIHwgIDEgKwogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50LmNwcCAgICAg
IHwgMjMgKysrLS0tLQogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50LmggICAg
ICAgIHwgIDUgKy0KIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAgICAg
ICB8ICA2ICstCiBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxTb3VyY2VFbGVtZW50LmNwcCAgICAg
fCAxMSArKy0KIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNvdXJjZUVsZW1lbnQuaCAgICAgICB8
ICA3ICstCiBMYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zICAgICAgICAgICAgICAgICAgfCAg
MSAtCiAuLi4vc2l6ZXMvaW1hZ2Utc2l6ZXMtdzNjLTEtZXhwZWN0ZWQudHh0ICAgICAgfCAxMiAr
Ky0tCiAuLi4vc2l6ZXMvaW1hZ2Utc2l6ZXMtdzNjLTItZXhwZWN0ZWQudHh0ICAgICAgfCAxMiAr
Ky0tCiAuLi4vc2l6ZXMvaW1hZ2Utc2l6ZXMtdzNjLTMtZXhwZWN0ZWQudHh0ICAgICAgfCAxMiAr
Ky0tCiAuLi4vc2l6ZXMvaW1hZ2Utc2l6ZXMtdzNjLTQtZXhwZWN0ZWQudHh0ICAgICAgfCAxMiAr
Ky0tCiAuLi4vc2l6ZXMvaW1hZ2Utc2l6ZXMtdzNjLTEtZXhwZWN0ZWQudHh0ICAgICAgfCAxMiAr
Ky0tCiAuLi4vc2l6ZXMvaW1hZ2Utc2l6ZXMtdzNjLTItZXhwZWN0ZWQudHh0ICAgICAgfCAxMiAr
Ky0tCiAuLi4vc2l6ZXMvaW1hZ2Utc2l6ZXMtdzNjLTMtZXhwZWN0ZWQudHh0ICAgICAgfCAxMiAr
Ky0tCiAuLi4vc2l6ZXMvaW1hZ2Utc2l6ZXMtdzNjLTQtZXhwZWN0ZWQudHh0ICAgICAgfCAxMiAr
Ky0tCiAyNiBmaWxlcyBjaGFuZ2VkLCAyNDAgaW5zZXJ0aW9ucygrKSwgMTEwIGRlbGV0aW9ucygt
KQoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9wYXJzZXIvU2l6ZXNBdHRyaWJ1dGVQ
YXJzZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9TaXplc0F0dHJpYnV0ZVBhcnNl
ci5jcHAKaW5kZXggZGJkMjBiNWYyZmEzLi5iYWNkZDZkNGE0NGMgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9wYXJzZXIvU2l6ZXNBdHRyaWJ1dGVQYXJzZXIuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9wYXJzZXIvU2l6ZXNBdHRyaWJ1dGVQYXJzZXIuY3BwCkBAIC0zNCw5ICsz
NCw4IEBACiAjaW5jbHVkZSAiQ1NTVG9MZW5ndGhDb252ZXJzaW9uRGF0YS5oIgogI2luY2x1ZGUg
IkNTU1Rva2VuaXplci5oIgogI2luY2x1ZGUgIkZvbnRDYXNjYWRlLmgiCi0jaW5jbHVkZSAiTGVn
YWN5TWVkaWFRdWVyeUV2YWx1YXRvci5oIgotI2luY2x1ZGUgIkxlZ2FjeU1lZGlhUXVlcnlQYXJz
ZXIuaCIKLSNpbmNsdWRlICJNZWRpYUxpc3QuaCIKKyNpbmNsdWRlICJNZWRpYVF1ZXJ5RXZhbHVh
dG9yLmgiCisjaW5jbHVkZSAiTWVkaWFRdWVyeVBhcnNlci5oIgogI2luY2x1ZGUgIk1lZGlhUXVl
cnlQYXJzZXJDb250ZXh0LmgiCiAjaW5jbHVkZSAiUmVuZGVyVmlldy5oIgogI2luY2x1ZGUgIlNp
emVzQ2FsY1BhcnNlci5oIgpAQCAtMTA0LDE0ICsxMDMsMTQgQEAgYm9vbCBTaXplc0F0dHJpYnV0
ZVBhcnNlcjo6Y2FsY3VsYXRlTGVuZ3RoSW5QaXhlbHMoQ1NTUGFyc2VyVG9rZW5SYW5nZSByYW5n
ZSwgZmwKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKLWJvb2wgU2l6ZXNBdHRyaWJ1dGVQYXJzZXI6
Om1lZGlhQ29uZGl0aW9uTWF0Y2hlcyhjb25zdCBNZWRpYVF1ZXJ5U2V0JiBtZWRpYUNvbmRpdGlv
bikKK2Jvb2wgU2l6ZXNBdHRyaWJ1dGVQYXJzZXI6Om1lZGlhQ29uZGl0aW9uTWF0Y2hlcyhjb25z
dCBNUTo6TWVkaWFRdWVyeSYgbWVkaWFDb25kaXRpb24pCiB7CiAgICAgLy8gQSBNZWRpYSBDb25k
aXRpb24gY2Fubm90IGhhdmUgYSBtZWRpYSB0eXBlIG90aGVyIHRoYW4gc2NyZWVuLgogICAgIGF1
dG8qIHJlbmRlcmVyID0gbV9kb2N1bWVudC5yZW5kZXJWaWV3KCk7CiAgICAgaWYgKCFyZW5kZXJl
cikKICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgIGF1dG8mIHN0eWxlID0gcmVuZGVyZXItPnN0
eWxlKCk7Ci0gICAgcmV0dXJuIExlZ2FjeU1lZGlhUXVlcnlFdmFsdWF0b3IgeyAic2NyZWVuIl9z
LCBtX2RvY3VtZW50LCAmc3R5bGUgfS5ldmFsdWF0ZShtZWRpYUNvbmRpdGlvbik7CisgICAgcmV0
dXJuIE1ROjpNZWRpYVF1ZXJ5RXZhbHVhdG9yIHsgInNjcmVlbiJfcywgbV9kb2N1bWVudCwgJnN0
eWxlIH0uZXZhbHVhdGUobWVkaWFDb25kaXRpb24pOwogfQogCiBib29sIFNpemVzQXR0cmlidXRl
UGFyc2VyOjpwYXJzZShDU1NQYXJzZXJUb2tlblJhbmdlIHJhbmdlKQpAQCAtMTMzLDEyICsxMzIs
MTMgQEAgYm9vbCBTaXplc0F0dHJpYnV0ZVBhcnNlcjo6cGFyc2UoQ1NTUGFyc2VyVG9rZW5SYW5n
ZSByYW5nZSkKICAgICAgICAgZmxvYXQgbGVuZ3RoOwogICAgICAgICBpZiAoIWNhbGN1bGF0ZUxl
bmd0aEluUGl4ZWxzKHJhbmdlLm1ha2VTdWJSYW5nZShsZW5ndGhUb2tlblN0YXJ0LCBsZW5ndGhU
b2tlbkVuZCksIGxlbmd0aCkpCiAgICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAgYXV0byBt
ZWRpYUNvbmRpdGlvbiA9IExlZ2FjeU1lZGlhUXVlcnlQYXJzZXI6OnBhcnNlTWVkaWFDb25kaXRp
b24ocmFuZ2UubWFrZVN1YlJhbmdlKG1lZGlhQ29uZGl0aW9uU3RhcnQsIGxlbmd0aFRva2VuU3Rh
cnQpLCBNZWRpYVF1ZXJ5UGFyc2VyQ29udGV4dChtX2RvY3VtZW50KSk7CisgICAgICAgIGF1dG8g
bWVkaWFDb25kaXRpb24gPSBNUTo6TWVkaWFRdWVyeVBhcnNlcjo6cGFyc2VDb25kaXRpb24ocmFu
Z2UubWFrZVN1YlJhbmdlKG1lZGlhQ29uZGl0aW9uU3RhcnQsIGxlbmd0aFRva2VuU3RhcnQpLCBN
ZWRpYVF1ZXJ5UGFyc2VyQ29udGV4dChtX2RvY3VtZW50KSk7CiAgICAgICAgIGlmICghbWVkaWFD
b25kaXRpb24pCiAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgYm9vbCBtYXRjaGVzID0g
bWVkaWFDb25kaXRpb25NYXRjaGVzKCptZWRpYUNvbmRpdGlvbik7Ci0gICAgICAgIGlmICghbWVk
aWFRdWVyeUR5bmFtaWNEZXBlbmRlbmNpZXMoKm1lZGlhQ29uZGl0aW9uLCB7ICJzY3JlZW4iX3Ms
IGZhbHNlIH0pLmlzRW1wdHkoKSkKLSAgICAgICAgICAgIG1fZHluYW1pY01lZGlhQ29uZGl0aW9u
UmVzdWx0cy5hcHBlbmQoeyAqbWVkaWFDb25kaXRpb24sIG1hdGNoZXMgfSk7CisgICAgICAgIE1R
OjpNZWRpYVF1ZXJ5RXZhbHVhdG9yIGV2YWx1YXRvciB7ICJzY3JlZW4iX3MsIG1fZG9jdW1lbnQs
IG51bGxwdHIgfTsKKyAgICAgICAgaWYgKCFldmFsdWF0b3IuY29sbGVjdER5bmFtaWNEZXBlbmRl
bmNpZXMoKm1lZGlhQ29uZGl0aW9uKS5pc0VtcHR5KCkpCisgICAgICAgICAgICBtX2R5bmFtaWNN
ZWRpYVF1ZXJ5UmVzdWx0cy5hcHBlbmQoeyBNUTo6TWVkaWFRdWVyeUxpc3QgeyAqbWVkaWFDb25k
aXRpb24gfSwgbWF0Y2hlcyB9KTsKICAgICAgICAgaWYgKCFtYXRjaGVzKQogICAgICAgICAgICAg
Y29udGludWU7CiAgICAgICAgIG1fbGVuZ3RoID0gbGVuZ3RoOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvY3NzL3BhcnNlci9TaXplc0F0dHJpYnV0ZVBhcnNlci5oIGIvU291cmNlL1dlYkNv
cmUvY3NzL3BhcnNlci9TaXplc0F0dHJpYnV0ZVBhcnNlci5oCmluZGV4IDY4OTNkMjY1YWNmYy4u
NzJmZGUwYjc4OGU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvcGFyc2VyL1NpemVz
QXR0cmlidXRlUGFyc2VyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL3BhcnNlci9TaXplc0F0
dHJpYnV0ZVBhcnNlci5oCkBAIC0zMSw3ICszMSw3IEBACiAKICNpbmNsdWRlICJDU1NQYXJzZXJU
b2tlblJhbmdlLmgiCiAjaW5jbHVkZSAiQ1NTUHJpbWl0aXZlVmFsdWUuaCIKLSNpbmNsdWRlICJM
ZWdhY3lNZWRpYVF1ZXJ5RXZhbHVhdG9yLmgiCisjaW5jbHVkZSAiTWVkaWFRdWVyeS5oIgogI2lu
Y2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC00
OCwxNyArNDgsMTcgQEAgcHVibGljOgogICAgIHN0YXRpYyBmbG9hdCBkZWZhdWx0TGVuZ3RoKGNv
bnN0IERvY3VtZW50Jik7CiAgICAgc3RhdGljIGZsb2F0IGNvbXB1dGVMZW5ndGgoZG91YmxlIHZh
bHVlLCBDU1NVbml0VHlwZSwgY29uc3QgRG9jdW1lbnQmKTsKIAotICAgIGF1dG8mIGR5bmFtaWNN
ZWRpYUNvbmRpdGlvblJlc3VsdHMoKSBjb25zdCB7IHJldHVybiBtX2R5bmFtaWNNZWRpYUNvbmRp
dGlvblJlc3VsdHM7IH0KKyAgICBhdXRvJiBkeW5hbWljTWVkaWFRdWVyeVJlc3VsdHMoKSBjb25z
dCB7IHJldHVybiBtX2R5bmFtaWNNZWRpYVF1ZXJ5UmVzdWx0czsgfQogCiBwcml2YXRlOgogICAg
IGJvb2wgcGFyc2UoQ1NTUGFyc2VyVG9rZW5SYW5nZSk7CiAgICAgZmxvYXQgZWZmZWN0aXZlU2l6
ZSgpOwogICAgIGJvb2wgY2FsY3VsYXRlTGVuZ3RoSW5QaXhlbHMoQ1NTUGFyc2VyVG9rZW5SYW5n
ZSwgZmxvYXQmIHJlc3VsdCk7Ci0gICAgYm9vbCBtZWRpYUNvbmRpdGlvbk1hdGNoZXMoY29uc3Qg
TWVkaWFRdWVyeVNldCYgbWVkaWFDb25kaXRpb24pOworICAgIGJvb2wgbWVkaWFDb25kaXRpb25N
YXRjaGVzKGNvbnN0IE1ROjpNZWRpYVF1ZXJ5Jik7CiAgICAgdW5zaWduZWQgZWZmZWN0aXZlU2l6
ZURlZmF1bHRWYWx1ZSgpOwogCiAgICAgY29uc3QgRG9jdW1lbnQmIG1fZG9jdW1lbnQ7Ci0gICAg
VmVjdG9yPE1lZGlhUXVlcnlSZXN1bHQ+IG1fZHluYW1pY01lZGlhQ29uZGl0aW9uUmVzdWx0czsK
KyAgICBWZWN0b3I8TVE6Ok1lZGlhUXVlcnlSZXN1bHQ+IG1fZHluYW1pY01lZGlhUXVlcnlSZXN1
bHRzOwogICAgIGZsb2F0IG1fbGVuZ3RoIHsgMCB9OwogICAgIGJvb2wgbV9sZW5ndGhXYXNTZXQg
eyBmYWxzZSB9OwogICAgIGJvb2wgbV9pc1ZhbGlkIHsgZmFsc2UgfTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9xdWVyeS9HZW5lcmljTWVkaWFRdWVyeUV2YWx1YXRvci5oIGIvU291
cmNlL1dlYkNvcmUvY3NzL3F1ZXJ5L0dlbmVyaWNNZWRpYVF1ZXJ5RXZhbHVhdG9yLmgKaW5kZXgg
ODA3NWJhYTA5ZDgwLi5lYjM3YjdmMWUwNzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy9xdWVyeS9HZW5lcmljTWVkaWFRdWVyeUV2YWx1YXRvci5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9xdWVyeS9HZW5lcmljTWVkaWFRdWVyeUV2YWx1YXRvci5oCkBAIC03Niw5ICs3NiwxMCBA
QCBFdmFsdWF0aW9uUmVzdWx0IEdlbmVyaWNNZWRpYVF1ZXJ5RXZhbHVhdG9yPENvbmNyZXRlRXZh
bHVhdG9yPjo6ZXZhbHVhdGVDb25kaXRpbwogICAgIGNhc2UgTG9naWNhbE9wZXJhdG9yOjpOb3Q6
CiAgICAgICAgIHJldHVybiAhY29uY3JldGVFdmFsdWF0b3IoKS5ldmFsdWF0ZVF1ZXJ5SW5QYXJl
bnMoY29uZGl0aW9uLnF1ZXJpZXMuZmlyc3QoKSwgY29udGV4dCk7CiAKKyAgICAvLyBLbGVlbmUg
My12YWx1ZWQgbG9naWMuCiAgICAgY2FzZSBMb2dpY2FsT3BlcmF0b3I6OkFuZDogewogICAgICAg
ICBhdXRvIHJlc3VsdCA9IEV2YWx1YXRpb25SZXN1bHQ6OlRydWU7Ci0gICAgICAgIGZvciAoYXV0
byBxdWVyeSA6IGNvbmRpdGlvbi5xdWVyaWVzKSB7CisgICAgICAgIGZvciAoYXV0byYgcXVlcnkg
OiBjb25kaXRpb24ucXVlcmllcykgewogICAgICAgICAgICAgYXV0byBxdWVyeVJlc3VsdCA9IGNv
bmNyZXRlRXZhbHVhdG9yKCkuZXZhbHVhdGVRdWVyeUluUGFyZW5zKHF1ZXJ5LCBjb250ZXh0KTsK
ICAgICAgICAgICAgIGlmIChxdWVyeVJlc3VsdCA9PSBFdmFsdWF0aW9uUmVzdWx0OjpGYWxzZSkK
ICAgICAgICAgICAgICAgICByZXR1cm4gRXZhbHVhdGlvblJlc3VsdDo6RmFsc2U7CkBAIC05MCw3
ICs5MSw3IEBAIEV2YWx1YXRpb25SZXN1bHQgR2VuZXJpY01lZGlhUXVlcnlFdmFsdWF0b3I8Q29u
Y3JldGVFdmFsdWF0b3I+OjpldmFsdWF0ZUNvbmRpdGlvCiAKICAgICBjYXNlIExvZ2ljYWxPcGVy
YXRvcjo6T3I6IHsKICAgICAgICAgYXV0byByZXN1bHQgPSBFdmFsdWF0aW9uUmVzdWx0OjpGYWxz
ZTsKLSAgICAgICAgZm9yIChhdXRvIHF1ZXJ5IDogY29uZGl0aW9uLnF1ZXJpZXMpIHsKKyAgICAg
ICAgZm9yIChhdXRvJiBxdWVyeSA6IGNvbmRpdGlvbi5xdWVyaWVzKSB7CiAgICAgICAgICAgICBh
dXRvIHF1ZXJ5UmVzdWx0ID0gY29uY3JldGVFdmFsdWF0b3IoKS5ldmFsdWF0ZVF1ZXJ5SW5QYXJl
bnMocXVlcnksIGNvbnRleHQpOwogICAgICAgICAgICAgaWYgKHF1ZXJ5UmVzdWx0ID09IEV2YWx1
YXRpb25SZXN1bHQ6OlRydWUpCiAgICAgICAgICAgICAgICAgcmV0dXJuIEV2YWx1YXRpb25SZXN1
bHQ6OlRydWU7CkBAIC0xMTIsNyArMTEzLDYgQEAgRXZhbHVhdGlvblJlc3VsdCBHZW5lcmljTWVk
aWFRdWVyeUV2YWx1YXRvcjxDb25jcmV0ZUV2YWx1YXRvcj46OmV2YWx1YXRlRmVhdHVyZSgKICAg
ICByZXR1cm4gZmVhdHVyZS5zY2hlbWEtPmV2YWx1YXRlKGZlYXR1cmUsIGNvbnRleHQpOwogfQog
Ci0KIGlubGluZSBFdmFsdWF0aW9uUmVzdWx0IG9wZXJhdG9yJihFdmFsdWF0aW9uUmVzdWx0IGxl
ZnQsIEV2YWx1YXRpb25SZXN1bHQgcmlnaHQpCiB7CiAgICAgaWYgKGxlZnQgPT0gRXZhbHVhdGlv
blJlc3VsdDo6VW5rbm93biB8fCByaWdodCA9PSBFdmFsdWF0aW9uUmVzdWx0OjpVbmtub3duKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL3F1ZXJ5L0dlbmVyaWNNZWRpYVF1ZXJ5UGFy
c2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9xdWVyeS9HZW5lcmljTWVkaWFRdWVyeVBhcnNl
ci5jcHAKaW5kZXggOWYyM2U1OWFkNmRiLi4xMDdhNDBhMTllNzggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9xdWVyeS9HZW5lcmljTWVkaWFRdWVyeVBhcnNlci5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvY3NzL3F1ZXJ5L0dlbmVyaWNNZWRpYVF1ZXJ5UGFyc2VyLmNwcApAQCAtMTk1
LDEyICsxOTUsMjAgQEAgUmVmUHRyPENTU1ZhbHVlPiBHZW5lcmljTWVkaWFRdWVyeVBhcnNlckJh
c2U6OmNvbnN1bWVWYWx1ZShDU1NQYXJzZXJUb2tlblJhbmdlJgogICAgICAgICByZXR1cm4gbnVs
bHB0cjsKICAgICBpZiAoYXV0byB2YWx1ZSA9IENTU1Byb3BlcnR5UGFyc2VySGVscGVyczo6Y29u
c3VtZUlkZW50KHJhbmdlKSkKICAgICAgICAgcmV0dXJuIHZhbHVlOwotICAgIGlmIChhdXRvIHZh
bHVlID0gQ1NTUHJvcGVydHlQYXJzZXJIZWxwZXJzOjpjb25zdW1lTGVuZ3RoKHJhbmdlLCBtX2Nv
bnRleHQubW9kZSwgVmFsdWVSYW5nZTo6QWxsKSkKKyAgICBhdXRvIHJhbmdlQ29weSA9IHJhbmdl
OworICAgIGlmIChhdXRvIHZhbHVlID0gQ1NTUHJvcGVydHlQYXJzZXJIZWxwZXJzOjpjb25zdW1l
SW50ZWdlcihyYW5nZSkpIHsKKyAgICAgICAgaWYgKHJhbmdlLmF0RW5kKCkpCisgICAgICAgICAg
ICByZXR1cm4gdmFsdWU7CisgICAgICAgIHJhbmdlID0gcmFuZ2VDb3B5OworICAgIH0KKyAgICBp
ZiAoYXV0byB2YWx1ZSA9IENTU1Byb3BlcnR5UGFyc2VySGVscGVyczo6Y29uc3VtZUxlbmd0aChy
YW5nZSwgSFRNTFN0YW5kYXJkTW9kZSwgVmFsdWVSYW5nZTo6QWxsKSkKICAgICAgICAgcmV0dXJu
IHZhbHVlOwogICAgIGlmIChhdXRvIHZhbHVlID0gQ1NTUHJvcGVydHlQYXJzZXJIZWxwZXJzOjpj
b25zdW1lQXNwZWN0UmF0aW9WYWx1ZShyYW5nZSkpCiAgICAgICAgIHJldHVybiB2YWx1ZTsKICAg
ICBpZiAoYXV0byB2YWx1ZSA9IENTU1Byb3BlcnR5UGFyc2VySGVscGVyczo6Y29uc3VtZVJlc29s
dXRpb24ocmFuZ2UpKQogICAgICAgICByZXR1cm4gdmFsdWU7CisgICAgaWYgKGF1dG8gdmFsdWUg
PSBDU1NQcm9wZXJ0eVBhcnNlckhlbHBlcnM6OmNvbnN1bWVOdW1iZXIocmFuZ2UsIFZhbHVlUmFu
Z2U6OkFsbCkpCisgICAgICAgIHJldHVybiB2YWx1ZTsKIAogICAgIHJldHVybiBudWxscHRyOwog
fQpAQCAtMjIzLDYgKzIzMSwxMCBAQCBib29sIEdlbmVyaWNNZWRpYVF1ZXJ5UGFyc2VyQmFzZTo6
dmFsaWRhdGVGZWF0dXJlQWdhaW5zdFNjaGVtYShGZWF0dXJlJiBmZWF0dXJlLAogICAgICAgICBp
ZiAoYXV0byogcHJpbWl0aXZlVmFsdWUgPSBkeW5hbWljRG93bmNhc3Q8Q1NTUHJpbWl0aXZlVmFs
dWU+KHZhbHVlKSkgewogICAgICAgICAgICAgaWYgKHByaW1pdGl2ZVZhbHVlLT5pc1ZhbHVlSUQo
KSkKICAgICAgICAgICAgICAgICByZXR1cm4gc2NoZW1hLnZhbHVlSWRlbnRpZmllcnMuY29udGFp
bnMocHJpbWl0aXZlVmFsdWUtPnZhbHVlSUQoKSk7CisKKyAgICAgICAgICAgIGlmIChwcmltaXRp
dmVWYWx1ZS0+aXNJbnRlZ2VyKCkgJiYgIXByaW1pdGl2ZVZhbHVlLT5pbnRWYWx1ZSgpICYmIHNj
aGVtYS52YWx1ZVR5cGVzLmNvbnRhaW5zKEZlYXR1cmVTY2hlbWE6OlZhbHVlVHlwZTo6TGVuZ3Ro
KSkKKyAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKwogICAgICAgICAgICAgYXV0byB2YWx1
ZVR5cGUgPSB2YWx1ZVR5cGVGb3JWYWx1ZSgqcHJpbWl0aXZlVmFsdWUpOwogICAgICAgICAgICAg
cmV0dXJuIHZhbHVlVHlwZSAmJiBzY2hlbWEudmFsdWVUeXBlcy5jb250YWlucygqdmFsdWVUeXBl
KTsKICAgICAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL3F1ZXJ5L0dlbmVy
aWNNZWRpYVF1ZXJ5VHlwZXMuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9xdWVyeS9HZW5lcmljTWVk
aWFRdWVyeVR5cGVzLmgKaW5kZXggNTFmMGM4YWM4ZGNjLi5jMTg5ZDY2MjA3MmEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9xdWVyeS9HZW5lcmljTWVkaWFRdWVyeVR5cGVzLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvY3NzL3F1ZXJ5L0dlbmVyaWNNZWRpYVF1ZXJ5VHlwZXMuaApAQCAt
MTA1LDUgKzEwNSwyNyBAQCBzdHJ1Y3QgRmVhdHVyZVNjaGVtYSB7CiAgICAgdmlydHVhbCB+RmVh
dHVyZVNjaGVtYSgpID0gZGVmYXVsdDsKIH07CiAKK3RlbXBsYXRlPHR5cGVuYW1lIFRyYXZlcnNl
RnVuY3Rpb24+IHZvaWQgdHJhdmVyc2VGZWF0dXJlcyhjb25zdCBDb25kaXRpb24mLCBUcmF2ZXJz
ZUZ1bmN0aW9uJiYpOworCit0ZW1wbGF0ZTx0eXBlbmFtZSBUcmF2ZXJzZUZ1bmN0aW9uPgordm9p
ZCB0cmF2ZXJzZUZlYXR1cmVzKGNvbnN0IFF1ZXJ5SW5QYXJlbnMmIHF1ZXJ5SW5QYXJlbnMsIFRy
YXZlcnNlRnVuY3Rpb24mJiBmdW5jdGlvbikKK3sKKyAgICByZXR1cm4gV1RGOjpzd2l0Y2hPbihx
dWVyeUluUGFyZW5zLCBbJl0oY29uc3QgQ29uZGl0aW9uJiBjb25kaXRpb24pIHsKKyAgICAgICAg
dHJhdmVyc2VGZWF0dXJlcyhjb25kaXRpb24sIGZ1bmN0aW9uKTsKKyAgICB9LCBbJl0oY29uc3Qg
TVE6OkZlYXR1cmUmIGZlYXR1cmUpIHsKKyAgICAgICAgZnVuY3Rpb24oZmVhdHVyZSk7CisgICAg
fSwgWyZdKGNvbnN0IE1ROjpHZW5lcmFsRW5jbG9zZWQmKSB7CisgICAgICAgIHJldHVybjsKKyAg
ICB9KTsKK30KKwordGVtcGxhdGU8dHlwZW5hbWUgVHJhdmVyc2VGdW5jdGlvbj4KK3ZvaWQgdHJh
dmVyc2VGZWF0dXJlcyhjb25zdCBDb25kaXRpb24mIGNvbmRpdGlvbiwgVHJhdmVyc2VGdW5jdGlv
biYmIGZ1bmN0aW9uKQoreworICAgIGZvciAoYXV0byYgcXVlcnlJblBhcmVucyA6IGNvbmRpdGlv
bi5xdWVyaWVzKQorICAgICAgICB0cmF2ZXJzZUZlYXR1cmVzKHF1ZXJ5SW5QYXJlbnMsIGZ1bmN0
aW9uKTsKK30KKworCiB9CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvcXVlcnkv
TWVkaWFRdWVyeS5oIGIvU291cmNlL1dlYkNvcmUvY3NzL3F1ZXJ5L01lZGlhUXVlcnkuaAppbmRl
eCBjYjMzYTdiZDMyYTguLjgyNDNmMTA4ZTQxOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
Y3NzL3F1ZXJ5L01lZGlhUXVlcnkuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvcXVlcnkvTWVk
aWFRdWVyeS5oCkBAIC0zOSwxMSArMzksMzAgQEAgc3RydWN0IE1lZGlhUXVlcnkgewogCiB1c2lu
ZyBNZWRpYVF1ZXJ5TGlzdCA9IFZlY3RvcjxNZWRpYVF1ZXJ5PjsKIAorc3RydWN0IE1lZGlhUXVl
cnlSZXN1bHQgeworICAgIE1lZGlhUXVlcnlMaXN0IG1lZGlhUXVlcnlMaXN0OworICAgIGJvb2wg
cmVzdWx0OworfTsKKwogZW51bSBjbGFzcyBNZWRpYVF1ZXJ5RHluYW1pY0RlcGVuZGVuY3kgOiB1
aW50OF90ICB7CiAgICAgVmlld3BvcnQgPSAxIDw8IDAsCiAgICAgQXBwZWFyYW5jZSA9IDEgPDwg
MSwKICAgICBBY2Nlc3NpYmlsaXR5ID0gMSA8PCAyLAogfTsKIAordGVtcGxhdGU8dHlwZW5hbWUg
VHJhdmVyc2VGdW5jdGlvbj4KK3ZvaWQgdHJhdmVyc2VGZWF0dXJlcyhjb25zdCBNZWRpYVF1ZXJ5
JiBxdWVyeSwgVHJhdmVyc2VGdW5jdGlvbiYmIGZ1bmN0aW9uKQoreworICAgIGlmIChxdWVyeS5j
b25kaXRpb24pCisgICAgICAgIHRyYXZlcnNlRmVhdHVyZXMoKnF1ZXJ5LmNvbmRpdGlvbiwgZnVu
Y3Rpb24pOworfQorCit0ZW1wbGF0ZTx0eXBlbmFtZSBUcmF2ZXJzZUZ1bmN0aW9uPgordm9pZCB0
cmF2ZXJzZUZlYXR1cmVzKGNvbnN0IE1lZGlhUXVlcnlMaXN0JiBsaXN0LCBUcmF2ZXJzZUZ1bmN0
aW9uJiYgZnVuY3Rpb24pCit7CisgICAgZm9yIChhdXRvJiBxdWVyeSA6IGxpc3QpCisgICAgICAg
IHRyYXZlcnNlRmVhdHVyZXMocXVlcnksIGZ1bmN0aW9uKTsKK30KKwogfQogfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvY3NzL3F1ZXJ5L01lZGlhUXVlcnlFdmFsdWF0b3IuY3BwIGIvU291
cmNlL1dlYkNvcmUvY3NzL3F1ZXJ5L01lZGlhUXVlcnlFdmFsdWF0b3IuY3BwCmluZGV4IDFkNWM0
NjA0MzQ5NS4uNDY4OTg3YzhmNzZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvcXVl
cnkvTWVkaWFRdWVyeUV2YWx1YXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL3F1ZXJ5
L01lZGlhUXVlcnlFdmFsdWF0b3IuY3BwCkBAIC0yOCw2ICsyOCw3IEBACiAjaW5jbHVkZSAiQ1NT
VG9MZW5ndGhDb252ZXJzaW9uRGF0YS5oIgogI2luY2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVk
ZSAiTWVkaWFRdWVyeS5oIgorI2luY2x1ZGUgIk1lZGlhUXVlcnlGZWF0dXJlcy5oIgogI2luY2x1
ZGUgIlJlbmRlclZpZXcuaCIKICNpbmNsdWRlICJTdHlsZUZvbnRTaXplRnVuY3Rpb25zLmgiCiAK
QEAgLTU4LDI2ICs1OSwxOCBAQCBib29sIE1lZGlhUXVlcnlFdmFsdWF0b3I6OmV2YWx1YXRlKGNv
bnN0IE1lZGlhUXVlcnkmIHF1ZXJ5KSBjb25zdAogewogICAgIGJvb2wgaXNOZWdhdGVkID0gcXVl
cnkucHJlZml4ICYmICpxdWVyeS5wcmVmaXggPT0gUHJlZml4OjpOb3Q7CiAKLSAgICBhdXRvIG1l
ZGlhVHlwZU1hdGNoZXMgPSBbJl0gewotICAgICAgICBpZiAocXVlcnkubWVkaWFUeXBlLmlzRW1w
dHkoKSkKLSAgICAgICAgICAgIHJldHVybiB0cnVlOwotICAgICAgICBpZiAoZXF1YWxMZXR0ZXJz
SWdub3JpbmdBU0NJSUNhc2UocXVlcnkubWVkaWFUeXBlLCAiYWxsIl9zKSkKLSAgICAgICAgICAg
IHJldHVybiB0cnVlOwotICAgICAgICByZXR1cm4gZXF1YWxJZ25vcmluZ0FTQ0lJQ2FzZShxdWVy
eS5tZWRpYVR5cGUsIG1fbWVkaWFUeXBlKTsKLSAgICB9KCk7Ci0KLSAgICBpZiAoIW1lZGlhVHlw
ZU1hdGNoZXMpCisgICAgaWYgKCFldmFsdWF0ZU1lZGlhVHlwZShxdWVyeSkpCiAgICAgICAgIHJl
dHVybiBpc05lZ2F0ZWQ7CiAKLSAgICBhdXRvIGNvbmRpdGlvbk1hdGNoZXMgPSBbJl0geworICAg
IGF1dG8gcmVzdWx0ID0gWyZdIHsKICAgICAgICAgaWYgKCFxdWVyeS5jb25kaXRpb24pCi0gICAg
ICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgICAgIHJldHVybiBFdmFsdWF0aW9uUmVzdWx0
OjpUcnVlOwogCiAgICAgICAgIGlmICghbV9kb2N1bWVudC52aWV3KCkpCi0gICAgICAgICAgICBy
ZXR1cm4gZmFsc2U7CisgICAgICAgICAgICByZXR1cm4gRXZhbHVhdGlvblJlc3VsdDo6VW5rbm93
bjsKIAogICAgICAgICBpZiAoIW1fZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50KCkpCi0gICAgICAg
ICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgICAgICByZXR1cm4gRXZhbHVhdGlvblJlc3VsdDo6
VW5rbm93bjsKIAogICAgICAgICBhdXRvIGRlZmF1bHRTdHlsZSA9IFJlbmRlclN0eWxlOjpjcmVh
dGUoKTsKICAgICAgICAgYXV0byBmb250RGVzY3JpcHRpb24gPSBkZWZhdWx0U3R5bGUuZm9udERl
c2NyaXB0aW9uKCk7CkBAIC04OCwxMCArODEsNTYgQEAgYm9vbCBNZWRpYVF1ZXJ5RXZhbHVhdG9y
OjpldmFsdWF0ZShjb25zdCBNZWRpYVF1ZXJ5JiBxdWVyeSkgY29uc3QKICAgICAgICAgZGVmYXVs
dFN0eWxlLmZvbnRDYXNjYWRlKCkudXBkYXRlKCk7CiAKICAgICAgICAgRmVhdHVyZUV2YWx1YXRp
b25Db250ZXh0IGNvbnRleHQgeyBtX2RvY3VtZW50LCB7ICptX3Jvb3RFbGVtZW50U3R5bGUsICZk
ZWZhdWx0U3R5bGUsIG51bGxwdHIsIG1fZG9jdW1lbnQucmVuZGVyVmlldygpIH0sIG51bGxwdHIg
fTsKLSAgICAgICAgcmV0dXJuIGV2YWx1YXRlQ29uZGl0aW9uKCpxdWVyeS5jb25kaXRpb24sIGNv
bnRleHQpID09IEV2YWx1YXRpb25SZXN1bHQ6OlRydWU7CisgICAgICAgIHJldHVybiBldmFsdWF0
ZUNvbmRpdGlvbigqcXVlcnkuY29uZGl0aW9uLCBjb250ZXh0KTsKICAgICB9KCk7CiAKLSAgICBy
ZXR1cm4gY29uZGl0aW9uTWF0Y2hlcyAhPSBpc05lZ2F0ZWQ7CisgICAgc3dpdGNoIChyZXN1bHQp
IHsKKyAgICBjYXNlIEV2YWx1YXRpb25SZXN1bHQ6OlVua25vd246CisgICAgICAgIHJldHVybiBm
YWxzZTsKKyAgICBjYXNlIEV2YWx1YXRpb25SZXN1bHQ6OlRydWU6CisgICAgICAgIHJldHVybiAh
aXNOZWdhdGVkOworICAgIGNhc2UgRXZhbHVhdGlvblJlc3VsdDo6RmFsc2U6CisgICAgICAgIHJl
dHVybiBpc05lZ2F0ZWQ7CisgICAgfQorCisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAg
cmV0dXJuIGZhbHNlOworfQorCitib29sIE1lZGlhUXVlcnlFdmFsdWF0b3I6OmV2YWx1YXRlTWVk
aWFUeXBlKGNvbnN0IE1lZGlhUXVlcnkmIHF1ZXJ5KSBjb25zdAoreworICAgIGlmIChxdWVyeS5t
ZWRpYVR5cGUuaXNFbXB0eSgpKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICBpZiAoZXF1YWxM
ZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UocXVlcnkubWVkaWFUeXBlLCAiYWxsIl9zKSkKKyAgICAg
ICAgcmV0dXJuIHRydWU7CisgICAgcmV0dXJuIGVxdWFsSWdub3JpbmdBU0NJSUNhc2UocXVlcnku
bWVkaWFUeXBlLCBtX21lZGlhVHlwZSk7Cit9OworCitPcHRpb25TZXQ8TWVkaWFRdWVyeUR5bmFt
aWNEZXBlbmRlbmN5PiBNZWRpYVF1ZXJ5RXZhbHVhdG9yOjpjb2xsZWN0RHluYW1pY0RlcGVuZGVu
Y2llcyhjb25zdCBNZWRpYVF1ZXJ5TGlzdCYgcXVlcmllcykgY29uc3QKK3sKKyAgICBPcHRpb25T
ZXQ8TWVkaWFRdWVyeUR5bmFtaWNEZXBlbmRlbmN5PiByZXN1bHQ7CisKKyAgICBmb3IgKGF1dG8m
IHF1ZXJ5IDogcXVlcmllcykKKyAgICAgICAgcmVzdWx0LmFkZChjb2xsZWN0RHluYW1pY0RlcGVu
ZGVuY2llcyhxdWVyeSkpOworCisgICAgcmV0dXJuIHJlc3VsdDsKK30KKworT3B0aW9uU2V0PE1l
ZGlhUXVlcnlEeW5hbWljRGVwZW5kZW5jeT4gTWVkaWFRdWVyeUV2YWx1YXRvcjo6Y29sbGVjdER5
bmFtaWNEZXBlbmRlbmNpZXMoY29uc3QgTWVkaWFRdWVyeSYgcXVlcnkpIGNvbnN0Cit7CisgICAg
aWYgKCFldmFsdWF0ZU1lZGlhVHlwZShxdWVyeSkpCisgICAgICAgIHJldHVybiB7IH07CisKKyAg
ICBPcHRpb25TZXQ8TWVkaWFRdWVyeUR5bmFtaWNEZXBlbmRlbmN5PiByZXN1bHQ7CisKKyAgICB0
cmF2ZXJzZUZlYXR1cmVzKHF1ZXJ5LCBbJl0oY29uc3QgRmVhdHVyZSYgZmVhdHVyZSkgeworICAg
ICAgICBpZiAoIWZlYXR1cmUuc2NoZW1hKQorICAgICAgICAgICAgcmV0dXJuOworICAgICAgICBp
ZiAoYXV0byBkZXBlbmRlbmN5ID0gRmVhdHVyZXM6OmR5bmFtaWNEZXBlbmRlbmN5KCpmZWF0dXJl
LnNjaGVtYSkpCisgICAgICAgICAgICByZXN1bHQuYWRkKCpkZXBlbmRlbmN5KTsKKyAgICB9KTsK
KworICAgIHJldHVybiByZXN1bHQ7CiB9CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9xdWVyeS9NZWRpYVF1ZXJ5RXZhbHVhdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvcXVl
cnkvTWVkaWFRdWVyeUV2YWx1YXRvci5oCmluZGV4IDBkMWNiMzg4ODNjZS4uOWQwMjk0NGQ0NmJk
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvcXVlcnkvTWVkaWFRdWVyeUV2YWx1YXRv
ci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9xdWVyeS9NZWRpYVF1ZXJ5RXZhbHVhdG9yLmgK
QEAgLTQwLDYgKzQwLDExIEBAIHB1YmxpYzoKICAgICBib29sIGV2YWx1YXRlKGNvbnN0IE1lZGlh
UXVlcnlMaXN0JikgY29uc3Q7CiAgICAgYm9vbCBldmFsdWF0ZShjb25zdCBNZWRpYVF1ZXJ5Jikg
Y29uc3Q7CiAKKyAgICBib29sIGV2YWx1YXRlTWVkaWFUeXBlKGNvbnN0IE1lZGlhUXVlcnkmKSBj
b25zdDsKKworICAgIE9wdGlvblNldDxNZWRpYVF1ZXJ5RHluYW1pY0RlcGVuZGVuY3k+IGNvbGxl
Y3REeW5hbWljRGVwZW5kZW5jaWVzKGNvbnN0IE1lZGlhUXVlcnlMaXN0JikgY29uc3Q7CisgICAg
T3B0aW9uU2V0PE1lZGlhUXVlcnlEeW5hbWljRGVwZW5kZW5jeT4gY29sbGVjdER5bmFtaWNEZXBl
bmRlbmNpZXMoY29uc3QgTWVkaWFRdWVyeSYpIGNvbnN0OworCiBwcml2YXRlOgogICAgIGNvbnN0
IEF0b21TdHJpbmcgbV9tZWRpYVR5cGU7CiAgICAgY29uc3QgRG9jdW1lbnQmIG1fZG9jdW1lbnQ7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvcXVlcnkvTWVkaWFRdWVyeUZlYXR1cmVz
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9xdWVyeS9NZWRpYVF1ZXJ5RmVhdHVyZXMuY3BwCmlu
ZGV4IDlmZDMwODIzZDExOS4uMzc5NmFkZWM5MWM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvcXVlcnkvTWVkaWFRdWVyeUZlYXR1cmVzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvcXVlcnkvTWVkaWFRdWVyeUZlYXR1cmVzLmNwcApAQCAtNTI5LDcgKzUyOSw3IEBAIGNvbnN0
IEZlYXR1cmVTY2hlbWEmIHByZWZlcnNEYXJrSW50ZXJmYWNlKCkKIGNvbnN0IEZlYXR1cmVTY2hl
bWEmIHByZWZlcnNSZWR1Y2VkTW90aW9uKCkKIHsKICAgICBzdGF0aWMgTWFpblRocmVhZE5ldmVy
RGVzdHJveWVkPElkZW50aWZpZXJTY2hlbWE+IHNjaGVtYSB7Ci0gICAgICAgICJwcmVmZXJzLWNv
bnRyYXN0Il9zLAorICAgICAgICAicHJlZmVycy1yZWR1Y2VkLW1vdGlvbiJfcywKICAgICAgICAg
VmVjdG9yIHsgQ1NTVmFsdWVOb1ByZWZlcmVuY2UsIENTU1ZhbHVlUmVkdWNlIH0sCiAgICAgICAg
IFtdKGF1dG8mIGNvbnRleHQpIHsKICAgICAgICAgICAgIGJvb2wgdXNlclByZWZlcnNSZWR1Y2Vk
TW90aW9uID0gWyZdIHsKQEAgLTczNCw0ICs3MzQsMjMgQEAgVmVjdG9yPGNvbnN0IEZlYXR1cmVT
Y2hlbWEqPiBhbGxTY2hlbWFzKCkKICAgICB9OwogfQogCisvLyBGSVhNRTogVGhpcyBjb3VsZCBi
ZSBwYXJ0IG9mIHRoZSBzY2hlbWEuCitzdGQ6Om9wdGlvbmFsPE1lZGlhUXVlcnlEeW5hbWljRGVw
ZW5kZW5jeT4gZHluYW1pY0RlcGVuZGVuY3koY29uc3QgRmVhdHVyZVNjaGVtYSYgc2NoZW1hKQor
eworICAgIGlmICgmc2NoZW1hID09ICZ3aWR0aCgpIHx8ICZzY2hlbWEgPT0gJmhlaWdodCgpIHx8
ICZzY2hlbWEgPT0gJm9yaWVudGF0aW9uKCkgfHwgJnNjaGVtYSA9PSAmYXNwZWN0UmF0aW8oKSkK
KyAgICAgICAgcmV0dXJuIE1lZGlhUXVlcnlEeW5hbWljRGVwZW5kZW5jeTo6Vmlld3BvcnQ7CisK
KyAgICBpZiAoJnNjaGVtYSA9PSAmcHJlZmVyc0RhcmtJbnRlcmZhY2UoKSkKKyAgICAgICAgcmV0
dXJuIE1lZGlhUXVlcnlEeW5hbWljRGVwZW5kZW5jeTo6QXBwZWFyYW5jZTsKKyNpZiBFTkFCTEUo
REFSS19NT0RFX0NTUykKKyAgICBpZiAoJnNjaGVtYSA9PSAmcHJlZmVyc0NvbG9yU2NoZW1lKCkp
CisgICAgICAgIHJldHVybiBNZWRpYVF1ZXJ5RHluYW1pY0RlcGVuZGVuY3k6OkFwcGVhcmFuY2U7
CisjZW5kaWYKKworICAgIGlmICgmc2NoZW1hID09ICZpbnZlcnRlZENvbG9ycygpIHx8ICZzY2hl
bWEgPT0gJm1vbm9jaHJvbWUoKSB8fCAmc2NoZW1hID09ICZwcmVmZXJzUmVkdWNlZE1vdGlvbigp
IHx8ICZzY2hlbWEgPT0gJnByZWZlcnNDb250cmFzdCgpKQorICAgICAgICByZXR1cm4gTWVkaWFR
dWVyeUR5bmFtaWNEZXBlbmRlbmN5OjpBY2Nlc3NpYmlsaXR5OworCisgICAgcmV0dXJuIHsgfTsK
K30KKwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL3F1ZXJ5L01lZGlhUXVlcnlG
ZWF0dXJlcy5oIGIvU291cmNlL1dlYkNvcmUvY3NzL3F1ZXJ5L01lZGlhUXVlcnlGZWF0dXJlcy5o
CmluZGV4IDA0ZWNkZTgzNGU1My4uZjY0NDk1Nzc3NDQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvcXVlcnkvTWVkaWFRdWVyeUZlYXR1cmVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
Y3NzL3F1ZXJ5L01lZGlhUXVlcnlGZWF0dXJlcy5oCkBAIC0yNCw3ICsyNCw3IEBACiAKICNwcmFn
bWEgb25jZQogCi0jaW5jbHVkZSAiR2VuZXJpY01lZGlhUXVlcnlUeXBlcy5oIgorI2luY2x1ZGUg
Ik1lZGlhUXVlcnkuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmU6Ok1RIHsKIApAQCAtNjksNiArNjks
OCBAQCBjb25zdCBGZWF0dXJlU2NoZW1hJiBwcmVmZXJzQ29sb3JTY2hlbWUoKTsKIAogVmVjdG9y
PGNvbnN0IEZlYXR1cmVTY2hlbWEqPiBhbGxTY2hlbWFzKCk7CiAKK3N0ZDo6b3B0aW9uYWw8TWVk
aWFRdWVyeUR5bmFtaWNEZXBlbmRlbmN5PiBkeW5hbWljRGVwZW5kZW5jeShjb25zdCBGZWF0dXJl
U2NoZW1hJik7CisKIH07CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9xdWVy
eS9NZWRpYVF1ZXJ5UGFyc2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9xdWVyeS9NZWRpYVF1
ZXJ5UGFyc2VyLmNwcAppbmRleCBiODIwNjI1ZGJhZDQuLjBkMDA0MjM4ZGEzMyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvY3NzL3F1ZXJ5L01lZGlhUXVlcnlQYXJzZXIuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9xdWVyeS9NZWRpYVF1ZXJ5UGFyc2VyLmNwcApAQCAtNTYsNiArNTYs
MjIgQEAgTWVkaWFRdWVyeUxpc3QgTWVkaWFRdWVyeVBhcnNlcjo6cGFyc2UoY29uc3QgU3RyaW5n
JiBzdHJpbmcsIGNvbnN0IE1lZGlhUXVlcnlQYXIKICAgICByZXR1cm4gcGFyc2VyLmNvbnN1bWVN
ZWRpYVF1ZXJ5TGlzdChyYW5nZSk7CiB9CiAKK3N0ZDo6b3B0aW9uYWw8TWVkaWFRdWVyeT4gTWVk
aWFRdWVyeVBhcnNlcjo6cGFyc2VDb25kaXRpb24oQ1NTUGFyc2VyVG9rZW5SYW5nZSByYW5nZSwg
Y29uc3QgTWVkaWFRdWVyeVBhcnNlckNvbnRleHQmIGNvbnRleHQpCit7CisgICAgcmFuZ2UuY29u
c3VtZVdoaXRlc3BhY2UoKTsKKworICAgIGlmIChyYW5nZS5hdEVuZCgpKQorICAgICAgICByZXR1
cm4gTWVkaWFRdWVyeSB7IHsgfSwgImFsbCJfcyB9OworCisgICAgTWVkaWFRdWVyeVBhcnNlciBw
YXJzZXIgeyBjb250ZXh0IH07CisgICAgCisgICAgYXV0byBjb25kaXRpb24gPSBwYXJzZXIuY29u
c3VtZUNvbmRpdGlvbihyYW5nZSk7CisgICAgaWYgKCFjb25kaXRpb24pCisgICAgICAgIHJldHVy
biB7IH07CisKKyAgICByZXR1cm4gTWVkaWFRdWVyeSB7IHsgfSwgeyB9LCBjb25kaXRpb24gfTsK
K30KKwogTWVkaWFRdWVyeUxpc3QgTWVkaWFRdWVyeVBhcnNlcjo6Y29uc3VtZU1lZGlhUXVlcnlM
aXN0KENTU1BhcnNlclRva2VuUmFuZ2UmIHJhbmdlKQogewogICAgIE1lZGlhUXVlcnlMaXN0IGxp
c3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvcXVlcnkvTWVkaWFRdWVyeVBhcnNl
ci5oIGIvU291cmNlL1dlYkNvcmUvY3NzL3F1ZXJ5L01lZGlhUXVlcnlQYXJzZXIuaAppbmRleCA2
ODUxY2NkY2JjNTEuLjZmYjU0MThmZDlhNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3Nz
L3F1ZXJ5L01lZGlhUXVlcnlQYXJzZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvcXVlcnkv
TWVkaWFRdWVyeVBhcnNlci5oCkBAIC0zNSw2ICszNSw3IEBAIHB1YmxpYzoKICAgICBNZWRpYVF1
ZXJ5UGFyc2VyKGNvbnN0IE1lZGlhUXVlcnlQYXJzZXJDb250ZXh0Jik7CiAKICAgICBzdGF0aWMg
TWVkaWFRdWVyeUxpc3QgcGFyc2UoY29uc3QgU3RyaW5nJiwgY29uc3QgTWVkaWFRdWVyeVBhcnNl
ckNvbnRleHQmKTsKKyAgICBzdGF0aWMgc3RkOjpvcHRpb25hbDxNZWRpYVF1ZXJ5PiBwYXJzZUNv
bmRpdGlvbihDU1NQYXJzZXJUb2tlblJhbmdlLCBjb25zdCBNZWRpYVF1ZXJ5UGFyc2VyQ29udGV4
dCYpOwogCiAgICAgTWVkaWFRdWVyeUxpc3QgY29uc3VtZU1lZGlhUXVlcnlMaXN0KENTU1BhcnNl
clRva2VuUmFuZ2UmKTsKICAgICBzdGQ6Om9wdGlvbmFsPE1lZGlhUXVlcnk+IGNvbnN1bWVNZWRp
YVF1ZXJ5KENTU1BhcnNlclRva2VuUmFuZ2UmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTEltYWdlRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbWFn
ZUVsZW1lbnQuY3BwCmluZGV4IDYyNjI0MDI1Njk3My4uOGUzOTQwMTk2YTk5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxJbWFnZUVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTEltYWdlRWxlbWVudC5jcHAKQEAgLTQ2LDEwICs0Niw5IEBACiAjaW5j
bHVkZSAiSFRNTFNvdXJjZUVsZW1lbnQuaCIKICNpbmNsdWRlICJIVE1MU3Jjc2V0UGFyc2VyLmgi
CiAjaW5jbHVkZSAiTGF6eUxvYWRJbWFnZU9ic2VydmVyLmgiCi0jaW5jbHVkZSAiTGVnYWN5TWVk
aWFRdWVyeUV2YWx1YXRvci5oIgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKICNpbmNsdWRlICJNSU1F
VHlwZVJlZ2lzdHJ5LmgiCi0jaW5jbHVkZSAiTWVkaWFMaXN0LmgiCisjaW5jbHVkZSAiTWVkaWFR
dWVyeUV2YWx1YXRvci5oIgogI2luY2x1ZGUgIk1vdXNlRXZlbnQuaCIKICNpbmNsdWRlICJOb2Rl
VHJhdmVyc2FsLmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1Nb3VzZUV2ZW50LmgiCkBAIC0yNDMsMjEg
KzI0MiwyMSBAQCBJbWFnZUNhbmRpZGF0ZSBIVE1MSW1hZ2VFbGVtZW50OjpiZXN0Rml0U291cmNl
RnJvbVBpY3R1cmVFbGVtZW50KCkKICAgICAgICAgfQogCiAgICAgICAgIFJlZlB0ciBkb2N1bWVu
dEVsZW1lbnQgPSBkb2N1bWVudCgpLmRvY3VtZW50RWxlbWVudCgpOwotICAgICAgICBMZWdhY3lN
ZWRpYVF1ZXJ5RXZhbHVhdG9yIGV2YWx1YXRvciB7IGRvY3VtZW50KCkucHJpbnRpbmcoKSA/ICJw
cmludCJfcyA6ICJzY3JlZW4iX3MsIGRvY3VtZW50KCksIGRvY3VtZW50RWxlbWVudCA/IGRvY3Vt
ZW50RWxlbWVudC0+Y29tcHV0ZWRTdHlsZSgpIDogbnVsbHB0ciB9OwotICAgICAgICBhdXRvKiBx
dWVyaWVzID0gc291cmNlLnBhcnNlZE1lZGlhQXR0cmlidXRlKGRvY3VtZW50KCkpOworICAgICAg
ICBNUTo6TWVkaWFRdWVyeUV2YWx1YXRvciBldmFsdWF0b3IgeyBkb2N1bWVudCgpLnByaW50aW5n
KCkgPyAicHJpbnQiX3MgOiAic2NyZWVuIl9zLCBkb2N1bWVudCgpLCBkb2N1bWVudEVsZW1lbnQg
PyBkb2N1bWVudEVsZW1lbnQtPmNvbXB1dGVkU3R5bGUoKSA6IG51bGxwdHIgfTsKKyAgICAgICAg
YXV0byYgcXVlcmllcyA9IHNvdXJjZS5wYXJzZWRNZWRpYUF0dHJpYnV0ZShkb2N1bWVudCgpKTsK
ICAgICAgICAgTE9HKE1lZGlhUXVlcmllcywgIkhUTUxJbWFnZUVsZW1lbnQgJXAgYmVzdEZpdFNv
dXJjZUZyb21QaWN0dXJlRWxlbWVudCBldmFsdWF0aW5nIG1lZGlhIHF1ZXJpZXMiLCB0aGlzKTsK
IAotICAgICAgICBhdXRvIHJlc3VsdCA9ICFxdWVyaWVzIHx8IGV2YWx1YXRvci5ldmFsdWF0ZSgq
cXVlcmllcyk7CisgICAgICAgIGF1dG8gcmVzdWx0ID0gZXZhbHVhdG9yLmV2YWx1YXRlKHF1ZXJp
ZXMpOwogCi0gICAgICAgIGlmIChxdWVyaWVzICYmICFtZWRpYVF1ZXJ5RHluYW1pY0RlcGVuZGVu
Y2llcygqcXVlcmllcywgZXZhbHVhdG9yKS5pc0VtcHR5KCkpCi0gICAgICAgICAgICBtX2R5bmFt
aWNNZWRpYVF1ZXJ5UmVzdWx0cy5hcHBlbmQoeyAqcXVlcmllcywgcmVzdWx0IH0pOworICAgICAg
ICBpZiAoIWV2YWx1YXRvci5jb2xsZWN0RHluYW1pY0RlcGVuZGVuY2llcyhxdWVyaWVzKS5pc0Vt
cHR5KCkpCisgICAgICAgICAgICBtX2R5bmFtaWNNZWRpYVF1ZXJ5UmVzdWx0cy5hcHBlbmQoeyBx
dWVyaWVzLCByZXN1bHQgfSk7CiAKICAgICAgICAgaWYgKCFyZXN1bHQpCiAgICAgICAgICAgICBj
b250aW51ZTsKIAogICAgICAgICBTaXplc0F0dHJpYnV0ZVBhcnNlciBzaXplc1BhcnNlcihzb3Vy
Y2UuYXR0cmlidXRlV2l0aG91dFN5bmNocm9uaXphdGlvbihzaXplc0F0dHIpLnN0cmluZygpLCBk
b2N1bWVudCgpKTsKIAotICAgICAgICBtX2R5bmFtaWNNZWRpYVF1ZXJ5UmVzdWx0cy5hcHBlbmRW
ZWN0b3Ioc2l6ZXNQYXJzZXIuZHluYW1pY01lZGlhQ29uZGl0aW9uUmVzdWx0cygpKTsKKyAgICAg
ICAgbV9keW5hbWljTWVkaWFRdWVyeVJlc3VsdHMuYXBwZW5kVmVjdG9yKHNpemVzUGFyc2VyLmR5
bmFtaWNNZWRpYVF1ZXJ5UmVzdWx0cygpKTsKIAogICAgICAgICBhdXRvIHNvdXJjZVNpemUgPSBz
aXplc1BhcnNlci5sZW5ndGgoKTsKIApAQCAtMjc0LDExICsyNzMsMTEgQEAgSW1hZ2VDYW5kaWRh
dGUgSFRNTEltYWdlRWxlbWVudDo6YmVzdEZpdFNvdXJjZUZyb21QaWN0dXJlRWxlbWVudCgpCiB2
b2lkIEhUTUxJbWFnZUVsZW1lbnQ6OmV2YWx1YXRlRHluYW1pY01lZGlhUXVlcnlEZXBlbmRlbmNp
ZXMoKQogewogICAgIFJlZlB0ciBkb2N1bWVudEVsZW1lbnQgPSBkb2N1bWVudCgpLmRvY3VtZW50
RWxlbWVudCgpOwotICAgIExlZ2FjeU1lZGlhUXVlcnlFdmFsdWF0b3IgZXZhbHVhdG9yIHsgZG9j
dW1lbnQoKS5wcmludGluZygpID8gInByaW50Il9zIDogInNjcmVlbiJfcywgZG9jdW1lbnQoKSwg
ZG9jdW1lbnRFbGVtZW50ID8gZG9jdW1lbnRFbGVtZW50LT5jb21wdXRlZFN0eWxlKCkgOiBudWxs
cHRyIH07CisgICAgTVE6Ok1lZGlhUXVlcnlFdmFsdWF0b3IgZXZhbHVhdG9yIHsgZG9jdW1lbnQo
KS5wcmludGluZygpID8gInByaW50Il9zIDogInNjcmVlbiJfcywgZG9jdW1lbnQoKSwgZG9jdW1l
bnRFbGVtZW50ID8gZG9jdW1lbnRFbGVtZW50LT5jb21wdXRlZFN0eWxlKCkgOiBudWxscHRyIH07
CiAKICAgICBhdXRvIGhhc0NoYW5nZXMgPSBbJl0gewotICAgICAgICBmb3IgKGF1dG8mIGNvbmRp
dGlvbiA6IG1fZHluYW1pY01lZGlhUXVlcnlSZXN1bHRzKSB7Ci0gICAgICAgICAgICBpZiAoY29u
ZGl0aW9uLnJlc3VsdCAhPSBldmFsdWF0b3IuZXZhbHVhdGUoY29uZGl0aW9uLnF1ZXJ5LmdldCgp
KSkKKyAgICAgICAgZm9yIChhdXRvJiByZXN1bHRzIDogbV9keW5hbWljTWVkaWFRdWVyeVJlc3Vs
dHMpIHsKKyAgICAgICAgICAgIGlmIChyZXN1bHRzLnJlc3VsdCAhPSBldmFsdWF0b3IuZXZhbHVh
dGUocmVzdWx0cy5tZWRpYVF1ZXJ5TGlzdCkpCiAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7
CiAgICAgICAgIH0KICAgICAgICAgcmV0dXJuIGZhbHNlOwpAQCAtMzAxLDcgKzMwMCw3IEBAIHZv
aWQgSFRNTEltYWdlRWxlbWVudDo6c2VsZWN0SW1hZ2VTb3VyY2UoUmVsZXZhbnRNdXRhdGlvbiBy
ZWxldmFudE11dGF0aW9uKQogICAgICAgICBzZXRTb3VyY2VFbGVtZW50KG51bGxwdHIpOwogICAg
ICAgICAvLyBJZiB3ZSBkb24ndCBoYXZlIGEgPHBpY3R1cmU+IG9yIGRpZG4ndCBmaW5kIGEgc291
cmNlLCB0aGVuIHdlIHVzZSBvdXIgb3duIGF0dHJpYnV0ZXMuCiAgICAgICAgIFNpemVzQXR0cmli
dXRlUGFyc2VyIHNpemVzUGFyc2VyKGF0dHJpYnV0ZVdpdGhvdXRTeW5jaHJvbml6YXRpb24oc2l6
ZXNBdHRyKS5zdHJpbmcoKSwgZG9jdW1lbnQoKSk7Ci0gICAgICAgIG1fZHluYW1pY01lZGlhUXVl
cnlSZXN1bHRzLmFwcGVuZFZlY3RvcihzaXplc1BhcnNlci5keW5hbWljTWVkaWFDb25kaXRpb25S
ZXN1bHRzKCkpOworICAgICAgICBtX2R5bmFtaWNNZWRpYVF1ZXJ5UmVzdWx0cy5hcHBlbmRWZWN0
b3Ioc2l6ZXNQYXJzZXIuZHluYW1pY01lZGlhUXVlcnlSZXN1bHRzKCkpOwogICAgICAgICBhdXRv
IHNvdXJjZVNpemUgPSBzaXplc1BhcnNlci5sZW5ndGgoKTsKICAgICAgICAgY2FuZGlkYXRlID0g
YmVzdEZpdFNvdXJjZUZvckltYWdlQXR0cmlidXRlcyhkb2N1bWVudCgpLmRldmljZVNjYWxlRmFj
dG9yKCksIGF0dHJpYnV0ZVdpdGhvdXRTeW5jaHJvbml6YXRpb24oc3JjQXR0ciksIGF0dHJpYnV0
ZVdpdGhvdXRTeW5jaHJvbml6YXRpb24oc3Jjc2V0QXR0ciksIHNvdXJjZVNpemUpOwogICAgIH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEltYWdlRWxlbWVudC5oIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MSW1hZ2VFbGVtZW50LmgKaW5kZXggMzkwYTBmMDk3MWFmLi4y
NTU0YzlkZjhiYTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEltYWdlRWxl
bWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTEltYWdlRWxlbWVudC5oCkBAIC0y
OSw3ICsyOSw3IEBACiAjaW5jbHVkZSAiR3JhcGhpY3NMYXllci5oIgogI2luY2x1ZGUgIkdyYXBo
aWNzVHlwZXMuaCIKICNpbmNsdWRlICJIVE1MRWxlbWVudC5oIgotI2luY2x1ZGUgIkxlZ2FjeU1l
ZGlhUXVlcnlFdmFsdWF0b3IuaCIKKyNpbmNsdWRlICJNZWRpYVF1ZXJ5LmgiCiAjaW5jbHVkZSA8
d3RmL1dlYWtQdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtMjQzLDcgKzI0Myw4IEBA
IHByaXZhdGU6CiAgICAgV2Vha1B0cjxIVE1MUGljdHVyZUVsZW1lbnQsIFdlYWtQdHJJbXBsV2l0
aEV2ZW50VGFyZ2V0RGF0YT4gbV9waWN0dXJlRWxlbWVudDsKICAgICAvLyBUaGUgc291cmNlIGVs
ZW1lbnQgdGhhdCB3YXMgc2VsZWN0ZWQgdG8gcHJvdmlkZSB0aGUgc291cmNlIFVSTC4KICAgICBX
ZWFrUHRyPEhUTUxTb3VyY2VFbGVtZW50LCBXZWFrUHRySW1wbFdpdGhFdmVudFRhcmdldERhdGE+
IG1fc291cmNlRWxlbWVudDsKLSAgICBWZWN0b3I8TWVkaWFRdWVyeVJlc3VsdD4gbV9keW5hbWlj
TWVkaWFRdWVyeVJlc3VsdHM7CisKKyAgICBWZWN0b3I8TVE6Ok1lZGlhUXVlcnlSZXN1bHQ+IG1f
ZHluYW1pY01lZGlhUXVlcnlSZXN1bHRzOwogCiAjaWYgRU5BQkxFKEFUVEFDSE1FTlRfRUxFTUVO
VCkKICAgICBTdHJpbmcgbV9wZW5kaW5nQ2xvbmVkQXR0YWNobWVudElEOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKaW5kZXggMGY2MjU0ZTJmNTBiLi45MzNmYjVkZmQ5
OWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcApAQCAtNzIsNyAr
NzIsNiBAQAogI2luY2x1ZGUgIkpTRE9NUHJvbWlzZURlZmVycmVkLmgiCiAjaW5jbHVkZSAiSlNI
VE1MTWVkaWFFbGVtZW50LmgiCiAjaW5jbHVkZSAiSlNNZWRpYUNvbnRyb2xzSG9zdC5oIgotI2lu
Y2x1ZGUgIkxlZ2FjeU1lZGlhUXVlcnlFdmFsdWF0b3IuaCIKICNpbmNsdWRlICJMb2FkYWJsZVRl
eHRUcmFjay5oIgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKICNpbmNsdWRlICJNSU1FVHlwZVJlZ2lz
dHJ5LmgiCkBAIC04NCw2ICs4Myw3IEBACiAjaW5jbHVkZSAiTWVkaWFGcmFnbWVudFVSSVBhcnNl
ci5oIgogI2luY2x1ZGUgIk1lZGlhTGlzdC5oIgogI2luY2x1ZGUgIk1lZGlhUGxheWVyLmgiCisj
aW5jbHVkZSAiTWVkaWFRdWVyeUV2YWx1YXRvci5oIgogI2luY2x1ZGUgIk1lZGlhUmVzb3VyY2VM
b2FkZXIuaCIKICNpbmNsdWRlICJOYXZpZ2F0b3JNZWRpYURldmljZXMuaCIKICNpbmNsdWRlICJO
ZXR3b3JraW5nQ29udGV4dC5oIgpAQCAtNTE2NywxMiArNTE2NywxMiBAQCBVUkwgSFRNTE1lZGlh
RWxlbWVudDo6c2VsZWN0TmV4dFNvdXJjZUNoaWxkKENvbnRlbnRUeXBlKiBjb250ZW50VHlwZSwg
U3RyaW5nKiBrZQogICAgICAgICBpZiAobWVkaWFVUkwuaXNFbXB0eSgpKQogICAgICAgICAgICAg
Z290byBDaGVja0FnYWluOwogCi0gICAgICAgIGlmIChhdXRvKiBtZWRpYSA9IHNvdXJjZS0+cGFy
c2VkTWVkaWFBdHRyaWJ1dGUoZG9jdW1lbnQoKSkpIHsKKyAgICAgICAgaWYgKGF1dG8gbWVkaWFR
dWVyeUxpc3QgPSBzb3VyY2UtPnBhcnNlZE1lZGlhQXR0cmlidXRlKGRvY3VtZW50KCkpOyAhbWVk
aWFRdWVyeUxpc3QuaXNFbXB0eSgpKSB7CiAgICAgICAgICAgICBpZiAoc2hvdWxkTG9nKQogICAg
ICAgICAgICAgICAgIElORk9fTE9HKExPR0lERU5USUZJRVIsICInbWVkaWEnIGlzICIsIHNvdXJj
ZS0+YXR0cmlidXRlV2l0aG91dFN5bmNocm9uaXphdGlvbihtZWRpYUF0dHIpKTsKICAgICAgICAg
ICAgIGF1dG8qIHJlbmRlcmVyID0gdGhpcy0+cmVuZGVyZXIoKTsKICAgICAgICAgICAgIExPRyhN
ZWRpYVF1ZXJpZXMsICJIVE1MTWVkaWFFbGVtZW50ICVwIHNlbGVjdE5leHRTb3VyY2VDaGlsZCBl
dmFsdWF0aW5nIG1lZGlhIHF1ZXJpZXMiLCB0aGlzKTsKLSAgICAgICAgICAgIGlmICghTGVnYWN5
TWVkaWFRdWVyeUV2YWx1YXRvciB7ICJzY3JlZW4iX3MsIGRvY3VtZW50KCksIHJlbmRlcmVyID8g
JnJlbmRlcmVyLT5zdHlsZSgpIDogbnVsbHB0ciB9LmV2YWx1YXRlKCptZWRpYSkpCisgICAgICAg
ICAgICBpZiAoIU1ROjpNZWRpYVF1ZXJ5RXZhbHVhdG9yIHsgInNjcmVlbiJfcywgZG9jdW1lbnQo
KSwgcmVuZGVyZXIgPyAmcmVuZGVyZXItPnN0eWxlKCkgOiBudWxscHRyIH0uZXZhbHVhdGUobWVk
aWFRdWVyeUxpc3QpKQogICAgICAgICAgICAgICAgIGdvdG8gQ2hlY2tBZ2FpbjsKICAgICAgICAg
fQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxTb3VyY2VFbGVtZW50LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFNvdXJjZUVsZW1lbnQuY3BwCmluZGV4IGU5Zjk2
YTgyYzdjMC4uMTk4NWU5M2RhNGQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxTb3VyY2VFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxTb3VyY2VF
bGVtZW50LmNwcApAQCAtMzMsNyArMzMsNyBAQAogI2luY2x1ZGUgIkhUTUxOYW1lcy5oIgogI2lu
Y2x1ZGUgIkhUTUxQaWN0dXJlRWxlbWVudC5oIgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKLSNpbmNs
dWRlICJNZWRpYUxpc3QuaCIKKyNpbmNsdWRlICJNZWRpYVF1ZXJ5UGFyc2VyLmgiCiAjaW5jbHVk
ZSAiTWVkaWFRdWVyeVBhcnNlckNvbnRleHQuaCIKICNpbmNsdWRlIDx3dGYvSXNvTWFsbG9jSW5s
aW5lcy5oPgogCkBAIC0xNzAsMTYgKzE3MCwxMyBAQCB2b2lkIEhUTUxTb3VyY2VFbGVtZW50Ojpw
YXJzZUF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJiBuYW1lLCBjb25zdCBBdG9tU3RyaQog
I2VuZGlmCiB9CiAKLWNvbnN0IE1lZGlhUXVlcnlTZXQqIEhUTUxTb3VyY2VFbGVtZW50OjpwYXJz
ZWRNZWRpYUF0dHJpYnV0ZShEb2N1bWVudCYgZG9jdW1lbnQpIGNvbnN0Citjb25zdCBNUTo6TWVk
aWFRdWVyeUxpc3QmIEhUTUxTb3VyY2VFbGVtZW50OjpwYXJzZWRNZWRpYUF0dHJpYnV0ZShEb2N1
bWVudCYgZG9jdW1lbnQpIGNvbnN0CiB7CiAgICAgaWYgKCFtX2NhY2hlZFBhcnNlZE1lZGlhQXR0
cmlidXRlKSB7Ci0gICAgICAgIFJlZlB0cjxjb25zdCBNZWRpYVF1ZXJ5U2V0PiBwYXJzZWRBdHRy
aWJ1dGU7CiAgICAgICAgIGF1dG8mIHZhbHVlID0gYXR0cmlidXRlV2l0aG91dFN5bmNocm9uaXph
dGlvbihtZWRpYUF0dHIpOwotICAgICAgICBpZiAoIXZhbHVlLmlzTnVsbCgpKQotICAgICAgICAg
ICAgcGFyc2VkQXR0cmlidXRlID0gTWVkaWFRdWVyeVNldDo6Y3JlYXRlKHZhbHVlLCBNZWRpYVF1
ZXJ5UGFyc2VyQ29udGV4dChkb2N1bWVudCkpOwotICAgICAgICBtX2NhY2hlZFBhcnNlZE1lZGlh
QXR0cmlidXRlID0gV1RGTW92ZShwYXJzZWRBdHRyaWJ1dGUpOworICAgICAgICBtX2NhY2hlZFBh
cnNlZE1lZGlhQXR0cmlidXRlID0gTVE6Ok1lZGlhUXVlcnlQYXJzZXI6OnBhcnNlKHZhbHVlLCBN
ZWRpYVF1ZXJ5UGFyc2VyQ29udGV4dCB7IGRvY3VtZW50IH0pOwogICAgIH0KLSAgICByZXR1cm4g
bV9jYWNoZWRQYXJzZWRNZWRpYUF0dHJpYnV0ZS52YWx1ZSgpLmdldCgpOworICAgIHJldHVybiBt
X2NhY2hlZFBhcnNlZE1lZGlhQXR0cmlidXRlLnZhbHVlKCk7CiB9CiAKIHZvaWQgSFRNTFNvdXJj
ZUVsZW1lbnQ6OmF0dHJpYnV0ZUNoYW5nZWQoY29uc3QgUXVhbGlmaWVkTmFtZSYgbmFtZSwgY29u
c3QgQXRvbVN0cmluZyYgb2xkVmFsdWUsIGNvbnN0IEF0b21TdHJpbmcmIG5ld1ZhbHVlLCBBdHRy
aWJ1dGVNb2RpZmljYXRpb25SZWFzb24gcmVhc29uKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MU291cmNlRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MU291
cmNlRWxlbWVudC5oCmluZGV4IDM5NmFkMjQ0NmJiNC4uZmU2ZjQwZDEyMjNkIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxTb3VyY2VFbGVtZW50LmgKKysrIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MU291cmNlRWxlbWVudC5oCkBAIC0yNywxMiArMjcsMTEgQEAKIAogI2lu
Y2x1ZGUgIkFjdGl2ZURPTU9iamVjdC5oIgogI2luY2x1ZGUgIkhUTUxFbGVtZW50LmgiCisjaW5j
bHVkZSAiTWVkaWFRdWVyeS5oIgogI2luY2x1ZGUgIlRpbWVyLmgiCiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAotY2xhc3MgTWVkaWFRdWVyeVNldDsKLQogY2xhc3MgSFRNTFNvdXJjZUVsZW1lbnQg
ZmluYWwgOiBwdWJsaWMgSFRNTEVsZW1lbnQsIHB1YmxpYyBBY3RpdmVET01PYmplY3QgewogICAg
IFdURl9NQUtFX0lTT19BTExPQ0FURUQoSFRNTFNvdXJjZUVsZW1lbnQpOwogcHVibGljOgpAQCAt
NDIsNyArNDEsNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBzY2hlZHVsZUVycm9yRXZlbnQoKTsKICAg
ICB2b2lkIGNhbmNlbFBlbmRpbmdFcnJvckV2ZW50KCk7CiAKLSAgICBjb25zdCBNZWRpYVF1ZXJ5
U2V0KiBwYXJzZWRNZWRpYUF0dHJpYnV0ZShEb2N1bWVudCYpIGNvbnN0OworICAgIGNvbnN0IE1R
OjpNZWRpYVF1ZXJ5TGlzdCYgcGFyc2VkTWVkaWFBdHRyaWJ1dGUoRG9jdW1lbnQmKSBjb25zdDsK
IAogcHJpdmF0ZToKICAgICBIVE1MU291cmNlRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiwg
RG9jdW1lbnQmKTsKQEAgLTYxLDcgKzYwLDcgQEAgcHJpdmF0ZToKIAogICAgIFRhc2tDYW5jZWxs
YXRpb25Hcm91cCBtX2Vycm9yRXZlbnRDYW5jZWxsYXRpb25Hcm91cDsKICAgICBib29sIG1fc2hv
dWxkQ2FsbFNvdXJjZXNDaGFuZ2VkIHsgZmFsc2UgfTsKLSAgICBtdXRhYmxlIHN0ZDo6b3B0aW9u
YWw8UmVmUHRyPGNvbnN0IE1lZGlhUXVlcnlTZXQ+PiBtX2NhY2hlZFBhcnNlZE1lZGlhQXR0cmli
dXRlOworICAgIG11dGFibGUgc3RkOjpvcHRpb25hbDxNUTo6TWVkaWFRdWVyeUxpc3Q+IG1fY2Fj
aGVkUGFyc2VkTWVkaWFBdHRyaWJ1dGU7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvVGVz
dEV4cGVjdGF0aW9ucwppbmRleCA1ZTJlNWIzMjNiYjQuLmRjMjYyMjExNzMyMSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9UZXN0RXhw
ZWN0YXRpb25zCkBAIC0xODE5LDcgKzE4MTksNiBAQCB3ZWJraXQub3JnL2IvMTg2MDQ1IGltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZW1iZWRkZWQtY29udAog
d2Via2l0Lm9yZy9iLzE4NjA0NSBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwv
c2VtYW50aWNzL2VtYmVkZGVkLWNvbnRlbnQvbWVkaWEtZWxlbWVudHMvdHJhY2svdHJhY2stZWxl
bWVudC90cmFjay13ZWJ2dHQtbm9uLXNuYXAtdG8tbGluZXMuaHRtbCBbIFNraXAgXQogd2Via2l0
Lm9yZy9iLzE4NjA0NSBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvc2VtYW50
aWNzL2VtYmVkZGVkLWNvbnRlbnQvbWVkaWEtZWxlbWVudHMvdHJhY2svdHJhY2stZWxlbWVudC90
cmFjay13ZWJ2dHQtdHdvLWN1ZS1sYXlvdXQtYWZ0ZXItZmlyc3QtZW5kLmh0bWwgWyBTa2lwIF0K
IHdlYmtpdC5vcmcvYi8xODYwNDUgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1s
L3NlbWFudGljcy9lbWJlZGRlZC1jb250ZW50L3RoZS1pbWctZWxlbWVudC9hdmFpbGFibGUtaW1h
Z2VzLmh0bWwgWyBTa2lwIF0KLXdlYmtpdC5vcmcvYi8xODYwNDUgaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9lbWJlZGRlZC1jb250ZW50L3RoZS1pbWctZWxl
bWVudC9zaXplcy9zaXplcy1keW5hbWljLTAwMi5odG1sIFsgU2tpcCBdCiB3ZWJraXQub3JnL2Iv
MTg2MDQ1IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvYXBuZy9hbmltYXRlZC1wbmct
dGltZW91dC5odG1sIFsgU2tpcCBdCiB3ZWJraXQub3JnL2IvMTg2MDQ1IGltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzcy1mb250LWxvYWRpbmcvZm9udGZhY2UtZGVzY3JpcHRv
ci11cGRhdGVzLmh0bWwgWyBTa2lwIF0KIHdlYmtpdC5vcmcvYi8xODYwNDUgaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3NzLWJhY2tncm91bmRzL2JhY2tncm91bmQtY2xpcC9j
bGlwLXRleHQtZHluYW1pYy0yLmh0bWwgWyBTa2lwIF0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvZG9tL0hUTUxJbWFnZUVsZW1lbnQvc2l6ZXMvaW1hZ2Utc2l6ZXMtdzNjLTEtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEltYWdlRWxlbWVudC9zaXplcy9pbWFn
ZS1zaXplcy13M2MtMS1leHBlY3RlZC50eHQKaW5kZXggY2Y3YTYxMmIxZGFhLi4zOTg5NzY2YWJh
MzIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxJbWFnZUVsZW1lbnQvc2l6
ZXMvaW1hZ2Utc2l6ZXMtdzNjLTEtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
ZG9tL0hUTUxJbWFnZUVsZW1lbnQvc2l6ZXMvaW1hZ2Utc2l6ZXMtdzNjLTEtZXhwZWN0ZWQudHh0
CkBAIC00NSw2ICs0NSwxMiBAQCBQQVNTICJncmVlbi0xeDEucG5nIiBpcyAiZ3JlZW4tMXgxLnBu
ZyIKIFBBU1MgImdyZWVuLTF4MS5wbmciIGlzICJncmVlbi0xeDEucG5nIgogUEFTUyAiZ3JlZW4t
MXgxLnBuZyIgaXMgImdyZWVuLTF4MS5wbmciCiBQQVNTICJncmVlbi0xeDEucG5nIiBpcyAiZ3Jl
ZW4tMXgxLnBuZyIKK0ZBSUwgImdyZWVuLTE2eDE2LnBuZyIgc2hvdWxkIGJlIGdyZWVuLTF4MS5w
bmcuIFdhcyBncmVlbi0xNngxNi5wbmcuCitQQVNTICJncmVlbi0xeDEucG5nIiBpcyAiZ3JlZW4t
MXgxLnBuZyIKK1BBU1MgImdyZWVuLTF4MS5wbmciIGlzICJncmVlbi0xeDEucG5nIgorUEFTUyAi
Z3JlZW4tMXgxLnBuZyIgaXMgImdyZWVuLTF4MS5wbmciCitQQVNTICJncmVlbi0xeDEucG5nIiBp
cyAiZ3JlZW4tMXgxLnBuZyIKK1BBU1MgImdyZWVuLTF4MS5wbmciIGlzICJncmVlbi0xeDEucG5n
IgogUEFTUyAiZ3JlZW4tMXgxLnBuZyIgaXMgImdyZWVuLTF4MS5wbmciCiBQQVNTICJncmVlbi0x
eDEucG5nIiBpcyAiZ3JlZW4tMXgxLnBuZyIKIFBBU1MgImdyZWVuLTF4MS5wbmciIGlzICJncmVl
bi0xeDEucG5nIgpAQCAtNTcsMTEgKzYzLDYgQEAgUEFTUyAiZ3JlZW4tMXgxLnBuZyIgaXMgImdy
ZWVuLTF4MS5wbmciCiBQQVNTICJncmVlbi0xeDEucG5nIiBpcyAiZ3JlZW4tMXgxLnBuZyIKIFBB
U1MgImdyZWVuLTF4MS5wbmciIGlzICJncmVlbi0xeDEucG5nIgogUEFTUyAiZ3JlZW4tMXgxLnBu
ZyIgaXMgImdyZWVuLTF4MS5wbmciCi1GQUlMICJncmVlbi0xNngxNi5wbmciIHNob3VsZCBiZSBn
cmVlbi0xeDEucG5nLiBXYXMgZ3JlZW4tMTZ4MTYucG5nLgotRkFJTCAiZ3JlZW4tMTZ4MTYucG5n
IiBzaG91bGQgYmUgZ3JlZW4tMXgxLnBuZy4gV2FzIGdyZWVuLTE2eDE2LnBuZy4KLUZBSUwgImdy
ZWVuLTE2eDE2LnBuZyIgc2hvdWxkIGJlIGdyZWVuLTF4MS5wbmcuIFdhcyBncmVlbi0xNngxNi5w
bmcuCi1GQUlMICJncmVlbi0xNngxNi5wbmciIHNob3VsZCBiZSBncmVlbi0xeDEucG5nLiBXYXMg
Z3JlZW4tMTZ4MTYucG5nLgotRkFJTCAiZ3JlZW4tMTZ4MTYucG5nIiBzaG91bGQgYmUgZ3JlZW4t
MXgxLnBuZy4gV2FzIGdyZWVuLTE2eDE2LnBuZy4KIEZBSUwgImdyZWVuLTE2eDE2LnBuZyIgc2hv
dWxkIGJlIGdyZWVuLTF4MS5wbmcuIFdhcyBncmVlbi0xNngxNi5wbmcuCiBQQVNTICJncmVlbi0x
eDEucG5nIiBpcyAiZ3JlZW4tMXgxLnBuZyIKIFBBU1MgImdyZWVuLTF4MS5wbmciIGlzICJncmVl
bi0xeDEucG5nIgpAQCAtMTA2LDcgKzEwNyw2IEBAIFBBU1MgImdyZWVuLTF4MS5wbmciIGlzICJn
cmVlbi0xeDEucG5nIgogUEFTUyAiZ3JlZW4tMXgxLnBuZyIgaXMgImdyZWVuLTF4MS5wbmciCiBQ
QVNTICJncmVlbi0xeDEucG5nIiBpcyAiZ3JlZW4tMXgxLnBuZyIKIFBBU1MgImdyZWVuLTF4MS5w
bmciIGlzICJncmVlbi0xeDEucG5nIgotRkFJTCAiZ3JlZW4tMTZ4MTYucG5nIiBzaG91bGQgYmUg
Z3JlZW4tMXgxLnBuZy4gV2FzIGdyZWVuLTE2eDE2LnBuZy4KIFBBU1MgImdyZWVuLTF4MS5wbmci
IGlzICJncmVlbi0xeDEucG5nIgogUEFTUyAiZ3JlZW4tMXgxLnBuZyIgaXMgImdyZWVuLTF4MS5w
bmciCiBQQVNTICJncmVlbi0xeDEucG5nIiBpcyAiZ3JlZW4tMXgxLnBuZyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxJbWFnZUVsZW1lbnQvc2l6ZXMvaW1hZ2Utc2l6ZXMt
dzNjLTItZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRNTEltYWdlRWxlbWVu
dC9zaXplcy9pbWFnZS1zaXplcy13M2MtMi1leHBlY3RlZC50eHQKaW5kZXggY2Y3YTYxMmIxZGFh
Li4zOTg5NzY2YWJhMzIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxJbWFn
ZUVsZW1lbnQvc2l6ZXMvaW1hZ2Utc2l6ZXMtdzNjLTItZXhwZWN0ZWQudHh0CisrKyBiL0xheW91
dFRlc3RzL2Zhc3QvZG9tL0hUTUxJbWFnZUVsZW1lbnQvc2l6ZXMvaW1hZ2Utc2l6ZXMtdzNjLTIt
ZXhwZWN0ZWQudHh0CkBAIC00NSw2ICs0NSwxMiBAQCBQQVNTICJncmVlbi0xeDEucG5nIiBpcyAi
Z3JlZW4tMXgxLnBuZyIKIFBBU1MgImdyZWVuLTF4MS5wbmciIGlzICJncmVlbi0xeDEucG5nIgog
UEFTUyAiZ3JlZW4tMXgxLnBuZyIgaXMgImdyZWVuLTF4MS5wbmciCiBQQVNTICJncmVlbi0xeDEu
cG5nIiBpcyAiZ3JlZW4tMXgxLnBuZyIKK0ZBSUwgImdyZWVuLTE2eDE2LnBuZyIgc2hvdWxkIGJl
IGdyZWVuLTF4MS5wbmcuIFdhcyBncmVlbi0xNngxNi5wbmcuCitQQVNTICJncmVlbi0xeDEucG5n
IiBpcyAiZ3JlZW4tMXgxLnBuZyIKK1BBU1MgImdyZWVuLTF4MS5wbmciIGlzICJncmVlbi0xeDEu
cG5nIgorUEFTUyAiZ3JlZW4tMXgxLnBuZyIgaXMgImdyZWVuLTF4MS5wbmciCitQQVNTICJncmVl
bi0xeDEucG5nIiBpcyAiZ3JlZW4tMXgxLnBuZyIKK1BBU1MgImdyZWVuLTF4MS5wbmciIGlzICJn
cmVlbi0xeDEucG5nIgogUEFTUyAiZ3JlZW4tMXgxLnBuZyIgaXMgImdyZWVuLTF4MS5wbmciCiBQ
QVNTICJncmVlbi0xeDEucG5nIiBpcyAiZ3JlZW4tMXgxLnBuZyIKIFBBU1MgImdyZWVuLTF4MS5w
bmciIGlzICJncmVlbi0xeDEucG5nIgpAQCAtNTcsMTEgKzYzLDYgQEAgUEFTUyAiZ3JlZW4tMXgx
LnBuZyIgaXMgImdyZWVuLTF4MS5wbmciCiBQQVNTICJncmVlbi0xeDEucG5nIiBpcyAiZ3JlZW4t
MXgxLnBuZyIKIFBBU1MgImdyZWVuLTF4MS5wbmciIGlzICJncmVlbi0xeDEucG5nIgogUEFTUyAi
Z3JlZW4tMXgxLnBuZyIgaXMgImdyZWVuLTF4MS5wbmciCi1GQUlMICJncmVlbi0xNngxNi5wbmci
IHNob3VsZCBiZSBncmVlbi0xeDEucG5nLiBXYXMgZ3JlZW4tMTZ4MTYucG5nLgotRkFJTCAiZ3Jl
ZW4tMTZ4MTYucG5nIiBzaG91bGQgYmUgZ3JlZW4tMXgxLnBuZy4gV2FzIGdyZWVuLTE2eDE2LnBu
Zy4KLUZBSUwgImdyZWVuLTE2eDE2LnBuZyIgc2hvdWxkIGJlIGdyZWVuLTF4MS5wbmcuIFdhcyBn
cmVlbi0xNngxNi5wbmcuCi1GQUlMICJncmVlbi0xNngxNi5wbmciIHNob3VsZCBiZSBncmVlbi0x
eDEucG5nLiBXYXMgZ3JlZW4tMTZ4MTYucG5nLgotRkFJTCAiZ3JlZW4tMTZ4MTYucG5nIiBzaG91
bGQgYmUgZ3JlZW4tMXgxLnBuZy4gV2FzIGdyZWVuLTE2eDE2LnBuZy4KIEZBSUwgImdyZWVuLTE2
eDE2LnBuZyIgc2hvdWxkIGJlIGdyZWVuLTF4MS5wbmcuIFdhcyBncmVlbi0xNngxNi5wbmcuCiBQ
QVNTICJncmVlbi0xeDEucG5nIiBpcyAiZ3JlZW4tMXgxLnBuZyIKIFBBU1MgImdyZWVuLTF4MS5w
bmciIGlzICJncmVlbi0xeDEucG5nIgpAQCAtMTA2LDcgKzEwNyw2IEBAIFBBU1MgImdyZWVuLTF4
MS5wbmciIGlzICJncmVlbi0xeDEucG5nIgogUEFTUyAiZ3JlZW4tMXgxLnBuZyIgaXMgImdyZWVu
LTF4MS5wbmciCiBQQVNTICJncmVlbi0xeDEucG5nIiBpcyAiZ3JlZW4tMXgxLnBuZyIKIFBBU1Mg
ImdyZWVuLTF4MS5wbmciIGlzICJncmVlbi0xeDEucG5nIgotRkFJTCAiZ3JlZW4tMTZ4MTYucG5n
IiBzaG91bGQgYmUgZ3JlZW4tMXgxLnBuZy4gV2FzIGdyZWVuLTE2eDE2LnBuZy4KIFBBU1MgImdy
ZWVuLTF4MS5wbmciIGlzICJncmVlbi0xeDEucG5nIgogUEFTUyAiZ3JlZW4tMXgxLnBuZyIgaXMg
ImdyZWVuLTF4MS5wbmciCiBQQVNTICJncmVlbi0xeDEucG5nIiBpcyAiZ3JlZW4tMXgxLnBuZyIK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxJbWFnZUVsZW1lbnQvc2l6ZXMv
aW1hZ2Utc2l6ZXMtdzNjLTMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vSFRN
TEltYWdlRWxlbWVudC9zaXplcy9pbWFnZS1zaXplcy13M2MtMy1leHBlY3RlZC50eHQKaW5kZXgg
ZTVlODczNTQyYmVmLi42OTNiYWY3NGM5MzYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qv
ZG9tL0hUTUxJbWFnZUVsZW1lbnQvc2l6ZXMvaW1hZ2Utc2l6ZXMtdzNjLTMtZXhwZWN0ZWQudHh0
CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxJbWFnZUVsZW1lbnQvc2l6ZXMvaW1hZ2Ut
c2l6ZXMtdzNjLTMtZXhwZWN0ZWQudHh0CkBAIC00NSw2ICs0NSwxMiBAQCBQQVNTICJncmVlbi0x
eDEucG5nIiBpcyAiZ3JlZW4tMXgxLnBuZyIKIFBBU1MgImdyZWVuLTF4MS5wbmciIGlzICJncmVl
bi0xeDEucG5nIgogUEFTUyAiZ3JlZW4tMXgxLnBuZyIgaXMgImdyZWVuLTF4MS5wbmciCiBQQVNT
ICJncmVlbi0xeDEucG5nIiBpcyAiZ3JlZW4tMXgxLnBuZyIKK0ZBSUwgImdyZWVuLTE2eDE2LnBu
ZyIgc2hvdWxkIGJlIGdyZWVuLTF4MS5wbmcuIFdhcyBncmVlbi0xNngxNi5wbmcuCitQQVNTICJn
cmVlbi0xeDEucG5nIiBpcyAiZ3JlZW4tMXgxLnBuZyIKK1BBU1MgImdyZWVuLTF4MS5wbmciIGlz
ICJncmVlbi0xeDEucG5nIgorUEFTUyAiZ3JlZW4tMXgxLnBuZyIgaXMgImdyZWVuLTF4MS5wbmci
CitQQVNTICJncmVlbi0xeDEucG5nIiBpcyAiZ3JlZW4tMXgxLnBuZyIKK1BBU1MgImdyZWVuLTF4
MS5wbmciIGlzICJncmVlbi0xeDEucG5nIgogUEFTUyAiZ3JlZW4tMXgxLnBuZyIgaXMgImdyZWVu
LTF4MS5wbmciCiBQQVNTICJncmVlbi0xeDEucG5nIiBpcyAiZ3JlZW4tMXgxLnBuZyIKIFBBU1Mg
ImdyZWVuLTF4MS5wbmciIGlzICJncmVlbi0xeDEucG5nIgpAQCAtNTcsMTEgKzYzLDYgQEAgUEFT
UyAiZ3JlZW4tMXgxLnBuZyIgaXMgImdyZWVuLTF4MS5wbmciCiBQQVNTICJncmVlbi0xeDEucG5n
IiBpcyAiZ3JlZW4tMXgxLnBuZyIKIFBBU1MgImdyZWVuLTF4MS5wbmciIGlzICJncmVlbi0xeDEu
cG5nIgogUEFTUyAiZ3JlZW4tMXgxLnBuZyIgaXMgImdyZWVuLTF4MS5wbmciCi1GQUlMICJncmVl
bi0xNngxNi5wbmciIHNob3VsZCBiZSBncmVlbi0xeDEucG5nLiBXYXMgZ3JlZW4tMTZ4MTYucG5n
LgotRkFJTCAiZ3JlZW4tMTZ4MTYucG5nIiBzaG91bGQgYmUgZ3JlZW4tMXgxLnBuZy4gV2FzIGdy
ZWVuLTE2eDE2LnBuZy4KLUZBSUwgImdyZWVuLTE2eDE2LnBuZyIgc2hvdWxkIGJlIGdyZWVuLTF4
MS5wbmcuIFdhcyBncmVlbi0xNngxNi5wbmcuCi1GQUlMICJncmVlbi0xNngxNi5wbmciIHNob3Vs
ZCBiZSBncmVlbi0xeDEucG5nLiBXYXMgZ3JlZW4tMTZ4MTYucG5nLgotRkFJTCAiZ3JlZW4tMTZ4
MTYucG5nIiBzaG91bGQgYmUgZ3JlZW4tMXgxLnBuZy4gV2FzIGdyZWVuLTE2eDE2LnBuZy4KIEZB
SUwgImdyZWVuLTE2eDE2LnBuZyIgc2hvdWxkIGJlIGdyZWVuLTF4MS5wbmcuIFdhcyBncmVlbi0x
NngxNi5wbmcuCiBQQVNTICJncmVlbi0xeDEucG5nIiBpcyAiZ3JlZW4tMXgxLnBuZyIKIFBBU1Mg
ImdyZWVuLTF4MS5wbmciIGlzICJncmVlbi0xeDEucG5nIgpAQCAtMTA2LDcgKzEwNyw2IEBAIFBB
U1MgImdyZWVuLTF4MS5wbmciIGlzICJncmVlbi0xeDEucG5nIgogUEFTUyAiZ3JlZW4tMXgxLnBu
ZyIgaXMgImdyZWVuLTF4MS5wbmciCiBQQVNTICJncmVlbi0xeDEucG5nIiBpcyAiZ3JlZW4tMXgx
LnBuZyIKIFBBU1MgImdyZWVuLTF4MS5wbmciIGlzICJncmVlbi0xeDEucG5nIgotRkFJTCAiZ3Jl
ZW4tMTZ4MTYucG5nIiBzaG91bGQgYmUgZ3JlZW4tMXgxLnBuZy4gV2FzIGdyZWVuLTE2eDE2LnBu
Zy4KIFBBU1MgImdyZWVuLTF4MS5wbmciIGlzICJncmVlbi0xeDEucG5nIgogUEFTUyAiZ3JlZW4t
MXgxLnBuZyIgaXMgImdyZWVuLTF4MS5wbmciCiBQQVNTICJncmVlbi0xeDEucG5nIiBpcyAiZ3Jl
ZW4tMXgxLnBuZyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxJbWFnZUVs
ZW1lbnQvc2l6ZXMvaW1hZ2Utc2l6ZXMtdzNjLTQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZmFzdC9kb20vSFRNTEltYWdlRWxlbWVudC9zaXplcy9pbWFnZS1zaXplcy13M2MtNC1leHBlY3Rl
ZC50eHQKaW5kZXggY2Y3YTYxMmIxZGFhLi4zOTg5NzY2YWJhMzIgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2Zhc3QvZG9tL0hUTUxJbWFnZUVsZW1lbnQvc2l6ZXMvaW1hZ2Utc2l6ZXMtdzNjLTQt
ZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL0hUTUxJbWFnZUVsZW1lbnQv
c2l6ZXMvaW1hZ2Utc2l6ZXMtdzNjLTQtZXhwZWN0ZWQudHh0CkBAIC00NSw2ICs0NSwxMiBAQCBQ
QVNTICJncmVlbi0xeDEucG5nIiBpcyAiZ3JlZW4tMXgxLnBuZyIKIFBBU1MgImdyZWVuLTF4MS5w
bmciIGlzICJncmVlbi0xeDEucG5nIgogUEFTUyAiZ3JlZW4tMXgxLnBuZyIgaXMgImdyZWVuLTF4
MS5wbmciCiBQQVNTICJncmVlbi0xeDEucG5nIiBpcyAiZ3JlZW4tMXgxLnBuZyIKK0ZBSUwgImdy
ZWVuLTE2eDE2LnBuZyIgc2hvdWxkIGJlIGdyZWVuLTF4MS5wbmcuIFdhcyBncmVlbi0xNngxNi5w
bmcuCitQQVNTICJncmVlbi0xeDEucG5nIiBpcyAiZ3JlZW4tMXgxLnBuZyIKK1BBU1MgImdyZWVu
LTF4MS5wbmciIGlzICJncmVlbi0xeDEucG5nIgorUEFTUyAiZ3JlZW4tMXgxLnBuZyIgaXMgImdy
ZWVuLTF4MS5wbmciCitQQVNTICJncmVlbi0xeDEucG5nIiBpcyAiZ3JlZW4tMXgxLnBuZyIKK1BB
U1MgImdyZWVuLTF4MS5wbmciIGlzICJncmVlbi0xeDEucG5nIgogUEFTUyAiZ3JlZW4tMXgxLnBu
ZyIgaXMgImdyZWVuLTF4MS5wbmciCiBQQVNTICJncmVlbi0xeDEucG5nIiBpcyAiZ3JlZW4tMXgx
LnBuZyIKIFBBU1MgImdyZWVuLTF4MS5wbmciIGlzICJncmVlbi0xeDEucG5nIgpAQCAtNTcsMTEg
KzYzLDYgQEAgUEFTUyAiZ3JlZW4tMXgxLnBuZyIgaXMgImdyZWVuLTF4MS5wbmciCiBQQVNTICJn
cmVlbi0xeDEucG5nIiBpcyAiZ3JlZW4tMXgxLnBuZyIKIFBBU1MgImdyZWVuLTF4MS5wbmciIGlz
ICJncmVlbi0xeDEucG5nIgogUEFTUyAiZ3JlZW4tMXgxLnBuZyIgaXMgImdyZWVuLTF4MS5wbmci
Ci1GQUlMICJncmVlbi0xNngxNi5wbmciIHNob3VsZCBiZSBncmVlbi0xeDEucG5nLiBXYXMgZ3Jl
ZW4tMTZ4MTYucG5nLgotRkFJTCAiZ3JlZW4tMTZ4MTYucG5nIiBzaG91bGQgYmUgZ3JlZW4tMXgx
LnBuZy4gV2FzIGdyZWVuLTE2eDE2LnBuZy4KLUZBSUwgImdyZWVuLTE2eDE2LnBuZyIgc2hvdWxk
IGJlIGdyZWVuLTF4MS5wbmcuIFdhcyBncmVlbi0xNngxNi5wbmcuCi1GQUlMICJncmVlbi0xNngx
Ni5wbmciIHNob3VsZCBiZSBncmVlbi0xeDEucG5nLiBXYXMgZ3JlZW4tMTZ4MTYucG5nLgotRkFJ
TCAiZ3JlZW4tMTZ4MTYucG5nIiBzaG91bGQgYmUgZ3JlZW4tMXgxLnBuZy4gV2FzIGdyZWVuLTE2
eDE2LnBuZy4KIEZBSUwgImdyZWVuLTE2eDE2LnBuZyIgc2hvdWxkIGJlIGdyZWVuLTF4MS5wbmcu
IFdhcyBncmVlbi0xNngxNi5wbmcuCiBQQVNTICJncmVlbi0xeDEucG5nIiBpcyAiZ3JlZW4tMXgx
LnBuZyIKIFBBU1MgImdyZWVuLTF4MS5wbmciIGlzICJncmVlbi0xeDEucG5nIgpAQCAtMTA2LDcg
KzEwNyw2IEBAIFBBU1MgImdyZWVuLTF4MS5wbmciIGlzICJncmVlbi0xeDEucG5nIgogUEFTUyAi
Z3JlZW4tMXgxLnBuZyIgaXMgImdyZWVuLTF4MS5wbmciCiBQQVNTICJncmVlbi0xeDEucG5nIiBp
cyAiZ3JlZW4tMXgxLnBuZyIKIFBBU1MgImdyZWVuLTF4MS5wbmciIGlzICJncmVlbi0xeDEucG5n
IgotRkFJTCAiZ3JlZW4tMTZ4MTYucG5nIiBzaG91bGQgYmUgZ3JlZW4tMXgxLnBuZy4gV2FzIGdy
ZWVuLTE2eDE2LnBuZy4KIFBBU1MgImdyZWVuLTF4MS5wbmciIGlzICJncmVlbi0xeDEucG5nIgog
UEFTUyAiZ3JlZW4tMXgxLnBuZyIgaXMgImdyZWVuLTF4MS5wbmciCiBQQVNTICJncmVlbi0xeDEu
cG5nIiBpcyAiZ3JlZW4tMXgxLnBuZyIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2lvcy9mYXN0L2RvbS9IVE1MSW1hZ2VFbGVtZW50L3NpemVzL2ltYWdlLXNpemVzLXczYy0xLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9mYXN0L2RvbS9IVE1MSW1hZ2VF
bGVtZW50L3NpemVzL2ltYWdlLXNpemVzLXczYy0xLWV4cGVjdGVkLnR4dAppbmRleCBiMmI0ODc2
YjFjOTUuLjg5NjI5MmM1MGZmYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9z
L2Zhc3QvZG9tL0hUTUxJbWFnZUVsZW1lbnQvc2l6ZXMvaW1hZ2Utc2l6ZXMtdzNjLTEtZXhwZWN0
ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9mYXN0L2RvbS9IVE1MSW1hZ2VF
bGVtZW50L3NpemVzL2ltYWdlLXNpemVzLXczYy0xLWV4cGVjdGVkLnR4dApAQCAtNDUsNiArNDUs
MTIgQEAgUEFTUyAiZ3JlZW4tMXgxLnBuZyIgaXMgImdyZWVuLTF4MS5wbmciCiBQQVNTICJncmVl
bi0xeDEucG5nIiBpcyAiZ3JlZW4tMXgxLnBuZyIKIFBBU1MgImdyZWVuLTF4MS5wbmciIGlzICJn
cmVlbi0xeDEucG5nIgogUEFTUyAiZ3JlZW4tMXgxLnBuZyIgaXMgImdyZWVuLTF4MS5wbmciCitG
QUlMICJncmVlbi0xNngxNi5wbmciIHNob3VsZCBiZSBncmVlbi0xeDEucG5nLiBXYXMgZ3JlZW4t
MTZ4MTYucG5nLgorUEFTUyAiZ3JlZW4tMXgxLnBuZyIgaXMgImdyZWVuLTF4MS5wbmciCitQQVNT
ICJncmVlbi0xeDEucG5nIiBpcyAiZ3JlZW4tMXgxLnBuZyIKK1BBU1MgImdyZWVuLTF4MS5wbmci
IGlzICJncmVlbi0xeDEucG5nIgorUEFTUyAiZ3JlZW4tMXgxLnBuZyIgaXMgImdyZWVuLTF4MS5w
bmciCitQQVNTICJncmVlbi0xeDEucG5nIiBpcyAiZ3JlZW4tMXgxLnBuZyIKIFBBU1MgImdyZWVu
LTF4MS5wbmciIGlzICJncmVlbi0xeDEucG5nIgogUEFTUyAiZ3JlZW4tMXgxLnBuZyIgaXMgImdy
ZWVuLTF4MS5wbmciCiBQQVNTICJncmVlbi0xeDEucG5nIiBpcyAiZ3JlZW4tMXgxLnBuZyIKQEAg
LTU3LDExICs2Myw2IEBAIFBBU1MgImdyZWVuLTF4MS5wbmciIGlzICJncmVlbi0xeDEucG5nIgog
UEFTUyAiZ3JlZW4tMXgxLnBuZyIgaXMgImdyZWVuLTF4MS5wbmciCiBQQVNTICJncmVlbi0xeDEu
cG5nIiBpcyAiZ3JlZW4tMXgxLnBuZyIKIFBBU1MgImdyZWVuLTF4MS5wbmciIGlzICJncmVlbi0x
eDEucG5nIgotRkFJTCAiZ3JlZW4tMTZ4MTYucG5nIiBzaG91bGQgYmUgZ3JlZW4tMXgxLnBuZy4g
V2FzIGdyZWVuLTE2eDE2LnBuZy4KLUZBSUwgImdyZWVuLTE2eDE2LnBuZyIgc2hvdWxkIGJlIGdy
ZWVuLTF4MS5wbmcuIFdhcyBncmVlbi0xNngxNi5wbmcuCi1GQUlMICJncmVlbi0xNngxNi5wbmci
IHNob3VsZCBiZSBncmVlbi0xeDEucG5nLiBXYXMgZ3JlZW4tMTZ4MTYucG5nLgotRkFJTCAiZ3Jl
ZW4tMTZ4MTYucG5nIiBzaG91bGQgYmUgZ3JlZW4tMXgxLnBuZy4gV2FzIGdyZWVuLTE2eDE2LnBu
Zy4KLUZBSUwgImdyZWVuLTE2eDE2LnBuZyIgc2hvdWxkIGJlIGdyZWVuLTF4MS5wbmcuIFdhcyBn
cmVlbi0xNngxNi5wbmcuCiBGQUlMICJncmVlbi0xNngxNi5wbmciIHNob3VsZCBiZSBncmVlbi0x
eDEucG5nLiBXYXMgZ3JlZW4tMTZ4MTYucG5nLgogUEFTUyAiZ3JlZW4tMXgxLnBuZyIgaXMgImdy
ZWVuLTF4MS5wbmciCiBQQVNTICJncmVlbi0xeDEucG5nIiBpcyAiZ3JlZW4tMXgxLnBuZyIKQEAg
LTEwNiw3ICsxMDcsNiBAQCBQQVNTICJncmVlbi0xeDEucG5nIiBpcyAiZ3JlZW4tMXgxLnBuZyIK
IFBBU1MgImdyZWVuLTF4MS5wbmciIGlzICJncmVlbi0xeDEucG5nIgogUEFTUyAiZ3JlZW4tMXgx
LnBuZyIgaXMgImdyZWVuLTF4MS5wbmciCiBQQVNTICJncmVlbi0xeDEucG5nIiBpcyAiZ3JlZW4t
MXgxLnBuZyIKLUZBSUwgImdyZWVuLTE2eDE2LnBuZyIgc2hvdWxkIGJlIGdyZWVuLTF4MS5wbmcu
IFdhcyBncmVlbi0xNngxNi5wbmcuCiBQQVNTICJncmVlbi0xeDEucG5nIiBpcyAiZ3JlZW4tMXgx
LnBuZyIKIFBBU1MgImdyZWVuLTF4MS5wbmciIGlzICJncmVlbi0xeDEucG5nIgogUEFTUyAiZ3Jl
ZW4tMXgxLnBuZyIgaXMgImdyZWVuLTF4MS5wbmciCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9pb3MvZmFzdC9kb20vSFRNTEltYWdlRWxlbWVudC9zaXplcy9pbWFnZS1zaXplcy13
M2MtMi1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3MvZmFzdC9kb20vSFRN
TEltYWdlRWxlbWVudC9zaXplcy9pbWFnZS1zaXplcy13M2MtMi1leHBlY3RlZC50eHQKaW5kZXgg
YjJiNDg3NmIxYzk1Li44OTYyOTJjNTBmZmIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRm
b3JtL2lvcy9mYXN0L2RvbS9IVE1MSW1hZ2VFbGVtZW50L3NpemVzL2ltYWdlLXNpemVzLXczYy0y
LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9pb3MvZmFzdC9kb20vSFRN
TEltYWdlRWxlbWVudC9zaXplcy9pbWFnZS1zaXplcy13M2MtMi1leHBlY3RlZC50eHQKQEAgLTQ1
LDYgKzQ1LDEyIEBAIFBBU1MgImdyZWVuLTF4MS5wbmciIGlzICJncmVlbi0xeDEucG5nIgogUEFT
UyAiZ3JlZW4tMXgxLnBuZyIgaXMgImdyZWVuLTF4MS5wbmciCiBQQVNTICJncmVlbi0xeDEucG5n
IiBpcyAiZ3JlZW4tMXgxLnBuZyIKIFBBU1MgImdyZWVuLTF4MS5wbmciIGlzICJncmVlbi0xeDEu
cG5nIgorRkFJTCAiZ3JlZW4tMTZ4MTYucG5nIiBzaG91bGQgYmUgZ3JlZW4tMXgxLnBuZy4gV2Fz
IGdyZWVuLTE2eDE2LnBuZy4KK1BBU1MgImdyZWVuLTF4MS5wbmciIGlzICJncmVlbi0xeDEucG5n
IgorUEFTUyAiZ3JlZW4tMXgxLnBuZyIgaXMgImdyZWVuLTF4MS5wbmciCitQQVNTICJncmVlbi0x
eDEucG5nIiBpcyAiZ3JlZW4tMXgxLnBuZyIKK1BBU1MgImdyZWVuLTF4MS5wbmciIGlzICJncmVl
bi0xeDEucG5nIgorUEFTUyAiZ3JlZW4tMXgxLnBuZyIgaXMgImdyZWVuLTF4MS5wbmciCiBQQVNT
ICJncmVlbi0xeDEucG5nIiBpcyAiZ3JlZW4tMXgxLnBuZyIKIFBBU1MgImdyZWVuLTF4MS5wbmci
IGlzICJncmVlbi0xeDEucG5nIgogUEFTUyAiZ3JlZW4tMXgxLnBuZyIgaXMgImdyZWVuLTF4MS5w
bmciCkBAIC01NywxMSArNjMsNiBAQCBQQVNTICJncmVlbi0xeDEucG5nIiBpcyAiZ3JlZW4tMXgx
LnBuZyIKIFBBU1MgImdyZWVuLTF4MS5wbmciIGlzICJncmVlbi0xeDEucG5nIgogUEFTUyAiZ3Jl
ZW4tMXgxLnBuZyIgaXMgImdyZWVuLTF4MS5wbmciCiBQQVNTICJncmVlbi0xeDEucG5nIiBpcyAi
Z3JlZW4tMXgxLnBuZyIKLUZBSUwgImdyZWVuLTE2eDE2LnBuZyIgc2hvdWxkIGJlIGdyZWVuLTF4
MS5wbmcuIFdhcyBncmVlbi0xNngxNi5wbmcuCi1GQUlMICJncmVlbi0xNngxNi5wbmciIHNob3Vs
ZCBiZSBncmVlbi0xeDEucG5nLiBXYXMgZ3JlZW4tMTZ4MTYucG5nLgotRkFJTCAiZ3JlZW4tMTZ4
MTYucG5nIiBzaG91bGQgYmUgZ3JlZW4tMXgxLnBuZy4gV2FzIGdyZWVuLTE2eDE2LnBuZy4KLUZB
SUwgImdyZWVuLTE2eDE2LnBuZyIgc2hvdWxkIGJlIGdyZWVuLTF4MS5wbmcuIFdhcyBncmVlbi0x
NngxNi5wbmcuCi1GQUlMICJncmVlbi0xNngxNi5wbmciIHNob3VsZCBiZSBncmVlbi0xeDEucG5n
LiBXYXMgZ3JlZW4tMTZ4MTYucG5nLgogRkFJTCAiZ3JlZW4tMTZ4MTYucG5nIiBzaG91bGQgYmUg
Z3JlZW4tMXgxLnBuZy4gV2FzIGdyZWVuLTE2eDE2LnBuZy4KIFBBU1MgImdyZWVuLTF4MS5wbmci
IGlzICJncmVlbi0xeDEucG5nIgogUEFTUyAiZ3JlZW4tMXgxLnBuZyIgaXMgImdyZWVuLTF4MS5w
bmciCkBAIC0xMDYsNyArMTA3LDYgQEAgUEFTUyAiZ3JlZW4tMXgxLnBuZyIgaXMgImdyZWVuLTF4
MS5wbmciCiBQQVNTICJncmVlbi0xeDEucG5nIiBpcyAiZ3JlZW4tMXgxLnBuZyIKIFBBU1MgImdy
ZWVuLTF4MS5wbmciIGlzICJncmVlbi0xeDEucG5nIgogUEFTUyAiZ3JlZW4tMXgxLnBuZyIgaXMg
ImdyZWVuLTF4MS5wbmciCi1GQUlMICJncmVlbi0xNngxNi5wbmciIHNob3VsZCBiZSBncmVlbi0x
eDEucG5nLiBXYXMgZ3JlZW4tMTZ4MTYucG5nLgogUEFTUyAiZ3JlZW4tMXgxLnBuZyIgaXMgImdy
ZWVuLTF4MS5wbmciCiBQQVNTICJncmVlbi0xeDEucG5nIiBpcyAiZ3JlZW4tMXgxLnBuZyIKIFBB
U1MgImdyZWVuLTF4MS5wbmciIGlzICJncmVlbi0xeDEucG5nIgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vaW9zL2Zhc3QvZG9tL0hUTUxJbWFnZUVsZW1lbnQvc2l6ZXMvaW1hZ2Ut
c2l6ZXMtdzNjLTMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zL2Zhc3Qv
ZG9tL0hUTUxJbWFnZUVsZW1lbnQvc2l6ZXMvaW1hZ2Utc2l6ZXMtdzNjLTMtZXhwZWN0ZWQudHh0
CmluZGV4IDE2YjFhMjg2MmEyYS4uNTU0YjVkNTRkMjcyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9pb3MvZmFzdC9kb20vSFRNTEltYWdlRWxlbWVudC9zaXplcy9pbWFnZS1zaXpl
cy13M2MtMy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vaW9zL2Zhc3Qv
ZG9tL0hUTUxJbWFnZUVsZW1lbnQvc2l6ZXMvaW1hZ2Utc2l6ZXMtdzNjLTMtZXhwZWN0ZWQudHh0
CkBAIC00NSw2ICs0NSwxMiBAQCBQQVNTICJncmVlbi0xeDEucG5nIiBpcyAiZ3JlZW4tMXgxLnBu
ZyIKIFBBU1MgImdyZWVuLTF4MS5wbmciIGlzICJncmVlbi0xeDEucG5nIgogUEFTUyAiZ3JlZW4t
MXgxLnBuZyIgaXMgImdyZWVuLTF4MS5wbmciCiBQQVNTICJncmVlbi0xeDEucG5nIiBpcyAiZ3Jl
ZW4tMXgxLnBuZyIKK0ZBSUwgImdyZWVuLTE2eDE2LnBuZyIgc2hvdWxkIGJlIGdyZWVuLTF4MS5w
bmcuIFdhcyBncmVlbi0xNngxNi5wbmcuCitQQVNTICJncmVlbi0xeDEucG5nIiBpcyAiZ3JlZW4t
MXgxLnBuZyIKK1BBU1MgImdyZWVuLTF4MS5wbmciIGlzICJncmVlbi0xeDEucG5nIgorUEFTUyAi
Z3JlZW4tMXgxLnBuZyIgaXMgImdyZWVuLTF4MS5wbmciCitQQVNTICJncmVlbi0xeDEucG5nIiBp
cyAiZ3JlZW4tMXgxLnBuZyIKK1BBU1MgImdyZWVuLTF4MS5wbmciIGlzICJncmVlbi0xeDEucG5n
IgogUEFTUyAiZ3JlZW4tMXgxLnBuZyIgaXMgImdyZWVuLTF4MS5wbmciCiBQQVNTICJncmVlbi0x
eDEucG5nIiBpcyAiZ3JlZW4tMXgxLnBuZyIKIFBBU1MgImdyZWVuLTF4MS5wbmciIGlzICJncmVl
bi0xeDEucG5nIgpAQCAtNTcsMTEgKzYzLDYgQEAgUEFTUyAiZ3JlZW4tMXgxLnBuZyIgaXMgImdy
ZWVuLTF4MS5wbmciCiBQQVNTICJncmVlbi0xeDEucG5nIiBpcyAiZ3JlZW4tMXgxLnBuZyIKIFBB
U1MgImdyZWVuLTF4MS5wbmciIGlzICJncmVlbi0xeDEucG5nIgogUEFTUyAiZ3JlZW4tMXgxLnBu
ZyIgaXMgImdyZWVuLTF4MS5wbmciCi1GQUlMICJncmVlbi0xNngxNi5wbmciIHNob3VsZCBiZSBn
cmVlbi0xeDEucG5nLiBXYXMgZ3JlZW4tMTZ4MTYucG5nLgotRkFJTCAiZ3JlZW4tMTZ4MTYucG5n
IiBzaG91bGQgYmUgZ3JlZW4tMXgxLnBuZy4gV2FzIGdyZWVuLTE2eDE2LnBuZy4KLUZBSUwgImdy
ZWVuLTE2eDE2LnBuZyIgc2hvdWxkIGJlIGdyZWVuLTF4MS5wbmcuIFdhcyBncmVlbi0xNngxNi5w
bmcuCi1GQUlMICJncmVlbi0xNngxNi5wbmciIHNob3VsZCBiZSBncmVlbi0xeDEucG5nLiBXYXMg
Z3JlZW4tMTZ4MTYucG5nLgotRkFJTCAiZ3JlZW4tMTZ4MTYucG5nIiBzaG91bGQgYmUgZ3JlZW4t
MXgxLnBuZy4gV2FzIGdyZWVuLTE2eDE2LnBuZy4KIEZBSUwgImdyZWVuLTE2eDE2LnBuZyIgc2hv
dWxkIGJlIGdyZWVuLTF4MS5wbmcuIFdhcyBncmVlbi0xNngxNi5wbmcuCiBQQVNTICJncmVlbi0x
eDEucG5nIiBpcyAiZ3JlZW4tMXgxLnBuZyIKIFBBU1MgImdyZWVuLTF4MS5wbmciIGlzICJncmVl
bi0xeDEucG5nIgpAQCAtMTA2LDcgKzEwNyw2IEBAIFBBU1MgImdyZWVuLTF4MS5wbmciIGlzICJn
cmVlbi0xeDEucG5nIgogUEFTUyAiZ3JlZW4tMXgxLnBuZyIgaXMgImdyZWVuLTF4MS5wbmciCiBQ
QVNTICJncmVlbi0xeDEucG5nIiBpcyAiZ3JlZW4tMXgxLnBuZyIKIFBBU1MgImdyZWVuLTF4MS5w
bmciIGlzICJncmVlbi0xeDEucG5nIgotRkFJTCAiZ3JlZW4tMTZ4MTYucG5nIiBzaG91bGQgYmUg
Z3JlZW4tMXgxLnBuZy4gV2FzIGdyZWVuLTE2eDE2LnBuZy4KIFBBU1MgImdyZWVuLTF4MS5wbmci
IGlzICJncmVlbi0xeDEucG5nIgogUEFTUyAiZ3JlZW4tMXgxLnBuZyIgaXMgImdyZWVuLTF4MS5w
bmciCiBQQVNTICJncmVlbi0xeDEucG5nIiBpcyAiZ3JlZW4tMXgxLnBuZyIKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3BsYXRmb3JtL2lvcy9mYXN0L2RvbS9IVE1MSW1hZ2VFbGVtZW50L3NpemVz
L2ltYWdlLXNpemVzLXczYy00LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lv
cy9mYXN0L2RvbS9IVE1MSW1hZ2VFbGVtZW50L3NpemVzL2ltYWdlLXNpemVzLXczYy00LWV4cGVj
dGVkLnR4dAppbmRleCBiMmI0ODc2YjFjOTUuLjg5NjI5MmM1MGZmYiAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vaW9zL2Zhc3QvZG9tL0hUTUxJbWFnZUVsZW1lbnQvc2l6ZXMvaW1h
Z2Utc2l6ZXMtdzNjLTQtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2lv
cy9mYXN0L2RvbS9IVE1MSW1hZ2VFbGVtZW50L3NpemVzL2ltYWdlLXNpemVzLXczYy00LWV4cGVj
dGVkLnR4dApAQCAtNDUsNiArNDUsMTIgQEAgUEFTUyAiZ3JlZW4tMXgxLnBuZyIgaXMgImdyZWVu
LTF4MS5wbmciCiBQQVNTICJncmVlbi0xeDEucG5nIiBpcyAiZ3JlZW4tMXgxLnBuZyIKIFBBU1Mg
ImdyZWVuLTF4MS5wbmciIGlzICJncmVlbi0xeDEucG5nIgogUEFTUyAiZ3JlZW4tMXgxLnBuZyIg
aXMgImdyZWVuLTF4MS5wbmciCitGQUlMICJncmVlbi0xNngxNi5wbmciIHNob3VsZCBiZSBncmVl
bi0xeDEucG5nLiBXYXMgZ3JlZW4tMTZ4MTYucG5nLgorUEFTUyAiZ3JlZW4tMXgxLnBuZyIgaXMg
ImdyZWVuLTF4MS5wbmciCitQQVNTICJncmVlbi0xeDEucG5nIiBpcyAiZ3JlZW4tMXgxLnBuZyIK
K1BBU1MgImdyZWVuLTF4MS5wbmciIGlzICJncmVlbi0xeDEucG5nIgorUEFTUyAiZ3JlZW4tMXgx
LnBuZyIgaXMgImdyZWVuLTF4MS5wbmciCitQQVNTICJncmVlbi0xeDEucG5nIiBpcyAiZ3JlZW4t
MXgxLnBuZyIKIFBBU1MgImdyZWVuLTF4MS5wbmciIGlzICJncmVlbi0xeDEucG5nIgogUEFTUyAi
Z3JlZW4tMXgxLnBuZyIgaXMgImdyZWVuLTF4MS5wbmciCiBQQVNTICJncmVlbi0xeDEucG5nIiBp
cyAiZ3JlZW4tMXgxLnBuZyIKQEAgLTU3LDExICs2Myw2IEBAIFBBU1MgImdyZWVuLTF4MS5wbmci
IGlzICJncmVlbi0xeDEucG5nIgogUEFTUyAiZ3JlZW4tMXgxLnBuZyIgaXMgImdyZWVuLTF4MS5w
bmciCiBQQVNTICJncmVlbi0xeDEucG5nIiBpcyAiZ3JlZW4tMXgxLnBuZyIKIFBBU1MgImdyZWVu
LTF4MS5wbmciIGlzICJncmVlbi0xeDEucG5nIgotRkFJTCAiZ3JlZW4tMTZ4MTYucG5nIiBzaG91
bGQgYmUgZ3JlZW4tMXgxLnBuZy4gV2FzIGdyZWVuLTE2eDE2LnBuZy4KLUZBSUwgImdyZWVuLTE2
eDE2LnBuZyIgc2hvdWxkIGJlIGdyZWVuLTF4MS5wbmcuIFdhcyBncmVlbi0xNngxNi5wbmcuCi1G
QUlMICJncmVlbi0xNngxNi5wbmciIHNob3VsZCBiZSBncmVlbi0xeDEucG5nLiBXYXMgZ3JlZW4t
MTZ4MTYucG5nLgotRkFJTCAiZ3JlZW4tMTZ4MTYucG5nIiBzaG91bGQgYmUgZ3JlZW4tMXgxLnBu
Zy4gV2FzIGdyZWVuLTE2eDE2LnBuZy4KLUZBSUwgImdyZWVuLTE2eDE2LnBuZyIgc2hvdWxkIGJl
IGdyZWVuLTF4MS5wbmcuIFdhcyBncmVlbi0xNngxNi5wbmcuCiBGQUlMICJncmVlbi0xNngxNi5w
bmciIHNob3VsZCBiZSBncmVlbi0xeDEucG5nLiBXYXMgZ3JlZW4tMTZ4MTYucG5nLgogUEFTUyAi
Z3JlZW4tMXgxLnBuZyIgaXMgImdyZWVuLTF4MS5wbmciCiBQQVNTICJncmVlbi0xeDEucG5nIiBp
cyAiZ3JlZW4tMXgxLnBuZyIKQEAgLTEwNiw3ICsxMDcsNiBAQCBQQVNTICJncmVlbi0xeDEucG5n
IiBpcyAiZ3JlZW4tMXgxLnBuZyIKIFBBU1MgImdyZWVuLTF4MS5wbmciIGlzICJncmVlbi0xeDEu
cG5nIgogUEFTUyAiZ3JlZW4tMXgxLnBuZyIgaXMgImdyZWVuLTF4MS5wbmciCiBQQVNTICJncmVl
bi0xeDEucG5nIiBpcyAiZ3JlZW4tMXgxLnBuZyIKLUZBSUwgImdyZWVuLTE2eDE2LnBuZyIgc2hv
dWxkIGJlIGdyZWVuLTF4MS5wbmcuIFdhcyBncmVlbi0xNngxNi5wbmcuCiBQQVNTICJncmVlbi0x
eDEucG5nIiBpcyAiZ3JlZW4tMXgxLnBuZyIKIFBBU1MgImdyZWVuLTF4MS5wbmciIGlzICJncmVl
bi0xeDEucG5nIgogUEFTUyAiZ3JlZW4tMXgxLnBuZyIgaXMgImdyZWVuLTF4MS5wbmciCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>