<?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>80428</bug_id>
          
          <creation_ts>2012-03-06 10:30:18 -0800</creation_ts>
          <short_desc>HTMLPluginElement is not destroyed on reload or navigation if getNPObject is called</short_desc>
          <delta_ts>2012-03-26 01:15:06 -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>Plug-ins</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>82020</dependson>
    
    <dependson>82035</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Dave Michael">dmichael</reporter>
          <assigned_to name="Dave Michael">dmichael</assigned_to>
          <cc>andersca</cc>
    
    <cc>ap</cc>
    
    <cc>caseq</cc>
    
    <cc>dglazkov</cc>
    
    <cc>gustavo</cc>
    
    <cc>mitz</cc>
    
    <cc>morrita</cc>
    
    <cc>pnormand</cc>
    
    <cc>rniwa</cc>
    
    <cc>tony</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>wez</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>571960</commentid>
    <comment_count>0</comment_count>
    <who name="Dave Michael">dmichael</who>
    <bug_when>2012-03-06 10:30:18 -0800</bug_when>
    <thetext>This bug has been spotted before, but the fix didn&apos;t cover all cases:
https://bugs.webkit.org/show_bug.cgi?id=66181

HTMLPluginElement::getNPObject looks like this:
&quot;&quot;&quot;
    ASSERT(document()-&gt;frame());
    if (!m_NPObject)
        m_NPObject = document()-&gt;frame()-&gt;script()-&gt;createScriptObjectForPluginElement(this);
    return m_NPObject;
&quot;&quot;&quot;
After this point, the NPObject (via the relevant JavaScript bindings) holds a reference on the HTMLPluginElement, and the HTMLPluginElement also owns a reference on the NPObject that wraps it. This is a circular reference, so without intervention, the HTMLPluginElement will never be destroyed.

(Probably, getNPObject should have just passed its NPObject reference to callers to avoid ever having. However, changing this behavior is probably too disruptive to existing code).

The patch in:
https://bugs.webkit.org/show_bug.cgi?id=66181
added:
&quot;&quot;&quot;
void HTMLPlugInElement::removedFromDocument()
{
#if ENABLE(NETSCAPE_PLUGIN_API)
    printf(&quot;removedFromDocument; m_NPObject: %p.\n&quot;, m_NPObject);
    if (m_NPObject) {
        _NPN_ReleaseObject(m_NPObject);
        m_NPObject = 0;
    }
#endif

    HTMLFrameOwnerElement::removedFromDocument();
}
&quot;&quot;&quot;
This way, when the plugin element is removed from the document, the circular reference is cleared and the HTMLPluginElement can be destroyed.

However, since removedFromDocument is not run on reload (nor, I think, on navigation), the HTMLPluginElement is still left in memory on reload or navigation. This tends to retain the associated Document object in memory.

I think the right approach (which wez suggested in his previous bug) is to release m_NPObject in detach(). I&apos;ll upload a patch soon, though I&apos;m still struggling with coming up with a good way to write an automated test to reproduce this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>571991</commentid>
    <comment_count>1</comment_count>
      <attachid>130409</attachid>
    <who name="Dave Michael">dmichael</who>
    <bug_when>2012-03-06 11:04:25 -0800</bug_when>
    <thetext>Created attachment 130409
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>571995</commentid>
    <comment_count>2</comment_count>
    <who name="Dave Michael">dmichael</who>
    <bug_when>2012-03-06 11:06:50 -0800</bug_when>
    <thetext>Any tips on how to make an automated test for this would be appreciated. I don&apos;t think there&apos;s a way to do it with a layout test. I&apos;ve been told there&apos;s a leak checker bot that might catch this if I construct a test that reproduces the leak, but I think that all the memory is still reachable, so I don&apos;t think a leak detection tool will see it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>575042</commentid>
    <comment_count>3</comment_count>
    <who name="Dave Michael">dmichael</who>
    <bug_when>2012-03-09 11:54:03 -0800</bug_when>
    <thetext>I&apos;ve been struggling to find a way to test this. It&apos;s difficult for a few reasons:
- The PluginView is properly destroyed, and the plugin is thus &quot;Deallocated&quot; properly.
- All NPObjects are (apparently) force-released on Frame teardown, at which point the HTMLPluginElement will also be deleted. As a result, this doesn&apos;t show up as a leaked WebCoreNode

Due to these, there doesn&apos;t seem to be a way to test this using a layout test. (However, a lot of memory is wasted in practice while the process is running, because the Document that owns the HTMLPluginElement must persist as long as any of its children do. In Chromium, this can waste close to 1MB per reload for a very simple page.)

I think a test is possible if I do it as some kind of a unit test, where I have access to the internal/native WebKit classes. Then I can think of at least a couple of options:
(a) expose the Document weak pointer for use in the test. Then, I can:
  1) grab a weak pointer to the Document
  2) force a reload
  3) force garbage collection
  4) And ensure that the weak pointer&apos;s target document has been deallocated.
(b) Add Node&apos;s &quot;liveNodeSet&quot; to the debug build for the sake of my test. Then, add a &quot;bool IsLiveNode(const Node*)&quot; function, and:
  1) Save the raw pointer to the HTMLPluginElement
  2) force a reload
  3) force garbage collection
  4) Ensure that the raw pointer from 1) is not a &quot;live&quot; Node anymore.

However... this all sounds like a lot of work with some downsides (exposing currently-private data in (a), affecting performance of debug builds in (b)).

Would it make sense to maybe do this patch without a test? Or is there a better way to test it that I haven&apos;t thought of?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>579272</commentid>
    <comment_count>4</comment_count>
      <attachid>130409</attachid>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2012-03-15 04:29:40 -0700</bug_when>
    <thetext>Comment on attachment 130409
Patch

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

r- due to the format issue.

I don&apos;t try this by myself. but it looks the test plugin has a &quot;logDestroy&quot; attribute which we can emit a log for plugin destruction with.
See LayoutTests/plugins/resources/geturlnotify-on-destroy.html for example.

&gt; Source/WebCore/ChangeLog:1
&gt; +2012-03-06  Dave Michael  &lt;dmichael@chromium.org&gt;

Please follow the format:

        Single line bug summary from Bugzilla
        https://bugs.webkit.org/show_bug.cgi?id=xxxx

        Reviewed by...

        Then long explanation follows....</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>579417</commentid>
    <comment_count>5</comment_count>
      <attachid>132057</attachid>
    <who name="Dave Michael">dmichael</who>
    <bug_when>2012-03-15 08:57:53 -0700</bug_when>
    <thetext>Created attachment 132057
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>579427</commentid>
    <comment_count>6</comment_count>
    <who name="Dave Michael">dmichael</who>
    <bug_when>2012-03-15 09:07:46 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; (From update of attachment 130409 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=130409&amp;action=review
&gt; 
&gt; r- due to the format issue.
&gt; 
&gt; I don&apos;t try this by myself. but it looks the test plugin has a &quot;logDestroy&quot; attribute which we can emit a log for plugin destruction with.
&gt; See LayoutTests/plugins/resources/geturlnotify-on-destroy.html for example.
I can do that, but unfortunately it will not exercise this bug. The render tree is getting destroyed properly, so the PluginView still calls &quot;PluginPackage::unload&quot;, and that&apos;s the part of the code that tells the plugin to &quot;Deallocate&quot;. So from the plugin&apos;s perspective, everything is working fine.

What is being improperly retained is the HTMLPluginElement itself in the DOM tree (and therefore its owning Document stays in memory as well).

I mentioned a couple of ideas above for possibly testing this by checking that the HTMLPluginElement Node (or Document) stays in memory longer than expected. But these approaches have drawbacks. Alternatively, it looks like the WebInspector also has a count of Nodes. If I can reach that from a Layout test, I might be able to test the problem that way.

&gt; 
&gt; &gt; Source/WebCore/ChangeLog:1
&gt; &gt; +2012-03-06  Dave Michael  &lt;dmichael@chromium.org&gt;
&gt; 
&gt; Please follow the format:
&gt; 
&gt;         Single line bug summary from Bugzilla
&gt;         https://bugs.webkit.org/show_bug.cgi?id=xxxx
&gt; 
&gt;         Reviewed by...
&gt; 
&gt;         Then long explanation follows....</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>579716</commentid>
    <comment_count>7</comment_count>
      <attachid>132057</attachid>
    <who name="Dave Michael">dmichael</who>
    <bug_when>2012-03-15 14:05:53 -0700</bug_when>
    <thetext>Comment on attachment 132057
Patch

Thanks for the review. I updated the changelog and tried to explain why there&apos;s no test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>582459</commentid>
    <comment_count>8</comment_count>
    <who name="Hajime Morrita">morrita</who>
    <bug_when>2012-03-19 16:51:18 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; (From update of attachment 132057 [details])
&gt; Thanks for the review. I updated the changelog and tried to explain why there&apos;s no test.
Got the point. I was confused.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>583462</commentid>
    <comment_count>9</comment_count>
      <attachid>132057</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-03-20 14:34:10 -0700</bug_when>
    <thetext>Comment on attachment 132057
Patch

Since we do not believe it possible to write an automated test, I think it would make sense to add a manual test.  My understanding is a very very simple page should trigger this.

Your manual test would go in &quot;ManualTests&quot; (in the root of the repository) and would basically instruct the user to reload the page repeatedly, and see if memory usage increases.

Please re-post wiht a manual test, and I&apos;m ahppy to r+.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>583768</commentid>
    <comment_count>10</comment_count>
      <attachid>132963</attachid>
    <who name="Dave Michael">dmichael</who>
    <bug_when>2012-03-20 21:06:44 -0700</bug_when>
    <thetext>Created attachment 132963
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>583771</commentid>
    <comment_count>11</comment_count>
      <attachid>132963</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2012-03-20 21:11:25 -0700</bug_when>
    <thetext>Comment on attachment 132963
Patch

Attachment 132963 did not pass gtk-ews (gtk):
Output: http://queues.webkit.org/results/12072144</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>583782</commentid>
    <comment_count>12</comment_count>
      <attachid>132963</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-03-20 21:27:41 -0700</bug_when>
    <thetext>Comment on attachment 132963
Patch

Attachment 132963 did not pass win-ews (win):
Output: http://queues.webkit.org/results/12066170</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>583787</commentid>
    <comment_count>13</comment_count>
      <attachid>132967</attachid>
    <who name="Dave Michael">dmichael</who>
    <bug_when>2012-03-20 21:34:17 -0700</bug_when>
    <thetext>Created attachment 132967
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>583793</commentid>
    <comment_count>14</comment_count>
      <attachid>132967</attachid>
    <who name="Dave Michael">dmichael</who>
    <bug_when>2012-03-20 21:43:30 -0700</bug_when>
    <thetext>Comment on attachment 132967
Patch

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

eseidel: Thanks for the suggestion of adding capabilities to window.internals. This turned out to be easier than expected, so here&apos;s my first stab at a test using this. I basically just reload and make sure that there&apos;s only 1 document.

&gt; LayoutTests/plugins/netscape-dom-access-and-reload.html:36
&gt; +        if (numberOfLiveDocuments == 1)

I&apos;m worried about ports that don&apos;t build WebInspector (do we have any? Mobile stuff, or headless ports maybe?)

In those cases, this test isn&apos;t really valid, and numberOfLiveDocuments will be 0. What&apos;s the best way of dealing with that?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>583802</commentid>
    <comment_count>15</comment_count>
      <attachid>132967</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-03-20 21:53:28 -0700</bug_when>
    <thetext>Comment on attachment 132967
Patch

Attachment 132967 did not pass win-ews (win):
Output: http://queues.webkit.org/results/12066180</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>583804</commentid>
    <comment_count>16</comment_count>
      <attachid>132967</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-03-20 22:00:31 -0700</bug_when>
    <thetext>Comment on attachment 132967
Patch

Attachment 132967 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/12072159</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>583825</commentid>
    <comment_count>17</comment_count>
      <attachid>132967</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2012-03-20 22:38:26 -0700</bug_when>
    <thetext>Comment on attachment 132967
Patch

Attachment 132967 did not pass gtk-ews (gtk):
Output: http://queues.webkit.org/results/12066204</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>584334</commentid>
    <comment_count>18</comment_count>
      <attachid>132967</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-03-21 10:47:46 -0700</bug_when>
    <thetext>Comment on attachment 132967
Patch

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

&gt;&gt; LayoutTests/plugins/netscape-dom-access-and-reload.html:36
&gt;&gt; +        if (numberOfLiveDocuments == 1)
&gt; 
&gt; I&apos;m worried about ports that don&apos;t build WebInspector (do we have any? Mobile stuff, or headless ports maybe?)
&gt; 
&gt; In those cases, this test isn&apos;t really valid, and numberOfLiveDocuments will be 0. What&apos;s the best way of dealing with that?

That&apos;s fine.  Those ports (if they exist) can skip this test.  Perhaps we should show a helpful message if numberOfLiveDocuments == 0 letting folks know that this might be caused by having the inspector disabled?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>584464</commentid>
    <comment_count>19</comment_count>
      <attachid>133088</attachid>
    <who name="Dave Michael">dmichael</who>
    <bug_when>2012-03-21 12:06:49 -0700</bug_when>
    <thetext>Created attachment 133088
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>584513</commentid>
    <comment_count>20</comment_count>
      <attachid>133088</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-03-21 12:42:44 -0700</bug_when>
    <thetext>Comment on attachment 133088
Patch

Attachment 133088 did not pass win-ews (win):
Output: http://queues.webkit.org/results/12071570</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>584527</commentid>
    <comment_count>21</comment_count>
      <attachid>133088</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-03-21 12:56:36 -0700</bug_when>
    <thetext>Comment on attachment 133088
Patch

Attachment 133088 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/12090539</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>584630</commentid>
    <comment_count>22</comment_count>
      <attachid>133088</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2012-03-21 14:24:19 -0700</bug_when>
    <thetext>Comment on attachment 133088
Patch

Attachment 133088 did not pass gtk-ews (gtk):
Output: http://queues.webkit.org/results/12072595</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>584654</commentid>
    <comment_count>23</comment_count>
      <attachid>133118</attachid>
    <who name="Dave Michael">dmichael</who>
    <bug_when>2012-03-21 14:55:02 -0700</bug_when>
    <thetext>Created attachment 133118
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>584697</commentid>
    <comment_count>24</comment_count>
    <who name="Dave Michael">dmichael</who>
    <bug_when>2012-03-21 15:31:10 -0700</bug_when>
    <thetext>+dglazkov, caseq: Can one of you guys help me figure out how to get this to build properly? I&apos;m trying to use InspectorCounters::counterValue in testing/Internals.cpp, and I&apos;m getting link errors. I might have mac sorted out (I added the symbol to WebCore.exp.in), but I&apos;m not sure where in WebKit to tell the Windows build to export that symbol. GTK is also failing to build (though it&apos;s not clear to me if that&apos;s related to my patch)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>584701</commentid>
    <comment_count>25</comment_count>
      <attachid>133118</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-03-21 15:33:02 -0700</bug_when>
    <thetext>Comment on attachment 133118
Patch

Attachment 133118 did not pass win-ews (win):
Output: http://queues.webkit.org/results/12066633</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>584718</commentid>
    <comment_count>26</comment_count>
      <attachid>133132</attachid>
    <who name="Dave Michael">dmichael</who>
    <bug_when>2012-03-21 15:48:20 -0700</bug_when>
    <thetext>Created attachment 133132
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>584725</commentid>
    <comment_count>27</comment_count>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2012-03-21 15:54:24 -0700</bug_when>
    <thetext>./.libs/libWebCoreInternals.a(./.libs/../Source/WebCore/testing/.libs/libWebCoreInternals_la-Internals.o):Internals.cpp:function WebCore::Internals::numberOfLiveNodes() const: error: undefined reference to &apos;WebCore::InspectorCounters::counterValue(WebCore::InspectorCounters::CounterType)&apos;
./.libs/libWebCoreInternals.a(./.libs/../Source/WebCore/testing/.libs/libWebCoreInternals_la-Internals.o):Internals.cpp:function WebCore::Internals::numberOfLiveDocuments() const: error: undefined reference to &apos;WebCore::InspectorCounters::counterValue(WebCore::InspectorCounters::CounterType)&apos;
collect2: ld returned 1 exit status

You need to add those 2 symbols in Source/autotools/symbols.filter</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>584727</commentid>
    <comment_count>28</comment_count>
      <attachid>133132</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2012-03-21 15:58:26 -0700</bug_when>
    <thetext>Comment on attachment 133132
Patch

Attachment 133132 did not pass gtk-ews (gtk):
Output: http://queues.webkit.org/results/12072631</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>584894</commentid>
    <comment_count>29</comment_count>
      <attachid>133170</attachid>
    <who name="Dave Michael">dmichael</who>
    <bug_when>2012-03-21 19:26:06 -0700</bug_when>
    <thetext>Created attachment 133170
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>584937</commentid>
    <comment_count>30</comment_count>
      <attachid>133170</attachid>
    <who name="Dave Michael">dmichael</who>
    <bug_when>2012-03-21 20:50:13 -0700</bug_when>
    <thetext>Comment on attachment 133170
Patch

I think I have all the right incantations to make this build on all the platforms.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>584958</commentid>
    <comment_count>31</comment_count>
      <attachid>133170</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-03-21 21:36:11 -0700</bug_when>
    <thetext>Comment on attachment 133170
Patch

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

&gt; Source/WebCore/ChangeLog:14
&gt; +        Reviewed by NOBODY (OOPS!).

This line should appear before the description but after the bug summary and the bug url.

&gt; Source/WebCore/html/HTMLPlugInElement.cpp:83
&gt;          _NPN_ReleaseObject(m_NPObject);

Can this trigger a layout or style recalc? i.e. is the np object gets notified synchronously here? If so, it&apos;s not safe to do this.

&gt; Source/WebCore/testing/Internals.idl:125
&gt; +        unsigned long numberOfLiveNodes();
&gt; +        unsigned long numberOfLiveDocuments();

It seems like we should just wrap this inside ENABLE(INSPECTOR).
It&apos;s misleading for it to return 0. Note that the right way to do that is appending [Conditional=INSPECTOR] on each function declaration.

&gt; LayoutTests/plugins/netscape-dom-access-and-reload.html:10
&gt; +    // Make the plugin retrieve a DOM element to itself. This exercises
&gt; +    // https://bugs.webkit.org/show_bug.cgi?id=80428
&gt; +    // (HTMLPluginElement is not destroyed on reload or navigation if
&gt; +    // getNPObject is called)

This comment is redundant since it&apos;s included in the body.

&gt; LayoutTests/plugins/netscape-dom-access-and-reload.html:13
&gt; +    // Reload the page once.

This comment repeats the code. Please remove.

&gt; LayoutTests/plugins/netscape-dom-access-and-reload.html:28
&gt; +        window.location.reload();

No need for &quot;window.&quot;.

&gt; LayoutTests/plugins/netscape-dom-access-and-reload.html:35
&gt; +        var numberOfLiveDocuments = window.internals.numberOfLiveDocuments();

No need for &quot;window.&quot;.

&gt; LayoutTests/plugins/netscape-dom-access-and-reload.html:41
&gt; +                &quot;FAILED; numberOfLiveDocuments returned 0. This test is only &quot;
&gt; +                &quot;valid if the Inspector is enabled.&quot;;

If we had made numberOfLiveDocuments conditional, you can detect this in the script.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>584998</commentid>
    <comment_count>32</comment_count>
      <attachid>133193</attachid>
    <who name="Dave Michael">dmichael</who>
    <bug_when>2012-03-21 23:19:11 -0700</bug_when>
    <thetext>Created attachment 133193
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>585001</commentid>
    <comment_count>33</comment_count>
      <attachid>133170</attachid>
    <who name="Dave Michael">dmichael</who>
    <bug_when>2012-03-21 23:23:24 -0700</bug_when>
    <thetext>Comment on attachment 133170
Patch

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

&gt;&gt; Source/WebCore/html/HTMLPlugInElement.cpp:83
&gt;&gt;          _NPN_ReleaseObject(m_NPObject);
&gt; 
&gt; Can this trigger a layout or style recalc? i.e. is the np object gets notified synchronously here? If so, it&apos;s not safe to do this.

I&apos;m not certain if it&apos;s possible for the plugin to cause a layout from its NPP_Deallocate function (it may be prohibited). But it&apos;s scary enough that I used a Timer to defer the release.

(Good catch)

&gt;&gt; Source/WebCore/testing/Internals.idl:125
&gt;&gt; +        unsigned long numberOfLiveDocuments();
&gt; 
&gt; It seems like we should just wrap this inside ENABLE(INSPECTOR).
&gt; It&apos;s misleading for it to return 0. Note that the right way to do that is appending [Conditional=INSPECTOR] on each function declaration.

Good idea. Done.

&gt;&gt; LayoutTests/plugins/netscape-dom-access-and-reload.html:10
&gt;&gt; +    // getNPObject is called)
&gt; 
&gt; This comment is redundant since it&apos;s included in the body.

Removed.

&gt;&gt; LayoutTests/plugins/netscape-dom-access-and-reload.html:13
&gt;&gt; +    // Reload the page once.
&gt; 
&gt; This comment repeats the code. Please remove.

I removed it. I guess I thought it was helpful since it summarizes the purpose of the next 7 lines of code.

&gt;&gt; LayoutTests/plugins/netscape-dom-access-and-reload.html:28
&gt;&gt; +        window.location.reload();
&gt; 
&gt; No need for &quot;window.&quot;.

removed.

&gt;&gt; LayoutTests/plugins/netscape-dom-access-and-reload.html:35
&gt;&gt; +        var numberOfLiveDocuments = window.internals.numberOfLiveDocuments();
&gt; 
&gt; No need for &quot;window.&quot;.

removed.

&gt;&gt; LayoutTests/plugins/netscape-dom-access-and-reload.html:41
&gt;&gt; +                &quot;valid if the Inspector is enabled.&quot;;
&gt; 
&gt; If we had made numberOfLiveDocuments conditional, you can detect this in the script.

Done; this is cleaner!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>585287</commentid>
    <comment_count>34</comment_count>
      <attachid>133193</attachid>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2012-03-22 08:01:35 -0700</bug_when>
    <thetext>Comment on attachment 133193
Patch

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

&gt; Source/WebCore/html/HTMLPlugInElement.cpp:86
&gt; +    m_releaseNPObjectTimer.startOneShot(0);

Won&apos;t queuePostAttachCallback work instead? Seems like it was designed for this purpose.

&gt; LayoutTests/plugins/netscape-dom-access-and-reload.html:38
&gt; +              document.getElementById(&quot;result&quot;).innerHTML = &quot;FAILED; This test is only valid if the Inspector is enabled.&quot;;

Inspector _and_ DumpRenderTree, right?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>585316</commentid>
    <comment_count>35</comment_count>
      <attachid>133269</attachid>
    <who name="Dave Michael">dmichael</who>
    <bug_when>2012-03-22 08:24:20 -0700</bug_when>
    <thetext>Created attachment 133269
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>585323</commentid>
    <comment_count>36</comment_count>
      <attachid>133193</attachid>
    <who name="Dave Michael">dmichael</who>
    <bug_when>2012-03-22 08:33:18 -0700</bug_when>
    <thetext>Comment on attachment 133193
Patch

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

Thanks for looking! I uploaded a new patch.

&gt;&gt; Source/WebCore/html/HTMLPlugInElement.cpp:86
&gt;&gt; +    m_releaseNPObjectTimer.startOneShot(0);
&gt; 
&gt; Won&apos;t queuePostAttachCallback work instead? Seems like it was designed for this purpose.

Perhaps... that sounds like it&apos;s meant for stuff to do just after attach, rather than detach? But in any case, I just didn&apos;t know about it :-)

Turns out, though, that I was just not thinking straight when going over rniwa&apos;s comments. Releasing HTMLPlugInElement doesn&apos;t give the plugin an opportunity to do anything. So I changed it back to just releasing immediately, and I added an explanation to the ChangeLog (as suggested by rniwa on IRC).

&gt;&gt; LayoutTests/plugins/netscape-dom-access-and-reload.html:38
&gt;&gt; +              document.getElementById(&quot;result&quot;).innerHTML = &quot;FAILED; This test is only valid if the Inspector is enabled.&quot;;
&gt; 
&gt; Inspector _and_ DumpRenderTree, right?

Done</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>585374</commentid>
    <comment_count>37</comment_count>
      <attachid>133269</attachid>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2012-03-22 09:30:56 -0700</bug_when>
    <thetext>Comment on attachment 133269
Patch

Looks good. I would like Dr. Seidel to give it one more look.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>585532</commentid>
    <comment_count>38</comment_count>
      <attachid>133269</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-03-22 11:40:52 -0700</bug_when>
    <thetext>Comment on attachment 133269
Patch

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

LGTM.

&gt; Source/WebCore/html/HTMLPlugInElement.h:30
&gt; +#include &quot;Timer.h&quot;

Why is this needed?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>585541</commentid>
    <comment_count>39</comment_count>
      <attachid>133307</attachid>
    <who name="Dave Michael">dmichael</who>
    <bug_when>2012-03-22 11:46:22 -0700</bug_when>
    <thetext>Created attachment 133307
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>585569</commentid>
    <comment_count>40</comment_count>
      <attachid>133307</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-03-22 12:05:35 -0700</bug_when>
    <thetext>Comment on attachment 133307
Patch

Fantastic!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>585658</commentid>
    <comment_count>41</comment_count>
      <attachid>133307</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-22 13:45:53 -0700</bug_when>
    <thetext>Comment on attachment 133307
Patch

Clearing flags on attachment: 133307

Committed r111754: &lt;http://trac.webkit.org/changeset/111754&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>585659</commentid>
    <comment_count>42</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-22 13:46:00 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>586112</commentid>
    <comment_count>43</comment_count>
    <who name="">mitz</who>
    <bug_when>2012-03-22 23:25:43 -0700</bug_when>
    <thetext>(In reply to comment #41)
&gt; (From update of attachment 133307 [details])
&gt; Clearing flags on attachment: 133307
&gt; 
&gt; Committed r111754: &lt;http://trac.webkit.org/changeset/111754&gt;

The test added in this change has been failing in Mac WebKit2 ever since. Filed bug 82020.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>586157</commentid>
    <comment_count>44</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-03-23 00:54:54 -0700</bug_when>
    <thetext>I think this patch caused plugins/reloadplugins-and-pages.html to fail on all platforms:
http://test-results.appspot.com/dashboards/flakiness_dashboard.html#group=%40ToT%20-%20webkit.org&amp;tests=plugins%2Freloadplugins-and-pages.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>586159</commentid>
    <comment_count>45</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-03-23 00:59:39 -0700</bug_when>
    <thetext>Looking at http://trac.webkit.org/log/?verbose=on&amp;rev=111757&amp;stop_rev=111749, I&apos;m certain this patch caused the failure.

Given that the test added by this patch is failing on Mac WebKit 2 and it caused a regression, I&apos;m going to rollout the patch along with mitz&apos;s WK2 rebaseline in the next half an hour or so. Please let me know ASAP if you know how to fix it such that we don&apos;t have to roll out the patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>586179</commentid>
    <comment_count>46</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-03-23 02:07:18 -0700</bug_when>
    <thetext>Reopen the bug since the patch was rolled out in http://trac.webkit.org/changeset/111839.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>586181</commentid>
    <comment_count>47</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-03-23 02:10:15 -0700</bug_when>
    <thetext>http://crbug.com/114023/</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>586452</commentid>
    <comment_count>48</comment_count>
      <attachid>133506</attachid>
    <who name="Dave Michael">dmichael</who>
    <bug_when>2012-03-23 10:10:40 -0700</bug_when>
    <thetext>Created attachment 133506
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>586462</commentid>
    <comment_count>49</comment_count>
      <attachid>133507</attachid>
    <who name="Dave Michael">dmichael</who>
    <bug_when>2012-03-23 10:21:25 -0700</bug_when>
    <thetext>Created attachment 133507
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>586472</commentid>
    <comment_count>50</comment_count>
      <attachid>133507</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-03-23 10:41:27 -0700</bug_when>
    <thetext>Comment on attachment 133507
Patch

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

&gt; LayoutTests/ChangeLog:11
&gt; +        Due to unfortunate copy/paste laziness, the new test was using the same
&gt; +        window.sessionStorage as plugins/reloadplugins-and-pages.html, so that
&gt; +        if the tests were run in the same session, reloadplugins-and-pages.html
&gt; +        would *not* reload as it was supposed to, causing a text mismatch. This
&gt; +        patch uses a more appropriate and unique name so that these two tests
&gt; +        won&apos;t affect each other.

Isn&apos;t this a DRT bug? It seems like we should be re-setting the session storage whenever new test is loaded.

e.g. Mac port has:
http://trac.webkit.org/browser/trunk/Tools/DumpRenderTree/mac/DumpRenderTree.mm#L1225

&gt; LayoutTests/ChangeLog:13
&gt; +        Reviewed by NOBODY (OOPS!).

This line should appear before the description.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>586491</commentid>
    <comment_count>51</comment_count>
      <attachid>133512</attachid>
    <who name="Dave Michael">dmichael</who>
    <bug_when>2012-03-23 11:00:32 -0700</bug_when>
    <thetext>Created attachment 133512
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>586498</commentid>
    <comment_count>52</comment_count>
      <attachid>133507</attachid>
    <who name="Dave Michael">dmichael</who>
    <bug_when>2012-03-23 11:06:24 -0700</bug_when>
    <thetext>Comment on attachment 133507
Patch

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

&gt;&gt; LayoutTests/ChangeLog:11
&gt;&gt; +        won&apos;t affect each other.
&gt; 
&gt; Isn&apos;t this a DRT bug? It seems like we should be re-setting the session storage whenever new test is loaded.
&gt; 
&gt; e.g. Mac port has:
&gt; http://trac.webkit.org/browser/trunk/Tools/DumpRenderTree/mac/DumpRenderTree.mm#L1225

I wouldn&apos;t know. I filed a bug: https://bugs.webkit.org/show_bug.cgi?id=82068

Hopefully we can deal with that separately?

&gt;&gt; LayoutTests/ChangeLog:13
&gt;&gt; +        Reviewed by NOBODY (OOPS!).
&gt; 
&gt; This line should appear before the description.

Augh, someday I&apos;ll get the ChangeLog stuff right!

Thanks, Done :-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>586538</commentid>
    <comment_count>53</comment_count>
      <attachid>133512</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-03-23 11:34:30 -0700</bug_when>
    <thetext>Comment on attachment 133512
Patch

Forwarding eric&apos;s r+. (You should modify Reviewed by line to include both names of our names if you&apos;re so inclined to include my name).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>586563</commentid>
    <comment_count>54</comment_count>
      <attachid>133528</attachid>
    <who name="Dave Michael">dmichael</who>
    <bug_when>2012-03-23 11:53:09 -0700</bug_when>
    <thetext>Created attachment 133528
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>586645</commentid>
    <comment_count>55</comment_count>
      <attachid>133528</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-23 13:00:27 -0700</bug_when>
    <thetext>Comment on attachment 133528
Patch

Clearing flags on attachment: 133528

Committed r111890: &lt;http://trac.webkit.org/changeset/111890&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>586646</commentid>
    <comment_count>56</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-03-23 13:00:35 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>586872</commentid>
    <comment_count>57</comment_count>
    <who name="">mitz</who>
    <bug_when>2012-03-23 17:18:16 -0700</bug_when>
    <thetext>(In reply to comment #55)
&gt; (From update of attachment 133528 [details])
&gt; Clearing flags on attachment: 133528
&gt; 
&gt; Committed r111890: &lt;http://trac.webkit.org/changeset/111890&gt;

The test added in this change has been failing in Mac WebKit2 ever since. This is the second time a change for this bug does this. Please keep an eye on build.webkit.org after committing a change to see if any new tests are failing.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>130409</attachid>
            <date>2012-03-06 11:04:25 -0800</date>
            <delta_ts>2012-03-15 08:57:47 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-80428-20120306120424.patch</filename>
            <type>text/plain</type>
            <size>2439</size>
            <attacher name="Dave Michael">dmichael</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA5ODAyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOGYyOWJiZTMxMTc4YjAy
MmQxNzNmZDhiNWVlMDdmZTc1ZjYzZjFhOC4uMGI5MWUwMWQxNDE2NTM3Y2NhZTJkOTFmYzUzYjBh
OGNmZDcxZTQyNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDEyLTAzLTA2ICBEYXZl
IE1pY2hhZWwgIDxkbWljaGFlbEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgTWFrZSBIVE1MUGx1
Z2luRWxlbWVudCByZWxlYXNlIGl0cyBtX05QT2JqZWN0IGluIGRldGFjaCgpIHRvIGJyZWFrIGEK
KyAgICAgICAgcmVmZXJlbmNlLWNvdW50aW5nIGN5Y2xlIHRoYXQgaGFwcGVucyBvbiByZWxvYWQg
b3IgbmF2aWdhdGlvbi4gV2l0aCB0aGlzCisgICAgICAgIGNoYW5nZSwgSFRNTFBsdWdpbkVsZW1l
bnQ6OnJlbW92ZWRGcm9tRG9jdW1lbnQgaXMgdW5uZWNlc3NhcnksIHNvIGl0CisgICAgICAgIHdh
cyByZW1vdmVkLgorCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD04MDQyOAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIE5vIG5ldyB0ZXN0cy4gKE9PUFMhKQorCisgICAgICAgICogaHRtbC9IVE1MUGx1Z0luRWxl
bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MUGx1Z0luRWxlbWVudDo6ZGV0YWNoKToK
KyAgICAgICAgKiBodG1sL0hUTUxQbHVnSW5FbGVtZW50Lmg6CisgICAgICAgIChIVE1MUGx1Z0lu
RWxlbWVudCk6CisKIDIwMTItMDMtMDUgIEFuZGVycyBDYXJsc3NvbiAgPGFuZGVyc2NhQGFwcGxl
LmNvbT4KIAogICAgICAgICBBbHdheXMgdXBkYXRlIHRoZSBzY3JvbGwgbGF5ZXIgcG9zaXRpb24g
b24gdGhlIG1haW4gdGhyZWFkIHdoZW4gd2UgaGF2ZSBhbiBvdmVybGF5CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQbHVnSW5FbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTFBsdWdJbkVsZW1lbnQuY3BwCmluZGV4IDI5OWU0N2IyZWY5ZmNhMzFlZjcxYjJj
MzA4YjAwMGFlNGRiMjYyNjQuLjQ1OGQxNTc1OGY1NmRjY2FmYTVmMzFiOWJiMjQ3OGY4NGRkZDFl
OTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFBsdWdJbkVsZW1lbnQuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFBsdWdJbkVsZW1lbnQuY3BwCkBAIC03OCwx
MSArNzgsNiBAQCB2b2lkIEhUTUxQbHVnSW5FbGVtZW50OjpkZXRhY2goKQogICAgICAgICBtX2lz
Q2FwdHVyaW5nTW91c2VFdmVudHMgPSBmYWxzZTsKICAgICB9CiAKLSAgICBIVE1MRnJhbWVPd25l
ckVsZW1lbnQ6OmRldGFjaCgpOwotfQotCi12b2lkIEhUTUxQbHVnSW5FbGVtZW50OjpyZW1vdmVk
RnJvbURvY3VtZW50KCkKLXsKICNpZiBFTkFCTEUoTkVUU0NBUEVfUExVR0lOX0FQSSkKICAgICBp
ZiAobV9OUE9iamVjdCkgewogICAgICAgICBfTlBOX1JlbGVhc2VPYmplY3QobV9OUE9iamVjdCk7
CkBAIC05MCw3ICs4NSw3IEBAIHZvaWQgSFRNTFBsdWdJbkVsZW1lbnQ6OnJlbW92ZWRGcm9tRG9j
dW1lbnQoKQogICAgIH0KICNlbmRpZgogCi0gICAgSFRNTEZyYW1lT3duZXJFbGVtZW50OjpyZW1v
dmVkRnJvbURvY3VtZW50KCk7CisgICAgSFRNTEZyYW1lT3duZXJFbGVtZW50OjpkZXRhY2goKTsK
IH0KIAogUGFzc1NjcmlwdEluc3RhbmNlIEhUTUxQbHVnSW5FbGVtZW50OjpnZXRJbnN0YW5jZSgp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQbHVnSW5FbGVtZW50LmggYi9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQbHVnSW5FbGVtZW50LmgKaW5kZXggMjJiMTRjNGU3MGJi
NzFmMDUzMWQwZTViNjE0ZTliYWNjNGZkYWQ0MC4uNjVmODY5YmRiNTBlNTJjMWQzNzNiZGVjZDhj
MTk1ODBiOGNkYWFiMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MUGx1Z0lu
RWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFBsdWdJbkVsZW1lbnQuaApA
QCAtNTcsNyArNTcsNiBAQCBwcm90ZWN0ZWQ6CiAgICAgSFRNTFBsdWdJbkVsZW1lbnQoY29uc3Qg
UXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQqKTsKIAogICAgIHZpcnR1YWwgdm9pZCBk
ZXRhY2goKTsKLSAgICB2aXJ0dWFsIHZvaWQgcmVtb3ZlZEZyb21Eb2N1bWVudCgpOwogICAgIHZp
cnR1YWwgYm9vbCBpc1ByZXNlbnRhdGlvbkF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJikg
Y29uc3QgT1ZFUlJJREU7CiAgICAgdmlydHVhbCB2b2lkIGNvbGxlY3RTdHlsZUZvckF0dHJpYnV0
ZShBdHRyaWJ1dGUqLCBTdHlsZVByb3BlcnR5U2V0KikgT1ZFUlJJREU7CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>132057</attachid>
            <date>2012-03-15 08:57:53 -0700</date>
            <delta_ts>2012-03-20 21:06:41 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-80428-20120315095752.patch</filename>
            <type>text/plain</type>
            <size>2745</size>
            <attacher name="Dave Michael">dmichael</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEwODQ2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2JjMDNiNDRlYzdiYTY5
NmMyM2ExZTZmNGY0ODA3ZWM5ZDM4MjgzYi4uN2I2Mjc5NTI4OGFiMjU4YThjZjVhZThkN2I0NDY3
NjFlMDQzZGUyOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDEyLTAzLTE1ICBEYXZl
IE1pY2hhZWwgIDxkbWljaGFlbEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgSFRNTFBsdWdpbkVs
ZW1lbnQgaXMgbm90IGRlc3Ryb3llZCBvbiByZWxvYWQgb3IgbmF2aWdhdGlvbiBpZiBnZXROUE9i
amVjdCBpcyBjYWxsZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTgwNDI4CisKKyAgICAgICAgTWFrZSBIVE1MUGx1Z2luRWxlbWVudCByZWxlYXNlIGl0
cyBtX05QT2JqZWN0IGluIGRldGFjaCgpIHRvIGJyZWFrIGEKKyAgICAgICAgcmVmZXJlbmNlLWNv
dW50aW5nIGN5Y2xlIHRoYXQgaGFwcGVucyBvbiByZWxvYWQgb3IgbmF2aWdhdGlvbi4gV2l0aCB0
aGlzCisgICAgICAgIGNoYW5nZSwgSFRNTFBsdWdpbkVsZW1lbnQ6OnJlbW92ZWRGcm9tRG9jdW1l
bnQgaXMgdW5uZWNlc3NhcnksIHNvIGl0CisgICAgICAgIHdhcyByZW1vdmVkLgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE5vIG5ldyB0ZXN0cy4gVGhp
cyBpcyB2ZXJ5IGhhcmQgdG8gdGVzdCwgYmVjYXVzZSBpdCBpcyBub3QgbGVha2VkIG9uCisgICAg
ICAgIHNodXRkb3duLCB0aGUgcGx1Z2luIGl0c2VsZiBpcyBwcm9wZXJseSBkZWFsbG9jYXRlZCwg
YW5kIGNoZWNraW5nIGZvcgorICAgICAgICB0aGUgZXhpc3RlbmNlIG9mIGFuIGV4dHJhIE5vZGUg
b3IgRG9jdW1lbnQgd291bGQgcmVxdWlyZSBjaGFuZ2luZyB0aGUKKyAgICAgICAgaW50ZXJmYWNl
IG9mIG9uZSBvZiB0aG9zZSBjbGFzc2VzLiAoU2VlIHRoZSBidWcgZm9yIG1vcmUgZGV0YWlsLikK
KworICAgICAgICAqIGh0bWwvSFRNTFBsdWdJbkVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6SFRNTFBsdWdJbkVsZW1lbnQ6OmRldGFjaCk6CisgICAgICAgICogaHRtbC9IVE1MUGx1Z0lu
RWxlbWVudC5oOgorICAgICAgICAoSFRNTFBsdWdJbkVsZW1lbnQpOgorCiAyMDEyLTAzLTE1ICBS
b2IgQnVpcyAgPHJidWlzQHJpbS5jb20+CiAKICAgICAgICAgRml4IGNhc3QtYWxpZ24gR0NDIHdh
cm5pbmdzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQbHVnSW5FbGVtZW50
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFBsdWdJbkVsZW1lbnQuY3BwCmluZGV4IDI5
OWU0N2IyZWY5ZmNhMzFlZjcxYjJjMzA4YjAwMGFlNGRiMjYyNjQuLjQ1OGQxNTc1OGY1NmRjY2Fm
YTVmMzFiOWJiMjQ3OGY4NGRkZDFlOTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTFBsdWdJbkVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFBsdWdJ
bkVsZW1lbnQuY3BwCkBAIC03OCwxMSArNzgsNiBAQCB2b2lkIEhUTUxQbHVnSW5FbGVtZW50Ojpk
ZXRhY2goKQogICAgICAgICBtX2lzQ2FwdHVyaW5nTW91c2VFdmVudHMgPSBmYWxzZTsKICAgICB9
CiAKLSAgICBIVE1MRnJhbWVPd25lckVsZW1lbnQ6OmRldGFjaCgpOwotfQotCi12b2lkIEhUTUxQ
bHVnSW5FbGVtZW50OjpyZW1vdmVkRnJvbURvY3VtZW50KCkKLXsKICNpZiBFTkFCTEUoTkVUU0NB
UEVfUExVR0lOX0FQSSkKICAgICBpZiAobV9OUE9iamVjdCkgewogICAgICAgICBfTlBOX1JlbGVh
c2VPYmplY3QobV9OUE9iamVjdCk7CkBAIC05MCw3ICs4NSw3IEBAIHZvaWQgSFRNTFBsdWdJbkVs
ZW1lbnQ6OnJlbW92ZWRGcm9tRG9jdW1lbnQoKQogICAgIH0KICNlbmRpZgogCi0gICAgSFRNTEZy
YW1lT3duZXJFbGVtZW50OjpyZW1vdmVkRnJvbURvY3VtZW50KCk7CisgICAgSFRNTEZyYW1lT3du
ZXJFbGVtZW50OjpkZXRhY2goKTsKIH0KIAogUGFzc1NjcmlwdEluc3RhbmNlIEhUTUxQbHVnSW5F
bGVtZW50OjpnZXRJbnN0YW5jZSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hU
TUxQbHVnSW5FbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQbHVnSW5FbGVtZW50
LmgKaW5kZXggMjJiMTRjNGU3MGJiNzFmMDUzMWQwZTViNjE0ZTliYWNjNGZkYWQ0MC4uNjVmODY5
YmRiNTBlNTJjMWQzNzNiZGVjZDhjMTk1ODBiOGNkYWFiMCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MUGx1Z0luRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTFBsdWdJbkVsZW1lbnQuaApAQCAtNTcsNyArNTcsNiBAQCBwcm90ZWN0ZWQ6CiAgICAgSFRN
TFBsdWdJbkVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQqKTsK
IAogICAgIHZpcnR1YWwgdm9pZCBkZXRhY2goKTsKLSAgICB2aXJ0dWFsIHZvaWQgcmVtb3ZlZEZy
b21Eb2N1bWVudCgpOwogICAgIHZpcnR1YWwgYm9vbCBpc1ByZXNlbnRhdGlvbkF0dHJpYnV0ZShj
b25zdCBRdWFsaWZpZWROYW1lJikgY29uc3QgT1ZFUlJJREU7CiAgICAgdmlydHVhbCB2b2lkIGNv
bGxlY3RTdHlsZUZvckF0dHJpYnV0ZShBdHRyaWJ1dGUqLCBTdHlsZVByb3BlcnR5U2V0KikgT1ZF
UlJJREU7CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>132963</attachid>
            <date>2012-03-20 21:06:44 -0700</date>
            <delta_ts>2012-03-20 21:34:12 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-80428-20120320220643.patch</filename>
            <type>text/plain</type>
            <size>9249</size>
            <attacher name="Dave Michael">dmichael</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTExNDExCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODc3OTUxZTNkZGExNmRk
ZmUwOWRiYTA4YjQxYTgwOTAxNTYwYjQ1MC4uZTVjYjg3ZDFlZTQ2NDU5YWQ2MDMyMTU4MWJiZDIy
MjdiNjkwZGEwNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDEyLTAzLTIwICBEYXZl
IE1pY2hhZWwgIDxkbWljaGFlbEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgSFRNTFBsdWdpbkVs
ZW1lbnQgaXMgbm90IGRlc3Ryb3llZCBvbiByZWxvYWQgb3IgbmF2aWdhdGlvbiBpZiBnZXROUE9i
amVjdCBpcyBjYWxsZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTgwNDI4CisKKyAgICAgICAgTWFrZSBIVE1MUGx1Z2luRWxlbWVudCByZWxlYXNlIGl0
cyBtX05QT2JqZWN0IGluIGRldGFjaCgpIHRvIGJyZWFrIGEKKyAgICAgICAgcmVmZXJlbmNlLWNv
dW50aW5nIGN5Y2xlIHRoYXQgaGFwcGVucyBvbiByZWxvYWQgb3IgbmF2aWdhdGlvbi4gV2l0aCB0
aGlzCisgICAgICAgIGNoYW5nZSwgSFRNTFBsdWdpbkVsZW1lbnQ6OnJlbW92ZWRGcm9tRG9jdW1l
bnQgaXMgdW5uZWNlc3NhcnksIHNvIGl0CisgICAgICAgIHdhcyByZW1vdmVkLgorCisgICAgICAg
IEFsc28gYWRkZWQgbnVtYmVyT2ZMaXZlTm9kZXMoKSBhbmQgbnVtYmVyT2ZMaXZlRG9jdW1lbnRz
KCkgdG8KKyAgICAgICAgd2luZG93LmludGVybmFscyB0byBlbmFibGUgdGVzdGluZy4KKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0OiBwbHVnaW5z
L25ldHNjYXBlLWRvbS1hY2Nlc3MtYW5kLXJlbG9hZC5odG1sCisKKyAgICAgICAgKiBodG1sL0hU
TUxQbHVnSW5FbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxQbHVnSW5FbGVtZW50
OjpkZXRhY2gpOgorICAgICAgICAqIGh0bWwvSFRNTFBsdWdJbkVsZW1lbnQuaDoKKyAgICAgICAg
KEhUTUxQbHVnSW5FbGVtZW50KToKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbHM6Om51bWJlck9mTGl2ZURvY3VtZW50cyk6CisgICAg
ICAgIChXZWJDb3JlOjpJbnRlcm5hbHM6Om51bWJlck9mTGl2ZU5vZGVzKToKKyAgICAgICAgKFdl
YkNvcmUpOgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmg6CisgICAgICAgIChJbnRlcm5h
bHMpOgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmlkbDoKKwogMjAxMi0wMy0yMCAgR3l1
eW91bmcgS2ltICA8Z3l1eW91bmcua2ltQHNhbXN1bmcuY29tPgogCiAgICAgICAgIENvbnZlcnQg
aGFzU3BlbGxpbmdNYXJrZXIgdG8gdXNlIEludGVybmFscyBpbnRlcmZhY2UuCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQbHVnSW5FbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTFBsdWdJbkVsZW1lbnQuY3BwCmluZGV4IDI5OWU0N2IyZWY5ZmNhMzFlZjcx
YjJjMzA4YjAwMGFlNGRiMjYyNjQuLjQ1OGQxNTc1OGY1NmRjY2FmYTVmMzFiOWJiMjQ3OGY4NGRk
ZDFlOTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFBsdWdJbkVsZW1lbnQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFBsdWdJbkVsZW1lbnQuY3BwCkBAIC03
OCwxMSArNzgsNiBAQCB2b2lkIEhUTUxQbHVnSW5FbGVtZW50OjpkZXRhY2goKQogICAgICAgICBt
X2lzQ2FwdHVyaW5nTW91c2VFdmVudHMgPSBmYWxzZTsKICAgICB9CiAKLSAgICBIVE1MRnJhbWVP
d25lckVsZW1lbnQ6OmRldGFjaCgpOwotfQotCi12b2lkIEhUTUxQbHVnSW5FbGVtZW50OjpyZW1v
dmVkRnJvbURvY3VtZW50KCkKLXsKICNpZiBFTkFCTEUoTkVUU0NBUEVfUExVR0lOX0FQSSkKICAg
ICBpZiAobV9OUE9iamVjdCkgewogICAgICAgICBfTlBOX1JlbGVhc2VPYmplY3QobV9OUE9iamVj
dCk7CkBAIC05MCw3ICs4NSw3IEBAIHZvaWQgSFRNTFBsdWdJbkVsZW1lbnQ6OnJlbW92ZWRGcm9t
RG9jdW1lbnQoKQogICAgIH0KICNlbmRpZgogCi0gICAgSFRNTEZyYW1lT3duZXJFbGVtZW50Ojpy
ZW1vdmVkRnJvbURvY3VtZW50KCk7CisgICAgSFRNTEZyYW1lT3duZXJFbGVtZW50OjpkZXRhY2go
KTsKIH0KIAogUGFzc1NjcmlwdEluc3RhbmNlIEhUTUxQbHVnSW5FbGVtZW50OjpnZXRJbnN0YW5j
ZSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQbHVnSW5FbGVtZW50Lmgg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQbHVnSW5FbGVtZW50LmgKaW5kZXggMjJiMTRjNGU3
MGJiNzFmMDUzMWQwZTViNjE0ZTliYWNjNGZkYWQ0MC4uNjVmODY5YmRiNTBlNTJjMWQzNzNiZGVj
ZDhjMTk1ODBiOGNkYWFiMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MUGx1
Z0luRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFBsdWdJbkVsZW1lbnQu
aApAQCAtNTcsNyArNTcsNiBAQCBwcm90ZWN0ZWQ6CiAgICAgSFRNTFBsdWdJbkVsZW1lbnQoY29u
c3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQqKTsKIAogICAgIHZpcnR1YWwgdm9p
ZCBkZXRhY2goKTsKLSAgICB2aXJ0dWFsIHZvaWQgcmVtb3ZlZEZyb21Eb2N1bWVudCgpOwogICAg
IHZpcnR1YWwgYm9vbCBpc1ByZXNlbnRhdGlvbkF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1l
JikgY29uc3QgT1ZFUlJJREU7CiAgICAgdmlydHVhbCB2b2lkIGNvbGxlY3RTdHlsZUZvckF0dHJp
YnV0ZShBdHRyaWJ1dGUqLCBTdHlsZVByb3BlcnR5U2V0KikgT1ZFUlJJREU7CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAppbmRleCBjODI2YjE1MGEwNzJkODg1MzAzZTJmNDIyZjIz
NDdlMGY2MWI4MmZlLi41ZmU0ZmI0NjJiYTJiYjJhY2E1YjFhNTc4Yjg1NmJhMGM5NTdmZjU2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCkBAIC00Miw2ICs0Miw3IEBACiAjaW5j
bHVkZSAiSFRNTE5hbWVzLmgiCiAjaW5jbHVkZSAiSFRNTFRleHRBcmVhRWxlbWVudC5oIgogI2lu
Y2x1ZGUgIkluc3BlY3RvckNvbnRyb2xsZXIuaCIKKyNpbmNsdWRlICJJbnNwZWN0b3JDb3VudGVy
cy5oIgogI2luY2x1ZGUgIkluc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oIgogI2luY2x1ZGUgIklu
dGVybmFsU2V0dGluZ3MuaCIKICNpbmNsdWRlICJJbnRSZWN0LmgiCkBAIC03NzAsNCArNzcxLDIy
IEBAIGJvb2wgSW50ZXJuYWxzOjpoYXNTcGVsbGluZ01hcmtlcihEb2N1bWVudCogZG9jdW1lbnQs
IGludCBmcm9tLCBpbnQgbGVuZ3RoLCBFeGNlCiAgICAgcmV0dXJuIGRvY3VtZW50LT5mcmFtZSgp
LT5lZGl0b3IoKS0+c2VsZWN0aW9uU3RhcnRIYXNNYXJrZXJGb3IoRG9jdW1lbnRNYXJrZXI6OlNw
ZWxsaW5nLCBmcm9tLCBsZW5ndGgpOwogfQogCit1bnNpZ25lZCBJbnRlcm5hbHM6Om51bWJlck9m
TGl2ZU5vZGVzKCkgY29uc3QKK3sKKyNpZiBFTkFCTEUoSU5TUEVDVE9SKQorICAgIHJldHVybiBJ
bnNwZWN0b3JDb3VudGVyczo6Y291bnRlclZhbHVlKEluc3BlY3RvckNvdW50ZXJzOjpOb2RlQ291
bnRlcik7CisjZWxzZQorICAgIHJldHVybiAwOworI2VuZGlmCit9CisKK3Vuc2lnbmVkIEludGVy
bmFsczo6bnVtYmVyT2ZMaXZlRG9jdW1lbnRzKCkgY29uc3QKK3sKKyNpZiBFTkFCTEUoSU5TUEVD
VE9SKQorICAgIHJldHVybiBJbnNwZWN0b3JDb3VudGVyczo6Y291bnRlclZhbHVlKEluc3BlY3Rv
ckNvdW50ZXJzOjpEb2N1bWVudENvdW50ZXIpOworI2Vsc2UKKyAgICByZXR1cm4gMDsKKyNlbmRp
ZgorfQorCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5o
IGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaAppbmRleCA2ODgzNDYwNWY0NjQw
NzlhOWU5YzViYWFjNzc4M2E3MjExNjcyYjRkLi42NTE3Y2Q1N2U2Njg0NDc1MDE1ZWY5ZDkxZjYw
ODJjMTZlMDQ5Zjg4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFs
cy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKQEAgLTE0NSw2ICsx
NDUsOSBAQCBwdWJsaWM6CiAKICAgICB2b2lkIHNldEJhdHRlcnlTdGF0dXMoRG9jdW1lbnQqLCBj
b25zdCBTdHJpbmcmIGV2ZW50VHlwZSwgYm9vbCBjaGFyZ2luZywgZG91YmxlIGNoYXJnaW5nVGlt
ZSwgZG91YmxlIGRpc2NoYXJnaW5nVGltZSwgZG91YmxlIGxldmVsLCBFeGNlcHRpb25Db2RlJik7
CiAKKyAgICB1bnNpZ25lZCBudW1iZXJPZkxpdmVOb2RlcygpIGNvbnN0OworICAgIHVuc2lnbmVk
IG51bWJlck9mTGl2ZURvY3VtZW50cygpIGNvbnN0OworCiBwcml2YXRlOgogICAgIGV4cGxpY2l0
IEludGVybmFscyhEb2N1bWVudCopOwogICAgIERvY3VtZW50TWFya2VyKiBtYXJrZXJBdChOb2Rl
KiwgY29uc3QgU3RyaW5nJiBtYXJrZXJUeXBlLCB1bnNpZ25lZCBpbmRleCwgRXhjZXB0aW9uQ29k
ZSYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsIGIv
U291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCmluZGV4IGRkYTEyMjk4NGE0Y2Y1
YzBmOTQxYzA5YTFmN2IwNGJlMjE3ZjgzMmMuLjY4MGQ3MmE0NGIxYmFmN2E5OTFkMmFmZTIzZjRh
ZmZmNDQ3YTFjNjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxz
LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwKQEAgLTExOSw3
ICsxMTksMTAgQEAgbW9kdWxlIHdpbmRvdyB7CiAKICNpZiBkZWZpbmVkKEVOQUJMRV9CQVRURVJZ
X1NUQVRVUykgJiYgRU5BQkxFX0JBVFRFUllfU1RBVFVTCiAgICAgICAgIHZvaWQgc2V0QmF0dGVy
eVN0YXR1cyhpbiBEb2N1bWVudCBkb2N1bWVudCwgaW4gRE9NU3RyaW5nIGV2ZW50VHlwZSwgaW4g
Ym9vbGVhbiBjaGFyZ2luZywgaW4gZG91YmxlIGNoYXJnaW5nVGltZSwgaW4gZG91YmxlIGRpc2No
YXJnaW5nVGltZSwgaW4gZG91YmxlIGxldmVsKSByYWlzZXMgKERPTUV4Y2VwdGlvbik7Ci0jZW5k
aWYKKyNlbmRpZiAKKworICAgICAgICB1bnNpZ25lZCBsb25nIG51bWJlck9mTGl2ZU5vZGVzKCk7
CisgICAgICAgIHVuc2lnbmVkIGxvbmcgbnVtYmVyT2ZMaXZlRG9jdW1lbnRzKCk7CiAgICAgfTsK
IH0KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCmluZGV4IDFkZDBkN2RiMzQxMWQ4ZTI5ZGQzMjNjNmI4OTIxYjk3ZjY4ODQ1YWQuLjcx
YWUwYmY3MGQ0NjM3MDAzYmMzOTQyYzdmNTVlNDIxYmFlNGVjMDkgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwx
MyBAQAorMjAxMi0wMy0yMCAgRGF2ZSBNaWNoYWVsICA8ZG1pY2hhZWxAY2hyb21pdW0ub3JnPgor
CisgICAgICAgIEhUTUxQbHVnaW5FbGVtZW50IGlzIG5vdCBkZXN0cm95ZWQgb24gcmVsb2FkIG9y
IG5hdmlnYXRpb24gaWYgZ2V0TlBPYmplY3QgaXMgY2FsbGVkCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MDQyOAorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogcGx1Z2lucy9uZXRzY2FwZS1kb20tYWNjZXNz
LWFuZC1yZWxvYWQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwbHVnaW5zL25ldHNj
YXBlLWRvbS1hY2Nlc3MtYW5kLXJlbG9hZC5odG1sOiBBZGRlZC4KKwogMjAxMi0wMy0yMCAgSmFj
b2IgR29sZHN0ZWluICA8amFjb2JnQGFkb2JlLmNvbT4KIAogICAgICAgICBDb252ZXJ0IHJlZ2lv
bnMgcGFyc2luZyB0ZXN0IHRvIHVzZSB0ZXN0aGFybmVzcy5qcwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvcGx1Z2lucy9uZXRzY2FwZS1kb20tYWNjZXNzLWFuZC1yZWxvYWQtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvcGx1Z2lucy9uZXRzY2FwZS1kb20tYWNjZXNzLWFuZC1yZWxvYWQtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZhZTA2YWQ3ODc0YjdmMjAyOTY3OTVmMjgzYmI5YzUxNjRl
ZjM1MjAKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wbHVnaW5zL25ldHNjYXBlLWRv
bS1hY2Nlc3MtYW5kLXJlbG9hZC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSw0IEBACisKK1RoaXMg
cGFnZSB0ZXN0cyByZWxvYWRpbmcgYSBOZXRzY2FwZSBwbHVnLWluIHRoYXQgYWNjZXNzZXMgaXRz
IG93biBET00gZWxlbWVudC4gU2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD04MDQyOCwgIkhUTUxQbHVnaW5FbGVtZW50IGlzIG5vdCBkZXN0cm95ZWQgb24gcmVsb2Fk
IG9yIG5hdmlnYXRpb24gaWYgZ2V0TlBPYmplY3QgaXMgY2FsbGVkIi4gSWYgaXQgc3VjY2VlZHMs
IHlvdSBzaG91bGQgc2VlIFNVQ0NFU1MgYmVsb3cuIAorCitTVUNDRVNTCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9wbHVnaW5zL25ldHNjYXBlLWRvbS1hY2Nlc3MtYW5kLXJlbG9hZC5odG1sIGIv
TGF5b3V0VGVzdHMvcGx1Z2lucy9uZXRzY2FwZS1kb20tYWNjZXNzLWFuZC1yZWxvYWQuaHRtbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi40ZmNjMDAwM2U0NDM4Njg0MTQ1OTJlM2U2Zjc5ZTE2MGU0Y2U0MzRiCi0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGx1Z2lucy9uZXRzY2FwZS1kb20tYWNjZXNzLWFu
ZC1yZWxvYWQuaHRtbApAQCAtMCwwICsxLDU2IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0PgorZnVuY3Rpb24gcnVuVGVzdCgpCit7CisgICAgLy8gTWFrZSB0aGUg
cGx1Z2luIHJldHJpZXZlIGEgRE9NIGVsZW1lbnQgdG8gaXRzZWxmLiBUaGlzIGV4ZXJjaXNlcwor
ICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MDQyOAorICAg
IC8vIChIVE1MUGx1Z2luRWxlbWVudCBpcyBub3QgZGVzdHJveWVkIG9uIHJlbG9hZCBvciBuYXZp
Z2F0aW9uIGlmCisgICAgLy8gZ2V0TlBPYmplY3QgaXMgY2FsbGVkKQorICAgIGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJ0ZXN0UGx1Z2luIikudGVzdERPTUFjY2VzcygpOworCisgICAgLy8gUmVs
b2FkIHRoZSBwYWdlIG9uY2UuCisgICAgdmFyIGNhbGxSZWxvYWQgPSB0cnVlOworICAgIGlmICh3
aW5kb3cuc2Vzc2lvblN0b3JhZ2UpIHsKKyAgICAgICAgaWYgKHdpbmRvdy5zZXNzaW9uU3RvcmFn
ZS5yZWxvYWRQbHVnaW5zQW5kUGFnZXNDYWxsZWQpCisgICAgICAgICAgICBjYWxsUmVsb2FkID0g
ZmFsc2U7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHdpbmRvdy5zZXNzaW9uU3RvcmFnZS5y
ZWxvYWRQbHVnaW5zQW5kUGFnZXNDYWxsZWQgPSAxOworICAgIH0KKworICAgIGlmICh3aW5kb3cu
bGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBB
c1RleHQoKTsKKyAgICAKKyAgICBpZiAoY2FsbFJlbG9hZCkgeworICAgICAgICBpZiAod2luZG93
LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIu
d2FpdFVudGlsRG9uZSgpOworICAgICAgICB3aW5kb3cubG9jYXRpb24ucmVsb2FkKCk7CisgICAg
fSBlbHNlIHsKKyAgICAgICAgd2luZG93LkdDQ29udHJvbGxlci5jb2xsZWN0KCk7CisgICAgICAg
IC8vIE5vdGUgd2UgY291bGQgYWxzbyBjb2xsZWN0IHRoZSBudW1iZXIgb2YgbGl2ZSBub2Rlcywg
YnV0IHRoYXQgc2VlbXMKKyAgICAgICAgLy8gbW9yZSBsaWtlbHkgdG8gZ2l2ZSBzcHVyaW91cyBm
YWlsdXJlcy4gV2hlbiBhbiBIVE1MUGx1Z2luRWxlbWVudCBpcworICAgICAgICAvLyBpbXByb3Bl
cmx5IHJldGFpbmVkLCBpdHMgb3duaW5nIERvY3VtZW50IGFsc28gc3Vydml2ZXMsIHNvIHdlJ2xs
CisgICAgICAgIC8vIGRldGVjdCBhbiBleGNlc3MgRG9jdW1lbnQuCisgICAgICAgIHZhciBudW1i
ZXJPZkxpdmVEb2N1bWVudHMgPSB3aW5kb3cuaW50ZXJuYWxzLm51bWJlck9mTGl2ZURvY3VtZW50
cygpOworICAgICAgICAvLyBUT0RPKGRtaWNoYWVsKTogV2l0aG91dCB0aGUgcGF0Y2ggdG8gZml4
IEhUTUxQbHVnaW5FbGVtZW50LCB3ZSBnZXQgMywKKyAgICAgICAgLy8gd2hpY2ggaXMgY2xlYXJs
eSB3cm9uZy4gSXMgMiByaWdodD8gSWYgc28sIGV4cGxhaW4uCisgICAgICAgIGlmIChudW1iZXJP
ZkxpdmVEb2N1bWVudHMgPT0gMikKKyAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJyZXN1bHQiKS5pbm5lckhUTUw9IlNVQ0NFU1MiOworICAgICAgICBpZiAod2luZG93LmxheW91
dFRlc3RDb250cm9sbGVyKSB7CisgICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1w
QXNUZXh0KCk7CisgICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7
CisgICAgICAgIH0KKyAgICB9Cit9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0i
cnVuVGVzdCgpOyI+Cis8aWZyYW1lIHNyYz0iYWJvdXQ6YmxhbmsiPjwvaWZyYW1lPgorPHA+VGhp
cyBwYWdlIHRlc3RzIHJlbG9hZGluZyBhIE5ldHNjYXBlIHBsdWctaW4gdGhhdCBhY2Nlc3NlcyBp
dHMgb3duIERPTSBlbGVtZW50LiBTZWUgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTgwNDI4LCAiSFRNTFBsdWdpbkVsZW1lbnQgaXMgbm90IGRlc3Ryb3llZCBvbiByZWxv
YWQgb3IgbmF2aWdhdGlvbiBpZiBnZXROUE9iamVjdCBpcyBjYWxsZWQiLgorCitJZiBpdCBzdWNj
ZWVkcywgeW91IHNob3VsZCBzZWUgU1VDQ0VTUyBiZWxvdy4KKzxlbWJlZCBpZD0idGVzdFBsdWdp
biIgdHlwZT0iYXBwbGljYXRpb24veC13ZWJraXQtdGVzdC1uZXRzY2FwZSIgd2lkdGg9IjIwMCIg
aGVpZ2h0PSIyMDAiPjwvZW1iZWQ+Cis8ZGl2IGlkPSJyZXN1bHQiPkZBSUxVUkU8L2Rpdj4KKzwv
Ym9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>132967</attachid>
            <date>2012-03-20 21:34:17 -0700</date>
            <delta_ts>2012-03-21 12:06:45 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-80428-20120320223416.patch</filename>
            <type>text/plain</type>
            <size>9064</size>
            <attacher name="Dave Michael">dmichael</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTExNDExCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODc3OTUxZTNkZGExNmRk
ZmUwOWRiYTA4YjQxYTgwOTAxNTYwYjQ1MC4uZTVjYjg3ZDFlZTQ2NDU5YWQ2MDMyMTU4MWJiZDIy
MjdiNjkwZGEwNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMyIEBACisyMDEyLTAzLTIwICBEYXZl
IE1pY2hhZWwgIDxkbWljaGFlbEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgSFRNTFBsdWdpbkVs
ZW1lbnQgaXMgbm90IGRlc3Ryb3llZCBvbiByZWxvYWQgb3IgbmF2aWdhdGlvbiBpZiBnZXROUE9i
amVjdCBpcyBjYWxsZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTgwNDI4CisKKyAgICAgICAgTWFrZSBIVE1MUGx1Z2luRWxlbWVudCByZWxlYXNlIGl0
cyBtX05QT2JqZWN0IGluIGRldGFjaCgpIHRvIGJyZWFrIGEKKyAgICAgICAgcmVmZXJlbmNlLWNv
dW50aW5nIGN5Y2xlIHRoYXQgaGFwcGVucyBvbiByZWxvYWQgb3IgbmF2aWdhdGlvbi4gV2l0aCB0
aGlzCisgICAgICAgIGNoYW5nZSwgSFRNTFBsdWdpbkVsZW1lbnQ6OnJlbW92ZWRGcm9tRG9jdW1l
bnQgaXMgdW5uZWNlc3NhcnksIHNvIGl0CisgICAgICAgIHdhcyByZW1vdmVkLgorCisgICAgICAg
IEFsc28gYWRkZWQgbnVtYmVyT2ZMaXZlTm9kZXMoKSBhbmQgbnVtYmVyT2ZMaXZlRG9jdW1lbnRz
KCkgdG8KKyAgICAgICAgd2luZG93LmludGVybmFscyB0byBlbmFibGUgdGVzdGluZy4KKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0OiBwbHVnaW5z
L25ldHNjYXBlLWRvbS1hY2Nlc3MtYW5kLXJlbG9hZC5odG1sCisKKyAgICAgICAgKiBodG1sL0hU
TUxQbHVnSW5FbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxQbHVnSW5FbGVtZW50
OjpkZXRhY2gpOgorICAgICAgICAqIGh0bWwvSFRNTFBsdWdJbkVsZW1lbnQuaDoKKyAgICAgICAg
KEhUTUxQbHVnSW5FbGVtZW50KToKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbHM6Om51bWJlck9mTGl2ZURvY3VtZW50cyk6CisgICAg
ICAgIChXZWJDb3JlOjpJbnRlcm5hbHM6Om51bWJlck9mTGl2ZU5vZGVzKToKKyAgICAgICAgKFdl
YkNvcmUpOgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmg6CisgICAgICAgIChJbnRlcm5h
bHMpOgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmlkbDoKKwogMjAxMi0wMy0yMCAgR3l1
eW91bmcgS2ltICA8Z3l1eW91bmcua2ltQHNhbXN1bmcuY29tPgogCiAgICAgICAgIENvbnZlcnQg
aGFzU3BlbGxpbmdNYXJrZXIgdG8gdXNlIEludGVybmFscyBpbnRlcmZhY2UuCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQbHVnSW5FbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2h0bWwvSFRNTFBsdWdJbkVsZW1lbnQuY3BwCmluZGV4IDI5OWU0N2IyZWY5ZmNhMzFlZjcx
YjJjMzA4YjAwMGFlNGRiMjYyNjQuLjQ1OGQxNTc1OGY1NmRjY2FmYTVmMzFiOWJiMjQ3OGY4NGRk
ZDFlOTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFBsdWdJbkVsZW1lbnQu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFBsdWdJbkVsZW1lbnQuY3BwCkBAIC03
OCwxMSArNzgsNiBAQCB2b2lkIEhUTUxQbHVnSW5FbGVtZW50OjpkZXRhY2goKQogICAgICAgICBt
X2lzQ2FwdHVyaW5nTW91c2VFdmVudHMgPSBmYWxzZTsKICAgICB9CiAKLSAgICBIVE1MRnJhbWVP
d25lckVsZW1lbnQ6OmRldGFjaCgpOwotfQotCi12b2lkIEhUTUxQbHVnSW5FbGVtZW50OjpyZW1v
dmVkRnJvbURvY3VtZW50KCkKLXsKICNpZiBFTkFCTEUoTkVUU0NBUEVfUExVR0lOX0FQSSkKICAg
ICBpZiAobV9OUE9iamVjdCkgewogICAgICAgICBfTlBOX1JlbGVhc2VPYmplY3QobV9OUE9iamVj
dCk7CkBAIC05MCw3ICs4NSw3IEBAIHZvaWQgSFRNTFBsdWdJbkVsZW1lbnQ6OnJlbW92ZWRGcm9t
RG9jdW1lbnQoKQogICAgIH0KICNlbmRpZgogCi0gICAgSFRNTEZyYW1lT3duZXJFbGVtZW50Ojpy
ZW1vdmVkRnJvbURvY3VtZW50KCk7CisgICAgSFRNTEZyYW1lT3duZXJFbGVtZW50OjpkZXRhY2go
KTsKIH0KIAogUGFzc1NjcmlwdEluc3RhbmNlIEhUTUxQbHVnSW5FbGVtZW50OjpnZXRJbnN0YW5j
ZSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQbHVnSW5FbGVtZW50Lmgg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQbHVnSW5FbGVtZW50LmgKaW5kZXggMjJiMTRjNGU3
MGJiNzFmMDUzMWQwZTViNjE0ZTliYWNjNGZkYWQ0MC4uNjVmODY5YmRiNTBlNTJjMWQzNzNiZGVj
ZDhjMTk1ODBiOGNkYWFiMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MUGx1
Z0luRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFBsdWdJbkVsZW1lbnQu
aApAQCAtNTcsNyArNTcsNiBAQCBwcm90ZWN0ZWQ6CiAgICAgSFRNTFBsdWdJbkVsZW1lbnQoY29u
c3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQqKTsKIAogICAgIHZpcnR1YWwgdm9p
ZCBkZXRhY2goKTsKLSAgICB2aXJ0dWFsIHZvaWQgcmVtb3ZlZEZyb21Eb2N1bWVudCgpOwogICAg
IHZpcnR1YWwgYm9vbCBpc1ByZXNlbnRhdGlvbkF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1l
JikgY29uc3QgT1ZFUlJJREU7CiAgICAgdmlydHVhbCB2b2lkIGNvbGxlY3RTdHlsZUZvckF0dHJp
YnV0ZShBdHRyaWJ1dGUqLCBTdHlsZVByb3BlcnR5U2V0KikgT1ZFUlJJREU7CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAppbmRleCBjODI2YjE1MGEwNzJkODg1MzAzZTJmNDIyZjIz
NDdlMGY2MWI4MmZlLi41ZmU0ZmI0NjJiYTJiYjJhY2E1YjFhNTc4Yjg1NmJhMGM5NTdmZjU2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCkBAIC00Miw2ICs0Miw3IEBACiAjaW5j
bHVkZSAiSFRNTE5hbWVzLmgiCiAjaW5jbHVkZSAiSFRNTFRleHRBcmVhRWxlbWVudC5oIgogI2lu
Y2x1ZGUgIkluc3BlY3RvckNvbnRyb2xsZXIuaCIKKyNpbmNsdWRlICJJbnNwZWN0b3JDb3VudGVy
cy5oIgogI2luY2x1ZGUgIkluc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oIgogI2luY2x1ZGUgIklu
dGVybmFsU2V0dGluZ3MuaCIKICNpbmNsdWRlICJJbnRSZWN0LmgiCkBAIC03NzAsNCArNzcxLDIy
IEBAIGJvb2wgSW50ZXJuYWxzOjpoYXNTcGVsbGluZ01hcmtlcihEb2N1bWVudCogZG9jdW1lbnQs
IGludCBmcm9tLCBpbnQgbGVuZ3RoLCBFeGNlCiAgICAgcmV0dXJuIGRvY3VtZW50LT5mcmFtZSgp
LT5lZGl0b3IoKS0+c2VsZWN0aW9uU3RhcnRIYXNNYXJrZXJGb3IoRG9jdW1lbnRNYXJrZXI6OlNw
ZWxsaW5nLCBmcm9tLCBsZW5ndGgpOwogfQogCit1bnNpZ25lZCBJbnRlcm5hbHM6Om51bWJlck9m
TGl2ZU5vZGVzKCkgY29uc3QKK3sKKyNpZiBFTkFCTEUoSU5TUEVDVE9SKQorICAgIHJldHVybiBJ
bnNwZWN0b3JDb3VudGVyczo6Y291bnRlclZhbHVlKEluc3BlY3RvckNvdW50ZXJzOjpOb2RlQ291
bnRlcik7CisjZWxzZQorICAgIHJldHVybiAwOworI2VuZGlmCit9CisKK3Vuc2lnbmVkIEludGVy
bmFsczo6bnVtYmVyT2ZMaXZlRG9jdW1lbnRzKCkgY29uc3QKK3sKKyNpZiBFTkFCTEUoSU5TUEVD
VE9SKQorICAgIHJldHVybiBJbnNwZWN0b3JDb3VudGVyczo6Y291bnRlclZhbHVlKEluc3BlY3Rv
ckNvdW50ZXJzOjpEb2N1bWVudENvdW50ZXIpOworI2Vsc2UKKyAgICByZXR1cm4gMDsKKyNlbmRp
ZgorfQorCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5o
IGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaAppbmRleCA2ODgzNDYwNWY0NjQw
NzlhOWU5YzViYWFjNzc4M2E3MjExNjcyYjRkLi42NTE3Y2Q1N2U2Njg0NDc1MDE1ZWY5ZDkxZjYw
ODJjMTZlMDQ5Zjg4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFs
cy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKQEAgLTE0NSw2ICsx
NDUsOSBAQCBwdWJsaWM6CiAKICAgICB2b2lkIHNldEJhdHRlcnlTdGF0dXMoRG9jdW1lbnQqLCBj
b25zdCBTdHJpbmcmIGV2ZW50VHlwZSwgYm9vbCBjaGFyZ2luZywgZG91YmxlIGNoYXJnaW5nVGlt
ZSwgZG91YmxlIGRpc2NoYXJnaW5nVGltZSwgZG91YmxlIGxldmVsLCBFeGNlcHRpb25Db2RlJik7
CiAKKyAgICB1bnNpZ25lZCBudW1iZXJPZkxpdmVOb2RlcygpIGNvbnN0OworICAgIHVuc2lnbmVk
IG51bWJlck9mTGl2ZURvY3VtZW50cygpIGNvbnN0OworCiBwcml2YXRlOgogICAgIGV4cGxpY2l0
IEludGVybmFscyhEb2N1bWVudCopOwogICAgIERvY3VtZW50TWFya2VyKiBtYXJrZXJBdChOb2Rl
KiwgY29uc3QgU3RyaW5nJiBtYXJrZXJUeXBlLCB1bnNpZ25lZCBpbmRleCwgRXhjZXB0aW9uQ29k
ZSYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsIGIv
U291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCmluZGV4IGRkYTEyMjk4NGE0Y2Y1
YzBmOTQxYzA5YTFmN2IwNGJlMjE3ZjgzMmMuLjY4MGQ3MmE0NGIxYmFmN2E5OTFkMmFmZTIzZjRh
ZmZmNDQ3YTFjNjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxz
LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwKQEAgLTExOSw3
ICsxMTksMTAgQEAgbW9kdWxlIHdpbmRvdyB7CiAKICNpZiBkZWZpbmVkKEVOQUJMRV9CQVRURVJZ
X1NUQVRVUykgJiYgRU5BQkxFX0JBVFRFUllfU1RBVFVTCiAgICAgICAgIHZvaWQgc2V0QmF0dGVy
eVN0YXR1cyhpbiBEb2N1bWVudCBkb2N1bWVudCwgaW4gRE9NU3RyaW5nIGV2ZW50VHlwZSwgaW4g
Ym9vbGVhbiBjaGFyZ2luZywgaW4gZG91YmxlIGNoYXJnaW5nVGltZSwgaW4gZG91YmxlIGRpc2No
YXJnaW5nVGltZSwgaW4gZG91YmxlIGxldmVsKSByYWlzZXMgKERPTUV4Y2VwdGlvbik7Ci0jZW5k
aWYKKyNlbmRpZiAKKworICAgICAgICB1bnNpZ25lZCBsb25nIG51bWJlck9mTGl2ZU5vZGVzKCk7
CisgICAgICAgIHVuc2lnbmVkIGxvbmcgbnVtYmVyT2ZMaXZlRG9jdW1lbnRzKCk7CiAgICAgfTsK
IH0KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCmluZGV4IDFkZDBkN2RiMzQxMWQ4ZTI5ZGQzMjNjNmI4OTIxYjk3ZjY4ODQ1YWQuLjcx
YWUwYmY3MGQ0NjM3MDAzYmMzOTQyYzdmNTVlNDIxYmFlNGVjMDkgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwx
MyBAQAorMjAxMi0wMy0yMCAgRGF2ZSBNaWNoYWVsICA8ZG1pY2hhZWxAY2hyb21pdW0ub3JnPgor
CisgICAgICAgIEhUTUxQbHVnaW5FbGVtZW50IGlzIG5vdCBkZXN0cm95ZWQgb24gcmVsb2FkIG9y
IG5hdmlnYXRpb24gaWYgZ2V0TlBPYmplY3QgaXMgY2FsbGVkCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MDQyOAorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogcGx1Z2lucy9uZXRzY2FwZS1kb20tYWNjZXNz
LWFuZC1yZWxvYWQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwbHVnaW5zL25ldHNj
YXBlLWRvbS1hY2Nlc3MtYW5kLXJlbG9hZC5odG1sOiBBZGRlZC4KKwogMjAxMi0wMy0yMCAgSmFj
b2IgR29sZHN0ZWluICA8amFjb2JnQGFkb2JlLmNvbT4KIAogICAgICAgICBDb252ZXJ0IHJlZ2lv
bnMgcGFyc2luZyB0ZXN0IHRvIHVzZSB0ZXN0aGFybmVzcy5qcwpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvcGx1Z2lucy9uZXRzY2FwZS1kb20tYWNjZXNzLWFuZC1yZWxvYWQtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvcGx1Z2lucy9uZXRzY2FwZS1kb20tYWNjZXNzLWFuZC1yZWxvYWQtZXhw
ZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU1ZTc1OTgxZDIzNjEwMTIzZGI5MTA5OWQ1OTBiZTFkNzEx
YzAwZGYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wbHVnaW5zL25ldHNjYXBlLWRv
bS1hY2Nlc3MtYW5kLXJlbG9hZC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzIEBACitUaGlzIHBh
Z2UgdGVzdHMgcmVsb2FkaW5nIGEgTmV0c2NhcGUgcGx1Zy1pbiB0aGF0IGFjY2Vzc2VzIGl0cyBv
d24gRE9NIGVsZW1lbnQuIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9ODA0MjgsICJIVE1MUGx1Z2luRWxlbWVudCBpcyBub3QgZGVzdHJveWVkIG9uIHJlbG9hZCBv
ciBuYXZpZ2F0aW9uIGlmIGdldE5QT2JqZWN0IGlzIGNhbGxlZCIuIElmIGl0IHN1Y2NlZWRzLCB5
b3Ugc2hvdWxkIHNlZSBTVUNDRVNTIGJlbG93LiAKKworU1VDQ0VTUwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvcGx1Z2lucy9uZXRzY2FwZS1kb20tYWNjZXNzLWFuZC1yZWxvYWQuaHRtbCBiL0xh
eW91dFRlc3RzL3BsdWdpbnMvbmV0c2NhcGUtZG9tLWFjY2Vzcy1hbmQtcmVsb2FkLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uYzY0Yjc0NDkxNjIzNjgxZmMyMTdlNDAwYmZiNWM5YzBlMWU2OGJhNgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsdWdpbnMvbmV0c2NhcGUtZG9tLWFjY2Vzcy1hbmQt
cmVsb2FkLmh0bWwKQEAgLTAsMCArMSw1MyBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxo
ZWFkPgorPHNjcmlwdD4KK2Z1bmN0aW9uIHJ1blRlc3QoKQoreworICAgIC8vIE1ha2UgdGhlIHBs
dWdpbiByZXRyaWV2ZSBhIERPTSBlbGVtZW50IHRvIGl0c2VsZi4gVGhpcyBleGVyY2lzZXMKKyAg
ICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODA0MjgKKyAgICAv
LyAoSFRNTFBsdWdpbkVsZW1lbnQgaXMgbm90IGRlc3Ryb3llZCBvbiByZWxvYWQgb3IgbmF2aWdh
dGlvbiBpZgorICAgIC8vIGdldE5QT2JqZWN0IGlzIGNhbGxlZCkKKyAgICBkb2N1bWVudC5nZXRF
bGVtZW50QnlJZCgidGVzdFBsdWdpbiIpLnRlc3RET01BY2Nlc3MoKTsKKworICAgIC8vIFJlbG9h
ZCB0aGUgcGFnZSBvbmNlLgorICAgIHZhciBjYWxsUmVsb2FkID0gdHJ1ZTsKKyAgICBpZiAod2lu
ZG93LnNlc3Npb25TdG9yYWdlKSB7CisgICAgICAgIGlmICh3aW5kb3cuc2Vzc2lvblN0b3JhZ2Uu
cmVsb2FkUGx1Z2luc0FuZFBhZ2VzQ2FsbGVkKQorICAgICAgICAgICAgY2FsbFJlbG9hZCA9IGZh
bHNlOworICAgICAgICBlbHNlCisgICAgICAgICAgICB3aW5kb3cuc2Vzc2lvblN0b3JhZ2UucmVs
b2FkUGx1Z2luc0FuZFBhZ2VzQ2FsbGVkID0gMTsKKyAgICB9CisKKyAgICBpZiAod2luZG93Lmxh
eW91dFRlc3RDb250cm9sbGVyKQorICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNU
ZXh0KCk7CisgICAgCisgICAgaWYgKGNhbGxSZWxvYWQpIHsKKyAgICAgICAgaWYgKHdpbmRvdy5s
YXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLndh
aXRVbnRpbERvbmUoKTsKKyAgICAgICAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpOworICAgIH0g
ZWxzZSB7CisgICAgICAgIHdpbmRvdy5HQ0NvbnRyb2xsZXIuY29sbGVjdCgpOworICAgICAgICAv
LyBOb3RlIHdlIGNvdWxkIGFsc28gY29sbGVjdCB0aGUgbnVtYmVyIG9mIGxpdmUgbm9kZXMsIGJ1
dCB0aGF0IHNlZW1zCisgICAgICAgIC8vIG1vcmUgbGlrZWx5IHRvIGdpdmUgc3B1cmlvdXMgZmFp
bHVyZXMuIFdoZW4gYW4gSFRNTFBsdWdpbkVsZW1lbnQgaXMKKyAgICAgICAgLy8gaW1wcm9wZXJs
eSByZXRhaW5lZCwgaXRzIG93bmluZyBEb2N1bWVudCBhbHNvIHN1cnZpdmVzLCBzbyB3ZSdsbAor
ICAgICAgICAvLyBkZXRlY3QgYW4gZXhjZXNzIERvY3VtZW50LgorICAgICAgICB2YXIgbnVtYmVy
T2ZMaXZlRG9jdW1lbnRzID0gd2luZG93LmludGVybmFscy5udW1iZXJPZkxpdmVEb2N1bWVudHMo
KTsKKyAgICAgICAgaWYgKG51bWJlck9mTGl2ZURvY3VtZW50cyA9PSAxKQorICAgICAgICAgICAg
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJlc3VsdCIpLmlubmVySFRNTD0iU1VDQ0VTUyI7Cisg
ICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICAgICAgICAgIGxh
eW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICAgICAgICAgIGxheW91dFRlc3RD
b250cm9sbGVyLm5vdGlmeURvbmUoKTsKKyAgICAgICAgfQorICAgIH0KK30KKzwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHkgb25sb2FkPSJydW5UZXN0KCk7Ij4KKzxwPlRoaXMgcGFnZSB0ZXN0cyBy
ZWxvYWRpbmcgYSBOZXRzY2FwZSBwbHVnLWluIHRoYXQgYWNjZXNzZXMgaXRzIG93biBET00gZWxl
bWVudC4gU2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MDQyOCwg
IkhUTUxQbHVnaW5FbGVtZW50IGlzIG5vdCBkZXN0cm95ZWQgb24gcmVsb2FkIG9yIG5hdmlnYXRp
b24gaWYgZ2V0TlBPYmplY3QgaXMgY2FsbGVkIi4KKworSWYgaXQgc3VjY2VlZHMsIHlvdSBzaG91
bGQgc2VlIFNVQ0NFU1MgYmVsb3cuCis8ZW1iZWQgaWQ9InRlc3RQbHVnaW4iIHR5cGU9ImFwcGxp
Y2F0aW9uL3gtd2Via2l0LXRlc3QtbmV0c2NhcGUiIHdpZHRoPSIyMDAiIGhlaWdodD0iMjAwIj48
L2VtYmVkPgorPGRpdiBpZD0icmVzdWx0Ij5GQUlMVVJFPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>133088</attachid>
            <date>2012-03-21 12:06:49 -0700</date>
            <delta_ts>2012-03-21 14:54:57 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-80428-20120321130648.patch</filename>
            <type>text/plain</type>
            <size>10967</size>
            <attacher name="Dave Michael">dmichael</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTExNTUzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZWRiMWY3YjhhYmNkYWVj
M2MxNjk1MmU3NGFhMzg5NzI2MmEwZGYyZi4uMjFjYThlNWFiNWRjZGZhODdlNzFlNzM5MjVjM2Zh
ZjllOGMyNzJjOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM0IEBACisyMDEyLTAzLTIxICBEYXZl
IE1pY2hhZWwgIDxkbWljaGFlbEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgSFRNTFBsdWdpbkVs
ZW1lbnQgaXMgbm90IGRlc3Ryb3llZCBvbiByZWxvYWQgb3IgbmF2aWdhdGlvbiBpZiBnZXROUE9i
amVjdCBpcyBjYWxsZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTgwNDI4CisKKyAgICAgICAgTWFrZSBIVE1MUGx1Z2luRWxlbWVudCByZWxlYXNlIGl0
cyBtX05QT2JqZWN0IGluIGRldGFjaCgpIHRvIGJyZWFrIGEKKyAgICAgICAgcmVmZXJlbmNlLWNv
dW50aW5nIGN5Y2xlIHRoYXQgaGFwcGVucyBvbiByZWxvYWQgb3IgbmF2aWdhdGlvbi4gV2l0aCB0
aGlzCisgICAgICAgIGNoYW5nZSwgSFRNTFBsdWdpbkVsZW1lbnQ6OnJlbW92ZWRGcm9tRG9jdW1l
bnQgaXMgdW5uZWNlc3NhcnksIHNvIGl0CisgICAgICAgIHdhcyByZW1vdmVkLgorCisgICAgICAg
IEFsc28gYWRkZWQgbnVtYmVyT2ZMaXZlTm9kZXMoKSBhbmQgbnVtYmVyT2ZMaXZlRG9jdW1lbnRz
KCkgdG8KKyAgICAgICAgd2luZG93LmludGVybmFscyB0byBlbmFibGUgdGVzdGluZy4KKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0OiBwbHVnaW5z
L25ldHNjYXBlLWRvbS1hY2Nlc3MtYW5kLXJlbG9hZC5odG1sCisKKyAgICAgICAgKiBodG1sL0hU
TUxQbHVnSW5FbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxQbHVnSW5FbGVtZW50
OjpkZXRhY2gpOgorICAgICAgICAqIGh0bWwvSFRNTFBsdWdJbkVsZW1lbnQuaDoKKyAgICAgICAg
KEhUTUxQbHVnSW5FbGVtZW50KToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yQ291bnRl
cnMuaDogTWFrZSBjb3VudGVyVmFsdWUgYXZhaWxhYmxlIHdpdGggc3R1YiBpbXBsZW1lbnRhdGlv
biB3aGVuIElOU1BFQ1RPUiBidWlsZCBpcyBub3QgZW5hYmxlZC4KKyAgICAgICAgKiBpbnNwZWN0
b3IvSW5zcGVjdG9yQ291bnRlcnMuY3BwOgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmNw
cDoKKyAgICAgICAgKFdlYkNvcmU6OkludGVybmFsczo6bnVtYmVyT2ZMaXZlRG9jdW1lbnRzKToK
KyAgICAgICAgKFdlYkNvcmU6OkludGVybmFsczo6bnVtYmVyT2ZMaXZlTm9kZXMpOgorICAgICAg
ICAoV2ViQ29yZSk6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuaDoKKyAgICAgICAgKElu
dGVybmFscyk6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuaWRsOgorCiAyMDEyLTAzLTIx
ICBBbGV4ZWkgRmlsaXBwb3YgIDxhbGV4ZWlmQGNocm9taXVtLm9yZz4KIAogICAgICAgICBXZWIg
SW5zcGVjdG9yOiBTcGVlZHVwIGhlYXAgc25hcHNob3QgbG9hZGluZy4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTFBsdWdJbkVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MUGx1Z0luRWxlbWVudC5jcHAKaW5kZXggMjk5ZTQ3YjJlZjlmY2EzMWVmNzFiMmMz
MDhiMDAwYWU0ZGIyNjI2NC4uNDU4ZDE1NzU4ZjU2ZGNjYWZhNWYzMWI5YmIyNDc4Zjg0ZGRkMWU5
MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MUGx1Z0luRWxlbWVudC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MUGx1Z0luRWxlbWVudC5jcHAKQEAgLTc4LDEx
ICs3OCw2IEBAIHZvaWQgSFRNTFBsdWdJbkVsZW1lbnQ6OmRldGFjaCgpCiAgICAgICAgIG1faXND
YXB0dXJpbmdNb3VzZUV2ZW50cyA9IGZhbHNlOwogICAgIH0KIAotICAgIEhUTUxGcmFtZU93bmVy
RWxlbWVudDo6ZGV0YWNoKCk7Ci19Ci0KLXZvaWQgSFRNTFBsdWdJbkVsZW1lbnQ6OnJlbW92ZWRG
cm9tRG9jdW1lbnQoKQotewogI2lmIEVOQUJMRShORVRTQ0FQRV9QTFVHSU5fQVBJKQogICAgIGlm
IChtX05QT2JqZWN0KSB7CiAgICAgICAgIF9OUE5fUmVsZWFzZU9iamVjdChtX05QT2JqZWN0KTsK
QEAgLTkwLDcgKzg1LDcgQEAgdm9pZCBIVE1MUGx1Z0luRWxlbWVudDo6cmVtb3ZlZEZyb21Eb2N1
bWVudCgpCiAgICAgfQogI2VuZGlmCiAKLSAgICBIVE1MRnJhbWVPd25lckVsZW1lbnQ6OnJlbW92
ZWRGcm9tRG9jdW1lbnQoKTsKKyAgICBIVE1MRnJhbWVPd25lckVsZW1lbnQ6OmRldGFjaCgpOwog
fQogCiBQYXNzU2NyaXB0SW5zdGFuY2UgSFRNTFBsdWdJbkVsZW1lbnQ6OmdldEluc3RhbmNlKCkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFBsdWdJbkVsZW1lbnQuaCBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTFBsdWdJbkVsZW1lbnQuaAppbmRleCAyMmIxNGM0ZTcwYmI3
MWYwNTMxZDBlNWI2MTRlOWJhY2M0ZmRhZDQwLi42NWY4NjliZGI1MGU1MmMxZDM3M2JkZWNkOGMx
OTU4MGI4Y2RhYWIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQbHVnSW5F
bGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MUGx1Z0luRWxlbWVudC5oCkBA
IC01Nyw3ICs1Nyw2IEBAIHByb3RlY3RlZDoKICAgICBIVE1MUGx1Z0luRWxlbWVudChjb25zdCBR
dWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCopOwogCiAgICAgdmlydHVhbCB2b2lkIGRl
dGFjaCgpOwotICAgIHZpcnR1YWwgdm9pZCByZW1vdmVkRnJvbURvY3VtZW50KCk7CiAgICAgdmly
dHVhbCBib29sIGlzUHJlc2VudGF0aW9uQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmKSBj
b25zdCBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQgY29sbGVjdFN0eWxlRm9yQXR0cmlidXRl
KEF0dHJpYnV0ZSosIFN0eWxlUHJvcGVydHlTZXQqKSBPVkVSUklERTsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvdW50ZXJzLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JDb3VudGVycy5jcHAKaW5kZXggNmY4NWY4NzYyNDFk
MWQ5ZmYzNTAyYjkyM2JiYWE0Y2FiNTY4MjFiYS4uNTc3ZjA2MmRkNDU0OTVjN2ZhMTdhYmYxNTU2
NmQ0Mzk3ZWM5N2FkMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3Bl
Y3RvckNvdW50ZXJzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9y
Q291bnRlcnMuY3BwCkBAIC0zMCwyMSArMzAsMjYgQEAKIAogI2luY2x1ZGUgImNvbmZpZy5oIgog
Ci0jaWYgRU5BQkxFKElOU1BFQ1RPUikKLQogI2luY2x1ZGUgIkluc3BlY3RvckNvdW50ZXJzLmgi
CiAKICNpbmNsdWRlICJUaHJlYWRHbG9iYWxEYXRhLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
IAorI2lmIEVOQUJMRShJTlNQRUNUT1IpCiBpbnQgSW5zcGVjdG9yQ291bnRlcnM6OnNfY291bnRl
cnNbQ291bnRlclR5cGVMZW5ndGhdOworI2VuZGlmCiAKIGludCBJbnNwZWN0b3JDb3VudGVyczo6
Y291bnRlclZhbHVlKENvdW50ZXJUeXBlIHR5cGUpCiB7CisjaWYgRU5BQkxFKElOU1BFQ1RPUikK
ICAgICByZXR1cm4gc19jb3VudGVyc1t0eXBlXTsKKyNlbHNlCisgICAgcmV0dXJuIDA7CisjZW5k
aWYKIH0KIAorI2lmIEVOQUJMRShJTlNQRUNUT1IpCiBUaHJlYWRMb2NhbEluc3BlY3RvckNvdW50
ZXJzOjpUaHJlYWRMb2NhbEluc3BlY3RvckNvdW50ZXJzKCkKIHsKICAgICBmb3IgKHNpemVfdCBp
ID0gMDsgaSA8IENvdW50ZXJUeXBlTGVuZ3RoOyBpKyspCkBAIC02MCw3ICs2NSw3IEBAIFRocmVh
ZExvY2FsSW5zcGVjdG9yQ291bnRlcnMmIFRocmVhZExvY2FsSW5zcGVjdG9yQ291bnRlcnM6OmN1
cnJlbnQoKQogewogICAgIHJldHVybiB0aHJlYWRHbG9iYWxEYXRhKCkuaW5zcGVjdG9yQ291bnRl
cnMoKTsKIH0KKyNlbmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9SKQogCiB9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCiAKLSNlbmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9SKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvckNvdW50ZXJzLmggYi9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yQ291bnRlcnMuaAppbmRleCAzYmVjZjc2YzE2ZGMzMjFhOGE4NDkz
ODUyMmI2Y2RkYzBmN2E1OTk1Li5mZmQ3OWQxYzM0OGQzNjdhYTZlMWFjZjI4OTc1Nzc5ODkxYjZm
MTIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ291bnRl
cnMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yQ291bnRlcnMuaApA
QCAtNjIsOSArNjIsNyBAQCBwdWJsaWM6CiAjZW5kaWYKICAgICB9CiAKLSNpZiBFTkFCTEUoSU5T
UEVDVE9SKQogICAgIHN0YXRpYyBpbnQgY291bnRlclZhbHVlKENvdW50ZXJUeXBlKTsKLSNlbmRp
ZgogCiBwcml2YXRlOgogICAgIEluc3BlY3RvckNvdW50ZXJzKCk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5n
L0ludGVybmFscy5jcHAKaW5kZXggYzgyNmIxNTBhMDcyZDg4NTMwM2UyZjQyMmYyMzQ3ZTBmNjFi
ODJmZS4uNTVlYTgwMjg1MzRiOGZjZWJmNGM2ZmY0MjM5MjgzYWNjZDgzN2M5YiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcApAQCAtNDIsNiArNDIsNyBAQAogI2luY2x1ZGUgIkhU
TUxOYW1lcy5oIgogI2luY2x1ZGUgIkhUTUxUZXh0QXJlYUVsZW1lbnQuaCIKICNpbmNsdWRlICJJ
bnNwZWN0b3JDb250cm9sbGVyLmgiCisjaW5jbHVkZSAiSW5zcGVjdG9yQ291bnRlcnMuaCIKICNp
bmNsdWRlICJJbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaCIKICNpbmNsdWRlICJJbnRlcm5hbFNl
dHRpbmdzLmgiCiAjaW5jbHVkZSAiSW50UmVjdC5oIgpAQCAtNzcwLDQgKzc3MSwxNCBAQCBib29s
IEludGVybmFsczo6aGFzU3BlbGxpbmdNYXJrZXIoRG9jdW1lbnQqIGRvY3VtZW50LCBpbnQgZnJv
bSwgaW50IGxlbmd0aCwgRXhjZQogICAgIHJldHVybiBkb2N1bWVudC0+ZnJhbWUoKS0+ZWRpdG9y
KCktPnNlbGVjdGlvblN0YXJ0SGFzTWFya2VyRm9yKERvY3VtZW50TWFya2VyOjpTcGVsbGluZywg
ZnJvbSwgbGVuZ3RoKTsKIH0KIAordW5zaWduZWQgSW50ZXJuYWxzOjpudW1iZXJPZkxpdmVOb2Rl
cygpIGNvbnN0Cit7CisgICAgcmV0dXJuIEluc3BlY3RvckNvdW50ZXJzOjpjb3VudGVyVmFsdWUo
SW5zcGVjdG9yQ291bnRlcnM6Ok5vZGVDb3VudGVyKTsKK30KKwordW5zaWduZWQgSW50ZXJuYWxz
OjpudW1iZXJPZkxpdmVEb2N1bWVudHMoKSBjb25zdAoreworICAgIHJldHVybiBJbnNwZWN0b3JD
b3VudGVyczo6Y291bnRlclZhbHVlKEluc3BlY3RvckNvdW50ZXJzOjpEb2N1bWVudENvdW50ZXIp
OworfQorCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5o
IGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaAppbmRleCA2ODgzNDYwNWY0NjQw
NzlhOWU5YzViYWFjNzc4M2E3MjExNjcyYjRkLi42NTE3Y2Q1N2U2Njg0NDc1MDE1ZWY5ZDkxZjYw
ODJjMTZlMDQ5Zjg4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFs
cy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKQEAgLTE0NSw2ICsx
NDUsOSBAQCBwdWJsaWM6CiAKICAgICB2b2lkIHNldEJhdHRlcnlTdGF0dXMoRG9jdW1lbnQqLCBj
b25zdCBTdHJpbmcmIGV2ZW50VHlwZSwgYm9vbCBjaGFyZ2luZywgZG91YmxlIGNoYXJnaW5nVGlt
ZSwgZG91YmxlIGRpc2NoYXJnaW5nVGltZSwgZG91YmxlIGxldmVsLCBFeGNlcHRpb25Db2RlJik7
CiAKKyAgICB1bnNpZ25lZCBudW1iZXJPZkxpdmVOb2RlcygpIGNvbnN0OworICAgIHVuc2lnbmVk
IG51bWJlck9mTGl2ZURvY3VtZW50cygpIGNvbnN0OworCiBwcml2YXRlOgogICAgIGV4cGxpY2l0
IEludGVybmFscyhEb2N1bWVudCopOwogICAgIERvY3VtZW50TWFya2VyKiBtYXJrZXJBdChOb2Rl
KiwgY29uc3QgU3RyaW5nJiBtYXJrZXJUeXBlLCB1bnNpZ25lZCBpbmRleCwgRXhjZXB0aW9uQ29k
ZSYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsIGIv
U291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCmluZGV4IGRkYTEyMjk4NGE0Y2Y1
YzBmOTQxYzA5YTFmN2IwNGJlMjE3ZjgzMmMuLjY4MGQ3MmE0NGIxYmFmN2E5OTFkMmFmZTIzZjRh
ZmZmNDQ3YTFjNjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxz
LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwKQEAgLTExOSw3
ICsxMTksMTAgQEAgbW9kdWxlIHdpbmRvdyB7CiAKICNpZiBkZWZpbmVkKEVOQUJMRV9CQVRURVJZ
X1NUQVRVUykgJiYgRU5BQkxFX0JBVFRFUllfU1RBVFVTCiAgICAgICAgIHZvaWQgc2V0QmF0dGVy
eVN0YXR1cyhpbiBEb2N1bWVudCBkb2N1bWVudCwgaW4gRE9NU3RyaW5nIGV2ZW50VHlwZSwgaW4g
Ym9vbGVhbiBjaGFyZ2luZywgaW4gZG91YmxlIGNoYXJnaW5nVGltZSwgaW4gZG91YmxlIGRpc2No
YXJnaW5nVGltZSwgaW4gZG91YmxlIGxldmVsKSByYWlzZXMgKERPTUV4Y2VwdGlvbik7Ci0jZW5k
aWYKKyNlbmRpZiAKKworICAgICAgICB1bnNpZ25lZCBsb25nIG51bWJlck9mTGl2ZU5vZGVzKCk7
CisgICAgICAgIHVuc2lnbmVkIGxvbmcgbnVtYmVyT2ZMaXZlRG9jdW1lbnRzKCk7CiAgICAgfTsK
IH0KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCmluZGV4IGU4MDE2MDJmMjgxZGQzNDJiMjI5NzlmNjE2YWVkNmMyNjVjYTU2M2IuLjEx
ZjgxOGIwNWJmMjhmNzExYmQ1OTM5MTNjZTRjZDkwZmU2ZTQ4NDkgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwx
MyBAQAorMjAxMi0wMy0yMSAgRGF2ZSBNaWNoYWVsICA8ZG1pY2hhZWxAY2hyb21pdW0ub3JnPgor
CisgICAgICAgIEhUTUxQbHVnaW5FbGVtZW50IGlzIG5vdCBkZXN0cm95ZWQgb24gcmVsb2FkIG9y
IG5hdmlnYXRpb24gaWYgZ2V0TlBPYmplY3QgaXMgY2FsbGVkCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MDQyOAorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogcGx1Z2lucy9uZXRzY2FwZS1kb20tYWNjZXNz
LWFuZC1yZWxvYWQtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwbHVnaW5zL25ldHNj
YXBlLWRvbS1hY2Nlc3MtYW5kLXJlbG9hZC5odG1sOiBBZGRlZC4KKwogMjAxMi0wMy0yMSAgWXVy
eSBTZW1pa2hhdHNreSAgPHl1cnlzQGNocm9taXVtLm9yZz4KIAogICAgICAgICBXZWIgSW5zcGVj
dG9yOiBldmVudCBsaXN0ZW5lciBzZWN0aW9uIGRvZXNuJ3Qgc2hvdyBhbGwgZXZlbnQgbGlzdGVu
ZXJzIG9mIHRoZSBlbGVtZW50IGFuY2VzdG9ycwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGx1
Z2lucy9uZXRzY2FwZS1kb20tYWNjZXNzLWFuZC1yZWxvYWQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvcGx1Z2lucy9uZXRzY2FwZS1kb20tYWNjZXNzLWFuZC1yZWxvYWQtZXhwZWN0ZWQudHh0
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjU1ZTc1OTgxZDIzNjEwMTIzZGI5MTA5OWQ1OTBiZTFkNzExYzAwZGYKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wbHVnaW5zL25ldHNjYXBlLWRvbS1hY2Nlc3Mt
YW5kLXJlbG9hZC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwzIEBACitUaGlzIHBhZ2UgdGVzdHMg
cmVsb2FkaW5nIGEgTmV0c2NhcGUgcGx1Zy1pbiB0aGF0IGFjY2Vzc2VzIGl0cyBvd24gRE9NIGVs
ZW1lbnQuIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODA0Mjgs
ICJIVE1MUGx1Z2luRWxlbWVudCBpcyBub3QgZGVzdHJveWVkIG9uIHJlbG9hZCBvciBuYXZpZ2F0
aW9uIGlmIGdldE5QT2JqZWN0IGlzIGNhbGxlZCIuIElmIGl0IHN1Y2NlZWRzLCB5b3Ugc2hvdWxk
IHNlZSBTVUNDRVNTIGJlbG93LiAKKworU1VDQ0VTUwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
cGx1Z2lucy9uZXRzY2FwZS1kb20tYWNjZXNzLWFuZC1yZWxvYWQuaHRtbCBiL0xheW91dFRlc3Rz
L3BsdWdpbnMvbmV0c2NhcGUtZG9tLWFjY2Vzcy1hbmQtcmVsb2FkLmh0bWwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MzBlNTdmZTY4YzI0NDRmODYyMDIyNmRmYjZhOTllYWRkY2Y5M2JkZQotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL3BsdWdpbnMvbmV0c2NhcGUtZG9tLWFjY2Vzcy1hbmQtcmVsb2FkLmh0
bWwKQEAgLTAsMCArMSw1OCBAQAorPCFET0NUWVBFIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNj
cmlwdD4KK2Z1bmN0aW9uIHJ1blRlc3QoKQoreworICAgIC8vIE1ha2UgdGhlIHBsdWdpbiByZXRy
aWV2ZSBhIERPTSBlbGVtZW50IHRvIGl0c2VsZi4gVGhpcyBleGVyY2lzZXMKKyAgICAvLyBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODA0MjgKKyAgICAvLyAoSFRNTFBs
dWdpbkVsZW1lbnQgaXMgbm90IGRlc3Ryb3llZCBvbiByZWxvYWQgb3IgbmF2aWdhdGlvbiBpZgor
ICAgIC8vIGdldE5QT2JqZWN0IGlzIGNhbGxlZCkKKyAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgidGVzdFBsdWdpbiIpLnRlc3RET01BY2Nlc3MoKTsKKworICAgIC8vIFJlbG9hZCB0aGUgcGFn
ZSBvbmNlLgorICAgIHZhciBjYWxsUmVsb2FkID0gdHJ1ZTsKKyAgICBpZiAod2luZG93LnNlc3Np
b25TdG9yYWdlKSB7CisgICAgICAgIGlmICh3aW5kb3cuc2Vzc2lvblN0b3JhZ2UucmVsb2FkUGx1
Z2luc0FuZFBhZ2VzQ2FsbGVkKQorICAgICAgICAgICAgY2FsbFJlbG9hZCA9IGZhbHNlOworICAg
ICAgICBlbHNlCisgICAgICAgICAgICB3aW5kb3cuc2Vzc2lvblN0b3JhZ2UucmVsb2FkUGx1Z2lu
c0FuZFBhZ2VzQ2FsbGVkID0gMTsKKyAgICB9CisKKyAgICBpZiAod2luZG93LmxheW91dFRlc3RD
b250cm9sbGVyKQorICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7Cisg
ICAgCisgICAgaWYgKGNhbGxSZWxvYWQpIHsKKyAgICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0
Q29udHJvbGxlcikKKyAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERv
bmUoKTsKKyAgICAgICAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpOworICAgIH0gZWxzZSB7Cisg
ICAgICAgIHdpbmRvdy5HQ0NvbnRyb2xsZXIuY29sbGVjdCgpOworICAgICAgICAvLyBOb3RlIHdl
IGNvdWxkIGFsc28gY29sbGVjdCB0aGUgbnVtYmVyIG9mIGxpdmUgbm9kZXMsIGJ1dCB0aGF0IHNl
ZW1zCisgICAgICAgIC8vIG1vcmUgbGlrZWx5IHRvIGdpdmUgc3B1cmlvdXMgZmFpbHVyZXMuIFdo
ZW4gYW4gSFRNTFBsdWdpbkVsZW1lbnQgaXMKKyAgICAgICAgLy8gaW1wcm9wZXJseSByZXRhaW5l
ZCwgaXRzIG93bmluZyBEb2N1bWVudCBhbHNvIHN1cnZpdmVzLCBzbyB3ZSdsbAorICAgICAgICAv
LyBkZXRlY3QgYW4gZXhjZXNzIERvY3VtZW50LgorICAgICAgICB2YXIgbnVtYmVyT2ZMaXZlRG9j
dW1lbnRzID0gd2luZG93LmludGVybmFscy5udW1iZXJPZkxpdmVEb2N1bWVudHMoKTsKKyAgICAg
ICAgaWYgKG51bWJlck9mTGl2ZURvY3VtZW50cyA9PSAxKSB7CisgICAgICAgICAgICBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgicmVzdWx0IikuaW5uZXJIVE1MID0gIlNVQ0NFU1MiOworICAgICAg
ICB9IGVsc2UgaWYgKG51bWJlck9mTGl2ZURvY3VtZW50cyA9PSAwKSB7CisgICAgICAgICAgICBk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgicmVzdWx0IikuaW5uZXJIVE1MID0KKyAgICAgICAgICAg
ICAgICAiRkFJTEVEOyBudW1iZXJPZkxpdmVEb2N1bWVudHMgcmV0dXJuZWQgMC4gVGhpcyB0ZXN0
IGlzIG9ubHkgIgorICAgICAgICAgICAgICAgICJ2YWxpZCBpZiB0aGUgSW5zcGVjdG9yIGlzIGVu
YWJsZWQuIjsKKyAgICAgICAgfQorICAgICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9s
bGVyKSB7CisgICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7Cisg
ICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7CisgICAgICAgIH0K
KyAgICB9Cit9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0icnVuVGVzdCgpOyI+
Cis8cD5UaGlzIHBhZ2UgdGVzdHMgcmVsb2FkaW5nIGEgTmV0c2NhcGUgcGx1Zy1pbiB0aGF0IGFj
Y2Vzc2VzIGl0cyBvd24gRE9NIGVsZW1lbnQuIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9ODA0MjgsICJIVE1MUGx1Z2luRWxlbWVudCBpcyBub3QgZGVzdHJveWVk
IG9uIHJlbG9hZCBvciBuYXZpZ2F0aW9uIGlmIGdldE5QT2JqZWN0IGlzIGNhbGxlZCIuCisKK0lm
IGl0IHN1Y2NlZWRzLCB5b3Ugc2hvdWxkIHNlZSBTVUNDRVNTIGJlbG93LgorPGVtYmVkIGlkPSJ0
ZXN0UGx1Z2luIiB0eXBlPSJhcHBsaWNhdGlvbi94LXdlYmtpdC10ZXN0LW5ldHNjYXBlIiB3aWR0
aD0iMjAwIiBoZWlnaHQ9IjIwMCI+PC9lbWJlZD4KKzxkaXYgaWQ9InJlc3VsdCI+RkFJTFVSRTwv
ZGl2PgorPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>133118</attachid>
            <date>2012-03-21 14:55:02 -0700</date>
            <delta_ts>2012-03-21 15:48:15 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-80428-20120321155501.patch</filename>
            <type>text/plain</type>
            <size>10036</size>
            <attacher name="Dave Michael">dmichael</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTExNTUzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZWRiMWY3YjhhYmNkYWVj
M2MxNjk1MmU3NGFhMzg5NzI2MmEwZGYyZi4uZTZmMDJiMDdlZDM0NzI1MmY4MTZkNWQwY2NiM2Mx
NDEwODk4MWI4YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDEyLTAzLTIxICBEYXZl
IE1pY2hhZWwgIDxkbWljaGFlbEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgSFRNTFBsdWdpbkVs
ZW1lbnQgaXMgbm90IGRlc3Ryb3llZCBvbiByZWxvYWQgb3IgbmF2aWdhdGlvbiBpZiBnZXROUE9i
amVjdCBpcyBjYWxsZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTgwNDI4CisKKyAgICAgICAgTWFrZSBIVE1MUGx1Z2luRWxlbWVudCByZWxlYXNlIGl0
cyBtX05QT2JqZWN0IGluIGRldGFjaCgpIHRvIGJyZWFrIGEKKyAgICAgICAgcmVmZXJlbmNlLWNv
dW50aW5nIGN5Y2xlIHRoYXQgaGFwcGVucyBvbiByZWxvYWQgb3IgbmF2aWdhdGlvbi4gV2l0aCB0
aGlzCisgICAgICAgIGNoYW5nZSwgSFRNTFBsdWdpbkVsZW1lbnQ6OnJlbW92ZWRGcm9tRG9jdW1l
bnQgaXMgdW5uZWNlc3NhcnksIHNvIGl0CisgICAgICAgIHdhcyByZW1vdmVkLgorCisgICAgICAg
IEFsc28gYWRkZWQgbnVtYmVyT2ZMaXZlTm9kZXMoKSBhbmQgbnVtYmVyT2ZMaXZlRG9jdW1lbnRz
KCkgdG8KKyAgICAgICAgd2luZG93LmludGVybmFscyB0byBlbmFibGUgdGVzdGluZy4KKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0OiBwbHVnaW5z
L25ldHNjYXBlLWRvbS1hY2Nlc3MtYW5kLXJlbG9hZC5odG1sCisKKyAgICAgICAgKiBXZWJDb3Jl
LmV4cC5pbjoKKyAgICAgICAgKiBodG1sL0hUTUxQbHVnSW5FbGVtZW50LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkhUTUxQbHVnSW5FbGVtZW50OjpkZXRhY2gpOgorICAgICAgICAqIGh0bWwvSFRN
TFBsdWdJbkVsZW1lbnQuaDoKKyAgICAgICAgKEhUTUxQbHVnSW5FbGVtZW50KToKKyAgICAgICAg
KiB0ZXN0aW5nL0ludGVybmFscy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbHM6Om51
bWJlck9mTGl2ZURvY3VtZW50cyk6CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbHM6Om51bWJl
ck9mTGl2ZU5vZGVzKToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAqIHRlc3RpbmcvSW50
ZXJuYWxzLmg6CisgICAgICAgIChJbnRlcm5hbHMpOgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJu
YWxzLmlkbDoKKwogMjAxMi0wMy0yMSAgQWxleGVpIEZpbGlwcG92ICA8YWxleGVpZkBjaHJvbWl1
bS5vcmc+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogU3BlZWR1cCBoZWFwIHNuYXBzaG90IGxv
YWRpbmcuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbiBiL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCmluZGV4IGMxNzgxYTI3YzZlODc1NWQ3NzdjODlkODk2
MDdiMWExNjlhMTViN2UuLmNmMTU0N2M4YTZkMGJiZTYzY2FhMjc3OTc2N2MzODk1YzVjMjQwNDkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUuZXhwLmluCkBAIC0xNzQ1LDYgKzE3NDUsNyBAQCBfX1pOSzdXZWJDb3Jl
MTJJY29uRGF0YWJhc2U5aXNFbmFibGVkRXYKIAogI2lmIEVOQUJMRShJTlNQRUNUT1IpCiBfX1pO
N1dlYkNvcmUxNUluc3BlY3RvckNsaWVudDMxZG9EaXNwYXRjaE1lc3NhZ2VPbkZyb250ZW5kUGFn
ZUVQTlNfNFBhZ2VFUktOM1dURjZTdHJpbmdFCitfX1pON1dlYkNvcmUxN0luc3BlY3RvckNvdW50
ZXJzMTJjb3VudGVyVmFsdWVFTlMwXzExQ291bnRlclR5cGVFCiBfX1pON1dlYkNvcmUxOUluc3Bl
Y3RvckNvbnRyb2xsZXIxNGVuYWJsZVByb2ZpbGVyRXYKIF9fWk43V2ViQ29yZTE5SW5zcGVjdG9y
Q29udHJvbGxlcjE1ZGlzYWJsZVByb2ZpbGVyRXYKIF9fWk43V2ViQ29yZTE5SW5zcGVjdG9yQ29u
dHJvbGxlcjE1cHJvZmlsZXJFbmFibGVkRXYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTFBsdWdJbkVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MUGx1Z0lu
RWxlbWVudC5jcHAKaW5kZXggMjk5ZTQ3YjJlZjlmY2EzMWVmNzFiMmMzMDhiMDAwYWU0ZGIyNjI2
NC4uNDU4ZDE1NzU4ZjU2ZGNjYWZhNWYzMWI5YmIyNDc4Zjg0ZGRkMWU5MSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MUGx1Z0luRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvaHRtbC9IVE1MUGx1Z0luRWxlbWVudC5jcHAKQEAgLTc4LDExICs3OCw2IEBAIHZvaWQg
SFRNTFBsdWdJbkVsZW1lbnQ6OmRldGFjaCgpCiAgICAgICAgIG1faXNDYXB0dXJpbmdNb3VzZUV2
ZW50cyA9IGZhbHNlOwogICAgIH0KIAotICAgIEhUTUxGcmFtZU93bmVyRWxlbWVudDo6ZGV0YWNo
KCk7Ci19Ci0KLXZvaWQgSFRNTFBsdWdJbkVsZW1lbnQ6OnJlbW92ZWRGcm9tRG9jdW1lbnQoKQot
ewogI2lmIEVOQUJMRShORVRTQ0FQRV9QTFVHSU5fQVBJKQogICAgIGlmIChtX05QT2JqZWN0KSB7
CiAgICAgICAgIF9OUE5fUmVsZWFzZU9iamVjdChtX05QT2JqZWN0KTsKQEAgLTkwLDcgKzg1LDcg
QEAgdm9pZCBIVE1MUGx1Z0luRWxlbWVudDo6cmVtb3ZlZEZyb21Eb2N1bWVudCgpCiAgICAgfQog
I2VuZGlmCiAKLSAgICBIVE1MRnJhbWVPd25lckVsZW1lbnQ6OnJlbW92ZWRGcm9tRG9jdW1lbnQo
KTsKKyAgICBIVE1MRnJhbWVPd25lckVsZW1lbnQ6OmRldGFjaCgpOwogfQogCiBQYXNzU2NyaXB0
SW5zdGFuY2UgSFRNTFBsdWdJbkVsZW1lbnQ6OmdldEluc3RhbmNlKCkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTFBsdWdJbkVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvSFRNTFBsdWdJbkVsZW1lbnQuaAppbmRleCAyMmIxNGM0ZTcwYmI3MWYwNTMxZDBlNWI2MTRl
OWJhY2M0ZmRhZDQwLi42NWY4NjliZGI1MGU1MmMxZDM3M2JkZWNkOGMxOTU4MGI4Y2RhYWIwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQbHVnSW5FbGVtZW50LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MUGx1Z0luRWxlbWVudC5oCkBAIC01Nyw3ICs1Nyw2IEBA
IHByb3RlY3RlZDoKICAgICBIVE1MUGx1Z0luRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiB0
YWdOYW1lLCBEb2N1bWVudCopOwogCiAgICAgdmlydHVhbCB2b2lkIGRldGFjaCgpOwotICAgIHZp
cnR1YWwgdm9pZCByZW1vdmVkRnJvbURvY3VtZW50KCk7CiAgICAgdmlydHVhbCBib29sIGlzUHJl
c2VudGF0aW9uQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmKSBjb25zdCBPVkVSUklERTsK
ICAgICB2aXJ0dWFsIHZvaWQgY29sbGVjdFN0eWxlRm9yQXR0cmlidXRlKEF0dHJpYnV0ZSosIFN0
eWxlUHJvcGVydHlTZXQqKSBPVkVSUklERTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
dGVzdGluZy9JbnRlcm5hbHMuY3BwIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMu
Y3BwCmluZGV4IGM4MjZiMTUwYTA3MmQ4ODUzMDNlMmY0MjJmMjM0N2UwZjYxYjgyZmUuLjVmZTRm
YjQ2MmJhMmJiMmFjYTViMWE1NzhiODU2YmEwYzk1N2ZmNTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5n
L0ludGVybmFscy5jcHAKQEAgLTQyLDYgKzQyLDcgQEAKICNpbmNsdWRlICJIVE1MTmFtZXMuaCIK
ICNpbmNsdWRlICJIVE1MVGV4dEFyZWFFbGVtZW50LmgiCiAjaW5jbHVkZSAiSW5zcGVjdG9yQ29u
dHJvbGxlci5oIgorI2luY2x1ZGUgIkluc3BlY3RvckNvdW50ZXJzLmgiCiAjaW5jbHVkZSAiSW5z
cGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgiCiAjaW5jbHVkZSAiSW50ZXJuYWxTZXR0aW5ncy5oIgog
I2luY2x1ZGUgIkludFJlY3QuaCIKQEAgLTc3MCw0ICs3NzEsMjIgQEAgYm9vbCBJbnRlcm5hbHM6
Omhhc1NwZWxsaW5nTWFya2VyKERvY3VtZW50KiBkb2N1bWVudCwgaW50IGZyb20sIGludCBsZW5n
dGgsIEV4Y2UKICAgICByZXR1cm4gZG9jdW1lbnQtPmZyYW1lKCktPmVkaXRvcigpLT5zZWxlY3Rp
b25TdGFydEhhc01hcmtlckZvcihEb2N1bWVudE1hcmtlcjo6U3BlbGxpbmcsIGZyb20sIGxlbmd0
aCk7CiB9CiAKK3Vuc2lnbmVkIEludGVybmFsczo6bnVtYmVyT2ZMaXZlTm9kZXMoKSBjb25zdAor
eworI2lmIEVOQUJMRShJTlNQRUNUT1IpCisgICAgcmV0dXJuIEluc3BlY3RvckNvdW50ZXJzOjpj
b3VudGVyVmFsdWUoSW5zcGVjdG9yQ291bnRlcnM6Ok5vZGVDb3VudGVyKTsKKyNlbHNlCisgICAg
cmV0dXJuIDA7CisjZW5kaWYKK30KKwordW5zaWduZWQgSW50ZXJuYWxzOjpudW1iZXJPZkxpdmVE
b2N1bWVudHMoKSBjb25zdAoreworI2lmIEVOQUJMRShJTlNQRUNUT1IpCisgICAgcmV0dXJuIElu
c3BlY3RvckNvdW50ZXJzOjpjb3VudGVyVmFsdWUoSW5zcGVjdG9yQ291bnRlcnM6OkRvY3VtZW50
Q291bnRlcik7CisjZWxzZQorICAgIHJldHVybiAwOworI2VuZGlmCit9CisKIH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmggYi9Tb3VyY2UvV2ViQ29yZS90
ZXN0aW5nL0ludGVybmFscy5oCmluZGV4IDY4ODM0NjA1ZjQ2NDA3OWE5ZTljNWJhYWM3NzgzYTcy
MTE2NzJiNGQuLjY1MTdjZDU3ZTY2ODQ0NzUwMTVlZjlkOTFmNjA4MmMxNmUwNDlmODggMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaApAQCAtMTQ1LDYgKzE0NSw5IEBAIHB1YmxpYzoKIAog
ICAgIHZvaWQgc2V0QmF0dGVyeVN0YXR1cyhEb2N1bWVudCosIGNvbnN0IFN0cmluZyYgZXZlbnRU
eXBlLCBib29sIGNoYXJnaW5nLCBkb3VibGUgY2hhcmdpbmdUaW1lLCBkb3VibGUgZGlzY2hhcmdp
bmdUaW1lLCBkb3VibGUgbGV2ZWwsIEV4Y2VwdGlvbkNvZGUmKTsKIAorICAgIHVuc2lnbmVkIG51
bWJlck9mTGl2ZU5vZGVzKCkgY29uc3Q7CisgICAgdW5zaWduZWQgbnVtYmVyT2ZMaXZlRG9jdW1l
bnRzKCkgY29uc3Q7CisKIHByaXZhdGU6CiAgICAgZXhwbGljaXQgSW50ZXJuYWxzKERvY3VtZW50
Kik7CiAgICAgRG9jdW1lbnRNYXJrZXIqIG1hcmtlckF0KE5vZGUqLCBjb25zdCBTdHJpbmcmIG1h
cmtlclR5cGUsIHVuc2lnbmVkIGluZGV4LCBFeGNlcHRpb25Db2RlJik7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0
aW5nL0ludGVybmFscy5pZGwKaW5kZXggZGRhMTIyOTg0YTRjZjVjMGY5NDFjMDlhMWY3YjA0YmUy
MTdmODMyYy4uNjgwZDcyYTQ0YjFiYWY3YTk5MWQyYWZlMjNmNGFmZmY0NDdhMWM2NyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbApAQCAtMTE5LDcgKzExOSwxMCBAQCBtb2R1bGUg
d2luZG93IHsKIAogI2lmIGRlZmluZWQoRU5BQkxFX0JBVFRFUllfU1RBVFVTKSAmJiBFTkFCTEVf
QkFUVEVSWV9TVEFUVVMKICAgICAgICAgdm9pZCBzZXRCYXR0ZXJ5U3RhdHVzKGluIERvY3VtZW50
IGRvY3VtZW50LCBpbiBET01TdHJpbmcgZXZlbnRUeXBlLCBpbiBib29sZWFuIGNoYXJnaW5nLCBp
biBkb3VibGUgY2hhcmdpbmdUaW1lLCBpbiBkb3VibGUgZGlzY2hhcmdpbmdUaW1lLCBpbiBkb3Vi
bGUgbGV2ZWwpIHJhaXNlcyAoRE9NRXhjZXB0aW9uKTsKLSNlbmRpZgorI2VuZGlmIAorCisgICAg
ICAgIHVuc2lnbmVkIGxvbmcgbnVtYmVyT2ZMaXZlTm9kZXMoKTsKKyAgICAgICAgdW5zaWduZWQg
bG9uZyBudW1iZXJPZkxpdmVEb2N1bWVudHMoKTsKICAgICB9OwogfQogCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggZTgwMTYw
MmYyODFkZDM0MmIyMjk3OWY2MTZhZWQ2YzI2NWNhNTYzYi4uMTFmODE4YjA1YmYyOGY3MTFiZDU5
MzkxM2NlNGNkOTBmZTZlNDg0OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisr
KyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDEyLTAzLTIxICBE
YXZlIE1pY2hhZWwgIDxkbWljaGFlbEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgSFRNTFBsdWdp
bkVsZW1lbnQgaXMgbm90IGRlc3Ryb3llZCBvbiByZWxvYWQgb3IgbmF2aWdhdGlvbiBpZiBnZXRO
UE9iamVjdCBpcyBjYWxsZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTgwNDI4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgKiBwbHVnaW5zL25ldHNjYXBlLWRvbS1hY2Nlc3MtYW5kLXJlbG9hZC1leHBlY3Rl
ZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHBsdWdpbnMvbmV0c2NhcGUtZG9tLWFjY2Vzcy1hbmQt
cmVsb2FkLmh0bWw6IEFkZGVkLgorCiAyMDEyLTAzLTIxICBZdXJ5IFNlbWlraGF0c2t5ICA8eXVy
eXNAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IGV2ZW50IGxpc3RlbmVy
IHNlY3Rpb24gZG9lc24ndCBzaG93IGFsbCBldmVudCBsaXN0ZW5lcnMgb2YgdGhlIGVsZW1lbnQg
YW5jZXN0b3JzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbHVnaW5zL25ldHNjYXBlLWRvbS1h
Y2Nlc3MtYW5kLXJlbG9hZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbHVnaW5zL25ldHNj
YXBlLWRvbS1hY2Nlc3MtYW5kLXJlbG9hZC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTVlNzU5
ODFkMjM2MTAxMjNkYjkxMDk5ZDU5MGJlMWQ3MTFjMDBkZgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL3BsdWdpbnMvbmV0c2NhcGUtZG9tLWFjY2Vzcy1hbmQtcmVsb2FkLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDMgQEAKK1RoaXMgcGFnZSB0ZXN0cyByZWxvYWRpbmcgYSBOZXRzY2Fw
ZSBwbHVnLWluIHRoYXQgYWNjZXNzZXMgaXRzIG93biBET00gZWxlbWVudC4gU2VlIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MDQyOCwgIkhUTUxQbHVnaW5FbGVtZW50
IGlzIG5vdCBkZXN0cm95ZWQgb24gcmVsb2FkIG9yIG5hdmlnYXRpb24gaWYgZ2V0TlBPYmplY3Qg
aXMgY2FsbGVkIi4gSWYgaXQgc3VjY2VlZHMsIHlvdSBzaG91bGQgc2VlIFNVQ0NFU1MgYmVsb3cu
IAorCitTVUNDRVNTCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbHVnaW5zL25ldHNjYXBlLWRv
bS1hY2Nlc3MtYW5kLXJlbG9hZC5odG1sIGIvTGF5b3V0VGVzdHMvcGx1Z2lucy9uZXRzY2FwZS1k
b20tYWNjZXNzLWFuZC1yZWxvYWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zMGU1N2ZlNjhjMjQ0NGY4NjIw
MjI2ZGZiNmE5OWVhZGRjZjkzYmRlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGx1
Z2lucy9uZXRzY2FwZS1kb20tYWNjZXNzLWFuZC1yZWxvYWQuaHRtbApAQCAtMCwwICsxLDU4IEBA
Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0PgorZnVuY3Rpb24gcnVu
VGVzdCgpCit7CisgICAgLy8gTWFrZSB0aGUgcGx1Z2luIHJldHJpZXZlIGEgRE9NIGVsZW1lbnQg
dG8gaXRzZWxmLiBUaGlzIGV4ZXJjaXNlcworICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD04MDQyOAorICAgIC8vIChIVE1MUGx1Z2luRWxlbWVudCBpcyBub3Qg
ZGVzdHJveWVkIG9uIHJlbG9hZCBvciBuYXZpZ2F0aW9uIGlmCisgICAgLy8gZ2V0TlBPYmplY3Qg
aXMgY2FsbGVkKQorICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0ZXN0UGx1Z2luIikudGVz
dERPTUFjY2VzcygpOworCisgICAgLy8gUmVsb2FkIHRoZSBwYWdlIG9uY2UuCisgICAgdmFyIGNh
bGxSZWxvYWQgPSB0cnVlOworICAgIGlmICh3aW5kb3cuc2Vzc2lvblN0b3JhZ2UpIHsKKyAgICAg
ICAgaWYgKHdpbmRvdy5zZXNzaW9uU3RvcmFnZS5yZWxvYWRQbHVnaW5zQW5kUGFnZXNDYWxsZWQp
CisgICAgICAgICAgICBjYWxsUmVsb2FkID0gZmFsc2U7CisgICAgICAgIGVsc2UKKyAgICAgICAg
ICAgIHdpbmRvdy5zZXNzaW9uU3RvcmFnZS5yZWxvYWRQbHVnaW5zQW5kUGFnZXNDYWxsZWQgPSAx
OworICAgIH0KKworICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgICAg
IGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICAKKyAgICBpZiAoY2FsbFJl
bG9hZCkgeworICAgICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgICAg
ICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOworICAgICAgICB3aW5k
b3cubG9jYXRpb24ucmVsb2FkKCk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgd2luZG93LkdDQ29u
dHJvbGxlci5jb2xsZWN0KCk7CisgICAgICAgIC8vIE5vdGUgd2UgY291bGQgYWxzbyBjb2xsZWN0
IHRoZSBudW1iZXIgb2YgbGl2ZSBub2RlcywgYnV0IHRoYXQgc2VlbXMKKyAgICAgICAgLy8gbW9y
ZSBsaWtlbHkgdG8gZ2l2ZSBzcHVyaW91cyBmYWlsdXJlcy4gV2hlbiBhbiBIVE1MUGx1Z2luRWxl
bWVudCBpcworICAgICAgICAvLyBpbXByb3Blcmx5IHJldGFpbmVkLCBpdHMgb3duaW5nIERvY3Vt
ZW50IGFsc28gc3Vydml2ZXMsIHNvIHdlJ2xsCisgICAgICAgIC8vIGRldGVjdCBhbiBleGNlc3Mg
RG9jdW1lbnQuCisgICAgICAgIHZhciBudW1iZXJPZkxpdmVEb2N1bWVudHMgPSB3aW5kb3cuaW50
ZXJuYWxzLm51bWJlck9mTGl2ZURvY3VtZW50cygpOworICAgICAgICBpZiAobnVtYmVyT2ZMaXZl
RG9jdW1lbnRzID09IDEpIHsKKyAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJy
ZXN1bHQiKS5pbm5lckhUTUwgPSAiU1VDQ0VTUyI7CisgICAgICAgIH0gZWxzZSBpZiAobnVtYmVy
T2ZMaXZlRG9jdW1lbnRzID09IDApIHsKKyAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJyZXN1bHQiKS5pbm5lckhUTUwgPQorICAgICAgICAgICAgICAgICJGQUlMRUQ7IG51bWJl
ck9mTGl2ZURvY3VtZW50cyByZXR1cm5lZCAwLiBUaGlzIHRlc3QgaXMgb25seSAiCisgICAgICAg
ICAgICAgICAgInZhbGlkIGlmIHRoZSBJbnNwZWN0b3IgaXMgZW5hYmxlZC4iOworICAgICAgICB9
CisgICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICAgICAgICAg
IGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICAgICAgICAgIGxheW91dFRl
c3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKKyAgICAgICAgfQorICAgIH0KK30KKzwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJydW5UZXN0KCk7Ij4KKzxwPlRoaXMgcGFnZSB0ZXN0
cyByZWxvYWRpbmcgYSBOZXRzY2FwZSBwbHVnLWluIHRoYXQgYWNjZXNzZXMgaXRzIG93biBET00g
ZWxlbWVudC4gU2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MDQy
OCwgIkhUTUxQbHVnaW5FbGVtZW50IGlzIG5vdCBkZXN0cm95ZWQgb24gcmVsb2FkIG9yIG5hdmln
YXRpb24gaWYgZ2V0TlBPYmplY3QgaXMgY2FsbGVkIi4KKworSWYgaXQgc3VjY2VlZHMsIHlvdSBz
aG91bGQgc2VlIFNVQ0NFU1MgYmVsb3cuCis8ZW1iZWQgaWQ9InRlc3RQbHVnaW4iIHR5cGU9ImFw
cGxpY2F0aW9uL3gtd2Via2l0LXRlc3QtbmV0c2NhcGUiIHdpZHRoPSIyMDAiIGhlaWdodD0iMjAw
Ij48L2VtYmVkPgorPGRpdiBpZD0icmVzdWx0Ij5GQUlMVVJFPC9kaXY+Cis8L2JvZHk+Cis8L2h0
bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>133132</attachid>
            <date>2012-03-21 15:48:20 -0700</date>
            <delta_ts>2012-03-21 19:26:01 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-80428-20120321164819.patch</filename>
            <type>text/plain</type>
            <size>12120</size>
            <attacher name="Dave Michael">dmichael</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTExNTUzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZWRiMWY3YjhhYmNkYWVj
M2MxNjk1MmU3NGFhMzg5NzI2MmEwZGYyZi4uZTZmMDJiMDdlZDM0NzI1MmY4MTZkNWQwY2NiM2Mx
NDEwODk4MWI4YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDEyLTAzLTIxICBEYXZl
IE1pY2hhZWwgIDxkbWljaGFlbEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgSFRNTFBsdWdpbkVs
ZW1lbnQgaXMgbm90IGRlc3Ryb3llZCBvbiByZWxvYWQgb3IgbmF2aWdhdGlvbiBpZiBnZXROUE9i
amVjdCBpcyBjYWxsZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTgwNDI4CisKKyAgICAgICAgTWFrZSBIVE1MUGx1Z2luRWxlbWVudCByZWxlYXNlIGl0
cyBtX05QT2JqZWN0IGluIGRldGFjaCgpIHRvIGJyZWFrIGEKKyAgICAgICAgcmVmZXJlbmNlLWNv
dW50aW5nIGN5Y2xlIHRoYXQgaGFwcGVucyBvbiByZWxvYWQgb3IgbmF2aWdhdGlvbi4gV2l0aCB0
aGlzCisgICAgICAgIGNoYW5nZSwgSFRNTFBsdWdpbkVsZW1lbnQ6OnJlbW92ZWRGcm9tRG9jdW1l
bnQgaXMgdW5uZWNlc3NhcnksIHNvIGl0CisgICAgICAgIHdhcyByZW1vdmVkLgorCisgICAgICAg
IEFsc28gYWRkZWQgbnVtYmVyT2ZMaXZlTm9kZXMoKSBhbmQgbnVtYmVyT2ZMaXZlRG9jdW1lbnRz
KCkgdG8KKyAgICAgICAgd2luZG93LmludGVybmFscyB0byBlbmFibGUgdGVzdGluZy4KKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0OiBwbHVnaW5z
L25ldHNjYXBlLWRvbS1hY2Nlc3MtYW5kLXJlbG9hZC5odG1sCisKKyAgICAgICAgKiBXZWJDb3Jl
LmV4cC5pbjoKKyAgICAgICAgKiBodG1sL0hUTUxQbHVnSW5FbGVtZW50LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkhUTUxQbHVnSW5FbGVtZW50OjpkZXRhY2gpOgorICAgICAgICAqIGh0bWwvSFRN
TFBsdWdJbkVsZW1lbnQuaDoKKyAgICAgICAgKEhUTUxQbHVnSW5FbGVtZW50KToKKyAgICAgICAg
KiB0ZXN0aW5nL0ludGVybmFscy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbHM6Om51
bWJlck9mTGl2ZURvY3VtZW50cyk6CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbHM6Om51bWJl
ck9mTGl2ZU5vZGVzKToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAqIHRlc3RpbmcvSW50
ZXJuYWxzLmg6CisgICAgICAgIChJbnRlcm5hbHMpOgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJu
YWxzLmlkbDoKKwogMjAxMi0wMy0yMSAgQWxleGVpIEZpbGlwcG92ICA8YWxleGVpZkBjaHJvbWl1
bS5vcmc+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogU3BlZWR1cCBoZWFwIHNuYXBzaG90IGxv
YWRpbmcuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2Vi
S2l0Mi9DaGFuZ2VMb2cKaW5kZXggOTQ5NmFhZTQzM2Y1NzExZDNmMTEzMWVhZWYwZmVhZGYxN2Vm
MmVmMy4uNDk4NTNlYzAwYTRiYWM2MWFiMzE1NTM2MmM5ZjYyYmRhZmRkYjFkNyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDE1IEBACisyMDEyLTAzLTIxICBEYXZlIE1pY2hhZWwgIDxkbWljaGFlbEBj
aHJvbWl1bS5vcmc+CisKKyAgICAgICAgSFRNTFBsdWdpbkVsZW1lbnQgaXMgbm90IGRlc3Ryb3ll
ZCBvbiByZWxvYWQgb3IgbmF2aWdhdGlvbiBpZiBnZXROUE9iamVjdCBpcyBjYWxsZWQKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgwNDI4CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVzdDogcGx1Z2lucy9u
ZXRzY2FwZS1kb20tYWNjZXNzLWFuZC1yZWxvYWQuaHRtbAorCisgICAgICAgICogd2luL1dlYktp
dDIuZGVmOiBFeHBvcnQgYSBzeW1ib2wgZm9yIEluc3BlY3RvckNvdW50ZXJzOjpjb3VudGVyVmFs
dWUKKyAgICAgICAgKiB3aW4vV2ViS2l0MkNGTGl0ZS5kZWY6IEV4cG9ydCBhIHN5bWJvbCBmb3Ig
SW5zcGVjdG9yQ291bnRlcnM6OmNvdW50ZXJWYWx1ZQorCiAyMDEyLTAzLTIxICBLZW5uZXRoIFJv
aGRlIENocmlzdGlhbnNlbiAgPGtlbm5ldGhAd2Via2l0Lm9yZz4KIAogICAgICAgICBUaGUgYWN0
aXZhdGlvbiBoaWdobGlnaHQgZG9lcyBub3QgYWx3YXlzIGhpZGUKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4K
aW5kZXggYzE3ODFhMjdjNmU4NzU1ZDc3N2M4OWQ4OTYwN2IxYTE2OWExNWI3ZS4uY2YxNTQ3Yzhh
NmQwYmJlNjNjYWEyNzc5NzY3YzM4OTVjNWMyNDA0OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS5leHAuaW4KKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KQEAg
LTE3NDUsNiArMTc0NSw3IEBAIF9fWk5LN1dlYkNvcmUxMkljb25EYXRhYmFzZTlpc0VuYWJsZWRF
dgogCiAjaWYgRU5BQkxFKElOU1BFQ1RPUikKIF9fWk43V2ViQ29yZTE1SW5zcGVjdG9yQ2xpZW50
MzFkb0Rpc3BhdGNoTWVzc2FnZU9uRnJvbnRlbmRQYWdlRVBOU180UGFnZUVSS04zV1RGNlN0cmlu
Z0UKK19fWk43V2ViQ29yZTE3SW5zcGVjdG9yQ291bnRlcnMxMmNvdW50ZXJWYWx1ZUVOUzBfMTFD
b3VudGVyVHlwZUUKIF9fWk43V2ViQ29yZTE5SW5zcGVjdG9yQ29udHJvbGxlcjE0ZW5hYmxlUHJv
ZmlsZXJFdgogX19aTjdXZWJDb3JlMTlJbnNwZWN0b3JDb250cm9sbGVyMTVkaXNhYmxlUHJvZmls
ZXJFdgogX19aTjdXZWJDb3JlMTlJbnNwZWN0b3JDb250cm9sbGVyMTVwcm9maWxlckVuYWJsZWRF
dgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MUGx1Z0luRWxlbWVudC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQbHVnSW5FbGVtZW50LmNwcAppbmRleCAyOTllNDdi
MmVmOWZjYTMxZWY3MWIyYzMwOGIwMDBhZTRkYjI2MjY0Li40NThkMTU3NThmNTZkY2NhZmE1ZjMx
YjliYjI0NzhmODRkZGQxZTkxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQ
bHVnSW5FbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQbHVnSW5FbGVt
ZW50LmNwcApAQCAtNzgsMTEgKzc4LDYgQEAgdm9pZCBIVE1MUGx1Z0luRWxlbWVudDo6ZGV0YWNo
KCkKICAgICAgICAgbV9pc0NhcHR1cmluZ01vdXNlRXZlbnRzID0gZmFsc2U7CiAgICAgfQogCi0g
ICAgSFRNTEZyYW1lT3duZXJFbGVtZW50OjpkZXRhY2goKTsKLX0KLQotdm9pZCBIVE1MUGx1Z0lu
RWxlbWVudDo6cmVtb3ZlZEZyb21Eb2N1bWVudCgpCi17CiAjaWYgRU5BQkxFKE5FVFNDQVBFX1BM
VUdJTl9BUEkpCiAgICAgaWYgKG1fTlBPYmplY3QpIHsKICAgICAgICAgX05QTl9SZWxlYXNlT2Jq
ZWN0KG1fTlBPYmplY3QpOwpAQCAtOTAsNyArODUsNyBAQCB2b2lkIEhUTUxQbHVnSW5FbGVtZW50
OjpyZW1vdmVkRnJvbURvY3VtZW50KCkKICAgICB9CiAjZW5kaWYKIAotICAgIEhUTUxGcmFtZU93
bmVyRWxlbWVudDo6cmVtb3ZlZEZyb21Eb2N1bWVudCgpOworICAgIEhUTUxGcmFtZU93bmVyRWxl
bWVudDo6ZGV0YWNoKCk7CiB9CiAKIFBhc3NTY3JpcHRJbnN0YW5jZSBIVE1MUGx1Z0luRWxlbWVu
dDo6Z2V0SW5zdGFuY2UoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MUGx1
Z0luRWxlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MUGx1Z0luRWxlbWVudC5oCmlu
ZGV4IDIyYjE0YzRlNzBiYjcxZjA1MzFkMGU1YjYxNGU5YmFjYzRmZGFkNDAuLjY1Zjg2OWJkYjUw
ZTUyYzFkMzczYmRlY2Q4YzE5NTgwYjhjZGFhYjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2h0bWwvSFRNTFBsdWdJbkVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQ
bHVnSW5FbGVtZW50LmgKQEAgLTU3LDcgKzU3LDYgQEAgcHJvdGVjdGVkOgogICAgIEhUTUxQbHVn
SW5FbGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50Kik7CiAKICAg
ICB2aXJ0dWFsIHZvaWQgZGV0YWNoKCk7Ci0gICAgdmlydHVhbCB2b2lkIHJlbW92ZWRGcm9tRG9j
dW1lbnQoKTsKICAgICB2aXJ0dWFsIGJvb2wgaXNQcmVzZW50YXRpb25BdHRyaWJ1dGUoY29uc3Qg
UXVhbGlmaWVkTmFtZSYpIGNvbnN0IE9WRVJSSURFOwogICAgIHZpcnR1YWwgdm9pZCBjb2xsZWN0
U3R5bGVGb3JBdHRyaWJ1dGUoQXR0cmlidXRlKiwgU3R5bGVQcm9wZXJ0eVNldCopIE9WRVJSSURF
OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAgYi9T
b3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKaW5kZXggYzgyNmIxNTBhMDcyZDg4
NTMwM2UyZjQyMmYyMzQ3ZTBmNjFiODJmZS4uNWZlNGZiNDYyYmEyYmIyYWNhNWIxYTU3OGI4NTZi
YTBjOTU3ZmY1NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcApAQCAtNDIsNiAr
NDIsNyBAQAogI2luY2x1ZGUgIkhUTUxOYW1lcy5oIgogI2luY2x1ZGUgIkhUTUxUZXh0QXJlYUVs
ZW1lbnQuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JDb250cm9sbGVyLmgiCisjaW5jbHVkZSAiSW5z
cGVjdG9yQ291bnRlcnMuaCIKICNpbmNsdWRlICJJbnNwZWN0b3JJbnN0cnVtZW50YXRpb24uaCIK
ICNpbmNsdWRlICJJbnRlcm5hbFNldHRpbmdzLmgiCiAjaW5jbHVkZSAiSW50UmVjdC5oIgpAQCAt
NzcwLDQgKzc3MSwyMiBAQCBib29sIEludGVybmFsczo6aGFzU3BlbGxpbmdNYXJrZXIoRG9jdW1l
bnQqIGRvY3VtZW50LCBpbnQgZnJvbSwgaW50IGxlbmd0aCwgRXhjZQogICAgIHJldHVybiBkb2N1
bWVudC0+ZnJhbWUoKS0+ZWRpdG9yKCktPnNlbGVjdGlvblN0YXJ0SGFzTWFya2VyRm9yKERvY3Vt
ZW50TWFya2VyOjpTcGVsbGluZywgZnJvbSwgbGVuZ3RoKTsKIH0KIAordW5zaWduZWQgSW50ZXJu
YWxzOjpudW1iZXJPZkxpdmVOb2RlcygpIGNvbnN0Cit7CisjaWYgRU5BQkxFKElOU1BFQ1RPUikK
KyAgICByZXR1cm4gSW5zcGVjdG9yQ291bnRlcnM6OmNvdW50ZXJWYWx1ZShJbnNwZWN0b3JDb3Vu
dGVyczo6Tm9kZUNvdW50ZXIpOworI2Vsc2UKKyAgICByZXR1cm4gMDsKKyNlbmRpZgorfQorCit1
bnNpZ25lZCBJbnRlcm5hbHM6Om51bWJlck9mTGl2ZURvY3VtZW50cygpIGNvbnN0Cit7CisjaWYg
RU5BQkxFKElOU1BFQ1RPUikKKyAgICByZXR1cm4gSW5zcGVjdG9yQ291bnRlcnM6OmNvdW50ZXJW
YWx1ZShJbnNwZWN0b3JDb3VudGVyczo6RG9jdW1lbnRDb3VudGVyKTsKKyNlbHNlCisgICAgcmV0
dXJuIDA7CisjZW5kaWYKK30KKwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGlu
Zy9JbnRlcm5hbHMuaCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKaW5kZXgg
Njg4MzQ2MDVmNDY0MDc5YTllOWM1YmFhYzc3ODNhNzIxMTY3MmI0ZC4uNjUxN2NkNTdlNjY4NDQ3
NTAxNWVmOWQ5MWY2MDgyYzE2ZTA0OWY4OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVz
dGluZy9JbnRlcm5hbHMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5o
CkBAIC0xNDUsNiArMTQ1LDkgQEAgcHVibGljOgogCiAgICAgdm9pZCBzZXRCYXR0ZXJ5U3RhdHVz
KERvY3VtZW50KiwgY29uc3QgU3RyaW5nJiBldmVudFR5cGUsIGJvb2wgY2hhcmdpbmcsIGRvdWJs
ZSBjaGFyZ2luZ1RpbWUsIGRvdWJsZSBkaXNjaGFyZ2luZ1RpbWUsIGRvdWJsZSBsZXZlbCwgRXhj
ZXB0aW9uQ29kZSYpOwogCisgICAgdW5zaWduZWQgbnVtYmVyT2ZMaXZlTm9kZXMoKSBjb25zdDsK
KyAgICB1bnNpZ25lZCBudW1iZXJPZkxpdmVEb2N1bWVudHMoKSBjb25zdDsKKwogcHJpdmF0ZToK
ICAgICBleHBsaWNpdCBJbnRlcm5hbHMoRG9jdW1lbnQqKTsKICAgICBEb2N1bWVudE1hcmtlciog
bWFya2VyQXQoTm9kZSosIGNvbnN0IFN0cmluZyYgbWFya2VyVHlwZSwgdW5zaWduZWQgaW5kZXgs
IEV4Y2VwdGlvbkNvZGUmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50
ZXJuYWxzLmlkbCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbAppbmRleCBk
ZGExMjI5ODRhNGNmNWMwZjk0MWMwOWExZjdiMDRiZTIxN2Y4MzJjLi42ODBkNzJhNDRiMWJhZjdh
OTkxZDJhZmUyM2Y0YWZmZjQ0N2ExYzY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0
aW5nL0ludGVybmFscy5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMu
aWRsCkBAIC0xMTksNyArMTE5LDEwIEBAIG1vZHVsZSB3aW5kb3cgewogCiAjaWYgZGVmaW5lZChF
TkFCTEVfQkFUVEVSWV9TVEFUVVMpICYmIEVOQUJMRV9CQVRURVJZX1NUQVRVUwogICAgICAgICB2
b2lkIHNldEJhdHRlcnlTdGF0dXMoaW4gRG9jdW1lbnQgZG9jdW1lbnQsIGluIERPTVN0cmluZyBl
dmVudFR5cGUsIGluIGJvb2xlYW4gY2hhcmdpbmcsIGluIGRvdWJsZSBjaGFyZ2luZ1RpbWUsIGlu
IGRvdWJsZSBkaXNjaGFyZ2luZ1RpbWUsIGluIGRvdWJsZSBsZXZlbCkgcmFpc2VzIChET01FeGNl
cHRpb24pOwotI2VuZGlmCisjZW5kaWYgCisKKyAgICAgICAgdW5zaWduZWQgbG9uZyBudW1iZXJP
ZkxpdmVOb2RlcygpOworICAgICAgICB1bnNpZ25lZCBsb25nIG51bWJlck9mTGl2ZURvY3VtZW50
cygpOwogICAgIH07CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQy
LmRlZiBiL1NvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyLmRlZgppbmRleCA4MjM4OGVhZDUxYWE1
ZGM0NTg1MWUxZGMyNTg2ZGM4NTU2NGNlNjQyLi5lMmM4ZjZkZmFkZDc0MjI0YmZmNTJiOGM5MmU4
ZjU0NDYwMWZlYjU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0Mi5kZWYK
KysrIGIvU291cmNlL1dlYktpdDIvd2luL1dlYktpdDIuZGVmCkBAIC0xMTUsNiArMTE1LDcgQEAg
RVhQT1JUUwogICAgICAgICA/PzFUaHJlYWRDb25kaXRpb25AV1RGQEBRQUVAWFoKICAgICAgICAg
P2Jyb2FkY2FzdEBUaHJlYWRDb25kaXRpb25AV1RGQEBRQUVYWFoKICAgICAgICAgP2NhbGxPbk1h
aW5UaHJlYWRAV1RGQEBZQVhQNkFYUEFYQFowQFoKKyAgICAgICAgP2NvdW50ZXJWYWx1ZUBJbnNw
ZWN0b3JDb3VudGVyc0BXZWJDb3JlQEBTQUhXNENvdW50ZXJUeXBlQDEyQEBaCiAgICAgICAgID9j
cmVhdGVUaHJlYWRAV1RGQEBZQUlQNkFQQVhQQVhAWjBQQkRAWgogICAgICAgICA/Y3JlYXRlVGhy
ZWFkQFdURkBAWUFJUDZBWFBBWEBaMFBCREBaCiAgICAgICAgID9jdXJyZW50VGhyZWFkQFdURkBA
WUFJWFoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyQ0ZMaXRlLmRlZiBi
L1NvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyQ0ZMaXRlLmRlZgppbmRleCBlMDU0ZDU1MmY0NTEz
YzViNGIwN2NmNGU3NDcyZWM2MWE3NTk1YTYyLi42NzY5NjE1ZjZiYTY0Y2NhOTgwNzkzNmJkNzMz
ZWQ3MTc4ZWM5MzhiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0MkNGTGl0
ZS5kZWYKKysrIGIvU291cmNlL1dlYktpdDIvd2luL1dlYktpdDJDRkxpdGUuZGVmCkBAIC0xMDgs
NiArMTA4LDcgQEAgRVhQT1JUUwogICAgICAgICA/PzFUaHJlYWRDb25kaXRpb25AV1RGQEBRQUVA
WFoKICAgICAgICAgP2Jyb2FkY2FzdEBUaHJlYWRDb25kaXRpb25AV1RGQEBRQUVYWFoKICAgICAg
ICAgP2NhbGxPbk1haW5UaHJlYWRAV1RGQEBZQVhQNkFYUEFYQFowQFoKKyAgICAgICAgP2NvdW50
ZXJWYWx1ZUBJbnNwZWN0b3JDb3VudGVyc0BXZWJDb3JlQEBTQUhXNENvdW50ZXJUeXBlQDEyQEBa
CiAgICAgICAgID9jcmVhdGVUaHJlYWRAV1RGQEBZQUlQNkFQQVhQQVhAWjBQQkRAWgogICAgICAg
ICA/Y3JlYXRlVGhyZWFkQFdURkBAWUFJUDZBWFBBWEBaMFBCREBaCiAgICAgICAgID9jdXJyZW50
VGhyZWFkQFdURkBAWUFJWFoKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xh
eW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBlODAxNjAyZjI4MWRkMzQyYjIyOTc5ZjYxNmFlZDZj
MjY1Y2E1NjNiLi4xMWY4MThiMDViZjI4ZjcxMWJkNTkzOTEzY2U0Y2Q5MGZlNmU0ODQ5IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTMgQEAKKzIwMTItMDMtMjEgIERhdmUgTWljaGFlbCAgPGRtaWNoYWVsQGNo
cm9taXVtLm9yZz4KKworICAgICAgICBIVE1MUGx1Z2luRWxlbWVudCBpcyBub3QgZGVzdHJveWVk
IG9uIHJlbG9hZCBvciBuYXZpZ2F0aW9uIGlmIGdldE5QT2JqZWN0IGlzIGNhbGxlZAorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODA0MjgKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHBsdWdpbnMvbmV0c2Nh
cGUtZG9tLWFjY2Vzcy1hbmQtcmVsb2FkLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
cGx1Z2lucy9uZXRzY2FwZS1kb20tYWNjZXNzLWFuZC1yZWxvYWQuaHRtbDogQWRkZWQuCisKIDIw
MTItMDMtMjEgIFl1cnkgU2VtaWtoYXRza3kgIDx5dXJ5c0BjaHJvbWl1bS5vcmc+CiAKICAgICAg
ICAgV2ViIEluc3BlY3RvcjogZXZlbnQgbGlzdGVuZXIgc2VjdGlvbiBkb2Vzbid0IHNob3cgYWxs
IGV2ZW50IGxpc3RlbmVycyBvZiB0aGUgZWxlbWVudCBhbmNlc3RvcnMKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3BsdWdpbnMvbmV0c2NhcGUtZG9tLWFjY2Vzcy1hbmQtcmVsb2FkLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL3BsdWdpbnMvbmV0c2NhcGUtZG9tLWFjY2Vzcy1hbmQtcmVsb2Fk
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NWU3NTk4MWQyMzYxMDEyM2RiOTEwOTlkNTkwYmUx
ZDcxMWMwMGRmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGx1Z2lucy9uZXRzY2Fw
ZS1kb20tYWNjZXNzLWFuZC1yZWxvYWQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorVGhp
cyBwYWdlIHRlc3RzIHJlbG9hZGluZyBhIE5ldHNjYXBlIHBsdWctaW4gdGhhdCBhY2Nlc3NlcyBp
dHMgb3duIERPTSBlbGVtZW50LiBTZWUgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTgwNDI4LCAiSFRNTFBsdWdpbkVsZW1lbnQgaXMgbm90IGRlc3Ryb3llZCBvbiByZWxv
YWQgb3IgbmF2aWdhdGlvbiBpZiBnZXROUE9iamVjdCBpcyBjYWxsZWQiLiBJZiBpdCBzdWNjZWVk
cywgeW91IHNob3VsZCBzZWUgU1VDQ0VTUyBiZWxvdy4gCisKK1NVQ0NFU1MKZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL3BsdWdpbnMvbmV0c2NhcGUtZG9tLWFjY2Vzcy1hbmQtcmVsb2FkLmh0bWwg
Yi9MYXlvdXRUZXN0cy9wbHVnaW5zL25ldHNjYXBlLWRvbS1hY2Nlc3MtYW5kLXJlbG9hZC5odG1s
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjMwZTU3ZmU2OGMyNDQ0Zjg2MjAyMjZkZmI2YTk5ZWFkZGNmOTNiZGUKLS0t
IC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wbHVnaW5zL25ldHNjYXBlLWRvbS1hY2Nlc3Mt
YW5kLXJlbG9hZC5odG1sCkBAIC0wLDAgKzEsNTggQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+
Cis8aGVhZD4KKzxzY3JpcHQ+CitmdW5jdGlvbiBydW5UZXN0KCkKK3sKKyAgICAvLyBNYWtlIHRo
ZSBwbHVnaW4gcmV0cmlldmUgYSBET00gZWxlbWVudCB0byBpdHNlbGYuIFRoaXMgZXhlcmNpc2Vz
CisgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgwNDI4Cisg
ICAgLy8gKEhUTUxQbHVnaW5FbGVtZW50IGlzIG5vdCBkZXN0cm95ZWQgb24gcmVsb2FkIG9yIG5h
dmlnYXRpb24gaWYKKyAgICAvLyBnZXROUE9iamVjdCBpcyBjYWxsZWQpCisgICAgZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInRlc3RQbHVnaW4iKS50ZXN0RE9NQWNjZXNzKCk7CisKKyAgICAvLyBS
ZWxvYWQgdGhlIHBhZ2Ugb25jZS4KKyAgICB2YXIgY2FsbFJlbG9hZCA9IHRydWU7CisgICAgaWYg
KHdpbmRvdy5zZXNzaW9uU3RvcmFnZSkgeworICAgICAgICBpZiAod2luZG93LnNlc3Npb25TdG9y
YWdlLnJlbG9hZFBsdWdpbnNBbmRQYWdlc0NhbGxlZCkKKyAgICAgICAgICAgIGNhbGxSZWxvYWQg
PSBmYWxzZTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgd2luZG93LnNlc3Npb25TdG9yYWdl
LnJlbG9hZFBsdWdpbnNBbmRQYWdlc0NhbGxlZCA9IDE7CisgICAgfQorCisgICAgaWYgKHdpbmRv
dy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVt
cEFzVGV4dCgpOworICAgIAorICAgIGlmIChjYWxsUmVsb2FkKSB7CisgICAgICAgIGlmICh3aW5k
b3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxl
ci53YWl0VW50aWxEb25lKCk7CisgICAgICAgIHdpbmRvdy5sb2NhdGlvbi5yZWxvYWQoKTsKKyAg
ICB9IGVsc2UgeworICAgICAgICB3aW5kb3cuR0NDb250cm9sbGVyLmNvbGxlY3QoKTsKKyAgICAg
ICAgLy8gTm90ZSB3ZSBjb3VsZCBhbHNvIGNvbGxlY3QgdGhlIG51bWJlciBvZiBsaXZlIG5vZGVz
LCBidXQgdGhhdCBzZWVtcworICAgICAgICAvLyBtb3JlIGxpa2VseSB0byBnaXZlIHNwdXJpb3Vz
IGZhaWx1cmVzLiBXaGVuIGFuIEhUTUxQbHVnaW5FbGVtZW50IGlzCisgICAgICAgIC8vIGltcHJv
cGVybHkgcmV0YWluZWQsIGl0cyBvd25pbmcgRG9jdW1lbnQgYWxzbyBzdXJ2aXZlcywgc28gd2Un
bGwKKyAgICAgICAgLy8gZGV0ZWN0IGFuIGV4Y2VzcyBEb2N1bWVudC4KKyAgICAgICAgdmFyIG51
bWJlck9mTGl2ZURvY3VtZW50cyA9IHdpbmRvdy5pbnRlcm5hbHMubnVtYmVyT2ZMaXZlRG9jdW1l
bnRzKCk7CisgICAgICAgIGlmIChudW1iZXJPZkxpdmVEb2N1bWVudHMgPT0gMSkgeworICAgICAg
ICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJlc3VsdCIpLmlubmVySFRNTCA9ICJTVUND
RVNTIjsKKyAgICAgICAgfSBlbHNlIGlmIChudW1iZXJPZkxpdmVEb2N1bWVudHMgPT0gMCkgewor
ICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInJlc3VsdCIpLmlubmVySFRNTCA9
CisgICAgICAgICAgICAgICAgIkZBSUxFRDsgbnVtYmVyT2ZMaXZlRG9jdW1lbnRzIHJldHVybmVk
IDAuIFRoaXMgdGVzdCBpcyBvbmx5ICIKKyAgICAgICAgICAgICAgICAidmFsaWQgaWYgdGhlIElu
c3BlY3RvciBpcyBlbmFibGVkLiI7CisgICAgICAgIH0KKyAgICAgICAgaWYgKHdpbmRvdy5sYXlv
dXRUZXN0Q29udHJvbGxlcikgeworICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVt
cEFzVGV4dCgpOworICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgp
OworICAgICAgICB9CisgICAgfQorfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9
InJ1blRlc3QoKTsiPgorPHA+VGhpcyBwYWdlIHRlc3RzIHJlbG9hZGluZyBhIE5ldHNjYXBlIHBs
dWctaW4gdGhhdCBhY2Nlc3NlcyBpdHMgb3duIERPTSBlbGVtZW50LiBTZWUgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgwNDI4LCAiSFRNTFBsdWdpbkVsZW1lbnQgaXMg
bm90IGRlc3Ryb3llZCBvbiByZWxvYWQgb3IgbmF2aWdhdGlvbiBpZiBnZXROUE9iamVjdCBpcyBj
YWxsZWQiLgorCitJZiBpdCBzdWNjZWVkcywgeW91IHNob3VsZCBzZWUgU1VDQ0VTUyBiZWxvdy4K
KzxlbWJlZCBpZD0idGVzdFBsdWdpbiIgdHlwZT0iYXBwbGljYXRpb24veC13ZWJraXQtdGVzdC1u
ZXRzY2FwZSIgd2lkdGg9IjIwMCIgaGVpZ2h0PSIyMDAiPjwvZW1iZWQ+Cis8ZGl2IGlkPSJyZXN1
bHQiPkZBSUxVUkU8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>133170</attachid>
            <date>2012-03-21 19:26:06 -0700</date>
            <delta_ts>2012-03-21 23:23:24 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-80428-20120321202605.patch</filename>
            <type>text/plain</type>
            <size>13701</size>
            <attacher name="Dave Michael">dmichael</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTExNjQwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDA4ZWNiZGZkM2QwMjUw
NzlmN2FhOTYxZDEzY2VkMTdhOWFhZmJlOC4uN2E0OTJhZGY1MTM4MWZjMmY0MmViOWVkYzRhMmE1
MzM0N2FiOTQwMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDEyLTAzLTIxICBEYXZl
IE1pY2hhZWwgIDxkbWljaGFlbEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgSFRNTFBsdWdpbkVs
ZW1lbnQgaXMgbm90IGRlc3Ryb3llZCBvbiByZWxvYWQgb3IgbmF2aWdhdGlvbiBpZiBnZXROUE9i
amVjdCBpcyBjYWxsZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTgwNDI4CisKKyAgICAgICAgTWFrZSBIVE1MUGx1Z2luRWxlbWVudCByZWxlYXNlIGl0
cyBtX05QT2JqZWN0IGluIGRldGFjaCgpIHRvIGJyZWFrIGEKKyAgICAgICAgcmVmZXJlbmNlLWNv
dW50aW5nIGN5Y2xlIHRoYXQgaGFwcGVucyBvbiByZWxvYWQgb3IgbmF2aWdhdGlvbi4gV2l0aCB0
aGlzCisgICAgICAgIGNoYW5nZSwgSFRNTFBsdWdpbkVsZW1lbnQ6OnJlbW92ZWRGcm9tRG9jdW1l
bnQgaXMgdW5uZWNlc3NhcnksIHNvIGl0CisgICAgICAgIHdhcyByZW1vdmVkLgorCisgICAgICAg
IEFsc28gYWRkZWQgbnVtYmVyT2ZMaXZlTm9kZXMoKSBhbmQgbnVtYmVyT2ZMaXZlRG9jdW1lbnRz
KCkgdG8KKyAgICAgICAgd2luZG93LmludGVybmFscyB0byBlbmFibGUgdGVzdGluZy4KKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0OiBwbHVnaW5z
L25ldHNjYXBlLWRvbS1hY2Nlc3MtYW5kLXJlbG9hZC5odG1sCisKKyAgICAgICAgKiBXZWJDb3Jl
LmV4cC5pbjoKKyAgICAgICAgKiBodG1sL0hUTUxQbHVnSW5FbGVtZW50LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkhUTUxQbHVnSW5FbGVtZW50OjpkZXRhY2gpOgorICAgICAgICAqIGh0bWwvSFRN
TFBsdWdJbkVsZW1lbnQuaDoKKyAgICAgICAgKEhUTUxQbHVnSW5FbGVtZW50KToKKyAgICAgICAg
KiB0ZXN0aW5nL0ludGVybmFscy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbHM6Om51
bWJlck9mTGl2ZURvY3VtZW50cyk6CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbHM6Om51bWJl
ck9mTGl2ZU5vZGVzKToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAqIHRlc3RpbmcvSW50
ZXJuYWxzLmg6CisgICAgICAgIChJbnRlcm5hbHMpOgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJu
YWxzLmlkbDoKKwogMjAxMi0wMy0yMSAgUnlvc3VrZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9yZz4K
IAogICAgICAgICBUb3VjaCBhIGZpbGUgdG8gbWFrZSBDaHJvbWl1bSBXaW5kb3dzIGJvdHMgaGFw
cHkuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKaW5kZXggYThjOGIzZmM5YjE0MzRhZDE0MzAwNjE4MDE0ODMxOTkzZGRjZjJi
MC4uN2UyOGNiYzMxYWI1NzNhYTc3ODIzOGE5NDY0OTdkM2U0OTM0NmY3OCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDE1IEBACisyMDEyLTAzLTIxICBEYXZlIE1pY2hhZWwgIDxkbWljaGFlbEBjaHJv
bWl1bS5vcmc+CisKKyAgICAgICAgSFRNTFBsdWdpbkVsZW1lbnQgaXMgbm90IGRlc3Ryb3llZCBv
biByZWxvYWQgb3IgbmF2aWdhdGlvbiBpZiBnZXROUE9iamVjdCBpcyBjYWxsZWQKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgwNDI4CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVzdDogcGx1Z2lucy9uZXRz
Y2FwZS1kb20tYWNjZXNzLWFuZC1yZWxvYWQuaHRtbAorCisgICAgICAgICogd2luL1dlYktpdDIu
ZGVmOiBFeHBvcnQgYSBzeW1ib2wgZm9yIEluc3BlY3RvckNvdW50ZXJzOjpjb3VudGVyVmFsdWUK
KyAgICAgICAgKiB3aW4vV2ViS2l0MkNGTGl0ZS5kZWY6IEV4cG9ydCBhIHN5bWJvbCBmb3IgSW5z
cGVjdG9yQ291bnRlcnM6OmNvdW50ZXJWYWx1ZQorCiAyMDEyLTAzLTIxICBUaW0gSG9ydG9uICA8
dGltb3RoeV9ob3J0b25AYXBwbGUuY29tPgogCiAgICAgICAgIE1ha2UgdXNlIG9mIENHIHJvdW5k
ZWQtcmVjdCBwcmltaXRpdmVzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4
cC5pbiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCmluZGV4IDkyZjQ1M2EyNmIzNzA2
MmQ2YjhlYzRlOTBmZTJkN2YwYWNhOWQ1OWMuLjcyMWFjNGMzODk3MjA1ODNhNWJiZTM4NjRmZDA5
NzFlMGVmZWU1ODUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCisr
KyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCkBAIC0xNzQ4LDYgKzE3NDgsNyBAQCBf
X1pOSzdXZWJDb3JlMTJJY29uRGF0YWJhc2U5aXNFbmFibGVkRXYKIAogI2lmIEVOQUJMRShJTlNQ
RUNUT1IpCiBfX1pON1dlYkNvcmUxNUluc3BlY3RvckNsaWVudDMxZG9EaXNwYXRjaE1lc3NhZ2VP
bkZyb250ZW5kUGFnZUVQTlNfNFBhZ2VFUktOM1dURjZTdHJpbmdFCitfX1pON1dlYkNvcmUxN0lu
c3BlY3RvckNvdW50ZXJzMTJjb3VudGVyVmFsdWVFTlMwXzExQ291bnRlclR5cGVFCiBfX1pON1dl
YkNvcmUxOUluc3BlY3RvckNvbnRyb2xsZXIxNGVuYWJsZVByb2ZpbGVyRXYKIF9fWk43V2ViQ29y
ZTE5SW5zcGVjdG9yQ29udHJvbGxlcjE1ZGlzYWJsZVByb2ZpbGVyRXYKIF9fWk43V2ViQ29yZTE5
SW5zcGVjdG9yQ29udHJvbGxlcjE1cHJvZmlsZXJFbmFibGVkRXYKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTFBsdWdJbkVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MUGx1Z0luRWxlbWVudC5jcHAKaW5kZXggMjk5ZTQ3YjJlZjlmY2EzMWVmNzFiMmMzMDhi
MDAwYWU0ZGIyNjI2NC4uNDU4ZDE1NzU4ZjU2ZGNjYWZhNWYzMWI5YmIyNDc4Zjg0ZGRkMWU5MSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MUGx1Z0luRWxlbWVudC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MUGx1Z0luRWxlbWVudC5jcHAKQEAgLTc4LDExICs3
OCw2IEBAIHZvaWQgSFRNTFBsdWdJbkVsZW1lbnQ6OmRldGFjaCgpCiAgICAgICAgIG1faXNDYXB0
dXJpbmdNb3VzZUV2ZW50cyA9IGZhbHNlOwogICAgIH0KIAotICAgIEhUTUxGcmFtZU93bmVyRWxl
bWVudDo6ZGV0YWNoKCk7Ci19Ci0KLXZvaWQgSFRNTFBsdWdJbkVsZW1lbnQ6OnJlbW92ZWRGcm9t
RG9jdW1lbnQoKQotewogI2lmIEVOQUJMRShORVRTQ0FQRV9QTFVHSU5fQVBJKQogICAgIGlmICht
X05QT2JqZWN0KSB7CiAgICAgICAgIF9OUE5fUmVsZWFzZU9iamVjdChtX05QT2JqZWN0KTsKQEAg
LTkwLDcgKzg1LDcgQEAgdm9pZCBIVE1MUGx1Z0luRWxlbWVudDo6cmVtb3ZlZEZyb21Eb2N1bWVu
dCgpCiAgICAgfQogI2VuZGlmCiAKLSAgICBIVE1MRnJhbWVPd25lckVsZW1lbnQ6OnJlbW92ZWRG
cm9tRG9jdW1lbnQoKTsKKyAgICBIVE1MRnJhbWVPd25lckVsZW1lbnQ6OmRldGFjaCgpOwogfQog
CiBQYXNzU2NyaXB0SW5zdGFuY2UgSFRNTFBsdWdJbkVsZW1lbnQ6OmdldEluc3RhbmNlKCkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFBsdWdJbkVsZW1lbnQuaCBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTFBsdWdJbkVsZW1lbnQuaAppbmRleCAyMmIxNGM0ZTcwYmI3MWYw
NTMxZDBlNWI2MTRlOWJhY2M0ZmRhZDQwLi42NWY4NjliZGI1MGU1MmMxZDM3M2JkZWNkOGMxOTU4
MGI4Y2RhYWIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQbHVnSW5FbGVt
ZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MUGx1Z0luRWxlbWVudC5oCkBAIC01
Nyw3ICs1Nyw2IEBAIHByb3RlY3RlZDoKICAgICBIVE1MUGx1Z0luRWxlbWVudChjb25zdCBRdWFs
aWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCopOwogCiAgICAgdmlydHVhbCB2b2lkIGRldGFj
aCgpOwotICAgIHZpcnR1YWwgdm9pZCByZW1vdmVkRnJvbURvY3VtZW50KCk7CiAgICAgdmlydHVh
bCBib29sIGlzUHJlc2VudGF0aW9uQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmKSBjb25z
dCBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQgY29sbGVjdFN0eWxlRm9yQXR0cmlidXRlKEF0
dHJpYnV0ZSosIFN0eWxlUHJvcGVydHlTZXQqKSBPVkVSUklERTsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwIGIvU291cmNlL1dlYkNvcmUvdGVzdGlu
Zy9JbnRlcm5hbHMuY3BwCmluZGV4IGM4MjZiMTUwYTA3MmQ4ODUzMDNlMmY0MjJmMjM0N2UwZjYx
YjgyZmUuLjVmZTRmYjQ2MmJhMmJiMmFjYTViMWE1NzhiODU2YmEwYzk1N2ZmNTYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKQEAgLTQyLDYgKzQyLDcgQEAKICNpbmNsdWRlICJI
VE1MTmFtZXMuaCIKICNpbmNsdWRlICJIVE1MVGV4dEFyZWFFbGVtZW50LmgiCiAjaW5jbHVkZSAi
SW5zcGVjdG9yQ29udHJvbGxlci5oIgorI2luY2x1ZGUgIkluc3BlY3RvckNvdW50ZXJzLmgiCiAj
aW5jbHVkZSAiSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgiCiAjaW5jbHVkZSAiSW50ZXJuYWxT
ZXR0aW5ncy5oIgogI2luY2x1ZGUgIkludFJlY3QuaCIKQEAgLTc3MCw0ICs3NzEsMjIgQEAgYm9v
bCBJbnRlcm5hbHM6Omhhc1NwZWxsaW5nTWFya2VyKERvY3VtZW50KiBkb2N1bWVudCwgaW50IGZy
b20sIGludCBsZW5ndGgsIEV4Y2UKICAgICByZXR1cm4gZG9jdW1lbnQtPmZyYW1lKCktPmVkaXRv
cigpLT5zZWxlY3Rpb25TdGFydEhhc01hcmtlckZvcihEb2N1bWVudE1hcmtlcjo6U3BlbGxpbmcs
IGZyb20sIGxlbmd0aCk7CiB9CiAKK3Vuc2lnbmVkIEludGVybmFsczo6bnVtYmVyT2ZMaXZlTm9k
ZXMoKSBjb25zdAoreworI2lmIEVOQUJMRShJTlNQRUNUT1IpCisgICAgcmV0dXJuIEluc3BlY3Rv
ckNvdW50ZXJzOjpjb3VudGVyVmFsdWUoSW5zcGVjdG9yQ291bnRlcnM6Ok5vZGVDb3VudGVyKTsK
KyNlbHNlCisgICAgcmV0dXJuIDA7CisjZW5kaWYKK30KKwordW5zaWduZWQgSW50ZXJuYWxzOjpu
dW1iZXJPZkxpdmVEb2N1bWVudHMoKSBjb25zdAoreworI2lmIEVOQUJMRShJTlNQRUNUT1IpCisg
ICAgcmV0dXJuIEluc3BlY3RvckNvdW50ZXJzOjpjb3VudGVyVmFsdWUoSW5zcGVjdG9yQ291bnRl
cnM6OkRvY3VtZW50Q291bnRlcik7CisjZWxzZQorICAgIHJldHVybiAwOworI2VuZGlmCit9CisK
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmggYi9Tb3Vy
Y2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCmluZGV4IDY4ODM0NjA1ZjQ2NDA3OWE5ZTlj
NWJhYWM3NzgzYTcyMTE2NzJiNGQuLjY1MTdjZDU3ZTY2ODQ0NzUwMTVlZjlkOTFmNjA4MmMxNmUw
NDlmODggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaApAQCAtMTQ1LDYgKzE0NSw5IEBA
IHB1YmxpYzoKIAogICAgIHZvaWQgc2V0QmF0dGVyeVN0YXR1cyhEb2N1bWVudCosIGNvbnN0IFN0
cmluZyYgZXZlbnRUeXBlLCBib29sIGNoYXJnaW5nLCBkb3VibGUgY2hhcmdpbmdUaW1lLCBkb3Vi
bGUgZGlzY2hhcmdpbmdUaW1lLCBkb3VibGUgbGV2ZWwsIEV4Y2VwdGlvbkNvZGUmKTsKIAorICAg
IHVuc2lnbmVkIG51bWJlck9mTGl2ZU5vZGVzKCkgY29uc3Q7CisgICAgdW5zaWduZWQgbnVtYmVy
T2ZMaXZlRG9jdW1lbnRzKCkgY29uc3Q7CisKIHByaXZhdGU6CiAgICAgZXhwbGljaXQgSW50ZXJu
YWxzKERvY3VtZW50Kik7CiAgICAgRG9jdW1lbnRNYXJrZXIqIG1hcmtlckF0KE5vZGUqLCBjb25z
dCBTdHJpbmcmIG1hcmtlclR5cGUsIHVuc2lnbmVkIGluZGV4LCBFeGNlcHRpb25Db2RlJik7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwgYi9Tb3VyY2Uv
V2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwKaW5kZXggZGRhMTIyOTg0YTRjZjVjMGY5NDFj
MDlhMWY3YjA0YmUyMTdmODMyYy4uNjgwZDcyYTQ0YjFiYWY3YTk5MWQyYWZlMjNmNGFmZmY0NDdh
MWM2NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbApAQCAtMTE5LDcgKzExOSwx
MCBAQCBtb2R1bGUgd2luZG93IHsKIAogI2lmIGRlZmluZWQoRU5BQkxFX0JBVFRFUllfU1RBVFVT
KSAmJiBFTkFCTEVfQkFUVEVSWV9TVEFUVVMKICAgICAgICAgdm9pZCBzZXRCYXR0ZXJ5U3RhdHVz
KGluIERvY3VtZW50IGRvY3VtZW50LCBpbiBET01TdHJpbmcgZXZlbnRUeXBlLCBpbiBib29sZWFu
IGNoYXJnaW5nLCBpbiBkb3VibGUgY2hhcmdpbmdUaW1lLCBpbiBkb3VibGUgZGlzY2hhcmdpbmdU
aW1lLCBpbiBkb3VibGUgbGV2ZWwpIHJhaXNlcyAoRE9NRXhjZXB0aW9uKTsKLSNlbmRpZgorI2Vu
ZGlmIAorCisgICAgICAgIHVuc2lnbmVkIGxvbmcgbnVtYmVyT2ZMaXZlTm9kZXMoKTsKKyAgICAg
ICAgdW5zaWduZWQgbG9uZyBudW1iZXJPZkxpdmVEb2N1bWVudHMoKTsKICAgICB9OwogfQogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0Mi5kZWYgYi9Tb3VyY2UvV2ViS2l0
Mi93aW4vV2ViS2l0Mi5kZWYKaW5kZXggODIzODhlYWQ1MWFhNWRjNDU4NTFlMWRjMjU4NmRjODU1
NjRjZTY0Mi4uZTJjOGY2ZGZhZGQ3NDIyNGJmZjUyYjhjOTJlOGY1NDQ2MDFmZWI1NCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvd2luL1dlYktpdDIuZGVmCisrKyBiL1NvdXJjZS9XZWJLaXQy
L3dpbi9XZWJLaXQyLmRlZgpAQCAtMTE1LDYgKzExNSw3IEBAIEVYUE9SVFMKICAgICAgICAgPz8x
VGhyZWFkQ29uZGl0aW9uQFdURkBAUUFFQFhaCiAgICAgICAgID9icm9hZGNhc3RAVGhyZWFkQ29u
ZGl0aW9uQFdURkBAUUFFWFhaCiAgICAgICAgID9jYWxsT25NYWluVGhyZWFkQFdURkBAWUFYUDZB
WFBBWEBaMEBaCisgICAgICAgID9jb3VudGVyVmFsdWVASW5zcGVjdG9yQ291bnRlcnNAV2ViQ29y
ZUBAU0FIVzRDb3VudGVyVHlwZUAxMkBAWgogICAgICAgICA/Y3JlYXRlVGhyZWFkQFdURkBAWUFJ
UDZBUEFYUEFYQFowUEJEQFoKICAgICAgICAgP2NyZWF0ZVRocmVhZEBXVEZAQFlBSVA2QVhQQVhA
WjBQQkRAWgogICAgICAgICA/Y3VycmVudFRocmVhZEBXVEZAQFlBSVhaCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0MkNGTGl0ZS5kZWYgYi9Tb3VyY2UvV2ViS2l0Mi93aW4v
V2ViS2l0MkNGTGl0ZS5kZWYKaW5kZXggZTA1NGQ1NTJmNDUxM2M1YjRiMDdjZjRlNzQ3MmVjNjFh
NzU5NWE2Mi4uNjc2OTYxNWY2YmE2NGNjYTk4MDc5MzZiZDczM2VkNzE3OGVjOTM4YiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvd2luL1dlYktpdDJDRkxpdGUuZGVmCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL3dpbi9XZWJLaXQyQ0ZMaXRlLmRlZgpAQCAtMTA4LDYgKzEwOCw3IEBAIEVYUE9SVFMK
ICAgICAgICAgPz8xVGhyZWFkQ29uZGl0aW9uQFdURkBAUUFFQFhaCiAgICAgICAgID9icm9hZGNh
c3RAVGhyZWFkQ29uZGl0aW9uQFdURkBAUUFFWFhaCiAgICAgICAgID9jYWxsT25NYWluVGhyZWFk
QFdURkBAWUFYUDZBWFBBWEBaMEBaCisgICAgICAgID9jb3VudGVyVmFsdWVASW5zcGVjdG9yQ291
bnRlcnNAV2ViQ29yZUBAU0FIVzRDb3VudGVyVHlwZUAxMkBAWgogICAgICAgICA/Y3JlYXRlVGhy
ZWFkQFdURkBAWUFJUDZBUEFYUEFYQFowUEJEQFoKICAgICAgICAgP2NyZWF0ZVRocmVhZEBXVEZA
QFlBSVA2QVhQQVhAWjBQQkRAWgogICAgICAgICA/Y3VycmVudFRocmVhZEBXVEZAQFlBSVhaCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvYXV0b3Rvb2xzL3N5bWJvbHMuZmlsdGVyIGIvU291cmNlL2F1dG90
b29scy9zeW1ib2xzLmZpbHRlcgppbmRleCA2NTJmMTgyZTY4NGY1NGJiNmFlYzMzZGFiOTZmMDE0
ZWY1YzVhZjlhLi5hYzdiMDBjZGVkMTdmZTliMTlmNTgyZTcxMzc0ZjAyYzc0YjE2MjRhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvYXV0b3Rvb2xzL3N5bWJvbHMuZmlsdGVyCisrKyBiL1NvdXJjZS9hdXRv
dG9vbHMvc3ltYm9scy5maWx0ZXIKQEAgLTU5LDYgKzU5LDcgQEAgX1pON1dlYkNvcmUxNkhUTUxJ
bnB1dEVsZW1lbnQxN3NldFN1Z2dlc3RlZFZhbHVlRVJLTjNXVEY2U3RyaW5nRTsKIF9aTjdXZWJD
b3JlMTZqc1N0cmluZ1Nsb3dDYXNlRVBOM0pTQzlFeGVjU3RhdGVFUk4zV1RGN0hhc2hNYXBJUE5T
M18xMFN0cmluZ0ltcGxFTlMwXzRXZWFrSU5TMF84SlNTdHJpbmdFRUVOUzNfMTBTdHJpbmdIYXNo
RU5TM18xMEhhc2hUcmFpdHNJUzZfRUVOU0JfSVM5X0VFRUVTNl87CiBfWk43V2ViQ29yZTE2c2Ny
aXB0TmFtZVRvQ29kZUVSS04zV1RGNlN0cmluZ0U7CiBfWk43V2ViQ29yZTE3Y2FjaGVET01TdHJ1
Y3R1cmVFUE5TXzE3SlNET01HbG9iYWxPYmplY3RFUE4zSlNDOVN0cnVjdHVyZUVQS05TMl85Q2xh
c3NJbmZvRTsKK19aTjdXZWJDb3JlMTdJbnNwZWN0b3JDb3VudGVyczEyY291bnRlclZhbHVlRU5T
MF8xMUNvdW50ZXJUeXBlRTsKIF9aTjdXZWJDb3JlMThIVE1MQ29udGVudEVsZW1lbnQ2Y3JlYXRl
RVBOU184RG9jdW1lbnRFOwogX1pON1dlYkNvcmUxOUluc3BlY3RvckNvbnRyb2xsZXIzOXNldFJl
c291cmNlc0RhdGFTaXplTGltaXRzRnJvbUludGVybmFsc0VpaTsKIF9aTjdXZWJDb3JlMjBOb2Rl
UmVuZGVyaW5nQ29udGV4dEMxRVBOU180Tm9kZUU7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9D
aGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNjc2MWU2YTY2MmY3Nzk1NGNk
YWEyYzZkOGVhNDMwMjMxMDlhZDk2Ni4uODhjMWExNDA0ZGM1NzNmNjI5ZTAyZDFhYmVmNWFmYTZm
N2U4YjdiYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRl
c3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDEyLTAzLTIxICBEYXZlIE1pY2hhZWwg
IDxkbWljaGFlbEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgSFRNTFBsdWdpbkVsZW1lbnQgaXMg
bm90IGRlc3Ryb3llZCBvbiByZWxvYWQgb3IgbmF2aWdhdGlvbiBpZiBnZXROUE9iamVjdCBpcyBj
YWxsZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgw
NDI4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBw
bHVnaW5zL25ldHNjYXBlLWRvbS1hY2Nlc3MtYW5kLXJlbG9hZC1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIHBsdWdpbnMvbmV0c2NhcGUtZG9tLWFjY2Vzcy1hbmQtcmVsb2FkLmh0bWw6
IEFkZGVkLgorCiAyMDEyLTAzLTE5ICBJZ29yIE9saXZlaXJhICA8aWdvci5vQHNpc2Euc2Ftc3Vu
Zy5jb20+CiAKICAgICAgICAgRXZlcnkgY2FsbCB0byBSZW5kZXJPYmplY3Q6OnNldEFuaW1hdGFi
bGVTdHlsZSgpIGl0ZXJhdGVzIHRocm91Z2ggYWxsIG1fY29tcG9zaXRlQW5pbWF0aW9uczogcG90
ZW50aWFsbHkgTyhOXjIpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbHVnaW5zL25ldHNjYXBl
LWRvbS1hY2Nlc3MtYW5kLXJlbG9hZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbHVnaW5z
L25ldHNjYXBlLWRvbS1hY2Nlc3MtYW5kLXJlbG9hZC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NTVlNzU5ODFkMjM2MTAxMjNkYjkxMDk5ZDU5MGJlMWQ3MTFjMDBkZgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL3BsdWdpbnMvbmV0c2NhcGUtZG9tLWFjY2Vzcy1hbmQtcmVsb2FkLWV4
cGVjdGVkLnR4dApAQCAtMCwwICsxLDMgQEAKK1RoaXMgcGFnZSB0ZXN0cyByZWxvYWRpbmcgYSBO
ZXRzY2FwZSBwbHVnLWluIHRoYXQgYWNjZXNzZXMgaXRzIG93biBET00gZWxlbWVudC4gU2VlIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MDQyOCwgIkhUTUxQbHVnaW5F
bGVtZW50IGlzIG5vdCBkZXN0cm95ZWQgb24gcmVsb2FkIG9yIG5hdmlnYXRpb24gaWYgZ2V0TlBP
YmplY3QgaXMgY2FsbGVkIi4gSWYgaXQgc3VjY2VlZHMsIHlvdSBzaG91bGQgc2VlIFNVQ0NFU1Mg
YmVsb3cuIAorCitTVUNDRVNTCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbHVnaW5zL25ldHNj
YXBlLWRvbS1hY2Nlc3MtYW5kLXJlbG9hZC5odG1sIGIvTGF5b3V0VGVzdHMvcGx1Z2lucy9uZXRz
Y2FwZS1kb20tYWNjZXNzLWFuZC1yZWxvYWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zMGU1N2ZlNjhjMjQ0
NGY4NjIwMjI2ZGZiNmE5OWVhZGRjZjkzYmRlCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVz
dHMvcGx1Z2lucy9uZXRzY2FwZS1kb20tYWNjZXNzLWFuZC1yZWxvYWQuaHRtbApAQCAtMCwwICsx
LDU4IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0PgorZnVuY3Rp
b24gcnVuVGVzdCgpCit7CisgICAgLy8gTWFrZSB0aGUgcGx1Z2luIHJldHJpZXZlIGEgRE9NIGVs
ZW1lbnQgdG8gaXRzZWxmLiBUaGlzIGV4ZXJjaXNlcworICAgIC8vIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MDQyOAorICAgIC8vIChIVE1MUGx1Z2luRWxlbWVudCBp
cyBub3QgZGVzdHJveWVkIG9uIHJlbG9hZCBvciBuYXZpZ2F0aW9uIGlmCisgICAgLy8gZ2V0TlBP
YmplY3QgaXMgY2FsbGVkKQorICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0ZXN0UGx1Z2lu
IikudGVzdERPTUFjY2VzcygpOworCisgICAgLy8gUmVsb2FkIHRoZSBwYWdlIG9uY2UuCisgICAg
dmFyIGNhbGxSZWxvYWQgPSB0cnVlOworICAgIGlmICh3aW5kb3cuc2Vzc2lvblN0b3JhZ2UpIHsK
KyAgICAgICAgaWYgKHdpbmRvdy5zZXNzaW9uU3RvcmFnZS5yZWxvYWRQbHVnaW5zQW5kUGFnZXND
YWxsZWQpCisgICAgICAgICAgICBjYWxsUmVsb2FkID0gZmFsc2U7CisgICAgICAgIGVsc2UKKyAg
ICAgICAgICAgIHdpbmRvdy5zZXNzaW9uU3RvcmFnZS5yZWxvYWRQbHVnaW5zQW5kUGFnZXNDYWxs
ZWQgPSAxOworICAgIH0KKworICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisg
ICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICAKKyAgICBpZiAo
Y2FsbFJlbG9hZCkgeworICAgICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQor
ICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOworICAgICAg
ICB3aW5kb3cubG9jYXRpb24ucmVsb2FkKCk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgd2luZG93
LkdDQ29udHJvbGxlci5jb2xsZWN0KCk7CisgICAgICAgIC8vIE5vdGUgd2UgY291bGQgYWxzbyBj
b2xsZWN0IHRoZSBudW1iZXIgb2YgbGl2ZSBub2RlcywgYnV0IHRoYXQgc2VlbXMKKyAgICAgICAg
Ly8gbW9yZSBsaWtlbHkgdG8gZ2l2ZSBzcHVyaW91cyBmYWlsdXJlcy4gV2hlbiBhbiBIVE1MUGx1
Z2luRWxlbWVudCBpcworICAgICAgICAvLyBpbXByb3Blcmx5IHJldGFpbmVkLCBpdHMgb3duaW5n
IERvY3VtZW50IGFsc28gc3Vydml2ZXMsIHNvIHdlJ2xsCisgICAgICAgIC8vIGRldGVjdCBhbiBl
eGNlc3MgRG9jdW1lbnQuCisgICAgICAgIHZhciBudW1iZXJPZkxpdmVEb2N1bWVudHMgPSB3aW5k
b3cuaW50ZXJuYWxzLm51bWJlck9mTGl2ZURvY3VtZW50cygpOworICAgICAgICBpZiAobnVtYmVy
T2ZMaXZlRG9jdW1lbnRzID09IDEpIHsKKyAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJyZXN1bHQiKS5pbm5lckhUTUwgPSAiU1VDQ0VTUyI7CisgICAgICAgIH0gZWxzZSBpZiAo
bnVtYmVyT2ZMaXZlRG9jdW1lbnRzID09IDApIHsKKyAgICAgICAgICAgIGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJyZXN1bHQiKS5pbm5lckhUTUwgPQorICAgICAgICAgICAgICAgICJGQUlMRUQ7
IG51bWJlck9mTGl2ZURvY3VtZW50cyByZXR1cm5lZCAwLiBUaGlzIHRlc3QgaXMgb25seSAiCisg
ICAgICAgICAgICAgICAgInZhbGlkIGlmIHRoZSBJbnNwZWN0b3IgaXMgZW5hYmxlZC4iOworICAg
ICAgICB9CisgICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAgICAg
ICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICAgICAgICAgIGxh
eW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKKyAgICAgICAgfQorICAgIH0KK30KKzwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJydW5UZXN0KCk7Ij4KKzxwPlRoaXMgcGFn
ZSB0ZXN0cyByZWxvYWRpbmcgYSBOZXRzY2FwZSBwbHVnLWluIHRoYXQgYWNjZXNzZXMgaXRzIG93
biBET00gZWxlbWVudC4gU2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD04MDQyOCwgIkhUTUxQbHVnaW5FbGVtZW50IGlzIG5vdCBkZXN0cm95ZWQgb24gcmVsb2FkIG9y
IG5hdmlnYXRpb24gaWYgZ2V0TlBPYmplY3QgaXMgY2FsbGVkIi4KKworSWYgaXQgc3VjY2VlZHMs
IHlvdSBzaG91bGQgc2VlIFNVQ0NFU1MgYmVsb3cuCis8ZW1iZWQgaWQ9InRlc3RQbHVnaW4iIHR5
cGU9ImFwcGxpY2F0aW9uL3gtd2Via2l0LXRlc3QtbmV0c2NhcGUiIHdpZHRoPSIyMDAiIGhlaWdo
dD0iMjAwIj48L2VtYmVkPgorPGRpdiBpZD0icmVzdWx0Ij5GQUlMVVJFPC9kaXY+Cis8L2JvZHk+
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9DaGFuZ2VMb2cgYi9DaGFuZ2VMb2cKaW5kZXggYTE3MWZm
YjJlMGY2OTM2MzhiNjAzMTZjMGRhYjFhNTcyN2Y4ZjJmYi4uNTIzNDc2ODczODEzMzNiNTA2MWQ5
YzRlMTRhNDVlMTdkMzdhZjhlZSAxMDA2NDQKLS0tIGEvQ2hhbmdlTG9nCisrKyBiL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDE0IEBACisyMDEyLTAzLTIxICBEYXZlIE1pY2hhZWwgIDxkbWljaGFlbEBj
aHJvbWl1bS5vcmc+CisKKyAgICAgICAgSFRNTFBsdWdpbkVsZW1lbnQgaXMgbm90IGRlc3Ryb3ll
ZCBvbiByZWxvYWQgb3IgbmF2aWdhdGlvbiBpZiBnZXROUE9iamVjdCBpcyBjYWxsZWQKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgwNDI4CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVzdDogcGx1Z2lucy9u
ZXRzY2FwZS1kb20tYWNjZXNzLWFuZC1yZWxvYWQuaHRtbAorCisgICAgICAgICogU291cmNlL2F1
dG90b29scy9zeW1ib2xzLmZpbHRlcjogRXhwb3J0IGEgc3ltYm9sIGZvciBJbnNwZWN0b3JDb3Vu
dGVyczo6Y291bnRlclZhbHVlLgorCiAyMDEyLTAzLTIwICBFcmljIFNlaWRlbCAgPGVyaWNAd2Vi
a2l0Lm9yZz4KIAogICAgICAgICBNb3ZlIHd0Zi9QbGF0Zm9ybS5oIGZyb20gSmF2YVNjcmlwdENv
cmUgdG8gU291cmNlL1dURi93dGYK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>133193</attachid>
            <date>2012-03-21 23:19:11 -0700</date>
            <delta_ts>2012-03-22 08:33:18 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-80428-20120322001910.patch</filename>
            <type>text/plain</type>
            <size>14834</size>
            <attacher name="Dave Michael">dmichael</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTExNjQwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDA4ZWNiZGZkM2QwMjUw
NzlmN2FhOTYxZDEzY2VkMTdhOWFhZmJlOC4uYjQyZDljZDBkOTc4NzMyOGE3YjJmY2IzOGIxN2Jk
ZjI2M2JkOGM1NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMzIEBACisyMDEyLTAzLTIxICBEYXZl
IE1pY2hhZWwgIDxkbWljaGFlbEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgSFRNTFBsdWdpbkVs
ZW1lbnQgaXMgbm90IGRlc3Ryb3llZCBvbiByZWxvYWQgb3IgbmF2aWdhdGlvbiBpZiBnZXROUE9i
amVjdCBpcyBjYWxsZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTgwNDI4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgTWFrZSBIVE1MUGx1Z2luRWxlbWVudCByZWxlYXNlIGl0cyBtX05QT2JqZWN0IGluIGRl
dGFjaCgpIHRvIGJyZWFrIGEKKyAgICAgICAgcmVmZXJlbmNlLWNvdW50aW5nIGN5Y2xlIHRoYXQg
aGFwcGVucyBvbiByZWxvYWQgb3IgbmF2aWdhdGlvbi4gV2l0aCB0aGlzCisgICAgICAgIGNoYW5n
ZSwgSFRNTFBsdWdpbkVsZW1lbnQ6OnJlbW92ZWRGcm9tRG9jdW1lbnQgaXMgdW5uZWNlc3Nhcnks
IHNvIGl0CisgICAgICAgIHdhcyByZW1vdmVkLgorCisgICAgICAgIEFsc28gYWRkZWQgbnVtYmVy
T2ZMaXZlTm9kZXMoKSBhbmQgbnVtYmVyT2ZMaXZlRG9jdW1lbnRzKCkgdG8KKyAgICAgICAgd2lu
ZG93LmludGVybmFscyB0byBlbmFibGUgdGVzdGluZy4KKworICAgICAgICBUZXN0OiBwbHVnaW5z
L25ldHNjYXBlLWRvbS1hY2Nlc3MtYW5kLXJlbG9hZC5odG1sCisKKyAgICAgICAgKiBXZWJDb3Jl
LmV4cC5pbjoKKyAgICAgICAgKiBodG1sL0hUTUxQbHVnSW5FbGVtZW50LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OkhUTUxQbHVnSW5FbGVtZW50OjpkZXRhY2gpOgorICAgICAgICAqIGh0bWwvSFRN
TFBsdWdJbkVsZW1lbnQuaDoKKyAgICAgICAgKEhUTUxQbHVnSW5FbGVtZW50KToKKyAgICAgICAg
KiB0ZXN0aW5nL0ludGVybmFscy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbHM6Om51
bWJlck9mTGl2ZURvY3VtZW50cyk6CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbHM6Om51bWJl
ck9mTGl2ZU5vZGVzKToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAqIHRlc3RpbmcvSW50
ZXJuYWxzLmg6CisgICAgICAgIChJbnRlcm5hbHMpOgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJu
YWxzLmlkbDoKKwogMjAxMi0wMy0yMSAgUnlvc3VrZSBOaXdhICA8cm5pd2FAd2Via2l0Lm9yZz4K
IAogICAgICAgICBUb3VjaCBhIGZpbGUgdG8gbWFrZSBDaHJvbWl1bSBXaW5kb3dzIGJvdHMgaGFw
cHkuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKaW5kZXggYThjOGIzZmM5YjE0MzRhZDE0MzAwNjE4MDE0ODMxOTkzZGRjZjJi
MC4uN2UyOGNiYzMxYWI1NzNhYTc3ODIzOGE5NDY0OTdkM2U0OTM0NmY3OCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDE1IEBACisyMDEyLTAzLTIxICBEYXZlIE1pY2hhZWwgIDxkbWljaGFlbEBjaHJv
bWl1bS5vcmc+CisKKyAgICAgICAgSFRNTFBsdWdpbkVsZW1lbnQgaXMgbm90IGRlc3Ryb3llZCBv
biByZWxvYWQgb3IgbmF2aWdhdGlvbiBpZiBnZXROUE9iamVjdCBpcyBjYWxsZWQKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgwNDI4CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVzdDogcGx1Z2lucy9uZXRz
Y2FwZS1kb20tYWNjZXNzLWFuZC1yZWxvYWQuaHRtbAorCisgICAgICAgICogd2luL1dlYktpdDIu
ZGVmOiBFeHBvcnQgYSBzeW1ib2wgZm9yIEluc3BlY3RvckNvdW50ZXJzOjpjb3VudGVyVmFsdWUK
KyAgICAgICAgKiB3aW4vV2ViS2l0MkNGTGl0ZS5kZWY6IEV4cG9ydCBhIHN5bWJvbCBmb3IgSW5z
cGVjdG9yQ291bnRlcnM6OmNvdW50ZXJWYWx1ZQorCiAyMDEyLTAzLTIxICBUaW0gSG9ydG9uICA8
dGltb3RoeV9ob3J0b25AYXBwbGUuY29tPgogCiAgICAgICAgIE1ha2UgdXNlIG9mIENHIHJvdW5k
ZWQtcmVjdCBwcmltaXRpdmVzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4
cC5pbiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCmluZGV4IDkyZjQ1M2EyNmIzNzA2
MmQ2YjhlYzRlOTBmZTJkN2YwYWNhOWQ1OWMuLjcyMWFjNGMzODk3MjA1ODNhNWJiZTM4NjRmZDA5
NzFlMGVmZWU1ODUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCisr
KyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCkBAIC0xNzQ4LDYgKzE3NDgsNyBAQCBf
X1pOSzdXZWJDb3JlMTJJY29uRGF0YWJhc2U5aXNFbmFibGVkRXYKIAogI2lmIEVOQUJMRShJTlNQ
RUNUT1IpCiBfX1pON1dlYkNvcmUxNUluc3BlY3RvckNsaWVudDMxZG9EaXNwYXRjaE1lc3NhZ2VP
bkZyb250ZW5kUGFnZUVQTlNfNFBhZ2VFUktOM1dURjZTdHJpbmdFCitfX1pON1dlYkNvcmUxN0lu
c3BlY3RvckNvdW50ZXJzMTJjb3VudGVyVmFsdWVFTlMwXzExQ291bnRlclR5cGVFCiBfX1pON1dl
YkNvcmUxOUluc3BlY3RvckNvbnRyb2xsZXIxNGVuYWJsZVByb2ZpbGVyRXYKIF9fWk43V2ViQ29y
ZTE5SW5zcGVjdG9yQ29udHJvbGxlcjE1ZGlzYWJsZVByb2ZpbGVyRXYKIF9fWk43V2ViQ29yZTE5
SW5zcGVjdG9yQ29udHJvbGxlcjE1cHJvZmlsZXJFbmFibGVkRXYKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTFBsdWdJbkVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MUGx1Z0luRWxlbWVudC5jcHAKaW5kZXggMjk5ZTQ3YjJlZjlmY2EzMWVmNzFiMmMzMDhi
MDAwYWU0ZGIyNjI2NC4uM2FhYzYzOTkyODliYzk2OWNiZjFmOGEwZTdmODQ3MmU2ZGQ5MDZmMiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MUGx1Z0luRWxlbWVudC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MUGx1Z0luRWxlbWVudC5jcHAKQEAgLTUxLDYgKzUx
LDcgQEAgSFRNTFBsdWdJbkVsZW1lbnQ6OkhUTUxQbHVnSW5FbGVtZW50KGNvbnN0IFF1YWxpZmll
ZE5hbWUmIHRhZ05hbWUsIERvY3VtZW50KiBkb2MKICAgICAsIG1faW5CZWZvcmVMb2FkRXZlbnRI
YW5kbGVyKGZhbHNlKQogI2lmIEVOQUJMRShORVRTQ0FQRV9QTFVHSU5fQVBJKQogICAgICwgbV9O
UE9iamVjdCgwKQorICAgICwgbV9yZWxlYXNlTlBPYmplY3RUaW1lcih0aGlzLCAmSFRNTFBsdWdJ
bkVsZW1lbnQ6OnJlbGVhc2VOUE9iamVjdCkKICNlbmRpZgogICAgICwgbV9pc0NhcHR1cmluZ01v
dXNlRXZlbnRzKGZhbHNlKQogewpAQCAtNzgsMTkgKzc5LDE0IEBAIHZvaWQgSFRNTFBsdWdJbkVs
ZW1lbnQ6OmRldGFjaCgpCiAgICAgICAgIG1faXNDYXB0dXJpbmdNb3VzZUV2ZW50cyA9IGZhbHNl
OwogICAgIH0KIAotICAgIEhUTUxGcmFtZU93bmVyRWxlbWVudDo6ZGV0YWNoKCk7Ci19Ci0KLXZv
aWQgSFRNTFBsdWdJbkVsZW1lbnQ6OnJlbW92ZWRGcm9tRG9jdW1lbnQoKQotewogI2lmIEVOQUJM
RShORVRTQ0FQRV9QTFVHSU5fQVBJKQotICAgIGlmIChtX05QT2JqZWN0KSB7Ci0gICAgICAgIF9O
UE5fUmVsZWFzZU9iamVjdChtX05QT2JqZWN0KTsKLSAgICAgICAgbV9OUE9iamVjdCA9IDA7Ci0g
ICAgfQorICAgIC8vIEl0IG1pZ2h0IGJlIHBvc3NpYmxlIGluIHJhcmUgY2lyY3Vtc3RhbmNlcyBm
b3IgdGhlIHBsdWdpbiB0byBiZSBkZXN0cm95ZWQKKyAgICAvLyBhbmQgZm9yY2UgYSBsYXlvdXQu
IFRvIHByZXZlbnQgdGhhdCBmcm9tIGhhcHBlbmluZyBkdXJpbmcgZGV0YWNoLCB3ZQorICAgIC8v
IGRlZmVyIHJlbGVhc2luZyB0aGUgTlBPYmplY3QgdW50aWwgYWZ0ZXIgZGV0YWNoIGlzIGZpbmlz
aGVkLgorICAgIG1fcmVsZWFzZU5QT2JqZWN0VGltZXIuc3RhcnRPbmVTaG90KDApOwogI2VuZGlm
CiAKLSAgICBIVE1MRnJhbWVPd25lckVsZW1lbnQ6OnJlbW92ZWRGcm9tRG9jdW1lbnQoKTsKKyAg
ICBIVE1MRnJhbWVPd25lckVsZW1lbnQ6OmRldGFjaCgpOwogfQogCiBQYXNzU2NyaXB0SW5zdGFu
Y2UgSFRNTFBsdWdJbkVsZW1lbnQ6OmdldEluc3RhbmNlKCkKQEAgLTIwMCw2ICsxOTYsMTQgQEAg
TlBPYmplY3QqIEhUTUxQbHVnSW5FbGVtZW50OjpnZXROUE9iamVjdCgpCiAgICAgcmV0dXJuIG1f
TlBPYmplY3Q7CiB9CiAKK3ZvaWQgSFRNTFBsdWdJbkVsZW1lbnQ6OnJlbGVhc2VOUE9iamVjdChU
aW1lcjxIVE1MUGx1Z0luRWxlbWVudD4qKQoreworICAgIGlmIChtX05QT2JqZWN0KSB7CisgICAg
ICAgIF9OUE5fUmVsZWFzZU9iamVjdChtX05QT2JqZWN0KTsKKyAgICAgICAgbV9OUE9iamVjdCA9
IDA7CisgICAgfQorfQorCiAjZW5kaWYgLyogRU5BQkxFKE5FVFNDQVBFX1BMVUdJTl9BUEkpICov
CiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFBsdWdJbkVsZW1lbnQu
aCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFBsdWdJbkVsZW1lbnQuaAppbmRleCAyMmIxNGM0
ZTcwYmI3MWYwNTMxZDBlNWI2MTRlOWJhY2M0ZmRhZDQwLi4zNmVkZTJkMjc5NTliMGQ4NGZhNmM5
MTVhOWExNjg0NWU5ZWMxMGFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQ
bHVnSW5FbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MUGx1Z0luRWxlbWVu
dC5oCkBAIC0yNyw2ICsyNyw4IEBACiAjaW5jbHVkZSAiU2NyaXB0SW5zdGFuY2UuaCIKIAogI2lm
IEVOQUJMRShORVRTQ0FQRV9QTFVHSU5fQVBJKQorI2luY2x1ZGUgIlRpbWVyLmgiCisKIHN0cnVj
dCBOUE9iamVjdDsKICNlbmRpZgogCkBAIC01Nyw3ICs1OSw2IEBAIHByb3RlY3RlZDoKICAgICBI
VE1MUGx1Z0luRWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCop
OwogCiAgICAgdmlydHVhbCB2b2lkIGRldGFjaCgpOwotICAgIHZpcnR1YWwgdm9pZCByZW1vdmVk
RnJvbURvY3VtZW50KCk7CiAgICAgdmlydHVhbCBib29sIGlzUHJlc2VudGF0aW9uQXR0cmlidXRl
KGNvbnN0IFF1YWxpZmllZE5hbWUmKSBjb25zdCBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQg
Y29sbGVjdFN0eWxlRm9yQXR0cmlidXRlKEF0dHJpYnV0ZSosIFN0eWxlUHJvcGVydHlTZXQqKSBP
VkVSUklERTsKIApAQCAtNzYsNiArNzcsOCBAQCBwcml2YXRlOgogICAgIG11dGFibGUgU2NyaXB0
SW5zdGFuY2UgbV9pbnN0YW5jZTsKICNpZiBFTkFCTEUoTkVUU0NBUEVfUExVR0lOX0FQSSkKICAg
ICBOUE9iamVjdCogbV9OUE9iamVjdDsKKyAgICBUaW1lcjxIVE1MUGx1Z0luRWxlbWVudD4gbV9y
ZWxlYXNlTlBPYmplY3RUaW1lcjsKKyAgICB2b2lkIHJlbGVhc2VOUE9iamVjdChUaW1lcjxIVE1M
UGx1Z0luRWxlbWVudD4qKTsKICNlbmRpZgogICAgIGJvb2wgbV9pc0NhcHR1cmluZ01vdXNlRXZl
bnRzOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAppbmRleCBjODI2YjE1MGEw
NzJkODg1MzAzZTJmNDIyZjIzNDdlMGY2MWI4MmZlLi5hYTFjNDIzMjRhY2EwMGEyZDE3ZmNiYWM1
ZDcxNzgzNDQxMjg3NGZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVy
bmFscy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCkBAIC00
Miw2ICs0Miw3IEBACiAjaW5jbHVkZSAiSFRNTE5hbWVzLmgiCiAjaW5jbHVkZSAiSFRNTFRleHRB
cmVhRWxlbWVudC5oIgogI2luY2x1ZGUgIkluc3BlY3RvckNvbnRyb2xsZXIuaCIKKyNpbmNsdWRl
ICJJbnNwZWN0b3JDb3VudGVycy5oIgogI2luY2x1ZGUgIkluc3BlY3Rvckluc3RydW1lbnRhdGlv
bi5oIgogI2luY2x1ZGUgIkludGVybmFsU2V0dGluZ3MuaCIKICNpbmNsdWRlICJJbnRSZWN0Lmgi
CkBAIC03NzAsNCArNzcxLDE2IEBAIGJvb2wgSW50ZXJuYWxzOjpoYXNTcGVsbGluZ01hcmtlcihE
b2N1bWVudCogZG9jdW1lbnQsIGludCBmcm9tLCBpbnQgbGVuZ3RoLCBFeGNlCiAgICAgcmV0dXJu
IGRvY3VtZW50LT5mcmFtZSgpLT5lZGl0b3IoKS0+c2VsZWN0aW9uU3RhcnRIYXNNYXJrZXJGb3Io
RG9jdW1lbnRNYXJrZXI6OlNwZWxsaW5nLCBmcm9tLCBsZW5ndGgpOwogfQogCisjaWYgRU5BQkxF
KElOU1BFQ1RPUikKK3Vuc2lnbmVkIEludGVybmFsczo6bnVtYmVyT2ZMaXZlTm9kZXMoKSBjb25z
dAoreworICAgIHJldHVybiBJbnNwZWN0b3JDb3VudGVyczo6Y291bnRlclZhbHVlKEluc3BlY3Rv
ckNvdW50ZXJzOjpOb2RlQ291bnRlcik7Cit9CisKK3Vuc2lnbmVkIEludGVybmFsczo6bnVtYmVy
T2ZMaXZlRG9jdW1lbnRzKCkgY29uc3QKK3sKKyAgICByZXR1cm4gSW5zcGVjdG9yQ291bnRlcnM6
OmNvdW50ZXJWYWx1ZShJbnNwZWN0b3JDb3VudGVyczo6RG9jdW1lbnRDb3VudGVyKTsKK30KKyNl
bmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9SKQorCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS90ZXN0aW5nL0ludGVybmFscy5oIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMu
aAppbmRleCA2ODgzNDYwNWY0NjQwNzlhOWU5YzViYWFjNzc4M2E3MjExNjcyYjRkLi5mZGRjZDI1
NDhjOWQyODI2MzVhNjI4MjcxZjAzOTQzZWFhNTdhNWJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS90ZXN0aW5nL0ludGVybmFscy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50
ZXJuYWxzLmgKQEAgLTE0NSw2ICsxNDUsMTEgQEAgcHVibGljOgogCiAgICAgdm9pZCBzZXRCYXR0
ZXJ5U3RhdHVzKERvY3VtZW50KiwgY29uc3QgU3RyaW5nJiBldmVudFR5cGUsIGJvb2wgY2hhcmdp
bmcsIGRvdWJsZSBjaGFyZ2luZ1RpbWUsIGRvdWJsZSBkaXNjaGFyZ2luZ1RpbWUsIGRvdWJsZSBs
ZXZlbCwgRXhjZXB0aW9uQ29kZSYpOwogCisjaWYgRU5BQkxFKElOU1BFQ1RPUikKKyAgICB1bnNp
Z25lZCBudW1iZXJPZkxpdmVOb2RlcygpIGNvbnN0OworICAgIHVuc2lnbmVkIG51bWJlck9mTGl2
ZURvY3VtZW50cygpIGNvbnN0OworI2VuZGlmCisKIHByaXZhdGU6CiAgICAgZXhwbGljaXQgSW50
ZXJuYWxzKERvY3VtZW50Kik7CiAgICAgRG9jdW1lbnRNYXJrZXIqIG1hcmtlckF0KE5vZGUqLCBj
b25zdCBTdHJpbmcmIG1hcmtlclR5cGUsIHVuc2lnbmVkIGluZGV4LCBFeGNlcHRpb25Db2RlJik7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwgYi9Tb3Vy
Y2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwKaW5kZXggZGRhMTIyOTg0YTRjZjVjMGY5
NDFjMDlhMWY3YjA0YmUyMTdmODMyYy4uMjY0YWU5ZGExZWQ4YjExNzdiOWZjNGExMGJiZjM0NTFh
MzFkODIzMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbApAQCAtMTE5LDcgKzEx
OSwxMCBAQCBtb2R1bGUgd2luZG93IHsKIAogI2lmIGRlZmluZWQoRU5BQkxFX0JBVFRFUllfU1RB
VFVTKSAmJiBFTkFCTEVfQkFUVEVSWV9TVEFUVVMKICAgICAgICAgdm9pZCBzZXRCYXR0ZXJ5U3Rh
dHVzKGluIERvY3VtZW50IGRvY3VtZW50LCBpbiBET01TdHJpbmcgZXZlbnRUeXBlLCBpbiBib29s
ZWFuIGNoYXJnaW5nLCBpbiBkb3VibGUgY2hhcmdpbmdUaW1lLCBpbiBkb3VibGUgZGlzY2hhcmdp
bmdUaW1lLCBpbiBkb3VibGUgbGV2ZWwpIHJhaXNlcyAoRE9NRXhjZXB0aW9uKTsKLSNlbmRpZgor
I2VuZGlmIAorCisgICAgICAgIFtDb25kaXRpb25hbD1JTlNQRUNUT1JdIHVuc2lnbmVkIGxvbmcg
bnVtYmVyT2ZMaXZlTm9kZXMoKTsKKyAgICAgICAgW0NvbmRpdGlvbmFsPUlOU1BFQ1RPUl0gdW5z
aWduZWQgbG9uZyBudW1iZXJPZkxpdmVEb2N1bWVudHMoKTsKICAgICB9OwogfQogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0Mi5kZWYgYi9Tb3VyY2UvV2ViS2l0Mi93aW4v
V2ViS2l0Mi5kZWYKaW5kZXggODIzODhlYWQ1MWFhNWRjNDU4NTFlMWRjMjU4NmRjODU1NjRjZTY0
Mi4uZTJjOGY2ZGZhZGQ3NDIyNGJmZjUyYjhjOTJlOGY1NDQ2MDFmZWI1NCAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvd2luL1dlYktpdDIuZGVmCisrKyBiL1NvdXJjZS9XZWJLaXQyL3dpbi9X
ZWJLaXQyLmRlZgpAQCAtMTE1LDYgKzExNSw3IEBAIEVYUE9SVFMKICAgICAgICAgPz8xVGhyZWFk
Q29uZGl0aW9uQFdURkBAUUFFQFhaCiAgICAgICAgID9icm9hZGNhc3RAVGhyZWFkQ29uZGl0aW9u
QFdURkBAUUFFWFhaCiAgICAgICAgID9jYWxsT25NYWluVGhyZWFkQFdURkBAWUFYUDZBWFBBWEBa
MEBaCisgICAgICAgID9jb3VudGVyVmFsdWVASW5zcGVjdG9yQ291bnRlcnNAV2ViQ29yZUBAU0FI
VzRDb3VudGVyVHlwZUAxMkBAWgogICAgICAgICA/Y3JlYXRlVGhyZWFkQFdURkBAWUFJUDZBUEFY
UEFYQFowUEJEQFoKICAgICAgICAgP2NyZWF0ZVRocmVhZEBXVEZAQFlBSVA2QVhQQVhAWjBQQkRA
WgogICAgICAgICA/Y3VycmVudFRocmVhZEBXVEZAQFlBSVhaCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi93aW4vV2ViS2l0MkNGTGl0ZS5kZWYgYi9Tb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0
MkNGTGl0ZS5kZWYKaW5kZXggZTA1NGQ1NTJmNDUxM2M1YjRiMDdjZjRlNzQ3MmVjNjFhNzU5NWE2
Mi4uNjc2OTYxNWY2YmE2NGNjYTk4MDc5MzZiZDczM2VkNzE3OGVjOTM4YiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvd2luL1dlYktpdDJDRkxpdGUuZGVmCisrKyBiL1NvdXJjZS9XZWJLaXQy
L3dpbi9XZWJLaXQyQ0ZMaXRlLmRlZgpAQCAtMTA4LDYgKzEwOCw3IEBAIEVYUE9SVFMKICAgICAg
ICAgPz8xVGhyZWFkQ29uZGl0aW9uQFdURkBAUUFFQFhaCiAgICAgICAgID9icm9hZGNhc3RAVGhy
ZWFkQ29uZGl0aW9uQFdURkBAUUFFWFhaCiAgICAgICAgID9jYWxsT25NYWluVGhyZWFkQFdURkBA
WUFYUDZBWFBBWEBaMEBaCisgICAgICAgID9jb3VudGVyVmFsdWVASW5zcGVjdG9yQ291bnRlcnNA
V2ViQ29yZUBAU0FIVzRDb3VudGVyVHlwZUAxMkBAWgogICAgICAgICA/Y3JlYXRlVGhyZWFkQFdU
RkBAWUFJUDZBUEFYUEFYQFowUEJEQFoKICAgICAgICAgP2NyZWF0ZVRocmVhZEBXVEZAQFlBSVA2
QVhQQVhAWjBQQkRAWgogICAgICAgICA/Y3VycmVudFRocmVhZEBXVEZAQFlBSVhaCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvYXV0b3Rvb2xzL3N5bWJvbHMuZmlsdGVyIGIvU291cmNlL2F1dG90b29scy9z
eW1ib2xzLmZpbHRlcgppbmRleCA2NTJmMTgyZTY4NGY1NGJiNmFlYzMzZGFiOTZmMDE0ZWY1YzVh
ZjlhLi5hYzdiMDBjZGVkMTdmZTliMTlmNTgyZTcxMzc0ZjAyYzc0YjE2MjRhIDEwMDY0NAotLS0g
YS9Tb3VyY2UvYXV0b3Rvb2xzL3N5bWJvbHMuZmlsdGVyCisrKyBiL1NvdXJjZS9hdXRvdG9vbHMv
c3ltYm9scy5maWx0ZXIKQEAgLTU5LDYgKzU5LDcgQEAgX1pON1dlYkNvcmUxNkhUTUxJbnB1dEVs
ZW1lbnQxN3NldFN1Z2dlc3RlZFZhbHVlRVJLTjNXVEY2U3RyaW5nRTsKIF9aTjdXZWJDb3JlMTZq
c1N0cmluZ1Nsb3dDYXNlRVBOM0pTQzlFeGVjU3RhdGVFUk4zV1RGN0hhc2hNYXBJUE5TM18xMFN0
cmluZ0ltcGxFTlMwXzRXZWFrSU5TMF84SlNTdHJpbmdFRUVOUzNfMTBTdHJpbmdIYXNoRU5TM18x
MEhhc2hUcmFpdHNJUzZfRUVOU0JfSVM5X0VFRUVTNl87CiBfWk43V2ViQ29yZTE2c2NyaXB0TmFt
ZVRvQ29kZUVSS04zV1RGNlN0cmluZ0U7CiBfWk43V2ViQ29yZTE3Y2FjaGVET01TdHJ1Y3R1cmVF
UE5TXzE3SlNET01HbG9iYWxPYmplY3RFUE4zSlNDOVN0cnVjdHVyZUVQS05TMl85Q2xhc3NJbmZv
RTsKK19aTjdXZWJDb3JlMTdJbnNwZWN0b3JDb3VudGVyczEyY291bnRlclZhbHVlRU5TMF8xMUNv
dW50ZXJUeXBlRTsKIF9aTjdXZWJDb3JlMThIVE1MQ29udGVudEVsZW1lbnQ2Y3JlYXRlRVBOU184
RG9jdW1lbnRFOwogX1pON1dlYkNvcmUxOUluc3BlY3RvckNvbnRyb2xsZXIzOXNldFJlc291cmNl
c0RhdGFTaXplTGltaXRzRnJvbUludGVybmFsc0VpaTsKIF9aTjdXZWJDb3JlMjBOb2RlUmVuZGVy
aW5nQ29udGV4dEMxRVBOU180Tm9kZUU7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggNjc2MWU2YTY2MmY3Nzk1NGNkYWEyYzZk
OGVhNDMwMjMxMDlhZDk2Ni4uODhjMWExNDA0ZGM1NzNmNjI5ZTAyZDFhYmVmNWFmYTZmN2U4Yjdi
YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0No
YW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDEyLTAzLTIxICBEYXZlIE1pY2hhZWwgIDxkbWlj
aGFlbEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgSFRNTFBsdWdpbkVsZW1lbnQgaXMgbm90IGRl
c3Ryb3llZCBvbiByZWxvYWQgb3IgbmF2aWdhdGlvbiBpZiBnZXROUE9iamVjdCBpcyBjYWxsZWQK
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgwNDI4CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBwbHVnaW5z
L25ldHNjYXBlLWRvbS1hY2Nlc3MtYW5kLXJlbG9hZC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAg
ICAgICAqIHBsdWdpbnMvbmV0c2NhcGUtZG9tLWFjY2Vzcy1hbmQtcmVsb2FkLmh0bWw6IEFkZGVk
LgorCiAyMDEyLTAzLTE5ICBJZ29yIE9saXZlaXJhICA8aWdvci5vQHNpc2Euc2Ftc3VuZy5jb20+
CiAKICAgICAgICAgRXZlcnkgY2FsbCB0byBSZW5kZXJPYmplY3Q6OnNldEFuaW1hdGFibGVTdHls
ZSgpIGl0ZXJhdGVzIHRocm91Z2ggYWxsIG1fY29tcG9zaXRlQW5pbWF0aW9uczogcG90ZW50aWFs
bHkgTyhOXjIpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbHVnaW5zL25ldHNjYXBlLWRvbS1h
Y2Nlc3MtYW5kLXJlbG9hZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbHVnaW5zL25ldHNj
YXBlLWRvbS1hY2Nlc3MtYW5kLXJlbG9hZC1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTVlNzU5
ODFkMjM2MTAxMjNkYjkxMDk5ZDU5MGJlMWQ3MTFjMDBkZgotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL3BsdWdpbnMvbmV0c2NhcGUtZG9tLWFjY2Vzcy1hbmQtcmVsb2FkLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDMgQEAKK1RoaXMgcGFnZSB0ZXN0cyByZWxvYWRpbmcgYSBOZXRzY2Fw
ZSBwbHVnLWluIHRoYXQgYWNjZXNzZXMgaXRzIG93biBET00gZWxlbWVudC4gU2VlIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MDQyOCwgIkhUTUxQbHVnaW5FbGVtZW50
IGlzIG5vdCBkZXN0cm95ZWQgb24gcmVsb2FkIG9yIG5hdmlnYXRpb24gaWYgZ2V0TlBPYmplY3Qg
aXMgY2FsbGVkIi4gSWYgaXQgc3VjY2VlZHMsIHlvdSBzaG91bGQgc2VlIFNVQ0NFU1MgYmVsb3cu
IAorCitTVUNDRVNTCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbHVnaW5zL25ldHNjYXBlLWRv
bS1hY2Nlc3MtYW5kLXJlbG9hZC5odG1sIGIvTGF5b3V0VGVzdHMvcGx1Z2lucy9uZXRzY2FwZS1k
b20tYWNjZXNzLWFuZC1yZWxvYWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lOWY0OWU2OGRjMGNhZWVhMTk3
NjRhM2UwNDQxNWMzMjgxOTBmZWNmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGx1
Z2lucy9uZXRzY2FwZS1kb20tYWNjZXNzLWFuZC1yZWxvYWQuaHRtbApAQCAtMCwwICsxLDU1IEBA
Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0PgorZnVuY3Rpb24gcnVu
VGVzdCgpCit7CisgICAgLy8gTWFrZSB0aGUgcGx1Z2luIHJldHJpZXZlIGEgRE9NIGVsZW1lbnQg
dG8gaXRzZWxmLiBUaGlzIGV4ZXJjaXNlcworICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD04MDQyOAorICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0ZXN0
UGx1Z2luIikudGVzdERPTUFjY2VzcygpOworCisgICAgdmFyIGNhbGxSZWxvYWQgPSB0cnVlOwor
ICAgIGlmICh3aW5kb3cuc2Vzc2lvblN0b3JhZ2UpIHsKKyAgICAgICAgaWYgKHdpbmRvdy5zZXNz
aW9uU3RvcmFnZS5yZWxvYWRQbHVnaW5zQW5kUGFnZXNDYWxsZWQpCisgICAgICAgICAgICBjYWxs
UmVsb2FkID0gZmFsc2U7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHdpbmRvdy5zZXNzaW9u
U3RvcmFnZS5yZWxvYWRQbHVnaW5zQW5kUGFnZXNDYWxsZWQgPSAxOworICAgIH0KKworICAgIGlm
ICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgICAgIGxheW91dFRlc3RDb250cm9s
bGVyLmR1bXBBc1RleHQoKTsKKyAgICAKKyAgICBpZiAoY2FsbFJlbG9hZCkgeworICAgICAgICBp
ZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKQorICAgICAgICAgICAgbGF5b3V0VGVzdENv
bnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOworICAgICAgICBsb2NhdGlvbi5yZWxvYWQoKTsKKyAg
ICB9IGVsc2UgeworICAgICAgICB3aW5kb3cuR0NDb250cm9sbGVyLmNvbGxlY3QoKTsKKyAgICAg
ICAgLy8gTm90ZSB3ZSBjb3VsZCBhbHNvIGNvbGxlY3QgdGhlIG51bWJlciBvZiBsaXZlIG5vZGVz
LCBidXQgdGhhdCBzZWVtcworICAgICAgICAvLyBtb3JlIGxpa2VseSB0byBnaXZlIHNwdXJpb3Vz
IGZhaWx1cmVzLiBXaGVuIGFuIEhUTUxQbHVnaW5FbGVtZW50IGlzCisgICAgICAgIC8vIGltcHJv
cGVybHkgcmV0YWluZWQsIGl0cyBvd25pbmcgRG9jdW1lbnQgYWxzbyBzdXJ2aXZlcywgc28gd2Un
bGwKKyAgICAgICAgLy8gZGV0ZWN0IGFuIGV4Y2VzcyBEb2N1bWVudC4KKyAgICAgICAgaWYgKGlu
dGVybmFscy5udW1iZXJPZkxpdmVEb2N1bWVudHMpIHsKKyAgICAgICAgICAgIHZhciBudW1iZXJP
ZkxpdmVEb2N1bWVudHMgPSBpbnRlcm5hbHMubnVtYmVyT2ZMaXZlRG9jdW1lbnRzKCk7CisgICAg
ICAgICAgICBpZiAobnVtYmVyT2ZMaXZlRG9jdW1lbnRzID09IDEpIHsKKyAgICAgICAgICAgICAg
ICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicmVzdWx0IikuaW5uZXJIVE1MID0gIlNVQ0NFU1Mi
OworICAgICAgICAgICAgfQorICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgicmVzdWx0IikuaW5uZXJIVE1MID0gIkZBSUxFRDsgVGhpcyB0ZXN0
IGlzIG9ubHkgdmFsaWQgaWYgdGhlIEluc3BlY3RvciBpcyBlbmFibGVkLiI7CisgICAgICAgIH0K
KyAgICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgeworICAgICAgICAgICAg
bGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICAgICAgICAgICAgbGF5b3V0VGVz
dENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOworICAgICAgICB9CisgICAgfQorfQorPC9zY3JpcHQ+
Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKTsiPgorPHA+VGhpcyBwYWdlIHRlc3Rz
IHJlbG9hZGluZyBhIE5ldHNjYXBlIHBsdWctaW4gdGhhdCBhY2Nlc3NlcyBpdHMgb3duIERPTSBl
bGVtZW50LiBTZWUgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgwNDI4
LCAiSFRNTFBsdWdpbkVsZW1lbnQgaXMgbm90IGRlc3Ryb3llZCBvbiByZWxvYWQgb3IgbmF2aWdh
dGlvbiBpZiBnZXROUE9iamVjdCBpcyBjYWxsZWQiLgorCitJZiBpdCBzdWNjZWVkcywgeW91IHNo
b3VsZCBzZWUgU1VDQ0VTUyBiZWxvdy4KKzxlbWJlZCBpZD0idGVzdFBsdWdpbiIgdHlwZT0iYXBw
bGljYXRpb24veC13ZWJraXQtdGVzdC1uZXRzY2FwZSIgd2lkdGg9IjIwMCIgaGVpZ2h0PSIyMDAi
PjwvZW1iZWQ+Cis8ZGl2IGlkPSJyZXN1bHQiPkZBSUxVUkU8L2Rpdj4KKzwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCBhMTcxZmZiMmUwZjY5
MzYzOGI2MDMxNmMwZGFiMWE1NzI3ZjhmMmZiLi41MjM0NzY4NzM4MTMzM2I1MDYxZDljNGUxNGE0
NWUxN2QzN2FmOGVlIDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTQgQEAKKzIwMTItMDMtMjEgIERhdmUgTWljaGFlbCAgPGRtaWNoYWVsQGNocm9taXVt
Lm9yZz4KKworICAgICAgICBIVE1MUGx1Z2luRWxlbWVudCBpcyBub3QgZGVzdHJveWVkIG9uIHJl
bG9hZCBvciBuYXZpZ2F0aW9uIGlmIGdldE5QT2JqZWN0IGlzIGNhbGxlZAorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODA0MjgKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0OiBwbHVnaW5zL25ldHNjYXBl
LWRvbS1hY2Nlc3MtYW5kLXJlbG9hZC5odG1sCisKKyAgICAgICAgKiBTb3VyY2UvYXV0b3Rvb2xz
L3N5bWJvbHMuZmlsdGVyOiBFeHBvcnQgYSBzeW1ib2wgZm9yIEluc3BlY3RvckNvdW50ZXJzOjpj
b3VudGVyVmFsdWUuCisKIDIwMTItMDMtMjAgIEVyaWMgU2VpZGVsICA8ZXJpY0B3ZWJraXQub3Jn
PgogCiAgICAgICAgIE1vdmUgd3RmL1BsYXRmb3JtLmggZnJvbSBKYXZhU2NyaXB0Q29yZSB0byBT
b3VyY2UvV1RGL3d0Zgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>133269</attachid>
            <date>2012-03-22 08:24:20 -0700</date>
            <delta_ts>2012-03-22 11:46:17 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-80428-20120322092419.patch</filename>
            <type>text/plain</type>
            <size>14168</size>
            <attacher name="Dave Michael">dmichael</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTExNzAyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTM0YzNhOWFlOTE4ZmJj
YzQxNTQxOGZmZDNjODgwYjRmOTg1ZDU5My4uZDlmN2UzOTY3Y2JjOGE0YWU1YjIwYWM1ZmFhMDRi
Mzk1NzBmMjFiZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM4IEBACisyMDEyLTAzLTIyICBEYXZl
IE1pY2hhZWwgIDxkbWljaGFlbEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgSFRNTFBsdWdpbkVs
ZW1lbnQgaXMgbm90IGRlc3Ryb3llZCBvbiByZWxvYWQgb3IgbmF2aWdhdGlvbiBpZiBnZXROUE9i
amVjdCBpcyBjYWxsZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTgwNDI4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgTWFrZSBIVE1MUGx1Z2luRWxlbWVudCByZWxlYXNlIGl0cyBtX05QT2JqZWN0IGluIGRl
dGFjaCgpIHRvIGJyZWFrIGEKKyAgICAgICAgcmVmZXJlbmNlLWNvdW50aW5nIGN5Y2xlIHRoYXQg
aGFwcGVucyBvbiByZWxvYWQgb3IgbmF2aWdhdGlvbi4gV2l0aCB0aGlzCisgICAgICAgIGNoYW5n
ZSwgSFRNTFBsdWdJbkVsZW1lbnQ6OnJlbW92ZWRGcm9tRG9jdW1lbnQgaXMgdW5uZWNlc3Nhcnks
IHNvIGl0CisgICAgICAgIHdhcyByZW1vdmVkLiBOb3RlIHRoYXQgUmVsZWFzaW5nIG1fTlBPYmpl
Y3QgZG9lcyBub3QgcmVzdWx0IGluIGEgY2FsbCB0bworICAgICAgICB0aGUgcGx1Z2luOyBpdCBz
aW1wbHkgcmVsZWFzZXMgYSByZWZlcmVuY2UgY291bnQgb24gdGhlIHdyYXBwZXIgb2JqZWN0Cisg
ICAgICAgIGZvciB0aGlzIEhUTUxQbHVnSW5FbGVtZW50LiAoVGhlIHBsdWdpbidzIE5QUF9EZWFs
bG9jYXRlIGlzIGludm9rZWQKKyAgICAgICAgd2hlbiB0aGUgcmVuZGVyIHRyZWUgaXMgZGVzdHJv
eWVkLCB3aGVuIFBsdWdpblZpZXcgY2FsbHMKKyAgICAgICAgUGx1Z2luUGFja2FnZTo6dW5sb2Fk
LikgVGh1cywgaXQgaXMgc2FmZSB0byByZWxlYXNlIG1fTlBPYmplY3QgaW4KKyAgICAgICAgZGV0
YWNoLCBiZWNhdXNlIGl0IGNhbiBub3QgcmVzdWx0IGluIGxheW91dCBvciBzdHlsZSBjaGFuZ2Vz
LgorCisgICAgICAgIEFsc28gYWRkZWQgbnVtYmVyT2ZMaXZlTm9kZXMoKSBhbmQgbnVtYmVyT2ZM
aXZlRG9jdW1lbnRzKCkgdG8KKyAgICAgICAgd2luZG93LmludGVybmFscyB0byBlbmFibGUgdGVz
dGluZy4KKworICAgICAgICBUZXN0OiBwbHVnaW5zL25ldHNjYXBlLWRvbS1hY2Nlc3MtYW5kLXJl
bG9hZC5odG1sCisKKyAgICAgICAgKiBXZWJDb3JlLmV4cC5pbjoKKyAgICAgICAgKiBodG1sL0hU
TUxQbHVnSW5FbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxQbHVnSW5FbGVtZW50
OjpkZXRhY2gpOgorICAgICAgICAqIGh0bWwvSFRNTFBsdWdJbkVsZW1lbnQuaDoKKyAgICAgICAg
KEhUTUxQbHVnSW5FbGVtZW50KToKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbHM6Om51bWJlck9mTGl2ZURvY3VtZW50cyk6CisgICAg
ICAgIChXZWJDb3JlOjpJbnRlcm5hbHM6Om51bWJlck9mTGl2ZU5vZGVzKToKKyAgICAgICAgKFdl
YkNvcmUpOgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmg6CisgICAgICAgIChJbnRlcm5h
bHMpOgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmlkbDoKKwogMjAxMi0wMy0yMiAgU2hl
cmlmZiBCb3QgIDx3ZWJraXQucmV2aWV3LmJvdEBnbWFpbC5jb20+CiAKICAgICAgICAgVW5yZXZp
ZXdlZCwgcm9sbGluZyBvdXQgcjExMTY4OC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCAwNGJlNjRmMmVjNWQxZGVl
ZjIyOWQxMDYxNmQ2MThkZDc3OGJiZmY4Li45Y2NmOTI0MTdlYzU5ODlkYjZkMzQ3MGJmZWRjODBk
MmMxZjlmODBlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTItMDMtMjIgIERhdmUg
TWljaGFlbCAgPGRtaWNoYWVsQGNocm9taXVtLm9yZz4KKworICAgICAgICBIVE1MUGx1Z2luRWxl
bWVudCBpcyBub3QgZGVzdHJveWVkIG9uIHJlbG9hZCBvciBuYXZpZ2F0aW9uIGlmIGdldE5QT2Jq
ZWN0IGlzIGNhbGxlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9ODA0MjgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBUZXN0OiBwbHVnaW5zL25ldHNjYXBlLWRvbS1hY2Nlc3MtYW5kLXJlbG9hZC5odG1sCisK
KyAgICAgICAgKiB3aW4vV2ViS2l0Mi5kZWY6IEV4cG9ydCBhIHN5bWJvbCBmb3IgSW5zcGVjdG9y
Q291bnRlcnM6OmNvdW50ZXJWYWx1ZQorICAgICAgICAqIHdpbi9XZWJLaXQyQ0ZMaXRlLmRlZjog
RXhwb3J0IGEgc3ltYm9sIGZvciBJbnNwZWN0b3JDb3VudGVyczo6Y291bnRlclZhbHVlCisKIDIw
MTItMDMtMjIgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBiYi13ZWJraXQtcmVsLTY0
LmxvY2FsLmlnYWxpYS5jb20+CiAKICAgICAgICAgW0dUS10gVXNlIHRoZSBhbmdsZS1icmFja2V0
IGZvcm0gdG8gaW5jbHVkZSB3dGYgaGVhZGVycwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS5leHAuaW4gYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgppbmRleCA5MmY0
NTNhMjZiMzcwNjJkNmI4ZWM0ZTkwZmUyZDdmMGFjYTlkNTljLi43MjFhYzRjMzg5NzIwNTgzYTVi
YmUzODY0ZmQwOTcxZTBlZmVlNTg1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
LmV4cC5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgpAQCAtMTc0OCw2ICsx
NzQ4LDcgQEAgX19aTks3V2ViQ29yZTEySWNvbkRhdGFiYXNlOWlzRW5hYmxlZEV2CiAKICNpZiBF
TkFCTEUoSU5TUEVDVE9SKQogX19aTjdXZWJDb3JlMTVJbnNwZWN0b3JDbGllbnQzMWRvRGlzcGF0
Y2hNZXNzYWdlT25Gcm9udGVuZFBhZ2VFUE5TXzRQYWdlRVJLTjNXVEY2U3RyaW5nRQorX19aTjdX
ZWJDb3JlMTdJbnNwZWN0b3JDb3VudGVyczEyY291bnRlclZhbHVlRU5TMF8xMUNvdW50ZXJUeXBl
RQogX19aTjdXZWJDb3JlMTlJbnNwZWN0b3JDb250cm9sbGVyMTRlbmFibGVQcm9maWxlckV2CiBf
X1pON1dlYkNvcmUxOUluc3BlY3RvckNvbnRyb2xsZXIxNWRpc2FibGVQcm9maWxlckV2CiBfX1pO
N1dlYkNvcmUxOUluc3BlY3RvckNvbnRyb2xsZXIxNXByb2ZpbGVyRW5hYmxlZEV2CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQbHVnSW5FbGVtZW50LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTFBsdWdJbkVsZW1lbnQuY3BwCmluZGV4IDI5OWU0N2IyZWY5ZmNhMzFl
ZjcxYjJjMzA4YjAwMGFlNGRiMjYyNjQuLjQ1OGQxNTc1OGY1NmRjY2FmYTVmMzFiOWJiMjQ3OGY4
NGRkZDFlOTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFBsdWdJbkVsZW1l
bnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFBsdWdJbkVsZW1lbnQuY3BwCkBA
IC03OCwxMSArNzgsNiBAQCB2b2lkIEhUTUxQbHVnSW5FbGVtZW50OjpkZXRhY2goKQogICAgICAg
ICBtX2lzQ2FwdHVyaW5nTW91c2VFdmVudHMgPSBmYWxzZTsKICAgICB9CiAKLSAgICBIVE1MRnJh
bWVPd25lckVsZW1lbnQ6OmRldGFjaCgpOwotfQotCi12b2lkIEhUTUxQbHVnSW5FbGVtZW50Ojpy
ZW1vdmVkRnJvbURvY3VtZW50KCkKLXsKICNpZiBFTkFCTEUoTkVUU0NBUEVfUExVR0lOX0FQSSkK
ICAgICBpZiAobV9OUE9iamVjdCkgewogICAgICAgICBfTlBOX1JlbGVhc2VPYmplY3QobV9OUE9i
amVjdCk7CkBAIC05MCw3ICs4NSw3IEBAIHZvaWQgSFRNTFBsdWdJbkVsZW1lbnQ6OnJlbW92ZWRG
cm9tRG9jdW1lbnQoKQogICAgIH0KICNlbmRpZgogCi0gICAgSFRNTEZyYW1lT3duZXJFbGVtZW50
OjpyZW1vdmVkRnJvbURvY3VtZW50KCk7CisgICAgSFRNTEZyYW1lT3duZXJFbGVtZW50OjpkZXRh
Y2goKTsKIH0KIAogUGFzc1NjcmlwdEluc3RhbmNlIEhUTUxQbHVnSW5FbGVtZW50OjpnZXRJbnN0
YW5jZSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQbHVnSW5FbGVtZW50
LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQbHVnSW5FbGVtZW50LmgKaW5kZXggMjJiMTRj
NGU3MGJiNzFmMDUzMWQwZTViNjE0ZTliYWNjNGZkYWQ0MC4uODkzMTRjNTFmNmE4ZTkyN2FjODAx
NWJmNmZmZWE2ZDFjZTk3YTkxMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
UGx1Z0luRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFBsdWdJbkVsZW1l
bnQuaApAQCAtMjcsNiArMjcsOCBAQAogI2luY2x1ZGUgIlNjcmlwdEluc3RhbmNlLmgiCiAKICNp
ZiBFTkFCTEUoTkVUU0NBUEVfUExVR0lOX0FQSSkKKyNpbmNsdWRlICJUaW1lci5oIgorCiBzdHJ1
Y3QgTlBPYmplY3Q7CiAjZW5kaWYKIApAQCAtNTcsNyArNTksNiBAQCBwcm90ZWN0ZWQ6CiAgICAg
SFRNTFBsdWdJbkVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQq
KTsKIAogICAgIHZpcnR1YWwgdm9pZCBkZXRhY2goKTsKLSAgICB2aXJ0dWFsIHZvaWQgcmVtb3Zl
ZEZyb21Eb2N1bWVudCgpOwogICAgIHZpcnR1YWwgYm9vbCBpc1ByZXNlbnRhdGlvbkF0dHJpYnV0
ZShjb25zdCBRdWFsaWZpZWROYW1lJikgY29uc3QgT1ZFUlJJREU7CiAgICAgdmlydHVhbCB2b2lk
IGNvbGxlY3RTdHlsZUZvckF0dHJpYnV0ZShBdHRyaWJ1dGUqLCBTdHlsZVByb3BlcnR5U2V0Kikg
T1ZFUlJJREU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxz
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAppbmRleCBjODI2YjE1
MGEwNzJkODg1MzAzZTJmNDIyZjIzNDdlMGY2MWI4MmZlLi5hYTFjNDIzMjRhY2EwMGEyZDE3ZmNi
YWM1ZDcxNzgzNDQxMjg3NGZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0lu
dGVybmFscy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCkBA
IC00Miw2ICs0Miw3IEBACiAjaW5jbHVkZSAiSFRNTE5hbWVzLmgiCiAjaW5jbHVkZSAiSFRNTFRl
eHRBcmVhRWxlbWVudC5oIgogI2luY2x1ZGUgIkluc3BlY3RvckNvbnRyb2xsZXIuaCIKKyNpbmNs
dWRlICJJbnNwZWN0b3JDb3VudGVycy5oIgogI2luY2x1ZGUgIkluc3BlY3Rvckluc3RydW1lbnRh
dGlvbi5oIgogI2luY2x1ZGUgIkludGVybmFsU2V0dGluZ3MuaCIKICNpbmNsdWRlICJJbnRSZWN0
LmgiCkBAIC03NzAsNCArNzcxLDE2IEBAIGJvb2wgSW50ZXJuYWxzOjpoYXNTcGVsbGluZ01hcmtl
cihEb2N1bWVudCogZG9jdW1lbnQsIGludCBmcm9tLCBpbnQgbGVuZ3RoLCBFeGNlCiAgICAgcmV0
dXJuIGRvY3VtZW50LT5mcmFtZSgpLT5lZGl0b3IoKS0+c2VsZWN0aW9uU3RhcnRIYXNNYXJrZXJG
b3IoRG9jdW1lbnRNYXJrZXI6OlNwZWxsaW5nLCBmcm9tLCBsZW5ndGgpOwogfQogCisjaWYgRU5B
QkxFKElOU1BFQ1RPUikKK3Vuc2lnbmVkIEludGVybmFsczo6bnVtYmVyT2ZMaXZlTm9kZXMoKSBj
b25zdAoreworICAgIHJldHVybiBJbnNwZWN0b3JDb3VudGVyczo6Y291bnRlclZhbHVlKEluc3Bl
Y3RvckNvdW50ZXJzOjpOb2RlQ291bnRlcik7Cit9CisKK3Vuc2lnbmVkIEludGVybmFsczo6bnVt
YmVyT2ZMaXZlRG9jdW1lbnRzKCkgY29uc3QKK3sKKyAgICByZXR1cm4gSW5zcGVjdG9yQ291bnRl
cnM6OmNvdW50ZXJWYWx1ZShJbnNwZWN0b3JDb3VudGVyczo6RG9jdW1lbnRDb3VudGVyKTsKK30K
KyNlbmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9SKQorCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS90ZXN0aW5nL0ludGVybmFscy5oIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5h
bHMuaAppbmRleCA2ODgzNDYwNWY0NjQwNzlhOWU5YzViYWFjNzc4M2E3MjExNjcyYjRkLi5mZGRj
ZDI1NDhjOWQyODI2MzVhNjI4MjcxZjAzOTQzZWFhNTdhNWJmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3Rpbmcv
SW50ZXJuYWxzLmgKQEAgLTE0NSw2ICsxNDUsMTEgQEAgcHVibGljOgogCiAgICAgdm9pZCBzZXRC
YXR0ZXJ5U3RhdHVzKERvY3VtZW50KiwgY29uc3QgU3RyaW5nJiBldmVudFR5cGUsIGJvb2wgY2hh
cmdpbmcsIGRvdWJsZSBjaGFyZ2luZ1RpbWUsIGRvdWJsZSBkaXNjaGFyZ2luZ1RpbWUsIGRvdWJs
ZSBsZXZlbCwgRXhjZXB0aW9uQ29kZSYpOwogCisjaWYgRU5BQkxFKElOU1BFQ1RPUikKKyAgICB1
bnNpZ25lZCBudW1iZXJPZkxpdmVOb2RlcygpIGNvbnN0OworICAgIHVuc2lnbmVkIG51bWJlck9m
TGl2ZURvY3VtZW50cygpIGNvbnN0OworI2VuZGlmCisKIHByaXZhdGU6CiAgICAgZXhwbGljaXQg
SW50ZXJuYWxzKERvY3VtZW50Kik7CiAgICAgRG9jdW1lbnRNYXJrZXIqIG1hcmtlckF0KE5vZGUq
LCBjb25zdCBTdHJpbmcmIG1hcmtlclR5cGUsIHVuc2lnbmVkIGluZGV4LCBFeGNlcHRpb25Db2Rl
Jik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwgYi9T
b3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwKaW5kZXggZGRhMTIyOTg0YTRjZjVj
MGY5NDFjMDlhMWY3YjA0YmUyMTdmODMyYy4uMjY0YWU5ZGExZWQ4YjExNzdiOWZjNGExMGJiZjM0
NTFhMzFkODIzMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMu
aWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbApAQCAtMTE5LDcg
KzExOSwxMCBAQCBtb2R1bGUgd2luZG93IHsKIAogI2lmIGRlZmluZWQoRU5BQkxFX0JBVFRFUllf
U1RBVFVTKSAmJiBFTkFCTEVfQkFUVEVSWV9TVEFUVVMKICAgICAgICAgdm9pZCBzZXRCYXR0ZXJ5
U3RhdHVzKGluIERvY3VtZW50IGRvY3VtZW50LCBpbiBET01TdHJpbmcgZXZlbnRUeXBlLCBpbiBi
b29sZWFuIGNoYXJnaW5nLCBpbiBkb3VibGUgY2hhcmdpbmdUaW1lLCBpbiBkb3VibGUgZGlzY2hh
cmdpbmdUaW1lLCBpbiBkb3VibGUgbGV2ZWwpIHJhaXNlcyAoRE9NRXhjZXB0aW9uKTsKLSNlbmRp
ZgorI2VuZGlmIAorCisgICAgICAgIFtDb25kaXRpb25hbD1JTlNQRUNUT1JdIHVuc2lnbmVkIGxv
bmcgbnVtYmVyT2ZMaXZlTm9kZXMoKTsKKyAgICAgICAgW0NvbmRpdGlvbmFsPUlOU1BFQ1RPUl0g
dW5zaWduZWQgbG9uZyBudW1iZXJPZkxpdmVEb2N1bWVudHMoKTsKICAgICB9OwogfQogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0Mi5kZWYgYi9Tb3VyY2UvV2ViS2l0Mi93
aW4vV2ViS2l0Mi5kZWYKaW5kZXggODIzODhlYWQ1MWFhNWRjNDU4NTFlMWRjMjU4NmRjODU1NjRj
ZTY0Mi4uZTJjOGY2ZGZhZGQ3NDIyNGJmZjUyYjhjOTJlOGY1NDQ2MDFmZWI1NCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvd2luL1dlYktpdDIuZGVmCisrKyBiL1NvdXJjZS9XZWJLaXQyL3dp
bi9XZWJLaXQyLmRlZgpAQCAtMTE1LDYgKzExNSw3IEBAIEVYUE9SVFMKICAgICAgICAgPz8xVGhy
ZWFkQ29uZGl0aW9uQFdURkBAUUFFQFhaCiAgICAgICAgID9icm9hZGNhc3RAVGhyZWFkQ29uZGl0
aW9uQFdURkBAUUFFWFhaCiAgICAgICAgID9jYWxsT25NYWluVGhyZWFkQFdURkBAWUFYUDZBWFBB
WEBaMEBaCisgICAgICAgID9jb3VudGVyVmFsdWVASW5zcGVjdG9yQ291bnRlcnNAV2ViQ29yZUBA
U0FIVzRDb3VudGVyVHlwZUAxMkBAWgogICAgICAgICA/Y3JlYXRlVGhyZWFkQFdURkBAWUFJUDZB
UEFYUEFYQFowUEJEQFoKICAgICAgICAgP2NyZWF0ZVRocmVhZEBXVEZAQFlBSVA2QVhQQVhAWjBQ
QkRAWgogICAgICAgICA/Y3VycmVudFRocmVhZEBXVEZAQFlBSVhaCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi93aW4vV2ViS2l0MkNGTGl0ZS5kZWYgYi9Tb3VyY2UvV2ViS2l0Mi93aW4vV2Vi
S2l0MkNGTGl0ZS5kZWYKaW5kZXggZTA1NGQ1NTJmNDUxM2M1YjRiMDdjZjRlNzQ3MmVjNjFhNzU5
NWE2Mi4uNjc2OTYxNWY2YmE2NGNjYTk4MDc5MzZiZDczM2VkNzE3OGVjOTM4YiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvd2luL1dlYktpdDJDRkxpdGUuZGVmCisrKyBiL1NvdXJjZS9XZWJL
aXQyL3dpbi9XZWJLaXQyQ0ZMaXRlLmRlZgpAQCAtMTA4LDYgKzEwOCw3IEBAIEVYUE9SVFMKICAg
ICAgICAgPz8xVGhyZWFkQ29uZGl0aW9uQFdURkBAUUFFQFhaCiAgICAgICAgID9icm9hZGNhc3RA
VGhyZWFkQ29uZGl0aW9uQFdURkBAUUFFWFhaCiAgICAgICAgID9jYWxsT25NYWluVGhyZWFkQFdU
RkBAWUFYUDZBWFBBWEBaMEBaCisgICAgICAgID9jb3VudGVyVmFsdWVASW5zcGVjdG9yQ291bnRl
cnNAV2ViQ29yZUBAU0FIVzRDb3VudGVyVHlwZUAxMkBAWgogICAgICAgICA/Y3JlYXRlVGhyZWFk
QFdURkBAWUFJUDZBUEFYUEFYQFowUEJEQFoKICAgICAgICAgP2NyZWF0ZVRocmVhZEBXVEZAQFlB
SVA2QVhQQVhAWjBQQkRAWgogICAgICAgICA/Y3VycmVudFRocmVhZEBXVEZAQFlBSVhaCmRpZmYg
LS1naXQgYS9Tb3VyY2UvYXV0b3Rvb2xzL3N5bWJvbHMuZmlsdGVyIGIvU291cmNlL2F1dG90b29s
cy9zeW1ib2xzLmZpbHRlcgppbmRleCA2NTJmMTgyZTY4NGY1NGJiNmFlYzMzZGFiOTZmMDE0ZWY1
YzVhZjlhLi5hYzdiMDBjZGVkMTdmZTliMTlmNTgyZTcxMzc0ZjAyYzc0YjE2MjRhIDEwMDY0NAot
LS0gYS9Tb3VyY2UvYXV0b3Rvb2xzL3N5bWJvbHMuZmlsdGVyCisrKyBiL1NvdXJjZS9hdXRvdG9v
bHMvc3ltYm9scy5maWx0ZXIKQEAgLTU5LDYgKzU5LDcgQEAgX1pON1dlYkNvcmUxNkhUTUxJbnB1
dEVsZW1lbnQxN3NldFN1Z2dlc3RlZFZhbHVlRVJLTjNXVEY2U3RyaW5nRTsKIF9aTjdXZWJDb3Jl
MTZqc1N0cmluZ1Nsb3dDYXNlRVBOM0pTQzlFeGVjU3RhdGVFUk4zV1RGN0hhc2hNYXBJUE5TM18x
MFN0cmluZ0ltcGxFTlMwXzRXZWFrSU5TMF84SlNTdHJpbmdFRUVOUzNfMTBTdHJpbmdIYXNoRU5T
M18xMEhhc2hUcmFpdHNJUzZfRUVOU0JfSVM5X0VFRUVTNl87CiBfWk43V2ViQ29yZTE2c2NyaXB0
TmFtZVRvQ29kZUVSS04zV1RGNlN0cmluZ0U7CiBfWk43V2ViQ29yZTE3Y2FjaGVET01TdHJ1Y3R1
cmVFUE5TXzE3SlNET01HbG9iYWxPYmplY3RFUE4zSlNDOVN0cnVjdHVyZUVQS05TMl85Q2xhc3NJ
bmZvRTsKK19aTjdXZWJDb3JlMTdJbnNwZWN0b3JDb3VudGVyczEyY291bnRlclZhbHVlRU5TMF8x
MUNvdW50ZXJUeXBlRTsKIF9aTjdXZWJDb3JlMThIVE1MQ29udGVudEVsZW1lbnQ2Y3JlYXRlRVBO
U184RG9jdW1lbnRFOwogX1pON1dlYkNvcmUxOUluc3BlY3RvckNvbnRyb2xsZXIzOXNldFJlc291
cmNlc0RhdGFTaXplTGltaXRzRnJvbUludGVybmFsc0VpaTsKIF9aTjdXZWJDb3JlMjBOb2RlUmVu
ZGVyaW5nQ29udGV4dEMxRVBOU180Tm9kZUU7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggODhlNDI2MDQ1OTg3NTZiOTc1YzNi
MGM3NDUxOWQ4NTk3NmE4ODBlZi4uZTcxZjg3YjY5OGNiY2ZmN2JlMTg0Zjk2YTQ3N2I1NTRmZDcy
MjJjYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDEyLTAzLTIyICBEYXZlIE1pY2hhZWwgIDxk
bWljaGFlbEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgSFRNTFBsdWdpbkVsZW1lbnQgaXMgbm90
IGRlc3Ryb3llZCBvbiByZWxvYWQgb3IgbmF2aWdhdGlvbiBpZiBnZXROUE9iamVjdCBpcyBjYWxs
ZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgwNDI4
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBwbHVn
aW5zL25ldHNjYXBlLWRvbS1hY2Nlc3MtYW5kLXJlbG9hZC1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIHBsdWdpbnMvbmV0c2NhcGUtZG9tLWFjY2Vzcy1hbmQtcmVsb2FkLmh0bWw6IEFk
ZGVkLgorCiAyMDEyLTAzLTIyICBBbGV4YW5kZXIgUGF2bG92ICA8YXBhdmxvdkBjaHJvbWl1bS5v
cmc+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogQ2FzZSBvZiB0aGUgZWxlbWVudHMgb2YgdGhl
IHhtbCBkb2N1bWVudCBzaG91bGQgYmUgc2hvd24gYXMgaXQgaXMgaW4gdGhlIGNvbnNvbGUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsdWdpbnMvbmV0c2NhcGUtZG9tLWFjY2Vzcy1hbmQtcmVs
b2FkLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsdWdpbnMvbmV0c2NhcGUtZG9tLWFjY2Vz
cy1hbmQtcmVsb2FkLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NWU3NTk4MWQyMzYxMDEyM2Ri
OTEwOTlkNTkwYmUxZDcxMWMwMGRmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGx1
Z2lucy9uZXRzY2FwZS1kb20tYWNjZXNzLWFuZC1yZWxvYWQtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMyBAQAorVGhpcyBwYWdlIHRlc3RzIHJlbG9hZGluZyBhIE5ldHNjYXBlIHBsdWctaW4gdGhh
dCBhY2Nlc3NlcyBpdHMgb3duIERPTSBlbGVtZW50LiBTZWUgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTgwNDI4LCAiSFRNTFBsdWdpbkVsZW1lbnQgaXMgbm90IGRlc3Ry
b3llZCBvbiByZWxvYWQgb3IgbmF2aWdhdGlvbiBpZiBnZXROUE9iamVjdCBpcyBjYWxsZWQiLiBJ
ZiBpdCBzdWNjZWVkcywgeW91IHNob3VsZCBzZWUgU1VDQ0VTUyBiZWxvdy4gCisKK1NVQ0NFU1MK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsdWdpbnMvbmV0c2NhcGUtZG9tLWFjY2Vzcy1hbmQt
cmVsb2FkLmh0bWwgYi9MYXlvdXRUZXN0cy9wbHVnaW5zL25ldHNjYXBlLWRvbS1hY2Nlc3MtYW5k
LXJlbG9hZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmE0NmI1YzczZTIwYTdjYWE4N2VlZWNlOWUyMjM0NTlk
MWVhNzEwZjEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wbHVnaW5zL25ldHNjYXBl
LWRvbS1hY2Nlc3MtYW5kLXJlbG9hZC5odG1sCkBAIC0wLDAgKzEsNTUgQEAKKzwhRE9DVFlQRSBo
dG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+CitmdW5jdGlvbiBydW5UZXN0KCkKK3sKKyAg
ICAvLyBNYWtlIHRoZSBwbHVnaW4gcmV0cmlldmUgYSBET00gZWxlbWVudCB0byBpdHNlbGYuIFRo
aXMgZXhlcmNpc2VzCisgICAgLy8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTgwNDI4CisgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRlc3RQbHVnaW4iKS50ZXN0
RE9NQWNjZXNzKCk7CisKKyAgICB2YXIgY2FsbFJlbG9hZCA9IHRydWU7CisgICAgaWYgKHdpbmRv
dy5zZXNzaW9uU3RvcmFnZSkgeworICAgICAgICBpZiAod2luZG93LnNlc3Npb25TdG9yYWdlLnJl
bG9hZFBsdWdpbnNBbmRQYWdlc0NhbGxlZCkKKyAgICAgICAgICAgIGNhbGxSZWxvYWQgPSBmYWxz
ZTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgd2luZG93LnNlc3Npb25TdG9yYWdlLnJlbG9h
ZFBsdWdpbnNBbmRQYWdlc0NhbGxlZCA9IDE7CisgICAgfQorCisgICAgaWYgKHdpbmRvdy5sYXlv
dXRUZXN0Q29udHJvbGxlcikKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4
dCgpOworICAgIAorICAgIGlmIChjYWxsUmVsb2FkKSB7CisgICAgICAgIGlmICh3aW5kb3cubGF5
b3V0VGVzdENvbnRyb2xsZXIpCisgICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0
VW50aWxEb25lKCk7CisgICAgICAgIGxvY2F0aW9uLnJlbG9hZCgpOworICAgIH0gZWxzZSB7Cisg
ICAgICAgIHdpbmRvdy5HQ0NvbnRyb2xsZXIuY29sbGVjdCgpOworICAgICAgICAvLyBOb3RlIHdl
IGNvdWxkIGFsc28gY29sbGVjdCB0aGUgbnVtYmVyIG9mIGxpdmUgbm9kZXMsIGJ1dCB0aGF0IHNl
ZW1zCisgICAgICAgIC8vIG1vcmUgbGlrZWx5IHRvIGdpdmUgc3B1cmlvdXMgZmFpbHVyZXMuIFdo
ZW4gYW4gSFRNTFBsdWdpbkVsZW1lbnQgaXMKKyAgICAgICAgLy8gaW1wcm9wZXJseSByZXRhaW5l
ZCwgaXRzIG93bmluZyBEb2N1bWVudCBhbHNvIHN1cnZpdmVzLCBzbyB3ZSdsbAorICAgICAgICAv
LyBkZXRlY3QgYW4gZXhjZXNzIERvY3VtZW50LgorICAgICAgICBpZiAoaW50ZXJuYWxzICYmIGlu
dGVybmFscy5udW1iZXJPZkxpdmVEb2N1bWVudHMpIHsKKyAgICAgICAgICAgIHZhciBudW1iZXJP
ZkxpdmVEb2N1bWVudHMgPSBpbnRlcm5hbHMubnVtYmVyT2ZMaXZlRG9jdW1lbnRzKCk7CisgICAg
ICAgICAgICBpZiAobnVtYmVyT2ZMaXZlRG9jdW1lbnRzID09IDEpIHsKKyAgICAgICAgICAgICAg
ICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgicmVzdWx0IikuaW5uZXJIVE1MID0gIlNVQ0NFU1Mi
OworICAgICAgICAgICAgfQorICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICBkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgicmVzdWx0IikuaW5uZXJIVE1MID0gIkZBSUxFRDsgVGhpcyB0ZXN0
IGlzIG9ubHkgdmFsaWQgaW4gRHVtcFJlbmRlclRyZWUsIGFuZCBvbmx5IHdoZW4gdGhlIEluc3Bl
Y3RvciBpcyBlbmFibGVkLiI7CisgICAgICAgIH0KKyAgICAgICAgaWYgKHdpbmRvdy5sYXlvdXRU
ZXN0Q29udHJvbGxlcikgeworICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFz
VGV4dCgpOworICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOwor
ICAgICAgICB9CisgICAgfQorfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InJ1
blRlc3QoKTsiPgorPHA+VGhpcyBwYWdlIHRlc3RzIHJlbG9hZGluZyBhIE5ldHNjYXBlIHBsdWct
aW4gdGhhdCBhY2Nlc3NlcyBpdHMgb3duIERPTSBlbGVtZW50LiBTZWUgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgwNDI4LCAiSFRNTFBsdWdpbkVsZW1lbnQgaXMgbm90
IGRlc3Ryb3llZCBvbiByZWxvYWQgb3IgbmF2aWdhdGlvbiBpZiBnZXROUE9iamVjdCBpcyBjYWxs
ZWQiLgorCitJZiBpdCBzdWNjZWVkcywgeW91IHNob3VsZCBzZWUgU1VDQ0VTUyBiZWxvdy4KKzxl
bWJlZCBpZD0idGVzdFBsdWdpbiIgdHlwZT0iYXBwbGljYXRpb24veC13ZWJraXQtdGVzdC1uZXRz
Y2FwZSIgd2lkdGg9IjIwMCIgaGVpZ2h0PSIyMDAiPjwvZW1iZWQ+Cis8ZGl2IGlkPSJyZXN1bHQi
PkZBSUxVUkU8L2Rpdj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBi
L0NoYW5nZUxvZwppbmRleCBhNTMxZTA1ZGMyNDQ4YjIxODFkZDVjNzI3ZDQwNjQ5OWZhMjIyMDhh
Li5lYzQ2MmNiYTJiMmYyYTZiMjA5NzhjYzVhN2M0YzllZDE2MmQzYTA2IDEwMDY0NAotLS0gYS9D
aGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTItMDMtMjIgIERh
dmUgTWljaGFlbCAgPGRtaWNoYWVsQGNocm9taXVtLm9yZz4KKworICAgICAgICBIVE1MUGx1Z2lu
RWxlbWVudCBpcyBub3QgZGVzdHJveWVkIG9uIHJlbG9hZCBvciBuYXZpZ2F0aW9uIGlmIGdldE5Q
T2JqZWN0IGlzIGNhbGxlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9ODA0MjgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBUZXN0OiBwbHVnaW5zL25ldHNjYXBlLWRvbS1hY2Nlc3MtYW5kLXJlbG9hZC5odG1s
CisKKyAgICAgICAgKiBTb3VyY2UvYXV0b3Rvb2xzL3N5bWJvbHMuZmlsdGVyOiBFeHBvcnQgYSBz
eW1ib2wgZm9yIEluc3BlY3RvckNvdW50ZXJzOjpjb3VudGVyVmFsdWUuCisKIDIwMTItMDMtMjEg
IFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CiAKICAgICAgICAgQWRkIHRoZSBmb3Jn
b3R0ZW4gYWRtaW4uaHRtbCBhZnRlciByMTA4OTE3Lgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>133307</attachid>
            <date>2012-03-22 11:46:22 -0700</date>
            <delta_ts>2012-03-23 10:10:35 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-80428-20120322124621.patch</filename>
            <type>text/plain</type>
            <size>14036</size>
            <attacher name="Dave Michael">dmichael</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTExNzAyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTM0YzNhOWFlOTE4ZmJj
YzQxNTQxOGZmZDNjODgwYjRmOTg1ZDU5My4uZDlmN2UzOTY3Y2JjOGE0YWU1YjIwYWM1ZmFhMDRi
Mzk1NzBmMjFiZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM4IEBACisyMDEyLTAzLTIyICBEYXZl
IE1pY2hhZWwgIDxkbWljaGFlbEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgSFRNTFBsdWdpbkVs
ZW1lbnQgaXMgbm90IGRlc3Ryb3llZCBvbiByZWxvYWQgb3IgbmF2aWdhdGlvbiBpZiBnZXROUE9i
amVjdCBpcyBjYWxsZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTgwNDI4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgTWFrZSBIVE1MUGx1Z2luRWxlbWVudCByZWxlYXNlIGl0cyBtX05QT2JqZWN0IGluIGRl
dGFjaCgpIHRvIGJyZWFrIGEKKyAgICAgICAgcmVmZXJlbmNlLWNvdW50aW5nIGN5Y2xlIHRoYXQg
aGFwcGVucyBvbiByZWxvYWQgb3IgbmF2aWdhdGlvbi4gV2l0aCB0aGlzCisgICAgICAgIGNoYW5n
ZSwgSFRNTFBsdWdJbkVsZW1lbnQ6OnJlbW92ZWRGcm9tRG9jdW1lbnQgaXMgdW5uZWNlc3Nhcnks
IHNvIGl0CisgICAgICAgIHdhcyByZW1vdmVkLiBOb3RlIHRoYXQgUmVsZWFzaW5nIG1fTlBPYmpl
Y3QgZG9lcyBub3QgcmVzdWx0IGluIGEgY2FsbCB0bworICAgICAgICB0aGUgcGx1Z2luOyBpdCBz
aW1wbHkgcmVsZWFzZXMgYSByZWZlcmVuY2UgY291bnQgb24gdGhlIHdyYXBwZXIgb2JqZWN0Cisg
ICAgICAgIGZvciB0aGlzIEhUTUxQbHVnSW5FbGVtZW50LiAoVGhlIHBsdWdpbidzIE5QUF9EZWFs
bG9jYXRlIGlzIGludm9rZWQKKyAgICAgICAgd2hlbiB0aGUgcmVuZGVyIHRyZWUgaXMgZGVzdHJv
eWVkLCB3aGVuIFBsdWdpblZpZXcgY2FsbHMKKyAgICAgICAgUGx1Z2luUGFja2FnZTo6dW5sb2Fk
LikgVGh1cywgaXQgaXMgc2FmZSB0byByZWxlYXNlIG1fTlBPYmplY3QgaW4KKyAgICAgICAgZGV0
YWNoLCBiZWNhdXNlIGl0IGNhbiBub3QgcmVzdWx0IGluIGxheW91dCBvciBzdHlsZSBjaGFuZ2Vz
LgorCisgICAgICAgIEFsc28gYWRkZWQgbnVtYmVyT2ZMaXZlTm9kZXMoKSBhbmQgbnVtYmVyT2ZM
aXZlRG9jdW1lbnRzKCkgdG8KKyAgICAgICAgd2luZG93LmludGVybmFscyB0byBlbmFibGUgdGVz
dGluZy4KKworICAgICAgICBUZXN0OiBwbHVnaW5zL25ldHNjYXBlLWRvbS1hY2Nlc3MtYW5kLXJl
bG9hZC5odG1sCisKKyAgICAgICAgKiBXZWJDb3JlLmV4cC5pbjoKKyAgICAgICAgKiBodG1sL0hU
TUxQbHVnSW5FbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxQbHVnSW5FbGVtZW50
OjpkZXRhY2gpOgorICAgICAgICAqIGh0bWwvSFRNTFBsdWdJbkVsZW1lbnQuaDoKKyAgICAgICAg
KEhUTUxQbHVnSW5FbGVtZW50KToKKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbHM6Om51bWJlck9mTGl2ZURvY3VtZW50cyk6CisgICAg
ICAgIChXZWJDb3JlOjpJbnRlcm5hbHM6Om51bWJlck9mTGl2ZU5vZGVzKToKKyAgICAgICAgKFdl
YkNvcmUpOgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmg6CisgICAgICAgIChJbnRlcm5h
bHMpOgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxzLmlkbDoKKwogMjAxMi0wMy0yMiAgU2hl
cmlmZiBCb3QgIDx3ZWJraXQucmV2aWV3LmJvdEBnbWFpbC5jb20+CiAKICAgICAgICAgVW5yZXZp
ZXdlZCwgcm9sbGluZyBvdXQgcjExMTY4OC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCAwNGJlNjRmMmVjNWQxZGVl
ZjIyOWQxMDYxNmQ2MThkZDc3OGJiZmY4Li45Y2NmOTI0MTdlYzU5ODlkYjZkMzQ3MGJmZWRjODBk
MmMxZjlmODBlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTItMDMtMjIgIERhdmUg
TWljaGFlbCAgPGRtaWNoYWVsQGNocm9taXVtLm9yZz4KKworICAgICAgICBIVE1MUGx1Z2luRWxl
bWVudCBpcyBub3QgZGVzdHJveWVkIG9uIHJlbG9hZCBvciBuYXZpZ2F0aW9uIGlmIGdldE5QT2Jq
ZWN0IGlzIGNhbGxlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9ODA0MjgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBUZXN0OiBwbHVnaW5zL25ldHNjYXBlLWRvbS1hY2Nlc3MtYW5kLXJlbG9hZC5odG1sCisK
KyAgICAgICAgKiB3aW4vV2ViS2l0Mi5kZWY6IEV4cG9ydCBhIHN5bWJvbCBmb3IgSW5zcGVjdG9y
Q291bnRlcnM6OmNvdW50ZXJWYWx1ZQorICAgICAgICAqIHdpbi9XZWJLaXQyQ0ZMaXRlLmRlZjog
RXhwb3J0IGEgc3ltYm9sIGZvciBJbnNwZWN0b3JDb3VudGVyczo6Y291bnRlclZhbHVlCisKIDIw
MTItMDMtMjIgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBiYi13ZWJraXQtcmVsLTY0
LmxvY2FsLmlnYWxpYS5jb20+CiAKICAgICAgICAgW0dUS10gVXNlIHRoZSBhbmdsZS1icmFja2V0
IGZvcm0gdG8gaW5jbHVkZSB3dGYgaGVhZGVycwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS5leHAuaW4gYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgppbmRleCA5MmY0
NTNhMjZiMzcwNjJkNmI4ZWM0ZTkwZmUyZDdmMGFjYTlkNTljLi43MjFhYzRjMzg5NzIwNTgzYTVi
YmUzODY0ZmQwOTcxZTBlZmVlNTg1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
LmV4cC5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgpAQCAtMTc0OCw2ICsx
NzQ4LDcgQEAgX19aTks3V2ViQ29yZTEySWNvbkRhdGFiYXNlOWlzRW5hYmxlZEV2CiAKICNpZiBF
TkFCTEUoSU5TUEVDVE9SKQogX19aTjdXZWJDb3JlMTVJbnNwZWN0b3JDbGllbnQzMWRvRGlzcGF0
Y2hNZXNzYWdlT25Gcm9udGVuZFBhZ2VFUE5TXzRQYWdlRVJLTjNXVEY2U3RyaW5nRQorX19aTjdX
ZWJDb3JlMTdJbnNwZWN0b3JDb3VudGVyczEyY291bnRlclZhbHVlRU5TMF8xMUNvdW50ZXJUeXBl
RQogX19aTjdXZWJDb3JlMTlJbnNwZWN0b3JDb250cm9sbGVyMTRlbmFibGVQcm9maWxlckV2CiBf
X1pON1dlYkNvcmUxOUluc3BlY3RvckNvbnRyb2xsZXIxNWRpc2FibGVQcm9maWxlckV2CiBfX1pO
N1dlYkNvcmUxOUluc3BlY3RvckNvbnRyb2xsZXIxNXByb2ZpbGVyRW5hYmxlZEV2CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQbHVnSW5FbGVtZW50LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTFBsdWdJbkVsZW1lbnQuY3BwCmluZGV4IDI5OWU0N2IyZWY5ZmNhMzFl
ZjcxYjJjMzA4YjAwMGFlNGRiMjYyNjQuLjQ1OGQxNTc1OGY1NmRjY2FmYTVmMzFiOWJiMjQ3OGY4
NGRkZDFlOTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFBsdWdJbkVsZW1l
bnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFBsdWdJbkVsZW1lbnQuY3BwCkBA
IC03OCwxMSArNzgsNiBAQCB2b2lkIEhUTUxQbHVnSW5FbGVtZW50OjpkZXRhY2goKQogICAgICAg
ICBtX2lzQ2FwdHVyaW5nTW91c2VFdmVudHMgPSBmYWxzZTsKICAgICB9CiAKLSAgICBIVE1MRnJh
bWVPd25lckVsZW1lbnQ6OmRldGFjaCgpOwotfQotCi12b2lkIEhUTUxQbHVnSW5FbGVtZW50Ojpy
ZW1vdmVkRnJvbURvY3VtZW50KCkKLXsKICNpZiBFTkFCTEUoTkVUU0NBUEVfUExVR0lOX0FQSSkK
ICAgICBpZiAobV9OUE9iamVjdCkgewogICAgICAgICBfTlBOX1JlbGVhc2VPYmplY3QobV9OUE9i
amVjdCk7CkBAIC05MCw3ICs4NSw3IEBAIHZvaWQgSFRNTFBsdWdJbkVsZW1lbnQ6OnJlbW92ZWRG
cm9tRG9jdW1lbnQoKQogICAgIH0KICNlbmRpZgogCi0gICAgSFRNTEZyYW1lT3duZXJFbGVtZW50
OjpyZW1vdmVkRnJvbURvY3VtZW50KCk7CisgICAgSFRNTEZyYW1lT3duZXJFbGVtZW50OjpkZXRh
Y2goKTsKIH0KIAogUGFzc1NjcmlwdEluc3RhbmNlIEhUTUxQbHVnSW5FbGVtZW50OjpnZXRJbnN0
YW5jZSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQbHVnSW5FbGVtZW50
LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQbHVnSW5FbGVtZW50LmgKaW5kZXggMjJiMTRj
NGU3MGJiNzFmMDUzMWQwZTViNjE0ZTliYWNjNGZkYWQ0MC4uNjVmODY5YmRiNTBlNTJjMWQzNzNi
ZGVjZDhjMTk1ODBiOGNkYWFiMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1M
UGx1Z0luRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFBsdWdJbkVsZW1l
bnQuaApAQCAtNTcsNyArNTcsNiBAQCBwcm90ZWN0ZWQ6CiAgICAgSFRNTFBsdWdJbkVsZW1lbnQo
Y29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQqKTsKIAogICAgIHZpcnR1YWwg
dm9pZCBkZXRhY2goKTsKLSAgICB2aXJ0dWFsIHZvaWQgcmVtb3ZlZEZyb21Eb2N1bWVudCgpOwog
ICAgIHZpcnR1YWwgYm9vbCBpc1ByZXNlbnRhdGlvbkF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWRO
YW1lJikgY29uc3QgT1ZFUlJJREU7CiAgICAgdmlydHVhbCB2b2lkIGNvbGxlY3RTdHlsZUZvckF0
dHJpYnV0ZShBdHRyaWJ1dGUqLCBTdHlsZVByb3BlcnR5U2V0KikgT1ZFUlJJREU7CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAppbmRleCBjODI2YjE1MGEwNzJkODg1MzAzZTJmNDIy
ZjIzNDdlMGY2MWI4MmZlLi5hYTFjNDIzMjRhY2EwMGEyZDE3ZmNiYWM1ZDcxNzgzNDQxMjg3NGZk
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCkBAIC00Miw2ICs0Miw3IEBACiAj
aW5jbHVkZSAiSFRNTE5hbWVzLmgiCiAjaW5jbHVkZSAiSFRNTFRleHRBcmVhRWxlbWVudC5oIgog
I2luY2x1ZGUgIkluc3BlY3RvckNvbnRyb2xsZXIuaCIKKyNpbmNsdWRlICJJbnNwZWN0b3JDb3Vu
dGVycy5oIgogI2luY2x1ZGUgIkluc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oIgogI2luY2x1ZGUg
IkludGVybmFsU2V0dGluZ3MuaCIKICNpbmNsdWRlICJJbnRSZWN0LmgiCkBAIC03NzAsNCArNzcx
LDE2IEBAIGJvb2wgSW50ZXJuYWxzOjpoYXNTcGVsbGluZ01hcmtlcihEb2N1bWVudCogZG9jdW1l
bnQsIGludCBmcm9tLCBpbnQgbGVuZ3RoLCBFeGNlCiAgICAgcmV0dXJuIGRvY3VtZW50LT5mcmFt
ZSgpLT5lZGl0b3IoKS0+c2VsZWN0aW9uU3RhcnRIYXNNYXJrZXJGb3IoRG9jdW1lbnRNYXJrZXI6
OlNwZWxsaW5nLCBmcm9tLCBsZW5ndGgpOwogfQogCisjaWYgRU5BQkxFKElOU1BFQ1RPUikKK3Vu
c2lnbmVkIEludGVybmFsczo6bnVtYmVyT2ZMaXZlTm9kZXMoKSBjb25zdAoreworICAgIHJldHVy
biBJbnNwZWN0b3JDb3VudGVyczo6Y291bnRlclZhbHVlKEluc3BlY3RvckNvdW50ZXJzOjpOb2Rl
Q291bnRlcik7Cit9CisKK3Vuc2lnbmVkIEludGVybmFsczo6bnVtYmVyT2ZMaXZlRG9jdW1lbnRz
KCkgY29uc3QKK3sKKyAgICByZXR1cm4gSW5zcGVjdG9yQ291bnRlcnM6OmNvdW50ZXJWYWx1ZShJ
bnNwZWN0b3JDb3VudGVyczo6RG9jdW1lbnRDb3VudGVyKTsKK30KKyNlbmRpZiAvLyBFTkFCTEUo
SU5TUEVDVE9SKQorCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVy
bmFscy5oIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaAppbmRleCA2ODgzNDYw
NWY0NjQwNzlhOWU5YzViYWFjNzc4M2E3MjExNjcyYjRkLi5mZGRjZDI1NDhjOWQyODI2MzVhNjI4
MjcxZjAzOTQzZWFhNTdhNWJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0lu
dGVybmFscy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKQEAgLTE0
NSw2ICsxNDUsMTEgQEAgcHVibGljOgogCiAgICAgdm9pZCBzZXRCYXR0ZXJ5U3RhdHVzKERvY3Vt
ZW50KiwgY29uc3QgU3RyaW5nJiBldmVudFR5cGUsIGJvb2wgY2hhcmdpbmcsIGRvdWJsZSBjaGFy
Z2luZ1RpbWUsIGRvdWJsZSBkaXNjaGFyZ2luZ1RpbWUsIGRvdWJsZSBsZXZlbCwgRXhjZXB0aW9u
Q29kZSYpOwogCisjaWYgRU5BQkxFKElOU1BFQ1RPUikKKyAgICB1bnNpZ25lZCBudW1iZXJPZkxp
dmVOb2RlcygpIGNvbnN0OworICAgIHVuc2lnbmVkIG51bWJlck9mTGl2ZURvY3VtZW50cygpIGNv
bnN0OworI2VuZGlmCisKIHByaXZhdGU6CiAgICAgZXhwbGljaXQgSW50ZXJuYWxzKERvY3VtZW50
Kik7CiAgICAgRG9jdW1lbnRNYXJrZXIqIG1hcmtlckF0KE5vZGUqLCBjb25zdCBTdHJpbmcmIG1h
cmtlclR5cGUsIHVuc2lnbmVkIGluZGV4LCBFeGNlcHRpb25Db2RlJik7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0
aW5nL0ludGVybmFscy5pZGwKaW5kZXggZGRhMTIyOTg0YTRjZjVjMGY5NDFjMDlhMWY3YjA0YmUy
MTdmODMyYy4uMjY0YWU5ZGExZWQ4YjExNzdiOWZjNGExMGJiZjM0NTFhMzFkODIzMyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbApAQCAtMTE5LDcgKzExOSwxMCBAQCBtb2R1bGUg
d2luZG93IHsKIAogI2lmIGRlZmluZWQoRU5BQkxFX0JBVFRFUllfU1RBVFVTKSAmJiBFTkFCTEVf
QkFUVEVSWV9TVEFUVVMKICAgICAgICAgdm9pZCBzZXRCYXR0ZXJ5U3RhdHVzKGluIERvY3VtZW50
IGRvY3VtZW50LCBpbiBET01TdHJpbmcgZXZlbnRUeXBlLCBpbiBib29sZWFuIGNoYXJnaW5nLCBp
biBkb3VibGUgY2hhcmdpbmdUaW1lLCBpbiBkb3VibGUgZGlzY2hhcmdpbmdUaW1lLCBpbiBkb3Vi
bGUgbGV2ZWwpIHJhaXNlcyAoRE9NRXhjZXB0aW9uKTsKLSNlbmRpZgorI2VuZGlmIAorCisgICAg
ICAgIFtDb25kaXRpb25hbD1JTlNQRUNUT1JdIHVuc2lnbmVkIGxvbmcgbnVtYmVyT2ZMaXZlTm9k
ZXMoKTsKKyAgICAgICAgW0NvbmRpdGlvbmFsPUlOU1BFQ1RPUl0gdW5zaWduZWQgbG9uZyBudW1i
ZXJPZkxpdmVEb2N1bWVudHMoKTsKICAgICB9OwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi93aW4vV2ViS2l0Mi5kZWYgYi9Tb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0Mi5kZWYKaW5k
ZXggODIzODhlYWQ1MWFhNWRjNDU4NTFlMWRjMjU4NmRjODU1NjRjZTY0Mi4uZTJjOGY2ZGZhZGQ3
NDIyNGJmZjUyYjhjOTJlOGY1NDQ2MDFmZWI1NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
d2luL1dlYktpdDIuZGVmCisrKyBiL1NvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyLmRlZgpAQCAt
MTE1LDYgKzExNSw3IEBAIEVYUE9SVFMKICAgICAgICAgPz8xVGhyZWFkQ29uZGl0aW9uQFdURkBA
UUFFQFhaCiAgICAgICAgID9icm9hZGNhc3RAVGhyZWFkQ29uZGl0aW9uQFdURkBAUUFFWFhaCiAg
ICAgICAgID9jYWxsT25NYWluVGhyZWFkQFdURkBAWUFYUDZBWFBBWEBaMEBaCisgICAgICAgID9j
b3VudGVyVmFsdWVASW5zcGVjdG9yQ291bnRlcnNAV2ViQ29yZUBAU0FIVzRDb3VudGVyVHlwZUAx
MkBAWgogICAgICAgICA/Y3JlYXRlVGhyZWFkQFdURkBAWUFJUDZBUEFYUEFYQFowUEJEQFoKICAg
ICAgICAgP2NyZWF0ZVRocmVhZEBXVEZAQFlBSVA2QVhQQVhAWjBQQkRAWgogICAgICAgICA/Y3Vy
cmVudFRocmVhZEBXVEZAQFlBSVhaCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi93aW4vV2Vi
S2l0MkNGTGl0ZS5kZWYgYi9Tb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0MkNGTGl0ZS5kZWYKaW5k
ZXggZTA1NGQ1NTJmNDUxM2M1YjRiMDdjZjRlNzQ3MmVjNjFhNzU5NWE2Mi4uNjc2OTYxNWY2YmE2
NGNjYTk4MDc5MzZiZDczM2VkNzE3OGVjOTM4YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
d2luL1dlYktpdDJDRkxpdGUuZGVmCisrKyBiL1NvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyQ0ZM
aXRlLmRlZgpAQCAtMTA4LDYgKzEwOCw3IEBAIEVYUE9SVFMKICAgICAgICAgPz8xVGhyZWFkQ29u
ZGl0aW9uQFdURkBAUUFFQFhaCiAgICAgICAgID9icm9hZGNhc3RAVGhyZWFkQ29uZGl0aW9uQFdU
RkBAUUFFWFhaCiAgICAgICAgID9jYWxsT25NYWluVGhyZWFkQFdURkBAWUFYUDZBWFBBWEBaMEBa
CisgICAgICAgID9jb3VudGVyVmFsdWVASW5zcGVjdG9yQ291bnRlcnNAV2ViQ29yZUBAU0FIVzRD
b3VudGVyVHlwZUAxMkBAWgogICAgICAgICA/Y3JlYXRlVGhyZWFkQFdURkBAWUFJUDZBUEFYUEFY
QFowUEJEQFoKICAgICAgICAgP2NyZWF0ZVRocmVhZEBXVEZAQFlBSVA2QVhQQVhAWjBQQkRAWgog
ICAgICAgICA/Y3VycmVudFRocmVhZEBXVEZAQFlBSVhaCmRpZmYgLS1naXQgYS9Tb3VyY2UvYXV0
b3Rvb2xzL3N5bWJvbHMuZmlsdGVyIGIvU291cmNlL2F1dG90b29scy9zeW1ib2xzLmZpbHRlcgpp
bmRleCA2NTJmMTgyZTY4NGY1NGJiNmFlYzMzZGFiOTZmMDE0ZWY1YzVhZjlhLi5hYzdiMDBjZGVk
MTdmZTliMTlmNTgyZTcxMzc0ZjAyYzc0YjE2MjRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvYXV0b3Rv
b2xzL3N5bWJvbHMuZmlsdGVyCisrKyBiL1NvdXJjZS9hdXRvdG9vbHMvc3ltYm9scy5maWx0ZXIK
QEAgLTU5LDYgKzU5LDcgQEAgX1pON1dlYkNvcmUxNkhUTUxJbnB1dEVsZW1lbnQxN3NldFN1Z2dl
c3RlZFZhbHVlRVJLTjNXVEY2U3RyaW5nRTsKIF9aTjdXZWJDb3JlMTZqc1N0cmluZ1Nsb3dDYXNl
RVBOM0pTQzlFeGVjU3RhdGVFUk4zV1RGN0hhc2hNYXBJUE5TM18xMFN0cmluZ0ltcGxFTlMwXzRX
ZWFrSU5TMF84SlNTdHJpbmdFRUVOUzNfMTBTdHJpbmdIYXNoRU5TM18xMEhhc2hUcmFpdHNJUzZf
RUVOU0JfSVM5X0VFRUVTNl87CiBfWk43V2ViQ29yZTE2c2NyaXB0TmFtZVRvQ29kZUVSS04zV1RG
NlN0cmluZ0U7CiBfWk43V2ViQ29yZTE3Y2FjaGVET01TdHJ1Y3R1cmVFUE5TXzE3SlNET01HbG9i
YWxPYmplY3RFUE4zSlNDOVN0cnVjdHVyZUVQS05TMl85Q2xhc3NJbmZvRTsKK19aTjdXZWJDb3Jl
MTdJbnNwZWN0b3JDb3VudGVyczEyY291bnRlclZhbHVlRU5TMF8xMUNvdW50ZXJUeXBlRTsKIF9a
TjdXZWJDb3JlMThIVE1MQ29udGVudEVsZW1lbnQ2Y3JlYXRlRVBOU184RG9jdW1lbnRFOwogX1pO
N1dlYkNvcmUxOUluc3BlY3RvckNvbnRyb2xsZXIzOXNldFJlc291cmNlc0RhdGFTaXplTGltaXRz
RnJvbUludGVybmFsc0VpaTsKIF9aTjdXZWJDb3JlMjBOb2RlUmVuZGVyaW5nQ29udGV4dEMxRVBO
U180Tm9kZUU7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKaW5kZXggODhlNDI2MDQ1OTg3NTZiOTc1YzNiMGM3NDUxOWQ4NTk3NmE4ODBl
Zi4uZTcxZjg3YjY5OGNiY2ZmN2JlMTg0Zjk2YTQ3N2I1NTRmZDcyMjJjYiAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDEzIEBACisyMDEyLTAzLTIyICBEYXZlIE1pY2hhZWwgIDxkbWljaGFlbEBjaHJvbWl1bS5v
cmc+CisKKyAgICAgICAgSFRNTFBsdWdpbkVsZW1lbnQgaXMgbm90IGRlc3Ryb3llZCBvbiByZWxv
YWQgb3IgbmF2aWdhdGlvbiBpZiBnZXROUE9iamVjdCBpcyBjYWxsZWQKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgwNDI4CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBwbHVnaW5zL25ldHNjYXBlLWRvbS1h
Y2Nlc3MtYW5kLXJlbG9hZC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHBsdWdpbnMv
bmV0c2NhcGUtZG9tLWFjY2Vzcy1hbmQtcmVsb2FkLmh0bWw6IEFkZGVkLgorCiAyMDEyLTAzLTIy
ICBBbGV4YW5kZXIgUGF2bG92ICA8YXBhdmxvdkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgV2Vi
IEluc3BlY3RvcjogQ2FzZSBvZiB0aGUgZWxlbWVudHMgb2YgdGhlIHhtbCBkb2N1bWVudCBzaG91
bGQgYmUgc2hvd24gYXMgaXQgaXMgaW4gdGhlIGNvbnNvbGUKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL3BsdWdpbnMvbmV0c2NhcGUtZG9tLWFjY2Vzcy1hbmQtcmVsb2FkLWV4cGVjdGVkLnR4dCBi
L0xheW91dFRlc3RzL3BsdWdpbnMvbmV0c2NhcGUtZG9tLWFjY2Vzcy1hbmQtcmVsb2FkLWV4cGVj
dGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi41NWU3NTk4MWQyMzYxMDEyM2RiOTEwOTlkNTkwYmUxZDcxMWMw
MGRmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGx1Z2lucy9uZXRzY2FwZS1kb20t
YWNjZXNzLWFuZC1yZWxvYWQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorVGhpcyBwYWdl
IHRlc3RzIHJlbG9hZGluZyBhIE5ldHNjYXBlIHBsdWctaW4gdGhhdCBhY2Nlc3NlcyBpdHMgb3du
IERPTSBlbGVtZW50LiBTZWUgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTgwNDI4LCAiSFRNTFBsdWdpbkVsZW1lbnQgaXMgbm90IGRlc3Ryb3llZCBvbiByZWxvYWQgb3Ig
bmF2aWdhdGlvbiBpZiBnZXROUE9iamVjdCBpcyBjYWxsZWQiLiBJZiBpdCBzdWNjZWVkcywgeW91
IHNob3VsZCBzZWUgU1VDQ0VTUyBiZWxvdy4gCisKK1NVQ0NFU1MKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3BsdWdpbnMvbmV0c2NhcGUtZG9tLWFjY2Vzcy1hbmQtcmVsb2FkLmh0bWwgYi9MYXlv
dXRUZXN0cy9wbHVnaW5zL25ldHNjYXBlLWRvbS1hY2Nlc3MtYW5kLXJlbG9hZC5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmE0NmI1YzczZTIwYTdjYWE4N2VlZWNlOWUyMjM0NTlkMWVhNzEwZjEKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9wbHVnaW5zL25ldHNjYXBlLWRvbS1hY2Nlc3MtYW5kLXJl
bG9hZC5odG1sCkBAIC0wLDAgKzEsNTUgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVh
ZD4KKzxzY3JpcHQ+CitmdW5jdGlvbiBydW5UZXN0KCkKK3sKKyAgICAvLyBNYWtlIHRoZSBwbHVn
aW4gcmV0cmlldmUgYSBET00gZWxlbWVudCB0byBpdHNlbGYuIFRoaXMgZXhlcmNpc2VzCisgICAg
Ly8gaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgwNDI4CisgICAgZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRlc3RQbHVnaW4iKS50ZXN0RE9NQWNjZXNzKCk7CisKKyAg
ICB2YXIgY2FsbFJlbG9hZCA9IHRydWU7CisgICAgaWYgKHdpbmRvdy5zZXNzaW9uU3RvcmFnZSkg
eworICAgICAgICBpZiAod2luZG93LnNlc3Npb25TdG9yYWdlLnJlbG9hZFBsdWdpbnNBbmRQYWdl
c0NhbGxlZCkKKyAgICAgICAgICAgIGNhbGxSZWxvYWQgPSBmYWxzZTsKKyAgICAgICAgZWxzZQor
ICAgICAgICAgICAgd2luZG93LnNlc3Npb25TdG9yYWdlLnJlbG9hZFBsdWdpbnNBbmRQYWdlc0Nh
bGxlZCA9IDE7CisgICAgfQorCisgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikK
KyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICAgIAorICAgIGlm
IChjYWxsUmVsb2FkKSB7CisgICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIp
CisgICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7CisgICAg
ICAgIGxvY2F0aW9uLnJlbG9hZCgpOworICAgIH0gZWxzZSB7CisgICAgICAgIHdpbmRvdy5HQ0Nv
bnRyb2xsZXIuY29sbGVjdCgpOworICAgICAgICAvLyBOb3RlIHdlIGNvdWxkIGFsc28gY29sbGVj
dCB0aGUgbnVtYmVyIG9mIGxpdmUgbm9kZXMsIGJ1dCB0aGF0IHNlZW1zCisgICAgICAgIC8vIG1v
cmUgbGlrZWx5IHRvIGdpdmUgc3B1cmlvdXMgZmFpbHVyZXMuIFdoZW4gYW4gSFRNTFBsdWdpbkVs
ZW1lbnQgaXMKKyAgICAgICAgLy8gaW1wcm9wZXJseSByZXRhaW5lZCwgaXRzIG93bmluZyBEb2N1
bWVudCBhbHNvIHN1cnZpdmVzLCBzbyB3ZSdsbAorICAgICAgICAvLyBkZXRlY3QgYW4gZXhjZXNz
IERvY3VtZW50LgorICAgICAgICBpZiAoaW50ZXJuYWxzICYmIGludGVybmFscy5udW1iZXJPZkxp
dmVEb2N1bWVudHMpIHsKKyAgICAgICAgICAgIHZhciBudW1iZXJPZkxpdmVEb2N1bWVudHMgPSBp
bnRlcm5hbHMubnVtYmVyT2ZMaXZlRG9jdW1lbnRzKCk7CisgICAgICAgICAgICBpZiAobnVtYmVy
T2ZMaXZlRG9jdW1lbnRzID09IDEpIHsKKyAgICAgICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgicmVzdWx0IikuaW5uZXJIVE1MID0gIlNVQ0NFU1MiOworICAgICAgICAgICAgfQor
ICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
cmVzdWx0IikuaW5uZXJIVE1MID0gIkZBSUxFRDsgVGhpcyB0ZXN0IGlzIG9ubHkgdmFsaWQgaW4g
RHVtcFJlbmRlclRyZWUsIGFuZCBvbmx5IHdoZW4gdGhlIEluc3BlY3RvciBpcyBlbmFibGVkLiI7
CisgICAgICAgIH0KKyAgICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgewor
ICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICAgICAgICAg
ICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOworICAgICAgICB9CisgICAgfQor
fQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKTsiPgorPHA+VGhp
cyBwYWdlIHRlc3RzIHJlbG9hZGluZyBhIE5ldHNjYXBlIHBsdWctaW4gdGhhdCBhY2Nlc3NlcyBp
dHMgb3duIERPTSBlbGVtZW50LiBTZWUgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTgwNDI4LCAiSFRNTFBsdWdpbkVsZW1lbnQgaXMgbm90IGRlc3Ryb3llZCBvbiByZWxv
YWQgb3IgbmF2aWdhdGlvbiBpZiBnZXROUE9iamVjdCBpcyBjYWxsZWQiLgorCitJZiBpdCBzdWNj
ZWVkcywgeW91IHNob3VsZCBzZWUgU1VDQ0VTUyBiZWxvdy4KKzxlbWJlZCBpZD0idGVzdFBsdWdp
biIgdHlwZT0iYXBwbGljYXRpb24veC13ZWJraXQtdGVzdC1uZXRzY2FwZSIgd2lkdGg9IjIwMCIg
aGVpZ2h0PSIyMDAiPjwvZW1iZWQ+Cis8ZGl2IGlkPSJyZXN1bHQiPkZBSUxVUkU8L2Rpdj4KKzwv
Ym9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCBh
NTMxZTA1ZGMyNDQ4YjIxODFkZDVjNzI3ZDQwNjQ5OWZhMjIyMDhhLi5lYzQ2MmNiYTJiMmYyYTZi
MjA5NzhjYzVhN2M0YzllZDE2MmQzYTA2IDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTItMDMtMjIgIERhdmUgTWljaGFlbCAgPGRtaWNo
YWVsQGNocm9taXVtLm9yZz4KKworICAgICAgICBIVE1MUGx1Z2luRWxlbWVudCBpcyBub3QgZGVz
dHJveWVkIG9uIHJlbG9hZCBvciBuYXZpZ2F0aW9uIGlmIGdldE5QT2JqZWN0IGlzIGNhbGxlZAor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODA0MjgKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUZXN0OiBwbHVn
aW5zL25ldHNjYXBlLWRvbS1hY2Nlc3MtYW5kLXJlbG9hZC5odG1sCisKKyAgICAgICAgKiBTb3Vy
Y2UvYXV0b3Rvb2xzL3N5bWJvbHMuZmlsdGVyOiBFeHBvcnQgYSBzeW1ib2wgZm9yIEluc3BlY3Rv
ckNvdW50ZXJzOjpjb3VudGVyVmFsdWUuCisKIDIwMTItMDMtMjEgIFJ5b3N1a2UgTml3YSAgPHJu
aXdhQHdlYmtpdC5vcmc+CiAKICAgICAgICAgQWRkIHRoZSBmb3Jnb3R0ZW4gYWRtaW4uaHRtbCBh
ZnRlciByMTA4OTE3Lgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>133506</attachid>
            <date>2012-03-23 10:10:40 -0700</date>
            <delta_ts>2012-03-23 10:21:19 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-80428-20120323111039.patch</filename>
            <type>text/plain</type>
            <size>13505</size>
            <attacher name="Dave Michael">dmichael</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTExODY2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDc2MjIwNTIwNDBlYzRk
NjYzNDkzOTAxYmE5YzRhMjFkYTQxMWQ3Ny4uYTE0NWI0MjIyZDkzNzZjYjZiZGRjNDBlM2IxZTNm
MmQyMzFmNzRmZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI1IEBACisyMDEyLTAzLTIzICBEYXZl
IE1pY2hhZWwgIDxkbWljaGFlbEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgSFRNTFBsdWdpbkVs
ZW1lbnQgaXMgbm90IGRlc3Ryb3llZCBvbiByZWxvYWQgb3IgbmF2aWdhdGlvbiBpZiBnZXROUE9i
amVjdCBpcyBjYWxsZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTgwNDI4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgVGVzdDogcGx1Z2lucy9uZXRzY2FwZS1kb20tYWNjZXNzLWFuZC1yZWxvYWQuaHRtbAor
CisgICAgICAgICogV2ViQ29yZS5leHAuaW46CisgICAgICAgICogaHRtbC9IVE1MUGx1Z0luRWxl
bWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MUGx1Z0luRWxlbWVudDo6ZGV0YWNoKToK
KyAgICAgICAgKiBodG1sL0hUTUxQbHVnSW5FbGVtZW50Lmg6CisgICAgICAgIChIVE1MUGx1Z0lu
RWxlbWVudCk6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuY3BwOgorICAgICAgICAoV2Vi
Q29yZSk6CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbHM6Om51bWJlck9mTGl2ZU5vZGVzKToK
KyAgICAgICAgKFdlYkNvcmU6OkludGVybmFsczo6bnVtYmVyT2ZMaXZlRG9jdW1lbnRzKToKKyAg
ICAgICAgKiB0ZXN0aW5nL0ludGVybmFscy5oOgorICAgICAgICAoSW50ZXJuYWxzKToKKyAgICAg
ICAgKiB0ZXN0aW5nL0ludGVybmFscy5pZGw6CisKIDIwMTItMDMtMjMgIEtlbnRhcm8gSGFyYSAg
PGhhcmFrZW5AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFN1cHBvcnQgW0ltcGxlbWVudGVkQXNd
IGZvciBhdHRyaWJ1dGVzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9T
b3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggNGFmNDJjMGQ3NjZiOGFlMTNiMmZkZTZkNGFh
NmNjODhkMmJiMTIwNi4uMzlhNjZkNjhhZTNhNmM0NzI1NGE2ODc1Y2JhODViZDVhMDIyZTc5NSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQy
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDEyLTAzLTIzICBEYXZlIE1pY2hhZWwgIDxk
bWljaGFlbEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgSFRNTFBsdWdpbkVsZW1lbnQgaXMgbm90
IGRlc3Ryb3llZCBvbiByZWxvYWQgb3IgbmF2aWdhdGlvbiBpZiBnZXROUE9iamVjdCBpcyBjYWxs
ZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgwNDI4
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3aW4v
V2ViS2l0Mi5kZWY6CisgICAgICAgICogd2luL1dlYktpdDJDRkxpdGUuZGVmOgorCiAyMDEyLTAz
LTIzICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KIAogICAgICAg
ICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMTExODU1LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS5leHAuaW4gYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgppbmRl
eCA5MmY0NTNhMjZiMzcwNjJkNmI4ZWM0ZTkwZmUyZDdmMGFjYTlkNTljLi43MjFhYzRjMzg5NzIw
NTgzYTViYmUzODY0ZmQwOTcxZTBlZmVlNTg1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLmV4cC5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgpAQCAtMTc0
OCw2ICsxNzQ4LDcgQEAgX19aTks3V2ViQ29yZTEySWNvbkRhdGFiYXNlOWlzRW5hYmxlZEV2CiAK
ICNpZiBFTkFCTEUoSU5TUEVDVE9SKQogX19aTjdXZWJDb3JlMTVJbnNwZWN0b3JDbGllbnQzMWRv
RGlzcGF0Y2hNZXNzYWdlT25Gcm9udGVuZFBhZ2VFUE5TXzRQYWdlRVJLTjNXVEY2U3RyaW5nRQor
X19aTjdXZWJDb3JlMTdJbnNwZWN0b3JDb3VudGVyczEyY291bnRlclZhbHVlRU5TMF8xMUNvdW50
ZXJUeXBlRQogX19aTjdXZWJDb3JlMTlJbnNwZWN0b3JDb250cm9sbGVyMTRlbmFibGVQcm9maWxl
ckV2CiBfX1pON1dlYkNvcmUxOUluc3BlY3RvckNvbnRyb2xsZXIxNWRpc2FibGVQcm9maWxlckV2
CiBfX1pON1dlYkNvcmUxOUluc3BlY3RvckNvbnRyb2xsZXIxNXByb2ZpbGVyRW5hYmxlZEV2CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQbHVnSW5FbGVtZW50LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTFBsdWdJbkVsZW1lbnQuY3BwCmluZGV4IDI5OWU0N2IyZWY5
ZmNhMzFlZjcxYjJjMzA4YjAwMGFlNGRiMjYyNjQuLjQ1OGQxNTc1OGY1NmRjY2FmYTVmMzFiOWJi
MjQ3OGY4NGRkZDFlOTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFBsdWdJ
bkVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFBsdWdJbkVsZW1lbnQu
Y3BwCkBAIC03OCwxMSArNzgsNiBAQCB2b2lkIEhUTUxQbHVnSW5FbGVtZW50OjpkZXRhY2goKQog
ICAgICAgICBtX2lzQ2FwdHVyaW5nTW91c2VFdmVudHMgPSBmYWxzZTsKICAgICB9CiAKLSAgICBI
VE1MRnJhbWVPd25lckVsZW1lbnQ6OmRldGFjaCgpOwotfQotCi12b2lkIEhUTUxQbHVnSW5FbGVt
ZW50OjpyZW1vdmVkRnJvbURvY3VtZW50KCkKLXsKICNpZiBFTkFCTEUoTkVUU0NBUEVfUExVR0lO
X0FQSSkKICAgICBpZiAobV9OUE9iamVjdCkgewogICAgICAgICBfTlBOX1JlbGVhc2VPYmplY3Qo
bV9OUE9iamVjdCk7CkBAIC05MCw3ICs4NSw3IEBAIHZvaWQgSFRNTFBsdWdJbkVsZW1lbnQ6OnJl
bW92ZWRGcm9tRG9jdW1lbnQoKQogICAgIH0KICNlbmRpZgogCi0gICAgSFRNTEZyYW1lT3duZXJF
bGVtZW50OjpyZW1vdmVkRnJvbURvY3VtZW50KCk7CisgICAgSFRNTEZyYW1lT3duZXJFbGVtZW50
OjpkZXRhY2goKTsKIH0KIAogUGFzc1NjcmlwdEluc3RhbmNlIEhUTUxQbHVnSW5FbGVtZW50Ojpn
ZXRJbnN0YW5jZSgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQbHVnSW5F
bGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQbHVnSW5FbGVtZW50LmgKaW5kZXgg
MjJiMTRjNGU3MGJiNzFmMDUzMWQwZTViNjE0ZTliYWNjNGZkYWQ0MC4uNjVmODY5YmRiNTBlNTJj
MWQzNzNiZGVjZDhjMTk1ODBiOGNkYWFiMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MUGx1Z0luRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFBsdWdJ
bkVsZW1lbnQuaApAQCAtNTcsNyArNTcsNiBAQCBwcm90ZWN0ZWQ6CiAgICAgSFRNTFBsdWdJbkVs
ZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQqKTsKIAogICAgIHZp
cnR1YWwgdm9pZCBkZXRhY2goKTsKLSAgICB2aXJ0dWFsIHZvaWQgcmVtb3ZlZEZyb21Eb2N1bWVu
dCgpOwogICAgIHZpcnR1YWwgYm9vbCBpc1ByZXNlbnRhdGlvbkF0dHJpYnV0ZShjb25zdCBRdWFs
aWZpZWROYW1lJikgY29uc3QgT1ZFUlJJREU7CiAgICAgdmlydHVhbCB2b2lkIGNvbGxlY3RTdHls
ZUZvckF0dHJpYnV0ZShBdHRyaWJ1dGUqLCBTdHlsZVByb3BlcnR5U2V0KikgT1ZFUlJJREU7CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAppbmRleCBlNDA5ZTU2ZmY3ZDkwYmEzNmEy
MTNlNTE3NTRjN2E1Y2IyNDVkODIwLi42ZjJlZTMzYTdhYjY4ZjI2ZmQxMDcxOTdlODE4NzY2YWYx
OWY1MDY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwCkBAIC00Miw2ICs0Miw3
IEBACiAjaW5jbHVkZSAiSFRNTE5hbWVzLmgiCiAjaW5jbHVkZSAiSFRNTFRleHRBcmVhRWxlbWVu
dC5oIgogI2luY2x1ZGUgIkluc3BlY3RvckNvbnRyb2xsZXIuaCIKKyNpbmNsdWRlICJJbnNwZWN0
b3JDb3VudGVycy5oIgogI2luY2x1ZGUgIkluc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oIgogI2lu
Y2x1ZGUgIkludGVybmFsU2V0dGluZ3MuaCIKICNpbmNsdWRlICJJbnRSZWN0LmgiCkBAIC03NzAs
NiArNzcxLDE4IEBAIGJvb2wgSW50ZXJuYWxzOjpoYXNTcGVsbGluZ01hcmtlcihEb2N1bWVudCog
ZG9jdW1lbnQsIGludCBmcm9tLCBpbnQgbGVuZ3RoLCBFeGNlCiAgICAgcmV0dXJuIGRvY3VtZW50
LT5mcmFtZSgpLT5lZGl0b3IoKS0+c2VsZWN0aW9uU3RhcnRIYXNNYXJrZXJGb3IoRG9jdW1lbnRN
YXJrZXI6OlNwZWxsaW5nLCBmcm9tLCBsZW5ndGgpOwogfQogCisjaWYgRU5BQkxFKElOU1BFQ1RP
UikKK3Vuc2lnbmVkIEludGVybmFsczo6bnVtYmVyT2ZMaXZlTm9kZXMoKSBjb25zdAoreworICAg
IHJldHVybiBJbnNwZWN0b3JDb3VudGVyczo6Y291bnRlclZhbHVlKEluc3BlY3RvckNvdW50ZXJz
OjpOb2RlQ291bnRlcik7Cit9CisKK3Vuc2lnbmVkIEludGVybmFsczo6bnVtYmVyT2ZMaXZlRG9j
dW1lbnRzKCkgY29uc3QKK3sKKyAgICByZXR1cm4gSW5zcGVjdG9yQ291bnRlcnM6OmNvdW50ZXJW
YWx1ZShJbnNwZWN0b3JDb3VudGVyczo6RG9jdW1lbnRDb3VudGVyKTsKK30KKyNlbmRpZiAvLyBF
TkFCTEUoSU5TUEVDVE9SKQorCiBib29sIEludGVybmFsczo6aGFzR3JhbW1hck1hcmtlcihEb2N1
bWVudCogZG9jdW1lbnQsIGludCBmcm9tLCBpbnQgbGVuZ3RoLCBFeGNlcHRpb25Db2RlJikKIHsK
ICAgICBpZiAoIWRvY3VtZW50IHx8ICFkb2N1bWVudC0+ZnJhbWUoKSkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmggYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5n
L0ludGVybmFscy5oCmluZGV4IGY0MzJiODYwM2JjZWYxZGQxZjZiZThhNmY2OThiMmFlNjljYzJi
YTUuLjc1ZWQ3ZTI2ZTk5ZDlmOGEzMDEyMjljODBmZmI3ZWUwNWRlOTRkZTEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
dGVzdGluZy9JbnRlcm5hbHMuaApAQCAtMTQ2LDYgKzE0NiwxMSBAQCBwdWJsaWM6CiAKICAgICB2
b2lkIHNldEJhdHRlcnlTdGF0dXMoRG9jdW1lbnQqLCBjb25zdCBTdHJpbmcmIGV2ZW50VHlwZSwg
Ym9vbCBjaGFyZ2luZywgZG91YmxlIGNoYXJnaW5nVGltZSwgZG91YmxlIGRpc2NoYXJnaW5nVGlt
ZSwgZG91YmxlIGxldmVsLCBFeGNlcHRpb25Db2RlJik7CiAKKyNpZiBFTkFCTEUoSU5TUEVDVE9S
KQorICAgIHVuc2lnbmVkIG51bWJlck9mTGl2ZU5vZGVzKCkgY29uc3Q7CisgICAgdW5zaWduZWQg
bnVtYmVyT2ZMaXZlRG9jdW1lbnRzKCkgY29uc3Q7CisjZW5kaWYKKwogcHJpdmF0ZToKICAgICBl
eHBsaWNpdCBJbnRlcm5hbHMoRG9jdW1lbnQqKTsKICAgICBEb2N1bWVudE1hcmtlciogbWFya2Vy
QXQoTm9kZSosIGNvbnN0IFN0cmluZyYgbWFya2VyVHlwZSwgdW5zaWduZWQgaW5kZXgsIEV4Y2Vw
dGlvbkNvZGUmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxz
LmlkbCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbAppbmRleCA3YjY3YWJl
ZjY3NmQxYzlmYWZiMzVkMDNlMWQ0YjA5MzJlMWVmZTdhLi5mMjIwMGZmYzRiMTU5YTA3NjhmZmRm
YWY2MDJmYzcwZjQ5ODc1MDM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0lu
dGVybmFscy5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCkBA
IC0xMjAsNyArMTIwLDEwIEBAIG1vZHVsZSB3aW5kb3cgewogCiAjaWYgZGVmaW5lZChFTkFCTEVf
QkFUVEVSWV9TVEFUVVMpICYmIEVOQUJMRV9CQVRURVJZX1NUQVRVUwogICAgICAgICB2b2lkIHNl
dEJhdHRlcnlTdGF0dXMoaW4gRG9jdW1lbnQgZG9jdW1lbnQsIGluIERPTVN0cmluZyBldmVudFR5
cGUsIGluIGJvb2xlYW4gY2hhcmdpbmcsIGluIGRvdWJsZSBjaGFyZ2luZ1RpbWUsIGluIGRvdWJs
ZSBkaXNjaGFyZ2luZ1RpbWUsIGluIGRvdWJsZSBsZXZlbCkgcmFpc2VzIChET01FeGNlcHRpb24p
OwotI2VuZGlmCisjZW5kaWYgCisKKyAgICAgICAgW0NvbmRpdGlvbmFsPUlOU1BFQ1RPUl0gdW5z
aWduZWQgbG9uZyBudW1iZXJPZkxpdmVOb2RlcygpOworICAgICAgICBbQ29uZGl0aW9uYWw9SU5T
UEVDVE9SXSB1bnNpZ25lZCBsb25nIG51bWJlck9mTGl2ZURvY3VtZW50cygpOwogICAgIH07CiB9
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyLmRlZiBiL1NvdXJjZS9X
ZWJLaXQyL3dpbi9XZWJLaXQyLmRlZgppbmRleCA4MjM4OGVhZDUxYWE1ZGM0NTg1MWUxZGMyNTg2
ZGM4NTU2NGNlNjQyLi5lMmM4ZjZkZmFkZDc0MjI0YmZmNTJiOGM5MmU4ZjU0NDYwMWZlYjU0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0Mi5kZWYKKysrIGIvU291cmNlL1dl
YktpdDIvd2luL1dlYktpdDIuZGVmCkBAIC0xMTUsNiArMTE1LDcgQEAgRVhQT1JUUwogICAgICAg
ICA/PzFUaHJlYWRDb25kaXRpb25AV1RGQEBRQUVAWFoKICAgICAgICAgP2Jyb2FkY2FzdEBUaHJl
YWRDb25kaXRpb25AV1RGQEBRQUVYWFoKICAgICAgICAgP2NhbGxPbk1haW5UaHJlYWRAV1RGQEBZ
QVhQNkFYUEFYQFowQFoKKyAgICAgICAgP2NvdW50ZXJWYWx1ZUBJbnNwZWN0b3JDb3VudGVyc0BX
ZWJDb3JlQEBTQUhXNENvdW50ZXJUeXBlQDEyQEBaCiAgICAgICAgID9jcmVhdGVUaHJlYWRAV1RG
QEBZQUlQNkFQQVhQQVhAWjBQQkRAWgogICAgICAgICA/Y3JlYXRlVGhyZWFkQFdURkBAWUFJUDZB
WFBBWEBaMFBCREBaCiAgICAgICAgID9jdXJyZW50VGhyZWFkQFdURkBAWUFJWFoKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyQ0ZMaXRlLmRlZiBiL1NvdXJjZS9XZWJLaXQy
L3dpbi9XZWJLaXQyQ0ZMaXRlLmRlZgppbmRleCBlMDU0ZDU1MmY0NTEzYzViNGIwN2NmNGU3NDcy
ZWM2MWE3NTk1YTYyLi42NzY5NjE1ZjZiYTY0Y2NhOTgwNzkzNmJkNzMzZWQ3MTc4ZWM5MzhiIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0MkNGTGl0ZS5kZWYKKysrIGIvU291
cmNlL1dlYktpdDIvd2luL1dlYktpdDJDRkxpdGUuZGVmCkBAIC0xMDgsNiArMTA4LDcgQEAgRVhQ
T1JUUwogICAgICAgICA/PzFUaHJlYWRDb25kaXRpb25AV1RGQEBRQUVAWFoKICAgICAgICAgP2Jy
b2FkY2FzdEBUaHJlYWRDb25kaXRpb25AV1RGQEBRQUVYWFoKICAgICAgICAgP2NhbGxPbk1haW5U
aHJlYWRAV1RGQEBZQVhQNkFYUEFYQFowQFoKKyAgICAgICAgP2NvdW50ZXJWYWx1ZUBJbnNwZWN0
b3JDb3VudGVyc0BXZWJDb3JlQEBTQUhXNENvdW50ZXJUeXBlQDEyQEBaCiAgICAgICAgID9jcmVh
dGVUaHJlYWRAV1RGQEBZQUlQNkFQQVhQQVhAWjBQQkRAWgogICAgICAgICA/Y3JlYXRlVGhyZWFk
QFdURkBAWUFJUDZBWFBBWEBaMFBCREBaCiAgICAgICAgID9jdXJyZW50VGhyZWFkQFdURkBAWUFJ
WFoKZGlmZiAtLWdpdCBhL1NvdXJjZS9hdXRvdG9vbHMvc3ltYm9scy5maWx0ZXIgYi9Tb3VyY2Uv
YXV0b3Rvb2xzL3N5bWJvbHMuZmlsdGVyCmluZGV4IDY1MmYxODJlNjg0ZjU0YmI2YWVjMzNkYWI5
NmYwMTRlZjVjNWFmOWEuLmFjN2IwMGNkZWQxN2ZlOWIxOWY1ODJlNzEzNzRmMDJjNzRiMTYyNGEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9hdXRvdG9vbHMvc3ltYm9scy5maWx0ZXIKKysrIGIvU291cmNl
L2F1dG90b29scy9zeW1ib2xzLmZpbHRlcgpAQCAtNTksNiArNTksNyBAQCBfWk43V2ViQ29yZTE2
SFRNTElucHV0RWxlbWVudDE3c2V0U3VnZ2VzdGVkVmFsdWVFUktOM1dURjZTdHJpbmdFOwogX1pO
N1dlYkNvcmUxNmpzU3RyaW5nU2xvd0Nhc2VFUE4zSlNDOUV4ZWNTdGF0ZUVSTjNXVEY3SGFzaE1h
cElQTlMzXzEwU3RyaW5nSW1wbEVOUzBfNFdlYWtJTlMwXzhKU1N0cmluZ0VFRU5TM18xMFN0cmlu
Z0hhc2hFTlMzXzEwSGFzaFRyYWl0c0lTNl9FRU5TQl9JUzlfRUVFRVM2XzsKIF9aTjdXZWJDb3Jl
MTZzY3JpcHROYW1lVG9Db2RlRVJLTjNXVEY2U3RyaW5nRTsKIF9aTjdXZWJDb3JlMTdjYWNoZURP
TVN0cnVjdHVyZUVQTlNfMTdKU0RPTUdsb2JhbE9iamVjdEVQTjNKU0M5U3RydWN0dXJlRVBLTlMy
XzlDbGFzc0luZm9FOworX1pON1dlYkNvcmUxN0luc3BlY3RvckNvdW50ZXJzMTJjb3VudGVyVmFs
dWVFTlMwXzExQ291bnRlclR5cGVFOwogX1pON1dlYkNvcmUxOEhUTUxDb250ZW50RWxlbWVudDZj
cmVhdGVFUE5TXzhEb2N1bWVudEU7CiBfWk43V2ViQ29yZTE5SW5zcGVjdG9yQ29udHJvbGxlcjM5
c2V0UmVzb3VyY2VzRGF0YVNpemVMaW1pdHNGcm9tSW50ZXJuYWxzRWlpOwogX1pON1dlYkNvcmUy
ME5vZGVSZW5kZXJpbmdDb250ZXh0QzFFUE5TXzROb2RlRTsKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA5Y2NjN2ZkN2M2Yjk4
NGJhYjM2ZGRjNzlhMGFhODU0N2Y5ZTNkZjRiLi4yYjU5YjVhNjY4ZmFhNDg2M2E2M2I1MGY5ZTAz
NWY5ZDI1MzgzNTZhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5
b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAKKzIwMTItMDMtMjMgIERhdmUgTWlj
aGFlbCAgPGRtaWNoYWVsQGNocm9taXVtLm9yZz4KKworICAgICAgICBIVE1MUGx1Z2luRWxlbWVu
dCBpcyBub3QgZGVzdHJveWVkIG9uIHJlbG9hZCBvciBuYXZpZ2F0aW9uIGlmIGdldE5QT2JqZWN0
IGlzIGNhbGxlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9ODA0MjgKKworICAgICAgICBEdWUgdG8gdW5mb3J0dW5hdGUgY29weS9wYXN0ZSBsYXppbmVz
cywgdGhlIG5ldyB0ZXN0IHdhcyB1c2luZyB0aGUgc2FtZQorICAgICAgICB3aW5kb3cuc2Vzc2lv
blN0b3JhZ2UgYXMgcGx1Z2lucy9yZWxvYWRwbHVnaW5zLWFuZC1wYWdlcy5odG1sLCBzbyB0aGF0
CisgICAgICAgIGlmIHRoZSB0ZXN0cyB3ZXJlIHJ1biBpbiB0aGUgc2FtZSBzZXNzaW9uLCByZWxv
YWRwbHVnaW5zLWFuZC1wYWdlcy5odG1sCisgICAgICAgIHdvdWxkICpub3QqIHJlbG9hZCBhcyBp
dCB3YXMgc3VwcG9zZWQgdG8sIGNhdXNpbmcgYSB0ZXh0IG1pc21hdGNoLiBUaGlzCisgICAgICAg
IHBhdGNoIHVzZXMgYSBtb3JlIGFwcHJvcHJpYXRlIGFuZCB1bmlxdWUgbmFtZSBzbyB0aGF0IHRo
ZXNlIHR3byB0ZXN0cworICAgICAgICB3b24ndCBhZmZlY3QgZWFjaCBvdGhlci4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHBsdWdpbnMvbmV0c2Nh
cGUtZG9tLWFjY2Vzcy1hbmQtcmVsb2FkLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICog
cGx1Z2lucy9uZXRzY2FwZS1kb20tYWNjZXNzLWFuZC1yZWxvYWQuaHRtbDogQWRkZWQuCisKIDIw
MTItMDMtMjMgIENzYWJhIE9zenRyb2dvbsOhYyAgPG9zc3lAd2Via2l0Lm9yZz4KIAogICAgICAg
ICBbUXRdIFVucmV2aWV3ZWQgZ2FyZGVuaW5nLiBUcnkgdG8gc2tpcCB0aGUgdGVzdCBiZWZvcmUg
dGhlIGNyYXNoaW5nIG9uZS4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsdWdpbnMvbmV0c2Nh
cGUtZG9tLWFjY2Vzcy1hbmQtcmVsb2FkLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsdWdp
bnMvbmV0c2NhcGUtZG9tLWFjY2Vzcy1hbmQtcmVsb2FkLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li41NWU3NTk4MWQyMzYxMDEyM2RiOTEwOTlkNTkwYmUxZDcxMWMwMGRmCi0tLSAvZGV2L251bGwK
KysrIGIvTGF5b3V0VGVzdHMvcGx1Z2lucy9uZXRzY2FwZS1kb20tYWNjZXNzLWFuZC1yZWxvYWQt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorVGhpcyBwYWdlIHRlc3RzIHJlbG9hZGluZyBh
IE5ldHNjYXBlIHBsdWctaW4gdGhhdCBhY2Nlc3NlcyBpdHMgb3duIERPTSBlbGVtZW50LiBTZWUg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgwNDI4LCAiSFRNTFBsdWdp
bkVsZW1lbnQgaXMgbm90IGRlc3Ryb3llZCBvbiByZWxvYWQgb3IgbmF2aWdhdGlvbiBpZiBnZXRO
UE9iamVjdCBpcyBjYWxsZWQiLiBJZiBpdCBzdWNjZWVkcywgeW91IHNob3VsZCBzZWUgU1VDQ0VT
UyBiZWxvdy4gCisKK1NVQ0NFU1MKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsdWdpbnMvbmV0
c2NhcGUtZG9tLWFjY2Vzcy1hbmQtcmVsb2FkLmh0bWwgYi9MYXlvdXRUZXN0cy9wbHVnaW5zL25l
dHNjYXBlLWRvbS1hY2Nlc3MtYW5kLXJlbG9hZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRiOTU2NTRkMzk1
MDQwMmYyZGMyYzQ0YTEzNDU0MGIyZjlkNjNjNGEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9wbHVnaW5zL25ldHNjYXBlLWRvbS1hY2Nlc3MtYW5kLXJlbG9hZC5odG1sCkBAIC0wLDAg
KzEsNTUgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+CitmdW5j
dGlvbiBydW5UZXN0KCkKK3sKKyAgICAvLyBNYWtlIHRoZSBwbHVnaW4gcmV0cmlldmUgYSBET00g
ZWxlbWVudCB0byBpdHNlbGYuIFRoaXMgZXhlcmNpc2VzCisgICAgLy8gaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgwNDI4CisgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoInRlc3RQbHVnaW4iKS50ZXN0RE9NQWNjZXNzKCk7CisKKyAgICB2YXIgY2FsbFJlbG9hZCA9
IHRydWU7CisgICAgaWYgKHdpbmRvdy5zZXNzaW9uU3RvcmFnZSkgeworICAgICAgICBpZiAod2lu
ZG93LnNlc3Npb25TdG9yYWdlLm5ldHNjYXBlRG9tQWNjZXNzQW5kUmVsb2FkSGFzUmVsb2FkZWQp
CisgICAgICAgICAgICBjYWxsUmVsb2FkID0gZmFsc2U7CisgICAgICAgIGVsc2UKKyAgICAgICAg
ICAgIHdpbmRvdy5zZXNzaW9uU3RvcmFnZS5uZXRzY2FwZURvbUFjY2Vzc0FuZFJlbG9hZEhhc1Jl
bG9hZGVkID0gMTsKKyAgICB9CisKKyAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVy
KQorICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisgICAgCisgICAg
aWYgKGNhbGxSZWxvYWQpIHsKKyAgICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxl
cikKKyAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsKKyAg
ICAgICAgbG9jYXRpb24ucmVsb2FkKCk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgd2luZG93LkdD
Q29udHJvbGxlci5jb2xsZWN0KCk7CisgICAgICAgIC8vIE5vdGUgd2UgY291bGQgYWxzbyBjb2xs
ZWN0IHRoZSBudW1iZXIgb2YgbGl2ZSBub2RlcywgYnV0IHRoYXQgc2VlbXMKKyAgICAgICAgLy8g
bW9yZSBsaWtlbHkgdG8gZ2l2ZSBzcHVyaW91cyBmYWlsdXJlcy4gV2hlbiBhbiBIVE1MUGx1Z2lu
RWxlbWVudCBpcworICAgICAgICAvLyBpbXByb3Blcmx5IHJldGFpbmVkLCBpdHMgb3duaW5nIERv
Y3VtZW50IGFsc28gc3Vydml2ZXMsIHNvIHdlJ2xsCisgICAgICAgIC8vIGRldGVjdCBhbiBleGNl
c3MgRG9jdW1lbnQuCisgICAgICAgIGlmIChpbnRlcm5hbHMgJiYgaW50ZXJuYWxzLm51bWJlck9m
TGl2ZURvY3VtZW50cykgeworICAgICAgICAgICAgdmFyIG51bWJlck9mTGl2ZURvY3VtZW50cyA9
IGludGVybmFscy5udW1iZXJPZkxpdmVEb2N1bWVudHMoKTsKKyAgICAgICAgICAgIGlmIChudW1i
ZXJPZkxpdmVEb2N1bWVudHMgPT0gMSkgeworICAgICAgICAgICAgICAgIGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJyZXN1bHQiKS5pbm5lckhUTUwgPSAiU1VDQ0VTUyI7CisgICAgICAgICAgICB9
CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJyZXN1bHQiKS5pbm5lckhUTUwgPSAiRkFJTEVEOyBUaGlzIHRlc3QgaXMgb25seSB2YWxpZCBp
biBEdW1wUmVuZGVyVHJlZSwgYW5kIG9ubHkgd2hlbiB0aGUgSW5zcGVjdG9yIGlzIGVuYWJsZWQu
IjsKKyAgICAgICAgfQorICAgICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7
CisgICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisgICAgICAg
ICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7CisgICAgICAgIH0KKyAgICB9
Cit9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0icnVuVGVzdCgpOyI+Cis8cD5U
aGlzIHBhZ2UgdGVzdHMgcmVsb2FkaW5nIGEgTmV0c2NhcGUgcGx1Zy1pbiB0aGF0IGFjY2Vzc2Vz
IGl0cyBvd24gRE9NIGVsZW1lbnQuIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9ODA0MjgsICJIVE1MUGx1Z2luRWxlbWVudCBpcyBub3QgZGVzdHJveWVkIG9uIHJl
bG9hZCBvciBuYXZpZ2F0aW9uIGlmIGdldE5QT2JqZWN0IGlzIGNhbGxlZCIuCisKK0lmIGl0IHN1
Y2NlZWRzLCB5b3Ugc2hvdWxkIHNlZSBTVUNDRVNTIGJlbG93LgorPGVtYmVkIGlkPSJ0ZXN0UGx1
Z2luIiB0eXBlPSJhcHBsaWNhdGlvbi94LXdlYmtpdC10ZXN0LW5ldHNjYXBlIiB3aWR0aD0iMjAw
IiBoZWlnaHQ9IjIwMCI+PC9lbWJlZD4KKzxkaXYgaWQ9InJlc3VsdCI+RkFJTFVSRTwvZGl2Pgor
PC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvQ2hhbmdlTG9nIGIvQ2hhbmdlTG9nCmluZGV4
IDBiOTQ1ZDRjNjdkMzViOTg2MjUxOTU5YWU5ZTRhMGJlY2Q2N2QwZGQuLmExZTMzNjZiZDc4YjZk
NGY5NjViYWNiY2EwZWExZjQ0OTI2OTkwYjYgMTAwNjQ0Ci0tLSBhL0NoYW5nZUxvZworKysgYi9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAxMi0wMy0yMyAgRGF2ZSBNaWNoYWVsICA8ZG1p
Y2hhZWxAY2hyb21pdW0ub3JnPgorCisgICAgICAgIEhUTUxQbHVnaW5FbGVtZW50IGlzIG5vdCBk
ZXN0cm95ZWQgb24gcmVsb2FkIG9yIG5hdmlnYXRpb24gaWYgZ2V0TlBPYmplY3QgaXMgY2FsbGVk
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MDQyOAor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogU291cmNl
L2F1dG90b29scy9zeW1ib2xzLmZpbHRlcjoKKwogMjAxMi0wMy0yMyAgUnlvc3VrZSBOaXdhICA8
cm5pd2FAd2Via2l0Lm9yZz4KIAogICAgICAgICBSRUdSRVNTSU9OKHIxMTE3NTQpOiBwbHVnaW5z
L3JlbG9hZHBsdWdpbnMtYW5kLXBhZ2VzLmh0bWwgZmFpbHMgb24gYWxsIHBsYXRmb3Jtcwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>133507</attachid>
            <date>2012-03-23 10:21:25 -0700</date>
            <delta_ts>2012-03-23 11:06:24 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-80428-20120323112124.patch</filename>
            <type>text/plain</type>
            <size>14604</size>
            <attacher name="Dave Michael">dmichael</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTExODY2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDc2MjIwNTIwNDBlYzRk
NjYzNDkzOTAxYmE5YzRhMjFkYTQxMWQ3Ny4uMzQ0OTQ1NmU4ZTBhNTA2NDAxNDA3NjVhMjBlOGRl
MzdmYWUzYWQzNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM4IEBACisyMDEyLTAzLTIzICBEYXZl
IE1pY2hhZWwgIDxkbWljaGFlbEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmVsYW5kaW5nKHIx
MTE3NTQpOiBIVE1MUGx1Z2luRWxlbWVudCBpcyBub3QgZGVzdHJveWVkIG9uIHJlbG9hZCBvciBu
YXZpZ2F0aW9uIGlmIGdldE5QT2JqZWN0IGlzIGNhbGxlZAorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODA0MjgKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBNYWtlIEhUTUxQbHVnaW5FbGVtZW50IHJlbGVhc2Ug
aXRzIG1fTlBPYmplY3QgaW4gZGV0YWNoKCkgdG8gYnJlYWsgYQorICAgICAgICByZWZlcmVuY2Ut
Y291bnRpbmcgY3ljbGUgdGhhdCBoYXBwZW5zIG9uIHJlbG9hZCBvciBuYXZpZ2F0aW9uLiBXaXRo
IHRoaXMKKyAgICAgICAgY2hhbmdlLCBIVE1MUGx1Z0luRWxlbWVudDo6cmVtb3ZlZEZyb21Eb2N1
bWVudCBpcyB1bm5lY2Vzc2FyeSwgc28gaXQKKyAgICAgICAgd2FzIHJlbW92ZWQuIE5vdGUgdGhh
dCBSZWxlYXNpbmcgbV9OUE9iamVjdCBkb2VzIG5vdCByZXN1bHQgaW4gYSBjYWxsIHRvCisgICAg
ICAgIHRoZSBwbHVnaW47IGl0IHNpbXBseSByZWxlYXNlcyBhIHJlZmVyZW5jZSBjb3VudCBvbiB0
aGUgd3JhcHBlciBvYmplY3QKKyAgICAgICAgZm9yIHRoaXMgSFRNTFBsdWdJbkVsZW1lbnQuIChU
aGUgcGx1Z2luJ3MgTlBQX0RlYWxsb2NhdGUgaXMgaW52b2tlZAorICAgICAgICB3aGVuIHRoZSBy
ZW5kZXIgdHJlZSBpcyBkZXN0cm95ZWQsIHdoZW4gUGx1Z2luVmlldyBjYWxscworICAgICAgICBQ
bHVnaW5QYWNrYWdlOjp1bmxvYWQuKSBUaHVzLCBpdCBpcyBzYWZlIHRvIHJlbGVhc2UgbV9OUE9i
amVjdCBpbgorICAgICAgICBkZXRhY2gsIGJlY2F1c2UgaXQgY2FuIG5vdCByZXN1bHQgaW4gbGF5
b3V0IG9yIHN0eWxlIGNoYW5nZXMuCisKKyAgICAgICAgQWxzbyBhZGRlZCBudW1iZXJPZkxpdmVO
b2RlcygpIGFuZCBudW1iZXJPZkxpdmVEb2N1bWVudHMoKSB0bworICAgICAgICB3aW5kb3cuaW50
ZXJuYWxzIHRvIGVuYWJsZSB0ZXN0aW5nLgorCisgICAgICAgIFRlc3Q6IHBsdWdpbnMvbmV0c2Nh
cGUtZG9tLWFjY2Vzcy1hbmQtcmVsb2FkLmh0bWwKKworICAgICAgICAqIFdlYkNvcmUuZXhwLmlu
OgorICAgICAgICAqIGh0bWwvSFRNTFBsdWdJbkVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6SFRNTFBsdWdJbkVsZW1lbnQ6OmRldGFjaCk6CisgICAgICAgICogaHRtbC9IVE1MUGx1Z0lu
RWxlbWVudC5oOgorICAgICAgICAoSFRNTFBsdWdJbkVsZW1lbnQpOgorICAgICAgICAqIHRlc3Rp
bmcvSW50ZXJuYWxzLmNwcDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6
SW50ZXJuYWxzOjpudW1iZXJPZkxpdmVOb2Rlcyk6CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5h
bHM6Om51bWJlck9mTGl2ZURvY3VtZW50cyk6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMu
aDoKKyAgICAgICAgKEludGVybmFscyk6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuaWRs
OgorCiAyMDEyLTAzLTIzICBLZW50YXJvIEhhcmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4KIAog
ICAgICAgICBTdXBwb3J0IFtJbXBsZW1lbnRlZEFzXSBmb3IgYXR0cmlidXRlcwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmlu
ZGV4IDRhZjQyYzBkNzY2YjhhZTEzYjJmZGU2ZDRhYTZjYzg4ZDJiYjEyMDYuLmIyOGYwMmY0YjFh
ZjU5YTZhMWJhZTY1YWI1M2U0MGIxN2E1OTM4YmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBA
QAorMjAxMi0wMy0yMyAgRGF2ZSBNaWNoYWVsICA8ZG1pY2hhZWxAY2hyb21pdW0ub3JnPgorCisg
ICAgICAgIFJlbGFuZGluZyhyMTExNzU0KTogSFRNTFBsdWdpbkVsZW1lbnQgaXMgbm90IGRlc3Ry
b3llZCBvbiByZWxvYWQgb3IgbmF2aWdhdGlvbiBpZiBnZXROUE9iamVjdCBpcyBjYWxsZWQKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgwNDI4CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3aW4vV2ViS2l0
Mi5kZWY6IEV4cG9ydCBhIHN5bWJvbCBmb3IgSW5zcGVjdG9yQ291bnRlcnM6OmNvdW50ZXJWYWx1
ZQorICAgICAgICAqIHdpbi9XZWJLaXQyQ0ZMaXRlLmRlZjogRXhwb3J0IGEgc3ltYm9sIGZvciBJ
bnNwZWN0b3JDb3VudGVyczo6Y291bnRlclZhbHVlCisKIDIwMTItMDMtMjMgIFNoZXJpZmYgQm90
ICA8d2Via2l0LnJldmlldy5ib3RAZ21haWwuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJv
bGxpbmcgb3V0IHIxMTE4NTUuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4
cC5pbiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCmluZGV4IDkyZjQ1M2EyNmIzNzA2
MmQ2YjhlYzRlOTBmZTJkN2YwYWNhOWQ1OWMuLjcyMWFjNGMzODk3MjA1ODNhNWJiZTM4NjRmZDA5
NzFlMGVmZWU1ODUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCisr
KyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCkBAIC0xNzQ4LDYgKzE3NDgsNyBAQCBf
X1pOSzdXZWJDb3JlMTJJY29uRGF0YWJhc2U5aXNFbmFibGVkRXYKIAogI2lmIEVOQUJMRShJTlNQ
RUNUT1IpCiBfX1pON1dlYkNvcmUxNUluc3BlY3RvckNsaWVudDMxZG9EaXNwYXRjaE1lc3NhZ2VP
bkZyb250ZW5kUGFnZUVQTlNfNFBhZ2VFUktOM1dURjZTdHJpbmdFCitfX1pON1dlYkNvcmUxN0lu
c3BlY3RvckNvdW50ZXJzMTJjb3VudGVyVmFsdWVFTlMwXzExQ291bnRlclR5cGVFCiBfX1pON1dl
YkNvcmUxOUluc3BlY3RvckNvbnRyb2xsZXIxNGVuYWJsZVByb2ZpbGVyRXYKIF9fWk43V2ViQ29y
ZTE5SW5zcGVjdG9yQ29udHJvbGxlcjE1ZGlzYWJsZVByb2ZpbGVyRXYKIF9fWk43V2ViQ29yZTE5
SW5zcGVjdG9yQ29udHJvbGxlcjE1cHJvZmlsZXJFbmFibGVkRXYKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTFBsdWdJbkVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MUGx1Z0luRWxlbWVudC5jcHAKaW5kZXggMjk5ZTQ3YjJlZjlmY2EzMWVmNzFiMmMzMDhi
MDAwYWU0ZGIyNjI2NC4uNDU4ZDE1NzU4ZjU2ZGNjYWZhNWYzMWI5YmIyNDc4Zjg0ZGRkMWU5MSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MUGx1Z0luRWxlbWVudC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MUGx1Z0luRWxlbWVudC5jcHAKQEAgLTc4LDExICs3
OCw2IEBAIHZvaWQgSFRNTFBsdWdJbkVsZW1lbnQ6OmRldGFjaCgpCiAgICAgICAgIG1faXNDYXB0
dXJpbmdNb3VzZUV2ZW50cyA9IGZhbHNlOwogICAgIH0KIAotICAgIEhUTUxGcmFtZU93bmVyRWxl
bWVudDo6ZGV0YWNoKCk7Ci19Ci0KLXZvaWQgSFRNTFBsdWdJbkVsZW1lbnQ6OnJlbW92ZWRGcm9t
RG9jdW1lbnQoKQotewogI2lmIEVOQUJMRShORVRTQ0FQRV9QTFVHSU5fQVBJKQogICAgIGlmICht
X05QT2JqZWN0KSB7CiAgICAgICAgIF9OUE5fUmVsZWFzZU9iamVjdChtX05QT2JqZWN0KTsKQEAg
LTkwLDcgKzg1LDcgQEAgdm9pZCBIVE1MUGx1Z0luRWxlbWVudDo6cmVtb3ZlZEZyb21Eb2N1bWVu
dCgpCiAgICAgfQogI2VuZGlmCiAKLSAgICBIVE1MRnJhbWVPd25lckVsZW1lbnQ6OnJlbW92ZWRG
cm9tRG9jdW1lbnQoKTsKKyAgICBIVE1MRnJhbWVPd25lckVsZW1lbnQ6OmRldGFjaCgpOwogfQog
CiBQYXNzU2NyaXB0SW5zdGFuY2UgSFRNTFBsdWdJbkVsZW1lbnQ6OmdldEluc3RhbmNlKCkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFBsdWdJbkVsZW1lbnQuaCBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTFBsdWdJbkVsZW1lbnQuaAppbmRleCAyMmIxNGM0ZTcwYmI3MWYw
NTMxZDBlNWI2MTRlOWJhY2M0ZmRhZDQwLi42NWY4NjliZGI1MGU1MmMxZDM3M2JkZWNkOGMxOTU4
MGI4Y2RhYWIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQbHVnSW5FbGVt
ZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MUGx1Z0luRWxlbWVudC5oCkBAIC01
Nyw3ICs1Nyw2IEBAIHByb3RlY3RlZDoKICAgICBIVE1MUGx1Z0luRWxlbWVudChjb25zdCBRdWFs
aWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCopOwogCiAgICAgdmlydHVhbCB2b2lkIGRldGFj
aCgpOwotICAgIHZpcnR1YWwgdm9pZCByZW1vdmVkRnJvbURvY3VtZW50KCk7CiAgICAgdmlydHVh
bCBib29sIGlzUHJlc2VudGF0aW9uQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmKSBjb25z
dCBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQgY29sbGVjdFN0eWxlRm9yQXR0cmlidXRlKEF0
dHJpYnV0ZSosIFN0eWxlUHJvcGVydHlTZXQqKSBPVkVSUklERTsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwIGIvU291cmNlL1dlYkNvcmUvdGVzdGlu
Zy9JbnRlcm5hbHMuY3BwCmluZGV4IGU0MDllNTZmZjdkOTBiYTM2YTIxM2U1MTc1NGM3YTVjYjI0
NWQ4MjAuLjZmMmVlMzNhN2FiNjhmMjZmZDEwNzE5N2U4MTg3NjZhZjE5ZjUwNjcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKQEAgLTQyLDYgKzQyLDcgQEAKICNpbmNsdWRlICJI
VE1MTmFtZXMuaCIKICNpbmNsdWRlICJIVE1MVGV4dEFyZWFFbGVtZW50LmgiCiAjaW5jbHVkZSAi
SW5zcGVjdG9yQ29udHJvbGxlci5oIgorI2luY2x1ZGUgIkluc3BlY3RvckNvdW50ZXJzLmgiCiAj
aW5jbHVkZSAiSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgiCiAjaW5jbHVkZSAiSW50ZXJuYWxT
ZXR0aW5ncy5oIgogI2luY2x1ZGUgIkludFJlY3QuaCIKQEAgLTc3MCw2ICs3NzEsMTggQEAgYm9v
bCBJbnRlcm5hbHM6Omhhc1NwZWxsaW5nTWFya2VyKERvY3VtZW50KiBkb2N1bWVudCwgaW50IGZy
b20sIGludCBsZW5ndGgsIEV4Y2UKICAgICByZXR1cm4gZG9jdW1lbnQtPmZyYW1lKCktPmVkaXRv
cigpLT5zZWxlY3Rpb25TdGFydEhhc01hcmtlckZvcihEb2N1bWVudE1hcmtlcjo6U3BlbGxpbmcs
IGZyb20sIGxlbmd0aCk7CiB9CiAKKyNpZiBFTkFCTEUoSU5TUEVDVE9SKQordW5zaWduZWQgSW50
ZXJuYWxzOjpudW1iZXJPZkxpdmVOb2RlcygpIGNvbnN0Cit7CisgICAgcmV0dXJuIEluc3BlY3Rv
ckNvdW50ZXJzOjpjb3VudGVyVmFsdWUoSW5zcGVjdG9yQ291bnRlcnM6Ok5vZGVDb3VudGVyKTsK
K30KKwordW5zaWduZWQgSW50ZXJuYWxzOjpudW1iZXJPZkxpdmVEb2N1bWVudHMoKSBjb25zdAor
eworICAgIHJldHVybiBJbnNwZWN0b3JDb3VudGVyczo6Y291bnRlclZhbHVlKEluc3BlY3RvckNv
dW50ZXJzOjpEb2N1bWVudENvdW50ZXIpOworfQorI2VuZGlmIC8vIEVOQUJMRShJTlNQRUNUT1Ip
CisKIGJvb2wgSW50ZXJuYWxzOjpoYXNHcmFtbWFyTWFya2VyKERvY3VtZW50KiBkb2N1bWVudCwg
aW50IGZyb20sIGludCBsZW5ndGgsIEV4Y2VwdGlvbkNvZGUmKQogewogICAgIGlmICghZG9jdW1l
bnQgfHwgIWRvY3VtZW50LT5mcmFtZSgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVz
dGluZy9JbnRlcm5hbHMuaCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKaW5k
ZXggZjQzMmI4NjAzYmNlZjFkZDFmNmJlOGE2ZjY5OGIyYWU2OWNjMmJhNS4uNzVlZDdlMjZlOTlk
OWY4YTMwMTIyOWM4MGZmYjdlZTA1ZGU5NGRlMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
dGVzdGluZy9JbnRlcm5hbHMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFs
cy5oCkBAIC0xNDYsNiArMTQ2LDExIEBAIHB1YmxpYzoKIAogICAgIHZvaWQgc2V0QmF0dGVyeVN0
YXR1cyhEb2N1bWVudCosIGNvbnN0IFN0cmluZyYgZXZlbnRUeXBlLCBib29sIGNoYXJnaW5nLCBk
b3VibGUgY2hhcmdpbmdUaW1lLCBkb3VibGUgZGlzY2hhcmdpbmdUaW1lLCBkb3VibGUgbGV2ZWws
IEV4Y2VwdGlvbkNvZGUmKTsKIAorI2lmIEVOQUJMRShJTlNQRUNUT1IpCisgICAgdW5zaWduZWQg
bnVtYmVyT2ZMaXZlTm9kZXMoKSBjb25zdDsKKyAgICB1bnNpZ25lZCBudW1iZXJPZkxpdmVEb2N1
bWVudHMoKSBjb25zdDsKKyNlbmRpZgorCiBwcml2YXRlOgogICAgIGV4cGxpY2l0IEludGVybmFs
cyhEb2N1bWVudCopOwogICAgIERvY3VtZW50TWFya2VyKiBtYXJrZXJBdChOb2RlKiwgY29uc3Qg
U3RyaW5nJiBtYXJrZXJUeXBlLCB1bnNpZ25lZCBpbmRleCwgRXhjZXB0aW9uQ29kZSYpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsIGIvU291cmNlL1dl
YkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCmluZGV4IDdiNjdhYmVmNjc2ZDFjOWZhZmIzNWQw
M2UxZDRiMDkzMmUxZWZlN2EuLmYyMjAwZmZjNGIxNTlhMDc2OGZmZGZhZjYwMmZjNzBmNDk4NzUw
MzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwKQEAgLTEyMCw3ICsxMjAsMTAg
QEAgbW9kdWxlIHdpbmRvdyB7CiAKICNpZiBkZWZpbmVkKEVOQUJMRV9CQVRURVJZX1NUQVRVUykg
JiYgRU5BQkxFX0JBVFRFUllfU1RBVFVTCiAgICAgICAgIHZvaWQgc2V0QmF0dGVyeVN0YXR1cyhp
biBEb2N1bWVudCBkb2N1bWVudCwgaW4gRE9NU3RyaW5nIGV2ZW50VHlwZSwgaW4gYm9vbGVhbiBj
aGFyZ2luZywgaW4gZG91YmxlIGNoYXJnaW5nVGltZSwgaW4gZG91YmxlIGRpc2NoYXJnaW5nVGlt
ZSwgaW4gZG91YmxlIGxldmVsKSByYWlzZXMgKERPTUV4Y2VwdGlvbik7Ci0jZW5kaWYKKyNlbmRp
ZiAKKworICAgICAgICBbQ29uZGl0aW9uYWw9SU5TUEVDVE9SXSB1bnNpZ25lZCBsb25nIG51bWJl
ck9mTGl2ZU5vZGVzKCk7CisgICAgICAgIFtDb25kaXRpb25hbD1JTlNQRUNUT1JdIHVuc2lnbmVk
IGxvbmcgbnVtYmVyT2ZMaXZlRG9jdW1lbnRzKCk7CiAgICAgfTsKIH0KIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvd2luL1dlYktpdDIuZGVmIGIvU291cmNlL1dlYktpdDIvd2luL1dlYktp
dDIuZGVmCmluZGV4IDgyMzg4ZWFkNTFhYTVkYzQ1ODUxZTFkYzI1ODZkYzg1NTY0Y2U2NDIuLmUy
YzhmNmRmYWRkNzQyMjRiZmY1MmI4YzkyZThmNTQ0NjAxZmViNTQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL3dpbi9XZWJLaXQyLmRlZgorKysgYi9Tb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0
Mi5kZWYKQEAgLTExNSw2ICsxMTUsNyBAQCBFWFBPUlRTCiAgICAgICAgID8/MVRocmVhZENvbmRp
dGlvbkBXVEZAQFFBRUBYWgogICAgICAgICA/YnJvYWRjYXN0QFRocmVhZENvbmRpdGlvbkBXVEZA
QFFBRVhYWgogICAgICAgICA/Y2FsbE9uTWFpblRocmVhZEBXVEZAQFlBWFA2QVhQQVhAWjBAWgor
ICAgICAgICA/Y291bnRlclZhbHVlQEluc3BlY3RvckNvdW50ZXJzQFdlYkNvcmVAQFNBSFc0Q291
bnRlclR5cGVAMTJAQFoKICAgICAgICAgP2NyZWF0ZVRocmVhZEBXVEZAQFlBSVA2QVBBWFBBWEBa
MFBCREBaCiAgICAgICAgID9jcmVhdGVUaHJlYWRAV1RGQEBZQUlQNkFYUEFYQFowUEJEQFoKICAg
ICAgICAgP2N1cnJlbnRUaHJlYWRAV1RGQEBZQUlYWgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvd2luL1dlYktpdDJDRkxpdGUuZGVmIGIvU291cmNlL1dlYktpdDIvd2luL1dlYktpdDJDRkxp
dGUuZGVmCmluZGV4IGUwNTRkNTUyZjQ1MTNjNWI0YjA3Y2Y0ZTc0NzJlYzYxYTc1OTVhNjIuLjY3
Njk2MTVmNmJhNjRjY2E5ODA3OTM2YmQ3MzNlZDcxNzhlYzkzOGIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL3dpbi9XZWJLaXQyQ0ZMaXRlLmRlZgorKysgYi9Tb3VyY2UvV2ViS2l0Mi93aW4v
V2ViS2l0MkNGTGl0ZS5kZWYKQEAgLTEwOCw2ICsxMDgsNyBAQCBFWFBPUlRTCiAgICAgICAgID8/
MVRocmVhZENvbmRpdGlvbkBXVEZAQFFBRUBYWgogICAgICAgICA/YnJvYWRjYXN0QFRocmVhZENv
bmRpdGlvbkBXVEZAQFFBRVhYWgogICAgICAgICA/Y2FsbE9uTWFpblRocmVhZEBXVEZAQFlBWFA2
QVhQQVhAWjBAWgorICAgICAgICA/Y291bnRlclZhbHVlQEluc3BlY3RvckNvdW50ZXJzQFdlYkNv
cmVAQFNBSFc0Q291bnRlclR5cGVAMTJAQFoKICAgICAgICAgP2NyZWF0ZVRocmVhZEBXVEZAQFlB
SVA2QVBBWFBBWEBaMFBCREBaCiAgICAgICAgID9jcmVhdGVUaHJlYWRAV1RGQEBZQUlQNkFYUEFY
QFowUEJEQFoKICAgICAgICAgP2N1cnJlbnRUaHJlYWRAV1RGQEBZQUlYWgpkaWZmIC0tZ2l0IGEv
U291cmNlL2F1dG90b29scy9zeW1ib2xzLmZpbHRlciBiL1NvdXJjZS9hdXRvdG9vbHMvc3ltYm9s
cy5maWx0ZXIKaW5kZXggNjUyZjE4MmU2ODRmNTRiYjZhZWMzM2RhYjk2ZjAxNGVmNWM1YWY5YS4u
YWM3YjAwY2RlZDE3ZmU5YjE5ZjU4MmU3MTM3NGYwMmM3NGIxNjI0YSAxMDA2NDQKLS0tIGEvU291
cmNlL2F1dG90b29scy9zeW1ib2xzLmZpbHRlcgorKysgYi9Tb3VyY2UvYXV0b3Rvb2xzL3N5bWJv
bHMuZmlsdGVyCkBAIC01OSw2ICs1OSw3IEBAIF9aTjdXZWJDb3JlMTZIVE1MSW5wdXRFbGVtZW50
MTdzZXRTdWdnZXN0ZWRWYWx1ZUVSS04zV1RGNlN0cmluZ0U7CiBfWk43V2ViQ29yZTE2anNTdHJp
bmdTbG93Q2FzZUVQTjNKU0M5RXhlY1N0YXRlRVJOM1dURjdIYXNoTWFwSVBOUzNfMTBTdHJpbmdJ
bXBsRU5TMF80V2Vha0lOUzBfOEpTU3RyaW5nRUVFTlMzXzEwU3RyaW5nSGFzaEVOUzNfMTBIYXNo
VHJhaXRzSVM2X0VFTlNCX0lTOV9FRUVFUzZfOwogX1pON1dlYkNvcmUxNnNjcmlwdE5hbWVUb0Nv
ZGVFUktOM1dURjZTdHJpbmdFOwogX1pON1dlYkNvcmUxN2NhY2hlRE9NU3RydWN0dXJlRVBOU18x
N0pTRE9NR2xvYmFsT2JqZWN0RVBOM0pTQzlTdHJ1Y3R1cmVFUEtOUzJfOUNsYXNzSW5mb0U7Citf
Wk43V2ViQ29yZTE3SW5zcGVjdG9yQ291bnRlcnMxMmNvdW50ZXJWYWx1ZUVOUzBfMTFDb3VudGVy
VHlwZUU7CiBfWk43V2ViQ29yZTE4SFRNTENvbnRlbnRFbGVtZW50NmNyZWF0ZUVQTlNfOERvY3Vt
ZW50RTsKIF9aTjdXZWJDb3JlMTlJbnNwZWN0b3JDb250cm9sbGVyMzlzZXRSZXNvdXJjZXNEYXRh
U2l6ZUxpbWl0c0Zyb21JbnRlcm5hbHNFaWk7CiBfWk43V2ViQ29yZTIwTm9kZVJlbmRlcmluZ0Nv
bnRleHRDMUVQTlNfNE5vZGVFOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDljY2M3ZmQ3YzZiOTg0YmFiMzZkZGM3OWEwYWE4
NTQ3ZjllM2RmNGIuLmM0ZTMzMzZjZGM5MTEyZWY0NDYxMDdhODBkYmQwODVkN2Y5NDQ0ZGQgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwyMCBAQAorMjAxMi0wMy0yMyAgRGF2ZSBNaWNoYWVsICA8ZG1pY2hhZWxA
Y2hyb21pdW0ub3JnPgorCisgICAgICAgIFJlbGFuZGluZyhyMTExNzU0KTogSFRNTFBsdWdpbkVs
ZW1lbnQgaXMgbm90IGRlc3Ryb3llZCBvbiByZWxvYWQgb3IgbmF2aWdhdGlvbiBpZiBnZXROUE9i
amVjdCBpcyBjYWxsZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTgwNDI4CisKKyAgICAgICAgRHVlIHRvIHVuZm9ydHVuYXRlIGNvcHkvcGFzdGUgbGF6
aW5lc3MsIHRoZSBuZXcgdGVzdCB3YXMgdXNpbmcgdGhlIHNhbWUKKyAgICAgICAgd2luZG93LnNl
c3Npb25TdG9yYWdlIGFzIHBsdWdpbnMvcmVsb2FkcGx1Z2lucy1hbmQtcGFnZXMuaHRtbCwgc28g
dGhhdAorICAgICAgICBpZiB0aGUgdGVzdHMgd2VyZSBydW4gaW4gdGhlIHNhbWUgc2Vzc2lvbiwg
cmVsb2FkcGx1Z2lucy1hbmQtcGFnZXMuaHRtbAorICAgICAgICB3b3VsZCAqbm90KiByZWxvYWQg
YXMgaXQgd2FzIHN1cHBvc2VkIHRvLCBjYXVzaW5nIGEgdGV4dCBtaXNtYXRjaC4gVGhpcworICAg
ICAgICBwYXRjaCB1c2VzIGEgbW9yZSBhcHByb3ByaWF0ZSBhbmQgdW5pcXVlIG5hbWUgc28gdGhh
dCB0aGVzZSB0d28gdGVzdHMKKyAgICAgICAgd29uJ3QgYWZmZWN0IGVhY2ggb3RoZXIuCisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBwbHVnaW5zL25l
dHNjYXBlLWRvbS1hY2Nlc3MtYW5kLXJlbG9hZC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIHBsdWdpbnMvbmV0c2NhcGUtZG9tLWFjY2Vzcy1hbmQtcmVsb2FkLmh0bWw6IEFkZGVkLgor
CiAyMDEyLTAzLTIzICBDc2FiYSBPc3p0cm9nb27DoWMgIDxvc3N5QHdlYmtpdC5vcmc+CiAKICAg
ICAgICAgW1F0XSBVbnJldmlld2VkIGdhcmRlbmluZy4gVHJ5IHRvIHNraXAgdGhlIHRlc3QgYmVm
b3JlIHRoZSBjcmFzaGluZyBvbmUuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbHVnaW5zL25l
dHNjYXBlLWRvbS1hY2Nlc3MtYW5kLXJlbG9hZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9w
bHVnaW5zL25ldHNjYXBlLWRvbS1hY2Nlc3MtYW5kLXJlbG9hZC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNTVlNzU5ODFkMjM2MTAxMjNkYjkxMDk5ZDU5MGJlMWQ3MTFjMDBkZgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL3BsdWdpbnMvbmV0c2NhcGUtZG9tLWFjY2Vzcy1hbmQtcmVs
b2FkLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMgQEAKK1RoaXMgcGFnZSB0ZXN0cyByZWxvYWRp
bmcgYSBOZXRzY2FwZSBwbHVnLWluIHRoYXQgYWNjZXNzZXMgaXRzIG93biBET00gZWxlbWVudC4g
U2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MDQyOCwgIkhUTUxQ
bHVnaW5FbGVtZW50IGlzIG5vdCBkZXN0cm95ZWQgb24gcmVsb2FkIG9yIG5hdmlnYXRpb24gaWYg
Z2V0TlBPYmplY3QgaXMgY2FsbGVkIi4gSWYgaXQgc3VjY2VlZHMsIHlvdSBzaG91bGQgc2VlIFNV
Q0NFU1MgYmVsb3cuIAorCitTVUNDRVNTCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbHVnaW5z
L25ldHNjYXBlLWRvbS1hY2Nlc3MtYW5kLXJlbG9hZC5odG1sIGIvTGF5b3V0VGVzdHMvcGx1Z2lu
cy9uZXRzY2FwZS1kb20tYWNjZXNzLWFuZC1yZWxvYWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kYjk1NjU0
ZDM5NTA0MDJmMmRjMmM0NGExMzQ1NDBiMmY5ZDYzYzRhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvcGx1Z2lucy9uZXRzY2FwZS1kb20tYWNjZXNzLWFuZC1yZWxvYWQuaHRtbApAQCAt
MCwwICsxLDU1IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0Pgor
ZnVuY3Rpb24gcnVuVGVzdCgpCit7CisgICAgLy8gTWFrZSB0aGUgcGx1Z2luIHJldHJpZXZlIGEg
RE9NIGVsZW1lbnQgdG8gaXRzZWxmLiBUaGlzIGV4ZXJjaXNlcworICAgIC8vIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MDQyOAorICAgIGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJ0ZXN0UGx1Z2luIikudGVzdERPTUFjY2VzcygpOworCisgICAgdmFyIGNhbGxSZWxv
YWQgPSB0cnVlOworICAgIGlmICh3aW5kb3cuc2Vzc2lvblN0b3JhZ2UpIHsKKyAgICAgICAgaWYg
KHdpbmRvdy5zZXNzaW9uU3RvcmFnZS5uZXRzY2FwZURvbUFjY2Vzc0FuZFJlbG9hZEhhc1JlbG9h
ZGVkKQorICAgICAgICAgICAgY2FsbFJlbG9hZCA9IGZhbHNlOworICAgICAgICBlbHNlCisgICAg
ICAgICAgICB3aW5kb3cuc2Vzc2lvblN0b3JhZ2UubmV0c2NhcGVEb21BY2Nlc3NBbmRSZWxvYWRI
YXNSZWxvYWRlZCA9IDE7CisgICAgfQorCisgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJv
bGxlcikKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICAgIAor
ICAgIGlmIChjYWxsUmVsb2FkKSB7CisgICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRy
b2xsZXIpCisgICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7
CisgICAgICAgIGxvY2F0aW9uLnJlbG9hZCgpOworICAgIH0gZWxzZSB7CisgICAgICAgIHdpbmRv
dy5HQ0NvbnRyb2xsZXIuY29sbGVjdCgpOworICAgICAgICAvLyBOb3RlIHdlIGNvdWxkIGFsc28g
Y29sbGVjdCB0aGUgbnVtYmVyIG9mIGxpdmUgbm9kZXMsIGJ1dCB0aGF0IHNlZW1zCisgICAgICAg
IC8vIG1vcmUgbGlrZWx5IHRvIGdpdmUgc3B1cmlvdXMgZmFpbHVyZXMuIFdoZW4gYW4gSFRNTFBs
dWdpbkVsZW1lbnQgaXMKKyAgICAgICAgLy8gaW1wcm9wZXJseSByZXRhaW5lZCwgaXRzIG93bmlu
ZyBEb2N1bWVudCBhbHNvIHN1cnZpdmVzLCBzbyB3ZSdsbAorICAgICAgICAvLyBkZXRlY3QgYW4g
ZXhjZXNzIERvY3VtZW50LgorICAgICAgICBpZiAoaW50ZXJuYWxzICYmIGludGVybmFscy5udW1i
ZXJPZkxpdmVEb2N1bWVudHMpIHsKKyAgICAgICAgICAgIHZhciBudW1iZXJPZkxpdmVEb2N1bWVu
dHMgPSBpbnRlcm5hbHMubnVtYmVyT2ZMaXZlRG9jdW1lbnRzKCk7CisgICAgICAgICAgICBpZiAo
bnVtYmVyT2ZMaXZlRG9jdW1lbnRzID09IDEpIHsKKyAgICAgICAgICAgICAgICBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgicmVzdWx0IikuaW5uZXJIVE1MID0gIlNVQ0NFU1MiOworICAgICAgICAg
ICAgfQorICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgicmVzdWx0IikuaW5uZXJIVE1MID0gIkZBSUxFRDsgVGhpcyB0ZXN0IGlzIG9ubHkgdmFs
aWQgaW4gRHVtcFJlbmRlclRyZWUsIGFuZCBvbmx5IHdoZW4gdGhlIEluc3BlY3RvciBpcyBlbmFi
bGVkLiI7CisgICAgICAgIH0KKyAgICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxl
cikgeworICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICAg
ICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOworICAgICAgICB9Cisg
ICAgfQorfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKTsiPgor
PHA+VGhpcyBwYWdlIHRlc3RzIHJlbG9hZGluZyBhIE5ldHNjYXBlIHBsdWctaW4gdGhhdCBhY2Nl
c3NlcyBpdHMgb3duIERPTSBlbGVtZW50LiBTZWUgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTgwNDI4LCAiSFRNTFBsdWdpbkVsZW1lbnQgaXMgbm90IGRlc3Ryb3llZCBv
biByZWxvYWQgb3IgbmF2aWdhdGlvbiBpZiBnZXROUE9iamVjdCBpcyBjYWxsZWQiLgorCitJZiBp
dCBzdWNjZWVkcywgeW91IHNob3VsZCBzZWUgU1VDQ0VTUyBiZWxvdy4KKzxlbWJlZCBpZD0idGVz
dFBsdWdpbiIgdHlwZT0iYXBwbGljYXRpb24veC13ZWJraXQtdGVzdC1uZXRzY2FwZSIgd2lkdGg9
IjIwMCIgaGVpZ2h0PSIyMDAiPjwvZW1iZWQ+Cis8ZGl2IGlkPSJyZXN1bHQiPkZBSUxVUkU8L2Rp
dj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwpp
bmRleCAwYjk0NWQ0YzY3ZDM1Yjk4NjI1MTk1OWFlOWU0YTBiZWNkNjdkMGRkLi5lYjBkZGJhNmRl
ZTUzZjgwMjQ4YTA0ZTlmYTgzOTQ5M2NiN2RiZWVkIDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysr
IGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTItMDMtMjMgIERhdmUgTWljaGFlbCAg
PGRtaWNoYWVsQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZWxhbmRpbmcocjExMTc1NCk6IEhU
TUxQbHVnaW5FbGVtZW50IGlzIG5vdCBkZXN0cm95ZWQgb24gcmVsb2FkIG9yIG5hdmlnYXRpb24g
aWYgZ2V0TlBPYmplY3QgaXMgY2FsbGVkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD04MDQyOAorCitSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBUZXN0OiBwbHVnaW5zL25ldHNjYXBlLWRvbS1hY2Nlc3MtYW5kLXJlbG9hZC5odG1s
CisKKyAgICAgICAgKiBTb3VyY2UvYXV0b3Rvb2xzL3N5bWJvbHMuZmlsdGVyOiBFeHBvcnQgYSBz
eW1ib2wgZm9yIEluc3BlY3RvckNvdW50ZXJzOjpjb3VudGVyVmFsdWUuCisKIDIwMTItMDMtMjMg
IFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUkVHUkVTU0lPTihy
MTExNzU0KTogcGx1Z2lucy9yZWxvYWRwbHVnaW5zLWFuZC1wYWdlcy5odG1sIGZhaWxzIG9uIGFs
bCBwbGF0Zm9ybXMK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>133512</attachid>
            <date>2012-03-23 11:00:32 -0700</date>
            <delta_ts>2012-03-23 11:53:02 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-80428-20120323120031.patch</filename>
            <type>text/plain</type>
            <size>14604</size>
            <attacher name="Dave Michael">dmichael</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTExODY2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDc2MjIwNTIwNDBlYzRk
NjYzNDkzOTAxYmE5YzRhMjFkYTQxMWQ3Ny4uMzQ0OTQ1NmU4ZTBhNTA2NDAxNDA3NjVhMjBlOGRl
MzdmYWUzYWQzNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM4IEBACisyMDEyLTAzLTIzICBEYXZl
IE1pY2hhZWwgIDxkbWljaGFlbEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmVsYW5kaW5nKHIx
MTE3NTQpOiBIVE1MUGx1Z2luRWxlbWVudCBpcyBub3QgZGVzdHJveWVkIG9uIHJlbG9hZCBvciBu
YXZpZ2F0aW9uIGlmIGdldE5QT2JqZWN0IGlzIGNhbGxlZAorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODA0MjgKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBNYWtlIEhUTUxQbHVnaW5FbGVtZW50IHJlbGVhc2Ug
aXRzIG1fTlBPYmplY3QgaW4gZGV0YWNoKCkgdG8gYnJlYWsgYQorICAgICAgICByZWZlcmVuY2Ut
Y291bnRpbmcgY3ljbGUgdGhhdCBoYXBwZW5zIG9uIHJlbG9hZCBvciBuYXZpZ2F0aW9uLiBXaXRo
IHRoaXMKKyAgICAgICAgY2hhbmdlLCBIVE1MUGx1Z0luRWxlbWVudDo6cmVtb3ZlZEZyb21Eb2N1
bWVudCBpcyB1bm5lY2Vzc2FyeSwgc28gaXQKKyAgICAgICAgd2FzIHJlbW92ZWQuIE5vdGUgdGhh
dCBSZWxlYXNpbmcgbV9OUE9iamVjdCBkb2VzIG5vdCByZXN1bHQgaW4gYSBjYWxsIHRvCisgICAg
ICAgIHRoZSBwbHVnaW47IGl0IHNpbXBseSByZWxlYXNlcyBhIHJlZmVyZW5jZSBjb3VudCBvbiB0
aGUgd3JhcHBlciBvYmplY3QKKyAgICAgICAgZm9yIHRoaXMgSFRNTFBsdWdJbkVsZW1lbnQuIChU
aGUgcGx1Z2luJ3MgTlBQX0RlYWxsb2NhdGUgaXMgaW52b2tlZAorICAgICAgICB3aGVuIHRoZSBy
ZW5kZXIgdHJlZSBpcyBkZXN0cm95ZWQsIHdoZW4gUGx1Z2luVmlldyBjYWxscworICAgICAgICBQ
bHVnaW5QYWNrYWdlOjp1bmxvYWQuKSBUaHVzLCBpdCBpcyBzYWZlIHRvIHJlbGVhc2UgbV9OUE9i
amVjdCBpbgorICAgICAgICBkZXRhY2gsIGJlY2F1c2UgaXQgY2FuIG5vdCByZXN1bHQgaW4gbGF5
b3V0IG9yIHN0eWxlIGNoYW5nZXMuCisKKyAgICAgICAgQWxzbyBhZGRlZCBudW1iZXJPZkxpdmVO
b2RlcygpIGFuZCBudW1iZXJPZkxpdmVEb2N1bWVudHMoKSB0bworICAgICAgICB3aW5kb3cuaW50
ZXJuYWxzIHRvIGVuYWJsZSB0ZXN0aW5nLgorCisgICAgICAgIFRlc3Q6IHBsdWdpbnMvbmV0c2Nh
cGUtZG9tLWFjY2Vzcy1hbmQtcmVsb2FkLmh0bWwKKworICAgICAgICAqIFdlYkNvcmUuZXhwLmlu
OgorICAgICAgICAqIGh0bWwvSFRNTFBsdWdJbkVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6SFRNTFBsdWdJbkVsZW1lbnQ6OmRldGFjaCk6CisgICAgICAgICogaHRtbC9IVE1MUGx1Z0lu
RWxlbWVudC5oOgorICAgICAgICAoSFRNTFBsdWdJbkVsZW1lbnQpOgorICAgICAgICAqIHRlc3Rp
bmcvSW50ZXJuYWxzLmNwcDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6
SW50ZXJuYWxzOjpudW1iZXJPZkxpdmVOb2Rlcyk6CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5h
bHM6Om51bWJlck9mTGl2ZURvY3VtZW50cyk6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMu
aDoKKyAgICAgICAgKEludGVybmFscyk6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuaWRs
OgorCiAyMDEyLTAzLTIzICBLZW50YXJvIEhhcmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4KIAog
ICAgICAgICBTdXBwb3J0IFtJbXBsZW1lbnRlZEFzXSBmb3IgYXR0cmlidXRlcwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmlu
ZGV4IDRhZjQyYzBkNzY2YjhhZTEzYjJmZGU2ZDRhYTZjYzg4ZDJiYjEyMDYuLmIyOGYwMmY0YjFh
ZjU5YTZhMWJhZTY1YWI1M2U0MGIxN2E1OTM4YmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMyBA
QAorMjAxMi0wMy0yMyAgRGF2ZSBNaWNoYWVsICA8ZG1pY2hhZWxAY2hyb21pdW0ub3JnPgorCisg
ICAgICAgIFJlbGFuZGluZyhyMTExNzU0KTogSFRNTFBsdWdpbkVsZW1lbnQgaXMgbm90IGRlc3Ry
b3llZCBvbiByZWxvYWQgb3IgbmF2aWdhdGlvbiBpZiBnZXROUE9iamVjdCBpcyBjYWxsZWQKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgwNDI4CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3aW4vV2ViS2l0
Mi5kZWY6IEV4cG9ydCBhIHN5bWJvbCBmb3IgSW5zcGVjdG9yQ291bnRlcnM6OmNvdW50ZXJWYWx1
ZQorICAgICAgICAqIHdpbi9XZWJLaXQyQ0ZMaXRlLmRlZjogRXhwb3J0IGEgc3ltYm9sIGZvciBJ
bnNwZWN0b3JDb3VudGVyczo6Y291bnRlclZhbHVlCisKIDIwMTItMDMtMjMgIFNoZXJpZmYgQm90
ICA8d2Via2l0LnJldmlldy5ib3RAZ21haWwuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJv
bGxpbmcgb3V0IHIxMTE4NTUuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4
cC5pbiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCmluZGV4IDkyZjQ1M2EyNmIzNzA2
MmQ2YjhlYzRlOTBmZTJkN2YwYWNhOWQ1OWMuLjcyMWFjNGMzODk3MjA1ODNhNWJiZTM4NjRmZDA5
NzFlMGVmZWU1ODUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCisr
KyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCkBAIC0xNzQ4LDYgKzE3NDgsNyBAQCBf
X1pOSzdXZWJDb3JlMTJJY29uRGF0YWJhc2U5aXNFbmFibGVkRXYKIAogI2lmIEVOQUJMRShJTlNQ
RUNUT1IpCiBfX1pON1dlYkNvcmUxNUluc3BlY3RvckNsaWVudDMxZG9EaXNwYXRjaE1lc3NhZ2VP
bkZyb250ZW5kUGFnZUVQTlNfNFBhZ2VFUktOM1dURjZTdHJpbmdFCitfX1pON1dlYkNvcmUxN0lu
c3BlY3RvckNvdW50ZXJzMTJjb3VudGVyVmFsdWVFTlMwXzExQ291bnRlclR5cGVFCiBfX1pON1dl
YkNvcmUxOUluc3BlY3RvckNvbnRyb2xsZXIxNGVuYWJsZVByb2ZpbGVyRXYKIF9fWk43V2ViQ29y
ZTE5SW5zcGVjdG9yQ29udHJvbGxlcjE1ZGlzYWJsZVByb2ZpbGVyRXYKIF9fWk43V2ViQ29yZTE5
SW5zcGVjdG9yQ29udHJvbGxlcjE1cHJvZmlsZXJFbmFibGVkRXYKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTFBsdWdJbkVsZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MUGx1Z0luRWxlbWVudC5jcHAKaW5kZXggMjk5ZTQ3YjJlZjlmY2EzMWVmNzFiMmMzMDhi
MDAwYWU0ZGIyNjI2NC4uNDU4ZDE1NzU4ZjU2ZGNjYWZhNWYzMWI5YmIyNDc4Zjg0ZGRkMWU5MSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MUGx1Z0luRWxlbWVudC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MUGx1Z0luRWxlbWVudC5jcHAKQEAgLTc4LDExICs3
OCw2IEBAIHZvaWQgSFRNTFBsdWdJbkVsZW1lbnQ6OmRldGFjaCgpCiAgICAgICAgIG1faXNDYXB0
dXJpbmdNb3VzZUV2ZW50cyA9IGZhbHNlOwogICAgIH0KIAotICAgIEhUTUxGcmFtZU93bmVyRWxl
bWVudDo6ZGV0YWNoKCk7Ci19Ci0KLXZvaWQgSFRNTFBsdWdJbkVsZW1lbnQ6OnJlbW92ZWRGcm9t
RG9jdW1lbnQoKQotewogI2lmIEVOQUJMRShORVRTQ0FQRV9QTFVHSU5fQVBJKQogICAgIGlmICht
X05QT2JqZWN0KSB7CiAgICAgICAgIF9OUE5fUmVsZWFzZU9iamVjdChtX05QT2JqZWN0KTsKQEAg
LTkwLDcgKzg1LDcgQEAgdm9pZCBIVE1MUGx1Z0luRWxlbWVudDo6cmVtb3ZlZEZyb21Eb2N1bWVu
dCgpCiAgICAgfQogI2VuZGlmCiAKLSAgICBIVE1MRnJhbWVPd25lckVsZW1lbnQ6OnJlbW92ZWRG
cm9tRG9jdW1lbnQoKTsKKyAgICBIVE1MRnJhbWVPd25lckVsZW1lbnQ6OmRldGFjaCgpOwogfQog
CiBQYXNzU2NyaXB0SW5zdGFuY2UgSFRNTFBsdWdJbkVsZW1lbnQ6OmdldEluc3RhbmNlKCkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFBsdWdJbkVsZW1lbnQuaCBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTFBsdWdJbkVsZW1lbnQuaAppbmRleCAyMmIxNGM0ZTcwYmI3MWYw
NTMxZDBlNWI2MTRlOWJhY2M0ZmRhZDQwLi42NWY4NjliZGI1MGU1MmMxZDM3M2JkZWNkOGMxOTU4
MGI4Y2RhYWIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQbHVnSW5FbGVt
ZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MUGx1Z0luRWxlbWVudC5oCkBAIC01
Nyw3ICs1Nyw2IEBAIHByb3RlY3RlZDoKICAgICBIVE1MUGx1Z0luRWxlbWVudChjb25zdCBRdWFs
aWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCopOwogCiAgICAgdmlydHVhbCB2b2lkIGRldGFj
aCgpOwotICAgIHZpcnR1YWwgdm9pZCByZW1vdmVkRnJvbURvY3VtZW50KCk7CiAgICAgdmlydHVh
bCBib29sIGlzUHJlc2VudGF0aW9uQXR0cmlidXRlKGNvbnN0IFF1YWxpZmllZE5hbWUmKSBjb25z
dCBPVkVSUklERTsKICAgICB2aXJ0dWFsIHZvaWQgY29sbGVjdFN0eWxlRm9yQXR0cmlidXRlKEF0
dHJpYnV0ZSosIFN0eWxlUHJvcGVydHlTZXQqKSBPVkVSUklERTsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuY3BwIGIvU291cmNlL1dlYkNvcmUvdGVzdGlu
Zy9JbnRlcm5hbHMuY3BwCmluZGV4IGU0MDllNTZmZjdkOTBiYTM2YTIxM2U1MTc1NGM3YTVjYjI0
NWQ4MjAuLjZmMmVlMzNhN2FiNjhmMjZmZDEwNzE5N2U4MTg3NjZhZjE5ZjUwNjcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKQEAgLTQyLDYgKzQyLDcgQEAKICNpbmNsdWRlICJI
VE1MTmFtZXMuaCIKICNpbmNsdWRlICJIVE1MVGV4dEFyZWFFbGVtZW50LmgiCiAjaW5jbHVkZSAi
SW5zcGVjdG9yQ29udHJvbGxlci5oIgorI2luY2x1ZGUgIkluc3BlY3RvckNvdW50ZXJzLmgiCiAj
aW5jbHVkZSAiSW5zcGVjdG9ySW5zdHJ1bWVudGF0aW9uLmgiCiAjaW5jbHVkZSAiSW50ZXJuYWxT
ZXR0aW5ncy5oIgogI2luY2x1ZGUgIkludFJlY3QuaCIKQEAgLTc3MCw2ICs3NzEsMTggQEAgYm9v
bCBJbnRlcm5hbHM6Omhhc1NwZWxsaW5nTWFya2VyKERvY3VtZW50KiBkb2N1bWVudCwgaW50IGZy
b20sIGludCBsZW5ndGgsIEV4Y2UKICAgICByZXR1cm4gZG9jdW1lbnQtPmZyYW1lKCktPmVkaXRv
cigpLT5zZWxlY3Rpb25TdGFydEhhc01hcmtlckZvcihEb2N1bWVudE1hcmtlcjo6U3BlbGxpbmcs
IGZyb20sIGxlbmd0aCk7CiB9CiAKKyNpZiBFTkFCTEUoSU5TUEVDVE9SKQordW5zaWduZWQgSW50
ZXJuYWxzOjpudW1iZXJPZkxpdmVOb2RlcygpIGNvbnN0Cit7CisgICAgcmV0dXJuIEluc3BlY3Rv
ckNvdW50ZXJzOjpjb3VudGVyVmFsdWUoSW5zcGVjdG9yQ291bnRlcnM6Ok5vZGVDb3VudGVyKTsK
K30KKwordW5zaWduZWQgSW50ZXJuYWxzOjpudW1iZXJPZkxpdmVEb2N1bWVudHMoKSBjb25zdAor
eworICAgIHJldHVybiBJbnNwZWN0b3JDb3VudGVyczo6Y291bnRlclZhbHVlKEluc3BlY3RvckNv
dW50ZXJzOjpEb2N1bWVudENvdW50ZXIpOworfQorI2VuZGlmIC8vIEVOQUJMRShJTlNQRUNUT1Ip
CisKIGJvb2wgSW50ZXJuYWxzOjpoYXNHcmFtbWFyTWFya2VyKERvY3VtZW50KiBkb2N1bWVudCwg
aW50IGZyb20sIGludCBsZW5ndGgsIEV4Y2VwdGlvbkNvZGUmKQogewogICAgIGlmICghZG9jdW1l
bnQgfHwgIWRvY3VtZW50LT5mcmFtZSgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVz
dGluZy9JbnRlcm5hbHMuaCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmgKaW5k
ZXggZjQzMmI4NjAzYmNlZjFkZDFmNmJlOGE2ZjY5OGIyYWU2OWNjMmJhNS4uNzVlZDdlMjZlOTlk
OWY4YTMwMTIyOWM4MGZmYjdlZTA1ZGU5NGRlMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
dGVzdGluZy9JbnRlcm5hbHMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFs
cy5oCkBAIC0xNDYsNiArMTQ2LDExIEBAIHB1YmxpYzoKIAogICAgIHZvaWQgc2V0QmF0dGVyeVN0
YXR1cyhEb2N1bWVudCosIGNvbnN0IFN0cmluZyYgZXZlbnRUeXBlLCBib29sIGNoYXJnaW5nLCBk
b3VibGUgY2hhcmdpbmdUaW1lLCBkb3VibGUgZGlzY2hhcmdpbmdUaW1lLCBkb3VibGUgbGV2ZWws
IEV4Y2VwdGlvbkNvZGUmKTsKIAorI2lmIEVOQUJMRShJTlNQRUNUT1IpCisgICAgdW5zaWduZWQg
bnVtYmVyT2ZMaXZlTm9kZXMoKSBjb25zdDsKKyAgICB1bnNpZ25lZCBudW1iZXJPZkxpdmVEb2N1
bWVudHMoKSBjb25zdDsKKyNlbmRpZgorCiBwcml2YXRlOgogICAgIGV4cGxpY2l0IEludGVybmFs
cyhEb2N1bWVudCopOwogICAgIERvY3VtZW50TWFya2VyKiBtYXJrZXJBdChOb2RlKiwgY29uc3Qg
U3RyaW5nJiBtYXJrZXJUeXBlLCB1bnNpZ25lZCBpbmRleCwgRXhjZXB0aW9uQ29kZSYpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsIGIvU291cmNlL1dl
YkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCmluZGV4IDdiNjdhYmVmNjc2ZDFjOWZhZmIzNWQw
M2UxZDRiMDkzMmUxZWZlN2EuLmYyMjAwZmZjNGIxNTlhMDc2OGZmZGZhZjYwMmZjNzBmNDk4NzUw
MzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwKQEAgLTEyMCw3ICsxMjAsMTAg
QEAgbW9kdWxlIHdpbmRvdyB7CiAKICNpZiBkZWZpbmVkKEVOQUJMRV9CQVRURVJZX1NUQVRVUykg
JiYgRU5BQkxFX0JBVFRFUllfU1RBVFVTCiAgICAgICAgIHZvaWQgc2V0QmF0dGVyeVN0YXR1cyhp
biBEb2N1bWVudCBkb2N1bWVudCwgaW4gRE9NU3RyaW5nIGV2ZW50VHlwZSwgaW4gYm9vbGVhbiBj
aGFyZ2luZywgaW4gZG91YmxlIGNoYXJnaW5nVGltZSwgaW4gZG91YmxlIGRpc2NoYXJnaW5nVGlt
ZSwgaW4gZG91YmxlIGxldmVsKSByYWlzZXMgKERPTUV4Y2VwdGlvbik7Ci0jZW5kaWYKKyNlbmRp
ZiAKKworICAgICAgICBbQ29uZGl0aW9uYWw9SU5TUEVDVE9SXSB1bnNpZ25lZCBsb25nIG51bWJl
ck9mTGl2ZU5vZGVzKCk7CisgICAgICAgIFtDb25kaXRpb25hbD1JTlNQRUNUT1JdIHVuc2lnbmVk
IGxvbmcgbnVtYmVyT2ZMaXZlRG9jdW1lbnRzKCk7CiAgICAgfTsKIH0KIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvd2luL1dlYktpdDIuZGVmIGIvU291cmNlL1dlYktpdDIvd2luL1dlYktp
dDIuZGVmCmluZGV4IDgyMzg4ZWFkNTFhYTVkYzQ1ODUxZTFkYzI1ODZkYzg1NTY0Y2U2NDIuLmUy
YzhmNmRmYWRkNzQyMjRiZmY1MmI4YzkyZThmNTQ0NjAxZmViNTQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL3dpbi9XZWJLaXQyLmRlZgorKysgYi9Tb3VyY2UvV2ViS2l0Mi93aW4vV2ViS2l0
Mi5kZWYKQEAgLTExNSw2ICsxMTUsNyBAQCBFWFBPUlRTCiAgICAgICAgID8/MVRocmVhZENvbmRp
dGlvbkBXVEZAQFFBRUBYWgogICAgICAgICA/YnJvYWRjYXN0QFRocmVhZENvbmRpdGlvbkBXVEZA
QFFBRVhYWgogICAgICAgICA/Y2FsbE9uTWFpblRocmVhZEBXVEZAQFlBWFA2QVhQQVhAWjBAWgor
ICAgICAgICA/Y291bnRlclZhbHVlQEluc3BlY3RvckNvdW50ZXJzQFdlYkNvcmVAQFNBSFc0Q291
bnRlclR5cGVAMTJAQFoKICAgICAgICAgP2NyZWF0ZVRocmVhZEBXVEZAQFlBSVA2QVBBWFBBWEBa
MFBCREBaCiAgICAgICAgID9jcmVhdGVUaHJlYWRAV1RGQEBZQUlQNkFYUEFYQFowUEJEQFoKICAg
ICAgICAgP2N1cnJlbnRUaHJlYWRAV1RGQEBZQUlYWgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvd2luL1dlYktpdDJDRkxpdGUuZGVmIGIvU291cmNlL1dlYktpdDIvd2luL1dlYktpdDJDRkxp
dGUuZGVmCmluZGV4IGUwNTRkNTUyZjQ1MTNjNWI0YjA3Y2Y0ZTc0NzJlYzYxYTc1OTVhNjIuLjY3
Njk2MTVmNmJhNjRjY2E5ODA3OTM2YmQ3MzNlZDcxNzhlYzkzOGIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL3dpbi9XZWJLaXQyQ0ZMaXRlLmRlZgorKysgYi9Tb3VyY2UvV2ViS2l0Mi93aW4v
V2ViS2l0MkNGTGl0ZS5kZWYKQEAgLTEwOCw2ICsxMDgsNyBAQCBFWFBPUlRTCiAgICAgICAgID8/
MVRocmVhZENvbmRpdGlvbkBXVEZAQFFBRUBYWgogICAgICAgICA/YnJvYWRjYXN0QFRocmVhZENv
bmRpdGlvbkBXVEZAQFFBRVhYWgogICAgICAgICA/Y2FsbE9uTWFpblRocmVhZEBXVEZAQFlBWFA2
QVhQQVhAWjBAWgorICAgICAgICA/Y291bnRlclZhbHVlQEluc3BlY3RvckNvdW50ZXJzQFdlYkNv
cmVAQFNBSFc0Q291bnRlclR5cGVAMTJAQFoKICAgICAgICAgP2NyZWF0ZVRocmVhZEBXVEZAQFlB
SVA2QVBBWFBBWEBaMFBCREBaCiAgICAgICAgID9jcmVhdGVUaHJlYWRAV1RGQEBZQUlQNkFYUEFY
QFowUEJEQFoKICAgICAgICAgP2N1cnJlbnRUaHJlYWRAV1RGQEBZQUlYWgpkaWZmIC0tZ2l0IGEv
U291cmNlL2F1dG90b29scy9zeW1ib2xzLmZpbHRlciBiL1NvdXJjZS9hdXRvdG9vbHMvc3ltYm9s
cy5maWx0ZXIKaW5kZXggNjUyZjE4MmU2ODRmNTRiYjZhZWMzM2RhYjk2ZjAxNGVmNWM1YWY5YS4u
YWM3YjAwY2RlZDE3ZmU5YjE5ZjU4MmU3MTM3NGYwMmM3NGIxNjI0YSAxMDA2NDQKLS0tIGEvU291
cmNlL2F1dG90b29scy9zeW1ib2xzLmZpbHRlcgorKysgYi9Tb3VyY2UvYXV0b3Rvb2xzL3N5bWJv
bHMuZmlsdGVyCkBAIC01OSw2ICs1OSw3IEBAIF9aTjdXZWJDb3JlMTZIVE1MSW5wdXRFbGVtZW50
MTdzZXRTdWdnZXN0ZWRWYWx1ZUVSS04zV1RGNlN0cmluZ0U7CiBfWk43V2ViQ29yZTE2anNTdHJp
bmdTbG93Q2FzZUVQTjNKU0M5RXhlY1N0YXRlRVJOM1dURjdIYXNoTWFwSVBOUzNfMTBTdHJpbmdJ
bXBsRU5TMF80V2Vha0lOUzBfOEpTU3RyaW5nRUVFTlMzXzEwU3RyaW5nSGFzaEVOUzNfMTBIYXNo
VHJhaXRzSVM2X0VFTlNCX0lTOV9FRUVFUzZfOwogX1pON1dlYkNvcmUxNnNjcmlwdE5hbWVUb0Nv
ZGVFUktOM1dURjZTdHJpbmdFOwogX1pON1dlYkNvcmUxN2NhY2hlRE9NU3RydWN0dXJlRVBOU18x
N0pTRE9NR2xvYmFsT2JqZWN0RVBOM0pTQzlTdHJ1Y3R1cmVFUEtOUzJfOUNsYXNzSW5mb0U7Citf
Wk43V2ViQ29yZTE3SW5zcGVjdG9yQ291bnRlcnMxMmNvdW50ZXJWYWx1ZUVOUzBfMTFDb3VudGVy
VHlwZUU7CiBfWk43V2ViQ29yZTE4SFRNTENvbnRlbnRFbGVtZW50NmNyZWF0ZUVQTlNfOERvY3Vt
ZW50RTsKIF9aTjdXZWJDb3JlMTlJbnNwZWN0b3JDb250cm9sbGVyMzlzZXRSZXNvdXJjZXNEYXRh
U2l6ZUxpbWl0c0Zyb21JbnRlcm5hbHNFaWk7CiBfWk43V2ViQ29yZTIwTm9kZVJlbmRlcmluZ0Nv
bnRleHRDMUVQTlNfNE5vZGVFOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDljY2M3ZmQ3YzZiOTg0YmFiMzZkZGM3OWEwYWE4
NTQ3ZjllM2RmNGIuLjIyYThkOTJiNWQ3YjY3MmI2Y2U1Nzg0M2ExOGE0ZDdhYjE4YTZjYWYgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwyMCBAQAorMjAxMi0wMy0yMyAgRGF2ZSBNaWNoYWVsICA8ZG1pY2hhZWxA
Y2hyb21pdW0ub3JnPgorCisgICAgICAgIFJlbGFuZGluZyhyMTExNzU0KTogSFRNTFBsdWdpbkVs
ZW1lbnQgaXMgbm90IGRlc3Ryb3llZCBvbiByZWxvYWQgb3IgbmF2aWdhdGlvbiBpZiBnZXROUE9i
amVjdCBpcyBjYWxsZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTgwNDI4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgRHVlIHRvIHVuZm9ydHVuYXRlIGNvcHkvcGFzdGUgbGF6aW5lc3MsIHRoZSBuZXcgdGVz
dCB3YXMgdXNpbmcgdGhlIHNhbWUKKyAgICAgICAgd2luZG93LnNlc3Npb25TdG9yYWdlIGFzIHBs
dWdpbnMvcmVsb2FkcGx1Z2lucy1hbmQtcGFnZXMuaHRtbCwgc28gdGhhdAorICAgICAgICBpZiB0
aGUgdGVzdHMgd2VyZSBydW4gaW4gdGhlIHNhbWUgc2Vzc2lvbiwgcmVsb2FkcGx1Z2lucy1hbmQt
cGFnZXMuaHRtbAorICAgICAgICB3b3VsZCAqbm90KiByZWxvYWQgYXMgaXQgd2FzIHN1cHBvc2Vk
IHRvLCBjYXVzaW5nIGEgdGV4dCBtaXNtYXRjaC4gVGhpcworICAgICAgICBwYXRjaCB1c2VzIGEg
bW9yZSBhcHByb3ByaWF0ZSBhbmQgdW5pcXVlIG5hbWUgc28gdGhhdCB0aGVzZSB0d28gdGVzdHMK
KyAgICAgICAgd29uJ3QgYWZmZWN0IGVhY2ggb3RoZXIuCisKKyAgICAgICAgKiBwbHVnaW5zL25l
dHNjYXBlLWRvbS1hY2Nlc3MtYW5kLXJlbG9hZC1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIHBsdWdpbnMvbmV0c2NhcGUtZG9tLWFjY2Vzcy1hbmQtcmVsb2FkLmh0bWw6IEFkZGVkLgor
CiAyMDEyLTAzLTIzICBDc2FiYSBPc3p0cm9nb27DoWMgIDxvc3N5QHdlYmtpdC5vcmc+CiAKICAg
ICAgICAgW1F0XSBVbnJldmlld2VkIGdhcmRlbmluZy4gVHJ5IHRvIHNraXAgdGhlIHRlc3QgYmVm
b3JlIHRoZSBjcmFzaGluZyBvbmUuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbHVnaW5zL25l
dHNjYXBlLWRvbS1hY2Nlc3MtYW5kLXJlbG9hZC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9w
bHVnaW5zL25ldHNjYXBlLWRvbS1hY2Nlc3MtYW5kLXJlbG9hZC1leHBlY3RlZC50eHQKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNTVlNzU5ODFkMjM2MTAxMjNkYjkxMDk5ZDU5MGJlMWQ3MTFjMDBkZgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL3BsdWdpbnMvbmV0c2NhcGUtZG9tLWFjY2Vzcy1hbmQtcmVs
b2FkLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMgQEAKK1RoaXMgcGFnZSB0ZXN0cyByZWxvYWRp
bmcgYSBOZXRzY2FwZSBwbHVnLWluIHRoYXQgYWNjZXNzZXMgaXRzIG93biBET00gZWxlbWVudC4g
U2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MDQyOCwgIkhUTUxQ
bHVnaW5FbGVtZW50IGlzIG5vdCBkZXN0cm95ZWQgb24gcmVsb2FkIG9yIG5hdmlnYXRpb24gaWYg
Z2V0TlBPYmplY3QgaXMgY2FsbGVkIi4gSWYgaXQgc3VjY2VlZHMsIHlvdSBzaG91bGQgc2VlIFNV
Q0NFU1MgYmVsb3cuIAorCitTVUNDRVNTCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbHVnaW5z
L25ldHNjYXBlLWRvbS1hY2Nlc3MtYW5kLXJlbG9hZC5odG1sIGIvTGF5b3V0VGVzdHMvcGx1Z2lu
cy9uZXRzY2FwZS1kb20tYWNjZXNzLWFuZC1yZWxvYWQuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kYjk1NjU0
ZDM5NTA0MDJmMmRjMmM0NGExMzQ1NDBiMmY5ZDYzYzRhCi0tLSAvZGV2L251bGwKKysrIGIvTGF5
b3V0VGVzdHMvcGx1Z2lucy9uZXRzY2FwZS1kb20tYWNjZXNzLWFuZC1yZWxvYWQuaHRtbApAQCAt
MCwwICsxLDU1IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0Pgor
ZnVuY3Rpb24gcnVuVGVzdCgpCit7CisgICAgLy8gTWFrZSB0aGUgcGx1Z2luIHJldHJpZXZlIGEg
RE9NIGVsZW1lbnQgdG8gaXRzZWxmLiBUaGlzIGV4ZXJjaXNlcworICAgIC8vIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MDQyOAorICAgIGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJ0ZXN0UGx1Z2luIikudGVzdERPTUFjY2VzcygpOworCisgICAgdmFyIGNhbGxSZWxv
YWQgPSB0cnVlOworICAgIGlmICh3aW5kb3cuc2Vzc2lvblN0b3JhZ2UpIHsKKyAgICAgICAgaWYg
KHdpbmRvdy5zZXNzaW9uU3RvcmFnZS5uZXRzY2FwZURvbUFjY2Vzc0FuZFJlbG9hZEhhc1JlbG9h
ZGVkKQorICAgICAgICAgICAgY2FsbFJlbG9hZCA9IGZhbHNlOworICAgICAgICBlbHNlCisgICAg
ICAgICAgICB3aW5kb3cuc2Vzc2lvblN0b3JhZ2UubmV0c2NhcGVEb21BY2Nlc3NBbmRSZWxvYWRI
YXNSZWxvYWRlZCA9IDE7CisgICAgfQorCisgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJv
bGxlcikKKyAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICAgIAor
ICAgIGlmIChjYWxsUmVsb2FkKSB7CisgICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRy
b2xsZXIpCisgICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7
CisgICAgICAgIGxvY2F0aW9uLnJlbG9hZCgpOworICAgIH0gZWxzZSB7CisgICAgICAgIHdpbmRv
dy5HQ0NvbnRyb2xsZXIuY29sbGVjdCgpOworICAgICAgICAvLyBOb3RlIHdlIGNvdWxkIGFsc28g
Y29sbGVjdCB0aGUgbnVtYmVyIG9mIGxpdmUgbm9kZXMsIGJ1dCB0aGF0IHNlZW1zCisgICAgICAg
IC8vIG1vcmUgbGlrZWx5IHRvIGdpdmUgc3B1cmlvdXMgZmFpbHVyZXMuIFdoZW4gYW4gSFRNTFBs
dWdpbkVsZW1lbnQgaXMKKyAgICAgICAgLy8gaW1wcm9wZXJseSByZXRhaW5lZCwgaXRzIG93bmlu
ZyBEb2N1bWVudCBhbHNvIHN1cnZpdmVzLCBzbyB3ZSdsbAorICAgICAgICAvLyBkZXRlY3QgYW4g
ZXhjZXNzIERvY3VtZW50LgorICAgICAgICBpZiAoaW50ZXJuYWxzICYmIGludGVybmFscy5udW1i
ZXJPZkxpdmVEb2N1bWVudHMpIHsKKyAgICAgICAgICAgIHZhciBudW1iZXJPZkxpdmVEb2N1bWVu
dHMgPSBpbnRlcm5hbHMubnVtYmVyT2ZMaXZlRG9jdW1lbnRzKCk7CisgICAgICAgICAgICBpZiAo
bnVtYmVyT2ZMaXZlRG9jdW1lbnRzID09IDEpIHsKKyAgICAgICAgICAgICAgICBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgicmVzdWx0IikuaW5uZXJIVE1MID0gIlNVQ0NFU1MiOworICAgICAgICAg
ICAgfQorICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50
QnlJZCgicmVzdWx0IikuaW5uZXJIVE1MID0gIkZBSUxFRDsgVGhpcyB0ZXN0IGlzIG9ubHkgdmFs
aWQgaW4gRHVtcFJlbmRlclRyZWUsIGFuZCBvbmx5IHdoZW4gdGhlIEluc3BlY3RvciBpcyBlbmFi
bGVkLiI7CisgICAgICAgIH0KKyAgICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxl
cikgeworICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOworICAg
ICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIubm90aWZ5RG9uZSgpOworICAgICAgICB9Cisg
ICAgfQorfQorPC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keSBvbmxvYWQ9InJ1blRlc3QoKTsiPgor
PHA+VGhpcyBwYWdlIHRlc3RzIHJlbG9hZGluZyBhIE5ldHNjYXBlIHBsdWctaW4gdGhhdCBhY2Nl
c3NlcyBpdHMgb3duIERPTSBlbGVtZW50LiBTZWUgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTgwNDI4LCAiSFRNTFBsdWdpbkVsZW1lbnQgaXMgbm90IGRlc3Ryb3llZCBv
biByZWxvYWQgb3IgbmF2aWdhdGlvbiBpZiBnZXROUE9iamVjdCBpcyBjYWxsZWQiLgorCitJZiBp
dCBzdWNjZWVkcywgeW91IHNob3VsZCBzZWUgU1VDQ0VTUyBiZWxvdy4KKzxlbWJlZCBpZD0idGVz
dFBsdWdpbiIgdHlwZT0iYXBwbGljYXRpb24veC13ZWJraXQtdGVzdC1uZXRzY2FwZSIgd2lkdGg9
IjIwMCIgaGVpZ2h0PSIyMDAiPjwvZW1iZWQ+Cis8ZGl2IGlkPSJyZXN1bHQiPkZBSUxVUkU8L2Rp
dj4KKzwvYm9keT4KKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwpp
bmRleCAwYjk0NWQ0YzY3ZDM1Yjk4NjI1MTk1OWFlOWU0YTBiZWNkNjdkMGRkLi5lYjBkZGJhNmRl
ZTUzZjgwMjQ4YTA0ZTlmYTgzOTQ5M2NiN2RiZWVkIDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysr
IGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTItMDMtMjMgIERhdmUgTWljaGFlbCAg
PGRtaWNoYWVsQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZWxhbmRpbmcocjExMTc1NCk6IEhU
TUxQbHVnaW5FbGVtZW50IGlzIG5vdCBkZXN0cm95ZWQgb24gcmVsb2FkIG9yIG5hdmlnYXRpb24g
aWYgZ2V0TlBPYmplY3QgaXMgY2FsbGVkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD04MDQyOAorCitSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBUZXN0OiBwbHVnaW5zL25ldHNjYXBlLWRvbS1hY2Nlc3MtYW5kLXJlbG9hZC5odG1s
CisKKyAgICAgICAgKiBTb3VyY2UvYXV0b3Rvb2xzL3N5bWJvbHMuZmlsdGVyOiBFeHBvcnQgYSBz
eW1ib2wgZm9yIEluc3BlY3RvckNvdW50ZXJzOjpjb3VudGVyVmFsdWUuCisKIDIwMTItMDMtMjMg
IFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUkVHUkVTU0lPTihy
MTExNzU0KTogcGx1Z2lucy9yZWxvYWRwbHVnaW5zLWFuZC1wYWdlcy5odG1sIGZhaWxzIG9uIGFs
bCBwbGF0Zm9ybXMK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>133528</attachid>
            <date>2012-03-23 11:53:09 -0700</date>
            <delta_ts>2012-03-23 13:00:27 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-80428-20120323125308.patch</filename>
            <type>text/plain</type>
            <size>14845</size>
            <attacher name="Dave Michael">dmichael</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTExODg1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMmIzNGUwNGMzZGJmZGQz
ZGRkYzE4OWFmOTM5Y2UwODEwYWQ0ZmFmYy4uYjM0NzNhMjk0MTg3ZDZmYTc0NGRkMjllMThlZTI0
MDVjNjVhMDM2NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM4IEBACisyMDEyLTAzLTIzICBEYXZl
IE1pY2hhZWwgIDxkbWljaGFlbEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmVsYW5kaW5nKHIx
MTE3NTQpOiBIVE1MUGx1Z2luRWxlbWVudCBpcyBub3QgZGVzdHJveWVkIG9uIHJlbG9hZCBvciBu
YXZpZ2F0aW9uIGlmIGdldE5QT2JqZWN0IGlzIGNhbGxlZAorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODA0MjgKKworICAgICAgICBSZXZpZXdlZCBieSBF
cmljIFNlaWRlbCBhbmQgUnlvc3VrZSBOaXdhLgorCisgICAgICAgIE1ha2UgSFRNTFBsdWdpbkVs
ZW1lbnQgcmVsZWFzZSBpdHMgbV9OUE9iamVjdCBpbiBkZXRhY2goKSB0byBicmVhayBhCisgICAg
ICAgIHJlZmVyZW5jZS1jb3VudGluZyBjeWNsZSB0aGF0IGhhcHBlbnMgb24gcmVsb2FkIG9yIG5h
dmlnYXRpb24uIFdpdGggdGhpcworICAgICAgICBjaGFuZ2UsIEhUTUxQbHVnSW5FbGVtZW50Ojpy
ZW1vdmVkRnJvbURvY3VtZW50IGlzIHVubmVjZXNzYXJ5LCBzbyBpdAorICAgICAgICB3YXMgcmVt
b3ZlZC4gTm90ZSB0aGF0IFJlbGVhc2luZyBtX05QT2JqZWN0IGRvZXMgbm90IHJlc3VsdCBpbiBh
IGNhbGwgdG8KKyAgICAgICAgdGhlIHBsdWdpbjsgaXQgc2ltcGx5IHJlbGVhc2VzIGEgcmVmZXJl
bmNlIGNvdW50IG9uIHRoZSB3cmFwcGVyIG9iamVjdAorICAgICAgICBmb3IgdGhpcyBIVE1MUGx1
Z0luRWxlbWVudC4gKFRoZSBwbHVnaW4ncyBOUFBfRGVhbGxvY2F0ZSBpcyBpbnZva2VkCisgICAg
ICAgIHdoZW4gdGhlIHJlbmRlciB0cmVlIGlzIGRlc3Ryb3llZCwgd2hlbiBQbHVnaW5WaWV3IGNh
bGxzCisgICAgICAgIFBsdWdpblBhY2thZ2U6OnVubG9hZC4pIFRodXMsIGl0IGlzIHNhZmUgdG8g
cmVsZWFzZSBtX05QT2JqZWN0IGluCisgICAgICAgIGRldGFjaCwgYmVjYXVzZSBpdCBjYW4gbm90
IHJlc3VsdCBpbiBsYXlvdXQgb3Igc3R5bGUgY2hhbmdlcy4KKworICAgICAgICBBbHNvIGFkZGVk
IG51bWJlck9mTGl2ZU5vZGVzKCkgYW5kIG51bWJlck9mTGl2ZURvY3VtZW50cygpIHRvCisgICAg
ICAgIHdpbmRvdy5pbnRlcm5hbHMgdG8gZW5hYmxlIHRlc3RpbmcuCisKKyAgICAgICAgVGVzdDog
cGx1Z2lucy9uZXRzY2FwZS1kb20tYWNjZXNzLWFuZC1yZWxvYWQuaHRtbAorCisgICAgICAgICog
V2ViQ29yZS5leHAuaW46CisgICAgICAgICogaHRtbC9IVE1MUGx1Z0luRWxlbWVudC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpIVE1MUGx1Z0luRWxlbWVudDo6ZGV0YWNoKToKKyAgICAgICAgKiBo
dG1sL0hUTUxQbHVnSW5FbGVtZW50Lmg6CisgICAgICAgIChIVE1MUGx1Z0luRWxlbWVudCk6Cisg
ICAgICAgICogdGVzdGluZy9JbnRlcm5hbHMuY3BwOgorICAgICAgICAoV2ViQ29yZSk6CisgICAg
ICAgIChXZWJDb3JlOjpJbnRlcm5hbHM6Om51bWJlck9mTGl2ZU5vZGVzKToKKyAgICAgICAgKFdl
YkNvcmU6OkludGVybmFsczo6bnVtYmVyT2ZMaXZlRG9jdW1lbnRzKToKKyAgICAgICAgKiB0ZXN0
aW5nL0ludGVybmFscy5oOgorICAgICAgICAoSW50ZXJuYWxzKToKKyAgICAgICAgKiB0ZXN0aW5n
L0ludGVybmFscy5pZGw6CisKIDIwMTItMDMtMjMgIERhbiBCZXJuc3RlaW4gIDxtaXR6QGFwcGxl
LmNvbT4KIAogICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzg4Mzk4Nz4gQVNTRVJUSU9OIEZBSUxF
RDogQVNTRVJUKGlucHV0ID09IEFuaW1hdGlvblN0YXRlSW5wdXRFbmRUaW1lckZpcmVkIHx8IGlu
cHV0ID09IEFuaW1hdGlvblN0YXRlSW5wdXRQbGF5U3RhdGVQYXVzZWQpIGluIEFuaW1hdGlvbkJh
c2U6OnVwZGF0ZVN0YXRlTWFjaGluZSBjYXVzaW5nIG11bHRpcGxlICJjcmFzaGVzIiBvbiBMaW9u
IEludGVsIERlYnVnIFdlYktpdCB0ZXN0ZXJzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggNGFmNDJjMGQ3NjZiOGFl
MTNiMmZkZTZkNGFhNmNjODhkMmJiMTIwNi4uODRlY2Q1YjI0MDkzMzNkYmRlNmMzMzlhNDU1ZGI0
NDA2OWI0NzhlZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDEyLTAzLTIzICBEYXZl
IE1pY2hhZWwgIDxkbWljaGFlbEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmVsYW5kaW5nKHIx
MTE3NTQpOiBIVE1MUGx1Z2luRWxlbWVudCBpcyBub3QgZGVzdHJveWVkIG9uIHJlbG9hZCBvciBu
YXZpZ2F0aW9uIGlmIGdldE5QT2JqZWN0IGlzIGNhbGxlZAorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODA0MjgKKworICAgICAgICBSZXZpZXdlZCBieSBF
cmljIFNlaWRlbCBhbmQgUnlvc3VrZSBOaXdhLgorCisgICAgICAgICogd2luL1dlYktpdDIuZGVm
OiBFeHBvcnQgYSBzeW1ib2wgZm9yIEluc3BlY3RvckNvdW50ZXJzOjpjb3VudGVyVmFsdWUKKyAg
ICAgICAgKiB3aW4vV2ViS2l0MkNGTGl0ZS5kZWY6IEV4cG9ydCBhIHN5bWJvbCBmb3IgSW5zcGVj
dG9yQ291bnRlcnM6OmNvdW50ZXJWYWx1ZQorCiAyMDEyLTAzLTIzICBTaGVyaWZmIEJvdCAgPHdl
YmtpdC5yZXZpZXcuYm90QGdtYWlsLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5n
IG91dCByMTExODU1LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4g
Yi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgppbmRleCA5MmY0NTNhMjZiMzcwNjJkNmI4
ZWM0ZTkwZmUyZDdmMGFjYTlkNTljLi43MjFhYzRjMzg5NzIwNTgzYTViYmUzODY0ZmQwOTcxZTBl
ZmVlNTg1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgorKysgYi9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbgpAQCAtMTc0OCw2ICsxNzQ4LDcgQEAgX19aTks3
V2ViQ29yZTEySWNvbkRhdGFiYXNlOWlzRW5hYmxlZEV2CiAKICNpZiBFTkFCTEUoSU5TUEVDVE9S
KQogX19aTjdXZWJDb3JlMTVJbnNwZWN0b3JDbGllbnQzMWRvRGlzcGF0Y2hNZXNzYWdlT25Gcm9u
dGVuZFBhZ2VFUE5TXzRQYWdlRVJLTjNXVEY2U3RyaW5nRQorX19aTjdXZWJDb3JlMTdJbnNwZWN0
b3JDb3VudGVyczEyY291bnRlclZhbHVlRU5TMF8xMUNvdW50ZXJUeXBlRQogX19aTjdXZWJDb3Jl
MTlJbnNwZWN0b3JDb250cm9sbGVyMTRlbmFibGVQcm9maWxlckV2CiBfX1pON1dlYkNvcmUxOUlu
c3BlY3RvckNvbnRyb2xsZXIxNWRpc2FibGVQcm9maWxlckV2CiBfX1pON1dlYkNvcmUxOUluc3Bl
Y3RvckNvbnRyb2xsZXIxNXByb2ZpbGVyRW5hYmxlZEV2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxQbHVnSW5FbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TFBsdWdJbkVsZW1lbnQuY3BwCmluZGV4IDI5OWU0N2IyZWY5ZmNhMzFlZjcxYjJjMzA4YjAwMGFl
NGRiMjYyNjQuLjQ1OGQxNTc1OGY1NmRjY2FmYTVmMzFiOWJiMjQ3OGY4NGRkZDFlOTEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFBsdWdJbkVsZW1lbnQuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTFBsdWdJbkVsZW1lbnQuY3BwCkBAIC03OCwxMSArNzgsNiBA
QCB2b2lkIEhUTUxQbHVnSW5FbGVtZW50OjpkZXRhY2goKQogICAgICAgICBtX2lzQ2FwdHVyaW5n
TW91c2VFdmVudHMgPSBmYWxzZTsKICAgICB9CiAKLSAgICBIVE1MRnJhbWVPd25lckVsZW1lbnQ6
OmRldGFjaCgpOwotfQotCi12b2lkIEhUTUxQbHVnSW5FbGVtZW50OjpyZW1vdmVkRnJvbURvY3Vt
ZW50KCkKLXsKICNpZiBFTkFCTEUoTkVUU0NBUEVfUExVR0lOX0FQSSkKICAgICBpZiAobV9OUE9i
amVjdCkgewogICAgICAgICBfTlBOX1JlbGVhc2VPYmplY3QobV9OUE9iamVjdCk7CkBAIC05MCw3
ICs4NSw3IEBAIHZvaWQgSFRNTFBsdWdJbkVsZW1lbnQ6OnJlbW92ZWRGcm9tRG9jdW1lbnQoKQog
ICAgIH0KICNlbmRpZgogCi0gICAgSFRNTEZyYW1lT3duZXJFbGVtZW50OjpyZW1vdmVkRnJvbURv
Y3VtZW50KCk7CisgICAgSFRNTEZyYW1lT3duZXJFbGVtZW50OjpkZXRhY2goKTsKIH0KIAogUGFz
c1NjcmlwdEluc3RhbmNlIEhUTUxQbHVnSW5FbGVtZW50OjpnZXRJbnN0YW5jZSgpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxQbHVnSW5FbGVtZW50LmggYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxQbHVnSW5FbGVtZW50LmgKaW5kZXggMjJiMTRjNGU3MGJiNzFmMDUzMWQw
ZTViNjE0ZTliYWNjNGZkYWQ0MC4uNjVmODY5YmRiNTBlNTJjMWQzNzNiZGVjZDhjMTk1ODBiOGNk
YWFiMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MUGx1Z0luRWxlbWVudC5o
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTFBsdWdJbkVsZW1lbnQuaApAQCAtNTcsNyAr
NTcsNiBAQCBwcm90ZWN0ZWQ6CiAgICAgSFRNTFBsdWdJbkVsZW1lbnQoY29uc3QgUXVhbGlmaWVk
TmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQqKTsKIAogICAgIHZpcnR1YWwgdm9pZCBkZXRhY2goKTsK
LSAgICB2aXJ0dWFsIHZvaWQgcmVtb3ZlZEZyb21Eb2N1bWVudCgpOwogICAgIHZpcnR1YWwgYm9v
bCBpc1ByZXNlbnRhdGlvbkF0dHJpYnV0ZShjb25zdCBRdWFsaWZpZWROYW1lJikgY29uc3QgT1ZF
UlJJREU7CiAgICAgdmlydHVhbCB2b2lkIGNvbGxlY3RTdHlsZUZvckF0dHJpYnV0ZShBdHRyaWJ1
dGUqLCBTdHlsZVByb3BlcnR5U2V0KikgT1ZFUlJJREU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50
ZXJuYWxzLmNwcAppbmRleCBlNDA5ZTU2ZmY3ZDkwYmEzNmEyMTNlNTE3NTRjN2E1Y2IyNDVkODIw
Li42ZjJlZTMzYTdhYjY4ZjI2ZmQxMDcxOTdlODE4NzY2YWYxOWY1MDY3IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
dGVzdGluZy9JbnRlcm5hbHMuY3BwCkBAIC00Miw2ICs0Miw3IEBACiAjaW5jbHVkZSAiSFRNTE5h
bWVzLmgiCiAjaW5jbHVkZSAiSFRNTFRleHRBcmVhRWxlbWVudC5oIgogI2luY2x1ZGUgIkluc3Bl
Y3RvckNvbnRyb2xsZXIuaCIKKyNpbmNsdWRlICJJbnNwZWN0b3JDb3VudGVycy5oIgogI2luY2x1
ZGUgIkluc3BlY3Rvckluc3RydW1lbnRhdGlvbi5oIgogI2luY2x1ZGUgIkludGVybmFsU2V0dGlu
Z3MuaCIKICNpbmNsdWRlICJJbnRSZWN0LmgiCkBAIC03NzAsNiArNzcxLDE4IEBAIGJvb2wgSW50
ZXJuYWxzOjpoYXNTcGVsbGluZ01hcmtlcihEb2N1bWVudCogZG9jdW1lbnQsIGludCBmcm9tLCBp
bnQgbGVuZ3RoLCBFeGNlCiAgICAgcmV0dXJuIGRvY3VtZW50LT5mcmFtZSgpLT5lZGl0b3IoKS0+
c2VsZWN0aW9uU3RhcnRIYXNNYXJrZXJGb3IoRG9jdW1lbnRNYXJrZXI6OlNwZWxsaW5nLCBmcm9t
LCBsZW5ndGgpOwogfQogCisjaWYgRU5BQkxFKElOU1BFQ1RPUikKK3Vuc2lnbmVkIEludGVybmFs
czo6bnVtYmVyT2ZMaXZlTm9kZXMoKSBjb25zdAoreworICAgIHJldHVybiBJbnNwZWN0b3JDb3Vu
dGVyczo6Y291bnRlclZhbHVlKEluc3BlY3RvckNvdW50ZXJzOjpOb2RlQ291bnRlcik7Cit9CisK
K3Vuc2lnbmVkIEludGVybmFsczo6bnVtYmVyT2ZMaXZlRG9jdW1lbnRzKCkgY29uc3QKK3sKKyAg
ICByZXR1cm4gSW5zcGVjdG9yQ291bnRlcnM6OmNvdW50ZXJWYWx1ZShJbnNwZWN0b3JDb3VudGVy
czo6RG9jdW1lbnRDb3VudGVyKTsKK30KKyNlbmRpZiAvLyBFTkFCTEUoSU5TUEVDVE9SKQorCiBi
b29sIEludGVybmFsczo6aGFzR3JhbW1hck1hcmtlcihEb2N1bWVudCogZG9jdW1lbnQsIGludCBm
cm9tLCBpbnQgbGVuZ3RoLCBFeGNlcHRpb25Db2RlJikKIHsKICAgICBpZiAoIWRvY3VtZW50IHx8
ICFkb2N1bWVudC0+ZnJhbWUoKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3Rpbmcv
SW50ZXJuYWxzLmggYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5oCmluZGV4IGY0
MzJiODYwM2JjZWYxZGQxZjZiZThhNmY2OThiMmFlNjljYzJiYTUuLjc1ZWQ3ZTI2ZTk5ZDlmOGEz
MDEyMjljODBmZmI3ZWUwNWRlOTRkZTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3Rp
bmcvSW50ZXJuYWxzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaApA
QCAtMTQ2LDYgKzE0NiwxMSBAQCBwdWJsaWM6CiAKICAgICB2b2lkIHNldEJhdHRlcnlTdGF0dXMo
RG9jdW1lbnQqLCBjb25zdCBTdHJpbmcmIGV2ZW50VHlwZSwgYm9vbCBjaGFyZ2luZywgZG91Ymxl
IGNoYXJnaW5nVGltZSwgZG91YmxlIGRpc2NoYXJnaW5nVGltZSwgZG91YmxlIGxldmVsLCBFeGNl
cHRpb25Db2RlJik7CiAKKyNpZiBFTkFCTEUoSU5TUEVDVE9SKQorICAgIHVuc2lnbmVkIG51bWJl
ck9mTGl2ZU5vZGVzKCkgY29uc3Q7CisgICAgdW5zaWduZWQgbnVtYmVyT2ZMaXZlRG9jdW1lbnRz
KCkgY29uc3Q7CisjZW5kaWYKKwogcHJpdmF0ZToKICAgICBleHBsaWNpdCBJbnRlcm5hbHMoRG9j
dW1lbnQqKTsKICAgICBEb2N1bWVudE1hcmtlciogbWFya2VyQXQoTm9kZSosIGNvbnN0IFN0cmlu
ZyYgbWFya2VyVHlwZSwgdW5zaWduZWQgaW5kZXgsIEV4Y2VwdGlvbkNvZGUmKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxzLmlkbCBiL1NvdXJjZS9XZWJDb3Jl
L3Rlc3RpbmcvSW50ZXJuYWxzLmlkbAppbmRleCA3YjY3YWJlZjY3NmQxYzlmYWZiMzVkMDNlMWQ0
YjA5MzJlMWVmZTdhLi5mMjIwMGZmYzRiMTU5YTA3NjhmZmRmYWY2MDJmYzcwZjQ5ODc1MDM0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFscy5pZGwKKysrIGIvU291
cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbHMuaWRsCkBAIC0xMjAsNyArMTIwLDEwIEBAIG1v
ZHVsZSB3aW5kb3cgewogCiAjaWYgZGVmaW5lZChFTkFCTEVfQkFUVEVSWV9TVEFUVVMpICYmIEVO
QUJMRV9CQVRURVJZX1NUQVRVUwogICAgICAgICB2b2lkIHNldEJhdHRlcnlTdGF0dXMoaW4gRG9j
dW1lbnQgZG9jdW1lbnQsIGluIERPTVN0cmluZyBldmVudFR5cGUsIGluIGJvb2xlYW4gY2hhcmdp
bmcsIGluIGRvdWJsZSBjaGFyZ2luZ1RpbWUsIGluIGRvdWJsZSBkaXNjaGFyZ2luZ1RpbWUsIGlu
IGRvdWJsZSBsZXZlbCkgcmFpc2VzIChET01FeGNlcHRpb24pOwotI2VuZGlmCisjZW5kaWYgCisK
KyAgICAgICAgW0NvbmRpdGlvbmFsPUlOU1BFQ1RPUl0gdW5zaWduZWQgbG9uZyBudW1iZXJPZkxp
dmVOb2RlcygpOworICAgICAgICBbQ29uZGl0aW9uYWw9SU5TUEVDVE9SXSB1bnNpZ25lZCBsb25n
IG51bWJlck9mTGl2ZURvY3VtZW50cygpOwogICAgIH07CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL3dpbi9XZWJLaXQyLmRlZiBiL1NvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyLmRl
ZgppbmRleCA4MjM4OGVhZDUxYWE1ZGM0NTg1MWUxZGMyNTg2ZGM4NTU2NGNlNjQyLi5lMmM4ZjZk
ZmFkZDc0MjI0YmZmNTJiOGM5MmU4ZjU0NDYwMWZlYjU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi93aW4vV2ViS2l0Mi5kZWYKKysrIGIvU291cmNlL1dlYktpdDIvd2luL1dlYktpdDIuZGVm
CkBAIC0xMTUsNiArMTE1LDcgQEAgRVhQT1JUUwogICAgICAgICA/PzFUaHJlYWRDb25kaXRpb25A
V1RGQEBRQUVAWFoKICAgICAgICAgP2Jyb2FkY2FzdEBUaHJlYWRDb25kaXRpb25AV1RGQEBRQUVY
WFoKICAgICAgICAgP2NhbGxPbk1haW5UaHJlYWRAV1RGQEBZQVhQNkFYUEFYQFowQFoKKyAgICAg
ICAgP2NvdW50ZXJWYWx1ZUBJbnNwZWN0b3JDb3VudGVyc0BXZWJDb3JlQEBTQUhXNENvdW50ZXJU
eXBlQDEyQEBaCiAgICAgICAgID9jcmVhdGVUaHJlYWRAV1RGQEBZQUlQNkFQQVhQQVhAWjBQQkRA
WgogICAgICAgICA/Y3JlYXRlVGhyZWFkQFdURkBAWUFJUDZBWFBBWEBaMFBCREBaCiAgICAgICAg
ID9jdXJyZW50VGhyZWFkQFdURkBAWUFJWFoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL3dp
bi9XZWJLaXQyQ0ZMaXRlLmRlZiBiL1NvdXJjZS9XZWJLaXQyL3dpbi9XZWJLaXQyQ0ZMaXRlLmRl
ZgppbmRleCBlMDU0ZDU1MmY0NTEzYzViNGIwN2NmNGU3NDcyZWM2MWE3NTk1YTYyLi42NzY5NjE1
ZjZiYTY0Y2NhOTgwNzkzNmJkNzMzZWQ3MTc4ZWM5MzhiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi93aW4vV2ViS2l0MkNGTGl0ZS5kZWYKKysrIGIvU291cmNlL1dlYktpdDIvd2luL1dlYktp
dDJDRkxpdGUuZGVmCkBAIC0xMDgsNiArMTA4LDcgQEAgRVhQT1JUUwogICAgICAgICA/PzFUaHJl
YWRDb25kaXRpb25AV1RGQEBRQUVAWFoKICAgICAgICAgP2Jyb2FkY2FzdEBUaHJlYWRDb25kaXRp
b25AV1RGQEBRQUVYWFoKICAgICAgICAgP2NhbGxPbk1haW5UaHJlYWRAV1RGQEBZQVhQNkFYUEFY
QFowQFoKKyAgICAgICAgP2NvdW50ZXJWYWx1ZUBJbnNwZWN0b3JDb3VudGVyc0BXZWJDb3JlQEBT
QUhXNENvdW50ZXJUeXBlQDEyQEBaCiAgICAgICAgID9jcmVhdGVUaHJlYWRAV1RGQEBZQUlQNkFQ
QVhQQVhAWjBQQkRAWgogICAgICAgICA/Y3JlYXRlVGhyZWFkQFdURkBAWUFJUDZBWFBBWEBaMFBC
REBaCiAgICAgICAgID9jdXJyZW50VGhyZWFkQFdURkBAWUFJWFoKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9hdXRvdG9vbHMvc3ltYm9scy5maWx0ZXIgYi9Tb3VyY2UvYXV0b3Rvb2xzL3N5bWJvbHMuZmls
dGVyCmluZGV4IDY1MmYxODJlNjg0ZjU0YmI2YWVjMzNkYWI5NmYwMTRlZjVjNWFmOWEuLmFjN2Iw
MGNkZWQxN2ZlOWIxOWY1ODJlNzEzNzRmMDJjNzRiMTYyNGEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9h
dXRvdG9vbHMvc3ltYm9scy5maWx0ZXIKKysrIGIvU291cmNlL2F1dG90b29scy9zeW1ib2xzLmZp
bHRlcgpAQCAtNTksNiArNTksNyBAQCBfWk43V2ViQ29yZTE2SFRNTElucHV0RWxlbWVudDE3c2V0
U3VnZ2VzdGVkVmFsdWVFUktOM1dURjZTdHJpbmdFOwogX1pON1dlYkNvcmUxNmpzU3RyaW5nU2xv
d0Nhc2VFUE4zSlNDOUV4ZWNTdGF0ZUVSTjNXVEY3SGFzaE1hcElQTlMzXzEwU3RyaW5nSW1wbEVO
UzBfNFdlYWtJTlMwXzhKU1N0cmluZ0VFRU5TM18xMFN0cmluZ0hhc2hFTlMzXzEwSGFzaFRyYWl0
c0lTNl9FRU5TQl9JUzlfRUVFRVM2XzsKIF9aTjdXZWJDb3JlMTZzY3JpcHROYW1lVG9Db2RlRVJL
TjNXVEY2U3RyaW5nRTsKIF9aTjdXZWJDb3JlMTdjYWNoZURPTVN0cnVjdHVyZUVQTlNfMTdKU0RP
TUdsb2JhbE9iamVjdEVQTjNKU0M5U3RydWN0dXJlRVBLTlMyXzlDbGFzc0luZm9FOworX1pON1dl
YkNvcmUxN0luc3BlY3RvckNvdW50ZXJzMTJjb3VudGVyVmFsdWVFTlMwXzExQ291bnRlclR5cGVF
OwogX1pON1dlYkNvcmUxOEhUTUxDb250ZW50RWxlbWVudDZjcmVhdGVFUE5TXzhEb2N1bWVudEU7
CiBfWk43V2ViQ29yZTE5SW5zcGVjdG9yQ29udHJvbGxlcjM5c2V0UmVzb3VyY2VzRGF0YVNpemVM
aW1pdHNGcm9tSW50ZXJuYWxzRWlpOwogX1pON1dlYkNvcmUyME5vZGVSZW5kZXJpbmdDb250ZXh0
QzFFUE5TXzROb2RlRTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91
dFRlc3RzL0NoYW5nZUxvZwppbmRleCAyMTVkZTI4NzdkMzEwYzE5Njc2YmUyZGVjYjNlNGMyZWJj
NTYzZGQ4Li5lYmUxYjIzMTdmMDJlNDMxYWMxZWM3N2VjNGEwOWNjMzRhNmM1NDEyIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMjAgQEAKKzIwMTItMDMtMjMgIERhdmUgTWljaGFlbCAgPGRtaWNoYWVsQGNocm9t
aXVtLm9yZz4KKworICAgICAgICBSZWxhbmRpbmcocjExMTc1NCk6IEhUTUxQbHVnaW5FbGVtZW50
IGlzIG5vdCBkZXN0cm95ZWQgb24gcmVsb2FkIG9yIG5hdmlnYXRpb24gaWYgZ2V0TlBPYmplY3Qg
aXMgY2FsbGVkCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD04MDQyOAorCisgICAgICAgIFJldmlld2VkIGJ5IEVyaWMgU2VpZGVsIGFuZCBSeW9zdWtlIE5p
d2EuCisKKyAgICAgICAgRHVlIHRvIHVuZm9ydHVuYXRlIGNvcHkvcGFzdGUgbGF6aW5lc3MsIHRo
ZSBuZXcgdGVzdCB3YXMgdXNpbmcgdGhlIHNhbWUKKyAgICAgICAgd2luZG93LnNlc3Npb25TdG9y
YWdlIGFzIHBsdWdpbnMvcmVsb2FkcGx1Z2lucy1hbmQtcGFnZXMuaHRtbCwgc28gdGhhdAorICAg
ICAgICBpZiB0aGUgdGVzdHMgd2VyZSBydW4gaW4gdGhlIHNhbWUgc2Vzc2lvbiwgcmVsb2FkcGx1
Z2lucy1hbmQtcGFnZXMuaHRtbAorICAgICAgICB3b3VsZCAqbm90KiByZWxvYWQgYXMgaXQgd2Fz
IHN1cHBvc2VkIHRvLCBjYXVzaW5nIGEgdGV4dCBtaXNtYXRjaC4gVGhpcworICAgICAgICBwYXRj
aCB1c2VzIGEgbW9yZSBhcHByb3ByaWF0ZSBhbmQgdW5pcXVlIG5hbWUgc28gdGhhdCB0aGVzZSB0
d28gdGVzdHMKKyAgICAgICAgd29uJ3QgYWZmZWN0IGVhY2ggb3RoZXIuCisKKyAgICAgICAgKiBw
bHVnaW5zL25ldHNjYXBlLWRvbS1hY2Nlc3MtYW5kLXJlbG9hZC1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIHBsdWdpbnMvbmV0c2NhcGUtZG9tLWFjY2Vzcy1hbmQtcmVsb2FkLmh0bWw6
IEFkZGVkLgorCiAyMDEyLTAzLTIyICBPamFuIFZhZmFpICA8b2phbkBjaHJvbWl1bS5vcmc+CiAK
ICAgICAgICAgSW5pdGlhbCB0cmlhZ2UgcGFzcyBvZiBjc3MzL3NlbGVjdG9yczMveGh0bWwgZm9y
IHRoZSBDaHJvbWl1bSBwb3J0cy4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsdWdpbnMvbmV0
c2NhcGUtZG9tLWFjY2Vzcy1hbmQtcmVsb2FkLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3Bs
dWdpbnMvbmV0c2NhcGUtZG9tLWFjY2Vzcy1hbmQtcmVsb2FkLWV4cGVjdGVkLnR4dApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi41NWU3NTk4MWQyMzYxMDEyM2RiOTEwOTlkNTkwYmUxZDcxMWMwMGRmCi0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvcGx1Z2lucy9uZXRzY2FwZS1kb20tYWNjZXNzLWFuZC1yZWxv
YWQtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBAQAorVGhpcyBwYWdlIHRlc3RzIHJlbG9hZGlu
ZyBhIE5ldHNjYXBlIHBsdWctaW4gdGhhdCBhY2Nlc3NlcyBpdHMgb3duIERPTSBlbGVtZW50LiBT
ZWUgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgwNDI4LCAiSFRNTFBs
dWdpbkVsZW1lbnQgaXMgbm90IGRlc3Ryb3llZCBvbiByZWxvYWQgb3IgbmF2aWdhdGlvbiBpZiBn
ZXROUE9iamVjdCBpcyBjYWxsZWQiLiBJZiBpdCBzdWNjZWVkcywgeW91IHNob3VsZCBzZWUgU1VD
Q0VTUyBiZWxvdy4gCisKK1NVQ0NFU1MKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsdWdpbnMv
bmV0c2NhcGUtZG9tLWFjY2Vzcy1hbmQtcmVsb2FkLmh0bWwgYi9MYXlvdXRUZXN0cy9wbHVnaW5z
L25ldHNjYXBlLWRvbS1hY2Nlc3MtYW5kLXJlbG9hZC5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRiOTU2NTRk
Mzk1MDQwMmYyZGMyYzQ0YTEzNDU0MGIyZjlkNjNjNGEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9wbHVnaW5zL25ldHNjYXBlLWRvbS1hY2Nlc3MtYW5kLXJlbG9hZC5odG1sCkBAIC0w
LDAgKzEsNTUgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQ+Citm
dW5jdGlvbiBydW5UZXN0KCkKK3sKKyAgICAvLyBNYWtlIHRoZSBwbHVnaW4gcmV0cmlldmUgYSBE
T00gZWxlbWVudCB0byBpdHNlbGYuIFRoaXMgZXhlcmNpc2VzCisgICAgLy8gaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTgwNDI4CisgICAgZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoInRlc3RQbHVnaW4iKS50ZXN0RE9NQWNjZXNzKCk7CisKKyAgICB2YXIgY2FsbFJlbG9h
ZCA9IHRydWU7CisgICAgaWYgKHdpbmRvdy5zZXNzaW9uU3RvcmFnZSkgeworICAgICAgICBpZiAo
d2luZG93LnNlc3Npb25TdG9yYWdlLm5ldHNjYXBlRG9tQWNjZXNzQW5kUmVsb2FkSGFzUmVsb2Fk
ZWQpCisgICAgICAgICAgICBjYWxsUmVsb2FkID0gZmFsc2U7CisgICAgICAgIGVsc2UKKyAgICAg
ICAgICAgIHdpbmRvdy5zZXNzaW9uU3RvcmFnZS5uZXRzY2FwZURvbUFjY2Vzc0FuZFJlbG9hZEhh
c1JlbG9hZGVkID0gMTsKKyAgICB9CisKKyAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9s
bGVyKQorICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisgICAgCisg
ICAgaWYgKGNhbGxSZWxvYWQpIHsKKyAgICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJv
bGxlcikKKyAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVyLndhaXRVbnRpbERvbmUoKTsK
KyAgICAgICAgbG9jYXRpb24ucmVsb2FkKCk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgd2luZG93
LkdDQ29udHJvbGxlci5jb2xsZWN0KCk7CisgICAgICAgIC8vIE5vdGUgd2UgY291bGQgYWxzbyBj
b2xsZWN0IHRoZSBudW1iZXIgb2YgbGl2ZSBub2RlcywgYnV0IHRoYXQgc2VlbXMKKyAgICAgICAg
Ly8gbW9yZSBsaWtlbHkgdG8gZ2l2ZSBzcHVyaW91cyBmYWlsdXJlcy4gV2hlbiBhbiBIVE1MUGx1
Z2luRWxlbWVudCBpcworICAgICAgICAvLyBpbXByb3Blcmx5IHJldGFpbmVkLCBpdHMgb3duaW5n
IERvY3VtZW50IGFsc28gc3Vydml2ZXMsIHNvIHdlJ2xsCisgICAgICAgIC8vIGRldGVjdCBhbiBl
eGNlc3MgRG9jdW1lbnQuCisgICAgICAgIGlmIChpbnRlcm5hbHMgJiYgaW50ZXJuYWxzLm51bWJl
ck9mTGl2ZURvY3VtZW50cykgeworICAgICAgICAgICAgdmFyIG51bWJlck9mTGl2ZURvY3VtZW50
cyA9IGludGVybmFscy5udW1iZXJPZkxpdmVEb2N1bWVudHMoKTsKKyAgICAgICAgICAgIGlmIChu
dW1iZXJPZkxpdmVEb2N1bWVudHMgPT0gMSkgeworICAgICAgICAgICAgICAgIGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJyZXN1bHQiKS5pbm5lckhUTUwgPSAiU1VDQ0VTUyI7CisgICAgICAgICAg
ICB9CisgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCJyZXN1bHQiKS5pbm5lckhUTUwgPSAiRkFJTEVEOyBUaGlzIHRlc3QgaXMgb25seSB2YWxp
ZCBpbiBEdW1wUmVuZGVyVHJlZSwgYW5kIG9ubHkgd2hlbiB0aGUgSW5zcGVjdG9yIGlzIGVuYWJs
ZWQuIjsKKyAgICAgICAgfQorICAgICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVy
KSB7CisgICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7CisgICAg
ICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7CisgICAgICAgIH0KKyAg
ICB9Cit9Cis8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5IG9ubG9hZD0icnVuVGVzdCgpOyI+Cis8
cD5UaGlzIHBhZ2UgdGVzdHMgcmVsb2FkaW5nIGEgTmV0c2NhcGUgcGx1Zy1pbiB0aGF0IGFjY2Vz
c2VzIGl0cyBvd24gRE9NIGVsZW1lbnQuIFNlZSBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9ODA0MjgsICJIVE1MUGx1Z2luRWxlbWVudCBpcyBub3QgZGVzdHJveWVkIG9u
IHJlbG9hZCBvciBuYXZpZ2F0aW9uIGlmIGdldE5QT2JqZWN0IGlzIGNhbGxlZCIuCisKK0lmIGl0
IHN1Y2NlZWRzLCB5b3Ugc2hvdWxkIHNlZSBTVUNDRVNTIGJlbG93LgorPGVtYmVkIGlkPSJ0ZXN0
UGx1Z2luIiB0eXBlPSJhcHBsaWNhdGlvbi94LXdlYmtpdC10ZXN0LW5ldHNjYXBlIiB3aWR0aD0i
MjAwIiBoZWlnaHQ9IjIwMCI+PC9lbWJlZD4KKzxkaXYgaWQ9InJlc3VsdCI+RkFJTFVSRTwvZGl2
PgorPC9ib2R5PgorPC9odG1sPgpkaWZmIC0tZ2l0IGEvQ2hhbmdlTG9nIGIvQ2hhbmdlTG9nCmlu
ZGV4IDBiOTQ1ZDRjNjdkMzViOTg2MjUxOTU5YWU5ZTRhMGJlY2Q2N2QwZGQuLmI4M2MyMzA1N2Iw
OGVjYTg1MTEyZmE3Y2RkMDEwZjE0MzU3ODdjOGEgMTAwNjQ0Ci0tLSBhL0NoYW5nZUxvZworKysg
Yi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxMi0wMy0yMyAgRGF2ZSBNaWNoYWVsICA8
ZG1pY2hhZWxAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJlbGFuZGluZyhyMTExNzU0KTogSFRN
TFBsdWdpbkVsZW1lbnQgaXMgbm90IGRlc3Ryb3llZCBvbiByZWxvYWQgb3IgbmF2aWdhdGlvbiBp
ZiBnZXROUE9iamVjdCBpcyBjYWxsZWQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTgwNDI4CisKK1Jldmlld2VkIGJ5IEVyaWMgU2VpZGVsIGFuZCBSeW9z
dWtlIE5pd2EuCisKKyAgICAgICAgVGVzdDogcGx1Z2lucy9uZXRzY2FwZS1kb20tYWNjZXNzLWFu
ZC1yZWxvYWQuaHRtbAorCisgICAgICAgICogU291cmNlL2F1dG90b29scy9zeW1ib2xzLmZpbHRl
cjogRXhwb3J0IGEgc3ltYm9sIGZvciBJbnNwZWN0b3JDb3VudGVyczo6Y291bnRlclZhbHVlLgor
CiAyMDEyLTAzLTIzICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgogCiAgICAgICAg
IFJFR1JFU1NJT04ocjExMTc1NCk6IHBsdWdpbnMvcmVsb2FkcGx1Z2lucy1hbmQtcGFnZXMuaHRt
bCBmYWlscyBvbiBhbGwgcGxhdGZvcm1zCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>