<?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>18027</bug_id>
          
          <creation_ts>2008-03-23 14:10:27 -0700</creation_ts>
          <short_desc>CSS3 Selector Test: combination of hover and multiple chained sibling selector fails in Webkit</short_desc>
          <delta_ts>2016-06-07 20:12:44 -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>CSS</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>http://disruptive-innovations.com/zoo/css3tests/selectorTest.html#target</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>HasReduction</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>93304</blocked>
    
    <blocked>12520</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Robert Blaut">webkit</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>abarth</cc>
    
    <cc>adele</cc>
    
    <cc>allan.jensen</cc>
    
    <cc>bdakin</cc>
    
    <cc>divya</cc>
    
    <cc>eric</cc>
    
    <cc>hyatt</cc>
    
    <cc>Justin</cc>
    
    <cc>mike</cc>
    
    <cc>webkit</cc>
    
    <cc>yusukes</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>74883</commentid>
    <comment_count>0</comment_count>
    <who name="Robert Blaut">webkit</who>
    <bug_when>2008-03-23 14:10:27 -0700</bug_when>
    <thetext>The CSS3 selector test suite check this particular case: 

.t1:hover + .unitTest + .unitTest { background-color: red; }

It fails in Webkit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>74884</commentid>
    <comment_count>1</comment_count>
      <attachid>19987</attachid>
    <who name="Robert Blaut">webkit</who>
    <bug_when>2008-03-23 14:10:51 -0700</bug_when>
    <thetext>Created attachment 19987
test case</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>93612</commentid>
    <comment_count>2</comment_count>
      <attachid>23996</attachid>
    <who name="Teun">teun</who>
    <bug_when>2008-10-01 15:03:37 -0700</bug_when>
    <thetext>Created attachment 23996
Mac OS X-like dock tryout with 2 nextsibling selectors (like b:hover + b + b).

Added this attachment o show why this bug is important (to me).
If you want to create a mac os x-style dock, you need the span:hover+span+span selector to work.

I removed all the styling to make the item under the mouse pointer the largest, for easier testing.

Move the mouse from a to g to see the effect. The 3rd letter should be bigger.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>100176</commentid>
    <comment_count>3</comment_count>
    <who name="M.K. van Achterberg">gaviidae</who>
    <bug_when>2008-11-24 23:26:59 -0800</bug_when>
    <thetext>Ok, first post, I&apos;ll prolly do a lot of things wrong here : )
I ran into this bug while building a CSS map, and figured it was a bug and wrote it off.  But making more maps showed that *sometimes* webkit DOES work, though not well.
I made a simple test case, however I have not been able to discover what makes it *kinda* work-- I&apos;ve tried to undo every difference between my two pages.  I still have a few ideas to try out but it will take a long time.
My test page with the reduced bug has links to the two complicated cases, &quot;Europa&quot; where it completely doesn&apos;t work, and &quot;North America&quot; where it works partially.  Both cases work completely in Konqueror and fail/half-work in Chrome.
http://stommepoes.nl/Tests/safaricombinator.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>134850</commentid>
    <comment_count>4</comment_count>
      <attachid>33521</attachid>
    <who name="Yusuke Sato">yusukes</who>
    <bug_when>2009-07-27 00:11:39 -0700</bug_when>
    <thetext>Created attachment 33521
hover-adjacent-v1


