<?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>52917</bug_id>
          
          <creation_ts>2011-01-21 13:48:54 -0800</creation_ts>
          <short_desc>REGRESSION (r75543): Styles bleed into new shadow DOM (like slider and video)</short_desc>
          <delta_ts>2024-05-02 12:18:28 -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>DOM</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar, Regression</keywords>
          <priority>P1</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>52963</dependson>
          <blocked>46595</blocked>
    
    <blocked>48698</blocked>
    
    <blocked>53122</blocked>
    
    <blocked>54179</blocked>
    
    <blocked>57274</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Dimitri Glazkov (Google)">dglazkov</reporter>
          <assigned_to name="Dimitri Glazkov (Google)">dglazkov</assigned_to>
          <cc>ap</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>hyatt</cc>
    
    <cc>marc.hoyois</cc>
    
    <cc>mitz</cc>
    
    <cc>rolandsteiner</cc>
    
    <cc>thillaibsetec</cc>
    
    <cc>tkent</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>338308</commentid>
    <comment_count>0</comment_count>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2011-01-21 13:48:54 -0800</bug_when>
    <thetext>REGRESSION(r75543): Styles bleed into new shadow DOM (like slider).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>338310</commentid>
    <comment_count>1</comment_count>
      <attachid>79785</attachid>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2011-01-21 13:49:26 -0800</bug_when>
    <thetext>Created attachment 79785
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>338314</commentid>
    <comment_count>2</comment_count>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2011-01-21 13:54:22 -0800</bug_when>
    <thetext>This is not a significant problem for the moment, but it should be solved soon. FWIW, star selector always bled into the shadow DOM.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>338604</commentid>
    <comment_count>3</comment_count>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2011-01-22 10:44:39 -0800</bug_when>
    <thetext>The trick here is that we need to know quickly whether a node is inside of a shadow DOM. Node::isInShadowDOM() traverses up, so it&apos;s not sufficient. The solution is fixing bug 52963.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>380340</commentid>
    <comment_count>4</comment_count>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2011-04-06 07:17:39 -0700</bug_when>
    <thetext>How will we fix this issue?
Applying only pseudo selectors to shadow nodes?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>380355</commentid>
    <comment_count>5</comment_count>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2011-04-06 07:40:43 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; How will we fix this issue?
&gt; Applying only pseudo selectors to shadow nodes?

Yes. That&apos;s why we need to have O(1) access to shadow root -- to not have to traverse the tree to find it out.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>387349</commentid>
    <comment_count>6</comment_count>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2011-04-17 07:13:34 -0700</bug_when>
    <thetext>*** Bug 58684 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>389203</commentid>
    <comment_count>7</comment_count>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2011-04-20 07:12:37 -0700</bug_when>
    <thetext>*** Bug 58971 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>389230</commentid>
    <comment_count>8</comment_count>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2011-04-20 08:02:23 -0700</bug_when>
    <thetext>&lt;rdar://problem/9310653&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>389405</commentid>
    <comment_count>9</comment_count>
    <who name="">mitz</who>
    <bug_when>2011-04-20 12:02:52 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; This is not a significant problem for the moment, but it should be solved soon. FWIW, star selector always bled into the shadow DOM.

