<?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>38963</bug_id>
          
          <creation_ts>2010-05-11 18:56:27 -0700</creation_ts>
          <short_desc>Animation keyframe timing functions are applying incorrectly</short_desc>
          <delta_ts>2010-06-12 15:17:24 -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>CSS</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Dean Jackson">dino</reporter>
          <assigned_to name="Dean Jackson">dino</assigned_to>
          <cc>adele</cc>
    
    <cc>cmarrin</cc>
    
    <cc>ml</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>224327</commentid>
    <comment_count>0</comment_count>
      <attachid>55795</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2010-05-11 18:56:27 -0700</bug_when>
    <thetext>Created attachment 55795
manual test

The timing functions within animations are not applying correctly. See the testcase - I&apos;m noticing a few errors:

- the tf rule on a 0%/from keyframe is applying to the whole animation, if no other keyframes specify tfs
- the tf rule on a 0%/from keyframe is NOT applying to that keyframe when the animation is iterating backwards</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>224506</commentid>
    <comment_count>1</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2010-05-12 03:40:11 -0700</bug_when>
    <thetext>&lt;rdar://problem/7966984&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>225009</commentid>
    <comment_count>2</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2010-05-12 17:50:57 -0700</bug_when>
    <thetext>Just making notes to myself here.

KeyframeAnimation::getKeyframeAnimationInterval()

