<?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>225535</bug_id>
          
          <creation_ts>2021-05-07 12:17:44 -0700</creation_ts>
          <short_desc>[JSC] Error#cause must recognize explicit undefined</short_desc>
          <delta_ts>2021-05-14 12:22:31 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>JavaScriptCore</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=223302</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Ross Kirsling">ross.kirsling</reporter>
          <assigned_to name="Ross Kirsling">ross.kirsling</assigned_to>
          <cc>ashvayka</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>tsavell</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1757953</commentid>
    <comment_count>0</comment_count>
    <who name="Ross Kirsling">ross.kirsling</who>
    <bug_when>2021-05-07 12:17:44 -0700</bug_when>
    <thetext>See https://github.com/tc39/proposal-error-cause/issues/2#issuecomment-789375512.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1758081</commentid>
    <comment_count>1</comment_count>
      <attachid>428057</attachid>
    <who name="Ross Kirsling">ross.kirsling</who>
    <bug_when>2021-05-07 16:26:29 -0700</bug_when>
    <thetext>Created attachment 428057
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1758096</commentid>
    <comment_count>2</comment_count>
      <attachid>428057</attachid>
    <who name="Alexey Shvayka">ashvayka</who>
    <bug_when>2021-05-07 16:47:00 -0700</bug_when>
    <thetext>Comment on attachment 428057
Patch

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

Nice clean-up! r=me with a thought on (micro) optimization.

&gt; Source/JavaScriptCore/runtime/ErrorInstance.cpp:145
&gt; +            JSValue cause = object-&gt;get(globalObject, vm.propertyNames-&gt;cause);

