<?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>81102</bug_id>
          
          <creation_ts>2012-03-14 06:58:26 -0700</creation_ts>
          <short_desc>blur() on shadow host should work when a shadow host contains a focused element in its shadow DOM subtrees.</short_desc>
          <delta_ts>2012-03-22 05:39:10 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>DOM</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>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>
          
          <blocked>63606</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Hayato Ito">hayato</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>dglazkov</cc>
    
    <cc>dominicc</cc>
    
    <cc>kaustubh.ra</cc>
    
    <cc>morrita</cc>
    
    <cc>rolandsteiner</cc>
    
    <cc>shinyak</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>578356</commentid>
    <comment_count>0</comment_count>
    <who name="Hayato Ito">hayato</who>
    <bug_when>2012-03-14 06:58:26 -0700</bug_when>
    <thetext>The example is here:

var shadowHost = document.createElement(&quot;div&quot;);
document.body.appendChild(shadowHost);
var shadowRoot = new WebKitShadowRoot(shadowHost);

var childInShadowRoot = document.createElement(&quot;p&quot;);
childInShadowRoot.tabIndex = &quot;1&quot;;
shadowRoot.appendChild(childInShadowRoot);

shouldBe(&quot;childInShadowRoot.focus();document.activeElement&quot;, &quot;shadowHost&quot;);
shouldBe(&quot;shadowHost.blur();document.activeElement&quot;, &quot;document.body&quot;);  // (A)

(A) fails. The current implementation does not blur a focused element when its shadowHost&apos;s blur() is called().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>579383</commentid>
    <comment_count>1</comment_count>
    <who name="Kaustubh Atrawalkar">kaustubh.ra</who>
    <bug_when>2012-03-15 07:55:27 -0700</bug_when>
    <thetext>This need to be fixed in Element::blur function to support blurring of ShadowTree children when blur is called on ShadowHost(). Will provide fix soon.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>579389</commentid>
    <comment_count>2</comment_count>
      <attachid>132048</attachid>
    <who name="Kaustubh Atrawalkar">kaustubh.ra</who>
    <bug_when>2012-03-15 08:01:04 -0700</bug_when>
    <thetext>Created attachment 132048
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>580073</commentid>
    <comment_count>3</comment_count>
      <attachid>132048</attachid>
    <who name="Hayato Ito">hayato</who>
    <bug_when>2012-03-15 20:35:54 -0700</bug_when>
    <thetext>Comment on attachment 132048
Patch

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

&gt; Source/WebCore/dom/Element.cpp:1600
&gt; +    } else if (hasShadowRoot()) {

You can make this function more simple, avoiding duplication of duplication L1616-1619.
Element::blur could be:

void Element::blur()
{
  ...
  Node* focused = doc-&gt;focusedNode();
  ...
  if (hasShadowRoot) {
    ...
    ..
    // Omit L1616-1619
  }

  if (focused != this)
   return;

  if (doc-&gt;frame())
      doc-&gt;frame()-&gt;page()-&gt;focusController()-&gt;setFocusedNode(0, doc-&gt;frame());
  else
      doc-&gt;setFocusedNode(0);
}

&gt; LayoutTests/fast/dom/shadow/shadow-root-blur-expected.txt:1
&gt; +This tests the activeElement property of a ShadowRoot.

Need to update.

&gt; LayoutTests/fast/dom/shadow/shadow-root-blur.html:31
&gt; +// First ShodowHost

It&apos;s optional, but you might want to use some functions on LayoutTests/fast/dom/shadow/resources/shadow-dom.js.
Using createDOM and createShadowRoot, you don&apos;t have to construct Shadow DOM tree manually and make tree in one expression.

That helps reviewers to understand the tree structure easily and you don&apos;t have to add comments which only explain the tree structure.

&gt; LayoutTests/fast/dom/shadow/shadow-root-blur.html:73
&gt; +evalAndLog(&quot;shadowHostInside.blur();&quot;);

Could you add the following test case?

shouldBe(&quot;childInTreeTwo.focus();document.activeElement&quot;, &quot;shadowHost&quot;);
evalAndLog(&quot;shadowHost.blur();&quot;);
shouldBe(...);
shouldBe(...);
...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>580074</commentid>
    <comment_count>4</comment_count>
    <who name="Hayato Ito">hayato</who>
    <bug_when>2012-03-15 20:38:56 -0700</bug_when>
    <thetext>Could you verify the &apos;blur&apos; event is called on ShadowHost?
I guess it should work, but we need to make sure by a test case.


(In reply to comment #2)
&gt; Created an attachment (id=132048) [details]
&gt; Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>580266</commentid>
    <comment_count>5</comment_count>
      <attachid>132226</attachid>
    <who name="Kaustubh Atrawalkar">kaustubh.ra</who>
    <bug_when>2012-03-16 01:12:58 -0700</bug_when>
    <thetext>Created attachment 132226
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>580293</commentid>
    <comment_count>6</comment_count>
      <attachid>132226</attachid>
    <who name="Hayato Ito">hayato</who>
    <bug_when>2012-03-16 02:18:01 -0700</bug_when>
    <thetext>Comment on attachment 132226
Patch

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

&gt; Source/WebCore/dom/Element.cpp:1608
&gt; +    // if shadowHost is not found return. This handles case where focused node

Could you modify this comment?
I think we can remove a comment of &apos;if shadowHost is not found return.&apos;  since it does not explain the exact situation here.

&gt; LayoutTests/fast/dom/shadow/shadow-root-blur.html:41
&gt; +shouldBe(&quot;getElementInShadowTreeStack(&apos;shadowHostA/&apos;).activeElement&quot;, &quot;null&quot;);

We should rename getElementInShadowTreeStack since it can return ShadowRoot, which is not Element.
That is an unintentional usage for me that it can return ShadowRoot. So we should rename it to getNodeInShadowTreeStack.

Could you update shadow-dom.js and other files which use getElementInShadowTreeStack?
It is okay that you will do it in another patch. If you do it in another patch, please add &apos;FIXME: Rename ...&apos; comment on getElemetnInShadowTreeStack in shadow-dom.js.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>580300</commentid>
    <comment_count>7</comment_count>
      <attachid>132233</attachid>
    <who name="Kaustubh Atrawalkar">kaustubh.ra</who>
    <bug_when>2012-03-16 02:25:52 -0700</bug_when>
    <thetext>Created attachment 132233
Updated Patch

Thanks Hayato for the review. I have updated the comment and added FIXME. Will do it in the next patch. I will file a bug soon.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>580307</commentid>
    <comment_count>8</comment_count>
    <who name="Hayato Ito">hayato</who>
    <bug_when>2012-03-16 02:40:58 -0700</bug_when>
    <thetext>Looks good to me. Thank you for fixing.
You need r+ from reviewers.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>580324</commentid>
    <comment_count>9</comment_count>
      <attachid>132233</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2012-03-16 03:10:11 -0700</bug_when>
    <thetext>Comment on attachment 132233
Updated Patch

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

The approach seems sane. Could you reorganize code a bit?

&gt; Source/WebCore/dom/Element.cpp:1599
&gt; +    if (hasShadowRoot()) {

It looks TreeScope or ShadowRoot should have focusNode(). 
In general, it is good practice to separate finding something and modifying something.
In this case, the function can be splited into two part:
- Checking if the focus is in the shadow tree or myself, and
- unsetting the current focus.

&gt; LayoutTests/fast/dom/shadow/shadow-root-blur.html:1
&gt; +&lt;!DOCTYPE html&gt;

This test looks great!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>580350</commentid>
    <comment_count>10</comment_count>
      <attachid>132243</attachid>
    <who name="Kaustubh Atrawalkar">kaustubh.ra</who>
    <bug_when>2012-03-16 04:06:44 -0700</bug_when>
    <thetext>Created attachment 132243
Updated Patch

Reorganized the code to make it systematic.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>580353</commentid>
    <comment_count>11</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-16 04:10:39 -0700</bug_when>
    <thetext>Attachment 132243 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;LayoutTests/ChangeLog&apos;, u&apos;LayoutTests/fast...&quot; exit_code: 1
Source/WebCore/dom/Element.cpp:1596:  Use 0 instead of NULL.  [readability/null] [5]
Total errors found: 1 in 6 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>580363</commentid>
    <comment_count>12</comment_count>
      <attachid>132246</attachid>
    <who name="Kaustubh Atrawalkar">kaustubh.ra</who>
    <bug_when>2012-03-16 04:21:38 -0700</bug_when>
    <thetext>Created attachment 132246
Style Fix

Style issue fixed. ChangeLog updated.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>580365</commentid>
    <comment_count>13</comment_count>
      <attachid>132243</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2012-03-16 04:22:37 -0700</bug_when>
    <thetext>Comment on attachment 132243
Updated Patch

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

&gt; Source/WebCore/dom/Element.cpp:1592
&gt; +{

I find this method confusing. What are we are really looking for here?
Maybe what we want have is Element::nodeIsInShadowTree(Node*) or TreeScope::contains(Node*) or something.
I&apos;m sorry that my original suggestion was wrong. But it&apos;s hard to explain...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>580368</commentid>
    <comment_count>14</comment_count>
      <attachid>132246</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2012-03-16 04:23:44 -0700</bug_when>
    <thetext>Comment on attachment 132246
Style Fix

Oops the patch was crossing the comment. Please check the comment on previous patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>580376</commentid>
    <comment_count>15</comment_count>
    <who name="Kaustubh Atrawalkar">kaustubh.ra</who>
    <bug_when>2012-03-16 04:31:14 -0700</bug_when>
    <thetext>(In reply to comment #14)
&gt; (From update of attachment 132246 [details])
&gt; Oops the patch was crossing the comment. Please check the comment on previous patch.

No problem. I check the comments on the earlier patch. What we looking for here is if the element on which blur is called and the element which is focused are in the same treeScope for ShadowTree. I think nodeIsInShadowTree sounds a good function. This will check if the same, if focused node is in the same treeScope of the element (which calls blur).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>580387</commentid>
    <comment_count>16</comment_count>
      <attachid>132250</attachid>
    <who name="Kaustubh Atrawalkar">kaustubh.ra</who>
    <bug_when>2012-03-16 04:48:12 -0700</bug_when>
    <thetext>Created attachment 132250
Updated Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>580391</commentid>
    <comment_count>17</comment_count>
      <attachid>132250</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2012-03-16 04:59:17 -0700</bug_when>
    <thetext>Comment on attachment 132250
Updated Patch

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

Almost good. Could you take care of small points?

&gt; Source/WebCore/dom/Element.cpp:1591
&gt; +bool Element::nodeIsInShadowTree(Node* focused)

|focused| looks too specific name.
This method doesn&apos;t need to mention about focus.

&gt; Source/WebCore/dom/Element.cpp:1594
&gt; +    if (hasShadowRoot()) {

Let&apos;s return here.
WebKit prefers early return style.

&gt; Source/WebCore/dom/Element.cpp:1613
&gt; +    Node* focusedNode = doc-&gt;focusedNode();

Yeah, this looks making more sense.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>580398</commentid>
    <comment_count>18</comment_count>
      <attachid>132250</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2012-03-16 05:14:05 -0700</bug_when>
    <thetext>Comment on attachment 132250
Updated Patch

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

&gt;&gt; Source/WebCore/dom/Element.cpp:1591
&gt;&gt; +bool Element::nodeIsInShadowTree(Node* focused)
&gt; 
&gt; |focused| looks too specific name.
&gt; This method doesn&apos;t need to mention about focus.

Also, it looks we can ASSERT(focused != this) because the check is done by the caller site.
It will clarify the point because this function check if the &quot;node is in shadow tree.&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>580409</commentid>
    <comment_count>19</comment_count>
      <attachid>132257</attachid>
    <who name="Kaustubh Atrawalkar">kaustubh.ra</who>
    <bug_when>2012-03-16 05:25:19 -0700</bug_when>
    <thetext>Created attachment 132257
Updated Patch

Added ASSERT to make sure node == this check has been done by caller site.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>580413</commentid>
    <comment_count>20</comment_count>
    <who name="Hayato Ito">hayato</who>
    <bug_when>2012-03-16 05:32:20 -0700</bug_when>
    <thetext>Could you share code between Element::blur() and TreeScope::activeElement()?

Very rough idea is:

Element::blue()
{
  if (treeScope()-&gt;activeElement() == this) {
    doBlur();
  ...
}</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>580418</commentid>
    <comment_count>21</comment_count>
      <attachid>132259</attachid>
    <who name="Kaustubh Atrawalkar">kaustubh.ra</who>
    <bug_when>2012-03-16 05:35:19 -0700</bug_when>
    <thetext>Created attachment 132259
Updated Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>580425</commentid>
    <comment_count>22</comment_count>
      <attachid>132261</attachid>
    <who name="Kaustubh Atrawalkar">kaustubh.ra</who>
    <bug_when>2012-03-16 05:48:13 -0700</bug_when>
    <thetext>Created attachment 132261
Updated Patch

Code sharing made it simple :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>580430</commentid>
    <comment_count>23</comment_count>
      <attachid>132261</attachid>
    <who name="Hayato Ito">hayato</who>
    <bug_when>2012-03-16 05:54:58 -0700</bug_when>
    <thetext>Comment on attachment 132261
Updated Patch

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

&gt; Source/WebCore/dom/Element.cpp:1595
&gt; +    if (treeScope()-&gt;activeElement() == this) {

You can not use the result of activeElement() &apos;as is&apos; since it may return document.body if there is no focused node.

Could you check whether we can call document.body.blur() and it work correctly or not?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>580448</commentid>
    <comment_count>24</comment_count>
    <who name="Kaustubh Atrawalkar">kaustubh.ra</who>
    <bug_when>2012-03-16 06:26:01 -0700</bug_when>
    <thetext>(In reply to comment #23)
&gt; (From update of attachment 132261 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=132261&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/dom/Element.cpp:1595
&gt; &gt; +    if (treeScope()-&gt;activeElement() == this) {
&gt; 
&gt; You can not use the result of activeElement() &apos;as is&apos; since it may return document.body if there is no focused node.
&gt; 
&gt; Could you check whether we can call document.body.blur() and it work correctly or not?

document.body.blur() does not give any error. but body.blur will result in nothing as body&apos;s focus can not be unset. Tried that without the change in blur(). 
Steps -
Focus an element. 
call blur on body. 
Focus still remains on the element.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>580489</commentid>
    <comment_count>25</comment_count>
      <attachid>132277</attachid>
    <who name="Kaustubh Atrawalkar">kaustubh.ra</who>
    <bug_when>2012-03-16 07:09:56 -0700</bug_when>
    <thetext>Created attachment 132277
Patch

Patch with TreeScope::activElement splited</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>581574</commentid>
    <comment_count>26</comment_count>
      <attachid>132277</attachid>
    <who name="Hayato Ito">hayato</who>
    <bug_when>2012-03-18 19:53:01 -0700</bug_when>
    <thetext>Comment on attachment 132277
Patch

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

&gt; Source/WebCore/dom/TreeScope.cpp:190
&gt; +    Document* document = rootNode()-&gt;document();

Could you move this line to inside of &apos;if&apos; statement (L192)? Since &apos;document&apos; is used only in the if statement.

&gt; Source/WebCore/dom/TreeScope.h:50
&gt; +    Node* focusedNodeInTree();

I don&apos;t think focusedNodeInTree() is intuitive name because the meaning of &apos;Tree&apos; here is not clear.
focusedNodeInTreeScope() might be better. Or focusedNode() is simply enough in this context.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>581669</commentid>
    <comment_count>27</comment_count>
      <attachid>132552</attachid>
    <who name="Kaustubh Atrawalkar">kaustubh.ra</who>
    <bug_when>2012-03-19 00:22:46 -0700</bug_when>
    <thetext>Created attachment 132552
Updated Patch

Updated as per comments from Hayato. Can u review once?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>581671</commentid>
    <comment_count>28</comment_count>
      <attachid>132552</attachid>
    <who name="Hayato Ito">hayato</who>
    <bug_when>2012-03-19 00:27:48 -0700</bug_when>
    <thetext>Comment on attachment 132552
Updated Patch

Looks good to me. Thank you.

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

&gt; Source/WebCore/ChangeLog:13
&gt; +        (WebCore::TreeScope::focusedNodeInTree):

You need to update ChageLog.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>581680</commentid>
    <comment_count>29</comment_count>
      <attachid>132554</attachid>
    <who name="Kaustubh Atrawalkar">kaustubh.ra</who>
    <bug_when>2012-03-19 00:51:04 -0700</bug_when>
    <thetext>Created attachment 132554
Fixed ChangeLog

Aah..missed that :) Thanks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>581694</commentid>
    <comment_count>30</comment_count>
      <attachid>132554</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2012-03-19 01:36:18 -0700</bug_when>
    <thetext>Comment on attachment 132554
Fixed ChangeLog

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

This looks a good direction! Thanks for clarification. Could you iterate once more?

&gt; Source/WebCore/dom/TreeScope.cpp:188
&gt; +Element* TreeScope::activeElement()

We can make activeElement() virtual. then we know if this is document more clearly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>581715</commentid>
    <comment_count>31</comment_count>
      <attachid>132566</attachid>
    <who name="Kaustubh Atrawalkar">kaustubh.ra</who>
    <bug_when>2012-03-19 03:05:01 -0700</bug_when>
    <thetext>Created attachment 132566
Updated Patch

Updated patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>581721</commentid>
    <comment_count>32</comment_count>
      <attachid>132566</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2012-03-19 03:22:28 -0700</bug_when>
    <thetext>Comment on attachment 132566
Updated Patch

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

I&apos;m confused. Apparently the previous patch is much simpler, no?

&gt; Source/WebCore/dom/TreeScope.cpp:172
&gt; +        return this == document ? document-&gt;body() : 0;

Why do we have this check even after introducing the virtual method?
Is it for eliminating this, right?

&gt; Source/WebCore/dom/TreeScope.h:51
&gt; +    virtual Element* activeElement();

It looks nobody inherits this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>581722</commentid>
    <comment_count>33</comment_count>
    <who name="Kaustubh Atrawalkar">kaustubh.ra</who>
    <bug_when>2012-03-19 03:31:10 -0700</bug_when>
    <thetext>(In reply to comment #32)
&gt; (From update of attachment 132566 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=132566&amp;action=review
&gt; 
&gt; I&apos;m confused. Apparently the previous patch is much simpler, no?
&gt; 
&gt; &gt; Source/WebCore/dom/TreeScope.cpp:172
&gt; &gt; +        return this == document ? document-&gt;body() : 0;
&gt; 
&gt; Why do we have this check even after introducing the virtual method?
&gt; Is it for eliminating this, right?
&gt; 
&gt; &gt; Source/WebCore/dom/TreeScope.h:51
&gt; &gt; +    virtual Element* activeElement();
&gt; 
&gt; It looks nobody inherits this.

Yes, both ShadowRoot &amp; HTMLDocument shares the same code in TreeScope::activeElement().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>581729</commentid>
    <comment_count>34</comment_count>
      <attachid>132554</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2012-03-19 03:45:27 -0700</bug_when>
    <thetext>Comment on attachment 132554
Fixed ChangeLog

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

&gt; Source/WebCore/dom/TreeScope.cpp:193
&gt; +        return this == document ? document-&gt;body() : 0;

If you have override this as Document::activeElement(), you can do this check there instead of here.
The point is that Document is a subclass of TreeScope and we can take this logic as a specialization for Document.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>581730</commentid>
    <comment_count>35</comment_count>
      <attachid>132566</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2012-03-19 03:46:07 -0700</bug_when>
    <thetext>Comment on attachment 132566
Updated Patch

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

&gt;&gt;&gt; Source/WebCore/dom/TreeScope.cpp:172
&gt;&gt;&gt; +        return this == document ? document-&gt;body() : 0;
&gt;&gt; 
&gt;&gt; Why do we have this check even after introducing the virtual method?
&gt;&gt; Is it for eliminating this, right?
&gt; 
&gt; Yes, both ShadowRoot &amp; HTMLDocument shares the same code in TreeScope::activeElement().

Then the document specific behavior should be in Document::activeElement(), not TreeScope::activeElement().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>581733</commentid>
    <comment_count>36</comment_count>
    <who name="Kaustubh Atrawalkar">kaustubh.ra</who>
    <bug_when>2012-03-19 03:49:05 -0700</bug_when>
    <thetext>(In reply to comment #35)
&gt; (From update of attachment 132566 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=132566&amp;action=review
&gt; 
&gt; &gt;&gt;&gt; Source/WebCore/dom/TreeScope.cpp:172
&gt; &gt;&gt;&gt; +        return this == document ? document-&gt;body() : 0;
&gt; &gt;&gt; 
&gt; &gt;&gt; Why do we have this check even after introducing the virtual method?
&gt; &gt;&gt; Is it for eliminating this, right?
&gt; &gt; 
&gt; &gt; Yes, both ShadowRoot &amp; HTMLDocument shares the same code in TreeScope::activeElement().
&gt; 
&gt; Then the document specific behavior should be in Document::activeElement(), not TreeScope::activeElement().

The reason I have this code in TreeScope is, activeElement property is for HTMLDocument class and not Document class. And ShadowRoot is derived from TreeScope. So the common base class is TreeScope.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>583698</commentid>
    <comment_count>37</comment_count>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2012-03-20 19:05:11 -0700</bug_when>
    <thetext>(In reply to comment #36)
&gt; (In reply to comment #35)
&gt; &gt; (From update of attachment 132566 [details] [details])
&gt; &gt; View in context: https://bugs.webkit.org/attachment.cgi?id=132566&amp;action=review
&gt; &gt; 
&gt; &gt; &gt;&gt;&gt; Source/WebCore/dom/TreeScope.cpp:172
&gt; &gt; &gt;&gt;&gt; +        return this == document ? document-&gt;body() : 0;
&gt; &gt; &gt;&gt; 
&gt; &gt; &gt;&gt; Why do we have this check even after introducing the virtual method?
&gt; &gt; &gt;&gt; Is it for eliminating this, right?
&gt; &gt; &gt; 
&gt; &gt; &gt; Yes, both ShadowRoot &amp; HTMLDocument shares the same code in TreeScope::activeElement().
&gt; &gt; 
&gt; &gt; Then the document specific behavior should be in Document::activeElement(), not TreeScope::activeElement().
&gt; 

&gt; The reason I have this code in TreeScope is, activeElement property is for HTMLDocument class and not Document class. And ShadowRoot is derived from TreeScope. So the common base class is TreeScope.
It&apos;s fine to have activeElement in Document. HTMLDocument.
Then you can override it in HTMLDocument. Superclass shouldn&apos;t know about its subclass if possible.
That&apos;s what runtime polymorphism (virtual) is designed for.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>583939</commentid>
    <comment_count>38</comment_count>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2012-03-21 02:47:51 -0700</bug_when>
    <thetext>I think I got your point. This comment is for the second last patch:
We can just have two separate activeElement() implementation.
one is for ShadowRoot and another is for Document (or HTMLDocument.)
Since the hard part is done in focusedNode(), such duplication will be fine.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>583943</commentid>
    <comment_count>39</comment_count>
    <who name="Kaustubh Atrawalkar">kaustubh.ra</who>
    <bug_when>2012-03-21 02:55:26 -0700</bug_when>
    <thetext>(In reply to comment #38)
&gt; I think I got your point. This comment is for the second last patch:
&gt; We can just have two separate activeElement() implementation.
&gt; one is for ShadowRoot and another is for Document (or HTMLDocument.)
&gt; Since the hard part is done in focusedNode(), such duplication will be fine.

Ok, so to brief here is what it will be - Move HTMLDocument::activeElement() imlpementation to Document so that it can share the code between blur()
 &amp; ShadowRoot will have separate activeElement implementation. Remove treeScope::activeElement().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>584000</commentid>
    <comment_count>40</comment_count>
      <attachid>133012</attachid>
    <who name="Kaustubh Atrawalkar">kaustubh.ra</who>
    <bug_when>2012-03-21 04:51:57 -0700</bug_when>
    <thetext>Created attachment 133012
Patch

Updated patch as per discussion.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>585052</commentid>
    <comment_count>41</comment_count>
      <attachid>133012</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2012-03-22 01:07:35 -0700</bug_when>
    <thetext>Comment on attachment 133012
Patch

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

Code looks good! what we only miss is changelog explanation.
Thanks to exercise this long iteration.

&gt; Source/WebCore/ChangeLog:7
&gt; +

Could you have some explanation here?
It&apos;s recent trend: http://markmail.org/message/aov6bcu7he4tbyoy</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>585078</commentid>
    <comment_count>42</comment_count>
      <attachid>133209</attachid>
    <who name="Kaustubh Atrawalkar">kaustubh.ra</who>
    <bug_when>2012-03-22 02:10:50 -0700</bug_when>
    <thetext>Created attachment 133209
Updated ChangeLog</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>585118</commentid>
    <comment_count>43</comment_count>
      <attachid>133218</attachid>
    <who name="Kaustubh Atrawalkar">kaustubh.ra</who>
    <bug_when>2012-03-22 04:08:22 -0700</bug_when>
    <thetext>Created attachment 133218
Fixed ChangeLog</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>585162</commentid>
    <comment_count>44</comment_count>
      <attachid>133218</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-22 05:39:02 -0700</bug_when>
    <thetext>Comment on attachment 133218
Fixed ChangeLog

Clearing flags on attachment: 133218

Committed r111672: &lt;http://trac.webkit.org/changeset/111672&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>585163</commentid>
    <comment_count>45</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-22 05:39:10 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>132048</attachid>
            <date>2012-03-15 08:01:04 -0700</date>
            <delta_ts>2012-03-16 01:12:58 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>81102.patch</filename>
            <type>text/plain</type>
            <size>7523</size>
            <attacher name="Kaustubh Atrawalkar">kaustubh.ra</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDExMDg0NSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBACisyMDEyLTAzLTE1ICBLYXVzdHVi
aCBBdHJhd2Fsa2FyICA8a2F1c3R1YmhAbW90b3JvbGEuY29tPgorCisgICAgICAgIGJsdXIoKSBv
biBzaGFkb3cgaG9zdCBzaG91bGQgd29yayB3aGVuIGEgc2hhZG93IGhvc3QgY29udGFpbnMgYSBm
b2N1c2VkIGVsZW1lbnQgaW4gaXRzIHNoYWRvdyBET00gc3VidHJlZXMKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgxMTAyCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVzdDogZmFzdC9kb20vc2hhZG93L3No
YWRvdy1yb290LWJsdXIuaHRtbAorCisgICAgICAgICogZG9tL0VsZW1lbnQuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6RWxlbWVudDo6Ymx1cik6IEFkZCBzdXBwb3J0IGZvciBibHVycmluZyBvZiBT
aGFkb3dUcmVlIGNoaWxkcmVuLgorCiAyMDEyLTAzLTE1ICBSb2IgQnVpcyAgPHJidWlzQHJpbS5j
b20+CiAKICAgICAgICAgRml4IGNhc3QtYWxpZ24gR0NDIHdhcm5pbmdzCkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9kb20vRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9t
L0VsZW1lbnQuY3BwCShyZXZpc2lvbiAxMTA4MjQpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vRWxl
bWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE1OTcsNiArMTU5NywyNiBAQCB2b2lkIEVsZW1l
bnQ6OmJsdXIoKQogICAgICAgICAgICAgZG9jLT5mcmFtZSgpLT5wYWdlKCktPmZvY3VzQ29udHJv
bGxlcigpLT5zZXRGb2N1c2VkTm9kZSgwLCBkb2MtPmZyYW1lKCkpOwogICAgICAgICBlbHNlCiAg
ICAgICAgICAgICBkb2MtPnNldEZvY3VzZWROb2RlKDApOworICAgIH0gZWxzZSBpZiAoaGFzU2hh
ZG93Um9vdCgpKSB7CisgICAgICAgIC8vIEFkZGVkIGNhc2UgZm9yIGZvY3VzZWROb2RlIGJlaW5n
IGluIHNoYWRvd1RyZWUgJiBibHVyIGNhbGxlZCBvbiBzaGFkb3dIb3N0IChzZWUgYnVnIDgxMTAy
KQorICAgICAgICBOb2RlKiBmb2N1c2VkID0gZG9jLT5mb2N1c2VkTm9kZSgpOworICAgICAgICBp
ZiAoIWZvY3VzZWQpCisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIC8vIE5lc3RlZCBTaGFk
b3dET00gdHJlZSBjYXNlIC0gZmluZCBpZiB0aGUgZXh0cmVtZSBzaGFkb3dIb3N0IGlzIHRoZSBv
bmUgb24gd2hpY2ggYmx1ciBpcyBjYWxsZWQuCisgICAgICAgIFRyZWVTY29wZSogdHJlZVNjb3Bl
ID0gZm9jdXNlZC0+dHJlZVNjb3BlKCk7CisgICAgICAgIHdoaWxlIChmb2N1c2VkICE9IHRoaXMg
JiYgdHJlZVNjb3BlICE9IGRvYykgeworICAgICAgICAgICAgZm9jdXNlZCA9IHRyZWVTY29wZS0+
cm9vdE5vZGUoKS0+c2hhZG93SG9zdCgpOworICAgICAgICAgICAgdHJlZVNjb3BlID0gZm9jdXNl
ZC0+dHJlZVNjb3BlKCk7CisgICAgICAgIH0KKyAgICAgICAgLy8gaWYgc2hhZG93SG9zdCBpcyBu
b3QgZm91bmQgcmV0dXJuLiBUaGlzIGhhbmRsZXMgY2FzZSB3aGVyZSBmb2N1c2VkIG5vZGUKKyAg
ICAgICAgLy8gYW5kIGNhbGxlZCBob3N0IGVsZW1lbnQgYXJlIGZyb20gZGlmZmVyZW50IHRyZWUu
CisgICAgICAgIGlmIChmb2N1c2VkICE9IHRoaXMpCisgICAgICAgICAgICByZXR1cm47CisKKyAg
ICAgICAgaWYgKGRvYy0+ZnJhbWUoKSkKKyAgICAgICAgICAgIGRvYy0+ZnJhbWUoKS0+cGFnZSgp
LT5mb2N1c0NvbnRyb2xsZXIoKS0+c2V0Rm9jdXNlZE5vZGUoMCwgZG9jLT5mcmFtZSgpKTsKKyAg
ICAgICAgZWxzZQorICAgICAgICAgICAgZG9jLT5zZXRGb2N1c2VkTm9kZSgwKTsKICAgICB9CiB9
CiAKSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDExMDg0NSkKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwko
d29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEzIEBACisyMDEyLTAzLTE1ICBLYXVzdHViaCBBdHJh
d2Fsa2FyICA8a2F1c3R1YmhAbW90b3JvbGEuY29tPgorCisgICAgICAgIGJsdXIoKSBvbiBzaGFk
b3cgaG9zdCBzaG91bGQgd29yayB3aGVuIGEgc2hhZG93IGhvc3QgY29udGFpbnMgYSBmb2N1c2Vk
IGVsZW1lbnQgaW4gaXRzIHNoYWRvdyBET00gc3VidHJlZXMKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgxMTAyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvc2hhZG93LXJvb3Qt
Ymx1ci1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9zaGFk
b3ctcm9vdC1ibHVyLmh0bWw6IEFkZGVkLgorCiAyMDEyLTAzLTE1ICBOaWtvbGFzIFppbW1lcm1h
bm4gIDxuemltbWVybWFubkByaW0uY29tPgogCiAgICAgICAgIEVuYWJsZSBhbmltVmFsIHN1cHBv
cnQgZm9yIFNWR051bWJlcgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRv
dy1yb290LWJsdXItZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qv
ZG9tL3NoYWRvdy9zaGFkb3ctcm9vdC1ibHVyLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysr
IExheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctcm9vdC1ibHVyLWV4cGVjdGVkLnR4
dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwyOCBAQAorVGhpcyB0ZXN0cyB0aGUgYWN0aXZlRWxl
bWVudCBwcm9wZXJ0eSBvZiBhIFNoYWRvd1Jvb3QuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KKworCisKK1BBU1MgY2hpbGRJblRyZWVPbmUuZm9jdXMoKTtkb2N1bWVudC5hY3RpdmVFbGVt
ZW50IGlzIHNoYWRvd0hvc3QKK3NoYWRvd0hvc3QuYmx1cigpOworUEFTUyBkb2N1bWVudC5hY3Rp
dmVFbGVtZW50IGlzIGRvY3VtZW50LmJvZHkKK1BBU1Mgc2hhZG93Um9vdC5hY3RpdmVFbGVtZW50
IGlzIG51bGwKK1BBU1Mgc2hhZG93Um9vdEluc2lkZS5hY3RpdmVFbGVtZW50IGlzIG51bGwKK1BB
U1Mgc2hhZG93Um9vdE5ldy5hY3RpdmVFbGVtZW50IGlzIG51bGwKK1BBU1MgY2hpbGRJblRyZWVU
d28uZm9jdXMoKTtkb2N1bWVudC5hY3RpdmVFbGVtZW50IGlzIHNoYWRvd0hvc3QKK3NoYWRvd0hv
c3RJbnNpZGUuYmx1cigpOworUEFTUyBkb2N1bWVudC5hY3RpdmVFbGVtZW50IGlzIGRvY3VtZW50
LmJvZHkKK1BBU1Mgc2hhZG93Um9vdC5hY3RpdmVFbGVtZW50IGlzIG51bGwKK1BBU1Mgc2hhZG93
Um9vdEluc2lkZS5hY3RpdmVFbGVtZW50IGlzIG51bGwKK1BBU1Mgc2hhZG93Um9vdE5ldy5hY3Rp
dmVFbGVtZW50IGlzIG51bGwKK1BBU1MgY2hpbGRJblRyZWVUaHJlZS5mb2N1cygpO2RvY3VtZW50
LmFjdGl2ZUVsZW1lbnQgaXMgc2hhZG93SG9zdE5ldworc2hhZG93SG9zdC5ibHVyKCk7CitQQVNT
IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgaXMgc2hhZG93SG9zdE5ldworUEFTUyBzaGFkb3dSb290
LmFjdGl2ZUVsZW1lbnQgaXMgbnVsbAorUEFTUyBzaGFkb3dSb290SW5zaWRlLmFjdGl2ZUVsZW1l
bnQgaXMgbnVsbAorUEFTUyBzaGFkb3dSb290TmV3LmFjdGl2ZUVsZW1lbnQgaXMgY2hpbGRJblRy
ZWVUaHJlZQorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRF
CisKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctcm9vdC1ibHVyLmh0
bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy1yb290
LWJsdXIuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9z
aGFkb3ctcm9vdC1ibHVyLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsOTIgQEAKKzwhRE9D
VFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJj
ZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IGlkPSJj
b25zb2xlIj4KKzwvZGl2PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCJUaGlzIHRlc3RzIHRoZSBh
Y3RpdmVFbGVtZW50IHByb3BlcnR5IG9mIGEgU2hhZG93Um9vdC4iKTsKKworaWYgKCF3aW5kb3cu
aW50ZXJuYWxzKQorICAgIGRlYnVnKCdUaGlzIHRlc3QgcnVucyBvbiBEUlQgb25seScpOworCitp
ZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgIGxheW91dFRlc3RDb250cm9sbGVy
LmR1bXBBc1RleHQoKTsKKwordmFyIHNoYWRvd0hvc3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCJkaXYiKTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoc2hhZG93SG9zdCk7Cit2YXIgc2hh
ZG93Um9vdCA9IG5ldyBXZWJLaXRTaGFkb3dSb290KHNoYWRvd0hvc3QpOworCit2YXIgY2hpbGRJ
blNoYWRvd1Jvb3QgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCJwIik7CitjaGlsZEluU2hhZG93
Um9vdC50YWJJbmRleCA9ICIxIjsKK3NoYWRvd1Jvb3QuYXBwZW5kQ2hpbGQoY2hpbGRJblNoYWRv
d1Jvb3QpOworCisKK3ZhciBjaGlsZEluQm9keSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInAi
KTsKK2NoaWxkSW5Cb2R5LnRhYkluZGV4ID0gIjEiOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGls
ZChjaGlsZEluQm9keSk7CisKKy8vIEZpcnN0IFNob2Rvd0hvc3QKK3ZhciBzaGFkb3dIb3N0ID0g
ZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgiZGl2Iik7Citkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxk
KHNoYWRvd0hvc3QpOwordmFyIHNoYWRvd1Jvb3QgPSBuZXcgV2ViS2l0U2hhZG93Um9vdChzaGFk
b3dIb3N0KTsKKworLy8gU2Vjb25kIFNoYWRvd0hvc3QKK3NoYWRvd0hvc3RJbnNpZGUgPSBkb2N1
bWVudC5jcmVhdGVFbGVtZW50KCJkaXYiKTsKK3NoYWRvd1Jvb3QuYXBwZW5kQ2hpbGQoc2hhZG93
SG9zdEluc2lkZSk7Cit2YXIgc2hhZG93Um9vdEluc2lkZSA9IG5ldyBXZWJLaXRTaGFkb3dSb290
KHNoYWRvd0hvc3RJbnNpZGUpOworCisvLyBUaGlyZCBTaG9kb3dIb3N0IGF0IHNhbWUgbGV2ZWwg
b2YgMXN0IFNoYWRvdyBIb3N0Cit2YXIgc2hhZG93SG9zdE5ldyA9IGRvY3VtZW50LmNyZWF0ZUVs
ZW1lbnQoImRpdiIpOworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZChzaGFkb3dIb3N0TmV3KTsK
K3ZhciBzaGFkb3dSb290TmV3ID0gbmV3IFdlYktpdFNoYWRvd1Jvb3Qoc2hhZG93SG9zdE5ldyk7
CisKKy8vIEFkZCBhIGNoaWxkIGluc2lkZSBmaXJzdCBTaGFkb3cgaG9zdAordmFyIGNoaWxkSW5U
cmVlT25lID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicCIpOworY2hpbGRJblRyZWVPbmUuc2V0
QXR0cmlidXRlKCJpZCIsICJjaGlsZEluVHJlZU9uZSIpOworY2hpbGRJblRyZWVPbmUudGFiSW5k
ZXggPSAiMSI7CitzaGFkb3dSb290LmFwcGVuZENoaWxkKGNoaWxkSW5UcmVlT25lKTsKKworLy8g
QWRkIGEgY2hpbGQgaW5zaWRlIHNlY29uZCBzaGFkb3cgaG9zdAordmFyIGNoaWxkSW5UcmVlVHdv
ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgicCIpOworY2hpbGRJblRyZWVUd28uc2V0QXR0cmli
dXRlKCJpZCIsICJjaGlsZEluVHJlZVR3byIpOworY2hpbGRJblRyZWVUd28udGFiSW5kZXggPSAi
MiI7CitzaGFkb3dSb290SW5zaWRlLmFwcGVuZENoaWxkKGNoaWxkSW5UcmVlVHdvKTsKKworLy8g
QWRkIGEgY2hpbGQgaW5zaWRlIHRoaXJkIHNoYWRvdyBob3N0Cit2YXIgY2hpbGRJblRyZWVUaHJl
ZSA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInAiKTsKK2NoaWxkSW5UcmVlVGhyZWUuc2V0QXR0
cmlidXRlKCJpZCIsICJjaGlsZEluVHJlZVRocmVlIik7CitjaGlsZEluVHJlZVRocmVlLnRhYklu
ZGV4ID0gIjMiOworc2hhZG93Um9vdE5ldy5hcHBlbmRDaGlsZChjaGlsZEluVHJlZVRocmVlKTsK
Kworc2hvdWxkQmUoImNoaWxkSW5UcmVlT25lLmZvY3VzKCk7ZG9jdW1lbnQuYWN0aXZlRWxlbWVu
dCIsICJzaGFkb3dIb3N0Iik7CitldmFsQW5kTG9nKCJzaGFkb3dIb3N0LmJsdXIoKTsiKTsKK3No
b3VsZEJlKCJkb2N1bWVudC5hY3RpdmVFbGVtZW50IiwgImRvY3VtZW50LmJvZHkiKTsKK3Nob3Vs
ZEJlKCJzaGFkb3dSb290LmFjdGl2ZUVsZW1lbnQiLCAibnVsbCIpOworc2hvdWxkQmUoInNoYWRv
d1Jvb3RJbnNpZGUuYWN0aXZlRWxlbWVudCIsICJudWxsIik7CitzaG91bGRCZSgic2hhZG93Um9v
dE5ldy5hY3RpdmVFbGVtZW50IiwgIm51bGwiKTsKKworLy8gTmVzdGVkIFNoYWRvd0RPTSB0cmVl
CitzaG91bGRCZSgiY2hpbGRJblRyZWVUd28uZm9jdXMoKTtkb2N1bWVudC5hY3RpdmVFbGVtZW50
IiwgInNoYWRvd0hvc3QiKTsKK2V2YWxBbmRMb2coInNoYWRvd0hvc3RJbnNpZGUuYmx1cigpOyIp
Oworc2hvdWxkQmUoImRvY3VtZW50LmFjdGl2ZUVsZW1lbnQiLCAiZG9jdW1lbnQuYm9keSIpOwor
c2hvdWxkQmUoInNoYWRvd1Jvb3QuYWN0aXZlRWxlbWVudCIsICJudWxsIik7CitzaG91bGRCZSgi
c2hhZG93Um9vdEluc2lkZS5hY3RpdmVFbGVtZW50IiwgIm51bGwiKTsKK3Nob3VsZEJlKCJzaGFk
b3dSb290TmV3LmFjdGl2ZUVsZW1lbnQiLCAibnVsbCIpOworCisvLyBUd28gU2hhZG93VHJlZXMg
YXQgc2FtZSBsZXZlbAorLy8gQ2FsbGluZyBibHVyIG9uIHdyb25nIGhvc3QgZG9lcyBub3RoaW5n
Lgorc2hvdWxkQmUoImNoaWxkSW5UcmVlVGhyZWUuZm9jdXMoKTtkb2N1bWVudC5hY3RpdmVFbGVt
ZW50IiwgInNoYWRvd0hvc3ROZXciKTsKK2V2YWxBbmRMb2coInNoYWRvd0hvc3QuYmx1cigpOyIp
Oworc2hvdWxkQmUoImRvY3VtZW50LmFjdGl2ZUVsZW1lbnQiLCAic2hhZG93SG9zdE5ldyIpOwor
c2hvdWxkQmUoInNoYWRvd1Jvb3QuYWN0aXZlRWxlbWVudCIsICJudWxsIik7CitzaG91bGRCZSgi
c2hhZG93Um9vdEluc2lkZS5hY3RpdmVFbGVtZW50IiwgIm51bGwiKTsKK3Nob3VsZEJlKCJzaGFk
b3dSb290TmV3LmFjdGl2ZUVsZW1lbnQiLCAiY2hpbGRJblRyZWVUaHJlZSIpOworCit2YXIgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pz
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>132226</attachid>
            <date>2012-03-16 01:12:58 -0700</date>
            <delta_ts>2012-03-16 02:25:52 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>81102_2.patch</filename>
            <type>text/plain</type>
            <size>9484</size>
            <attacher name="Kaustubh Atrawalkar">kaustubh.ra</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDExMDk1NSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBACisyMDEyLTAzLTE1ICBLYXVzdHVi
aCBBdHJhd2Fsa2FyICA8a2F1c3R1YmhAbW90b3JvbGEuY29tPgorCisgICAgICAgIGJsdXIoKSBv
biBzaGFkb3cgaG9zdCBzaG91bGQgd29yayB3aGVuIGEgc2hhZG93IGhvc3QgY29udGFpbnMgYSBm
b2N1c2VkIGVsZW1lbnQgaW4gaXRzIHNoYWRvdyBET00gc3VidHJlZXMKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgxMTAyCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVzdDogZmFzdC9kb20vc2hhZG93L3No
YWRvdy1yb290LWJsdXIuaHRtbAorCisgICAgICAgICogZG9tL0VsZW1lbnQuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6RWxlbWVudDo6Ymx1cik6IEFkZCBzdXBwb3J0IGZvciBibHVycmluZyBvZiBT
aGFkb3dUcmVlIGNoaWxkcmVuLgorCiAyMDEyLTAzLTE2ICBTZW8gU2FuZ2h5ZW9uICA8c2g0LnNl
b0BzYW1zdW5nLmNvbT4KIAogICAgICAgICBDbGVhbnVwIGVtcHR5IGF0dHJpYnV0ZSBsaXN0IGlu
IElETHMKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAJKHJldmlzaW9uIDExMDk1NSkKKysrIFNv
dXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTU5MiwxMiAr
MTU5MiwyOCBAQCB2b2lkIEVsZW1lbnQ6OmJsdXIoKQogewogICAgIGNhbmNlbEZvY3VzQXBwZWFy
YW5jZVVwZGF0ZSgpOwogICAgIERvY3VtZW50KiBkb2MgPSBkb2N1bWVudCgpOwotICAgIGlmIChk
b2MtPmZvY3VzZWROb2RlKCkgPT0gdGhpcykgewotICAgICAgICBpZiAoZG9jLT5mcmFtZSgpKQot
ICAgICAgICAgICAgZG9jLT5mcmFtZSgpLT5wYWdlKCktPmZvY3VzQ29udHJvbGxlcigpLT5zZXRG
b2N1c2VkTm9kZSgwLCBkb2MtPmZyYW1lKCkpOwotICAgICAgICBlbHNlCi0gICAgICAgICAgICBk
b2MtPnNldEZvY3VzZWROb2RlKDApOworICAgIE5vZGUqIGZvY3VzZWQgPSBkb2MtPmZvY3VzZWRO
b2RlKCk7CisgICAgaWYgKCFmb2N1c2VkKQorICAgICAgICByZXR1cm47CisKKyAgICBpZiAoaGFz
U2hhZG93Um9vdCgpKSB7CisgICAgICAgIC8vIEFkZGVkIGNhc2UgZm9yIGZvY3VzZWROb2RlIGJl
aW5nIGluIHNoYWRvd1RyZWUgJiBibHVyIGNhbGxlZCBvbiBzaGFkb3dIb3N0IChzZWUgYnVnIDgx
MTAyKQorICAgICAgICAvLyBOZXN0ZWQgU2hhZG93RE9NIHRyZWUgY2FzZSAtIGZpbmQgaWYgdGhl
IGV4dHJlbWUgc2hhZG93SG9zdCBpcyB0aGUgb25lIG9uIHdoaWNoIGJsdXIgaXMgY2FsbGVkLgor
ICAgICAgICBUcmVlU2NvcGUqIHRyZWVTY29wZSA9IGZvY3VzZWQtPnRyZWVTY29wZSgpOworICAg
ICAgICB3aGlsZSAoZm9jdXNlZCAhPSB0aGlzICYmIHRyZWVTY29wZSAhPSBkb2MpIHsKKyAgICAg
ICAgICAgIGZvY3VzZWQgPSB0cmVlU2NvcGUtPnJvb3ROb2RlKCktPnNoYWRvd0hvc3QoKTsKKyAg
ICAgICAgICAgIHRyZWVTY29wZSA9IGZvY3VzZWQtPnRyZWVTY29wZSgpOworICAgICAgICB9CiAg
ICAgfQorICAgIC8vIGlmIHNoYWRvd0hvc3QgaXMgbm90IGZvdW5kIHJldHVybi4gVGhpcyBoYW5k
bGVzIGNhc2Ugd2hlcmUgZm9jdXNlZCBub2RlCisgICAgLy8gYW5kIGNhbGxlZCBob3N0IGVsZW1l
bnQgYXJlIGZyb20gZGlmZmVyZW50IHRyZWUuCisgICAgaWYgKGZvY3VzZWQgIT0gdGhpcykKKyAg
ICAgICAgcmV0dXJuOworCisgICAgaWYgKGRvYy0+ZnJhbWUoKSkKKyAgICAgICAgZG9jLT5mcmFt
ZSgpLT5wYWdlKCktPmZvY3VzQ29udHJvbGxlcigpLT5zZXRGb2N1c2VkTm9kZSgwLCBkb2MtPmZy
YW1lKCkpOworICAgIGVsc2UKKyAgICAgICAgZG9jLT5zZXRGb2N1c2VkTm9kZSgwKTsKIH0KIAog
U3RyaW5nIEVsZW1lbnQ6OmlubmVyVGV4dCgpCkluZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAxMTA5NTUpCisr
KyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxMyBAQAor
MjAxMi0wMy0xNSAgS2F1c3R1YmggQXRyYXdhbGthciAgPGthdXN0dWJoQG1vdG9yb2xhLmNvbT4K
KworICAgICAgICBibHVyKCkgb24gc2hhZG93IGhvc3Qgc2hvdWxkIHdvcmsgd2hlbiBhIHNoYWRv
dyBob3N0IGNvbnRhaW5zIGEgZm9jdXNlZCBlbGVtZW50IGluIGl0cyBzaGFkb3cgRE9NIHN1YnRy
ZWVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MTEw
MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogZmFz
dC9kb20vc2hhZG93L3NoYWRvdy1yb290LWJsdXItZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBmYXN0L2RvbS9zaGFkb3cvc2hhZG93LXJvb3QtYmx1ci5odG1sOiBBZGRlZC4KKwogMjAx
Mi0wMy0xNiAgTWlrZSBSZWVkICA8cmVlZEBnb29nbGUuY29tPgogCiAgICAgICAgIHRvIGJlIHJl
YmFzZWxpbmVkIGFmdGVyIGhhaXJsaW5lIGNsaXBwaW5nIGZpeCBpbiBza2lhIGxhbmRzCkluZGV4
OiBMYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LXJvb3QtYmx1ci1leHBlY3RlZC50
eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy1yb290
LWJsdXItZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9kb20v
c2hhZG93L3NoYWRvdy1yb290LWJsdXItZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCww
ICsxLDQzIEBACitUaGlzIHRlc3RzIHRoZSBibHVyKCkgb24gb24gc2hhZG93IGhvc3Qgc2hvdWxk
IHdvcmsgd2hlbiBhIHNoYWRvdyBob3N0IGNvbnRhaW5zIGEgZm9jdXNlZCBlbGVtZW50IGluIGl0
cyBzaGFkb3cgRE9NIHN1YnRyZWVzIHByb3BlcnR5IChidWcgODExMDIpCisKK09uIHN1Y2Nlc3Ms
IHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJU
RVNUIENPTVBMRVRFIi4KKworCisKK2dldEVsZW1lbnRJblNoYWRvd1RyZWVTdGFjaygnc2hhZG93
SG9zdEEvY2hpbGRJblRyZWVPbmUnKS5mb2N1cygpCitQQVNTIGRvY3VtZW50LmFjdGl2ZUVsZW1l
bnQuaWQgaXMgInNoYWRvd0hvc3RBIgorZ2V0RWxlbWVudEluU2hhZG93VHJlZVN0YWNrKCdzaGFk
b3dIb3N0QScpLmJsdXIoKTsKK3NoYWRvd0hvc3RBIG9uYmx1ciBjYWxsZWQhCitQQVNTIGRvY3Vt
ZW50LmFjdGl2ZUVsZW1lbnQgaXMgZG9jdW1lbnQuYm9keQorUEFTUyBnZXRFbGVtZW50SW5TaGFk
b3dUcmVlU3RhY2soJ3NoYWRvd0hvc3RBLycpLmFjdGl2ZUVsZW1lbnQgaXMgbnVsbAorUEFTUyBn
ZXRFbGVtZW50SW5TaGFkb3dUcmVlU3RhY2soJ3NoYWRvd0hvc3RBL3NoYWRvd0hvc3RCLycpLmFj
dGl2ZUVsZW1lbnQgaXMgbnVsbAorUEFTUyBnZXRFbGVtZW50SW5TaGFkb3dUcmVlU3RhY2soJ3No
YWRvd0hvc3RDLycpLmFjdGl2ZUVsZW1lbnQgaXMgbnVsbAorZ2V0RWxlbWVudEluU2hhZG93VHJl
ZVN0YWNrKCdzaGFkb3dIb3N0QS9zaGFkb3dIb3N0Qi9jaGlsZEluVHJlZVR3bycpLmZvY3VzKCkK
K1BBU1MgZG9jdW1lbnQuYWN0aXZlRWxlbWVudC5pZCBpcyAic2hhZG93SG9zdEEiCitnZXRFbGVt
ZW50SW5TaGFkb3dUcmVlU3RhY2soJ3NoYWRvd0hvc3RBL3NoYWRvd0hvc3RCJykuYmx1cigpOwor
c2hhZG93SG9zdEEgb25ibHVyIGNhbGxlZCEKK3NoYWRvd0hvc3RCIG9uYmx1ciBjYWxsZWQhCitQ
QVNTIGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgaXMgZG9jdW1lbnQuYm9keQorUEFTUyBnZXRFbGVt
ZW50SW5TaGFkb3dUcmVlU3RhY2soJ3NoYWRvd0hvc3RBLycpLmFjdGl2ZUVsZW1lbnQgaXMgbnVs
bAorUEFTUyBnZXRFbGVtZW50SW5TaGFkb3dUcmVlU3RhY2soJ3NoYWRvd0hvc3RBL3NoYWRvd0hv
c3RCLycpLmFjdGl2ZUVsZW1lbnQgaXMgbnVsbAorUEFTUyBnZXRFbGVtZW50SW5TaGFkb3dUcmVl
U3RhY2soJ3NoYWRvd0hvc3RDLycpLmFjdGl2ZUVsZW1lbnQgaXMgbnVsbAorZ2V0RWxlbWVudElu
U2hhZG93VHJlZVN0YWNrKCdzaGFkb3dIb3N0QS9zaGFkb3dIb3N0Qi9jaGlsZEluVHJlZVR3bycp
LmZvY3VzKCkKK1BBU1MgZG9jdW1lbnQuYWN0aXZlRWxlbWVudC5pZCBpcyAic2hhZG93SG9zdEEi
CitnZXRFbGVtZW50SW5TaGFkb3dUcmVlU3RhY2soJ3NoYWRvd0hvc3RBJykuYmx1cigpOworc2hh
ZG93SG9zdEEgb25ibHVyIGNhbGxlZCEKK3NoYWRvd0hvc3RCIG9uYmx1ciBjYWxsZWQhCitQQVNT
IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgaXMgZG9jdW1lbnQuYm9keQorUEFTUyBnZXRFbGVtZW50
SW5TaGFkb3dUcmVlU3RhY2soJ3NoYWRvd0hvc3RBLycpLmFjdGl2ZUVsZW1lbnQgaXMgbnVsbAor
UEFTUyBnZXRFbGVtZW50SW5TaGFkb3dUcmVlU3RhY2soJ3NoYWRvd0hvc3RBL3NoYWRvd0hvc3RC
LycpLmFjdGl2ZUVsZW1lbnQgaXMgbnVsbAorUEFTUyBnZXRFbGVtZW50SW5TaGFkb3dUcmVlU3Rh
Y2soJ3NoYWRvd0hvc3RDLycpLmFjdGl2ZUVsZW1lbnQgaXMgbnVsbAorZ2V0RWxlbWVudEluU2hh
ZG93VHJlZVN0YWNrKCdzaGFkb3dIb3N0Qy9jaGlsZEluVHJlZVRocmVlJykuZm9jdXMoKQorUEFT
UyBkb2N1bWVudC5hY3RpdmVFbGVtZW50LmlkIGlzICJzaGFkb3dIb3N0QyIKK2dldEVsZW1lbnRJ
blNoYWRvd1RyZWVTdGFjaygnc2hhZG93SG9zdEEnKS5ibHVyKCk7CitQQVNTIGRvY3VtZW50LmFj
dGl2ZUVsZW1lbnQuaWQgaXMgInNoYWRvd0hvc3RDIgorUEFTUyBnZXRFbGVtZW50SW5TaGFkb3dU
cmVlU3RhY2soJ3NoYWRvd0hvc3RBLycpLmFjdGl2ZUVsZW1lbnQgaXMgbnVsbAorUEFTUyBnZXRF
bGVtZW50SW5TaGFkb3dUcmVlU3RhY2soJ3NoYWRvd0hvc3RBL3NoYWRvd0hvc3RCLycpLmFjdGl2
ZUVsZW1lbnQgaXMgbnVsbAorUEFTUyBnZXRFbGVtZW50SW5TaGFkb3dUcmVlU3RhY2soJ3NoYWRv
d0hvc3RDLycpLmFjdGl2ZUVsZW1lbnQuaWQgaXMgImNoaWxkSW5UcmVlVGhyZWUiCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpJbmRleDogTGF5b3V0
VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy1yb290LWJsdXIuaHRtbAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBMYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LXJvb3QtYmx1ci5odG1sCShyZXZp
c2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy1yb290LWJsdXIu
aHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw3NiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRt
bD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3NoYWRvdy1kb20uanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IGlkPSJjb25zb2xlIj4KKzwvZGl2PgorPHNjcmlw
dD4KK2Rlc2NyaXB0aW9uKCJUaGlzIHRlc3RzIHRoZSBibHVyKCkgb24gb24gc2hhZG93IGhvc3Qg
c2hvdWxkIHdvcmsgd2hlbiBhIHNoYWRvdyBob3N0IGNvbnRhaW5zIGEgZm9jdXNlZCBlbGVtZW50
IGluIGl0cyBzaGFkb3cgRE9NIHN1YnRyZWVzIHByb3BlcnR5IChidWcgODExMDIpIik7CisKK2lm
ICghd2luZG93LmludGVybmFscykKKyAgICBkZWJ1ZygnVGhpcyB0ZXN0IHJ1bnMgb24gRFJUIG9u
bHknKTsKKworaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICBsYXlvdXRUZXN0
Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoCisg
ICAgY3JlYXRlRE9NKCdkaXYnLCB7J2lkJzonc2hhZG93SG9zdEEnfSwKKyAgICAgICAgY3JlYXRl
U2hhZG93Um9vdCgKKyAgICAgICAgICAgIGNyZWF0ZURPTSgncCcsIHsnaWQnOidjaGlsZEluVHJl
ZU9uZScsICd0YWJpbmRleCc6JzEnfSksCisgICAgICAgICAgICBjcmVhdGVET00oJ2RpdicsIHsn
aWQnOidzaGFkb3dIb3N0Qid9LAorICAgICAgICAgICAgICAgIGNyZWF0ZVNoYWRvd1Jvb3QoCisg
ICAgICAgICAgICAgICAgICAgIGNyZWF0ZURPTSgncCcsIHsnaWQnOidjaGlsZEluVHJlZVR3bycs
ICd0YWJpbmRleCc6JzInfSkpKSkpKTsKKworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCgKKyAg
ICBjcmVhdGVET00oJ2RpdicsIHsnaWQnOidzaGFkb3dIb3N0Qyd9LAorICAgICAgICBjcmVhdGVT
aGFkb3dSb290KAorICAgICAgICAgICAgY3JlYXRlRE9NKCdwJywgeydpZCc6J2NoaWxkSW5UcmVl
VGhyZWUnLCAndGFiaW5kZXgnOiczJ30pKSkKKyk7CisKK2dldEVsZW1lbnRJblNoYWRvd1RyZWVT
dGFjaygnc2hhZG93SG9zdEEnKS5vbmJsdXIgPSBmdW5jdGlvbigpIHsgZGVidWcoInNoYWRvd0hv
c3RBIG9uYmx1ciBjYWxsZWQhIik7IH0gCitnZXRFbGVtZW50SW5TaGFkb3dUcmVlU3RhY2soJ3No
YWRvd0hvc3RBL3NoYWRvd0hvc3RCJykub25ibHVyID0gZnVuY3Rpb24oKSB7IGRlYnVnKCJzaGFk
b3dIb3N0QiBvbmJsdXIgY2FsbGVkISIpOyB9IAorCisvLyBjaGlsZEluVHJlZU9uZSBmb3Vjc2Vk
IC0gc2hhZG93SG9zdEEgYmx1cnJlZAorZXZhbEFuZExvZygiZ2V0RWxlbWVudEluU2hhZG93VHJl
ZVN0YWNrKCdzaGFkb3dIb3N0QS9jaGlsZEluVHJlZU9uZScpLmZvY3VzKCkiKTsKK3Nob3VsZEJl
RXF1YWxUb1N0cmluZygiZG9jdW1lbnQuYWN0aXZlRWxlbWVudC5pZCIsICJzaGFkb3dIb3N0QSIp
OworZXZhbEFuZExvZygiZ2V0RWxlbWVudEluU2hhZG93VHJlZVN0YWNrKCdzaGFkb3dIb3N0QScp
LmJsdXIoKTsiKTsKK3Nob3VsZEJlKCJkb2N1bWVudC5hY3RpdmVFbGVtZW50IiwgImRvY3VtZW50
LmJvZHkiKTsKK3Nob3VsZEJlKCJnZXRFbGVtZW50SW5TaGFkb3dUcmVlU3RhY2soJ3NoYWRvd0hv
c3RBLycpLmFjdGl2ZUVsZW1lbnQiLCAibnVsbCIpOworc2hvdWxkQmUoImdldEVsZW1lbnRJblNo
YWRvd1RyZWVTdGFjaygnc2hhZG93SG9zdEEvc2hhZG93SG9zdEIvJykuYWN0aXZlRWxlbWVudCIs
ICJudWxsIik7CitzaG91bGRCZSgiZ2V0RWxlbWVudEluU2hhZG93VHJlZVN0YWNrKCdzaGFkb3dI
b3N0Qy8nKS5hY3RpdmVFbGVtZW50IiwgIm51bGwiKTsKKworLy8gY2hpbGRJblRyZWVUd28gZm91
Y3NlZCAtIHNoYWRvd0hvc3RCIGJsdXJyZWQKK2V2YWxBbmRMb2coImdldEVsZW1lbnRJblNoYWRv
d1RyZWVTdGFjaygnc2hhZG93SG9zdEEvc2hhZG93SG9zdEIvY2hpbGRJblRyZWVUd28nKS5mb2N1
cygpIik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvY3VtZW50LmFjdGl2ZUVsZW1lbnQuaWQi
LCAic2hhZG93SG9zdEEiKTsKK2V2YWxBbmRMb2coImdldEVsZW1lbnRJblNoYWRvd1RyZWVTdGFj
aygnc2hhZG93SG9zdEEvc2hhZG93SG9zdEInKS5ibHVyKCk7Iik7CitzaG91bGRCZSgiZG9jdW1l
bnQuYWN0aXZlRWxlbWVudCIsICJkb2N1bWVudC5ib2R5Iik7CitzaG91bGRCZSgiZ2V0RWxlbWVu
dEluU2hhZG93VHJlZVN0YWNrKCdzaGFkb3dIb3N0QS8nKS5hY3RpdmVFbGVtZW50IiwgIm51bGwi
KTsKK3Nob3VsZEJlKCJnZXRFbGVtZW50SW5TaGFkb3dUcmVlU3RhY2soJ3NoYWRvd0hvc3RBL3No
YWRvd0hvc3RCLycpLmFjdGl2ZUVsZW1lbnQiLCAibnVsbCIpOworc2hvdWxkQmUoImdldEVsZW1l
bnRJblNoYWRvd1RyZWVTdGFjaygnc2hhZG93SG9zdEMvJykuYWN0aXZlRWxlbWVudCIsICJudWxs
Iik7CisKKy8vIGNoaWxkSW5UcmVlVHdvIGZvdWNzZWQgLSBzaGFkb3dIb3N0QSBibHVycmVkCitl
dmFsQW5kTG9nKCJnZXRFbGVtZW50SW5TaGFkb3dUcmVlU3RhY2soJ3NoYWRvd0hvc3RBL3NoYWRv
d0hvc3RCL2NoaWxkSW5UcmVlVHdvJykuZm9jdXMoKSIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5n
KCJkb2N1bWVudC5hY3RpdmVFbGVtZW50LmlkIiwgInNoYWRvd0hvc3RBIik7CitldmFsQW5kTG9n
KCJnZXRFbGVtZW50SW5TaGFkb3dUcmVlU3RhY2soJ3NoYWRvd0hvc3RBJykuYmx1cigpOyIpOwor
c2hvdWxkQmUoImRvY3VtZW50LmFjdGl2ZUVsZW1lbnQiLCAiZG9jdW1lbnQuYm9keSIpOworc2hv
dWxkQmUoImdldEVsZW1lbnRJblNoYWRvd1RyZWVTdGFjaygnc2hhZG93SG9zdEEvJykuYWN0aXZl
RWxlbWVudCIsICJudWxsIik7CitzaG91bGRCZSgiZ2V0RWxlbWVudEluU2hhZG93VHJlZVN0YWNr
KCdzaGFkb3dIb3N0QS9zaGFkb3dIb3N0Qi8nKS5hY3RpdmVFbGVtZW50IiwgIm51bGwiKTsKK3No
b3VsZEJlKCJnZXRFbGVtZW50SW5TaGFkb3dUcmVlU3RhY2soJ3NoYWRvd0hvc3RDLycpLmFjdGl2
ZUVsZW1lbnQiLCAibnVsbCIpOworCisvLyBjaGlsZEluVHJlZVRocmVlIGZvdWNzZWQgLSBzaGFk
b3dIb3N0QSBibHVycmVkCitldmFsQW5kTG9nKCJnZXRFbGVtZW50SW5TaGFkb3dUcmVlU3RhY2so
J3NoYWRvd0hvc3RDL2NoaWxkSW5UcmVlVGhyZWUnKS5mb2N1cygpIik7CitzaG91bGRCZUVxdWFs
VG9TdHJpbmcoImRvY3VtZW50LmFjdGl2ZUVsZW1lbnQuaWQiLCAic2hhZG93SG9zdEMiKTsKK2V2
YWxBbmRMb2coImdldEVsZW1lbnRJblNoYWRvd1RyZWVTdGFjaygnc2hhZG93SG9zdEEnKS5ibHVy
KCk7Iik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvY3VtZW50LmFjdGl2ZUVsZW1lbnQuaWQi
LCAic2hhZG93SG9zdEMiKTsKK3Nob3VsZEJlKCJnZXRFbGVtZW50SW5TaGFkb3dUcmVlU3RhY2so
J3NoYWRvd0hvc3RBLycpLmFjdGl2ZUVsZW1lbnQiLCAibnVsbCIpOworc2hvdWxkQmUoImdldEVs
ZW1lbnRJblNoYWRvd1RyZWVTdGFjaygnc2hhZG93SG9zdEEvc2hhZG93SG9zdEIvJykuYWN0aXZl
RWxlbWVudCIsICJudWxsIik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoImdldEVsZW1lbnRJblNo
YWRvd1RyZWVTdGFjaygnc2hhZG93SG9zdEMvJykuYWN0aXZlRWxlbWVudC5pZCIsICJjaGlsZElu
VHJlZVRocmVlIik7CisKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworPC9zY3JpcHQ+
Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3Jp
cHQ+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>132233</attachid>
            <date>2012-03-16 02:25:52 -0700</date>
            <delta_ts>2012-03-16 04:06:44 -0700</delta_ts>
            <desc>Updated Patch</desc>
            <filename>81102_3patch</filename>
            <type>text/plain</type>
            <size>10041</size>
            <attacher name="Kaustubh Atrawalkar">kaustubh.ra</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDExMDk1NSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBACisyMDEyLTAzLTE1ICBLYXVzdHVi
aCBBdHJhd2Fsa2FyICA8a2F1c3R1YmhAbW90b3JvbGEuY29tPgorCisgICAgICAgIGJsdXIoKSBv
biBzaGFkb3cgaG9zdCBzaG91bGQgd29yayB3aGVuIGEgc2hhZG93IGhvc3QgY29udGFpbnMgYSBm
b2N1c2VkIGVsZW1lbnQgaW4gaXRzIHNoYWRvdyBET00gc3VidHJlZXMKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgxMTAyCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVzdDogZmFzdC9kb20vc2hhZG93L3No
YWRvdy1yb290LWJsdXIuaHRtbAorCisgICAgICAgICogZG9tL0VsZW1lbnQuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6RWxlbWVudDo6Ymx1cik6IEFkZCBzdXBwb3J0IGZvciBibHVycmluZyBvZiBT
aGFkb3dUcmVlIGNoaWxkcmVuLgorCiAyMDEyLTAzLTE2ICBTZW8gU2FuZ2h5ZW9uICA8c2g0LnNl
b0BzYW1zdW5nLmNvbT4KIAogICAgICAgICBDbGVhbnVwIGVtcHR5IGF0dHJpYnV0ZSBsaXN0IGlu
IElETHMKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAJKHJldmlzaW9uIDExMDk1NSkKKysrIFNv
dXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTU5MiwxMiAr
MTU5MiwyNyBAQCB2b2lkIEVsZW1lbnQ6OmJsdXIoKQogewogICAgIGNhbmNlbEZvY3VzQXBwZWFy
YW5jZVVwZGF0ZSgpOwogICAgIERvY3VtZW50KiBkb2MgPSBkb2N1bWVudCgpOwotICAgIGlmIChk
b2MtPmZvY3VzZWROb2RlKCkgPT0gdGhpcykgewotICAgICAgICBpZiAoZG9jLT5mcmFtZSgpKQot
ICAgICAgICAgICAgZG9jLT5mcmFtZSgpLT5wYWdlKCktPmZvY3VzQ29udHJvbGxlcigpLT5zZXRG
b2N1c2VkTm9kZSgwLCBkb2MtPmZyYW1lKCkpOwotICAgICAgICBlbHNlCi0gICAgICAgICAgICBk
b2MtPnNldEZvY3VzZWROb2RlKDApOworICAgIE5vZGUqIGZvY3VzZWQgPSBkb2MtPmZvY3VzZWRO
b2RlKCk7CisgICAgaWYgKCFmb2N1c2VkKQorICAgICAgICByZXR1cm47CisKKyAgICBpZiAoaGFz
U2hhZG93Um9vdCgpKSB7CisgICAgICAgIC8vIEFkZGVkIGNhc2UgZm9yIGZvY3VzZWROb2RlIGJl
aW5nIGluIHNoYWRvd1RyZWUgJiBibHVyIGNhbGxlZCBvbiBzaGFkb3dIb3N0IChzZWUgYnVnIDgx
MTAyKQorICAgICAgICAvLyBOZXN0ZWQgU2hhZG93RE9NIHRyZWUgY2FzZSAtIGZpbmQgaWYgdGhl
IGV4dHJlbWUgc2hhZG93SG9zdCBpcyB0aGUgb25lIG9uIHdoaWNoIGJsdXIgaXMgY2FsbGVkLgor
ICAgICAgICBUcmVlU2NvcGUqIHRyZWVTY29wZSA9IGZvY3VzZWQtPnRyZWVTY29wZSgpOworICAg
ICAgICB3aGlsZSAoZm9jdXNlZCAhPSB0aGlzICYmIHRyZWVTY29wZSAhPSBkb2MpIHsKKyAgICAg
ICAgICAgIGZvY3VzZWQgPSB0cmVlU2NvcGUtPnJvb3ROb2RlKCktPnNoYWRvd0hvc3QoKTsKKyAg
ICAgICAgICAgIHRyZWVTY29wZSA9IGZvY3VzZWQtPnRyZWVTY29wZSgpOworICAgICAgICB9CiAg
ICAgfQorICAgIC8vIFRoaXMgaGFuZGxlcyBjYXNlIHdoZXJlIGZvY3VzZWQgbm9kZSBhbmQgY2Fs
bGVkIGhvc3QgZWxlbWVudCBhcmUgZnJvbSBkaWZmZXJlbnQgdHJlZS4KKyAgICBpZiAoZm9jdXNl
ZCAhPSB0aGlzKQorICAgICAgICByZXR1cm47CisKKyAgICBpZiAoZG9jLT5mcmFtZSgpKQorICAg
ICAgICBkb2MtPmZyYW1lKCktPnBhZ2UoKS0+Zm9jdXNDb250cm9sbGVyKCktPnNldEZvY3VzZWRO
b2RlKDAsIGRvYy0+ZnJhbWUoKSk7CisgICAgZWxzZQorICAgICAgICBkb2MtPnNldEZvY3VzZWRO
b2RlKDApOwogfQogCiBTdHJpbmcgRWxlbWVudDo6aW5uZXJUZXh0KCkKSW5kZXg6IExheW91dFRl
c3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlz
aW9uIDExMDk1NSkKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAt
MSwzICsxLDEzIEBACisyMDEyLTAzLTE1ICBLYXVzdHViaCBBdHJhd2Fsa2FyICA8a2F1c3R1YmhA
bW90b3JvbGEuY29tPgorCisgICAgICAgIGJsdXIoKSBvbiBzaGFkb3cgaG9zdCBzaG91bGQgd29y
ayB3aGVuIGEgc2hhZG93IGhvc3QgY29udGFpbnMgYSBmb2N1c2VkIGVsZW1lbnQgaW4gaXRzIHNo
YWRvdyBET00gc3VidHJlZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTgxMTAyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvc2hhZG93LXJvb3QtYmx1ci1leHBlY3RlZC50eHQ6
IEFkZGVkLgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9zaGFkb3ctcm9vdC1ibHVyLmh0bWw6
IEFkZGVkLgorCiAyMDEyLTAzLTE2ICBNaWtlIFJlZWQgIDxyZWVkQGdvb2dsZS5jb20+CiAKICAg
ICAgICAgdG8gYmUgcmViYXNlbGluZWQgYWZ0ZXIgaGFpcmxpbmUgY2xpcHBpbmcgZml4IGluIHNr
aWEgbGFuZHMKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctcm9vdC1i
bHVyLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFk
b3cvc2hhZG93LXJvb3QtYmx1ci1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRU
ZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LXJvb3QtYmx1ci1leHBlY3RlZC50eHQJKHJldmlz
aW9uIDApCkBAIC0wLDAgKzEsNDMgQEAKK1RoaXMgdGVzdHMgdGhlIGJsdXIoKSBvbiBvbiBzaGFk
b3cgaG9zdCBzaG91bGQgd29yayB3aGVuIGEgc2hhZG93IGhvc3QgY29udGFpbnMgYSBmb2N1c2Vk
IGVsZW1lbnQgaW4gaXRzIHNoYWRvdyBET00gc3VidHJlZXMgcHJvcGVydHkgKGJ1ZyA4MTEwMikK
KworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywg
Zm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKKworZ2V0RWxlbWVudEluU2hhZG93VHJl
ZVN0YWNrKCdzaGFkb3dIb3N0QS9jaGlsZEluVHJlZU9uZScpLmZvY3VzKCkKK1BBU1MgZG9jdW1l
bnQuYWN0aXZlRWxlbWVudC5pZCBpcyAic2hhZG93SG9zdEEiCitnZXRFbGVtZW50SW5TaGFkb3dU
cmVlU3RhY2soJ3NoYWRvd0hvc3RBJykuYmx1cigpOworc2hhZG93SG9zdEEgb25ibHVyIGNhbGxl
ZCEKK1BBU1MgZG9jdW1lbnQuYWN0aXZlRWxlbWVudCBpcyBkb2N1bWVudC5ib2R5CitQQVNTIGdl
dEVsZW1lbnRJblNoYWRvd1RyZWVTdGFjaygnc2hhZG93SG9zdEEvJykuYWN0aXZlRWxlbWVudCBp
cyBudWxsCitQQVNTIGdldEVsZW1lbnRJblNoYWRvd1RyZWVTdGFjaygnc2hhZG93SG9zdEEvc2hh
ZG93SG9zdEIvJykuYWN0aXZlRWxlbWVudCBpcyBudWxsCitQQVNTIGdldEVsZW1lbnRJblNoYWRv
d1RyZWVTdGFjaygnc2hhZG93SG9zdEMvJykuYWN0aXZlRWxlbWVudCBpcyBudWxsCitnZXRFbGVt
ZW50SW5TaGFkb3dUcmVlU3RhY2soJ3NoYWRvd0hvc3RBL3NoYWRvd0hvc3RCL2NoaWxkSW5UcmVl
VHdvJykuZm9jdXMoKQorUEFTUyBkb2N1bWVudC5hY3RpdmVFbGVtZW50LmlkIGlzICJzaGFkb3dI
b3N0QSIKK2dldEVsZW1lbnRJblNoYWRvd1RyZWVTdGFjaygnc2hhZG93SG9zdEEvc2hhZG93SG9z
dEInKS5ibHVyKCk7CitzaGFkb3dIb3N0QSBvbmJsdXIgY2FsbGVkIQorc2hhZG93SG9zdEIgb25i
bHVyIGNhbGxlZCEKK1BBU1MgZG9jdW1lbnQuYWN0aXZlRWxlbWVudCBpcyBkb2N1bWVudC5ib2R5
CitQQVNTIGdldEVsZW1lbnRJblNoYWRvd1RyZWVTdGFjaygnc2hhZG93SG9zdEEvJykuYWN0aXZl
RWxlbWVudCBpcyBudWxsCitQQVNTIGdldEVsZW1lbnRJblNoYWRvd1RyZWVTdGFjaygnc2hhZG93
SG9zdEEvc2hhZG93SG9zdEIvJykuYWN0aXZlRWxlbWVudCBpcyBudWxsCitQQVNTIGdldEVsZW1l
bnRJblNoYWRvd1RyZWVTdGFjaygnc2hhZG93SG9zdEMvJykuYWN0aXZlRWxlbWVudCBpcyBudWxs
CitnZXRFbGVtZW50SW5TaGFkb3dUcmVlU3RhY2soJ3NoYWRvd0hvc3RBL3NoYWRvd0hvc3RCL2No
aWxkSW5UcmVlVHdvJykuZm9jdXMoKQorUEFTUyBkb2N1bWVudC5hY3RpdmVFbGVtZW50LmlkIGlz
ICJzaGFkb3dIb3N0QSIKK2dldEVsZW1lbnRJblNoYWRvd1RyZWVTdGFjaygnc2hhZG93SG9zdEEn
KS5ibHVyKCk7CitzaGFkb3dIb3N0QSBvbmJsdXIgY2FsbGVkIQorc2hhZG93SG9zdEIgb25ibHVy
IGNhbGxlZCEKK1BBU1MgZG9jdW1lbnQuYWN0aXZlRWxlbWVudCBpcyBkb2N1bWVudC5ib2R5CitQ
QVNTIGdldEVsZW1lbnRJblNoYWRvd1RyZWVTdGFjaygnc2hhZG93SG9zdEEvJykuYWN0aXZlRWxl
bWVudCBpcyBudWxsCitQQVNTIGdldEVsZW1lbnRJblNoYWRvd1RyZWVTdGFjaygnc2hhZG93SG9z
dEEvc2hhZG93SG9zdEIvJykuYWN0aXZlRWxlbWVudCBpcyBudWxsCitQQVNTIGdldEVsZW1lbnRJ
blNoYWRvd1RyZWVTdGFjaygnc2hhZG93SG9zdEMvJykuYWN0aXZlRWxlbWVudCBpcyBudWxsCitn
ZXRFbGVtZW50SW5TaGFkb3dUcmVlU3RhY2soJ3NoYWRvd0hvc3RDL2NoaWxkSW5UcmVlVGhyZWUn
KS5mb2N1cygpCitQQVNTIGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQuaWQgaXMgInNoYWRvd0hvc3RD
IgorZ2V0RWxlbWVudEluU2hhZG93VHJlZVN0YWNrKCdzaGFkb3dIb3N0QScpLmJsdXIoKTsKK1BB
U1MgZG9jdW1lbnQuYWN0aXZlRWxlbWVudC5pZCBpcyAic2hhZG93SG9zdEMiCitQQVNTIGdldEVs
ZW1lbnRJblNoYWRvd1RyZWVTdGFjaygnc2hhZG93SG9zdEEvJykuYWN0aXZlRWxlbWVudCBpcyBu
dWxsCitQQVNTIGdldEVsZW1lbnRJblNoYWRvd1RyZWVTdGFjaygnc2hhZG93SG9zdEEvc2hhZG93
SG9zdEIvJykuYWN0aXZlRWxlbWVudCBpcyBudWxsCitQQVNTIGdldEVsZW1lbnRJblNoYWRvd1Ry
ZWVTdGFjaygnc2hhZG93SG9zdEMvJykuYWN0aXZlRWxlbWVudC5pZCBpcyAiY2hpbGRJblRyZWVU
aHJlZSIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LXJvb3QtYmx1ci5odG1s
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctcm9vdC1i
bHVyLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hh
ZG93LXJvb3QtYmx1ci5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDc2IEBACis8IURPQ1RZ
UEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvc2hhZG93
LWRvbS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYgaWQ9ImNvbnNvbGUiPgor
PC9kaXY+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oIlRoaXMgdGVzdHMgdGhlIGJsdXIoKSBvbiBv
biBzaGFkb3cgaG9zdCBzaG91bGQgd29yayB3aGVuIGEgc2hhZG93IGhvc3QgY29udGFpbnMgYSBm
b2N1c2VkIGVsZW1lbnQgaW4gaXRzIHNoYWRvdyBET00gc3VidHJlZXMgcHJvcGVydHkgKGJ1ZyA4
MTEwMikiKTsKKworaWYgKCF3aW5kb3cuaW50ZXJuYWxzKQorICAgIGRlYnVnKCdUaGlzIHRlc3Qg
cnVucyBvbiBEUlQgb25seScpOworCitpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQor
ICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKworZG9jdW1lbnQuYm9keS5h
cHBlbmRDaGlsZCgKKyAgICBjcmVhdGVET00oJ2RpdicsIHsnaWQnOidzaGFkb3dIb3N0QSd9LAor
ICAgICAgICBjcmVhdGVTaGFkb3dSb290KAorICAgICAgICAgICAgY3JlYXRlRE9NKCdwJywgeydp
ZCc6J2NoaWxkSW5UcmVlT25lJywgJ3RhYmluZGV4JzonMSd9KSwKKyAgICAgICAgICAgIGNyZWF0
ZURPTSgnZGl2JywgeydpZCc6J3NoYWRvd0hvc3RCJ30sCisgICAgICAgICAgICAgICAgY3JlYXRl
U2hhZG93Um9vdCgKKyAgICAgICAgICAgICAgICAgICAgY3JlYXRlRE9NKCdwJywgeydpZCc6J2No
aWxkSW5UcmVlVHdvJywgJ3RhYmluZGV4JzonMid9KSkpKSkpOworCitkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKAorICAgIGNyZWF0ZURPTSgnZGl2JywgeydpZCc6J3NoYWRvd0hvc3RDJ30sCisg
ICAgICAgIGNyZWF0ZVNoYWRvd1Jvb3QoCisgICAgICAgICAgICBjcmVhdGVET00oJ3AnLCB7J2lk
JzonY2hpbGRJblRyZWVUaHJlZScsICd0YWJpbmRleCc6JzMnfSkpKQorKTsKKworZ2V0RWxlbWVu
dEluU2hhZG93VHJlZVN0YWNrKCdzaGFkb3dIb3N0QScpLm9uYmx1ciA9IGZ1bmN0aW9uKCkgeyBk
ZWJ1Zygic2hhZG93SG9zdEEgb25ibHVyIGNhbGxlZCEiKTsgfSAKK2dldEVsZW1lbnRJblNoYWRv
d1RyZWVTdGFjaygnc2hhZG93SG9zdEEvc2hhZG93SG9zdEInKS5vbmJsdXIgPSBmdW5jdGlvbigp
IHsgZGVidWcoInNoYWRvd0hvc3RCIG9uYmx1ciBjYWxsZWQhIik7IH0gCisKKy8vIGNoaWxkSW5U
cmVlT25lIGZvdWNzZWQgLSBzaGFkb3dIb3N0QSBibHVycmVkCitldmFsQW5kTG9nKCJnZXRFbGVt
ZW50SW5TaGFkb3dUcmVlU3RhY2soJ3NoYWRvd0hvc3RBL2NoaWxkSW5UcmVlT25lJykuZm9jdXMo
KSIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2N1bWVudC5hY3RpdmVFbGVtZW50LmlkIiwg
InNoYWRvd0hvc3RBIik7CitldmFsQW5kTG9nKCJnZXRFbGVtZW50SW5TaGFkb3dUcmVlU3RhY2so
J3NoYWRvd0hvc3RBJykuYmx1cigpOyIpOworc2hvdWxkQmUoImRvY3VtZW50LmFjdGl2ZUVsZW1l
bnQiLCAiZG9jdW1lbnQuYm9keSIpOworc2hvdWxkQmUoImdldEVsZW1lbnRJblNoYWRvd1RyZWVT
dGFjaygnc2hhZG93SG9zdEEvJykuYWN0aXZlRWxlbWVudCIsICJudWxsIik7CitzaG91bGRCZSgi
Z2V0RWxlbWVudEluU2hhZG93VHJlZVN0YWNrKCdzaGFkb3dIb3N0QS9zaGFkb3dIb3N0Qi8nKS5h
Y3RpdmVFbGVtZW50IiwgIm51bGwiKTsKK3Nob3VsZEJlKCJnZXRFbGVtZW50SW5TaGFkb3dUcmVl
U3RhY2soJ3NoYWRvd0hvc3RDLycpLmFjdGl2ZUVsZW1lbnQiLCAibnVsbCIpOworCisvLyBjaGls
ZEluVHJlZVR3byBmb3Vjc2VkIC0gc2hhZG93SG9zdEIgYmx1cnJlZAorZXZhbEFuZExvZygiZ2V0
RWxlbWVudEluU2hhZG93VHJlZVN0YWNrKCdzaGFkb3dIb3N0QS9zaGFkb3dIb3N0Qi9jaGlsZElu
VHJlZVR3bycpLmZvY3VzKCkiKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jdW1lbnQuYWN0
aXZlRWxlbWVudC5pZCIsICJzaGFkb3dIb3N0QSIpOworZXZhbEFuZExvZygiZ2V0RWxlbWVudElu
U2hhZG93VHJlZVN0YWNrKCdzaGFkb3dIb3N0QS9zaGFkb3dIb3N0QicpLmJsdXIoKTsiKTsKK3No
b3VsZEJlKCJkb2N1bWVudC5hY3RpdmVFbGVtZW50IiwgImRvY3VtZW50LmJvZHkiKTsKK3Nob3Vs
ZEJlKCJnZXRFbGVtZW50SW5TaGFkb3dUcmVlU3RhY2soJ3NoYWRvd0hvc3RBLycpLmFjdGl2ZUVs
ZW1lbnQiLCAibnVsbCIpOworc2hvdWxkQmUoImdldEVsZW1lbnRJblNoYWRvd1RyZWVTdGFjaygn
c2hhZG93SG9zdEEvc2hhZG93SG9zdEIvJykuYWN0aXZlRWxlbWVudCIsICJudWxsIik7CitzaG91
bGRCZSgiZ2V0RWxlbWVudEluU2hhZG93VHJlZVN0YWNrKCdzaGFkb3dIb3N0Qy8nKS5hY3RpdmVF
bGVtZW50IiwgIm51bGwiKTsKKworLy8gY2hpbGRJblRyZWVUd28gZm91Y3NlZCAtIHNoYWRvd0hv
c3RBIGJsdXJyZWQKK2V2YWxBbmRMb2coImdldEVsZW1lbnRJblNoYWRvd1RyZWVTdGFjaygnc2hh
ZG93SG9zdEEvc2hhZG93SG9zdEIvY2hpbGRJblRyZWVUd28nKS5mb2N1cygpIik7CitzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoImRvY3VtZW50LmFjdGl2ZUVsZW1lbnQuaWQiLCAic2hhZG93SG9zdEEi
KTsKK2V2YWxBbmRMb2coImdldEVsZW1lbnRJblNoYWRvd1RyZWVTdGFjaygnc2hhZG93SG9zdEEn
KS5ibHVyKCk7Iik7CitzaG91bGRCZSgiZG9jdW1lbnQuYWN0aXZlRWxlbWVudCIsICJkb2N1bWVu
dC5ib2R5Iik7CitzaG91bGRCZSgiZ2V0RWxlbWVudEluU2hhZG93VHJlZVN0YWNrKCdzaGFkb3dI
b3N0QS8nKS5hY3RpdmVFbGVtZW50IiwgIm51bGwiKTsKK3Nob3VsZEJlKCJnZXRFbGVtZW50SW5T
aGFkb3dUcmVlU3RhY2soJ3NoYWRvd0hvc3RBL3NoYWRvd0hvc3RCLycpLmFjdGl2ZUVsZW1lbnQi
LCAibnVsbCIpOworc2hvdWxkQmUoImdldEVsZW1lbnRJblNoYWRvd1RyZWVTdGFjaygnc2hhZG93
SG9zdEMvJykuYWN0aXZlRWxlbWVudCIsICJudWxsIik7CisKKy8vIGNoaWxkSW5UcmVlVGhyZWUg
Zm91Y3NlZCAtIHNoYWRvd0hvc3RBIGJsdXJyZWQKK2V2YWxBbmRMb2coImdldEVsZW1lbnRJblNo
YWRvd1RyZWVTdGFjaygnc2hhZG93SG9zdEMvY2hpbGRJblRyZWVUaHJlZScpLmZvY3VzKCkiKTsK
K3Nob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jdW1lbnQuYWN0aXZlRWxlbWVudC5pZCIsICJzaGFk
b3dIb3N0QyIpOworZXZhbEFuZExvZygiZ2V0RWxlbWVudEluU2hhZG93VHJlZVN0YWNrKCdzaGFk
b3dIb3N0QScpLmJsdXIoKTsiKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jdW1lbnQuYWN0
aXZlRWxlbWVudC5pZCIsICJzaGFkb3dIb3N0QyIpOworc2hvdWxkQmUoImdldEVsZW1lbnRJblNo
YWRvd1RyZWVTdGFjaygnc2hhZG93SG9zdEEvJykuYWN0aXZlRWxlbWVudCIsICJudWxsIik7Citz
aG91bGRCZSgiZ2V0RWxlbWVudEluU2hhZG93VHJlZVN0YWNrKCdzaGFkb3dIb3N0QS9zaGFkb3dI
b3N0Qi8nKS5hY3RpdmVFbGVtZW50IiwgIm51bGwiKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygi
Z2V0RWxlbWVudEluU2hhZG93VHJlZVN0YWNrKCdzaGFkb3dIb3N0Qy8nKS5hY3RpdmVFbGVtZW50
LmlkIiwgImNoaWxkSW5UcmVlVGhyZWUiKTsKKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRy
dWU7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1w
b3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2Zh
c3QvZG9tL3NoYWRvdy9yZXNvdXJjZXMvc2hhZG93LWRvbS5qcwo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvcmVzb3VyY2VzL3NoYWRvdy1kb20uanMJKHJldmlzaW9u
IDExMDk1NSkKKysrIExheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9yZXNvdXJjZXMvc2hhZG93
LWRvbS5qcwkod29ya2luZyBjb3B5KQpAQCAtMzUsNiArMzUsNyBAQCBmdW5jdGlvbiBpc1NoYWRv
d1Jvb3Qobm9kZSkKIAogLy8gWW91IGNhbiBzcGVmaWZ5IHlvdW5nZXJTaGFkb3dSb290IGJ5IGNv
bnNlY3V0aXZlIHNsYXNoZXMuCiAvLyBTZWUgTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2dl
dC1lbGVtZW50LWJ5LWlkLWluLXNoYWRvdy1yb290Lmh0bWwgZm9yIGFjdHVhbCB1c2FnZXMuCisv
LyBGSVhNRTogcmVuYW1lIHRvIGdldE5vZGVJblNoYWRvd1RyZWVTdGFjawogZnVuY3Rpb24gZ2V0
RWxlbWVudEluU2hhZG93VHJlZVN0YWNrKHBhdGgpCiB7CiAgICAgdmFyIGlkcyA9IHBhdGguc3Bs
aXQoJy8nKTsK
</data>
<flag name="review"
          id="135822"
          type_id="1"
          status="-"
          setter="morrita"
    />
    <flag name="commit-queue"
          id="135823"
          type_id="3"
          status="-"
          setter="morrita"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>132243</attachid>
            <date>2012-03-16 04:06:44 -0700</date>
            <delta_ts>2012-03-16 04:48:12 -0700</delta_ts>
            <desc>Updated Patch</desc>
            <filename>81102_3.patch</filename>
            <type>text/plain</type>
            <size>9910</size>
            <attacher name="Kaustubh Atrawalkar">kaustubh.ra</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDExMDk1NSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBACisyMDEyLTAzLTE1ICBLYXVzdHVi
aCBBdHJhd2Fsa2FyICA8a2F1c3R1YmhAbW90b3JvbGEuY29tPgorCisgICAgICAgIGJsdXIoKSBv
biBzaGFkb3cgaG9zdCBzaG91bGQgd29yayB3aGVuIGEgc2hhZG93IGhvc3QgY29udGFpbnMgYSBm
b2N1c2VkIGVsZW1lbnQgaW4gaXRzIHNoYWRvdyBET00gc3VidHJlZXMKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgxMTAyCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVzdDogZmFzdC9kb20vc2hhZG93L3No
YWRvdy1yb290LWJsdXIuaHRtbAorCisgICAgICAgICogZG9tL0VsZW1lbnQuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6RWxlbWVudDo6Ymx1cik6IEFkZCBzdXBwb3J0IGZvciBibHVycmluZyBvZiBT
aGFkb3dUcmVlIGNoaWxkcmVuLgorCiAyMDEyLTAzLTE2ICBTZW8gU2FuZ2h5ZW9uICA8c2g0LnNl
b0BzYW1zdW5nLmNvbT4KIAogICAgICAgICBDbGVhbnVwIGVtcHR5IGF0dHJpYnV0ZSBsaXN0IGlu
IElETHMKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAJKHJldmlzaW9uIDExMDk1NSkKKysrIFNv
dXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTU4OCwxMSAr
MTU4OCwzMSBAQCB2b2lkIEVsZW1lbnQ6OnVwZGF0ZUZvY3VzQXBwZWFyYW5jZShib29sCiAgICAg
ICAgIHJlbmRlcmVyKCktPmVuY2xvc2luZ0xheWVyKCktPnNjcm9sbFJlY3RUb1Zpc2libGUoZ2V0
UmVjdCgpKTsKIH0KIAorTm9kZSogRWxlbWVudDo6ZmluZEZvY3VzZWROb2RlKCkKK3sKKyAgICBE
b2N1bWVudCogZG9jID0gZG9jdW1lbnQoKTsKKyAgICBOb2RlKiBmb2N1c2VkID0gZG9jLT5mb2N1
c2VkTm9kZSgpOworICAgIGlmICghZm9jdXNlZCkKKyAgICAgICAgcmV0dXJuIE5VTEw7CisKKyAg
ICBpZiAoaGFzU2hhZG93Um9vdCgpKSB7CisgICAgICAgIC8vIEFkZGVkIGNhc2UgZm9yIGZvY3Vz
ZWROb2RlIGJlaW5nIGluIHNoYWRvd1RyZWUgJiBibHVyIGNhbGxlZCBvbiBzaGFkb3dIb3N0IChz
ZWUgYnVnIDgxMTAyKQorICAgICAgICAvLyBOZXN0ZWQgU2hhZG93RE9NIHRyZWUgY2FzZSAtIGZp
bmQgaWYgdGhlIGV4dHJlbWUgc2hhZG93SG9zdCBpcyB0aGUgb25lIG9uIHdoaWNoIGJsdXIgaXMg
Y2FsbGVkLgorICAgICAgICBUcmVlU2NvcGUqIHRyZWVTY29wZSA9IGZvY3VzZWQtPnRyZWVTY29w
ZSgpOworICAgICAgICB3aGlsZSAoZm9jdXNlZCAhPSB0aGlzICYmIHRyZWVTY29wZSAhPSBkb2Mp
IHsKKyAgICAgICAgICAgIGZvY3VzZWQgPSB0cmVlU2NvcGUtPnJvb3ROb2RlKCktPnNoYWRvd0hv
c3QoKTsKKyAgICAgICAgICAgIHRyZWVTY29wZSA9IGZvY3VzZWQtPnRyZWVTY29wZSgpOworICAg
ICAgICB9CisgICAgICAgIC8vIFRoaXMgaGFuZGxlcyBjYXNlIHdoZXJlIGZvY3VzZWQgbm9kZSBh
bmQgY2FsbGVkIGhvc3QgZWxlbWVudCBhcmUgZnJvbSBkaWZmZXJlbnQgdHJlZS4KKyAgICB9Cisg
ICAgcmV0dXJuIGZvY3VzZWQ7Cit9CisKIHZvaWQgRWxlbWVudDo6Ymx1cigpCiB7CiAgICAgY2Fu
Y2VsRm9jdXNBcHBlYXJhbmNlVXBkYXRlKCk7CiAgICAgRG9jdW1lbnQqIGRvYyA9IGRvY3VtZW50
KCk7Ci0gICAgaWYgKGRvYy0+Zm9jdXNlZE5vZGUoKSA9PSB0aGlzKSB7CisgICAgaWYgKGZpbmRG
b2N1c2VkTm9kZSgpID09IHRoaXMpIHsKICAgICAgICAgaWYgKGRvYy0+ZnJhbWUoKSkKICAgICAg
ICAgICAgIGRvYy0+ZnJhbWUoKS0+cGFnZSgpLT5mb2N1c0NvbnRyb2xsZXIoKS0+c2V0Rm9jdXNl
ZE5vZGUoMCwgZG9jLT5mcmFtZSgpKTsKICAgICAgICAgZWxzZQpJbmRleDogU291cmNlL1dlYkNv
cmUvZG9tL0VsZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVu
dC5oCShyZXZpc2lvbiAxMTA5NTUpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5oCSh3
b3JraW5nIGNvcHkpCkBAIC00NDcsNiArNDQ3LDcgQEAgcHJpdmF0ZToKICNlbmRpZgogCiAgICAg
dm9pZCBjYW5jZWxGb2N1c0FwcGVhcmFuY2VVcGRhdGUoKTsKKyAgICBOb2RlKiBmaW5kRm9jdXNl
ZE5vZGUoKTsKIAogICAgIHZpcnR1YWwgY29uc3QgQXRvbWljU3RyaW5nJiB2aXJ0dWFsUHJlZml4
KCkgY29uc3QgeyByZXR1cm4gcHJlZml4KCk7IH0KICAgICB2aXJ0dWFsIGNvbnN0IEF0b21pY1N0
cmluZyYgdmlydHVhbExvY2FsTmFtZSgpIGNvbnN0IHsgcmV0dXJuIGxvY2FsTmFtZSgpOyB9Cklu
ZGV4OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCShyZXZpc2lvbiAxMTA5NTUpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtp
bmcgY29weSkKQEAgLTEsMyArMSwxMyBAQAorMjAxMi0wMy0xNSAgS2F1c3R1YmggQXRyYXdhbGth
ciAgPGthdXN0dWJoQG1vdG9yb2xhLmNvbT4KKworICAgICAgICBibHVyKCkgb24gc2hhZG93IGhv
c3Qgc2hvdWxkIHdvcmsgd2hlbiBhIHNoYWRvdyBob3N0IGNvbnRhaW5zIGEgZm9jdXNlZCBlbGVt
ZW50IGluIGl0cyBzaGFkb3cgRE9NIHN1YnRyZWVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MTEwMgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgICogZmFzdC9kb20vc2hhZG93L3NoYWRvdy1yb290LWJsdXIt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvc2hhZG93LXJv
b3QtYmx1ci5odG1sOiBBZGRlZC4KKwogMjAxMi0wMy0xNiAgTWlrZSBSZWVkICA8cmVlZEBnb29n
bGUuY29tPgogCiAgICAgICAgIHRvIGJlIHJlYmFzZWxpbmVkIGFmdGVyIGhhaXJsaW5lIGNsaXBw
aW5nIGZpeCBpbiBza2lhIGxhbmRzCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cv
c2hhZG93LXJvb3QtYmx1ci1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
ZmFzdC9kb20vc2hhZG93L3NoYWRvdy1yb290LWJsdXItZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAw
KQorKysgTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy1yb290LWJsdXItZXhwZWN0
ZWQudHh0CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDQzIEBACitUaGlzIHRlc3RzIHRoZSBibHVy
KCkgb24gb24gc2hhZG93IGhvc3Qgc2hvdWxkIHdvcmsgd2hlbiBhIHNoYWRvdyBob3N0IGNvbnRh
aW5zIGEgZm9jdXNlZCBlbGVtZW50IGluIGl0cyBzaGFkb3cgRE9NIHN1YnRyZWVzIHByb3BlcnR5
IChidWcgODExMDIpCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFT
UyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCisKK2dldEVsZW1l
bnRJblNoYWRvd1RyZWVTdGFjaygnc2hhZG93SG9zdEEvY2hpbGRJblRyZWVPbmUnKS5mb2N1cygp
CitQQVNTIGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQuaWQgaXMgInNoYWRvd0hvc3RBIgorZ2V0RWxl
bWVudEluU2hhZG93VHJlZVN0YWNrKCdzaGFkb3dIb3N0QScpLmJsdXIoKTsKK3NoYWRvd0hvc3RB
IG9uYmx1ciBjYWxsZWQhCitQQVNTIGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgaXMgZG9jdW1lbnQu
Ym9keQorUEFTUyBnZXRFbGVtZW50SW5TaGFkb3dUcmVlU3RhY2soJ3NoYWRvd0hvc3RBLycpLmFj
dGl2ZUVsZW1lbnQgaXMgbnVsbAorUEFTUyBnZXRFbGVtZW50SW5TaGFkb3dUcmVlU3RhY2soJ3No
YWRvd0hvc3RBL3NoYWRvd0hvc3RCLycpLmFjdGl2ZUVsZW1lbnQgaXMgbnVsbAorUEFTUyBnZXRF
bGVtZW50SW5TaGFkb3dUcmVlU3RhY2soJ3NoYWRvd0hvc3RDLycpLmFjdGl2ZUVsZW1lbnQgaXMg
bnVsbAorZ2V0RWxlbWVudEluU2hhZG93VHJlZVN0YWNrKCdzaGFkb3dIb3N0QS9zaGFkb3dIb3N0
Qi9jaGlsZEluVHJlZVR3bycpLmZvY3VzKCkKK1BBU1MgZG9jdW1lbnQuYWN0aXZlRWxlbWVudC5p
ZCBpcyAic2hhZG93SG9zdEEiCitnZXRFbGVtZW50SW5TaGFkb3dUcmVlU3RhY2soJ3NoYWRvd0hv
c3RBL3NoYWRvd0hvc3RCJykuYmx1cigpOworc2hhZG93SG9zdEEgb25ibHVyIGNhbGxlZCEKK3No
YWRvd0hvc3RCIG9uYmx1ciBjYWxsZWQhCitQQVNTIGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgaXMg
ZG9jdW1lbnQuYm9keQorUEFTUyBnZXRFbGVtZW50SW5TaGFkb3dUcmVlU3RhY2soJ3NoYWRvd0hv
c3RBLycpLmFjdGl2ZUVsZW1lbnQgaXMgbnVsbAorUEFTUyBnZXRFbGVtZW50SW5TaGFkb3dUcmVl
U3RhY2soJ3NoYWRvd0hvc3RBL3NoYWRvd0hvc3RCLycpLmFjdGl2ZUVsZW1lbnQgaXMgbnVsbAor
UEFTUyBnZXRFbGVtZW50SW5TaGFkb3dUcmVlU3RhY2soJ3NoYWRvd0hvc3RDLycpLmFjdGl2ZUVs
ZW1lbnQgaXMgbnVsbAorZ2V0RWxlbWVudEluU2hhZG93VHJlZVN0YWNrKCdzaGFkb3dIb3N0QS9z
aGFkb3dIb3N0Qi9jaGlsZEluVHJlZVR3bycpLmZvY3VzKCkKK1BBU1MgZG9jdW1lbnQuYWN0aXZl
RWxlbWVudC5pZCBpcyAic2hhZG93SG9zdEEiCitnZXRFbGVtZW50SW5TaGFkb3dUcmVlU3RhY2so
J3NoYWRvd0hvc3RBJykuYmx1cigpOworc2hhZG93SG9zdEEgb25ibHVyIGNhbGxlZCEKK3NoYWRv
d0hvc3RCIG9uYmx1ciBjYWxsZWQhCitQQVNTIGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgaXMgZG9j
dW1lbnQuYm9keQorUEFTUyBnZXRFbGVtZW50SW5TaGFkb3dUcmVlU3RhY2soJ3NoYWRvd0hvc3RB
LycpLmFjdGl2ZUVsZW1lbnQgaXMgbnVsbAorUEFTUyBnZXRFbGVtZW50SW5TaGFkb3dUcmVlU3Rh
Y2soJ3NoYWRvd0hvc3RBL3NoYWRvd0hvc3RCLycpLmFjdGl2ZUVsZW1lbnQgaXMgbnVsbAorUEFT
UyBnZXRFbGVtZW50SW5TaGFkb3dUcmVlU3RhY2soJ3NoYWRvd0hvc3RDLycpLmFjdGl2ZUVsZW1l
bnQgaXMgbnVsbAorZ2V0RWxlbWVudEluU2hhZG93VHJlZVN0YWNrKCdzaGFkb3dIb3N0Qy9jaGls
ZEluVHJlZVRocmVlJykuZm9jdXMoKQorUEFTUyBkb2N1bWVudC5hY3RpdmVFbGVtZW50LmlkIGlz
ICJzaGFkb3dIb3N0QyIKK2dldEVsZW1lbnRJblNoYWRvd1RyZWVTdGFjaygnc2hhZG93SG9zdEEn
KS5ibHVyKCk7CitQQVNTIGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQuaWQgaXMgInNoYWRvd0hvc3RD
IgorUEFTUyBnZXRFbGVtZW50SW5TaGFkb3dUcmVlU3RhY2soJ3NoYWRvd0hvc3RBLycpLmFjdGl2
ZUVsZW1lbnQgaXMgbnVsbAorUEFTUyBnZXRFbGVtZW50SW5TaGFkb3dUcmVlU3RhY2soJ3NoYWRv
d0hvc3RBL3NoYWRvd0hvc3RCLycpLmFjdGl2ZUVsZW1lbnQgaXMgbnVsbAorUEFTUyBnZXRFbGVt
ZW50SW5TaGFkb3dUcmVlU3RhY2soJ3NoYWRvd0hvc3RDLycpLmFjdGl2ZUVsZW1lbnQuaWQgaXMg
ImNoaWxkSW5UcmVlVGhyZWUiCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RF
U1QgQ09NUExFVEUKKwpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy1y
b290LWJsdXIuaHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cv
c2hhZG93LXJvb3QtYmx1ci5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9k
b20vc2hhZG93L3NoYWRvdy1yb290LWJsdXIuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw3
NiBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4u
L2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVz
b3VyY2VzL3NoYWRvdy1kb20uanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IGlk
PSJjb25zb2xlIj4KKzwvZGl2PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCJUaGlzIHRlc3RzIHRo
ZSBibHVyKCkgb24gb24gc2hhZG93IGhvc3Qgc2hvdWxkIHdvcmsgd2hlbiBhIHNoYWRvdyBob3N0
IGNvbnRhaW5zIGEgZm9jdXNlZCBlbGVtZW50IGluIGl0cyBzaGFkb3cgRE9NIHN1YnRyZWVzIHBy
b3BlcnR5IChidWcgODExMDIpIik7CisKK2lmICghd2luZG93LmludGVybmFscykKKyAgICBkZWJ1
ZygnVGhpcyB0ZXN0IHJ1bnMgb24gRFJUIG9ubHknKTsKKworaWYgKHdpbmRvdy5sYXlvdXRUZXN0
Q29udHJvbGxlcikKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisKK2Rv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoCisgICAgY3JlYXRlRE9NKCdkaXYnLCB7J2lkJzonc2hh
ZG93SG9zdEEnfSwKKyAgICAgICAgY3JlYXRlU2hhZG93Um9vdCgKKyAgICAgICAgICAgIGNyZWF0
ZURPTSgncCcsIHsnaWQnOidjaGlsZEluVHJlZU9uZScsICd0YWJpbmRleCc6JzEnfSksCisgICAg
ICAgICAgICBjcmVhdGVET00oJ2RpdicsIHsnaWQnOidzaGFkb3dIb3N0Qid9LAorICAgICAgICAg
ICAgICAgIGNyZWF0ZVNoYWRvd1Jvb3QoCisgICAgICAgICAgICAgICAgICAgIGNyZWF0ZURPTSgn
cCcsIHsnaWQnOidjaGlsZEluVHJlZVR3bycsICd0YWJpbmRleCc6JzInfSkpKSkpKTsKKworZG9j
dW1lbnQuYm9keS5hcHBlbmRDaGlsZCgKKyAgICBjcmVhdGVET00oJ2RpdicsIHsnaWQnOidzaGFk
b3dIb3N0Qyd9LAorICAgICAgICBjcmVhdGVTaGFkb3dSb290KAorICAgICAgICAgICAgY3JlYXRl
RE9NKCdwJywgeydpZCc6J2NoaWxkSW5UcmVlVGhyZWUnLCAndGFiaW5kZXgnOiczJ30pKSkKKyk7
CisKK2dldEVsZW1lbnRJblNoYWRvd1RyZWVTdGFjaygnc2hhZG93SG9zdEEnKS5vbmJsdXIgPSBm
dW5jdGlvbigpIHsgZGVidWcoInNoYWRvd0hvc3RBIG9uYmx1ciBjYWxsZWQhIik7IH0gCitnZXRF
bGVtZW50SW5TaGFkb3dUcmVlU3RhY2soJ3NoYWRvd0hvc3RBL3NoYWRvd0hvc3RCJykub25ibHVy
ID0gZnVuY3Rpb24oKSB7IGRlYnVnKCJzaGFkb3dIb3N0QiBvbmJsdXIgY2FsbGVkISIpOyB9IAor
CisvLyBjaGlsZEluVHJlZU9uZSBmb3Vjc2VkIC0gc2hhZG93SG9zdEEgYmx1cnJlZAorZXZhbEFu
ZExvZygiZ2V0RWxlbWVudEluU2hhZG93VHJlZVN0YWNrKCdzaGFkb3dIb3N0QS9jaGlsZEluVHJl
ZU9uZScpLmZvY3VzKCkiKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jdW1lbnQuYWN0aXZl
RWxlbWVudC5pZCIsICJzaGFkb3dIb3N0QSIpOworZXZhbEFuZExvZygiZ2V0RWxlbWVudEluU2hh
ZG93VHJlZVN0YWNrKCdzaGFkb3dIb3N0QScpLmJsdXIoKTsiKTsKK3Nob3VsZEJlKCJkb2N1bWVu
dC5hY3RpdmVFbGVtZW50IiwgImRvY3VtZW50LmJvZHkiKTsKK3Nob3VsZEJlKCJnZXRFbGVtZW50
SW5TaGFkb3dUcmVlU3RhY2soJ3NoYWRvd0hvc3RBLycpLmFjdGl2ZUVsZW1lbnQiLCAibnVsbCIp
Oworc2hvdWxkQmUoImdldEVsZW1lbnRJblNoYWRvd1RyZWVTdGFjaygnc2hhZG93SG9zdEEvc2hh
ZG93SG9zdEIvJykuYWN0aXZlRWxlbWVudCIsICJudWxsIik7CitzaG91bGRCZSgiZ2V0RWxlbWVu
dEluU2hhZG93VHJlZVN0YWNrKCdzaGFkb3dIb3N0Qy8nKS5hY3RpdmVFbGVtZW50IiwgIm51bGwi
KTsKKworLy8gY2hpbGRJblRyZWVUd28gZm91Y3NlZCAtIHNoYWRvd0hvc3RCIGJsdXJyZWQKK2V2
YWxBbmRMb2coImdldEVsZW1lbnRJblNoYWRvd1RyZWVTdGFjaygnc2hhZG93SG9zdEEvc2hhZG93
SG9zdEIvY2hpbGRJblRyZWVUd28nKS5mb2N1cygpIik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmco
ImRvY3VtZW50LmFjdGl2ZUVsZW1lbnQuaWQiLCAic2hhZG93SG9zdEEiKTsKK2V2YWxBbmRMb2co
ImdldEVsZW1lbnRJblNoYWRvd1RyZWVTdGFjaygnc2hhZG93SG9zdEEvc2hhZG93SG9zdEInKS5i
bHVyKCk7Iik7CitzaG91bGRCZSgiZG9jdW1lbnQuYWN0aXZlRWxlbWVudCIsICJkb2N1bWVudC5i
b2R5Iik7CitzaG91bGRCZSgiZ2V0RWxlbWVudEluU2hhZG93VHJlZVN0YWNrKCdzaGFkb3dIb3N0
QS8nKS5hY3RpdmVFbGVtZW50IiwgIm51bGwiKTsKK3Nob3VsZEJlKCJnZXRFbGVtZW50SW5TaGFk
b3dUcmVlU3RhY2soJ3NoYWRvd0hvc3RBL3NoYWRvd0hvc3RCLycpLmFjdGl2ZUVsZW1lbnQiLCAi
bnVsbCIpOworc2hvdWxkQmUoImdldEVsZW1lbnRJblNoYWRvd1RyZWVTdGFjaygnc2hhZG93SG9z
dEMvJykuYWN0aXZlRWxlbWVudCIsICJudWxsIik7CisKKy8vIGNoaWxkSW5UcmVlVHdvIGZvdWNz
ZWQgLSBzaGFkb3dIb3N0QSBibHVycmVkCitldmFsQW5kTG9nKCJnZXRFbGVtZW50SW5TaGFkb3dU
cmVlU3RhY2soJ3NoYWRvd0hvc3RBL3NoYWRvd0hvc3RCL2NoaWxkSW5UcmVlVHdvJykuZm9jdXMo
KSIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2N1bWVudC5hY3RpdmVFbGVtZW50LmlkIiwg
InNoYWRvd0hvc3RBIik7CitldmFsQW5kTG9nKCJnZXRFbGVtZW50SW5TaGFkb3dUcmVlU3RhY2so
J3NoYWRvd0hvc3RBJykuYmx1cigpOyIpOworc2hvdWxkQmUoImRvY3VtZW50LmFjdGl2ZUVsZW1l
bnQiLCAiZG9jdW1lbnQuYm9keSIpOworc2hvdWxkQmUoImdldEVsZW1lbnRJblNoYWRvd1RyZWVT
dGFjaygnc2hhZG93SG9zdEEvJykuYWN0aXZlRWxlbWVudCIsICJudWxsIik7CitzaG91bGRCZSgi
Z2V0RWxlbWVudEluU2hhZG93VHJlZVN0YWNrKCdzaGFkb3dIb3N0QS9zaGFkb3dIb3N0Qi8nKS5h
Y3RpdmVFbGVtZW50IiwgIm51bGwiKTsKK3Nob3VsZEJlKCJnZXRFbGVtZW50SW5TaGFkb3dUcmVl
U3RhY2soJ3NoYWRvd0hvc3RDLycpLmFjdGl2ZUVsZW1lbnQiLCAibnVsbCIpOworCisvLyBjaGls
ZEluVHJlZVRocmVlIGZvdWNzZWQgLSBzaGFkb3dIb3N0QSBibHVycmVkCitldmFsQW5kTG9nKCJn
ZXRFbGVtZW50SW5TaGFkb3dUcmVlU3RhY2soJ3NoYWRvd0hvc3RDL2NoaWxkSW5UcmVlVGhyZWUn
KS5mb2N1cygpIik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvY3VtZW50LmFjdGl2ZUVsZW1l
bnQuaWQiLCAic2hhZG93SG9zdEMiKTsKK2V2YWxBbmRMb2coImdldEVsZW1lbnRJblNoYWRvd1Ry
ZWVTdGFjaygnc2hhZG93SG9zdEEnKS5ibHVyKCk7Iik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmco
ImRvY3VtZW50LmFjdGl2ZUVsZW1lbnQuaWQiLCAic2hhZG93SG9zdEMiKTsKK3Nob3VsZEJlKCJn
ZXRFbGVtZW50SW5TaGFkb3dUcmVlU3RhY2soJ3NoYWRvd0hvc3RBLycpLmFjdGl2ZUVsZW1lbnQi
LCAibnVsbCIpOworc2hvdWxkQmUoImdldEVsZW1lbnRJblNoYWRvd1RyZWVTdGFjaygnc2hhZG93
SG9zdEEvc2hhZG93SG9zdEIvJykuYWN0aXZlRWxlbWVudCIsICJudWxsIik7CitzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImdldEVsZW1lbnRJblNoYWRvd1RyZWVTdGFjaygnc2hhZG93SG9zdEMvJyku
YWN0aXZlRWxlbWVudC5pZCIsICJjaGlsZEluVHJlZVRocmVlIik7CisKK3ZhciBzdWNjZXNzZnVs
bHlQYXJzZWQgPSB0cnVlOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>132246</attachid>
            <date>2012-03-16 04:21:38 -0700</date>
            <delta_ts>2012-03-16 04:48:12 -0700</delta_ts>
            <desc>Style Fix</desc>
            <filename>81102_4.patch</filename>
            <type>text/plain</type>
            <size>10067</size>
            <attacher name="Kaustubh Atrawalkar">kaustubh.ra</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDExMDk4NCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE5IEBACisyMDEyLTAzLTE2ICBLYXVzdHVi
aCBBdHJhd2Fsa2FyICA8a2F1c3R1YmhAbW90b3JvbGEuY29tPgorCisgICAgICAgIGJsdXIoKSBv
biBzaGFkb3cgaG9zdCBzaG91bGQgd29yayB3aGVuIGEgc2hhZG93IGhvc3QgY29udGFpbnMgYSBm
b2N1c2VkIGVsZW1lbnQgaW4gaXRzIHNoYWRvdyBET00gc3VidHJlZXMKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgxMTAyCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVzdDogZmFzdC9kb20vc2hhZG93L3No
YWRvdy1yb290LWJsdXIuaHRtbAorCisgICAgICAgICogZG9tL0VsZW1lbnQuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6RWxlbWVudDo6ZmluZEZvY3VzZWROb2RlKToKKyAgICAgICAgKFdlYkNvcmUp
OgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6Ymx1cik6IEFkZCBzdXBwb3J0IGZvciBibHVy
cmluZyBvZiBTaGFkb3dUcmVlIGNoaWxkcmVuLgorICAgICAgICAqIGRvbS9FbGVtZW50Lmg6Cisg
ICAgICAgIChFbGVtZW50KToKKwogMjAxMi0wMy0xNiAgTmF0IER1Y2EgIDxuZHVjYUBjaHJvbWl1
bS5vcmc+CiAKICAgICAgICAgW2Nocm9taXVtXSBCdW1wIHRleHR1cmVVcGRhdGVzUGVyRnJhbWUg
dG8gMzIgdG8gZmF2b3IgdXBkYXRpbmcgdGhlIHNjcmVlbiBvdmVyIGphbmsgcHJldmVudGlvbgpJ
bmRleDogU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcAkocmV2aXNpb24gMTEwOTg0KQorKysgU291cmNlL1dl
YkNvcmUvZG9tL0VsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNTg4LDExICsxNTg4LDMx
IEBAIHZvaWQgRWxlbWVudDo6dXBkYXRlRm9jdXNBcHBlYXJhbmNlKGJvb2wKICAgICAgICAgcmVu
ZGVyZXIoKS0+ZW5jbG9zaW5nTGF5ZXIoKS0+c2Nyb2xsUmVjdFRvVmlzaWJsZShnZXRSZWN0KCkp
OwogfQogCitOb2RlKiBFbGVtZW50OjpmaW5kRm9jdXNlZE5vZGUoKQoreworICAgIERvY3VtZW50
KiBkb2MgPSBkb2N1bWVudCgpOworICAgIE5vZGUqIGZvY3VzZWQgPSBkb2MtPmZvY3VzZWROb2Rl
KCk7CisgICAgaWYgKCFmb2N1c2VkKQorICAgICAgICByZXR1cm4gMDsKKworICAgIGlmIChoYXNT
aGFkb3dSb290KCkpIHsKKyAgICAgICAgLy8gQWRkZWQgY2FzZSBmb3IgZm9jdXNlZE5vZGUgYmVp
bmcgaW4gc2hhZG93VHJlZSAmIGJsdXIgY2FsbGVkIG9uIHNoYWRvd0hvc3QgKHNlZSBidWcgODEx
MDIpCisgICAgICAgIC8vIE5lc3RlZCBTaGFkb3dET00gdHJlZSBjYXNlIC0gZmluZCBpZiB0aGUg
ZXh0cmVtZSBzaGFkb3dIb3N0IGlzIHRoZSBvbmUgb24gd2hpY2ggYmx1ciBpcyBjYWxsZWQuCisg
ICAgICAgIFRyZWVTY29wZSogdHJlZVNjb3BlID0gZm9jdXNlZC0+dHJlZVNjb3BlKCk7CisgICAg
ICAgIHdoaWxlIChmb2N1c2VkICE9IHRoaXMgJiYgdHJlZVNjb3BlICE9IGRvYykgeworICAgICAg
ICAgICAgZm9jdXNlZCA9IHRyZWVTY29wZS0+cm9vdE5vZGUoKS0+c2hhZG93SG9zdCgpOworICAg
ICAgICAgICAgdHJlZVNjb3BlID0gZm9jdXNlZC0+dHJlZVNjb3BlKCk7CisgICAgICAgIH0KKyAg
ICAgICAgLy8gVGhpcyBoYW5kbGVzIGNhc2Ugd2hlcmUgZm9jdXNlZCBub2RlIGFuZCBjYWxsZWQg
aG9zdCBlbGVtZW50IGFyZSBmcm9tIGRpZmZlcmVudCB0cmVlLgorICAgIH0KKyAgICByZXR1cm4g
Zm9jdXNlZDsKK30KKwogdm9pZCBFbGVtZW50OjpibHVyKCkKIHsKICAgICBjYW5jZWxGb2N1c0Fw
cGVhcmFuY2VVcGRhdGUoKTsKICAgICBEb2N1bWVudCogZG9jID0gZG9jdW1lbnQoKTsKLSAgICBp
ZiAoZG9jLT5mb2N1c2VkTm9kZSgpID09IHRoaXMpIHsKKyAgICBpZiAoZmluZEZvY3VzZWROb2Rl
KCkgPT0gdGhpcykgewogICAgICAgICBpZiAoZG9jLT5mcmFtZSgpKQogICAgICAgICAgICAgZG9j
LT5mcmFtZSgpLT5wYWdlKCktPmZvY3VzQ29udHJvbGxlcigpLT5zZXRGb2N1c2VkTm9kZSgwLCBk
b2MtPmZyYW1lKCkpOwogICAgICAgICBlbHNlCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vRWxl
bWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmgJKHJldmlz
aW9uIDExMDk4NCkKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmgJKHdvcmtpbmcgY29w
eSkKQEAgLTQ0Nyw2ICs0NDcsNyBAQCBwcml2YXRlOgogI2VuZGlmCiAKICAgICB2b2lkIGNhbmNl
bEZvY3VzQXBwZWFyYW5jZVVwZGF0ZSgpOworICAgIE5vZGUqIGZpbmRGb2N1c2VkTm9kZSgpOwog
CiAgICAgdmlydHVhbCBjb25zdCBBdG9taWNTdHJpbmcmIHZpcnR1YWxQcmVmaXgoKSBjb25zdCB7
IHJldHVybiBwcmVmaXgoKTsgfQogICAgIHZpcnR1YWwgY29uc3QgQXRvbWljU3RyaW5nJiB2aXJ0
dWFsTG9jYWxOYW1lKCkgY29uc3QgeyByZXR1cm4gbG9jYWxOYW1lKCk7IH0KSW5kZXg6IExheW91
dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDExMDk4NCkKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpA
QCAtMSwzICsxLDEzIEBACisyMDEyLTAzLTE2ICBLYXVzdHViaCBBdHJhd2Fsa2FyICA8a2F1c3R1
YmhAbW90b3JvbGEuY29tPgorCisgICAgICAgIGJsdXIoKSBvbiBzaGFkb3cgaG9zdCBzaG91bGQg
d29yayB3aGVuIGEgc2hhZG93IGhvc3QgY29udGFpbnMgYSBmb2N1c2VkIGVsZW1lbnQgaW4gaXRz
IHNoYWRvdyBET00gc3VidHJlZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTgxMTAyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvc2hhZG93LXJvb3QtYmx1ci1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9zaGFkb3ctcm9vdC1ibHVyLmh0
bWw6IEFkZGVkLgorCiAyMDEyLTAzLTE2ICBIYWppbWUgTW9ycml0YSAgPG1vcnJpdGFAY2hyb21p
dW0ub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQgZ2FyZGVuaW5nLCBtYXJraW5nIGEgZmFpbGlu
ZyB0ZXN0LgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy1yb290LWJs
dXItZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRv
dy9zaGFkb3ctcm9vdC1ibHVyLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRl
c3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctcm9vdC1ibHVyLWV4cGVjdGVkLnR4dAkocmV2aXNp
b24gMCkKQEAgLTAsMCArMSw0MyBAQAorVGhpcyB0ZXN0cyB0aGUgYmx1cigpIG9uIG9uIHNoYWRv
dyBob3N0IHNob3VsZCB3b3JrIHdoZW4gYSBzaGFkb3cgaG9zdCBjb250YWlucyBhIGZvY3VzZWQg
ZWxlbWVudCBpbiBpdHMgc2hhZG93IERPTSBzdWJ0cmVlcyBwcm9wZXJ0eSAoYnVnIDgxMTAyKQor
CitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworCitnZXRFbGVtZW50SW5TaGFkb3dUcmVl
U3RhY2soJ3NoYWRvd0hvc3RBL2NoaWxkSW5UcmVlT25lJykuZm9jdXMoKQorUEFTUyBkb2N1bWVu
dC5hY3RpdmVFbGVtZW50LmlkIGlzICJzaGFkb3dIb3N0QSIKK2dldEVsZW1lbnRJblNoYWRvd1Ry
ZWVTdGFjaygnc2hhZG93SG9zdEEnKS5ibHVyKCk7CitzaGFkb3dIb3N0QSBvbmJsdXIgY2FsbGVk
IQorUEFTUyBkb2N1bWVudC5hY3RpdmVFbGVtZW50IGlzIGRvY3VtZW50LmJvZHkKK1BBU1MgZ2V0
RWxlbWVudEluU2hhZG93VHJlZVN0YWNrKCdzaGFkb3dIb3N0QS8nKS5hY3RpdmVFbGVtZW50IGlz
IG51bGwKK1BBU1MgZ2V0RWxlbWVudEluU2hhZG93VHJlZVN0YWNrKCdzaGFkb3dIb3N0QS9zaGFk
b3dIb3N0Qi8nKS5hY3RpdmVFbGVtZW50IGlzIG51bGwKK1BBU1MgZ2V0RWxlbWVudEluU2hhZG93
VHJlZVN0YWNrKCdzaGFkb3dIb3N0Qy8nKS5hY3RpdmVFbGVtZW50IGlzIG51bGwKK2dldEVsZW1l
bnRJblNoYWRvd1RyZWVTdGFjaygnc2hhZG93SG9zdEEvc2hhZG93SG9zdEIvY2hpbGRJblRyZWVU
d28nKS5mb2N1cygpCitQQVNTIGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQuaWQgaXMgInNoYWRvd0hv
c3RBIgorZ2V0RWxlbWVudEluU2hhZG93VHJlZVN0YWNrKCdzaGFkb3dIb3N0QS9zaGFkb3dIb3N0
QicpLmJsdXIoKTsKK3NoYWRvd0hvc3RBIG9uYmx1ciBjYWxsZWQhCitzaGFkb3dIb3N0QiBvbmJs
dXIgY2FsbGVkIQorUEFTUyBkb2N1bWVudC5hY3RpdmVFbGVtZW50IGlzIGRvY3VtZW50LmJvZHkK
K1BBU1MgZ2V0RWxlbWVudEluU2hhZG93VHJlZVN0YWNrKCdzaGFkb3dIb3N0QS8nKS5hY3RpdmVF
bGVtZW50IGlzIG51bGwKK1BBU1MgZ2V0RWxlbWVudEluU2hhZG93VHJlZVN0YWNrKCdzaGFkb3dI
b3N0QS9zaGFkb3dIb3N0Qi8nKS5hY3RpdmVFbGVtZW50IGlzIG51bGwKK1BBU1MgZ2V0RWxlbWVu
dEluU2hhZG93VHJlZVN0YWNrKCdzaGFkb3dIb3N0Qy8nKS5hY3RpdmVFbGVtZW50IGlzIG51bGwK
K2dldEVsZW1lbnRJblNoYWRvd1RyZWVTdGFjaygnc2hhZG93SG9zdEEvc2hhZG93SG9zdEIvY2hp
bGRJblRyZWVUd28nKS5mb2N1cygpCitQQVNTIGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQuaWQgaXMg
InNoYWRvd0hvc3RBIgorZ2V0RWxlbWVudEluU2hhZG93VHJlZVN0YWNrKCdzaGFkb3dIb3N0QScp
LmJsdXIoKTsKK3NoYWRvd0hvc3RBIG9uYmx1ciBjYWxsZWQhCitzaGFkb3dIb3N0QiBvbmJsdXIg
Y2FsbGVkIQorUEFTUyBkb2N1bWVudC5hY3RpdmVFbGVtZW50IGlzIGRvY3VtZW50LmJvZHkKK1BB
U1MgZ2V0RWxlbWVudEluU2hhZG93VHJlZVN0YWNrKCdzaGFkb3dIb3N0QS8nKS5hY3RpdmVFbGVt
ZW50IGlzIG51bGwKK1BBU1MgZ2V0RWxlbWVudEluU2hhZG93VHJlZVN0YWNrKCdzaGFkb3dIb3N0
QS9zaGFkb3dIb3N0Qi8nKS5hY3RpdmVFbGVtZW50IGlzIG51bGwKK1BBU1MgZ2V0RWxlbWVudElu
U2hhZG93VHJlZVN0YWNrKCdzaGFkb3dIb3N0Qy8nKS5hY3RpdmVFbGVtZW50IGlzIG51bGwKK2dl
dEVsZW1lbnRJblNoYWRvd1RyZWVTdGFjaygnc2hhZG93SG9zdEMvY2hpbGRJblRyZWVUaHJlZScp
LmZvY3VzKCkKK1BBU1MgZG9jdW1lbnQuYWN0aXZlRWxlbWVudC5pZCBpcyAic2hhZG93SG9zdEMi
CitnZXRFbGVtZW50SW5TaGFkb3dUcmVlU3RhY2soJ3NoYWRvd0hvc3RBJykuYmx1cigpOworUEFT
UyBkb2N1bWVudC5hY3RpdmVFbGVtZW50LmlkIGlzICJzaGFkb3dIb3N0QyIKK1BBU1MgZ2V0RWxl
bWVudEluU2hhZG93VHJlZVN0YWNrKCdzaGFkb3dIb3N0QS8nKS5hY3RpdmVFbGVtZW50IGlzIG51
bGwKK1BBU1MgZ2V0RWxlbWVudEluU2hhZG93VHJlZVN0YWNrKCdzaGFkb3dIb3N0QS9zaGFkb3dI
b3N0Qi8nKS5hY3RpdmVFbGVtZW50IGlzIG51bGwKK1BBU1MgZ2V0RWxlbWVudEluU2hhZG93VHJl
ZVN0YWNrKCdzaGFkb3dIb3N0Qy8nKS5hY3RpdmVFbGVtZW50LmlkIGlzICJjaGlsZEluVHJlZVRo
cmVlIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisK
SW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctcm9vdC1ibHVyLmh0bWwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy1yb290LWJs
dXIuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFk
b3ctcm9vdC1ibHVyLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNzYgQEAKKzwhRE9DVFlQ
RSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMv
anMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9zaGFkb3ct
ZG9tLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGRpdiBpZD0iY29uc29sZSI+Cis8
L2Rpdj4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbigiVGhpcyB0ZXN0cyB0aGUgYmx1cigpIG9uIG9u
IHNoYWRvdyBob3N0IHNob3VsZCB3b3JrIHdoZW4gYSBzaGFkb3cgaG9zdCBjb250YWlucyBhIGZv
Y3VzZWQgZWxlbWVudCBpbiBpdHMgc2hhZG93IERPTSBzdWJ0cmVlcyBwcm9wZXJ0eSAoYnVnIDgx
MTAyKSIpOworCitpZiAoIXdpbmRvdy5pbnRlcm5hbHMpCisgICAgZGVidWcoJ1RoaXMgdGVzdCBy
dW5zIG9uIERSVCBvbmx5Jyk7CisKK2lmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisg
ICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworCitkb2N1bWVudC5ib2R5LmFw
cGVuZENoaWxkKAorICAgIGNyZWF0ZURPTSgnZGl2JywgeydpZCc6J3NoYWRvd0hvc3RBJ30sCisg
ICAgICAgIGNyZWF0ZVNoYWRvd1Jvb3QoCisgICAgICAgICAgICBjcmVhdGVET00oJ3AnLCB7J2lk
JzonY2hpbGRJblRyZWVPbmUnLCAndGFiaW5kZXgnOicxJ30pLAorICAgICAgICAgICAgY3JlYXRl
RE9NKCdkaXYnLCB7J2lkJzonc2hhZG93SG9zdEInfSwKKyAgICAgICAgICAgICAgICBjcmVhdGVT
aGFkb3dSb290KAorICAgICAgICAgICAgICAgICAgICBjcmVhdGVET00oJ3AnLCB7J2lkJzonY2hp
bGRJblRyZWVUd28nLCAndGFiaW5kZXgnOicyJ30pKSkpKSk7CisKK2RvY3VtZW50LmJvZHkuYXBw
ZW5kQ2hpbGQoCisgICAgY3JlYXRlRE9NKCdkaXYnLCB7J2lkJzonc2hhZG93SG9zdEMnfSwKKyAg
ICAgICAgY3JlYXRlU2hhZG93Um9vdCgKKyAgICAgICAgICAgIGNyZWF0ZURPTSgncCcsIHsnaWQn
OidjaGlsZEluVHJlZVRocmVlJywgJ3RhYmluZGV4JzonMyd9KSkpCispOworCitnZXRFbGVtZW50
SW5TaGFkb3dUcmVlU3RhY2soJ3NoYWRvd0hvc3RBJykub25ibHVyID0gZnVuY3Rpb24oKSB7IGRl
YnVnKCJzaGFkb3dIb3N0QSBvbmJsdXIgY2FsbGVkISIpOyB9IAorZ2V0RWxlbWVudEluU2hhZG93
VHJlZVN0YWNrKCdzaGFkb3dIb3N0QS9zaGFkb3dIb3N0QicpLm9uYmx1ciA9IGZ1bmN0aW9uKCkg
eyBkZWJ1Zygic2hhZG93SG9zdEIgb25ibHVyIGNhbGxlZCEiKTsgfSAKKworLy8gY2hpbGRJblRy
ZWVPbmUgZm91Y3NlZCAtIHNoYWRvd0hvc3RBIGJsdXJyZWQKK2V2YWxBbmRMb2coImdldEVsZW1l
bnRJblNoYWRvd1RyZWVTdGFjaygnc2hhZG93SG9zdEEvY2hpbGRJblRyZWVPbmUnKS5mb2N1cygp
Iik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvY3VtZW50LmFjdGl2ZUVsZW1lbnQuaWQiLCAi
c2hhZG93SG9zdEEiKTsKK2V2YWxBbmRMb2coImdldEVsZW1lbnRJblNoYWRvd1RyZWVTdGFjaygn
c2hhZG93SG9zdEEnKS5ibHVyKCk7Iik7CitzaG91bGRCZSgiZG9jdW1lbnQuYWN0aXZlRWxlbWVu
dCIsICJkb2N1bWVudC5ib2R5Iik7CitzaG91bGRCZSgiZ2V0RWxlbWVudEluU2hhZG93VHJlZVN0
YWNrKCdzaGFkb3dIb3N0QS8nKS5hY3RpdmVFbGVtZW50IiwgIm51bGwiKTsKK3Nob3VsZEJlKCJn
ZXRFbGVtZW50SW5TaGFkb3dUcmVlU3RhY2soJ3NoYWRvd0hvc3RBL3NoYWRvd0hvc3RCLycpLmFj
dGl2ZUVsZW1lbnQiLCAibnVsbCIpOworc2hvdWxkQmUoImdldEVsZW1lbnRJblNoYWRvd1RyZWVT
dGFjaygnc2hhZG93SG9zdEMvJykuYWN0aXZlRWxlbWVudCIsICJudWxsIik7CisKKy8vIGNoaWxk
SW5UcmVlVHdvIGZvdWNzZWQgLSBzaGFkb3dIb3N0QiBibHVycmVkCitldmFsQW5kTG9nKCJnZXRF
bGVtZW50SW5TaGFkb3dUcmVlU3RhY2soJ3NoYWRvd0hvc3RBL3NoYWRvd0hvc3RCL2NoaWxkSW5U
cmVlVHdvJykuZm9jdXMoKSIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2N1bWVudC5hY3Rp
dmVFbGVtZW50LmlkIiwgInNoYWRvd0hvc3RBIik7CitldmFsQW5kTG9nKCJnZXRFbGVtZW50SW5T
aGFkb3dUcmVlU3RhY2soJ3NoYWRvd0hvc3RBL3NoYWRvd0hvc3RCJykuYmx1cigpOyIpOworc2hv
dWxkQmUoImRvY3VtZW50LmFjdGl2ZUVsZW1lbnQiLCAiZG9jdW1lbnQuYm9keSIpOworc2hvdWxk
QmUoImdldEVsZW1lbnRJblNoYWRvd1RyZWVTdGFjaygnc2hhZG93SG9zdEEvJykuYWN0aXZlRWxl
bWVudCIsICJudWxsIik7CitzaG91bGRCZSgiZ2V0RWxlbWVudEluU2hhZG93VHJlZVN0YWNrKCdz
aGFkb3dIb3N0QS9zaGFkb3dIb3N0Qi8nKS5hY3RpdmVFbGVtZW50IiwgIm51bGwiKTsKK3Nob3Vs
ZEJlKCJnZXRFbGVtZW50SW5TaGFkb3dUcmVlU3RhY2soJ3NoYWRvd0hvc3RDLycpLmFjdGl2ZUVs
ZW1lbnQiLCAibnVsbCIpOworCisvLyBjaGlsZEluVHJlZVR3byBmb3Vjc2VkIC0gc2hhZG93SG9z
dEEgYmx1cnJlZAorZXZhbEFuZExvZygiZ2V0RWxlbWVudEluU2hhZG93VHJlZVN0YWNrKCdzaGFk
b3dIb3N0QS9zaGFkb3dIb3N0Qi9jaGlsZEluVHJlZVR3bycpLmZvY3VzKCkiKTsKK3Nob3VsZEJl
RXF1YWxUb1N0cmluZygiZG9jdW1lbnQuYWN0aXZlRWxlbWVudC5pZCIsICJzaGFkb3dIb3N0QSIp
OworZXZhbEFuZExvZygiZ2V0RWxlbWVudEluU2hhZG93VHJlZVN0YWNrKCdzaGFkb3dIb3N0QScp
LmJsdXIoKTsiKTsKK3Nob3VsZEJlKCJkb2N1bWVudC5hY3RpdmVFbGVtZW50IiwgImRvY3VtZW50
LmJvZHkiKTsKK3Nob3VsZEJlKCJnZXRFbGVtZW50SW5TaGFkb3dUcmVlU3RhY2soJ3NoYWRvd0hv
c3RBLycpLmFjdGl2ZUVsZW1lbnQiLCAibnVsbCIpOworc2hvdWxkQmUoImdldEVsZW1lbnRJblNo
YWRvd1RyZWVTdGFjaygnc2hhZG93SG9zdEEvc2hhZG93SG9zdEIvJykuYWN0aXZlRWxlbWVudCIs
ICJudWxsIik7CitzaG91bGRCZSgiZ2V0RWxlbWVudEluU2hhZG93VHJlZVN0YWNrKCdzaGFkb3dI
b3N0Qy8nKS5hY3RpdmVFbGVtZW50IiwgIm51bGwiKTsKKworLy8gY2hpbGRJblRyZWVUaHJlZSBm
b3Vjc2VkIC0gc2hhZG93SG9zdEEgYmx1cnJlZAorZXZhbEFuZExvZygiZ2V0RWxlbWVudEluU2hh
ZG93VHJlZVN0YWNrKCdzaGFkb3dIb3N0Qy9jaGlsZEluVHJlZVRocmVlJykuZm9jdXMoKSIpOwor
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2N1bWVudC5hY3RpdmVFbGVtZW50LmlkIiwgInNoYWRv
d0hvc3RDIik7CitldmFsQW5kTG9nKCJnZXRFbGVtZW50SW5TaGFkb3dUcmVlU3RhY2soJ3NoYWRv
d0hvc3RBJykuYmx1cigpOyIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2N1bWVudC5hY3Rp
dmVFbGVtZW50LmlkIiwgInNoYWRvd0hvc3RDIik7CitzaG91bGRCZSgiZ2V0RWxlbWVudEluU2hh
ZG93VHJlZVN0YWNrKCdzaGFkb3dIb3N0QS8nKS5hY3RpdmVFbGVtZW50IiwgIm51bGwiKTsKK3No
b3VsZEJlKCJnZXRFbGVtZW50SW5TaGFkb3dUcmVlU3RhY2soJ3NoYWRvd0hvc3RBL3NoYWRvd0hv
c3RCLycpLmFjdGl2ZUVsZW1lbnQiLCAibnVsbCIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJn
ZXRFbGVtZW50SW5TaGFkb3dUcmVlU3RhY2soJ3NoYWRvd0hvc3RDLycpLmFjdGl2ZUVsZW1lbnQu
aWQiLCAiY2hpbGRJblRyZWVUaHJlZSIpOworCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1
ZTsKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBv
c3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgo=
</data>
<flag name="review"
          id="135839"
          type_id="1"
          status="-"
          setter="morrita"
    />
    <flag name="commit-queue"
          id="135840"
          type_id="3"
          status="-"
          setter="morrita"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>132250</attachid>
            <date>2012-03-16 04:48:12 -0700</date>
            <delta_ts>2012-03-16 05:25:19 -0700</delta_ts>
            <desc>Updated Patch</desc>
            <filename>81102_5.patch</filename>
            <type>text/plain</type>
            <size>10074</size>
            <attacher name="Kaustubh Atrawalkar">kaustubh.ra</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDExMDk4OCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE5IEBACisyMDEyLTAzLTE2ICBLYXVzdHVi
aCBBdHJhd2Fsa2FyICA8a2F1c3R1YmhAbW90b3JvbGEuY29tPgorCisgICAgICAgIGJsdXIoKSBv
biBzaGFkb3cgaG9zdCBzaG91bGQgd29yayB3aGVuIGEgc2hhZG93IGhvc3QgY29udGFpbnMgYSBm
b2N1c2VkIGVsZW1lbnQgaW4gaXRzIHNoYWRvdyBET00gc3VidHJlZXMKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgxMTAyCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVzdDogZmFzdC9kb20vc2hhZG93L3No
YWRvdy1yb290LWJsdXIuaHRtbAorCisgICAgICAgICogZG9tL0VsZW1lbnQuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6RWxlbWVudDo6bm9kZUlzSW5TaGFkb3dUcmVlKToKKyAgICAgICAgKFdlYkNv
cmUpOgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6Ymx1cik6CisgICAgICAgICogZG9tL0Vs
ZW1lbnQuaDoKKyAgICAgICAgKEVsZW1lbnQpOgorCiAyMDEyLTAzLTE2ICBTaGVyaWZmIEJvdCAg
PHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xs
aW5nIG91dCByMTEwOTc2LgpJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcAkocmV2aXNpb24gMTEw
OTg0KQorKysgU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0xNTg4LDExICsxNTg4LDMzIEBAIHZvaWQgRWxlbWVudDo6dXBkYXRlRm9jdXNBcHBlYXJhbmNl
KGJvb2wKICAgICAgICAgcmVuZGVyZXIoKS0+ZW5jbG9zaW5nTGF5ZXIoKS0+c2Nyb2xsUmVjdFRv
VmlzaWJsZShnZXRSZWN0KCkpOwogfQogCitib29sIEVsZW1lbnQ6Om5vZGVJc0luU2hhZG93VHJl
ZShOb2RlKiBmb2N1c2VkKQoreworICAgIERvY3VtZW50KiBkb2MgPSBkb2N1bWVudCgpOworICAg
IGlmIChoYXNTaGFkb3dSb290KCkpIHsKKyAgICAgICAgLy8gQWRkZWQgY2FzZSBmb3IgZm9jdXNl
ZE5vZGUgYmVpbmcgaW4gc2hhZG93VHJlZSAmIGJsdXIgY2FsbGVkIG9uIHNoYWRvd0hvc3QgKHNl
ZSBidWcgODExMDIpCisgICAgICAgIC8vIE5lc3RlZCBTaGFkb3dET00gdHJlZSBjYXNlIC0gZmlu
ZCBpZiB0aGUgZXh0cmVtZSBzaGFkb3dIb3N0IGlzIHRoZSBvbmUgb24gd2hpY2ggYmx1ciBpcyBj
YWxsZWQuCisgICAgICAgIFRyZWVTY29wZSogdHJlZVNjb3BlID0gZm9jdXNlZC0+dHJlZVNjb3Bl
KCk7CisgICAgICAgIHdoaWxlIChmb2N1c2VkICE9IHRoaXMgJiYgdHJlZVNjb3BlICE9IGRvYykg
eworICAgICAgICAgICAgZm9jdXNlZCA9IHRyZWVTY29wZS0+cm9vdE5vZGUoKS0+c2hhZG93SG9z
dCgpOworICAgICAgICAgICAgdHJlZVNjb3BlID0gZm9jdXNlZC0+dHJlZVNjb3BlKCk7CisgICAg
ICAgIH0KKyAgICAgICAgLy8gVGhpcyBoYW5kbGVzIGNhc2Ugd2hlcmUgZm9jdXNlZCBub2RlIGFu
ZCBjYWxsZWQgaG9zdCBlbGVtZW50IGFyZSBmcm9tIGRpZmZlcmVudCB0cmVlLgorICAgIH0KKyAg
ICBpZiAoZm9jdXNlZCA9PSB0aGlzKQorICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICByZXR1cm4g
ZmFsc2U7Cit9CisKIHZvaWQgRWxlbWVudDo6Ymx1cigpCiB7CiAgICAgY2FuY2VsRm9jdXNBcHBl
YXJhbmNlVXBkYXRlKCk7CiAgICAgRG9jdW1lbnQqIGRvYyA9IGRvY3VtZW50KCk7Ci0gICAgaWYg
KGRvYy0+Zm9jdXNlZE5vZGUoKSA9PSB0aGlzKSB7CisgICAgTm9kZSogZm9jdXNlZE5vZGUgPSBk
b2MtPmZvY3VzZWROb2RlKCk7CisgICAgaWYgKCFmb2N1c2VkTm9kZSkKKyAgICAgICAgcmV0dXJu
OworCisgICAgaWYgKGZvY3VzZWROb2RlID09IHRoaXMgfHwgbm9kZUlzSW5TaGFkb3dUcmVlKGZv
Y3VzZWROb2RlKSkgewogICAgICAgICBpZiAoZG9jLT5mcmFtZSgpKQogICAgICAgICAgICAgZG9j
LT5mcmFtZSgpLT5wYWdlKCktPmZvY3VzQ29udHJvbGxlcigpLT5zZXRGb2N1c2VkTm9kZSgwLCBk
b2MtPmZyYW1lKCkpOwogICAgICAgICBlbHNlCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vRWxl
bWVudC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmgJKHJldmlz
aW9uIDExMDk4NCkKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmgJKHdvcmtpbmcgY29w
eSkKQEAgLTQ0Nyw2ICs0NDcsNyBAQCBwcml2YXRlOgogI2VuZGlmCiAKICAgICB2b2lkIGNhbmNl
bEZvY3VzQXBwZWFyYW5jZVVwZGF0ZSgpOworICAgIGJvb2wgbm9kZUlzSW5TaGFkb3dUcmVlKE5v
ZGUqKTsKIAogICAgIHZpcnR1YWwgY29uc3QgQXRvbWljU3RyaW5nJiB2aXJ0dWFsUHJlZml4KCkg
Y29uc3QgeyByZXR1cm4gcHJlZml4KCk7IH0KICAgICB2aXJ0dWFsIGNvbnN0IEF0b21pY1N0cmlu
ZyYgdmlydHVhbExvY2FsTmFtZSgpIGNvbnN0IHsgcmV0dXJuIGxvY2FsTmFtZSgpOyB9CkluZGV4
OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCShyZXZpc2lvbiAxMTA5ODgpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcg
Y29weSkKQEAgLTEsMyArMSwxMyBAQAorMjAxMi0wMy0xNiAgS2F1c3R1YmggQXRyYXdhbGthciAg
PGthdXN0dWJoQG1vdG9yb2xhLmNvbT4KKworICAgICAgICBibHVyKCkgb24gc2hhZG93IGhvc3Qg
c2hvdWxkIHdvcmsgd2hlbiBhIHNoYWRvdyBob3N0IGNvbnRhaW5zIGEgZm9jdXNlZCBlbGVtZW50
IGluIGl0cyBzaGFkb3cgRE9NIHN1YnRyZWVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD04MTEwMgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgICogZmFzdC9kb20vc2hhZG93L3NoYWRvdy1yb290LWJsdXItZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvc2hhZG93LXJvb3Qt
Ymx1ci5odG1sOiBBZGRlZC4KKwogMjAxMi0wMy0xNiAgSGFqaW1lIE1vcnJpdGEgIDxtb3JyaXRh
QGNocm9taXVtLm9yZz4KIAogICAgICAgICBVbnJldmlld2VkIGdhcmRlbmluZywgbWFya2luZyBh
IGZhaWxpbmcgdGVzdC4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ct
cm9vdC1ibHVyLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2Rv
bS9zaGFkb3cvc2hhZG93LXJvb3QtYmx1ci1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBM
YXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LXJvb3QtYmx1ci1leHBlY3RlZC50eHQJ
KHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNDMgQEAKK1RoaXMgdGVzdHMgdGhlIGJsdXIoKSBvbiBv
biBzaGFkb3cgaG9zdCBzaG91bGQgd29yayB3aGVuIGEgc2hhZG93IGhvc3QgY29udGFpbnMgYSBm
b2N1c2VkIGVsZW1lbnQgaW4gaXRzIHNoYWRvdyBET00gc3VidHJlZXMgcHJvcGVydHkgKGJ1ZyA4
MTEwMikKKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNz
YWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKKworZ2V0RWxlbWVudEluU2hh
ZG93VHJlZVN0YWNrKCdzaGFkb3dIb3N0QS9jaGlsZEluVHJlZU9uZScpLmZvY3VzKCkKK1BBU1Mg
ZG9jdW1lbnQuYWN0aXZlRWxlbWVudC5pZCBpcyAic2hhZG93SG9zdEEiCitnZXRFbGVtZW50SW5T
aGFkb3dUcmVlU3RhY2soJ3NoYWRvd0hvc3RBJykuYmx1cigpOworc2hhZG93SG9zdEEgb25ibHVy
IGNhbGxlZCEKK1BBU1MgZG9jdW1lbnQuYWN0aXZlRWxlbWVudCBpcyBkb2N1bWVudC5ib2R5CitQ
QVNTIGdldEVsZW1lbnRJblNoYWRvd1RyZWVTdGFjaygnc2hhZG93SG9zdEEvJykuYWN0aXZlRWxl
bWVudCBpcyBudWxsCitQQVNTIGdldEVsZW1lbnRJblNoYWRvd1RyZWVTdGFjaygnc2hhZG93SG9z
dEEvc2hhZG93SG9zdEIvJykuYWN0aXZlRWxlbWVudCBpcyBudWxsCitQQVNTIGdldEVsZW1lbnRJ
blNoYWRvd1RyZWVTdGFjaygnc2hhZG93SG9zdEMvJykuYWN0aXZlRWxlbWVudCBpcyBudWxsCitn
ZXRFbGVtZW50SW5TaGFkb3dUcmVlU3RhY2soJ3NoYWRvd0hvc3RBL3NoYWRvd0hvc3RCL2NoaWxk
SW5UcmVlVHdvJykuZm9jdXMoKQorUEFTUyBkb2N1bWVudC5hY3RpdmVFbGVtZW50LmlkIGlzICJz
aGFkb3dIb3N0QSIKK2dldEVsZW1lbnRJblNoYWRvd1RyZWVTdGFjaygnc2hhZG93SG9zdEEvc2hh
ZG93SG9zdEInKS5ibHVyKCk7CitzaGFkb3dIb3N0QSBvbmJsdXIgY2FsbGVkIQorc2hhZG93SG9z
dEIgb25ibHVyIGNhbGxlZCEKK1BBU1MgZG9jdW1lbnQuYWN0aXZlRWxlbWVudCBpcyBkb2N1bWVu
dC5ib2R5CitQQVNTIGdldEVsZW1lbnRJblNoYWRvd1RyZWVTdGFjaygnc2hhZG93SG9zdEEvJyku
YWN0aXZlRWxlbWVudCBpcyBudWxsCitQQVNTIGdldEVsZW1lbnRJblNoYWRvd1RyZWVTdGFjaygn
c2hhZG93SG9zdEEvc2hhZG93SG9zdEIvJykuYWN0aXZlRWxlbWVudCBpcyBudWxsCitQQVNTIGdl
dEVsZW1lbnRJblNoYWRvd1RyZWVTdGFjaygnc2hhZG93SG9zdEMvJykuYWN0aXZlRWxlbWVudCBp
cyBudWxsCitnZXRFbGVtZW50SW5TaGFkb3dUcmVlU3RhY2soJ3NoYWRvd0hvc3RBL3NoYWRvd0hv
c3RCL2NoaWxkSW5UcmVlVHdvJykuZm9jdXMoKQorUEFTUyBkb2N1bWVudC5hY3RpdmVFbGVtZW50
LmlkIGlzICJzaGFkb3dIb3N0QSIKK2dldEVsZW1lbnRJblNoYWRvd1RyZWVTdGFjaygnc2hhZG93
SG9zdEEnKS5ibHVyKCk7CitzaGFkb3dIb3N0QSBvbmJsdXIgY2FsbGVkIQorc2hhZG93SG9zdEIg
b25ibHVyIGNhbGxlZCEKK1BBU1MgZG9jdW1lbnQuYWN0aXZlRWxlbWVudCBpcyBkb2N1bWVudC5i
b2R5CitQQVNTIGdldEVsZW1lbnRJblNoYWRvd1RyZWVTdGFjaygnc2hhZG93SG9zdEEvJykuYWN0
aXZlRWxlbWVudCBpcyBudWxsCitQQVNTIGdldEVsZW1lbnRJblNoYWRvd1RyZWVTdGFjaygnc2hh
ZG93SG9zdEEvc2hhZG93SG9zdEIvJykuYWN0aXZlRWxlbWVudCBpcyBudWxsCitQQVNTIGdldEVs
ZW1lbnRJblNoYWRvd1RyZWVTdGFjaygnc2hhZG93SG9zdEMvJykuYWN0aXZlRWxlbWVudCBpcyBu
dWxsCitnZXRFbGVtZW50SW5TaGFkb3dUcmVlU3RhY2soJ3NoYWRvd0hvc3RDL2NoaWxkSW5UcmVl
VGhyZWUnKS5mb2N1cygpCitQQVNTIGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQuaWQgaXMgInNoYWRv
d0hvc3RDIgorZ2V0RWxlbWVudEluU2hhZG93VHJlZVN0YWNrKCdzaGFkb3dIb3N0QScpLmJsdXIo
KTsKK1BBU1MgZG9jdW1lbnQuYWN0aXZlRWxlbWVudC5pZCBpcyAic2hhZG93SG9zdEMiCitQQVNT
IGdldEVsZW1lbnRJblNoYWRvd1RyZWVTdGFjaygnc2hhZG93SG9zdEEvJykuYWN0aXZlRWxlbWVu
dCBpcyBudWxsCitQQVNTIGdldEVsZW1lbnRJblNoYWRvd1RyZWVTdGFjaygnc2hhZG93SG9zdEEv
c2hhZG93SG9zdEIvJykuYWN0aXZlRWxlbWVudCBpcyBudWxsCitQQVNTIGdldEVsZW1lbnRJblNo
YWRvd1RyZWVTdGFjaygnc2hhZG93SG9zdEMvJykuYWN0aXZlRWxlbWVudC5pZCBpcyAiY2hpbGRJ
blRyZWVUaHJlZSIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LXJvb3QtYmx1
ci5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ct
cm9vdC1ibHVyLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFk
b3cvc2hhZG93LXJvb3QtYmx1ci5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDc2IEBACis8
IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVz
b3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMv
c2hhZG93LWRvbS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYgaWQ9ImNvbnNv
bGUiPgorPC9kaXY+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oIlRoaXMgdGVzdHMgdGhlIGJsdXIo
KSBvbiBvbiBzaGFkb3cgaG9zdCBzaG91bGQgd29yayB3aGVuIGEgc2hhZG93IGhvc3QgY29udGFp
bnMgYSBmb2N1c2VkIGVsZW1lbnQgaW4gaXRzIHNoYWRvdyBET00gc3VidHJlZXMgcHJvcGVydHkg
KGJ1ZyA4MTEwMikiKTsKKworaWYgKCF3aW5kb3cuaW50ZXJuYWxzKQorICAgIGRlYnVnKCdUaGlz
IHRlc3QgcnVucyBvbiBEUlQgb25seScpOworCitpZiAod2luZG93LmxheW91dFRlc3RDb250cm9s
bGVyKQorICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKworZG9jdW1lbnQu
Ym9keS5hcHBlbmRDaGlsZCgKKyAgICBjcmVhdGVET00oJ2RpdicsIHsnaWQnOidzaGFkb3dIb3N0
QSd9LAorICAgICAgICBjcmVhdGVTaGFkb3dSb290KAorICAgICAgICAgICAgY3JlYXRlRE9NKCdw
JywgeydpZCc6J2NoaWxkSW5UcmVlT25lJywgJ3RhYmluZGV4JzonMSd9KSwKKyAgICAgICAgICAg
IGNyZWF0ZURPTSgnZGl2JywgeydpZCc6J3NoYWRvd0hvc3RCJ30sCisgICAgICAgICAgICAgICAg
Y3JlYXRlU2hhZG93Um9vdCgKKyAgICAgICAgICAgICAgICAgICAgY3JlYXRlRE9NKCdwJywgeydp
ZCc6J2NoaWxkSW5UcmVlVHdvJywgJ3RhYmluZGV4JzonMid9KSkpKSkpOworCitkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKAorICAgIGNyZWF0ZURPTSgnZGl2JywgeydpZCc6J3NoYWRvd0hvc3RD
J30sCisgICAgICAgIGNyZWF0ZVNoYWRvd1Jvb3QoCisgICAgICAgICAgICBjcmVhdGVET00oJ3An
LCB7J2lkJzonY2hpbGRJblRyZWVUaHJlZScsICd0YWJpbmRleCc6JzMnfSkpKQorKTsKKworZ2V0
RWxlbWVudEluU2hhZG93VHJlZVN0YWNrKCdzaGFkb3dIb3N0QScpLm9uYmx1ciA9IGZ1bmN0aW9u
KCkgeyBkZWJ1Zygic2hhZG93SG9zdEEgb25ibHVyIGNhbGxlZCEiKTsgfSAKK2dldEVsZW1lbnRJ
blNoYWRvd1RyZWVTdGFjaygnc2hhZG93SG9zdEEvc2hhZG93SG9zdEInKS5vbmJsdXIgPSBmdW5j
dGlvbigpIHsgZGVidWcoInNoYWRvd0hvc3RCIG9uYmx1ciBjYWxsZWQhIik7IH0gCisKKy8vIGNo
aWxkSW5UcmVlT25lIGZvdWNzZWQgLSBzaGFkb3dIb3N0QSBibHVycmVkCitldmFsQW5kTG9nKCJn
ZXRFbGVtZW50SW5TaGFkb3dUcmVlU3RhY2soJ3NoYWRvd0hvc3RBL2NoaWxkSW5UcmVlT25lJyku
Zm9jdXMoKSIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2N1bWVudC5hY3RpdmVFbGVtZW50
LmlkIiwgInNoYWRvd0hvc3RBIik7CitldmFsQW5kTG9nKCJnZXRFbGVtZW50SW5TaGFkb3dUcmVl
U3RhY2soJ3NoYWRvd0hvc3RBJykuYmx1cigpOyIpOworc2hvdWxkQmUoImRvY3VtZW50LmFjdGl2
ZUVsZW1lbnQiLCAiZG9jdW1lbnQuYm9keSIpOworc2hvdWxkQmUoImdldEVsZW1lbnRJblNoYWRv
d1RyZWVTdGFjaygnc2hhZG93SG9zdEEvJykuYWN0aXZlRWxlbWVudCIsICJudWxsIik7CitzaG91
bGRCZSgiZ2V0RWxlbWVudEluU2hhZG93VHJlZVN0YWNrKCdzaGFkb3dIb3N0QS9zaGFkb3dIb3N0
Qi8nKS5hY3RpdmVFbGVtZW50IiwgIm51bGwiKTsKK3Nob3VsZEJlKCJnZXRFbGVtZW50SW5TaGFk
b3dUcmVlU3RhY2soJ3NoYWRvd0hvc3RDLycpLmFjdGl2ZUVsZW1lbnQiLCAibnVsbCIpOworCisv
LyBjaGlsZEluVHJlZVR3byBmb3Vjc2VkIC0gc2hhZG93SG9zdEIgYmx1cnJlZAorZXZhbEFuZExv
ZygiZ2V0RWxlbWVudEluU2hhZG93VHJlZVN0YWNrKCdzaGFkb3dIb3N0QS9zaGFkb3dIb3N0Qi9j
aGlsZEluVHJlZVR3bycpLmZvY3VzKCkiKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jdW1l
bnQuYWN0aXZlRWxlbWVudC5pZCIsICJzaGFkb3dIb3N0QSIpOworZXZhbEFuZExvZygiZ2V0RWxl
bWVudEluU2hhZG93VHJlZVN0YWNrKCdzaGFkb3dIb3N0QS9zaGFkb3dIb3N0QicpLmJsdXIoKTsi
KTsKK3Nob3VsZEJlKCJkb2N1bWVudC5hY3RpdmVFbGVtZW50IiwgImRvY3VtZW50LmJvZHkiKTsK
K3Nob3VsZEJlKCJnZXRFbGVtZW50SW5TaGFkb3dUcmVlU3RhY2soJ3NoYWRvd0hvc3RBLycpLmFj
dGl2ZUVsZW1lbnQiLCAibnVsbCIpOworc2hvdWxkQmUoImdldEVsZW1lbnRJblNoYWRvd1RyZWVT
dGFjaygnc2hhZG93SG9zdEEvc2hhZG93SG9zdEIvJykuYWN0aXZlRWxlbWVudCIsICJudWxsIik7
CitzaG91bGRCZSgiZ2V0RWxlbWVudEluU2hhZG93VHJlZVN0YWNrKCdzaGFkb3dIb3N0Qy8nKS5h
Y3RpdmVFbGVtZW50IiwgIm51bGwiKTsKKworLy8gY2hpbGRJblRyZWVUd28gZm91Y3NlZCAtIHNo
YWRvd0hvc3RBIGJsdXJyZWQKK2V2YWxBbmRMb2coImdldEVsZW1lbnRJblNoYWRvd1RyZWVTdGFj
aygnc2hhZG93SG9zdEEvc2hhZG93SG9zdEIvY2hpbGRJblRyZWVUd28nKS5mb2N1cygpIik7Citz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImRvY3VtZW50LmFjdGl2ZUVsZW1lbnQuaWQiLCAic2hhZG93
SG9zdEEiKTsKK2V2YWxBbmRMb2coImdldEVsZW1lbnRJblNoYWRvd1RyZWVTdGFjaygnc2hhZG93
SG9zdEEnKS5ibHVyKCk7Iik7CitzaG91bGRCZSgiZG9jdW1lbnQuYWN0aXZlRWxlbWVudCIsICJk
b2N1bWVudC5ib2R5Iik7CitzaG91bGRCZSgiZ2V0RWxlbWVudEluU2hhZG93VHJlZVN0YWNrKCdz
aGFkb3dIb3N0QS8nKS5hY3RpdmVFbGVtZW50IiwgIm51bGwiKTsKK3Nob3VsZEJlKCJnZXRFbGVt
ZW50SW5TaGFkb3dUcmVlU3RhY2soJ3NoYWRvd0hvc3RBL3NoYWRvd0hvc3RCLycpLmFjdGl2ZUVs
ZW1lbnQiLCAibnVsbCIpOworc2hvdWxkQmUoImdldEVsZW1lbnRJblNoYWRvd1RyZWVTdGFjaygn
c2hhZG93SG9zdEMvJykuYWN0aXZlRWxlbWVudCIsICJudWxsIik7CisKKy8vIGNoaWxkSW5UcmVl
VGhyZWUgZm91Y3NlZCAtIHNoYWRvd0hvc3RBIGJsdXJyZWQKK2V2YWxBbmRMb2coImdldEVsZW1l
bnRJblNoYWRvd1RyZWVTdGFjaygnc2hhZG93SG9zdEMvY2hpbGRJblRyZWVUaHJlZScpLmZvY3Vz
KCkiKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jdW1lbnQuYWN0aXZlRWxlbWVudC5pZCIs
ICJzaGFkb3dIb3N0QyIpOworZXZhbEFuZExvZygiZ2V0RWxlbWVudEluU2hhZG93VHJlZVN0YWNr
KCdzaGFkb3dIb3N0QScpLmJsdXIoKTsiKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jdW1l
bnQuYWN0aXZlRWxlbWVudC5pZCIsICJzaGFkb3dIb3N0QyIpOworc2hvdWxkQmUoImdldEVsZW1l
bnRJblNoYWRvd1RyZWVTdGFjaygnc2hhZG93SG9zdEEvJykuYWN0aXZlRWxlbWVudCIsICJudWxs
Iik7CitzaG91bGRCZSgiZ2V0RWxlbWVudEluU2hhZG93VHJlZVN0YWNrKCdzaGFkb3dIb3N0QS9z
aGFkb3dIb3N0Qi8nKS5hY3RpdmVFbGVtZW50IiwgIm51bGwiKTsKK3Nob3VsZEJlRXF1YWxUb1N0
cmluZygiZ2V0RWxlbWVudEluU2hhZG93VHJlZVN0YWNrKCdzaGFkb3dIb3N0Qy8nKS5hY3RpdmVF
bGVtZW50LmlkIiwgImNoaWxkSW5UcmVlVGhyZWUiKTsKKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNl
ZCA9IHRydWU7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMt
dGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
</data>
<flag name="review"
          id="135844"
          type_id="1"
          status="-"
          setter="morrita"
    />
    <flag name="commit-queue"
          id="135845"
          type_id="3"
          status="-"
          setter="morrita"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>132257</attachid>
            <date>2012-03-16 05:25:19 -0700</date>
            <delta_ts>2012-03-16 05:35:19 -0700</delta_ts>
            <desc>Updated Patch</desc>
            <filename>81102_6.patch</filename>
            <type>text/plain</type>
            <size>10091</size>
            <attacher name="Kaustubh Atrawalkar">kaustubh.ra</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDExMDk4OCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE5IEBACisyMDEyLTAzLTE2ICBLYXVzdHVi
aCBBdHJhd2Fsa2FyICA8a2F1c3R1YmhAbW90b3JvbGEuY29tPgorCisgICAgICAgIGJsdXIoKSBv
biBzaGFkb3cgaG9zdCBzaG91bGQgd29yayB3aGVuIGEgc2hhZG93IGhvc3QgY29udGFpbnMgYSBm
b2N1c2VkIGVsZW1lbnQgaW4gaXRzIHNoYWRvdyBET00gc3VidHJlZXMKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgxMTAyCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVzdDogZmFzdC9kb20vc2hhZG93L3No
YWRvdy1yb290LWJsdXIuaHRtbAorCisgICAgICAgICogZG9tL0VsZW1lbnQuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6RWxlbWVudDo6bm9kZUlzSW5TaGFkb3dUcmVlKToKKyAgICAgICAgKFdlYkNv
cmUpOgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6Ymx1cik6CisgICAgICAgICogZG9tL0Vs
ZW1lbnQuaDoKKyAgICAgICAgKEVsZW1lbnQpOgorCiAyMDEyLTAzLTE2ICBTaGVyaWZmIEJvdCAg
PHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xs
aW5nIG91dCByMTEwOTc2LgpJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcAkocmV2aXNpb24gMTEw
OTg0KQorKysgU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0xNTg4LDExICsxNTg4LDM0IEBAIHZvaWQgRWxlbWVudDo6dXBkYXRlRm9jdXNBcHBlYXJhbmNl
KGJvb2wKICAgICAgICAgcmVuZGVyZXIoKS0+ZW5jbG9zaW5nTGF5ZXIoKS0+c2Nyb2xsUmVjdFRv
VmlzaWJsZShnZXRSZWN0KCkpOwogfQogCitib29sIEVsZW1lbnQ6Om5vZGVJc0luU2hhZG93VHJl
ZShOb2RlKiBub2RlKQoreworICAgIEFTU0VSVCh0aGlzICE9IG5vZGUpOworICAgIERvY3VtZW50
KiBkb2MgPSBkb2N1bWVudCgpOworICAgIGlmIChoYXNTaGFkb3dSb290KCkpIHsKKyAgICAgICAg
Ly8gQWRkZWQgY2FzZSBmb3IgZm9jdXNlZE5vZGUgYmVpbmcgaW4gc2hhZG93VHJlZSAmIGJsdXIg
Y2FsbGVkIG9uIHNoYWRvd0hvc3QgKHNlZSBidWcgODExMDIpCisgICAgICAgIC8vIE5lc3RlZCBT
aGFkb3dET00gdHJlZSBjYXNlIC0gZmluZCBpZiB0aGUgZXh0cmVtZSBzaGFkb3dIb3N0IGlzIHRo
ZSBvbmUgb24gd2hpY2ggYmx1ciBpcyBjYWxsZWQuCisgICAgICAgIFRyZWVTY29wZSogdHJlZVNj
b3BlID0gbm9kZS0+dHJlZVNjb3BlKCk7CisgICAgICAgIHdoaWxlIChub2RlICE9IHRoaXMgJiYg
dHJlZVNjb3BlICE9IGRvYykgeworICAgICAgICAgICAgbm9kZSA9IHRyZWVTY29wZS0+cm9vdE5v
ZGUoKS0+c2hhZG93SG9zdCgpOworICAgICAgICAgICAgdHJlZVNjb3BlID0gbm9kZS0+dHJlZVNj
b3BlKCk7CisgICAgICAgIH0KKyAgICAgICAgLy8gVGhpcyBoYW5kbGVzIGNhc2Ugd2hlcmUgZm9j
dXNlZCBub2RlIGFuZCBjYWxsZWQgaG9zdCBlbGVtZW50IGFyZSBmcm9tIGRpZmZlcmVudCB0cmVl
LgorICAgICAgICBpZiAobm9kZSA9PSB0aGlzKQorICAgICAgICAgICAgcmV0dXJuIHRydWU7Cisg
ICAgfQorICAgIHJldHVybiBmYWxzZTsKK30KKwogdm9pZCBFbGVtZW50OjpibHVyKCkKIHsKICAg
ICBjYW5jZWxGb2N1c0FwcGVhcmFuY2VVcGRhdGUoKTsKICAgICBEb2N1bWVudCogZG9jID0gZG9j
dW1lbnQoKTsKLSAgICBpZiAoZG9jLT5mb2N1c2VkTm9kZSgpID09IHRoaXMpIHsKKyAgICBOb2Rl
KiBmb2N1c2VkTm9kZSA9IGRvYy0+Zm9jdXNlZE5vZGUoKTsKKyAgICBpZiAoIWZvY3VzZWROb2Rl
KQorICAgICAgICByZXR1cm47CisKKyAgICBpZiAoZm9jdXNlZE5vZGUgPT0gdGhpcyB8fCBub2Rl
SXNJblNoYWRvd1RyZWUoZm9jdXNlZE5vZGUpKSB7CiAgICAgICAgIGlmIChkb2MtPmZyYW1lKCkp
CiAgICAgICAgICAgICBkb2MtPmZyYW1lKCktPnBhZ2UoKS0+Zm9jdXNDb250cm9sbGVyKCktPnNl
dEZvY3VzZWROb2RlKDAsIGRvYy0+ZnJhbWUoKSk7CiAgICAgICAgIGVsc2UKSW5kZXg6IFNvdXJj
ZS9XZWJDb3JlL2RvbS9FbGVtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9t
L0VsZW1lbnQuaAkocmV2aXNpb24gMTEwOTg0KQorKysgU291cmNlL1dlYkNvcmUvZG9tL0VsZW1l
bnQuaAkod29ya2luZyBjb3B5KQpAQCAtNDQ3LDYgKzQ0Nyw3IEBAIHByaXZhdGU6CiAjZW5kaWYK
IAogICAgIHZvaWQgY2FuY2VsRm9jdXNBcHBlYXJhbmNlVXBkYXRlKCk7CisgICAgYm9vbCBub2Rl
SXNJblNoYWRvd1RyZWUoTm9kZSopOwogCiAgICAgdmlydHVhbCBjb25zdCBBdG9taWNTdHJpbmcm
IHZpcnR1YWxQcmVmaXgoKSBjb25zdCB7IHJldHVybiBwcmVmaXgoKTsgfQogICAgIHZpcnR1YWwg
Y29uc3QgQXRvbWljU3RyaW5nJiB2aXJ0dWFsTG9jYWxOYW1lKCkgY29uc3QgeyByZXR1cm4gbG9j
YWxOYW1lKCk7IH0KSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBM
YXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDExMDk4OCkKKysrIExheW91dFRlc3RzL0No
YW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEzIEBACisyMDEyLTAzLTE2ICBLYXVz
dHViaCBBdHJhd2Fsa2FyICA8a2F1c3R1YmhAbW90b3JvbGEuY29tPgorCisgICAgICAgIGJsdXIo
KSBvbiBzaGFkb3cgaG9zdCBzaG91bGQgd29yayB3aGVuIGEgc2hhZG93IGhvc3QgY29udGFpbnMg
YSBmb2N1c2VkIGVsZW1lbnQgaW4gaXRzIHNoYWRvdyBET00gc3VidHJlZXMKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgxMTAyCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvc2hh
ZG93LXJvb3QtYmx1ci1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZG9tL3No
YWRvdy9zaGFkb3ctcm9vdC1ibHVyLmh0bWw6IEFkZGVkLgorCiAyMDEyLTAzLTE2ICBIYWppbWUg
TW9ycml0YSAgPG1vcnJpdGFAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQgZ2Fy
ZGVuaW5nLCBtYXJraW5nIGEgZmFpbGluZyB0ZXN0LgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9k
b20vc2hhZG93L3NoYWRvdy1yb290LWJsdXItZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctcm9vdC1ibHVyLWV4cGVjdGVkLnR4dAko
cmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctcm9vdC1i
bHVyLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw0MyBAQAorVGhpcyB0ZXN0
cyB0aGUgYmx1cigpIG9uIG9uIHNoYWRvdyBob3N0IHNob3VsZCB3b3JrIHdoZW4gYSBzaGFkb3cg
aG9zdCBjb250YWlucyBhIGZvY3VzZWQgZWxlbWVudCBpbiBpdHMgc2hhZG93IERPTSBzdWJ0cmVl
cyBwcm9wZXJ0eSAoYnVnIDgxMTAyKQorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJp
ZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKwor
CitnZXRFbGVtZW50SW5TaGFkb3dUcmVlU3RhY2soJ3NoYWRvd0hvc3RBL2NoaWxkSW5UcmVlT25l
JykuZm9jdXMoKQorUEFTUyBkb2N1bWVudC5hY3RpdmVFbGVtZW50LmlkIGlzICJzaGFkb3dIb3N0
QSIKK2dldEVsZW1lbnRJblNoYWRvd1RyZWVTdGFjaygnc2hhZG93SG9zdEEnKS5ibHVyKCk7Citz
aGFkb3dIb3N0QSBvbmJsdXIgY2FsbGVkIQorUEFTUyBkb2N1bWVudC5hY3RpdmVFbGVtZW50IGlz
IGRvY3VtZW50LmJvZHkKK1BBU1MgZ2V0RWxlbWVudEluU2hhZG93VHJlZVN0YWNrKCdzaGFkb3dI
b3N0QS8nKS5hY3RpdmVFbGVtZW50IGlzIG51bGwKK1BBU1MgZ2V0RWxlbWVudEluU2hhZG93VHJl
ZVN0YWNrKCdzaGFkb3dIb3N0QS9zaGFkb3dIb3N0Qi8nKS5hY3RpdmVFbGVtZW50IGlzIG51bGwK
K1BBU1MgZ2V0RWxlbWVudEluU2hhZG93VHJlZVN0YWNrKCdzaGFkb3dIb3N0Qy8nKS5hY3RpdmVF
bGVtZW50IGlzIG51bGwKK2dldEVsZW1lbnRJblNoYWRvd1RyZWVTdGFjaygnc2hhZG93SG9zdEEv
c2hhZG93SG9zdEIvY2hpbGRJblRyZWVUd28nKS5mb2N1cygpCitQQVNTIGRvY3VtZW50LmFjdGl2
ZUVsZW1lbnQuaWQgaXMgInNoYWRvd0hvc3RBIgorZ2V0RWxlbWVudEluU2hhZG93VHJlZVN0YWNr
KCdzaGFkb3dIb3N0QS9zaGFkb3dIb3N0QicpLmJsdXIoKTsKK3NoYWRvd0hvc3RBIG9uYmx1ciBj
YWxsZWQhCitzaGFkb3dIb3N0QiBvbmJsdXIgY2FsbGVkIQorUEFTUyBkb2N1bWVudC5hY3RpdmVF
bGVtZW50IGlzIGRvY3VtZW50LmJvZHkKK1BBU1MgZ2V0RWxlbWVudEluU2hhZG93VHJlZVN0YWNr
KCdzaGFkb3dIb3N0QS8nKS5hY3RpdmVFbGVtZW50IGlzIG51bGwKK1BBU1MgZ2V0RWxlbWVudElu
U2hhZG93VHJlZVN0YWNrKCdzaGFkb3dIb3N0QS9zaGFkb3dIb3N0Qi8nKS5hY3RpdmVFbGVtZW50
IGlzIG51bGwKK1BBU1MgZ2V0RWxlbWVudEluU2hhZG93VHJlZVN0YWNrKCdzaGFkb3dIb3N0Qy8n
KS5hY3RpdmVFbGVtZW50IGlzIG51bGwKK2dldEVsZW1lbnRJblNoYWRvd1RyZWVTdGFjaygnc2hh
ZG93SG9zdEEvc2hhZG93SG9zdEIvY2hpbGRJblRyZWVUd28nKS5mb2N1cygpCitQQVNTIGRvY3Vt
ZW50LmFjdGl2ZUVsZW1lbnQuaWQgaXMgInNoYWRvd0hvc3RBIgorZ2V0RWxlbWVudEluU2hhZG93
VHJlZVN0YWNrKCdzaGFkb3dIb3N0QScpLmJsdXIoKTsKK3NoYWRvd0hvc3RBIG9uYmx1ciBjYWxs
ZWQhCitzaGFkb3dIb3N0QiBvbmJsdXIgY2FsbGVkIQorUEFTUyBkb2N1bWVudC5hY3RpdmVFbGVt
ZW50IGlzIGRvY3VtZW50LmJvZHkKK1BBU1MgZ2V0RWxlbWVudEluU2hhZG93VHJlZVN0YWNrKCdz
aGFkb3dIb3N0QS8nKS5hY3RpdmVFbGVtZW50IGlzIG51bGwKK1BBU1MgZ2V0RWxlbWVudEluU2hh
ZG93VHJlZVN0YWNrKCdzaGFkb3dIb3N0QS9zaGFkb3dIb3N0Qi8nKS5hY3RpdmVFbGVtZW50IGlz
IG51bGwKK1BBU1MgZ2V0RWxlbWVudEluU2hhZG93VHJlZVN0YWNrKCdzaGFkb3dIb3N0Qy8nKS5h
Y3RpdmVFbGVtZW50IGlzIG51bGwKK2dldEVsZW1lbnRJblNoYWRvd1RyZWVTdGFjaygnc2hhZG93
SG9zdEMvY2hpbGRJblRyZWVUaHJlZScpLmZvY3VzKCkKK1BBU1MgZG9jdW1lbnQuYWN0aXZlRWxl
bWVudC5pZCBpcyAic2hhZG93SG9zdEMiCitnZXRFbGVtZW50SW5TaGFkb3dUcmVlU3RhY2soJ3No
YWRvd0hvc3RBJykuYmx1cigpOworUEFTUyBkb2N1bWVudC5hY3RpdmVFbGVtZW50LmlkIGlzICJz
aGFkb3dIb3N0QyIKK1BBU1MgZ2V0RWxlbWVudEluU2hhZG93VHJlZVN0YWNrKCdzaGFkb3dIb3N0
QS8nKS5hY3RpdmVFbGVtZW50IGlzIG51bGwKK1BBU1MgZ2V0RWxlbWVudEluU2hhZG93VHJlZVN0
YWNrKCdzaGFkb3dIb3N0QS9zaGFkb3dIb3N0Qi8nKS5hY3RpdmVFbGVtZW50IGlzIG51bGwKK1BB
U1MgZ2V0RWxlbWVudEluU2hhZG93VHJlZVN0YWNrKCdzaGFkb3dIb3N0Qy8nKS5hY3RpdmVFbGVt
ZW50LmlkIGlzICJjaGlsZEluVHJlZVRocmVlIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMg
dHJ1ZQorCitURVNUIENPTVBMRVRFCisKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRv
dy9zaGFkb3ctcm9vdC1ibHVyLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9k
b20vc2hhZG93L3NoYWRvdy1yb290LWJsdXIuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRl
c3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctcm9vdC1ibHVyLmh0bWwJKHJldmlzaW9uIDApCkBA
IC0wLDAgKzEsNzYgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQg
c3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlw
dCBzcmM9InJlc291cmNlcy9zaGFkb3ctZG9tLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorPGRpdiBpZD0iY29uc29sZSI+Cis8L2Rpdj4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbigiVGhp
cyB0ZXN0cyB0aGUgYmx1cigpIG9uIG9uIHNoYWRvdyBob3N0IHNob3VsZCB3b3JrIHdoZW4gYSBz
aGFkb3cgaG9zdCBjb250YWlucyBhIGZvY3VzZWQgZWxlbWVudCBpbiBpdHMgc2hhZG93IERPTSBz
dWJ0cmVlcyBwcm9wZXJ0eSAoYnVnIDgxMTAyKSIpOworCitpZiAoIXdpbmRvdy5pbnRlcm5hbHMp
CisgICAgZGVidWcoJ1RoaXMgdGVzdCBydW5zIG9uIERSVCBvbmx5Jyk7CisKK2lmICh3aW5kb3cu
bGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4
dCgpOworCitkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKAorICAgIGNyZWF0ZURPTSgnZGl2Jywg
eydpZCc6J3NoYWRvd0hvc3RBJ30sCisgICAgICAgIGNyZWF0ZVNoYWRvd1Jvb3QoCisgICAgICAg
ICAgICBjcmVhdGVET00oJ3AnLCB7J2lkJzonY2hpbGRJblRyZWVPbmUnLCAndGFiaW5kZXgnOicx
J30pLAorICAgICAgICAgICAgY3JlYXRlRE9NKCdkaXYnLCB7J2lkJzonc2hhZG93SG9zdEInfSwK
KyAgICAgICAgICAgICAgICBjcmVhdGVTaGFkb3dSb290KAorICAgICAgICAgICAgICAgICAgICBj
cmVhdGVET00oJ3AnLCB7J2lkJzonY2hpbGRJblRyZWVUd28nLCAndGFiaW5kZXgnOicyJ30pKSkp
KSk7CisKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoCisgICAgY3JlYXRlRE9NKCdkaXYnLCB7
J2lkJzonc2hhZG93SG9zdEMnfSwKKyAgICAgICAgY3JlYXRlU2hhZG93Um9vdCgKKyAgICAgICAg
ICAgIGNyZWF0ZURPTSgncCcsIHsnaWQnOidjaGlsZEluVHJlZVRocmVlJywgJ3RhYmluZGV4Jzon
Myd9KSkpCispOworCitnZXRFbGVtZW50SW5TaGFkb3dUcmVlU3RhY2soJ3NoYWRvd0hvc3RBJyku
b25ibHVyID0gZnVuY3Rpb24oKSB7IGRlYnVnKCJzaGFkb3dIb3N0QSBvbmJsdXIgY2FsbGVkISIp
OyB9IAorZ2V0RWxlbWVudEluU2hhZG93VHJlZVN0YWNrKCdzaGFkb3dIb3N0QS9zaGFkb3dIb3N0
QicpLm9uYmx1ciA9IGZ1bmN0aW9uKCkgeyBkZWJ1Zygic2hhZG93SG9zdEIgb25ibHVyIGNhbGxl
ZCEiKTsgfSAKKworLy8gY2hpbGRJblRyZWVPbmUgZm91Y3NlZCAtIHNoYWRvd0hvc3RBIGJsdXJy
ZWQKK2V2YWxBbmRMb2coImdldEVsZW1lbnRJblNoYWRvd1RyZWVTdGFjaygnc2hhZG93SG9zdEEv
Y2hpbGRJblRyZWVPbmUnKS5mb2N1cygpIik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvY3Vt
ZW50LmFjdGl2ZUVsZW1lbnQuaWQiLCAic2hhZG93SG9zdEEiKTsKK2V2YWxBbmRMb2coImdldEVs
ZW1lbnRJblNoYWRvd1RyZWVTdGFjaygnc2hhZG93SG9zdEEnKS5ibHVyKCk7Iik7CitzaG91bGRC
ZSgiZG9jdW1lbnQuYWN0aXZlRWxlbWVudCIsICJkb2N1bWVudC5ib2R5Iik7CitzaG91bGRCZSgi
Z2V0RWxlbWVudEluU2hhZG93VHJlZVN0YWNrKCdzaGFkb3dIb3N0QS8nKS5hY3RpdmVFbGVtZW50
IiwgIm51bGwiKTsKK3Nob3VsZEJlKCJnZXRFbGVtZW50SW5TaGFkb3dUcmVlU3RhY2soJ3NoYWRv
d0hvc3RBL3NoYWRvd0hvc3RCLycpLmFjdGl2ZUVsZW1lbnQiLCAibnVsbCIpOworc2hvdWxkQmUo
ImdldEVsZW1lbnRJblNoYWRvd1RyZWVTdGFjaygnc2hhZG93SG9zdEMvJykuYWN0aXZlRWxlbWVu
dCIsICJudWxsIik7CisKKy8vIGNoaWxkSW5UcmVlVHdvIGZvdWNzZWQgLSBzaGFkb3dIb3N0QiBi
bHVycmVkCitldmFsQW5kTG9nKCJnZXRFbGVtZW50SW5TaGFkb3dUcmVlU3RhY2soJ3NoYWRvd0hv
c3RBL3NoYWRvd0hvc3RCL2NoaWxkSW5UcmVlVHdvJykuZm9jdXMoKSIpOworc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJkb2N1bWVudC5hY3RpdmVFbGVtZW50LmlkIiwgInNoYWRvd0hvc3RBIik7Citl
dmFsQW5kTG9nKCJnZXRFbGVtZW50SW5TaGFkb3dUcmVlU3RhY2soJ3NoYWRvd0hvc3RBL3NoYWRv
d0hvc3RCJykuYmx1cigpOyIpOworc2hvdWxkQmUoImRvY3VtZW50LmFjdGl2ZUVsZW1lbnQiLCAi
ZG9jdW1lbnQuYm9keSIpOworc2hvdWxkQmUoImdldEVsZW1lbnRJblNoYWRvd1RyZWVTdGFjaygn
c2hhZG93SG9zdEEvJykuYWN0aXZlRWxlbWVudCIsICJudWxsIik7CitzaG91bGRCZSgiZ2V0RWxl
bWVudEluU2hhZG93VHJlZVN0YWNrKCdzaGFkb3dIb3N0QS9zaGFkb3dIb3N0Qi8nKS5hY3RpdmVF
bGVtZW50IiwgIm51bGwiKTsKK3Nob3VsZEJlKCJnZXRFbGVtZW50SW5TaGFkb3dUcmVlU3RhY2so
J3NoYWRvd0hvc3RDLycpLmFjdGl2ZUVsZW1lbnQiLCAibnVsbCIpOworCisvLyBjaGlsZEluVHJl
ZVR3byBmb3Vjc2VkIC0gc2hhZG93SG9zdEEgYmx1cnJlZAorZXZhbEFuZExvZygiZ2V0RWxlbWVu
dEluU2hhZG93VHJlZVN0YWNrKCdzaGFkb3dIb3N0QS9zaGFkb3dIb3N0Qi9jaGlsZEluVHJlZVR3
bycpLmZvY3VzKCkiKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jdW1lbnQuYWN0aXZlRWxl
bWVudC5pZCIsICJzaGFkb3dIb3N0QSIpOworZXZhbEFuZExvZygiZ2V0RWxlbWVudEluU2hhZG93
VHJlZVN0YWNrKCdzaGFkb3dIb3N0QScpLmJsdXIoKTsiKTsKK3Nob3VsZEJlKCJkb2N1bWVudC5h
Y3RpdmVFbGVtZW50IiwgImRvY3VtZW50LmJvZHkiKTsKK3Nob3VsZEJlKCJnZXRFbGVtZW50SW5T
aGFkb3dUcmVlU3RhY2soJ3NoYWRvd0hvc3RBLycpLmFjdGl2ZUVsZW1lbnQiLCAibnVsbCIpOwor
c2hvdWxkQmUoImdldEVsZW1lbnRJblNoYWRvd1RyZWVTdGFjaygnc2hhZG93SG9zdEEvc2hhZG93
SG9zdEIvJykuYWN0aXZlRWxlbWVudCIsICJudWxsIik7CitzaG91bGRCZSgiZ2V0RWxlbWVudElu
U2hhZG93VHJlZVN0YWNrKCdzaGFkb3dIb3N0Qy8nKS5hY3RpdmVFbGVtZW50IiwgIm51bGwiKTsK
KworLy8gY2hpbGRJblRyZWVUaHJlZSBmb3Vjc2VkIC0gc2hhZG93SG9zdEEgYmx1cnJlZAorZXZh
bEFuZExvZygiZ2V0RWxlbWVudEluU2hhZG93VHJlZVN0YWNrKCdzaGFkb3dIb3N0Qy9jaGlsZElu
VHJlZVRocmVlJykuZm9jdXMoKSIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2N1bWVudC5h
Y3RpdmVFbGVtZW50LmlkIiwgInNoYWRvd0hvc3RDIik7CitldmFsQW5kTG9nKCJnZXRFbGVtZW50
SW5TaGFkb3dUcmVlU3RhY2soJ3NoYWRvd0hvc3RBJykuYmx1cigpOyIpOworc2hvdWxkQmVFcXVh
bFRvU3RyaW5nKCJkb2N1bWVudC5hY3RpdmVFbGVtZW50LmlkIiwgInNoYWRvd0hvc3RDIik7Citz
aG91bGRCZSgiZ2V0RWxlbWVudEluU2hhZG93VHJlZVN0YWNrKCdzaGFkb3dIb3N0QS8nKS5hY3Rp
dmVFbGVtZW50IiwgIm51bGwiKTsKK3Nob3VsZEJlKCJnZXRFbGVtZW50SW5TaGFkb3dUcmVlU3Rh
Y2soJ3NoYWRvd0hvc3RBL3NoYWRvd0hvc3RCLycpLmFjdGl2ZUVsZW1lbnQiLCAibnVsbCIpOwor
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJnZXRFbGVtZW50SW5TaGFkb3dUcmVlU3RhY2soJ3NoYWRv
d0hvc3RDLycpLmFjdGl2ZUVsZW1lbnQuaWQiLCAiY2hpbGRJblRyZWVUaHJlZSIpOworCit2YXIg
c3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4u
L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1s
Pgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>132259</attachid>
            <date>2012-03-16 05:35:19 -0700</date>
            <delta_ts>2012-03-16 05:48:13 -0700</delta_ts>
            <desc>Updated Patch</desc>
            <filename>81102_6.patch</filename>
            <type>text/plain</type>
            <size>10145</size>
            <attacher name="Kaustubh Atrawalkar">kaustubh.ra</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDExMDk4OCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE5IEBACisyMDEyLTAzLTE2ICBLYXVzdHVi
aCBBdHJhd2Fsa2FyICA8a2F1c3R1YmhAbW90b3JvbGEuY29tPgorCisgICAgICAgIGJsdXIoKSBv
biBzaGFkb3cgaG9zdCBzaG91bGQgd29yayB3aGVuIGEgc2hhZG93IGhvc3QgY29udGFpbnMgYSBm
b2N1c2VkIGVsZW1lbnQgaW4gaXRzIHNoYWRvdyBET00gc3VidHJlZXMKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgxMTAyCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVzdDogZmFzdC9kb20vc2hhZG93L3No
YWRvdy1yb290LWJsdXIuaHRtbAorCisgICAgICAgICogZG9tL0VsZW1lbnQuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6RWxlbWVudDo6bm9kZUlzSW5TaGFkb3dUcmVlKToKKyAgICAgICAgKFdlYkNv
cmUpOgorICAgICAgICAoV2ViQ29yZTo6RWxlbWVudDo6Ymx1cik6CisgICAgICAgICogZG9tL0Vs
ZW1lbnQuaDoKKyAgICAgICAgKEVsZW1lbnQpOgorCiAyMDEyLTAzLTE2ICBTaGVyaWZmIEJvdCAg
PHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xs
aW5nIG91dCByMTEwOTc2LgpJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcAkocmV2aXNpb24gMTEw
OTg0KQorKysgU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0xNTg4LDExICsxNTg4LDM2IEBAIHZvaWQgRWxlbWVudDo6dXBkYXRlRm9jdXNBcHBlYXJhbmNl
KGJvb2wKICAgICAgICAgcmVuZGVyZXIoKS0+ZW5jbG9zaW5nTGF5ZXIoKS0+c2Nyb2xsUmVjdFRv
VmlzaWJsZShnZXRSZWN0KCkpOwogfQogCitib29sIEVsZW1lbnQ6Om5vZGVJc0luU2hhZG93VHJl
ZShOb2RlKiBub2RlKQoreworICAgIEFTU0VSVCh0aGlzICE9IG5vZGUpOworICAgIERvY3VtZW50
KiBkb2MgPSBkb2N1bWVudCgpOworICAgIGlmIChoYXNTaGFkb3dSb290KCkpIHsKKyAgICAgICAg
IGlmIChub2RlID09IHRoaXMpCisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgLy8g
QWRkZWQgY2FzZSBmb3IgZm9jdXNlZE5vZGUgYmVpbmcgaW4gc2hhZG93VHJlZSAmIGJsdXIgY2Fs
bGVkIG9uIHNoYWRvd0hvc3QgKHNlZSBidWcgODExMDIpCisgICAgICAgIC8vIE5lc3RlZCBTaGFk
b3dET00gdHJlZSBjYXNlIC0gZmluZCBpZiB0aGUgZXh0cmVtZSBzaGFkb3dIb3N0IGlzIHRoZSBv
bmUgb24gd2hpY2ggYmx1ciBpcyBjYWxsZWQuCisgICAgICAgIFRyZWVTY29wZSogdHJlZVNjb3Bl
ID0gbm9kZS0+dHJlZVNjb3BlKCk7CisgICAgICAgIHdoaWxlIChub2RlICE9IHRoaXMgJiYgdHJl
ZVNjb3BlICE9IGRvYykgeworICAgICAgICAgICAgbm9kZSA9IHRyZWVTY29wZS0+cm9vdE5vZGUo
KS0+c2hhZG93SG9zdCgpOworICAgICAgICAgICAgdHJlZVNjb3BlID0gbm9kZS0+dHJlZVNjb3Bl
KCk7CisgICAgICAgIH0KKyAgICAgICAgLy8gVGhpcyBoYW5kbGVzIGNhc2Ugd2hlcmUgZm9jdXNl
ZCBub2RlIGFuZCBjYWxsZWQgaG9zdCBlbGVtZW50IGFyZSBmcm9tIGRpZmZlcmVudCB0cmVlLgor
ICAgICAgICBpZiAobm9kZSA9PSB0aGlzKQorICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAg
fQorICAgIHJldHVybiBmYWxzZTsKK30KKwogdm9pZCBFbGVtZW50OjpibHVyKCkKIHsKICAgICBj
YW5jZWxGb2N1c0FwcGVhcmFuY2VVcGRhdGUoKTsKICAgICBEb2N1bWVudCogZG9jID0gZG9jdW1l
bnQoKTsKLSAgICBpZiAoZG9jLT5mb2N1c2VkTm9kZSgpID09IHRoaXMpIHsKKyAgICBOb2RlKiBm
b2N1c2VkTm9kZSA9IGRvYy0+Zm9jdXNlZE5vZGUoKTsKKyAgICBpZiAoIWZvY3VzZWROb2RlKQor
ICAgICAgICByZXR1cm47CisKKyAgICBpZiAoZm9jdXNlZE5vZGUgPT0gdGhpcyB8fCBub2RlSXNJ
blNoYWRvd1RyZWUoZm9jdXNlZE5vZGUpKSB7CiAgICAgICAgIGlmIChkb2MtPmZyYW1lKCkpCiAg
ICAgICAgICAgICBkb2MtPmZyYW1lKCktPnBhZ2UoKS0+Zm9jdXNDb250cm9sbGVyKCktPnNldEZv
Y3VzZWROb2RlKDAsIGRvYy0+ZnJhbWUoKSk7CiAgICAgICAgIGVsc2UKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL2RvbS9FbGVtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL0Vs
ZW1lbnQuaAkocmV2aXNpb24gMTEwOTg0KQorKysgU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQu
aAkod29ya2luZyBjb3B5KQpAQCAtNDQ3LDYgKzQ0Nyw3IEBAIHByaXZhdGU6CiAjZW5kaWYKIAog
ICAgIHZvaWQgY2FuY2VsRm9jdXNBcHBlYXJhbmNlVXBkYXRlKCk7CisgICAgYm9vbCBub2RlSXNJ
blNoYWRvd1RyZWUoTm9kZSopOwogCiAgICAgdmlydHVhbCBjb25zdCBBdG9taWNTdHJpbmcmIHZp
cnR1YWxQcmVmaXgoKSBjb25zdCB7IHJldHVybiBwcmVmaXgoKTsgfQogICAgIHZpcnR1YWwgY29u
c3QgQXRvbWljU3RyaW5nJiB2aXJ0dWFsTG9jYWxOYW1lKCkgY29uc3QgeyByZXR1cm4gbG9jYWxO
YW1lKCk7IH0KSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDExMDk4OCkKKysrIExheW91dFRlc3RzL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEzIEBACisyMDEyLTAzLTE2ICBLYXVzdHVi
aCBBdHJhd2Fsa2FyICA8a2F1c3R1YmhAbW90b3JvbGEuY29tPgorCisgICAgICAgIGJsdXIoKSBv
biBzaGFkb3cgaG9zdCBzaG91bGQgd29yayB3aGVuIGEgc2hhZG93IGhvc3QgY29udGFpbnMgYSBm
b2N1c2VkIGVsZW1lbnQgaW4gaXRzIHNoYWRvdyBET00gc3VidHJlZXMKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgxMTAyCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvc2hhZG93
LXJvb3QtYmx1ci1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRv
dy9zaGFkb3ctcm9vdC1ibHVyLmh0bWw6IEFkZGVkLgorCiAyMDEyLTAzLTE2ICBIYWppbWUgTW9y
cml0YSAgPG1vcnJpdGFAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQgZ2FyZGVu
aW5nLCBtYXJraW5nIGEgZmFpbGluZyB0ZXN0LgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9kb20v
c2hhZG93L3NoYWRvdy1yb290LWJsdXItZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91
dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctcm9vdC1ibHVyLWV4cGVjdGVkLnR4dAkocmV2
aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctcm9vdC1ibHVy
LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw0MyBAQAorVGhpcyB0ZXN0cyB0
aGUgYmx1cigpIG9uIG9uIHNoYWRvdyBob3N0IHNob3VsZCB3b3JrIHdoZW4gYSBzaGFkb3cgaG9z
dCBjb250YWlucyBhIGZvY3VzZWQgZWxlbWVudCBpbiBpdHMgc2hhZG93IERPTSBzdWJ0cmVlcyBw
cm9wZXJ0eSAoYnVnIDgxMTAyKQorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMg
b2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworCitn
ZXRFbGVtZW50SW5TaGFkb3dUcmVlU3RhY2soJ3NoYWRvd0hvc3RBL2NoaWxkSW5UcmVlT25lJyku
Zm9jdXMoKQorUEFTUyBkb2N1bWVudC5hY3RpdmVFbGVtZW50LmlkIGlzICJzaGFkb3dIb3N0QSIK
K2dldEVsZW1lbnRJblNoYWRvd1RyZWVTdGFjaygnc2hhZG93SG9zdEEnKS5ibHVyKCk7CitzaGFk
b3dIb3N0QSBvbmJsdXIgY2FsbGVkIQorUEFTUyBkb2N1bWVudC5hY3RpdmVFbGVtZW50IGlzIGRv
Y3VtZW50LmJvZHkKK1BBU1MgZ2V0RWxlbWVudEluU2hhZG93VHJlZVN0YWNrKCdzaGFkb3dIb3N0
QS8nKS5hY3RpdmVFbGVtZW50IGlzIG51bGwKK1BBU1MgZ2V0RWxlbWVudEluU2hhZG93VHJlZVN0
YWNrKCdzaGFkb3dIb3N0QS9zaGFkb3dIb3N0Qi8nKS5hY3RpdmVFbGVtZW50IGlzIG51bGwKK1BB
U1MgZ2V0RWxlbWVudEluU2hhZG93VHJlZVN0YWNrKCdzaGFkb3dIb3N0Qy8nKS5hY3RpdmVFbGVt
ZW50IGlzIG51bGwKK2dldEVsZW1lbnRJblNoYWRvd1RyZWVTdGFjaygnc2hhZG93SG9zdEEvc2hh
ZG93SG9zdEIvY2hpbGRJblRyZWVUd28nKS5mb2N1cygpCitQQVNTIGRvY3VtZW50LmFjdGl2ZUVs
ZW1lbnQuaWQgaXMgInNoYWRvd0hvc3RBIgorZ2V0RWxlbWVudEluU2hhZG93VHJlZVN0YWNrKCdz
aGFkb3dIb3N0QS9zaGFkb3dIb3N0QicpLmJsdXIoKTsKK3NoYWRvd0hvc3RBIG9uYmx1ciBjYWxs
ZWQhCitzaGFkb3dIb3N0QiBvbmJsdXIgY2FsbGVkIQorUEFTUyBkb2N1bWVudC5hY3RpdmVFbGVt
ZW50IGlzIGRvY3VtZW50LmJvZHkKK1BBU1MgZ2V0RWxlbWVudEluU2hhZG93VHJlZVN0YWNrKCdz
aGFkb3dIb3N0QS8nKS5hY3RpdmVFbGVtZW50IGlzIG51bGwKK1BBU1MgZ2V0RWxlbWVudEluU2hh
ZG93VHJlZVN0YWNrKCdzaGFkb3dIb3N0QS9zaGFkb3dIb3N0Qi8nKS5hY3RpdmVFbGVtZW50IGlz
IG51bGwKK1BBU1MgZ2V0RWxlbWVudEluU2hhZG93VHJlZVN0YWNrKCdzaGFkb3dIb3N0Qy8nKS5h
Y3RpdmVFbGVtZW50IGlzIG51bGwKK2dldEVsZW1lbnRJblNoYWRvd1RyZWVTdGFjaygnc2hhZG93
SG9zdEEvc2hhZG93SG9zdEIvY2hpbGRJblRyZWVUd28nKS5mb2N1cygpCitQQVNTIGRvY3VtZW50
LmFjdGl2ZUVsZW1lbnQuaWQgaXMgInNoYWRvd0hvc3RBIgorZ2V0RWxlbWVudEluU2hhZG93VHJl
ZVN0YWNrKCdzaGFkb3dIb3N0QScpLmJsdXIoKTsKK3NoYWRvd0hvc3RBIG9uYmx1ciBjYWxsZWQh
CitzaGFkb3dIb3N0QiBvbmJsdXIgY2FsbGVkIQorUEFTUyBkb2N1bWVudC5hY3RpdmVFbGVtZW50
IGlzIGRvY3VtZW50LmJvZHkKK1BBU1MgZ2V0RWxlbWVudEluU2hhZG93VHJlZVN0YWNrKCdzaGFk
b3dIb3N0QS8nKS5hY3RpdmVFbGVtZW50IGlzIG51bGwKK1BBU1MgZ2V0RWxlbWVudEluU2hhZG93
VHJlZVN0YWNrKCdzaGFkb3dIb3N0QS9zaGFkb3dIb3N0Qi8nKS5hY3RpdmVFbGVtZW50IGlzIG51
bGwKK1BBU1MgZ2V0RWxlbWVudEluU2hhZG93VHJlZVN0YWNrKCdzaGFkb3dIb3N0Qy8nKS5hY3Rp
dmVFbGVtZW50IGlzIG51bGwKK2dldEVsZW1lbnRJblNoYWRvd1RyZWVTdGFjaygnc2hhZG93SG9z
dEMvY2hpbGRJblRyZWVUaHJlZScpLmZvY3VzKCkKK1BBU1MgZG9jdW1lbnQuYWN0aXZlRWxlbWVu
dC5pZCBpcyAic2hhZG93SG9zdEMiCitnZXRFbGVtZW50SW5TaGFkb3dUcmVlU3RhY2soJ3NoYWRv
d0hvc3RBJykuYmx1cigpOworUEFTUyBkb2N1bWVudC5hY3RpdmVFbGVtZW50LmlkIGlzICJzaGFk
b3dIb3N0QyIKK1BBU1MgZ2V0RWxlbWVudEluU2hhZG93VHJlZVN0YWNrKCdzaGFkb3dIb3N0QS8n
KS5hY3RpdmVFbGVtZW50IGlzIG51bGwKK1BBU1MgZ2V0RWxlbWVudEluU2hhZG93VHJlZVN0YWNr
KCdzaGFkb3dIb3N0QS9zaGFkb3dIb3N0Qi8nKS5hY3RpdmVFbGVtZW50IGlzIG51bGwKK1BBU1Mg
Z2V0RWxlbWVudEluU2hhZG93VHJlZVN0YWNrKCdzaGFkb3dIb3N0Qy8nKS5hY3RpdmVFbGVtZW50
LmlkIGlzICJjaGlsZEluVHJlZVRocmVlIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1
ZQorCitURVNUIENPTVBMRVRFCisKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9z
aGFkb3ctcm9vdC1ibHVyLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9kb20v
c2hhZG93L3NoYWRvdy1yb290LWJsdXIuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3Rz
L2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctcm9vdC1ibHVyLmh0bWwJKHJldmlzaW9uIDApCkBAIC0w
LDAgKzEsNzYgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9InJlc291cmNlcy9zaGFkb3ctZG9tLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5Pgor
PGRpdiBpZD0iY29uc29sZSI+Cis8L2Rpdj4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbigiVGhpcyB0
ZXN0cyB0aGUgYmx1cigpIG9uIG9uIHNoYWRvdyBob3N0IHNob3VsZCB3b3JrIHdoZW4gYSBzaGFk
b3cgaG9zdCBjb250YWlucyBhIGZvY3VzZWQgZWxlbWVudCBpbiBpdHMgc2hhZG93IERPTSBzdWJ0
cmVlcyBwcm9wZXJ0eSAoYnVnIDgxMTAyKSIpOworCitpZiAoIXdpbmRvdy5pbnRlcm5hbHMpCisg
ICAgZGVidWcoJ1RoaXMgdGVzdCBydW5zIG9uIERSVCBvbmx5Jyk7CisKK2lmICh3aW5kb3cubGF5
b3V0VGVzdENvbnRyb2xsZXIpCisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgp
OworCitkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKAorICAgIGNyZWF0ZURPTSgnZGl2Jywgeydp
ZCc6J3NoYWRvd0hvc3RBJ30sCisgICAgICAgIGNyZWF0ZVNoYWRvd1Jvb3QoCisgICAgICAgICAg
ICBjcmVhdGVET00oJ3AnLCB7J2lkJzonY2hpbGRJblRyZWVPbmUnLCAndGFiaW5kZXgnOicxJ30p
LAorICAgICAgICAgICAgY3JlYXRlRE9NKCdkaXYnLCB7J2lkJzonc2hhZG93SG9zdEInfSwKKyAg
ICAgICAgICAgICAgICBjcmVhdGVTaGFkb3dSb290KAorICAgICAgICAgICAgICAgICAgICBjcmVh
dGVET00oJ3AnLCB7J2lkJzonY2hpbGRJblRyZWVUd28nLCAndGFiaW5kZXgnOicyJ30pKSkpKSk7
CisKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoCisgICAgY3JlYXRlRE9NKCdkaXYnLCB7J2lk
Jzonc2hhZG93SG9zdEMnfSwKKyAgICAgICAgY3JlYXRlU2hhZG93Um9vdCgKKyAgICAgICAgICAg
IGNyZWF0ZURPTSgncCcsIHsnaWQnOidjaGlsZEluVHJlZVRocmVlJywgJ3RhYmluZGV4JzonMyd9
KSkpCispOworCitnZXRFbGVtZW50SW5TaGFkb3dUcmVlU3RhY2soJ3NoYWRvd0hvc3RBJykub25i
bHVyID0gZnVuY3Rpb24oKSB7IGRlYnVnKCJzaGFkb3dIb3N0QSBvbmJsdXIgY2FsbGVkISIpOyB9
IAorZ2V0RWxlbWVudEluU2hhZG93VHJlZVN0YWNrKCdzaGFkb3dIb3N0QS9zaGFkb3dIb3N0Qicp
Lm9uYmx1ciA9IGZ1bmN0aW9uKCkgeyBkZWJ1Zygic2hhZG93SG9zdEIgb25ibHVyIGNhbGxlZCEi
KTsgfSAKKworLy8gY2hpbGRJblRyZWVPbmUgZm91Y3NlZCAtIHNoYWRvd0hvc3RBIGJsdXJyZWQK
K2V2YWxBbmRMb2coImdldEVsZW1lbnRJblNoYWRvd1RyZWVTdGFjaygnc2hhZG93SG9zdEEvY2hp
bGRJblRyZWVPbmUnKS5mb2N1cygpIik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvY3VtZW50
LmFjdGl2ZUVsZW1lbnQuaWQiLCAic2hhZG93SG9zdEEiKTsKK2V2YWxBbmRMb2coImdldEVsZW1l
bnRJblNoYWRvd1RyZWVTdGFjaygnc2hhZG93SG9zdEEnKS5ibHVyKCk7Iik7CitzaG91bGRCZSgi
ZG9jdW1lbnQuYWN0aXZlRWxlbWVudCIsICJkb2N1bWVudC5ib2R5Iik7CitzaG91bGRCZSgiZ2V0
RWxlbWVudEluU2hhZG93VHJlZVN0YWNrKCdzaGFkb3dIb3N0QS8nKS5hY3RpdmVFbGVtZW50Iiwg
Im51bGwiKTsKK3Nob3VsZEJlKCJnZXRFbGVtZW50SW5TaGFkb3dUcmVlU3RhY2soJ3NoYWRvd0hv
c3RBL3NoYWRvd0hvc3RCLycpLmFjdGl2ZUVsZW1lbnQiLCAibnVsbCIpOworc2hvdWxkQmUoImdl
dEVsZW1lbnRJblNoYWRvd1RyZWVTdGFjaygnc2hhZG93SG9zdEMvJykuYWN0aXZlRWxlbWVudCIs
ICJudWxsIik7CisKKy8vIGNoaWxkSW5UcmVlVHdvIGZvdWNzZWQgLSBzaGFkb3dIb3N0QiBibHVy
cmVkCitldmFsQW5kTG9nKCJnZXRFbGVtZW50SW5TaGFkb3dUcmVlU3RhY2soJ3NoYWRvd0hvc3RB
L3NoYWRvd0hvc3RCL2NoaWxkSW5UcmVlVHdvJykuZm9jdXMoKSIpOworc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJkb2N1bWVudC5hY3RpdmVFbGVtZW50LmlkIiwgInNoYWRvd0hvc3RBIik7CitldmFs
QW5kTG9nKCJnZXRFbGVtZW50SW5TaGFkb3dUcmVlU3RhY2soJ3NoYWRvd0hvc3RBL3NoYWRvd0hv
c3RCJykuYmx1cigpOyIpOworc2hvdWxkQmUoImRvY3VtZW50LmFjdGl2ZUVsZW1lbnQiLCAiZG9j
dW1lbnQuYm9keSIpOworc2hvdWxkQmUoImdldEVsZW1lbnRJblNoYWRvd1RyZWVTdGFjaygnc2hh
ZG93SG9zdEEvJykuYWN0aXZlRWxlbWVudCIsICJudWxsIik7CitzaG91bGRCZSgiZ2V0RWxlbWVu
dEluU2hhZG93VHJlZVN0YWNrKCdzaGFkb3dIb3N0QS9zaGFkb3dIb3N0Qi8nKS5hY3RpdmVFbGVt
ZW50IiwgIm51bGwiKTsKK3Nob3VsZEJlKCJnZXRFbGVtZW50SW5TaGFkb3dUcmVlU3RhY2soJ3No
YWRvd0hvc3RDLycpLmFjdGl2ZUVsZW1lbnQiLCAibnVsbCIpOworCisvLyBjaGlsZEluVHJlZVR3
byBmb3Vjc2VkIC0gc2hhZG93SG9zdEEgYmx1cnJlZAorZXZhbEFuZExvZygiZ2V0RWxlbWVudElu
U2hhZG93VHJlZVN0YWNrKCdzaGFkb3dIb3N0QS9zaGFkb3dIb3N0Qi9jaGlsZEluVHJlZVR3bycp
LmZvY3VzKCkiKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jdW1lbnQuYWN0aXZlRWxlbWVu
dC5pZCIsICJzaGFkb3dIb3N0QSIpOworZXZhbEFuZExvZygiZ2V0RWxlbWVudEluU2hhZG93VHJl
ZVN0YWNrKCdzaGFkb3dIb3N0QScpLmJsdXIoKTsiKTsKK3Nob3VsZEJlKCJkb2N1bWVudC5hY3Rp
dmVFbGVtZW50IiwgImRvY3VtZW50LmJvZHkiKTsKK3Nob3VsZEJlKCJnZXRFbGVtZW50SW5TaGFk
b3dUcmVlU3RhY2soJ3NoYWRvd0hvc3RBLycpLmFjdGl2ZUVsZW1lbnQiLCAibnVsbCIpOworc2hv
dWxkQmUoImdldEVsZW1lbnRJblNoYWRvd1RyZWVTdGFjaygnc2hhZG93SG9zdEEvc2hhZG93SG9z
dEIvJykuYWN0aXZlRWxlbWVudCIsICJudWxsIik7CitzaG91bGRCZSgiZ2V0RWxlbWVudEluU2hh
ZG93VHJlZVN0YWNrKCdzaGFkb3dIb3N0Qy8nKS5hY3RpdmVFbGVtZW50IiwgIm51bGwiKTsKKwor
Ly8gY2hpbGRJblRyZWVUaHJlZSBmb3Vjc2VkIC0gc2hhZG93SG9zdEEgYmx1cnJlZAorZXZhbEFu
ZExvZygiZ2V0RWxlbWVudEluU2hhZG93VHJlZVN0YWNrKCdzaGFkb3dIb3N0Qy9jaGlsZEluVHJl
ZVRocmVlJykuZm9jdXMoKSIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2N1bWVudC5hY3Rp
dmVFbGVtZW50LmlkIiwgInNoYWRvd0hvc3RDIik7CitldmFsQW5kTG9nKCJnZXRFbGVtZW50SW5T
aGFkb3dUcmVlU3RhY2soJ3NoYWRvd0hvc3RBJykuYmx1cigpOyIpOworc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJkb2N1bWVudC5hY3RpdmVFbGVtZW50LmlkIiwgInNoYWRvd0hvc3RDIik7CitzaG91
bGRCZSgiZ2V0RWxlbWVudEluU2hhZG93VHJlZVN0YWNrKCdzaGFkb3dIb3N0QS8nKS5hY3RpdmVF
bGVtZW50IiwgIm51bGwiKTsKK3Nob3VsZEJlKCJnZXRFbGVtZW50SW5TaGFkb3dUcmVlU3RhY2so
J3NoYWRvd0hvc3RBL3NoYWRvd0hvc3RCLycpLmFjdGl2ZUVsZW1lbnQiLCAibnVsbCIpOworc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJnZXRFbGVtZW50SW5TaGFkb3dUcmVlU3RhY2soJ3NoYWRvd0hv
c3RDLycpLmFjdGl2ZUVsZW1lbnQuaWQiLCAiY2hpbGRJblRyZWVUaHJlZSIpOworCit2YXIgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pz
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>132261</attachid>
            <date>2012-03-16 05:48:13 -0700</date>
            <delta_ts>2012-03-16 07:09:56 -0700</delta_ts>
            <desc>Updated Patch</desc>
            <filename>81102_7.patch</filename>
            <type>text/plain</type>
            <size>8521</size>
            <attacher name="Kaustubh Atrawalkar">kaustubh.ra</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDExMDk5MikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE1IEBACisyMDEyLTAzLTE2ICBLYXVzdHVi
aCBBdHJhd2Fsa2FyICA8a2F1c3R1YmhAbW90b3JvbGEuY29tPgorCisgICAgICAgIGJsdXIoKSBv
biBzaGFkb3cgaG9zdCBzaG91bGQgd29yayB3aGVuIGEgc2hhZG93IGhvc3QgY29udGFpbnMgYSBm
b2N1c2VkIGVsZW1lbnQgaW4gaXRzIHNoYWRvdyBET00gc3VidHJlZXMKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgxMTAyCisgCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRlc3Q6IGZhc3QvZG9tL3NoYWRvdy9z
aGFkb3ctcm9vdC1ibHVyLmh0bWwKKworICAgICAgICAqIGRvbS9FbGVtZW50LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkVsZW1lbnQ6OmJsdXIpOgorCiAyMDEyLTAzLTE2ICBLZW50YXJvIEhhcmEg
IDxoYXJha2VuQGNocm9taXVtLm9yZz4KIAogICAgICAgICBbUGVyZm9ybWFuY2VdIE9wdGltaXpl
IGlubmVySFRNTCBhbmQgb3V0ZXJIVE1MCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVu
dC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCShyZXZp
c2lvbiAxMTA5ODQpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTE1OTIsNyArMTU5Miw3IEBAIHZvaWQgRWxlbWVudDo6Ymx1cigpCiB7CiAgICAg
Y2FuY2VsRm9jdXNBcHBlYXJhbmNlVXBkYXRlKCk7CiAgICAgRG9jdW1lbnQqIGRvYyA9IGRvY3Vt
ZW50KCk7Ci0gICAgaWYgKGRvYy0+Zm9jdXNlZE5vZGUoKSA9PSB0aGlzKSB7CisgICAgaWYgKHRy
ZWVTY29wZSgpLT5hY3RpdmVFbGVtZW50KCkgPT0gdGhpcykgewogICAgICAgICBpZiAoZG9jLT5m
cmFtZSgpKQogICAgICAgICAgICAgZG9jLT5mcmFtZSgpLT5wYWdlKCktPmZvY3VzQ29udHJvbGxl
cigpLT5zZXRGb2N1c2VkTm9kZSgwLCBkb2MtPmZyYW1lKCkpOwogICAgICAgICBlbHNlCkluZGV4
OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCShyZXZpc2lvbiAxMTA5OTIpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcg
Y29weSkKQEAgLTEsMyArMSwxMyBAQAorMjAxMi0wMy0xNiAgS2F1c3R1YmggQXRyYXdhbGthciAg
PGthdXN0dWJoQG1vdG9yb2xhLmNvbT4KKworICAgICAgICBibHVyKCkgb24gc2hhZG93IGhvc3Qg
c2hvdWxkIHdvcmsgd2hlbiBhIHNoYWRvdyBob3N0IGNvbnRhaW5zIGEgZm9jdXNlZCBlbGVtZW50
IGluIGl0cyBzaGFkb3cgRE9NIHN1YnRyZWVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD04MTEwMgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgICogZmFzdC9kb20vc2hhZG93L3NoYWRvdy1yb290LWJsdXItZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvc2hhZG93LXJvb3Qt
Ymx1ci5odG1sOiBBZGRlZC4KKwogMjAxMi0wMy0xNiAgS2lob25nIEt3b24gIDxraWhvbmcua3dv
bkBzYW1zdW5nLmNvbT4KIAogICAgICAgICBTdXBwb3J0IGZvciBCYXR0ZXJ5IFN0YXR1cyBBUEku
CkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LXJvb3QtYmx1ci1leHBl
Y3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRv
dy1yb290LWJsdXItZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFz
dC9kb20vc2hhZG93L3NoYWRvdy1yb290LWJsdXItZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQpA
QCAtMCwwICsxLDQzIEBACitUaGlzIHRlc3RzIHRoZSBibHVyKCkgb24gb24gc2hhZG93IGhvc3Qg
c2hvdWxkIHdvcmsgd2hlbiBhIHNoYWRvdyBob3N0IGNvbnRhaW5zIGEgZm9jdXNlZCBlbGVtZW50
IGluIGl0cyBzaGFkb3cgRE9NIHN1YnRyZWVzIHByb3BlcnR5IChidWcgODExMDIpCisKK09uIHN1
Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2Vk
IGJ5ICJURVNUIENPTVBMRVRFIi4KKworCisKK2dldEVsZW1lbnRJblNoYWRvd1RyZWVTdGFjaygn
c2hhZG93SG9zdEEvY2hpbGRJblRyZWVPbmUnKS5mb2N1cygpCitQQVNTIGRvY3VtZW50LmFjdGl2
ZUVsZW1lbnQuaWQgaXMgInNoYWRvd0hvc3RBIgorZ2V0RWxlbWVudEluU2hhZG93VHJlZVN0YWNr
KCdzaGFkb3dIb3N0QScpLmJsdXIoKTsKK3NoYWRvd0hvc3RBIG9uYmx1ciBjYWxsZWQhCitQQVNT
IGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgaXMgZG9jdW1lbnQuYm9keQorUEFTUyBnZXRFbGVtZW50
SW5TaGFkb3dUcmVlU3RhY2soJ3NoYWRvd0hvc3RBLycpLmFjdGl2ZUVsZW1lbnQgaXMgbnVsbAor
UEFTUyBnZXRFbGVtZW50SW5TaGFkb3dUcmVlU3RhY2soJ3NoYWRvd0hvc3RBL3NoYWRvd0hvc3RC
LycpLmFjdGl2ZUVsZW1lbnQgaXMgbnVsbAorUEFTUyBnZXRFbGVtZW50SW5TaGFkb3dUcmVlU3Rh
Y2soJ3NoYWRvd0hvc3RDLycpLmFjdGl2ZUVsZW1lbnQgaXMgbnVsbAorZ2V0RWxlbWVudEluU2hh
ZG93VHJlZVN0YWNrKCdzaGFkb3dIb3N0QS9zaGFkb3dIb3N0Qi9jaGlsZEluVHJlZVR3bycpLmZv
Y3VzKCkKK1BBU1MgZG9jdW1lbnQuYWN0aXZlRWxlbWVudC5pZCBpcyAic2hhZG93SG9zdEEiCitn
ZXRFbGVtZW50SW5TaGFkb3dUcmVlU3RhY2soJ3NoYWRvd0hvc3RBL3NoYWRvd0hvc3RCJykuYmx1
cigpOworc2hhZG93SG9zdEEgb25ibHVyIGNhbGxlZCEKK3NoYWRvd0hvc3RCIG9uYmx1ciBjYWxs
ZWQhCitQQVNTIGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgaXMgZG9jdW1lbnQuYm9keQorUEFTUyBn
ZXRFbGVtZW50SW5TaGFkb3dUcmVlU3RhY2soJ3NoYWRvd0hvc3RBLycpLmFjdGl2ZUVsZW1lbnQg
aXMgbnVsbAorUEFTUyBnZXRFbGVtZW50SW5TaGFkb3dUcmVlU3RhY2soJ3NoYWRvd0hvc3RBL3No
YWRvd0hvc3RCLycpLmFjdGl2ZUVsZW1lbnQgaXMgbnVsbAorUEFTUyBnZXRFbGVtZW50SW5TaGFk
b3dUcmVlU3RhY2soJ3NoYWRvd0hvc3RDLycpLmFjdGl2ZUVsZW1lbnQgaXMgbnVsbAorZ2V0RWxl
bWVudEluU2hhZG93VHJlZVN0YWNrKCdzaGFkb3dIb3N0QS9zaGFkb3dIb3N0Qi9jaGlsZEluVHJl
ZVR3bycpLmZvY3VzKCkKK1BBU1MgZG9jdW1lbnQuYWN0aXZlRWxlbWVudC5pZCBpcyAic2hhZG93
SG9zdEEiCitnZXRFbGVtZW50SW5TaGFkb3dUcmVlU3RhY2soJ3NoYWRvd0hvc3RBJykuYmx1cigp
Oworc2hhZG93SG9zdEEgb25ibHVyIGNhbGxlZCEKK3NoYWRvd0hvc3RCIG9uYmx1ciBjYWxsZWQh
CitQQVNTIGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgaXMgZG9jdW1lbnQuYm9keQorUEFTUyBnZXRF
bGVtZW50SW5TaGFkb3dUcmVlU3RhY2soJ3NoYWRvd0hvc3RBLycpLmFjdGl2ZUVsZW1lbnQgaXMg
bnVsbAorUEFTUyBnZXRFbGVtZW50SW5TaGFkb3dUcmVlU3RhY2soJ3NoYWRvd0hvc3RBL3NoYWRv
d0hvc3RCLycpLmFjdGl2ZUVsZW1lbnQgaXMgbnVsbAorUEFTUyBnZXRFbGVtZW50SW5TaGFkb3dU
cmVlU3RhY2soJ3NoYWRvd0hvc3RDLycpLmFjdGl2ZUVsZW1lbnQgaXMgbnVsbAorZ2V0RWxlbWVu
dEluU2hhZG93VHJlZVN0YWNrKCdzaGFkb3dIb3N0Qy9jaGlsZEluVHJlZVRocmVlJykuZm9jdXMo
KQorUEFTUyBkb2N1bWVudC5hY3RpdmVFbGVtZW50LmlkIGlzICJzaGFkb3dIb3N0QyIKK2dldEVs
ZW1lbnRJblNoYWRvd1RyZWVTdGFjaygnc2hhZG93SG9zdEEnKS5ibHVyKCk7CitQQVNTIGRvY3Vt
ZW50LmFjdGl2ZUVsZW1lbnQuaWQgaXMgInNoYWRvd0hvc3RDIgorUEFTUyBnZXRFbGVtZW50SW5T
aGFkb3dUcmVlU3RhY2soJ3NoYWRvd0hvc3RBLycpLmFjdGl2ZUVsZW1lbnQgaXMgbnVsbAorUEFT
UyBnZXRFbGVtZW50SW5TaGFkb3dUcmVlU3RhY2soJ3NoYWRvd0hvc3RBL3NoYWRvd0hvc3RCLycp
LmFjdGl2ZUVsZW1lbnQgaXMgbnVsbAorUEFTUyBnZXRFbGVtZW50SW5TaGFkb3dUcmVlU3RhY2so
J3NoYWRvd0hvc3RDLycpLmFjdGl2ZUVsZW1lbnQuaWQgaXMgImNoaWxkSW5UcmVlVGhyZWUiCitQ
QVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpJbmRleDog
TGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy1yb290LWJsdXIuaHRtbAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LXJvb3QtYmx1ci5odG1s
CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy1yb290
LWJsdXIuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw3NiBAQAorPCFET0NUWVBFIGh0bWw+
Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0
LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3NoYWRvdy1kb20uanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IGlkPSJjb25zb2xlIj4KKzwvZGl2Pgor
PHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCJUaGlzIHRlc3RzIHRoZSBibHVyKCkgb24gb24gc2hhZG93
IGhvc3Qgc2hvdWxkIHdvcmsgd2hlbiBhIHNoYWRvdyBob3N0IGNvbnRhaW5zIGEgZm9jdXNlZCBl
bGVtZW50IGluIGl0cyBzaGFkb3cgRE9NIHN1YnRyZWVzIHByb3BlcnR5IChidWcgODExMDIpIik7
CisKK2lmICghd2luZG93LmludGVybmFscykKKyAgICBkZWJ1ZygnVGhpcyB0ZXN0IHJ1bnMgb24g
RFJUIG9ubHknKTsKKworaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICBsYXlv
dXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQoCisgICAgY3JlYXRlRE9NKCdkaXYnLCB7J2lkJzonc2hhZG93SG9zdEEnfSwKKyAgICAgICAg
Y3JlYXRlU2hhZG93Um9vdCgKKyAgICAgICAgICAgIGNyZWF0ZURPTSgncCcsIHsnaWQnOidjaGls
ZEluVHJlZU9uZScsICd0YWJpbmRleCc6JzEnfSksCisgICAgICAgICAgICBjcmVhdGVET00oJ2Rp
dicsIHsnaWQnOidzaGFkb3dIb3N0Qid9LAorICAgICAgICAgICAgICAgIGNyZWF0ZVNoYWRvd1Jv
b3QoCisgICAgICAgICAgICAgICAgICAgIGNyZWF0ZURPTSgncCcsIHsnaWQnOidjaGlsZEluVHJl
ZVR3bycsICd0YWJpbmRleCc6JzInfSkpKSkpKTsKKworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGls
ZCgKKyAgICBjcmVhdGVET00oJ2RpdicsIHsnaWQnOidzaGFkb3dIb3N0Qyd9LAorICAgICAgICBj
cmVhdGVTaGFkb3dSb290KAorICAgICAgICAgICAgY3JlYXRlRE9NKCdwJywgeydpZCc6J2NoaWxk
SW5UcmVlVGhyZWUnLCAndGFiaW5kZXgnOiczJ30pKSkKKyk7CisKK2dldEVsZW1lbnRJblNoYWRv
d1RyZWVTdGFjaygnc2hhZG93SG9zdEEnKS5vbmJsdXIgPSBmdW5jdGlvbigpIHsgZGVidWcoInNo
YWRvd0hvc3RBIG9uYmx1ciBjYWxsZWQhIik7IH0gCitnZXRFbGVtZW50SW5TaGFkb3dUcmVlU3Rh
Y2soJ3NoYWRvd0hvc3RBL3NoYWRvd0hvc3RCJykub25ibHVyID0gZnVuY3Rpb24oKSB7IGRlYnVn
KCJzaGFkb3dIb3N0QiBvbmJsdXIgY2FsbGVkISIpOyB9IAorCisvLyBjaGlsZEluVHJlZU9uZSBm
b3Vjc2VkIC0gc2hhZG93SG9zdEEgYmx1cnJlZAorZXZhbEFuZExvZygiZ2V0RWxlbWVudEluU2hh
ZG93VHJlZVN0YWNrKCdzaGFkb3dIb3N0QS9jaGlsZEluVHJlZU9uZScpLmZvY3VzKCkiKTsKK3No
b3VsZEJlRXF1YWxUb1N0cmluZygiZG9jdW1lbnQuYWN0aXZlRWxlbWVudC5pZCIsICJzaGFkb3dI
b3N0QSIpOworZXZhbEFuZExvZygiZ2V0RWxlbWVudEluU2hhZG93VHJlZVN0YWNrKCdzaGFkb3dI
b3N0QScpLmJsdXIoKTsiKTsKK3Nob3VsZEJlKCJkb2N1bWVudC5hY3RpdmVFbGVtZW50IiwgImRv
Y3VtZW50LmJvZHkiKTsKK3Nob3VsZEJlKCJnZXRFbGVtZW50SW5TaGFkb3dUcmVlU3RhY2soJ3No
YWRvd0hvc3RBLycpLmFjdGl2ZUVsZW1lbnQiLCAibnVsbCIpOworc2hvdWxkQmUoImdldEVsZW1l
bnRJblNoYWRvd1RyZWVTdGFjaygnc2hhZG93SG9zdEEvc2hhZG93SG9zdEIvJykuYWN0aXZlRWxl
bWVudCIsICJudWxsIik7CitzaG91bGRCZSgiZ2V0RWxlbWVudEluU2hhZG93VHJlZVN0YWNrKCdz
aGFkb3dIb3N0Qy8nKS5hY3RpdmVFbGVtZW50IiwgIm51bGwiKTsKKworLy8gY2hpbGRJblRyZWVU
d28gZm91Y3NlZCAtIHNoYWRvd0hvc3RCIGJsdXJyZWQKK2V2YWxBbmRMb2coImdldEVsZW1lbnRJ
blNoYWRvd1RyZWVTdGFjaygnc2hhZG93SG9zdEEvc2hhZG93SG9zdEIvY2hpbGRJblRyZWVUd28n
KS5mb2N1cygpIik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvY3VtZW50LmFjdGl2ZUVsZW1l
bnQuaWQiLCAic2hhZG93SG9zdEEiKTsKK2V2YWxBbmRMb2coImdldEVsZW1lbnRJblNoYWRvd1Ry
ZWVTdGFjaygnc2hhZG93SG9zdEEvc2hhZG93SG9zdEInKS5ibHVyKCk7Iik7CitzaG91bGRCZSgi
ZG9jdW1lbnQuYWN0aXZlRWxlbWVudCIsICJkb2N1bWVudC5ib2R5Iik7CitzaG91bGRCZSgiZ2V0
RWxlbWVudEluU2hhZG93VHJlZVN0YWNrKCdzaGFkb3dIb3N0QS8nKS5hY3RpdmVFbGVtZW50Iiwg
Im51bGwiKTsKK3Nob3VsZEJlKCJnZXRFbGVtZW50SW5TaGFkb3dUcmVlU3RhY2soJ3NoYWRvd0hv
c3RBL3NoYWRvd0hvc3RCLycpLmFjdGl2ZUVsZW1lbnQiLCAibnVsbCIpOworc2hvdWxkQmUoImdl
dEVsZW1lbnRJblNoYWRvd1RyZWVTdGFjaygnc2hhZG93SG9zdEMvJykuYWN0aXZlRWxlbWVudCIs
ICJudWxsIik7CisKKy8vIGNoaWxkSW5UcmVlVHdvIGZvdWNzZWQgLSBzaGFkb3dIb3N0QSBibHVy
cmVkCitldmFsQW5kTG9nKCJnZXRFbGVtZW50SW5TaGFkb3dUcmVlU3RhY2soJ3NoYWRvd0hvc3RB
L3NoYWRvd0hvc3RCL2NoaWxkSW5UcmVlVHdvJykuZm9jdXMoKSIpOworc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJkb2N1bWVudC5hY3RpdmVFbGVtZW50LmlkIiwgInNoYWRvd0hvc3RBIik7CitldmFs
QW5kTG9nKCJnZXRFbGVtZW50SW5TaGFkb3dUcmVlU3RhY2soJ3NoYWRvd0hvc3RBJykuYmx1cigp
OyIpOworc2hvdWxkQmUoImRvY3VtZW50LmFjdGl2ZUVsZW1lbnQiLCAiZG9jdW1lbnQuYm9keSIp
Oworc2hvdWxkQmUoImdldEVsZW1lbnRJblNoYWRvd1RyZWVTdGFjaygnc2hhZG93SG9zdEEvJyku
YWN0aXZlRWxlbWVudCIsICJudWxsIik7CitzaG91bGRCZSgiZ2V0RWxlbWVudEluU2hhZG93VHJl
ZVN0YWNrKCdzaGFkb3dIb3N0QS9zaGFkb3dIb3N0Qi8nKS5hY3RpdmVFbGVtZW50IiwgIm51bGwi
KTsKK3Nob3VsZEJlKCJnZXRFbGVtZW50SW5TaGFkb3dUcmVlU3RhY2soJ3NoYWRvd0hvc3RDLycp
LmFjdGl2ZUVsZW1lbnQiLCAibnVsbCIpOworCisvLyBjaGlsZEluVHJlZVRocmVlIGZvdWNzZWQg
LSBzaGFkb3dIb3N0QSBibHVycmVkCitldmFsQW5kTG9nKCJnZXRFbGVtZW50SW5TaGFkb3dUcmVl
U3RhY2soJ3NoYWRvd0hvc3RDL2NoaWxkSW5UcmVlVGhyZWUnKS5mb2N1cygpIik7CitzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoImRvY3VtZW50LmFjdGl2ZUVsZW1lbnQuaWQiLCAic2hhZG93SG9zdEMi
KTsKK2V2YWxBbmRMb2coImdldEVsZW1lbnRJblNoYWRvd1RyZWVTdGFjaygnc2hhZG93SG9zdEEn
KS5ibHVyKCk7Iik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvY3VtZW50LmFjdGl2ZUVsZW1l
bnQuaWQiLCAic2hhZG93SG9zdEMiKTsKK3Nob3VsZEJlKCJnZXRFbGVtZW50SW5TaGFkb3dUcmVl
U3RhY2soJ3NoYWRvd0hvc3RBLycpLmFjdGl2ZUVsZW1lbnQiLCAibnVsbCIpOworc2hvdWxkQmUo
ImdldEVsZW1lbnRJblNoYWRvd1RyZWVTdGFjaygnc2hhZG93SG9zdEEvc2hhZG93SG9zdEIvJyku
YWN0aXZlRWxlbWVudCIsICJudWxsIik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoImdldEVsZW1l
bnRJblNoYWRvd1RyZWVTdGFjaygnc2hhZG93SG9zdEMvJykuYWN0aXZlRWxlbWVudC5pZCIsICJj
aGlsZEluVHJlZVRocmVlIik7CisKK3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworPC9z
Y3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+
PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>132277</attachid>
            <date>2012-03-16 07:09:56 -0700</date>
            <delta_ts>2012-03-19 00:22:46 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>81102_8.patch</filename>
            <type>text/plain</type>
            <size>10434</size>
            <attacher name="Kaustubh Atrawalkar">kaustubh.ra</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDExMTAwNCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIxIEBACisyMDEyLTAzLTE2ICBLYXVzdHVi
aCBBdHJhd2Fsa2FyICA8a2F1c3R1YmhAbW90b3JvbGEuY29tPgorCisgICAgICAgIGJsdXIoKSBv
biBzaGFkb3cgaG9zdCBzaG91bGQgd29yayB3aGVuIGEgc2hhZG93IGhvc3QgY29udGFpbnMgYSBm
b2N1c2VkIGVsZW1lbnQgaW4gaXRzIHNoYWRvdyBET00gc3VidHJlZXMKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgxMTAyCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVzdDogZmFzdC9kb20vc2hhZG93L3No
YWRvdy1yb290LWJsdXIuaHRtbAorCisgICAgICAgICogZG9tL0VsZW1lbnQuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6RWxlbWVudDo6Ymx1cik6CisgICAgICAgICogZG9tL1RyZWVTY29wZS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpUcmVlU2NvcGU6OmZvY3VzZWROb2RlSW5UcmVlKToKKyAgICAg
ICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6VHJlZVNjb3BlOjphY3RpdmVFbGVtZW50
KToKKyAgICAgICAgKiBkb20vVHJlZVNjb3BlLmg6CisgICAgICAgIChUcmVlU2NvcGUpOgorCiAy
MDEyLTAzLTE2ICBLZW50YXJvIEhhcmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4KIAogICAgICAg
ICBUaGUgSURMIHBhcnNlciBzaG91bGQgc3VwcG9ydCBzZXF1ZW5jZTxUPiB0eXBlCkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvZG9tL0VsZW1lbnQuY3BwCShyZXZpc2lvbiAxMTA5ODQpCisrKyBTb3VyY2UvV2ViQ29yZS9k
b20vRWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE1OTIsNyArMTU5Miw3IEBAIHZvaWQg
RWxlbWVudDo6Ymx1cigpCiB7CiAgICAgY2FuY2VsRm9jdXNBcHBlYXJhbmNlVXBkYXRlKCk7CiAg
ICAgRG9jdW1lbnQqIGRvYyA9IGRvY3VtZW50KCk7Ci0gICAgaWYgKGRvYy0+Zm9jdXNlZE5vZGUo
KSA9PSB0aGlzKSB7CisgICAgaWYgKHRyZWVTY29wZSgpLT5mb2N1c2VkTm9kZUluVHJlZSgpID09
IHRoaXMpIHsKICAgICAgICAgaWYgKGRvYy0+ZnJhbWUoKSkKICAgICAgICAgICAgIGRvYy0+ZnJh
bWUoKS0+cGFnZSgpLT5mb2N1c0NvbnRyb2xsZXIoKS0+c2V0Rm9jdXNlZE5vZGUoMCwgZG9jLT5m
cmFtZSgpKTsKICAgICAgICAgZWxzZQpJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL1RyZWVTY29w
ZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL1RyZWVTY29wZS5jcHAJKHJl
dmlzaW9uIDExMDk4NCkKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9UcmVlU2NvcGUuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xNjQsMTQgKzE2NCwxNCBAQCBzdGF0aWMgTm9kZSogZm9jdXNlZEZyYW1l
T3duZXJFbGVtZW50KEZyCiAgICAgcmV0dXJuIDA7CiB9CiAKLUVsZW1lbnQqIFRyZWVTY29wZTo6
YWN0aXZlRWxlbWVudCgpCitOb2RlKiBUcmVlU2NvcGU6OmZvY3VzZWROb2RlSW5UcmVlKCkKIHsK
ICAgICBEb2N1bWVudCogZG9jdW1lbnQgPSByb290Tm9kZSgpLT5kb2N1bWVudCgpOwogICAgIE5v
ZGUqIG5vZGUgPSBkb2N1bWVudC0+Zm9jdXNlZE5vZGUoKTsKICAgICBpZiAoIW5vZGUgJiYgZG9j
dW1lbnQtPnBhZ2UoKSkKICAgICAgICAgbm9kZSA9IGZvY3VzZWRGcmFtZU93bmVyRWxlbWVudChk
b2N1bWVudC0+cGFnZSgpLT5mb2N1c0NvbnRyb2xsZXIoKS0+Zm9jdXNlZEZyYW1lKCksIGRvY3Vt
ZW50LT5mcmFtZSgpKTsKICAgICBpZiAoIW5vZGUpCi0gICAgICAgIHJldHVybiB0aGlzID09IGRv
Y3VtZW50ID8gZG9jdW1lbnQtPmJvZHkoKSA6IDA7CisgICAgICAgIHJldHVybiAwOwogCiAgICAg
VHJlZVNjb3BlKiB0cmVlU2NvcGUgPSBub2RlLT50cmVlU2NvcGUoKTsKIApAQCAtMTgxLDYgKzE4
MSwxNyBAQCBFbGVtZW50KiBUcmVlU2NvcGU6OmFjdGl2ZUVsZW1lbnQoKQogICAgIH0KICAgICBp
ZiAodGhpcyAhPSB0cmVlU2NvcGUpCiAgICAgICAgIHJldHVybiAwOworCisgICAgcmV0dXJuIG5v
ZGU7Cit9CisKK0VsZW1lbnQqIFRyZWVTY29wZTo6YWN0aXZlRWxlbWVudCgpCit7CisgICAgRG9j
dW1lbnQqIGRvY3VtZW50ID0gcm9vdE5vZGUoKS0+ZG9jdW1lbnQoKTsKKyAgICBOb2RlKiBub2Rl
ID0gZm9jdXNlZE5vZGVJblRyZWUoKTsKKyAgICBpZiAoIW5vZGUpCisgICAgICAgIHJldHVybiB0
aGlzID09IGRvY3VtZW50ID8gZG9jdW1lbnQtPmJvZHkoKSA6IDA7CisKICAgICBpZiAobm9kZS0+
aXNFbGVtZW50Tm9kZSgpKQogICAgICAgICByZXR1cm4gdG9FbGVtZW50KG5vZGUpOwogICAgIHJl
dHVybiAwOwpJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL1RyZWVTY29wZS5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9UcmVlU2NvcGUuaAkocmV2aXNpb24gMTEwOTg0KQorKysg
U291cmNlL1dlYkNvcmUvZG9tL1RyZWVTY29wZS5oCSh3b3JraW5nIGNvcHkpCkBAIC00Nyw2ICs0
Nyw3IEBAIHB1YmxpYzoKICAgICBUcmVlU2NvcGUqIHBhcmVudFRyZWVTY29wZSgpIGNvbnN0IHsg
cmV0dXJuIG1fcGFyZW50VHJlZVNjb3BlOyB9CiAgICAgdm9pZCBzZXRQYXJlbnRUcmVlU2NvcGUo
VHJlZVNjb3BlKik7CiAKKyAgICBOb2RlKiBmb2N1c2VkTm9kZUluVHJlZSgpOwogICAgIEVsZW1l
bnQqIGFjdGl2ZUVsZW1lbnQoKTsKICAgICBFbGVtZW50KiBnZXRFbGVtZW50QnlJZChjb25zdCBB
dG9taWNTdHJpbmcmKSBjb25zdDsKICAgICBib29sIGhhc0VsZW1lbnRXaXRoSWQoQXRvbWljU3Ry
aW5nSW1wbCogaWQpIGNvbnN0OwpJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gMTExMDA0KQorKysgTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTItMDMt
MTYgIEthdXN0dWJoIEF0cmF3YWxrYXIgIDxrYXVzdHViaEBtb3Rvcm9sYS5jb20+CisKKyAgICAg
ICAgYmx1cigpIG9uIHNoYWRvdyBob3N0IHNob3VsZCB3b3JrIHdoZW4gYSBzaGFkb3cgaG9zdCBj
b250YWlucyBhIGZvY3VzZWQgZWxlbWVudCBpbiBpdHMgc2hhZG93IERPTSBzdWJ0cmVlcworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODExMDIKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGZhc3QvZG9tL3No
YWRvdy9zaGFkb3ctcm9vdC1ibHVyLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFz
dC9kb20vc2hhZG93L3NoYWRvdy1yb290LWJsdXIuaHRtbDogQWRkZWQuCisKIDIwMTItMDMtMTYg
IFlvc2hpZnVtaSBJbm91ZSAgPHlvc2luQGNocm9taXVtLm9yZz4KIAogICAgICAgICBbRm9ybXNd
IGxhYmVsLmZvcm0gYXR0cmlidXRlIGRvZXNuJ3Qgd29yawpJbmRleDogTGF5b3V0VGVzdHMvZmFz
dC9kb20vc2hhZG93L3NoYWRvdy1yb290LWJsdXItZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctcm9vdC1ibHVyLWV4cGVjdGVkLnR4
dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctcm9v
dC1ibHVyLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw0MyBAQAorVGhpcyB0
ZXN0cyB0aGUgYmx1cigpIG9uIG9uIHNoYWRvdyBob3N0IHNob3VsZCB3b3JrIHdoZW4gYSBzaGFk
b3cgaG9zdCBjb250YWlucyBhIGZvY3VzZWQgZWxlbWVudCBpbiBpdHMgc2hhZG93IERPTSBzdWJ0
cmVlcyBwcm9wZXJ0eSAoYnVnIDgxMTAyKQorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBz
ZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisK
KworCitnZXRFbGVtZW50SW5TaGFkb3dUcmVlU3RhY2soJ3NoYWRvd0hvc3RBL2NoaWxkSW5UcmVl
T25lJykuZm9jdXMoKQorUEFTUyBkb2N1bWVudC5hY3RpdmVFbGVtZW50LmlkIGlzICJzaGFkb3dI
b3N0QSIKK2dldEVsZW1lbnRJblNoYWRvd1RyZWVTdGFjaygnc2hhZG93SG9zdEEnKS5ibHVyKCk7
CitzaGFkb3dIb3N0QSBvbmJsdXIgY2FsbGVkIQorUEFTUyBkb2N1bWVudC5hY3RpdmVFbGVtZW50
IGlzIGRvY3VtZW50LmJvZHkKK1BBU1MgZ2V0RWxlbWVudEluU2hhZG93VHJlZVN0YWNrKCdzaGFk
b3dIb3N0QS8nKS5hY3RpdmVFbGVtZW50IGlzIG51bGwKK1BBU1MgZ2V0RWxlbWVudEluU2hhZG93
VHJlZVN0YWNrKCdzaGFkb3dIb3N0QS9zaGFkb3dIb3N0Qi8nKS5hY3RpdmVFbGVtZW50IGlzIG51
bGwKK1BBU1MgZ2V0RWxlbWVudEluU2hhZG93VHJlZVN0YWNrKCdzaGFkb3dIb3N0Qy8nKS5hY3Rp
dmVFbGVtZW50IGlzIG51bGwKK2dldEVsZW1lbnRJblNoYWRvd1RyZWVTdGFjaygnc2hhZG93SG9z
dEEvc2hhZG93SG9zdEIvY2hpbGRJblRyZWVUd28nKS5mb2N1cygpCitQQVNTIGRvY3VtZW50LmFj
dGl2ZUVsZW1lbnQuaWQgaXMgInNoYWRvd0hvc3RBIgorZ2V0RWxlbWVudEluU2hhZG93VHJlZVN0
YWNrKCdzaGFkb3dIb3N0QS9zaGFkb3dIb3N0QicpLmJsdXIoKTsKK3NoYWRvd0hvc3RBIG9uYmx1
ciBjYWxsZWQhCitzaGFkb3dIb3N0QiBvbmJsdXIgY2FsbGVkIQorUEFTUyBkb2N1bWVudC5hY3Rp
dmVFbGVtZW50IGlzIGRvY3VtZW50LmJvZHkKK1BBU1MgZ2V0RWxlbWVudEluU2hhZG93VHJlZVN0
YWNrKCdzaGFkb3dIb3N0QS8nKS5hY3RpdmVFbGVtZW50IGlzIG51bGwKK1BBU1MgZ2V0RWxlbWVu
dEluU2hhZG93VHJlZVN0YWNrKCdzaGFkb3dIb3N0QS9zaGFkb3dIb3N0Qi8nKS5hY3RpdmVFbGVt
ZW50IGlzIG51bGwKK1BBU1MgZ2V0RWxlbWVudEluU2hhZG93VHJlZVN0YWNrKCdzaGFkb3dIb3N0
Qy8nKS5hY3RpdmVFbGVtZW50IGlzIG51bGwKK2dldEVsZW1lbnRJblNoYWRvd1RyZWVTdGFjaygn
c2hhZG93SG9zdEEvc2hhZG93SG9zdEIvY2hpbGRJblRyZWVUd28nKS5mb2N1cygpCitQQVNTIGRv
Y3VtZW50LmFjdGl2ZUVsZW1lbnQuaWQgaXMgInNoYWRvd0hvc3RBIgorZ2V0RWxlbWVudEluU2hh
ZG93VHJlZVN0YWNrKCdzaGFkb3dIb3N0QScpLmJsdXIoKTsKK3NoYWRvd0hvc3RBIG9uYmx1ciBj
YWxsZWQhCitzaGFkb3dIb3N0QiBvbmJsdXIgY2FsbGVkIQorUEFTUyBkb2N1bWVudC5hY3RpdmVF
bGVtZW50IGlzIGRvY3VtZW50LmJvZHkKK1BBU1MgZ2V0RWxlbWVudEluU2hhZG93VHJlZVN0YWNr
KCdzaGFkb3dIb3N0QS8nKS5hY3RpdmVFbGVtZW50IGlzIG51bGwKK1BBU1MgZ2V0RWxlbWVudElu
U2hhZG93VHJlZVN0YWNrKCdzaGFkb3dIb3N0QS9zaGFkb3dIb3N0Qi8nKS5hY3RpdmVFbGVtZW50
IGlzIG51bGwKK1BBU1MgZ2V0RWxlbWVudEluU2hhZG93VHJlZVN0YWNrKCdzaGFkb3dIb3N0Qy8n
KS5hY3RpdmVFbGVtZW50IGlzIG51bGwKK2dldEVsZW1lbnRJblNoYWRvd1RyZWVTdGFjaygnc2hh
ZG93SG9zdEMvY2hpbGRJblRyZWVUaHJlZScpLmZvY3VzKCkKK1BBU1MgZG9jdW1lbnQuYWN0aXZl
RWxlbWVudC5pZCBpcyAic2hhZG93SG9zdEMiCitnZXRFbGVtZW50SW5TaGFkb3dUcmVlU3RhY2so
J3NoYWRvd0hvc3RBJykuYmx1cigpOworUEFTUyBkb2N1bWVudC5hY3RpdmVFbGVtZW50LmlkIGlz
ICJzaGFkb3dIb3N0QyIKK1BBU1MgZ2V0RWxlbWVudEluU2hhZG93VHJlZVN0YWNrKCdzaGFkb3dI
b3N0QS8nKS5hY3RpdmVFbGVtZW50IGlzIG51bGwKK1BBU1MgZ2V0RWxlbWVudEluU2hhZG93VHJl
ZVN0YWNrKCdzaGFkb3dIb3N0QS9zaGFkb3dIb3N0Qi8nKS5hY3RpdmVFbGVtZW50IGlzIG51bGwK
K1BBU1MgZ2V0RWxlbWVudEluU2hhZG93VHJlZVN0YWNrKCdzaGFkb3dIb3N0Qy8nKS5hY3RpdmVF
bGVtZW50LmlkIGlzICJjaGlsZEluVHJlZVRocmVlIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZG9tL3No
YWRvdy9zaGFkb3ctcm9vdC1ibHVyLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFz
dC9kb20vc2hhZG93L3NoYWRvdy1yb290LWJsdXIuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91
dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctcm9vdC1ibHVyLmh0bWwJKHJldmlzaW9uIDAp
CkBAIC0wLDAgKzEsNzYgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNj
cmlwdCBzcmM9InJlc291cmNlcy9zaGFkb3ctZG9tLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorPGRpdiBpZD0iY29uc29sZSI+Cis8L2Rpdj4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbigi
VGhpcyB0ZXN0cyB0aGUgYmx1cigpIG9uIG9uIHNoYWRvdyBob3N0IHNob3VsZCB3b3JrIHdoZW4g
YSBzaGFkb3cgaG9zdCBjb250YWlucyBhIGZvY3VzZWQgZWxlbWVudCBpbiBpdHMgc2hhZG93IERP
TSBzdWJ0cmVlcyBwcm9wZXJ0eSAoYnVnIDgxMTAyKSIpOworCitpZiAoIXdpbmRvdy5pbnRlcm5h
bHMpCisgICAgZGVidWcoJ1RoaXMgdGVzdCBydW5zIG9uIERSVCBvbmx5Jyk7CisKK2lmICh3aW5k
b3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFz
VGV4dCgpOworCitkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKAorICAgIGNyZWF0ZURPTSgnZGl2
JywgeydpZCc6J3NoYWRvd0hvc3RBJ30sCisgICAgICAgIGNyZWF0ZVNoYWRvd1Jvb3QoCisgICAg
ICAgICAgICBjcmVhdGVET00oJ3AnLCB7J2lkJzonY2hpbGRJblRyZWVPbmUnLCAndGFiaW5kZXgn
OicxJ30pLAorICAgICAgICAgICAgY3JlYXRlRE9NKCdkaXYnLCB7J2lkJzonc2hhZG93SG9zdEIn
fSwKKyAgICAgICAgICAgICAgICBjcmVhdGVTaGFkb3dSb290KAorICAgICAgICAgICAgICAgICAg
ICBjcmVhdGVET00oJ3AnLCB7J2lkJzonY2hpbGRJblRyZWVUd28nLCAndGFiaW5kZXgnOicyJ30p
KSkpKSk7CisKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoCisgICAgY3JlYXRlRE9NKCdkaXYn
LCB7J2lkJzonc2hhZG93SG9zdEMnfSwKKyAgICAgICAgY3JlYXRlU2hhZG93Um9vdCgKKyAgICAg
ICAgICAgIGNyZWF0ZURPTSgncCcsIHsnaWQnOidjaGlsZEluVHJlZVRocmVlJywgJ3RhYmluZGV4
JzonMyd9KSkpCispOworCitnZXRFbGVtZW50SW5TaGFkb3dUcmVlU3RhY2soJ3NoYWRvd0hvc3RB
Jykub25ibHVyID0gZnVuY3Rpb24oKSB7IGRlYnVnKCJzaGFkb3dIb3N0QSBvbmJsdXIgY2FsbGVk
ISIpOyB9CitnZXRFbGVtZW50SW5TaGFkb3dUcmVlU3RhY2soJ3NoYWRvd0hvc3RBL3NoYWRvd0hv
c3RCJykub25ibHVyID0gZnVuY3Rpb24oKSB7IGRlYnVnKCJzaGFkb3dIb3N0QiBvbmJsdXIgY2Fs
bGVkISIpOyB9CisKKy8vIGNoaWxkSW5UcmVlT25lIGZvdWNzZWQgLSBzaGFkb3dIb3N0QSBibHVy
cmVkCitldmFsQW5kTG9nKCJnZXRFbGVtZW50SW5TaGFkb3dUcmVlU3RhY2soJ3NoYWRvd0hvc3RB
L2NoaWxkSW5UcmVlT25lJykuZm9jdXMoKSIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2N1
bWVudC5hY3RpdmVFbGVtZW50LmlkIiwgInNoYWRvd0hvc3RBIik7CitldmFsQW5kTG9nKCJnZXRF
bGVtZW50SW5TaGFkb3dUcmVlU3RhY2soJ3NoYWRvd0hvc3RBJykuYmx1cigpOyIpOworc2hvdWxk
QmUoImRvY3VtZW50LmFjdGl2ZUVsZW1lbnQiLCAiZG9jdW1lbnQuYm9keSIpOworc2hvdWxkQmUo
ImdldEVsZW1lbnRJblNoYWRvd1RyZWVTdGFjaygnc2hhZG93SG9zdEEvJykuYWN0aXZlRWxlbWVu
dCIsICJudWxsIik7CitzaG91bGRCZSgiZ2V0RWxlbWVudEluU2hhZG93VHJlZVN0YWNrKCdzaGFk
b3dIb3N0QS9zaGFkb3dIb3N0Qi8nKS5hY3RpdmVFbGVtZW50IiwgIm51bGwiKTsKK3Nob3VsZEJl
KCJnZXRFbGVtZW50SW5TaGFkb3dUcmVlU3RhY2soJ3NoYWRvd0hvc3RDLycpLmFjdGl2ZUVsZW1l
bnQiLCAibnVsbCIpOworCisvLyBjaGlsZEluVHJlZVR3byBmb3Vjc2VkIC0gc2hhZG93SG9zdEIg
Ymx1cnJlZAorZXZhbEFuZExvZygiZ2V0RWxlbWVudEluU2hhZG93VHJlZVN0YWNrKCdzaGFkb3dI
b3N0QS9zaGFkb3dIb3N0Qi9jaGlsZEluVHJlZVR3bycpLmZvY3VzKCkiKTsKK3Nob3VsZEJlRXF1
YWxUb1N0cmluZygiZG9jdW1lbnQuYWN0aXZlRWxlbWVudC5pZCIsICJzaGFkb3dIb3N0QSIpOwor
ZXZhbEFuZExvZygiZ2V0RWxlbWVudEluU2hhZG93VHJlZVN0YWNrKCdzaGFkb3dIb3N0QS9zaGFk
b3dIb3N0QicpLmJsdXIoKTsiKTsKK3Nob3VsZEJlKCJkb2N1bWVudC5hY3RpdmVFbGVtZW50Iiwg
ImRvY3VtZW50LmJvZHkiKTsKK3Nob3VsZEJlKCJnZXRFbGVtZW50SW5TaGFkb3dUcmVlU3RhY2so
J3NoYWRvd0hvc3RBLycpLmFjdGl2ZUVsZW1lbnQiLCAibnVsbCIpOworc2hvdWxkQmUoImdldEVs
ZW1lbnRJblNoYWRvd1RyZWVTdGFjaygnc2hhZG93SG9zdEEvc2hhZG93SG9zdEIvJykuYWN0aXZl
RWxlbWVudCIsICJudWxsIik7CitzaG91bGRCZSgiZ2V0RWxlbWVudEluU2hhZG93VHJlZVN0YWNr
KCdzaGFkb3dIb3N0Qy8nKS5hY3RpdmVFbGVtZW50IiwgIm51bGwiKTsKKworLy8gY2hpbGRJblRy
ZWVUd28gZm91Y3NlZCAtIHNoYWRvd0hvc3RBIGJsdXJyZWQKK2V2YWxBbmRMb2coImdldEVsZW1l
bnRJblNoYWRvd1RyZWVTdGFjaygnc2hhZG93SG9zdEEvc2hhZG93SG9zdEIvY2hpbGRJblRyZWVU
d28nKS5mb2N1cygpIik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvY3VtZW50LmFjdGl2ZUVs
ZW1lbnQuaWQiLCAic2hhZG93SG9zdEEiKTsKK2V2YWxBbmRMb2coImdldEVsZW1lbnRJblNoYWRv
d1RyZWVTdGFjaygnc2hhZG93SG9zdEEnKS5ibHVyKCk7Iik7CitzaG91bGRCZSgiZG9jdW1lbnQu
YWN0aXZlRWxlbWVudCIsICJkb2N1bWVudC5ib2R5Iik7CitzaG91bGRCZSgiZ2V0RWxlbWVudElu
U2hhZG93VHJlZVN0YWNrKCdzaGFkb3dIb3N0QS8nKS5hY3RpdmVFbGVtZW50IiwgIm51bGwiKTsK
K3Nob3VsZEJlKCJnZXRFbGVtZW50SW5TaGFkb3dUcmVlU3RhY2soJ3NoYWRvd0hvc3RBL3NoYWRv
d0hvc3RCLycpLmFjdGl2ZUVsZW1lbnQiLCAibnVsbCIpOworc2hvdWxkQmUoImdldEVsZW1lbnRJ
blNoYWRvd1RyZWVTdGFjaygnc2hhZG93SG9zdEMvJykuYWN0aXZlRWxlbWVudCIsICJudWxsIik7
CisKKy8vIGNoaWxkSW5UcmVlVGhyZWUgZm91Y3NlZCAtIHNoYWRvd0hvc3RBIGJsdXJyZWQKK2V2
YWxBbmRMb2coImdldEVsZW1lbnRJblNoYWRvd1RyZWVTdGFjaygnc2hhZG93SG9zdEMvY2hpbGRJ
blRyZWVUaHJlZScpLmZvY3VzKCkiKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jdW1lbnQu
YWN0aXZlRWxlbWVudC5pZCIsICJzaGFkb3dIb3N0QyIpOworZXZhbEFuZExvZygiZ2V0RWxlbWVu
dEluU2hhZG93VHJlZVN0YWNrKCdzaGFkb3dIb3N0QScpLmJsdXIoKTsiKTsKK3Nob3VsZEJlRXF1
YWxUb1N0cmluZygiZG9jdW1lbnQuYWN0aXZlRWxlbWVudC5pZCIsICJzaGFkb3dIb3N0QyIpOwor
c2hvdWxkQmUoImdldEVsZW1lbnRJblNoYWRvd1RyZWVTdGFjaygnc2hhZG93SG9zdEEvJykuYWN0
aXZlRWxlbWVudCIsICJudWxsIik7CitzaG91bGRCZSgiZ2V0RWxlbWVudEluU2hhZG93VHJlZVN0
YWNrKCdzaGFkb3dIb3N0QS9zaGFkb3dIb3N0Qi8nKS5hY3RpdmVFbGVtZW50IiwgIm51bGwiKTsK
K3Nob3VsZEJlRXF1YWxUb1N0cmluZygiZ2V0RWxlbWVudEluU2hhZG93VHJlZVN0YWNrKCdzaGFk
b3dIb3N0Qy8nKS5hY3RpdmVFbGVtZW50LmlkIiwgImNoaWxkSW5UcmVlVGhyZWUiKTsKKwordmFy
IHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8u
Li9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRt
bD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>132552</attachid>
            <date>2012-03-19 00:22:46 -0700</date>
            <delta_ts>2012-03-19 00:51:04 -0700</delta_ts>
            <desc>Updated Patch</desc>
            <filename>81102_9.patch</filename>
            <type>text/plain</type>
            <size>10423</size>
            <attacher name="Kaustubh Atrawalkar">kaustubh.ra</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDExMTAwNCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIxIEBACisyMDEyLTAzLTE2ICBLYXVzdHVi
aCBBdHJhd2Fsa2FyICA8a2F1c3R1YmhAbW90b3JvbGEuY29tPgorCisgICAgICAgIGJsdXIoKSBv
biBzaGFkb3cgaG9zdCBzaG91bGQgd29yayB3aGVuIGEgc2hhZG93IGhvc3QgY29udGFpbnMgYSBm
b2N1c2VkIGVsZW1lbnQgaW4gaXRzIHNoYWRvdyBET00gc3VidHJlZXMKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgxMTAyCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVzdDogZmFzdC9kb20vc2hhZG93L3No
YWRvdy1yb290LWJsdXIuaHRtbAorCisgICAgICAgICogZG9tL0VsZW1lbnQuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6RWxlbWVudDo6Ymx1cik6CisgICAgICAgICogZG9tL1RyZWVTY29wZS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpUcmVlU2NvcGU6OmZvY3VzZWROb2RlSW5UcmVlKToKKyAgICAg
ICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6VHJlZVNjb3BlOjphY3RpdmVFbGVtZW50
KToKKyAgICAgICAgKiBkb20vVHJlZVNjb3BlLmg6CisgICAgICAgIChUcmVlU2NvcGUpOgorCiAy
MDEyLTAzLTE2ICBLZW50YXJvIEhhcmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4KIAogICAgICAg
ICBUaGUgSURMIHBhcnNlciBzaG91bGQgc3VwcG9ydCBzZXF1ZW5jZTxUPiB0eXBlCkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvZG9tL0VsZW1lbnQuY3BwCShyZXZpc2lvbiAxMTA5ODQpCisrKyBTb3VyY2UvV2ViQ29yZS9k
b20vRWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE1OTIsNyArMTU5Miw3IEBAIHZvaWQg
RWxlbWVudDo6Ymx1cigpCiB7CiAgICAgY2FuY2VsRm9jdXNBcHBlYXJhbmNlVXBkYXRlKCk7CiAg
ICAgRG9jdW1lbnQqIGRvYyA9IGRvY3VtZW50KCk7Ci0gICAgaWYgKGRvYy0+Zm9jdXNlZE5vZGUo
KSA9PSB0aGlzKSB7CisgICAgaWYgKHRyZWVTY29wZSgpLT5mb2N1c2VkTm9kZSgpID09IHRoaXMp
IHsKICAgICAgICAgaWYgKGRvYy0+ZnJhbWUoKSkKICAgICAgICAgICAgIGRvYy0+ZnJhbWUoKS0+
cGFnZSgpLT5mb2N1c0NvbnRyb2xsZXIoKS0+c2V0Rm9jdXNlZE5vZGUoMCwgZG9jLT5mcmFtZSgp
KTsKICAgICAgICAgZWxzZQpJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL1RyZWVTY29wZS5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL1RyZWVTY29wZS5jcHAJKHJldmlzaW9u
IDExMDk4NCkKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9UcmVlU2NvcGUuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0xNjQsMTQgKzE2NCwxNCBAQCBzdGF0aWMgTm9kZSogZm9jdXNlZEZyYW1lT3duZXJF
bGVtZW50KEZyCiAgICAgcmV0dXJuIDA7CiB9CiAKLUVsZW1lbnQqIFRyZWVTY29wZTo6YWN0aXZl
RWxlbWVudCgpCitOb2RlKiBUcmVlU2NvcGU6OmZvY3VzZWROb2RlKCkKIHsKICAgICBEb2N1bWVu
dCogZG9jdW1lbnQgPSByb290Tm9kZSgpLT5kb2N1bWVudCgpOwogICAgIE5vZGUqIG5vZGUgPSBk
b2N1bWVudC0+Zm9jdXNlZE5vZGUoKTsKICAgICBpZiAoIW5vZGUgJiYgZG9jdW1lbnQtPnBhZ2Uo
KSkKICAgICAgICAgbm9kZSA9IGZvY3VzZWRGcmFtZU93bmVyRWxlbWVudChkb2N1bWVudC0+cGFn
ZSgpLT5mb2N1c0NvbnRyb2xsZXIoKS0+Zm9jdXNlZEZyYW1lKCksIGRvY3VtZW50LT5mcmFtZSgp
KTsKICAgICBpZiAoIW5vZGUpCi0gICAgICAgIHJldHVybiB0aGlzID09IGRvY3VtZW50ID8gZG9j
dW1lbnQtPmJvZHkoKSA6IDA7CisgICAgICAgIHJldHVybiAwOwogCiAgICAgVHJlZVNjb3BlKiB0
cmVlU2NvcGUgPSBub2RlLT50cmVlU2NvcGUoKTsKIApAQCAtMTgxLDYgKzE4MSwxOCBAQCBFbGVt
ZW50KiBUcmVlU2NvcGU6OmFjdGl2ZUVsZW1lbnQoKQogICAgIH0KICAgICBpZiAodGhpcyAhPSB0
cmVlU2NvcGUpCiAgICAgICAgIHJldHVybiAwOworCisgICAgcmV0dXJuIG5vZGU7Cit9CisKK0Vs
ZW1lbnQqIFRyZWVTY29wZTo6YWN0aXZlRWxlbWVudCgpCit7CisgICAgTm9kZSogbm9kZSA9IGZv
Y3VzZWROb2RlKCk7CisgICAgaWYgKCFub2RlKSB7CisgICAgICAgIERvY3VtZW50KiBkb2N1bWVu
dCA9IHJvb3ROb2RlKCktPmRvY3VtZW50KCk7CisgICAgICAgIHJldHVybiB0aGlzID09IGRvY3Vt
ZW50ID8gZG9jdW1lbnQtPmJvZHkoKSA6IDA7CisgICAgfQorCiAgICAgaWYgKG5vZGUtPmlzRWxl
bWVudE5vZGUoKSkKICAgICAgICAgcmV0dXJuIHRvRWxlbWVudChub2RlKTsKICAgICByZXR1cm4g
MDsKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9UcmVlU2NvcGUuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9kb20vVHJlZVNjb3BlLmgJKHJldmlzaW9uIDExMDk4NCkKKysrIFNvdXJj
ZS9XZWJDb3JlL2RvbS9UcmVlU2NvcGUuaAkod29ya2luZyBjb3B5KQpAQCAtNDcsNiArNDcsNyBA
QCBwdWJsaWM6CiAgICAgVHJlZVNjb3BlKiBwYXJlbnRUcmVlU2NvcGUoKSBjb25zdCB7IHJldHVy
biBtX3BhcmVudFRyZWVTY29wZTsgfQogICAgIHZvaWQgc2V0UGFyZW50VHJlZVNjb3BlKFRyZWVT
Y29wZSopOwogCisgICAgTm9kZSogZm9jdXNlZE5vZGUoKTsKICAgICBFbGVtZW50KiBhY3RpdmVF
bGVtZW50KCk7CiAgICAgRWxlbWVudCogZ2V0RWxlbWVudEJ5SWQoY29uc3QgQXRvbWljU3RyaW5n
JikgY29uc3Q7CiAgICAgYm9vbCBoYXNFbGVtZW50V2l0aElkKEF0b21pY1N0cmluZ0ltcGwqIGlk
KSBjb25zdDsKSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDExMTAwNCkKKysrIExheW91dFRlc3RzL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEzIEBACisyMDEyLTAzLTE2ICBLYXVzdHVi
aCBBdHJhd2Fsa2FyICA8a2F1c3R1YmhAbW90b3JvbGEuY29tPgorCisgICAgICAgIGJsdXIoKSBv
biBzaGFkb3cgaG9zdCBzaG91bGQgd29yayB3aGVuIGEgc2hhZG93IGhvc3QgY29udGFpbnMgYSBm
b2N1c2VkIGVsZW1lbnQgaW4gaXRzIHNoYWRvdyBET00gc3VidHJlZXMKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgxMTAyCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvc2hhZG93
LXJvb3QtYmx1ci1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRv
dy9zaGFkb3ctcm9vdC1ibHVyLmh0bWw6IEFkZGVkLgorCiAyMDEyLTAzLTE2ICBZb3NoaWZ1bWkg
SW5vdWUgIDx5b3NpbkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW0Zvcm1zXSBsYWJlbC5mb3Jt
IGF0dHJpYnV0ZSBkb2Vzbid0IHdvcmsKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRv
dy9zaGFkb3ctcm9vdC1ibHVyLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LXJvb3QtYmx1ci1leHBlY3RlZC50eHQJKHJldmlzaW9u
IDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LXJvb3QtYmx1ci1leHBl
Y3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNDMgQEAKK1RoaXMgdGVzdHMgdGhlIGJs
dXIoKSBvbiBvbiBzaGFkb3cgaG9zdCBzaG91bGQgd29yayB3aGVuIGEgc2hhZG93IGhvc3QgY29u
dGFpbnMgYSBmb2N1c2VkIGVsZW1lbnQgaW4gaXRzIHNoYWRvdyBET00gc3VidHJlZXMgcHJvcGVy
dHkgKGJ1ZyA4MTEwMikKKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQ
QVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKKworZ2V0RWxl
bWVudEluU2hhZG93VHJlZVN0YWNrKCdzaGFkb3dIb3N0QS9jaGlsZEluVHJlZU9uZScpLmZvY3Vz
KCkKK1BBU1MgZG9jdW1lbnQuYWN0aXZlRWxlbWVudC5pZCBpcyAic2hhZG93SG9zdEEiCitnZXRF
bGVtZW50SW5TaGFkb3dUcmVlU3RhY2soJ3NoYWRvd0hvc3RBJykuYmx1cigpOworc2hhZG93SG9z
dEEgb25ibHVyIGNhbGxlZCEKK1BBU1MgZG9jdW1lbnQuYWN0aXZlRWxlbWVudCBpcyBkb2N1bWVu
dC5ib2R5CitQQVNTIGdldEVsZW1lbnRJblNoYWRvd1RyZWVTdGFjaygnc2hhZG93SG9zdEEvJyku
YWN0aXZlRWxlbWVudCBpcyBudWxsCitQQVNTIGdldEVsZW1lbnRJblNoYWRvd1RyZWVTdGFjaygn
c2hhZG93SG9zdEEvc2hhZG93SG9zdEIvJykuYWN0aXZlRWxlbWVudCBpcyBudWxsCitQQVNTIGdl
dEVsZW1lbnRJblNoYWRvd1RyZWVTdGFjaygnc2hhZG93SG9zdEMvJykuYWN0aXZlRWxlbWVudCBp
cyBudWxsCitnZXRFbGVtZW50SW5TaGFkb3dUcmVlU3RhY2soJ3NoYWRvd0hvc3RBL3NoYWRvd0hv
c3RCL2NoaWxkSW5UcmVlVHdvJykuZm9jdXMoKQorUEFTUyBkb2N1bWVudC5hY3RpdmVFbGVtZW50
LmlkIGlzICJzaGFkb3dIb3N0QSIKK2dldEVsZW1lbnRJblNoYWRvd1RyZWVTdGFjaygnc2hhZG93
SG9zdEEvc2hhZG93SG9zdEInKS5ibHVyKCk7CitzaGFkb3dIb3N0QSBvbmJsdXIgY2FsbGVkIQor
c2hhZG93SG9zdEIgb25ibHVyIGNhbGxlZCEKK1BBU1MgZG9jdW1lbnQuYWN0aXZlRWxlbWVudCBp
cyBkb2N1bWVudC5ib2R5CitQQVNTIGdldEVsZW1lbnRJblNoYWRvd1RyZWVTdGFjaygnc2hhZG93
SG9zdEEvJykuYWN0aXZlRWxlbWVudCBpcyBudWxsCitQQVNTIGdldEVsZW1lbnRJblNoYWRvd1Ry
ZWVTdGFjaygnc2hhZG93SG9zdEEvc2hhZG93SG9zdEIvJykuYWN0aXZlRWxlbWVudCBpcyBudWxs
CitQQVNTIGdldEVsZW1lbnRJblNoYWRvd1RyZWVTdGFjaygnc2hhZG93SG9zdEMvJykuYWN0aXZl
RWxlbWVudCBpcyBudWxsCitnZXRFbGVtZW50SW5TaGFkb3dUcmVlU3RhY2soJ3NoYWRvd0hvc3RB
L3NoYWRvd0hvc3RCL2NoaWxkSW5UcmVlVHdvJykuZm9jdXMoKQorUEFTUyBkb2N1bWVudC5hY3Rp
dmVFbGVtZW50LmlkIGlzICJzaGFkb3dIb3N0QSIKK2dldEVsZW1lbnRJblNoYWRvd1RyZWVTdGFj
aygnc2hhZG93SG9zdEEnKS5ibHVyKCk7CitzaGFkb3dIb3N0QSBvbmJsdXIgY2FsbGVkIQorc2hh
ZG93SG9zdEIgb25ibHVyIGNhbGxlZCEKK1BBU1MgZG9jdW1lbnQuYWN0aXZlRWxlbWVudCBpcyBk
b2N1bWVudC5ib2R5CitQQVNTIGdldEVsZW1lbnRJblNoYWRvd1RyZWVTdGFjaygnc2hhZG93SG9z
dEEvJykuYWN0aXZlRWxlbWVudCBpcyBudWxsCitQQVNTIGdldEVsZW1lbnRJblNoYWRvd1RyZWVT
dGFjaygnc2hhZG93SG9zdEEvc2hhZG93SG9zdEIvJykuYWN0aXZlRWxlbWVudCBpcyBudWxsCitQ
QVNTIGdldEVsZW1lbnRJblNoYWRvd1RyZWVTdGFjaygnc2hhZG93SG9zdEMvJykuYWN0aXZlRWxl
bWVudCBpcyBudWxsCitnZXRFbGVtZW50SW5TaGFkb3dUcmVlU3RhY2soJ3NoYWRvd0hvc3RDL2No
aWxkSW5UcmVlVGhyZWUnKS5mb2N1cygpCitQQVNTIGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQuaWQg
aXMgInNoYWRvd0hvc3RDIgorZ2V0RWxlbWVudEluU2hhZG93VHJlZVN0YWNrKCdzaGFkb3dIb3N0
QScpLmJsdXIoKTsKK1BBU1MgZG9jdW1lbnQuYWN0aXZlRWxlbWVudC5pZCBpcyAic2hhZG93SG9z
dEMiCitQQVNTIGdldEVsZW1lbnRJblNoYWRvd1RyZWVTdGFjaygnc2hhZG93SG9zdEEvJykuYWN0
aXZlRWxlbWVudCBpcyBudWxsCitQQVNTIGdldEVsZW1lbnRJblNoYWRvd1RyZWVTdGFjaygnc2hh
ZG93SG9zdEEvc2hhZG93SG9zdEIvJykuYWN0aXZlRWxlbWVudCBpcyBudWxsCitQQVNTIGdldEVs
ZW1lbnRJblNoYWRvd1RyZWVTdGFjaygnc2hhZG93SG9zdEMvJykuYWN0aXZlRWxlbWVudC5pZCBp
cyAiY2hpbGRJblRyZWVUaHJlZSIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93
LXJvb3QtYmx1ci5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRv
dy9zaGFkb3ctcm9vdC1ibHVyLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0
L2RvbS9zaGFkb3cvc2hhZG93LXJvb3QtYmx1ci5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsx
LDc2IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4v
Li4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJy
ZXNvdXJjZXMvc2hhZG93LWRvbS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYg
aWQ9ImNvbnNvbGUiPgorPC9kaXY+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oIlRoaXMgdGVzdHMg
dGhlIGJsdXIoKSBvbiBvbiBzaGFkb3cgaG9zdCBzaG91bGQgd29yayB3aGVuIGEgc2hhZG93IGhv
c3QgY29udGFpbnMgYSBmb2N1c2VkIGVsZW1lbnQgaW4gaXRzIHNoYWRvdyBET00gc3VidHJlZXMg
cHJvcGVydHkgKGJ1ZyA4MTEwMikiKTsKKworaWYgKCF3aW5kb3cuaW50ZXJuYWxzKQorICAgIGRl
YnVnKCdUaGlzIHRlc3QgcnVucyBvbiBEUlQgb25seScpOworCitpZiAod2luZG93LmxheW91dFRl
c3RDb250cm9sbGVyKQorICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKwor
ZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCgKKyAgICBjcmVhdGVET00oJ2RpdicsIHsnaWQnOidz
aGFkb3dIb3N0QSd9LAorICAgICAgICBjcmVhdGVTaGFkb3dSb290KAorICAgICAgICAgICAgY3Jl
YXRlRE9NKCdwJywgeydpZCc6J2NoaWxkSW5UcmVlT25lJywgJ3RhYmluZGV4JzonMSd9KSwKKyAg
ICAgICAgICAgIGNyZWF0ZURPTSgnZGl2JywgeydpZCc6J3NoYWRvd0hvc3RCJ30sCisgICAgICAg
ICAgICAgICAgY3JlYXRlU2hhZG93Um9vdCgKKyAgICAgICAgICAgICAgICAgICAgY3JlYXRlRE9N
KCdwJywgeydpZCc6J2NoaWxkSW5UcmVlVHdvJywgJ3RhYmluZGV4JzonMid9KSkpKSkpOworCitk
b2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKAorICAgIGNyZWF0ZURPTSgnZGl2JywgeydpZCc6J3No
YWRvd0hvc3RDJ30sCisgICAgICAgIGNyZWF0ZVNoYWRvd1Jvb3QoCisgICAgICAgICAgICBjcmVh
dGVET00oJ3AnLCB7J2lkJzonY2hpbGRJblRyZWVUaHJlZScsICd0YWJpbmRleCc6JzMnfSkpKQor
KTsKKworZ2V0RWxlbWVudEluU2hhZG93VHJlZVN0YWNrKCdzaGFkb3dIb3N0QScpLm9uYmx1ciA9
IGZ1bmN0aW9uKCkgeyBkZWJ1Zygic2hhZG93SG9zdEEgb25ibHVyIGNhbGxlZCEiKTsgfQorZ2V0
RWxlbWVudEluU2hhZG93VHJlZVN0YWNrKCdzaGFkb3dIb3N0QS9zaGFkb3dIb3N0QicpLm9uYmx1
ciA9IGZ1bmN0aW9uKCkgeyBkZWJ1Zygic2hhZG93SG9zdEIgb25ibHVyIGNhbGxlZCEiKTsgfQor
CisvLyBjaGlsZEluVHJlZU9uZSBmb3Vjc2VkIC0gc2hhZG93SG9zdEEgYmx1cnJlZAorZXZhbEFu
ZExvZygiZ2V0RWxlbWVudEluU2hhZG93VHJlZVN0YWNrKCdzaGFkb3dIb3N0QS9jaGlsZEluVHJl
ZU9uZScpLmZvY3VzKCkiKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jdW1lbnQuYWN0aXZl
RWxlbWVudC5pZCIsICJzaGFkb3dIb3N0QSIpOworZXZhbEFuZExvZygiZ2V0RWxlbWVudEluU2hh
ZG93VHJlZVN0YWNrKCdzaGFkb3dIb3N0QScpLmJsdXIoKTsiKTsKK3Nob3VsZEJlKCJkb2N1bWVu
dC5hY3RpdmVFbGVtZW50IiwgImRvY3VtZW50LmJvZHkiKTsKK3Nob3VsZEJlKCJnZXRFbGVtZW50
SW5TaGFkb3dUcmVlU3RhY2soJ3NoYWRvd0hvc3RBLycpLmFjdGl2ZUVsZW1lbnQiLCAibnVsbCIp
Oworc2hvdWxkQmUoImdldEVsZW1lbnRJblNoYWRvd1RyZWVTdGFjaygnc2hhZG93SG9zdEEvc2hh
ZG93SG9zdEIvJykuYWN0aXZlRWxlbWVudCIsICJudWxsIik7CitzaG91bGRCZSgiZ2V0RWxlbWVu
dEluU2hhZG93VHJlZVN0YWNrKCdzaGFkb3dIb3N0Qy8nKS5hY3RpdmVFbGVtZW50IiwgIm51bGwi
KTsKKworLy8gY2hpbGRJblRyZWVUd28gZm91Y3NlZCAtIHNoYWRvd0hvc3RCIGJsdXJyZWQKK2V2
YWxBbmRMb2coImdldEVsZW1lbnRJblNoYWRvd1RyZWVTdGFjaygnc2hhZG93SG9zdEEvc2hhZG93
SG9zdEIvY2hpbGRJblRyZWVUd28nKS5mb2N1cygpIik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmco
ImRvY3VtZW50LmFjdGl2ZUVsZW1lbnQuaWQiLCAic2hhZG93SG9zdEEiKTsKK2V2YWxBbmRMb2co
ImdldEVsZW1lbnRJblNoYWRvd1RyZWVTdGFjaygnc2hhZG93SG9zdEEvc2hhZG93SG9zdEInKS5i
bHVyKCk7Iik7CitzaG91bGRCZSgiZG9jdW1lbnQuYWN0aXZlRWxlbWVudCIsICJkb2N1bWVudC5i
b2R5Iik7CitzaG91bGRCZSgiZ2V0RWxlbWVudEluU2hhZG93VHJlZVN0YWNrKCdzaGFkb3dIb3N0
QS8nKS5hY3RpdmVFbGVtZW50IiwgIm51bGwiKTsKK3Nob3VsZEJlKCJnZXRFbGVtZW50SW5TaGFk
b3dUcmVlU3RhY2soJ3NoYWRvd0hvc3RBL3NoYWRvd0hvc3RCLycpLmFjdGl2ZUVsZW1lbnQiLCAi
bnVsbCIpOworc2hvdWxkQmUoImdldEVsZW1lbnRJblNoYWRvd1RyZWVTdGFjaygnc2hhZG93SG9z
dEMvJykuYWN0aXZlRWxlbWVudCIsICJudWxsIik7CisKKy8vIGNoaWxkSW5UcmVlVHdvIGZvdWNz
ZWQgLSBzaGFkb3dIb3N0QSBibHVycmVkCitldmFsQW5kTG9nKCJnZXRFbGVtZW50SW5TaGFkb3dU
cmVlU3RhY2soJ3NoYWRvd0hvc3RBL3NoYWRvd0hvc3RCL2NoaWxkSW5UcmVlVHdvJykuZm9jdXMo
KSIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2N1bWVudC5hY3RpdmVFbGVtZW50LmlkIiwg
InNoYWRvd0hvc3RBIik7CitldmFsQW5kTG9nKCJnZXRFbGVtZW50SW5TaGFkb3dUcmVlU3RhY2so
J3NoYWRvd0hvc3RBJykuYmx1cigpOyIpOworc2hvdWxkQmUoImRvY3VtZW50LmFjdGl2ZUVsZW1l
bnQiLCAiZG9jdW1lbnQuYm9keSIpOworc2hvdWxkQmUoImdldEVsZW1lbnRJblNoYWRvd1RyZWVT
dGFjaygnc2hhZG93SG9zdEEvJykuYWN0aXZlRWxlbWVudCIsICJudWxsIik7CitzaG91bGRCZSgi
Z2V0RWxlbWVudEluU2hhZG93VHJlZVN0YWNrKCdzaGFkb3dIb3N0QS9zaGFkb3dIb3N0Qi8nKS5h
Y3RpdmVFbGVtZW50IiwgIm51bGwiKTsKK3Nob3VsZEJlKCJnZXRFbGVtZW50SW5TaGFkb3dUcmVl
U3RhY2soJ3NoYWRvd0hvc3RDLycpLmFjdGl2ZUVsZW1lbnQiLCAibnVsbCIpOworCisvLyBjaGls
ZEluVHJlZVRocmVlIGZvdWNzZWQgLSBzaGFkb3dIb3N0QSBibHVycmVkCitldmFsQW5kTG9nKCJn
ZXRFbGVtZW50SW5TaGFkb3dUcmVlU3RhY2soJ3NoYWRvd0hvc3RDL2NoaWxkSW5UcmVlVGhyZWUn
KS5mb2N1cygpIik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvY3VtZW50LmFjdGl2ZUVsZW1l
bnQuaWQiLCAic2hhZG93SG9zdEMiKTsKK2V2YWxBbmRMb2coImdldEVsZW1lbnRJblNoYWRvd1Ry
ZWVTdGFjaygnc2hhZG93SG9zdEEnKS5ibHVyKCk7Iik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmco
ImRvY3VtZW50LmFjdGl2ZUVsZW1lbnQuaWQiLCAic2hhZG93SG9zdEMiKTsKK3Nob3VsZEJlKCJn
ZXRFbGVtZW50SW5TaGFkb3dUcmVlU3RhY2soJ3NoYWRvd0hvc3RBLycpLmFjdGl2ZUVsZW1lbnQi
LCAibnVsbCIpOworc2hvdWxkQmUoImdldEVsZW1lbnRJblNoYWRvd1RyZWVTdGFjaygnc2hhZG93
SG9zdEEvc2hhZG93SG9zdEIvJykuYWN0aXZlRWxlbWVudCIsICJudWxsIik7CitzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImdldEVsZW1lbnRJblNoYWRvd1RyZWVTdGFjaygnc2hhZG93SG9zdEMvJyku
YWN0aXZlRWxlbWVudC5pZCIsICJjaGlsZEluVHJlZVRocmVlIik7CisKK3ZhciBzdWNjZXNzZnVs
bHlQYXJzZWQgPSB0cnVlOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3Vy
Y2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>132554</attachid>
            <date>2012-03-19 00:51:04 -0700</date>
            <delta_ts>2012-03-19 03:45:27 -0700</delta_ts>
            <desc>Fixed ChangeLog</desc>
            <filename>81102_10.patch</filename>
            <type>text/plain</type>
            <size>10458</size>
            <attacher name="Kaustubh Atrawalkar">kaustubh.ra</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDExMTE2MCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIxIEBACisyMDEyLTAzLTE2ICBLYXVzdHVi
aCBBdHJhd2Fsa2FyICA8a2F1c3R1YmhAbW90b3JvbGEuY29tPgorCisgICAgICAgIGJsdXIoKSBv
biBzaGFkb3cgaG9zdCBzaG91bGQgd29yayB3aGVuIGEgc2hhZG93IGhvc3QgY29udGFpbnMgYSBm
b2N1c2VkIGVsZW1lbnQgaW4gaXRzIHNoYWRvdyBET00gc3VidHJlZXMKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgxMTAyCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVzdDogZmFzdC9kb20vc2hhZG93L3No
YWRvdy1yb290LWJsdXIuaHRtbAorCisgICAgICAgICogZG9tL0VsZW1lbnQuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6RWxlbWVudDo6Ymx1cik6CisgICAgICAgICogZG9tL1RyZWVTY29wZS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpUcmVlU2NvcGU6OmZvY3VzZWROb2RlKToKKyAgICAgICAgKFdl
YkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6VHJlZVNjb3BlOjphY3RpdmVFbGVtZW50KToKKyAg
ICAgICAgKiBkb20vVHJlZVNjb3BlLmg6CisgICAgICAgIChUcmVlU2NvcGUpOgorCiAyMDEyLTAz
LTE4ICBNYXR0IEZhbGtlbmhhZ2VuICA8ZmFsa2VuQGNocm9taXVtLm9yZz4KIAogICAgICAgICBG
YWxsYmFjayB0byBjb21tb24gc2NyaXB0IHdoZW4gcGVyLXNjcmlwdCBmb250IHNldHRpbmcgaXMg
dGhlIGVtcHR5IHN0cmluZwpJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcAkocmV2aXNpb24gMTEx
MTYwKQorKysgU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0xNTkyLDcgKzE1OTIsNyBAQCB2b2lkIEVsZW1lbnQ6OmJsdXIoKQogewogICAgIGNhbmNlbEZv
Y3VzQXBwZWFyYW5jZVVwZGF0ZSgpOwogICAgIERvY3VtZW50KiBkb2MgPSBkb2N1bWVudCgpOwot
ICAgIGlmIChkb2MtPmZvY3VzZWROb2RlKCkgPT0gdGhpcykgeworICAgIGlmICh0cmVlU2NvcGUo
KS0+Zm9jdXNlZE5vZGUoKSA9PSB0aGlzKSB7CiAgICAgICAgIGlmIChkb2MtPmZyYW1lKCkpCiAg
ICAgICAgICAgICBkb2MtPmZyYW1lKCktPnBhZ2UoKS0+Zm9jdXNDb250cm9sbGVyKCktPnNldEZv
Y3VzZWROb2RlKDAsIGRvYy0+ZnJhbWUoKSk7CiAgICAgICAgIGVsc2UKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL2RvbS9UcmVlU2NvcGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2Rv
bS9UcmVlU2NvcGUuY3BwCShyZXZpc2lvbiAxMTExNjApCisrKyBTb3VyY2UvV2ViQ29yZS9kb20v
VHJlZVNjb3BlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTY0LDE0ICsxNjQsMTQgQEAgc3RhdGlj
IE5vZGUqIGZvY3VzZWRGcmFtZU93bmVyRWxlbWVudChGcgogICAgIHJldHVybiAwOwogfQogCi1F
bGVtZW50KiBUcmVlU2NvcGU6OmFjdGl2ZUVsZW1lbnQoKQorTm9kZSogVHJlZVNjb3BlOjpmb2N1
c2VkTm9kZSgpCiB7CiAgICAgRG9jdW1lbnQqIGRvY3VtZW50ID0gcm9vdE5vZGUoKS0+ZG9jdW1l
bnQoKTsKICAgICBOb2RlKiBub2RlID0gZG9jdW1lbnQtPmZvY3VzZWROb2RlKCk7CiAgICAgaWYg
KCFub2RlICYmIGRvY3VtZW50LT5wYWdlKCkpCiAgICAgICAgIG5vZGUgPSBmb2N1c2VkRnJhbWVP
d25lckVsZW1lbnQoZG9jdW1lbnQtPnBhZ2UoKS0+Zm9jdXNDb250cm9sbGVyKCktPmZvY3VzZWRG
cmFtZSgpLCBkb2N1bWVudC0+ZnJhbWUoKSk7CiAgICAgaWYgKCFub2RlKQotICAgICAgICByZXR1
cm4gdGhpcyA9PSBkb2N1bWVudCA/IGRvY3VtZW50LT5ib2R5KCkgOiAwOworICAgICAgICByZXR1
cm4gMDsKIAogICAgIFRyZWVTY29wZSogdHJlZVNjb3BlID0gbm9kZS0+dHJlZVNjb3BlKCk7CiAK
QEAgLTE4MSw2ICsxODEsMTggQEAgRWxlbWVudCogVHJlZVNjb3BlOjphY3RpdmVFbGVtZW50KCkK
ICAgICB9CiAgICAgaWYgKHRoaXMgIT0gdHJlZVNjb3BlKQogICAgICAgICByZXR1cm4gMDsKKwor
ICAgIHJldHVybiBub2RlOworfQorCitFbGVtZW50KiBUcmVlU2NvcGU6OmFjdGl2ZUVsZW1lbnQo
KQoreworICAgIE5vZGUqIG5vZGUgPSBmb2N1c2VkTm9kZSgpOworICAgIGlmICghbm9kZSkgewor
ICAgICAgICBEb2N1bWVudCogZG9jdW1lbnQgPSByb290Tm9kZSgpLT5kb2N1bWVudCgpOworICAg
ICAgICByZXR1cm4gdGhpcyA9PSBkb2N1bWVudCA/IGRvY3VtZW50LT5ib2R5KCkgOiAwOworICAg
IH0KKwogICAgIGlmIChub2RlLT5pc0VsZW1lbnROb2RlKCkpCiAgICAgICAgIHJldHVybiB0b0Vs
ZW1lbnQobm9kZSk7CiAgICAgcmV0dXJuIDA7CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vVHJl
ZVNjb3BlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL1RyZWVTY29wZS5oCShy
ZXZpc2lvbiAxMTExNjApCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vVHJlZVNjb3BlLmgJKHdvcmtp
bmcgY29weSkKQEAgLTQ3LDYgKzQ3LDcgQEAgcHVibGljOgogICAgIFRyZWVTY29wZSogcGFyZW50
VHJlZVNjb3BlKCkgY29uc3QgeyByZXR1cm4gbV9wYXJlbnRUcmVlU2NvcGU7IH0KICAgICB2b2lk
IHNldFBhcmVudFRyZWVTY29wZShUcmVlU2NvcGUqKTsKIAorICAgIE5vZGUqIGZvY3VzZWROb2Rl
KCk7CiAgICAgRWxlbWVudCogYWN0aXZlRWxlbWVudCgpOwogICAgIEVsZW1lbnQqIGdldEVsZW1l
bnRCeUlkKGNvbnN0IEF0b21pY1N0cmluZyYpIGNvbnN0OwogICAgIGJvb2wgaGFzRWxlbWVudFdp
dGhJZChBdG9taWNTdHJpbmdJbXBsKiBpZCkgY29uc3Q7CkluZGV4OiBMYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAxMTEx
NjApCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwx
MyBAQAorMjAxMi0wMy0xNiAgS2F1c3R1YmggQXRyYXdhbGthciAgPGthdXN0dWJoQG1vdG9yb2xh
LmNvbT4KKworICAgICAgICBibHVyKCkgb24gc2hhZG93IGhvc3Qgc2hvdWxkIHdvcmsgd2hlbiBh
IHNoYWRvdyBob3N0IGNvbnRhaW5zIGEgZm9jdXNlZCBlbGVtZW50IGluIGl0cyBzaGFkb3cgRE9N
IHN1YnRyZWVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD04MTEwMgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
ICogZmFzdC9kb20vc2hhZG93L3NoYWRvdy1yb290LWJsdXItZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvc2hhZG93LXJvb3QtYmx1ci5odG1sOiBBZGRlZC4K
KwogMjAxMi0wMy0xOCAgVGltIEhvcnRvbiAgPHRpbW90aHlfaG9ydG9uQGFwcGxlLmNvbT4KIAog
ICAgICAgICBVbnJldmlld2VkIG5ldyBiYXNlbGluZXMgb2YgdmFyaW91cyB0ZXN0cyBmb3IgTWFj
LgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy1yb290LWJsdXItZXhw
ZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFk
b3ctcm9vdC1ibHVyLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zh
c3QvZG9tL3NoYWRvdy9zaGFkb3ctcm9vdC1ibHVyLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkK
QEAgLTAsMCArMSw0MyBAQAorVGhpcyB0ZXN0cyB0aGUgYmx1cigpIG9uIG9uIHNoYWRvdyBob3N0
IHNob3VsZCB3b3JrIHdoZW4gYSBzaGFkb3cgaG9zdCBjb250YWlucyBhIGZvY3VzZWQgZWxlbWVu
dCBpbiBpdHMgc2hhZG93IERPTSBzdWJ0cmVlcyBwcm9wZXJ0eSAoYnVnIDgxMTAyKQorCitPbiBz
dWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dl
ZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworCitnZXRFbGVtZW50SW5TaGFkb3dUcmVlU3RhY2so
J3NoYWRvd0hvc3RBL2NoaWxkSW5UcmVlT25lJykuZm9jdXMoKQorUEFTUyBkb2N1bWVudC5hY3Rp
dmVFbGVtZW50LmlkIGlzICJzaGFkb3dIb3N0QSIKK2dldEVsZW1lbnRJblNoYWRvd1RyZWVTdGFj
aygnc2hhZG93SG9zdEEnKS5ibHVyKCk7CitzaGFkb3dIb3N0QSBvbmJsdXIgY2FsbGVkIQorUEFT
UyBkb2N1bWVudC5hY3RpdmVFbGVtZW50IGlzIGRvY3VtZW50LmJvZHkKK1BBU1MgZ2V0RWxlbWVu
dEluU2hhZG93VHJlZVN0YWNrKCdzaGFkb3dIb3N0QS8nKS5hY3RpdmVFbGVtZW50IGlzIG51bGwK
K1BBU1MgZ2V0RWxlbWVudEluU2hhZG93VHJlZVN0YWNrKCdzaGFkb3dIb3N0QS9zaGFkb3dIb3N0
Qi8nKS5hY3RpdmVFbGVtZW50IGlzIG51bGwKK1BBU1MgZ2V0RWxlbWVudEluU2hhZG93VHJlZVN0
YWNrKCdzaGFkb3dIb3N0Qy8nKS5hY3RpdmVFbGVtZW50IGlzIG51bGwKK2dldEVsZW1lbnRJblNo
YWRvd1RyZWVTdGFjaygnc2hhZG93SG9zdEEvc2hhZG93SG9zdEIvY2hpbGRJblRyZWVUd28nKS5m
b2N1cygpCitQQVNTIGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQuaWQgaXMgInNoYWRvd0hvc3RBIgor
Z2V0RWxlbWVudEluU2hhZG93VHJlZVN0YWNrKCdzaGFkb3dIb3N0QS9zaGFkb3dIb3N0QicpLmJs
dXIoKTsKK3NoYWRvd0hvc3RBIG9uYmx1ciBjYWxsZWQhCitzaGFkb3dIb3N0QiBvbmJsdXIgY2Fs
bGVkIQorUEFTUyBkb2N1bWVudC5hY3RpdmVFbGVtZW50IGlzIGRvY3VtZW50LmJvZHkKK1BBU1Mg
Z2V0RWxlbWVudEluU2hhZG93VHJlZVN0YWNrKCdzaGFkb3dIb3N0QS8nKS5hY3RpdmVFbGVtZW50
IGlzIG51bGwKK1BBU1MgZ2V0RWxlbWVudEluU2hhZG93VHJlZVN0YWNrKCdzaGFkb3dIb3N0QS9z
aGFkb3dIb3N0Qi8nKS5hY3RpdmVFbGVtZW50IGlzIG51bGwKK1BBU1MgZ2V0RWxlbWVudEluU2hh
ZG93VHJlZVN0YWNrKCdzaGFkb3dIb3N0Qy8nKS5hY3RpdmVFbGVtZW50IGlzIG51bGwKK2dldEVs
ZW1lbnRJblNoYWRvd1RyZWVTdGFjaygnc2hhZG93SG9zdEEvc2hhZG93SG9zdEIvY2hpbGRJblRy
ZWVUd28nKS5mb2N1cygpCitQQVNTIGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQuaWQgaXMgInNoYWRv
d0hvc3RBIgorZ2V0RWxlbWVudEluU2hhZG93VHJlZVN0YWNrKCdzaGFkb3dIb3N0QScpLmJsdXIo
KTsKK3NoYWRvd0hvc3RBIG9uYmx1ciBjYWxsZWQhCitzaGFkb3dIb3N0QiBvbmJsdXIgY2FsbGVk
IQorUEFTUyBkb2N1bWVudC5hY3RpdmVFbGVtZW50IGlzIGRvY3VtZW50LmJvZHkKK1BBU1MgZ2V0
RWxlbWVudEluU2hhZG93VHJlZVN0YWNrKCdzaGFkb3dIb3N0QS8nKS5hY3RpdmVFbGVtZW50IGlz
IG51bGwKK1BBU1MgZ2V0RWxlbWVudEluU2hhZG93VHJlZVN0YWNrKCdzaGFkb3dIb3N0QS9zaGFk
b3dIb3N0Qi8nKS5hY3RpdmVFbGVtZW50IGlzIG51bGwKK1BBU1MgZ2V0RWxlbWVudEluU2hhZG93
VHJlZVN0YWNrKCdzaGFkb3dIb3N0Qy8nKS5hY3RpdmVFbGVtZW50IGlzIG51bGwKK2dldEVsZW1l
bnRJblNoYWRvd1RyZWVTdGFjaygnc2hhZG93SG9zdEMvY2hpbGRJblRyZWVUaHJlZScpLmZvY3Vz
KCkKK1BBU1MgZG9jdW1lbnQuYWN0aXZlRWxlbWVudC5pZCBpcyAic2hhZG93SG9zdEMiCitnZXRF
bGVtZW50SW5TaGFkb3dUcmVlU3RhY2soJ3NoYWRvd0hvc3RBJykuYmx1cigpOworUEFTUyBkb2N1
bWVudC5hY3RpdmVFbGVtZW50LmlkIGlzICJzaGFkb3dIb3N0QyIKK1BBU1MgZ2V0RWxlbWVudElu
U2hhZG93VHJlZVN0YWNrKCdzaGFkb3dIb3N0QS8nKS5hY3RpdmVFbGVtZW50IGlzIG51bGwKK1BB
U1MgZ2V0RWxlbWVudEluU2hhZG93VHJlZVN0YWNrKCdzaGFkb3dIb3N0QS9zaGFkb3dIb3N0Qi8n
KS5hY3RpdmVFbGVtZW50IGlzIG51bGwKK1BBU1MgZ2V0RWxlbWVudEluU2hhZG93VHJlZVN0YWNr
KCdzaGFkb3dIb3N0Qy8nKS5hY3RpdmVFbGVtZW50LmlkIGlzICJjaGlsZEluVHJlZVRocmVlIgor
UEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKSW5kZXg6
IExheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctcm9vdC1ibHVyLmh0bWwKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy1yb290LWJsdXIuaHRt
bAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctcm9v
dC1ibHVyLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNzYgQEAKKzwhRE9DVFlQRSBodG1s
PgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVz
dC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9zaGFkb3ctZG9tLmpz
Ij48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGRpdiBpZD0iY29uc29sZSI+Cis8L2Rpdj4K
KzxzY3JpcHQ+CitkZXNjcmlwdGlvbigiVGhpcyB0ZXN0cyB0aGUgYmx1cigpIG9uIG9uIHNoYWRv
dyBob3N0IHNob3VsZCB3b3JrIHdoZW4gYSBzaGFkb3cgaG9zdCBjb250YWlucyBhIGZvY3VzZWQg
ZWxlbWVudCBpbiBpdHMgc2hhZG93IERPTSBzdWJ0cmVlcyBwcm9wZXJ0eSAoYnVnIDgxMTAyKSIp
OworCitpZiAoIXdpbmRvdy5pbnRlcm5hbHMpCisgICAgZGVidWcoJ1RoaXMgdGVzdCBydW5zIG9u
IERSVCBvbmx5Jyk7CisKK2lmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgbGF5
b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworCitkb2N1bWVudC5ib2R5LmFwcGVuZENo
aWxkKAorICAgIGNyZWF0ZURPTSgnZGl2JywgeydpZCc6J3NoYWRvd0hvc3RBJ30sCisgICAgICAg
IGNyZWF0ZVNoYWRvd1Jvb3QoCisgICAgICAgICAgICBjcmVhdGVET00oJ3AnLCB7J2lkJzonY2hp
bGRJblRyZWVPbmUnLCAndGFiaW5kZXgnOicxJ30pLAorICAgICAgICAgICAgY3JlYXRlRE9NKCdk
aXYnLCB7J2lkJzonc2hhZG93SG9zdEInfSwKKyAgICAgICAgICAgICAgICBjcmVhdGVTaGFkb3dS
b290KAorICAgICAgICAgICAgICAgICAgICBjcmVhdGVET00oJ3AnLCB7J2lkJzonY2hpbGRJblRy
ZWVUd28nLCAndGFiaW5kZXgnOicyJ30pKSkpKSk7CisKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hp
bGQoCisgICAgY3JlYXRlRE9NKCdkaXYnLCB7J2lkJzonc2hhZG93SG9zdEMnfSwKKyAgICAgICAg
Y3JlYXRlU2hhZG93Um9vdCgKKyAgICAgICAgICAgIGNyZWF0ZURPTSgncCcsIHsnaWQnOidjaGls
ZEluVHJlZVRocmVlJywgJ3RhYmluZGV4JzonMyd9KSkpCispOworCitnZXRFbGVtZW50SW5TaGFk
b3dUcmVlU3RhY2soJ3NoYWRvd0hvc3RBJykub25ibHVyID0gZnVuY3Rpb24oKSB7IGRlYnVnKCJz
aGFkb3dIb3N0QSBvbmJsdXIgY2FsbGVkISIpOyB9CitnZXRFbGVtZW50SW5TaGFkb3dUcmVlU3Rh
Y2soJ3NoYWRvd0hvc3RBL3NoYWRvd0hvc3RCJykub25ibHVyID0gZnVuY3Rpb24oKSB7IGRlYnVn
KCJzaGFkb3dIb3N0QiBvbmJsdXIgY2FsbGVkISIpOyB9CisKKy8vIGNoaWxkSW5UcmVlT25lIGZv
dWNzZWQgLSBzaGFkb3dIb3N0QSBibHVycmVkCitldmFsQW5kTG9nKCJnZXRFbGVtZW50SW5TaGFk
b3dUcmVlU3RhY2soJ3NoYWRvd0hvc3RBL2NoaWxkSW5UcmVlT25lJykuZm9jdXMoKSIpOworc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJkb2N1bWVudC5hY3RpdmVFbGVtZW50LmlkIiwgInNoYWRvd0hv
c3RBIik7CitldmFsQW5kTG9nKCJnZXRFbGVtZW50SW5TaGFkb3dUcmVlU3RhY2soJ3NoYWRvd0hv
c3RBJykuYmx1cigpOyIpOworc2hvdWxkQmUoImRvY3VtZW50LmFjdGl2ZUVsZW1lbnQiLCAiZG9j
dW1lbnQuYm9keSIpOworc2hvdWxkQmUoImdldEVsZW1lbnRJblNoYWRvd1RyZWVTdGFjaygnc2hh
ZG93SG9zdEEvJykuYWN0aXZlRWxlbWVudCIsICJudWxsIik7CitzaG91bGRCZSgiZ2V0RWxlbWVu
dEluU2hhZG93VHJlZVN0YWNrKCdzaGFkb3dIb3N0QS9zaGFkb3dIb3N0Qi8nKS5hY3RpdmVFbGVt
ZW50IiwgIm51bGwiKTsKK3Nob3VsZEJlKCJnZXRFbGVtZW50SW5TaGFkb3dUcmVlU3RhY2soJ3No
YWRvd0hvc3RDLycpLmFjdGl2ZUVsZW1lbnQiLCAibnVsbCIpOworCisvLyBjaGlsZEluVHJlZVR3
byBmb3Vjc2VkIC0gc2hhZG93SG9zdEIgYmx1cnJlZAorZXZhbEFuZExvZygiZ2V0RWxlbWVudElu
U2hhZG93VHJlZVN0YWNrKCdzaGFkb3dIb3N0QS9zaGFkb3dIb3N0Qi9jaGlsZEluVHJlZVR3bycp
LmZvY3VzKCkiKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jdW1lbnQuYWN0aXZlRWxlbWVu
dC5pZCIsICJzaGFkb3dIb3N0QSIpOworZXZhbEFuZExvZygiZ2V0RWxlbWVudEluU2hhZG93VHJl
ZVN0YWNrKCdzaGFkb3dIb3N0QS9zaGFkb3dIb3N0QicpLmJsdXIoKTsiKTsKK3Nob3VsZEJlKCJk
b2N1bWVudC5hY3RpdmVFbGVtZW50IiwgImRvY3VtZW50LmJvZHkiKTsKK3Nob3VsZEJlKCJnZXRF
bGVtZW50SW5TaGFkb3dUcmVlU3RhY2soJ3NoYWRvd0hvc3RBLycpLmFjdGl2ZUVsZW1lbnQiLCAi
bnVsbCIpOworc2hvdWxkQmUoImdldEVsZW1lbnRJblNoYWRvd1RyZWVTdGFjaygnc2hhZG93SG9z
dEEvc2hhZG93SG9zdEIvJykuYWN0aXZlRWxlbWVudCIsICJudWxsIik7CitzaG91bGRCZSgiZ2V0
RWxlbWVudEluU2hhZG93VHJlZVN0YWNrKCdzaGFkb3dIb3N0Qy8nKS5hY3RpdmVFbGVtZW50Iiwg
Im51bGwiKTsKKworLy8gY2hpbGRJblRyZWVUd28gZm91Y3NlZCAtIHNoYWRvd0hvc3RBIGJsdXJy
ZWQKK2V2YWxBbmRMb2coImdldEVsZW1lbnRJblNoYWRvd1RyZWVTdGFjaygnc2hhZG93SG9zdEEv
c2hhZG93SG9zdEIvY2hpbGRJblRyZWVUd28nKS5mb2N1cygpIik7CitzaG91bGRCZUVxdWFsVG9T
dHJpbmcoImRvY3VtZW50LmFjdGl2ZUVsZW1lbnQuaWQiLCAic2hhZG93SG9zdEEiKTsKK2V2YWxB
bmRMb2coImdldEVsZW1lbnRJblNoYWRvd1RyZWVTdGFjaygnc2hhZG93SG9zdEEnKS5ibHVyKCk7
Iik7CitzaG91bGRCZSgiZG9jdW1lbnQuYWN0aXZlRWxlbWVudCIsICJkb2N1bWVudC5ib2R5Iik7
CitzaG91bGRCZSgiZ2V0RWxlbWVudEluU2hhZG93VHJlZVN0YWNrKCdzaGFkb3dIb3N0QS8nKS5h
Y3RpdmVFbGVtZW50IiwgIm51bGwiKTsKK3Nob3VsZEJlKCJnZXRFbGVtZW50SW5TaGFkb3dUcmVl
U3RhY2soJ3NoYWRvd0hvc3RBL3NoYWRvd0hvc3RCLycpLmFjdGl2ZUVsZW1lbnQiLCAibnVsbCIp
Oworc2hvdWxkQmUoImdldEVsZW1lbnRJblNoYWRvd1RyZWVTdGFjaygnc2hhZG93SG9zdEMvJyku
YWN0aXZlRWxlbWVudCIsICJudWxsIik7CisKKy8vIGNoaWxkSW5UcmVlVGhyZWUgZm91Y3NlZCAt
IHNoYWRvd0hvc3RBIGJsdXJyZWQKK2V2YWxBbmRMb2coImdldEVsZW1lbnRJblNoYWRvd1RyZWVT
dGFjaygnc2hhZG93SG9zdEMvY2hpbGRJblRyZWVUaHJlZScpLmZvY3VzKCkiKTsKK3Nob3VsZEJl
RXF1YWxUb1N0cmluZygiZG9jdW1lbnQuYWN0aXZlRWxlbWVudC5pZCIsICJzaGFkb3dIb3N0QyIp
OworZXZhbEFuZExvZygiZ2V0RWxlbWVudEluU2hhZG93VHJlZVN0YWNrKCdzaGFkb3dIb3N0QScp
LmJsdXIoKTsiKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jdW1lbnQuYWN0aXZlRWxlbWVu
dC5pZCIsICJzaGFkb3dIb3N0QyIpOworc2hvdWxkQmUoImdldEVsZW1lbnRJblNoYWRvd1RyZWVT
dGFjaygnc2hhZG93SG9zdEEvJykuYWN0aXZlRWxlbWVudCIsICJudWxsIik7CitzaG91bGRCZSgi
Z2V0RWxlbWVudEluU2hhZG93VHJlZVN0YWNrKCdzaGFkb3dIb3N0QS9zaGFkb3dIb3N0Qi8nKS5h
Y3RpdmVFbGVtZW50IiwgIm51bGwiKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygiZ2V0RWxlbWVu
dEluU2hhZG93VHJlZVN0YWNrKCdzaGFkb3dIb3N0Qy8nKS5hY3RpdmVFbGVtZW50LmlkIiwgImNo
aWxkSW5UcmVlVGhyZWUiKTsKKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cis8L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48
L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
</data>
<flag name="review"
          id="136221"
          type_id="1"
          status="-"
          setter="morrita"
    />
    <flag name="commit-queue"
          id="136222"
          type_id="3"
          status="-"
          setter="morrita"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>132566</attachid>
            <date>2012-03-19 03:05:01 -0700</date>
            <delta_ts>2012-03-21 04:51:57 -0700</delta_ts>
            <desc>Updated Patch</desc>
            <filename>81102_11.patch</filename>
            <type>text/plain</type>
            <size>12529</size>
            <attacher name="Kaustubh Atrawalkar">kaustubh.ra</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDExMTE3MCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI4IEBACisyMDEyLTAzLTE5ICBLYXVzdHVi
aCBBdHJhd2Fsa2FyICA8a2F1c3R1YmhAbW90b3JvbGEuY29tPgorCisgICAgICAgIGJsdXIoKSBv
biBzaGFkb3cgaG9zdCBzaG91bGQgd29yayB3aGVuIGEgc2hhZG93IGhvc3QgY29udGFpbnMgYSBm
b2N1c2VkIGVsZW1lbnQgaW4gaXRzIHNoYWRvdyBET00gc3VidHJlZXMKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgxMTAyCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVzdDogZmFzdC9kb20vc2hhZG93L3No
YWRvdy1yb290LWJsdXIuaHRtbAorCisgICAgICAgICogZG9tL0VsZW1lbnQuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6RWxlbWVudDo6Ymx1cik6CisgICAgICAgICogZG9tL1NoYWRvd1Jvb3QuaDoK
KyAgICAgICAgKFNoYWRvd1Jvb3QpOgorICAgICAgICAoV2ViQ29yZTo6U2hhZG93Um9vdDo6aXNV
c2VkRm9yUmVuZGVyaW5nKToKKyAgICAgICAgKiBkb20vVHJlZVNjb3BlLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlRyZWVTY29wZTo6YWN0aXZlRWxlbWVudCk6CisgICAgICAgIChXZWJDb3JlKToK
KyAgICAgICAgKFdlYkNvcmU6OlRyZWVTY29wZTo6Zm9jdXNlZE5vZGUpOgorICAgICAgICAqIGRv
bS9UcmVlU2NvcGUuaDoKKyAgICAgICAgKFRyZWVTY29wZSk6CisgICAgICAgICogaHRtbC9IVE1M
RG9jdW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgICogaHRtbC9IVE1MRG9j
dW1lbnQuaDoKKyAgICAgICAgKEhUTUxEb2N1bWVudCk6CisKIDIwMTItMDMtMTggIE1hdHQgRmFs
a2VuaGFnZW4gIDxmYWxrZW5AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIEZhbGxiYWNrIHRvIGNv
bW1vbiBzY3JpcHQgd2hlbiBwZXItc2NyaXB0IGZvbnQgc2V0dGluZyBpcyB0aGUgZW1wdHkgc3Ry
aW5nCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCShyZXZpc2lvbiAxMTExNjApCisrKyBTb3Vy
Y2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE1OTIsNyArMTU5
Miw3IEBAIHZvaWQgRWxlbWVudDo6Ymx1cigpCiB7CiAgICAgY2FuY2VsRm9jdXNBcHBlYXJhbmNl
VXBkYXRlKCk7CiAgICAgRG9jdW1lbnQqIGRvYyA9IGRvY3VtZW50KCk7Ci0gICAgaWYgKGRvYy0+
Zm9jdXNlZE5vZGUoKSA9PSB0aGlzKSB7CisgICAgaWYgKHRyZWVTY29wZSgpLT5mb2N1c2VkTm9k
ZSgpID09IHRoaXMpIHsKICAgICAgICAgaWYgKGRvYy0+ZnJhbWUoKSkKICAgICAgICAgICAgIGRv
Yy0+ZnJhbWUoKS0+cGFnZSgpLT5mb2N1c0NvbnRyb2xsZXIoKS0+c2V0Rm9jdXNlZE5vZGUoMCwg
ZG9jLT5mcmFtZSgpKTsKICAgICAgICAgZWxzZQpJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL1No
YWRvd1Jvb3QuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vU2hhZG93Um9vdC5o
CShyZXZpc2lvbiAxMTExNjApCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vU2hhZG93Um9vdC5oCSh3
b3JraW5nIGNvcHkpCkBAIC03NCw4ICs3NCw2IEBAIHB1YmxpYzoKICAgICBTdHJpbmcgaW5uZXJI
VE1MKCkgY29uc3Q7CiAgICAgdm9pZCBzZXRJbm5lckhUTUwoY29uc3QgU3RyaW5nJiwgRXhjZXB0
aW9uQ29kZSYpOwogCi0gICAgRWxlbWVudCogYWN0aXZlRWxlbWVudCgpIGNvbnN0OwotCiAgICAg
U2hhZG93Um9vdCogeW91bmdlclNoYWRvd1Jvb3QoKSBjb25zdCB7IHJldHVybiBwcmV2KCk7IH0K
ICAgICBTaGFkb3dSb290KiBvbGRlclNoYWRvd1Jvb3QoKSBjb25zdCB7IHJldHVybiBuZXh0KCk7
IH0KIApAQCAtMTIwLDEzICsxMTgsNiBAQCBpbmxpbmUgYm9vbCBTaGFkb3dSb290Ojppc1VzZWRG
b3JSZW5kZXJpCiAgICAgcmV0dXJuIGlzWW91bmdlc3QoKSB8fCBhc3NpZ25lZFRvKCk7CiB9CiAK
LWlubGluZSBFbGVtZW50KiBTaGFkb3dSb290OjphY3RpdmVFbGVtZW50KCkgY29uc3QKLXsKLSAg
ICBpZiAoZG9jdW1lbnQoKS0+aXNIVE1MRG9jdW1lbnQoKSkKLSAgICAgICAgcmV0dXJuIHRyZWVT
Y29wZSgpLT5hY3RpdmVFbGVtZW50KCk7Ci0gICAgcmV0dXJuIDA7Ci19Ci0KIGlubGluZSBjb25z
dCBTaGFkb3dSb290KiB0b1NoYWRvd1Jvb3QoY29uc3QgTm9kZSogbm9kZSkKIHsKICAgICBBU1NF
UlQoIW5vZGUgfHwgbm9kZS0+aXNTaGFkb3dSb290KCkpOwpJbmRleDogU291cmNlL1dlYkNvcmUv
ZG9tL1RyZWVTY29wZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL1RyZWVT
Y29wZS5jcHAJKHJldmlzaW9uIDExMTE2MCkKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9UcmVlU2Nv
cGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNjYsMTIgKzE2NiwyNSBAQCBzdGF0aWMgTm9kZSog
Zm9jdXNlZEZyYW1lT3duZXJFbGVtZW50KEZyCiAKIEVsZW1lbnQqIFRyZWVTY29wZTo6YWN0aXZl
RWxlbWVudCgpCiB7CisgICAgTm9kZSogbm9kZSA9IGZvY3VzZWROb2RlKCk7CisgICAgaWYgKCFu
b2RlKSB7CisgICAgICAgIERvY3VtZW50KiBkb2N1bWVudCA9IHJvb3ROb2RlKCktPmRvY3VtZW50
KCk7CisgICAgICAgIHJldHVybiB0aGlzID09IGRvY3VtZW50ID8gZG9jdW1lbnQtPmJvZHkoKSA6
IDA7CisgICAgfQorCisgICAgaWYgKG5vZGUtPmlzRWxlbWVudE5vZGUoKSkKKyAgICAgICAgcmV0
dXJuIHRvRWxlbWVudChub2RlKTsKKyAgICByZXR1cm4gMDsKK30KKworTm9kZSogVHJlZVNjb3Bl
Ojpmb2N1c2VkTm9kZSgpCit7CiAgICAgRG9jdW1lbnQqIGRvY3VtZW50ID0gcm9vdE5vZGUoKS0+
ZG9jdW1lbnQoKTsKICAgICBOb2RlKiBub2RlID0gZG9jdW1lbnQtPmZvY3VzZWROb2RlKCk7CiAg
ICAgaWYgKCFub2RlICYmIGRvY3VtZW50LT5wYWdlKCkpCiAgICAgICAgIG5vZGUgPSBmb2N1c2Vk
RnJhbWVPd25lckVsZW1lbnQoZG9jdW1lbnQtPnBhZ2UoKS0+Zm9jdXNDb250cm9sbGVyKCktPmZv
Y3VzZWRGcmFtZSgpLCBkb2N1bWVudC0+ZnJhbWUoKSk7CiAgICAgaWYgKCFub2RlKQotICAgICAg
ICByZXR1cm4gdGhpcyA9PSBkb2N1bWVudCA/IGRvY3VtZW50LT5ib2R5KCkgOiAwOworICAgICAg
ICByZXR1cm4gMDsKIAogICAgIFRyZWVTY29wZSogdHJlZVNjb3BlID0gbm9kZS0+dHJlZVNjb3Bl
KCk7CiAKQEAgLTE4MSw5ICsxOTQsOCBAQCBFbGVtZW50KiBUcmVlU2NvcGU6OmFjdGl2ZUVsZW1l
bnQoKQogICAgIH0KICAgICBpZiAodGhpcyAhPSB0cmVlU2NvcGUpCiAgICAgICAgIHJldHVybiAw
OwotICAgIGlmIChub2RlLT5pc0VsZW1lbnROb2RlKCkpCi0gICAgICAgIHJldHVybiB0b0VsZW1l
bnQobm9kZSk7Ci0gICAgcmV0dXJuIDA7CisKKyAgICByZXR1cm4gbm9kZTsKIH0KIAogfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQpJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL1RyZWVTY29wZS5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9UcmVlU2NvcGUuaAkocmV2aXNpb24gMTEx
MTYwKQorKysgU291cmNlL1dlYkNvcmUvZG9tL1RyZWVTY29wZS5oCSh3b3JraW5nIGNvcHkpCkBA
IC00Nyw3ICs0Nyw4IEBAIHB1YmxpYzoKICAgICBUcmVlU2NvcGUqIHBhcmVudFRyZWVTY29wZSgp
IGNvbnN0IHsgcmV0dXJuIG1fcGFyZW50VHJlZVNjb3BlOyB9CiAgICAgdm9pZCBzZXRQYXJlbnRU
cmVlU2NvcGUoVHJlZVNjb3BlKik7CiAKLSAgICBFbGVtZW50KiBhY3RpdmVFbGVtZW50KCk7Cisg
ICAgTm9kZSogZm9jdXNlZE5vZGUoKTsKKyAgICB2aXJ0dWFsIEVsZW1lbnQqIGFjdGl2ZUVsZW1l
bnQoKTsKICAgICBFbGVtZW50KiBnZXRFbGVtZW50QnlJZChjb25zdCBBdG9taWNTdHJpbmcmKSBj
b25zdDsKICAgICBib29sIGhhc0VsZW1lbnRXaXRoSWQoQXRvbWljU3RyaW5nSW1wbCogaWQpIGNv
bnN0OwogICAgIGJvb2wgY29udGFpbnNNdWx0aXBsZUVsZW1lbnRzV2l0aElkKGNvbnN0IEF0b21p
Y1N0cmluZyYgaWQpIGNvbnN0OwpJbmRleDogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRG9jdW1l
bnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTERvY3VtZW50LmNw
cAkocmV2aXNpb24gMTExMTYwKQorKysgU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRG9jdW1lbnQu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMzYsMTEgKzEzNiw2IEBAIHZvaWQgSFRNTERvY3VtZW50
OjpzZXREZXNpZ25Nb2RlKGNvbnN0IFMKICAgICBEb2N1bWVudDo6c2V0RGVzaWduTW9kZShtb2Rl
KTsKIH0KIAotRWxlbWVudCogSFRNTERvY3VtZW50OjphY3RpdmVFbGVtZW50KCkKLXsKLSAgICBy
ZXR1cm4gdHJlZVNjb3BlKCktPmFjdGl2ZUVsZW1lbnQoKTsKLX0KLQogYm9vbCBIVE1MRG9jdW1l
bnQ6Omhhc0ZvY3VzKCkKIHsKICAgICBQYWdlKiBwYWdlID0gdGhpcy0+cGFnZSgpOwpJbmRleDog
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRG9jdW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxEb2N1bWVudC5oCShyZXZpc2lvbiAxMTExNjApCisrKyBTb3VyY2Uv
V2ViQ29yZS9odG1sL0hUTUxEb2N1bWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC01Miw3ICs1Miw2
IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgdm9pZCBzZXRDb21wYXRpYmlsaXR5TW9kZUZyb21E
b2N0eXBlKCk7CiAKLSAgICBFbGVtZW50KiBhY3RpdmVFbGVtZW50KCk7CiAgICAgYm9vbCBoYXNG
b2N1cygpOwogCiAgICAgU3RyaW5nIGJnQ29sb3IoKTsKSW5kZXg6IExheW91dFRlc3RzL0NoYW5n
ZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDExMTE3
MCkKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEz
IEBACisyMDEyLTAzLTE5ICBLYXVzdHViaCBBdHJhd2Fsa2FyICA8a2F1c3R1YmhAbW90b3JvbGEu
Y29tPgorCisgICAgICAgIGJsdXIoKSBvbiBzaGFkb3cgaG9zdCBzaG91bGQgd29yayB3aGVuIGEg
c2hhZG93IGhvc3QgY29udGFpbnMgYSBmb2N1c2VkIGVsZW1lbnQgaW4gaXRzIHNoYWRvdyBET00g
c3VidHJlZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTgxMTAyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
KiBmYXN0L2RvbS9zaGFkb3cvc2hhZG93LXJvb3QtYmx1ci1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9zaGFkb3ctcm9vdC1ibHVyLmh0bWw6IEFkZGVkLgor
CiAyMDEyLTAzLTE5ICBCYWxhenMgQW5rZXMgIDxiYW5rQGluZi51LXN6ZWdlZC5odT4KIAogICAg
ICAgICBbUXRdIEdhcmRlbmluZy4KSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9z
aGFkb3ctcm9vdC1ibHVyLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9m
YXN0L2RvbS9zaGFkb3cvc2hhZG93LXJvb3QtYmx1ci1leHBlY3RlZC50eHQJKHJldmlzaW9uIDAp
CisrKyBMYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LXJvb3QtYmx1ci1leHBlY3Rl
ZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNDMgQEAKK1RoaXMgdGVzdHMgdGhlIGJsdXIo
KSBvbiBvbiBzaGFkb3cgaG9zdCBzaG91bGQgd29yayB3aGVuIGEgc2hhZG93IGhvc3QgY29udGFp
bnMgYSBmb2N1c2VkIGVsZW1lbnQgaW4gaXRzIHNoYWRvdyBET00gc3VidHJlZXMgcHJvcGVydHkg
KGJ1ZyA4MTEwMikKKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNT
IiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKKworZ2V0RWxlbWVu
dEluU2hhZG93VHJlZVN0YWNrKCdzaGFkb3dIb3N0QS9jaGlsZEluVHJlZU9uZScpLmZvY3VzKCkK
K1BBU1MgZG9jdW1lbnQuYWN0aXZlRWxlbWVudC5pZCBpcyAic2hhZG93SG9zdEEiCitnZXRFbGVt
ZW50SW5TaGFkb3dUcmVlU3RhY2soJ3NoYWRvd0hvc3RBJykuYmx1cigpOworc2hhZG93SG9zdEEg
b25ibHVyIGNhbGxlZCEKK1BBU1MgZG9jdW1lbnQuYWN0aXZlRWxlbWVudCBpcyBkb2N1bWVudC5i
b2R5CitQQVNTIGdldEVsZW1lbnRJblNoYWRvd1RyZWVTdGFjaygnc2hhZG93SG9zdEEvJykuYWN0
aXZlRWxlbWVudCBpcyBudWxsCitQQVNTIGdldEVsZW1lbnRJblNoYWRvd1RyZWVTdGFjaygnc2hh
ZG93SG9zdEEvc2hhZG93SG9zdEIvJykuYWN0aXZlRWxlbWVudCBpcyBudWxsCitQQVNTIGdldEVs
ZW1lbnRJblNoYWRvd1RyZWVTdGFjaygnc2hhZG93SG9zdEMvJykuYWN0aXZlRWxlbWVudCBpcyBu
dWxsCitnZXRFbGVtZW50SW5TaGFkb3dUcmVlU3RhY2soJ3NoYWRvd0hvc3RBL3NoYWRvd0hvc3RC
L2NoaWxkSW5UcmVlVHdvJykuZm9jdXMoKQorUEFTUyBkb2N1bWVudC5hY3RpdmVFbGVtZW50Lmlk
IGlzICJzaGFkb3dIb3N0QSIKK2dldEVsZW1lbnRJblNoYWRvd1RyZWVTdGFjaygnc2hhZG93SG9z
dEEvc2hhZG93SG9zdEInKS5ibHVyKCk7CitzaGFkb3dIb3N0QSBvbmJsdXIgY2FsbGVkIQorc2hh
ZG93SG9zdEIgb25ibHVyIGNhbGxlZCEKK1BBU1MgZG9jdW1lbnQuYWN0aXZlRWxlbWVudCBpcyBk
b2N1bWVudC5ib2R5CitQQVNTIGdldEVsZW1lbnRJblNoYWRvd1RyZWVTdGFjaygnc2hhZG93SG9z
dEEvJykuYWN0aXZlRWxlbWVudCBpcyBudWxsCitQQVNTIGdldEVsZW1lbnRJblNoYWRvd1RyZWVT
dGFjaygnc2hhZG93SG9zdEEvc2hhZG93SG9zdEIvJykuYWN0aXZlRWxlbWVudCBpcyBudWxsCitQ
QVNTIGdldEVsZW1lbnRJblNoYWRvd1RyZWVTdGFjaygnc2hhZG93SG9zdEMvJykuYWN0aXZlRWxl
bWVudCBpcyBudWxsCitnZXRFbGVtZW50SW5TaGFkb3dUcmVlU3RhY2soJ3NoYWRvd0hvc3RBL3No
YWRvd0hvc3RCL2NoaWxkSW5UcmVlVHdvJykuZm9jdXMoKQorUEFTUyBkb2N1bWVudC5hY3RpdmVF
bGVtZW50LmlkIGlzICJzaGFkb3dIb3N0QSIKK2dldEVsZW1lbnRJblNoYWRvd1RyZWVTdGFjaygn
c2hhZG93SG9zdEEnKS5ibHVyKCk7CitzaGFkb3dIb3N0QSBvbmJsdXIgY2FsbGVkIQorc2hhZG93
SG9zdEIgb25ibHVyIGNhbGxlZCEKK1BBU1MgZG9jdW1lbnQuYWN0aXZlRWxlbWVudCBpcyBkb2N1
bWVudC5ib2R5CitQQVNTIGdldEVsZW1lbnRJblNoYWRvd1RyZWVTdGFjaygnc2hhZG93SG9zdEEv
JykuYWN0aXZlRWxlbWVudCBpcyBudWxsCitQQVNTIGdldEVsZW1lbnRJblNoYWRvd1RyZWVTdGFj
aygnc2hhZG93SG9zdEEvc2hhZG93SG9zdEIvJykuYWN0aXZlRWxlbWVudCBpcyBudWxsCitQQVNT
IGdldEVsZW1lbnRJblNoYWRvd1RyZWVTdGFjaygnc2hhZG93SG9zdEMvJykuYWN0aXZlRWxlbWVu
dCBpcyBudWxsCitnZXRFbGVtZW50SW5TaGFkb3dUcmVlU3RhY2soJ3NoYWRvd0hvc3RDL2NoaWxk
SW5UcmVlVGhyZWUnKS5mb2N1cygpCitQQVNTIGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQuaWQgaXMg
InNoYWRvd0hvc3RDIgorZ2V0RWxlbWVudEluU2hhZG93VHJlZVN0YWNrKCdzaGFkb3dIb3N0QScp
LmJsdXIoKTsKK1BBU1MgZG9jdW1lbnQuYWN0aXZlRWxlbWVudC5pZCBpcyAic2hhZG93SG9zdEMi
CitQQVNTIGdldEVsZW1lbnRJblNoYWRvd1RyZWVTdGFjaygnc2hhZG93SG9zdEEvJykuYWN0aXZl
RWxlbWVudCBpcyBudWxsCitQQVNTIGdldEVsZW1lbnRJblNoYWRvd1RyZWVTdGFjaygnc2hhZG93
SG9zdEEvc2hhZG93SG9zdEIvJykuYWN0aXZlRWxlbWVudCBpcyBudWxsCitQQVNTIGdldEVsZW1l
bnRJblNoYWRvd1RyZWVTdGFjaygnc2hhZG93SG9zdEMvJykuYWN0aXZlRWxlbWVudC5pZCBpcyAi
Y2hpbGRJblRyZWVUaHJlZSIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVT
VCBDT01QTEVURQorCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LXJv
b3QtYmx1ci5odG1sCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9z
aGFkb3ctcm9vdC1ibHVyLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2Rv
bS9zaGFkb3cvc2hhZG93LXJvb3QtYmx1ci5odG1sCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDc2
IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
anMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNv
dXJjZXMvc2hhZG93LWRvbS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYgaWQ9
ImNvbnNvbGUiPgorPC9kaXY+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oIlRoaXMgdGVzdHMgdGhl
IGJsdXIoKSBvbiBvbiBzaGFkb3cgaG9zdCBzaG91bGQgd29yayB3aGVuIGEgc2hhZG93IGhvc3Qg
Y29udGFpbnMgYSBmb2N1c2VkIGVsZW1lbnQgaW4gaXRzIHNoYWRvdyBET00gc3VidHJlZXMgcHJv
cGVydHkgKGJ1ZyA4MTEwMikiKTsKKworaWYgKCF3aW5kb3cuaW50ZXJuYWxzKQorICAgIGRlYnVn
KCdUaGlzIHRlc3QgcnVucyBvbiBEUlQgb25seScpOworCitpZiAod2luZG93LmxheW91dFRlc3RD
b250cm9sbGVyKQorICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKworZG9j
dW1lbnQuYm9keS5hcHBlbmRDaGlsZCgKKyAgICBjcmVhdGVET00oJ2RpdicsIHsnaWQnOidzaGFk
b3dIb3N0QSd9LAorICAgICAgICBjcmVhdGVTaGFkb3dSb290KAorICAgICAgICAgICAgY3JlYXRl
RE9NKCdwJywgeydpZCc6J2NoaWxkSW5UcmVlT25lJywgJ3RhYmluZGV4JzonMSd9KSwKKyAgICAg
ICAgICAgIGNyZWF0ZURPTSgnZGl2JywgeydpZCc6J3NoYWRvd0hvc3RCJ30sCisgICAgICAgICAg
ICAgICAgY3JlYXRlU2hhZG93Um9vdCgKKyAgICAgICAgICAgICAgICAgICAgY3JlYXRlRE9NKCdw
JywgeydpZCc6J2NoaWxkSW5UcmVlVHdvJywgJ3RhYmluZGV4JzonMid9KSkpKSkpOworCitkb2N1
bWVudC5ib2R5LmFwcGVuZENoaWxkKAorICAgIGNyZWF0ZURPTSgnZGl2JywgeydpZCc6J3NoYWRv
d0hvc3RDJ30sCisgICAgICAgIGNyZWF0ZVNoYWRvd1Jvb3QoCisgICAgICAgICAgICBjcmVhdGVE
T00oJ3AnLCB7J2lkJzonY2hpbGRJblRyZWVUaHJlZScsICd0YWJpbmRleCc6JzMnfSkpKQorKTsK
KworZ2V0RWxlbWVudEluU2hhZG93VHJlZVN0YWNrKCdzaGFkb3dIb3N0QScpLm9uYmx1ciA9IGZ1
bmN0aW9uKCkgeyBkZWJ1Zygic2hhZG93SG9zdEEgb25ibHVyIGNhbGxlZCEiKTsgfQorZ2V0RWxl
bWVudEluU2hhZG93VHJlZVN0YWNrKCdzaGFkb3dIb3N0QS9zaGFkb3dIb3N0QicpLm9uYmx1ciA9
IGZ1bmN0aW9uKCkgeyBkZWJ1Zygic2hhZG93SG9zdEIgb25ibHVyIGNhbGxlZCEiKTsgfQorCisv
LyBjaGlsZEluVHJlZU9uZSBmb3Vjc2VkIC0gc2hhZG93SG9zdEEgYmx1cnJlZAorZXZhbEFuZExv
ZygiZ2V0RWxlbWVudEluU2hhZG93VHJlZVN0YWNrKCdzaGFkb3dIb3N0QS9jaGlsZEluVHJlZU9u
ZScpLmZvY3VzKCkiKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jdW1lbnQuYWN0aXZlRWxl
bWVudC5pZCIsICJzaGFkb3dIb3N0QSIpOworZXZhbEFuZExvZygiZ2V0RWxlbWVudEluU2hhZG93
VHJlZVN0YWNrKCdzaGFkb3dIb3N0QScpLmJsdXIoKTsiKTsKK3Nob3VsZEJlKCJkb2N1bWVudC5h
Y3RpdmVFbGVtZW50IiwgImRvY3VtZW50LmJvZHkiKTsKK3Nob3VsZEJlKCJnZXRFbGVtZW50SW5T
aGFkb3dUcmVlU3RhY2soJ3NoYWRvd0hvc3RBLycpLmFjdGl2ZUVsZW1lbnQiLCAibnVsbCIpOwor
c2hvdWxkQmUoImdldEVsZW1lbnRJblNoYWRvd1RyZWVTdGFjaygnc2hhZG93SG9zdEEvc2hhZG93
SG9zdEIvJykuYWN0aXZlRWxlbWVudCIsICJudWxsIik7CitzaG91bGRCZSgiZ2V0RWxlbWVudElu
U2hhZG93VHJlZVN0YWNrKCdzaGFkb3dIb3N0Qy8nKS5hY3RpdmVFbGVtZW50IiwgIm51bGwiKTsK
KworLy8gY2hpbGRJblRyZWVUd28gZm91Y3NlZCAtIHNoYWRvd0hvc3RCIGJsdXJyZWQKK2V2YWxB
bmRMb2coImdldEVsZW1lbnRJblNoYWRvd1RyZWVTdGFjaygnc2hhZG93SG9zdEEvc2hhZG93SG9z
dEIvY2hpbGRJblRyZWVUd28nKS5mb2N1cygpIik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRv
Y3VtZW50LmFjdGl2ZUVsZW1lbnQuaWQiLCAic2hhZG93SG9zdEEiKTsKK2V2YWxBbmRMb2coImdl
dEVsZW1lbnRJblNoYWRvd1RyZWVTdGFjaygnc2hhZG93SG9zdEEvc2hhZG93SG9zdEInKS5ibHVy
KCk7Iik7CitzaG91bGRCZSgiZG9jdW1lbnQuYWN0aXZlRWxlbWVudCIsICJkb2N1bWVudC5ib2R5
Iik7CitzaG91bGRCZSgiZ2V0RWxlbWVudEluU2hhZG93VHJlZVN0YWNrKCdzaGFkb3dIb3N0QS8n
KS5hY3RpdmVFbGVtZW50IiwgIm51bGwiKTsKK3Nob3VsZEJlKCJnZXRFbGVtZW50SW5TaGFkb3dU
cmVlU3RhY2soJ3NoYWRvd0hvc3RBL3NoYWRvd0hvc3RCLycpLmFjdGl2ZUVsZW1lbnQiLCAibnVs
bCIpOworc2hvdWxkQmUoImdldEVsZW1lbnRJblNoYWRvd1RyZWVTdGFjaygnc2hhZG93SG9zdEMv
JykuYWN0aXZlRWxlbWVudCIsICJudWxsIik7CisKKy8vIGNoaWxkSW5UcmVlVHdvIGZvdWNzZWQg
LSBzaGFkb3dIb3N0QSBibHVycmVkCitldmFsQW5kTG9nKCJnZXRFbGVtZW50SW5TaGFkb3dUcmVl
U3RhY2soJ3NoYWRvd0hvc3RBL3NoYWRvd0hvc3RCL2NoaWxkSW5UcmVlVHdvJykuZm9jdXMoKSIp
Oworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2N1bWVudC5hY3RpdmVFbGVtZW50LmlkIiwgInNo
YWRvd0hvc3RBIik7CitldmFsQW5kTG9nKCJnZXRFbGVtZW50SW5TaGFkb3dUcmVlU3RhY2soJ3No
YWRvd0hvc3RBJykuYmx1cigpOyIpOworc2hvdWxkQmUoImRvY3VtZW50LmFjdGl2ZUVsZW1lbnQi
LCAiZG9jdW1lbnQuYm9keSIpOworc2hvdWxkQmUoImdldEVsZW1lbnRJblNoYWRvd1RyZWVTdGFj
aygnc2hhZG93SG9zdEEvJykuYWN0aXZlRWxlbWVudCIsICJudWxsIik7CitzaG91bGRCZSgiZ2V0
RWxlbWVudEluU2hhZG93VHJlZVN0YWNrKCdzaGFkb3dIb3N0QS9zaGFkb3dIb3N0Qi8nKS5hY3Rp
dmVFbGVtZW50IiwgIm51bGwiKTsKK3Nob3VsZEJlKCJnZXRFbGVtZW50SW5TaGFkb3dUcmVlU3Rh
Y2soJ3NoYWRvd0hvc3RDLycpLmFjdGl2ZUVsZW1lbnQiLCAibnVsbCIpOworCisvLyBjaGlsZElu
VHJlZVRocmVlIGZvdWNzZWQgLSBzaGFkb3dIb3N0QSBibHVycmVkCitldmFsQW5kTG9nKCJnZXRF
bGVtZW50SW5TaGFkb3dUcmVlU3RhY2soJ3NoYWRvd0hvc3RDL2NoaWxkSW5UcmVlVGhyZWUnKS5m
b2N1cygpIik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvY3VtZW50LmFjdGl2ZUVsZW1lbnQu
aWQiLCAic2hhZG93SG9zdEMiKTsKK2V2YWxBbmRMb2coImdldEVsZW1lbnRJblNoYWRvd1RyZWVT
dGFjaygnc2hhZG93SG9zdEEnKS5ibHVyKCk7Iik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRv
Y3VtZW50LmFjdGl2ZUVsZW1lbnQuaWQiLCAic2hhZG93SG9zdEMiKTsKK3Nob3VsZEJlKCJnZXRF
bGVtZW50SW5TaGFkb3dUcmVlU3RhY2soJ3NoYWRvd0hvc3RBLycpLmFjdGl2ZUVsZW1lbnQiLCAi
bnVsbCIpOworc2hvdWxkQmUoImdldEVsZW1lbnRJblNoYWRvd1RyZWVTdGFjaygnc2hhZG93SG9z
dEEvc2hhZG93SG9zdEIvJykuYWN0aXZlRWxlbWVudCIsICJudWxsIik7CitzaG91bGRCZUVxdWFs
VG9TdHJpbmcoImdldEVsZW1lbnRJblNoYWRvd1RyZWVTdGFjaygnc2hhZG93SG9zdEMvJykuYWN0
aXZlRWxlbWVudC5pZCIsICJjaGlsZEluVHJlZVRocmVlIik7CisKK3ZhciBzdWNjZXNzZnVsbHlQ
YXJzZWQgPSB0cnVlOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8L2h0bWw+Cg==
</data>
<flag name="review"
          id="136241"
          type_id="1"
          status="-"
          setter="morrita"
    />
    <flag name="commit-queue"
          id="136242"
          type_id="3"
          status="-"
          setter="morrita"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>133012</attachid>
            <date>2012-03-21 04:51:57 -0700</date>
            <delta_ts>2012-03-22 02:10:50 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>81102.patch</filename>
            <type>text/plain</type>
            <size>11578</size>
            <attacher name="Kaustubh Atrawalkar">kaustubh.ra</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDExMTUyMikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIzIEBACisyMDEyLTAzLTIxICBLYXVzdHVi
aCBBdHJhd2Fsa2FyICA8a2F1c3R1YmhAbW90b3JvbGEuY29tPgorCisgICAgICAgIGJsdXIoKSBv
biBzaGFkb3cgaG9zdCBzaG91bGQgd29yayB3aGVuIGEgc2hhZG93IGhvc3QgY29udGFpbnMgYSBm
b2N1c2VkIGVsZW1lbnQgaW4gaXRzIHNoYWRvdyBET00gc3VidHJlZXMKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgxMTAyCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVzdDogZmFzdC9kb20vc2hhZG93L3No
YWRvdy1yb290LWJsdXIuaHRtbAorCisgICAgICAgICogZG9tL0VsZW1lbnQuY3BwOgorICAgICAg
ICAoV2ViQ29yZTo6RWxlbWVudDo6Ymx1cik6CisgICAgICAgICogZG9tL1NoYWRvd1Jvb3QuaDoK
KyAgICAgICAgKFdlYkNvcmU6OlNoYWRvd1Jvb3Q6OmFjdGl2ZUVsZW1lbnQpOgorICAgICAgICAq
IGRvbS9UcmVlU2NvcGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VHJlZVNjb3BlOjpmb2N1c2Vk
Tm9kZSk6CisgICAgICAgICogZG9tL1RyZWVTY29wZS5oOgorICAgICAgICAoVHJlZVNjb3BlKToK
KyAgICAgICAgKiBodG1sL0hUTUxEb2N1bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1M
RG9jdW1lbnQ6OmFjdGl2ZUVsZW1lbnQpOgorCiAyMDEyLTAzLTIxICBJbHlhIFRpa2hvbm92c2t5
ICA8bG9pc2xvQGNocm9taXVtLm9yZz4KIAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBIZWFwU25h
cHNob3Q6IG1ha2UgX2JmcyB0d2ljZSBhcyBmYXN0IGFzIHRoZSBvbGQgdmVyc2lvbi4KSW5kZXg6
IFNvdXJjZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9kb20vRWxlbWVudC5jcHAJKHJldmlzaW9uIDExMTUwNSkKKysrIFNvdXJjZS9XZWJDb3Jl
L2RvbS9FbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTU5Miw3ICsxNTkyLDcgQEAgdm9p
ZCBFbGVtZW50OjpibHVyKCkKIHsKICAgICBjYW5jZWxGb2N1c0FwcGVhcmFuY2VVcGRhdGUoKTsK
ICAgICBEb2N1bWVudCogZG9jID0gZG9jdW1lbnQoKTsKLSAgICBpZiAoZG9jLT5mb2N1c2VkTm9k
ZSgpID09IHRoaXMpIHsKKyAgICBpZiAodHJlZVNjb3BlKCktPmZvY3VzZWROb2RlKCkgPT0gdGhp
cykgewogICAgICAgICBpZiAoZG9jLT5mcmFtZSgpKQogICAgICAgICAgICAgZG9jLT5mcmFtZSgp
LT5wYWdlKCktPmZvY3VzQ29udHJvbGxlcigpLT5zZXRGb2N1c2VkTm9kZSgwLCBkb2MtPmZyYW1l
KCkpOwogICAgICAgICBlbHNlCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vU2hhZG93Um9vdC5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9TaGFkb3dSb290LmgJKHJldmlzaW9u
IDExMTUwNSkKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9TaGFkb3dSb290LmgJKHdvcmtpbmcgY29w
eSkKQEAgLTI5LDYgKzI5LDcgQEAKIAogI2luY2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAi
RG9jdW1lbnRGcmFnbWVudC5oIgorI2luY2x1ZGUgIkVsZW1lbnQuaCIKICNpbmNsdWRlICJFeGNl
cHRpb25Db2RlLmgiCiAjaW5jbHVkZSAiVHJlZVNjb3BlLmgiCiAjaW5jbHVkZSA8d3RmL0RvdWJs
eUxpbmtlZExpc3QuaD4KQEAgLTEyMiw4ICsxMjMsOCBAQCBpbmxpbmUgYm9vbCBTaGFkb3dSb290
Ojppc1VzZWRGb3JSZW5kZXJpCiAKIGlubGluZSBFbGVtZW50KiBTaGFkb3dSb290OjphY3RpdmVF
bGVtZW50KCkgY29uc3QKIHsKLSAgICBpZiAoZG9jdW1lbnQoKS0+aXNIVE1MRG9jdW1lbnQoKSkK
LSAgICAgICAgcmV0dXJuIHRyZWVTY29wZSgpLT5hY3RpdmVFbGVtZW50KCk7CisgICAgaWYgKE5v
ZGUqIG5vZGUgPSB0cmVlU2NvcGUoKS0+Zm9jdXNlZE5vZGUoKSkKKyAgICAgICAgcmV0dXJuIG5v
ZGUtPmlzRWxlbWVudE5vZGUoKSA/IHRvRWxlbWVudChub2RlKSA6IDA7CiAgICAgcmV0dXJuIDA7
CiB9CiAKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9UcmVlU2NvcGUuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9UcmVlU2NvcGUuY3BwCShyZXZpc2lvbiAxMTE1MDUpCisr
KyBTb3VyY2UvV2ViQ29yZS9kb20vVHJlZVNjb3BlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTY0
LDE0ICsxNjQsMTQgQEAgc3RhdGljIE5vZGUqIGZvY3VzZWRGcmFtZU93bmVyRWxlbWVudChGcgog
ICAgIHJldHVybiAwOwogfQogCi1FbGVtZW50KiBUcmVlU2NvcGU6OmFjdGl2ZUVsZW1lbnQoKQor
Tm9kZSogVHJlZVNjb3BlOjpmb2N1c2VkTm9kZSgpCiB7CiAgICAgRG9jdW1lbnQqIGRvY3VtZW50
ID0gcm9vdE5vZGUoKS0+ZG9jdW1lbnQoKTsKICAgICBOb2RlKiBub2RlID0gZG9jdW1lbnQtPmZv
Y3VzZWROb2RlKCk7CiAgICAgaWYgKCFub2RlICYmIGRvY3VtZW50LT5wYWdlKCkpCiAgICAgICAg
IG5vZGUgPSBmb2N1c2VkRnJhbWVPd25lckVsZW1lbnQoZG9jdW1lbnQtPnBhZ2UoKS0+Zm9jdXND
b250cm9sbGVyKCktPmZvY3VzZWRGcmFtZSgpLCBkb2N1bWVudC0+ZnJhbWUoKSk7CiAgICAgaWYg
KCFub2RlKQotICAgICAgICByZXR1cm4gdGhpcyA9PSBkb2N1bWVudCA/IGRvY3VtZW50LT5ib2R5
KCkgOiAwOworICAgICAgICByZXR1cm4gMDsKIAogICAgIFRyZWVTY29wZSogdHJlZVNjb3BlID0g
bm9kZS0+dHJlZVNjb3BlKCk7CiAKQEAgLTE4MSw5ICsxODEsOCBAQCBFbGVtZW50KiBUcmVlU2Nv
cGU6OmFjdGl2ZUVsZW1lbnQoKQogICAgIH0KICAgICBpZiAodGhpcyAhPSB0cmVlU2NvcGUpCiAg
ICAgICAgIHJldHVybiAwOwotICAgIGlmIChub2RlLT5pc0VsZW1lbnROb2RlKCkpCi0gICAgICAg
IHJldHVybiB0b0VsZW1lbnQobm9kZSk7Ci0gICAgcmV0dXJuIDA7CisKKyAgICByZXR1cm4gbm9k
ZTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDogU291cmNlL1dlYkNvcmUvZG9t
L1RyZWVTY29wZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9UcmVlU2NvcGUu
aAkocmV2aXNpb24gMTExNTA1KQorKysgU291cmNlL1dlYkNvcmUvZG9tL1RyZWVTY29wZS5oCSh3
b3JraW5nIGNvcHkpCkBAIC00Nyw3ICs0Nyw3IEBAIHB1YmxpYzoKICAgICBUcmVlU2NvcGUqIHBh
cmVudFRyZWVTY29wZSgpIGNvbnN0IHsgcmV0dXJuIG1fcGFyZW50VHJlZVNjb3BlOyB9CiAgICAg
dm9pZCBzZXRQYXJlbnRUcmVlU2NvcGUoVHJlZVNjb3BlKik7CiAKLSAgICBFbGVtZW50KiBhY3Rp
dmVFbGVtZW50KCk7CisgICAgTm9kZSogZm9jdXNlZE5vZGUoKTsKICAgICBFbGVtZW50KiBnZXRF
bGVtZW50QnlJZChjb25zdCBBdG9taWNTdHJpbmcmKSBjb25zdDsKICAgICBib29sIGhhc0VsZW1l
bnRXaXRoSWQoQXRvbWljU3RyaW5nSW1wbCogaWQpIGNvbnN0OwogICAgIGJvb2wgY29udGFpbnNN
dWx0aXBsZUVsZW1lbnRzV2l0aElkKGNvbnN0IEF0b21pY1N0cmluZyYgaWQpIGNvbnN0OwpJbmRl
eDogU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRG9jdW1lbnQuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTERvY3VtZW50LmNwcAkocmV2aXNpb24gMTExNTA1KQorKysg
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRG9jdW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0x
MzgsNyArMTM4LDkgQEAgdm9pZCBIVE1MRG9jdW1lbnQ6OnNldERlc2lnbk1vZGUoY29uc3QgUwog
CiBFbGVtZW50KiBIVE1MRG9jdW1lbnQ6OmFjdGl2ZUVsZW1lbnQoKQogewotICAgIHJldHVybiB0
cmVlU2NvcGUoKS0+YWN0aXZlRWxlbWVudCgpOworICAgIGlmIChOb2RlKiBub2RlID0gdHJlZVNj
b3BlKCktPmZvY3VzZWROb2RlKCkpCisgICAgICAgIHJldHVybiBub2RlLT5pc0VsZW1lbnROb2Rl
KCkgPyB0b0VsZW1lbnQobm9kZSkgOiBib2R5KCk7CisgICAgcmV0dXJuIGJvZHkoKTsKIH0KIAog
Ym9vbCBIVE1MRG9jdW1lbnQ6Omhhc0ZvY3VzKCkKSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxv
Zwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDExMTUyMikK
KysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEzIEBA
CisyMDEyLTAzLTIxICBLYXVzdHViaCBBdHJhd2Fsa2FyICA8a2F1c3R1YmhAbW90b3JvbGEuY29t
PgorCisgICAgICAgIGJsdXIoKSBvbiBzaGFkb3cgaG9zdCBzaG91bGQgd29yayB3aGVuIGEgc2hh
ZG93IGhvc3QgY29udGFpbnMgYSBmb2N1c2VkIGVsZW1lbnQgaW4gaXRzIHNoYWRvdyBET00gc3Vi
dHJlZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgx
MTAyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBm
YXN0L2RvbS9zaGFkb3cvc2hhZG93LXJvb3QtYmx1ci1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIGZhc3QvZG9tL3NoYWRvdy9zaGFkb3ctcm9vdC1ibHVyLmh0bWw6IEFkZGVkLgorCiAy
MDEyLTAzLTIxICBWaW5lZXQgQ2hhdWRoYXJ5ICA8cmdmNzQ4QG1vdG9yb2xhLmNvbT4KIAogICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODE3MDUKSW5kZXg6
IExheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctcm9vdC1ibHVyLWV4cGVjdGVkLnR4
dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LXJvb3Qt
Ymx1ci1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2RvbS9z
aGFkb3cvc2hhZG93LXJvb3QtYmx1ci1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAg
KzEsNDMgQEAKK1RoaXMgdGVzdHMgdGhlIGJsdXIoKSBvbiBvbiBzaGFkb3cgaG9zdCBzaG91bGQg
d29yayB3aGVuIGEgc2hhZG93IGhvc3QgY29udGFpbnMgYSBmb2N1c2VkIGVsZW1lbnQgaW4gaXRz
IHNoYWRvdyBET00gc3VidHJlZXMgcHJvcGVydHkgKGJ1ZyA4MTEwMikKKworT24gc3VjY2Vzcywg
eW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRF
U1QgQ09NUExFVEUiLgorCisKKworZ2V0Tm9kZUluU2hhZG93VHJlZVN0YWNrKCdzaGFkb3dIb3N0
QS9jaGlsZEluVHJlZU9uZScpLmZvY3VzKCkKK1BBU1MgZG9jdW1lbnQuYWN0aXZlRWxlbWVudC5p
ZCBpcyAic2hhZG93SG9zdEEiCitnZXROb2RlSW5TaGFkb3dUcmVlU3RhY2soJ3NoYWRvd0hvc3RB
JykuYmx1cigpOworc2hhZG93SG9zdEEgb25ibHVyIGNhbGxlZCEKK1BBU1MgZG9jdW1lbnQuYWN0
aXZlRWxlbWVudCBpcyBkb2N1bWVudC5ib2R5CitQQVNTIGdldE5vZGVJblNoYWRvd1RyZWVTdGFj
aygnc2hhZG93SG9zdEEvJykuYWN0aXZlRWxlbWVudCBpcyBudWxsCitQQVNTIGdldE5vZGVJblNo
YWRvd1RyZWVTdGFjaygnc2hhZG93SG9zdEEvc2hhZG93SG9zdEIvJykuYWN0aXZlRWxlbWVudCBp
cyBudWxsCitQQVNTIGdldE5vZGVJblNoYWRvd1RyZWVTdGFjaygnc2hhZG93SG9zdEMvJykuYWN0
aXZlRWxlbWVudCBpcyBudWxsCitnZXROb2RlSW5TaGFkb3dUcmVlU3RhY2soJ3NoYWRvd0hvc3RB
L3NoYWRvd0hvc3RCL2NoaWxkSW5UcmVlVHdvJykuZm9jdXMoKQorUEFTUyBkb2N1bWVudC5hY3Rp
dmVFbGVtZW50LmlkIGlzICJzaGFkb3dIb3N0QSIKK2dldE5vZGVJblNoYWRvd1RyZWVTdGFjaygn
c2hhZG93SG9zdEEvc2hhZG93SG9zdEInKS5ibHVyKCk7CitzaGFkb3dIb3N0QSBvbmJsdXIgY2Fs
bGVkIQorc2hhZG93SG9zdEIgb25ibHVyIGNhbGxlZCEKK1BBU1MgZG9jdW1lbnQuYWN0aXZlRWxl
bWVudCBpcyBkb2N1bWVudC5ib2R5CitQQVNTIGdldE5vZGVJblNoYWRvd1RyZWVTdGFjaygnc2hh
ZG93SG9zdEEvJykuYWN0aXZlRWxlbWVudCBpcyBudWxsCitQQVNTIGdldE5vZGVJblNoYWRvd1Ry
ZWVTdGFjaygnc2hhZG93SG9zdEEvc2hhZG93SG9zdEIvJykuYWN0aXZlRWxlbWVudCBpcyBudWxs
CitQQVNTIGdldE5vZGVJblNoYWRvd1RyZWVTdGFjaygnc2hhZG93SG9zdEMvJykuYWN0aXZlRWxl
bWVudCBpcyBudWxsCitnZXROb2RlSW5TaGFkb3dUcmVlU3RhY2soJ3NoYWRvd0hvc3RBL3NoYWRv
d0hvc3RCL2NoaWxkSW5UcmVlVHdvJykuZm9jdXMoKQorUEFTUyBkb2N1bWVudC5hY3RpdmVFbGVt
ZW50LmlkIGlzICJzaGFkb3dIb3N0QSIKK2dldE5vZGVJblNoYWRvd1RyZWVTdGFjaygnc2hhZG93
SG9zdEEnKS5ibHVyKCk7CitzaGFkb3dIb3N0QSBvbmJsdXIgY2FsbGVkIQorc2hhZG93SG9zdEIg
b25ibHVyIGNhbGxlZCEKK1BBU1MgZG9jdW1lbnQuYWN0aXZlRWxlbWVudCBpcyBkb2N1bWVudC5i
b2R5CitQQVNTIGdldE5vZGVJblNoYWRvd1RyZWVTdGFjaygnc2hhZG93SG9zdEEvJykuYWN0aXZl
RWxlbWVudCBpcyBudWxsCitQQVNTIGdldE5vZGVJblNoYWRvd1RyZWVTdGFjaygnc2hhZG93SG9z
dEEvc2hhZG93SG9zdEIvJykuYWN0aXZlRWxlbWVudCBpcyBudWxsCitQQVNTIGdldE5vZGVJblNo
YWRvd1RyZWVTdGFjaygnc2hhZG93SG9zdEMvJykuYWN0aXZlRWxlbWVudCBpcyBudWxsCitnZXRO
b2RlSW5TaGFkb3dUcmVlU3RhY2soJ3NoYWRvd0hvc3RDL2NoaWxkSW5UcmVlVGhyZWUnKS5mb2N1
cygpCitQQVNTIGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQuaWQgaXMgInNoYWRvd0hvc3RDIgorZ2V0
Tm9kZUluU2hhZG93VHJlZVN0YWNrKCdzaGFkb3dIb3N0QScpLmJsdXIoKTsKK1BBU1MgZG9jdW1l
bnQuYWN0aXZlRWxlbWVudC5pZCBpcyAic2hhZG93SG9zdEMiCitQQVNTIGdldE5vZGVJblNoYWRv
d1RyZWVTdGFjaygnc2hhZG93SG9zdEEvJykuYWN0aXZlRWxlbWVudCBpcyBudWxsCitQQVNTIGdl
dE5vZGVJblNoYWRvd1RyZWVTdGFjaygnc2hhZG93SG9zdEEvc2hhZG93SG9zdEIvJykuYWN0aXZl
RWxlbWVudCBpcyBudWxsCitQQVNTIGdldE5vZGVJblNoYWRvd1RyZWVTdGFjaygnc2hhZG93SG9z
dEMvJykuYWN0aXZlRWxlbWVudC5pZCBpcyAiY2hpbGRJblRyZWVUaHJlZSIKK1BBU1Mgc3VjY2Vz
c2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCkluZGV4OiBMYXlvdXRUZXN0
cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LXJvb3QtYmx1ci5odG1sCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExh
eW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctcm9vdC1ibHVyLmh0bWwJKHJldmlzaW9u
IDApCisrKyBMYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LXJvb3QtYmx1ci5odG1s
CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDc2IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvc2hhZG93LWRvbS5qcyI+PC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYgaWQ9ImNvbnNvbGUiPgorPC9kaXY+Cis8c2NyaXB0Pgor
ZGVzY3JpcHRpb24oIlRoaXMgdGVzdHMgdGhlIGJsdXIoKSBvbiBvbiBzaGFkb3cgaG9zdCBzaG91
bGQgd29yayB3aGVuIGEgc2hhZG93IGhvc3QgY29udGFpbnMgYSBmb2N1c2VkIGVsZW1lbnQgaW4g
aXRzIHNoYWRvdyBET00gc3VidHJlZXMgcHJvcGVydHkgKGJ1ZyA4MTEwMikiKTsKKworaWYgKCF3
aW5kb3cuaW50ZXJuYWxzKQorICAgIGRlYnVnKCdUaGlzIHRlc3QgcnVucyBvbiBEUlQgb25seScp
OworCitpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgIGxheW91dFRlc3RDb250
cm9sbGVyLmR1bXBBc1RleHQoKTsKKworZG9jdW1lbnQuYm9keS5hcHBlbmRDaGlsZCgKKyAgICBj
cmVhdGVET00oJ2RpdicsIHsnaWQnOidzaGFkb3dIb3N0QSd9LAorICAgICAgICBjcmVhdGVTaGFk
b3dSb290KAorICAgICAgICAgICAgY3JlYXRlRE9NKCdwJywgeydpZCc6J2NoaWxkSW5UcmVlT25l
JywgJ3RhYmluZGV4JzonMSd9KSwKKyAgICAgICAgICAgIGNyZWF0ZURPTSgnZGl2JywgeydpZCc6
J3NoYWRvd0hvc3RCJ30sCisgICAgICAgICAgICAgICAgY3JlYXRlU2hhZG93Um9vdCgKKyAgICAg
ICAgICAgICAgICAgICAgY3JlYXRlRE9NKCdwJywgeydpZCc6J2NoaWxkSW5UcmVlVHdvJywgJ3Rh
YmluZGV4JzonMid9KSkpKSkpOworCitkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKAorICAgIGNy
ZWF0ZURPTSgnZGl2JywgeydpZCc6J3NoYWRvd0hvc3RDJ30sCisgICAgICAgIGNyZWF0ZVNoYWRv
d1Jvb3QoCisgICAgICAgICAgICBjcmVhdGVET00oJ3AnLCB7J2lkJzonY2hpbGRJblRyZWVUaHJl
ZScsICd0YWJpbmRleCc6JzMnfSkpKQorKTsKKworZ2V0Tm9kZUluU2hhZG93VHJlZVN0YWNrKCdz
aGFkb3dIb3N0QScpLm9uYmx1ciA9IGZ1bmN0aW9uKCkgeyBkZWJ1Zygic2hhZG93SG9zdEEgb25i
bHVyIGNhbGxlZCEiKTsgfQorZ2V0Tm9kZUluU2hhZG93VHJlZVN0YWNrKCdzaGFkb3dIb3N0QS9z
aGFkb3dIb3N0QicpLm9uYmx1ciA9IGZ1bmN0aW9uKCkgeyBkZWJ1Zygic2hhZG93SG9zdEIgb25i
bHVyIGNhbGxlZCEiKTsgfQorCisvLyBjaGlsZEluVHJlZU9uZSBmb3Vjc2VkIC0gc2hhZG93SG9z
dEEgYmx1cnJlZAorZXZhbEFuZExvZygiZ2V0Tm9kZUluU2hhZG93VHJlZVN0YWNrKCdzaGFkb3dI
b3N0QS9jaGlsZEluVHJlZU9uZScpLmZvY3VzKCkiKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygi
ZG9jdW1lbnQuYWN0aXZlRWxlbWVudC5pZCIsICJzaGFkb3dIb3N0QSIpOworZXZhbEFuZExvZygi
Z2V0Tm9kZUluU2hhZG93VHJlZVN0YWNrKCdzaGFkb3dIb3N0QScpLmJsdXIoKTsiKTsKK3Nob3Vs
ZEJlKCJkb2N1bWVudC5hY3RpdmVFbGVtZW50IiwgImRvY3VtZW50LmJvZHkiKTsKK3Nob3VsZEJl
KCJnZXROb2RlSW5TaGFkb3dUcmVlU3RhY2soJ3NoYWRvd0hvc3RBLycpLmFjdGl2ZUVsZW1lbnQi
LCAibnVsbCIpOworc2hvdWxkQmUoImdldE5vZGVJblNoYWRvd1RyZWVTdGFjaygnc2hhZG93SG9z
dEEvc2hhZG93SG9zdEIvJykuYWN0aXZlRWxlbWVudCIsICJudWxsIik7CitzaG91bGRCZSgiZ2V0
Tm9kZUluU2hhZG93VHJlZVN0YWNrKCdzaGFkb3dIb3N0Qy8nKS5hY3RpdmVFbGVtZW50IiwgIm51
bGwiKTsKKworLy8gY2hpbGRJblRyZWVUd28gZm91Y3NlZCAtIHNoYWRvd0hvc3RCIGJsdXJyZWQK
K2V2YWxBbmRMb2coImdldE5vZGVJblNoYWRvd1RyZWVTdGFjaygnc2hhZG93SG9zdEEvc2hhZG93
SG9zdEIvY2hpbGRJblRyZWVUd28nKS5mb2N1cygpIik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmco
ImRvY3VtZW50LmFjdGl2ZUVsZW1lbnQuaWQiLCAic2hhZG93SG9zdEEiKTsKK2V2YWxBbmRMb2co
ImdldE5vZGVJblNoYWRvd1RyZWVTdGFjaygnc2hhZG93SG9zdEEvc2hhZG93SG9zdEInKS5ibHVy
KCk7Iik7CitzaG91bGRCZSgiZG9jdW1lbnQuYWN0aXZlRWxlbWVudCIsICJkb2N1bWVudC5ib2R5
Iik7CitzaG91bGRCZSgiZ2V0Tm9kZUluU2hhZG93VHJlZVN0YWNrKCdzaGFkb3dIb3N0QS8nKS5h
Y3RpdmVFbGVtZW50IiwgIm51bGwiKTsKK3Nob3VsZEJlKCJnZXROb2RlSW5TaGFkb3dUcmVlU3Rh
Y2soJ3NoYWRvd0hvc3RBL3NoYWRvd0hvc3RCLycpLmFjdGl2ZUVsZW1lbnQiLCAibnVsbCIpOwor
c2hvdWxkQmUoImdldE5vZGVJblNoYWRvd1RyZWVTdGFjaygnc2hhZG93SG9zdEMvJykuYWN0aXZl
RWxlbWVudCIsICJudWxsIik7CisKKy8vIGNoaWxkSW5UcmVlVHdvIGZvdWNzZWQgLSBzaGFkb3dI
b3N0QSBibHVycmVkCitldmFsQW5kTG9nKCJnZXROb2RlSW5TaGFkb3dUcmVlU3RhY2soJ3NoYWRv
d0hvc3RBL3NoYWRvd0hvc3RCL2NoaWxkSW5UcmVlVHdvJykuZm9jdXMoKSIpOworc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJkb2N1bWVudC5hY3RpdmVFbGVtZW50LmlkIiwgInNoYWRvd0hvc3RBIik7
CitldmFsQW5kTG9nKCJnZXROb2RlSW5TaGFkb3dUcmVlU3RhY2soJ3NoYWRvd0hvc3RBJykuYmx1
cigpOyIpOworc2hvdWxkQmUoImRvY3VtZW50LmFjdGl2ZUVsZW1lbnQiLCAiZG9jdW1lbnQuYm9k
eSIpOworc2hvdWxkQmUoImdldE5vZGVJblNoYWRvd1RyZWVTdGFjaygnc2hhZG93SG9zdEEvJyku
YWN0aXZlRWxlbWVudCIsICJudWxsIik7CitzaG91bGRCZSgiZ2V0Tm9kZUluU2hhZG93VHJlZVN0
YWNrKCdzaGFkb3dIb3N0QS9zaGFkb3dIb3N0Qi8nKS5hY3RpdmVFbGVtZW50IiwgIm51bGwiKTsK
K3Nob3VsZEJlKCJnZXROb2RlSW5TaGFkb3dUcmVlU3RhY2soJ3NoYWRvd0hvc3RDLycpLmFjdGl2
ZUVsZW1lbnQiLCAibnVsbCIpOworCisvLyBjaGlsZEluVHJlZVRocmVlIGZvdWNzZWQgLSBzaGFk
b3dIb3N0QSBibHVycmVkCitldmFsQW5kTG9nKCJnZXROb2RlSW5TaGFkb3dUcmVlU3RhY2soJ3No
YWRvd0hvc3RDL2NoaWxkSW5UcmVlVGhyZWUnKS5mb2N1cygpIik7CitzaG91bGRCZUVxdWFsVG9T
dHJpbmcoImRvY3VtZW50LmFjdGl2ZUVsZW1lbnQuaWQiLCAic2hhZG93SG9zdEMiKTsKK2V2YWxB
bmRMb2coImdldE5vZGVJblNoYWRvd1RyZWVTdGFjaygnc2hhZG93SG9zdEEnKS5ibHVyKCk7Iik7
CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvY3VtZW50LmFjdGl2ZUVsZW1lbnQuaWQiLCAic2hh
ZG93SG9zdEMiKTsKK3Nob3VsZEJlKCJnZXROb2RlSW5TaGFkb3dUcmVlU3RhY2soJ3NoYWRvd0hv
c3RBLycpLmFjdGl2ZUVsZW1lbnQiLCAibnVsbCIpOworc2hvdWxkQmUoImdldE5vZGVJblNoYWRv
d1RyZWVTdGFjaygnc2hhZG93SG9zdEEvc2hhZG93SG9zdEIvJykuYWN0aXZlRWxlbWVudCIsICJu
dWxsIik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoImdldE5vZGVJblNoYWRvd1RyZWVTdGFjaygn
c2hhZG93SG9zdEMvJykuYWN0aXZlRWxlbWVudC5pZCIsICJjaGlsZEluVHJlZVRocmVlIik7CisK
K3ZhciBzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2JvZHk+Cis8
L2h0bWw+Cg==
</data>
<flag name="review"
          id="136850"
          type_id="1"
          status="-"
          setter="morrita"
    />
    <flag name="commit-queue"
          id="136851"
          type_id="3"
          status="-"
          setter="morrita"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>133209</attachid>
            <date>2012-03-22 02:10:50 -0700</date>
            <delta_ts>2012-03-22 04:08:22 -0700</delta_ts>
            <desc>Updated ChangeLog</desc>
            <filename>81102.patch</filename>
            <type>text/plain</type>
            <size>12000</size>
            <attacher name="Kaustubh Atrawalkar">kaustubh.ra</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDExMTY2MikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI2IEBACisyMDEyLTAzLTIyICBLYXVzdHVi
aCBBdHJhd2Fsa2FyICA8a2F1c3R1YmhAbW90b3JvbGEuY29tPgorCisgICAgICAgIGJsdXIoKSBv
biBzaGFkb3cgaG9zdCBzaG91bGQgd29yayB3aGVuIGEgc2hhZG93IGhvc3QgY29udGFpbnMgYSBm
b2N1c2VkIGVsZW1lbnQgaW4gaXRzIHNoYWRvdyBET00gc3VidHJlZXMKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgxMTAyCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBpbXBsZW1lbnRhdGlvbiB3aWxs
IHN1cHBvcnQgYmx1ciBmb3IgYSBmb2N1c2VkIGVsZW1lbnQgd2hlbiBpdHMgc2hhZG93SG9zdCdz
IGJsdXIoKSBpcyBjYWxsZWQoKQorICAgICAgICBUbyBhY2hpZXZlIHRoaXMgRWxlbWVudDo6Ymx1
cigpIGZ1bmN0aW9uIGlzIG1vZGlmaWVkIHRvIGJsdXIgdGhlIGZvY3VzZWQgbm9kZSBpbiBpdCdz
IHRyZWVTY29wZS4KKworICAgICAgICBUZXN0OiBmYXN0L2RvbS9zaGFkb3cvc2hhZG93LXJvb3Qt
Ymx1ci5odG1sCisKKyAgICAgICAgKiBkb20vRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpFbGVtZW50OjpibHVyKTogTW9kaWZpZWQgdG8gYmx1ciBjdXJyZW50IHRyZWVTY29wZSdzIGZv
Y3VzZWQgbm9kZS4KKyAgICAgICAgKiBkb20vU2hhZG93Um9vdC5oOgorICAgICAgICAoV2ViQ29y
ZTo6U2hhZG93Um9vdDo6YWN0aXZlRWxlbWVudCk6IFJld29yayBmb3IgY29kZSBzaGFyaW5nLgor
ICAgICAgICAqIGRvbS9UcmVlU2NvcGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6VHJlZVNjb3Bl
Ojpmb2N1c2VkTm9kZSk6IEFkZGVkIG5ldyBmdW5jdGlvbiB0byBzaGFyZSBjb2RlIGZvciBnZXR0
aW5nIGZvY3VzZWQgbm9kZS4KKyAgICAgICAgKiBkb20vVHJlZVNjb3BlLmg6CisgICAgICAgIChU
cmVlU2NvcGUpOiBOZXcgZnVuY3Rpb24gZGVjbGFydGlvbi4KKyAgICAgICAgKiBodG1sL0hUTUxE
b2N1bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MRG9jdW1lbnQ6OmFjdGl2ZUVsZW1l
bnQpOiBSZXdvcmsgZm9yIGNvZGUgc2hhcmluZy4KKwogMjAxMi0wMy0yMiAgS2VudCBUYW11cmEg
IDx0a2VudEBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgRXhwYW5kIFJlbmRlclRleHRDb250cm9s
U2luZ2xlTGluZTo6Y29udHJvbENsaXBSZWN0KCkgdG8gY29udGFpbiBjb250ZW50UmVjdCgpLgpJ
bmRleDogU291cmNlL1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9XZWJDb3JlL2RvbS9FbGVtZW50LmNwcAkocmV2aXNpb24gMTExNjYxKQorKysgU291cmNlL1dl
YkNvcmUvZG9tL0VsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNTkyLDcgKzE1OTIsNyBA
QCB2b2lkIEVsZW1lbnQ6OmJsdXIoKQogewogICAgIGNhbmNlbEZvY3VzQXBwZWFyYW5jZVVwZGF0
ZSgpOwogICAgIERvY3VtZW50KiBkb2MgPSBkb2N1bWVudCgpOwotICAgIGlmIChkb2MtPmZvY3Vz
ZWROb2RlKCkgPT0gdGhpcykgeworICAgIGlmICh0cmVlU2NvcGUoKS0+Zm9jdXNlZE5vZGUoKSA9
PSB0aGlzKSB7CiAgICAgICAgIGlmIChkb2MtPmZyYW1lKCkpCiAgICAgICAgICAgICBkb2MtPmZy
YW1lKCktPnBhZ2UoKS0+Zm9jdXNDb250cm9sbGVyKCktPnNldEZvY3VzZWROb2RlKDAsIGRvYy0+
ZnJhbWUoKSk7CiAgICAgICAgIGVsc2UKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9TaGFkb3dS
b290LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL1NoYWRvd1Jvb3QuaAkocmV2
aXNpb24gMTExNjYxKQorKysgU291cmNlL1dlYkNvcmUvZG9tL1NoYWRvd1Jvb3QuaAkod29ya2lu
ZyBjb3B5KQpAQCAtMjksNiArMjksNyBAQAogCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNs
dWRlICJEb2N1bWVudEZyYWdtZW50LmgiCisjaW5jbHVkZSAiRWxlbWVudC5oIgogI2luY2x1ZGUg
IkV4Y2VwdGlvbkNvZGUuaCIKICNpbmNsdWRlICJUcmVlU2NvcGUuaCIKICNpbmNsdWRlIDx3dGYv
RG91Ymx5TGlua2VkTGlzdC5oPgpAQCAtMTIyLDggKzEyMyw4IEBAIGlubGluZSBib29sIFNoYWRv
d1Jvb3Q6OmlzVXNlZEZvclJlbmRlcmkKIAogaW5saW5lIEVsZW1lbnQqIFNoYWRvd1Jvb3Q6OmFj
dGl2ZUVsZW1lbnQoKSBjb25zdAogewotICAgIGlmIChkb2N1bWVudCgpLT5pc0hUTUxEb2N1bWVu
dCgpKQotICAgICAgICByZXR1cm4gdHJlZVNjb3BlKCktPmFjdGl2ZUVsZW1lbnQoKTsKKyAgICBp
ZiAoTm9kZSogbm9kZSA9IHRyZWVTY29wZSgpLT5mb2N1c2VkTm9kZSgpKQorICAgICAgICByZXR1
cm4gbm9kZS0+aXNFbGVtZW50Tm9kZSgpID8gdG9FbGVtZW50KG5vZGUpIDogMDsKICAgICByZXR1
cm4gMDsKIH0KIApJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL1RyZWVTY29wZS5jcHAKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL1RyZWVTY29wZS5jcHAJKHJldmlzaW9uIDExMTY2
MSkKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9UcmVlU2NvcGUuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0xNjQsMTQgKzE2NCwxNCBAQCBzdGF0aWMgTm9kZSogZm9jdXNlZEZyYW1lT3duZXJFbGVtZW50
KEZyCiAgICAgcmV0dXJuIDA7CiB9CiAKLUVsZW1lbnQqIFRyZWVTY29wZTo6YWN0aXZlRWxlbWVu
dCgpCitOb2RlKiBUcmVlU2NvcGU6OmZvY3VzZWROb2RlKCkKIHsKICAgICBEb2N1bWVudCogZG9j
dW1lbnQgPSByb290Tm9kZSgpLT5kb2N1bWVudCgpOwogICAgIE5vZGUqIG5vZGUgPSBkb2N1bWVu
dC0+Zm9jdXNlZE5vZGUoKTsKICAgICBpZiAoIW5vZGUgJiYgZG9jdW1lbnQtPnBhZ2UoKSkKICAg
ICAgICAgbm9kZSA9IGZvY3VzZWRGcmFtZU93bmVyRWxlbWVudChkb2N1bWVudC0+cGFnZSgpLT5m
b2N1c0NvbnRyb2xsZXIoKS0+Zm9jdXNlZEZyYW1lKCksIGRvY3VtZW50LT5mcmFtZSgpKTsKICAg
ICBpZiAoIW5vZGUpCi0gICAgICAgIHJldHVybiB0aGlzID09IGRvY3VtZW50ID8gZG9jdW1lbnQt
PmJvZHkoKSA6IDA7CisgICAgICAgIHJldHVybiAwOwogCiAgICAgVHJlZVNjb3BlKiB0cmVlU2Nv
cGUgPSBub2RlLT50cmVlU2NvcGUoKTsKIApAQCAtMTgxLDkgKzE4MSw4IEBAIEVsZW1lbnQqIFRy
ZWVTY29wZTo6YWN0aXZlRWxlbWVudCgpCiAgICAgfQogICAgIGlmICh0aGlzICE9IHRyZWVTY29w
ZSkKICAgICAgICAgcmV0dXJuIDA7Ci0gICAgaWYgKG5vZGUtPmlzRWxlbWVudE5vZGUoKSkKLSAg
ICAgICAgcmV0dXJuIHRvRWxlbWVudChub2RlKTsKLSAgICByZXR1cm4gMDsKKworICAgIHJldHVy
biBub2RlOwogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCkluZGV4OiBTb3VyY2UvV2ViQ29y
ZS9kb20vVHJlZVNjb3BlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvZG9tL1RyZWVT
Y29wZS5oCShyZXZpc2lvbiAxMTE2NjEpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vVHJlZVNjb3Bl
LmgJKHdvcmtpbmcgY29weSkKQEAgLTQ3LDcgKzQ3LDcgQEAgcHVibGljOgogICAgIFRyZWVTY29w
ZSogcGFyZW50VHJlZVNjb3BlKCkgY29uc3QgeyByZXR1cm4gbV9wYXJlbnRUcmVlU2NvcGU7IH0K
ICAgICB2b2lkIHNldFBhcmVudFRyZWVTY29wZShUcmVlU2NvcGUqKTsKIAotICAgIEVsZW1lbnQq
IGFjdGl2ZUVsZW1lbnQoKTsKKyAgICBOb2RlKiBmb2N1c2VkTm9kZSgpOwogICAgIEVsZW1lbnQq
IGdldEVsZW1lbnRCeUlkKGNvbnN0IEF0b21pY1N0cmluZyYpIGNvbnN0OwogICAgIGJvb2wgaGFz
RWxlbWVudFdpdGhJZChBdG9taWNTdHJpbmdJbXBsKiBpZCkgY29uc3Q7CiAgICAgYm9vbCBjb250
YWluc011bHRpcGxlRWxlbWVudHNXaXRoSWQoY29uc3QgQXRvbWljU3RyaW5nJiBpZCkgY29uc3Q7
CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxEb2N1bWVudC5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MRG9jdW1lbnQuY3BwCShyZXZpc2lvbiAxMTE2NjEp
CisrKyBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxEb2N1bWVudC5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTEzOCw3ICsxMzgsOSBAQCB2b2lkIEhUTUxEb2N1bWVudDo6c2V0RGVzaWduTW9kZShjb25z
dCBTCiAKIEVsZW1lbnQqIEhUTUxEb2N1bWVudDo6YWN0aXZlRWxlbWVudCgpCiB7Ci0gICAgcmV0
dXJuIHRyZWVTY29wZSgpLT5hY3RpdmVFbGVtZW50KCk7CisgICAgaWYgKE5vZGUqIG5vZGUgPSB0
cmVlU2NvcGUoKS0+Zm9jdXNlZE5vZGUoKSkKKyAgICAgICAgcmV0dXJuIG5vZGUtPmlzRWxlbWVu
dE5vZGUoKSA/IHRvRWxlbWVudChub2RlKSA6IGJvZHkoKTsKKyAgICByZXR1cm4gYm9keSgpOwog
fQogCiBib29sIEhUTUxEb2N1bWVudDo6aGFzRm9jdXMoKQpJbmRleDogTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gMTEx
NjYyKQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEs
MTMgQEAKKzIwMTItMDMtMjIgIEthdXN0dWJoIEF0cmF3YWxrYXIgIDxrYXVzdHViaEBtb3Rvcm9s
YS5jb20+CisKKyAgICAgICAgYmx1cigpIG9uIHNoYWRvdyBob3N0IHNob3VsZCB3b3JrIHdoZW4g
YSBzaGFkb3cgaG9zdCBjb250YWlucyBhIGZvY3VzZWQgZWxlbWVudCBpbiBpdHMgc2hhZG93IERP
TSBzdWJ0cmVlcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9ODExMDIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICAqIGZhc3QvZG9tL3NoYWRvdy9zaGFkb3ctcm9vdC1ibHVyLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZmFzdC9kb20vc2hhZG93L3NoYWRvdy1yb290LWJsdXIuaHRtbDogQWRkZWQu
CisKIDIwMTItMDMtMjIgIFlvc2hpZnVtaSBJbm91ZSAgPHlvc2luQGNocm9taXVtLm9yZz4KIAog
ICAgICAgICBbRm9ybXNdIFRoZSBvcHRpb24gZWxlbWVudCBzaG91bGQgbm90IGJlIGZvcm0gYXNz
b2NpYXRlZCBlbGVtZW50LgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRv
dy1yb290LWJsdXItZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3Qv
ZG9tL3NoYWRvdy9zaGFkb3ctcm9vdC1ibHVyLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysr
IExheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctcm9vdC1ibHVyLWV4cGVjdGVkLnR4
dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw0MyBAQAorVGhpcyB0ZXN0cyB0aGUgYmx1cigpIG9u
IG9uIHNoYWRvdyBob3N0IHNob3VsZCB3b3JrIHdoZW4gYSBzaGFkb3cgaG9zdCBjb250YWlucyBh
IGZvY3VzZWQgZWxlbWVudCBpbiBpdHMgc2hhZG93IERPTSBzdWJ0cmVlcyBwcm9wZXJ0eSAoYnVn
IDgxMTAyKQorCitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1l
c3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworCitnZXROb2RlSW5TaGFk
b3dUcmVlU3RhY2soJ3NoYWRvd0hvc3RBL2NoaWxkSW5UcmVlT25lJykuZm9jdXMoKQorUEFTUyBk
b2N1bWVudC5hY3RpdmVFbGVtZW50LmlkIGlzICJzaGFkb3dIb3N0QSIKK2dldE5vZGVJblNoYWRv
d1RyZWVTdGFjaygnc2hhZG93SG9zdEEnKS5ibHVyKCk7CitzaGFkb3dIb3N0QSBvbmJsdXIgY2Fs
bGVkIQorUEFTUyBkb2N1bWVudC5hY3RpdmVFbGVtZW50IGlzIGRvY3VtZW50LmJvZHkKK1BBU1Mg
Z2V0Tm9kZUluU2hhZG93VHJlZVN0YWNrKCdzaGFkb3dIb3N0QS8nKS5hY3RpdmVFbGVtZW50IGlz
IG51bGwKK1BBU1MgZ2V0Tm9kZUluU2hhZG93VHJlZVN0YWNrKCdzaGFkb3dIb3N0QS9zaGFkb3dI
b3N0Qi8nKS5hY3RpdmVFbGVtZW50IGlzIG51bGwKK1BBU1MgZ2V0Tm9kZUluU2hhZG93VHJlZVN0
YWNrKCdzaGFkb3dIb3N0Qy8nKS5hY3RpdmVFbGVtZW50IGlzIG51bGwKK2dldE5vZGVJblNoYWRv
d1RyZWVTdGFjaygnc2hhZG93SG9zdEEvc2hhZG93SG9zdEIvY2hpbGRJblRyZWVUd28nKS5mb2N1
cygpCitQQVNTIGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQuaWQgaXMgInNoYWRvd0hvc3RBIgorZ2V0
Tm9kZUluU2hhZG93VHJlZVN0YWNrKCdzaGFkb3dIb3N0QS9zaGFkb3dIb3N0QicpLmJsdXIoKTsK
K3NoYWRvd0hvc3RBIG9uYmx1ciBjYWxsZWQhCitzaGFkb3dIb3N0QiBvbmJsdXIgY2FsbGVkIQor
UEFTUyBkb2N1bWVudC5hY3RpdmVFbGVtZW50IGlzIGRvY3VtZW50LmJvZHkKK1BBU1MgZ2V0Tm9k
ZUluU2hhZG93VHJlZVN0YWNrKCdzaGFkb3dIb3N0QS8nKS5hY3RpdmVFbGVtZW50IGlzIG51bGwK
K1BBU1MgZ2V0Tm9kZUluU2hhZG93VHJlZVN0YWNrKCdzaGFkb3dIb3N0QS9zaGFkb3dIb3N0Qi8n
KS5hY3RpdmVFbGVtZW50IGlzIG51bGwKK1BBU1MgZ2V0Tm9kZUluU2hhZG93VHJlZVN0YWNrKCdz
aGFkb3dIb3N0Qy8nKS5hY3RpdmVFbGVtZW50IGlzIG51bGwKK2dldE5vZGVJblNoYWRvd1RyZWVT
dGFjaygnc2hhZG93SG9zdEEvc2hhZG93SG9zdEIvY2hpbGRJblRyZWVUd28nKS5mb2N1cygpCitQ
QVNTIGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQuaWQgaXMgInNoYWRvd0hvc3RBIgorZ2V0Tm9kZUlu
U2hhZG93VHJlZVN0YWNrKCdzaGFkb3dIb3N0QScpLmJsdXIoKTsKK3NoYWRvd0hvc3RBIG9uYmx1
ciBjYWxsZWQhCitzaGFkb3dIb3N0QiBvbmJsdXIgY2FsbGVkIQorUEFTUyBkb2N1bWVudC5hY3Rp
dmVFbGVtZW50IGlzIGRvY3VtZW50LmJvZHkKK1BBU1MgZ2V0Tm9kZUluU2hhZG93VHJlZVN0YWNr
KCdzaGFkb3dIb3N0QS8nKS5hY3RpdmVFbGVtZW50IGlzIG51bGwKK1BBU1MgZ2V0Tm9kZUluU2hh
ZG93VHJlZVN0YWNrKCdzaGFkb3dIb3N0QS9zaGFkb3dIb3N0Qi8nKS5hY3RpdmVFbGVtZW50IGlz
IG51bGwKK1BBU1MgZ2V0Tm9kZUluU2hhZG93VHJlZVN0YWNrKCdzaGFkb3dIb3N0Qy8nKS5hY3Rp
dmVFbGVtZW50IGlzIG51bGwKK2dldE5vZGVJblNoYWRvd1RyZWVTdGFjaygnc2hhZG93SG9zdEMv
Y2hpbGRJblRyZWVUaHJlZScpLmZvY3VzKCkKK1BBU1MgZG9jdW1lbnQuYWN0aXZlRWxlbWVudC5p
ZCBpcyAic2hhZG93SG9zdEMiCitnZXROb2RlSW5TaGFkb3dUcmVlU3RhY2soJ3NoYWRvd0hvc3RB
JykuYmx1cigpOworUEFTUyBkb2N1bWVudC5hY3RpdmVFbGVtZW50LmlkIGlzICJzaGFkb3dIb3N0
QyIKK1BBU1MgZ2V0Tm9kZUluU2hhZG93VHJlZVN0YWNrKCdzaGFkb3dIb3N0QS8nKS5hY3RpdmVF
bGVtZW50IGlzIG51bGwKK1BBU1MgZ2V0Tm9kZUluU2hhZG93VHJlZVN0YWNrKCdzaGFkb3dIb3N0
QS9zaGFkb3dIb3N0Qi8nKS5hY3RpdmVFbGVtZW50IGlzIG51bGwKK1BBU1MgZ2V0Tm9kZUluU2hh
ZG93VHJlZVN0YWNrKCdzaGFkb3dIb3N0Qy8nKS5hY3RpdmVFbGVtZW50LmlkIGlzICJjaGlsZElu
VHJlZVRocmVlIgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBM
RVRFCisKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9zaGFkb3ctcm9vdC1ibHVy
Lmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy1y
b290LWJsdXIuaHRtbAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRv
dy9zaGFkb3ctcm9vdC1ibHVyLmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNzYgQEAKKzwh
RE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9z
aGFkb3ctZG9tLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorPGRpdiBpZD0iY29uc29s
ZSI+Cis8L2Rpdj4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbigiVGhpcyB0ZXN0cyB0aGUgYmx1cigp
IG9uIG9uIHNoYWRvdyBob3N0IHNob3VsZCB3b3JrIHdoZW4gYSBzaGFkb3cgaG9zdCBjb250YWlu
cyBhIGZvY3VzZWQgZWxlbWVudCBpbiBpdHMgc2hhZG93IERPTSBzdWJ0cmVlcyBwcm9wZXJ0eSAo
YnVnIDgxMTAyKSIpOworCitpZiAoIXdpbmRvdy5pbnRlcm5hbHMpCisgICAgZGVidWcoJ1RoaXMg
dGVzdCBydW5zIG9uIERSVCBvbmx5Jyk7CisKK2lmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xs
ZXIpCisgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworCitkb2N1bWVudC5i
b2R5LmFwcGVuZENoaWxkKAorICAgIGNyZWF0ZURPTSgnZGl2JywgeydpZCc6J3NoYWRvd0hvc3RB
J30sCisgICAgICAgIGNyZWF0ZVNoYWRvd1Jvb3QoCisgICAgICAgICAgICBjcmVhdGVET00oJ3An
LCB7J2lkJzonY2hpbGRJblRyZWVPbmUnLCAndGFiaW5kZXgnOicxJ30pLAorICAgICAgICAgICAg
Y3JlYXRlRE9NKCdkaXYnLCB7J2lkJzonc2hhZG93SG9zdEInfSwKKyAgICAgICAgICAgICAgICBj
cmVhdGVTaGFkb3dSb290KAorICAgICAgICAgICAgICAgICAgICBjcmVhdGVET00oJ3AnLCB7J2lk
JzonY2hpbGRJblRyZWVUd28nLCAndGFiaW5kZXgnOicyJ30pKSkpKSk7CisKK2RvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQoCisgICAgY3JlYXRlRE9NKCdkaXYnLCB7J2lkJzonc2hhZG93SG9zdEMn
fSwKKyAgICAgICAgY3JlYXRlU2hhZG93Um9vdCgKKyAgICAgICAgICAgIGNyZWF0ZURPTSgncCcs
IHsnaWQnOidjaGlsZEluVHJlZVRocmVlJywgJ3RhYmluZGV4JzonMyd9KSkpCispOworCitnZXRO
b2RlSW5TaGFkb3dUcmVlU3RhY2soJ3NoYWRvd0hvc3RBJykub25ibHVyID0gZnVuY3Rpb24oKSB7
IGRlYnVnKCJzaGFkb3dIb3N0QSBvbmJsdXIgY2FsbGVkISIpOyB9CitnZXROb2RlSW5TaGFkb3dU
cmVlU3RhY2soJ3NoYWRvd0hvc3RBL3NoYWRvd0hvc3RCJykub25ibHVyID0gZnVuY3Rpb24oKSB7
IGRlYnVnKCJzaGFkb3dIb3N0QiBvbmJsdXIgY2FsbGVkISIpOyB9CisKKy8vIGNoaWxkSW5UcmVl
T25lIGZvdWNzZWQgLSBzaGFkb3dIb3N0QSBibHVycmVkCitldmFsQW5kTG9nKCJnZXROb2RlSW5T
aGFkb3dUcmVlU3RhY2soJ3NoYWRvd0hvc3RBL2NoaWxkSW5UcmVlT25lJykuZm9jdXMoKSIpOwor
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2N1bWVudC5hY3RpdmVFbGVtZW50LmlkIiwgInNoYWRv
d0hvc3RBIik7CitldmFsQW5kTG9nKCJnZXROb2RlSW5TaGFkb3dUcmVlU3RhY2soJ3NoYWRvd0hv
c3RBJykuYmx1cigpOyIpOworc2hvdWxkQmUoImRvY3VtZW50LmFjdGl2ZUVsZW1lbnQiLCAiZG9j
dW1lbnQuYm9keSIpOworc2hvdWxkQmUoImdldE5vZGVJblNoYWRvd1RyZWVTdGFjaygnc2hhZG93
SG9zdEEvJykuYWN0aXZlRWxlbWVudCIsICJudWxsIik7CitzaG91bGRCZSgiZ2V0Tm9kZUluU2hh
ZG93VHJlZVN0YWNrKCdzaGFkb3dIb3N0QS9zaGFkb3dIb3N0Qi8nKS5hY3RpdmVFbGVtZW50Iiwg
Im51bGwiKTsKK3Nob3VsZEJlKCJnZXROb2RlSW5TaGFkb3dUcmVlU3RhY2soJ3NoYWRvd0hvc3RD
LycpLmFjdGl2ZUVsZW1lbnQiLCAibnVsbCIpOworCisvLyBjaGlsZEluVHJlZVR3byBmb3Vjc2Vk
IC0gc2hhZG93SG9zdEIgYmx1cnJlZAorZXZhbEFuZExvZygiZ2V0Tm9kZUluU2hhZG93VHJlZVN0
YWNrKCdzaGFkb3dIb3N0QS9zaGFkb3dIb3N0Qi9jaGlsZEluVHJlZVR3bycpLmZvY3VzKCkiKTsK
K3Nob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jdW1lbnQuYWN0aXZlRWxlbWVudC5pZCIsICJzaGFk
b3dIb3N0QSIpOworZXZhbEFuZExvZygiZ2V0Tm9kZUluU2hhZG93VHJlZVN0YWNrKCdzaGFkb3dI
b3N0QS9zaGFkb3dIb3N0QicpLmJsdXIoKTsiKTsKK3Nob3VsZEJlKCJkb2N1bWVudC5hY3RpdmVF
bGVtZW50IiwgImRvY3VtZW50LmJvZHkiKTsKK3Nob3VsZEJlKCJnZXROb2RlSW5TaGFkb3dUcmVl
U3RhY2soJ3NoYWRvd0hvc3RBLycpLmFjdGl2ZUVsZW1lbnQiLCAibnVsbCIpOworc2hvdWxkQmUo
ImdldE5vZGVJblNoYWRvd1RyZWVTdGFjaygnc2hhZG93SG9zdEEvc2hhZG93SG9zdEIvJykuYWN0
aXZlRWxlbWVudCIsICJudWxsIik7CitzaG91bGRCZSgiZ2V0Tm9kZUluU2hhZG93VHJlZVN0YWNr
KCdzaGFkb3dIb3N0Qy8nKS5hY3RpdmVFbGVtZW50IiwgIm51bGwiKTsKKworLy8gY2hpbGRJblRy
ZWVUd28gZm91Y3NlZCAtIHNoYWRvd0hvc3RBIGJsdXJyZWQKK2V2YWxBbmRMb2coImdldE5vZGVJ
blNoYWRvd1RyZWVTdGFjaygnc2hhZG93SG9zdEEvc2hhZG93SG9zdEIvY2hpbGRJblRyZWVUd28n
KS5mb2N1cygpIik7CitzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvY3VtZW50LmFjdGl2ZUVsZW1l
bnQuaWQiLCAic2hhZG93SG9zdEEiKTsKK2V2YWxBbmRMb2coImdldE5vZGVJblNoYWRvd1RyZWVT
dGFjaygnc2hhZG93SG9zdEEnKS5ibHVyKCk7Iik7CitzaG91bGRCZSgiZG9jdW1lbnQuYWN0aXZl
RWxlbWVudCIsICJkb2N1bWVudC5ib2R5Iik7CitzaG91bGRCZSgiZ2V0Tm9kZUluU2hhZG93VHJl
ZVN0YWNrKCdzaGFkb3dIb3N0QS8nKS5hY3RpdmVFbGVtZW50IiwgIm51bGwiKTsKK3Nob3VsZEJl
KCJnZXROb2RlSW5TaGFkb3dUcmVlU3RhY2soJ3NoYWRvd0hvc3RBL3NoYWRvd0hvc3RCLycpLmFj
dGl2ZUVsZW1lbnQiLCAibnVsbCIpOworc2hvdWxkQmUoImdldE5vZGVJblNoYWRvd1RyZWVTdGFj
aygnc2hhZG93SG9zdEMvJykuYWN0aXZlRWxlbWVudCIsICJudWxsIik7CisKKy8vIGNoaWxkSW5U
cmVlVGhyZWUgZm91Y3NlZCAtIHNoYWRvd0hvc3RBIGJsdXJyZWQKK2V2YWxBbmRMb2coImdldE5v
ZGVJblNoYWRvd1RyZWVTdGFjaygnc2hhZG93SG9zdEMvY2hpbGRJblRyZWVUaHJlZScpLmZvY3Vz
KCkiKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jdW1lbnQuYWN0aXZlRWxlbWVudC5pZCIs
ICJzaGFkb3dIb3N0QyIpOworZXZhbEFuZExvZygiZ2V0Tm9kZUluU2hhZG93VHJlZVN0YWNrKCdz
aGFkb3dIb3N0QScpLmJsdXIoKTsiKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jdW1lbnQu
YWN0aXZlRWxlbWVudC5pZCIsICJzaGFkb3dIb3N0QyIpOworc2hvdWxkQmUoImdldE5vZGVJblNo
YWRvd1RyZWVTdGFjaygnc2hhZG93SG9zdEEvJykuYWN0aXZlRWxlbWVudCIsICJudWxsIik7Citz
aG91bGRCZSgiZ2V0Tm9kZUluU2hhZG93VHJlZVN0YWNrKCdzaGFkb3dIb3N0QS9zaGFkb3dIb3N0
Qi8nKS5hY3RpdmVFbGVtZW50IiwgIm51bGwiKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygiZ2V0
Tm9kZUluU2hhZG93VHJlZVN0YWNrKCdzaGFkb3dIb3N0Qy8nKS5hY3RpdmVFbGVtZW50LmlkIiwg
ImNoaWxkSW5UcmVlVGhyZWUiKTsKKwordmFyIHN1Y2Nlc3NmdWxseVBhcnNlZCA9IHRydWU7Cis8
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0Lmpz
Ij48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>133218</attachid>
            <date>2012-03-22 04:08:22 -0700</date>
            <delta_ts>2012-03-22 05:39:02 -0700</delta_ts>
            <desc>Fixed ChangeLog</desc>
            <filename>81102.patch</filename>
            <type>text/plain</type>
            <size>11999</size>
            <attacher name="Kaustubh Atrawalkar">kaustubh.ra</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDExMTY2MikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI2IEBACisyMDEyLTAzLTIyICBLYXVzdHVi
aCBBdHJhd2Fsa2FyICA8a2F1c3R1YmhAbW90b3JvbGEuY29tPgorCisgICAgICAgIGJsdXIoKSBv
biBzaGFkb3cgaG9zdCBzaG91bGQgd29yayB3aGVuIGEgc2hhZG93IGhvc3QgY29udGFpbnMgYSBm
b2N1c2VkIGVsZW1lbnQgaW4gaXRzIHNoYWRvdyBET00gc3VidHJlZXMKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgxMTAyCisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBpbXBsZW1lbnRhdGlvbiB3aWxs
IHN1cHBvcnQgYmx1ciBmb3IgYSBmb2N1c2VkIGVsZW1lbnQgd2hlbiBpdHMgc2hhZG93SG9zdCdz
IGJsdXIoKSBpcyBjYWxsZWQuCisgICAgICAgIFRvIGFjaGlldmUgdGhpcyBFbGVtZW50OjpibHVy
KCkgZnVuY3Rpb24gaXMgbW9kaWZpZWQgdG8gYmx1ciB0aGUgZm9jdXNlZCBub2RlIGluIGl0J3Mg
dHJlZVNjb3BlLgorCisgICAgICAgIFRlc3Q6IGZhc3QvZG9tL3NoYWRvdy9zaGFkb3ctcm9vdC1i
bHVyLmh0bWwKKworICAgICAgICAqIGRvbS9FbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkVsZW1lbnQ6OmJsdXIpOiBNb2RpZmllZCB0byBibHVyIGN1cnJlbnQgdHJlZVNjb3BlJ3MgZm9j
dXNlZCBub2RlLgorICAgICAgICAqIGRvbS9TaGFkb3dSb290Lmg6CisgICAgICAgIChXZWJDb3Jl
OjpTaGFkb3dSb290OjphY3RpdmVFbGVtZW50KTogUmV3b3JrIGZvciBjb2RlIHNoYXJpbmcuCisg
ICAgICAgICogZG9tL1RyZWVTY29wZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpUcmVlU2NvcGU6
OmZvY3VzZWROb2RlKTogQWRkZWQgbmV3IGZ1bmN0aW9uIHRvIHNoYXJlIGNvZGUgZm9yIGdldHRp
bmcgZm9jdXNlZCBub2RlLgorICAgICAgICAqIGRvbS9UcmVlU2NvcGUuaDoKKyAgICAgICAgKFRy
ZWVTY29wZSk6IE5ldyBmdW5jdGlvbiBkZWNsYXJ0aW9uLgorICAgICAgICAqIGh0bWwvSFRNTERv
Y3VtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxEb2N1bWVudDo6YWN0aXZlRWxlbWVu
dCk6IFJld29yayBmb3IgY29kZSBzaGFyaW5nLgorCiAyMDEyLTAzLTIyICBLZW50IFRhbXVyYSAg
PHRrZW50QGNocm9taXVtLm9yZz4KIAogICAgICAgICBFeHBhbmQgUmVuZGVyVGV4dENvbnRyb2xT
aW5nbGVMaW5lOjpjb250cm9sQ2xpcFJlY3QoKSB0byBjb250YWluIGNvbnRlbnRSZWN0KCkuCklu
ZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L1dlYkNvcmUvZG9tL0VsZW1lbnQuY3BwCShyZXZpc2lvbiAxMTE2NjEpCisrKyBTb3VyY2UvV2Vi
Q29yZS9kb20vRWxlbWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE1OTIsNyArMTU5Miw3IEBA
IHZvaWQgRWxlbWVudDo6Ymx1cigpCiB7CiAgICAgY2FuY2VsRm9jdXNBcHBlYXJhbmNlVXBkYXRl
KCk7CiAgICAgRG9jdW1lbnQqIGRvYyA9IGRvY3VtZW50KCk7Ci0gICAgaWYgKGRvYy0+Zm9jdXNl
ZE5vZGUoKSA9PSB0aGlzKSB7CisgICAgaWYgKHRyZWVTY29wZSgpLT5mb2N1c2VkTm9kZSgpID09
IHRoaXMpIHsKICAgICAgICAgaWYgKGRvYy0+ZnJhbWUoKSkKICAgICAgICAgICAgIGRvYy0+ZnJh
bWUoKS0+cGFnZSgpLT5mb2N1c0NvbnRyb2xsZXIoKS0+c2V0Rm9jdXNlZE5vZGUoMCwgZG9jLT5m
cmFtZSgpKTsKICAgICAgICAgZWxzZQpJbmRleDogU291cmNlL1dlYkNvcmUvZG9tL1NoYWRvd1Jv
b3QuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vU2hhZG93Um9vdC5oCShyZXZp
c2lvbiAxMTE2NjEpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vU2hhZG93Um9vdC5oCSh3b3JraW5n
IGNvcHkpCkBAIC0yOSw2ICsyOSw3IEBACiAKICNpbmNsdWRlICJEb2N1bWVudC5oIgogI2luY2x1
ZGUgIkRvY3VtZW50RnJhZ21lbnQuaCIKKyNpbmNsdWRlICJFbGVtZW50LmgiCiAjaW5jbHVkZSAi
RXhjZXB0aW9uQ29kZS5oIgogI2luY2x1ZGUgIlRyZWVTY29wZS5oIgogI2luY2x1ZGUgPHd0Zi9E
b3VibHlMaW5rZWRMaXN0Lmg+CkBAIC0xMjIsOCArMTIzLDggQEAgaW5saW5lIGJvb2wgU2hhZG93
Um9vdDo6aXNVc2VkRm9yUmVuZGVyaQogCiBpbmxpbmUgRWxlbWVudCogU2hhZG93Um9vdDo6YWN0
aXZlRWxlbWVudCgpIGNvbnN0CiB7Ci0gICAgaWYgKGRvY3VtZW50KCktPmlzSFRNTERvY3VtZW50
KCkpCi0gICAgICAgIHJldHVybiB0cmVlU2NvcGUoKS0+YWN0aXZlRWxlbWVudCgpOworICAgIGlm
IChOb2RlKiBub2RlID0gdHJlZVNjb3BlKCktPmZvY3VzZWROb2RlKCkpCisgICAgICAgIHJldHVy
biBub2RlLT5pc0VsZW1lbnROb2RlKCkgPyB0b0VsZW1lbnQobm9kZSkgOiAwOwogICAgIHJldHVy
biAwOwogfQogCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9kb20vVHJlZVNjb3BlLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vVHJlZVNjb3BlLmNwcAkocmV2aXNpb24gMTExNjYx
KQorKysgU291cmNlL1dlYkNvcmUvZG9tL1RyZWVTY29wZS5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTE2NCwxNCArMTY0LDE0IEBAIHN0YXRpYyBOb2RlKiBmb2N1c2VkRnJhbWVPd25lckVsZW1lbnQo
RnIKICAgICByZXR1cm4gMDsKIH0KIAotRWxlbWVudCogVHJlZVNjb3BlOjphY3RpdmVFbGVtZW50
KCkKK05vZGUqIFRyZWVTY29wZTo6Zm9jdXNlZE5vZGUoKQogewogICAgIERvY3VtZW50KiBkb2N1
bWVudCA9IHJvb3ROb2RlKCktPmRvY3VtZW50KCk7CiAgICAgTm9kZSogbm9kZSA9IGRvY3VtZW50
LT5mb2N1c2VkTm9kZSgpOwogICAgIGlmICghbm9kZSAmJiBkb2N1bWVudC0+cGFnZSgpKQogICAg
ICAgICBub2RlID0gZm9jdXNlZEZyYW1lT3duZXJFbGVtZW50KGRvY3VtZW50LT5wYWdlKCktPmZv
Y3VzQ29udHJvbGxlcigpLT5mb2N1c2VkRnJhbWUoKSwgZG9jdW1lbnQtPmZyYW1lKCkpOwogICAg
IGlmICghbm9kZSkKLSAgICAgICAgcmV0dXJuIHRoaXMgPT0gZG9jdW1lbnQgPyBkb2N1bWVudC0+
Ym9keSgpIDogMDsKKyAgICAgICAgcmV0dXJuIDA7CiAKICAgICBUcmVlU2NvcGUqIHRyZWVTY29w
ZSA9IG5vZGUtPnRyZWVTY29wZSgpOwogCkBAIC0xODEsOSArMTgxLDggQEAgRWxlbWVudCogVHJl
ZVNjb3BlOjphY3RpdmVFbGVtZW50KCkKICAgICB9CiAgICAgaWYgKHRoaXMgIT0gdHJlZVNjb3Bl
KQogICAgICAgICByZXR1cm4gMDsKLSAgICBpZiAobm9kZS0+aXNFbGVtZW50Tm9kZSgpKQotICAg
ICAgICByZXR1cm4gdG9FbGVtZW50KG5vZGUpOwotICAgIHJldHVybiAwOworCisgICAgcmV0dXJu
IG5vZGU7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L2RvbS9UcmVlU2NvcGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9kb20vVHJlZVNj
b3BlLmgJKHJldmlzaW9uIDExMTY2MSkKKysrIFNvdXJjZS9XZWJDb3JlL2RvbS9UcmVlU2NvcGUu
aAkod29ya2luZyBjb3B5KQpAQCAtNDcsNyArNDcsNyBAQCBwdWJsaWM6CiAgICAgVHJlZVNjb3Bl
KiBwYXJlbnRUcmVlU2NvcGUoKSBjb25zdCB7IHJldHVybiBtX3BhcmVudFRyZWVTY29wZTsgfQog
ICAgIHZvaWQgc2V0UGFyZW50VHJlZVNjb3BlKFRyZWVTY29wZSopOwogCi0gICAgRWxlbWVudCog
YWN0aXZlRWxlbWVudCgpOworICAgIE5vZGUqIGZvY3VzZWROb2RlKCk7CiAgICAgRWxlbWVudCog
Z2V0RWxlbWVudEJ5SWQoY29uc3QgQXRvbWljU3RyaW5nJikgY29uc3Q7CiAgICAgYm9vbCBoYXNF
bGVtZW50V2l0aElkKEF0b21pY1N0cmluZ0ltcGwqIGlkKSBjb25zdDsKICAgICBib29sIGNvbnRh
aW5zTXVsdGlwbGVFbGVtZW50c1dpdGhJZChjb25zdCBBdG9taWNTdHJpbmcmIGlkKSBjb25zdDsK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTERvY3VtZW50LmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxEb2N1bWVudC5jcHAJKHJldmlzaW9uIDExMTY2MSkK
KysrIFNvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTERvY3VtZW50LmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMTM4LDcgKzEzOCw5IEBAIHZvaWQgSFRNTERvY3VtZW50OjpzZXREZXNpZ25Nb2RlKGNvbnN0
IFMKIAogRWxlbWVudCogSFRNTERvY3VtZW50OjphY3RpdmVFbGVtZW50KCkKIHsKLSAgICByZXR1
cm4gdHJlZVNjb3BlKCktPmFjdGl2ZUVsZW1lbnQoKTsKKyAgICBpZiAoTm9kZSogbm9kZSA9IHRy
ZWVTY29wZSgpLT5mb2N1c2VkTm9kZSgpKQorICAgICAgICByZXR1cm4gbm9kZS0+aXNFbGVtZW50
Tm9kZSgpID8gdG9FbGVtZW50KG5vZGUpIDogYm9keSgpOworICAgIHJldHVybiBib2R5KCk7CiB9
CiAKIGJvb2wgSFRNTERvY3VtZW50OjpoYXNGb2N1cygpCkluZGV4OiBMYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lvbiAxMTE2
NjIpCisrKyBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwx
MyBAQAorMjAxMi0wMy0yMiAgS2F1c3R1YmggQXRyYXdhbGthciAgPGthdXN0dWJoQG1vdG9yb2xh
LmNvbT4KKworICAgICAgICBibHVyKCkgb24gc2hhZG93IGhvc3Qgc2hvdWxkIHdvcmsgd2hlbiBh
IHNoYWRvdyBob3N0IGNvbnRhaW5zIGEgZm9jdXNlZCBlbGVtZW50IGluIGl0cyBzaGFkb3cgRE9N
IHN1YnRyZWVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD04MTEwMgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
ICogZmFzdC9kb20vc2hhZG93L3NoYWRvdy1yb290LWJsdXItZXhwZWN0ZWQudHh0OiBBZGRlZC4K
KyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvc2hhZG93LXJvb3QtYmx1ci5odG1sOiBBZGRlZC4K
KwogMjAxMi0wMy0yMiAgWW9zaGlmdW1pIElub3VlICA8eW9zaW5AY2hyb21pdW0ub3JnPgogCiAg
ICAgICAgIFtGb3Jtc10gVGhlIG9wdGlvbiBlbGVtZW50IHNob3VsZCBub3QgYmUgZm9ybSBhc3Nv
Y2lhdGVkIGVsZW1lbnQuCkluZGV4OiBMYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93
LXJvb3QtYmx1ci1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9k
b20vc2hhZG93L3NoYWRvdy1yb290LWJsdXItZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysg
TGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy1yb290LWJsdXItZXhwZWN0ZWQudHh0
CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDQzIEBACitUaGlzIHRlc3RzIHRoZSBibHVyKCkgb24g
b24gc2hhZG93IGhvc3Qgc2hvdWxkIHdvcmsgd2hlbiBhIHNoYWRvdyBob3N0IGNvbnRhaW5zIGEg
Zm9jdXNlZCBlbGVtZW50IGluIGl0cyBzaGFkb3cgRE9NIHN1YnRyZWVzIHByb3BlcnR5IChidWcg
ODExMDIpCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVz
c2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCisKK2dldE5vZGVJblNoYWRv
d1RyZWVTdGFjaygnc2hhZG93SG9zdEEvY2hpbGRJblRyZWVPbmUnKS5mb2N1cygpCitQQVNTIGRv
Y3VtZW50LmFjdGl2ZUVsZW1lbnQuaWQgaXMgInNoYWRvd0hvc3RBIgorZ2V0Tm9kZUluU2hhZG93
VHJlZVN0YWNrKCdzaGFkb3dIb3N0QScpLmJsdXIoKTsKK3NoYWRvd0hvc3RBIG9uYmx1ciBjYWxs
ZWQhCitQQVNTIGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgaXMgZG9jdW1lbnQuYm9keQorUEFTUyBn
ZXROb2RlSW5TaGFkb3dUcmVlU3RhY2soJ3NoYWRvd0hvc3RBLycpLmFjdGl2ZUVsZW1lbnQgaXMg
bnVsbAorUEFTUyBnZXROb2RlSW5TaGFkb3dUcmVlU3RhY2soJ3NoYWRvd0hvc3RBL3NoYWRvd0hv
c3RCLycpLmFjdGl2ZUVsZW1lbnQgaXMgbnVsbAorUEFTUyBnZXROb2RlSW5TaGFkb3dUcmVlU3Rh
Y2soJ3NoYWRvd0hvc3RDLycpLmFjdGl2ZUVsZW1lbnQgaXMgbnVsbAorZ2V0Tm9kZUluU2hhZG93
VHJlZVN0YWNrKCdzaGFkb3dIb3N0QS9zaGFkb3dIb3N0Qi9jaGlsZEluVHJlZVR3bycpLmZvY3Vz
KCkKK1BBU1MgZG9jdW1lbnQuYWN0aXZlRWxlbWVudC5pZCBpcyAic2hhZG93SG9zdEEiCitnZXRO
b2RlSW5TaGFkb3dUcmVlU3RhY2soJ3NoYWRvd0hvc3RBL3NoYWRvd0hvc3RCJykuYmx1cigpOwor
c2hhZG93SG9zdEEgb25ibHVyIGNhbGxlZCEKK3NoYWRvd0hvc3RCIG9uYmx1ciBjYWxsZWQhCitQ
QVNTIGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQgaXMgZG9jdW1lbnQuYm9keQorUEFTUyBnZXROb2Rl
SW5TaGFkb3dUcmVlU3RhY2soJ3NoYWRvd0hvc3RBLycpLmFjdGl2ZUVsZW1lbnQgaXMgbnVsbAor
UEFTUyBnZXROb2RlSW5TaGFkb3dUcmVlU3RhY2soJ3NoYWRvd0hvc3RBL3NoYWRvd0hvc3RCLycp
LmFjdGl2ZUVsZW1lbnQgaXMgbnVsbAorUEFTUyBnZXROb2RlSW5TaGFkb3dUcmVlU3RhY2soJ3No
YWRvd0hvc3RDLycpLmFjdGl2ZUVsZW1lbnQgaXMgbnVsbAorZ2V0Tm9kZUluU2hhZG93VHJlZVN0
YWNrKCdzaGFkb3dIb3N0QS9zaGFkb3dIb3N0Qi9jaGlsZEluVHJlZVR3bycpLmZvY3VzKCkKK1BB
U1MgZG9jdW1lbnQuYWN0aXZlRWxlbWVudC5pZCBpcyAic2hhZG93SG9zdEEiCitnZXROb2RlSW5T
aGFkb3dUcmVlU3RhY2soJ3NoYWRvd0hvc3RBJykuYmx1cigpOworc2hhZG93SG9zdEEgb25ibHVy
IGNhbGxlZCEKK3NoYWRvd0hvc3RCIG9uYmx1ciBjYWxsZWQhCitQQVNTIGRvY3VtZW50LmFjdGl2
ZUVsZW1lbnQgaXMgZG9jdW1lbnQuYm9keQorUEFTUyBnZXROb2RlSW5TaGFkb3dUcmVlU3RhY2so
J3NoYWRvd0hvc3RBLycpLmFjdGl2ZUVsZW1lbnQgaXMgbnVsbAorUEFTUyBnZXROb2RlSW5TaGFk
b3dUcmVlU3RhY2soJ3NoYWRvd0hvc3RBL3NoYWRvd0hvc3RCLycpLmFjdGl2ZUVsZW1lbnQgaXMg
bnVsbAorUEFTUyBnZXROb2RlSW5TaGFkb3dUcmVlU3RhY2soJ3NoYWRvd0hvc3RDLycpLmFjdGl2
ZUVsZW1lbnQgaXMgbnVsbAorZ2V0Tm9kZUluU2hhZG93VHJlZVN0YWNrKCdzaGFkb3dIb3N0Qy9j
aGlsZEluVHJlZVRocmVlJykuZm9jdXMoKQorUEFTUyBkb2N1bWVudC5hY3RpdmVFbGVtZW50Lmlk
IGlzICJzaGFkb3dIb3N0QyIKK2dldE5vZGVJblNoYWRvd1RyZWVTdGFjaygnc2hhZG93SG9zdEEn
KS5ibHVyKCk7CitQQVNTIGRvY3VtZW50LmFjdGl2ZUVsZW1lbnQuaWQgaXMgInNoYWRvd0hvc3RD
IgorUEFTUyBnZXROb2RlSW5TaGFkb3dUcmVlU3RhY2soJ3NoYWRvd0hvc3RBLycpLmFjdGl2ZUVs
ZW1lbnQgaXMgbnVsbAorUEFTUyBnZXROb2RlSW5TaGFkb3dUcmVlU3RhY2soJ3NoYWRvd0hvc3RB
L3NoYWRvd0hvc3RCLycpLmFjdGl2ZUVsZW1lbnQgaXMgbnVsbAorUEFTUyBnZXROb2RlSW5TaGFk
b3dUcmVlU3RhY2soJ3NoYWRvd0hvc3RDLycpLmFjdGl2ZUVsZW1lbnQuaWQgaXMgImNoaWxkSW5U
cmVlVGhyZWUiCitQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExF
VEUKKwpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L3NoYWRvdy1yb290LWJsdXIu
aHRtbAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvc2hhZG93LXJv
b3QtYmx1ci5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93
L3NoYWRvdy1yb290LWJsdXIuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw3NiBAQAorPCFE
T0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291
cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3No
YWRvdy1kb20uanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IGlkPSJjb25zb2xl
Ij4KKzwvZGl2PgorPHNjcmlwdD4KK2Rlc2NyaXB0aW9uKCJUaGlzIHRlc3RzIHRoZSBibHVyKCkg
b24gb24gc2hhZG93IGhvc3Qgc2hvdWxkIHdvcmsgd2hlbiBhIHNoYWRvdyBob3N0IGNvbnRhaW5z
IGEgZm9jdXNlZCBlbGVtZW50IGluIGl0cyBzaGFkb3cgRE9NIHN1YnRyZWVzIHByb3BlcnR5IChi
dWcgODExMDIpIik7CisKK2lmICghd2luZG93LmludGVybmFscykKKyAgICBkZWJ1ZygnVGhpcyB0
ZXN0IHJ1bnMgb24gRFJUIG9ubHknKTsKKworaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxl
cikKKyAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisKK2RvY3VtZW50LmJv
ZHkuYXBwZW5kQ2hpbGQoCisgICAgY3JlYXRlRE9NKCdkaXYnLCB7J2lkJzonc2hhZG93SG9zdEEn
fSwKKyAgICAgICAgY3JlYXRlU2hhZG93Um9vdCgKKyAgICAgICAgICAgIGNyZWF0ZURPTSgncCcs
IHsnaWQnOidjaGlsZEluVHJlZU9uZScsICd0YWJpbmRleCc6JzEnfSksCisgICAgICAgICAgICBj
cmVhdGVET00oJ2RpdicsIHsnaWQnOidzaGFkb3dIb3N0Qid9LAorICAgICAgICAgICAgICAgIGNy
ZWF0ZVNoYWRvd1Jvb3QoCisgICAgICAgICAgICAgICAgICAgIGNyZWF0ZURPTSgncCcsIHsnaWQn
OidjaGlsZEluVHJlZVR3bycsICd0YWJpbmRleCc6JzInfSkpKSkpKTsKKworZG9jdW1lbnQuYm9k
eS5hcHBlbmRDaGlsZCgKKyAgICBjcmVhdGVET00oJ2RpdicsIHsnaWQnOidzaGFkb3dIb3N0Qyd9
LAorICAgICAgICBjcmVhdGVTaGFkb3dSb290KAorICAgICAgICAgICAgY3JlYXRlRE9NKCdwJywg
eydpZCc6J2NoaWxkSW5UcmVlVGhyZWUnLCAndGFiaW5kZXgnOiczJ30pKSkKKyk7CisKK2dldE5v
ZGVJblNoYWRvd1RyZWVTdGFjaygnc2hhZG93SG9zdEEnKS5vbmJsdXIgPSBmdW5jdGlvbigpIHsg
ZGVidWcoInNoYWRvd0hvc3RBIG9uYmx1ciBjYWxsZWQhIik7IH0KK2dldE5vZGVJblNoYWRvd1Ry
ZWVTdGFjaygnc2hhZG93SG9zdEEvc2hhZG93SG9zdEInKS5vbmJsdXIgPSBmdW5jdGlvbigpIHsg
ZGVidWcoInNoYWRvd0hvc3RCIG9uYmx1ciBjYWxsZWQhIik7IH0KKworLy8gY2hpbGRJblRyZWVP
bmUgZm91Y3NlZCAtIHNoYWRvd0hvc3RBIGJsdXJyZWQKK2V2YWxBbmRMb2coImdldE5vZGVJblNo
YWRvd1RyZWVTdGFjaygnc2hhZG93SG9zdEEvY2hpbGRJblRyZWVPbmUnKS5mb2N1cygpIik7Citz
aG91bGRCZUVxdWFsVG9TdHJpbmcoImRvY3VtZW50LmFjdGl2ZUVsZW1lbnQuaWQiLCAic2hhZG93
SG9zdEEiKTsKK2V2YWxBbmRMb2coImdldE5vZGVJblNoYWRvd1RyZWVTdGFjaygnc2hhZG93SG9z
dEEnKS5ibHVyKCk7Iik7CitzaG91bGRCZSgiZG9jdW1lbnQuYWN0aXZlRWxlbWVudCIsICJkb2N1
bWVudC5ib2R5Iik7CitzaG91bGRCZSgiZ2V0Tm9kZUluU2hhZG93VHJlZVN0YWNrKCdzaGFkb3dI
b3N0QS8nKS5hY3RpdmVFbGVtZW50IiwgIm51bGwiKTsKK3Nob3VsZEJlKCJnZXROb2RlSW5TaGFk
b3dUcmVlU3RhY2soJ3NoYWRvd0hvc3RBL3NoYWRvd0hvc3RCLycpLmFjdGl2ZUVsZW1lbnQiLCAi
bnVsbCIpOworc2hvdWxkQmUoImdldE5vZGVJblNoYWRvd1RyZWVTdGFjaygnc2hhZG93SG9zdEMv
JykuYWN0aXZlRWxlbWVudCIsICJudWxsIik7CisKKy8vIGNoaWxkSW5UcmVlVHdvIGZvdWNzZWQg
LSBzaGFkb3dIb3N0QiBibHVycmVkCitldmFsQW5kTG9nKCJnZXROb2RlSW5TaGFkb3dUcmVlU3Rh
Y2soJ3NoYWRvd0hvc3RBL3NoYWRvd0hvc3RCL2NoaWxkSW5UcmVlVHdvJykuZm9jdXMoKSIpOwor
c2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2N1bWVudC5hY3RpdmVFbGVtZW50LmlkIiwgInNoYWRv
d0hvc3RBIik7CitldmFsQW5kTG9nKCJnZXROb2RlSW5TaGFkb3dUcmVlU3RhY2soJ3NoYWRvd0hv
c3RBL3NoYWRvd0hvc3RCJykuYmx1cigpOyIpOworc2hvdWxkQmUoImRvY3VtZW50LmFjdGl2ZUVs
ZW1lbnQiLCAiZG9jdW1lbnQuYm9keSIpOworc2hvdWxkQmUoImdldE5vZGVJblNoYWRvd1RyZWVT
dGFjaygnc2hhZG93SG9zdEEvJykuYWN0aXZlRWxlbWVudCIsICJudWxsIik7CitzaG91bGRCZSgi
Z2V0Tm9kZUluU2hhZG93VHJlZVN0YWNrKCdzaGFkb3dIb3N0QS9zaGFkb3dIb3N0Qi8nKS5hY3Rp
dmVFbGVtZW50IiwgIm51bGwiKTsKK3Nob3VsZEJlKCJnZXROb2RlSW5TaGFkb3dUcmVlU3RhY2so
J3NoYWRvd0hvc3RDLycpLmFjdGl2ZUVsZW1lbnQiLCAibnVsbCIpOworCisvLyBjaGlsZEluVHJl
ZVR3byBmb3Vjc2VkIC0gc2hhZG93SG9zdEEgYmx1cnJlZAorZXZhbEFuZExvZygiZ2V0Tm9kZUlu
U2hhZG93VHJlZVN0YWNrKCdzaGFkb3dIb3N0QS9zaGFkb3dIb3N0Qi9jaGlsZEluVHJlZVR3bycp
LmZvY3VzKCkiKTsKK3Nob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jdW1lbnQuYWN0aXZlRWxlbWVu
dC5pZCIsICJzaGFkb3dIb3N0QSIpOworZXZhbEFuZExvZygiZ2V0Tm9kZUluU2hhZG93VHJlZVN0
YWNrKCdzaGFkb3dIb3N0QScpLmJsdXIoKTsiKTsKK3Nob3VsZEJlKCJkb2N1bWVudC5hY3RpdmVF
bGVtZW50IiwgImRvY3VtZW50LmJvZHkiKTsKK3Nob3VsZEJlKCJnZXROb2RlSW5TaGFkb3dUcmVl
U3RhY2soJ3NoYWRvd0hvc3RBLycpLmFjdGl2ZUVsZW1lbnQiLCAibnVsbCIpOworc2hvdWxkQmUo
ImdldE5vZGVJblNoYWRvd1RyZWVTdGFjaygnc2hhZG93SG9zdEEvc2hhZG93SG9zdEIvJykuYWN0
aXZlRWxlbWVudCIsICJudWxsIik7CitzaG91bGRCZSgiZ2V0Tm9kZUluU2hhZG93VHJlZVN0YWNr
KCdzaGFkb3dIb3N0Qy8nKS5hY3RpdmVFbGVtZW50IiwgIm51bGwiKTsKKworLy8gY2hpbGRJblRy
ZWVUaHJlZSBmb3Vjc2VkIC0gc2hhZG93SG9zdEEgYmx1cnJlZAorZXZhbEFuZExvZygiZ2V0Tm9k
ZUluU2hhZG93VHJlZVN0YWNrKCdzaGFkb3dIb3N0Qy9jaGlsZEluVHJlZVRocmVlJykuZm9jdXMo
KSIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2N1bWVudC5hY3RpdmVFbGVtZW50LmlkIiwg
InNoYWRvd0hvc3RDIik7CitldmFsQW5kTG9nKCJnZXROb2RlSW5TaGFkb3dUcmVlU3RhY2soJ3No
YWRvd0hvc3RBJykuYmx1cigpOyIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2N1bWVudC5h
Y3RpdmVFbGVtZW50LmlkIiwgInNoYWRvd0hvc3RDIik7CitzaG91bGRCZSgiZ2V0Tm9kZUluU2hh
ZG93VHJlZVN0YWNrKCdzaGFkb3dIb3N0QS8nKS5hY3RpdmVFbGVtZW50IiwgIm51bGwiKTsKK3No
b3VsZEJlKCJnZXROb2RlSW5TaGFkb3dUcmVlU3RhY2soJ3NoYWRvd0hvc3RBL3NoYWRvd0hvc3RC
LycpLmFjdGl2ZUVsZW1lbnQiLCAibnVsbCIpOworc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJnZXRO
b2RlSW5TaGFkb3dUcmVlU3RhY2soJ3NoYWRvd0hvc3RDLycpLmFjdGl2ZUVsZW1lbnQuaWQiLCAi
Y2hpbGRJblRyZWVUaHJlZSIpOworCit2YXIgc3VjY2Vzc2Z1bGx5UGFyc2VkID0gdHJ1ZTsKKzwv
c2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>