<?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>74392</bug_id>
          
          <creation_ts>2011-12-13 02:33:05 -0800</creation_ts>
          <short_desc>[SVG] Use element disappears after scripted change</short_desc>
          <delta_ts>2012-02-08 13:29:59 -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>SVG</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</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>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Branimir Lambov">blambov</reporter>
          <assigned_to name="Levi Weintraub">leviw</assigned_to>
          <cc>komoroske</cc>
    
    <cc>leviw</cc>
    
    <cc>pdr</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>zimmermann</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>519978</commentid>
    <comment_count>0</comment_count>
      <attachid>118982</attachid>
    <who name="Branimir Lambov">blambov</who>
    <bug_when>2011-12-13 02:33:05 -0800</bug_when>
    <thetext>Created attachment 118982
Testcase

The attached SVG file contains two references, one plain and one having a filter, to a rect element which is updated by script after the initial paint.

The update causes the rectangle under the filter to disappear. Forcing a refresh by zooming in/out causes the rectangle to appear again.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>544177</commentid>
    <comment_count>1</comment_count>
    <who name="">komoroske</who>
    <bug_when>2012-01-27 10:48:17 -0800</bug_when>
    <thetext>Just ran a bisect:


WEBKIT CHANGELOG URL:
http://trac.webkit.org/log/trunk/?rev=87341&amp;stop_rev=87266&amp;verbose=on
CHANGELOG URL:
http://build.chromium.org/f/chromium/perf/dashboard/ui/changelog.html?url=/trunk/src&amp;range=86624:86779
Built at revision:
http://src.chromium.org/viewvc/chrome?view=rev&amp;revision=86779