We could use slot.isTaintedByOpaqueObject() to avoid this get() if it&apos;s non-observable, like we do in objectConstructorValues() and friends.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1758107</commentid>
    <comment_count>3</comment_count>
    <who name="Ross Kirsling">ross.kirsling</who>
    <bug_when>2021-05-07 17:03:27 -0700</bug_when>
    <thetext>(In reply to Alexey Shvayka from comment #2)
&gt; Comment on attachment 428057 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=428057&amp;action=review
&gt; 
&gt; Nice clean-up! r=me with a thought on (micro) optimization.
&gt; 
&gt; &gt; Source/JavaScriptCore/runtime/ErrorInstance.cpp:145
&gt; &gt; +            JSValue cause = object-&gt;get(globalObject, vm.propertyNames-&gt;cause);
&gt; 
&gt; We could use slot.isTaintedByOpaqueObject() to avoid this get() if it&apos;s
&gt; non-observable, like we do in objectConstructorValues() and friends.

Thanks, will do!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1758109</commentid>
    <comment_count>4</comment_count>
      <attachid>428063</attachid>
    <who name="Ross Kirsling">ross.kirsling</who>
    <bug_when>2021-05-07 17:10:38 -0700</bug_when>
    <thetext>Created attachment 428063
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1758133</commentid>
    <comment_count>5</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-05-07 18:26:39 -0700</bug_when>
    <thetext>Committed r277221 (237492@main): &lt;https://commits.webkit.org/237492@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 428063.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1758134</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-05-07 18:27:16 -0700</bug_when>
    <thetext>&lt;rdar://problem/77682622&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1760168</commentid>
    <comment_count>7</comment_count>
    <who name="Truitt Savell">tsavell</who>
    <bug_when>2021-05-14 12:22:31 -0700</bug_when>
    <thetext>It looks like the changes in https://trac.webkit.org/changeset/277221/webkit

broke two tests on test262 queue
https://build.webkit.org/#/builders/19/builds/2485</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>428057</attachid>
            <date>2021-05-07 16:26:29 -0700</date>
            <delta_ts>2021-05-07 17:10:35 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-225535-20210507162628.patch</filename>
            <type>text/plain</type>
            <size>9666</size>
            <attacher name="Ross Kirsling">ross.kirsling</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc3MTk3CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBh
M2ZmODhlZTRiZjkyNmVhMjIyODMxNzA3NzA4Y2VjNTRhNmYyNjdhLi5jNjUyYWExM2I5N2VjMTk0
YzE4OWVhMDViMGVhNzYwZWJjODFkZjI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyNyBAQAorMjAyMS0wNS0wNyAgUm9zcyBLaXJzbGluZyAgPHJvc3Mua2lyc2xpbmdAc29u
eS5jb20+CisKKyAgICAgICAgW0pTQ10gRXJyb3IjY2F1c2UgbXVzdCByZWNvZ25pemUgZXhwbGlj
aXQgdW5kZWZpbmVkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMjU1MzUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBFcnJvciNjYXVzZSBpcyBzcGVjaWZpZWQgc3VjaCB0aGF0IGBuZXcgRXJyb3IobWVzc2Fn
ZSwge30pYCBhbmQgYG5ldyBFcnJvcihtZXNzYWdlLCB7IGNhdXNlOiB1bmRlZmluZWQgfSlgCisg
ICAgICAgIGFyZSBub3QgdGhlIHNhbWUgLS0gbmFtZWx5LCB0aGUgbGF0dGVyIHNob3VsZCBjcmVh
dGUgYSBwcm9wZXJ0eSBkZXNjcmlwdG9yIHdpdGggYW4gdW5kZWZpbmVkIGB2YWx1ZWAuCisKKyAg
ICAgICAgVGhpcyB3b3VsZCBzZWVtIGFic3VyZCwgYnV0IHRoZSByZWFzb24gaXMgYmVjYXVzZSB0
aGUgYGNhdXNlYCBmaWVsZCBpcyBtZWFudCB0byBzdG9yZSBhIHRocm93biBvYmplY3QsCisgICAg
ICAgIGFuZCBgdGhyb3cgdW5kZWZpbmVkO2AgaXMgdmFsaWQgY29kZS4KKworICAgICAgICBJbiBh
bGlnbmluZyBvdXIgaW1wbGVtZW50YXRpb24gd2l0aCB0aGUgc3BlYywgdGhpcyBwYXRjaCBhbHNv
IGNvbnNvbGlkYXRlcyB0aGUgcmVsZXZhbnQgbG9naWMgaW4gb25lIHBsYWNlCisgICAgICAgIChF
cnJvckluc3RhbmNlOjpmaW5pc2hDcmVhdGlvbikgdG8gbWluaW1pemUgY29uZnVzaW9uLgorCisg
ICAgICAgICogcnVudGltZS9BZ2dyZWdhdGVFcnJvci5jcHA6CisgICAgICAgIChKU0M6OmNyZWF0
ZUFnZ3JlZ2F0ZUVycm9yKToKKyAgICAgICAgKiBydW50aW1lL0Vycm9ySW5zdGFuY2UuY3BwOgor
ICAgICAgICAoSlNDOjpFcnJvckluc3RhbmNlOjpjcmVhdGUpOgorICAgICAgICAoSlNDOjpFcnJv
ckluc3RhbmNlOjpmaW5pc2hDcmVhdGlvbik6CisgICAgICAgICogcnVudGltZS9FcnJvckluc3Rh
bmNlLmg6CisgICAgICAgIChKU0M6OkVycm9ySW5zdGFuY2U6OmNyZWF0ZSk6CisKIDIwMjEtMDUt
MDYgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBQb3J0IEZpbGVz
eXN0ZW06OmZpbGVNZXRhZGF0YSgpICYgRmlsZXN5c3RlbTo6Z2V0RmlsZU1vZGlmaWNhdGlvblRp
bWUoKSB0byBzdGQ6OmZpbGVzeXN0ZW0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0FnZ3JlZ2F0ZUVycm9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0FnZ3JlZ2F0ZUVycm9yLmNwcAppbmRleCBkOGMxM2I3NjcxOWI3OWEwMTJkM2VlYjJjZmE3
YjlmMmI5YTFkMmZhLi4wYmJkNjJiODcxNWI2NTg4NmNiZmE4YTk0ZTRhNGFiMmFjYmY3ODAyIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BZ2dyZWdhdGVFcnJvci5j
cHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQWdncmVnYXRlRXJyb3IuY3Bw
CkBAIC0zNywxMiArMzcsNiBAQCBFcnJvckluc3RhbmNlKiBjcmVhdGVBZ2dyZWdhdGVFcnJvcihK
U0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBWTSYgdm0sIFN0cnVjdAogewogICAgIGF1dG8g
c2NvcGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKIAotICAgIFN0cmluZyBtZXNzYWdlU3Ry
aW5nID0gbWVzc2FnZS5pc1VuZGVmaW5lZCgpID8gU3RyaW5nKCkgOiBtZXNzYWdlLnRvV1RGU3Ry
aW5nKGdsb2JhbE9iamVjdCk7Ci0gICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgbnVsbHB0
cik7Ci0KLSAgICBKU1ZhbHVlIGNhdXNlID0gIW9wdGlvbnMuaXNPYmplY3QoKSA/IGpzVW5kZWZp
bmVkKCkgOiBvcHRpb25zLmdldChnbG9iYWxPYmplY3QsIHZtLnByb3BlcnR5TmFtZXMtPmNhdXNl
KTsKLSAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCBudWxscHRyKTsKLQogICAgIE1hcmtl
ZEFyZ3VtZW50QnVmZmVyIGVycm9yc0xpc3Q7CiAgICAgZm9yRWFjaEluSXRlcmFibGUoZ2xvYmFs
T2JqZWN0LCBlcnJvcnMsIFsmXSAoVk0mLCBKU0dsb2JhbE9iamVjdCosIEpTVmFsdWUgbmV4dFZh
bHVlKSB7CiAgICAgICAgIGVycm9yc0xpc3QuYXBwZW5kKG5leHRWYWx1ZSk7CkBAIC01NCw3ICs0
OCw3IEBAIEVycm9ySW5zdGFuY2UqIGNyZWF0ZUFnZ3JlZ2F0ZUVycm9yKEpTR2xvYmFsT2JqZWN0
KiBnbG9iYWxPYmplY3QsIFZNJiB2bSwgU3RydWN0CiAgICAgYXV0byogYXJyYXkgPSBjb25zdHJ1
Y3RBcnJheShnbG9iYWxPYmplY3QsIHN0YXRpY19jYXN0PEFycmF5QWxsb2NhdGlvblByb2ZpbGUq
PihudWxscHRyKSwgZXJyb3JzTGlzdCk7CiAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwg
bnVsbHB0cik7CiAKLSAgICBhdXRvKiBlcnJvciA9IEVycm9ySW5zdGFuY2U6OmNyZWF0ZShnbG9i
YWxPYmplY3QsIHZtLCBzdHJ1Y3R1cmUsIG1lc3NhZ2VTdHJpbmcsIGNhdXNlLCBhcHBlbmRlciwg
dHlwZSwgRXJyb3JUeXBlOjpBZ2dyZWdhdGVFcnJvciwgdXNlQ3VycmVudEZyYW1lKTsKKyAgICBh
dXRvKiBlcnJvciA9IEVycm9ySW5zdGFuY2U6OmNyZWF0ZShnbG9iYWxPYmplY3QsIHN0cnVjdHVy
ZSwgbWVzc2FnZSwgb3B0aW9ucywgYXBwZW5kZXIsIHR5cGUsIEVycm9yVHlwZTo6QWdncmVnYXRl
RXJyb3IsIHVzZUN1cnJlbnRGcmFtZSk7CiAgICAgZXJyb3ItPnB1dERpcmVjdCh2bSwgdm0ucHJv
cGVydHlOYW1lcy0+ZXJyb3JzLCBhcnJheSwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KFByb3BlcnR5
QXR0cmlidXRlOjpEb250RW51bSkpOwogICAgIHJldHVybiBlcnJvcjsKIH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Vycm9ySW5zdGFuY2UuY3BwIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXJyb3JJbnN0YW5jZS5jcHAKaW5kZXggZmM5MDRhMzZm
ZjUzOGUxYWYyYWQzZTM2MzQ0NzA5OGNkNzEzYWZmNC4uNzgyOWE3ZmZmYjY4NDhhYWJkN2RkNjI1
MjYwZjlmYTRkMDYwZDI2ZSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvRXJyb3JJbnN0YW5jZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
RXJyb3JJbnN0YW5jZS5jcHAKQEAgLTUyLDEwICs1Miw3IEBAIEVycm9ySW5zdGFuY2UqIEVycm9y
SW5zdGFuY2U6OmNyZWF0ZShKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmUq
IHN0CiAgICAgU3RyaW5nIG1lc3NhZ2VTdHJpbmcgPSBtZXNzYWdlLmlzVW5kZWZpbmVkKCkgPyBT
dHJpbmcoKSA6IG1lc3NhZ2UudG9XVEZTdHJpbmcoZ2xvYmFsT2JqZWN0KTsKICAgICBSRVRVUk5f
SUZfRVhDRVBUSU9OKHNjb3BlLCBudWxscHRyKTsKIAotICAgIEpTVmFsdWUgY2F1c2UgPSAhb3B0
aW9ucy5pc09iamVjdCgpID8ganNVbmRlZmluZWQoKSA6IG9wdGlvbnMuZ2V0KGdsb2JhbE9iamVj
dCwgdm0ucHJvcGVydHlOYW1lcy0+Y2F1c2UpOwotICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2Nv
cGUsIG51bGxwdHIpOwotCi0gICAgcmV0dXJuIGNyZWF0ZShnbG9iYWxPYmplY3QsIHZtLCBzdHJ1
Y3R1cmUsIG1lc3NhZ2VTdHJpbmcsIGNhdXNlLCBhcHBlbmRlciwgdHlwZSwgZXJyb3JUeXBlLCB1
c2VDdXJyZW50RnJhbWUpOworICAgIHJldHVybiBjcmVhdGUoZ2xvYmFsT2JqZWN0LCB2bSwgc3Ry
dWN0dXJlLCBtZXNzYWdlU3RyaW5nLCBvcHRpb25zLCBhcHBlbmRlciwgdHlwZSwgZXJyb3JUeXBl
LCB1c2VDdXJyZW50RnJhbWUpOwogfQogCiBzdGF0aWMgU3RyaW5nIGFwcGVuZFNvdXJjZVRvRXJy
b3JNZXNzYWdlKENhbGxGcmFtZSogY2FsbEZyYW1lLCBFcnJvckluc3RhbmNlKiBleGNlcHRpb24s
IEJ5dGVjb2RlSW5kZXggYnl0ZWNvZGVJbmRleCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlKQpAQCAt
MTEwLDEwICsxMDcsMTEgQEAgc3RhdGljIFN0cmluZyBhcHBlbmRTb3VyY2VUb0Vycm9yTWVzc2Fn
ZShDYWxsRnJhbWUqIGNhbGxGcmFtZSwgRXJyb3JJbnN0YW5jZSogZXgKICAgICByZXR1cm4gYXBw
ZW5kZXIobWVzc2FnZSwgY29kZUJsb2NrLT5zb3VyY2UoKS5wcm92aWRlcigpLT5nZXRSYW5nZShz
dGFydCwgc3RvcCkudG9TdHJpbmcoKSwgdHlwZSwgRXJyb3JJbnN0YW5jZTo6Rm91bmRBcHByb3hp
bWF0ZVNvdXJjZSk7CiB9CiAKLXZvaWQgRXJyb3JJbnN0YW5jZTo6ZmluaXNoQ3JlYXRpb24oVk0m
IHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBjb25zdCBTdHJpbmcmIG1lc3NhZ2Us
IEpTVmFsdWUgY2F1c2UsIFNvdXJjZUFwcGVuZGVyIGFwcGVuZGVyLCBSdW50aW1lVHlwZSB0eXBl
LCBib29sIHVzZUN1cnJlbnRGcmFtZSkKK3ZvaWQgRXJyb3JJbnN0YW5jZTo6ZmluaXNoQ3JlYXRp
b24oVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBjb25zdCBTdHJpbmcmIG1l
c3NhZ2UsIEpTVmFsdWUgb3B0aW9ucywgU291cmNlQXBwZW5kZXIgYXBwZW5kZXIsIFJ1bnRpbWVU
eXBlIHR5cGUsIGJvb2wgdXNlQ3VycmVudEZyYW1lKQogewogICAgIEJhc2U6OmZpbmlzaENyZWF0
aW9uKHZtKTsKICAgICBBU1NFUlQoaW5oZXJpdHModm0sIGluZm8oKSkpOworICAgIGF1dG8gc2Nv
cGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKIAogICAgIG1fc291cmNlQXBwZW5kZXIgPSBh
cHBlbmRlcjsKICAgICBtX3J1bnRpbWVUeXBlRm9yQ2F1c2UgPSB0eXBlOwpAQCAtMTM3LDggKzEz
NSwxOSBAQCB2b2lkIEVycm9ySW5zdGFuY2U6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSwgSlNHbG9i
YWxPYmplY3QqIGdsb2JhbE9iamVjdCwgY29uc3QgUwogICAgIGlmICghbWVzc2FnZVdpdGhTb3Vy
Y2UuaXNOdWxsKCkpCiAgICAgICAgIHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+bWVz
c2FnZSwganNTdHJpbmcodm0sIG1lc3NhZ2VXaXRoU291cmNlKSwgc3RhdGljX2Nhc3Q8dW5zaWdu
ZWQ+KFByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSkpOwogCi0gICAgaWYgKCFjYXVzZS5pc1Vu
ZGVmaW5lZCgpKQotICAgICAgICBwdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPmNhdXNl
LCBjYXVzZSwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KFByb3BlcnR5QXR0cmlidXRlOjpEb250RW51
bSkpOworICAgIC8vIFNpbmNlIGB0aHJvdyB1bmRlZmluZWQ7YCBpcyB2YWxpZCwgdGhlIHNwZWMg
c3BlY2lhbGx5IHJlY29nbml6ZXMgdGhlIGNhc2Ugd2hlcmUgYGNhdXNlYCBpcyBhbiBleHBsaWNp
dCB1bmRlZmluZWQuCisgICAgaWYgKG9wdGlvbnMuaXNPYmplY3QoKSkgeworICAgICAgICBhdXRv
IG9iamVjdCA9IGFzT2JqZWN0KG9wdGlvbnMpOworICAgICAgICBhdXRvIGhhc1Byb3BlcnR5ID0g
b2JqZWN0LT5oYXNQcm9wZXJ0eShnbG9iYWxPYmplY3QsIHZtLnByb3BlcnR5TmFtZXMtPmNhdXNl
KTsKKyAgICAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgdm9pZCgpKTsKKworICAgICAg
ICBpZiAoaGFzUHJvcGVydHkpIHsKKyAgICAgICAgICAgIEpTVmFsdWUgY2F1c2UgPSBvYmplY3Qt
PmdldChnbG9iYWxPYmplY3QsIHZtLnByb3BlcnR5TmFtZXMtPmNhdXNlKTsKKyAgICAgICAgICAg
IFJFVFVSTl9JRl9FWENFUFRJT04oc2NvcGUsIHZvaWQoKSk7CisKKyAgICAgICAgICAgIHB1dERp
cmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+Y2F1c2UsIGNhdXNlLCBzdGF0aWNfY2FzdDx1bnNp
Z25lZD4oUHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKSk7CisgICAgICAgIH0KKyAgICB9CiB9
CiAKIC8vIEJhc2VkIG9uIEVycm9yUHJvdG90eXBlJ3MgZXJyb3JQcm90b0Z1bmNUb1N0cmluZygp
LCBidXQgaXMgbW9kaWZpZWQgdG8KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL0Vycm9ySW5zdGFuY2UuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Vy
cm9ySW5zdGFuY2UuaAppbmRleCA3ZDJlNjQzMjZhODFkYjZjNzcwYTQ2M2Q4Zjk2Mzc2NzNkZmIy
OTNiLi5kZWNhNzdkOGNhMDI5ZjI0MDZjYTczN2E5NGY4ZDU0ZTMxMmZiMmQxIDEwMDY0NAotLS0g
YS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9FcnJvckluc3RhbmNlLmgKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXJyb3JJbnN0YW5jZS5oCkBAIC01NCwxMCArNTQs
MTAgQEAgcHVibGljOgogICAgICAgICByZXR1cm4gU3RydWN0dXJlOjpjcmVhdGUodm0sIGdsb2Jh
bE9iamVjdCwgcHJvdG90eXBlLCBUeXBlSW5mbyhFcnJvckluc3RhbmNlVHlwZSwgU3RydWN0dXJl
RmxhZ3MpLCBpbmZvKCkpOwogICAgIH0KIAotICAgIHN0YXRpYyBFcnJvckluc3RhbmNlKiBjcmVh
dGUoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgVk0mIHZtLCBTdHJ1Y3R1cmUqIHN0cnVj
dHVyZSwgY29uc3QgU3RyaW5nJiBtZXNzYWdlLCBKU1ZhbHVlIGNhdXNlLCBTb3VyY2VBcHBlbmRl
ciBhcHBlbmRlciA9IG51bGxwdHIsIFJ1bnRpbWVUeXBlIHR5cGUgPSBUeXBlTm90aGluZywgRXJy
b3JUeXBlIGVycm9yVHlwZSA9IEVycm9yVHlwZTo6RXJyb3IsIGJvb2wgdXNlQ3VycmVudEZyYW1l
ID0gdHJ1ZSkKKyAgICBzdGF0aWMgRXJyb3JJbnN0YW5jZSogY3JlYXRlKEpTR2xvYmFsT2JqZWN0
KiBnbG9iYWxPYmplY3QsIFZNJiB2bSwgU3RydWN0dXJlKiBzdHJ1Y3R1cmUsIGNvbnN0IFN0cmlu
ZyYgbWVzc2FnZSwgSlNWYWx1ZSBvcHRpb25zLCBTb3VyY2VBcHBlbmRlciBhcHBlbmRlciA9IG51
bGxwdHIsIFJ1bnRpbWVUeXBlIHR5cGUgPSBUeXBlTm90aGluZywgRXJyb3JUeXBlIGVycm9yVHlw
ZSA9IEVycm9yVHlwZTo6RXJyb3IsIGJvb2wgdXNlQ3VycmVudEZyYW1lID0gdHJ1ZSkKICAgICB7
CiAgICAgICAgIEVycm9ySW5zdGFuY2UqIGluc3RhbmNlID0gbmV3IChOb3ROdWxsLCBhbGxvY2F0
ZUNlbGw8RXJyb3JJbnN0YW5jZT4odm0uaGVhcCkpIEVycm9ySW5zdGFuY2Uodm0sIHN0cnVjdHVy
ZSwgZXJyb3JUeXBlKTsKLSAgICAgICAgaW5zdGFuY2UtPmZpbmlzaENyZWF0aW9uKHZtLCBnbG9i
YWxPYmplY3QsIG1lc3NhZ2UsIGNhdXNlLCBhcHBlbmRlciwgdHlwZSwgdXNlQ3VycmVudEZyYW1l
KTsKKyAgICAgICAgaW5zdGFuY2UtPmZpbmlzaENyZWF0aW9uKHZtLCBnbG9iYWxPYmplY3QsIG1l
c3NhZ2UsIG9wdGlvbnMsIGFwcGVuZGVyLCB0eXBlLCB1c2VDdXJyZW50RnJhbWUpOwogICAgICAg
ICByZXR1cm4gaW5zdGFuY2U7CiAgICAgfQogCkBAIC05NCw3ICs5NCw3IEBAIHB1YmxpYzoKIHBy
b3RlY3RlZDoKICAgICBleHBsaWNpdCBFcnJvckluc3RhbmNlKFZNJiwgU3RydWN0dXJlKiwgRXJy
b3JUeXBlKTsKIAotICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mLCBKU0dsb2JhbE9iamVjdCos
IGNvbnN0IFN0cmluZyYgbWVzc2FnZSwgSlNWYWx1ZSBjYXVzZSwgU291cmNlQXBwZW5kZXIgPSBu
dWxscHRyLCBSdW50aW1lVHlwZSA9IFR5cGVOb3RoaW5nLCBib29sIHVzZUN1cnJlbnRGcmFtZSA9
IHRydWUpOworICAgIHZvaWQgZmluaXNoQ3JlYXRpb24oVk0mLCBKU0dsb2JhbE9iamVjdCosIGNv
bnN0IFN0cmluZyYgbWVzc2FnZSwgSlNWYWx1ZSBvcHRpb25zLCBTb3VyY2VBcHBlbmRlciA9IG51
bGxwdHIsIFJ1bnRpbWVUeXBlID0gVHlwZU5vdGhpbmcsIGJvb2wgdXNlQ3VycmVudEZyYW1lID0g
dHJ1ZSk7CiAKICAgICBzdGF0aWMgYm9vbCBnZXRPd25Qcm9wZXJ0eVNsb3QoSlNPYmplY3QqLCBK
U0dsb2JhbE9iamVjdCosIFByb3BlcnR5TmFtZSwgUHJvcGVydHlTbG90Jik7CiAgICAgc3RhdGlj
IHZvaWQgZ2V0T3duU3BlY2lhbFByb3BlcnR5TmFtZXMoSlNPYmplY3QqLCBKU0dsb2JhbE9iamVj
dCosIFByb3BlcnR5TmFtZUFycmF5JiwgRG9udEVudW1Qcm9wZXJ0aWVzTW9kZSk7CmRpZmYgLS1n
aXQgYS9KU1Rlc3RzL0NoYW5nZUxvZyBiL0pTVGVzdHMvQ2hhbmdlTG9nCmluZGV4IGVjNTA4NmIw
ZTAxNTgwN2UzMzkxMDhmMjI1MjM3MzhmZDM5MmI1ODkuLmVmOTAxYzgwNDlhZjhkOWUwNDkyZWIw
ZTM2ZTMyNDYxNmU3NDdjOTkgMTAwNjQ0Ci0tLSBhL0pTVGVzdHMvQ2hhbmdlTG9nCisrKyBiL0pT
VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMjEtMDUtMDcgIFJvc3MgS2lyc2xp
bmcgIDxyb3NzLmtpcnNsaW5nQHNvbnkuY29tPgorCisgICAgICAgIFtKU0NdIEVycm9yI2NhdXNl
IG11c3QgcmVjb2duaXplIGV4cGxpY2l0IHVuZGVmaW5lZAorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI1NTM1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB0ZXN0MjYyL2NvbmZpZy55YW1sOgorICAgICAg
ICBSZS1lbmFibGUgdGVzdHMgZm9yIHRoaXMgZmVhdHVyZTsgdGhleSB3ZXJlIGFsbCBmYWlsaW5n
IGR1ZSB0byB0aGlzIHF1aXJrLgorCiAyMDIxLTA1LTA3ICBSb3NzIEtpcnNsaW5nICA8cm9zcy5r
aXJzbGluZ0Bzb255LmNvbT4KIAogICAgICAgICBVcGRhdGUgdGVzdDI2MiAoMjAyMS4wNS4wNykK
ZGlmZiAtLWdpdCBhL0pTVGVzdHMvdGVzdDI2Mi9jb25maWcueWFtbCBiL0pTVGVzdHMvdGVzdDI2
Mi9jb25maWcueWFtbAppbmRleCA0YTNkOGNmODYxZmY3ZTljMTRhNTc2YTlkNjNiOWUyMzhiOTUz
MjJkLi5hNmJhMmFiMzhjMTcxMjAxYmNiYTk3NWQyNzE4Njc3NjM0NmQ0ZjgxIDEwMDY0NAotLS0g
YS9KU1Rlc3RzL3Rlc3QyNjIvY29uZmlnLnlhbWwKKysrIGIvSlNUZXN0cy90ZXN0MjYyL2NvbmZp
Zy55YW1sCkBAIC04LDYgKzgsNyBAQCBmbGFnczoKICAgY2xhc3Mtc3RhdGljLWZpZWxkcy1wdWJs
aWM6IHVzZVB1YmxpY1N0YXRpY0NsYXNzRmllbGRzCiAgIGNsYXNzLXN0YXRpYy1maWVsZHMtcHJp
dmF0ZTogdXNlUHJpdmF0ZVN0YXRpY0NsYXNzRmllbGRzCiAgIGNsYXNzLXN0YXRpYy1tZXRob2Rz
LXByaXZhdGU6IHVzZVByaXZhdGVNZXRob2RzCisgIGVycm9yLWNhdXNlOiB1c2VFcnJvckNhdXNl
CiAgIEludGwuRGF0ZVRpbWVGb3JtYXQtZGF5UGVyaW9kOiB1c2VJbnRsRGF0ZVRpbWVGb3JtYXRE
YXlQZXJpb2QKICAgU2hhcmVkQXJyYXlCdWZmZXI6IHVzZVNoYXJlZEFycmF5QnVmZmVyCiAgIEF0
b21pY3M6IHVzZVNoYXJlZEFycmF5QnVmZmVyCkBAIC0yNCw4ICsyNSw2IEBAIHNraXA6CiAgICAg
LSBjbGVhbnVwU29tZQogICAgICMgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTIyMTA5MwogICAgIC0gY2xhc3MtZmllbGRzLXByaXZhdGUtaW4KLSAgICAjIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjU1MzUKLSAgICAtIGVycm9yLWNhdXNl
CiAgIHBhdGhzOgogICBmaWxlczoKICAgICAjIFNsaWdodGx5IGRpZmZlcmVudCBmb3JtYXR0aW5n
LiBXZSBzaG91bGQgdXBkYXRlIHRlc3QyNjIgc2lkZS4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>428063</attachid>
            <date>2021-05-07 17:10:38 -0700</date>
            <delta_ts>2021-05-07 18:26:40 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-225535-20210507171036.patch</filename>
            <type>text/plain</type>
            <size>9893</size>
            <attacher name="Ross Kirsling">ross.kirsling</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc3MTk3CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBh
M2ZmODhlZTRiZjkyNmVhMjIyODMxNzA3NzA4Y2VjNTRhNmYyNjdhLi5hZmNhYWI0ODliZDAxZDg4
NDZhMjM3YjY5YzBhNjRhYzUwYjI3ODVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyNyBAQAorMjAyMS0wNS0wNyAgUm9zcyBLaXJzbGluZyAgPHJvc3Mua2lyc2xpbmdAc29u
eS5jb20+CisKKyAgICAgICAgW0pTQ10gRXJyb3IjY2F1c2UgbXVzdCByZWNvZ25pemUgZXhwbGlj
aXQgdW5kZWZpbmVkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMjU1MzUKKworICAgICAgICBSZXZpZXdlZCBieSBBbGV4ZXkgU2h2YXlrYS4KKworICAg
ICAgICBFcnJvciNjYXVzZSBpcyBzcGVjaWZpZWQgc3VjaCB0aGF0IGBuZXcgRXJyb3IobWVzc2Fn
ZSwge30pYCBhbmQgYG5ldyBFcnJvcihtZXNzYWdlLCB7IGNhdXNlOiB1bmRlZmluZWQgfSlgCisg
ICAgICAgIGFyZSBub3QgdGhlIHNhbWUgLS0gbmFtZWx5LCB0aGUgbGF0dGVyIHNob3VsZCBjcmVh
dGUgYSBwcm9wZXJ0eSBkZXNjcmlwdG9yIHdpdGggYW4gdW5kZWZpbmVkIGB2YWx1ZWAuCisKKyAg
ICAgICAgVGhpcyB3b3VsZCBzZWVtIGFic3VyZCwgYnV0IHRoZSByZWFzb24gaXMgYmVjYXVzZSB0
aGUgYGNhdXNlYCBmaWVsZCBpcyBtZWFudCB0byBzdG9yZSBhIHRocm93biBvYmplY3QsCisgICAg
ICAgIGFuZCBgdGhyb3cgdW5kZWZpbmVkO2AgaXMgdmFsaWQgY29kZS4KKworICAgICAgICBJbiBh
bGlnbmluZyBvdXIgaW1wbGVtZW50YXRpb24gd2l0aCB0aGUgc3BlYywgdGhpcyBwYXRjaCBhbHNv
IGNvbnNvbGlkYXRlcyB0aGUgcmVsZXZhbnQgbG9naWMgaW4gb25lIHBsYWNlCisgICAgICAgIChF
cnJvckluc3RhbmNlOjpmaW5pc2hDcmVhdGlvbikgdG8gbWluaW1pemUgY29uZnVzaW9uLgorCisg
ICAgICAgICogcnVudGltZS9BZ2dyZWdhdGVFcnJvci5jcHA6CisgICAgICAgIChKU0M6OmNyZWF0
ZUFnZ3JlZ2F0ZUVycm9yKToKKyAgICAgICAgKiBydW50aW1lL0Vycm9ySW5zdGFuY2UuY3BwOgor
ICAgICAgICAoSlNDOjpFcnJvckluc3RhbmNlOjpjcmVhdGUpOgorICAgICAgICAoSlNDOjpFcnJv
ckluc3RhbmNlOjpmaW5pc2hDcmVhdGlvbik6CisgICAgICAgICogcnVudGltZS9FcnJvckluc3Rh
bmNlLmg6CisgICAgICAgIChKU0M6OkVycm9ySW5zdGFuY2U6OmNyZWF0ZSk6CisKIDIwMjEtMDUt
MDYgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBQb3J0IEZpbGVz
eXN0ZW06OmZpbGVNZXRhZGF0YSgpICYgRmlsZXN5c3RlbTo6Z2V0RmlsZU1vZGlmaWNhdGlvblRp
bWUoKSB0byBzdGQ6OmZpbGVzeXN0ZW0KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ydW50aW1lL0FnZ3JlZ2F0ZUVycm9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL0FnZ3JlZ2F0ZUVycm9yLmNwcAppbmRleCBkOGMxM2I3NjcxOWI3OWEwMTJkM2VlYjJjZmE3
YjlmMmI5YTFkMmZhLi4wYmJkNjJiODcxNWI2NTg4NmNiZmE4YTk0ZTRhNGFiMmFjYmY3ODAyIDEw
MDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9BZ2dyZWdhdGVFcnJvci5j
cHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvQWdncmVnYXRlRXJyb3IuY3Bw
CkBAIC0zNywxMiArMzcsNiBAQCBFcnJvckluc3RhbmNlKiBjcmVhdGVBZ2dyZWdhdGVFcnJvcihK
U0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBWTSYgdm0sIFN0cnVjdAogewogICAgIGF1dG8g
c2NvcGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKIAotICAgIFN0cmluZyBtZXNzYWdlU3Ry
aW5nID0gbWVzc2FnZS5pc1VuZGVmaW5lZCgpID8gU3RyaW5nKCkgOiBtZXNzYWdlLnRvV1RGU3Ry
aW5nKGdsb2JhbE9iamVjdCk7Ci0gICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgbnVsbHB0
cik7Ci0KLSAgICBKU1ZhbHVlIGNhdXNlID0gIW9wdGlvbnMuaXNPYmplY3QoKSA/IGpzVW5kZWZp
bmVkKCkgOiBvcHRpb25zLmdldChnbG9iYWxPYmplY3QsIHZtLnByb3BlcnR5TmFtZXMtPmNhdXNl
KTsKLSAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCBudWxscHRyKTsKLQogICAgIE1hcmtl
ZEFyZ3VtZW50QnVmZmVyIGVycm9yc0xpc3Q7CiAgICAgZm9yRWFjaEluSXRlcmFibGUoZ2xvYmFs
T2JqZWN0LCBlcnJvcnMsIFsmXSAoVk0mLCBKU0dsb2JhbE9iamVjdCosIEpTVmFsdWUgbmV4dFZh
bHVlKSB7CiAgICAgICAgIGVycm9yc0xpc3QuYXBwZW5kKG5leHRWYWx1ZSk7CkBAIC01NCw3ICs0
OCw3IEBAIEVycm9ySW5zdGFuY2UqIGNyZWF0ZUFnZ3JlZ2F0ZUVycm9yKEpTR2xvYmFsT2JqZWN0
KiBnbG9iYWxPYmplY3QsIFZNJiB2bSwgU3RydWN0CiAgICAgYXV0byogYXJyYXkgPSBjb25zdHJ1
Y3RBcnJheShnbG9iYWxPYmplY3QsIHN0YXRpY19jYXN0PEFycmF5QWxsb2NhdGlvblByb2ZpbGUq
PihudWxscHRyKSwgZXJyb3JzTGlzdCk7CiAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwg
bnVsbHB0cik7CiAKLSAgICBhdXRvKiBlcnJvciA9IEVycm9ySW5zdGFuY2U6OmNyZWF0ZShnbG9i
YWxPYmplY3QsIHZtLCBzdHJ1Y3R1cmUsIG1lc3NhZ2VTdHJpbmcsIGNhdXNlLCBhcHBlbmRlciwg
dHlwZSwgRXJyb3JUeXBlOjpBZ2dyZWdhdGVFcnJvciwgdXNlQ3VycmVudEZyYW1lKTsKKyAgICBh
dXRvKiBlcnJvciA9IEVycm9ySW5zdGFuY2U6OmNyZWF0ZShnbG9iYWxPYmplY3QsIHN0cnVjdHVy
ZSwgbWVzc2FnZSwgb3B0aW9ucywgYXBwZW5kZXIsIHR5cGUsIEVycm9yVHlwZTo6QWdncmVnYXRl
RXJyb3IsIHVzZUN1cnJlbnRGcmFtZSk7CiAgICAgZXJyb3ItPnB1dERpcmVjdCh2bSwgdm0ucHJv
cGVydHlOYW1lcy0+ZXJyb3JzLCBhcnJheSwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KFByb3BlcnR5
QXR0cmlidXRlOjpEb250RW51bSkpOwogICAgIHJldHVybiBlcnJvcjsKIH0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Vycm9ySW5zdGFuY2UuY3BwIGIvU291cmNl
L0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXJyb3JJbnN0YW5jZS5jcHAKaW5kZXggZmM5MDRhMzZm
ZjUzOGUxYWYyYWQzZTM2MzQ0NzA5OGNkNzEzYWZmNC4uZDBkMDQwNjg0ZjgzYjE1NmNmODVlN2M2
NmRjOGJmOWQwZDM4Mjg4NCAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvRXJyb3JJbnN0YW5jZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUv
RXJyb3JJbnN0YW5jZS5jcHAKQEAgLTUyLDEwICs1Miw3IEBAIEVycm9ySW5zdGFuY2UqIEVycm9y
SW5zdGFuY2U6OmNyZWF0ZShKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBTdHJ1Y3R1cmUq
IHN0CiAgICAgU3RyaW5nIG1lc3NhZ2VTdHJpbmcgPSBtZXNzYWdlLmlzVW5kZWZpbmVkKCkgPyBT
dHJpbmcoKSA6IG1lc3NhZ2UudG9XVEZTdHJpbmcoZ2xvYmFsT2JqZWN0KTsKICAgICBSRVRVUk5f
SUZfRVhDRVBUSU9OKHNjb3BlLCBudWxscHRyKTsKIAotICAgIEpTVmFsdWUgY2F1c2UgPSAhb3B0
aW9ucy5pc09iamVjdCgpID8ganNVbmRlZmluZWQoKSA6IG9wdGlvbnMuZ2V0KGdsb2JhbE9iamVj
dCwgdm0ucHJvcGVydHlOYW1lcy0+Y2F1c2UpOwotICAgIFJFVFVSTl9JRl9FWENFUFRJT04oc2Nv
cGUsIG51bGxwdHIpOwotCi0gICAgcmV0dXJuIGNyZWF0ZShnbG9iYWxPYmplY3QsIHZtLCBzdHJ1
Y3R1cmUsIG1lc3NhZ2VTdHJpbmcsIGNhdXNlLCBhcHBlbmRlciwgdHlwZSwgZXJyb3JUeXBlLCB1
c2VDdXJyZW50RnJhbWUpOworICAgIHJldHVybiBjcmVhdGUoZ2xvYmFsT2JqZWN0LCB2bSwgc3Ry
dWN0dXJlLCBtZXNzYWdlU3RyaW5nLCBvcHRpb25zLCBhcHBlbmRlciwgdHlwZSwgZXJyb3JUeXBl
LCB1c2VDdXJyZW50RnJhbWUpOwogfQogCiBzdGF0aWMgU3RyaW5nIGFwcGVuZFNvdXJjZVRvRXJy
b3JNZXNzYWdlKENhbGxGcmFtZSogY2FsbEZyYW1lLCBFcnJvckluc3RhbmNlKiBleGNlcHRpb24s
IEJ5dGVjb2RlSW5kZXggYnl0ZWNvZGVJbmRleCwgY29uc3QgU3RyaW5nJiBtZXNzYWdlKQpAQCAt
MTEwLDEwICsxMDcsMTEgQEAgc3RhdGljIFN0cmluZyBhcHBlbmRTb3VyY2VUb0Vycm9yTWVzc2Fn
ZShDYWxsRnJhbWUqIGNhbGxGcmFtZSwgRXJyb3JJbnN0YW5jZSogZXgKICAgICByZXR1cm4gYXBw
ZW5kZXIobWVzc2FnZSwgY29kZUJsb2NrLT5zb3VyY2UoKS5wcm92aWRlcigpLT5nZXRSYW5nZShz
dGFydCwgc3RvcCkudG9TdHJpbmcoKSwgdHlwZSwgRXJyb3JJbnN0YW5jZTo6Rm91bmRBcHByb3hp
bWF0ZVNvdXJjZSk7CiB9CiAKLXZvaWQgRXJyb3JJbnN0YW5jZTo6ZmluaXNoQ3JlYXRpb24oVk0m
IHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBjb25zdCBTdHJpbmcmIG1lc3NhZ2Us
IEpTVmFsdWUgY2F1c2UsIFNvdXJjZUFwcGVuZGVyIGFwcGVuZGVyLCBSdW50aW1lVHlwZSB0eXBl
LCBib29sIHVzZUN1cnJlbnRGcmFtZSkKK3ZvaWQgRXJyb3JJbnN0YW5jZTo6ZmluaXNoQ3JlYXRp
b24oVk0mIHZtLCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBjb25zdCBTdHJpbmcmIG1l
c3NhZ2UsIEpTVmFsdWUgb3B0aW9ucywgU291cmNlQXBwZW5kZXIgYXBwZW5kZXIsIFJ1bnRpbWVU
eXBlIHR5cGUsIGJvb2wgdXNlQ3VycmVudEZyYW1lKQogewogICAgIEJhc2U6OmZpbmlzaENyZWF0
aW9uKHZtKTsKICAgICBBU1NFUlQoaW5oZXJpdHModm0sIGluZm8oKSkpOworICAgIGF1dG8gc2Nv
cGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKIAogICAgIG1fc291cmNlQXBwZW5kZXIgPSBh
cHBlbmRlcjsKICAgICBtX3J1bnRpbWVUeXBlRm9yQ2F1c2UgPSB0eXBlOwpAQCAtMTM3LDggKzEz
NSwyMyBAQCB2b2lkIEVycm9ySW5zdGFuY2U6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSwgSlNHbG9i
YWxPYmplY3QqIGdsb2JhbE9iamVjdCwgY29uc3QgUwogICAgIGlmICghbWVzc2FnZVdpdGhTb3Vy
Y2UuaXNOdWxsKCkpCiAgICAgICAgIHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+bWVz
c2FnZSwganNTdHJpbmcodm0sIG1lc3NhZ2VXaXRoU291cmNlKSwgc3RhdGljX2Nhc3Q8dW5zaWdu
ZWQ+KFByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSkpOwogCi0gICAgaWYgKCFjYXVzZS5pc1Vu
ZGVmaW5lZCgpKQotICAgICAgICBwdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPmNhdXNl
LCBjYXVzZSwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KFByb3BlcnR5QXR0cmlidXRlOjpEb250RW51
bSkpOworICAgIC8vIFNpbmNlIGB0aHJvdyB1bmRlZmluZWQ7YCBpcyB2YWxpZCwgdGhlIHNwZWMg
c3BlY2lhbGx5IHJlY29nbml6ZXMgdGhlIGNhc2Ugd2hlcmUgYGNhdXNlYCBpcyBhbiBleHBsaWNp
dCB1bmRlZmluZWQuCisgICAgaWYgKG9wdGlvbnMuaXNPYmplY3QoKSkgeworICAgICAgICBhdXRv
IG9iamVjdCA9IGFzT2JqZWN0KG9wdGlvbnMpOworCisgICAgICAgIFByb3BlcnR5U2xvdCBzbG90
KG9iamVjdCwgUHJvcGVydHlTbG90OjpJbnRlcm5hbE1ldGhvZFR5cGU6Okhhc1Byb3BlcnR5KTsK
KyAgICAgICAgYm9vbCBoYXNQcm9wZXJ0eSA9IG9iamVjdC0+Z2V0UHJvcGVydHlTbG90KGdsb2Jh
bE9iamVjdCwgdm0ucHJvcGVydHlOYW1lcy0+Y2F1c2UsIHNsb3QpOworICAgICAgICBSRVRVUk5f
SUZfRVhDRVBUSU9OKHNjb3BlLCB2b2lkKCkpOworCisgICAgICAgIGlmIChoYXNQcm9wZXJ0eSkg
eworICAgICAgICAgICAgSlNWYWx1ZSBjYXVzZSA9IFVOTElLRUxZKHNsb3QuaXNUYWludGVkQnlP
cGFxdWVPYmplY3QoKSkKKyAgICAgICAgICAgICAgICA/IG9iamVjdC0+Z2V0KGdsb2JhbE9iamVj
dCwgdm0ucHJvcGVydHlOYW1lcy0+Y2F1c2UpCisgICAgICAgICAgICAgICAgOiBzbG90LmdldFZh
bHVlKGdsb2JhbE9iamVjdCwgdm0ucHJvcGVydHlOYW1lcy0+Y2F1c2UpOworICAgICAgICAgICAg
UkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgdm9pZCgpKTsKKworICAgICAgICAgICAgcHV0RGly
ZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5jYXVzZSwgY2F1c2UsIHN0YXRpY19jYXN0PHVuc2ln
bmVkPihQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pKTsKKyAgICAgICAgfQorICAgIH0KIH0K
IAogLy8gQmFzZWQgb24gRXJyb3JQcm90b3R5cGUncyBlcnJvclByb3RvRnVuY1RvU3RyaW5nKCks
IGJ1dCBpcyBtb2RpZmllZCB0bwpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1
bnRpbWUvRXJyb3JJbnN0YW5jZS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvRXJy
b3JJbnN0YW5jZS5oCmluZGV4IDdkMmU2NDMyNmE4MWRiNmM3NzBhNDYzZDhmOTYzNzY3M2RmYjI5
M2IuLmRlY2E3N2Q4Y2EwMjlmMjQwNmNhNzM3YTk0ZjhkNTRlMzEyZmIyZDEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0Vycm9ySW5zdGFuY2UuaAorKysgYi9Tb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9FcnJvckluc3RhbmNlLmgKQEAgLTU0LDEwICs1NCwx
MCBAQCBwdWJsaWM6CiAgICAgICAgIHJldHVybiBTdHJ1Y3R1cmU6OmNyZWF0ZSh2bSwgZ2xvYmFs
T2JqZWN0LCBwcm90b3R5cGUsIFR5cGVJbmZvKEVycm9ySW5zdGFuY2VUeXBlLCBTdHJ1Y3R1cmVG
bGFncyksIGluZm8oKSk7CiAgICAgfQogCi0gICAgc3RhdGljIEVycm9ySW5zdGFuY2UqIGNyZWF0
ZShKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBWTSYgdm0sIFN0cnVjdHVyZSogc3RydWN0
dXJlLCBjb25zdCBTdHJpbmcmIG1lc3NhZ2UsIEpTVmFsdWUgY2F1c2UsIFNvdXJjZUFwcGVuZGVy
IGFwcGVuZGVyID0gbnVsbHB0ciwgUnVudGltZVR5cGUgdHlwZSA9IFR5cGVOb3RoaW5nLCBFcnJv
clR5cGUgZXJyb3JUeXBlID0gRXJyb3JUeXBlOjpFcnJvciwgYm9vbCB1c2VDdXJyZW50RnJhbWUg
PSB0cnVlKQorICAgIHN0YXRpYyBFcnJvckluc3RhbmNlKiBjcmVhdGUoSlNHbG9iYWxPYmplY3Qq
IGdsb2JhbE9iamVjdCwgVk0mIHZtLCBTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgY29uc3QgU3RyaW5n
JiBtZXNzYWdlLCBKU1ZhbHVlIG9wdGlvbnMsIFNvdXJjZUFwcGVuZGVyIGFwcGVuZGVyID0gbnVs
bHB0ciwgUnVudGltZVR5cGUgdHlwZSA9IFR5cGVOb3RoaW5nLCBFcnJvclR5cGUgZXJyb3JUeXBl
ID0gRXJyb3JUeXBlOjpFcnJvciwgYm9vbCB1c2VDdXJyZW50RnJhbWUgPSB0cnVlKQogICAgIHsK
ICAgICAgICAgRXJyb3JJbnN0YW5jZSogaW5zdGFuY2UgPSBuZXcgKE5vdE51bGwsIGFsbG9jYXRl
Q2VsbDxFcnJvckluc3RhbmNlPih2bS5oZWFwKSkgRXJyb3JJbnN0YW5jZSh2bSwgc3RydWN0dXJl
LCBlcnJvclR5cGUpOwotICAgICAgICBpbnN0YW5jZS0+ZmluaXNoQ3JlYXRpb24odm0sIGdsb2Jh
bE9iamVjdCwgbWVzc2FnZSwgY2F1c2UsIGFwcGVuZGVyLCB0eXBlLCB1c2VDdXJyZW50RnJhbWUp
OworICAgICAgICBpbnN0YW5jZS0+ZmluaXNoQ3JlYXRpb24odm0sIGdsb2JhbE9iamVjdCwgbWVz
c2FnZSwgb3B0aW9ucywgYXBwZW5kZXIsIHR5cGUsIHVzZUN1cnJlbnRGcmFtZSk7CiAgICAgICAg
IHJldHVybiBpbnN0YW5jZTsKICAgICB9CiAKQEAgLTk0LDcgKzk0LDcgQEAgcHVibGljOgogcHJv
dGVjdGVkOgogICAgIGV4cGxpY2l0IEVycm9ySW5zdGFuY2UoVk0mLCBTdHJ1Y3R1cmUqLCBFcnJv
clR5cGUpOwogCi0gICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYsIEpTR2xvYmFsT2JqZWN0Kiwg
Y29uc3QgU3RyaW5nJiBtZXNzYWdlLCBKU1ZhbHVlIGNhdXNlLCBTb3VyY2VBcHBlbmRlciA9IG51
bGxwdHIsIFJ1bnRpbWVUeXBlID0gVHlwZU5vdGhpbmcsIGJvb2wgdXNlQ3VycmVudEZyYW1lID0g
dHJ1ZSk7CisgICAgdm9pZCBmaW5pc2hDcmVhdGlvbihWTSYsIEpTR2xvYmFsT2JqZWN0KiwgY29u
c3QgU3RyaW5nJiBtZXNzYWdlLCBKU1ZhbHVlIG9wdGlvbnMsIFNvdXJjZUFwcGVuZGVyID0gbnVs
bHB0ciwgUnVudGltZVR5cGUgPSBUeXBlTm90aGluZywgYm9vbCB1c2VDdXJyZW50RnJhbWUgPSB0
cnVlKTsKIAogICAgIHN0YXRpYyBib29sIGdldE93blByb3BlcnR5U2xvdChKU09iamVjdCosIEpT
R2xvYmFsT2JqZWN0KiwgUHJvcGVydHlOYW1lLCBQcm9wZXJ0eVNsb3QmKTsKICAgICBzdGF0aWMg
dm9pZCBnZXRPd25TcGVjaWFsUHJvcGVydHlOYW1lcyhKU09iamVjdCosIEpTR2xvYmFsT2JqZWN0
KiwgUHJvcGVydHlOYW1lQXJyYXkmLCBEb250RW51bVByb3BlcnRpZXNNb2RlKTsKZGlmZiAtLWdp
dCBhL0pTVGVzdHMvQ2hhbmdlTG9nIGIvSlNUZXN0cy9DaGFuZ2VMb2cKaW5kZXggZWM1MDg2YjBl
MDE1ODA3ZTMzOTEwOGYyMjUyMzczOGZkMzkyYjU4OS4uOGQzOWRiMzQ2MzAwZDQ3ZDljNTZmNDhk
YTA3OWY5ZmY4Mzg0YmEzYyAxMDA2NDQKLS0tIGEvSlNUZXN0cy9DaGFuZ2VMb2cKKysrIGIvSlNU
ZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAyMS0wNS0wNyAgUm9zcyBLaXJzbGlu
ZyAgPHJvc3Mua2lyc2xpbmdAc29ueS5jb20+CisKKyAgICAgICAgW0pTQ10gRXJyb3IjY2F1c2Ug
bXVzdCByZWNvZ25pemUgZXhwbGljaXQgdW5kZWZpbmVkCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjU1MzUKKworICAgICAgICBSZXZpZXdlZCBieSBB
bGV4ZXkgU2h2YXlrYS4KKworICAgICAgICAqIHRlc3QyNjIvY29uZmlnLnlhbWw6CisgICAgICAg
IFJlLWVuYWJsZSB0ZXN0cyBmb3IgdGhpcyBmZWF0dXJlOyB0aGV5IHdlcmUgYWxsIGZhaWxpbmcg
ZHVlIHRvIHRoaXMgcXVpcmsuCisKIDIwMjEtMDUtMDcgIFJvc3MgS2lyc2xpbmcgIDxyb3NzLmtp
cnNsaW5nQHNvbnkuY29tPgogCiAgICAgICAgIFVwZGF0ZSB0ZXN0MjYyICgyMDIxLjA1LjA3KQpk
aWZmIC0tZ2l0IGEvSlNUZXN0cy90ZXN0MjYyL2NvbmZpZy55YW1sIGIvSlNUZXN0cy90ZXN0MjYy
L2NvbmZpZy55YW1sCmluZGV4IDRhM2Q4Y2Y4NjFmZjdlOWMxNGE1NzZhOWQ2M2I5ZTIzOGI5NTMy
MmQuLmE2YmEyYWIzOGMxNzEyMDFiY2JhOTc1ZDI3MTg2Nzc2MzQ2ZDRmODEgMTAwNjQ0Ci0tLSBh
L0pTVGVzdHMvdGVzdDI2Mi9jb25maWcueWFtbAorKysgYi9KU1Rlc3RzL3Rlc3QyNjIvY29uZmln
LnlhbWwKQEAgLTgsNiArOCw3IEBAIGZsYWdzOgogICBjbGFzcy1zdGF0aWMtZmllbGRzLXB1Ymxp
YzogdXNlUHVibGljU3RhdGljQ2xhc3NGaWVsZHMKICAgY2xhc3Mtc3RhdGljLWZpZWxkcy1wcml2
YXRlOiB1c2VQcml2YXRlU3RhdGljQ2xhc3NGaWVsZHMKICAgY2xhc3Mtc3RhdGljLW1ldGhvZHMt
cHJpdmF0ZTogdXNlUHJpdmF0ZU1ldGhvZHMKKyAgZXJyb3ItY2F1c2U6IHVzZUVycm9yQ2F1c2UK
ICAgSW50bC5EYXRlVGltZUZvcm1hdC1kYXlQZXJpb2Q6IHVzZUludGxEYXRlVGltZUZvcm1hdERh
eVBlcmlvZAogICBTaGFyZWRBcnJheUJ1ZmZlcjogdXNlU2hhcmVkQXJyYXlCdWZmZXIKICAgQXRv
bWljczogdXNlU2hhcmVkQXJyYXlCdWZmZXIKQEAgLTI0LDggKzI1LDYgQEAgc2tpcDoKICAgICAt
IGNsZWFudXBTb21lCiAgICAgIyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjIxMDkzCiAgICAgLSBjbGFzcy1maWVsZHMtcHJpdmF0ZS1pbgotICAgICMgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNTUzNQotICAgIC0gZXJyb3ItY2F1c2UK
ICAgcGF0aHM6CiAgIGZpbGVzOgogICAgICMgU2xpZ2h0bHkgZGlmZmVyZW50IGZvcm1hdHRpbmcu
IFdlIHNob3VsZCB1cGRhdGUgdGVzdDI2MiBzaWRlLgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>