<?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>106271</bug_id>
          
          <creation_ts>2013-01-07 15:52:30 -0800</creation_ts>
          <short_desc>Sometimes RenderLayer::updateNeedsCompositedScrolling not called</short_desc>
          <delta_ts>2013-01-15 11:30:31 -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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Xianzhu Wang">wangxianzhu</reporter>
          <assigned_to name="Xianzhu Wang">wangxianzhu</assigned_to>
          <cc>aelias</cc>
    
    <cc>eric</cc>
    
    <cc>jamesr</cc>
    
    <cc>klobag</cc>
    
    <cc>ojan.autocc</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>skyostil</cc>
    
    <cc>tonikitoo</cc>
    
    <cc>vollick</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>801756</commentid>
    <comment_count>0</comment_count>
    <who name="Xianzhu Wang">wangxianzhu</who>
    <bug_when>2013-01-07 15:52:30 -0800</bug_when>
    <thetext>Suppose a RenderLayer meets the requirement of composited scrolling, updateNeedsCompositedScrolling() is supposed to be called when m_hasOutOfFlowPositionedDescendant changes. However, because the initial value of m_hasOutOfFlowPositionedDescendant is false, it won&apos;t change for the RenderLayer never has out-of-flow-positioned descendant; if there is no other events triggering updateNeedsCompositedScrolling(), m_needsCompositedScrolling will always be false, causing slow scrolling of the layer.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>801889</commentid>
    <comment_count>1</comment_count>
      <attachid>181612</attachid>
    <who name="Xianzhu Wang">wangxianzhu</who>
    <bug_when>2013-01-07 17:45:03 -0800</bug_when>
    <thetext>Created attachment 181612
Wrong version, please ignore.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>801896</commentid>
    <comment_count>2</comment_count>
      <attachid>181614</attachid>
    <who name="Xianzhu Wang">wangxianzhu</who>
    <bug_when>2013-01-07 17:53:10 -0800</bug_when>
    <thetext>Created attachment 181614
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>801899</commentid>
    <comment_count>3</comment_count>
      <attachid>181614</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2013-01-07 17:58:30 -0800</bug_when>
    <thetext>Comment on attachment 181614
Patch

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

&gt; LayoutTests/ChangeLog:8
&gt; +        Actually the test didn&apos;t reproduce the issue. However the test can ensure the composited scrolling status is correct and not causing slow scrolling.

Do you know why this is?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>801939</commentid>
    <comment_count>4</comment_count>
    <who name="Xianzhu Wang">wangxianzhu</who>
    <bug_when>2013-01-07 19:37:27 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 181614 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=181614&amp;action=review
&gt; 
&gt; &gt; LayoutTests/ChangeLog:8
&gt; &gt; +        Actually the test didn&apos;t reproduce the issue. However the test can ensure the composited scrolling status is correct and not causing slow scrolling.
&gt; 
&gt; Do you know why this is?

Not yet. I could not reproduce it with a manual test. Just did a debug with the test case and found that updateNeedsCompositedScrolling() is always called from styleChanged() during page loading. The issue happens with gmail.com. Will try if dynamically created elements cause it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>802525</commentid>
    <comment_count>5</comment_count>
    <who name="Xianzhu Wang">wangxianzhu</who>
    <bug_when>2013-01-08 12:45:53 -0800</bug_when>
    <thetext>Found another case: if a container becomes scrollable dynamically, sometimes the composited scrolling status is not updated.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>802576</commentid>
    <comment_count>6</comment_count>
      <attachid>181746</attachid>
    <who name="Xianzhu Wang">wangxianzhu</who>
    <bug_when>2013-01-08 13:30:16 -0800</bug_when>
    <thetext>Created attachment 181746
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>802629</commentid>
    <comment_count>7</comment_count>
      <attachid>181746</attachid>
    <who name="James Robinson">jamesr</who>
    <bug_when>2013-01-08 14:21:49 -0800</bug_when>
    <thetext>Comment on attachment 181746
Patch

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

&gt; Source/WebCore/rendering/RenderLayer.cpp:150
&gt; +    , m_hasOutOfFlowPositionedDescendant(true) // Initially true to be consistent with the initial value of m_needsCompositedScrolling.

why would the initial value of this matter if the bit is initially dirty?  No code should be looking at the value of m_hasOutOfFlowPositionedDescendant while m_hasOutOfFlowPositionedDescendantDirty is true, right?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>802665</commentid>
    <comment_count>8</comment_count>
      <attachid>181746</attachid>
    <who name="Xianzhu Wang">wangxianzhu</who>
    <bug_when>2013-01-08 14:33:27 -0800</bug_when>
    <thetext>Comment on attachment 181746
Patch

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

&gt;&gt; Source/WebCore/rendering/RenderLayer.cpp:150
&gt;&gt; +    , m_hasOutOfFlowPositionedDescendant(true) // Initially true to be consistent with the initial value of m_needsCompositedScrolling.
&gt; 
&gt; why would the initial value of this matter if the bit is initially dirty?  No code should be looking at the value of m_hasOutOfFlowPositionedDescendant while m_hasOutOfFlowPositionedDescendantDirty is true, right?

In RenderLayer::updateDescendantDependentFlags(), the oldHasOutOfFlowPositionedDescendant is checked against the new value to determine if updateNeedsCompositedScrolling should be called:
        if (oldHasOutOfFlowPositionedDescendant != m_hasOutOfFlowPositionedDescendant)
            updateNeedsCompositedScrolling();