http://trac.webkit.org/changeset/87302/trunk looks suspicious.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>544189</commentid>
    <comment_count>2</comment_count>
    <who name="Levi Weintraub">leviw</who>
    <bug_when>2012-01-27 10:58:47 -0800</bug_when>
    <thetext>(In reply to comment #1)
&gt; http://trac.webkit.org/changeset/87302/trunk looks suspicious.

87302 is literally all refactoring and should have nothing to do with this issue.

More suspect to me appears to be http://trac.webkit.org/changeset/87277/trunk or even more likely http://trac.webkit.org/changeset/87310/trunk (which deals specifically with SVG filters)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>544627</commentid>
    <comment_count>3</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2012-01-27 23:48:06 -0800</bug_when>
    <thetext>It&apos;s &lt;use&gt; related, if you change the testcase to:
&lt;rect filter=&quot;url(#simple)&quot; x=&quot;50&quot; id=&quot;rect&quot; width=&quot;30&quot; y=&quot;10&quot; height=&quot;30&quot; fill=&quot;red&quot; /&gt;
it will work as expected. Tracing it now.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>544628</commentid>
    <comment_count>4</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2012-01-28 00:05:10 -0800</bug_when>
    <thetext>Some more findings:
...
&lt;rect filter=&quot;url(#simple)&quot; x=&quot;50&quot; id=&quot;rect&quot; width=&quot;30&quot; y=&quot;10&quot; height=&quot;30&quot; fill=&quot;red&quot; /&gt;
&lt;/defs&gt;
&lt;g&gt;
&lt;use xlink:href=&quot;#rect&quot;/&gt;
works fine.

....
&lt;rect x=&quot;50&quot; id=&quot;rect&quot; width=&quot;30&quot; y=&quot;10&quot; height=&quot;30&quot; fill=&quot;red&quot; /&gt;
&lt;/defs&gt;
&lt;g&gt;
&lt;use filter=&quot;url(#simple)&quot; xlink:href=&quot;#rect&quot;/&gt;
doesn&apos;t work.

Debugging session:
I agree with Levi, that  87310 may be the root of the problem.
Breaking on SVGRenderSupport.cpp:117 (what Rob added) yields:

Breakpoint 4, WebCore::SVGRenderSupport::prepareToRenderSVGContent (object=0x108162b68, paintInfo=@0x7fff5fbf7828) at SVGRenderSupport.cpp:117
117	            return false;
(gdb) bt
#0  WebCore::SVGRenderSupport::prepareToRenderSVGContent (object=0x108162b68, paintInfo=@0x7fff5fbf7828) at SVGRenderSupport.cpp:117
#1  0x000000010263cd51 in WebCore::RenderSVGContainer::paint (this=0x108162b68, paintInfo=@0x7fff5fbf7948) at RenderSVGContainer.cpp:116
#2  0x000000010263cdf8 in WebCore::RenderSVGContainer::paint (this=0x106b928b8, paintInfo=@0x7fff5fbf7a68) at RenderSVGContainer.cpp:121
#3  0x000000010263cdf8 in WebCore::RenderSVGContainer::paint (this=0x106b9ef88, paintInfo=@0x7fff5fbf7b18) at RenderSVGContainer.cpp:121
#4  0x00000001025348b4 in WebCore::RenderBox::paint (this=0x106b99cf8, paintInfo=@0x7fff5fbf7c90, paintOffset=@0x7fff5fbf7c10) at /Users/nzimmermann/Coding/WebKit/Source/WebCore/rendering/RenderBox.cpp:862
#5  0x000000010265305e in WebCore::RenderSVGRoot::paintReplaced (this=0x106b99cf8, paintInfo=@0x7fff5fbf8148, adjustedPaintOffset=@0x7fff5fbf7e70) at RenderSVGRoot.cpp:264
#6  0x000000010261f1e7 in WebCore::RenderReplaced::paint (this=0x106b99cf8, paintInfo=@0x7fff5fbf8148, paintOffset=@0x7fff5fbf8238) at /Users/nzimmermann/Coding/WebKit/Source/WebCore/rendering/RenderReplaced.cpp:152
#7  0x00000001025bd658 in WebCore::RenderLayer::paintLayerContents (this=0x106b8e738, rootLayer=0x106b3c8f8, context=0x7fff5fbf9390, paintDirtyRect=@0x7fff5fbf9348, paintBehavior=0, paintingRoot=0x0, region=0x0, overlapTestRequests=0x7fff5fbf90b0, paintFlags=224) at /Users/nzimmermann/Coding/WebKit/Source/WebCore/rendering/RenderLayer.cpp:2917
#8  0x00000001025bccd6 in WebCore::RenderLayer::paintLayerContentsAndReflection (this=0x106b8e738, rootLayer=0x106b3c8f8, context=0x7fff5fbf9390, paintDirtyRect=@0x7fff5fbf9348, paintBehavior=0, paintingRoot=0x0, region=0x0, overlapTestRequests=0x7fff5fbf90b0, paintFlags=224) at /Users/nzimmermann/Coding/WebKit/Source/WebCore/rendering/RenderLayer.cpp:2818
#9  0x00000001025bc3f5 in WebCore::RenderLayer::paintLayer (this=0x106b8e738, rootLayer=0x106b3c8f8, context=0x7fff5fbf9390, paintDirtyRect=@0x7fff5fbf9348, paintBehavior=0, paintingRoot=0x0, region=0x0, overlapTestRequests=0x7fff5fbf90b0, paintFlags=224) at /Users/nzimmermann/Coding/WebKit/Source/WebCore/rendering/RenderLayer.cpp:2799
#10 0x00000001025be65f in WebCore::RenderLayer::paintList (this=0x106b3c8f8, list=0x106b5b7a0, rootLayer=0x106b3c8f8, context=0x7fff5fbf9390, paintDirtyRect=@0x7fff5fbf9348, paintBehavior=0, paintingRoot=0x0, region=0x0, overlapTestRequests=0x7fff5fbf90b0, paintFlags=224) at /Users/nzimmermann/Coding/WebKit/Source/WebCore/rendering/RenderLayer.cpp:2982
#11 0x00000001025bd8a1 in WebCore::RenderLayer::paintLayerContents (this=0x106b3c8f8, rootLayer=0x106b3c8f8, context=0x7fff5fbf9390, paintDirtyRect=@0x7fff5fbf9348, paintBehavior=0, paintingRoot=0x0, region=0x0, overlapTestRequests=0x7fff5fbf90b0, paintFlags=224) at /Users/nzimmermann/Coding/WebKit/Source/WebCore/rendering/RenderLayer.cpp:2938
#12 0x00000001025bccd6 in WebCore::RenderLayer::paintLayerContentsAndReflection (this=0x106b3c8f8, rootLayer=0x106b3c8f8, context=0x7fff5fbf9390, paintDirtyRect=@0x7fff5fbf9348, paintBehavior=0, paintingRoot=0x0, region=0x0, overlapTestRequests=0x7fff5fbf90b0, paintFlags=0) at /Users/nzimmermann/Coding/WebKit/Source/WebCore/rendering/RenderLayer.cpp:2818
#13 0x00000001025bc3f5 in WebCore::RenderLayer::paintLayer (this=0x106b3c8f8, rootLayer=0x106b3c8f8, context=0x7fff5fbf9390, paintDirtyRect=@0x7fff5fbf9348, paintBehavior=0, paintingRoot=0x0, region=0x0, overlapTestRequests=0x7fff5fbf90b0, paintFlags=0) at /Users/nzimmermann/Coding/WebKit/Source/WebCore/rendering/RenderLayer.cpp:2799
#14 0x00000001025bbd4c in WebCore::RenderLayer::paint (this=0x106b3c8f8, context=0x7fff5fbf9390, damageRect=@0x7fff5fbf9348, paintBehavior=0, paintingRoot=0x0, region=0x0, paintFlags=0) at /Users/nzimmermann/Coding/WebKit/Source/WebCore/rendering/RenderLayer.cpp:2616
#15 0x0000000101a65224 in WebCore::FrameView::paintContents (this=0x108129400, p=0x7fff5fbf9390, rect=@0x7fff5fbf9348) at /Users/nzimmermann/Coding/WebKit/Source/WebCore/page/FrameView.cpp:2884
#16 0x0000000100d8aa7d in -[WebFrame(WebInternal) _drawRect:contentsOnly:] (self=0x10810ce60, _cmd=0x7fff933c46d6, rect={origin = {x = 50, y = 10}, size = {width = 36, height = 36}}, contentsOnly=1 &apos;\001&apos;) at /Users/nzimmermann/Coding/WebKit/Source/WebKit/mac/WebView/WebFrame.mm:573
#17 0x0000000100ddfe89 in -[WebHTMLView drawSingleRect:] (self=0x108128680, _cmd=0x7fff933e88ba, rect={origin = {x = 50, y = 10}, size = {width = 36, height = 36}}) at /Users/nzimmermann/Coding/WebKit/Source/WebKit/mac/WebView/WebHTMLView.mm:3236
#18 0x0000000100de0571 in -[WebHTMLView drawRect:] (self=0x108128680, _cmd=0x7fff8e770370, rect={origin = {x = 50, y = 10}, size = {width = 36, height = 36}}) at /Users/nzimmermann/Coding/WebKit/Source/WebKit/mac/WebView/WebHTMLView.mm:3299
#19 0x00007fff8dead0cc in -[NSView _drawRect:clip:] ()
#20 0x00007fff8deaad7e in -[NSView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:] ()
#21 0x0000000100dd3bea in -[WebHTMLView(WebPrivate) _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:] (self=0x108128680, _cmd=0x7fff8e7a3996, rect={origin = {x = 0, y = 0}, size = {width = 800, height = 600}}, isVisibleRect=1 &apos;\001&apos;, visibleView=0x106d15730, topView=0 &apos;\0&apos;) at /Users/nzimmermann/Coding/WebKit/Source/WebKit/mac/WebView/WebHTMLView.mm:1313
#22 0x00007fff8deab86f in -[NSView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:] ()
#23 0x00007fff8deab86f in -[NSView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:] ()
#24 0x00007fff8deab86f in -[NSView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:] ()
#25 0x00007fff8deab86f in -[NSView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:] ()
#26 0x00007fff8deab86f in -[NSView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:] ()
#27 0x00007fff8deab86f in -[NSView _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:] ()
#28 0x00007fff8dff9454 in -[NSNextStepFrame _recursiveDisplayRectIfNeededIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:topView:] ()
#29 0x00007fff8dea4ec9 in -[NSView _displayRectIgnoringOpacity:isVisibleRect:rectIsVisibleRectForView:] ()
#30 0x00007fff8de9d93e in -[NSView displayIfNeeded] ()
#31 0x000000010004aa7b in createBitmapContextFromWebView (onscreen=false, incrementalRepaint=false, sweepHorizontally=false, drawSelectionRect=false) at /Users/nzimmermann/Coding/WebKit/Tools/DumpRenderTree/mac/PixelDumpSupportMac.mm:152

(gdb) p object-&gt;showRenderTreeForThis()
RenderView 0x106b3c698                 	#document	0x10701a000
  RenderSVGRoot 0x106b99cf8            	svg	0x106b6f820 STYLE=width:300px;height:400px
    RenderSVGHiddenContainer 0x106b8b128	defs	0x106b8aa50
      RenderSVGResourceFilter 0x106b887f8	filter	0x106b8b260
        RenderSVGResourceFilterPrimitive 0x106b9d958	feOffset	0x106b88950
      RenderSVGRect 0x106b9e788        	rect	0x106b9db50
    RenderSVGContainer 0x106b9ef88     	g	0x106b9e8f0
      RenderSVGContainer 0x106b928b8   	use	0x106b9ce70
*       RenderSVGContainer 0x108162b68 	g	0x106b92a30
          RenderSVGRect 0x108158298    	rect	0x108165ef0

The SVG Shadow tree Root container (marked with a star *) is the first element in the &lt;use&gt; shadow tree.
As the break point got hit, it means the &lt;g&gt; has a filter resource associated:

(gdb) p *svgStyle-&gt;resources-&gt;m_data-&gt;m_ptr
$15 = {
....
  filter = {
    m_impl = {
      m_ptr = 0x106b284e0
    }
  }, 

Indeed the SVGRenderStyle of the shadow tree root container &lt;g&gt;, claims it had a &lt;filter&gt; - but its first child is the one carrying it - something weird is going on. I&apos;ll dig in deeper :-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>544629</commentid>
    <comment_count>5</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2012-01-28 00:14:01 -0800</bug_when>
    <thetext>(In reply to comment #4)

&gt; The SVG Shadow tree Root container (marked with a star *) is the first element in the &lt;use&gt; shadow tree.
&gt; Indeed the SVGRenderStyle of the shadow tree root container &lt;g&gt;, claims it had a &lt;filter&gt; - but its first child is the one carrying it - something weird is going on. I&apos;ll dig in deeper :-)
Wrong conclusion, I was still testing with &lt;use filter=&quot;...&quot;&gt;. So its completely correct that the &lt;use&gt; SVGRenderStyle claims it has a filter.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>544750</commentid>
    <comment_count>6</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2012-01-29 12:15:01 -0800</bug_when>
    <thetext>Jeez, took me two days of debugging to find the culprit:
SVGUseElement::didRecalcStyle:

     shadowRoot-&gt;updateFromElement();
-
-    if (!needsStyleUpdate)
-        return;
-
     shadowRoot-&gt;updateStyle(change);

This will fix the underlying problem, will turn this into a patch with this test case tomorrow.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>551197</commentid>
    <comment_count>7</comment_count>
      <attachid>125891</attachid>
    <who name="Levi Weintraub">leviw</who>
    <bug_when>2012-02-07 11:52:25 -0800</bug_when>
    <thetext>Created attachment 125891
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>551383</commentid>
    <comment_count>8</comment_count>
      <attachid>125891</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-02-07 14:17:26 -0800</bug_when>
    <thetext>Comment on attachment 125891
Patch

LGTM.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>551527</commentid>
    <comment_count>9</comment_count>
      <attachid>125891</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-02-07 16:15:00 -0800</bug_when>
    <thetext>Comment on attachment 125891
Patch

Clearing flags on attachment: 125891

Committed r107005: &lt;http://trac.webkit.org/changeset/107005&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>551528</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-02-07 16:15:06 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>551851</commentid>
    <comment_count>11</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2012-02-08 00:17:57 -0800</bug_when>
    <thetext>(In reply to comment #8)
&gt; (From update of attachment 125891 [details])
&gt; LGTM.

The test is unfortunately not correct - that&apos;s why I held back uploading a patch.
We have to use the repaint.js harness to make it reliable, I&apos;ll make sure to fix it soon.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>552439</commentid>
    <comment_count>12</comment_count>
    <who name="Levi Weintraub">leviw</who>
    <bug_when>2012-02-08 13:29:59 -0800</bug_when>
    <thetext>(In reply to comment #11)
&gt; The test is unfortunately not correct - that&apos;s why I held back uploading a patch.
&gt; We have to use the repaint.js harness to make it reliable, I&apos;ll make sure to fix it soon.

While there may be reason the test could benefit from repaint.js, I verified that this test fails without the patch, and passes with it.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>118982</attachid>
            <date>2011-12-13 02:33:05 -0800</date>
            <delta_ts>2011-12-13 02:33:05 -0800</delta_ts>
            <desc>Testcase</desc>
            <filename>filter-refresh-bug2.svg</filename>
            <type>image/svg+xml</type>
            <size>1297</size>
            <attacher name="Branimir Lambov">blambov</attacher>
            
              <data encoding="base64">PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRw
Oi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIgogIHN0eWxlPSJ3aWR0aDozMDBweDtoZWlnaHQ6NDAw
cHgiPgoKPCEtLSBUaGlzIHRlc3RzIGZpbHRlcnMgZmFpbGluZyB0byByZWZyZXNoIGFmdGVyIHRo
ZSBpbml0aWFsIHJlbmRlcmluZwooaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTUzMDg4KS4KVGhlcmUgc2hvdWxkIGJlIG5vIHJlZCBzcXVhcmVzIGluIHRoZSBvdXRwdXQu
IC0tPgoKPGRlZnM+CjxmaWx0ZXIgaWQ9InNpbXBsZSIgeD0iMCIgeT0iMCI+CiAgPGZlT2Zmc2V0
IGluPSJTb3VyY2VHcmFwaGljIiBkeD0iMCIgZHk9IjAiIC8+CjwvZmlsdGVyPgoKPHJlY3QgaWQ9
InJlY3QiIHdpZHRoPSIzMCIgeT0iMTAiIGhlaWdodD0iMzAiIGZpbGw9InJlZCIgLz4KCjwvZGVm
cz4KCjxnPgoKPHVzZSB4bGluazpocmVmPSIjcmVjdCIgeD0iMTAiIC8+Cgo8dXNlIGZpbHRlcj0i
dXJsKCNzaW1wbGUpIiB4bGluazpocmVmPSIjcmVjdCIgeD0iNTAiIC8+Cgo8L2c+Cgo8c2NyaXB0
PjwhW0NEQVRBWwogICAgdmFyIGVsZW1lbnRzID0gWydyZWN0J107CiAgICBmb3IgKHZhciBpPTA7
IGk8ZWxlbWVudHMubGVuZ3RoOyArK2kpIHsKICAgICAgZWxlbWVudHNbaV0gPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZChlbGVtZW50c1tpXSk7CiAgICB9CiAgICBzZXRUaW1lb3V0KHdhaXQsIDAp
OwogICAgCiAgICBmdW5jdGlvbiB3YWl0KCkgewogICAgICAvLyBTaW5nbGUgdGltZW91dCBkb2Vz
bid0IHNlZW0gdG8gd2FpdCBmb3IgdGhlIGluaXRpYWwgcGFpbnRpbmcsIHdhaXQgYWdhaW4uCiAg
ICAgIHNldFRpbWVvdXQoY2hhbmdlLCAwKTsKICAgIH0KCiAgICBmdW5jdGlvbiBjaGFuZ2UoKSB7
CiAgICAgIGZvciAodmFyIGk9MDsgaTxlbGVtZW50cy5sZW5ndGg7ICsraSkgewogICAgICAgIGVs
ZW1lbnRzW2ldLnNldEF0dHJpYnV0ZSgnZmlsbCcsICdncmVlbicpOwogICAgICB9CgogICAgICBp
ZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7CiAgICAgICAgICAvLyBMZXQgaXQgcmVw
YWludCBhbmQgZ2V0IHNjcmVlbnNob3QuCiAgICAgICAgICBzZXRUaW1lb3V0KCJsYXlvdXRUZXN0
Q29udHJvbGxlci5ub3RpZnlEb25lKCkiLCAwKTsKICAgICAgfQogICAgfQoKICAgIGlmICh3aW5k
b3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKICAgICAgICBsYXlvdXRUZXN0Q29udHJvbGxlci53
YWl0VW50aWxEb25lKCk7CiAgICB9Cl1dPjwvc2NyaXB0PgoKPC9zdmc+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>125891</attachid>
            <date>2012-02-07 11:52:25 -0800</date>
            <delta_ts>2012-02-07 16:15:00 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-74392-20120207115224.patch</filename>
            <type>text/plain</type>
            <size>20304</size>
            <attacher name="Levi Weintraub">leviw</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDEwNjk2OSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE5IEBACisyMDEyLTAyLTA3ICBMZXZpIFdl
aW50cmF1YiAgPGxldml3QGNocm9taXVtLm9yZz4KKworICAgICAgICBbU1ZHXSBVc2UgZWxlbWVu
dCBkaXNhcHBlYXJzIGFmdGVyIHNjcmlwdGVkIGNoYW5nZQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQzOTIKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTb2x1dGlvbiB1bmNvdmVyZWQgYnkgTmlrb2xhcyBa
aW1tZXJtYW5uLiBSZW1vdmluZyBhbiBlYXJseSByZXR1cm4gdGhhdCBjYXVzZWQKKyAgICAgICAg
U1ZHVXNlRWxlbWVudHMgdG8gbm90IHVwZGF0ZSB0aGUgc2hhZG93IHJvb3QncyBzdHlsZSwgYW5k
IHRoZXJlZm9yIG5vdCByZW5kZXIKKyAgICAgICAgY29ycmVjdGx5LgorCisgICAgICAgIFRlc3Q6
IHN2Zy9jdXN0b20vdXNlLWRpc2FwcGVhcnMtYWZ0ZXItc3R5bGUtdXBkYXRlLnN2ZworCisgICAg
ICAgICogc3ZnL1NWR1VzZUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHVXNlRWxl
bWVudDo6ZGlkUmVjYWxjU3R5bGUpOgorCiAyMDEyLTAyLTA3ICBEYW5hIEphbnNlbnMgIDxkYW5h
a2pAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFtDaHJvbWl1bV0gTWVtb3J5IGJ1ZyBkdXJpbmcg
b2NjbHVzaW9uIHRyYWNraW5nIGlmIFZlY3Rvcjo6YXBwZW5kKCkgbmVlZHMgdG8gcmVhbGxvY2F0
ZSB0aGUgYnVmZmVyCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVXNlRWxlbWVudC5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvc3ZnL1NWR1VzZUVsZW1lbnQuY3BwCShyZXZp
c2lvbiAxMDY5NjEpCisrKyBTb3VyY2UvV2ViQ29yZS9zdmcvU1ZHVXNlRWxlbWVudC5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTM1OCwxNyArMzU4LDEyIEBAIHZvaWQgU1ZHVXNlRWxlbWVudDo6ZGlk
UmVjYWxjU3R5bGUoU3R5bGUKICAgICBpZiAoIXNoYWRvd1Jvb3QpCiAgICAgICAgIHJldHVybjsK
ICAgICAKLSAgICBib29sIG5lZWRzU3R5bGVVcGRhdGUgPSAhbV9uZWVkc1NoYWRvd1RyZWVSZWNy
ZWF0aW9uOwogICAgIGlmIChtX25lZWRzU2hhZG93VHJlZVJlY3JlYXRpb24pIHsKICAgICAgICAg
c2hhZG93Um9vdC0+bWFya1NoYWRvd1RyZWVGb3JSZWNyZWF0aW9uKCk7CiAgICAgICAgIG1fbmVl
ZHNTaGFkb3dUcmVlUmVjcmVhdGlvbiA9IGZhbHNlOwogICAgIH0KIAogICAgIHNoYWRvd1Jvb3Qt
PnVwZGF0ZUZyb21FbGVtZW50KCk7Ci0KLSAgICBpZiAoIW5lZWRzU3R5bGVVcGRhdGUpCi0gICAg
ICAgIHJldHVybjsKLQogICAgIHNoYWRvd1Jvb3QtPnVwZGF0ZVN0eWxlKGNoYW5nZSk7CiB9CiAK
SW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDEwNjk2OSkKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29y
a2luZyBjb3B5KQpAQCAtMSwzICsxLDE0IEBACisyMDEyLTAyLTA3ICBMZXZpIFdlaW50cmF1YiAg
PGxldml3QGNocm9taXVtLm9yZz4KKworICAgICAgICBbU1ZHXSBVc2UgZWxlbWVudCBkaXNhcHBl
YXJzIGFmdGVyIHNjcmlwdGVkIGNoYW5nZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9NzQzOTIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICAqIHBsYXRmb3JtL21hYy1zbm93bGVvcGFyZC9zdmcvY3VzdG9tL3Vz
ZS1kaXNhcHBlYXJzLWFmdGVyLXN0eWxlLXVwZGF0ZS1leHBlY3RlZC5wbmc6IEFkZGVkLgorICAg
ICAgICAqIHBsYXRmb3JtL21hYy1zbm93bGVvcGFyZC9zdmcvY3VzdG9tL3VzZS1kaXNhcHBlYXJz
LWFmdGVyLXN0eWxlLXVwZGF0ZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHN2Zy9j
dXN0b20vdXNlLWRpc2FwcGVhcnMtYWZ0ZXItc3R5bGUtdXBkYXRlLnN2ZzogQWRkZWQuCisKIDIw
MTItMDItMDcgIEFiaGlzaGVrIEFyeWEgIDxpbmZlcm5vQGNocm9taXVtLm9yZz4KIAogICAgICAg
ICBDcmFzaCBkdWUgdG8gY29sdW1uIHN0eWxlIG5vdCB1cGRhdGVkIG9uIHBvc3QgYmxvY2sKSW5k
ZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy1zbm93bGVvcGFyZC9zdmcvY3VzdG9tL3VzZS1k
aXNhcHBlYXJzLWFmdGVyLXN0eWxlLXVwZGF0ZS1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
TGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXNub3dsZW9wYXJkL3N2Zy9jdXN0b20vdXNlLWRpc2Fw
cGVhcnMtYWZ0ZXItc3R5bGUtdXBkYXRlLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExh
eW91dFRlc3RzL3BsYXRmb3JtL21hYy1zbm93bGVvcGFyZC9zdmcvY3VzdG9tL3VzZS1kaXNhcHBl
YXJzLWFmdGVyLXN0eWxlLXVwZGF0ZS1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAg
KzEsMTcgQEAKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAorICBSZW5kZXJWaWV3IGF0ICgw
LDApIHNpemUgODAweDYwMAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSAzMDB4NDAwCisgIFJlbmRlclNW
R1Jvb3Qge3N2Z30gYXQgKDEwLDEwKSBzaXplIDc2eDM2CisgICAgUmVuZGVyU1ZHSGlkZGVuQ29u
dGFpbmVyIHtkZWZzfSBhdCAoMCwwKSBzaXplIDB4MAorICAgICAgUmVuZGVyU1ZHUmVzb3VyY2VG
aWx0ZXIge2ZpbHRlcn0gW2lkPSJzaW1wbGUiXSBbZmlsdGVyVW5pdHM9b2JqZWN0Qm91bmRpbmdC
b3hdIFtwcmltaXRpdmVVbml0cz11c2VyU3BhY2VPblVzZV0KKyAgICAgICAgW2ZlT2Zmc2V0IGR4
PSIwLjAwIiBkeT0iMC4wMCJdCisgICAgICAgICAgW1NvdXJjZUdyYXBoaWNdCisgICAgICBSZW5k
ZXJTVkdSZWN0IHtyZWN0fSBhdCAoMCwxMCkgc2l6ZSAzMHgzMCBbZmlsbD17W3R5cGU9U09MSURd
IFtjb2xvcj0jMDA4MDAwXX1dIFt4PTAuMDBdIFt5PTEwLjAwXSBbd2lkdGg9MzAuMDBdIFtoZWln
aHQ9MzAuMDBdCisgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoMTAsMTApIHNpemUgNzZ4
MzYKKyAgICAgIFJlbmRlclNWR0NvbnRhaW5lciB7dXNlfSBhdCAoMTAsMTApIHNpemUgMzB4MzAK
KyAgICAgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoMTAsMTApIHNpemUgMzB4MzAgW3Ry
YW5zZm9ybT17bT0oKDEuMDAsMC4wMCkoMC4wMCwxLjAwKSkgdD0oMTAuMDAsMC4wMCl9XQorICAg
ICAgICAgIFJlbmRlclNWR1JlY3Qge3JlY3R9IGF0ICgxMCwxMCkgc2l6ZSAzMHgzMCBbZmlsbD17
W3R5cGU9U09MSURdIFtjb2xvcj0jMDA4MDAwXX1dIFt4PTAuMDBdIFt5PTEwLjAwXSBbd2lkdGg9
MzAuMDBdIFtoZWlnaHQ9MzAuMDBdCisgICAgICBSZW5kZXJTVkdDb250YWluZXIge3VzZX0gYXQg
KDUwLDEwKSBzaXplIDM2eDM2CisgICAgICAgIFtmaWx0ZXI9InNpbXBsZSJdIFJlbmRlclNWR1Jl
c291cmNlRmlsdGVyIHtmaWx0ZXJ9IGF0ICg1MCwxMCkgc2l6ZSAzNngzNgorICAgICAgICBSZW5k
ZXJTVkdDb250YWluZXIge2d9IGF0ICg1MCwxMCkgc2l6ZSAzMHgzMCBbdHJhbnNmb3JtPXttPSgo
MS4wMCwwLjAwKSgwLjAwLDEuMDApKSB0PSg1MC4wMCwwLjAwKX1dCisgICAgICAgICAgUmVuZGVy
U1ZHUmVjdCB7cmVjdH0gYXQgKDUwLDEwKSBzaXplIDMweDMwIFtmaWxsPXtbdHlwZT1TT0xJRF0g
W2NvbG9yPSMwMDgwMDBdfV0gW3g9MC4wMF0gW3k9MTAuMDBdIFt3aWR0aD0zMC4wMF0gW2hlaWdo
dD0zMC4wMF0KSW5kZXg6IExheW91dFRlc3RzL3N2Zy9jdXN0b20vdXNlLWRpc2FwcGVhcnMtYWZ0
ZXItc3R5bGUtdXBkYXRlLnN2Zwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9zdmcvY3VzdG9t
L3VzZS1kaXNhcHBlYXJzLWFmdGVyLXN0eWxlLXVwZGF0ZS5zdmcJKHJldmlzaW9uIDApCisrKyBM
YXlvdXRUZXN0cy9zdmcvY3VzdG9tL3VzZS1kaXNhcHBlYXJzLWFmdGVyLXN0eWxlLXVwZGF0ZS5z
dmcJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNTMgQEAKKzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cu
dzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGlu
ayIKKyAgc3R5bGU9IndpZHRoOjMwMHB4O2hlaWdodDo0MDBweCI+CisKKzwhLS0gVGhpcyB0ZXN0
cyBmaWx0ZXJzIGZhaWxpbmcgdG8gcmVmcmVzaCBhZnRlciB0aGUgaW5pdGlhbCByZW5kZXJpbmcK
KyhodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTMwODgpLgorVGhlcmUg
c2hvdWxkIGJlIHR3byBncmVlbiBzcXVhcmVzIGluIHRoZSBvdXRwdXQuIC0tPgorCis8ZGVmcz4K
KzxmaWx0ZXIgaWQ9InNpbXBsZSIgeD0iMCIgeT0iMCI+CisgIDxmZU9mZnNldCBpbj0iU291cmNl
R3JhcGhpYyIgZHg9IjAiIGR5PSIwIiAvPgorPC9maWx0ZXI+CisKKzxyZWN0IGlkPSJyZWN0IiB3
aWR0aD0iMzAiIHk9IjEwIiBoZWlnaHQ9IjMwIiBmaWxsPSJyZWQiIC8+CisKKzwvZGVmcz4KKwor
PGc+CisKKzx1c2UgeGxpbms6aHJlZj0iI3JlY3QiIHg9IjEwIiAvPgorCis8dXNlIGZpbHRlcj0i
dXJsKCNzaW1wbGUpIiB4bGluazpocmVmPSIjcmVjdCIgeD0iNTAiIC8+CisKKzwvZz4KKworPHNj
cmlwdD48IVtDREFUQVsKKyAgICB2YXIgZWxlbWVudHMgPSBbJ3JlY3QnXTsKKyAgICBmb3IgKHZh
ciBpPTA7IGk8ZWxlbWVudHMubGVuZ3RoOyArK2kpIHsKKyAgICAgIGVsZW1lbnRzW2ldID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoZWxlbWVudHNbaV0pOworICAgIH0KKyAgICBzZXRUaW1lb3V0
KHdhaXQsIDApOworICAgIAorICAgIGZ1bmN0aW9uIHdhaXQoKSB7CisgICAgICAvLyBTaW5nbGUg
dGltZW91dCBkb2Vzbid0IHNlZW0gdG8gd2FpdCBmb3IgdGhlIGluaXRpYWwgcGFpbnRpbmcsIHdh
aXQgYWdhaW4uCisgICAgICBzZXRUaW1lb3V0KGNoYW5nZSwgMCk7CisgICAgfQorCisgICAgZnVu
Y3Rpb24gY2hhbmdlKCkgeworICAgICAgZm9yICh2YXIgaT0wOyBpPGVsZW1lbnRzLmxlbmd0aDsg
KytpKSB7CisgICAgICAgIGVsZW1lbnRzW2ldLnNldEF0dHJpYnV0ZSgnZmlsbCcsICdncmVlbicp
OworICAgICAgfQorCisgICAgICBpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7Cisg
ICAgICAgICAgLy8gTGV0IGl0IHJlcGFpbnQgYW5kIGdldCBzY3JlZW5zaG90LgorICAgICAgICAg
IHNldFRpbWVvdXQoImxheW91dFRlc3RDb250cm9sbGVyLm5vdGlmeURvbmUoKSIsIDApOworICAg
ICAgfQorICAgIH0KKworICAgIGlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRyb2xsZXIpIHsKKyAg
ICAgICAgbGF5b3V0VGVzdENvbnRyb2xsZXIud2FpdFVudGlsRG9uZSgpOworICAgIH0KK11dPjwv
c2NyaXB0PgorCis8L3N2Zz4KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy1zbm93bGVv
cGFyZC9zdmcvY3VzdG9tL3VzZS1kaXNhcHBlYXJzLWFmdGVyLXN0eWxlLXVwZGF0ZS1leHBlY3Rl
ZC5wbmcKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQpDYW5ub3QgZGlzcGxheTogZmlsZSBtYXJrZWQgYXMgYSBiaW5hcnkg
dHlwZS4Kc3ZuOm1pbWUtdHlwZSA9IGltYWdlL3BuZwoKUHJvcGVydHkgY2hhbmdlcyBvbjogTGF5
b3V0VGVzdHMvcGxhdGZvcm0vbWFjLXNub3dsZW9wYXJkL3N2Zy9jdXN0b20vdXNlLWRpc2FwcGVh
cnMtYWZ0ZXItc3R5bGUtdXBkYXRlLWV4cGVjdGVkLnBuZwpfX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46
bWltZS10eXBlCiAgICsgaW1hZ2UvcG5nCgoKaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQXlBQUFB
SllDQVlBQUFDYWRvSndBQUFBS1hSRldIUmphR1ZqYTNOMWJRQXhaREZrTXpRNQpNRGd4T1RBMFlU
azBaakl4WWpCaE9USmpNVEJoTm1NM1pVQlNCRzhBQUNBQVNVUkJWSGdCN2QxQkNzSXdHSVJSSTk1
YlBIa3NuaUNMCjh1TUhyK3RpaGpmWkRGMjQ5dlU4UEFRSUVDQkFnQUFCQWdRSUVCZ1FlQTZjNFFn
Q0JBZ1FJRUNBQUFFQ0JBajhCQXdRRjRFQUFRSUUKQ0JBZ1FJQUFnVEVCQTJTTTJrRUVDQkFnUUlB
QUFRSUVDQmdnN2dBQkFnUUlFQ0JBZ0FBQkFtTUNCc2dZdFlNSUVDQkFnQUFCQWdRSQpFREJBM0FF
Q0JBZ1FJRUNBQUFFQ0JNWUVESkF4YWdjUklFQ0FBQUVDQkFnUUlHQ0F1QU1FQ0JBZ1FJQUFBUUlF
Q0l3SkdDQmoxQTRpClFJQUFBUUlFQ0JBZ1FPQjFTckErNi9UVlc5L2I3N00vYXYvM2ZMZWkrREVD
QkFnUUlFQ0FBQUVDVVFGZlFLTEZpVTJBQUFFQ0JBZ1EKSUVDZ0tHQ0FGRnVUbVFBQkFnUUlFQ0JB
Z0VCVXdBQ0pGaWMyQVFJRUNCQWdRSUFBZ2FLQUFWSnNUV1lDQkFnUUlFQ0FBQUVDVVFFRApKRnFj
MkFRSUVDQkFnQUFCQWdTS0FnWklzVFdaQ1JBZ1FJQUFBUUlFQ0VRRkRKQm9jV0lUSUVDQUFBRUNC
QWdRS0FvWUlNWFdaQ1pBCmdBQUJBZ1FJRUNBUUZUQkFvc1dKVFlBQUFRSUVDQkFnUUtBb1lJQVVX
NU9aQUFFQ0JBZ1FJRUNBUUZUQUFJa1dKellCQWdRSUVDQkEKZ0FDQm9vQUJVbXhOWmdJRUNCQWdR
SUFBQVFKUkFRTWtXcHpZQkFnUUlFQ0FBQUVDQklvQ0JraXhOWmtKRUNCQWdBQUJBZ1FJUkFVTQpr
R2h4WWhNZ1FJQUFBUUlFQ0JBb0NoZ2d4ZFprSmtDQUFBRUNCQWdRSUJBVk1FQ2l4WWxOZ0FBQkFn
UUlFQ0JBb0NoZ2dCUmJrNWtBCkFRSUVDQkFnUUlCQVZNQUFpUlluTmdFQ0JBZ1FJRUNBQUlHaWdB
RlNiRTFtQWdRSUVDQkFnQUFCQWxFQkF5UmFuTmdFQ0JBZ1FJQUEKQVFJRWlnSUdTTEUxbVFrUUlF
Q0FBQUVDQkFoRUJReVFhSEZpRXlCQWdBQUJBZ1FJRUNnS0dDREYxbVFtUUlBQUFRSUVDQkFnRUJV
dwpRS0xGaVUyQUFBRUNCQWdRSUVDZ0tHQ0FGRnVUbVFBQkFnUUlFQ0JBZ0VCVXdBQ0pGaWMyQVFJ
RUNCQWdRSUFBZ2FLQUFWSnNUV1lDCkJBZ1FJRUNBQUFFQ1VRRURKRnFjMkFRSUVDQkFnQUFCQWdT
S0FtdGZUekc0ekFRSUVDQkFnQUFCQWdRSTlBUjhBZWwxSmpFQkFnUUkKRUNCQWdBQ0JySUFCa3Ex
T2NBSUVDQkFnUUlBQUFRSTlBUU9rMTVuRUJBZ1FJRUNBQUFFQ0JMSUNCa2kyT3NFSkVDQkFnQUFC
QWdRSQo5QVFNa0Y1bkVoTWdRSUFBQVFJRUNCRElDaGdnMmVvRUowQ0FBQUVDQkFnUUlOQVRNRUI2
blVsTWdBQUJBZ1FJRUNCQUlDdGdnR1NyCkU1d0FBUUlFQ0JBZ1FJQkFUOEFBNlhVbU1RRUNCQWdR
SUVDQUFJR3NnQUdTclU1d0FnUUlFQ0JBZ0FBQkFqMEJBNlRYbWNRRUNCQWcKUUlBQUFRSUVzZ0lH
U0xZNndRa1FJRUNBQUFFQ0JBajBCQXlRWG1jU0V5QkFnQUFCQWdRSUVNZ0tHQ0RaNmdRblFJQUFB
UUlFQ0JBZwowQk13UUhxZFNVeUFBQUVDQkFnUUlFQWdLMkNBWktzVG5BQUJBZ1FJRUNCQWdFQlB3
QURwZFNZeEFRSUVDQkFnUUlBQWdheUFBWkt0ClRuQUNCQWdRSUVDQUFBRUNQUUVEcE5lWnhBUUlF
Q0JBZ0FBQkFnU3lBZ1pJdGpyQkNSQWdRSUFBQVFJRUNQUUVESkJlWnhJVElFQ0EKQUFFQ0JBZ1F5
QW9ZSU5ucUJDZEFnQUFCQWdRSUVDRFFFekJBZXAxSlRJQUFBUUlFQ0JBZ1FDQXJZSUJrcXhPY0FB
RUNCQWdRSUVDQQpRRS9BQU9sMUpqRUJBZ1FJRUNCQWdBQ0JySUFCa3ExT2NBSUVDQkFnUUlBQUFR
STlBUU9rMTVuRUJBZ1FJRUNBQUFFQ0JMSUNCa2kyCk9zRUpFQ0JBZ0FBQkFnUUk5QVFNa0Y1bkVo
TWdRSUFBQVFJRUNCRElDaGdnMmVvRUowQ0FBQUVDQkFnUUlOQVRNRUI2blVsTWdBQUIKQWdRSUVD
QkFJQ3RnZ0dTckU1d0FBUUlFQ0JBZ1FJQkFUOEFBNlhVbU1RRUNCQWdRSUVDQUFJR3NnQUdTclU1
d0FnUUlFQ0JBZ0FBQgpBajBCQTZUWG1jUUVDQkFnUUlBQUFRSUVzZ0lHU0xZNndRa1FJRUNBQUFF
Q0JBajBCQXlRWG1jU0V5QkFnQUFCQWdRSUVNZ0tHQ0RaCjZnUW5RSUFBQVFJRUNCQWcwQk13UUhx
ZFNVeUFBQUVDQkFnUUlFQWdLMkNBWktzVG5BQUJBZ1FJRUNCQWdFQlB3QURwZFNZeEFRSUUKQ0JB
Z1FJQUFnYXlBQVpLdFRuQUNCQWdRSUVDQUFBRUNQUUVEcE5lWnhBUUlFQ0JBZ0FBQkFnU3lBZ1pJ
dGpyQkNSQWdRSUFBQVFJRQpDUFFFREpCZVp4SVRJRUNBQUFFQ0JBZ1F5QW9ZSU5ucUJDZEFnQUFC
QWdRSUVDRFFFekJBZXAxSlRJQUFBUUlFQ0JBZ1FDQXJZSUJrCnF4T2NBQUVDQkFnUUlFQ0FRRS9B
QU9sMUpqRUJBZ1FJRUNCQWdBQ0JySUFCa3ExT2NBSUVDQkFnUUlBQUFRSTlBUU9rMTVuRUJBZ1EK
SUVDQUFBRUNCTElDQmtpMk9zRUpFQ0JBZ0FBQkFnUUk5QVFNa0Y1bkVoTWdRSUFBQVFJRUNCRElD
aGdnMmVvRUowQ0FBQUVDQkFnUQpJTkFUTUVCNm5VbE1nQUFCQWdRSUVDQkFJQ3RnZ0dTckU1d0FB
UUlFQ0JBZ1FJQkFUOEFBNlhVbU1RRUNCQWdRSUVDQUFJR3NnQUdTCnJVNXdBZ1FJRUNCQWdBQUJB
ajBCQTZUWG1jUUVDQkFnUUlBQUFRSUVzZ0lHU0xZNndRa1FJRUNBQUFFQ0JBajBCQXlRWG1jU0V5
QkEKZ0FBQkFnUUlFTWdLR0NEWjZnUW5RSUFBQVFJRUNCQWcwQk13UUhxZFNVeUFBQUVDQkFnUUlF
QWdLMkNBWktzVG5BQUJBZ1FJRUNCQQpnRUJQd0FEcGRTWXhBUUlFQ0JBZ1FJQUFnYXlBQVpLdFRu
QUNCQWdRSUVDQUFBRUNQUUVEcE5lWnhBUUlFQ0JBZ0FBQkFnU3lBZ1pJCnRqckJDUkFnUUlBQUFR
SUVDUFFFREpCZVp4SVRJRUNBQUFFQ0JBZ1F5QW9ZSU5ucUJDZEFnQUFCQWdRSUVDRFFFekJBZXAx
SlRJQUEKQVFJRUNCQWdRQ0FyWUlCa3F4T2NBQUVDQkFnUUlFQ0FRRS9BQU9sMUpqRUJBZ1FJRUNC
QWdBQ0JySUFCa3ExT2NBSUVDQkFnUUlBQQpBUUk5QVFPazE1bkVCQWdRSUVDQUFBRUNCTElDQmtp
Mk9zRUpFQ0JBZ0FBQkFnUUk5QVFNa0Y1bkVoTWdRSUFBQVFJRUNCRElDaGdnCjJlb0VKMENBQUFF
Q0JBZ1FJTkFUTUVCNm5VbE1nQUFCQWdRSUVDQkFJQ3RnZ0dTckU1d0FBUUlFQ0JBZ1FJQkFUOEFB
NlhVbU1RRUMKQkFnUUlFQ0FBSUdzZ0FHU3JVNXdBZ1FJRUNCQWdBQUJBajBCQTZUWG1jUUVDQkFn
UUlBQUFRSUVzZ0lHU0xZNndRa1FJRUNBQUFFQwpCQWowQkF5UVhtY1NFeUJBZ0FBQkFnUUlFTWdL
R0NEWjZnUW5RSUFBQVFJRUNCQWcwQk13UUhxZFNVeUFBQUVDQkFnUUlFQWdLMkNBClpLc1RuQUFC
QWdRSUVDQkFnRUJQd0FEcGRTWXhBUUlFQ0JBZ1FJQUFnYXlBQVpLdFRuQUNCQWdRSUVDQUFBRUNQ
UUVEcE5lWnhBUUkKRUNCQWdBQUJBZ1N5QWdaSXRqckJDUkFnUUlBQUFRSUVDUFFFREpCZVp4SVRJ
RUNBQUFFQ0JBZ1F5QW9ZSU5ucUJDZEFnQUFCQWdRSQpFQ0RRRXpCQWVwMUpUSUFBQVFJRUNCQWdR
Q0FyWUlCa3F4T2NBQUVDQkFnUUlFQ0FRRS9BQU9sMUpqRUJBZ1FJRUNCQWdBQ0JySUFCCmtxMU9j
QUlFQ0JBZ1FJQUFBUUk5QVFPazE1bkVCQWdRSUVDQUFBRUNCTElDQmtpMk9zRUpFQ0JBZ0FBQkFn
UUk5QVFNa0Y1bkVoTWcKUUlBQUFRSUVDQkRJQ2hnZzJlb0VKMENBQUFFQ0JBZ1FJTkFUTUVCNm5V
bE1nQUFCQWdRSUVDQkFJQ3RnZ0dTckU1d0FBUUlFQ0JBZwpRSUJBVDhBQTZYVW1NUUVDQkFnUUlF
Q0FBSUdzZ0FHU3JVNXdBZ1FJRUNCQWdBQUJBajBCQTZUWG1jUUVDQkFnUUlBQUFRSUVzZ0lHClNM
WTZ3UWtRSUVDQUFBRUNCQWowQkF5UVhtY1NFeUJBZ0FBQkFnUUlFTWdLR0NEWjZnUW5RSUFBQVFJ
RUNCQWcwQk13UUhxZFNVeUEKQUFFQ0JBZ1FJRUFnSzJDQVpLc1RuQUFCQWdRSUVDQkFnRUJQd0FE
cGRTWXhBUUlFQ0JBZ1FJQUFnYXlBQVpLdFRuQUNCQWdRSUVDQQpBQUVDUFFFRHBOZVp4QVFJRUNC
QWdBQUJBZ1N5QWdaSXRqckJDUkFnUUlBQUFRSUVDUFFFREpCZVp4SVRJRUNBQUFFQ0JBZ1F5QW9Z
CklObnFCQ2RBZ0FBQkFnUUlFQ0RRRXpCQWVwMUpUSUFBQVFJRUNCQWdRQ0FyWUlCa3F4T2NBQUVD
QkFnUUlFQ0FRRS9BQU9sMUpqRUIKQWdRSUVDQkFnQUNCcklBQmtxMU9jQUlFQ0JBZ1FJQUFBUUk5
QVFPazE1bkVCQWdRSUVDQUFBRUNCTElDQmtpMk9zRUpFQ0JBZ0FBQgpBZ1FJOUFRTWtGNW5FaE1n
UUlBQUFRSUVDQkRJQ2hnZzJlb0VKMENBQUFFQ0JBZ1FJTkFUTUVCNm5VbE1nQUFCQWdRSUVDQkFJ
Q3RnCmdHU3JFNXdBQVFJRUNCQWdRSUJBVDhBQTZYVW1NUUVDQkFnUUlFQ0FBSUdzZ0FHU3JVNXdB
Z1FJRUNCQWdBQUJBajBCQTZUWG1jUUUKQ0JBZ1FJQUFBUUlFc2dJR1NMWTZ3UWtRSUVDQUFBRUNC
QWowQkF5UVhtY1NFeUJBZ0FBQkFnUUlFTWdLR0NEWjZnUW5RSUFBQVFJRQpDQkFnMEJNd1FIcWRT
VXlBQUFFQ0JBZ1FJRUFnSzJDQVpLc1RuQUFCQWdRSUVDQkFnRUJQd0FEcGRTWXhBUUlFQ0JBZ1FJ
QUFnYXlBCkFaS3RUbkFDQkFnUUlFQ0FBQUVDUFFFRHBOZVp4QVFJRUNCQWdBQUJBZ1N5QWdaSXRq
ckJDUkFnUUlBQUFRSUVDUFFFREpCZVp4SVQKSUVDQUFBRUNCQWdReUFvWUlObnFCQ2RBZ0FBQkFn
UUlFQ0RRRXpCQWVwMUpUSUFBQVFJRUNCQWdRQ0FyWUlCa3F4T2NBQUVDQkFnUQpJRUNBUUUvQUFP
bDFKakVCQWdRSUVDQkFnQUNCcklBQmtxMU9jQUlFQ0JBZ1FJQUFBUUk5QVFPazE1bkVCQWdRSUVD
QUFBRUNCTElDCkJraTJPc0VKRUNCQWdBQUJBZ1FJOUFRTWtGNW5FaE1nUUlBQUFRSUVDQkRJQ2hn
ZzJlb0VKMENBQUFFQ0JBZ1FJTkFUTUVCNm5VbE0KZ0FBQkFnUUlFQ0JBSUN0Z2dHU3JFNXdBQVFJ
RUNCQWdRSUJBVDhBQTZYVW1NUUVDQkFnUUlFQ0FBSUdzZ0FHU3JVNXdBZ1FJRUNCQQpnQUFCQWow
QkE2VFhtY1FFQ0JBZ1FJQUFBUUlFc2dJR1NMWTZ3UWtRSUVDQUFBRUNCQWowQkF5UVhtY1NFeUJB
Z0FBQkFnUUlFTWdLCkdDRFo2Z1FuUUlBQUFRSUVDQkFnMEJNd1FIcWRTVXlBQUFFQ0JBZ1FJRUFn
SzJDQVpLc1RuQUFCQWdRSUVDQkFnRUJQd0FEcGRTWXgKQVFJRUNCQWdRSUFBZ2F5QUFaS3RUbkFD
QkFnUUlFQ0FBQUVDUFFFRHBOZVp4QVFJRUNCQWdBQUJBZ1N5QWdaSXRqckJDUkFnUUlBQQpBUUlF
Q1BRRURKQmVaeElUSUVDQUFBRUNCQWdReUFvWUlObnFCQ2RBZ0FBQkFnUUlFQ0RRRXpCQWVwMUpU
SUFBQVFJRUNCQWdRQ0FyCllJQmtxeE9jQUFFQ0JBZ1FJRUNBUUUvQUFPbDFKakVCQWdRSUVDQkFn
QUNCcklBQmtxMU9jQUlFQ0JBZ1FJQUFBUUk5QVFPazE1bkUKQkFnUUlFQ0FBQUVDQkxJQ0JraTJP
c0VKRUNCQWdBQUJBZ1FJOUFRTWtGNW5FaE1nUUlBQUFRSUVDQkRJQ2hnZzJlb0VKMENBQUFFQwpC
QWdRSU5BVE1FQjZuVWxNZ0FBQkFnUUlFQ0JBSUN0Z2dHU3JFNXdBQVFJRUNCQWdRSUJBVDhBQTZY
VW1NUUVDQkFnUUlFQ0FBSUdzCmdBR1NyVTV3QWdRSUVDQkFnQUFCQWowQkE2VFhtY1FFQ0JBZ1FJ
QUFBUUlFc2dJR1NMWTZ3UWtRSUVDQUFBRUNCQWowQkF5UVhtY1MKRXlCQWdBQUJBZ1FJRU1nS0dD
RFo2Z1FuUUlBQUFRSUVDQkFnMEJNd1FIcWRTVXlBQUFFQ0JBZ1FJRUFnSzJDQVpLc1RuQUFCQWdR
SQpFQ0JBZ0VCUHdBRHBkU1l4QVFJRUNCQWdRSUFBZ2F5QUFaS3RUbkFDQkFnUUlFQ0FBQUVDUFFF
RHBOZVp4QVFJRUNCQWdBQUJBZ1N5CkFnWkl0anJCQ1JBZ1FJQUFBUUlFQ1BRRURKQmVaeElUSUVD
QUFBRUNCQWdReUFvWUlObnFCQ2RBZ0FBQkFnUUlFQ0RRRXpCQWVwMUoKVElBQUFRSUVDQkFnUUNB
cllJQmtxeE9jQUFFQ0JBZ1FJRUNBUUUvQUFPbDFKakVCQWdRSUVDQkFnQUNCcklBQmtxMU9jQUlF
Q0JBZwpRSUFBQVFJOUFRT2sxNW5FQkFnUUlFQ0FBQUVDQkxJQ0JraTJPc0VKRUNCQWdBQUJBZ1FJ
OUFRTWtGNW5FaE1nUUlBQUFRSUVDQkRJCkNoZ2cyZW9FSjBDQUFBRUNCQWdRSU5BVE1FQjZuVWxN
Z0FBQkFnUUlFQ0JBSUN0Z2dHU3JFNXdBQVFJRUNCQWdRSUJBVDhBQTZYVW0KTVFFQ0JBZ1FJRUNB
QUlHc2dBR1NyVTV3QWdRSUVDQkFnQUFCQWowQkE2VFhtY1FFQ0JBZ1FJQUFBUUlFc2dJR1NMWTZ3
UWtRSUVDQQpBQUVDQkFqMEJBeVFYbWNTRXlCQWdBQUJBZ1FJRU1nS0dDRFo2Z1FuUUlBQUFRSUVD
QkFnMEJNd1FIcWRTVXlBQUFFQ0JBZ1FJRUFnCksyQ0FaS3NUbkFBQkFnUUlFQ0JBZ0VCUHdBRHBk
U1l4QVFJRUNCQWdRSUFBZ2F5QUFaS3RUbkFDQkFnUUlFQ0FBQUVDUFFFRHBOZVoKeEFRSUVDQkFn
QUFCQWdTeUFnWkl0anJCQ1JBZ1FJQUFBUUlFQ1BRRURKQmVaeElUSUVDQUFBRUNCQWdReUFvWUlO
bnFCQ2RBZ0FBQgpBZ1FJRUNEUUV6QkFlcDFKVElBQUFRSUVDQkFnUUNBcllJQmtxeE9jQUFFQ0JB
Z1FJRUNBUUUvQUFPbDFKakVCQWdRSUVDQkFnQUNCCnJJQUJrcTFPY0FJRUNCQWdRSUFBQVFJOUFR
T2sxNW5FQkFnUUlFQ0FBQUVDQkxJQ0JraTJPc0VKRUNCQWdBQUJBZ1FJOUFRTWtGNW4KRWhNZ1FJ
QUFBUUlFQ0JESUNoZ2cyZW9FSjBDQUFBRUNCQWdRSU5BVE1FQjZuVWxNZ0FBQkFnUUlFQ0JBSUN0
Z2dHU3JFNXdBQVFJRQpDQkFnUUlCQVQ4QUE2WFVtTVFFQ0JBZ1FJRUNBQUlHc2dBR1NyVTV3QWdR
SUVDQkFnQUFCQWowQkE2VFhtY1FFQ0JBZ1FJQUFBUUlFCnNnSUdTTFk2d1FrUUlFQ0FBQUVDQkFq
MEJBeVFYbWNTRXlCQWdBQUJBZ1FJRU1nS0dDRFo2Z1FuUUlBQUFRSUVDQkFnMEJNd1FIcWQKU1V5
QUFBRUNCQWdRSUVBZ0syQ0FaS3NUbkFBQkFnUUlFQ0JBZ0VCUHdBRHBkU1l4QVFJRUNCQWdRSUFB
Z2F5QUFaS3RUbkFDQkFnUQpJRUNBQUFFQ1BRRURwTmVaeEFRSUVDQkFnQUFCQWdTeUFnWkl0anJC
Q1JBZ1FJQUFBUUlFQ1BRRURKQmVaeElUSUVDQUFBRUNCQWdRCnlBb1lJTm5xQkNkQWdBQUJBZ1FJ
RUNEUUV6QkFlcDFKVElBQUFRSUVDQkFnUUNBcllJQmtxeE9jQUFFQ0JBZ1FJRUNBUUUvQUFPbDEK
SmpFQkFnUUlFQ0JBZ0FDQnJJQUJrcTFPY0FJRUNCQWdRSUFBQVFJOUFRT2sxNW5FQkFnUUlFQ0FB
QUVDQkxJQ0JraTJPc0VKRUNCQQpnQUFCQWdRSTlBUU1rRjVuRWhNZ1FJQUFBUUlFQ0JESUNoZ2cy
ZW9FSjBDQUFBRUNCQWdRSU5BVE1FQjZuVWxNZ0FBQkFnUUlFQ0JBCklDdGdnR1NyRTV3QUFRSUVD
QkFnUUlCQVQ4QUE2WFVtTVFFQ0JBZ1FJRUNBQUlHc2dBR1NyVTV3QWdRSUVDQkFnQUFCQWowQkE2
VFgKbWNRRUNCQWdRSUFBQVFJRXNnSUdTTFk2d1FrUUlFQ0FBQUVDQkFqMEJBeVFYbWNTRXlCQWdB
QUJBZ1FJRU1nS0dDRFo2Z1FuUUlBQQpBUUlFQ0JBZzBCTXdRSHFkU1V5QUFBRUNCQWdRSUVBZ0sy
Q0FaS3NUbkFBQkFnUUlFQ0JBZ0VCUHdBRHBkU1l4QVFJRUNCQWdRSUFBCmdheUFBWkt0VG5BQ0JB
Z1FJRUNBQUFFQ1BRRURwTmVaeEFRSUVDQkFnQUFCQWdTeUFnWkl0anJCQ1JBZ1FJQUFBUUlFQ1BR
RURKQmUKWnhJVElFQ0FBQUVDQkFnUXlBb1lJTm5xQkNkQWdBQUJBZ1FJRUNEUUV6QkFlcDFKVElB
QUFRSUVDQkFnUUNBcllJQmtxeE9jQUFFQwpCQWdRSUVDQVFFL0FBT2wxSmpFQkFnUUlFQ0JBZ0FD
QnJJQUJrcTFPY0FJRUNCQWdRSUFBQVFJOUFRT2sxNW5FQkFnUUlFQ0FBQUVDCkJMSUNCa2kyT3NF
SkVDQkFnQUFCQWdRSTlBUU1rRjVuRWhNZ1FJQUFBUUlFQ0JESUNoZ2cyZW9FSjBDQUFBRUNCQWdR
SU5BVE1FQjYKblVsTWdBQUJBZ1FJRUNCQUlDdGdnR1NyRTV3QUFRSUVDQkFnUUlCQVQ4QUE2WFVt
TVFFQ0JBZ1FJRUNBQUlHc2dBR1NyVTV3QWdRSQpFQ0JBZ0FBQkFqMEJBNlRYbWNRRUNCQWdRSUFB
QVFJRXNnSUdTTFk2d1FrUUlFQ0FBQUVDQkFqMEJBeVFYbWNTRXlCQWdBQUJBZ1FJCkVNZ0tHQ0Ra
NmdRblFJQUFBUUlFQ0JBZzBCTXdRSHFkU1V5QUFBRUNCQWdRSUVBZ0syQ0FaS3NUbkFBQkFnUUlF
Q0JBZ0VCUHdBRHAKZFNZeEFRSUVDQkFnUUlBQWdheUFBWkt0VG5BQ0JBZ1FJRUNBQUFFQ1BRRURw
TmVaeEFRSUVDQkFnQUFCQWdTeUFnWkl0anJCQ1JBZwpRSUFBQVFJRUNQUUVESkJlWnhJVElFQ0FB
QUVDQkFnUXlBb1lJTm5xQkNkQWdBQUJBZ1FJRUNEUUV6QkFlcDFKVElBQUFRSUVDQkFnClFDQXJZ
SUJrcXhPY0FBRUNCQWdRSUVDQVFFL0FBT2wxSmpFQkFnUUlFQ0JBZ0FDQnJJQUJrcTFPY0FJRUNC
QWdRSUFBQVFJOUFRT2sKMTVuRUJBZ1FJRUNBQUFFQ0JMSUNCa2kyT3NFSkVDQkFnQUFCQWdRSTlB
UU1rRjVuRWhNZ1FJQUFBUUlFQ0JESUNoZ2cyZW9FSjBDQQpBQUVDQkFnUUlOQVRNRUI2blVsTWdB
QUJBZ1FJRUNCQUlDdGdnR1NyRTV3QUFRSUVDQkFnUUlCQVQ4QUE2WFVtTVFFQ0JBZ1FJRUNBCkFJ
R3NnQUdTclU1d0FnUUlFQ0JBZ0FBQkFqMEJBNlRYbWNRRUNCQWdRSUFBQVFJRXNnSUdTTFk2d1Fr
UUlFQ0FBQUVDQkFqMEJBeVEKWG1jU0V5QkFnQUFCQWdRSUVNZ0tHQ0RaNmdRblFJQUFBUUlFQ0JB
ZzBCTXdRSHFkU1V5QUFBRUNCQWdRSUVBZ0syQ0FaS3NUbkFBQgpBZ1FJRUNCQWdFQlB3QURwZFNZ
eEFRSUVDQkFnUUlBQWdheUFBWkt0VG5BQ0JBZ1FJRUNBQUFFQ1BRRURwTmVaeEFRSUVDQkFnQUFC
CkFnU3lBZ1pJdGpyQkNSQWdRSUFBQVFJRUNQUUVESkJlWnhJVElFQ0FBQUVDQkFnUXlBb1lJTm5x
QkNkQWdBQUJBZ1FJRUNEUUV6QkEKZXAxSlRJQUFBUUlFQ0JBZ1FDQXJZSUJrcXhPY0FBRUNCQWdR
SUVDQVFFL0FBT2wxSmpFQkFnUUlFQ0JBZ0FDQnJJQUJrcTFPY0FJRQpDQkFnUUlBQUFRSTlBUU9r
MTVuRUJBZ1FJRUNBQUFFQ0JMSUNCa2kyT3NFSkVDQkFnQUFCQWdRSTlBUU1rRjVuRWhNZ1FJQUFB
UUlFCkNCRElDaGdnMmVvRUowQ0FBQUVDQkFnUUlOQVRNRUI2blVsTWdBQUJBZ1FJRUNCQUlDdGdn
R1NyRTV3QUFRSUVDQkFnUUlCQVQ4QUEKNlhVbU1RRUNCQWdRSUVDQUFJR3NnQUdTclU1d0FnUUlF
Q0JBZ0FBQkFqMEJBNlRYbWNRRUNCQWdRSUFBQVFJRXNnSUdTTFk2d1FrUQpJRUNBQUFFQ0JBajBC
QXlRWG1jU0V5QkFnQUFCQWdRSUVNZ0tHQ0RaNmdRblFJQUFBUUlFQ0JBZzBCTXdRSHFkU1V5QUFB
RUNCQWdRCklFQWdLMkNBWktzVG5BQUJBZ1FJRUNCQWdFQlB3QURwZFNZeEFRSUVDQkFnUUlBQWdh
eUFBWkt0VG5BQ0JBZ1FJRUNBQUFFQ1BRRUQKcE5lWnhBUUlFQ0JBZ0FBQkFnU3lBZ1pJdGpyQkNS
QWdRSUFBQVFJRUNQUUVESkJlWnhJVElFQ0FBQUVDQkFnUXlBb1lJTm5xQkNkQQpnQUFCQWdRSUVD
RFFFekJBZXAxSlRJQUFBUUlFQ0JBZ1FDQXJZSUJrcXhPY0FBRUNCQWdRSUVDQVFFL0FBT2wxSmpF
QkFnUUlFQ0JBCmdBQ0JySUFCa3ExT2NBSUVDQkFnUUlBQUFRSTlBUU9rMTVuRUJBZ1FJRUNBQUFF
Q0JMSUNCa2kyT3NFSkVDQkFnQUFCQWdRSTlBUU0Ka0Y1bkVoTWdRSUFBQVFJRUNCRElDaGdnMmVv
RUowQ0FBQUVDQkFnUUlOQVRNRUI2blVsTWdBQUJBZ1FJRUNCQUlDdGdnR1NyRTV3QQpBUUlFQ0JB
Z1FJQkFUOEFBNlhVbU1RRUNCQWdRSUVDQUFJR3NnQUdTclU1d0FnUUlFQ0JBZ0FBQkFqMEJBNlRY
bWNRRUNCQWdRSUFBCkFRSUVzZ0lHU0xZNndRa1FJRUNBQUFFQ0JBajBCQXlRWG1jU0V5QkFnQUFC
QWdRSUVNZ0tHQ0RaNmdRblFJQUFBUUlFQ0JBZzBCTXcKUUhxZFNVeUFBQUVDQkFnUUlFQWdLMkNB
WktzVG5BQUJBZ1FJRUNCQWdFQlB3QURwZFNZeEFRSUVDQkFnUUlBQWdheUFBWkt0VG5BQwpCQWdR
SUVDQUFBRUNQUUVEcE5lWnhBUUlFQ0JBZ0FBQkFnU3lBZ1pJdGpyQkNSQWdRSUFBQVFJRUNQUUVE
SkJlWnhJVElFQ0FBQUVDCkJBZ1F5QW9ZSU5ucUJDZEFnQUFCQWdRSUVDRFFFekJBZXAxSlRJQUFB
UUlFQ0JBZ1FDQXJZSUJrcXhPY0FBRUNCQWdRSUVDQVFFL0EKQU9sMUpqRUJBZ1FJRUNCQWdBQ0Jy
SUFCa3ExT2NBSUVDQkFnUUlBQUFRSTlBUU9rMTVuRUJBZ1FJRUNBQUFFQ0JMSUNCa2kyT3NFSgpF
Q0JBZ0FBQkFnUUk5QVFNa0Y1bkVoTWdRSUFBQVFJRUNCRElDaGdnMmVvRUowQ0FBQUVDQkFnUUlO
QVRNRUI2blVsTWdBQUJBZ1FJCkVDQkFJQ3RnZ0dTckU1d0FBUUlFQ0JBZ1FJQkFUOEFBNlhVbU1R
RUNCQWdRSUVDQUFJR3NnQUdTclU1d0FnUUlFQ0JBZ0FBQkFqMEIKQTZUWG1jUUVDQkFnUUlBQUFR
SUVzZ0lHU0xZNndRa1FJRUNBQUFFQ0JBajBCQXlRWG1jU0V5QkFnQUFCQWdRSUVNZ0tHQ0RaNmdR
bgpRSUFBQVFJRUNCQWcwQk13UUhxZFNVeUFBQUVDQkFnUUlFQWdLMkNBWktzVG5BQUJBZ1FJRUNC
QWdFQlB3QURwZFNZeEFRSUVDQkFnClFJQUFnYXlBQVpLdFRuQUNCQWdRSUVDQUFBRUNQUUVEcE5l
WnhBUUlFQ0JBZ0FBQkFnU3lBZ1pJdGpyQkNSQWdRSUFBQVFJRUNQUUUKREpCZVp4SVRJRUNBQUFF
Q0JBZ1F5QW9ZSU5ucUJDZEFnQUFCQWdRSUVDRFFFekJBZXAxSlRJQUFBUUlFQ0JBZ1FDQXJZSUJr
cXhPYwpBQUVDQkFnUUlFQ0FRRS9BQU9sMUpqRUJBZ1FJRUNCQWdBQ0JySUFCa3ExT2NBSUVDQkFn
UUlBQUFRSTlBUU9rMTVuRUJBZ1FJRUNBCkFBRUNCTElDQmtpMk9zRUpFQ0JBZ0FBQkFnUUk5QVFN
a0Y1bkVoTWdRSUFBQVFJRUNCRElDaGdnMmVvRUowQ0FBQUVDQkFnUUlOQVQKTUVCNm5VbE1nQUFC
QWdRSUVDQkFJQ3RnZ0dTckU1d0FBUUlFQ0JBZ1FJQkFUOEFBNlhVbU1RRUNCQWdRSUVDQUFJR3Nn
QUdTclU1dwpBZ1FJRUNCQWdBQUJBajBCQTZUWG1jUUVDQkFnUUlBQUFRSUVzZ0lHU0xZNndRa1FJ
RUNBQUFFQ0JBajBCQXlRWG1jU0V5QkFnQUFCCkFnUUlFTWdLR0NEWjZnUW5RSUFBQVFJRUNCQWcw
Qk13UUhxZFNVeUFBQUVDQkFnUUlFQWdLMkNBWktzVG5BQUJBZ1FJRUNCQWdFQlAKd0FEcGRTWXhB
UUlFQ0JBZ1FJQUFnYXlBQVpLdFRuQUNCQWdRSUVDQUFBRUNQUUVEcE5lWnhBUUlFQ0JBZ0FBQkFn
U3lBZ1pJdGpyQgpDUkFnUUlBQUFRSUVDUFFFREpCZVp4SVRJRUNBQUFFQ0JBZ1F5QW9ZSU5ucUJD
ZEFnQUFCQWdRSUVDRFFFekJBZXAxSlRJQUFBUUlFCkNCQWdRQ0FyWUlCa3F4T2NBQUVDQkFnUUlF
Q0FRRS9BQU9sMUpqRUJBZ1FJRUNCQWdBQ0JySUFCa3ExT2NBSUVDQkFnUUlBQUFRSTkKQVFPazE1
bkVCQWdRSUVDQUFBRUNCTElDQmtpMk9zRUpFQ0JBZ0FBQkFnUUk5QVFNa0Y1bkVoTWdRSUFBQVFJ
RUNCRElDaGdnMmVvRQpKMENBQUFFQ0JBZ1FJTkFUTUVCNm5VbE1nQUFCQWdRSUVDQkFJQ3RnZ0dT
ckU1d0FBUUlFQ0JBZ1FJQkFUOEFBNlhVbU1RRUNCQWdRCklFQ0FBSUdzZ0FHU3JVNXdBZ1FJRUNC
QWdBQUJBajBCQTZUWG1jUUVDQkFnUUlBQUFRSUVzZ0lHU0xZNndRa1FJRUNBQUFFQ0JBajAKQkF5
UVhtY1NFeUJBZ0FBQkFnUUlFTWdLR0NEWjZnUW5RSUFBQVFJRUNCQWcwQk13UUhxZFNVeUFBQUVD
QkFnUUlFQWdLMkNBWktzVApuQUFCQWdRSUVDQkFnRUJQd0FEcGRTWXhBUUlFQ0JBZ1FJQUFnYXlB
QVpLdFRuQUNCQWdRSUVDQUFBRUNQUUVEcE5lWnhBUUlFQ0JBCmdBQUJBZ1N5QWdaSXRqckJDUkFn
UUlBQUFRSUVDUFFFREpCZVp4SVRJRUNBQUFFQ0JBZ1F5QW9ZSU5ucUJDZEFnQUFCQWdRSUVDRFEK
RXpCQWVwMUpUSUFBQVFJRUNCQWdRQ0FyWUlCa3F4T2NBQUVDQkFnUUlFQ0FRRS9BQU9sMUpqRUJB
Z1FJRUNCQWdBQ0JySUFCa3ExTwpjQUlFQ0JBZ1FJQUFBUUk5QVFPazE1bkVCQWdRSmpPVllBQUFD
RnBKUkVGVUlFQ0FBQUVDQkxJQ0JraTJPc0VKRUNCQWdBQUJBZ1FJCjlBUU1rRjVuRWhNZ1FJQUFB
UUlFQ0JESUNoZ2cyZW9FSjBDQUFBRUNCQWdRSU5BVE1FQjZuVWxNZ0FBQkFnUUlFQ0JBSUN0Z2dH
U3IKRTV3QUFRSUVDQkFnUUlCQVQ4QUE2WFVtTVFFQ0JBZ1FJRUNBQUlHc2dBR1NyVTV3QWdRSUVD
QkFnQUFCQWowQkE2VFhtY1FFQ0JBZwpRSUFBQVFJRXNnSUdTTFk2d1FrUUlFQ0FBQUVDQkFqMEJB
eVFYbWNTRXlCQWdBQUJBZ1FJRU1nS0dDRFo2Z1FuUUlBQUFRSUVDQkFnCjBCTXdRSHFkU1V5QUFB
RUNCQWdRSUVBZ0syQ0FaS3NUbkFBQkFnUUlFQ0JBZ0VCUHdBRHBkU1l4QVFJRUNCQWdRSUFBZ2F5
QUFaS3QKVG5BQ0JBZ1FJRUNBQUFFQ1BRRURwTmVaeEFRSUVDQkFnQUFCQWdTeUFnWkl0anJCQ1JB
Z1FJQUFBUUlFQ1BRRURKQmVaeElUSUVDQQpBQUVDQkFnUXlBb1lJTm5xQkNkQWdBQUJBZ1FJRUNE
UUV6QkFlcDFKVElBQUFRSUVDQkFnUUNBcllJQmtxeE9jQUFFQ0JBZ1FJRUNBClFFL0FBT2wxSmpF
QkFnUUlFQ0JBZ0FDQnJJQUJrcTFPY0FJRUNCQWdRSUFBQVFJOUFRT2sxNW5FQkFnUUlFQ0FBQUVD
QkxJQ0JraTIKT3NFSkVDQkFnQUFCQWdRSTlBUU1rRjVuRWhNZ1FJQUFBUUlFQ0JESUNoZ2cyZW9F
SjBDQUFBRUNCQWdRSU5BVE1FQjZuVWxNZ0FBQgpBZ1FJRUNCQUlDdGdnR1NyRTV3QUFRSUVDQkFn
UUlCQVQ4QUE2WFVtTVFFQ0JBZ1FJRUNBQUlHc2dBR1NyVTV3QWdRSUVDQkFnQUFCCkFqMEJBNlRY
bWNRRUNCQWdRSUFBQVFJRXNnSUdTTFk2d1FrUUlFQ0FBQUVDQkFqMEJBeVFYbWNTRXlCQWdBQUJB
Z1FJRU1nS0dDRFoKNmdRblFJQUFBUUlFQ0JBZzBCTXdRSHFkU1V5QUFBRUNCQWdRSUVBZ0syQ0Fa
S3NUbkFBQkFnUUlFQ0JBZ0VCUHdBRHBkU1l4QVFJRQpDQkFnUUlBQWdheUFBWkt0VG5BQ0JBZ1FJ
RUNBQUFFQ1BRRURwTmVaeEFRSUVDQkFnQUFCQWdTeUFnWkl0anJCQ1JBZ1FJQUFBUUlFCkNQUUVE
SkJlWnhJVElFQ0FBQUVDQkFnUXlBb1lJTm5xQkNkQWdBQUJBZ1FJRUNEUUV6QkFlcDFKVElBQUFR
SUVDQkFnUUNBcllJQmsKcXhPY0FBRUNCQWdRSUVDQVFFL0FBT2wxSmpFQkFnUUlFQ0JBZ0FDQnJJ
QUJrcTFPY0FJRUNCQWdRSUFBQVFJOUFRT2sxNW5FQkFnUQpJRUNBQUFFQ0JMSUNCa2kyT3NFSkVD
QkFnQUFCQWdRSTlBUU1rRjVuRWhNZ1FJQUFBUUlFQ0JESUNoZ2cyZW9FSjBDQUFBRUNCQWdRCklO
QVRNRUI2blVsTWdBQUJBZ1FJRUNCQUlDdGdnR1NyRTV3QUFRSUVDQkFnUUlCQVQ4QUE2WFVtTVFF
Q0JBZ1FJRUNBQUlHc2dBR1MKclU1d0FnUUlFQ0JBZ0FBQkFqMEJBNlRYbWNRRUNCQWdRSUFBQVFJ
RXNnSUdTTFk2d1FrUUlFQ0FBQUVDQkFqMEJBeVFYbWNTRXlCQQpnQUFCQWdRSUVNZ0tHQ0RaNmdR
blFJQUFBUUlFQ0JBZzBCTXdRSHFkU1V5QUFBRUNCQWdRSUVBZ0syQ0FaS3NUbkFBQkFnUUlFQ0JB
CmdFQlB3QURwZFNZeEFRSUVDQkFnUUlBQWdheUFBWkt0VG5BQ0JBZ1FJRUNBQUFFQ1BRRURwTmVa
eEFRSUVDQkFnQUFCQWdTeUFnWkkKdGpyQkNSQWdRSUFBQVFJRUNQUUVESkJlWnhJVElFQ0FBQUVD
QkFnUXlBb1lJTm5xQkNkQWdBQUJBZ1FJRUNEUUV6QkFlcDFKVElBQQpBUUlFQ0JBZ1FDQXJZSUJr
cXhPY0FBRUNCQWdRSUVDQVFFL0FBT2wxSmpFQkFnUUlFQ0JBZ0FDQnJJQUJrcTFPY0FJRUNCQWdR
SUFBCkFRSTlBUU9rMTVuRUJBZ1FJRUNBQUFFQ0JMSUNCa2kyT3NFSkVDQkFnQUFCQWdRSTlBUU1r
RjVuRWhNZ1FJQUFBUUlFQ0JESUNoZ2cKMmVvRUowQ0FBQUVDQkFnUUlOQVRNRUI2blVsTWdBQUJB
Z1FJRUNCQUlDdGdnR1NyRTV3QUFRSUVDQkFnUUlCQVQ4QUE2WFVtTVFFQwpCQWdRSUVDQUFJR3Nn
QUdTclU1d0FnUUlFQ0JBZ0FBQkFqMEJBNlRYbWNRRUNCQWdRSUFBQVFJRXNnSUdTTFk2d1FrUUlF
Q0FBQUVDCkJBajBCQXlRWG1jU0V5QkFnQUFCQWdRSUVNZ0tHQ0RaNmdRblFJQUFBUUlFQ0JBZzBC
TXdRSHFkU1V5QUFBRUNCQWdRSUVBZ0syQ0EKWktzVG5BQUJBZ1FJRUNCQWdFQlB3QURwZFNZeEFR
SUVDQkFnUUlBQWdheUFBWkt0VG5BQ0JBZ1FJRUNBQUFFQ1BRRURwTmVaeEFRSQpFQ0JBZ0FBQkFn
U3lBZ1pJdGpyQkNSQWdRSUFBQVFJRUNQUUVESkJlWnhJVElFQ0FBQUVDQkFnUXlBb1lJTm5xQkNk
QWdBQUJBZ1FJCkVDRFFFekJBZXAxSlRJQUFBUUlFQ0JBZ1FDQXJZSUJrcXhPY0FBRUNCQWdRSUVD
QVFFL0FBT2wxSmpFQkFnUUlFQ0JBZ0FDQnJJQUIKa3ExT2NBSUVDQkFnUUlBQUFRSTlBUU9rMTVu
RUJBZ1FJRUNBQUFFQ0JMSUNCa2kyT3NFSkVDQkFnQUFCQWdRSTlBUU1rRjVuRWhNZwpRSUFBQVFJ
RUNCRElDaGdnMmVvRUowQ0FBQUVDQkFnUUlOQVRNRUI2blVsTWdBQUJBZ1FJRUNCQUlDdGdnR1Ny
RTV3QUFRSUVDQkFnClFJQkFUOEFBNlhVbU1RRUNCQWdRSUVDQUFJR3NnQUdTclU1d0FnUUlFQ0JB
Z0FBQkFqMEJBNlRYbWNRRUNCQWdRSUFBQVFJRXNnSUcKU0xZNndRa1FJRUNBQUFFQ0JBajBCQXlR
WG1jU0V5QkFnQUFCQWdRSUVNZ0tHQ0RaNmdRblFJQUFBUUlFQ0JBZzBCTXdRSHFkU1V5QQpBQUVD
QkFnUUlFQWdLMkNBWktzVG5BQUJBZ1FJRUNCQWdFQlB3QURwZFNZeEFRSUVDQkFnUUlBQWdheUFB
Wkt0VG5BQ0JBZ1FJRUNBCkFBRUNQUUVEcE5lWnhBUUlFQ0JBZ0FBQkFnU3lBZ1pJdGpyQkNSQWdR
SUFBQVFJRUNQUUVESkJlWnhJVElFQ0FBQUVDQkFnUXlBb1kKSU5ucUJDZEFnQUFCQWdRSUVDRFFF
ekJBZXAxSlRJQUFBUUlFQ0JBZ1FDQXJZSUJrcXhPY0FBRUNCQWdRSUVDQVFFL0FBT2wxSmpFQgpB
Z1FJRUNCQWdBQ0JySUFCa3ExT2NBSUVDQkFnUUlBQUFRSTlBUU9rMTVuRUJBZ1FJRUNBQUFFQ0JM
SUNCa2kyT3NFSkVDQkFnQUFCCkFnUUk5QVFNa0Y1bkVoTWdRSUFBQVFJRUNCRElDaGdnMmVvRUow
Q0FBQUVDQkFnUUlOQVRNRUI2blVsTWdBQUJBZ1FJRUNCQUlDdncKQmFpZ0VxbHI1ZUhJQUFBQUFF
bEZUa1N1UW1DQwoK
</data>

          </attachment>
      

    </bug>

</bugzilla>