<?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>37609</bug_id>
          
          <creation_ts>2010-04-14 14:24:55 -0700</creation_ts>
          <short_desc>The TouchStationary state of WebCore::PlatformTouchPoint is not handled inside the touch event handler.</short_desc>
          <delta_ts>2010-04-27 12:45:49 -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>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>All</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>32485</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Ben Murdoch">benm</reporter>
          <assigned_to name="Ben Murdoch">benm</assigned_to>
          <cc>abarth</cc>
    
    <cc>android-webkit-unforking</cc>
    
    <cc>commit-queue</cc>
    
    <cc>eric</cc>
    
    <cc>gdk</cc>
    
    <cc>hausmann</cc>
    
    <cc>kim.1.gronholm</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>212572</commentid>
    <comment_count>0</comment_count>
    <who name="Ben Murdoch">benm</who>
    <bug_when>2010-04-14 14:24:55 -0700</bug_when>
    <thetext>The TouchStationary state of WebCore::PlatformTouchPoint is not handled inside the touch event handler.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>212583</commentid>
    <comment_count>1</comment_count>
    <who name="Ben Murdoch">benm</who>
    <bug_when>2010-04-14 14:40:00 -0700</bug_when>
    <thetext>As discussed at the contributors meeting with Simon and Kim, we think it&apos;s best to remove the TouchStationary state.

Patch to follow.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>212671</commentid>
    <comment_count>2</comment_count>
      <attachid>53389</attachid>
    <who name="Ben Murdoch">benm</who>
    <bug_when>2010-04-14 17:48:08 -0700</bug_when>
    <thetext>Created attachment 53389
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>212908</commentid>
    <comment_count>3</comment_count>
    <who name="Ben Murdoch">benm</who>
    <bug_when>2010-04-15 10:20:27 -0700</bug_when>
    <thetext>Committed r57652: &lt;http://trac.webkit.org/changeset/57652&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>212921</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-04-15 10:36:17 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/57652 might have broken Qt Linux Release and Chromium Mac Release</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>212925</commentid>
    <comment_count>5</comment_count>
    <who name="Ben Murdoch">benm</who>
    <bug_when>2010-04-15 10:43:46 -0700</bug_when>
    <thetext>Looking at break</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>212931</commentid>
    <comment_count>6</comment_count>
    <who name="Ben Murdoch">benm</who>
    <bug_when>2010-04-15 10:56:44 -0700</bug_when>
    <thetext>OK, it&apos;s a warning as error on the Chromium Mac build that should be an easy fix, but there&apos;s also a QT layout test failure. Will roll back the patch entirely to figure out the layout test failure and get the tree green again.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>212940</commentid>
    <comment_count>7</comment_count>
    <who name="Ben Murdoch">benm</who>
    <bug_when>2010-04-15 11:14:27 -0700</bug_when>
    <thetext>Reverted r57652 for reason:

Caused a build break on Chromium Mac and Layout Test fail on Qt

Committed r57655: &lt;http://trac.webkit.org/changeset/57655&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>213342</commentid>
    <comment_count>8</comment_count>
    <who name="Ben Murdoch">benm</who>
    <bug_when>2010-04-16 11:55:31 -0700</bug_when>
    <thetext>So the problem with this CL was two-fold:

1) Broke the Mac Chrome build: I removed the case statement referring to TouchStationary, but did not remove StationaryState from the WebTouchPoint::State enum, so the compiler raised a warning that not all enum values were considered in the switch inside toPlatformTouchPointState(). With warnings as errors, the build failed :(

2) Qt layout test failures: the QTouchEvent::TouchPoint is passed directly into the PlatformTouchPoint constructor from the qt API layer. Without checking for the TouchStationary case, the PlatformTouchPoint is then initialised without setting the m_state variable (which then defaults to the 0, TouchPressed value) so when DRT sends a stationary touch point, it gets interpreted as a new touch going down thus screwing everything up :)

To work round these issues, I&apos;m thinking about instead adding a TouchUnsupported value to the PlatformTouchPoint::State enum (in addition to removing TouchStationary still). Then in the PlatformTouchPoint ctor assign the PlatformTouchPoint that state if it&apos;s not a press. move, release or cancel. That way the platform can pass us all sorts of types of touch point (that may or may not be specific to that platform) and we accept only the ones that WebCore is interested in. Then inside EventHandler::handleTouchEvent skip the touch point if it&apos;s TouchUnsupported.

What do you think?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>213343</commentid>
    <comment_count>9</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-04-16 11:56:32 -0700</bug_when>
    <thetext>I&apos;ll look into adding  a Cr-Mac EWS builder to prevent this kind of trouble in the future.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>213415</commentid>
    <comment_count>10</comment_count>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2010-04-16 14:00:21 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; What do you think?

Sounds like a good plan :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>214371</commentid>
    <comment_count>11</comment_count>
      <attachid>53747</attachid>
    <who name="Ben Murdoch">benm</who>
    <bug_when>2010-04-19 17:33:56 -0700</bug_when>
    <thetext>Created attachment 53747
Patch v2

