<?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>60750</bug_id>
          
          <creation_ts>2011-05-12 20:39:03 -0700</creation_ts>
          <short_desc>Optimize outline rendering to avoid transparency layers</short_desc>
          <delta_ts>2011-11-08 13:04:45 -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>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>60749</dependson>
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Ben Wells">benwells</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>benwells</cc>
    
    <cc>davidbarr</cc>
    
    <cc>dglazkov</cc>
    
    <cc>mikelawther</cc>
    
    <cc>noel.gordon</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>403349</commentid>
    <comment_count>0</comment_count>
    <who name="Ben Wells">benwells</who>
    <bug_when>2011-05-12 20:39:03 -0700</bug_when>
    <thetext>Simple cases of borders and outlines, such as where all sides are the same color, are SOLID style, and don&apos;t have rounded corners, could easily be optimized to avoid using expensive transparency layers.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>496026</commentid>
    <comment_count>1</comment_count>
      <attachid>113617</attachid>
    <who name="David Barr">davidbarr</who>
    <bug_when>2011-11-03 20:38:48 -0700</bug_when>
    <thetext>Created attachment 113617
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>496030</commentid>
    <comment_count>2</comment_count>
      <attachid>113618</attachid>
    <who name="David Barr">davidbarr</who>
    <bug_when>2011-11-03 20:50:28 -0700</bug_when>
    <thetext>Created attachment 113618
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>496039</commentid>
    <comment_count>3</comment_count>
      <attachid>113618</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-11-03 21:26:09 -0700</bug_when>
    <thetext>Comment on attachment 113618
Patch

Attachment 113618 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/10314046

New failing tests:
fast/box-shadow/box-shadow-radius.html
fast/layers/self-painting-outline.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>496044</commentid>
    <comment_count>4</comment_count>
    <who name="David Barr">davidbarr</who>
    <bug_when>2011-11-03 21:54:09 -0700</bug_when>
    <thetext>&gt; New failing tests:
&gt; fast/box-shadow/box-shadow-radius.html
&gt; fast/layers/self-painting-outline.html

These will likely need to be rebaselined due to Skia rounding differently for layered vs direct alpha paints.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>496264</commentid>
    <comment_count>5</comment_count>
      <attachid>113618</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-11-04 10:13:38 -0700</bug_when>
    <thetext>Comment on attachment 113618
Patch

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