Here oldHasOutOfFlowPositionedDescendant may be the dirty value before the update.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>802670</commentid>
    <comment_count>9</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2013-01-08 14:36:54 -0800</bug_when>
    <thetext>(In reply to comment #8)
&gt; (From update of attachment 181746 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=181746&amp;action=review
&gt; 
&gt; &gt;&gt; Source/WebCore/rendering/RenderLayer.cpp:150
&gt; &gt;&gt; +    , m_hasOutOfFlowPositionedDescendant(true) // Initially true to be consistent with the initial value of m_needsCompositedScrolling.
&gt; &gt; 
&gt; &gt; why would the initial value of this matter if the bit is initially dirty?  No code should be looking at the value of m_hasOutOfFlowPositionedDescendant while m_hasOutOfFlowPositionedDescendantDirty is true, right?
&gt; 
&gt; In RenderLayer::updateDescendantDependentFlags(), the oldHasOutOfFlowPositionedDescendant is checked against the new value to determine if updateNeedsCompositedScrolling should be called:
&gt;         if (oldHasOutOfFlowPositionedDescendant != m_hasOutOfFlowPositionedDescendant)
&gt;             updateNeedsCompositedScrolling();
&gt; 
&gt; Here oldHasOutOfFlowPositionedDescendant may be the dirty value before the update.

Seems like the better fix would be to call updateNeedsCompositedScrolling() whenever m_hasOutOfFlowPositionedDescendantDirty transitions from true-&gt;false.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>802675</commentid>
    <comment_count>10</comment_count>
      <attachid>181746</attachid>
    <who name="Xianzhu Wang">wangxianzhu</who>
    <bug_when>2013-01-08 14:44:55 -0800</bug_when>
    <thetext>Comment on attachment 181746
Patch

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

&gt;&gt;&gt;&gt; Source/WebCore/rendering/RenderLayer.cpp:150
&gt;&gt;&gt;&gt; +    , m_hasOutOfFlowPositionedDescendant(true) // Initially true to be consistent with the initial value of m_needsCompositedScrolling.
&gt;&gt;&gt; 
&gt;&gt;&gt; why would the initial value of this matter if the bit is initially dirty?  No code should be looking at the value of m_hasOutOfFlowPositionedDescendant while m_hasOutOfFlowPositionedDescendantDirty is true, right?
&gt;&gt; 
&gt;&gt; In RenderLayer::updateDescendantDependentFlags(), the oldHasOutOfFlowPositionedDescendant is checked against the new value to determine if updateNeedsCompositedScrolling should be called:
&gt;&gt;         if (oldHasOutOfFlowPositionedDescendant != m_hasOutOfFlowPositionedDescendant)
&gt;&gt;             updateNeedsCompositedScrolling();
&gt;&gt; 
&gt;&gt; Here oldHasOutOfFlowPositionedDescendant may be the dirty value before the update.
&gt; 
&gt; Seems like the better fix would be to call updateNeedsCompositedScrolling() whenever m_hasOutOfFlowPositionedDescendantDirty transitions from true-&gt;false.

Wouldn&apos;t that cause unnecessary updates? e.g. m_hasOutOfFlowPositionedDescendantDirty changes from false-&gt;true then -&gt;false while m_hasOutOfFlowPositionedDescendant hasn&apos;t changed.

Actually I even consider unconditional updateNeedsCompositedScrolling() because it is not costly :)

Ian, what&apos;s your opinion?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>802928</commentid>
    <comment_count>11</comment_count>
    <who name="">vollick</who>
    <bug_when>2013-01-08 19:52:07 -0800</bug_when>
    <thetext>(In reply to comment #10)
&gt; (From update of attachment 181746 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=181746&amp;action=review
&gt; 
&gt; &gt;&gt;&gt;&gt; Source/WebCore/rendering/RenderLayer.cpp:150
&gt; &gt;&gt;&gt;&gt; +    , m_hasOutOfFlowPositionedDescendant(true) // Initially true to be consistent with the initial value of m_needsCompositedScrolling.
&gt; &gt;&gt;&gt; 
&gt; &gt;&gt;&gt; why would the initial value of this matter if the bit is initially dirty?  No code should be looking at the value of m_hasOutOfFlowPositionedDescendant while m_hasOutOfFlowPositionedDescendantDirty is true, right?
&gt; &gt;&gt; 
&gt; &gt;&gt; In RenderLayer::updateDescendantDependentFlags(), the oldHasOutOfFlowPositionedDescendant is checked against the new value to determine if updateNeedsCompositedScrolling should be called:
&gt; &gt;&gt;         if (oldHasOutOfFlowPositionedDescendant != m_hasOutOfFlowPositionedDescendant)
&gt; &gt;&gt;             updateNeedsCompositedScrolling();
&gt; &gt;&gt; 
&gt; &gt;&gt; Here oldHasOutOfFlowPositionedDescendant may be the dirty value before the update.
&gt; &gt; 
&gt; &gt; Seems like the better fix would be to call updateNeedsCompositedScrolling() whenever m_hasOutOfFlowPositionedDescendantDirty transitions from true-&gt;false.
&gt; 
&gt; Wouldn&apos;t that cause unnecessary updates? e.g. m_hasOutOfFlowPositionedDescendantDirty changes from false-&gt;true then -&gt;false while m_hasOutOfFlowPositionedDescendant hasn&apos;t changed.
&gt; 
&gt; Actually I even consider unconditional updateNeedsCompositedScrolling() because it is not costly :)
&gt; 
&gt; Ian, what&apos;s your opinion?

I&apos;m not against calling updateNeedsCompositedScrolling more often here (as you mentioned, it&apos;s cheap), and I like James&apos;s suggestion of doing the update every time we &apos;undirty&apos; m_hasOutOfFlowPositionedDescendant.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>803502</commentid>
    <comment_count>12</comment_count>
      <attachid>181951</attachid>
    <who name="Xianzhu Wang">wangxianzhu</who>
    <bug_when>2013-01-09 11:01:00 -0800</bug_when>
    <thetext>Created attachment 181951
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>803504</commentid>
    <comment_count>13</comment_count>
      <attachid>181951</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2013-01-09 11:02:25 -0800</bug_when>
    <thetext>Comment on attachment 181951
Patch

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

&gt; Source/WebCore/ChangeLog:8
&gt; +        Sometimes RenderLayer::updateNeedsCompositedScrolling is not called for a RenderLayer without out-of-flow-positioned descendant
&gt; +        https://bugs.webkit.org/show_bug.cgi?id=106271
&gt; +
&gt; +        Reviewed by NOBODY (OOPS!).
&gt; +
&gt; +        Test: compositing/overflow/dynamic-composited-scrolling-status.html

Please describe the bug, and how you fixed it here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>803511</commentid>
    <comment_count>14</comment_count>
      <attachid>181953</attachid>
    <who name="Xianzhu Wang">wangxianzhu</who>
    <bug_when>2013-01-09 11:09:50 -0800</bug_when>
    <thetext>Created attachment 181953
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>804448</commentid>
    <comment_count>15</comment_count>
    <who name="Xianzhu Wang">wangxianzhu</who>
    <bug_when>2013-01-10 09:33:10 -0800</bug_when>
    <thetext>James, Simon and Ian, what do you think of the last patch?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>804457</commentid>
    <comment_count>16</comment_count>
      <attachid>181953</attachid>
    <who name="">vollick</who>
    <bug_when>2013-01-10 09:45:07 -0800</bug_when>
    <thetext>Comment on attachment 181953
Patch

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

Just one nit.

&gt; Source/WebCore/rendering/RenderLayer.h:477
&gt; +    // FIXME: We should ASSERT(!m_hasOutOfFlowPositionedDescendant); here but we may hit the same bugs as visible content above.

m_hasOutOfFlowPositionedDescendantDirty?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>804472</commentid>
    <comment_count>17</comment_count>
      <attachid>181953</attachid>
    <who name="Xianzhu Wang">wangxianzhu</who>
    <bug_when>2013-01-10 09:52:44 -0800</bug_when>
    <thetext>Comment on attachment 181953
Patch

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

&gt;&gt; Source/WebCore/rendering/RenderLayer.h:477
&gt;&gt; +    // FIXME: We should ASSERT(!m_hasOutOfFlowPositionedDescendant); here but we may hit the same bugs as visible content above.
&gt; 
&gt; m_hasOutOfFlowPositionedDescendantDirty?

Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>804474</commentid>
    <comment_count>18</comment_count>
      <attachid>182161</attachid>
    <who name="Xianzhu Wang">wangxianzhu</who>
    <bug_when>2013-01-10 09:53:18 -0800</bug_when>
    <thetext>Created attachment 182161
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>805343</commentid>
    <comment_count>19</comment_count>
    <who name="Xianzhu Wang">wangxianzhu</who>
    <bug_when>2013-01-11 09:54:49 -0800</bug_when>
    <thetext>Kindly ping reviewers...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>805739</commentid>
    <comment_count>20</comment_count>
      <attachid>182444</attachid>
    <who name="Xianzhu Wang">wangxianzhu</who>
    <bug_when>2013-01-11 16:31:01 -0800</bug_when>
    <thetext>Created attachment 182444
Slightly simplified</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>806046</commentid>
    <comment_count>21</comment_count>
    <who name="Xianzhu Wang">wangxianzhu</who>
    <bug_when>2013-01-13 19:04:18 -0800</bug_when>
    <thetext>Kindly ping reviewers...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>806594</commentid>
    <comment_count>22</comment_count>
    <who name="Xianzhu Wang">wangxianzhu</who>
    <bug_when>2013-01-14 13:53:47 -0800</bug_when>
    <thetext>(In reply to comment #21)
&gt; Kindly ping reviewers...

James and Simon?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>806607</commentid>
    <comment_count>23</comment_count>
      <attachid>182444</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2013-01-14 14:10:13 -0800</bug_when>
    <thetext>Comment on attachment 182444
Slightly simplified

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

&gt; Source/WebCore/rendering/RenderLayer.cpp:5547
&gt; +    if (shouldBeScrollableArea != frameView-&gt;containsScrollableArea(this)) {
&gt; +        if (shouldBeScrollableArea)
&gt; +            frameView-&gt;addScrollableArea(this);
&gt; +        else
&gt; +            frameView-&gt;removeScrollableArea(this);

This is two hash lookups in either case. Would better if you could reduce it to one.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>806683</commentid>
    <comment_count>24</comment_count>
      <attachid>182638</attachid>
    <who name="Xianzhu Wang">wangxianzhu</who>
    <bug_when>2013-01-14 15:33:21 -0800</bug_when>
    <thetext>Created attachment 182638
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>806684</commentid>
    <comment_count>25</comment_count>
      <attachid>182638</attachid>
    <who name="Xianzhu Wang">wangxianzhu</who>
    <bug_when>2013-01-14 15:34:17 -0800</bug_when>
    <thetext>Comment on attachment 182638
Patch

PTAL. I&apos;m not sure about the style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>806685</commentid>
    <comment_count>26</comment_count>
      <attachid>182638</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2013-01-14 15:34:40 -0800</bug_when>
    <thetext>Comment on attachment 182638
Patch

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

&gt; Source/WebCore/page/FrameView.h:350
&gt; +    bool addScrollableArea(ScrollableArea*);
&gt; +    bool removeScrollableArea(ScrollableArea*);

Please add a comment saying what the return values mean.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>806689</commentid>
    <comment_count>27</comment_count>
      <attachid>182639</attachid>
    <who name="Xianzhu Wang">wangxianzhu</who>
    <bug_when>2013-01-14 15:42:50 -0800</bug_when>
    <thetext>Created attachment 182639
for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>806801</commentid>
    <comment_count>28</comment_count>
      <attachid>182639</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-14 17:15:11 -0800</bug_when>
    <thetext>Comment on attachment 182639
for landing

Clearing flags on attachment: 182639

Committed r139691: &lt;http://trac.webkit.org/changeset/139691&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>806802</commentid>
    <comment_count>29</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-14 17:15:18 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>807485</commentid>
    <comment_count>30</comment_count>
    <who name="Sami Kyöstilä">skyostil</who>
    <bug_when>2013-01-15 11:13:03 -0800</bug_when>
    <thetext>*** Bug 106915 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>181612</attachid>
            <date>2013-01-07 17:45:03 -0800</date>
            <delta_ts>2013-01-07 17:53:07 -0800</delta_ts>
            <desc>Wrong version, please ignore.</desc>
            <filename>bug-106271-20130108014207.patch</filename>
            <type>text/plain</type>
            <size>4919</size>
            <attacher name="Xianzhu Wang">wangxianzhu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM4OTk0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzVhMTI1YjQ2M2QzZTFh
NzViYjliMGM5MDAzYWEwNTdhMjFiMjMxMy4uMDBiNjk0NjM5M2ZiY2JkM2ZlZDE3NWNhM2NjMTI4
ZjI5M2YxZDYxYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDEzLTAxLTA3ICBYaWFu
emh1IFdhbmcgIDx3YW5neGlhbnpodUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgU29tZXRpbWVz
IFJlbmRlckxheWVyOjp1cGRhdGVOZWVkc0NvbXBvc2l0ZWRTY3JvbGxpbmcgaXMgbm90IGNhbGxl
ZCBmb3IgYSBSZW5kZXJMYXllciB3aXRob3V0IG91dC1vZi1mbG93LXBvc2l0aW9uZWQgZGVzY2Vu
ZGFudAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA2
MjcxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVz
dDogY29tcG9zaXRpbmcvb3ZlcmZsb3cvaW5pdGlhbC1jb21wb3NpdGVkLXNjcm9sbGluZy1zdGF0
dXMuaHRtbAorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlJlbmRlckxheWVyOjpSZW5kZXJMYXllcik6IENoYW5nZWQgdGhlIGluaXRpYWwg
dmFsdWUgb2YgbV9oYXNPdXRPZkZsb3dQb3NpdGlvbmVkRGVzY2VuZGFudCB0byB0cnVlIHRvIG1h
a2UgaXQgY29uc2lzdGVudCB3aXRoIHRoZSBpbml0aWFsIHZhbHVlIG9mIG1fbmVlZHNDb21wb3Np
dGVkU2Nyb2xsaW5nLiBBbHNvIGNoYW5nZWQgdGhlIGluaXRpYWwgdmFsdWUgb2YgbV9oYXNPdXRP
ZkZsb3dQb3NpdGlvbmVkRGVzY2VuZGFudERpcnR5IHRvIHRydWUgdG8gZW5zdXJlIG1faGFzT3V0
T2ZGbG93UG9zaXRpb25lZERlc2NlbmRhbnQgd2lsbCBiZSB1cGRhdGVkLgorCiAyMDEzLTAxLTA3
ICBKdXN0aW4gTm92b3NhZCAgPGp1bm92QGdvb2dsZS5jb20+CiAKICAgICAgICAgRml4aW5nIG1l
bW9yeSByZWFkIGFmdGVyIGZyZWUgaW4gQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEOjphY2Nlc3NG
b250CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcAppbmRleCBkYjBhNDZi
NTUxMmNlNWViOWM0NTlhYzQ5YmNhYzRmNGU0Njc0ZjAyLi5hYjlkN2ZkOGI5MTRjNTljNDBlZGZh
MmU5MjQxYmU5ZTJlY2ZkMzk5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyTGF5ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXll
ci5jcHAKQEAgLTE0Nyw4ICsxNDcsOCBAQCBSZW5kZXJMYXllcjo6UmVuZGVyTGF5ZXIoUmVuZGVy
TGF5ZXJNb2RlbE9iamVjdCogcmVuZGVyZXIpCiAgICAgLCBtX25vcm1hbEZsb3dMaXN0RGlydHko
dHJ1ZSkKICAgICAsIG1faGFzU2VsZlBhaW50aW5nTGF5ZXJEZXNjZW5kYW50KGZhbHNlKQogICAg
ICwgbV9oYXNTZWxmUGFpbnRpbmdMYXllckRlc2NlbmRhbnREaXJ0eShmYWxzZSkKLSAgICAsIG1f
aGFzT3V0T2ZGbG93UG9zaXRpb25lZERlc2NlbmRhbnQoZmFsc2UpCi0gICAgLCBtX2hhc091dE9m
Rmxvd1Bvc2l0aW9uZWREZXNjZW5kYW50RGlydHkoZmFsc2UpCisgICAgLCBtX2hhc091dE9mRmxv
d1Bvc2l0aW9uZWREZXNjZW5kYW50KHRydWUpIC8vIEluaXRpYWxseSB0cnVlIHRvIGJlIGNvbnNp
c3RlbnQgd2l0aCB0aGUgaW5pdGlhbCB2YWx1ZSBvZiBtX25lZWRzQ29tcG9zaXRlZFNjcm9sbGlu
Zy4KKyAgICAsIG1faGFzT3V0T2ZGbG93UG9zaXRpb25lZERlc2NlbmRhbnREaXJ0eSh0cnVlKQog
ICAgICwgbV9uZWVkc0NvbXBvc2l0ZWRTY3JvbGxpbmcoZmFsc2UpCiAgICAgLCBtX2Rlc2NlbmRh
bnRzQXJlQ29udGlndW91c0luU3RhY2tpbmdPcmRlcihmYWxzZSkKICAgICAsIG1faXNSb290TGF5
ZXIocmVuZGVyZXItPmlzUmVuZGVyVmlldygpKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDJlNDNiZjNiNzA1ZThmNTM3MmM4
Y2MwODA4MTk1Yzc5Y2NlODY5ODcuLmYxMTljN2U3NDk1MDE4NDgyNzU3NTlkMzE1NTk3OTM2ZTdi
MzQ4YjYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxMy0wMS0wNyAgWGlhbnpodSBXYW5nICA8
d2FuZ3hpYW56aHVAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFNvbWV0aW1lcyBSZW5kZXJMYXll
cjo6dXBkYXRlTmVlZHNDb21wb3NpdGVkU2Nyb2xsaW5nIGlzIG5vdCBjYWxsZWQgZm9yIGEgUmVu
ZGVyTGF5ZXIgd2l0aG91dCBvdXQtb2YtZmxvdy1wb3NpdGlvbmVkIGRlc2NlbmRhbnQKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNjI3MQorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFjdHVhbGx5IHRoZSB0
ZXN0IGRpZG4ndCByZXByb2R1Y2UgdGhlIGlzc3VlLCBuZWl0aGVyIGhhdmUgSSBjcmVhdGVkIGEg
bWFudWFsIHRlc3QuIEhvd2V2ZXIgdGhlIHRlc3QgY2FuIGVuc3VyZSB0aGUgY29tcG9zaXRlZCBz
Y3JvbGxpbmcgc3RhdHVzIGlzIGNvcnJlY3QgYW5kIG5vdCBjYXVzaW5nIHNsb3cgc2Nyb2xsaW5n
LgorCisgICAgICAgICogY29tcG9zaXRpbmcvb3ZlcmZsb3cvaW5pdGlhbC1jb21wb3NpdGVkLXNj
cm9sbGluZy1zdGF0dXMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBjb21wb3NpdGlu
Zy9vdmVyZmxvdy9pbml0aWFsLWNvbXBvc2l0ZWQtc2Nyb2xsaW5nLXN0YXR1cy5odG1sOiBBZGRl
ZC4KKwogMjAxMy0wMS0wNyAgSnVzdGluIE5vdm9zYWQgIDxqdW5vdkBnb29nbGUuY29tPgogCiAg
ICAgICAgIEZpeGluZyBtZW1vcnkgcmVhZCBhZnRlciBmcmVlIGluIENhbnZhc1JlbmRlcmluZ0Nv
bnRleHQyRDo6YWNjZXNzRm9udApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcv
b3ZlcmZsb3cvaW5pdGlhbC1jb21wb3NpdGVkLXNjcm9sbGluZy1zdGF0dXMtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvb3ZlcmZsb3cvaW5pdGlhbC1jb21wb3NpdGVkLXNj
cm9sbGluZy1zdGF0dXMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmIyZDZlZjdmNDllMjA0NTU0
OGZmZmI1OThhZmM2MWNlOGRiNTcwZTkKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9j
b21wb3NpdGluZy9vdmVyZmxvdy9pbml0aWFsLWNvbXBvc2l0ZWQtc2Nyb2xsaW5nLXN0YXR1cy1l
eHBlY3RlZC50eHQKQEAgLTAsMCArMSwyIEBACitDT05TT0xFIE1FU1NBR0U6IGxpbmUgMzI6IFVu
Y2F1Z2h0IFR5cGVFcnJvcjogT2JqZWN0ICM8SW50ZXJuYWxzPiBoYXMgbm8gbWV0aG9kICdub25G
YXN0U2Nyb2xsaW5nUmVjdHMnCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5n
L292ZXJmbG93L2luaXRpYWwtY29tcG9zaXRlZC1zY3JvbGxpbmctc3RhdHVzLmh0bWwgYi9MYXlv
dXRUZXN0cy9jb21wb3NpdGluZy9vdmVyZmxvdy9pbml0aWFsLWNvbXBvc2l0ZWQtc2Nyb2xsaW5n
LXN0YXR1cy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjljNGQyNDdhOTA2ZDM5YTFmZDVkMzAyYThjYjYxY2Ey
M2MxOTAzMGEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9vdmVy
Zmxvdy9pbml0aWFsLWNvbXBvc2l0ZWQtc2Nyb2xsaW5nLXN0YXR1cy5odG1sCkBAIC0wLDAgKzEs
NDQgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKyAgPHN0eWxlPgorICAgIC5j
b250YWluZXIgeworICAgICAgd2lkdGg6IDIwMHB4OworICAgICAgaGVpZ2h0OiAyMDBweDsKKyAg
ICAgIG92ZXJmbG93OiBzY3JvbGw7CisgICAgICBtYXJnaW46IDIwcHg7CisgICAgICBib3JkZXI6
IDFweCBzb2xpZCBibGFjazsKKyAgICB9CisKKyAgICAuc2Nyb2xsZWQgeworICAgICAgd2lkdGg6
IDQwMHB4OworICAgICAgaGVpZ2h0OiA0MDBweDsKKyAgICAgIGJhY2tncm91bmQtY29sb3I6IHll
bGxvdzsKKyAgICB9CisgIDwvc3R5bGU+CisKKyAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3Jp
cHQiIGNoYXJzZXQ9InV0Zi04Ij4KKyAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICB0
ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKKworICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKSB7Cisg
ICAgICAvLyB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldEFjY2VsZXJhdGVkQ29tcG9zaXRp
bmdGb3JPdmVyZmxvd1Njcm9sbEVuYWJsZWQodHJ1ZSk7CisgICAgICB3aW5kb3cuYWRkRXZlbnRM
aXN0ZW5lcignbG9hZCcsIGRvVGVzdCwgZmFsc2UpOworICAgIH0KKworICAgIGZ1bmN0aW9uIGRv
VGVzdCgpCisgICAgeworICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Jlc3VsdCcpLmlu
bmVyVGV4dCA9IHdpbmRvdy5pbnRlcm5hbHMubm9uRmFzdFNjcm9sbGFibGVSZWN0cyhkb2N1bWVu
dCkubGVuZ3RoID8gIkZBSUwiIDogIlBBU1MiOworICAgIH0KKworICA8L3NjcmlwdD4KKzwvaGVh
ZD4KKworPGJvZHk+CisgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CisgICAgPGRpdiBjbGFzcz0i
c2Nyb2xsZWQiPjwvZGl2PgorICA8L2Rpdj4KKyAgPHByZSBpZD0icmVzdWx0Ij48L3ByZT4KKzwv
Ym9keT4KKzwvaHRtbD4KKwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>181614</attachid>
            <date>2013-01-07 17:53:10 -0800</date>
            <delta_ts>2013-01-08 13:30:14 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-106271-20130107175015.patch</filename>
            <type>text/plain</type>
            <size>4775</size>
            <attacher name="Xianzhu Wang">wangxianzhu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM4OTk0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzVhMTI1YjQ2M2QzZTFh
NzViYjliMGM5MDAzYWEwNTdhMjFiMjMxMy4uMDBiNjk0NjM5M2ZiY2JkM2ZlZDE3NWNhM2NjMTI4
ZjI5M2YxZDYxYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDEzLTAxLTA3ICBYaWFu
emh1IFdhbmcgIDx3YW5neGlhbnpodUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgU29tZXRpbWVz
IFJlbmRlckxheWVyOjp1cGRhdGVOZWVkc0NvbXBvc2l0ZWRTY3JvbGxpbmcgaXMgbm90IGNhbGxl
ZCBmb3IgYSBSZW5kZXJMYXllciB3aXRob3V0IG91dC1vZi1mbG93LXBvc2l0aW9uZWQgZGVzY2Vu
ZGFudAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA2
MjcxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVz
dDogY29tcG9zaXRpbmcvb3ZlcmZsb3cvaW5pdGlhbC1jb21wb3NpdGVkLXNjcm9sbGluZy1zdGF0
dXMuaHRtbAorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlJlbmRlckxheWVyOjpSZW5kZXJMYXllcik6IENoYW5nZWQgdGhlIGluaXRpYWwg
dmFsdWUgb2YgbV9oYXNPdXRPZkZsb3dQb3NpdGlvbmVkRGVzY2VuZGFudCB0byB0cnVlIHRvIG1h
a2UgaXQgY29uc2lzdGVudCB3aXRoIHRoZSBpbml0aWFsIHZhbHVlIG9mIG1fbmVlZHNDb21wb3Np
dGVkU2Nyb2xsaW5nLiBBbHNvIGNoYW5nZWQgdGhlIGluaXRpYWwgdmFsdWUgb2YgbV9oYXNPdXRP
ZkZsb3dQb3NpdGlvbmVkRGVzY2VuZGFudERpcnR5IHRvIHRydWUgdG8gZW5zdXJlIG1faGFzT3V0
T2ZGbG93UG9zaXRpb25lZERlc2NlbmRhbnQgd2lsbCBiZSB1cGRhdGVkLgorCiAyMDEzLTAxLTA3
ICBKdXN0aW4gTm92b3NhZCAgPGp1bm92QGdvb2dsZS5jb20+CiAKICAgICAgICAgRml4aW5nIG1l
bW9yeSByZWFkIGFmdGVyIGZyZWUgaW4gQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJEOjphY2Nlc3NG
b250CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcAppbmRleCBkYjBhNDZi
NTUxMmNlNWViOWM0NTlhYzQ5YmNhYzRmNGU0Njc0ZjAyLi5hYjlkN2ZkOGI5MTRjNTljNDBlZGZh
MmU5MjQxYmU5ZTJlY2ZkMzk5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyTGF5ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXll
ci5jcHAKQEAgLTE0Nyw4ICsxNDcsOCBAQCBSZW5kZXJMYXllcjo6UmVuZGVyTGF5ZXIoUmVuZGVy
TGF5ZXJNb2RlbE9iamVjdCogcmVuZGVyZXIpCiAgICAgLCBtX25vcm1hbEZsb3dMaXN0RGlydHko
dHJ1ZSkKICAgICAsIG1faGFzU2VsZlBhaW50aW5nTGF5ZXJEZXNjZW5kYW50KGZhbHNlKQogICAg
ICwgbV9oYXNTZWxmUGFpbnRpbmdMYXllckRlc2NlbmRhbnREaXJ0eShmYWxzZSkKLSAgICAsIG1f
aGFzT3V0T2ZGbG93UG9zaXRpb25lZERlc2NlbmRhbnQoZmFsc2UpCi0gICAgLCBtX2hhc091dE9m
Rmxvd1Bvc2l0aW9uZWREZXNjZW5kYW50RGlydHkoZmFsc2UpCisgICAgLCBtX2hhc091dE9mRmxv
d1Bvc2l0aW9uZWREZXNjZW5kYW50KHRydWUpIC8vIEluaXRpYWxseSB0cnVlIHRvIGJlIGNvbnNp
c3RlbnQgd2l0aCB0aGUgaW5pdGlhbCB2YWx1ZSBvZiBtX25lZWRzQ29tcG9zaXRlZFNjcm9sbGlu
Zy4KKyAgICAsIG1faGFzT3V0T2ZGbG93UG9zaXRpb25lZERlc2NlbmRhbnREaXJ0eSh0cnVlKQog
ICAgICwgbV9uZWVkc0NvbXBvc2l0ZWRTY3JvbGxpbmcoZmFsc2UpCiAgICAgLCBtX2Rlc2NlbmRh
bnRzQXJlQ29udGlndW91c0luU3RhY2tpbmdPcmRlcihmYWxzZSkKICAgICAsIG1faXNSb290TGF5
ZXIocmVuZGVyZXItPmlzUmVuZGVyVmlldygpKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDJlNDNiZjNiNzA1ZThmNTM3MmM4
Y2MwODA4MTk1Yzc5Y2NlODY5ODcuLmZhMWVjYjcyZjA5NjUyZmFkNDY5NzBlNzhkNjQyOTIyZmY0
YTc1ZGUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxMy0wMS0wNyAgWGlhbnpodSBXYW5nICA8
d2FuZ3hpYW56aHVAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFNvbWV0aW1lcyBSZW5kZXJMYXll
cjo6dXBkYXRlTmVlZHNDb21wb3NpdGVkU2Nyb2xsaW5nIGlzIG5vdCBjYWxsZWQgZm9yIGEgUmVu
ZGVyTGF5ZXIgd2l0aG91dCBvdXQtb2YtZmxvdy1wb3NpdGlvbmVkIGRlc2NlbmRhbnQKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNjI3MQorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFjdHVhbGx5IHRoZSB0
ZXN0IGRpZG4ndCByZXByb2R1Y2UgdGhlIGlzc3VlLiBIb3dldmVyIHRoZSB0ZXN0IGNhbiBlbnN1
cmUgdGhlIGNvbXBvc2l0ZWQgc2Nyb2xsaW5nIHN0YXR1cyBpcyBjb3JyZWN0IGFuZCBub3QgY2F1
c2luZyBzbG93IHNjcm9sbGluZy4KKworICAgICAgICAqIGNvbXBvc2l0aW5nL292ZXJmbG93L2lu
aXRpYWwtY29tcG9zaXRlZC1zY3JvbGxpbmctc3RhdHVzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogY29tcG9zaXRpbmcvb3ZlcmZsb3cvaW5pdGlhbC1jb21wb3NpdGVkLXNjcm9sbGlu
Zy1zdGF0dXMuaHRtbDogQWRkZWQuCisKIDIwMTMtMDEtMDcgIEp1c3RpbiBOb3Zvc2FkICA8anVu
b3ZAZ29vZ2xlLmNvbT4KIAogICAgICAgICBGaXhpbmcgbWVtb3J5IHJlYWQgYWZ0ZXIgZnJlZSBp
biBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQ6OmFjY2Vzc0ZvbnQKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2NvbXBvc2l0aW5nL292ZXJmbG93L2luaXRpYWwtY29tcG9zaXRlZC1zY3JvbGxpbmct
c3RhdHVzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL292ZXJmbG93L2lu
aXRpYWwtY29tcG9zaXRlZC1zY3JvbGxpbmctc3RhdHVzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li43ZWYyMmU5YTQzMWFkMDI3MjcxM2I3MWZkYzg3OTQwMTZjOGVmMTJmCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvb3ZlcmZsb3cvaW5pdGlhbC1jb21wb3NpdGVk
LXNjcm9sbGluZy1zdGF0dXMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEgQEAKK1BBU1MKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL292ZXJmbG93L2luaXRpYWwtY29tcG9zaXRl
ZC1zY3JvbGxpbmctc3RhdHVzLmh0bWwgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9vdmVyZmxv
dy9pbml0aWFsLWNvbXBvc2l0ZWQtc2Nyb2xsaW5nLXN0YXR1cy5odG1sCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmIx
NWIyZTAxNzMwNWU1OTk0MjhhYjIwYWE0NWEyZTk1NmIzYWNhY2EKLS0tIC9kZXYvbnVsbAorKysg
Yi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9vdmVyZmxvdy9pbml0aWFsLWNvbXBvc2l0ZWQtc2Ny
b2xsaW5nLXN0YXR1cy5odG1sCkBAIC0wLDAgKzEsNDQgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0
bWw+Cis8aGVhZD4KKyAgPHN0eWxlPgorICAgIC5jb250YWluZXIgeworICAgICAgd2lkdGg6IDIw
MHB4OworICAgICAgaGVpZ2h0OiAyMDBweDsKKyAgICAgIG92ZXJmbG93OiBzY3JvbGw7CisgICAg
ICBtYXJnaW46IDIwcHg7CisgICAgICBib3JkZXI6IDFweCBzb2xpZCBibGFjazsKKyAgICB9CisK
KyAgICAuc2Nyb2xsZWQgeworICAgICAgd2lkdGg6IDQwMHB4OworICAgICAgaGVpZ2h0OiA0MDBw
eDsKKyAgICAgIGJhY2tncm91bmQtY29sb3I6IHllbGxvdzsKKyAgICB9CisgIDwvc3R5bGU+CisK
KyAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIGNoYXJzZXQ9InV0Zi04Ij4KKyAgICBp
ZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKKwor
ICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKSB7CisgICAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRp
bmdzLnNldEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdGb3JPdmVyZmxvd1Njcm9sbEVuYWJsZWQodHJ1
ZSk7CisgICAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIGRvVGVzdCwgZmFsc2Up
OworICAgIH0KKworICAgIGZ1bmN0aW9uIGRvVGVzdCgpCisgICAgeworICAgICAgZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoJ3Jlc3VsdCcpLmlubmVyVGV4dCA9IHdpbmRvdy5pbnRlcm5hbHMubm9u
RmFzdFNjcm9sbGFibGVSZWN0cyhkb2N1bWVudCkubGVuZ3RoID8gIkZBSUwiIDogIlBBU1MiOwor
ICAgIH0KKworICA8L3NjcmlwdD4KKzwvaGVhZD4KKworPGJvZHk+CisgIDxkaXYgY2xhc3M9ImNv
bnRhaW5lciI+CisgICAgPGRpdiBjbGFzcz0ic2Nyb2xsZWQiPjwvZGl2PgorICA8L2Rpdj4KKyAg
PHByZSBpZD0icmVzdWx0Ij48L3ByZT4KKzwvYm9keT4KKzwvaHRtbD4KKwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>181746</attachid>
            <date>2013-01-08 13:30:16 -0800</date>
            <delta_ts>2013-01-09 11:00:58 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-106271-20130108212721.patch</filename>
            <type>text/plain</type>
            <size>5620</size>
            <attacher name="Xianzhu Wang">wangxianzhu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM5MDkzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjU2MDAxNmVmZTU5Nzg4
NzdhMmM4NGQwNDZjNmZmZGQzZTZkZGNhOC4uNmUxMGIzMDk1OGNmOWU0MTZhZDY5ODVmNTYxMzky
ZGNhNmZkMDIxYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBACisyMDEzLTAxLTA3ICBYaWFu
emh1IFdhbmcgIDx3YW5neGlhbnpodUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgU29tZXRpbWVz
IFJlbmRlckxheWVyOjp1cGRhdGVOZWVkc0NvbXBvc2l0ZWRTY3JvbGxpbmcgaXMgbm90IGNhbGxl
ZCBmb3IgYSBSZW5kZXJMYXllciB3aXRob3V0IG91dC1vZi1mbG93LXBvc2l0aW9uZWQgZGVzY2Vu
ZGFudAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA2
MjcxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVz
dDogY29tcG9zaXRpbmcvb3ZlcmZsb3cvZHluYW1pYy1jb21wb3NpdGVkLXNjcm9sbGluZy1zdGF0
dXMuaHRtbAorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlJlbmRlckxheWVyOjpSZW5kZXJMYXllcik6IENoYW5nZWQgdGhlIGluaXRpYWwg
dmFsdWUgb2YgbV9oYXNPdXRPZkZsb3dQb3NpdGlvbmVkRGVzY2VuZGFudCB0byB0cnVlIHRvIG1h
a2UgaXQgY29uc2lzdGVudCB3aXRoIHRoZSBpbml0aWFsIHZhbHVlIG9mIG1fbmVlZHNDb21wb3Np
dGVkU2Nyb2xsaW5nLiBBbHNvIGNoYW5nZWQgdGhlIGluaXRpYWwgdmFsdWUgb2YgbV9oYXNPdXRP
ZkZsb3dQb3NpdGlvbmVkRGVzY2VuZGFudERpcnR5IHRvIHRydWUgdG8gZW5zdXJlIG1faGFzT3V0
T2ZGbG93UG9zaXRpb25lZERlc2NlbmRhbnQgd2lsbCBiZSB1cGRhdGVkLgorICAgICAgICAoUmVu
ZGVyTGF5ZXI6OnVwZGF0ZVNjcm9sbGFibGVBcmVhU2V0KTogQ2FsbHMgdXBkYXRlTmVlZHNDb21w
b3NpdGVkU2Nyb2xsaW5nKCkgd2hlbiBzY3JvbGxhYmxlIHN0YXR1cyBjaGFuZ2VzLgorCiAyMDEz
LTAxLTA4ICBDaHJpcyBGbGVpemFjaCAgPGNmbGVpemFjaEBhcHBsZS5jb20+CiAKICAgICAgICAg
QVg6IG5hdGl2ZSBwb3B1cCBidXR0b25zIHNob3VsZCBub3QgdXNlIHRleHRVbmRlckVsZW1lbnQg
Zm9yIHRoZWlyIHRpdGxlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyTGF5ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcApp
bmRleCBkZGY1ZDM3OTVjNjhhYjFhNjBhOTAxZjcxZjQwNThjMjBlZjE4ZjRjLi5iNmIzNGQwNDgz
YTE3MDhmMGU1ZTI3ZWFhYTY5MTg5ZjBlNGE0NThkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJMYXllci5jcHAKQEAgLTE0Nyw4ICsxNDcsOCBAQCBSZW5kZXJMYXllcjo6UmVuZGVy
TGF5ZXIoUmVuZGVyTGF5ZXJNb2RlbE9iamVjdCogcmVuZGVyZXIpCiAgICAgLCBtX25vcm1hbEZs
b3dMaXN0RGlydHkodHJ1ZSkKICAgICAsIG1faGFzU2VsZlBhaW50aW5nTGF5ZXJEZXNjZW5kYW50
KGZhbHNlKQogICAgICwgbV9oYXNTZWxmUGFpbnRpbmdMYXllckRlc2NlbmRhbnREaXJ0eShmYWxz
ZSkKLSAgICAsIG1faGFzT3V0T2ZGbG93UG9zaXRpb25lZERlc2NlbmRhbnQoZmFsc2UpCi0gICAg
LCBtX2hhc091dE9mRmxvd1Bvc2l0aW9uZWREZXNjZW5kYW50RGlydHkoZmFsc2UpCisgICAgLCBt
X2hhc091dE9mRmxvd1Bvc2l0aW9uZWREZXNjZW5kYW50KHRydWUpIC8vIEluaXRpYWxseSB0cnVl
IHRvIGJlIGNvbnNpc3RlbnQgd2l0aCB0aGUgaW5pdGlhbCB2YWx1ZSBvZiBtX25lZWRzQ29tcG9z
aXRlZFNjcm9sbGluZy4KKyAgICAsIG1faGFzT3V0T2ZGbG93UG9zaXRpb25lZERlc2NlbmRhbnRE
aXJ0eSh0cnVlKQogICAgICwgbV9uZWVkc0NvbXBvc2l0ZWRTY3JvbGxpbmcoZmFsc2UpCiAgICAg
LCBtX2Rlc2NlbmRhbnRzQXJlQ29udGlndW91c0luU3RhY2tpbmdPcmRlcihmYWxzZSkKICAgICAs
IG1faXNSb290TGF5ZXIocmVuZGVyZXItPmlzUmVuZGVyVmlldygpKQpAQCAtNTUzNywxMCArNTUz
NywxNiBAQCB2b2lkIFJlbmRlckxheWVyOjp1cGRhdGVTY3JvbGxhYmxlQXJlYVNldChib29sIGhh
c092ZXJmbG93KQogICAgIGlmIChIVE1MRnJhbWVPd25lckVsZW1lbnQqIG93bmVyID0gZnJhbWUt
Pm93bmVyRWxlbWVudCgpKQogICAgICAgICBpc1Zpc2libGVUb0hpdFRlc3QgJj0gb3duZXItPnJl
bmRlcmVyKCkgJiYgb3duZXItPnJlbmRlcmVyKCktPnZpc2libGVUb0hpdFRlc3RpbmcoKTsKIAot
ICAgIGlmIChoYXNPdmVyZmxvdyAmJiBpc1Zpc2libGVUb0hpdFRlc3QpCi0gICAgICAgIGZyYW1l
Vmlldy0+YWRkU2Nyb2xsYWJsZUFyZWEodGhpcyk7Ci0gICAgZWxzZQotICAgICAgICBmcmFtZVZp
ZXctPnJlbW92ZVNjcm9sbGFibGVBcmVhKHRoaXMpOworICAgIGJvb2wgc2hvdWxkQmVTY3JvbGxh
YmxlQXJlYSA9IGhhc092ZXJmbG93ICYmIGlzVmlzaWJsZVRvSGl0VGVzdDsKKyAgICBpZiAoc2hv
dWxkQmVTY3JvbGxhYmxlQXJlYSAhPSBmcmFtZVZpZXctPmNvbnRhaW5zU2Nyb2xsYWJsZUFyZWEo
dGhpcykpIHsKKyAgICAgICAgaWYgKHNob3VsZEJlU2Nyb2xsYWJsZUFyZWEpCisgICAgICAgICAg
ICBmcmFtZVZpZXctPmFkZFNjcm9sbGFibGVBcmVhKHRoaXMpOworICAgICAgICBlbHNlCisgICAg
ICAgICAgICBmcmFtZVZpZXctPnJlbW92ZVNjcm9sbGFibGVBcmVhKHRoaXMpOworI2lmIFVTRShB
Q0NFTEVSQVRFRF9DT01QT1NJVElORykKKyAgICAgICAgdXBkYXRlTmVlZHNDb21wb3NpdGVkU2Ny
b2xsaW5nKCk7CisjZW5kaWYKKyAgICB9CiB9CiAKIHZvaWQgUmVuZGVyTGF5ZXI6OnVwZGF0ZVNj
cm9sbENvcm5lclN0eWxlKCkKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xh
eW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA1MjBlNWVhNTgxYjIwMzBlNTk1OTdmNjgxNTM4MmY4
NmI1NDEwZjRlLi43OWEwYzRmMzQ2NjNmMzkxYzQxMjQ3NzM4NWY5ODc5NzMyNGFlOTExIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTMgQEAKKzIwMTMtMDEtMDcgIFhpYW56aHUgV2FuZyAgPHdhbmd4aWFuemh1
QGNocm9taXVtLm9yZz4KKworICAgICAgICBTb21ldGltZXMgUmVuZGVyTGF5ZXI6OnVwZGF0ZU5l
ZWRzQ29tcG9zaXRlZFNjcm9sbGluZyBpcyBub3QgY2FsbGVkIGZvciBhIFJlbmRlckxheWVyIHdp
dGhvdXQgb3V0LW9mLWZsb3ctcG9zaXRpb25lZCBkZXNjZW5kYW50CisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDYyNzEKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGNvbXBvc2l0aW5nL292ZXJmbG93L2R5
bmFtaWMtY29tcG9zaXRlZC1zY3JvbGxpbmctc3RhdHVzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisg
ICAgICAgICogY29tcG9zaXRpbmcvb3ZlcmZsb3cvZHluYW1pYy1jb21wb3NpdGVkLXNjcm9sbGlu
Zy1zdGF0dXMuaHRtbDogQWRkZWQuCisKIDIwMTMtMDEtMDggIFJ5b3N1a2UgTml3YSAgPHJuaXdh
QHdlYmtpdC5vcmc+CiAKICAgICAgICAgQWRkIGEgY3Jhc2hpbmcgdGVzdCBleHBlY3RhdGlvbiB0
byBhIHRlc3QgYWRkZWQgaW4gcjEzOTAyOS4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NvbXBv
c2l0aW5nL292ZXJmbG93L2R5bmFtaWMtY29tcG9zaXRlZC1zY3JvbGxpbmctc3RhdHVzLWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL292ZXJmbG93L2R5bmFtaWMtY29tcG9z
aXRlZC1zY3JvbGxpbmctc3RhdHVzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43ZWYyMmU5YTQz
MWFkMDI3MjcxM2I3MWZkYzg3OTQwMTZjOGVmMTJmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvY29tcG9zaXRpbmcvb3ZlcmZsb3cvZHluYW1pYy1jb21wb3NpdGVkLXNjcm9sbGluZy1z
dGF0dXMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEgQEAKK1BBU1MKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2NvbXBvc2l0aW5nL292ZXJmbG93L2R5bmFtaWMtY29tcG9zaXRlZC1zY3JvbGxpbmct
c3RhdHVzLmh0bWwgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9vdmVyZmxvdy9keW5hbWljLWNv
bXBvc2l0ZWQtc2Nyb2xsaW5nLXN0YXR1cy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQwZWVhNWYyZDUyZTE5
OGMyMjhiMDU0YThmZGM3ZDhjNmIzMWFkZjEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0
cy9jb21wb3NpdGluZy9vdmVyZmxvdy9keW5hbWljLWNvbXBvc2l0ZWQtc2Nyb2xsaW5nLXN0YXR1
cy5odG1sCkBAIC0wLDAgKzEsNDQgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4K
KyAgPHN0eWxlPgorICAgICNjb250YWluZXIgeworICAgICAgd2lkdGg6IDIwMHB4OworICAgICAg
aGVpZ2h0OiAyMDBweDsKKyAgICAgIG92ZXJmbG93OiBhdXRvOworICAgIH0KKworICAgICNjb250
ZW50IHsKKyAgICAgIHdpZHRoOiAxMDBweDsKKyAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICBi
YWNrZ3JvdW5kLWNvbG9yOiB5ZWxsb3c7CisgICAgfQorICA8L3N0eWxlPgorCisgIDxzY3JpcHQg
dHlwZT0idGV4dC9qYXZhc2NyaXB0IiBjaGFyc2V0PSJ1dGYtOCI+CisgICAgaWYgKHdpbmRvdy50
ZXN0UnVubmVyKQorICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CisKKyAgICBpZiAod2lu
ZG93LmludGVybmFscykKKyAgICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0QWNjZWxl
cmF0ZWRDb21wb3NpdGluZ0Zvck92ZXJmbG93U2Nyb2xsRW5hYmxlZCh0cnVlKTsKKworICAgIGZ1
bmN0aW9uIGRvVGVzdCgpCisgICAgeworICAgICAgZG9jdW1lbnQuYm9keS5vZmZzZXRIZWlnaHQ7
CisgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnY29udGVudCcpLnN0eWxlLmhlaWdodCA9
ICcxMDAwcHgnOworICAgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgICAgIGRvY3VtZW50
LmdldEVsZW1lbnRCeUlkKCdyZXN1bHQnKS5pbm5lclRleHQgPSB3aW5kb3cuaW50ZXJuYWxzLm5v
bkZhc3RTY3JvbGxhYmxlUmVjdHMoZG9jdW1lbnQpLmxlbmd0aCA/ICJGQUlMIiA6ICJQQVNTIjsK
KyAgICB9CisKKyAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignbG9hZCcsIGRvVGVzdCwgZmFs
c2UpOworICA8L3NjcmlwdD4KKzwvaGVhZD4KKworPGJvZHk+CisgIDxkaXYgaWQ9ImNvbnRhaW5l
ciI+CisgICAgPGRpdiBpZD0iY29udGVudCI+PC9kaXY+CisgIDwvZGl2PgorICA8cHJlIGlkPSJy
ZXN1bHQiPjwvcHJlPgorPC9ib2R5PgorPC9odG1sPgorCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>181951</attachid>
            <date>2013-01-09 11:01:00 -0800</date>
            <delta_ts>2013-01-09 11:09:48 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-106271-20130109185804.patch</filename>
            <type>text/plain</type>
            <size>7040</size>
            <attacher name="Xianzhu Wang">wangxianzhu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM5MjA2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOThiZmIwZjI0ZGRkZTg1
ZTNlYTc5ZTBmZmI4ZTA3OTA4ZTMzNmNmYS4uZjdjMTNiNmRhOThmY2ZmYjVmNDU3OGJlYTU2MmU0
NDZjNjFjMzU1ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDEzLTAxLTA5ICBYaWFu
emh1IFdhbmcgIDx3YW5neGlhbnpodUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgU29tZXRpbWVz
IFJlbmRlckxheWVyOjp1cGRhdGVOZWVkc0NvbXBvc2l0ZWRTY3JvbGxpbmcgaXMgbm90IGNhbGxl
ZCBmb3IgYSBSZW5kZXJMYXllciB3aXRob3V0IG91dC1vZi1mbG93LXBvc2l0aW9uZWQgZGVzY2Vu
ZGFudAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA2
MjcxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVz
dDogY29tcG9zaXRpbmcvb3ZlcmZsb3cvZHluYW1pYy1jb21wb3NpdGVkLXNjcm9sbGluZy1zdGF0
dXMuaHRtbAorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlJlbmRlckxheWVyOjpSZW5kZXJMYXllcik6IENoYW5nZWQgdGhlIGluaXRpYWwg
dmFsdWUgb2YgbV9oYXNPdXRPZkZsb3dQb3NpdGlvbmVkRGVzY2VuZGFudERpcnR5IHRvIHRydWUg
dG8gbWFrZSBzdXJlIG1faGFzT3V0T2ZGbG93UG9zaXRpb25lZERlc2NlbmRhbnQgd2lsbCBiZSB1
cGRhdGVkIGluaXRpYWxseS4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjp1cGRhdGVE
ZXNjZW5kYW50RGVwZW5kZW50RmxhZ3MpOiBDYWxsIHVwZGF0ZU5lZWRzQ29tcG9zaXRlZFNjcm9s
bGluZyB3aGVuIG1faGFzT3V0T2ZGbG93UG9zaXRpb25lZERlc2NlbmRhbnREaXJ0eSBpcyB0cnVl
LgorICAgICAgICAoUmVuZGVyTGF5ZXI6OnVwZGF0ZVNjcm9sbGFibGVBcmVhU2V0KTogQ2FsbHMg
dXBkYXRlTmVlZHNDb21wb3NpdGVkU2Nyb2xsaW5nKCkgd2hlbiBzY3JvbGxhYmxlIHN0YXR1cyBj
aGFuZ2VzLgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllci5oOgorICAgICAgICAoUmVu
ZGVyTGF5ZXIpOgorCiAyMDEzLTAxLTA5ICBTYW0gV2VpbmlnICA8c2FtQHdlYmtpdC5vcmc+CiAK
ICAgICAgICAgQWRkIFNldHRpbmdzLmluIGFuZCBtYWtlX3NldHRpbmdzLnBsIHRvIHRoZSBwcm9q
ZWN0LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAKaW5kZXggZGRmNWQz
Nzk1YzY4YWIxYTYwYTkwMWY3MWY0MDU4YzIwZWYxOGY0Yy4uY2IwZDJmZjZlYTU5MmMxNWQyNTVh
YTVjNTAzNTc1ZmQ4YThjNDgyNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckxheWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5
ZXIuY3BwCkBAIC0xNDgsNyArMTQ4LDcgQEAgUmVuZGVyTGF5ZXI6OlJlbmRlckxheWVyKFJlbmRl
ckxheWVyTW9kZWxPYmplY3QqIHJlbmRlcmVyKQogICAgICwgbV9oYXNTZWxmUGFpbnRpbmdMYXll
ckRlc2NlbmRhbnQoZmFsc2UpCiAgICAgLCBtX2hhc1NlbGZQYWludGluZ0xheWVyRGVzY2VuZGFu
dERpcnR5KGZhbHNlKQogICAgICwgbV9oYXNPdXRPZkZsb3dQb3NpdGlvbmVkRGVzY2VuZGFudChm
YWxzZSkKLSAgICAsIG1faGFzT3V0T2ZGbG93UG9zaXRpb25lZERlc2NlbmRhbnREaXJ0eShmYWxz
ZSkKKyAgICAsIG1faGFzT3V0T2ZGbG93UG9zaXRpb25lZERlc2NlbmRhbnREaXJ0eSh0cnVlKQog
ICAgICwgbV9uZWVkc0NvbXBvc2l0ZWRTY3JvbGxpbmcoZmFsc2UpCiAgICAgLCBtX2Rlc2NlbmRh
bnRzQXJlQ29udGlndW91c0luU3RhY2tpbmdPcmRlcihmYWxzZSkKICAgICAsIG1faXNSb290TGF5
ZXIocmVuZGVyZXItPmlzUmVuZGVyVmlldygpKQpAQCAtMTAyOCwxMSArMTAyOCwxNCBAQCB2b2lk
IFJlbmRlckxheWVyOjp1cGRhdGVEZXNjZW5kYW50RGVwZW5kZW50RmxhZ3MoSGFzaFNldDxjb25z
dCBSZW5kZXJPYmplY3QqPiogbwogCiAgICAgICAgIG1fdmlzaWJsZURlc2NlbmRhbnRTdGF0dXNE
aXJ0eSA9IGZhbHNlOwogICAgICAgICBtX2hhc1NlbGZQYWludGluZ0xheWVyRGVzY2VuZGFudERp
cnR5ID0gZmFsc2U7Ci0gICAgICAgIG1faGFzT3V0T2ZGbG93UG9zaXRpb25lZERlc2NlbmRhbnRE
aXJ0eSA9IGZhbHNlOwogCiAjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQotICAgICAg
ICBpZiAob2xkSGFzT3V0T2ZGbG93UG9zaXRpb25lZERlc2NlbmRhbnQgIT0gbV9oYXNPdXRPZkZs
b3dQb3NpdGlvbmVkRGVzY2VuZGFudCkKKyAgICAgICAgaWYgKG1faGFzT3V0T2ZGbG93UG9zaXRp
b25lZERlc2NlbmRhbnREaXJ0eSB8fCBvbGRIYXNPdXRPZkZsb3dQb3NpdGlvbmVkRGVzY2VuZGFu
dCAhPSBtX2hhc091dE9mRmxvd1Bvc2l0aW9uZWREZXNjZW5kYW50KSB7CisgICAgICAgICAgICBt
X2hhc091dE9mRmxvd1Bvc2l0aW9uZWREZXNjZW5kYW50RGlydHkgPSBmYWxzZTsKICAgICAgICAg
ICAgIHVwZGF0ZU5lZWRzQ29tcG9zaXRlZFNjcm9sbGluZygpOworICAgICAgICB9CisjZWxzZQor
ICAgICAgICBtX2hhc091dE9mRmxvd1Bvc2l0aW9uZWREZXNjZW5kYW50RGlydHkgPSBmYWxzZTsK
ICNlbmRpZgogICAgIH0KIApAQCAtNTUzNywxMCArNTU0MCwxNiBAQCB2b2lkIFJlbmRlckxheWVy
Ojp1cGRhdGVTY3JvbGxhYmxlQXJlYVNldChib29sIGhhc092ZXJmbG93KQogICAgIGlmIChIVE1M
RnJhbWVPd25lckVsZW1lbnQqIG93bmVyID0gZnJhbWUtPm93bmVyRWxlbWVudCgpKQogICAgICAg
ICBpc1Zpc2libGVUb0hpdFRlc3QgJj0gb3duZXItPnJlbmRlcmVyKCkgJiYgb3duZXItPnJlbmRl
cmVyKCktPnZpc2libGVUb0hpdFRlc3RpbmcoKTsKIAotICAgIGlmIChoYXNPdmVyZmxvdyAmJiBp
c1Zpc2libGVUb0hpdFRlc3QpCi0gICAgICAgIGZyYW1lVmlldy0+YWRkU2Nyb2xsYWJsZUFyZWEo
dGhpcyk7Ci0gICAgZWxzZQotICAgICAgICBmcmFtZVZpZXctPnJlbW92ZVNjcm9sbGFibGVBcmVh
KHRoaXMpOworICAgIGJvb2wgc2hvdWxkQmVTY3JvbGxhYmxlQXJlYSA9IGhhc092ZXJmbG93ICYm
IGlzVmlzaWJsZVRvSGl0VGVzdDsKKyAgICBpZiAoc2hvdWxkQmVTY3JvbGxhYmxlQXJlYSAhPSBm
cmFtZVZpZXctPmNvbnRhaW5zU2Nyb2xsYWJsZUFyZWEodGhpcykpIHsKKyAgICAgICAgaWYgKHNo
b3VsZEJlU2Nyb2xsYWJsZUFyZWEpCisgICAgICAgICAgICBmcmFtZVZpZXctPmFkZFNjcm9sbGFi
bGVBcmVhKHRoaXMpOworICAgICAgICBlbHNlCisgICAgICAgICAgICBmcmFtZVZpZXctPnJlbW92
ZVNjcm9sbGFibGVBcmVhKHRoaXMpOworI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykK
KyAgICAgICAgdXBkYXRlTmVlZHNDb21wb3NpdGVkU2Nyb2xsaW5nKCk7CisjZW5kaWYKKyAgICB9
CiB9CiAKIHZvaWQgUmVuZGVyTGF5ZXI6OnVwZGF0ZVNjcm9sbENvcm5lclN0eWxlKCkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5oIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmgKaW5kZXggZGY0OTIwMTg0NGJhYjhlMGFlYjRl
ZGM2N2E3MDMxNzE4NjNlN2I3Zi4uYmFmZWFiZTBiNTA3ZjllMjlmMzhlZTM5ZDZmOGY4OWQ2MDgx
NjVmZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmgKQEAgLTQ3NCw2ICs0
NzQsNyBAQCBwdWJsaWM6CiAgICAgLy8gYXV0b21hdGljYWxseSBvcHQgaW50byBjb21wb3NpdGVk
IHNjcm9sbGluZyBzaW5jZSB0aGlzIG91dCBvZiBmbG93CiAgICAgLy8gcG9zaXRpb25lZCBkZXNj
ZW5kYW50IHdvdWxkIGJlY29tZSBjbGlwcGVkIGJ5IHVzLCBwb3NzaWJseSBhbHRlcmluZyB0aGUg
CiAgICAgLy8gcmVuZGVyaW5nIG9mIHRoZSBwYWdlLgorICAgIC8vIEZJWE1FOiBXZSBzaG91bGQg
QVNTRVJUKCFtX2hhc091dE9mRmxvd1Bvc2l0aW9uZWREZXNjZW5kYW50KTsgaGVyZSBidXQgd2Ug
bWF5IGhpdCB0aGUgc2FtZSBidWdzIGFzIHZpc2libGUgY29udGVudCBhYm92ZS4KICAgICBib29s
IGhhc091dE9mRmxvd1Bvc2l0aW9uZWREZXNjZW5kYW50KCkgY29uc3QgeyByZXR1cm4gbV9oYXNP
dXRPZkZsb3dQb3NpdGlvbmVkRGVzY2VuZGFudDsgfQogCiAgICAgLy8gR2V0cyB0aGUgbmVhcmVz
dCBlbmNsb3NpbmcgcG9zaXRpb25lZCBhbmNlc3RvciBsYXllciAoYWxzbyBpbmNsdWRlcwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmlu
ZGV4IGEzY2IzOTRhZTllYTIyNjE4YjQ4NThhMTM1YWNhM2NmYzdiNTY3MGEuLjY3ZmVjZWM1YmZj
ZDNkZTBhNmQyN2JjYWEyMWYzM2M2NDYxNDM2MGUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0No
YW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAx
My0wMS0wOSAgWGlhbnpodSBXYW5nICA8d2FuZ3hpYW56aHVAY2hyb21pdW0ub3JnPgorCisgICAg
ICAgIFNvbWV0aW1lcyBSZW5kZXJMYXllcjo6dXBkYXRlTmVlZHNDb21wb3NpdGVkU2Nyb2xsaW5n
IGlzIG5vdCBjYWxsZWQgZm9yIGEgUmVuZGVyTGF5ZXIgd2l0aG91dCBvdXQtb2YtZmxvdy1wb3Np
dGlvbmVkIGRlc2NlbmRhbnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTEwNjI3MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgICogY29tcG9zaXRpbmcvb3ZlcmZsb3cvZHluYW1pYy1jb21wb3NpdGVkLXNjcm9s
bGluZy1zdGF0dXMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBjb21wb3NpdGluZy9v
dmVyZmxvdy9keW5hbWljLWNvbXBvc2l0ZWQtc2Nyb2xsaW5nLXN0YXR1cy5odG1sOiBBZGRlZC4K
KwogMjAxMy0wMS0wOSAgSnVzdGluIE5vdm9zYWQgIDxqdW5vdkBnb29nbGUuY29tPgogCiAgICAg
ICAgIE5ldyBjaHJvbWl1bS13aW4gcGl4ZWwgYmFzZWxpbmUgZm9yIGdyYWRpZW50LWJhY2tncm91
bmQtbGVha2FnZS1oaWRwaS5odG1sCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jb21wb3NpdGlu
Zy9vdmVyZmxvdy9keW5hbWljLWNvbXBvc2l0ZWQtc2Nyb2xsaW5nLXN0YXR1cy1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9vdmVyZmxvdy9keW5hbWljLWNvbXBvc2l0ZWQt
c2Nyb2xsaW5nLXN0YXR1cy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2VmMjJlOWE0MzFhZDAy
NzI3MTNiNzFmZGM4Nzk0MDE2YzhlZjEyZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2NvbXBvc2l0aW5nL292ZXJmbG93L2R5bmFtaWMtY29tcG9zaXRlZC1zY3JvbGxpbmctc3RhdHVz
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxIEBACitQQVNTCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9jb21wb3NpdGluZy9vdmVyZmxvdy9keW5hbWljLWNvbXBvc2l0ZWQtc2Nyb2xsaW5nLXN0YXR1
cy5odG1sIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvb3ZlcmZsb3cvZHluYW1pYy1jb21wb3Np
dGVkLXNjcm9sbGluZy1zdGF0dXMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40MGVlYTVmMmQ1MmUxOThjMjI4
YjA1NGE4ZmRjN2Q4YzZiMzFhZGYxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY29t
cG9zaXRpbmcvb3ZlcmZsb3cvZHluYW1pYy1jb21wb3NpdGVkLXNjcm9sbGluZy1zdGF0dXMuaHRt
bApAQCAtMCwwICsxLDQ0IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+CisgIDxz
dHlsZT4KKyAgICAjY29udGFpbmVyIHsKKyAgICAgIHdpZHRoOiAyMDBweDsKKyAgICAgIGhlaWdo
dDogMjAwcHg7CisgICAgICBvdmVyZmxvdzogYXV0bzsKKyAgICB9CisKKyAgICAjY29udGVudCB7
CisgICAgICB3aWR0aDogMTAwcHg7CisgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgYmFja2dy
b3VuZC1jb2xvcjogeWVsbG93OworICAgIH0KKyAgPC9zdHlsZT4KKworICA8c2NyaXB0IHR5cGU9
InRleHQvamF2YXNjcmlwdCIgY2hhcnNldD0idXRmLTgiPgorICAgIGlmICh3aW5kb3cudGVzdFJ1
bm5lcikKKyAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOworCisgICAgaWYgKHdpbmRvdy5p
bnRlcm5hbHMpCisgICAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldEFjY2VsZXJhdGVk
Q29tcG9zaXRpbmdGb3JPdmVyZmxvd1Njcm9sbEVuYWJsZWQodHJ1ZSk7CisKKyAgICBmdW5jdGlv
biBkb1Rlc3QoKQorICAgIHsKKyAgICAgIGRvY3VtZW50LmJvZHkub2Zmc2V0SGVpZ2h0OworICAg
ICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NvbnRlbnQnKS5zdHlsZS5oZWlnaHQgPSAnMTAw
MHB4JzsKKyAgICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQorICAgICAgICBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgncmVzdWx0JykuaW5uZXJUZXh0ID0gd2luZG93LmludGVybmFscy5ub25GYXN0
U2Nyb2xsYWJsZVJlY3RzKGRvY3VtZW50KS5sZW5ndGggPyAiRkFJTCIgOiAiUEFTUyI7CisgICAg
fQorCisgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCBkb1Rlc3QsIGZhbHNlKTsK
KyAgPC9zY3JpcHQ+Cis8L2hlYWQ+CisKKzxib2R5PgorICA8ZGl2IGlkPSJjb250YWluZXIiPgor
ICAgIDxkaXYgaWQ9ImNvbnRlbnQiPjwvZGl2PgorICA8L2Rpdj4KKyAgPHByZSBpZD0icmVzdWx0
Ij48L3ByZT4KKzwvYm9keT4KKzwvaHRtbD4KKwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>181953</attachid>
            <date>2013-01-09 11:09:50 -0800</date>
            <delta_ts>2013-01-10 09:53:16 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-106271-20130109190654.patch</filename>
            <type>text/plain</type>
            <size>7362</size>
            <attacher name="Xianzhu Wang">wangxianzhu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM5MjA2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOThiZmIwZjI0ZGRkZTg1
ZTNlYTc5ZTBmZmI4ZTA3OTA4ZTMzNmNmYS4uMTViMDZjNjRhMjZmMzk2ZWQxZTAwM2RkMDlmNDBh
ZDllMjlmNDZmZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDEzLTAxLTA5ICBYaWFu
emh1IFdhbmcgIDx3YW5neGlhbnpodUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgU29tZXRpbWVz
IFJlbmRlckxheWVyOjp1cGRhdGVOZWVkc0NvbXBvc2l0ZWRTY3JvbGxpbmcgaXMgbm90IGNhbGxl
ZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA2Mjcx
CisKKyAgICAgICAgMS4gSWYgYSBsYXllciBoYXMgbm8gb3V0LW9mLWZsb3cgZGVzY2VuZGFudCwg
bV9oYXNPdXRPZkZsb3dQb3NpdGlvbmVkRGVzY2VuZGFudCB3b24ndCBjaGFuZ2UgYW5kIHdvbid0
IHRyaWdnZXIgdXBkYXRlTmVlZHNDb21wb3NpdGVkU2Nyb2xsaW5nIGluIHVwZGF0ZURlc2NlbmRh
bnREZXBlbmRlbnRGbGFncy4gU2V0IG1faGFzT3V0T2ZGbG93UG9zaXRpb25lZERlc2NlbmRhbnRE
aXJ0eSB0byB0cnVlIGFuZCBjYWxsIHVwZGF0ZU5lZWRzQ29tcG9zaXRlZFNjcm9sbGluZyB3aGVu
IHRoZSBkaXJ0eSBmbGFnIGlzIHRydWUuCisgICAgICAgIDIuIFdoZW4gdGhlIGNvbnRlbnQgc2l6
ZSBjaGFuZ2VzIGNhdXNpbmcgY2hhbmdlIG9mIHNjcm9sbGFibGUgc3RhdHVzLCB1cGRhdGVOZWVk
c0NvbXBvc2l0ZWRTY3JvbGxpbmcgc2hvdWxkIGFsc28gYmUgY2FsbGVkLgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRlc3Q6IGNvbXBvc2l0aW5nL292
ZXJmbG93L2R5bmFtaWMtY29tcG9zaXRlZC1zY3JvbGxpbmctc3RhdHVzLmh0bWwKKworICAgICAg
ICAqIHJlbmRlcmluZy9SZW5kZXJMYXllci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJM
YXllcjo6UmVuZGVyTGF5ZXIpOiBDaGFuZ2VkIHRoZSBpbml0aWFsIHZhbHVlIG9mIG1faGFzT3V0
T2ZGbG93UG9zaXRpb25lZERlc2NlbmRhbnREaXJ0eSB0byB0cnVlIHRvIG1ha2Ugc3VyZSBtX2hh
c091dE9mRmxvd1Bvc2l0aW9uZWREZXNjZW5kYW50IHdpbGwgYmUgdXBkYXRlZCBpbml0aWFsbHku
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6dXBkYXRlRGVzY2VuZGFudERlcGVuZGVu
dEZsYWdzKTogQ2FsbCB1cGRhdGVOZWVkc0NvbXBvc2l0ZWRTY3JvbGxpbmcgd2hlbiBtX2hhc091
dE9mRmxvd1Bvc2l0aW9uZWREZXNjZW5kYW50RGlydHkgaXMgdHJ1ZS4KKyAgICAgICAgKFJlbmRl
ckxheWVyOjp1cGRhdGVTY3JvbGxhYmxlQXJlYVNldCk6IENhbGxzIHVwZGF0ZU5lZWRzQ29tcG9z
aXRlZFNjcm9sbGluZygpIHdoZW4gc2Nyb2xsYWJsZSBzdGF0dXMgY2hhbmdlcy4KKyAgICAgICAg
KiByZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaDoKKyAgICAgICAgKFJlbmRlckxheWVyKToKKwogMjAx
My0wMS0wOSAgU2FtIFdlaW5pZyAgPHNhbUB3ZWJraXQub3JnPgogCiAgICAgICAgIEFkZCBTZXR0
aW5ncy5pbiBhbmQgbWFrZV9zZXR0aW5ncy5wbCB0byB0aGUgcHJvamVjdC4KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCmluZGV4IGRkZjVkMzc5NWM2OGFiMWE2MGE5MDFm
NzFmNDA1OGMyMGVmMThmNGMuLmNiMGQyZmY2ZWE1OTJjMTVkMjU1YWE1YzUwMzU3NWZkOGE4YzQ4
MjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcApAQCAtMTQ4LDcg
KzE0OCw3IEBAIFJlbmRlckxheWVyOjpSZW5kZXJMYXllcihSZW5kZXJMYXllck1vZGVsT2JqZWN0
KiByZW5kZXJlcikKICAgICAsIG1faGFzU2VsZlBhaW50aW5nTGF5ZXJEZXNjZW5kYW50KGZhbHNl
KQogICAgICwgbV9oYXNTZWxmUGFpbnRpbmdMYXllckRlc2NlbmRhbnREaXJ0eShmYWxzZSkKICAg
ICAsIG1faGFzT3V0T2ZGbG93UG9zaXRpb25lZERlc2NlbmRhbnQoZmFsc2UpCi0gICAgLCBtX2hh
c091dE9mRmxvd1Bvc2l0aW9uZWREZXNjZW5kYW50RGlydHkoZmFsc2UpCisgICAgLCBtX2hhc091
dE9mRmxvd1Bvc2l0aW9uZWREZXNjZW5kYW50RGlydHkodHJ1ZSkKICAgICAsIG1fbmVlZHNDb21w
b3NpdGVkU2Nyb2xsaW5nKGZhbHNlKQogICAgICwgbV9kZXNjZW5kYW50c0FyZUNvbnRpZ3VvdXNJ
blN0YWNraW5nT3JkZXIoZmFsc2UpCiAgICAgLCBtX2lzUm9vdExheWVyKHJlbmRlcmVyLT5pc1Jl
bmRlclZpZXcoKSkKQEAgLTEwMjgsMTEgKzEwMjgsMTQgQEAgdm9pZCBSZW5kZXJMYXllcjo6dXBk
YXRlRGVzY2VuZGFudERlcGVuZGVudEZsYWdzKEhhc2hTZXQ8Y29uc3QgUmVuZGVyT2JqZWN0Kj4q
IG8KIAogICAgICAgICBtX3Zpc2libGVEZXNjZW5kYW50U3RhdHVzRGlydHkgPSBmYWxzZTsKICAg
ICAgICAgbV9oYXNTZWxmUGFpbnRpbmdMYXllckRlc2NlbmRhbnREaXJ0eSA9IGZhbHNlOwotICAg
ICAgICBtX2hhc091dE9mRmxvd1Bvc2l0aW9uZWREZXNjZW5kYW50RGlydHkgPSBmYWxzZTsKIAog
I2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykKLSAgICAgICAgaWYgKG9sZEhhc091dE9m
Rmxvd1Bvc2l0aW9uZWREZXNjZW5kYW50ICE9IG1faGFzT3V0T2ZGbG93UG9zaXRpb25lZERlc2Nl
bmRhbnQpCisgICAgICAgIGlmIChtX2hhc091dE9mRmxvd1Bvc2l0aW9uZWREZXNjZW5kYW50RGly
dHkgfHwgb2xkSGFzT3V0T2ZGbG93UG9zaXRpb25lZERlc2NlbmRhbnQgIT0gbV9oYXNPdXRPZkZs
b3dQb3NpdGlvbmVkRGVzY2VuZGFudCkgeworICAgICAgICAgICAgbV9oYXNPdXRPZkZsb3dQb3Np
dGlvbmVkRGVzY2VuZGFudERpcnR5ID0gZmFsc2U7CiAgICAgICAgICAgICB1cGRhdGVOZWVkc0Nv
bXBvc2l0ZWRTY3JvbGxpbmcoKTsKKyAgICAgICAgfQorI2Vsc2UKKyAgICAgICAgbV9oYXNPdXRP
ZkZsb3dQb3NpdGlvbmVkRGVzY2VuZGFudERpcnR5ID0gZmFsc2U7CiAjZW5kaWYKICAgICB9CiAK
QEAgLTU1MzcsMTAgKzU1NDAsMTYgQEAgdm9pZCBSZW5kZXJMYXllcjo6dXBkYXRlU2Nyb2xsYWJs
ZUFyZWFTZXQoYm9vbCBoYXNPdmVyZmxvdykKICAgICBpZiAoSFRNTEZyYW1lT3duZXJFbGVtZW50
KiBvd25lciA9IGZyYW1lLT5vd25lckVsZW1lbnQoKSkKICAgICAgICAgaXNWaXNpYmxlVG9IaXRU
ZXN0ICY9IG93bmVyLT5yZW5kZXJlcigpICYmIG93bmVyLT5yZW5kZXJlcigpLT52aXNpYmxlVG9I
aXRUZXN0aW5nKCk7CiAKLSAgICBpZiAoaGFzT3ZlcmZsb3cgJiYgaXNWaXNpYmxlVG9IaXRUZXN0
KQotICAgICAgICBmcmFtZVZpZXctPmFkZFNjcm9sbGFibGVBcmVhKHRoaXMpOwotICAgIGVsc2UK
LSAgICAgICAgZnJhbWVWaWV3LT5yZW1vdmVTY3JvbGxhYmxlQXJlYSh0aGlzKTsKKyAgICBib29s
IHNob3VsZEJlU2Nyb2xsYWJsZUFyZWEgPSBoYXNPdmVyZmxvdyAmJiBpc1Zpc2libGVUb0hpdFRl
c3Q7CisgICAgaWYgKHNob3VsZEJlU2Nyb2xsYWJsZUFyZWEgIT0gZnJhbWVWaWV3LT5jb250YWlu
c1Njcm9sbGFibGVBcmVhKHRoaXMpKSB7CisgICAgICAgIGlmIChzaG91bGRCZVNjcm9sbGFibGVB
cmVhKQorICAgICAgICAgICAgZnJhbWVWaWV3LT5hZGRTY3JvbGxhYmxlQXJlYSh0aGlzKTsKKyAg
ICAgICAgZWxzZQorICAgICAgICAgICAgZnJhbWVWaWV3LT5yZW1vdmVTY3JvbGxhYmxlQXJlYSh0
aGlzKTsKKyNpZiBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCisgICAgICAgIHVwZGF0ZU5l
ZWRzQ29tcG9zaXRlZFNjcm9sbGluZygpOworI2VuZGlmCisgICAgfQogfQogCiB2b2lkIFJlbmRl
ckxheWVyOjp1cGRhdGVTY3JvbGxDb3JuZXJTdHlsZSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJMYXllci5oCmluZGV4IGRmNDkyMDE4NDRiYWI4ZTBhZWI0ZWRjNjdhNzAzMTcxODYzZTdi
N2YuLmJhZmVhYmUwYjUwN2Y5ZTI5ZjM4ZWUzOWQ2ZjhmODlkNjA4MTY1ZmYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5oCkBAIC00NzQsNiArNDc0LDcgQEAgcHVibGljOgog
ICAgIC8vIGF1dG9tYXRpY2FsbHkgb3B0IGludG8gY29tcG9zaXRlZCBzY3JvbGxpbmcgc2luY2Ug
dGhpcyBvdXQgb2YgZmxvdwogICAgIC8vIHBvc2l0aW9uZWQgZGVzY2VuZGFudCB3b3VsZCBiZWNv
bWUgY2xpcHBlZCBieSB1cywgcG9zc2libHkgYWx0ZXJpbmcgdGhlIAogICAgIC8vIHJlbmRlcmlu
ZyBvZiB0aGUgcGFnZS4KKyAgICAvLyBGSVhNRTogV2Ugc2hvdWxkIEFTU0VSVCghbV9oYXNPdXRP
ZkZsb3dQb3NpdGlvbmVkRGVzY2VuZGFudCk7IGhlcmUgYnV0IHdlIG1heSBoaXQgdGhlIHNhbWUg
YnVncyBhcyB2aXNpYmxlIGNvbnRlbnQgYWJvdmUuCiAgICAgYm9vbCBoYXNPdXRPZkZsb3dQb3Np
dGlvbmVkRGVzY2VuZGFudCgpIGNvbnN0IHsgcmV0dXJuIG1faGFzT3V0T2ZGbG93UG9zaXRpb25l
ZERlc2NlbmRhbnQ7IH0KIAogICAgIC8vIEdldHMgdGhlIG5lYXJlc3QgZW5jbG9zaW5nIHBvc2l0
aW9uZWQgYW5jZXN0b3IgbGF5ZXIgKGFsc28gaW5jbHVkZXMKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBhM2NiMzk0YWU5ZWEy
MjYxOGI0ODU4YTEzNWFjYTNjZmM3YjU2NzBhLi5lZmYxYWVhY2U1NmViOWEzMGNlYTc3NTgyMTk2
OTk0MzdlN2MxZmYzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTMtMDEtMDkgIFhpYW56aHUg
V2FuZyAgPHdhbmd4aWFuemh1QGNocm9taXVtLm9yZz4KKworICAgICAgICBTb21ldGltZXMgUmVu
ZGVyTGF5ZXI6OnVwZGF0ZU5lZWRzQ29tcG9zaXRlZFNjcm9sbGluZyBpcyBub3QgY2FsbGVkCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDYyNzEKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGNvbXBvc2l0
aW5nL292ZXJmbG93L2R5bmFtaWMtY29tcG9zaXRlZC1zY3JvbGxpbmctc3RhdHVzLWV4cGVjdGVk
LnR4dDogQWRkZWQuCisgICAgICAgICogY29tcG9zaXRpbmcvb3ZlcmZsb3cvZHluYW1pYy1jb21w
b3NpdGVkLXNjcm9sbGluZy1zdGF0dXMuaHRtbDogQWRkZWQuCisKIDIwMTMtMDEtMDkgIEp1c3Rp
biBOb3Zvc2FkICA8anVub3ZAZ29vZ2xlLmNvbT4KIAogICAgICAgICBOZXcgY2hyb21pdW0td2lu
IHBpeGVsIGJhc2VsaW5lIGZvciBncmFkaWVudC1iYWNrZ3JvdW5kLWxlYWthZ2UtaGlkcGkuaHRt
bApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvb3ZlcmZsb3cvZHluYW1pYy1j
b21wb3NpdGVkLXNjcm9sbGluZy1zdGF0dXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvY29t
cG9zaXRpbmcvb3ZlcmZsb3cvZHluYW1pYy1jb21wb3NpdGVkLXNjcm9sbGluZy1zdGF0dXMtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjdlZjIyZTlhNDMxYWQwMjcyNzEzYjcxZmRjODc5NDAxNmM4
ZWYxMmYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9vdmVyZmxv
dy9keW5hbWljLWNvbXBvc2l0ZWQtc2Nyb2xsaW5nLXN0YXR1cy1leHBlY3RlZC50eHQKQEAgLTAs
MCArMSBAQAorUEFTUwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvb3ZlcmZs
b3cvZHluYW1pYy1jb21wb3NpdGVkLXNjcm9sbGluZy1zdGF0dXMuaHRtbCBiL0xheW91dFRlc3Rz
L2NvbXBvc2l0aW5nL292ZXJmbG93L2R5bmFtaWMtY29tcG9zaXRlZC1zY3JvbGxpbmctc3RhdHVz
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNDBlZWE1ZjJkNTJlMTk4YzIyOGIwNTRhOGZkYzdkOGM2YjMxYWRm
MQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL292ZXJmbG93L2R5
bmFtaWMtY29tcG9zaXRlZC1zY3JvbGxpbmctc3RhdHVzLmh0bWwKQEAgLTAsMCArMSw0NCBAQAor
PCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorICA8c3R5bGU+CisgICAgI2NvbnRhaW5l
ciB7CisgICAgICB3aWR0aDogMjAwcHg7CisgICAgICBoZWlnaHQ6IDIwMHB4OworICAgICAgb3Zl
cmZsb3c6IGF1dG87CisgICAgfQorCisgICAgI2NvbnRlbnQgeworICAgICAgd2lkdGg6IDEwMHB4
OworICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgIGJhY2tncm91bmQtY29sb3I6IHllbGxvdzsK
KyAgICB9CisgIDwvc3R5bGU+CisKKyAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIGNo
YXJzZXQ9InV0Zi04Ij4KKyAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICB0ZXN0UnVu
bmVyLmR1bXBBc1RleHQoKTsKKworICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQorICAgICAgd2lu
ZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRBY2NlbGVyYXRlZENvbXBvc2l0aW5nRm9yT3ZlcmZs
b3dTY3JvbGxFbmFibGVkKHRydWUpOworCisgICAgZnVuY3Rpb24gZG9UZXN0KCkKKyAgICB7Cisg
ICAgICBkb2N1bWVudC5ib2R5Lm9mZnNldEhlaWdodDsKKyAgICAgIGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCdjb250ZW50Jykuc3R5bGUuaGVpZ2h0ID0gJzEwMDBweCc7CisgICAgICBpZiAod2lu
ZG93LmludGVybmFscykKKyAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Jlc3VsdCcp
LmlubmVyVGV4dCA9IHdpbmRvdy5pbnRlcm5hbHMubm9uRmFzdFNjcm9sbGFibGVSZWN0cyhkb2N1
bWVudCkubGVuZ3RoID8gIkZBSUwiIDogIlBBU1MiOworICAgIH0KKworICAgIHdpbmRvdy5hZGRF
dmVudExpc3RlbmVyKCdsb2FkJywgZG9UZXN0LCBmYWxzZSk7CisgIDwvc2NyaXB0PgorPC9oZWFk
PgorCis8Ym9keT4KKyAgPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8ZGl2IGlkPSJjb250ZW50
Ij48L2Rpdj4KKyAgPC9kaXY+CisgIDxwcmUgaWQ9InJlc3VsdCI+PC9wcmU+Cis8L2JvZHk+Cis8
L2h0bWw+CisK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>182161</attachid>
            <date>2013-01-10 09:53:18 -0800</date>
            <delta_ts>2013-01-11 16:30:58 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-106271-20130110175021.patch</filename>
            <type>text/plain</type>
            <size>7367</size>
            <attacher name="Xianzhu Wang">wangxianzhu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM5MjA2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOThiZmIwZjI0ZGRkZTg1
ZTNlYTc5ZTBmZmI4ZTA3OTA4ZTMzNmNmYS4uMTViMDZjNjRhMjZmMzk2ZWQxZTAwM2RkMDlmNDBh
ZDllMjlmNDZmZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDEzLTAxLTA5ICBYaWFu
emh1IFdhbmcgIDx3YW5neGlhbnpodUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgU29tZXRpbWVz
IFJlbmRlckxheWVyOjp1cGRhdGVOZWVkc0NvbXBvc2l0ZWRTY3JvbGxpbmcgaXMgbm90IGNhbGxl
ZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA2Mjcx
CisKKyAgICAgICAgMS4gSWYgYSBsYXllciBoYXMgbm8gb3V0LW9mLWZsb3cgZGVzY2VuZGFudCwg
bV9oYXNPdXRPZkZsb3dQb3NpdGlvbmVkRGVzY2VuZGFudCB3b24ndCBjaGFuZ2UgYW5kIHdvbid0
IHRyaWdnZXIgdXBkYXRlTmVlZHNDb21wb3NpdGVkU2Nyb2xsaW5nIGluIHVwZGF0ZURlc2NlbmRh
bnREZXBlbmRlbnRGbGFncy4gU2V0IG1faGFzT3V0T2ZGbG93UG9zaXRpb25lZERlc2NlbmRhbnRE
aXJ0eSB0byB0cnVlIGFuZCBjYWxsIHVwZGF0ZU5lZWRzQ29tcG9zaXRlZFNjcm9sbGluZyB3aGVu
IHRoZSBkaXJ0eSBmbGFnIGlzIHRydWUuCisgICAgICAgIDIuIFdoZW4gdGhlIGNvbnRlbnQgc2l6
ZSBjaGFuZ2VzIGNhdXNpbmcgY2hhbmdlIG9mIHNjcm9sbGFibGUgc3RhdHVzLCB1cGRhdGVOZWVk
c0NvbXBvc2l0ZWRTY3JvbGxpbmcgc2hvdWxkIGFsc28gYmUgY2FsbGVkLgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRlc3Q6IGNvbXBvc2l0aW5nL292
ZXJmbG93L2R5bmFtaWMtY29tcG9zaXRlZC1zY3JvbGxpbmctc3RhdHVzLmh0bWwKKworICAgICAg
ICAqIHJlbmRlcmluZy9SZW5kZXJMYXllci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJM
YXllcjo6UmVuZGVyTGF5ZXIpOiBDaGFuZ2VkIHRoZSBpbml0aWFsIHZhbHVlIG9mIG1faGFzT3V0
T2ZGbG93UG9zaXRpb25lZERlc2NlbmRhbnREaXJ0eSB0byB0cnVlIHRvIG1ha2Ugc3VyZSBtX2hh
c091dE9mRmxvd1Bvc2l0aW9uZWREZXNjZW5kYW50IHdpbGwgYmUgdXBkYXRlZCBpbml0aWFsbHku
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6dXBkYXRlRGVzY2VuZGFudERlcGVuZGVu
dEZsYWdzKTogQ2FsbCB1cGRhdGVOZWVkc0NvbXBvc2l0ZWRTY3JvbGxpbmcgd2hlbiBtX2hhc091
dE9mRmxvd1Bvc2l0aW9uZWREZXNjZW5kYW50RGlydHkgaXMgdHJ1ZS4KKyAgICAgICAgKFJlbmRl
ckxheWVyOjp1cGRhdGVTY3JvbGxhYmxlQXJlYVNldCk6IENhbGxzIHVwZGF0ZU5lZWRzQ29tcG9z
aXRlZFNjcm9sbGluZygpIHdoZW4gc2Nyb2xsYWJsZSBzdGF0dXMgY2hhbmdlcy4KKyAgICAgICAg
KiByZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaDoKKyAgICAgICAgKFJlbmRlckxheWVyKToKKwogMjAx
My0wMS0wOSAgU2FtIFdlaW5pZyAgPHNhbUB3ZWJraXQub3JnPgogCiAgICAgICAgIEFkZCBTZXR0
aW5ncy5pbiBhbmQgbWFrZV9zZXR0aW5ncy5wbCB0byB0aGUgcHJvamVjdC4KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCmluZGV4IGRkZjVkMzc5NWM2OGFiMWE2MGE5MDFm
NzFmNDA1OGMyMGVmMThmNGMuLmNiMGQyZmY2ZWE1OTJjMTVkMjU1YWE1YzUwMzU3NWZkOGE4YzQ4
MjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcApAQCAtMTQ4LDcg
KzE0OCw3IEBAIFJlbmRlckxheWVyOjpSZW5kZXJMYXllcihSZW5kZXJMYXllck1vZGVsT2JqZWN0
KiByZW5kZXJlcikKICAgICAsIG1faGFzU2VsZlBhaW50aW5nTGF5ZXJEZXNjZW5kYW50KGZhbHNl
KQogICAgICwgbV9oYXNTZWxmUGFpbnRpbmdMYXllckRlc2NlbmRhbnREaXJ0eShmYWxzZSkKICAg
ICAsIG1faGFzT3V0T2ZGbG93UG9zaXRpb25lZERlc2NlbmRhbnQoZmFsc2UpCi0gICAgLCBtX2hh
c091dE9mRmxvd1Bvc2l0aW9uZWREZXNjZW5kYW50RGlydHkoZmFsc2UpCisgICAgLCBtX2hhc091
dE9mRmxvd1Bvc2l0aW9uZWREZXNjZW5kYW50RGlydHkodHJ1ZSkKICAgICAsIG1fbmVlZHNDb21w
b3NpdGVkU2Nyb2xsaW5nKGZhbHNlKQogICAgICwgbV9kZXNjZW5kYW50c0FyZUNvbnRpZ3VvdXNJ
blN0YWNraW5nT3JkZXIoZmFsc2UpCiAgICAgLCBtX2lzUm9vdExheWVyKHJlbmRlcmVyLT5pc1Jl
bmRlclZpZXcoKSkKQEAgLTEwMjgsMTEgKzEwMjgsMTQgQEAgdm9pZCBSZW5kZXJMYXllcjo6dXBk
YXRlRGVzY2VuZGFudERlcGVuZGVudEZsYWdzKEhhc2hTZXQ8Y29uc3QgUmVuZGVyT2JqZWN0Kj4q
IG8KIAogICAgICAgICBtX3Zpc2libGVEZXNjZW5kYW50U3RhdHVzRGlydHkgPSBmYWxzZTsKICAg
ICAgICAgbV9oYXNTZWxmUGFpbnRpbmdMYXllckRlc2NlbmRhbnREaXJ0eSA9IGZhbHNlOwotICAg
ICAgICBtX2hhc091dE9mRmxvd1Bvc2l0aW9uZWREZXNjZW5kYW50RGlydHkgPSBmYWxzZTsKIAog
I2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykKLSAgICAgICAgaWYgKG9sZEhhc091dE9m
Rmxvd1Bvc2l0aW9uZWREZXNjZW5kYW50ICE9IG1faGFzT3V0T2ZGbG93UG9zaXRpb25lZERlc2Nl
bmRhbnQpCisgICAgICAgIGlmIChtX2hhc091dE9mRmxvd1Bvc2l0aW9uZWREZXNjZW5kYW50RGly
dHkgfHwgb2xkSGFzT3V0T2ZGbG93UG9zaXRpb25lZERlc2NlbmRhbnQgIT0gbV9oYXNPdXRPZkZs
b3dQb3NpdGlvbmVkRGVzY2VuZGFudCkgeworICAgICAgICAgICAgbV9oYXNPdXRPZkZsb3dQb3Np
dGlvbmVkRGVzY2VuZGFudERpcnR5ID0gZmFsc2U7CiAgICAgICAgICAgICB1cGRhdGVOZWVkc0Nv
bXBvc2l0ZWRTY3JvbGxpbmcoKTsKKyAgICAgICAgfQorI2Vsc2UKKyAgICAgICAgbV9oYXNPdXRP
ZkZsb3dQb3NpdGlvbmVkRGVzY2VuZGFudERpcnR5ID0gZmFsc2U7CiAjZW5kaWYKICAgICB9CiAK
QEAgLTU1MzcsMTAgKzU1NDAsMTYgQEAgdm9pZCBSZW5kZXJMYXllcjo6dXBkYXRlU2Nyb2xsYWJs
ZUFyZWFTZXQoYm9vbCBoYXNPdmVyZmxvdykKICAgICBpZiAoSFRNTEZyYW1lT3duZXJFbGVtZW50
KiBvd25lciA9IGZyYW1lLT5vd25lckVsZW1lbnQoKSkKICAgICAgICAgaXNWaXNpYmxlVG9IaXRU
ZXN0ICY9IG93bmVyLT5yZW5kZXJlcigpICYmIG93bmVyLT5yZW5kZXJlcigpLT52aXNpYmxlVG9I
aXRUZXN0aW5nKCk7CiAKLSAgICBpZiAoaGFzT3ZlcmZsb3cgJiYgaXNWaXNpYmxlVG9IaXRUZXN0
KQotICAgICAgICBmcmFtZVZpZXctPmFkZFNjcm9sbGFibGVBcmVhKHRoaXMpOwotICAgIGVsc2UK
LSAgICAgICAgZnJhbWVWaWV3LT5yZW1vdmVTY3JvbGxhYmxlQXJlYSh0aGlzKTsKKyAgICBib29s
IHNob3VsZEJlU2Nyb2xsYWJsZUFyZWEgPSBoYXNPdmVyZmxvdyAmJiBpc1Zpc2libGVUb0hpdFRl
c3Q7CisgICAgaWYgKHNob3VsZEJlU2Nyb2xsYWJsZUFyZWEgIT0gZnJhbWVWaWV3LT5jb250YWlu
c1Njcm9sbGFibGVBcmVhKHRoaXMpKSB7CisgICAgICAgIGlmIChzaG91bGRCZVNjcm9sbGFibGVB
cmVhKQorICAgICAgICAgICAgZnJhbWVWaWV3LT5hZGRTY3JvbGxhYmxlQXJlYSh0aGlzKTsKKyAg
ICAgICAgZWxzZQorICAgICAgICAgICAgZnJhbWVWaWV3LT5yZW1vdmVTY3JvbGxhYmxlQXJlYSh0
aGlzKTsKKyNpZiBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCisgICAgICAgIHVwZGF0ZU5l
ZWRzQ29tcG9zaXRlZFNjcm9sbGluZygpOworI2VuZGlmCisgICAgfQogfQogCiB2b2lkIFJlbmRl
ckxheWVyOjp1cGRhdGVTY3JvbGxDb3JuZXJTdHlsZSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJMYXllci5oCmluZGV4IGRmNDkyMDE4NDRiYWI4ZTBhZWI0ZWRjNjdhNzAzMTcxODYzZTdi
N2YuLjhlNjJiNDFmMzhjZjQ4N2ZiOTQzZDM5MWM3YTc0MjhjODY3N2FhNTcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5oCkBAIC00NzQsNiArNDc0LDcgQEAgcHVibGljOgog
ICAgIC8vIGF1dG9tYXRpY2FsbHkgb3B0IGludG8gY29tcG9zaXRlZCBzY3JvbGxpbmcgc2luY2Ug
dGhpcyBvdXQgb2YgZmxvdwogICAgIC8vIHBvc2l0aW9uZWQgZGVzY2VuZGFudCB3b3VsZCBiZWNv
bWUgY2xpcHBlZCBieSB1cywgcG9zc2libHkgYWx0ZXJpbmcgdGhlIAogICAgIC8vIHJlbmRlcmlu
ZyBvZiB0aGUgcGFnZS4KKyAgICAvLyBGSVhNRTogV2Ugc2hvdWxkIEFTU0VSVCghbV9oYXNPdXRP
ZkZsb3dQb3NpdGlvbmVkRGVzY2VuZGFudERpcnR5KTsgaGVyZSBidXQgd2UgbWF5IGhpdCB0aGUg
c2FtZSBidWdzIGFzIHZpc2libGUgY29udGVudCBhYm92ZS4KICAgICBib29sIGhhc091dE9mRmxv
d1Bvc2l0aW9uZWREZXNjZW5kYW50KCkgY29uc3QgeyByZXR1cm4gbV9oYXNPdXRPZkZsb3dQb3Np
dGlvbmVkRGVzY2VuZGFudDsgfQogCiAgICAgLy8gR2V0cyB0aGUgbmVhcmVzdCBlbmNsb3Npbmcg
cG9zaXRpb25lZCBhbmNlc3RvciBsYXllciAoYWxzbyBpbmNsdWRlcwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGEzY2IzOTRh
ZTllYTIyNjE4YjQ4NThhMTM1YWNhM2NmYzdiNTY3MGEuLmVmZjFhZWFjZTU2ZWI5YTMwY2VhNzc1
ODIxOTY5OTQzN2U3YzFmZjMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysg
Yi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxMy0wMS0wOSAgWGlh
bnpodSBXYW5nICA8d2FuZ3hpYW56aHVAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFNvbWV0aW1l
cyBSZW5kZXJMYXllcjo6dXBkYXRlTmVlZHNDb21wb3NpdGVkU2Nyb2xsaW5nIGlzIG5vdCBjYWxs
ZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNjI3
MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogY29t
cG9zaXRpbmcvb3ZlcmZsb3cvZHluYW1pYy1jb21wb3NpdGVkLXNjcm9sbGluZy1zdGF0dXMtZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBjb21wb3NpdGluZy9vdmVyZmxvdy9keW5hbWlj
LWNvbXBvc2l0ZWQtc2Nyb2xsaW5nLXN0YXR1cy5odG1sOiBBZGRlZC4KKwogMjAxMy0wMS0wOSAg
SnVzdGluIE5vdm9zYWQgIDxqdW5vdkBnb29nbGUuY29tPgogCiAgICAgICAgIE5ldyBjaHJvbWl1
bS13aW4gcGl4ZWwgYmFzZWxpbmUgZm9yIGdyYWRpZW50LWJhY2tncm91bmQtbGVha2FnZS1oaWRw
aS5odG1sCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9vdmVyZmxvdy9keW5h
bWljLWNvbXBvc2l0ZWQtc2Nyb2xsaW5nLXN0YXR1cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9jb21wb3NpdGluZy9vdmVyZmxvdy9keW5hbWljLWNvbXBvc2l0ZWQtc2Nyb2xsaW5nLXN0YXR1
cy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2VmMjJlOWE0MzFhZDAyNzI3MTNiNzFmZGM4Nzk0
MDE2YzhlZjEyZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL292
ZXJmbG93L2R5bmFtaWMtY29tcG9zaXRlZC1zY3JvbGxpbmctc3RhdHVzLWV4cGVjdGVkLnR4dApA
QCAtMCwwICsxIEBACitQQVNTCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9v
dmVyZmxvdy9keW5hbWljLWNvbXBvc2l0ZWQtc2Nyb2xsaW5nLXN0YXR1cy5odG1sIGIvTGF5b3V0
VGVzdHMvY29tcG9zaXRpbmcvb3ZlcmZsb3cvZHluYW1pYy1jb21wb3NpdGVkLXNjcm9sbGluZy1z
dGF0dXMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40MGVlYTVmMmQ1MmUxOThjMjI4YjA1NGE4ZmRjN2Q4YzZi
MzFhZGYxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvb3ZlcmZs
b3cvZHluYW1pYy1jb21wb3NpdGVkLXNjcm9sbGluZy1zdGF0dXMuaHRtbApAQCAtMCwwICsxLDQ0
IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+CisgIDxzdHlsZT4KKyAgICAjY29u
dGFpbmVyIHsKKyAgICAgIHdpZHRoOiAyMDBweDsKKyAgICAgIGhlaWdodDogMjAwcHg7CisgICAg
ICBvdmVyZmxvdzogYXV0bzsKKyAgICB9CisKKyAgICAjY29udGVudCB7CisgICAgICB3aWR0aDog
MTAwcHg7CisgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgYmFja2dyb3VuZC1jb2xvcjogeWVs
bG93OworICAgIH0KKyAgPC9zdHlsZT4KKworICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlw
dCIgY2hhcnNldD0idXRmLTgiPgorICAgIGlmICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgIHRl
c3RSdW5uZXIuZHVtcEFzVGV4dCgpOworCisgICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAg
ICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdGb3JP
dmVyZmxvd1Njcm9sbEVuYWJsZWQodHJ1ZSk7CisKKyAgICBmdW5jdGlvbiBkb1Rlc3QoKQorICAg
IHsKKyAgICAgIGRvY3VtZW50LmJvZHkub2Zmc2V0SGVpZ2h0OworICAgICAgZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoJ2NvbnRlbnQnKS5zdHlsZS5oZWlnaHQgPSAnMTAwMHB4JzsKKyAgICAgIGlm
ICh3aW5kb3cuaW50ZXJuYWxzKQorICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncmVz
dWx0JykuaW5uZXJUZXh0ID0gd2luZG93LmludGVybmFscy5ub25GYXN0U2Nyb2xsYWJsZVJlY3Rz
KGRvY3VtZW50KS5sZW5ndGggPyAiRkFJTCIgOiAiUEFTUyI7CisgICAgfQorCisgICAgd2luZG93
LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCBkb1Rlc3QsIGZhbHNlKTsKKyAgPC9zY3JpcHQ+Cis8
L2hlYWQ+CisKKzxib2R5PgorICA8ZGl2IGlkPSJjb250YWluZXIiPgorICAgIDxkaXYgaWQ9ImNv
bnRlbnQiPjwvZGl2PgorICA8L2Rpdj4KKyAgPHByZSBpZD0icmVzdWx0Ij48L3ByZT4KKzwvYm9k
eT4KKzwvaHRtbD4KKwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>182444</attachid>
            <date>2013-01-11 16:31:01 -0800</date>
            <delta_ts>2013-01-14 15:33:19 -0800</delta_ts>
            <desc>Slightly simplified</desc>
            <filename>bug-106271-20130112002803.patch</filename>
            <type>text/plain</type>
            <size>7907</size>
            <attacher name="Xianzhu Wang">wangxianzhu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM5NTEzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDA3Y2Y2ODEzNWZkOTMw
MGI1ZmIzZTNhNjk2ODRmYzA3MTFkYmJiOS4uNjA4YTVjMzlkYTEyYWYyOGY4NDljMDAxNjZmNDRk
ZjFmYjVlOGVlMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDEzLTAxLTExICBYaWFu
emh1IFdhbmcgIDx3YW5neGlhbnpodUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgU29tZXRpbWVz
IFJlbmRlckxheWVyOjp1cGRhdGVOZWVkc0NvbXBvc2l0ZWRTY3JvbGxpbmcgaXMgbm90IGNhbGxl
ZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA2Mjcx
CisKKyAgICAgICAgMS4gSWYgYSBsYXllciBoYXMgbm8gb3V0LW9mLWZsb3cgZGVzY2VuZGFudCwg
bV9oYXNPdXRPZkZsb3dQb3NpdGlvbmVkRGVzY2VuZGFudCB3b24ndCBjaGFuZ2UgYW5kIHdvbid0
IHRyaWdnZXIgdXBkYXRlTmVlZHNDb21wb3NpdGVkU2Nyb2xsaW5nIGluIHVwZGF0ZURlc2NlbmRh
bnREZXBlbmRlbnRGbGFncy4gU2V0IG1faGFzT3V0T2ZGbG93UG9zaXRpb25lZERlc2NlbmRhbnRE
aXJ0eSB0byB0cnVlIGFuZCBjYWxsIHVwZGF0ZU5lZWRzQ29tcG9zaXRlZFNjcm9sbGluZyB3aGVu
IHRoZSBkaXJ0eSBmbGFnIGJlY29tZXMgZmFsc2UgZnJvbSB0cnVlLgorICAgICAgICAyLiBXaGVu
IHRoZSBjb250ZW50IHNpemUgY2hhbmdlcyBjYXVzaW5nIGNoYW5nZSBvZiBzY3JvbGxhYmxlIHN0
YXR1cywgdXBkYXRlTmVlZHNDb21wb3NpdGVkU2Nyb2xsaW5nIHNob3VsZCBhbHNvIGJlIGNhbGxl
ZC4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0
OiBjb21wb3NpdGluZy9vdmVyZmxvdy9keW5hbWljLWNvbXBvc2l0ZWQtc2Nyb2xsaW5nLXN0YXR1
cy5odG1sCisKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyTGF5ZXI6OlJlbmRlckxheWVyKTogQ2hhbmdlZCB0aGUgaW5pdGlhbCB2
YWx1ZSBvZiBtX2hhc091dE9mRmxvd1Bvc2l0aW9uZWREZXNjZW5kYW50RGlydHkgdG8gdHJ1ZSB0
byBtYWtlIHN1cmUgbV9oYXNPdXRPZkZsb3dQb3NpdGlvbmVkRGVzY2VuZGFudCB3aWxsIGJlIHVw
ZGF0ZWQgaW5pdGlhbGx5LgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OnVwZGF0ZURl
c2NlbmRhbnREZXBlbmRlbnRGbGFncyk6IENhbGwgdXBkYXRlTmVlZHNDb21wb3NpdGVkU2Nyb2xs
aW5nIHdoZW4gbV9oYXNPdXRPZkZsb3dQb3NpdGlvbmVkRGVzY2VuZGFudERpcnR5IGlzIHRydWUu
CisgICAgICAgIChSZW5kZXJMYXllcjo6dXBkYXRlU2Nyb2xsYWJsZUFyZWFTZXQpOiBDYWxscyB1
cGRhdGVOZWVkc0NvbXBvc2l0ZWRTY3JvbGxpbmcoKSB3aGVuIHNjcm9sbGFibGUgc3RhdHVzIGNo
YW5nZXMuCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyLmg6CisgICAgICAgIChSZW5k
ZXJMYXllcik6CisKIDIwMTMtMDEtMTEgIEphbWVzIFNpbW9uc2VuICA8c2ltb25qYW1AY2hyb21p
dW0ub3JnPgogCiAgICAgICAgIFtSZXNvdXJjZSBUaW1pbmddIFhNTEh0dHBSZXF1ZXN0cyBzaG91
bGQgaGF2ZSBpbml0aWF0b3IgdHlwZSAneG1saHR0cHJlcXVlc3QnCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckxheWVyLmNwcAppbmRleCA1YzI4NDE2ZjdiZDQ4NTFjZGRjYmNkNjM5YWVi
ZDQyMzIwY2YwOTI2Li4zZjI3NDc1OWM3NzJmOWZhODY1NWJlNjMzNmIwZjVkNjczNGM4NjY5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAKQEAgLTE0OCw3ICsxNDgs
NyBAQCBSZW5kZXJMYXllcjo6UmVuZGVyTGF5ZXIoUmVuZGVyTGF5ZXJNb2RlbE9iamVjdCogcmVu
ZGVyZXIpCiAgICAgLCBtX2hhc1NlbGZQYWludGluZ0xheWVyRGVzY2VuZGFudChmYWxzZSkKICAg
ICAsIG1faGFzU2VsZlBhaW50aW5nTGF5ZXJEZXNjZW5kYW50RGlydHkoZmFsc2UpCiAgICAgLCBt
X2hhc091dE9mRmxvd1Bvc2l0aW9uZWREZXNjZW5kYW50KGZhbHNlKQotICAgICwgbV9oYXNPdXRP
ZkZsb3dQb3NpdGlvbmVkRGVzY2VuZGFudERpcnR5KGZhbHNlKQorICAgICwgbV9oYXNPdXRPZkZs
b3dQb3NpdGlvbmVkRGVzY2VuZGFudERpcnR5KHRydWUpCiAgICAgLCBtX25lZWRzQ29tcG9zaXRl
ZFNjcm9sbGluZyhmYWxzZSkKICAgICAsIG1fZGVzY2VuZGFudHNBcmVDb250aWd1b3VzSW5TdGFj
a2luZ09yZGVyKGZhbHNlKQogICAgICwgbV9pc1Jvb3RMYXllcihyZW5kZXJlci0+aXNSZW5kZXJW
aWV3KCkpCkBAIC05OTAsOSArOTkwLDYgQEAgdm9pZCBSZW5kZXJMYXllcjo6c2V0QW5jZXN0b3JD
aGFpbkhhc1Zpc2libGVEZXNjZW5kYW50KCkKIHZvaWQgUmVuZGVyTGF5ZXI6OnVwZGF0ZURlc2Nl
bmRhbnREZXBlbmRlbnRGbGFncyhIYXNoU2V0PGNvbnN0IFJlbmRlck9iamVjdCo+KiBvdXRPZkZs
b3dEZXNjZW5kYW50Q29udGFpbmluZ0Jsb2NrcykKIHsKICAgICBpZiAobV92aXNpYmxlRGVzY2Vu
ZGFudFN0YXR1c0RpcnR5IHx8IG1faGFzU2VsZlBhaW50aW5nTGF5ZXJEZXNjZW5kYW50RGlydHkg
fHwgbV9oYXNPdXRPZkZsb3dQb3NpdGlvbmVkRGVzY2VuZGFudERpcnR5KSB7Ci0jaWYgVVNFKEFD
Q0VMRVJBVEVEX0NPTVBPU0lUSU5HKQotICAgICAgICBib29sIG9sZEhhc091dE9mRmxvd1Bvc2l0
aW9uZWREZXNjZW5kYW50ID0gbV9oYXNPdXRPZkZsb3dQb3NpdGlvbmVkRGVzY2VuZGFudDsKLSNl
bmRpZgogICAgICAgICBtX2hhc1Zpc2libGVEZXNjZW5kYW50ID0gZmFsc2U7CiAgICAgICAgIG1f
aGFzU2VsZlBhaW50aW5nTGF5ZXJEZXNjZW5kYW50ID0gZmFsc2U7CiAgICAgICAgIG1faGFzT3V0
T2ZGbG93UG9zaXRpb25lZERlc2NlbmRhbnQgPSBmYWxzZTsKQEAgLTEwMjksMTIgKzEwMjYsMTIg
QEAgdm9pZCBSZW5kZXJMYXllcjo6dXBkYXRlRGVzY2VuZGFudERlcGVuZGVudEZsYWdzKEhhc2hT
ZXQ8Y29uc3QgUmVuZGVyT2JqZWN0Kj4qIG8KIAogICAgICAgICBtX3Zpc2libGVEZXNjZW5kYW50
U3RhdHVzRGlydHkgPSBmYWxzZTsKICAgICAgICAgbV9oYXNTZWxmUGFpbnRpbmdMYXllckRlc2Nl
bmRhbnREaXJ0eSA9IGZhbHNlOwotICAgICAgICBtX2hhc091dE9mRmxvd1Bvc2l0aW9uZWREZXNj
ZW5kYW50RGlydHkgPSBmYWxzZTsKIAogI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykK
LSAgICAgICAgaWYgKG9sZEhhc091dE9mRmxvd1Bvc2l0aW9uZWREZXNjZW5kYW50ICE9IG1faGFz
T3V0T2ZGbG93UG9zaXRpb25lZERlc2NlbmRhbnQpCisgICAgICAgIGlmIChtX2hhc091dE9mRmxv
d1Bvc2l0aW9uZWREZXNjZW5kYW50RGlydHkpCiAgICAgICAgICAgICB1cGRhdGVOZWVkc0NvbXBv
c2l0ZWRTY3JvbGxpbmcoKTsKICNlbmRpZgorICAgICAgICBtX2hhc091dE9mRmxvd1Bvc2l0aW9u
ZWREZXNjZW5kYW50RGlydHkgPSBmYWxzZTsKICAgICB9CiAKICAgICBpZiAobV92aXNpYmxlQ29u
dGVudFN0YXR1c0RpcnR5KSB7CkBAIC01NTQyLDEwICs1NTM5LDE2IEBAIHZvaWQgUmVuZGVyTGF5
ZXI6OnVwZGF0ZVNjcm9sbGFibGVBcmVhU2V0KGJvb2wgaGFzT3ZlcmZsb3cpCiAgICAgaWYgKEhU
TUxGcmFtZU93bmVyRWxlbWVudCogb3duZXIgPSBmcmFtZS0+b3duZXJFbGVtZW50KCkpCiAgICAg
ICAgIGlzVmlzaWJsZVRvSGl0VGVzdCAmPSBvd25lci0+cmVuZGVyZXIoKSAmJiBvd25lci0+cmVu
ZGVyZXIoKS0+dmlzaWJsZVRvSGl0VGVzdGluZygpOwogCi0gICAgaWYgKGhhc092ZXJmbG93ICYm
IGlzVmlzaWJsZVRvSGl0VGVzdCkKLSAgICAgICAgZnJhbWVWaWV3LT5hZGRTY3JvbGxhYmxlQXJl
YSh0aGlzKTsKLSAgICBlbHNlCi0gICAgICAgIGZyYW1lVmlldy0+cmVtb3ZlU2Nyb2xsYWJsZUFy
ZWEodGhpcyk7CisgICAgYm9vbCBzaG91bGRCZVNjcm9sbGFibGVBcmVhID0gaGFzT3ZlcmZsb3cg
JiYgaXNWaXNpYmxlVG9IaXRUZXN0OworICAgIGlmIChzaG91bGRCZVNjcm9sbGFibGVBcmVhICE9
IGZyYW1lVmlldy0+Y29udGFpbnNTY3JvbGxhYmxlQXJlYSh0aGlzKSkgeworICAgICAgICBpZiAo
c2hvdWxkQmVTY3JvbGxhYmxlQXJlYSkKKyAgICAgICAgICAgIGZyYW1lVmlldy0+YWRkU2Nyb2xs
YWJsZUFyZWEodGhpcyk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIGZyYW1lVmlldy0+cmVt
b3ZlU2Nyb2xsYWJsZUFyZWEodGhpcyk7CisjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5H
KQorICAgICAgICB1cGRhdGVOZWVkc0NvbXBvc2l0ZWRTY3JvbGxpbmcoKTsKKyNlbmRpZgorICAg
IH0KIH0KIAogdm9pZCBSZW5kZXJMYXllcjo6dXBkYXRlU2Nyb2xsQ29ybmVyU3R5bGUoKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmggYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaAppbmRleCBiNmJjNjA4MTdjNmYzYTM3MjU2
ZWY2YmViMjYzZGNiNDIyYjQ2ZDkyLi43ZTBkMjcxZDNjZTRiYWI4OTU3NDhmMzE1NTg1ZDRjNmRi
MzVhOWVkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIu
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaApAQCAtNDc0LDYg
KzQ3NCw3IEBAIHB1YmxpYzoKICAgICAvLyBhdXRvbWF0aWNhbGx5IG9wdCBpbnRvIGNvbXBvc2l0
ZWQgc2Nyb2xsaW5nIHNpbmNlIHRoaXMgb3V0IG9mIGZsb3cKICAgICAvLyBwb3NpdGlvbmVkIGRl
c2NlbmRhbnQgd291bGQgYmVjb21lIGNsaXBwZWQgYnkgdXMsIHBvc3NpYmx5IGFsdGVyaW5nIHRo
ZSAKICAgICAvLyByZW5kZXJpbmcgb2YgdGhlIHBhZ2UuCisgICAgLy8gRklYTUU6IFdlIHNob3Vs
ZCBBU1NFUlQoIW1faGFzT3V0T2ZGbG93UG9zaXRpb25lZERlc2NlbmRhbnREaXJ0eSk7IGhlcmUg
YnV0IHdlIG1heSBoaXQgdGhlIHNhbWUgYnVncyBhcyB2aXNpYmxlIGNvbnRlbnQgYWJvdmUuCiAg
ICAgYm9vbCBoYXNPdXRPZkZsb3dQb3NpdGlvbmVkRGVzY2VuZGFudCgpIGNvbnN0IHsgcmV0dXJu
IG1faGFzT3V0T2ZGbG93UG9zaXRpb25lZERlc2NlbmRhbnQ7IH0KIAogICAgIC8vIEdldHMgdGhl
IG5lYXJlc3QgZW5jbG9zaW5nIHBvc2l0aW9uZWQgYW5jZXN0b3IgbGF5ZXIgKGFsc28gaW5jbHVk
ZXMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5n
ZUxvZwppbmRleCBjNDEyNTc0NzBhY2I4YjllNGI1MWFiOTYxOTc3YTkyNTFkNGM4MDMyLi44NGQ3
OGQwMGU2ZDUwMzNmNzc2MjEyNmZkZDA1Y2IyMmRmNTNjOGY2IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMg
QEAKKzIwMTMtMDEtMTEgIFhpYW56aHUgV2FuZyAgPHdhbmd4aWFuemh1QGNocm9taXVtLm9yZz4K
KworICAgICAgICBTb21ldGltZXMgUmVuZGVyTGF5ZXI6OnVwZGF0ZU5lZWRzQ29tcG9zaXRlZFNj
cm9sbGluZyBpcyBub3QgY2FsbGVkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xMDYyNzEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIGNvbXBvc2l0aW5nL292ZXJmbG93L2R5bmFtaWMtY29tcG9zaXRlZC1z
Y3JvbGxpbmctc3RhdHVzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogY29tcG9zaXRp
bmcvb3ZlcmZsb3cvZHluYW1pYy1jb21wb3NpdGVkLXNjcm9sbGluZy1zdGF0dXMuaHRtbDogQWRk
ZWQuCisKIDIwMTMtMDEtMTEgIEphbWVzIFNpbW9uc2VuICA8c2ltb25qYW1AY2hyb21pdW0ub3Jn
PgogCiAgICAgICAgIFtSZXNvdXJjZSBUaW1pbmddIFhNTEh0dHBSZXF1ZXN0cyBzaG91bGQgaGF2
ZSBpbml0aWF0b3IgdHlwZSAneG1saHR0cHJlcXVlc3QnCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9jb21wb3NpdGluZy9vdmVyZmxvdy9keW5hbWljLWNvbXBvc2l0ZWQtc2Nyb2xsaW5nLXN0YXR1
cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9vdmVyZmxvdy9keW5hbWlj
LWNvbXBvc2l0ZWQtc2Nyb2xsaW5nLXN0YXR1cy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2Vm
MjJlOWE0MzFhZDAyNzI3MTNiNzFmZGM4Nzk0MDE2YzhlZjEyZgotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL292ZXJmbG93L2R5bmFtaWMtY29tcG9zaXRlZC1zY3Jv
bGxpbmctc3RhdHVzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxIEBACitQQVNTCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9vdmVyZmxvdy9keW5hbWljLWNvbXBvc2l0ZWQtc2Ny
b2xsaW5nLXN0YXR1cy5odG1sIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvb3ZlcmZsb3cvZHlu
YW1pYy1jb21wb3NpdGVkLXNjcm9sbGluZy1zdGF0dXMuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40MGVlYTVm
MmQ1MmUxOThjMjI4YjA1NGE4ZmRjN2Q4YzZiMzFhZGYxCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvY29tcG9zaXRpbmcvb3ZlcmZsb3cvZHluYW1pYy1jb21wb3NpdGVkLXNjcm9sbGlu
Zy1zdGF0dXMuaHRtbApAQCAtMCwwICsxLDQ0IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgor
PGhlYWQ+CisgIDxzdHlsZT4KKyAgICAjY29udGFpbmVyIHsKKyAgICAgIHdpZHRoOiAyMDBweDsK
KyAgICAgIGhlaWdodDogMjAwcHg7CisgICAgICBvdmVyZmxvdzogYXV0bzsKKyAgICB9CisKKyAg
ICAjY29udGVudCB7CisgICAgICB3aWR0aDogMTAwcHg7CisgICAgICBoZWlnaHQ6IDEwMHB4Owor
ICAgICAgYmFja2dyb3VuZC1jb2xvcjogeWVsbG93OworICAgIH0KKyAgPC9zdHlsZT4KKworICA8
c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgY2hhcnNldD0idXRmLTgiPgorICAgIGlmICh3
aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOworCisgICAg
aWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNl
dEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdGb3JPdmVyZmxvd1Njcm9sbEVuYWJsZWQodHJ1ZSk7CisK
KyAgICBmdW5jdGlvbiBkb1Rlc3QoKQorICAgIHsKKyAgICAgIGRvY3VtZW50LmJvZHkub2Zmc2V0
SGVpZ2h0OworICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NvbnRlbnQnKS5zdHlsZS5o
ZWlnaHQgPSAnMTAwMHB4JzsKKyAgICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQorICAgICAgICBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgncmVzdWx0JykuaW5uZXJUZXh0ID0gd2luZG93LmludGVy
bmFscy5ub25GYXN0U2Nyb2xsYWJsZVJlY3RzKGRvY3VtZW50KS5sZW5ndGggPyAiRkFJTCIgOiAi
UEFTUyI7CisgICAgfQorCisgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCBkb1Rl
c3QsIGZhbHNlKTsKKyAgPC9zY3JpcHQ+Cis8L2hlYWQ+CisKKzxib2R5PgorICA8ZGl2IGlkPSJj
b250YWluZXIiPgorICAgIDxkaXYgaWQ9ImNvbnRlbnQiPjwvZGl2PgorICA8L2Rpdj4KKyAgPHBy
ZSBpZD0icmVzdWx0Ij48L3ByZT4KKzwvYm9keT4KKzwvaHRtbD4KKwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>182638</attachid>
            <date>2013-01-14 15:33:21 -0800</date>
            <delta_ts>2013-01-14 15:42:40 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-106271-20130114233022.patch</filename>
            <type>text/plain</type>
            <size>9924</size>
            <attacher name="Xianzhu Wang">wangxianzhu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM5NjYzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjU2ODJkMmQ2MTYwZTQ0
NGYyNjdmMjk2OTAzNDJiYzFiNWZmNGJjNi4uNWE0NDEzMjcxOWM0MGUwYWQyODMwMzA2YmE5ZjIw
ZWRmMDYyMzNhNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDEzLTAxLTExICBYaWFu
emh1IFdhbmcgIDx3YW5neGlhbnpodUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgU29tZXRpbWVz
IFJlbmRlckxheWVyOjp1cGRhdGVOZWVkc0NvbXBvc2l0ZWRTY3JvbGxpbmcgaXMgbm90IGNhbGxl
ZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA2Mjcx
CisKKyAgICAgICAgMS4gSWYgYSBsYXllciBoYXMgbm8gb3V0LW9mLWZsb3cgZGVzY2VuZGFudCwg
bV9oYXNPdXRPZkZsb3dQb3NpdGlvbmVkRGVzY2VuZGFudCB3b24ndCBjaGFuZ2UgYW5kIHdvbid0
IHRyaWdnZXIgdXBkYXRlTmVlZHNDb21wb3NpdGVkU2Nyb2xsaW5nIGluIHVwZGF0ZURlc2NlbmRh
bnREZXBlbmRlbnRGbGFncy4gU2V0IG1faGFzT3V0T2ZGbG93UG9zaXRpb25lZERlc2NlbmRhbnRE
aXJ0eSB0byB0cnVlIGFuZCBjYWxsIHVwZGF0ZU5lZWRzQ29tcG9zaXRlZFNjcm9sbGluZyB3aGVu
IHRoZSBkaXJ0eSBmbGFnIGJlY29tZXMgZmFsc2UgZnJvbSB0cnVlLgorICAgICAgICAyLiBXaGVu
IHRoZSBjb250ZW50IHNpemUgY2hhbmdlcyBjYXVzaW5nIGNoYW5nZSBvZiBzY3JvbGxhYmxlIHN0
YXR1cywgdXBkYXRlTmVlZHNDb21wb3NpdGVkU2Nyb2xsaW5nIHNob3VsZCBhbHNvIGJlIGNhbGxl
ZC4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0
OiBjb21wb3NpdGluZy9vdmVyZmxvdy9keW5hbWljLWNvbXBvc2l0ZWQtc2Nyb2xsaW5nLXN0YXR1
cy5odG1sCisKKyAgICAgICAgKiBwYWdlL0ZyYW1lVmlldy5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpGcmFtZVZpZXc6OmFkZFNjcm9sbGFibGVBcmVhKTogUmV0dXJucyB3aGV0aGVyIHRoZSBzY3Jv
bGxhYmxlIGFyZWEgaXMgbmV3bHkgYWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpGcmFtZVZpZXc6
OnJlbW92ZVNjcm9sbGFibGVBcmVhKTogUmV0dXJucyB3aGV0aGVyIHRoZSBzY3JvbGxhYmxlIGFy
ZWEgaXMganVzdCByZW1vdmVkLgorICAgICAgICAqIHBhZ2UvRnJhbWVWaWV3Lmg6CisgICAgICAg
IChGcmFtZVZpZXcpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6UmVuZGVyTGF5ZXIpOiBDaGFuZ2VkIHRoZSBpbml0
aWFsIHZhbHVlIG9mIG1faGFzT3V0T2ZGbG93UG9zaXRpb25lZERlc2NlbmRhbnREaXJ0eSB0byB0
cnVlIHRvIG1ha2Ugc3VyZSBtX2hhc091dE9mRmxvd1Bvc2l0aW9uZWREZXNjZW5kYW50IHdpbGwg
YmUgdXBkYXRlZCBpbml0aWFsbHkuCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6dXBk
YXRlRGVzY2VuZGFudERlcGVuZGVudEZsYWdzKTogQ2FsbCB1cGRhdGVOZWVkc0NvbXBvc2l0ZWRT
Y3JvbGxpbmcgd2hlbiBtX2hhc091dE9mRmxvd1Bvc2l0aW9uZWREZXNjZW5kYW50RGlydHkgaXMg
dHJ1ZS4KKyAgICAgICAgKFJlbmRlckxheWVyOjp1cGRhdGVTY3JvbGxhYmxlQXJlYVNldCk6IENh
bGxzIHVwZGF0ZU5lZWRzQ29tcG9zaXRlZFNjcm9sbGluZygpIHdoZW4gc2Nyb2xsYWJsZSBzdGF0
dXMgY2hhbmdlcy4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaDoKKyAgICAgICAg
KFJlbmRlckxheWVyKToKKwogMjAxMy0wMS0xNCAgRG9taW5pYyBNYXp6b25pICA8ZG1henpvbmlA
Z29vZ2xlLmNvbT4KIAogICAgICAgICBBWDogTmVlZCB0byBpbXBsZW1lbnQgQ29sb3JXZWxsUm9s
ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCmluZGV4IGRlNTM2MTUzNjdhZTYxYTM4OWY2NWQw
N2I3Y2U0YTAxODJkOTZmZmQuLmM0NjQ2YWQ3MmY0YWY3ZDE3OTE0NWM4NWI3YjA5NmUyM2YzYjlj
OTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKQEAgLTM3MjksMTggKzM3MjksMjQgQEAg
U3RyaW5nIEZyYW1lVmlldzo6dHJhY2tlZFJlcGFpbnRSZWN0c0FzVGV4dCgpIGNvbnN0CiAgICAg
cmV0dXJuIHRzLnJlbGVhc2UoKTsKIH0KIAotdm9pZCBGcmFtZVZpZXc6OmFkZFNjcm9sbGFibGVB
cmVhKFNjcm9sbGFibGVBcmVhKiBzY3JvbGxhYmxlQXJlYSkKK2Jvb2wgRnJhbWVWaWV3OjphZGRT
Y3JvbGxhYmxlQXJlYShTY3JvbGxhYmxlQXJlYSogc2Nyb2xsYWJsZUFyZWEpCiB7CiAgICAgaWYg
KCFtX3Njcm9sbGFibGVBcmVhcykKICAgICAgICAgbV9zY3JvbGxhYmxlQXJlYXMgPSBhZG9wdFB0
cihuZXcgU2Nyb2xsYWJsZUFyZWFTZXQpOwotICAgIG1fc2Nyb2xsYWJsZUFyZWFzLT5hZGQoc2Ny
b2xsYWJsZUFyZWEpOworICAgIHJldHVybiBtX3Njcm9sbGFibGVBcmVhcy0+YWRkKHNjcm9sbGFi
bGVBcmVhKS5pc05ld0VudHJ5OwogfQogCi12b2lkIEZyYW1lVmlldzo6cmVtb3ZlU2Nyb2xsYWJs
ZUFyZWEoU2Nyb2xsYWJsZUFyZWEqIHNjcm9sbGFibGVBcmVhKQorYm9vbCBGcmFtZVZpZXc6OnJl
bW92ZVNjcm9sbGFibGVBcmVhKFNjcm9sbGFibGVBcmVhKiBzY3JvbGxhYmxlQXJlYSkKIHsKICAg
ICBpZiAoIW1fc2Nyb2xsYWJsZUFyZWFzKQotICAgICAgICByZXR1cm47Ci0gICAgbV9zY3JvbGxh
YmxlQXJlYXMtPnJlbW92ZShzY3JvbGxhYmxlQXJlYSk7CisgICAgICAgIHJldHVybiBmYWxzZTsK
KworICAgIFNjcm9sbGFibGVBcmVhU2V0OjppdGVyYXRvciBpdCA9IG1fc2Nyb2xsYWJsZUFyZWFz
LT5maW5kKHNjcm9sbGFibGVBcmVhKTsKKyAgICBpZiAoaXQgPT0gbV9zY3JvbGxhYmxlQXJlYXMt
PmVuZCgpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBtX3Njcm9sbGFibGVBcmVhcy0+
cmVtb3ZlKGl0KTsKKyAgICByZXR1cm4gdHJ1ZTsKIH0KIAogYm9vbCBGcmFtZVZpZXc6OmNvbnRh
aW5zU2Nyb2xsYWJsZUFyZWEoU2Nyb2xsYWJsZUFyZWEqIHNjcm9sbGFibGVBcmVhKSBjb25zdApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuaCBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvRnJhbWVWaWV3LmgKaW5kZXggY2FmY2RiYmEyOTllNzg2YWMxZGUwNzk3ZWJhODk3
YjI3ZWYzNzgyYS4uYjc0ZDJiYzMxMjUxNDU1Y2FiMTA4ZTQ1MGEwZTU3Yjk1YWZhNDk5ZiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0ZyYW1lVmlldy5oCkBAIC0zNDYsOCArMzQ2LDggQEAgcHVibGljOgogICAgIFN0
cmluZyB0cmFja2VkUmVwYWludFJlY3RzQXNUZXh0KCkgY29uc3Q7CiAKICAgICB0eXBlZGVmIEhh
c2hTZXQ8U2Nyb2xsYWJsZUFyZWEqPiBTY3JvbGxhYmxlQXJlYVNldDsKLSAgICB2b2lkIGFkZFNj
cm9sbGFibGVBcmVhKFNjcm9sbGFibGVBcmVhKik7Ci0gICAgdm9pZCByZW1vdmVTY3JvbGxhYmxl
QXJlYShTY3JvbGxhYmxlQXJlYSopOworICAgIGJvb2wgYWRkU2Nyb2xsYWJsZUFyZWEoU2Nyb2xs
YWJsZUFyZWEqKTsKKyAgICBib29sIHJlbW92ZVNjcm9sbGFibGVBcmVhKFNjcm9sbGFibGVBcmVh
Kik7CiAgICAgYm9vbCBjb250YWluc1Njcm9sbGFibGVBcmVhKFNjcm9sbGFibGVBcmVhKikgY29u
c3Q7CiAgICAgY29uc3QgU2Nyb2xsYWJsZUFyZWFTZXQqIHNjcm9sbGFibGVBcmVhcygpIGNvbnN0
IHsgcmV0dXJuIG1fc2Nyb2xsYWJsZUFyZWFzLmdldCgpOyB9CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCmluZGV4IDVjMjg0MTZmN2JkNDg1MWNkZGNiY2Q2MzlhZWJk
NDIzMjBjZjA5MjYuLjQwM2RhYWNiMzUzYjRjZTk5MDQ2N2QyZWU0OWU5NjZkZWY0YmQ5MDcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcApAQCAtMTQ4LDcgKzE0OCw3
IEBAIFJlbmRlckxheWVyOjpSZW5kZXJMYXllcihSZW5kZXJMYXllck1vZGVsT2JqZWN0KiByZW5k
ZXJlcikKICAgICAsIG1faGFzU2VsZlBhaW50aW5nTGF5ZXJEZXNjZW5kYW50KGZhbHNlKQogICAg
ICwgbV9oYXNTZWxmUGFpbnRpbmdMYXllckRlc2NlbmRhbnREaXJ0eShmYWxzZSkKICAgICAsIG1f
aGFzT3V0T2ZGbG93UG9zaXRpb25lZERlc2NlbmRhbnQoZmFsc2UpCi0gICAgLCBtX2hhc091dE9m
Rmxvd1Bvc2l0aW9uZWREZXNjZW5kYW50RGlydHkoZmFsc2UpCisgICAgLCBtX2hhc091dE9mRmxv
d1Bvc2l0aW9uZWREZXNjZW5kYW50RGlydHkodHJ1ZSkKICAgICAsIG1fbmVlZHNDb21wb3NpdGVk
U2Nyb2xsaW5nKGZhbHNlKQogICAgICwgbV9kZXNjZW5kYW50c0FyZUNvbnRpZ3VvdXNJblN0YWNr
aW5nT3JkZXIoZmFsc2UpCiAgICAgLCBtX2lzUm9vdExheWVyKHJlbmRlcmVyLT5pc1JlbmRlclZp
ZXcoKSkKQEAgLTk5MCw5ICs5OTAsNiBAQCB2b2lkIFJlbmRlckxheWVyOjpzZXRBbmNlc3RvckNo
YWluSGFzVmlzaWJsZURlc2NlbmRhbnQoKQogdm9pZCBSZW5kZXJMYXllcjo6dXBkYXRlRGVzY2Vu
ZGFudERlcGVuZGVudEZsYWdzKEhhc2hTZXQ8Y29uc3QgUmVuZGVyT2JqZWN0Kj4qIG91dE9mRmxv
d0Rlc2NlbmRhbnRDb250YWluaW5nQmxvY2tzKQogewogICAgIGlmIChtX3Zpc2libGVEZXNjZW5k
YW50U3RhdHVzRGlydHkgfHwgbV9oYXNTZWxmUGFpbnRpbmdMYXllckRlc2NlbmRhbnREaXJ0eSB8
fCBtX2hhc091dE9mRmxvd1Bvc2l0aW9uZWREZXNjZW5kYW50RGlydHkpIHsKLSNpZiBVU0UoQUND
RUxFUkFURURfQ09NUE9TSVRJTkcpCi0gICAgICAgIGJvb2wgb2xkSGFzT3V0T2ZGbG93UG9zaXRp
b25lZERlc2NlbmRhbnQgPSBtX2hhc091dE9mRmxvd1Bvc2l0aW9uZWREZXNjZW5kYW50OwotI2Vu
ZGlmCiAgICAgICAgIG1faGFzVmlzaWJsZURlc2NlbmRhbnQgPSBmYWxzZTsKICAgICAgICAgbV9o
YXNTZWxmUGFpbnRpbmdMYXllckRlc2NlbmRhbnQgPSBmYWxzZTsKICAgICAgICAgbV9oYXNPdXRP
ZkZsb3dQb3NpdGlvbmVkRGVzY2VuZGFudCA9IGZhbHNlOwpAQCAtMTAyOSwxMiArMTAyNiwxMiBA
QCB2b2lkIFJlbmRlckxheWVyOjp1cGRhdGVEZXNjZW5kYW50RGVwZW5kZW50RmxhZ3MoSGFzaFNl
dDxjb25zdCBSZW5kZXJPYmplY3QqPiogbwogCiAgICAgICAgIG1fdmlzaWJsZURlc2NlbmRhbnRT
dGF0dXNEaXJ0eSA9IGZhbHNlOwogICAgICAgICBtX2hhc1NlbGZQYWludGluZ0xheWVyRGVzY2Vu
ZGFudERpcnR5ID0gZmFsc2U7Ci0gICAgICAgIG1faGFzT3V0T2ZGbG93UG9zaXRpb25lZERlc2Nl
bmRhbnREaXJ0eSA9IGZhbHNlOwogCiAjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQot
ICAgICAgICBpZiAob2xkSGFzT3V0T2ZGbG93UG9zaXRpb25lZERlc2NlbmRhbnQgIT0gbV9oYXNP
dXRPZkZsb3dQb3NpdGlvbmVkRGVzY2VuZGFudCkKKyAgICAgICAgaWYgKG1faGFzT3V0T2ZGbG93
UG9zaXRpb25lZERlc2NlbmRhbnREaXJ0eSkKICAgICAgICAgICAgIHVwZGF0ZU5lZWRzQ29tcG9z
aXRlZFNjcm9sbGluZygpOwogI2VuZGlmCisgICAgICAgIG1faGFzT3V0T2ZGbG93UG9zaXRpb25l
ZERlc2NlbmRhbnREaXJ0eSA9IGZhbHNlOwogICAgIH0KIAogICAgIGlmIChtX3Zpc2libGVDb250
ZW50U3RhdHVzRGlydHkpIHsKQEAgLTU1NDIsMTAgKzU1MzksMTIgQEAgdm9pZCBSZW5kZXJMYXll
cjo6dXBkYXRlU2Nyb2xsYWJsZUFyZWFTZXQoYm9vbCBoYXNPdmVyZmxvdykKICAgICBpZiAoSFRN
TEZyYW1lT3duZXJFbGVtZW50KiBvd25lciA9IGZyYW1lLT5vd25lckVsZW1lbnQoKSkKICAgICAg
ICAgaXNWaXNpYmxlVG9IaXRUZXN0ICY9IG93bmVyLT5yZW5kZXJlcigpICYmIG93bmVyLT5yZW5k
ZXJlcigpLT52aXNpYmxlVG9IaXRUZXN0aW5nKCk7CiAKLSAgICBpZiAoaGFzT3ZlcmZsb3cgJiYg
aXNWaXNpYmxlVG9IaXRUZXN0KQotICAgICAgICBmcmFtZVZpZXctPmFkZFNjcm9sbGFibGVBcmVh
KHRoaXMpOwotICAgIGVsc2UKLSAgICAgICAgZnJhbWVWaWV3LT5yZW1vdmVTY3JvbGxhYmxlQXJl
YSh0aGlzKTsKKyAgICBpZiAoaGFzT3ZlcmZsb3cgJiYgaXNWaXNpYmxlVG9IaXRUZXN0ID8gZnJh
bWVWaWV3LT5hZGRTY3JvbGxhYmxlQXJlYSh0aGlzKSA6IGZyYW1lVmlldy0+cmVtb3ZlU2Nyb2xs
YWJsZUFyZWEodGhpcykpCisjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQorICAgICAg
ICB1cGRhdGVOZWVkc0NvbXBvc2l0ZWRTY3JvbGxpbmcoKTsKKyNlbHNlCisgICAgICAgIHJldHVy
bjsKKyNlbmRpZgogfQogCiB2b2lkIFJlbmRlckxheWVyOjp1cGRhdGVTY3JvbGxDb3JuZXJTdHls
ZSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaCBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5oCmluZGV4IGI2YmM2MDgxN2M2
ZjNhMzcyNTZlZjZiZWIyNjNkY2I0MjJiNDZkOTIuLjdlMGQyNzFkM2NlNGJhYjg5NTc0OGYzMTU1
ODVkNGM2ZGIzNWE5ZWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJMYXllci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5oCkBA
IC00NzQsNiArNDc0LDcgQEAgcHVibGljOgogICAgIC8vIGF1dG9tYXRpY2FsbHkgb3B0IGludG8g
Y29tcG9zaXRlZCBzY3JvbGxpbmcgc2luY2UgdGhpcyBvdXQgb2YgZmxvdwogICAgIC8vIHBvc2l0
aW9uZWQgZGVzY2VuZGFudCB3b3VsZCBiZWNvbWUgY2xpcHBlZCBieSB1cywgcG9zc2libHkgYWx0
ZXJpbmcgdGhlIAogICAgIC8vIHJlbmRlcmluZyBvZiB0aGUgcGFnZS4KKyAgICAvLyBGSVhNRTog
V2Ugc2hvdWxkIEFTU0VSVCghbV9oYXNPdXRPZkZsb3dQb3NpdGlvbmVkRGVzY2VuZGFudERpcnR5
KTsgaGVyZSBidXQgd2UgbWF5IGhpdCB0aGUgc2FtZSBidWdzIGFzIHZpc2libGUgY29udGVudCBh
Ym92ZS4KICAgICBib29sIGhhc091dE9mRmxvd1Bvc2l0aW9uZWREZXNjZW5kYW50KCkgY29uc3Qg
eyByZXR1cm4gbV9oYXNPdXRPZkZsb3dQb3NpdGlvbmVkRGVzY2VuZGFudDsgfQogCiAgICAgLy8g
R2V0cyB0aGUgbmVhcmVzdCBlbmNsb3NpbmcgcG9zaXRpb25lZCBhbmNlc3RvciBsYXllciAoYWxz
byBpbmNsdWRlcwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCmluZGV4IDY2YzlkNGUwOGI4MzA2ZDdkNjM1ZGExMjExOGZhYzYzYzJmNGM5
YzEuLjc1ODBiMGZlOThiOWQ4NTJhYTcwYWNmNThkNDQ3ZWQzM2NmMDhiOTcgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxMyBAQAorMjAxMy0wMS0xMSAgWGlhbnpodSBXYW5nICA8d2FuZ3hpYW56aHVAY2hyb21p
dW0ub3JnPgorCisgICAgICAgIFNvbWV0aW1lcyBSZW5kZXJMYXllcjo6dXBkYXRlTmVlZHNDb21w
b3NpdGVkU2Nyb2xsaW5nIGlzIG5vdCBjYWxsZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTEwNjI3MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgICogY29tcG9zaXRpbmcvb3ZlcmZsb3cvZHluYW1pYy1jb21w
b3NpdGVkLXNjcm9sbGluZy1zdGF0dXMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBj
b21wb3NpdGluZy9vdmVyZmxvdy9keW5hbWljLWNvbXBvc2l0ZWQtc2Nyb2xsaW5nLXN0YXR1cy5o
dG1sOiBBZGRlZC4KKwogMjAxMy0wMS0xNCAgRG9taW5pYyBNYXp6b25pICA8ZG1henpvbmlAZ29v
Z2xlLmNvbT4KIAogICAgICAgICBBWDogTmVlZCB0byBpbXBsZW1lbnQgQ29sb3JXZWxsUm9sZQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvb3ZlcmZsb3cvZHluYW1pYy1jb21w
b3NpdGVkLXNjcm9sbGluZy1zdGF0dXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvY29tcG9z
aXRpbmcvb3ZlcmZsb3cvZHluYW1pYy1jb21wb3NpdGVkLXNjcm9sbGluZy1zdGF0dXMtZXhwZWN0
ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjdlZjIyZTlhNDMxYWQwMjcyNzEzYjcxZmRjODc5NDAxNmM4ZWYx
MmYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9vdmVyZmxvdy9k
eW5hbWljLWNvbXBvc2l0ZWQtc2Nyb2xsaW5nLXN0YXR1cy1leHBlY3RlZC50eHQKQEAgLTAsMCAr
MSBAQAorUEFTUwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvb3ZlcmZsb3cv
ZHluYW1pYy1jb21wb3NpdGVkLXNjcm9sbGluZy1zdGF0dXMuaHRtbCBiL0xheW91dFRlc3RzL2Nv
bXBvc2l0aW5nL292ZXJmbG93L2R5bmFtaWMtY29tcG9zaXRlZC1zY3JvbGxpbmctc3RhdHVzLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNDBlZWE1ZjJkNTJlMTk4YzIyOGIwNTRhOGZkYzdkOGM2YjMxYWRmMQot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL292ZXJmbG93L2R5bmFt
aWMtY29tcG9zaXRlZC1zY3JvbGxpbmctc3RhdHVzLmh0bWwKQEAgLTAsMCArMSw0NCBAQAorPCFE
T0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorICA8c3R5bGU+CisgICAgI2NvbnRhaW5lciB7
CisgICAgICB3aWR0aDogMjAwcHg7CisgICAgICBoZWlnaHQ6IDIwMHB4OworICAgICAgb3ZlcmZs
b3c6IGF1dG87CisgICAgfQorCisgICAgI2NvbnRlbnQgeworICAgICAgd2lkdGg6IDEwMHB4Owor
ICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgIGJhY2tncm91bmQtY29sb3I6IHllbGxvdzsKKyAg
ICB9CisgIDwvc3R5bGU+CisKKyAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiIGNoYXJz
ZXQ9InV0Zi04Ij4KKyAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpCisgICAgICB0ZXN0UnVubmVy
LmR1bXBBc1RleHQoKTsKKworICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQorICAgICAgd2luZG93
LmludGVybmFscy5zZXR0aW5ncy5zZXRBY2NlbGVyYXRlZENvbXBvc2l0aW5nRm9yT3ZlcmZsb3dT
Y3JvbGxFbmFibGVkKHRydWUpOworCisgICAgZnVuY3Rpb24gZG9UZXN0KCkKKyAgICB7CisgICAg
ICBkb2N1bWVudC5ib2R5Lm9mZnNldEhlaWdodDsKKyAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCdjb250ZW50Jykuc3R5bGUuaGVpZ2h0ID0gJzEwMDBweCc7CisgICAgICBpZiAod2luZG93
LmludGVybmFscykKKyAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Jlc3VsdCcpLmlu
bmVyVGV4dCA9IHdpbmRvdy5pbnRlcm5hbHMubm9uRmFzdFNjcm9sbGFibGVSZWN0cyhkb2N1bWVu
dCkubGVuZ3RoID8gIkZBSUwiIDogIlBBU1MiOworICAgIH0KKworICAgIHdpbmRvdy5hZGRFdmVu
dExpc3RlbmVyKCdsb2FkJywgZG9UZXN0LCBmYWxzZSk7CisgIDwvc2NyaXB0PgorPC9oZWFkPgor
Cis8Ym9keT4KKyAgPGRpdiBpZD0iY29udGFpbmVyIj4KKyAgICA8ZGl2IGlkPSJjb250ZW50Ij48
L2Rpdj4KKyAgPC9kaXY+CisgIDxwcmUgaWQ9InJlc3VsdCI+PC9wcmU+Cis8L2JvZHk+Cis8L2h0
bWw+CisK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>182639</attachid>
            <date>2013-01-14 15:42:50 -0800</date>
            <delta_ts>2013-01-14 17:15:11 -0800</delta_ts>
            <desc>for landing</desc>
            <filename>bug-106271-20130114233951.patch</filename>
            <type>text/plain</type>
            <size>10076</size>
            <attacher name="Xianzhu Wang">wangxianzhu</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM5NjYzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMjU2ODJkMmQ2MTYwZTQ0
NGYyNjdmMjk2OTAzNDJiYzFiNWZmNGJjNi4uNDU4ZmE1NzZiMzE3YTYyMWVkYjRhMTg3MTViNjdj
MGQzZDcyMTIxMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDEzLTAxLTExICBYaWFu
emh1IFdhbmcgIDx3YW5neGlhbnpodUBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgU29tZXRpbWVz
IFJlbmRlckxheWVyOjp1cGRhdGVOZWVkc0NvbXBvc2l0ZWRTY3JvbGxpbmcgaXMgbm90IGNhbGxl
ZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA2Mjcx
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgU2ltb24gRnJhc2VyLgorCisgICAgICAgIDEuIElmIGEg
bGF5ZXIgaGFzIG5vIG91dC1vZi1mbG93IGRlc2NlbmRhbnQsIG1faGFzT3V0T2ZGbG93UG9zaXRp
b25lZERlc2NlbmRhbnQgd29uJ3QgY2hhbmdlIGFuZCB3b24ndCB0cmlnZ2VyIHVwZGF0ZU5lZWRz
Q29tcG9zaXRlZFNjcm9sbGluZyBpbiB1cGRhdGVEZXNjZW5kYW50RGVwZW5kZW50RmxhZ3MuIFNl
dCBtX2hhc091dE9mRmxvd1Bvc2l0aW9uZWREZXNjZW5kYW50RGlydHkgdG8gdHJ1ZSBhbmQgY2Fs
bCB1cGRhdGVOZWVkc0NvbXBvc2l0ZWRTY3JvbGxpbmcgd2hlbiB0aGUgZGlydHkgZmxhZyBiZWNv
bWVzIGZhbHNlIGZyb20gdHJ1ZS4KKyAgICAgICAgMi4gV2hlbiB0aGUgY29udGVudCBzaXplIGNo
YW5nZXMgY2F1c2luZyBjaGFuZ2Ugb2Ygc2Nyb2xsYWJsZSBzdGF0dXMsIHVwZGF0ZU5lZWRzQ29t
cG9zaXRlZFNjcm9sbGluZyBzaG91bGQgYWxzbyBiZSBjYWxsZWQuCisKKyAgICAgICAgVGVzdDog
Y29tcG9zaXRpbmcvb3ZlcmZsb3cvZHluYW1pYy1jb21wb3NpdGVkLXNjcm9sbGluZy1zdGF0dXMu
aHRtbAorCisgICAgICAgICogcGFnZS9GcmFtZVZpZXcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
RnJhbWVWaWV3OjphZGRTY3JvbGxhYmxlQXJlYSk6IFJldHVybnMgd2hldGhlciB0aGUgc2Nyb2xs
YWJsZSBhcmVhIGhhcyBqdXN0IGJlZW4gbmV3bHkgYWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpG
cmFtZVZpZXc6OnJlbW92ZVNjcm9sbGFibGVBcmVhKTogUmV0dXJucyB3aGV0aGVyIHRoZSBzY3Jv
bGxhYmxlIGFyZWEgaGFzIGp1c3QgYmVlbiByZW1vdmVkLgorICAgICAgICAqIHBhZ2UvRnJhbWVW
aWV3Lmg6CisgICAgICAgIChGcmFtZVZpZXcpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJM
YXllci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6UmVuZGVyTGF5ZXIpOiBD
aGFuZ2VkIHRoZSBpbml0aWFsIHZhbHVlIG9mIG1faGFzT3V0T2ZGbG93UG9zaXRpb25lZERlc2Nl
bmRhbnREaXJ0eSB0byB0cnVlIHRvIG1ha2Ugc3VyZSBtX2hhc091dE9mRmxvd1Bvc2l0aW9uZWRE
ZXNjZW5kYW50IHdpbGwgYmUgdXBkYXRlZCBpbml0aWFsbHkuCisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJMYXllcjo6dXBkYXRlRGVzY2VuZGFudERlcGVuZGVudEZsYWdzKTogQ2FsbCB1cGRhdGVO
ZWVkc0NvbXBvc2l0ZWRTY3JvbGxpbmcgd2hlbiBtX2hhc091dE9mRmxvd1Bvc2l0aW9uZWREZXNj
ZW5kYW50RGlydHkgaXMgdHJ1ZS4KKyAgICAgICAgKFJlbmRlckxheWVyOjp1cGRhdGVTY3JvbGxh
YmxlQXJlYVNldCk6IENhbGxzIHVwZGF0ZU5lZWRzQ29tcG9zaXRlZFNjcm9sbGluZygpIHdoZW4g
c2Nyb2xsYWJsZSBzdGF0dXMgY2hhbmdlcy4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5
ZXIuaDoKKyAgICAgICAgKFJlbmRlckxheWVyKToKKwogMjAxMy0wMS0xNCAgRG9taW5pYyBNYXp6
b25pICA8ZG1henpvbmlAZ29vZ2xlLmNvbT4KIAogICAgICAgICBBWDogTmVlZCB0byBpbXBsZW1l
bnQgQ29sb3JXZWxsUm9sZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZp
ZXcuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCmluZGV4IGRlNTM2MTUz
NjdhZTYxYTM4OWY2NWQwN2I3Y2U0YTAxODJkOTZmZmQuLmM0NjQ2YWQ3MmY0YWY3ZDE3OTE0NWM4
NWI3YjA5NmUyM2YzYjljOTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVW
aWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKQEAgLTM3Mjks
MTggKzM3MjksMjQgQEAgU3RyaW5nIEZyYW1lVmlldzo6dHJhY2tlZFJlcGFpbnRSZWN0c0FzVGV4
dCgpIGNvbnN0CiAgICAgcmV0dXJuIHRzLnJlbGVhc2UoKTsKIH0KIAotdm9pZCBGcmFtZVZpZXc6
OmFkZFNjcm9sbGFibGVBcmVhKFNjcm9sbGFibGVBcmVhKiBzY3JvbGxhYmxlQXJlYSkKK2Jvb2wg
RnJhbWVWaWV3OjphZGRTY3JvbGxhYmxlQXJlYShTY3JvbGxhYmxlQXJlYSogc2Nyb2xsYWJsZUFy
ZWEpCiB7CiAgICAgaWYgKCFtX3Njcm9sbGFibGVBcmVhcykKICAgICAgICAgbV9zY3JvbGxhYmxl
QXJlYXMgPSBhZG9wdFB0cihuZXcgU2Nyb2xsYWJsZUFyZWFTZXQpOwotICAgIG1fc2Nyb2xsYWJs
ZUFyZWFzLT5hZGQoc2Nyb2xsYWJsZUFyZWEpOworICAgIHJldHVybiBtX3Njcm9sbGFibGVBcmVh
cy0+YWRkKHNjcm9sbGFibGVBcmVhKS5pc05ld0VudHJ5OwogfQogCi12b2lkIEZyYW1lVmlldzo6
cmVtb3ZlU2Nyb2xsYWJsZUFyZWEoU2Nyb2xsYWJsZUFyZWEqIHNjcm9sbGFibGVBcmVhKQorYm9v
bCBGcmFtZVZpZXc6OnJlbW92ZVNjcm9sbGFibGVBcmVhKFNjcm9sbGFibGVBcmVhKiBzY3JvbGxh
YmxlQXJlYSkKIHsKICAgICBpZiAoIW1fc2Nyb2xsYWJsZUFyZWFzKQotICAgICAgICByZXR1cm47
Ci0gICAgbV9zY3JvbGxhYmxlQXJlYXMtPnJlbW92ZShzY3JvbGxhYmxlQXJlYSk7CisgICAgICAg
IHJldHVybiBmYWxzZTsKKworICAgIFNjcm9sbGFibGVBcmVhU2V0OjppdGVyYXRvciBpdCA9IG1f
c2Nyb2xsYWJsZUFyZWFzLT5maW5kKHNjcm9sbGFibGVBcmVhKTsKKyAgICBpZiAoaXQgPT0gbV9z
Y3JvbGxhYmxlQXJlYXMtPmVuZCgpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBtX3Nj
cm9sbGFibGVBcmVhcy0+cmVtb3ZlKGl0KTsKKyAgICByZXR1cm4gdHJ1ZTsKIH0KIAogYm9vbCBG
cmFtZVZpZXc6OmNvbnRhaW5zU2Nyb2xsYWJsZUFyZWEoU2Nyb2xsYWJsZUFyZWEqIHNjcm9sbGFi
bGVBcmVhKSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcu
aCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmgKaW5kZXggY2FmY2RiYmEyOTllNzg2
YWMxZGUwNzk3ZWJhODk3YjI3ZWYzNzgyYS4uZDk2NjU2YmU1ZWE1YTUyM2U4OGEyMzRhMDg3NWFj
YWRmYzcyM2I3NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5oCkBAIC0zNDYsOCArMzQ2LDEwIEBA
IHB1YmxpYzoKICAgICBTdHJpbmcgdHJhY2tlZFJlcGFpbnRSZWN0c0FzVGV4dCgpIGNvbnN0Owog
CiAgICAgdHlwZWRlZiBIYXNoU2V0PFNjcm9sbGFibGVBcmVhKj4gU2Nyb2xsYWJsZUFyZWFTZXQ7
Ci0gICAgdm9pZCBhZGRTY3JvbGxhYmxlQXJlYShTY3JvbGxhYmxlQXJlYSopOwotICAgIHZvaWQg
cmVtb3ZlU2Nyb2xsYWJsZUFyZWEoU2Nyb2xsYWJsZUFyZWEqKTsKKyAgICAvLyBSZXR1cm5zIHdo
ZXRoZXIgdGhlIHNjcm9sbGFibGUgYXJlYSBoYXMganVzdCBiZWVuIG5ld2x5IGFkZGVkLgorICAg
IGJvb2wgYWRkU2Nyb2xsYWJsZUFyZWEoU2Nyb2xsYWJsZUFyZWEqKTsKKyAgICAvLyBSZXR1cm5z
IHdoZXRoZXIgdGhlIHNjcm9sbGFibGUgYXJlYSBoYXMganVzdCBiZWVuIHJlbW92ZWQuCisgICAg
Ym9vbCByZW1vdmVTY3JvbGxhYmxlQXJlYShTY3JvbGxhYmxlQXJlYSopOwogICAgIGJvb2wgY29u
dGFpbnNTY3JvbGxhYmxlQXJlYShTY3JvbGxhYmxlQXJlYSopIGNvbnN0OwogICAgIGNvbnN0IFNj
cm9sbGFibGVBcmVhU2V0KiBzY3JvbGxhYmxlQXJlYXMoKSBjb25zdCB7IHJldHVybiBtX3Njcm9s
bGFibGVBcmVhcy5nZXQoKTsgfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyTGF5ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVy
LmNwcAppbmRleCA1YzI4NDE2ZjdiZDQ4NTFjZGRjYmNkNjM5YWViZDQyMzIwY2YwOTI2Li40MDNk
YWFjYjM1M2I0Y2U5OTA0NjdkMmVlNDllOTY2ZGVmNGJkOTA3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJMYXllci5jcHAKQEAgLTE0OCw3ICsxNDgsNyBAQCBSZW5kZXJMYXllcjo6
UmVuZGVyTGF5ZXIoUmVuZGVyTGF5ZXJNb2RlbE9iamVjdCogcmVuZGVyZXIpCiAgICAgLCBtX2hh
c1NlbGZQYWludGluZ0xheWVyRGVzY2VuZGFudChmYWxzZSkKICAgICAsIG1faGFzU2VsZlBhaW50
aW5nTGF5ZXJEZXNjZW5kYW50RGlydHkoZmFsc2UpCiAgICAgLCBtX2hhc091dE9mRmxvd1Bvc2l0
aW9uZWREZXNjZW5kYW50KGZhbHNlKQotICAgICwgbV9oYXNPdXRPZkZsb3dQb3NpdGlvbmVkRGVz
Y2VuZGFudERpcnR5KGZhbHNlKQorICAgICwgbV9oYXNPdXRPZkZsb3dQb3NpdGlvbmVkRGVzY2Vu
ZGFudERpcnR5KHRydWUpCiAgICAgLCBtX25lZWRzQ29tcG9zaXRlZFNjcm9sbGluZyhmYWxzZSkK
ICAgICAsIG1fZGVzY2VuZGFudHNBcmVDb250aWd1b3VzSW5TdGFja2luZ09yZGVyKGZhbHNlKQog
ICAgICwgbV9pc1Jvb3RMYXllcihyZW5kZXJlci0+aXNSZW5kZXJWaWV3KCkpCkBAIC05OTAsOSAr
OTkwLDYgQEAgdm9pZCBSZW5kZXJMYXllcjo6c2V0QW5jZXN0b3JDaGFpbkhhc1Zpc2libGVEZXNj
ZW5kYW50KCkKIHZvaWQgUmVuZGVyTGF5ZXI6OnVwZGF0ZURlc2NlbmRhbnREZXBlbmRlbnRGbGFn
cyhIYXNoU2V0PGNvbnN0IFJlbmRlck9iamVjdCo+KiBvdXRPZkZsb3dEZXNjZW5kYW50Q29udGFp
bmluZ0Jsb2NrcykKIHsKICAgICBpZiAobV92aXNpYmxlRGVzY2VuZGFudFN0YXR1c0RpcnR5IHx8
IG1faGFzU2VsZlBhaW50aW5nTGF5ZXJEZXNjZW5kYW50RGlydHkgfHwgbV9oYXNPdXRPZkZsb3dQ
b3NpdGlvbmVkRGVzY2VuZGFudERpcnR5KSB7Ci0jaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lU
SU5HKQotICAgICAgICBib29sIG9sZEhhc091dE9mRmxvd1Bvc2l0aW9uZWREZXNjZW5kYW50ID0g
bV9oYXNPdXRPZkZsb3dQb3NpdGlvbmVkRGVzY2VuZGFudDsKLSNlbmRpZgogICAgICAgICBtX2hh
c1Zpc2libGVEZXNjZW5kYW50ID0gZmFsc2U7CiAgICAgICAgIG1faGFzU2VsZlBhaW50aW5nTGF5
ZXJEZXNjZW5kYW50ID0gZmFsc2U7CiAgICAgICAgIG1faGFzT3V0T2ZGbG93UG9zaXRpb25lZERl
c2NlbmRhbnQgPSBmYWxzZTsKQEAgLTEwMjksMTIgKzEwMjYsMTIgQEAgdm9pZCBSZW5kZXJMYXll
cjo6dXBkYXRlRGVzY2VuZGFudERlcGVuZGVudEZsYWdzKEhhc2hTZXQ8Y29uc3QgUmVuZGVyT2Jq
ZWN0Kj4qIG8KIAogICAgICAgICBtX3Zpc2libGVEZXNjZW5kYW50U3RhdHVzRGlydHkgPSBmYWxz
ZTsKICAgICAgICAgbV9oYXNTZWxmUGFpbnRpbmdMYXllckRlc2NlbmRhbnREaXJ0eSA9IGZhbHNl
OwotICAgICAgICBtX2hhc091dE9mRmxvd1Bvc2l0aW9uZWREZXNjZW5kYW50RGlydHkgPSBmYWxz
ZTsKIAogI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykKLSAgICAgICAgaWYgKG9sZEhh
c091dE9mRmxvd1Bvc2l0aW9uZWREZXNjZW5kYW50ICE9IG1faGFzT3V0T2ZGbG93UG9zaXRpb25l
ZERlc2NlbmRhbnQpCisgICAgICAgIGlmIChtX2hhc091dE9mRmxvd1Bvc2l0aW9uZWREZXNjZW5k
YW50RGlydHkpCiAgICAgICAgICAgICB1cGRhdGVOZWVkc0NvbXBvc2l0ZWRTY3JvbGxpbmcoKTsK
ICNlbmRpZgorICAgICAgICBtX2hhc091dE9mRmxvd1Bvc2l0aW9uZWREZXNjZW5kYW50RGlydHkg
PSBmYWxzZTsKICAgICB9CiAKICAgICBpZiAobV92aXNpYmxlQ29udGVudFN0YXR1c0RpcnR5KSB7
CkBAIC01NTQyLDEwICs1NTM5LDEyIEBAIHZvaWQgUmVuZGVyTGF5ZXI6OnVwZGF0ZVNjcm9sbGFi
bGVBcmVhU2V0KGJvb2wgaGFzT3ZlcmZsb3cpCiAgICAgaWYgKEhUTUxGcmFtZU93bmVyRWxlbWVu
dCogb3duZXIgPSBmcmFtZS0+b3duZXJFbGVtZW50KCkpCiAgICAgICAgIGlzVmlzaWJsZVRvSGl0
VGVzdCAmPSBvd25lci0+cmVuZGVyZXIoKSAmJiBvd25lci0+cmVuZGVyZXIoKS0+dmlzaWJsZVRv
SGl0VGVzdGluZygpOwogCi0gICAgaWYgKGhhc092ZXJmbG93ICYmIGlzVmlzaWJsZVRvSGl0VGVz
dCkKLSAgICAgICAgZnJhbWVWaWV3LT5hZGRTY3JvbGxhYmxlQXJlYSh0aGlzKTsKLSAgICBlbHNl
Ci0gICAgICAgIGZyYW1lVmlldy0+cmVtb3ZlU2Nyb2xsYWJsZUFyZWEodGhpcyk7CisgICAgaWYg
KGhhc092ZXJmbG93ICYmIGlzVmlzaWJsZVRvSGl0VGVzdCA/IGZyYW1lVmlldy0+YWRkU2Nyb2xs
YWJsZUFyZWEodGhpcykgOiBmcmFtZVZpZXctPnJlbW92ZVNjcm9sbGFibGVBcmVhKHRoaXMpKQor
I2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykKKyAgICAgICAgdXBkYXRlTmVlZHNDb21w
b3NpdGVkU2Nyb2xsaW5nKCk7CisjZWxzZQorICAgICAgICByZXR1cm47CisjZW5kaWYKIH0KIAog
dm9pZCBSZW5kZXJMYXllcjo6dXBkYXRlU2Nyb2xsQ29ybmVyU3R5bGUoKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmggYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaAppbmRleCBiNmJjNjA4MTdjNmYzYTM3MjU2ZWY2YmViMjYz
ZGNiNDIyYjQ2ZDkyLi43ZTBkMjcxZDNjZTRiYWI4OTU3NDhmMzE1NTg1ZDRjNmRiMzVhOWVkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaApAQCAtNDc0LDYgKzQ3NCw3IEBA
IHB1YmxpYzoKICAgICAvLyBhdXRvbWF0aWNhbGx5IG9wdCBpbnRvIGNvbXBvc2l0ZWQgc2Nyb2xs
aW5nIHNpbmNlIHRoaXMgb3V0IG9mIGZsb3cKICAgICAvLyBwb3NpdGlvbmVkIGRlc2NlbmRhbnQg
d291bGQgYmVjb21lIGNsaXBwZWQgYnkgdXMsIHBvc3NpYmx5IGFsdGVyaW5nIHRoZSAKICAgICAv
LyByZW5kZXJpbmcgb2YgdGhlIHBhZ2UuCisgICAgLy8gRklYTUU6IFdlIHNob3VsZCBBU1NFUlQo
IW1faGFzT3V0T2ZGbG93UG9zaXRpb25lZERlc2NlbmRhbnREaXJ0eSk7IGhlcmUgYnV0IHdlIG1h
eSBoaXQgdGhlIHNhbWUgYnVncyBhcyB2aXNpYmxlIGNvbnRlbnQgYWJvdmUuCiAgICAgYm9vbCBo
YXNPdXRPZkZsb3dQb3NpdGlvbmVkRGVzY2VuZGFudCgpIGNvbnN0IHsgcmV0dXJuIG1faGFzT3V0
T2ZGbG93UG9zaXRpb25lZERlc2NlbmRhbnQ7IH0KIAogICAgIC8vIEdldHMgdGhlIG5lYXJlc3Qg
ZW5jbG9zaW5nIHBvc2l0aW9uZWQgYW5jZXN0b3IgbGF5ZXIgKGFsc28gaW5jbHVkZXMKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRl
eCA2NmM5ZDRlMDhiODMwNmQ3ZDYzNWRhMTIxMThmYWM2M2MyZjRjOWMxLi5iMzhlYWZiMWUxODQ5
MjY3ZDA4ZWVhNTVjZjI2YzhhNGI1NzgzM2Y4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTMt
MDEtMTEgIFhpYW56aHUgV2FuZyAgPHdhbmd4aWFuemh1QGNocm9taXVtLm9yZz4KKworICAgICAg
ICBTb21ldGltZXMgUmVuZGVyTGF5ZXI6OnVwZGF0ZU5lZWRzQ29tcG9zaXRlZFNjcm9sbGluZyBp
cyBub3QgY2FsbGVkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xMDYyNzEKKworICAgICAgICBSZXZpZXdlZCBieSBTaW1vbiBGcmFzZXIuCisKKyAgICAg
ICAgKiBjb21wb3NpdGluZy9vdmVyZmxvdy9keW5hbWljLWNvbXBvc2l0ZWQtc2Nyb2xsaW5nLXN0
YXR1cy1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGNvbXBvc2l0aW5nL292ZXJmbG93
L2R5bmFtaWMtY29tcG9zaXRlZC1zY3JvbGxpbmctc3RhdHVzLmh0bWw6IEFkZGVkLgorCiAyMDEz
LTAxLTE0ICBEb21pbmljIE1henpvbmkgIDxkbWF6em9uaUBnb29nbGUuY29tPgogCiAgICAgICAg
IEFYOiBOZWVkIHRvIGltcGxlbWVudCBDb2xvcldlbGxSb2xlCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9jb21wb3NpdGluZy9vdmVyZmxvdy9keW5hbWljLWNvbXBvc2l0ZWQtc2Nyb2xsaW5nLXN0
YXR1cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9vdmVyZmxvdy9keW5h
bWljLWNvbXBvc2l0ZWQtc2Nyb2xsaW5nLXN0YXR1cy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
N2VmMjJlOWE0MzFhZDAyNzI3MTNiNzFmZGM4Nzk0MDE2YzhlZjEyZgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2NvbXBvc2l0aW5nL292ZXJmbG93L2R5bmFtaWMtY29tcG9zaXRlZC1z
Y3JvbGxpbmctc3RhdHVzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxIEBACitQQVNTCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9jb21wb3NpdGluZy9vdmVyZmxvdy9keW5hbWljLWNvbXBvc2l0ZWQt
c2Nyb2xsaW5nLXN0YXR1cy5odG1sIGIvTGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvb3ZlcmZsb3cv
ZHluYW1pYy1jb21wb3NpdGVkLXNjcm9sbGluZy1zdGF0dXMuaHRtbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40MGVl
YTVmMmQ1MmUxOThjMjI4YjA1NGE4ZmRjN2Q4YzZiMzFhZGYxCi0tLSAvZGV2L251bGwKKysrIGIv
TGF5b3V0VGVzdHMvY29tcG9zaXRpbmcvb3ZlcmZsb3cvZHluYW1pYy1jb21wb3NpdGVkLXNjcm9s
bGluZy1zdGF0dXMuaHRtbApAQCAtMCwwICsxLDQ0IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1s
PgorPGhlYWQ+CisgIDxzdHlsZT4KKyAgICAjY29udGFpbmVyIHsKKyAgICAgIHdpZHRoOiAyMDBw
eDsKKyAgICAgIGhlaWdodDogMjAwcHg7CisgICAgICBvdmVyZmxvdzogYXV0bzsKKyAgICB9CisK
KyAgICAjY29udGVudCB7CisgICAgICB3aWR0aDogMTAwcHg7CisgICAgICBoZWlnaHQ6IDEwMHB4
OworICAgICAgYmFja2dyb3VuZC1jb2xvcjogeWVsbG93OworICAgIH0KKyAgPC9zdHlsZT4KKwor
ICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgY2hhcnNldD0idXRmLTgiPgorICAgIGlm
ICh3aW5kb3cudGVzdFJ1bm5lcikKKyAgICAgIHRlc3RSdW5uZXIuZHVtcEFzVGV4dCgpOworCisg
ICAgaWYgKHdpbmRvdy5pbnRlcm5hbHMpCisgICAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdz
LnNldEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdGb3JPdmVyZmxvd1Njcm9sbEVuYWJsZWQodHJ1ZSk7
CisKKyAgICBmdW5jdGlvbiBkb1Rlc3QoKQorICAgIHsKKyAgICAgIGRvY3VtZW50LmJvZHkub2Zm
c2V0SGVpZ2h0OworICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2NvbnRlbnQnKS5zdHls
ZS5oZWlnaHQgPSAnMTAwMHB4JzsKKyAgICAgIGlmICh3aW5kb3cuaW50ZXJuYWxzKQorICAgICAg
ICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgncmVzdWx0JykuaW5uZXJUZXh0ID0gd2luZG93Lmlu
dGVybmFscy5ub25GYXN0U2Nyb2xsYWJsZVJlY3RzKGRvY3VtZW50KS5sZW5ndGggPyAiRkFJTCIg
OiAiUEFTUyI7CisgICAgfQorCisgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWQnLCBk
b1Rlc3QsIGZhbHNlKTsKKyAgPC9zY3JpcHQ+Cis8L2hlYWQ+CisKKzxib2R5PgorICA8ZGl2IGlk
PSJjb250YWluZXIiPgorICAgIDxkaXYgaWQ9ImNvbnRlbnQiPjwvZGl2PgorICA8L2Rpdj4KKyAg
PHByZSBpZD0icmVzdWx0Ij48L3ByZT4KKzwvYm9keT4KKzwvaHRtbD4KKwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>