<?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>55022</bug_id>
          
          <creation_ts>2011-02-22 21:50:25 -0800</creation_ts>
          <short_desc>REGRESSION: Accelerated transitions are jumpy</short_desc>
          <delta_ts>2011-03-03 15:16:01 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Layout and Rendering</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc>http://www.eleqtriq.com/2010/05/css-3d-matrix-transformations/</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="Simon Fraser (smfr)">simon.fraser</reporter>
          <assigned_to name="Chris Marrin">cmarrin</assigned_to>
          <cc>cmarrin</cc>
    
    <cc>dino</cc>
    
    <cc>eric</cc>
    
    <cc>jamesr</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>355852</commentid>
    <comment_count>0</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2011-02-22 21:50:25 -0800</bug_when>
    <thetext>Go to http://www.eleqtriq.com/2010/05/css-3d-matrix-transformations/, and scroll down to the &quot;Example: Coverflow in CSS&quot; section, and click Open Example. In the example, alternately hover over two adjacent cards. Note how they jump backwards and forwards, rather than animating smoothly. This is a regression from Safari 5.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>355853</commentid>
    <comment_count>1</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2011-02-22 21:51:10 -0800</bug_when>
    <thetext>&lt;rdar://problem/9040742&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>356683</commentid>
    <comment_count>2</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2011-02-23 22:46:32 -0800</bug_when>
    <thetext>We&apos;re getting the timing function wrong.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>356702</commentid>
    <comment_count>3</comment_count>
      <attachid>83611</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2011-02-23 23:25:06 -0800</bug_when>
    <thetext>Created attachment 83611
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>356787</commentid>
    <comment_count>4</comment_count>
      <attachid>83611</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-02-24 02:27:49 -0800</bug_when>
    <thetext>Comment on attachment 83611
Patch

rs=me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>357006</commentid>
    <comment_count>5</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2011-02-24 08:13:49 -0800</bug_when>
    <thetext>http://trac.webkit.org/changeset/79568</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>357011</commentid>
    <comment_count>6</comment_count>
      <attachid>83611</attachid>
    <who name="">mitz</who>
    <bug_when>2011-02-24 08:18:46 -0800</bug_when>
    <thetext>Comment on attachment 83611
Patch

Consider getting rid of the text in the test in the success case and landing the results in a cross-platform location.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>357092</commentid>
    <comment_count>7</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2011-02-24 09:28:47 -0800</bug_when>
    <thetext>I plan to do a pass over the transition/animation tests and make them dump as text.

However, the pixel results aren&apos;t cross platform; the CALayer can paint non pixel-aligned.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>357133</commentid>
    <comment_count>8</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2011-02-24 10:12:09 -0800</bug_when>
    <thetext>sorry! my mistake!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>357147</commentid>
    <comment_count>9</comment_count>
    <who name="Dean Jackson">dino</who>
    <bug_when>2011-02-24 10:35:45 -0800</bug_when>
    <thetext>I take it back. I&apos;m not sorry. This was Chris :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>359395</commentid>
    <comment_count>10</comment_count>
    <who name="Chris Marrin">cmarrin</who>
    <bug_when>2011-02-28 15:07:28 -0800</bug_when>
    <thetext>It&apos;s still wrong on the Win version. I&apos;ll add a patch for that presently.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>360038</commentid>
    <comment_count>11</comment_count>
      <attachid>84257</attachid>
    <who name="Chris Marrin">cmarrin</who>
    <bug_when>2011-03-01 11:28:55 -0800</bug_when>
    <thetext>Created attachment 84257
Patch botched by Windows</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>360045</commentid>
    <comment_count>12</comment_count>
      <attachid>84258</attachid>
    <who name="Chris Marrin">cmarrin</who>
    <bug_when>2011-03-01 11:37:51 -0800</bug_when>
    <thetext>Created attachment 84258
Windows Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>360053</commentid>
    <comment_count>13</comment_count>
      <attachid>84258</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2011-03-01 11:41:50 -0800</bug_when>
    <thetext>Comment on attachment 84258
Windows Patch

I think we should do the null check higher up and always pass in a TimingFunction here, because now these magic numbers are in 3 places.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>361159</commentid>
    <comment_count>14</comment_count>
      <attachid>84482</attachid>
    <who name="Chris Marrin">cmarrin</who>
    <bug_when>2011-03-02 16:28:14 -0800</bug_when>
    <thetext>Created attachment 84482
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>361181</commentid>
    <comment_count>15</comment_count>
      <attachid>84482</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2011-03-02 16:51:47 -0800</bug_when>
    <thetext>Comment on attachment 84482
Patch

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

&gt; Source/WebCore/platform/graphics/ca/win/PlatformCAAnimationWin.cpp:128
&gt; +    ASSERT(timingFunction);
&gt; +    

The Mac version has no blank line after the assert.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>361788</commentid>
    <comment_count>16</comment_count>
    <who name="Chris Marrin">cmarrin</who>
    <bug_when>2011-03-03 11:33:33 -0800</bug_when>
    <thetext>Committed r80266: &lt;http://trac.webkit.org/changeset/80266&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>361808</commentid>
    <comment_count>17</comment_count>
      <attachid>84482</attachid>
    <who name="Adam Roben (:aroben)">aroben</who>
    <bug_when>2011-03-03 11:51:58 -0800</bug_when>
    <thetext>Comment on attachment 84482
Patch

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

&gt; Source/WebCore/platform/animation/TimingFunction.h:109
&gt; +    static const CubicBezierTimingFunction* defaultTimingFunction()
&gt; +    {
&gt; +        DEFINE_STATIC_LOCAL(const CubicBezierTimingFunction, dtf, ());
&gt; +        return &amp;dtf;
&gt; +    }

This is wacky, and could lead to assertion failures due to adoptRef never being called. I&apos;d suggest writing it like this:

static const CubicBezierTimingFunction* function = create().leakRef();
return function;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>361922</commentid>
    <comment_count>18</comment_count>
      <attachid>84623</attachid>
    <who name="Chris Marrin">cmarrin</who>
    <bug_when>2011-03-03 14:07:52 -0800</bug_when>
    <thetext>Created attachment 84623
Patch changing TimingFunction per Adam&apos;s suggestion</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>361995</commentid>
    <comment_count>19</comment_count>
    <who name="Chris Marrin">cmarrin</who>
    <bug_when>2011-03-03 15:16:01 -0800</bug_when>
    <thetext>Committed r80289: &lt;http://trac.webkit.org/changeset/80289&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>83611</attachid>
            <date>2011-02-23 23:25:06 -0800</date>
            <delta_ts>2011-03-01 11:28:52 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-55022-20110223232504.patch</filename>
            <type>text/plain</type>
            <size>25180</size>
            <attacher name="Simon Fraser (smfr)">simon.fraser</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogNzk1MTcKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA0NDJhY2JjOGU4YjdiMWQ3MGY1MmZi
