<?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>220634</bug_id>
          
          <creation_ts>2021-01-14 14:05:40 -0800</creation_ts>
          <short_desc>[JSC] Correctly handle escaped keyword identifiers</short_desc>
          <delta_ts>2021-01-14 21:56:13 -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>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Ross Kirsling">ross.kirsling</reporter>
          <assigned_to name="Ross Kirsling">ross.kirsling</assigned_to>
          <cc>ews-watchlist</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1719693</commentid>
    <comment_count>0</comment_count>
    <who name="Ross Kirsling">ross.kirsling</who>
    <bug_when>2021-01-14 14:05:40 -0800</bug_when>
    <thetext>[JSC] Correctly handle escaped keyword identifiers</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1719695</commentid>
    <comment_count>1</comment_count>
      <attachid>417653</attachid>
    <who name="Ross Kirsling">ross.kirsling</who>
    <bug_when>2021-01-14 14:24:37 -0800</bug_when>
    <thetext>Created attachment 417653
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1719780</commentid>
    <comment_count>2</comment_count>
      <attachid>417653</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-01-14 21:34:57 -0800</bug_when>
    <thetext>Comment on attachment 417653
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1719781</commentid>
    <comment_count>3</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-01-14 21:55:52 -0800</bug_when>
    <thetext>Committed r271509: &lt;https://trac.webkit.org/changeset/271509&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 417653.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1719782</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-01-14 21:56:13 -0800</bug_when>
    <thetext>&lt;rdar://problem/73232439&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>417653</attachid>
            <date>2021-01-14 14:24:37 -0800</date>
            <delta_ts>2021-01-14 21:55:53 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-220634-20210114142437.patch</filename>
            <type>text/plain</type>
            <size>30374</size>
            <attacher name="Ross Kirsling">ross.kirsling</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcxNDQzCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA1
