<?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>103999</bug_id>
          
          <creation_ts>2012-12-04 07:27:43 -0800</creation_ts>
          <short_desc>Rework bug 97927 to not depend on RenderLayer::allowsScrolling</short_desc>
          <delta_ts>2012-12-12 08:34:24 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Layout and Rendering</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>104368</dependson>
          <blocked>97927</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Antonio Gomes">tonikitoo</reporter>
          <assigned_to name="Antonio Gomes">tonikitoo</assigned_to>
          <cc>abarth</cc>
    
    <cc>eric</cc>
    
    <cc>jamesr</cc>
    
    <cc>ojan.autocc</cc>
    
    <cc>ojan</cc>
    
    <cc>ossy</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>skyostil</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>782530</commentid>
    <comment_count>0</comment_count>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2012-12-04 07:27:43 -0800</bug_when>
    <thetext>Instead of adding ::allowScrolling calls to check scrollability, check if scrolling in allowed in the direction where overflow happens.

That allow methods like  RenderLayer::updateScrollbarsAfterLayout and RenderLayer::updateScrollbarsAfterStyleChange to be scrollbars-agnostic.

Reason behind it: scrollbars can be disabled completely (not only &quot;hidden&quot;) in WebCore, and its drawing delegated to the client application.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>782553</commentid>
    <comment_count>1</comment_count>
      <attachid>177484</attachid>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2012-12-04 08:11:46 -0800</bug_when>
    <thetext>Created attachment 177484
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>782833</commentid>
    <comment_count>2</comment_count>
      <attachid>177484</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2012-12-04 13:04:49 -0800</bug_when>
    <thetext>Comment on attachment 177484
patch

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

It would be nice to only have the &quot;scrollsOverflowX() &amp;&amp; scrollWidth() != clientWidth()&quot; logic in one place; here it&apos;s in both RenderLayer and RenderBox, and the various width implementations are subtly different.

&gt; Source/WebCore/rendering/RenderBox.cpp:621
&gt; +    bool hasOverflowAndAllowsScrollingInThatDirection = (scrollsOverflowX() &amp;&amp; scrollWidth() != clientWidth())

Awkward variable name. How about hasScrollableOverflow?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>783777</commentid>
    <comment_count>3</comment_count>
      <attachid>177756</attachid>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2012-12-05 08:27:17 -0800</bug_when>
    <thetext>Created attachment 177756
patch2 - take simon&apos;s feedback into account</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>784908</commentid>
    <comment_count>4</comment_count>
      <attachid>177756</attachid>
    <who name="Sami Kyöstilä">skyostil</who>
    <bug_when>2012-12-06 06:46:16 -0800</bug_when>
    <thetext>Comment on attachment 177756
patch2 - take simon&apos;s feedback into account

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

Thanks Antonio, I think this makes the logic clearer.

&gt; Source/WebCore/ChangeLog:17
&gt; +        The naming pattern for the newly added methods were choosen to keep the consitency

s/choosen/chosen/, s/consitency/consistency/.

&gt; Source/WebCore/ChangeLog:20
&gt; +        No new tests, as it is a refactor. Also it is already covered by ScrollingCoordinatorChromiumTest.clippedBodyTest.

Not exactly a refactor since it makes canBeScrolledAndHasScrollableArea() more strict, although I can&apos;t think of any bad effects from doing so.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>784929</commentid>
    <comment_count>5</comment_count>
      <attachid>178009</attachid>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2012-12-06 07:16:36 -0800</bug_when>
    <thetext>Created attachment 178009
(landed r136947, r=jamesr) patch 2.1 - take Sami&apos;s feedback into account</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>785361</commentid>
    <comment_count>6</comment_count>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2012-12-06 15:53:44 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; Created an attachment (id=178009) [details]
&gt; patch 2.1 - take Sami&apos;s feedback into account

Kindly ping reviewers.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>785812</commentid>
    <comment_count>7</comment_count>
      <attachid>178200</attachid>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2012-12-07 05:03:30 -0800</bug_when>
    <thetext>Created attachment 178200
patch for EWS</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>785818</commentid>
    <comment_count>8</comment_count>
      <attachid>178009</attachid>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2012-12-07 05:15:37 -0800</bug_when>
    <thetext>Comment on attachment 178009
(landed r136947, r=jamesr) patch 2.1 - take Sami&apos;s feedback into account