ZmM4NzNhZDdmNTkyOTViNWQ2Li4xODNiMTc3NzAzNzk5NTVhMTZlMjBkYjVmNmFmMTMwNjk5OWQy
MGJmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTEtMDItMjMgIFNpbW9uIEZyYXNlciAgPHNp
bW9uLmZyYXNlckBhcHBsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgUkVHUkVTU0lPTjogQWNjZWxlcmF0ZWQgdHJhbnNpdGlvbnMgYXJlIGp1
bXB5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01NTAy
MgorICAgICAgICAKKyAgICAgICAgVGVzdGNhc2Ugd2l0aCAndHJhbnNmb3JtJyBhbmQgJ2xlZnQn
IHRyYW5zaXRpb25zIHdob3NlIHBpeGVsIHJlc3VsdCBzaG93cyB3aGV0aGVyCisgICAgICAgIHRo
ZSBjb3JyZWN0IHRpbWluZyBmdW5jdGlvbiBpcyBiZWluZyB1c2VkIGZvciB0aGUgYWNjZWxlcmF0
ZWQgdHJhbnNpdGlvbi4KKworICAgICAgICAqIHBsYXRmb3JtL21hYy90cmFuc2l0aW9ucy9kZWZh
dWx0LXRpbWluZy1mdW5jdGlvbi1leHBlY3RlZC5jaGVja3N1bTogQWRkZWQuCisgICAgICAgICog
cGxhdGZvcm0vbWFjL3RyYW5zaXRpb25zL2RlZmF1bHQtdGltaW5nLWZ1bmN0aW9uLWV4cGVjdGVk
LnBuZzogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vbWFjL3RyYW5zaXRpb25zL2RlZmF1bHQt
dGltaW5nLWZ1bmN0aW9uLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogdHJhbnNpdGlv
bnMvZGVmYXVsdC10aW1pbmctZnVuY3Rpb24uaHRtbDogQWRkZWQuCisKIDIwMTEtMDItMjMgIE1P
UklUQSBIYWppbWUgPG1vcnJpdGFAZ29vZ2xlLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkIHVu
c2tpcHBpbmcgYW5vdGhlciBwYXNzZWQgdGVzdHMuIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjL3RyYW5zaXRpb25zL2RlZmF1bHQtdGltaW5nLWZ1bmN0aW9uLWV4cGVjdGVk
LmNoZWNrc3VtIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3RyYW5zaXRpb25zL2RlZmF1bHQt
dGltaW5nLWZ1bmN0aW9uLWV4cGVjdGVkLmNoZWNrc3VtCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQ2NjNlYmUxNTlj
NDk2NzczNWQ2MmYxNWI1Y2I3NTAzNWY4Mjc3NTMKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9tYWMvdHJhbnNpdGlvbnMvZGVmYXVsdC10aW1pbmctZnVuY3Rpb24tZXhw
ZWN0ZWQuY2hlY2tzdW0KQEAgLTAsMCArMSBAQAorYTZlMDFhYzgxMzU5YWExYWFmZmUxMzRiMWQz
MzAyNGUKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9tYWMvdHJhbnNpdGlvbnMvZGVmYXVsdC10aW1pbmctZnVuY3Rpb24tZXhwZWN0
ZWQucG5nIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3RyYW5zaXRpb25zL2RlZmF1bHQtdGlt
aW5nLWZ1bmN0aW9uLWV4cGVjdGVkLnBuZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wOTQyM2JlNDhhYzAyY2YyMGQ1
OTU4OTc0MWMzZjlhNmZhYmQ1OWFmCkdJVCBiaW5hcnkgcGF0Y2gKbGl0ZXJhbCAyMzg1Mgp6Y21l
STRfZzlseSt3VCNYTEJAaVBnK1lhWWcoNko+PkNIaXU3TFghSGpZPDt+a1dmTlBmO3QxRXByRGpV
Qz1yMW0Keih4ZU40TGA3KktMXy1OWjNXTnxeczBtMyhhPkM1PktJNk9BYDIpXmMkS1I2OCZBI3ZL
P0VTczI+K3tfXjUza3I9CnotdXVoWlVxblBpX0Y3cTliUUJUVURKTFEjZFRyT3chV0x4SXtreV85
T00mTCpTRkZzPDwqdEIze1I4aiNpSEpuKwp6X3x1dHFgezBFYGU0VVdlJm5JQGQtYC1hZm9wIT4/
dD9aVVh6WWchZiZEKG9NMFN5KnV6RkptO0F2KkkqM2laVyoKek87M0l+R2h3azxBVENJZGphfk5E
dT5SQkNMVFJFKj4xS2hIKzZwMVd3eE18TFRgejJITFlEeXpqaVFMYDEoVVFsCno2Mnp3V2J+d0h+
NU9ecDRfbkB1Nk00cjVxeFMpT2Q+Z2E7cXNoPS1BMnhySTloR0hlfWRBUEwyYVVuSTMzTThvawp6
RGdGbn4/Q1dMWkBSPklac2p5JCVlaWktOGgqRl4zNXdWTGhITUZ7cnMmNXcpe2t+cE8jclVKIWlG
bVd+WVExcGEKelRQTVFsS0M9Z3dkS252R2p3WlJ9PFA1VG1jd21Uc2QqfVhFYCFxREJYUX1MRkw5
UUtoVXNgTTRJP1MkaSFzTFZlCnpodXpXQHJrQ0Q2JmZpRUdGckI+ZHQhVTxCcVZlKEgmYVpEP0tp
cWg8Ym8yYSZMIWtYWSNoMT11IXxIb2lvPiVmKgp6Ujt9O2ZQMUVjNHleIz5eWmZRQHA0Y1RsP2BV
JEUpSzNGdmdhZEckLWxYQF48cUpOeFdGKE8pWmNBdzBpcWtFOGgKekV3QWppNVdEZ0clQHdtbXFv
ZTF2WXJ2KV8lWUh0Vjk7WD8zRGhMeUNeSjRYZElHcikkTXUoenRCZmlwIXVuaEQxCnpVQyp7SUBY
dTZyKjs4WktjK1dST0YwNzEtOUF4d0FTSG4tIz81M2wjPGk1X1NhRy1hNVdgOSg9PipjS1NuQWpI
Tgp6IWNvJSZTSCF1UWB7ej9YaFFIeWlzRFV6ajVYdmNzSzIyUitvM3JeTigqMncrMSQ3NSpYZ3NN
LVJJZVdsdVh2Y08Kej55bT5BOzAwTjdtdE1EfCZzPTVPZHZDMDQxclI+Xk9lJnZLaDxaZW1lfjk+
YHpWZDl5cmZtMSpfMjc8T2Q2fGpJCnpxfk5FVlF2PXRwQlU/NSF5aTdmIVRROS0pWSZje3tfbUc/
KXZmdi1pXy1mfWg/Rjsza2omXktHT3x1QCtQKWVkMgp6Y2ZOTEpId1Fhfkc0PmJ1Nl5EZFppYn48
V0skamFyWldxR3p3IzJSKGxedjtZSmRjdVYqPk9CN0RPUHE/YEZVU2YKejdEMy1KTmZuamVPeip6
dyptR3NuK3xpTUluKFN3RHEmRUJOTz91USZjQXJlaEBkRXdkU3N6UVJ7bjl5QUQra3syCnotWi0r
XjwmTUtKeVE3Mm01Uy05PUVqKXtOKGE4QCpNQzMlUUU/I2hzLW15Mz96TnpaIXJNcH5rQGs7WH14
ZmY9JAp6YDt8YHNBTn0hSyF4RXVYcjdnY303d0hlRi19ZyFzU2NoSmErcV8/UXZDfTUkbTl4Y3R2
b3lRVG9rTTA4KXo9R18Kejs7PlZCZW9HVk1gaTQyXz9ZdnhDNkFPby1ePC14Z2R3UDNBWEw3WHlK
VG0mTiNDR2tNR2ZOUUpBdTQ+S0NuTUdpCnpHdzVra3tqTj4hXlheP3szJWtDJUVIXnx7R19DTFBO
WG1DdD9OMW1JfEwoMmN4Unt0KyQrM0ZyMU9NJD9QRU1wKwp6XjUwdkAtRUVmR1dvRC12cTs9d2Q/
aztFY0hGd3VgQyllRy1VWTBieS1rZFBqY2w5ZEBBWHd+K2cheTBFZSNZUlIKeiMmIWhHbStFWGs/
MDxTejVaPnZhVWQ/fnNAN2pNJE1OWl8kTUwmayUkMU0xPDVQb1JFND58bipJd0lgOWhsakJaCno8
JDVvUWNBIT88d1o0JDk5b2kwXyZ4TypFdCU1ZkNKTTh9eE5leldASl9AWlJ8Nk5uflBoeFc2cEU0
QnhqbkxOdgp6Y0lAY3ZqWmlyQ1R+bFIoaDtRWmQpcWd8c3RfNComaz5UdiNLZllffklsTW9pPWRl
QCRLWihabjlxOzd7ZHBHUk0KelBXIUhATnRqdFEtUndVMlpgU2FwUkBpJWghTkZodVo5M359Q1pn
JFQ4fW5UZjVPcmpLIWgmdFVAODMxZXtJYmh6Cno9OD59ZmVeTUxhenJYN2hfTVMoI3dmd0hoUX19
VF8mcnYxKkMhNSV7ZjVePkRxKCY9Rzs9ODZGZ1l8Y0lfM3A9RAp6e1hLSmolJmZuYypeZyFUd2Br
bl5wOz48bWAyUDxBLT5WTjEtSHNKK0M9I21PTWBAQENebk5gTE5RMmZWQFU+bXIKellobm9hXi1s
NyRzR05UMT87X3YrPVpZXlIyOH1kfHpsJGgoaGViPT1Mez5FZnN+UjNeZ0Utek9FKXY4cSFfREZP
CnpUJH5ffE1HXjJRVC0hIXFIZEZ6KmA0entYJDJHJF9DR2FfJHRxcVcxIX1+T0RxYXJqQyZKMkp6
a09TJjwxKUhnWQp6QXpsfTElWmYhNVkhU0pLQHtuWWNLVXN5Nj0kQHo+JiV5anU7UlE8IXt0X2Rx
R14jOFJKPTEjaXI/XzdoWVohITUKekw2NF9TTT1+UnhXQHhCM2QzUzNsYUZRNFFHRzVtdV5gNmhP
PEJJbkQ0XnIpYnlwU3EqOGRnJUR6ZVIpZFhfcWluCnpoaVE+R0skfT9vUnpXVUtfJVpkJGJ+KjEl
WWl5eWFqYkFXYig7NlN7amNRbUAmfjM3VWxvKmJlYUBpO1dkbnV8Qgp6Mlcxc1ZMVF5wUSVDNDUt
TXhlfUUpY0FBTSZRJmkpRU9gazZxZH1UIU0lPnxYQjUjWnNOcDQrPSNIN052cnRwQ2MKeiVDKUxT
UT1rNVJie3NuZ0g+XlJpN3AmVnVDPT1uNjtnYiYpcWZGeG54MSQ8MDx7TkB6eUJJdWc3THdlOGp3
OGxSCnpebSh6blU2KW8xXzNkKEkmYTJuclN9VV5gQyMkPklwRVAydUFPKlg8VWQ4ZHxLeyVVdzRg
Nk5KZ2FAI3Q8Zys/PQp6Qjl9dWZfWGBKZVJVcGBLJFU8MDBSQkI5KlBqaVJ5UXJMaDZian1HaTAh
UmhoY0g7elZlX2VKaWFrdmg7PVpmUEQKempIbUwzUVh7TTRzVlhlTypxVCpDJDZgcF89d28pdClw
cDVsbU9TbnJacnVqZ0tmWDFpJVlkejRoU3paeURnNEZPCnpQWDQzQHwwUU9hNUhqZXMqI1UyJTlE
JGZqcj9za283KzdWIT9sfnIkTzFZVjBCPU1yR2VCTUY7JWo+TjBUTlNpdQp6eEt9IT5GRl9lYDh2
RkZWQ1ZiKmoxYm5FMWhUPnI7VGlvZEQ0KHt8YHohPT5YPGA8U1RJdVI5KComSi1kd1o1SVoKelRH
Z3pfZF4/cWUzVT1+JGkqOFMqblhzQ1k8SG58QmxZamxIM1kpJFJeUX1Ad3Qpdjh+IVhfMUFIPi0j
YHQ7KCpGCnpUc25AYCVHantydWlGYkVSdFRaNmFFR050Um1FJjF4I3FMbT81ODtuIUR+SXpLWWFl
MEUzOHw4YmpeKHpKSntUWAp6ak1xOE8oQVJvaUUxWHhYe3coQTNxd3pyXztER1FqSFhafkUrZ2o8
K2tYbmYpVjxza041aVAhSypvSDtacW41VyoKekdLe3lJUT5PZVdKX3ZoVHVxLUtmPEtEeUZEX1Mt
Pl5+a2tsYT87OF5tWHRfSnt6UyR5PnAjKSNPPTVpYmYhU2V+Cno7c0d2REl8N0Zhaz8lK1pPTztt
NTRFZHhrIWxnYEM5QD8pblk2U3d9OzcoMmdMdTMwVVJZMl9TTnJ4bnZMN001ZQp6PCtqRmQpQU0r
TF93Q3tSQjA2OXdDeEtSdmUhclZ9P3JOb3VMZitKSStOPjx8TztSTDwmdXFrKVpheSViSDlhT14K
emstKUJCYnp4SncmRCgyfDBaeFd7YVRXcWhgWTBVMGxGOU1BejJRdTFNYEo7d2EmNl8oTlB4SShe
bVQrR3o/N1lDCnpJXyZsQms/VUM1clg9c1A8Yzh+MjdVeW5UJlo7P3k7c1dyamo5azE4NXBjPXlS
K1M2Rzs3NnF+WVA8Nit5blFfPwp6RGspPFlwITR8Z3grOCh6PjsmbzIyIXZsWWw5a0p1UyU/ZHRH
ZH1NfXlSJForOzlNVVZ6TSFQfGMwNCNGSmNvSz4Kej01NSZLIVRpcnE3S1kqbCh9QXRUUUhOSUJP
dDsjK2tnZTF3XiFNVWBGfFctSlFuRkhrdEZlKEBOYXhzfVUyOCgoCnpgazc1KkA9YXJZOGdZckxG
flAmYDh2TzwrQyNfVSVXaD97QTdeU2MramhoYUZeVmYxcWFEN2klKWNmQTdSUnBldQp6TzlrPCVP
RTBCYlokYkxnXlpVSVR0fDR+MmJ5ZCE9e0BsN09PeStBfXk+cj5vKiZLO35YaWw9Z1RXI3FUT0l+
Z3wKekY+SzZWTm85YVY/RHA1Rl5HMiQ4P3lUeG1TUkliSCNleGYxKDVHYn0tclA4SnBLKmorZTJ5
bW1nTz5PN0ExaldDCnpXQHBuK2tLeH4+NmlSdyhqTW9iITdlZ1duazhLY1k2YTUxO3BtWkJkTWBv
bGdyLUgoJXokeT5kcUJoRXgxVHllPQp6Uj1Yfj84cDlvRE9vJUl2X1JncEJYSCVRWTg5dVZ5cHsx
dihAeEc5ISQofXtyUVdVM0Q5aTwzZUBCeiV7SlRgOUQKemMyYWcjI1EtIUs3d29yfGxlaSpQVn1X
eCFLYTVUK01lKUA1eHcpcVk9NGBXcF5Oa0BlTm9jMXooO2NASj9NKiU3CnpOKUwlRl5IOXFmZ3w0
UWY3QW9VZj1PWTt+N1JISV45aG0zIyVQR3Q4eF8kRm1DK0F5e0xBYDxTeWNybFojMWJjQwp6Pkxt
SkE5IUwtcmBUPChtWTlVeyQwKzdSMC1hdXRrZUpnVypxJFA8eCV9YCozV3E7ZDEqTVJoPjhBfUk+
aGFIJUIKej9XYUFnOER6MTlrS0xfRmw+YWxIMWl8NiotbUFnNnAkJmFpU3VAWTdWfXxrR2dFRzxD
X3oyZ3g5fVlLZmp9RVZICnpvPU52QmpgUG1JOVBtT343X1ZnJDdqZ24lK3d2N08oJThCZkpXZkBJ
dnMqPl47TEFtZnNgTiN5ZE1tVE9ZU0RZKwp6d1FGUH1jQjI5Vi1vVjwoT3N6TVFUUHgkZkJ6eU8z
NVN7TzBPMl5RVkY+U3t0S0VyOUdePnR3azAlMyZmXkR2TEEKempwfH1yI2A/NFFsJj9TUTR3WHB8
Ym5yVSRnOEgkK29DZCFwTX5aUVNjNzZBWDApPSpDNmo4UTEtan5tOzw4eU8yCnpVTTtGOXJ+QkFy
QCVIaFAyZX1MJnZ0cj5HVkRweyR2c1FhK2NBRzQzN0hmK0hXTVg4dzhQWD10IVBlUXAoVEcwUQp6
dHlocHVPbUIkfUAjR1Z1bm90dj97JlZ+fHt1JkNXUVghVEYkVFctXy18ZkE4cFp+JHQjSjBCRlF8
d3JZaWotaWQKemE3NmZwPykrJGpEcS0td257e3cjPTc9cjNkTkZoX0JBdFBhNHNvSV4lOzx0TDhh
OSUoODtfUGBzM31fVEU+a343CnpJQithZFk3dGZWKVhob1p0T141I0hnentkdWpObyRkWDlQRGFx
P0YocT1oMm1jc195ZFgmTF80clpQTmNzTTkhcwp6NXxHZSt3YWcrVWxOSj9BKlI0QGY8Ul9ERUch
T3dIckt1Jmo+QytsYmRVTE18dmo5TkNaTVJufk5+V0EtQE0oeUgKelhkJXtabHNten5WeSM5X3RB
ezxyVVBJISV6S1RqKyVTZmt1M1dJTVpAb0lfIUtrZn5VWnU9eUZRZFBLYCsyczFsCnokTz88R15x
QCQpM0pSS0NRMzt4WF92Szh+cCtKMF95dWNIKyRgeDhVP255dj13WXdsPT9Oam0lWDRgXktVYD19
RAp6K3gyX20+ZkpJZVNZIz0/Izd0dEUhJl9lcmc+enIjRX58R3hvYmokakF6NSN+VzxhYHdGJGAh
eUprOSNeN2x6OFAKejZpSFE/YTlBVGU4XjZ4PU1pTWRfeEk5Z2BGbWZeKXlVQEpOP2JaOElZKUE2
MTV2bWlPKmhVYSU2flhtKU5Sb302CnoxJUdqRVdOUXwtQ18oZCZOTVZMUFdmQXVFI3J3QUtPMy1S
Tj8yKlF8UkpEISlIUn1ZajIxSF8jI2ZqZ1YkI0FsQgp6RHtgQXs+VyE/I08zIVd3REhGcmRIRE5U
THNoS3NHVH18VzFWWWFSbGxZIUtyZEdLUXRaYGgqQXl0Wjd1cWJoRDwKekVnI1BjaDBjM09ic1Bg
eFM+PGhoTGRUJGNgdVN3QU19VCtQPXQrWTJuZyh+MXZQR2IqYjF4dnQzWXFzIzlISVdnCnpLaFol
ZTNUOUB+ajJTVj5VYFVHdz0+OWpETjB2d3RySFVpeiVDfFhLNnlLMzx2aWRaMm9td2stPk0+My0j
Knx2dQp6KXlUfVZYYFFOQCg+aFBJYnJwVG9pdV5Ub3stfTNIZz1nOXZjflBoVUFWSHE9cyo1MVlh
RSVBS3pPbldWc3M+bDAKelgkV3lqP31GJksmVGMoMUlzTTtnbXZ0M1lzWEBGK0NscjYoQnBwIyEj
Z25rdDFiPVduUUE2JE8zaV83JilfQmUjCnpicS0oVHhvQFR7Rmh7ZWpGQmkkMDA8QEI+WUN7V2k0
a21CbXlSSyR3MXhLWTE9R29IMzdyTnxXdDlIcCg0Qmx6VAp6dUQ9amhEXllXJGJKQF8/KWJOcHg0
eWRLUmVEQ1ZWVGIzRklvTFBSWUJ5OU5zQDNLP207OXpKWnRuX1hxNUImMUUKei17enpnWml2V2U3
MyUpV0c1UmQxaVdAcGBDbnhlKzxNSHtxaUZHJjh2fE8+aHJKZmNIZyNPeHVLUjxnWiYzcXItCnpv
LT42P018d0ZEOyhEPSZnQjFEQ0p2QTlLd21nSHFfKUl6ZFFMMncoVWZuQiM/dDNmST1rbkIzJTlJ
V0hpamNLJAp6WXVefDxnKTd8OGtkPlM4TThtKXE3Pz01QS1eZ3RsTjZLOWlsMj89a2UoNyQmUkRX
PmEpNDlgdGhDeWE5MitoSWcKenVaOUc5KXIzZWlCJHxMTyVmfFNeIVRJVHdBfjdUQ3FabVEjMWBm
RDM8fWJNMlJOPmxxYEY8KWB7QVNiSlZJfj5KCnotI3s/SlpKKF45MSN6dl82SCt3WlAyVlNNVnMh
aHthckJQYjVzR2xtaDwmITJWd2UqRyg/ZiRQaX53eTs9ej4hWQp6P04mX31xR15BSWs2cUprRzZR
OUFIMkdJT3dORyU0cFd+PG8/fjU9STYwbXBLNCVifXttWHtiJm1CJUYlYjNhNCoKejtpJm9VZCMj
dyYldH5oJTFCYkZScGNpMypFV0NBSlpjNDx1dDYlaV4qbk1APUZeWXpFWSRnbXE/UmMlQ1NPTSpP
Cnp1SSo+QV5tZ2pmPkVANmUle0RQYlI2Tip9KHFreS0mYTlXZVU0bztZIWlIQW1HPDMyZEpRN0hM
OSNtT2xIPmtUVgp6ayohKiVwaztpQWchOHV5eXk+X1V0RDE4bzRec3lQRyh3MSQ9Sz51TTcwUD14
dUE1c35JfjVkXzhyK181R3s5aiQKel5mIzRnVCR3MjBmc3JBe3EzZDZ1UTQkN1IxdjZmYjhoX01a
TW58cFYkYmQkMkY1S1B9OWlPSWYoYHAjaGtQWXdsCnpGRGZJI2BEP3JlS3hwQX5hOEEmflJCVnU2
JEVhTGlhWmB1aFVXVjQjaWNhTD9jfCFgang2eGtmV2YodSZCKngzYAp6NU4xemQ0cUF0Ozl4JHtK
SGxuPn5WV1pVK2hOYGtuU0oxRlJ3Mm8wWkk0NlBFKUtUJip0M0k4WGxGT1BaI3tHViYKei0jWSE+
YVRgKChjKVM2NU16PngpQFBzdDZBa2BJI2ZsZUt4JSMhWT8wUFh1U083e2QrTT9LWGdneS0tPTJT
U0ckCnorRU5sKHFqJTxRWXV6Y0V5cjF4WWd9SWY7cEFPQiVhYlNfNEY3Qz9OblpSRzNWLTRtVm5W
QUZyVXspJjtuZ3U9OAp6LXEpWTIheWFWdlIqVndLWkpmYXd7ZnNKfSs2QURpYHQ9Q3ZocFZwY2B5
eDdJO3VjS09pYCtvU0crYFghUEUjTWEKel5HNj1XM3B3RkV0P0c5eXFHI2leJmhWXio8NkVOe0J4
YldgI2VBPCZjaHItTTI8ejI7eVpUZWtxWWUlZlh+NVpkCnpYaCtNfHdiUjlMM2wxPHRDM0prPWRi
c1dlMSNONChHSztmYVliVXdIUz9iJFF0V1c3P1dPSCgwPlRaO31ISXFVfAp6eUI5anlCX01Pbz15
WmA8LW0mejMyRDJ+dGpKcWV1STUmM2F0SitWVDs+enR6LSVIeD5idG8lT1hJdWk9MEtgPGIKekhF
ZEw9SylOKFZGMHxBTGMtdTlGT1hCZCk1YDZHOEZYWEVwX2xfSVZHdG9ybDk4TmUlSjAjUjNfdX1j
JDVVKl4xCnp5WTRGO2FRQzBScXVKKj1CQlQ+OyZNSUNsSks2RXpuPWVjJDJqKmppcHF2bn5ZNjYj
X2tGalZtel4xZHttMU03Uwp6KTJDY1ppNFQ7R1VkWW5IVCkkPUA2K0wpYnJseVp8M1ZOamBIREdx
UjdSNmllO3VLR2R0d2E/fDRtIUsqNjF8dUwKekV3RzF1MSEkRnxxMEZRRm53ek5yOSM3Myt4SUpP
YUozakdKWlVtMEIyaigkS2hncHI7RyMkSzJNcHFQT05AblJaCno+K24mTlZ8Pn1EcCZNU0Q3dF9D
IW8xTzY+LU4hXkJkYzVtQDxhd21IWjstfDZQUzI1NDJtfmBhLWZXb2hVfTJkTgp6Ul9xaT5OQGpW
PTZYenAtaVNHXjFQZTxUMFJCa2ptWTh4SDhFbGVwTnZSVykoVG5XazE1WGkoYjc/NHthSDRLNGsK
emxpOGFmdFVFRXhybFl5Tm9sYiVBdEdaViF2aylybE9+MUYkcFYleT1vdVhRZ3ItMlZeKTIqcjVy
eyttLWR0SyVzCno0OSZZe154S35eWENpbkstPHNKV29JOGxmQSFsKn1zdzZ5RXc5Zk1hQzVvU18j
dG1hdSshLX5oeHsxKjRoX2YzVwp6c2l9Syl5VSZEMkN1SXZAKU5CS35rckRRd3R+Vk9rSH1na3BU
YEp9RiQxKVBDUHo2fTRHaHlgYElmdlhkQURjSnQKelN0OEpqVDt1WXR8SWMwa1lMVStTeVZ5cTVD
TFh1bz9OTkVBM0pzKC14RkokVm5KTlIpazUjeChefHdWMlZ0PFpUCnpBfj9BUSlXX29qXkdCRTlf
KHh8bjhpc3tnKnlaQjZpa2ZnMS1HcilzMzlBQjdlXyt1UEspOE8kKyhMZj5WV1JGdQp6QDYoRiE3
Wjd5M2ZhZ25xKndOX24tckxLaWd6KDdiaVV+eCpoQyRxdHFhPH4weXZ5UW9HSDdlRT9KX1RQZEtz
TiUKem56NG91R018OWNfYk5vd3o3PDc5JDhJKHM/dlkjLW9OMyFyaVN+Ui0jMSNzIV9VbFZZSWh0
YEc5SVI8bnczUlR1Cno/LUswWXZqJH0/K3RKbGYqO0NnPkIzTWBYdkNAdlpfcFpwZ0tVWXUpKGAh
anRkaUZILSp7PjAmX1pIZXdCTko4Qwp6XllxdGhQLXl0TURPfmptMDBDZzZ5YmZQOUhvWm5zIy1H
bjg9aD1qKGxXK3kwTXw2NWxOTEY/JFVCWDQ8SkB4X0EKelBASF9wX0o1KldIZik/eiV4PzJxMHdi
MF9gNWpBNWF0NSpvPlZnXncySVVANDI0WmhCYUpzU0dRT0YrT2s4ZWBeCno+al8od2xfIXUwZ29e
OFFsezUwVnp3LTs0c2VzTFU3I2ZeayN1az5nVHlOJFZaTUwrZF5sdlhJcDt7VFlOWHg3Xgp6S2ZU
ZUJjJiVYaSZ7XmshKUN1UEo3akVRZXlwcXV2UkVlaj9GKmB2QkF7YEkzYm4yVDRgQ3p9RERrZmRA
RkRqLXoKelFNZGJlaWw3fXthejs/Mlg2LVNFPC18Km8jdVY+YEleTiQ5NlN0RFNwdFBlbWhCWVI9
VV49ISZMNClmZnlRWWkjCnpBfE9sUUNgey1gPFVQX3QjaCFQY0RMMVR+M1FPeVJVLWtsQXQjTTxI
WChgN0M2KUh2dUFtP05OSzQ3V3FUaUF2dwp6QlclaV49VGttKHsyPF88cnRjfmA8M1A8bUM1WTho
U1pkcmxxPFRgWW9NaFU5YEl2Nz17Y2tgN2N7Tm5xR1lkdm0KeiZLSmZSLSFgdTtlWUA5dSZmaTRa
b2c7Smx0T18oS3RDcGJqUk4kI1Q7cC1KbkpJZjhmKU97NUJkMmtoUklPZjgzCno1cntPYUBVYj57
UiNKUCp0OyN8PTlQVkh6IXB0ckBlb0NyWDI1ZnE/XlJza31sNV4hbmI/ZFdWPmB+Jjlgd0gjKwp6
YHQka2BQamN2VyZ3SkNULU5XODh1TiMlTWRQK1Z+Qj1lI3RQdmtZIVIlKm41K3MqeEFaQ3pVZkU2
Uih7K0x6ZmoKelliMVQzVHVkQX50b2FCMSNMMlomZG5NRG1afFBIbTdSbzwkPz1xMzV6VFdjKnF0
X0E8dDxpPktvK0s3TWlfcSpmCnpLWnQrV2AhZCY4WkM8U3tsYkh0LUNTTjcybGlIYnA0R1hxQlh2
VGdaYH1kcnwoN3I5NTNlY3MrR1ojOSsqbT5fZQp6bipTdXltMyR6fEA4WVhwI1didHxYam5vKiM1
JUZsLXlEZ0FVbXxxQng8ITNgMlZeOVpRPik/bUk+alo2PU5CP0UKelo1JStzenE7VkoqXkF2N3Mo
KnVWKzBaNndVRGI3UDFKdTFNb0d6RWdEel5YbEdXVHVoU25xSE1ka0t5MCYpTWo/Cno8c1E+SGk/
UCF5MEpRPX5qazJqP15eXmRjXmFqfClSfW10X1MhZTNVRGdvYVhtX3JZNT44dUl4dHNlMzxsYFZP
MQp6KnpwYH0oT1FLdVFZaXFtT25TNEwkKlhhUSEwdSVudVViSjt2JlpafWFvfF5RUUVnYVdQV1Fs
fC0+WmBwUipLI0UKenFJZ2dUQlo9NG4qQ2xCQXBfI2E+UUc+T2twe2JlK1V8ZyMyPVklfmpYO2RY
dzkrd0NuQmJzRklrZ0VZdUZYVCVyCnpta0g8Nj02bEh7ZDtvSUdNc2UqPDY4TGBKRmU0cG9MPGw/
WXJ9ZT19emtxPSs9Ykc1KzFCSkBpeUk2YWNgaz5uVwp6M0JfcnhYUHckTCEmfHZBZXFEVUh1e0sw
SE95ZmJ0I35ibD9kTGZYek0rRjRQeHM4RVV2S3NEaG0zS0x5PVcoUiYKel8/OF9qTCZlMX1COWxN
b3U3OEVhR2Z5OztafkwlYWNnNEIkMzVQbylVZkhNTDFNPCRidUwodj5jfUB0N1h0Pml6CnpoVCEp
WV57eFkja0FESUVzYyExKztwJmlSelNRZkQ2d2dmV1hoamRCZHltV2A+O3dxKUpYclheVTI8S1pP
cTd0SQp6SGpudXcpNnYxdj9uTDt0ZUVvXj0/dEw0Zm9WY0w1Kk5jNWtCWmkpZnoya19tQGJaeTV3
fjIyVVl7K29tNlpvZTMKel5kc24hSENvWDVtU31ePDdwTXtmenpEVU45RF9mfC1NfFcpbmU/KU9z
Um05TiFeIXtyeiliZTQ4VmdxJSspN3x4CnpeV3EwbjVDPXBzbmxJZzExaEFDcWc5RnBPVk19K1pi
fDBOViYzRjJZeFZMaVpkUGA+dnNuckk9TlIjOyllT3VpTAp6UCRJRCVVY3lgcSk4OCYkLTxWM3wt
cV9LfXxEJEVHZEVmaXJGTD8lSys5ZXh3O0lyKTcwLXJyb3hhSyQ4QUNeVEgKeitxSDA2dn14QiRH
ZkNiUWMpV3cyPU8+cWQmcnBtOU1OdWFeLT0reHZGNjs+fGFZdlJFQm1uRVJrIyReYHQ9SDxQCnpQ
TUlGNnA5MzllKE17R2Bee31ebmI/R01QSip9ei08bFlFPSpAfkIqO095fCpvQn1DQiVyeCh8cE1C
SXtmeGp8LQp6S2F+Zjt5X3BlcWN1biFeekR8UW90Kl5CYUk+IXlGTl9OOFhfM3NBdFpGaVNWcyp9
cnVeJGo9SGRCX0lEMDJBSzkKemwkTldDaFg9UzY3SXNNbSNJdUdoenQ9cXd5XnpGQnhUK3ZidjJ9
ejdaRSF9MHtKLVklaS0rJUErTG0+KSkyK1lUCno7NUVlZiQqeHg5UjNZazR4fjV8ezA+OGAyaXZI
T01taVg+MFBzY0JAV157fTI+VTcoaFBORnk8TTlWOCNRfkh4NAp6KUw1cmopZ3dRdE0la31QPmpk
NlNuYVdsY1lCI0s/UF4lNDBpfWBnYjs/azFqNmppVWJIS2NWTW9xTDstPzRsJDYKek8kakxPK1Nn
eEdrKEMjVkkjOWk7biM0T3RlR1c9WTlTPEJ4cTlvKWdPYmB7akFwdnVjZ19KR0E8Xl8oKUd7bGdI
CnopRn1wYldFSTUhVUhqZVJTLWQhIUFWbE0jXm5JTGM2Z3tjMnIzKUJCOG1IU3E9MnJWeE41fWIw
LWgqX1Yzbz8kZgp6bmo2REpTZD4hfns4eUx8bEdkeUUldDQ2Q2xIbCVKITAma1k+WXI3YVpiJE4w
UDg4Wnd6dWtBa1lCSU4wM3hjJj8KejUwJWEpZ0kxcHt7VnZ0fio7fl40bX0+X0FQfFM8cmV4Kyt2
ZWFaMXtCRTh9cEZoYGJfcmskXmYwVX1CfDVWWERQCno9Rmp0PT92RFJHPUh8dmc2Pk92UiRoVlhj
ME1xPzF0PkspJG8wd3A1Qn4tKXheWW81OT43U1Yme0M9QU9zRj9kdwp6KmxGZz49QXI3cTtoNyVw
JEFrNkAtUWo7VWswTn1nXyEtfn1NTWp9JEwqYG9fT28hM1RJajwpVV8zUW01Q2lNYmYKeipQQVhq
M29nNnoqVHxfPUB+IyVuSy1DaDk9ODlkLXliVHU2M2JwMlJyXktuO3c2I0EjWEMmUXZfcGlsN244
aCVLCnpSSUE+e01oI3hvLTZBaVhfISY+MXl7Mnl1a0trUkEoSUZMT052bWNkcEJeX1lVKkl2fDAr
VClqcGF7RlFRKzdFNAp6eHwlNTJlUWt5SlYwUkxXIWVLVVlsTWN3bmpmSiZjUDdkeD8tQSM7TThL
YXAlOVArV0ZyaWFjK3ZKOCEjV1AzN2AKelZ1UCh1eng2TyR6OSVgQihXKnFlY3JCaGtvc004cnlG
TWx4c2ZMfnJnN1lBYipJSVhHNmFVKm8+Y2VzOVZRVDMrCnpqTFUjO2JDblE8QnBXQGktdWkzZERu
K2A8YmZJNEVAa0gqKEJHZiYmUUpGVHZuKFk1UFU2NCtkbkJsY2E7OHJ1TQp6UX5eNHlLVVV1bTwk
LUZXU053QnUjT1FWe1A3KSo3aU1nJkM5PmpjRDh0Q0paQUNKfUpaJSFlfih2emZTWmx2V24KeiU1
Rnc/NyoyI2FCK2Y0aXNHSHxtMXI8NFM2OTV5P3hOSj1IYmI5YEooYz5+S0MjU21sWWhjPntmYmsk
fHFzbCpFCno5S0dpfTF2TSZVWV5ZZlpgSDVRbm1RKEU9XnkjfVVRbS1hPFNlPWJ9enVXc3dZOFNa
cDRFO0R3Pz10STZsNXNoewp6RXc0Tk1ISjh7Zlhzej95UGA0TGxYI1YwOUIzV2dGO2BJYkBNJSFh
PHhqRCp1WDAxLW05Mm1gVGJBPkZ7cmY2bXcKejA7SFNoenFxI0N0Y2RSMCs2a0xZOzs2dUsmS1NH
S3B4ZUs7Uk43V2ZjdnEmQnE3R3BNVWI0JHFANHQoKlhqSXFBCnprMHZWfG5sZVp2UXt+MWZITGA8
PmtseC0tWElLJTJuXyZvUVRpdF5QM3MrPkRXKnJBWkZtY0VzMmlFX3lFSnJsJAp6c2ZnVyo8OVBo
cEZGNFB7Mkx6ZSshZngxPWVEcCtTTGJVI0hlfnNHaTtGU31TTn1sN21oVVd7fllNS0c0WWRrJn4K
ek87fENOZUFHZSs0eXBBX0k/azFaZT5tOEA0UT10bmJgNG43bWRTS01XKns+UUdhKEwkellGPWM4
eC13WClIT2Q0Cno4UiRydF9VdmsyYlFxPHo8RF5TaWxqTis1am4ob3N7cXQqPHdhZVN3aitkOShw
S2Q1bSg8akRvRm1eRUAhLW9EPAp6cj0qTTU7ZklJTGhgMSVDMU0tVEpFQkR9I0NkYThrRjA5UUNR
IUp6Sj41SDNRLURoaDcrfVg9cXt7dTA8Z2c3R0cKeiQ3cjk7NXViIVVnMyN9PnUrdmUkbm0+e2tG
fHw2cVFvNWR+K2ZvNGtCXjtTY21CM2Q7ZV5UTUYwKCkyZmJoNHU+CnpMVDc2ODJnWmZxXl9tWDds
VmtLPlIxVlpNKj94VUt4JFkjZXVORk1lTkVGeWd2PTBgaStabUxHQkQxYkRpYiZjTwp6b34/XlE4
ZTAtY1ItME4+R3sqRj57dWYyWkhiQ2NzdlU0TWYqfjVpNFA3aWFfWGNCI2p1KzI3SlROX0RyR01n
Q2gKelB4LWp5Z3lKfXhyYjJNc0BvXiFKaiZQZW12QFpDSy09cDVSYENsOWpoNEYzcnMtOz9JRXhn
Y3hgelorUWRoeiZGCnp3QEtRJTJYJEJeK2VDUnNWM1hGTV8/dCR4SHI3bTNsLTxRPUNkfSY4I285
YVlZZysmWldXWXgpIWo5VGgmc3VGVgp6e3ZJekt3ZEc0V15+U1crWHptc0UyfmcxNVU/akpBcV9N
QDFSYWgpQjdCbXRDLXorND50OGwwUE9aXjRZR2UlRGgKelFIbThGezJ7eEZAUVU3a09kI0F7N25m
dSpFZyFkZFA9NXY2ZVlLSl9LSWhXdHVKYlUoZ0lSRUFiZjc7NzxKYW95CnpNMk1NLUpMazlnMSQ/
fmVLZklwdjUzbEZuem16MnBSQ0d5dGh5fGIxVW5Ve0UpbyV0NVhaP2d2MjlFbDhgYlcyeAp6LWd6
UHUmWUF+QzRxeXcqSXVhcm1odGAoZ01OJE1LYilqKmlxc0AzUHslWUokVWVxVStsI2U9R1Q1fD90
dlA/K2QKem1qKVpMayo8eyFrVyEhQUteZ21ZY0gyQ1ZzI0FlaT9ed096LTlgYmY8Jkt6b2d2PGor
M3E0QzJ2S35rKkg5Q1hBCnp5JkxiJUJNNTFfOH1XRSpjblZDbygxK2t2OzRMQ3s8KF8yeF8zSzBQ
cTFeIUg+fThmOHNqaGwjVkBMKFE8PT9HTAp6KW5TSz51c1J9WDh3UkttcWcxYHNQQ2d7NnpPcUdG
P0dQejRjaS0qNm14QllVOzxuWW5EOEdNT0h2QiQkPztpc0UKeilYKmZIY0ZvKztDKUE3MDh1PWMl
eCk/Uz1zQFN5YzFmaWxgKiRAQmxyb2NnOz92QGNIbXxDRkRnRWV0KVMwMENzCnprdiVGdXQ0O19G
UD5yPWpzbkhEUz9wfTd6akpNeiNRdUF+c09rdSNQWU5nZmBxdlgxZ01YZWNRd2F8PGEzPF90awp6
UVQ+VmoleVR7elMmfl9IRHRSb0h1czh+PyE2Xy1TbFN2bjlpNWlsTl5Tfk54VkM+eTQ4Kmd3SmVX
Iz5uMkY0MT8KemYzTXJyXilmZXVSUnhNenxDMFJjeU4jK2Y1ZEJiI2xCPl49bTd8Vm1RejN2KVlg
aVVhZzNtYX1gdCswZi1GcGBMCno3ZCghJGxIZnhjQVBKcCtOSHdzRHE8dEVBPktSclRzTU5iOStG
eSN2QjxtcztJbUhfQXJjaUwkWShXeH0/WTUrUwp6YHpVRmZPVCR7JVV+aiNRcj5Uczg4R1VNdmox
YlleUjt4anNzXzx3NC1eVklsPXkpbFghZHBlTkZDa35WVzs3OVcKenZMUnUmXilWWEUpY1JtcVdU
X0Z6JnExYChMPE8oUyMzemp8Tm00SUU5Vit7b18tRSlPTWpWQzlAcWQ2JjhyMlJRCnpVb0J9Rz5v
KnxKPCZMMHEyJSM7bHdWdjY2Wklgb1UhRDtTejE3bXIzR2M8V29DcXpONy08YXlqXnxxQnBeQXtB
VQp6bzJ9OEBRM19UYHVgVV94YVEqcT4yIyZnTV9OQ1l2ZGBxZEgkQntEez0hVlBQI1pCIU4+Zm9v
YVhRZWVEcjRFOFYKemNmO0FNb15rN2xlPFcmRj5NanZwVCk1b01mQ3JDfEFmWFBUK18xPmorWUpe
P1hLVG9gRGN6RD5hUTZ2ZDk1SiNvCnpkOz1JYCU0I0JSM19FcUN1ZE0lRmJvNXJvOHt0fGV3MjlO
ZU1VK30mPFY9MERUMjxebzhNQzd4VUwwSkd1UW1Wewp6ck10a2o4aXJsLWc8cmx9dz8hMzwxRm44
NEBYaXp8R0coIz1tME82SiRORVEzTCNJeXk9eSp2PSNSXk5GP1BRa3wKelUmNz98SHo4ZjE9JFko
NTg/JFFIQFp8eHtzITBnLTFQQikqRygma3VoS1Z9RzEzdmhtQ1U8Xk4zYDFoOyNWLSt+Cno8d05A
dXJqdjhpOE0kZCREKHtvK3BgMVJodCt6b2IlYXFqQlgleitnT0p+RU9HbkhRYHlZVUtaK2Y2bGxn
QjAjUwp6RmFYWjheeU8kYCZ7X1E1PjhGPk9pcS1ucDZ7dGxSUGRfPmNWUnNLMnc8ZE8pall3eWdr
TEZDUXFmSlp8LVN3WUsKem1VYH04U1BQJWImPSEtVUtLWEVTNEIpUT5DPTNINjk+MFV5bnBUdD96
QWRRQ3ZPMmJTMk4hMElPRTFXfkpxUzZqCnpyfF9jTk57fEs/PkJYakhuNW9ZckI3dk5VVmEzJTRQ
d1FlJjxWNHlJLXwzUy0tUHMpZyohbjhZTyZ3Sjh4WmYmbwp6WDtuYTRDYDk/Y0l7RHNmWmdhPj1h
Vzd6VExsPlgoP3NUQStOUjh7YT9pXkJBXnZWbHk8NkNhOCQ2RHVUY15oYF8KeiFkaGY3PTVfQX56
cz4tcytCVjFSZVJ3P3t5WksyJkEjT3omJj4jKj01JGpjQzl5dGg4UTVNJTE7NnpDZC1zOGxPCnpQ
ZFpMUV4jQFI3bmVRWGxAVEBjM2tMc2xqI19mdXBeKT16bGQzUEAtJTluRTVvSm49X2tgcU54OGR3
R1hkPzYwMQp6PiVgY21gPiV2X0EyfklBX2c9dFV2fVdiKSpKSig3Sl5FUnhHejIra3JpczhHMjc2
UzZxemNEci0kIXMqWjc0ezwKekElbjE+emgkalNOZ01rcmJOOCgmTzFhLUJzcyg0SU5IQ35KZVYp
SkR7OWw5KkFSMVA2bkFGRXErRnxIV14rVkxnCno9Q1ModSlaKUpwelF5ZzFFRnNGWmhGWDNWY21C
Vzdgd0lucylCRTFyU1FOPXUzMFVqeGZgc31XJUVPJiRvMWJDJgp6PkNlSihwSiVVZnBjeTs4VDwh
a2kldmM3IzRqJjhhY3g9NjhQZjJzbnpIdlhALWxQYz9JK0YqZHpWMW5AQUR7c0gKek5gYEBucihg
KHBNR3w7aj84Ozs4dSVqPztHYT5ZejMxVlRjQzJQXlZrOWw1RDNFfilrRUZVfDRPfSZsSFN9Kk1x
CnpIeEdaXjZLNl5GI1R3UlZyI0FacXkzYDteKiFjUiM+fTZRcllSUXVWVFc9Sm00KEE7bD9nZGs3
LWN5K0V1e2JQQwp6LURtZlI4NW8mUTZWbXVCMHMrPnRacT5DKkZLe3dfNXJHYi1wUjd+JmJJI0I8
Izc2OzBreVgkfHo4e2pYRWtgUmcKekNBSn5Tc2VRe1BxcW9pKjNrOUUlUSZMUWJOc2VmNj8yNmAq
e3dOeEFhTXgtM1V2dVAhT291PDZufShMWTQxaCtVCnp5d3Z4czFJZFhzXnw7YVVIWj05c2ZOP0tu
eT4tWitVI2ZXMDRKITB3OE14YjEhUEB6a2txK3FXJVN7eztlKUslSwp6ZShfeDhFMD9JMiRDfjRC
MEZzZT03YDMyS0MtUGhEM01BckhYcyY2eiZRPjBXVSgkbVApUUVrV3lmNkB8O256MlAKem5xR3N6
Y25Ubk14Wjlwbk18cyVpM1RVZlFTJG5qdyZjXjVadTs7KmBOU1pLeXpOV2toUEt3I1hYZEU4UV9P
SGpUCnphQ2N8PHF1SjEtajtybkxHS01RRnZqcmV8SSF+ZEpVUkpBNFpNPUNhJTVhKihHR1Z6ZnBa
O2NvcnklPGpDP2k8WQp6e0VwPz1ZbV5iQXF9NilkPX53amJwUHAyRFN9c2A2ciFLd3FOZ1dTKEhk
MC1qZ3xxK0RMfmVQZmBaNz1KeV8oQjwKekY3QEwlZmxsJUlQOUBqYTx+NTtzO1pNKkYheHJYMjZv
Pyt0PldYODJffHRDLTsxQFI1cG9pLXxPMEwxcDxqZmxCCnpJWV5Fcz9fOzRybFdAIWlieCVIWFlO
PnJFP1RZXnZxO0gtNjV5OSpaWXxLcTM/MihRYVpqV2xVQHQ4VTg5T0JCKwp6K0Bya1hTXzxqMVol
I3hQTiFsY0Q8bVk3RGdRPXtIbyFrZFBDQlJaWD4xLTdCcHM1c3AmWW5MeENCPDQ/ZTV5VmcKekZE
RntZYjN4QlYxMF5uTHpeYW9zNmU5dTNfZGE0Syp1NzlZdj9nPlV6WFgyOD9uK0lzbUFGakE2Iyt5
cWtXTyp0Cno8NVRmKHlfU31KWUN+JCkxMTtmPzwpTEt9Vio7aXdaa1NPPmhkPXd1Pl9fSj1nbUFu
VW50UlJqIWRXR2VeVXM9Pgp6LX51a2haQG5KdDFzUzskVV48fkEjMW9AfnhYUTgzeFRteStKR0Io
d1cyZkhPP2V7e3lERUkxVStoPHJGcytnYT0KejZIfXg9PlNIJm9pdG1SUkgmITt5SF9XcTRKSiFF
Xz1zOFBfN3l+d005b2I+b29yeChPZSt3OUU9dCRvLTlzR0skCnpqcW5Zfkt8KGwhKElHOCN7bTZr
RVB8aiVQJXExdVFMJUxZV2VGYHFgNEo4VEZETD9oajtQaSR0Y1VvSyFsTlQmaAp6bT5ObUhuKD9M
UkIqTz9nc3xndmpFZVMhO2lHIU9McV8kbSFVcnM3YzdRQFhUamhPS1lqNSspTUs3cCpPIUdjMC0K
ekc7eDYzVndZNHlHb3RDb0d9JCZpZFJEZmxaRCohMUFtbTA5bFhLUyo5K2h9XyhnYz8pR3ZiUGBq
NTlxQ3klZzF6CnoqX1pNYSVwZl9LKztjSEZrM0pYe25BSzNlPFhHJThrRDF1MHF7YGZ2S2JoeDRF
e14hTXJ3ZFhrd29temVYSWJ+Iwp6Q0F3THotQjcpRFppMm08O0VLUE83Zkw8dkU1cD9RVTkkRmRi
TG5HcU8mS2IpcF88b3EhIUQkRDt5KjR4P3FLbmwKem5xfkxaUXUpMFF3TXlzdzE3UD19Nnc7YnZh
cVklMzxGN1ZKIylIQlo7O2NmNjR6PCRoUXBocE54MTsxSHlnfS1HCnpGMjsyNG4pbXBgYURXWFV5
SFkhNSFHMUZsSmkwYVJDKH0/MGRFSylhU0d+OWVAT1d+YiU/fXR+R2tQP1QhODUkcQp6XiteTV47
Xio+MkUxWjxPYyZfQTV1KFclQmVZNT9ad1hxcDRFXngjJXpVJG18cXNnbXU7K0lVYzh5QHFhRW5i
STUKeiRYbEVEcSF+YiZlfTgqSXc8MCl8VDg3N0xUTjl8VmpvP0B1cDwkeFZTWjY/PXdsK3E8K0JZ
UlhXc3M4YSpNRFdXCnpYPGhxdDFxNz9MMFUjPlo+Q3peMTB7QCYhXiE3M2hIZ2Noei18VX1oRzhs
Slo7NkhXREZFb1hsVz5tPnwxaExKSAp6YE0oYUsjMlM3dk9IQlcwPFBobzl7ZzVwPFc4UG5aX1dh
aVNqfjd2IXBRNHhrQzk5cUExaWFqSmM8Y0M8KDJBJXYKenNPbnBWKHI9T1RGbmdabmx5eWxkMFRa
bENDaW9ZMThjUkNwV2MtYEFgbFZmI1BKeUlEbV5TPmE2VmxURG1YdUAwCnpZSS1MZGU2P1N0akhJ
dlVZMVZ9V0V8RHBOeWAzajs0eClLMEo3dk54MCk5SnhoTl5XRE9wa3QhO0I5ZkZSMElgUwp6VH1K
SlpkdDNvRnJpdUtFQ21JSmo/Mjl4Vz8yOVBnKjs2eTkrNkd+QDVXNjZ2d004a0xQWSpzQFRXWjJR
ZVc0eHIKelR4ZjdPUmdlYThxMGFeYkc2YnQ+PSM8d1IkJG8jbEUqa0t8Mk5ZS1VETHJhYz1gfWBk
UmRhUVB5Pk1KKHohMT8wCnpzdGVIcFE7a2wzQFpgRmEtVEM7YSZoaG00dGIqcWRWWXF4UmJXbXQx
Mn5rMV4jaipeS0JOemxvPmtQUCFxRmlXKgp6V3x1fllpT3BJZld7aiNub3tWU1JIUyFId2IjVz9O
WTtYQDw8ZT9kI2JQXmR0M2VrK3VSOVNMOEwtPHxHKEd4bEcKeiojMTY4OSYwMCMxdzlGMmt2PG1I
SiFWfClkOTZtKSEhO04/IWtMNjNfaEVmKldKUDV1PDVyZzZ4WER2dWRlQy1lCno1Rlc2cFhzdU9G
TWlgUkt5RGU+cUdHNW5AIVUxYn1KcV9MRylSajlEPzw5LTBUTH18TD83TXR7UEcodCFqUkoqdgp6
JV9KWT57a1BsKTtEY002amxuelNhb3kpKUVDcFYrTmpAUGE5KUlUd3NUemUrR2tSe0U9OGNZJih3
UT04YFN9RGUKelZwXjg8X0EoQ2VOJF5iKTl1MFlEVHBgbT1OJjFpSW0kUX4zMyZJVHJCY1hQZVNo
MGhOM2ZXPURDQ1BiYSstO3xXCnpYTz1YfkJUbnM5YyVvTUUjMjdDZmQqUTNOI2YhbmwoPXVJc1Uq
NDI2VVojKy1OfldAMCtoPFJhKjJlfjZyeWRwKgp6JlI9PXVjXkgmJntVd1U4Qml2flA/a2BSMGY2
NWA8IXtuK20zIV5qMilaLSRyT3JVJHRxV1kjbnJMQ2kkOXNuamYKekM7RSlmXk9qPV8oaCV1bXUp
TXh8cCstay1GV290X1dCQkVJM0VlUVkjNjB7YGtGflhVSnhSTmliIU8zOU4/S1c9CnpATURIdGZQ
Pnd1QkxJVnlrSiQ5XjFgQXBMWXh8YilOdzEzITF+a2Mtc0RBSzwxMHNpUjIpN1JQPjtgUnE7RDFY
Zgp6dHJnbmBaQ2MkcWtvcVZ5cmxpKV9BUl89dmVNZD1FJmp8S05KaHluK0t2Xi04eDY5Y0wyZyRx
cDtsIztYZSV6ViYKektKOzU0QnhrK3dsa2RrbUBYWk9MWmlwTUFOSy1xMkB9NVZ4aHNUPF9KRnNf
bldCQDhtSDFoQ2sqRT81Z2d2N3FiCnpQKH12LWtaPll6TjF3ZCQmKCZLOU97RHdKS1hyMFJRaHBB
MGNSNWQlVkB6YylsJXA9TnRIJGFfMHVHaFNodndqPAp6UzUhe148dT9sT3tgb2hoWk5zTD5jTygq
ekI5O3Y1dno7T3A7Qz1rTUsta294QHIwc2drZ0xTK2o/e0t4ZmdZVXUKekp+NT9+VldFKCUqJmA8
PDlkbX4zQEEkSj1DbGx1XnQqPUpPVWVKeGZhV3VGQyZIKT9Qbik4Qy01IXIwbHBBVTckCnp1TnZj
NztaRE98T2tye0VocH5mUnVLZ3Y0YEVWS3Q2KlRJJVBkYFU3ZEBzcjNIREByIWM1VGN+UjwpLUNC
VU8jNgp6dWdWaVNDRz1LV3ZwTiFPWXc1eGFIdVNZO3V2Y1BpZ0s/SDV3UFlye3JJYzRvWlJsLWpB
RmJLKmMhQ2lzdCRwZ2oKelUwP21+c3soJVFSI1grPS0/eWxJMW5ZPzhGS3V7clJxSithRWJOfGxn
aSUldjVqPk5WTXd0Z1cqcjhAZFRTaX1oCnoxRXIycDwmaUhtUFQ8P2RpRkJsOU1gfm9we2VAQXQj
dVZyNTlwUkhfeDRpdkV3c1I0YiE2e0wwKn1MSklOJFJfPgp6PGBVMEVPVmMjWjglbSY2WjJIMW16
e01sQ2F4X2I1X1lwaHFRbVcmaCk4QEZ9KjB1PFR0MEYhUykjZjYzSkhaXyMKeiRBPD1JOT91V1lZ
Pj5QMk48RntqVGFSWFJIVCtmP01YbWd4TCNWRmRQRGVwMWsranxxcFFZaEpacUhtM0x4by1uCnpU
QlZJWF8tSDh1NzFnIzlvSlNKU3FgR1Q7cDZFXmYjcVhaWGprKTdhMyFXPXF2QGVAKTNXKkUyb0Bm
Sl9iTDhjewp6OSN8ZDRRdEl9TitKUkpEeCEkPmhZZ0tCTEd9Q34lOSVhTFI5R3l7R2RWQWREVHQy
YSVoMF9WMWxZVDs7R0RzcCUKekY/PWVBWHpGMnspYW1Fdj8xVlhBKER0VC1ING8jY0RsOTt3WkBG
MkFtfnAhYVpXbFpzK3xjbzZFTEBQfmEyVFVHCnpjWXtVSGR9c2FoJCojUHV2MldkWmYwYmUlNTJM
OVVWUChTPTtqaF90RzNDN3hkQm88SmVTTUV2aDtPd2tsdX5HJQp6WFlYeE11Pzh1PEhxbz8yREYt
WGowTkghOypFO3tRc1VVNTs3c0RpRkolVl9qU2xPUCgyRUQ2RHEycTBIJiRCNG4Kek9XTn1eQFdI
bVhhe1ZkWmxVWHpGWEo1R2MocDFkMHpybU0oNkp1RyVeV2p3cHo0NCNHZV53ZzN0LSteMV85KlVx
CnoqfUdEY2k4a1hjY0xzXz5aS2VDb2d2WnxCRGNuUWhDTmBTSUdyc2wxaV5xMCF5Km8tYmVmRzM2
IzRCPDJOYzxoZwp6SFRAbDttfGV4Y1JofF9Ra15aKip5OHYlQCkrOGVYbkt0KCM2cGtCZzEqSDk5
PG4qOzR6MV9LSEcyUUhFaU8jUGcKeiNsJHV9eXpwYn5TfiZUQ147JTkmPy1VaHQtP2h1a1VGcjNN
P35kTThoJjNFZGdwP3I8ZVJtIXwhT1glOyNCcytuCno7Sit2NCVuV3p6dXIjemV8Sn1qPEQrbCVg
STRBZ2ljV0Nka290WCUhKkFlKkxERnxvYkc1eTFHIXs0Pms5byhOIwp6U0w9TjZ5WXEmSmc/O35J
c3E8YVNxVlY0cVJSPUQ5X1coYTA+QmxKam1gZ3VhK3ooeSlBKGNNQCU4Iyk3QlJUbnoKekZhNWhZ
PXRveGhCbHJHTXE1TFNDZXczQyEzaCpEODtzLWhUIUl5cWV4RjQrWTJSOz03QCZFa0IrWWlZNjFJ
N1A4CmVYanA2dEcjfkE4USZGZGYyITkxIyNMQnwlViYoN0dAQmJmRWc8aCl3CgpsaXRlcmFsIDAK
SGNtVj9kMDAwMDEKCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvdHJhbnNp
dGlvbnMvZGVmYXVsdC10aW1pbmctZnVuY3Rpb24tZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjL3RyYW5zaXRpb25zL2RlZmF1bHQtdGltaW5nLWZ1bmN0aW9uLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4wNmM2YjRkN2IzOWYyYWZmZDE0M2EzMDRmZTZmOTE2NTU0YmZlNGJl
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3RyYW5zaXRpb25z
L2RlZmF1bHQtdGltaW5nLWZ1bmN0aW9uLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDIwIEBACits
YXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKKyAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgw
MHg2MDAKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDI1MgorICBSZW5kZXJCbG9jayB7SFRNTH0g
YXQgKDAsMCkgc2l6ZSA4MDB4MjUyCisgICAgUmVuZGVyQm9keSB7Qk9EWX0gYXQgKDgsOCkgc2l6
ZSA3ODR4MjM2CisgICAgICBSZW5kZXJCbG9jayB7RElWfSBhdCAoMCwyMDApIHNpemUgNzg0eDM2
CisgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDQ4N3gxOAorICAgICAg
ICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDQ4NzogIlBBU1MgLSBcImxlZnRcIiBwcm9wZXJ0
eSBmb3IgXCJib3hcIiBlbGVtZW50IGF0IDAuNXMgc2F3IHNvbWV0aGluZyBjbG9zZSB0bzogMzIy
IgorICAgICAgICBSZW5kZXJCUiB7QlJ9IGF0ICg0ODcsMCkgc2l6ZSAweDE4CisgICAgICAgIFJl
bmRlclRleHQgeyN0ZXh0fSBhdCAoMCwxOCkgc2l6ZSA2MDB4MTgKKyAgICAgICAgICB0ZXh0IHJ1
biBhdCAoMCwxOCkgd2lkdGggNjAwOiAiUEFTUyAtIFwiLXdlYmtpdC10cmFuc2Zvcm0uNFwiIHBy
b3BlcnR5IGZvciBcImJveDJcIiBlbGVtZW50IGF0IDAuNXMgc2F3IHNvbWV0aGluZyBjbG9zZSB0
bzogMzIyIgorICAgICAgICBSZW5kZXJCUiB7QlJ9IGF0ICg2MDAsMTgpIHNpemUgMHgxOAorbGF5
ZXIgYXQgKDgsOCkgc2l6ZSA3ODR4MjAwCisgIFJlbmRlckJsb2NrIChyZWxhdGl2ZSBwb3NpdGlv
bmVkKSB7RElWfSBhdCAoMCwwKSBzaXplIDc4NHgyMDAKK2xheWVyIGF0ICgzMzAsOCkgc2l6ZSAx
MDB4MjAwCisgIFJlbmRlckJsb2NrIChwb3NpdGlvbmVkKSB7RElWfSBhdCAoMzIyLDApIHNpemUg
MTAweDIwMCBbYmdjb2xvcj0jRkYwMDAwXQorbGF5ZXIgYXQgKDMzMCw4KSBzaXplIDEwMHgxMDAK
KyAgUmVuZGVyQmxvY2sgKHJlbGF0aXZlIHBvc2l0aW9uZWQpIHtESVZ9IGF0ICgwLDApIHNpemUg
MTAweDEwMCBbYmdjb2xvcj0jMDA4MDAwXQorbGF5ZXIgYXQgKDgsMTA4KSBzaXplIDEwMHgxMDAK
KyAgUmVuZGVyQmxvY2sgKHJlbGF0aXZlIHBvc2l0aW9uZWQpIHtESVZ9IGF0ICgwLDEwMCkgc2l6
ZSAxMDB4MTAwIFtiZ2NvbG9yPSMwMDgwMDBdCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy90cmFu
c2l0aW9ucy9kZWZhdWx0LXRpbWluZy1mdW5jdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvdHJhbnNp
dGlvbnMvZGVmYXVsdC10aW1pbmctZnVuY3Rpb24uaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45NzVmZGNjYjlm
OGQ1OGM1YjVlM2U0ZmJiN2Q0YjdlNTE1MDdjM2U5Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0
VGVzdHMvdHJhbnNpdGlvbnMvZGVmYXVsdC10aW1pbmctZnVuY3Rpb24uaHRtbApAQCAtMCwwICsx
LDc0IEBACis8IURPQ1RZUEUgaHRtbD4KKworPGh0bWw+Cis8aGVhZD4KKyAgPHN0eWxlIHR5cGU9
InRleHQvY3NzIiBtZWRpYT0ic2NyZWVuIj4KKyAgICAuY29udGFpbmVyIHsKKyAgICAgIHBvc2l0
aW9uOiByZWxhdGl2ZTsKKyAgICB9CisKKyAgICAuYm94IHsKKyAgICAgIHBvc2l0aW9uOiByZWxh
dGl2ZTsKKyAgICAgIGhlaWdodDogMTAwcHg7CisgICAgICB3aWR0aDogMTAwcHg7CisgICAgICBi
YWNrZ3JvdW5kLWNvbG9yOiBncmVlbjsKKyAgICAgIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlv
bjogMXM7CisgICAgfQorICAgIAorICAgICNib3ggeworICAgICAgLXdlYmtpdC10cmFuc2l0aW9u
LXByb3BlcnR5OiBsZWZ0OworICAgIH0KKyAgICAKKyAgICAjYm94LmZpbmFsIHsKKyAgICAgIGxl
ZnQ6IDQwMHB4OworICAgIH0KKworICAgICNib3gyIHsKKyAgICAgIC13ZWJraXQtdHJhbnNpdGlv
bi1wcm9wZXJ0eTogLXdlYmtpdC10cmFuc2Zvcm07CisgICAgfQorICAgIAorICAgICNib3gyLmZp
bmFsIHsKKyAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDQwMHB4KTsKKyAgICB9
CisgICAgCisgICAgI2luZGljYXRvciB7CisgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7CisgICAg
ICBsZWZ0OiAzMjJweDsKKyAgICAgIGhlaWdodDogMjAwcHg7CisgICAgICBiYWNrZ3JvdW5kLWNv
bG9yOiByZWQ7CisgICAgfQorICAgIAorICA8L3N0eWxlPgorICA8c2NyaXB0IHNyYz0idHJhbnNp
dGlvbi10ZXN0LWhlbHBlcnMuanMiIHR5cGU9InRleHQvamF2YXNjcmlwdCIgY2hhcnNldD0idXRm
LTgiPjwvc2NyaXB0PgorICA8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCIgY2hhcnNldD0i
dXRmLTgiPgorCisgICAgY29uc3QgZXhwZWN0ZWRWYWx1ZXMgPSBbCisgICAgICAvLyBbdGltZSwg
ZWxlbWVudC1pZCwgcHJvcGVydHksIGV4cGVjdGVkLXZhbHVlLCB0b2xlcmFuY2VdCisgICAgICBb
MC41LCAnYm94JywgJ2xlZnQnLCAzMjIsIDVdLAorICAgICAgWzAuNSwgJ2JveDInLCAnLXdlYmtp
dC10cmFuc2Zvcm0uNCcsIDMyMiwgNV0sCisgICAgXTsKKyAgCisgICAgZnVuY3Rpb24gc2V0dXBU
ZXN0KCkKKyAgICB7CisgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYm94JykuY2xhc3NO
YW1lID0gJ2JveCBmaW5hbCc7CisgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnYm94Micp
LmNsYXNzTmFtZSA9ICdib3ggZmluYWwnOworICAgIH0KKyAgCisgICAgdmFyIGRvUGl4ZWxUZXN0
ID0gdHJ1ZTsKKyAgICBydW5UcmFuc2l0aW9uVGVzdChleHBlY3RlZFZhbHVlcywgc2V0dXBUZXN0
LCB1c2VQYXVzZUFQSSwgZG9QaXhlbFRlc3QpOworICA8L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5
PgorCisgIDwhLS0gVGhlIHBpeGVsIHJlc3VsdCBzaG91bGQgc2hvdyBhIGdyZWVuIGJhciwgd2l0
aCBubyByZWQgdmlzaWJsZS4gLS0+CisgIDxkaXYgY2xhc3M9ImNvbnRhaW5lciI+CisgICAgPGRp
diBpZD0iaW5kaWNhdG9yIiBjbGFzcz0iYm94Ij48L2Rpdj4KKworICAgIDxkaXYgaWQ9ImJveCIg
Y2xhc3M9ImJveCI+PC9kaXY+CisgICAgPGRpdiBpZD0iYm94MiIgY2xhc3M9ImJveCI+PC9kaXY+
CisgIDwvZGl2PgorCisgIDxkaXYgaWQ9InJlc3VsdCI+PC9kaXY+CisKKzwvYm9keT4KKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3Jl
L0NoYW5nZUxvZwppbmRleCBlNzBiNjc2ZWExNWM5ODIyYTRkMGU4YzM2MjE2MGE4ZWZkMTIxYzdl
Li5iZDk5OThhMWQ4NWFmODI5MzNlNDZlZTU5ZmY2YjljNWY2Mjg5YmJlIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTkgQEAKKzIwMTEtMDItMjMgIFNpbW9uIEZyYXNlciAgPHNpbW9uLmZyYXNlckBh
cHBsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgUkVHUkVTU0lPTjogQWNjZWxlcmF0ZWQgdHJhbnNpdGlvbnMgYXJlIGp1bXB5CisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01NTAyMgorICAgICAgICAK
KyAgICAgICAgV2hlbiBhbiBhY2NlbGVyYXRlZCB0cmFuc2l0aW9uIHVzZWQgdGhlIGRlZmF1bHQg
dGltaW5nIGZ1bmN0aW9uLAorICAgICAgICBhIHR5cG8gaW4gdG9DQU1lZGlhVGltaW5nRnVuY3Rp
b24oKSByZXN1bHRpbmcgaW4gdGhlIGluY29ycmVjdAorICAgICAgICB0aW1pbmcgZnVuY3Rpb24g
YmVpbmcgdXNlZC4KKworICAgICAgICBUZXN0OiB0cmFuc2l0aW9ucy9kZWZhdWx0LXRpbWluZy1m
dW5jdGlvbi5odG1sCisKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9jYS9tYWMvUGxhdGZv
cm1DQUFuaW1hdGlvbk1hYy5tbToKKyAgICAgICAgKHRvQ0FNZWRpYVRpbWluZ0Z1bmN0aW9uKToK
KwogMjAxMS0wMi0yMyAgR2VvZmZyZXkgR2FyZW4gIDxnZ2FyZW5AYXBwbGUuY29tPgogCiAgICAg
ICAgIFJldmlld2VkIGJ5IE1hcmsgUm93ZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL2dyYXBoaWNzL2NhL21hYy9QbGF0Zm9ybUNBQW5pbWF0aW9uTWFjLm1tIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvbWFjL1BsYXRmb3JtQ0FBbmltYXRpb25NYWMu
bW0KaW5kZXggNTA2YmQ0MGZiODYzYWEyYTA1NmVhNTA0NGM0M2EzYmRiMTllYzM0NC4uNTA3ZTY3
ZmNhYTdlMWZkZjYzZDYxMDZhNWYxMTJjMDczNjJiY2QyOSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvbWFjL1BsYXRmb3JtQ0FBbmltYXRpb25NYWMubW0K
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvbWFjL1BsYXRmb3JtQ0FB
bmltYXRpb25NYWMubW0KQEAgLTEzNiw3ICsxMzYsNyBAQCBzdGF0aWMgUGxhdGZvcm1DQUFuaW1h
dGlvbjo6VmFsdWVGdW5jdGlvblR5cGUgZnJvbUNBVmFsdWVGdW5jdGlvblR5cGUoTlNTdHJpbmcq
CiBzdGF0aWMgQ0FNZWRpYVRpbWluZ0Z1bmN0aW9uKiB0b0NBTWVkaWFUaW1pbmdGdW5jdGlvbihj
b25zdCBUaW1pbmdGdW5jdGlvbiogdGltaW5nRnVuY3Rpb24pCiB7CiAgICAgaWYgKCF0aW1pbmdG
dW5jdGlvbikKLSAgICAgICAgcmV0dXJuIFtDQU1lZGlhVGltaW5nRnVuY3Rpb24gZnVuY3Rpb25X
aXRoQ29udHJvbFBvaW50czowLjI1ZiA6MC4xZiA6MC4yNWYgOjAuMWZdOworICAgICAgICByZXR1
cm4gW0NBTWVkaWFUaW1pbmdGdW5jdGlvbiBmdW5jdGlvbldpdGhDb250cm9sUG9pbnRzOjAuMjVm
IDowLjFmIDowLjI1ZiA6MV07IC8vIERlZmF1bHQgaXMgJ2Vhc2UnIGZ1bmN0aW9uLgogICAgICAg
ICAgICAgCiAgICAgaWYgKHRpbWluZ0Z1bmN0aW9uLT5pc0N1YmljQmV6aWVyVGltaW5nRnVuY3Rp
b24oKSkgewogICAgICAgICBjb25zdCBDdWJpY0JlemllclRpbWluZ0Z1bmN0aW9uKiBjdGYgPSBz
dGF0aWNfY2FzdDxjb25zdCBDdWJpY0JlemllclRpbWluZ0Z1bmN0aW9uKj4odGltaW5nRnVuY3Rp
b24pOwpAQCAtMTQ1LDggKzE0NSw2IEBAIHN0YXRpYyBDQU1lZGlhVGltaW5nRnVuY3Rpb24qIHRv
Q0FNZWRpYVRpbWluZ0Z1bmN0aW9uKGNvbnN0IFRpbWluZ0Z1bmN0aW9uKiB0aW1pCiAgICAgfQog
ICAgIAogICAgIHJldHVybiBbQ0FNZWRpYVRpbWluZ0Z1bmN0aW9uIGZ1bmN0aW9uV2l0aE5hbWU6
a0NBTWVkaWFUaW1pbmdGdW5jdGlvbkxpbmVhcl07Ci0KLSAgICByZXR1cm4gMDsKIH0KIAogUGFz
c1JlZlB0cjxQbGF0Zm9ybUNBQW5pbWF0aW9uPiBQbGF0Zm9ybUNBQW5pbWF0aW9uOjpjcmVhdGUo
QW5pbWF0aW9uVHlwZSB0eXBlLCBjb25zdCBTdHJpbmcmIGtleVBhdGgpCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>84257</attachid>
            <date>2011-03-01 11:28:55 -0800</date>
            <delta_ts>2011-03-01 11:30:07 -0800</delta_ts>
            <desc>Patch botched by Windows</desc>
            <filename>bug-55022-20110301112815.patch</filename>
            <type>text/plain</type>
            <size>821</size>
            <attacher name="Chris Marrin">cmarrin</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDgwMDEyKQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTEtMDMtMDEgIENocmlzIE1h