Here is a new patch implementing the TouchUnsupported state described above. I haven&apos;t been able to run the layout tests on Qt or try a compile on Mac due to being in the wrong place (because of a certain volcano) and not having the system I usually do. With this fix I don&apos;t foresee any issues but before landing I&apos;d be really appreciative if someone could apply the patch and try it for me on those platforms.

Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>214414</commentid>
    <comment_count>12</comment_count>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2010-04-19 18:32:34 -0700</bug_when>
    <thetext>I realize that there&apos;s one catch with not handling stationary touch points with the Qt implementation:

AFAICS it may happen that touch points become stationary, at which point with this patch they would disappear from the touch points in JavaScript. That&apos;s not intentional I think. Instead it would be better to map TouchStationary to TouchPressed.

What do you think?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>214442</commentid>
    <comment_count>13</comment_count>
    <who name="Kim Grönholm">kim.1.gronholm</who>
    <bug_when>2010-04-19 19:06:31 -0700</bug_when>
    <thetext>I think the proper mapping for TouchStationary would be TouchMoved but now when I looked the whole thing again it makes sense to have the stationary state there: The stationary touchpoints are on the screen but have not changed in any way. Therefore they should be added to the touches list and maybe in the targetTouches but never to changedTouches. This is exactly what happens currently:

// touches should contain information about every touch currently on the screen.
if (point.state() != PlatformTouchPoint::TouchReleased)
   touches-&gt;append(touch);

// Now build up the correct list for changedTouches.
if (point.state() == PlatformTouchPoint::TouchReleased)
    releasedTouches-&gt;append(touch);
else if (point.state() == PlatformTouchPoint::TouchCancelled)
    cancelTouches-&gt;append(touch);
else if (point.state() == PlatformTouchPoint::TouchPressed)
    pressedTouches-&gt;append(touch);
else if (point.state() == PlatformTouchPoint::TouchMoved)
    movedTouches-&gt;append(touch);

Mapping the stationary state to pressed or moved would cause them to appear in wrong place (changedTouces of some type of touch event). Renaming it to unsupported would still keep the behavior same if the early continue is not added. In case of the early continue, the stationary points would not appear in the touches list which is also wrong. We need to be able to properly handle also the points that are on the screen but have not been changed in any way.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>214722</commentid>
    <comment_count>14</comment_count>
    <who name="Ben Murdoch">benm</who>
    <bug_when>2010-04-20 10:07:47 -0700</bug_when>
    <thetext>Hi Simon and Kim,

Thanks for the feedback, your comments all make sense.

The issue that we encountered that drove this bug was that on Android we were seeing a touch stationary point going into the event handler in the case of a single touch. This is due to the behavior on Android that when you move a touch beyond the boundaries of the WebView (e.g. over scrollbars) it is snapped back to the WebView boundaries. So the platform was sending move events that were getting mapped to stationary events in the platform layer as the co-ordinates matched the last event. Then with no explicit handler for the TouchStationary point in handleTouchEvent, no events were getting dispatched and the handler would return false. My original thinking was that as it wasn&apos;t handled in the event handler itself, we could remove it. Now given the attempts at this and the discussion we&apos;ve had in this bug, I&apos;m thinking that it is actually correct to leave the common code as it is and just fix this in the android platform layer. The snapping of co-ordinates is Android specific behavior and as Kim points out, there is in fact value in having a TouchStationary state in the multi-touch case.

So I guess the correct thing to do is mark this as resolved - wontfix?

Thanks, Ben</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>215603</commentid>
    <comment_count>15</comment_count>
      <attachid>53389</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-04-21 18:13:25 -0700</bug_when>
    <thetext>Comment on attachment 53389
Patch

Cleared Kenneth Rohde Christiansen&apos;s review+ from obsolete attachment 53389 so that this bug does not appear in http://webkit.org/pending-commit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>216515</commentid>
    <comment_count>16</comment_count>
    <who name="Ben Murdoch">benm</who>
    <bug_when>2010-04-23 12:46:17 -0700</bug_when>
    <thetext>OK - I think lack of response means we&apos;re good if we close this but one last question:

Is there value in sending a CL to add a comment to EventHandler::handleTouchEvent to record basically the discussion we&apos;ve had in the bug that there is value in the TouchStationary state and to describe that is is not handled explicitly intentionally so as to avoid any confusion like this in the future? Not sure the webkit stance on comment-only patches but I think there could be some value in this one.

Thoughts?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>216701</commentid>
    <comment_count>17</comment_count>
    <who name="Kim Grönholm">kim.1.gronholm</who>
    <bug_when>2010-04-23 23:03:58 -0700</bug_when>
    <thetext>Sorry for the late response. I agree with you on everything :)
And I also think that the confusion we had with the touchstationary state indicates that better commenting would be valuable.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>217309</commentid>
    <comment_count>18</comment_count>
      <attachid>54337</attachid>
    <who name="Ben Murdoch">benm</who>
    <bug_when>2010-04-26 15:09:13 -0700</bug_when>
    <thetext>Created attachment 54337
Patch with updated commentary re. TouchStationary.

Here is a patch with some updated commentary on TouchStationary. What do you think?

Thanks, Ben</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>217325</commentid>
    <comment_count>19</comment_count>
    <who name="Kim Grönholm">kim.1.gronholm</who>
    <bug_when>2010-04-26 15:35:12 -0700</bug_when>
    <thetext>Looks good to me. That would have been enough to prevent the confusion we had.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>217630</commentid>
    <comment_count>20</comment_count>
      <attachid>54337</attachid>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2010-04-27 03:02:38 -0700</bug_when>
    <thetext>Comment on attachment 54337