https://trac.webkit.org/changeset/136947</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>785844</commentid>
    <comment_count>9</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2012-12-07 06:08:00 -0800</bug_when>
    <thetext>(In reply to comment #8)
&gt; (From update of attachment 178009 [details])
&gt; https://trac.webkit.org/changeset/136947

It broke 2 tests on all platform:
- fast/events/autoscroll-in-textfield.html
- fast/events/autoscroll-should-not-stop-on-keypress.html

--- /ramdisk/qt-linux-64-release/build/layout-test-results/fast/events/autoscroll-in-textfield-expected.txt 
+++ /ramdisk/qt-linux-64-release/build/layout-test-results/fast/events/autoscroll-in-textfield-actual.txt 
@@ -1,3 +1,3 @@
  https://bugs.webkit.org/show_bug.cgi?id=20201 
 To do the test manually you have to try triggering the autoscroll by starting the dragging from within the text field and moving to the right. If the autoscroll occurs the test has PASSED.
-PASSED
+FAILED the textfield should have been scrolled


--- /ramdisk/qt-linux-64-release/build/layout-test-results/fast/events/autoscroll-should-not-stop-on-keypress-expected.txt 
+++ /ramdisk/qt-linux-64-release/build/layout-test-results/fast/events/autoscroll-should-not-stop-on-keypress-actual.txt 
@@ -1,5 +1,5 @@
 
-PASS frame.contentDocument.body.scrollTop + frame.clientHeight is frame.contentDocument.body.scrollHeight
+FAIL frame.contentDocument.body.scrollTop + frame.clientHeight should be 2022. Was 400.
 PASS successfullyParsed is true
 
 TEST COMPLETE</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>785848</commentid>
    <comment_count>10</comment_count>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2012-12-07 06:14:45 -0800</bug_when>
    <thetext>(In reply to comment #9)
&gt; (In reply to comment #8)
&gt; &gt; (From update of attachment 178009 [details] [details])
&gt; &gt; https://trac.webkit.org/changeset/136947
&gt; 
&gt; It broke 2 tests on all platform:
&gt; - fast/events/autoscroll-in-textfield.html
&gt; - fast/events/autoscroll-should-not-stop-on-keypress.html

Saw it. Checking...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>785852</commentid>
    <comment_count>11</comment_count>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2012-12-07 06:38:47 -0800</bug_when>
    <thetext>Unfortunately, EWS for some reason can not apply the patch and run the tests in advance.

I will likely revert the RenderBox part of the patch, and track is separately. Testing locally first. to See if it fixes the tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>785853</commentid>
    <comment_count>12</comment_count>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2012-12-07 06:39:34 -0800</bug_when>
    <thetext>Unfortunately, EWS for some reason can not apply the patch and run the tests in advance (abarth, would you know why?).

I will likely revert the RenderBox part of the patch, and track is separately. Testing locally first to see if it fixes the tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>785897</commentid>
    <comment_count>13</comment_count>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2012-12-07 08:30:36 -0800</bug_when>
    <thetext>(In reply to comment #12)
...
&gt; I will likely revert the RenderBox part of the patch, and track is separately. 

Filed bug 104373</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>789590</commentid>
    <comment_count>14</comment_count>
    <who name="Antonio Gomes">tonikitoo</who>
    <bug_when>2012-12-12 08:34:24 -0800</bug_when>
    <thetext>(In reply to comment #11)
&gt; Unfortunately, EWS for some reason can not apply the patch and run the tests in advance.
&gt; 
&gt; I will likely revert the RenderBox part of the patch, and track is separately. Testing locally first. to See if it fixes the tests.

Fixed by https://trac.webkit.org/changeset/136954</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>177484</attachid>
            <date>2012-12-04 08:11:46 -0800</date>
            <delta_ts>2012-12-05 08:27:17 -0800</delta_ts>
            <desc>patch</desc>
            <filename>0001-Rework-bug-97927-to-not-depend-on-RenderLayer-allows.patch</filename>
            <type>text/plain</type>
            <size>4943</size>
            <attacher name="Antonio Gomes">tonikitoo</attacher>
            
              <data encoding="base64">RnJvbSBmODE5YWQ0ZDlmMTI0ZmYyYjRmZmJhZjljNmU4NWZjZjMwNzliMzc3IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbnRvbmlvIEdvbWVzIDxhMS5nb21lc0BzaXNhLnNhbXN1bmcu
Y29tPgpEYXRlOiBUdWUsIDQgRGVjIDIwMTIgMTE6Mzc6MTAgLTA0MDAKU3ViamVjdDogW1BBVENI
XSBSZXdvcmsgYnVnIDk3OTI3IHRvIG5vdCBkZXBlbmQgb24KIFJlbmRlckxheWVyOjphbGxvd3NT
Y3JvbGxpbmcKIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDM5OTkK
ClJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgpQYXRjaCBieSBBbnRvbmlvIEdvbWVzIDxhMS5n
b21lc0BzaXNhLnNhbXN1bmcuY29tPgoKUGF0Y2ggbWFrZXMgaXQgcG9zc2libGUgZm9yIG1ldGhv
ZHMgbGlrZQpSZW5kZXJMYXllcjo6e3VwZGF0ZVNjcm9sbGJhcnNBZnRlckxheW91dCx1cGRhdGVT
Y3JvbGxiYXJzQWZ0ZXJTdHlsZUNoYW5nZX0KdG8gbm90IGRlcGVuZCBvbiBSZW5kZXJMYXllcjo6
YWxsb3dzU2Nyb2xsaW5nIHRvIGRldGVybWluZSBpZiBhIGxheWVyCnNob3VsZCBiZSBhZGRlZCBv
ciByZW1vdmVkIGZyb20gaXRzIEZyYW1lVmlldydzIFNjcm9sbGFibGVBcmVhIHNldC4KCkZvbGxv
d2luZyB0aGUgc2FtZSBsb2dpYywgdGhlIHBhdGNoIGFsc28gZml4ZXMgUmVuZGVyQm94OjpjYW5C
ZVNjcm9sbGVkQW5kSGFzU2Nyb2xsYWJsZUFyZWEKbWV0aG9kIHRvIHRha2UgaW50byBhY2NvdW50
IHRoZSBib3gnIHNjcm9sbCBhbGxvd2FuY2UgaW4gYSBnaXZlbiBkaXJlY3Rpb24gb25seSB3aGVu
IGl0IG92ZXJmbG93cy4KCk5vIG5ldyB0ZXN0cywgYXMgaXQgaXMgYSByZWZhY3Rvci4gQWxzbyBp
dCBpcyBhbHJlYWR5IGNvdmVyZWQgYnkgU2Nyb2xsaW5nQ29vcmRpbmF0b3JDaHJvbWl1bVRlc3Qu
Y2xpcHBlZEJvZHlUZXN0LgoKKiByZW5kZXJpbmcvUmVuZGVyQm94LmNwcDoKKFdlYkNvcmU6OlJl
bmRlckJveDo6Y2FuQmVTY3JvbGxlZEFuZEhhc1Njcm9sbGFibGVBcmVhKToKKiByZW5kZXJpbmcv
UmVuZGVyTGF5ZXIuY3BwOgooV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OnVwZGF0ZVNjcm9sbGJhcnNB
ZnRlckxheW91dCk6CihXZWJDb3JlOjpSZW5kZXJMYXllcjo6dXBkYXRlU2Nyb2xsYmFyc0FmdGVy
U3R5bGVDaGFuZ2UpOgotLS0KIFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyAgICAgICAgICAgICAg
ICAgfCAgIDIzICsrKysrKysrKysrKysrKysrKysrKysrCiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyQm94LmNwcCAgIHwgICAgOCArKysrKysrLQogU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckxheWVyLmNwcCB8ICAgIDQgKystLQogMyBmaWxlcyBjaGFuZ2VkLCAzMiBpbnNl
cnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA5M2I1M2I0Li4wOGU0NjA1
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNv
cmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjYgQEAKKzIwMTItMTItMDQgIEFudG9uaW8gR29tZXMg
IDxhMS5nb21lc0BzaXNhLnNhbXN1bmcuY29tPgorCisgICAgICAgIFJld29yayBidWcgOTc5Mjcg
dG8gbm90IGRlcGVuZCBvbiBSZW5kZXJMYXllcjo6YWxsb3dzU2Nyb2xsaW5nCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDM5OTkKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBQYXRjaCBtYWtlcyBpdCBwb3Nz
aWJsZSBmb3IgbWV0aG9kcyBsaWtlCisgICAgICAgIFJlbmRlckxheWVyOjp7dXBkYXRlU2Nyb2xs
YmFyc0FmdGVyTGF5b3V0LHVwZGF0ZVNjcm9sbGJhcnNBZnRlclN0eWxlQ2hhbmdlfQorICAgICAg
ICB0byBub3QgZGVwZW5kIG9uIFJlbmRlckxheWVyOjphbGxvd3NTY3JvbGxpbmcgdG8gZGV0ZXJt
aW5lIGlmIGEgbGF5ZXIKKyAgICAgICAgc2hvdWxkIGJlIGFkZGVkIG9yIHJlbW92ZWQgZnJvbSBp
dHMgRnJhbWVWaWV3J3MgU2Nyb2xsYWJsZUFyZWEgc2V0LgorCisgICAgICAgIEZvbGxvd2luZyB0
aGUgc2FtZSBsb2dpYywgdGhlIHBhdGNoIGFsc28gZml4ZXMgUmVuZGVyQm94OjpjYW5CZVNjcm9s
bGVkQW5kSGFzU2Nyb2xsYWJsZUFyZWEKKyAgICAgICAgbWV0aG9kIHRvIHRha2UgaW50byBhY2Nv
dW50IHRoZSBib3gnIHNjcm9sbCBhbGxvd2FuY2UgaW4gYSBnaXZlbiBkaXJlY3Rpb24gb25seSB3
aGVuIGl0IG92ZXJmbG93cy4KKworICAgICAgICBObyBuZXcgdGVzdHMsIGFzIGl0IGlzIGEgcmVm
YWN0b3IuIEFsc28gaXQgaXMgYWxyZWFkeSBjb3ZlcmVkIGJ5IFNjcm9sbGluZ0Nvb3JkaW5hdG9y
Q2hyb21pdW1UZXN0LmNsaXBwZWRCb2R5VGVzdC4KKworICAgICAgICAqIHJlbmRlcmluZy9SZW5k
ZXJCb3guY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQm94OjpjYW5CZVNjcm9sbGVkQW5k
SGFzU2Nyb2xsYWJsZUFyZWEpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllci5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6dXBkYXRlU2Nyb2xsYmFyc0FmdGVyTGF5
b3V0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjp1cGRhdGVTY3JvbGxiYXJzQWZ0
ZXJTdHlsZUNoYW5nZSk6CisKIDIwMTItMTItMDQgIE1pa2hhaWwgUG96ZG55YWtvdiAgPG1pa2hh
aWwucG96ZG55YWtvdkBpbnRlbC5jb20+CiAKICAgICAgICAgSW50U2l6ZTo6c2NhbGUoKSBzaG91
bGQgcmV0dXJuIHJvdW5kZWQgdmFsdWUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJCb3guY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5j
cHAKaW5kZXggYWQyODQyOC4uZWEyNTYwYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckJveC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckJveC5jcHAKQEAgLTYxNSw3ICs2MTUsMTMgQEAgYm9vbCBSZW5kZXJCb3g6OmxvZ2ljYWxTY3Jv
bGwoU2Nyb2xsTG9naWNhbERpcmVjdGlvbiBkaXJlY3Rpb24sIFNjcm9sbEdyYW51bGFyaXQKIAog
Ym9vbCBSZW5kZXJCb3g6OmNhbkJlU2Nyb2xsZWRBbmRIYXNTY3JvbGxhYmxlQXJlYSgpIGNvbnN0
CiB7Ci0gICAgcmV0dXJuIGNhbkJlUHJvZ3JhbWF0aWNhbGx5U2Nyb2xsZWQoKSAmJiAoc2Nyb2xs
SGVpZ2h0KCkgIT0gY2xpZW50SGVpZ2h0KCkgfHwgc2Nyb2xsV2lkdGgoKSAhPSBjbGllbnRXaWR0
aCgpKTsKKyAgICBpZiAoc2Nyb2xsSGVpZ2h0KCkgPT0gY2xpZW50SGVpZ2h0KCkgJiYgc2Nyb2xs
V2lkdGgoKSA9PSBjbGllbnRXaWR0aCgpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBi
b29sIGhhc092ZXJmbG93QW5kQWxsb3dzU2Nyb2xsaW5nSW5UaGF0RGlyZWN0aW9uID0gKHNjcm9s
bHNPdmVyZmxvd1goKSAmJiBzY3JvbGxXaWR0aCgpICE9IGNsaWVudFdpZHRoKCkpCisgICAgICAg
IHx8IChzY3JvbGxzT3ZlcmZsb3dZKCkgJiYgc2Nyb2xsSGVpZ2h0KCkgIT0gY2xpZW50SGVpZ2h0
KCkpOworCisgICAgcmV0dXJuIGNhbkJlUHJvZ3JhbWF0aWNhbGx5U2Nyb2xsZWQoKSAmJiBoYXNP
dmVyZmxvd0FuZEFsbG93c1Njcm9sbGluZ0luVGhhdERpcmVjdGlvbjsKIH0KICAgICAKIGJvb2wg
UmVuZGVyQm94OjpjYW5CZVByb2dyYW1hdGljYWxseVNjcm9sbGVkKCkgY29uc3QKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCmluZGV4IDVmNWJhMzIuLjg4M2U1MDkgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcApAQCAtMjcxNiw3ICsyNzE2
LDcgQEAgdm9pZCBSZW5kZXJMYXllcjo6dXBkYXRlU2Nyb2xsYmFyc0FmdGVyTGF5b3V0KCkKICAg
ICAgICAgbV92QmFyLT5zZXRQcm9wb3J0aW9uKGNsaWVudEhlaWdodCwgbV9zY3JvbGxTaXplLmhl
aWdodCgpKTsKICAgICB9CiAKLSAgICB1cGRhdGVTY3JvbGxhYmxlQXJlYVNldCgoaGFzSG9yaXpv
bnRhbE92ZXJmbG93IHx8IGhhc1ZlcnRpY2FsT3ZlcmZsb3cpICYmIHNjcm9sbHNPdmVyZmxvdygp
ICYmIGFsbG93c1Njcm9sbGluZygpKTsKKyAgICB1cGRhdGVTY3JvbGxhYmxlQXJlYVNldCgoaGFz
SG9yaXpvbnRhbE92ZXJmbG93ICYmIGJveC0+c2Nyb2xsc092ZXJmbG93WCgpKSB8fCAoaGFzVmVy
dGljYWxPdmVyZmxvdyAmJiBib3gtPnNjcm9sbHNPdmVyZmxvd1koKSkpOwogfQogCiB2b2lkIFJl
bmRlckxheWVyOjp1cGRhdGVTY3JvbGxJbmZvQWZ0ZXJMYXlvdXQoKQpAQCAtNTA5NCw3ICs1MDk0
LDcgQEAgdm9pZCBSZW5kZXJMYXllcjo6dXBkYXRlU2Nyb2xsYmFyc0FmdGVyU3R5bGVDaGFuZ2Uo
Y29uc3QgUmVuZGVyU3R5bGUqIG9sZFN0eWxlKQogICAgIH0KIAogICAgIGlmICghbV9zY3JvbGxE
aW1lbnNpb25zRGlydHkpCi0gICAgICAgIHVwZGF0ZVNjcm9sbGFibGVBcmVhU2V0KChoYXNIb3Jp
em9udGFsT3ZlcmZsb3coKSB8fCBoYXNWZXJ0aWNhbE92ZXJmbG93KCkpICYmIHNjcm9sbHNPdmVy
ZmxvdygpICYmIGFsbG93c1Njcm9sbGluZygpKTsKKyAgICAgICAgdXBkYXRlU2Nyb2xsYWJsZUFy
ZWFTZXQoKGhhc0hvcml6b250YWxPdmVyZmxvdygpICYmIGJveC0+c2Nyb2xsc092ZXJmbG93WCgp
KSB8fCAoaGFzVmVydGljYWxPdmVyZmxvdygpICYmIGJveC0+c2Nyb2xsc092ZXJmbG93WSgpKSk7
CiB9CiAKIHZvaWQgUmVuZGVyTGF5ZXI6OnN0eWxlQ2hhbmdlZChTdHlsZURpZmZlcmVuY2UsIGNv
bnN0IFJlbmRlclN0eWxlKiBvbGRTdHlsZSkKLS0gCjEuNy4xMC40Cgo=
</data>
<flag name="review"
          id="193650"
          type_id="1"
          status="-"
          setter="simon.fraser"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>177756</attachid>
            <date>2012-12-05 08:27:17 -0800</date>
            <delta_ts>2012-12-06 07:16:36 -0800</delta_ts>
            <desc>patch2 - take simon&apos;s feedback into account</desc>
            <filename>0001-Rework-bug-97927-to-not-depend-on-RenderLayer-allows.patch</filename>
            <type>text/plain</type>
            <size>12148</size>
            <attacher name="Antonio Gomes">tonikitoo</attacher>
            
              <data encoding="base64">RnJvbSA3OWE4ODkzNmQ0YmNhMzNlYTM3NDg1YjAxMmVhZDFmZmJmOGI5YTAxIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbnRvbmlvIEdvbWVzIDxhMS5nb21lc0BzaXNhLnNhbXN1bmcu
Y29tPgpEYXRlOiBXZWQsIDUgRGVjIDIwMTIgMTE6NDI6MzIgLTA0MDAKU3ViamVjdDogW1BBVENI
XSBSZXdvcmsgYnVnIDk3OTI3IHRvIG5vdCBkZXBlbmQgb24KIFJlbmRlckxheWVyOjphbGxvd3NT
Y3JvbGxpbmcKIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDM5OTkK
ClJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgpQYXRjaCBieSBBbnRvbmlvIEdvbWVzIDxhMS5n
b21lc0BzaXNhLnNhbXN1bmcuY29tPgoKUGF0Y2ggbWFrZXMgaXQgcG9zc2libGUgZm9yIG1ldGhv
ZHMgbGlrZQpSZW5kZXJMYXllcjo6e3VwZGF0ZVNjcm9sbGJhcnNBZnRlckxheW91dCx1cGRhdGVT
Y3JvbGxiYXJzQWZ0ZXJTdHlsZUNoYW5nZX0KdG8gbm90IGRlcGVuZCBvbiBSZW5kZXJMYXllcjo6
YWxsb3dzU2Nyb2xsaW5nIHRvIGRldGVybWluZSBpZiBhIGxheWVyIHNob3VsZApiZSBhZGRlZCBv
ciByZW1vdmVkIGZyb20gaXRzIEZyYW1lVmlldydzIFNjcm9sbGFibGVBcmVhIHNldC4KCkZvbGxv
d2luZyB0aGUgc2FtZSBsb2dpYywgdGhlIHBhdGNoIGFsc28gZml4ZXMgUmVuZGVyQm94OjpjYW5C
ZVNjcm9sbGVkQW5kSGFzU2Nyb2xsYWJsZUFyZWEKbWV0aG9kIHRvIHRha2UgaW50byBhY2NvdW50
IHRoZSBib3gnIHNjcm9sbCBhbGxvd2FuY2UgaW4gYSBnaXZlbiBkaXJlY3Rpb24gb25seQp3aGVu
IGl0IG92ZXJmbG93cy4KClRoZSBuYW1pbmcgcGF0dGVybiBmb3IgdGhlIG5ld2x5IGFkZGVkIG1l
dGhvZHMgd2VyZSBjaG9vc2VuIHRvIGtlZXAgdGhlIGNvbnNpdGVuY3kKd2l0aCB0aGUgZXhpc3Rp
bmcgb25lcywgaW4gdGhlIHNhbWUgY2xhc3MuCgpObyBuZXcgdGVzdHMsIGFzIGl0IGlzIGEgcmVm
YWN0b3IuIEFsc28gaXQgaXMgYWxyZWFkeSBjb3ZlcmVkIGJ5IFNjcm9sbGluZ0Nvb3JkaW5hdG9y
Q2hyb21pdW1UZXN0LmNsaXBwZWRCb2R5VGVzdC4KCiogcmVuZGVyaW5nL1JlbmRlckJveC5jcHA6
CihXZWJDb3JlOjpSZW5kZXJCb3g6OmNhbkJlU2Nyb2xsZWRBbmRIYXNTY3JvbGxhYmxlQXJlYSk6
CiogcmVuZGVyaW5nL1JlbmRlckJveC5oOgooUmVuZGVyQm94KToKKFdlYkNvcmU6OlJlbmRlckJv
eDo6aGFzU2Nyb2xsYWJsZU92ZXJmbG93WCk6CihXZWJDb3JlOjpSZW5kZXJCb3g6Omhhc1Njcm9s
bGFibGVPdmVyZmxvd1kpOgoqIHJlbmRlcmluZy9SZW5kZXJMYXllci5jcHA6CihXZWJDb3JlOjpS
ZW5kZXJMYXllcjo6aGFzU2Nyb2xsYWJsZUhvcml6b250YWxPdmVyZmxvdyk6CihXZWJDb3JlKToK
KFdlYkNvcmU6OlJlbmRlckxheWVyOjpoYXNTY3JvbGxhYmxlVmVydGljYWxPdmVyZmxvdyk6CihX
ZWJDb3JlOjpSZW5kZXJMYXllcjo6dXBkYXRlU2Nyb2xsYmFyc0FmdGVyTGF5b3V0KToKKFdlYkNv
cmU6OlJlbmRlckxheWVyOjp1cGRhdGVTY3JvbGxiYXJzQWZ0ZXJTdHlsZUNoYW5nZSk6CiogcmVu
ZGVyaW5nL1JlbmRlckxheWVyLmg6CihSZW5kZXJMYXllcik6Ci0tLQogU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nICAgICAgICAgICAgICAgICB8ICAgMzYgKysrKysrKysrKysrKysrKysrKysrKysr
KysrKysrCiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcCAgIHwgICAgMyAr
Ky0KIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guaCAgICAgfCAgICAzICsrKwog
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcCB8ICAgMTQgKysrKysrKysr
Ky0tCiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaCAgIHwgICAgMiArKwog
NSBmaWxlcyBjaGFuZ2VkLCA1NSBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQoKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxv
ZwppbmRleCA5M2I1M2I0Li5iYWUzYjkxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFu
Z2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDEwICsxLDQ2IEBACisy
MDEyLTEyLTA1ICBBbnRvbmlvIEdvbWVzICA8YTEuZ29tZXNAc2lzYS5zYW1zdW5nLmNvbT4KKwor
ICAgICAgICBSZXdvcmsgYnVnIDk3OTI3IHRvIG5vdCBkZXBlbmQgb24gUmVuZGVyTGF5ZXI6OmFs
bG93c1Njcm9sbGluZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTAzOTk5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgUGF0Y2ggbWFrZXMgaXQgcG9zc2libGUgZm9yIG1ldGhvZHMgbGlrZQorICAgICAgICBS
ZW5kZXJMYXllcjo6e3VwZGF0ZVNjcm9sbGJhcnNBZnRlckxheW91dCx1cGRhdGVTY3JvbGxiYXJz
QWZ0ZXJTdHlsZUNoYW5nZX0KKyAgICAgICAgdG8gbm90IGRlcGVuZCBvbiBSZW5kZXJMYXllcjo6
YWxsb3dzU2Nyb2xsaW5nIHRvIGRldGVybWluZSBpZiBhIGxheWVyIHNob3VsZAorICAgICAgICBi
ZSBhZGRlZCBvciByZW1vdmVkIGZyb20gaXRzIEZyYW1lVmlldydzIFNjcm9sbGFibGVBcmVhIHNl
dC4KKworICAgICAgICBGb2xsb3dpbmcgdGhlIHNhbWUgbG9naWMsIHRoZSBwYXRjaCBhbHNvIGZp
eGVzIFJlbmRlckJveDo6Y2FuQmVTY3JvbGxlZEFuZEhhc1Njcm9sbGFibGVBcmVhCisgICAgICAg
IG1ldGhvZCB0byB0YWtlIGludG8gYWNjb3VudCB0aGUgYm94JyBzY3JvbGwgYWxsb3dhbmNlIGlu
IGEgZ2l2ZW4gZGlyZWN0aW9uIG9ubHkKKyAgICAgICAgd2hlbiBpdCBvdmVyZmxvd3MuCisKKyAg
ICAgICAgVGhlIG5hbWluZyBwYXR0ZXJuIGZvciB0aGUgbmV3bHkgYWRkZWQgbWV0aG9kcyB3ZXJl
IGNob29zZW4gdG8ga2VlcCB0aGUgY29uc2l0ZW5jeQorICAgICAgICB3aXRoIHRoZSBleGlzdGlu
ZyBvbmVzLCBpbiB0aGUgc2FtZSBjbGFzcy4KKworICAgICAgICBObyBuZXcgdGVzdHMsIGFzIGl0
IGlzIGEgcmVmYWN0b3IuIEFsc28gaXQgaXMgYWxyZWFkeSBjb3ZlcmVkIGJ5IFNjcm9sbGluZ0Nv
b3JkaW5hdG9yQ2hyb21pdW1UZXN0LmNsaXBwZWRCb2R5VGVzdC4KKworICAgICAgICAqIHJlbmRl
cmluZy9SZW5kZXJCb3guY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQm94OjpjYW5CZVNj
cm9sbGVkQW5kSGFzU2Nyb2xsYWJsZUFyZWEpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJC
b3guaDoKKyAgICAgICAgKFJlbmRlckJveCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCb3g6
Omhhc1Njcm9sbGFibGVPdmVyZmxvd1gpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQm94Ojpo
YXNTY3JvbGxhYmxlT3ZlcmZsb3dZKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6Omhhc1Njcm9sbGFibGVIb3Jpem9u
dGFsT3ZlcmZsb3cpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJMYXllcjo6aGFzU2Nyb2xsYWJsZVZlcnRpY2FsT3ZlcmZsb3cpOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyTGF5ZXI6OnVwZGF0ZVNjcm9sbGJhcnNBZnRlckxheW91dCk6CisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJMYXllcjo6dXBkYXRlU2Nyb2xsYmFyc0FmdGVyU3R5bGVDaGFuZ2UpOgor
ICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllci5oOgorICAgICAgICAoUmVuZGVyTGF5ZXIp
OgorCiAyMDEyLTEyLTA0ICBNaWtoYWlsIFBvemRueWFrb3YgIDxtaWtoYWlsLnBvemRueWFrb3ZA
aW50ZWwuY29tPgogCiAgICAgICAgIEludFNpemU6OnNjYWxlKCkgc2hvdWxkIHJldHVybiByb3Vu
ZGVkIHZhbHVlCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xMDM5ODQKIAogICAgICAgICBSZXZpZXdlZCBieSBLZW5uZXRoIFJvaGRlIENocmlzdGlhbnNl
bi4KIAogICAgICAgICBJbnRTaXplOjpzY2FsZSgpIGlzIG5vdyByb3VuZGluZyBmbG9hdCB2YWx1
ZSB0byB0aGUgbmVhcmVzdCBpbnRlZ2VyIGluc3RlYWQgb2YgYmxpbmQgdHlwZSBjYXN0aW5nLgog
CiAgICAgICAgIFRlc3Q6IGNzczMvZGV2aWNlLWFkYXB0L3ZpZXdwb3J0LXdpZHRoLW5vdC1hZmZl
Y3RpbmctbmV4dC1wYWdlLmh0bWwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJCb3guY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAK
aW5kZXggYWQyODQyOC4uOGFmYmNlMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckJveC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJv
eC5jcHAKQEAgLTYwOCwyMSArNjA4LDIyIEBAIGJvb2wgUmVuZGVyQm94Ojpsb2dpY2FsU2Nyb2xs
KFNjcm9sbExvZ2ljYWxEaXJlY3Rpb24gZGlyZWN0aW9uLCBTY3JvbGxHcmFudWxhcml0CiAgICAg
ICAgIHJldHVybiB0cnVlOwogCiAgICAgUmVuZGVyQmxvY2sqIGIgPSBjb250YWluaW5nQmxvY2so
KTsKICAgICBpZiAoYiAmJiAhYi0+aXNSZW5kZXJWaWV3KCkpCiAgICAgICAgIHJldHVybiBiLT5s
b2dpY2FsU2Nyb2xsKGRpcmVjdGlvbiwgZ3JhbnVsYXJpdHksIG11bHRpcGxpZXIsIHN0b3BOb2Rl
KTsKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKIGJvb2wgUmVuZGVyQm94OjpjYW5CZVNjcm9sbGVk
QW5kSGFzU2Nyb2xsYWJsZUFyZWEoKSBjb25zdAogewotICAgIHJldHVybiBjYW5CZVByb2dyYW1h
dGljYWxseVNjcm9sbGVkKCkgJiYgKHNjcm9sbEhlaWdodCgpICE9IGNsaWVudEhlaWdodCgpIHx8
IHNjcm9sbFdpZHRoKCkgIT0gY2xpZW50V2lkdGgoKSk7CisgICAgYm9vbCBoYXNTY3JvbGxhYmxl
T3ZlcmZsb3cgPSBoYXNTY3JvbGxhYmxlT3ZlcmZsb3dYKCkgfHwgaGFzU2Nyb2xsYWJsZU92ZXJm
bG93WSgpOworICAgIHJldHVybiBoYXNTY3JvbGxhYmxlT3ZlcmZsb3cgJiYgY2FuQmVQcm9ncmFt
YXRpY2FsbHlTY3JvbGxlZCgpOwogfQogICAgIAogYm9vbCBSZW5kZXJCb3g6OmNhbkJlUHJvZ3Jh
bWF0aWNhbGx5U2Nyb2xsZWQoKSBjb25zdAogewogICAgIHJldHVybiAoaGFzT3ZlcmZsb3dDbGlw
KCkgJiYgKHNjcm9sbHNPdmVyZmxvdygpIHx8IChub2RlKCkgJiYgbm9kZSgpLT5yZW5kZXJlcklz
RWRpdGFibGUoKSkpKSB8fCAobm9kZSgpICYmIG5vZGUoKS0+aXNEb2N1bWVudE5vZGUoKSk7CiB9
CiAKIGJvb2wgUmVuZGVyQm94Ojp1c2VzQ29tcG9zaXRlZFNjcm9sbGluZygpIGNvbnN0CiB7CiAg
ICAgcmV0dXJuIGhhc092ZXJmbG93Q2xpcCgpICYmIGhhc0xheWVyKCkgJiYgbGF5ZXIoKS0+dXNl
c0NvbXBvc2l0ZWRTY3JvbGxpbmcoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJCb3guaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guaApp
bmRleCBjMWRlM2U3Li4xYTE0ZmM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyQm94LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5o
CkBAIC00MzMsMjUgKzQzMywyOCBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBpbnQgdmVydGljYWxT
Y3JvbGxiYXJXaWR0aCgpIGNvbnN0OwogICAgIGludCBob3Jpem9udGFsU2Nyb2xsYmFySGVpZ2h0
KCkgY29uc3Q7CiAgICAgaW50IHNjcm9sbGJhckxvZ2ljYWxIZWlnaHQoKSBjb25zdCB7IHJldHVy
biBzdHlsZSgpLT5pc0hvcml6b250YWxXcml0aW5nTW9kZSgpID8gaG9yaXpvbnRhbFNjcm9sbGJh
ckhlaWdodCgpIDogdmVydGljYWxTY3JvbGxiYXJXaWR0aCgpOyB9CiAgICAgdmlydHVhbCBib29s
IHNjcm9sbChTY3JvbGxEaXJlY3Rpb24sIFNjcm9sbEdyYW51bGFyaXR5LCBmbG9hdCBtdWx0aXBs
aWVyID0gMSwgTm9kZSoqIHN0b3BOb2RlID0gMCk7CiAgICAgdmlydHVhbCBib29sIGxvZ2ljYWxT
Y3JvbGwoU2Nyb2xsTG9naWNhbERpcmVjdGlvbiwgU2Nyb2xsR3JhbnVsYXJpdHksIGZsb2F0IG11
bHRpcGxpZXIgPSAxLCBOb2RlKiogc3RvcE5vZGUgPSAwKTsKICAgICBib29sIGNhbkJlU2Nyb2xs
ZWRBbmRIYXNTY3JvbGxhYmxlQXJlYSgpIGNvbnN0OwogICAgIHZpcnR1YWwgYm9vbCBjYW5CZVBy
b2dyYW1hdGljYWxseVNjcm9sbGVkKCkgY29uc3Q7CiAgICAgdmlydHVhbCB2b2lkIGF1dG9zY3Jv
bGwoKTsKICAgICB2aXJ0dWFsIHZvaWQgc3RvcEF1dG9zY3JvbGwoKSB7IH0KICAgICB2aXJ0dWFs
IHZvaWQgcGFuU2Nyb2xsKGNvbnN0IEludFBvaW50Jik7CisKICAgICBib29sIGhhc0F1dG9WZXJ0
aWNhbFNjcm9sbGJhcigpIGNvbnN0IHsgcmV0dXJuIGhhc092ZXJmbG93Q2xpcCgpICYmIChzdHls
ZSgpLT5vdmVyZmxvd1koKSA9PSBPQVVUTyB8fCBzdHlsZSgpLT5vdmVyZmxvd1koKSA9PSBPT1ZF
UkxBWSk7IH0KICAgICBib29sIGhhc0F1dG9Ib3Jpem9udGFsU2Nyb2xsYmFyKCkgY29uc3QgeyBy
ZXR1cm4gaGFzT3ZlcmZsb3dDbGlwKCkgJiYgKHN0eWxlKCktPm92ZXJmbG93WCgpID09IE9BVVRP
IHx8IHN0eWxlKCktPm92ZXJmbG93WCgpID09IE9PVkVSTEFZKTsgfQogICAgIGJvb2wgc2Nyb2xs
c092ZXJmbG93KCkgY29uc3QgeyByZXR1cm4gc2Nyb2xsc092ZXJmbG93WCgpIHx8IHNjcm9sbHNP
dmVyZmxvd1koKTsgfQogICAgIGJvb2wgc2Nyb2xsc092ZXJmbG93WCgpIGNvbnN0IHsgcmV0dXJu
IGhhc092ZXJmbG93Q2xpcCgpICYmIChzdHlsZSgpLT5vdmVyZmxvd1goKSA9PSBPU0NST0xMIHx8
IGhhc0F1dG9Ib3Jpem9udGFsU2Nyb2xsYmFyKCkpOyB9CiAgICAgYm9vbCBzY3JvbGxzT3ZlcmZs
b3dZKCkgY29uc3QgeyByZXR1cm4gaGFzT3ZlcmZsb3dDbGlwKCkgJiYgKHN0eWxlKCktPm92ZXJm
bG93WSgpID09IE9TQ1JPTEwgfHwgaGFzQXV0b1ZlcnRpY2FsU2Nyb2xsYmFyKCkpOyB9CisgICAg
Ym9vbCBoYXNTY3JvbGxhYmxlT3ZlcmZsb3dYKCkgY29uc3QgeyByZXR1cm4gc2Nyb2xsc092ZXJm
bG93WCgpICYmIHNjcm9sbFdpZHRoKCkgIT0gY2xpZW50V2lkdGgoKTsgfQorICAgIGJvb2wgaGFz
U2Nyb2xsYWJsZU92ZXJmbG93WSgpIGNvbnN0IHsgcmV0dXJuIHNjcm9sbHNPdmVyZmxvd1koKSAm
JiBzY3JvbGxIZWlnaHQoKSAhPSBjbGllbnRIZWlnaHQoKTsgfQogICAgIGJvb2wgdXNlc0NvbXBv
c2l0ZWRTY3JvbGxpbmcoKSBjb25zdDsKICAgICAKICAgICBib29sIGhhc1Vuc3BsaXR0YWJsZVNj
cm9sbGluZ092ZXJmbG93KCkgY29uc3Q7CiAgICAgYm9vbCBpc1Vuc3BsaXR0YWJsZUZvclBhZ2lu
YXRpb24oKSBjb25zdDsKIAogICAgIHZpcnR1YWwgTGF5b3V0UmVjdCBsb2NhbENhcmV0UmVjdChJ
bmxpbmVCb3gqLCBpbnQgY2FyZXRPZmZzZXQsIExheW91dFVuaXQqIGV4dHJhV2lkdGhUb0VuZE9m
TGluZSA9IDApOwogCiAgICAgdmlydHVhbCBMYXlvdXRSZWN0IG92ZXJmbG93Q2xpcFJlY3QoY29u
c3QgTGF5b3V0UG9pbnQmIGxvY2F0aW9uLCBSZW5kZXJSZWdpb24qLCBPdmVybGF5U2Nyb2xsYmFy
U2l6ZVJlbGV2YW5jeSA9IElnbm9yZU92ZXJsYXlTY3JvbGxiYXJTaXplKTsKICAgICBMYXlvdXRS
ZWN0IGNsaXBSZWN0KGNvbnN0IExheW91dFBvaW50JiBsb2NhdGlvbiwgUmVuZGVyUmVnaW9uKik7
CiAgICAgdmlydHVhbCBib29sIGhhc0NvbnRyb2xDbGlwKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCmluZGV4IDVmNWJhMzIu
LjQxN2JmZGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXll
ci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcApAQCAt
MjYyNywyMCArMjYyNywzMCBAQCB2b2lkIFJlbmRlckxheWVyOjpjb21wdXRlU2Nyb2xsRGltZW5z
aW9ucygpCiAgICAgbV9zY3JvbGxEaW1lbnNpb25zRGlydHkgPSBmYWxzZTsKIAogICAgIG1fc2Ny
b2xsU2l6ZS5zZXRXaWR0aChvdmVyZmxvd1JpZ2h0KCkgLSBvdmVyZmxvd0xlZnQoKSk7CiAgICAg
bV9zY3JvbGxTaXplLnNldEhlaWdodChvdmVyZmxvd0JvdHRvbSgpIC0gb3ZlcmZsb3dUb3AoKSk7
CiAKICAgICBpbnQgc2Nyb2xsYWJsZUxlZnRPdmVyZmxvdyA9IG92ZXJmbG93TGVmdCgpIC0gYm94
LT5ib3JkZXJMZWZ0KCk7CiAgICAgaW50IHNjcm9sbGFibGVUb3BPdmVyZmxvdyA9IG92ZXJmbG93
VG9wKCkgLSBib3gtPmJvcmRlclRvcCgpOwogICAgIHNldFNjcm9sbE9yaWdpbihJbnRQb2ludCgt
c2Nyb2xsYWJsZUxlZnRPdmVyZmxvdywgLXNjcm9sbGFibGVUb3BPdmVyZmxvdykpOwogfQogCiti
b29sIFJlbmRlckxheWVyOjpoYXNTY3JvbGxhYmxlSG9yaXpvbnRhbE92ZXJmbG93KCkgY29uc3QK
K3sKKyAgICByZXR1cm4gaGFzSG9yaXpvbnRhbE92ZXJmbG93KCkgJiYgcmVuZGVyQm94KCktPnNj
cm9sbHNPdmVyZmxvd1goKTsKK30KKworYm9vbCBSZW5kZXJMYXllcjo6aGFzU2Nyb2xsYWJsZVZl
cnRpY2FsT3ZlcmZsb3coKSBjb25zdAoreworICAgIHJldHVybiBoYXNWZXJ0aWNhbE92ZXJmbG93
KCkgJiYgcmVuZGVyQm94KCktPnNjcm9sbHNPdmVyZmxvd1koKTsKK30KKwogYm9vbCBSZW5kZXJM
YXllcjo6aGFzSG9yaXpvbnRhbE92ZXJmbG93KCkgY29uc3QKIHsKICAgICBBU1NFUlQoIW1fc2Ny
b2xsRGltZW5zaW9uc0RpcnR5KTsKIAogICAgIHJldHVybiBzY3JvbGxXaWR0aCgpID4gcmVuZGVy
Qm94KCktPnBpeGVsU25hcHBlZENsaWVudFdpZHRoKCk7CiB9CiAKIGJvb2wgUmVuZGVyTGF5ZXI6
Omhhc1ZlcnRpY2FsT3ZlcmZsb3coKSBjb25zdAogewogICAgIEFTU0VSVCghbV9zY3JvbGxEaW1l
bnNpb25zRGlydHkpOwpAQCAtMjcwOSwyMSArMjcxOSwyMSBAQCB2b2lkIFJlbmRlckxheWVyOjp1
cGRhdGVTY3JvbGxiYXJzQWZ0ZXJMYXlvdXQoKQogICAgICAgICBtX2hCYXItPnNldFN0ZXBzKFNj
cm9sbGJhcjo6cGl4ZWxzUGVyTGluZVN0ZXAoKSwgcGFnZVN0ZXApOwogICAgICAgICBtX2hCYXIt
PnNldFByb3BvcnRpb24oY2xpZW50V2lkdGgsIG1fc2Nyb2xsU2l6ZS53aWR0aCgpKTsKICAgICB9
CiAgICAgaWYgKG1fdkJhcikgewogICAgICAgICBpbnQgY2xpZW50SGVpZ2h0ID0gYm94LT5waXhl
bFNuYXBwZWRDbGllbnRIZWlnaHQoKTsKICAgICAgICAgaW50IHBhZ2VTdGVwID0gbWF4KG1heDxp
bnQ+KGNsaWVudEhlaWdodCAqIFNjcm9sbGJhcjo6bWluRnJhY3Rpb25Ub1N0ZXBXaGVuUGFnaW5n
KCksIGNsaWVudEhlaWdodCAtIFNjcm9sbGJhcjo6bWF4T3ZlcmxhcEJldHdlZW5QYWdlcygpKSwg
MSk7CiAgICAgICAgIG1fdkJhci0+c2V0U3RlcHMoU2Nyb2xsYmFyOjpwaXhlbHNQZXJMaW5lU3Rl
cCgpLCBwYWdlU3RlcCk7CiAgICAgICAgIG1fdkJhci0+c2V0UHJvcG9ydGlvbihjbGllbnRIZWln
aHQsIG1fc2Nyb2xsU2l6ZS5oZWlnaHQoKSk7CiAgICAgfQogCi0gICAgdXBkYXRlU2Nyb2xsYWJs
ZUFyZWFTZXQoKGhhc0hvcml6b250YWxPdmVyZmxvdyB8fCBoYXNWZXJ0aWNhbE92ZXJmbG93KSAm
JiBzY3JvbGxzT3ZlcmZsb3coKSAmJiBhbGxvd3NTY3JvbGxpbmcoKSk7CisgICAgdXBkYXRlU2Ny
b2xsYWJsZUFyZWFTZXQoaGFzU2Nyb2xsYWJsZUhvcml6b250YWxPdmVyZmxvdygpIHx8IGhhc1Nj
cm9sbGFibGVWZXJ0aWNhbE92ZXJmbG93KCkpOwogfQogCiB2b2lkIFJlbmRlckxheWVyOjp1cGRh
dGVTY3JvbGxJbmZvQWZ0ZXJMYXlvdXQoKQogewogICAgIFJlbmRlckJveCogYm94ID0gcmVuZGVy
Qm94KCk7CiAgICAgaWYgKCFib3gpCiAgICAgICAgIHJldHVybjsKIAogICAgIG1fc2Nyb2xsRGlt
ZW5zaW9uc0RpcnR5ID0gdHJ1ZTsKICAgICBJbnRTaXplIG9yaWdpbmFsU2Nyb2xsT2Zmc2V0ID0g
c2Nyb2xsT2Zmc2V0KCk7CkBAIC01MDg3LDIxICs1MDk3LDIxIEBAIHZvaWQgUmVuZGVyTGF5ZXI6
OnVwZGF0ZVNjcm9sbGJhcnNBZnRlclN0eWxlQ2hhbmdlKGNvbnN0IFJlbmRlclN0eWxlKiBvbGRT
dHlsZSkKICAgICAgICAgQVNTRVJUKGhhc0hvcml6b250YWxTY3JvbGxiYXIoKSk7CiAgICAgICAg
IG1faEJhci0+c2V0RW5hYmxlZCh0cnVlKTsKICAgICB9CiAKICAgICBpZiAobmVlZHNWZXJ0aWNh
bFNjcm9sbGJhciAmJiBvbGRTdHlsZSAmJiBvbGRTdHlsZS0+b3ZlcmZsb3dZKCkgPT0gT1NDUk9M
TCAmJiBvdmVyZmxvd1kgIT0gT1NDUk9MTCkgewogICAgICAgICBBU1NFUlQoaGFzVmVydGljYWxT
Y3JvbGxiYXIoKSk7CiAgICAgICAgIG1fdkJhci0+c2V0RW5hYmxlZCh0cnVlKTsKICAgICB9CiAK
ICAgICBpZiAoIW1fc2Nyb2xsRGltZW5zaW9uc0RpcnR5KQotICAgICAgICB1cGRhdGVTY3JvbGxh
YmxlQXJlYVNldCgoaGFzSG9yaXpvbnRhbE92ZXJmbG93KCkgfHwgaGFzVmVydGljYWxPdmVyZmxv
dygpKSAmJiBzY3JvbGxzT3ZlcmZsb3coKSAmJiBhbGxvd3NTY3JvbGxpbmcoKSk7CisgICAgICAg
IHVwZGF0ZVNjcm9sbGFibGVBcmVhU2V0KGhhc1Njcm9sbGFibGVIb3Jpem9udGFsT3ZlcmZsb3co
KSB8fCBoYXNTY3JvbGxhYmxlVmVydGljYWxPdmVyZmxvdygpKTsKIH0KIAogdm9pZCBSZW5kZXJM
YXllcjo6c3R5bGVDaGFuZ2VkKFN0eWxlRGlmZmVyZW5jZSwgY29uc3QgUmVuZGVyU3R5bGUqIG9s
ZFN0eWxlKQogewogICAgIGJvb2wgaXNOb3JtYWxGbG93T25seSA9IHNob3VsZEJlTm9ybWFsRmxv
d09ubHkoKTsKICAgICBpZiAoaXNOb3JtYWxGbG93T25seSAhPSBtX2lzTm9ybWFsRmxvd09ubHkp
IHsKICAgICAgICAgbV9pc05vcm1hbEZsb3dPbmx5ID0gaXNOb3JtYWxGbG93T25seTsKICAgICAg
ICAgUmVuZGVyTGF5ZXIqIHAgPSBwYXJlbnQoKTsKICAgICAgICAgaWYgKHApCiAgICAgICAgICAg
ICBwLT5kaXJ0eU5vcm1hbEZsb3dMaXN0KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJM
YXllci5oCmluZGV4IDBjMGNkNzkuLmI1ZGQwZTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJMYXllci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJMYXllci5oCkBAIC04MTgsMjAgKzgxOCwyMiBAQCBwcml2YXRlOgogCiAgICAgUGFzc1Jl
ZlB0cjxIaXRUZXN0aW5nVHJhbnNmb3JtU3RhdGU+IGNyZWF0ZUxvY2FsVHJhbnNmb3JtU3RhdGUo
UmVuZGVyTGF5ZXIqIHJvb3RMYXllciwgUmVuZGVyTGF5ZXIqIGNvbnRhaW5lckxheWVyLAogICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IExheW91dFJlY3QmIGhpdFRlc3RSZWN0LCBj
b25zdCBIaXRUZXN0TG9jYXRpb24mLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0
IEhpdFRlc3RpbmdUcmFuc2Zvcm1TdGF0ZSogY29udGFpbmVyVHJhbnNmb3JtU3RhdGUpIGNvbnN0
OwogICAgIAogICAgIGJvb2wgaGl0VGVzdENvbnRlbnRzKGNvbnN0IEhpdFRlc3RSZXF1ZXN0Jiwg
SGl0VGVzdFJlc3VsdCYsIGNvbnN0IExheW91dFJlY3QmIGxheWVyQm91bmRzLCBjb25zdCBIaXRU
ZXN0TG9jYXRpb24mLCBIaXRUZXN0RmlsdGVyKSBjb25zdDsKIAogICAgIHZvaWQgY29tcHV0ZVNj
cm9sbERpbWVuc2lvbnMoKTsKICAgICBib29sIGhhc0hvcml6b250YWxPdmVyZmxvdygpIGNvbnN0
OwogICAgIGJvb2wgaGFzVmVydGljYWxPdmVyZmxvdygpIGNvbnN0OworICAgIGJvb2wgaGFzU2Ny
b2xsYWJsZUhvcml6b250YWxPdmVyZmxvdygpIGNvbnN0OworICAgIGJvb2wgaGFzU2Nyb2xsYWJs
ZVZlcnRpY2FsT3ZlcmZsb3coKSBjb25zdDsKIAogICAgIGJvb2wgc2hvdWxkQmVOb3JtYWxGbG93
T25seSgpIGNvbnN0OwogCiAgICAgYm9vbCBzaG91bGRCZVNlbGZQYWludGluZ0xheWVyKCkgY29u
c3Q7CiAKICAgICBpbnQgc2Nyb2xsUG9zaXRpb24oU2Nyb2xsYmFyKikgY29uc3Q7CiAgICAgCiAg
ICAgLy8gU2Nyb2xsYWJsZUFyZWEgaW50ZXJmYWNlCiAgICAgdmlydHVhbCB2b2lkIGludmFsaWRh
dGVTY3JvbGxiYXJSZWN0KFNjcm9sbGJhciosIGNvbnN0IEludFJlY3QmKTsKICAgICB2aXJ0dWFs
IHZvaWQgaW52YWxpZGF0ZVNjcm9sbENvcm5lclJlY3QoY29uc3QgSW50UmVjdCYpOwotLSAKMS43
LjEwLjQKCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>178009</attachid>
            <date>2012-12-06 07:16:36 -0800</date>
            <delta_ts>2012-12-07 05:15:37 -0800</delta_ts>
            <desc>(landed r136947, r=jamesr) patch 2.1 - take Sami&apos;s feedback into account</desc>
            <filename>0001-Rework-bug-97927-to-not-depend-on-RenderLayer-allows.patch</filename>
            <type>text/plain</type>
            <size>12332</size>
            <attacher name="Antonio Gomes">tonikitoo</attacher>
            
              <data encoding="base64">RnJvbSA2NjZlMTY4ZjNhOTFiMzU4OGM0ZmFmMjJjMzRjZWY1MzVhZGRmMmEyIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbnRvbmlvIEdvbWVzIDxhMS5nb21lc0BzaXNhLnNhbXN1bmcu
Y29tPgpEYXRlOiBUaHUsIDYgRGVjIDIwMTIgMTE6MTI6NTYgLTA0MDAKU3ViamVjdDogW1BBVENI
XSBSZXdvcmsgYnVnIDk3OTI3IHRvIG5vdCBkZXBlbmQgb24KIFJlbmRlckxheWVyOjphbGxvd3NT
Y3JvbGxpbmcKIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDM5OTkK
ClJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgpQYXRjaCBieSBBbnRvbmlvIEdvbWVzIDxhMS5n
b21lc0BzaXNhLnNhbXN1bmcuY29tPgoKUGF0Y2ggbWFrZXMgaXQgcG9zc2libGUgZm9yIG1ldGhv
ZHMgbGlrZQpSZW5kZXJMYXllcjo6e3VwZGF0ZVNjcm9sbGJhcnNBZnRlckxheW91dCx1cGRhdGVT
Y3JvbGxiYXJzQWZ0ZXJTdHlsZUNoYW5nZX0KdG8gbm90IGRlcGVuZCBvbiBSZW5kZXJMYXllcjo6
YWxsb3dzU2Nyb2xsaW5nIHRvIGRldGVybWluZSBpZiBhIGxheWVyIHNob3VsZApiZSBhZGRlZCBv
ciByZW1vdmVkIGZyb20gaXRzIEZyYW1lVmlldydzIFNjcm9sbGFibGVBcmVhIHNldC4KCkZvbGxv
d2luZyB0aGUgc2FtZSBsb2dpYywgdGhlIHBhdGNoIGFsc28gZml4ZXMgUmVuZGVyQm94OjpjYW5C
ZVNjcm9sbGVkQW5kSGFzU2Nyb2xsYWJsZUFyZWEKbWV0aG9kIHRvIHRha2UgaW50byBhY2NvdW50
IHRoZSBib3gnIHNjcm9sbCBhbGxvd2FuY2UgaW4gYSBnaXZlbiBkaXJlY3Rpb24gb25seQp3aGVu
IGl0IG92ZXJmbG93cy4gVGhpcyBhbGxvd3Mgc2ltcGxpZnlpbmcgY3VzdG9tIG1ldGhvZHMgbGlr
ZSBJblJlZ2lvblNjcm9sbGVyUHJpdmF0ZTo6Y2FuU2Nyb2xsUmVuZGVyQm94CihAV2ViS2l0L2Js
YWNrYmVycnkvQXBpL0luUmVnaW9uU2Nyb2xsZXIuY3BwKS4KClRoZSBuYW1pbmcgcGF0dGVybiBm
b3IgdGhlIG5ld2x5IGFkZGVkIG1ldGhvZHMgd2VyZSBjaG9zZW4gdG8ga2VlcCB0aGUgY29uc2lz
dGVuY3kKd2l0aCB0aGUgZXhpc3Rpbmcgb25lcywgaW4gdGhlIHNhbWUgY2xhc3MuCgpObyBuZXcg
dGVzdDogaXQgaXMgYWxyZWFkeSBjb3ZlcmVkIGJ5IFNjcm9sbGluZ0Nvb3JkaW5hdG9yQ2hyb21p
dW1UZXN0LmNsaXBwZWRCb2R5VGVzdC4KCiogcmVuZGVyaW5nL1JlbmRlckJveC5jcHA6CihXZWJD
b3JlOjpSZW5kZXJCb3g6OmNhbkJlU2Nyb2xsZWRBbmRIYXNTY3JvbGxhYmxlQXJlYSk6CiogcmVu
ZGVyaW5nL1JlbmRlckJveC5oOgooUmVuZGVyQm94KToKKFdlYkNvcmU6OlJlbmRlckJveDo6aGFz
U2Nyb2xsYWJsZU92ZXJmbG93WCk6CihXZWJDb3JlOjpSZW5kZXJCb3g6Omhhc1Njcm9sbGFibGVP
dmVyZmxvd1kpOgoqIHJlbmRlcmluZy9SZW5kZXJMYXllci5jcHA6CihXZWJDb3JlOjpSZW5kZXJM
YXllcjo6aGFzU2Nyb2xsYWJsZUhvcml6b250YWxPdmVyZmxvdyk6CihXZWJDb3JlKToKKFdlYkNv
cmU6OlJlbmRlckxheWVyOjpoYXNTY3JvbGxhYmxlVmVydGljYWxPdmVyZmxvdyk6CihXZWJDb3Jl
OjpSZW5kZXJMYXllcjo6dXBkYXRlU2Nyb2xsYmFyc0FmdGVyTGF5b3V0KToKKFdlYkNvcmU6OlJl
bmRlckxheWVyOjp1cGRhdGVTY3JvbGxiYXJzQWZ0ZXJTdHlsZUNoYW5nZSk6CiogcmVuZGVyaW5n
L1JlbmRlckxheWVyLmg6CihSZW5kZXJMYXllcik6Ci0tLQogU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nICAgICAgICAgICAgICAgICB8ICAgMzcgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr
CiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcCAgIHwgICAgMyArKy0KIFNv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guaCAgICAgfCAgICAzICsrKwogU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcCB8ICAgMTQgKysrKysrKysrLS0KIFNv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5oICAgfCAgICAyICsrCiA1IGZpbGVz
IGNoYW5nZWQsIDU2IGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4
IGM2OTU5MGMuLmQ4ODdlNWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwor
KysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMTAgKzEsNDcgQEAKKzIwMTItMTIt
MDUgIEFudG9uaW8gR29tZXMgIDxhMS5nb21lc0BzaXNhLnNhbXN1bmcuY29tPgorCisgICAgICAg
IFJld29yayBidWcgOTc5MjcgdG8gbm90IGRlcGVuZCBvbiBSZW5kZXJMYXllcjo6YWxsb3dzU2Ny
b2xsaW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
MDM5OTkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBQ
YXRjaCBtYWtlcyBpdCBwb3NzaWJsZSBmb3IgbWV0aG9kcyBsaWtlCisgICAgICAgIFJlbmRlckxh
eWVyOjp7dXBkYXRlU2Nyb2xsYmFyc0FmdGVyTGF5b3V0LHVwZGF0ZVNjcm9sbGJhcnNBZnRlclN0
eWxlQ2hhbmdlfQorICAgICAgICB0byBub3QgZGVwZW5kIG9uIFJlbmRlckxheWVyOjphbGxvd3NT
Y3JvbGxpbmcgdG8gZGV0ZXJtaW5lIGlmIGEgbGF5ZXIgc2hvdWxkCisgICAgICAgIGJlIGFkZGVk
IG9yIHJlbW92ZWQgZnJvbSBpdHMgRnJhbWVWaWV3J3MgU2Nyb2xsYWJsZUFyZWEgc2V0LgorCisg
ICAgICAgIEZvbGxvd2luZyB0aGUgc2FtZSBsb2dpYywgdGhlIHBhdGNoIGFsc28gZml4ZXMgUmVu
ZGVyQm94OjpjYW5CZVNjcm9sbGVkQW5kSGFzU2Nyb2xsYWJsZUFyZWEKKyAgICAgICAgbWV0aG9k
IHRvIHRha2UgaW50byBhY2NvdW50IHRoZSBib3gnIHNjcm9sbCBhbGxvd2FuY2UgaW4gYSBnaXZl
biBkaXJlY3Rpb24gb25seQorICAgICAgICB3aGVuIGl0IG92ZXJmbG93cy4gVGhpcyBhbGxvd3Mg
c2ltcGxpZnlpbmcgY3VzdG9tIG1ldGhvZHMgbGlrZSBJblJlZ2lvblNjcm9sbGVyUHJpdmF0ZTo6
Y2FuU2Nyb2xsUmVuZGVyQm94CisgICAgICAgIChAV2ViS2l0L2JsYWNrYmVycnkvQXBpL0luUmVn
aW9uU2Nyb2xsZXIuY3BwKS4KKworICAgICAgICBUaGUgbmFtaW5nIHBhdHRlcm4gZm9yIHRoZSBu
ZXdseSBhZGRlZCBtZXRob2RzIHdlcmUgY2hvc2VuIHRvIGtlZXAgdGhlIGNvbnNpc3RlbmN5Cisg
ICAgICAgIHdpdGggdGhlIGV4aXN0aW5nIG9uZXMsIGluIHRoZSBzYW1lIGNsYXNzLgorCisgICAg
ICAgIE5vIG5ldyB0ZXN0OiBpdCBpcyBhbHJlYWR5IGNvdmVyZWQgYnkgU2Nyb2xsaW5nQ29vcmRp
bmF0b3JDaHJvbWl1bVRlc3QuY2xpcHBlZEJvZHlUZXN0LgorCisgICAgICAgICogcmVuZGVyaW5n
L1JlbmRlckJveC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCb3g6OmNhbkJlU2Nyb2xs
ZWRBbmRIYXNTY3JvbGxhYmxlQXJlYSk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJveC5o
OgorICAgICAgICAoUmVuZGVyQm94KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJveDo6aGFz
U2Nyb2xsYWJsZU92ZXJmbG93WCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCb3g6Omhhc1Nj
cm9sbGFibGVPdmVyZmxvd1kpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllci5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6aGFzU2Nyb2xsYWJsZUhvcml6b250YWxP
dmVyZmxvdyk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxh
eWVyOjpoYXNTY3JvbGxhYmxlVmVydGljYWxPdmVyZmxvdyk6CisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJMYXllcjo6dXBkYXRlU2Nyb2xsYmFyc0FmdGVyTGF5b3V0KToKKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlckxheWVyOjp1cGRhdGVTY3JvbGxiYXJzQWZ0ZXJTdHlsZUNoYW5nZSk6CisgICAg
ICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyLmg6CisgICAgICAgIChSZW5kZXJMYXllcik6CisK
IDIwMTItMTItMDYgIEFuZHJhcyBCZWNzaSAgPGFuZHJhcy5iZWNzaUBkaWdpYS5jb20+CiAKICAg
ICAgICAgW1F0XVtNYWNdIEZpeCBsaWJ4c2x0IGFuZCBsaWJ4bWwyIGNvbmZpZyB0ZXN0cwogICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA0MTY0CiAKICAg
ICAgICAgUmV2aWV3ZWQgYnkgU2ltb24gSGF1c21hbm4uCiAKICAgICAgICAgU2luY2UgbGlieG1s
MiBpcyBhIGRlcGVuZGVuY3kgZm9yIGxpYnhzbHQgYW5kIGlzIG5vdCB1c2VkCiAgICAgICAgIHN0
YW5kYWxvbmUgdGhlIGNvbmZpZ3VyYXRpb25zIGZvciBpdCBzaG91bGQgYWxzbyBkZXBlbmQgb24K
ICAgICAgICAgd2hldGhlciBYU0xUIGlzIGVuYWJsZWQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJCb3guY3BwCmluZGV4IDY3ZDQzMDAuLmUzZjAxZjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJCb3guY3BwCkBAIC02MDgsMjEgKzYwOCwyMiBAQCBib29sIFJlbmRlckJveDo6
bG9naWNhbFNjcm9sbChTY3JvbGxMb2dpY2FsRGlyZWN0aW9uIGRpcmVjdGlvbiwgU2Nyb2xsR3Jh
bnVsYXJpdAogICAgICAgICByZXR1cm4gdHJ1ZTsKIAogICAgIFJlbmRlckJsb2NrKiBiID0gY29u
dGFpbmluZ0Jsb2NrKCk7CiAgICAgaWYgKGIgJiYgIWItPmlzUmVuZGVyVmlldygpKQogICAgICAg
ICByZXR1cm4gYi0+bG9naWNhbFNjcm9sbChkaXJlY3Rpb24sIGdyYW51bGFyaXR5LCBtdWx0aXBs
aWVyLCBzdG9wTm9kZSk7CiAgICAgcmV0dXJuIGZhbHNlOwogfQogCiBib29sIFJlbmRlckJveDo6
Y2FuQmVTY3JvbGxlZEFuZEhhc1Njcm9sbGFibGVBcmVhKCkgY29uc3QKIHsKLSAgICByZXR1cm4g
Y2FuQmVQcm9ncmFtYXRpY2FsbHlTY3JvbGxlZCgpICYmIChzY3JvbGxIZWlnaHQoKSAhPSBjbGll
bnRIZWlnaHQoKSB8fCBzY3JvbGxXaWR0aCgpICE9IGNsaWVudFdpZHRoKCkpOworICAgIGJvb2wg
aGFzU2Nyb2xsYWJsZU92ZXJmbG93ID0gaGFzU2Nyb2xsYWJsZU92ZXJmbG93WCgpIHx8IGhhc1Nj
cm9sbGFibGVPdmVyZmxvd1koKTsKKyAgICByZXR1cm4gaGFzU2Nyb2xsYWJsZU92ZXJmbG93ICYm
IGNhbkJlUHJvZ3JhbWF0aWNhbGx5U2Nyb2xsZWQoKTsKIH0KICAgICAKIGJvb2wgUmVuZGVyQm94
OjpjYW5CZVByb2dyYW1hdGljYWxseVNjcm9sbGVkKCkgY29uc3QKIHsKICAgICByZXR1cm4gKGhh
c092ZXJmbG93Q2xpcCgpICYmIChzY3JvbGxzT3ZlcmZsb3coKSB8fCAobm9kZSgpICYmIG5vZGUo
KS0+cmVuZGVyZXJJc0VkaXRhYmxlKCkpKSkgfHwgKG5vZGUoKSAmJiBub2RlKCktPmlzRG9jdW1l
bnROb2RlKCkpOwogfQogCiBib29sIFJlbmRlckJveDo6dXNlc0NvbXBvc2l0ZWRTY3JvbGxpbmco
KSBjb25zdAogewogICAgIHJldHVybiBoYXNPdmVyZmxvd0NsaXAoKSAmJiBoYXNMYXllcigpICYm
IGxheWVyKCktPnVzZXNDb21wb3NpdGVkU2Nyb2xsaW5nKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyQm94LmgKaW5kZXggYzFkZTNlNy4uMWExNGZjNCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJCb3guaApAQCAtNDMzLDI1ICs0MzMsMjggQEAgcHVibGljOgogICAgIHZpcnR1YWwg
aW50IHZlcnRpY2FsU2Nyb2xsYmFyV2lkdGgoKSBjb25zdDsKICAgICBpbnQgaG9yaXpvbnRhbFNj
cm9sbGJhckhlaWdodCgpIGNvbnN0OwogICAgIGludCBzY3JvbGxiYXJMb2dpY2FsSGVpZ2h0KCkg
Y29uc3QgeyByZXR1cm4gc3R5bGUoKS0+aXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSA/IGhvcml6
b250YWxTY3JvbGxiYXJIZWlnaHQoKSA6IHZlcnRpY2FsU2Nyb2xsYmFyV2lkdGgoKTsgfQogICAg
IHZpcnR1YWwgYm9vbCBzY3JvbGwoU2Nyb2xsRGlyZWN0aW9uLCBTY3JvbGxHcmFudWxhcml0eSwg
ZmxvYXQgbXVsdGlwbGllciA9IDEsIE5vZGUqKiBzdG9wTm9kZSA9IDApOwogICAgIHZpcnR1YWwg
Ym9vbCBsb2dpY2FsU2Nyb2xsKFNjcm9sbExvZ2ljYWxEaXJlY3Rpb24sIFNjcm9sbEdyYW51bGFy
aXR5LCBmbG9hdCBtdWx0aXBsaWVyID0gMSwgTm9kZSoqIHN0b3BOb2RlID0gMCk7CiAgICAgYm9v
bCBjYW5CZVNjcm9sbGVkQW5kSGFzU2Nyb2xsYWJsZUFyZWEoKSBjb25zdDsKICAgICB2aXJ0dWFs
IGJvb2wgY2FuQmVQcm9ncmFtYXRpY2FsbHlTY3JvbGxlZCgpIGNvbnN0OwogICAgIHZpcnR1YWwg
dm9pZCBhdXRvc2Nyb2xsKCk7CiAgICAgdmlydHVhbCB2b2lkIHN0b3BBdXRvc2Nyb2xsKCkgeyB9
CiAgICAgdmlydHVhbCB2b2lkIHBhblNjcm9sbChjb25zdCBJbnRQb2ludCYpOworCiAgICAgYm9v
bCBoYXNBdXRvVmVydGljYWxTY3JvbGxiYXIoKSBjb25zdCB7IHJldHVybiBoYXNPdmVyZmxvd0Ns
aXAoKSAmJiAoc3R5bGUoKS0+b3ZlcmZsb3dZKCkgPT0gT0FVVE8gfHwgc3R5bGUoKS0+b3ZlcmZs
b3dZKCkgPT0gT09WRVJMQVkpOyB9CiAgICAgYm9vbCBoYXNBdXRvSG9yaXpvbnRhbFNjcm9sbGJh
cigpIGNvbnN0IHsgcmV0dXJuIGhhc092ZXJmbG93Q2xpcCgpICYmIChzdHlsZSgpLT5vdmVyZmxv
d1goKSA9PSBPQVVUTyB8fCBzdHlsZSgpLT5vdmVyZmxvd1goKSA9PSBPT1ZFUkxBWSk7IH0KICAg
ICBib29sIHNjcm9sbHNPdmVyZmxvdygpIGNvbnN0IHsgcmV0dXJuIHNjcm9sbHNPdmVyZmxvd1go
KSB8fCBzY3JvbGxzT3ZlcmZsb3dZKCk7IH0KICAgICBib29sIHNjcm9sbHNPdmVyZmxvd1goKSBj
b25zdCB7IHJldHVybiBoYXNPdmVyZmxvd0NsaXAoKSAmJiAoc3R5bGUoKS0+b3ZlcmZsb3dYKCkg
PT0gT1NDUk9MTCB8fCBoYXNBdXRvSG9yaXpvbnRhbFNjcm9sbGJhcigpKTsgfQogICAgIGJvb2wg
c2Nyb2xsc092ZXJmbG93WSgpIGNvbnN0IHsgcmV0dXJuIGhhc092ZXJmbG93Q2xpcCgpICYmIChz
dHlsZSgpLT5vdmVyZmxvd1koKSA9PSBPU0NST0xMIHx8IGhhc0F1dG9WZXJ0aWNhbFNjcm9sbGJh
cigpKTsgfQorICAgIGJvb2wgaGFzU2Nyb2xsYWJsZU92ZXJmbG93WCgpIGNvbnN0IHsgcmV0dXJu
IHNjcm9sbHNPdmVyZmxvd1goKSAmJiBzY3JvbGxXaWR0aCgpICE9IGNsaWVudFdpZHRoKCk7IH0K
KyAgICBib29sIGhhc1Njcm9sbGFibGVPdmVyZmxvd1koKSBjb25zdCB7IHJldHVybiBzY3JvbGxz
T3ZlcmZsb3dZKCkgJiYgc2Nyb2xsSGVpZ2h0KCkgIT0gY2xpZW50SGVpZ2h0KCk7IH0KICAgICBi
b29sIHVzZXNDb21wb3NpdGVkU2Nyb2xsaW5nKCkgY29uc3Q7CiAgICAgCiAgICAgYm9vbCBoYXNV
bnNwbGl0dGFibGVTY3JvbGxpbmdPdmVyZmxvdygpIGNvbnN0OwogICAgIGJvb2wgaXNVbnNwbGl0
dGFibGVGb3JQYWdpbmF0aW9uKCkgY29uc3Q7CiAKICAgICB2aXJ0dWFsIExheW91dFJlY3QgbG9j
YWxDYXJldFJlY3QoSW5saW5lQm94KiwgaW50IGNhcmV0T2Zmc2V0LCBMYXlvdXRVbml0KiBleHRy
YVdpZHRoVG9FbmRPZkxpbmUgPSAwKTsKIAogICAgIHZpcnR1YWwgTGF5b3V0UmVjdCBvdmVyZmxv
d0NsaXBSZWN0KGNvbnN0IExheW91dFBvaW50JiBsb2NhdGlvbiwgUmVuZGVyUmVnaW9uKiwgT3Zl
cmxheVNjcm9sbGJhclNpemVSZWxldmFuY3kgPSBJZ25vcmVPdmVybGF5U2Nyb2xsYmFyU2l6ZSk7
CiAgICAgTGF5b3V0UmVjdCBjbGlwUmVjdChjb25zdCBMYXlvdXRQb2ludCYgbG9jYXRpb24sIFJl
bmRlclJlZ2lvbiopOwogICAgIHZpcnR1YWwgYm9vbCBoYXNDb250cm9sQ2xpcCgpIGNvbnN0IHsg
cmV0dXJuIGZhbHNlOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyTGF5ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcApp
bmRleCBkZmIyZDRjLi44NDI0MWM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyTGF5ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJM
YXllci5jcHAKQEAgLTI2MjksMjAgKzI2MjksMzAgQEAgdm9pZCBSZW5kZXJMYXllcjo6Y29tcHV0
ZVNjcm9sbERpbWVuc2lvbnMoKQogICAgIG1fc2Nyb2xsRGltZW5zaW9uc0RpcnR5ID0gZmFsc2U7
CiAKICAgICBtX3Njcm9sbFNpemUuc2V0V2lkdGgob3ZlcmZsb3dSaWdodCgpIC0gb3ZlcmZsb3dM
ZWZ0KCkpOwogICAgIG1fc2Nyb2xsU2l6ZS5zZXRIZWlnaHQob3ZlcmZsb3dCb3R0b20oKSAtIG92
ZXJmbG93VG9wKCkpOwogCiAgICAgaW50IHNjcm9sbGFibGVMZWZ0T3ZlcmZsb3cgPSBvdmVyZmxv
d0xlZnQoKSAtIGJveC0+Ym9yZGVyTGVmdCgpOwogICAgIGludCBzY3JvbGxhYmxlVG9wT3ZlcmZs
b3cgPSBvdmVyZmxvd1RvcCgpIC0gYm94LT5ib3JkZXJUb3AoKTsKICAgICBzZXRTY3JvbGxPcmln
aW4oSW50UG9pbnQoLXNjcm9sbGFibGVMZWZ0T3ZlcmZsb3csIC1zY3JvbGxhYmxlVG9wT3ZlcmZs
b3cpKTsKIH0KIAorYm9vbCBSZW5kZXJMYXllcjo6aGFzU2Nyb2xsYWJsZUhvcml6b250YWxPdmVy
ZmxvdygpIGNvbnN0Cit7CisgICAgcmV0dXJuIGhhc0hvcml6b250YWxPdmVyZmxvdygpICYmIHJl
bmRlckJveCgpLT5zY3JvbGxzT3ZlcmZsb3dYKCk7Cit9CisKK2Jvb2wgUmVuZGVyTGF5ZXI6Omhh
c1Njcm9sbGFibGVWZXJ0aWNhbE92ZXJmbG93KCkgY29uc3QKK3sKKyAgICByZXR1cm4gaGFzVmVy
dGljYWxPdmVyZmxvdygpICYmIHJlbmRlckJveCgpLT5zY3JvbGxzT3ZlcmZsb3dZKCk7Cit9CisK
IGJvb2wgUmVuZGVyTGF5ZXI6Omhhc0hvcml6b250YWxPdmVyZmxvdygpIGNvbnN0CiB7CiAgICAg
QVNTRVJUKCFtX3Njcm9sbERpbWVuc2lvbnNEaXJ0eSk7CiAKICAgICByZXR1cm4gc2Nyb2xsV2lk
dGgoKSA+IHJlbmRlckJveCgpLT5waXhlbFNuYXBwZWRDbGllbnRXaWR0aCgpOwogfQogCiBib29s
IFJlbmRlckxheWVyOjpoYXNWZXJ0aWNhbE92ZXJmbG93KCkgY29uc3QKIHsKICAgICBBU1NFUlQo
IW1fc2Nyb2xsRGltZW5zaW9uc0RpcnR5KTsKQEAgLTI3MTEsMjEgKzI3MjEsMjEgQEAgdm9pZCBS
ZW5kZXJMYXllcjo6dXBkYXRlU2Nyb2xsYmFyc0FmdGVyTGF5b3V0KCkKICAgICAgICAgbV9oQmFy
LT5zZXRTdGVwcyhTY3JvbGxiYXI6OnBpeGVsc1BlckxpbmVTdGVwKCksIHBhZ2VTdGVwKTsKICAg
ICAgICAgbV9oQmFyLT5zZXRQcm9wb3J0aW9uKGNsaWVudFdpZHRoLCBtX3Njcm9sbFNpemUud2lk
dGgoKSk7CiAgICAgfQogICAgIGlmIChtX3ZCYXIpIHsKICAgICAgICAgaW50IGNsaWVudEhlaWdo
dCA9IGJveC0+cGl4ZWxTbmFwcGVkQ2xpZW50SGVpZ2h0KCk7CiAgICAgICAgIGludCBwYWdlU3Rl
cCA9IG1heChtYXg8aW50PihjbGllbnRIZWlnaHQgKiBTY3JvbGxiYXI6Om1pbkZyYWN0aW9uVG9T
dGVwV2hlblBhZ2luZygpLCBjbGllbnRIZWlnaHQgLSBTY3JvbGxiYXI6Om1heE92ZXJsYXBCZXR3
ZWVuUGFnZXMoKSksIDEpOwogICAgICAgICBtX3ZCYXItPnNldFN0ZXBzKFNjcm9sbGJhcjo6cGl4
ZWxzUGVyTGluZVN0ZXAoKSwgcGFnZVN0ZXApOwogICAgICAgICBtX3ZCYXItPnNldFByb3BvcnRp
b24oY2xpZW50SGVpZ2h0LCBtX3Njcm9sbFNpemUuaGVpZ2h0KCkpOwogICAgIH0KIAotICAgIHVw
ZGF0ZVNjcm9sbGFibGVBcmVhU2V0KChoYXNIb3Jpem9udGFsT3ZlcmZsb3cgfHwgaGFzVmVydGlj
YWxPdmVyZmxvdykgJiYgc2Nyb2xsc092ZXJmbG93KCkgJiYgYWxsb3dzU2Nyb2xsaW5nKCkpOwor
ICAgIHVwZGF0ZVNjcm9sbGFibGVBcmVhU2V0KGhhc1Njcm9sbGFibGVIb3Jpem9udGFsT3ZlcmZs
b3coKSB8fCBoYXNTY3JvbGxhYmxlVmVydGljYWxPdmVyZmxvdygpKTsKIH0KIAogdm9pZCBSZW5k
ZXJMYXllcjo6dXBkYXRlU2Nyb2xsSW5mb0FmdGVyTGF5b3V0KCkKIHsKICAgICBSZW5kZXJCb3gq
IGJveCA9IHJlbmRlckJveCgpOwogICAgIGlmICghYm94KQogICAgICAgICByZXR1cm47CiAKICAg
ICBtX3Njcm9sbERpbWVuc2lvbnNEaXJ0eSA9IHRydWU7CiAgICAgSW50U2l6ZSBvcmlnaW5hbFNj
cm9sbE9mZnNldCA9IHNjcm9sbE9mZnNldCgpOwpAQCAtNTA5MSwyMSArNTEwMSwyMSBAQCB2b2lk
IFJlbmRlckxheWVyOjp1cGRhdGVTY3JvbGxiYXJzQWZ0ZXJTdHlsZUNoYW5nZShjb25zdCBSZW5k
ZXJTdHlsZSogb2xkU3R5bGUpCiAgICAgICAgIEFTU0VSVChoYXNIb3Jpem9udGFsU2Nyb2xsYmFy
KCkpOwogICAgICAgICBtX2hCYXItPnNldEVuYWJsZWQodHJ1ZSk7CiAgICAgfQogCiAgICAgaWYg
KG5lZWRzVmVydGljYWxTY3JvbGxiYXIgJiYgb2xkU3R5bGUgJiYgb2xkU3R5bGUtPm92ZXJmbG93
WSgpID09IE9TQ1JPTEwgJiYgb3ZlcmZsb3dZICE9IE9TQ1JPTEwpIHsKICAgICAgICAgQVNTRVJU
KGhhc1ZlcnRpY2FsU2Nyb2xsYmFyKCkpOwogICAgICAgICBtX3ZCYXItPnNldEVuYWJsZWQodHJ1
ZSk7CiAgICAgfQogCiAgICAgaWYgKCFtX3Njcm9sbERpbWVuc2lvbnNEaXJ0eSkKLSAgICAgICAg
dXBkYXRlU2Nyb2xsYWJsZUFyZWFTZXQoKGhhc0hvcml6b250YWxPdmVyZmxvdygpIHx8IGhhc1Zl
cnRpY2FsT3ZlcmZsb3coKSkgJiYgc2Nyb2xsc092ZXJmbG93KCkgJiYgYWxsb3dzU2Nyb2xsaW5n
KCkpOworICAgICAgICB1cGRhdGVTY3JvbGxhYmxlQXJlYVNldChoYXNTY3JvbGxhYmxlSG9yaXpv
bnRhbE92ZXJmbG93KCkgfHwgaGFzU2Nyb2xsYWJsZVZlcnRpY2FsT3ZlcmZsb3coKSk7CiB9CiAK
IHZvaWQgUmVuZGVyTGF5ZXI6OnN0eWxlQ2hhbmdlZChTdHlsZURpZmZlcmVuY2UsIGNvbnN0IFJl
bmRlclN0eWxlKiBvbGRTdHlsZSkKIHsKICAgICBib29sIGlzTm9ybWFsRmxvd09ubHkgPSBzaG91
bGRCZU5vcm1hbEZsb3dPbmx5KCk7CiAgICAgaWYgKGlzTm9ybWFsRmxvd09ubHkgIT0gbV9pc05v
cm1hbEZsb3dPbmx5KSB7CiAgICAgICAgIG1faXNOb3JtYWxGbG93T25seSA9IGlzTm9ybWFsRmxv
d09ubHk7CiAgICAgICAgIFJlbmRlckxheWVyKiBwID0gcGFyZW50KCk7CiAgICAgICAgIGlmIChw
KQogICAgICAgICAgICAgcC0+ZGlydHlOb3JtYWxGbG93TGlzdCgpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyTGF5ZXIuaAppbmRleCAwYzBjZDc5Li5iNWRkMGUyIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaApAQCAtODE4LDIwICs4MTgsMjIgQEAgcHJpdmF0ZToK
IAogICAgIFBhc3NSZWZQdHI8SGl0VGVzdGluZ1RyYW5zZm9ybVN0YXRlPiBjcmVhdGVMb2NhbFRy
YW5zZm9ybVN0YXRlKFJlbmRlckxheWVyKiByb290TGF5ZXIsIFJlbmRlckxheWVyKiBjb250YWlu
ZXJMYXllciwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBMYXlvdXRSZWN0JiBo
aXRUZXN0UmVjdCwgY29uc3QgSGl0VGVzdExvY2F0aW9uJiwKICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBjb25zdCBIaXRUZXN0aW5nVHJhbnNmb3JtU3RhdGUqIGNvbnRhaW5lclRyYW5zZm9y
bVN0YXRlKSBjb25zdDsKICAgICAKICAgICBib29sIGhpdFRlc3RDb250ZW50cyhjb25zdCBIaXRU
ZXN0UmVxdWVzdCYsIEhpdFRlc3RSZXN1bHQmLCBjb25zdCBMYXlvdXRSZWN0JiBsYXllckJvdW5k
cywgY29uc3QgSGl0VGVzdExvY2F0aW9uJiwgSGl0VGVzdEZpbHRlcikgY29uc3Q7CiAKICAgICB2
b2lkIGNvbXB1dGVTY3JvbGxEaW1lbnNpb25zKCk7CiAgICAgYm9vbCBoYXNIb3Jpem9udGFsT3Zl
cmZsb3coKSBjb25zdDsKICAgICBib29sIGhhc1ZlcnRpY2FsT3ZlcmZsb3coKSBjb25zdDsKKyAg
ICBib29sIGhhc1Njcm9sbGFibGVIb3Jpem9udGFsT3ZlcmZsb3coKSBjb25zdDsKKyAgICBib29s
IGhhc1Njcm9sbGFibGVWZXJ0aWNhbE92ZXJmbG93KCkgY29uc3Q7CiAKICAgICBib29sIHNob3Vs
ZEJlTm9ybWFsRmxvd09ubHkoKSBjb25zdDsKIAogICAgIGJvb2wgc2hvdWxkQmVTZWxmUGFpbnRp
bmdMYXllcigpIGNvbnN0OwogCiAgICAgaW50IHNjcm9sbFBvc2l0aW9uKFNjcm9sbGJhciopIGNv
bnN0OwogICAgIAogICAgIC8vIFNjcm9sbGFibGVBcmVhIGludGVyZmFjZQogICAgIHZpcnR1YWwg
dm9pZCBpbnZhbGlkYXRlU2Nyb2xsYmFyUmVjdChTY3JvbGxiYXIqLCBjb25zdCBJbnRSZWN0Jik7
CiAgICAgdmlydHVhbCB2b2lkIGludmFsaWRhdGVTY3JvbGxDb3JuZXJSZWN0KGNvbnN0IEludFJl
Y3QmKTsKLS0gCjEuNy4xMC40Cgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>178200</attachid>
            <date>2012-12-07 05:03:30 -0800</date>
            <delta_ts>2012-12-07 05:03:30 -0800</delta_ts>
            <desc>patch for EWS</desc>
            <filename>0001-Rework-bug-97927-to-not-depend-on-RenderLayer-allows.patch</filename>
            <type>text/plain</type>
            <size>12387</size>
            <attacher name="Antonio Gomes">tonikitoo</attacher>
            
              <data encoding="base64">RnJvbSA2YzM2ZjI1Y2JiNmRkODQ2NDNkNzVlMTVmMDg3OWUwNmRmYjEzZDhiIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbnRvbmlvIEdvbWVzIDxhMS5nb21lc0BzaXNhLnNhbXN1bmcu
Y29tPgpEYXRlOiBUaHUsIDYgRGVjIDIwMTIgMTE6MTI6NTYgLTA0MDAKU3ViamVjdDogW1BBVENI
XSBSZXdvcmsgYnVnIDk3OTI3IHRvIG5vdCBkZXBlbmQgb24KIFJlbmRlckxheWVyOjphbGxvd3NT
Y3JvbGxpbmcKIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDM5OTkK
ClJldmlld2VkIGJ5IEphbWVzIFJvYmluc29uLgpQYXRjaCBieSBBbnRvbmlvIEdvbWVzIDxhMS5n
b21lc0BzaXNhLnNhbXN1bmcuY29tPgoKUGF0Y2ggbWFrZXMgaXQgcG9zc2libGUgZm9yIG1ldGhv
ZHMgbGlrZQpSZW5kZXJMYXllcjo6e3VwZGF0ZVNjcm9sbGJhcnNBZnRlckxheW91dCx1cGRhdGVT
Y3JvbGxiYXJzQWZ0ZXJTdHlsZUNoYW5nZX0KdG8gbm90IGRlcGVuZCBvbiBSZW5kZXJMYXllcjo6
YWxsb3dzU2Nyb2xsaW5nIHRvIGRldGVybWluZSBpZiBhIGxheWVyIHNob3VsZApiZSBhZGRlZCBv
ciByZW1vdmVkIGZyb20gaXRzIEZyYW1lVmlldydzIFNjcm9sbGFibGVBcmVhIHNldC4KCkZvbGxv
d2luZyB0aGUgc2FtZSBsb2dpYywgdGhlIHBhdGNoIGFsc28gZml4ZXMgUmVuZGVyQm94OjpjYW5C
ZVNjcm9sbGVkQW5kSGFzU2Nyb2xsYWJsZUFyZWEKbWV0aG9kIHRvIHRha2UgaW50byBhY2NvdW50
IHRoZSBib3gnIHNjcm9sbCBhbGxvd2FuY2UgaW4gYSBnaXZlbiBkaXJlY3Rpb24gb25seQp3aGVu
IGl0IG92ZXJmbG93cy4gVGhpcyBhbGxvd3Mgc2ltcGxpZnlpbmcgY3VzdG9tIG1ldGhvZHMgbGlr
ZSBJblJlZ2lvblNjcm9sbGVyUHJpdmF0ZTo6Y2FuU2Nyb2xsUmVuZGVyQm94CihAV2ViS2l0L2Js
YWNrYmVycnkvQXBpL0luUmVnaW9uU2Nyb2xsZXIuY3BwKS4KClRoZSBuYW1pbmcgcGF0dGVybiBm
b3IgdGhlIG5ld2x5IGFkZGVkIG1ldGhvZHMgd2VyZSBjaG9zZW4gdG8ga2VlcCB0aGUgY29uc2lz
dGVuY3kKd2l0aCB0aGUgZXhpc3Rpbmcgb25lcywgaW4gdGhlIHNhbWUgY2xhc3MuCgpObyBuZXcg
dGVzdDogaXQgaXMgYWxyZWFkeSBjb3ZlcmVkIGJ5IFNjcm9sbGluZ0Nvb3JkaW5hdG9yQ2hyb21p
dW1UZXN0LmNsaXBwZWRCb2R5VGVzdC4KCiogcmVuZGVyaW5nL1JlbmRlckJveC5jcHA6CihXZWJD
b3JlOjpSZW5kZXJCb3g6OmNhbkJlU2Nyb2xsZWRBbmRIYXNTY3JvbGxhYmxlQXJlYSk6CiogcmVu
ZGVyaW5nL1JlbmRlckJveC5oOgooUmVuZGVyQm94KToKKFdlYkNvcmU6OlJlbmRlckJveDo6aGFz
U2Nyb2xsYWJsZU92ZXJmbG93WCk6CihXZWJDb3JlOjpSZW5kZXJCb3g6Omhhc1Njcm9sbGFibGVP
dmVyZmxvd1kpOgoqIHJlbmRlcmluZy9SZW5kZXJMYXllci5jcHA6CihXZWJDb3JlOjpSZW5kZXJM
YXllcjo6aGFzU2Nyb2xsYWJsZUhvcml6b250YWxPdmVyZmxvdyk6CihXZWJDb3JlKToKKFdlYkNv
cmU6OlJlbmRlckxheWVyOjpoYXNTY3JvbGxhYmxlVmVydGljYWxPdmVyZmxvdyk6CihXZWJDb3Jl
OjpSZW5kZXJMYXllcjo6dXBkYXRlU2Nyb2xsYmFyc0FmdGVyTGF5b3V0KToKKFdlYkNvcmU6OlJl
bmRlckxheWVyOjp1cGRhdGVTY3JvbGxiYXJzQWZ0ZXJTdHlsZUNoYW5nZSk6CiogcmVuZGVyaW5n
L1JlbmRlckxheWVyLmg6CihSZW5kZXJMYXllcik6Ci0tLQogU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nICAgICAgICAgICAgICAgICB8ICAgMzcgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr
CiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcCAgIHwgICAgMyArKy0KIFNv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guaCAgICAgfCAgICAzICsrKwogU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcCB8ICAgMTQgKysrKysrKysrLS0KIFNv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5oICAgfCAgICAyICsrCiA1IGZpbGVz
IGNoYW5nZWQsIDU2IGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4
IGNjOTMzYjYuLjZiMzhhZGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwor
KysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMTAgKzEsNDcgQEAKKzIwMTItMTIt
MDUgIEFudG9uaW8gR29tZXMgIDxhMS5nb21lc0BzaXNhLnNhbXN1bmcuY29tPgorCisgICAgICAg
IFJld29yayBidWcgOTc5MjcgdG8gbm90IGRlcGVuZCBvbiBSZW5kZXJMYXllcjo6YWxsb3dzU2Ny
b2xsaW5nCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0x
MDM5OTkKKworICAgICAgICBSZXZpZXdlZCBieSBKYW1lcyBSb2JpbnNvbi4KKworICAgICAgICBQ
YXRjaCBtYWtlcyBpdCBwb3NzaWJsZSBmb3IgbWV0aG9kcyBsaWtlCisgICAgICAgIFJlbmRlckxh
eWVyOjp7dXBkYXRlU2Nyb2xsYmFyc0FmdGVyTGF5b3V0LHVwZGF0ZVNjcm9sbGJhcnNBZnRlclN0
eWxlQ2hhbmdlfQorICAgICAgICB0byBub3QgZGVwZW5kIG9uIFJlbmRlckxheWVyOjphbGxvd3NT
Y3JvbGxpbmcgdG8gZGV0ZXJtaW5lIGlmIGEgbGF5ZXIgc2hvdWxkCisgICAgICAgIGJlIGFkZGVk
IG9yIHJlbW92ZWQgZnJvbSBpdHMgRnJhbWVWaWV3J3MgU2Nyb2xsYWJsZUFyZWEgc2V0LgorCisg
ICAgICAgIEZvbGxvd2luZyB0aGUgc2FtZSBsb2dpYywgdGhlIHBhdGNoIGFsc28gZml4ZXMgUmVu
ZGVyQm94OjpjYW5CZVNjcm9sbGVkQW5kSGFzU2Nyb2xsYWJsZUFyZWEKKyAgICAgICAgbWV0aG9k
IHRvIHRha2UgaW50byBhY2NvdW50IHRoZSBib3gnIHNjcm9sbCBhbGxvd2FuY2UgaW4gYSBnaXZl
biBkaXJlY3Rpb24gb25seQorICAgICAgICB3aGVuIGl0IG92ZXJmbG93cy4gVGhpcyBhbGxvd3Mg
c2ltcGxpZnlpbmcgY3VzdG9tIG1ldGhvZHMgbGlrZSBJblJlZ2lvblNjcm9sbGVyUHJpdmF0ZTo6
Y2FuU2Nyb2xsUmVuZGVyQm94CisgICAgICAgIChAV2ViS2l0L2JsYWNrYmVycnkvQXBpL0luUmVn
aW9uU2Nyb2xsZXIuY3BwKS4KKworICAgICAgICBUaGUgbmFtaW5nIHBhdHRlcm4gZm9yIHRoZSBu
ZXdseSBhZGRlZCBtZXRob2RzIHdlcmUgY2hvc2VuIHRvIGtlZXAgdGhlIGNvbnNpc3RlbmN5Cisg
ICAgICAgIHdpdGggdGhlIGV4aXN0aW5nIG9uZXMsIGluIHRoZSBzYW1lIGNsYXNzLgorCisgICAg
ICAgIE5vIG5ldyB0ZXN0OiBpdCBpcyBhbHJlYWR5IGNvdmVyZWQgYnkgU2Nyb2xsaW5nQ29vcmRp
bmF0b3JDaHJvbWl1bVRlc3QuY2xpcHBlZEJvZHlUZXN0LgorCisgICAgICAgICogcmVuZGVyaW5n
L1JlbmRlckJveC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCb3g6OmNhbkJlU2Nyb2xs
ZWRBbmRIYXNTY3JvbGxhYmxlQXJlYSk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJveC5o
OgorICAgICAgICAoUmVuZGVyQm94KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJveDo6aGFz
U2Nyb2xsYWJsZU92ZXJmbG93WCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCb3g6Omhhc1Nj
cm9sbGFibGVPdmVyZmxvd1kpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllci5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6aGFzU2Nyb2xsYWJsZUhvcml6b250YWxP
dmVyZmxvdyk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxh
eWVyOjpoYXNTY3JvbGxhYmxlVmVydGljYWxPdmVyZmxvdyk6CisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJMYXllcjo6dXBkYXRlU2Nyb2xsYmFyc0FmdGVyTGF5b3V0KToKKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlckxheWVyOjp1cGRhdGVTY3JvbGxiYXJzQWZ0ZXJTdHlsZUNoYW5nZSk6CisgICAg
ICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyLmg6CisgICAgICAgIChSZW5kZXJMYXllcik6CisK
IDIwMTItMTItMDcgIE1heCBGZWlsICA8bWZlaWxAcmltLmNvbT4KIAogICAgICAgICBbQmxhY2tC
ZXJyeV0gbWFrZSAiaXNWaWRlbyIgaW5mb3JtYXRpb24gYXZhaWxhYmxlIHRvIHBsYXRmb3JtIG1l
ZGlhIHBsYXllcgogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTA0MzM0CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgUm9iIEJ1aXMuCiAKICAgICAgICAgVGhl
IHBsYXRmb3JtIHBsYXllciBuZWVkcyB0byBrbm93IHdoZXRoZXIgdGhlIGVsZW1lbnQgaXMgPHZp
ZGVvPgogICAgICAgICBvciA8YXVkaW8+LCBzbyBpdCBjYW4gbWFrZSBjZXJ0YWluIGRlY2lzaW9u
cyBiZWZvcmUgbWV0YWRhdGEKICAgICAgICAgaXMgcmVhZHkuIFRoaXMgaXMgcGFydCBvZiBhIHBl
cmZvcm1hbmNlIG9wdGltaXphdGlvbiByZWZhY3RvcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyQm94LmNwcAppbmRleCA2N2Q0MzAwLi5lM2YwMWY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyQm94LmNwcApAQCAtNjA4LDIxICs2MDgsMjIgQEAgYm9vbCBSZW5kZXJCb3g6Omxv
Z2ljYWxTY3JvbGwoU2Nyb2xsTG9naWNhbERpcmVjdGlvbiBkaXJlY3Rpb24sIFNjcm9sbEdyYW51
bGFyaXQKICAgICAgICAgcmV0dXJuIHRydWU7CiAKICAgICBSZW5kZXJCbG9jayogYiA9IGNvbnRh
aW5pbmdCbG9jaygpOwogICAgIGlmIChiICYmICFiLT5pc1JlbmRlclZpZXcoKSkKICAgICAgICAg
cmV0dXJuIGItPmxvZ2ljYWxTY3JvbGwoZGlyZWN0aW9uLCBncmFudWxhcml0eSwgbXVsdGlwbGll
ciwgc3RvcE5vZGUpOwogICAgIHJldHVybiBmYWxzZTsKIH0KIAogYm9vbCBSZW5kZXJCb3g6OmNh
bkJlU2Nyb2xsZWRBbmRIYXNTY3JvbGxhYmxlQXJlYSgpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIGNh
bkJlUHJvZ3JhbWF0aWNhbGx5U2Nyb2xsZWQoKSAmJiAoc2Nyb2xsSGVpZ2h0KCkgIT0gY2xpZW50
SGVpZ2h0KCkgfHwgc2Nyb2xsV2lkdGgoKSAhPSBjbGllbnRXaWR0aCgpKTsKKyAgICBib29sIGhh
c1Njcm9sbGFibGVPdmVyZmxvdyA9IGhhc1Njcm9sbGFibGVPdmVyZmxvd1goKSB8fCBoYXNTY3Jv
bGxhYmxlT3ZlcmZsb3dZKCk7CisgICAgcmV0dXJuIGhhc1Njcm9sbGFibGVPdmVyZmxvdyAmJiBj
YW5CZVByb2dyYW1hdGljYWxseVNjcm9sbGVkKCk7CiB9CiAgICAgCiBib29sIFJlbmRlckJveDo6
Y2FuQmVQcm9ncmFtYXRpY2FsbHlTY3JvbGxlZCgpIGNvbnN0CiB7CiAgICAgcmV0dXJuIChoYXNP
dmVyZmxvd0NsaXAoKSAmJiAoc2Nyb2xsc092ZXJmbG93KCkgfHwgKG5vZGUoKSAmJiBub2RlKCkt
PnJlbmRlcmVySXNFZGl0YWJsZSgpKSkpIHx8IChub2RlKCkgJiYgbm9kZSgpLT5pc0RvY3VtZW50
Tm9kZSgpKTsKIH0KIAogYm9vbCBSZW5kZXJCb3g6OnVzZXNDb21wb3NpdGVkU2Nyb2xsaW5nKCkg
Y29uc3QKIHsKICAgICByZXR1cm4gaGFzT3ZlcmZsb3dDbGlwKCkgJiYgaGFzTGF5ZXIoKSAmJiBs
YXllcigpLT51c2VzQ29tcG9zaXRlZFNjcm9sbGluZygpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckJveC5oCmluZGV4IGMxZGUzZTcuLjFhMTRmYzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJCb3guaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyQm94LmgKQEAgLTQzMywyNSArNDMzLDI4IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIGlu
dCB2ZXJ0aWNhbFNjcm9sbGJhcldpZHRoKCkgY29uc3Q7CiAgICAgaW50IGhvcml6b250YWxTY3Jv
bGxiYXJIZWlnaHQoKSBjb25zdDsKICAgICBpbnQgc2Nyb2xsYmFyTG9naWNhbEhlaWdodCgpIGNv
bnN0IHsgcmV0dXJuIHN0eWxlKCktPmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkgPyBob3Jpem9u
dGFsU2Nyb2xsYmFySGVpZ2h0KCkgOiB2ZXJ0aWNhbFNjcm9sbGJhcldpZHRoKCk7IH0KICAgICB2
aXJ0dWFsIGJvb2wgc2Nyb2xsKFNjcm9sbERpcmVjdGlvbiwgU2Nyb2xsR3JhbnVsYXJpdHksIGZs
b2F0IG11bHRpcGxpZXIgPSAxLCBOb2RlKiogc3RvcE5vZGUgPSAwKTsKICAgICB2aXJ0dWFsIGJv
b2wgbG9naWNhbFNjcm9sbChTY3JvbGxMb2dpY2FsRGlyZWN0aW9uLCBTY3JvbGxHcmFudWxhcml0
eSwgZmxvYXQgbXVsdGlwbGllciA9IDEsIE5vZGUqKiBzdG9wTm9kZSA9IDApOwogICAgIGJvb2wg
Y2FuQmVTY3JvbGxlZEFuZEhhc1Njcm9sbGFibGVBcmVhKCkgY29uc3Q7CiAgICAgdmlydHVhbCBi
b29sIGNhbkJlUHJvZ3JhbWF0aWNhbGx5U2Nyb2xsZWQoKSBjb25zdDsKICAgICB2aXJ0dWFsIHZv
aWQgYXV0b3Njcm9sbCgpOwogICAgIHZpcnR1YWwgdm9pZCBzdG9wQXV0b3Njcm9sbCgpIHsgfQog
ICAgIHZpcnR1YWwgdm9pZCBwYW5TY3JvbGwoY29uc3QgSW50UG9pbnQmKTsKKwogICAgIGJvb2wg
aGFzQXV0b1ZlcnRpY2FsU2Nyb2xsYmFyKCkgY29uc3QgeyByZXR1cm4gaGFzT3ZlcmZsb3dDbGlw
KCkgJiYgKHN0eWxlKCktPm92ZXJmbG93WSgpID09IE9BVVRPIHx8IHN0eWxlKCktPm92ZXJmbG93
WSgpID09IE9PVkVSTEFZKTsgfQogICAgIGJvb2wgaGFzQXV0b0hvcml6b250YWxTY3JvbGxiYXIo
KSBjb25zdCB7IHJldHVybiBoYXNPdmVyZmxvd0NsaXAoKSAmJiAoc3R5bGUoKS0+b3ZlcmZsb3dY
KCkgPT0gT0FVVE8gfHwgc3R5bGUoKS0+b3ZlcmZsb3dYKCkgPT0gT09WRVJMQVkpOyB9CiAgICAg
Ym9vbCBzY3JvbGxzT3ZlcmZsb3coKSBjb25zdCB7IHJldHVybiBzY3JvbGxzT3ZlcmZsb3dYKCkg
fHwgc2Nyb2xsc092ZXJmbG93WSgpOyB9CiAgICAgYm9vbCBzY3JvbGxzT3ZlcmZsb3dYKCkgY29u
c3QgeyByZXR1cm4gaGFzT3ZlcmZsb3dDbGlwKCkgJiYgKHN0eWxlKCktPm92ZXJmbG93WCgpID09
IE9TQ1JPTEwgfHwgaGFzQXV0b0hvcml6b250YWxTY3JvbGxiYXIoKSk7IH0KICAgICBib29sIHNj
cm9sbHNPdmVyZmxvd1koKSBjb25zdCB7IHJldHVybiBoYXNPdmVyZmxvd0NsaXAoKSAmJiAoc3R5
bGUoKS0+b3ZlcmZsb3dZKCkgPT0gT1NDUk9MTCB8fCBoYXNBdXRvVmVydGljYWxTY3JvbGxiYXIo
KSk7IH0KKyAgICBib29sIGhhc1Njcm9sbGFibGVPdmVyZmxvd1goKSBjb25zdCB7IHJldHVybiBz
Y3JvbGxzT3ZlcmZsb3dYKCkgJiYgc2Nyb2xsV2lkdGgoKSAhPSBjbGllbnRXaWR0aCgpOyB9Cisg
ICAgYm9vbCBoYXNTY3JvbGxhYmxlT3ZlcmZsb3dZKCkgY29uc3QgeyByZXR1cm4gc2Nyb2xsc092
ZXJmbG93WSgpICYmIHNjcm9sbEhlaWdodCgpICE9IGNsaWVudEhlaWdodCgpOyB9CiAgICAgYm9v
bCB1c2VzQ29tcG9zaXRlZFNjcm9sbGluZygpIGNvbnN0OwogICAgIAogICAgIGJvb2wgaGFzVW5z
cGxpdHRhYmxlU2Nyb2xsaW5nT3ZlcmZsb3coKSBjb25zdDsKICAgICBib29sIGlzVW5zcGxpdHRh
YmxlRm9yUGFnaW5hdGlvbigpIGNvbnN0OwogCiAgICAgdmlydHVhbCBMYXlvdXRSZWN0IGxvY2Fs
Q2FyZXRSZWN0KElubGluZUJveCosIGludCBjYXJldE9mZnNldCwgTGF5b3V0VW5pdCogZXh0cmFX
aWR0aFRvRW5kT2ZMaW5lID0gMCk7CiAKICAgICB2aXJ0dWFsIExheW91dFJlY3Qgb3ZlcmZsb3dD
bGlwUmVjdChjb25zdCBMYXlvdXRQb2ludCYgbG9jYXRpb24sIFJlbmRlclJlZ2lvbiosIE92ZXJs
YXlTY3JvbGxiYXJTaXplUmVsZXZhbmN5ID0gSWdub3JlT3ZlcmxheVNjcm9sbGJhclNpemUpOwog
ICAgIExheW91dFJlY3QgY2xpcFJlY3QoY29uc3QgTGF5b3V0UG9pbnQmIGxvY2F0aW9uLCBSZW5k
ZXJSZWdpb24qKTsKICAgICB2aXJ0dWFsIGJvb2wgaGFzQ29udHJvbENsaXAoKSBjb25zdCB7IHJl
dHVybiBmYWxzZTsgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckxheWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAKaW5k
ZXggZGZiMmQ0Yy4uODQyNDFjNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckxheWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5
ZXIuY3BwCkBAIC0yNjI5LDIwICsyNjI5LDMwIEBAIHZvaWQgUmVuZGVyTGF5ZXI6OmNvbXB1dGVT
Y3JvbGxEaW1lbnNpb25zKCkKICAgICBtX3Njcm9sbERpbWVuc2lvbnNEaXJ0eSA9IGZhbHNlOwog
CiAgICAgbV9zY3JvbGxTaXplLnNldFdpZHRoKG92ZXJmbG93UmlnaHQoKSAtIG92ZXJmbG93TGVm
dCgpKTsKICAgICBtX3Njcm9sbFNpemUuc2V0SGVpZ2h0KG92ZXJmbG93Qm90dG9tKCkgLSBvdmVy
Zmxvd1RvcCgpKTsKIAogICAgIGludCBzY3JvbGxhYmxlTGVmdE92ZXJmbG93ID0gb3ZlcmZsb3dM
ZWZ0KCkgLSBib3gtPmJvcmRlckxlZnQoKTsKICAgICBpbnQgc2Nyb2xsYWJsZVRvcE92ZXJmbG93
ID0gb3ZlcmZsb3dUb3AoKSAtIGJveC0+Ym9yZGVyVG9wKCk7CiAgICAgc2V0U2Nyb2xsT3JpZ2lu
KEludFBvaW50KC1zY3JvbGxhYmxlTGVmdE92ZXJmbG93LCAtc2Nyb2xsYWJsZVRvcE92ZXJmbG93
KSk7CiB9CiAKK2Jvb2wgUmVuZGVyTGF5ZXI6Omhhc1Njcm9sbGFibGVIb3Jpem9udGFsT3ZlcmZs
b3coKSBjb25zdAoreworICAgIHJldHVybiBoYXNIb3Jpem9udGFsT3ZlcmZsb3coKSAmJiByZW5k
ZXJCb3goKS0+c2Nyb2xsc092ZXJmbG93WCgpOworfQorCitib29sIFJlbmRlckxheWVyOjpoYXNT
Y3JvbGxhYmxlVmVydGljYWxPdmVyZmxvdygpIGNvbnN0Cit7CisgICAgcmV0dXJuIGhhc1ZlcnRp
Y2FsT3ZlcmZsb3coKSAmJiByZW5kZXJCb3goKS0+c2Nyb2xsc092ZXJmbG93WSgpOworfQorCiBi
b29sIFJlbmRlckxheWVyOjpoYXNIb3Jpem9udGFsT3ZlcmZsb3coKSBjb25zdAogewogICAgIEFT
U0VSVCghbV9zY3JvbGxEaW1lbnNpb25zRGlydHkpOwogCiAgICAgcmV0dXJuIHNjcm9sbFdpZHRo
KCkgPiByZW5kZXJCb3goKS0+cGl4ZWxTbmFwcGVkQ2xpZW50V2lkdGgoKTsKIH0KIAogYm9vbCBS
ZW5kZXJMYXllcjo6aGFzVmVydGljYWxPdmVyZmxvdygpIGNvbnN0CiB7CiAgICAgQVNTRVJUKCFt
X3Njcm9sbERpbWVuc2lvbnNEaXJ0eSk7CkBAIC0yNzExLDIxICsyNzIxLDIxIEBAIHZvaWQgUmVu
ZGVyTGF5ZXI6OnVwZGF0ZVNjcm9sbGJhcnNBZnRlckxheW91dCgpCiAgICAgICAgIG1faEJhci0+
c2V0U3RlcHMoU2Nyb2xsYmFyOjpwaXhlbHNQZXJMaW5lU3RlcCgpLCBwYWdlU3RlcCk7CiAgICAg
ICAgIG1faEJhci0+c2V0UHJvcG9ydGlvbihjbGllbnRXaWR0aCwgbV9zY3JvbGxTaXplLndpZHRo
KCkpOwogICAgIH0KICAgICBpZiAobV92QmFyKSB7CiAgICAgICAgIGludCBjbGllbnRIZWlnaHQg
PSBib3gtPnBpeGVsU25hcHBlZENsaWVudEhlaWdodCgpOwogICAgICAgICBpbnQgcGFnZVN0ZXAg
PSBtYXgobWF4PGludD4oY2xpZW50SGVpZ2h0ICogU2Nyb2xsYmFyOjptaW5GcmFjdGlvblRvU3Rl
cFdoZW5QYWdpbmcoKSwgY2xpZW50SGVpZ2h0IC0gU2Nyb2xsYmFyOjptYXhPdmVybGFwQmV0d2Vl
blBhZ2VzKCkpLCAxKTsKICAgICAgICAgbV92QmFyLT5zZXRTdGVwcyhTY3JvbGxiYXI6OnBpeGVs
c1BlckxpbmVTdGVwKCksIHBhZ2VTdGVwKTsKICAgICAgICAgbV92QmFyLT5zZXRQcm9wb3J0aW9u
KGNsaWVudEhlaWdodCwgbV9zY3JvbGxTaXplLmhlaWdodCgpKTsKICAgICB9CiAKLSAgICB1cGRh
dGVTY3JvbGxhYmxlQXJlYVNldCgoaGFzSG9yaXpvbnRhbE92ZXJmbG93IHx8IGhhc1ZlcnRpY2Fs
T3ZlcmZsb3cpICYmIHNjcm9sbHNPdmVyZmxvdygpICYmIGFsbG93c1Njcm9sbGluZygpKTsKKyAg
ICB1cGRhdGVTY3JvbGxhYmxlQXJlYVNldChoYXNTY3JvbGxhYmxlSG9yaXpvbnRhbE92ZXJmbG93
KCkgfHwgaGFzU2Nyb2xsYWJsZVZlcnRpY2FsT3ZlcmZsb3coKSk7CiB9CiAKIHZvaWQgUmVuZGVy
TGF5ZXI6OnVwZGF0ZVNjcm9sbEluZm9BZnRlckxheW91dCgpCiB7CiAgICAgUmVuZGVyQm94KiBi
b3ggPSByZW5kZXJCb3goKTsKICAgICBpZiAoIWJveCkKICAgICAgICAgcmV0dXJuOwogCiAgICAg
bV9zY3JvbGxEaW1lbnNpb25zRGlydHkgPSB0cnVlOwogICAgIEludFNpemUgb3JpZ2luYWxTY3Jv
bGxPZmZzZXQgPSBzY3JvbGxPZmZzZXQoKTsKQEAgLTUwOTEsMjEgKzUxMDEsMjEgQEAgdm9pZCBS
ZW5kZXJMYXllcjo6dXBkYXRlU2Nyb2xsYmFyc0FmdGVyU3R5bGVDaGFuZ2UoY29uc3QgUmVuZGVy
U3R5bGUqIG9sZFN0eWxlKQogICAgICAgICBBU1NFUlQoaGFzSG9yaXpvbnRhbFNjcm9sbGJhcigp
KTsKICAgICAgICAgbV9oQmFyLT5zZXRFbmFibGVkKHRydWUpOwogICAgIH0KIAogICAgIGlmIChu
ZWVkc1ZlcnRpY2FsU2Nyb2xsYmFyICYmIG9sZFN0eWxlICYmIG9sZFN0eWxlLT5vdmVyZmxvd1ko
KSA9PSBPU0NST0xMICYmIG92ZXJmbG93WSAhPSBPU0NST0xMKSB7CiAgICAgICAgIEFTU0VSVCho
YXNWZXJ0aWNhbFNjcm9sbGJhcigpKTsKICAgICAgICAgbV92QmFyLT5zZXRFbmFibGVkKHRydWUp
OwogICAgIH0KIAogICAgIGlmICghbV9zY3JvbGxEaW1lbnNpb25zRGlydHkpCi0gICAgICAgIHVw
ZGF0ZVNjcm9sbGFibGVBcmVhU2V0KChoYXNIb3Jpem9udGFsT3ZlcmZsb3coKSB8fCBoYXNWZXJ0
aWNhbE92ZXJmbG93KCkpICYmIHNjcm9sbHNPdmVyZmxvdygpICYmIGFsbG93c1Njcm9sbGluZygp
KTsKKyAgICAgICAgdXBkYXRlU2Nyb2xsYWJsZUFyZWFTZXQoaGFzU2Nyb2xsYWJsZUhvcml6b250
YWxPdmVyZmxvdygpIHx8IGhhc1Njcm9sbGFibGVWZXJ0aWNhbE92ZXJmbG93KCkpOwogfQogCiB2
b2lkIFJlbmRlckxheWVyOjpzdHlsZUNoYW5nZWQoU3R5bGVEaWZmZXJlbmNlLCBjb25zdCBSZW5k
ZXJTdHlsZSogb2xkU3R5bGUpCiB7CiAgICAgYm9vbCBpc05vcm1hbEZsb3dPbmx5ID0gc2hvdWxk
QmVOb3JtYWxGbG93T25seSgpOwogICAgIGlmIChpc05vcm1hbEZsb3dPbmx5ICE9IG1faXNOb3Jt
YWxGbG93T25seSkgewogICAgICAgICBtX2lzTm9ybWFsRmxvd09ubHkgPSBpc05vcm1hbEZsb3dP
bmx5OwogICAgICAgICBSZW5kZXJMYXllciogcCA9IHBhcmVudCgpOwogICAgICAgICBpZiAocCkK
ICAgICAgICAgICAgIHAtPmRpcnR5Tm9ybWFsRmxvd0xpc3QoKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckxheWVyLmgKaW5kZXggMGMwY2Q3OS4uYjVkZDBlMiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckxheWVyLmgKQEAgLTgxOCwyMCArODE4LDIyIEBAIHByaXZhdGU6CiAK
ICAgICBQYXNzUmVmUHRyPEhpdFRlc3RpbmdUcmFuc2Zvcm1TdGF0ZT4gY3JlYXRlTG9jYWxUcmFu
c2Zvcm1TdGF0ZShSZW5kZXJMYXllciogcm9vdExheWVyLCBSZW5kZXJMYXllciogY29udGFpbmVy
TGF5ZXIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgTGF5b3V0UmVjdCYgaGl0
VGVzdFJlY3QsIGNvbnN0IEhpdFRlc3RMb2NhdGlvbiYsCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgY29uc3QgSGl0VGVzdGluZ1RyYW5zZm9ybVN0YXRlKiBjb250YWluZXJUcmFuc2Zvcm1T
dGF0ZSkgY29uc3Q7CiAgICAgCiAgICAgYm9vbCBoaXRUZXN0Q29udGVudHMoY29uc3QgSGl0VGVz
dFJlcXVlc3QmLCBIaXRUZXN0UmVzdWx0JiwgY29uc3QgTGF5b3V0UmVjdCYgbGF5ZXJCb3VuZHMs
IGNvbnN0IEhpdFRlc3RMb2NhdGlvbiYsIEhpdFRlc3RGaWx0ZXIpIGNvbnN0OwogCiAgICAgdm9p
ZCBjb21wdXRlU2Nyb2xsRGltZW5zaW9ucygpOwogICAgIGJvb2wgaGFzSG9yaXpvbnRhbE92ZXJm
bG93KCkgY29uc3Q7CiAgICAgYm9vbCBoYXNWZXJ0aWNhbE92ZXJmbG93KCkgY29uc3Q7CisgICAg
Ym9vbCBoYXNTY3JvbGxhYmxlSG9yaXpvbnRhbE92ZXJmbG93KCkgY29uc3Q7CisgICAgYm9vbCBo
YXNTY3JvbGxhYmxlVmVydGljYWxPdmVyZmxvdygpIGNvbnN0OwogCiAgICAgYm9vbCBzaG91bGRC
ZU5vcm1hbEZsb3dPbmx5KCkgY29uc3Q7CiAKICAgICBib29sIHNob3VsZEJlU2VsZlBhaW50aW5n
TGF5ZXIoKSBjb25zdDsKIAogICAgIGludCBzY3JvbGxQb3NpdGlvbihTY3JvbGxiYXIqKSBjb25z
dDsKICAgICAKICAgICAvLyBTY3JvbGxhYmxlQXJlYSBpbnRlcmZhY2UKICAgICB2aXJ0dWFsIHZv
aWQgaW52YWxpZGF0ZVNjcm9sbGJhclJlY3QoU2Nyb2xsYmFyKiwgY29uc3QgSW50UmVjdCYpOwog
ICAgIHZpcnR1YWwgdm9pZCBpbnZhbGlkYXRlU2Nyb2xsQ29ybmVyUmVjdChjb25zdCBJbnRSZWN0
Jik7Ci0tIAoxLjcuMTAuNAoK
</data>

          </attachment>
      

    </bug>

</bugzilla>