<?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>101348</bug_id>
          
          <creation_ts>2012-11-06 07:30:07 -0800</creation_ts>
          <short_desc>CustomEvent: Allow taking in a serialized value during initialization.</short_desc>
          <delta_ts>2012-11-09 15:27:58 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>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>gyuyoung.kim</cc>
    
    <cc>haraken</cc>
    
    <cc>japhet</cc>
    
    <cc>ojan</cc>
    
    <cc>rakuco</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>759660</commentid>
    <comment_count>0</comment_count>
    <who name="Sadrul Habib Chowdhury">sadrul</who>
    <bug_when>2012-11-06 07:30:07 -0800</bug_when>
    <thetext>CustomEvent: Allow taking in a serialized value during initialization.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>759661</commentid>
    <comment_count>1</comment_count>
      <attachid>172582</attachid>
    <who name="Sadrul Habib Chowdhury">sadrul</who>
    <bug_when>2012-11-06 07:32:28 -0800</bug_when>
    <thetext>Created attachment 172582
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>759669</commentid>
    <comment_count>2</comment_count>
    <who name="Sadrul Habib Chowdhury">sadrul</who>
    <bug_when>2012-11-06 07:35:18 -0800</bug_when>
    <thetext>Hi Adam. I am addressing your comment from https://bugs.webkit.org/show_bug.cgi?id=101293 here. Please take a look and see if this makes sense. I will add a test if it does.

One note is that CustomEvent::detail() is no longer a const method.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>759671</commentid>
    <comment_count>3</comment_count>
      <attachid>172582</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-11-06 07:37:46 -0800</bug_when>
    <thetext>Comment on attachment 172582
Patch

Attachment 172582 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/14733743</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>759678</commentid>
    <comment_count>4</comment_count>
      <attachid>172582</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-11-06 07:40:10 -0800</bug_when>
    <thetext>Comment on attachment 172582
Patch

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

&gt; Source/WebCore/dom/CustomEvent.cpp:83
&gt; +const ScriptValue&amp; CustomEvent::detail()
&gt; +{
&gt; +    if (m_serializedScriptValue.get())
&gt; +        m_detail = ScriptValue::deserialize(ScriptState::current(), m_serializedScriptValue.get());
&gt; +    return m_detail;
&gt; +}

This patch is almost right.  The one tweak is that we need to do this work in in the bindings layer and cache the result on the JavaScript wrapper (i.e., JSCustomEvent or V8CustomEvent).  The way you&apos;ve written this, the m_detail is shared by all wrappers.  We want different instances of the details object for each wrapper (i.e., for each isolated world that might receive the event).

Also, rather than using ScriptState::current(), we&apos;ll want to use the CreationContext of the JavaScript wrapper as the context for the deserialization.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>759679</commentid>
    <comment_count>5</comment_count>
      <attachid>172585</attachid>
    <who name="Sadrul Habib Chowdhury">sadrul</who>
    <bug_when>2012-11-06 07:41:01 -0800</bug_when>
    <thetext>Created attachment 172585
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>759685</commentid>
    <comment_count>6</comment_count>
      <attachid>172585</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-11-06 07:46:33 -0800</bug_when>
    <thetext>Comment on attachment 172585
Patch

Attachment 172585 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/14731768</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>759686</commentid>
    <comment_count>7</comment_count>
      <attachid>172585</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-11-06 07:47:20 -0800</bug_when>
    <thetext>Comment on attachment 172585
Patch

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

&gt; Source/WebCore/ChangeLog:10
&gt; +        If a CustomEvent is initialized using a serialized value, then for each access
&gt; +        to |detail|, the value is deserialized first. This way, each world gets a different
&gt; +        deserialization.

In your patch, you&apos;re only calling deserialize once per CustomEvent object though.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>759755</commentid>
    <comment_count>8</comment_count>
      <attachid>172601</attachid>
    <who name="Sadrul Habib Chowdhury">sadrul</who>
    <bug_when>2012-11-06 09:16:49 -0800</bug_when>
    <thetext>Created attachment 172601
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>759756</commentid>
    <comment_count>9</comment_count>
      <attachid>172585</attachid>
    <who name="Sadrul Habib Chowdhury">sadrul</who>
    <bug_when>2012-11-06 09:18:07 -0800</bug_when>
    <thetext>Comment on attachment 172585
Patch

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

&gt;&gt; Source/WebCore/ChangeLog:10
&gt;&gt; +        deserialization.
&gt; 
&gt; In your patch, you&apos;re only calling deserialize once per CustomEvent object though.

The serialized script-value doesn&apos;t get reset once it has been serialized. So we end up deserializing for each call.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>759758</commentid>
    <comment_count>10</comment_count>
      <attachid>172601</attachid>
    <who name="Sadrul Habib Chowdhury">sadrul</who>
    <bug_when>2012-11-06 09:20:19 -0800</bug_when>
    <thetext>Comment on attachment 172601
Patch

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

I looked at the slides from Haraken to do the custom bindings. But it is likely that I missed a few things, or misunderstood a few things. Please let me know if things look reasonable (and links to reading material would be helpful too :) )

&gt; Source/WebCore/bindings/v8/custom/V8CustomEventCustom.cpp:61
&gt; +        return ScriptValue::deserialize(ScriptState::forContext(info.Holder()-&gt;CreationContext()), serialized.get()).v8Value();

I am not sure how we can cache the deserialized value here. Suggestions?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>759764</commentid>
    <comment_count>11</comment_count>
      <attachid>172601</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-11-06 09:26:55 -0800</bug_when>
    <thetext>Comment on attachment 172601
Patch

Attachment 172601 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/14760019</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>759766</commentid>
    <comment_count>12</comment_count>
      <attachid>172601</attachid>
    <who name="EFL EWS Bot">eflews.bot</who>
    <bug_when>2012-11-06 09:28:07 -0800</bug_when>
    <thetext>Comment on attachment 172601
Patch

Attachment 172601 did not pass efl-ews (efl):
Output: http://queues.webkit.org/results/14755170</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>759767</commentid>
    <comment_count>13</comment_count>
      <attachid>172601</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-11-06 09:28:24 -0800</bug_when>
    <thetext>Comment on attachment 172601
Patch

Attachment 172601 did not pass qt-wk2-ews (qt):
Output: http://queues.webkit.org/results/14747468</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>759769</commentid>
    <comment_count>14</comment_count>
      <attachid>172601</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-11-06 09:29:35 -0800</bug_when>
    <thetext>Comment on attachment 172601
Patch

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

&gt; Source/WebCore/bindings/v8/custom/V8CustomEventCustom.cpp:59
&gt; +    RefPtr&lt;SerializedScriptValue&gt; serialized;
&gt; +    serialized = imp-&gt;serializedScriptValue();

THese lines can be combined.

&gt;&gt; Source/WebCore/bindings/v8/custom/V8CustomEventCustom.cpp:61
&gt;&gt; +        return ScriptValue::deserialize(ScriptState::forContext(info.Holder()-&gt;CreationContext()), serialized.get()).v8Value();
&gt; 
&gt; I am not sure how we can cache the deserialized value here. Suggestions?

You can add a property to V8HiddenPropertyName and store get/set the deserialized value on info.Holder().  Take a look at the generated code for normal SerializedScriptValue attributes.

&gt; Source/WebCore/dom/CustomEvent.idl:29
&gt; +    CustomToJSObject,

Why do we need a CustomToJSObject?

&gt; Source/WebCore/dom/CustomEvent.idl:32
&gt; -    [InitializedByEventConstructor] readonly attribute DOMObject detail;
&gt; +    [Custom] readonly attribute DOMObject detail;

Did we lose InitializedByEventConstructor?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>759770</commentid>
    <comment_count>15</comment_count>
      <attachid>172604</attachid>
    <who name="Sadrul Habib Chowdhury">sadrul</who>
    <bug_when>2012-11-06 09:31:03 -0800</bug_when>
    <thetext>Created attachment 172604
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>759773</commentid>
    <comment_count>16</comment_count>
      <attachid>172604</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-11-06 09:33:34 -0800</bug_when>
    <thetext>Comment on attachment 172604
Patch

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

&gt; Source/WebCore/bindings/v8/custom/V8CustomEventCustom.cpp:56
&gt; +        return ScriptValue::deserialize(ScriptState::forContext(info.Holder()-&gt;CreationContext()), serialized.get()).v8Value();

There&apos;s no reason to use the ScriptValue helpers when you&apos;re inside the bindings.  You can just call SerialziedScriptValue::deserialize directly.  ScriptValue is an abstraction that lets you share code between V8 and JSC.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>759803</commentid>
    <comment_count>17</comment_count>
      <attachid>172608</attachid>
    <who name="Sadrul Habib Chowdhury">sadrul</who>
    <bug_when>2012-11-06 10:04:42 -0800</bug_when>
    <thetext>Created attachment 172608
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>759804</commentid>
    <comment_count>18</comment_count>
      <attachid>172601</attachid>
    <who name="Sadrul Habib Chowdhury">sadrul</who>
    <bug_when>2012-11-06 10:05:38 -0800</bug_when>
    <thetext>Comment on attachment 172601
Patch

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

&gt;&gt; Source/WebCore/bindings/v8/custom/V8CustomEventCustom.cpp:59
&gt;&gt; +    serialized = imp-&gt;serializedScriptValue();
&gt; 
&gt; THese lines can be combined.

Done.

&gt;&gt;&gt; Source/WebCore/bindings/v8/custom/V8CustomEventCustom.cpp:61
&gt;&gt;&gt; +        return ScriptValue::deserialize(ScriptState::forContext(info.Holder()-&gt;CreationContext()), serialized.get()).v8Value();
&gt;&gt; 
&gt;&gt; I am not sure how we can cache the deserialized value here. Suggestions?
&gt; 
&gt; You can add a property to V8HiddenPropertyName and store get/set the deserialized value on info.Holder().  Take a look at the generated code for normal SerializedScriptValue attributes.

Nice! Done.

&gt;&gt; Source/WebCore/dom/CustomEvent.idl:29
&gt;&gt; +    CustomToJSObject,
&gt; 
&gt; Why do we need a CustomToJSObject?

We don&apos;t. I misunderstood. Removed.

&gt;&gt; Source/WebCore/dom/CustomEvent.idl:32
&gt;&gt; +    [Custom] readonly attribute DOMObject detail;
&gt; 
&gt; Did we lose InitializedByEventConstructor?

We did. Another misunderstanding. Fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>759805</commentid>
    <comment_count>19</comment_count>
      <attachid>172604</attachid>
    <who name="Sadrul Habib Chowdhury">sadrul</who>
    <bug_when>2012-11-06 10:05:54 -0800</bug_when>
    <thetext>Comment on attachment 172604
Patch

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

&gt;&gt; Source/WebCore/bindings/v8/custom/V8CustomEventCustom.cpp:56
&gt;&gt; +        return ScriptValue::deserialize(ScriptState::forContext(info.Holder()-&gt;CreationContext()), serialized.get()).v8Value();
&gt; 
&gt; There&apos;s no reason to use the ScriptValue helpers when you&apos;re inside the bindings.  You can just call SerialziedScriptValue::deserialize directly.  ScriptValue is an abstraction that lets you share code between V8 and JSC.

Cool! Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>759818</commentid>
    <comment_count>20</comment_count>
      <attachid>172608</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-11-06 10:17:28 -0800</bug_when>
    <thetext>Comment on attachment 172608
Patch

Attachment 172608 did not pass qt-wk2-ews (qt):
Output: http://queues.webkit.org/results/14745411</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>759822</commentid>
    <comment_count>21</comment_count>
      <attachid>172608</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-11-06 10:19:32 -0800</bug_when>
    <thetext>Comment on attachment 172608
Patch

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

&gt; Source/WebCore/bindings/v8/custom/V8CustomEventCustom.cpp:53
&gt; +    RefPtr&lt;SerializedScriptValue&gt; serialized = imp-&gt;serializedScriptValue();

RefPtr&lt;SerializedScriptValue&gt; -&gt; SerializedScriptValue*

The CustomEvent will hold a reference to SerializedScriptValue  There&apos;s no need to hold another one.

&gt; Source/WebCore/bindings/v8/custom/V8CustomEventCustom.cpp:55
&gt; +        v8::Handle&lt;v8::Value&gt; value = info.Holder()-&gt;GetHiddenValue(V8HiddenPropertyName::state());

Can we create a new V8HiddenPropertyName for use here?  Perhaps &quot;detail&quot; ?  It&apos;s just a matter of adding it to the macro in the header.

&gt; Source/WebCore/dom/CustomEvent.h:56
&gt; +    void initCustomEvent(const AtomicString&amp; type, bool canBubble, bool cancelable, PassRefPtr&lt;SerializedScriptValue&gt;);

If you&apos;re not going to implement this feature for JSC, can you wrap this function in a USE(V8) #if and add a comment that this isn&apos;t implemented for JSC yet?

&gt; Source/WebCore/dom/CustomEvent.h:61
&gt; +    PassRefPtr&lt;SerializedScriptValue&gt; serializedScriptValue() { return m_serializedScriptValue; }

PassRefPtr&lt;SerializedScriptValue&gt;  -&gt;  SerializedScriptValue*

This function isn&apos;t transferring ownership of the SerializedScriptValue.  There&apos;s no reason to use a PassRefPtr.  See http://www.webkit.org/coding/RefPtr.html for more information about how RefPtr works.

&gt; Source/WebCore/dom/CustomEvent.idl:31
&gt; -    [InitializedByEventConstructor] readonly attribute DOMObject detail;
&gt; +    [InitializedByEventConstructor, Custom] readonly attribute DOMObject detail;

You probably want to mark this V8Custom rather than Custom.  Custom implies that JSC has a custom implementation as well.  (Alternatively, you could create a custom implementation for JSC, but given that this functionality supports a Chromium WebKit API, that&apos;s probably not necessary.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>759823</commentid>
    <comment_count>22</comment_count>
      <attachid>172608</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-11-06 10:19:34 -0800</bug_when>
    <thetext>Comment on attachment 172608
Patch

Attachment 172608 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/14726971</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>759840</commentid>
    <comment_count>23</comment_count>
      <attachid>172613</attachid>
    <who name="Sadrul Habib Chowdhury">sadrul</who>
    <bug_when>2012-11-06 10:32:17 -0800</bug_when>
    <thetext>Created attachment 172613
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>759841</commentid>
    <comment_count>24</comment_count>
      <attachid>172608</attachid>
    <who name="Sadrul Habib Chowdhury">sadrul</who>
    <bug_when>2012-11-06 10:32:44 -0800</bug_when>
    <thetext>Comment on attachment 172608
Patch

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

&gt;&gt; Source/WebCore/bindings/v8/custom/V8CustomEventCustom.cpp:53
&gt;&gt; +    RefPtr&lt;SerializedScriptValue&gt; serialized = imp-&gt;serializedScriptValue();
&gt; 
&gt; RefPtr&lt;SerializedScriptValue&gt; -&gt; SerializedScriptValue*
&gt; 
&gt; The CustomEvent will hold a reference to SerializedScriptValue  There&apos;s no need to hold another one.

Done.

&gt;&gt; Source/WebCore/bindings/v8/custom/V8CustomEventCustom.cpp:55
&gt;&gt; +        v8::Handle&lt;v8::Value&gt; value = info.Holder()-&gt;GetHiddenValue(V8HiddenPropertyName::state());
&gt; 
&gt; Can we create a new V8HiddenPropertyName for use here?  Perhaps &quot;detail&quot; ?  It&apos;s just a matter of adding it to the macro in the header.

Done.

&gt;&gt; Source/WebCore/dom/CustomEvent.h:56
&gt;&gt; +    void initCustomEvent(const AtomicString&amp; type, bool canBubble, bool cancelable, PassRefPtr&lt;SerializedScriptValue&gt;);
&gt; 
&gt; If you&apos;re not going to implement this feature for JSC, can you wrap this function in a USE(V8) #if and add a comment that this isn&apos;t implemented for JSC yet?

Done. Thanks. (I almost started looking into a JSC implementation, but this sounds better :) )

