<?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>181416</bug_id>
          
          <creation_ts>2018-01-08 16:48:05 -0800</creation_ts>
          <short_desc>We should not return undefined for most properties of a detached Window</short_desc>
          <delta_ts>2018-01-09 19:31:35 -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>DOM</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="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>cdumez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>ggaren</cc>
    
    <cc>rniwa</cc>
    
    <cc>sam</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>wstamper</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1386991</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-01-08 16:48:05 -0800</bug_when>
    <thetext>We should not return undefined for most properties on a detached Window. WebKit currently only exposes &quot;closed&quot; and &quot;close&quot; properties on detached / frameless windows. However, this does not match the HTML specification [1] or the behavior of Firefox and Chrome.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1386992</commentid>
    <comment_count>1</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-01-08 16:48:20 -0800</bug_when>
    <thetext>&lt;rdar://problem/36162489&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1386996</commentid>
    <comment_count>2</comment_count>
      <attachid>330756</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-01-08 16:55:35 -0800</bug_when>
    <thetext>Created attachment 330756
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1387305</commentid>
    <comment_count>3</comment_count>
      <attachid>330756</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-01-09 10:16:33 -0800</bug_when>
    <thetext>Comment on attachment 330756
Patch

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

&gt; LayoutTests/fast/frames/detached-frame-property.html:37
&gt; +    // Both Chrome and Firefox disagree with us and return a valid object.

I&apos;ll look into this in a follow-up.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1387316</commentid>
    <comment_count>4</comment_count>
      <attachid>330756</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2018-01-09 10:37:11 -0800</bug_when>
    <thetext>Comment on attachment 330756
Patch

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

&gt; LayoutTests/fast/frames/detached-frame-property-expected.txt:16
&gt; +PASS !detachedWindow.navigator is true

How about detachedWindow.location?
Is it null? If it&apos;s not null, what happens when you try to navigate?

How about other methods like alert, confirm, etc...?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1387321</commentid>
    <comment_count>5</comment_count>
      <attachid>330756</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-01-09 10:43:54 -0800</bug_when>
    <thetext>Comment on attachment 330756
Patch

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

&gt;&gt; LayoutTests/fast/frames/detached-frame-property-expected.txt:16
&gt;&gt; +PASS !detachedWindow.navigator is true
&gt; 
&gt; How about detachedWindow.location?
&gt; Is it null? If it&apos;s not null, what happens when you try to navigate?
&gt; 
&gt; How about other methods like alert, confirm, etc...?

Location is tested below and is null. This is not as per spec and does not match other browsers (which keep returning the location object). I will look into returning a valid object for location in a follow-up as I already commented below.

Note that we do not allow anything new here, you could already store frame.contentWindow or frame.contentWindow.location or (or other window properties) in a local variable, then detach the frame, then use that local variable. Therefore, we already deal with these objects being used without a frame.

In the case of window.alert / confirm, they return early when m_frame is null. As I said, we already handle this fine because JS could already call these operations on a frameless window by simply storing the operation in a local variable, then detached the frame and call the operation on the frameless window.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1387328</commentid>
    <comment_count>6</comment_count>
      <attachid>330756</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2018-01-09 10:53:56 -0800</bug_when>
    <thetext>Comment on attachment 330756
Patch

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

&gt;&gt;&gt; LayoutTests/fast/frames/detached-frame-property-expected.txt:16
&gt;&gt;&gt; +PASS !detachedWindow.navigator is true
&gt;&gt; 
&gt;&gt; How about detachedWindow.location?
&gt;&gt; Is it null? If it&apos;s not null, what happens when you try to navigate?
&gt;&gt; 
&gt;&gt; How about other methods like alert, confirm, etc...?
&gt; 
&gt; Location is tested below and is null. This is not as per spec and does not match other browsers (which keep returning the location object). I will look into returning a valid object for location in a follow-up as I already commented below.
&gt; 
&gt; Note that we do not allow anything new here, you could already store frame.contentWindow or frame.contentWindow.location or (or other window properties) in a local variable, then detach the frame, then use that local variable. Therefore, we already deal with these objects being used without a frame.
&gt; 
&gt; In the case of window.alert / confirm, they return early when m_frame is null. As I said, we already handle this fine because JS could already call these operations on a frameless window by simply storing the operation in a local variable, then detached the frame and call the operation on the frameless window.

E.g. window.alert on a detached window was already easy to achieve via:
window.alert.call(aDetachedWindow, &quot;test&quot;)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1387508</commentid>
    <comment_count>7</comment_count>
      <attachid>330756</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2018-01-09 18:55:52 -0800</bug_when>
    <thetext>Comment on attachment 330756
Patch

Sounds good to me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1387534</commentid>
    <comment_count>8</comment_count>
      <attachid>330756</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-01-09 19:31:33 -0800</bug_when>
    <thetext>Comment on attachment 330756
Patch

Clearing flags on attachment: 330756

Committed r226676: &lt;https://trac.webkit.org/changeset/226676&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1387535</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-01-09 19:31:35 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>330756</attachid>
            <date>2018-01-08 16:55:35 -0800</date>
            <delta_ts>2018-01-09 19:31:33 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-181416-20180108165534.patch</filename>
            <type>text/plain</type>
            <size>18491</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjI2NTI2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzE2MmZkN2ZhNzIwOGU4