MjI4NDIwY2UyMzE5NDc2ZTZmYjhiOTMxYWQ5YTExMjUxY2EwZDFhLi4xZTlmYzE4ZjQ1MWNlNTc4
ZjEwZTBkZDkxNzBiZGVlNzAxZTBlNGI3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSw0NyBAQAorMjAyMS0wMS0xNCAgUm9zcyBLaXJzbGluZyAgPHJvc3Mua2lyc2xpbmdAc29u
eS5jb20+CisKKyAgICAgICAgW0pTQ10gQ29ycmVjdGx5IGhhbmRsZSBlc2NhcGVkIGtleXdvcmQg
aWRlbnRpZmllcnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIyMDYzNAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIFdoZW4gYGxldGAsIGBhd2FpdGAsIGFuZCBgeWllbGRgIGFyZSBhY2NlcHRlZCBhcyBpZGVu
dGlmaWVycywgdGhleSBzaG91bGQgYmUgYWNjZXB0ZWQgZXZlbiBpbiBlc2NhcGVkIGZvcm0uCisg
ICAgICAgIFRoaXMgcGF0Y2ggZW5zdXJlcyB0aGlzIGJlaGF2aW9yIGZvciB2YXJpYWJsZSwgcGFy
YW1ldGVyLCBhbmQgbGFiZWwgbmFtZXMuCisKKyAgICAgICAgKiBwYXJzZXIvUGFyc2VyLmNwcDoK
KyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OmlzQXJyb3dGdW5jdGlvblBhcmFtZXRl
cnMpOgorICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VTdGF0ZW1lbnRMaXN0
SXRlbSk6CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVZhcmlhYmxlRGVj
bGFyYXRpb25MaXN0KToKKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNlRm9y
bWFsUGFyYW1ldGVycyk6CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUZ1
bmN0aW9uSW5mbyk6CisgICAgICAgIChKU0M6OlBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUNsYXNz
KToKKyAgICAgICAgKEpTQzo6UGFyc2VyPExleGVyVHlwZT46OnBhcnNlQXNzaWdubWVudEV4cHJl
c3Npb24pOgorICAgICAgICAoSlNDOjpQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VQcmltYXJ5RXhw
cmVzc2lvbik6CisgICAgICAgIE1ha2UgdXNlIG9mIG5ldyBwYXJzZXIgZnVuY3Rpb25zLgorCisg
ICAgICAgICogcGFyc2VyL1BhcnNlci5oOgorICAgICAgICAoSlNDOjppc0NvbnRleHR1YWxLZXl3
b3JkKTogUmVuYW1lZCBmcm9tIGlzQW55Q29udGV4dHVhbEtleXdvcmQuCisgICAgICAgIChKU0M6
OlBhcnNlcjo6bWF0Y2hTcGVjSWRlbnRpZmllcik6IEFsbG93IGVzY2FwZWQgY29udGV4dHVhbCBr
ZXl3b3Jkcy4KKyAgICAgICAgKEpTQzo6UGFyc2VyOjptYXRjaElkZW50aWZpZXJPclBvc3NpYmx5
RXNjYXBlZENvbnRleHR1YWxLZXl3b3JkKTogQWRkZWQuCisgICAgICAgIChKU0M6OlBhcnNlcjo6
aXNBbGxvd2VkSWRlbnRpZmllckxldCk6IFJlbmFtZWQgZnJvbSBpc0xFVE1hc2tlZEFzSURFTlQu
CisgICAgICAgIChKU0M6OlBhcnNlcjo6aXNQb3NzaWJseUVzY2FwZWRMZXQpOiBBZGRlZC4KKyAg
ICAgICAgKEpTQzo6UGFyc2VyOjppc0Rpc2FsbG93ZWRJZGVudGlmaWVyQXdhaXQpOiBBZGRlZC4K
KyAgICAgICAgKEpTQzo6UGFyc2VyOjppc0FsbG93ZWRJZGVudGlmaWVyQXdhaXQpOiBBZGRlZC4K
KyAgICAgICAgKEpTQzo6UGFyc2VyOjppc1Bvc3NpYmx5RXNjYXBlZEF3YWl0KTogQWRkZWQuCisg
ICAgICAgIChKU0M6OlBhcnNlcjo6Y2FuVXNlSWRlbnRpZmllckF3YWl0KTogQWRkZWQuCisgICAg
ICAgIChKU0M6OlBhcnNlcjo6aXNEaXNhbGxvd2VkSWRlbnRpZmllcllpZWxkKTogQWRkZWQuCisg
ICAgICAgIChKU0M6OlBhcnNlcjo6aXNBbGxvd2VkSWRlbnRpZmllcllpZWxkKTogUmVuYW1lZCBm
cm9tIGlzWUlFTERNYXNrZWRBc0lERU5ULgorICAgICAgICAoSlNDOjpQYXJzZXI6OmlzUG9zc2li
bHlFc2NhcGVkWWllbGQpOiBBZGRlZC4KKyAgICAgICAgKEpTQzo6UGFyc2VyOjpjYW5Vc2VJZGVu
dGlmaWVyWWllbGQpOiBBZGRlZC4KKyAgICAgICAgKEpTQzo6UGFyc2VyOjptYXRjaEFsbG93ZWRF
c2NhcGVkQ29udGV4dHVhbEtleXdvcmQpOiBBZGRlZC4KKyAgICAgICAgKEpTQzo6UGFyc2VyOjpk
aXNhbGxvd2VkSWRlbnRpZmllckF3YWl0UmVhc29uKTogRml4IG1pc3Rha2UgKGxlZnQgb3ZlciBm
cm9tIHByZXZpb3VzIHBhdGNoKS4KKyAgICAgICAgKEpTQzo6aXNJZGVudGlmaWVyT3JBbnlDb250
ZXh0dWFsS2V5d29yZCk6IERlbGV0ZWQuCisgICAgICAgIChKU0M6OmlzU2FmZUNvbnRleHR1YWxL
ZXl3b3JkKTogRGVsZXRlZC4KKyAgICAgICAgKEpTQzo6UGFyc2VyOjppc0Rpc2FsbG93ZWRJZGVu
dGlmaWVyTGV0KTogRGVsZXRlZC4KKworICAgICAgICAqIHBhcnNlci9QYXJzZXJUb2tlbnMuaDoK
KyAgICAgICAgUmVtb3ZlIG9ic29sZXRlIG5vdGlvbiBvZiAic2FmZSBjb250ZXh0dWFsIGtleXdv
cmQiLgorCiAyMDIxLTAxLTEyICBSb3NzIEtpcnNsaW5nICA8cm9zcy5raXJzbGluZ0Bzb255LmNv
bT4KIAogICAgICAgICBbSlNDXSBDbGFzcyBuYW1lICdhd2FpdCcgaXMgdmFsaWQgaW4gc3luYyBj
b250ZXh0CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5j
cHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5jcHAKaW5kZXggZTdiNTE1
NzYzODNkOTFkZjQ3NmE3MDg2ZTQ0NDNhOThlZGFiZmI1ZS4uNzA2NzRjNDhiNjIzMjc0NTE1MGM5
NzEwMjg3MzIyMGRhMTMwNzU3YyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3Bh
cnNlci9QYXJzZXIuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2Vy
LmNwcApAQCAtNzQsMTMgKzc0LDEzIEBACiAgICAgaWYgKHRva2VuLm1fdHlwZSA9PSBSRVNFUlZF
RCB8fCB0b2tlbi5tX3R5cGUgPT0gUkVTRVJWRURfSUZfU1RSSUNUKSBcCiAgICAgICAgIHNlbWFu
dGljRmFpbCgiQ2Fubm90IHVzZSB0aGUgcmVzZXJ2ZWQgd29yZCAnIiwgZ2V0VG9rZW4odG9rZW4p
LCAiJyBhcyBhICIsIF9fVkFfQVJHU19fKTsgXAogICAgIGlmICh0b2tlbi5tX3R5cGUgJiBLZXl3
b3JkVG9rZW5GbGFnKSB7IFwKLSAgICAgICAgaWYgKCFpc0FueUNvbnRleHR1YWxLZXl3b3JkKHRv
a2VuKSkgXAorICAgICAgICBpZiAoIWlzQ29udGV4dHVhbEtleXdvcmQodG9rZW4pKSBcCiAgICAg
ICAgICAgICBzZW1hbnRpY0ZhaWwoIkNhbm5vdCB1c2UgdGhlIGtleXdvcmQgJyIsIGdldFRva2Vu
KHRva2VuKSwgIicgYXMgYSAiLCBfX1ZBX0FSR1NfXyk7IFwKLSAgICAgICAgaWYgKGlzRGlzYWxs
b3dlZElkZW50aWZpZXJMZXQodG9rZW4pKSBcCisgICAgICAgIGlmICh0b2tlbi5tX3R5cGUgPT0g
TEVUICYmIHN0cmljdE1vZGUoKSlcCiAgICAgICAgICAgICBzZW1hbnRpY0ZhaWwoIkNhbm5vdCB1
c2UgJ2xldCcgYXMgYSAiLCBfX1ZBX0FSR1NfXywgIiAiLCBkaXNhbGxvd2VkSWRlbnRpZmllckxl
dFJlYXNvbigpKTsgXAotICAgICAgICBpZiAoaXNEaXNhbGxvd2VkSWRlbnRpZmllckF3YWl0KHRv
a2VuKSkgXAorICAgICAgICBpZiAodG9rZW4ubV90eXBlID09IEFXQUlUICYmICFjYW5Vc2VJZGVu
dGlmaWVyQXdhaXQoKSkgXAogICAgICAgICAgICAgc2VtYW50aWNGYWlsKCJDYW5ub3QgdXNlICdh
d2FpdCcgYXMgYSAiLCBfX1ZBX0FSR1NfXywgIiAiLCBkaXNhbGxvd2VkSWRlbnRpZmllckF3YWl0
UmVhc29uKCkpOyBcCi0gICAgICAgIGlmIChpc0Rpc2FsbG93ZWRJZGVudGlmaWVyWWllbGQodG9r
ZW4pKSBcCisgICAgICAgIGlmICh0b2tlbi5tX3R5cGUgPT0gWUlFTEQgJiYgIWNhblVzZUlkZW50
aWZpZXJZaWVsZCgpKSBcCiAgICAgICAgICAgICBzZW1hbnRpY0ZhaWwoIkNhbm5vdCB1c2UgJ3lp
ZWxkJyBhcyBhICIsIF9fVkFfQVJHU19fLCAiICIsIGRpc2FsbG93ZWRJZGVudGlmaWVyWWllbGRS
ZWFzb24oKSk7IFwKICAgICB9IFwKIH0gd2hpbGUgKDApCkBAIC0zMzcsNyArMzM3LDcgQEAgdGVt
cGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBib29sIFBhcnNlcjxMZXhlclR5cGU+Ojppc0Fycm93
RnVuY3Rpb25QYXJhbWV0ZXJzKFQKICAgICB9CiAKICAgICBpZiAobWF0Y2hTcGVjSWRlbnRpZmll
cigpKSB7Ci0gICAgICAgIHNlbWFudGljRmFpbElmVHJ1ZSghbV9wYXJzZXJTdGF0ZS5hbGxvd0F3
YWl0ICYmIG1hdGNoKEFXQUlUKSwgIkNhbm5vdCB1c2UgJ2F3YWl0JyBhcyBhIHBhcmFtZXRlciBu
YW1lIGluIGFuIGFzeW5jIGZ1bmN0aW9uIik7CisgICAgICAgIHNlbWFudGljRmFpbElmVHJ1ZShp
c0Rpc2FsbG93ZWRJZGVudGlmaWVyQXdhaXQobV90b2tlbiksICJDYW5ub3QgdXNlICdhd2FpdCcg
YXMgYSBwYXJhbWV0ZXIgbmFtZSBpbiBhbiBhc3luYyBmdW5jdGlvbiIpOwogICAgICAgICBTYXZl
UG9pbnQgc2F2ZUFycm93RnVuY3Rpb25Qb2ludCA9IGNyZWF0ZVNhdmVQb2ludChjb250ZXh0KTsK
ICAgICAgICAgbmV4dCgpOwogICAgICAgICBib29sIGlzQXJyb3dGdW5jdGlvbiA9IG1hdGNoKEFS
Uk9XRlVOQ1RJT04pOwpAQCAtNjczLDEyICs2NzMsMTIgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVC
dWlsZGVyPiBUcmVlU3RhdGVtZW50IFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZVN0YXRlbWVudExp
c3QKICAgICAgICAgaWYgKCFzdHJpY3RNb2RlKCkpIHsKICAgICAgICAgICAgIFNhdmVQb2ludCBz
YXZlUG9pbnQgPSBjcmVhdGVTYXZlUG9pbnQoY29udGV4dCk7CiAgICAgICAgICAgICBuZXh0KCk7
Ci0gICAgICAgICAgICAvLyBJbnRlbnRpb25hbGx5IHVzZSBgaXNJZGVudGlmaWVyT3JBbnlDb250
ZXh0dWFsS2V5d29yZChtX3Rva2VuKWAgYW5kIGRvbid0IHVzZSBgbWF0Y2hTcGVjSWRlbnRpZmll
cigpYC4KLSAgICAgICAgICAgIC8vIFdlIHdvdWxkIGxpa2UgdG8gZmFsbCBpbnRvIHBhcnNlVmFy
aWFibGVEZWNsYXJhdGlvbiBwYXRoIGV2ZW4gaWYgInlpZWxkIiBpcyBub3QgdHJlYXRlZCBhcyBh
biBJZGVudGlmaWVyLgorICAgICAgICAgICAgLy8gSW50ZW50aW9uYWxseSB1c2UgYG1hdGNoSWRl
bnRpZmllck9yUG9zc2libHlFc2NhcGVkQ29udGV4dHVhbEtleXdvcmQoKWAgYW5kIG5vdCBgbWF0
Y2hTcGVjSWRlbnRpZmllcigpYC4KKyAgICAgICAgICAgIC8vIFdlIHdvdWxkIGxpa2UgY29udGV4
dHVhbCBrZXl3b3JkcyB0byBmYWxsIHVuZGVyIHBhcnNlVmFyaWFibGVEZWNsYXJhdGlvbiBldmVu
IHdoZW4gbm90IHVzZWQgYXMgaWRlbnRpZmllcnMuCiAgICAgICAgICAgICAvLyBGb3IgZXhhbXBs
ZSwgdW5kZXIgYSBnZW5lcmF0b3IgY29udGV4dCwgbWF0Y2hTcGVjSWRlbnRpZmllcigpIGZvciAi
eWllbGQiIHJldHVybnMgYGZhbHNlYC4KICAgICAgICAgICAgIC8vIEJ1dCB3ZSB3b3VsZCBsaWtl
IHRvIGVudGVyIHBhcnNlVmFyaWFibGVEZWNsYXJhdGlvbiBhbmQgcmFpc2UgYW4gZXJyb3IgdW5k
ZXIgdGhlIGNvbnRleHQgb2YgcGFyc2VWYXJpYWJsZURlY2xhcmF0aW9uCiAgICAgICAgICAgICAv
LyB0byByYWlzZSBjb25zaXN0ZW50IGVycm9ycyBiZXR3ZWVuICJ2YXIiLCAiY29uc3QiIGFuZCAi
bGV0Ii4KLSAgICAgICAgICAgIGlmICghaXNJZGVudGlmaWVyT3JBbnlDb250ZXh0dWFsS2V5d29y
ZChtX3Rva2VuKSAmJiAhbWF0Y2goT1BFTkJSQUNFKSAmJiAhbWF0Y2goT1BFTkJSQUNLRVQpKQor
ICAgICAgICAgICAgaWYgKCFtYXRjaElkZW50aWZpZXJPclBvc3NpYmx5RXNjYXBlZENvbnRleHR1
YWxLZXl3b3JkKCkgJiYgIW1hdGNoKE9QRU5CUkFDRSkgJiYgIW1hdGNoKE9QRU5CUkFDS0VUKSkK
ICAgICAgICAgICAgICAgICBzaG91bGRQYXJzZVZhcmlhYmxlRGVjbGFyYXRpb24gPSBmYWxzZTsK
ICAgICAgICAgICAgIHJlc3RvcmVTYXZlUG9pbnQoY29udGV4dCwgc2F2ZVBvaW50KTsKICAgICAg
ICAgfQpAQCAtNjk3LDYgKzY5NywxMiBAQCB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRy
ZWVTdGF0ZW1lbnQgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlU3RhdGVtZW50TGlzdAogICAgIGNh
c2UgRlVOQ1RJT046CiAgICAgICAgIHJlc3VsdCA9IHBhcnNlRnVuY3Rpb25EZWNsYXJhdGlvbihj
b250ZXh0KTsKICAgICAgICAgYnJlYWs7CisgICAgY2FzZSBFU0NBUEVEX0tFWVdPUkQ6CisgICAg
ICAgIGlmICghbWF0Y2hBbGxvd2VkRXNjYXBlZENvbnRleHR1YWxLZXl3b3JkKCkpIHsKKyAgICAg
ICAgICAgIGZhaWxEdWVUb1VuZXhwZWN0ZWRUb2tlbigpOworICAgICAgICAgICAgYnJlYWs7Cisg
ICAgICAgIH0KKyAgICAgICAgRkFMTFRIUk9VR0g7CiAgICAgY2FzZSBJREVOVDoKICAgICAgICAg
aWYgKFVOTElLRUxZKCptX3Rva2VuLm1fZGF0YS5pZGVudCA9PSBtX3ZtLnByb3BlcnR5TmFtZXMt
PmFzeW5jICYmICFtX3Rva2VuLm1fZGF0YS5lc2NhcGVkKSkgewogICAgICAgICAgICAgLy8gRWFn
ZXJseSBwYXJzZSBhcyBBc3luY0Z1bmN0aW9uRGVjbGFyYXRpb24uIFRoaXMgaXMgdGhlIHVuY29t
bW9uIGNhc2UsCkBAIC04MzEsNyArODM3LDcgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVy
PiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VWYXJpYWJsZURlY2wKIAog
ICAgICAgICBmYWlsSWZUcnVlKG1hdGNoKFBSSVZBVEVOQU1FKSwgIkNhbm5vdCB1c2UgYSBwcml2
YXRlIG5hbWUgdG8gZGVjbGFyZSBhIHZhcmlhYmxlIik7CiAgICAgICAgIGlmIChtYXRjaFNwZWNJ
ZGVudGlmaWVyKCkpIHsKLSAgICAgICAgICAgIGZhaWxJZlRydWUobWF0Y2goTEVUKSAmJiAoZGVj
bGFyYXRpb25UeXBlID09IERlY2xhcmF0aW9uVHlwZTo6TGV0RGVjbGFyYXRpb24gfHwgZGVjbGFy
YXRpb25UeXBlID09IERlY2xhcmF0aW9uVHlwZTo6Q29uc3REZWNsYXJhdGlvbiksIAorICAgICAg
ICAgICAgZmFpbElmVHJ1ZShpc1Bvc3NpYmx5RXNjYXBlZExldChtX3Rva2VuKSAmJiAoZGVjbGFy
YXRpb25UeXBlID09IERlY2xhcmF0aW9uVHlwZTo6TGV0RGVjbGFyYXRpb24gfHwgZGVjbGFyYXRp
b25UeXBlID09IERlY2xhcmF0aW9uVHlwZTo6Q29uc3REZWNsYXJhdGlvbiksIAogICAgICAgICAg
ICAgICAgICJDYW5ub3QgdXNlICdsZXQnIGFzIGFuIGlkZW50aWZpZXIgbmFtZSBmb3IgYSBMZXhp
Y2FsRGVjbGFyYXRpb24iKTsKICAgICAgICAgICAgIHNlbWFudGljRmFpbElmVHJ1ZShpc0Rpc2Fs
bG93ZWRJZGVudGlmaWVyQXdhaXQobV90b2tlbiksICJDYW5ub3QgdXNlICdhd2FpdCcgYXMgYSAi
LCBkZWNsYXJhdGlvblR5cGVUb1ZhcmlhYmxlS2luZChkZWNsYXJhdGlvblR5cGUpLCAiICIsIGRp
c2FsbG93ZWRJZGVudGlmaWVyQXdhaXRSZWFzb24oKSk7CiAgICAgICAgICAgICBKU1RleHRQb3Np
dGlvbiB2YXJTdGFydCA9IHRva2VuU3RhcnRQb3NpdGlvbigpOwpAQCAtMjA5Myw3ICsyMDk5LDcg
QEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVyPiBib29sIFBhcnNlcjxMZXhlclR5cGU+Ojpw
YXJzZUZvcm1hbFBhcmFtZXRlcnMoVHJlZUIKICAgICAgICAgCiAgICAgICAgIGlmIChtYXRjaChE
T1RET1RET1QpKSB7CiAgICAgICAgICAgICBuZXh0KCk7Ci0gICAgICAgICAgICBzZW1hbnRpY0Zh
aWxJZlRydWUoIW1fcGFyc2VyU3RhdGUuYWxsb3dBd2FpdCAmJiBtYXRjaChBV0FJVCksICJDYW5u
b3QgdXNlICdhd2FpdCcgYXMgYSBwYXJhbWV0ZXIgbmFtZSBpbiBhbiBhc3luYyBmdW5jdGlvbiIp
OworICAgICAgICAgICAgc2VtYW50aWNGYWlsSWZUcnVlKGlzRGlzYWxsb3dlZElkZW50aWZpZXJB
d2FpdChtX3Rva2VuKSwgIkNhbm5vdCB1c2UgJ2F3YWl0JyBhcyBhIHBhcmFtZXRlciBuYW1lIGlu
IGFuIGFzeW5jIGZ1bmN0aW9uIik7CiAgICAgICAgICAgICBUcmVlRGVzdHJ1Y3R1cmluZ1BhdHRl
cm4gZGVzdHJ1Y3R1cmluZ1BhdHRlcm4gPSBwYXJzZURlc3RydWN0dXJpbmdQYXR0ZXJuKGNvbnRl
eHQsIERlc3RydWN0dXJpbmdLaW5kOjpEZXN0cnVjdHVyZVRvUGFyYW1ldGVycywgRXhwb3J0VHlw
ZTo6Tm90RXhwb3J0ZWQsICZkdXBsaWNhdGVQYXJhbWV0ZXIsICZoYXNEZXN0cnVjdHVyaW5nUGF0
dGVybik7CiAgICAgICAgICAgICBwcm9wYWdhdGVFcnJvcigpOwogICAgICAgICAgICAgcGFyYW1l
dGVyID0gY29udGV4dC5jcmVhdGVSZXN0UGFyYW1ldGVyKGRlc3RydWN0dXJpbmdQYXR0ZXJuLCBy
ZXN0UGFyYW1ldGVyU3RhcnQpOwpAQCAtMjMzOSw4ICsyMzQ1LDggQEAgdGVtcGxhdGUgPGNsYXNz
IFRyZWVCdWlsZGVyPiBib29sIFBhcnNlcjxMZXhlclR5cGU+OjpwYXJzZUZ1bmN0aW9uSW5mbyhU
cmVlQnVpbGQKIAogICAgIFNjb3BlUmVmIHBhcmVudFNjb3BlID0gY3VycmVudFNjb3BlKCk7CiAK
LSAgICBib29sIGlzRGlzYWxsb3dlZEF3YWl0RnVuY3Rpb25OYW1lID0gaXNEaXNhbGxvd2VkSWRl
bnRpZmllckF3YWl0KG1fdG9rZW4pOwotICAgIGNvbnN0IGNoYXIqIGlzRGlzYWxsb3dlZEF3YWl0
RnVuY3Rpb25OYW1lUmVhc29uID0gaXNEaXNhbGxvd2VkQXdhaXRGdW5jdGlvbk5hbWUgPyBkaXNh
bGxvd2VkSWRlbnRpZmllckF3YWl0UmVhc29uKCkgOiBudWxscHRyOworICAgIGJvb2wgZnVuY3Rp
b25OYW1lSXNBd2FpdCA9IGlzUG9zc2libHlFc2NhcGVkQXdhaXQobV90b2tlbik7CisgICAgY29u
c3QgY2hhciogaXNEaXNhbGxvd2VkQXdhaXRGdW5jdGlvbk5hbWVSZWFzb24gPSBmdW5jdGlvbk5h
bWVJc0F3YWl0ICYmICFjYW5Vc2VJZGVudGlmaWVyQXdhaXQoKSA/IGRpc2FsbG93ZWRJZGVudGlm
aWVyQXdhaXRSZWFzb24oKSA6IG51bGxwdHI7CiAKICAgICBBdXRvUG9wU2NvcGVSZWYgZnVuY3Rp
b25TY29wZSh0aGlzLCBwdXNoU2NvcGUoKSk7CiAgICAgZnVuY3Rpb25TY29wZS0+c2V0U291cmNl
UGFyc2VNb2RlKG1vZGUpOwpAQCAtMjQ4MiwxNiArMjQ4OCwxNiBAQCB0ZW1wbGF0ZSA8Y2xhc3Mg
VHJlZUJ1aWxkZXI+IGJvb2wgUGFyc2VyPExleGVyVHlwZT46OnBhcnNlRnVuY3Rpb25JbmZvKFRy
ZWVCdWlsZAogICAgICAgICAvLyAgICAgZnVuY3Rpb24gKiBCaW5kaW5nSWRlbnRpZmllcltZaWVs
ZF1vcHQgKCBGb3JtYWxQYXJhbWV0ZXJzW1lpZWxkXSApIHsgR2VuZXJhdG9yQm9keSB9CiAgICAg
ICAgIC8vCiAgICAgICAgIC8vIFRoZSBuYW1lIG9mIEZ1bmN0aW9uRXhwcmVzc2lvbiBhbmQgQXN5
bmNGdW5jdGlvbkV4cHJlc3Npb24gY2FuIGFjY2VwdCAieWllbGQiIGV2ZW4gaW4gdGhlIGNvbnRl
eHQgb2YgZ2VuZXJhdG9yLgotICAgICAgICBib29sIHVwcGVyU2NvcGVJc0dlbmVyYXRvciA9IGZh
bHNlOworICAgICAgICBib29sIGNhblVzZVlpZWxkID0gIXN0cmljdE1vZGUoKTsKICAgICAgICAg
aWYgKCEoZnVuY3Rpb25EZWZpbml0aW9uVHlwZSA9PSBGdW5jdGlvbkRlZmluaXRpb25UeXBlOjpF
eHByZXNzaW9uICYmIFNvdXJjZVBhcnNlTW9kZVNldChTb3VyY2VQYXJzZU1vZGU6Ok5vcm1hbEZ1
bmN0aW9uTW9kZSwgU291cmNlUGFyc2VNb2RlOjpBc3luY0Z1bmN0aW9uTW9kZSkuY29udGFpbnMo
bW9kZSkpKQotICAgICAgICAgICAgdXBwZXJTY29wZUlzR2VuZXJhdG9yID0gdXBwZXJTY29wZSgx
KS0+aXNHZW5lcmF0b3IoKTsKKyAgICAgICAgICAgIGNhblVzZVlpZWxkICY9ICFwYXJlbnRTY29w
ZS0+aXNHZW5lcmF0b3IoKTsKIAogICAgICAgICBpZiAocmVxdWlyZW1lbnRzICE9IEZ1bmN0aW9u
TmFtZVJlcXVpcmVtZW50czo6VW5uYW1lZCkgewogICAgICAgICAgICAgQVNTRVJUX1dJVEhfTUVT
U0FHRSghKHJlcXVpcmVtZW50cyA9PSBGdW5jdGlvbk5hbWVSZXF1aXJlbWVudHM6Ok5vbmUgJiYg
IWZ1bmN0aW9uSW5mby5uYW1lKSwgIldoZW4gc3BlY2lmeWluZyBGdW5jdGlvbk5hbWVSZXF1aXJl
bWVudHM6Ok5vbmUsIHdlIG5lZWQgdG8gaW5pdGlhbGl6ZSBmdW5jdGlvbkluZm8ubmFtZSB3aXRo
IHRoZSBkZWZhdWx0IHZhbHVlIGluIHRoZSBjYWxsZXIgc2lkZS4iKTsKLSAgICAgICAgICAgIGlm
IChtYXRjaFNwZWNJZGVudGlmaWVyKHVwcGVyU2NvcGVJc0dlbmVyYXRvcikpIHsKKyAgICAgICAg
ICAgIGlmIChtYXRjaFNwZWNJZGVudGlmaWVyKGNhblVzZVlpZWxkLCBmdW5jdGlvbk5hbWVJc0F3
YWl0KSkgewogICAgICAgICAgICAgICAgIGZ1bmN0aW9uSW5mby5uYW1lID0gbV90b2tlbi5tX2Rh
dGEuaWRlbnQ7CiAgICAgICAgICAgICAgICAgbV9wYXJzZXJTdGF0ZS5sYXN0RnVuY3Rpb25OYW1l
ID0gZnVuY3Rpb25JbmZvLm5hbWU7Ci0gICAgICAgICAgICAgICAgaWYgKFVOTElLRUxZKGlzRGlz
YWxsb3dlZEF3YWl0RnVuY3Rpb25OYW1lKSkKKyAgICAgICAgICAgICAgICBpZiAoVU5MSUtFTFko
aXNEaXNhbGxvd2VkQXdhaXRGdW5jdGlvbk5hbWVSZWFzb24pKQogICAgICAgICAgICAgICAgICAg
ICBzZW1hbnRpY0ZhaWxJZlRydWUoZnVuY3Rpb25EZWZpbml0aW9uVHlwZSA9PSBGdW5jdGlvbkRl
ZmluaXRpb25UeXBlOjpEZWNsYXJhdGlvbiB8fCBpc0FzeW5jRnVuY3Rpb25PckFzeW5jR2VuZXJh
dG9yV3JhcHBlclBhcnNlTW9kZShtb2RlKSwgIkNhbm5vdCBkZWNsYXJlIGZ1bmN0aW9uIG5hbWVk
ICdhd2FpdCcgIiwgaXNEaXNhbGxvd2VkQXdhaXRGdW5jdGlvbk5hbWVSZWFzb24pOwogICAgICAg
ICAgICAgICAgIGVsc2UgaWYgKGlzQXN5bmNGdW5jdGlvbk9yQXN5bmNHZW5lcmF0b3JXcmFwcGVy
UGFyc2VNb2RlKG1vZGUpICYmIG1hdGNoKEFXQUlUKSAmJiBmdW5jdGlvbkRlZmluaXRpb25UeXBl
ID09IEZ1bmN0aW9uRGVmaW5pdGlvblR5cGU6OkV4cHJlc3Npb24pCiAgICAgICAgICAgICAgICAg
ICAgIHNlbWFudGljRmFpbCgiQ2Fubm90IGRlY2xhcmUgIiwgc3RyaW5nRm9yRnVuY3Rpb25Nb2Rl
KG1vZGUpLCAiIG5hbWVkICdhd2FpdCciKTsKQEAgLTI4NjAsNyArMjg2Niw3IEBAIHRlbXBsYXRl
IDxjbGFzcyBUcmVlQnVpbGRlcj4gVHJlZUNsYXNzRXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBl
Pjo6cGFyc2VDbGFzcyhUCiAKICAgICBBU1NFUlRfV0lUSF9NRVNTQUdFKHJlcXVpcmVtZW50cyAh
PSBGdW5jdGlvbk5hbWVSZXF1aXJlbWVudHM6OlVubmFtZWQsICJDdXJyZW50bHksIHRoZXJlIGlz
IG5vIGNhbGxlciB0aGF0IHVzZXMgRnVuY3Rpb25OYW1lUmVxdWlyZW1lbnRzOjpVbm5hbWVkIGZv
ciBjbGFzcyBzeW50YXguIik7CiAgICAgQVNTRVJUX1dJVEhfTUVTU0FHRSghKHJlcXVpcmVtZW50
cyA9PSBGdW5jdGlvbk5hbWVSZXF1aXJlbWVudHM6Ok5vbmUgJiYgIWluZm8uY2xhc3NOYW1lKSwg
IldoZW4gc3BlY2lmeWluZyBGdW5jdGlvbk5hbWVSZXF1aXJlbWVudHM6Ok5vbmUsIHdlIG5lZWQg
dG8gaW5pdGlhbGl6ZSBpbmZvLmNsYXNzTmFtZSB3aXRoIHRoZSBkZWZhdWx0IHZhbHVlIGluIHRo
ZSBjYWxsZXIgc2lkZS4iKTsKLSAgICBpZiAobWF0Y2goSURFTlQpIHx8IChtYXRjaChBV0FJVCkg
JiYgIWlzRGlzYWxsb3dlZElkZW50aWZpZXJBd2FpdChtX3Rva2VuKSkpIHsKKyAgICBpZiAobWF0
Y2goSURFTlQpIHx8IGlzQWxsb3dlZElkZW50aWZpZXJBd2FpdChtX3Rva2VuKSkgewogICAgICAg
ICBpbmZvLmNsYXNzTmFtZSA9IG1fdG9rZW4ubV9kYXRhLmlkZW50OwogICAgICAgICBuZXh0KCk7
CiAgICAgICAgIGZhaWxJZlRydWUoY2xhc3NTY29wZS0+ZGVjbGFyZUxleGljYWxWYXJpYWJsZShp
bmZvLmNsYXNzTmFtZSwgdHJ1ZSkgJiBEZWNsYXJhdGlvblJlc3VsdDo6SW52YWxpZFN0cmljdE1v
ZGUsICInIiwgaW5mby5jbGFzc05hbWUtPmltcGwoKSwgIicgaXMgbm90IGEgdmFsaWQgY2xhc3Mg
bmFtZSIpOwpAQCAtMzg5OCw3ICszOTA0LDcgQEAgdGVtcGxhdGUgPHR5cGVuYW1lIFRyZWVCdWls
ZGVyPiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VBc3NpZ25tZW4KICAg
ICAKICAgICBmYWlsSWZTdGFja092ZXJmbG93KCk7CiAKLSAgICBpZiAobWF0Y2goWUlFTEQpICYm
ICFpc1lJRUxETWFza2VkQXNJREVOVChjdXJyZW50U2NvcGUoKS0+aXNHZW5lcmF0b3IoKSkpCisg
ICAgaWYgKG1hdGNoKFlJRUxEKSAmJiAhY2FuVXNlSWRlbnRpZmllcllpZWxkKCkpCiAgICAgICAg
IHJldHVybiBwYXJzZVlpZWxkRXhwcmVzc2lvbihjb250ZXh0KTsKIAogICAgIEpTVGV4dFBvc2l0
aW9uIHN0YXJ0ID0gdG9rZW5TdGFydFBvc2l0aW9uKCk7CkBAIC0zOTA5LDcgKzM5MTUsNyBAQCB0
ZW1wbGF0ZSA8dHlwZW5hbWUgVHJlZUJ1aWxkZXI+IFRyZWVFeHByZXNzaW9uIFBhcnNlcjxMZXhl
clR5cGU+OjpwYXJzZUFzc2lnbm1lbgogICAgIGJvb2wgd2FzT3BlblBhcmVuID0gbWF0Y2goT1BF
TlBBUkVOKTsKICAgICAvLyBEbyBub3QgdXNlIG1hdGNoU3BlY0lkZW50aWZpZXIoKSBoZXJlIHNp
bmNlIGl0IGlzIHNsb3dlciB0aGFuIGlzSWRlbnRpZmllck9yS2V5d29yZC4KICAgICAvLyBXaGV0
aGVyIHNwZWMgaWRlbnRpZmllciBpcyB3aWxsIGJlIHZhbGlkYXRlZCBieSBpc0Fycm93RnVuY3Rp
b25QYXJhbWV0ZXJzKCkuCi0gICAgYm9vbCB3YXNJZGVudGlmaWVyT3JLZXl3b3JkID0gaXNJZGVu
dGlmaWVyT3JLZXl3b3JkKG1fdG9rZW4pOworICAgIGJvb2wgd2FzSWRlbnRpZmllck9yS2V5d29y
ZCA9IG1hdGNoSWRlbnRpZmllck9yS2V5d29yZCgpIHx8IChtX3Rva2VuLm1fdHlwZSA9PSBFU0NB
UEVEX0tFWVdPUkQpOwogICAgIGJvb2wgbWF5YmVWYWxpZEFycm93RnVuY3Rpb25TdGFydCA9IHdh
c09wZW5QYXJlbiB8fCB3YXNJZGVudGlmaWVyT3JLZXl3b3JkOwogICAgIFNhdmVQb2ludCBzYXZl
UG9pbnQgPSBjcmVhdGVTYXZlUG9pbnQoY29udGV4dCk7CiAgICAgc2l6ZV90IHVzZWRWYXJpYWJs
ZXNTaXplID0gMDsKQEAgLTM5NzAsNyArMzk3Niw3IEBAIHRlbXBsYXRlIDx0eXBlbmFtZSBUcmVl
QnVpbGRlcj4gVHJlZUV4cHJlc3Npb24gUGFyc2VyPExleGVyVHlwZT46OnBhcnNlQXNzaWdubWVu
CiAKICAgICAgICAgcmV0dXJuIGxoczsKICAgICB9Ci0gICAgCisKICAgICBpbnQgYXNzaWdubWVu
dFN0YWNrID0gMDsKICAgICBPcGVyYXRvciBvcDsKICAgICBib29sIGhhZEFzc2lnbm1lbnQgPSBm
YWxzZTsKQEAgLTQ4MTMsMTIgKzQ4MTksMTYgQEAgdGVtcGxhdGUgPGNsYXNzIFRyZWVCdWlsZGVy
PiBUcmVlRXhwcmVzc2lvbiBQYXJzZXI8TGV4ZXJUeXBlPjo6cGFyc2VQcmltYXJ5RXhwcmUKICAg
ICBjYXNlIEJBQ0tRVU9URToKICAgICAgICAgcmV0dXJuIHBhcnNlVGVtcGxhdGVMaXRlcmFsKGNv
bnRleHQsIExleGVyVHlwZTo6UmF3U3RyaW5nc0J1aWxkTW9kZTo6RG9udEJ1aWxkUmF3U3RyaW5n
cyk7CiAgICAgY2FzZSBZSUVMRDoKLSAgICAgICAgaWYgKCFzdHJpY3RNb2RlKCkgJiYgIWN1cnJl
bnRTY29wZSgpLT5pc0dlbmVyYXRvcigpKQorICAgICAgICBpZiAoY2FuVXNlSWRlbnRpZmllcllp
ZWxkKCkpCiAgICAgICAgICAgICBnb3RvIGlkZW50aWZpZXJFeHByZXNzaW9uOwogICAgICAgICBm
YWlsRHVlVG9VbmV4cGVjdGVkVG9rZW4oKTsKICAgICBjYXNlIExFVDoKICAgICAgICAgaWYgKCFz
dHJpY3RNb2RlKCkpCiAgICAgICAgICAgICBnb3RvIGlkZW50aWZpZXJFeHByZXNzaW9uOworICAg
ICAgICBmYWlsRHVlVG9VbmV4cGVjdGVkVG9rZW4oKTsKKyAgICBjYXNlIEVTQ0FQRURfS0VZV09S
RDoKKyAgICAgICAgaWYgKG1hdGNoQWxsb3dlZEVzY2FwZWRDb250ZXh0dWFsS2V5d29yZCgpKQor
ICAgICAgICAgICAgZ290byBpZGVudGlmaWVyRXhwcmVzc2lvbjsKICAgICAgICAgRkFMTFRIUk9V
R0g7CiAgICAgZGVmYXVsdDoKICAgICAgICAgZmFpbER1ZVRvVW5leHBlY3RlZFRva2VuKCk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5oIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXIuaAppbmRleCAwNGFjNGY4YWI0MzZkMTIzODU5
OWExM2ZiOTljOTBkZTRmNDU2ZTdjLi5iZTMzYzFiZTk1ZTlkYTQ1MDBiYWYxYjgwNTliYTM1MDg0
N2E4ODYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlci5o
CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyLmgKQEAgLTEzMywyMiAr
MTMzLDExIEBAIEFMV0FZU19JTkxJTkUgc3RhdGljIGJvb2wgaXNJZGVudGlmaWVyT3JLZXl3b3Jk
KGNvbnN0IEpTVG9rZW4mIHRva2VuKQogewogICAgIHJldHVybiB0b2tlbi5tX3R5cGUgPT0gSURF
TlQgfHwgdG9rZW4ubV90eXBlICYgS2V5d29yZFRva2VuRmxhZzsKIH0KLS8vIF9BbnlfQ29udGV4
dHVhbEtleXdvcmQgaW5jbHVkZXMga2V5d29yZHMgc3VjaCBhcyAibGV0IiBvciAieWllbGQiLCB3
aGljaCBoYXZlIGEgc3BlY2lmaWMgbWVhbmluZyBkZXBlbmRpbmcgb24gdGhlIGN1cnJlbnQgcGFy
c2UgbW9kZQotLy8gb3Igc3RyaWN0IG1vZGUuIFRoZXNlIGhlbHBlcnMgYWxsb3cgdG8gdHJlYXQg
YWxsIGNvbnRleHR1YWwga2V5d29yZHMgYXMgaWRlbnRpZmllcnMgYXMgcmVxdWlyZWQuCi1BTFdB
WVNfSU5MSU5FIHN0YXRpYyBib29sIGlzQW55Q29udGV4dHVhbEtleXdvcmQoY29uc3QgSlNUb2tl
biYgdG9rZW4pCisvLyAibGV0IiwgInlpZWxkIiwgYW5kICJhd2FpdCIgbWF5IGJlIGtleXdvcmRz
IG9yIGlkZW50aWZpZXJzIGRlcGVuZGluZyBvbiBjb250ZXh0LgorQUxXQVlTX0lOTElORSBzdGF0
aWMgYm9vbCBpc0NvbnRleHR1YWxLZXl3b3JkKGNvbnN0IEpTVG9rZW4mIHRva2VuKQogewogICAg
IHJldHVybiB0b2tlbi5tX3R5cGUgPj0gRmlyc3RDb250ZXh0dWFsS2V5d29yZFRva2VuICYmIHRv
a2VuLm1fdHlwZSA8PSBMYXN0Q29udGV4dHVhbEtleXdvcmRUb2tlbjsKIH0KLUFMV0FZU19JTkxJ
TkUgc3RhdGljIGJvb2wgaXNJZGVudGlmaWVyT3JBbnlDb250ZXh0dWFsS2V5d29yZChjb25zdCBK
U1Rva2VuJiB0b2tlbikKLXsKLSAgICByZXR1cm4gdG9rZW4ubV90eXBlID09IElERU5UIHx8IGlz
QW55Q29udGV4dHVhbEtleXdvcmQodG9rZW4pOwotfQotLy8gX1NhZmVfQ29udGV4dHVhbEtleXdv
cmQgaW5jbHVkZXMgb25seSBjb250ZXh0dWFsIGtleXdvcmRzIHdoaWNoIGNhbiBiZSB0cmVhdGVk
IGFzIGlkZW50aWZpZXJzIGluZGVwZW5kZW50bHkgZnJvbSBwYXJzZSBtb2RlLiBUaGUgZXhlcHRp
b24KLS8vIHRvIHRoaXMgcnVsZSBpcyBgYXdhaXRgLCBidXQgbWF0Y2hTcGVjSWRlbnRpZmllcigp
IGFsd2F5cyB0cmVhdHMgaXQgYXMgYW4gaWRlbnRpZmllciByZWdhcmRsZXNzLgotQUxXQVlTX0lO
TElORSBzdGF0aWMgYm9vbCBpc1NhZmVDb250ZXh0dWFsS2V5d29yZChjb25zdCBKU1Rva2VuJiB0
b2tlbikKLXsKLSAgICByZXR1cm4gdG9rZW4ubV90eXBlID49IEZpcnN0U2FmZUNvbnRleHR1YWxL
ZXl3b3JkVG9rZW4gJiYgdG9rZW4ubV90eXBlIDw9IExhc3RTYWZlQ29udGV4dHVhbEtleXdvcmRU
b2tlbjsKLX0KIAogSlNfRVhQT1JUX1BSSVZBVEUgZXh0ZXJuIHN0ZDo6YXRvbWljPHVuc2lnbmVk
PiBnbG9iYWxQYXJzZUNvdW50OwogCkBAIC0xNjg0LDI3ICsxNjczLDIwIEBAIHByaXZhdGU6CiAg
ICAgICAgIHJldHVybiByZXN1bHQ7CiAgICAgfQogCi0gICAgLy8gaHR0cDovL2VjbWEtaW50ZXJu
YXRpb25hbC5vcmcvZWNtYS0yNjIvNi4wLyNzZWMtaWRlbnRpZmllcnMtc3RhdGljLXNlbWFudGlj
cy1lYXJseS1lcnJvcnMKLSAgICBBTFdBWVNfSU5MSU5FIGJvb2wgaXNMRVRNYXNrZWRBc0lERU5U
KCkKLSAgICB7Ci0gICAgICAgIHJldHVybiBtYXRjaChMRVQpICYmICFzdHJpY3RNb2RlKCk7Ci0g
ICAgfQotCi0gICAgLy8gaHR0cDovL2VjbWEtaW50ZXJuYXRpb25hbC5vcmcvZWNtYS0yNjIvNi4w
LyNzZWMtaWRlbnRpZmllcnMtc3RhdGljLXNlbWFudGljcy1lYXJseS1lcnJvcnMKLSAgICBBTFdB
WVNfSU5MSU5FIGJvb2wgaXNZSUVMRE1hc2tlZEFzSURFTlQoYm9vbCBpbkdlbmVyYXRvcikKKyAg
ICBBTFdBWVNfSU5MSU5FIGJvb2wgbWF0Y2hTcGVjSWRlbnRpZmllcigpCiAgICAgewotICAgICAg
ICByZXR1cm4gbWF0Y2goWUlFTEQpICYmICFzdHJpY3RNb2RlKCkgJiYgIWluR2VuZXJhdG9yOwor
ICAgICAgICByZXR1cm4gbWF0Y2goSURFTlQpIHx8IGlzQWxsb3dlZElkZW50aWZpZXJMZXQobV90
b2tlbikgfHwgaXNBbGxvd2VkSWRlbnRpZmllcllpZWxkKG1fdG9rZW4pIHx8IGlzUG9zc2libHlF
c2NhcGVkQXdhaXQobV90b2tlbik7CiAgICAgfQogCi0gICAgLy8gaHR0cDovL2VjbWEtaW50ZXJu
YXRpb25hbC5vcmcvZWNtYS0yNjIvNi4wLyNzZWMtZ2VuZXJhdG9yLWZ1bmN0aW9uLWRlZmluaXRp
b25zLXN0YXRpYy1zZW1hbnRpY3MtZWFybHktZXJyb3JzCi0gICAgQUxXQVlTX0lOTElORSBib29s
IG1hdGNoU3BlY0lkZW50aWZpZXIoYm9vbCBpbkdlbmVyYXRvcikKKyAgICAvLyBTcGVjaWFsIGNh
c2Ugd2hlcmUgc29tZSBpbmZvcm1hdGlvbiBpcyBhbHJlYWR5IGtub3duLgorICAgIEFMV0FZU19J
TkxJTkUgYm9vbCBtYXRjaFNwZWNJZGVudGlmaWVyKGJvb2wgY2FuVXNlWWllbGQsIGJvb2wgaXNB
d2FpdCkKICAgICB7Ci0gICAgICAgIHJldHVybiBtYXRjaChJREVOVCkgfHwgaXNMRVRNYXNrZWRB
c0lERU5UKCkgfHwgaXNZSUVMRE1hc2tlZEFzSURFTlQoaW5HZW5lcmF0b3IpIHx8IGlzU2FmZUNv
bnRleHR1YWxLZXl3b3JkKG1fdG9rZW4pOworICAgICAgICByZXR1cm4gaXNBd2FpdCB8fCBtYXRj
aChJREVOVCkgfHwgaXNBbGxvd2VkSWRlbnRpZmllckxldChtX3Rva2VuKSB8fCAoY2FuVXNlWWll
bGQgJiYgaXNQb3NzaWJseUVzY2FwZWRZaWVsZChtX3Rva2VuKSk7CiAgICAgfQogCi0gICAgQUxX
QVlTX0lOTElORSBib29sIG1hdGNoU3BlY0lkZW50aWZpZXIoKQorICAgIEFMV0FZU19JTkxJTkUg
Ym9vbCBtYXRjaElkZW50aWZpZXJPclBvc3NpYmx5RXNjYXBlZENvbnRleHR1YWxLZXl3b3JkKCkK
ICAgICB7Ci0gICAgICAgIHJldHVybiBtYXRjaChJREVOVCkgfHwgaXNMRVRNYXNrZWRBc0lERU5U
KCkgfHwgaXNZSUVMRE1hc2tlZEFzSURFTlQoY3VycmVudFNjb3BlKCktPmlzR2VuZXJhdG9yKCkp
IHx8IGlzU2FmZUNvbnRleHR1YWxLZXl3b3JkKG1fdG9rZW4pOworICAgICAgICByZXR1cm4gbWF0
Y2goSURFTlQpIHx8IGlzUG9zc2libHlFc2NhcGVkTGV0KG1fdG9rZW4pIHx8IGlzUG9zc2libHlF
c2NhcGVkWWllbGQobV90b2tlbikgfHwgaXNQb3NzaWJseUVzY2FwZWRBd2FpdChtX3Rva2VuKTsK
ICAgICB9CiAKICAgICB0ZW1wbGF0ZSA8Y2xhc3MgVHJlZUJ1aWxkZXI+IFRyZWVTb3VyY2VFbGVt
ZW50cyBwYXJzZVNvdXJjZUVsZW1lbnRzKFRyZWVCdWlsZGVyJiwgU291cmNlRWxlbWVudHNNb2Rl
KTsKQEAgLTE4MzUsMTkgKzE4MTcsNjIgQEAgcHJpdmF0ZToKICAgICAgICAgcmV0dXJuICFtX2Vy
cm9yTWVzc2FnZS5pc051bGwoKTsKICAgICB9CiAKLSAgICBib29sIGlzRGlzYWxsb3dlZElkZW50
aWZpZXJMZXQoY29uc3QgSlNUb2tlbiYgdG9rZW4pCisgICAgYm9vbCBpc0FsbG93ZWRJZGVudGlm
aWVyTGV0KGNvbnN0IEpTVG9rZW4mIHRva2VuKQogICAgIHsKLSAgICAgICAgcmV0dXJuIHRva2Vu
Lm1fdHlwZSA9PSBMRVQgJiYgc3RyaWN0TW9kZSgpOworICAgICAgICByZXR1cm4gaXNQb3NzaWJs
eUVzY2FwZWRMZXQodG9rZW4pICYmICFzdHJpY3RNb2RlKCk7CisgICAgfQorCisgICAgQUxXQVlT
X0lOTElORSBib29sIGlzUG9zc2libHlFc2NhcGVkTGV0KGNvbnN0IEpTVG9rZW4mIHRva2VuKQor
ICAgIHsKKyAgICAgICAgcmV0dXJuIHRva2VuLm1fdHlwZSA9PSBMRVQgfHwgVU5MSUtFTFkodG9r
ZW4ubV90eXBlID09IEVTQ0FQRURfS0VZV09SRCAmJiAqdG9rZW4ubV9kYXRhLmlkZW50ID09IG1f
dm0ucHJvcGVydHlOYW1lcy0+bGV0S2V5d29yZCk7CiAgICAgfQogCiAgICAgYm9vbCBpc0Rpc2Fs
bG93ZWRJZGVudGlmaWVyQXdhaXQoY29uc3QgSlNUb2tlbiYgdG9rZW4pCiAgICAgewotICAgICAg
ICByZXR1cm4gdG9rZW4ubV90eXBlID09IEFXQUlUICYmICghbV9wYXJzZXJTdGF0ZS5hbGxvd0F3
YWl0IHx8IGN1cnJlbnRTY29wZSgpLT5pc0FzeW5jRnVuY3Rpb24oKSB8fCBtX3NjcmlwdE1vZGUg
PT0gSlNQYXJzZXJTY3JpcHRNb2RlOjpNb2R1bGUpOworICAgICAgICByZXR1cm4gaXNQb3NzaWJs
eUVzY2FwZWRBd2FpdCh0b2tlbikgJiYgIWNhblVzZUlkZW50aWZpZXJBd2FpdCgpOworICAgIH0K
KworICAgIGJvb2wgaXNBbGxvd2VkSWRlbnRpZmllckF3YWl0KGNvbnN0IEpTVG9rZW4mIHRva2Vu
KQorICAgIHsKKyAgICAgICAgcmV0dXJuIGlzUG9zc2libHlFc2NhcGVkQXdhaXQodG9rZW4pICYm
IGNhblVzZUlkZW50aWZpZXJBd2FpdCgpOworICAgIH0KKworICAgIEFMV0FZU19JTkxJTkUgYm9v
bCBpc1Bvc3NpYmx5RXNjYXBlZEF3YWl0KGNvbnN0IEpTVG9rZW4mIHRva2VuKQorICAgIHsKKyAg
ICAgICAgcmV0dXJuIHRva2VuLm1fdHlwZSA9PSBBV0FJVCB8fCBVTkxJS0VMWSh0b2tlbi5tX3R5
cGUgPT0gRVNDQVBFRF9LRVlXT1JEICYmICp0b2tlbi5tX2RhdGEuaWRlbnQgPT0gbV92bS5wcm9w
ZXJ0eU5hbWVzLT5hd2FpdEtleXdvcmQpOworICAgIH0KKworICAgIEFMV0FZU19JTkxJTkUgYm9v
bCBjYW5Vc2VJZGVudGlmaWVyQXdhaXQoKQorICAgIHsKKyAgICAgICAgcmV0dXJuIG1fcGFyc2Vy
U3RhdGUuYWxsb3dBd2FpdCAmJiAhY3VycmVudFNjb3BlKCktPmlzQXN5bmNGdW5jdGlvbigpICYm
IG1fc2NyaXB0TW9kZSAhPSBKU1BhcnNlclNjcmlwdE1vZGU6Ok1vZHVsZTsKICAgICB9CiAKICAg
ICBib29sIGlzRGlzYWxsb3dlZElkZW50aWZpZXJZaWVsZChjb25zdCBKU1Rva2VuJiB0b2tlbikK
ICAgICB7Ci0gICAgICAgIHJldHVybiB0b2tlbi5tX3R5cGUgPT0gWUlFTEQgJiYgKHN0cmljdE1v
ZGUoKSB8fCBjdXJyZW50U2NvcGUoKS0+aXNHZW5lcmF0b3IoKSk7CisgICAgICAgIHJldHVybiBp
c1Bvc3NpYmx5RXNjYXBlZFlpZWxkKHRva2VuKSAmJiAhY2FuVXNlSWRlbnRpZmllcllpZWxkKCk7
CisgICAgfQorCisgICAgYm9vbCBpc0FsbG93ZWRJZGVudGlmaWVyWWllbGQoY29uc3QgSlNUb2tl
biYgdG9rZW4pCisgICAgeworICAgICAgICByZXR1cm4gaXNQb3NzaWJseUVzY2FwZWRZaWVsZCh0
b2tlbikgJiYgY2FuVXNlSWRlbnRpZmllcllpZWxkKCk7CisgICAgfQorCisgICAgQUxXQVlTX0lO
TElORSBib29sIGlzUG9zc2libHlFc2NhcGVkWWllbGQoY29uc3QgSlNUb2tlbiYgdG9rZW4pCisg
ICAgeworICAgICAgICByZXR1cm4gdG9rZW4ubV90eXBlID09IFlJRUxEIHx8IFVOTElLRUxZKHRv
a2VuLm1fdHlwZSA9PSBFU0NBUEVEX0tFWVdPUkQgJiYgKnRva2VuLm1fZGF0YS5pZGVudCA9PSBt
X3ZtLnByb3BlcnR5TmFtZXMtPnlpZWxkS2V5d29yZCk7CisgICAgfQorCisgICAgQUxXQVlTX0lO
TElORSBib29sIGNhblVzZUlkZW50aWZpZXJZaWVsZCgpCisgICAgeworICAgICAgICByZXR1cm4g
IXN0cmljdE1vZGUoKSAmJiAhY3VycmVudFNjb3BlKCktPmlzR2VuZXJhdG9yKCk7CisgICAgfQor
CisgICAgYm9vbCBtYXRjaEFsbG93ZWRFc2NhcGVkQ29udGV4dHVhbEtleXdvcmQoKQorICAgIHsK
KyAgICAgICAgQVNTRVJUKG1fdG9rZW4ubV90eXBlID09IEVTQ0FQRURfS0VZV09SRCk7CisgICAg
ICAgIHJldHVybiAoKm1fdG9rZW4ubV9kYXRhLmlkZW50ID09IG1fdm0ucHJvcGVydHlOYW1lcy0+
bGV0S2V5d29yZCAmJiAhc3RyaWN0TW9kZSgpKQorICAgICAgICAgICAgfHwgKCptX3Rva2VuLm1f
ZGF0YS5pZGVudCA9PSBtX3ZtLnByb3BlcnR5TmFtZXMtPmF3YWl0S2V5d29yZCAmJiBjYW5Vc2VJ
ZGVudGlmaWVyQXdhaXQoKSkKKyAgICAgICAgICAgIHx8ICgqbV90b2tlbi5tX2RhdGEuaWRlbnQg
PT0gbV92bS5wcm9wZXJ0eU5hbWVzLT55aWVsZEtleXdvcmQgJiYgY2FuVXNlSWRlbnRpZmllcllp
ZWxkKCkpOwogICAgIH0KICAgICAKICAgICBBTFdBWVNfSU5MSU5FIFN1cGVyQmluZGluZyBhZGp1
c3RTdXBlckJpbmRpbmdGb3JCYXNlQ29uc3RydWN0b3IoQ29uc3RydWN0b3JLaW5kIGNvbnN0cnVj
dG9yS2luZCwgU3VwZXJCaW5kaW5nIHN1cGVyQmluZGluZywgU2NvcGVSZWYgZnVuY3Rpb25TY29w
ZSkKQEAgLTE4NzUsNyArMTkwMCw3IEBAIHByaXZhdGU6CiAKICAgICBjb25zdCBjaGFyKiBkaXNh
bGxvd2VkSWRlbnRpZmllckF3YWl0UmVhc29uKCkKICAgICB7Ci0gICAgICAgIGlmICghbV9wYXJz
ZXJTdGF0ZS5hbGxvd0F3YWl0IHx8IGN1cnJlbnRTY29wZSgpLT5pc0FzeW5jRnVuY3Rpb25Cb3Vu
ZGFyeSgpKQorICAgICAgICBpZiAoIW1fcGFyc2VyU3RhdGUuYWxsb3dBd2FpdCB8fCBjdXJyZW50
U2NvcGUoKS0+aXNBc3luY0Z1bmN0aW9uKCkpCiAgICAgICAgICAgICByZXR1cm4gImluIGFuIGFz
eW5jIGZ1bmN0aW9uIjsKICAgICAgICAgaWYgKG1fc2NyaXB0TW9kZSA9PSBKU1BhcnNlclNjcmlw
dE1vZGU6Ok1vZHVsZSkKICAgICAgICAgICAgIHJldHVybiAiaW4gYSBtb2R1bGUiOwpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9QYXJzZXJUb2tlbnMuaCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9wYXJzZXIvUGFyc2VyVG9rZW5zLmgKaW5kZXggYTk4MTQ1MmYwN2I2
ODdlMjk3Y2E2YzJhNWVmM2ZiY2IwN2UxN2Y5ZC4uYTIxOTE3MjRlMDQ1MWU0NmU0ZjgyODgxMGM3
ZGJlM2ZhOWI3ZWI2NSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3BhcnNlci9Q
YXJzZXJUb2tlbnMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcGFyc2VyL1BhcnNlclRv
a2Vucy5oCkBAIC05OCw4ICs5OCw2IEBAIGVudW0gSlNUb2tlblR5cGUgewogCiAgICAgRmlyc3RD
b250ZXh0dWFsS2V5d29yZFRva2VuID0gTEVULAogICAgIExhc3RDb250ZXh0dWFsS2V5d29yZFRv
a2VuID0gQVdBSVQsCi0gICAgRmlyc3RTYWZlQ29udGV4dHVhbEtleXdvcmRUb2tlbiA9IEFXQUlU
LAotICAgIExhc3RTYWZlQ29udGV4dHVhbEtleXdvcmRUb2tlbiA9IExhc3RDb250ZXh0dWFsS2V5
d29yZFRva2VuLAogCiAgICAgT1BFTkJSQUNFID0gMCwKICAgICBDTE9TRUJSQUNFLApkaWZmIC0t
Z2l0IGEvSlNUZXN0cy9DaGFuZ2VMb2cgYi9KU1Rlc3RzL0NoYW5nZUxvZwppbmRleCAwNzM4M2Zk
OTQ0MjI4YzgwZDA0NGM5ZTc2MmNiODA2NDY0OWM2ZmZhLi4yMzY2ZjYzNDcxMzI0Yzk3MzE1MDMx
YTcxOGYwZDVkZGIwZDNmOWU2IDEwMDY0NAotLS0gYS9KU1Rlc3RzL0NoYW5nZUxvZworKysgYi9K
U1Rlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDIxLTAxLTE0ICBSb3NzIEtpcnNs
aW5nICA8cm9zcy5raXJzbGluZ0Bzb255LmNvbT4KKworICAgICAgICBbSlNDXSBDb3JyZWN0bHkg
aGFuZGxlIGVzY2FwZWQga2V5d29yZCBpZGVudGlmaWVycworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjIwNjM0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBzdHJlc3MvZXNjYXBlZC1rZXl3b3JkLWlkZW50
aWZpZXJzLmpzOiBBZGRlZC4KKyAgICAgICAgKiB0ZXN0MjYyL2V4cGVjdGF0aW9ucy55YW1sOiBN
YXJrIDE2IHRlc3QgY2FzZXMgYXMgcGFzc2luZy4KKwogMjAyMS0wMS0xMiAgUm9zcyBLaXJzbGlu
ZyAgPHJvc3Mua2lyc2xpbmdAc29ueS5jb20+CiAKICAgICAgICAgW0pTQ10gQ2xhc3MgbmFtZSAn
YXdhaXQnIGlzIHZhbGlkIGluIHN5bmMgY29udGV4dApkaWZmIC0tZ2l0IGEvSlNUZXN0cy9zdHJl
c3MvZXNjYXBlZC1rZXl3b3JkLWlkZW50aWZpZXJzLmpzIGIvSlNUZXN0cy9zdHJlc3MvZXNjYXBl
ZC1rZXl3b3JkLWlkZW50aWZpZXJzLmpzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjlhYjI3MmZmNTYwZjBhYjBhYzI2
MTI3OWVmMzM3MjljYjBkZWQ4MTMKLS0tIC9kZXYvbnVsbAorKysgYi9KU1Rlc3RzL3N0cmVzcy9l
c2NhcGVkLWtleXdvcmQtaWRlbnRpZmllcnMuanMKQEAgLTAsMCArMSw4MCBAQAorZnVuY3Rpb24g
c2hvdWxkTm90VGhyb3coZnVuYykgeworICAgIGZ1bmMoKTsKK30KKworZnVuY3Rpb24gc2hvdWxk
VGhyb3dTeW50YXhFcnJvcihzY3JpcHQpIHsKKyAgICBsZXQgZXJyb3I7CisgICAgdHJ5IHsKKyAg
ICAgICAgZXZhbChzY3JpcHQpOworICAgIH0gY2F0Y2ggKGUpIHsKKyAgICAgICAgZXJyb3IgPSBl
OworICAgIH0KKworICAgIGlmICghKGVycm9yIGluc3RhbmNlb2YgU3ludGF4RXJyb3IpKQorICAg
ICAgICB0aHJvdyBuZXcgRXJyb3IoJ0V4cGVjdGVkIFN5bnRheEVycm9yIScpOworfQorCitzaG91
bGROb3RUaHJvdygoKSA9PiB7IGxcdTAwNjV0OiAzOyB9KTsKK3Nob3VsZE5vdFRocm93KCgpID0+
IHsgYXdcdTAwNjFpdDogMzsgfSk7CitzaG91bGROb3RUaHJvdygoKSA9PiB7IHlpXHUwMDY1bGQ6
IDM7IH0pOworc2hvdWxkTm90VGhyb3coKCkgPT4geyBzdFx1MDA2MXRpYzogMzsgfSk7CitzaG91
bGRUaHJvd1N5bnRheEVycm9yKCdudVxcdTAwNmNsOiAzOycpOworc2hvdWxkVGhyb3dTeW50YXhF
cnJvcignYXN5bmMgZnVuY3Rpb24gZigpIHsgYXdcXHUwMDYxaXQ6IDM7IH0nKTsKK3Nob3VsZFRo
cm93U3ludGF4RXJyb3IoJ2Z1bmN0aW9uKiBnKCkgeyB5aVxcdTAwNjVsZDogMzsgfScpOworCitz
aG91bGROb3RUaHJvdygoKSA9PiB7IHZhciBsXHUwMDY1dCA9IDM7IH0pOworc2hvdWxkTm90VGhy
b3coKCkgPT4geyB2YXIgYXdcdTAwNjFpdCA9IDM7IH0pOworc2hvdWxkTm90VGhyb3coKCkgPT4g
eyB2YXIgeWlcdTAwNjVsZCA9IDM7IH0pOworc2hvdWxkTm90VGhyb3coKCkgPT4geyB2YXIgc3Rc
dTAwNjF0aWMgPSAzOyB9KTsKK3Nob3VsZFRocm93U3ludGF4RXJyb3IoJ3ZhciBudVxcdTAwNmNs
ID0gMzsnKTsKK3Nob3VsZFRocm93U3ludGF4RXJyb3IoJ2FzeW5jIGZ1bmN0aW9uIGYoKSB7IHZh
ciBhd1xcdTAwNjFpdCA9IDM7IH0nKTsKK3Nob3VsZFRocm93U3ludGF4RXJyb3IoJ2Z1bmN0aW9u
KiBnKCkgeyB2YXIgeWlcXHUwMDY1bGQgPSAzOyB9Jyk7CisKK3Nob3VsZE5vdFRocm93KCgpID0+
IHsgbGV0IGF3XHUwMDYxaXQgPSAzOyB9KTsKK3Nob3VsZE5vdFRocm93KCgpID0+IHsgbGV0IHlp
XHUwMDY1bGQgPSAzOyB9KTsKK3Nob3VsZE5vdFRocm93KCgpID0+IHsgbGV0IHN0XHUwMDYxdGlj
ID0gMzsgfSk7CitzaG91bGRUaHJvd1N5bnRheEVycm9yKCdsZXQgbFxcdTAwNjV0ID0gMzsnKTsK
K3Nob3VsZFRocm93U3ludGF4RXJyb3IoJ2xldCBudVxcdTAwNmNsID0gMzsnKTsKK3Nob3VsZFRo
cm93U3ludGF4RXJyb3IoJ2FzeW5jIGZ1bmN0aW9uIGYoKSB7IGxldCBhd1xcdTAwNjFpdCA9IDM7
IH0nKTsKK3Nob3VsZFRocm93U3ludGF4RXJyb3IoJ2Z1bmN0aW9uKiBnKCkgeyBsZXQgeWlcXHUw
MDY1bGQgPSAzOyB9Jyk7CisKK3Nob3VsZE5vdFRocm93KCgpID0+IHsgY29uc3QgYXdcdTAwNjFp
dCA9IDM7IH0pOworc2hvdWxkTm90VGhyb3coKCkgPT4geyBjb25zdCB5aVx1MDA2NWxkID0gMzsg
fSk7CitzaG91bGROb3RUaHJvdygoKSA9PiB7IGNvbnN0IHN0XHUwMDYxdGljID0gMzsgfSk7Citz
aG91bGRUaHJvd1N5bnRheEVycm9yKCdjb25zdCBsXFx1MDA2NXQgPSAzOycpOworc2hvdWxkVGhy
b3dTeW50YXhFcnJvcignY29uc3QgbnVcXHUwMDZjbCA9IDM7Jyk7CitzaG91bGRUaHJvd1N5bnRh
eEVycm9yKCdhc3luYyBmdW5jdGlvbiBmKCkgeyBjb25zdCBhd1xcdTAwNjFpdCA9IDM7IH0nKTsK
K3Nob3VsZFRocm93U3ludGF4RXJyb3IoJ2Z1bmN0aW9uKiBnKCkgeyBjb25zdCB5aVxcdTAwNjVs
ZCA9IDM7IH0nKTsKKworc2hvdWxkTm90VGhyb3coKCkgPT4geyBjbGFzcyBhd1x1MDA2MWl0IHt9
IH0pOworc2hvdWxkVGhyb3dTeW50YXhFcnJvcignY2xhc3MgbFxcdTAwNjV0IHt9Jyk7CitzaG91
bGRUaHJvd1N5bnRheEVycm9yKCdjbGFzcyB5aVxcdTAwNjVsZCB7fScpOworc2hvdWxkVGhyb3dT
eW50YXhFcnJvcignY2xhc3Mgc3RcXHUwMDYxdGljIHt9Jyk7CitzaG91bGRUaHJvd1N5bnRheEVy
cm9yKCdjbGFzcyBudVxcdTAwNmNsIHt9Jyk7CitzaG91bGRUaHJvd1N5bnRheEVycm9yKCdhc3lu
YyBmdW5jdGlvbiBmKCkgeyBjbGFzcyBhd1xcdTAwNjFpdCB7fSB9Jyk7CitzaG91bGRUaHJvd1N5
bnRheEVycm9yKCdmdW5jdGlvbiogZygpIHsgY2xhc3MgeWlcXHUwMDY1bGQge30gfScpOworCitz
aG91bGROb3RUaHJvdygoKSA9PiB7IGFzeW5jIGZ1bmN0aW9uIGF3XHUwMDYxaXQoKSB7fSB9KTsK
K3Nob3VsZE5vdFRocm93KCgpID0+IHsgZnVuY3Rpb24qIHlpXHUwMDY1bGQoKSB7fSB9KTsKK3No
b3VsZFRocm93U3ludGF4RXJyb3IoJ2FzeW5jIGZ1bmN0aW9uIGYoKSB7IGZ1bmN0aW9uIGF3XFx1
MDA2MWl0KCkge30gfScpOworc2hvdWxkVGhyb3dTeW50YXhFcnJvcignZnVuY3Rpb24qIGcoKSB7
IGZ1bmN0aW9uIHlpXFx1MDA2NWxkKCkge30gfScpOworCitzaG91bGROb3RUaHJvdygoKSA9PiB7
IGZ1bmN0aW9uIGYoYXdcdTAwNjFpdCkge30gfSk7CitzaG91bGROb3RUaHJvdygoKSA9PiB7IGZ1
bmN0aW9uIGcoeWlcdTAwNjVsZCkge30gfSk7CitzaG91bGRUaHJvd1N5bnRheEVycm9yKCdhc3lu
YyBmdW5jdGlvbiBmKGF3XFx1MDA2MWl0KSB7fScpOworc2hvdWxkVGhyb3dTeW50YXhFcnJvcign
ZnVuY3Rpb24qIGcoeWlcXHUwMDY1bGQpIHt9Jyk7CisKK3Nob3VsZE5vdFRocm93KCgpID0+IHsg
ZnVuY3Rpb24gbFx1MDA2NXQoKSB7fSB9KTsKK3Nob3VsZE5vdFRocm93KCgpID0+IHsgZnVuY3Rp
b24gc3RcdTAwNjF0aWMoKSB7fSB9KTsKK3Nob3VsZE5vdFRocm93KCgpID0+IHsgZnVuY3Rpb24g
ZihsXHUwMDY1dCkge30gfSk7CitzaG91bGROb3RUaHJvdygoKSA9PiB7IGZ1bmN0aW9uIGYoc3Rc
dTAwNjF0aWMpIHt9IH0pOworc2hvdWxkVGhyb3dTeW50YXhFcnJvcignZnVuY3Rpb24gZigpIHsg
ZnVuY3Rpb24gbnVcXHUwMDZjbCgpIHt9IH0nKTsKK3Nob3VsZFRocm93U3ludGF4RXJyb3IoJ2Z1
bmN0aW9uIGYobnVcXHUwMDZjbCkge30nKTsKKworc2hvdWxkTm90VGhyb3coKCkgPT4geyBsXHUw
MDY1dCA9PiAzOyB9KTsKK3Nob3VsZE5vdFRocm93KCgpID0+IHsgYXdcdTAwNjFpdCA9PiAzOyB9
KTsKK3Nob3VsZE5vdFRocm93KCgpID0+IHsgeWlcdTAwNjVsZCA9PiAzOyB9KTsKK3Nob3VsZE5v
dFRocm93KCgpID0+IHsgc3RcdTAwNjF0aWMgPT4gMzsgfSk7CitzaG91bGRUaHJvd1N5bnRheEVy
cm9yKCdudVxcdTAwNmNsID0+IDM7Jyk7CitzaG91bGRUaHJvd1N5bnRheEVycm9yKCdhc3luYyBm
dW5jdGlvbiBmKCkgeyBhd1xcdTAwNjFpdCA9PiAzOyB9Jyk7CitzaG91bGRUaHJvd1N5bnRheEVy
cm9yKCdmdW5jdGlvbiogZygpIHsgeWlcXHUwMDY1bGQgPT4gMzsgfScpOwpkaWZmIC0tZ2l0IGEv
SlNUZXN0cy90ZXN0MjYyL2V4cGVjdGF0aW9ucy55YW1sIGIvSlNUZXN0cy90ZXN0MjYyL2V4cGVj
dGF0aW9ucy55YW1sCmluZGV4IGZmMzViOGU1ZmViYmMzN2IyOTc1NjQ1NDMwNDU5NGY3YmZlYzgz
ZjAuLjM5ZGJmODUzNDk0MTE2YjQ1NGQ1ZjZlYzEzZGFmOTU5MTlmY2QwYmQgMTAwNjQ0Ci0tLSBh
L0pTVGVzdHMvdGVzdDI2Mi9leHBlY3RhdGlvbnMueWFtbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIv
ZXhwZWN0YXRpb25zLnlhbWwKQEAgLTE0NzgsOSArMTQ3OCw2IEBAIHRlc3QvbGFuZ3VhZ2UvZXhw
cmVzc2lvbnMvY2FsbC90Y28tbm9uLWV2YWwtZ2xvYmFsLmpzOgogICBkZWZhdWx0OiAnUmFuZ2VF
cnJvcjogTWF4aW11bSBjYWxsIHN0YWNrIHNpemUgZXhjZWVkZWQuJwogdGVzdC9sYW5ndWFnZS9l
eHByZXNzaW9ucy9jYWxsL3Rjby1ub24tZXZhbC13aXRoLmpzOgogICBkZWZhdWx0OiAnUmFuZ2VF
cnJvcjogTWF4aW11bSBjYWxsIHN0YWNrIHNpemUgZXhjZWVkZWQuJwotdGVzdC9sYW5ndWFnZS9l
eHByZXNzaW9ucy9jbGFzcy9jbGFzcy1uYW1lLWlkZW50LWF3YWl0LWVzY2FwZWQuanM6Ci0gIGRl
ZmF1bHQ6ICJTeW50YXhFcnJvcjogVW5leHBlY3RlZCBlc2NhcGVkIGNoYXJhY3RlcnMgaW4ga2V5
d29yZCB0b2tlbjogJ2F3XFx1MDA2MWl0JyIKLSAgc3RyaWN0IG1vZGU6ICJTeW50YXhFcnJvcjog
VW5leHBlY3RlZCBlc2NhcGVkIGNoYXJhY3RlcnMgaW4ga2V5d29yZCB0b2tlbjogJ2F3XFx1MDA2
MWl0JyIKIHRlc3QvbGFuZ3VhZ2UvZXhwcmVzc2lvbnMvY2xhc3MvZWxlbWVudHMvYXJyb3ctYm9k
eS1kaXJlY3QtZXZhbC1lcnItY29udGFpbnMtYXJndW1lbnRzLmpzOgogICBkZWZhdWx0OiAnVGVz
dDI2MkVycm9yOiBFeHBlY3RlZCBhIFN5bnRheEVycm9yIGJ1dCBnb3QgYSBSZWZlcmVuY2VFcnJv
cicKICAgc3RyaWN0IG1vZGU6ICdUZXN0MjYyRXJyb3I6IEV4cGVjdGVkIGEgU3ludGF4RXJyb3Ig
YnV0IGdvdCBhIFJlZmVyZW5jZUVycm9yJwpAQCAtMTcwMywxOCArMTcwMCw2IEBAIHRlc3QvbGFu
Z3VhZ2UvZ2xvYmFsLWNvZGUvc2NyaXB0LWRlY2wtdmFyLWVyci5qczoKICAgc3RyaWN0IG1vZGU6
ICdUZXN0MjYyRXJyb3I6IEV4cGVjdGVkIGEgVHlwZUVycm9yIHRvIGJlIHRocm93biBidXQgbm8g
ZXhjZXB0aW9uIHdhcyB0aHJvd24gYXQgYWxsJwogdGVzdC9sYW5ndWFnZS9pZGVudGlmaWVyLXJl
c29sdXRpb24vYXNzaWduLXRvLWdsb2JhbC11bmRlZmluZWQuanM6CiAgIHN0cmljdCBtb2RlOiBF
eHBlY3RlZCB1bmNhdWdodCBleGNlcHRpb24gd2l0aCBuYW1lICdSZWZlcmVuY2VFcnJvcicgYnV0
IG5vbmUgd2FzIHRocm93bgotdGVzdC9sYW5ndWFnZS9pZGVudGlmaWVycy9wYXJ0LXVuaWNvZGUt
MTMuMC4wLWVzY2FwZWQuanM6Ci0gIGRlZmF1bHQ6ICJTeW50YXhFcnJvcjogSW52YWxpZCB1bmlj
b2RlIGVzY2FwZSBpbiBpZGVudGlmaWVyOiAnX1xcdTBCNTUnIgotICBzdHJpY3QgbW9kZTogIlN5
bnRheEVycm9yOiBJbnZhbGlkIHVuaWNvZGUgZXNjYXBlIGluIGlkZW50aWZpZXI6ICdfXFx1MEI1
NSciCi10ZXN0L2xhbmd1YWdlL2lkZW50aWZpZXJzL3BhcnQtdW5pY29kZS0xMy4wLjAuanM6Ci0g
IGRlZmF1bHQ6ICJTeW50YXhFcnJvcjogSW52YWxpZCBjaGFyYWN0ZXIgJ1xcdTBiNTUnIgotICBz
dHJpY3QgbW9kZTogIlN5bnRheEVycm9yOiBJbnZhbGlkIGNoYXJhY3RlciAnXFx1MGI1NSciCi10
ZXN0L2xhbmd1YWdlL2lkZW50aWZpZXJzL3N0YXJ0LXVuaWNvZGUtMTMuMC4wLWVzY2FwZWQuanM6
Ci0gIGRlZmF1bHQ6ICJTeW50YXhFcnJvcjogSW52YWxpZCB1bmljb2RlIGVzY2FwZSBpbiBpZGVu
dGlmaWVyOiAnXFx1MDhCRSciCi0gIHN0cmljdCBtb2RlOiAiU3ludGF4RXJyb3I6IEludmFsaWQg
dW5pY29kZSBlc2NhcGUgaW4gaWRlbnRpZmllcjogJ1xcdTA4QkUnIgotdGVzdC9sYW5ndWFnZS9p
ZGVudGlmaWVycy9zdGFydC11bmljb2RlLTEzLjAuMC5qczoKLSAgZGVmYXVsdDogIlN5bnRheEVy
cm9yOiBJbnZhbGlkIGNoYXJhY3RlciAnXFx1MDhiZSciCi0gIHN0cmljdCBtb2RlOiAiU3ludGF4
RXJyb3I6IEludmFsaWQgY2hhcmFjdGVyICdcXHUwOGJlJyIKIHRlc3QvbGFuZ3VhZ2UvbGl0ZXJh
bHMvcmVnZXhwL3UtYXN0cmFsLWNoYXItY2xhc3MtaW52ZXJ0LmpzOgogICBkZWZhdWx0OiAnVGVz
dDI2MkVycm9yOiBFeHBlY3RlZCBTYW1lVmFsdWUowqvvv73CuywgwqtudWxswrspIHRvIGJlIHRy
dWUnCiAgIHN0cmljdCBtb2RlOiAnVGVzdDI2MkVycm9yOiBFeHBlY3RlZCBTYW1lVmFsdWUowqvv
v73CuywgwqtudWxswrspIHRvIGJlIHRydWUnCkBAIC0xNzMwLDkgKzE3MTUsNiBAQCB0ZXN0L2xh
bmd1YWdlL3N0YXRlbWVudHMvYXN5bmMtZ2VuZXJhdG9yL2dlbmVyYXRvci1jcmVhdGVkLWFmdGVy
LWRlY2wtaW5zdC5qczoKIHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9hc3luYy1nZW5lcmF0b3Iv
cmV0dXJuLXVuZGVmaW5lZC1pbXBsaWNpdC1hbmQtZXhwbGljaXQuanM6CiAgIGRlZmF1bHQ6ICdU
ZXN0MjYyOkFzeW5jVGVzdEZhaWx1cmU6VGVzdDI2MkVycm9yOiBUZXN0MjYyRXJyb3I6IEV4cGVj
dGVkIFt0aWNrIDEsIGcxIHJldCwgdGljayAyLCBnMiByZXQsIGczIHJldCwgZzQgcmV0XSBhbmQg
W3RpY2sgMSwgZzEgcmV0LCBnMiByZXQsIHRpY2sgMiwgZzMgcmV0LCBnNCByZXRdIHRvIGhhdmUg
dGhlIHNhbWUgY29udGVudHMuIFRpY2tzIGZvciBpbXBsaWNpdCBhbmQgZXhwbGljaXQgcmV0dXJu
IHVuZGVmaW5lZCcKICAgc3RyaWN0IG1vZGU6ICdUZXN0MjYyOkFzeW5jVGVzdEZhaWx1cmU6VGVz
dDI2MkVycm9yOiBUZXN0MjYyRXJyb3I6IEV4cGVjdGVkIFt0aWNrIDEsIGcxIHJldCwgdGljayAy
LCBnMiByZXQsIGczIHJldCwgZzQgcmV0XSBhbmQgW3RpY2sgMSwgZzEgcmV0LCBnMiByZXQsIHRp
Y2sgMiwgZzMgcmV0LCBnNCByZXRdIHRvIGhhdmUgdGhlIHNhbWUgY29udGVudHMuIFRpY2tzIGZv
ciBpbXBsaWNpdCBhbmQgZXhwbGljaXQgcmV0dXJuIHVuZGVmaW5lZCcKLXRlc3QvbGFuZ3VhZ2Uv
c3RhdGVtZW50cy9jbGFzcy9jbGFzcy1uYW1lLWlkZW50LWF3YWl0LWVzY2FwZWQuanM6Ci0gIGRl
ZmF1bHQ6ICJTeW50YXhFcnJvcjogVW5leHBlY3RlZCBlc2NhcGVkIGNoYXJhY3RlcnMgaW4ga2V5
d29yZCB0b2tlbjogJ2F3XFx1MDA2MWl0JyIKLSAgc3RyaWN0IG1vZGU6ICJTeW50YXhFcnJvcjog
VW5leHBlY3RlZCBlc2NhcGVkIGNoYXJhY3RlcnMgaW4ga2V5d29yZCB0b2tlbjogJ2F3XFx1MDA2
MWl0JyIKIHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9jbGFzcy9lbGVtZW50cy9hcnJvdy1ib2R5
LWRpcmVjdC1ldmFsLWVyci1jb250YWlucy1hcmd1bWVudHMuanM6CiAgIGRlZmF1bHQ6ICdUZXN0
MjYyRXJyb3I6IEV4cGVjdGVkIGEgU3ludGF4RXJyb3IgYnV0IGdvdCBhIFJlZmVyZW5jZUVycm9y
JwogICBzdHJpY3QgbW9kZTogJ1Rlc3QyNjJFcnJvcjogRXhwZWN0ZWQgYSBTeW50YXhFcnJvciBi
dXQgZ290IGEgUmVmZXJlbmNlRXJyb3InCkBAIC0xODg4LDExICsxODcwLDYgQEAgdGVzdC9sYW5n
dWFnZS9zdGF0ZW1lbnRzL2xhYmVsZWQvZGVjbC1hc3luYy1nZW5lcmF0b3IuanM6CiAgIHN0cmlj
dCBtb2RlOiAnVGVzdDI2MjogVGhpcyBzdGF0ZW1lbnQgc2hvdWxkIG5vdCBiZSBldmFsdWF0ZWQu
JwogdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2xhYmVsZWQvbGV0LWFycmF5LXdpdGgtbmV3bGlu
ZS5qczoKICAgZGVmYXVsdDogJ1Rlc3QyNjI6IFRoaXMgc3RhdGVtZW50IHNob3VsZCBub3QgYmUg
ZXZhbHVhdGVkLicKLXRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9sYWJlbGVkL3ZhbHVlLWF3YWl0
LW5vbi1tb2R1bGUtZXNjYXBlZC5qczoKLSAgZGVmYXVsdDogIlN5bnRheEVycm9yOiBVbmV4cGVj
dGVkIGVzY2FwZWQgY2hhcmFjdGVycyBpbiBrZXl3b3JkIHRva2VuOiAnYXdcXHUwMDYxaXQnIgot
ICBzdHJpY3QgbW9kZTogIlN5bnRheEVycm9yOiBVbmV4cGVjdGVkIGVzY2FwZWQgY2hhcmFjdGVy
cyBpbiBrZXl3b3JkIHRva2VuOiAnYXdcXHUwMDYxaXQnIgotdGVzdC9sYW5ndWFnZS9zdGF0ZW1l
bnRzL2xhYmVsZWQvdmFsdWUteWllbGQtbm9uLXN0cmljdC1lc2NhcGVkLmpzOgotICBkZWZhdWx0
OiAiU3ludGF4RXJyb3I6IFVuZXhwZWN0ZWQgZXNjYXBlZCBjaGFyYWN0ZXJzIGluIGtleXdvcmQg
dG9rZW46ICd5aVxcdTAwNjVsZCciCiB0ZXN0L2xhbmd1YWdlL3N0YXRlbWVudHMvbGV0L2Jsb2Nr
LWxvY2FsLWNsb3N1cmUtc2V0LWJlZm9yZS1pbml0aWFsaXphdGlvbi5qczoKICAgZGVmYXVsdDog
J1Rlc3QyNjJFcnJvcjogRXhwZWN0ZWQgYSBSZWZlcmVuY2VFcnJvciB0byBiZSB0aHJvd24gYnV0
IG5vIGV4Y2VwdGlvbiB3YXMgdGhyb3duIGF0IGFsbCcKIHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50
cy9sZXQvZHN0ci9hcnktaW5pdC1pdGVyLWdldC1lcnItYXJyYXktcHJvdG90eXBlLmpzOgpAQCAt
MTkwMSw4ICsxODc4LDYgQEAgdGVzdC9sYW5ndWFnZS9zdGF0ZW1lbnRzL2xldC9kc3RyL2FyeS1p
bml0LWl0ZXItZ2V0LWVyci1hcnJheS1wcm90b3R5cGUuanM6CiB0ZXN0L2xhbmd1YWdlL3N0YXRl
bWVudHMvbGV0L2RzdHIvYXJ5LXB0cm4tZWxlbS1pZC1pdGVyLXZhbC1hcnJheS1wcm90b3R5cGUu
anM6CiAgIGRlZmF1bHQ6ICdUZXN0MjYyRXJyb3I6IEV4cGVjdGVkIFNhbWVWYWx1ZSjCqzPCuywg
wqs0MsK7KSB0byBiZSB0cnVlJwogICBzdHJpY3QgbW9kZTogJ1Rlc3QyNjJFcnJvcjogRXhwZWN0
ZWQgU2FtZVZhbHVlKMKrM8K7LCDCqzQywrspIHRvIGJlIHRydWUnCi10ZXN0L2xhbmd1YWdlL3N0
YXRlbWVudHMvbGV0L3N5bnRheC9lc2NhcGVkLWxldC5qczoKLSAgZGVmYXVsdDogIlN5bnRheEVy
cm9yOiBVbmV4cGVjdGVkIGVzY2FwZWQgY2hhcmFjdGVycyBpbiBrZXl3b3JkIHRva2VuOiAnbFxc
dTAwNjV0JyIKIHRlc3QvbGFuZ3VhZ2Uvc3RhdGVtZW50cy9zd2l0Y2gvc2NvcGUtbGV4LWFzeW5j
LWZ1bmN0aW9uLmpzOgogICBkZWZhdWx0OiBFeHBlY3RlZCB1bmNhdWdodCBleGNlcHRpb24gd2l0
aCBuYW1lICdSZWZlcmVuY2VFcnJvcicgYnV0IG5vbmUgd2FzIHRocm93bgogdGVzdC9sYW5ndWFn
ZS9zdGF0ZW1lbnRzL3N3aXRjaC9zY29wZS1sZXgtYXN5bmMtZ2VuZXJhdG9yLmpzOgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>