&gt;&gt; Source/WebCore/dom/CustomEvent.h:61
&gt;&gt; +    PassRefPtr&lt;SerializedScriptValue&gt; serializedScriptValue() { return m_serializedScriptValue; }
&gt; 
&gt; PassRefPtr&lt;SerializedScriptValue&gt;  -&gt;  SerializedScriptValue*
&gt; 
&gt; This function isn&apos;t transferring ownership of the SerializedScriptValue.  There&apos;s no reason to use a PassRefPtr.  See http://www.webkit.org/coding/RefPtr.html for more information about how RefPtr works.

Done.

&gt;&gt; Source/WebCore/dom/CustomEvent.idl:31
&gt;&gt; +    [InitializedByEventConstructor, Custom] readonly attribute DOMObject detail;
&gt; 
&gt; You probably want to mark this V8Custom rather than Custom.  Custom implies that JSC has a custom implementation as well.  (Alternatively, you could create a custom implementation for JSC, but given that this functionality supports a Chromium WebKit API, that&apos;s probably not necessary.)

I went with marking it as V8Custom. Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>759842</commentid>
    <comment_count>25</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-11-06 10:34:25 -0800</bug_when>
    <thetext>dglazkov just IMed me with some concerns about this approach.  He&apos;s worried that using CustomEvents might not make sense because if we were to implement &lt;webview&gt; as a native part of the platform we wouldn&apos;t use CustomEvent, we would define a new type of event.