cnJpbiAgPGNtYXJyaW5AYXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFJFR1JFU1NJT046IEFjY2VsZXJhdGVkIHRyYW5zaXRpb25zIGFy
ZSBqdW1weQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
NTUwMjIKKworICAgICAgICBGaXhlZCBpbmNvcnJlY3QgZWFzZSBmdW5jdGlvbiBwYXJhbXMgaW4g
V2luIGltcGxlbWVudGF0aW9uLgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2Evd2lu
L1BsYXRmb3JtQ0FBbmltYXRpb25XaW4uY3BwOgorICAgICAgICAodG9DQUNGVGltaW5nRnVuY3Rp
b24pOgorCiAyMDExLTAyLTIzICBKb3NlcGggUGVjb3Jhcm8gIDxqb2VwZWNrQHdlYmtpdC5vcmc+
CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgS2VubmV0aCBSb2hkZSBDaHJpc3RpYW5zZW4uCkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS93aW4vUGxhdGZvcm1DQUFuaW1h
dGlvbldpbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>84258</attachid>
            <date>2011-03-01 11:37:51 -0800</date>
            <delta_ts>2011-03-02 16:28:11 -0800</delta_ts>
            <desc>Windows Patch</desc>
            <filename>55022.patch</filename>
            <type>text/plain</type>
            <size>1567</size>
            <attacher name="Chris Marrin">cmarrin</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDgwMDEyKQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTEtMDMtMDEgIENocmlzIE1h
