<?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>67645</bug_id>
          
          <creation_ts>2011-09-06 07:34:19 -0700</creation_ts>
          <short_desc>Split Tap gesture detection into TapDown and TapRelease</short_desc>
          <delta_ts>2011-09-08 11:29:50 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>67709</blocked>
          <everconfirmed>0</everconfirmed>
          <reporter name="Varun Jain">varunjain</reporter>
          <assigned_to name="Varun Jain">varunjain</assigned_to>
          <cc>dglazkov</cc>
    
    <cc>rjkroege</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>462506</commentid>
    <comment_count>0</comment_count>
    <who name="Varun Jain">varunjain</who>
    <bug_when>2011-09-06 07:34:19 -0700</bug_when>
    <thetext>Split Tap gesture detection into TapDown and TapRelease</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>462507</commentid>
    <comment_count>1</comment_count>
      <attachid>106416</attachid>
    <who name="Varun Jain">varunjain</who>
    <bug_when>2011-09-06 07:34:52 -0700</bug_when>
    <thetext>Created attachment 106416
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>462513</commentid>
    <comment_count>2</comment_count>
      <attachid>106416</attachid>
    <who name="Robert Kroeger">rjkroege</who>
    <bug_when>2011-09-06 07:55:16 -0700</bug_when>
    <thetext>Comment on attachment 106416
Patch

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

&gt; Source/WebCore/page/EventHandler.cpp:2239
&gt; +    case PlatformGestureEvent::TapDownType:

you should have removed click

&gt; Source/WebCore/platform/chromium/GestureRecognizerChromium.cpp:100
&gt; +void GestureRecognizerChromium::appendTapReleaseGestureEvent(const PlatformTouchPoint&amp; touchPoint, Gestures gestures)

why have you not deleted appendClick*?

&gt; Source/WebCore/platform/chromium/GestureRecognizerChromium.cpp:182
&gt; +    appendTapReleaseGestureEvent(point, gestures);

I do not believe that TapRelease should be generated here. ScrollEnd already signifies that the finger has left the screen surface and has left it from a scroll gesture. This additional event is wrong.

&gt; Source/WebCore/platform/chromium/GestureRecognizerChromium.h:71
&gt;      void appendClickGestureEvent(const PlatformTouchPoint&amp;, Gestures);

this one... why is it still here?

&gt; Source/WebCore/platform/chromium/GestureRecognizerChromium.h:93
&gt; +    IntPoint m_lastTouchScreenPosition;

this variable is superfluous as you have the desired value from the PlatformTouchPoint event in appendTapRelease* Why?

&gt; Source/WebCore/platform/chromium/PopupContainer.cpp:316
&gt; +    case PlatformGestureEvent::TapDownType:

you should have removed click type</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>462514</commentid>
    <comment_count>3</comment_count>
      <attachid>106416</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-09-06 07:56:15 -0700</bug_when>
    <thetext>Comment on attachment 106416
Patch

Attachment 106416 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/9592855</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>462527</commentid>
    <comment_count>4</comment_count>
    <who name="Varun Jain">varunjain</who>
    <bug_when>2011-09-06 08:16:01 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 106416 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=106416&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/page/EventHandler.cpp:2239
&gt; &gt; +    case PlatformGestureEvent::TapDownType:
&gt; 
&gt; you should have removed click

I think TapType is required for EventHandler to differentiate between TapRelease and click. I agree that TapRelease is redundant right now. However, what if a webapp wants to know about TapRelease (for instance in a drag and drop session)? ScrollBegin/End probably encapsulates that case so I am not sure about it. I will remove TapRelease for now and we can add it later if required.

&gt; 
&gt; &gt; Source/WebCore/platform/chromium/GestureRecognizerChromium.cpp:100
&gt; &gt; +void GestureRecognizerChromium::appendTapReleaseGestureEvent(const PlatformTouchPoint&amp; touchPoint, Gestures gestures)
&gt; 
&gt; why have you not deleted appendClick*?
&gt; 
&gt; &gt; Source/WebCore/platform/chromium/GestureRecognizerChromium.cpp:182
&gt; &gt; +    appendTapReleaseGestureEvent(point, gestures);
&gt; 
&gt; I do not believe that TapRelease should be generated here. ScrollEnd already signifies that the finger has left the screen surface and has left it from a scroll gesture. This additional event is wrong.
&gt; 
&gt; &gt; Source/WebCore/platform/chromium/GestureRecognizerChromium.h:71
&gt; &gt;      void appendClickGestureEvent(const PlatformTouchPoint&amp;, Gestures);
&gt; 
&gt; this one... why is it still here?
&gt; 
&gt; &gt; Source/WebCore/platform/chromium/GestureRecognizerChromium.h:93
&gt; &gt; +    IntPoint m_lastTouchScreenPosition;
&gt; 
&gt; this variable is superfluous as you have the desired value from the PlatformTouchPoint event in appendTapRelease* Why?
&gt; 
&gt; &gt; Source/WebCore/platform/chromium/PopupContainer.cpp:316
&gt; &gt; +    case PlatformGestureEvent::TapDownType:
&gt; 
&gt; you should have removed click type</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>462534</commentid>
    <comment_count>5</comment_count>
      <attachid>106420</attachid>
    <who name="Varun Jain">varunjain</who>
    <bug_when>2011-09-06 08:27:33 -0700</bug_when>
    <thetext>Created attachment 106420
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>462730</commentid>
    <comment_count>6</comment_count>
      <attachid>106420</attachid>
    <who name="Robert Kroeger">rjkroege</who>
    <bug_when>2011-09-06 12:18:04 -0700</bug_when>
    <thetext>Comment on attachment 106420
Patch

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

the fact that the unit tests haven&apos;t been updated would seem to indicate that I didn&apos;t write enough unit tests. Perhaps you could add some?

Also: the why of this is important. You&apos;ll want to align this with qt port&apos;s work on adding the link preview.

&gt; Source/WebCore/page/EventHandler.cpp:2240
&gt; +    case PlatformGestureEvent::TapDownType:

nit: TapDown should come above TapType.

&gt; Source/WebCore/platform/PlatformGestureEvent.h:42
&gt; +        TapType,

this re-ordering would break a binary interface. Please leave TapType unchanged.

&gt; Source/WebCore/platform/chromium/GestureRecognizerChromium.h:70
&gt;      void appendClickGestureEvent(const PlatformTouchPoint&amp;, Gestures);