Are these events exposed to the user of &lt;webview&gt;, or are they just consumed internally by the &lt;webview&gt; component?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>759846</commentid>
    <comment_count>26</comment_count>
    <who name="Sadrul Habib Chowdhury">sadrul</who>
    <bug_when>2012-11-06 10:38:36 -0800</bug_when>
    <thetext>(In reply to comment #25)
&gt; dglazkov just IMed me with some concerns about this approach.  He&apos;s worried that using CustomEvents might not make sense because if we were to implement &lt;webview&gt; as a native part of the platform we wouldn&apos;t use CustomEvent, we would define a new type of event.
&gt; 
&gt; Are these events exposed to the user of &lt;webview&gt;, or are they just consumed internally by the &lt;webview&gt; component?

The events are indeed exposed to the users of &lt;webview&gt;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>759878</commentid>
    <comment_count>27</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-11-06 11:02:18 -0800</bug_when>
    <thetext>This patch looks great based on the approach we discussed.  I would have added a comment to the USE(V8) ifdef, but that&apos;s just a nit.

The remaining question here is whether we should be using CustomEvent or whether we should let the embedder define new kinds of events.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>763204</commentid>
    <comment_count>28</comment_count>
      <attachid>173344</attachid>
    <who name="Sadrul Habib Chowdhury">sadrul</who>
    <bug_when>2012-11-09 11:43:13 -0800</bug_when>
    <thetext>Created attachment 173344
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>763210</commentid>
    <comment_count>29</comment_count>
      <attachid>173344</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-11-09 11:49:07 -0800</bug_when>
    <thetext>Comment on attachment 173344
Patch

This looks good too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>763212</commentid>
    <comment_count>30</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-11-09 11:50:25 -0800</bug_when>
    <thetext>&gt; Are these events exposed to the user of &lt;webview&gt;, or are they just consumed internally by the &lt;webview&gt; component?

@dglazkov: In this new approach, these events are just used internally by the &lt;webview&gt; component.  The &lt;webview&gt; component then translates them into regular-looking events for the user of the &lt;webview&gt;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>763218</commentid>
    <comment_count>31</comment_count>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2012-11-09 12:03:43 -0800</bug_when>
    <thetext>(In reply to comment #30)
&gt; &gt; Are these events exposed to the user of &lt;webview&gt;, or are they just consumed internally by the &lt;webview&gt; component?
&gt; 
&gt; @dglazkov: In this new approach, these events are just used internally by the &lt;webview&gt; component.  The &lt;webview&gt; component then translates them into regular-looking events for the user of the &lt;webview&gt;.

ookay.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>763391</commentid>
    <comment_count>32</comment_count>
      <attachid>173344</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-09 15:27:52 -0800</bug_when>
    <thetext>Comment on attachment 173344
Patch

Clearing flags on attachment: 173344

Committed r134120: &lt;http://trac.webkit.org/changeset/134120&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>763392</commentid>
    <comment_count>33</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-11-09 15:27:58 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>172582</attachid>
            <date>2012-11-06 07:32:28 -0800</date>
            <delta_ts>2012-11-06 07:40:58 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-101348-20121106103041.patch</filename>
            <type>text/plain</type>
            <size>3468</size>
            <attacher name="Sadrul Habib Chowdhury">sadrul</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMzNDUwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjYwM2FiYjRjMjMyODZi
ZGE3OTc1NmU2NWU3YzU1ZWY4ODgxNWQxNi4uODU5MzU5MzEzNjI2ZDZjYTVlNDFhMzM4ZGRjY2Yz
YjEzMmEyNGJkNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDEyLTExLTA2ICBTYWRy
dWwgSGFiaWIgQ2hvd2RodXJ5ICA8c2FkcnVsQGNocm9taXVtLm9yZz4KKworICAgICAgICBDdXN0
b21FdmVudDogQWxsb3cgdGFraW5nIGluIGEgc2VyaWFsaXplZCB2YWx1ZS4KKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMTM0OAorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIElmIGEgQ3VzdG9tRXZlbnQgaXMg
aW5pdGlhbGl6ZWQgdXNpbmcgYSBzZXJpYWxpemVkIHZhbHVlLCB0aGVuIGZvciBlYWNoIGFjY2Vz
cworICAgICAgICB0byB8ZGV0YWlsfCwgdGhlIHZhbHVlIGlzIGRlc2VyaWFsaXplZCBmaXJzdC4g
VGhpcyB3YXksIGVhY2ggd29ybGQgZ2V0cyBhIGRpZmZlcmVudAorICAgICAgICBkZXNlcmlhbGl6
YXRpb24uCisKKyAgICAgICAgKiBkb20vQ3VzdG9tRXZlbnQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6Q3VzdG9tRXZlbnQ6OmluaXRDdXN0b21FdmVudCk6CisgICAgICAgIChXZWJDb3JlKToKKyAg
ICAgICAgKFdlYkNvcmU6OkN1c3RvbUV2ZW50OjpkZXRhaWwpOgorICAgICAgICAqIGRvbS9DdXN0
b21FdmVudC5oOgorICAgICAgICAoQ3VzdG9tRXZlbnQpOgorCiAyMDEyLTExLTA1ICBTaW1vbiBI
YXVzbWFubiAgPHNpbW9uLmhhdXNtYW5uQGRpZ2lhLmNvbT4KIAogICAgICAgICBVbnJldmlld2Vk
IHRyaXZpYWwgUXQgYnVpbGQgZml4LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0N1
c3RvbUV2ZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9DdXN0b21FdmVudC5jcHAKaW5kZXgg
MjFhZTIyNTkxYTY3ZGI2YWRmMDMxYWVmNTkzNjQzNmEzOTMzOTE3MC4uZjcyYTg0NzI0YzdiNjYz
MjIyMjgyM2FhNTAyYzY4NzA2NDdkOTRlNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9t
L0N1c3RvbUV2ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vQ3VzdG9tRXZlbnQuY3Bw
CkBAIC0zNCw3ICszNCw2IEBAIEN1c3RvbUV2ZW50SW5pdDo6Q3VzdG9tRXZlbnRJbml0KCkKIHsK
IH0KIAotCiBDdXN0b21FdmVudDo6Q3VzdG9tRXZlbnQoKQogewogfQpAQCAtNTEsNiArNTAsNyBA
QCBDdXN0b21FdmVudDo6fkN1c3RvbUV2ZW50KCkKIAogdm9pZCBDdXN0b21FdmVudDo6aW5pdEN1
c3RvbUV2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgdHlwZSwgYm9vbCBjYW5CdWJibGUsIGJvb2wg
Y2FuY2VsYWJsZSwgY29uc3QgU2NyaXB0VmFsdWUmIGRldGFpbCkKIHsKKyAgICBBU1NFUlQoIW1f
c2VyaWFsaXplZFNjcmlwdFZhbHVlLmdldCgpKTsKICAgICBpZiAoZGlzcGF0Y2hlZCgpKQogICAg
ICAgICByZXR1cm47CiAKQEAgLTU5LDkgKzU5LDI3IEBAIHZvaWQgQ3VzdG9tRXZlbnQ6OmluaXRD
dXN0b21FdmVudChjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUsIGJvb2wgY2FuQnViYmxlLCBib29s
CiAgICAgbV9kZXRhaWwgPSBkZXRhaWw7CiB9CiAKK3ZvaWQgQ3VzdG9tRXZlbnQ6OmluaXRDdXN0
b21FdmVudChjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUsIGJvb2wgY2FuQnViYmxlLCBib29sIGNh
bmNlbGFibGUsIFBhc3NSZWZQdHI8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiBzZXJpYWxpemVkU2Ny
aXB0VmFsdWUpCit7CisgICAgQVNTRVJUKG1fZGV0YWlsLmlzVW5kZWZpbmVkKCkpOworICAgIGlm
IChkaXNwYXRjaGVkKCkpCisgICAgICAgIHJldHVybjsKKworICAgIGluaXRFdmVudCh0eXBlLCBj
YW5CdWJibGUsIGNhbmNlbGFibGUpOworCisgICAgbV9zZXJpYWxpemVkU2NyaXB0VmFsdWUgPSBz
ZXJpYWxpemVkU2NyaXB0VmFsdWU7Cit9CisKIGNvbnN0IEF0b21pY1N0cmluZyYgQ3VzdG9tRXZl
bnQ6OmludGVyZmFjZU5hbWUoKSBjb25zdAogewogICAgIHJldHVybiBldmVudE5hbWVzKCkuaW50
ZXJmYWNlRm9yQ3VzdG9tRXZlbnQ7CiB9CiAKK2NvbnN0IFNjcmlwdFZhbHVlJiBDdXN0b21FdmVu
dDo6ZGV0YWlsKCkKK3sKKyAgICBpZiAobV9zZXJpYWxpemVkU2NyaXB0VmFsdWUuZ2V0KCkpCisg
ICAgICAgIG1fZGV0YWlsID0gU2NyaXB0VmFsdWU6OmRlc2VyaWFsaXplKFNjcmlwdFN0YXRlOjpj
dXJyZW50KCksIG1fc2VyaWFsaXplZFNjcmlwdFZhbHVlLmdldCgpKTsKKyAgICByZXR1cm4gbV9k
ZXRhaWw7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9DdXN0b21FdmVudC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0N1c3RvbUV2ZW50
LmgKaW5kZXggZDkyZmRhNTMxZmE5OTNjMjQzNTBmYjA1Yjk0ZTI2ZDVlMGM4OTRkNi4uOWM2NzMx
YWNiNTFhODgxMTRlYjZiNjdlZTMzNzcyMmE2ZmMyNjE1NiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvZG9tL0N1c3RvbUV2ZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0N1c3RvbUV2
ZW50LmgKQEAgLTI4LDYgKzI4LDcgQEAKIAogI2luY2x1ZGUgIkV2ZW50LmgiCiAjaW5jbHVkZSAi
U2NyaXB0VmFsdWUuaCIKKyNpbmNsdWRlICJTZXJpYWxpemVkU2NyaXB0VmFsdWUuaCIKIAogbmFt
ZXNwYWNlIFdlYkNvcmUgewogCkBAIC01MiwxNiArNTMsMTggQEAgcHVibGljOgogICAgIH0KIAog
ICAgIHZvaWQgaW5pdEN1c3RvbUV2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgdHlwZSwgYm9vbCBj
YW5CdWJibGUsIGJvb2wgY2FuY2VsYWJsZSwgY29uc3QgU2NyaXB0VmFsdWUmIGRldGFpbCk7Cisg
ICAgdm9pZCBpbml0Q3VzdG9tRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiB0eXBlLCBib29sIGNh
bkJ1YmJsZSwgYm9vbCBjYW5jZWxhYmxlLCBQYXNzUmVmUHRyPFNlcmlhbGl6ZWRTY3JpcHRWYWx1
ZT4pOwogCiAgICAgdmlydHVhbCBjb25zdCBBdG9taWNTdHJpbmcmIGludGVyZmFjZU5hbWUoKSBj
b25zdDsKIAotICAgIGNvbnN0IFNjcmlwdFZhbHVlJiBkZXRhaWwoKSBjb25zdCB7IHJldHVybiBt
X2RldGFpbDsgfQorICAgIGNvbnN0IFNjcmlwdFZhbHVlJiBkZXRhaWwoKTsKIAogcHJpdmF0ZToK
ICAgICBDdXN0b21FdmVudCgpOwogICAgIEN1c3RvbUV2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYg
dHlwZSwgY29uc3QgQ3VzdG9tRXZlbnRJbml0JiBpbml0aWFsaXplcik7CiAKICAgICBTY3JpcHRW
YWx1ZSBtX2RldGFpbDsKKyAgICBSZWZQdHI8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiBtX3Nlcmlh
bGl6ZWRTY3JpcHRWYWx1ZTsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>172585</attachid>
            <date>2012-11-06 07:41:01 -0800</date>
            <delta_ts>2012-11-06 09:18:07 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-101348-20121106103914.patch</filename>
            <type>text/plain</type>
            <size>3590</size>
            <attacher name="Sadrul Habib Chowdhury">sadrul</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMzNDUwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjYwM2FiYjRjMjMyODZi
ZGE3OTc1NmU2NWU3YzU1ZWY4ODgxNWQxNi4uODU5MzU5MzEzNjI2ZDZjYTVlNDFhMzM4ZGRjY2Yz
YjEzMmEyNGJkNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDEyLTExLTA2ICBTYWRy
dWwgSGFiaWIgQ2hvd2RodXJ5ICA8c2FkcnVsQGNocm9taXVtLm9yZz4KKworICAgICAgICBDdXN0
b21FdmVudDogQWxsb3cgdGFraW5nIGluIGEgc2VyaWFsaXplZCB2YWx1ZS4KKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMTM0OAorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIElmIGEgQ3VzdG9tRXZlbnQgaXMg
aW5pdGlhbGl6ZWQgdXNpbmcgYSBzZXJpYWxpemVkIHZhbHVlLCB0aGVuIGZvciBlYWNoIGFjY2Vz
cworICAgICAgICB0byB8ZGV0YWlsfCwgdGhlIHZhbHVlIGlzIGRlc2VyaWFsaXplZCBmaXJzdC4g
VGhpcyB3YXksIGVhY2ggd29ybGQgZ2V0cyBhIGRpZmZlcmVudAorICAgICAgICBkZXNlcmlhbGl6
YXRpb24uCisKKyAgICAgICAgKiBkb20vQ3VzdG9tRXZlbnQuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6Q3VzdG9tRXZlbnQ6OmluaXRDdXN0b21FdmVudCk6CisgICAgICAgIChXZWJDb3JlKToKKyAg
ICAgICAgKFdlYkNvcmU6OkN1c3RvbUV2ZW50OjpkZXRhaWwpOgorICAgICAgICAqIGRvbS9DdXN0
b21FdmVudC5oOgorICAgICAgICAoQ3VzdG9tRXZlbnQpOgorCiAyMDEyLTExLTA1ICBTaW1vbiBI
YXVzbWFubiAgPHNpbW9uLmhhdXNtYW5uQGRpZ2lhLmNvbT4KIAogICAgICAgICBVbnJldmlld2Vk
IHRyaXZpYWwgUXQgYnVpbGQgZml4LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0N1
c3RvbUV2ZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9DdXN0b21FdmVudC5jcHAKaW5kZXgg
MjFhZTIyNTkxYTY3ZGI2YWRmMDMxYWVmNTkzNjQzNmEzOTMzOTE3MC4uNThiM2ExNGIyZTg3NTVl
NmU5YTYzYjUwMjI3YzE4OWExNjI5YjAwNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9t
L0N1c3RvbUV2ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vQ3VzdG9tRXZlbnQuY3Bw
CkBAIC0yNyw2ICsyNyw3IEBACiAjaW5jbHVkZSAiQ3VzdG9tRXZlbnQuaCIKIAogI2luY2x1ZGUg
IkV2ZW50TmFtZXMuaCIKKyNpbmNsdWRlICJTY3JpcHRTdGF0ZS5oIgogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKQEAgLTM0LDcgKzM1LDYgQEAgQ3VzdG9tRXZlbnRJbml0OjpDdXN0b21FdmVudElu
aXQoKQogewogfQogCi0KIEN1c3RvbUV2ZW50OjpDdXN0b21FdmVudCgpCiB7CiB9CkBAIC01MSw2
ICs1MSw3IEBAIEN1c3RvbUV2ZW50Ojp+Q3VzdG9tRXZlbnQoKQogCiB2b2lkIEN1c3RvbUV2ZW50
Ojppbml0Q3VzdG9tRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiB0eXBlLCBib29sIGNhbkJ1YmJs
ZSwgYm9vbCBjYW5jZWxhYmxlLCBjb25zdCBTY3JpcHRWYWx1ZSYgZGV0YWlsKQogeworICAgIEFT
U0VSVCghbV9zZXJpYWxpemVkU2NyaXB0VmFsdWUuZ2V0KCkpOwogICAgIGlmIChkaXNwYXRjaGVk
KCkpCiAgICAgICAgIHJldHVybjsKIApAQCAtNTksOSArNjAsMjcgQEAgdm9pZCBDdXN0b21FdmVu
dDo6aW5pdEN1c3RvbUV2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgdHlwZSwgYm9vbCBjYW5CdWJi
bGUsIGJvb2wKICAgICBtX2RldGFpbCA9IGRldGFpbDsKIH0KIAordm9pZCBDdXN0b21FdmVudDo6
aW5pdEN1c3RvbUV2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgdHlwZSwgYm9vbCBjYW5CdWJibGUs
IGJvb2wgY2FuY2VsYWJsZSwgUGFzc1JlZlB0cjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+IHNlcmlh
bGl6ZWRTY3JpcHRWYWx1ZSkKK3sKKyAgICBBU1NFUlQobV9kZXRhaWwuaXNVbmRlZmluZWQoKSk7
CisgICAgaWYgKGRpc3BhdGNoZWQoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgaW5pdEV2ZW50
KHR5cGUsIGNhbkJ1YmJsZSwgY2FuY2VsYWJsZSk7CisKKyAgICBtX3NlcmlhbGl6ZWRTY3JpcHRW
YWx1ZSA9IHNlcmlhbGl6ZWRTY3JpcHRWYWx1ZTsKK30KKwogY29uc3QgQXRvbWljU3RyaW5nJiBD
dXN0b21FdmVudDo6aW50ZXJmYWNlTmFtZSgpIGNvbnN0CiB7CiAgICAgcmV0dXJuIGV2ZW50TmFt
ZXMoKS5pbnRlcmZhY2VGb3JDdXN0b21FdmVudDsKIH0KIAorY29uc3QgU2NyaXB0VmFsdWUmIEN1
c3RvbUV2ZW50OjpkZXRhaWwoKQoreworICAgIGlmIChtX3NlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5n
ZXQoKSkKKyAgICAgICAgbV9kZXRhaWwgPSBTY3JpcHRWYWx1ZTo6ZGVzZXJpYWxpemUoU2NyaXB0
U3RhdGU6OmN1cnJlbnQoKSwgbV9zZXJpYWxpemVkU2NyaXB0VmFsdWUuZ2V0KCkpOworICAgIHJl
dHVybiBtX2RldGFpbDsKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvZG9tL0N1c3RvbUV2ZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vQ3Vz
dG9tRXZlbnQuaAppbmRleCBkOTJmZGE1MzFmYTk5M2MyNDM1MGZiMDViOTRlMjZkNWUwYzg5NGQ2
Li45YzY3MzFhY2I1MWE4ODExNGViNmI2N2VlMzM3NzIyYTZmYzI2MTU2IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9kb20vQ3VzdG9tRXZlbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20v
Q3VzdG9tRXZlbnQuaApAQCAtMjgsNiArMjgsNyBAQAogCiAjaW5jbHVkZSAiRXZlbnQuaCIKICNp
bmNsdWRlICJTY3JpcHRWYWx1ZS5oIgorI2luY2x1ZGUgIlNlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5o
IgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTUyLDE2ICs1MywxOCBAQCBwdWJsaWM6CiAg
ICAgfQogCiAgICAgdm9pZCBpbml0Q3VzdG9tRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiB0eXBl
LCBib29sIGNhbkJ1YmJsZSwgYm9vbCBjYW5jZWxhYmxlLCBjb25zdCBTY3JpcHRWYWx1ZSYgZGV0
YWlsKTsKKyAgICB2b2lkIGluaXRDdXN0b21FdmVudChjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUs
IGJvb2wgY2FuQnViYmxlLCBib29sIGNhbmNlbGFibGUsIFBhc3NSZWZQdHI8U2VyaWFsaXplZFNj
cmlwdFZhbHVlPik7CiAKICAgICB2aXJ0dWFsIGNvbnN0IEF0b21pY1N0cmluZyYgaW50ZXJmYWNl
TmFtZSgpIGNvbnN0OwogCi0gICAgY29uc3QgU2NyaXB0VmFsdWUmIGRldGFpbCgpIGNvbnN0IHsg
cmV0dXJuIG1fZGV0YWlsOyB9CisgICAgY29uc3QgU2NyaXB0VmFsdWUmIGRldGFpbCgpOwogCiBw
cml2YXRlOgogICAgIEN1c3RvbUV2ZW50KCk7CiAgICAgQ3VzdG9tRXZlbnQoY29uc3QgQXRvbWlj
U3RyaW5nJiB0eXBlLCBjb25zdCBDdXN0b21FdmVudEluaXQmIGluaXRpYWxpemVyKTsKIAogICAg
IFNjcmlwdFZhbHVlIG1fZGV0YWlsOworICAgIFJlZlB0cjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+
IG1fc2VyaWFsaXplZFNjcmlwdFZhbHVlOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>172601</attachid>
            <date>2012-11-06 09:16:49 -0800</date>
            <delta_ts>2012-11-06 10:05:38 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-101348-20121106121502.patch</filename>
            <type>text/plain</type>
            <size>8679</size>
            <attacher name="Sadrul Habib Chowdhury">sadrul</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMzNDUwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjYwM2FiYjRjMjMyODZi
ZGE3OTc1NmU2NWU3YzU1ZWY4ODgxNWQxNi4uYWJkN2IxNzUwMzI1ZjUwMDU4MDhmMWVlNjU0MWE3
N2MyNzc1Y2UxZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDEyLTExLTA2ICBTYWRy
dWwgSGFiaWIgQ2hvd2RodXJ5ICA8c2FkcnVsQGNocm9taXVtLm9yZz4KKworICAgICAgICBDdXN0
b21FdmVudDogQWxsb3cgdGFraW5nIGluIGEgc2VyaWFsaXplZCB2YWx1ZSBkdXJpbmcgaW5pdGlh
bGl6YXRpb24uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xMDEzNDgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBJZiBhIEN1c3RvbUV2ZW50IGlzIGluaXRpYWxpemVkIHVzaW5nIGEgc2VyaWFsaXplZCB2YWx1
ZSwgdGhlbiBmb3IgZWFjaCBhY2Nlc3MKKyAgICAgICAgdG8gfGRldGFpbHwsIHRoZSB2YWx1ZSBp
cyBkZXNlcmlhbGl6ZWQgZmlyc3QuIFRoaXMgd2F5LCBlYWNoIHdvcmxkIGdldHMgYSBkaWZmZXJl
bnQKKyAgICAgICAgZGVzZXJpYWxpemF0aW9uLgorCisgICAgICAgICogVXNlVjguY21ha2U6Cisg
ICAgICAgICogV2ViQ29yZS5neXBpOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOEN1
c3RvbUV2ZW50Q3VzdG9tLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAg
KFdlYkNvcmU6OnRvVjgpOgorICAgICAgICAoV2ViQ29yZTo6VjhDdXN0b21FdmVudDo6ZGV0YWls
QWNjZXNzb3JHZXR0ZXIpOgorICAgICAgICAqIGRvbS9DdXN0b21FdmVudC5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpDdXN0b21FdmVudDo6aW5pdEN1c3RvbUV2ZW50KToKKyAgICAgICAgKFdlYkNv
cmUpOgorICAgICAgICAqIGRvbS9DdXN0b21FdmVudC5oOgorICAgICAgICAoQ3VzdG9tRXZlbnQp
OgorICAgICAgICAoV2ViQ29yZTo6Q3VzdG9tRXZlbnQ6OnNlcmlhbGl6ZWRTY3JpcHRWYWx1ZSk6
CisgICAgICAgICogZG9tL0N1c3RvbUV2ZW50LmlkbDoKKwogMjAxMi0xMS0wNSAgU2ltb24gSGF1
c21hbm4gIDxzaW1vbi5oYXVzbWFubkBkaWdpYS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCB0
cml2aWFsIFF0IGJ1aWxkIGZpeC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1VzZVY4LmNt
YWtlIGIvU291cmNlL1dlYkNvcmUvVXNlVjguY21ha2UKaW5kZXggYjYzNThmN2M3NjVmZGJkZGFk
MTVmZTQ4MGE4ZGQzMDNhNTU3N2NlOC4uM2IyMTliOTY0MzJiMzgwODE0MjQzNWNhNDkzZTA1ZmRm
ZGM2OGZkOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvVXNlVjguY21ha2UKKysrIGIvU291
cmNlL1dlYkNvcmUvVXNlVjguY21ha2UKQEAgLTg1LDYgKzg1LDcgQEAgTElTVChBUFBFTkQgV2Vi
Q29yZV9TT1VSQ0VTCiAgICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4Q2xpcGJvYXJkQ3VzdG9tLmNw
cAogICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOENvbnNvbGVDdXN0b20uY3BwCiAgICAgYmluZGlu
Z3MvdjgvY3VzdG9tL1Y4Q29vcmRpbmF0ZXNDdXN0b20uY3BwCisgICAgYmluZGluZ3MvdjgvY3Vz
dG9tL1Y4Q3VzdG9tRXZlbnRDdXN0b20uY3BwCiAgICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4Q3Vz
dG9tU1FMU3RhdGVtZW50RXJyb3JDYWxsYmFjay5jcHAKICAgICBiaW5kaW5ncy92OC9jdXN0b20v
VjhDdXN0b21YUGF0aE5TUmVzb2x2ZXIuY3BwCiAgICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4RE9N
Rm9ybURhdGFDdXN0b20uY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5
cGkgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKaW5kZXggMTgyMDU0OTk2ZTZhYWVjYmZm
YWQxYWNmYmFiZTMwY2E5YjE2ZTVjMi4uNDNiMTMwYWJjNGIyMzc4MGYxNjk3MDNhOTdmN2YwMDZj
ZjAyZGQ1MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQpAQCAtMjM3Miw2ICsyMzcyLDcgQEAKICAgICAgICAg
ICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhDbGlwYm9hcmRDdXN0b20uY3BwJywKICAgICAgICAg
ICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhDb25zb2xlQ3VzdG9tLmNwcCcsCiAgICAgICAgICAg
ICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4Q29vcmRpbmF0ZXNDdXN0b20uY3BwJywKKyAgICAgICAg
ICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhDdXN0b21FdmVudEN1c3RvbS5jcHAnLAogICAgICAg
ICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEN1c3RvbVNRTFN0YXRlbWVudEVycm9yQ2FsbGJh
Y2suY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhDdXN0b21YUGF0aE5T
UmVzb2x2ZXIuY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20vVjhDdXN0b21Y
UGF0aE5TUmVzb2x2ZXIuaCcsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92
OC9jdXN0b20vVjhDdXN0b21FdmVudEN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy92OC9jdXN0b20vVjhDdXN0b21FdmVudEN1c3RvbS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMWU4NjdmZjEz
ZmM5MjBlZmQyMjA4NTViMzQ3ZTY3NDZmZmQwM2Y0NwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEN1c3RvbUV2ZW50Q3VzdG9tLmNwcApAQCAt
MCwwICsxLDY1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEyIEdvb2dsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlCisgKiBt
ZXQ6CisgKgorICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqICAgICAqIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqIGNvcHlyaWdodCBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIKKyAqIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUKKyAqIGRpc3RyaWJ1dGlvbi4KKyAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUg
b2YgR29vZ2xlIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqIGNvbnRyaWJ1dG9ycyBtYXkg
YmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCisgKiB0
aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgor
ICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJT
IEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFS
VElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09Q
WVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICog
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIlY4Q3VzdG9tRXZlbnQu
aCIKKworI2luY2x1ZGUgIkJpbmRpbmdTdGF0ZS5oIgorI2luY2x1ZGUgIkNvbnRleHRGZWF0dXJl
cy5oIgorI2luY2x1ZGUgIkRpY3Rpb25hcnkuaCIKKyNpbmNsdWRlICJFeGNlcHRpb25Db2RlLmgi
CisjaW5jbHVkZSAiRnJhbWUuaCIKKyNpbmNsdWRlICJSdW50aW1lRW5hYmxlZEZlYXR1cmVzLmgi
CisjaW5jbHVkZSAiU2NyaXB0U3RhdGUuaCIKKyNpbmNsdWRlICJTY3JpcHRWYWx1ZS5oIgorI2lu
Y2x1ZGUgIlY4QmluZGluZy5oIgorI2luY2x1ZGUgIlY4RE9NV3JhcHBlci5oIgorI2luY2x1ZGUg
IlY4RXZlbnQuaCIKKyNpbmNsdWRlIDx3dGYvVW51c2VkUGFyYW0uaD4KKworbmFtZXNwYWNlIFdl
YkNvcmUgeworCit2ODo6SGFuZGxlPHY4OjpWYWx1ZT4gdG9WOChDdXN0b21FdmVudCogaW1wbCwg
djg6OkhhbmRsZTx2ODo6T2JqZWN0PiBjcmVhdGlvbkNvbnRleHQsIHY4OjpJc29sYXRlKiBpc29s
YXRlKQoreworICAgIHJldHVybiBWOEN1c3RvbUV2ZW50Ojp3cmFwKGltcGwsIGNyZWF0aW9uQ29u
dGV4dCwgaXNvbGF0ZSk7Cit9CisKK3Y4OjpIYW5kbGU8djg6OlZhbHVlPiBWOEN1c3RvbUV2ZW50
OjpkZXRhaWxBY2Nlc3NvckdldHRlcih2ODo6TG9jYWw8djg6OlN0cmluZz4gbmFtZSwgY29uc3Qg
djg6OkFjY2Vzc29ySW5mbyYgaW5mbykKK3sKKyAgICBJTkNfU1RBVFMoIkRPTS5DdXN0b21FdmVu
dC5kZXRhaWwuX2dldCIpOworICAgIEN1c3RvbUV2ZW50KiBpbXAgPSBWOEN1c3RvbUV2ZW50Ojp0
b05hdGl2ZShpbmZvLkhvbGRlcigpKTsKKyAgICBSZWZQdHI8U2VyaWFsaXplZFNjcmlwdFZhbHVl
PiBzZXJpYWxpemVkOworICAgIHNlcmlhbGl6ZWQgPSBpbXAtPnNlcmlhbGl6ZWRTY3JpcHRWYWx1
ZSgpOworICAgIGlmIChzZXJpYWxpemVkLmdldCgpKQorICAgICAgICByZXR1cm4gU2NyaXB0VmFs
dWU6OmRlc2VyaWFsaXplKFNjcmlwdFN0YXRlOjpmb3JDb250ZXh0KGluZm8uSG9sZGVyKCktPkNy
ZWF0aW9uQ29udGV4dCgpKSwgc2VyaWFsaXplZC5nZXQoKSkudjhWYWx1ZSgpOworICAgIHJldHVy
biBpbXAtPmRldGFpbCgpLnY4VmFsdWUoKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0N1c3RvbUV2ZW50LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9DdXN0b21FdmVudC5jcHAKaW5kZXggMjFhZTIyNTkxYTY3ZGI2YWRmMDMxYWVm
NTkzNjQzNmEzOTMzOTE3MC4uMzRiY2Y0M2JhNjQzMmQ4OTg2MmJlMWE1ZWRmYTBkMGY0ZWNmZWFi
ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0N1c3RvbUV2ZW50LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9kb20vQ3VzdG9tRXZlbnQuY3BwCkBAIC0zNCw3ICszNCw2IEBAIEN1c3Rv
bUV2ZW50SW5pdDo6Q3VzdG9tRXZlbnRJbml0KCkKIHsKIH0KIAotCiBDdXN0b21FdmVudDo6Q3Vz
dG9tRXZlbnQoKQogewogfQpAQCAtNTEsNiArNTAsNyBAQCBDdXN0b21FdmVudDo6fkN1c3RvbUV2
ZW50KCkKIAogdm9pZCBDdXN0b21FdmVudDo6aW5pdEN1c3RvbUV2ZW50KGNvbnN0IEF0b21pY1N0
cmluZyYgdHlwZSwgYm9vbCBjYW5CdWJibGUsIGJvb2wgY2FuY2VsYWJsZSwgY29uc3QgU2NyaXB0
VmFsdWUmIGRldGFpbCkKIHsKKyAgICBBU1NFUlQoIW1fc2VyaWFsaXplZFNjcmlwdFZhbHVlLmdl
dCgpKTsKICAgICBpZiAoZGlzcGF0Y2hlZCgpKQogICAgICAgICByZXR1cm47CiAKQEAgLTU5LDYg
KzU5LDE3IEBAIHZvaWQgQ3VzdG9tRXZlbnQ6OmluaXRDdXN0b21FdmVudChjb25zdCBBdG9taWNT
dHJpbmcmIHR5cGUsIGJvb2wgY2FuQnViYmxlLCBib29sCiAgICAgbV9kZXRhaWwgPSBkZXRhaWw7
CiB9CiAKK3ZvaWQgQ3VzdG9tRXZlbnQ6OmluaXRDdXN0b21FdmVudChjb25zdCBBdG9taWNTdHJp
bmcmIHR5cGUsIGJvb2wgY2FuQnViYmxlLCBib29sIGNhbmNlbGFibGUsIFBhc3NSZWZQdHI8U2Vy
aWFsaXplZFNjcmlwdFZhbHVlPiBzZXJpYWxpemVkU2NyaXB0VmFsdWUpCit7CisgICAgQVNTRVJU
KG1fZGV0YWlsLmlzVW5kZWZpbmVkKCkpOworICAgIGlmIChkaXNwYXRjaGVkKCkpCisgICAgICAg
IHJldHVybjsKKworICAgIGluaXRFdmVudCh0eXBlLCBjYW5CdWJibGUsIGNhbmNlbGFibGUpOwor
CisgICAgbV9zZXJpYWxpemVkU2NyaXB0VmFsdWUgPSBzZXJpYWxpemVkU2NyaXB0VmFsdWU7Cit9
CisKIGNvbnN0IEF0b21pY1N0cmluZyYgQ3VzdG9tRXZlbnQ6OmludGVyZmFjZU5hbWUoKSBjb25z
dAogewogICAgIHJldHVybiBldmVudE5hbWVzKCkuaW50ZXJmYWNlRm9yQ3VzdG9tRXZlbnQ7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vQ3VzdG9tRXZlbnQuaCBiL1NvdXJjZS9XZWJD
b3JlL2RvbS9DdXN0b21FdmVudC5oCmluZGV4IGQ5MmZkYTUzMWZhOTkzYzI0MzUwZmIwNWI5NGUy
NmQ1ZTBjODk0ZDYuLjU4MTMzMWRhNjRhMzcwMDY4OTQ3MzZiNWQ4OTk0OGM4NWFmMjk3NTcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9DdXN0b21FdmVudC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9DdXN0b21FdmVudC5oCkBAIC0yOCw2ICsyOCw3IEBACiAKICNpbmNsdWRlICJF
dmVudC5oIgogI2luY2x1ZGUgIlNjcmlwdFZhbHVlLmgiCisjaW5jbHVkZSAiU2VyaWFsaXplZFNj
cmlwdFZhbHVlLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtNTIsMTYgKzUzLDE5IEBA
IHB1YmxpYzoKICAgICB9CiAKICAgICB2b2lkIGluaXRDdXN0b21FdmVudChjb25zdCBBdG9taWNT
dHJpbmcmIHR5cGUsIGJvb2wgY2FuQnViYmxlLCBib29sIGNhbmNlbGFibGUsIGNvbnN0IFNjcmlw
dFZhbHVlJiBkZXRhaWwpOworICAgIHZvaWQgaW5pdEN1c3RvbUV2ZW50KGNvbnN0IEF0b21pY1N0
cmluZyYgdHlwZSwgYm9vbCBjYW5CdWJibGUsIGJvb2wgY2FuY2VsYWJsZSwgUGFzc1JlZlB0cjxT
ZXJpYWxpemVkU2NyaXB0VmFsdWU+KTsKIAogICAgIHZpcnR1YWwgY29uc3QgQXRvbWljU3RyaW5n
JiBpbnRlcmZhY2VOYW1lKCkgY29uc3Q7CiAKICAgICBjb25zdCBTY3JpcHRWYWx1ZSYgZGV0YWls
KCkgY29uc3QgeyByZXR1cm4gbV9kZXRhaWw7IH0KKyAgICBQYXNzUmVmUHRyPFNlcmlhbGl6ZWRT
Y3JpcHRWYWx1ZT4gc2VyaWFsaXplZFNjcmlwdFZhbHVlKCkgeyByZXR1cm4gbV9zZXJpYWxpemVk
U2NyaXB0VmFsdWU7IH0KIAogcHJpdmF0ZToKICAgICBDdXN0b21FdmVudCgpOwogICAgIEN1c3Rv
bUV2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgdHlwZSwgY29uc3QgQ3VzdG9tRXZlbnRJbml0JiBp
bml0aWFsaXplcik7CiAKICAgICBTY3JpcHRWYWx1ZSBtX2RldGFpbDsKKyAgICBSZWZQdHI8U2Vy
aWFsaXplZFNjcmlwdFZhbHVlPiBtX3NlcmlhbGl6ZWRTY3JpcHRWYWx1ZTsKIH07CiAKIH0gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9DdXN0b21F
dmVudC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9kb20vQ3VzdG9tRXZlbnQuaWRsCmluZGV4IDAyZGMx
OWRkMDE4NTZmNTY2YTQ1MTc1YTUzZmUyY2MzYTg4OWExMDguLjEzMzZjN2RjYTUyZGQ1ZTRiZmFi
YmE5ZmI4ZTI4ZGFhOWU1NzIwYTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9DdXN0
b21FdmVudC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0N1c3RvbUV2ZW50LmlkbApAQCAt
MjYsOSArMjYsMTAgQEAKICNpZiAhZGVmaW5lZChMQU5HVUFHRV9DUFApIHx8ICFMQU5HVUFHRV9D
UFAKIC8vIEludHJvZHVjZWQgaW4gRE9NIExldmVsIDM6CiBbCisgICAgQ3VzdG9tVG9KU09iamVj
dCwKICAgICBDb25zdHJ1Y3RvclRlbXBsYXRlPUV2ZW50CiBdIGludGVyZmFjZSBDdXN0b21FdmVu
dCA6IEV2ZW50IHsKLSAgICBbSW5pdGlhbGl6ZWRCeUV2ZW50Q29uc3RydWN0b3JdIHJlYWRvbmx5
IGF0dHJpYnV0ZSBET01PYmplY3QgZGV0YWlsOworICAgIFtDdXN0b21dIHJlYWRvbmx5IGF0dHJp
YnV0ZSBET01PYmplY3QgZGV0YWlsOwogCiAgICAgdm9pZCBpbml0Q3VzdG9tRXZlbnQoaW4gW09w
dGlvbmFsPURlZmF1bHRJc1VuZGVmaW5lZF0gRE9NU3RyaW5nIHR5cGVBcmcsIAogICAgICAgICAg
ICAgICAgICAgICAgICAgIGluIFtPcHRpb25hbD1EZWZhdWx0SXNVbmRlZmluZWRdIGJvb2xlYW4g
Y2FuQnViYmxlQXJnLCAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>172604</attachid>
            <date>2012-11-06 09:31:03 -0800</date>
            <delta_ts>2012-11-06 10:05:54 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-101348-20121106122916.patch</filename>
            <type>text/plain</type>
            <size>8371</size>
            <attacher name="Sadrul Habib Chowdhury">sadrul</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMzNDUwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjYwM2FiYjRjMjMyODZi
ZGE3OTc1NmU2NWU3YzU1ZWY4ODgxNWQxNi4uOWZkMTFiYmUxYjc3MGRmNDk1ZDkwODkyZDY1MjNl
M2VlYWEwMTBhYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDEyLTExLTA2ICBTYWRy
dWwgSGFiaWIgQ2hvd2RodXJ5ICA8c2FkcnVsQGNocm9taXVtLm9yZz4KKworICAgICAgICBDdXN0
b21FdmVudDogQWxsb3cgdGFraW5nIGluIGEgc2VyaWFsaXplZCB2YWx1ZSBkdXJpbmcgaW5pdGlh
bGl6YXRpb24uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xMDEzNDgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBJZiBhIEN1c3RvbUV2ZW50IGlzIGluaXRpYWxpemVkIHVzaW5nIGEgc2VyaWFsaXplZCB2YWx1
ZSwgdGhlbiBmb3IgZWFjaCBhY2Nlc3MKKyAgICAgICAgdG8gfGRldGFpbHwsIHRoZSB2YWx1ZSBp
cyBkZXNlcmlhbGl6ZWQgZmlyc3QuIFRoaXMgd2F5LCBlYWNoIHdvcmxkIGdldHMgYSBkaWZmZXJl
bnQKKyAgICAgICAgZGVzZXJpYWxpemF0aW9uLgorCisgICAgICAgICogVXNlVjguY21ha2U6Cisg
ICAgICAgICogV2ViQ29yZS5neXBpOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOEN1
c3RvbUV2ZW50Q3VzdG9tLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAg
KFdlYkNvcmU6OlY4Q3VzdG9tRXZlbnQ6OmRldGFpbEFjY2Vzc29yR2V0dGVyKToKKyAgICAgICAg
KiBkb20vQ3VzdG9tRXZlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q3VzdG9tRXZlbnQ6Omlu
aXRDdXN0b21FdmVudCk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBkb20vQ3VzdG9t
RXZlbnQuaDoKKyAgICAgICAgKEN1c3RvbUV2ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkN1c3Rv
bUV2ZW50OjpzZXJpYWxpemVkU2NyaXB0VmFsdWUpOgorICAgICAgICAqIGRvbS9DdXN0b21FdmVu
dC5pZGw6CisKIDIwMTItMTEtMDUgIFNpbW9uIEhhdXNtYW5uICA8c2ltb24uaGF1c21hbm5AZGln
aWEuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQgdHJpdmlhbCBRdCBidWlsZCBmaXguCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Vc2VWOC5jbWFrZSBiL1NvdXJjZS9XZWJDb3JlL1VzZVY4
LmNtYWtlCmluZGV4IGI2MzU4ZjdjNzY1ZmRiZGRhZDE1ZmU0ODBhOGRkMzAzYTU1NzdjZTguLjNi
MjE5Yjk2NDMyYjM4MDgxNDI0MzVjYTQ5M2UwNWZkZmRjNjhmZDggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL1VzZVY4LmNtYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL1VzZVY4LmNtYWtlCkBA
IC04NSw2ICs4NSw3IEBAIExJU1QoQVBQRU5EIFdlYkNvcmVfU09VUkNFUwogICAgIGJpbmRpbmdz
L3Y4L2N1c3RvbS9WOENsaXBib2FyZEN1c3RvbS5jcHAKICAgICBiaW5kaW5ncy92OC9jdXN0b20v
VjhDb25zb2xlQ3VzdG9tLmNwcAogICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOENvb3JkaW5hdGVz
Q3VzdG9tLmNwcAorICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOEN1c3RvbUV2ZW50Q3VzdG9tLmNw
cAogICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOEN1c3RvbVNRTFN0YXRlbWVudEVycm9yQ2FsbGJh
Y2suY3BwCiAgICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4Q3VzdG9tWFBhdGhOU1Jlc29sdmVyLmNw
cAogICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOERPTUZvcm1EYXRhQ3VzdG9tLmNwcApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpIGIvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS5neXBpCmluZGV4IDE4MjA1NDk5NmU2YWFlY2JmZmFkMWFjZmJhYmUzMGNhOWIxNmU1YzIuLjQz
YjEzMGFiYzRiMjM3ODBmMTY5NzAzYTk3ZjdmMDA2Y2YwMmRkNTAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkK
QEAgLTIzNzIsNiArMjM3Miw3IEBACiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4
Q2xpcGJvYXJkQ3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4
Q29uc29sZUN1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOENv
b3JkaW5hdGVzQ3VzdG9tLmNwcCcsCisgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4
Q3VzdG9tRXZlbnRDdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20v
VjhDdXN0b21TUUxTdGF0ZW1lbnRFcnJvckNhbGxiYWNrLmNwcCcsCiAgICAgICAgICAgICAnYmlu
ZGluZ3MvdjgvY3VzdG9tL1Y4Q3VzdG9tWFBhdGhOU1Jlc29sdmVyLmNwcCcsCiAgICAgICAgICAg
ICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4Q3VzdG9tWFBhdGhOU1Jlc29sdmVyLmgnLApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4Q3VzdG9tRXZlbnRDdXN0
b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4Q3VzdG9tRXZlbnRD
dXN0b20uY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIzODBlOTMyOTM1NWU0YWU2ZTMwMWQ1MmRmZGI0ZTk1YmEw
N2E5MzEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0
b20vVjhDdXN0b21FdmVudEN1c3RvbS5jcHAKQEAgLTAsMCArMSw2MCBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRp
b24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFt
ZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9t
b3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNp
ZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMg
SVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJ
QlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisg
KiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25m
aWcuaCIKKyNpbmNsdWRlICJWOEN1c3RvbUV2ZW50LmgiCisKKyNpbmNsdWRlICJCaW5kaW5nU3Rh
dGUuaCIKKyNpbmNsdWRlICJDb250ZXh0RmVhdHVyZXMuaCIKKyNpbmNsdWRlICJEaWN0aW9uYXJ5
LmgiCisjaW5jbHVkZSAiRXhjZXB0aW9uQ29kZS5oIgorI2luY2x1ZGUgIkZyYW1lLmgiCisjaW5j
bHVkZSAiUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oIgorI2luY2x1ZGUgIlNjcmlwdFN0YXRlLmgi
CisjaW5jbHVkZSAiU2NyaXB0VmFsdWUuaCIKKyNpbmNsdWRlICJWOEJpbmRpbmcuaCIKKyNpbmNs
dWRlICJWOERPTVdyYXBwZXIuaCIKKyNpbmNsdWRlICJWOEV2ZW50LmgiCisjaW5jbHVkZSA8d3Rm
L1VudXNlZFBhcmFtLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwordjg6OkhhbmRsZTx2ODo6
VmFsdWU+IFY4Q3VzdG9tRXZlbnQ6OmRldGFpbEFjY2Vzc29yR2V0dGVyKHY4OjpMb2NhbDx2ODo6
U3RyaW5nPiBuYW1lLCBjb25zdCB2ODo6QWNjZXNzb3JJbmZvJiBpbmZvKQoreworICAgIElOQ19T
VEFUUygiRE9NLkN1c3RvbUV2ZW50LmRldGFpbC5fZ2V0Iik7CisgICAgQ3VzdG9tRXZlbnQqIGlt
cCA9IFY4Q3VzdG9tRXZlbnQ6OnRvTmF0aXZlKGluZm8uSG9sZGVyKCkpOworICAgIFJlZlB0cjxT
ZXJpYWxpemVkU2NyaXB0VmFsdWU+IHNlcmlhbGl6ZWQ7CisgICAgc2VyaWFsaXplZCA9IGltcC0+
c2VyaWFsaXplZFNjcmlwdFZhbHVlKCk7CisgICAgaWYgKHNlcmlhbGl6ZWQuZ2V0KCkpCisgICAg
ICAgIHJldHVybiBTY3JpcHRWYWx1ZTo6ZGVzZXJpYWxpemUoU2NyaXB0U3RhdGU6OmZvckNvbnRl
eHQoaW5mby5Ib2xkZXIoKS0+Q3JlYXRpb25Db250ZXh0KCkpLCBzZXJpYWxpemVkLmdldCgpKS52
OFZhbHVlKCk7CisgICAgcmV0dXJuIGltcC0+ZGV0YWlsKCkudjhWYWx1ZSgpOworfQorCit9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vQ3VzdG9t
RXZlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0N1c3RvbUV2ZW50LmNwcAppbmRleCAyMWFl
MjI1OTFhNjdkYjZhZGYwMzFhZWY1OTM2NDM2YTM5MzM5MTcwLi4zNGJjZjQzYmE2NDMyZDg5ODYy
YmUxYTVlZGZhMGQwZjRlY2ZlYWJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vQ3Vz
dG9tRXZlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9DdXN0b21FdmVudC5jcHAKQEAg
LTM0LDcgKzM0LDYgQEAgQ3VzdG9tRXZlbnRJbml0OjpDdXN0b21FdmVudEluaXQoKQogewogfQog
Ci0KIEN1c3RvbUV2ZW50OjpDdXN0b21FdmVudCgpCiB7CiB9CkBAIC01MSw2ICs1MCw3IEBAIEN1
c3RvbUV2ZW50Ojp+Q3VzdG9tRXZlbnQoKQogCiB2b2lkIEN1c3RvbUV2ZW50Ojppbml0Q3VzdG9t
RXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiB0eXBlLCBib29sIGNhbkJ1YmJsZSwgYm9vbCBjYW5j
ZWxhYmxlLCBjb25zdCBTY3JpcHRWYWx1ZSYgZGV0YWlsKQogeworICAgIEFTU0VSVCghbV9zZXJp
YWxpemVkU2NyaXB0VmFsdWUuZ2V0KCkpOwogICAgIGlmIChkaXNwYXRjaGVkKCkpCiAgICAgICAg
IHJldHVybjsKIApAQCAtNTksNiArNTksMTcgQEAgdm9pZCBDdXN0b21FdmVudDo6aW5pdEN1c3Rv
bUV2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgdHlwZSwgYm9vbCBjYW5CdWJibGUsIGJvb2wKICAg
ICBtX2RldGFpbCA9IGRldGFpbDsKIH0KIAordm9pZCBDdXN0b21FdmVudDo6aW5pdEN1c3RvbUV2
ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgdHlwZSwgYm9vbCBjYW5CdWJibGUsIGJvb2wgY2FuY2Vs
YWJsZSwgUGFzc1JlZlB0cjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+IHNlcmlhbGl6ZWRTY3JpcHRW
YWx1ZSkKK3sKKyAgICBBU1NFUlQobV9kZXRhaWwuaXNVbmRlZmluZWQoKSk7CisgICAgaWYgKGRp
c3BhdGNoZWQoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgaW5pdEV2ZW50KHR5cGUsIGNhbkJ1
YmJsZSwgY2FuY2VsYWJsZSk7CisKKyAgICBtX3NlcmlhbGl6ZWRTY3JpcHRWYWx1ZSA9IHNlcmlh
bGl6ZWRTY3JpcHRWYWx1ZTsKK30KKwogY29uc3QgQXRvbWljU3RyaW5nJiBDdXN0b21FdmVudDo6
aW50ZXJmYWNlTmFtZSgpIGNvbnN0CiB7CiAgICAgcmV0dXJuIGV2ZW50TmFtZXMoKS5pbnRlcmZh
Y2VGb3JDdXN0b21FdmVudDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9DdXN0b21F
dmVudC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0N1c3RvbUV2ZW50LmgKaW5kZXggZDkyZmRhNTMx
ZmE5OTNjMjQzNTBmYjA1Yjk0ZTI2ZDVlMGM4OTRkNi4uNTgxMzMxZGE2NGEzNzAwNjg5NDczNmI1
ZDg5OTQ4Yzg1YWYyOTc1NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0N1c3RvbUV2
ZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0N1c3RvbUV2ZW50LmgKQEAgLTI4LDYgKzI4
LDcgQEAKIAogI2luY2x1ZGUgIkV2ZW50LmgiCiAjaW5jbHVkZSAiU2NyaXB0VmFsdWUuaCIKKyNp
bmNsdWRlICJTZXJpYWxpemVkU2NyaXB0VmFsdWUuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewog
CkBAIC01MiwxNiArNTMsMTkgQEAgcHVibGljOgogICAgIH0KIAogICAgIHZvaWQgaW5pdEN1c3Rv
bUV2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgdHlwZSwgYm9vbCBjYW5CdWJibGUsIGJvb2wgY2Fu
Y2VsYWJsZSwgY29uc3QgU2NyaXB0VmFsdWUmIGRldGFpbCk7CisgICAgdm9pZCBpbml0Q3VzdG9t
RXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiB0eXBlLCBib29sIGNhbkJ1YmJsZSwgYm9vbCBjYW5j
ZWxhYmxlLCBQYXNzUmVmUHRyPFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4pOwogCiAgICAgdmlydHVh
bCBjb25zdCBBdG9taWNTdHJpbmcmIGludGVyZmFjZU5hbWUoKSBjb25zdDsKIAogICAgIGNvbnN0
IFNjcmlwdFZhbHVlJiBkZXRhaWwoKSBjb25zdCB7IHJldHVybiBtX2RldGFpbDsgfQorICAgIFBh
c3NSZWZQdHI8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiBzZXJpYWxpemVkU2NyaXB0VmFsdWUoKSB7
IHJldHVybiBtX3NlcmlhbGl6ZWRTY3JpcHRWYWx1ZTsgfQogCiBwcml2YXRlOgogICAgIEN1c3Rv
bUV2ZW50KCk7CiAgICAgQ3VzdG9tRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiB0eXBlLCBjb25z
dCBDdXN0b21FdmVudEluaXQmIGluaXRpYWxpemVyKTsKIAogICAgIFNjcmlwdFZhbHVlIG1fZGV0
YWlsOworICAgIFJlZlB0cjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+IG1fc2VyaWFsaXplZFNjcmlw
dFZhbHVlOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvZG9tL0N1c3RvbUV2ZW50LmlkbCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9DdXN0b21F
dmVudC5pZGwKaW5kZXggMDJkYzE5ZGQwMTg1NmY1NjZhNDUxNzVhNTNmZTJjYzNhODg5YTEwOC4u
OWUxZWU4MzllYTliZTQ4YzcyOTUyMTQ2YzIzZjkyYjU0ZTkxNTUxNiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvZG9tL0N1c3RvbUV2ZW50LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20v
Q3VzdG9tRXZlbnQuaWRsCkBAIC0yOCw3ICsyOCw3IEBACiBbCiAgICAgQ29uc3RydWN0b3JUZW1w
bGF0ZT1FdmVudAogXSBpbnRlcmZhY2UgQ3VzdG9tRXZlbnQgOiBFdmVudCB7Ci0gICAgW0luaXRp
YWxpemVkQnlFdmVudENvbnN0cnVjdG9yXSByZWFkb25seSBhdHRyaWJ1dGUgRE9NT2JqZWN0IGRl
dGFpbDsKKyAgICBbQ3VzdG9tXSByZWFkb25seSBhdHRyaWJ1dGUgRE9NT2JqZWN0IGRldGFpbDsK
IAogICAgIHZvaWQgaW5pdEN1c3RvbUV2ZW50KGluIFtPcHRpb25hbD1EZWZhdWx0SXNVbmRlZmlu
ZWRdIERPTVN0cmluZyB0eXBlQXJnLCAKICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBbT3B0
aW9uYWw9RGVmYXVsdElzVW5kZWZpbmVkXSBib29sZWFuIGNhbkJ1YmJsZUFyZywgCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>172608</attachid>
            <date>2012-11-06 10:04:42 -0800</date>
            <delta_ts>2012-11-06 10:32:44 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-101348-20121106130254.patch</filename>
            <type>text/plain</type>
            <size>8567</size>
            <attacher name="Sadrul Habib Chowdhury">sadrul</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMzNDUwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjYwM2FiYjRjMjMyODZi
ZGE3OTc1NmU2NWU3YzU1ZWY4ODgxNWQxNi4uOWZkMTFiYmUxYjc3MGRmNDk1ZDkwODkyZDY1MjNl
M2VlYWEwMTBhYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDEyLTExLTA2ICBTYWRy
dWwgSGFiaWIgQ2hvd2RodXJ5ICA8c2FkcnVsQGNocm9taXVtLm9yZz4KKworICAgICAgICBDdXN0
b21FdmVudDogQWxsb3cgdGFraW5nIGluIGEgc2VyaWFsaXplZCB2YWx1ZSBkdXJpbmcgaW5pdGlh
bGl6YXRpb24uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xMDEzNDgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBJZiBhIEN1c3RvbUV2ZW50IGlzIGluaXRpYWxpemVkIHVzaW5nIGEgc2VyaWFsaXplZCB2YWx1
ZSwgdGhlbiBmb3IgZWFjaCBhY2Nlc3MKKyAgICAgICAgdG8gfGRldGFpbHwsIHRoZSB2YWx1ZSBp
cyBkZXNlcmlhbGl6ZWQgZmlyc3QuIFRoaXMgd2F5LCBlYWNoIHdvcmxkIGdldHMgYSBkaWZmZXJl
bnQKKyAgICAgICAgZGVzZXJpYWxpemF0aW9uLgorCisgICAgICAgICogVXNlVjguY21ha2U6Cisg
ICAgICAgICogV2ViQ29yZS5neXBpOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOEN1
c3RvbUV2ZW50Q3VzdG9tLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAg
KFdlYkNvcmU6OlY4Q3VzdG9tRXZlbnQ6OmRldGFpbEFjY2Vzc29yR2V0dGVyKToKKyAgICAgICAg
KiBkb20vQ3VzdG9tRXZlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q3VzdG9tRXZlbnQ6Omlu
aXRDdXN0b21FdmVudCk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBkb20vQ3VzdG9t
RXZlbnQuaDoKKyAgICAgICAgKEN1c3RvbUV2ZW50KToKKyAgICAgICAgKFdlYkNvcmU6OkN1c3Rv
bUV2ZW50OjpzZXJpYWxpemVkU2NyaXB0VmFsdWUpOgorICAgICAgICAqIGRvbS9DdXN0b21FdmVu
dC5pZGw6CisKIDIwMTItMTEtMDUgIFNpbW9uIEhhdXNtYW5uICA8c2ltb24uaGF1c21hbm5AZGln
aWEuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQgdHJpdmlhbCBRdCBidWlsZCBmaXguCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Vc2VWOC5jbWFrZSBiL1NvdXJjZS9XZWJDb3JlL1VzZVY4
LmNtYWtlCmluZGV4IGI2MzU4ZjdjNzY1ZmRiZGRhZDE1ZmU0ODBhOGRkMzAzYTU1NzdjZTguLjNi
MjE5Yjk2NDMyYjM4MDgxNDI0MzVjYTQ5M2UwNWZkZmRjNjhmZDggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL1VzZVY4LmNtYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL1VzZVY4LmNtYWtlCkBA
IC04NSw2ICs4NSw3IEBAIExJU1QoQVBQRU5EIFdlYkNvcmVfU09VUkNFUwogICAgIGJpbmRpbmdz
L3Y4L2N1c3RvbS9WOENsaXBib2FyZEN1c3RvbS5jcHAKICAgICBiaW5kaW5ncy92OC9jdXN0b20v
VjhDb25zb2xlQ3VzdG9tLmNwcAogICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOENvb3JkaW5hdGVz
Q3VzdG9tLmNwcAorICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOEN1c3RvbUV2ZW50Q3VzdG9tLmNw
cAogICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOEN1c3RvbVNRTFN0YXRlbWVudEVycm9yQ2FsbGJh
Y2suY3BwCiAgICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4Q3VzdG9tWFBhdGhOU1Jlc29sdmVyLmNw
cAogICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOERPTUZvcm1EYXRhQ3VzdG9tLmNwcApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpIGIvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS5neXBpCmluZGV4IDE4MjA1NDk5NmU2YWFlY2JmZmFkMWFjZmJhYmUzMGNhOWIxNmU1YzIuLjQz
YjEzMGFiYzRiMjM3ODBmMTY5NzAzYTk3ZjdmMDA2Y2YwMmRkNTAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkK
QEAgLTIzNzIsNiArMjM3Miw3IEBACiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4
Q2xpcGJvYXJkQ3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4
Q29uc29sZUN1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1c3RvbS9WOENv
b3JkaW5hdGVzQ3VzdG9tLmNwcCcsCisgICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4
Q3VzdG9tRXZlbnRDdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy92OC9jdXN0b20v
VjhDdXN0b21TUUxTdGF0ZW1lbnRFcnJvckNhbGxiYWNrLmNwcCcsCiAgICAgICAgICAgICAnYmlu
ZGluZ3MvdjgvY3VzdG9tL1Y4Q3VzdG9tWFBhdGhOU1Jlc29sdmVyLmNwcCcsCiAgICAgICAgICAg
ICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4Q3VzdG9tWFBhdGhOU1Jlc29sdmVyLmgnLApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4Q3VzdG9tRXZlbnRDdXN0
b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4Q3VzdG9tRXZlbnRD
dXN0b20uY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmVjZGYxOGYzZjUxMWEzODY3YjM5MDNiOWNlMWNjMjNmNGEy
YzViOGMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0
b20vVjhDdXN0b21FdmVudEN1c3RvbS5jcHAKQEAgLTAsMCArMSw2NSBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAxMiBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqICAgICAqIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisgKiBpbiB0aGUgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlCisgKiBkaXN0cmlidXRp
b24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFt
ZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9t
b3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNp
ZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMg
SVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJ
QlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisg
KiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25m
aWcuaCIKKyNpbmNsdWRlICJWOEN1c3RvbUV2ZW50LmgiCisKKyNpbmNsdWRlICJCaW5kaW5nU3Rh
dGUuaCIKKyNpbmNsdWRlICJDb250ZXh0RmVhdHVyZXMuaCIKKyNpbmNsdWRlICJEaWN0aW9uYXJ5
LmgiCisjaW5jbHVkZSAiRXhjZXB0aW9uQ29kZS5oIgorI2luY2x1ZGUgIkZyYW1lLmgiCisjaW5j
bHVkZSAiUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oIgorI2luY2x1ZGUgIlNjcmlwdFN0YXRlLmgi
CisjaW5jbHVkZSAiU2NyaXB0VmFsdWUuaCIKKyNpbmNsdWRlICJWOEJpbmRpbmcuaCIKKyNpbmNs
dWRlICJWOERPTVdyYXBwZXIuaCIKKyNpbmNsdWRlICJWOEV2ZW50LmgiCisjaW5jbHVkZSAiVjhI
aWRkZW5Qcm9wZXJ0eU5hbWUuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCit2ODo6SGFuZGxl
PHY4OjpWYWx1ZT4gVjhDdXN0b21FdmVudDo6ZGV0YWlsQWNjZXNzb3JHZXR0ZXIodjg6OkxvY2Fs
PHY4OjpTdHJpbmc+IG5hbWUsIGNvbnN0IHY4OjpBY2Nlc3NvckluZm8mIGluZm8pCit7CisgICAg
SU5DX1NUQVRTKCJET00uQ3VzdG9tRXZlbnQuZGV0YWlsLl9nZXQiKTsKKyAgICBDdXN0b21FdmVu
dCogaW1wID0gVjhDdXN0b21FdmVudDo6dG9OYXRpdmUoaW5mby5Ib2xkZXIoKSk7CisgICAgUmVm
UHRyPFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4gc2VyaWFsaXplZCA9IGltcC0+c2VyaWFsaXplZFNj
cmlwdFZhbHVlKCk7CisgICAgaWYgKHNlcmlhbGl6ZWQuZ2V0KCkpIHsKKyAgICAgICAgdjg6Okhh
bmRsZTx2ODo6VmFsdWU+IHZhbHVlID0gaW5mby5Ib2xkZXIoKS0+R2V0SGlkZGVuVmFsdWUoVjhI
aWRkZW5Qcm9wZXJ0eU5hbWU6OnN0YXRlKCkpOworICAgICAgICBpZiAodmFsdWUuSXNFbXB0eSgp
KSB7CisgICAgICAgICAgICB2YWx1ZSA9IHNlcmlhbGl6ZWQtPmRlc2VyaWFsaXplKCk7CisgICAg
ICAgICAgICBpbmZvLkhvbGRlcigpLT5TZXRIaWRkZW5WYWx1ZShWOEhpZGRlblByb3BlcnR5TmFt
ZTo6c3RhdGUoKSwgdmFsdWUpOworICAgICAgICB9CisgICAgICAgIHJldHVybiB2YWx1ZTsKKyAg
ICB9CisgICAgcmV0dXJuIGltcC0+ZGV0YWlsKCkudjhWYWx1ZSgpOworfQorCit9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vQ3VzdG9tRXZlbnQu
Y3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL0N1c3RvbUV2ZW50LmNwcAppbmRleCAyMWFlMjI1OTFh
NjdkYjZhZGYwMzFhZWY1OTM2NDM2YTM5MzM5MTcwLi4zNGJjZjQzYmE2NDMyZDg5ODYyYmUxYTVl
ZGZhMGQwZjRlY2ZlYWJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vQ3VzdG9tRXZl
bnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9DdXN0b21FdmVudC5jcHAKQEAgLTM0LDcg
KzM0LDYgQEAgQ3VzdG9tRXZlbnRJbml0OjpDdXN0b21FdmVudEluaXQoKQogewogfQogCi0KIEN1
c3RvbUV2ZW50OjpDdXN0b21FdmVudCgpCiB7CiB9CkBAIC01MSw2ICs1MCw3IEBAIEN1c3RvbUV2
ZW50Ojp+Q3VzdG9tRXZlbnQoKQogCiB2b2lkIEN1c3RvbUV2ZW50Ojppbml0Q3VzdG9tRXZlbnQo
Y29uc3QgQXRvbWljU3RyaW5nJiB0eXBlLCBib29sIGNhbkJ1YmJsZSwgYm9vbCBjYW5jZWxhYmxl
LCBjb25zdCBTY3JpcHRWYWx1ZSYgZGV0YWlsKQogeworICAgIEFTU0VSVCghbV9zZXJpYWxpemVk
U2NyaXB0VmFsdWUuZ2V0KCkpOwogICAgIGlmIChkaXNwYXRjaGVkKCkpCiAgICAgICAgIHJldHVy
bjsKIApAQCAtNTksNiArNTksMTcgQEAgdm9pZCBDdXN0b21FdmVudDo6aW5pdEN1c3RvbUV2ZW50
KGNvbnN0IEF0b21pY1N0cmluZyYgdHlwZSwgYm9vbCBjYW5CdWJibGUsIGJvb2wKICAgICBtX2Rl
dGFpbCA9IGRldGFpbDsKIH0KIAordm9pZCBDdXN0b21FdmVudDo6aW5pdEN1c3RvbUV2ZW50KGNv
bnN0IEF0b21pY1N0cmluZyYgdHlwZSwgYm9vbCBjYW5CdWJibGUsIGJvb2wgY2FuY2VsYWJsZSwg
UGFzc1JlZlB0cjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+IHNlcmlhbGl6ZWRTY3JpcHRWYWx1ZSkK
K3sKKyAgICBBU1NFUlQobV9kZXRhaWwuaXNVbmRlZmluZWQoKSk7CisgICAgaWYgKGRpc3BhdGNo
ZWQoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgaW5pdEV2ZW50KHR5cGUsIGNhbkJ1YmJsZSwg
Y2FuY2VsYWJsZSk7CisKKyAgICBtX3NlcmlhbGl6ZWRTY3JpcHRWYWx1ZSA9IHNlcmlhbGl6ZWRT
Y3JpcHRWYWx1ZTsKK30KKwogY29uc3QgQXRvbWljU3RyaW5nJiBDdXN0b21FdmVudDo6aW50ZXJm
YWNlTmFtZSgpIGNvbnN0CiB7CiAgICAgcmV0dXJuIGV2ZW50TmFtZXMoKS5pbnRlcmZhY2VGb3JD
dXN0b21FdmVudDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9DdXN0b21FdmVudC5o
IGIvU291cmNlL1dlYkNvcmUvZG9tL0N1c3RvbUV2ZW50LmgKaW5kZXggZDkyZmRhNTMxZmE5OTNj
MjQzNTBmYjA1Yjk0ZTI2ZDVlMGM4OTRkNi4uNTgxMzMxZGE2NGEzNzAwNjg5NDczNmI1ZDg5OTQ4
Yzg1YWYyOTc1NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0N1c3RvbUV2ZW50LmgK
KysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0N1c3RvbUV2ZW50LmgKQEAgLTI4LDYgKzI4LDcgQEAK
IAogI2luY2x1ZGUgIkV2ZW50LmgiCiAjaW5jbHVkZSAiU2NyaXB0VmFsdWUuaCIKKyNpbmNsdWRl
ICJTZXJpYWxpemVkU2NyaXB0VmFsdWUuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC01
MiwxNiArNTMsMTkgQEAgcHVibGljOgogICAgIH0KIAogICAgIHZvaWQgaW5pdEN1c3RvbUV2ZW50
KGNvbnN0IEF0b21pY1N0cmluZyYgdHlwZSwgYm9vbCBjYW5CdWJibGUsIGJvb2wgY2FuY2VsYWJs
ZSwgY29uc3QgU2NyaXB0VmFsdWUmIGRldGFpbCk7CisgICAgdm9pZCBpbml0Q3VzdG9tRXZlbnQo
Y29uc3QgQXRvbWljU3RyaW5nJiB0eXBlLCBib29sIGNhbkJ1YmJsZSwgYm9vbCBjYW5jZWxhYmxl
LCBQYXNzUmVmUHRyPFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZT4pOwogCiAgICAgdmlydHVhbCBjb25z
dCBBdG9taWNTdHJpbmcmIGludGVyZmFjZU5hbWUoKSBjb25zdDsKIAogICAgIGNvbnN0IFNjcmlw
dFZhbHVlJiBkZXRhaWwoKSBjb25zdCB7IHJldHVybiBtX2RldGFpbDsgfQorICAgIFBhc3NSZWZQ
dHI8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiBzZXJpYWxpemVkU2NyaXB0VmFsdWUoKSB7IHJldHVy
biBtX3NlcmlhbGl6ZWRTY3JpcHRWYWx1ZTsgfQogCiBwcml2YXRlOgogICAgIEN1c3RvbUV2ZW50
KCk7CiAgICAgQ3VzdG9tRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiB0eXBlLCBjb25zdCBDdXN0
b21FdmVudEluaXQmIGluaXRpYWxpemVyKTsKIAogICAgIFNjcmlwdFZhbHVlIG1fZGV0YWlsOwor
ICAgIFJlZlB0cjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+IG1fc2VyaWFsaXplZFNjcmlwdFZhbHVl
OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvZG9tL0N1c3RvbUV2ZW50LmlkbCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9DdXN0b21FdmVudC5p
ZGwKaW5kZXggMDJkYzE5ZGQwMTg1NmY1NjZhNDUxNzVhNTNmZTJjYzNhODg5YTEwOC4uNjEwZTBi
N2U4NmMyMzU5ZDA0YWI1OTI4MGU4YmMzY2FiZjgzMjU2ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvZG9tL0N1c3RvbUV2ZW50LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vQ3VzdG9t
RXZlbnQuaWRsCkBAIC0yOCw3ICsyOCw3IEBACiBbCiAgICAgQ29uc3RydWN0b3JUZW1wbGF0ZT1F
dmVudAogXSBpbnRlcmZhY2UgQ3VzdG9tRXZlbnQgOiBFdmVudCB7Ci0gICAgW0luaXRpYWxpemVk
QnlFdmVudENvbnN0cnVjdG9yXSByZWFkb25seSBhdHRyaWJ1dGUgRE9NT2JqZWN0IGRldGFpbDsK
KyAgICBbSW5pdGlhbGl6ZWRCeUV2ZW50Q29uc3RydWN0b3IsIEN1c3RvbV0gcmVhZG9ubHkgYXR0
cmlidXRlIERPTU9iamVjdCBkZXRhaWw7CiAKICAgICB2b2lkIGluaXRDdXN0b21FdmVudChpbiBb
T3B0aW9uYWw9RGVmYXVsdElzVW5kZWZpbmVkXSBET01TdHJpbmcgdHlwZUFyZywgCiAgICAgICAg
ICAgICAgICAgICAgICAgICAgaW4gW09wdGlvbmFsPURlZmF1bHRJc1VuZGVmaW5lZF0gYm9vbGVh
biBjYW5CdWJibGVBcmcsIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>172613</attachid>
            <date>2012-11-06 10:32:17 -0800</date>
            <delta_ts>2012-11-09 11:43:08 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-101348-20121106133029.patch</filename>
            <type>text/plain</type>
            <size>9248</size>
            <attacher name="Sadrul Habib Chowdhury">sadrul</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTMzNDUwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjYwM2FiYjRjMjMyODZi
ZGE3OTc1NmU2NWU3YzU1ZWY4ODgxNWQxNi4uYzc2N2Y0YTNkM2Y1ZTlhYzYwOWY0MDJlZmE4NTZm
YTVhNzhjMzIzNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDEyLTExLTA2ICBTYWRy
dWwgSGFiaWIgQ2hvd2RodXJ5ICA8c2FkcnVsQGNocm9taXVtLm9yZz4KKworICAgICAgICBDdXN0
b21FdmVudDogQWxsb3cgdGFraW5nIGluIGEgc2VyaWFsaXplZCB2YWx1ZSBkdXJpbmcgaW5pdGlh
bGl6YXRpb24uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xMDEzNDgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBJZiBhIEN1c3RvbUV2ZW50IGlzIGluaXRpYWxpemVkIHVzaW5nIGEgc2VyaWFsaXplZCB2YWx1
ZSwgdGhlbiBmb3IgZWFjaCBhY2Nlc3MKKyAgICAgICAgdG8gfGRldGFpbHwsIHRoZSB2YWx1ZSBp
cyBkZXNlcmlhbGl6ZWQgZmlyc3QuIFRoaXMgd2F5LCBlYWNoIHdvcmxkIGdldHMgYSBkaWZmZXJl
bnQKKyAgICAgICAgZGVzZXJpYWxpemF0aW9uLgorCisgICAgICAgICogVXNlVjguY21ha2U6Cisg
ICAgICAgICogV2ViQ29yZS5neXBpOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L1Y4SGlkZGVuUHJv
cGVydHlOYW1lLmg6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9j
dXN0b20vVjhDdXN0b21FdmVudEN1c3RvbS5jcHA6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3Y4L1Y4SGlkZGVuUHJvcGVydHlOYW1lLmguCisgICAgICAgIChXZWJDb3JlKToK
KyAgICAgICAgKFdlYkNvcmU6OlY4Q3VzdG9tRXZlbnQ6OmRldGFpbEFjY2Vzc29yR2V0dGVyKToK
KyAgICAgICAgKiBkb20vQ3VzdG9tRXZlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q3VzdG9t
RXZlbnQ6OmluaXRDdXN0b21FdmVudCk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBk
b20vQ3VzdG9tRXZlbnQuaDoKKyAgICAgICAgKEN1c3RvbUV2ZW50KToKKyAgICAgICAgKFdlYkNv
cmU6OkN1c3RvbUV2ZW50OjpzZXJpYWxpemVkU2NyaXB0VmFsdWUpOgorICAgICAgICAqIGRvbS9D
dXN0b21FdmVudC5pZGw6CisKIDIwMTItMTEtMDUgIFNpbW9uIEhhdXNtYW5uICA8c2ltb24uaGF1
c21hbm5AZGlnaWEuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQgdHJpdmlhbCBRdCBidWlsZCBm
aXguCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Vc2VWOC5jbWFrZSBiL1NvdXJjZS9XZWJD
b3JlL1VzZVY4LmNtYWtlCmluZGV4IGI2MzU4ZjdjNzY1ZmRiZGRhZDE1ZmU0ODBhOGRkMzAzYTU1
NzdjZTguLjNiMjE5Yjk2NDMyYjM4MDgxNDI0MzVjYTQ5M2UwNWZkZmRjNjhmZDggMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL1VzZVY4LmNtYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL1VzZVY4
LmNtYWtlCkBAIC04NSw2ICs4NSw3IEBAIExJU1QoQVBQRU5EIFdlYkNvcmVfU09VUkNFUwogICAg
IGJpbmRpbmdzL3Y4L2N1c3RvbS9WOENsaXBib2FyZEN1c3RvbS5jcHAKICAgICBiaW5kaW5ncy92
OC9jdXN0b20vVjhDb25zb2xlQ3VzdG9tLmNwcAogICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOENv
b3JkaW5hdGVzQ3VzdG9tLmNwcAorICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOEN1c3RvbUV2ZW50
Q3VzdG9tLmNwcAogICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOEN1c3RvbVNRTFN0YXRlbWVudEVy
cm9yQ2FsbGJhY2suY3BwCiAgICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4Q3VzdG9tWFBhdGhOU1Jl
c29sdmVyLmNwcAogICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOERPTUZvcm1EYXRhQ3VzdG9tLmNw
cApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpIGIvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS5neXBpCmluZGV4IDE4MjA1NDk5NmU2YWFlY2JmZmFkMWFjZmJhYmUzMGNhOWIx
NmU1YzIuLjQzYjEzMGFiYzRiMjM3ODBmMTY5NzAzYTk3ZjdmMDA2Y2YwMmRkNTAgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLmd5cGkKQEAgLTIzNzIsNiArMjM3Miw3IEBACiAgICAgICAgICAgICAnYmluZGluZ3Mvdjgv
Y3VzdG9tL1Y4Q2xpcGJvYXJkQ3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3Mvdjgv
Y3VzdG9tL1Y4Q29uc29sZUN1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1
c3RvbS9WOENvb3JkaW5hdGVzQ3VzdG9tLmNwcCcsCisgICAgICAgICAgICAnYmluZGluZ3Mvdjgv
Y3VzdG9tL1Y4Q3VzdG9tRXZlbnRDdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy92
OC9jdXN0b20vVjhDdXN0b21TUUxTdGF0ZW1lbnRFcnJvckNhbGxiYWNrLmNwcCcsCiAgICAgICAg
ICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4Q3VzdG9tWFBhdGhOU1Jlc29sdmVyLmNwcCcsCiAg
ICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4Q3VzdG9tWFBhdGhOU1Jlc29sdmVyLmgn
LApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhIaWRkZW5Qcm9wZXJ0
eU5hbWUuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4SGlkZGVuUHJvcGVydHlOYW1l
LmgKaW5kZXggMjMxMTM4YmVkYzE3NzI1NjgxYzVhMWYyYmQ0YTBjNjU1NTlmZTQ3MC4uZTFhNTRl
YTlhMjlkNTFkOTg0NGRmOGMwN2UxZTY4NTVmMzI5ZjUxMyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvdjgvVjhIaWRkZW5Qcm9wZXJ0eU5hbWUuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy92OC9WOEhpZGRlblByb3BlcnR5TmFtZS5oCkBAIC0zNyw2ICszNyw3IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogI2RlZmluZSBWOF9ISURERU5fUFJPUEVSVElFUyhWKSBc
CiAgICAgVihhdHRyaWJ1dGVMaXN0ZW5lcikgXAorICAgIFYoZGV0YWlsKSBcCiAgICAgVihkb2N1
bWVudCkgXAogICAgIFYoZG9tU3RyaW5nTWFwKSBcCiAgICAgVihkb21Ub2tlbkxpc3QpIFwKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEN1c3RvbUV2ZW50
Q3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEN1c3RvbUV2
ZW50Q3VzdG9tLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45NTA4M2E4MzE5MjFkNmIxOTk0MWFiYzkzYmYwYjIx
OWFkODgxNWE2Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvdjgv
Y3VzdG9tL1Y4Q3VzdG9tRXZlbnRDdXN0b20uY3BwCkBAIC0wLDAgKzEsNjUgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJp
YnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhl
IG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3Ig
cHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBz
cGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICog
IkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAi
Y29uZmlnLmgiCisjaW5jbHVkZSAiVjhDdXN0b21FdmVudC5oIgorCisjaW5jbHVkZSAiQmluZGlu
Z1N0YXRlLmgiCisjaW5jbHVkZSAiQ29udGV4dEZlYXR1cmVzLmgiCisjaW5jbHVkZSAiRGljdGlv
bmFyeS5oIgorI2luY2x1ZGUgIkV4Y2VwdGlvbkNvZGUuaCIKKyNpbmNsdWRlICJGcmFtZS5oIgor
I2luY2x1ZGUgIlJ1bnRpbWVFbmFibGVkRmVhdHVyZXMuaCIKKyNpbmNsdWRlICJTY3JpcHRTdGF0
ZS5oIgorI2luY2x1ZGUgIlNjcmlwdFZhbHVlLmgiCisjaW5jbHVkZSAiVjhCaW5kaW5nLmgiCisj
aW5jbHVkZSAiVjhET01XcmFwcGVyLmgiCisjaW5jbHVkZSAiVjhFdmVudC5oIgorI2luY2x1ZGUg
IlY4SGlkZGVuUHJvcGVydHlOYW1lLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwordjg6Okhh
bmRsZTx2ODo6VmFsdWU+IFY4Q3VzdG9tRXZlbnQ6OmRldGFpbEFjY2Vzc29yR2V0dGVyKHY4OjpM
b2NhbDx2ODo6U3RyaW5nPiBuYW1lLCBjb25zdCB2ODo6QWNjZXNzb3JJbmZvJiBpbmZvKQorewor
ICAgIElOQ19TVEFUUygiRE9NLkN1c3RvbUV2ZW50LmRldGFpbC5fZ2V0Iik7CisgICAgQ3VzdG9t
RXZlbnQqIGltcCA9IFY4Q3VzdG9tRXZlbnQ6OnRvTmF0aXZlKGluZm8uSG9sZGVyKCkpOworICAg
IFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZSogc2VyaWFsaXplZCA9IGltcC0+c2VyaWFsaXplZFNjcmlw
dFZhbHVlKCkuZ2V0KCk7CisgICAgaWYgKHNlcmlhbGl6ZWQpIHsKKyAgICAgICAgdjg6OkhhbmRs
ZTx2ODo6VmFsdWU+IHZhbHVlID0gaW5mby5Ib2xkZXIoKS0+R2V0SGlkZGVuVmFsdWUoVjhIaWRk
ZW5Qcm9wZXJ0eU5hbWU6OmRldGFpbCgpKTsKKyAgICAgICAgaWYgKHZhbHVlLklzRW1wdHkoKSkg
eworICAgICAgICAgICAgdmFsdWUgPSBzZXJpYWxpemVkLT5kZXNlcmlhbGl6ZSgpOworICAgICAg
ICAgICAgaW5mby5Ib2xkZXIoKS0+U2V0SGlkZGVuVmFsdWUoVjhIaWRkZW5Qcm9wZXJ0eU5hbWU6
OmRldGFpbCgpLCB2YWx1ZSk7CisgICAgICAgIH0KKyAgICAgICAgcmV0dXJuIHZhbHVlOworICAg
IH0KKyAgICByZXR1cm4gaW1wLT5kZXRhaWwoKS52OFZhbHVlKCk7Cit9CisKK30gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9DdXN0b21FdmVudC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vQ3VzdG9tRXZlbnQuY3BwCmluZGV4IDIxYWUyMjU5MWE2
N2RiNmFkZjAzMWFlZjU5MzY0MzZhMzkzMzkxNzAuLjAwM2U5YjNmOTZkMTkxOTBkZDI4Nzg0ODk5
NDFkODUyMTZkZTliZjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9DdXN0b21FdmVu
dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0N1c3RvbUV2ZW50LmNwcApAQCAtMzQsNyAr
MzQsNiBAQCBDdXN0b21FdmVudEluaXQ6OkN1c3RvbUV2ZW50SW5pdCgpCiB7CiB9CiAKLQogQ3Vz
dG9tRXZlbnQ6OkN1c3RvbUV2ZW50KCkKIHsKIH0KQEAgLTUxLDYgKzUwLDcgQEAgQ3VzdG9tRXZl
bnQ6On5DdXN0b21FdmVudCgpCiAKIHZvaWQgQ3VzdG9tRXZlbnQ6OmluaXRDdXN0b21FdmVudChj
b25zdCBBdG9taWNTdHJpbmcmIHR5cGUsIGJvb2wgY2FuQnViYmxlLCBib29sIGNhbmNlbGFibGUs
IGNvbnN0IFNjcmlwdFZhbHVlJiBkZXRhaWwpCiB7CisgICAgQVNTRVJUKCFtX3NlcmlhbGl6ZWRT
Y3JpcHRWYWx1ZS5nZXQoKSk7CiAgICAgaWYgKGRpc3BhdGNoZWQoKSkKICAgICAgICAgcmV0dXJu
OwogCkBAIC01OSw2ICs1OSwxOSBAQCB2b2lkIEN1c3RvbUV2ZW50Ojppbml0Q3VzdG9tRXZlbnQo
Y29uc3QgQXRvbWljU3RyaW5nJiB0eXBlLCBib29sIGNhbkJ1YmJsZSwgYm9vbAogICAgIG1fZGV0
YWlsID0gZGV0YWlsOwogfQogCisjaWYgVVNFKFY4KQordm9pZCBDdXN0b21FdmVudDo6aW5pdEN1
c3RvbUV2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgdHlwZSwgYm9vbCBjYW5CdWJibGUsIGJvb2wg
Y2FuY2VsYWJsZSwgUGFzc1JlZlB0cjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+IHNlcmlhbGl6ZWRT
Y3JpcHRWYWx1ZSkKK3sKKyAgICBBU1NFUlQobV9kZXRhaWwuaXNVbmRlZmluZWQoKSk7CisgICAg
aWYgKGRpc3BhdGNoZWQoKSkKKyAgICAgICAgcmV0dXJuOworCisgICAgaW5pdEV2ZW50KHR5cGUs
IGNhbkJ1YmJsZSwgY2FuY2VsYWJsZSk7CisKKyAgICBtX3NlcmlhbGl6ZWRTY3JpcHRWYWx1ZSA9
IHNlcmlhbGl6ZWRTY3JpcHRWYWx1ZTsKK30KKyNlbmRpZiAvLyBVU0UoVjgpCisKIGNvbnN0IEF0
b21pY1N0cmluZyYgQ3VzdG9tRXZlbnQ6OmludGVyZmFjZU5hbWUoKSBjb25zdAogewogICAgIHJl
dHVybiBldmVudE5hbWVzKCkuaW50ZXJmYWNlRm9yQ3VzdG9tRXZlbnQ7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9kb20vQ3VzdG9tRXZlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9DdXN0
b21FdmVudC5oCmluZGV4IGQ5MmZkYTUzMWZhOTkzYzI0MzUwZmIwNWI5NGUyNmQ1ZTBjODk0ZDYu
LjFkOTgzYzg0NTliZThhMmY5M2FkZGZmYzBjYzFiMDQ2ZDZiNTk2ZTIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9DdXN0b21FdmVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9D
dXN0b21FdmVudC5oCkBAIC0yOCw2ICsyOCw3IEBACiAKICNpbmNsdWRlICJFdmVudC5oIgogI2lu
Y2x1ZGUgIlNjcmlwdFZhbHVlLmgiCisjaW5jbHVkZSAiU2VyaWFsaXplZFNjcmlwdFZhbHVlLmgi
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtNTIsMTYgKzUzLDIxIEBAIHB1YmxpYzoKICAg
ICB9CiAKICAgICB2b2lkIGluaXRDdXN0b21FdmVudChjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUs
IGJvb2wgY2FuQnViYmxlLCBib29sIGNhbmNlbGFibGUsIGNvbnN0IFNjcmlwdFZhbHVlJiBkZXRh
aWwpOworI2lmIFVTRShWOCkKKyAgICB2b2lkIGluaXRDdXN0b21FdmVudChjb25zdCBBdG9taWNT
dHJpbmcmIHR5cGUsIGJvb2wgY2FuQnViYmxlLCBib29sIGNhbmNlbGFibGUsIFBhc3NSZWZQdHI8
U2VyaWFsaXplZFNjcmlwdFZhbHVlPik7CisjZW5kaWYKIAogICAgIHZpcnR1YWwgY29uc3QgQXRv
bWljU3RyaW5nJiBpbnRlcmZhY2VOYW1lKCkgY29uc3Q7CiAKICAgICBjb25zdCBTY3JpcHRWYWx1
ZSYgZGV0YWlsKCkgY29uc3QgeyByZXR1cm4gbV9kZXRhaWw7IH0KKyAgICBQYXNzUmVmUHRyPFNl
cmlhbGl6ZWRTY3JpcHRWYWx1ZT4gc2VyaWFsaXplZFNjcmlwdFZhbHVlKCkgeyByZXR1cm4gbV9z
ZXJpYWxpemVkU2NyaXB0VmFsdWU7IH0KIAogcHJpdmF0ZToKICAgICBDdXN0b21FdmVudCgpOwog
ICAgIEN1c3RvbUV2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgdHlwZSwgY29uc3QgQ3VzdG9tRXZl
bnRJbml0JiBpbml0aWFsaXplcik7CiAKICAgICBTY3JpcHRWYWx1ZSBtX2RldGFpbDsKKyAgICBS
ZWZQdHI8U2VyaWFsaXplZFNjcmlwdFZhbHVlPiBtX3NlcmlhbGl6ZWRTY3JpcHRWYWx1ZTsKIH07
CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Rv
bS9DdXN0b21FdmVudC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9kb20vQ3VzdG9tRXZlbnQuaWRsCmlu
ZGV4IDAyZGMxOWRkMDE4NTZmNTY2YTQ1MTc1YTUzZmUyY2MzYTg4OWExMDguLjQ3NGYzYzVjMzA2
OTI5NmYwMDI2OTNhZjcyODBlNmUxZGRhZDUxMzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9DdXN0b21FdmVudC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0N1c3RvbUV2ZW50
LmlkbApAQCAtMjgsNyArMjgsNyBAQAogWwogICAgIENvbnN0cnVjdG9yVGVtcGxhdGU9RXZlbnQK
IF0gaW50ZXJmYWNlIEN1c3RvbUV2ZW50IDogRXZlbnQgewotICAgIFtJbml0aWFsaXplZEJ5RXZl
bnRDb25zdHJ1Y3Rvcl0gcmVhZG9ubHkgYXR0cmlidXRlIERPTU9iamVjdCBkZXRhaWw7CisgICAg
W0luaXRpYWxpemVkQnlFdmVudENvbnN0cnVjdG9yLCBWOEN1c3RvbV0gcmVhZG9ubHkgYXR0cmli
dXRlIERPTU9iamVjdCBkZXRhaWw7CiAKICAgICB2b2lkIGluaXRDdXN0b21FdmVudChpbiBbT3B0
aW9uYWw9RGVmYXVsdElzVW5kZWZpbmVkXSBET01TdHJpbmcgdHlwZUFyZywgCiAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW4gW09wdGlvbmFsPURlZmF1bHRJc1VuZGVmaW5lZF0gYm9vbGVhbiBj
YW5CdWJibGVBcmcsIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>173344</attachid>
            <date>2012-11-09 11:43:13 -0800</date>
            <delta_ts>2012-11-09 15:27:52 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-101348-20121109144120.patch</filename>
            <type>text/plain</type>
            <size>9247</size>
            <attacher name="Sadrul Habib Chowdhury">sadrul</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM0MDIyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggN2EyOWNjM2Y2NmY0MzQ4
YjY2ZjU5N2QxNjViZDNlNTAwMjEyYTBiYy4uZDRmMzJmOTFhYzdiYjAxN2VjN2U5YzM3NmVhZDVl
NDE2NjdhZWE4ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI5IEBACisyMDEyLTExLTA5ICBTYWRy
dWwgSGFiaWIgQ2hvd2RodXJ5ICA8c2FkcnVsQGNocm9taXVtLm9yZz4KKworICAgICAgICBDdXN0
b21FdmVudDogQWxsb3cgdGFraW5nIGluIGEgc2VyaWFsaXplZCB2YWx1ZSBkdXJpbmcgaW5pdGlh
bGl6YXRpb24uCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xMDEzNDgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBJZiBhIEN1c3RvbUV2ZW50IGlzIGluaXRpYWxpemVkIHVzaW5nIGEgc2VyaWFsaXplZCB2YWx1
ZSwgdGhlbiBmb3IgZWFjaCBhY2Nlc3MKKyAgICAgICAgdG8gfGRldGFpbHwsIHRoZSB2YWx1ZSBp
cyBkZXNlcmlhbGl6ZWQgZmlyc3QuIFRoaXMgd2F5LCBlYWNoIHdvcmxkIGdldHMgYSBkaWZmZXJl
bnQKKyAgICAgICAgZGVzZXJpYWxpemF0aW9uLgorCisgICAgICAgICogVXNlVjguY21ha2U6Cisg
ICAgICAgICogV2ViQ29yZS5neXBpOgorICAgICAgICAqIGJpbmRpbmdzL3Y4L1Y4SGlkZGVuUHJv
cGVydHlOYW1lLmg6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBiaW5kaW5ncy92OC9j
dXN0b20vVjhDdXN0b21FdmVudEN1c3RvbS5jcHA6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3Y4L1Y4SGlkZGVuUHJvcGVydHlOYW1lLmguCisgICAgICAgIChXZWJDb3JlKToK
KyAgICAgICAgKFdlYkNvcmU6OlY4Q3VzdG9tRXZlbnQ6OmRldGFpbEFjY2Vzc29yR2V0dGVyKToK
KyAgICAgICAgKiBkb20vQ3VzdG9tRXZlbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q3VzdG9t
RXZlbnQ6OmluaXRDdXN0b21FdmVudCk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBk
b20vQ3VzdG9tRXZlbnQuaDoKKyAgICAgICAgKEN1c3RvbUV2ZW50KToKKyAgICAgICAgKFdlYkNv
cmU6OkN1c3RvbUV2ZW50OjpzZXJpYWxpemVkU2NyaXB0VmFsdWUpOgorICAgICAgICAqIGRvbS9D
dXN0b21FdmVudC5pZGw6CisKIDIwMTItMTEtMDggIFNoZXJpZmYgQm90ICA8d2Via2l0LnJldmll
dy5ib3RAZ21haWwuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIxMzQw
MTAuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Vc2VWOC5jbWFrZSBiL1NvdXJjZS9XZWJD
b3JlL1VzZVY4LmNtYWtlCmluZGV4IDdkZTA5NGM2MDYxNjVkNzhmZmE0MjA3ZThiZjI4YjA0YzEw
OTRkNTIuLjhmOTRiNjNmMmE4NDNiOWIxZWE1YmRhMWExNzNhOTQ3Y2ZhNmY1M2EgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL1VzZVY4LmNtYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL1VzZVY4
LmNtYWtlCkBAIC04NCw2ICs4NCw3IEBAIExJU1QoQVBQRU5EIFdlYkNvcmVfU09VUkNFUwogICAg
IGJpbmRpbmdzL3Y4L2N1c3RvbS9WOENsaXBib2FyZEN1c3RvbS5jcHAKICAgICBiaW5kaW5ncy92
OC9jdXN0b20vVjhDb25zb2xlQ3VzdG9tLmNwcAogICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOENv
b3JkaW5hdGVzQ3VzdG9tLmNwcAorICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOEN1c3RvbUV2ZW50
Q3VzdG9tLmNwcAogICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOEN1c3RvbVNRTFN0YXRlbWVudEVy
cm9yQ2FsbGJhY2suY3BwCiAgICAgYmluZGluZ3MvdjgvY3VzdG9tL1Y4Q3VzdG9tWFBhdGhOU1Jl
c29sdmVyLmNwcAogICAgIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOERPTUZvcm1EYXRhQ3VzdG9tLmNw
cApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpIGIvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS5neXBpCmluZGV4IDhiZDFmYzRjZGMzY2U0YTM1ZjY2M2JmYWI4NDVhNWZiOWZh
NTZlZDcuLjdkN2I2YzNiY2E3Y2ViOGU3MGYxYWYzZjQ4YjU2M2NkNGZjMjRhZGUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLmd5cGkKQEAgLTIzNjYsNiArMjM2Niw3IEBACiAgICAgICAgICAgICAnYmluZGluZ3Mvdjgv
Y3VzdG9tL1Y4Q2xpcGJvYXJkQ3VzdG9tLmNwcCcsCiAgICAgICAgICAgICAnYmluZGluZ3Mvdjgv
Y3VzdG9tL1Y4Q29uc29sZUN1c3RvbS5jcHAnLAogICAgICAgICAgICAgJ2JpbmRpbmdzL3Y4L2N1
c3RvbS9WOENvb3JkaW5hdGVzQ3VzdG9tLmNwcCcsCisgICAgICAgICAgICAnYmluZGluZ3Mvdjgv
Y3VzdG9tL1Y4Q3VzdG9tRXZlbnRDdXN0b20uY3BwJywKICAgICAgICAgICAgICdiaW5kaW5ncy92
OC9jdXN0b20vVjhDdXN0b21TUUxTdGF0ZW1lbnRFcnJvckNhbGxiYWNrLmNwcCcsCiAgICAgICAg
ICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4Q3VzdG9tWFBhdGhOU1Jlc29sdmVyLmNwcCcsCiAg
ICAgICAgICAgICAnYmluZGluZ3MvdjgvY3VzdG9tL1Y4Q3VzdG9tWFBhdGhOU1Jlc29sdmVyLmgn
LApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvVjhIaWRkZW5Qcm9wZXJ0
eU5hbWUuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L1Y4SGlkZGVuUHJvcGVydHlOYW1l
LmgKaW5kZXggMjMxMTM4YmVkYzE3NzI1NjgxYzVhMWYyYmQ0YTBjNjU1NTlmZTQ3MC4uZTFhNTRl
YTlhMjlkNTFkOTg0NGRmOGMwN2UxZTY4NTVmMzI5ZjUxMyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvdjgvVjhIaWRkZW5Qcm9wZXJ0eU5hbWUuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy92OC9WOEhpZGRlblByb3BlcnR5TmFtZS5oCkBAIC0zNyw2ICszNyw3IEBA
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogI2RlZmluZSBWOF9ISURERU5fUFJPUEVSVElFUyhWKSBc
CiAgICAgVihhdHRyaWJ1dGVMaXN0ZW5lcikgXAorICAgIFYoZGV0YWlsKSBcCiAgICAgVihkb2N1
bWVudCkgXAogICAgIFYoZG9tU3RyaW5nTWFwKSBcCiAgICAgVihkb21Ub2tlbkxpc3QpIFwKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEN1c3RvbUV2ZW50
Q3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOEN1c3RvbUV2
ZW50Q3VzdG9tLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45NTA4M2E4MzE5MjFkNmIxOTk0MWFiYzkzYmYwYjIx
OWFkODgxNWE2Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvdjgv
Y3VzdG9tL1Y4Q3VzdG9tRXZlbnRDdXN0b20uY3BwCkBAIC0wLDAgKzEsNjUgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTIgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlzdHJp
YnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhl
IG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3Ig
cHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBz
cGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICog
IkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAi
Y29uZmlnLmgiCisjaW5jbHVkZSAiVjhDdXN0b21FdmVudC5oIgorCisjaW5jbHVkZSAiQmluZGlu
Z1N0YXRlLmgiCisjaW5jbHVkZSAiQ29udGV4dEZlYXR1cmVzLmgiCisjaW5jbHVkZSAiRGljdGlv
bmFyeS5oIgorI2luY2x1ZGUgIkV4Y2VwdGlvbkNvZGUuaCIKKyNpbmNsdWRlICJGcmFtZS5oIgor
I2luY2x1ZGUgIlJ1bnRpbWVFbmFibGVkRmVhdHVyZXMuaCIKKyNpbmNsdWRlICJTY3JpcHRTdGF0
ZS5oIgorI2luY2x1ZGUgIlNjcmlwdFZhbHVlLmgiCisjaW5jbHVkZSAiVjhCaW5kaW5nLmgiCisj
aW5jbHVkZSAiVjhET01XcmFwcGVyLmgiCisjaW5jbHVkZSAiVjhFdmVudC5oIgorI2luY2x1ZGUg
IlY4SGlkZGVuUHJvcGVydHlOYW1lLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwordjg6Okhh
bmRsZTx2ODo6VmFsdWU+IFY4Q3VzdG9tRXZlbnQ6OmRldGFpbEFjY2Vzc29yR2V0dGVyKHY4OjpM
b2NhbDx2ODo6U3RyaW5nPiBuYW1lLCBjb25zdCB2ODo6QWNjZXNzb3JJbmZvJiBpbmZvKQorewor
ICAgIElOQ19TVEFUUygiRE9NLkN1c3RvbUV2ZW50LmRldGFpbC5fZ2V0Iik7CisgICAgQ3VzdG9t
RXZlbnQqIGltcCA9IFY4Q3VzdG9tRXZlbnQ6OnRvTmF0aXZlKGluZm8uSG9sZGVyKCkpOworICAg
IFNlcmlhbGl6ZWRTY3JpcHRWYWx1ZSogc2VyaWFsaXplZCA9IGltcC0+c2VyaWFsaXplZFNjcmlw
dFZhbHVlKCkuZ2V0KCk7CisgICAgaWYgKHNlcmlhbGl6ZWQpIHsKKyAgICAgICAgdjg6OkhhbmRs
ZTx2ODo6VmFsdWU+IHZhbHVlID0gaW5mby5Ib2xkZXIoKS0+R2V0SGlkZGVuVmFsdWUoVjhIaWRk
ZW5Qcm9wZXJ0eU5hbWU6OmRldGFpbCgpKTsKKyAgICAgICAgaWYgKHZhbHVlLklzRW1wdHkoKSkg
eworICAgICAgICAgICAgdmFsdWUgPSBzZXJpYWxpemVkLT5kZXNlcmlhbGl6ZSgpOworICAgICAg
ICAgICAgaW5mby5Ib2xkZXIoKS0+U2V0SGlkZGVuVmFsdWUoVjhIaWRkZW5Qcm9wZXJ0eU5hbWU6
OmRldGFpbCgpLCB2YWx1ZSk7CisgICAgICAgIH0KKyAgICAgICAgcmV0dXJuIHZhbHVlOworICAg
IH0KKyAgICByZXR1cm4gaW1wLT5kZXRhaWwoKS52OFZhbHVlKCk7Cit9CisKK30gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9DdXN0b21FdmVudC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vQ3VzdG9tRXZlbnQuY3BwCmluZGV4IDIxYWUyMjU5MWE2
N2RiNmFkZjAzMWFlZjU5MzY0MzZhMzkzMzkxNzAuLjljYTVhMTQyZDc5NzZhY2FjZGRlMGE5ZWI5
ZWQ4YzM5NzQzOGUyNWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9DdXN0b21FdmVu
dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0N1c3RvbUV2ZW50LmNwcApAQCAtMzQsNyAr
MzQsNiBAQCBDdXN0b21FdmVudEluaXQ6OkN1c3RvbUV2ZW50SW5pdCgpCiB7CiB9CiAKLQogQ3Vz
dG9tRXZlbnQ6OkN1c3RvbUV2ZW50KCkKIHsKIH0KQEAgLTUxLDYgKzUwLDcgQEAgQ3VzdG9tRXZl
bnQ6On5DdXN0b21FdmVudCgpCiAKIHZvaWQgQ3VzdG9tRXZlbnQ6OmluaXRDdXN0b21FdmVudChj
b25zdCBBdG9taWNTdHJpbmcmIHR5cGUsIGJvb2wgY2FuQnViYmxlLCBib29sIGNhbmNlbGFibGUs
IGNvbnN0IFNjcmlwdFZhbHVlJiBkZXRhaWwpCiB7CisgICAgQVNTRVJUKCFtX3NlcmlhbGl6ZWRT
Y3JpcHRWYWx1ZS5nZXQoKSk7CiAgICAgaWYgKGRpc3BhdGNoZWQoKSkKICAgICAgICAgcmV0dXJu
OwogCkBAIC01OSw2ICs1OSwxOSBAQCB2b2lkIEN1c3RvbUV2ZW50Ojppbml0Q3VzdG9tRXZlbnQo
Y29uc3QgQXRvbWljU3RyaW5nJiB0eXBlLCBib29sIGNhbkJ1YmJsZSwgYm9vbAogICAgIG1fZGV0
YWlsID0gZGV0YWlsOwogfQogCisjaWYgVVNFKFY4KQordm9pZCBDdXN0b21FdmVudDo6aW5pdEN1
c3RvbUV2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgdHlwZSwgYm9vbCBjYW5CdWJibGUsIGJvb2wg
Y2FuY2VsYWJsZSwgUGFzc1JlZlB0cjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+IHNlcmlhbGl6ZWRT
Y3JpcHRWYWx1ZSkKK3sKKyAgICBBU1NFUlQobV9kZXRhaWwuaGFzTm9WYWx1ZSgpKTsKKyAgICBp
ZiAoZGlzcGF0Y2hlZCgpKQorICAgICAgICByZXR1cm47CisKKyAgICBpbml0RXZlbnQodHlwZSwg
Y2FuQnViYmxlLCBjYW5jZWxhYmxlKTsKKworICAgIG1fc2VyaWFsaXplZFNjcmlwdFZhbHVlID0g
c2VyaWFsaXplZFNjcmlwdFZhbHVlOworfQorI2VuZGlmIC8vIFVTRShWOCkKKwogY29uc3QgQXRv
bWljU3RyaW5nJiBDdXN0b21FdmVudDo6aW50ZXJmYWNlTmFtZSgpIGNvbnN0CiB7CiAgICAgcmV0
dXJuIGV2ZW50TmFtZXMoKS5pbnRlcmZhY2VGb3JDdXN0b21FdmVudDsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9DdXN0b21FdmVudC5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0N1c3Rv
bUV2ZW50LmgKaW5kZXggZDkyZmRhNTMxZmE5OTNjMjQzNTBmYjA1Yjk0ZTI2ZDVlMGM4OTRkNi4u
MWQ5ODNjODQ1OWJlOGEyZjkzYWRkZmZjMGNjMWIwNDZkNmI1OTZlMiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvZG9tL0N1c3RvbUV2ZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0N1
c3RvbUV2ZW50LmgKQEAgLTI4LDYgKzI4LDcgQEAKIAogI2luY2x1ZGUgIkV2ZW50LmgiCiAjaW5j
bHVkZSAiU2NyaXB0VmFsdWUuaCIKKyNpbmNsdWRlICJTZXJpYWxpemVkU2NyaXB0VmFsdWUuaCIK
IAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC01MiwxNiArNTMsMjEgQEAgcHVibGljOgogICAg
IH0KIAogICAgIHZvaWQgaW5pdEN1c3RvbUV2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgdHlwZSwg
Ym9vbCBjYW5CdWJibGUsIGJvb2wgY2FuY2VsYWJsZSwgY29uc3QgU2NyaXB0VmFsdWUmIGRldGFp
bCk7CisjaWYgVVNFKFY4KQorICAgIHZvaWQgaW5pdEN1c3RvbUV2ZW50KGNvbnN0IEF0b21pY1N0
cmluZyYgdHlwZSwgYm9vbCBjYW5CdWJibGUsIGJvb2wgY2FuY2VsYWJsZSwgUGFzc1JlZlB0cjxT
ZXJpYWxpemVkU2NyaXB0VmFsdWU+KTsKKyNlbmRpZgogCiAgICAgdmlydHVhbCBjb25zdCBBdG9t
aWNTdHJpbmcmIGludGVyZmFjZU5hbWUoKSBjb25zdDsKIAogICAgIGNvbnN0IFNjcmlwdFZhbHVl
JiBkZXRhaWwoKSBjb25zdCB7IHJldHVybiBtX2RldGFpbDsgfQorICAgIFBhc3NSZWZQdHI8U2Vy
aWFsaXplZFNjcmlwdFZhbHVlPiBzZXJpYWxpemVkU2NyaXB0VmFsdWUoKSB7IHJldHVybiBtX3Nl
cmlhbGl6ZWRTY3JpcHRWYWx1ZTsgfQogCiBwcml2YXRlOgogICAgIEN1c3RvbUV2ZW50KCk7CiAg
ICAgQ3VzdG9tRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiB0eXBlLCBjb25zdCBDdXN0b21FdmVu
dEluaXQmIGluaXRpYWxpemVyKTsKIAogICAgIFNjcmlwdFZhbHVlIG1fZGV0YWlsOworICAgIFJl
ZlB0cjxTZXJpYWxpemVkU2NyaXB0VmFsdWU+IG1fc2VyaWFsaXplZFNjcmlwdFZhbHVlOwogfTsK
IAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9t
L0N1c3RvbUV2ZW50LmlkbCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9DdXN0b21FdmVudC5pZGwKaW5k
ZXggMDJkYzE5ZGQwMTg1NmY1NjZhNDUxNzVhNTNmZTJjYzNhODg5YTEwOC4uNDc0ZjNjNWMzMDY5
Mjk2ZjAwMjY5M2FmNzI4MGU2ZTFkZGFkNTEzOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
ZG9tL0N1c3RvbUV2ZW50LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vQ3VzdG9tRXZlbnQu
aWRsCkBAIC0yOCw3ICsyOCw3IEBACiBbCiAgICAgQ29uc3RydWN0b3JUZW1wbGF0ZT1FdmVudAog
XSBpbnRlcmZhY2UgQ3VzdG9tRXZlbnQgOiBFdmVudCB7Ci0gICAgW0luaXRpYWxpemVkQnlFdmVu
dENvbnN0cnVjdG9yXSByZWFkb25seSBhdHRyaWJ1dGUgRE9NT2JqZWN0IGRldGFpbDsKKyAgICBb
SW5pdGlhbGl6ZWRCeUV2ZW50Q29uc3RydWN0b3IsIFY4Q3VzdG9tXSByZWFkb25seSBhdHRyaWJ1
dGUgRE9NT2JqZWN0IGRldGFpbDsKIAogICAgIHZvaWQgaW5pdEN1c3RvbUV2ZW50KGluIFtPcHRp
b25hbD1EZWZhdWx0SXNVbmRlZmluZWRdIERPTVN0cmluZyB0eXBlQXJnLCAKICAgICAgICAgICAg
ICAgICAgICAgICAgICBpbiBbT3B0aW9uYWw9RGVmYXVsdElzVW5kZWZpbmVkXSBib29sZWFuIGNh
bkJ1YmJsZUFyZywgCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>