cnJpbiAgPGNtYXJyaW5AYXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFJFR1JFU1NJT046IEFjY2VsZXJhdGVkIHRyYW5zaXRpb25zIGFy
ZSBqdW1weQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
NTUwMjIKKworICAgICAgICBGaXhlZCBpbmNvcnJlY3QgZWFzZSBmdW5jdGlvbiBwYXJhbXMgaW4g
V2luIGltcGxlbWVudGF0aW9uLgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvY2Evd2lu
L1BsYXRmb3JtQ0FBbmltYXRpb25XaW4uY3BwOgorICAgICAgICAodG9DQUNGVGltaW5nRnVuY3Rp
b24pOgorCiAyMDExLTAyLTIzICBKb3NlcGggUGVjb3Jhcm8gIDxqb2VwZWNrQHdlYmtpdC5vcmc+
CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgS2VubmV0aCBSb2hkZSBDaHJpc3RpYW5zZW4uCkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS93aW4vUGxhdGZvcm1DQUFuaW1h
dGlvbldpbi5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvY2Evd2luL1BsYXRmb3JtQ0FBbmltYXRpb25XaW4uY3BwCShyZXZpc2lvbiA3OTkyOCkKKysr
IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhL3dpbi9QbGF0Zm9ybUNBQW5pbWF0
aW9uV2luLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTI1LDcgKzEyNSw3IEBACiBzdGF0aWMgUmV0
YWluUHRyPENBQ0ZUaW1pbmdGdW5jdGlvblJlZj4gdG9DQUNGVGltaW5nRnVuY3Rpb24oY29uc3Qg
VGltaW5nRnVuY3Rpb24qIHRpbWluZ0Z1bmN0aW9uKQogewogICAgIGlmICghdGltaW5nRnVuY3Rp
b24pCi0gICAgICAgIHJldHVybiBSZXRhaW5QdHI8Q0FDRlRpbWluZ0Z1bmN0aW9uUmVmPihBZG9w
dENGLCBDQUNGVGltaW5nRnVuY3Rpb25DcmVhdGUoMC4yNWYsIDAuMWYsIDAuMjVmLCAwLjFmKSk7
CisgICAgICAgIHJldHVybiBSZXRhaW5QdHI8Q0FDRlRpbWluZ0Z1bmN0aW9uUmVmPihBZG9wdENG
LCBDQUNGVGltaW5nRnVuY3Rpb25DcmVhdGUoMC4yNWYsIDAuMWYsIDAuMjVmLCAxKSk7IC8vIERl
ZmF1bHQgaXMgJ2Vhc2UnCiAgICAgICAgICAgICAKICAgICBpZiAodGltaW5nRnVuY3Rpb24tPmlz
Q3ViaWNCZXppZXJUaW1pbmdGdW5jdGlvbigpKSB7CiAgICAgICAgIGNvbnN0IEN1YmljQmV6aWVy
VGltaW5nRnVuY3Rpb24qIGN0ZiA9IHN0YXRpY19jYXN0PGNvbnN0IEN1YmljQmV6aWVyVGltaW5n
RnVuY3Rpb24qPih0aW1pbmdGdW5jdGlvbik7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>84482</attachid>
            <date>2011-03-02 16:28:14 -0800</date>
            <delta_ts>2011-03-03 14:07:49 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-55022-20110302162814.patch</filename>
            <type>text/plain</type>
            <size>5624</size>
            <attacher name="Chris Marrin">cmarrin</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDgwMTgyKQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjYgQEAKKzIwMTEtMDMtMDIgIENocmlzIE1h
