<?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>65858</bug_id>
          
          <creation_ts>2011-08-08 08:37:14 -0700</creation_ts>
          <short_desc>OOB Read in WebCore::SVGAnimationElement</short_desc>
          <delta_ts>2011-10-04 10:01:30 -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>SVG</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc>http://www.bogotobogo.com/svg_source/rollingpath.svg</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Ken Buchanan">kenrb</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>cevans</cc>
    
    <cc>commit-queue</cc>
    
    <cc>jschuh</cc>
    
    <cc>rniwa</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>zimmermann</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>448017</commentid>
    <comment_count>0</comment_count>
      <attachid>103254</attachid>
    <who name="Ken Buchanan">kenrb</who>
    <bug_when>2011-08-08 08:37:14 -0700</bug_when>
    <thetext>Created attachment 103254
SVG animation crash repro

Upstreaming bug filed against Chromium: http://code.google.com/p/chromium/issues/detail?id=73030

Seeing crashes from B-Spline animation with certain properties. The provided URL and the attached file crash the renderer in slightly different ways.

This was analyzed for security implications and is not thought to have any, other than simple renderer crash.

I have a fix for this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>448049</commentid>
    <comment_count>1</comment_count>
      <attachid>103258</attachid>
    <who name="Ken Buchanan">kenrb</who>
    <bug_when>2011-08-08 09:46:57 -0700</bug_when>
    <thetext>Created attachment 103258
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>448065</commentid>
    <comment_count>2</comment_count>
    <who name="Chris Evans">cevans</who>
    <bug_when>2011-08-08 10:08:24 -0700</bug_when>
    <thetext>You&apos;re missing:
- ChangeLog entries
- The addition of a new test for the bug you&apos;ve just fixed

You won&apos;t get an r+ without these.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>448562</commentid>
    <comment_count>3</comment_count>
      <attachid>103357</attachid>
    <who name="Ken Buchanan">kenrb</who>
    <bug_when>2011-08-09 06:50:25 -0700</bug_when>
    <thetext>Created attachment 103357
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>448565</commentid>
    <comment_count>4</comment_count>
    <who name="Ken Buchanan">kenrb</who>
    <bug_when>2011-08-09 07:02:56 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; You&apos;re missing:
&gt; - ChangeLog entries
&gt; - The addition of a new test for the bug you&apos;ve just fixed
&gt; 
&gt; You won&apos;t get an r+ without these.

Better?

...If so, I&apos;ll get to finding another reviewer.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>448683</commentid>
    <comment_count>5</comment_count>
      <attachid>103357</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2011-08-09 11:11:32 -0700</bug_when>
    <thetext>Comment on attachment 103357
Patch

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

Thanks that you&apos;re working on this Ken, first round of comments:

&gt; LayoutTests/ChangeLog:5
&gt; +        Merge branch &apos;master&apos; into SVGbug

What&apos;s this?

&gt; LayoutTests/ChangeLog:7
&gt; +        Added some additional checking on on spline animation vector sizes, for potential mismatches with other vectors.

This doesn&apos;t say what&apos;s actually wrong in trunk. Can you rephrase that?

&gt; LayoutTests/ChangeLog:11
&gt; +

The bug title should come first. Like this:

OOB Read
https:://

Reviewed by NOBODY...

Added testcase covering keySpline array length problem.

&gt; LayoutTests/svg/animations/animate-calcMode-spline-crash-bad-array-length.xhtml:23
&gt; +                    document.body.innerHTML = &quot;PASS&quot;;

PASS, if no assertion is triggered in a debug build.
Sounds better, eh?

&gt; Source/WebCore/ChangeLog:5
&gt; +        Merge branch &apos;master&apos; into SVGbug

See the comments about LayoutTests/ChangeLog, please fix the WebCore ChangeLog as well.