It is breaking the video controls at &lt;https://squareup.com/&gt;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>389415</commentid>
    <comment_count>10</comment_count>
      <attachid>90381</attachid>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2011-04-20 12:11:05 -0700</bug_when>
    <thetext>Created attachment 90381
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>389562</commentid>
    <comment_count>11</comment_count>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2011-04-20 15:20:47 -0700</bug_when>
    <thetext>(In reply to comment #9)
&gt; (In reply to comment #2)
&gt; &gt; This is not a significant problem for the moment, but it should be solved soon. FWIW, star selector always bled into the shadow DOM.
&gt; 
&gt; It is breaking the video controls at &lt;https://squareup.com/&gt;.

I have a fix! :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>390087</commentid>
    <comment_count>12</comment_count>
      <attachid>90381</attachid>
    <who name="Kent Tamura">tkent</who>
    <bug_when>2011-04-21 09:35:48 -0700</bug_when>
    <thetext>Comment on attachment 90381
Patch

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

&gt; LayoutTests/fast/css/shadow-dom-scope.html:45
&gt; +    runSelectorTest(NO_MATCH, &apos;div&apos;);
&gt; +    runSelectorTest(NO_MATCH, &apos;*&apos;);
&gt; +    runSelectorTest(NO_MATCH, &apos;body *&apos;);

There are no MATCH tests.  Are MATCH cases covered by existing tests?

&gt; Source/WebCore/ChangeLog:35
&gt; +        * dom/ShadowRoot.h: Added.

This line looks the file is added.

&gt; Source/WebCore/ChangeLog:38
&gt; +        * dom/TreeScope.h: Added.

ditto.

&gt; Source/WebCore/css/CSSStyleSelector.cpp:755
&gt; +private:

nit: We usually put a blank line before it.

&gt; Source/WebCore/css/CSSStyleSelector.cpp:756
&gt; +    static bool m_matchingUARules;

I wondered if such global variable was ok, and found there were some other instances of global variables...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>390124</commentid>
    <comment_count>13</comment_count>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2011-04-21 10:25:34 -0700</bug_when>
    <thetext>(In reply to comment #12)
&gt; (From update of attachment 90381 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=90381&amp;action=review
&gt; 
&gt; &gt; LayoutTests/fast/css/shadow-dom-scope.html:45
&gt; &gt; +    runSelectorTest(NO_MATCH, &apos;div&apos;);
&gt; &gt; +    runSelectorTest(NO_MATCH, &apos;*&apos;);
&gt; &gt; +    runSelectorTest(NO_MATCH, &apos;body *&apos;);
&gt; 
&gt; There are no MATCH tests.  Are MATCH cases covered by existing tests?

Yes! LayoutTests/fast/css/unknown-pseudo-element-matching.html 

&gt; 
&gt; &gt; Source/WebCore/ChangeLog:35
&gt; &gt; +        * dom/ShadowRoot.h: Added.
&gt; 
&gt; This line looks the file is added.

&gt; 
&gt; &gt; Source/WebCore/ChangeLog:38
&gt; &gt; +        * dom/TreeScope.h: Added.
&gt; 
&gt; ditto.
&gt; 

Will fix.

&gt; &gt; Source/WebCore/css/CSSStyleSelector.cpp:755
&gt; &gt; +private:
&gt; 
&gt; nit: We usually put a blank line before it.

Will fix.

&gt; 
&gt; &gt; Source/WebCore/css/CSSStyleSelector.cpp:756
&gt; &gt; +    static bool m_matchingUARules;
&gt; 
&gt; I wondered if such global variable was ok, and found there were some other instances of global variables...

Yeah, me too :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>390141</commentid>
    <comment_count>14</comment_count>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2011-04-21 10:37:57 -0700</bug_when>
    <thetext>Committed r84517: &lt;http://trac.webkit.org/changeset/84517&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>416392</commentid>
    <comment_count>15</comment_count>
    <who name="Roland Steiner">rolandsteiner</who>
    <bug_when>2011-06-07 00:53:12 -0700</bug_when>
    <thetext>Unless I&apos;m mistaken (a common enough occurrence), it seems there may be cases where a bleed still can happen: E.g., you have a media control panel component that defines a container for button controls. This container is given a pseudo-ID &quot;panel&quot;, e.g., to allow styling its background. The container also has one or more children of its own for the individual buttons, which are defined as separate components.

In this case, a selector such as &quot;::panel *&quot; would bleed into the buttons, even if they are set to not allow selectors through. That check would be circumvented by the pseudo-ID used in the parent panel component.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>416586</commentid>
    <comment_count>16</comment_count>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2011-06-07 10:02:35 -0700</bug_when>
    <thetext>(In reply to comment #15)
&gt; Unless I&apos;m mistaken (a common enough occurrence), it seems there may be cases where a bleed still can happen: E.g., you have a media control panel component that defines a container for button controls. This container is given a pseudo-ID &quot;panel&quot;, e.g., to allow styling its background. The container also has one or more children of its own for the individual buttons, which are defined as separate components.
&gt; 
&gt; In this case, a selector such as &quot;::panel *&quot; would bleed into the buttons, even if they are set to not allow selectors through. That check would be circumvented by the pseudo-ID used in the parent panel component.

Yes, you&apos;re right. We should probably file a bug on this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>417039</commentid>
    <comment_count>17</comment_count>
    <who name="Roland Steiner">rolandsteiner</who>
    <bug_when>2011-06-07 19:45:12 -0700</bug_when>
    <thetext>(In reply to comment #16)
&gt; Yes, you&apos;re right. We should probably file a bug on this.

Filed new issue https://bugs.webkit.org/show_bug.cgi?id=62261.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>79785</attachid>
            <date>2011-01-21 13:49:26 -0800</date>
            <delta_ts>2011-04-20 12:11:03 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-52917-20110121134924.patch</filename>
            <type>text/plain</type>
            <size>2499</size>
            <attacher name="Dimitri Glazkov (Google)">dglazkov</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAyZjNkZjljNTBjODRiNjE3MGRlZWNkNzMyNDFhMzg2NDFlZDg3OWNmLi40ZGExMDdi
OGRjZTRhMWU3ZDkwZThkMzMxMmNkMzkxNWQ4MmY1M2FhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDUgKzEsMTQgQEAK
IDIwMTEtMDEtMjEgIERpbWl0cmkgR2xhemtvdiAgPGRnbGF6a292QGNocm9taXVtLm9yZz4KIAor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBSRUdSRVNTSU9O
KHI3NTU0Myk6IFN0eWxlcyBibGVlZCBpbnRvIG5ldyBzaGFkb3cgRE9NIChsaWtlIHNsaWRlciku
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01MjkxNwor
CisgICAgICAgICogZmFzdC9jc3Mvc2hhZG93LWRvbS1zY29wZS5odG1sOiBBZGRlZC4KKworMjAx
MS0wMS0yMSAgRGltaXRyaSBHbGF6a292ICA8ZGdsYXprb3ZAY2hyb21pdW0ub3JnPgorCiAgICAg
ICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgogCiAgICAgICAgIFJFR1JFU1NJT04ocjczNjE4
KTogQ2xpY2tpbmcgb24gYSBzZWFyY2ggaW5wdXQgY2F1c2VzIGEgY3Jhc2guCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9zaGFkb3ctZG9tLXNjb3BlLmh0bWwgYi9MYXlvdXRUZXN0
cy9mYXN0L2Nzcy9zaGFkb3ctZG9tLXNjb3BlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2U0MzliYThlNmI2
NTNkZjQ0ZDM0NDlkMzEzM2YxYThkZmYzYjA0YQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvY3NzL3NoYWRvdy1kb20tc2NvcGUuaHRtbApAQCAtMCwwICsxLDU2IEBACis8aHRt
bD4KKzxoZWFkPgorPHRpdGxlPlNlbGVjdG9ycyBhbmQgU2hhZG93IFNjb3BlczwvdGl0bGU+Cis8
c3R5bGU+CisgICAgaW5wdXRbdHlwZT1yYW5nZV0geworICAgICAgICAtd2Via2l0LWFwcGVhcmFu
Y2U6IG5vbmU7CisgICAgfQorPC9zdHlsZT4KKzxzY3JpcHQ+CisKK2lmICh3aW5kb3cubGF5b3V0
VGVzdENvbnRyb2xsZXIpCisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOwor
Cit2YXIgaGVhZDsKK3ZhciBpbnB1dDsKK3ZhciBsb2dEaXY7Cit2YXIgU0VMRUNUT1JfVEVTVF9Q
Uk9QRVJUSUVTID0gJyB7IGhlaWdodDogMXB4OyAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IH0n
OworCisvLyBjb252ZW5pZW5jZSBjb25zdGFudHMKK3ZhciBNQVRDSCA9IHRydWU7Cit2YXIgTk9f
TUFUQ0ggPSBmYWxzZTsKKworZnVuY3Rpb24gbG9nKG1zZywgc3VjY2VzcykKK3sKKyAgICBsb2dE
aXYuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2JykpLmlubmVySFRNTCA9
IG1zZyArICc6ICcgKyAoc3VjY2VzcyA/ICdQQVNTJyA6ICdGQUlMJyk7Cit9CisKK2Z1bmN0aW9u
IHJ1blNlbGVjdG9yVGVzdChtYXRjaEV4cGVjdGVkLCBzZWxlY3RvcikKK3sKKyAgICB2YXIgc3R5
bGUgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzdHlsZScpOworICAgIHN0eWxlLnRleHRDb250
ZW50ID0gc2VsZWN0b3IgKyBTRUxFQ1RPUl9URVNUX1BST1BFUlRJRVM7CisgICAgaGVhZC5hcHBl
bmRDaGlsZChzdHlsZSk7CisgICAgdmFyIG1hdGNoZWQgPSBpbnB1dC5vZmZzZXRIZWlnaHQgPT0g
MTsKKyAgICBsb2coJzxjb2RlPicgKyBzZWxlY3RvciArICc8L2NvZGU+IDxzdHJvbmc+c2hvdWxk
JyArIChtYXRjaEV4cGVjdGVkID8gJycgOiAnIG5vdCcpICsgJzwvc3Ryb25nPiBtYXRjaCcsIG1h
dGNoRXhwZWN0ZWQgPyBtYXRjaGVkIDogIW1hdGNoZWQpOworICAgIGhlYWQucmVtb3ZlQ2hpbGQo
c3R5bGUpOworfQorCitmdW5jdGlvbiBydW5UZXN0KCkKK3sKKyAgICBoZWFkID0gZG9jdW1lbnQu
Z2V0RWxlbWVudHNCeVRhZ05hbWUoJ2hlYWQnKVswXTsKKyAgICBpbnB1dCA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRzQnlUYWdOYW1lKCdpbnB1dCcpWzBdOworICAgIGxvZ0RpdiA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCdsb2cnKTsKKyAgICBydW5TZWxlY3RvclRlc3QoTk9fTUFUQ0gsICdkaXYn
KTsKKyAgICBydW5TZWxlY3RvclRlc3QoTk9fTUFUQ0gsICcqJyk7CisgICAgcnVuU2VsZWN0b3JU
ZXN0KE5PX01BVENILCAnYm9keSAqJyk7CisgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChp
bnB1dCk7Cit9CisKKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJydW5UZXN0KCki
PgorICAgIDxwPlRlc3RzIHdoZXRoZXIgYW5kIGhvdyBzZWxlY3RvcnMgY3Jvc3Mgc2hhZG93IERP
TSBzY29wZXMuPC9wPgorICAgIDxpbnB1dCBpZD0iZm9vIiBjbGFzcz0iYmFyIiB0eXBlPSJyYW5n
ZSI+CisgICAgPGRpdiBpZD0ibG9nIj48L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>90381</attachid>
            <date>2011-04-20 12:11:05 -0700</date>
            <delta_ts>2011-04-25 07:56:16 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-52917-20110420121104.patch</filename>
            <type>text/plain</type>
            <size>11215</size>
            <attacher name="Dimitri Glazkov (Google)">dglazkov</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODQzOTQKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA2MTA5M2UwZDhmYjM3N2Y1YmM4NTRm
ZDM4NDMyZWJjYTY4MTkyNmVkLi5iNDNhNThmMGIxNjhjMGE1MTA5MmFmZGJlYmI5M2U1YTNiNjg1
ZmU0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTEtMDQtMjAgIERpbWl0cmkgR2xhemtvdiAg
PGRnbGF6a292QGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBSRUdSRVNTSU9OIChyNzU1NDMpOiBTdHlsZXMgYmxlZWQgaW50byBu
ZXcgc2hhZG93IERPTSAobGlrZSBzbGlkZXIgYW5kIHZpZGVvKQorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTI5MTcKKworICAgICAgICAqIGZhc3QvY3Nz
L3NoYWRvdy1kb20tc2NvcGUtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Nz
cy9zaGFkb3ctZG9tLXNjb3BlLmh0bWw6IEFkZGVkLgorCiAyMDExLTA0LTIwICBUb255IENoYW5n
ICA8dG9ueUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgZW1iZWRkaW5nIGNo
ZWNrc3VtcyBpbiBwbmcgZmlsZXMgaW4gcGxhdGZvcm0vbWFjLSouCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L2Nzcy9zaGFkb3ctZG9tLXNjb3BlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2Zhc3QvY3NzL3NoYWRvdy1kb20tc2NvcGUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjcw
Y2JiYWJmNzAyOGY2OGJlNjk1NGI2ZGIwOWYwY2FkZTBkZjI3NTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9zaGFkb3ctZG9tLXNjb3BlLWV4cGVjdGVkLnR4dApAQCAt
MCwwICsxLDUgQEAKK1Rlc3RzIHdoZXRoZXIgYW5kIGhvdyBzZWxlY3RvcnMgY3Jvc3Mgc2hhZG93
IERPTSBzY29wZXMuCisKK2RpdiBzaG91bGQgbm90IG1hdGNoOiBQQVNTCisqIHNob3VsZCBub3Qg
bWF0Y2g6IFBBU1MKK2JvZHkgKiBzaG91bGQgbm90IG1hdGNoOiBQQVNTCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L2Nzcy9zaGFkb3ctZG9tLXNjb3BlLmh0bWwgYi9MYXlvdXRUZXN0cy9m
YXN0L2Nzcy9zaGFkb3ctZG9tLXNjb3BlLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTgwYmEzYTg0Nzc2OWZh
YTU3ZWJlNjVjMTI3MGRhZWU5MWQ5MzJkNQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2Zhc3QvY3NzL3NoYWRvdy1kb20tc2NvcGUuaHRtbApAQCAtMCwwICsxLDU2IEBACis8aHRtbD4K
KzxoZWFkPgorPHRpdGxlPlNlbGVjdG9ycyBhbmQgU2hhZG93IFNjb3BlczwvdGl0bGU+Cis8c3R5
bGU+CisgICAgaW5wdXRbdHlwZT1yYW5nZV0geworICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6
IG5vbmU7CisgICAgfQorPC9zdHlsZT4KKzxzY3JpcHQ+CisKK2lmICh3aW5kb3cubGF5b3V0VGVz
dENvbnRyb2xsZXIpCisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworCit2
YXIgaGVhZDsKK3ZhciBpbnB1dDsKK3ZhciBsb2dEaXY7Cit2YXIgU0VMRUNUT1JfVEVTVF9QUk9Q
RVJUSUVTID0gJyB7IGhlaWdodDogMXB4OyAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IH0nOwor
CisvLyBjb252ZW5pZW5jZSBjb25zdGFudHMKK3ZhciBNQVRDSCA9IHRydWU7Cit2YXIgTk9fTUFU
Q0ggPSBmYWxzZTsKKworZnVuY3Rpb24gbG9nKG1zZywgc3VjY2VzcykKK3sKKyAgICBsb2dEaXYu
YXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2JykpLmlubmVySFRNTCA9IG1z
ZyArICc6ICcgKyAoc3VjY2VzcyA/ICdQQVNTJyA6ICdGQUlMJyk7Cit9CisKK2Z1bmN0aW9uIHJ1
blNlbGVjdG9yVGVzdChtYXRjaEV4cGVjdGVkLCBzZWxlY3RvcikKK3sKKyAgICB2YXIgc3R5bGUg
PSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzdHlsZScpOworICAgIHN0eWxlLnRleHRDb250ZW50
ID0gc2VsZWN0b3IgKyBTRUxFQ1RPUl9URVNUX1BST1BFUlRJRVM7CisgICAgaGVhZC5hcHBlbmRD
aGlsZChzdHlsZSk7CisgICAgdmFyIG1hdGNoZWQgPSBpbnB1dC5vZmZzZXRIZWlnaHQgPT0gMTsK
KyAgICBsb2coJzxjb2RlPicgKyBzZWxlY3RvciArICc8L2NvZGU+IDxzdHJvbmc+c2hvdWxkJyAr
IChtYXRjaEV4cGVjdGVkID8gJycgOiAnIG5vdCcpICsgJzwvc3Ryb25nPiBtYXRjaCcsIG1hdGNo
RXhwZWN0ZWQgPyBtYXRjaGVkIDogIW1hdGNoZWQpOworICAgIGhlYWQucmVtb3ZlQ2hpbGQoc3R5
bGUpOworfQorCitmdW5jdGlvbiBydW5UZXN0KCkKK3sKKyAgICBoZWFkID0gZG9jdW1lbnQuZ2V0
RWxlbWVudHNCeVRhZ05hbWUoJ2hlYWQnKVswXTsKKyAgICBpbnB1dCA9IGRvY3VtZW50LmdldEVs
ZW1lbnRzQnlUYWdOYW1lKCdpbnB1dCcpWzBdOworICAgIGxvZ0RpdiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCdsb2cnKTsKKyAgICBydW5TZWxlY3RvclRlc3QoTk9fTUFUQ0gsICdkaXYnKTsK
KyAgICBydW5TZWxlY3RvclRlc3QoTk9fTUFUQ0gsICcqJyk7CisgICAgcnVuU2VsZWN0b3JUZXN0
KE5PX01BVENILCAnYm9keSAqJyk7CisgICAgZG9jdW1lbnQuYm9keS5yZW1vdmVDaGlsZChpbnB1
dCk7Cit9CisKKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJydW5UZXN0KCkiPgor
ICAgIDxwPlRlc3RzIHdoZXRoZXIgYW5kIGhvdyBzZWxlY3RvcnMgY3Jvc3Mgc2hhZG93IERPTSBz
Y29wZXMuPC9wPgorICAgIDxpbnB1dCBpZD0iZm9vIiBjbGFzcz0iYmFyIiBzdHlsZT0iaGVpZ2h0
OmF1dG8iIHR5cGU9InJhbmdlIj4KKyAgICA8ZGl2IGlkPSJsb2ciPjwvZGl2PgorPC9ib2R5Pgor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dl
YkNvcmUvQ2hhbmdlTG9nCmluZGV4IDM4ODVlYTIwYmIyOGYzNzY0YTdlMDljYzNlMWI1NGJkYmY3
M2UzYzMuLmFjY2RlN2MwMTA2OWQ5MWU0OWQ0OTgzNWIzZTU1YzAxNGE4MzlhNDYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VM
b2cKQEAgLTEsMyArMSw0MiBAQAorMjAxMS0wNC0yMCAgRGltaXRyaSBHbGF6a292ICA8ZGdsYXpr
b3ZAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIFJFR1JFU1NJT04gKHI3NTU0Myk6IFN0eWxlcyBibGVlZCBpbnRvIG5ldyBzaGFk
b3cgRE9NIChsaWtlIHNsaWRlciBhbmQgdmlkZW8pCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD01MjkxNworCisgICAgICAgIEluIG9yZGVyIHRvIGRldGVy
bWluZSB3aGV0aGVyIGEgcnVsZSBzaG91bGQgYXBwbHkgaW5zaWRlIG9mIGEgc2hhZG93IERPTSBz
dWJ0cmVlLAorICAgICAgICB3ZSBjb2xsZWN0IHRocmVlIHBpZWNlcyBvZiBpbmZvcm1hdGlvbjoK
KworICAgICAgICAxKSBBcmUgd2UgcGFyc2luZyBVQSBzaGVldHM/CisgICAgICAgIDIpIERvZXMg
dGhlIGN1cnJlbnQgdHJlZSBzY29wZSBhbGxvd3MgYXBwbHlpbmcgYXV0aG9yIHNoZWV0cz8KKyAg
ICAgICAgMykgRG9lcyB0aGUgcnVsZSBleHBsaWNpdGx5IHJlYWNoIGludG8gc2hhZG93IERPTSAo
dXNpbmcgcHNldWRvLWVsZW1lbnRzLCBmb3IgZXhhbXBsZSk/CisKKyAgICAgICAgSWYgdGhlIGFu
c3dlciB0byBhbGwgb2YgdGhlc2UgaXMgbm8sIHdlIGlnbm9yZSB0aGUgcnVsZS4KKworICAgICAg
ICBUZXN0OiBmYXN0L2Nzcy9zaGFkb3ctZG9tLXNjb3BlLmh0bWwKKworICAgICAgICAqIGNzcy9D
U1NTdHlsZVNlbGVjdG9yLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1hdGNoaW5nVUFSdWxlc1Nj
b3BlOjpNYXRjaGluZ1VBUnVsZXNTY29wZSk6IEFkZGVkIGEgc2NvcGUgaGVscGVyIHRvCisgICAg
ICAgICAgICB0cmFjayB3aGV0aGVyIHdlIGFyZSBjdXJyZW50bHkgbWF0Y2hpbmcgVUEgcnVsZXMu
CisgICAgICAgIChXZWJDb3JlOjpDU1NTdHlsZVNlbGVjdG9yOjptYXRjaFJ1bGVzRm9yTGlzdCk6
IEFkZGVkIHRoZSBjaGVjayBmb3IgdGhyZWUKKyAgICAgICAgICAgIGNvbmRpdGlvbnMgbWVudGlv
bmVkIGFib3ZlLgorICAgICAgICAoV2ViQ29yZTo6Q1NTU3R5bGVTZWxlY3Rvcjo6U2VsZWN0b3JD
aGVja2VyOjpTZWxlY3RvckNoZWNrZXIpOiBBZGRlZAorICAgICAgICAgICAgaW5pdGlhbGl6ZXIg
Zm9yIHRoZSBmbGFnLCB3aGljaCBoZWxwcyB1cyBkZXRlcm1pbmUgd2hldGhlciB0aGUgcnVsZQor
ICAgICAgICAgICAgZXhwbGljaXRseSByZWFjaGVzIGludG8gc2hhZG93IERPTS4KKyAgICAgICAg
KFdlYkNvcmU6OkNTU1N0eWxlU2VsZWN0b3I6Om1hdGNoVUFSdWxlcyk6IFN0YXJ0ZWQgdXNpbmcg
dGhlIHNjb3BlIGhlbHBlci4KKyAgICAgICAgKFdlYkNvcmU6OkNTU1N0eWxlU2VsZWN0b3I6OmNo
ZWNrU2VsZWN0b3IpOiBBZGRlZCBpbml0aWFsaXppbmcgb2YgdGhlCisgICAgICAgICAgICBmbGFn
LgorICAgICAgICAoV2ViQ29yZTo6Q1NTU3R5bGVTZWxlY3Rvcjo6U2VsZWN0b3JDaGVja2VyOjpj
aGVja09uZVNlbGVjdG9yKTogQWRkZWQgc2V0dGluZworICAgICAgICAgICAgb2YgdGhlIGZsYWcg
d2hlbiB3ZSBlbmNvdW50ZXIgdW5rbm93biBwc2V1ZG8tZWxlbWVudHMuCisgICAgICAgICogY3Nz
L0NTU1N0eWxlU2VsZWN0b3IuaDogQWRqdXN0ZWQgZGVjbHMuCisgICAgICAgICogZG9tL1NoYWRv
d1Jvb3QuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U2hhZG93Um9vdDo6YXBwbHlBdXRob3JTaGVl
dHMpOiBBZGRlZC4KKyAgICAgICAgKiBkb20vU2hhZG93Um9vdC5oOiBBZGRlZC4KKyAgICAgICAg
KiBkb20vVHJlZVNjb3BlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlRyZWVTY29wZTo6YXBwbHlB
dXRob3JTaGVldHMpOiBBZGRlZC4KKyAgICAgICAgKiBkb20vVHJlZVNjb3BlLmg6IEFkZGVkLgor
CiAyMDExLTA0LTE5ICBSb2xhbmQgU3RlaW5lciAgPHJvbGFuZHN0ZWluZXJAY2hyb21pdW0ub3Jn
PgogCiAgICAgICAgIFJldmlld2VkIGJ5IERpbWl0cmkgR2xhemtvdi4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNlbGVjdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NTdHlsZVNlbGVjdG9yLmNwcAppbmRleCAxNjA1ZWE3YmE5MGYwNWRkM2E1NWExMTY1ODMw
MWQxMjUwMzZhZmFhLi5mYzI0NmQ4NWMzMjdmOGNhZTdjODgyMzk2NDM2N2JkMmYyNmMxYzY5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5bGVTZWxlY3Rvci5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3IuY3BwCkBAIC03NDYsNiArNzQ2LDM5
IEBAIGlubGluZSBib29sIENTU1N0eWxlU2VsZWN0b3I6OmZhc3RSZWplY3RTZWxlY3Rvcihjb25z
dCBSdWxlRGF0YSYgcnVsZURhdGEpIGNvbnN0CiAgICAgcmV0dXJuIGZhbHNlOwogfQogCitjbGFz
cyBNYXRjaGluZ1VBUnVsZXNTY29wZSB7CitwdWJsaWM6CisgICAgTWF0Y2hpbmdVQVJ1bGVzU2Nv
cGUoKTsKKyAgICB+TWF0Y2hpbmdVQVJ1bGVzU2NvcGUoKTsKKworICAgIHN0YXRpYyBib29sIGlz
TWF0Y2hpbmdVQVJ1bGVzKCk7Citwcml2YXRlOgorICAgIHN0YXRpYyBib29sIG1fbWF0Y2hpbmdV
QVJ1bGVzOworfTsKKworTWF0Y2hpbmdVQVJ1bGVzU2NvcGU6Ok1hdGNoaW5nVUFSdWxlc1Njb3Bl
KCkKK3sKKyAgICBBU1NFUlQoIW1fbWF0Y2hpbmdVQVJ1bGVzKTsKKyAgICBtX21hdGNoaW5nVUFS
dWxlcyA9IHRydWU7Cit9CisKK01hdGNoaW5nVUFSdWxlc1Njb3BlOjp+TWF0Y2hpbmdVQVJ1bGVz
U2NvcGUoKQoreworICAgIG1fbWF0Y2hpbmdVQVJ1bGVzID0gZmFsc2U7Cit9CisKK2lubGluZSBi
b29sIE1hdGNoaW5nVUFSdWxlc1Njb3BlOjppc01hdGNoaW5nVUFSdWxlcygpCit7CisgICAgcmV0
dXJuIG1fbWF0Y2hpbmdVQVJ1bGVzOworfQorCitib29sIE1hdGNoaW5nVUFSdWxlc1Njb3BlOjpt
X21hdGNoaW5nVUFSdWxlcyA9IGZhbHNlOworCitpbmxpbmUgc3RhdGljIGJvb2wgbWF0Y2hlc0lu
VHJlZVNjb3BlKFRyZWVTY29wZSogdHJlZVNjb3BlLCBib29sIHJ1bGVSZWFjaGVzSW50b1NoYWRv
d0RPTSkKK3sKKyAgICByZXR1cm4gTWF0Y2hpbmdVQVJ1bGVzU2NvcGU6OmlzTWF0Y2hpbmdVQVJ1
bGVzKCkgfHwgdHJlZVNjb3BlLT5hcHBseUF1dGhvclNoZWV0cygpIHx8IHJ1bGVSZWFjaGVzSW50
b1NoYWRvd0RPTTsKK30KKwogdm9pZCBDU1NTdHlsZVNlbGVjdG9yOjptYXRjaFJ1bGVzRm9yTGlz
dChjb25zdCBWZWN0b3I8UnVsZURhdGE+KiBydWxlcywgaW50JiBmaXJzdFJ1bGVJbmRleCwgaW50
JiBsYXN0UnVsZUluZGV4LCBib29sIGluY2x1ZGVFbXB0eVJ1bGVzKQogewogICAgIGlmICghcnVs
ZXMpCkBAIC03NjAsNiArNzkzLDggQEAgdm9pZCBDU1NTdHlsZVNlbGVjdG9yOjptYXRjaFJ1bGVz
Rm9yTGlzdChjb25zdCBWZWN0b3I8UnVsZURhdGE+KiBydWxlcywgaW50JiBmaXIKICAgICAgICAg
aWYgKGNhblVzZUZhc3RSZWplY3QgJiYgZmFzdFJlamVjdFNlbGVjdG9yKHJ1bGVEYXRhKSkKICAg
ICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICBpZiAoY2hlY2tTZWxlY3RvcihydWxlRGF0YSkp
IHsKKyAgICAgICAgICAgIGlmICghbWF0Y2hlc0luVHJlZVNjb3BlKG1fZWxlbWVudC0+dHJlZVNj
b3BlKCksIG1fY2hlY2tlci5tX2hhc1Vua25vd25Qc2V1ZG9FbGVtZW50cykpCisgICAgICAgICAg
ICAgICAgY29udGludWU7CiAgICAgICAgICAgICAvLyBJZiB0aGUgcnVsZSBoYXMgbm8gcHJvcGVy
dGllcyB0byBhcHBseSwgdGhlbiBpZ25vcmUgaXQgaW4gdGhlIG5vbi1kZWJ1ZyBtb2RlLgogICAg
ICAgICAgICAgQ1NTU3R5bGVSdWxlKiBydWxlID0gcnVsZURhdGEucnVsZSgpOwogICAgICAgICAg
ICAgQ1NTTXV0YWJsZVN0eWxlRGVjbGFyYXRpb24qIGRlY2wgPSBydWxlLT5kZWNsYXJhdGlvbigp
OwpAQCAtODgxLDYgKzkxNiw3IEBAIENTU1N0eWxlU2VsZWN0b3I6OlNlbGVjdG9yQ2hlY2tlcjo6
U2VsZWN0b3JDaGVja2VyKERvY3VtZW50KiBkb2N1bWVudCwgYm9vbCBzdHJpCiAgICAgLCBtX3Nh
bWVPcmlnaW5Pbmx5KGZhbHNlKQogICAgICwgbV9wc2V1ZG9TdHlsZShOT1BTRVVETykKICAgICAs
IG1fZG9jdW1lbnRJc0hUTUwoZG9jdW1lbnQtPmlzSFRNTERvY3VtZW50KCkpCisgICAgLCBtX2hh
c1Vua25vd25Qc2V1ZG9FbGVtZW50cyhmYWxzZSkKICAgICAsIG1fbWF0Y2hWaXNpdGVkUHNldWRv
Q2xhc3MoZmFsc2UpCiB7CiB9CkBAIC0xMTY4LDYgKzEyMDQsOCBAQCBBTFdBWVNfSU5MSU5FIFJl
bmRlclN0eWxlKiBDU1NTdHlsZVNlbGVjdG9yOjpsb2NhdGVTaGFyZWRTdHlsZSgpCiAKIHZvaWQg
Q1NTU3R5bGVTZWxlY3Rvcjo6bWF0Y2hVQVJ1bGVzKGludCYgZmlyc3RVQVJ1bGUsIGludCYgbGFz
dFVBUnVsZSkKIHsKKyAgICBNYXRjaGluZ1VBUnVsZXNTY29wZSBzY29wZTsKKwogICAgIC8vIEZp
cnN0IHdlIG1hdGNoIHJ1bGVzIGZyb20gdGhlIHVzZXIgYWdlbnQgc2hlZXQuCiAgICAgUnVsZVNl
dCogdXNlckFnZW50U3R5bGVTaGVldCA9IG1fbWVkaXVtLT5tZWRpYVR5cGVNYXRjaFNwZWNpZmlj
KCJwcmludCIpCiAgICAgICAgID8gZGVmYXVsdFByaW50U3R5bGUgOiBkZWZhdWx0U3R5bGU7CkBA
IC0yMDQxLDYgKzIwNzksNyBAQCBQYXNzUmVmUHRyPENTU1J1bGVMaXN0PiBDU1NTdHlsZVNlbGVj
dG9yOjpwc2V1ZG9TdHlsZVJ1bGVzRm9yRWxlbWVudChFbGVtZW50KiBlLAogaW5saW5lIGJvb2wg
Q1NTU3R5bGVTZWxlY3Rvcjo6Y2hlY2tTZWxlY3Rvcihjb25zdCBSdWxlRGF0YSYgcnVsZURhdGEp
CiB7CiAgICAgbV9keW5hbWljUHNldWRvID0gTk9QU0VVRE87CisgICAgbV9jaGVja2VyLm1faGFz
VW5rbm93blBzZXVkb0VsZW1lbnRzID0gZmFsc2U7CiAKICAgICAvLyBMZXQgdGhlIHNsb3cgcGF0
aCBoYW5kbGUgU1ZHIGFzIGl0IGhhcyBzb21lIGFkZGl0aW9uYWwgcnVsZXMgcmVnYXJkaW5nIHNo
YWRvdyB0cmVlcy4KICAgICBpZiAocnVsZURhdGEuaGFzRmFzdENoZWNrYWJsZVNlbGVjdG9yKCkg
JiYgIW1fZWxlbWVudC0+aXNTVkdFbGVtZW50KCkpIHsKQEAgLTI5MzksNiArMjk3OCw5IEBAIGJv
b2wgQ1NTU3R5bGVTZWxlY3Rvcjo6U2VsZWN0b3JDaGVja2VyOjpjaGVja09uZVNlbGVjdG9yKENT
U1NlbGVjdG9yKiBzZWwsIEVsZW1lCiAgICAgICAgIGlmICghZWxlbWVudFN0eWxlICYmICFtX2Nv
bGxlY3RSdWxlc09ubHkpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAKKyAgICAgICAgaWYg
KHNlbC0+aXNVbmtub3duUHNldWRvRWxlbWVudCgpKQorICAgICAgICAgICAgbV9oYXNVbmtub3du
UHNldWRvRWxlbWVudHMgPSB0cnVlOworCiAgICAgICAgIFBzZXVkb0lkIHBzZXVkb0lkID0gQ1NT
U2VsZWN0b3I6OnBzZXVkb0lkKHNlbC0+cHNldWRvVHlwZSgpKTsKICAgICAgICAgaWYgKHBzZXVk
b0lkID09IEZJUlNUX0xFVFRFUikgewogICAgICAgICAgICAgaWYgKERvY3VtZW50KiBkb2N1bWVu
dCA9IGUtPmRvY3VtZW50KCkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5
bGVTZWxlY3Rvci5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxlU2VsZWN0b3IuaAppbmRl
eCBjYTUxMmZkYjNkYjE0ZDIzYzgyOTI0ZmIwODg0ZGE3YzM0NWU2NDU0Li5kZTM0Y2IxZTc5NTky
NTNmODIxNTNjNTc3N2I1NzhjZDVlNDNjYTVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTU3R5bGVTZWxlY3Rvci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVNl
bGVjdG9yLmgKQEAgLTI3NSw2ICsyNzUsNyBAQCBwdWJsaWM6CiAgICAgICAgICAgICBib29sIG1f
c2FtZU9yaWdpbk9ubHk7CiAgICAgICAgICAgICBQc2V1ZG9JZCBtX3BzZXVkb1N0eWxlOwogICAg
ICAgICAgICAgYm9vbCBtX2RvY3VtZW50SXNIVE1MOworICAgICAgICAgICAgbXV0YWJsZSBib29s
IG1faGFzVW5rbm93blBzZXVkb0VsZW1lbnRzOwogICAgICAgICAgICAgbXV0YWJsZSBib29sIG1f
bWF0Y2hWaXNpdGVkUHNldWRvQ2xhc3M7CiAgICAgICAgICAgICBtdXRhYmxlIEhhc2hTZXQ8TGlu
a0hhc2gsIExpbmtIYXNoSGFzaD4gbV9saW5rc0NoZWNrZWRGb3JWaXNpdGVkU3RhdGU7CiAgICAg
ICAgIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vU2hhZG93Um9vdC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9kb20vU2hhZG93Um9vdC5jcHAKaW5kZXggZTU0NzY3ZTgwZDZlN2VjMTkz
NjE3NDgxMTY2NjNlOTAwYzhiMTJkZS4uZGU1MGExYTAyMGUzYWE5YjYwMDk4NTczZjA0NjIxZjZj
NDg1YzQ1YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1NoYWRvd1Jvb3QuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9TaGFkb3dSb290LmNwcApAQCAtODksNCArODksOSBAQCB2
b2lkIFNoYWRvd1Jvb3Q6OnJlY2FsY1N0eWxlKFN0eWxlQ2hhbmdlIGNoYW5nZSkKICAgICBjbGVh
ckNoaWxkTmVlZHNTdHlsZVJlY2FsYygpOwogfQogCitib29sIFNoYWRvd1Jvb3Q6OmFwcGx5QXV0
aG9yU2hlZXRzKCkgY29uc3QKK3sKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKIH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9TaGFkb3dSb290LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20v
U2hhZG93Um9vdC5oCmluZGV4IGRiNTFiMmIzYTc1YjliMDY1MjhlYzNlZmNjNzgwY2UwNTRiNWYx
YzguLjk2NTJmODE4MTllNmQwZTA5M2E2OGFlMWFlNTAzMzI4M2UzMGU3YmEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2RvbS9TaGFkb3dSb290LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9t
L1NoYWRvd1Jvb3QuaApAQCAtNDgsNiArNDgsNyBAQCBwcml2YXRlOgogICAgIHZpcnR1YWwgTm9k
ZVR5cGUgbm9kZVR5cGUoKSBjb25zdDsKICAgICB2aXJ0dWFsIFBhc3NSZWZQdHI8Tm9kZT4gY2xv
bmVOb2RlKGJvb2wgZGVlcCk7CiAgICAgdmlydHVhbCBib29sIGNoaWxkVHlwZUFsbG93ZWQoTm9k
ZVR5cGUpIGNvbnN0OworICAgIHZpcnR1YWwgYm9vbCBhcHBseUF1dGhvclNoZWV0cygpIGNvbnN0
OwogfTsKIAogaW5saW5lIFBhc3NSZWZQdHI8U2hhZG93Um9vdD4gU2hhZG93Um9vdDo6Y3JlYXRl
KERvY3VtZW50KiBkb2N1bWVudCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9UcmVl
U2NvcGUuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL1RyZWVTY29wZS5jcHAKaW5kZXggYzhkYzA3
ZWU3YzMyMzUwZTQ5ZWRhZTk4MzI2OGMwZDliOWViZGZhYi4uMGU5OWQ2ZmYwMTg5MTJlMWYwZGRk
Y2M3ODljMjkyNWE1NTUwZGU1YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1RyZWVT
Y29wZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1RyZWVTY29wZS5jcHAKQEAgLTE1OCw1
ICsxNTgsMTAgQEAgRWxlbWVudCogVHJlZVNjb3BlOjpmaW5kQW5jaG9yKGNvbnN0IFN0cmluZyYg
bmFtZSkKICAgICByZXR1cm4gMDsKIH0KIAorYm9vbCBUcmVlU2NvcGU6OmFwcGx5QXV0aG9yU2hl
ZXRzKCkgY29uc3QKK3sKKyAgICByZXR1cm4gdHJ1ZTsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vVHJlZVNjb3BlLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9kb20vVHJlZVNjb3BlLmgKaW5kZXggMWY5MGEwOTE3NWY4Y2E2MjkyYmRkY2Iy
YzM1MDM0NjNkNWFmMzlmMy4uNGJiZGUxMDljNzlkMjBjN2UzM2RkMjRkYzIxM2MwZDFiMWUzYzBi
YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL1RyZWVTY29wZS5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9UcmVlU2NvcGUuaApAQCAtNjUsNiArNjUsOCBAQCBwdWJsaWM6CiAgICAg
Ly8gcXVpcmtzIG1vZGUgZm9yIGhpc3RvcmljYWwgY29tcGF0aWJpbGl0eSByZWFzb25zLgogICAg
IEVsZW1lbnQqIGZpbmRBbmNob3IoY29uc3QgU3RyaW5nJiBuYW1lKTsKIAorICAgIHZpcnR1YWwg
Ym9vbCBhcHBseUF1dGhvclNoZWV0cygpIGNvbnN0OworCiBwcm90ZWN0ZWQ6CiAgICAgVHJlZVNj
b3BlKERvY3VtZW50Kik7CiAgICAgdmlydHVhbCB+VHJlZVNjb3BlKCk7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>