cnJpbiAgPGNtYXJyaW5AYXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFJFR1JFU1NJT046IEFjY2VsZXJhdGVkIHRyYW5zaXRpb25zIGFy
ZSBqdW1weQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
NTUwMjIKKworICAgICAgICBHb3QgcmlkIG9mIGRlZmF1bHQgVGltaW5nRnVuY3Rpb24gdmFsdWVz
IGZyb20gUGxhdGZvcm1DQUFuaW1hdGlvbiouIEEgVGltaW5nRnVuY3Rpb24KKyAgICAgICAgaXMg
bm93IGFsd2F5cyBwYXNzZWQgaW4uIFRoZSBUaW1pbmdGdW5jdGlvbiBjbGFzcyBub3cgaGFzIGEg
c3RhdGljIG1ldGhvZCB0byBnZXQKKyAgICAgICAgYSBkZWZhdWx0IG9iamVjdCB3aGljaCBoYXMg
dGhlICdlYXNlJyB2YWx1ZXMgaW4gaXQuIEkgbm93IGFzc2VydCBpbiBib3RoIE1hYyBhbmQKKyAg
ICAgICAgV2luIGltcGxlbWVudGF0aW9ucyBpZiBhIG51bGwgVGltaW5nRnVuY3Rpb24gcG9pbnRl
ciBpcyBzZWVuLgorCisgICAgICAgICogcGxhdGZvcm0vYW5pbWF0aW9uL1RpbWluZ0Z1bmN0aW9u
Lmg6CisgICAgICAgIChXZWJDb3JlOjpDdWJpY0JlemllclRpbWluZ0Z1bmN0aW9uOjpjcmVhdGUp
OgorICAgICAgICAoV2ViQ29yZTo6Q3ViaWNCZXppZXJUaW1pbmdGdW5jdGlvbjo6ZGVmYXVsdFRp
bWluZ0Z1bmN0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkN1YmljQmV6aWVyVGltaW5nRnVuY3Rp
b246OkN1YmljQmV6aWVyVGltaW5nRnVuY3Rpb24pOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBo
aWNzL2NhL0dyYXBoaWNzTGF5ZXJDQS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0xh
eWVyQ0E6OnRpbWluZ0Z1bmN0aW9uRm9yQW5pbWF0aW9uVmFsdWUpOgorICAgICAgICAqIHBsYXRm
b3JtL2dyYXBoaWNzL2NhL21hYy9QbGF0Zm9ybUNBQW5pbWF0aW9uTWFjLm1tOgorICAgICAgICAo
dG9DQU1lZGlhVGltaW5nRnVuY3Rpb24pOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nh
L3dpbi9QbGF0Zm9ybUNBQW5pbWF0aW9uV2luLmNwcDoKKyAgICAgICAgKHRvQ0FDRlRpbWluZ0Z1
bmN0aW9uKToKKwogMjAxMS0wMy0wMiAgQWxleGV5IFByb3NrdXJ5YWtvdiAgPGFwQGFwcGxlLmNv
bT4KIAogICAgICAgICBGaXggYXNzZXJ0aW9uIGZhaWx1cmVzIG9uIEd0ayBib3QuCkluZGV4OiBT
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hbmltYXRpb24vVGltaW5nRnVuY3Rpb24uaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hbmltYXRpb24vVGltaW5nRnVuY3Rpb24u
aAkocmV2aXNpb24gODAxNjcpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hbmltYXRpb24v
VGltaW5nRnVuY3Rpb24uaAkod29ya2luZyBjb3B5KQpAQCAtNzYsMTEgKzc2LDE2IEBAIHByaXZh
dGU6CiAgICAgCiBjbGFzcyBDdWJpY0JlemllclRpbWluZ0Z1bmN0aW9uIDogcHVibGljIFRpbWlu
Z0Z1bmN0aW9uIHsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUGFzc1JlZlB0cjxDdWJpY0JlemllclRp
bWluZ0Z1bmN0aW9uPiBjcmVhdGUoZG91YmxlIHgxID0gMC4yNSwgZG91YmxlIHkxID0gMC4xLCBk
b3VibGUgeDIgPSAwLjI1LCBkb3VibGUgeTIgPSAxLjApCisgICAgc3RhdGljIFBhc3NSZWZQdHI8
Q3ViaWNCZXppZXJUaW1pbmdGdW5jdGlvbj4gY3JlYXRlKGRvdWJsZSB4MSwgZG91YmxlIHkxLCBk
b3VibGUgeDIsIGRvdWJsZSB5MikKICAgICB7CiAgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcg
Q3ViaWNCZXppZXJUaW1pbmdGdW5jdGlvbih4MSwgeTEsIHgyLCB5MikpOwogICAgIH0KIAorICAg
IHN0YXRpYyBQYXNzUmVmUHRyPEN1YmljQmV6aWVyVGltaW5nRnVuY3Rpb24+IGNyZWF0ZSgpCisg
ICAgeworICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IEN1YmljQmV6aWVyVGltaW5nRnVuY3Rp
b24oKSk7CisgICAgfQorCiAgICAgfkN1YmljQmV6aWVyVGltaW5nRnVuY3Rpb24oKSB7IH0KICAg
ICAKICAgICB2aXJ0dWFsIGJvb2wgb3BlcmF0b3I9PShjb25zdCBUaW1pbmdGdW5jdGlvbiYgb3Ro
ZXIpCkBAIC05Nyw4ICsxMDIsMTQgQEAgcHVibGljOgogICAgIGRvdWJsZSB4MigpIGNvbnN0IHsg
cmV0dXJuIG1feDI7IH0KICAgICBkb3VibGUgeTIoKSBjb25zdCB7IHJldHVybiBtX3kyOyB9CiAg
ICAgCisgICAgc3RhdGljIGNvbnN0IEN1YmljQmV6aWVyVGltaW5nRnVuY3Rpb24qIGRlZmF1bHRU
aW1pbmdGdW5jdGlvbigpCisgICAgeworICAgICAgICBERUZJTkVfU1RBVElDX0xPQ0FMKGNvbnN0
IEN1YmljQmV6aWVyVGltaW5nRnVuY3Rpb24sIGR0ZiwgKCkpOworICAgICAgICByZXR1cm4gJmR0
ZjsKKyAgICB9CisgICAgCiBwcml2YXRlOgotICAgIEN1YmljQmV6aWVyVGltaW5nRnVuY3Rpb24o
ZG91YmxlIHgxLCBkb3VibGUgeTEsIGRvdWJsZSB4MiwgZG91YmxlIHkyKQorICAgIEN1YmljQmV6
aWVyVGltaW5nRnVuY3Rpb24oZG91YmxlIHgxID0gMC4yNSwgZG91YmxlIHkxID0gMC4xLCBkb3Vi
bGUgeDIgPSAwLjI1LCBkb3VibGUgeTIgPSAxLjApCiAgICAgICAgIDogVGltaW5nRnVuY3Rpb24o
Q3ViaWNCZXppZXJGdW5jdGlvbikKICAgICAgICAgLCBtX3gxKHgxKQogICAgICAgICAsIG1feTEo
eTEpCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9HcmFwaGljc0xh
eWVyQ0EuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2NhL0dyYXBoaWNzTGF5ZXJDQS5jcHAJKHJldmlzaW9uIDgwMTY3KQorKysgU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2EvR3JhcGhpY3NMYXllckNBLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMTY4MCw4ICsxNjgwLDggQEAgY29uc3QgVGltaW5nRnVuY3Rpb24qIEdyYXBoaWNzTGF5
ZXJDQTo6dAogICAgICAgICByZXR1cm4gYW5pbVZhbHVlLT50aW1pbmdGdW5jdGlvbigpOwogICAg
IGlmIChhbmltLT5pc1RpbWluZ0Z1bmN0aW9uU2V0KCkpCiAgICAgICAgIHJldHVybiBhbmltLT50
aW1pbmdGdW5jdGlvbigpLmdldCgpOwotICAgICAgICAKLSAgICByZXR1cm4gMDsKKyAgICAKKyAg
ICByZXR1cm4gQ3ViaWNCZXppZXJUaW1pbmdGdW5jdGlvbjo6ZGVmYXVsdFRpbWluZ0Z1bmN0aW9u
KCk7CiB9CiAKIGJvb2wgR3JhcGhpY3NMYXllckNBOjpzZXRBbmltYXRpb25FbmRwb2ludHMoY29u
c3QgS2V5ZnJhbWVWYWx1ZUxpc3QmIHZhbHVlTGlzdCwgY29uc3QgQW5pbWF0aW9uKiBhbmltLCBQ
bGF0Zm9ybUNBQW5pbWF0aW9uKiBiYXNpY0FuaW0pCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9jYS9tYWMvUGxhdGZvcm1DQUFuaW1hdGlvbk1hYy5tbQo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS9tYWMvUGxhdGZvcm1DQUFu
aW1hdGlvbk1hYy5tbQkocmV2aXNpb24gODAxNjcpCisrKyBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9ncmFwaGljcy9jYS9tYWMvUGxhdGZvcm1DQUFuaW1hdGlvbk1hYy5tbQkod29ya2luZyBjb3B5
KQpAQCAtMTM1LDkgKzEzNSw3IEBAIHN0YXRpYyBQbGF0Zm9ybUNBQW5pbWF0aW9uOjpWYWx1ZUZ1
bmN0aW8KIAogc3RhdGljIENBTWVkaWFUaW1pbmdGdW5jdGlvbiogdG9DQU1lZGlhVGltaW5nRnVu
Y3Rpb24oY29uc3QgVGltaW5nRnVuY3Rpb24qIHRpbWluZ0Z1bmN0aW9uKQogewotICAgIGlmICgh
dGltaW5nRnVuY3Rpb24pCi0gICAgICAgIHJldHVybiBbQ0FNZWRpYVRpbWluZ0Z1bmN0aW9uIGZ1
bmN0aW9uV2l0aENvbnRyb2xQb2ludHM6MC4yNWYgOjAuMWYgOjAuMjVmIDoxXTsgLy8gRGVmYXVs
dCBpcyAnZWFzZScgZnVuY3Rpb24uCi0gICAgICAgICAgICAKKyAgICBBU1NFUlQodGltaW5nRnVu
Y3Rpb24pOwogICAgIGlmICh0aW1pbmdGdW5jdGlvbi0+aXNDdWJpY0JlemllclRpbWluZ0Z1bmN0
aW9uKCkpIHsKICAgICAgICAgY29uc3QgQ3ViaWNCZXppZXJUaW1pbmdGdW5jdGlvbiogY3RmID0g
c3RhdGljX2Nhc3Q8Y29uc3QgQ3ViaWNCZXppZXJUaW1pbmdGdW5jdGlvbio+KHRpbWluZ0Z1bmN0
aW9uKTsKICAgICAgICAgcmV0dXJuIFtDQU1lZGlhVGltaW5nRnVuY3Rpb24gZnVuY3Rpb25XaXRo
Q29udHJvbFBvaW50czpzdGF0aWNfY2FzdDxmbG9hdD4oY3RmLT54MSgpKSA6c3RhdGljX2Nhc3Q8
ZmxvYXQ+KGN0Zi0+eTEoKSkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L2NhL3dpbi9QbGF0Zm9ybUNBQW5pbWF0aW9uV2luLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jYS93aW4vUGxhdGZvcm1DQUFuaW1hdGlvbldpbi5j
cHAJKHJldmlzaW9uIDgwMTY3KQorKysgU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
Y2Evd2luL1BsYXRmb3JtQ0FBbmltYXRpb25XaW4uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMjQs
OSArMTI0LDggQEAgc3RhdGljIFBsYXRmb3JtQ0FBbmltYXRpb246OlZhbHVlRnVuY3RpbwogCiBz
dGF0aWMgUmV0YWluUHRyPENBQ0ZUaW1pbmdGdW5jdGlvblJlZj4gdG9DQUNGVGltaW5nRnVuY3Rp
b24oY29uc3QgVGltaW5nRnVuY3Rpb24qIHRpbWluZ0Z1bmN0aW9uKQogewotICAgIGlmICghdGlt
aW5nRnVuY3Rpb24pCi0gICAgICAgIHJldHVybiBSZXRhaW5QdHI8Q0FDRlRpbWluZ0Z1bmN0aW9u
UmVmPihBZG9wdENGLCBDQUNGVGltaW5nRnVuY3Rpb25DcmVhdGUoMC4yNWYsIDAuMWYsIDAuMjVm
LCAwLjFmKSk7Ci0gICAgICAgICAgICAKKyAgICBBU1NFUlQodGltaW5nRnVuY3Rpb24pOworICAg
IAogICAgIGlmICh0aW1pbmdGdW5jdGlvbi0+aXNDdWJpY0JlemllclRpbWluZ0Z1bmN0aW9uKCkp
IHsKICAgICAgICAgY29uc3QgQ3ViaWNCZXppZXJUaW1pbmdGdW5jdGlvbiogY3RmID0gc3RhdGlj
X2Nhc3Q8Y29uc3QgQ3ViaWNCZXppZXJUaW1pbmdGdW5jdGlvbio+KHRpbWluZ0Z1bmN0aW9uKTsK
ICAgICAgICAgcmV0dXJuIFJldGFpblB0cjxDQUNGVGltaW5nRnVuY3Rpb25SZWY+KEFkb3B0Q0Ys
IENBQ0ZUaW1pbmdGdW5jdGlvbkNyZWF0ZShzdGF0aWNfY2FzdDxmbG9hdD4oY3RmLT54MSgpKSwg
c3RhdGljX2Nhc3Q8ZmxvYXQ+KGN0Zi0+eTEoKSksIHN0YXRpY19jYXN0PGZsb2F0PihjdGYtPngy
KCkpLCBzdGF0aWNfY2FzdDxmbG9hdD4oY3RmLT55MigpKSkpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>84623</attachid>
            <date>2011-03-03 14:07:52 -0800</date>
            <delta_ts>2011-03-03 14:09:08 -0800</delta_ts>
            <desc>Patch changing TimingFunction per Adam&apos;s suggestion</desc>
            <filename>bug-55022-20110303140751.patch</filename>
            <type>text/plain</type>
            <size>1357</size>
            <attacher name="Chris Marrin">cmarrin</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDgwMjgyKQorKysgU291cmNlL1dlYkNvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTEtMDMtMDMgIENocmlzIE1h