ZTYwZWI0ZmU5YjliNzhmMDRiYmZkYmEwNy4uOTAxYWI5MGZjYzkzMzgwMTA0MTg5OTFiOTRjY2E2
OWI5NTVhNTdjZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDE4LTAxLTA4ICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAgV2Ugc2hvdWxkIG5vdCByZXR1
cm4gdW5kZWZpbmVkIGZvciBtb3N0IHByb3BlcnRpZXMgb2YgYSBkZXRhY2hlZCBXaW5kb3cKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4MTQxNgorICAg
ICAgICA8cmRhcjovL3Byb2JsZW0vMzYxNjI0ODk+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgV2Ugc2hvdWxkIG5vdCByZXR1cm4gdW5kZWZpbmVkIGZv
ciBtb3N0IHByb3BlcnRpZXMgb24gYSBkZXRhY2hlZCBXaW5kb3cuIFdlYktpdCBwcmV2aW91c2x5
IG9ubHkgZXhwb3NlZCAiY2xvc2VkIgorICAgICAgICBhbmQgImNsb3NlIiBwcm9wZXJ0aWVzIG9u
IGRldGFjaGVkIC8gZnJhbWVsZXNzIHdpbmRvd3MuIEhvd2V2ZXIsIHRoaXMgZG9lcyBub3QgbWF0
Y2ggdGhlIEhUTUwgc3BlY2lmaWNhdGlvbiBbMV0KKyAgICAgICAgb3IgdGhlIGJlaGF2aW9yIG9m
IEZpcmVmb3ggYW5kIENocm9tZS4KKworICAgICAgICBOb3RlIHRoYXQgQ2hyb21lIGRvZXMgbm90
IHNlZW0gdG8gZnVsbHkgZm9sbG93IHRoZSBIVE1MIHNwZWNpZmljYXRpb24gZWl0aGVyLCBpdCBz
ZWVtcyB0byB0cmVhdCBkZXRhY2hlZCB3aW5kb3dzCisgICAgICAgIHRoZSBzYW1lIHdheSBhcyBj
cm9zcy1vcmlnaW4gb25lcy4gQXMgYSByZXN1bHQsIGl0IG9ubHkgZXhwb3NlZCBwcm9wZXJ0aWVz
IHRoYXQgYXJlIHZpc2libGUgY3Jvc3Mtb3JpZ2luIHdoZW4KKyAgICAgICAgYSB3aW5kb3cgaXMg
ZGV0YWNoZWQgLyBmcmFtZWxlc3MuCisKKyAgICAgICAgWzFdIGh0dHBzOi8vaHRtbC5zcGVjLndo
YXR3Zy5vcmcvI3dpbmRvd3Byb3h5LWdldAorCisgICAgICAgIE5vIG5ldyB0ZXN0cywgdXBkYXRl
ZCBleGlzdGluZ3QgdGVzdHMuCisKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0N1
c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpqc0RPTVdpbmRvd0dldE93blByb3BlcnR5U2xv
dFJlc3RyaWN0ZWRBY2Nlc3MpOgorICAgICAgICAoV2ViQ29yZTo6SlNET01XaW5kb3c6OmdldE93
blByb3BlcnR5U2xvdCk6CisgICAgICAgIChXZWJDb3JlOjpKU0RPTVdpbmRvdzo6Z2V0T3duUHJv
cGVydHlTbG90QnlJbmRleCk6CisKIDIwMTgtMDEtMDggIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5A
YXBwbGUuY29tPgogCiAgICAgICAgIFN0b3AgZXhwb3NpbmcgZmV0Y2ggYW5kIGV4dGVuZGFibGUg
ZXZlbnRzIHRvIHdpbmRvdwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
SlNET01XaW5kb3dDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01X
aW5kb3dDdXN0b20uY3BwCmluZGV4IDYzZjA4MzlmNmIzNmJlODY0NDY2ODVhMzQzNWUzYzE1Yzc4
MjhhNDkuLjlhOTJkMTZjZWE1MDM4ODU0NGU5OGVkNGY5ZmI1NjNlNzNiNDYxNWMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93Q3VzdG9tLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0N1c3RvbS5jcHAKQEAgLTg1
LDI2ICs4NSw2IEBAIHN0YXRpYyBib29sIGpzRE9NV2luZG93R2V0T3duUHJvcGVydHlTbG90UmVz
dHJpY3RlZEFjY2VzcyhKU0RPTVdpbmRvdyogdGhpc09iamVjCiAKICAgICBhdXRvJiBidWlsdGlu
TmFtZXMgPSBzdGF0aWNfY2FzdDxKU1ZNQ2xpZW50RGF0YSo+KHZtLmNsaWVudERhdGEpLT5idWls
dGluTmFtZXMoKTsKIAotICAgIC8vIFdlIGRvbid0IHdhbnQgYW55IHByb3BlcnRpZXMgb3RoZXIg
dGhhbiAiY2xvc2UiIGFuZCAiY2xvc2VkIiBvbiBhIGZyYW1lbGVzcyB3aW5kb3cKLSAgICAvLyAo
aS5lLiBvbmUgd2hvc2UgcGFnZSBnb3QgY2xvc2VkLCBvciB3aG9zZSBpZnJhbWUgZ290IHJlbW92
ZWQpLgotICAgIC8vIEZJWE1FOiBUaGlzIGhhbmRsaW5nIGZvciBmcmFtZWxlc3Mgd2luZG93cyBk
dXBsaWNhdGVzIHNpbWlsYXIgYmVoYXZpb3VyIGZvciBjcm9zcy1vcmlnaW4KLSAgICAvLyBhY2Nl
c3MgYmVsb3c7IHdlIHNob3VsZCB0cnkgdG8gZmluZCBhIHdheSB0byBtZXJnZSB0aGUgdHdvLgot
ICAgIGlmICghZnJhbWUpIHsKLSAgICAgICAgaWYgKHByb3BlcnR5TmFtZSA9PSBidWlsdGluTmFt
ZXMuY2xvc2VkUHVibGljTmFtZSgpKSB7Ci0gICAgICAgICAgICBzbG90LnNldEN1c3RvbSh0aGlz
T2JqZWN0LCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IEpTQzo6UHJvcGVydHlB
dHRyaWJ1dGU6OkRvbnREZWxldGUgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSwg
anNET01XaW5kb3dDbG9zZWQpOwotICAgICAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgICAgIH0K
LSAgICAgICAgaWYgKHByb3BlcnR5TmFtZSA9PSBidWlsdGluTmFtZXMuY2xvc2VQdWJsaWNOYW1l
KCkpIHsKLSAgICAgICAgICAgIHNsb3Quc2V0Q3VzdG9tKHRoaXNPYmplY3QsIEpTQzo6UHJvcGVy
dHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udERlbGV0
ZSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtLCBub25DYWNoaW5nU3RhdGljRnVu
Y3Rpb25HZXR0ZXI8anNET01XaW5kb3dJbnN0YW5jZUZ1bmN0aW9uQ2xvc2UsIDA+KTsKLSAgICAg
ICAgICAgIHJldHVybiB0cnVlOwotICAgICAgICB9Ci0KLSAgICAgICAgLy8gRklYTUU6IFdlIHNo
b3VsZCBoYXZlIGEgbWVzc2FnZSBoZXJlIHRoYXQgZXhwbGFpbnMgd2h5IHRoZSBwcm9wZXJ0eSBh
Y2Nlc3MvZnVuY3Rpb24gY2FsbCB3YXMKLSAgICAgICAgLy8gbm90IGFsbG93ZWQuIAotICAgICAg
ICBzbG90LnNldFVuZGVmaW5lZCgpOwotICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICB9Ci0KICAg
ICAvLyBodHRwczovL2h0bWwuc3BlYy53aGF0d2cub3JnLyNjcm9zc29yaWdpbmdldG93bnByb3Bl
cnR5aGVscGVyLSgtbywtcC0pCiAgICAgaWYgKHByb3BlcnR5TmFtZSA9PSB2bS5wcm9wZXJ0eU5h
bWVzLT50b1N0cmluZ1RhZ1N5bWJvbCB8fCBwcm9wZXJ0eU5hbWUgPT0gdm0ucHJvcGVydHlOYW1l
cy0+aGFzSW5zdGFuY2VTeW1ib2wgfHwgcHJvcGVydHlOYW1lID09IHZtLnByb3BlcnR5TmFtZXMt
PmlzQ29uY2F0U3ByZWFkYWJsZVN5bWJvbCkgewogICAgICAgICBzbG90LnNldFZhbHVlKHRoaXNP
YmplY3QsIEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgSlNDOjpQcm9wZXJ0eUF0
dHJpYnV0ZTo6RG9udEVudW0sIGpzVW5kZWZpbmVkKCkpOwpAQCAtMTYyLDkgKzE0MiwxMSBAQCBz
dGF0aWMgYm9vbCBqc0RPTVdpbmRvd0dldE93blByb3BlcnR5U2xvdFJlc3RyaWN0ZWRBY2Nlc3Mo
SlNET01XaW5kb3cqIHRoaXNPYmplYwogICAgIC8vIG5vdCBtYXRjaCBJRSwgYnV0IHNvbWUgc2l0
ZXMgZW5kIHVwIG5hbWluZyBmcmFtZXMgdGhpbmdzIHRoYXQgY29uZmxpY3Qgd2l0aCB3aW5kb3cK
ICAgICAvLyBwcm9wZXJ0aWVzIHRoYXQgYXJlIGluIE1veiBidXQgbm90IElFLiBTaW5jZSB3ZSBo
YXZlIHNvbWUgb2YgdGhlc2UsIHdlIGhhdmUgdG8gZG8gaXQKICAgICAvLyB0aGUgTW96IHdheS4K
LSAgICBpZiAoYXV0byogc2NvcGVkQ2hpbGQgPSBmcmFtZS0+dHJlZSgpLnNjb3BlZENoaWxkKHBy
b3BlcnR5TmFtZVRvQXRvbWljU3RyaW5nKHByb3BlcnR5TmFtZSkpKSB7Ci0gICAgICAgIHNsb3Qu
c2V0VmFsdWUodGhpc09iamVjdCwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBK
U0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RGVsZXRlIHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0
ZTo6RG9udEVudW0sIHRvSlMoZXhlYywgc2NvcGVkQ2hpbGQtPmRvY3VtZW50KCktPmRvbVdpbmRv
dygpKSk7Ci0gICAgICAgIHJldHVybiB0cnVlOworICAgIGlmIChmcmFtZSkgeworICAgICAgICBp
ZiAoYXV0byogc2NvcGVkQ2hpbGQgPSBmcmFtZS0+dHJlZSgpLnNjb3BlZENoaWxkKHByb3BlcnR5
TmFtZVRvQXRvbWljU3RyaW5nKHByb3BlcnR5TmFtZSkpKSB7CisgICAgICAgICAgICBzbG90LnNl
dFZhbHVlKHRoaXNPYmplY3QsIEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgSlND
OjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udERlbGV0ZSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6
OkRvbnRFbnVtLCB0b0pTKGV4ZWMsIHNjb3BlZENoaWxkLT5kb2N1bWVudCgpLT5kb21XaW5kb3co
KSkpOworICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICAgIH0KICAgICB9CiAKICAgICB0
aHJvd1NlY3VyaXR5RXJyb3IoKmV4ZWMsIHNjb3BlLCBlcnJvck1lc3NhZ2UpOwpAQCAtMTg2LDkg
KzE2OCw5IEBAIGJvb2wgSlNET01XaW5kb3c6OmdldE93blByb3BlcnR5U2xvdChKU09iamVjdCog
b2JqZWN0LCBFeGVjU3RhdGUqIHN0YXRlLCBQcm9wZXJ0CiAgICAgYXV0byogdGhpc09iamVjdCA9
IGpzQ2FzdDxKU0RPTVdpbmRvdyo+KG9iamVjdCk7CiAgICAgYXV0byogZnJhbWUgPSB0aGlzT2Jq
ZWN0LT53cmFwcGVkKCkuZnJhbWUoKTsKIAotICAgIC8vIEhhbmQgb2ZmIGFsbCBjcm9zcy1kb21h
aW4vZnJhbWVsZXNzIGFjY2VzcyB0byBqc0RPTVdpbmRvd0dldE93blByb3BlcnR5U2xvdFJlc3Ry
aWN0ZWRBY2Nlc3MuCisgICAgLy8gSGFuZCBvZmYgYWxsIGNyb3NzLWRvbWFpbiBhY2Nlc3MgdG8g
anNET01XaW5kb3dHZXRPd25Qcm9wZXJ0eVNsb3RSZXN0cmljdGVkQWNjZXNzLgogICAgIFN0cmlu
ZyBlcnJvck1lc3NhZ2U7Ci0gICAgaWYgKCFmcmFtZSB8fCAhQmluZGluZ1NlY3VyaXR5OjpzaG91
bGRBbGxvd0FjY2Vzc1RvRE9NV2luZG93KCpzdGF0ZSwgdGhpc09iamVjdC0+d3JhcHBlZCgpLCBl
cnJvck1lc3NhZ2UpKQorICAgIGlmICghQmluZGluZ1NlY3VyaXR5OjpzaG91bGRBbGxvd0FjY2Vz
c1RvRE9NV2luZG93KCpzdGF0ZSwgdGhpc09iamVjdC0+d3JhcHBlZCgpLCBlcnJvck1lc3NhZ2Up
KQogICAgICAgICByZXR1cm4ganNET01XaW5kb3dHZXRPd25Qcm9wZXJ0eVNsb3RSZXN0cmljdGVk
QWNjZXNzKHRoaXNPYmplY3QsIGZyYW1lLCBzdGF0ZSwgcHJvcGVydHlOYW1lLCBzbG90LCBlcnJv
ck1lc3NhZ2UpOwogICAgIAogICAgIC8vIEZJWE1FOiB0aGlzIG5lZWQgbW9yZSBleHBsYW5hdGlv
bi4KQEAgLTIwMCw3ICsxODIsNyBAQCBib29sIEpTRE9NV2luZG93OjpnZXRPd25Qcm9wZXJ0eVNs
b3QoSlNPYmplY3QqIG9iamVjdCwgRXhlY1N0YXRlKiBzdGF0ZSwgUHJvcGVydAogICAgIGlmIChC
YXNlOjpnZXRPd25Qcm9wZXJ0eVNsb3QodGhpc09iamVjdCwgc3RhdGUsIHByb3BlcnR5TmFtZSwg
c2xvdCkpIHsKICAgICAgICAgLy8gRGV0ZWN0IHdoZW4gd2UncmUgZ2V0dGluZyB0aGUgcHJvcGVy
dHkgJ3Nob3dNb2RhbERpYWxvZycsIHRoaXMgaXMgZGlzYWJsZWQsIGFuZCBoYXMgaXRzIG9yaWdp
bmFsIHZhbHVlLgogICAgICAgICBib29sIGlzU2hvd01vZGFsRGlhbG9nQW5kU2hvdWxkSGlkZSA9
IHByb3BlcnR5TmFtZSA9PSBzdGF0aWNfY2FzdDxKU1ZNQ2xpZW50RGF0YSo+KHN0YXRlLT52bSgp
LmNsaWVudERhdGEpLT5idWlsdGluTmFtZXMoKS5zaG93TW9kYWxEaWFsb2dQdWJsaWNOYW1lKCkK
LSAgICAgICAgICAgICYmICFET01XaW5kb3c6OmNhblNob3dNb2RhbERpYWxvZygqZnJhbWUpCisg
ICAgICAgICAgICAmJiAoIWZyYW1lIHx8ICFET01XaW5kb3c6OmNhblNob3dNb2RhbERpYWxvZygq
ZnJhbWUpKQogICAgICAgICAgICAgJiYgc2xvdC5pc1ZhbHVlKCkgJiYgaXNIb3N0RnVuY3Rpb24o
c2xvdC5nZXRWYWx1ZShzdGF0ZSwgcHJvcGVydHlOYW1lKSwganNET01XaW5kb3dJbnN0YW5jZUZ1
bmN0aW9uU2hvd01vZGFsRGlhbG9nKTsKICAgICAgICAgLy8gVW5sZXNzIHdlJ3JlIGluIHRoZSBz
aG93TW9kYWxEaWFsb2cgc3BlY2lhbCBjYXNlLCB3ZSdyZSBkb25lLgogICAgICAgICBpZiAoIWlz
U2hvd01vZGFsRGlhbG9nQW5kU2hvdWxkSGlkZSkKQEAgLTIzOSw3ICsyMjEsNyBAQCBib29sIEpT
RE9NV2luZG93OjpnZXRPd25Qcm9wZXJ0eVNsb3RCeUluZGV4KEpTT2JqZWN0KiBvYmplY3QsIEV4
ZWNTdGF0ZSogc3RhdGUsCiAKICAgICAvLyBIYW5kIG9mZiBhbGwgY3Jvc3MtZG9tYWluL2ZyYW1l
bGVzcyBhY2Nlc3MgdG8ganNET01XaW5kb3dHZXRPd25Qcm9wZXJ0eVNsb3RSZXN0cmljdGVkQWNj
ZXNzLgogICAgIFN0cmluZyBlcnJvck1lc3NhZ2U7Ci0gICAgaWYgKCFmcmFtZSB8fCAhQmluZGlu
Z1NlY3VyaXR5OjpzaG91bGRBbGxvd0FjY2Vzc1RvRE9NV2luZG93KCpzdGF0ZSwgdGhpc09iamVj
dC0+d3JhcHBlZCgpLCBlcnJvck1lc3NhZ2UpKQorICAgIGlmICghQmluZGluZ1NlY3VyaXR5Ojpz
aG91bGRBbGxvd0FjY2Vzc1RvRE9NV2luZG93KCpzdGF0ZSwgdGhpc09iamVjdC0+d3JhcHBlZCgp
LCBlcnJvck1lc3NhZ2UpKQogICAgICAgICByZXR1cm4ganNET01XaW5kb3dHZXRPd25Qcm9wZXJ0
eVNsb3RSZXN0cmljdGVkQWNjZXNzKHRoaXNPYmplY3QsIGZyYW1lLCBzdGF0ZSwgSWRlbnRpZmll
cjo6ZnJvbShzdGF0ZSwgaW5kZXgpLCBzbG90LCBlcnJvck1lc3NhZ2UpOwogCiAgICAgLy8gKDIp
IFJlZ3VsYXIgb3duIHByb3BlcnRpZXMuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMjM0Y2RhNjJhZjZhM2MzM2U5NDc0ZTVi
ODc2YmFhZTg0YTEzNGJlMi4uYjMzM2EzZjgwYTMwNDllYjA4N2QwNWZhZjA3NjcxZWQwZDk5NWM0
YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0No
YW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDE4LTAxLTA4ICBDaHJpcyBEdW1leiAgPGNkdW1l
ekBhcHBsZS5jb20+CisKKyAgICAgICAgV2Ugc2hvdWxkIG5vdCByZXR1cm4gdW5kZWZpbmVkIGZv
ciBtb3N0IHByb3BlcnRpZXMgb2YgYSBkZXRhY2hlZCBXaW5kb3cKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4MTQxNgorICAgICAgICA8cmRhcjovL3By
b2JsZW0vMzYxNjI0ODk+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgVXBkYXRlIGV4aXN0aW5nIHRlc3RzIHRvIHJlZmxlY3QgYmVoYXZpb3IgY2hhbmdl
LgorCisgICAgICAgICogZmFzdC9kb20vV2luZG93L29ycGhhbmVkLWZyYW1lLWFjY2Vzcy1leHBl
Y3RlZC50eHQ6CisgICAgICAgICogZmFzdC9kb20vV2luZG93L29ycGhhbmVkLWZyYW1lLWFjY2Vz
cy5odG1sOgorICAgICAgICAqIGZhc3QvZnJhbWVzL2RldGFjaGVkLWZyYW1lLXByb3BlcnR5LWV4
cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2ZyYW1lcy9kZXRhY2hlZC1mcmFtZS1wcm9wZXJ0
eS5odG1sOgorCiAyMDE4LTAxLTA4ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4K
IAogICAgICAgICBTdG9wIGV4cG9zaW5nIGZldGNoIGFuZCBleHRlbmRhYmxlIGV2ZW50cyB0byB3
aW5kb3cKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4IDY1YmQ3MjAzOThjODJjMmVj
YjIxMDEwYzdjZDYyZmU4ZjY3ZTliZGUuLmE0MTZhZDIxZWM5ODdlYzRlZmQwMDkzMDMyM2YxYzE1
NjZiZTg0ZjYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBA
CisyMDE4LTAxLTA4ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CisKKyAgICAgICAg
V2Ugc2hvdWxkIG5vdCByZXR1cm4gdW5kZWZpbmVkIGZvciBtb3N0IHByb3BlcnRpZXMgb2YgYSBk
ZXRhY2hlZCBXaW5kb3cKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTE4MTQxNgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMzYxNjI0ODk+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmViYXNlbGluZSBzZXZl
cmFsIFdQVCB0ZXN0cyBub3cgdGhhdCBtb3JlIGNoZWNrcyBhcmUgcGFzc2luZy4KKworICAgICAg
ICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jdXN0b20tZWxlbWVudHMvY3VzdG9tLWVsZW1lbnQtcmVn
aXN0cnkvcGVyLWdsb2JhbC1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL2h0bWwvc2VtYW50aWNzL2VtYmVkZGVkLWNvbnRlbnQvdGhlLWlmcmFtZS1lbGVtZW50L2lm
cmFtZS1hcHBlbmQtdG8tY2hpbGQtZG9jdW1lbnQtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy9zZXJ2aWNlLXdvcmtlcnMvc2VydmljZS13b3JrZXIvZGV0YWNoZWQt
Y29udGV4dC5odHRwcy1leHBlY3RlZC50eHQ6CisKIDIwMTgtMDEtMDggIE1zMmdlciAgPE1zMmdl
ckBpZ2FsaWEuY29tPgogCiAgICAgICAgIFVwZGF0ZSBpbWFnZWJpdG1hcCB0ZXN0cy4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy9vcnBoYW5lZC1mcmFtZS1hY2Nlc3Mt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L29ycGhhbmVkLWZyYW1l
LWFjY2Vzcy1leHBlY3RlZC50eHQKaW5kZXggZGFlZGYzMGE5MDNhMGU1MzZiMzdjMzg0ZjljNjc4
YjczNjJlYzFkZi4uODhiMzZlYTc4ZTAwODg4MTY3NGJmNTk4YzY1OTliZDIxY2I2MWViNiAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L29ycGhhbmVkLWZyYW1lLWFjY2Vz
cy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L29ycGhhbmVk
LWZyYW1lLWFjY2Vzcy1leHBlY3RlZC50eHQKQEAgLTEsMyArMSwzIEBACiBUaGlzIHRlc3RzIGFj
Y2VzcyB0byBhIHdpbmRvdyB3aXRoIGEgbnVsbCBmcmFtZS4gWW91IHNob3VsZCBzZWUgIlBBU1Mi
IGZvciBlYWNoIG9mIHRoZSB0aHJlZSB0ZXN0cyBiZWxvdy4KIAotcHJvcGVydHk6IFBBU1MgLi4u
IGFycmF5OiBQQVNTIC4uLiBtaXNzaW5nIHByb3BlcnR5OiBQQVNTLgorcHJvcGVydHk6IFBBU1Mg
Li4uIGFycmF5OiBQQVNTIC4uLiBjb25zdHJ1Y3RvcjogUEFTUyAuLi4uIG9wZXJhdGlvbjogUEFT
Uy4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy9vcnBoYW5lZC1mcmFt
ZS1hY2Nlc3MuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL1dpbmRvdy9vcnBoYW5lZC1mcmFt
ZS1hY2Nlc3MuaHRtbAppbmRleCBhNjFlNjgzNDEyNWVjNzI1N2M1MTg1ZTBkZmNjYTFkYTFlOTUw
YWUwLi42YjhhMTllYmEyNzIwMWVlYmIzNTc2YjhiZjczOTA2NzgxMGFiYzI3IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9XaW5kb3cvb3JwaGFuZWQtZnJhbWUtYWNjZXNzLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vV2luZG93L29ycGhhbmVkLWZyYW1lLWFjY2Vzcy5o
dG1sCkBAIC0xLDcgKzEsNiBAQAotPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBI
VE1MIDQuMDEgU3RyaWN0Ly9FTiI+Cis8IURPQ1RZUEUgaHRtbD4KIDxodG1sPgogPGhlYWQ+Ci08
bWV0YSBIVFRQLUVRVUlWPSJDb250ZW50LVR5cGUiIENPTlRFTlQ9InRleHQvaHRtbDsgY2hhcnNl
dD1VVEYtOCI+CiA8dGl0bGU+TnVsbCBmcmFtZSBhY2Nlc3MgdGVzdHM8L3RpdGxlPgogPHNjcmlw
dD4KIHdpbmRvdy5vbmxvYWQgPSBmdW5jdGlvbigpIHsKQEAgLTE3LDkgKzE2LDEwIEBAIHdpbmRv
dy5vbmxvYWQgPSBmdW5jdGlvbigpIHsKIAogICAgIC8vIHNjaGVkdWxlIHRvIHJ1biBhZnRlciB0
aGUgZnJhbWUgaXMgbnVsbAogICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7Ci0gICAgICAgIGRv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUod2luLnRlc3Qg
fHwgJ3Byb3BlcnR5OiBQQVNTIC4uLiAnKSk7Ci0gICAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5k
Q2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUod2luWzIwXSB8fCAnYXJyYXk6IFBBU1MgLi4u
ICcpKTsKLSAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVU
ZXh0Tm9kZSh3aW4uQ29tbWVudCB8fCAnbWlzc2luZyBwcm9wZXJ0eTogUEFTUy4nKSk7CisgICAg
ICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUod2lu
LnRlc3QgfHwgJ3Byb3BlcnR5OiBGQUlMIC4uLiAnKSk7CisgICAgICAgIGRvY3VtZW50LmJvZHku
YXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUod2luWzIwXSB8fCAnYXJyYXk6IEZB
SUwgLi4uICcpKTsKKyAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChkb2N1bWVudC5j
cmVhdGVUZXh0Tm9kZSh3aW4uQ29tbWVudCA/ICdjb25zdHJ1Y3RvcjogUEFTUyAuLi4uICcgOiAn
Y29uc3RydWN0b3I6IEZBSUwgLi4uICcpKTsKKyAgICAgICAgZG9jdW1lbnQuYm9keS5hcHBlbmRD
aGlsZChkb2N1bWVudC5jcmVhdGVUZXh0Tm9kZSh3aW4ucG9zdE1lc3NhZ2UgPyAnb3BlcmF0aW9u
OiBQQVNTLicgOiAnb3BlcmF0aW9uOiBGQUlMLicpKTsKICAgICAgICAgaWYgKHdpbmRvdy50ZXN0
UnVubmVyKQogICAgICAgICAgICAgdGVzdFJ1bm5lci5ub3RpZnlEb25lKCk7CiAgICAgfSwgMCk7
CkBAIC0yOCw2ICsyOCw2IEBAIHdpbmRvdy5vbmxvYWQgPSBmdW5jdGlvbigpIHsKIDwvaGVhZD4K
IDxib2R5PgogVGhpcyB0ZXN0cyBhY2Nlc3MgdG8gYSB3aW5kb3cgd2l0aCBhIG51bGwgZnJhbWUu
IFlvdSBzaG91bGQgc2VlICJQQVNTIiBmb3IgZWFjaCBvZiB0aGUgdGhyZWUgdGVzdHMgYmVsb3cu
PGJyIC8+PGJyIC8+Ci08aWZyYW1lIGlkPSJzdWJmcmFtZSIgc3JjPSJkYXRhOnRleHQvaHRtbCwm
bHQ7c2NyaXB0Jmd0O3dpbmRvdy50ZXN0PSdGQUlMIC4uLiAnO3dpbmRvd1syMF09J0ZBSUwgLi4u
ICc7Jmx0Oy9zY3JpcHQmZ3Q7IiAvPgorPGlmcmFtZSBpZD0ic3ViZnJhbWUiIHNyY2RvYz0iJmx0
O3NjcmlwdCZndDt3aW5kb3cudGVzdD0ncHJvcGVydHk6IFBBU1MgLi4uICc7d2luZG93WzIwXT0n
YXJyYXk6IFBBU1MgLi4uICc7Jmx0Oy9zY3JpcHQmZ3Q7IiAvPgogPC9ib2R5PgogPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZGV0YWNoZWQtZnJhbWUtcHJvcGVy
dHktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9mcmFtZXMvZGV0YWNoZWQtZnJhbWUt
cHJvcGVydHktZXhwZWN0ZWQudHh0CmluZGV4IDUwODM5YmQ2YWYwMzIxODA5YzJhMmZhN2U3NDM4
Yjg2NjM3ZjMxYTkuLmI3MjU3OTliYTAzNDIwZjgxMzMyNmE0MTkxZWJkMGExYmNmYjlhM2EgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2RldGFjaGVkLWZyYW1lLXByb3BlcnR5
LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9kZXRhY2hlZC1mcmFt
ZS1wcm9wZXJ0eS1leHBlY3RlZC50eHQKQEAgLTEsNCArMSwzMCBAQAotVGVzdCB0aGF0IHByb3Bl
cnRpZXMgaW4gYSBkZXRhY2hlZCBzdWJmcmFtZSBiZWNvbWUgdW5hdmFpbGFibGUgaW1tZWRpYXRl
bHkuCitDaGVja3MgdGhlIHZhbHVlIG9mIGRldGFjaGVkIHN1YmZyYW1lIHByb3BlcnRpZXMuCiAK
LVBBU1MKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTICEhZGV0YWNoZWRXaW5k
b3cucG9zdE1lc3NhZ2UgaXMgdHJ1ZQorUEFTUyAhIWRldGFjaGVkV2luZG93LmNsb3NlIGlzIHRy
dWUKK1BBU1MgZGV0YWNoZWRXaW5kb3cuY2xvc2VkIGlzIHRydWUKK1BBU1MgZGV0YWNoZWRXaW5k
b3cudG9wIGlzIG51bGwKK1BBU1MgZGV0YWNoZWRXaW5kb3cub3BlbmVyIGlzIG51bGwKK1BBU1Mg
ZGV0YWNoZWRXaW5kb3cucGFyZW50IGlzIG51bGwKK1BBU1MgZGV0YWNoZWRXaW5kb3cuZnJhbWVF
bGVtZW50IGlzIG51bGwKK1BBU1MgZGV0YWNoZWRXaW5kb3cud2luZG93IGlzIG51bGwKK1BBU1Mg
ZGV0YWNoZWRXaW5kb3cuZnJhbWVzIGlzIG51bGwKK1BBU1MgZGV0YWNoZWRXaW5kb3cuc2VsZiBp
cyBudWxsCitQQVNTICFkZXRhY2hlZFdpbmRvdy5uYXZpZ2F0b3IgaXMgdHJ1ZQorUEFTUyAhZGV0
YWNoZWRXaW5kb3cubG9jYXRpb25iYXIgaXMgdHJ1ZQorUEFTUyAhZGV0YWNoZWRXaW5kb3cuaGlz
dG9yeSBpcyB0cnVlCitQQVNTICFkZXRhY2hlZFdpbmRvdy5sb2NhbFN0b3JhZ2UgaXMgdHJ1ZQor
UEFTUyAhIWRldGFjaGVkV2luZG93LmRvY3VtZW50IGlzIHRydWUKK1BBU1MgISFkZXRhY2hlZFdp
bmRvdy5YTUxIdHRwUmVxdWVzdCBpcyB0cnVlCitQQVNTICEhZGV0YWNoZWRXaW5kb3cuZ2V0Q29t
cHV0ZWRTdHlsZSBpcyB0cnVlCitQQVNTICFkZXRhY2hlZFdpbmRvdy5zY3JlZW4gaXMgdHJ1ZQor
UEFTUyBkZXRhY2hlZFdpbmRvdy5pbm5lckhlaWdodCBpcyAwCitQQVNTIGRldGFjaGVkV2luZG93
LmlubmVyV2lkdGggaXMgMAorUEFTUyAhZGV0YWNoZWRXaW5kb3cubG9jYXRpb24gaXMgdHJ1ZQor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCiAKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZnJhbWVzL2RldGFjaGVkLWZyYW1lLXByb3BlcnR5Lmh0
bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2ZyYW1lcy9kZXRhY2hlZC1mcmFtZS1wcm9wZXJ0eS5odG1s
CmluZGV4IDdmNjk4NzNiYjU4MTRkZWFlZTllZTU1NDc5OTZlOWNlNDA5NGVjY2QuLjIzODJiZWU0
NTMwNWFjZDVlZTFiMzI0Zjc1ZGQ4NDM5Y2RiNjAwM2EgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2Zhc3QvZnJhbWVzL2RldGFjaGVkLWZyYW1lLXByb3BlcnR5Lmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvZmFzdC9mcmFtZXMvZGV0YWNoZWQtZnJhbWUtcHJvcGVydHkuaHRtbApAQCAtMSwxNCArMSw0
MSBAQAotPHA+VGVzdCB0aGF0IHByb3BlcnRpZXMgaW4gYSBkZXRhY2hlZCBzdWJmcmFtZSBiZWNv
bWUgdW5hdmFpbGFibGUgaW1tZWRpYXRlbHkuPC9wPgorPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291
cmNlcy9qcy10ZXN0LmpzIj48L3NjcmlwdD4KIDxzY3JpcHQ+Ci1pZiAod2luZG93LnRlc3RSdW5u
ZXIpCi0gICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7Ci0KK2Rlc2NyaXB0aW9uKCJDaGVja3Mg
dGhlIHZhbHVlIG9mIGRldGFjaGVkIHN1YmZyYW1lIHByb3BlcnRpZXMuIik7CiBvbmxvYWQgPSBm
dW5jdGlvbigpCiB7Ci0gICAgdmFyIGNoaWxkV2luZG93ID0gZnJhbWVzWzBdOworICAgIGRldGFj
aGVkV2luZG93ID0gZnJhbWVzWzBdOwogICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoZG9j
dW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImlmcmFtZSIpWzBdKTsKLSAgICBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgicmVzdWx0IikuaW5uZXJIVE1MID0gY2hpbGRXaW5kb3cuWE1MSHR0cFJl
cXVlc3QgPyAiRkFJTCIgOiAiUEFTUyI7CisKKyAgICAvLyBDaHJvbWUgYW5kIEZpcmVmb3ggYWdy
ZWUgd2l0aCB1cy4KKyAgICBzaG91bGRCZVRydWUoIiEhZGV0YWNoZWRXaW5kb3cucG9zdE1lc3Nh
Z2UiKTsKKyAgICBzaG91bGRCZVRydWUoIiEhZGV0YWNoZWRXaW5kb3cuY2xvc2UiKTsKKyAgICBz
aG91bGRCZVRydWUoImRldGFjaGVkV2luZG93LmNsb3NlZCIpOworICAgIHNob3VsZEJlTnVsbCgi
ZGV0YWNoZWRXaW5kb3cudG9wIik7CisgICAgc2hvdWxkQmVOdWxsKCJkZXRhY2hlZFdpbmRvdy5v
cGVuZXIiKTsKKyAgICBzaG91bGRCZU51bGwoImRldGFjaGVkV2luZG93LnBhcmVudCIpOworICAg
IHNob3VsZEJlTnVsbCgiZGV0YWNoZWRXaW5kb3cuZnJhbWVFbGVtZW50Iik7IC8vIFRlY2huaWNh
bGx5LCBDaHJvbWUgcmV0dXJucyB1bmRlZmluZWQgaGVyZSwgbm90IG51bGwuCisKKyAgICAvLyBD
aHJvbWUgYWdyZWVzIHdpdGggdXMgYnV0IEZpcmVmb3ggcmV0dXJucyB0aGUgZGV0YWNoZWRXaW5k
b3cuCisgICAgc2hvdWxkQmVOdWxsKCJkZXRhY2hlZFdpbmRvdy53aW5kb3ciKTsKKyAgICBzaG91
bGRCZU51bGwoImRldGFjaGVkV2luZG93LmZyYW1lcyIpOworICAgIHNob3VsZEJlTnVsbCgiZGV0
YWNoZWRXaW5kb3cuc2VsZiIpOworCisgICAgLy8gQ2hyb21lIHJldHVybnMgdW5kZWZpbmVkIGJ1
dCBGaXJlZm94IGhhcyBhIHZhbGlkIG9iamVjdC4KKyAgICBzaG91bGRCZVRydWUoIiFkZXRhY2hl
ZFdpbmRvdy5uYXZpZ2F0b3IiKTsKKyAgICBzaG91bGRCZVRydWUoIiFkZXRhY2hlZFdpbmRvdy5s
b2NhdGlvbmJhciIpOworICAgIHNob3VsZEJlVHJ1ZSgiIWRldGFjaGVkV2luZG93Lmhpc3Rvcnki
KTsKKyAgICBzaG91bGRCZVRydWUoIiFkZXRhY2hlZFdpbmRvdy5sb2NhbFN0b3JhZ2UiKTsKKyAg
ICBzaG91bGRCZVRydWUoIiEhZGV0YWNoZWRXaW5kb3cuZG9jdW1lbnQiKTsKKyAgICBzaG91bGRC
ZVRydWUoIiEhZGV0YWNoZWRXaW5kb3cuWE1MSHR0cFJlcXVlc3QiKTsKKyAgICBzaG91bGRCZVRy
dWUoIiEhZGV0YWNoZWRXaW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZSIpOworCisgICAgLy8gQ2hyb21l
IHJldHVybnMgdW5kZWZpbmVkIGJ1dCBGaXJlZm94IHRocm93cyBhbiBleGNlcHRpb24uCisgICAg
c2hvdWxkQmVUcnVlKCIhZGV0YWNoZWRXaW5kb3cuc2NyZWVuIik7CisgICAgc2hvdWxkQmUoImRl
dGFjaGVkV2luZG93LmlubmVySGVpZ2h0IiwgIjAiKTsKKyAgICBzaG91bGRCZSgiZGV0YWNoZWRX
aW5kb3cuaW5uZXJXaWR0aCIsICIwIik7CisKKyAgICAvLyBCb3RoIENocm9tZSBhbmQgRmlyZWZv
eCBkaXNhZ3JlZSB3aXRoIHVzIGFuZCByZXR1cm4gYSB2YWxpZCBvYmplY3QuCisgICAgc2hvdWxk
QmVUcnVlKCIhZGV0YWNoZWRXaW5kb3cubG9jYXRpb24iKTsKIH0KIDwvc2NyaXB0PgotPGRpdiBp
ZD0icmVzdWx0Ij5GQUlMOiBTY3JpcHQgZGlkIG5vdCBydW48L2Rpdj4KIDxpZnJhbWUgc3JjPSJh
Ym91dDpibGFuayI+PC9pZnJhbWU+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2N1c3RvbS1lbGVtZW50cy9jdXN0b20tZWxlbWVudC1yZWdp
c3RyeS9wZXItZ2xvYmFsLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3VzdG9tLWVsZW1lbnRzL2N1c3RvbS1lbGVtZW50LXJlZ2lzdHJ5
L3Blci1nbG9iYWwtZXhwZWN0ZWQudHh0CmluZGV4IGYzOTdhM2MwNTk2MDAwMGJmNDU0Yzc2ZTFj
ODdmYTc5YmVmYTlkM2QuLjUwZWViOWNiYmY4MWViYWY2ZWYwOGUyZjRiYWVkMjE1MTU3MDc3NmUg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3VzdG9tLWVsZW1lbnRzL2N1c3RvbS1lbGVtZW50LXJlZ2lzdHJ5L3Blci1nbG9iYWwtZXhwZWN0
ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3VzdG9tLWVsZW1lbnRzL2N1c3RvbS1lbGVtZW50LXJlZ2lzdHJ5L3Blci1nbG9iYWwtZXhwZWN0
ZWQudHh0CkBAIC0yLDcgKzIsNyBAQAogCiBIYXJuZXNzIEVycm9yIChUSU1FT1VUKSwgbWVzc2Fn
ZSA9IG51bGwKIAotRkFJTCBEaXNjYXJkaW5nIHRoZSBicm93c2luZyBjb250ZXh0IG11c3Qgbm90
IGNoYW5nZSB3aW5kb3cuY3VzdG9tRWxlbWVudHMgYXNzZXJ0X2VxdWFsczogZXhwZWN0ZWQgKG9i
amVjdCkgb2JqZWN0ICJbb2JqZWN0IEN1c3RvbUVsZW1lbnRSZWdpc3RyeV0iIGJ1dCBnb3QgKHVu
ZGVmaW5lZCkgdW5kZWZpbmVkCitQQVNTIERpc2NhcmRpbmcgdGhlIGJyb3dzaW5nIGNvbnRleHQg
bXVzdCBub3QgY2hhbmdlIHdpbmRvdy5jdXN0b21FbGVtZW50cyAKIEZBSUwgTmF2aWdhdGluZyBm
cm9tIHRoZSBpbml0aWFsIGFib3V0OmJsYW5rIG11c3Qgbm90IHJlcGxhY2Ugd2luZG93LmN1c3Rv
bUVsZW1lbnRzIGFzc2VydF9lcXVhbHM6IGV4cGVjdGVkIG9iamVjdCAiW29iamVjdCBDdXN0b21F
bGVtZW50UmVnaXN0cnldIiBidXQgZ290IG9iamVjdCAiW29iamVjdCBDdXN0b21FbGVtZW50UmVn
aXN0cnldIgogRkFJTCBkb2N1bWVudC5vcGVuKCkgbXVzdCByZXBsYWNlIHdpbmRvdy5jdXN0b21F
bGVtZW50cyBhc3NlcnRfbm90X2VxdWFsczogZ290IGRpc2FsbG93ZWQgdmFsdWUgb2JqZWN0ICJb
b2JqZWN0IEN1c3RvbUVsZW1lbnRSZWdpc3RyeV0iCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZW1iZWRkZWQt
Y29udGVudC90aGUtaWZyYW1lLWVsZW1lbnQvaWZyYW1lLWFwcGVuZC10by1jaGlsZC1kb2N1bWVu
dC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRl
c3RzL2h0bWwvc2VtYW50aWNzL2VtYmVkZGVkLWNvbnRlbnQvdGhlLWlmcmFtZS1lbGVtZW50L2lm
cmFtZS1hcHBlbmQtdG8tY2hpbGQtZG9jdW1lbnQtZXhwZWN0ZWQudHh0CmluZGV4IDg4Mjk4NTM2
MGY1Y2E4ZGQ0YTkyYzY4ODA2MTZiODUwN2M3NjhjNmUuLjkwYjEzNzFkODlhMjU0ODczMWZlZWFm
NmIzNDdkMDA0MzM1YjMyNmUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZW1iZWRkZWQtY29udGVudC90aGUtaWZy
YW1lLWVsZW1lbnQvaWZyYW1lLWFwcGVuZC10by1jaGlsZC1kb2N1bWVudC1leHBlY3RlZC50eHQK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3Nl
bWFudGljcy9lbWJlZGRlZC1jb250ZW50L3RoZS1pZnJhbWUtZWxlbWVudC9pZnJhbWUtYXBwZW5k
LXRvLWNoaWxkLWRvY3VtZW50LWV4cGVjdGVkLnR4dApAQCAtMSwzICsxLDMgQEAKIAotRkFJTCBB
cHBlbmQgaWZyYW1lIGVsZW1lbnQgdG8gaXRzIG93biBjaGlsZCBkb2N1bWVudCBhc3NlcnRfZXF1
YWxzOiBleHBlY3RlZCAob2JqZWN0KSBudWxsIGJ1dCBnb3QgKHVuZGVmaW5lZCkgdW5kZWZpbmVk
CitQQVNTIEFwcGVuZCBpZnJhbWUgZWxlbWVudCB0byBpdHMgb3duIGNoaWxkIGRvY3VtZW50IAog
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L3NlcnZpY2Utd29ya2Vycy9zZXJ2aWNlLXdvcmtlci9kZXRhY2hlZC1jb250ZXh0Lmh0dHBzLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
c2VydmljZS13b3JrZXJzL3NlcnZpY2Utd29ya2VyL2RldGFjaGVkLWNvbnRleHQuaHR0cHMtZXhw
ZWN0ZWQudHh0CmluZGV4IDdmYzEwYmNkMTY2YTRkYWEwZjA3YTk1NDFmYTA4OTk5Y2ExMTZiMTUu
LmJkZTQzMGM2NTBhNWE1YzJkMzYyYzVmYTU5Y2UzZWFmMWNhNmVjZGMgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3JrZXJz
L3NlcnZpY2Utd29ya2VyL2RldGFjaGVkLWNvbnRleHQuaHR0cHMtZXhwZWN0ZWQudHh0CisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvc2VydmljZS13b3Jr
ZXJzL3NlcnZpY2Utd29ya2VyL2RldGFjaGVkLWNvbnRleHQuaHR0cHMtZXhwZWN0ZWQudHh0CkBA
IC00LDUgKzQsNSBAQCBQQVNTIGFjY2Vzc2luZyBhIFNlcnZpY2VXb3JrZXJSZWdpc3RyYXRpb24g
ZnJvbSBhIHJlbW92ZWQgaWZyYW1lCiBQQVNTIGFjY2Vzc2luZyBhIFNlcnZpY2VXb3JrZXIgb2Jq
ZWN0IGZyb20gYSByZW1vdmVkIGlmcmFtZSAKIFBBU1MgYWNjZXNzaW5nIG5hdmlnYXRvci5zZXJ2
aWNlV29ya2VyIG9uIGEgZGV0YWNoZWQgaWZyYW1lIAogRkFJTCBhY2Nlc3NpbmcgbmF2aWdhdG9y
IG9uIGEgcmVtb3ZlZCBmcmFtZSBhc3NlcnRfdGhyb3dzOiBmdW5jdGlvbiAiKCkgPT4gZ2V0X25h
dmlnYXRvcigpIiBkaWQgbm90IHRocm93Ci1GQUlMIGFjY2Vzc2luZyBuYXZpZ2F0b3Iuc2Vydmlj
ZVdvcmtlciBvbiBhIHJlbW92ZWQgYWJvdXQ6YmxhbmsgZnJhbWUgdW5kZWZpbmVkIGlzIG5vdCBh
biBvYmplY3QgKGV2YWx1YXRpbmcgJ2dldF9uYXZpZ2F0b3IoKS5zZXJ2aWNlV29ya2VyJykKK0ZB
SUwgYWNjZXNzaW5nIG5hdmlnYXRvci5zZXJ2aWNlV29ya2VyIG9uIGEgcmVtb3ZlZCBhYm91dDpi
bGFuayBmcmFtZSBudWxsIGlzIG5vdCBhbiBvYmplY3QgKGV2YWx1YXRpbmcgJ2dldF9uYXZpZ2F0
b3IoKS5zZXJ2aWNlV29ya2VyJykKIAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>