const TimingFunction* timingFunction = 0;
    if (fromStyle-&gt;animations() &amp;&amp; fromStyle-&gt;animations()-&gt;size() &gt; 0) {

This means that:
eg. 
0% { animation-timing-function: linear; }
20% { animation-timing-function: ease-in; }

and you are currently at 10%, going forwards, then it should use the linear function (sort-of opposite of what transitions do)

and when you are at the same position going backwards, the same timing function (linear) applies. Even though technically the from and to have swapped, it&apos;s just that the animation is playing backwards, not that different rules apply.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>225012</commentid>
    <comment_count>3</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2010-05-12 17:55:01 -0700</bug_when>
    <thetext>This means part of my test case is wrong</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>229129</commentid>
    <comment_count>4</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2010-05-21 15:25:23 -0700</bug_when>
    <thetext>The problem is that when we clone the RenderStyle for each keyframe, the AnimationList is new, but it still points to the same animation elements. This means that when a later keyframe sets the timing function, it overwrites the timing function for all previous keyframes.

I&apos;ve attached two samples which show this in action.

Also, here is a patch to fix it. My answer was to make sure that there was a real copy done on AnimationList, rather than a shallow one. I&apos;m not sure this is the best way - I couldn&apos;t find other places that trigger this code (only when applyDeclarations is called from within CSSStyleSelector::keyframeStylesForAnimation), so this isn&apos;t a review request. If it looks ok, I&apos;ll write a real regression test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>229130</commentid>
    <comment_count>5</comment_count>
      <attachid>56753</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2010-05-21 15:25:53 -0700</bug_when>
    <thetext>Created attachment 56753
example with HW anim</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>229131</commentid>
    <comment_count>6</comment_count>
      <attachid>56754</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2010-05-21 15:26:18 -0700</bug_when>
    <thetext>Created attachment 56754
Example with SW anim</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>229133</commentid>
    <comment_count>7</comment_count>
      <attachid>56755</attachid>
    <who name="Dean Jackson">dino</who>
    <bug_when>2010-05-21 15:27:02 -0700</bug_when>
    <thetext>Created attachment 56755
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>229156</commentid>
    <comment_count>8</comment_count>
      <attachid>56755</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2010-05-21 16:02:54 -0700</bug_when>
    <thetext>Comment on attachment 56755
patch

&gt;  class AnimationList : public FastAllocBase {
&gt;  public:
&gt; +
&gt; +    AnimationList() {}

Not sure if you need that.

Otherwise I think this patch is basically correct. I do wonder if m_animations should be a DataRef in StyleRareNonInheritedData though.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>229457</commentid>
    <comment_count>9</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2010-05-23 05:16:36 -0700</bug_when>
    <thetext>&gt; &gt;  class AnimationList : public FastAllocBase {
&gt; &gt;  public:
&gt; &gt; +
&gt; &gt; +    AnimationList() {}

&gt; Not sure if you need that.

Yeah, I did. There was somewhere (can&apos;t remember) that used the default constructor. Once I added the copy constructor the compile failed because it wasn&apos;t generating the parameterless version.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>231486</commentid>
    <comment_count>10</comment_count>
    <who name="Adele Peterson">adele</who>
    <bug_when>2010-05-27 15:39:51 -0700</bug_when>
    <thetext>Dean, you should post this for review someday.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>234674</commentid>
    <comment_count>11</comment_count>
      <attachid>57977</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2010-06-06 10:50:11 -0700</bug_when>
    <thetext>Created attachment 57977
Testcase</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>234675</commentid>
    <comment_count>12</comment_count>
      <attachid>57978</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2010-06-06 10:57:23 -0700</bug_when>
    <thetext>Created attachment 57978
Testcase that should work, but doesn&apos;t

For some reason this testcase doesn&apos;t work with or without the fix. Weird.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>237183</commentid>
    <comment_count>13</comment_count>
      <attachid>58531</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2010-06-11 17:38:12 -0700</bug_when>
    <thetext>Created attachment 58531
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>237185</commentid>
    <comment_count>14</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2010-06-11 17:38:52 -0700</bug_when>
    <thetext>I was not able to reproduce the issue with the transform testcase.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>237210</commentid>
    <comment_count>15</comment_count>
      <attachid>58531</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2010-06-11 18:49:49 -0700</bug_when>
    <thetext>Comment on attachment 58531
Patch

&gt; +    AnimationList() {}
&gt; +    AnimationList(const AnimationList&amp; o);

We normally put a space between the braces in &quot;{}&quot;.

There’s no need for the argument name &quot;o&quot;. (In the definition we prefer names to letters for arguments, so there other would be better then o.)

It’s best practice to also defined an assignment operator if you define a copy constructor. There are three ways you can deal with this:

    1) Declare a private assignment operator and do not define it.

    2) Use Noncopyable to do the above, but this will require a change to the copy constructor.

    3) Define a public assignment operator that uses swap (see &lt;http://www.gotw.ca/gotw/059.htm&gt;).

        AnimationList&amp; operator=(const AnimationList&amp; other)
        {
            AnimationList copy(other);
            swap(copy);
            return *this;
        }

If you do (3) we also need to write the swap function, but that is typically simple. I suggest doing either (1) or (3) rather than checking this in as-is.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>237344</commentid>
    <comment_count>16</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2010-06-12 15:17:24 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/61068</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="0"
              isprivate="0"
          >
            <attachid>55795</attachid>
            <date>2010-05-11 18:56:27 -0700</date>
            <delta_ts>2010-05-21 15:26:18 -0700</delta_ts>
            <desc>manual test</desc>
            <filename>case1.html</filename>
            <type>text/html</type>
            <size>2945</size>
            <attacher name="Dean Jackson">dino</attacher>
            
              <data encoding="base64">PGh0bWw+CjxoZWFkPgo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgpkaXYgewogIHBvc2l0aW9uOiBy
ZWxhdGl2ZTsKICB3aWR0aDogMjAwcHg7CiAgaGVpZ2h0OiAxMDBweDsKfQoKLmJvdW5jZS0xIHsK
ICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZS0xOwogICAgLXdlYmtpdC1hbmltYXRp
b24tZHVyYXRpb246IDVzOwogICAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBp
bmZpbml0ZTsKICAgIGJhY2tncm91bmQtY29sb3I6ICM3N2Y7Cn0KCkAtd2Via2l0LWtleWZyYW1l
cyBib3VuY2UtMSB7CiAgICBmcm9tIHsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNs
YXRlM2QoMHB4LCAwcHgsIDBweCk7CiAgICB9CiAgICA1MCUgewogICAgICAgIC13ZWJraXQtdHJh
bnNmb3JtOiB0cmFuc2xhdGUzZCg1MDBweCwgMHB4LCAwcHgpOwogICAgfQogICAgdG8gewogICAg
ICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwcHgsIDBweCwgMHB4KTsKICAgIH0K
fQoKLmJvdW5jZS0yIHsKICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZS0yOwogICAg
LXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDVzOwogICAgLXdlYmtpdC1hbmltYXRpb24taXRl
cmF0aW9uLWNvdW50OiBpbmZpbml0ZTsKICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5j
dGlvbjogbGluZWFyOwogICAgYmFja2dyb3VuZC1jb2xvcjogIzdmNzsKfQoKQC13ZWJraXQta2V5
ZnJhbWVzIGJvdW5jZS0yIHsKICAgIGZyb20gewogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0
cmFuc2xhdGUzZCgwcHgsIDBweCwgMHB4KTsKICAgIH0KICAgIDUwJSB7CiAgICAgICAgLXdlYmtp
dC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDUwMHB4LCAwcHgsIDBweCk7CiAgICB9CiAgICB0byB7
CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDBweCwgMHB4LCAwcHgpOwog
ICAgfQp9CgouYm91bmNlLTMgewogICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlLTM7
CiAgICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogNXM7CiAgICAtd2Via2l0LWFuaW1hdGlv
bi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlOwogICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5n
LWZ1bmN0aW9uOiBlYXNlOwogICAgYmFja2dyb3VuZC1jb2xvcjogI2Y3NzsKfQoKQC13ZWJraXQt
a2V5ZnJhbWVzIGJvdW5jZS0zIHsKICAgIGZyb20gewogICAgICAgIC13ZWJraXQtdHJhbnNmb3Jt
OiB0cmFuc2xhdGUzZCgwcHgsIDBweCwgMHB4KTsKICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi10
aW1pbmctZnVuY3Rpb246IGxpbmVhcjsKICAgIH0KICAgIDUwJSB7CiAgICAgICAgLXdlYmtpdC10
cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDUwMHB4LCAwcHgsIDBweCk7CiAgICB9CiAgICB0byB7CiAg
ICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDBweCwgMHB4LCAwcHgpOwogICAg
fQp9CgouYm91bmNlLTQgewogICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlLTQ7CiAg
ICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogNXM7CiAgICAtd2Via2l0LWFuaW1hdGlvbi1p
dGVyYXRpb24tY291bnQ6IGluZmluaXRlOwogICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1
bmN0aW9uOiBlYXNlLWluLW91dDsKICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjc7Cn0KCkAtd2Vi
a2l0LWtleWZyYW1lcyBib3VuY2UtNCB7CiAgICBmcm9tIHsKICAgICAgICAtd2Via2l0LXRyYW5z
Zm9ybTogdHJhbnNsYXRlM2QoMHB4LCAwcHgsIDBweCk7CiAgICB9CiAgICA1MCUgewogICAgICAg
IC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg1MDBweCwgMHB4LCAwcHgpOwogICAgfQog
ICAgdG8gewogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwcHgsIDBweCwg
MHB4KTsKICAgIH0KfQoKLmJvdW5jZS01IHsKICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJv
dW5jZS01OwogICAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDVzOwogICAgLXdlYmtpdC1h
bmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTsKICAgIGJhY2tncm91bmQtY29sb3I6
ICNmN2Y7Cn0KCkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2UtNSB7CiAgICBmcm9tIHsKICAgICAg
ICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMHB4LCAwcHgsIDBweCk7CiAgICAgICAg
LXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7CiAgICB9CiAgICA1MCUg
ewogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg1MDBweCwgMHB4LCAwcHgp
OwogICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7
CiAgICB9CiAgICB0byB7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDBw
eCwgMHB4LCAwcHgpOwogICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjog
ZWFzZS1pbi1vdXQ7CiAgICB9Cn0KCgo8L3N0eWxlPgo8L2hlYWQ+Cjxib2R5Pgo8ZGl2IGNsYXNz
PSJib3VuY2UtMSI+ZWFjaCBkaXJlY3Rpb24gc2hvdWxkIGJlICJlYXNlIjwvZGl2Pgo8ZGl2IGNs
YXNzPSJib3VuY2UtMiI+ZWFjaCBkaXJlY3Rpb24gc2hvdWxkIGJlICJsaW5lYXIiPC9kaXY+Cjxk
aXYgY2xhc3M9ImJvdW5jZS0zIj5zaG91bGQgYmUgdGhlIHNhbWUgYXMgdGhlIGZpcnN0IGJveCAt
ICJlYXNlIjwvZGl2Pgo8ZGl2IGNsYXNzPSJib3VuY2UtNCI+c2hvdWxkIGJvdW5jZSBzbW9vdGhs
eSAtICJlYXNlLWluLW91dCI8L2Rpdj4KPGRpdiBjbGFzcz0iYm91bmNlLTUiPnNob3VsZCBOT1Qg
Ym91bmNlIHNtb290aGx5IC0gImVhc2UtaW4tb3V0IiBidXQgd2l0aCBhICJsaW5lYXIiIG9uIHRo
ZSAwJSBmb3IgcmV0dXJuPC9kaXY+CjwvYm9keT4KPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>56753</attachid>
            <date>2010-05-21 15:25:53 -0700</date>
            <delta_ts>2010-05-21 15:25:53 -0700</delta_ts>
            <desc>example with HW anim</desc>
            <filename>case1.html</filename>
            <type>text/html</type>
            <size>3060</size>
            <attacher name="Dean Jackson">dino</attacher>
            
              <data encoding="base64">PGh0bWw+CjxoZWFkPgo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgpkaXYgewogIHBvc2l0aW9uOiBy
ZWxhdGl2ZTsKICB3aWR0aDogMjAwcHg7CiAgaGVpZ2h0OiAxMDBweDsKfQoKLmJvdW5jZS0xIHsK
ICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZS0xOwogICAgLXdlYmtpdC1hbmltYXRp
b24tZHVyYXRpb246IDVzOwogICAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBp
bmZpbml0ZTsKICAgIGJhY2tncm91bmQtY29sb3I6ICM3N2Y7Cn0KCkAtd2Via2l0LWtleWZyYW1l
cyBib3VuY2UtMSB7CiAgICBmcm9tIHsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNs
YXRlM2QoMHB4LCAwcHgsIDBweCk7CiAgICB9CiAgICA1MCUgewogICAgICAgIC13ZWJraXQtdHJh
bnNmb3JtOiB0cmFuc2xhdGUzZCg1MDBweCwgMHB4LCAwcHgpOwogICAgfQogICAgdG8gewogICAg
ICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwcHgsIDBweCwgMHB4KTsKICAgIH0K
fQoKLmJvdW5jZS0yIHsKICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZS0yOwogICAg
LXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDVzOwogICAgLXdlYmtpdC1hbmltYXRpb24taXRl
cmF0aW9uLWNvdW50OiBpbmZpbml0ZTsKICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5j
dGlvbjogbGluZWFyOwogICAgYmFja2dyb3VuZC1jb2xvcjogIzdmNzsKfQoKQC13ZWJraXQta2V5
ZnJhbWVzIGJvdW5jZS0yIHsKICAgIGZyb20gewogICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0
cmFuc2xhdGUzZCgwcHgsIDBweCwgMHB4KTsKICAgIH0KICAgIDUwJSB7CiAgICAgICAgLXdlYmtp
dC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDUwMHB4LCAwcHgsIDBweCk7CiAgICB9CiAgICB0byB7
CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDBweCwgMHB4LCAwcHgpOwog
ICAgfQp9CgouYm91bmNlLTMgewogICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlLTM7
CiAgICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogNXM7CiAgICAtd2Via2l0LWFuaW1hdGlv
bi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlOwogICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5n
LWZ1bmN0aW9uOiBlYXNlLWluLW91dDsKICAgIGJhY2tncm91bmQtY29sb3I6ICNmNzc7Cn0KCkAt
d2Via2l0LWtleWZyYW1lcyBib3VuY2UtMyB7CiAgICBmcm9tIHsKICAgICAgICAtd2Via2l0LXRy
YW5zZm9ybTogdHJhbnNsYXRlM2QoMHB4LCAwcHgsIDBweCk7CiAgICAgICAgLXdlYmtpdC1hbmlt
YXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlOwogICAgfQogICAgNTAlIHsKICAgICAgICAtd2Vi
a2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoNTAwcHgsIDBweCwgMHB4KTsKICAgICAgICAtd2Vi
a2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2U7CiAgICB9CiAgICB0byB7CiAgICAg
ICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDBweCwgMHB4LCAwcHgpOwogICAgICAg
IC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyOwogICAgfQp9CgouYm91
bmNlLTQgewogICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlLTQ7CiAgICAtd2Via2l0
LWFuaW1hdGlvbi1kdXJhdGlvbjogNXM7CiAgICAtd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24t
Y291bnQ6IGluZmluaXRlOwogICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBl
YXNlLWluLW91dDsKICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjc7Cn0KCkAtd2Via2l0LWtleWZy
YW1lcyBib3VuY2UtNCB7CiAgICBmcm9tIHsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJh
bnNsYXRlM2QoMHB4LCAwcHgsIDBweCk7CiAgICB9CiAgICA1MCUgewogICAgICAgIC13ZWJraXQt
dHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg1MDBweCwgMHB4LCAwcHgpOwogICAgfQogICAgdG8gewog
ICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwcHgsIDBweCwgMHB4KTsKICAg
IH0KfQoKLmJvdW5jZS01IHsKICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZS01Owog
ICAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDVzOwogICAgLXdlYmtpdC1hbmltYXRpb24t
aXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTsKICAgIGJhY2tncm91bmQtY29sb3I6ICNmN2Y7Cn0K
CkAtd2Via2l0LWtleWZyYW1lcyBib3VuY2UtNSB7CiAgICBmcm9tIHsKICAgICAgICAtd2Via2l0
LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMHB4LCAwcHgsIDBweCk7CiAgICAgICAgLXdlYmtpdC1h
bmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7CiAgICB9CiAgICA1MCUgewogICAgICAg
IC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCg1MDBweCwgMHB4LCAwcHgpOwogICAgICAg
IC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7CiAgICB9CiAg
ICB0byB7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDBweCwgMHB4LCAw
cHgpOwogICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1v
dXQ7CiAgICB9Cn0KCgo8L3N0eWxlPgo8L2hlYWQ+Cjxib2R5PgogIDxkaXYgY2xhc3M9ImJvdW5j
ZS0xIj5lYWNoIGRpcmVjdGlvbiBzaG91bGQgYmUgImVhc2UiPC9kaXY+CiAgPGRpdiBjbGFzcz0i
Ym91bmNlLTIiPmVhY2ggZGlyZWN0aW9uIHNob3VsZCBiZSAibGluZWFyIjwvZGl2PgogIDxkaXYg
Y2xhc3M9ImJvdW5jZS0zIj5zaG91bGQgYmUgdGhlIHNhbWUgYXMgdGhlIGZpcnN0IGJveCAtICJl
YXNlIjwvZGl2PgogIDxkaXYgY2xhc3M9ImJvdW5jZS00Ij5zaG91bGQgYm91bmNlIHNtb290aGx5
IC0gImVhc2UtaW4tb3V0IjwvZGl2PgogIDxkaXYgY2xhc3M9ImJvdW5jZS01Ij5zaG91bGQgTk9U
IGJvdW5jZSBzbW9vdGhseSAtICJsaW5lYXIiIG9uIHRoZSB3YXkgb3V0LCAiZWFzZS1pbi1vdXQi
IG9uIHRoZSB3YXkgYmFjazwvZGl2Pgo8L2JvZHk+CjwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>56754</attachid>
            <date>2010-05-21 15:26:18 -0700</date>
            <delta_ts>2010-05-21 15:26:18 -0700</delta_ts>
            <desc>Example with SW anim</desc>
            <filename>case2.html</filename>
            <type>text/html</type>
            <size>2500</size>
            <attacher name="Dean Jackson">dino</attacher>
            
              <data encoding="base64">PGh0bWw+CjxoZWFkPgo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgpkaXYgewogIHBvc2l0aW9uOiBy
ZWxhdGl2ZTsKICB3aWR0aDogMjAwcHg7CiAgaGVpZ2h0OiAxMDBweDsKfQoKLmJvdW5jZS0xIHsK
ICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5jZS0xOwogICAgLXdlYmtpdC1hbmltYXRp
b24tZHVyYXRpb246IDVzOwogICAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBp
bmZpbml0ZTsKICAgIGJhY2tncm91bmQtY29sb3I6ICM3N2Y7Cn0KCkAtd2Via2l0LWtleWZyYW1l
cyBib3VuY2UtMSB7CiAgICBmcm9tIHsKICAgICAgICBsZWZ0OiAwOwogICAgfQogICAgNTAlIHsK
ICAgICAgICBsZWZ0OiA1MDBweDsKICAgIH0KICAgIHRvIHsKICAgICAgICBsZWZ0OiAwOwogICAg
fQp9CgouYm91bmNlLTIgewogICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlLTI7CiAg
ICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogNXM7CiAgICAtd2Via2l0LWFuaW1hdGlvbi1p
dGVyYXRpb24tY291bnQ6IGluZmluaXRlOwogICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1
bmN0aW9uOiBsaW5lYXI7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjN2Y3Owp9CgpALXdlYmtpdC1r
ZXlmcmFtZXMgYm91bmNlLTIgewogICAgZnJvbSB7CiAgICAgICAgbGVmdDogMDsKICAgIH0KICAg
IDUwJSB7CiAgICAgICAgbGVmdDogNTAwcHg7CiAgICB9CiAgICB0byB7CiAgICAgICAgbGVmdDog
MDsKICAgIH0KfQoKLmJvdW5jZS0zIHsKICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGJvdW5j
ZS0zOwogICAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IDVzOwogICAgLXdlYmtpdC1hbmlt
YXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTsKICAgIC13ZWJraXQtYW5pbWF0aW9uLXRp
bWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7CiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjc3Owp9
CgpALXdlYmtpdC1rZXlmcmFtZXMgYm91bmNlLTMgewogICAgZnJvbSB7CiAgICAgICAgbGVmdDog
MDsKICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2U7CiAgICB9
CiAgICA1MCUgewogICAgICAgIGxlZnQ6IDUwMHB4OwogICAgICAgIC13ZWJraXQtYW5pbWF0aW9u
LXRpbWluZy1mdW5jdGlvbjogZWFzZTsKICAgIH0KICAgIHRvIHsKICAgICAgICBsZWZ0OiAwOwog
ICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyOwogICAgfQp9
CgouYm91bmNlLTQgewogICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91bmNlLTQ7CiAgICAt
d2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogNXM7CiAgICAtd2Via2l0LWFuaW1hdGlvbi1pdGVy
YXRpb24tY291bnQ6IGluZmluaXRlOwogICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0
aW9uOiBlYXNlLWluLW91dDsKICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjc7Cn0KCkAtd2Via2l0
LWtleWZyYW1lcyBib3VuY2UtNCB7CiAgICBmcm9tIHsKICAgICAgICBsZWZ0OiAwOwogICAgfQog
ICAgNTAlIHsKICAgICAgICBsZWZ0OiA1MDBweDsKICAgIH0KICAgIHRvIHsKICAgICAgICBsZWZ0
OiAwOwogICAgfQp9CgouYm91bmNlLTUgewogICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogYm91
bmNlLTU7CiAgICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogNXM7CiAgICAtd2Via2l0LWFu
aW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlOwogICAgYmFja2dyb3VuZC1jb2xvcjog
I2Y3ZjsKfQoKQC13ZWJraXQta2V5ZnJhbWVzIGJvdW5jZS01IHsKICAgIGZyb20gewogICAgICAg
IGxlZnQ6IDA7CiAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5l
YXI7CiAgICB9CiAgICA1MCUgewogICAgICAgIGxlZnQ6IDUwMHB4OwogICAgICAgIC13ZWJraXQt
YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQ7CiAgICB9CiAgICB0byB7CiAg
ICAgICAgbGVmdDogMDsKICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246
IGVhc2UtaW4tb3V0OwogICAgfQp9CgoKPC9zdHlsZT4KPC9oZWFkPgo8Ym9keT4KICA8ZGl2IGNs
YXNzPSJib3VuY2UtMSI+ZWFjaCBkaXJlY3Rpb24gc2hvdWxkIGJlICJlYXNlIjwvZGl2PgogIDxk
aXYgY2xhc3M9ImJvdW5jZS0yIj5lYWNoIGRpcmVjdGlvbiBzaG91bGQgYmUgImxpbmVhciI8L2Rp
dj4KICA8ZGl2IGNsYXNzPSJib3VuY2UtMyI+c2hvdWxkIGJlIHRoZSBzYW1lIGFzIHRoZSBmaXJz
dCBib3ggLSAiZWFzZSI8L2Rpdj4KICA8ZGl2IGNsYXNzPSJib3VuY2UtNCI+c2hvdWxkIGJvdW5j
ZSBzbW9vdGhseSAtICJlYXNlLWluLW91dCI8L2Rpdj4KICA8ZGl2IGNsYXNzPSJib3VuY2UtNSI+
c2hvdWxkIE5PVCBib3VuY2Ugc21vb3RobHkgLSAibGluZWFyIiBvbiB0aGUgd2F5IG91dCwgImVh
c2UtaW4tb3V0IiBvbiB0aGUgd2F5IGJhY2s8L2Rpdj4KPC9ib2R5Pgo8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>56755</attachid>
            <date>2010-05-21 15:27:02 -0700</date>
            <delta_ts>2010-06-11 17:38:09 -0700</delta_ts>
            <desc>patch</desc>
            <filename>keyframe-tf.patch</filename>
            <type>text/plain</type>
            <size>1811</size>
            <attacher name="Dean Jackson">dino</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vYW5pbWF0aW9uL0FuaW1hdGlvbi5oIGIvV2Vi
Q29yZS9wbGF0Zm9ybS9hbmltYXRpb24vQW5pbWF0aW9uLmgKaW5kZXggYTYyOWY0My4uY2FiYjBl
YiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9hbmltYXRpb24vQW5pbWF0aW9uLmgKKysr
IGIvV2ViQ29yZS9wbGF0Zm9ybS9hbmltYXRpb24vQW5pbWF0aW9uLmgKQEAgLTM5LDcgKzM5LDgg
QEAgY2xhc3MgQW5pbWF0aW9uIDogcHVibGljIFJlZkNvdW50ZWQ8QW5pbWF0aW9uPiB7CiBwdWJs
aWM6CiAgICAgfkFuaW1hdGlvbigpOwogCi0gICAgc3RhdGljIFBhc3NSZWZQdHI8QW5pbWF0aW9u
PiBjcmVhdGUoKSB7IHJldHVybiBhZG9wdFJlZihuZXcgQW5pbWF0aW9uKTsgfTsKKyAgICBzdGF0
aWMgUGFzc1JlZlB0cjxBbmltYXRpb24+IGNyZWF0ZSgpIHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBB
bmltYXRpb24pOyB9CisgICAgc3RhdGljIFBhc3NSZWZQdHI8QW5pbWF0aW9uPiBjcmVhdGUoY29u
c3QgQW5pbWF0aW9uKiBvKSB7IHJldHVybiBhZG9wdFJlZihuZXcgQW5pbWF0aW9uKCpvKSk7IH0K
ICAgICAKICAgICBib29sIGlzRGVsYXlTZXQoKSBjb25zdCB7IHJldHVybiBtX2RlbGF5U2V0OyB9
CiAgICAgYm9vbCBpc0RpcmVjdGlvblNldCgpIGNvbnN0IHsgcmV0dXJuIG1fZGlyZWN0aW9uU2V0
OyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2FuaW1hdGlvbi9BbmltYXRpb25MaXN0
LmNwcCBiL1dlYkNvcmUvcGxhdGZvcm0vYW5pbWF0aW9uL0FuaW1hdGlvbkxpc3QuY3BwCmluZGV4
IGJkNWZkZWUuLmMyZGIxMzUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vYW5pbWF0aW9u
L0FuaW1hdGlvbkxpc3QuY3BwCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vYW5pbWF0aW9uL0FuaW1h
dGlvbkxpc3QuY3BwCkBAIC0zMSw2ICszMSwxMyBAQCBpZiAoaSA8IHNpemUoKSAmJiBpICE9IDAp
IHsgXAogICAgICAgICBhbmltYXRpb24oaSktPnByb3BTZXQoYW5pbWF0aW9uKGopLT5wcm9wR2V0
KCkpOyBcCiB9CiAKK0FuaW1hdGlvbkxpc3Q6OkFuaW1hdGlvbkxpc3QoY29uc3QgQW5pbWF0aW9u
TGlzdCYgbykKK3sKKyAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IG8uc2l6ZSgpOyArK2kpIHsK
KyAgICAgICAgbV9hbmltYXRpb25zLmFwcGVuZChBbmltYXRpb246OmNyZWF0ZShvLmFuaW1hdGlv
bihpKSkpOworICAgIH0KK30KKwogdm9pZCBBbmltYXRpb25MaXN0OjpmaWxsVW5zZXRQcm9wZXJ0
aWVzKCkKIHsKICAgICBzaXplX3QgaTsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vYW5p
bWF0aW9uL0FuaW1hdGlvbkxpc3QuaCBiL1dlYkNvcmUvcGxhdGZvcm0vYW5pbWF0aW9uL0FuaW1h
dGlvbkxpc3QuaAppbmRleCBhZmFkNDIyLi4xNDIxZmJhIDEwMDY0NAotLS0gYS9XZWJDb3JlL3Bs
YXRmb3JtL2FuaW1hdGlvbi9BbmltYXRpb25MaXN0LmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9h
bmltYXRpb24vQW5pbWF0aW9uTGlzdC5oCkBAIC0zMyw2ICszMywxMCBAQCBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKIGNsYXNzIEFuaW1hdGlvbkxpc3QgOiBwdWJsaWMgRmFzdEFsbG9jQmFzZSB7CiBw
dWJsaWM6CisKKyAgICBBbmltYXRpb25MaXN0KCkge30KKyAgICBBbmltYXRpb25MaXN0KGNvbnN0
IEFuaW1hdGlvbkxpc3QmIG8pOworCiAgICAgdm9pZCBmaWxsVW5zZXRQcm9wZXJ0aWVzKCk7CiAg
ICAgYm9vbCBvcGVyYXRvcj09KGNvbnN0IEFuaW1hdGlvbkxpc3QmIG8pIGNvbnN0OwogICAgIGJv
b2wgb3BlcmF0b3IhPShjb25zdCBBbmltYXRpb25MaXN0JiBvKSBjb25zdAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>57977</attachid>
            <date>2010-06-06 10:50:11 -0700</date>
            <delta_ts>2010-06-06 10:50:11 -0700</delta_ts>
            <desc>Testcase</desc>
            <filename>keyframe-timing-functions2.html</filename>
            <type>text/html</type>
            <size>1508</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMDEgVHJhbnNpdGlvbmFs
Ly9FTiIKICAgImh0dHA6Ly93d3cudzMub3JnL1RSL2h0bWw0L2xvb3NlLmR0ZCI+Cgo8aHRtbCBs
YW5nPSJlbiI+CjxoZWFkPgogIDxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVu
dD0idGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04Ij4KICA8dGl0bGU+S2V5ZnJhbWUgVGltaW5nIEZ1
bmN0aW9uczwvdGl0bGU+CiAgPHN0eWxlIHR5cGU9InRleHQvY3NzIiBtZWRpYT0ic2NyZWVuIj4K
ICAKICAgICNjb250YWluZXIgewogICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsYWNrOwogICAgICBoZWlnaHQ6IDEwMHB4OwogICAgICB3aWR0aDogNzAw
cHg7CiAgICB9CiAgICAKICAgICNib3ggewogICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAg
IGhlaWdodDogMTAwcHg7CiAgICAgIHdpZHRoOiAxMDBweDsKICAgICAgYmFja2dyb3VuZC1jb2xv
cjogYmx1ZTsKICAgICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogbW92ZTsKICAgICAgLXdlYmtp
dC1hbmltYXRpb24tZHVyYXRpb246IDEuNXM7CiAgICB9CgogICAgQC13ZWJraXQta2V5ZnJhbWVz
IG1vdmUgewogICAgICAwJSAgIHsKICAgICAgICBsZWZ0OiAwOwogICAgICAgIC13ZWJraXQtYW5p
bWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQ7CiAgICAgIH0KICAgICAgMTAlIHsKICAg
ICAgICBsZWZ0OiAxMDBweDsKICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rp
b246IGxpbmVhcjsKICAgICAgfQogICAgICA5MCUgewogICAgICAgIGxlZnQ6IDUwMHB4OwogICAg
ICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsKICAgICAgfQog
ICAgICAxMDAlIHsKICAgICAgICBsZWZ0OiA2MDBweDsKICAgICAgfQogICAgfQogICAgCiAgPC9z
dHlsZT4KICA8c2NyaXB0IHNyYz0iYW5pbWF0aW9uLXRlc3QtaGVscGVycy5qcyIgdHlwZT0idGV4
dC9qYXZhc2NyaXB0IiBjaGFyc2V0PSJ1dGYtOCI+PC9zY3JpcHQ+CiAgPHNjcmlwdCB0eXBlPSJ0
ZXh0L2phdmFzY3JpcHQiIGNoYXJzZXQ9InV0Zi04Ij4KCiAgICBjb25zdCBleHBlY3RlZFZhbHVl
cyA9IFsKICAgICAgLy8gW2FuaW1hdGlvbi1uYW1lLCB0aW1lLCBlbGVtZW50LWlkLCBwcm9wZXJ0
eSwgZXhwZWN0ZWQtdmFsdWUsIHRvbGVyYW5jZV0KICAgICAgWyJtb3ZlIiwgMC43NSwgImJveCIs
ICJsZWZ0IiwgMzAwLCAyMF0sCiAgICBdOwogICAgCiAgICBydW5BbmltYXRpb25UZXN0KGV4cGVj
dGVkVmFsdWVzKTsKICA8L3NjcmlwdD4KPC9oZWFkPgo8Ym9keT4KCiAgVGVzdHMgd2hldGhlciB0
aW1pbmcgZnVuY3Rpb25zIGluc2lkZSBrZXlmcmFtZXMgYXJlIHJlc3BlY3RlZC4KPGRpdiBpZD0i
Y29udGFpbmVyIj4KICA8ZGl2IGlkPSJib3giPjwvZGl2Pgo8L2Rpdj4KPGRpdiBpZD0icmVzdWx0
Ij4KPC9kaXY+CjwvYm9keT4KPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>57978</attachid>
            <date>2010-06-06 10:57:23 -0700</date>
            <delta_ts>2010-06-06 10:57:23 -0700</delta_ts>
            <desc>Testcase that should work, but doesn&apos;t</desc>
            <filename>keyframe-timing-functions-transform.html</filename>
            <type>text/html</type>
            <size>1621</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMDEgVHJhbnNpdGlvbmFs
Ly9FTiIKICAgImh0dHA6Ly93d3cudzMub3JnL1RSL2h0bWw0L2xvb3NlLmR0ZCI+Cgo8aHRtbCBs
YW5nPSJlbiI+CjxoZWFkPgogIDxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVu
dD0idGV4dC9odG1sOyBjaGFyc2V0PXV0Zi04Ij4KICA8dGl0bGU+S2V5ZnJhbWUgVGltaW5nIEZ1
bmN0aW9uczwvdGl0bGU+CiAgPHN0eWxlIHR5cGU9InRleHQvY3NzIiBtZWRpYT0ic2NyZWVuIj4K
ICAKICAgICNjb250YWluZXIgewogICAgICBwb3NpdGlvbjogcmVsYXRpdmU7CiAgICAgIGJvcmRl
cjogMXB4IHNvbGlkIGJsYWNrOwogICAgICBoZWlnaHQ6IDEwMHB4OwogICAgICB3aWR0aDogNzAw
cHg7CiAgICB9CiAgICAKICAgICNib3ggewogICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CiAgICAg
IGhlaWdodDogMTAwcHg7CiAgICAgIHdpZHRoOiAxMDBweDsKICAgICAgYmFja2dyb3VuZC1jb2xv
cjogYmx1ZTsKICAgICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogbW92ZTsKICAgICAgLXdlYmtp
dC1hbmltYXRpb24tZHVyYXRpb246IDEuNXM7CiAgICB9CgogICAgQC13ZWJraXQta2V5ZnJhbWVz
IG1vdmUgewogICAgICAwJSAgIHsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRl
WCgwKTsKICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0
OwogICAgICB9CiAgICAgIDEwJSB7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0
ZVgoMTAwcHgpOwogICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGlu
ZWFyOwogICAgICB9CiAgICAgIDkwJSB7CiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5z
bGF0ZVgoNTAwcHgpOwogICAgICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjog
ZWFzZS1pbjsKICAgICAgfQogICAgICAxMDAlIHsKICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTog
dHJhbnNsYXRlWCg2MDBweCk7CiAgICAgIH0KICAgIH0KICAgIAogIDwvc3R5bGU+CiAgPHNjcmlw
dCBzcmM9ImFuaW1hdGlvbi10ZXN0LWhlbHBlcnMuanMiIHR5cGU9InRleHQvamF2YXNjcmlwdCIg
Y2hhcnNldD0idXRmLTgiPjwvc2NyaXB0PgogIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0
IiBjaGFyc2V0PSJ1dGYtOCI+CgogICAgY29uc3QgZXhwZWN0ZWRWYWx1ZXMgPSBbCiAgICAgIC8v
IFthbmltYXRpb24tbmFtZSwgdGltZSwgZWxlbWVudC1pZCwgcHJvcGVydHksIGV4cGVjdGVkLXZh
bHVlLCB0b2xlcmFuY2VdCiAgICAgIFsibW92ZSIsIDAuNzUsICJib3giLCAid2Via2l0VHJhbnNm
b3JtLjQiLCAzMDAsIDIwXSwKICAgIF07CiAgICAKICAgIHJ1bkFuaW1hdGlvblRlc3QoZXhwZWN0
ZWRWYWx1ZXMpOwogIDwvc2NyaXB0Pgo8L2hlYWQ+Cjxib2R5PgoKICBUZXN0cyB3aGV0aGVyIHRp
bWluZyBmdW5jdGlvbnMgaW5zaWRlIGtleWZyYW1lcyBhcmUgcmVzcGVjdGVkLgo8ZGl2IGlkPSJj
b250YWluZXIiPgogIDxkaXYgaWQ9ImJveCI+PC9kaXY+CjwvZGl2Pgo8ZGl2IGlkPSJyZXN1bHQi
Pgo8L2Rpdj4KPC9ib2R5Pgo8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>58531</attachid>
            <date>2010-06-11 17:38:12 -0700</date>
            <delta_ts>2010-06-11 18:49:49 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-38963-20100611173811.patch</filename>
            <type>text/plain</type>
            <size>8564</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBhM2NjOTA2ZThlYzhkNjRiOGM1YTkzYzZiYjEwODQ5ZjMyNzVkOGRlLi5iNDZmMmQx
YjhmMjg3OWEzOTk1ZmE4YmZkYWIwYWQzYzhlMDEwNDgxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAK
KzIwMTAtMDYtMTEgIERlYW4gSmFja3NvbiAgPGRpbm9AYXBwbGUuY29tPgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFuaW1hdGlvbiBrZXlmcmFtZSB0
aW1pbmcgZnVuY3Rpb25zIGFyZSBhcHBseWluZyBpbmNvcnJlY3RseQorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Mzg5NjMKKyAgICAgICAgCisgICAgICAg
IFRlc3RjYXNlcyBmb3IgdGltaW5nIGZ1bmN0aW9ucyBpbnNpZGUga2V5ZnJhbWVzIG9uICdsZWZ0
JyBhbmQgJy13ZWJraXQtdHJhbnNmb3JtJy4KKworICAgICAgICAqIGFuaW1hdGlvbnMva2V5ZnJh
bWUtdGltaW5nLWZ1bmN0aW9ucy10cmFuc2Zvcm0tZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAg
ICAgKiBhbmltYXRpb25zL2tleWZyYW1lLXRpbWluZy1mdW5jdGlvbnMtdHJhbnNmb3JtLmh0bWw6
IEFkZGVkLgorICAgICAgICAqIGFuaW1hdGlvbnMva2V5ZnJhbWUtdGltaW5nLWZ1bmN0aW9uczIt
ZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBhbmltYXRpb25zL2tleWZyYW1lLXRpbWlu
Zy1mdW5jdGlvbnMyLmh0bWw6IEFkZGVkLgorCiAyMDEwLTA2LTExICBLZW5uZXRoIFJ1c3NlbGwg
IDxrYnJAZ29vZ2xlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBEaW1pdHJpIEdsYXprb3Yu
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9hbmltYXRpb25zL2tleWZyYW1lLXRpbWluZy1mdW5j
dGlvbnMtdHJhbnNmb3JtLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2FuaW1hdGlvbnMva2V5
ZnJhbWUtdGltaW5nLWZ1bmN0aW9ucy10cmFuc2Zvcm0tZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdlOWNkMzA1NzgyMTg4NDU0YjczYmRmODAyMjM4ZTljYTMxNDg4Y2EKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9hbmltYXRpb25zL2tleWZyYW1lLXRpbWluZy1mdW5jdGlvbnMtdHJh
bnNmb3JtLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDMgQEAKK1Rlc3RzIHdoZXRoZXIgdGltaW5n
IGZ1bmN0aW9ucyBpbnNpZGUga2V5ZnJhbWVzIGFyZSByZXNwZWN0ZWQuCitQQVNTIC0gIndlYmtp
dFRyYW5zZm9ybS40IiBwcm9wZXJ0eSBmb3IgImJveCIgZWxlbWVudCBhdCAwLjc1cyBzYXcgc29t
ZXRoaW5nIGNsb3NlIHRvOiAzMDAKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvYW5pbWF0aW9u
cy9rZXlmcmFtZS10aW1pbmctZnVuY3Rpb25zLXRyYW5zZm9ybS5odG1sIGIvTGF5b3V0VGVzdHMv
YW5pbWF0aW9ucy9rZXlmcmFtZS10aW1pbmctZnVuY3Rpb25zLXRyYW5zZm9ybS5odG1sCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjAwZjI4N2U2M2U3ODM3MTk1YmYzNWVkNTc1Zjg3Mzc0MjEwZGZjZjAKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9hbmltYXRpb25zL2tleWZyYW1lLXRpbWluZy1mdW5jdGlv
bnMtdHJhbnNmb3JtLmh0bWwKQEAgLTAsMCArMSw2MiBAQAorPCFET0NUWVBFIGh0bWw+CisKKzxo
dG1sPgorPGhlYWQ+CisgIDxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyIgbWVkaWE9InNjcmVlbiI+Cisg
IAorICAgICNjb250YWluZXIgeworICAgICAgcG9zaXRpb246IHJlbGF0aXZlOworICAgICAgYm9y
ZGVyOiAxcHggc29saWQgYmxhY2s7CisgICAgICBoZWlnaHQ6IDEwMHB4OworICAgICAgd2lkdGg6
IDcwMHB4OworICAgIH0KKyAgICAKKyAgICAjYm94IHsKKyAgICAgIHBvc2l0aW9uOiBhYnNvbHV0
ZTsKKyAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICB3aWR0aDogMTAwcHg7CisgICAgICBiYWNr
Z3JvdW5kLWNvbG9yOiBibHVlOworICAgICAgLXdlYmtpdC1hbmltYXRpb24tbmFtZTogbW92ZTsK
KyAgICAgIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiAxLjVzOworICAgIH0KKworICAgIEAt
d2Via2l0LWtleWZyYW1lcyBtb3ZlIHsKKyAgICAgIDAlICAgeworICAgICAgICAtd2Via2l0LXRy
YW5zZm9ybTogdHJhbnNsYXRlWCgwKTsKKyAgICAgICAgLXdlYmtpdC1hbmltYXRpb24tdGltaW5n
LWZ1bmN0aW9uOiBlYXNlLW91dDsKKyAgICAgIH0KKyAgICAgIDEwJSB7CisgICAgICAgIC13ZWJr
aXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMHB4KTsKKyAgICAgICAgLXdlYmtpdC1hbmltYXRp
b24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7CisgICAgICB9CisgICAgICA5MCUgeworICAgICAg
ICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCg1MDBweCk7CisgICAgICAgIC13ZWJraXQt
YW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjsKKyAgICAgIH0KKyAgICAgIDEwMCUg
eworICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWCg2MDBweCk7CisgICAgICB9
CisgICAgfQorICAgIAorICA8L3N0eWxlPgorICA8c2NyaXB0IHNyYz0iYW5pbWF0aW9uLXRlc3Qt
aGVscGVycy5qcyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBjaGFyc2V0PSJ1dGYtOCI+PC9zY3Jp
cHQ+CisgIDxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBjaGFyc2V0PSJ1dGYtOCI+CisK
KyAgICBjb25zdCBleHBlY3RlZFZhbHVlcyA9IFsKKyAgICAgIC8vIFthbmltYXRpb24tbmFtZSwg
dGltZSwgZWxlbWVudC1pZCwgcHJvcGVydHksIGV4cGVjdGVkLXZhbHVlLCB0b2xlcmFuY2VdCisg
ICAgICBbIm1vdmUiLCAwLjc1LCAiYm94IiwgIndlYmtpdFRyYW5zZm9ybS40IiwgMzAwLCAyMF0s
CisgICAgXTsKKyAgICAKKyAgICBydW5BbmltYXRpb25UZXN0KGV4cGVjdGVkVmFsdWVzKTsKKyAg
PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKworICBUZXN0cyB3aGV0aGVyIHRpbWluZyBmdW5j
dGlvbnMgaW5zaWRlIGtleWZyYW1lcyBhcmUgcmVzcGVjdGVkLgorPGRpdiBpZD0iY29udGFpbmVy
Ij4KKyAgPGRpdiBpZD0iYm94Ij48L2Rpdj4KKzwvZGl2PgorPGRpdiBpZD0icmVzdWx0Ij4KKzwv
ZGl2PgorPC9ib2R5PgorPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2FuaW1hdGlvbnMva2V5ZnJhbWUtdGltaW5nLWZ1bmN0aW9uczIt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvYW5pbWF0aW9ucy9rZXlmcmFtZS10aW1pbmctZnVu
Y3Rpb25zMi1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjNmMDAyMTE1MTUyMTI1Nzg4NGFlYTJk
YjI2MWEwZDg2NDVkOTQ2OAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2FuaW1hdGlv
bnMva2V5ZnJhbWUtdGltaW5nLWZ1bmN0aW9uczItZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMyBA
QAorVGVzdHMgd2hldGhlciB0aW1pbmcgZnVuY3Rpb25zIGluc2lkZSBrZXlmcmFtZXMgYXJlIHJl
c3BlY3RlZC4KK1BBU1MgLSAibGVmdCIgcHJvcGVydHkgZm9yICJib3giIGVsZW1lbnQgYXQgMC43
NXMgc2F3IHNvbWV0aGluZyBjbG9zZSB0bzogMzAwCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2FuaW1hdGlvbnMva2V5ZnJhbWUtdGltaW5nLWZ1bmN0aW9uczIuaHRtbCBiL0xheW91dFRlc3Rz
L2FuaW1hdGlvbnMva2V5ZnJhbWUtdGltaW5nLWZ1bmN0aW9uczIuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5l
OGZlZWI4ZWJiMTQ2M2I0MjY1MmExODkwNDdjNTQ2OTk3YWFiZmI0Ci0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvYW5pbWF0aW9ucy9rZXlmcmFtZS10aW1pbmctZnVuY3Rpb25zMi5odG1s
CkBAIC0wLDAgKzEsNjEgQEAKKzwhRE9DVFlQRSBodG1sPgorCis8aHRtbD4KKzxoZWFkPgorICA8
c3R5bGUgdHlwZT0idGV4dC9jc3MiIG1lZGlhPSJzY3JlZW4iPgorICAKKyAgICAjY29udGFpbmVy
IHsKKyAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsKKyAgICAgIGJvcmRlcjogMXB4IHNvbGlkIGJs
YWNrOworICAgICAgaGVpZ2h0OiAxMDBweDsKKyAgICAgIHdpZHRoOiA3MDBweDsKKyAgICB9Cisg
ICAgCisgICAgI2JveCB7CisgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CisgICAgICBoZWlnaHQ6
IDEwMHB4OworICAgICAgd2lkdGg6IDEwMHB4OworICAgICAgYmFja2dyb3VuZC1jb2xvcjogYmx1
ZTsKKyAgICAgIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IG1vdmU7CisgICAgICAtd2Via2l0LWFu
aW1hdGlvbi1kdXJhdGlvbjogMS41czsKKyAgICB9CisKKyAgICBALXdlYmtpdC1rZXlmcmFtZXMg
bW92ZSB7CisgICAgICAwJSAgIHsKKyAgICAgICAgbGVmdDogMDsKKyAgICAgICAgLXdlYmtpdC1h
bmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dDsKKyAgICAgIH0KKyAgICAgIDEwJSB7
CisgICAgICAgIGxlZnQ6IDEwMHB4OworICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmct
ZnVuY3Rpb246IGxpbmVhcjsKKyAgICAgIH0KKyAgICAgIDkwJSB7CisgICAgICAgIGxlZnQ6IDUw
MHB4OworICAgICAgICAtd2Via2l0LWFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47
CisgICAgICB9CisgICAgICAxMDAlIHsKKyAgICAgICAgbGVmdDogNjAwcHg7CisgICAgICB9Cisg
ICAgfQorICA8L3N0eWxlPgorICA8c2NyaXB0IHNyYz0iYW5pbWF0aW9uLXRlc3QtaGVscGVycy5q
cyIgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBjaGFyc2V0PSJ1dGYtOCI+PC9zY3JpcHQ+CisgIDxz
Y3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0IiBjaGFyc2V0PSJ1dGYtOCI+CisKKyAgICBjb25z
dCBleHBlY3RlZFZhbHVlcyA9IFsKKyAgICAgIC8vIFthbmltYXRpb24tbmFtZSwgdGltZSwgZWxl
bWVudC1pZCwgcHJvcGVydHksIGV4cGVjdGVkLXZhbHVlLCB0b2xlcmFuY2VdCisgICAgICBbIm1v
dmUiLCAwLjc1LCAiYm94IiwgImxlZnQiLCAzMDAsIDIwXSwKKyAgICBdOworICAgIAorICAgIHJ1
bkFuaW1hdGlvblRlc3QoZXhwZWN0ZWRWYWx1ZXMpOworICA8L3NjcmlwdD4KKzwvaGVhZD4KKzxi
b2R5PgorCisgIFRlc3RzIHdoZXRoZXIgdGltaW5nIGZ1bmN0aW9ucyBpbnNpZGUga2V5ZnJhbWVz
IGFyZSByZXNwZWN0ZWQuCis8ZGl2IGlkPSJjb250YWluZXIiPgorICA8ZGl2IGlkPSJib3giPjwv
ZGl2PgorPC9kaXY+Cis8ZGl2IGlkPSJyZXN1bHQiPgorPC9kaXY+Cis8L2JvZHk+Cis8L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9DaGFuZ2VM
b2cgYi9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBjYTg0YmYwNTgzYzc5ZTc3M2EwMDM4MWM3Yjcy
MjEzNDIwODA5Y2RiLi4yYzE1NDhiYzRmYjY1NjNjODgxN2M1N2UxY2Q5ZjlmZGFiMzRkN2I5IDEw
MDY0NAotLS0gYS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9XZWJDb3JlL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDIzIEBACisyMDEwLTA2LTExICBEZWFuIEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBbmltYXRp
b24ga2V5ZnJhbWUgdGltaW5nIGZ1bmN0aW9ucyBhcmUgYXBwbHlpbmcgaW5jb3JyZWN0bHkKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM4OTYzCisgICAg
ICAgIAorICAgICAgICBXaGVuIGNvcHlpbmcgUmVuZGVyU3R5bGVzLCB3ZSBoYXZlIHRvIGNsb25l
IHRoZSBBbmltYXRpb25MaXN0IHNvIHRoYXQgZWFjaCBrZXlmcmFtZQorICAgICAgICBjYW4gaGF2
ZSBpdHMgb3duIHRpbWluZyBmdW5jdGlvbi4KKworICAgICAgICBUZXN0czogYW5pbWF0aW9ucy9r
ZXlmcmFtZS10aW1pbmctZnVuY3Rpb25zLXRyYW5zZm9ybS5odG1sCisgICAgICAgICAgICAgICBh
bmltYXRpb25zL2tleWZyYW1lLXRpbWluZy1mdW5jdGlvbnMyLmh0bWwKKworICAgICAgICAqIHBs
YXRmb3JtL2FuaW1hdGlvbi9BbmltYXRpb24uaDoKKyAgICAgICAgKFdlYkNvcmU6OkFuaW1hdGlv
bjo6Y3JlYXRlKToKKyAgICAgICAgKiBwbGF0Zm9ybS9hbmltYXRpb24vQW5pbWF0aW9uTGlzdC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpBbmltYXRpb25MaXN0OjpBbmltYXRpb25MaXN0KToKKyAg
ICAgICAgKiBwbGF0Zm9ybS9hbmltYXRpb24vQW5pbWF0aW9uTGlzdC5oOgorICAgICAgICAoV2Vi
Q29yZTo6QW5pbWF0aW9uTGlzdDo6QW5pbWF0aW9uTGlzdCk6CisKIDIwMTAtMDYtMTEgIEtlbm5l
dGggUnVzc2VsbCAgPGtickBnb29nbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERpbWl0
cmkgR2xhemtvdi4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vYW5pbWF0aW9uL0FuaW1h
dGlvbi5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9hbmltYXRpb24vQW5pbWF0aW9uLmgKaW5kZXggYTYy
OWY0MzYwMDY0MTcwZWRjNGRiZWU0OTYwYTRmYzdlNDdkNGNlOS4uY2FiYjBlYmZkMTljMDZhMTNi
MTkzZjk3OGIxZjI5ZjdjZWM2YjAwZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9hbmlt
YXRpb24vQW5pbWF0aW9uLmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9hbmltYXRpb24vQW5pbWF0
aW9uLmgKQEAgLTM5LDcgKzM5LDggQEAgY2xhc3MgQW5pbWF0aW9uIDogcHVibGljIFJlZkNvdW50
ZWQ8QW5pbWF0aW9uPiB7CiBwdWJsaWM6CiAgICAgfkFuaW1hdGlvbigpOwogCi0gICAgc3RhdGlj
IFBhc3NSZWZQdHI8QW5pbWF0aW9uPiBjcmVhdGUoKSB7IHJldHVybiBhZG9wdFJlZihuZXcgQW5p
bWF0aW9uKTsgfTsKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxBbmltYXRpb24+IGNyZWF0ZSgpIHsg
cmV0dXJuIGFkb3B0UmVmKG5ldyBBbmltYXRpb24pOyB9CisgICAgc3RhdGljIFBhc3NSZWZQdHI8
QW5pbWF0aW9uPiBjcmVhdGUoY29uc3QgQW5pbWF0aW9uKiBvKSB7IHJldHVybiBhZG9wdFJlZihu
ZXcgQW5pbWF0aW9uKCpvKSk7IH0KICAgICAKICAgICBib29sIGlzRGVsYXlTZXQoKSBjb25zdCB7
IHJldHVybiBtX2RlbGF5U2V0OyB9CiAgICAgYm9vbCBpc0RpcmVjdGlvblNldCgpIGNvbnN0IHsg
cmV0dXJuIG1fZGlyZWN0aW9uU2V0OyB9CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2Fu
aW1hdGlvbi9BbmltYXRpb25MaXN0LmNwcCBiL1dlYkNvcmUvcGxhdGZvcm0vYW5pbWF0aW9uL0Fu
aW1hdGlvbkxpc3QuY3BwCmluZGV4IGJkNWZkZWVkNTUwMTYzNWE4NDNkMjUxNTM4YjBmZGNlZjgz
NDA5NDcuLjU4YTQwYWFlNDJmY2Y4ODQxMWVjYTg0ZmY4OWU2N2I3OTE1YWFjZjEgMTAwNjQ0Ci0t
LSBhL1dlYkNvcmUvcGxhdGZvcm0vYW5pbWF0aW9uL0FuaW1hdGlvbkxpc3QuY3BwCisrKyBiL1dl
YkNvcmUvcGxhdGZvcm0vYW5pbWF0aW9uL0FuaW1hdGlvbkxpc3QuY3BwCkBAIC0zMSw2ICszMSwx
MiBAQCBpZiAoaSA8IHNpemUoKSAmJiBpICE9IDApIHsgXAogICAgICAgICBhbmltYXRpb24oaSkt
PnByb3BTZXQoYW5pbWF0aW9uKGopLT5wcm9wR2V0KCkpOyBcCiB9CiAKK0FuaW1hdGlvbkxpc3Q6
OkFuaW1hdGlvbkxpc3QoY29uc3QgQW5pbWF0aW9uTGlzdCYgbykKK3sKKyAgICBmb3IgKHNpemVf
dCBpID0gMDsgaSA8IG8uc2l6ZSgpOyArK2kpCisgICAgICAgIG1fYW5pbWF0aW9ucy5hcHBlbmQo
QW5pbWF0aW9uOjpjcmVhdGUoby5hbmltYXRpb24oaSkpKTsKK30KKwogdm9pZCBBbmltYXRpb25M
aXN0OjpmaWxsVW5zZXRQcm9wZXJ0aWVzKCkKIHsKICAgICBzaXplX3QgaTsKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvcGxhdGZvcm0vYW5pbWF0aW9uL0FuaW1hdGlvbkxpc3QuaCBiL1dlYkNvcmUvcGxh
dGZvcm0vYW5pbWF0aW9uL0FuaW1hdGlvbkxpc3QuaAppbmRleCBhZmFkNDIyNzFlMDM4NmNhNDBi
Y2E2Yzc1ZmVlY2JkMDdkY2IwNmE5Li43ZWNhYTljNjU4NmNmY2UyNzU4Yzk3NDQ0ODY5OWUxNjE0
ZTlhOGY0IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2FuaW1hdGlvbi9BbmltYXRpb25M
aXN0LmgKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9hbmltYXRpb24vQW5pbWF0aW9uTGlzdC5oCkBA
IC0zMyw2ICszMyw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgQW5pbWF0aW9uTGlz
dCA6IHB1YmxpYyBGYXN0QWxsb2NCYXNlIHsKIHB1YmxpYzoKKyAgICBBbmltYXRpb25MaXN0KCkg
e30KKyAgICBBbmltYXRpb25MaXN0KGNvbnN0IEFuaW1hdGlvbkxpc3QmIG8pOworCiAgICAgdm9p
ZCBmaWxsVW5zZXRQcm9wZXJ0aWVzKCk7CiAgICAgYm9vbCBvcGVyYXRvcj09KGNvbnN0IEFuaW1h
dGlvbkxpc3QmIG8pIGNvbnN0OwogICAgIGJvb2wgb3BlcmF0b3IhPShjb25zdCBBbmltYXRpb25M
aXN0JiBvKSBjb25zdAo=
</data>
<flag name="review"
          id="44870"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>