<?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>98277</bug_id>
          
          <creation_ts>2012-10-03 09:27:33 -0700</creation_ts>
          <short_desc>[chromium] Allow dragging into plugins.</short_desc>
          <delta_ts>2013-04-11 12:11:56 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Sadrul Habib Chowdhury">sadrul</reporter>
          <assigned_to name="Sadrul Habib Chowdhury">sadrul</assigned_to>
          <cc>abarth</cc>
    
    <cc>dglazkov</cc>
    
    <cc>fishd</cc>
    
    <cc>jamesr</cc>
    
    <cc>peter+ews</cc>
    
    <cc>rjkroege</cc>
    
    <cc>schenney</cc>
    
    <cc>tkent+wkapi</cc>
    
    <cc>tony</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>733776</commentid>
    <comment_count>0</comment_count>
    <who name="Sadrul Habib Chowdhury">sadrul</who>
    <bug_when>2012-10-03 09:27:33 -0700</bug_when>
    <thetext>[chromium] Allow dragging into plugins.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>733780</commentid>
    <comment_count>1</comment_count>
      <attachid>166912</attachid>
    <who name="Sadrul Habib Chowdhury">sadrul</who>
    <bug_when>2012-10-03 09:29:22 -0700</bug_when>
    <thetext>Created attachment 166912
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>733783</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-03 09:33:08 -0700</bug_when>
    <thetext>Please wait for approval from abarth@webkit.org, dglazkov@chromium.org, fishd@chromium.org, jamesr@chromium.org or tkent@chromium.org before submitting, as this patch contains changes to the Chromium public API. See also https://trac.webkit.org/wiki/ChromiumWebKitAPI.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>733785</commentid>
    <comment_count>3</comment_count>
      <attachid>166912</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-03 09:35:07 -0700</bug_when>
    <thetext>Comment on attachment 166912
Patch

Attachment 166912 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/14132700</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>733789</commentid>
    <comment_count>4</comment_count>
      <attachid>166912</attachid>
    <who name="Peter Beverloo (cr-android ews)">peter+ews</who>
    <bug_when>2012-10-03 09:45:00 -0700</bug_when>
    <thetext>Comment on attachment 166912
Patch

Attachment 166912 did not pass cr-android-ews (chromium-android):
Output: http://queues.webkit.org/results/14138630</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>733816</commentid>
    <comment_count>5</comment_count>
      <attachid>166916</attachid>
    <who name="Sadrul Habib Chowdhury">sadrul</who>
    <bug_when>2012-10-03 10:21:37 -0700</bug_when>
    <thetext>Created attachment 166916
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>733818</commentid>
    <comment_count>6</comment_count>
      <attachid>166916</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-03 10:26:58 -0700</bug_when>
    <thetext>Comment on attachment 166916
Patch

Attachment 166916 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/14131735</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>733821</commentid>
    <comment_count>7</comment_count>
      <attachid>166916</attachid>
    <who name="Peter Beverloo (cr-android ews)">peter+ews</who>
    <bug_when>2012-10-03 10:31:06 -0700</bug_when>
    <thetext>Comment on attachment 166916
Patch

Attachment 166916 did not pass cr-android-ews (chromium-android):
Output: http://queues.webkit.org/results/14126846</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>733827</commentid>
    <comment_count>8</comment_count>
    <who name="Sadrul Habib Chowdhury">sadrul</who>
    <bug_when>2012-10-03 10:36:26 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; (From update of attachment 166916 [details])
&gt; Attachment 166916 [details] did not pass cr-android-ews (chromium-android):
&gt; Output: http://queues.webkit.org/results/14126846

Hi! The chromium side of this CL to fix the build is at: http://codereview.chromium.org/11043022/. But I wanted to get this WebKit side reviewed first, so that I can update the chrome-CL before landing. So please take a look at this patch despite the build failures :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>733851</commentid>
    <comment_count>9</comment_count>
      <attachid>166916</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-10-03 11:03:47 -0700</bug_when>
    <thetext>Comment on attachment 166916
Patch

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

Seems reasonable to me, but I&apos;m not a drag-and-drop expert.  API change LGTM.

&gt; Source/WebKit/chromium/public/WebDragState.h:40
&gt; +    WebDragStateUnknown  = 0,
&gt; +    WebDragStateEnter    = 1,
&gt; +    WebDragStateOver     = 2,
&gt; +    WebDragStateLeave    = 3

The = sign should only be separated from the enum name by a single space.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>733859</commentid>
    <comment_count>10</comment_count>
      <attachid>166916</attachid>
    <who name="Robert Kroeger">rjkroege</who>
    <bug_when>2012-10-03 11:12:57 -0700</bug_when>
    <thetext>Comment on attachment 166916
Patch

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

&gt; Source/WebKit/chromium/public/WebDragState.h:31
&gt; +#ifndef WebDragState_h

There is an existing DragState in webcore. the typical convention is that a WebFoo wraps a WebCore::Foo. at the risk of bike-shedding, this might need to be renamed? Couldn&apos;t you also suck in

&gt; Source/WebKit/chromium/public/WebPlugin.h:86
&gt; +    virtual bool handleDragEvent(WebDragState, const WebDragData&amp;, WebDragOperationsMask, const WebPoint&amp; position, const WebPoint&amp; screenPosition) = 0;

we don&apos;t have drag events right? So maybe a different name?

&gt; Source/WebKit/chromium/src/WebPluginContainerImpl.cpp:712
&gt; +        dragState = WebDragStateEnter;

why do we need to track the drag state here? why not pass the eventName() to the handleDragEvent and wrap that in a Web interface?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>733901</commentid>
    <comment_count>11</comment_count>
      <attachid>166933</attachid>
    <who name="Sadrul Habib Chowdhury">sadrul</who>
    <bug_when>2012-10-03 12:07:23 -0700</bug_when>
    <thetext>Created attachment 166933
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>733903</commentid>
    <comment_count>12</comment_count>
      <attachid>166934</attachid>
    <who name="Sadrul Habib Chowdhury">sadrul</who>
    <bug_when>2012-10-03 12:08:55 -0700</bug_when>
    <thetext>Created attachment 166934
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>733904</commentid>
    <comment_count>13</comment_count>
      <attachid>166916</attachid>
    <who name="Sadrul Habib Chowdhury">sadrul</who>
    <bug_when>2012-10-03 12:09:30 -0700</bug_when>
    <thetext>Comment on attachment 166916
Patch

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

&gt;&gt; Source/WebKit/chromium/public/WebDragState.h:31
&gt;&gt; +#ifndef WebDragState_h
&gt; 
&gt; There is an existing DragState in webcore. the typical convention is that a WebFoo wraps a WebCore::Foo. at the risk of bike-shedding, this might need to be renamed? Couldn&apos;t you also suck in

Renamed this to WebDragStatus.

&gt;&gt; Source/WebKit/chromium/public/WebDragState.h:40
&gt;&gt; +    WebDragStateLeave    = 3
&gt; 
&gt; The = sign should only be separated from the enum name by a single space.

Fixed.

&gt;&gt; Source/WebKit/chromium/public/WebPlugin.h:86
&gt;&gt; +    virtual bool handleDragEvent(WebDragState, const WebDragData&amp;, WebDragOperationsMask, const WebPoint&amp; position, const WebPoint&amp; screenPosition) = 0;
&gt; 
&gt; we don&apos;t have drag events right? So maybe a different name?

Ranamed WebDragState to WebDragStatus, and handleDragEvent to handleDragStatusUpdate.

&gt;&gt; Source/WebKit/chromium/src/WebPluginContainerImpl.cpp:712
&gt;&gt; +        dragState = WebDragStateEnter;
&gt; 
&gt; why do we need to track the drag state here? why not pass the eventName() to the handleDragEvent and wrap that in a Web interface?

The handleDragEvent implementations do not have access to eventNames() (they are usually in chrome land). Adding a wrapper for all of eventNames() is probably an overkill. The current way is to convert these into some enum (usually something in WebInputEvent)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>733910</commentid>
    <comment_count>14</comment_count>
      <attachid>166934</attachid>
    <who name="Sadrul Habib Chowdhury">sadrul</who>
    <bug_when>2012-10-03 12:14:26 -0700</bug_when>
    <thetext>Comment on attachment 166934
Patch

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

&gt; Source/WebKit/chromium/public/WebPlugin.h:87
&gt; +

To allow less churn around this, would it be acceptable to have a default implementation here for now, and remove the implementation after the chrome implementations land? I was planning on landing the chrome stub-implementations first, but it&apos;d probably be easier if this lands first with the default implementation, then the chrome CL lands, and then I remove the default implementation form here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>733931</commentid>
    <comment_count>15</comment_count>
      <attachid>166934</attachid>
    <who name="Peter Beverloo (cr-android ews)">peter+ews</who>
    <bug_when>2012-10-03 12:31:43 -0700</bug_when>
    <thetext>Comment on attachment 166934
Patch

Attachment 166934 did not pass cr-android-ews (chromium-android):
Output: http://queues.webkit.org/results/14137689</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>733934</commentid>
    <comment_count>16</comment_count>
      <attachid>166934</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-03 12:33:17 -0700</bug_when>
    <thetext>Comment on attachment 166934
Patch