cnJpbiAgPGNtYXJyaW5AYXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFJFR1JFU1NJT046IEFjY2VsZXJhdGVkIHRyYW5zaXRpb25zIGFy
ZSBqdW1weQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
NTUwMjIKKworICAgICAgICBDaGFuZ2VkIHRoZSB3YXkgZGVmYXVsdCBUaW1pbmdGdW5jdGlvbiBp
cyBzdG9yZWQgYWNjb3JkaW5nIHRvIEFkYW0gUm9iZW4ncworICAgICAgICBzdWdnZXN0aW9uLgor
CisgICAgICAgICogcGxhdGZvcm0vYW5pbWF0aW9uL1RpbWluZ0Z1bmN0aW9uLmg6CisgICAgICAg
IChXZWJDb3JlOjpDdWJpY0JlemllclRpbWluZ0Z1bmN0aW9uOjpkZWZhdWx0VGltaW5nRnVuY3Rp
b24pOgorCiAyMDExLTAzLTAzICBBbGV4ZXkgUHJvc2t1cnlha292ICA8YXBAYXBwbGUuY29tPgog
CiAgICAgICAgIEJ1aWxkIGZpeC4gU2hvdWxkIGluY2x1ZGUgV2ViQ29yZUtleWJvYXJkVUlNb2Rl
Lmggb24gYWxsIHBsYXRmb3JtcyBub3cuCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9h
bmltYXRpb24vVGltaW5nRnVuY3Rpb24uaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9hbmltYXRpb24vVGltaW5nRnVuY3Rpb24uaAkocmV2aXNpb24gODAyNzYpCisrKyBT
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9hbmltYXRpb24vVGltaW5nRnVuY3Rpb24uaAkod29ya2lu
ZyBjb3B5KQpAQCAtMTA0LDggKzEwNCw4IEBAIHB1YmxpYzoKICAgICAKICAgICBzdGF0aWMgY29u
c3QgQ3ViaWNCZXppZXJUaW1pbmdGdW5jdGlvbiogZGVmYXVsdFRpbWluZ0Z1bmN0aW9uKCkKICAg
ICB7Ci0gICAgICAgIERFRklORV9TVEFUSUNfTE9DQUwoY29uc3QgQ3ViaWNCZXppZXJUaW1pbmdG
dW5jdGlvbiwgZHRmLCAoKSk7Ci0gICAgICAgIHJldHVybiAmZHRmOworICAgICAgICBzdGF0aWMg
Y29uc3QgQ3ViaWNCZXppZXJUaW1pbmdGdW5jdGlvbiogZHRmID0gY3JlYXRlKCkubGVha1JlZigp
OworICAgICAgICByZXR1cm4gZHRmOwogICAgIH0KICAgICAKIHByaXZhdGU6Cg==
</data>
<flag name="review"
          id="76636"
          type_id="1"
          status="+"
          setter="simon.fraser"
    />
          </attachment>
      

    </bug>

</bugzilla>