<?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>104517</bug_id>
          
          <creation_ts>2012-12-10 00:07:14 -0800</creation_ts>
          <short_desc>[CSSRegions] Assertion failure in Node::detach (!renderer || renderer-&gt;inRenderFlowThread())</short_desc>
          <delta_ts>2013-02-06 04:10:32 -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>CSS</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>AdobeTracked</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>57312</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Mihnea Ovidenie">mihnea</reporter>
          <assigned_to name="Mihai Maerean">mmaerean</assigned_to>
          <cc>eric</cc>
    
    <cc>hyatt</cc>
    
    <cc>jchaffraix</cc>
    
    <cc>ojan.autocc</cc>
    
    <cc>tony</cc>
    
    <cc>WebkitBugTracker</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>787049</commentid>
    <comment_count>0</comment_count>
    <who name="Mihnea Ovidenie">mihnea</who>
    <bug_when>2012-12-10 00:07:14 -0800</bug_when>
    <thetext>Load the following HTML in a debug build:

&lt;!doctype html&gt;
&lt;html&gt;
    &lt;head&gt;
        &lt;style&gt;
            #article { -webkit-flow-into: flow; }
        &lt;/style&gt;
    &lt;/head&gt;
    &lt;body&gt;
        &lt;div class=&quot;flowContent&quot; id=&quot;article&quot;&gt;
            &lt;span&gt;
                a &lt;p&gt;b&lt;/p&gt; a
            &lt;/span&gt;
        &lt;/div&gt;
    &lt;/body&gt;
&lt;/html&gt;

After page is loaded, reload it and you will get an assertion with the following trace:

1   0x1085d482b WebCore::Node::detach()
2   0x10763227f WebCore::ContainerNode::detach()
3   0x107a52f00 WebCore::Element::detach()
4   0x107634b97 WebCore::ContainerNode::detachChildren()
5   0x107632288 WebCore::ContainerNode::detach()
6   0x10784b57d WebCore::Document::detach()
7   0x10784b8c3 WebCore::Document::prepareForDestruction()
8   0x107b5bce6 WebCore::Frame::setView(WTF::PassRefPtr&lt;WebCore::FrameView&gt;)
9   0x107b5e748 WebCore::Frame::createView(WebCore::IntSize const&amp;, WebCore::Color const&amp;, bool, WebCore::IntSize const&amp;, WebCore::IntRect const&amp;, bool, WebCore::ScrollbarMode, bool, WebCore::ScrollbarMode, bool)
10  0x105336fa7 WebKit::WebFrameLoaderClient::transitionToCommittedForNewPage()
11  0x107b716bd WebCore::FrameLoader::transitionToCommitted(WTF::PassRefPtr&lt;WebCore::CachedPage&gt;)
12  0x107b70afc WebCore::FrameLoader::commitProvisionalLoad()
13  0x10789bb9c WebCore::DocumentLoader::commitIfReady()
14  0x10789c1bc WebCore::DocumentLoader::commitLoad(char const*, int)
15  0x10789c73b WebCore::DocumentLoader::receivedData(char const*, int)
16  0x108522167 WebCore::MainResourceLoader::addData(char const*, int, bool)
17  0x108997b0c WebCore::ResourceLoader::didReceiveData(char const*, int, long long, bool)
18  0x1085238da WebCore::MainResourceLoader::didReceiveData(char const*, int, long long, bool)
19  0x10899843f WebCore::ResourceLoader::didReceiveData(WebCore::ResourceHandle*, char const*, int, int)
20  0x108994daa -[WebCoreResourceHandleAsDelegate connection:didReceiveData:lengthReceived:]
21  0x7fff871f4f58 __65-[NSURLConnectionInternal _withConnectionAndDelegate:onlyActive:]_block_invoke_0
22  0x7fff871f4e9c -[NSURLConnectionInternal _withConnectionAndDelegate:onlyActive:]
23  0x7fff871f4d98 -[NSURLConnectionInternal _withActiveConnectionAndDelegate:]
24  0x7fff871f792b _NSURLConnectionDidReceiveData_LengthReceived
25  0x7fff8c3816c4 ___delegate_didReceiveDataArray_block_invoke_0
26  0x7fff8c3743ca ___withDelegateAsync_block_invoke_0
27  0x7fff8c40456a __block_global_1
28  0x7fff87caa724 CFArrayApplyFunction
29  0x7fff8c365554 RunloopBlockContext::perform()
30  0x7fff8c36542b MultiplexerSource::perform()
31  0x7fff87c8c101 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>819950</commentid>
    <comment_count>1</comment_count>
      <attachid>185434</attachid>
    <who name="Mihai Maerean">mmaerean</who>
    <bug_when>2013-01-30 01:37:12 -0800</bug_when>
    <thetext>Created attachment 185434
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>819955</commentid>
    <comment_count>2</comment_count>
      <attachid>185436</attachid>
    <who name="Mihai Maerean">mmaerean</who>
    <bug_when>2013-01-30 01:42:11 -0800</bug_when>
    <thetext>Created attachment 185436
1st patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>824392</commentid>
    <comment_count>3</comment_count>
      <attachid>185436</attachid>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2013-02-04 08:35:22 -0800</bug_when>
    <thetext>Comment on attachment 185436
1st patch

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

&gt; LayoutTests/fast/regions/detaching-regions-with-anonymous-blocks.html:27
&gt; +                var b = document.createElement(&quot;body&quot;);

Let&apos;s use real variable name, not 1 letter.

&gt; LayoutTests/fast/regions/detaching-regions-with-anonymous-blocks.html:29
&gt; +                b.innerHTML = document.getElementById(&quot;testResult&quot;).innerHTML;

I would prefer if you just inlined the tag above here instead of having a hack using script / template:

b.innerHTML = &quot;&lt;p&gt;Bug &lt;a href=&quot;https://bugs.webkit.org/show_bug.cgi?id=104517&quot;&gt;104517&lt;/a&gt;: [CSSRegions] Assertion failure in Node::detach (!renderer || renderer-&gt;inRenderFlowThread())&lt;/p&gt;&lt;p&gt;This test PASSES if it does not CRASH or ASSERT.&lt;/p&gt;&quot;;

&gt; LayoutTests/fast/regions/detaching-regions-with-anonymous-blocks.html:32
&gt; +                if(window.testRunner)
&gt; +                    window.testRunner.notifyDone();

No need for that. DRT by default waits until the &apos;load&apos; event listener has run.

&gt; Source/WebCore/rendering/RenderObject.cpp:286
&gt; +        ASSERT(b != child-&gt;inRenderFlowThread());

I am not totally convinced you can ASSERT here. Is it possible to have a RenderFlowThread inside a RenderFlowThread? (in which case you can totally trigger it)

This ASSERT seems to be performance related (as in you could skip a subtree), not really functional in nature.

&gt; Source/WebCore/rendering/RenderObject.h:437
&gt; +    void setInRenderFlowThreadRecursive(bool = true);

Better names: setInRenderFlowThreadIncludingDescendants or setSubtreeInRenderFlowThread (prefer the first one though).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>825382</commentid>
    <comment_count>4</comment_count>
      <attachid>185436</attachid>
    <who name="Mihai Maerean">mmaerean</who>
    <bug_when>2013-02-05 04:52:42 -0800</bug_when>
    <thetext>Comment on attachment 185436
1st patch

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

&gt;&gt; Source/WebCore/rendering/RenderObject.cpp:286
&gt;&gt; +        ASSERT(b != child-&gt;inRenderFlowThread());
&gt; 
&gt; I am not totally convinced you can ASSERT here. Is it possible to have a RenderFlowThread inside a RenderFlowThread? (in which case you can totally trigger it)
&gt; 
&gt; This ASSERT seems to be performance related (as in you could skip a subtree), not really functional in nature.

It&apos;s not possible to have a RenderFlowThread inside a RenderFlowThread.
This assert will catch such occurrences (apart from catching the other situations in which a subtree is already in the desired state and the call would just waste computing power).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>825429</commentid>
    <comment_count>5</comment_count>
      <attachid>186613</attachid>
    <who name="Mihai Maerean">mmaerean</who>
    <bug_when>2013-02-05 06:09:01 -0800</bug_when>
    <thetext>Created attachment 186613
incorporated Julien Chaffraix&apos;s feedback.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>825440</commentid>
    <comment_count>6</comment_count>
      <attachid>186616</attachid>
    <who name="Mihai Maerean">mmaerean</who>
    <bug_when>2013-02-05 06:26:47 -0800</bug_when>
    <thetext>Created attachment 186616
incorporated Julien Chaffraix&apos;s feedback (with updated ChangeLogs)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>825519</commentid>
    <comment_count>7</comment_count>
      <attachid>186616</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2013-02-05 09:03:24 -0800</bug_when>
    <thetext>Comment on attachment 186616
incorporated Julien Chaffraix&apos;s feedback (with updated ChangeLogs)

Attachment 186616 did not pass win-ews (win):
Output: http://queues.webkit.org/results/16368748</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>825575</commentid>
    <comment_count>8</comment_count>
      <attachid>186616</attachid>
    <who name="Julien Chaffraix">jchaffraix</who>
    <bug_when>2013-02-05 09:58:26 -0800</bug_when>
    <thetext>Comment on attachment 186616
incorporated Julien Chaffraix&apos;s feedback (with updated ChangeLogs)

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

r=me

&gt; LayoutTests/ChangeLog:16
&gt; +        The RenderObject::inRenderFlowThread bit could have become disconnected from the fact that the RenderObject
&gt; +        has (or not) an enclosing RenderFlowThread.
&gt; +        The cause of this was that, when setting or removing the parent of a RenderObject, the inRenderFlowThread flags
&gt; +        wasn&apos;t being set/reset for the children too.
&gt; +        This is now fixed by calling the new setInRenderFlowThreadIncludingDescendants.
&gt; +
&gt; +        The ASSERT was hit for anonymous blocks when detaching the document.
&gt; +
&gt; +        The test starts from such an anonymous block and the detaches the body of document.

Nit: We usually don&apos;t copy the WebCore ChangeLog here. (Most of the time I keep the LayoutTests ChangeLog empty unless there is something important to mention).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>826232</commentid>
    <comment_count>9</comment_count>
      <attachid>186792</attachid>
    <who name="Mihai Maerean">mmaerean</who>
    <bug_when>2013-02-06 01:51:30 -0800</bug_when>
    <thetext>Created attachment 186792
Patch for landing. Includes the change Julien requested for LayoutTests/ChangeLog.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>826299</commentid>
    <comment_count>10</comment_count>
      <attachid>186792</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-02-06 03:33:51 -0800</bug_when>
    <thetext>Comment on attachment 186792
Patch for landing. Includes the change Julien requested for LayoutTests/ChangeLog.

Clearing flags on attachment: 186792

Committed r141982: &lt;http://trac.webkit.org/changeset/141982&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>185434</attachid>
            <date>2013-01-30 01:37:12 -0800</date>
            <delta_ts>2013-01-30 01:42:11 -0800</delta_ts>
            <desc>patch</desc>
            <filename>patch104517.diff</filename>
            <type>text/plain</type>
            <size>7098</size>
            <attacher name="Mihai Maerean">mmaerean</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBlNDdlYzRiLi45ZWY2NjE5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIwMTMtMDEt
MjkgIE1paGFpIE1hZXJlYW4gIDxtbWFlcmVhbkBhZG9iZS5jb20+CisKKyAgICAgICAgW0NTU1Jl
Z2lvbnNdIEFzc2VydGlvbiBmYWlsdXJlIGluIE5vZGU6OmRldGFjaCAoIXJlbmRlcmVyIHx8IHJl
bmRlcmVyLT5pblJlbmRlckZsb3dUaHJlYWQoKSkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNDUxNworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFRoZSBSZW5kZXJPYmplY3Q6OmluUmVuZGVyRmxvd1RocmVh
ZCBiaXQgY291bGQgaGF2ZSBiZWNvbWUgZGlzY29ubmVjdGVkIGZyb20gdGhlIGZhY3QgdGhhdCB0
aGUgUmVuZGVyT2JqZWN0CisgICAgICAgIGhhcyAob3Igbm90KSBhbiBlbmNsb3NpbmcgUmVuZGVy
Rmxvd1RocmVhZC4KKyAgICAgICAgVGhlIGNhdXNlIG9mIHRoaXMgd2FzIHRoYXQsIHdoZW4gc2V0
dGluZyBvciByZW1vdmluZyB0aGUgcGFyZW50IG9mIGEgUmVuZGVyT2JqZWN0LCB0aGUgaW5SZW5k
ZXJGbG93VGhyZWFkIGZsYWdzCisgICAgICAgIHdhc24ndCBiZWluZyBzZXQvcmVzZXQgZm9yIHRo
ZSBjaGlsZHJlbiB0b28uCisgICAgICAgIFRoaXMgaXMgbm93IGZpeGVkIGJ5IGNhbGxpbmcgdGhl
IG5ldyBzZXRJblJlbmRlckZsb3dUaHJlYWRSZWN1cnNpdmUuCisKKyAgICAgICAgVGhlIEFTU0VS
VCB3YXMgaGl0IGZvciBhbm9ueW1vdXMgYmxvY2tzIHdoZW4gZGV0YWNoaW5nIHRoZSBkb2N1bWVu
dC4KKworICAgICAgICBUaGUgdGVzdCBzdGFydHMgZnJvbSBzdWNoIGFuIGFub255bW91cyBibG9j
ayBhbmQgdGhlIGRldGFjaGVzIHRoZSBib2R5IG9mIGRvY3VtZW50LgorCisgICAgICAgICogZmFz
dC9yZWdpb25zL2RldGFjaGluZy1yZWdpb25zLXdpdGgtYW5vbnltb3VzLWJsb2Nrcy1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvcmVnaW9ucy9kZXRhY2hpbmctcmVnaW9ucy13
aXRoLWFub255bW91cy1ibG9ja3MuaHRtbDogQWRkZWQuCisKIDIwMTMtMDEtMjkgIMOBZMOhbSBL
YWxsYWkgIDxrYWRhbUBpbmYudS1zemVnZWQuaHU+CiAKICAgICAgICAgW1F0XSBVbnJldmlld2Vk
IGdhcmRlbmluZy4gU2tpcCBmYWlsaW5nIHRlc3RzIGFmdGVyIHIxNDA5MjcuCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvZGV0YWNoaW5nLXJlZ2lvbnMtd2l0aC1hbm9ueW1v
dXMtYmxvY2tzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy9kZXRhY2hp
bmctcmVnaW9ucy13aXRoLWFub255bW91cy1ibG9ja3MtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjUxNzYyNWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9mYXN0L3JlZ2lvbnMvZGV0YWNoaW5nLXJlZ2lvbnMtd2l0aC1hbm9ueW1vdXMtYmxv
Y2tzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMgQEAKK0J1ZyAxMDQ1MTc6IFtDU1NSZWdpb25z
XSBBc3NlcnRpb24gZmFpbHVyZSBpbiBOb2RlOjpkZXRhY2ggKCFyZW5kZXJlciB8fCByZW5kZXJl
ci0+aW5SZW5kZXJGbG93VGhyZWFkKCkpCisKK1RoaXMgdGVzdCBQQVNTRVMgaWYgaXQgZG9lcyBu
b3QgQ1JBU0ggb3IgQVNTRVJULgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25z
L2RldGFjaGluZy1yZWdpb25zLXdpdGgtYW5vbnltb3VzLWJsb2Nrcy5odG1sIGIvTGF5b3V0VGVz
dHMvZmFzdC9yZWdpb25zL2RldGFjaGluZy1yZWdpb25zLXdpdGgtYW5vbnltb3VzLWJsb2Nrcy5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdhYzY4NGYKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvZGV0YWNoaW5nLXJlZ2lvbnMtd2l0
aC1hbm9ueW1vdXMtYmxvY2tzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFkb2N0eXBlIGh0bWw+
Cis8aHRtbD4KKyAgICA8aGVhZD4KKworICAgICAgICA8IS0tCisgICAgICAgIFRoaXMgInNjcmlw
dCIgaXMgYWN0dWFsbHkgYSB0ZW1wbGF0ZSBhbmQgaXMgbmVlZGVkIGJlY2F1c2Ugd2UgbXVzdCBy
ZW1vdmUgdGhlIGJvZHkgaW4gb3JkZXIgdG8gcmVwcm9kdWNlIHRoZSBidWcuCisgICAgICAgIElm
IHRoZSBjb250ZW50IG9mIHRoaXMgdGVtcGxhdGUgd291bGQgYmUgcGxhY2VkIGluIHRoZSBib2R5
LCBpdCB3b3VsZCBiZSBkZWxldGVkIHdoZW4gdGhlIGJvZHkgaXMgcmVtb3ZlZC4KKyAgICAgICAg
LS0+CisgICAgICAgIDxzY3JpcHQgaWQ9InRlc3RSZXN1bHQiIHR5cGU9InRleHQvdGVtcGxhdGUi
PgorICAgICAgICAgICAgPHA+QnVnIDxhIGhyZWY9Imh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xMDQ1MTciPjEwNDUxNzwvYT46IFtDU1NSZWdpb25zXSBBc3NlcnRpb24g
ZmFpbHVyZQorICAgICAgICAgICAgICAgIGluIE5vZGU6OmRldGFjaCAoIXJlbmRlcmVyIHx8IHJl
bmRlcmVyLT5pblJlbmRlckZsb3dUaHJlYWQoKSk8L3A+CisgICAgICAgICAgICA8cD5UaGlzIHRl
c3QgUEFTU0VTIGlmIGl0IGRvZXMgbm90IENSQVNIIG9yIEFTU0VSVC48L3A+CisgICAgICAgIDwv
c2NyaXB0PgorCisgICAgICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KKyAgICAg
ICAgICAgIGlmKHdpbmRvdy50ZXN0UnVubmVyKXsKKyAgICAgICAgICAgICAgICB3aW5kb3cudGVz
dFJ1bm5lci5kdW1wQXNUZXh0KCk7CisgICAgICAgICAgICAgICAgd2luZG93LnRlc3RSdW5uZXIu
d2FpdFVudGlsRG9uZSgpOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICB3aW5kb3cuYWRk
RXZlbnRMaXN0ZW5lcigibG9hZCIsZnVuY3Rpb24oKXsKKyAgICAgICAgICAgICAgICAvLyBUaGlz
IHByZXZpb3VzbHkgY2F1c2VkIHRoZSBBU1NFUlQgdG8gYmUgaGl0LgorICAgICAgICAgICAgICAg
IHZhciBwID0gZG9jdW1lbnQuYm9keS5wYXJlbnROb2RlOworICAgICAgICAgICAgICAgIHAucmVt
b3ZlQ2hpbGQoZG9jdW1lbnQuYm9keSk7CisKKyAgICAgICAgICAgICAgICAvLyBEaXNwbGF5IHRo
ZSBodW1hbiByZWFkYWJsZSB0ZXN0IHJlc3VsdC4KKyAgICAgICAgICAgICAgICB2YXIgYiA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoImJvZHkiKTsKKyAgICAgICAgICAgICAgICBwLmFwcGVuZENo
aWxkKGIpOworICAgICAgICAgICAgICAgIGIuaW5uZXJIVE1MID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInRlc3RSZXN1bHQiKS5pbm5lckhUTUw7CisKKyAgICAgICAgICAgICAgICBpZih3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgICAgICAgICAgICAgd2luZG93LnRlc3RSdW5uZXIubm90
aWZ5RG9uZSgpOworICAgICAgICAgICAgfSk7CisgICAgICAgIDwvc2NyaXB0PgorCisgICAgPC9o
ZWFkPgorCisgICAgPGJvZHk+CisgICAgICAgIDxkaXYgc3R5bGU9Ii13ZWJraXQtZmxvdy1pbnRv
OiBmbG93OyI+CisgICAgICAgICAgICA8c3Bhbj4KKyAgICAgICAgICAgICAgICBhIDxwPmI8L3A+
IGEKKyAgICAgICAgICAgIDwvc3Bhbj4KKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxkaXYgaWQ9
InJlZ2lvbiIgc3R5bGU9Ii13ZWJraXQtZmxvdy1mcm9tOmZsb3c7Ij48L2Rpdj4KKyAgICA8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGQ4
ZGY2MWMuLmVmMGQ2MjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysg
Yi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNyBAQAorMjAxMy0wMS0yOSAg
TWloYWkgTWFlcmVhbiAgPG1tYWVyZWFuQGFkb2JlLmNvbT4KKworICAgICAgICBbQ1NTUmVnaW9u
c10gQXNzZXJ0aW9uIGZhaWx1cmUgaW4gTm9kZTo6ZGV0YWNoICghcmVuZGVyZXIgfHwgcmVuZGVy
ZXItPmluUmVuZGVyRmxvd1RocmVhZCgpKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTA0NTE3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgVGhlIFJlbmRlck9iamVjdDo6aW5SZW5kZXJGbG93VGhyZWFkIGJp
dCBjb3VsZCBoYXZlIGJlY29tZSBkaXNjb25uZWN0ZWQgZnJvbSB0aGUgZmFjdCB0aGF0IHRoZSBS
ZW5kZXJPYmplY3QKKyAgICAgICAgaGFzIChvciBub3QpIGFuIGVuY2xvc2luZyBSZW5kZXJGbG93
VGhyZWFkLgorICAgICAgICBUaGUgY2F1c2Ugb2YgdGhpcyB3YXMgdGhhdCwgd2hlbiBzZXR0aW5n
IG9yIHJlbW92aW5nIHRoZSBwYXJlbnQgb2YgYSBSZW5kZXJPYmplY3QsIHRoZSBpblJlbmRlckZs
b3dUaHJlYWQgZmxhZ3MKKyAgICAgICAgd2Fzbid0IGJlaW5nIHNldC9yZXNldCBmb3IgdGhlIGNo
aWxkcmVuIHRvby4KKyAgICAgICAgVGhpcyBpcyBub3cgZml4ZWQgYnkgY2FsbGluZyB0aGUgbmV3
IHNldEluUmVuZGVyRmxvd1RocmVhZFJlY3Vyc2l2ZS4KKworICAgICAgICBUaGUgQVNTRVJUIHdh
cyBoaXQgZm9yIGFub255bW91cyBibG9ja3Mgd2hlbiBkZXRhY2hpbmcgdGhlIGRvY3VtZW50Lgor
CisgICAgICAgIFRlc3Q6IGZhc3QvcmVnaW9ucy9kZXRhY2hpbmctcmVnaW9ucy13aXRoLWFub255
bW91cy1ibG9ja3MuaHRtbAorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJPYmplY3Q6OnNldEluUmVuZGVyRmxvd1RocmVhZFJl
Y3Vyc2l2ZSk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVy
T2JqZWN0Lmg6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJPYmplY3Q6OnNldFBhcmVudCk6Cisg
ICAgICAgIChSZW5kZXJPYmplY3QpOgorCiAyMDEzLTAxLTI5ICBBbmRyZXkgTHVzaG5pa292ICA8
bHVzaG5pa292QGNocm9taXVtLm9yZz4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBmaXggYm90
dG9tIHNwYW4gaW4gdG9rZW4gaGlnaGxpZ2h0IGluIERURQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyT2JqZWN0LmNwcAppbmRleCBiZWQ0NGU2Li41ZWZiZTZkIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcApAQCAtMjc4LDYgKzI3OCwxNiBAQCBib29s
IFJlbmRlck9iamVjdDo6aXNIVE1MTWFycXVlZSgpIGNvbnN0CiAgICAgcmV0dXJuIG5vZGUoKSAm
JiBub2RlKCktPnJlbmRlcmVyKCkgPT0gdGhpcyAmJiBub2RlKCktPmhhc1RhZ05hbWUobWFycXVl
ZVRhZyk7CiB9CiAKK3ZvaWQgUmVuZGVyT2JqZWN0OjpzZXRJblJlbmRlckZsb3dUaHJlYWRSZWN1
cnNpdmUoYm9vbCBiKQoreworICAgIHNldEluUmVuZGVyRmxvd1RocmVhZChiKTsKKworICAgIGZv
ciAoUmVuZGVyT2JqZWN0KiBjaGlsZCA9IGZpcnN0Q2hpbGQoKTsgY2hpbGQ7IGNoaWxkID0gY2hp
bGQtPm5leHRTaWJsaW5nKCkpeworICAgICAgICBBU1NFUlQoYiAhPSBjaGlsZC0+aW5SZW5kZXJG
bG93VGhyZWFkKCkpOworICAgICAgICBjaGlsZC0+c2V0SW5SZW5kZXJGbG93VGhyZWFkUmVjdXJz
aXZlKGIpOworICAgIH0KK30KKwogdm9pZCBSZW5kZXJPYmplY3Q6OmFkZENoaWxkKFJlbmRlck9i
amVjdCogbmV3Q2hpbGQsIFJlbmRlck9iamVjdCogYmVmb3JlQ2hpbGQpCiB7CiAgICAgUmVuZGVy
T2JqZWN0Q2hpbGRMaXN0KiBjaGlsZHJlbiA9IHZpcnR1YWxDaGlsZHJlbigpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oCmluZGV4IGFkYzA3MDguLjMyNDBkZTAgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmgKQEAgLTI3MCwxMCArMjcwLDEwIEBA
IHByb3RlY3RlZDoKICAgICB2b2lkIHNldFBhcmVudChSZW5kZXJPYmplY3QqIHBhcmVudCkKICAg
ICB7CiAgICAgICAgIG1fcGFyZW50ID0gcGFyZW50OwotICAgICAgICBpZiAocGFyZW50ICYmIHBh
cmVudC0+aW5SZW5kZXJGbG93VGhyZWFkKCkpCi0gICAgICAgICAgICBzZXRJblJlbmRlckZsb3dU
aHJlYWQodHJ1ZSk7CisgICAgICAgIGlmIChwYXJlbnQgJiYgcGFyZW50LT5pblJlbmRlckZsb3dU
aHJlYWQoKSAmJiAhaW5SZW5kZXJGbG93VGhyZWFkKCkpCisgICAgICAgICAgICBzZXRJblJlbmRl
ckZsb3dUaHJlYWRSZWN1cnNpdmUodHJ1ZSk7CiAgICAgICAgIGVsc2UgaWYgKCFwYXJlbnQgJiYg
aW5SZW5kZXJGbG93VGhyZWFkKCkpCi0gICAgICAgICAgICBzZXRJblJlbmRlckZsb3dUaHJlYWQo
ZmFsc2UpOworICAgICAgICAgICAgc2V0SW5SZW5kZXJGbG93VGhyZWFkUmVjdXJzaXZlKGZhbHNl
KTsKICAgICB9CiAgICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
CiBwcml2YXRlOgpAQCAtNDM0LDYgKzQzNCw4IEBAIHB1YmxpYzoKICAgICBib29sIGluUmVuZGVy
Rmxvd1RocmVhZCgpIGNvbnN0IHsgcmV0dXJuIG1fYml0ZmllbGRzLmluUmVuZGVyRmxvd1RocmVh
ZCgpOyB9CiAgICAgdm9pZCBzZXRJblJlbmRlckZsb3dUaHJlYWQoYm9vbCBiID0gdHJ1ZSkgeyBt
X2JpdGZpZWxkcy5zZXRJblJlbmRlckZsb3dUaHJlYWQoYik7IH0KIAorICAgIHZvaWQgc2V0SW5S
ZW5kZXJGbG93VGhyZWFkUmVjdXJzaXZlKGJvb2wgPSB0cnVlKTsKKwogICAgIHZpcnR1YWwgYm9v
bCByZXF1aXJlc0ZvcmNlZFN0eWxlUmVjYWxjUHJvcGFnYXRpb24oKSBjb25zdCB7IHJldHVybiBm
YWxzZTsgfQogCiAjaWYgRU5BQkxFKE1BVEhNTCkK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>185436</attachid>
            <date>2013-01-30 01:42:11 -0800</date>
            <delta_ts>2013-02-05 06:09:01 -0800</delta_ts>
            <desc>1st patch</desc>
            <filename>patch104517.diff</filename>
            <type>text/plain</type>
            <size>7099</size>
            <attacher name="Mihai Maerean">mmaerean</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBlNDdlYzRiLi45ZWY2NjE5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIwMTMtMDEt
MjkgIE1paGFpIE1hZXJlYW4gIDxtbWFlcmVhbkBhZG9iZS5jb20+CisKKyAgICAgICAgW0NTU1Jl
Z2lvbnNdIEFzc2VydGlvbiBmYWlsdXJlIGluIE5vZGU6OmRldGFjaCAoIXJlbmRlcmVyIHx8IHJl
bmRlcmVyLT5pblJlbmRlckZsb3dUaHJlYWQoKSkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNDUxNworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFRoZSBSZW5kZXJPYmplY3Q6OmluUmVuZGVyRmxvd1RocmVh
ZCBiaXQgY291bGQgaGF2ZSBiZWNvbWUgZGlzY29ubmVjdGVkIGZyb20gdGhlIGZhY3QgdGhhdCB0
aGUgUmVuZGVyT2JqZWN0CisgICAgICAgIGhhcyAob3Igbm90KSBhbiBlbmNsb3NpbmcgUmVuZGVy
Rmxvd1RocmVhZC4KKyAgICAgICAgVGhlIGNhdXNlIG9mIHRoaXMgd2FzIHRoYXQsIHdoZW4gc2V0
dGluZyBvciByZW1vdmluZyB0aGUgcGFyZW50IG9mIGEgUmVuZGVyT2JqZWN0LCB0aGUgaW5SZW5k
ZXJGbG93VGhyZWFkIGZsYWdzCisgICAgICAgIHdhc24ndCBiZWluZyBzZXQvcmVzZXQgZm9yIHRo
ZSBjaGlsZHJlbiB0b28uCisgICAgICAgIFRoaXMgaXMgbm93IGZpeGVkIGJ5IGNhbGxpbmcgdGhl
IG5ldyBzZXRJblJlbmRlckZsb3dUaHJlYWRSZWN1cnNpdmUuCisKKyAgICAgICAgVGhlIEFTU0VS
VCB3YXMgaGl0IGZvciBhbm9ueW1vdXMgYmxvY2tzIHdoZW4gZGV0YWNoaW5nIHRoZSBkb2N1bWVu
dC4KKworICAgICAgICBUaGUgdGVzdCBzdGFydHMgZnJvbSBzdWNoIGFuIGFub255bW91cyBibG9j
ayBhbmQgdGhlIGRldGFjaGVzIHRoZSBib2R5IG9mIGRvY3VtZW50LgorCisgICAgICAgICogZmFz
dC9yZWdpb25zL2RldGFjaGluZy1yZWdpb25zLXdpdGgtYW5vbnltb3VzLWJsb2Nrcy1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvcmVnaW9ucy9kZXRhY2hpbmctcmVnaW9ucy13
aXRoLWFub255bW91cy1ibG9ja3MuaHRtbDogQWRkZWQuCisKIDIwMTMtMDEtMjkgIMOBZMOhbSBL
YWxsYWkgIDxrYWRhbUBpbmYudS1zemVnZWQuaHU+CiAKICAgICAgICAgW1F0XSBVbnJldmlld2Vk
IGdhcmRlbmluZy4gU2tpcCBmYWlsaW5nIHRlc3RzIGFmdGVyIHIxNDA5MjcuCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvZGV0YWNoaW5nLXJlZ2lvbnMtd2l0aC1hbm9ueW1v
dXMtYmxvY2tzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy9kZXRhY2hp
bmctcmVnaW9ucy13aXRoLWFub255bW91cy1ibG9ja3MtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjUxNzYyNWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9mYXN0L3JlZ2lvbnMvZGV0YWNoaW5nLXJlZ2lvbnMtd2l0aC1hbm9ueW1vdXMtYmxv
Y2tzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMgQEAKK0J1ZyAxMDQ1MTc6IFtDU1NSZWdpb25z
XSBBc3NlcnRpb24gZmFpbHVyZSBpbiBOb2RlOjpkZXRhY2ggKCFyZW5kZXJlciB8fCByZW5kZXJl
ci0+aW5SZW5kZXJGbG93VGhyZWFkKCkpCisKK1RoaXMgdGVzdCBQQVNTRVMgaWYgaXQgZG9lcyBu
b3QgQ1JBU0ggb3IgQVNTRVJULgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25z
L2RldGFjaGluZy1yZWdpb25zLXdpdGgtYW5vbnltb3VzLWJsb2Nrcy5odG1sIGIvTGF5b3V0VGVz
dHMvZmFzdC9yZWdpb25zL2RldGFjaGluZy1yZWdpb25zLXdpdGgtYW5vbnltb3VzLWJsb2Nrcy5o
dG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdhYzY4NGYKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvZGV0YWNoaW5nLXJlZ2lvbnMtd2l0
aC1hbm9ueW1vdXMtYmxvY2tzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPCFkb2N0eXBlIGh0bWw+
Cis8aHRtbD4KKyAgICA8aGVhZD4KKworICAgICAgICA8IS0tCisgICAgICAgIFRoaXMgInNjcmlw
dCIgaXMgYWN0dWFsbHkgYSB0ZW1wbGF0ZSBhbmQgaXMgbmVlZGVkIGJlY2F1c2Ugd2UgbXVzdCBy
ZW1vdmUgdGhlIGJvZHkgaW4gb3JkZXIgdG8gcmVwcm9kdWNlIHRoZSBidWcuCisgICAgICAgIElm
IHRoZSBjb250ZW50IG9mIHRoaXMgdGVtcGxhdGUgd291bGQgYmUgcGxhY2VkIGluIHRoZSBib2R5
LCBpdCB3b3VsZCBiZSBkZWxldGVkIHdoZW4gdGhlIGJvZHkgaXMgcmVtb3ZlZC4KKyAgICAgICAg
LS0+CisgICAgICAgIDxzY3JpcHQgaWQ9InRlc3RSZXN1bHQiIHR5cGU9InRleHQvdGVtcGxhdGUi
PgorICAgICAgICAgICAgPHA+QnVnIDxhIGhyZWY9Imh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xMDQ1MTciPjEwNDUxNzwvYT46IFtDU1NSZWdpb25zXSBBc3NlcnRpb24g
ZmFpbHVyZQorICAgICAgICAgICAgICAgIGluIE5vZGU6OmRldGFjaCAoIXJlbmRlcmVyIHx8IHJl
bmRlcmVyLT5pblJlbmRlckZsb3dUaHJlYWQoKSk8L3A+CisgICAgICAgICAgICA8cD5UaGlzIHRl
c3QgUEFTU0VTIGlmIGl0IGRvZXMgbm90IENSQVNIIG9yIEFTU0VSVC48L3A+CisgICAgICAgIDwv
c2NyaXB0PgorCisgICAgICAgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KKyAgICAg
ICAgICAgIGlmKHdpbmRvdy50ZXN0UnVubmVyKXsKKyAgICAgICAgICAgICAgICB3aW5kb3cudGVz
dFJ1bm5lci5kdW1wQXNUZXh0KCk7CisgICAgICAgICAgICAgICAgd2luZG93LnRlc3RSdW5uZXIu
d2FpdFVudGlsRG9uZSgpOworICAgICAgICAgICAgfQorCisgICAgICAgICAgICB3aW5kb3cuYWRk
RXZlbnRMaXN0ZW5lcigibG9hZCIsZnVuY3Rpb24oKXsKKyAgICAgICAgICAgICAgICAvLyBUaGlz
IHByZXZpb3VzbHkgY2F1c2VkIHRoZSBBU1NFUlQgdG8gYmUgaGl0LgorICAgICAgICAgICAgICAg
IHZhciBwID0gZG9jdW1lbnQuYm9keS5wYXJlbnROb2RlOworICAgICAgICAgICAgICAgIHAucmVt
b3ZlQ2hpbGQoZG9jdW1lbnQuYm9keSk7CisKKyAgICAgICAgICAgICAgICAvLyBEaXNwbGF5IHRo
ZSBodW1hbiByZWFkYWJsZSB0ZXN0IHJlc3VsdC4KKyAgICAgICAgICAgICAgICB2YXIgYiA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoImJvZHkiKTsKKyAgICAgICAgICAgICAgICBwLmFwcGVuZENo
aWxkKGIpOworICAgICAgICAgICAgICAgIGIuaW5uZXJIVE1MID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInRlc3RSZXN1bHQiKS5pbm5lckhUTUw7CisKKyAgICAgICAgICAgICAgICBpZih3aW5k
b3cudGVzdFJ1bm5lcikKKyAgICAgICAgICAgICAgICAgICAgd2luZG93LnRlc3RSdW5uZXIubm90
aWZ5RG9uZSgpOworICAgICAgICAgICAgfSk7CisgICAgICAgIDwvc2NyaXB0PgorCisgICAgPC9o
ZWFkPgorCisgICAgPGJvZHk+CisgICAgICAgIDxkaXYgc3R5bGU9Ii13ZWJraXQtZmxvdy1pbnRv
OiBmbG93OyI+CisgICAgICAgICAgICA8c3Bhbj4KKyAgICAgICAgICAgICAgICBhIDxwPmI8L3A+
IGEKKyAgICAgICAgICAgIDwvc3Bhbj4KKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxkaXYgaWQ9
InJlZ2lvbiIgc3R5bGU9Ii13ZWJraXQtZmxvdy1mcm9tOmZsb3c7Ij48L2Rpdj4KKyAgICA8L2Jv
ZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IGQ4
ZGY2MWMuLmVmMGQ2MjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysg
Yi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNyBAQAorMjAxMy0wMS0yOSAg
TWloYWkgTWFlcmVhbiAgPG1tYWVyZWFuQGFkb2JlLmNvbT4KKworICAgICAgICBbQ1NTUmVnaW9u
c10gQXNzZXJ0aW9uIGZhaWx1cmUgaW4gTm9kZTo6ZGV0YWNoICghcmVuZGVyZXIgfHwgcmVuZGVy
ZXItPmluUmVuZGVyRmxvd1RocmVhZCgpKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTA0NTE3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCisKKyAgICAgICAgVGhlIFJlbmRlck9iamVjdDo6aW5SZW5kZXJGbG93VGhyZWFkIGJp
dCBjb3VsZCBoYXZlIGJlY29tZSBkaXNjb25uZWN0ZWQgZnJvbSB0aGUgZmFjdCB0aGF0IHRoZSBS
ZW5kZXJPYmplY3QKKyAgICAgICAgaGFzIChvciBub3QpIGFuIGVuY2xvc2luZyBSZW5kZXJGbG93
VGhyZWFkLgorICAgICAgICBUaGUgY2F1c2Ugb2YgdGhpcyB3YXMgdGhhdCwgd2hlbiBzZXR0aW5n
IG9yIHJlbW92aW5nIHRoZSBwYXJlbnQgb2YgYSBSZW5kZXJPYmplY3QsIHRoZSBpblJlbmRlckZs
b3dUaHJlYWQgZmxhZ3MKKyAgICAgICAgd2Fzbid0IGJlaW5nIHNldC9yZXNldCBmb3IgdGhlIGNo
aWxkcmVuIHRvby4KKyAgICAgICAgVGhpcyBpcyBub3cgZml4ZWQgYnkgY2FsbGluZyB0aGUgbmV3
IHNldEluUmVuZGVyRmxvd1RocmVhZFJlY3Vyc2l2ZS4KKworICAgICAgICBUaGUgQVNTRVJUIHdh
cyBoaXQgZm9yIGFub255bW91cyBibG9ja3Mgd2hlbiBkZXRhY2hpbmcgdGhlIGRvY3VtZW50Lgor
CisgICAgICAgIFRlc3Q6IGZhc3QvcmVnaW9ucy9kZXRhY2hpbmctcmVnaW9ucy13aXRoLWFub255
bW91cy1ibG9ja3MuaHRtbAorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJPYmplY3Q6OnNldEluUmVuZGVyRmxvd1RocmVhZFJl
Y3Vyc2l2ZSk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVy
T2JqZWN0Lmg6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJPYmplY3Q6OnNldFBhcmVudCk6Cisg
ICAgICAgIChSZW5kZXJPYmplY3QpOgorCiAyMDEzLTAxLTI5ICBBbmRyZXkgTHVzaG5pa292ICA8
bHVzaG5pa292QGNocm9taXVtLm9yZz4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBmaXggYm90
dG9tIHNwYW4gaW4gdG9rZW4gaGlnaGxpZ2h0IGluIERURQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyT2JqZWN0LmNwcAppbmRleCBiZWQ0NGU2Li42NzFjYjhjIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcApAQCAtMjc4LDYgKzI3OCwxNiBAQCBib29s
IFJlbmRlck9iamVjdDo6aXNIVE1MTWFycXVlZSgpIGNvbnN0CiAgICAgcmV0dXJuIG5vZGUoKSAm
JiBub2RlKCktPnJlbmRlcmVyKCkgPT0gdGhpcyAmJiBub2RlKCktPmhhc1RhZ05hbWUobWFycXVl
ZVRhZyk7CiB9CiAKK3ZvaWQgUmVuZGVyT2JqZWN0OjpzZXRJblJlbmRlckZsb3dUaHJlYWRSZWN1
cnNpdmUoYm9vbCBiKQoreworICAgIHNldEluUmVuZGVyRmxvd1RocmVhZChiKTsKKworICAgIGZv
ciAoUmVuZGVyT2JqZWN0KiBjaGlsZCA9IGZpcnN0Q2hpbGQoKTsgY2hpbGQ7IGNoaWxkID0gY2hp
bGQtPm5leHRTaWJsaW5nKCkpIHsKKyAgICAgICAgQVNTRVJUKGIgIT0gY2hpbGQtPmluUmVuZGVy
Rmxvd1RocmVhZCgpKTsKKyAgICAgICAgY2hpbGQtPnNldEluUmVuZGVyRmxvd1RocmVhZFJlY3Vy
c2l2ZShiKTsKKyAgICB9Cit9CisKIHZvaWQgUmVuZGVyT2JqZWN0OjphZGRDaGlsZChSZW5kZXJP
YmplY3QqIG5ld0NoaWxkLCBSZW5kZXJPYmplY3QqIGJlZm9yZUNoaWxkKQogewogICAgIFJlbmRl
ck9iamVjdENoaWxkTGlzdCogY2hpbGRyZW4gPSB2aXJ0dWFsQ2hpbGRyZW4oKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaCBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaAppbmRleCBhZGMwNzA4Li4zMjQwZGUwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oCkBAIC0yNzAsMTAgKzI3MCwxMCBA
QCBwcm90ZWN0ZWQ6CiAgICAgdm9pZCBzZXRQYXJlbnQoUmVuZGVyT2JqZWN0KiBwYXJlbnQpCiAg
ICAgewogICAgICAgICBtX3BhcmVudCA9IHBhcmVudDsKLSAgICAgICAgaWYgKHBhcmVudCAmJiBw
YXJlbnQtPmluUmVuZGVyRmxvd1RocmVhZCgpKQotICAgICAgICAgICAgc2V0SW5SZW5kZXJGbG93
VGhyZWFkKHRydWUpOworICAgICAgICBpZiAocGFyZW50ICYmIHBhcmVudC0+aW5SZW5kZXJGbG93
VGhyZWFkKCkgJiYgIWluUmVuZGVyRmxvd1RocmVhZCgpKQorICAgICAgICAgICAgc2V0SW5SZW5k
ZXJGbG93VGhyZWFkUmVjdXJzaXZlKHRydWUpOwogICAgICAgICBlbHNlIGlmICghcGFyZW50ICYm
IGluUmVuZGVyRmxvd1RocmVhZCgpKQotICAgICAgICAgICAgc2V0SW5SZW5kZXJGbG93VGhyZWFk
KGZhbHNlKTsKKyAgICAgICAgICAgIHNldEluUmVuZGVyRmxvd1RocmVhZFJlY3Vyc2l2ZShmYWxz
ZSk7CiAgICAgfQogICAgIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
LwogcHJpdmF0ZToKQEAgLTQzNCw2ICs0MzQsOCBAQCBwdWJsaWM6CiAgICAgYm9vbCBpblJlbmRl
ckZsb3dUaHJlYWQoKSBjb25zdCB7IHJldHVybiBtX2JpdGZpZWxkcy5pblJlbmRlckZsb3dUaHJl
YWQoKTsgfQogICAgIHZvaWQgc2V0SW5SZW5kZXJGbG93VGhyZWFkKGJvb2wgYiA9IHRydWUpIHsg
bV9iaXRmaWVsZHMuc2V0SW5SZW5kZXJGbG93VGhyZWFkKGIpOyB9CiAKKyAgICB2b2lkIHNldElu
UmVuZGVyRmxvd1RocmVhZFJlY3Vyc2l2ZShib29sID0gdHJ1ZSk7CisKICAgICB2aXJ0dWFsIGJv
b2wgcmVxdWlyZXNGb3JjZWRTdHlsZVJlY2FsY1Byb3BhZ2F0aW9uKCkgY29uc3QgeyByZXR1cm4g
ZmFsc2U7IH0KIAogI2lmIEVOQUJMRShNQVRITUwpCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>186613</attachid>
            <date>2013-02-05 06:09:01 -0800</date>
            <delta_ts>2013-02-05 06:26:47 -0800</delta_ts>
            <desc>incorporated Julien Chaffraix&apos;s feedback.</desc>
            <filename>patch104517.diff</filename>
            <type>text/plain</type>
            <size>6574</size>
            <attacher name="Mihai Maerean">mmaerean</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA4MjgxMGYzLi5hNjMxMjM3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIwMTMtMDEt
MjkgIE1paGFpIE1hZXJlYW4gIDxtbWFlcmVhbkBhZG9iZS5jb20+CisKKyAgICAgICAgW0NTU1Jl
Z2lvbnNdIEFzc2VydGlvbiBmYWlsdXJlIGluIE5vZGU6OmRldGFjaCAoIXJlbmRlcmVyIHx8IHJl
bmRlcmVyLT5pblJlbmRlckZsb3dUaHJlYWQoKSkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNDUxNworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFRoZSBSZW5kZXJPYmplY3Q6OmluUmVuZGVyRmxvd1RocmVh
ZCBiaXQgY291bGQgaGF2ZSBiZWNvbWUgZGlzY29ubmVjdGVkIGZyb20gdGhlIGZhY3QgdGhhdCB0
aGUgUmVuZGVyT2JqZWN0CisgICAgICAgIGhhcyAob3Igbm90KSBhbiBlbmNsb3NpbmcgUmVuZGVy
Rmxvd1RocmVhZC4KKyAgICAgICAgVGhlIGNhdXNlIG9mIHRoaXMgd2FzIHRoYXQsIHdoZW4gc2V0
dGluZyBvciByZW1vdmluZyB0aGUgcGFyZW50IG9mIGEgUmVuZGVyT2JqZWN0LCB0aGUgaW5SZW5k
ZXJGbG93VGhyZWFkIGZsYWdzCisgICAgICAgIHdhc24ndCBiZWluZyBzZXQvcmVzZXQgZm9yIHRo
ZSBjaGlsZHJlbiB0b28uCisgICAgICAgIFRoaXMgaXMgbm93IGZpeGVkIGJ5IGNhbGxpbmcgdGhl
IG5ldyBzZXRJblJlbmRlckZsb3dUaHJlYWRSZWN1cnNpdmUuCisKKyAgICAgICAgVGhlIEFTU0VS
VCB3YXMgaGl0IGZvciBhbm9ueW1vdXMgYmxvY2tzIHdoZW4gZGV0YWNoaW5nIHRoZSBkb2N1bWVu
dC4KKworICAgICAgICBUaGUgdGVzdCBzdGFydHMgZnJvbSBzdWNoIGFuIGFub255bW91cyBibG9j
ayBhbmQgdGhlIGRldGFjaGVzIHRoZSBib2R5IG9mIGRvY3VtZW50LgorCisgICAgICAgICogZmFz
dC9yZWdpb25zL2RldGFjaGluZy1yZWdpb25zLXdpdGgtYW5vbnltb3VzLWJsb2Nrcy1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvcmVnaW9ucy9kZXRhY2hpbmctcmVnaW9ucy13
aXRoLWFub255bW91cy1ibG9ja3MuaHRtbDogQWRkZWQuCisKIDIwMTMtMDItMDEgIFN1ZGFyc2Fu
YSBOYWdpbmVuaSAgPHN1ZGFyc2FuYS5uYWdpbmVuaUBpbnRlbC5jb20+CiAKICAgICAgICAgVW5y
ZXZpZXdlZCBFRkwgZ2FyZGVuaW5nLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9yZWdp
b25zL2RldGFjaGluZy1yZWdpb25zLXdpdGgtYW5vbnltb3VzLWJsb2Nrcy1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvZGV0YWNoaW5nLXJlZ2lvbnMtd2l0aC1hbm9ueW1v
dXMtYmxvY2tzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
Li41MTc2MjVjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL2Rl
dGFjaGluZy1yZWdpb25zLXdpdGgtYW5vbnltb3VzLWJsb2Nrcy1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSwzIEBACitCdWcgMTA0NTE3OiBbQ1NTUmVnaW9uc10gQXNzZXJ0aW9uIGZhaWx1cmUgaW4g
Tm9kZTo6ZGV0YWNoICghcmVuZGVyZXIgfHwgcmVuZGVyZXItPmluUmVuZGVyRmxvd1RocmVhZCgp
KQorCitUaGlzIHRlc3QgUEFTU0VTIGlmIGl0IGRvZXMgbm90IENSQVNIIG9yIEFTU0VSVC4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy9kZXRhY2hpbmctcmVnaW9ucy13aXRo
LWFub255bW91cy1ibG9ja3MuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy9kZXRhY2hp
bmctcmVnaW9ucy13aXRoLWFub255bW91cy1ibG9ja3MuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwLi45Y2ViZjk0Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9yZWdpb25zL2RldGFjaGluZy1yZWdpb25zLXdpdGgtYW5vbnltb3VzLWJsb2Nrcy5odG1s
CkBAIC0wLDAgKzEsMzEgQEAKKzwhZG9jdHlwZSBodG1sPgorPGh0bWw+CisgICAgPGhlYWQ+CisK
KyAgICAgICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgorICAgICAgICAgICAgaWYo
d2luZG93LnRlc3RSdW5uZXIpCisgICAgICAgICAgICAgICAgd2luZG93LnRlc3RSdW5uZXIuZHVt
cEFzVGV4dCgpOworCisgICAgICAgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIs
ZnVuY3Rpb24oKXsKKyAgICAgICAgICAgICAgICAvLyBUaGlzIHByZXZpb3VzbHkgY2F1c2VkIHRo
ZSBBU1NFUlQgdG8gYmUgaGl0LgorICAgICAgICAgICAgICAgIHZhciBwYXJlbnROb2RlID0gZG9j
dW1lbnQuYm9keS5wYXJlbnROb2RlOworICAgICAgICAgICAgICAgIHBhcmVudE5vZGUucmVtb3Zl
Q2hpbGQoZG9jdW1lbnQuYm9keSk7CisKKyAgICAgICAgICAgICAgICAvLyBEaXNwbGF5IHRoZSBo
dW1hbiByZWFkYWJsZSB0ZXN0IHJlc3VsdC4KKyAgICAgICAgICAgICAgICB2YXIgYm9keSA9IGRv
Y3VtZW50LmNyZWF0ZUVsZW1lbnQoImJvZHkiKTsKKyAgICAgICAgICAgICAgICBwYXJlbnROb2Rl
LmFwcGVuZENoaWxkKGJvZHkpOworICAgICAgICAgICAgICAgIGJvZHkuaW5uZXJIVE1MID0gIjxw
PkJ1ZyA8YSBocmVmPVwiaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEw
NDUxN1wiPjEwNDUxNzwvYT46IFtDU1NSZWdpb25zXSBBc3NlcnRpb24gZmFpbHVyZSBpbiBOb2Rl
OjpkZXRhY2ggKCFyZW5kZXJlciB8fCByZW5kZXJlci0+aW5SZW5kZXJGbG93VGhyZWFkKCkpPC9w
PiA8cD5UaGlzIHRlc3QgUEFTU0VTIGlmIGl0IGRvZXMgbm90IENSQVNIIG9yIEFTU0VSVC48L3A+
IjsKKyAgICAgICAgICAgIH0pOworICAgICAgICA8L3NjcmlwdD4KKworICAgIDwvaGVhZD4KKwor
ICAgIDxib2R5PgorICAgICAgICA8ZGl2IHN0eWxlPSItd2Via2l0LWZsb3ctaW50bzogZmxvdzsi
PgorICAgICAgICAgICAgPHNwYW4+CisgICAgICAgICAgICAgICAgYSA8cD5iPC9wPiBhCisgICAg
ICAgICAgICA8L3NwYW4+CisgICAgICAgIDwvZGl2PgorICAgICAgICA8ZGl2IGlkPSJyZWdpb24i
IHN0eWxlPSItd2Via2l0LWZsb3ctZnJvbTpmbG93OyI+PC9kaXY+CisgICAgPC9ib2R5PgorPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBlYTlmNDFhLi4z
ZjA0Y2U0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNl
L1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjcgQEAKKzIwMTMtMDEtMjkgIE1paGFpIE1h
ZXJlYW4gIDxtbWFlcmVhbkBhZG9iZS5jb20+CisKKyAgICAgICAgW0NTU1JlZ2lvbnNdIEFzc2Vy
dGlvbiBmYWlsdXJlIGluIE5vZGU6OmRldGFjaCAoIXJlbmRlcmVyIHx8IHJlbmRlcmVyLT5pblJl
bmRlckZsb3dUaHJlYWQoKSkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTEwNDUxNworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIFRoZSBSZW5kZXJPYmplY3Q6OmluUmVuZGVyRmxvd1RocmVhZCBiaXQgY291bGQg
aGF2ZSBiZWNvbWUgZGlzY29ubmVjdGVkIGZyb20gdGhlIGZhY3QgdGhhdCB0aGUgUmVuZGVyT2Jq
ZWN0CisgICAgICAgIGhhcyAob3Igbm90KSBhbiBlbmNsb3NpbmcgUmVuZGVyRmxvd1RocmVhZC4K
KyAgICAgICAgVGhlIGNhdXNlIG9mIHRoaXMgd2FzIHRoYXQsIHdoZW4gc2V0dGluZyBvciByZW1v
dmluZyB0aGUgcGFyZW50IG9mIGEgUmVuZGVyT2JqZWN0LCB0aGUgaW5SZW5kZXJGbG93VGhyZWFk
IGZsYWdzCisgICAgICAgIHdhc24ndCBiZWluZyBzZXQvcmVzZXQgZm9yIHRoZSBjaGlsZHJlbiB0
b28uCisgICAgICAgIFRoaXMgaXMgbm93IGZpeGVkIGJ5IGNhbGxpbmcgdGhlIG5ldyBzZXRJblJl
bmRlckZsb3dUaHJlYWRSZWN1cnNpdmUuCisKKyAgICAgICAgVGhlIEFTU0VSVCB3YXMgaGl0IGZv
ciBhbm9ueW1vdXMgYmxvY2tzIHdoZW4gZGV0YWNoaW5nIHRoZSBkb2N1bWVudC4KKworICAgICAg
ICBUZXN0OiBmYXN0L3JlZ2lvbnMvZGV0YWNoaW5nLXJlZ2lvbnMtd2l0aC1hbm9ueW1vdXMtYmxv
Y2tzLmh0bWwKKworICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyT2JqZWN0OjpzZXRJblJlbmRlckZsb3dUaHJlYWRSZWN1cnNpdmUp
OgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck9iamVjdC5o
OgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyT2JqZWN0OjpzZXRQYXJlbnQpOgorICAgICAgICAo
UmVuZGVyT2JqZWN0KToKKwogMjAxMy0wMi0wMSAgUGF2ZWwgRmVsZG1hbiAgPHBmZWxkbWFuQGNo
cm9taXVtLm9yZz4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBGb2xsb3cgdXAgdG8gcjE0MTI2
MDogZml4aW5nIHJlbmFtZWQgc3R5bGUuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyT2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJP
YmplY3QuY3BwCmluZGV4IDBkYTc3OWEuLjIzZjA2ZjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJPYmplY3QuY3BwCkBAIC0yNzgsNiArMjc4LDE2IEBAIGJvb2wgUmVuZGVyT2Jq
ZWN0Ojppc0hUTUxNYXJxdWVlKCkgY29uc3QKICAgICByZXR1cm4gbm9kZSgpICYmIG5vZGUoKS0+
cmVuZGVyZXIoKSA9PSB0aGlzICYmIG5vZGUoKS0+aGFzVGFnTmFtZShtYXJxdWVlVGFnKTsKIH0K
IAordm9pZCBSZW5kZXJPYmplY3Q6OnNldEluUmVuZGVyRmxvd1RocmVhZEluY2x1ZGluZ0Rlc2Nl
bmRhbnRzKGJvb2wgYikKK3sKKyAgICBzZXRJblJlbmRlckZsb3dUaHJlYWQoYik7CisKKyAgICBm
b3IgKFJlbmRlck9iamVjdCogY2hpbGQgPSBmaXJzdENoaWxkKCk7IGNoaWxkOyBjaGlsZCA9IGNo
aWxkLT5uZXh0U2libGluZygpKSB7CisgICAgICAgIEFTU0VSVChiICE9IGNoaWxkLT5pblJlbmRl
ckZsb3dUaHJlYWQoKSk7CisgICAgICAgIGNoaWxkLT5zZXRJblJlbmRlckZsb3dUaHJlYWRJbmNs
dWRpbmdEZXNjZW5kYW50cyhiKTsKKyAgICB9Cit9CisKIHZvaWQgUmVuZGVyT2JqZWN0OjphZGRD
aGlsZChSZW5kZXJPYmplY3QqIG5ld0NoaWxkLCBSZW5kZXJPYmplY3QqIGJlZm9yZUNoaWxkKQog
ewogICAgIFJlbmRlck9iamVjdENoaWxkTGlzdCogY2hpbGRyZW4gPSB2aXJ0dWFsQ2hpbGRyZW4o
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaCBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaAppbmRleCBhYjcyNTgyLi5k
Njg3NGM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oCkBAIC0yNzAs
MTAgKzI3MCwxMCBAQCBwcm90ZWN0ZWQ6CiAgICAgdm9pZCBzZXRQYXJlbnQoUmVuZGVyT2JqZWN0
KiBwYXJlbnQpCiAgICAgewogICAgICAgICBtX3BhcmVudCA9IHBhcmVudDsKLSAgICAgICAgaWYg
KHBhcmVudCAmJiBwYXJlbnQtPmluUmVuZGVyRmxvd1RocmVhZCgpKQotICAgICAgICAgICAgc2V0
SW5SZW5kZXJGbG93VGhyZWFkKHRydWUpOworICAgICAgICBpZiAocGFyZW50ICYmIHBhcmVudC0+
aW5SZW5kZXJGbG93VGhyZWFkKCkgJiYgIWluUmVuZGVyRmxvd1RocmVhZCgpKQorICAgICAgICAg
ICAgc2V0SW5SZW5kZXJGbG93VGhyZWFkSW5jbHVkaW5nRGVzY2VuZGFudHModHJ1ZSk7CiAgICAg
ICAgIGVsc2UgaWYgKCFwYXJlbnQgJiYgaW5SZW5kZXJGbG93VGhyZWFkKCkpCi0gICAgICAgICAg
ICBzZXRJblJlbmRlckZsb3dUaHJlYWQoZmFsc2UpOworICAgICAgICAgICAgc2V0SW5SZW5kZXJG
bG93VGhyZWFkSW5jbHVkaW5nRGVzY2VuZGFudHMoZmFsc2UpOwogICAgIH0KICAgICAvLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8KIHByaXZhdGU6CkBAIC00MzQsNiAr
NDM0LDggQEAgcHVibGljOgogICAgIGJvb2wgaW5SZW5kZXJGbG93VGhyZWFkKCkgY29uc3QgeyBy
ZXR1cm4gbV9iaXRmaWVsZHMuaW5SZW5kZXJGbG93VGhyZWFkKCk7IH0KICAgICB2b2lkIHNldElu
UmVuZGVyRmxvd1RocmVhZChib29sIGIgPSB0cnVlKSB7IG1fYml0ZmllbGRzLnNldEluUmVuZGVy
Rmxvd1RocmVhZChiKTsgfQogCisgICAgdm9pZCBzZXRJblJlbmRlckZsb3dUaHJlYWRJbmNsdWRp
bmdEZXNjZW5kYW50cyhib29sID0gdHJ1ZSk7CisKICAgICB2aXJ0dWFsIGJvb2wgcmVxdWlyZXNG
b3JjZWRTdHlsZVJlY2FsY1Byb3BhZ2F0aW9uKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KIAog
I2lmIEVOQUJMRShNQVRITUwpCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>186616</attachid>
            <date>2013-02-05 06:26:47 -0800</date>
            <delta_ts>2013-02-05 09:58:26 -0800</delta_ts>
            <desc>incorporated Julien Chaffraix&apos;s feedback (with updated ChangeLogs)</desc>
            <filename>patch104517.diff</filename>
            <type>text/plain</type>
            <size>6596</size>
            <attacher name="Mihai Maerean">mmaerean</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA4MjgxMGYzLi5hNjQwYjU0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMgQEAKKzIwMTMtMDEt
MjkgIE1paGFpIE1hZXJlYW4gIDxtbWFlcmVhbkBhZG9iZS5jb20+CisKKyAgICAgICAgW0NTU1Jl
Z2lvbnNdIEFzc2VydGlvbiBmYWlsdXJlIGluIE5vZGU6OmRldGFjaCAoIXJlbmRlcmVyIHx8IHJl
bmRlcmVyLT5pblJlbmRlckZsb3dUaHJlYWQoKSkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNDUxNworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIFRoZSBSZW5kZXJPYmplY3Q6OmluUmVuZGVyRmxvd1RocmVh
ZCBiaXQgY291bGQgaGF2ZSBiZWNvbWUgZGlzY29ubmVjdGVkIGZyb20gdGhlIGZhY3QgdGhhdCB0
aGUgUmVuZGVyT2JqZWN0CisgICAgICAgIGhhcyAob3Igbm90KSBhbiBlbmNsb3NpbmcgUmVuZGVy
Rmxvd1RocmVhZC4KKyAgICAgICAgVGhlIGNhdXNlIG9mIHRoaXMgd2FzIHRoYXQsIHdoZW4gc2V0
dGluZyBvciByZW1vdmluZyB0aGUgcGFyZW50IG9mIGEgUmVuZGVyT2JqZWN0LCB0aGUgaW5SZW5k
ZXJGbG93VGhyZWFkIGZsYWdzCisgICAgICAgIHdhc24ndCBiZWluZyBzZXQvcmVzZXQgZm9yIHRo
ZSBjaGlsZHJlbiB0b28uCisgICAgICAgIFRoaXMgaXMgbm93IGZpeGVkIGJ5IGNhbGxpbmcgdGhl
IG5ldyBzZXRJblJlbmRlckZsb3dUaHJlYWRJbmNsdWRpbmdEZXNjZW5kYW50cy4KKworICAgICAg
ICBUaGUgQVNTRVJUIHdhcyBoaXQgZm9yIGFub255bW91cyBibG9ja3Mgd2hlbiBkZXRhY2hpbmcg
dGhlIGRvY3VtZW50LgorCisgICAgICAgIFRoZSB0ZXN0IHN0YXJ0cyBmcm9tIHN1Y2ggYW4gYW5v
bnltb3VzIGJsb2NrIGFuZCB0aGUgZGV0YWNoZXMgdGhlIGJvZHkgb2YgZG9jdW1lbnQuCisKKyAg
ICAgICAgKiBmYXN0L3JlZ2lvbnMvZGV0YWNoaW5nLXJlZ2lvbnMtd2l0aC1hbm9ueW1vdXMtYmxv
Y2tzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9yZWdpb25zL2RldGFjaGlu
Zy1yZWdpb25zLXdpdGgtYW5vbnltb3VzLWJsb2Nrcy5odG1sOiBBZGRlZC4KKwogMjAxMy0wMi0w
MSAgU3VkYXJzYW5hIE5hZ2luZW5pICA8c3VkYXJzYW5hLm5hZ2luZW5pQGludGVsLmNvbT4KIAog
ICAgICAgICBVbnJldmlld2VkIEVGTCBnYXJkZW5pbmcuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L3JlZ2lvbnMvZGV0YWNoaW5nLXJlZ2lvbnMtd2l0aC1hbm9ueW1vdXMtYmxvY2tzLWV4
cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy9kZXRhY2hpbmctcmVnaW9ucy13
aXRoLWFub255bW91cy1ibG9ja3MtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAuLjUxNzYyNWMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0
L3JlZ2lvbnMvZGV0YWNoaW5nLXJlZ2lvbnMtd2l0aC1hbm9ueW1vdXMtYmxvY2tzLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDMgQEAKK0J1ZyAxMDQ1MTc6IFtDU1NSZWdpb25zXSBBc3NlcnRpb24g
ZmFpbHVyZSBpbiBOb2RlOjpkZXRhY2ggKCFyZW5kZXJlciB8fCByZW5kZXJlci0+aW5SZW5kZXJG
bG93VGhyZWFkKCkpCisKK1RoaXMgdGVzdCBQQVNTRVMgaWYgaXQgZG9lcyBub3QgQ1JBU0ggb3Ig
QVNTRVJULgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9yZWdpb25zL2RldGFjaGluZy1y
ZWdpb25zLXdpdGgtYW5vbnltb3VzLWJsb2Nrcy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9yZWdp
b25zL2RldGFjaGluZy1yZWdpb25zLXdpdGgtYW5vbnltb3VzLWJsb2Nrcy5odG1sCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjljZWJmOTQKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvZGV0YWNoaW5nLXJlZ2lvbnMtd2l0aC1hbm9ueW1vdXMt
YmxvY2tzLmh0bWwKQEAgLTAsMCArMSwzMSBAQAorPCFkb2N0eXBlIGh0bWw+Cis8aHRtbD4KKyAg
ICA8aGVhZD4KKworICAgICAgICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CisgICAg
ICAgICAgICBpZih3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgICAgICAgICAgICB3aW5kb3cudGVz
dFJ1bm5lci5kdW1wQXNUZXh0KCk7CisKKyAgICAgICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3Rl
bmVyKCJsb2FkIixmdW5jdGlvbigpeworICAgICAgICAgICAgICAgIC8vIFRoaXMgcHJldmlvdXNs
eSBjYXVzZWQgdGhlIEFTU0VSVCB0byBiZSBoaXQuCisgICAgICAgICAgICAgICAgdmFyIHBhcmVu
dE5vZGUgPSBkb2N1bWVudC5ib2R5LnBhcmVudE5vZGU7CisgICAgICAgICAgICAgICAgcGFyZW50
Tm9kZS5yZW1vdmVDaGlsZChkb2N1bWVudC5ib2R5KTsKKworICAgICAgICAgICAgICAgIC8vIERp
c3BsYXkgdGhlIGh1bWFuIHJlYWRhYmxlIHRlc3QgcmVzdWx0LgorICAgICAgICAgICAgICAgIHZh
ciBib2R5ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiYm9keSIpOworICAgICAgICAgICAgICAg
IHBhcmVudE5vZGUuYXBwZW5kQ2hpbGQoYm9keSk7CisgICAgICAgICAgICAgICAgYm9keS5pbm5l
ckhUTUwgPSAiPHA+QnVnIDxhIGhyZWY9XCJodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTA0NTE3XCI+MTA0NTE3PC9hPjogW0NTU1JlZ2lvbnNdIEFzc2VydGlvbiBmYWls
dXJlIGluIE5vZGU6OmRldGFjaCAoIXJlbmRlcmVyIHx8IHJlbmRlcmVyLT5pblJlbmRlckZsb3dU
aHJlYWQoKSk8L3A+IDxwPlRoaXMgdGVzdCBQQVNTRVMgaWYgaXQgZG9lcyBub3QgQ1JBU0ggb3Ig
QVNTRVJULjwvcD4iOworICAgICAgICAgICAgfSk7CisgICAgICAgIDwvc2NyaXB0PgorCisgICAg
PC9oZWFkPgorCisgICAgPGJvZHk+CisgICAgICAgIDxkaXYgc3R5bGU9Ii13ZWJraXQtZmxvdy1p
bnRvOiBmbG93OyI+CisgICAgICAgICAgICA8c3Bhbj4KKyAgICAgICAgICAgICAgICBhIDxwPmI8
L3A+IGEKKyAgICAgICAgICAgIDwvc3Bhbj4KKyAgICAgICAgPC9kaXY+CisgICAgICAgIDxkaXYg
aWQ9InJlZ2lvbiIgc3R5bGU9Ii13ZWJraXQtZmxvdy1mcm9tOmZsb3c7Ij48L2Rpdj4KKyAgICA8
L2JvZHk+Cis8L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4
IGVhOWY0MWEuLjNiYzNjYTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwor
KysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNyBAQAorMjAxMy0wMS0y
OSAgTWloYWkgTWFlcmVhbiAgPG1tYWVyZWFuQGFkb2JlLmNvbT4KKworICAgICAgICBbQ1NTUmVn
aW9uc10gQXNzZXJ0aW9uIGZhaWx1cmUgaW4gTm9kZTo6ZGV0YWNoICghcmVuZGVyZXIgfHwgcmVu
ZGVyZXItPmluUmVuZGVyRmxvd1RocmVhZCgpKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA0NTE3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgVGhlIFJlbmRlck9iamVjdDo6aW5SZW5kZXJGbG93VGhyZWFk
IGJpdCBjb3VsZCBoYXZlIGJlY29tZSBkaXNjb25uZWN0ZWQgZnJvbSB0aGUgZmFjdCB0aGF0IHRo
ZSBSZW5kZXJPYmplY3QKKyAgICAgICAgaGFzIChvciBub3QpIGFuIGVuY2xvc2luZyBSZW5kZXJG
bG93VGhyZWFkLgorICAgICAgICBUaGUgY2F1c2Ugb2YgdGhpcyB3YXMgdGhhdCwgd2hlbiBzZXR0
aW5nIG9yIHJlbW92aW5nIHRoZSBwYXJlbnQgb2YgYSBSZW5kZXJPYmplY3QsIHRoZSBpblJlbmRl
ckZsb3dUaHJlYWQgZmxhZ3MKKyAgICAgICAgd2Fzbid0IGJlaW5nIHNldC9yZXNldCBmb3IgdGhl
IGNoaWxkcmVuIHRvby4KKyAgICAgICAgVGhpcyBpcyBub3cgZml4ZWQgYnkgY2FsbGluZyB0aGUg
bmV3IHNldEluUmVuZGVyRmxvd1RocmVhZEluY2x1ZGluZ0Rlc2NlbmRhbnRzLgorCisgICAgICAg
IFRoZSBBU1NFUlQgd2FzIGhpdCBmb3IgYW5vbnltb3VzIGJsb2NrcyB3aGVuIGRldGFjaGluZyB0
aGUgZG9jdW1lbnQuCisKKyAgICAgICAgVGVzdDogZmFzdC9yZWdpb25zL2RldGFjaGluZy1yZWdp
b25zLXdpdGgtYW5vbnltb3VzLWJsb2Nrcy5odG1sCisKKyAgICAgICAgKiByZW5kZXJpbmcvUmVu
ZGVyT2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck9iamVjdDo6c2V0SW5SZW5k
ZXJGbG93VGhyZWFkUmVjdXJzaXZlKToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAqIHJl
bmRlcmluZy9SZW5kZXJPYmplY3QuaDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck9iamVjdDo6
c2V0UGFyZW50KToKKyAgICAgICAgKFJlbmRlck9iamVjdCk6CisKIDIwMTMtMDItMDEgIFBhdmVs
IEZlbGRtYW4gIDxwZmVsZG1hbkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgV2ViIEluc3BlY3Rv
cjogRm9sbG93IHVwIHRvIHIxNDEyNjA6IGZpeGluZyByZW5hbWVkIHN0eWxlLgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcAppbmRleCAwZGE3NzlhLi4yM2YwNmY1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcApAQCAtMjc4LDYgKzI3
OCwxNiBAQCBib29sIFJlbmRlck9iamVjdDo6aXNIVE1MTWFycXVlZSgpIGNvbnN0CiAgICAgcmV0
dXJuIG5vZGUoKSAmJiBub2RlKCktPnJlbmRlcmVyKCkgPT0gdGhpcyAmJiBub2RlKCktPmhhc1Rh
Z05hbWUobWFycXVlZVRhZyk7CiB9CiAKK3ZvaWQgUmVuZGVyT2JqZWN0OjpzZXRJblJlbmRlckZs
b3dUaHJlYWRJbmNsdWRpbmdEZXNjZW5kYW50cyhib29sIGIpCit7CisgICAgc2V0SW5SZW5kZXJG
bG93VGhyZWFkKGIpOworCisgICAgZm9yIChSZW5kZXJPYmplY3QqIGNoaWxkID0gZmlyc3RDaGls
ZCgpOyBjaGlsZDsgY2hpbGQgPSBjaGlsZC0+bmV4dFNpYmxpbmcoKSkgeworICAgICAgICBBU1NF
UlQoYiAhPSBjaGlsZC0+aW5SZW5kZXJGbG93VGhyZWFkKCkpOworICAgICAgICBjaGlsZC0+c2V0
SW5SZW5kZXJGbG93VGhyZWFkSW5jbHVkaW5nRGVzY2VuZGFudHMoYik7CisgICAgfQorfQorCiB2
b2lkIFJlbmRlck9iamVjdDo6YWRkQ2hpbGQoUmVuZGVyT2JqZWN0KiBuZXdDaGlsZCwgUmVuZGVy
T2JqZWN0KiBiZWZvcmVDaGlsZCkKIHsKICAgICBSZW5kZXJPYmplY3RDaGlsZExpc3QqIGNoaWxk
cmVuID0gdmlydHVhbENoaWxkcmVuKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyT2JqZWN0LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2Jq
ZWN0LmgKaW5kZXggYWI3MjU4Mi4uZDY4NzRjNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlck9iamVjdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJPYmplY3QuaApAQCAtMjcwLDEwICsyNzAsMTAgQEAgcHJvdGVjdGVkOgogICAgIHZvaWQg
c2V0UGFyZW50KFJlbmRlck9iamVjdCogcGFyZW50KQogICAgIHsKICAgICAgICAgbV9wYXJlbnQg
PSBwYXJlbnQ7Ci0gICAgICAgIGlmIChwYXJlbnQgJiYgcGFyZW50LT5pblJlbmRlckZsb3dUaHJl
YWQoKSkKLSAgICAgICAgICAgIHNldEluUmVuZGVyRmxvd1RocmVhZCh0cnVlKTsKKyAgICAgICAg
aWYgKHBhcmVudCAmJiBwYXJlbnQtPmluUmVuZGVyRmxvd1RocmVhZCgpICYmICFpblJlbmRlckZs
b3dUaHJlYWQoKSkKKyAgICAgICAgICAgIHNldEluUmVuZGVyRmxvd1RocmVhZEluY2x1ZGluZ0Rl
c2NlbmRhbnRzKHRydWUpOwogICAgICAgICBlbHNlIGlmICghcGFyZW50ICYmIGluUmVuZGVyRmxv
d1RocmVhZCgpKQotICAgICAgICAgICAgc2V0SW5SZW5kZXJGbG93VGhyZWFkKGZhbHNlKTsKKyAg
ICAgICAgICAgIHNldEluUmVuZGVyRmxvd1RocmVhZEluY2x1ZGluZ0Rlc2NlbmRhbnRzKGZhbHNl
KTsKICAgICB9CiAgICAgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8v
CiBwcml2YXRlOgpAQCAtNDM0LDYgKzQzNCw4IEBAIHB1YmxpYzoKICAgICBib29sIGluUmVuZGVy
Rmxvd1RocmVhZCgpIGNvbnN0IHsgcmV0dXJuIG1fYml0ZmllbGRzLmluUmVuZGVyRmxvd1RocmVh
ZCgpOyB9CiAgICAgdm9pZCBzZXRJblJlbmRlckZsb3dUaHJlYWQoYm9vbCBiID0gdHJ1ZSkgeyBt
X2JpdGZpZWxkcy5zZXRJblJlbmRlckZsb3dUaHJlYWQoYik7IH0KIAorICAgIHZvaWQgc2V0SW5S
ZW5kZXJGbG93VGhyZWFkSW5jbHVkaW5nRGVzY2VuZGFudHMoYm9vbCA9IHRydWUpOworCiAgICAg
dmlydHVhbCBib29sIHJlcXVpcmVzRm9yY2VkU3R5bGVSZWNhbGNQcm9wYWdhdGlvbigpIGNvbnN0
IHsgcmV0dXJuIGZhbHNlOyB9CiAKICNpZiBFTkFCTEUoTUFUSE1MKQo=
</data>
<flag name="review"
          id="206137"
          type_id="1"
          status="+"
          setter="jchaffraix"
    />
    <flag name="commit-queue"
          id="206158"
          type_id="3"
          status="-"
          setter="buildbot"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>186792</attachid>
            <date>2013-02-06 01:51:30 -0800</date>
            <delta_ts>2013-02-06 03:33:51 -0800</delta_ts>
            <desc>Patch for landing. Includes the change Julien requested for LayoutTests/ChangeLog.</desc>
            <filename>patch104517.diff</filename>
            <type>text/plain</type>
            <size>6111</size>
            <attacher name="Mihai Maerean">mmaerean</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA4MjgxMGYzLi4zMTJlMDc3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTMtMDEt
MjkgIE1paGFpIE1hZXJlYW4gIDxtbWFlcmVhbkBhZG9iZS5jb20+CisKKyAgICAgICAgW0NTU1Jl
Z2lvbnNdIEFzc2VydGlvbiBmYWlsdXJlIGluIE5vZGU6OmRldGFjaCAoIXJlbmRlcmVyIHx8IHJl
bmRlcmVyLT5pblJlbmRlckZsb3dUaHJlYWQoKSkKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNDUxNworCisgICAgICAgIFJldmlld2VkIGJ5IEp1bGll
biBDaGFmZnJhaXguCisKKyAgICAgICAgVGhlIHRlc3QgYWRkcyBhbiBhbm9ueW1vdXMgYmxvY2sg
aW4gYSByZWdpb24gYW5kIGRldGFjaGVzIHRoZSBib2R5IG9mIGRvY3VtZW50LiBUaGUgQVNTRVJU
IGlzIG5vdCBoaXQgYW55bW9yZS4KKworICAgICAgICAqIGZhc3QvcmVnaW9ucy9kZXRhY2hpbmct
cmVnaW9ucy13aXRoLWFub255bW91cy1ibG9ja3MtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBmYXN0L3JlZ2lvbnMvZGV0YWNoaW5nLXJlZ2lvbnMtd2l0aC1hbm9ueW1vdXMtYmxvY2tz
Lmh0bWw6IEFkZGVkLgorCiAyMDEzLTAyLTAxICBTdWRhcnNhbmEgTmFnaW5lbmkgIDxzdWRhcnNh
bmEubmFnaW5lbmlAaW50ZWwuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQgRUZMIGdhcmRlbmlu
Zy4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy9kZXRhY2hpbmctcmVnaW9u
cy13aXRoLWFub255bW91cy1ibG9ja3MtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9y
ZWdpb25zL2RldGFjaGluZy1yZWdpb25zLXdpdGgtYW5vbnltb3VzLWJsb2Nrcy1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTE3NjI1YwotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy9kZXRhY2hpbmctcmVnaW9ucy13aXRo
LWFub255bW91cy1ibG9ja3MtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorQnVnIDEwNDUx
NzogW0NTU1JlZ2lvbnNdIEFzc2VydGlvbiBmYWlsdXJlIGluIE5vZGU6OmRldGFjaCAoIXJlbmRl
cmVyIHx8IHJlbmRlcmVyLT5pblJlbmRlckZsb3dUaHJlYWQoKSkKKworVGhpcyB0ZXN0IFBBU1NF
UyBpZiBpdCBkb2VzIG5vdCBDUkFTSCBvciBBU1NFUlQuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L3JlZ2lvbnMvZGV0YWNoaW5nLXJlZ2lvbnMtd2l0aC1hbm9ueW1vdXMtYmxvY2tzLmh0
bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3JlZ2lvbnMvZGV0YWNoaW5nLXJlZ2lvbnMtd2l0aC1hbm9u
eW1vdXMtYmxvY2tzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWNl
YmY5NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvcmVnaW9ucy9kZXRhY2hp
bmctcmVnaW9ucy13aXRoLWFub255bW91cy1ibG9ja3MuaHRtbApAQCAtMCwwICsxLDMxIEBACis8
IWRvY3R5cGUgaHRtbD4KKzxodG1sPgorICAgIDxoZWFkPgorCisgICAgICAgIDxzY3JpcHQgdHlw
ZT0idGV4dC9qYXZhc2NyaXB0Ij4KKyAgICAgICAgICAgIGlmKHdpbmRvdy50ZXN0UnVubmVyKQor
ICAgICAgICAgICAgICAgIHdpbmRvdy50ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKKworICAgICAg
ICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLGZ1bmN0aW9uKCl7CisgICAgICAg
ICAgICAgICAgLy8gVGhpcyBwcmV2aW91c2x5IGNhdXNlZCB0aGUgQVNTRVJUIHRvIGJlIGhpdC4K
KyAgICAgICAgICAgICAgICB2YXIgcGFyZW50Tm9kZSA9IGRvY3VtZW50LmJvZHkucGFyZW50Tm9k
ZTsKKyAgICAgICAgICAgICAgICBwYXJlbnROb2RlLnJlbW92ZUNoaWxkKGRvY3VtZW50LmJvZHkp
OworCisgICAgICAgICAgICAgICAgLy8gRGlzcGxheSB0aGUgaHVtYW4gcmVhZGFibGUgdGVzdCBy
ZXN1bHQuCisgICAgICAgICAgICAgICAgdmFyIGJvZHkgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJib2R5Iik7CisgICAgICAgICAgICAgICAgcGFyZW50Tm9kZS5hcHBlbmRDaGlsZChib2R5KTsK
KyAgICAgICAgICAgICAgICBib2R5LmlubmVySFRNTCA9ICI8cD5CdWcgPGEgaHJlZj1cImh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDQ1MTdcIj4xMDQ1MTc8L2E+OiBb
Q1NTUmVnaW9uc10gQXNzZXJ0aW9uIGZhaWx1cmUgaW4gTm9kZTo6ZGV0YWNoICghcmVuZGVyZXIg
fHwgcmVuZGVyZXItPmluUmVuZGVyRmxvd1RocmVhZCgpKTwvcD4gPHA+VGhpcyB0ZXN0IFBBU1NF
UyBpZiBpdCBkb2VzIG5vdCBDUkFTSCBvciBBU1NFUlQuPC9wPiI7CisgICAgICAgICAgICB9KTsK
KyAgICAgICAgPC9zY3JpcHQ+CisKKyAgICA8L2hlYWQ+CisKKyAgICA8Ym9keT4KKyAgICAgICAg
PGRpdiBzdHlsZT0iLXdlYmtpdC1mbG93LWludG86IGZsb3c7Ij4KKyAgICAgICAgICAgIDxzcGFu
PgorICAgICAgICAgICAgICAgIGEgPHA+YjwvcD4gYQorICAgICAgICAgICAgPC9zcGFuPgorICAg
ICAgICA8L2Rpdj4KKyAgICAgICAgPGRpdiBpZD0icmVnaW9uIiBzdHlsZT0iLXdlYmtpdC1mbG93
LWZyb206ZmxvdzsiPjwvZGl2PgorICAgIDwvYm9keT4KKzwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZWE5ZjQxYS4uNGRiZDU2YyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDI3IEBACisyMDEzLTAxLTI5ICBNaWhhaSBNYWVyZWFuICA8bW1hZXJlYW5AYWRv
YmUuY29tPgorCisgICAgICAgIFtDU1NSZWdpb25zXSBBc3NlcnRpb24gZmFpbHVyZSBpbiBOb2Rl
OjpkZXRhY2ggKCFyZW5kZXJlciB8fCByZW5kZXJlci0+aW5SZW5kZXJGbG93VGhyZWFkKCkpCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDQ1MTcKKwor
ICAgICAgICBSZXZpZXdlZCBieSBKdWxpZW4gQ2hhZmZyYWl4LgorCisgICAgICAgIFRoZSBSZW5k
ZXJPYmplY3Q6OmluUmVuZGVyRmxvd1RocmVhZCBiaXQgY291bGQgaGF2ZSBiZWNvbWUgZGlzY29u
bmVjdGVkIGZyb20gdGhlIGZhY3QgdGhhdCB0aGUgUmVuZGVyT2JqZWN0CisgICAgICAgIGhhcyAo
b3Igbm90KSBhbiBlbmNsb3NpbmcgUmVuZGVyRmxvd1RocmVhZC4KKyAgICAgICAgVGhlIGNhdXNl
IG9mIHRoaXMgd2FzIHRoYXQsIHdoZW4gc2V0dGluZyBvciByZW1vdmluZyB0aGUgcGFyZW50IG9m
IGEgUmVuZGVyT2JqZWN0LCB0aGUgaW5SZW5kZXJGbG93VGhyZWFkIGZsYWdzCisgICAgICAgIHdh
c24ndCBiZWluZyBzZXQvcmVzZXQgZm9yIHRoZSBjaGlsZHJlbiB0b28uCisgICAgICAgIFRoaXMg
aXMgbm93IGZpeGVkIGJ5IGNhbGxpbmcgdGhlIG5ldyBzZXRJblJlbmRlckZsb3dUaHJlYWRJbmNs
dWRpbmdEZXNjZW5kYW50cy4KKworICAgICAgICBUaGUgQVNTRVJUIHdhcyBoaXQgZm9yIGFub255
bW91cyBibG9ja3Mgd2hlbiBkZXRhY2hpbmcgdGhlIGRvY3VtZW50LgorCisgICAgICAgIFRlc3Q6
IGZhc3QvcmVnaW9ucy9kZXRhY2hpbmctcmVnaW9ucy13aXRoLWFub255bW91cy1ibG9ja3MuaHRt
bAorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJPYmplY3Q6OnNldEluUmVuZGVyRmxvd1RocmVhZFJlY3Vyc2l2ZSk6CisgICAg
ICAgIChXZWJDb3JlKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyT2JqZWN0Lmg6CisgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJPYmplY3Q6OnNldFBhcmVudCk6CisgICAgICAgIChSZW5kZXJP
YmplY3QpOgorCiAyMDEzLTAyLTAxICBQYXZlbCBGZWxkbWFuICA8cGZlbGRtYW5AY2hyb21pdW0u
b3JnPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IEZvbGxvdyB1cCB0byByMTQxMjYwOiBmaXhp
bmcgcmVuYW1lZCBzdHlsZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5j
cHAKaW5kZXggMGRhNzc5YS4uMjNmMDZmNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlck9iamVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlck9iamVjdC5jcHAKQEAgLTI3OCw2ICsyNzgsMTYgQEAgYm9vbCBSZW5kZXJPYmplY3Q6Omlz
SFRNTE1hcnF1ZWUoKSBjb25zdAogICAgIHJldHVybiBub2RlKCkgJiYgbm9kZSgpLT5yZW5kZXJl
cigpID09IHRoaXMgJiYgbm9kZSgpLT5oYXNUYWdOYW1lKG1hcnF1ZWVUYWcpOwogfQogCit2b2lk
IFJlbmRlck9iamVjdDo6c2V0SW5SZW5kZXJGbG93VGhyZWFkSW5jbHVkaW5nRGVzY2VuZGFudHMo
Ym9vbCBiKQoreworICAgIHNldEluUmVuZGVyRmxvd1RocmVhZChiKTsKKworICAgIGZvciAoUmVu
ZGVyT2JqZWN0KiBjaGlsZCA9IGZpcnN0Q2hpbGQoKTsgY2hpbGQ7IGNoaWxkID0gY2hpbGQtPm5l
eHRTaWJsaW5nKCkpIHsKKyAgICAgICAgQVNTRVJUKGIgIT0gY2hpbGQtPmluUmVuZGVyRmxvd1Ro
cmVhZCgpKTsKKyAgICAgICAgY2hpbGQtPnNldEluUmVuZGVyRmxvd1RocmVhZEluY2x1ZGluZ0Rl
c2NlbmRhbnRzKGIpOworICAgIH0KK30KKwogdm9pZCBSZW5kZXJPYmplY3Q6OmFkZENoaWxkKFJl
bmRlck9iamVjdCogbmV3Q2hpbGQsIFJlbmRlck9iamVjdCogYmVmb3JlQ2hpbGQpCiB7CiAgICAg
UmVuZGVyT2JqZWN0Q2hpbGRMaXN0KiBjaGlsZHJlbiA9IHZpcnR1YWxDaGlsZHJlbigpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5oCmluZGV4IGFiNzI1ODIuLmQ2ODc0YzUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmgKQEAgLTI3MCwxMCArMjcw
LDEwIEBAIHByb3RlY3RlZDoKICAgICB2b2lkIHNldFBhcmVudChSZW5kZXJPYmplY3QqIHBhcmVu
dCkKICAgICB7CiAgICAgICAgIG1fcGFyZW50ID0gcGFyZW50OwotICAgICAgICBpZiAocGFyZW50
ICYmIHBhcmVudC0+aW5SZW5kZXJGbG93VGhyZWFkKCkpCi0gICAgICAgICAgICBzZXRJblJlbmRl
ckZsb3dUaHJlYWQodHJ1ZSk7CisgICAgICAgIGlmIChwYXJlbnQgJiYgcGFyZW50LT5pblJlbmRl
ckZsb3dUaHJlYWQoKSAmJiAhaW5SZW5kZXJGbG93VGhyZWFkKCkpCisgICAgICAgICAgICBzZXRJ
blJlbmRlckZsb3dUaHJlYWRJbmNsdWRpbmdEZXNjZW5kYW50cyh0cnVlKTsKICAgICAgICAgZWxz
ZSBpZiAoIXBhcmVudCAmJiBpblJlbmRlckZsb3dUaHJlYWQoKSkKLSAgICAgICAgICAgIHNldElu
UmVuZGVyRmxvd1RocmVhZChmYWxzZSk7CisgICAgICAgICAgICBzZXRJblJlbmRlckZsb3dUaHJl
YWRJbmNsdWRpbmdEZXNjZW5kYW50cyhmYWxzZSk7CiAgICAgfQogICAgIC8vLy8vLy8vLy8vLy8v
Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwogcHJpdmF0ZToKQEAgLTQzNCw2ICs0MzQsOCBA
QCBwdWJsaWM6CiAgICAgYm9vbCBpblJlbmRlckZsb3dUaHJlYWQoKSBjb25zdCB7IHJldHVybiBt
X2JpdGZpZWxkcy5pblJlbmRlckZsb3dUaHJlYWQoKTsgfQogICAgIHZvaWQgc2V0SW5SZW5kZXJG
bG93VGhyZWFkKGJvb2wgYiA9IHRydWUpIHsgbV9iaXRmaWVsZHMuc2V0SW5SZW5kZXJGbG93VGhy
ZWFkKGIpOyB9CiAKKyAgICB2b2lkIHNldEluUmVuZGVyRmxvd1RocmVhZEluY2x1ZGluZ0Rlc2Nl
bmRhbnRzKGJvb2wgPSB0cnVlKTsKKwogICAgIHZpcnR1YWwgYm9vbCByZXF1aXJlc0ZvcmNlZFN0
eWxlUmVjYWxjUHJvcGFnYXRpb24oKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogCiAjaWYgRU5B
QkxFKE1BVEhNTCkK
</data>

          </attachment>
      

    </bug>

</bugzilla>