---
 15 files changed, 299 insertions(+), 5 deletions(-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>134853</commentid>
    <comment_count>5</comment_count>
    <who name="Yusuke Sato">yusukes</who>
    <bug_when>2009-07-27 00:58:26 -0700</bug_when>
    <thetext>I&apos;ve confirmed that overall rendering performance is not degraded by this patch, using iBench 5.0.

Here is the result:

(1) without the patch

 HTML Load Speed                     
   All iterations      16.49            
   First iteration (downloaded)      4.6            
   Subsequent iteration (cached)      1.7            
 XML / CSS Load Speed                     
   All iterations      12.24            
   First iteration (downloaded)      2.55            
   Subsequent iteration (cached)      1.94            
 JavaScript         0.17
 HTML W3C DOM
   Overall      0.34            
   Sorting      0.25            
   DOM      0.9    

(2) with the patch

 HTML Load Speed                     
   All iterations      15.51            
   First iteration (downloaded)      3.89            
   Subsequent iteration (cached)      1.66    
 XML / CSS Load Speed                     
   All iterations      12.19            
   First iteration (downloaded)      2.57            
   Subsequent iteration (cached)      1.92       
 JavaScript         0.15
 HTML W3C DOM
   Overall      0.35            
   Sorting      0.26            
   DOM      0.9


--Yusuke


(In reply to comment #4)
&gt; Created an attachment (id=33521) [details]
&gt; hover-adjacent-v1
&gt; 
&gt; 
&gt; ---
&gt;  15 files changed, 299 insertions(+), 5 deletions(-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>137690</commentid>
    <comment_count>6</comment_count>
      <attachid>33521</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-08-06 16:56:56 -0700</bug_when>
    <thetext>Comment on attachment 33521
hover-adjacent-v1

I&apos;m not sure why your&apos;e using such a super-wide indent her:
+            function log(msg) {
+                var console = document.getElementById(&apos;console&apos;);
+                console.innerText += msg;
+            }
Tabs?

FAILED/PASSED stuff is done for you if you use the js testing framework in fast/js/resources.  Not necessary here, but you should know for the future.

It would be better to test these with dumpAsText tests if possible.  window.getComputedStyle() should be able to help you there.

Hyatt will likely be needed to review the actual code change.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>138034</commentid>
    <comment_count>7</comment_count>
      <attachid>33521</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-08-07 12:21:28 -0700</bug_when>
    <thetext>Comment on attachment 33521
hover-adjacent-v1

r- for tabs.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>142298</commentid>
    <comment_count>8</comment_count>
      <attachid>38476</attachid>
    <who name="Yusuke Sato">yusukes</who>
    <bug_when>2009-08-24 04:10:52 -0700</bug_when>
    <thetext>Created attachment 38476
hover-adjacent-v2


---
 9 files changed, 238 insertions(+), 5 deletions(-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>142299</commentid>
    <comment_count>9</comment_count>
    <who name="Yusuke Sato">yusukes</who>
    <bug_when>2009-08-24 04:14:36 -0700</bug_when>
    <thetext>Thanks for your review! I&apos;ve attached the v2 patch:
- added dumpAsText().
- removed PNGs and its checksums.
- fixed indent level.

Could you take another look?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>144401</commentid>
    <comment_count>10</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-09-03 00:23:09 -0700</bug_when>
    <thetext>In general this looks fine to me.  The code change itself is about 5 lines.  I would like Hyatt to look at the code change and give the final r+.

You will have the best luck reaching hyatt via irc or email.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>154397</commentid>
    <comment_count>11</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2009-10-13 13:03:05 -0700</bug_when>
    <thetext>Hyatt, this 3-line patch has been waiting for over a month.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>156616</commentid>
    <comment_count>12</comment_count>
      <attachid>38476</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-10-21 12:44:49 -0700</bug_when>
    <thetext>Comment on attachment 38476
hover-adjacent-v2

No objections or commentary in the 3 months that this patch has been up for review.

As far as I can tell, this looks fine to me.

Yusuke, this will cause failure on other platforms since you&apos;re only adding Mac results.

We have 3 options:
1.  Move the results next to the tests instead of in platform/mac.
2.  Add results for other platforms (only necessary if they differ, otherwise #1 is better).
3.  Make these tests dumpAsText (possible by using getComputedStyle).

If the tests were OK, I would r+ this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>156946</commentid>
    <comment_count>13</comment_count>
      <attachid>41669</attachid>
    <who name="Yusuke Sato">yusukes</who>
    <bug_when>2009-10-22 11:17:46 -0700</bug_when>
    <thetext>Created attachment 41669
hover-adjacent-v3


---
 9 files changed, 232 insertions(+), 5 deletions(-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>156947</commentid>
    <comment_count>14</comment_count>
    <who name="Yusuke Sato">yusukes</who>
    <bug_when>2009-10-22 11:20:26 -0700</bug_when>
    <thetext>Thanks Eric. Did #1 and #3.
Please take another look.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>166644</commentid>
    <comment_count>15</comment_count>
      <attachid>41669</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-11-25 22:22:53 -0800</bug_when>
    <thetext>Comment on attachment 41669
hover-adjacent-v3

Sorry.  Bugs tend to get lost in the queue. :(

OK, tests are better, but still not as easy to read as they should be.

+
+The green square should turn red when the textarea is focused.
+
+Test passed.

You could easily hide the &quot;green square&quot; stuff when in DumpRenderTree, you can look for layoutTestController.  it&apos;s OK as is, but could be better.

Also:

PASS -- explanation why it passed

is better than putting &quot;pass&quot; latter in the sentence as it&apos;s easier for people to scan.  See the script-test examples in the tree, their output is PASS : reason and FAIL : reason.

Likewise, this is also confusing when reading as text:
+The third square should be green and turn red when the pointer hovers over the first black square.
+
+Test for https://bugs.webkit.org/show_bug.cgi?id=18027 - CSS3 Selector Test: combination of hover and multiple chained sibling selector fails in Webkit.
+
+The hover effect works!

Extra junk not needed in tests:
+&lt;!DOCTYPE html&gt;
+&lt;html&gt;
+&lt;head&gt;
+&lt;title&gt;&lt;/title&gt;

Overall this looks like a good change.  I really need to write a document about writing great layout tests.  Your tests should be as short as possible and super-easy to read/understand.  The problem is that most people won&apos;t have nearly the level of understanding that you do about the issue, so you need to make your tests super-easy to read/understand so that they can make quick judgements about what is passing/failing or what might be wrong.  This is why we try to encourage things like script-tests as they&apos;re generally easy to read. :)


Why do the tests need to be run from onload?  It&apos;s OK for them to be run from onload, but moving the &lt;script&gt; tag to the end of the body instead would have the same effect (or very similar).

I think we should go one more round on improving the tests here.  Please just email me when you update it and I&apos;ll be happy to review it right away!  Again, my apologies for the horrible delay!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>213892</commentid>
    <comment_count>16</comment_count>
      <attachid>53654</attachid>
    <who name="Stephanie Hobson">sjhobson</who>
    <bug_when>2010-04-18 20:48:15 -0700</bug_when>
    <thetext>Created attachment 53654
Test page to reproduce problem.

Test file to reproduce bug. Also reproduces Bug 12520 and I attached it there too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>303388</commentid>
    <comment_count>17</comment_count>
    <who name="Divya Manian">divya</who>
    <bug_when>2010-11-02 08:54:00 -0700</bug_when>
    <thetext>I just want to mention that this applies to hover with general sibling combinator as well. An example here:

http://dl.dropbox.com/u/952/cssvocab/index.html

Hover on the left curly bracket in Webkit browsers and on non-webkit browsers to see the bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1200302</commentid>
    <comment_count>18</comment_count>
    <who name="Chris Rebert">webkit</who>
    <bug_when>2016-06-07 20:12:44 -0700</bug_when>
    <thetext>Unable to reproduce in current WebKit Nightly.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>19987</attachid>
            <date>2008-03-23 14:10:51 -0700</date>
            <delta_ts>2008-03-23 14:10:51 -0700</delta_ts>
            <desc>test case</desc>
            <filename>test-case</filename>
            <type>text/html</type>
            <size>426</size>
            <attacher name="Robert Blaut">webkit</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIGh0bWw+CjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CiAgICBkaXYgeyBib3JkZXI6
IDFweCBzb2xpZDsgaGVpZ2h0OiAxZW07IG1hcmdpbi1ib3R0b206MC41ZW19CiAgICAudGVzdCB7
IGJhY2tncm91bmQtY29sb3I6IHdoaXRlOyB9CiAgICAudGVzdCArIGRpdiArIGRpdiArIGRpdiAg
eyBiYWNrZ3JvdW5kLWNvbG9yOiBibHVlOyB9CiAgICAudGVzdDpob3ZlciArIGRpdiArIGRpdiAr
IGRpdiB7IGJhY2tncm91bmQtY29sb3I6IGxpbWU7IH0KPC9zdHlsZT4KPGRpdiBjbGFzcz0idGVz
dCI+dGhlIGxhc3QgZGl2IHNob3VsZCBiZSBibHVlIGFuZCBiZWNvbWUgZ3JlZW4gd2hlbiB0aGUg
cG9pbnRlciBob3ZlcnMgb3ZlciB0aGUgRklSU1Qgd2hpdGUgZGl2PC9kaXY+CjxkaXY+PC9kaXY+
CjxkaXY+PC9kaXY+CjxkaXY+PC9kaXY+Cgog
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>23996</attachid>
            <date>2008-10-01 15:03:37 -0700</date>
            <delta_ts>2008-10-01 15:03:37 -0700</delta_ts>
            <desc>Mac OS X-like dock tryout with 2 nextsibling selectors (like b:hover + b + b).</desc>
            <filename>css3dock-nextsiblingselectorbug.html</filename>
            <type>text/html</type>
            <size>647</size>
            <attacher name="Teun">teun</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgU3RyaWN0Ly9FTiIg
Imh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXN0cmljdC5kdGQiPgo8aHRt
bCB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCIgeG1sOmxhbmc9ImVuIj4KPGhl
YWQ+Cgk8dGl0bGU+Q1NTMyBUZXN0IFBhZ2U8L3RpdGxlPgoJPHN0eWxlPgpkaXYuZG9jawp7Cgli
YWNrZ3JvdW5kLWNvbG9yOiAjREVGOwp9CmRpdi5kb2NrIHNwYW4KewoJY3Vyc29yOiBwb2ludGVy
OwoJdmVydGljYWwtYWxpZ246IHRvcDsKCWJhY2tncm91bmQtY29sb3I6ICNGRUQ7Cglmb250LXNp
emU6IDRlbTsKfQpkaXYuZG9jayBzcGFuOmhvdmVyLGRpdi5kb2NrIHNwYW46aG92ZXIgKyBzcGFu
ICsgc3Bhbgp7Cglmb250LXNpemU6IDVlbTsKfQpkaXYuZG9jayBzcGFuOmhvdmVyICsgc3Bhbgp7
Cglmb250LXNpemU6IDZlbTsKfQoJPC9zdHlsZT4KPC9oZWFkPgo8Ym9keT4KCTxkaXYgY2xhc3M9
ImRvY2siPgoJCTxzcGFuPkE8L3NwYW4+PHNwYW4+Qjwvc3Bhbj48c3Bhbj5DPC9zcGFuPjxzcGFu
PkQ8L3NwYW4+PHNwYW4+RTwvc3Bhbj48c3Bhbj5GPC9zcGFuPjxzcGFuPkc8L3NwYW4+Cgk8L2Rp
dj4KPC9ib2R5Pgo8L2h0bWw+Cgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>33521</attachid>
            <date>2009-07-27 00:11:39 -0700</date>
            <delta_ts>2009-08-24 04:10:47 -0700</delta_ts>
            <desc>hover-adjacent-v1</desc>
            <filename>bug-18027-20090727161137.patch</filename>
            <type>text/plain</type>
            <size>20292</size>
            <attacher name="Yusuke Sato">yusukes</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBiNGQ1MDQzLi45OTZlYThhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjYgQEAKKzIwMDktMDct
MjYgIFl1c3VrZSBTYXRvICA8eXVzdWtlc0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ1NTMyBTZWxlY3RvciBUZXN0OiBjb21i
aW5hdGlvbiBvZiBob3ZlciBhbmQgZ2VuZXJhbCBzaWJsaW5nIHNlbGVjdG9yIGZhaWxzIGluIFdl
YmtpdC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4
MDI2CisKKyAgICAgICAgQ1NTMyBTZWxlY3RvciBUZXN0OiBjb21iaW5hdGlvbiBvZiBob3ZlciBh
bmQgbXVsdGlwbGUgY2hhaW5lZCBzaWJsaW5nIHNlbGVjdG9yIGZhaWxzIGluIFdlYmtpdC4KKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4MDI3CisgICAg
ICAgIAorICAgICAgICAqIGZhc3QvY3NzL2ZvY3VzLWRpcmVjdC1hZGphY2VudC5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBmYXN0L2Nzcy9ob3Zlci1kaXJlY3QtYWRqYWNlbnQuaHRtbDogQWRkZWQu
CisgICAgICAgICogZmFzdC9jc3MvaG92ZXItaW5kaXJlY3QtYWRqYWNlbnQuaHRtbDogQWRkZWQu
CisgICAgICAgICogcGxhdGZvcm0vbWFjL2Zhc3QvY3NzL2ZvY3VzLWRpcmVjdC1hZGphY2VudC1l
eHBlY3RlZC5jaGVja3N1bTogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vbWFjL2Zhc3QvY3Nz
L2ZvY3VzLWRpcmVjdC1hZGphY2VudC1leHBlY3RlZC5wbmc6IEFkZGVkLgorICAgICAgICAqIHBs
YXRmb3JtL21hYy9mYXN0L2Nzcy9mb2N1cy1kaXJlY3QtYWRqYWNlbnQtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC9jc3MvaG92ZXItZGlyZWN0LWFkamFj
ZW50LWV4cGVjdGVkLmNoZWNrc3VtOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFz
dC9jc3MvaG92ZXItZGlyZWN0LWFkamFjZW50LWV4cGVjdGVkLnBuZzogQWRkZWQuCisgICAgICAg
ICogcGxhdGZvcm0vbWFjL2Zhc3QvY3NzL2hvdmVyLWRpcmVjdC1hZGphY2VudC1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L2Nzcy9ob3Zlci1pbmRpcmVj
dC1hZGphY2VudC1leHBlY3RlZC5jaGVja3N1bTogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0v
bWFjL2Zhc3QvY3NzL2hvdmVyLWluZGlyZWN0LWFkamFjZW50LWV4cGVjdGVkLnBuZzogQWRkZWQu
CisgICAgICAgICogcGxhdGZvcm0vbWFjL2Zhc3QvY3NzL2hvdmVyLWluZGlyZWN0LWFkamFjZW50
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisKIDIwMDktMDctMjMgIE1hcmsgUm93ZSAgPG1yb3dlQGFw
cGxlLmNvbT4KIAogICAgICAgICBSdWJiZXItc3RhbXBlZCBieSBCcmFkeSBFaWRzb24uCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9mb2N1cy1kaXJlY3QtYWRqYWNlbnQuaHRtbCBi
L0xheW91dFRlc3RzL2Zhc3QvY3NzL2ZvY3VzLWRpcmVjdC1hZGphY2VudC5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA0MTg3NjkKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L2Nzcy9mb2N1cy1kaXJlY3QtYWRqYWNlbnQuaHRtbApAQCAtMCwwICsx
LDM2IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8dGl0bGU+PC90aXRsZT4K
KzxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CisgICAgLnQyIHsgd2lkdGg6IDEwcHg7IGhlaWdodDog
MTBweDsgfQorICAgIC50MiB7IGJhY2tncm91bmQtY29sb3I6ICMwMGZmMDA7IH0KKyAgICAudDE6
Zm9jdXMgKyAudDIgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjZmYwMDAwOyB9Cis8L3N0eWxlPgorPHNj
cmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgorICAgICAgICAgICAgZnVuY3Rpb24gbG9nKG1z
ZykgeworICAgICAgICAgICAgICAgIHZhciBjb25zb2xlID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoJ2NvbnNvbGUnKTsKKyAgICAgICAgICAgICAgICBjb25zb2xlLmlubmVyVGV4dCArPSBtc2c7
CisgICAgICAgICAgICB9CisgICAgICAgICAgICBmdW5jdGlvbiB0ZXN0KCkgeworICAgICAgICAg
ICAgICAgIGlmICghd2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSAKKyAgICAgICAgICAgICAg
ICAgICAgcmV0dXJuOworCisgICAgICAgICAgICAgICAgdmFyIHRhYmxlUm93ID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoJzInKTsKKyAgICAgICAgICAgICAgICB2YXIgY2FsY3VsYXRlZFN0eWxl
ID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUodGFibGVSb3cpOworICAgICAgICAgICAgICAgIGlm
IChjYWxjdWxhdGVkU3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgnYmFja2dyb3VuZC1jb2xvcicpID09
ICJyZ2IoMjU1LCAwLCAwKSIpCisgICAgICAgICAgICAgICAgICAgIGxvZygiUEFTU0VEOiBUaGUg
OmZvY3VzIGVmZmVjdCB3b3JrcyEiKTsKKyAgICAgICAgICAgICAgICBlbHNlCisgICAgICAgICAg
ICAgICAgICAgIGxvZygiRkFJTEVEOiBUaGUgOmZvY3VzIGVmZmVjdCBkaWQgbm90IGNvcnJlY3Rs
eSBwcm9wYWdhdGUgZG93biB0aGUgbGF5ZXIgY2hhaW4uIik7CisgICAgICAgICAgICB9Cis8L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0idGVzdCgpIj4KKzxpbnB1dCBpZD0iMSIgY2xh
c3M9InQxIiBhdXRvZm9jdXM+PC9kaXY+Cis8ZGl2IGlkPSIyIiBjbGFzcz0idDIiPjwvZGl2Pgor
PHA+CitUaGUgZ3JlZW4gc3F1YXJlIHNob3VsZCB0dXJuIHJlZCB3aGVuIHRoZSB0ZXh0YXJlYSBp
cyBmb2N1c2VkLgorPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8L2JvZHk+Cis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9ob3Zlci1kaXJlY3QtYWRqYWNl
bnQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvY3NzL2hvdmVyLWRpcmVjdC1hZGphY2VudC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY3MDNjYmMKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9ob3Zlci1kaXJlY3QtYWRqYWNlbnQuaHRtbApA
QCAtMCwwICsxLDY1IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8dGl0bGU+
PC90aXRsZT4KKzxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CisgICAgLnQxLCAudDIgeyB3aWR0aDog
MTBweDsgaGVpZ2h0OiAxMHB4OyBtYXJnaW46IDFweDsgZmxvYXQ6IGxlZnQ7IH0KKyAgICAudDEg
eyBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwMDAwOyB9CisgICAgLnQyIHsgYmFja2dyb3VuZC1jb2xv
cjogIzAwZmYwMDsgfQorICAgIC50MTpob3ZlciArIC50MiArIC50MiB7IGJhY2tncm91bmQtY29s
b3I6ICNmZjAwMDA7IH0KKzwvc3R5bGU+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+
CisgICAgICAgICAgICBmdW5jdGlvbiBsb2cobXNnKSB7CisgICAgICAgICAgICAgICAgdmFyIGNv
bnNvbGUgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY29uc29sZScpOworICAgICAgICAgICAg
ICAgIGNvbnNvbGUuaW5uZXJUZXh0ICs9IG1zZzsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAg
IHZhciB0ZXN0ZWRIb3ZlclN0YXRlID0gZmFsc2U7CisgICAgICAgICAgICBmdW5jdGlvbiB0ZXN0
SG92ZXJTdGF0ZSgpIHsKKyAgICAgICAgICAgICAgICBpZiAoKCF3aW5kb3cubGF5b3V0VGVzdENv
bnRyb2xsZXIpIHx8IHRlc3RlZEhvdmVyU3RhdGUpCisgICAgICAgICAgICAgICAgICAgIHJldHVy
bjsKKyAgICAgICAgICAgICAgICB0ZXN0ZWRIb3ZlclN0YXRlID0gdHJ1ZTsKKworICAgICAgICAg
ICAgICAgIHZhciB0YWJsZVJvdyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCcxJyk7CisgICAg
ICAgICAgICAgICAgdmFyIGNhbGN1bGF0ZWRTdHlsZSA9IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxl
KHRhYmxlUm93KTsKKyAgICAgICAgICAgICAgICBpZiAoY2FsY3VsYXRlZFN0eWxlLmdldFByb3Bl
cnR5VmFsdWUoJ2JhY2tncm91bmQtY29sb3InKSAhPSAicmdiKDAsIDAsIDApIikgeworICAgICAg
ICAgICAgICAgICAgICBsb2coIkZBSUxFRDogVGhlIGhvdmVyIGVmZmVjdCBkaWQgbm90IGNvcnJl
Y3RseSBwcm9wYWdhdGUgZG93biB0aGUgbGF5ZXIgY2hhaW4uIik7CisgICAgICAgICAgICAgICAg
ICAgIHJldHVybjsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgdGFibGVSb3cg
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnMicpOworICAgICAgICAgICAgICAgIGNhbGN1bGF0
ZWRTdHlsZSA9IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKHRhYmxlUm93KTsKKyAgICAgICAgICAg
ICAgICBpZiAoY2FsY3VsYXRlZFN0eWxlLmdldFByb3BlcnR5VmFsdWUoJ2JhY2tncm91bmQtY29s
b3InKSAhPSAicmdiKDAsIDI1NSwgMCkiKSB7CisgICAgICAgICAgICAgICAgICAgIGxvZygiRkFJ
TEVEOiBUaGUgaG92ZXIgZWZmZWN0IGRpZCBub3QgY29ycmVjdGx5IHByb3BhZ2F0ZSBkb3duIHRo
ZSBsYXllciBjaGFpbi4iKTsKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgICAgICB0YWJsZVJvdyA9IGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCczJyk7CisgICAgICAgICAgICAgICAgY2FsY3VsYXRlZFN0eWxlID0gd2luZG93LmdldENv
bXB1dGVkU3R5bGUodGFibGVSb3cpOworICAgICAgICAgICAgICAgIGlmIChjYWxjdWxhdGVkU3R5
bGUuZ2V0UHJvcGVydHlWYWx1ZSgnYmFja2dyb3VuZC1jb2xvcicpID09ICJyZ2IoMjU1LCAwLCAw
KSIpCisgICAgICAgICAgICAgICAgICAgIGxvZygiUEFTU0VEOiBUaGUgaG92ZXIgZWZmZWN0IHdv
cmtzISIpOworICAgICAgICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgICAgICAgICAgbG9nKCJG
QUlMRUQ6IFRoZSBob3ZlciBlZmZlY3QgZGlkIG5vdCBjb3JyZWN0bHkgcHJvcGFnYXRlIGRvd24g
dGhlIGxheWVyIGNoYWluLiIpOworICAgICAgICAgICAgfQorICAgICAgICAgICAgZnVuY3Rpb24g
dGVzdCgpIHsKKyAgICAgICAgICAgICAgICBpZiAoIXdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxl
cikgCisgICAgICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgICAgICB2YXIgdGFy
Z2V0RWxlbSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCcxJyk7CisgICAgICAgICAgICAgICAg
ZXZlbnRTZW5kZXIubW91c2VNb3ZlVG8odGFyZ2V0RWxlbS5vZmZzZXRMZWZ0ICsgdGFyZ2V0RWxl
bS5vZmZzZXRXaWR0aCAvIDIsIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIHRhcmdldEVsZW0ub2Zmc2V0VG9wICsgdGFyZ2V0RWxlbS5vZmZzZXRIZWlnaHQgLyAyKTsK
KyAgICAgICAgICAgIH0KKzwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJ0ZXN0KCki
PgorPGRpdiBpZD0iMSIgb25tb3VzZW1vdmU9InRlc3RIb3ZlclN0YXRlKCkiIGNsYXNzPSJ0MSI+
PC9kaXY+Cis8ZGl2IGlkPSIyIiBjbGFzcz0idDIiPjwvZGl2PgorPGRpdiBpZD0iMyIgY2xhc3M9
InQyIj48L2Rpdj4KKzxwPgorVGhlIHRoaXJkIHNxdWFyZSBzaG91bGQgYmUgZ3JlZW4gYW5kIHR1
cm4gcmVkIHdoZW4gdGhlIHBvaW50ZXIgaG92ZXJzIG92ZXIgdGhlIGZpcnN0IGJsYWNrIHNxdWFy
ZS4gIAorPC9wPgorPGhyPgorPHA+CitUZXN0IGZvcgorPGk+PGEgaHJlZj0iaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4MDI3Ij5odHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTgwMjc8L2E+IAorLSAgQ1NTMyBTZWxlY3RvciBUZXN0OiBjb21i
aW5hdGlvbiBvZiBob3ZlciBhbmQgbXVsdGlwbGUgY2hhaW5lZCBzaWJsaW5nIHNlbGVjdG9yIGZh
aWxzIGluIFdlYmtpdDwvaT4uCis8L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzwvYm9k
eT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY3NzL2hvdmVyLWluZGly
ZWN0LWFkamFjZW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9ob3Zlci1pbmRpcmVjdC1h
ZGphY2VudC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjgxOTdlZjgK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9ob3Zlci1pbmRpcmVjdC1h
ZGphY2VudC5odG1sCkBAIC0wLDAgKzEsNjUgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8
aGVhZD4KKzx0aXRsZT48L3RpdGxlPgorPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KKyAgICAudDEs
IC50MiB7IHdpZHRoOiAxMHB4OyBoZWlnaHQ6IDEwcHg7IG1hcmdpbjogMXB4OyBmbG9hdDogbGVm
dDsgfQorICAgIC50MSB7IGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDA7IH0KKyAgICAudDIgeyBi
YWNrZ3JvdW5kLWNvbG9yOiAjMDBmZjAwOyB9CisgICAgLnQxOmhvdmVyIH4gLnQyIHsgYmFja2dy
b3VuZC1jb2xvcjogI2ZmMDAwMDsgfQorPC9zdHlsZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZh
c2NyaXB0Ij4KKyAgICAgICAgICAgIGZ1bmN0aW9uIGxvZyhtc2cpIHsKKyAgICAgICAgICAgICAg
ICB2YXIgY29uc29sZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjb25zb2xlJyk7CisgICAg
ICAgICAgICAgICAgY29uc29sZS5pbm5lclRleHQgKz0gbXNnOworICAgICAgICAgICAgfQorICAg
ICAgICAgICAgdmFyIHRlc3RlZEhvdmVyU3RhdGUgPSBmYWxzZTsKKyAgICAgICAgICAgIGZ1bmN0
aW9uIHRlc3RIb3ZlclN0YXRlKCkgeworICAgICAgICAgICAgICAgIGlmICgoIXdpbmRvdy5sYXlv
dXRUZXN0Q29udHJvbGxlcikgfHwgdGVzdGVkSG92ZXJTdGF0ZSkKKyAgICAgICAgICAgICAgICAg
ICAgcmV0dXJuOworICAgICAgICAgICAgICAgIHRlc3RlZEhvdmVyU3RhdGUgPSB0cnVlOworCisg
ICAgICAgICAgICAgICAgdmFyIHRhYmxlUm93ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJzEn
KTsKKyAgICAgICAgICAgICAgICB2YXIgY2FsY3VsYXRlZFN0eWxlID0gd2luZG93LmdldENvbXB1
dGVkU3R5bGUodGFibGVSb3cpOworICAgICAgICAgICAgICAgIGlmIChjYWxjdWxhdGVkU3R5bGUu
Z2V0UHJvcGVydHlWYWx1ZSgnYmFja2dyb3VuZC1jb2xvcicpICE9ICJyZ2IoMCwgMCwgMCkiKSB7
CisgICAgICAgICAgICAgICAgICAgIGxvZygiRkFJTEVEOiBUaGUgaG92ZXIgZWZmZWN0IGRpZCBu
b3QgY29ycmVjdGx5IHByb3BhZ2F0ZSBkb3duIHRoZSBsYXllciBjaGFpbi4iKTsKKyAgICAgICAg
ICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICB0
YWJsZVJvdyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCcyJyk7CisgICAgICAgICAgICAgICAg
Y2FsY3VsYXRlZFN0eWxlID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUodGFibGVSb3cpOworICAg
ICAgICAgICAgICAgIGlmIChjYWxjdWxhdGVkU3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgnYmFja2dy
b3VuZC1jb2xvcicpICE9ICJyZ2IoMjU1LCAwLCAwKSIpIHsKKyAgICAgICAgICAgICAgICAgICAg
bG9nKCJGQUlMRUQ6IFRoZSBob3ZlciBlZmZlY3QgZGlkIG5vdCBjb3JyZWN0bHkgcHJvcGFnYXRl
IGRvd24gdGhlIGxheWVyIGNoYWluLiIpOworICAgICAgICAgICAgICAgICAgICByZXR1cm47Cisg
ICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIHRhYmxlUm93ID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoJzMnKTsKKyAgICAgICAgICAgICAgICBjYWxjdWxhdGVkU3R5bGUgPSB3aW5k
b3cuZ2V0Q29tcHV0ZWRTdHlsZSh0YWJsZVJvdyk7CisgICAgICAgICAgICAgICAgaWYgKGNhbGN1
bGF0ZWRTdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKCdiYWNrZ3JvdW5kLWNvbG9yJykgPT0gInJnYigy
NTUsIDAsIDApIikKKyAgICAgICAgICAgICAgICAgICAgbG9nKCJQQVNTRUQ6IFRoZSBob3ZlciBl
ZmZlY3Qgd29ya3MhIik7CisgICAgICAgICAgICAgICAgZWxzZQorICAgICAgICAgICAgICAgICAg
ICBsb2coIkZBSUxFRDogVGhlIGhvdmVyIGVmZmVjdCBkaWQgbm90IGNvcnJlY3RseSBwcm9wYWdh
dGUgZG93biB0aGUgbGF5ZXIgY2hhaW4uIik7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBm
dW5jdGlvbiB0ZXN0KCkgeworICAgICAgICAgICAgICAgIGlmICghd2luZG93LmxheW91dFRlc3RD
b250cm9sbGVyKSAKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgICAg
IHZhciB0YXJnZXRFbGVtID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJzEnKTsKKyAgICAgICAg
ICAgICAgICBldmVudFNlbmRlci5tb3VzZU1vdmVUbyh0YXJnZXRFbGVtLm9mZnNldExlZnQgKyB0
YXJnZXRFbGVtLm9mZnNldFdpZHRoIC8gMiwgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgdGFyZ2V0RWxlbS5vZmZzZXRUb3AgKyB0YXJnZXRFbGVtLm9mZnNldEhlaWdo
dCAvIDIpOworICAgICAgICAgICAgfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9
InRlc3QoKSI+Cis8ZGl2IGlkPSIxIiBvbm1vdXNlbW92ZT0idGVzdEhvdmVyU3RhdGUoKSIgY2xh
c3M9InQxIj48L2Rpdj4KKzxkaXYgaWQ9IjIiIGNsYXNzPSJ0MiI+PC9kaXY+Cis8ZGl2IGlkPSIz
IiBjbGFzcz0idDIiPjwvZGl2PgorPHA+CitUaGUgbGFzdCAyIHNxdWFyZXMgc2hvdWxkIGJlIGdy
ZWVuIGFuZCB0dXJuIHJlZCB3aGVuIHRoZSBwb2ludGVyIGhvdmVycyBvdmVyIHRoZSBmaXJzdCBi
bGFjayBzcXVhcmUuICAKKzwvcD4KKzxocj4KKzxwPgorVGVzdCBmb3IKKzxpPjxhIGhyZWY9Imh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODAyNiI+aHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4MDI2PC9hPiAKKy0gIENTUzMgU2VsZWN0b3Ig
VGVzdDogY29tYmluYXRpb24gb2YgaG92ZXIgYW5kIGdlbmVyYWwgc2libGluZyBzZWxlY3RvciBm
YWlscyBpbiBXZWJraXQ8L2k+LgorPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8L2Jv
ZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9j
c3MvZm9jdXMtZGlyZWN0LWFkamFjZW50LWV4cGVjdGVkLmNoZWNrc3VtIGIvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjL2Zhc3QvY3NzL2ZvY3VzLWRpcmVjdC1hZGphY2VudC1leHBlY3RlZC5jaGVj
a3N1bQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jZmQwOWJiCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvY3NzL2ZvY3VzLWRpcmVj
dC1hZGphY2VudC1leHBlY3RlZC5jaGVja3N1bQpAQCAtMCwwICsxIEBACitkY2VjMjJhNjAwMDEw
YTM4N2U1ZjBjOWNmODA3NmI4MApcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2Nzcy9mb2N1cy1kaXJlY3QtYWRqYWNl
bnQtZXhwZWN0ZWQucG5nIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvY3NzL2ZvY3Vz
LWRpcmVjdC1hZGphY2VudC1leHBlY3RlZC5wbmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMC4uYTViZDA4NgpCaW5hcnkgZmlsZXMgL2Rldi9udWxsIGFuZCBiL0xheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy9mYXN0L2Nzcy9mb2N1cy1kaXJlY3QtYWRqYWNlbnQtZXhwZWN0ZWQucG5n
IGRpZmZlcgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvY3NzL2Zv
Y3VzLWRpcmVjdC1hZGphY2VudC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMvZmFzdC9jc3MvZm9jdXMtZGlyZWN0LWFkamFjZW50LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45NmFiM2MxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvY3NzL2ZvY3VzLWRpcmVjdC1hZGphY2VudC1leHBl
Y3RlZC50eHQKQEAgLTAsMCArMSwxOCBAQAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCisg
IFJlbmRlclZpZXcgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCitsYXllciBhdCAoMCwwKSBzaXplIDgw
MHgxMTcKKyAgUmVuZGVyQmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAweDExNworICAgIFJl
bmRlckJvZHkge0JPRFl9IGF0ICg4LDgpIHNpemUgNzg0eDEwMQorICAgICAgUmVuZGVyQmxvY2sg
KGFub255bW91cykgYXQgKDAsMCkgc2l6ZSA3ODR4MjMKKyAgICAgICAgUmVuZGVyVGV4dENvbnRy
b2wge0lOUFVUfSBhdCAoMiwyKSBzaXplIDEyOHgxOSBbYmdjb2xvcj0jRkZGRkZGXSBbYm9yZGVy
OiAoMnB4IGluc2V0ICMwMDAwMDApXQorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAs
MCkgc2l6ZSAweDAKKyAgICAgIFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDIzKSBzaXplIDEweDEw
IFtiZ2NvbG9yPSNGRjAwMDBdCisgICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKDAsNDkpIHNpemUg
Nzg0eDE4CisgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDM5NHgxOAor
ICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDM5NDogIlRoZSBncmVlbiBzcXVhcmUg
c2hvdWxkIHR1cm4gcmVkIHdoZW4gdGhlIHRleHRhcmVhIGlzIGZvY3VzZWQuIgorICAgICAgUmVu
ZGVyQmxvY2sge0RJVn0gYXQgKDAsODMpIHNpemUgNzg0eDE4CisgICAgICAgIFJlbmRlclRleHQg
eyN0ZXh0fSBhdCAoMCwwKSBzaXplIDIyM3gxOAorICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDAp
IHdpZHRoIDIyMzogIlBBU1NFRDogVGhlIDpmb2N1cyBlZmZlY3Qgd29ya3MhIgorbGF5ZXIgYXQg
KDEzLDEzKSBzaXplIDEyMngxMworICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMywzKSBzaXplIDEy
MngxMworY2FyZXQ6IHBvc2l0aW9uIDAgb2YgY2hpbGQgMCB7RElWfSBvZiBjaGlsZCAxIHtJTlBV
VH0gb2YgY2hpbGQgMSB7Qk9EWX0gb2YgY2hpbGQgMSB7SFRNTH0gb2YgZG9jdW1lbnQKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2Nzcy9ob3Zlci1kaXJlY3QtYWRq
YWNlbnQtZXhwZWN0ZWQuY2hlY2tzdW0gYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9j
c3MvaG92ZXItZGlyZWN0LWFkamFjZW50LWV4cGVjdGVkLmNoZWNrc3VtCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRmYTY2MTkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9jc3MvaG92ZXItZGlyZWN0LWFkamFjZW50LWV4cGVjdGVk
LmNoZWNrc3VtCkBAIC0wLDAgKzEgQEAKKzMyODU0MmVkMTgyY2YxZmY3MmJjODExY2Q1MGY1OTc5
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjL2Zhc3QvY3NzL2hvdmVyLWRpcmVjdC1hZGphY2VudC1leHBlY3RlZC5wbmcgYi9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9jc3MvaG92ZXItZGlyZWN0LWFkamFjZW50LWV4
cGVjdGVkLnBuZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41NDY4YjFjCkJp
bmFyeSBmaWxlcyAvZGV2L251bGwgYW5kIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3Qv
Y3NzL2hvdmVyLWRpcmVjdC1hZGphY2VudC1leHBlY3RlZC5wbmcgZGlmZmVyCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9jc3MvaG92ZXItZGlyZWN0LWFkamFjZW50
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2Nzcy9ob3Zlci1k
aXJlY3QtYWRqYWNlbnQtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAuLjhjOTBhNTkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9t
YWMvZmFzdC9jc3MvaG92ZXItZGlyZWN0LWFkamFjZW50LWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDI5IEBACitsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgUmVuZGVyVmlldyBhdCAoMCww
KSBzaXplIDgwMHg2MDAKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDE0NgorICBSZW5kZXJCbG9j
ayB7SFRNTH0gYXQgKDAsMCkgc2l6ZSA4MDB4MTQ2CisgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQg
KDgsMTYpIHNpemUgNzg0eDEyMgorICAgICAgUmVuZGVyQmxvY2sgKGZsb2F0aW5nKSB7RElWfSBh
dCAoMSwxKSBzaXplIDEweDEwIFtiZ2NvbG9yPSMwMDAwMDBdCisgICAgICBSZW5kZXJCbG9jayAo
ZmxvYXRpbmcpIHtESVZ9IGF0ICgxMywxKSBzaXplIDEweDEwIFtiZ2NvbG9yPSMwMEZGMDBdCisg
ICAgICBSZW5kZXJCbG9jayAoZmxvYXRpbmcpIHtESVZ9IGF0ICgyNSwxKSBzaXplIDEweDEwIFti
Z2NvbG9yPSNGRjAwMDBdCisgICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKDAsMCkgc2l6ZSA3ODR4
MTgKKyAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgzNiwwKSBzaXplIDYxM3gxOAorICAg
ICAgICAgIHRleHQgcnVuIGF0ICgzNiwwKSB3aWR0aCA2MTM6ICJUaGUgdGhpcmQgc3F1YXJlIHNo
b3VsZCBiZSBncmVlbiBhbmQgdHVybiByZWQgd2hlbiB0aGUgcG9pbnRlciBob3ZlcnMgb3ZlciB0
aGUgZmlyc3QgYmxhY2sgc3F1YXJlLiIKKyAgICAgIFJlbmRlckJsb2NrIHtIUn0gYXQgKDAsMzQp
IHNpemUgNzg0eDIgW2JvcmRlcjogKDFweCBpbnNldCAjMDAwMDAwKV0KKyAgICAgIFJlbmRlckJs
b2NrIHtQfSBhdCAoMCw1Mikgc2l6ZSA3ODR4MzYKKyAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9
IGF0ICgwLDApIHNpemUgNTN4MTgKKyAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCA1
MzogIlRlc3QgZm9yICIKKyAgICAgICAgUmVuZGVySW5saW5lIHtJfSBhdCAoMCwwKSBzaXplIDc3
NHgzNgorICAgICAgICAgIFJlbmRlcklubGluZSB7QX0gYXQgKDAsMCkgc2l6ZSAzMDd4MTggW2Nv
bG9yPSMwMDAwRUVdCisgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDUzLDApIHNp
emUgMzA3eDE4CisgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICg1MywwKSB3aWR0aCAzMDc6ICJo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTgwMjciCisgICAgICAgICAg
UmVuZGVyVGV4dCB7I3RleHR9IGF0ICgzNjAsMCkgc2l6ZSA3NzR4MzYKKyAgICAgICAgICAgIHRl
eHQgcnVuIGF0ICgzNjAsMCkgd2lkdGggNDogIiAiCisgICAgICAgICAgICB0ZXh0IHJ1biBhdCAo
MzY0LDApIHdpZHRoIDk6ICItICIKKyAgICAgICAgICAgIHRleHQgcnVuIGF0ICgzNzMsMCkgd2lk
dGggNDAxOiAiQ1NTMyBTZWxlY3RvciBUZXN0OiBjb21iaW5hdGlvbiBvZiBob3ZlciBhbmQgbXVs
dGlwbGUgY2hhaW5lZCIKKyAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDE4KSB3aWR0aCAxODg6
ICJzaWJsaW5nIHNlbGVjdG9yIGZhaWxzIGluIFdlYmtpdCIKKyAgICAgICAgUmVuZGVyVGV4dCB7
I3RleHR9IGF0ICgxODgsMTgpIHNpemUgNHgxOAorICAgICAgICAgIHRleHQgcnVuIGF0ICgxODgs
MTgpIHdpZHRoIDQ6ICIuIgorICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsMTA0KSBzaXpl
IDc4NHgxOAorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAyMjF4MTgK
KyAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCAyMjE6ICJQQVNTRUQ6IFRoZSBob3Zl
ciBlZmZlY3Qgd29ya3MhIgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zh
c3QvY3NzL2hvdmVyLWluZGlyZWN0LWFkamFjZW50LWV4cGVjdGVkLmNoZWNrc3VtIGIvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvY3NzL2hvdmVyLWluZGlyZWN0LWFkamFjZW50LWV4cGVj
dGVkLmNoZWNrc3VtCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI0MDkwNjQK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9jc3MvaG92
ZXItaW5kaXJlY3QtYWRqYWNlbnQtZXhwZWN0ZWQuY2hlY2tzdW0KQEAgLTAsMCArMSBAQAorNjBi
MzYzZmY5MDY2NWM3YTM4MGM4NmViZmU0MDg2NjMKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9jc3MvaG92ZXItaW5k
aXJlY3QtYWRqYWNlbnQtZXhwZWN0ZWQucG5nIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zh
c3QvY3NzL2hvdmVyLWluZGlyZWN0LWFkamFjZW50LWV4cGVjdGVkLnBuZwpuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwLi4xOTQ2ZDM3CkJpbmFyeSBmaWxlcyAvZGV2L251bGwgYW5k
IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvY3NzL2hvdmVyLWluZGlyZWN0LWFkamFj
ZW50LWV4cGVjdGVkLnBuZyBkaWZmZXIKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3Jt
L21hYy9mYXN0L2Nzcy9ob3Zlci1pbmRpcmVjdC1hZGphY2VudC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9jc3MvaG92ZXItaW5kaXJlY3QtYWRqYWNlbnQtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjIzNzZjZWYKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9jc3MvaG92ZXIt
aW5kaXJlY3QtYWRqYWNlbnQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjkgQEAKK2xheWVyIGF0
ICgwLDApIHNpemUgODAweDYwMAorICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAor
bGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4MTQ2CisgIFJlbmRlckJsb2NrIHtIVE1MfSBhdCAoMCww
KSBzaXplIDgwMHgxNDYKKyAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCwxNikgc2l6ZSA3ODR4
MTIyCisgICAgICBSZW5kZXJCbG9jayAoZmxvYXRpbmcpIHtESVZ9IGF0ICgxLDEpIHNpemUgMTB4
MTAgW2JnY29sb3I9IzAwMDAwMF0KKyAgICAgIFJlbmRlckJsb2NrIChmbG9hdGluZykge0RJVn0g
YXQgKDEzLDEpIHNpemUgMTB4MTAgW2JnY29sb3I9I0ZGMDAwMF0KKyAgICAgIFJlbmRlckJsb2Nr
IChmbG9hdGluZykge0RJVn0gYXQgKDI1LDEpIHNpemUgMTB4MTAgW2JnY29sb3I9I0ZGMDAwMF0K
KyAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoMCwwKSBzaXplIDc4NHgxOAorICAgICAgICBSZW5k
ZXJUZXh0IHsjdGV4dH0gYXQgKDM2LDApIHNpemUgNjIzeDE4CisgICAgICAgICAgdGV4dCBydW4g
YXQgKDM2LDApIHdpZHRoIDYyMzogIlRoZSBsYXN0IDIgc3F1YXJlcyBzaG91bGQgYmUgZ3JlZW4g
YW5kIHR1cm4gcmVkIHdoZW4gdGhlIHBvaW50ZXIgaG92ZXJzIG92ZXIgdGhlIGZpcnN0IGJsYWNr
IHNxdWFyZS4iCisgICAgICBSZW5kZXJCbG9jayB7SFJ9IGF0ICgwLDM0KSBzaXplIDc4NHgyIFti
b3JkZXI6ICgxcHggaW5zZXQgIzAwMDAwMCldCisgICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKDAs
NTIpIHNpemUgNzg0eDM2CisgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXpl
IDUzeDE4CisgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggNTM6ICJUZXN0IGZvciAi
CisgICAgICAgIFJlbmRlcklubGluZSB7SX0gYXQgKDAsMCkgc2l6ZSA3NjN4MzYKKyAgICAgICAg
ICBSZW5kZXJJbmxpbmUge0F9IGF0ICgwLDApIHNpemUgMzA3eDE4IFtjb2xvcj0jMDAwMEVFXQor
ICAgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICg1MywwKSBzaXplIDMwN3gxOAorICAg
ICAgICAgICAgICB0ZXh0IHJ1biBhdCAoNTMsMCkgd2lkdGggMzA3OiAiaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4MDI2IgorICAgICAgICAgIFJlbmRlclRleHQgeyN0
ZXh0fSBhdCAoMzYwLDApIHNpemUgNzYzeDM2CisgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMzYw
LDApIHdpZHRoIDQ6ICIgIgorICAgICAgICAgICAgdGV4dCBydW4gYXQgKDM2NCwwKSB3aWR0aCA5
OiAiLSAiCisgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMzczLDApIHdpZHRoIDM5MDogIkNTUzMg
U2VsZWN0b3IgVGVzdDogY29tYmluYXRpb24gb2YgaG92ZXIgYW5kIGdlbmVyYWwgc2libGluZyIK
KyAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDE4KSB3aWR0aCAxNDI6ICJzZWxlY3RvciBmYWls
cyBpbiBXZWJraXQiCisgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMTQyLDE4KSBzaXpl
IDR4MTgKKyAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTQyLDE4KSB3aWR0aCA0OiAiLiIKKyAgICAg
IFJlbmRlckJsb2NrIHtESVZ9IGF0ICgwLDEwNCkgc2l6ZSA3ODR4MTgKKyAgICAgICAgUmVuZGVy
VGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgMjIxeDE4CisgICAgICAgICAgdGV4dCBydW4gYXQg
KDAsMCkgd2lkdGggMjIxOiAiUEFTU0VEOiBUaGUgaG92ZXIgZWZmZWN0IHdvcmtzISIKZGlmZiAt
LWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjA4M2Q0
MC4uMmM5YmMzNCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2ViQ29yZS9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwyMiBAQAorMjAwOS0wNy0yNiAgWXVzdWtlIFNhdG8gIDx5dXN1
a2VzQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBDU1MzIFNlbGVjdG9yIFRlc3Q6IGNvbWJpbmF0aW9uIG9mIGhvdmVyIGFuZCBn
ZW5lcmFsIHNpYmxpbmcgc2VsZWN0b3IgZmFpbHMgaW4gV2Via2l0LgorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTgwMjYKKworICAgICAgICBDU1MzIFNl
bGVjdG9yIFRlc3Q6IGNvbWJpbmF0aW9uIG9mIGhvdmVyIGFuZCBtdWx0aXBsZSBjaGFpbmVkIHNp
Ymxpbmcgc2VsZWN0b3IgZmFpbHMgaW4gV2Via2l0LgorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTgwMjcKKworICAgICAgICBUZXN0czogZmFzdC9jc3Mv
Zm9jdXMtZGlyZWN0LWFkamFjZW50Lmh0bWwKKyAgICAgICAgICAgICAgIGZhc3QvY3NzL2hvdmVy
LWRpcmVjdC1hZGphY2VudC5odG1sCisgICAgICAgICAgICAgICBmYXN0L2Nzcy9ob3Zlci1pbmRp
cmVjdC1hZGphY2VudC5odG1sCisKKyAgICAgICAgKiBkb20vRWxlbWVudC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpFbGVtZW50OjpyZWNhbGNTdHlsZSk6IElmIGFuIGVsZW1lbnQgYmVpbmcgcmVj
YWxjdWxhdGVkIGhhcyA6aG92ZXIgb3IgOmFjdGl2ZQorICAgICAgICBwc2V1ZG8gY2xhc3NlcyBh
bmQgdGhlIGVsZW1lbnQncyBzaWJsaW5ncyBtaWdodCBiZSBhZmZlY3RlZCBieSArIG9yIH4gY29t
YmluYXRvcnMsIGZvcmNlCisgICAgICAgIHRvIHJlY2FsY3VsYXRlIHN0eWxlcyBvZiBhbGwgaXRz
IHNpYmxpbmcgZWxlbWVudHMuCisKIDIwMDktMDctMjMgIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25A
YXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEdlb2ZmIEdhcmVuLgpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAgYi9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcAppbmRl
eCAxOTU2YmU0Li45NGVhZDhmIDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcAor
KysgYi9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcApAQCAtODA4LDYgKzgwOCw3IEBAIHZvaWQgRWxl
bWVudDo6cmVjYWxjU3R5bGUoU3R5bGVDaGFuZ2UgY2hhbmdlKQogICAgIGJvb2wgaGFzUGFyZW50
U3R5bGUgPSBwYXJlbnROb2RlKCkgPyBwYXJlbnROb2RlKCktPnJlbmRlclN0eWxlKCkgOiBmYWxz
ZTsKICAgICBib29sIGhhc1Bvc2l0aW9uYWxSdWxlcyA9IG5lZWRzU3R5bGVSZWNhbGMoKSAmJiBj
dXJyZW50U3R5bGUgJiYgY3VycmVudFN0eWxlLT5jaGlsZHJlbkFmZmVjdGVkQnlQb3NpdGlvbmFs
UnVsZXMoKTsKICAgICBib29sIGhhc0RpcmVjdEFkamFjZW50UnVsZXMgPSBjdXJyZW50U3R5bGUg
JiYgY3VycmVudFN0eWxlLT5jaGlsZHJlbkFmZmVjdGVkQnlEaXJlY3RBZGphY2VudFJ1bGVzKCk7
CisgICAgYm9vbCBoYXNJbmRpcmVjdEFkamFjZW50UnVsZXMgPSBjdXJyZW50U3R5bGUgJiYgY3Vy
cmVudFN0eWxlLT5jaGlsZHJlbkFmZmVjdGVkQnlGb3J3YXJkUG9zaXRpb25hbFJ1bGVzKCk7CiAK
ICNpZiBFTkFCTEUoU1ZHKQogICAgIGlmICghaGFzUGFyZW50U3R5bGUgJiYgaXNTaGFkb3dOb2Rl
KCkgJiYgaXNTVkdFbGVtZW50KCkpCkBAIC04NzgsMTggKzg3OSwyNCBAQCB2b2lkIEVsZW1lbnQ6
OnJlY2FsY1N0eWxlKFN0eWxlQ2hhbmdlIGNoYW5nZSkKICAgICAgICAgfQogICAgIH0KIAotICAg
IC8vIEZJWE1FOiBUaGlzIGNoZWNrIGlzIGdvb2QgZW5vdWdoIGZvciA6aG92ZXIgKyBmb28sIGJ1
dCBpdCBpcyBub3QgZ29vZCBlbm91Z2ggZm9yIDpob3ZlciArIGZvbyArIGJhci4KLSAgICAvLyBG
b3Igbm93IHdlIHdpbGwganVzdCB3b3JyeSBhYm91dCB0aGUgY29tbW9uIGNhc2UsIHNpbmNlIGl0
J3MgYSBsb3QgdHJpY2tpZXIgdG8gZ2V0IHRoZSBzZWNvbmQgY2FzZSByaWdodAotICAgIC8vIHdp
dGhvdXQgZG9pbmcgd2F5IHRvbyBtdWNoIHJlLXJlc29sdXRpb24uCisgICAgLy8gRklYTUU6IFRo
aXMgY2hlY2sgaXMgZ29vZCBlbm91Z2ggZm9yICI6Zm9jdXMgKyBmb28iLCAiOmhvdmVyICsgZm9v
IiwgIjpob3ZlciArIGZvbyArIGJhciIsIGFuZCAiOmhvdmVyIH4gZm9vIi4KKyAgICAvLyBCdXQg
aXQgaXMgc3RpbGwgbm90IGdvb2QgZW5vdWdoIGZvciAiOmZvY3VzICsgZm9vICsgYmFyIi4KICAg
ICBib29sIGZvcmNlQ2hlY2tPZk5leHRFbGVtZW50U2libGluZyA9IGZhbHNlOworICAgIGJvb2wg
Zm9yY2VDaGVja09mQWxsRWxlbWVudFNpYmxpbmdzID0gZmFsc2U7CiAgICAgZm9yIChOb2RlICpu
ID0gZmlyc3RDaGlsZCgpOyBuOyBuID0gbi0+bmV4dFNpYmxpbmcoKSkgewogICAgICAgICBib29s
IGNoaWxkUnVsZXNDaGFuZ2VkID0gbi0+bmVlZHNTdHlsZVJlY2FsYygpICYmIG4tPnN0eWxlQ2hh
bmdlVHlwZSgpID09IEZ1bGxTdHlsZUNoYW5nZTsKLSAgICAgICAgaWYgKGZvcmNlQ2hlY2tPZk5l
eHRFbGVtZW50U2libGluZyAmJiBuLT5pc0VsZW1lbnROb2RlKCkpCisgICAgICAgIGlmICgoZm9y
Y2VDaGVja09mQWxsRWxlbWVudFNpYmxpbmdzIHx8IGZvcmNlQ2hlY2tPZk5leHRFbGVtZW50U2li
bGluZykgJiYgbi0+aXNFbGVtZW50Tm9kZSgpKQogICAgICAgICAgICAgbi0+c2V0TmVlZHNTdHls
ZVJlY2FsYygpOwogICAgICAgICBpZiAoY2hhbmdlID49IEluaGVyaXQgfHwgbi0+aXNUZXh0Tm9k
ZSgpIHx8IG4tPmNoaWxkTmVlZHNTdHlsZVJlY2FsYygpIHx8IG4tPm5lZWRzU3R5bGVSZWNhbGMo
KSkKICAgICAgICAgICAgIG4tPnJlY2FsY1N0eWxlKGNoYW5nZSk7Ci0gICAgICAgIGlmIChuLT5p
c0VsZW1lbnROb2RlKCkpCisgICAgICAgIGlmIChuLT5pc0VsZW1lbnROb2RlKCkgJiYgKGNoaWxk
UnVsZXNDaGFuZ2VkICYmIChoYXNEaXJlY3RBZGphY2VudFJ1bGVzIHx8IGhhc0luZGlyZWN0QWRq
YWNlbnRSdWxlcykpICYmIG4tPnJlbmRlclN0eWxlKCkgJiYgKG4tPnJlbmRlclN0eWxlKCktPmFm
ZmVjdGVkQnlIb3ZlclJ1bGVzKCkgfHwgbi0+cmVuZGVyU3R5bGUoKS0+YWZmZWN0ZWRCeUFjdGl2
ZVJ1bGVzKCkpKSB7CisgICAgICAgICAgICAvLyBUaGUgbm9kZSB8bnwgaGFzIDpob3ZlciBvciA6
YWN0aXZlIHBzZXVkbyBjbGFzc2VzIGFuZCB0aGUgbm9kZSdzIHNpYmxpbmdzIG1pZ2h0IGJlIGFm
ZmVjdGVkIGJ5ICsgb3IgfiBjb21iaW5hdG9ycy4KKyAgICAgICAgICAgIGZvcmNlQ2hlY2tPZkFs
bEVsZW1lbnRTaWJsaW5ncyA9IHRydWU7ICAvLyBuZXZlciBiZWNvbWUgZmFsc2UKKyAgICAgICAg
fQorICAgICAgICBpZiAobi0+aXNFbGVtZW50Tm9kZSgpKSB7CisgICAgICAgICAgICAvLyBUaGlz
IGNoZWNrIGlzIHN0aWxsIG5lY2Vzc2FyeSB0byBzdXBwb3J0ICI6Zm9jdXMgKyBmb28iIGNhc2Us
IHdoZXJlIGJvdGggYWZmZWN0ZWRCeUhvdmVyUnVsZXMoKSBhbmQgYWZmZWN0ZWRCeUFjdGl2ZVJ1
bGVzKCkgcmV0dXJuIGZhbHNlLgogICAgICAgICAgICAgZm9yY2VDaGVja09mTmV4dEVsZW1lbnRT
aWJsaW5nID0gY2hpbGRSdWxlc0NoYW5nZWQgJiYgaGFzRGlyZWN0QWRqYWNlbnRSdWxlczsKKyAg
ICAgICAgfQogICAgIH0KIAogICAgIHNldE5lZWRzU3R5bGVSZWNhbGMoTm9TdHlsZUNoYW5nZSk7
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>38476</attachid>
            <date>2009-08-24 04:10:52 -0700</date>
            <delta_ts>2009-10-22 11:17:39 -0700</delta_ts>
            <desc>hover-adjacent-v2</desc>
            <filename>bug-18027-20090824201050.patch</filename>
            <type>text/plain</type>
            <size>14131</size>
            <attacher name="Yusuke Sato">yusukes</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA4ZWFjZTYxLi5kMTBlMGM0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjYgQEAKKzIwMDktMDgt
MjQgIFl1c3VrZSBTYXRvICA8eXVzdWtlc0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ1NTMyBTZWxlY3RvciBUZXN0OiBjb21i
aW5hdGlvbiBvZiBob3ZlciBhbmQgZ2VuZXJhbCBzaWJsaW5nIHNlbGVjdG9yIGZhaWxzIGluIFdl
YmtpdC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4
MDI2CisKKyAgICAgICAgQ1NTMyBTZWxlY3RvciBUZXN0OiBjb21iaW5hdGlvbiBvZiBob3ZlciBh
bmQgbXVsdGlwbGUgY2hhaW5lZCBzaWJsaW5nIHNlbGVjdG9yIGZhaWxzIGluIFdlYmtpdC4KKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4MDI3CisgICAg
ICAgIAorICAgICAgICAqIGZhc3QvY3NzL2ZvY3VzLWRpcmVjdC1hZGphY2VudC5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBmYXN0L2Nzcy9ob3Zlci1kaXJlY3QtYWRqYWNlbnQuaHRtbDogQWRkZWQu
CisgICAgICAgICogZmFzdC9jc3MvaG92ZXItaW5kaXJlY3QtYWRqYWNlbnQuaHRtbDogQWRkZWQu
CisgICAgICAgICogcGxhdGZvcm0vbWFjL2Zhc3QvY3NzL2ZvY3VzLWRpcmVjdC1hZGphY2VudC1l
eHBlY3RlZC5jaGVja3N1bTogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vbWFjL2Zhc3QvY3Nz
L2ZvY3VzLWRpcmVjdC1hZGphY2VudC1leHBlY3RlZC5wbmc6IEFkZGVkLgorICAgICAgICAqIHBs
YXRmb3JtL21hYy9mYXN0L2Nzcy9mb2N1cy1kaXJlY3QtYWRqYWNlbnQtZXhwZWN0ZWQudHh0OiBB
ZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC9jc3MvaG92ZXItZGlyZWN0LWFkamFj
ZW50LWV4cGVjdGVkLmNoZWNrc3VtOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFz
dC9jc3MvaG92ZXItZGlyZWN0LWFkamFjZW50LWV4cGVjdGVkLnBuZzogQWRkZWQuCisgICAgICAg
ICogcGxhdGZvcm0vbWFjL2Zhc3QvY3NzL2hvdmVyLWRpcmVjdC1hZGphY2VudC1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL21hYy9mYXN0L2Nzcy9ob3Zlci1pbmRpcmVj
dC1hZGphY2VudC1leHBlY3RlZC5jaGVja3N1bTogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0v
bWFjL2Zhc3QvY3NzL2hvdmVyLWluZGlyZWN0LWFkamFjZW50LWV4cGVjdGVkLnBuZzogQWRkZWQu
CisgICAgICAgICogcGxhdGZvcm0vbWFjL2Zhc3QvY3NzL2hvdmVyLWluZGlyZWN0LWFkamFjZW50
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisKIDIwMDktMDgtMjQgIEtlbnQgVGFtdXJhICA8dGtlbnRA
Y2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEVyaWMgU2VpZGVsLgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9jc3MvZm9jdXMtZGlyZWN0LWFkamFjZW50Lmh0bWwgYi9M
YXlvdXRUZXN0cy9mYXN0L2Nzcy9mb2N1cy1kaXJlY3QtYWRqYWNlbnQuaHRtbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MDhkYjdkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvZmFzdC9jc3MvZm9jdXMtZGlyZWN0LWFkamFjZW50Lmh0bWwKQEAgLTAsMCArMSwz
NiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHRpdGxlPjwvdGl0bGU+Cis8
c3R5bGUgdHlwZT0idGV4dC9jc3MiPgorICAgIC50MiB7IHdpZHRoOiAxMHB4OyBoZWlnaHQ6IDEw
cHg7IH0KKyAgICAudDIgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBmZjAwOyB9CisgICAgLnQxOmZv
Y3VzICsgLnQyIHsgYmFja2dyb3VuZC1jb2xvcjogI2ZmMDAwMDsgfQorPC9zdHlsZT4KKzxzY3Jp
cHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KKyAgICBmdW5jdGlvbiB0ZXN0KCkgeworICAgICAg
ICBpZiAoIXdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgCisgICAgICAgICAgICByZXR1cm47
CisKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICAgICAgICB2
YXIgY29uc29sZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjb25zb2xlJyk7CisKKyAgICAg
ICAgdmFyIHRhYmxlUm93ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJzInKTsKKyAgICAgICAg
dmFyIGNhbGN1bGF0ZWRTdHlsZSA9IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKHRhYmxlUm93KTsK
KyAgICAgICAgdmFyIHN0eWxlID0gY2FsY3VsYXRlZFN0eWxlLmdldFByb3BlcnR5VmFsdWUoJ2Jh
Y2tncm91bmQtY29sb3InKTsKKyAgICAgICAgaWYgKHN0eWxlID09ICJyZ2IoMjU1LCAwLCAwKSIp
CisgICAgICAgICAgICBjb25zb2xlLmlubmVySFRNTCA9ICJUZXN0IHBhc3NlZC4iOworICAgICAg
ICBlbHNlCisgICAgICAgICAgICBjb25zb2xlLmlubmVySFRNTCA9ICJUZXN0IGZhaWxlZC4gVGhl
IDpmb2N1cyBlZmZlY3QgZGlkIG5vdCBjb3JyZWN0bHkgcHJvcGFnYXRlIGRvd24gdGhlIGxheWVy
IGNoYWluLjxicj5iYWNrZ3JvdW5kLWNvbG9yPSIgKyBzdHlsZTsKKyAgICB9Cis8L3NjcmlwdD4K
KzwvaGVhZD4KKzxib2R5IG9ubG9hZD0idGVzdCgpIj4KKzxpbnB1dCBpZD0iMSIgY2xhc3M9InQx
IiBhdXRvZm9jdXM+PC9kaXY+Cis8ZGl2IGlkPSIyIiBjbGFzcz0idDIiPjwvZGl2PgorPHA+CitU
aGUgZ3JlZW4gc3F1YXJlIHNob3VsZCB0dXJuIHJlZCB3aGVuIHRoZSB0ZXh0YXJlYSBpcyBmb2N1
c2VkLgorPC9wPgorPGRpdiBpZD0iY29uc29sZSI+PC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9ob3Zlci1kaXJlY3QtYWRqYWNlbnQuaHRt
bCBiL0xheW91dFRlc3RzL2Zhc3QvY3NzL2hvdmVyLWRpcmVjdC1hZGphY2VudC5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU3Y2ZiZGEKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9ob3Zlci1kaXJlY3QtYWRqYWNlbnQuaHRtbApAQCAtMCww
ICsxLDY3IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8dGl0bGU+PC90aXRs
ZT4KKzxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CisgICAgLnQxLCAudDIgeyB3aWR0aDogMTBweDsg
aGVpZ2h0OiAxMHB4OyBtYXJnaW46IDFweDsgZmxvYXQ6IGxlZnQ7IH0KKyAgICAudDEgeyBiYWNr
Z3JvdW5kLWNvbG9yOiAjMDAwMDAwOyB9CisgICAgLnQyIHsgYmFja2dyb3VuZC1jb2xvcjogIzAw
ZmYwMDsgfQorICAgIC50MTpob3ZlciArIC50MiArIC50MiB7IGJhY2tncm91bmQtY29sb3I6ICNm
ZjAwMDA7IH0KKzwvc3R5bGU+Cis8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CisgICAg
dmFyIHRlc3RlZEhvdmVyU3RhdGUgPSBmYWxzZTsKKyAgICBmdW5jdGlvbiB0ZXN0SG92ZXJTdGF0
ZSgpIHsKKyAgICAgICAgaWYgKCghd2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB8fCB0ZXN0
ZWRIb3ZlclN0YXRlKQorICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB0ZXN0ZWRIb3ZlclN0
YXRlID0gdHJ1ZTsKKworICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7
CisgICAgICAgIHZhciBjb25zb2xlID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NvbnNvbGUn
KTsKKworICAgICAgICB2YXIgdGFibGVSb3cgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnMScp
OworICAgICAgICB2YXIgY2FsY3VsYXRlZFN0eWxlID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUo
dGFibGVSb3cpOworICAgICAgICB2YXIgc3R5bGUgPSBjYWxjdWxhdGVkU3R5bGUuZ2V0UHJvcGVy
dHlWYWx1ZSgnYmFja2dyb3VuZC1jb2xvcicpOworICAgICAgICBpZiAoc3R5bGUgIT0gInJnYigw
LCAwLCAwKSIpIHsKKyAgICAgICAgICAgIGNvbnNvbGUuaW5uZXJIVE1MID0gIlRoZSBob3ZlciBl
ZmZlY3QgZGlkIG5vdCBjb3JyZWN0bHkgcHJvcGFnYXRlIGRvd24gdGhlIGxheWVyIGNoYWluLjxi
cj5iYWNrZ3JvdW5kLWNvbG9yPSIgKyBzdHlsZTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAg
ICAgfQorICAgICAgICB0YWJsZVJvdyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCcyJyk7Cisg
ICAgICAgIGNhbGN1bGF0ZWRTdHlsZSA9IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKHRhYmxlUm93
KTsKKyAgICAgICAgc3R5bGUgPSBjYWxjdWxhdGVkU3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgnYmFj
a2dyb3VuZC1jb2xvcicpOworICAgICAgICBpZiAoc3R5bGUgIT0gInJnYigwLCAyNTUsIDApIikg
eworICAgICAgICAgICAgY29uc29sZS5pbm5lckhUTUwgPSAiVGhlIGhvdmVyIGVmZmVjdCBkaWQg
bm90IGNvcnJlY3RseSBwcm9wYWdhdGUgZG93biB0aGUgbGF5ZXIgY2hhaW4uPGJyPmJhY2tncm91
bmQtY29sb3I9IiArIHN0eWxlOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisgICAg
ICAgIHRhYmxlUm93ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJzMnKTsKKyAgICAgICAgY2Fs
Y3VsYXRlZFN0eWxlID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUodGFibGVSb3cpOworICAgICAg
ICBzdHlsZSA9IGNhbGN1bGF0ZWRTdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKCdiYWNrZ3JvdW5kLWNv
bG9yJyk7CisgICAgICAgIGlmIChzdHlsZSA9PSAicmdiKDI1NSwgMCwgMCkiKQorICAgICAgICAg
ICAgY29uc29sZS5pbm5lckhUTUwgPSAiVGhlIGhvdmVyIGVmZmVjdCB3b3JrcyEiOworICAgICAg
ICBlbHNlCisgICAgICAgICAgICBjb25zb2xlLmlubmVySFRNTCA9ICJUaGUgaG92ZXIgZWZmZWN0
IGRpZCBub3QgY29ycmVjdGx5IHByb3BhZ2F0ZSBkb3duIHRoZSBsYXllciBjaGFpbi48YnI+YmFj
a2dyb3VuZC1jb2xvcj0iICsgc3R5bGU7CisgICAgfQorICAgIGZ1bmN0aW9uIHRlc3QoKSB7Cisg
ICAgICAgIGlmICghd2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSAKKyAgICAgICAgICAgIHJl
dHVybjsKKyAgICAgICAgdmFyIHRhcmdldEVsZW0gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgn
MScpOworICAgICAgICBldmVudFNlbmRlci5tb3VzZU1vdmVUbyh0YXJnZXRFbGVtLm9mZnNldExl
ZnQgKyB0YXJnZXRFbGVtLm9mZnNldFdpZHRoIC8gMiwgCisgICAgICAgICAgICB0YXJnZXRFbGVt
Lm9mZnNldFRvcCArIHRhcmdldEVsZW0ub2Zmc2V0SGVpZ2h0IC8gMik7CisgICAgfQorPC9zY3Jp
cHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InRlc3QoKSI+Cis8ZGl2IGlkPSIxIiBvbm1vdXNl
bW92ZT0idGVzdEhvdmVyU3RhdGUoKSIgY2xhc3M9InQxIj48L2Rpdj4KKzxkaXYgaWQ9IjIiIGNs
YXNzPSJ0MiI+PC9kaXY+Cis8ZGl2IGlkPSIzIiBjbGFzcz0idDIiPjwvZGl2PgorPHA+CitUaGUg
dGhpcmQgc3F1YXJlIHNob3VsZCBiZSBncmVlbiBhbmQgdHVybiByZWQgd2hlbiB0aGUgcG9pbnRl
ciBob3ZlcnMgb3ZlciB0aGUgZmlyc3QgYmxhY2sgc3F1YXJlLiAgCis8L3A+Cis8aHI+Cis8cD4K
K1Rlc3QgZm9yCis8aT48YSBocmVmPSJodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTgwMjciPmh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODAy
NzwvYT4gCistICBDU1MzIFNlbGVjdG9yIFRlc3Q6IGNvbWJpbmF0aW9uIG9mIGhvdmVyIGFuZCBt
dWx0aXBsZSBjaGFpbmVkIHNpYmxpbmcgc2VsZWN0b3IgZmFpbHMgaW4gV2Via2l0PC9pPi4KKzwv
cD4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC9jc3MvaG92ZXItaW5kaXJlY3QtYWRqYWNlbnQuaHRtbCBiL0xh
eW91dFRlc3RzL2Zhc3QvY3NzL2hvdmVyLWluZGlyZWN0LWFkamFjZW50Lmh0bWwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTAzMjhjYQotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvY3NzL2hvdmVyLWluZGlyZWN0LWFkamFjZW50Lmh0bWwKQEAgLTAsMCAr
MSw2NyBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHRpdGxlPjwvdGl0bGU+
Cis8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgorICAgIC50MSwgLnQyIHsgd2lkdGg6IDEwcHg7IGhl
aWdodDogMTBweDsgbWFyZ2luOiAxcHg7IGZsb2F0OiBsZWZ0OyB9CisgICAgLnQxIHsgYmFja2dy
b3VuZC1jb2xvcjogIzAwMDAwMDsgfQorICAgIC50MiB7IGJhY2tncm91bmQtY29sb3I6ICMwMGZm
MDA7IH0KKyAgICAudDE6aG92ZXIgfiAudDIgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjZmYwMDAwOyB9
Cis8L3N0eWxlPgorPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgorICAgIHZhciB0ZXN0
ZWRIb3ZlclN0YXRlID0gZmFsc2U7CisgICAgZnVuY3Rpb24gdGVzdEhvdmVyU3RhdGUoKSB7Cisg
ICAgICAgIGlmICgoIXdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgfHwgdGVzdGVkSG92ZXJT
dGF0ZSkKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgdGVzdGVkSG92ZXJTdGF0ZSA9IHRy
dWU7CisKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICAgICAg
ICB2YXIgY29uc29sZSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdjb25zb2xlJyk7CisKKyAg
ICAgICAgdmFyIHRhYmxlUm93ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJzEnKTsKKyAgICAg
ICAgdmFyIGNhbGN1bGF0ZWRTdHlsZSA9IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKHRhYmxlUm93
KTsKKyAgICAgICAgdmFyIHN0eWxlID0gY2FsY3VsYXRlZFN0eWxlLmdldFByb3BlcnR5VmFsdWUo
J2JhY2tncm91bmQtY29sb3InKTsKKyAgICAgICAgaWYgKHN0eWxlICE9ICJyZ2IoMCwgMCwgMCki
KSB7CisgICAgICAgICAgICBjb25zb2xlLmlubmVySFRNTCA9ICJUaGUgaG92ZXIgZWZmZWN0IGRp
ZCBub3QgY29ycmVjdGx5IHByb3BhZ2F0ZSBkb3duIHRoZSBsYXllciBjaGFpbi48YnI+YmFja2dy
b3VuZC1jb2xvcj0iICsgc3R5bGU7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKyAg
ICAgICAgdGFibGVSb3cgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnMicpOworICAgICAgICBj
YWxjdWxhdGVkU3R5bGUgPSB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZSh0YWJsZVJvdyk7CisgICAg
ICAgIHN0eWxlID0gY2FsY3VsYXRlZFN0eWxlLmdldFByb3BlcnR5VmFsdWUoJ2JhY2tncm91bmQt
Y29sb3InKTsKKyAgICAgICAgaWYgKHN0eWxlICE9ICJyZ2IoMjU1LCAwLCAwKSIpIHsKKyAgICAg
ICAgICAgIGNvbnNvbGUuaW5uZXJIVE1MID0gIlRoZSBob3ZlciBlZmZlY3QgZGlkIG5vdCBjb3Jy
ZWN0bHkgcHJvcGFnYXRlIGRvd24gdGhlIGxheWVyIGNoYWluLjxicj5iYWNrZ3JvdW5kLWNvbG9y
PSIgKyBzdHlsZTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorICAgICAgICB0YWJs
ZVJvdyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCczJyk7CisgICAgICAgIGNhbGN1bGF0ZWRT
dHlsZSA9IHdpbmRvdy5nZXRDb21wdXRlZFN0eWxlKHRhYmxlUm93KTsKKyAgICAgICAgc3R5bGUg
PSBjYWxjdWxhdGVkU3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgnYmFja2dyb3VuZC1jb2xvcicpOwor
ICAgICAgICBpZiAoc3R5bGUgPT0gInJnYigyNTUsIDAsIDApIikKKyAgICAgICAgICAgIGNvbnNv
bGUuaW5uZXJIVE1MID0gIlRoZSBob3ZlciBlZmZlY3Qgd29ya3MhIjsKKyAgICAgICAgZWxzZQor
ICAgICAgICAgICAgY29uc29sZS5pbm5lckhUTUwgPSAiVGhlIGhvdmVyIGVmZmVjdCBkaWQgbm90
IGNvcnJlY3RseSBwcm9wYWdhdGUgZG93biB0aGUgbGF5ZXIgY2hhaW4uPGJyPmJhY2tncm91bmQt
Y29sb3I9IiArIHN0eWxlOworICAgIH0KKyAgICBmdW5jdGlvbiB0ZXN0KCkgeworICAgICAgICBp
ZiAoIXdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgCisgICAgICAgICAgICByZXR1cm47Cisg
ICAgICAgIHZhciB0YXJnZXRFbGVtID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJzEnKTsKKyAg
ICAgICAgZXZlbnRTZW5kZXIubW91c2VNb3ZlVG8odGFyZ2V0RWxlbS5vZmZzZXRMZWZ0ICsgdGFy
Z2V0RWxlbS5vZmZzZXRXaWR0aCAvIDIsIAorICAgICAgICAgICAgdGFyZ2V0RWxlbS5vZmZzZXRU
b3AgKyB0YXJnZXRFbGVtLm9mZnNldEhlaWdodCAvIDIpOworICAgIH0KKzwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHkgb25sb2FkPSJ0ZXN0KCkiPgorPGRpdiBpZD0iMSIgb25tb3VzZW1vdmU9InRl
c3RIb3ZlclN0YXRlKCkiIGNsYXNzPSJ0MSI+PC9kaXY+Cis8ZGl2IGlkPSIyIiBjbGFzcz0idDIi
PjwvZGl2PgorPGRpdiBpZD0iMyIgY2xhc3M9InQyIj48L2Rpdj4KKzxwPgorVGhlIGxhc3QgMiBz
cXVhcmVzIHNob3VsZCBiZSBncmVlbiBhbmQgdHVybiByZWQgd2hlbiB0aGUgcG9pbnRlciBob3Zl
cnMgb3ZlciB0aGUgZmlyc3QgYmxhY2sgc3F1YXJlLiAgCis8L3A+Cis8aHI+Cis8cD4KK1Rlc3Qg
Zm9yCis8aT48YSBocmVmPSJodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTgwMjYiPmh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODAyNjwvYT4g
CistICBDU1MzIFNlbGVjdG9yIFRlc3Q6IGNvbWJpbmF0aW9uIG9mIGhvdmVyIGFuZCBnZW5lcmFs
IHNpYmxpbmcgc2VsZWN0b3IgZmFpbHMgaW4gV2Via2l0PC9pPi4KKzwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjL2Zhc3QvY3NzL2ZvY3VzLWRpcmVjdC1hZGphY2VudC1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9jc3MvZm9jdXMtZGlyZWN0LWFkamFjZW50
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNmM0OGRk
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvY3NzL2Zv
Y3VzLWRpcmVjdC1hZGphY2VudC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw0IEBACisKK1RoZSBn
cmVlbiBzcXVhcmUgc2hvdWxkIHR1cm4gcmVkIHdoZW4gdGhlIHRleHRhcmVhIGlzIGZvY3VzZWQu
CisKK1Rlc3QgcGFzc2VkLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zh
c3QvY3NzL2hvdmVyLWRpcmVjdC1hZGphY2VudC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9tYWMvZmFzdC9jc3MvaG92ZXItZGlyZWN0LWFkamFjZW50LWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44OGQzYjE4Ci0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3QvY3NzL2hvdmVyLWRpcmVjdC1hZGph
Y2VudC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitUaGUgdGhpcmQgc3F1YXJlIHNob3Vs
ZCBiZSBncmVlbiBhbmQgdHVybiByZWQgd2hlbiB0aGUgcG9pbnRlciBob3ZlcnMgb3ZlciB0aGUg
Zmlyc3QgYmxhY2sgc3F1YXJlLgorCitUZXN0IGZvciBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTgwMjcgLSBDU1MzIFNlbGVjdG9yIFRlc3Q6IGNvbWJpbmF0aW9uIG9m
IGhvdmVyIGFuZCBtdWx0aXBsZSBjaGFpbmVkIHNpYmxpbmcgc2VsZWN0b3IgZmFpbHMgaW4gV2Vi
a2l0LgorCitUaGUgaG92ZXIgZWZmZWN0IHdvcmtzIQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjL2Zhc3QvY3NzL2hvdmVyLWluZGlyZWN0LWFkamFjZW50LWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2Nzcy9ob3Zlci1pbmRpcmVjdC1hZGph
Y2VudC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjZh
YjE0MAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L2Nz
cy9ob3Zlci1pbmRpcmVjdC1hZGphY2VudC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw1IEBACitU
aGUgbGFzdCAyIHNxdWFyZXMgc2hvdWxkIGJlIGdyZWVuIGFuZCB0dXJuIHJlZCB3aGVuIHRoZSBw
b2ludGVyIGhvdmVycyBvdmVyIHRoZSBmaXJzdCBibGFjayBzcXVhcmUuCisKK1Rlc3QgZm9yIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODAyNiAtIENTUzMgU2VsZWN0
b3IgVGVzdDogY29tYmluYXRpb24gb2YgaG92ZXIgYW5kIGdlbmVyYWwgc2libGluZyBzZWxlY3Rv
ciBmYWlscyBpbiBXZWJraXQuCisKK1RoZSBob3ZlciBlZmZlY3Qgd29ya3MhCmRpZmYgLS1naXQg
YS9XZWJDb3JlL0NoYW5nZUxvZyBiL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDBjOTliMTAuLjUy
ODQwM2YgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1dlYkNvcmUvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMjIgQEAKKzIwMDktMDgtMjQgIFl1c3VrZSBTYXRvICA8eXVzdWtlc0Bj
aHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgQ1NTMyBTZWxlY3RvciBUZXN0OiBjb21iaW5hdGlvbiBvZiBob3ZlciBhbmQgZ2VuZXJh
bCBzaWJsaW5nIHNlbGVjdG9yIGZhaWxzIGluIFdlYmtpdC4KKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4MDI2CisKKyAgICAgICAgQ1NTMyBTZWxlY3Rv
ciBUZXN0OiBjb21iaW5hdGlvbiBvZiBob3ZlciBhbmQgbXVsdGlwbGUgY2hhaW5lZCBzaWJsaW5n
IHNlbGVjdG9yIGZhaWxzIGluIFdlYmtpdC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTE4MDI3CisKKyAgICAgICAgVGVzdHM6IGZhc3QvY3NzL2ZvY3Vz
LWRpcmVjdC1hZGphY2VudC5odG1sCisgICAgICAgICAgICAgICBmYXN0L2Nzcy9ob3Zlci1kaXJl
Y3QtYWRqYWNlbnQuaHRtbAorICAgICAgICAgICAgICAgZmFzdC9jc3MvaG92ZXItaW5kaXJlY3Qt
YWRqYWNlbnQuaHRtbAorCisgICAgICAgICogZG9tL0VsZW1lbnQuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6RWxlbWVudDo6cmVjYWxjU3R5bGUpOiBJZiBhbiBlbGVtZW50IGJlaW5nIHJlY2FsY3Vs
YXRlZCBoYXMgOmhvdmVyIG9yIDphY3RpdmUKKyAgICAgICAgcHNldWRvIGNsYXNzZXMgYW5kIHRo
ZSBlbGVtZW50J3Mgc2libGluZ3MgbWlnaHQgYmUgYWZmZWN0ZWQgYnkgKyBvciB+IGNvbWJpbmF0
b3JzLCBmb3JjZQorICAgICAgICB0byByZWNhbGN1bGF0ZSBzdHlsZXMgb2YgYWxsIGl0cyBzaWJs
aW5nIGVsZW1lbnRzLgorCiAyMDA5LTA4LTI0ICBLZW50IFRhbXVyYSAgPHRrZW50QGNocm9taXVt
Lm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBFcmljIFNlaWRlbC4KZGlmZiAtLWdpdCBhL1dl
YkNvcmUvZG9tL0VsZW1lbnQuY3BwIGIvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAKaW5kZXggYzRj
MjNmMC4uMGZkN2IzZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAKKysrIGIv
V2ViQ29yZS9kb20vRWxlbWVudC5jcHAKQEAgLTgxMyw2ICs4MTMsNyBAQCB2b2lkIEVsZW1lbnQ6
OnJlY2FsY1N0eWxlKFN0eWxlQ2hhbmdlIGNoYW5nZSkKICAgICBib29sIGhhc1BhcmVudFN0eWxl
ID0gcGFyZW50Tm9kZSgpID8gcGFyZW50Tm9kZSgpLT5yZW5kZXJTdHlsZSgpIDogZmFsc2U7CiAg
ICAgYm9vbCBoYXNQb3NpdGlvbmFsUnVsZXMgPSBuZWVkc1N0eWxlUmVjYWxjKCkgJiYgY3VycmVu
dFN0eWxlICYmIGN1cnJlbnRTdHlsZS0+Y2hpbGRyZW5BZmZlY3RlZEJ5UG9zaXRpb25hbFJ1bGVz
KCk7CiAgICAgYm9vbCBoYXNEaXJlY3RBZGphY2VudFJ1bGVzID0gY3VycmVudFN0eWxlICYmIGN1
cnJlbnRTdHlsZS0+Y2hpbGRyZW5BZmZlY3RlZEJ5RGlyZWN0QWRqYWNlbnRSdWxlcygpOworICAg
IGJvb2wgaGFzSW5kaXJlY3RBZGphY2VudFJ1bGVzID0gY3VycmVudFN0eWxlICYmIGN1cnJlbnRT
dHlsZS0+Y2hpbGRyZW5BZmZlY3RlZEJ5Rm9yd2FyZFBvc2l0aW9uYWxSdWxlcygpOwogCiAjaWYg
RU5BQkxFKFNWRykKICAgICBpZiAoIWhhc1BhcmVudFN0eWxlICYmIGlzU2hhZG93Tm9kZSgpICYm
IGlzU1ZHRWxlbWVudCgpKQpAQCAtODgzLDE4ICs4ODQsMjQgQEAgdm9pZCBFbGVtZW50OjpyZWNh
bGNTdHlsZShTdHlsZUNoYW5nZSBjaGFuZ2UpCiAgICAgICAgIH0KICAgICB9CiAKLSAgICAvLyBG
SVhNRTogVGhpcyBjaGVjayBpcyBnb29kIGVub3VnaCBmb3IgOmhvdmVyICsgZm9vLCBidXQgaXQg
aXMgbm90IGdvb2QgZW5vdWdoIGZvciA6aG92ZXIgKyBmb28gKyBiYXIuCi0gICAgLy8gRm9yIG5v
dyB3ZSB3aWxsIGp1c3Qgd29ycnkgYWJvdXQgdGhlIGNvbW1vbiBjYXNlLCBzaW5jZSBpdCdzIGEg
bG90IHRyaWNraWVyIHRvIGdldCB0aGUgc2Vjb25kIGNhc2UgcmlnaHQKLSAgICAvLyB3aXRob3V0
IGRvaW5nIHdheSB0b28gbXVjaCByZS1yZXNvbHV0aW9uLgorICAgIC8vIEZJWE1FOiBUaGlzIGNo
ZWNrIGlzIGdvb2QgZW5vdWdoIGZvciAiOmZvY3VzICsgZm9vIiwgIjpob3ZlciArIGZvbyIsICI6
aG92ZXIgKyBmb28gKyBiYXIiLCBhbmQgIjpob3ZlciB+IGZvbyIuCisgICAgLy8gQnV0IGl0IGlz
IHN0aWxsIG5vdCBnb29kIGVub3VnaCBmb3IgIjpmb2N1cyArIGZvbyArIGJhciIuCiAgICAgYm9v
bCBmb3JjZUNoZWNrT2ZOZXh0RWxlbWVudFNpYmxpbmcgPSBmYWxzZTsKKyAgICBib29sIGZvcmNl
Q2hlY2tPZkFsbEVsZW1lbnRTaWJsaW5ncyA9IGZhbHNlOwogICAgIGZvciAoTm9kZSAqbiA9IGZp
cnN0Q2hpbGQoKTsgbjsgbiA9IG4tPm5leHRTaWJsaW5nKCkpIHsKICAgICAgICAgYm9vbCBjaGls
ZFJ1bGVzQ2hhbmdlZCA9IG4tPm5lZWRzU3R5bGVSZWNhbGMoKSAmJiBuLT5zdHlsZUNoYW5nZVR5
cGUoKSA9PSBGdWxsU3R5bGVDaGFuZ2U7Ci0gICAgICAgIGlmIChmb3JjZUNoZWNrT2ZOZXh0RWxl
bWVudFNpYmxpbmcgJiYgbi0+aXNFbGVtZW50Tm9kZSgpKQorICAgICAgICBpZiAoKGZvcmNlQ2hl
Y2tPZkFsbEVsZW1lbnRTaWJsaW5ncyB8fCBmb3JjZUNoZWNrT2ZOZXh0RWxlbWVudFNpYmxpbmcp
ICYmIG4tPmlzRWxlbWVudE5vZGUoKSkKICAgICAgICAgICAgIG4tPnNldE5lZWRzU3R5bGVSZWNh
bGMoKTsKICAgICAgICAgaWYgKGNoYW5nZSA+PSBJbmhlcml0IHx8IG4tPmlzVGV4dE5vZGUoKSB8
fCBuLT5jaGlsZE5lZWRzU3R5bGVSZWNhbGMoKSB8fCBuLT5uZWVkc1N0eWxlUmVjYWxjKCkpCiAg
ICAgICAgICAgICBuLT5yZWNhbGNTdHlsZShjaGFuZ2UpOwotICAgICAgICBpZiAobi0+aXNFbGVt
ZW50Tm9kZSgpKQorICAgICAgICBpZiAobi0+aXNFbGVtZW50Tm9kZSgpICYmIChjaGlsZFJ1bGVz
Q2hhbmdlZCAmJiAoaGFzRGlyZWN0QWRqYWNlbnRSdWxlcyB8fCBoYXNJbmRpcmVjdEFkamFjZW50
UnVsZXMpKSAmJiBuLT5yZW5kZXJTdHlsZSgpICYmIChuLT5yZW5kZXJTdHlsZSgpLT5hZmZlY3Rl
ZEJ5SG92ZXJSdWxlcygpIHx8IG4tPnJlbmRlclN0eWxlKCktPmFmZmVjdGVkQnlBY3RpdmVSdWxl
cygpKSkgeworICAgICAgICAgICAgLy8gVGhlIG5vZGUgfG58IGhhcyA6aG92ZXIgb3IgOmFjdGl2
ZSBwc2V1ZG8gY2xhc3NlcyBhbmQgdGhlIG5vZGUncyBzaWJsaW5ncyBtaWdodCBiZSBhZmZlY3Rl
ZCBieSArIG9yIH4gY29tYmluYXRvcnMuCisgICAgICAgICAgICBmb3JjZUNoZWNrT2ZBbGxFbGVt
ZW50U2libGluZ3MgPSB0cnVlOyAgLy8gbmV2ZXIgYmVjb21lIGZhbHNlCisgICAgICAgIH0KKyAg
ICAgICAgaWYgKG4tPmlzRWxlbWVudE5vZGUoKSkgeworICAgICAgICAgICAgLy8gVGhpcyBjaGVj
ayBpcyBzdGlsbCBuZWNlc3NhcnkgdG8gc3VwcG9ydCAiOmZvY3VzICsgZm9vIiBjYXNlLCB3aGVy
ZSBib3RoIGFmZmVjdGVkQnlIb3ZlclJ1bGVzKCkgYW5kIGFmZmVjdGVkQnlBY3RpdmVSdWxlcygp
IHJldHVybiBmYWxzZS4KICAgICAgICAgICAgIGZvcmNlQ2hlY2tPZk5leHRFbGVtZW50U2libGlu
ZyA9IGNoaWxkUnVsZXNDaGFuZ2VkICYmIGhhc0RpcmVjdEFkamFjZW50UnVsZXM7CisgICAgICAg
IH0KICAgICB9CiAKICAgICBzZXROZWVkc1N0eWxlUmVjYWxjKE5vU3R5bGVDaGFuZ2UpOw==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>41669</attachid>
            <date>2009-10-22 11:17:46 -0700</date>
            <delta_ts>2010-06-11 11:13:47 -0700</delta_ts>
            <desc>hover-adjacent-v3</desc>
            <filename>bug-18027-20091023031743.patch</filename>
            <type>text/plain</type>
            <size>13500</size>
            <attacher name="Yusuke Sato">yusukes</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA4ZWFjZTYxLi5iMGU5MTZmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMDktMTAt
MjIgIFl1c3VrZSBTYXRvICA8eXVzdWtlc0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ1NTMyBTZWxlY3RvciBUZXN0OiBjb21i
aW5hdGlvbiBvZiBob3ZlciBhbmQgZ2VuZXJhbCBzaWJsaW5nIHNlbGVjdG9yIGZhaWxzIGluIFdl
YmtpdC4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4
MDI2CisKKyAgICAgICAgQ1NTMyBTZWxlY3RvciBUZXN0OiBjb21iaW5hdGlvbiBvZiBob3ZlciBh
bmQgbXVsdGlwbGUgY2hhaW5lZCBzaWJsaW5nIHNlbGVjdG9yIGZhaWxzIGluIFdlYmtpdC4KKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4MDI3CisgICAg
ICAgIAorICAgICAgICAqIGZhc3QvY3NzL2ZvY3VzLWRpcmVjdC1hZGphY2VudC1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvY3NzL2ZvY3VzLWRpcmVjdC1hZGphY2VudC5odG1s
OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Nzcy9ob3Zlci1kaXJlY3QtYWRqYWNlbnQtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Nzcy9ob3Zlci1kaXJlY3QtYWRqYWNlbnQu
aHRtbDogQWRkZWQuCisgICAgICAgICogZmFzdC9jc3MvaG92ZXItaW5kaXJlY3QtYWRqYWNlbnQt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2Nzcy9ob3Zlci1pbmRpcmVjdC1h
ZGphY2VudC5odG1sOiBBZGRlZC4KKwogMjAwOS0wOC0yNCAgS2VudCBUYW11cmEgIDx0a2VudEBj
aHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRXJpYyBTZWlkZWwuCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9mb2N1cy1kaXJlY3QtYWRqYWNlbnQtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MvZm9jdXMtZGlyZWN0LWFkamFjZW50LWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNmM0OGRkCi0tLSAvZGV2
L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9jc3MvZm9jdXMtZGlyZWN0LWFkamFjZW50LWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDQgQEAKKworVGhlIGdyZWVuIHNxdWFyZSBzaG91bGQgdHVy
biByZWQgd2hlbiB0aGUgdGV4dGFyZWEgaXMgZm9jdXNlZC4KKworVGVzdCBwYXNzZWQuCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9mb2N1cy1kaXJlY3QtYWRqYWNlbnQuaHRtbCBi
L0xheW91dFRlc3RzL2Zhc3QvY3NzL2ZvY3VzLWRpcmVjdC1hZGphY2VudC5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQwOGRiN2QKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L2Nzcy9mb2N1cy1kaXJlY3QtYWRqYWNlbnQuaHRtbApAQCAtMCwwICsx
LDM2IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8dGl0bGU+PC90aXRsZT4K
KzxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CisgICAgLnQyIHsgd2lkdGg6IDEwcHg7IGhlaWdodDog
MTBweDsgfQorICAgIC50MiB7IGJhY2tncm91bmQtY29sb3I6ICMwMGZmMDA7IH0KKyAgICAudDE6
Zm9jdXMgKyAudDIgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjZmYwMDAwOyB9Cis8L3N0eWxlPgorPHNj
cmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgorICAgIGZ1bmN0aW9uIHRlc3QoKSB7CisgICAg
ICAgIGlmICghd2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSAKKyAgICAgICAgICAgIHJldHVy
bjsKKworICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisgICAgICAg
IHZhciBjb25zb2xlID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NvbnNvbGUnKTsKKworICAg
ICAgICB2YXIgdGFibGVSb3cgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnMicpOworICAgICAg
ICB2YXIgY2FsY3VsYXRlZFN0eWxlID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUodGFibGVSb3cp
OworICAgICAgICB2YXIgc3R5bGUgPSBjYWxjdWxhdGVkU3R5bGUuZ2V0UHJvcGVydHlWYWx1ZSgn
YmFja2dyb3VuZC1jb2xvcicpOworICAgICAgICBpZiAoc3R5bGUgPT0gInJnYigyNTUsIDAsIDAp
IikKKyAgICAgICAgICAgIGNvbnNvbGUuaW5uZXJIVE1MID0gIlRlc3QgcGFzc2VkLiI7CisgICAg
ICAgIGVsc2UKKyAgICAgICAgICAgIGNvbnNvbGUuaW5uZXJIVE1MID0gIlRlc3QgZmFpbGVkLiBU
aGUgOmZvY3VzIGVmZmVjdCBkaWQgbm90IGNvcnJlY3RseSBwcm9wYWdhdGUgZG93biB0aGUgbGF5
ZXIgY2hhaW4uPGJyPmJhY2tncm91bmQtY29sb3I9IiArIHN0eWxlOworICAgIH0KKzwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJ0ZXN0KCkiPgorPGlucHV0IGlkPSIxIiBjbGFzcz0i
dDEiIGF1dG9mb2N1cz48L2Rpdj4KKzxkaXYgaWQ9IjIiIGNsYXNzPSJ0MiI+PC9kaXY+Cis8cD4K
K1RoZSBncmVlbiBzcXVhcmUgc2hvdWxkIHR1cm4gcmVkIHdoZW4gdGhlIHRleHRhcmVhIGlzIGZv
Y3VzZWQuCis8L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY3NzL2hvdmVyLWRpcmVjdC1hZGphY2VudC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9ob3Zlci1kaXJlY3QtYWRqYWNlbnQt
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg4ZDNiMTgK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9ob3Zlci1kaXJlY3QtYWRq
YWNlbnQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNSBAQAorVGhlIHRoaXJkIHNxdWFyZSBzaG91
bGQgYmUgZ3JlZW4gYW5kIHR1cm4gcmVkIHdoZW4gdGhlIHBvaW50ZXIgaG92ZXJzIG92ZXIgdGhl
IGZpcnN0IGJsYWNrIHNxdWFyZS4KKworVGVzdCBmb3IgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTE4MDI3IC0gQ1NTMyBTZWxlY3RvciBUZXN0OiBjb21iaW5hdGlvbiBv
ZiBob3ZlciBhbmQgbXVsdGlwbGUgY2hhaW5lZCBzaWJsaW5nIHNlbGVjdG9yIGZhaWxzIGluIFdl
YmtpdC4KKworVGhlIGhvdmVyIGVmZmVjdCB3b3JrcyEKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvY3NzL2hvdmVyLWRpcmVjdC1hZGphY2VudC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9j
c3MvaG92ZXItZGlyZWN0LWFkamFjZW50Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMC4uZTdjZmJkYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvY3Nz
L2hvdmVyLWRpcmVjdC1hZGphY2VudC5odG1sCkBAIC0wLDAgKzEsNjcgQEAKKzwhRE9DVFlQRSBo
dG1sPgorPGh0bWw+Cis8aGVhZD4KKzx0aXRsZT48L3RpdGxlPgorPHN0eWxlIHR5cGU9InRleHQv
Y3NzIj4KKyAgICAudDEsIC50MiB7IHdpZHRoOiAxMHB4OyBoZWlnaHQ6IDEwcHg7IG1hcmdpbjog
MXB4OyBmbG9hdDogbGVmdDsgfQorICAgIC50MSB7IGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDA7
IH0KKyAgICAudDIgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjMDBmZjAwOyB9CisgICAgLnQxOmhvdmVy
ICsgLnQyICsgLnQyIHsgYmFja2dyb3VuZC1jb2xvcjogI2ZmMDAwMDsgfQorPC9zdHlsZT4KKzxz
Y3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KKyAgICB2YXIgdGVzdGVkSG92ZXJTdGF0ZSA9
IGZhbHNlOworICAgIGZ1bmN0aW9uIHRlc3RIb3ZlclN0YXRlKCkgeworICAgICAgICBpZiAoKCF3
aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHx8IHRlc3RlZEhvdmVyU3RhdGUpCisgICAgICAg
ICAgICByZXR1cm47CisgICAgICAgIHRlc3RlZEhvdmVyU3RhdGUgPSB0cnVlOworCisgICAgICAg
IGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICAgICAgdmFyIGNvbnNvbGUg
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY29uc29sZScpOworCisgICAgICAgIHZhciB0YWJs
ZVJvdyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCcxJyk7CisgICAgICAgIHZhciBjYWxjdWxh
dGVkU3R5bGUgPSB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZSh0YWJsZVJvdyk7CisgICAgICAgIHZh
ciBzdHlsZSA9IGNhbGN1bGF0ZWRTdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKCdiYWNrZ3JvdW5kLWNv
bG9yJyk7CisgICAgICAgIGlmIChzdHlsZSAhPSAicmdiKDAsIDAsIDApIikgeworICAgICAgICAg
ICAgY29uc29sZS5pbm5lckhUTUwgPSAiVGhlIGhvdmVyIGVmZmVjdCBkaWQgbm90IGNvcnJlY3Rs
eSBwcm9wYWdhdGUgZG93biB0aGUgbGF5ZXIgY2hhaW4uPGJyPmJhY2tncm91bmQtY29sb3I9IiAr
IHN0eWxlOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisgICAgICAgIHRhYmxlUm93
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJzInKTsKKyAgICAgICAgY2FsY3VsYXRlZFN0eWxl
ID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUodGFibGVSb3cpOworICAgICAgICBzdHlsZSA9IGNh
bGN1bGF0ZWRTdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKCdiYWNrZ3JvdW5kLWNvbG9yJyk7CisgICAg
ICAgIGlmIChzdHlsZSAhPSAicmdiKDAsIDI1NSwgMCkiKSB7CisgICAgICAgICAgICBjb25zb2xl
LmlubmVySFRNTCA9ICJUaGUgaG92ZXIgZWZmZWN0IGRpZCBub3QgY29ycmVjdGx5IHByb3BhZ2F0
ZSBkb3duIHRoZSBsYXllciBjaGFpbi48YnI+YmFja2dyb3VuZC1jb2xvcj0iICsgc3R5bGU7Cisg
ICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKyAgICAgICAgdGFibGVSb3cgPSBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgnMycpOworICAgICAgICBjYWxjdWxhdGVkU3R5bGUgPSB3aW5kb3cu
Z2V0Q29tcHV0ZWRTdHlsZSh0YWJsZVJvdyk7CisgICAgICAgIHN0eWxlID0gY2FsY3VsYXRlZFN0
eWxlLmdldFByb3BlcnR5VmFsdWUoJ2JhY2tncm91bmQtY29sb3InKTsKKyAgICAgICAgaWYgKHN0
eWxlID09ICJyZ2IoMjU1LCAwLCAwKSIpCisgICAgICAgICAgICBjb25zb2xlLmlubmVySFRNTCA9
ICJUaGUgaG92ZXIgZWZmZWN0IHdvcmtzISI7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIGNv
bnNvbGUuaW5uZXJIVE1MID0gIlRoZSBob3ZlciBlZmZlY3QgZGlkIG5vdCBjb3JyZWN0bHkgcHJv
cGFnYXRlIGRvd24gdGhlIGxheWVyIGNoYWluLjxicj5iYWNrZ3JvdW5kLWNvbG9yPSIgKyBzdHls
ZTsKKyAgICB9CisgICAgZnVuY3Rpb24gdGVzdCgpIHsKKyAgICAgICAgaWYgKCF3aW5kb3cubGF5
b3V0VGVzdENvbnRyb2xsZXIpIAorICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB2YXIgdGFy
Z2V0RWxlbSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCcxJyk7CisgICAgICAgIGV2ZW50U2Vu
ZGVyLm1vdXNlTW92ZVRvKHRhcmdldEVsZW0ub2Zmc2V0TGVmdCArIHRhcmdldEVsZW0ub2Zmc2V0
V2lkdGggLyAyLCAKKyAgICAgICAgICAgIHRhcmdldEVsZW0ub2Zmc2V0VG9wICsgdGFyZ2V0RWxl
bS5vZmZzZXRIZWlnaHQgLyAyKTsKKyAgICB9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9u
bG9hZD0idGVzdCgpIj4KKzxkaXYgaWQ9IjEiIG9ubW91c2Vtb3ZlPSJ0ZXN0SG92ZXJTdGF0ZSgp
IiBjbGFzcz0idDEiPjwvZGl2PgorPGRpdiBpZD0iMiIgY2xhc3M9InQyIj48L2Rpdj4KKzxkaXYg
aWQ9IjMiIGNsYXNzPSJ0MiI+PC9kaXY+Cis8cD4KK1RoZSB0aGlyZCBzcXVhcmUgc2hvdWxkIGJl
IGdyZWVuIGFuZCB0dXJuIHJlZCB3aGVuIHRoZSBwb2ludGVyIGhvdmVycyBvdmVyIHRoZSBmaXJz
dCBibGFjayBzcXVhcmUuICAKKzwvcD4KKzxocj4KKzxwPgorVGVzdCBmb3IKKzxpPjxhIGhyZWY9
Imh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODAyNyI+aHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4MDI3PC9hPiAKKy0gIENTUzMgU2VsZWN0
b3IgVGVzdDogY29tYmluYXRpb24gb2YgaG92ZXIgYW5kIG11bHRpcGxlIGNoYWluZWQgc2libGlu
ZyBzZWxlY3RvciBmYWlscyBpbiBXZWJraXQ8L2k+LgorPC9wPgorPGRpdiBpZD0iY29uc29sZSI+
PC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Nz
cy9ob3Zlci1pbmRpcmVjdC1hZGphY2VudC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0
L2Nzcy9ob3Zlci1pbmRpcmVjdC1hZGphY2VudC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMC4uYjZhYjE0MAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvY3NzL2hvdmVyLWluZGlyZWN0LWFkamFjZW50LWV4cGVjdGVkLnR4dApAQCAtMCww
ICsxLDUgQEAKK1RoZSBsYXN0IDIgc3F1YXJlcyBzaG91bGQgYmUgZ3JlZW4gYW5kIHR1cm4gcmVk
IHdoZW4gdGhlIHBvaW50ZXIgaG92ZXJzIG92ZXIgdGhlIGZpcnN0IGJsYWNrIHNxdWFyZS4KKwor
VGVzdCBmb3IgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4MDI2IC0g
Q1NTMyBTZWxlY3RvciBUZXN0OiBjb21iaW5hdGlvbiBvZiBob3ZlciBhbmQgZ2VuZXJhbCBzaWJs
aW5nIHNlbGVjdG9yIGZhaWxzIGluIFdlYmtpdC4KKworVGhlIGhvdmVyIGVmZmVjdCB3b3JrcyEK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvY3NzL2hvdmVyLWluZGlyZWN0LWFkamFjZW50
Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9ob3Zlci1pbmRpcmVjdC1hZGphY2VudC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmEwMzI4Y2EKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Nzcy9ob3Zlci1pbmRpcmVjdC1hZGphY2VudC5odG1s
CkBAIC0wLDAgKzEsNjcgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzx0aXRs
ZT48L3RpdGxlPgorPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KKyAgICAudDEsIC50MiB7IHdpZHRo
OiAxMHB4OyBoZWlnaHQ6IDEwcHg7IG1hcmdpbjogMXB4OyBmbG9hdDogbGVmdDsgfQorICAgIC50
MSB7IGJhY2tncm91bmQtY29sb3I6ICMwMDAwMDA7IH0KKyAgICAudDIgeyBiYWNrZ3JvdW5kLWNv
bG9yOiAjMDBmZjAwOyB9CisgICAgLnQxOmhvdmVyIH4gLnQyIHsgYmFja2dyb3VuZC1jb2xvcjog
I2ZmMDAwMDsgfQorPC9zdHlsZT4KKzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KKyAg
ICB2YXIgdGVzdGVkSG92ZXJTdGF0ZSA9IGZhbHNlOworICAgIGZ1bmN0aW9uIHRlc3RIb3ZlclN0
YXRlKCkgeworICAgICAgICBpZiAoKCF3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHx8IHRl
c3RlZEhvdmVyU3RhdGUpCisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIHRlc3RlZEhvdmVy
U3RhdGUgPSB0cnVlOworCisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQo
KTsKKyAgICAgICAgdmFyIGNvbnNvbGUgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY29uc29s
ZScpOworCisgICAgICAgIHZhciB0YWJsZVJvdyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCcx
Jyk7CisgICAgICAgIHZhciBjYWxjdWxhdGVkU3R5bGUgPSB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHls
ZSh0YWJsZVJvdyk7CisgICAgICAgIHZhciBzdHlsZSA9IGNhbGN1bGF0ZWRTdHlsZS5nZXRQcm9w
ZXJ0eVZhbHVlKCdiYWNrZ3JvdW5kLWNvbG9yJyk7CisgICAgICAgIGlmIChzdHlsZSAhPSAicmdi
KDAsIDAsIDApIikgeworICAgICAgICAgICAgY29uc29sZS5pbm5lckhUTUwgPSAiVGhlIGhvdmVy
IGVmZmVjdCBkaWQgbm90IGNvcnJlY3RseSBwcm9wYWdhdGUgZG93biB0aGUgbGF5ZXIgY2hhaW4u
PGJyPmJhY2tncm91bmQtY29sb3I9IiArIHN0eWxlOworICAgICAgICAgICAgcmV0dXJuOworICAg
ICAgICB9CisgICAgICAgIHRhYmxlUm93ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJzInKTsK
KyAgICAgICAgY2FsY3VsYXRlZFN0eWxlID0gd2luZG93LmdldENvbXB1dGVkU3R5bGUodGFibGVS
b3cpOworICAgICAgICBzdHlsZSA9IGNhbGN1bGF0ZWRTdHlsZS5nZXRQcm9wZXJ0eVZhbHVlKCdi
YWNrZ3JvdW5kLWNvbG9yJyk7CisgICAgICAgIGlmIChzdHlsZSAhPSAicmdiKDI1NSwgMCwgMCki
KSB7CisgICAgICAgICAgICBjb25zb2xlLmlubmVySFRNTCA9ICJUaGUgaG92ZXIgZWZmZWN0IGRp
ZCBub3QgY29ycmVjdGx5IHByb3BhZ2F0ZSBkb3duIHRoZSBsYXllciBjaGFpbi48YnI+YmFja2dy
b3VuZC1jb2xvcj0iICsgc3R5bGU7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKyAg
ICAgICAgdGFibGVSb3cgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnMycpOworICAgICAgICBj
YWxjdWxhdGVkU3R5bGUgPSB3aW5kb3cuZ2V0Q29tcHV0ZWRTdHlsZSh0YWJsZVJvdyk7CisgICAg
ICAgIHN0eWxlID0gY2FsY3VsYXRlZFN0eWxlLmdldFByb3BlcnR5VmFsdWUoJ2JhY2tncm91bmQt
Y29sb3InKTsKKyAgICAgICAgaWYgKHN0eWxlID09ICJyZ2IoMjU1LCAwLCAwKSIpCisgICAgICAg
ICAgICBjb25zb2xlLmlubmVySFRNTCA9ICJUaGUgaG92ZXIgZWZmZWN0IHdvcmtzISI7CisgICAg
ICAgIGVsc2UKKyAgICAgICAgICAgIGNvbnNvbGUuaW5uZXJIVE1MID0gIlRoZSBob3ZlciBlZmZl
Y3QgZGlkIG5vdCBjb3JyZWN0bHkgcHJvcGFnYXRlIGRvd24gdGhlIGxheWVyIGNoYWluLjxicj5i
YWNrZ3JvdW5kLWNvbG9yPSIgKyBzdHlsZTsKKyAgICB9CisgICAgZnVuY3Rpb24gdGVzdCgpIHsK
KyAgICAgICAgaWYgKCF3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIAorICAgICAgICAgICAg
cmV0dXJuOworICAgICAgICB2YXIgdGFyZ2V0RWxlbSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCcxJyk7CisgICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92ZVRvKHRhcmdldEVsZW0ub2Zmc2V0
TGVmdCArIHRhcmdldEVsZW0ub2Zmc2V0V2lkdGggLyAyLCAKKyAgICAgICAgICAgIHRhcmdldEVs
ZW0ub2Zmc2V0VG9wICsgdGFyZ2V0RWxlbS5vZmZzZXRIZWlnaHQgLyAyKTsKKyAgICB9Cis8L3Nj
cmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0idGVzdCgpIj4KKzxkaXYgaWQ9IjEiIG9ubW91
c2Vtb3ZlPSJ0ZXN0SG92ZXJTdGF0ZSgpIiBjbGFzcz0idDEiPjwvZGl2PgorPGRpdiBpZD0iMiIg
Y2xhc3M9InQyIj48L2Rpdj4KKzxkaXYgaWQ9IjMiIGNsYXNzPSJ0MiI+PC9kaXY+Cis8cD4KK1Ro
ZSBsYXN0IDIgc3F1YXJlcyBzaG91bGQgYmUgZ3JlZW4gYW5kIHR1cm4gcmVkIHdoZW4gdGhlIHBv
aW50ZXIgaG92ZXJzIG92ZXIgdGhlIGZpcnN0IGJsYWNrIHNxdWFyZS4gIAorPC9wPgorPGhyPgor
PHA+CitUZXN0IGZvcgorPGk+PGEgaHJlZj0iaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE4MDI2Ij5odHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTgwMjY8L2E+IAorLSAgQ1NTMyBTZWxlY3RvciBUZXN0OiBjb21iaW5hdGlvbiBvZiBob3ZlciBh
bmQgZ2VuZXJhbCBzaWJsaW5nIHNlbGVjdG9yIGZhaWxzIGluIFdlYmtpdDwvaT4uCis8L3A+Cis8
ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL1dl
YkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMGM5OWIxMC4uNTI4NDAz
ZiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwyMiBAQAorMjAwOS0wOC0yNCAgWXVzdWtlIFNhdG8gIDx5dXN1a2VzQGNocm9t
aXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBDU1MzIFNlbGVjdG9yIFRlc3Q6IGNvbWJpbmF0aW9uIG9mIGhvdmVyIGFuZCBnZW5lcmFsIHNp
Ymxpbmcgc2VsZWN0b3IgZmFpbHMgaW4gV2Via2l0LgorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTgwMjYKKworICAgICAgICBDU1MzIFNlbGVjdG9yIFRl
c3Q6IGNvbWJpbmF0aW9uIG9mIGhvdmVyIGFuZCBtdWx0aXBsZSBjaGFpbmVkIHNpYmxpbmcgc2Vs
ZWN0b3IgZmFpbHMgaW4gV2Via2l0LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTgwMjcKKworICAgICAgICBUZXN0czogZmFzdC9jc3MvZm9jdXMtZGly
ZWN0LWFkamFjZW50Lmh0bWwKKyAgICAgICAgICAgICAgIGZhc3QvY3NzL2hvdmVyLWRpcmVjdC1h
ZGphY2VudC5odG1sCisgICAgICAgICAgICAgICBmYXN0L2Nzcy9ob3Zlci1pbmRpcmVjdC1hZGph
Y2VudC5odG1sCisKKyAgICAgICAgKiBkb20vRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpFbGVtZW50OjpyZWNhbGNTdHlsZSk6IElmIGFuIGVsZW1lbnQgYmVpbmcgcmVjYWxjdWxhdGVk
IGhhcyA6aG92ZXIgb3IgOmFjdGl2ZQorICAgICAgICBwc2V1ZG8gY2xhc3NlcyBhbmQgdGhlIGVs
ZW1lbnQncyBzaWJsaW5ncyBtaWdodCBiZSBhZmZlY3RlZCBieSArIG9yIH4gY29tYmluYXRvcnMs
IGZvcmNlCisgICAgICAgIHRvIHJlY2FsY3VsYXRlIHN0eWxlcyBvZiBhbGwgaXRzIHNpYmxpbmcg
ZWxlbWVudHMuCisKIDIwMDktMDgtMjQgIEtlbnQgVGFtdXJhICA8dGtlbnRAY2hyb21pdW0ub3Jn
PgogCiAgICAgICAgIFJldmlld2VkIGJ5IEVyaWMgU2VpZGVsLgpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9kb20vRWxlbWVudC5jcHAgYi9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcAppbmRleCBjNGMyM2Yw
Li4wZmQ3YjNkIDEwMDY0NAotLS0gYS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcAorKysgYi9XZWJD
b3JlL2RvbS9FbGVtZW50LmNwcApAQCAtODEzLDYgKzgxMyw3IEBAIHZvaWQgRWxlbWVudDo6cmVj
YWxjU3R5bGUoU3R5bGVDaGFuZ2UgY2hhbmdlKQogICAgIGJvb2wgaGFzUGFyZW50U3R5bGUgPSBw
YXJlbnROb2RlKCkgPyBwYXJlbnROb2RlKCktPnJlbmRlclN0eWxlKCkgOiBmYWxzZTsKICAgICBi
b29sIGhhc1Bvc2l0aW9uYWxSdWxlcyA9IG5lZWRzU3R5bGVSZWNhbGMoKSAmJiBjdXJyZW50U3R5
bGUgJiYgY3VycmVudFN0eWxlLT5jaGlsZHJlbkFmZmVjdGVkQnlQb3NpdGlvbmFsUnVsZXMoKTsK
ICAgICBib29sIGhhc0RpcmVjdEFkamFjZW50UnVsZXMgPSBjdXJyZW50U3R5bGUgJiYgY3VycmVu
dFN0eWxlLT5jaGlsZHJlbkFmZmVjdGVkQnlEaXJlY3RBZGphY2VudFJ1bGVzKCk7CisgICAgYm9v
bCBoYXNJbmRpcmVjdEFkamFjZW50UnVsZXMgPSBjdXJyZW50U3R5bGUgJiYgY3VycmVudFN0eWxl
LT5jaGlsZHJlbkFmZmVjdGVkQnlGb3J3YXJkUG9zaXRpb25hbFJ1bGVzKCk7CiAKICNpZiBFTkFC
TEUoU1ZHKQogICAgIGlmICghaGFzUGFyZW50U3R5bGUgJiYgaXNTaGFkb3dOb2RlKCkgJiYgaXNT
VkdFbGVtZW50KCkpCkBAIC04ODMsMTggKzg4NCwyNCBAQCB2b2lkIEVsZW1lbnQ6OnJlY2FsY1N0
eWxlKFN0eWxlQ2hhbmdlIGNoYW5nZSkKICAgICAgICAgfQogICAgIH0KIAotICAgIC8vIEZJWE1F
OiBUaGlzIGNoZWNrIGlzIGdvb2QgZW5vdWdoIGZvciA6aG92ZXIgKyBmb28sIGJ1dCBpdCBpcyBu
b3QgZ29vZCBlbm91Z2ggZm9yIDpob3ZlciArIGZvbyArIGJhci4KLSAgICAvLyBGb3Igbm93IHdl
IHdpbGwganVzdCB3b3JyeSBhYm91dCB0aGUgY29tbW9uIGNhc2UsIHNpbmNlIGl0J3MgYSBsb3Qg
dHJpY2tpZXIgdG8gZ2V0IHRoZSBzZWNvbmQgY2FzZSByaWdodAotICAgIC8vIHdpdGhvdXQgZG9p
bmcgd2F5IHRvbyBtdWNoIHJlLXJlc29sdXRpb24uCisgICAgLy8gRklYTUU6IFRoaXMgY2hlY2sg
aXMgZ29vZCBlbm91Z2ggZm9yICI6Zm9jdXMgKyBmb28iLCAiOmhvdmVyICsgZm9vIiwgIjpob3Zl
ciArIGZvbyArIGJhciIsIGFuZCAiOmhvdmVyIH4gZm9vIi4KKyAgICAvLyBCdXQgaXQgaXMgc3Rp
bGwgbm90IGdvb2QgZW5vdWdoIGZvciAiOmZvY3VzICsgZm9vICsgYmFyIi4KICAgICBib29sIGZv
cmNlQ2hlY2tPZk5leHRFbGVtZW50U2libGluZyA9IGZhbHNlOworICAgIGJvb2wgZm9yY2VDaGVj
a09mQWxsRWxlbWVudFNpYmxpbmdzID0gZmFsc2U7CiAgICAgZm9yIChOb2RlICpuID0gZmlyc3RD
aGlsZCgpOyBuOyBuID0gbi0+bmV4dFNpYmxpbmcoKSkgewogICAgICAgICBib29sIGNoaWxkUnVs
ZXNDaGFuZ2VkID0gbi0+bmVlZHNTdHlsZVJlY2FsYygpICYmIG4tPnN0eWxlQ2hhbmdlVHlwZSgp
ID09IEZ1bGxTdHlsZUNoYW5nZTsKLSAgICAgICAgaWYgKGZvcmNlQ2hlY2tPZk5leHRFbGVtZW50
U2libGluZyAmJiBuLT5pc0VsZW1lbnROb2RlKCkpCisgICAgICAgIGlmICgoZm9yY2VDaGVja09m
QWxsRWxlbWVudFNpYmxpbmdzIHx8IGZvcmNlQ2hlY2tPZk5leHRFbGVtZW50U2libGluZykgJiYg
bi0+aXNFbGVtZW50Tm9kZSgpKQogICAgICAgICAgICAgbi0+c2V0TmVlZHNTdHlsZVJlY2FsYygp
OwogICAgICAgICBpZiAoY2hhbmdlID49IEluaGVyaXQgfHwgbi0+aXNUZXh0Tm9kZSgpIHx8IG4t
PmNoaWxkTmVlZHNTdHlsZVJlY2FsYygpIHx8IG4tPm5lZWRzU3R5bGVSZWNhbGMoKSkKICAgICAg
ICAgICAgIG4tPnJlY2FsY1N0eWxlKGNoYW5nZSk7Ci0gICAgICAgIGlmIChuLT5pc0VsZW1lbnRO
b2RlKCkpCisgICAgICAgIGlmIChuLT5pc0VsZW1lbnROb2RlKCkgJiYgKGNoaWxkUnVsZXNDaGFu
Z2VkICYmIChoYXNEaXJlY3RBZGphY2VudFJ1bGVzIHx8IGhhc0luZGlyZWN0QWRqYWNlbnRSdWxl
cykpICYmIG4tPnJlbmRlclN0eWxlKCkgJiYgKG4tPnJlbmRlclN0eWxlKCktPmFmZmVjdGVkQnlI
b3ZlclJ1bGVzKCkgfHwgbi0+cmVuZGVyU3R5bGUoKS0+YWZmZWN0ZWRCeUFjdGl2ZVJ1bGVzKCkp
KSB7CisgICAgICAgICAgICAvLyBUaGUgbm9kZSB8bnwgaGFzIDpob3ZlciBvciA6YWN0aXZlIHBz
ZXVkbyBjbGFzc2VzIGFuZCB0aGUgbm9kZSdzIHNpYmxpbmdzIG1pZ2h0IGJlIGFmZmVjdGVkIGJ5
ICsgb3IgfiBjb21iaW5hdG9ycy4KKyAgICAgICAgICAgIGZvcmNlQ2hlY2tPZkFsbEVsZW1lbnRT
aWJsaW5ncyA9IHRydWU7ICAvLyBuZXZlciBiZWNvbWUgZmFsc2UKKyAgICAgICAgfQorICAgICAg
ICBpZiAobi0+aXNFbGVtZW50Tm9kZSgpKSB7CisgICAgICAgICAgICAvLyBUaGlzIGNoZWNrIGlz
IHN0aWxsIG5lY2Vzc2FyeSB0byBzdXBwb3J0ICI6Zm9jdXMgKyBmb28iIGNhc2UsIHdoZXJlIGJv
dGggYWZmZWN0ZWRCeUhvdmVyUnVsZXMoKSBhbmQgYWZmZWN0ZWRCeUFjdGl2ZVJ1bGVzKCkgcmV0
dXJuIGZhbHNlLgogICAgICAgICAgICAgZm9yY2VDaGVja09mTmV4dEVsZW1lbnRTaWJsaW5nID0g
Y2hpbGRSdWxlc0NoYW5nZWQgJiYgaGFzRGlyZWN0QWRqYWNlbnRSdWxlczsKKyAgICAgICAgfQog
ICAgIH0KIAogICAgIHNldE5lZWRzU3R5bGVSZWNhbGMoTm9TdHlsZUNoYW5nZSk7
</data>
<flag name="review"
          id="23105"
          type_id="1"
          status="-"
          setter="eric"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>53654</attachid>
            <date>2010-04-18 20:48:15 -0700</date>
            <delta_ts>2010-04-18 20:48:15 -0700</delta_ts>
            <desc>Test page to reproduce problem.</desc>
            <filename>safaribug.html</filename>
            <type>text/html</type>
            <size>1546</size>
            <attacher name="Stephanie Hobson">sjhobson</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgVHJhbnNpdGlvbmFs
Ly9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXRyYW5zaXRpb25h
bC5kdGQiPgo8aHRtbCB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCI+CjxoZWFk
Pgo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hh
cnNldD1VVEYtOCIgLz4KPHRpdGxlPlNhZmFyaSBBZGphY2VudCBTaWJsaW5nIEJ1ZzwvdGl0bGU+
CjxzdHlsZT4KCnB7YmFja2dyb3VuZC1jb2xvcjojMDBmO30KcDp0YXJnZXR7YmFja2dyb3VuZC1j
b2xvcjojZjAwO30KcDp0YXJnZXQgKyBwe2JhY2tncm91bmQtY29sb3I6IzBmMDt9CnA6dGFyZ2V0
ICsgcCArIHB7YmFja2dyb3VuZC1jb2xvcjojZjBmO30KCjwvc3R5bGU+Cgo8L2hlYWQ+Cgo8Ym9k
eT4KCjxhIGhyZWY9IiNvbmUiPm9uZTwvYT4KPGEgaHJlZj0iI3R3byI+dHdvPC9hPgo8YSBocmVm
PSIjdGhyZWUiPnRocmVlPC9hPgo8YSBocmVmPSIjZm91ciI+Zm91cjwvYT4KPGEgaHJlZj0iI2Zp
dmUiPmZpdmU8L2E+CjxhIGhyZWY9IiNzaXgiPnNpeDwvYT4KCgo8cCBpZD0ib25lIj5vbmU8L3A+
CjxwIGlkPSJ0d28iPnR3bzwvcD4KPHAgaWQ9InRocmVlIj50aHJlZTwvcD4KPHAgaWQ9ImZvdXIi
PmZvdXI8L3A+CjxwIGlkPSJmaXZlIj5maXZlPC9wPgo8cCBpZD0ic2l4Ij5zaXg8L3A+Cgo8aDE+
VHdvIHdheXMgdG8gcmVwcm9kdWNlIGJ1Zzo8L2gxPgoKPHVsPgoJPGxpPgoJCTxvbD4JCgkJCTxs
aT5vcGVuIHRlc3QgY2FzZTwvbGk+CgkJCTxsaT5jbGljayBsaW5rIHRvICJvbmUiPC9saT4KCQkJ
PGxpPgoJCQkJZXhwZWN0ZWQgYmVoYXZpb3VyOnBhcmFncmFwaCBvbmUgaXMgcmVkLCB0d28gaXMg
Z3JlZW4gYW5kIHRocmVlIGlzIHB1cnBsZSwgYWxsIG90aGVycyBhcmUgYmx1ZTxiciAvPgoJCQkJ
YWN0dWFsIGJlaGF2b2l1cjogcGFyYWdyYXBoIG9uZSBpcyByZWQsIHR3byBpcyBncmVlbiBhbGwg
b3RoZXJzIGFyZSBibHVlCgkJCTwvbGk+CgkJPC9vbD4KCTwvbGk+Cgk8bGk+CgkJPG9sPgkKCQkJ
PGxpPm9wZW4gdGVzdCBjYXNlPC9saT4KCQkJPGxpPmNsaWNrIGxpbmsgdG8gInNpeCI8L2xpPgoJ
CQk8bGk+Y2xpY2sgbGluayB0byAiZml2ZSI8L2xpPgoJCQk8bGk+Y2xpY2sgbGluayB0byAiZm91
cjwvbGk+CgkJCTxsaT5jbGljayBsaW5rIHRvICJ0aHJlZSI8L2xpPgoJCQk8bGk+Y2xpY2sgbGlu
ayB0byAidHdvIjwvbGk+CgkJCTxsaT5jbGljayBsaW5rIHRvICJvbmUiPC9saT4KCQkJPGxpPgoJ
CQkJZXhwZWN0ZWQgYmVoYXZpb3VyOnBhcmFncmFwaCBvbmUgaXMgcmVkLCB0d28gaXMgZ3JlZW4g
YW5kIHRocmVlIGlzIHB1cnBsZSwgYWxsIG90aGVycyBhcmUgYmx1ZTxiciAvPgoJCQkJYWN0dWFs
IGJlaGF2aW91cjogcGFyYWdyYXBoIG9uZSBpcyByZWQsIHR3byBpcyBncmVlbiBhbmQgYWxsIG90
aGVycyBhcmUgcHVycGxlCgkJCTwvbGk+CgkJPC9vbD4KCTwvbGk+CjwvdWw+CgoKPC9ib2R5Pgo8
L2h0bWw+Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>