might be nice to rename this to appendTapGestureEvent? Am not sure it matters.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>462972</commentid>
    <comment_count>7</comment_count>
    <who name="Varun Jain">varunjain</who>
    <bug_when>2011-09-06 16:20:03 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; (From update of attachment 106420 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=106420&amp;action=review
&gt; 
&gt; the fact that the unit tests haven&apos;t been updated would seem to indicate that I didn&apos;t write enough unit tests. Perhaps you could add some?

Done.

&gt; 
&gt; Also: the why of this is important. You&apos;ll want to align this with qt port&apos;s work on adding the link preview.
&gt; 
&gt; &gt; Source/WebCore/page/EventHandler.cpp:2240
&gt; &gt; +    case PlatformGestureEvent::TapDownType:
&gt; 
&gt; nit: TapDown should come above TapType.

Done.

&gt; 
&gt; &gt; Source/WebCore/platform/PlatformGestureEvent.h:42
&gt; &gt; +        TapType,
&gt; 
&gt; this re-ordering would break a binary interface. Please leave TapType unchanged.

Done.

&gt; 
&gt; &gt; Source/WebCore/platform/chromium/GestureRecognizerChromium.h:70
&gt; &gt;      void appendClickGestureEvent(const PlatformTouchPoint&amp;, Gestures);
&gt; 
&gt; might be nice to rename this to appendTapGestureEvent? Am not sure it matters.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>462973</commentid>
    <comment_count>8</comment_count>
      <attachid>106512</attachid>
    <who name="Varun Jain">varunjain</who>
    <bug_when>2011-09-06 16:20:24 -0700</bug_when>
    <thetext>Created attachment 106512
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>463431</commentid>
    <comment_count>9</comment_count>
      <attachid>106512</attachid>
    <who name="Robert Kroeger">rjkroege</who>
    <bug_when>2011-09-07 10:29:51 -0700</bug_when>
    <thetext>Comment on attachment 106512
Patch

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

LGTM.

&gt; ChangeLog:4
&gt; +        https://bugs.webkit.org/show_bug.cgi?id=67645

I think you ought to say why we want this change somewhere.

In particular: it&apos;s worth looking at https://bugs.webkit.org/show_bug.cgi?id=65545 and making sure that this code aligns with it.

&gt; Source/WebKit/chromium/tests/InnerGestureRecognizerTest.cpp:292
&gt; +    OwnPtr&lt;Vector&lt;WebCore::PlatformGestureEvent&gt; &gt; gestureStart(gm.processTouchEventForGestures(pressEvent, false));

OwnPtr&lt;...&gt; could have a typedef?

&gt; Source/WebKit/chromium/tests/InnerGestureRecognizerTest.cpp:301
&gt; +        ASSERT_NE(PlatformGestureEvent::TapType, (*gestureMove)[i].type());

this is the scroll case yes?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>463566</commentid>
    <comment_count>10</comment_count>
      <attachid>106620</attachid>
    <who name="Varun Jain">varunjain</who>
    <bug_when>2011-09-07 12:15:44 -0700</bug_when>
    <thetext>Created attachment 106620
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>463568</commentid>
    <comment_count>11</comment_count>
    <who name="Varun Jain">varunjain</who>
    <bug_when>2011-09-07 12:16:54 -0700</bug_when>
    <thetext>(In reply to comment #9)
&gt; (From update of attachment 106512 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=106512&amp;action=review
&gt; 
&gt; LGTM.
&gt; 
&gt; &gt; ChangeLog:4
&gt; &gt; +        https://bugs.webkit.org/show_bug.cgi?id=67645
&gt; 
&gt; I think you ought to say why we want this change somewhere.

Added to the ChangeLog

&gt; 
&gt; In particular: it&apos;s worth looking at https://bugs.webkit.org/show_bug.cgi?id=65545 and making sure that this code aligns with it.
&gt; 
&gt; &gt; Source/WebKit/chromium/tests/InnerGestureRecognizerTest.cpp:292
&gt; &gt; +    OwnPtr&lt;Vector&lt;WebCore::PlatformGestureEvent&gt; &gt; gestureStart(gm.processTouchEventForGestures(pressEvent, false));
&gt; 
&gt; OwnPtr&lt;...&gt; could have a typedef?

Done.

&gt; 
&gt; &gt; Source/WebKit/chromium/tests/InnerGestureRecognizerTest.cpp:301
&gt; &gt; +        ASSERT_NE(PlatformGestureEvent::TapType, (*gestureMove)[i].type());
&gt; 
&gt; this is the scroll case yes?

Yes.. but it is tested in gestureScrollTest, so I didnot want to repeat all that code here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>464198</commentid>
    <comment_count>12</comment_count>
      <attachid>106620</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-09-08 11:29:45 -0700</bug_when>
    <thetext>Comment on attachment 106620
Patch

Clearing flags on attachment: 106620

Committed r94772: &lt;http://trac.webkit.org/changeset/94772&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>464199</commentid>
    <comment_count>13</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-09-08 11:29:50 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>106416</attachid>
            <date>2011-09-06 07:34:52 -0700</date>
            <delta_ts>2011-09-06 08:27:25 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-67645-20110906103252.patch</filename>
            <type>text/plain</type>
            <size>6661</size>
            <attacher name="Varun Jain">varunjain</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTQ1NjQKZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5n
ZUxvZwppbmRleCBjZWMxNTJjZTRhMzI0OTEyNDdmNjA1ZmQwMjdhMjMwYWRmMjlmZjEyLi45MDA3
YzQwYjQ0MjFhODBmOTk0Mzg1OTNlYzgzNTY2ZjNlZTVlNmRhIDEwMDY0NAotLS0gYS9DaGFuZ2VM
b2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTEtMDktMDYgIFZhcnVuIEph
aW4gIDx2YXJ1bmphaW5AZ29vZ2xlLmNvbT4KKworICAgICAgICBTcGxpdCBUYXAgZ2VzdHVyZSBk
ZXRlY3Rpb24gaW50byBUYXBEb3duIGFuZCBUYXBSZWxlYXNlCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02NzY0NQorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogIFNvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRI
YW5kbGVyLmNwcDoKKyAgICAgICAgKiAgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGxhdGZvcm1H
ZXN0dXJlRXZlbnQuaDoKKwogMjAxMS0wOS0wNCAgUm9iaW4gRHVubiAgPHJvYmluQGFsbGR1bm4u
Y29tPgogCiAgICAgICAgIFt3eF0gRW5hYmxlIHd4V2ViS2l0IHRvIHJ1biB1c2luZyB0aGUgd3hH
QyBDYWlybyBiYWNrZW5kIG9uIHBsYXRmb3JtcyBvdGhlciB0aGFuIEdUSy4KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvRXZlbnRIYW5kbGVyLmNwcAppbmRleCAyMWVjZjMyMDcxZDhhZmQ0OTkxNTQ5M2UzZjZiMzlk
MzZmYzQ1YzcxLi5lMTc5NTRiOTNjNDM2Yzk0NDA0ZmU3YWU1NTYzNmFiNjhkOWZkZjBhIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwCkBAIC0yMjM2LDYgKzIyMzYsOSBAQCBib29s
IEV2ZW50SGFuZGxlcjo6aGFuZGxlR2VzdHVyZUV2ZW50KGNvbnN0IFBsYXRmb3JtR2VzdHVyZUV2
ZW50JiBnZXN0dXJlRXZlbnQpCiAKICAgICAgICAgdmlldy0+aGFuZGxlR2VzdHVyZUV2ZW50KGdl
c3R1cmVFdmVudCk7CiAgICAgICAgIHJldHVybiB0cnVlOworICAgIGNhc2UgUGxhdGZvcm1HZXN0
dXJlRXZlbnQ6OlRhcERvd25UeXBlOgorICAgIGNhc2UgUGxhdGZvcm1HZXN0dXJlRXZlbnQ6OlRh
cFJlbGVhc2VUeXBlOgorICAgICAgICBicmVhazsKICAgICB9CiAgICAgcmV0dXJuIHRydWU7CiB9
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9ybUdlc3R1cmVFdmVu
dC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGxhdGZvcm1HZXN0dXJlRXZlbnQuaAppbmRl
eCAxOGI3ZDFhYTJkMWVkZjlhODNkZWYyZjI2NmYyNTA5MDM3OTY4NDdiLi5kY2MzN2FkMDNiYjE0
YWU2ZTE2NDRlY2I2ODgxZGU4Njk4OTFhMzNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9QbGF0Zm9ybUdlc3R1cmVFdmVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL1BsYXRmb3JtR2VzdHVyZUV2ZW50LmgKQEAgLTM4LDcgKzM4LDkgQEAgcHVibGljOgogICAg
ICAgICBTY3JvbGxCZWdpblR5cGUsCiAgICAgICAgIFNjcm9sbEVuZFR5cGUsCiAgICAgICAgIFNj
cm9sbFVwZGF0ZVR5cGUsCi0gICAgICAgIFRhcFR5cGUKKyAgICAgICAgVGFwVHlwZSwKKyAgICAg
ICAgVGFwRG93blR5cGUsCisgICAgICAgIFRhcFJlbGVhc2VUeXBlLAogICAgIH07CiAKICAgICBQ
bGF0Zm9ybUdlc3R1cmVFdmVudCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9jaHJvbWl1bS9HZXN0dXJlUmVjb2duaXplckNocm9taXVtLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2Nocm9taXVtL0dlc3R1cmVSZWNvZ25pemVyQ2hyb21pdW0uY3BwCmluZGV4IDc1
NjAyYjM4NGExMjQ0NzkwYjQxM2I4OGQzMjUwZDY1N2ZiZjU3NmYuLjU0NzQ0Y2ZhNjMxNDE3OGE3
MWQ0ZDNmYjMyYzYwOTRhMjMyZGRkM2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL2Nocm9taXVtL0dlc3R1cmVSZWNvZ25pemVyQ2hyb21pdW0uY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL0dlc3R1cmVSZWNvZ25pemVyQ2hyb21pdW0uY3BwCkBA
IC05Miw2ICs5MiwxNiBAQCBib29sIEdlc3R1cmVSZWNvZ25pemVyQ2hyb21pdW06OmlzSW5zaWRl
TWFuaGF0dGFuU3F1YXJlKGNvbnN0IFBsYXRmb3JtVG91Y2hQb2ludAogICAgIHJldHVybiBtYW5o
YXR0YW5EaXN0YW5jZSA8IG1heGltdW1Ub3VjaE1vdmVJblBpeGVsc0ZvckNsaWNrOwogfQogCit2
b2lkIEdlc3R1cmVSZWNvZ25pemVyQ2hyb21pdW06OmFwcGVuZFRhcERvd25HZXN0dXJlRXZlbnQo
Y29uc3QgUGxhdGZvcm1Ub3VjaFBvaW50JiB0b3VjaFBvaW50LCBHZXN0dXJlcyBnZXN0dXJlcykK
K3sKKyAgICBnZXN0dXJlcy0+YXBwZW5kKFBsYXRmb3JtR2VzdHVyZUV2ZW50KFBsYXRmb3JtR2Vz
dHVyZUV2ZW50OjpUYXBEb3duVHlwZSwgbV9maXJzdFRvdWNoUG9zaXRpb24sIG1fZmlyc3RUb3Vj
aFNjcmVlblBvc2l0aW9uLCBtX2xhc3RUb3VjaFRpbWUsIDAuZiwgMC5mLCBtX3NoaWZ0S2V5LCBt
X2N0cmxLZXksIG1fYWx0S2V5LCBtX21ldGFLZXkpKTsKK30KKwordm9pZCBHZXN0dXJlUmVjb2du
aXplckNocm9taXVtOjphcHBlbmRUYXBSZWxlYXNlR2VzdHVyZUV2ZW50KGNvbnN0IFBsYXRmb3Jt
VG91Y2hQb2ludCYgdG91Y2hQb2ludCwgR2VzdHVyZXMgZ2VzdHVyZXMpCit7CisgICAgZ2VzdHVy
ZXMtPmFwcGVuZChQbGF0Zm9ybUdlc3R1cmVFdmVudChQbGF0Zm9ybUdlc3R1cmVFdmVudDo6VGFw
UmVsZWFzZVR5cGUsIG1fbGFzdFRvdWNoUG9zaXRpb24sIG1fbGFzdFRvdWNoU2NyZWVuUG9zaXRp
b24sIG1fbGFzdFRvdWNoVGltZSwgMC5mLCAwLmYsIG1fc2hpZnRLZXksIG1fY3RybEtleSwgbV9h
bHRLZXksIG1fbWV0YUtleSkpOworfQorCiB2b2lkIEdlc3R1cmVSZWNvZ25pemVyQ2hyb21pdW06
OmFwcGVuZENsaWNrR2VzdHVyZUV2ZW50KGNvbnN0IFBsYXRmb3JtVG91Y2hQb2ludCYgdG91Y2hQ
b2ludCwgR2VzdHVyZXMgZ2VzdHVyZXMpCiB7CiAgICAgZ2VzdHVyZXMtPmFwcGVuZChQbGF0Zm9y
bUdlc3R1cmVFdmVudChQbGF0Zm9ybUdlc3R1cmVFdmVudDo6VGFwVHlwZSwgbV9maXJzdFRvdWNo
UG9zaXRpb24sIG1fZmlyc3RUb3VjaFNjcmVlblBvc2l0aW9uLCBtX2xhc3RUb3VjaFRpbWUsIDAu
ZiwgMC5mLCBtX3NoaWZ0S2V5LCBtX2N0cmxLZXksIG1fYWx0S2V5LCBtX21ldGFLZXkpKTsKQEAg
LTEzOCw2ICsxNDgsOCBAQCB2b2lkIEdlc3R1cmVSZWNvZ25pemVyQ2hyb21pdW06OmFwcGVuZFNj
cm9sbEdlc3R1cmVVcGRhdGUoY29uc3QgUGxhdGZvcm1Ub3VjaFBvaQogdm9pZCBHZXN0dXJlUmVj
b2duaXplckNocm9taXVtOjp1cGRhdGVWYWx1ZXMoY29uc3QgZG91YmxlIHRvdWNoVGltZSwgY29u
c3QgUGxhdGZvcm1Ub3VjaFBvaW50JiB0b3VjaFBvaW50KQogewogICAgIG1fbGFzdFRvdWNoVGlt
ZSA9IHRvdWNoVGltZTsKKyAgICBtX2xhc3RUb3VjaFBvc2l0aW9uID0gdG91Y2hQb2ludC5wb3Mo
KTsKKyAgICBtX2xhc3RUb3VjaFNjcmVlblBvc2l0aW9uID0gdG91Y2hQb2ludC5zY3JlZW5Qb3Mo
KTsKICAgICBpZiAoc3RhdGUoKSA9PSBOb0dlc3R1cmUpIHsKICAgICAgICAgbV9maXJzdFRvdWNo
VGltZSA9IHRvdWNoVGltZTsKICAgICAgICAgbV9maXJzdFRvdWNoUG9zaXRpb24gPSB0b3VjaFBv
aW50LnBvcygpOwpAQCAtMTYwLDEzICsxNzIsMTQgQEAgdW5zaWduZWQgaW50IEdlc3R1cmVSZWNv
Z25pemVyQ2hyb21pdW06OnNpZ25hdHVyZShTdGF0ZSBnZXN0dXJlU3RhdGUsIHVuc2lnbmVkIGkK
IGJvb2wgR2VzdHVyZVJlY29nbml6ZXJDaHJvbWl1bTo6dG91Y2hEb3duKGNvbnN0IFBsYXRmb3Jt
VG91Y2hQb2ludCYgdG91Y2hQb2ludCwgR2VzdHVyZXMgZ2VzdHVyZXMpCiB7CiAgICAgc2V0U3Rh
dGUoUGVuZGluZ1N5bnRoZXRpY0NsaWNrKTsKLSAgICAvLyBGSVhNRTogRGl2aWRlIFRhcFR5cGUg
aW50byBkb3duIGFuZCB1cCBldmVudHMuCisgICAgYXBwZW5kVGFwRG93bkdlc3R1cmVFdmVudCh0
b3VjaFBvaW50LCBnZXN0dXJlcyk7CiAgICAgcmV0dXJuIGZhbHNlOwogfQogCiBib29sIEdlc3R1
cmVSZWNvZ25pemVyQ2hyb21pdW06OnNjcm9sbEVuZChjb25zdCBQbGF0Zm9ybVRvdWNoUG9pbnQm
IHBvaW50LCBHZXN0dXJlcyBnZXN0dXJlcykKIHsKICAgICBhcHBlbmRTY3JvbGxHZXN0dXJlRW5k
KHBvaW50LCBnZXN0dXJlcyk7CisgICAgYXBwZW5kVGFwUmVsZWFzZUdlc3R1cmVFdmVudChwb2lu
dCwgZ2VzdHVyZXMpOwogICAgIHNldFN0YXRlKE5vR2VzdHVyZSk7CiAgICAgcmVzZXQoKTsKICAg
ICByZXR1cm4gZmFsc2U7CkBAIC0xODAsNiArMTkzLDcgQEAgYm9vbCBHZXN0dXJlUmVjb2duaXpl
ckNocm9taXVtOjpub0dlc3R1cmUoY29uc3QgUGxhdGZvcm1Ub3VjaFBvaW50JiwgR2VzdHVyZXMp
CiAKIGJvb2wgR2VzdHVyZVJlY29nbml6ZXJDaHJvbWl1bTo6Y2xpY2soY29uc3QgUGxhdGZvcm1U
b3VjaFBvaW50JiBwb2ludCwgR2VzdHVyZXMgZ2VzdHVyZXMpCiB7CisgICAgYXBwZW5kVGFwUmVs
ZWFzZUdlc3R1cmVFdmVudChwb2ludCwgZ2VzdHVyZXMpOwogICAgIGlmIChpc0luQ2xpY2tUaW1l
V2luZG93KCkgJiYgaXNJbnNpZGVNYW5oYXR0YW5TcXVhcmUocG9pbnQpKSB7CiAgICAgICAgIHNl
dFN0YXRlKE5vR2VzdHVyZSk7CiAgICAgICAgIGFwcGVuZENsaWNrR2VzdHVyZUV2ZW50KHBvaW50
LCBnZXN0dXJlcyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1
bS9HZXN0dXJlUmVjb2duaXplckNocm9taXVtLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9j
aHJvbWl1bS9HZXN0dXJlUmVjb2duaXplckNocm9taXVtLmgKaW5kZXggNmQ1NmNkNWMyOTBjNzRj
NmZjZTI2YzgyMmY4YzVmZWYzOTYwNDdkZi4uZTNjMzg0YjFkZDgxNTQ5ZDZmNzkyM2I0NTE2ZDQy
ZWIyNTFmZDNlNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0v
R2VzdHVyZVJlY29nbml6ZXJDaHJvbWl1bS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2Nocm9taXVtL0dlc3R1cmVSZWNvZ25pemVyQ2hyb21pdW0uaApAQCAtNjYsNiArNjYsOCBAQCBw
cml2YXRlOgogCiAgICAgc3RhdGljIHVuc2lnbmVkIGludCBzaWduYXR1cmUoU3RhdGUsIHVuc2ln
bmVkLCBQbGF0Zm9ybVRvdWNoUG9pbnQ6OlN0YXRlLCBib29sKTsKICAgICB2b2lkIGFkZEVkZ2VG
dW5jdGlvbihTdGF0ZSwgdW5zaWduZWQgZmluZ2VyLCBQbGF0Zm9ybVRvdWNoUG9pbnQ6OlN0YXRl
LCBib29sIHRvdWNoSGFuZGxlZEJ5SmF2YVNjcmlwdCwgR2VzdHVyZVRyYW5zaXRpb25GdW5jdGlv
bik7CisgICAgdm9pZCBhcHBlbmRUYXBEb3duR2VzdHVyZUV2ZW50KGNvbnN0IFBsYXRmb3JtVG91
Y2hQb2ludCYsIEdlc3R1cmVzKTsKKyAgICB2b2lkIGFwcGVuZFRhcFJlbGVhc2VHZXN0dXJlRXZl
bnQoY29uc3QgUGxhdGZvcm1Ub3VjaFBvaW50JiwgR2VzdHVyZXMpOwogICAgIHZvaWQgYXBwZW5k
Q2xpY2tHZXN0dXJlRXZlbnQoY29uc3QgUGxhdGZvcm1Ub3VjaFBvaW50JiwgR2VzdHVyZXMpOwog
ICAgIHZvaWQgYXBwZW5kU2Nyb2xsR2VzdHVyZUJlZ2luKGNvbnN0IFBsYXRmb3JtVG91Y2hQb2lu
dCYsIEdlc3R1cmVzKTsKICAgICB2b2lkIGFwcGVuZFNjcm9sbEdlc3R1cmVFbmQoY29uc3QgUGxh
dGZvcm1Ub3VjaFBvaW50JiwgR2VzdHVyZXMpOwpAQCAtODgsNiArOTAsNyBAQCBwcml2YXRlOgog
ICAgIGRvdWJsZSBtX2ZpcnN0VG91Y2hUaW1lOwogICAgIFN0YXRlIG1fc3RhdGU7CiAgICAgSW50
UG9pbnQgbV9sYXN0VG91Y2hQb3NpdGlvbjsKKyAgICBJbnRQb2ludCBtX2xhc3RUb3VjaFNjcmVl
blBvc2l0aW9uOwogICAgIGRvdWJsZSBtX2xhc3RUb3VjaFRpbWU7CiAKICAgICBib29sIG1fY3Ry
bEtleTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL1BvcHVw
Q29udGFpbmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL1BvcHVwQ29u
dGFpbmVyLmNwcAppbmRleCAyMWM0NmU2NzFlZDk0MzhjYzZiYjRlYjI1OGQ5NzVjNmZkOWIyZDA3
Li5lZGI0NTAyNjAyYTk3MGY2ZGI1MzM2OTJlNWViOTZhNzAyYWY0NjJiIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9Qb3B1cENvbnRhaW5lci5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vUG9wdXBDb250YWluZXIuY3BwCkBAIC0z
MTMsNiArMzEzLDggQEAgYm9vbCBQb3B1cENvbnRhaW5lcjo6aGFuZGxlR2VzdHVyZUV2ZW50KGNv
bnN0IFBsYXRmb3JtR2VzdHVyZUV2ZW50JiBnZXN0dXJlRXZlbnQKICAgICB9CiAgICAgY2FzZSBQ
bGF0Zm9ybUdlc3R1cmVFdmVudDo6U2Nyb2xsQmVnaW5UeXBlOgogICAgIGNhc2UgUGxhdGZvcm1H
ZXN0dXJlRXZlbnQ6OlNjcm9sbEVuZFR5cGU6CisgICAgY2FzZSBQbGF0Zm9ybUdlc3R1cmVFdmVu
dDo6VGFwRG93blR5cGU6CisgICAgY2FzZSBQbGF0Zm9ybUdlc3R1cmVFdmVudDo6VGFwUmVsZWFz
ZVR5cGU6CiAgICAgICAgIGJyZWFrOwogICAgIH0KICAgICByZXR1cm4gZmFsc2U7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>106420</attachid>
            <date>2011-09-06 08:27:33 -0700</date>
            <delta_ts>2011-09-06 16:20:17 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-67645-20110906112533.patch</filename>
            <type>text/plain</type>
            <size>5392</size>
            <attacher name="Varun Jain">varunjain</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTQ1NjQKZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5n
ZUxvZwppbmRleCBjZWMxNTJjZTRhMzI0OTEyNDdmNjA1ZmQwMjdhMjMwYWRmMjlmZjEyLi45MDA3
YzQwYjQ0MjFhODBmOTk0Mzg1OTNlYzgzNTY2ZjNlZTVlNmRhIDEwMDY0NAotLS0gYS9DaGFuZ2VM
b2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTEtMDktMDYgIFZhcnVuIEph
aW4gIDx2YXJ1bmphaW5AZ29vZ2xlLmNvbT4KKworICAgICAgICBTcGxpdCBUYXAgZ2VzdHVyZSBk
ZXRlY3Rpb24gaW50byBUYXBEb3duIGFuZCBUYXBSZWxlYXNlCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02NzY0NQorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogIFNvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRI
YW5kbGVyLmNwcDoKKyAgICAgICAgKiAgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGxhdGZvcm1H
ZXN0dXJlRXZlbnQuaDoKKwogMjAxMS0wOS0wNCAgUm9iaW4gRHVubiAgPHJvYmluQGFsbGR1bm4u
Y29tPgogCiAgICAgICAgIFt3eF0gRW5hYmxlIHd4V2ViS2l0IHRvIHJ1biB1c2luZyB0aGUgd3hH
QyBDYWlybyBiYWNrZW5kIG9uIHBsYXRmb3JtcyBvdGhlciB0aGFuIEdUSy4KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvRXZlbnRIYW5kbGVyLmNwcAppbmRleCAyMWVjZjMyMDcxZDhhZmQ0OTkxNTQ5M2UzZjZiMzlk
MzZmYzQ1YzcxLi5mNmFiYzNiZTM4N2ZmYjE0M2MwY2M2MzY1NzcwMzEzODVkZjE5ODYyIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwCkBAIC0yMjI5LDcgKzIyMjksNyBAQCBib29s
IEV2ZW50SGFuZGxlcjo6aGFuZGxlR2VzdHVyZUV2ZW50KGNvbnN0IFBsYXRmb3JtR2VzdHVyZUV2
ZW50JiBnZXN0dXJlRXZlbnQpCiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KICAgICBjYXNl
IFBsYXRmb3JtR2VzdHVyZUV2ZW50OjpTY3JvbGxCZWdpblR5cGU6Ci0gICAgY2FzZSBQbGF0Zm9y
bUdlc3R1cmVFdmVudDo6U2Nyb2xsRW5kVHlwZToKKyAgICBjYXNlIFBsYXRmb3JtR2VzdHVyZUV2
ZW50OjpTY3JvbGxFbmRUeXBlOiB7CiAgICAgICAgIEZyYW1lVmlldyogdmlldyA9IG1fZnJhbWUt
PnZpZXcoKTsKICAgICAgICAgaWYgKCF2aWV3KQogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwpA
QCAtMjIzNyw2ICsyMjM3LDkgQEAgYm9vbCBFdmVudEhhbmRsZXI6OmhhbmRsZUdlc3R1cmVFdmVu
dChjb25zdCBQbGF0Zm9ybUdlc3R1cmVFdmVudCYgZ2VzdHVyZUV2ZW50KQogICAgICAgICB2aWV3
LT5oYW5kbGVHZXN0dXJlRXZlbnQoZ2VzdHVyZUV2ZW50KTsKICAgICAgICAgcmV0dXJuIHRydWU7
CiAgICAgfQorICAgIGNhc2UgUGxhdGZvcm1HZXN0dXJlRXZlbnQ6OlRhcERvd25UeXBlOgorICAg
ICAgICBicmVhazsKKyAgICB9CiAgICAgcmV0dXJuIHRydWU7CiB9CiAjZW5kaWYKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3JtR2VzdHVyZUV2ZW50LmggYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9ybUdlc3R1cmVFdmVudC5oCmluZGV4IDE4YjdkMWFh
MmQxZWRmOWE4M2RlZjJmMjY2ZjI1MDkwMzc5Njg0N2IuLjIxMzdiMDBmYjkzZjZiMmNkY2E0MDQz
MTNhMGRmYTI2YTA2MzYxMWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Bs
YXRmb3JtR2VzdHVyZUV2ZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGxhdGZv
cm1HZXN0dXJlRXZlbnQuaApAQCAtMzgsNyArMzgsOCBAQCBwdWJsaWM6CiAgICAgICAgIFNjcm9s
bEJlZ2luVHlwZSwKICAgICAgICAgU2Nyb2xsRW5kVHlwZSwKICAgICAgICAgU2Nyb2xsVXBkYXRl
VHlwZSwKLSAgICAgICAgVGFwVHlwZQorICAgICAgICBUYXBEb3duVHlwZSwKKyAgICAgICAgVGFw
VHlwZSwKICAgICB9OwogCiAgICAgUGxhdGZvcm1HZXN0dXJlRXZlbnQoKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vR2VzdHVyZVJlY29nbml6ZXJDaHJvbWl1
bS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9HZXN0dXJlUmVjb2duaXpl
ckNocm9taXVtLmNwcAppbmRleCA3NTYwMmIzODRhMTI0NDc5MGI0MTNiODhkMzI1MGQ2NTdmYmY1
NzZmLi4wODM0MDgwNTY5NGFhYzFmMzI0YzVjMDI2ZmQ0NjdlMTZmZDgwZmFjIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9HZXN0dXJlUmVjb2duaXplckNocm9t
aXVtLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9HZXN0dXJlUmVj
b2duaXplckNocm9taXVtLmNwcApAQCAtOTIsNiArOTIsMTEgQEAgYm9vbCBHZXN0dXJlUmVjb2du
aXplckNocm9taXVtOjppc0luc2lkZU1hbmhhdHRhblNxdWFyZShjb25zdCBQbGF0Zm9ybVRvdWNo
UG9pbnQKICAgICByZXR1cm4gbWFuaGF0dGFuRGlzdGFuY2UgPCBtYXhpbXVtVG91Y2hNb3ZlSW5Q
aXhlbHNGb3JDbGljazsKIH0KIAordm9pZCBHZXN0dXJlUmVjb2duaXplckNocm9taXVtOjphcHBl
bmRUYXBEb3duR2VzdHVyZUV2ZW50KGNvbnN0IFBsYXRmb3JtVG91Y2hQb2ludCYgdG91Y2hQb2lu
dCwgR2VzdHVyZXMgZ2VzdHVyZXMpCit7CisgICAgZ2VzdHVyZXMtPmFwcGVuZChQbGF0Zm9ybUdl
c3R1cmVFdmVudChQbGF0Zm9ybUdlc3R1cmVFdmVudDo6VGFwRG93blR5cGUsIG1fZmlyc3RUb3Vj
aFBvc2l0aW9uLCBtX2ZpcnN0VG91Y2hTY3JlZW5Qb3NpdGlvbiwgbV9sYXN0VG91Y2hUaW1lLCAw
LmYsIDAuZiwgbV9zaGlmdEtleSwgbV9jdHJsS2V5LCBtX2FsdEtleSwgbV9tZXRhS2V5KSk7Cit9
CisKIHZvaWQgR2VzdHVyZVJlY29nbml6ZXJDaHJvbWl1bTo6YXBwZW5kQ2xpY2tHZXN0dXJlRXZl
bnQoY29uc3QgUGxhdGZvcm1Ub3VjaFBvaW50JiB0b3VjaFBvaW50LCBHZXN0dXJlcyBnZXN0dXJl
cykKIHsKICAgICBnZXN0dXJlcy0+YXBwZW5kKFBsYXRmb3JtR2VzdHVyZUV2ZW50KFBsYXRmb3Jt
R2VzdHVyZUV2ZW50OjpUYXBUeXBlLCBtX2ZpcnN0VG91Y2hQb3NpdGlvbiwgbV9maXJzdFRvdWNo
U2NyZWVuUG9zaXRpb24sIG1fbGFzdFRvdWNoVGltZSwgMC5mLCAwLmYsIG1fc2hpZnRLZXksIG1f
Y3RybEtleSwgbV9hbHRLZXksIG1fbWV0YUtleSkpOwpAQCAtMTYwLDcgKzE2NSw3IEBAIHVuc2ln
bmVkIGludCBHZXN0dXJlUmVjb2duaXplckNocm9taXVtOjpzaWduYXR1cmUoU3RhdGUgZ2VzdHVy
ZVN0YXRlLCB1bnNpZ25lZCBpCiBib29sIEdlc3R1cmVSZWNvZ25pemVyQ2hyb21pdW06OnRvdWNo
RG93bihjb25zdCBQbGF0Zm9ybVRvdWNoUG9pbnQmIHRvdWNoUG9pbnQsIEdlc3R1cmVzIGdlc3R1
cmVzKQogewogICAgIHNldFN0YXRlKFBlbmRpbmdTeW50aGV0aWNDbGljayk7Ci0gICAgLy8gRklY
TUU6IERpdmlkZSBUYXBUeXBlIGludG8gZG93biBhbmQgdXAgZXZlbnRzLgorICAgIGFwcGVuZFRh
cERvd25HZXN0dXJlRXZlbnQodG91Y2hQb2ludCwgZ2VzdHVyZXMpOwogICAgIHJldHVybiBmYWxz
ZTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vR2Vz
dHVyZVJlY29nbml6ZXJDaHJvbWl1bS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21p
dW0vR2VzdHVyZVJlY29nbml6ZXJDaHJvbWl1bS5oCmluZGV4IDZkNTZjZDVjMjkwYzc0YzZmY2Uy
NmM4MjJmOGM1ZmVmMzk2MDQ3ZGYuLjEzOGQ4ZDY2OTdiYzgyZDNhOWJjMzNlMmYwNDkxNDFjMGJi
MzVlMTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL0dlc3R1
cmVSZWNvZ25pemVyQ2hyb21pdW0uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJv
bWl1bS9HZXN0dXJlUmVjb2duaXplckNocm9taXVtLmgKQEAgLTY2LDYgKzY2LDcgQEAgcHJpdmF0
ZToKIAogICAgIHN0YXRpYyB1bnNpZ25lZCBpbnQgc2lnbmF0dXJlKFN0YXRlLCB1bnNpZ25lZCwg
UGxhdGZvcm1Ub3VjaFBvaW50OjpTdGF0ZSwgYm9vbCk7CiAgICAgdm9pZCBhZGRFZGdlRnVuY3Rp
b24oU3RhdGUsIHVuc2lnbmVkIGZpbmdlciwgUGxhdGZvcm1Ub3VjaFBvaW50OjpTdGF0ZSwgYm9v
bCB0b3VjaEhhbmRsZWRCeUphdmFTY3JpcHQsIEdlc3R1cmVUcmFuc2l0aW9uRnVuY3Rpb24pOwor
ICAgIHZvaWQgYXBwZW5kVGFwRG93bkdlc3R1cmVFdmVudChjb25zdCBQbGF0Zm9ybVRvdWNoUG9p
bnQmLCBHZXN0dXJlcyk7CiAgICAgdm9pZCBhcHBlbmRDbGlja0dlc3R1cmVFdmVudChjb25zdCBQ
bGF0Zm9ybVRvdWNoUG9pbnQmLCBHZXN0dXJlcyk7CiAgICAgdm9pZCBhcHBlbmRTY3JvbGxHZXN0
dXJlQmVnaW4oY29uc3QgUGxhdGZvcm1Ub3VjaFBvaW50JiwgR2VzdHVyZXMpOwogICAgIHZvaWQg
YXBwZW5kU2Nyb2xsR2VzdHVyZUVuZChjb25zdCBQbGF0Zm9ybVRvdWNoUG9pbnQmLCBHZXN0dXJl
cyk7CkBAIC04Nyw3ICs4OCw2IEBAIHByaXZhdGU6CiAgICAgSW50UG9pbnQgbV9maXJzdFRvdWNo
U2NyZWVuUG9zaXRpb247CiAgICAgZG91YmxlIG1fZmlyc3RUb3VjaFRpbWU7CiAgICAgU3RhdGUg
bV9zdGF0ZTsKLSAgICBJbnRQb2ludCBtX2xhc3RUb3VjaFBvc2l0aW9uOwogICAgIGRvdWJsZSBt
X2xhc3RUb3VjaFRpbWU7CiAKICAgICBib29sIG1fY3RybEtleTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL1BvcHVwQ29udGFpbmVyLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL1BvcHVwQ29udGFpbmVyLmNwcAppbmRleCAyMWM0NmU2
NzFlZDk0MzhjYzZiYjRlYjI1OGQ5NzVjNmZkOWIyZDA3Li5lMDJmMWQ4YjlkMmYzNTk5NjExNmM0
MTQyYmZmMzY5Y2JhNTcyYjExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9j
aHJvbWl1bS9Qb3B1cENvbnRhaW5lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Y2hyb21pdW0vUG9wdXBDb250YWluZXIuY3BwCkBAIC0zMTMsNiArMzEzLDcgQEAgYm9vbCBQb3B1
cENvbnRhaW5lcjo6aGFuZGxlR2VzdHVyZUV2ZW50KGNvbnN0IFBsYXRmb3JtR2VzdHVyZUV2ZW50
JiBnZXN0dXJlRXZlbnQKICAgICB9CiAgICAgY2FzZSBQbGF0Zm9ybUdlc3R1cmVFdmVudDo6U2Ny
b2xsQmVnaW5UeXBlOgogICAgIGNhc2UgUGxhdGZvcm1HZXN0dXJlRXZlbnQ6OlNjcm9sbEVuZFR5
cGU6CisgICAgY2FzZSBQbGF0Zm9ybUdlc3R1cmVFdmVudDo6VGFwRG93blR5cGU6CiAgICAgICAg
IGJyZWFrOwogICAgIH0KICAgICByZXR1cm4gZmFsc2U7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>106512</attachid>
            <date>2011-09-06 16:20:24 -0700</date>
            <delta_ts>2011-09-07 12:15:39 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-67645-20110906191822.patch</filename>
            <type>text/plain</type>
            <size>9325</size>
            <attacher name="Varun Jain">varunjain</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTQ1NjQKZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5n
ZUxvZwppbmRleCBjZWMxNTJjZTRhMzI0OTEyNDdmNjA1ZmQwMjdhMjMwYWRmMjlmZjEyLi45MDA3
YzQwYjQ0MjFhODBmOTk0Mzg1OTNlYzgzNTY2ZjNlZTVlNmRhIDEwMDY0NAotLS0gYS9DaGFuZ2VM
b2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTEtMDktMDYgIFZhcnVuIEph
aW4gIDx2YXJ1bmphaW5AZ29vZ2xlLmNvbT4KKworICAgICAgICBTcGxpdCBUYXAgZ2VzdHVyZSBk
ZXRlY3Rpb24gaW50byBUYXBEb3duIGFuZCBUYXBSZWxlYXNlCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02NzY0NQorCisgICAgICAgIFJldmlld2VkIGJ5
IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogIFNvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRI
YW5kbGVyLmNwcDoKKyAgICAgICAgKiAgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGxhdGZvcm1H
ZXN0dXJlRXZlbnQuaDoKKwogMjAxMS0wOS0wNCAgUm9iaW4gRHVubiAgPHJvYmluQGFsbGR1bm4u
Y29tPgogCiAgICAgICAgIFt3eF0gRW5hYmxlIHd4V2ViS2l0IHRvIHJ1biB1c2luZyB0aGUgd3hH
QyBDYWlybyBiYWNrZW5kIG9uIHBsYXRmb3JtcyBvdGhlciB0aGFuIEdUSy4KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvRXZlbnRIYW5kbGVyLmNwcAppbmRleCAyMWVjZjMyMDcxZDhhZmQ0OTkxNTQ5M2UzZjZiMzlk
MzZmYzQ1YzcxLi4wNzc1Mzc3NmFhZTM1ZTA3ZjQ3NTMzM2Y5MDIxYTUyMzQ3NDI0MTdkIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwCkBAIC0yMjA5LDYgKzIyMDksOCBAQCBib29s
IEV2ZW50SGFuZGxlcjo6aGFuZGxlR2VzdHVyZUV2ZW50KGNvbnN0IFBsYXRmb3JtR2VzdHVyZUV2
ZW50JiBnZXN0dXJlRXZlbnQpCiAgICAgLy8gZW5kIGdlc3R1cmUgYXMgd2VsbC4KIAogICAgIHN3
aXRjaCAoZ2VzdHVyZUV2ZW50LnR5cGUoKSkgeworICAgIGNhc2UgUGxhdGZvcm1HZXN0dXJlRXZl
bnQ6OlRhcERvd25UeXBlOgorICAgICAgICBicmVhazsKICAgICBjYXNlIFBsYXRmb3JtR2VzdHVy
ZUV2ZW50OjpUYXBUeXBlOiB7CiAgICAgICAgIC8vIEZJWE1FOiBSZWZhY3RvciB0aGlzIGNvZGUg
dG8gbm90IGhpdCB0ZXN0IG11bHRpcGxlIHRpbWVzIG9uY2UgaGl0IHRlc3RpbmcgaGFzIGJlZW4g
Y29ycmVjdGVkIGFzIHN1Z2dlc3RlZCBhYm92ZS4KICAgICAgICAgUGxhdGZvcm1Nb3VzZUV2ZW50
IGZha2VNb3VzZU1vdmUoZ2VzdHVyZUV2ZW50LnBvc2l0aW9uKCksIGdlc3R1cmVFdmVudC5nbG9i
YWxQb3NpdGlvbigpLCBOb0J1dHRvbiwgTW91c2VFdmVudE1vdmVkLCAvKiBjbGlja0NvdW50ICov
IDEsIGdlc3R1cmVFdmVudC5zaGlmdEtleSgpLCBnZXN0dXJlRXZlbnQuY3RybEtleSgpLCBnZXN0
dXJlRXZlbnQuYWx0S2V5KCksIGdlc3R1cmVFdmVudC5tZXRhS2V5KCksIGdlc3R1cmVFdmVudC50
aW1lc3RhbXAoKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9y
bUdlc3R1cmVFdmVudC5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vUGxhdGZvcm1HZXN0dXJl
RXZlbnQuaAppbmRleCAxOGI3ZDFhYTJkMWVkZjlhODNkZWYyZjI2NmYyNTA5MDM3OTY4NDdiLi4z
NjE3ODFiYjU1ZGViYjY1NGY1YzE2MjJmODUxOGVhZTI2MGY2MDZhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9ybUdlc3R1cmVFdmVudC5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3JtR2VzdHVyZUV2ZW50LmgKQEAgLTM4LDcgKzM4LDggQEAg
cHVibGljOgogICAgICAgICBTY3JvbGxCZWdpblR5cGUsCiAgICAgICAgIFNjcm9sbEVuZFR5cGUs
CiAgICAgICAgIFNjcm9sbFVwZGF0ZVR5cGUsCi0gICAgICAgIFRhcFR5cGUKKyAgICAgICAgVGFw
VHlwZSwKKyAgICAgICAgVGFwRG93blR5cGUsCiAgICAgfTsKIAogICAgIFBsYXRmb3JtR2VzdHVy
ZUV2ZW50KCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL0dl
c3R1cmVSZWNvZ25pemVyQ2hyb21pdW0uY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hy
b21pdW0vR2VzdHVyZVJlY29nbml6ZXJDaHJvbWl1bS5jcHAKaW5kZXggNzU2MDJiMzg0YTEyNDQ3
OTBiNDEzYjg4ZDMyNTBkNjU3ZmJmNTc2Zi4uMDgzNDA4MDU2OTRhYWMxZjMyNGM1YzAyNmZkNDY3
ZTE2ZmQ4MGZhYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0v
R2VzdHVyZVJlY29nbml6ZXJDaHJvbWl1bS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vY2hyb21pdW0vR2VzdHVyZVJlY29nbml6ZXJDaHJvbWl1bS5jcHAKQEAgLTkyLDYgKzkyLDEx
IEBAIGJvb2wgR2VzdHVyZVJlY29nbml6ZXJDaHJvbWl1bTo6aXNJbnNpZGVNYW5oYXR0YW5TcXVh
cmUoY29uc3QgUGxhdGZvcm1Ub3VjaFBvaW50CiAgICAgcmV0dXJuIG1hbmhhdHRhbkRpc3RhbmNl
IDwgbWF4aW11bVRvdWNoTW92ZUluUGl4ZWxzRm9yQ2xpY2s7CiB9CiAKK3ZvaWQgR2VzdHVyZVJl
Y29nbml6ZXJDaHJvbWl1bTo6YXBwZW5kVGFwRG93bkdlc3R1cmVFdmVudChjb25zdCBQbGF0Zm9y
bVRvdWNoUG9pbnQmIHRvdWNoUG9pbnQsIEdlc3R1cmVzIGdlc3R1cmVzKQoreworICAgIGdlc3R1
cmVzLT5hcHBlbmQoUGxhdGZvcm1HZXN0dXJlRXZlbnQoUGxhdGZvcm1HZXN0dXJlRXZlbnQ6OlRh
cERvd25UeXBlLCBtX2ZpcnN0VG91Y2hQb3NpdGlvbiwgbV9maXJzdFRvdWNoU2NyZWVuUG9zaXRp
b24sIG1fbGFzdFRvdWNoVGltZSwgMC5mLCAwLmYsIG1fc2hpZnRLZXksIG1fY3RybEtleSwgbV9h
bHRLZXksIG1fbWV0YUtleSkpOworfQorCiB2b2lkIEdlc3R1cmVSZWNvZ25pemVyQ2hyb21pdW06
OmFwcGVuZENsaWNrR2VzdHVyZUV2ZW50KGNvbnN0IFBsYXRmb3JtVG91Y2hQb2ludCYgdG91Y2hQ
b2ludCwgR2VzdHVyZXMgZ2VzdHVyZXMpCiB7CiAgICAgZ2VzdHVyZXMtPmFwcGVuZChQbGF0Zm9y
bUdlc3R1cmVFdmVudChQbGF0Zm9ybUdlc3R1cmVFdmVudDo6VGFwVHlwZSwgbV9maXJzdFRvdWNo
UG9zaXRpb24sIG1fZmlyc3RUb3VjaFNjcmVlblBvc2l0aW9uLCBtX2xhc3RUb3VjaFRpbWUsIDAu
ZiwgMC5mLCBtX3NoaWZ0S2V5LCBtX2N0cmxLZXksIG1fYWx0S2V5LCBtX21ldGFLZXkpKTsKQEAg
LTE2MCw3ICsxNjUsNyBAQCB1bnNpZ25lZCBpbnQgR2VzdHVyZVJlY29nbml6ZXJDaHJvbWl1bTo6
c2lnbmF0dXJlKFN0YXRlIGdlc3R1cmVTdGF0ZSwgdW5zaWduZWQgaQogYm9vbCBHZXN0dXJlUmVj
b2duaXplckNocm9taXVtOjp0b3VjaERvd24oY29uc3QgUGxhdGZvcm1Ub3VjaFBvaW50JiB0b3Vj
aFBvaW50LCBHZXN0dXJlcyBnZXN0dXJlcykKIHsKICAgICBzZXRTdGF0ZShQZW5kaW5nU3ludGhl
dGljQ2xpY2spOwotICAgIC8vIEZJWE1FOiBEaXZpZGUgVGFwVHlwZSBpbnRvIGRvd24gYW5kIHVw
IGV2ZW50cy4KKyAgICBhcHBlbmRUYXBEb3duR2VzdHVyZUV2ZW50KHRvdWNoUG9pbnQsIGdlc3R1
cmVzKTsKICAgICByZXR1cm4gZmFsc2U7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL2Nocm9taXVtL0dlc3R1cmVSZWNvZ25pemVyQ2hyb21pdW0uaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL0dlc3R1cmVSZWNvZ25pemVyQ2hyb21pdW0uaAppbmRl
eCA2ZDU2Y2Q1YzI5MGM3NGM2ZmNlMjZjODIyZjhjNWZlZjM5NjA0N2RmLi4xMzhkOGQ2Njk3YmM4
MmQzYTliYzMzZTJmMDQ5MTQxYzBiYjM1ZTEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9jaHJvbWl1bS9HZXN0dXJlUmVjb2duaXplckNocm9taXVtLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vR2VzdHVyZVJlY29nbml6ZXJDaHJvbWl1bS5oCkBA
IC02Niw2ICs2Niw3IEBAIHByaXZhdGU6CiAKICAgICBzdGF0aWMgdW5zaWduZWQgaW50IHNpZ25h
dHVyZShTdGF0ZSwgdW5zaWduZWQsIFBsYXRmb3JtVG91Y2hQb2ludDo6U3RhdGUsIGJvb2wpOwog
ICAgIHZvaWQgYWRkRWRnZUZ1bmN0aW9uKFN0YXRlLCB1bnNpZ25lZCBmaW5nZXIsIFBsYXRmb3Jt
VG91Y2hQb2ludDo6U3RhdGUsIGJvb2wgdG91Y2hIYW5kbGVkQnlKYXZhU2NyaXB0LCBHZXN0dXJl
VHJhbnNpdGlvbkZ1bmN0aW9uKTsKKyAgICB2b2lkIGFwcGVuZFRhcERvd25HZXN0dXJlRXZlbnQo
Y29uc3QgUGxhdGZvcm1Ub3VjaFBvaW50JiwgR2VzdHVyZXMpOwogICAgIHZvaWQgYXBwZW5kQ2xp
Y2tHZXN0dXJlRXZlbnQoY29uc3QgUGxhdGZvcm1Ub3VjaFBvaW50JiwgR2VzdHVyZXMpOwogICAg
IHZvaWQgYXBwZW5kU2Nyb2xsR2VzdHVyZUJlZ2luKGNvbnN0IFBsYXRmb3JtVG91Y2hQb2ludCYs
IEdlc3R1cmVzKTsKICAgICB2b2lkIGFwcGVuZFNjcm9sbEdlc3R1cmVFbmQoY29uc3QgUGxhdGZv
cm1Ub3VjaFBvaW50JiwgR2VzdHVyZXMpOwpAQCAtODcsNyArODgsNiBAQCBwcml2YXRlOgogICAg
IEludFBvaW50IG1fZmlyc3RUb3VjaFNjcmVlblBvc2l0aW9uOwogICAgIGRvdWJsZSBtX2ZpcnN0
VG91Y2hUaW1lOwogICAgIFN0YXRlIG1fc3RhdGU7Ci0gICAgSW50UG9pbnQgbV9sYXN0VG91Y2hQ
b3NpdGlvbjsKICAgICBkb3VibGUgbV9sYXN0VG91Y2hUaW1lOwogCiAgICAgYm9vbCBtX2N0cmxL
ZXk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9Qb3B1cENv
bnRhaW5lci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9Qb3B1cENvbnRh
aW5lci5jcHAKaW5kZXggMjFjNDZlNjcxZWQ5NDM4Y2M2YmI0ZWIyNThkOTc1YzZmZDliMmQwNy4u
ZTAyZjFkOGI5ZDJmMzU5OTYxMTZjNDE0MmJmZjM2OWNiYTU3MmIxMSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vUG9wdXBDb250YWluZXIuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL1BvcHVwQ29udGFpbmVyLmNwcApAQCAtMzEz
LDYgKzMxMyw3IEBAIGJvb2wgUG9wdXBDb250YWluZXI6OmhhbmRsZUdlc3R1cmVFdmVudChjb25z
dCBQbGF0Zm9ybUdlc3R1cmVFdmVudCYgZ2VzdHVyZUV2ZW50CiAgICAgfQogICAgIGNhc2UgUGxh
dGZvcm1HZXN0dXJlRXZlbnQ6OlNjcm9sbEJlZ2luVHlwZToKICAgICBjYXNlIFBsYXRmb3JtR2Vz
dHVyZUV2ZW50OjpTY3JvbGxFbmRUeXBlOgorICAgIGNhc2UgUGxhdGZvcm1HZXN0dXJlRXZlbnQ6
OlRhcERvd25UeXBlOgogICAgICAgICBicmVhazsKICAgICB9CiAgICAgcmV0dXJuIGZhbHNlOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS90ZXN0cy9Jbm5lckdlc3R1cmVSZWNv
Z25pemVyVGVzdC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0lubmVyR2VzdHVy
ZVJlY29nbml6ZXJUZXN0LmNwcAppbmRleCAyZjk1Yzg0YjQ1YWU3YTkxNzFmYjJkN2Q3ZDI4NGIz
NGRmMzI4NzMyLi43ZWEyZDIwYTJlMWMxODgxNWFjMjJjOTI2OGUxZmNlZDI5Y2VkYzQ3IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0lubmVyR2VzdHVyZVJlY29nbml6
ZXJUZXN0LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0lubmVyR2VzdHVy
ZVJlY29nbml6ZXJUZXN0LmNwcApAQCAtMjgyLDYgKzI4Miw2MyBAQCBURVNUX0YoR2VzdHVyZVJl
Y29nbml6ZXJUZXN0LCB1cGRhdGVWYWx1ZXMpCiAgICAgQVNTRVJUX0VRKDAuMCwgZ20ubGFzdFRv
dWNoVGltZSgpIC0gZ20uZmlyc3RUb3VjaFRpbWUoKSk7CiB9CiAKK1RFU1RfRihHZXN0dXJlUmVj
b2duaXplclRlc3QsIHRhcERvd25XaXRob3V0VGFwR2VzdHVyZVRlc3QpCit7CisgICAgSW5zcGVj
dGFibGVHZXN0dXJlUmVjb2duaXplckNocm9taXVtIGdtOworICAgIEFTU0VSVF9FUShHZXN0dXJl
UmVjb2duaXplckNocm9taXVtOjpOb0dlc3R1cmUsIGdtLnN0YXRlKCkpOworCisgICAgQnVpbGRh
YmxlUGxhdGZvcm1Ub3VjaFBvaW50IHByZXNzKDEwLCAxNSwgUGxhdGZvcm1Ub3VjaFBvaW50OjpU
b3VjaFByZXNzZWQpOworICAgIEJ1aWxkYWJsZVBsYXRmb3JtVG91Y2hFdmVudCBwcmVzc0V2ZW50
KFdlYkNvcmU6OlRvdWNoU3RhcnQsIHByZXNzKTsKKyAgICBPd25QdHI8VmVjdG9yPFdlYkNvcmU6
OlBsYXRmb3JtR2VzdHVyZUV2ZW50PiA+IGdlc3R1cmVTdGFydChnbS5wcm9jZXNzVG91Y2hFdmVu
dEZvckdlc3R1cmVzKHByZXNzRXZlbnQsIGZhbHNlKSk7CisgICAgQVNTRVJUX0VRKCh1bnNpZ25l
ZCBpbnQpMSwgZ2VzdHVyZVN0YXJ0LT5zaXplKCkpOworICAgIEFTU0VSVF9FUShQbGF0Zm9ybUdl
c3R1cmVFdmVudDo6VGFwRG93blR5cGUsICgqZ2VzdHVyZVN0YXJ0KVswXS50eXBlKCkpOworICAg
IEFTU0VSVF9FUShHZXN0dXJlUmVjb2duaXplckNocm9taXVtOjpQZW5kaW5nU3ludGhldGljQ2xp
Y2ssIGdtLnN0YXRlKCkpOworCisgICAgQnVpbGRhYmxlUGxhdGZvcm1Ub3VjaFBvaW50IG1vdmUo
MTAsIDUwLCBQbGF0Zm9ybVRvdWNoUG9pbnQ6OlRvdWNoTW92ZWQpOworICAgIEJ1aWxkYWJsZVBs
YXRmb3JtVG91Y2hFdmVudCBtb3ZlRXZlbnQoV2ViQ29yZTo6VG91Y2hNb3ZlLCBtb3ZlKTsKKyAg
ICBPd25QdHI8VmVjdG9yPFdlYkNvcmU6OlBsYXRmb3JtR2VzdHVyZUV2ZW50PiA+IGdlc3R1cmVN
b3ZlKGdtLnByb2Nlc3NUb3VjaEV2ZW50Rm9yR2VzdHVyZXMobW92ZUV2ZW50LCBmYWxzZSkpOwor
ICAgIGZvciAodW5zaWduZWQgaW50IGkgPSAwOyBpIDwgZ2VzdHVyZU1vdmUtPnNpemUoKTsgaSsr
KQorICAgICAgICBBU1NFUlRfTkUoUGxhdGZvcm1HZXN0dXJlRXZlbnQ6OlRhcFR5cGUsICgqZ2Vz
dHVyZU1vdmUpW2ldLnR5cGUoKSk7CisgICAgQVNTRVJUX0VRKEdlc3R1cmVSZWNvZ25pemVyQ2hy
b21pdW06OlNjcm9sbCwgZ20uc3RhdGUoKSk7CisKKyAgICBCdWlsZGFibGVQbGF0Zm9ybVRvdWNo
UG9pbnQgcmVsZWFzZSgxMCwgNTAsIFBsYXRmb3JtVG91Y2hQb2ludDo6VG91Y2hSZWxlYXNlZCk7
CisgICAgQnVpbGRhYmxlUGxhdGZvcm1Ub3VjaEV2ZW50IHJlbGVhc2VFdmVudChXZWJDb3JlOjpU
b3VjaEVuZCwgcmVsZWFzZSk7CisgICAgT3duUHRyPFZlY3RvcjxXZWJDb3JlOjpQbGF0Zm9ybUdl
c3R1cmVFdmVudD4gPiBnZXN0dXJlRW5kKGdtLnByb2Nlc3NUb3VjaEV2ZW50Rm9yR2VzdHVyZXMo
cmVsZWFzZUV2ZW50LCBmYWxzZSkpOworICAgIGZvciAodW5zaWduZWQgaW50IGkgPSAwOyBpIDwg
Z2VzdHVyZUVuZC0+c2l6ZSgpOyBpKyspCisgICAgICAgIEFTU0VSVF9ORShQbGF0Zm9ybUdlc3R1
cmVFdmVudDo6VGFwVHlwZSwgKCpnZXN0dXJlRW5kKVtpXS50eXBlKCkpOworICAgIEFTU0VSVF9F
UShHZXN0dXJlUmVjb2duaXplckNocm9taXVtOjpOb0dlc3R1cmUsIGdtLnN0YXRlKCkpOworfQor
CitURVNUX0YoR2VzdHVyZVJlY29nbml6ZXJUZXN0LCB0YXBEb3duV2l0aFRhcEdlc3R1cmVUZXN0
KQoreworICAgIEluc3BlY3RhYmxlR2VzdHVyZVJlY29nbml6ZXJDaHJvbWl1bSBnbTsKKyAgICBB
U1NFUlRfRVEoR2VzdHVyZVJlY29nbml6ZXJDaHJvbWl1bTo6Tm9HZXN0dXJlLCBnbS5zdGF0ZSgp
KTsKKworICAgIEJ1aWxkYWJsZVBsYXRmb3JtVG91Y2hQb2ludCBwcmVzcygxMCwgMTUsIFBsYXRm
b3JtVG91Y2hQb2ludDo6VG91Y2hQcmVzc2VkKTsKKyAgICBCdWlsZGFibGVQbGF0Zm9ybVRvdWNo
RXZlbnQgcHJlc3NFdmVudChXZWJDb3JlOjpUb3VjaFN0YXJ0LCBwcmVzcyk7CisgICAgT3duUHRy
PFZlY3RvcjxXZWJDb3JlOjpQbGF0Zm9ybUdlc3R1cmVFdmVudD4gPiBnZXN0dXJlU3RhcnQoZ20u
cHJvY2Vzc1RvdWNoRXZlbnRGb3JHZXN0dXJlcyhwcmVzc0V2ZW50LCBmYWxzZSkpOworICAgIEFT
U0VSVF9FUSgodW5zaWduZWQgaW50KTEsIGdlc3R1cmVTdGFydC0+c2l6ZSgpKTsKKyAgICBBU1NF
UlRfRVEoUGxhdGZvcm1HZXN0dXJlRXZlbnQ6OlRhcERvd25UeXBlLCAoKmdlc3R1cmVTdGFydClb
MF0udHlwZSgpKTsKKyAgICBBU1NFUlRfRVEoR2VzdHVyZVJlY29nbml6ZXJDaHJvbWl1bTo6UGVu
ZGluZ1N5bnRoZXRpY0NsaWNrLCBnbS5zdGF0ZSgpKTsKKworICAgIEJ1aWxkYWJsZVBsYXRmb3Jt
VG91Y2hQb2ludCBtb3ZlKDEwLCAxNiwgUGxhdGZvcm1Ub3VjaFBvaW50OjpUb3VjaE1vdmVkKTsK
KyAgICBCdWlsZGFibGVQbGF0Zm9ybVRvdWNoRXZlbnQgbW92ZUV2ZW50KFdlYkNvcmU6OlRvdWNo
TW92ZSwgbW92ZSk7CisgICAgT3duUHRyPFZlY3RvcjxXZWJDb3JlOjpQbGF0Zm9ybUdlc3R1cmVF
dmVudD4gPiBnZXN0dXJlTW92ZShnbS5wcm9jZXNzVG91Y2hFdmVudEZvckdlc3R1cmVzKG1vdmVF
dmVudCwgZmFsc2UpKTsKKyAgICBBU1NFUlRfRVEoKHVuc2lnbmVkIGludCkwLCBnZXN0dXJlTW92
ZS0+c2l6ZSgpKTsKKyAgICBBU1NFUlRfRVEoR2VzdHVyZVJlY29nbml6ZXJDaHJvbWl1bTo6UGVu
ZGluZ1N5bnRoZXRpY0NsaWNrLCBnbS5zdGF0ZSgpKTsKKworICAgIEJ1aWxkYWJsZVBsYXRmb3Jt
VG91Y2hQb2ludCByZWxlYXNlKDEwLCAxNiwgUGxhdGZvcm1Ub3VjaFBvaW50OjpUb3VjaFJlbGVh
c2VkKTsKKyAgICBCdWlsZGFibGVQbGF0Zm9ybVRvdWNoRXZlbnQgcmVsZWFzZUV2ZW50KFdlYkNv
cmU6OlRvdWNoRW5kLCByZWxlYXNlKTsKKworICAgIC8vIHNldCBmaXJzdCB0b3VjaCB0aW1lIHNv
IHRoYXQgd2UgcGFzcyB0aGUgdGVzdCBmb3IKKyAgICAvLyBtaW5pbXVtVG91Y2hEb3duRHVyYXRp
b25JblNlY29uZHNGb3JDbGljaworICAgIGdtLnNldEZpcnN0VG91Y2hUaW1lKGdtLmZpcnN0VG91
Y2hUaW1lKCkgLSAwLjAxKTsKKyAgICBPd25QdHI8VmVjdG9yPFdlYkNvcmU6OlBsYXRmb3JtR2Vz
dHVyZUV2ZW50PiA+IGdlc3R1cmVFbmQoZ20ucHJvY2Vzc1RvdWNoRXZlbnRGb3JHZXN0dXJlcyhy
ZWxlYXNlRXZlbnQsIGZhbHNlKSk7CisgICAgQVNTRVJUX0VRKCh1bnNpZ25lZCBpbnQpMSwgZ2Vz
dHVyZUVuZC0+c2l6ZSgpKTsKKyAgICBBU1NFUlRfRVEoUGxhdGZvcm1HZXN0dXJlRXZlbnQ6OlRh
cFR5cGUsICgqZ2VzdHVyZUVuZClbMF0udHlwZSgpKTsKKyAgICBBU1NFUlRfRVEoR2VzdHVyZVJl
Y29nbml6ZXJDaHJvbWl1bTo6Tm9HZXN0dXJlLCBnbS5zdGF0ZSgpKTsKK30KKwogVEVTVF9GKEdl
c3R1cmVSZWNvZ25pemVyVGVzdCwgZ2VzdHVyZVNjcm9sbEV2ZW50cykKIHsKICAgICBJbnNwZWN0
YWJsZUdlc3R1cmVSZWNvZ25pemVyQ2hyb21pdW0gZ207Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>106620</attachid>
            <date>2011-09-07 12:15:44 -0700</date>
            <delta_ts>2011-09-08 11:29:45 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-67645-20110907151335.patch</filename>
            <type>text/plain</type>
            <size>10734</size>
            <attacher name="Varun Jain">varunjain</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTQ2NjYKZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5n
ZUxvZwppbmRleCA2N2YyNjYwMzc5MDk5MjRiOWI2ZDViMzZlNDZiNjM4MWQ5ZmQ4Yzc0Li4wMTM5
OTlkMjVlYzcyNjAxMDRiOTk1NzkyNmEyNjJjMzBjNTY0NTIxIDEwMDY0NAotLS0gYS9DaGFuZ2VM
b2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTEtMDktMDcgIFZhcnVuIEph
aW4gIDx2YXJ1bmphaW5AZ29vZ2xlLmNvbT4KKworICAgICAgICBTcGxpdCBUYXAgZ2VzdHVyZSBk
ZXRlY3Rpb24gaW50byBUYXBEb3duIGFuZCBUYXAuCisgICAgICAgIFdlIG5lZWQgdGhpcyBkaXN0
aW5jdGlvbiB0byBoaWdobGlnaHQgbGlua3Mgd2hlbiB0aGV5IGFyZSBmaXJzdCB0b3VjaGVkLiBU
aGUgbGluayBpcworICAgICAgICBmb2xsb3dlZCBvbmx5IGlmIHRoZSB0YXAgaXMgY29tcGxldGVk
LCBvdGhlcndpc2UsIGlmIGEgc2Nyb2xsIGlzIGRldGVjdGVkLCB0aGUgaGlnaGxpZ2h0CisgICAg
ICAgIGdvZXMgYXdheS4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTY3NjQ1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgKiAgU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwOgorICAgICAgICAq
ICBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9ybUdlc3R1cmVFdmVudC5oOgorCiAyMDEx
LTA5LTA2ICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgogCiAgICAgICAgIFJFR1JF
U1NJT04ocjk0Mjc0KTogRm9ybU1hbmFnZXJUZXN0LlByZXZpZXdGb3JtIGFuZCBGaWxsRm9ybU5v
bkVtcHR5RmllbGQgZmFpbCBvbiBjaHJvbWl1bQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGFnZS9FdmVudEhhbmRsZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIu
Y3BwCmluZGV4IDIxZWNmMzIwNzFkOGFmZDQ5OTE1NDkzZTNmNmIzOWQzNmZjNDVjNzEuLjA3NzUz
Nzc2YWFlMzVlMDdmNDc1MzMzZjkwMjFhNTIzNDc0MjQxN2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvRXZlbnRIYW5kbGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0V2
ZW50SGFuZGxlci5jcHAKQEAgLTIyMDksNiArMjIwOSw4IEBAIGJvb2wgRXZlbnRIYW5kbGVyOjpo
YW5kbGVHZXN0dXJlRXZlbnQoY29uc3QgUGxhdGZvcm1HZXN0dXJlRXZlbnQmIGdlc3R1cmVFdmVu
dCkKICAgICAvLyBlbmQgZ2VzdHVyZSBhcyB3ZWxsLgogCiAgICAgc3dpdGNoIChnZXN0dXJlRXZl
bnQudHlwZSgpKSB7CisgICAgY2FzZSBQbGF0Zm9ybUdlc3R1cmVFdmVudDo6VGFwRG93blR5cGU6
CisgICAgICAgIGJyZWFrOwogICAgIGNhc2UgUGxhdGZvcm1HZXN0dXJlRXZlbnQ6OlRhcFR5cGU6
IHsKICAgICAgICAgLy8gRklYTUU6IFJlZmFjdG9yIHRoaXMgY29kZSB0byBub3QgaGl0IHRlc3Qg
bXVsdGlwbGUgdGltZXMgb25jZSBoaXQgdGVzdGluZyBoYXMgYmVlbiBjb3JyZWN0ZWQgYXMgc3Vn
Z2VzdGVkIGFib3ZlLgogICAgICAgICBQbGF0Zm9ybU1vdXNlRXZlbnQgZmFrZU1vdXNlTW92ZShn
ZXN0dXJlRXZlbnQucG9zaXRpb24oKSwgZ2VzdHVyZUV2ZW50Lmdsb2JhbFBvc2l0aW9uKCksIE5v
QnV0dG9uLCBNb3VzZUV2ZW50TW92ZWQsIC8qIGNsaWNrQ291bnQgKi8gMSwgZ2VzdHVyZUV2ZW50
LnNoaWZ0S2V5KCksIGdlc3R1cmVFdmVudC5jdHJsS2V5KCksIGdlc3R1cmVFdmVudC5hbHRLZXko
KSwgZ2VzdHVyZUV2ZW50Lm1ldGFLZXkoKSwgZ2VzdHVyZUV2ZW50LnRpbWVzdGFtcCgpKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3JtR2VzdHVyZUV2ZW50Lmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9ybUdlc3R1cmVFdmVudC5oCmluZGV4IDE4
YjdkMWFhMmQxZWRmOWE4M2RlZjJmMjY2ZjI1MDkwMzc5Njg0N2IuLjM2MTc4MWJiNTVkZWJiNjU0
ZjVjMTYyMmY4NTE4ZWFlMjYwZjYwNmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL1BsYXRmb3JtR2VzdHVyZUV2ZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
UGxhdGZvcm1HZXN0dXJlRXZlbnQuaApAQCAtMzgsNyArMzgsOCBAQCBwdWJsaWM6CiAgICAgICAg
IFNjcm9sbEJlZ2luVHlwZSwKICAgICAgICAgU2Nyb2xsRW5kVHlwZSwKICAgICAgICAgU2Nyb2xs
VXBkYXRlVHlwZSwKLSAgICAgICAgVGFwVHlwZQorICAgICAgICBUYXBUeXBlLAorICAgICAgICBU
YXBEb3duVHlwZSwKICAgICB9OwogCiAgICAgUGxhdGZvcm1HZXN0dXJlRXZlbnQoKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21pdW0vR2VzdHVyZVJlY29nbml6ZXJD
aHJvbWl1bS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9HZXN0dXJlUmVj
b2duaXplckNocm9taXVtLmNwcAppbmRleCA3NTYwMmIzODRhMTI0NDc5MGI0MTNiODhkMzI1MGQ2
NTdmYmY1NzZmLi4wODM0MDgwNTY5NGFhYzFmMzI0YzVjMDI2ZmQ0NjdlMTZmZDgwZmFjIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9HZXN0dXJlUmVjb2duaXpl
ckNocm9taXVtLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9jaHJvbWl1bS9HZXN0
dXJlUmVjb2duaXplckNocm9taXVtLmNwcApAQCAtOTIsNiArOTIsMTEgQEAgYm9vbCBHZXN0dXJl
UmVjb2duaXplckNocm9taXVtOjppc0luc2lkZU1hbmhhdHRhblNxdWFyZShjb25zdCBQbGF0Zm9y
bVRvdWNoUG9pbnQKICAgICByZXR1cm4gbWFuaGF0dGFuRGlzdGFuY2UgPCBtYXhpbXVtVG91Y2hN
b3ZlSW5QaXhlbHNGb3JDbGljazsKIH0KIAordm9pZCBHZXN0dXJlUmVjb2duaXplckNocm9taXVt
OjphcHBlbmRUYXBEb3duR2VzdHVyZUV2ZW50KGNvbnN0IFBsYXRmb3JtVG91Y2hQb2ludCYgdG91
Y2hQb2ludCwgR2VzdHVyZXMgZ2VzdHVyZXMpCit7CisgICAgZ2VzdHVyZXMtPmFwcGVuZChQbGF0
Zm9ybUdlc3R1cmVFdmVudChQbGF0Zm9ybUdlc3R1cmVFdmVudDo6VGFwRG93blR5cGUsIG1fZmly
c3RUb3VjaFBvc2l0aW9uLCBtX2ZpcnN0VG91Y2hTY3JlZW5Qb3NpdGlvbiwgbV9sYXN0VG91Y2hU
aW1lLCAwLmYsIDAuZiwgbV9zaGlmdEtleSwgbV9jdHJsS2V5LCBtX2FsdEtleSwgbV9tZXRhS2V5
KSk7Cit9CisKIHZvaWQgR2VzdHVyZVJlY29nbml6ZXJDaHJvbWl1bTo6YXBwZW5kQ2xpY2tHZXN0
dXJlRXZlbnQoY29uc3QgUGxhdGZvcm1Ub3VjaFBvaW50JiB0b3VjaFBvaW50LCBHZXN0dXJlcyBn
ZXN0dXJlcykKIHsKICAgICBnZXN0dXJlcy0+YXBwZW5kKFBsYXRmb3JtR2VzdHVyZUV2ZW50KFBs
YXRmb3JtR2VzdHVyZUV2ZW50OjpUYXBUeXBlLCBtX2ZpcnN0VG91Y2hQb3NpdGlvbiwgbV9maXJz
dFRvdWNoU2NyZWVuUG9zaXRpb24sIG1fbGFzdFRvdWNoVGltZSwgMC5mLCAwLmYsIG1fc2hpZnRL
ZXksIG1fY3RybEtleSwgbV9hbHRLZXksIG1fbWV0YUtleSkpOwpAQCAtMTYwLDcgKzE2NSw3IEBA
IHVuc2lnbmVkIGludCBHZXN0dXJlUmVjb2duaXplckNocm9taXVtOjpzaWduYXR1cmUoU3RhdGUg
Z2VzdHVyZVN0YXRlLCB1bnNpZ25lZCBpCiBib29sIEdlc3R1cmVSZWNvZ25pemVyQ2hyb21pdW06
OnRvdWNoRG93bihjb25zdCBQbGF0Zm9ybVRvdWNoUG9pbnQmIHRvdWNoUG9pbnQsIEdlc3R1cmVz
IGdlc3R1cmVzKQogewogICAgIHNldFN0YXRlKFBlbmRpbmdTeW50aGV0aWNDbGljayk7Ci0gICAg
Ly8gRklYTUU6IERpdmlkZSBUYXBUeXBlIGludG8gZG93biBhbmQgdXAgZXZlbnRzLgorICAgIGFw
cGVuZFRhcERvd25HZXN0dXJlRXZlbnQodG91Y2hQb2ludCwgZ2VzdHVyZXMpOwogICAgIHJldHVy
biBmYWxzZTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vY2hyb21p
dW0vR2VzdHVyZVJlY29nbml6ZXJDaHJvbWl1bS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Y2hyb21pdW0vR2VzdHVyZVJlY29nbml6ZXJDaHJvbWl1bS5oCmluZGV4IDZkNTZjZDVjMjkwYzc0
YzZmY2UyNmM4MjJmOGM1ZmVmMzk2MDQ3ZGYuLjEzOGQ4ZDY2OTdiYzgyZDNhOWJjMzNlMmYwNDkx
NDFjMGJiMzVlMTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVt
L0dlc3R1cmVSZWNvZ25pemVyQ2hyb21pdW0uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9jaHJvbWl1bS9HZXN0dXJlUmVjb2duaXplckNocm9taXVtLmgKQEAgLTY2LDYgKzY2LDcgQEAg
cHJpdmF0ZToKIAogICAgIHN0YXRpYyB1bnNpZ25lZCBpbnQgc2lnbmF0dXJlKFN0YXRlLCB1bnNp
Z25lZCwgUGxhdGZvcm1Ub3VjaFBvaW50OjpTdGF0ZSwgYm9vbCk7CiAgICAgdm9pZCBhZGRFZGdl
RnVuY3Rpb24oU3RhdGUsIHVuc2lnbmVkIGZpbmdlciwgUGxhdGZvcm1Ub3VjaFBvaW50OjpTdGF0
ZSwgYm9vbCB0b3VjaEhhbmRsZWRCeUphdmFTY3JpcHQsIEdlc3R1cmVUcmFuc2l0aW9uRnVuY3Rp
b24pOworICAgIHZvaWQgYXBwZW5kVGFwRG93bkdlc3R1cmVFdmVudChjb25zdCBQbGF0Zm9ybVRv
dWNoUG9pbnQmLCBHZXN0dXJlcyk7CiAgICAgdm9pZCBhcHBlbmRDbGlja0dlc3R1cmVFdmVudChj
b25zdCBQbGF0Zm9ybVRvdWNoUG9pbnQmLCBHZXN0dXJlcyk7CiAgICAgdm9pZCBhcHBlbmRTY3Jv
bGxHZXN0dXJlQmVnaW4oY29uc3QgUGxhdGZvcm1Ub3VjaFBvaW50JiwgR2VzdHVyZXMpOwogICAg
IHZvaWQgYXBwZW5kU2Nyb2xsR2VzdHVyZUVuZChjb25zdCBQbGF0Zm9ybVRvdWNoUG9pbnQmLCBH
ZXN0dXJlcyk7CkBAIC04Nyw3ICs4OCw2IEBAIHByaXZhdGU6CiAgICAgSW50UG9pbnQgbV9maXJz
dFRvdWNoU2NyZWVuUG9zaXRpb247CiAgICAgZG91YmxlIG1fZmlyc3RUb3VjaFRpbWU7CiAgICAg
U3RhdGUgbV9zdGF0ZTsKLSAgICBJbnRQb2ludCBtX2xhc3RUb3VjaFBvc2l0aW9uOwogICAgIGRv
dWJsZSBtX2xhc3RUb3VjaFRpbWU7CiAKICAgICBib29sIG1fY3RybEtleTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL1BvcHVwQ29udGFpbmVyLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2Nocm9taXVtL1BvcHVwQ29udGFpbmVyLmNwcAppbmRleCAy
MWM0NmU2NzFlZDk0MzhjYzZiYjRlYjI1OGQ5NzVjNmZkOWIyZDA3Li5lMDJmMWQ4YjlkMmYzNTk5
NjExNmM0MTQyYmZmMzY5Y2JhNTcyYjExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9jaHJvbWl1bS9Qb3B1cENvbnRhaW5lci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vY2hyb21pdW0vUG9wdXBDb250YWluZXIuY3BwCkBAIC0zMTMsNiArMzEzLDcgQEAgYm9v
bCBQb3B1cENvbnRhaW5lcjo6aGFuZGxlR2VzdHVyZUV2ZW50KGNvbnN0IFBsYXRmb3JtR2VzdHVy
ZUV2ZW50JiBnZXN0dXJlRXZlbnQKICAgICB9CiAgICAgY2FzZSBQbGF0Zm9ybUdlc3R1cmVFdmVu
dDo6U2Nyb2xsQmVnaW5UeXBlOgogICAgIGNhc2UgUGxhdGZvcm1HZXN0dXJlRXZlbnQ6OlNjcm9s
bEVuZFR5cGU6CisgICAgY2FzZSBQbGF0Zm9ybUdlc3R1cmVFdmVudDo6VGFwRG93blR5cGU6CiAg
ICAgICAgIGJyZWFrOwogICAgIH0KICAgICByZXR1cm4gZmFsc2U7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3Rlc3RzL0lubmVyR2VzdHVyZVJlY29nbml6ZXJUZXN0LmNwcCBi
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvSW5uZXJHZXN0dXJlUmVjb2duaXplclRlc3Qu
Y3BwCmluZGV4IDJmOTVjODRiNDVhZTdhOTE3MWZiMmQ3ZDdkMjg0YjM0ZGYzMjg3MzIuLjliMDM2
YzZmYTY4NTk1YmQ5Yzk1MDUyMDg3NDc0N2VhYzdmYWY0YmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vdGVzdHMvSW5uZXJHZXN0dXJlUmVjb2duaXplclRlc3QuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vdGVzdHMvSW5uZXJHZXN0dXJlUmVjb2duaXplclRlc3Qu
Y3BwCkBAIC0xNTcsNiArMTU3LDggQEAgcHJvdGVjdGVkOgogICAgIHZpcnR1YWwgdm9pZCBUZWFy
RG93bigpIHsgfQogfTsKIAordHlwZWRlZiBPd25QdHI8VmVjdG9yPFdlYkNvcmU6OlBsYXRmb3Jt
R2VzdHVyZUV2ZW50PiA+IEdlc3R1cmVzOworCiBURVNUX0YoR2VzdHVyZVJlY29nbml6ZXJUZXN0
LCBoYXNoKQogewogICAgIEluc3BlY3RhYmxlR2VzdHVyZVJlY29nbml6ZXJDaHJvbWl1bSB0ZXN0
R207CkBAIC0yODIsNiArMjg0LDYzIEBAIFRFU1RfRihHZXN0dXJlUmVjb2duaXplclRlc3QsIHVw
ZGF0ZVZhbHVlcykKICAgICBBU1NFUlRfRVEoMC4wLCBnbS5sYXN0VG91Y2hUaW1lKCkgLSBnbS5m
aXJzdFRvdWNoVGltZSgpKTsKIH0KIAorVEVTVF9GKEdlc3R1cmVSZWNvZ25pemVyVGVzdCwgdGFw
RG93bldpdGhvdXRUYXBHZXN0dXJlVGVzdCkKK3sKKyAgICBJbnNwZWN0YWJsZUdlc3R1cmVSZWNv
Z25pemVyQ2hyb21pdW0gZ207CisgICAgQVNTRVJUX0VRKEdlc3R1cmVSZWNvZ25pemVyQ2hyb21p
dW06Ok5vR2VzdHVyZSwgZ20uc3RhdGUoKSk7CisKKyAgICBCdWlsZGFibGVQbGF0Zm9ybVRvdWNo
UG9pbnQgcHJlc3MoMTAsIDE1LCBQbGF0Zm9ybVRvdWNoUG9pbnQ6OlRvdWNoUHJlc3NlZCk7Cisg
ICAgQnVpbGRhYmxlUGxhdGZvcm1Ub3VjaEV2ZW50IHByZXNzRXZlbnQoV2ViQ29yZTo6VG91Y2hT
dGFydCwgcHJlc3MpOworICAgIEdlc3R1cmVzIGdlc3R1cmVTdGFydChnbS5wcm9jZXNzVG91Y2hF
dmVudEZvckdlc3R1cmVzKHByZXNzRXZlbnQsIGZhbHNlKSk7CisgICAgQVNTRVJUX0VRKCh1bnNp
Z25lZCBpbnQpMSwgZ2VzdHVyZVN0YXJ0LT5zaXplKCkpOworICAgIEFTU0VSVF9FUShQbGF0Zm9y
bUdlc3R1cmVFdmVudDo6VGFwRG93blR5cGUsICgqZ2VzdHVyZVN0YXJ0KVswXS50eXBlKCkpOwor
ICAgIEFTU0VSVF9FUShHZXN0dXJlUmVjb2duaXplckNocm9taXVtOjpQZW5kaW5nU3ludGhldGlj
Q2xpY2ssIGdtLnN0YXRlKCkpOworCisgICAgQnVpbGRhYmxlUGxhdGZvcm1Ub3VjaFBvaW50IG1v
dmUoMTAsIDUwLCBQbGF0Zm9ybVRvdWNoUG9pbnQ6OlRvdWNoTW92ZWQpOworICAgIEJ1aWxkYWJs
ZVBsYXRmb3JtVG91Y2hFdmVudCBtb3ZlRXZlbnQoV2ViQ29yZTo6VG91Y2hNb3ZlLCBtb3ZlKTsK
KyAgICBHZXN0dXJlcyBnZXN0dXJlTW92ZShnbS5wcm9jZXNzVG91Y2hFdmVudEZvckdlc3R1cmVz
KG1vdmVFdmVudCwgZmFsc2UpKTsKKyAgICBmb3IgKHVuc2lnbmVkIGludCBpID0gMDsgaSA8IGdl
c3R1cmVNb3ZlLT5zaXplKCk7IGkrKykKKyAgICAgICAgQVNTRVJUX05FKFBsYXRmb3JtR2VzdHVy
ZUV2ZW50OjpUYXBUeXBlLCAoKmdlc3R1cmVNb3ZlKVtpXS50eXBlKCkpOworICAgIEFTU0VSVF9F
UShHZXN0dXJlUmVjb2duaXplckNocm9taXVtOjpTY3JvbGwsIGdtLnN0YXRlKCkpOworCisgICAg
QnVpbGRhYmxlUGxhdGZvcm1Ub3VjaFBvaW50IHJlbGVhc2UoMTAsIDUwLCBQbGF0Zm9ybVRvdWNo
UG9pbnQ6OlRvdWNoUmVsZWFzZWQpOworICAgIEJ1aWxkYWJsZVBsYXRmb3JtVG91Y2hFdmVudCBy
ZWxlYXNlRXZlbnQoV2ViQ29yZTo6VG91Y2hFbmQsIHJlbGVhc2UpOworICAgIEdlc3R1cmVzIGdl
c3R1cmVFbmQoZ20ucHJvY2Vzc1RvdWNoRXZlbnRGb3JHZXN0dXJlcyhyZWxlYXNlRXZlbnQsIGZh
bHNlKSk7CisgICAgZm9yICh1bnNpZ25lZCBpbnQgaSA9IDA7IGkgPCBnZXN0dXJlRW5kLT5zaXpl
KCk7IGkrKykKKyAgICAgICAgQVNTRVJUX05FKFBsYXRmb3JtR2VzdHVyZUV2ZW50OjpUYXBUeXBl
LCAoKmdlc3R1cmVFbmQpW2ldLnR5cGUoKSk7CisgICAgQVNTRVJUX0VRKEdlc3R1cmVSZWNvZ25p
emVyQ2hyb21pdW06Ok5vR2VzdHVyZSwgZ20uc3RhdGUoKSk7Cit9CisKK1RFU1RfRihHZXN0dXJl
UmVjb2duaXplclRlc3QsIHRhcERvd25XaXRoVGFwR2VzdHVyZVRlc3QpCit7CisgICAgSW5zcGVj
dGFibGVHZXN0dXJlUmVjb2duaXplckNocm9taXVtIGdtOworICAgIEFTU0VSVF9FUShHZXN0dXJl
UmVjb2duaXplckNocm9taXVtOjpOb0dlc3R1cmUsIGdtLnN0YXRlKCkpOworCisgICAgQnVpbGRh
YmxlUGxhdGZvcm1Ub3VjaFBvaW50IHByZXNzKDEwLCAxNSwgUGxhdGZvcm1Ub3VjaFBvaW50OjpU
b3VjaFByZXNzZWQpOworICAgIEJ1aWxkYWJsZVBsYXRmb3JtVG91Y2hFdmVudCBwcmVzc0V2ZW50
KFdlYkNvcmU6OlRvdWNoU3RhcnQsIHByZXNzKTsKKyAgICBHZXN0dXJlcyBnZXN0dXJlU3RhcnQo
Z20ucHJvY2Vzc1RvdWNoRXZlbnRGb3JHZXN0dXJlcyhwcmVzc0V2ZW50LCBmYWxzZSkpOworICAg
IEFTU0VSVF9FUSgodW5zaWduZWQgaW50KTEsIGdlc3R1cmVTdGFydC0+c2l6ZSgpKTsKKyAgICBB
U1NFUlRfRVEoUGxhdGZvcm1HZXN0dXJlRXZlbnQ6OlRhcERvd25UeXBlLCAoKmdlc3R1cmVTdGFy
dClbMF0udHlwZSgpKTsKKyAgICBBU1NFUlRfRVEoR2VzdHVyZVJlY29nbml6ZXJDaHJvbWl1bTo6
UGVuZGluZ1N5bnRoZXRpY0NsaWNrLCBnbS5zdGF0ZSgpKTsKKworICAgIEJ1aWxkYWJsZVBsYXRm
b3JtVG91Y2hQb2ludCBtb3ZlKDEwLCAxNiwgUGxhdGZvcm1Ub3VjaFBvaW50OjpUb3VjaE1vdmVk
KTsKKyAgICBCdWlsZGFibGVQbGF0Zm9ybVRvdWNoRXZlbnQgbW92ZUV2ZW50KFdlYkNvcmU6OlRv
dWNoTW92ZSwgbW92ZSk7CisgICAgR2VzdHVyZXMgZ2VzdHVyZU1vdmUoZ20ucHJvY2Vzc1RvdWNo
RXZlbnRGb3JHZXN0dXJlcyhtb3ZlRXZlbnQsIGZhbHNlKSk7CisgICAgQVNTRVJUX0VRKCh1bnNp
Z25lZCBpbnQpMCwgZ2VzdHVyZU1vdmUtPnNpemUoKSk7CisgICAgQVNTRVJUX0VRKEdlc3R1cmVS
ZWNvZ25pemVyQ2hyb21pdW06OlBlbmRpbmdTeW50aGV0aWNDbGljaywgZ20uc3RhdGUoKSk7CisK
KyAgICBCdWlsZGFibGVQbGF0Zm9ybVRvdWNoUG9pbnQgcmVsZWFzZSgxMCwgMTYsIFBsYXRmb3Jt
VG91Y2hQb2ludDo6VG91Y2hSZWxlYXNlZCk7CisgICAgQnVpbGRhYmxlUGxhdGZvcm1Ub3VjaEV2
ZW50IHJlbGVhc2VFdmVudChXZWJDb3JlOjpUb3VjaEVuZCwgcmVsZWFzZSk7CisKKyAgICAvLyBz
ZXQgZmlyc3QgdG91Y2ggdGltZSBzbyB0aGF0IHdlIHBhc3MgdGhlIHRlc3QgZm9yCisgICAgLy8g
bWluaW11bVRvdWNoRG93bkR1cmF0aW9uSW5TZWNvbmRzRm9yQ2xpY2sKKyAgICBnbS5zZXRGaXJz
dFRvdWNoVGltZShnbS5maXJzdFRvdWNoVGltZSgpIC0gMC4wMSk7CisgICAgR2VzdHVyZXMgZ2Vz
dHVyZUVuZChnbS5wcm9jZXNzVG91Y2hFdmVudEZvckdlc3R1cmVzKHJlbGVhc2VFdmVudCwgZmFs
c2UpKTsKKyAgICBBU1NFUlRfRVEoKHVuc2lnbmVkIGludCkxLCBnZXN0dXJlRW5kLT5zaXplKCkp
OworICAgIEFTU0VSVF9FUShQbGF0Zm9ybUdlc3R1cmVFdmVudDo6VGFwVHlwZSwgKCpnZXN0dXJl
RW5kKVswXS50eXBlKCkpOworICAgIEFTU0VSVF9FUShHZXN0dXJlUmVjb2duaXplckNocm9taXVt
OjpOb0dlc3R1cmUsIGdtLnN0YXRlKCkpOworfQorCiBURVNUX0YoR2VzdHVyZVJlY29nbml6ZXJU
ZXN0LCBnZXN0dXJlU2Nyb2xsRXZlbnRzKQogewogICAgIEluc3BlY3RhYmxlR2VzdHVyZVJlY29n
bml6ZXJDaHJvbWl1bSBnbTsKQEAgLTI5Niw3ICszNTUsNyBAQCBURVNUX0YoR2VzdHVyZVJlY29n
bml6ZXJUZXN0LCBnZXN0dXJlU2Nyb2xsRXZlbnRzKQogCiAgICAgQnVpbGRhYmxlUGxhdGZvcm1U
b3VjaFBvaW50IG1vdmUoMTAsIDUwLCBQbGF0Zm9ybVRvdWNoUG9pbnQ6OlRvdWNoTW92ZWQpOwog
ICAgIEJ1aWxkYWJsZVBsYXRmb3JtVG91Y2hFdmVudCBtb3ZlRXZlbnQoV2ViQ29yZTo6VG91Y2hN
b3ZlLCBtb3ZlKTsKLSAgICBPd25QdHI8VmVjdG9yPFdlYkNvcmU6OlBsYXRmb3JtR2VzdHVyZUV2
ZW50PiA+IGdlc3R1cmVTdGFydChnbS5wcm9jZXNzVG91Y2hFdmVudEZvckdlc3R1cmVzKG1vdmVF
dmVudCwgZmFsc2UpKTsKKyAgICBHZXN0dXJlcyBnZXN0dXJlU3RhcnQoZ20ucHJvY2Vzc1RvdWNo
RXZlbnRGb3JHZXN0dXJlcyhtb3ZlRXZlbnQsIGZhbHNlKSk7CiAgICAgYm9vbCBzY3JvbGxTdGFy
dGVkID0gZmFsc2UsIHNjcm9sbFVwZGF0ZWQgPSBmYWxzZTsKICAgICBmb3IgKHVuc2lnbmVkIGlu
dCBpID0gMDsgaSA8IGdlc3R1cmVTdGFydC0+c2l6ZSgpOyBpKyspIHsKICAgICAgICAgc3dpdGNo
ICgoKmdlc3R1cmVTdGFydClbaV0udHlwZSgpKSB7CkBAIC0zMTgsNyArMzc3LDcgQEAgVEVTVF9G
KEdlc3R1cmVSZWNvZ25pemVyVGVzdCwgZ2VzdHVyZVNjcm9sbEV2ZW50cykKICAgICBCdWlsZGFi
bGVQbGF0Zm9ybVRvdWNoUG9pbnQgcmVsZWFzZSgxMCwgNTAsIFBsYXRmb3JtVG91Y2hQb2ludDo6
VG91Y2hSZWxlYXNlZCk7CiAgICAgQnVpbGRhYmxlUGxhdGZvcm1Ub3VjaEV2ZW50IHJlbGVhc2VF
dmVudChXZWJDb3JlOjpUb3VjaEVuZCwgcmVsZWFzZSk7CiAgICAgYm9vbCBzY3JvbGxFbmQgPSBm
YWxzZTsKLSAgICBPd25QdHI8VmVjdG9yPFdlYkNvcmU6OlBsYXRmb3JtR2VzdHVyZUV2ZW50PiA+
IGdlc3R1cmVFbmQoZ20ucHJvY2Vzc1RvdWNoRXZlbnRGb3JHZXN0dXJlcyhyZWxlYXNlRXZlbnQs
IGZhbHNlKSk7CisgICAgR2VzdHVyZXMgZ2VzdHVyZUVuZChnbS5wcm9jZXNzVG91Y2hFdmVudEZv
ckdlc3R1cmVzKHJlbGVhc2VFdmVudCwgZmFsc2UpKTsKICAgICBmb3IgKHVuc2lnbmVkIGludCBp
ID0gMDsgaSA8IGdlc3R1cmVFbmQtPnNpemUoKTsgaSsrKSB7CiAgICAgICAgIHN3aXRjaCAoKCpn
ZXN0dXJlRW5kKVtpXS50eXBlKCkpIHsKICAgICAgICAgY2FzZSBQbGF0Zm9ybUdlc3R1cmVFdmVu
dDo6U2Nyb2xsRW5kVHlwZToK
</data>

          </attachment>
      

    </bug>

</bugzilla>