&gt; Source/WebCore/svg/SVGAnimationElement.cpp:459
&gt; +    if (calcMode() == CalcModeSpline &amp;&amp; index &lt; m_keySplines.size()) {
&gt;          ASSERT(m_keySplines.size() == m_keyPoints.size() - 1);

What&apos;s the condition for index &gt;= m_keySplines.size(), when does that happen?

&gt; Source/WebCore/svg/SVGAnimationElement.cpp:535
&gt; -    if (calcMode == CalcModeSpline) {
&gt; +    if (calcMode == CalcModeSpline &amp;&amp; index &lt; m_keySplines.size()) {

Ditto.

&gt; Source/WebCore/svg/SVGAnimationElement.cpp:608
&gt; +    else if (m_keyPoints.isEmpty() &amp;&amp; mode == CalcModeSpline &amp;&amp; m_keyTimes.size() &gt; 1 &amp;&amp; m_keySplines.size() == m_keyTimes.size() - 1)

Shouldn&apos;t we rather guarantee that if m_keyTimes.size() &gt; 1, that m_keySplines.size() is always m_keyTimes.size() - 1 ?
If there&apos;s such a mismatch we could clear m_keySplines/keyTimes instead of keeping &quot;invalid states&quot; around and checking for them in various places (calculatePercentFromKeyPoints/currentValuesForValuesAnimation/updateAnimation). Seems too fragile for me.

What do you think?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>448754</commentid>
    <comment_count>6</comment_count>
    <who name="Ken Buchanan">kenrb</who>
    <bug_when>2011-08-09 13:24:55 -0700</bug_when>
    <thetext>(In reply to comment #5)

Thanks for the review.


&gt; What&apos;s the condition for index &gt;= m_keySplines.size(), when does that happen?
&gt; 

index is calculated based on the m_keyTimes array, which may or may not match the size of m_keySplines. These are obtained from the user data, so we need somewhere a check that they are in sync. It shouldn&apos;t happen but it can with invalid data.

&gt; Shouldn&apos;t we rather guarantee that if m_keyTimes.size() &gt; 1, that m_keySplines.size() is always m_keyTimes.size() - 1 ?
&gt; If there&apos;s such a mismatch we could clear m_keySplines/keyTimes instead of keeping &quot;invalid states&quot; around and checking for them in various places (calculatePercentFromKeyPoints/currentValuesForValuesAnimation/updateAnimation). Seems too fragile for me.
&gt; 
&gt; What do you think?

This was my first thought, but it seemed awkward doing this in parseMappedAttribute() because you can&apos;t necessarily know the order that the keySplines and keyTimes attributes will be parsed. You&apos;re probably right that this is safer, though. I&apos;ll submit a new patch with this approach.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>448807</commentid>
    <comment_count>7</comment_count>
      <attachid>103397</attachid>
    <who name="Ken Buchanan">kenrb</who>
    <bug_when>2011-08-09 14:26:12 -0700</bug_when>
    <thetext>Created attachment 103397
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>450817</commentid>
    <comment_count>8</comment_count>
      <attachid>103397</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2011-08-12 23:26:13 -0700</bug_when>
    <thetext>Comment on attachment 103397
Patch

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

Almost there, still some tweaks needed.

&gt; Source/WebCore/svg/SVGAnimationElement.cpp:182
&gt; +        if (calcMode() == CalcModeSpline &amp;&amp; !m_keySplines.isEmpty() &amp;&amp; m_keySplines.size() != m_keyTimes.size() - 1) {
&gt; +            // There is an array size mismatch between keySplines and keyTimes
&gt; +            m_keyTimes.clear();
&gt; +        }

In general, this looks fine - it would be nice to avoid the duplication though, by adding a validateKeyTimes() method that could be called from here.
I still wonder whether parseMappedAttribute is the right place though.

Looking through the code I see stuff like

float SVGAnimationElement::calculatePercentFromKeyPoints(float percent) const
{
    ASSERT(!m_keyPoints.isEmpty());
    ASSERT(calcMode() != CalcModePaced);
    ASSERT(m_keyTimes.size() &gt; 1);
...

and or
    } else if (!m_keyPoints.isEmpty() &amp;&amp; mode != CalcModePaced)
        effectivePercent = calculatePercentFromKeyPoints(percent);
    else if (m_keyPoints.isEmpty() &amp;&amp; mode == CalcModeSpline &amp;&amp; m_keyTimes.size() &gt; 1)
...

It should be easy to trigger an assertion now, when combinining keyTimes/keySplines (with length mismatch) and keyPoints, as this code assumes keyTimes is never empty.
Do you agree that eg. non-paced mode now needs additional logic like (if m_keyTimes.size() &gt; 1) before calling this method.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>451181</commentid>
    <comment_count>9</comment_count>
      <attachid>103936</attachid>
    <who name="Ken Buchanan">kenrb</who>
    <bug_when>2011-08-15 11:44:28 -0700</bug_when>
    <thetext>Created attachment 103936
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>454320</commentid>
    <comment_count>10</comment_count>
      <attachid>103936</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2011-08-19 23:31:09 -0700</bug_when>
    <thetext>Comment on attachment 103936
Patch

Looks good!, r=me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>454328</commentid>
    <comment_count>11</comment_count>
      <attachid>103936</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-08-20 00:31:11 -0700</bug_when>
    <thetext>Comment on attachment 103936
Patch

Clearing flags on attachment: 103936

Committed r93477: &lt;http://trac.webkit.org/changeset/93477&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>454329</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-08-20 00:31:16 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>454334</commentid>
    <comment_count>13</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2011-08-20 02:06:14 -0700</bug_when>
    <thetext>What? Why isn&apos;t this a security bug if it&apos;s really a OOB read bug?  If not, then why does the bug title still says OOB read?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>454341</commentid>
    <comment_count>14</comment_count>
    <who name="Ken Buchanan">kenrb</who>
    <bug_when>2011-08-20 07:30:11 -0700</bug_when>
    <thetext>(In reply to comment #13)
&gt; What? Why isn&apos;t this a security bug if it&apos;s really a OOB read bug?  If not, then why does the bug title still says OOB read?

This was initially logged as a security bug in Chromium, but the Chrome security team downgraded it because there&apos;s no way to recover the extra read data. It&apos;s just a crash bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>103254</attachid>
            <date>2011-08-08 08:37:14 -0700</date>
            <delta_ts>2011-08-08 08:37:14 -0700</delta_ts>
            <desc>SVG animation crash repro</desc>
            <filename>Repro.svg</filename>
            <type>image/svg+xml</type>
            <size>1005</size>
            <attacher name="Ken Buchanan">kenrb</attacher>
            
              <data encoding="base64">PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+DQo8
c3ZnDQogICB4bWxuczpzdmc9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIg0KICAgeG1sbnM9
Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIg0KICAgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cu
dzMub3JnLzE5OTkveGxpbmsiDQogICB2ZXJzaW9uPSIxLjAiDQogICB3aWR0aD0iNzQ0LjA5NDQ4
Ig0KICAgaGVpZ2h0PSIxMDUyLjM2MjIiDQogICBpZD0ic3ZnMzczMiI+DQogIDxnDQogICAgIGlk
PSJsYXllcjEiPg0KDQogICAgPHBhdGgNCiAgICAgICBkPSJtIDM4Ny4wMTYzOSwxODIuMDYxMDEg
YyAtMTAuMDk3OTIsMTEuNzg1NzEgLTE2LjQ1MDMyLDE0LjMwOTExIC0yOS45MTIyOSw1Ny43NTIw
MiAtNi41NjY2MywyMS4xOTEwNyAtMTAuOTE0NTcsNTMuNTk3NjQgLTE3LjM4MzE4LDc0LjM3NDE0
IC02LjY1NjczLDIxLjM4MDY4IC0xNy41NDc1LDYzLjMzOTE5IC01OS4wNjgyOCw2Mi45NjAzOSAt
NDYuMzg4ODYsLTYuMDU1MzEgLTU2LjQwOTM2LC01MC4yNzE2NCAtNjcuMjk0OTIsLTg4LjkzMTgy
IC0zLjk3OTc2LC0xNC4xMzQxNSAtNi40MTg4MSwtMjguOTI0NTUgLTkuNzAwNzksLTQzLjM4MTgz
Ig0KICAgICAgIGlkPSJwYXRoX2IiLz4NCg0KICAgIDxjaXJjbGUgaWQ9Im15Y2lyY2xlIiBjeD0i
MCIgY3k9IjAiIHI9IjEyIj4NCiAgICAgICAgIDxhbmltYXRlTW90aW9uIGlkPSJCIiBkdXI9IjEu
N3MiIGtleVRpbWVzPSIwLjA7IDAuMDAwMDAwMTsgMC4wMDAwMDAyIg0KICAgICAgICAgICBjYWxj
TW9kZT0ic3BsaW5lIiBrZXlTcGxpbmVzPSIwIDEgMCAxIg0KICAgICAgICAgICByZXBlYXRDb3Vu
dD0iMSIgcm90YXRlPSJhdXRvIiANCiAgICAgICAgICAgZmlsbD0iZnJlZXplIj4NCiAgICAgICAg
ICAgPG1wYXRoIHhsaW5rOmhyZWY9IiNwYXRoX2IiIC8+DQogICAgICAgICA8L2FuaW1hdGVNb3Rp
b24+DQogICAgPC9jaXJjbGU+DQogIDwvZz4NCjwvc3ZnPg0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>103258</attachid>
            <date>2011-08-08 09:46:57 -0700</date>
            <delta_ts>2011-08-09 06:50:18 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-65858-20110808124635.patch</filename>
            <type>text/plain</type>
            <size>2443</size>
            <attacher name="Ken Buchanan">kenrb</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTI2MDEKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N2
Zy9TVkdBbmltYXRpb25FbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbmltYXRp
b25FbGVtZW50LmNwcAppbmRleCA3NTA3YjU1NGEzNzBmODA5ZjkxZGJhNmVhY2I5ZTc4NDZkM2Q5
ZmVmLi5iNTkzMjE2ZDQ0ODA1ODc2YzE1NDcxNTVhZmIxZjEzYTMzMjdkYTNiIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQW5pbWF0aW9uRWxlbWVudC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvc3ZnL1NWR0FuaW1hdGlvbkVsZW1lbnQuY3BwCkBAIC00MTMsNyArNDEzLDEwIEBA
IHVuc2lnbmVkIFNWR0FuaW1hdGlvbkVsZW1lbnQ6OmNhbGN1bGF0ZUtleVRpbWVzSW5kZXgoZmxv
YXQgcGVyY2VudCkgY29uc3QKIHsKICAgICB1bnNpZ25lZCBpbmRleDsKICAgICB1bnNpZ25lZCBr
ZXlUaW1lc0NvdW50ID0gbV9rZXlUaW1lcy5zaXplKCk7Ci0gICAgZm9yIChpbmRleCA9IDE7IGlu
ZGV4IDwga2V5VGltZXNDb3VudDsgKytpbmRleCkgeworICAgIC8vIENvbXBhcmUgaW5kZXggKyAx
IHRvIGtleVRpbWVzQ291bnQgYmVjYXVzZSB0aGUgbGFzdCBrZXlUaW1lcyBlbnRyeSBpcworICAg
IC8vIHJlcXVpcmVkIHRvIGJlIDEsIGFuZCBwZXJjZW50IGNhbiBuZXZlciBleGNlZWQgMTsgaS5l
LiwgdGhlIHNlY29uZCBsYXN0CisgICAgLy8ga2V5VGltZXMgZW50cnkgZGVmaW5lcyB0aGUgYmVn
aW5uaW5nIG9mIHRoZSBmaW5hbCBpbnRlcnZhbAorICAgIGZvciAoaW5kZXggPSAxOyBpbmRleCAr
IDEgPCBrZXlUaW1lc0NvdW50OyArK2luZGV4KSB7CiAgICAgICAgIGlmIChtX2tleVRpbWVzW2lu
ZGV4XSA+IHBlcmNlbnQpCiAgICAgICAgICAgICBicmVhazsKICAgICB9CkBAIC00NTIsNyArNDU1
LDcgQEAgZmxvYXQgU1ZHQW5pbWF0aW9uRWxlbWVudDo6Y2FsY3VsYXRlUGVyY2VudEZyb21LZXlQ
b2ludHMoZmxvYXQgcGVyY2VudCkgY29uc3QKICAgICAKICAgICBmbG9hdCBrZXlQb2ludFBlcmNl
bnQgPSAocGVyY2VudCAtIGZyb21QZXJjZW50KSAvICh0b1BlcmNlbnQgLSBmcm9tUGVyY2VudCk7
CiAgICAgCi0gICAgaWYgKGNhbGNNb2RlKCkgPT0gQ2FsY01vZGVTcGxpbmUpIHsKKyAgICBpZiAo
Y2FsY01vZGUoKSA9PSBDYWxjTW9kZVNwbGluZSAmJiBpbmRleCA8IG1fa2V5U3BsaW5lcy5zaXpl
KCkpIHsKICAgICAgICAgQVNTRVJUKG1fa2V5U3BsaW5lcy5zaXplKCkgPT0gbV9rZXlQb2ludHMu
c2l6ZSgpIC0gMSk7CiAgICAgICAgIGtleVBvaW50UGVyY2VudCA9IGNhbGN1bGF0ZVBlcmNlbnRG
b3JTcGxpbmUoa2V5UG9pbnRQZXJjZW50LCBpbmRleCk7CiAgICAgfQpAQCAtNTI5LDcgKzUzMiw3
IEBAIHZvaWQgU1ZHQW5pbWF0aW9uRWxlbWVudDo6Y3VycmVudFZhbHVlc0ZvclZhbHVlc0FuaW1h
dGlvbihmbG9hdCBwZXJjZW50LCBmbG9hdCYKICAgICBBU1NFUlQodG9QZXJjZW50ID4gZnJvbVBl
cmNlbnQpOwogICAgIGVmZmVjdGl2ZVBlcmNlbnQgPSAocGVyY2VudCAtIGZyb21QZXJjZW50KSAv
ICh0b1BlcmNlbnQgLSBmcm9tUGVyY2VudCk7CiAgICAgCi0gICAgaWYgKGNhbGNNb2RlID09IENh
bGNNb2RlU3BsaW5lKSB7CisgICAgaWYgKGNhbGNNb2RlID09IENhbGNNb2RlU3BsaW5lICYmIGlu
ZGV4IDwgbV9rZXlTcGxpbmVzLnNpemUoKSkgewogICAgICAgICBBU1NFUlQobV9rZXlTcGxpbmVz
LnNpemUoKSA9PSBtX3ZhbHVlcy5zaXplKCkgLSAxKTsKICAgICAgICAgZWZmZWN0aXZlUGVyY2Vu
dCA9IGNhbGN1bGF0ZVBlcmNlbnRGb3JTcGxpbmUoZWZmZWN0aXZlUGVyY2VudCwgaW5kZXgpOwog
ICAgIH0KQEAgLTYwMiw3ICs2MDUsNyBAQCB2b2lkIFNWR0FuaW1hdGlvbkVsZW1lbnQ6OnVwZGF0
ZUFuaW1hdGlvbihmbG9hdCBwZXJjZW50LCB1bnNpZ25lZCByZXBlYXQsIFNWR1NNSQogICAgICAg
ICB9CiAgICAgfSBlbHNlIGlmICghbV9rZXlQb2ludHMuaXNFbXB0eSgpICYmIG1vZGUgIT0gQ2Fs
Y01vZGVQYWNlZCkKICAgICAgICAgZWZmZWN0aXZlUGVyY2VudCA9IGNhbGN1bGF0ZVBlcmNlbnRG
cm9tS2V5UG9pbnRzKHBlcmNlbnQpOwotICAgIGVsc2UgaWYgKG1fa2V5UG9pbnRzLmlzRW1wdHko
KSAmJiBtb2RlID09IENhbGNNb2RlU3BsaW5lICYmIG1fa2V5VGltZXMuc2l6ZSgpID4gMSkKKyAg
ICBlbHNlIGlmIChtX2tleVBvaW50cy5pc0VtcHR5KCkgJiYgbW9kZSA9PSBDYWxjTW9kZVNwbGlu
ZSAmJiBtX2tleVRpbWVzLnNpemUoKSA+IDEgJiYgbV9rZXlTcGxpbmVzLnNpemUoKSA9PSBtX2tl
eVRpbWVzLnNpemUoKSAtIDEpCiAgICAgICAgIGVmZmVjdGl2ZVBlcmNlbnQgPSBjYWxjdWxhdGVQ
ZXJjZW50Rm9yU3BsaW5lKHBlcmNlbnQsIGNhbGN1bGF0ZUtleVRpbWVzSW5kZXgocGVyY2VudCkp
OwogICAgIGVsc2UKICAgICAgICAgZWZmZWN0aXZlUGVyY2VudCA9IHBlcmNlbnQ7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>103357</attachid>
            <date>2011-08-09 06:50:25 -0700</date>
            <delta_ts>2011-08-09 14:26:05 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-65858-20110809095001.patch</filename>
            <type>text/plain</type>
            <size>7260</size>
            <attacher name="Ken Buchanan">kenrb</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTI2NzcKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAxMzhkODRhMDNmM2U1YTRhY2EyMWIz
MTc3YWFjYzE4NzcwOTRmNmYzLi4xM2E0MjY3YjY4NGI0ZjE3MzYwYzI5YTY4OWIyMTA4ZjJmZDUz
MDMwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTEtMDgtMDkgIEtlbiBCdWNoYW5hbiAgPGtl
bnJiQGNocm9taXVtLm9yZz4KKworICAgICAgICBMYXlvdXRUZXN0cyBhZGRlZCBmb3IgZml4IHRv
IDY1ODU4IGNyYXNoIGJ1ZzogY2hlY2sgZm9yIHJlbmRlcmVyIGNyYXNoIG9uIGJhZCBrZXlTcGxp
bmVzIGFycmF5IGxlbmd0aC4KKworICAgICAgICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byBT
VkdidWcKKworICAgICAgICBBZGRlZCBzb21lIGFkZGl0aW9uYWwgY2hlY2tpbmcgb24gb24gc3Bs
aW5lIGFuaW1hdGlvbiB2ZWN0b3Igc2l6ZXMsIGZvciBwb3RlbnRpYWwgbWlzbWF0Y2hlcyB3aXRo
IG90aGVyIHZlY3RvcnMuCisKKyAgICAgICAgT09CIFJlYWQgaW4gV2ViQ29yZTo6U1ZHQW5pbWF0
aW9uRWxlbWVudAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9NjU4NTgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICAqIHN2Zy9hbmltYXRpb25zL2FuaW1hdGUtY2FsY01vZGUtc3BsaW5lLWNyYXNoLWJhZC1hcnJh
eS1sZW5ndGgtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBzdmcvYW5pbWF0aW9ucy9h
bmltYXRlLWNhbGNNb2RlLXNwbGluZS1jcmFzaC1iYWQtYXJyYXktbGVuZ3RoLnhodG1sOiBBZGRl
ZC4KKwogMjAxMS0wOC0wOSAgVnNldm9sb2QgVmxhc292ICA8dnNldmlrQGNocm9taXVtLm9yZz4K
IAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBSRUdSRVNTSU9OIChyOTI2NzIpOiBodHRwL3Rlc3Rz
L2luc3BlY3Rvci9yZXNvdXJjZS1tYWluLWNvb2tpZXMucGhwIGZhaWxpbmcgb24gUXQgTGludXgg
UmVsZWFzZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvYW5pbWF0ZS1j
YWxjTW9kZS1zcGxpbmUtY3Jhc2gtYmFkLWFycmF5LWxlbmd0aC1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9zdmcvYW5pbWF0aW9ucy9hbmltYXRlLWNhbGNNb2RlLXNwbGluZS1jcmFzaC1iYWQt
YXJyYXktbGVuZ3RoLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43ZWYyMmU5YTQzMWFkMDI3Mjcx
M2I3MWZkYzg3OTQwMTZjOGVmMTJmCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3Zn
L2FuaW1hdGlvbnMvYW5pbWF0ZS1jYWxjTW9kZS1zcGxpbmUtY3Jhc2gtYmFkLWFycmF5LWxlbmd0
aC1leHBlY3RlZC50eHQKQEAgLTAsMCArMSBAQAorUEFTUwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvc3ZnL2FuaW1hdGlvbnMvYW5pbWF0ZS1jYWxjTW9kZS1zcGxpbmUtY3Jhc2gtYmFkLWFycmF5
LWxlbmd0aC54aHRtbCBiL0xheW91dFRlc3RzL3N2Zy9hbmltYXRpb25zL2FuaW1hdGUtY2FsY01v
ZGUtc3BsaW5lLWNyYXNoLWJhZC1hcnJheS1sZW5ndGgueGh0bWwKbmV3IGZpbGUgbW9kZSAxMDA3
NTUKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNmU1MDFh
NTdkOGQwODBhNjgzMTE5ZDdkNmI3ODVlNTRmYWEwNWFmYwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL3N2Zy9hbmltYXRpb25zL2FuaW1hdGUtY2FsY01vZGUtc3BsaW5lLWNyYXNoLWJh
ZC1hcnJheS1sZW5ndGgueGh0bWwKQEAgLTAsMCArMSwzMCBAQAorPGh0bWwgeG1sbnM9Imh0dHA6
Ly93d3cudzMub3JnLzE5OTkveGh0bWwiPgorICAgIDxib2R5PgorICAgICAgICA8c3ZnIHZlcnNp
b249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0i
aHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+CisgICAgICAgICAgICA8cGF0aAorICAgICAg
ICAgICAgICAgIGQ9Im0gNjUuOTEyNDU0LDE0Mi4zMzY1NyBjIDMyLjk3MTcyOCwwLjQ3NTQ2IDU0
LjM1MzAwNiwyLjMxNDU5IDcxLjczMjAyNiwxMC44ODA4MyAxNy4zNzkwMiw4LjU2NjI1IDM0LjI5
MTMyLDIyLjg0OTQ3IDUxLjI1NDA0LDUwLjIzMzQxIDEzLjc3MTgzLDI2LjEzNjE5IDE2LjMwNTg1
LDU2LjU1MTQxIDI0LjQ1OTIsODQuNzY0OTMgMTAuNjkxNzMsMzguNzE0OTUgMjAuOTA2MDYsODIu
ODc2NTEgNjcuMjk0OTIsODguOTMxODIgNDEuNTIwNzgsMC4zNzg4IDUyLjQxMTU1LC00MS41Nzk3
MSA1OS4wNjgyOCwtNjIuOTYwMzkgNi40Njg2MSwtMjAuNzc2NSAxMC42NzMzNCwtNTMuMjI3OTgg
MTcuMzgzMTgsLTc0LjM3NDE0IDEzLjEwNDgzLC00MS4zMDAwNiAxOS44MTQzNywtNDUuOTY2MzEg
MjkuOTEyMjksLTU3Ljc1MjAyIgorICAgICAgICAgICAgICAgIGlkPSJwYXRoX2EiCisgICAgICAg
ICAgICAgICAgc3R5bGU9ImZpbGw6bm9uZTtzdHJva2U6bm9uZTtzdHJva2Utd2lkdGg6MC4yO21h
cmtlci1taWQ6bm9uZTttYXJrZXItZW5kOm5vbmUiIC8+CisKKyAgICAgICAgICAgICAgICA8Y2ly
Y2xlIGlkPSJteWNpcmNsZSIgY3g9IjAiIGN5PSIwIiByPSIxMiIgPgorICAgICAgICAgICAgICAg
ICAgICA8YW5pbWF0ZU1vdGlvbiBpZD0iQSIgZHVyPSIycyIga2V5VGltZXM9IjA7IDAuNjsgMSIK
KyAgICAgICAgICAgICAgICAgICAgICAgIGNhbGNNb2RlPSJzcGxpbmUiIGtleVNwbGluZXM9IjEg
MCAxIDA7MCAxIDAgMTsiCisgICAgICAgICAgICAgICAgICAgICAgICByZXBlYXRDb3VudD0iMSIg
cm90YXRlPSJhdXRvIiBmaWxsPSJmcmVlemUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAg
IDxtcGF0aCB4bGluazpocmVmPSIjcGF0aF9hIiAvPgorICAgICAgICAgICAgICAgICAgICA8L2Fu
aW1hdGVNb3Rpb24+CisgICAgICAgICAgICAgICAgPC9jaXJjbGU+CisgICAgICAgICAgICA8L3N2
Zz4KKyAgICAgICAgPHNjcmlwdD4KKyAgICAgICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENv
bnRyb2xsZXIpIHsKKyAgICAgICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNU
ZXh0KCk7CisgICAgICAgICAgICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9u
ZSgpOworCSAgICB9CisgICAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHsKKyAgICAg
ICAgICAgICAgICAgICAgZG9jdW1lbnQuYm9keS5pbm5lckhUTUwgPSAiUEFTUyI7CisgICAgICAg
ICAgICAgICAgICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpCisgICAgICAgICAg
ICAgICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci5ub3RpZnlEb25lKCk7CisgICAgICAg
ICAgICAgICAgfSwgMCk7CisKKyAgICAgICAgPC9zY3JpcHQ+CisgICAgPC9ib2R5PgorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nIGIvU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nCmluZGV4IGVjYmIwYjg1Yjg0YTYzOTBlOWU1NmI0ZjYzMDUzZTg2ZGZkMzg1ODku
LmU4YmU0ZjI0YmZlYmZkZDRhNDkzNGJlMDBiMWYyZGYzNDc1ZmMwZDQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwyNCBAQAorMjAxMS0wOC0wOSAgS2VuIEJ1Y2hhbmFuICA8a2VucmJAY2hyb21pdW0u
b3JnPgorCisgICAgICAgIEFkZGVkIHNvbWUgdmFsaWRhdGlvbiB0byB0aGUgbGVuZ3RoIG9mIHRo
ZSBrZXlTcGxpbmVzIGFycmF5IGZvciBpbnRlcnBvbGF0ZWQgQi1zcGxpbmUgYW5pbWF0aW9uLiBN
aXNtYXRjaGVzIGJldHdlZW4gdGhpcyBhbmQga2V5VGltZXMgY2FuIGNhdXNlIG1lbW9yeSBlcnJv
cnMuCisKKyAgICAgICAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gU1ZHYnVnCisKKyAgICAg
ICAgQWRkZWQgc29tZSBhZGRpdGlvbmFsIGNoZWNraW5nIG9uIG9uIHNwbGluZSBhbmltYXRpb24g
dmVjdG9yIHNpemVzLCBmb3IgcG90ZW50aWFsIG1pc21hdGNoZXMgd2l0aCBvdGhlciB2ZWN0b3Jz
LgorCisgICAgICAgIE9PQiBSZWFkIGluIFdlYkNvcmU6OlNWR0FuaW1hdGlvbkVsZW1lbnQKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY1ODU4CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGVzdDogc3ZnL2Fu
aW1hdGlvbnMvYW5pbWF0ZS1jYWxjTW9kZS1zcGxpbmUtY3Jhc2gtYmFkLWFycmF5LWxlbmd0aC54
aHRtbAorCisgICAgICAgICogc3ZnL1NWR0FuaW1hdGlvbkVsZW1lbnQuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6U1ZHQW5pbWF0aW9uRWxlbWVudDo6Y2FsY3VsYXRlS2V5VGltZXNJbmRleCk6Cisg
ICAgICAgIChXZWJDb3JlOjpTVkdBbmltYXRpb25FbGVtZW50OjpjYWxjdWxhdGVQZXJjZW50RnJv
bUtleVBvaW50cyk6CisgICAgICAgIChXZWJDb3JlOjpTVkdBbmltYXRpb25FbGVtZW50OjpjdXJy
ZW50VmFsdWVzRm9yVmFsdWVzQW5pbWF0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0FuaW1h
dGlvbkVsZW1lbnQ6OnVwZGF0ZUFuaW1hdGlvbik6CisKIDIwMTEtMDgtMDkgIFl1cnkgU2VtaWto
YXRza3kgIDx5dXJ5c0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogZ2V0
IHJpZCBvZiBJbnNwZWN0b3JJbnN0cnVtZW50YXRpb246Omluc3BlY3RvckFnZW50cygpIG1hcApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FuaW1hdGlvbkVsZW1lbnQuY3BwIGIv
U291cmNlL1dlYkNvcmUvc3ZnL1NWR0FuaW1hdGlvbkVsZW1lbnQuY3BwCmluZGV4IDc1MDdiNTU0
YTM3MGY4MDlmOTFkYmE2ZWFjYjllNzg0NmQzZDlmZWYuLmI1OTMyMTZkNDQ4MDU4NzZjMTU0NzE1
NWFmYjFmMTNhMzMyN2RhM2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbmlt
YXRpb25FbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQW5pbWF0aW9uRWxl
bWVudC5jcHAKQEAgLTQxMyw3ICs0MTMsMTAgQEAgdW5zaWduZWQgU1ZHQW5pbWF0aW9uRWxlbWVu
dDo6Y2FsY3VsYXRlS2V5VGltZXNJbmRleChmbG9hdCBwZXJjZW50KSBjb25zdAogewogICAgIHVu
c2lnbmVkIGluZGV4OwogICAgIHVuc2lnbmVkIGtleVRpbWVzQ291bnQgPSBtX2tleVRpbWVzLnNp
emUoKTsKLSAgICBmb3IgKGluZGV4ID0gMTsgaW5kZXggPCBrZXlUaW1lc0NvdW50OyArK2luZGV4
KSB7CisgICAgLy8gQ29tcGFyZSBpbmRleCArIDEgdG8ga2V5VGltZXNDb3VudCBiZWNhdXNlIHRo
ZSBsYXN0IGtleVRpbWVzIGVudHJ5IGlzCisgICAgLy8gcmVxdWlyZWQgdG8gYmUgMSwgYW5kIHBl
cmNlbnQgY2FuIG5ldmVyIGV4Y2VlZCAxOyBpLmUuLCB0aGUgc2Vjb25kIGxhc3QKKyAgICAvLyBr
ZXlUaW1lcyBlbnRyeSBkZWZpbmVzIHRoZSBiZWdpbm5pbmcgb2YgdGhlIGZpbmFsIGludGVydmFs
CisgICAgZm9yIChpbmRleCA9IDE7IGluZGV4ICsgMSA8IGtleVRpbWVzQ291bnQ7ICsraW5kZXgp
IHsKICAgICAgICAgaWYgKG1fa2V5VGltZXNbaW5kZXhdID4gcGVyY2VudCkKICAgICAgICAgICAg
IGJyZWFrOwogICAgIH0KQEAgLTQ1Miw3ICs0NTUsNyBAQCBmbG9hdCBTVkdBbmltYXRpb25FbGVt
ZW50OjpjYWxjdWxhdGVQZXJjZW50RnJvbUtleVBvaW50cyhmbG9hdCBwZXJjZW50KSBjb25zdAog
ICAgIAogICAgIGZsb2F0IGtleVBvaW50UGVyY2VudCA9IChwZXJjZW50IC0gZnJvbVBlcmNlbnQp
IC8gKHRvUGVyY2VudCAtIGZyb21QZXJjZW50KTsKICAgICAKLSAgICBpZiAoY2FsY01vZGUoKSA9
PSBDYWxjTW9kZVNwbGluZSkgeworICAgIGlmIChjYWxjTW9kZSgpID09IENhbGNNb2RlU3BsaW5l
ICYmIGluZGV4IDwgbV9rZXlTcGxpbmVzLnNpemUoKSkgewogICAgICAgICBBU1NFUlQobV9rZXlT
cGxpbmVzLnNpemUoKSA9PSBtX2tleVBvaW50cy5zaXplKCkgLSAxKTsKICAgICAgICAga2V5UG9p
bnRQZXJjZW50ID0gY2FsY3VsYXRlUGVyY2VudEZvclNwbGluZShrZXlQb2ludFBlcmNlbnQsIGlu
ZGV4KTsKICAgICB9CkBAIC01MjksNyArNTMyLDcgQEAgdm9pZCBTVkdBbmltYXRpb25FbGVtZW50
OjpjdXJyZW50VmFsdWVzRm9yVmFsdWVzQW5pbWF0aW9uKGZsb2F0IHBlcmNlbnQsIGZsb2F0Jgog
ICAgIEFTU0VSVCh0b1BlcmNlbnQgPiBmcm9tUGVyY2VudCk7CiAgICAgZWZmZWN0aXZlUGVyY2Vu
dCA9IChwZXJjZW50IC0gZnJvbVBlcmNlbnQpIC8gKHRvUGVyY2VudCAtIGZyb21QZXJjZW50KTsK
ICAgICAKLSAgICBpZiAoY2FsY01vZGUgPT0gQ2FsY01vZGVTcGxpbmUpIHsKKyAgICBpZiAoY2Fs
Y01vZGUgPT0gQ2FsY01vZGVTcGxpbmUgJiYgaW5kZXggPCBtX2tleVNwbGluZXMuc2l6ZSgpKSB7
CiAgICAgICAgIEFTU0VSVChtX2tleVNwbGluZXMuc2l6ZSgpID09IG1fdmFsdWVzLnNpemUoKSAt
IDEpOwogICAgICAgICBlZmZlY3RpdmVQZXJjZW50ID0gY2FsY3VsYXRlUGVyY2VudEZvclNwbGlu
ZShlZmZlY3RpdmVQZXJjZW50LCBpbmRleCk7CiAgICAgfQpAQCAtNjAyLDcgKzYwNSw3IEBAIHZv
aWQgU1ZHQW5pbWF0aW9uRWxlbWVudDo6dXBkYXRlQW5pbWF0aW9uKGZsb2F0IHBlcmNlbnQsIHVu
c2lnbmVkIHJlcGVhdCwgU1ZHU01JCiAgICAgICAgIH0KICAgICB9IGVsc2UgaWYgKCFtX2tleVBv
aW50cy5pc0VtcHR5KCkgJiYgbW9kZSAhPSBDYWxjTW9kZVBhY2VkKQogICAgICAgICBlZmZlY3Rp
dmVQZXJjZW50ID0gY2FsY3VsYXRlUGVyY2VudEZyb21LZXlQb2ludHMocGVyY2VudCk7Ci0gICAg
ZWxzZSBpZiAobV9rZXlQb2ludHMuaXNFbXB0eSgpICYmIG1vZGUgPT0gQ2FsY01vZGVTcGxpbmUg
JiYgbV9rZXlUaW1lcy5zaXplKCkgPiAxKQorICAgIGVsc2UgaWYgKG1fa2V5UG9pbnRzLmlzRW1w
dHkoKSAmJiBtb2RlID09IENhbGNNb2RlU3BsaW5lICYmIG1fa2V5VGltZXMuc2l6ZSgpID4gMSAm
JiBtX2tleVNwbGluZXMuc2l6ZSgpID09IG1fa2V5VGltZXMuc2l6ZSgpIC0gMSkKICAgICAgICAg
ZWZmZWN0aXZlUGVyY2VudCA9IGNhbGN1bGF0ZVBlcmNlbnRGb3JTcGxpbmUocGVyY2VudCwgY2Fs
Y3VsYXRlS2V5VGltZXNJbmRleChwZXJjZW50KSk7CiAgICAgZWxzZQogICAgICAgICBlZmZlY3Rp
dmVQZXJjZW50ID0gcGVyY2VudDsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>103397</attachid>
            <date>2011-08-09 14:26:12 -0700</date>
            <delta_ts>2011-08-15 11:44:21 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-65858-20110809172548.patch</filename>
            <type>text/plain</type>
            <size>6123</size>
            <attacher name="Ken Buchanan">kenrb</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTI3MDYKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBlMThiNDA5OTMwNzg4NjY1YTgwMDQy
ZmFlODQ4OTNlMGFlYTk2YTUyLi4wZjFmYjc2NGE5OWQxNWYyODZhYzU2ZWNlNjE2NWQ2MzZhZDA0
NzdhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTEtMDgtMDkgIEtlbiBCdWNoYW5hbiAgPGtl
bnJiQGNocm9taXVtLm9yZz4KKworICAgICAgICBPT0IgUmVhZCBpbiBXZWJDb3JlOjpTVkdBbmlt
YXRpb25FbGVtZW50CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD02NTg1OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIEFkZGVkIHRlc3QgY2FzZSBjb3ZlcmluZyBrZXlTcGxpbmUgYXJyYXkgbGVuZ3RoIHByb2Js
ZW0uCisKKyAgICAgICAgKiBzdmcvYW5pbWF0aW9ucy9hbmltYXRlLWNhbGNNb2RlLXNwbGluZS1j
cmFzaC1iYWQtYXJyYXktbGVuZ3RoLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogc3Zn
L2FuaW1hdGlvbnMvYW5pbWF0ZS1jYWxjTW9kZS1zcGxpbmUtY3Jhc2gtYmFkLWFycmF5LWxlbmd0
aC54aHRtbDogQWRkZWQuCisKIDIwMTEtMDgtMDkgIEFuZGVycyBDYXJsc3NvbiAgPGFuZGVyc2Nh
QGFwcGxlLmNvbT4KIAogICAgICAgICBBZGQgdXBkYXRlZCBtZWRpYSB0ZXN0IHJlc3VsdHMgZm9y
IExpb24uCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvYW5pbWF0aW9ucy9hbmltYXRlLWNh
bGNNb2RlLXNwbGluZS1jcmFzaC1iYWQtYXJyYXktbGVuZ3RoLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL3N2Zy9hbmltYXRpb25zL2FuaW1hdGUtY2FsY01vZGUtc3BsaW5lLWNyYXNoLWJhZC1h
cnJheS1sZW5ndGgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQwMDcyOTgzYTY1MTk2YWNkYTZh
MDAzMWFkYzc0NTRiNzViMDE0NzYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9zdmcv
YW5pbWF0aW9ucy9hbmltYXRlLWNhbGNNb2RlLXNwbGluZS1jcmFzaC1iYWQtYXJyYXktbGVuZ3Ro
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxIEBACitQQVNTLCBpZiBEdW1wUmVuZGVyVHJlZSBkb2Vz
bid0IGNyYXNoLCBhbmQgbm8gYXNzZXJ0aW9uIGluIGEgRGVidWcgYnVpbGQuCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9zdmcvYW5pbWF0aW9ucy9hbmltYXRlLWNhbGNNb2RlLXNwbGluZS1jcmFz
aC1iYWQtYXJyYXktbGVuZ3RoLnhodG1sIGIvTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvYW5p
bWF0ZS1jYWxjTW9kZS1zcGxpbmUtY3Jhc2gtYmFkLWFycmF5LWxlbmd0aC54aHRtbApuZXcgZmls
ZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi45Y2I2YWU0NjYzODI3NmI0M2IwZWYzZDExZjRiZWNmODI0MGFiODc1Ci0tLSAvZGV2L251
bGwKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvYW5pbWF0ZS1jYWxjTW9kZS1zcGxp
bmUtY3Jhc2gtYmFkLWFycmF5LWxlbmd0aC54aHRtbApAQCAtMCwwICsxLDMwIEBACis8aHRtbCB4
bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCI+CisgICAgPGJvZHk+CisgICAgICAg
IDxzdmcgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHht
bG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj4KKyAgICAgICAgICAgIDxw
YXRoCisgICAgICAgICAgICAgICAgZD0ibSA2NS45MTI0NTQsMTQyLjMzNjU3IGMgMzIuOTcxNzI4
LDAuNDc1NDYgNTQuMzUzMDA2LDIuMzE0NTkgNzEuNzMyMDI2LDEwLjg4MDgzIDE3LjM3OTAyLDgu
NTY2MjUgMzQuMjkxMzIsMjIuODQ5NDcgNTEuMjU0MDQsNTAuMjMzNDEgMTMuNzcxODMsMjYuMTM2
MTkgMTYuMzA1ODUsNTYuNTUxNDEgMjQuNDU5Miw4NC43NjQ5MyAxMC42OTE3MywzOC43MTQ5NSAy
MC45MDYwNiw4Mi44NzY1MSA2Ny4yOTQ5Miw4OC45MzE4MiA0MS41MjA3OCwwLjM3ODggNTIuNDEx
NTUsLTQxLjU3OTcxIDU5LjA2ODI4LC02Mi45NjAzOSA2LjQ2ODYxLC0yMC43NzY1IDEwLjY3MzM0
LC01My4yMjc5OCAxNy4zODMxOCwtNzQuMzc0MTQgMTMuMTA0ODMsLTQxLjMwMDA2IDE5LjgxNDM3
LC00NS45NjYzMSAyOS45MTIyOSwtNTcuNzUyMDIiCisgICAgICAgICAgICAgICAgaWQ9InBhdGhf
YSIKKyAgICAgICAgICAgICAgICBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTpub25lO3N0cm9rZS13
aWR0aDowLjI7bWFya2VyLW1pZDpub25lO21hcmtlci1lbmQ6bm9uZSIgLz4KKworICAgICAgICAg
ICAgICAgIDxjaXJjbGUgaWQ9Im15Y2lyY2xlIiBjeD0iMCIgY3k9IjAiIHI9IjEyIiA+CisgICAg
ICAgICAgICAgICAgICAgIDxhbmltYXRlTW90aW9uIGlkPSJBIiBkdXI9IjJzIiBrZXlUaW1lcz0i
MDsgMC42OyAxIgorICAgICAgICAgICAgICAgICAgICAgICAgY2FsY01vZGU9InNwbGluZSIga2V5
U3BsaW5lcz0iMSAwIDEgMDswIDEgMCAxOyIKKyAgICAgICAgICAgICAgICAgICAgICAgIHJlcGVh
dENvdW50PSIxIiByb3RhdGU9ImF1dG8iIGZpbGw9ImZyZWV6ZSI+CisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgPG1wYXRoIHhsaW5rOmhyZWY9IiNwYXRoX2EiIC8+CisgICAgICAgICAgICAg
ICAgICAgIDwvYW5pbWF0ZU1vdGlvbj4KKyAgICAgICAgICAgICAgICA8L2NpcmNsZT4KKyAgICAg
ICAgICAgIDwvc3ZnPgorICAgICAgICA8c2NyaXB0PgorICAgICAgICAgICAgaWYgKHdpbmRvdy5s
YXlvdXRUZXN0Q29udHJvbGxlcikgeworICAgICAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9s
bGVyLmR1bXBBc1RleHQoKTsKKyAgICAgICAgICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53
YWl0VW50aWxEb25lKCk7CisJICAgIH0KKyAgICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24g
KCkgeworICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5ib2R5LmlubmVySFRNTCA9ICJQQVNT
LCBpZiBEdW1wUmVuZGVyVHJlZSBkb2Vzbid0IGNyYXNoLCBhbmQgbm8gYXNzZXJ0aW9uIGluIGEg
RGVidWcgYnVpbGQuIjsKKyAgICAgICAgICAgICAgICAgICAgaWYgKHdpbmRvdy5sYXlvdXRUZXN0
Q29udHJvbGxlcikKKyAgICAgICAgICAgICAgICAgICAgICAgIGxheW91dFRlc3RDb250cm9sbGVy
Lm5vdGlmeURvbmUoKTsKKyAgICAgICAgICAgICAgICB9LCAwKTsKKworICAgICAgICA8L3Njcmlw
dD4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFu
Z2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYmJlZjM0ZTMxNTExYTY4ZWE1
ODAxMDI0MjU2YjkyNTJjYzkxMWQ4NS4uMTUxNjc2ODY0Zjc3ZWViZTQxM2FjODM1MzFiMTMyZDgy
Y2VkYTQxMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDExLTA4LTA5ICBLZW4gQnVj
aGFuYW4gIDxrZW5yYkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgT09CIFJlYWQgaW4gV2ViQ29y
ZTo6U1ZHQW5pbWF0aW9uRWxlbWVudAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9NjU4NTgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICBQb3RlbnRpYWwgY3Jhc2ggcmVzdWx0aW5nIGZyb20gaW5jb3JyZWN0IGtl
eVNwbGluZSBhcnJheSBsZW5ndGhzLiBUaGlzIGZpeCB2YWxpZGF0ZXMgdGhlIGxlbmd0aCBhcyB0
aGUgYXR0cmlidXRlcyBhcmUgcGFyc2VkLgorCisgICAgICAgIFRlc3Q6IHN2Zy9hbmltYXRpb25z
L2FuaW1hdGUtY2FsY01vZGUtc3BsaW5lLWNyYXNoLWJhZC1hcnJheS1sZW5ndGgueGh0bWwKKwor
ICAgICAgICAqIHN2Zy9TVkdBbmltYXRpb25FbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlNWR0FuaW1hdGlvbkVsZW1lbnQ6OnBhcnNlTWFwcGVkQXR0cmlidXRlKToKKyAgICAgICAgKFdl
YkNvcmU6OlNWR0FuaW1hdGlvbkVsZW1lbnQ6OmNhbGN1bGF0ZUtleVRpbWVzSW5kZXgpOgorCiAy
MDExLTA4LTA5ICBNYXJrIEhhaG5lbmJlcmcgIDxtaGFobmVuYmVyZ0BhcHBsZS5jb20+CiAKICAg
ICAgICAgQWRkIFBhcmVudENsYXNzIHR5cGVkZWYgaW4gYWxsIEpTQyBjbGFzc2VzCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQW5pbWF0aW9uRWxlbWVudC5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9zdmcvU1ZHQW5pbWF0aW9uRWxlbWVudC5jcHAKaW5kZXggNzUwN2I1NTRhMzcwZjgw
OWY5MWRiYTZlYWNiOWU3ODQ2ZDNkOWZlZi4uNWY0NWRjYzAxODFkYzJhNThiNTkwMDc2ODcwNTA4
YTE2ODI3Yjk5ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FuaW1hdGlvbkVs
ZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbmltYXRpb25FbGVtZW50LmNw
cApAQCAtMTc2LDYgKzE3NiwxMCBAQCB2b2lkIFNWR0FuaW1hdGlvbkVsZW1lbnQ6OnBhcnNlTWFw
cGVkQXR0cmlidXRlKEF0dHJpYnV0ZSogYXR0cikKIAogICAgIGlmIChhdHRyLT5uYW1lKCkgPT0g
U1ZHTmFtZXM6OmtleVRpbWVzQXR0cikgewogICAgICAgICBwYXJzZUtleVRpbWVzKGF0dHItPnZh
bHVlKCksIG1fa2V5VGltZXMsIHRydWUpOworICAgICAgICBpZiAoY2FsY01vZGUoKSA9PSBDYWxj
TW9kZVNwbGluZSAmJiAhbV9rZXlTcGxpbmVzLmlzRW1wdHkoKSAmJiBtX2tleVNwbGluZXMuc2l6
ZSgpICE9IG1fa2V5VGltZXMuc2l6ZSgpIC0gMSkgeworICAgICAgICAgICAgLy8gVGhlcmUgaXMg
YW4gYXJyYXkgc2l6ZSBtaXNtYXRjaCBiZXR3ZWVuIGtleVNwbGluZXMgYW5kIGtleVRpbWVzCisg
ICAgICAgICAgICBtX2tleVRpbWVzLmNsZWFyKCk7CisgICAgICAgIH0KICAgICAgICAgcmV0dXJu
OwogICAgIH0KIApAQCAtMTkwLDYgKzE5NCwxMCBAQCB2b2lkIFNWR0FuaW1hdGlvbkVsZW1lbnQ6
OnBhcnNlTWFwcGVkQXR0cmlidXRlKEF0dHJpYnV0ZSogYXR0cikKIAogICAgIGlmIChhdHRyLT5u
YW1lKCkgPT0gU1ZHTmFtZXM6OmtleVNwbGluZXNBdHRyKSB7CiAgICAgICAgIHBhcnNlS2V5U3Bs
aW5lcyhhdHRyLT52YWx1ZSgpLCBtX2tleVNwbGluZXMpOworICAgICAgICBpZiAoY2FsY01vZGUo
KSA9PSBDYWxjTW9kZVNwbGluZSAmJiAhbV9rZXlUaW1lcy5pc0VtcHR5KCkgJiYgbV9rZXlTcGxp
bmVzLnNpemUoKSAhPSBtX2tleVRpbWVzLnNpemUoKSAtIDEpIHsKKyAgICAgICAgICAgIC8vIFRo
ZXJlIGlzIGFuIGFycmF5IHNpemUgbWlzbWF0Y2ggYmV0d2VlbiBrZXlTcGxpbmVzIGFuZCBrZXlU
aW1lcworICAgICAgICAgICAgbV9rZXlUaW1lcy5jbGVhcigpOworICAgICAgICB9CiAgICAgICAg
IHJldHVybjsKICAgICB9CiAKQEAgLTQxMyw3ICs0MjEsMTAgQEAgdW5zaWduZWQgU1ZHQW5pbWF0
aW9uRWxlbWVudDo6Y2FsY3VsYXRlS2V5VGltZXNJbmRleChmbG9hdCBwZXJjZW50KSBjb25zdAog
ewogICAgIHVuc2lnbmVkIGluZGV4OwogICAgIHVuc2lnbmVkIGtleVRpbWVzQ291bnQgPSBtX2tl
eVRpbWVzLnNpemUoKTsKLSAgICBmb3IgKGluZGV4ID0gMTsgaW5kZXggPCBrZXlUaW1lc0NvdW50
OyArK2luZGV4KSB7CisgICAgLy8gQ29tcGFyZSBpbmRleCArIDEgdG8ga2V5VGltZXNDb3VudCBi
ZWNhdXNlIHRoZSBsYXN0IGtleVRpbWVzIGVudHJ5IGlzCisgICAgLy8gcmVxdWlyZWQgdG8gYmUg
MSwgYW5kIHBlcmNlbnQgY2FuIG5ldmVyIGV4Y2VlZCAxOyBpLmUuLCB0aGUgc2Vjb25kIGxhc3QK
KyAgICAvLyBrZXlUaW1lcyBlbnRyeSBkZWZpbmVzIHRoZSBiZWdpbm5pbmcgb2YgdGhlIGZpbmFs
IGludGVydmFsCisgICAgZm9yIChpbmRleCA9IDE7IGluZGV4ICsgMSA8IGtleVRpbWVzQ291bnQ7
ICsraW5kZXgpIHsKICAgICAgICAgaWYgKG1fa2V5VGltZXNbaW5kZXhdID4gcGVyY2VudCkKICAg
ICAgICAgICAgIGJyZWFrOwogICAgIH0K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>103936</attachid>
            <date>2011-08-15 11:44:28 -0700</date>
            <delta_ts>2011-08-20 00:31:11 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-65858-20110815144414.patch</filename>
            <type>text/plain</type>
            <size>5931</size>
            <attacher name="Ken Buchanan">kenrb</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTMwNDcKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpvbGQgbW9kZSAxMDA2NDQKbmV3IG1vZGUgMTAw
NzU1CmluZGV4IDNhNjUxZDJlNWEyNGQ5YWM1ZjZkMDkxNzBlOGE1YmQ2MGJiZTZkNjAuLjc1MzFl
YmMwODdlOGEzYzVkYWVkMzZhNGI5ZTcwM2Q2NGNjM2NmYzEKLS0tIGEvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDEx
LTA4LTE1ICBLZW4gQnVjaGFuYW4gIDxrZW5yYkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgT09C
IFJlYWQgaW4gV2ViQ29yZTo6U1ZHQW5pbWF0aW9uRWxlbWVudAorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU4NTgKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRlZCB0ZXN0IGNhc2UgY292ZXJpbmcga2V5
U3BsaW5lIGFycmF5IGxlbmd0aCBwcm9ibGVtLgorCisgICAgICAgICogc3ZnL2FuaW1hdGlvbnMv
YW5pbWF0ZS1jYWxjTW9kZS1zcGxpbmUtY3Jhc2gtYmFkLWFycmF5LWxlbmd0aC1leHBlY3RlZC50
eHQ6IEFkZGVkLgorICAgICAgICAqIHN2Zy9hbmltYXRpb25zL2FuaW1hdGUtY2FsY01vZGUtc3Bs
aW5lLWNyYXNoLWJhZC1hcnJheS1sZW5ndGgueGh0bWw6IEFkZGVkLgorCiAyMDExLTA4LTE1ICBI
YXlhdG8gSXRvICA8aGF5YXRvQGNocm9taXVtLm9yZz4KIAogICAgICAgICBJbXBsZW1lbnQgcHJv
cGVyIGhhbmRsaW5nIG9mIGZvY3VzaW4vZm9jdXNvdXQgZXZlbnRzIGluIHJlZ2FyZCB0byBzaGFk
b3cgRE9NIGJvdW5kYXJpZXMuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvYW5pbWF0aW9u
cy9hbmltYXRlLWNhbGNNb2RlLXNwbGluZS1jcmFzaC1iYWQtYXJyYXktbGVuZ3RoLWV4cGVjdGVk
LnR4dCBiL0xheW91dFRlc3RzL3N2Zy9hbmltYXRpb25zL2FuaW1hdGUtY2FsY01vZGUtc3BsaW5l
LWNyYXNoLWJhZC1hcnJheS1sZW5ndGgtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNzU1
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQwMDcyOTgz
YTY1MTk2YWNkYTZhMDAzMWFkYzc0NTRiNzViMDE0NzYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlv
dXRUZXN0cy9zdmcvYW5pbWF0aW9ucy9hbmltYXRlLWNhbGNNb2RlLXNwbGluZS1jcmFzaC1iYWQt
YXJyYXktbGVuZ3RoLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxIEBACitQQVNTLCBpZiBEdW1wUmVu
ZGVyVHJlZSBkb2Vzbid0IGNyYXNoLCBhbmQgbm8gYXNzZXJ0aW9uIGluIGEgRGVidWcgYnVpbGQu
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9zdmcvYW5pbWF0aW9ucy9hbmltYXRlLWNhbGNNb2Rl
LXNwbGluZS1jcmFzaC1iYWQtYXJyYXktbGVuZ3RoLnhodG1sIGIvTGF5b3V0VGVzdHMvc3ZnL2Fu
aW1hdGlvbnMvYW5pbWF0ZS1jYWxjTW9kZS1zcGxpbmUtY3Jhc2gtYmFkLWFycmF5LWxlbmd0aC54
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi45Y2I2YWU0NjYzODI3NmI0M2IwZWYzZDExZjRiZWNmODI0MGFiODc1
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvc3ZnL2FuaW1hdGlvbnMvYW5pbWF0ZS1j
YWxjTW9kZS1zcGxpbmUtY3Jhc2gtYmFkLWFycmF5LWxlbmd0aC54aHRtbApAQCAtMCwwICsxLDMw
IEBACis8aHRtbCB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCI+CisgICAgPGJv
ZHk+CisgICAgICAgIDxzdmcgdmVyc2lvbj0iMS4xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcv
MjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIj4KKyAg
ICAgICAgICAgIDxwYXRoCisgICAgICAgICAgICAgICAgZD0ibSA2NS45MTI0NTQsMTQyLjMzNjU3
IGMgMzIuOTcxNzI4LDAuNDc1NDYgNTQuMzUzMDA2LDIuMzE0NTkgNzEuNzMyMDI2LDEwLjg4MDgz
IDE3LjM3OTAyLDguNTY2MjUgMzQuMjkxMzIsMjIuODQ5NDcgNTEuMjU0MDQsNTAuMjMzNDEgMTMu
NzcxODMsMjYuMTM2MTkgMTYuMzA1ODUsNTYuNTUxNDEgMjQuNDU5Miw4NC43NjQ5MyAxMC42OTE3
MywzOC43MTQ5NSAyMC45MDYwNiw4Mi44NzY1MSA2Ny4yOTQ5Miw4OC45MzE4MiA0MS41MjA3OCww
LjM3ODggNTIuNDExNTUsLTQxLjU3OTcxIDU5LjA2ODI4LC02Mi45NjAzOSA2LjQ2ODYxLC0yMC43
NzY1IDEwLjY3MzM0LC01My4yMjc5OCAxNy4zODMxOCwtNzQuMzc0MTQgMTMuMTA0ODMsLTQxLjMw
MDA2IDE5LjgxNDM3LC00NS45NjYzMSAyOS45MTIyOSwtNTcuNzUyMDIiCisgICAgICAgICAgICAg
ICAgaWQ9InBhdGhfYSIKKyAgICAgICAgICAgICAgICBzdHlsZT0iZmlsbDpub25lO3N0cm9rZTpu
b25lO3N0cm9rZS13aWR0aDowLjI7bWFya2VyLW1pZDpub25lO21hcmtlci1lbmQ6bm9uZSIgLz4K
KworICAgICAgICAgICAgICAgIDxjaXJjbGUgaWQ9Im15Y2lyY2xlIiBjeD0iMCIgY3k9IjAiIHI9
IjEyIiA+CisgICAgICAgICAgICAgICAgICAgIDxhbmltYXRlTW90aW9uIGlkPSJBIiBkdXI9IjJz
IiBrZXlUaW1lcz0iMDsgMC42OyAxIgorICAgICAgICAgICAgICAgICAgICAgICAgY2FsY01vZGU9
InNwbGluZSIga2V5U3BsaW5lcz0iMSAwIDEgMDswIDEgMCAxOyIKKyAgICAgICAgICAgICAgICAg
ICAgICAgIHJlcGVhdENvdW50PSIxIiByb3RhdGU9ImF1dG8iIGZpbGw9ImZyZWV6ZSI+CisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgPG1wYXRoIHhsaW5rOmhyZWY9IiNwYXRoX2EiIC8+Cisg
ICAgICAgICAgICAgICAgICAgIDwvYW5pbWF0ZU1vdGlvbj4KKyAgICAgICAgICAgICAgICA8L2Np
cmNsZT4KKyAgICAgICAgICAgIDwvc3ZnPgorICAgICAgICA8c2NyaXB0PgorICAgICAgICAgICAg
aWYgKHdpbmRvdy5sYXlvdXRUZXN0Q29udHJvbGxlcikgeworICAgICAgICAgICAgICAgIGxheW91
dFRlc3RDb250cm9sbGVyLmR1bXBBc1RleHQoKTsKKyAgICAgICAgICAgICAgICBsYXlvdXRUZXN0
Q29udHJvbGxlci53YWl0VW50aWxEb25lKCk7CisJICAgIH0KKyAgICAgICAgICAgIHNldFRpbWVv
dXQoZnVuY3Rpb24gKCkgeworICAgICAgICAgICAgICAgICAgICBkb2N1bWVudC5ib2R5LmlubmVy
SFRNTCA9ICJQQVNTLCBpZiBEdW1wUmVuZGVyVHJlZSBkb2Vzbid0IGNyYXNoLCBhbmQgbm8gYXNz
ZXJ0aW9uIGluIGEgRGVidWcgYnVpbGQuIjsKKyAgICAgICAgICAgICAgICAgICAgaWYgKHdpbmRv
dy5sYXlvdXRUZXN0Q29udHJvbGxlcikKKyAgICAgICAgICAgICAgICAgICAgICAgIGxheW91dFRl
c3RDb250cm9sbGVyLm5vdGlmeURvbmUoKTsKKyAgICAgICAgICAgICAgICB9LCAwKTsKKworICAg
ICAgICA8L3NjcmlwdD4KKyAgICA8L2JvZHk+Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKb2xkIG1vZGUgMTAw
NjQ0Cm5ldyBtb2RlIDEwMDc1NQppbmRleCAyM2QwYzg4ZDYzNTIwZWI2YTYwZTE3NDM1ZTJhNDIw
OTNkOGYzOTZjLi4wYzc4MDIzMDAzNjM4ZGM2NWU5YzQwOGRkYWE3OGY5NDgxNzU2ZGYzCi0tLSBh
L1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwxOCBAQAorMjAxMS0wOC0xNSAgS2VuIEJ1Y2hhbmFuICA8a2VucmJAY2hyb21p
dW0ub3JnPgorCisgICAgICAgIE9PQiBSZWFkIGluIFdlYkNvcmU6OlNWR0FuaW1hdGlvbkVsZW1l
bnQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTY1ODU4
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUG90ZW50
aWFsIGNyYXNoIHJlc3VsdGluZyBmcm9tIGluY29ycmVjdCBrZXlTcGxpbmUgYXJyYXkgbGVuZ3Ro
cy4gVGhpcyBmaXggdmFsaWRhdGVzIHRoZSBsZW5ndGggaW4gc3RhcnRlZEFjdGl2ZUludGVydmFs
LgorCisgICAgICAgIFRlc3Q6IHN2Zy9hbmltYXRpb25zL2FuaW1hdGUtY2FsY01vZGUtc3BsaW5l
LWNyYXNoLWJhZC1hcnJheS1sZW5ndGgueGh0bWwKKworICAgICAgICAqIHN2Zy9TVkdBbmltYXRp
b25FbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0FuaW1hdGlvbkVsZW1lbnQ6OnBh
cnNlTWFwcGVkQXR0cmlidXRlKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0FuaW1hdGlvbkVsZW1l
bnQ6OmNhbGN1bGF0ZUtleVRpbWVzSW5kZXgpOgorCiAyMDExLTA4LTEyICBKZWZmIE1pbGxlciAg
PGplZmZtQGFwcGxlLmNvbT4KIAogICAgICAgICBNZWRpYVBsYXllclByaXZhdGVBVkZvdW5kYXRp
b25DRjo6cGxheWVySXRlbVN0YXR1cygpIHNob3VsZCByZXR1cm4gTWVkaWFQbGF5ZXJBVlBsYXll
ckl0ZW1TdGF0dXNEb2VzTm90RXhpc3QgaWYgdGhlcmUgaXMgbm8gQVZQbGF5ZXJJdGVtCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdmcvU1ZHQW5pbWF0aW9uRWxlbWVudC5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9zdmcvU1ZHQW5pbWF0aW9uRWxlbWVudC5jcHAKaW5kZXggNzUwN2I1NTRhMzcw
ZjgwOWY5MWRiYTZlYWNiOWU3ODQ2ZDNkOWZlZi4uMGNhZjQ1YTI0NGQ5YWFkMjk5MTMwYWY0OTc2
ZWVhNDM1OTIwNTEwYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3ZnL1NWR0FuaW1hdGlv
bkVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N2Zy9TVkdBbmltYXRpb25FbGVtZW50
LmNwcApAQCAtNDEzLDcgKzQxMywxMCBAQCB1bnNpZ25lZCBTVkdBbmltYXRpb25FbGVtZW50Ojpj
YWxjdWxhdGVLZXlUaW1lc0luZGV4KGZsb2F0IHBlcmNlbnQpIGNvbnN0CiB7CiAgICAgdW5zaWdu
ZWQgaW5kZXg7CiAgICAgdW5zaWduZWQga2V5VGltZXNDb3VudCA9IG1fa2V5VGltZXMuc2l6ZSgp
OwotICAgIGZvciAoaW5kZXggPSAxOyBpbmRleCA8IGtleVRpbWVzQ291bnQ7ICsraW5kZXgpIHsK
KyAgICAvLyBDb21wYXJlIGluZGV4ICsgMSB0byBrZXlUaW1lc0NvdW50IGJlY2F1c2UgdGhlIGxh
c3Qga2V5VGltZXMgZW50cnkgaXMKKyAgICAvLyByZXF1aXJlZCB0byBiZSAxLCBhbmQgcGVyY2Vu
dCBjYW4gbmV2ZXIgZXhjZWVkIDE7IGkuZS4sIHRoZSBzZWNvbmQgbGFzdAorICAgIC8vIGtleVRp
bWVzIGVudHJ5IGRlZmluZXMgdGhlIGJlZ2lubmluZyBvZiB0aGUgZmluYWwgaW50ZXJ2YWwKKyAg
ICBmb3IgKGluZGV4ID0gMTsgaW5kZXggKyAxIDwga2V5VGltZXNDb3VudDsgKytpbmRleCkgewog
ICAgICAgICBpZiAobV9rZXlUaW1lc1tpbmRleF0gPiBwZXJjZW50KQogICAgICAgICAgICAgYnJl
YWs7CiAgICAgfQpAQCAtNTUxLDcgKzU1NCw4IEBAIHZvaWQgU1ZHQW5pbWF0aW9uRWxlbWVudDo6
c3RhcnRlZEFjdGl2ZUludGVydmFsKCkKICAgICBpZiAoY2FsY01vZGUgPT0gQ2FsY01vZGVTcGxp
bmUpIHsKICAgICAgICAgdW5zaWduZWQgc3BsaW5lc0NvdW50ID0gbV9rZXlTcGxpbmVzLnNpemUo
KSArIDE7CiAgICAgICAgIGlmICgoZmFzdEhhc0F0dHJpYnV0ZShTVkdOYW1lczo6a2V5UG9pbnRz
QXR0cikgJiYgbV9rZXlQb2ludHMuc2l6ZSgpICE9IHNwbGluZXNDb3VudCkKLSAgICAgICAgICAg
IHx8IChhbmltYXRpb25Nb2RlID09IFZhbHVlc0FuaW1hdGlvbiAmJiBtX3ZhbHVlcy5zaXplKCkg
IT0gc3BsaW5lc0NvdW50KSkKKyAgICAgICAgICAgIHx8IChhbmltYXRpb25Nb2RlID09IFZhbHVl
c0FuaW1hdGlvbiAmJiBtX3ZhbHVlcy5zaXplKCkgIT0gc3BsaW5lc0NvdW50KQorICAgICAgICAg
ICAgfHwgKGZhc3RIYXNBdHRyaWJ1dGUoU1ZHTmFtZXM6OmtleVRpbWVzQXR0cikgJiYgbV9rZXlU
aW1lcy5zaXplKCkgIT0gc3BsaW5lc0NvdW50KSkKICAgICAgICAgICAgIHJldHVybjsKICAgICB9
CiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>