&gt; Source/WebCore/rendering/RenderObject.cpp:1145
&gt; +    if (outlineStyle == SOLID &amp;&amp; outlineColor.hasAlpha()) {

I think this code needs a why comment.

If you look at just this code, it&apos;s surprising that we have a special case just for the case where we have alpha. A good way to make that clear is to put this optimization inside the &quot;use transparency layer&quot; if statement. There it is easy to see that we are avoiding an expensive transparency layer. Otherwise, it is unclear why there is no fast case for the case where we don’t have alpha. The reason is that the code is already fast, and this alternate implemenation would probably be slower, in cases where we are not making a transparency layer.

So you could just add a comment, or you could even put this entire fast case inside the useTransparencyLayer if statement, or you could at least use the useTransparencyLayer boolean to trigger this fast case.

I think the key is that this is an optimization because it avoids the transparency layer and the code should make this crystal clear.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>496653</commentid>
    <comment_count>6</comment_count>
      <attachid>113752</attachid>
    <who name="David Barr">davidbarr</who>
    <bug_when>2011-11-05 05:33:45 -0700</bug_when>
    <thetext>Created attachment 113752
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>496654</commentid>
    <comment_count>7</comment_count>
      <attachid>113752</attachid>
    <who name="David Barr">davidbarr</who>
    <bug_when>2011-11-05 05:37:32 -0700</bug_when>
    <thetext>Comment on attachment 113752
Patch

Moved the short path inside the useTransparencyLayer test for clarity.
Updated pixel tests for chromium-linux due to subtle change in alpha rounding with direct paint vs transparency layers.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>497361</commentid>
    <comment_count>8</comment_count>
      <attachid>113752</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-11-07 12:19:07 -0800</bug_when>
    <thetext>Comment on attachment 113752
Patch

Clearing flags on attachment: 113752

Committed r99454: &lt;http://trac.webkit.org/changeset/99454&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>497362</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-11-07 12:19:12 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>498383</commentid>
    <comment_count>10</comment_count>
    <who name="noel gordon">noel.gordon</who>
    <bug_when>2011-11-08 13:04:45 -0800</bug_when>
    <thetext>Rebaselines added in http://trac.webkit.org/changeset/99529</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>113617</attachid>
            <date>2011-11-03 20:38:48 -0700</date>
            <delta_ts>2011-11-03 20:50:18 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-60750-20111104143846.patch</filename>
            <type>text/plain</type>
            <size>3503</size>
            <attacher name="David Barr">davidbarr</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTkyMzgKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBjODcyNTBiMDQ4NTE4NGI0
NjNkYmU2YjMzODUxN2MzMmIzOTY4MWQ4Li4wNGJmMmJlZmM3NWIwYmM2NjYzZWM5NmU4MGQ4YmU2
ZmU2MzUyNWFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTEtMTEtMDMgIERhdmlk
IEJhcnIgIDxkYXZpZGJhcnJAY2hyb21pdW0ub3JnPgorCisgICAgICAgIE9wdGltaXplIG91dGxp
bmUgYW5kIGJvcmRlciByZW5kZXJpbmcgdG8gYXZvaWQgdHJhbnNwYXJlbmN5IGxheWVycworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjA3NTAKKworICAg
ICAgICBCb3JkZXIgcmVuZGVyaW5nIGhhcyBhbHJlYWR5IGJlZW4gb3B0aW1pemVkIGJ5IEJlbiBX
ZWxscyA8YmVud2VsbHNAY2hyb21pdW0ub3JnPi4KKyAgICAgICAgQWRkIGZhc3QgcGF0aCBmb3Ig
c29saWQgYmxvY2sgb3V0bGluZXMgd2l0aCBhbHBoYS4KKyAgICAgICAgSW1wcm92ZSByZWFkYWJp
bGl0eSBvZiBwaWVjZXdpc2UgcGF0aCB3aGlsZSB3ZSdyZSBhdCBpdC4KKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBObyBpbnRlbmRlZCBjaGFuZ2UgaW4g
YmVoYXZpb3VyLCBubyBuZXcgdGVzdHMuCisKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyT2Jq
ZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck9iamVjdDo6cGFpbnRPdXRsaW5lKToK
KwogMjAxMS0xMS0wMyAgRGFuaWVsIENoZW5nICA8ZGNoZW5nQGNocm9taXVtLm9yZz4KIAogICAg
ICAgICBbY2hyb21pdW1dIFJlbW92ZSB1bnVzZWQgY2xpcGJvYXJkIG1ldGhvZHMKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJPYmplY3QuY3BwIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAKaW5kZXggYzBkZWNiMGNhYTdiMzBiMTli
ZjlhNzMwMTQ3YzRkMWZjNzljY2FmYS4uZDlmZmFjNTRhZWI3ZmI2NThjNWU5ODA4OWJkZDMzMzc0
NjM2ZDk2NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVj
dC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAKQEAg
LTExMzMsMjYgKzExMzMsMzkgQEAgdm9pZCBSZW5kZXJPYmplY3Q6OnBhaW50T3V0bGluZShHcmFw
aGljc0NvbnRleHQqIGdyYXBoaWNzQ29udGV4dCwgY29uc3QgTGF5b3V0UmUKICAgICBpZiAoc3R5
bGVUb1VzZS0+b3V0bGluZVN0eWxlSXNBdXRvKCkgfHwgc3R5bGVUb1VzZS0+b3V0bGluZVN0eWxl
KCkgPT0gQk5PTkUpCiAgICAgICAgIHJldHVybjsKIAotICAgIExheW91dFJlY3QgYWRqdXN0ZWRQ
YWludFJlYyA9IHBhaW50UmVjdDsKLSAgICBhZGp1c3RlZFBhaW50UmVjLmluZmxhdGUob2Zmc2V0
KTsKKyAgICBMYXlvdXRSZWN0IGlubmVyID0gcGFpbnRSZWN0OworICAgIGlubmVyLmluZmxhdGUo
b2Zmc2V0KTsKIAotICAgIGlmIChhZGp1c3RlZFBhaW50UmVjLmlzRW1wdHkoKSkKKyAgICBpZiAo
aW5uZXIuaXNFbXB0eSgpKQogICAgICAgICByZXR1cm47CiAKKyAgICBMYXlvdXRSZWN0IG91dGVy
ID0gaW5uZXI7CisgICAgb3V0ZXIuaW5mbGF0ZShvdXRsaW5lV2lkdGgpOworCisgICAgaWYgKG91
dGxpbmVTdHlsZSA9PSBTT0xJRCAmJiBvdXRsaW5lQ29sb3IuaGFzQWxwaGEoKSkgeworICAgICAg
ICBQYXRoIHBhdGg7CisgICAgICAgIHBhdGguYWRkUmVjdChvdXRlcik7CisgICAgICAgIHBhdGgu
YWRkUmVjdChpbm5lcik7CisgICAgICAgIGdyYXBoaWNzQ29udGV4dC0+c2V0RmlsbFJ1bGUoUlVM
RV9FVkVOT0REKTsKKyAgICAgICAgZ3JhcGhpY3NDb250ZXh0LT5zZXRGaWxsQ29sb3Iob3V0bGlu
ZUNvbG9yLCBzdHlsZVRvVXNlLT5jb2xvclNwYWNlKCkpOworICAgICAgICBncmFwaGljc0NvbnRl
eHQtPmZpbGxQYXRoKHBhdGgpOworICAgICAgICByZXR1cm47CisgICAgfQorICAgIAogICAgIGJv
b2wgdXNlVHJhbnNwYXJlbmN5TGF5ZXIgPSBvdXRsaW5lQ29sb3IuaGFzQWxwaGEoKTsKICAgICBp
ZiAodXNlVHJhbnNwYXJlbmN5TGF5ZXIpIHsKICAgICAgICAgZ3JhcGhpY3NDb250ZXh0LT5iZWdp
blRyYW5zcGFyZW5jeUxheWVyKHN0YXRpY19jYXN0PGZsb2F0PihvdXRsaW5lQ29sb3IuYWxwaGEo
KSkgLyAyNTUpOwogICAgICAgICBvdXRsaW5lQ29sb3IgPSBDb2xvcihvdXRsaW5lQ29sb3IucmVk
KCksIG91dGxpbmVDb2xvci5ncmVlbigpLCBvdXRsaW5lQ29sb3IuYmx1ZSgpKTsKICAgICB9CiAK
LSAgICBMYXlvdXRVbml0IGxlZnRPdXRlciA9IGFkanVzdGVkUGFpbnRSZWMueCgpIC0gb3V0bGlu
ZVdpZHRoOwotICAgIExheW91dFVuaXQgbGVmdElubmVyID0gYWRqdXN0ZWRQYWludFJlYy54KCk7
Ci0gICAgTGF5b3V0VW5pdCByaWdodE91dGVyID0gYWRqdXN0ZWRQYWludFJlYy5tYXhYKCkgKyBv
dXRsaW5lV2lkdGg7Ci0gICAgTGF5b3V0VW5pdCByaWdodElubmVyID0gYWRqdXN0ZWRQYWludFJl
Yy5tYXhYKCk7Ci0gICAgTGF5b3V0VW5pdCB0b3BPdXRlciA9IGFkanVzdGVkUGFpbnRSZWMueSgp
IC0gb3V0bGluZVdpZHRoOwotICAgIExheW91dFVuaXQgdG9wSW5uZXIgPSBhZGp1c3RlZFBhaW50
UmVjLnkoKTsKLSAgICBMYXlvdXRVbml0IGJvdHRvbU91dGVyID0gYWRqdXN0ZWRQYWludFJlYy5t
YXhZKCkgKyBvdXRsaW5lV2lkdGg7Ci0gICAgTGF5b3V0VW5pdCBib3R0b21Jbm5lciA9IGFkanVz
dGVkUGFpbnRSZWMubWF4WSgpOworICAgIExheW91dFVuaXQgbGVmdE91dGVyID0gb3V0ZXIueCgp
OworICAgIExheW91dFVuaXQgbGVmdElubmVyID0gaW5uZXIueCgpOworICAgIExheW91dFVuaXQg
cmlnaHRPdXRlciA9IG91dGVyLm1heFgoKTsKKyAgICBMYXlvdXRVbml0IHJpZ2h0SW5uZXIgPSBp
bm5lci5tYXhYKCk7CisgICAgTGF5b3V0VW5pdCB0b3BPdXRlciA9IG91dGVyLnkoKTsKKyAgICBM
YXlvdXRVbml0IHRvcElubmVyID0gaW5uZXIueSgpOworICAgIExheW91dFVuaXQgYm90dG9tT3V0
ZXIgPSBvdXRlci5tYXhZKCk7CisgICAgTGF5b3V0VW5pdCBib3R0b21Jbm5lciA9IGlubmVyLm1h
eFkoKTsKICAgICAKICAgICBkcmF3TGluZUZvckJveFNpZGUoZ3JhcGhpY3NDb250ZXh0LCBsZWZ0
T3V0ZXIsIHRvcE91dGVyLCBsZWZ0SW5uZXIsIGJvdHRvbU91dGVyLCBCU0xlZnQsIG91dGxpbmVD
b2xvciwgb3V0bGluZVN0eWxlLCBvdXRsaW5lV2lkdGgsIG91dGxpbmVXaWR0aCk7CiAgICAgZHJh
d0xpbmVGb3JCb3hTaWRlKGdyYXBoaWNzQ29udGV4dCwgbGVmdE91dGVyLCB0b3BPdXRlciwgcmln
aHRPdXRlciwgdG9wSW5uZXIsIEJTVG9wLCBvdXRsaW5lQ29sb3IsIG91dGxpbmVTdHlsZSwgb3V0
bGluZVdpZHRoLCBvdXRsaW5lV2lkdGgpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>113618</attachid>
            <date>2011-11-03 20:50:28 -0700</date>
            <delta_ts>2011-11-05 05:33:34 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-60750-20111104145026.patch</filename>
            <type>text/plain</type>
            <size>3409</size>
            <attacher name="David Barr">davidbarr</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTkyNTgKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA4ZDkxOWZkZTkzZmFmYWEx
MDljZDBhZjc3NTE1NGZjOWFiZjY4OThhLi45M2ZlNDY0YzI2YzY2ODFjYWY3ZWUwYTI3MTY4Mzgz
ZTYwYjhhMjRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTEtMTEtMDMgIERhdmlk
IEJhcnIgIDxkYXZpZGJhcnJAY2hyb21pdW0ub3JnPgorCisgICAgICAgIE9wdGltaXplIG91dGxp
bmUgcmVuZGVyaW5nIHRvIGF2b2lkIHRyYW5zcGFyZW5jeSBsYXllcnMKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYwNzUwCisKKyAgICAgICAgQWRkIGZh
c3QgcGF0aCBmb3Igc29saWQgYmxvY2sgb3V0bGluZXMgd2l0aCBhbHBoYS4KKyAgICAgICAgSW1w
cm92ZSByZWFkYWJpbGl0eSBvZiBwaWVjZXdpc2UgcGF0aCB3aGlsZSBhdCBpdC4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBObyBpbnRlbmRlZCBjaGFu
Z2UgaW4gYmVoYXZpb3VyLCBubyBuZXcgdGVzdHMuCisKKyAgICAgICAgKiByZW5kZXJpbmcvUmVu
ZGVyT2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck9iamVjdDo6cGFpbnRPdXRs
aW5lKToKKwogMjAxMS0xMS0wMyAgQmVuIFdlbGxzICA8YmVud2VsbHNAY2hyb21pdW0ub3JnPgog
CiAgICAgICAgIE9wdGltaXplIGNhbnZhcyBmaWxscyAvIGRyYXdJbWFnZSB3aGVuIGNvdmVyaW5n
IGVudGlyZSBjYW52YXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAK
aW5kZXggYzBkZWNiMGNhYTdiMzBiMTliZjlhNzMwMTQ3YzRkMWZjNzljY2FmYS4uYjBiNzZmYjcx
OGY3MzdiM2VlMDFjZTUzNWQ0MjkxZmViNTZlOGE1YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlck9iamVjdC5jcHAKQEAgLTExMzMsMjYgKzExMzMsMzkgQEAgdm9pZCBSZW5kZXJP
YmplY3Q6OnBhaW50T3V0bGluZShHcmFwaGljc0NvbnRleHQqIGdyYXBoaWNzQ29udGV4dCwgY29u
c3QgTGF5b3V0UmUKICAgICBpZiAoc3R5bGVUb1VzZS0+b3V0bGluZVN0eWxlSXNBdXRvKCkgfHwg
c3R5bGVUb1VzZS0+b3V0bGluZVN0eWxlKCkgPT0gQk5PTkUpCiAgICAgICAgIHJldHVybjsKIAot
ICAgIExheW91dFJlY3QgYWRqdXN0ZWRQYWludFJlYyA9IHBhaW50UmVjdDsKLSAgICBhZGp1c3Rl
ZFBhaW50UmVjLmluZmxhdGUob2Zmc2V0KTsKKyAgICBMYXlvdXRSZWN0IGlubmVyID0gcGFpbnRS
ZWN0OworICAgIGlubmVyLmluZmxhdGUob2Zmc2V0KTsKIAotICAgIGlmIChhZGp1c3RlZFBhaW50
UmVjLmlzRW1wdHkoKSkKKyAgICBpZiAoaW5uZXIuaXNFbXB0eSgpKQogICAgICAgICByZXR1cm47
CiAKKyAgICBMYXlvdXRSZWN0IG91dGVyID0gaW5uZXI7CisgICAgb3V0ZXIuaW5mbGF0ZShvdXRs
aW5lV2lkdGgpOworCisgICAgaWYgKG91dGxpbmVTdHlsZSA9PSBTT0xJRCAmJiBvdXRsaW5lQ29s
b3IuaGFzQWxwaGEoKSkgeworICAgICAgICBQYXRoIHBhdGg7CisgICAgICAgIHBhdGguYWRkUmVj
dChvdXRlcik7CisgICAgICAgIHBhdGguYWRkUmVjdChpbm5lcik7CisgICAgICAgIGdyYXBoaWNz
Q29udGV4dC0+c2V0RmlsbFJ1bGUoUlVMRV9FVkVOT0REKTsKKyAgICAgICAgZ3JhcGhpY3NDb250
ZXh0LT5zZXRGaWxsQ29sb3Iob3V0bGluZUNvbG9yLCBzdHlsZVRvVXNlLT5jb2xvclNwYWNlKCkp
OworICAgICAgICBncmFwaGljc0NvbnRleHQtPmZpbGxQYXRoKHBhdGgpOworICAgICAgICByZXR1
cm47CisgICAgfQorCiAgICAgYm9vbCB1c2VUcmFuc3BhcmVuY3lMYXllciA9IG91dGxpbmVDb2xv
ci5oYXNBbHBoYSgpOwogICAgIGlmICh1c2VUcmFuc3BhcmVuY3lMYXllcikgewogICAgICAgICBn
cmFwaGljc0NvbnRleHQtPmJlZ2luVHJhbnNwYXJlbmN5TGF5ZXIoc3RhdGljX2Nhc3Q8ZmxvYXQ+
KG91dGxpbmVDb2xvci5hbHBoYSgpKSAvIDI1NSk7CiAgICAgICAgIG91dGxpbmVDb2xvciA9IENv
bG9yKG91dGxpbmVDb2xvci5yZWQoKSwgb3V0bGluZUNvbG9yLmdyZWVuKCksIG91dGxpbmVDb2xv
ci5ibHVlKCkpOwogICAgIH0KIAotICAgIExheW91dFVuaXQgbGVmdE91dGVyID0gYWRqdXN0ZWRQ
YWludFJlYy54KCkgLSBvdXRsaW5lV2lkdGg7Ci0gICAgTGF5b3V0VW5pdCBsZWZ0SW5uZXIgPSBh
ZGp1c3RlZFBhaW50UmVjLngoKTsKLSAgICBMYXlvdXRVbml0IHJpZ2h0T3V0ZXIgPSBhZGp1c3Rl
ZFBhaW50UmVjLm1heFgoKSArIG91dGxpbmVXaWR0aDsKLSAgICBMYXlvdXRVbml0IHJpZ2h0SW5u
ZXIgPSBhZGp1c3RlZFBhaW50UmVjLm1heFgoKTsKLSAgICBMYXlvdXRVbml0IHRvcE91dGVyID0g
YWRqdXN0ZWRQYWludFJlYy55KCkgLSBvdXRsaW5lV2lkdGg7Ci0gICAgTGF5b3V0VW5pdCB0b3BJ
bm5lciA9IGFkanVzdGVkUGFpbnRSZWMueSgpOwotICAgIExheW91dFVuaXQgYm90dG9tT3V0ZXIg
PSBhZGp1c3RlZFBhaW50UmVjLm1heFkoKSArIG91dGxpbmVXaWR0aDsKLSAgICBMYXlvdXRVbml0
IGJvdHRvbUlubmVyID0gYWRqdXN0ZWRQYWludFJlYy5tYXhZKCk7CisgICAgTGF5b3V0VW5pdCBs
ZWZ0T3V0ZXIgPSBvdXRlci54KCk7CisgICAgTGF5b3V0VW5pdCBsZWZ0SW5uZXIgPSBpbm5lci54
KCk7CisgICAgTGF5b3V0VW5pdCByaWdodE91dGVyID0gb3V0ZXIubWF4WCgpOworICAgIExheW91
dFVuaXQgcmlnaHRJbm5lciA9IGlubmVyLm1heFgoKTsKKyAgICBMYXlvdXRVbml0IHRvcE91dGVy
ID0gb3V0ZXIueSgpOworICAgIExheW91dFVuaXQgdG9wSW5uZXIgPSBpbm5lci55KCk7CisgICAg
TGF5b3V0VW5pdCBib3R0b21PdXRlciA9IG91dGVyLm1heFkoKTsKKyAgICBMYXlvdXRVbml0IGJv
dHRvbUlubmVyID0gaW5uZXIubWF4WSgpOwogICAgIAogICAgIGRyYXdMaW5lRm9yQm94U2lkZShn
cmFwaGljc0NvbnRleHQsIGxlZnRPdXRlciwgdG9wT3V0ZXIsIGxlZnRJbm5lciwgYm90dG9tT3V0
ZXIsIEJTTGVmdCwgb3V0bGluZUNvbG9yLCBvdXRsaW5lU3R5bGUsIG91dGxpbmVXaWR0aCwgb3V0
bGluZVdpZHRoKTsKICAgICBkcmF3TGluZUZvckJveFNpZGUoZ3JhcGhpY3NDb250ZXh0LCBsZWZ0
T3V0ZXIsIHRvcE91dGVyLCByaWdodE91dGVyLCB0b3BJbm5lciwgQlNUb3AsIG91dGxpbmVDb2xv
ciwgb3V0bGluZVN0eWxlLCBvdXRsaW5lV2lkdGgsIG91dGxpbmVXaWR0aCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>113752</attachid>
            <date>2011-11-05 05:33:45 -0700</date>
            <delta_ts>2011-11-07 12:19:07 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-60750-20111105233343.patch</filename>
            <type>text/plain</type>
            <size>20699</size>
            <attacher name="David Barr">davidbarr</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTkzNTIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBkOGQ0NjM0MDA2Y2ZhNDdh
MTBjNTkyNDBkZmQ4ZmQ2N2M0MTBiNmQ4Li5mY2I1MWY4ZDA3NjViZDliNGUzZTEyMDMyMzkxMGE0
OTI1YjEwNDljIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTEtMTEtMDUgIERhdmlk
IEJhcnIgIDxkYXZpZGJhcnJAY2hyb21pdW0ub3JnPgorCisgICAgICAgIE9wdGltaXplIG91dGxp
bmUgcmVuZGVyaW5nIHRvIGF2b2lkIHRyYW5zcGFyZW5jeSBsYXllcnMKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTYwNzUwCisKKyAgICAgICAgQWRkIGZh
c3QgcGF0aCBmb3Igc29saWQgYmxvY2sgb3V0bGluZXMgd2l0aCBhbHBoYS4KKyAgICAgICAgSW1w
cm92ZSByZWFkYWJpbGl0eSBvZiBwaWVjZXdpc2UgcGF0aCB3aGlsZSBhdCBpdC4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBObyBpbnRlbmRlZCBjaGFu
Z2UgaW4gYmVoYXZpb3VyLCBubyBuZXcgdGVzdHMuCisKKyAgICAgICAgKiByZW5kZXJpbmcvUmVu
ZGVyT2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlck9iamVjdDo6cGFpbnRPdXRs
aW5lKToKKwogMjAxMS0xMS0wNSAgU2ltb24gSGF1c21hbm4gIDxzaW1vbi5oYXVzbWFubkBub2tp
YS5jb20+CiAKICAgICAgICAgUmVtb3ZlIGVtcHR5IGFuZCB1bnVzZWQgZG9tL1Bvc2l0aW9uQ3Jl
YXRpb25GdW5jdGlvbnMuaCBoZWFkZXIgZmlsZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlck9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyT2JqZWN0LmNwcAppbmRleCBjMGRlY2IwY2FhN2IzMGIxOWJmOWE3MzAxNDdjNGQxZmM3OWNj
YWZhLi4zM2ZhODczZDBjYWY1MjMwYzI1MzM5OGYyZGE3NzYyNjRkZGVmYTFkIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyT2JqZWN0LmNwcApAQCAtMTEzMywyNiArMTEzMywzOCBA
QCB2b2lkIFJlbmRlck9iamVjdDo6cGFpbnRPdXRsaW5lKEdyYXBoaWNzQ29udGV4dCogZ3JhcGhp
Y3NDb250ZXh0LCBjb25zdCBMYXlvdXRSZQogICAgIGlmIChzdHlsZVRvVXNlLT5vdXRsaW5lU3R5
bGVJc0F1dG8oKSB8fCBzdHlsZVRvVXNlLT5vdXRsaW5lU3R5bGUoKSA9PSBCTk9ORSkKICAgICAg
ICAgcmV0dXJuOwogCi0gICAgTGF5b3V0UmVjdCBhZGp1c3RlZFBhaW50UmVjID0gcGFpbnRSZWN0
OwotICAgIGFkanVzdGVkUGFpbnRSZWMuaW5mbGF0ZShvZmZzZXQpOworICAgIExheW91dFJlY3Qg
aW5uZXIgPSBwYWludFJlY3Q7CisgICAgaW5uZXIuaW5mbGF0ZShvZmZzZXQpOwogCi0gICAgaWYg
KGFkanVzdGVkUGFpbnRSZWMuaXNFbXB0eSgpKQorICAgIGlmIChpbm5lci5pc0VtcHR5KCkpCiAg
ICAgICAgIHJldHVybjsKIAorICAgIExheW91dFJlY3Qgb3V0ZXIgPSBpbm5lcjsKKyAgICBvdXRl
ci5pbmZsYXRlKG91dGxpbmVXaWR0aCk7CisKICAgICBib29sIHVzZVRyYW5zcGFyZW5jeUxheWVy
ID0gb3V0bGluZUNvbG9yLmhhc0FscGhhKCk7CiAgICAgaWYgKHVzZVRyYW5zcGFyZW5jeUxheWVy
KSB7CisgICAgICAgIGlmIChvdXRsaW5lU3R5bGUgPT0gU09MSUQpIHsKKyAgICAgICAgICAgIFBh
dGggcGF0aDsKKyAgICAgICAgICAgIHBhdGguYWRkUmVjdChvdXRlcik7CisgICAgICAgICAgICBw
YXRoLmFkZFJlY3QoaW5uZXIpOworICAgICAgICAgICAgZ3JhcGhpY3NDb250ZXh0LT5zZXRGaWxs
UnVsZShSVUxFX0VWRU5PREQpOworICAgICAgICAgICAgZ3JhcGhpY3NDb250ZXh0LT5zZXRGaWxs
Q29sb3Iob3V0bGluZUNvbG9yLCBzdHlsZVRvVXNlLT5jb2xvclNwYWNlKCkpOworICAgICAgICAg
ICAgZ3JhcGhpY3NDb250ZXh0LT5maWxsUGF0aChwYXRoKTsKKyAgICAgICAgICAgIHJldHVybjsK
KyAgICAgICAgfQogICAgICAgICBncmFwaGljc0NvbnRleHQtPmJlZ2luVHJhbnNwYXJlbmN5TGF5
ZXIoc3RhdGljX2Nhc3Q8ZmxvYXQ+KG91dGxpbmVDb2xvci5hbHBoYSgpKSAvIDI1NSk7CiAgICAg
ICAgIG91dGxpbmVDb2xvciA9IENvbG9yKG91dGxpbmVDb2xvci5yZWQoKSwgb3V0bGluZUNvbG9y
LmdyZWVuKCksIG91dGxpbmVDb2xvci5ibHVlKCkpOwogICAgIH0KIAotICAgIExheW91dFVuaXQg
bGVmdE91dGVyID0gYWRqdXN0ZWRQYWludFJlYy54KCkgLSBvdXRsaW5lV2lkdGg7Ci0gICAgTGF5
b3V0VW5pdCBsZWZ0SW5uZXIgPSBhZGp1c3RlZFBhaW50UmVjLngoKTsKLSAgICBMYXlvdXRVbml0
IHJpZ2h0T3V0ZXIgPSBhZGp1c3RlZFBhaW50UmVjLm1heFgoKSArIG91dGxpbmVXaWR0aDsKLSAg
ICBMYXlvdXRVbml0IHJpZ2h0SW5uZXIgPSBhZGp1c3RlZFBhaW50UmVjLm1heFgoKTsKLSAgICBM
YXlvdXRVbml0IHRvcE91dGVyID0gYWRqdXN0ZWRQYWludFJlYy55KCkgLSBvdXRsaW5lV2lkdGg7
Ci0gICAgTGF5b3V0VW5pdCB0b3BJbm5lciA9IGFkanVzdGVkUGFpbnRSZWMueSgpOwotICAgIExh
eW91dFVuaXQgYm90dG9tT3V0ZXIgPSBhZGp1c3RlZFBhaW50UmVjLm1heFkoKSArIG91dGxpbmVX
aWR0aDsKLSAgICBMYXlvdXRVbml0IGJvdHRvbUlubmVyID0gYWRqdXN0ZWRQYWludFJlYy5tYXhZ
KCk7CisgICAgTGF5b3V0VW5pdCBsZWZ0T3V0ZXIgPSBvdXRlci54KCk7CisgICAgTGF5b3V0VW5p
dCBsZWZ0SW5uZXIgPSBpbm5lci54KCk7CisgICAgTGF5b3V0VW5pdCByaWdodE91dGVyID0gb3V0
ZXIubWF4WCgpOworICAgIExheW91dFVuaXQgcmlnaHRJbm5lciA9IGlubmVyLm1heFgoKTsKKyAg
ICBMYXlvdXRVbml0IHRvcE91dGVyID0gb3V0ZXIueSgpOworICAgIExheW91dFVuaXQgdG9wSW5u
ZXIgPSBpbm5lci55KCk7CisgICAgTGF5b3V0VW5pdCBib3R0b21PdXRlciA9IG91dGVyLm1heFko
KTsKKyAgICBMYXlvdXRVbml0IGJvdHRvbUlubmVyID0gaW5uZXIubWF4WSgpOwogICAgIAogICAg
IGRyYXdMaW5lRm9yQm94U2lkZShncmFwaGljc0NvbnRleHQsIGxlZnRPdXRlciwgdG9wT3V0ZXIs
IGxlZnRJbm5lciwgYm90dG9tT3V0ZXIsIEJTTGVmdCwgb3V0bGluZUNvbG9yLCBvdXRsaW5lU3R5
bGUsIG91dGxpbmVXaWR0aCwgb3V0bGluZVdpZHRoKTsKICAgICBkcmF3TGluZUZvckJveFNpZGUo
Z3JhcGhpY3NDb250ZXh0LCBsZWZ0T3V0ZXIsIHRvcE91dGVyLCByaWdodE91dGVyLCB0b3BJbm5l
ciwgQlNUb3AsIG91dGxpbmVDb2xvciwgb3V0bGluZVN0eWxlLCBvdXRsaW5lV2lkdGgsIG91dGxp
bmVXaWR0aCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKaW5kZXggZjlkZjUyZGU5ZDdmMjNlNzI4MDFhNDI0ZTVkNGRlZDBjYzI4NWZi
NC4uZjgyZjdlMmViOTI0YjA1YWQ2Y2M1ODEzNDQ5YjZmZTQxN2JhMzFiNiAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDE1IEBACisyMDExLTExLTA1ICBEYXZpZCBCYXJyICA8ZGF2aWRiYXJyQGNocm9taXVtLm9y
Zz4KKworICAgICAgICBPcHRpbWl6ZSBvdXRsaW5lIHJlbmRlcmluZyB0byBhdm9pZCB0cmFuc3Bh
cmVuY3kgbGF5ZXJzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD02MDc1MAorCisgICAgICAgIFJlYmFzZWxpbmUgcGl4ZWwgdGVzdHMgdG8gYWNjb21tb2Rh
dGUgc3VidGxlIGNoYW5nZSBpbiByb3VuZGluZy4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtLWxpbnV4L2Zhc3QvYm94
LXNoYWRvdy9ib3gtc2hhZG93LXJhZGl1cy1leHBlY3RlZC5wbmc6IEFkZGVkLgorICAgICAgICAq
IHBsYXRmb3JtL2Nocm9taXVtLWxpbnV4L2Zhc3QvbGF5ZXJzL3NlbGYtcGFpbnRpbmctb3V0bGlu
ZS1leHBlY3RlZC5wbmc6IEFkZGVkLgorCiAyMDExLTExLTA0ICBUb255IENoYW5nICA8dG9ueUBj
aHJvbWl1bS5vcmc+CiAKICAgICAgICAgVXBkYXRlIGEgdGltaW5nIG91dCBncHUgdGVzdC4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtLWxpbnV4L2Zhc3QvYm94LXNo
YWRvdy9ib3gtc2hhZG93LXJhZGl1cy1leHBlY3RlZC5wbmcgYi9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9jaHJvbWl1bS1saW51eC9mYXN0L2JveC1zaGFkb3cvYm94LXNoYWRvdy1yYWRpdXMtZXhwZWN0
ZWQucG5nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjIzNWVjOWFiMjg5N2UyZDQ4OGRhOGEzMWI3YmM2Y2Q2ODNkYmRj
YTcKR0lUIGJpbmFyeSBwYXRjaApsaXRlcmFsIDEyMzg5CnpjbWEpQGJ5UVR9eVo/dXdoOF9AKldA
YlBkMSo5ZDBaamNUWUJuMWcmMm45aWc5KHc0STR5aHFreF5xWWc+NkdwaQp6TiNXPGNfan5XfWUl
SSVwZChJemN0PUhicWUkSE8mP0R5VmhwWjV1U3M7eHBzJXM+blAwTGF1LTc0LWxCVG5HUkYKekd5
Jm9NQzFwaGpgTSghI2NPP15kWWtPTzNNPmh7PWZUZjZ0ZlVUeyN1JSkxLXhVR2JzZlFfQSVtNikp
SXNJWmBiCnpzRmtnUi1EQEt5WlU2d3NgPkNkWmwyM3EtWj1tblRwcFNtUmUjajd7ZjJlLXxEaita
e0ZlcDRJSTNoU0NHOSl4QQp6NmN2cE1pd08leWhsal84TjVuLSQjeiNnYUxgNWU/JDBXc3xsaExz
JHYybSQhQG9EaTFwQXIoJjZPJUhNa341UTIKenZRa3BCUWAyKE5LSU1NO2w9bXE7S1J1JSRCbEJ9
K1IkKjNsUUZjeW9QSHN0VlVUSSFGQ2NtSnA7QikhcyFpdko4CnolQSg/YDsqI287KGw0YyR1TmNm
WE9qJTc/ZDJNK2BUfTVTbVdtUTh9Ynp9OUhyWX5RY3prWH1eUj99S2orZzRsRwp6VVJVMnktX1k2
Nip3eHQ3LVBHTEUrfHR8OWZeQkstWWk7e2BedFpKU3cwOGA0YlBqY1A0Uj57YUA5cjd0PV5nRkcK
emokIS04YH0lK000QD9YVVA3ViVENEdtOFpmMW1tT2VmSW12K3tvenM9LTkmOF9+UTdGcjVfV142
TyV0RHImZ3c+CnpTRXB5eldAZ3VDPVFpZiVIfEgwJjc4YlZgbXYpd3hjYkF2PG1WZlU1VHNjQC1K
elFOb1QzYkl9LSNGUldKbCkqLQp6d1k3Yj16NExvI19rNEhuVnNITyl8S1JIMkBjUXVSPUlHQDE8
bkhjbnFpb3AjMEM/IUNyWUw5ZGVzKnRHT002V0sKemoyenxSRylgTGBCQzZNME5laG51RUN6d2pE
K0RhPTkofTxwWSkjPER3Jk04WW4qelpnNUZRPjdofnRsaCF5eW5iCno3PDZSZ2R2IWE2QEw3JSN4
JDBvfUdZa0s/ZHdBamVXXnpseihJeF9hODFtb3N7I1YlbDFwKXBpIVQkdlEwfEVabQp6WlR6ZCZL
TX5DODg9aD49IShVKFc9UFUjTUVBdn5gUDEmcjRqMj9XJXgjKCs4Sns/X35WbnhWI1Nzc2Y4TUAq
Y1EKempQWThMQXsoJiY4SC0yTHU7I2BDI0QtdXdDWHoxPHZ9V1hNVXw/WVFCUUppdEZlV2xgNVg8
ejVLbG5LZW9wdHJXCnpickJPMj90TEMwdWd1SURvQnxRcyVffUwlbiN4MGBvZlV+Kyo+NUhpKkZU
NGhBNnloMzJHMEUrRWo/ZWd6NSt9MQp6c3RpbjspeDRlPUxfNlhtb003ZmpzPikyKXlHOyhQJkYz
d0QmJkJLTVMzXj95dWs3cGAlbE9PcTRmJn1OMSNxNjcKel9Xfl8lMURJbTQqSE4pfkZ+MEJGc29Z
cE5CeztDRHoxNGlhcmRCdDFLe0RsKHMpbERXMlI4JTZlTjUtQVd7ZGtzCno3UXc2TzhzRTkhJlAl
bnVxXlVJNjZ4UThwJXN8NiR6ckZOPD1zNXZXckwoV0UxWXs/NDQjbWkqIzgrMFVOZ00oVwp6V149
MjBmSkk3NGw9ZHFaQ3ZrRHRTKWJfd0dfWHE0Y3N6V3RsMWx5ODcmQCF8YFVFYDwpcmJlcCpLVVRF
bChjcmIKensrXnxgSm48fm5udTNMSzhmRD5RejF0aDc5VDVPNDBeOFI9UTFzJGBmJXlpekhFJHxp
KWIxPGJKKyp7eF56aHYlCnpWTSViZGVTWVplbDFHT0JTWVBFSzI3O0otVUh5Y1UrYD0oKmBvLTZD
eS0oeUwxdU5gRWFmKDJjQX4yWmNzSEs5cgp6LUZIM3BgWEFOSyMzcX5eJTVJLU5Rc1Yybl56TlR9
JH07UzdRJkgpY1V0YmVDc0IjdytSNCk/ZzhkYGRQb24pWWwKeipnPk8+bmBOd3E+d2lRa1N3Y1RB
P3UlQCQ1K2hTXjxhOytgaDtuV1F6WnZsPHREWndUPTRUVUx7a1MlQHZtNVJlCnpRUm1abElHPkFy
Pk4zfmpYdiZZMSpZKX5gLVFKe0x6WGF9NDFqNFU9X35UUE11PW82e0FjUDtmJjUydTVgSlA1OQp6
Q3l4QUppVDg7fktoN201SllpMGRFeGBwcnRLSndhJFBxQXpyPGtiKVArN2FpQXRKRU5qUTVjI0NW
QmYxRG9fKi0KejktNTlWcVIzek5kNSNPLTcwcX1SKUIjS2hVVnFJOERCKkpoUCk/MzJkckZuKEt6
eWwwKntKYzIxeyRJbUchKHN0CnpIRyZOQi1mejNBNjBZNnRJdF95R2NfJHw8elF8TGlSJU1gV0pR
PkVPWHNGcEVeQTdJaXppITZOYW1tdzJzQFQjPAp6NjY8b1ZAZ09nKjtzYTdyaGp8cHZ5c0Q7PmFq
VD1ycyFXazdqOUB8PWUpKzRmWj95d3dkenxsV2NIKT5TJTRESmsKelUpeENpZTU9WllFXnh3MSln
d2ZpKDI0QiVjWWB+PmcyITcwUGF+d0NWNFdGSkk5eG4ma00pNCh4MXN6eTt2XiNRCnoyOWxBNDNI
SE1tTkhGSGpASEZ0Sm5+dXFuVE5DYF5nMzk1OERlR2g/SmpycUcqclNsPktaV0dxI048Q2xAJkFu
WAp6fEkoTkxFQmMycGYkO3U7e3pJPyspJTtOKnNeVzxqPFl4VlBfSWZOY1VLb1pwb1Z9PTcjcVNg
VFFkdUpScytDPVgKenE3N2tUczRaZjRtXj41RWJUXldRYWBaJVB0JnokUWhKTnQzMDV6Q043Ql5F
e2pATURoN21MRFRjVCRZIz1fJnRxCnpqPHlrTFU8X0dqS3p4SmU5Xk93Z3NmXik9ZVd+XmE3R25s
Y1RHMERNPl4wODJqbVl3TVhPYTljQS1CajtMNl53Ygp6UjhlZkFzSCZuVEdwa1YyITBNaUxXWkQ8
JjwjWjl7aExHblI9dT8yOHg2SUEpXi0tbEJibn5fLSZINkI8SHBiTkIKejBQT3FSSSM2KmtVOE9n
ViQ8MyVkdkE0IUtIckNMM1B1aFJhK1E0PSNwbTZrVilnc0c+dCRPMmx7K1IxfkZRJE9wCnpebXV5
RjE+JHpsWVN5Q29UVmx4dE4/ZmxCdkchfjVrbX0hZVYyeE9pQUhEO1h6OD0xQT0wJXNOYF9ZO3xL
PVokNQp6cz9CMUtJYSYzTEcmPkFrOUteV0Zud3h0QUMzPWJtZVFZOzFKeSUyZ0Erc2RPbm9NaFZ2
YzBUe2tkKVp6TUJMJmsKellzaTI8dXEmSlIlZSpffSgmVUFLTSpiPVR2TTgrcDthSVdNYSMjMDt8
RSpxc2FjJU09aSNIRXUockR2Z3o+NCRoCnpLZ1pMKkNtRGIjVnpAZzgre3Q+NVdnP3IzeGIrNU0+
a3slIUp9cXlxbjtoOzt5NFNDXipGOCZUP3l1c095az8wNwp6PTVCQ0xJbHJPdzRAMGBnXmNOQFN6
M3l7SkZ3dWxlYWFFQkxTPUd6YkBNe1ojRE1iZUFmOVBvbEomVUIhI2JwQlAKektHdn55ezZMREVE
cmgzZipBPSYhOzVKa3JOZmk8RnlpMloyQGRza3o4M35xfjlRRyQkXy13YFU4KStgVmVNLVNvCno9
USM9KUpEP0NxT2A+cEtyTylLJGl5az5ldHNqVUFNcn0+VyQ7TD5kJmVhKUlvP1J4d0BkTXJuRlcr
RkA0TjQrdQp6S0U4MTZqfH1LQikpdWZtcSNUUEp6WXdTT3BNN2xgQ35xVE5RaytebFotc3tyTHFe
aEJ4aCNzMVNFKnVebT13RCMKemcmY0hsez5hcVpoKmNFKmF2PX5vNitjUWJlQSFINk4oa0dxK1lf
IypnfWBgLUNDRmx8UX5CJUpjcUV9RUJfSW1DCnoyRVVnWlRMU19uajIxRnIxVjIzSmFQKSFeYGN3
b0RlMGJFPjxhJWczYz9ATnAhVlM3JmdBI01TT21TZ3RPKyZHfgp6TWFNVi1JIXJIS1FSbzdNdyVV
bTlqblkjeFFgfCQ/Wjl5VV5WWl9Ack97YW9fYDd1U2VZZTclJDxDc1Eoe2xuIyMKekdXTS1AKT8r
TXVaKn1vKF8hYVNaYXN6NTdCRXNCIzBLcVRfdWgxQmAjR3wlWUdUQDJxUX40S2FLQ1Zua2w7Q2d9
Cnpnanh5QzYlTmdDTlk0Iz9Oe3k0bDEoZXN0MyhFYWlaVCtVNnNQaWVjUWF6UXo+ckdqdHIqQCY9
Z1JsJV40VytwOQp6dnBfWm9SWkAqaEI+VyMhS0p1VUZwSHNnN0toWnhfMjhpPHlebCFvPS1ndGVx
KClrZm50I1QpWmVtN1V1JipJZXUKens4entfJXxZTmRLWWA3cnhqZzAlP2xiVjRQemhfMz9vYXok
U0hEcEkjfSZ7Mj8tPGtJMCZQMG4pMz9EWDEjVkVhCno5YnJhXjUpaHImLX56Xz4+fTElJiY9RUNO
b0VjXjw1JGJxfE1EZGU+eHJ6Qlg3JHZyTjcyOSgtYFQwfF8+UiY4Kgp6NT1wODVqMnRxR2YpNSsy
V09+Pmktbzh0OGt6azwyYS1VI2hsbjQ1TSp8U3Y1cz1fRyFuV1NVKGN4Pit8ckgyZ0YKejZke35f
WT5iblE+Y3pMQ1oxSl9+RnJiNyFPTU14aXYzbF9hP25Hb3ZXSSF4NzNxTE82PUVCPlYjbmpBcF5K
QyVWCnppJEowe1VHQG9qSFkhMG1hIzNsYU0obG9KQkI/aUJuSW07eUNGUzJHNjU0bXJGdCRMZ25v
M1FKcjRzUn1Dc3V7Ngp6UyY8cnN3cTc1dFZBRl5pUjFeeGdIdDEhS21nM09SeCtrY0poWHw1TXM+
WXMzWkpRZ3I7aVhPPHpvIT0pPEghYTMKekd1aW1LSCg7SChOeH1AYEg5eyZ4JTJ5aj5BOSlebHNK
UE9GME4pT1dwWmwjSC0qUmRCX144ITgmMCVeMXtIeF8oCno2I3JWQ1J3S1N3NENhUHRebkB9dytz
VGkpO0tfZG4yUD4pKVElNGNVMDs+fSFOVEEtUnlzbDxjPnVKdWEhdHFsewp6I2FDaEV1fmQzK21s
TUlDdkNZS0QzeHVQJHg8WDI1bXR2Mih4KytmblFZYXlgS0gxNUk5Z19ScVckI2lARykrLWEKejZQ
MTdsQkM9d1I/WSVTO2ZgWEdTYnAtYStKaGBHI3xKaFF+UTRTSGlkPjVOVTNUTTd2bkQoKT5CSUlq
KnZxbyFjCno1SDtHK3I7PiEwM2Y5TCNVVGM/KmY7Y0VEY0I4Yzh7LSZvcnNiWWsoXmhNbFAkZ2xY
cTs5N1lYOHsyTH17bWo1SQp6NWdtOzVgTkJiV21sYDgzdis/Y35keHBwbE0tfURtcGQmP0E4M1hp
fFMhdTU+UTlUUFB5XyR7aEZ6O0xiREw0PUkKellETXxXVWJGLTg1cURTbVQ5QVRyTXpeZ3xEUVBf
cFJgejxJKTI3a25heTMlWSY5UzJ1SDU8RXpJeSpEXnpfTkZZCno2cWF7S3Ewc0BaZzVYUS1FfXU3
VkUlSGlmUDBHKVhneElybDZXSyoqKTY2YFRvVz1MSlRYaihHdG0ka3d6dkI9JQp6WGVaI3N3VXZn
Mlhra1REJnh3cWFrN31pPlZ3ZF44LTA5a2kqWXdCYyluejdiWGZtK3hRUTk/Q1NoS0tkWnp4fFgK
em4/SHFaZlQpQnYwX3NEMGhOKldFN1I5JiFCQD8pWSlXQGx9IXNGemprZjh3Kl4rI01WV01BWDV8
N3hjKF5vJlQwCnotM3VzZz5zOVd8KnFncEpseE9HNSZyVDt+Wj1TYWx7ZHU8MlZwKV9EIUlBYDdH
Mjd2ank0dUhMc2o7YG5QM0V4Pwp6eyRJfWsxITB1QTZzfDtHJihIVElvUTBQYnF6KEkpMmJoaFo5
aWYzZmRwZW9EVF9feStSYCtmPWpRS1hta0FOcj0KekUkPURgOV9aOHw4dEFwOWpkTmtMPDMzK2Q0
Nng0akhLREpkM3JvdVEjVElhenl0U3AxaGJ0KHpxVC1gNXp6dShJCnpzOHJwdVJrcms2blN9N292
aGgxIVBGfGt8TFlifDBuUClKcyNQd1pYLSN8RkI9K2FLMTNheVNGUDxHfV42a0IwcQp6SXV7I25Z
b3gzYkRHPypVNHlwaFltZ3ZJPHomZE5HdG8mVistfDZDRj4tdyt1d09RYF9JeTlKPiQrIyU/T3l0
e3QKeipZKCp+X0BRXnVDfklDejlwTzl1QS1+SEdvOEx1elYqT2E/ZlNgWlRwQT1lVkNwVX1fYkMl
M2I2LW48a0twUmxNCnpyVkJ8TkRTKTQybXU+NTJMcGdIb1E/IWBiUjxYN04zKypeI3sjPWF4RHQ4
WmN4eVJ+Sz88ZDVNcn5UQCktemZBKgp6dmE7SDc3Q3x+RnwyQWY1TCYkdDN1QzA9O20qajs3KDAq
ZmAhXzgtdG5AZGQqJjNBb2RwPHYxaCVxZj4qWSR4NHUKekBNMmFtY3s0Nj5TNSEybyNyb304TXk4
PjBYVj5wR2xqa2BUQUxvYUE9X1hsc2FtZ145dzMqK24zPEk8a1gtciReCnpgZDhVbXticnRZRjRT
MWtmbGpCSj8tKVBMUT5ibXw9MVNqMz9PTTdxaCFefFFxVmpkI05zWDcweFckX0QocC1qZwp6Xk5n
azAhQXVARUxgdD5OazhQRy15eVA9ZGVMdiFhRDBHWiswczdsLTxTe2VoI3VtSmJfMH04dilAM2Ez
MF9mVzgKemVtYSVhZz87QlY9flF1SSNCSmJUKHt3K15AS1o0SVhvUFBpYn17bERsI1N5b3lSWjVj
ezNSSDV1bVd3PFItTUFkCnpoPXFZRENWOFJuYTh9JDVeeUAkWVl4IUdKd24xeHd3ZnpUZDlYOHp0
dlQ0NkpmY2VnaGFUMlAzVWokN15YREZkcQp6OHQrRGZxOHdIXlAoYnZTb1ZfVlQjTzAzPyZBZT0/
UmpmQihEUkwjWGJOYn1EVHdMUmQ3TH1MVjtPTSNudSRscVcKel9pUTNeWiokMFQ7ZjN8MGwwTW5V
dmJBMG1VMiZiOUIyV0M4ST0xM19jfD0kWTs8dClTSmdEOSomXz9EeGVvKE0jCnpAYURLSiRkPH5m
QjA0KWVedWY7c0M3VzJaS3wqKVNEMTk7TyZBN0hgRGNOS3hzfkdMfUp5eml2cUZBWT1EVmlZVAp6
ai1iJCFkN1U2QitDJWpOS0o0IXU4YFIxaVUmQVhUYkBrMztte316NjN9JjRlSX5VOypRSS1BUjx0
M1Z+cDNYTU0Kemo1dzdYZjRRRio+NHdTNWM9YyNVaC15JD8jPnZ2PSk5JUB4aDdLU25oWX0jKkJn
a3lAUk9tcDczMDZKbmQ/KDB9CnpyQm1nfUlRblhTT0hCaHBYX2ZyM2RENiRlUkYwK2BJaCozUSMj
cUswQHQoVyY8ZXQ8O29uaHdKJF53YGwqRlp6Swp6a0IxYmQoXjNTY3B0eUxrTGteYjtBRlUhX3Bx
d09FUFB4ZVomWktodjRJTFNyUDR6d25OYmNjMHB3TjVzWnRpSUMKemA4NXBVeVVCR2RGc244MVI0
aVpUQDxoR3JiQXg3d2R4djIhZWJxeURkPkF8STxhZ3J8XntJQ3BNTVRCPi1Hakx6CnpuTDtBalQ5
ZEN9ZmEpOV8mMT5TJlFaWiNicDNsS1UtV2BfNUopPChrQTd0WiZNTW9gZEN5V1M5OWZPb2tlJlNO
Twp6N1JgPHIybG10RHsoNiZKJXM4Kyl5XkZ1NTsyQ2debD95cGJLOHwhfkVyLVVCNkNsWm00VTV0
dz1ZUjVtTU1SPXgKekoqJDVlLVAoczg7UG4+QzIwaDlRQ0VTMCtYc1NDUEN0JmR+LUF0PmwrWGoo
RWp7cDI4dSpnSG9pNCpUS2BsRX1mCnpQaCsoViVjPGxsclRmPncpS0FWaUZnSW9ka1Z2SmViPj5P
QGRYR097TlN5dU0tVGhCKE94X2t1bzdxKHF2MmxwPwp6ZTA4LXljdEVHb3lnT3YpUGErN1VvISFK
YnBBQTl4e0shKHpFTn49eG81cXA1ZjJkczdZOzE4VD0pJjk5c25SWXIKeitSVnAkIXFfVDs7IzVP
OERyVX5fQ01LbyEoVjVSWFVXUnAwamhXKnArOUN5QS19Yyg0RWlBfUtHJHF4YWZiNT8zCnolP0pD
eGtKPXdSbD9zSihNUWlXJGJnZTdle3EtdyNpNig0IXAjKF5COGU7bVl0fl5pNk1VeTRESmo4KCN0
K3lVdgp6cWN8Um14T1NCTXZVR0FFU0AkaTBmRjNMazBDTmBgb2BjQzRIaXxEZjU2QCZ3KzZoOGt7
IztzcShZOzZXPWxlYV8KeldjbFFRKylrb3RePGpYQEhmeCZSUHF4KzM3Vm5hfitRUEo3Wig1TmJz
PztpTWdKXm5GazNtOW9ffCVCPFlWR2VgCnokdypSUSshLTZJbiFNZjxHV0wjNS1RbEl1cyp2MEI+
aVZFRVlVWk85Z1A9JDNIVj5uO2ZoKkNVU3NwWlQ7WHEyWQp6YytIMTtEU1omblJFOEZhNXpnJWtu
Tmk7YCM2bE4qTkpXfWhwRmB2T0NzelpPTnNeNF8+dWZtU0FvfEJlVDVtN04KelMhV2pzVn5zQjl0
WHQ+O1ROSFI/KVViVmw3JHA0aVR+SEBEP0J5I1BUMXVefG8pXnxIMihkVEhUTy1Qa2cxWHx7Cnpp
XzgkdylyKURyaExDT2tjcFB2d3dVeyZgWjs3aGZLQy0yYDh1MiRwNXtLRyhNZlJ5WlB2bUtkeWRG
VEpWeT4pUgp6dmc7b05tPFU8MytJMF51cHI2Uy1HXmQ8QmRNU2BlOEh3V0llNGRBP20xeiFYYWBh
Q2BiPlZTeU45YDclI2dlRDkKelk5YWNeI3J3Y0I8PTJ8cjsoaT05Tm9hPzZ2I0J1K19oY1QmZmpt
Pz5EMnU3QUtIT1dZU1VJV2xiflNsYXJEIVhrCno4QjN4MzF5KUxTc2x+ZVg1e35MKFNJd1khQ3Bs
Q2cpb2BQc21oX3B7QDs9KHotfDJOO1o7cGtxMDNyYmBWfHZVRQp6O2J8bTY5RVNseF9TcHw4dDhX
QX57a04ldllEZjtYdU0qQU9yekgmN18+P3pSTytnT2t6TmchNylHLXF8Y2gtbCoKekhFZn1CYm5p
YzZ2UllWMHYhITEkWUt9P1Erbjcmez4rODZ0YkFpQiEkSCo7YHN7bXNaaDV9JEt1dUxtPUdpY3hO
CnowUm1OPzIybGhQT04hSD9gOVFqNlBnSVA8TWM2cjwzRDhJaU09LXJBQiMpV31OfklOKmNXKlZ2
TUUxeiZlWHhiJAp6ODkmU2R6eEplZXh0KU4qKX5EeU9JVGYxRWxhPTR5Rnh3XzNUYWokYDwoNURs
U15JVGROY3hmdHZhM0d5KHRsNCYKei1tNFU0RmRxJitaZDZkRDdxfSN2Y3B+KmM8JDQ1SUFNUW5p
SDBkcH1hIUBCent7e1QyKVlHIyZMcz85WjsyOypXCnorZ2p4TmJ6OSVXPiQweEpobldvb0ElRmhT
UGJuLV5DOypvKE1NbzxZN3YpKFN7TjJRJUl4fjtPMzZmKXhVa014OAp6dFNqQ31vVlFvbkZfJl8o
SmZJOXA/Rkw9azlJd1dfVitRVCFWdUVkPkVOSX1RMWRwRzZISFpvJVQjdlFkQ2pAYj0KemNDSClp
Znh0ISU3IzQrMFFFenBBX3E1Tzk8dnF0I2hUWXlrZiNOOTQoakpaVnFUZCskNUFeX1ZpdGIzTShL
MF9TCno9IT5aSFB2MTRmaGkoQiQ8em1zfnMxP0F9KGhwXkR1QmNIKm9eMW1FIXRyJDclO0JKJTZt
Rl9zLXRtUGFVfkpGSwp6ODRASCM7JEBmbCo0Q3N3WWZVS0hvQ3E5SSl9TztBc350PkV5Znh0OUw8
bkl0Q3A2UFkzQTlyaT5ieChDM1plQHIKejdgdlcrZHpKayhkeWo2aTlWZ29eWDhLYFFpKiltPlNo
T01aPlpeVyRwOS1GdTVsZilPOElLV1ZfdjxrTyEhIyYrCnpTQEJCb3N0a1RUKVAlKzZMKnI5TjFY
JCFQbW4jTDc4N2p1a2RwTGJadVF0MUpwTUJ1QyFLNFpnIWVRTVA5VVIyQAp6VE89UTEhZWluezxK
Z3ZtcH55Vz5HaUdoQW9MdU03IysmKFZedUN4fmxadGo3OyVyeyFXd3x4Iz19bXB5dTwpbFYKelI5
dmNyRH5VPVczPHNvPV52JDRwbV9HT3U4Jj1YU3FpM3Z1MldNYUpZOWlxK147RlQkR3Q/cFp1c2xN
RSp0I31jCnpENFp0NTY+KXItTUlzQkJJaiRQYXVwU3NNP1FlcVY7O0dkPjk5dXVlT2B0UF5XSztF
eW0yeEZUWV8wY25ROzJFRQp6UXJiTkVHd2d2VzBhZj0wdjJ1KD15cW9gOChlZiN8YHN1VDM2PU5i
X0JPPG5uS0xER0AhYlRjRTRkcmtFVm0wQkUKelI1U09aPmA5WV4xZFl+ZUx3UiRFNiZiUFFCa2VE
TkdeUm9pcS1TdWpjMj1ZR1UySyYzWmxPOUN6P0Z4JVlSPjNtCno8Tkk+TFVTcCMjWGM0KStwMiRI
cjBsbDFCdzhkX0IqX1JWRyladnx5PXd4Mi1XYFopaGI/LSVjKyVBTVBAYX1HTgp6aUBBWUpOUFBS
WjI8NHVFJS0tUGQwOT8/c29AcHMzMlNzMD5uWHZLaWtLd29IYEYhY0ZDcjZjcmgxUjhzTGhTTmQK
ekU4OEdhLSN5KzVieFdlbkF8KVhjKXtYNS1vY2l1PT87WmlgUF9TKUsyPTV4O0R2YHgxUzN6PEFs
Qzk4Nj92PFNWCnpBWDxydTRaWFEhZ1k/O1h4bVAmOy1KdzdOYkRtZGF1fVZKPnV8XmRub3lNUWta
ZnB0O1ExeG08NnMxQF9lQD1vUAp6aitwc1NASjNOVmt2N1EzayQ4UH5mc2cmKkwoJG02ZFhze2U/
ekN9fk8zQkw0TE9NdjZiSitBQmRaajtmTWViVFgKemclOH5AV3okXlZPTF5NS0xsTmEkazM2MXtO
aSNDX0d8WUMoVXYpLUtBJG4pR00lI211S31SZnxEXnVJSzYwLXFrCnooPEFEJGlEPmlmIyRTeDhs
NjZVaDhgN0xnN0luXlAhZChGJWZoJTs8a00xM3lhVykqLXZHOTVRaWk+dTFSS0NmZQp6PTYrfH0/
JElGbkdGb2E/YW94KDZ4anJ4RiVSQiklWkhwNnMjMDw/ek00WUNuZ253YE9eUXZnQjt1fjlDV1lp
UWsKemRIV29JdztqVEBfS042ISkteUB3P1pRZjBZdGpnKzRffSY7TUJ3bW5WRzQ8NiV9XlhmR1l4
ZE4lKl5NKyFwPy1FCnpObUJneDU2KjxRaTR0dCtRUVB8WDEhPFk1Rk9rbT1qOCFrcWRIMlBnd1Re
am1YfCFYR0prPWZMPFAjSWU3QSpoVgp6YzlOb0Y8bitRX2pebz00JDArYSk3K3V5djNXRWBHaXh9
cS1DJFhON19ZaXB6RyFKYCV1QnFDOWxzLTF1X3xuPnMKej1CQ2UjIzF1JGxePWdWdDVrPjhRYHR7
MShJUyhrSW0teGxwTz18Wn5LZipeTz5sZEkkTD44c2EkbWliI3VVZ1hPCnokO1UjWUNRWCpYIzA7
NSFfa0FWRmI/OCl0ZWVTYCZMZUBfMEtUOGUkRmpxRVBkb298KnJtNDBXNyZwMnlLRGdhQAp6aipJ
OChiPzt8dkxYKHE7UmQ/N21FWkBDRztSUVcqbmJjZjt2a1I8TUlzWm5rI1diMSkwfjF4XkQlLTBp
Q2BET14Kenh7SnRHWFcpUH1YWDhxTj55JXgmeX17TTA3WGwzNlR5QkQlV2BPQ2BwUjk3NmtqZGJK
I3d6Xj02WEE8Iy1PO1RQCnpRIXd8TGcyV3BSWTM3OHpRVEpIKDtzX2N4YEBQZFk4NDhEb3hIY1M5
JndeZllrYlE8ZF5wd3d6MitsanNgck10Sgp6elNfKk9KKzRWP1ZSV2k1bGFyeyMpSCpjYCF2fXFL
Pk1USXwtXjFsUnQwZWN1ODFwYmZYZXIrfFFuemhiaFZpTHAKelZNMXs2YDNYPS1CdjZVbV8mOWAr
Y3x3dzEraVImfHpAXno+Sn5lI2pteG85ZDl8NE1xe1FXJTx0NVEkQDB8TTBnCnpxKUM3JTR6Y09j
JSZzTXBGQ0BIY0RSc3I+a0djfFdtKFlFNz8+THZZYlB5NyZIZGI0dCQ9fD9yJUBXeXVLLUtlPgp6
KFZiK2ptcT9TdjhHbnpTTnpBS1I2SDtfeXJDeWRfc3JfPUE8NFp2fTJPeWBWKTtTU2V1bGYkUjMt
U0ZIYjVAMUYKenUwMUtVdGRHa3RQWF5aVEhrKSNmTmIxX0dVI2MlezNAJWJSTkR7UDBZQ0BTc1pq
WmptSVUyZzYmRGVOJFdJZkM2CnojcDF2ci1QP0N9cl95X0hyaiF8QG95ZWFKR2JMaiRFVT5gbmVZ
YHFRcjM/QDk8JmczYDV5TntHelJESHtyVGg+Wgp6ZncjMDQ/Zkc7ekdAK1diJWdFNW1hUXg/Syp9
eEVEMihRUTwkQ2NOXkJHX1k8WVo3O255eil3NUklbTZzPzxuRDgKelB7SklJO0cqX3Q+JHJ5fE1P
Nj19WTBFdW1oI2BKNkk4SWN3Sj4oMHFUXjJscUBabHZMRHkqT1pzfUN0akh6UkB+Cno7SmFLME1R
JVdRZGZmWTdSNTRnUzU2NGE+RmpxajIheHUrRFN1JXtoSmtpOCFQbXV2WHAlNXFUMmpBRHokVWUp
MQp6cE9Yc2F5MVNDTU05cDJmUmxQa1FKd09HZGFxaV4rUj17ciZjfVNgYiRLVVVpbHlFZUdPTTct
QDRpR2Uhe157ZmcKekJVPEJlQmkoUlVxNVhJfjRATXFJYHB1NE18QlFSJk5AQFZJX1F4UDE+LW12
NkV1Sjs4Kz9zMDxqPVomJUNMN25pCnpUcFpPbU5OeTFkZllWejh0RFRsbm48ays5UlYkY3Y5SVpr
YjBnRGp6JVVLZ2RsRGhFPFhWPiZxSipuaHBYbktTWgp6UkdxRCQ4YXBNODM2dnclN2lyZ3k3Tm11
ezVRZTc2ZCglRUFxLXQ2cENyfHhjTUYlcWpJPyRBRHoqYHpXMXB1KV8KekFHMlNubEBZM3l3JEwk
SWxTaipWKX1nMXJzdzB7RCpvZ14+TTxVT2MzSVFpMWE8VE9jcERrfFUhd1pifm1iKCVRCno8N1RW
KVJrRiUhQShTOVBpb0xFY2V3QmtLb1Y1TlkxKng5THApQiliXiUqKk4lOH03VChBVVZPb19GU0tu
MkFERwp6MDJvYXVWaHgyTkFQJnBFVyk/NW9SPSlRMGlmc3FRUU5RcUNrdzhLK2grbXtKRD09ZnFF
YEhCNDZpcUNCKGB4RyEKemFhK3JMI1UxV0l6MUJsV2IhJmw0ZjZeZEE7NztMfW5xYE1JejllMXp7
dF5lZHlNWWFTMHVibDNhUVlndCR3VWt9CnpmN0AkYHYrXnxraEU5cDtiflckNDwwTTE5SnF+Zzg+
ZGFoKXh8S3Z1NUcqek45aiZBYjVJYXJsKVQoX1ljVmNKewp6cEMwKXpRWkF2cjxiWnUrNzJBTyo+
cTItIUV9aSsoJWBMYypeQURAOV9NUn02VGNORWg+amYmVXE2QjVjeVBKO3QKelMhcGp1MVhVcWo9
QmV5N3pKKTBmYXhSUGMyM2s5cHg7PkQxIzdNR3Q7Ul9HTW14O0tSKldnaEJQKXpGRG4tLUZyCnor
YjE7ZWtLQThvcFY+Ul9FNnI0dSR1SkhWQFg3RHtHTGpmKSRVSyktKFBvZCtGeW9ORUlrRl9CO3M8
NUVIeEAhfAp6bEcmcTZ3IzRvbTwpdG9tdF9HQ3UoeT4hJHEjYyQtd1RPNCRAUH5FdE1MbFlaaTZN
WWdQI29jfVl4U0BgYzRRKFEKekI+IWB2RH5SR3VgMU5GR0xmTVo2MCY7Vzdjaz0rYCRWbnY3dzR0
dShMLT9tendZSldUcmk0KDE/TCVXWXtXbUxDCnomQT94dnopRVMwSHBwI0VHdyUkNzhmQlJAYzt+
MEBIfnNQfkM7S2hVK0s8VFhSNjxrcEkxJnhAcV41dXptdClKewp6U25LJTtONm57MGttYiRjNChS
QXJIOHUrMXBIWX1BNT4pcjB5U1ZOe1BwSDxhN0U2SFkhQyk1VWliYGF5QEt+KX0KeipZXnYrTC1J
ZlBTWX1ANj1fI2FRK2s8cTQzR2E4ZDMoc2J1Zz1DRmQmbWRrJHphc1AlYXMzSD0oRmE/QFV1KnRS
CnpFPD9KWjJgMnJUWmYkej9ZMHthXlpyUFB0ZF4/XlQ7SHkzZ0ZvS3M+IWZ1M1gwfFMyPXBnc1Bl
JXlqb2cyREFZcQp6TXIqJXs+ZEdEOGdnO15fP2RVTEJtRCFMZFhSQl9WTj9je1NQQ3BXNERWPSU1
a3BBb05GLVVrZE5Ye0dtPm4pOFMKej5kUCpNbz9lN2x4JHRuQ0d2I0lGQWU2ZVMzWUdZcnQrRiRh
dTN1OG5saUxFeigqKEdAdGxuQyZSOFpBNztmWGNiCnpWPDJJQXFMNnRUQGgpbHQ1R1pIKzRhUjNe
YlEtNzZmVmIofGUoMmRzMGVucEYtc00wU0MyI1ZlWVBPfT9SZFkzTQp6OzY9PT4hIV5OVTVpI351
PWFUWV9OXz9SV0p4dWM7ZG85bzBDJjRDRyRrVGgyWGpeaHVISiYoPWc5OFBZZTZmVUYKekNndV5e
Pkk/UjIzXmhGd3E+KD1MI2tVQVgmN2FKKG1Ha3ZuKWpoZkZ4KH5nZmFJPmNweTtZZ2IqTllvTGQp
SkY+CnpyajZ+TnlSRHUzMCo5KnxaYnpQTmV8IT9TMmt0V21hVjQrVzB4YXs7Qm91NCkqQUk5O1FO
K3RkJCRPPzZfQ3d2Ngp6cS1aPT1kX0lsN1laUmpaP3dZR15mQDI/Nk5ZRVZxWVg2flJ3JlRISypX
cW8oPCUmdmtuNiYjISY7UVp6QWtnVmgKei17Tk82Jj1NUUVqRXt7bXRsYy1xKHpZa0MqVFFeSzhy
X2JtZChgdW9IU1NqU3lvSUNpXn4wQEE3P15xaV5MKml1Cnp1QGl7UWxXbURPTENyVjVvSCtiYG1S
PG1ZNjZwdjBjRTcqZm5vZkJ7ZEF6V1dMWk99KEladnx1bVlfaXNZLS13fgp6d0c4U1Q5fn5TRkQ2
Xl87e3h+JiR8MjtUY0E0UUg3MDEoKklVVzl8YkNCc0B+byYrdW9UN3A1M1M2bEF4UmFqQ1cKenFj
WWFzNmh4KFVlcy1XSkdicn1CNWslclZsV0VjQnNXUGZKc2t1PTIoeFlLUTAlXy1aWHoycjtCNVh7
NGE3T3kpCnp0bno+V2swMyZOYEpwSjhGISErcHohVGx5V3t0QnA9VEAhVFhIZTMjbENudFRzd3ol
ZGQ+JG5vc0doWD17Xk9oWAp6SWpJQT1AXkRAQ0BBMn5Ze0k2YX5lTGl3bVMrYEQhP3s+JGtnfXNI
Y0x2WU1JbFV5QmpYaVcpQlROQ0QpMTVHeykKemBGPGBLNnxhIzJhN3tDI2dESyo+SW17aWZQT0JM
flV2MldNekV6MCEpNzBsYkpXaEFQVl4+Z3MtRVY+OStVSFZ4CnpzQTcmUjFwPGRDMnlNUGBpZmFi
SmBLaWR8aTg7dWBtIVhiflNSdWQ+e0BRYEtHezV2Zml3YUAoLWpDclUyc3o4LQp6dE5WX1FKSklM
K25xUGFBRGFNYCtqbyNkJStNeDc9JnAtRXhZMEJtNiR2TmpUSnpMNXozYm9vPz9kWk56I055I08K
elU3bldOXkpBdmhMMmRXWmUmM1NFWEtHeE5HOD0oQEJSR2JoMSYhMCVzNkNkWDdiQ2kqLUh4JCFf
ZVE1TEpWSTExCnp5STtBcENsQDUwQ0N3IWh2VEZefSkzOzNFdm88MEpLYlcremIjWGZ8R0ZgdXlX
ZU9RPkJ9U0I5RHc8JjlsS2VyNgp6SVp2ZjI7Q3F8fS1yX3ltRFZyVXxFQ1VpYlFxIXNDSkpnVGtN
ZjZSZkZ6ez1jR0pQaSpQTT5zUT82O3U3O2k3UVcKeiZjJnBNeUphSkRQRClNNGA5QEI1YFk8Tkg5
YGRLfGlvZzRocEhscVAoT2U7ZlNLRHglMnIkaUhkSk4oUmtIMChNCnojazgjUkt2eGV6bHNWZVVN
JmR1UkokcUN4VWd8azg3Vk4wVmhkZEVFSGtsaHMtVXcySEZVQ0I8PjBeSFJwa1duegp6QFhGUkdp
KWNfOWE3aFgyNnxsakJWVFNZdTxmPzk1dyEwWEQod1JmfVZEY1hGbiNFZWE1fUxyNjJrOzdAbUdM
WjMKenNPTmJKJSNDMTVhQExCMmZrRmp4X1dee3NtY1V9MzReZStrcGpGdGY7akcqdHhucyY3JFNI
aj94SDlzMG4yUlQyCnpeV0oja3VeMlVEJmEhZHxwY15uKWRyeX53VGg4USFXU0NzUEV1VG0zO01p
fU9wVz5oOWs9YFFIeU9zOyZzPj1EdAp6e0UzO1ZJNm9NUj1KaGhTZFVlPj45KHxhcVN5Y3VwSUIo
dmBOfkhTJlIhSzZxNzFRYDhVZyFTSyhSKT9+MzNhT3kKemRfSWspSjg+TGx0dGZjJmAle01UMmI1
ZTloYzUqaDMwVFI9dEhYJlRBb0o9Z0d2WDxeUWIlUHErQ2I+KHl0RTd3CnptWEY/QFhXM3p7YWoz
cF5PLXB1eiZZI0pUKjxgT1cqV0I9UnMhSkdNRmY/X3tpfk98V0cwVU8qTk9gfmZmeVFfOAp6KHFj
RFJCfXdAYSllKmRHeURiej5RZWZ8bm9EfCQlKkEhRnpgMG5AVkxSbUlMbWUoMn5MQFg9R2B0YT1l
LXNnQ0YKelFpbX58NkNpdmFfWkdfcEdibHtPV3VZUVN4O3RQZ2dyUnV2bSp8QXpWdVRydjtQPGtM
ViM9dXxqMTIlYlhBb1phCnolYCp1fj1KdVJaO1Z8bUclZn13U1QjJDgrXjFgYjVaKkJ4S05EMTx6
R1Etd24lVXw+Kl9KPUJfR0F+PD5rQkJ4VQp6bGZSakhtN3MpYDRhPXFebDJuRVJPY3QlOXJwSDQh
REdWKyVwUVdyI1NvOT9yI0lGd0teZ2RpSGpKcGxTPnM4SXEKemlrU2NVTzgpNmo+eDErOUVAR3g/
ajxqUE5jZWNnYTdmS1pPaTQmaFdxUj88VHB1aSNsOE9lSkp5NXdYQ3VUOyhZCnpNa21wIXBjS2Nf
WUBEPnIrNXZCRSNOWkFpZz1qMGlzMSh0VHA5V155JWI7anFuRDE/YFE3X0lUV29XczE5VVBCTgp6
UUsmdm89e2xBUEQrbV9+MSFlSytaRiMpQVEhJWdGP0JDQkEtOVZlRmtEQndATmMlIXAlNW9SazZt
fVhwPHxfLU0Kemp1U1UwVG9MdmE/SngrWGoxIyN7VGp3SmFCQ3preFkoWDsoTzlAUyQ4dGVBJHB1
WENqSllwNXhmeWBNYClWOG9nCnpLV145WmlYKiF0UkV5Kj1OZVh4KjhLTF96Z19fTUJZJmp+MkUp
WkxjSUpOY18zKVBIbkk1JU1OSUhNc1QwdiVzMwp6d2M9Nk5UKGtLYTdHb3xBUTU2c0NicDBGNnNN
JihXVisrYS1zT2QhaUk2bCM9ZCohUmxZUCs/R1RUfkNEKHR4PVMKemV5c193dmlxdSVlUzROTjEt
MD9QdWdlU0V7Y0BEc3JlM0EpWTkyU1k2Jlh8SkEjWHZSaXI+bG9nKD5LJW93MjY5Cnpgd0cwfDBh
UHU8XzQ7RyFeeTxNSE8pbjdKM0FJcUt2WVJmMklvX0MheDxjQ3xCZFVkenI5fGFCbmNwQ2xPcmop
Twp6RUVrKEpJVFJoYj10YlJGIVFpM3tua1hpRF9GJlZsJU9VU08mSn5aVXF7NlhGOVBHbGRAUn5g
eWUlbjIhaFZPTUMKemlkTFE5MWx8SHspSjFgUm1nWClAbF9uRVIzRjZ1WF51dyMpSWoqV3dnMXlf
aDhicShqSEpsYCUoWmNjcm96SDAyCno1MTg0MHBHJXw2VGFCSn1KeUlFQiRzISRFUUpAVlEhVFA/
dD00Tk1PcEdMRig5KEp5RXI2YjYteHgzNCVyLSYrfQp6SEBEJDU/VW5DQGFLK19EO1BiSWtzRjQt
X25YI2dhSXJ2dVVgdHhIb2hGQDRSRGlxKDlOKFAlRXNzMjVZN1FHd2kKei1vbDFnZWRaamB5cDBU
JlZZWGBiKSFFMWFeLX1UZnpBJEJrTGF8aH5rX2tCNj5MeWpfWmx0KCFoc3lEYCpPU1ZKCno8eUol
b3BZXkckSGo1eXZ6c0xPQXtiPmN7b2FSJXJ1OT9BPWRAbFghdUMlfCNyI241YFI7cVNnbnB+ZFcr
S0hTVQp6dHtLYUREfE5XMjt2KGV1SExOZ3lFKyM3M1F+TCprVWF9PkdvSE97ITItXiRCZHtJU15F
eV4/eWRwKE9RaHp8bHkKekope2RPVnJmNjBoYXElUC0/VXNfS0JIQStxPnZoe0BYclhWQWZgRHN5
PEVfZG0zKWw8K0RsY3syT2lubHAzY0FLCnpZQH0lN1d1OFFQMSFVSXNWVD48RHBuWVd+alNqQDM5
SGZ8ZFBrKSRvTWR0LVkrTkt3d3taITx3Nyt+Qj9WSVFhMAp6RU1wVE5HVnh8YzFxWH5EcypjJkpD
P2R7QldtWi12SlZwfVlmeyRMZGVxZGpOcmQ0SlQkSjM/NHVFe2k7ZU50P3EKelI9cTxnWl5TcUFu
b2FJNnVtb1hnXit5LTBUM21VdUlKUXdGckFjTnBzd2d9bmU7YioreXZUfXZFPyE9TFI+U1RfCno8
UVd3SG1UckdoaDB0eD5DO2ItMjNlOWBZKXZpZENnQk02X2NKcWtDVTVaNHQ0LX18TilBSX5vUE40
WEg8NCRJUQp6c2wyfHBOZTlMTHNud0NNbCVnNjFvKkRuZSZTPCRoWC09JHBkUE5WXzRDdHZLa003
Uj4oTXBhdzV8RTJkLVFPUm0KekFXVyteQFN5PTYmbE1TKjI4Jn1oSSFuQG0/UyFhflFFJlA1bmVR
MGpUI1FUUTRTJU5RLW1tYHo5QEtJQjZDcnFMCnpwe1lPRmU/LXtGRilNcl5ybGJoe2dxYUZlX29W
fFQjUVo5bWA9SDImVldOUW9pREF8UTBgS29yYV8mYEVCUF9VUAp6PSl3aFQlNWY3blIlUEpKUiZ4
KXwmI3ArK2cyYjdSVTJ1fn1CRkc1czx5NEIrM352TVdvKC13QSRgR2p7Yzt+WTAKelY4IUU8UDtD
X3xefHk7dm1lSy1DWVJOd2VsNGpsdD9XPk8xS2I0YHRQVm9jWVRzaHItVnZlQ0E9a3QjfVp8bW5S
Cno2cn04PD51YnFCTlooaj5mdyEjQ1kmUFgtWCsyTm0rMVAjaWFaWUAjXjViTWElUXJlcjJaISR0
RzdSV0JCTERuPQp6QHdkRGpLciordlYjIzF5d0RgbTchTXNhKmNvR0U5cz8yaWhZdURXTitVaSNK
STJ2T05IRCltdFZJey08Mj84O2IKek5uY3JgcU8zWmZRfWxsRWhVPStFP19+X0I7MzhPfFQoQyYm
Rz89S0lzP3ZRM2ZtVUVuI1codG8weD44WmtDKTw2Cno/PVJYM0N3bTFsKWRpfWooXjtRbDItWTZU
X2ZVR1VRMnZVZXRJTl9pYHMmR0hBNnV5LUVCWkgkUCFRQGUkWXUjQgp6eWhTNDVMUzh2ZSVQNVZH
R1oxVSZ0LSt+SjFAfGNoKWNfUHUyTCg4PDR0I3hTVzRaNzF8QlZUVTF4Vld9NjMmJj0KemcqTkdD
ellReCZaXzhjSiEhZ3hUdFZAb2hLWCFpXkc0cVFodm9fVytjbDVuNVdIJGB0NSlzOz4hRWt3RTZK
ZzVZCnpKeisyP3xMdm0pPFppWXhrMTFHPTN6O2prbmx5aDBibDE2WGE0NXJmcVRaOVJTaGIxY0FR
aFlMZGdiPkhXc305Xgp6TUlOZ2E4aD1YdnJLbz1KUUBxVzd2O3hhRHo3X3ZGYig+TV9qb3wzT0Bx
b2ROWSotWWxibnBuIyphdWtye3JIJmUKem8oTiZSVzl7ZzteWERnRXRVJWI+Qyl1b0o5YWc4R1R5
PXJUcTN7TUJfTi0lNjt6Sz1zVDZfdHQwJVU8eGgmM3FPCnptaXE0JlJ+alA/LWszNCRSTnFwTnBE
d1ltY2tUciVydzdSOW0kSkZ2XiszT31jSkxEXm97dGY1WiR9Jjc3UGZDcgp6SCp2RHlQPFRqOHt4
KXMlJWt1fllOVDlPYkRYUSN1MU8lUEtkJH5uJm1KZFktK0VuWHNiJTMhO3A/VkE5SmF+d0MKenFs
QHd7NUJ8UiE+MGNoR2U7VE8lJX5NNlhFOUMzP2gyXyZoKHNISCRiTipmcSQyRVQxfDdFV0haLWUq
MHEyKXM8CmF6KE4jdzZsSF5QYFRPNGhLdXQrb3YwVk9UITJiaDtSbX42cAoKbGl0ZXJhbCAwCkhj
bVY/ZDAwMDAxCgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0tbGlu
dXgvZmFzdC9sYXllcnMvc2VsZi1wYWludGluZy1vdXRsaW5lLWV4cGVjdGVkLnBuZyBiL0xheW91
dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtLWxpbnV4L2Zhc3QvbGF5ZXJzL3NlbGYtcGFpbnRpbmct
b3V0bGluZS1leHBlY3RlZC5wbmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOWFjNTczMWUyNTk4YjMyZjlhYjdkMTIx
YTkwZDg4NzVhZjYzZTkwNApHSVQgYmluYXJ5IHBhdGNoCmxpdGVyYWwgMzgwCnpjbWVBU0BOPyhv
bEh5YHVWQnEhaWEweX55VXsrdllWMldVNTI4dH0kQXolIW9HKXI2fk58R35EbGUzRlVhfmFHYAp6
bDErP340M2tvZ087U3pGakxqfDBsU35iYiUqX29HRWZOemdqRlg9RnNDKW93Vmhpdklham1iZnxO
c0JMYz0yO3QKenB2V0lqN3Nycl9JZDg4UzNOazQwRmxAOXN4U3hCQFI4ZntLR0JOaVl1Snp8PUM8
dCh7RmphRVErLU00Qkg5RnY+CnoqbntMKm4xRV5+TlQwQ1o0cXx8RzxEcjVZdUNVe2cjOzI4MXhs
Q3VWYExqPipkVkJqRTFCTF5Hcj5tZEtJO1ZzdApFMDZSbGRZWEFUTQoKbGl0ZXJhbCAwCkhjbVY/
ZDAwMDAxCgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>