Patch with updated commentary re. TouchStationary.

Thanks Ben!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>217855</commentid>
    <comment_count>21</comment_count>
      <attachid>54337</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-04-27 12:45:41 -0700</bug_when>
    <thetext>Comment on attachment 54337
Patch with updated commentary re. TouchStationary.

Clearing flags on attachment: 54337

Committed r58323: &lt;http://trac.webkit.org/changeset/58323&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>217856</commentid>
    <comment_count>22</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-04-27 12:45:49 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>53389</attachid>
            <date>2010-04-14 17:48:08 -0700</date>
            <delta_ts>2010-04-21 18:13:24 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-37609-20100414174807.patch</filename>
            <type>text/plain</type>
            <size>3858</size>
            <attacher name="Ben Murdoch">benm</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1NzYwNykKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjQgQEAKKzIwMTAtMDQtMTQgIEJlbiBNdXJkb2NoICA8YmVubUBnb29nbGUuY29t
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZSBU
b3VjaFN0YXRpb25hcnkgc3RhdGUgb2YgV2ViQ29yZTo6UGxhdGZvcm1Ub3VjaFBvaW50CisgICAg
ICAgIGlzIG5vdCBoYW5kbGVkIGluc2lkZSB0aGUgdG91Y2ggZXZlbnQgaGFuZGxlci4KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM3NjA5CisKKyAgICAg
ICAgQWZ0ZXIgZGlzY3Vzc2lvbnMgYXQgdGhlIFdlYktpdCBjb250cmlidXRvcnMgbWVldGluZywg
d2UgZGVjaWRlZAorICAgICAgICB0aGF0IHRoaXMgaXMgYSBjdXJyZW50bHkgdW51c2VkIHN0YXRl
IHdpdGhvdXQgYSBnb29kIGZ1dHVyZSB1c2UKKyAgICAgICAgY2FzZSBpbiB0aGUgVG91Y2ggQVBJ
IGFuZCB0aHVzIGRlY2lkZWQgdG8gcmVtb3ZlIGl0LiBUaGlzIHBhdGNoCisgICAgICAgIGFjdGlv
bnMgdGhhdCBkZWNpc2lvbi4KKworICAgICAgICBBcyB0aGUgVG91Y2hTdGF0aW9uYXJ5IHN0YXRl
IGlzIG5vdCBoYW5kbGVkIGluIHRoZSBFdmVudEhhbmRsZXIsCisgICAgICAgIHRoZXJlIGlzIG5v
IGNoYW5nZSBpbiBmdW5jdGlvbmFsaXR5IHNvIG5vIG5ldyB0ZXN0cyBhcmUgcmVxdWlyZWQuCisK
KyAgICAgICAgKiBwbGF0Zm9ybS9QbGF0Zm9ybVRvdWNoUG9pbnQuaDoKKyAgICAgICAgKFdlYkNv
cmU6OlBsYXRmb3JtVG91Y2hQb2ludDo6KTogUmVtb3ZlIFRvdWNoU3RhdGlvbmFyeS4KKyAgICAg
ICAgKiBwbGF0Zm9ybS9xdC9QbGF0Zm9ybVRvdWNoUG9pbnRRdC5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpQbGF0Zm9ybVRvdWNoUG9pbnQ6OlBsYXRmb3JtVG91Y2hQb2ludCk6IFJlbW92ZSBUb3Vj
aFN0YXRpb25hcnkuCisKIDIwMTAtMDQtMTQgIFNoZXJpZmYgQm90ICA8d2Via2l0LnJldmlldy5i
b3RAZ21haWwuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHI1NzU5OS4K
SW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vUGxhdGZvcm1Ub3VjaFBvaW50LmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9ybVRvdWNoUG9pbnQuaAkocmV2aXNpb24gNTc1ODIp
CisrKyBXZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3JtVG91Y2hQb2ludC5oCSh3b3JraW5nIGNvcHkp
CkBAIC0zOSw3ICszOSw2IEBAIHB1YmxpYzoKICAgICAgICAgVG91Y2hSZWxlYXNlZCwKICAgICAg
ICAgVG91Y2hQcmVzc2VkLAogICAgICAgICBUb3VjaE1vdmVkLAotICAgICAgICBUb3VjaFN0YXRp
b25hcnksCiAgICAgICAgIFRvdWNoQ2FuY2VsbGVkCiAgICAgfTsKIApJbmRleDogV2ViQ29yZS9w
bGF0Zm9ybS9xdC9QbGF0Zm9ybVRvdWNoUG9pbnRRdC5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29y
ZS9wbGF0Zm9ybS9xdC9QbGF0Zm9ybVRvdWNoUG9pbnRRdC5jcHAJKHJldmlzaW9uIDU3NTgyKQor
KysgV2ViQ29yZS9wbGF0Zm9ybS9xdC9QbGF0Zm9ybVRvdWNoUG9pbnRRdC5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTM1LDcgKzM1LDYgQEAgUGxhdGZvcm1Ub3VjaFBvaW50OjpQbGF0Zm9ybVRvdWNo
UG9pbnQoYwogICAgIGNhc2UgUXQ6OlRvdWNoUG9pbnRSZWxlYXNlZDogbV9zdGF0ZSA9IFRvdWNo
UmVsZWFzZWQ7IGJyZWFrOwogICAgIGNhc2UgUXQ6OlRvdWNoUG9pbnRNb3ZlZDogbV9zdGF0ZSA9
IFRvdWNoTW92ZWQ7IGJyZWFrOwogICAgIGNhc2UgUXQ6OlRvdWNoUG9pbnRQcmVzc2VkOiBtX3N0
YXRlID0gVG91Y2hQcmVzc2VkOyBicmVhazsKLSAgICBjYXNlIFF0OjpUb3VjaFBvaW50U3RhdGlv
bmFyeTogbV9zdGF0ZSA9IFRvdWNoU3RhdGlvbmFyeTsgYnJlYWs7CiAgICAgfQogICAgIG1fc2Ny
ZWVuUG9zID0gcG9pbnQuc2NyZWVuUG9zKCkudG9Qb2ludCgpOwogICAgIG1fcG9zID0gcG9pbnQu
cG9zKCkudG9Qb2ludCgpOwpJbmRleDogV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCShyZXZpc2lvbiA1NzYwNykKKysrIFdl
YktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxOCBAQAor
MjAxMC0wNC0xNCAgQmVuIE11cmRvY2ggIDxiZW5tQGdvb2dsZS5jb20+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhlIFRvdWNoU3RhdGlvbmFyeSBz
dGF0ZSBvZiBXZWJDb3JlOjpQbGF0Zm9ybVRvdWNoUG9pbnQgaXMgbm90CisgICAgICAgIGhhbmRs
ZWQgaW5zaWRlIHRoZSB0b3VjaCBldmVudCBoYW5kbGVyLgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Mzc2MDkKKworICAgICAgICBBZnRlciBkaXNjdXNz
aW9ucyBhdCB0aGUgV2ViS2l0IGNvbnRyaWJ1dG9ycyBtZWV0aW5nLCB3ZSBkZWNpZGVkIHRoYXQK
KyAgICAgICAgdGhpcyBpcyBhIGN1cnJlbnRseSB1bnVzZWQgc3RhdGUgd2l0aG91dCBhIGdvb2Qg
ZnV0dXJlIHVzZSBjYXNlIGluIHRoZQorICAgICAgICBUb3VjaCBBUEkgYW5kIHRodXMgZGVjaWRl
ZCB0byByZW1vdmUgaXQuIFRoaXMgcGF0Y2ggYWN0aW9ucyB0aGF0IGRlY2lzaW9uLgorCisgICAg
ICAgICogc3JjL1dlYklucHV0RXZlbnRDb252ZXJzaW9uLmNwcDoKKyAgICAgICAgKFdlYktpdDo6
dG9QbGF0Zm9ybVRvdWNoUG9pbnRTdGF0ZSk6IFJlbW92ZSBUb3VjaFN0YXRpb25hcnkuCisKIDIw
MTAtMDQtMTQgIFNoZXJpZmYgQm90ICA8d2Via2l0LnJldmlldy5ib3RAZ21haWwuY29tPgogCiAg
ICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHI1NzU5OS4KSW5kZXg6IFdlYktpdC9jaHJv
bWl1bS9zcmMvV2ViSW5wdXRFdmVudENvbnZlcnNpb24uY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktp
dC9jaHJvbWl1bS9zcmMvV2ViSW5wdXRFdmVudENvbnZlcnNpb24uY3BwCShyZXZpc2lvbiA1NzU4
MikKKysrIFdlYktpdC9jaHJvbWl1bS9zcmMvV2ViSW5wdXRFdmVudENvbnZlcnNpb24uY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0xOTYsOCArMTk2LDYgQEAgc3RhdGljIGlubGluZSBQbGF0Zm9ybVRv
dWNoUG9pbnQ6OlN0YXRlIAogICAgICAgICByZXR1cm4gUGxhdGZvcm1Ub3VjaFBvaW50OjpUb3Vj
aFByZXNzZWQ7CiAgICAgY2FzZSBXZWJUb3VjaFBvaW50OjpTdGF0ZU1vdmVkOgogICAgICAgICBy
ZXR1cm4gUGxhdGZvcm1Ub3VjaFBvaW50OjpUb3VjaE1vdmVkOwotICAgIGNhc2UgV2ViVG91Y2hQ
b2ludDo6U3RhdGVTdGF0aW9uYXJ5OgotICAgICAgICByZXR1cm4gUGxhdGZvcm1Ub3VjaFBvaW50
OjpUb3VjaFN0YXRpb25hcnk7CiAgICAgY2FzZSBXZWJUb3VjaFBvaW50OjpTdGF0ZUNhbmNlbGxl
ZDoKICAgICAgICAgcmV0dXJuIFBsYXRmb3JtVG91Y2hQb2ludDo6VG91Y2hDYW5jZWxsZWQ7CiAg
ICAgY2FzZSBXZWJUb3VjaFBvaW50OjpTdGF0ZVVuZGVmaW5lZDoK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>53747</attachid>
            <date>2010-04-19 17:33:56 -0700</date>
            <delta_ts>2010-04-20 10:08:09 -0700</delta_ts>
            <desc>Patch v2</desc>
            <filename>37609-patch.txt</filename>
            <type>text/plain</type>
            <size>6079</size>
            <attacher name="Ben Murdoch">benm</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1Nzg1NSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjcgQEAKKzIwMTAtMDQtMTkgIEJlbiBNdXJkb2NoICA8YmVubUBnb29nbGUuY29t
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZSBU
b3VjaFN0YXRpb25hcnkgc3RhdGUgb2YgV2ViQ29yZTo6UGxhdGZvcm1Ub3VjaFBvaW50IGlzIG5v
dCBoYW5kbGVkIGluc2lkZSB0aGUgdG91Y2ggZXZlbnQgaGFuZGxlci4KKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM3NjA5CisKKyAgICAgICAgQWZ0ZXIg
ZGlzY3Vzc2lvbnMgYXQgdGhlIFdlYktpdCBjb250cmlidXRvcnMgbWVldGluZywgd2UgZGVjaWRl
ZAorICAgICAgICB0aGF0IHRoaXMgaXMgYSBjdXJyZW50bHkgdW51c2VkIHN0YXRlIHdpdGhvdXQg
YSBnb29kIGZ1dHVyZSB1c2UKKyAgICAgICAgY2FzZSBpbiB0aGUgVG91Y2ggQVBJIGFuZCB0aHVz
IGRlY2lkZWQgdG8gcmVtb3ZlIGl0LiBUaGlzIHBhdGNoCisgICAgICAgIGFjdGlvbnMgdGhhdCBk
ZWNpc2lvbiBieSByZW1vdmluZyBpdCBhbmQgYWRkaW5nIGEgbmV3IFRvdWNoVW5zdXBwb3J0ZWQK
KyAgICAgICAgc3RhdGUgc28gdGhhdCBXZWJDb3JlIGNhbiBpZ25vcmUgdHlwZXMgb2YgdG91Y2gg
ZXZlbnQgdGhhdCB0aGUgcGxhdGZvcm0KKyAgICAgICAgcGFzc2VzIHRoYXQgYXJlIG5vdCBoYW5k
bGVkIGluIHRoZSB0b3VjaCBldmVudCBoYW5kbGVzIChFdmVudEhhbmRsZXI6OmhhbmRsZVRvdWNo
RXZlbnQpLi4KKworICAgICAgICBUaGVyZSBpcyBubyBjaGFuZ2UgaW4gZnVuY3Rpb25hbGl0eSBz
byBubyBuZXcgdGVzdHMgYXJlIHJlcXVpcmVkLgorCisgICAgICAgICogcGFnZS9FdmVudEhhbmRs
ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRIYW5kbGVyOjpoYW5kbGVUb3VjaEV2ZW50
KTogQ29udGludWUgaWYgdGhlIHRvdWNoIGlzIG9mIGFuIHVuc3VwcG9ydGVkIHR5cGUuCisgICAg
ICAgICogcGxhdGZvcm0vUGxhdGZvcm1Ub3VjaFBvaW50Lmg6CisgICAgICAgIChXZWJDb3JlOjpQ
bGF0Zm9ybVRvdWNoUG9pbnQ6Oik6IFJlbW92ZSBUb3VjaFN0YXRpb25hcnkgYW5kIGFkZCBUb3Vj
aFVuc3VwcG9ydGVkIHRvIHRoZSBTdGF0ZSBlbnVtLgorICAgICAgICAqIHBsYXRmb3JtL3F0L1Bs
YXRmb3JtVG91Y2hQb2ludFF0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBsYXRmb3JtVG91Y2hQ
b2ludDo6UGxhdGZvcm1Ub3VjaFBvaW50KTogUmVtb3ZlIFRvdWNoU3RhdGlvbmFyeSBhbmQgYXNz
aWduCisgICAgICAgICAgICBUb3VjaFVuc3VwcG9ydGVkIGluIHRoZSBkZWZhdWx0IGNhc2UuCisK
IDIwMTAtMDQtMTkgIEdhdmluIEJhcnJhY2xvdWdoICA8YmFycmFjbG91Z2hAYXBwbGUuY29tPgog
CiAgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAocm9sbGluZyBvdXQgcjU3ODI5KS4KSW5kZXg6
IFdlYkNvcmUvcGFnZS9FdmVudEhhbmRsZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGFn
ZS9FdmVudEhhbmRsZXIuY3BwCShyZXZpc2lvbiA1NzgxNCkKKysrIFdlYkNvcmUvcGFnZS9FdmVu
dEhhbmRsZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNzAxLDYgKzI3MDEsMTAgQEAgYm9vbCBF
dmVudEhhbmRsZXI6OmhhbmRsZVRvdWNoRXZlbnQoY29ucwogCiAgICAgZm9yICh1bnNpZ25lZCBp
ID0gMDsgaSA8IHBvaW50cy5zaXplKCk7ICsraSkgewogICAgICAgICBjb25zdCBQbGF0Zm9ybVRv
dWNoUG9pbnQmIHBvaW50ID0gcG9pbnRzW2ldOworCisgICAgICAgIGlmIChwb2ludC5zdGF0ZSgp
ID09IFBsYXRmb3JtVG91Y2hQb2ludDo6VG91Y2hVbnN1cHBvcnRlZCkKKyAgICAgICAgICAgIGNv
bnRpbnVlOworCiAgICAgICAgIEludFBvaW50IHBhZ2VQb2ludCA9IGRvY3VtZW50UG9pbnRGb3JX
aW5kb3dQb2ludChtX2ZyYW1lLCBwb2ludC5wb3MoKSk7CiAgICAgICAgIEhpdFRlc3RSZXN1bHQg
cmVzdWx0ID0gaGl0VGVzdFJlc3VsdEF0UG9pbnQocGFnZVBvaW50LCAvKmFsbG93U2hhZG93Q29u
dGVudCovIGZhbHNlKTsKICAgICAgICAgTm9kZSogdGFyZ2V0ID0gcmVzdWx0LmlubmVyTm9kZSgp
OwpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9QbGF0Zm9ybVRvdWNoUG9pbnQuaAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL1BsYXRmb3JtVG91Y2hQb2ludC5oCShyZXZpc2lvbiA1Nzgx
NCkKKysrIFdlYkNvcmUvcGxhdGZvcm0vUGxhdGZvcm1Ub3VjaFBvaW50LmgJKHdvcmtpbmcgY29w
eSkKQEAgLTM5LDggKzM5LDggQEAgcHVibGljOgogICAgICAgICBUb3VjaFJlbGVhc2VkLAogICAg
ICAgICBUb3VjaFByZXNzZWQsCiAgICAgICAgIFRvdWNoTW92ZWQsCi0gICAgICAgIFRvdWNoU3Rh
dGlvbmFyeSwKLSAgICAgICAgVG91Y2hDYW5jZWxsZWQKKyAgICAgICAgVG91Y2hDYW5jZWxsZWQs
CisgICAgICAgIFRvdWNoVW5zdXBwb3J0ZWQgLy8gVXNlZCBpZiB0aGUgcGxhdGZvcm0gcGFzc2Vz
IGEga2luZCBvZiB0b3VjaCBub3Qgc3VwcG9ydGVkIGJ5IHRoZSBXZWJDb3JlIFRvdWNoIEFQSS4K
ICAgICB9OwogCiAjaWYgUExBVEZPUk0oUVQpCkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL3F0L1Bs
YXRmb3JtVG91Y2hQb2ludFF0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL3F0
L1BsYXRmb3JtVG91Y2hQb2ludFF0LmNwcAkocmV2aXNpb24gNTc4MTQpCisrKyBXZWJDb3JlL3Bs
YXRmb3JtL3F0L1BsYXRmb3JtVG91Y2hQb2ludFF0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzUs
NyArMzUsNyBAQCBQbGF0Zm9ybVRvdWNoUG9pbnQ6OlBsYXRmb3JtVG91Y2hQb2ludChjCiAgICAg
Y2FzZSBRdDo6VG91Y2hQb2ludFJlbGVhc2VkOiBtX3N0YXRlID0gVG91Y2hSZWxlYXNlZDsgYnJl
YWs7CiAgICAgY2FzZSBRdDo6VG91Y2hQb2ludE1vdmVkOiBtX3N0YXRlID0gVG91Y2hNb3ZlZDsg
YnJlYWs7CiAgICAgY2FzZSBRdDo6VG91Y2hQb2ludFByZXNzZWQ6IG1fc3RhdGUgPSBUb3VjaFBy
ZXNzZWQ7IGJyZWFrOwotICAgIGNhc2UgUXQ6OlRvdWNoUG9pbnRTdGF0aW9uYXJ5OiBtX3N0YXRl
ID0gVG91Y2hTdGF0aW9uYXJ5OyBicmVhazsKKyAgICBkZWZhdWx0OiBtX3N0YXRlID0gVG91Y2hV
bnN1cHBvcnRlZDsgYnJlYWs7CiAgICAgfQogICAgIG1fc2NyZWVuUG9zID0gcG9pbnQuc2NyZWVu
UG9zKCkudG9Qb2ludCgpOwogICAgIG1fcG9zID0gcG9pbnQucG9zKCkudG9Qb2ludCgpOwpJbmRl
eDogV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQvY2hyb21p
dW0vQ2hhbmdlTG9nCShyZXZpc2lvbiA1Nzg1NSkKKysrIFdlYktpdC9jaHJvbWl1bS9DaGFuZ2VM
b2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwyNCBAQAorMjAxMC0wNC0xOSAgQmVuIE11cmRv
Y2ggIDxiZW5tQGdvb2dsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgVGhlIFRvdWNoU3RhdGlvbmFyeSBzdGF0ZSBvZiBXZWJDb3JlOjpQbGF0
Zm9ybVRvdWNoUG9pbnQgaXMgbm90IGhhbmRsZWQgaW5zaWRlIHRoZSB0b3VjaCBldmVudCBoYW5k
bGVyLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Mzc2
MDkKKworICAgICAgICBBZnRlciBkaXNjdXNzaW9ucyBhdCB0aGUgV2ViS2l0IGNvbnRyaWJ1dG9y
cyBtZWV0aW5nLCB3ZSBkZWNpZGVkCisgICAgICAgIHRoYXQgdGhpcyBpcyBhIGN1cnJlbnRseSB1
bnVzZWQgc3RhdGUgd2l0aG91dCBhIGdvb2QgZnV0dXJlIHVzZQorICAgICAgICBjYXNlIGluIHRo
ZSBUb3VjaCBBUEkgYW5kIHRodXMgZGVjaWRlZCB0byByZW1vdmUgaXQuIFRoaXMgcGF0Y2gKKyAg
ICAgICAgYWN0aW9ucyB0aGF0IGRlY2lzaW9uLgorCisgICAgICAgIEFzIHRoZSBUb3VjaFN0YXRp
b25hcnkgc3RhdGUgaXMgbm90IGhhbmRsZWQgaW4gdGhlIEV2ZW50SGFuZGxlciwKKyAgICAgICAg
dGhlcmUgaXMgbm8gY2hhbmdlIGluIGZ1bmN0aW9uYWxpdHkgc28gbm8gbmV3IHRlc3RzIGFyZSBy
ZXF1aXJlZC4KKworICAgICAgICAqIHB1YmxpYy9XZWJUb3VjaFBvaW50Lmg6CisgICAgICAgIChX
ZWJLaXQ6OldlYlRvdWNoUG9pbnQ6Oik6IFJlbW92ZSBTdGF0ZVN0YXRpb25hcnkuCisgICAgICAg
ICogc3JjL1dlYklucHV0RXZlbnRDb252ZXJzaW9uLmNwcDoKKyAgICAgICAgKFdlYktpdDo6dG9Q
bGF0Zm9ybVRvdWNoUG9pbnRTdGF0ZSk6IFJlbW92ZSBTdGF0ZVN0YXRpb25hcnkgc3RhdGUgYW5k
IGFzc2lnbgorICAgICAgICAgICAgVG91Y2hVbnN1cHBvcnRlZCBpbiB0aGUgZGVmYXVsdCBjYXNl
LgorCiAyMDEwLTA0LTE5ICBEYXZlIE1vb3JlICA8ZGF2ZW1vb3JlQGNocm9taXVtLm9yZz4KIAog
ICAgICAgICBSZXZpZXdlZCBieSBEaW1pdHJpIEdsYXprb3YuCkluZGV4OiBXZWJLaXQvY2hyb21p
dW0vcHVibGljL1dlYlRvdWNoUG9pbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQvY2hyb21pdW0v
cHVibGljL1dlYlRvdWNoUG9pbnQuaAkocmV2aXNpb24gNTc4MTQpCisrKyBXZWJLaXQvY2hyb21p
dW0vcHVibGljL1dlYlRvdWNoUG9pbnQuaAkod29ya2luZyBjb3B5KQpAQCAtNDcsNyArNDcsNiBA
QCBwdWJsaWM6CiAgICAgICAgIFN0YXRlUmVsZWFzZWQsCiAgICAgICAgIFN0YXRlUHJlc3NlZCwK
ICAgICAgICAgU3RhdGVNb3ZlZCwKLSAgICAgICAgU3RhdGVTdGF0aW9uYXJ5LAogICAgICAgICBT
dGF0ZUNhbmNlbGxlZCwKICAgICB9OwogCkluZGV4OiBXZWJLaXQvY2hyb21pdW0vc3JjL1dlYklu
cHV0RXZlbnRDb252ZXJzaW9uLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQvY2hyb21pdW0vc3Jj
L1dlYklucHV0RXZlbnRDb252ZXJzaW9uLmNwcAkocmV2aXNpb24gNTc4MTQpCisrKyBXZWJLaXQv
Y2hyb21pdW0vc3JjL1dlYklucHV0RXZlbnRDb252ZXJzaW9uLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMTk2LDE0ICsxOTYsMTIgQEAgc3RhdGljIGlubGluZSBQbGF0Zm9ybVRvdWNoUG9pbnQ6OlN0
YXRlIAogICAgICAgICByZXR1cm4gUGxhdGZvcm1Ub3VjaFBvaW50OjpUb3VjaFByZXNzZWQ7CiAg
ICAgY2FzZSBXZWJUb3VjaFBvaW50OjpTdGF0ZU1vdmVkOgogICAgICAgICByZXR1cm4gUGxhdGZv
cm1Ub3VjaFBvaW50OjpUb3VjaE1vdmVkOwotICAgIGNhc2UgV2ViVG91Y2hQb2ludDo6U3RhdGVT
dGF0aW9uYXJ5OgotICAgICAgICByZXR1cm4gUGxhdGZvcm1Ub3VjaFBvaW50OjpUb3VjaFN0YXRp
b25hcnk7CiAgICAgY2FzZSBXZWJUb3VjaFBvaW50OjpTdGF0ZUNhbmNlbGxlZDoKICAgICAgICAg
cmV0dXJuIFBsYXRmb3JtVG91Y2hQb2ludDo6VG91Y2hDYW5jZWxsZWQ7CiAgICAgY2FzZSBXZWJU
b3VjaFBvaW50OjpTdGF0ZVVuZGVmaW5lZDoKICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7
CiAgICAgfQotICAgIHJldHVybiBQbGF0Zm9ybVRvdWNoUG9pbnQ6OlRvdWNoUmVsZWFzZWQ7Cisg
ICAgcmV0dXJuIFBsYXRmb3JtVG91Y2hQb2ludDo6VG91Y2hVbnN1cHBvcnRlZDsKIH0KIAogUGxh
dGZvcm1Ub3VjaFBvaW50QnVpbGRlcjo6UGxhdGZvcm1Ub3VjaFBvaW50QnVpbGRlcihXaWRnZXQq
IHdpZGdldCwgY29uc3QgV2ViVG91Y2hQb2ludCYgcG9pbnQpCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>54337</attachid>
            <date>2010-04-26 15:09:13 -0700</date>
            <delta_ts>2010-04-27 12:45:40 -0700</delta_ts>
            <desc>Patch with updated commentary re. TouchStationary.</desc>
            <filename>37609-patch-1.txt</filename>
            <type>text/plain</type>
            <size>1872</size>
            <attacher name="Ben Murdoch">benm</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA1ODI2NSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTYgQEAKKzIwMTAtMDQtMjYgIEJlbiBNdXJkb2NoICA8YmVubUBnb29nbGUuY29t
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZSBU
b3VjaFN0YXRpb25hcnkgc3RhdGUgb2YgV2ViQ29yZTo6UGxhdGZvcm1Ub3VjaFBvaW50IGlzIG5v
dCBoYW5kbGVkIGluc2lkZSB0aGUgdG91Y2ggZXZlbnQgaGFuZGxlci4KKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM3NjA5CisKKyAgICAgICAgTm8gbmV3
IHRlc3RzIHJlcXVpcmVkLCBvbmx5IHVwZGF0aW5nIGRvY3VtZW50YXRpb24uCisKKyAgICAgICAg
KiBwYWdlL0V2ZW50SGFuZGxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpFdmVudEhhbmRsZXI6
OmhhbmRsZVRvdWNoRXZlbnQpOiBJbXByb3ZlIHRoZSBkb2N1bWVudGF0aW9uIGZvciBoYW5kbGlu
ZworICAgICAgICAgICAgdGhlIFRvdWNoU3RhdGlvbmFyeSBzdGF0ZSBhcyBhIHJlc3VsdCBvZiBk
aXNjdXNzaW9ucyBpbiBidWcgMzc2MDkuCisKIDIwMTAtMDQtMjYgIFlvbmdqdW4gWmhhbmcgIDx5
b25nanVuX3poYW5nQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBBbGV4ZXkgUHJv
c2t1cnlha292LgpJbmRleDogV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAJKHJldmlzaW9uIDU4MjYxKQorKysg
V2ViQ29yZS9wYWdlL0V2ZW50SGFuZGxlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI3NDgsNiAr
Mjc0OCwxMyBAQCBib29sIEV2ZW50SGFuZGxlcjo6aGFuZGxlVG91Y2hFdmVudChjb25zCiAgICAg
ICAgICAgICB0b3VjaGVzLT5hcHBlbmQodG91Y2gpOwogCiAgICAgICAgIC8vIE5vdyBidWlsZCB1
cCB0aGUgY29ycmVjdCBsaXN0IGZvciBjaGFuZ2VkVG91Y2hlcy4KKyAgICAgICAgLy8gTm90ZSB0
aGF0ICBhbnkgdG91Y2hlcyB0aGF0IGFyZSBpbiB0aGUgVG91Y2hTdGF0aW9uYXJ5IHN0YXRlIChl
LmcuIGlmCisgICAgICAgIC8vIHRoZSB1c2VyIGhhZCBzZXZlcmFsIHBvaW50cyB0b3VjaGVkIGJ1
dCBkaWQgbm90IG1vdmUgdGhlbSBhbGwpIHNob3VsZAorICAgICAgICAvLyBvbmx5IGJlIHByZXNl
bnQgaW4gdGhlIHRvdWNoZXMgbGlzdC4gVGhleSBtYXkgYWxzbyBiZSBhZGRlZCB0byB0aGUKKyAg
ICAgICAgLy8gdGFyZ2V0VG91Y2hlcyBsaXN0IGxhdGVyLCBidXQgc2hvdWxkIG5ldmVyIGJlIGlu
IHRoZSBjaGFuZ2VkVG91Y2hlcworICAgICAgICAvLyBsaXN0IHNvIHdlIGRvIG5vdCBoYW5kbGUg
dGhlbSBleHBsaWNpdGx5IGhlcmUuCisgICAgICAgIC8vIFNlZSBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Mzc2MDkgZm9yIGZ1cnRoZXIgZGlzY3Vzc2lvbgorICAgICAg
ICAvLyBhYm91dCB0aGUgVG91Y2hTdGF0aW9uYXJ5IHN0YXRlLgogICAgICAgICBpZiAocG9pbnQu
c3RhdGUoKSA9PSBQbGF0Zm9ybVRvdWNoUG9pbnQ6OlRvdWNoUmVsZWFzZWQpCiAgICAgICAgICAg
ICByZWxlYXNlZFRvdWNoZXMtPmFwcGVuZCh0b3VjaCk7CiAgICAgICAgIGVsc2UgaWYgKHBvaW50
LnN0YXRlKCkgPT0gUGxhdGZvcm1Ub3VjaFBvaW50OjpUb3VjaENhbmNlbGxlZCkK
</data>

          </attachment>
      

    </bug>

</bugzilla>