Attachment 166934 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/14138673</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>733964</commentid>
    <comment_count>17</comment_count>
      <attachid>166946</attachid>
    <who name="Sadrul Habib Chowdhury">sadrul</who>
    <bug_when>2012-10-03 13:15:15 -0700</bug_when>
    <thetext>Created attachment 166946
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>734021</commentid>
    <comment_count>18</comment_count>
    <who name="Sadrul Habib Chowdhury">sadrul</who>
    <bug_when>2012-10-03 14:11:48 -0700</bug_when>
    <thetext>(In reply to comment #14)
&gt; (From update of attachment 166934 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=166934&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/chromium/public/WebPlugin.h:87
&gt; &gt; +
&gt; 
&gt; To allow less churn around this, would it be acceptable to have a default implementation here for now, and remove the implementation after the chrome implementations land? I was planning on landing the chrome stub-implementations first, but it&apos;d probably be easier if this lands first with the default implementation, then the chrome CL lands, and then I remove the default implementation form here.

I have gone ahead with the default implementation here (looks like there are other default implementations here (e.g. container(), supportsKeyboardFocus() etc.). The EWS bots are all super happy. PTAL.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>734967</commentid>
    <comment_count>19</comment_count>
    <who name="Sadrul Habib Chowdhury">sadrul</who>
    <bug_when>2012-10-04 13:28:56 -0700</bug_when>
    <thetext>Hi Tony! Would you mind reviewing this change? (Adding you since I understand you have reviewed drag-n-drop related changes before). Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>734990</commentid>
    <comment_count>20</comment_count>
      <attachid>166946</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2012-10-04 13:53:07 -0700</bug_when>
    <thetext>Comment on attachment 166946
Patch

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

Looks fine overall.

&gt; Source/WebKit/chromium/public/WebDragStatus.h:40
&gt; +    WebDragStatusUnknown = 0,
&gt; +    WebDragStatusEnter = 1,
&gt; +    WebDragStatusOver = 2,
&gt; +    WebDragStatusLeave = 3

Do we have to explicitly number these?

&gt; Source/WebKit/chromium/public/WebPlugin.h:86
&gt; +    virtual bool handleDragStatusUpdate(WebDragStatus, const WebDragData&amp;, WebDragOperationsMask, const WebPoint&amp; position, const WebPoint&amp; screenPosition) { return false; }

What is the purpose of the return value?  In WebPluginContainerImpl.cpp, we ignore the return value.

&gt; LayoutTests/platform/chromium/plugins/drag-events.html:18
&gt; +        document.write(&quot;This test does not work in manual mode.&quot;);

Normally we write instructions on how to run the test manually.  E.g., drag the select to the plugin; it should output blah.  This allows someone to run the test in Chromium as well.

&gt; LayoutTests/platform/chromium/plugins/drag-events.html:36
&gt; +        eventSender.mouseDown();
&gt; +        eventSender.mouseMoveTo(positionX, positionY);

This might not work on Chromium Mac since you have to wait 250ms after a mouseDown before it&apos;s considered a drag.  You can use eventSender.leapForward(250) to get this working on Mac.

&gt; LayoutTests/platform/chromium/plugins/drag-events.html:41
&gt; +        testRunner.notifyDone();

Do we need the notifyDone? You don&apos;t actually call waitUntilDone anywhere.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>735008</commentid>
    <comment_count>21</comment_count>
      <attachid>166946</attachid>
    <who name="Sadrul Habib Chowdhury">sadrul</who>
    <bug_when>2012-10-04 14:22:17 -0700</bug_when>
    <thetext>Comment on attachment 166946
Patch

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

&gt;&gt; Source/WebKit/chromium/public/WebDragStatus.h:40
&gt;&gt; +    WebDragStatusLeave = 3
&gt; 
&gt; Do we have to explicitly number these?

I looked at some of the other places where enums are used in chromium/public/, and it looks like only the first entry is explicitly given a value. So I have followed the same style here, and removed the explicit numbers from the rest of the entries.

&gt;&gt; LayoutTests/platform/chromium/plugins/drag-events.html:18
&gt;&gt; +        document.write(&quot;This test does not work in manual mode.&quot;);
&gt; 
&gt; Normally we write instructions on how to run the test manually.  E.g., drag the select to the plugin; it should output blah.  This allows someone to run the test in Chromium as well.

It looks like none of the plugin-tests that deal with events are testable manually (since the test-expectation is actually the stdout output). So I have kept this unchanged.

&gt;&gt; LayoutTests/platform/chromium/plugins/drag-events.html:36
&gt;&gt; +        eventSender.mouseMoveTo(positionX, positionY);
&gt; 
&gt; This might not work on Chromium Mac since you have to wait 250ms after a mouseDown before it&apos;s considered a drag.  You can use eventSender.leapForward(250) to get this working on Mac.

Done. Thanks!

&gt;&gt; LayoutTests/platform/chromium/plugins/drag-events.html:41
&gt;&gt; +        testRunner.notifyDone();
&gt; 
&gt; Do we need the notifyDone? You don&apos;t actually call waitUntilDone anywhere.

Whoops. Removed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>735009</commentid>
    <comment_count>22</comment_count>
      <attachid>167172</attachid>
    <who name="Sadrul Habib Chowdhury">sadrul</who>
    <bug_when>2012-10-04 14:25:58 -0700</bug_when>
    <thetext>Created attachment 167172
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>735010</commentid>
    <comment_count>23</comment_count>
      <attachid>167172</attachid>
    <who name="Sadrul Habib Chowdhury">sadrul</who>
    <bug_when>2012-10-04 14:26:35 -0700</bug_when>
    <thetext>Comment on attachment 167172
Patch

Thanks for the quick review!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>735011</commentid>
    <comment_count>24</comment_count>
      <attachid>166946</attachid>
    <who name="Sadrul Habib Chowdhury">sadrul</who>
    <bug_when>2012-10-04 14:27:59 -0700</bug_when>
    <thetext>Comment on attachment 166946
Patch

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

&gt;&gt; Source/WebKit/chromium/public/WebPlugin.h:86
&gt;&gt; +    virtual bool handleDragStatusUpdate(WebDragStatus, const WebDragData&amp;, WebDragOperationsMask, const WebPoint&amp; position, const WebPoint&amp; screenPosition) { return false; }
&gt; 
&gt; What is the purpose of the return value?  In WebPluginContainerImpl.cpp, we ignore the return value.

Oh, I didn&apos;t address this comment. My plan is that the return value will indicate whether the plugin is willing to accept the drop, in which case, the mouse-cursor will change accordingly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>735020</commentid>
    <comment_count>25</comment_count>
    <who name="Tony Chang">tony</who>
    <bug_when>2012-10-04 14:34:42 -0700</bug_when>
    <thetext>(In reply to comment #21)
&gt; (From update of attachment 166946 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=166946&amp;action=review
&gt; 
&gt; &gt;&gt; LayoutTests/platform/chromium/plugins/drag-events.html:18
&gt; &gt;&gt; +        document.write(&quot;This test does not work in manual mode.&quot;);
&gt; &gt; 
&gt; &gt; Normally we write instructions on how to run the test manually.  E.g., drag the select to the plugin; it should output blah.  This allows someone to run the test in Chromium as well.
&gt; 
&gt; It looks like none of the plugin-tests that deal with events are testable manually (since the test-expectation is actually the stdout output). So I have kept this unchanged.

If you manually ran the steps in Chromium, wouldn&apos;t you still see the results on stdout?  I thought NPAPI plugin processes weren&apos;t sandboxed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>735032</commentid>
    <comment_count>26</comment_count>
    <who name="Sadrul Habib Chowdhury">sadrul</who>
    <bug_when>2012-10-04 14:42:21 -0700</bug_when>
    <thetext>(In reply to comment #25)
&gt; (In reply to comment #21)
&gt; &gt; (From update of attachment 166946 [details] [details])
&gt; &gt; View in context: https://bugs.webkit.org/attachment.cgi?id=166946&amp;action=review
&gt; &gt; 
&gt; &gt; &gt;&gt; LayoutTests/platform/chromium/plugins/drag-events.html:18
&gt; &gt; &gt;&gt; +        document.write(&quot;This test does not work in manual mode.&quot;);
&gt; &gt; &gt; 
&gt; &gt; &gt; Normally we write instructions on how to run the test manually.  E.g., drag the select to the plugin; it should output blah.  This allows someone to run the test in Chromium as well.
&gt; &gt; 
&gt; &gt; It looks like none of the plugin-tests that deal with events are testable manually (since the test-expectation is actually the stdout output). So I have kept this unchanged.
&gt; 
&gt; If you manually ran the steps in Chromium, wouldn&apos;t you still see the results on stdout?  I thought NPAPI plugin processes weren&apos;t sandboxed.

My understanding is that this test plugin (TestWebPlugin) is not an NPAPI plugin.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>735044</commentid>
    <comment_count>27</comment_count>
    <who name="Tony Chang">tony</who>
    <bug_when>2012-10-04 14:59:28 -0700</bug_when>
    <thetext>(In reply to comment #26)
&gt; (In reply to comment #25)
&gt; &gt; If you manually ran the steps in Chromium, wouldn&apos;t you still see the results on stdout?  I thought NPAPI plugin processes weren&apos;t sandboxed.
&gt; 
&gt; My understanding is that this test plugin (TestWebPlugin) is not an NPAPI plugin.

Ah, you&apos;re right. It looks like the plugin is compiled directly into DumpRenderTree.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>735049</commentid>
    <comment_count>28</comment_count>
    <who name="Sadrul Habib Chowdhury">sadrul</who>
    <bug_when>2012-10-04 15:03:16 -0700</bug_when>
    <thetext>(In reply to comment #27)
&gt; (In reply to comment #26)
&gt; &gt; (In reply to comment #25)
&gt; &gt; &gt; If you manually ran the steps in Chromium, wouldn&apos;t you still see the results on stdout?  I thought NPAPI plugin processes weren&apos;t sandboxed.
&gt; &gt; 
&gt; &gt; My understanding is that this test plugin (TestWebPlugin) is not an NPAPI plugin.
&gt; 
&gt; Ah, you&apos;re right. It looks like the plugin is compiled directly into DumpRenderTree.

Cool! Thanks for the really quick reviews.

Mind helping with the r?/cq? flags too? :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>735052</commentid>
    <comment_count>29</comment_count>
    <who name="Tony Chang">tony</who>
    <bug_when>2012-10-04 15:07:39 -0700</bug_when>
    <thetext>(In reply to comment #28)

&gt; Mind helping with the r?/cq? flags too? :)

If you use webkit-patch and you already have an r+, you can use &apos;webkit-patch land-safely&apos; to upload a new patch that sets the cq flag appropriately (cq+ if you&apos;re a committer, cq? if you&apos;re not).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>735203</commentid>
    <comment_count>30</comment_count>
      <attachid>167172</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-04 18:03:21 -0700</bug_when>
    <thetext>Comment on attachment 167172
Patch

Rejecting attachment 167172 from commit-queue.

Failed to run &quot;[&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;-...&quot; exit_code: 2

Last 500 characters of output:
top rebasing run &quot;git rebase --abort&quot;.

rebase refs/remotes/origin/master: command returned error: 1

Died at Tools/Scripts/update-webkit line 164.

Failed to run &quot;[&apos;Tools/Scripts/update-webkit&apos;, &apos;--chromium&apos;, &apos;--force-update&apos;]&quot; exit_code: 9

If you would prefer to skip this patch, instead run &quot;git rebase --skip&quot;.
To restore the original branch and stop rebasing run &quot;git rebase --abort&quot;.

rebase refs/remotes/origin/master: command returned error: 1

Died at Tools/Scripts/update-webkit line 164.

Full output: http://queues.webkit.org/results/14168524</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>735211</commentid>
    <comment_count>31</comment_count>
    <who name="Sadrul Habib Chowdhury">sadrul</who>
    <bug_when>2012-10-04 18:31:08 -0700</bug_when>
    <thetext>(In reply to comment #29)
&gt; (In reply to comment #28)
&gt; 
&gt; &gt; Mind helping with the r?/cq? flags too? :)
&gt; 
&gt; If you use webkit-patch and you already have an r+, you can use &apos;webkit-patch land-safely&apos; to upload a new patch that sets the cq flag appropriately (cq+ if you&apos;re a committer, cq? if you&apos;re not).

Oh, cool! That&apos;s useful. Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>735216</commentid>
    <comment_count>32</comment_count>
      <attachid>167219</attachid>
    <who name="Sadrul Habib Chowdhury">sadrul</who>
    <bug_when>2012-10-04 18:44:30 -0700</bug_when>
    <thetext>Created attachment 167219
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>735630</commentid>
    <comment_count>33</comment_count>
      <attachid>167219</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-10-05 07:42:14 -0700</bug_when>
    <thetext>Comment on attachment 167219
Patch for landing

Clearing flags on attachment: 167219

Committed r130504: &lt;http://trac.webkit.org/changeset/130504&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>166912</attachid>
            <date>2012-10-03 09:29:22 -0700</date>
            <delta_ts>2012-10-03 10:21:33 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-98277-20121003122833.patch</filename>
            <type>text/plain</type>
            <size>7731</size>
            <attacher name="Sadrul Habib Chowdhury">sadrul</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMwMDMxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4
IDY1NGExZWFjZWEyOWU5ZDM3OGQ0ZTQzMjVlMmY3NzNjZjFlZjZkMDEuLjhlOWRkOWM1MjA2ZWUy
YmJlYTdhMDYyMzllMjhhODQyY2EwZjVjZWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMjUgQEAKKzIwMTItMTAtMDMgIFNhZHJ1bCBIYWJpYiBDaG93ZGh1cnkgIDxzYWRy
dWxAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtjaHJvbWl1bV0gQWxsb3cgZHJhZ2dpbmcgaW50
byBwbHVnaW5zLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9OTgyNzcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBBbGxvdyBwbHVnaW5zIHRvIHJlY2VpdmUgZHJhZyBldmVudHMuIFRoaXMgd2lsbCBtYWtlIGl0
IHBvc3NpYmxlIHRvCisgICAgICAgIHBlcmZvcm0gZHJhZy1uLWRyb3AgaW50byBicm93c2VyIHBs
dWdpbnMgKGFuZCBvdGhlciBwbHVnaW5zIGlmIGRlc2lyZWQpLgorCisgICAgICAgICogcHVibGlj
L1dlYkRyYWdTdGF0ZS5oOiBBZGRlZC4KKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgICogcHVi
bGljL1dlYlBsdWdpbi5oOgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKFdlYlBsdWdpbik6
CisgICAgICAgICogc3JjL1dlYlBsdWdpbkNvbnRhaW5lckltcGwuY3BwOgorICAgICAgICAoV2Vi
S2l0OjpXZWJQbHVnaW5Db250YWluZXJJbXBsOjpoYW5kbGVNb3VzZUV2ZW50KToKKyAgICAgICAg
KFdlYktpdDo6V2ViUGx1Z2luQ29udGFpbmVySW1wbDo6aGFuZGxlRHJhZ0V2ZW50KToKKyAgICAg
ICAgKFdlYktpdCk6CisgICAgICAgICogc3JjL1dlYlBsdWdpbkNvbnRhaW5lckltcGwuaDoKKyAg
ICAgICAgKFdlYlBsdWdpbkNvbnRhaW5lckltcGwpOgorCiAyMDEyLTEwLTAxICBBbGV4YW5kZXIg
UGF2bG92ICA8YXBhdmxvdkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgV2ViIEluc3BlY3Rvcjog
W0RldmljZSBNZXRyaWNzXSBSZW1vdmUgdGhlIGd1dHRlciBvdmVybGF5IG1vdmluZyBpdHMgZnVu
Y3Rpb25hbGl0eSBpbnRvIHRoZSBJbnNwZWN0b3JPdmVybGF5CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJEcmFnU3RhdGUuaCBiL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vcHVibGljL1dlYkRyYWdTdGF0ZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjVmNWQzZDg2NjMyNzIzNzIx
NzQ1NDYxYzMzNDJjYTQ2ZmI5MjU1YzYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3B1YmxpYy9XZWJEcmFnU3RhdGUuaApAQCAtMCwwICsxLDQ1IEBACisvKgorKiBD
b3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyoKKyog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyogbWV0OgorKgorKiAgICAgKiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorKiBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUKKyogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisqIGRpc3RyaWJ1dGlvbi4KKyog
ICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0
cworKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1
Y3RzIGRlcml2ZWQgZnJvbQorKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Ig
d3JpdHRlbiBwZXJtaXNzaW9uLgorKgorKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRI
RSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisqICJBUyBJUyIgQU5EIEFOWSBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisqIExJTUlU
RUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUgorKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgVEhFIENPUFlSSUdIVAorKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyogU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorKiBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwKKyogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyogKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisq
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCisqLworCisjaWZuZGVmIFdlYkRyYWdTdGF0ZV9oCisjZGVmaW5lIFdlYkRy
YWdTdGF0ZV9oCisKK25hbWVzcGFjZSBXZWJLaXQgeworCitlbnVtIFdlYkRyYWdTdGF0ZSB7Cisg
ICAgV2ViRHJhZ1N0YXRlVW5rbm93biAgPSAwLAorICAgIFdlYkRyYWdTdGF0ZUVudGVyICAgID0g
MSwKKyAgICBXZWJEcmFnU3RhdGVPdmVyICAgICA9IDIsCisgICAgV2ViRHJhZ1N0YXRlTGVhdmUg
ICAgPSAzCit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKKworI2VuZGlmCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJQbHVnaW4uaCBiL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vcHVibGljL1dlYlBsdWdpbi5oCmluZGV4IDhhYmFmM2JmZTBmOTM1YzkyYjA4
YmJjMGEwNmM5YTllNzQzMDFhYTcuLjU5ODkwOGZlZWFlNmY5ZDUwOGFkMzM5MjYwMjBmNTFiNTVk
YmQ5NGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlBsdWdp
bi5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlBsdWdpbi5oCkBAIC0z
MSw2ICszMSw4IEBACiAjaWZuZGVmIFdlYlBsdWdpbl9oCiAjZGVmaW5lIFdlYlBsdWdpbl9oCiAK
KyNpbmNsdWRlICJXZWJEcmFnT3BlcmF0aW9uLmgiCisjaW5jbHVkZSAiV2ViRHJhZ1N0YXRlLmgi
CiAjaW5jbHVkZSAicGxhdGZvcm0vV2ViQ2FudmFzLmgiCiAjaW5jbHVkZSAicGxhdGZvcm0vV2Vi
U3RyaW5nLmgiCiAjaW5jbHVkZSAicGxhdGZvcm0vV2ViVVJMLmgiCkBAIC00MCw2ICs0Miw3IEBA
IHN0cnVjdCBOUE9iamVjdDsKIG5hbWVzcGFjZSBXZWJLaXQgewogCiBjbGFzcyBXZWJEYXRhU291
cmNlOworY2xhc3MgV2ViRHJhZ0RhdGE7CiBjbGFzcyBXZWJGcmFtZTsKIGNsYXNzIFdlYklucHV0
RXZlbnQ7CiBjbGFzcyBXZWJQbHVnaW5Db250YWluZXI7CkBAIC04MCw2ICs4Myw4IEBAIHB1Ymxp
YzoKICAgICB2aXJ0dWFsIGJvb2wgYWNjZXB0c0lucHV0RXZlbnRzKCkgPSAwOwogICAgIHZpcnR1
YWwgYm9vbCBoYW5kbGVJbnB1dEV2ZW50KGNvbnN0IFdlYklucHV0RXZlbnQmLCBXZWJDdXJzb3JJ
bmZvJikgPSAwOwogCisgICAgdmlydHVhbCBib29sIGhhbmRsZURyYWdFdmVudChXZWJEcmFnU3Rh
dGUsIGNvbnN0IFdlYkRyYWdEYXRhJiwgV2ViRHJhZ09wZXJhdGlvbnNNYXNrLCBjb25zdCBXZWJQ
b2ludCYgcG9zaXRpb24sIGNvbnN0IFdlYlBvaW50JiBzY3JlZW5Qb3NpdGlvbikgPSAwOworCiAg
ICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVSZXNwb25zZShjb25zdCBXZWJVUkxSZXNwb25zZSYp
ID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZURhdGEoY29uc3QgY2hhciogZGF0YSwg
aW50IGRhdGFMZW5ndGgpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgZGlkRmluaXNoTG9hZGluZygp
ID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlBsdWdpbkNv
bnRhaW5lckltcGwuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViUGx1Z2luQ29u
dGFpbmVySW1wbC5jcHAKaW5kZXggZTNjNGJlZmI4M2YyMWFjZTllODA3YTViMGZmMzEyNGJjNTNm
ODI3Ni4uYjQ4MTAzZGQ3ZTY0Yzg5Y2JmNjlkYjE0MTM5MjJhYWRlNTk1ZWEzZCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViUGx1Z2luQ29udGFpbmVySW1wbC5jcHAK
KysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViUGx1Z2luQ29udGFpbmVySW1wbC5j
cHAKQEAgLTMzLDYgKzMzLDcgQEAKIAogI2luY2x1ZGUgIkNocm9tZS5oIgogI2luY2x1ZGUgIkNo
cm9tZUNsaWVudEltcGwuaCIKKyNpbmNsdWRlICJDbGlwYm9hcmRDaHJvbWl1bS5oIgogI2luY2x1
ZGUgIlNjcm9sbGJhckdyb3VwLmgiCiAjaW5jbHVkZSAiV2ViQ3Vyc29ySW5mby5oIgogI2luY2x1
ZGUgIldlYkRhdGFTb3VyY2VJbXBsLmgiCkBAIC03Myw2ICs3NCw3IEBACiAjaW5jbHVkZSA8cHVi
bGljL1BsYXRmb3JtLmg+CiAjaW5jbHVkZSA8cHVibGljL1dlYkNsaXBib2FyZC5oPgogI2luY2x1
ZGUgPHB1YmxpYy9XZWJDb21wb3NpdG9yU3VwcG9ydC5oPgorI2luY2x1ZGUgPHB1YmxpYy9XZWJE
cmFnRGF0YS5oPgogI2luY2x1ZGUgPHB1YmxpYy9XZWJFeHRlcm5hbFRleHR1cmVMYXllci5oPgog
I2luY2x1ZGUgPHB1YmxpYy9XZWJSZWN0Lmg+CiAjaW5jbHVkZSA8cHVibGljL1dlYlN0cmluZy5o
PgpAQCAtNjUzLDYgKzY1NSwxMSBAQCB2b2lkIFdlYlBsdWdpbkNvbnRhaW5lckltcGw6OmhhbmRs
ZU1vdXNlRXZlbnQoTW91c2VFdmVudCogZXZlbnQpCiB7CiAgICAgQVNTRVJUKHBhcmVudCgpLT5p
c0ZyYW1lVmlldygpKTsKIAorICAgIGlmIChldmVudC0+aXNEcmFnRXZlbnQoKSkgeworICAgICAg
ICBoYW5kbGVEcmFnRXZlbnQoZXZlbnQpOworICAgICAgICByZXR1cm47CisgICAgfQorCiAgICAg
Ly8gV2UgY2FjaGUgdGhlIHBhcmVudCBGcmFtZVZpZXcgaGVyZSBhcyB0aGUgcGx1Z2luIHdpZGdl
dCBjb3VsZCBiZSBkZWxldGVkCiAgICAgLy8gaW4gdGhlIGNhbGwgdG8gSGFuZGxlRXZlbnQuIFNl
ZSBodHRwOi8vYi9pc3N1ZT9pZD0xMzYyOTQ4CiAgICAgRnJhbWVWaWV3KiBwYXJlbnRWaWV3ID0g
c3RhdGljX2Nhc3Q8RnJhbWVWaWV3Kj4ocGFyZW50KCkpOwpAQCAtNjk2LDYgKzcwMywzMCBAQCB2
b2lkIFdlYlBsdWdpbkNvbnRhaW5lckltcGw6OmhhbmRsZU1vdXNlRXZlbnQoTW91c2VFdmVudCog
ZXZlbnQpCiAgICAgY2hyb21lQ2xpZW50LT5zZXRDdXJzb3JGb3JQbHVnaW4oY3Vyc29ySW5mbyk7
CiB9CiAKK3ZvaWQgV2ViUGx1Z2luQ29udGFpbmVySW1wbDo6aGFuZGxlRHJhZ0V2ZW50KE1vdXNl
RXZlbnQqIGV2ZW50KQoreworICAgIEFTU0VSVChldmVudC0+aXNEcmFnRXZlbnQoKSk7CisKKyAg
ICBXZWJEcmFnU3RhdGUgZHJhZ1N0YXRlID0gV2ViRHJhZ1N0YXRlVW5rbm93bjsKKyAgICBpZiAo
ZXZlbnQtPnR5cGUoKSA9PSBldmVudE5hbWVzKCkuZHJhZ2VudGVyRXZlbnQpCisgICAgICAgIGRy
YWdTdGF0ZSA9IFdlYkRyYWdTdGF0ZUVudGVyOworICAgIGVsc2UgaWYgKGV2ZW50LT50eXBlKCkg
PT0gZXZlbnROYW1lcygpLmRyYWdsZWF2ZUV2ZW50KQorICAgICAgICBkcmFnU3RhdGUgPSBXZWJE
cmFnU3RhdGVMZWF2ZTsKKyAgICBlbHNlIGlmIChldmVudC0+dHlwZSgpID09IGV2ZW50TmFtZXMo
KS5kcmFnb3ZlckV2ZW50KQorICAgICAgICBkcmFnU3RhdGUgPSBXZWJEcmFnU3RhdGVPdmVyOwor
CisgICAgaWYgKGRyYWdTdGF0ZSA9PSBXZWJEcmFnU3RhdGVVbmtub3duKQorICAgICAgICByZXR1
cm47CisKKyAgICBDbGlwYm9hcmRDaHJvbWl1bSogY2xpcGJvYXJkID0gc3RhdGljX2Nhc3Q8Q2xp
cGJvYXJkQ2hyb21pdW0qPihldmVudC0+ZGF0YVRyYW5zZmVyKCkpOworICAgIFdlYkRyYWdEYXRh
IGRyYWdEYXRhID0gY2xpcGJvYXJkLT5kYXRhT2JqZWN0KCk7CisgICAgV2ViRHJhZ09wZXJhdGlv
bnNNYXNrIGRyYWdPcGVyYXRpb25NYXNrID0gc3RhdGljX2Nhc3Q8V2ViRHJhZ09wZXJhdGlvbnNN
YXNrPihjbGlwYm9hcmQtPnNvdXJjZU9wZXJhdGlvbigpKTsKKyAgICBXZWJQb2ludCBkcmFnU2Ny
ZWVuTG9jYXRpb24oZXZlbnQtPnNjcmVlblgoKSwgZXZlbnQtPnNjcmVlblkoKSk7CisgICAgV2Vi
UG9pbnQgZHJhZ0xvY2F0aW9uKGV2ZW50LT5hYnNvbHV0ZUxvY2F0aW9uKCkueCgpIC0gbG9jYXRp
b24oKS54KCksIGV2ZW50LT5hYnNvbHV0ZUxvY2F0aW9uKCkueSgpIC0gbG9jYXRpb24oKS55KCkp
OworCisgICAgbV93ZWJQbHVnaW4tPmhhbmRsZURyYWdFdmVudChkcmFnU3RhdGUsIGRyYWdEYXRh
LCBkcmFnT3BlcmF0aW9uTWFzaywgZHJhZ0xvY2F0aW9uLCBkcmFnU2NyZWVuTG9jYXRpb24pOwor
fQorCiB2b2lkIFdlYlBsdWdpbkNvbnRhaW5lckltcGw6OmhhbmRsZVdoZWVsRXZlbnQoV2hlZWxF
dmVudCogZXZlbnQpCiB7CiAgICAgV2ViTW91c2VXaGVlbEV2ZW50QnVpbGRlciB3ZWJFdmVudCh0
aGlzLCAqZXZlbnQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2Vi
UGx1Z2luQ29udGFpbmVySW1wbC5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViUGx1
Z2luQ29udGFpbmVySW1wbC5oCmluZGV4IGUyMDNhNzM3MDE5MDMxZjA0YWQ4MTI3OTMxMzU4ZjZh
ODgwODg5MzguLmU4OWFmMDk4Nzk2YWY4MjUzNTFkZWM5ZGUzNzk1NmI0ZjE1MWZhYmUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlBsdWdpbkNvbnRhaW5lckltcGwu
aAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJQbHVnaW5Db250YWluZXJJbXBs
LmgKQEAgLTE2NSw2ICsxNjUsNyBAQCBwcml2YXRlOgogICAgIH5XZWJQbHVnaW5Db250YWluZXJJ
bXBsKCk7CiAKICAgICB2b2lkIGhhbmRsZU1vdXNlRXZlbnQoV2ViQ29yZTo6TW91c2VFdmVudCop
OworICAgIHZvaWQgaGFuZGxlRHJhZ0V2ZW50KFdlYkNvcmU6Ok1vdXNlRXZlbnQqKTsKICAgICB2
b2lkIGhhbmRsZVdoZWVsRXZlbnQoV2ViQ29yZTo6V2hlZWxFdmVudCopOwogICAgIHZvaWQgaGFu
ZGxlS2V5Ym9hcmRFdmVudChXZWJDb3JlOjpLZXlib2FyZEV2ZW50Kik7CiAgICAgdm9pZCBoYW5k
bGVUb3VjaEV2ZW50KFdlYkNvcmU6OlRvdWNoRXZlbnQqKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>166916</attachid>
            <date>2012-10-03 10:21:37 -0700</date>
            <delta_ts>2012-10-03 12:09:30 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-98277-20121003132048.patch</filename>
            <type>text/plain</type>
            <size>13467</size>
            <attacher name="Sadrul Habib Chowdhury">sadrul</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMwMDMxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4
IDY1NGExZWFjZWEyOWU5ZDM3OGQ0ZTQzMjVlMmY3NzNjZjFlZjZkMDEuLjhlOWRkOWM1MjA2ZWUy
YmJlYTdhMDYyMzllMjhhODQyY2EwZjVjZWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMjUgQEAKKzIwMTItMTAtMDMgIFNhZHJ1bCBIYWJpYiBDaG93ZGh1cnkgIDxzYWRy
dWxAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtjaHJvbWl1bV0gQWxsb3cgZHJhZ2dpbmcgaW50
byBwbHVnaW5zLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9OTgyNzcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBBbGxvdyBwbHVnaW5zIHRvIHJlY2VpdmUgZHJhZyBldmVudHMuIFRoaXMgd2lsbCBtYWtlIGl0
IHBvc3NpYmxlIHRvCisgICAgICAgIHBlcmZvcm0gZHJhZy1uLWRyb3AgaW50byBicm93c2VyIHBs
dWdpbnMgKGFuZCBvdGhlciBwbHVnaW5zIGlmIGRlc2lyZWQpLgorCisgICAgICAgICogcHVibGlj
L1dlYkRyYWdTdGF0ZS5oOiBBZGRlZC4KKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgICogcHVi
bGljL1dlYlBsdWdpbi5oOgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKFdlYlBsdWdpbik6
CisgICAgICAgICogc3JjL1dlYlBsdWdpbkNvbnRhaW5lckltcGwuY3BwOgorICAgICAgICAoV2Vi
S2l0OjpXZWJQbHVnaW5Db250YWluZXJJbXBsOjpoYW5kbGVNb3VzZUV2ZW50KToKKyAgICAgICAg
KFdlYktpdDo6V2ViUGx1Z2luQ29udGFpbmVySW1wbDo6aGFuZGxlRHJhZ0V2ZW50KToKKyAgICAg
ICAgKFdlYktpdCk6CisgICAgICAgICogc3JjL1dlYlBsdWdpbkNvbnRhaW5lckltcGwuaDoKKyAg
ICAgICAgKFdlYlBsdWdpbkNvbnRhaW5lckltcGwpOgorCiAyMDEyLTEwLTAxICBBbGV4YW5kZXIg
UGF2bG92ICA8YXBhdmxvdkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgV2ViIEluc3BlY3Rvcjog
W0RldmljZSBNZXRyaWNzXSBSZW1vdmUgdGhlIGd1dHRlciBvdmVybGF5IG1vdmluZyBpdHMgZnVu
Y3Rpb25hbGl0eSBpbnRvIHRoZSBJbnNwZWN0b3JPdmVybGF5CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJEcmFnU3RhdGUuaCBiL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vcHVibGljL1dlYkRyYWdTdGF0ZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjVmNWQzZDg2NjMyNzIzNzIx
NzQ1NDYxYzMzNDJjYTQ2ZmI5MjU1YzYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3B1YmxpYy9XZWJEcmFnU3RhdGUuaApAQCAtMCwwICsxLDQ1IEBACisvKgorKiBD
b3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyoKKyog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyogbWV0OgorKgorKiAgICAgKiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorKiBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUKKyogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisqIGRpc3RyaWJ1dGlvbi4KKyog
ICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0
cworKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1
Y3RzIGRlcml2ZWQgZnJvbQorKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Ig
d3JpdHRlbiBwZXJtaXNzaW9uLgorKgorKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRI
RSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisqICJBUyBJUyIgQU5EIEFOWSBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisqIExJTUlU
RUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUgorKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgVEhFIENPUFlSSUdIVAorKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyogU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorKiBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwKKyogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyogKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisq
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCisqLworCisjaWZuZGVmIFdlYkRyYWdTdGF0ZV9oCisjZGVmaW5lIFdlYkRy
YWdTdGF0ZV9oCisKK25hbWVzcGFjZSBXZWJLaXQgeworCitlbnVtIFdlYkRyYWdTdGF0ZSB7Cisg
ICAgV2ViRHJhZ1N0YXRlVW5rbm93biAgPSAwLAorICAgIFdlYkRyYWdTdGF0ZUVudGVyICAgID0g
MSwKKyAgICBXZWJEcmFnU3RhdGVPdmVyICAgICA9IDIsCisgICAgV2ViRHJhZ1N0YXRlTGVhdmUg
ICAgPSAzCit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKKworI2VuZGlmCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJQbHVnaW4uaCBiL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vcHVibGljL1dlYlBsdWdpbi5oCmluZGV4IDhhYmFmM2JmZTBmOTM1YzkyYjA4
YmJjMGEwNmM5YTllNzQzMDFhYTcuLjU5ODkwOGZlZWFlNmY5ZDUwOGFkMzM5MjYwMjBmNTFiNTVk
YmQ5NGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlBsdWdp
bi5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlBsdWdpbi5oCkBAIC0z
MSw2ICszMSw4IEBACiAjaWZuZGVmIFdlYlBsdWdpbl9oCiAjZGVmaW5lIFdlYlBsdWdpbl9oCiAK
KyNpbmNsdWRlICJXZWJEcmFnT3BlcmF0aW9uLmgiCisjaW5jbHVkZSAiV2ViRHJhZ1N0YXRlLmgi
CiAjaW5jbHVkZSAicGxhdGZvcm0vV2ViQ2FudmFzLmgiCiAjaW5jbHVkZSAicGxhdGZvcm0vV2Vi
U3RyaW5nLmgiCiAjaW5jbHVkZSAicGxhdGZvcm0vV2ViVVJMLmgiCkBAIC00MCw2ICs0Miw3IEBA
IHN0cnVjdCBOUE9iamVjdDsKIG5hbWVzcGFjZSBXZWJLaXQgewogCiBjbGFzcyBXZWJEYXRhU291
cmNlOworY2xhc3MgV2ViRHJhZ0RhdGE7CiBjbGFzcyBXZWJGcmFtZTsKIGNsYXNzIFdlYklucHV0
RXZlbnQ7CiBjbGFzcyBXZWJQbHVnaW5Db250YWluZXI7CkBAIC04MCw2ICs4Myw4IEBAIHB1Ymxp
YzoKICAgICB2aXJ0dWFsIGJvb2wgYWNjZXB0c0lucHV0RXZlbnRzKCkgPSAwOwogICAgIHZpcnR1
YWwgYm9vbCBoYW5kbGVJbnB1dEV2ZW50KGNvbnN0IFdlYklucHV0RXZlbnQmLCBXZWJDdXJzb3JJ
bmZvJikgPSAwOwogCisgICAgdmlydHVhbCBib29sIGhhbmRsZURyYWdFdmVudChXZWJEcmFnU3Rh
dGUsIGNvbnN0IFdlYkRyYWdEYXRhJiwgV2ViRHJhZ09wZXJhdGlvbnNNYXNrLCBjb25zdCBXZWJQ
b2ludCYgcG9zaXRpb24sIGNvbnN0IFdlYlBvaW50JiBzY3JlZW5Qb3NpdGlvbikgPSAwOworCiAg
ICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVSZXNwb25zZShjb25zdCBXZWJVUkxSZXNwb25zZSYp
ID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZURhdGEoY29uc3QgY2hhciogZGF0YSwg
aW50IGRhdGFMZW5ndGgpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgZGlkRmluaXNoTG9hZGluZygp
ID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlBsdWdpbkNv
bnRhaW5lckltcGwuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViUGx1Z2luQ29u
dGFpbmVySW1wbC5jcHAKaW5kZXggZTNjNGJlZmI4M2YyMWFjZTllODA3YTViMGZmMzEyNGJjNTNm
ODI3Ni4uYjQ4MTAzZGQ3ZTY0Yzg5Y2JmNjlkYjE0MTM5MjJhYWRlNTk1ZWEzZCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViUGx1Z2luQ29udGFpbmVySW1wbC5jcHAK
KysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViUGx1Z2luQ29udGFpbmVySW1wbC5j
cHAKQEAgLTMzLDYgKzMzLDcgQEAKIAogI2luY2x1ZGUgIkNocm9tZS5oIgogI2luY2x1ZGUgIkNo
cm9tZUNsaWVudEltcGwuaCIKKyNpbmNsdWRlICJDbGlwYm9hcmRDaHJvbWl1bS5oIgogI2luY2x1
ZGUgIlNjcm9sbGJhckdyb3VwLmgiCiAjaW5jbHVkZSAiV2ViQ3Vyc29ySW5mby5oIgogI2luY2x1
ZGUgIldlYkRhdGFTb3VyY2VJbXBsLmgiCkBAIC03Myw2ICs3NCw3IEBACiAjaW5jbHVkZSA8cHVi
bGljL1BsYXRmb3JtLmg+CiAjaW5jbHVkZSA8cHVibGljL1dlYkNsaXBib2FyZC5oPgogI2luY2x1
ZGUgPHB1YmxpYy9XZWJDb21wb3NpdG9yU3VwcG9ydC5oPgorI2luY2x1ZGUgPHB1YmxpYy9XZWJE
cmFnRGF0YS5oPgogI2luY2x1ZGUgPHB1YmxpYy9XZWJFeHRlcm5hbFRleHR1cmVMYXllci5oPgog
I2luY2x1ZGUgPHB1YmxpYy9XZWJSZWN0Lmg+CiAjaW5jbHVkZSA8cHVibGljL1dlYlN0cmluZy5o
PgpAQCAtNjUzLDYgKzY1NSwxMSBAQCB2b2lkIFdlYlBsdWdpbkNvbnRhaW5lckltcGw6OmhhbmRs
ZU1vdXNlRXZlbnQoTW91c2VFdmVudCogZXZlbnQpCiB7CiAgICAgQVNTRVJUKHBhcmVudCgpLT5p
c0ZyYW1lVmlldygpKTsKIAorICAgIGlmIChldmVudC0+aXNEcmFnRXZlbnQoKSkgeworICAgICAg
ICBoYW5kbGVEcmFnRXZlbnQoZXZlbnQpOworICAgICAgICByZXR1cm47CisgICAgfQorCiAgICAg
Ly8gV2UgY2FjaGUgdGhlIHBhcmVudCBGcmFtZVZpZXcgaGVyZSBhcyB0aGUgcGx1Z2luIHdpZGdl
dCBjb3VsZCBiZSBkZWxldGVkCiAgICAgLy8gaW4gdGhlIGNhbGwgdG8gSGFuZGxlRXZlbnQuIFNl
ZSBodHRwOi8vYi9pc3N1ZT9pZD0xMzYyOTQ4CiAgICAgRnJhbWVWaWV3KiBwYXJlbnRWaWV3ID0g
c3RhdGljX2Nhc3Q8RnJhbWVWaWV3Kj4ocGFyZW50KCkpOwpAQCAtNjk2LDYgKzcwMywzMCBAQCB2
b2lkIFdlYlBsdWdpbkNvbnRhaW5lckltcGw6OmhhbmRsZU1vdXNlRXZlbnQoTW91c2VFdmVudCog
ZXZlbnQpCiAgICAgY2hyb21lQ2xpZW50LT5zZXRDdXJzb3JGb3JQbHVnaW4oY3Vyc29ySW5mbyk7
CiB9CiAKK3ZvaWQgV2ViUGx1Z2luQ29udGFpbmVySW1wbDo6aGFuZGxlRHJhZ0V2ZW50KE1vdXNl
RXZlbnQqIGV2ZW50KQoreworICAgIEFTU0VSVChldmVudC0+aXNEcmFnRXZlbnQoKSk7CisKKyAg
ICBXZWJEcmFnU3RhdGUgZHJhZ1N0YXRlID0gV2ViRHJhZ1N0YXRlVW5rbm93bjsKKyAgICBpZiAo
ZXZlbnQtPnR5cGUoKSA9PSBldmVudE5hbWVzKCkuZHJhZ2VudGVyRXZlbnQpCisgICAgICAgIGRy
YWdTdGF0ZSA9IFdlYkRyYWdTdGF0ZUVudGVyOworICAgIGVsc2UgaWYgKGV2ZW50LT50eXBlKCkg
PT0gZXZlbnROYW1lcygpLmRyYWdsZWF2ZUV2ZW50KQorICAgICAgICBkcmFnU3RhdGUgPSBXZWJE
cmFnU3RhdGVMZWF2ZTsKKyAgICBlbHNlIGlmIChldmVudC0+dHlwZSgpID09IGV2ZW50TmFtZXMo
KS5kcmFnb3ZlckV2ZW50KQorICAgICAgICBkcmFnU3RhdGUgPSBXZWJEcmFnU3RhdGVPdmVyOwor
CisgICAgaWYgKGRyYWdTdGF0ZSA9PSBXZWJEcmFnU3RhdGVVbmtub3duKQorICAgICAgICByZXR1
cm47CisKKyAgICBDbGlwYm9hcmRDaHJvbWl1bSogY2xpcGJvYXJkID0gc3RhdGljX2Nhc3Q8Q2xp
cGJvYXJkQ2hyb21pdW0qPihldmVudC0+ZGF0YVRyYW5zZmVyKCkpOworICAgIFdlYkRyYWdEYXRh
IGRyYWdEYXRhID0gY2xpcGJvYXJkLT5kYXRhT2JqZWN0KCk7CisgICAgV2ViRHJhZ09wZXJhdGlv
bnNNYXNrIGRyYWdPcGVyYXRpb25NYXNrID0gc3RhdGljX2Nhc3Q8V2ViRHJhZ09wZXJhdGlvbnNN
YXNrPihjbGlwYm9hcmQtPnNvdXJjZU9wZXJhdGlvbigpKTsKKyAgICBXZWJQb2ludCBkcmFnU2Ny
ZWVuTG9jYXRpb24oZXZlbnQtPnNjcmVlblgoKSwgZXZlbnQtPnNjcmVlblkoKSk7CisgICAgV2Vi
UG9pbnQgZHJhZ0xvY2F0aW9uKGV2ZW50LT5hYnNvbHV0ZUxvY2F0aW9uKCkueCgpIC0gbG9jYXRp
b24oKS54KCksIGV2ZW50LT5hYnNvbHV0ZUxvY2F0aW9uKCkueSgpIC0gbG9jYXRpb24oKS55KCkp
OworCisgICAgbV93ZWJQbHVnaW4tPmhhbmRsZURyYWdFdmVudChkcmFnU3RhdGUsIGRyYWdEYXRh
LCBkcmFnT3BlcmF0aW9uTWFzaywgZHJhZ0xvY2F0aW9uLCBkcmFnU2NyZWVuTG9jYXRpb24pOwor
fQorCiB2b2lkIFdlYlBsdWdpbkNvbnRhaW5lckltcGw6OmhhbmRsZVdoZWVsRXZlbnQoV2hlZWxF
dmVudCogZXZlbnQpCiB7CiAgICAgV2ViTW91c2VXaGVlbEV2ZW50QnVpbGRlciB3ZWJFdmVudCh0
aGlzLCAqZXZlbnQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2Vi
UGx1Z2luQ29udGFpbmVySW1wbC5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViUGx1
Z2luQ29udGFpbmVySW1wbC5oCmluZGV4IGUyMDNhNzM3MDE5MDMxZjA0YWQ4MTI3OTMxMzU4ZjZh
ODgwODg5MzguLmU4OWFmMDk4Nzk2YWY4MjUzNTFkZWM5ZGUzNzk1NmI0ZjE1MWZhYmUgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlBsdWdpbkNvbnRhaW5lckltcGwu
aAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJQbHVnaW5Db250YWluZXJJbXBs
LmgKQEAgLTE2NSw2ICsxNjUsNyBAQCBwcml2YXRlOgogICAgIH5XZWJQbHVnaW5Db250YWluZXJJ
bXBsKCk7CiAKICAgICB2b2lkIGhhbmRsZU1vdXNlRXZlbnQoV2ViQ29yZTo6TW91c2VFdmVudCop
OworICAgIHZvaWQgaGFuZGxlRHJhZ0V2ZW50KFdlYkNvcmU6Ok1vdXNlRXZlbnQqKTsKICAgICB2
b2lkIGhhbmRsZVdoZWVsRXZlbnQoV2ViQ29yZTo6V2hlZWxFdmVudCopOwogICAgIHZvaWQgaGFu
ZGxlS2V5Ym9hcmRFdmVudChXZWJDb3JlOjpLZXlib2FyZEV2ZW50Kik7CiAgICAgdm9pZCBoYW5k
bGVUb3VjaEV2ZW50KFdlYkNvcmU6OlRvdWNoRXZlbnQqKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL0No
YW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCAxMGY3YTc0ZDA3ZmQ5OGI5YzVhMTg3ZWM2
NzQ5NzMyNjZkZDQ2MTdlLi5lMzA3NjU4MWIxYTU3MjAwZWU3ZWJjYTEwNTVmMDE1MDNlNGQ4NjUx
IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTcgQEAKKzIwMTItMTAtMDMgIFNhZHJ1bCBIYWJpYiBDaG93ZGh1cnkgIDxzYWRydWxA
Y2hyb21pdW0ub3JnPgorCisgICAgICAgIFtjaHJvbWl1bV0gQWxsb3cgZHJhZ2dpbmcgaW50byBw
bHVnaW5zLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
OTgyNzcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBV
cGRhdGUgdGhlIFRlc3RXZWJQbHVnaW4gdG8gcmVjZWl2ZSBkcmFnIGV2ZW50cyBhbmQgcHJpbnQg
dGhlbSBvdXQuCisKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0V2ViUGx1
Z2luLmNwcDoKKyAgICAgICAgKFRlc3RXZWJQbHVnaW46OmhhbmRsZURyYWdFdmVudCk6CisgICAg
ICAgICogRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdFdlYlBsdWdpbi5oOgorICAgICAgICAo
VGVzdFdlYlBsdWdpbik6CisKIDIwMTItMTAtMDEgIENzYWJhIE9zenRyb2dvbsOhYyAgPG9zc3lA
d2Via2l0Lm9yZz4KIAogICAgICAgICBVbnJldmlld2VkLCB1cGRhdGUgdGhlIFVSTCBvZiB0aGUg
U3plZ2VkIFNWTiBtaXJyb3IuCmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJv
bWl1bS9UZXN0V2ViUGx1Z2luLmNwcCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rl
c3RXZWJQbHVnaW4uY3BwCmluZGV4IDc1ZTA2YzQzYjgyYjNlODRhODIxMWM1NzU3MWUxYjMzN2Fl
MGI4YTYuLmI2NDA3YzFiYTU1ODZiNmRhNGVjNzI3OGYyY2I5NzhhNDgxODQ4M2MgMTAwNjQ0Ci0t
LSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RXZWJQbHVnaW4uY3BwCisrKyBi
L1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RXZWJQbHVnaW4uY3BwCkBAIC00MjEs
MyArNDIxLDIzIEBAIGJvb2wgVGVzdFdlYlBsdWdpbjo6aGFuZGxlSW5wdXRFdmVudChjb25zdCBX
ZWJLaXQ6OldlYklucHV0RXZlbnQmIGV2ZW50LCBXZWJLaXQ6CiAgICAgcmV0dXJuIGZhbHNlOwog
fQogCitib29sIFRlc3RXZWJQbHVnaW46OmhhbmRsZURyYWdFdmVudChXZWJLaXQ6OldlYkRyYWdT
dGF0ZSBkcmFnU3RhdGUsIGNvbnN0IFdlYktpdDo6V2ViRHJhZ0RhdGEmLCBXZWJLaXQ6OldlYkRy
YWdPcGVyYXRpb25zTWFzaywgY29uc3QgV2ViS2l0OjpXZWJQb2ludCYgcG9zaXRpb24sIGNvbnN0
IFdlYktpdDo6V2ViUG9pbnQmIHNjcmVlblBvc2l0aW9uKQoreworICAgIGNvbnN0IGNoYXIqIGRy
YWdTdGF0ZU5hbWUgPSAwOworICAgIHN3aXRjaCAoZHJhZ1N0YXRlKSB7CisgICAgY2FzZSBXZWJL
aXQ6OldlYkRyYWdTdGF0ZUVudGVyOgorICAgICAgICBkcmFnU3RhdGVOYW1lID0gIkRyYWdFbnRl
ciI7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgV2ViS2l0OjpXZWJEcmFnU3RhdGVPdmVyOgor
ICAgICAgICBkcmFnU3RhdGVOYW1lID0gIkRyYWdPdmVyIjsKKyAgICAgICAgYnJlYWs7CisgICAg
Y2FzZSBXZWJLaXQ6OldlYkRyYWdTdGF0ZUxlYXZlOgorICAgICAgICBkcmFnU3RhdGVOYW1lID0g
IkRyYWdMZWF2ZSI7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgV2ViS2l0OjpXZWJEcmFnU3Rh
dGVVbmtub3duOgorICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICB9CisgICAgcHJp
bnRmKCJQbHVnaW4gcmVjZWl2ZWQgZXZlbnQ6ICVzXG4iLCBkcmFnU3RhdGVOYW1lKTsKKyAgICBy
ZXR1cm4gZmFsc2U7Cit9CisKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9t
aXVtL1Rlc3RXZWJQbHVnaW4uaCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RX
ZWJQbHVnaW4uaAppbmRleCBlMmFkNTc2YTczMjY1ZGM3MjMyMjQ2ODM0ZjEzYTgzZGRkMWI2ZDc5
Li40NWJhYzk0ZjkzYjZkNzJkNGVjMDE4MzQ5ODJhYmFkYTg2Yjk1OTkyIDEwMDY0NAotLS0gYS9U
b29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0V2ViUGx1Z2luLmgKKysrIGIvVG9vbHMv
RHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdFdlYlBsdWdpbi5oCkBAIC02NSw2ICs2NSw3IEBA
IHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgdXBkYXRlVmlzaWJpbGl0eShib29sKSB7IH0KICAg
ICB2aXJ0dWFsIGJvb2wgYWNjZXB0c0lucHV0RXZlbnRzKCkgeyByZXR1cm4gdHJ1ZTsgfQogICAg
IHZpcnR1YWwgYm9vbCBoYW5kbGVJbnB1dEV2ZW50KGNvbnN0IFdlYktpdDo6V2ViSW5wdXRFdmVu
dCYsIFdlYktpdDo6V2ViQ3Vyc29ySW5mbyYpOworICAgIHZpcnR1YWwgYm9vbCBoYW5kbGVEcmFn
RXZlbnQoV2ViS2l0OjpXZWJEcmFnU3RhdGUsIGNvbnN0IFdlYktpdDo6V2ViRHJhZ0RhdGEmLCBX
ZWJLaXQ6OldlYkRyYWdPcGVyYXRpb25zTWFzaywgY29uc3QgV2ViS2l0OjpXZWJQb2ludCYgcG9z
aXRpb24sIGNvbnN0IFdlYktpdDo6V2ViUG9pbnQmIHNjcmVlblBvc2l0aW9uKTsKICAgICB2aXJ0
dWFsIHZvaWQgZGlkUmVjZWl2ZVJlc3BvbnNlKGNvbnN0IFdlYktpdDo6V2ViVVJMUmVzcG9uc2Um
KSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZURhdGEoY29uc3QgY2hhciogZGF0YSwg
aW50IGRhdGFMZW5ndGgpIHsgfQogICAgIHZpcnR1YWwgdm9pZCBkaWRGaW5pc2hMb2FkaW5nKCkg
eyB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKaW5kZXggMmM0M2I4MWFmZTY5NWNmM2MzNTkyYmNjMmMzMzIyODYzYmUzNDVkOC4uOWJi
M2NhMjA2YjhhYmYzY2UyOWI4MGViNzA4ZDRhNDA5NDk1NzliYiAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1
IEBACisyMDEyLTEwLTAzICBTYWRydWwgSGFiaWIgQ2hvd2RodXJ5ICA8c2FkcnVsQGNocm9taXVt
Lm9yZz4KKworICAgICAgICBbY2hyb21pdW1dIEFsbG93IGRyYWdnaW5nIGludG8gcGx1Z2lucy4K
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk4Mjc3CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHRlc3Qg
dG8gbWFrZSBzdXJlIHRoYXQgcGx1Z2lucyByZWNlaXZlIHRoZSBkcmFnIGV2ZW50cyBjb3JyZWN0
bHkuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9wbHVnaW5zL2RyYWctZXZlbnRzLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vcGx1Z2lucy9k
cmFnLWV2ZW50cy5odG1sOiBBZGRlZC4KKwogMjAxMi0xMC0wMSAgQXJrbyBTYWhhICA8YXJrb0Bt
b3Rvcm9sYS5jb20+CiAKICAgICAgICAgTWljcm9kYXRhOiBuYW1lcy5pdGVtKCkgbXVzdCByZXR1
cm4gbnVsbCBmb3Igb3V0IG9mIHJhbmdlIGluZGV4ZXMuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9jaHJvbWl1bS9wbHVnaW5zL2RyYWctZXZlbnRzLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL3BsdWdpbnMvZHJhZy1ldmVudHMtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjFiNDY5NTFjNWM5ZDhmYTMyN2Q1ZTIyYTQ5ZWU5Yzk5YmVjODZkOWEK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9wbHVnaW5z
L2RyYWctZXZlbnRzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDcgQEAKK1BsdWdpbiByZWNlaXZl
ZCBldmVudDogTW91c2VFbnRlcgorUGx1Z2luIHJlY2VpdmVkIGV2ZW50OiBNb3VzZU1vdmUKK1Bs
dWdpbiByZWNlaXZlZCBldmVudDogRHJhZ0VudGVyCitQbHVnaW4gcmVjZWl2ZWQgZXZlbnQ6IERy
YWdPdmVyCitQbHVnaW4gcmVjZWl2ZWQgZXZlbnQ6IERyYWdMZWF2ZQorCitTb21lIHRleHQgdG8g
ZHJhZwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vcGx1Z2lucy9k
cmFnLWV2ZW50cy5odG1sIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vcGx1Z2lucy9k
cmFnLWV2ZW50cy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM4Mzk1OGE3MmI4YWE1NDAyNjAwODExMDFjYTRh
MmNjMDhmZTk4N2QKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJv
bWl1bS9wbHVnaW5zL2RyYWctZXZlbnRzLmh0bWwKQEAgLTAsMCArMSw0NiBAQAorPGh0bWw+Cis8
aGVhZD4KKzxzdHlsZT4KKyAgI3BsdWdpbiB7CisgICAgd2lkdGg6IDE1MHB4OworICAgIGhlaWdo
dDogMTUwcHg7CisgIH0KKzwvc3R5bGU+Cis8L2hlYWQ+CisKKzxib2R5IG9ubG9hZD0idGVzdCgp
OyI+Cis8ZW1iZWQgaWQ9InBsdWdpbiIgdHlwZT0iYXBwbGljYXRpb24veC13ZWJraXQtdGVzdC13
ZWJwbHVnaW4iPjwvZW1iZWQ+Cis8ZGl2IGNvbnRlbnRlZGl0YWJsZSBpZD0ndGV4dCc+PHNwYW4+
U29tZSB0ZXh0IHRvIGRyYWc8L3NwYW4+PC9kaXY+Cis8c2NyaXB0PgorCitmdW5jdGlvbiB0ZXN0
KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIgfHwgIXdpbmRvdy5ldmVudFNlbmRlcikg
eworICAgICAgICBkb2N1bWVudC53cml0ZSgiVGhpcyB0ZXN0IGRvZXMgbm90IHdvcmsgaW4gbWFu
dWFsIG1vZGUuIik7CisgICAgfSBlbHNlIHsKKyAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0
KCk7CisKKyAgICAgICAgdmFyIGRpdiA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0ZXh0Jyk7
CisgICAgICAgIGRpdi5mb2N1cygpOworICAgICAgICBnZXRTZWxlY3Rpb24oKS5jb2xsYXBzZShk
aXYsIDApOworICAgICAgICBnZXRTZWxlY3Rpb24oKS5tb2RpZnkoJ2V4dGVuZCcsICdmb3J3YXJk
JywgJ3dvcmQnKTsKKworICAgICAgICB2YXIgcG9zaXRpb25YID0gcGx1Z2luLm9mZnNldExlZnQg
KyAxMDsKKyAgICAgICAgdmFyIHBvc2l0aW9uWSA9IHBsdWdpbi5vZmZzZXRUb3AgKyAxMDsKKwor
ICAgICAgICB2YXIgc3RhcnRYID0gZGl2Lm9mZnNldExlZnQgKyBkaXYuZmlyc3RDaGlsZC5vZmZz
ZXRXaWR0aCAvIDU7CisgICAgICAgIHZhciBzdGFydFkgPSBkaXYub2Zmc2V0VG9wICsgZGl2Lm9m
ZnNldEhlaWdodCAvIDI7OworCisgICAgICAgIGV2ZW50U2VuZGVyLmRyYWdNb2RlID0gdHJ1ZTsK
KyAgICAgICAgZXZlbnRTZW5kZXIubW91c2VNb3ZlVG8oc3RhcnRYLCBzdGFydFkpOworICAgICAg
ICBldmVudFNlbmRlci5tb3VzZURvd24oKTsKKyAgICAgICAgZXZlbnRTZW5kZXIubW91c2VNb3Zl
VG8ocG9zaXRpb25YLCBwb3NpdGlvblkpOworICAgICAgICBldmVudFNlbmRlci5tb3VzZU1vdmVU
byhwb3NpdGlvblggKyAyLCBwb3NpdGlvblkpOworICAgICAgICBldmVudFNlbmRlci5tb3VzZU1v
dmVUbyhzdGFydFgsIHN0YXJ0WSk7CisgICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlVXAoKTsKKwor
ICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKKyAgICB9Cit9Cis8L3NjcmlwdD4KKzwv
Ym9keT4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>166933</attachid>
            <date>2012-10-03 12:07:23 -0700</date>
            <delta_ts>2012-10-03 12:08:50 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-98277-20121003150634.patch</filename>
            <type>text/plain</type>
            <size>13538</size>
            <attacher name="Sadrul Habib Chowdhury">sadrul</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMwMDMxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4
IDY1NGExZWFjZWEyOWU5ZDM3OGQ0ZTQzMjVlMmY3NzNjZjFlZjZkMDEuLmZhMzk3OWZjOWE2ZjI4
NDgxOTgzNmNmZmY0OTAyM2QzODJmMzM3ZDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMjUgQEAKKzIwMTItMTAtMDMgIFNhZHJ1bCBIYWJpYiBDaG93ZGh1cnkgIDxzYWRy
dWxAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtjaHJvbWl1bV0gQWxsb3cgZHJhZ2dpbmcgaW50
byBwbHVnaW5zLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9OTgyNzcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBBbGxvdyBwbHVnaW5zIHRvIHJlY2VpdmUgZHJhZyBldmVudHMuIFRoaXMgd2lsbCBtYWtlIGl0
IHBvc3NpYmxlIHRvCisgICAgICAgIHBlcmZvcm0gZHJhZy1uLWRyb3AgaW50byBicm93c2VyIHBs
dWdpbnMgKGFuZCBvdGhlciBwbHVnaW5zIGlmIGRlc2lyZWQpLgorCisgICAgICAgICogcHVibGlj
L1dlYkRyYWdTdGF0dXMuaDogQWRkZWQuCisgICAgICAgIChXZWJLaXQpOgorICAgICAgICAqIHB1
YmxpYy9XZWJQbHVnaW4uaDoKKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgIChXZWJQbHVnaW4p
OgorICAgICAgICAqIHNyYy9XZWJQbHVnaW5Db250YWluZXJJbXBsLmNwcDoKKyAgICAgICAgKFdl
YktpdDo6V2ViUGx1Z2luQ29udGFpbmVySW1wbDo6aGFuZGxlTW91c2VFdmVudCk6CisgICAgICAg
IChXZWJLaXQ6OldlYlBsdWdpbkNvbnRhaW5lckltcGw6OmhhbmRsZURyYWdFdmVudCk6CisgICAg
ICAgIChXZWJLaXQpOgorICAgICAgICAqIHNyYy9XZWJQbHVnaW5Db250YWluZXJJbXBsLmg6Cisg
ICAgICAgIChXZWJQbHVnaW5Db250YWluZXJJbXBsKToKKwogMjAxMi0xMC0wMSAgQWxleGFuZGVy
IFBhdmxvdiAgPGFwYXZsb3ZAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6
IFtEZXZpY2UgTWV0cmljc10gUmVtb3ZlIHRoZSBndXR0ZXIgb3ZlcmxheSBtb3ZpbmcgaXRzIGZ1
bmN0aW9uYWxpdHkgaW50byB0aGUgSW5zcGVjdG9yT3ZlcmxheQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViRHJhZ1N0YXR1cy5oIGIvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9wdWJsaWMvV2ViRHJhZ1N0YXR1cy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjhlOWEzNjNjN2JmMGUw
Y2E3ZGRmZDBhM2UyY2IxNmJkYTQ5NTRhN2EKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3B1YmxpYy9XZWJEcmFnU3RhdHVzLmgKQEAgLTAsMCArMSw0NSBAQAorLyoK
KyogQ29weXJpZ2h0IChDKSAyMDEyIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisq
CisqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisqIG1ldDoKKyoKKyogICAgICogUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
Kyogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlCisqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyogaW4gdGhlIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorKiBkaXN0cmlidXRpb24u
CisqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBv
ZiBpdHMKKyogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBw
cm9kdWN0cyBkZXJpdmVkIGZyb20KKyogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHBy
aW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyoKKyogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworKiAiQVMgSVMiIEFORCBB
TlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorKiBM
SU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IKKyogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisqIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyog
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsCisqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisqIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RQorKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorKi8KKworI2lmbmRlZiBXZWJEcmFnU3RhdHVzX2gKKyNkZWZpbmUg
V2ViRHJhZ1N0YXR1c19oCisKK25hbWVzcGFjZSBXZWJLaXQgeworCitlbnVtIFdlYkRyYWdTdGF0
dXMgeworICAgIFdlYkRyYWdTdGF0dXNVbmtub3duICA9IDAsCisgICAgV2ViRHJhZ1N0YXR1c0Vu
dGVyICAgID0gMSwKKyAgICBXZWJEcmFnU3RhdHVzT3ZlciAgICAgPSAyLAorICAgIFdlYkRyYWdT
dGF0dXNMZWF2ZSAgICA9IDMKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdAorCisjZW5kaWYK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlBsdWdpbi5oIGIv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViUGx1Z2luLmgKaW5kZXggOGFiYWYzYmZl
MGY5MzVjOTJiMDhiYmMwYTA2YzlhOWU3NDMwMWFhNy4uZTAzZjM5MDBkNTJhZjRkZTI3YzE0ZmY4
YjBmZGFkZTQ3NDFlNWJjOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJs
aWMvV2ViUGx1Z2luLmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViUGx1
Z2luLmgKQEAgLTMxLDYgKzMxLDggQEAKICNpZm5kZWYgV2ViUGx1Z2luX2gKICNkZWZpbmUgV2Vi
UGx1Z2luX2gKIAorI2luY2x1ZGUgIldlYkRyYWdPcGVyYXRpb24uaCIKKyNpbmNsdWRlICJXZWJE
cmFnU3RhdHVzLmgiCiAjaW5jbHVkZSAicGxhdGZvcm0vV2ViQ2FudmFzLmgiCiAjaW5jbHVkZSAi
cGxhdGZvcm0vV2ViU3RyaW5nLmgiCiAjaW5jbHVkZSAicGxhdGZvcm0vV2ViVVJMLmgiCkBAIC00
MCw2ICs0Miw3IEBAIHN0cnVjdCBOUE9iamVjdDsKIG5hbWVzcGFjZSBXZWJLaXQgewogCiBjbGFz
cyBXZWJEYXRhU291cmNlOworY2xhc3MgV2ViRHJhZ0RhdGE7CiBjbGFzcyBXZWJGcmFtZTsKIGNs
YXNzIFdlYklucHV0RXZlbnQ7CiBjbGFzcyBXZWJQbHVnaW5Db250YWluZXI7CkBAIC04MCw2ICs4
Myw4IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIGJvb2wgYWNjZXB0c0lucHV0RXZlbnRzKCkgPSAw
OwogICAgIHZpcnR1YWwgYm9vbCBoYW5kbGVJbnB1dEV2ZW50KGNvbnN0IFdlYklucHV0RXZlbnQm
LCBXZWJDdXJzb3JJbmZvJikgPSAwOwogCisgICAgdmlydHVhbCBib29sIGhhbmRsZURyYWdTdGF0
dXNVcGRhdGUoV2ViRHJhZ1N0YXR1cywgY29uc3QgV2ViRHJhZ0RhdGEmLCBXZWJEcmFnT3BlcmF0
aW9uc01hc2ssIGNvbnN0IFdlYlBvaW50JiBwb3NpdGlvbiwgY29uc3QgV2ViUG9pbnQmIHNjcmVl
blBvc2l0aW9uKSA9IDA7CisKICAgICB2aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZVJlc3BvbnNlKGNv
bnN0IFdlYlVSTFJlc3BvbnNlJikgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZlRGF0
YShjb25zdCBjaGFyKiBkYXRhLCBpbnQgZGF0YUxlbmd0aCkgPSAwOwogICAgIHZpcnR1YWwgdm9p
ZCBkaWRGaW5pc2hMb2FkaW5nKCkgPSAwOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJv
bWl1bS9zcmMvV2ViUGx1Z2luQ29udGFpbmVySW1wbC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3NyYy9XZWJQbHVnaW5Db250YWluZXJJbXBsLmNwcAppbmRleCBlM2M0YmVmYjgzZjIxYWNl
OWU4MDdhNWIwZmYzMTI0YmM1M2Y4Mjc2Li5iODk4ZGRhOTZmMTJiYmI4ZTFlODg0YTQ2MGViYWNk
MDMzNmIwMGYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJQbHVn
aW5Db250YWluZXJJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJQ
bHVnaW5Db250YWluZXJJbXBsLmNwcApAQCAtMzMsNiArMzMsNyBAQAogCiAjaW5jbHVkZSAiQ2hy
b21lLmgiCiAjaW5jbHVkZSAiQ2hyb21lQ2xpZW50SW1wbC5oIgorI2luY2x1ZGUgIkNsaXBib2Fy
ZENocm9taXVtLmgiCiAjaW5jbHVkZSAiU2Nyb2xsYmFyR3JvdXAuaCIKICNpbmNsdWRlICJXZWJD
dXJzb3JJbmZvLmgiCiAjaW5jbHVkZSAiV2ViRGF0YVNvdXJjZUltcGwuaCIKQEAgLTczLDYgKzc0
LDcgQEAKICNpbmNsdWRlIDxwdWJsaWMvUGxhdGZvcm0uaD4KICNpbmNsdWRlIDxwdWJsaWMvV2Vi
Q2xpcGJvYXJkLmg+CiAjaW5jbHVkZSA8cHVibGljL1dlYkNvbXBvc2l0b3JTdXBwb3J0Lmg+Cisj
aW5jbHVkZSA8cHVibGljL1dlYkRyYWdEYXRhLmg+CiAjaW5jbHVkZSA8cHVibGljL1dlYkV4dGVy
bmFsVGV4dHVyZUxheWVyLmg+CiAjaW5jbHVkZSA8cHVibGljL1dlYlJlY3QuaD4KICNpbmNsdWRl
IDxwdWJsaWMvV2ViU3RyaW5nLmg+CkBAIC02NTMsNiArNjU1LDExIEBAIHZvaWQgV2ViUGx1Z2lu
Q29udGFpbmVySW1wbDo6aGFuZGxlTW91c2VFdmVudChNb3VzZUV2ZW50KiBldmVudCkKIHsKICAg
ICBBU1NFUlQocGFyZW50KCktPmlzRnJhbWVWaWV3KCkpOwogCisgICAgaWYgKGV2ZW50LT5pc0Ry
YWdFdmVudCgpKSB7CisgICAgICAgIGhhbmRsZURyYWdFdmVudChldmVudCk7CisgICAgICAgIHJl
dHVybjsKKyAgICB9CisKICAgICAvLyBXZSBjYWNoZSB0aGUgcGFyZW50IEZyYW1lVmlldyBoZXJl
IGFzIHRoZSBwbHVnaW4gd2lkZ2V0IGNvdWxkIGJlIGRlbGV0ZWQKICAgICAvLyBpbiB0aGUgY2Fs
bCB0byBIYW5kbGVFdmVudC4gU2VlIGh0dHA6Ly9iL2lzc3VlP2lkPTEzNjI5NDgKICAgICBGcmFt
ZVZpZXcqIHBhcmVudFZpZXcgPSBzdGF0aWNfY2FzdDxGcmFtZVZpZXcqPihwYXJlbnQoKSk7CkBA
IC02OTYsNiArNzAzLDMwIEBAIHZvaWQgV2ViUGx1Z2luQ29udGFpbmVySW1wbDo6aGFuZGxlTW91
c2VFdmVudChNb3VzZUV2ZW50KiBldmVudCkKICAgICBjaHJvbWVDbGllbnQtPnNldEN1cnNvckZv
clBsdWdpbihjdXJzb3JJbmZvKTsKIH0KIAordm9pZCBXZWJQbHVnaW5Db250YWluZXJJbXBsOjpo
YW5kbGVEcmFnRXZlbnQoTW91c2VFdmVudCogZXZlbnQpCit7CisgICAgQVNTRVJUKGV2ZW50LT5p
c0RyYWdFdmVudCgpKTsKKworICAgIFdlYkRyYWdTdGF0dXMgZHJhZ1N0YXR1cyA9IFdlYkRyYWdT
dGF0dXNVbmtub3duOworICAgIGlmIChldmVudC0+dHlwZSgpID09IGV2ZW50TmFtZXMoKS5kcmFn
ZW50ZXJFdmVudCkKKyAgICAgICAgZHJhZ1N0YXR1cyA9IFdlYkRyYWdTdGF0dXNFbnRlcjsKKyAg
ICBlbHNlIGlmIChldmVudC0+dHlwZSgpID09IGV2ZW50TmFtZXMoKS5kcmFnbGVhdmVFdmVudCkK
KyAgICAgICAgZHJhZ1N0YXR1cyA9IFdlYkRyYWdTdGF0dXNMZWF2ZTsKKyAgICBlbHNlIGlmIChl
dmVudC0+dHlwZSgpID09IGV2ZW50TmFtZXMoKS5kcmFnb3ZlckV2ZW50KQorICAgICAgICBkcmFn
U3RhdHVzID0gV2ViRHJhZ1N0YXR1c092ZXI7CisKKyAgICBpZiAoZHJhZ1N0YXR1cyA9PSBXZWJE
cmFnU3RhdHVzVW5rbm93bikKKyAgICAgICAgcmV0dXJuOworCisgICAgQ2xpcGJvYXJkQ2hyb21p
dW0qIGNsaXBib2FyZCA9IHN0YXRpY19jYXN0PENsaXBib2FyZENocm9taXVtKj4oZXZlbnQtPmRh
dGFUcmFuc2ZlcigpKTsKKyAgICBXZWJEcmFnRGF0YSBkcmFnRGF0YSA9IGNsaXBib2FyZC0+ZGF0
YU9iamVjdCgpOworICAgIFdlYkRyYWdPcGVyYXRpb25zTWFzayBkcmFnT3BlcmF0aW9uTWFzayA9
IHN0YXRpY19jYXN0PFdlYkRyYWdPcGVyYXRpb25zTWFzaz4oY2xpcGJvYXJkLT5zb3VyY2VPcGVy
YXRpb24oKSk7CisgICAgV2ViUG9pbnQgZHJhZ1NjcmVlbkxvY2F0aW9uKGV2ZW50LT5zY3JlZW5Y
KCksIGV2ZW50LT5zY3JlZW5ZKCkpOworICAgIFdlYlBvaW50IGRyYWdMb2NhdGlvbihldmVudC0+
YWJzb2x1dGVMb2NhdGlvbigpLngoKSAtIGxvY2F0aW9uKCkueCgpLCBldmVudC0+YWJzb2x1dGVM
b2NhdGlvbigpLnkoKSAtIGxvY2F0aW9uKCkueSgpKTsKKworICAgIG1fd2ViUGx1Z2luLT5oYW5k
bGVEcmFnU3RhdHVzVXBkYXRlKGRyYWdTdGF0dXMsIGRyYWdEYXRhLCBkcmFnT3BlcmF0aW9uTWFz
aywgZHJhZ0xvY2F0aW9uLCBkcmFnU2NyZWVuTG9jYXRpb24pOworfQorCiB2b2lkIFdlYlBsdWdp
bkNvbnRhaW5lckltcGw6OmhhbmRsZVdoZWVsRXZlbnQoV2hlZWxFdmVudCogZXZlbnQpCiB7CiAg
ICAgV2ViTW91c2VXaGVlbEV2ZW50QnVpbGRlciB3ZWJFdmVudCh0aGlzLCAqZXZlbnQpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViUGx1Z2luQ29udGFpbmVySW1w
bC5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViUGx1Z2luQ29udGFpbmVySW1wbC5o
CmluZGV4IGUyMDNhNzM3MDE5MDMxZjA0YWQ4MTI3OTMxMzU4ZjZhODgwODg5MzguLmU4OWFmMDk4
Nzk2YWY4MjUzNTFkZWM5ZGUzNzk1NmI0ZjE1MWZhYmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vc3JjL1dlYlBsdWdpbkNvbnRhaW5lckltcGwuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3NyYy9XZWJQbHVnaW5Db250YWluZXJJbXBsLmgKQEAgLTE2NSw2ICsxNjUs
NyBAQCBwcml2YXRlOgogICAgIH5XZWJQbHVnaW5Db250YWluZXJJbXBsKCk7CiAKICAgICB2b2lk
IGhhbmRsZU1vdXNlRXZlbnQoV2ViQ29yZTo6TW91c2VFdmVudCopOworICAgIHZvaWQgaGFuZGxl
RHJhZ0V2ZW50KFdlYkNvcmU6Ok1vdXNlRXZlbnQqKTsKICAgICB2b2lkIGhhbmRsZVdoZWVsRXZl
bnQoV2ViQ29yZTo6V2hlZWxFdmVudCopOwogICAgIHZvaWQgaGFuZGxlS2V5Ym9hcmRFdmVudChX
ZWJDb3JlOjpLZXlib2FyZEV2ZW50Kik7CiAgICAgdm9pZCBoYW5kbGVUb3VjaEV2ZW50KFdlYkNv
cmU6OlRvdWNoRXZlbnQqKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0No
YW5nZUxvZwppbmRleCAxMGY3YTc0ZDA3ZmQ5OGI5YzVhMTg3ZWM2NzQ5NzMyNjZkZDQ2MTdlLi4w
NzFiNWVhZDFlZDQwNTgyODE2NGVjMGZjMWUxNzc1NzVmNzVlZTZjIDEwMDY0NAotLS0gYS9Ub29s
cy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTIt
MTAtMDMgIFNhZHJ1bCBIYWJpYiBDaG93ZGh1cnkgIDxzYWRydWxAY2hyb21pdW0ub3JnPgorCisg
ICAgICAgIFtjaHJvbWl1bV0gQWxsb3cgZHJhZ2dpbmcgaW50byBwbHVnaW5zLgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTgyNzcKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVcGRhdGUgdGhlIFRlc3RXZWJQ
bHVnaW4gdG8gcmVjZWl2ZSBkcmFnIGV2ZW50cyBhbmQgcHJpbnQgdGhlbSBvdXQuCisgICAgICAg
ICogRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdFdlYlBsdWdpbi5jcHA6CisgICAgICAgIChU
ZXN0V2ViUGx1Z2luOjpoYW5kbGVEcmFnU3RhdHVzVXBkYXRlKToKKyAgICAgICAgKiBEdW1wUmVu
ZGVyVHJlZS9jaHJvbWl1bS9UZXN0V2ViUGx1Z2luLmg6CisgICAgICAgIChUZXN0V2ViUGx1Z2lu
KToKKwogMjAxMi0xMC0wMSAgQ3NhYmEgT3N6dHJvZ29uw6FjICA8b3NzeUB3ZWJraXQub3JnPgog
CiAgICAgICAgIFVucmV2aWV3ZWQsIHVwZGF0ZSB0aGUgVVJMIG9mIHRoZSBTemVnZWQgU1ZOIG1p
cnJvci4KZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RXZWJQ
bHVnaW4uY3BwIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdFdlYlBsdWdpbi5j
cHAKaW5kZXggNzVlMDZjNDNiODJiM2U4NGE4MjExYzU3NTcxZTFiMzM3YWUwYjhhNi4uZDkxMWZh
NTQzZjUxZDViZWY4MzNmOTAyYmQ5NDdlNjFhNTJmMjhiMiAxMDA2NDQKLS0tIGEvVG9vbHMvRHVt
cFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdFdlYlBsdWdpbi5jcHAKKysrIGIvVG9vbHMvRHVtcFJl
bmRlclRyZWUvY2hyb21pdW0vVGVzdFdlYlBsdWdpbi5jcHAKQEAgLTQyMSwzICs0MjEsMjMgQEAg
Ym9vbCBUZXN0V2ViUGx1Z2luOjpoYW5kbGVJbnB1dEV2ZW50KGNvbnN0IFdlYktpdDo6V2ViSW5w
dXRFdmVudCYgZXZlbnQsIFdlYktpdDoKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKK2Jvb2wgVGVz
dFdlYlBsdWdpbjo6aGFuZGxlRHJhZ1N0YXR1c1VwZGF0ZShXZWJLaXQ6OldlYkRyYWdTdGF0dXMg
ZHJhZ1N0YXR1cywgY29uc3QgV2ViS2l0OjpXZWJEcmFnRGF0YSYsIFdlYktpdDo6V2ViRHJhZ09w
ZXJhdGlvbnNNYXNrLCBjb25zdCBXZWJLaXQ6OldlYlBvaW50JiBwb3NpdGlvbiwgY29uc3QgV2Vi
S2l0OjpXZWJQb2ludCYgc2NyZWVuUG9zaXRpb24pCit7CisgICAgY29uc3QgY2hhciogZHJhZ1N0
YXR1c05hbWUgPSAwOworICAgIHN3aXRjaCAoZHJhZ1N0YXR1cykgeworICAgIGNhc2UgV2ViS2l0
OjpXZWJEcmFnU3RhdHVzRW50ZXI6CisgICAgICAgIGRyYWdTdGF0dXNOYW1lID0gIkRyYWdFbnRl
ciI7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgV2ViS2l0OjpXZWJEcmFnU3RhdHVzT3ZlcjoK
KyAgICAgICAgZHJhZ1N0YXR1c05hbWUgPSAiRHJhZ092ZXIiOworICAgICAgICBicmVhazsKKyAg
ICBjYXNlIFdlYktpdDo6V2ViRHJhZ1N0YXR1c0xlYXZlOgorICAgICAgICBkcmFnU3RhdHVzTmFt
ZSA9ICJEcmFnTGVhdmUiOworICAgICAgICBicmVhazsKKyAgICBjYXNlIFdlYktpdDo6V2ViRHJh
Z1N0YXR1c1Vua25vd246CisgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIH0KKyAg
ICBwcmludGYoIlBsdWdpbiByZWNlaXZlZCBldmVudDogJXNcbiIsIGRyYWdTdGF0dXNOYW1lKTsK
KyAgICByZXR1cm4gZmFsc2U7Cit9CisKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVl
L2Nocm9taXVtL1Rlc3RXZWJQbHVnaW4uaCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVt
L1Rlc3RXZWJQbHVnaW4uaAppbmRleCBlMmFkNTc2YTczMjY1ZGM3MjMyMjQ2ODM0ZjEzYTgzZGRk
MWI2ZDc5Li43M2Y4N2VhMTBmZTdlMDc5NDk0NzY4NjFlZGNhZTA1NWE4ZmE2YTAxIDEwMDY0NAot
LS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0V2ViUGx1Z2luLmgKKysrIGIv
VG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdFdlYlBsdWdpbi5oCkBAIC02NSw2ICs2
NSw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgdXBkYXRlVmlzaWJpbGl0eShib29sKSB7
IH0KICAgICB2aXJ0dWFsIGJvb2wgYWNjZXB0c0lucHV0RXZlbnRzKCkgeyByZXR1cm4gdHJ1ZTsg
fQogICAgIHZpcnR1YWwgYm9vbCBoYW5kbGVJbnB1dEV2ZW50KGNvbnN0IFdlYktpdDo6V2ViSW5w
dXRFdmVudCYsIFdlYktpdDo6V2ViQ3Vyc29ySW5mbyYpOworICAgIHZpcnR1YWwgYm9vbCBoYW5k
bGVEcmFnU3RhdHVzVXBkYXRlKFdlYktpdDo6V2ViRHJhZ1N0YXR1cywgY29uc3QgV2ViS2l0OjpX
ZWJEcmFnRGF0YSYsIFdlYktpdDo6V2ViRHJhZ09wZXJhdGlvbnNNYXNrLCBjb25zdCBXZWJLaXQ6
OldlYlBvaW50JiBwb3NpdGlvbiwgY29uc3QgV2ViS2l0OjpXZWJQb2ludCYgc2NyZWVuUG9zaXRp
b24pOwogICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZlUmVzcG9uc2UoY29uc3QgV2ViS2l0OjpX
ZWJVUkxSZXNwb25zZSYpIHsgfQogICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZlRGF0YShjb25z
dCBjaGFyKiBkYXRhLCBpbnQgZGF0YUxlbmd0aCkgeyB9CiAgICAgdmlydHVhbCB2b2lkIGRpZEZp
bmlzaExvYWRpbmcoKSB7IH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xh
eW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAyYzQzYjgxYWZlNjk1Y2YzYzM1OTJiY2MyYzMzMjI4
NjNiZTM0NWQ4Li45YmIzY2EyMDZiOGFiZjNjZTI5YjgwZWI3MDhkNGE0MDk0OTU3OWJiIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTUgQEAKKzIwMTItMTAtMDMgIFNhZHJ1bCBIYWJpYiBDaG93ZGh1cnkgIDxz
YWRydWxAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtjaHJvbWl1bV0gQWxsb3cgZHJhZ2dpbmcg
aW50byBwbHVnaW5zLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9OTgyNzcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBBZGQgdGVzdCB0byBtYWtlIHN1cmUgdGhhdCBwbHVnaW5zIHJlY2VpdmUgdGhlIGRyYWcg
ZXZlbnRzIGNvcnJlY3RseS4KKworICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL3BsdWdpbnMv
ZHJhZy1ldmVudHMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJv
bWl1bS9wbHVnaW5zL2RyYWctZXZlbnRzLmh0bWw6IEFkZGVkLgorCiAyMDEyLTEwLTAxICBBcmtv
IFNhaGEgIDxhcmtvQG1vdG9yb2xhLmNvbT4KIAogICAgICAgICBNaWNyb2RhdGE6IG5hbWVzLml0
ZW0oKSBtdXN0IHJldHVybiBudWxsIGZvciBvdXQgb2YgcmFuZ2UgaW5kZXhlcy4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL3BsdWdpbnMvZHJhZy1ldmVudHMtZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vcGx1Z2lucy9kcmFnLWV2
ZW50cy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMWI0Njk1MWM1YzlkOGZhMzI3ZDVlMjJhNDll
ZTljOTliZWM4NmQ5YQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2No
cm9taXVtL3BsdWdpbnMvZHJhZy1ldmVudHMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNyBAQAor
UGx1Z2luIHJlY2VpdmVkIGV2ZW50OiBNb3VzZUVudGVyCitQbHVnaW4gcmVjZWl2ZWQgZXZlbnQ6
IE1vdXNlTW92ZQorUGx1Z2luIHJlY2VpdmVkIGV2ZW50OiBEcmFnRW50ZXIKK1BsdWdpbiByZWNl
aXZlZCBldmVudDogRHJhZ092ZXIKK1BsdWdpbiByZWNlaXZlZCBldmVudDogRHJhZ0xlYXZlCisK
K1NvbWUgdGV4dCB0byBkcmFnCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJv
bWl1bS9wbHVnaW5zL2RyYWctZXZlbnRzLmh0bWwgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJv
bWl1bS9wbHVnaW5zL2RyYWctZXZlbnRzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzgzOTU4YTcyYjhhYTU0
MDI2MDA4MTEwMWNhNGEyY2MwOGZlOTg3ZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L3BsYXRmb3JtL2Nocm9taXVtL3BsdWdpbnMvZHJhZy1ldmVudHMuaHRtbApAQCAtMCwwICsxLDQ2
IEBACis8aHRtbD4KKzxoZWFkPgorPHN0eWxlPgorICAjcGx1Z2luIHsKKyAgICB3aWR0aDogMTUw
cHg7CisgICAgaGVpZ2h0OiAxNTBweDsKKyAgfQorPC9zdHlsZT4KKzwvaGVhZD4KKworPGJvZHkg
b25sb2FkPSJ0ZXN0KCk7Ij4KKzxlbWJlZCBpZD0icGx1Z2luIiB0eXBlPSJhcHBsaWNhdGlvbi94
LXdlYmtpdC10ZXN0LXdlYnBsdWdpbiI+PC9lbWJlZD4KKzxkaXYgY29udGVudGVkaXRhYmxlIGlk
PSd0ZXh0Jz48c3Bhbj5Tb21lIHRleHQgdG8gZHJhZzwvc3Bhbj48L2Rpdj4KKzxzY3JpcHQ+CisK
K2Z1bmN0aW9uIHRlc3QoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lciB8fCAhd2luZG93
LmV2ZW50U2VuZGVyKSB7CisgICAgICAgIGRvY3VtZW50LndyaXRlKCJUaGlzIHRlc3QgZG9lcyBu
b3Qgd29yayBpbiBtYW51YWwgbW9kZS4iKTsKKyAgICB9IGVsc2UgeworICAgICAgICB0ZXN0UnVu
bmVyLmR1bXBBc1RleHQoKTsKKworICAgICAgICB2YXIgZGl2ID0gZG9jdW1lbnQuZ2V0RWxlbWVu
dEJ5SWQoJ3RleHQnKTsKKyAgICAgICAgZGl2LmZvY3VzKCk7CisgICAgICAgIGdldFNlbGVjdGlv
bigpLmNvbGxhcHNlKGRpdiwgMCk7CisgICAgICAgIGdldFNlbGVjdGlvbigpLm1vZGlmeSgnZXh0
ZW5kJywgJ2ZvcndhcmQnLCAnd29yZCcpOworCisgICAgICAgIHZhciBwb3NpdGlvblggPSBwbHVn
aW4ub2Zmc2V0TGVmdCArIDEwOworICAgICAgICB2YXIgcG9zaXRpb25ZID0gcGx1Z2luLm9mZnNl
dFRvcCArIDEwOworCisgICAgICAgIHZhciBzdGFydFggPSBkaXYub2Zmc2V0TGVmdCArIGRpdi5m
aXJzdENoaWxkLm9mZnNldFdpZHRoIC8gNTsKKyAgICAgICAgdmFyIHN0YXJ0WSA9IGRpdi5vZmZz
ZXRUb3AgKyBkaXYub2Zmc2V0SGVpZ2h0IC8gMjs7CisKKyAgICAgICAgZXZlbnRTZW5kZXIuZHJh
Z01vZGUgPSB0cnVlOworICAgICAgICBldmVudFNlbmRlci5tb3VzZU1vdmVUbyhzdGFydFgsIHN0
YXJ0WSk7CisgICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlRG93bigpOworICAgICAgICBldmVudFNl
bmRlci5tb3VzZU1vdmVUbyhwb3NpdGlvblgsIHBvc2l0aW9uWSk7CisgICAgICAgIGV2ZW50U2Vu
ZGVyLm1vdXNlTW92ZVRvKHBvc2l0aW9uWCArIDIsIHBvc2l0aW9uWSk7CisgICAgICAgIGV2ZW50
U2VuZGVyLm1vdXNlTW92ZVRvKHN0YXJ0WCwgc3RhcnRZKTsKKyAgICAgICAgZXZlbnRTZW5kZXIu
bW91c2VVcCgpOworCisgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOworICAgIH0KK30K
Kzwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>166934</attachid>
            <date>2012-10-03 12:08:55 -0700</date>
            <delta_ts>2012-10-03 13:15:10 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-98277-20121003150806.patch</filename>
            <type>text/plain</type>
            <size>13529</size>
            <attacher name="Sadrul Habib Chowdhury">sadrul</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMwMDMxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4
IDY1NGExZWFjZWEyOWU5ZDM3OGQ0ZTQzMjVlMmY3NzNjZjFlZjZkMDEuLmZhMzk3OWZjOWE2ZjI4
NDgxOTgzNmNmZmY0OTAyM2QzODJmMzM3ZDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMjUgQEAKKzIwMTItMTAtMDMgIFNhZHJ1bCBIYWJpYiBDaG93ZGh1cnkgIDxzYWRy
dWxAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtjaHJvbWl1bV0gQWxsb3cgZHJhZ2dpbmcgaW50
byBwbHVnaW5zLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9OTgyNzcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBBbGxvdyBwbHVnaW5zIHRvIHJlY2VpdmUgZHJhZyBldmVudHMuIFRoaXMgd2lsbCBtYWtlIGl0
IHBvc3NpYmxlIHRvCisgICAgICAgIHBlcmZvcm0gZHJhZy1uLWRyb3AgaW50byBicm93c2VyIHBs
dWdpbnMgKGFuZCBvdGhlciBwbHVnaW5zIGlmIGRlc2lyZWQpLgorCisgICAgICAgICogcHVibGlj
L1dlYkRyYWdTdGF0dXMuaDogQWRkZWQuCisgICAgICAgIChXZWJLaXQpOgorICAgICAgICAqIHB1
YmxpYy9XZWJQbHVnaW4uaDoKKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgIChXZWJQbHVnaW4p
OgorICAgICAgICAqIHNyYy9XZWJQbHVnaW5Db250YWluZXJJbXBsLmNwcDoKKyAgICAgICAgKFdl
YktpdDo6V2ViUGx1Z2luQ29udGFpbmVySW1wbDo6aGFuZGxlTW91c2VFdmVudCk6CisgICAgICAg
IChXZWJLaXQ6OldlYlBsdWdpbkNvbnRhaW5lckltcGw6OmhhbmRsZURyYWdFdmVudCk6CisgICAg
ICAgIChXZWJLaXQpOgorICAgICAgICAqIHNyYy9XZWJQbHVnaW5Db250YWluZXJJbXBsLmg6Cisg
ICAgICAgIChXZWJQbHVnaW5Db250YWluZXJJbXBsKToKKwogMjAxMi0xMC0wMSAgQWxleGFuZGVy
IFBhdmxvdiAgPGFwYXZsb3ZAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6
IFtEZXZpY2UgTWV0cmljc10gUmVtb3ZlIHRoZSBndXR0ZXIgb3ZlcmxheSBtb3ZpbmcgaXRzIGZ1
bmN0aW9uYWxpdHkgaW50byB0aGUgSW5zcGVjdG9yT3ZlcmxheQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViRHJhZ1N0YXR1cy5oIGIvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9wdWJsaWMvV2ViRHJhZ1N0YXR1cy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM2ODE1MDE3ZGVjNGNm
ZDI4MjIxMWQ4YTc5NDdkZTI5NzM3ZDRhYzIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3B1YmxpYy9XZWJEcmFnU3RhdHVzLmgKQEAgLTAsMCArMSw0NSBAQAorLyoK
KyogQ29weXJpZ2h0IChDKSAyMDEyIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisq
CisqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisqIG1ldDoKKyoKKyogICAgICogUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
Kyogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlCisqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyogaW4gdGhlIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorKiBkaXN0cmlidXRpb24u
CisqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBv
ZiBpdHMKKyogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBw
cm9kdWN0cyBkZXJpdmVkIGZyb20KKyogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHBy
aW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyoKKyogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworKiAiQVMgSVMiIEFORCBB
TlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorKiBM
SU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IKKyogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisqIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyog
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsCisqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisqIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RQorKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorKi8KKworI2lmbmRlZiBXZWJEcmFnU3RhdHVzX2gKKyNkZWZpbmUg
V2ViRHJhZ1N0YXR1c19oCisKK25hbWVzcGFjZSBXZWJLaXQgeworCitlbnVtIFdlYkRyYWdTdGF0
dXMgeworICAgIFdlYkRyYWdTdGF0dXNVbmtub3duID0gMCwKKyAgICBXZWJEcmFnU3RhdHVzRW50
ZXIgPSAxLAorICAgIFdlYkRyYWdTdGF0dXNPdmVyID0gMiwKKyAgICBXZWJEcmFnU3RhdHVzTGVh
dmUgPSAzCit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKKworI2VuZGlmCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJQbHVnaW4uaCBiL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vcHVibGljL1dlYlBsdWdpbi5oCmluZGV4IDhhYmFmM2JmZTBmOTM1YzkyYjA4
YmJjMGEwNmM5YTllNzQzMDFhYTcuLmUwM2YzOTAwZDUyYWY0ZGUyN2MxNGZmOGIwZmRhZGU0NzQx
ZTViYzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlBsdWdp
bi5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlBsdWdpbi5oCkBAIC0z
MSw2ICszMSw4IEBACiAjaWZuZGVmIFdlYlBsdWdpbl9oCiAjZGVmaW5lIFdlYlBsdWdpbl9oCiAK
KyNpbmNsdWRlICJXZWJEcmFnT3BlcmF0aW9uLmgiCisjaW5jbHVkZSAiV2ViRHJhZ1N0YXR1cy5o
IgogI2luY2x1ZGUgInBsYXRmb3JtL1dlYkNhbnZhcy5oIgogI2luY2x1ZGUgInBsYXRmb3JtL1dl
YlN0cmluZy5oIgogI2luY2x1ZGUgInBsYXRmb3JtL1dlYlVSTC5oIgpAQCAtNDAsNiArNDIsNyBA
QCBzdHJ1Y3QgTlBPYmplY3Q7CiBuYW1lc3BhY2UgV2ViS2l0IHsKIAogY2xhc3MgV2ViRGF0YVNv
dXJjZTsKK2NsYXNzIFdlYkRyYWdEYXRhOwogY2xhc3MgV2ViRnJhbWU7CiBjbGFzcyBXZWJJbnB1
dEV2ZW50OwogY2xhc3MgV2ViUGx1Z2luQ29udGFpbmVyOwpAQCAtODAsNiArODMsOCBAQCBwdWJs
aWM6CiAgICAgdmlydHVhbCBib29sIGFjY2VwdHNJbnB1dEV2ZW50cygpID0gMDsKICAgICB2aXJ0
dWFsIGJvb2wgaGFuZGxlSW5wdXRFdmVudChjb25zdCBXZWJJbnB1dEV2ZW50JiwgV2ViQ3Vyc29y
SW5mbyYpID0gMDsKIAorICAgIHZpcnR1YWwgYm9vbCBoYW5kbGVEcmFnU3RhdHVzVXBkYXRlKFdl
YkRyYWdTdGF0dXMsIGNvbnN0IFdlYkRyYWdEYXRhJiwgV2ViRHJhZ09wZXJhdGlvbnNNYXNrLCBj
b25zdCBXZWJQb2ludCYgcG9zaXRpb24sIGNvbnN0IFdlYlBvaW50JiBzY3JlZW5Qb3NpdGlvbikg
PSAwOworCiAgICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVSZXNwb25zZShjb25zdCBXZWJVUkxS
ZXNwb25zZSYpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZURhdGEoY29uc3QgY2hh
ciogZGF0YSwgaW50IGRhdGFMZW5ndGgpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgZGlkRmluaXNo
TG9hZGluZygpID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dl
YlBsdWdpbkNvbnRhaW5lckltcGwuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2Vi
UGx1Z2luQ29udGFpbmVySW1wbC5jcHAKaW5kZXggZTNjNGJlZmI4M2YyMWFjZTllODA3YTViMGZm
MzEyNGJjNTNmODI3Ni4uYjg5OGRkYTk2ZjEyYmJiOGUxZTg4NGE0NjBlYmFjZDAzMzZiMDBmMCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViUGx1Z2luQ29udGFpbmVy
SW1wbC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViUGx1Z2luQ29udGFp
bmVySW1wbC5jcHAKQEAgLTMzLDYgKzMzLDcgQEAKIAogI2luY2x1ZGUgIkNocm9tZS5oIgogI2lu
Y2x1ZGUgIkNocm9tZUNsaWVudEltcGwuaCIKKyNpbmNsdWRlICJDbGlwYm9hcmRDaHJvbWl1bS5o
IgogI2luY2x1ZGUgIlNjcm9sbGJhckdyb3VwLmgiCiAjaW5jbHVkZSAiV2ViQ3Vyc29ySW5mby5o
IgogI2luY2x1ZGUgIldlYkRhdGFTb3VyY2VJbXBsLmgiCkBAIC03Myw2ICs3NCw3IEBACiAjaW5j
bHVkZSA8cHVibGljL1BsYXRmb3JtLmg+CiAjaW5jbHVkZSA8cHVibGljL1dlYkNsaXBib2FyZC5o
PgogI2luY2x1ZGUgPHB1YmxpYy9XZWJDb21wb3NpdG9yU3VwcG9ydC5oPgorI2luY2x1ZGUgPHB1
YmxpYy9XZWJEcmFnRGF0YS5oPgogI2luY2x1ZGUgPHB1YmxpYy9XZWJFeHRlcm5hbFRleHR1cmVM
YXllci5oPgogI2luY2x1ZGUgPHB1YmxpYy9XZWJSZWN0Lmg+CiAjaW5jbHVkZSA8cHVibGljL1dl
YlN0cmluZy5oPgpAQCAtNjUzLDYgKzY1NSwxMSBAQCB2b2lkIFdlYlBsdWdpbkNvbnRhaW5lcklt
cGw6OmhhbmRsZU1vdXNlRXZlbnQoTW91c2VFdmVudCogZXZlbnQpCiB7CiAgICAgQVNTRVJUKHBh
cmVudCgpLT5pc0ZyYW1lVmlldygpKTsKIAorICAgIGlmIChldmVudC0+aXNEcmFnRXZlbnQoKSkg
eworICAgICAgICBoYW5kbGVEcmFnRXZlbnQoZXZlbnQpOworICAgICAgICByZXR1cm47CisgICAg
fQorCiAgICAgLy8gV2UgY2FjaGUgdGhlIHBhcmVudCBGcmFtZVZpZXcgaGVyZSBhcyB0aGUgcGx1
Z2luIHdpZGdldCBjb3VsZCBiZSBkZWxldGVkCiAgICAgLy8gaW4gdGhlIGNhbGwgdG8gSGFuZGxl
RXZlbnQuIFNlZSBodHRwOi8vYi9pc3N1ZT9pZD0xMzYyOTQ4CiAgICAgRnJhbWVWaWV3KiBwYXJl
bnRWaWV3ID0gc3RhdGljX2Nhc3Q8RnJhbWVWaWV3Kj4ocGFyZW50KCkpOwpAQCAtNjk2LDYgKzcw
MywzMCBAQCB2b2lkIFdlYlBsdWdpbkNvbnRhaW5lckltcGw6OmhhbmRsZU1vdXNlRXZlbnQoTW91
c2VFdmVudCogZXZlbnQpCiAgICAgY2hyb21lQ2xpZW50LT5zZXRDdXJzb3JGb3JQbHVnaW4oY3Vy
c29ySW5mbyk7CiB9CiAKK3ZvaWQgV2ViUGx1Z2luQ29udGFpbmVySW1wbDo6aGFuZGxlRHJhZ0V2
ZW50KE1vdXNlRXZlbnQqIGV2ZW50KQoreworICAgIEFTU0VSVChldmVudC0+aXNEcmFnRXZlbnQo
KSk7CisKKyAgICBXZWJEcmFnU3RhdHVzIGRyYWdTdGF0dXMgPSBXZWJEcmFnU3RhdHVzVW5rbm93
bjsKKyAgICBpZiAoZXZlbnQtPnR5cGUoKSA9PSBldmVudE5hbWVzKCkuZHJhZ2VudGVyRXZlbnQp
CisgICAgICAgIGRyYWdTdGF0dXMgPSBXZWJEcmFnU3RhdHVzRW50ZXI7CisgICAgZWxzZSBpZiAo
ZXZlbnQtPnR5cGUoKSA9PSBldmVudE5hbWVzKCkuZHJhZ2xlYXZlRXZlbnQpCisgICAgICAgIGRy
YWdTdGF0dXMgPSBXZWJEcmFnU3RhdHVzTGVhdmU7CisgICAgZWxzZSBpZiAoZXZlbnQtPnR5cGUo
KSA9PSBldmVudE5hbWVzKCkuZHJhZ292ZXJFdmVudCkKKyAgICAgICAgZHJhZ1N0YXR1cyA9IFdl
YkRyYWdTdGF0dXNPdmVyOworCisgICAgaWYgKGRyYWdTdGF0dXMgPT0gV2ViRHJhZ1N0YXR1c1Vu
a25vd24pCisgICAgICAgIHJldHVybjsKKworICAgIENsaXBib2FyZENocm9taXVtKiBjbGlwYm9h
cmQgPSBzdGF0aWNfY2FzdDxDbGlwYm9hcmRDaHJvbWl1bSo+KGV2ZW50LT5kYXRhVHJhbnNmZXIo
KSk7CisgICAgV2ViRHJhZ0RhdGEgZHJhZ0RhdGEgPSBjbGlwYm9hcmQtPmRhdGFPYmplY3QoKTsK
KyAgICBXZWJEcmFnT3BlcmF0aW9uc01hc2sgZHJhZ09wZXJhdGlvbk1hc2sgPSBzdGF0aWNfY2Fz
dDxXZWJEcmFnT3BlcmF0aW9uc01hc2s+KGNsaXBib2FyZC0+c291cmNlT3BlcmF0aW9uKCkpOwor
ICAgIFdlYlBvaW50IGRyYWdTY3JlZW5Mb2NhdGlvbihldmVudC0+c2NyZWVuWCgpLCBldmVudC0+
c2NyZWVuWSgpKTsKKyAgICBXZWJQb2ludCBkcmFnTG9jYXRpb24oZXZlbnQtPmFic29sdXRlTG9j
YXRpb24oKS54KCkgLSBsb2NhdGlvbigpLngoKSwgZXZlbnQtPmFic29sdXRlTG9jYXRpb24oKS55
KCkgLSBsb2NhdGlvbigpLnkoKSk7CisKKyAgICBtX3dlYlBsdWdpbi0+aGFuZGxlRHJhZ1N0YXR1
c1VwZGF0ZShkcmFnU3RhdHVzLCBkcmFnRGF0YSwgZHJhZ09wZXJhdGlvbk1hc2ssIGRyYWdMb2Nh
dGlvbiwgZHJhZ1NjcmVlbkxvY2F0aW9uKTsKK30KKwogdm9pZCBXZWJQbHVnaW5Db250YWluZXJJ
bXBsOjpoYW5kbGVXaGVlbEV2ZW50KFdoZWVsRXZlbnQqIGV2ZW50KQogewogICAgIFdlYk1vdXNl
V2hlZWxFdmVudEJ1aWxkZXIgd2ViRXZlbnQodGhpcywgKmV2ZW50KTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlBsdWdpbkNvbnRhaW5lckltcGwuaCBiL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlBsdWdpbkNvbnRhaW5lckltcGwuaAppbmRleCBlMjAz
YTczNzAxOTAzMWYwNGFkODEyNzkzMTM1OGY2YTg4MDg4OTM4Li5lODlhZjA5ODc5NmFmODI1MzUx
ZGVjOWRlMzc5NTZiNGYxNTFmYWJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L3NyYy9XZWJQbHVnaW5Db250YWluZXJJbXBsLmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9zcmMvV2ViUGx1Z2luQ29udGFpbmVySW1wbC5oCkBAIC0xNjUsNiArMTY1LDcgQEAgcHJpdmF0
ZToKICAgICB+V2ViUGx1Z2luQ29udGFpbmVySW1wbCgpOwogCiAgICAgdm9pZCBoYW5kbGVNb3Vz
ZUV2ZW50KFdlYkNvcmU6Ok1vdXNlRXZlbnQqKTsKKyAgICB2b2lkIGhhbmRsZURyYWdFdmVudChX
ZWJDb3JlOjpNb3VzZUV2ZW50Kik7CiAgICAgdm9pZCBoYW5kbGVXaGVlbEV2ZW50KFdlYkNvcmU6
OldoZWVsRXZlbnQqKTsKICAgICB2b2lkIGhhbmRsZUtleWJvYXJkRXZlbnQoV2ViQ29yZTo6S2V5
Ym9hcmRFdmVudCopOwogICAgIHZvaWQgaGFuZGxlVG91Y2hFdmVudChXZWJDb3JlOjpUb3VjaEV2
ZW50Kik7CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5k
ZXggMTBmN2E3NGQwN2ZkOThiOWM1YTE4N2VjNjc0OTczMjY2ZGQ0NjE3ZS4uYTlmM2U4N2FlNmY2
ODRkYWU0YjczYTM1MjFjNzNhZDJiZGQzOTI3NyAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9n
CisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDEyLTEwLTAzICBTYWRy
dWwgSGFiaWIgQ2hvd2RodXJ5ICA8c2FkcnVsQGNocm9taXVtLm9yZz4KKworICAgICAgICBbY2hy
b21pdW1dIEFsbG93IGRyYWdnaW5nIGludG8gcGx1Z2lucy4KKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk4Mjc3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVXBkYXRlIHRoZSBUZXN0V2ViUGx1Z2luIHRvIHJl
Y2VpdmUgZHJhZyBldmVudHMgYW5kIHByaW50IHRoZW0gb3V0LgorCisgICAgICAgICogRHVtcFJl
bmRlclRyZWUvY2hyb21pdW0vVGVzdFdlYlBsdWdpbi5jcHA6CisgICAgICAgIChUZXN0V2ViUGx1
Z2luOjpoYW5kbGVEcmFnU3RhdHVzVXBkYXRlKToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9j
aHJvbWl1bS9UZXN0V2ViUGx1Z2luLmg6CisgICAgICAgIChUZXN0V2ViUGx1Z2luKToKKwogMjAx
Mi0xMC0wMSAgQ3NhYmEgT3N6dHJvZ29uw6FjICA8b3NzeUB3ZWJraXQub3JnPgogCiAgICAgICAg
IFVucmV2aWV3ZWQsIHVwZGF0ZSB0aGUgVVJMIG9mIHRoZSBTemVnZWQgU1ZOIG1pcnJvci4KZGlm
ZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RXZWJQbHVnaW4uY3Bw
IGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdFdlYlBsdWdpbi5jcHAKaW5kZXgg
NzVlMDZjNDNiODJiM2U4NGE4MjExYzU3NTcxZTFiMzM3YWUwYjhhNi4uZDkxMWZhNTQzZjUxZDVi
ZWY4MzNmOTAyYmQ5NDdlNjFhNTJmMjhiMiAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRy
ZWUvY2hyb21pdW0vVGVzdFdlYlBsdWdpbi5jcHAKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUv
Y2hyb21pdW0vVGVzdFdlYlBsdWdpbi5jcHAKQEAgLTQyMSwzICs0MjEsMjMgQEAgYm9vbCBUZXN0
V2ViUGx1Z2luOjpoYW5kbGVJbnB1dEV2ZW50KGNvbnN0IFdlYktpdDo6V2ViSW5wdXRFdmVudCYg
ZXZlbnQsIFdlYktpdDoKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKK2Jvb2wgVGVzdFdlYlBsdWdp
bjo6aGFuZGxlRHJhZ1N0YXR1c1VwZGF0ZShXZWJLaXQ6OldlYkRyYWdTdGF0dXMgZHJhZ1N0YXR1
cywgY29uc3QgV2ViS2l0OjpXZWJEcmFnRGF0YSYsIFdlYktpdDo6V2ViRHJhZ09wZXJhdGlvbnNN
YXNrLCBjb25zdCBXZWJLaXQ6OldlYlBvaW50JiBwb3NpdGlvbiwgY29uc3QgV2ViS2l0OjpXZWJQ
b2ludCYgc2NyZWVuUG9zaXRpb24pCit7CisgICAgY29uc3QgY2hhciogZHJhZ1N0YXR1c05hbWUg
PSAwOworICAgIHN3aXRjaCAoZHJhZ1N0YXR1cykgeworICAgIGNhc2UgV2ViS2l0OjpXZWJEcmFn
U3RhdHVzRW50ZXI6CisgICAgICAgIGRyYWdTdGF0dXNOYW1lID0gIkRyYWdFbnRlciI7CisgICAg
ICAgIGJyZWFrOworICAgIGNhc2UgV2ViS2l0OjpXZWJEcmFnU3RhdHVzT3ZlcjoKKyAgICAgICAg
ZHJhZ1N0YXR1c05hbWUgPSAiRHJhZ092ZXIiOworICAgICAgICBicmVhazsKKyAgICBjYXNlIFdl
YktpdDo6V2ViRHJhZ1N0YXR1c0xlYXZlOgorICAgICAgICBkcmFnU3RhdHVzTmFtZSA9ICJEcmFn
TGVhdmUiOworICAgICAgICBicmVhazsKKyAgICBjYXNlIFdlYktpdDo6V2ViRHJhZ1N0YXR1c1Vu
a25vd246CisgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIH0KKyAgICBwcmludGYo
IlBsdWdpbiByZWNlaXZlZCBldmVudDogJXNcbiIsIGRyYWdTdGF0dXNOYW1lKTsKKyAgICByZXR1
cm4gZmFsc2U7Cit9CisKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVt
L1Rlc3RXZWJQbHVnaW4uaCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RXZWJQ
bHVnaW4uaAppbmRleCBlMmFkNTc2YTczMjY1ZGM3MjMyMjQ2ODM0ZjEzYTgzZGRkMWI2ZDc5Li43
M2Y4N2VhMTBmZTdlMDc5NDk0NzY4NjFlZGNhZTA1NWE4ZmE2YTAxIDEwMDY0NAotLS0gYS9Ub29s
cy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0V2ViUGx1Z2luLmgKKysrIGIvVG9vbHMvRHVt
cFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdFdlYlBsdWdpbi5oCkBAIC02NSw2ICs2NSw3IEBAIHB1
YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgdXBkYXRlVmlzaWJpbGl0eShib29sKSB7IH0KICAgICB2
aXJ0dWFsIGJvb2wgYWNjZXB0c0lucHV0RXZlbnRzKCkgeyByZXR1cm4gdHJ1ZTsgfQogICAgIHZp
cnR1YWwgYm9vbCBoYW5kbGVJbnB1dEV2ZW50KGNvbnN0IFdlYktpdDo6V2ViSW5wdXRFdmVudCYs
IFdlYktpdDo6V2ViQ3Vyc29ySW5mbyYpOworICAgIHZpcnR1YWwgYm9vbCBoYW5kbGVEcmFnU3Rh
dHVzVXBkYXRlKFdlYktpdDo6V2ViRHJhZ1N0YXR1cywgY29uc3QgV2ViS2l0OjpXZWJEcmFnRGF0
YSYsIFdlYktpdDo6V2ViRHJhZ09wZXJhdGlvbnNNYXNrLCBjb25zdCBXZWJLaXQ6OldlYlBvaW50
JiBwb3NpdGlvbiwgY29uc3QgV2ViS2l0OjpXZWJQb2ludCYgc2NyZWVuUG9zaXRpb24pOwogICAg
IHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZlUmVzcG9uc2UoY29uc3QgV2ViS2l0OjpXZWJVUkxSZXNw
b25zZSYpIHsgfQogICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZlRGF0YShjb25zdCBjaGFyKiBk
YXRhLCBpbnQgZGF0YUxlbmd0aCkgeyB9CiAgICAgdmlydHVhbCB2b2lkIGRpZEZpbmlzaExvYWRp
bmcoKSB7IH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwppbmRleCAyYzQzYjgxYWZlNjk1Y2YzYzM1OTJiY2MyYzMzMjI4NjNiZTM0NWQ4
Li45YmIzY2EyMDZiOGFiZjNjZTI5YjgwZWI3MDhkNGE0MDk0OTU3OWJiIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTUgQEAKKzIwMTItMTAtMDMgIFNhZHJ1bCBIYWJpYiBDaG93ZGh1cnkgIDxzYWRydWxAY2hy
b21pdW0ub3JnPgorCisgICAgICAgIFtjaHJvbWl1bV0gQWxsb3cgZHJhZ2dpbmcgaW50byBwbHVn
aW5zLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTgy
NzcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGQg
dGVzdCB0byBtYWtlIHN1cmUgdGhhdCBwbHVnaW5zIHJlY2VpdmUgdGhlIGRyYWcgZXZlbnRzIGNv
cnJlY3RseS4KKworICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL3BsdWdpbnMvZHJhZy1ldmVu
dHMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9wbHVn
aW5zL2RyYWctZXZlbnRzLmh0bWw6IEFkZGVkLgorCiAyMDEyLTEwLTAxICBBcmtvIFNhaGEgIDxh
cmtvQG1vdG9yb2xhLmNvbT4KIAogICAgICAgICBNaWNyb2RhdGE6IG5hbWVzLml0ZW0oKSBtdXN0
IHJldHVybiBudWxsIGZvciBvdXQgb2YgcmFuZ2UgaW5kZXhlcy4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL3BsdWdpbnMvZHJhZy1ldmVudHMtZXhwZWN0ZWQudHh0
IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vcGx1Z2lucy9kcmFnLWV2ZW50cy1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMWI0Njk1MWM1YzlkOGZhMzI3ZDVlMjJhNDllZTljOTliZWM4
NmQ5YQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL3Bs
dWdpbnMvZHJhZy1ldmVudHMtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNyBAQAorUGx1Z2luIHJl
Y2VpdmVkIGV2ZW50OiBNb3VzZUVudGVyCitQbHVnaW4gcmVjZWl2ZWQgZXZlbnQ6IE1vdXNlTW92
ZQorUGx1Z2luIHJlY2VpdmVkIGV2ZW50OiBEcmFnRW50ZXIKK1BsdWdpbiByZWNlaXZlZCBldmVu
dDogRHJhZ092ZXIKK1BsdWdpbiByZWNlaXZlZCBldmVudDogRHJhZ0xlYXZlCisKK1NvbWUgdGV4
dCB0byBkcmFnCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9wbHVn
aW5zL2RyYWctZXZlbnRzLmh0bWwgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9wbHVn
aW5zL2RyYWctZXZlbnRzLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzgzOTU4YTcyYjhhYTU0MDI2MDA4MTEw
MWNhNGEyY2MwOGZlOTg3ZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3Jt
L2Nocm9taXVtL3BsdWdpbnMvZHJhZy1ldmVudHMuaHRtbApAQCAtMCwwICsxLDQ2IEBACis8aHRt
bD4KKzxoZWFkPgorPHN0eWxlPgorICAjcGx1Z2luIHsKKyAgICB3aWR0aDogMTUwcHg7CisgICAg
aGVpZ2h0OiAxNTBweDsKKyAgfQorPC9zdHlsZT4KKzwvaGVhZD4KKworPGJvZHkgb25sb2FkPSJ0
ZXN0KCk7Ij4KKzxlbWJlZCBpZD0icGx1Z2luIiB0eXBlPSJhcHBsaWNhdGlvbi94LXdlYmtpdC10
ZXN0LXdlYnBsdWdpbiI+PC9lbWJlZD4KKzxkaXYgY29udGVudGVkaXRhYmxlIGlkPSd0ZXh0Jz48
c3Bhbj5Tb21lIHRleHQgdG8gZHJhZzwvc3Bhbj48L2Rpdj4KKzxzY3JpcHQ+CisKK2Z1bmN0aW9u
IHRlc3QoKSB7CisgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lciB8fCAhd2luZG93LmV2ZW50U2Vu
ZGVyKSB7CisgICAgICAgIGRvY3VtZW50LndyaXRlKCJUaGlzIHRlc3QgZG9lcyBub3Qgd29yayBp
biBtYW51YWwgbW9kZS4iKTsKKyAgICB9IGVsc2UgeworICAgICAgICB0ZXN0UnVubmVyLmR1bXBB
c1RleHQoKTsKKworICAgICAgICB2YXIgZGl2ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3Rl
eHQnKTsKKyAgICAgICAgZGl2LmZvY3VzKCk7CisgICAgICAgIGdldFNlbGVjdGlvbigpLmNvbGxh
cHNlKGRpdiwgMCk7CisgICAgICAgIGdldFNlbGVjdGlvbigpLm1vZGlmeSgnZXh0ZW5kJywgJ2Zv
cndhcmQnLCAnd29yZCcpOworCisgICAgICAgIHZhciBwb3NpdGlvblggPSBwbHVnaW4ub2Zmc2V0
TGVmdCArIDEwOworICAgICAgICB2YXIgcG9zaXRpb25ZID0gcGx1Z2luLm9mZnNldFRvcCArIDEw
OworCisgICAgICAgIHZhciBzdGFydFggPSBkaXYub2Zmc2V0TGVmdCArIGRpdi5maXJzdENoaWxk
Lm9mZnNldFdpZHRoIC8gNTsKKyAgICAgICAgdmFyIHN0YXJ0WSA9IGRpdi5vZmZzZXRUb3AgKyBk
aXYub2Zmc2V0SGVpZ2h0IC8gMjs7CisKKyAgICAgICAgZXZlbnRTZW5kZXIuZHJhZ01vZGUgPSB0
cnVlOworICAgICAgICBldmVudFNlbmRlci5tb3VzZU1vdmVUbyhzdGFydFgsIHN0YXJ0WSk7Cisg
ICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlRG93bigpOworICAgICAgICBldmVudFNlbmRlci5tb3Vz
ZU1vdmVUbyhwb3NpdGlvblgsIHBvc2l0aW9uWSk7CisgICAgICAgIGV2ZW50U2VuZGVyLm1vdXNl
TW92ZVRvKHBvc2l0aW9uWCArIDIsIHBvc2l0aW9uWSk7CisgICAgICAgIGV2ZW50U2VuZGVyLm1v
dXNlTW92ZVRvKHN0YXJ0WCwgc3RhcnRZKTsKKyAgICAgICAgZXZlbnRTZW5kZXIubW91c2VVcCgp
OworCisgICAgICAgIHRlc3RSdW5uZXIubm90aWZ5RG9uZSgpOworICAgIH0KK30KKzwvc2NyaXB0
PgorPC9ib2R5PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>166946</attachid>
            <date>2012-10-03 13:15:15 -0700</date>
            <delta_ts>2012-10-04 14:27:59 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-98277-20121003161426.patch</filename>
            <type>text/plain</type>
            <size>13542</size>
            <attacher name="Sadrul Habib Chowdhury">sadrul</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMwMDMxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4
IDY1NGExZWFjZWEyOWU5ZDM3OGQ0ZTQzMjVlMmY3NzNjZjFlZjZkMDEuLmZhMzk3OWZjOWE2ZjI4
NDgxOTgzNmNmZmY0OTAyM2QzODJmMzM3ZDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMjUgQEAKKzIwMTItMTAtMDMgIFNhZHJ1bCBIYWJpYiBDaG93ZGh1cnkgIDxzYWRy
dWxAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtjaHJvbWl1bV0gQWxsb3cgZHJhZ2dpbmcgaW50
byBwbHVnaW5zLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9OTgyNzcKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBBbGxvdyBwbHVnaW5zIHRvIHJlY2VpdmUgZHJhZyBldmVudHMuIFRoaXMgd2lsbCBtYWtlIGl0
IHBvc3NpYmxlIHRvCisgICAgICAgIHBlcmZvcm0gZHJhZy1uLWRyb3AgaW50byBicm93c2VyIHBs
dWdpbnMgKGFuZCBvdGhlciBwbHVnaW5zIGlmIGRlc2lyZWQpLgorCisgICAgICAgICogcHVibGlj
L1dlYkRyYWdTdGF0dXMuaDogQWRkZWQuCisgICAgICAgIChXZWJLaXQpOgorICAgICAgICAqIHB1
YmxpYy9XZWJQbHVnaW4uaDoKKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgIChXZWJQbHVnaW4p
OgorICAgICAgICAqIHNyYy9XZWJQbHVnaW5Db250YWluZXJJbXBsLmNwcDoKKyAgICAgICAgKFdl
YktpdDo6V2ViUGx1Z2luQ29udGFpbmVySW1wbDo6aGFuZGxlTW91c2VFdmVudCk6CisgICAgICAg
IChXZWJLaXQ6OldlYlBsdWdpbkNvbnRhaW5lckltcGw6OmhhbmRsZURyYWdFdmVudCk6CisgICAg
ICAgIChXZWJLaXQpOgorICAgICAgICAqIHNyYy9XZWJQbHVnaW5Db250YWluZXJJbXBsLmg6Cisg
ICAgICAgIChXZWJQbHVnaW5Db250YWluZXJJbXBsKToKKwogMjAxMi0xMC0wMSAgQWxleGFuZGVy
IFBhdmxvdiAgPGFwYXZsb3ZAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6
IFtEZXZpY2UgTWV0cmljc10gUmVtb3ZlIHRoZSBndXR0ZXIgb3ZlcmxheSBtb3ZpbmcgaXRzIGZ1
bmN0aW9uYWxpdHkgaW50byB0aGUgSW5zcGVjdG9yT3ZlcmxheQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViRHJhZ1N0YXR1cy5oIGIvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9wdWJsaWMvV2ViRHJhZ1N0YXR1cy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM2ODE1MDE3ZGVjNGNm
ZDI4MjIxMWQ4YTc5NDdkZTI5NzM3ZDRhYzIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3B1YmxpYy9XZWJEcmFnU3RhdHVzLmgKQEAgLTAsMCArMSw0NSBAQAorLyoK
KyogQ29weXJpZ2h0IChDKSAyMDEyIEdvb2dsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisq
CisqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisqIG1ldDoKKyoKKyogICAgICogUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
Kyogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlCisqIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKKyogaW4gdGhlIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorKiBkaXN0cmlidXRpb24u
CisqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBv
ZiBpdHMKKyogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBw
cm9kdWN0cyBkZXJpdmVkIGZyb20KKyogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHBy
aW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyoKKyogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworKiAiQVMgSVMiIEFORCBB
TlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorKiBM
SU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IKKyogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisqIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyog
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsCisqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisqIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RQorKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorKi8KKworI2lmbmRlZiBXZWJEcmFnU3RhdHVzX2gKKyNkZWZpbmUg
V2ViRHJhZ1N0YXR1c19oCisKK25hbWVzcGFjZSBXZWJLaXQgeworCitlbnVtIFdlYkRyYWdTdGF0
dXMgeworICAgIFdlYkRyYWdTdGF0dXNVbmtub3duID0gMCwKKyAgICBXZWJEcmFnU3RhdHVzRW50
ZXIgPSAxLAorICAgIFdlYkRyYWdTdGF0dXNPdmVyID0gMiwKKyAgICBXZWJEcmFnU3RhdHVzTGVh
dmUgPSAzCit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKKworI2VuZGlmCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJQbHVnaW4uaCBiL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vcHVibGljL1dlYlBsdWdpbi5oCmluZGV4IDhhYmFmM2JmZTBmOTM1YzkyYjA4
YmJjMGEwNmM5YTllNzQzMDFhYTcuLmM3MmZmZjMyNTlkZmJjOTIzZWFhNzcxZjY3OTZlM2ZmMTk0
ZDQ5YTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlBsdWdp
bi5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYlBsdWdpbi5oCkBAIC0z
MSw2ICszMSw4IEBACiAjaWZuZGVmIFdlYlBsdWdpbl9oCiAjZGVmaW5lIFdlYlBsdWdpbl9oCiAK
KyNpbmNsdWRlICJXZWJEcmFnT3BlcmF0aW9uLmgiCisjaW5jbHVkZSAiV2ViRHJhZ1N0YXR1cy5o
IgogI2luY2x1ZGUgInBsYXRmb3JtL1dlYkNhbnZhcy5oIgogI2luY2x1ZGUgInBsYXRmb3JtL1dl
YlN0cmluZy5oIgogI2luY2x1ZGUgInBsYXRmb3JtL1dlYlVSTC5oIgpAQCAtNDAsNiArNDIsNyBA
QCBzdHJ1Y3QgTlBPYmplY3Q7CiBuYW1lc3BhY2UgV2ViS2l0IHsKIAogY2xhc3MgV2ViRGF0YVNv
dXJjZTsKK2NsYXNzIFdlYkRyYWdEYXRhOwogY2xhc3MgV2ViRnJhbWU7CiBjbGFzcyBXZWJJbnB1
dEV2ZW50OwogY2xhc3MgV2ViUGx1Z2luQ29udGFpbmVyOwpAQCAtODAsNiArODMsOCBAQCBwdWJs
aWM6CiAgICAgdmlydHVhbCBib29sIGFjY2VwdHNJbnB1dEV2ZW50cygpID0gMDsKICAgICB2aXJ0
dWFsIGJvb2wgaGFuZGxlSW5wdXRFdmVudChjb25zdCBXZWJJbnB1dEV2ZW50JiwgV2ViQ3Vyc29y
SW5mbyYpID0gMDsKIAorICAgIHZpcnR1YWwgYm9vbCBoYW5kbGVEcmFnU3RhdHVzVXBkYXRlKFdl
YkRyYWdTdGF0dXMsIGNvbnN0IFdlYkRyYWdEYXRhJiwgV2ViRHJhZ09wZXJhdGlvbnNNYXNrLCBj
b25zdCBXZWJQb2ludCYgcG9zaXRpb24sIGNvbnN0IFdlYlBvaW50JiBzY3JlZW5Qb3NpdGlvbikg
eyByZXR1cm4gZmFsc2U7IH0KKwogICAgIHZpcnR1YWwgdm9pZCBkaWRSZWNlaXZlUmVzcG9uc2Uo
Y29uc3QgV2ViVVJMUmVzcG9uc2UmKSA9IDA7CiAgICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVE
YXRhKGNvbnN0IGNoYXIqIGRhdGEsIGludCBkYXRhTGVuZ3RoKSA9IDA7CiAgICAgdmlydHVhbCB2
b2lkIGRpZEZpbmlzaExvYWRpbmcoKSA9IDA7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3NyYy9XZWJQbHVnaW5Db250YWluZXJJbXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vc3JjL1dlYlBsdWdpbkNvbnRhaW5lckltcGwuY3BwCmluZGV4IGUzYzRiZWZiODNmMjFh
Y2U5ZTgwN2E1YjBmZjMxMjRiYzUzZjgyNzYuLmI4OThkZGE5NmYxMmJiYjhlMWU4ODRhNDYwZWJh
Y2QwMzM2YjAwZjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlBs
dWdpbkNvbnRhaW5lckltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dl
YlBsdWdpbkNvbnRhaW5lckltcGwuY3BwCkBAIC0zMyw2ICszMyw3IEBACiAKICNpbmNsdWRlICJD
aHJvbWUuaCIKICNpbmNsdWRlICJDaHJvbWVDbGllbnRJbXBsLmgiCisjaW5jbHVkZSAiQ2xpcGJv
YXJkQ2hyb21pdW0uaCIKICNpbmNsdWRlICJTY3JvbGxiYXJHcm91cC5oIgogI2luY2x1ZGUgIldl
YkN1cnNvckluZm8uaCIKICNpbmNsdWRlICJXZWJEYXRhU291cmNlSW1wbC5oIgpAQCAtNzMsNiAr
NzQsNyBAQAogI2luY2x1ZGUgPHB1YmxpYy9QbGF0Zm9ybS5oPgogI2luY2x1ZGUgPHB1YmxpYy9X
ZWJDbGlwYm9hcmQuaD4KICNpbmNsdWRlIDxwdWJsaWMvV2ViQ29tcG9zaXRvclN1cHBvcnQuaD4K
KyNpbmNsdWRlIDxwdWJsaWMvV2ViRHJhZ0RhdGEuaD4KICNpbmNsdWRlIDxwdWJsaWMvV2ViRXh0
ZXJuYWxUZXh0dXJlTGF5ZXIuaD4KICNpbmNsdWRlIDxwdWJsaWMvV2ViUmVjdC5oPgogI2luY2x1
ZGUgPHB1YmxpYy9XZWJTdHJpbmcuaD4KQEAgLTY1Myw2ICs2NTUsMTEgQEAgdm9pZCBXZWJQbHVn
aW5Db250YWluZXJJbXBsOjpoYW5kbGVNb3VzZUV2ZW50KE1vdXNlRXZlbnQqIGV2ZW50KQogewog
ICAgIEFTU0VSVChwYXJlbnQoKS0+aXNGcmFtZVZpZXcoKSk7CiAKKyAgICBpZiAoZXZlbnQtPmlz
RHJhZ0V2ZW50KCkpIHsKKyAgICAgICAgaGFuZGxlRHJhZ0V2ZW50KGV2ZW50KTsKKyAgICAgICAg
cmV0dXJuOworICAgIH0KKwogICAgIC8vIFdlIGNhY2hlIHRoZSBwYXJlbnQgRnJhbWVWaWV3IGhl
cmUgYXMgdGhlIHBsdWdpbiB3aWRnZXQgY291bGQgYmUgZGVsZXRlZAogICAgIC8vIGluIHRoZSBj
YWxsIHRvIEhhbmRsZUV2ZW50LiBTZWUgaHR0cDovL2IvaXNzdWU/aWQ9MTM2Mjk0OAogICAgIEZy
YW1lVmlldyogcGFyZW50VmlldyA9IHN0YXRpY19jYXN0PEZyYW1lVmlldyo+KHBhcmVudCgpKTsK
QEAgLTY5Niw2ICs3MDMsMzAgQEAgdm9pZCBXZWJQbHVnaW5Db250YWluZXJJbXBsOjpoYW5kbGVN
b3VzZUV2ZW50KE1vdXNlRXZlbnQqIGV2ZW50KQogICAgIGNocm9tZUNsaWVudC0+c2V0Q3Vyc29y
Rm9yUGx1Z2luKGN1cnNvckluZm8pOwogfQogCit2b2lkIFdlYlBsdWdpbkNvbnRhaW5lckltcGw6
OmhhbmRsZURyYWdFdmVudChNb3VzZUV2ZW50KiBldmVudCkKK3sKKyAgICBBU1NFUlQoZXZlbnQt
PmlzRHJhZ0V2ZW50KCkpOworCisgICAgV2ViRHJhZ1N0YXR1cyBkcmFnU3RhdHVzID0gV2ViRHJh
Z1N0YXR1c1Vua25vd247CisgICAgaWYgKGV2ZW50LT50eXBlKCkgPT0gZXZlbnROYW1lcygpLmRy
YWdlbnRlckV2ZW50KQorICAgICAgICBkcmFnU3RhdHVzID0gV2ViRHJhZ1N0YXR1c0VudGVyOwor
ICAgIGVsc2UgaWYgKGV2ZW50LT50eXBlKCkgPT0gZXZlbnROYW1lcygpLmRyYWdsZWF2ZUV2ZW50
KQorICAgICAgICBkcmFnU3RhdHVzID0gV2ViRHJhZ1N0YXR1c0xlYXZlOworICAgIGVsc2UgaWYg
KGV2ZW50LT50eXBlKCkgPT0gZXZlbnROYW1lcygpLmRyYWdvdmVyRXZlbnQpCisgICAgICAgIGRy
YWdTdGF0dXMgPSBXZWJEcmFnU3RhdHVzT3ZlcjsKKworICAgIGlmIChkcmFnU3RhdHVzID09IFdl
YkRyYWdTdGF0dXNVbmtub3duKQorICAgICAgICByZXR1cm47CisKKyAgICBDbGlwYm9hcmRDaHJv
bWl1bSogY2xpcGJvYXJkID0gc3RhdGljX2Nhc3Q8Q2xpcGJvYXJkQ2hyb21pdW0qPihldmVudC0+
ZGF0YVRyYW5zZmVyKCkpOworICAgIFdlYkRyYWdEYXRhIGRyYWdEYXRhID0gY2xpcGJvYXJkLT5k
YXRhT2JqZWN0KCk7CisgICAgV2ViRHJhZ09wZXJhdGlvbnNNYXNrIGRyYWdPcGVyYXRpb25NYXNr
ID0gc3RhdGljX2Nhc3Q8V2ViRHJhZ09wZXJhdGlvbnNNYXNrPihjbGlwYm9hcmQtPnNvdXJjZU9w
ZXJhdGlvbigpKTsKKyAgICBXZWJQb2ludCBkcmFnU2NyZWVuTG9jYXRpb24oZXZlbnQtPnNjcmVl
blgoKSwgZXZlbnQtPnNjcmVlblkoKSk7CisgICAgV2ViUG9pbnQgZHJhZ0xvY2F0aW9uKGV2ZW50
LT5hYnNvbHV0ZUxvY2F0aW9uKCkueCgpIC0gbG9jYXRpb24oKS54KCksIGV2ZW50LT5hYnNvbHV0
ZUxvY2F0aW9uKCkueSgpIC0gbG9jYXRpb24oKS55KCkpOworCisgICAgbV93ZWJQbHVnaW4tPmhh
bmRsZURyYWdTdGF0dXNVcGRhdGUoZHJhZ1N0YXR1cywgZHJhZ0RhdGEsIGRyYWdPcGVyYXRpb25N
YXNrLCBkcmFnTG9jYXRpb24sIGRyYWdTY3JlZW5Mb2NhdGlvbik7Cit9CisKIHZvaWQgV2ViUGx1
Z2luQ29udGFpbmVySW1wbDo6aGFuZGxlV2hlZWxFdmVudChXaGVlbEV2ZW50KiBldmVudCkKIHsK
ICAgICBXZWJNb3VzZVdoZWVsRXZlbnRCdWlsZGVyIHdlYkV2ZW50KHRoaXMsICpldmVudCk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJQbHVnaW5Db250YWluZXJJ
bXBsLmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJQbHVnaW5Db250YWluZXJJbXBs
LmgKaW5kZXggZTIwM2E3MzcwMTkwMzFmMDRhZDgxMjc5MzEzNThmNmE4ODA4ODkzOC4uZTg5YWYw
OTg3OTZhZjgyNTM1MWRlYzlkZTM3OTU2YjRmMTUxZmFiZSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9zcmMvV2ViUGx1Z2luQ29udGFpbmVySW1wbC5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vc3JjL1dlYlBsdWdpbkNvbnRhaW5lckltcGwuaApAQCAtMTY1LDYgKzE2
NSw3IEBAIHByaXZhdGU6CiAgICAgfldlYlBsdWdpbkNvbnRhaW5lckltcGwoKTsKIAogICAgIHZv
aWQgaGFuZGxlTW91c2VFdmVudChXZWJDb3JlOjpNb3VzZUV2ZW50Kik7CisgICAgdm9pZCBoYW5k
bGVEcmFnRXZlbnQoV2ViQ29yZTo6TW91c2VFdmVudCopOwogICAgIHZvaWQgaGFuZGxlV2hlZWxF
dmVudChXZWJDb3JlOjpXaGVlbEV2ZW50Kik7CiAgICAgdm9pZCBoYW5kbGVLZXlib2FyZEV2ZW50
KFdlYkNvcmU6OktleWJvYXJkRXZlbnQqKTsKICAgICB2b2lkIGhhbmRsZVRvdWNoRXZlbnQoV2Vi
Q29yZTo6VG91Y2hFdmVudCopOwpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMv
Q2hhbmdlTG9nCmluZGV4IDEwZjdhNzRkMDdmZDk4YjljNWExODdlYzY3NDk3MzI2NmRkNDYxN2Uu
LmE5ZjNlODdhZTZmNjg0ZGFlNGI3M2EzNTIxYzczYWQyYmRkMzkyNzcgMTAwNjQ0Ci0tLSBhL1Rv
b2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAx
Mi0xMC0wMyAgU2FkcnVsIEhhYmliIENob3dkaHVyeSAgPHNhZHJ1bEBjaHJvbWl1bS5vcmc+CisK
KyAgICAgICAgW2Nocm9taXVtXSBBbGxvdyBkcmFnZ2luZyBpbnRvIHBsdWdpbnMuCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05ODI3NworCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFVwZGF0ZSB0aGUgVGVzdFdl
YlBsdWdpbiB0byByZWNlaXZlIGRyYWcgZXZlbnRzIGFuZCBwcmludCB0aGVtIG91dC4KKworICAg
ICAgICAqIER1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RXZWJQbHVnaW4uY3BwOgorICAgICAg
ICAoVGVzdFdlYlBsdWdpbjo6aGFuZGxlRHJhZ1N0YXR1c1VwZGF0ZSk6CisgICAgICAgICogRHVt
cFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdFdlYlBsdWdpbi5oOgorICAgICAgICAoVGVzdFdlYlBs
dWdpbik6CisKIDIwMTItMTAtMDEgIENzYWJhIE9zenRyb2dvbsOhYyAgPG9zc3lAd2Via2l0Lm9y
Zz4KIAogICAgICAgICBVbnJldmlld2VkLCB1cGRhdGUgdGhlIFVSTCBvZiB0aGUgU3plZ2VkIFNW
TiBtaXJyb3IuCmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0
V2ViUGx1Z2luLmNwcCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RXZWJQbHVn
aW4uY3BwCmluZGV4IDc1ZTA2YzQzYjgyYjNlODRhODIxMWM1NzU3MWUxYjMzN2FlMGI4YTYuLmQ5
MTFmYTU0M2Y1MWQ1YmVmODMzZjkwMmJkOTQ3ZTYxYTUyZjI4YjIgMTAwNjQ0Ci0tLSBhL1Rvb2xz
L0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RXZWJQbHVnaW4uY3BwCisrKyBiL1Rvb2xzL0R1
bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RXZWJQbHVnaW4uY3BwCkBAIC00MjEsMyArNDIxLDIz
IEBAIGJvb2wgVGVzdFdlYlBsdWdpbjo6aGFuZGxlSW5wdXRFdmVudChjb25zdCBXZWJLaXQ6Oldl
YklucHV0RXZlbnQmIGV2ZW50LCBXZWJLaXQ6CiAgICAgcmV0dXJuIGZhbHNlOwogfQogCitib29s
IFRlc3RXZWJQbHVnaW46OmhhbmRsZURyYWdTdGF0dXNVcGRhdGUoV2ViS2l0OjpXZWJEcmFnU3Rh
dHVzIGRyYWdTdGF0dXMsIGNvbnN0IFdlYktpdDo6V2ViRHJhZ0RhdGEmLCBXZWJLaXQ6OldlYkRy
YWdPcGVyYXRpb25zTWFzaywgY29uc3QgV2ViS2l0OjpXZWJQb2ludCYgcG9zaXRpb24sIGNvbnN0
IFdlYktpdDo6V2ViUG9pbnQmIHNjcmVlblBvc2l0aW9uKQoreworICAgIGNvbnN0IGNoYXIqIGRy
YWdTdGF0dXNOYW1lID0gMDsKKyAgICBzd2l0Y2ggKGRyYWdTdGF0dXMpIHsKKyAgICBjYXNlIFdl
YktpdDo6V2ViRHJhZ1N0YXR1c0VudGVyOgorICAgICAgICBkcmFnU3RhdHVzTmFtZSA9ICJEcmFn
RW50ZXIiOworICAgICAgICBicmVhazsKKyAgICBjYXNlIFdlYktpdDo6V2ViRHJhZ1N0YXR1c092
ZXI6CisgICAgICAgIGRyYWdTdGF0dXNOYW1lID0gIkRyYWdPdmVyIjsKKyAgICAgICAgYnJlYWs7
CisgICAgY2FzZSBXZWJLaXQ6OldlYkRyYWdTdGF0dXNMZWF2ZToKKyAgICAgICAgZHJhZ1N0YXR1
c05hbWUgPSAiRHJhZ0xlYXZlIjsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBXZWJLaXQ6Oldl
YkRyYWdTdGF0dXNVbmtub3duOgorICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICB9
CisgICAgcHJpbnRmKCJQbHVnaW4gcmVjZWl2ZWQgZXZlbnQ6ICVzXG4iLCBkcmFnU3RhdHVzTmFt
ZSk7CisgICAgcmV0dXJuIGZhbHNlOworfQorCmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVy
VHJlZS9jaHJvbWl1bS9UZXN0V2ViUGx1Z2luLmggYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJv
bWl1bS9UZXN0V2ViUGx1Z2luLmgKaW5kZXggZTJhZDU3NmE3MzI2NWRjNzIzMjI0NjgzNGYxM2E4
M2RkZDFiNmQ3OS4uNzNmODdlYTEwZmU3ZTA3OTQ5NDc2ODYxZWRjYWUwNTVhOGZhNmEwMSAxMDA2
NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdFdlYlBsdWdpbi5oCisr
KyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RXZWJQbHVnaW4uaApAQCAtNjUs
NiArNjUsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIHVwZGF0ZVZpc2liaWxpdHkoYm9v
bCkgeyB9CiAgICAgdmlydHVhbCBib29sIGFjY2VwdHNJbnB1dEV2ZW50cygpIHsgcmV0dXJuIHRy
dWU7IH0KICAgICB2aXJ0dWFsIGJvb2wgaGFuZGxlSW5wdXRFdmVudChjb25zdCBXZWJLaXQ6Oldl
YklucHV0RXZlbnQmLCBXZWJLaXQ6OldlYkN1cnNvckluZm8mKTsKKyAgICB2aXJ0dWFsIGJvb2wg
aGFuZGxlRHJhZ1N0YXR1c1VwZGF0ZShXZWJLaXQ6OldlYkRyYWdTdGF0dXMsIGNvbnN0IFdlYktp
dDo6V2ViRHJhZ0RhdGEmLCBXZWJLaXQ6OldlYkRyYWdPcGVyYXRpb25zTWFzaywgY29uc3QgV2Vi
S2l0OjpXZWJQb2ludCYgcG9zaXRpb24sIGNvbnN0IFdlYktpdDo6V2ViUG9pbnQmIHNjcmVlblBv
c2l0aW9uKTsKICAgICB2aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZVJlc3BvbnNlKGNvbnN0IFdlYktp
dDo6V2ViVVJMUmVzcG9uc2UmKSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZURhdGEo
Y29uc3QgY2hhciogZGF0YSwgaW50IGRhdGFMZW5ndGgpIHsgfQogICAgIHZpcnR1YWwgdm9pZCBk
aWRGaW5pc2hMb2FkaW5nKCkgeyB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cg
Yi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMmM0M2I4MWFmZTY5NWNmM2MzNTkyYmNjMmMz
MzIyODYzYmUzNDVkOC4uOWJiM2NhMjA2YjhhYmYzY2UyOWI4MGViNzA4ZDRhNDA5NDk1NzliYiAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5n
ZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDEyLTEwLTAzICBTYWRydWwgSGFiaWIgQ2hvd2RodXJ5
ICA8c2FkcnVsQGNocm9taXVtLm9yZz4KKworICAgICAgICBbY2hyb21pdW1dIEFsbG93IGRyYWdn
aW5nIGludG8gcGx1Z2lucy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTk4Mjc3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgQWRkIHRlc3QgdG8gbWFrZSBzdXJlIHRoYXQgcGx1Z2lucyByZWNlaXZlIHRoZSBk
cmFnIGV2ZW50cyBjb3JyZWN0bHkuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9wbHVn
aW5zL2RyYWctZXZlbnRzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0v
Y2hyb21pdW0vcGx1Z2lucy9kcmFnLWV2ZW50cy5odG1sOiBBZGRlZC4KKwogMjAxMi0xMC0wMSAg
QXJrbyBTYWhhICA8YXJrb0Btb3Rvcm9sYS5jb20+CiAKICAgICAgICAgTWljcm9kYXRhOiBuYW1l
cy5pdGVtKCkgbXVzdCByZXR1cm4gbnVsbCBmb3Igb3V0IG9mIHJhbmdlIGluZGV4ZXMuCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9wbHVnaW5zL2RyYWctZXZlbnRz
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL3BsdWdpbnMvZHJh
Zy1ldmVudHMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjFiNDY5NTFjNWM5ZDhmYTMyN2Q1ZTIy
YTQ5ZWU5Yzk5YmVjODZkOWEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9jaHJvbWl1bS9wbHVnaW5zL2RyYWctZXZlbnRzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDcg
QEAKK1BsdWdpbiByZWNlaXZlZCBldmVudDogTW91c2VFbnRlcgorUGx1Z2luIHJlY2VpdmVkIGV2
ZW50OiBNb3VzZU1vdmUKK1BsdWdpbiByZWNlaXZlZCBldmVudDogRHJhZ0VudGVyCitQbHVnaW4g
cmVjZWl2ZWQgZXZlbnQ6IERyYWdPdmVyCitQbHVnaW4gcmVjZWl2ZWQgZXZlbnQ6IERyYWdMZWF2
ZQorCitTb21lIHRleHQgdG8gZHJhZwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
Y2hyb21pdW0vcGx1Z2lucy9kcmFnLWV2ZW50cy5odG1sIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
Y2hyb21pdW0vcGx1Z2lucy9kcmFnLWV2ZW50cy5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM4Mzk1OGE3MmI4
YWE1NDAyNjAwODExMDFjYTRhMmNjMDhmZTk4N2QKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9wbHVnaW5zL2RyYWctZXZlbnRzLmh0bWwKQEAgLTAsMCAr
MSw0NiBAQAorPGh0bWw+Cis8aGVhZD4KKzxzdHlsZT4KKyAgI3BsdWdpbiB7CisgICAgd2lkdGg6
IDE1MHB4OworICAgIGhlaWdodDogMTUwcHg7CisgIH0KKzwvc3R5bGU+Cis8L2hlYWQ+CisKKzxi
b2R5IG9ubG9hZD0idGVzdCgpOyI+Cis8ZW1iZWQgaWQ9InBsdWdpbiIgdHlwZT0iYXBwbGljYXRp
b24veC13ZWJraXQtdGVzdC13ZWJwbHVnaW4iPjwvZW1iZWQ+Cis8ZGl2IGNvbnRlbnRlZGl0YWJs
ZSBpZD0ndGV4dCc+PHNwYW4+U29tZSB0ZXh0IHRvIGRyYWc8L3NwYW4+PC9kaXY+Cis8c2NyaXB0
PgorCitmdW5jdGlvbiB0ZXN0KCkgeworICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIgfHwgIXdp
bmRvdy5ldmVudFNlbmRlcikgeworICAgICAgICBkb2N1bWVudC53cml0ZSgiVGhpcyB0ZXN0IGRv
ZXMgbm90IHdvcmsgaW4gbWFudWFsIG1vZGUuIik7CisgICAgfSBlbHNlIHsKKyAgICAgICAgdGVz
dFJ1bm5lci5kdW1wQXNUZXh0KCk7CisKKyAgICAgICAgdmFyIGRpdiA9IGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCd0ZXh0Jyk7CisgICAgICAgIGRpdi5mb2N1cygpOworICAgICAgICBnZXRTZWxl
Y3Rpb24oKS5jb2xsYXBzZShkaXYsIDApOworICAgICAgICBnZXRTZWxlY3Rpb24oKS5tb2RpZnko
J2V4dGVuZCcsICdmb3J3YXJkJywgJ3dvcmQnKTsKKworICAgICAgICB2YXIgcG9zaXRpb25YID0g
cGx1Z2luLm9mZnNldExlZnQgKyAxMDsKKyAgICAgICAgdmFyIHBvc2l0aW9uWSA9IHBsdWdpbi5v
ZmZzZXRUb3AgKyAxMDsKKworICAgICAgICB2YXIgc3RhcnRYID0gZGl2Lm9mZnNldExlZnQgKyBk
aXYuZmlyc3RDaGlsZC5vZmZzZXRXaWR0aCAvIDU7CisgICAgICAgIHZhciBzdGFydFkgPSBkaXYu
b2Zmc2V0VG9wICsgZGl2Lm9mZnNldEhlaWdodCAvIDI7OworCisgICAgICAgIGV2ZW50U2VuZGVy
LmRyYWdNb2RlID0gdHJ1ZTsKKyAgICAgICAgZXZlbnRTZW5kZXIubW91c2VNb3ZlVG8oc3RhcnRY
LCBzdGFydFkpOworICAgICAgICBldmVudFNlbmRlci5tb3VzZURvd24oKTsKKyAgICAgICAgZXZl
bnRTZW5kZXIubW91c2VNb3ZlVG8ocG9zaXRpb25YLCBwb3NpdGlvblkpOworICAgICAgICBldmVu
dFNlbmRlci5tb3VzZU1vdmVUbyhwb3NpdGlvblggKyAyLCBwb3NpdGlvblkpOworICAgICAgICBl
dmVudFNlbmRlci5tb3VzZU1vdmVUbyhzdGFydFgsIHN0YXJ0WSk7CisgICAgICAgIGV2ZW50U2Vu
ZGVyLm1vdXNlVXAoKTsKKworICAgICAgICB0ZXN0UnVubmVyLm5vdGlmeURvbmUoKTsKKyAgICB9
Cit9Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
</data>
<flag name="review"
          id="179458"
          type_id="1"
          status="+"
          setter="tony"
    />
    <flag name="commit-queue"
          id="179475"
          type_id="3"
          status="-"
          setter="tony"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>167172</attachid>
            <date>2012-10-04 14:25:58 -0700</date>
            <delta_ts>2012-10-04 18:03:21 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-98277-20121004172507.patch</filename>
            <type>text/plain</type>
            <size>13506</size>
            <attacher name="Sadrul Habib Chowdhury">sadrul</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMwMzA0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4
IGE1YjI5NDA0YjhlN2ZiMTQ4OWQ1MDM4MWRmYWIwZmJlNmNjYzhkYzAuLmZhZGI2NjI1ZmY0OWFm
ODA4ZjU1ODMwNDA2NWQ1MmNlNWY3ZDdkOGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMjUgQEAKKzIwMTItMTAtMDMgIFNhZHJ1bCBIYWJpYiBDaG93ZGh1cnkgIDxzYWRy
dWxAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtjaHJvbWl1bV0gQWxsb3cgZHJhZ2dpbmcgaW50
byBwbHVnaW5zLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9OTgyNzcKKworICAgICAgICBSZXZpZXdlZCBieSBUb255IENoYW5nLgorCisgICAgICAgIEFs
bG93IHBsdWdpbnMgdG8gcmVjZWl2ZSBkcmFnIGV2ZW50cy4gVGhpcyB3aWxsIG1ha2UgaXQgcG9z
c2libGUgdG8KKyAgICAgICAgcGVyZm9ybSBkcmFnLW4tZHJvcCBpbnRvIGJyb3dzZXIgcGx1Z2lu
cyAoYW5kIG90aGVyIHBsdWdpbnMgaWYgZGVzaXJlZCkuCisKKyAgICAgICAgKiBwdWJsaWMvV2Vi
RHJhZ1N0YXR1cy5oOiBBZGRlZC4KKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgICogcHVibGlj
L1dlYlBsdWdpbi5oOgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKFdlYlBsdWdpbik6Cisg
ICAgICAgICogc3JjL1dlYlBsdWdpbkNvbnRhaW5lckltcGwuY3BwOgorICAgICAgICAoV2ViS2l0
OjpXZWJQbHVnaW5Db250YWluZXJJbXBsOjpoYW5kbGVNb3VzZUV2ZW50KToKKyAgICAgICAgKFdl
YktpdDo6V2ViUGx1Z2luQ29udGFpbmVySW1wbDo6aGFuZGxlRHJhZ0V2ZW50KToKKyAgICAgICAg
KFdlYktpdCk6CisgICAgICAgICogc3JjL1dlYlBsdWdpbkNvbnRhaW5lckltcGwuaDoKKyAgICAg
ICAgKFdlYlBsdWdpbkNvbnRhaW5lckltcGwpOgorCiAyMDEyLTEwLTAyICBBbmRlcnMgQ2FybHNz
b24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CiAKICAgICAgICAgQ2hhbmdlIG1vc3QgR3JhcGhpY3NM
YXllcjo6Y3JlYXRlIGNhbGxzIHRvIHVzZSB0aGUgdmVyc2lvbiB0aGF0IHRha2VzIGEgR3JhcGhp
Y3NMYXllckZhY3RvcnkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGlj
L1dlYkRyYWdTdGF0dXMuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkRyYWdT
dGF0dXMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5hYzY0NzIyNzQ4OWQ2NzBjNDAxYzM2MGQzMGNhZWUwODRjNjRm
YzcwCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2Vi
RHJhZ1N0YXR1cy5oCkBAIC0wLDAgKzEsNDUgQEAKKy8qCisqIENvcHlyaWdodCAoQykgMjAxMiBH
b29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorKgorKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zIGFyZQorKiBtZXQ6CisqCisqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisqIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyogICAgICogUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorKiBjb3B5
cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyCisqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUKKyogZGlzdHJpYnV0aW9uLgorKiAgICAgKiBOZWl0aGVyIHRoZSBu
YW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisqIGNvbnRyaWJ1dG9ycyBt
YXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisq
IHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24u
CisqCisqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJT
IEFORCBDT05UUklCVVRPUlMKKyogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyogTElNSVRFRCBUTywgVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisqIEEgUEFSVElD
VUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJ
R0hUCisqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLAorKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisqIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorKiBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkKKyogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVAorKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyogT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyovCisK
KyNpZm5kZWYgV2ViRHJhZ1N0YXR1c19oCisjZGVmaW5lIFdlYkRyYWdTdGF0dXNfaAorCituYW1l
c3BhY2UgV2ViS2l0IHsKKworZW51bSBXZWJEcmFnU3RhdHVzIHsKKyAgICBXZWJEcmFnU3RhdHVz
VW5rbm93biA9IDAsCisgICAgV2ViRHJhZ1N0YXR1c0VudGVyLAorICAgIFdlYkRyYWdTdGF0dXNP
dmVyLAorICAgIFdlYkRyYWdTdGF0dXNMZWF2ZQorfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0
CisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2Vi
UGx1Z2luLmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJQbHVnaW4uaAppbmRl
eCA4YWJhZjNiZmUwZjkzNWM5MmIwOGJiYzBhMDZjOWE5ZTc0MzAxYWE3Li5jNzJmZmYzMjU5ZGZi
YzkyM2VhYTc3MWY2Nzk2ZTNmZjE5NGQ0OWEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3B1YmxpYy9XZWJQbHVnaW4uaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1
YmxpYy9XZWJQbHVnaW4uaApAQCAtMzEsNiArMzEsOCBAQAogI2lmbmRlZiBXZWJQbHVnaW5faAog
I2RlZmluZSBXZWJQbHVnaW5faAogCisjaW5jbHVkZSAiV2ViRHJhZ09wZXJhdGlvbi5oIgorI2lu
Y2x1ZGUgIldlYkRyYWdTdGF0dXMuaCIKICNpbmNsdWRlICJwbGF0Zm9ybS9XZWJDYW52YXMuaCIK
ICNpbmNsdWRlICJwbGF0Zm9ybS9XZWJTdHJpbmcuaCIKICNpbmNsdWRlICJwbGF0Zm9ybS9XZWJV
UkwuaCIKQEAgLTQwLDYgKzQyLDcgQEAgc3RydWN0IE5QT2JqZWN0OwogbmFtZXNwYWNlIFdlYktp
dCB7CiAKIGNsYXNzIFdlYkRhdGFTb3VyY2U7CitjbGFzcyBXZWJEcmFnRGF0YTsKIGNsYXNzIFdl
YkZyYW1lOwogY2xhc3MgV2ViSW5wdXRFdmVudDsKIGNsYXNzIFdlYlBsdWdpbkNvbnRhaW5lcjsK
QEAgLTgwLDYgKzgzLDggQEAgcHVibGljOgogICAgIHZpcnR1YWwgYm9vbCBhY2NlcHRzSW5wdXRF
dmVudHMoKSA9IDA7CiAgICAgdmlydHVhbCBib29sIGhhbmRsZUlucHV0RXZlbnQoY29uc3QgV2Vi
SW5wdXRFdmVudCYsIFdlYkN1cnNvckluZm8mKSA9IDA7CiAKKyAgICB2aXJ0dWFsIGJvb2wgaGFu
ZGxlRHJhZ1N0YXR1c1VwZGF0ZShXZWJEcmFnU3RhdHVzLCBjb25zdCBXZWJEcmFnRGF0YSYsIFdl
YkRyYWdPcGVyYXRpb25zTWFzaywgY29uc3QgV2ViUG9pbnQmIHBvc2l0aW9uLCBjb25zdCBXZWJQ
b2ludCYgc2NyZWVuUG9zaXRpb24pIHsgcmV0dXJuIGZhbHNlOyB9CisKICAgICB2aXJ0dWFsIHZv
aWQgZGlkUmVjZWl2ZVJlc3BvbnNlKGNvbnN0IFdlYlVSTFJlc3BvbnNlJikgPSAwOwogICAgIHZp
cnR1YWwgdm9pZCBkaWRSZWNlaXZlRGF0YShjb25zdCBjaGFyKiBkYXRhLCBpbnQgZGF0YUxlbmd0
aCkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBkaWRGaW5pc2hMb2FkaW5nKCkgPSAwOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViUGx1Z2luQ29udGFpbmVySW1wbC5j
cHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJQbHVnaW5Db250YWluZXJJbXBsLmNw
cAppbmRleCBlM2M0YmVmYjgzZjIxYWNlOWU4MDdhNWIwZmYzMTI0YmM1M2Y4Mjc2Li5iODk4ZGRh
OTZmMTJiYmI4ZTFlODg0YTQ2MGViYWNkMDMzNmIwMGYwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3NyYy9XZWJQbHVnaW5Db250YWluZXJJbXBsLmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3NyYy9XZWJQbHVnaW5Db250YWluZXJJbXBsLmNwcApAQCAtMzMsNiAr
MzMsNyBAQAogCiAjaW5jbHVkZSAiQ2hyb21lLmgiCiAjaW5jbHVkZSAiQ2hyb21lQ2xpZW50SW1w
bC5oIgorI2luY2x1ZGUgIkNsaXBib2FyZENocm9taXVtLmgiCiAjaW5jbHVkZSAiU2Nyb2xsYmFy
R3JvdXAuaCIKICNpbmNsdWRlICJXZWJDdXJzb3JJbmZvLmgiCiAjaW5jbHVkZSAiV2ViRGF0YVNv
dXJjZUltcGwuaCIKQEAgLTczLDYgKzc0LDcgQEAKICNpbmNsdWRlIDxwdWJsaWMvUGxhdGZvcm0u
aD4KICNpbmNsdWRlIDxwdWJsaWMvV2ViQ2xpcGJvYXJkLmg+CiAjaW5jbHVkZSA8cHVibGljL1dl
YkNvbXBvc2l0b3JTdXBwb3J0Lmg+CisjaW5jbHVkZSA8cHVibGljL1dlYkRyYWdEYXRhLmg+CiAj
aW5jbHVkZSA8cHVibGljL1dlYkV4dGVybmFsVGV4dHVyZUxheWVyLmg+CiAjaW5jbHVkZSA8cHVi
bGljL1dlYlJlY3QuaD4KICNpbmNsdWRlIDxwdWJsaWMvV2ViU3RyaW5nLmg+CkBAIC02NTMsNiAr
NjU1LDExIEBAIHZvaWQgV2ViUGx1Z2luQ29udGFpbmVySW1wbDo6aGFuZGxlTW91c2VFdmVudChN
b3VzZUV2ZW50KiBldmVudCkKIHsKICAgICBBU1NFUlQocGFyZW50KCktPmlzRnJhbWVWaWV3KCkp
OwogCisgICAgaWYgKGV2ZW50LT5pc0RyYWdFdmVudCgpKSB7CisgICAgICAgIGhhbmRsZURyYWdF
dmVudChldmVudCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKICAgICAvLyBXZSBjYWNoZSB0
aGUgcGFyZW50IEZyYW1lVmlldyBoZXJlIGFzIHRoZSBwbHVnaW4gd2lkZ2V0IGNvdWxkIGJlIGRl
bGV0ZWQKICAgICAvLyBpbiB0aGUgY2FsbCB0byBIYW5kbGVFdmVudC4gU2VlIGh0dHA6Ly9iL2lz
c3VlP2lkPTEzNjI5NDgKICAgICBGcmFtZVZpZXcqIHBhcmVudFZpZXcgPSBzdGF0aWNfY2FzdDxG
cmFtZVZpZXcqPihwYXJlbnQoKSk7CkBAIC02OTYsNiArNzAzLDMwIEBAIHZvaWQgV2ViUGx1Z2lu
Q29udGFpbmVySW1wbDo6aGFuZGxlTW91c2VFdmVudChNb3VzZUV2ZW50KiBldmVudCkKICAgICBj
aHJvbWVDbGllbnQtPnNldEN1cnNvckZvclBsdWdpbihjdXJzb3JJbmZvKTsKIH0KIAordm9pZCBX
ZWJQbHVnaW5Db250YWluZXJJbXBsOjpoYW5kbGVEcmFnRXZlbnQoTW91c2VFdmVudCogZXZlbnQp
Cit7CisgICAgQVNTRVJUKGV2ZW50LT5pc0RyYWdFdmVudCgpKTsKKworICAgIFdlYkRyYWdTdGF0
dXMgZHJhZ1N0YXR1cyA9IFdlYkRyYWdTdGF0dXNVbmtub3duOworICAgIGlmIChldmVudC0+dHlw
ZSgpID09IGV2ZW50TmFtZXMoKS5kcmFnZW50ZXJFdmVudCkKKyAgICAgICAgZHJhZ1N0YXR1cyA9
IFdlYkRyYWdTdGF0dXNFbnRlcjsKKyAgICBlbHNlIGlmIChldmVudC0+dHlwZSgpID09IGV2ZW50
TmFtZXMoKS5kcmFnbGVhdmVFdmVudCkKKyAgICAgICAgZHJhZ1N0YXR1cyA9IFdlYkRyYWdTdGF0
dXNMZWF2ZTsKKyAgICBlbHNlIGlmIChldmVudC0+dHlwZSgpID09IGV2ZW50TmFtZXMoKS5kcmFn
b3ZlckV2ZW50KQorICAgICAgICBkcmFnU3RhdHVzID0gV2ViRHJhZ1N0YXR1c092ZXI7CisKKyAg
ICBpZiAoZHJhZ1N0YXR1cyA9PSBXZWJEcmFnU3RhdHVzVW5rbm93bikKKyAgICAgICAgcmV0dXJu
OworCisgICAgQ2xpcGJvYXJkQ2hyb21pdW0qIGNsaXBib2FyZCA9IHN0YXRpY19jYXN0PENsaXBi
b2FyZENocm9taXVtKj4oZXZlbnQtPmRhdGFUcmFuc2ZlcigpKTsKKyAgICBXZWJEcmFnRGF0YSBk
cmFnRGF0YSA9IGNsaXBib2FyZC0+ZGF0YU9iamVjdCgpOworICAgIFdlYkRyYWdPcGVyYXRpb25z
TWFzayBkcmFnT3BlcmF0aW9uTWFzayA9IHN0YXRpY19jYXN0PFdlYkRyYWdPcGVyYXRpb25zTWFz
az4oY2xpcGJvYXJkLT5zb3VyY2VPcGVyYXRpb24oKSk7CisgICAgV2ViUG9pbnQgZHJhZ1NjcmVl
bkxvY2F0aW9uKGV2ZW50LT5zY3JlZW5YKCksIGV2ZW50LT5zY3JlZW5ZKCkpOworICAgIFdlYlBv
aW50IGRyYWdMb2NhdGlvbihldmVudC0+YWJzb2x1dGVMb2NhdGlvbigpLngoKSAtIGxvY2F0aW9u
KCkueCgpLCBldmVudC0+YWJzb2x1dGVMb2NhdGlvbigpLnkoKSAtIGxvY2F0aW9uKCkueSgpKTsK
KworICAgIG1fd2ViUGx1Z2luLT5oYW5kbGVEcmFnU3RhdHVzVXBkYXRlKGRyYWdTdGF0dXMsIGRy
YWdEYXRhLCBkcmFnT3BlcmF0aW9uTWFzaywgZHJhZ0xvY2F0aW9uLCBkcmFnU2NyZWVuTG9jYXRp
b24pOworfQorCiB2b2lkIFdlYlBsdWdpbkNvbnRhaW5lckltcGw6OmhhbmRsZVdoZWVsRXZlbnQo
V2hlZWxFdmVudCogZXZlbnQpCiB7CiAgICAgV2ViTW91c2VXaGVlbEV2ZW50QnVpbGRlciB3ZWJF
dmVudCh0aGlzLCAqZXZlbnQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9z
cmMvV2ViUGx1Z2luQ29udGFpbmVySW1wbC5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMv
V2ViUGx1Z2luQ29udGFpbmVySW1wbC5oCmluZGV4IGUyMDNhNzM3MDE5MDMxZjA0YWQ4MTI3OTMx
MzU4ZjZhODgwODg5MzguLmU4OWFmMDk4Nzk2YWY4MjUzNTFkZWM5ZGUzNzk1NmI0ZjE1MWZhYmUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlBsdWdpbkNvbnRhaW5l
ckltcGwuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJQbHVnaW5Db250YWlu
ZXJJbXBsLmgKQEAgLTE2NSw2ICsxNjUsNyBAQCBwcml2YXRlOgogICAgIH5XZWJQbHVnaW5Db250
YWluZXJJbXBsKCk7CiAKICAgICB2b2lkIGhhbmRsZU1vdXNlRXZlbnQoV2ViQ29yZTo6TW91c2VF
dmVudCopOworICAgIHZvaWQgaGFuZGxlRHJhZ0V2ZW50KFdlYkNvcmU6Ok1vdXNlRXZlbnQqKTsK
ICAgICB2b2lkIGhhbmRsZVdoZWVsRXZlbnQoV2ViQ29yZTo6V2hlZWxFdmVudCopOwogICAgIHZv
aWQgaGFuZGxlS2V5Ym9hcmRFdmVudChXZWJDb3JlOjpLZXlib2FyZEV2ZW50Kik7CiAgICAgdm9p
ZCBoYW5kbGVUb3VjaEV2ZW50KFdlYkNvcmU6OlRvdWNoRXZlbnQqKTsKZGlmZiAtLWdpdCBhL1Rv
b2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBhZDFhNzg3NmU0Y2Y1YmM1Mjg4
M2UwMzllYzlhMmE1MzMxOTBmNWNkLi43ZjRmMGE0YzQ0MzA4Nzg0N2E1NmY3NGM0ODU4NzEyNjQ3
Y2JlNDM0IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMTcgQEAKKzIwMTItMTAtMDMgIFNhZHJ1bCBIYWJpYiBDaG93ZGh1cnkgIDxz
YWRydWxAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtjaHJvbWl1bV0gQWxsb3cgZHJhZ2dpbmcg
aW50byBwbHVnaW5zLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9OTgyNzcKKworICAgICAgICBSZXZpZXdlZCBieSBUb255IENoYW5nLgorCisgICAgICAg
IFVwZGF0ZSB0aGUgVGVzdFdlYlBsdWdpbiB0byByZWNlaXZlIGRyYWcgZXZlbnRzIGFuZCBwcmlu
dCB0aGVtIG91dC4KKworICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RXZWJQ
bHVnaW4uY3BwOgorICAgICAgICAoVGVzdFdlYlBsdWdpbjo6aGFuZGxlRHJhZ1N0YXR1c1VwZGF0
ZSk6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdFdlYlBsdWdpbi5oOgor
ICAgICAgICAoVGVzdFdlYlBsdWdpbik6CisKIDIwMTItMTAtMDMgIEJhbGF6cyBLZWxlbWVuICA8
a2JhbGF6c0B3ZWJraXQub3JnPgogCiAgICAgICAgIFtRdF0gRW5hYmxlIG1vY2sgc2Nyb2xsYmFy
cwpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVzdFdlYlBsdWdp
bi5jcHAgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0V2ViUGx1Z2luLmNwcApp
bmRleCBlOTVjMGU0YjU1MmY1ZTRlODA0NzU2ZGIwYjIxZmY2MWFiNzQ2OGY0Li43MTE5MmIzYTUx
ZmM4NmRmZDMxMjVlMmQzZTQyZGEyMTg5ZTYzMTYzIDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVu
ZGVyVHJlZS9jaHJvbWl1bS9UZXN0V2ViUGx1Z2luLmNwcAorKysgYi9Ub29scy9EdW1wUmVuZGVy
VHJlZS9jaHJvbWl1bS9UZXN0V2ViUGx1Z2luLmNwcApAQCAtNDYzLDMgKzQ2MywyMyBAQCBib29s
IFRlc3RXZWJQbHVnaW46OmhhbmRsZUlucHV0RXZlbnQoY29uc3QgV2ViS2l0OjpXZWJJbnB1dEV2
ZW50JiBldmVudCwgV2ViS2l0OgogICAgIHJldHVybiBmYWxzZTsKIH0KIAorYm9vbCBUZXN0V2Vi
UGx1Z2luOjpoYW5kbGVEcmFnU3RhdHVzVXBkYXRlKFdlYktpdDo6V2ViRHJhZ1N0YXR1cyBkcmFn
U3RhdHVzLCBjb25zdCBXZWJLaXQ6OldlYkRyYWdEYXRhJiwgV2ViS2l0OjpXZWJEcmFnT3BlcmF0
aW9uc01hc2ssIGNvbnN0IFdlYktpdDo6V2ViUG9pbnQmIHBvc2l0aW9uLCBjb25zdCBXZWJLaXQ6
OldlYlBvaW50JiBzY3JlZW5Qb3NpdGlvbikKK3sKKyAgICBjb25zdCBjaGFyKiBkcmFnU3RhdHVz
TmFtZSA9IDA7CisgICAgc3dpdGNoIChkcmFnU3RhdHVzKSB7CisgICAgY2FzZSBXZWJLaXQ6Oldl
YkRyYWdTdGF0dXNFbnRlcjoKKyAgICAgICAgZHJhZ1N0YXR1c05hbWUgPSAiRHJhZ0VudGVyIjsK
KyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBXZWJLaXQ6OldlYkRyYWdTdGF0dXNPdmVyOgorICAg
ICAgICBkcmFnU3RhdHVzTmFtZSA9ICJEcmFnT3ZlciI7CisgICAgICAgIGJyZWFrOworICAgIGNh
c2UgV2ViS2l0OjpXZWJEcmFnU3RhdHVzTGVhdmU6CisgICAgICAgIGRyYWdTdGF0dXNOYW1lID0g
IkRyYWdMZWF2ZSI7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgV2ViS2l0OjpXZWJEcmFnU3Rh
dHVzVW5rbm93bjoKKyAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgfQorICAgIHBy
aW50ZigiUGx1Z2luIHJlY2VpdmVkIGV2ZW50OiAlc1xuIiwgZHJhZ1N0YXR1c05hbWUpOworICAg
IHJldHVybiBmYWxzZTsKK30KKwpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hy
b21pdW0vVGVzdFdlYlBsdWdpbi5oIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vVGVz
dFdlYlBsdWdpbi5oCmluZGV4IDJlMTE4ODY5YjA5N2E4YmQyMjhmMWUyMGJkMzg3YTY0YTVmM2Iw
MDQuLmFhNjUzM2UzMmM2MTI2OTQ1OTE2N2VhYzA1ZGZhZjg5ZDExZTcyMzcgMTAwNjQ0Ci0tLSBh
L1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RXZWJQbHVnaW4uaAorKysgYi9Ub29s
cy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0V2ViUGx1Z2luLmgKQEAgLTY1LDYgKzY1LDcg
QEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCB1cGRhdGVWaXNpYmlsaXR5KGJvb2wpIHsgfQog
ICAgIHZpcnR1YWwgYm9vbCBhY2NlcHRzSW5wdXRFdmVudHMoKSB7IHJldHVybiB0cnVlOyB9CiAg
ICAgdmlydHVhbCBib29sIGhhbmRsZUlucHV0RXZlbnQoY29uc3QgV2ViS2l0OjpXZWJJbnB1dEV2
ZW50JiwgV2ViS2l0OjpXZWJDdXJzb3JJbmZvJik7CisgICAgdmlydHVhbCBib29sIGhhbmRsZURy
YWdTdGF0dXNVcGRhdGUoV2ViS2l0OjpXZWJEcmFnU3RhdHVzLCBjb25zdCBXZWJLaXQ6OldlYkRy
YWdEYXRhJiwgV2ViS2l0OjpXZWJEcmFnT3BlcmF0aW9uc01hc2ssIGNvbnN0IFdlYktpdDo6V2Vi
UG9pbnQmIHBvc2l0aW9uLCBjb25zdCBXZWJLaXQ6OldlYlBvaW50JiBzY3JlZW5Qb3NpdGlvbik7
CiAgICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVSZXNwb25zZShjb25zdCBXZWJLaXQ6OldlYlVS
TFJlc3BvbnNlJikgeyB9CiAgICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVEYXRhKGNvbnN0IGNo
YXIqIGRhdGEsIGludCBkYXRhTGVuZ3RoKSB7IH0KICAgICB2aXJ0dWFsIHZvaWQgZGlkRmluaXNo
TG9hZGluZygpIHsgfQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGQzMWY2Yzk2Y2ZjZjk3OGUzOWRkNmM1MzJhOWNmNDdkM2Vk
MDQ4OTguLmRkMWE5YjQyOGRkNThhMzFmYzE4OWMzNmE5YjM0NzNiOWY4ZTVjNGYgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwxNSBAQAorMjAxMi0xMC0wMyAgU2FkcnVsIEhhYmliIENob3dkaHVyeSAgPHNhZHJ1
bEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgW2Nocm9taXVtXSBBbGxvdyBkcmFnZ2luZyBpbnRv
IHBsdWdpbnMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD05ODI3NworCisgICAgICAgIFJldmlld2VkIGJ5IFRvbnkgQ2hhbmcuCisKKyAgICAgICAgQWRk
IHRlc3QgdG8gbWFrZSBzdXJlIHRoYXQgcGx1Z2lucyByZWNlaXZlIHRoZSBkcmFnIGV2ZW50cyBj
b3JyZWN0bHkuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9wbHVnaW5zL2RyYWctZXZl
bnRzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vcGx1
Z2lucy9kcmFnLWV2ZW50cy5odG1sOiBBZGRlZC4KKwogMjAxMi0xMC0wMyAgQW5kcmV5IEtvc3lh
a292ICA8Y2FzZXFAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQgZ2FyZGVuaW5n
IC0tIGFkZGVkIGV4cGVjdGF0aW9ucyBmb3IgMyB0aW1lLXN1Z2dlc3Rpb24tcGlja2VyLWFwcGVh
cmFuY2UgdGVzdHMuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9w
bHVnaW5zL2RyYWctZXZlbnRzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2No
cm9taXVtL3BsdWdpbnMvZHJhZy1ldmVudHMtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjFiNDY5
NTFjNWM5ZDhmYTMyN2Q1ZTIyYTQ5ZWU5Yzk5YmVjODZkOWEKLS0tIC9kZXYvbnVsbAorKysgYi9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9wbHVnaW5zL2RyYWctZXZlbnRzLWV4cGVjdGVk
LnR4dApAQCAtMCwwICsxLDcgQEAKK1BsdWdpbiByZWNlaXZlZCBldmVudDogTW91c2VFbnRlcgor
UGx1Z2luIHJlY2VpdmVkIGV2ZW50OiBNb3VzZU1vdmUKK1BsdWdpbiByZWNlaXZlZCBldmVudDog
RHJhZ0VudGVyCitQbHVnaW4gcmVjZWl2ZWQgZXZlbnQ6IERyYWdPdmVyCitQbHVnaW4gcmVjZWl2
ZWQgZXZlbnQ6IERyYWdMZWF2ZQorCitTb21lIHRleHQgdG8gZHJhZwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vcGx1Z2lucy9kcmFnLWV2ZW50cy5odG1sIGIvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vcGx1Z2lucy9kcmFnLWV2ZW50cy5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmRlMDFhMTBmOThkZTAyYmYwNWQ3MzRjMGEwNGU4OGI4NzdhNTU5MDgKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9wbHVnaW5zL2RyYWctZXZl
bnRzLmh0bWwKQEAgLTAsMCArMSw0NSBAQAorPGh0bWw+Cis8aGVhZD4KKzxzdHlsZT4KKyAgI3Bs
dWdpbiB7CisgICAgd2lkdGg6IDE1MHB4OworICAgIGhlaWdodDogMTUwcHg7CisgIH0KKzwvc3R5
bGU+Cis8L2hlYWQ+CisKKzxib2R5IG9ubG9hZD0idGVzdCgpOyI+Cis8ZW1iZWQgaWQ9InBsdWdp
biIgdHlwZT0iYXBwbGljYXRpb24veC13ZWJraXQtdGVzdC13ZWJwbHVnaW4iPjwvZW1iZWQ+Cis8
ZGl2IGNvbnRlbnRlZGl0YWJsZSBpZD0ndGV4dCc+PHNwYW4+U29tZSB0ZXh0IHRvIGRyYWc8L3Nw
YW4+PC9kaXY+Cis8c2NyaXB0PgorCitmdW5jdGlvbiB0ZXN0KCkgeworICAgIGlmICghd2luZG93
LnRlc3RSdW5uZXIgfHwgIXdpbmRvdy5ldmVudFNlbmRlcikgeworICAgICAgICBkb2N1bWVudC53
cml0ZSgiVGhpcyB0ZXN0IGRvZXMgbm90IHdvcmsgaW4gbWFudWFsIG1vZGUuIik7CisgICAgfSBl
bHNlIHsKKyAgICAgICAgdGVzdFJ1bm5lci5kdW1wQXNUZXh0KCk7CisKKyAgICAgICAgdmFyIGRp
diA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0ZXh0Jyk7CisgICAgICAgIGRpdi5mb2N1cygp
OworICAgICAgICBnZXRTZWxlY3Rpb24oKS5jb2xsYXBzZShkaXYsIDApOworICAgICAgICBnZXRT
ZWxlY3Rpb24oKS5tb2RpZnkoJ2V4dGVuZCcsICdmb3J3YXJkJywgJ3dvcmQnKTsKKworICAgICAg
ICB2YXIgcG9zaXRpb25YID0gcGx1Z2luLm9mZnNldExlZnQgKyAxMDsKKyAgICAgICAgdmFyIHBv
c2l0aW9uWSA9IHBsdWdpbi5vZmZzZXRUb3AgKyAxMDsKKworICAgICAgICB2YXIgc3RhcnRYID0g
ZGl2Lm9mZnNldExlZnQgKyBkaXYuZmlyc3RDaGlsZC5vZmZzZXRXaWR0aCAvIDU7CisgICAgICAg
IHZhciBzdGFydFkgPSBkaXYub2Zmc2V0VG9wICsgZGl2Lm9mZnNldEhlaWdodCAvIDI7OworCisg
ICAgICAgIGV2ZW50U2VuZGVyLmRyYWdNb2RlID0gdHJ1ZTsKKyAgICAgICAgZXZlbnRTZW5kZXIu
bW91c2VNb3ZlVG8oc3RhcnRYLCBzdGFydFkpOworICAgICAgICBldmVudFNlbmRlci5tb3VzZURv
d24oKTsKKyAgICAgICAgZXZlbnRTZW5kZXIubGVhcEZvcndhcmQoMjUwKTsKKyAgICAgICAgZXZl
bnRTZW5kZXIubW91c2VNb3ZlVG8ocG9zaXRpb25YLCBwb3NpdGlvblkpOworICAgICAgICBldmVu
dFNlbmRlci5tb3VzZU1vdmVUbyhwb3NpdGlvblggKyAyLCBwb3NpdGlvblkpOworICAgICAgICBl
dmVudFNlbmRlci5tb3VzZU1vdmVUbyhzdGFydFgsIHN0YXJ0WSk7CisgICAgICAgIGV2ZW50U2Vu
ZGVyLm1vdXNlVXAoKTsKKyAgICB9Cit9Cis8L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
</data>
<flag name="review"
          id="179756"
          type_id="1"
          status="+"
          setter="tony"
    />
    <flag name="commit-queue"
          id="179757"
          type_id="3"
          status="-"
          setter="webkit.review.bot"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>167219</attachid>
            <date>2012-10-04 18:44:30 -0700</date>
            <delta_ts>2012-10-05 07:42:14 -0700</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-98277-20121004214339.patch</filename>
            <type>text/plain</type>
            <size>13457</size>
            <attacher name="Sadrul Habib Chowdhury">sadrul</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMwMzkxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4
IGEwZGYwMDYwY2Y2OGRlNDBiYWE3MjM1NGYyMjRmZjc4NWZhNmM5MDguLjY3YzBmMDRjZDMwYWE0
NWNmMGI5NTIyNmY5NWIyNmYyY2Y3MjdmMmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMjUgQEAKKzIwMTItMTAtMDUgIFNhZHJ1bCBIYWJpYiBDaG93ZGh1cnkgIDxzYWRy
dWxAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFtjaHJvbWl1bV0gQWxsb3cgZHJhZ2dpbmcgaW50
byBwbHVnaW5zLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9OTgyNzcKKworICAgICAgICBSZXZpZXdlZCBieSBUb255IENoYW5nLgorCisgICAgICAgIEFs
bG93IHBsdWdpbnMgdG8gcmVjZWl2ZSBkcmFnIGV2ZW50cy4gVGhpcyB3aWxsIG1ha2UgaXQgcG9z
c2libGUgdG8KKyAgICAgICAgcGVyZm9ybSBkcmFnLW4tZHJvcCBpbnRvIGJyb3dzZXIgcGx1Z2lu
cyAoYW5kIG90aGVyIHBsdWdpbnMgaWYgZGVzaXJlZCkuCisKKyAgICAgICAgKiBwdWJsaWMvV2Vi
RHJhZ1N0YXR1cy5oOiBBZGRlZC4KKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgICogcHVibGlj
L1dlYlBsdWdpbi5oOgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKFdlYlBsdWdpbik6Cisg
ICAgICAgICogc3JjL1dlYlBsdWdpbkNvbnRhaW5lckltcGwuY3BwOgorICAgICAgICAoV2ViS2l0
OjpXZWJQbHVnaW5Db250YWluZXJJbXBsOjpoYW5kbGVNb3VzZUV2ZW50KToKKyAgICAgICAgKFdl
YktpdDo6V2ViUGx1Z2luQ29udGFpbmVySW1wbDo6aGFuZGxlRHJhZ0V2ZW50KToKKyAgICAgICAg
KFdlYktpdCk6CisgICAgICAgICogc3JjL1dlYlBsdWdpbkNvbnRhaW5lckltcGwuaDoKKyAgICAg
ICAgKFdlYlBsdWdpbkNvbnRhaW5lckltcGwpOgorCiAyMDEyLTEwLTA1ICBLZW50IFRhbXVyYSAg
PHRrZW50QGNocm9taXVtLm9yZz4KIAogICAgICAgICBbQ2hyb21pdW1dIEVuYWJsZSB0aGUgbXVs
dGlwbGUgZmllbGRzIFVJIGZvciBpbnB1dFt0eXBlPWRhdGVdCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJEcmFnU3RhdHVzLmggYi9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3B1YmxpYy9XZWJEcmFnU3RhdHVzLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWM2NDcyMjc0ODlkNjcw
YzQwMWMzNjBkMzBjYWVlMDg0YzY0ZmM3MAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vcHVibGljL1dlYkRyYWdTdGF0dXMuaApAQCAtMCwwICsxLDQ1IEBACisvKgor
KiBDb3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyoK
KyogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyogbWV0OgorKgorKiAgICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
KiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUKKyogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisqIGRpc3RyaWJ1dGlvbi4K
KyogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhlIG5hbWVzIG9m
IGl0cworKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHBy
b2R1Y3RzIGRlcml2ZWQgZnJvbQorKiB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJp
b3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorKgorKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisqICJBUyBJUyIgQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisqIExJ
TUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUgorKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyogU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorKiBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwKKyogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyogKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
CisqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisqLworCisjaWZuZGVmIFdlYkRyYWdTdGF0dXNfaAorI2RlZmluZSBX
ZWJEcmFnU3RhdHVzX2gKKworbmFtZXNwYWNlIFdlYktpdCB7CisKK2VudW0gV2ViRHJhZ1N0YXR1
cyB7CisgICAgV2ViRHJhZ1N0YXR1c1Vua25vd24gPSAwLAorICAgIFdlYkRyYWdTdGF0dXNFbnRl
ciwKKyAgICBXZWJEcmFnU3RhdHVzT3ZlciwKKyAgICBXZWJEcmFnU3RhdHVzTGVhdmUKK307CisK
K30gLy8gbmFtZXNwYWNlIFdlYktpdAorCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vcHVibGljL1dlYlBsdWdpbi5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9w
dWJsaWMvV2ViUGx1Z2luLmgKaW5kZXggOGFiYWYzYmZlMGY5MzVjOTJiMDhiYmMwYTA2YzlhOWU3
NDMwMWFhNy4uYzcyZmZmMzI1OWRmYmM5MjNlYWE3NzFmNjc5NmUzZmYxOTRkNDlhMyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViUGx1Z2luLmgKKysrIGIvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViUGx1Z2luLmgKQEAgLTMxLDYgKzMxLDggQEAK
ICNpZm5kZWYgV2ViUGx1Z2luX2gKICNkZWZpbmUgV2ViUGx1Z2luX2gKIAorI2luY2x1ZGUgIldl
YkRyYWdPcGVyYXRpb24uaCIKKyNpbmNsdWRlICJXZWJEcmFnU3RhdHVzLmgiCiAjaW5jbHVkZSAi
cGxhdGZvcm0vV2ViQ2FudmFzLmgiCiAjaW5jbHVkZSAicGxhdGZvcm0vV2ViU3RyaW5nLmgiCiAj
aW5jbHVkZSAicGxhdGZvcm0vV2ViVVJMLmgiCkBAIC00MCw2ICs0Miw3IEBAIHN0cnVjdCBOUE9i
amVjdDsKIG5hbWVzcGFjZSBXZWJLaXQgewogCiBjbGFzcyBXZWJEYXRhU291cmNlOworY2xhc3Mg
V2ViRHJhZ0RhdGE7CiBjbGFzcyBXZWJGcmFtZTsKIGNsYXNzIFdlYklucHV0RXZlbnQ7CiBjbGFz
cyBXZWJQbHVnaW5Db250YWluZXI7CkBAIC04MCw2ICs4Myw4IEBAIHB1YmxpYzoKICAgICB2aXJ0
dWFsIGJvb2wgYWNjZXB0c0lucHV0RXZlbnRzKCkgPSAwOwogICAgIHZpcnR1YWwgYm9vbCBoYW5k
bGVJbnB1dEV2ZW50KGNvbnN0IFdlYklucHV0RXZlbnQmLCBXZWJDdXJzb3JJbmZvJikgPSAwOwog
CisgICAgdmlydHVhbCBib29sIGhhbmRsZURyYWdTdGF0dXNVcGRhdGUoV2ViRHJhZ1N0YXR1cywg
Y29uc3QgV2ViRHJhZ0RhdGEmLCBXZWJEcmFnT3BlcmF0aW9uc01hc2ssIGNvbnN0IFdlYlBvaW50
JiBwb3NpdGlvbiwgY29uc3QgV2ViUG9pbnQmIHNjcmVlblBvc2l0aW9uKSB7IHJldHVybiBmYWxz
ZTsgfQorCiAgICAgdmlydHVhbCB2b2lkIGRpZFJlY2VpdmVSZXNwb25zZShjb25zdCBXZWJVUkxS
ZXNwb25zZSYpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZURhdGEoY29uc3QgY2hh
ciogZGF0YSwgaW50IGRhdGFMZW5ndGgpID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgZGlkRmluaXNo
TG9hZGluZygpID0gMDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dl
YlBsdWdpbkNvbnRhaW5lckltcGwuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2Vi
UGx1Z2luQ29udGFpbmVySW1wbC5jcHAKaW5kZXggZTNjNGJlZmI4M2YyMWFjZTllODA3YTViMGZm
MzEyNGJjNTNmODI3Ni4uYjg5OGRkYTk2ZjEyYmJiOGUxZTg4NGE0NjBlYmFjZDAzMzZiMDBmMCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViUGx1Z2luQ29udGFpbmVy
SW1wbC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViUGx1Z2luQ29udGFp
bmVySW1wbC5jcHAKQEAgLTMzLDYgKzMzLDcgQEAKIAogI2luY2x1ZGUgIkNocm9tZS5oIgogI2lu
Y2x1ZGUgIkNocm9tZUNsaWVudEltcGwuaCIKKyNpbmNsdWRlICJDbGlwYm9hcmRDaHJvbWl1bS5o
IgogI2luY2x1ZGUgIlNjcm9sbGJhckdyb3VwLmgiCiAjaW5jbHVkZSAiV2ViQ3Vyc29ySW5mby5o
IgogI2luY2x1ZGUgIldlYkRhdGFTb3VyY2VJbXBsLmgiCkBAIC03Myw2ICs3NCw3IEBACiAjaW5j
bHVkZSA8cHVibGljL1BsYXRmb3JtLmg+CiAjaW5jbHVkZSA8cHVibGljL1dlYkNsaXBib2FyZC5o
PgogI2luY2x1ZGUgPHB1YmxpYy9XZWJDb21wb3NpdG9yU3VwcG9ydC5oPgorI2luY2x1ZGUgPHB1
YmxpYy9XZWJEcmFnRGF0YS5oPgogI2luY2x1ZGUgPHB1YmxpYy9XZWJFeHRlcm5hbFRleHR1cmVM
YXllci5oPgogI2luY2x1ZGUgPHB1YmxpYy9XZWJSZWN0Lmg+CiAjaW5jbHVkZSA8cHVibGljL1dl
YlN0cmluZy5oPgpAQCAtNjUzLDYgKzY1NSwxMSBAQCB2b2lkIFdlYlBsdWdpbkNvbnRhaW5lcklt
cGw6OmhhbmRsZU1vdXNlRXZlbnQoTW91c2VFdmVudCogZXZlbnQpCiB7CiAgICAgQVNTRVJUKHBh
cmVudCgpLT5pc0ZyYW1lVmlldygpKTsKIAorICAgIGlmIChldmVudC0+aXNEcmFnRXZlbnQoKSkg
eworICAgICAgICBoYW5kbGVEcmFnRXZlbnQoZXZlbnQpOworICAgICAgICByZXR1cm47CisgICAg
fQorCiAgICAgLy8gV2UgY2FjaGUgdGhlIHBhcmVudCBGcmFtZVZpZXcgaGVyZSBhcyB0aGUgcGx1
Z2luIHdpZGdldCBjb3VsZCBiZSBkZWxldGVkCiAgICAgLy8gaW4gdGhlIGNhbGwgdG8gSGFuZGxl
RXZlbnQuIFNlZSBodHRwOi8vYi9pc3N1ZT9pZD0xMzYyOTQ4CiAgICAgRnJhbWVWaWV3KiBwYXJl
bnRWaWV3ID0gc3RhdGljX2Nhc3Q8RnJhbWVWaWV3Kj4ocGFyZW50KCkpOwpAQCAtNjk2LDYgKzcw
MywzMCBAQCB2b2lkIFdlYlBsdWdpbkNvbnRhaW5lckltcGw6OmhhbmRsZU1vdXNlRXZlbnQoTW91
c2VFdmVudCogZXZlbnQpCiAgICAgY2hyb21lQ2xpZW50LT5zZXRDdXJzb3JGb3JQbHVnaW4oY3Vy
c29ySW5mbyk7CiB9CiAKK3ZvaWQgV2ViUGx1Z2luQ29udGFpbmVySW1wbDo6aGFuZGxlRHJhZ0V2
ZW50KE1vdXNlRXZlbnQqIGV2ZW50KQoreworICAgIEFTU0VSVChldmVudC0+aXNEcmFnRXZlbnQo
KSk7CisKKyAgICBXZWJEcmFnU3RhdHVzIGRyYWdTdGF0dXMgPSBXZWJEcmFnU3RhdHVzVW5rbm93
bjsKKyAgICBpZiAoZXZlbnQtPnR5cGUoKSA9PSBldmVudE5hbWVzKCkuZHJhZ2VudGVyRXZlbnQp
CisgICAgICAgIGRyYWdTdGF0dXMgPSBXZWJEcmFnU3RhdHVzRW50ZXI7CisgICAgZWxzZSBpZiAo
ZXZlbnQtPnR5cGUoKSA9PSBldmVudE5hbWVzKCkuZHJhZ2xlYXZlRXZlbnQpCisgICAgICAgIGRy
YWdTdGF0dXMgPSBXZWJEcmFnU3RhdHVzTGVhdmU7CisgICAgZWxzZSBpZiAoZXZlbnQtPnR5cGUo
KSA9PSBldmVudE5hbWVzKCkuZHJhZ292ZXJFdmVudCkKKyAgICAgICAgZHJhZ1N0YXR1cyA9IFdl
YkRyYWdTdGF0dXNPdmVyOworCisgICAgaWYgKGRyYWdTdGF0dXMgPT0gV2ViRHJhZ1N0YXR1c1Vu
a25vd24pCisgICAgICAgIHJldHVybjsKKworICAgIENsaXBib2FyZENocm9taXVtKiBjbGlwYm9h
cmQgPSBzdGF0aWNfY2FzdDxDbGlwYm9hcmRDaHJvbWl1bSo+KGV2ZW50LT5kYXRhVHJhbnNmZXIo
KSk7CisgICAgV2ViRHJhZ0RhdGEgZHJhZ0RhdGEgPSBjbGlwYm9hcmQtPmRhdGFPYmplY3QoKTsK
KyAgICBXZWJEcmFnT3BlcmF0aW9uc01hc2sgZHJhZ09wZXJhdGlvbk1hc2sgPSBzdGF0aWNfY2Fz
dDxXZWJEcmFnT3BlcmF0aW9uc01hc2s+KGNsaXBib2FyZC0+c291cmNlT3BlcmF0aW9uKCkpOwor
ICAgIFdlYlBvaW50IGRyYWdTY3JlZW5Mb2NhdGlvbihldmVudC0+c2NyZWVuWCgpLCBldmVudC0+
c2NyZWVuWSgpKTsKKyAgICBXZWJQb2ludCBkcmFnTG9jYXRpb24oZXZlbnQtPmFic29sdXRlTG9j
YXRpb24oKS54KCkgLSBsb2NhdGlvbigpLngoKSwgZXZlbnQtPmFic29sdXRlTG9jYXRpb24oKS55
KCkgLSBsb2NhdGlvbigpLnkoKSk7CisKKyAgICBtX3dlYlBsdWdpbi0+aGFuZGxlRHJhZ1N0YXR1
c1VwZGF0ZShkcmFnU3RhdHVzLCBkcmFnRGF0YSwgZHJhZ09wZXJhdGlvbk1hc2ssIGRyYWdMb2Nh
dGlvbiwgZHJhZ1NjcmVlbkxvY2F0aW9uKTsKK30KKwogdm9pZCBXZWJQbHVnaW5Db250YWluZXJJ
bXBsOjpoYW5kbGVXaGVlbEV2ZW50KFdoZWVsRXZlbnQqIGV2ZW50KQogewogICAgIFdlYk1vdXNl
V2hlZWxFdmVudEJ1aWxkZXIgd2ViRXZlbnQodGhpcywgKmV2ZW50KTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlBsdWdpbkNvbnRhaW5lckltcGwuaCBiL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYlBsdWdpbkNvbnRhaW5lckltcGwuaAppbmRleCBlMjAz
YTczNzAxOTAzMWYwNGFkODEyNzkzMTM1OGY2YTg4MDg4OTM4Li5lODlhZjA5ODc5NmFmODI1MzUx
ZGVjOWRlMzc5NTZiNGYxNTFmYWJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L3NyYy9XZWJQbHVnaW5Db250YWluZXJJbXBsLmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9zcmMvV2ViUGx1Z2luQ29udGFpbmVySW1wbC5oCkBAIC0xNjUsNiArMTY1LDcgQEAgcHJpdmF0
ZToKICAgICB+V2ViUGx1Z2luQ29udGFpbmVySW1wbCgpOwogCiAgICAgdm9pZCBoYW5kbGVNb3Vz
ZUV2ZW50KFdlYkNvcmU6Ok1vdXNlRXZlbnQqKTsKKyAgICB2b2lkIGhhbmRsZURyYWdFdmVudChX
ZWJDb3JlOjpNb3VzZUV2ZW50Kik7CiAgICAgdm9pZCBoYW5kbGVXaGVlbEV2ZW50KFdlYkNvcmU6
OldoZWVsRXZlbnQqKTsKICAgICB2b2lkIGhhbmRsZUtleWJvYXJkRXZlbnQoV2ViQ29yZTo6S2V5
Ym9hcmRFdmVudCopOwogICAgIHZvaWQgaGFuZGxlVG91Y2hFdmVudChXZWJDb3JlOjpUb3VjaEV2
ZW50Kik7CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5k
ZXggZjJiMDU5Zjk3YmY3M2ZmYWVkMjFhNWZlYTJkOGI4YjIyNjdjNmRmNC4uOWE3OGJjNDAyY2Uz
NTRiOTFhM2RlNWE0MmYwZTgyY2NmOTFkNjZlZSAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9n
CisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDEyLTEwLTA1ICBTYWRy
dWwgSGFiaWIgQ2hvd2RodXJ5ICA8c2FkcnVsQGNocm9taXVtLm9yZz4KKworICAgICAgICBbY2hy
b21pdW1dIEFsbG93IGRyYWdnaW5nIGludG8gcGx1Z2lucy4KKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk4Mjc3CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
VG9ueSBDaGFuZy4KKworICAgICAgICBVcGRhdGUgdGhlIFRlc3RXZWJQbHVnaW4gdG8gcmVjZWl2
ZSBkcmFnIGV2ZW50cyBhbmQgcHJpbnQgdGhlbSBvdXQuCisKKyAgICAgICAgKiBEdW1wUmVuZGVy
VHJlZS9jaHJvbWl1bS9UZXN0V2ViUGx1Z2luLmNwcDoKKyAgICAgICAgKFRlc3RXZWJQbHVnaW46
OmhhbmRsZURyYWdTdGF0dXNVcGRhdGUpOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2Nocm9t
aXVtL1Rlc3RXZWJQbHVnaW4uaDoKKyAgICAgICAgKFRlc3RXZWJQbHVnaW4pOgorCiAyMDEyLTEw
LTA0ICBDaHJpc3RvcGhlIER1bWV6ICA8Y2hyaXN0b3BoZS5kdW1lekBpbnRlbC5jb20+CiAKICAg
ICAgICAgW0VGTF0gUnVuIHVuaXQgdGVzdHMgd2l0aCBYdmZiCmRpZmYgLS1naXQgYS9Ub29scy9E
dW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0V2ViUGx1Z2luLmNwcCBiL1Rvb2xzL0R1bXBSZW5k
ZXJUcmVlL2Nocm9taXVtL1Rlc3RXZWJQbHVnaW4uY3BwCmluZGV4IGU5NWMwZTRiNTUyZjVlNGU4
MDQ3NTZkYjBiMjFmZjYxYWI3NDY4ZjQuLjcxMTkyYjNhNTFmYzg2ZGZkMzEyNWUyZDNlNDJkYTIx
ODllNjMxNjMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RX
ZWJQbHVnaW4uY3BwCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL1Rlc3RXZWJQ
bHVnaW4uY3BwCkBAIC00NjMsMyArNDYzLDIzIEBAIGJvb2wgVGVzdFdlYlBsdWdpbjo6aGFuZGxl
SW5wdXRFdmVudChjb25zdCBXZWJLaXQ6OldlYklucHV0RXZlbnQmIGV2ZW50LCBXZWJLaXQ6CiAg
ICAgcmV0dXJuIGZhbHNlOwogfQogCitib29sIFRlc3RXZWJQbHVnaW46OmhhbmRsZURyYWdTdGF0
dXNVcGRhdGUoV2ViS2l0OjpXZWJEcmFnU3RhdHVzIGRyYWdTdGF0dXMsIGNvbnN0IFdlYktpdDo6
V2ViRHJhZ0RhdGEmLCBXZWJLaXQ6OldlYkRyYWdPcGVyYXRpb25zTWFzaywgY29uc3QgV2ViS2l0
OjpXZWJQb2ludCYgcG9zaXRpb24sIGNvbnN0IFdlYktpdDo6V2ViUG9pbnQmIHNjcmVlblBvc2l0
aW9uKQoreworICAgIGNvbnN0IGNoYXIqIGRyYWdTdGF0dXNOYW1lID0gMDsKKyAgICBzd2l0Y2gg
KGRyYWdTdGF0dXMpIHsKKyAgICBjYXNlIFdlYktpdDo6V2ViRHJhZ1N0YXR1c0VudGVyOgorICAg
ICAgICBkcmFnU3RhdHVzTmFtZSA9ICJEcmFnRW50ZXIiOworICAgICAgICBicmVhazsKKyAgICBj
YXNlIFdlYktpdDo6V2ViRHJhZ1N0YXR1c092ZXI6CisgICAgICAgIGRyYWdTdGF0dXNOYW1lID0g
IkRyYWdPdmVyIjsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBXZWJLaXQ6OldlYkRyYWdTdGF0
dXNMZWF2ZToKKyAgICAgICAgZHJhZ1N0YXR1c05hbWUgPSAiRHJhZ0xlYXZlIjsKKyAgICAgICAg
YnJlYWs7CisgICAgY2FzZSBXZWJLaXQ6OldlYkRyYWdTdGF0dXNVbmtub3duOgorICAgICAgICBB
U1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICB9CisgICAgcHJpbnRmKCJQbHVnaW4gcmVjZWl2ZWQg
ZXZlbnQ6ICVzXG4iLCBkcmFnU3RhdHVzTmFtZSk7CisgICAgcmV0dXJuIGZhbHNlOworfQorCmRp
ZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0V2ViUGx1Z2luLmgg
Yi9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9UZXN0V2ViUGx1Z2luLmgKaW5kZXggMmUx
MTg4NjliMDk3YThiZDIyOGYxZTIwYmQzODdhNjRhNWYzYjAwNC4uYWE2NTMzZTMyYzYxMjY5NDU5
MTY3ZWFjMDVkZmFmODlkMTFlNzIzNyAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUv
Y2hyb21pdW0vVGVzdFdlYlBsdWdpbi5oCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9t
aXVtL1Rlc3RXZWJQbHVnaW4uaApAQCAtNjUsNiArNjUsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVh
bCB2b2lkIHVwZGF0ZVZpc2liaWxpdHkoYm9vbCkgeyB9CiAgICAgdmlydHVhbCBib29sIGFjY2Vw
dHNJbnB1dEV2ZW50cygpIHsgcmV0dXJuIHRydWU7IH0KICAgICB2aXJ0dWFsIGJvb2wgaGFuZGxl
SW5wdXRFdmVudChjb25zdCBXZWJLaXQ6OldlYklucHV0RXZlbnQmLCBXZWJLaXQ6OldlYkN1cnNv
ckluZm8mKTsKKyAgICB2aXJ0dWFsIGJvb2wgaGFuZGxlRHJhZ1N0YXR1c1VwZGF0ZShXZWJLaXQ6
OldlYkRyYWdTdGF0dXMsIGNvbnN0IFdlYktpdDo6V2ViRHJhZ0RhdGEmLCBXZWJLaXQ6OldlYkRy
YWdPcGVyYXRpb25zTWFzaywgY29uc3QgV2ViS2l0OjpXZWJQb2ludCYgcG9zaXRpb24sIGNvbnN0
IFdlYktpdDo6V2ViUG9pbnQmIHNjcmVlblBvc2l0aW9uKTsKICAgICB2aXJ0dWFsIHZvaWQgZGlk
UmVjZWl2ZVJlc3BvbnNlKGNvbnN0IFdlYktpdDo6V2ViVVJMUmVzcG9uc2UmKSB7IH0KICAgICB2
aXJ0dWFsIHZvaWQgZGlkUmVjZWl2ZURhdGEoY29uc3QgY2hhciogZGF0YSwgaW50IGRhdGFMZW5n
dGgpIHsgfQogICAgIHZpcnR1YWwgdm9pZCBkaWRGaW5pc2hMb2FkaW5nKCkgeyB9CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXgg
NzIxZGE4MzUyYzNlZDkwNzkyZTUzYTY4MzM5ZmIwZGJjYzBmYzdkYi4uNDJiODFlNzRjMjRmMTkz
YzdjZWIxYjkyMDM5YzJjOTdlY2E0YWZmNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDEyLTEw
LTA1ICBTYWRydWwgSGFiaWIgQ2hvd2RodXJ5ICA8c2FkcnVsQGNocm9taXVtLm9yZz4KKworICAg
ICAgICBbY2hyb21pdW1dIEFsbG93IGRyYWdnaW5nIGludG8gcGx1Z2lucy4KKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk4Mjc3CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgVG9ueSBDaGFuZy4KKworICAgICAgICBBZGQgdGVzdCB0byBtYWtlIHN1cmUgdGhh
dCBwbHVnaW5zIHJlY2VpdmUgdGhlIGRyYWcgZXZlbnRzIGNvcnJlY3RseS4KKworICAgICAgICAq
IHBsYXRmb3JtL2Nocm9taXVtL3BsdWdpbnMvZHJhZy1ldmVudHMtZXhwZWN0ZWQudHh0OiBBZGRl
ZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9wbHVnaW5zL2RyYWctZXZlbnRzLmh0bWw6
IEFkZGVkLgorCiAyMDEyLTEwLTA0ICDDgWTDoW0gS2FsbGFpICA8a2FkYW1AaW5mLnUtc3plZ2Vk
Lmh1PgogCiAgICAgICAgIFtRdF0gVW5yZXZpZXdlZCBnYXJkZW5pbmcgYWZ0ZXIgcjEzMDM4NS4g
U2tpcCBhIGZhaWxpbmcgdGVzdC4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2No
cm9taXVtL3BsdWdpbnMvZHJhZy1ldmVudHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vY2hyb21pdW0vcGx1Z2lucy9kcmFnLWV2ZW50cy1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMWI0Njk1MWM1YzlkOGZhMzI3ZDVlMjJhNDllZTljOTliZWM4NmQ5YQotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL3BsdWdpbnMvZHJhZy1ldmVudHMt
ZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNyBAQAorUGx1Z2luIHJlY2VpdmVkIGV2ZW50OiBNb3Vz
ZUVudGVyCitQbHVnaW4gcmVjZWl2ZWQgZXZlbnQ6IE1vdXNlTW92ZQorUGx1Z2luIHJlY2VpdmVk
IGV2ZW50OiBEcmFnRW50ZXIKK1BsdWdpbiByZWNlaXZlZCBldmVudDogRHJhZ092ZXIKK1BsdWdp
biByZWNlaXZlZCBldmVudDogRHJhZ0xlYXZlCisKK1NvbWUgdGV4dCB0byBkcmFnCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9wbHVnaW5zL2RyYWctZXZlbnRzLmh0
bWwgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9wbHVnaW5zL2RyYWctZXZlbnRzLmh0
bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZGUwMWExMGY5OGRlMDJiZjA1ZDczNGMwYTA0ZTg4Yjg3N2E1NTkwOAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL3BsdWdpbnMv
ZHJhZy1ldmVudHMuaHRtbApAQCAtMCwwICsxLDQ1IEBACis8aHRtbD4KKzxoZWFkPgorPHN0eWxl
PgorICAjcGx1Z2luIHsKKyAgICB3aWR0aDogMTUwcHg7CisgICAgaGVpZ2h0OiAxNTBweDsKKyAg
fQorPC9zdHlsZT4KKzwvaGVhZD4KKworPGJvZHkgb25sb2FkPSJ0ZXN0KCk7Ij4KKzxlbWJlZCBp
ZD0icGx1Z2luIiB0eXBlPSJhcHBsaWNhdGlvbi94LXdlYmtpdC10ZXN0LXdlYnBsdWdpbiI+PC9l
bWJlZD4KKzxkaXYgY29udGVudGVkaXRhYmxlIGlkPSd0ZXh0Jz48c3Bhbj5Tb21lIHRleHQgdG8g
ZHJhZzwvc3Bhbj48L2Rpdj4KKzxzY3JpcHQ+CisKK2Z1bmN0aW9uIHRlc3QoKSB7CisgICAgaWYg
KCF3aW5kb3cudGVzdFJ1bm5lciB8fCAhd2luZG93LmV2ZW50U2VuZGVyKSB7CisgICAgICAgIGRv
Y3VtZW50LndyaXRlKCJUaGlzIHRlc3QgZG9lcyBub3Qgd29yayBpbiBtYW51YWwgbW9kZS4iKTsK
KyAgICB9IGVsc2UgeworICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKKworICAgICAg
ICB2YXIgZGl2ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3RleHQnKTsKKyAgICAgICAgZGl2
LmZvY3VzKCk7CisgICAgICAgIGdldFNlbGVjdGlvbigpLmNvbGxhcHNlKGRpdiwgMCk7CisgICAg
ICAgIGdldFNlbGVjdGlvbigpLm1vZGlmeSgnZXh0ZW5kJywgJ2ZvcndhcmQnLCAnd29yZCcpOwor
CisgICAgICAgIHZhciBwb3NpdGlvblggPSBwbHVnaW4ub2Zmc2V0TGVmdCArIDEwOworICAgICAg
ICB2YXIgcG9zaXRpb25ZID0gcGx1Z2luLm9mZnNldFRvcCArIDEwOworCisgICAgICAgIHZhciBz
dGFydFggPSBkaXYub2Zmc2V0TGVmdCArIGRpdi5maXJzdENoaWxkLm9mZnNldFdpZHRoIC8gNTsK
KyAgICAgICAgdmFyIHN0YXJ0WSA9IGRpdi5vZmZzZXRUb3AgKyBkaXYub2Zmc2V0SGVpZ2h0IC8g
Mjs7CisKKyAgICAgICAgZXZlbnRTZW5kZXIuZHJhZ01vZGUgPSB0cnVlOworICAgICAgICBldmVu
dFNlbmRlci5tb3VzZU1vdmVUbyhzdGFydFgsIHN0YXJ0WSk7CisgICAgICAgIGV2ZW50U2VuZGVy
Lm1vdXNlRG93bigpOworICAgICAgICBldmVudFNlbmRlci5sZWFwRm9yd2FyZCgyNTApOworICAg
ICAgICBldmVudFNlbmRlci5tb3VzZU1vdmVUbyhwb3NpdGlvblgsIHBvc2l0aW9uWSk7CisgICAg
ICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92ZVRvKHBvc2l0aW9uWCArIDIsIHBvc2l0aW9uWSk7Cisg
ICAgICAgIGV2ZW50U2VuZGVyLm1vdXNlTW92ZVRvKHN0YXJ0WCwgc3RhcnRZKTsKKyAgICAgICAg
ZXZlbnRTZW5kZXIubW91c2VVcCgpOworICAgIH0KK30KKzwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>