<?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>89216</bug_id>
          
          <creation_ts>2012-06-15 08:14:44 -0700</creation_ts>
          <short_desc>RenderView layer is marked as fixed position container in the scrolling tree if page scale != 1</short_desc>
          <delta_ts>2012-07-11 11:00:53 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Layout and Rendering</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>
          <dependson>89576</dependson>
          <blocked>78862</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Sami Kyostila">skyostil</reporter>
          <assigned_to name="Sami Kyostila">skyostil</assigned_to>
          <cc>abarth</cc>
    
    <cc>andersca</cc>
    
    <cc>cc-bugs</cc>
    
    <cc>dglazkov</cc>
    
    <cc>eric</cc>
    
    <cc>fishd</cc>
    
    <cc>hans</cc>
    
    <cc>jamesr</cc>
    
    <cc>shawnsingh</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>skyostil</cc>
    
    <cc>tkent</cc>
    
    <cc>tkent+wkapi</cc>
    
    <cc>tonikitoo</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>650201</commentid>
    <comment_count>0</comment_count>
    <who name="Sami Kyostila">skyostil</who>
    <bug_when>2012-06-15 08:14:44 -0700</bug_when>
    <thetext>Render layers with CSS transforms should become containers for any fixed positioned descendants. However, because this check is done with RenderLayer::hasTransform(), we also end up marking the RenderLayer for the RenderView as fixed position container if a non-identity page scale factor is used. This is because page scale is applied as a transform for that layer.

This breaks fixed position layers, because they become fixed relative to the RenderView layer instead of outer scroll clip layer.

The fix is to avoid marking any RenderView layers as fixed position containers.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>650205</commentid>
    <comment_count>1</comment_count>
      <attachid>147825</attachid>
    <who name="Sami Kyostila">skyostil</who>
    <bug_when>2012-06-15 08:17:48 -0700</bug_when>
    <thetext>Created attachment 147825
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>650506</commentid>
    <comment_count>2</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2012-06-15 14:24:14 -0700</bug_when>
    <thetext>(In reply to comment #0)
&gt; Render layers with CSS transforms should become containers for any fixed positioned descendants.

This surprises me a bit - why is there a relationship between CSS transforms and fixed positioned descendants?  Is this in a spec somewhere?

&gt; However, because this check is done with RenderLayer::hasTransform(), we also end up marking the RenderLayer for the RenderView as fixed position container if a non-identity page scale factor is used. This is because page scale is applied as a transform for that layer.
&gt; 
&gt; This breaks fixed position layers, because they become fixed relative to the RenderView layer instead of outer scroll clip layer.
&gt; 
&gt; The fix is to avoid marking any RenderView layers as fixed position containers.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>650508</commentid>
    <comment_count>3</comment_count>
    <who name="Shawn Singh">shawnsingh</who>
    <bug_when>2012-06-15 14:26:16 -0700</bug_when>
    <thetext>http://dev.w3.org/csswg/css3-transforms/ -- just search for the word &quot;fixed&quot;.

I&apos;m sure Simon will have something more authoritative to say, though.  Perhaps that part of the spec is still in a bit of flux?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>650516</commentid>
    <comment_count>4</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2012-06-15 14:34:13 -0700</bug_when>
    <thetext>&quot; The object acts as a containing block for fixed positioned descendants&quot;

Yep, it&apos;s like that because Dave Hyatt said it would be really hard to do any other way.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>650518</commentid>
    <comment_count>5</comment_count>
      <attachid>147825</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2012-06-15 14:35:04 -0700</bug_when>
    <thetext>Comment on attachment 147825
Patch

r- for lack of a test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>650525</commentid>
    <comment_count>6</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2012-06-15 14:36:35 -0700</bug_when>
    <thetext>Wow, that&apos;s weird (although I guess doing otherwise would be a pain in the butt).  OK.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>651352</commentid>
    <comment_count>7</comment_count>
      <attachid>148091</attachid>
    <who name="Sami Kyostila">skyostil</who>
    <bug_when>2012-06-18 06:46:30 -0700</bug_when>
    <thetext>Created attachment 148091
Patch

- Added testing framework for ScrollingCoordinator.
- Added layout test to verify fix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>651356</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-06-18 06:48:40 -0700</bug_when>
    <thetext>Please wait for approval from abarth@webkit.org, dglazkov@chromium.org, fishd@chromium.org, jamesr@chromium.org or tkent@chromium.org before submitting, as this patch contains changes to the Chromium public API. See also https://trac.webkit.org/wiki/ChromiumWebKitAPI.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>651390</commentid>
    <comment_count>9</comment_count>
      <attachid>148091</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-06-18 08:01:46 -0700</bug_when>
    <thetext>Comment on attachment 148091
Patch

Attachment 148091 did not pass efl-ews (efl):
Output: http://queues.webkit.org/results/12979166</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>651396</commentid>
    <comment_count>10</comment_count>
      <attachid>148101</attachid>
    <who name="Sami Kyostila">skyostil</who>
    <bug_when>2012-06-18 08:09:24 -0700</bug_when>
    <thetext>Created attachment 148101
Patch

- Fixed efl build failure.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>651423</commentid>
    <comment_count>11</comment_count>
      <attachid>148101</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2012-06-18 09:10:26 -0700</bug_when>
    <thetext>Comment on attachment 148101
Patch

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

&gt; Source/WebCore/ChangeLog:3
&gt; +        RenderView layer is marked as fixed position container if page scale != 1

Normally when we talked about &quot;fixed position containers&quot;, we&apos;re talking about the render tree, but this bug only exists in the scrolling tree. The bug title should say this.

&gt; Source/WebCore/ChangeLog:22
&gt; +        This patch also adds a testing framework for ScrollingCoordinator. Layout
&gt; +        tests can call testRunner.scrollingTreeAsText() to retrieve a text
&gt; +        representation of the scrolling tree of the current page. This feature is
&gt; +        currently only implemented for the Chromium scrolling coordinator back-end.

Do you think that the scrolling tree output is comparable across implementations? If not, the utility of this way of testing is reduced.

&gt; LayoutTests/platform/chromium/compositing/fixed-position-container-with-page-scale.html:22
&gt; +        testRunner.dumpAsText(true);

Why dumpAsText(true)? The pixel result doesn&apos;t seem useful.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>651522</commentid>
    <comment_count>12</comment_count>
      <attachid>148101</attachid>
    <who name="Sami Kyostila">skyostil</who>
    <bug_when>2012-06-18 10:33:31 -0700</bug_when>
    <thetext>Comment on attachment 148101
Patch

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

Thanks Simon.

&gt;&gt; Source/WebCore/ChangeLog:3
&gt;&gt; +        RenderView layer is marked as fixed position container if page scale != 1
&gt; 
&gt; Normally when we talked about &quot;fixed position containers&quot;, we&apos;re talking about the render tree, but this bug only exists in the scrolling tree. The bug title should say this.

Good point. I&apos;ll change this.

&gt;&gt; Source/WebCore/ChangeLog:22
&gt;&gt; +        currently only implemented for the Chromium scrolling coordinator back-end.
&gt; 
&gt; Do you think that the scrolling tree output is comparable across implementations? If not, the utility of this way of testing is reduced.

The current format certainly isn&apos;t, but I think I can make a few tweaks to make it more feasible for all implementations to produce the same output. I think we can also adjust the format later if there is need.

&gt;&gt; LayoutTests/platform/chromium/compositing/fixed-position-container-with-page-scale.html:22
&gt;&gt; +        testRunner.dumpAsText(true);
&gt; 
&gt; Why dumpAsText(true)? The pixel result doesn&apos;t seem useful.

Ah, I think I got confused by the dumpAsText arguments again. Will fix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>651540</commentid>
    <comment_count>13</comment_count>
      <attachid>148129</attachid>
    <who name="Sami Kyostila">skyostil</who>
    <bug_when>2012-06-18 11:01:55 -0700</bug_when>
    <thetext>Created attachment 148129
Patch

- Made scrollingTreeAsText() output less Chromium-specific.
- Only save text reference in the test.
- Updated bug title.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>653317</commentid>
    <comment_count>14</comment_count>
      <attachid>148530</attachid>
    <who name="Sami Kyöstilä">skyostil</who>
    <bug_when>2012-06-20 03:09:12 -0700</bug_when>
    <thetext>Created attachment 148530
Patch

Rebased. Another look please?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>653514</commentid>
    <comment_count>15</comment_count>
      <attachid>148530</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2012-06-20 08:48:58 -0700</bug_when>
    <thetext>Comment on attachment 148530
Patch

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

&gt; Source/WebCore/page/scrolling/chromium/ScrollingCoordinatorChromium.cpp:295
&gt; +String ScrollingCoordinator::scrollingTreeAsText() const
&gt; +{
&gt; +    ASSERT(isMainThread());
&gt; +#if USE(ACCELERATED_COMPOSITING)
&gt; +    if (!m_page || !m_page-&gt;mainFrame())
&gt; +        return String();
&gt; +
&gt; +    RenderView* renderView = m_page-&gt;mainFrame()-&gt;contentRenderer();
&gt; +    if (!renderView || !renderView-&gt;compositor() || !renderView-&gt;compositor()-&gt;rootGraphicsLayer())
&gt; +        return String();
&gt; +
&gt; +    TextStream textStream;
&gt; +    dumpLayer(textStream, renderView-&gt;compositor()-&gt;rootGraphicsLayer(), 0);
&gt; +    return textStream.release();
&gt; +#else
&gt; +    return String();
&gt; +#endif
&gt; +}

I&apos;d expect this to walk the ScrollingTree nodes, not to just go to GraphicsLayers. Not all platforms will necessarily store scrolling tree info under GraphicsLayers.

I think you should split outs the scrollingTreeAsText changes into a separate bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>653517</commentid>
    <comment_count>16</comment_count>
    <who name="Sami Kyöstilä">skyostil</who>
    <bug_when>2012-06-20 08:53:31 -0700</bug_when>
    <thetext>(In reply to comment #15)
&gt; I&apos;d expect this to walk the ScrollingTree nodes, not to just go to GraphicsLayers. Not all platforms will necessarily store scrolling tree info under GraphicsLayers.

The problem is that the Chromium ScrollingCoordinator implementation doesn&apos;t really have a concept of a scrolling tree, so this is the best it can do. I&apos;m open to suggestions on how to make the coordinator testable while allowing for multiple back-end implementations.
 
&gt; I think you should split outs the scrollingTreeAsText changes into a separate bug.

Ok, I&apos;ll do that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>653527</commentid>
    <comment_count>17</comment_count>
      <attachid>148580</attachid>
    <who name="Sami Kyöstilä">skyostil</who>
    <bug_when>2012-06-20 09:04:55 -0700</bug_when>
    <thetext>Created attachment 148580
Patch

- Removed scrolling tree test framework and test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>653535</commentid>
    <comment_count>18</comment_count>
      <attachid>148580</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2012-06-20 09:09:54 -0700</bug_when>
    <thetext>Comment on attachment 148580
Patch

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

&gt; Source/WebCore/ChangeLog:19
&gt; +        No new test because the scrolling tree isn&apos;t currently testable.

But can&apos;t you make a pixel test or ref test that would show the bug?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>653546</commentid>
    <comment_count>19</comment_count>
    <who name="Sami Kyöstilä">skyostil</who>
    <bug_when>2012-06-20 09:26:29 -0700</bug_when>
    <thetext>(In reply to comment #18)
&gt; But can&apos;t you make a pixel test or ref test that would show the bug?

The problem is that the bug is triggered only if the scrolling coordinator tries to position the fixed layer independently of the main thread. In Chromium&apos;s case this happens if the compositor processes scroll input events and renders *before* it gets a chance to synchronize the layer tree with the main thread.

Since the layout tests are driven from the main thread, I&apos;m not sure how to capture a snapshot of this intermediate state. For manual testing I usually tie up the main thread with some blocking JS to allow the compositor thread to work independently.

Cases like this are why I wanted to have a more formal way to test ScrollingCoordinator.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>653548</commentid>
    <comment_count>20</comment_count>
    <who name="Sami Kyöstilä">skyostil</who>
    <bug_when>2012-06-20 09:30:42 -0700</bug_when>
    <thetext>Testing the scrolling tree is now split off into bug 89576.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>661565</commentid>
    <comment_count>21</comment_count>
      <attachid>148580</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2012-07-02 09:49:56 -0700</bug_when>
    <thetext>Comment on attachment 148580
Patch

There seems to be some controversy in Bug 89576 about how to test the scrolling tree.  Would it make senes to land this fix and continue discussing the testing issues in Bug 89576?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>666656</commentid>
    <comment_count>22</comment_count>
    <who name="Sami Kyöstilä">skyostil</who>
    <bug_when>2012-07-11 04:41:06 -0700</bug_when>
    <thetext>Any opinions about comment #21?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>666791</commentid>
    <comment_count>23</comment_count>
      <attachid>148580</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2012-07-11 09:17:55 -0700</bug_when>
    <thetext>Comment on attachment 148580
Patch

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

&gt; Source/WebCore/ChangeLog:8
&gt; +        Render layers with CSS transforms should become containers for anyfixed

any/fixed

&gt; Source/WebCore/rendering/RenderLayerBacking.cpp:455
&gt; +            bool isContainer = m_owningLayer-&gt;hasTransform() &amp;&amp; !renderer()-&gt;isRenderView();

We also use isRootLayer() for the renderview&apos;s layer.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>666841</commentid>
    <comment_count>24</comment_count>
      <attachid>151727</attachid>
    <who name="Sami Kyöstilä">skyostil</who>
    <bug_when>2012-07-11 10:17:20 -0700</bug_when>
    <thetext>Created attachment 151727
Patch

Fixed typo and used isRootLayer() instead of isRenderView()</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>666875</commentid>
    <comment_count>25</comment_count>
      <attachid>151727</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-07-11 11:00:46 -0700</bug_when>
    <thetext>Comment on attachment 151727
Patch

Clearing flags on attachment: 151727

Committed r122343: &lt;http://trac.webkit.org/changeset/122343&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>666876</commentid>
    <comment_count>26</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-07-11 11:00:53 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>147825</attachid>
            <date>2012-06-15 08:17:48 -0700</date>
            <delta_ts>2012-06-18 06:46:24 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-89216-20120615161747.patch</filename>
            <type>text/plain</type>
            <size>2563</size>
            <attacher name="Sami Kyostila">skyostil</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIwNDU3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDNhYzBkZjJhYmI2YmY2
OTA5MjQ5Njk1MmI5NWE2Mjg3NGQ1MTVmZC4uNmExNTEzZmU5YTUyYzU0ODkzZjEwNWQ2Yjk4Mzc1
MWQ0OWI1YTlhNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDEyLTA2LTE1ICBTYW1p
IEt5b3N0aWxhICA8c2t5b3N0aWxAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJlbmRlclZpZXcg
bGF5ZXIgaXMgbWFya2VkIGFzIGZpeGVkIHBvc2l0aW9uIGNvbnRhaW5lciBpZiBwYWdlIHNjYWxl
ICE9IDEKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg5
MjE2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVu
ZGVyIGxheWVycyB3aXRoIENTUyB0cmFuc2Zvcm1zIHNob3VsZCBiZWNvbWUgY29udGFpbmVycyBm
b3IgYW55IGZpeGVkCisgICAgICAgIHBvc2l0aW9uZWQgZGVzY2VuZGFudHMuIEhvd2V2ZXIsIGJl
Y2F1c2UgdGhpcyBjaGVjayBpcyBkb25lIHdpdGgKKyAgICAgICAgUmVuZGVyTGF5ZXI6Omhhc1Ry
YW5zZm9ybSgpLCB3ZSBhbHNvIGVuZCB1cCBtYXJraW5nIHRoZSBSZW5kZXJMYXllciBmb3IgdGhl
CisgICAgICAgIFJlbmRlclZpZXcgYXMgZml4ZWQgcG9zaXRpb24gY29udGFpbmVyIGlmIGEgbm9u
LWlkZW50aXR5IHBhZ2Ugc2NhbGUgZmFjdG9yIGlzCisgICAgICAgIHVzZWQuIFRoaXMgaXMgYmVj
YXVzZSBwYWdlIHNjYWxlIGlzIGFwcGxpZWQgYXMgYSB0cmFuc2Zvcm0gZm9yIHRoYXQgbGF5ZXIu
CisKKyAgICAgICAgVGhpcyBicmVha3MgZml4ZWQgcG9zaXRpb24gbGF5ZXJzLCBiZWNhdXNlIHRo
ZXkgYmVjb21lIGZpeGVkIHJlbGF0aXZlIHRvIHRoZQorICAgICAgICBSZW5kZXJWaWV3IGxheWVy
IGluc3RlYWQgb2Ygb3V0ZXIgc2Nyb2xsIGNsaXAgbGF5ZXIuCisKKyAgICAgICAgVGhlIGZpeCBp
cyB0byBhdm9pZCBtYXJraW5nIGFueSBSZW5kZXJWaWV3IGxheWVycyBhcyBmaXhlZCBwb3NpdGlv
biBjb250YWluZXJzLgorCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllckJhY2tpbmc6OnVwZGF0ZUdyYXBoaWNz
TGF5ZXJHZW9tZXRyeSk6CisKIDIwMTItMDYtMTEgIERhbmEgSmFuc2VucyAgPGRhbmFrakBjaHJv
bWl1bS5vcmc+CiAKICAgICAgICAgW2Nocm9taXVtXSBDcmVhdGUgYSBDQ1lVVlZpZGVvRHJhd1F1
YWQgYW5kIHJlbW92ZSB0aGUgbm93LXVudXNlZCBnZW5lcmljIENDVmlkZW9EcmF3UXVhZApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmNwcAppbmRleCBj
ODdiYmNkMjQ0ZGUyOTFlZDllOWVjMjBhMjc4ZjQxZTg3M2RmZTM3Li40ZmVhOGRmYWY4NGY2NGFk
NTVhMjQ1NDRhMWJkMzg2NTQ5ZDk2ZmZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyTGF5ZXJCYWNraW5nLmNwcApAQCAtNDQ1LDcgKzQ0NSwxMCBAQCB2b2lkIFJlbmRl
ckxheWVyQmFja2luZzo6dXBkYXRlR3JhcGhpY3NMYXllckdlb21ldHJ5KCkKICAgICAgICAgICAg
ICAgICAgICAgc2Nyb2xsaW5nQ29vcmRpbmF0b3ItPnNldExheWVySXNGaXhlZFRvQ29udGFpbmVy
TGF5ZXIobV9hbmNlc3RvckNsaXBwaW5nTGF5ZXIuZ2V0KCksIGZhbHNlKTsKICAgICAgICAgICAg
ICAgICBzY3JvbGxpbmdDb29yZGluYXRvci0+c2V0TGF5ZXJJc0ZpeGVkVG9Db250YWluZXJMYXll
cihtX2dyYXBoaWNzTGF5ZXIuZ2V0KCksIGZhbHNlKTsKICAgICAgICAgICAgIH0KLSAgICAgICAg
ICAgIGJvb2wgaXNDb250YWluZXIgPSBtX293bmluZ0xheWVyLT5oYXNUcmFuc2Zvcm0oKTsKKyAg
ICAgICAgICAgIC8vIFBhZ2Ugc2NhbGUgaXMgYXBwbGllZCBhcyBhIHRyYW5zZm9ybSBvbiB0aGUg
cmVuZGVyIHZpZXcgbGF5ZXIuIEJlY2F1c2UgdGhlIHNjcm9sbAorICAgICAgICAgICAgLy8gbGF5
ZXIgaXMgZnVydGhlciB1cCBpbiB0aGUgaGllcmFyY2h5LCB3ZSBuZWVkIHRvIGF2b2lkIG1hcmtp
bmcgdGhlIHJlbmRlciB2aWV3CisgICAgICAgICAgICAvLyBsYXllciBhcyBhIGNvbnRhaW5lci4K
KyAgICAgICAgICAgIGJvb2wgaXNDb250YWluZXIgPSBtX293bmluZ0xheWVyLT5oYXNUcmFuc2Zv
cm0oKSAmJiAhcmVuZGVyZXIoKS0+aXNSZW5kZXJWaWV3KCk7CiAgICAgICAgICAgICBzY3JvbGxp
bmdDb29yZGluYXRvci0+c2V0TGF5ZXJJc0NvbnRhaW5lckZvckZpeGVkUG9zaXRpb25MYXllcnMo
Y2hpbGRGb3JTdXBlcmxheWVycygpLCBpc0NvbnRhaW5lcik7CiAgICAgICAgIH0KICAgICB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>148091</attachid>
            <date>2012-06-18 06:46:30 -0700</date>
            <delta_ts>2012-06-18 08:09:17 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-89216-20120618144629.patch</filename>
            <type>text/plain</type>
            <size>57591</size>
            <attacher name="Sami Kyostila">skyostil</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIwNTkwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTY0NjIwMjIyNDk2ZjMw
ZDEyNWQzZWZhMWQwMDE1MzBlM2I4NmFhYy4uNmQ4ZDVhZGJmOWUyY2ZkNjlkODE3MjEzZGFlYmUy
M2NkNmUzOGNmYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU1IEBACisyMDEyLTA2LTE4ICBTYW1p
IEt5b3N0aWxhICA8c2t5b3N0aWxAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJlbmRlclZpZXcg
bGF5ZXIgaXMgbWFya2VkIGFzIGZpeGVkIHBvc2l0aW9uIGNvbnRhaW5lciBpZiBwYWdlIHNjYWxl
ICE9IDEKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg5
MjE2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVu
ZGVyIGxheWVycyB3aXRoIENTUyB0cmFuc2Zvcm1zIHNob3VsZCBiZWNvbWUgY29udGFpbmVycyBm
b3IgYW55IGZpeGVkCisgICAgICAgIHBvc2l0aW9uZWQgZGVzY2VuZGFudHMuIEhvd2V2ZXIsIGJl
Y2F1c2UgdGhpcyBjaGVjayBpcyBkb25lIHdpdGgKKyAgICAgICAgUmVuZGVyTGF5ZXI6Omhhc1Ry
YW5zZm9ybSgpLCB3ZSBhbHNvIGVuZCB1cCBtYXJraW5nIHRoZSBSZW5kZXJMYXllciBmb3IgdGhl
CisgICAgICAgIFJlbmRlclZpZXcgYXMgZml4ZWQgcG9zaXRpb24gY29udGFpbmVyIGlmIGEgbm9u
LWlkZW50aXR5IHBhZ2Ugc2NhbGUgZmFjdG9yIGlzCisgICAgICAgIHVzZWQuIFRoaXMgaXMgYmVj
YXVzZSBwYWdlIHNjYWxlIGlzIGFwcGxpZWQgYXMgYSB0cmFuc2Zvcm0gZm9yIHRoYXQgbGF5ZXIu
CisKKyAgICAgICAgVGhpcyBicmVha3MgZml4ZWQgcG9zaXRpb24gbGF5ZXJzLCBiZWNhdXNlIHRo
ZXkgYmVjb21lIGZpeGVkIHJlbGF0aXZlIHRvIHRoZQorICAgICAgICBSZW5kZXJWaWV3IGxheWVy
IGluc3RlYWQgb2Ygb3V0ZXIgc2Nyb2xsIGNsaXAgbGF5ZXIuCisKKyAgICAgICAgVGhlIGZpeCBp
cyB0byBhdm9pZCBtYXJraW5nIGFueSBSZW5kZXJWaWV3IGxheWVycyBhcyBmaXhlZCBwb3NpdGlv
biBjb250YWluZXJzLgorCisgICAgICAgIFRoaXMgcGF0Y2ggYWxzbyBhZGRzIGEgdGVzdGluZyBm
cmFtZXdvcmsgZm9yIFNjcm9sbGluZ0Nvb3JkaW5hdG9yLiBMYXlvdXQKKyAgICAgICAgdGVzdHMg
Y2FuIGNhbGwgdGVzdFJ1bm5lci5zY3JvbGxpbmdUcmVlQXNUZXh0KCkgdG8gcmV0cmlldmUgYSB0
ZXh0CisgICAgICAgIHJlcHJlc2VudGF0aW9uIG9mIHRoZSBzY3JvbGxpbmcgdHJlZSBvZiB0aGUg
Y3VycmVudCBwYWdlLiBUaGlzIGZlYXR1cmUgaXMKKyAgICAgICAgY3VycmVudGx5IG9ubHkgaW1w
bGVtZW50ZWQgZm9yIHRoZSBDaHJvbWl1bSBzY3JvbGxpbmcgY29vcmRpbmF0b3IgYmFjay1lbmQu
CisKKyAgICAgICAgVGVzdDogcGxhdGZvcm0vY2hyb21pdW0vY29tcG9zaXRpbmcvZml4ZWQtcG9z
aXRpb24tY29udGFpbmVyLXdpdGgtcGFnZS1zY2FsZS5odG1sCisKKyAgICAgICAgKiBwYWdlL0Zy
YW1lLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lOjpzY3JvbGxpbmdUcmVlQXNUZXh0KToK
KyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAqIHBhZ2UvRnJhbWUuaDoKKyAgICAgICAgKEZy
YW1lKToKKyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdDb29yZGluYXRvci5jcHA6
CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGluZ0Nvb3JkaW5h
dG9yOjpzY3JvbGxpbmdUcmVlQXNUZXh0KToKKyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9TY3Jv
bGxpbmdDb29yZGluYXRvci5oOgorICAgICAgICAoU2Nyb2xsaW5nQ29vcmRpbmF0b3IpOgorICAg
ICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ0Nvb3JkaW5hdG9yTm9uZS5jcHA6CisgICAg
ICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGluZ0Nvb3JkaW5hdG9yOjpz
Y3JvbGxpbmdUcmVlQXNUZXh0KToKKyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9jaHJvbWl1bS9T
Y3JvbGxpbmdDb29yZGluYXRvckNocm9taXVtLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OndyaXRl
SW5kZW50KToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6Ym9vbGVhbkFz
VGV4dCk6CisgICAgICAgIChXZWJDb3JlOjpkdW1wTGF5ZXJTY3JvbGxpbmdQcm9wZXJ0aWVzKToK
KyAgICAgICAgKFdlYkNvcmU6OmR1bXBMYXllcik6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxp
bmdDb29yZGluYXRvcjo6c2Nyb2xsaW5nVHJlZUFzVGV4dCk6CisgICAgICAgICogcGxhdGZvcm0v
Z3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJDaHJvbWl1bS5oOgorICAgICAgICAoV2ViQ29yZTo6TGF5
ZXJDaHJvbWl1bTo6c2hvdWxkU2Nyb2xsT25NYWluVGhyZWFkKToKKyAgICAgICAgKFdlYkNvcmU6
OkxheWVyQ2hyb21pdW06OmhhdmVXaGVlbEV2ZW50SGFuZGxlcnMpOgorICAgICAgICAoV2ViQ29y
ZTo6TGF5ZXJDaHJvbWl1bTo6bm9uRmFzdFNjcm9sbGFibGVSZWdpb24pOgorICAgICAgICAqIHJl
bmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
TGF5ZXJCYWNraW5nOjp1cGRhdGVHcmFwaGljc0xheWVyR2VvbWV0cnkpOgorCiAyMDEyLTA2LTE4
ICBBbGV4ZWkgRmlsaXBwb3YgIDxhbGV4ZWlmQGNocm9taXVtLm9yZz4KIAogICAgICAgICBXZWIg
SW5zcGVjdG9yOiBBZGQgaGVhcCBwcm9maWxlciBvd25lZCBtZW1vcnkgdG8gdGhlIHBpZSBjaGFy
dApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cgYi9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCAwMDkyNDk0NDQxODQ4MmI1NzhiODYzOGJi
MzhiN2VhMTdiNWYyMWMxLi44YTI5NmNhMjZjMmE0ZTdkYWJjNmFmYmFhYmQ4MzYyMDEyMjA3YTgw
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZworKysgYi9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDEyLTA2LTE4
ICBTYW1pIEt5b3N0aWxhICA8c2t5b3N0aWxAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJlbmRl
clZpZXcgbGF5ZXIgaXMgbWFya2VkIGFzIGZpeGVkIHBvc2l0aW9uIGNvbnRhaW5lciBpZiBwYWdl
IHNjYWxlICE9IDEKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTg5MjE2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgQWRkZWQgc2Nyb2xsaW5nVHJlZUFzVGV4dCgpIGZvciB0ZXN0aW5nIHRoZSBzY3JvbGxpbmcg
Y29vcmRpbmF0b3IuIEl0IHJldHVybnMKKyAgICAgICAgYSB0ZXh0IHJlcHJlc2VudGF0aW9uIG9m
IHRoZSBjdXJyZW50IHNjcm9sbGluZyB0cmVlLgorCisgICAgICAgICogcHVibGljL1dlYkZyYW1l
Lmg6CisgICAgICAgIChXZWJGcmFtZSk6CisgICAgICAgICogc3JjL1dlYkZyYW1lSW1wbC5jcHA6
CisgICAgICAgIChXZWJLaXQ6OldlYkZyYW1lSW1wbDo6c2Nyb2xsaW5nVHJlZUFzVGV4dCk6Cisg
ICAgICAgIChXZWJLaXQpOgorICAgICAgICAqIHNyYy9XZWJGcmFtZUltcGwuaDoKKyAgICAgICAg
KFdlYkZyYW1lSW1wbCk6CisKIDIwMTItMDYtMTggIEhpcm9ub3JpIEJvbm8gIDxoYm9ub0BjaHJv
bWl1bS5vcmc+CiAKICAgICAgICAgW2Nocm9taXVtXSBTcGVsbGNoZWNrZXIgc2hvdWxkIHNob3cg
c3VnZ2VzdGlvbnMgb25seSB3aGVuIHJpZ2h0LWNsaWNraW5nIGEgbWlzc3BlbGxlZCB3b3JkLgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0ZyYW1lLmNwcAppbmRleCA5MWQzMWUzYmZkMTQ3YTg5MGY3NmE3MzkwMDBkM2IwMDI1
MzRmOGI0Li5iY2E0NzhlOGI4ZjRjNWU4YmFjNzFjOTFiZWE5YzNmMjUwNzkxNzNjIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL0ZyYW1lLmNwcApAQCAtNzgsNiArNzgsNyBAQAogI2luY2x1ZGUgIlNjcmlwdENvbnRyb2xs
ZXIuaCIKICNpbmNsdWRlICJTY3JpcHRTb3VyY2VDb2RlLmgiCiAjaW5jbHVkZSAiU2NyaXB0VmFs
dWUuaCIKKyNpbmNsdWRlICJTY3JvbGxpbmdDb29yZGluYXRvci5oIgogI2luY2x1ZGUgIlNldHRp
bmdzLmgiCiAjaW5jbHVkZSAiU3R5bGVQcm9wZXJ0eVNldC5oIgogI2luY2x1ZGUgIlRleHRJdGVy
YXRvci5oIgpAQCAtOTA0LDYgKzkwNSwxNyBAQCBTdHJpbmcgRnJhbWU6OmxheWVyVHJlZUFzVGV4
dChib29sIHNob3dEZWJ1Z0luZm8pIGNvbnN0CiAjZW5kaWYKIH0KIAorU3RyaW5nIEZyYW1lOjpz
Y3JvbGxpbmdUcmVlQXNUZXh0KCkgY29uc3QKK3sKKyAgICBQYWdlKiBwYWdlID0gdGhpcy0+cGFn
ZSgpOworICAgIGlmICghcGFnZSkKKyAgICAgICAgcmV0dXJuIFN0cmluZygpOworICAgIFNjcm9s
bGluZ0Nvb3JkaW5hdG9yKiBzY3JvbGxpbmdDb29yZGluYXRvciA9IHBhZ2UtPnNjcm9sbGluZ0Nv
b3JkaW5hdG9yKCk7CisgICAgaWYgKCFzY3JvbGxpbmdDb29yZGluYXRvcikKKyAgICAgICAgcmV0
dXJuIFN0cmluZygpOworICAgIHJldHVybiBzY3JvbGxpbmdDb29yZGluYXRvci0+c2Nyb2xsaW5n
VHJlZUFzVGV4dCgpOworfQorCiB2b2lkIEZyYW1lOjpzZXRQYWdlWm9vbUZhY3RvcihmbG9hdCBm
YWN0b3IpCiB7CiAgICAgc2V0UGFnZUFuZFRleHRab29tRmFjdG9ycyhmYWN0b3IsIG1fdGV4dFpv
b21GYWN0b3IpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZS5oIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9GcmFtZS5oCmluZGV4IDc3YTczZDgwNzI1NzBiMGRiMjlkNzQ5Y2M5
MTc0MTdlNmI2OTEyODcuLmU2ZjExMTMzMGM5MDNhYjYxOTRkYTE1NDgxMzkwYjFlYzdlY2ExNDkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWUuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0ZyYW1lLmgKQEAgLTEyNCw2ICsxMjQsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAgICAgICAgIHZvaWQgaW5qZWN0VXNlclNjcmlwdHMoVXNlclNjcmlwdEluamVjdGlvblRpbWUp
OwogICAgICAgICAKICAgICAgICAgU3RyaW5nIGxheWVyVHJlZUFzVGV4dChib29sIHNob3dEZWJ1
Z0luZm8gPSBmYWxzZSkgY29uc3Q7CisgICAgICAgIFN0cmluZyBzY3JvbGxpbmdUcmVlQXNUZXh0
KCkgY29uc3Q7CiAKICAgICAgICAgLy8gVW5saWtlIG1vc3QgYWNjZXNzb3JzIGluIHRoaXMgY2xh
c3MsIGRvbVdpbmRvdygpIGFsd2F5cyBjcmVhdGVzIGEgbmV3IERPTVdpbmRvdyBpZiBtX2RvbVdp
bmRvdyBpcyBudWxsLgogICAgICAgICAvLyBDYWxsZXJzIHRoYXQgZG9uJ3QgbmVlZCBhIG5ldyBE
T01XaW5kb3cgdG8gYmUgY3JlYXRlZCBzaG91bGQgdXNlIGV4aXN0aW5nRE9NV2luZG93KCkuCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdDb29yZGlu
YXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdDb29yZGlu
YXRvci5jcHAKaW5kZXggNmQxZjJhNjBkMDU3MjM2YWQwYjY0ZDMxNzAxNDRiZjRjNDk0MzRkNi4u
Y2I4ZjMzYjhhZWZmMDcxMWYwZmE5ZDYyZDk1N2I3MWExYTFlNDE5YSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nQ29vcmRpbmF0b3IuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmNwcApA
QCAtNDY2LDYgKzQ2NiwxMiBAQCB2b2lkIFNjcm9sbGluZ0Nvb3JkaW5hdG9yOjpzZXRMYXllcklz
Rml4ZWRUb0NvbnRhaW5lckxheWVyKEdyYXBoaWNzTGF5ZXIqLCBib29sKQogewogICAgIC8vIEZJ
WE1FOiBJbXBsZW1lbnQhCiB9CisKK1N0cmluZyBTY3JvbGxpbmdDb29yZGluYXRvcjo6c2Nyb2xs
aW5nVHJlZUFzVGV4dCgpIGNvbnN0Cit7CisgICAgLy8gRklYTUU6IEltcGxlbWVudC4KKyAgICBy
ZXR1cm4gU3RyaW5nKCk7Cit9CiAjZW5kaWYgLy8gIUVOQUJMRShUSFJFQURFRF9TQ1JPTExJTkcp
CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L3Njcm9sbGluZy9TY3JvbGxpbmdDb29yZGluYXRvci5oCmluZGV4IDM1NjQ5YTkxZmZiOGU0Njgw
YmRmZGY1NTgzYjg4OGI3MzI1ZGVmMDEuLjVhNDhmYmQ5Y2EwZmQyMzE1NzIwOGRlMWI2MjE4ZjFh
MWY3YTJmN2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9s
bGluZ0Nvb3JkaW5hdG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Ny
b2xsaW5nQ29vcmRpbmF0b3IuaApAQCAtMTIzLDYgKzEyMywxMCBAQCBwdWJsaWM6CiAgICAgLy8g
QXR0YWNoL2RldGFjaCBsYXllciBwb3NpdGlvbiB0byBhbmNlc3RvciBmaXhlZCBwb3NpdGlvbiBj
b250YWluZXIuCiAgICAgdm9pZCBzZXRMYXllcklzRml4ZWRUb0NvbnRhaW5lckxheWVyKEdyYXBo
aWNzTGF5ZXIqLCBib29sKTsKIAorICAgIC8vIFJldHVybiBhIHRleHQgcmVwcmVzZW50YXRpb24g
b2YgdGhlIHNjcm9sbGluZyB0cmVlLiBVc2VkIHRvIHZlcmlmeSBzY3JvbGxpbmcgY29vcmRpbmF0
b3IKKyAgICAvLyBiZWhhdmlvciBpbiBsYXlvdXQgdGVzdHMuCisgICAgU3RyaW5nIHNjcm9sbGlu
Z1RyZWVBc1RleHQoKSBjb25zdDsKKwogcHJpdmF0ZToKICAgICBleHBsaWNpdCBTY3JvbGxpbmdD
b29yZGluYXRvcihQYWdlKik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Ny
b2xsaW5nL1Njcm9sbGluZ0Nvb3JkaW5hdG9yTm9uZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L3Njcm9sbGluZy9TY3JvbGxpbmdDb29yZGluYXRvck5vbmUuY3BwCmluZGV4IGYwYWNmZTBjYzNi
MTcxZDMzMTA0NzA0NjUwMDJlMGQyYTU3ZmQwOWMuLmQ4NDI1ZDg3MzUzZjVlOWM2ZWUzMGRjNmI2
ZmM2ZDgxNDgyZGQwYWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5n
L1Njcm9sbGluZ0Nvb3JkaW5hdG9yTm9uZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9z
Y3JvbGxpbmcvU2Nyb2xsaW5nQ29vcmRpbmF0b3JOb25lLmNwcApAQCAtODMsNiArODMsMTEgQEAg
dm9pZCBTY3JvbGxpbmdDb29yZGluYXRvcjo6c2V0TGF5ZXJJc0NvbnRhaW5lckZvckZpeGVkUG9z
aXRpb25MYXllcnMoR3JhcGhpY3NMYXkKIHZvaWQgU2Nyb2xsaW5nQ29vcmRpbmF0b3I6OnNldExh
eWVySXNGaXhlZFRvQ29udGFpbmVyTGF5ZXIoR3JhcGhpY3NMYXllciosIGJvb2wpCiB7CiB9CisK
K1N0cmluZyBTY3JvbGxpbmdDb29yZGluYXRvcjo6c2Nyb2xsaW5nVHJlZUFzVGV4dCgpIGNvbnN0
Cit7CisgICAgcmV0dXJuIFN0cmluZygpOworfQogI2VuZGlmIC8vICFFTkFCTEUoVEhSRUFERURf
U0NST0xMSU5HKQogCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGlu
Zy9jaHJvbWl1bS9TY3JvbGxpbmdDb29yZGluYXRvckNocm9taXVtLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2Uvc2Nyb2xsaW5nL2Nocm9taXVtL1Njcm9sbGluZ0Nvb3JkaW5hdG9yQ2hyb21pdW0u
Y3BwCmluZGV4IDBjM2IwYzMyOTRkODI4ZmIzNTA3YTM2NWM2N2IyMDU5MzkzMWIwODEuLjc4ODI3
ZDJhZGVmNWM3M2NkNTA2Mzk3ZjhlY2NkYzE5NzM4YTRjOGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL2Nocm9taXVtL1Njcm9sbGluZ0Nvb3JkaW5hdG9yQ2hyb21p
dW0uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL2Nocm9taXVtL1Njcm9s
bGluZ0Nvb3JkaW5hdG9yQ2hyb21pdW0uY3BwCkBAIC0zNSw2ICszNSw3IEBACiAjaW5jbHVkZSAi
UmVuZGVyVmlldy5oIgogI2luY2x1ZGUgIlNjcm9sbGJhckxheWVyQ2hyb21pdW0uaCIKICNpbmNs
dWRlICJTY3JvbGxiYXJUaGVtZS5oIgorI2luY2x1ZGUgIlRleHRTdHJlYW0uaCIKICNpbmNsdWRl
ICJjYy9DQ1Byb3h5LmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAgLTIwMSw0ICsyMDIsODYg
QEAgdm9pZCBTY3JvbGxpbmdDb29yZGluYXRvcjo6c2V0TGF5ZXJJc0ZpeGVkVG9Db250YWluZXJM
YXllcihHcmFwaGljc0xheWVyKiBsYXllciwKICAgICAgICAgcGxhdGZvcm1MYXllci0+c2V0Rml4
ZWRUb0NvbnRhaW5lckxheWVyKGVuYWJsZSk7CiB9CiAKK3N0YXRpYyB2b2lkIHdyaXRlSW5kZW50
KFRleHRTdHJlYW0mIHRleHRTdHJlYW0sIGludCBpbmRlbnQpCit7CisgICAgZm9yIChpbnQgaSA9
IDA7IGkgPCBpbmRlbnQ7ICsraSkKKyAgICAgICAgdGV4dFN0cmVhbSA8PCAiICAiOworfQorCitz
dGF0aWMgY29uc3QgY2hhciogYm9vbGVhbkFzVGV4dChib29sIHZhbHVlKQoreworICAgIHJldHVy
biB2YWx1ZSA/ICJ5ZXMiIDogIm5vIjsKK30KKworc3RhdGljIHZvaWQgZHVtcExheWVyU2Nyb2xs
aW5nUHJvcGVydGllcyhUZXh0U3RyZWFtJiB0ZXh0U3RyZWFtLCBjb25zdCBMYXllckNocm9taXVt
KiBsYXllciwgaW50IGluZGVudCkKK3sKKyAgICB3cml0ZUluZGVudCh0ZXh0U3RyZWFtLCBpbmRl
bnQpOworICAgIHRleHRTdHJlYW0gPDwgImxheWVyIElEOiAiIDw8IGxheWVyLT5pZCgpIDw8ICJc
biI7CisKKyAgICB3cml0ZUluZGVudCh0ZXh0U3RyZWFtLCBpbmRlbnQpOworICAgIHRleHRTdHJl
YW0gPDwgInNjcm9sbGFibGU6ICIgPDwgYm9vbGVhbkFzVGV4dChsYXllci0+c2Nyb2xsYWJsZSgp
KSA8PCAiXG4iOworCisgICAgaWYgKGxheWVyLT5zY3JvbGxhYmxlKCkpIHsKKyAgICAgICAgd3Jp
dGVJbmRlbnQodGV4dFN0cmVhbSwgaW5kZW50KTsKKyAgICAgICAgdGV4dFN0cmVhbSA8PCAic2Ny
b2xsUG9zaXRpb246ICIgPDwgbGF5ZXItPnNjcm9sbFBvc2l0aW9uKCkueCgpIDw8ICIsICIgPDwg
bGF5ZXItPnNjcm9sbFBvc2l0aW9uKCkueSgpIDw8ICJcbiI7CisKKyAgICAgICAgd3JpdGVJbmRl
bnQodGV4dFN0cmVhbSwgaW5kZW50KTsKKyAgICAgICAgdGV4dFN0cmVhbSA8PCAibWF4U2Nyb2xs
UG9zaXRpb246ICIgPDwgbGF5ZXItPm1heFNjcm9sbFBvc2l0aW9uKCkud2lkdGgoKSA8PCAiLCAi
IDw8IGxheWVyLT5tYXhTY3JvbGxQb3NpdGlvbigpLmhlaWdodCgpIDw8ICJcbiI7CisgICAgfQor
CisgICAgd3JpdGVJbmRlbnQodGV4dFN0cmVhbSwgaW5kZW50KTsKKyAgICB0ZXh0U3RyZWFtIDw8
ICJzaG91bGRTY3JvbGxPbk1haW5UaHJlYWQ6ICIgPDwgYm9vbGVhbkFzVGV4dChsYXllci0+c2hv
dWxkU2Nyb2xsT25NYWluVGhyZWFkKCkpIDw8ICJcbiI7CisKKyAgICB3cml0ZUluZGVudCh0ZXh0
U3RyZWFtLCBpbmRlbnQpOworICAgIHRleHRTdHJlYW0gPDwgImhhdmVXaGVlbEV2ZW50SGFuZGxl
cnM6ICIgPDwgYm9vbGVhbkFzVGV4dChsYXllci0+aGF2ZVdoZWVsRXZlbnRIYW5kbGVycygpKSA8
PCAiXG4iOworCisgICAgaWYgKCFsYXllci0+bm9uRmFzdFNjcm9sbGFibGVSZWdpb24oKS5pc0Vt
cHR5KCkpIHsKKyAgICAgICAgd3JpdGVJbmRlbnQodGV4dFN0cmVhbSwgaW5kZW50KTsKKyAgICAg
ICAgdGV4dFN0cmVhbSA8PCAibm9uRmFzdFNjcm9sbGFibGVSZWdpb246ICI7CisgICAgICAgIFZl
Y3RvcjxJbnRSZWN0PiByZWN0cyA9IGxheWVyLT5ub25GYXN0U2Nyb2xsYWJsZVJlZ2lvbigpLnJl
Y3RzKCk7CisgICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgcmVjdHMuc2l6ZSgpOyArK2kp
CisgICAgICAgICAgICB0ZXh0U3RyZWFtIDw8ICJbIiA8PCByZWN0c1tpXS54KCkgPDwgIiwgIiA8
PCByZWN0c1tpXS55KCkgPDwgIiwgIiA8PCByZWN0c1tpXS53aWR0aCgpIDw8ICIsICIgPDwgcmVj
dHNbaV0uaGVpZ2h0KCkgPDwgIl0gIjsKKyAgICAgICAgdGV4dFN0cmVhbSA8PCAiXG4iOworICAg
IH0KKworICAgIHdyaXRlSW5kZW50KHRleHRTdHJlYW0sIGluZGVudCk7CisgICAgdGV4dFN0cmVh
bSA8PCAiaXNDb250YWluZXJGb3JGaXhlZFBvc2l0aW9uTGF5ZXJzOiAiIDw8IGJvb2xlYW5Bc1Rl
eHQobGF5ZXItPmlzQ29udGFpbmVyRm9yRml4ZWRQb3NpdGlvbkxheWVycygpKSA8PCAiXG4iOwor
CisgICAgd3JpdGVJbmRlbnQodGV4dFN0cmVhbSwgaW5kZW50KTsKKyAgICB0ZXh0U3RyZWFtIDw8
ICJmaXhlZFRvQ29udGFpbmVyTGF5ZXI6ICIgPDwgYm9vbGVhbkFzVGV4dChsYXllci0+Zml4ZWRU
b0NvbnRhaW5lckxheWVyKCkpIDw8ICJcbiI7Cit9CisKK3N0YXRpYyB2b2lkIGR1bXBMYXllcihU
ZXh0U3RyZWFtJiB0ZXh0U3RyZWFtLCBjb25zdCBMYXllckNocm9taXVtKiBsYXllciwgaW50IGlu
ZGVudCkKK3sKKyAgICB3cml0ZUluZGVudCh0ZXh0U3RyZWFtLCBpbmRlbnQpOworICAgIHRleHRT
dHJlYW0gPDwgIkxheWVyQ2hyb21pdW1cbiI7CisgICAgZHVtcExheWVyU2Nyb2xsaW5nUHJvcGVy
dGllcyh0ZXh0U3RyZWFtLCBsYXllciwgaW5kZW50ICsgMik7CisKKyAgICBpZiAobGF5ZXItPnJl
cGxpY2FMYXllcigpKSB7CisgICAgICAgIHdyaXRlSW5kZW50KHRleHRTdHJlYW0sIGluZGVudCAr
IDIpOworICAgICAgICB0ZXh0U3RyZWFtIDw8ICJSZXBsaWNhOlxuIjsKKyAgICAgICAgZHVtcExh
eWVyKHRleHRTdHJlYW0sIGxheWVyLT5yZXBsaWNhTGF5ZXIoKSwgaW5kZW50ICsgMyk7CisgICAg
fQorCisgICAgaWYgKGxheWVyLT5tYXNrTGF5ZXIoKSkgeworICAgICAgICB3cml0ZUluZGVudCh0
ZXh0U3RyZWFtLCBpbmRlbnQgKyAyKTsKKyAgICAgICAgdGV4dFN0cmVhbSA8PCAiTWFzazpcbiI7
CisgICAgICAgIGR1bXBMYXllcih0ZXh0U3RyZWFtLCBsYXllci0+bWFza0xheWVyKCksIGluZGVu
dCArIDMpOworICAgIH0KKworICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbGF5ZXItPmNoaWxk
cmVuKCkuc2l6ZSgpOyArK2kpCisgICAgICAgIGR1bXBMYXllcih0ZXh0U3RyZWFtLCBsYXllci0+
Y2hpbGRyZW4oKVtpXS5nZXQoKSwgaW5kZW50ICsgMSk7Cit9CisKK1N0cmluZyBTY3JvbGxpbmdD
b29yZGluYXRvcjo6c2Nyb2xsaW5nVHJlZUFzVGV4dCgpIGNvbnN0Cit7CisgICAgTGF5ZXJDaHJv
bWl1bSogc2Nyb2xsTGF5ZXIgPSBtX3ByaXZhdGUtPnNjcm9sbExheWVyKCk7CisgICAgaWYgKCFz
Y3JvbGxMYXllcikKKyAgICAgICAgcmV0dXJuIFN0cmluZygpOworCisgICAgVGV4dFN0cmVhbSB0
ZXh0U3RyZWFtOworICAgIGR1bXBMYXllcih0ZXh0U3RyZWFtLCBzY3JvbGxMYXllci0+cm9vdExh
eWVyKCksIDApOworICAgIHJldHVybiB0ZXh0U3RyZWFtLnJlbGVhc2UoKTsKK30KKwogfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJD
aHJvbWl1bS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hyb21pdW0vTGF5
ZXJDaHJvbWl1bS5oCmluZGV4IDRhNWYxYWU3M2EwM2IyOWFlMzkxY2U0Y2MwMmI2MzBiMmE5OTI2
MzUuLmYwZTJkYWY2MGQzY2RmOTk4MWY4ODQ1YTMyZTI4NDAzYzdiMzAyZWEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xheWVyQ2hyb21pdW0u
aAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9jaHJvbWl1bS9MYXllckNo
cm9taXVtLmgKQEAgLTE2Niw5ICsxNjYsMTEgQEAgcHVibGljOgogICAgIHZvaWQgc2V0U2Nyb2xs
YWJsZShib29sKTsKICAgICBib29sIHNjcm9sbGFibGUoKSBjb25zdCB7IHJldHVybiBtX3Njcm9s
bGFibGU7IH0KICAgICB2b2lkIHNldFNob3VsZFNjcm9sbE9uTWFpblRocmVhZChib29sKTsKKyAg
ICBib29sIHNob3VsZFNjcm9sbE9uTWFpblRocmVhZCgpIGNvbnN0IHsgcmV0dXJuIG1fc2hvdWxk
U2Nyb2xsT25NYWluVGhyZWFkOyB9CiAgICAgdm9pZCBzZXRIYXZlV2hlZWxFdmVudEhhbmRsZXJz
KGJvb2wpOwotICAgIGNvbnN0IFJlZ2lvbiYgbm9uRmFzdFNjcm9sbGFibGVSZWdpb24oKSB7IHJl
dHVybiBtX25vbkZhc3RTY3JvbGxhYmxlUmVnaW9uOyB9CisgICAgYm9vbCBoYXZlV2hlZWxFdmVu
dEhhbmRsZXJzKCkgY29uc3QgeyByZXR1cm4gbV9oYXZlV2hlZWxFdmVudEhhbmRsZXJzOyB9CiAg
ICAgdm9pZCBzZXROb25GYXN0U2Nyb2xsYWJsZVJlZ2lvbihjb25zdCBSZWdpb24mKTsKKyAgICBj
b25zdCBSZWdpb24mIG5vbkZhc3RTY3JvbGxhYmxlUmVnaW9uKCkgY29uc3QgeyByZXR1cm4gbV9u
b25GYXN0U2Nyb2xsYWJsZVJlZ2lvbjsgfQogICAgIHZvaWQgc2V0Tm9uRmFzdFNjcm9sbGFibGVS
ZWdpb25DaGFuZ2VkKCkgeyBtX25vbkZhc3RTY3JvbGxhYmxlUmVnaW9uQ2hhbmdlZCA9IHRydWU7
IH0KICAgICB2b2lkIHNldExheWVyU2Nyb2xsRGVsZWdhdGUoTGF5ZXJDaHJvbWl1bVNjcm9sbERl
bGVnYXRlKiBsYXllclNjcm9sbERlbGVnYXRlKSB7IG1fbGF5ZXJTY3JvbGxEZWxlZ2F0ZSA9IGxh
eWVyU2Nyb2xsRGVsZWdhdGU7IH0KICAgICB2b2lkIHNjcm9sbEJ5KGNvbnN0IEludFNpemUmKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHAKaW5k
ZXggZWNkNGQ3MmFkOWNjZmM1MzEyYTgzY2EyMGMwMGZhZGVlOTkyNzk4ZC4uMzIzOTczMTI5NDc1
YzcxZTA4MzkxMjVlNmM5Y2RjMTJmNmNmZmIzNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHAKQEAgLTQ0OSw3ICs0NDksMTAgQEAgdm9pZCBS
ZW5kZXJMYXllckJhY2tpbmc6OnVwZGF0ZUdyYXBoaWNzTGF5ZXJHZW9tZXRyeSgpCiAgICAgICAg
ICAgICAgICAgICAgIHNjcm9sbGluZ0Nvb3JkaW5hdG9yLT5zZXRMYXllcklzRml4ZWRUb0NvbnRh
aW5lckxheWVyKG1fYW5jZXN0b3JDbGlwcGluZ0xheWVyLmdldCgpLCBmYWxzZSk7CiAgICAgICAg
ICAgICAgICAgc2Nyb2xsaW5nQ29vcmRpbmF0b3ItPnNldExheWVySXNGaXhlZFRvQ29udGFpbmVy
TGF5ZXIobV9ncmFwaGljc0xheWVyLmdldCgpLCBmYWxzZSk7CiAgICAgICAgICAgICB9Ci0gICAg
ICAgICAgICBib29sIGlzQ29udGFpbmVyID0gbV9vd25pbmdMYXllci0+aGFzVHJhbnNmb3JtKCk7
CisgICAgICAgICAgICAvLyBQYWdlIHNjYWxlIGlzIGFwcGxpZWQgYXMgYSB0cmFuc2Zvcm0gb24g
dGhlIHJlbmRlciB2aWV3IGxheWVyLiBCZWNhdXNlIHRoZSBzY3JvbGwKKyAgICAgICAgICAgIC8v
IGxheWVyIGlzIGZ1cnRoZXIgdXAgaW4gdGhlIGhpZXJhcmNoeSwgd2UgbmVlZCB0byBhdm9pZCBt
YXJraW5nIHRoZSByZW5kZXIgdmlldworICAgICAgICAgICAgLy8gbGF5ZXIgYXMgYSBjb250YWlu
ZXIuCisgICAgICAgICAgICBib29sIGlzQ29udGFpbmVyID0gbV9vd25pbmdMYXllci0+aGFzVHJh
bnNmb3JtKCkgJiYgIXJlbmRlcmVyKCktPmlzUmVuZGVyVmlldygpOwogICAgICAgICAgICAgc2Ny
b2xsaW5nQ29vcmRpbmF0b3ItPnNldExheWVySXNDb250YWluZXJGb3JGaXhlZFBvc2l0aW9uTGF5
ZXJzKGNoaWxkRm9yU3VwZXJsYXllcnMoKSwgaXNDb250YWluZXIpOwogICAgICAgICB9CiAgICAg
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViRnJhbWUuaCBi
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkZyYW1lLmgKaW5kZXggNWNkN2Y1ZjFl
ZGUwMmY5ODUxZDQ1ODMwMmNhZWIxNTkyYzMyYzA3Yi4uNjI3NjIxZDFiM2IyZGI1NjU0NDFlMWVh
ZjRlNDNjMDkzOGEzYjM4OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJs
aWMvV2ViRnJhbWUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJGcmFt
ZS5oCkBAIC02NDUsNiArNjQ1LDEwIEBAIHB1YmxpYzoKICAgICAvLyB0ZXh0IGZvcm0uIFRoaXMg
aXMgdXNlZCBvbmx5IGJ5IGxheW91dCB0ZXN0cy4KICAgICB2aXJ0dWFsIFdlYlN0cmluZyBsYXll
clRyZWVBc1RleHQoYm9vbCBzaG93RGVidWdJbmZvID0gZmFsc2UpIGNvbnN0ID0gMDsKIAorICAg
IC8vIER1bXBzIHRoZSBzY3JvbGxpbmcgdHJlZSwgdXNlZCBieSB0aGUgc2Nyb2xsaW5nIGNvb3Jk
aW5hdG9yLCBpbgorICAgIC8vIHRleHQgZm9ybS4gVGhpcyBpcyB1c2VkIG9ubHkgYnkgbGF5b3V0
IHRlc3RzLgorICAgIHZpcnR1YWwgV2ViU3RyaW5nIHNjcm9sbGluZ1RyZWVBc1RleHQoKSBjb25z
dCA9IDA7CisKIHByb3RlY3RlZDoKICAgICB+V2ViRnJhbWUoKSB7IH0KIH07CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJGcmFtZUltcGwuY3BwIGIvU291cmNlL1dl
YktpdC9jaHJvbWl1bS9zcmMvV2ViRnJhbWVJbXBsLmNwcAppbmRleCBlMmFmZWE2YTVkMjJkMzFl
NjlhM2VkZWIzZWZkM2FmMmY0NzQ5MzE5Li5lNmVmZWEzZTZmM2QxZGEzZGY0ZGM5ZmEzNzM1NzM3
YzJkZDczMjFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJGcmFt
ZUltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkZyYW1lSW1wbC5j
cHAKQEAgLTIwMzIsNiArMjAzMiwxMyBAQCBXZWJTdHJpbmcgV2ViRnJhbWVJbXBsOjpsYXllclRy
ZWVBc1RleHQoYm9vbCBzaG93RGVidWdJbmZvKSBjb25zdAogICAgIHJldHVybiBXZWJTdHJpbmco
bV9mcmFtZS0+bGF5ZXJUcmVlQXNUZXh0KHNob3dEZWJ1Z0luZm8pKTsKIH0KIAorV2ViU3RyaW5n
IFdlYkZyYW1lSW1wbDo6c2Nyb2xsaW5nVHJlZUFzVGV4dCgpIGNvbnN0Cit7CisgICAgaWYgKCFt
X2ZyYW1lKQorICAgICAgICByZXR1cm4gV2ViU3RyaW5nKCk7CisgICAgcmV0dXJuIFdlYlN0cmlu
ZyhtX2ZyYW1lLT5zY3JvbGxpbmdUcmVlQXNUZXh0KCkpOworfQorCiAvLyBXZWJGcmFtZUltcGwg
cHVibGljIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLQogCiBQYXNzUmVmUHRyPFdlYkZyYW1lSW1wbD4gV2ViRnJhbWVJbXBsOjpjcmVhdGUo
V2ViRnJhbWVDbGllbnQqIGNsaWVudCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vc3JjL1dlYkZyYW1lSW1wbC5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRnJh
bWVJbXBsLmgKaW5kZXggMzk5Mzc0NzFhMTE4MmVjMWMwYjE1MzJlYjhlMjUwMDMwMzllMjY1NS4u
NGFhMjk1YzRjMzM0N2M1MGY1MWRkNTM4OGUwYWIwYTlhODk4NWNhNiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRnJhbWVJbXBsLmgKKysrIGIvU291cmNlL1dlYktp
dC9jaHJvbWl1bS9zcmMvV2ViRnJhbWVJbXBsLmgKQEAgLTIzMSw2ICsyMzEsNyBAQCBwdWJsaWM6
CiAKICAgICB2aXJ0dWFsIGJvb2wgc2VsZWN0aW9uU3RhcnRIYXNTcGVsbGluZ01hcmtlckZvcihp
bnQgZnJvbSwgaW50IGxlbmd0aCkgY29uc3Q7CiAgICAgdmlydHVhbCBXZWJTdHJpbmcgbGF5ZXJU
cmVlQXNUZXh0KGJvb2wgc2hvd0RlYnVnSW5mbyA9IGZhbHNlKSBjb25zdDsKKyAgICB2aXJ0dWFs
IFdlYlN0cmluZyBzY3JvbGxpbmdUcmVlQXNUZXh0KCkgY29uc3QgT1ZFUlJJREU7CiAKICAgICBz
dGF0aWMgUGFzc1JlZlB0cjxXZWJGcmFtZUltcGw+IGNyZWF0ZShXZWJGcmFtZUNsaWVudCogY2xp
ZW50KTsKICAgICB2aXJ0dWFsIH5XZWJGcmFtZUltcGwoKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL0No
YW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBlMWU4NzdjYjE0MGFmMWRhMmI5OGU3NTA1
M2FiZDEzODhmYzNhMjczLi5hOGFmMjY4ZTI2NmUyMjgxMzBhNmRjOWM5YTU0OTcyMjg4MDc4NTcy
IDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTkgQEAKKzIwMTItMDYtMTggIFNhbWkgS3lvc3RpbGEgIDxza3lvc3RpbEBjaHJvbWl1
bS5vcmc+CisKKyAgICAgICAgUmVuZGVyVmlldyBsYXllciBpcyBtYXJrZWQgYXMgZml4ZWQgcG9z
aXRpb24gY29udGFpbmVyIGlmIHBhZ2Ugc2NhbGUgIT0gMQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODkyMTYKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRlZCBzY3JvbGxpbmdUcmVlQXNUZXh0KCkgZm9y
IHRlc3RpbmcgdGhlIHNjcm9sbGluZyBjb29yZGluYXRvci4gSXQgcmV0dXJucworICAgICAgICBh
IHRleHQgcmVwcmVzZW50YXRpb24gb2YgdGhlIGN1cnJlbnQgc2Nyb2xsaW5nIHRyZWUuCisKKyAg
ICAgICAgKiBEdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9MYXlvdXRUZXN0Q29udHJvbGxlci5jcHA6
CisgICAgICAgIChMYXlvdXRUZXN0Q29udHJvbGxlcjo6TGF5b3V0VGVzdENvbnRyb2xsZXIpOgor
ICAgICAgICAoTGF5b3V0VGVzdENvbnRyb2xsZXI6OnNjcm9sbGluZ1RyZWVBc1RleHQpOgorICAg
ICAgICAqIER1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0xheW91dFRlc3RDb250cm9sbGVyLmg6Cisg
ICAgICAgIChMYXlvdXRUZXN0Q29udHJvbGxlcik6CisKIDIwMTItMDYtMTggIE1hcmlvIFNhbmNo
ZXogUHJhZGEgIDxtc2FuY2hlekBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtHVEtdIEdldCByaWQg
b2YgRHVtcFJlbmRlclRyZWVTdXBwb3J0R3RrOjp7aW58ZGV9Y3JlbWVudEFjY2Vzc2liaWxpdHlW
YWx1ZQpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vTGF5b3V0VGVz
dENvbnRyb2xsZXIuY3BwIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vTGF5b3V0VGVz
dENvbnRyb2xsZXIuY3BwCmluZGV4IDFmNjRkNjVhZmRkYmU4M2I1ZDFmZmI1ZWY4Y2MxMTk3NWMx
ODFmZmIuLjAyZjVhOTgzODY1N2Q4MDVlMmI2MGUzMDQ4YWE5OTA3NjRiYTM1NDEgMTAwNjQ0Ci0t
LSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0xheW91dFRlc3RDb250cm9sbGVyLmNw
cAorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9MYXlvdXRUZXN0Q29udHJvbGxl
ci5jcHAKQEAgLTE4Niw2ICsxODYsNyBAQCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6TGF5b3V0VGVz
dENvbnRyb2xsZXIoVGVzdFNoZWxsKiBzaGVsbCkKICAgICBiaW5kTWV0aG9kKCJyZW1vdmVPcmln
aW5BY2Nlc3NXaGl0ZWxpc3RFbnRyeSIsICZMYXlvdXRUZXN0Q29udHJvbGxlcjo6cmVtb3ZlT3Jp
Z2luQWNjZXNzV2hpdGVsaXN0RW50cnkpOwogICAgIGJpbmRNZXRob2QoInJlcGFpbnRTd2VlcEhv
cml6b250YWxseSIsICZMYXlvdXRUZXN0Q29udHJvbGxlcjo6cmVwYWludFN3ZWVwSG9yaXpvbnRh
bGx5KTsKICAgICBiaW5kTWV0aG9kKCJyZXNldFBhZ2VWaXNpYmlsaXR5IiwgJkxheW91dFRlc3RD
b250cm9sbGVyOjpyZXNldFBhZ2VWaXNpYmlsaXR5KTsKKyAgICBiaW5kTWV0aG9kKCJzY3JvbGxp
bmdUcmVlQXNUZXh0IiwgJkxheW91dFRlc3RDb250cm9sbGVyOjpzY3JvbGxpbmdUcmVlQXNUZXh0
KTsKICAgICBiaW5kTWV0aG9kKCJzZXRBY2NlcHRzRWRpdGluZyIsICZMYXlvdXRUZXN0Q29udHJv
bGxlcjo6c2V0QWNjZXB0c0VkaXRpbmcpOwogICAgIGJpbmRNZXRob2QoInNldEFsbG93RGlzcGxh
eU9mSW5zZWN1cmVDb250ZW50IiwgJkxheW91dFRlc3RDb250cm9sbGVyOjpzZXRBbGxvd0Rpc3Bs
YXlPZkluc2VjdXJlQ29udGVudCk7CiAgICAgYmluZE1ldGhvZCgic2V0QWxsb3dGaWxlQWNjZXNz
RnJvbUZpbGVVUkxzIiwgJkxheW91dFRlc3RDb250cm9sbGVyOjpzZXRBbGxvd0ZpbGVBY2Nlc3NG
cm9tRmlsZVVSTHMpOwpAQCAtMTk5Myw2ICsxOTk0LDExIEBAIHZvaWQgTGF5b3V0VGVzdENvbnRy
b2xsZXI6OmxheWVyVHJlZUFzVGV4dChjb25zdCBDcHBBcmd1bWVudExpc3QmIGFyZ3MsIENwcFZh
cmlhCiAgICAgcmVzdWx0LT5zZXQobV9zaGVsbC0+d2ViVmlldygpLT5tYWluRnJhbWUoKS0+bGF5
ZXJUcmVlQXNUZXh0KG1fc2hvd0RlYnVnTGF5ZXJUcmVlKS51dGY4KCkpOwogfQogCit2b2lkIExh
eW91dFRlc3RDb250cm9sbGVyOjpzY3JvbGxpbmdUcmVlQXNUZXh0KGNvbnN0IENwcEFyZ3VtZW50
TGlzdCYgYXJncywgQ3BwVmFyaWFudCogcmVzdWx0KQoreworICAgIHJlc3VsdC0+c2V0KG1fc2hl
bGwtPndlYlZpZXcoKS0+bWFpbkZyYW1lKCktPnNjcm9sbGluZ1RyZWVBc1RleHQoKS51dGY4KCkp
OworfQorCiB2b2lkIExheW91dFRlc3RDb250cm9sbGVyOjpsb3NlQ29tcG9zaXRvckNvbnRleHQo
Y29uc3QgQ3BwQXJndW1lbnRMaXN0JiBhcmdzLCBDcHBWYXJpYW50KikKIHsKICAgICBpbnQgbnVt
VGltZXM7CmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9MYXlvdXRU
ZXN0Q29udHJvbGxlci5oIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vTGF5b3V0VGVz
dENvbnRyb2xsZXIuaAppbmRleCA1YTg3MjkzODg4N2EyYjIxMTYxMGI4YzZjNjUxYmUxYjZlYTlh
NTViLi44N2UwODQzNjU5OTk5YWE5ZjUxMTI1ZGRhYWU4OWFlNGNlZTE3NTYxIDEwMDY0NAotLS0g
YS9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJvbWl1bS9MYXlvdXRUZXN0Q29udHJvbGxlci5oCisr
KyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0xheW91dFRlc3RDb250cm9sbGVyLmgK
QEAgLTM3OSw2ICszNzksNyBAQCBwdWJsaWM6CiAgICAgdm9pZCBzdGFydFNwZWVjaElucHV0KGNv
bnN0IENwcEFyZ3VtZW50TGlzdCYsIENwcFZhcmlhbnQqKTsKIAogICAgIHZvaWQgbGF5ZXJUcmVl
QXNUZXh0KGNvbnN0IENwcEFyZ3VtZW50TGlzdCYgYXJncywgQ3BwVmFyaWFudCogcmVzdWx0KTsK
KyAgICB2b2lkIHNjcm9sbGluZ1RyZWVBc1RleHQoY29uc3QgQ3BwQXJndW1lbnRMaXN0JiBhcmdz
LCBDcHBWYXJpYW50KiByZXN1bHQpOwogCiAgICAgdm9pZCBsb3NlQ29tcG9zaXRvckNvbnRleHQo
Y29uc3QgQ3BwQXJndW1lbnRMaXN0JiBhcmdzLCBDcHBWYXJpYW50KiByZXN1bHQpOwogCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5k
ZXggMmI4OTQ0ODg3YmNlOWVmMGJiZmMyNzFkY2NmYTQ5NjFkMzdjYjc1Mi4uYTNlNTljMDM4ZTg5
ZGMzY2JjZDFlZDM4YTE0YjI4NmYxODE5NmI2YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3IEBACisyMDEy
LTA2LTE4ICBTYW1pIEt5b3N0aWxhICA8c2t5b3N0aWxAY2hyb21pdW0ub3JnPgorCisgICAgICAg
IFJlbmRlclZpZXcgbGF5ZXIgaXMgbWFya2VkIGFzIGZpeGVkIHBvc2l0aW9uIGNvbnRhaW5lciBp
ZiBwYWdlIHNjYWxlICE9IDEKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTg5MjE2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgQWRkZWQgdGVzdCB0byB2ZXJpZnkgdGhhdCB0aGUgcmVuZGVyIHZpZXcgbGF5ZXIg
ZG9lc24ndCBiZWNvbWUgYSBmaXhlZAorICAgICAgICBwb3NpdGlvbiBjb250YWluZXIgd2hlbiB0
aGUgcGFnZSBpcyBzY2FsZWQuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9jb21wb3Np
dGluZy9maXhlZC1wb3NpdGlvbi1jb250YWluZXItd2l0aC1wYWdlLXNjYWxlLWV4cGVjdGVkLnBu
ZzogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vY29tcG9zaXRpbmcvZml4ZWQt
cG9zaXRpb24tY29udGFpbmVyLXdpdGgtcGFnZS1zY2FsZS1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVtL2NvbXBvc2l0aW5nL2ZpeGVkLXBvc2l0aW9uLWNv
bnRhaW5lci13aXRoLXBhZ2Utc2NhbGUuaHRtbDogQWRkZWQuCisKIDIwMTItMDYtMTggIErDoW5v
cyBCYWRpY3MgIDxqYmFkaWNzQGluZi51LXN6ZWdlZC5odT4KIAogICAgICAgICBbUXRdIEdhcmRl
bmluZyBhZnRlciByMTIwMzExLiBJdCBtYWRlIGluc3BlY3Rvci9leHRlbnNpb25zL2V4dGVuc2lv
bnMtcGFuZWwuaHRtbCBmbGFrZXkuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9j
aHJvbWl1bS9jb21wb3NpdGluZy9maXhlZC1wb3NpdGlvbi1jb250YWluZXItd2l0aC1wYWdlLXNj
YWxlLWV4cGVjdGVkLnBuZyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2NvbXBvc2l0
aW5nL2ZpeGVkLXBvc2l0aW9uLWNvbnRhaW5lci13aXRoLXBhZ2Utc2NhbGUtZXhwZWN0ZWQucG5n
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjk2YTI0NTUwYjEyZjI2NGRlYzY5NGU3OTlkNjFhZDZlZTAxMGJlNzAKR0lU
IGJpbmFyeSBwYXRjaApsaXRlcmFsIDMzMzg5CnpjbWVGWmN7ckFCYCEzdjUmbSl5MjJ9d3lzR002
RDQ+eThHNUI9ZUxhUV4tODRobTw2aDVKRWBFbHNSKUhpOTAwMgp6b2xIcWNMZ3drbCtBbHBsQEI0
ZHlAQXwmPXRAVWtkYCl6QW17aUFYWipMN2EhY152eihAQjQ4Q3NIcSVWem17JDcKemlXTXU/cEV4
ZUJ6R0I2eTlWPUY+KVRVakR8SmxzNmNAS1c8YnlVIUhKWkVsdCZkUn4qOyk/d3lWJmVQSE9OYnMy
Cno1dGxlMURrZ2toVHYpPFB7RzYlQ2QwfXhlbExLYndJMFJAYHRrfCpRZyMyTCoqOVlHX0UtSWcl
P3ZuZHFZckVJdwp6ViZRMz9kLUUmcDQ+WVgqdDsqPEokJTd4S3tVYlApIW9GQUE0QEdQISo9YGBL
cig5eF5AenJ+U3M3eyNhaFd1QzcKelg0Wm5gZCshOzwzcGVSSnl1TEMkZX1jdzVFP0huKDs9VE4m
cUB+cSslNUNlT293flI2UjlFSXxyR3dzZXtxcVlrCno1aV87ajRfeTllRnUjV0BVLTVpeVc3KVNn
I05TRlJwMXZVTk4mQ1ZGPEtPVHpPfm0+c0AmN0diI0k9Y15nTEdUQAp6QCNDX1N8OVdRcGRAaVkx
em4tfjVfe3lRbjREcG5+MUBFUEcoZXEhYkgoamc5eClubWEtfVRJNXspXyFsd01uWTYKemBFNWgo
IUZQYFBveFB2ZkZRM3FHZTBUUU8+eTsqaj92dmshKzZzajlwV1ZLRGNtS1k5OHxpM1JuKGRZbld3
IVhBCnojb2coVXU1MGp5Ui1hZEBgYkAjY3R0ZXJCTWRjNz50SWFTZHdzJnc/IStHVjwhe1RCT1hY
cEhrMz4hMUUqWEUrKQp6VnEoISFFKlhWfHQ9OGc3eVlJZXpgPDY8ajJDQGlRaWJtZU5kOSQjdnUm
PlhJYm99RFFwXiFiUUFLVGdqMHxVP1MKem8tczdzb187RXxkM3Z9YjxvTkVre0VObGozK2B2biN4
KU0kP2I2OzxTNT8odVFlMUxvWDFVd0FuWSs2ckloIzRxCnopWWJLVk9LeHMlJD0hOW88R095dGhi
P1c2ZHRyUzR7KGFpM0J0TTMwNntrKn07dFoqTntyZEdTNG1udzI7VD9DNQp6KHtrRHI9KjZqTm9I
PikxbzcrVThUJnAtYysmKGtvTjstYnokZFBtQjUtUGVzUUthMWB6SkFDJGNrQ0FYc0g9Mm4Kelh6
MG40Q3BUfjJZK3RDKSE/YSE2Xj4jN2U7fEJBY2NhSDFtTTV5dDZwOyo3NEJvOytHckBWdCQ8VztM
eW5QaCNpCno3OWFWTHdNI34oISgyMntgRWdgcVdPakNUZXQhT0BKdF88JmVyNj9tYCltemZDJl81
cz81NEY+SipKMSNwRkFuQAp6b1Y5bSRvfXlBcTQoLXNeKjFqR2JkPn0lWjh1e20rZUA7ekotTWBP
VHNQOEA0bEskPFJXbTRsXyNzSihDdUVraUMKej9GP19JViZiPWZmdm1QNj0wR2wxeTchUyt1VTw5
dnhraWc/ZGZINElHaXE5SVF5X0tscHcxMmsyMnpAKSllWig4CnpLRTdSayFnTH1CNGtUJnR2TlVI
cEpgaUgzemdFJXg/QWZ5bU8qNVhkNXo0UFNfTj5DJlU1Qkt0ZD0qLVVvUEEkQgp6WSVzP0k9WUM3
PCZyZjt6UG5Je3tpblB2MWA9e0Ryck9yYzxaOXw1Y3QhYWp+d2omK0lFKGQoe0B3Jl9YeGBXJSYK
ekBVI35mN1o+S0lIPDdTcnFITFEzRCs0WCM4K2dkc0pNVWNnQCQ8K0g+PX5ieGwjKThoLU1BOyNs
YWNtIVR8R1RNCnpLRTYkeEhWcUNBaEhxOyElVFkqWnohTSFFOXNUKDZXOFBhMWU2biN6Sy10WGF6
YE8/PllwLShlKzJpMmd1PEZZNQp6cHNmZEpSPEdXP3coYFJWWjVKMXAhLXJxQT0zRUV+Ml5uY0dK
ZVF9dDtPKFFZLSMkQ3VaeS1ve2AmTDsraDVqUHIKenJjRUtDcDxFMkt5bks4O3BGZ3d1JndsZFY7
RDdCfTtFZnlqQ1JfJX5RMTBGM0tnM2hOYkxZO3pkJTBuPSNLTlElCnpTR3EoUXZkSkF0ZWY7PmZT
PGE8R296bHxNPmdzQWdoSnJTT0dzS19mNDxEWElgblJYJjtXP1FPO3UzYStsZ0chJAp6RE9RVmtg
LSh4K2xsOF9ZUmFLNDN5LU4hVURBd1leIU5FeU1OdmxgPjdFJiF3eU8pbnxlcXAqeE5tMjFoWVUm
Pj0KejQ9WEF2cztlYEcyUDhJSWRkWUg+MmlOIWEldD1KNlQmcm00PmhjLS1uRF4/SEpuOHRjVl53
bFh2LUp1KyZNcSN+CnpsYW5WXlJBZ08kN3o+UUEjQEJ0STloX3pFNCh1fmFyPlBMYHd2IU1TY1Bg
fjdwNSlWcDdSU3xBeEd5RmY3dD98Xgp6NHB+cDBQe3FPP2xkUEZ1WFJZP2E0K2UtSCZqPGZGXyVy
SFElWndQeXUqZTstTn5CQVZpUD5KJT97VzJAOSZ0TkQKejd0Xj0kaG5hNWlrQ1hHU0lKKzJZdWF7
XnBUR0xFPl5gK1BSKWNXPTcxP0g0IzFMU3c9cEE9QGppNjV+RlYlU1pMCnowbiNwdEZOfC11alEx
bDN1WHVXfWd7a3E9cWBTfDtCeFBkNEYtMWRIUzloKzghLXQxeVpCcFpHISFadG42NHo0Kwp6NGQ+
NkZQajNFKDE5TXtjLUhVRGNYU0I0MCtWKEtlST1aO2oqVlZOJkgqWH1CJT99c2Z5aCNfSz9FTEJa
WkBNRFYKeigkP1pwVCNQNW8lKl5tdV56Xz1XNklHKW5EQFBJPDJpKUQ9djk/Vz9kODliaztiKzkx
WSgwQiZFQntxZTdDemNvCnpTWClpKUEhU2ZjU0NeTGEmVDt3T2oxNDhKd3tHMSFTOU5QNkRPWXok
KFE5VWx1SFdzUnMkZjIqOHchJitfTSluUgp6WH01enpCTz1ecGVzcXRHKns1cGArODQlMTNGMzJ+
QUp1TjhOektVLTtwUlJuNyVtbEVII1JvTHI8TCgyRGUyaEcKekowJkcweFM9JnlVelUxSUdjeiZl
NzhFI2BIYTBmO0VZMm9YcFJhbFFfOHolK0xMQHhTUkZuOzhxYG16P01LPSEqCnomK1gmOHNkRVNo
ZnQ3YjNKYX05Qjs2cD5oU3olVXs4MHFUUjtBWUU3X2ZpV0IzKGVIWWNYM0E/K3I8bnhhU2ZNUQp6
YSQ1PiRTKHVxZ2FTUjBrWElXcDVPY1Bmd2g3R3xeVXNZS3RsZHdWVjJwP20+JSkoO2cpP01CKUV0
WD9obmoqX3IKelV2eHk3KiFJc1ErblZrWjU5QE5saT12QjlDKWBXQk10cSFXLXxPPipsUGtTayZQ
dVF3QjU/STsqU34yclZkWjleCnpQNG9WIThZQTV1bFYoKEgqXjxYKHo9RjR5VCRNTlM5SWUhP3lQ
elleNz1TSDs1SVg5THFnWkxPWmBRPnVSQmZoVQp6e2V3ZTApS1dCamVTSHgtezIyVnRlKHZlUDRY
TE07QVdkTyE3I1NIVURFel4+bzFII1RleTYoJExKSUJneHFIZXQKekVSQkV0YFpabXo7UEs8ZmBo
ckB7JmY9V0FTP08rNmVzPGB1K2VwR1U7OTdfJGdSUG0oZjhjPXNTdzlrfG1yN3UyCnp4I1BneVgz
R1VpYEoma1Z7cHpQcXkpZEgwJiVUcElsSSNsNig+aTskVFNSYyVmZmh2eWZqYlAxMkUlK3FWYElC
SQp6SX1QPnEpNmBTJERSUnw1OUdoUGw3I1FGdT4rKipeZSQ0R1l7Tn5NQHVVfm04Z21aRm9fe3B5
O0UwSURqYzluSlgKeitMdD1VdzdodzkrYCZQRl5HaSlBQTV9Ukcrb1loKTN2bkc2WjZ+MkRRbFA8
bT0yeFFZciU7LWs2Qjg1bmhBUF9aCnpJISp9PDQ/b3IpYV9ecUpMbV9zcGQ0MmlmVHdxMlohPUVM
MU0zKVFSNzQ7ZiNCKGJydjtkanFHUEtvK0hESmZ8bQp6b0QyJk9aP2hJKEVJZkRhOUViTXxDK0RO
UUpUWHFyeFJqSj9iNVU4KDhEWFppeEYrVWwjK31ud1ZnblJ0YVcwKlUKenFwMzB1aGBAdU5VaWk5
PGJhTUlCempOPThjSW9UdXF2Z1p7IVM2R3lgczw8e1d4SVRxV05MZHFQZnhmP0l+eDQlCnpXYE9t
dk8+YG9eRnd0Pjdkek1wSHcpNmFjRileX1FJXklPfSoyY3pqMSNKUyU+Kk9la2lSdzt7amBCUDJU
KUE/Xgp6VD1hPD1qfHJ+cismS2hZTHJLLXRYVX1FfHkxWVpreT9naVcjcXUyNWZ5OUYtU1UmZlNG
VS1gVVB0KHY0REpIWVEKelRxOHc4Rmcmbmo2UkRgRT07cU8kNyNXVz1PK0pKMCMoX3VVLVRuNVg0
a2RgYDE0WHlDTmpXZGZJZWw/TDk0b29sCnpCQzxMI0lRRFN3YDBWLXA1JU4yQUcoX2EmZ3FZVHY/
JSU/Pm5gIU1JekFxMyt2LTczWGpmR2sxdVdlI3ZqNSQ/Tgp6LT4kcFBUYWN4RWtCYEJkS3xuSXNi
KTJpJDtYYUx7eUtCWXBeUmlSXjxNbDBNUX5DNzhfUVhQK3R3SDM+a0pMLX0KendvZk9zQUZ0T2BS
SUleZzNiVElrTSU8JlQ7MX1xemtEPXU+QH01bjZWZjw3I3tYKlM/Nk4td1RXMGtDQ1Z5fXxBCnol
ZT8wT3tyemI8JWE8MUNETW1pJiY2WXcyTVkteGVeaDIka29wb09DMXt9KyZWfVo0MV5MPGdhVlJh
IWJCNkpscAp6dTV9elA3Q3l0WW9QTVVRcmola0BwUDx3ZmcjNjJ0aj55aVB5R3cyK2ZCdEx8YEEx
Xm96ISFUcll+QH5aY3JnMXgKeihzPXhoemAoLXJOI35KSDBqOU1CZyhnfHxUYU5FJG9HWDB0PE9h
UWxoUWBGaUs7d3JHQU1uVXllSFB0WDd2dDJmCnpfYkZCUGorSz9rVU9BKzhgZ0QlaHl6fXQzKlQ4
YXpie3kmLWFGbnp0KSNtVCgqRSZeRVFJWUg4P0pabVQ7ekBHeQp6ISE1P0U+RGRvO1pwSzJYU3Q7
NjJ5TytBVHgjaXtNRWk1Y0IyQXA/eWszN3FJPCZmUmljWDlZKkVjfklWJCNKfnoKejxaeUpFb3k2
TzBld0dHN3JuUlJ9cEJeYUdPYnU8aHVncERuUCk8JmNYKVE3dnVGSmpERmlTZzRnViVJX1l3PGB+
Cnp2R28hRlc/RVg+YmVFNWhvIXlWcD5DVys0JiFDezd7U2h+JVQmaXd1USVPM0ZgMFp3OVlURHFR
TiU1SFkrVks5cAp6ZFNJb3h1QzhLTHZ0P2Vja0E9bFJkJUhlPmdvPXVhdmh2JWVDSmkxWVVWZVYl
NkRNI2FDTVBHQWdmPFMxSTJVOF8KeilITzZqTU1XcFJgPz10QFRzelZTPSRZa3FEUlBIMkBGeFQy
VmJ1bChFREg3Tz5IfCQhMFMkVjtkX2k8d0VYMXxzCnphYFcqOGRpVjdrMDJCfUZOMl5TP1VXZ1RG
aTtXZGhwZEZweyMwfjlXYTRqez1xKHNIVUVQaWQrNihDUlEtP0h8cQp6eHREPiN3JVNhYmZ4KTRu
LXEqZDt7ciQjUkBXfGhRS193KzZaQGNffiVYbHooKD9XWiUoVCFNXkpWeChZJVdxbloKenY4Rm5+
UlV3ZylNS3h8PzxFZmdCdjlaN1RtKzt9RzR7IVN0P3w1NEc+dHs+UjMtX0B2MFR0Y2E/aG5yMUtl
WGQlCnpuR0EpQEpNUiNvWlN9cGQhM3VsJXZWYn1BZHkwbDRoaS1oSzhncFJweDh+RlcrcGFSWj92
Ki1zbXZUanVaY3ReUwp6Wmdob0VXc1hAfFk7VF5LblRaZyZmRDgkKzZARHd2eDtCMjFzYHhTMSVt
Z3F4VEdtVDl3Yj8jcmA4R3k5I3dlOT8KelcjNjVJZjBaVW1uSDdvLTNDQyEmaURhRHJOVVQheURT
dW1RPiVqUHx5fWY7ajtSdj1iaG4lO3h0bkF7PFhpdmhpCno7SipJO0BiR1h8NiV9VkVDIy01Rld6
Ykgtbj50JDYrUys8KDJMdFd6czRaNHFJYj47UkRhdXhRc3Bze2xQWSszUAp6JEIhUj5EQn5vI0Uh
fTVzVmdPWjJucjNSKE5OYH1GbCtSKWJ4aT5OKkF8KS0yZWFuXjskQiZ5XlNYYDJmYzEtajAKel5F
MClRLT8/JGZSKyFhJFpYaFdsQkh+IV5fQ0lfTmY5JmNSe3B1KmBge0kqeEZ+RipxdGtJRHB6Sns1
cV89YmdeCnpvfUt9QjJZWSpTKXVgSHw2c31Pa2ZsSXw1eEt8emxmeXI0PHtyI0ZkNyM+cDJUM2U/
VDdaKlEjYDAwQ1Y0KTd5Ngp6IXlyIVctTjcldHkqTVIjYFQyczFmdUQ+anUzcjVeQCowWER2QmhU
TVhAc1UoX3lWK009ajgwKz0wXlFCVGNgJUsKelArM3smJEI/NCZxO1gob1IrWmVSZiNyeGluVyZq
K3E1NmAxaGklKDcxTSVQKzQ0Pl5KdSNpb2JWbT9TYlcyUk8hCno0a303WVE0YnpDTj05P3xRMXs3
PSlieCEwNVhuTWEqRWl8RFZZe0AxZ3Y5YXJAWCprUE51O091RigqIShhNVNLMQp6WCVeOT0jTlpB
fE5sdCFhRWN+eyV3cWZ3OCRGeG1nPHhiezZCXypaI2BUMEFRKmtlRH5iV1lRXkFZY0NxKmpOJSMK
em1NMmYxZD5pV307fFQhe3xNQUJrcUR2TnU0fHMjQ2pedzFebEZVXkZyPW5Caz5eP291Y0dEME01
dXgjb09HfkBTCnpAUkd3U2shfHJvdmBSbWcwWVNaTlZYNiZhPkhRKX4yczR4QkNaY018KH5aNz18
SUo4T1l3TDtDY2dlbEU3ZnprcAp6WHJOX2cjd31DIXA0ZWRrWCE+Q2JjPUw+b2lLKGdTI2Z1bUJz
NjUhPXc8OGVve0Y3TEElKWElM19IcExVT15VT3MKeilDVyZPdnJ9ZD9MeFNfZCgpTX5VaDM/T3FT
KHFJKHVyTHNrSmgxNDUkYzw5RmpiLVEweEJraFZDUXhIanUkN0pgCno9eDlRTngjMSpIYCtUWjJ7
X0M4enVyKUZTOXJiV2BBTVBxd1o0b2xFPGh4KnckR0FlODYxbS1lazYtKDxPWG55Vgp6MjAjKUZK
M3wlMnl7X31KMSFlT0NoUF4ydFBlZVU0S1I1VHgpP0plfjZwe0V+YDFvJC1LbWxnKnlMVzBOKHdg
MEgKeih3OUV9RT5vQWNtZDFEQXpJfWVUUTc4S1EoK25IJFcoK3UqcGtFdCpAU1hjMmBgNUlpJEJ5
flRiWUR9SVRlIzxPCno/b1FXKiNNI0RPXzFeazc8cGgwKllVR0V3Y0IzNUN5TEBUNXFxeTdkU3l+
I3V4SHU/X1Z7dkxJa0dJbktYSmxsJgp6ZGBhPkBpdyMkNm1MdEVqOGktVWVGKER5PXVIdFE3OXF2
al9LO1VHRzI3PmEocHtjKS1kMTElIVVxIXlhbDd2ZlkKeitNYEdFPjYrdyFxITg0MWpVNjJfUWNg
K2FUMW8wRFUpZGRUQnZ9SUY5cURJaFhJWD57bzZKU0dZfXRheVRrSmdhCnoqO3h3PEs4MTYpazFZ
c00xbjklYyM+UX08OVRvTmJeaG02digrIWBLR2Q7WGFZYkFYSTJNQzxqTm49Jj47O3YjTQp6X1Nt
JXo5R1d+I0xYa3B3MDVmVmxxNlpIYUlgcGV9QUp2ZHg/fGUmXzkkeG93cns0fTI7IVI8QmtFT0g/
R3FvfSkKem5ASEhFdzQ2ZnNncSomQSRqWm5OT2xXdl5wPzxzZihSO2Utb3c7LVo7cEVCcFRRbVgh
MF5VUmU2a0ltRl8qJX5vCnotIVM9UGYzQmdaQDdsdUNfX1V8fHVTRUcqWlA2aDklS1I2UGxhdHFI
b0s5MWxfa001Xj53VUZPQSVuPGBDQy18OAp6fEN5ZEspJGVQSi19VFNZbWg9bHc9eGJDZ2dpb0Rr
XiowNE12eFpZVyNjXlBqVVo1cERZRE5DTkdvPWQyKm9CZnAKekheXmM7e0YrKT9XWmxMZHAqKCV8
T2dtQSV4M3stfUVsPkM0Y3psTFlJbHd4aTdmeDkpaG4kSy14PW0rRUxgK093CnpjM1AjJG1oSWFn
aXdPdF9ZPDBndmU1aGVsO0tHZX0jPV4/ViVEfkt8PmxOTH0kO3IyPyZqWXFxMSNAdCl2WjVGdgp6
TzViIWY5O19QKnd7TEBrNzJVIXZIbENpK29SNSYpdiQ3aHg/UzVFb212TUsqZGhSLVElVCtxMnJs
dGwjPDtJUCoKemg1QVZKMnNVcHpIYUQ3IS1afW0jRWxydCtZMFJvKyl9OHFCd0FMclgjdTJyQjtk
TyFkQGMyVF9sfjtfPHAxbV5mCnomK2ZmbVpzYzFfeD9YZDBeS3lQaWorSnIhYWhhVT1TXmVYWGI4
KTR+OFhEaFJ2JEpRPHdzdnQ2YlhwMG8mXlU5cQp6KGlhN3AxSFA3R1psYDJwUms9ZWhPOzsxJmxB
bmZUdnFPbTMyRjgyOHtBQXM3KT5pfHxQSlBVP3ZNS1BgNilDNEAKeldZbVEpbktqIShlNDUlO3Jg
NmJuOFJnfFpPTiRHQlNPVWhOcW1gZDRIIzhrZkkyQzU5dXlmLVE/R29Qfk5EM0QmCnpwcEtqUzV+
OH5EJHt7TiZEK0NgQzZCOTQ1Zz19OU0tQGB6fkE9TXhxbWIjWWFlRm4+VUB5VkNaRm5FbnR2VFNX
UQp6QEMpdEd0aH09SWZESWl6SnVsT1p0Z05pejtiRXtzSVR6fXxlUkxIJVI5V1dERWk4aCk4U2sk
eiozWkIoZEdMViEKejw4RSRsMDFsLWMzPnVvNnM2cUQ4amxXcFVMQVBOOCVqVjYwQzZ8dkQwaE9Q
Uj87ZE5gR0ZxdGVwJmxjVlVMSComCnooQ3chfWFjWmkpcTNENlohdTVyRUhkeG1ybTF5MCRCKm56
Ql4yTmImOFhCNHdrOE9DfWlxeU8oPn1mMXdHQk9NTwp6dXxEOXI1Uz5CT3UrLUVsRGwwJG9ga0Z+
QSMmJldDIWBHM0s0SyUqYGhtUmUqX1FGYGdaRVV4WGVtTDFfcSpMYX4KekErUmMwOHdwXiZMT1pD
fEhTbVhtTHlvNUorNTR6U3d7OSl8RGx3aEBVTVpOVUpncDs3MjNaYGtBPXU4Nl59bXBkCnpJRilt
e2BCVDRIYG58YTMjPk9NbGVgWDNfYDBNZzVlSml2MUR9KlBpMDQwfUIrb1VvRDlXNyp3UStvIX5n
NipnZgp6eTlPMSNVbj0kb2VobFUkYkYmMjwtRmNeOVdpUk02X3ItUjYlWmU2P2V+SDRefDI9I0oz
engpSyREKXsrbjdlbHcKel5LQH5Ge3ZyKUB0PjRmbiNpPzFoPHFOUlZmZkBLWklUc2VqT3V8bXY3
JDZUZTB9c2FVX1d2VSN2Q0smZ0FNblIzCnpeP2wwbGNxKj1LMEFqTXIoP3RrdENrbUFuRWhiMEF3
V0ZoPmt3TlNXK1hveWBGJlkpeGJJSGlhRmFgaktmYj57cQp6QWV9UkEjenR8NGxmIUdATU1nekFO
VSRTIUdZMHE+ODV0T3k5TTY1VGMyLSs2d1J2I3phYmx1UWRkcmIoXmJNQnwKem08JG1NeHBrN2M4
fktCVz45aERneHs4P3ZaX3Eycis8eX59Nld0ZmdhYVBLXiR7bytXcyZDWlklUTJgPk1JY21ICnpp
fFpEfGA/VzlWP1ItcEpDYHpqQ3ReQjJpQmgmTS0yMDVhWG5xSzx8V3Ayeyh8Ryt4PCZvZjcjMGlJ
bm1lU1Nldgp6R2JiYlFZWjM5Kl8xdHJ4MUJKeG5nfi17VWEoSX5oTnR9U2tfd1Z5QzJVZUdocjI0
JXF6eGUoNGx+KXVLKzFTfHUKelh0K1IrWnNPbm9vKHhzJlpCRXEhSC18alQlZ2FtNCo9P3RkTkA3
eiZMbyNZcG5PVSF5KmtpfHoqPik3NigoU2JgCnpNMj1qO2BOQ0xAcEUqe188cmMlO2B9YllQekVv
cTttdCNVPDtYYi11c0o5JCteJW9NQSFxWVNkJU5IanpLYGJIKQp6RSozR0BVWWkwLU12WkFOVER4
dnQ/NF5OY0t3NnIoYGxwaUBVRmtLd3l9ZG09SlQ2X3pMSUtTaUQoWUpeR0w2ZzEKejtrVX10TSYw
cVhhTSFMfnpqQVVtfDVnP2pFbHRnUWx4YWsmYT9gfnhZaW4hJFppOTBJek47YVZKOFkpR2w7RGpv
Cnp5TT00cClsKVJeeXdfZmhGRHJ7TkdTYm90NC0wIyYhQ00lIyEkMXFIZTYlWCkkSiQ9cnk/Zihp
bWdXWTlpVWRpdAp6VzVsdns4Z0dzOVJpTCNuSHxOPkF3fGlLamYkajxUajcqQjJwYGxHcT5yRFR4
cGRjPio1NUw8akVpQ31pOzZAU30KekspX1V9QGw0PkYrTGYtaXVsRDk8PTdiTE1WYVIhR2BmV05Z
SU4jTTlJIWlzbXNXTHxmcWdeXjlxTX47QmVJYnlBCnpiNVJEc2B1a2JXckc7dEhAVzhJZHAzISRz
OC1HXno0ZFQrUDE1SH4yTjxyakBSNXZ2PiQlYGM0USMxdlUocVU3ZQp6JX0+P20zc3IxeFh1enBL
PzIyemxDZEZPSGkza2MzO05eODZrV1Q7bmBFIUB8ezdKI15xKF9naUpTKHFVS0FNbnsKemsrSndL
SEImbipGK3ZZakQtITZAZ2owIz9OTElTNHY7KkoxP1BtK31uRUlaam85PHwha2B6KlJFdFh0YUts
JnNzCno/YWBwNV5ZOyZ2Z09vY0kwc313KGMkMXg5KXwpMUB6Q1diO0pnVk1Qd0lLTV9jPHhvN19x
KG1lISRkfnxBWE5Rdgp6RWNaYEBNc302cyQ2YiVFbXZnV1ptP19rISMhI0kmR1lORk0tazwkMXoy
YHNebVZIR190SDFTQUwmMDVebGxfOVYKendJOXYoeV9AQGppTzgza3UpZnRlQHpFbkI+ZmUxMjRf
NilFe1pqYnRgfjhDYjBTc2ZrO1lNdDlHXngkKmVRelRrCnpKPShva25DcmkhIV4xUyhSJHl5eGV3
fEAjZXgjaD5VVWshXy1YfCpZUDQ+VHc4NSRhRFV5VkFJRUw4ciVJXlZXegp6KUAocjlMWig4di1N
NjI1RFNXRWA3NlZCOyUpcSVjQENXNXRCJDJDSzRYb2VqYFQyISFKZnA5I29id1A+Z30kSD0KektZ
eGttP0FWPU0kSUp+aUU/d0Y7byF0cVhkNm1RfHFzN25NJGM4RmNQVjNCPmhBVEkyKz0hOSZWJXhn
NHQtWU4oCnpVTjB4cWhGWlZEYjhuJTNDeHJycjdlIXBZWkM3MXMjci0+WEhxIXE3UlhTUV9QZFpD
ckM2JnIrMl5EQ256UD4pYAp6cGYrUzAoTio3e1VzPzYwNylpeC0tTm9afml6JFAoV084YkhgcTBR
b2AwP0UrbUZPeUhmQnpGOTNkfVN9QUFwZGsKejFHZUBmNklVekZoTTUqI2NhQnJMOX5yNHdrM2dM
SmB1elRlZGY/R0dIRkpDV3tSYStFMX1BUytuazFfNDRYTigqCnpuKGk+MkA5KiF3VX17PGwhVWs7
Uk5hPUo7ZVpRNXBINkN0enBfS0Q/SklRRGlEMEwjSmAmJkZwSjVqS1BnQHU3Ngp6MW90NEJwXyFW
dmZOSDZ+dWFBaFFfViZPOHhELTtIOFVUeDs7dGxNOyV1Rk5xMENPTWtnSjBnPGlJMHkqPURNKF8K
ejFuS2JrcHZqUzg8NTd8TF5aVTJke2BuKiZCX0pwJEl3bUhKKylGTHRAanEpVnVCVzFNM3FuP0cr
bExSd3QpTSk4Cnp6Mk15JFQ1SHgqKkY0fUQ+b3dKeXkpWmtnPyNCPllwRnxuX1c5MWR4bVV9NH0l
OzQ9WmNhUUlPaX4tJSMwX3c0Vwp6YFVMRDZtYClwZ1p5I15eRnFOYylFeWlwP2p9c0RCeG9QMlgr
ZVghMXt+eDNzRSpDSl58MFFBbV58U1RwI2khdDcKelFJVXBpenB6WGUrdHlFSipEVUlEeDNHRUdP
ejdoQ0tXK1kpeWdwMldIKnRlTmdGYTdTclR5ZiRYNiNtQFhMZVdrCnp0OV43TVBiKTBPb1U5eDx1
XjYpfVBjKyFsKTA2cihMSW5HbEl5PGdackpIWWQlRXl+KU5MM15ZJWM+RzkzcCVaXgp6YiE+ano7
cHZSYj9CSGgocWJiU3p3U0EzQXMlPUE0aUlsVTZnJD11WSpDOSVgJXFJVT18Q2V8OEMqSHduWCYl
ZSsKekJmc19iYG1qU2ctcWg4X3B3TzxaP2Q+TikhZVVgeioraER6b30hWX0oPVI2d2I9b3dpKW0l
Sk9IfnEyOThsaHZCCnpqKmdENCghNH4pQFRSJk47eDNpUUo+bHV5XiM9dDZGNTI2X0E4O2gtOGZw
biZhOCpWOXQwTCUjbHRFemxQb0Y7Ugp6NyY2ay1KVzdlZVFTeypFOyVhYWp0PG9La1dNWENwJSM0
clU+SDkrWHo9MzAjNl5KRFElekBoY2YmdjBLLV5aOUMKekYrNjlePHZnZzNiTih4NDJMJVQ9Pkw7
VWtBY3FUR3hOcmZIZmB5NmM5V15QYHspelBWNFlpTVBOZU1FQThfIyl+Cnp7XytCUmFMSElpNUZ6
KVNzKHQmR21DaXBxZHEwV1JDb1ItKyM9JSlLOFdqQGBfc21xQUUjekNKZDU5Ml4wY1RGMQp6aEsk
KXs+MTFORXYpdCN4ZysxR2ozeCtxd0NAM2c2OFVUPF8lcVVWYFNjYDk8cXFFYlEha2ElYDIhSlI2
OTNDeGsKej19KDN+YDNWWU56K0ErSGprJVo5QEk1KG5FT3pHTDg5dmp+cXZfbG5Sc3VTd3NmJkUz
Q1pxRz9sO1piQWhLQEdXCnpMRX04I1JhYUlOMis5QXZWP1h2WiVGUGEmMUZVcEZ2SXp8KC13TkA+
b3sjO3E1cDNRMz8+UHZ5dHopO1BJS1I5Twp6K0tNVjA8dWJ0XzZANVJWMFlgJFY0dUh+UHcyK3ZE
IzBMdGMlQndMKUoleChFVD0teTVtYlBgNEhrZktnTW4rS1kKejBoeylHeV85aFYocTJGU3J5czx0
MUVRakt0OUtEblo/N2VEP0dAO0loYzFYb08zcWJta247cTQqMWsyNkQkNz9KCnp5V01UNyRBbyVt
bVFXfSFBRUBASHReJStkPWA3dCFlfm55STE1cDUhM0RhNXlGUiMpVSMkVWdFMH52ZHNtMEw7Kgp6
WVIwbW9Lc2lNTl5rPEZtK3diNE1MdFNvc3t+aWUrPHllUEp4eXdrNXtMYT89aSYxU3VIYTBmZ0w9
OExePmAra2kKelF8cj9nOTJwJGtNRWc0Yzh6NjUtTSthMElDbnFQfiY+TUEhbE51WWBhb2hkM1Zg
Rl9yS1B2PHM0WV9tWWwjeC1uCno2LUNnLTF1Qnp5WSgmSHNwY09GSCF8Z0NKXm83PTR3NlpFajBo
bj8rWEA9cV9tcUNocUlOcENaZ05SLXl2I3x8UAp6bnxwZ04wYHNpQmBkTUstYWNhMEA+I302K0dU
ZEhXZXxfej5pbH5TPGY9bHBZX0BWLWtUaGM1M2crN2NqMnFmKXkKemBeZ2h0KHdsWD9OKVIjOVFk
N3oxcVFrOEAqSjN3PClIQCg+Z2lOU09HLXQ1Zz8zM19xbyVXZXkweHd4PSFgO3RwCnooR2BrM2U2
QFdxbWJITjBndzFmcHskI3dzU25UaTM1YkIlOUNRNER2cXw3Zll2UGlOTkVATXA3YlBIY29AaEhf
Owp6Kl4zMmpnJmUhPyZ7aGE1aylPUnlRYUh4WE9hPXg8PkV6WUBeNkleTl9yUUE/M3FNUXRwQkVh
YzdOI1ItXk9HNDcKejBTNFokJlMhNE1IPzFnUHZ+bXdyISFDMypXRDIpQk00T1ZIP2x0ITEjNHEk
cDk1KnFgeXZSTlUxSVhWYHBGLUR3CnpJSjtmV2AkMzs+TX5Sej1qNytxdFBHSUdKWD0hQ0VhMHhC
RkQrJTtwa359JjR6dSgpRE1rYTlYM2Q1ST98MzdnTQp6KjE0ME9mal92JDskeHg/PVM3ekEjTWJX
I3NlVSRwcDdAcmBifGp2azk3THp0bzQqYERRSVJOUnp2byN8K0hJIUkKej1vSyMrMXVxKnI4cE5H
Xnh0UHtZNTRHWEF5O18oZDczeHFxeWt4c0ZwJGU4UyY2bGVySVhGNV9mSz4rMTMyMHg+CnpgcTVo
NCNvME4talZQXkYpRTdLMXBydzM5d0dGMGJwYiFzcV5AaT1SXyNqZlBUZW9mbTY4YTBAKXRMc3hN
YDxubwp6LXJtZ1hyeSZTfXdLPSkwQ1lQaWV3cmNnM25BQH5DWV8pZU8xYUohPCZVa0EhNHQ/NCVH
ZDNvc15LdjViUDFNQFEKekhjdVpYQzFvMHdjZWJAemlBUG1jUlV0STV4XmxWdHs3JTFucGBpPGxe
Q01oYlQ7T240VWZGQGE/QTtxY2UpWmxtCnpQY31CVnRFendlbEdnKjNxPjY0KDI8NlUweTRkWlVq
fWo3a1Z3YjQ+QHQ0SGRZVCsya3dqamclYkdle0I2JHw/eAp6Xz03cUo7JTJxO3c1SXEtcX5uVDtZ
WVUzQStsRHI5JGIhQ1h6bSVtLXdKK3V5KjhqZUlTZXJAb0tkbj9BcClPQmoKejAlTjF7KWNyTThS
WDIzKEQqTzBBZlZoKTdHaDB8KWRNXzlPQztufTVfeU5BNjx7a0xncEZEekBNTkNXMT1wYWsmCnpD
Y01GVFFlMTJgZDJuKVpaWkgkek48OVRlckhOcDxNV0I5X3IxNkFjKj8yY0NGZ0tgblAhXz1OZ2U0
JFBwJklALQp6NzYjPzxUJUBuQytBOFJ+eTVjXjNMUEVpSEF6ak5+QjhIOFNzSyUzanY1bEZJWDVI
R2c2WWdHME82eGQ1MGJpR28KeiREM1ppS0R1bFUkdlJnPiVjLTAwb0c0NEI2Q2t9QT9XdXhPQ1Zt
Ymc/M1hYK053bXtqRUFZdztJVmtIXzBUam15CnorJnclajdWNHM8MkJheUkxVjhnIUA5O3o9aTs/
dzVWe2lvflNyWXM5amJnOXkzSlI5RmpYJE9nWnNYdHBkNWgwUwp6bkwwbDtnbn19dUB1YWZ5dEV3
dWMjUEBRR0dkPFcpeFd7dj57QCZYO0k4O3haaD1gMEZiQ3JnXiN+Z1RkVUNqO24KelUmTUdyRWtW
fn40eyZsR1VLV1h8TlVfTH5mc2VzQD1qamZ+RXNoNG0yYy0pYz1CcVRNeCZ1UlYjRHp0aiZGUnt5
Cnp1ZE5Oc213bipfaExeJU95R0ZFbG07eDxkNjMmS09mcUA9SklsVFFmY1FjTzhGWCpldiFxfWlW
dElnTUlKSzlmSgp6VjFBR356dWwpUD95d1BONih3P35UZUFiZyZFKjRDZFpvKUpAQj9rODdrIUl9
d0ErfVUkNkR7dUR5XlJHaWZmNDgKekl2KHJzP3ZmWFZXY0lYX2xvYTRkdEd0Zz5RX2tLQ0ByJF43
NVIwKmVISGxUVHtmd2tQVXdqaGJtWG5laTFsaFdPCnp8Sj9qTU1WO1daWjFYQW1TTSUtS01iUTVv
bzxDa2QrIX1KME4qQ2hnamJFNF4+RlIyMU9pPCYmYE1mOSY7eFlFbgp6al52Yi1KOCooWEVWWX05
ZXIjKyF0KiN5cT5CX0E/K1NET09uWSQ2czNqY05WPXV1N0c5IXI3P3shfX1xK1hxajsKelRRZD1z
T3VQUU5aTXlYJWtoe1VPeD1zJXBrZDdNfmMwJVooPWE3OUh0clJUaEs1O3o7Yi1WWDM+JmtxYylD
aGw2Cno2Yz0rfkF5dDUkV25QZG1BbS1IYVd5Y1loJjlydTV3bSVqKjZvSCg5RzxjR0coK34lMHg1
aD5Ya2ZHUzx1b1JVVgp6IWt3aXI3IUhGNk1eYi1MJDhidUAtYjhnYmtvVkpfOT01SVJYe2dnJVN+
TnFkYjN2XmE+TXpERiZCbnJDZlRMMk0Keis/czFlKVUkZTNnT1I+QD5JO2dxWFpYcVAobEwwKW5P
a300SFghdEckblJfKVUwTkpqbDBfTiplKWZrSWFtTkNGCnpLa1g/X2BIQVApQEU8RC1rTGd8Vi1B
c1FDdGB8KzZuYHVOOXtsUVkpIT8qSFItcjlNR1I/aGR2SVBgOUM2aV8tfgp6bERIIUU9a2cwKE9S
WClIRTAoREJPRio1SChSRTxZUHtGfW9fMHdyb1RVUTZ3YVdnYVhlIUI3RDsqbyMwZDJzUigKejdq
R3lQUnJDVWtmSGQkZHhFNUNiaTJMX0hqbTVMbUEzSiQ2c01RKXlPaGBKalJJMkNjKDsqRyFvLTtx
ckAtVUchCnptbmx3WE0yPG1OMDZLN0xwRmUqTmBmTFpvMk9ST0hyaDhSQUBGV1VgcnpSKFZvdHFw
YVk8cVRvNj13dEY7flVJeAp6aFo2QkZHZ0BtKUJMcW59LX5MJG5CRUJiMWpmYSZFVHJsSCNRKjcr
I1I8eXN8VHpzIVpAJHdaVkVyelckTzNQczIKejApQFhlND5te2NrYnBFSiYxRlphQG5vYTdqY20o
NT5ecn1TUGpiNERYI1g+aHd1VGReUUwwWGVuZjctYVdJSD9ICnpeS2N3U1dsenIlWGV6ditUQTdC
WlFIS1d5YXBebiFhTHRRUj8obEshVjBhZnBtOEk1JHlERzVoMDNuNiVoZEFoVwp6K2dLUm5UeiQw
RUcxP1EjJH5iO3NhUEFUYStoQlY7dE4rSGVTMH4pfkdac05yen5wNEtHKUlCMDJCc2glZ1RUSGMK
el5VIUwmUmMjRXcyaH40d1l9ZSo5O0tPfT5rUTVodHs5PHRPSj4zJnsxdDY4ZDgzRV57MkNxZlN5
ey17ZVJuLWVSCnpFaGJyX0Zzd0tuIXpucztZPlIoSEc/MGsxTDNURiZqVXMmd3ImZmwzIStAaGA1
ODxzRGFfJVp9TzJ3WExyKkE5fgp6M3tfTVomemhNOGtjOTZfRzRYQzI/UnpJZVk/PEI3I1Q4TCY3
OWY4JkIwQCk5byNlNE5OaWxMWEBWamxBbFEobTIKekZWbF93ak9EJE9lekY0dmVLSVg0TkNgeTFf
RUh9Mm1WMTt6MFVARCtSJUB6NSkkNy0/KUVgR2skRHRwOXJZfH5nCnorUTdtSllhcnJmP1gjVkpA
TWFjd3NMKiF6SjMoQSVAWnxTaWtReW4wenc7UHZiIX1+NCttTkd5bCp7bT1AbWJfcgp6WT5QRnB6
KClOPXBwbjlBVFJzUGF4enI1I2pjfDVsekMqci04fXBvciRydDs9IykwI01tKj5qNSREbSY8WkVn
RCgKemtFZHUlTy16OFUxMz4jSCtGJHY8JWRadkxfYlMzP3gwfHQ9T2ZDajhTTDEwZmNDa0h0X192
fHo1cUtnOGB1fn1ICnooQHhpZnt+O3tRakhxdEBuUz97M2Q0TWc1Sjdsa3JQJG1xTUBDfEEzaExh
VHIqS2lzYjcjdk53UjM5UyltcS1TQQp6ITE0WDhoTClCZGU7QmVGRGc7P3M2JVMySyZHJH5nKEJF
LWhYbmVjQlJFSk9wVSZwcV45bDc/a05QSypXNUhpdl8KeiY4a0d4P2o1ZUlqfnR1eisjakw1XkE3
KSRofWMrYHdPOEE8ZSROMXZEJEdpRXR6eWxaSFRCNmxkb3U/V19XZzN0CnpQSllSPk8wKlV6VzJz
JCU7Q1Q3dUtiWDEoZEBoKGVFYSQmdD5oeT9Uc0g+fnZWRSp9SCRNbV9+akF2UVJFVmhKPwp6JWhT
JHxrJWlYTl8lPlYwSVBAdWxkMG89aXR5dHAhaDR0YHpjdGU1bXRrTnwtMkhxIXomTi1PWkJrdjZS
c3dCO1cKejxGZ2lUSko5OHM7fjB9MGJDen1aZ35RQEFyRm47QXc0RDU4IVF4Slo4N3V2aEdQb3ts
djhYdl8mVGRvciVgN2E5Cnp7NTteJiFwVDU+TFBsa3RVKjJxdFdDNE5xd2x1OChzKHpmPkBwQFF4
YkRAdkN0QjI7YF96K0FLak82Z09pWFMregp6Z289PG53YyNwQilKUmI8OUtPPnZ6eUZDZDNAXkZF
aF9Lb0ReU2BoQk87UjxmQHgmbjllUkFiRCpxfCNlSyRFcWcKeipUaUExVF9JKW5YfmhfVXpkRFZo
QkVKa3p4e3JeSVN6MX1hTEJQZFdKdXg5I0Etd1grQ3MtS3EyWnBKWGwhM241CnpzQ0ZyQFpvQilZ
SSlkPkFKV1FaPS1hRGpnQH09KktQQFpyQV9UWFdQZ2RNV0I3S0R+Ym1VZkNwJkd+R1hFLSNuWAp6
TVgtMX1JeXhpcFIpSmpiNyVBLV5wOU4teF9zZUElbyZiUSU8R2JVPi1gM1FgUGEwLVVle0QjQj9+
WFl6NXNCPHAKellPfCVxKCk7KUNrKCpIUUokVWN7V0BLYzFINjlJWj9mWkF7QkpkKGZoYTJ3dipm
ciRMYW5TeHphPGFMKGBQYkdwCnpCZTxgcCZEUCh4QGsyTE89MSRPMkwlTWB8Mmx4d3w2M2JGNGU2
IVkhVHdRJWhmfVFISGI/YTcobGJWeyQzdmNVLQp6dnM8bSgzbmluNmJMd1VGXjV4YD07TSo5Vmgx
djRaanZzSWRXZ2Z0fVllK1otQHVmfSM2ek49MWt6fU0xaklmbHAKekhnWFZvcWB2K0lYY2ZeXyRf
V2klVXZgV0AoKUBJQ2xKXnsmVz07NiNldVo+RHFueWFPPF9TYypwM3o1LUE3fExkCnpQXm5MdkM7
QmczPTNJWDVLZ2owNE5heV80dCFhQnlWKnNUUnRHNCpCYEYtVkpuP3E/QHdwQDVYLXNfbUhyOXtI
fAp6QE94QSNBLTdNJmFZZTIoJkM8Pj1FT2lHOFQqbzRLbmA+NTgkPkdWSHVBR3pebmQmWndNYDMt
Wnp7a1dNYlUyI1kKejkzJHVCSilsaSk7cn57amBEbnB7eTlOMXVwZk0+PVNLeHBpIThrRyN6Ql82
VSo+SDdFdExOTj0xcT9KM2w0K3NgCnotMkt1ZDFGYyRSaDF8aUxKbENeMmVVNDIjWjBQJjxpQ05F
czJNXi07IUMoU1M4JGk+Q0l4fnYzIWo+YkckJFIkZgp6REswOTQ5aGZyY0IqOUxBKChtN2AzN2dQ
TEZ4XilVP1pEJDwzK2pYKSFfSDFFUEhwJEAtUzEpfnFpP215ZENnNCMKelR0VkklblRBYV5URiQ0
bCpCLW5PYmskb29ae2xUdUpGc0kqWTljVWFpLUdXKzB1M1gjRnd5dUVGeU1GKGpmfWQyCno0MVp5
NFNLSStkZ0tUVk9ULUBQSSR7dXtmQkpAKG5RZTFVelFtdDlTQWhDd2VJJjhwQS1VfHp4Xk9QMGIh
cEFgUwp6WmN0Y1V5cnJZVkt1eWhWPlUtOyNGSkRZNDhFUU9WKjxxT1olYyEySEtuSSgzK2E3VzhG
clZTYTMoPzUqdUc9bnQKenFrO1Q7ez14LVNXbzJrNlYtOWdCI0wjTyZJMGdYRU41XkJzWUUhVjtN
NTdlYkg1KzY2IWdxbkREWUQrYW5lJGIqCno5bGo7Ryo+WGBFTnNRZGBxeUlyem5FMWhpRnJIIUEm
VmZ2Pj5nbTI8Vm8+WntKMihrRVg9aTc1ZHJGOXBGSlRidwp6ajZ8N2B5TFoxOSY3NGJqK3kpYCpC
PV9sNHJ8eklCQlB1Rl5hdSRwa2JEI28wR1pkeiY+RklKdVcpX3owcVRHN0kKem1lWChadjE8IXJE
NWM/TiRxND1qPTh7LV52NGpNbTBDVzxGUG5xRCg7ajEyPlJwdmZ6WGMoaUM2bXxiVEl3ZjMrCnpK
NVdrTXBUPmhDWG40YSsjM2FGUmtSKmZ9YWBMMmBiUFNBMEEwMTNneyVrPUFtPE5SaWdESylVNUor
bHNVNDE+bAp6Wm4oUF88PmJJRDlOaks+PHJhIS1mflRCQy1TUml1TE1AVjhQS3RaeHZzNn1uOSl9
RWBFNk0xTCRCJlB1WW1VIUgKekRSVVFmcVY/ZFQycDhBWTM/KD1pZmB2U2AtQmF2Y1RJZ0I9JC1j
UGc0R1VkbjF1YD5TOWU8WklfZjA5QzVVPX1oCnpNQDYrWUc+bz57bU4mUHcyK25vb1Q2NmZtY3JO
R0N4TEFoK1ImdllHUkprSHZwQ0B1I3A4RGJAeGdeVShZdT5Xdgp6Rlh6Jl50WnNEcUJyNVpKYHoq
Ul49fjRwZ2ZfJTM5LVF7Nkx7O1pvKXVlZU9IRGN0cypebmNubTFrVjluTn1gZUoKej8/QWtMeTc7
U3dzT3xmR2U+a0lNJTtmKiFRRl5YdGUhQmQ3MWNRQ2c+bVdTcTZOJjBYQmFwIXE9TSV6MW9weVpw
CnomWlc5PUQ1bD5CMllhP30yRjY/VkRBb1YzZFgjRlN7PEI5KEA/KD9GOCsxMEl4ZGV6O01gejE0
Y2wyXk01WThHUAp6MEg3WFMxJEtKV1VyLUJ7WH4/cTYyKEZ7dCQ0Nkg7UWF1RygwWnsxZ185QlBr
aiU3JntvZ1J5cWhCYjlnb0N3Zk8KemhsSndnPCtidzRMdWklVSs+ZHtDSEtgPTNIeW5nbE1wdVky
MExOfjhUKiRCbENZJH5IX2FwU1g0MUtIfCUyO2AyCnojU25KWUlaLXhIKjRUeFZfViR3Wmc8eE0k
JUU+dT5WX0omKlFGVnJnJCNHSHR7aiVyaDdTUU5uLWNXMmtiWHtvMgp6c2c7PFFIR3Y4XjY4OD0j
NUFVRGRhO24/VFJZV0EkUH0yN1hMJD51V2xhR0V1VFcjI3A7e19rMEslTEE+YWRgQDQKelpKND5v
NTZ3JilOaHNKK3pBN2Yje3xpQTRlZlZ4ak5UUGJtQCFqOVBlIVZXZzZHa3tWVmg0WG9uMHRBNiV4
IUloCnowfEhRN2Z7eXN4bkA4PGc3V0QwbmpFPzs2UHFrfiVJaHReWCsjY14+U0UhIyRQfj92RTs0
Kk9DcSZQY3B3fVJuVAp6Iz5SKkVuV0pqXjBKekBDQkJLNzIpc0VsODF8cnc3VW9IQD1OV2FfSGNi
dCstd2JVaG9WaT5nSURecis+cEg8Sn4Kekp1O3t1bEJgKTF0IXFLSiU2fitEeXM8VG5MWjYrMGVf
WT0xU015dGI+cHxfKiF3JV5gK1lzVSQ/cFE2Q0trZCopCnohOXlYQnBxbDsldSRzO05BOG05cW4w
d3c1UGdJWVcqWE1FQ1piWiktdFZmXmkqVkEoMXtHKjQhIXEhJHVQKjV7UAp6MUZ+PX5qKCVmRkAq
cEo+NzNSK3g1ZSpAWWBsKmw8NXAwKiRkNjtgRlBBVnlwa01ia0J0K0BSMGdWOURkSSk4OSgKellD
UTZeTmRDfClfZVdTO1RZcmJBNzAoOEZvI0NAe0AjZUooS3dBKDl1XiVQYWB8Nk4xX3hRbmhFR2pO
OCR4aVFHCnppJjdMcCgtfitqeGF6Y3lQQWVTQz15ZU14ISQqI2dSYWs1U3hYYyY7Zl5FJUpsNlMz
dDI4NTlubSN5RHo8SWljTwp6eklRdT8manRtJmdNcHUpLT4mTytNUF8ldUs/bG0ycU4weGpqeUw0
djBhTCZUKzcpVypEfW93PGdpYlctO0k7aG8KelF1NCRITz1mU2ctQj4xWCp5TW82NnZERD5zbyZ4
Zk9OWllYSD09QV9INVFNKmUhNikxN2x6PmFOMXM/SEhMbVVCCnpNP2kjYzxGbiNFPTZJZCE+NUpk
T1dpc0sqZkV1MG91WkFqenpAcktMV1lxaE04eUJfSyZVdSNBKXYxSjNQZ0wpVAp6Zzx9SSVKMUVJ
bHVVXmZ+JjR2MSM9fWYpM3Z1bShxSk1wMiMlUk9SUkdPSjBuU09lNU8wQn4waGVTKzhsdCM8OEkK
emxZakJ2ZzQyUFQ/X0RrQENeIXJTNW5DQz4pdClgcSNQT3U2WWlpSiMyRjIjbXJBdUBiO0EmUkc9
bmljTSQyJmJlCnpVQ0Jqditjc0Z0TVB5fFM7bm8/eGYlRXcoRDMxI2c/V2pXejNNWHN2dD5JRDRa
RWJNY0QkfkxTaksjK3ZfenpNbwp6LXBISjlMOTNYeDM9MztSWEo8QHdiWkhEMzdrfDBuTCladFJM
dT81dzMoNmk1NWVMWWRTTTc3cSMkdiVTJDQzZX0KejNKQypMbEpBUWhUSlFkRHtvJFl0SU1VUDY7
Z0lMKW1SMmpGcHUycUZnWFh7VHFGLWt+RDJURWR4VSY8X0REaCRkCnp4YEpUcz9STTYzRT96KkQ0
S0ojY0Fha0lSalowOzhAcG5PWitzYGgkJXlCK0RtcEwpbF5veH5KK1Z6JDd3WXF6Ywp6cSRWWEA4
e1RHZ3dyLWlaeFNDJT42S0phQWZBKHVJUTJKNip5WEljREFiVC09bzBmTyktb0A3d0hvMkcwengl
JHgKems0WVZrTytpT0AtRmY0WDFSSTJmakVAYTJYR01LSlNMYVJ+WGA7ZUdMZX03ZzRSTjYtNy1v
UjBqUlZ4TDNCaUtECnpMVHs3aEJzezw8RUoyTEc5dj9vMDYpN3ElaFFmIX5NJDZnZEhFblM4c0p9
OGRRRG1nVShJXzVPJU5WZCpMP2oyUwp6REJKKUxqb0BuZ0pkSmBMMVVZSk0lUkpwVUhFOTxAMCR4
IWprbzd7SGhZNWAzSXZRVSVvIW0+eTUpLWQ3RmIycWoKelRjfEJZQWVDX2ImZE1wRCtNTG1KRWpD
VnBfTWtXUTg3V1IlTHJ6JXUmYCYhUXhPNy1nMSUtcXRtVSk4VmdONGhjCnohNTxkYClAJE1sbTZk
UG0zJVc9fjE2X2VySTAyKUl7NyFAdShVQigpQTNpS0NqcHBtPUgkJVVMc1lvdEw0bHFXQwp6NF99
ZXIqLWc+WChyVDB6JFJeMiN7Y0RTdG1aS1hrYDslRENuYTtucyZ+fFNCdiNoWEhPJXotRzh6Tk5j
eilgQW4KemRneGV8cTJ1eG1UYy1ZT0c0NXA1PmxHbTNxYj90SzlvQSslRnpIXzJ3ZSZxUXV9fjll
PmlxdFZxP2dANFVjUCtFCnpUamhRPD01Sz1OS2lSRnNiYG98ZyElNm4jejcqZ0Rybk5gblpkZGh5
JHpja3R7TCZTMWhTYzM5e3dNczlpUiRhPQp6PjJaJllCdiRgYDs5eGlyME9IVkpmRmNRajUyNFpU
d3coayZ2VG5mdDU/NkZrO1F0I308Zi0+cmZhTHZPKHNYNkcKek9WN2wmdmlgK1JBeyMpQnZ6dn1M
ciNhKjFSYH1temklOT4oRlQoOTRGdzctQ3loPzZVQU9rQWJANkotUTkoYGEpCnpUOTdvNXo/Qndi
O3dIaVQweE5BS3B8PTFqKVBNcHNHVD5SWndDRThAdHtmUXtiXlRpTylCYWAxX3chMnJpfXJnNwp6
PHxgXyVsS1k9KGBGZ3ZPMT5WSjxhez5OQ2AmVz40PStCbj50KmRNd0FrNDJ3JVIhYFlGVDkhRDk5
dH1VeiQpUj0Kej8zcE16UkhaQWR8Rz9zZXtfM1h4aG9KZ2s1OXYqfmsrKzJ+RTlgJmhsUjx5K08j
Z2VmI1M2ZE9zaHAlWTFXTiYkCno1UTJoSXhMfHJ5Pj1CUUFebmBMYU5fR2c5USUhUE8lVnp0YzYy
fjcrKHBBYFBoIzlYa18hdWlpcUNLblErJlVAdgp6KHh9SnM4PEJzYHZAK1VtV0hkWlZjJj0qeU02
cUlEU25+QWc1NVBPTHdhMi1nTGhhSHtiX1hOSjNAVE1XT0l6NyQKekh7K1RHe1dFNzJSPlNBJGol
cGlfI0s4ZWh0ZmRtYEJ8dyQmTTZ7Nm81K1lqNXlyaWItJncmPzM4X1BJcStndzlfCno9SkR+PTxu
SGRYQUpMezIraD1ANkwqcElZKF5hZUtlXkw8WnBLeyU4RkV6QTkxMFMtY2s1OVMkUFBvbUBTbiZi
dQp6bDgjX1p6KjF2dTAwaUk9azBrVj9xak9ScmNpcSpPeiV9an0mNmJIYEFmPiY1bVFtT0pPeXdZ
emBJK0pDaSVefmQKentWdiNzWjxSeVNCRkhmZ2M2THRgZnU2RVA9O3Y0Rj94X1FmZXl3cVUzQyNz
RDtEQjtGUU0xYXBxaVN6NSR3SGFeCnp7dF5nPkF0UE5+TmZeOCFVeHRMQilEI2dEK3IwS0YlMiNN
QT0ofmttYEBORjxkfndHeCU8RHs+SC1uez5rP0pPPgp6TCZII2tPUkVFOEgqJHFrbj1AO21gfntH
a244PyleP0MlRmxjcks/RTRMOXVjdEMhaiN1aiEpUVR0Uk1wSk9oQmgKekI/RWxqX25pOCRxNUFz
cG9xbEx3REshKmdwYXI2KjM/bEZRT25raX56Y1glfT9rWHZfRUY8R3FwQkNpNyQqQyMoCnpvQEVP
WW5rOHlpeiUzOGxAemQkbmFrMjhnZjlQMV5qTjIpYFpjNXI/Wj9PZlB1dGBeRzVMS3hVX1E7aTZp
WT80Owp6RzUtMTVSbzBiMUg/aEA0cjRqYH5QWDU4JiVLUUlIQEBPQl5HeGE0Sm5Ue3hsdmVjTWw+
NmZ9c1A3U3JPMjxxPXAKejhqQjY8KTN7VDk7cTw3LS1TWW45MDx7VGo5Mnt+RWVLJDJ6V3FjTj9A
M1g/dmIoJigwUFJ1dGR8RS1xaytUPkZnCnpzcUZtVHMqNlE0UnBGKWRXO3dJYVZWc00tMkFzNGxZ
JGorQUZNQ154Sn5IbEcmcmYhQ2JfVm89dV5zSnV2dHp5Sgp6SjMhQzhvSHVtX1RwaFNRQnZOYihS
RCNJemdPaWYldz9PP3xMSktnIz9weSljZWB2PzskVmxqV3coWmFNTmt9QkMKekB4WilkdHtTYSFZ
JW9eViVOXm9hWVYpYDBjfXhNUWk8S0woRk43Zmg0VyFUa0BHXksxOTtvY3UjPmRIZHd2YFI7Cnpr
YV9nUCNDcCRKbjM/cn5TXl9ZaG5zJHsyX0o9MjtWfFpAUEorX3xtP2owSigoTHJqeTFWZF8zQ3Q9
NUxHfE9wbAp6TEl2JktaY19rV0tvUClSbUx2UW9PZUo1UFNoc0UrOTNCP3I7Z1JyfHZiTUokJWVJ
MWs9fH5TaUBEcEdMelRZYFIKenU+JWlaJDA7SCp6SWg9WDJtQ2AoeztVNyRedio3I0xDU2NPYnBV
JUJSNlE2ODtoSSlZZDBrYXlBJjhRLThHPExnCnpIP1VBYndsLWdFUjZLWlFkKzteMCh9WmppcXlK
cT4lamVWY0UyaVZnY291WHRNXk4lfWBwTEJAaWN0QHVlSURRbgp6I2dGSXc1R2Q7NSMwNDEwWWhT
PyFpOVNscEpqczNnP3NTI3M8Yj1AZzRrdWdHIXpAO21mciRfOW97NTlUOyEmJDwKelhyQSVVPElP
KkVVWkhYVGYyUSg0O196UjRqcitybXxIKEVtKyQ5Y0crT0JeVWwzbiRGXj9ATjk5VDg8NDhXPD9f
CnpTKDRRJF9lQEVENUp3Y093b2U1e3w3KTFBKHlmKUt6Qy1ePG5YcnVjKzhGPGgzMlJ8I3NLWkVF
ISkwLTR3NFZBMAp6bE5rZm1td0ttcyl0aHB+VnVlP0NyPnQoS3JlKXQzR1lkSTZXZm9GOGNzMEQj
Tjt6Xk9lJUxVIytBT0N2dTtXb3sKenEqRm11YGRFX08oeD48Zy0qfDF1PG1ZdDAhViptQFB0Jm1Y
RXNjQ1dGTCRzdlNpJDNsJGkoYjNiTmA8Q2xLT3MhCnprQj4mIWAlNkNqb0xEbWJ5KX5oWnV6d0Iw
e2BHUTsyOG90JWFlWGpte0piV3R6OH00JG5AREtCVGdNczBYWT51VQp6MDk8T1FTK1VqNlQjKDwp
I0ZWRHo1MDk4dkh7QkJxeTc+OVZ5OHs5KmB7RGw1KmBpdz9ieSM3VDM1XiVaYGAycnEKenhKSE1U
QkpUJlJnIUApQmpPVT1YPF5KKn5uVkdnfDF+MDdSRHUrNXk7d2JtI3ZZNTBxIUxYeDtpXntyT2wj
VDdACnpZT3w9YG5BR1VETlN5YDBMMzl2OG1xaWFKWHpVWH5XMiZ0cGl+K0Jwdkc4O0lwfVVlP2Vu
ME9LPmRqQjlDdylzNAp6JXlVYHxDMEc9emcmMFdSK1hfYWlMLXJ0MTBuRFFVMmt5dnp7UDV3U0pg
eDZjV1RtQ08/SE5VdjMyY3owSn1tP0UKem9xKGlnNG09b0xoclR7P0IqcF9SR1UoeEJaK218ei17
fm05ajwxSXhNR05FSkRMcCs5WklUI2VeNyZOJilKLSZxCnpiR30wMlpNSUMkJSM/RSpJfWR9MTFp
Tk0oMDdWWU5YUnJkT0JhenA/TVdRSCEqTmxwXjBsRSUpRWVkJD5Jdn1NcAp6RElDKFNZSHF4RSM2
WlNRUEkqOFc2emFveTk4dzBrY2JuMz55U3JLSHU0MylOWFV8QVIrZyFTSVlXQWVXSCNWbj8Kelgx
S0ZwJSNxJDZ7SzZRYWQ+KkNHSnR7OShQelRVNmtyc0hZejtiSSptems2RnY/e2E7LWQ7QnV0I2pJ
e2BzJiNICnoweTE9cyErc1E4UEJ8SS0pXyk9V3cmRjYhcyU0WTNYYylzbT9KVnVARlIhamNJVypg
cTBJZVkwOSkjR19EX2t8Mwp6KHZiRHdoQXk5TShJWmBsMDMyS3VeZzdZI2QybSV2bWlBaj87cEVf
Q0FFJD8xQmJhWFM5O0o3dF9oam0hOWQ+WG4KejUoNSklLWJCZkBTcUtAZzlBazlzQit+Umo0O3xY
JTUyPFkwSDFqWW1DeUFnVCZ0clBoNHUpcUtPOVomcVlgSmFnCnopPylXYk9MV1NrUlVrR3IpVCF0
N2BmemdJKTJCfUA4WHQ+WHNCPG10IzBDTWkmPGYzKTMlWFRPQlFWUndrR1lzdQp6TTRkPklFQT82
T01vUlBXbWA0TDxuNmZTaWMlWlF3Q3lHWX12UDkzXlZIMzhwNE5mK2k9ZyMkZntoRUF0bkp+ZTQK
ejk+NG9CRiZVWX1BNnA5eDlpPTBeOHgyNkZ1Py0+em1MPlZrJj1hQ2pXZ3JYT2gxYWZLPEIpTmAy
bUQ2K0pNNWBgCno0RVRDNShyJXoyKFUrfX5NNlJwciVyKl9ZOF88bEZeNkJ8ekZFcVdyaG8xdTc2
Nzg3MWZNckk8RGR7Pn5BWURzfgp6KEBHaHM4QWIpUUQ/dE1hb2h0SzlvR0t+UXV8Znc0aWZQY3Z1
TC1oSW8wfkpuU2x+YHtiaEAmWk9+RXwrQnQpWlgKelljOFM1I2lUTFJVYSUyRnVRb0AoJTxzczhK
NXNubFolUHxeUjlDQWpLdXsqZj5UVV9gQmY4Yjd2fEtmcEErU08+CnpxVjhqLVBoSGEzNjhkQGNu
UilfY3UqLUEyN1hCPSoqc0JhRWVwQXFgaDkzaHRrR1F1N0E0X04kKE5gQnt5KkskUwp6NCt8bCFN
fHZlWDw1fWpqRmxZb1YkdCh3aDlLT2pkJUBVSmZUJjJyckR1cmF7elYzPnUmNDs+eVpaNHBIeFRx
bzAKeiFhSkR1MG5IVkZhISZCaHJsZyNwOVN0dzFubkRBP3cjNHY7K2hVLXZJbCFHbkRDNXlWeU1q
XiUySGdZbUskXlYxCnpKQTElM2Z6PF4mZmRNTFlMPzIlPSpRPzg+ZEFiLTZ1JF8qRVhhPTh+ISVV
akplJUZzQ0t6UWdnej03Syk9ZERsTQp6KEFydzQlaS1pNyMoPzl5TmkpXnkhfil1VCZjfXBsYjgq
MWxIVWheaSRZV1R8cHlvKnRPKXc5YDcqQDVRWCRxUC0KektYWUpKNTNYLV5xRVF1JTZGOTd3RXsj
R01tfj53TnNlPjwtbDlhcmNqVGhpNG1QMHptbUUoQU9Zd3BpUUtsTD8jCnplQHFRUD1SNlNETiQh
diReYUgrdDBvQnhXdWgxVSZjQEREUUktUjdGTGd9JERecHghYXYhcExiZm03ZyVsaE9Nagp6RWM2
TlBRe1kkaF4jUkxrNyZabVNHY3otempKcTJOcVokM1IwfmJGfCs/NCVCbXVAYXZnajMtdXRsbj50
JklTS0EKeihGdF4kKGV5ZGk9WXVmZ0dRVjxwe2pQNEJ3NmR9P0M+T0JaKWFRLTRtKTQ5MyFlanR9
Jlo/d0VXR29sY3ZVVl9OCnomdTdPPHlUeUN2YyNCIUpRdGEpR3UkMk4+aVJQMj1RV3tQXyV4PVM7
JGZSNSYjUV9vXzheOXM2N19PNUBAdiZsUAp6OGdOOXMjakZod204OSNLXnlXNitoY0FSR2k5Uykp
bFAzd2pIJFB2S2J8ZHtZKmJTdWpaNFpWKXRAVSlydT80c0QKej1mOXhxNiV5KXtkbnVnWmozamd1
Vk9PSnBsJEh+c2hmMWBoNk1TTj4oJVM8b0A4dG59cD4hIXZOXko2aG1tZ0ZZCnphZUMwazF0R3RB
VU4/SnQ+bUloQ0NteWA+ME1zNkAoQCRzUWVKc1U3Mzxffn0/JHFjdjQhdzV8R0JzdzdLJW9URQp6
dEQkPj42QGtjKGNfTk9JZFV8QGpnKXBxS1pyT3MpSTdEPDwmbD98fiNKUHJAMTdmKClnUVE4QVF1
RmkwSWJTOGsKemRPeFduS3BASj5HSSZNZGwjeVQkaV9wVXdmWngraCVffVVfRzNhViklRWZGYXoo
R0BuZC1ISEZoN0duTkIpc2l+CnpQd1NwY2BFMXxUTEx0dU9ROHY1cF9fMDIxSTtjJiRqKjFVYkZL
PlBQZDcza0RacUBoMF5ze0Ijd2xsRig7XklAfAp6dX1rezJtaz9HYkNNTGl8emoqTmlDSGo2JCl2
PTJTOClKK2dJfipPcjxAZERKOGJqd2lyNXlPPWZFWnIqOTxjM1gKej5aKkleLVcjZmd5P0IpWTQr
eV4+d3R8YnJVV1Bjc3JoPyVgNzxGKjdKJHdpRHteZHReOENIYyF1STVBVXpufiE2Cnp3QjV8amxr
QFY8bjVtaFhuWmI8JSE4b1pncjdvfGd3c3o+LUgqXmt4JF99VzRkXyVOdzNrYWxfbHUpbVo9YzF+
WQp6byZQUl5jfk9YMGIrNlhgekVWNllKdWE/JGdVYCRuZSYmen1KIUVFZE8jR2E+Z3cpcnZqdVVM
Xj5lWmBwLVo5N08Kek9Cd1E7ZXowVj9RZ2pjQDI3OUtSQWd5RGgtKDc2KEwpcGpnLUtUTSk0fnZ2
c1pjQlhwN356RlczfD9+aCpsYFg/CnoqT3hvcFYxOWZ4Tz5Ucis3UkY0TjdgQkxnZHooSVRCJH1L
IW9ZS2ljJW4jYXFNfTcrZFJLKTJ6QzE5c3tyJWpeTQp6NzdFKiNIe31yQ1o/XkY2OWAocyZJbW5n
Y3pwdlM2WTxsNFdEIXxwZ2hrTDcje1F+NX0hdUs5akMwKn1ZNzxQZHgKejQoQG9rNEU2R0BQc1E/
Q0hOXyR7TUE/PWQhfntVVThDWGA5V34kXitQIWhjLXNncWk3VnRgSStSdV58SCo4NDBICnp3ck4k
THh5Q1c0bm1KZlBKVio3dEkoaXBFY2FnNFpeWEdyfDRwJHF3QnJwa19WfHdDeDBxc0BaVH5GZlVO
b0kjSgp6Qk07TUxHJlAtfSZxSkIxRE0/MDRYUm0xfiNuOXRxQ1dZKChXaUFhQ2xgI2pqR25BO2d4
eXsxZDdhYk9jOVd4Y3wKekxwQGlDMnxMSThseXZ5Ul5hXllTOUUpSkNMNTBGSUI4LWhDIWEpMVIk
ejZLOGo7JHpMXlghQFRtfHRlUGdodF5BCnpVcmFPTzZNMFYwRjBuamZYWF8hLT8hdE1gR1dlLTVi
Ki1iIXRMXi1MJj1FTUQoSkMmT3Y0YyM0ODlOXzh5NyQmPgp6P2o+Z0l1O2NKdmNQPSQ3Y04pfW0l
T0xtTzYrXjVYYkFTQENZQCpAazwlSmpPWHU+fGdCciZuY0ojdz92SHhAOUgKejQoZXhAWWZsaG5g
Vmpgams/RGZtVC1abz5gLWVNQStqPlM+PjFZYjs7QXp3dThKfnFkckZySHx1Y0t0QGxQNiFDCnpx
QDwpd21xNUood3FSQG5JQW1+X3NOeGExKDRZbipNcFNKSkJ2VUdMXiYtRnk9QnZRXmhSRmkxJk0m
Mik8PihOPQp6U2FLSnluQWpQISEoIXMlWGZ3dlc+Rl9mPDhFV2lpI0F5YFo9Wjd5eEV3PTZiYDwr
Jn0jTkc9fG95fnZ8X0drIU0KenM8cmpiRzRYTEt5VHxaeVdFdihWKmNmOCNWRV9VKHZ0OEVIZTFG
NmpOemxgMnd3OUs2WEt9PCY7dXpGOEg3XyhECnopT0lkNUZ1TSR8Q1BxTElLQmVRJTBqIU5yYjw2
SGEzUiNNTWlfQn12TyFSQDs4ND1OMTxUU2BlTnZYQCFScX1ENwp6Vkl8dCp0WEJqYDckYXJ1Jmh2
OChXQnxoMWI+aU17Z01oKzdxMnlxVWVNQTU3TWItNFF0biN9N2xRSkhRPz56OGcKekhwUDN0ayom
cWFMSVR6TEpwVGNFbzlIWXlqeT5RVjlrUytpUVhMJilQdzkyakspOz9saCVWVW0+S2AxO3EzWkly
CnpAREY1VysqPmZeWmg7RGs8Slp5Sm52JG0zVkhFOTQ5SV4xWm5IJHEqVTByOXV2UzZhWXRlNXUx
aSh9VzkyY1ZxZgp6bDI9OSlEOD93WHRgVzNzIWJ4K1hLNHQrOHU9dDd6MzwkdD4jMFU+T1hmdXFp
Z2U+bXAqd2pBYGdTWTJjSDhGaz4Kej9pbWM+Yjk0bVIwO311bW8+ODx+TzsxbmpyNCNkQ1RKZGU8
SWlmUUcrOGNCPUcmbXhOV0JBcG1kK0U+UzgtKTFkCnpzO1dUa2tFKGpeUCF1czNHMyZMbEBTOD5Z
WWRzQEFPWT47KUs/Xm04UD0xJCMhZH1wfWpsSyNXPik/Pm5INm15Swp6PHY4WlNLYEh1OSVtcHAl
Qkpkfjl1Kk5YNGo2SnhgJTZUPHghcys/WV5Pej5LVzI2RVRuJFhQeGx6e1BOM3VyanIKekpaK1B3
K3NsVDVTWiFAPkBTN0l3NzllP1RLd0RjYzh+aW5mP3xzRFozXlJ9bkspPUUtNGZYPH4lOTt1PjE/
d35fCno4V0w/enQ5M3pKXlE8YWdwR01IRlRRJH5De2BfLWc+Ki18c008N1F2LXpHNFUwNTQlNk0q
RHRwQ2M0Q09Pb0g1Tgp6cCh7WlAjTjQhVVlPaGVVbi0tNFBIe34/Z3JHVmooSXBLXlVGQ3hqPW1t
P2c2JGBufCk/d24zNllxNlpoRmRTPmQKemV6O0cmP2NVYmNsam5iWXc4fWdmdCYtNTdlZGRoUXtN
MUVhYUZYYHdIRnRhZ28qKzAlTmwzdFVHbW1MZjUkbnp2Cno4VGxZTyFOKCF2SDMjeGpxZmFoOT82
akRPJGdaM2UrYE9xTypPV21ERj9ye1BuK0JjPXtrNFJtQjM7QHplNjgzdwp6RiVSaCZWMCZPSmpG
fE40RWNZcUA0aW8tKVplYUJVPj16eSRPdVNRcm5gaHV8JD9aeSRKMkVnXl5fRjR2ektre3gKelNO
ITwjMUpMZHN8MipFRm4pMz0kOVRwbj4pKXpVS2B6X09hPHVTYks/bURpVjFXbUchZGNRX2Aqdlo4
RkZ3ZUErCno1VjZHSmEkV0FRcUhfMjApUypFKSVIeSZQZzVmWWtAaT1mMm90ayhqYF9xUzwxI0xy
aTVeIzBabnQ4TmhULUIkbAp6S1lzJldKYWpJQXY1X0lUaWZ8RWk2enxDO2hidy1lTG44LWpyJnI8
YVJ+Zj5Fakp6a0N3Sl8wITtVeStWJjJUK2cKemhCSV9EekI1Szs4YV9UdCp2SSN9Q0xUbVklKGl0
Y1lGNHxVO1R1Z2cjPlA4aldWfHE5WV5iMHN0U1ZJVmd8UlJmCno3dnw8UUcrY3JkLS1+JnlLfis3
OXdSZ3FkeEtGWnVkNGZII0k4eyktRmg/b1o/OXxxbioxNVBhXzlteFhATnJwJgp6YHZSY2M5ajtl
UFBobE5FUXJ8KjxFajJZMmVRYT5jIW9ZKndqa1h1Q2ZAbUk9LXc2LX5AOG5NdVprN1hsaFctdnsK
ekdeSHMxdSRSYmgteSZNdTdrNk83amFZOy1zek5tMipqUU9AQkMybXlGTVQlK087bFFIWVF8YUdI
WFRKNjFfJFJPCnpjeF8xVjFtejc9Y35sZjEja2lvJjZzPmwqdDxjTHEzIU4yNFFWMmckUUJnKS1s
Vj9uZWZFVGpzYVMlVSFHUGJmQgp6VCtRTTZ1QjlkYVc4cHY1MUptK2UyQzI9d2wrNHsyOCt1dXVD
fDwkbiFpUnkxSjZ8YHdLMXdMaFg5P1hlIX5gQlYKensrKTtrSmNqamo9YDN7KjhBLVJMeyNmeXhD
V0p4dERRSjdCMz05fVdVYFJXdktkWCkkRil9PjdvdCspTjtZYFYwCno1Si0oWF9VQj80KnQhZDly
c3ZROV4rc2plamszMDdQMmAkKT93eGVKZXttdWYmbE0lbHROcGcoTjYpTHZmWnp8YQp6PGZ+dWt1
OFhqMHJjZXI/aDNOTytDOTFmVis5Rzt3PT1tX1VJdjAxOzFUVzdmPHJnfT1LUUBkVl5TfUQqVzZR
bDQKej1Ce3lnLTthKSNrKEVWVjZXK3dMYldhOD9qO0tUYE9eNlVzTFMzaClMXk5IOVdAWHJKe0Fp
dWVRV3ZPaHp1dTFsCnpFPVVqYnpRSyR7ZklKKHAyM2N1dit9dzZNZyY5WnVlMDx9cyhrTT9iaVJ5
TnRDWGBeej5qPGJjZnUjbjhPbS1pdgp6JTdib3Z1c0c2OCopUUlCKktLeipJUVNaZ2xNezlhY2Ao
RDRtZnNNfSgwPlYoYUJoRXU5fElDNmFCZi1JQkhqcFoKejZHbH1XYlEkbGZVNTJuWUBkIWw4UiFE
ZlJLeUNtalhsUTZeWnBNQGBwYiVZdD0yQW5TQUQ8NVFycmZWSmdXJj92CnoyVlBUeWFySSV+dW4p
SWVDZkJzITlJeHdGen1rYFpgSno8e287XiNaYG07TClOc2ZGJnRwR3R9ZHZLTXBASik8LQp6ITBa
fnVqTF5JOWhuPFV+Ulc2YE42Kz16S3g0M081P3F1OU8wPitVO2hEfFBKWVV4fTsjMUlSQmhrOVpM
azd6Z3AKel96d2xfb3VKKkVHLSVicCZwM3l0N15aeDY5U2g3ZmwtVk08WndeOUV6K2dGPD9lJnNJ
RnpGITZGOCokWDdFMzQqCnp3eHlGezNfSUNeVWlWeHx4SFB+cmohcEBGVylXN3BaQGEhMz9mcX08
b3FKZiVjbUt5N19DckghKztobEMpSjkzdQp6UWJxQEJpT05YbUJ4TmE0IzV6I1hIYH1yZXZ4c1Uq
d09DN01tOSFFdXE4dGo8SHpubmkpSGtKKSlWSVUkQCVlVWQKenpnXmV3elZHWXp5UllBTS1Nezt+
PHshSWs9SWlfVXlrR0N2PnY/KVQ+eShuRkM/eGtLSXJnZTRqNXRPPEhNY3NVCno4OTZ6QTFeZDRi
NGhEJEUqI1VLK1RqVHFRUkN0RistK1RlSmJpUWU+OSYkYygjVCt0QDBoT2I8cjZ0PWdoND4+KAp6
NFJxSzZXS3Z7aVdPIThuXjNYR2ZRbT9iNiVLUGIhaUQ/enxKWm8laFc8K3Z4S0I9I2xjIVJ5PGVq
Mkg+WHhnRWUKenpMKVdnKXwjNHtUZW9nQ3ErdCYrejMhSVA9JCpeT05mYzBUajY9Kz14NEl9fUwr
bVBrXz9qajtsMEBOb15YRGYlCnoqI0hafnhHSmEyUnt+SlQ0LSNze2NQI3c4RUFISU11blFtJitW
Q0E3biQzd0lrc2g2IVB3UyhDbndsRVdFMUR8ZQp6MilVd1RXMGpTU2VTQTZ5P1F1WGwxWTEkc0t5
bkg5JXlETllBQmRKLWsmalktWlE0dCRDVWgkVVMke0B8REhNKHEKekwpZSskLWBpJFIteyRKNyZ0
cHF8P3tAeSpMYE12cjxhKno1LSVEJWZsMXB0OFFaRmt2VFlXJDJ6P0pjbHNZa3BiCno9JTtwezMy
QmYrSD9xKWokPE9jRylTNTtgWDR3aDB5V25GcDlqeWRHJD0kblMweGw0X0FiNjFwPHR6X097TFpZ
Xgp6KkZORjRxPVAoKXIrOHlSTihBJlB1PyRUS0tmU2NJOTI8UH4jTy1IMFd8UVN9JkErM0hQeHUk
UCQpeWk0S1hqeDgKel43cUh8UFp4QFQmPTdzdzxKTyk+PE1VdHRVaFpIYj13c2NyQkZMSmt4cG5L
NTZUWWkkIzExZS1xNmsjSj9BWF45CnomU2kkfGU5RjlTMyZxdUYzdz9kPkklfm1NMnRfNDN5QjJK
UCs+I1pZI0Jub3JBe2p6R2Y8O0EhVlRnezZAeFBFXgp6bXFMTGk1REE0ajUoa3ZrZjljO0pBTDNe
WGN9MS1vWnsmP2xRQGw3VFJ5QW5lPVp9S1EtUFQkTCFjUnJTdDZDTFoKeiNYR3hUKlh3UWNzRHcl
cF4pNnM4eU9yWERya3Q5K0h1cCRLMnphZEM2bFZMSU92NlYzIVZae2xeeCpaQURrUXZaCnphR1hg
UVpec190eEEqY0NDbzN4UXxJNChRKXNgNiZpX2QhPXJ2bmxkWX1MLXJPKUh8VGdGfXN+aTRaQmpr
SjIkOQp6S2lxYX56S198dERhZE51eU1SV1hkZ2pQYXAwQVE3NGVAeDMtcT5QcS0/KWRFWUcoWSFe
Nk1YZjglfnxWcSNqLXQKemdrRSFBUG17ZmMmKH5Jbmp0QkBnbjJed1pTe3k+U3A2dGBkOFk+QWlV
JnlsS2AycmJ2Jl51KHExIVI+UjlOK0NYCnordzlmVER3MkFkZjg5MU9rQSRsJD8pdVowNk9QQUFv
VFZ3SG5aQmtndkNhJCYoMElSLU48UVlgIX1+eShtRn5WXwp6SG5ZWVpGek42UTtNXyg7NmNyWUpw
bV5YPlY4bSt3LXQxdzxRT20qKyt0JGBQdTNEdU1nak5jejk9MFNkUTlXdTQKelhkKlgxKnVAQCZo
dWlNYmd6Q3RqJkVUZSU/RmJuQXhiK3YoVWk4WlklMz5lflgkTjF1WmU1Pk5hVGJIUEdDOGxACnp7
eTYhKlA/JEQtYHMxPk1tMFd6XjN2bGRHK2NqaGNOamxuZytMYHJ8WTJEPFIpN1JTKVh6MlVtTSp4
Xn1Ye3dTIwp6MGlARjgjJUg4NDMlT1IkdWRfP0tQdStpVSRARSRGMip3Y2IpWllQZ2EyfkMlK3o4
bkg0SnBTJT1oc1p2TlV0Jk4KelAkNE8ldiZQKiF5PWYpcW4qbUk/QytqeTZzcWtZOyVCTGUqOHsl
VVVLVEpvR00pQVBrRTNUP2lsPmYlJXNURFU5CnpyPkAqPmktKDYqaDM/JEJVP2R0SmV6PGJ0OCtH
VUQ0ZVJ7UigxTHA5ZlooezRhUENaKyV9MEZmMEF3c1RCWDs7Swp6PTYpSCMmYnhqc2I0SjkrMTVw
VjQ4RjtBNWckJHJ4JmYwaCozaHIhdXtjfkFhSzZGbiZyOWYhRkgqdEFFQ3dFITYKekk+ezsxIUk1
QkpUVT5wdXE9YXdnIU9ja0JmXjZpa2VzIVQ7VTRGe09oeyozZjUwaDQ5eCgzXnE7UHxxUjA1fHhF
CnpfTygtMGh+fU5EdG9tfHlUPTdNVTErUDRoYmMmKikrbTxiJTZJYnp0YVN9YlU/PV5UUWRaaSQw
ITMxI3BfQWB6Iwp6SUJVNVoob0JBVUlSLXd8T0NnMSgjNld0KERJRzB3a31MYDY8XzduVDgoJntp
PlFtVFg7UVo3STBVIzBnRyhvX24KenEoZ05XZU09WXtzMUhpQ1Q+SUhNbiEjNzZTRFl4V3Yjal4h
MX16RXo+K0U/e3V3UkhOST1GRit7Pzh2WGlUendHCnoxViNna3lteHEkPX1uQkl5cnluJGkzKjZN
aEAlMCtZd2k2bDRoUzg5JCR8TV41filTS1hUcnxKJlA0LVhgdDlNdQp6P2ZCRUJORWduSHFXUURJ
a14tJmNWb2BIamIrWGRZNVhZPU8wZFNQZWoyKWcjIXY8KnA4fU1KT1BDWGQhKzFsUD4KenE4e3ky
MXQ7ZTlGcFdrcG1qbTZJNHJ6aHlIKzNPTU5ydTZoczAyejxUd0lKfSoqQn4yJkMxTFpDcUMoLU5m
YWdrCnpHUk9LRm1JdkNNVXVMVmMqWjdFTGJXKztjeW5Jak41cFZBPXUmUW51KTJOPnNoWCU5Zil8
aFMkcXU2V1Q1KGEkRwp6KWBJUXwhOXszamw+V3xGJkBXbj0wKFJuTyttY25gUHxEJTMyZks3JWBy
aEZsZHErbzIlfmNLI2YoOWwmRSlJNjQKel9wd3NITyomY2RBemhYdkI5aSVzP21qKkpiOUJ0dDdM
ZjRVSm5EQGhvPjlRITt6PFdnZF88dyV7ZTF6SWA5d31XCnpVNUE/Zm5vTmN3Qjtfc35XQk4+R01A
KSZleT9xe3ZmOWkxTCh3fSh9MDZuRCopSDNaNEsyUjduNEFlMnJLSWVFfAp6PjNJMlgpfkVrNDx+
QzBuWj16YT5QbVg9WWhLKERTaC1UdiprbSpvcD5JYEJeSGZuPWhhd3FnWGRFZH1CSnJEJGkKemhH
ZiMjSm81UGslS3xZQTxvK09Kc2pGckwrTm4zP3RCWEBCYUY9UDQ3K1pfT2xrNGMlR1N9NnNMLVJi
Uz5QP1FUCnpTSTsjeHRtUm5DezYlZj5lfFV8b3RpcXpBd3EjYn5Ma3pFLVJ2R0I7LV8zVyh5QE89
OVdTSzhvZSM2czJxQSVsJAp6emN1XngoQDxMcilUS0JQVyZZfCNRUkNtKVlzX2lIO1JXenJSKTZP
Nz5CNkljRytuaylKRnQ4dDkmXnZXN3VYKEkKem58IytYTj5lckhnfHdIODJ9SmBDaTZGVCtNamJv
NF51MyY3aXkwfnNOSD1FQE18PnJ6dUFYYXMweStLbko7RW8jCnp0ZndSOz9IM30zTGwkV2pYZVdu
aCN1ZXxrSkNNNlVxcjwmSFhAM0ZWJj40bzBEP1crc04jWis+UUctb3tUeGU2Mwp6MndBODEpNF5M
Py12JCp7SWwqTlJ0Pj8hTWxKcCo1NmlJSWtzZGBtKk87TV5JVk47dH58SkZIKiZXaj1SMVQ1TlUK
ekdkSV43ZjMza0E3Zn5QOUtBZ0w7SGV2bXpfMlNLVEVyPkxgempEYHQjY3FDNiVJUzEjQE8kd2wh
JUB4Mzd3PztFCnota3FmRzUqVj8hZ0t3N09NPVhMYCgmfHBAYGdPdClpIShVP0N9Nl5yREZ6SjU/
NmVSbVMqP2xHbl55UX0kZTsmJQp6Ukp7S0xOJllAYWxEQTd2cEo/aF81Qys4UiM3cmgmSUhJeyVR
d3ZnblF9eEpCWUxCdEhrdzZ4NFh5cSFwcUt0VHAKengrTXBgYCE0eTEjZ0tldEBnWG10Rn5oPTxv
ZjtibzZnIVMpWkBES31qI188MVVEcThHK2YjWGkkfDd1IzhAPWUtCnpnKmQmNUlJbXROPH5vc1pI
Z3xlZFctTXdwNEBmQypNayshfTMmQCZ0PkVSRENHMnh2TERLSzkxcWZBYnUhLV9Fewp6SUZveiRW
e0IwSU1WeUxfJiExMTBNZzlkS3hWajsqeU4zQTV4ITRJS0wtP2J7TjR9bXczdnNBJm1CM3Via0ND
UjkKekRiM3JxdTBTdWJ2ZUszWEdpJXBzMVgmPX07eyE5M1A7V3NTZ3l5b1BIczRWJmZAeklTQktA
P2JsZ0pAcWNaSmszCnoqVzEqZyY/JnR6bnpRVGEkbmUrcCtEKFNhRj5SWkxfNDM9eFpKb0cwbjU/
KHZfbnNMRDJodSpXYmsxbVYmc2dXfQp6V299KXw4Oz5RSFhDIyEtTFVqYVd7OU0qK2VmX2Qhcior
R1l0TntJJXM8T19EYilOcSpXVSRMQDYrd1A4VEQ1ZmQKemV+aXcjQDQ9IVFwZW1odipCJHVQTnUh
Ni1VR0tpYW04M2kreGJ4KnBoVT9gVSEhPCgtQyl4cDM0cWZ0MEdpUmpvCnpZeyZDR0shOFZZWmNx
LVktMGFZNXpLVmZoLTJSRTloUDkkITBSYVl7bndqNmdDRU8waWtyTEFHdGdUMiFeTXdsdwp6c1pR
N3xGKjlpZHRFVWljTjEmTylhZV9QRztqaHVCTHNvfCNSZHFrdShLeHFvSExwTz1eUjBuVytWaG1X
XnBuayoKelJvISltVG0jb0c0T3JYSkokVFQ8WC1sNTwmakZMSENMODhtY19oJT4yXn13QStONmtL
ajk3dyNGJUlNOFVnUGMwCnp0NTdqKSlgfGRsIVReRkhUeEFVVGZqY0VCKikqJFJfXiU8RXd4NlhO
OV9hNTReITR3SCNxUn4oMXVwNlNyUmApZwp6ejFOUkZVVHtqVSZoO15tRkJNU2NwTUx0QzhKKCVD
WW5eJSNBayR4ey1XSGFZWlJ7aWc4SyNaRTJnYG5mcS0pLVkKenh0d0ZiJD47fXxzb3llcVAxQ2d7
JVpucSFRaytnP3dJXkhsY0lSM3B0eGswYCY4NkR5b3l2VTZOMkxnbk8wcWYyCnpFPUplVWpyO156
Kz8qJERQfiYkZT4zZ0Z8XmZ+c2lzd3x+PXdAVD0oZStuYTY3KmFManpoTlh4RUdLPlRTQiZJVAp6
YFd5a1ItWjw7RipEMH5sUSMtZ2BGbT02KG9Ge2h0QD1hKm56YTxmQXw2ZlQmUDdPI3phI1N2XzNE
U3Z0ek5oezgKejUmTk9hbSpMKGlgRkMjTE1zSUteR0lFVyp7VmV4NC0rYV5BTEUhYnRmP31kXmFI
cysyYTg0fWBSa3NHVVhKMHtTCnpMbW9EfjxjfG1qRmgzN1BGdHQrVV40TThMe3xienglPiN3WDUt
WWpaSHsxYyZgQ0JvKXhUSjxJaXwyMiRPN3pNMQp6eGg3Rk5lQXZATkhoMXZWXiZkPXQtQz12dE5Z
eDU2KEBodWA4TD0ydWs1WFJWPjZkPy0oPkhoVD52MGM5SzNOcHQKekk7YEJUP1Jid1Vrb0tfYzgw
TU0+ZHNIOW9SeXtQSF9BWD9GKE9iZT1vfXdBKT1ieE42YEordDRTMSt8Xi09JlV4Cno7dkpUWkU5
KDlgQFdgd0dJWHNkajVkcmZYTi1Ja3NmMzw1RV9VPGttQzhQdmhjZXUybCpjRnRRRyh2YzVQIzQy
RAp6IXsjR2BNYTBqOWk8RFZ9eH00b2k1YjJPVUtZdG9vZUMjOUV4blAyejlkVGl3JHFfbntzQVpo
JVk7K3tWNXRvOUUKejBEbjspRFM7PnYpQFdfb1YtIW5BemxAOXFTSiFyRj0tQCNZKyhPI1lNd0Ni
RT5QaSsmUVZWYGJzamVYak1LI2QqCnpnOSF7bEcqI3FWX1lLfDU3cXdael5yTGw1eW5AXilKOWBJ
RDItUE1jaTd5dGVxbT4mJDBUK0A/dT13an1ZbT5yRAp6MT1tPH1XPTRiISs1PUkoPE5kMl8kcUNT
I1FVZDBOVjFmOzRLbFhIeGtYait8NX4+dypDeVd2X0lBazJ+bSgxTmwKek87dzM8P3YpUiNZRz5L
ZkJLbnRhRjQyV3VAODlVKkB4OER4Oz45U191Nzd9dVNSWUZiUWRrT2tecV5BYipSZXZBCnpBQyZR
U150eW9lZUxUYyY2WVVzZEpqSntBM1FMekwoYy19biFxOXROPihNIyZDdXBlXkpwTWUrQiZgQSNK
Q2RmKgp6KytkX0tMIzVAfFFOeGczLWY9Yms2YXZAZUx+WUpiRDNUPVE/bSRGX0lfOCU/SXthbHh5
X0RyUXBAJEV6Kk5LRngKej54MHVLaCN+bERgK21vc044fVY/NXZJbEZadkpJd1hLSW1pKSVrIyhw
TH12QEEyIUpnRmV5VFM8PFgtLTNXNDB4CnorbmNNJl8zPnglbEM2KmZnQmJqOShVSV9RWWw1P0RZ
RDgzQ1JYTz9YWFV+eWFKNVghZ3ZQQVdhTWk7Sng5VHwkSAp6MT00Y28yTlB4eTx0TEZXZkQ5N0FK
Z2puOXlORXFqSHMpST13ckd6NlBiUjVqaDNpSCtXdSUqKjJeYSQqKm8pO3sKekVjJmpUaWk9eStr
VmJeQDQpaDZwRVVhUUFuP3dvbyg0O2slQDsyZUsqUDVBe0IzaGRnNERSQH1iaCtWODVMYzVFCno5
NnFwZipsSntGbio5MENvPj5VIzxiQmZHZXF1cy02YD5sdFk+UkdUYzcwYi1Abn1wOzRFPjZSMjRI
KCpIXih9QAp6RyRKJUtGN01kZ143NldFXk4+ZnhJUnVrKy0/YTtILVlkdWM4fk1wMDYjPUglSDBn
UUhNY3d9WkM4XnpYcVdCZ0oKeksxYnZGQGFhQyQ9cz9uPUNBcUAkSFd2JUQjPztTTEMyTjg+X2oy
a0QhflokYCRPQmNhSmElTWg/aXtWaiFpR2dCCnpSPio+Uz0mbV4yLTxoMHY/WUpTLXArRHV+aXVs
c0hyJSQxeD07WSotSWFGalhweXR1fkBXWVpBTHFsKnltS05jaQp6UldfZFl1Rml4fVpJYEohI0R5
JlBRUj04QyhiJkJyUmJTTHxTSktnM20xUkRIZVMheH05eno7VDRUMzN9PWhJayoKeiV9aUUqUipK
Y352M3ZESWhndFR3VVI1SCRvUCQqaEEkVCQrV3AjXnRrLXV7Y3hMJEtZUSZNdHIpNVBwJEluWkU7
Cno3SXlgamM4IWFqS1JnTCZtRk81bXpQaEApQVFsQGV4VjNRNVVVciVqVXNfcEpyQilLfjs9I3E9
ZEk4WS1OUyFULQp6c2lgJE0wdDV4NlVKOU0kPjh2YXtXck48QUR9Q094MHk7eTxmdVBUQiY2LU9P
UHUteyVMPWBPOHZyN1JgWnx2cnMKejAyKURkcTR3Mn0peipPZF85YkImWW4qM1d5U1QoUGI9fW1o
RWV3IVQ3VHx+bnMlRjspbkA0PkdoekNRLXppcGRrCnp3IXVRU3NwMzVFQzNqdGl1IypYbVI+Plgo
aWskaUs8eSpJR3AldntSe1IweSlwdl9FOFdpPSVfVVpXQSVYXkZHWAp6e3hCUDJue1VSS0VqZ3t2
TjJPUmhfXz5IZzRrSzJgYGtLMSl1elMtaCtCd1JycE1uK3VAQUZ9Vm9NenZJNVlHI2kKel8zSHxw
KHN8RnBSbylzczhyVURINE8kPTt4an4/TCZvOXJoMF58Z1B5dURGS0o4MVEtY0ZUZmc9TGRWSV4w
ITQzCnoqaXFtYjZSO3VPMkJmJD0hc2QmRzdkQitoKXo8RG9LIU9UTSVadEBiemZmT2chOVVvenVL
Nm4pdngkeF81Tz9zfQp6KzJQZ1VQYGk+OTsyMihjamc1XkAmYTt0R004PX0qMUtOZ1FoVzxaKk1s
QEdzJFAxVUUrPHg2Y2UkdTlfaTEpTGMKenNrZ2M9JEpTNj1IUSVqUSgyfEtwYTMlYX1eJjw8X2g0
PElPI1RjN1I7ajlfUiM/eCgocVpoTnQ+Z0JUKTUjdnt7CnpTUGAzLSt6R3ZsMTx4OylYZUE2VnJY
cXhwO3A1ZGJIM2U3IXN1MS0kblBgRUBjZDx0bj9WM3FNdTAqVTZ3WDZiMQp6Pkg0ZWtiKDYycW9l
bW9eSUE8QktsbXJkUntDdS1xeH4zKmFPVXIzcXJ2TiEhaFRaKlE9eTFVbkdJZy0zT1VUKWgKemRp
Qnx9WVhKUFk+c1U0aVcmdj43Ozd0S2pvR0BYO3UmKXJ5IWN3aU1YJkF8SlFKYlpFSH1hJGZqPUNR
MyVsMVFVCnpaNTZ9dEJTKFVhViZTbmtrfSlOJitLTz03cGFwPyNoaHZpTzA/RFcjZmpYZERMIWg2
S0hyKj08MWJtfnRAb1otQgp6KEg5aTcyUEg3dTtlPSRjS3l5N2QqPTZ3PEhxOUtlR2MjQWROPXI8
bl9ISzF8U0NfNDNeNlBwMUljdThLKWxxaHkKenNvY3k3eX10RU9sT1k1eDMhYXopa2h9fjhDYTAq
Pmpoek1JJFJCaiRPU2pGTm0kTFBTbTdGJVM4dUx5clFQRyt8CnotX0ZLe003dm1uWjAtKitSTCU5
MCM9SW1CWGBNWilwdmM7dTRGIUZUeUpqaX0pd1UyR1RIND9aPXVfVmduVmA0cAp6Xih8K3VBfExZ
UFpQQXZndj9wPTZhcEgkYzV+V0ZBcjwlNSh5KWxUWGkoflohTGgwWn05aXlkfStgMjZKVzZNdnYK
emkhSmxSYGNTa3tkYTAlRV9WTSVjLTg2ZDNDJDV3SXg0VShJNi1kajI3OW5rZEFybkcxZDhpbWNH
YFIjfU80dm9lCnpTaCg8Qnc0THF4Sy1JQzVvdihVZ0l+Z2RWbTJIUChAU2NAX1RFIzImKnNeK3ZH
SitUVDkpNj49JnhOZihVV3UycAp6R1pWYDYzJG4+IXNiN0p6O342UmBObUctYSpWN3dxP2tQNXpL
anI2SXo2eWA5TEhZKig7dGQ+P1ZKRXxRYV53OVMKejh5fkNKZDteY2Z4UGxSP3VKZzAzdGZKe29I
Kk18SlUte0xMbnp2LVc+QkxmQ1FtQlkwb2w+cWE7NE1+ZzNiUFReCnpRdmhyYGMlQXlwbkUtQlZz
QXopSm9qalJjTkg5ej4kVmRSTFdtemwkLUx6KFdBKzVlV3p4OSlCbXt8Sj9JM31Zewp6bDlxcXxe
VCVJYnVqN2ZgSi13K0UyT1NWTTlNanNoX3JidkxsJE9FfmYqQ3g/O3ZjUCg9UyYhdGskPnNvWXdt
R18KejFxLUM4TkA7JGlCe3khNlZELShWSVpTfW4pbEhwSilfVUVrczBmZGFvLU4mNGxWe3J1Sjhi
ZGxVNFJPeWZIVkM5Cno0JUJMWlcyTEtDcSQmaW02aU53WCokeXA0RG98JV9BaHQ5MmZeJXo5dGE4
M2FlMStLdm05Mio5e3N8SyUqcllFPAp6RThKWmp7P1pXemtZVnlxQEJUWmVOUz09YGVxP0U2NzJh
OFNaZkFDUGJ3XkxoRngyVVhzaW85fDw7elJKeCo0ZCYKendZNGJIKERWc3pMP0JGQnReOFU7WlM3
VXxfNlRCI2A5JFRZaHNxQy1qY2JQV0MzeXM0Zi1BO2E2YmY8VUg4azRMCnpUfDVlST4ld1Mre1RZ
NEsxdnF3c18yfjRgdkQ0PVg4WVlAfk5FeEtSZzBebXtUJGBRJElneC01QXpkRlMrY20mNwp6UWg/
O0dzMUtlXmh8dWB0Nk1EPyEkQTkoNio0NUR3YlQ/OGl5ck4haXZtIXlvO15fI3A5azhvRmRKdF8j
ZV93Nj8KeiRUeDtpQGVxKS04UldISFF3Sng/JXhyZnhsLWpheVhXITEyaEs1NyNHdHxfJHc3VClA
ZmdmYyphVipeemZaJighCnpyYXlRJS1fNURGb2ZOfks3IUBfMEVOX2JgYClHQk4lZ098bHpZP2tR
cndQKXV1KVQ1M1gqRGZ3UXZhSClncUUrYQp6KkZobyFASH4+YmU0Wms5JkZVQ0I9K3RNTWc5ZVhP
Z2U2Nn4ydilaRmpQYkxmZ0JFSHozNmtNa0hXXnA2RkYqZGcKeiZmVWM1PzUrZ2s7Iz5UcHNtamQy
TntrSmhraEpzTmlJdG5qODl7OG1sVytWRUJXQyYhN3VQQkRVa2A2MkhQdUhGCnoqMCNFcENzMnpK
I21zPURMRU1eKjJOPCVEZEl8YFdVZ35LaW5XKnVOejZJQXU/SykjUDBXb0AwdGxoJHJLTmNyZAp6
T3RvZSZXKlkje2I2U2g2SGpTLTVHMzg+LVVfR2hDc1pvK3ghODltZFkxI0xkRk9DdmdMfSYkY0x3
PCpnLUxrKyUKejdRRmpDezBQbEhkPn0zMVp2JW09UDkqZjFqSUY5KHYtTW4tT3A8JHA4LXVLU3ZN
R3MjPGF6UTVXeGAoSWZ3SFRpCnppKExrfClJWSVnYjV2REBSZG1TRDgxSENhSlZ6dGY2U0lkYT1X
QVRHITNOIWg4IzEzKT1WYSNPYmZJOGR7V0F1TAp6c1p2JX0kOy0+NUtvcFZVZlFUWH4+ZlhSO3Za
S2F0YWxyRGozVWRFRmQoREs5N010Yk5HbDE8RjlEPH1YQ1k1KlIKemJ5K2VYM3xMVHMzMEpycEA0
NTdfPEhqeGpob2pWI0ZZbjcpKihsLUZPeyZOal4qZDNyNntlWlN0T0cpNFpLQVI8CnolMT8ja3pj
KXlhVFpQP09IUnEmQVA2ZT9DTEoxSWxASHR0VyV8SCtLTjk3Q05oZlJuYHp8amh2KDJybWd7M31T
QQp6WHdXUTMpbm5RdT9tLUhve1FSXnVeNDRiRncmbWZQSnFAJH1OKzc4T0E7MD96VSVsVCk5NXlp
YEliZkw8dktJKkoKenVtQSk+SyZpaiF2TSVxZEMlZXUyY1F0Jj1VakhhemhMSHFMPj16OWheZzhg
cztVQSUtI0IkR2d0OXV+eEhtO05XCnoxVVBCJjs2YlA2ZEB1a2YqP0l9Jj93RH17YztrUSM+NTVF
XkdlPCFGMk9TdUlveFU1O1k+ZzdTSF51ZGAqTTdwRQp6elhnUSQmdUAlQXt7UERoUSZZR0tXOEw1
cVF7I19VMzY9VEpTNXpQb3s+QCllWH1fdChuZiYqQ1hDVWs2VnFMViUKS0lNcnl+bTtWVkVgSDhY
cwoKbGl0ZXJhbCAwCkhjbVY/ZDAwMDAxCgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vY2hyb21pdW0vY29tcG9zaXRpbmcvZml4ZWQtcG9zaXRpb24tY29udGFpbmVyLXdpdGgtcGFn
ZS1zY2FsZS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9jb21w
b3NpdGluZy9maXhlZC1wb3NpdGlvbi1jb250YWluZXItd2l0aC1wYWdlLXNjYWxlLWV4cGVjdGVk
LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5jZjlhZTFhY2ViY2MyMzdmMjBlOTZiZmZlZTQzMDVmYjBkNDQ3ZDU1
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vY29tcG9z
aXRpbmcvZml4ZWQtcG9zaXRpb24tY29udGFpbmVyLXdpdGgtcGFnZS1zY2FsZS1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSw1MiBAQAorTGF5ZXJDaHJvbWl1bQorICAgIGxheWVyIElEOiAyCisgICAg
c2Nyb2xsYWJsZTogbm8KKyAgICBzaG91bGRTY3JvbGxPbk1haW5UaHJlYWQ6IG5vCisgICAgaGF2
ZVdoZWVsRXZlbnRIYW5kbGVyczogbm8KKyAgICBpc0NvbnRhaW5lckZvckZpeGVkUG9zaXRpb25M
YXllcnM6IG5vCisgICAgZml4ZWRUb0NvbnRhaW5lckxheWVyOiBubworICBMYXllckNocm9taXVt
CisgICAgICBsYXllciBJRDogMworICAgICAgc2Nyb2xsYWJsZTogbm8KKyAgICAgIHNob3VsZFNj
cm9sbE9uTWFpblRocmVhZDogbm8KKyAgICAgIGhhdmVXaGVlbEV2ZW50SGFuZGxlcnM6IG5vCisg
ICAgICBpc0NvbnRhaW5lckZvckZpeGVkUG9zaXRpb25MYXllcnM6IG5vCisgICAgICBmaXhlZFRv
Q29udGFpbmVyTGF5ZXI6IG5vCisgICAgTGF5ZXJDaHJvbWl1bQorICAgICAgICBsYXllciBJRDog
NAorICAgICAgICBzY3JvbGxhYmxlOiB5ZXMKKyAgICAgICAgc2Nyb2xsUG9zaXRpb246IDAsIDAK
KyAgICAgICAgbWF4U2Nyb2xsUG9zaXRpb246IDAsIDAKKyAgICAgICAgc2hvdWxkU2Nyb2xsT25N
YWluVGhyZWFkOiBubworICAgICAgICBoYXZlV2hlZWxFdmVudEhhbmRsZXJzOiBubworICAgICAg
ICBpc0NvbnRhaW5lckZvckZpeGVkUG9zaXRpb25MYXllcnM6IHllcworICAgICAgICBmaXhlZFRv
Q29udGFpbmVyTGF5ZXI6IG5vCisgICAgICBMYXllckNocm9taXVtCisgICAgICAgICAgbGF5ZXIg
SUQ6IDUKKyAgICAgICAgICBzY3JvbGxhYmxlOiBubworICAgICAgICAgIHNob3VsZFNjcm9sbE9u
TWFpblRocmVhZDogbm8KKyAgICAgICAgICBoYXZlV2hlZWxFdmVudEhhbmRsZXJzOiBubworICAg
ICAgICAgIGlzQ29udGFpbmVyRm9yRml4ZWRQb3NpdGlvbkxheWVyczogbm8KKyAgICAgICAgICBm
aXhlZFRvQ29udGFpbmVyTGF5ZXI6IG5vCisgICAgICBMYXllckNocm9taXVtCisgICAgICAgICAg
bGF5ZXIgSUQ6IDEKKyAgICAgICAgICBzY3JvbGxhYmxlOiBubworICAgICAgICAgIHNob3VsZFNj
cm9sbE9uTWFpblRocmVhZDogbm8KKyAgICAgICAgICBoYXZlV2hlZWxFdmVudEhhbmRsZXJzOiBu
bworICAgICAgICAgIGlzQ29udGFpbmVyRm9yRml4ZWRQb3NpdGlvbkxheWVyczogbm8KKyAgICAg
ICAgICBmaXhlZFRvQ29udGFpbmVyTGF5ZXI6IG5vCisgICAgICAgIExheWVyQ2hyb21pdW0KKyAg
ICAgICAgICAgIGxheWVyIElEOiA3CisgICAgICAgICAgICBzY3JvbGxhYmxlOiBubworICAgICAg
ICAgICAgc2hvdWxkU2Nyb2xsT25NYWluVGhyZWFkOiBubworICAgICAgICAgICAgaGF2ZVdoZWVs
RXZlbnRIYW5kbGVyczogbm8KKyAgICAgICAgICAgIGlzQ29udGFpbmVyRm9yRml4ZWRQb3NpdGlv
bkxheWVyczogbm8KKyAgICAgICAgICAgIGZpeGVkVG9Db250YWluZXJMYXllcjogbm8KKyAgICAg
ICAgICBMYXllckNocm9taXVtCisgICAgICAgICAgICAgIGxheWVyIElEOiA2CisgICAgICAgICAg
ICAgIHNjcm9sbGFibGU6IG5vCisgICAgICAgICAgICAgIHNob3VsZFNjcm9sbE9uTWFpblRocmVh
ZDogbm8KKyAgICAgICAgICAgICAgaGF2ZVdoZWVsRXZlbnRIYW5kbGVyczogbm8KKyAgICAgICAg
ICAgICAgaXNDb250YWluZXJGb3JGaXhlZFBvc2l0aW9uTGF5ZXJzOiB5ZXMKKyAgICAgICAgICAg
ICAgZml4ZWRUb0NvbnRhaW5lckxheWVyOiBubworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9jaHJvbWl1bS9jb21wb3NpdGluZy9maXhlZC1wb3NpdGlvbi1jb250YWluZXItd2l0
aC1wYWdlLXNjYWxlLmh0bWwgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9jb21wb3Np
dGluZy9maXhlZC1wb3NpdGlvbi1jb250YWluZXItd2l0aC1wYWdlLXNjYWxlLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjQ3NmY2N2M0N2ZlOTAwOThmMjE0NWI4NTA2OWRiNmY4ZDQzNTg2MAotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2NvbXBvc2l0aW5nL2ZpeGVk
LXBvc2l0aW9uLWNvbnRhaW5lci13aXRoLXBhZ2Utc2NhbGUuaHRtbApAQCAtMCwwICsxLDM1IEBA
Cis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorCis8IS0tCitTZXR0aW5nIGEgbm9uLWlkZW50aXR5
IHBhZ2Ugc2NhbGUgc2hvdWxkIG5vdCBtYXJrIHRoZSByZW5kZXIgdmlldyBsYXllciBhcyBhCitj
b250YWluZXIgZm9yIGZpeGVkIHBvc2l0aW9uIGxheWVycy4KKworaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTg5MjE2CistLT4KKzxoZWFkPgorICA8c3R5bGU+CisgICAg
LnRyaWdnZXJDb21wb3NpdGlvbiB7CisgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRl
WigwKTsKKyAgICB9CisgIDwvc3R5bGU+CisKKyAgPHNjcmlwdD4KKyAgICB3aW5kb3cuYWRkRXZl
bnRMaXN0ZW5lcignbG9hZCcsIGZ1bmN0aW9uKCkgeworICAgICAgaWYgKHdpbmRvdy5pbnRlcm5h
bHMpCisgICAgICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0UGFnZVNjYWxlRmFjdG9y
KDAuNSwgMCwgMCk7CisgICAgICBpZiAod2luZG93LnRlc3RSdW5uZXIpIHsKKyAgICAgICAgdGVz
dFJ1bm5lci5kdW1wQXNUZXh0KHRydWUpOworICAgICAgICB0ZXN0UnVubmVyLmRpc3BsYXkoKTsK
KyAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNjcm9sbGluZ1RyZWUiKS5pbm5lclRl
eHQgPSB3aW5kb3cudGVzdFJ1bm5lci5zY3JvbGxpbmdUcmVlQXNUZXh0KCk7CisgICAgICB9Cisg
ICAgfSk7CisgIDwvc2NyaXB0PgorPC9oZWFkPgorCis8Ym9keT4KKyAgPGRpdiBjbGFzcz0idHJp
Z2dlckNvbXBvc2l0aW9uIj48L2Rpdj4KKyAgPHByZSBpZD0ic2Nyb2xsaW5nVHJlZSI+PC9wcmU+
Cis8L2JvZHk+CisKKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>148101</attachid>
            <date>2012-06-18 08:09:24 -0700</date>
            <delta_ts>2012-06-18 11:01:46 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-89216-20120618160923.patch</filename>
            <type>text/plain</type>
            <size>57725</size>
            <attacher name="Sami Kyostila">skyostil</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIwNTkwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTY0NjIwMjIyNDk2ZjMw
ZDEyNWQzZWZhMWQwMDE1MzBlM2I4NmFhYy4uNmQ4ZDVhZGJmOWUyY2ZkNjlkODE3MjEzZGFlYmUy
M2NkNmUzOGNmYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU1IEBACisyMDEyLTA2LTE4ICBTYW1p
IEt5b3N0aWxhICA8c2t5b3N0aWxAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJlbmRlclZpZXcg
bGF5ZXIgaXMgbWFya2VkIGFzIGZpeGVkIHBvc2l0aW9uIGNvbnRhaW5lciBpZiBwYWdlIHNjYWxl
ICE9IDEKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg5
MjE2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgUmVu
ZGVyIGxheWVycyB3aXRoIENTUyB0cmFuc2Zvcm1zIHNob3VsZCBiZWNvbWUgY29udGFpbmVycyBm
b3IgYW55IGZpeGVkCisgICAgICAgIHBvc2l0aW9uZWQgZGVzY2VuZGFudHMuIEhvd2V2ZXIsIGJl
Y2F1c2UgdGhpcyBjaGVjayBpcyBkb25lIHdpdGgKKyAgICAgICAgUmVuZGVyTGF5ZXI6Omhhc1Ry
YW5zZm9ybSgpLCB3ZSBhbHNvIGVuZCB1cCBtYXJraW5nIHRoZSBSZW5kZXJMYXllciBmb3IgdGhl
CisgICAgICAgIFJlbmRlclZpZXcgYXMgZml4ZWQgcG9zaXRpb24gY29udGFpbmVyIGlmIGEgbm9u
LWlkZW50aXR5IHBhZ2Ugc2NhbGUgZmFjdG9yIGlzCisgICAgICAgIHVzZWQuIFRoaXMgaXMgYmVj
YXVzZSBwYWdlIHNjYWxlIGlzIGFwcGxpZWQgYXMgYSB0cmFuc2Zvcm0gZm9yIHRoYXQgbGF5ZXIu
CisKKyAgICAgICAgVGhpcyBicmVha3MgZml4ZWQgcG9zaXRpb24gbGF5ZXJzLCBiZWNhdXNlIHRo
ZXkgYmVjb21lIGZpeGVkIHJlbGF0aXZlIHRvIHRoZQorICAgICAgICBSZW5kZXJWaWV3IGxheWVy
IGluc3RlYWQgb2Ygb3V0ZXIgc2Nyb2xsIGNsaXAgbGF5ZXIuCisKKyAgICAgICAgVGhlIGZpeCBp
cyB0byBhdm9pZCBtYXJraW5nIGFueSBSZW5kZXJWaWV3IGxheWVycyBhcyBmaXhlZCBwb3NpdGlv
biBjb250YWluZXJzLgorCisgICAgICAgIFRoaXMgcGF0Y2ggYWxzbyBhZGRzIGEgdGVzdGluZyBm
cmFtZXdvcmsgZm9yIFNjcm9sbGluZ0Nvb3JkaW5hdG9yLiBMYXlvdXQKKyAgICAgICAgdGVzdHMg
Y2FuIGNhbGwgdGVzdFJ1bm5lci5zY3JvbGxpbmdUcmVlQXNUZXh0KCkgdG8gcmV0cmlldmUgYSB0
ZXh0CisgICAgICAgIHJlcHJlc2VudGF0aW9uIG9mIHRoZSBzY3JvbGxpbmcgdHJlZSBvZiB0aGUg
Y3VycmVudCBwYWdlLiBUaGlzIGZlYXR1cmUgaXMKKyAgICAgICAgY3VycmVudGx5IG9ubHkgaW1w
bGVtZW50ZWQgZm9yIHRoZSBDaHJvbWl1bSBzY3JvbGxpbmcgY29vcmRpbmF0b3IgYmFjay1lbmQu
CisKKyAgICAgICAgVGVzdDogcGxhdGZvcm0vY2hyb21pdW0vY29tcG9zaXRpbmcvZml4ZWQtcG9z
aXRpb24tY29udGFpbmVyLXdpdGgtcGFnZS1zY2FsZS5odG1sCisKKyAgICAgICAgKiBwYWdlL0Zy
YW1lLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkZyYW1lOjpzY3JvbGxpbmdUcmVlQXNUZXh0KToK
KyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAqIHBhZ2UvRnJhbWUuaDoKKyAgICAgICAgKEZy
YW1lKToKKyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdDb29yZGluYXRvci5jcHA6
CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGluZ0Nvb3JkaW5h
dG9yOjpzY3JvbGxpbmdUcmVlQXNUZXh0KToKKyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9TY3Jv
bGxpbmdDb29yZGluYXRvci5oOgorICAgICAgICAoU2Nyb2xsaW5nQ29vcmRpbmF0b3IpOgorICAg
ICAgICAqIHBhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ0Nvb3JkaW5hdG9yTm9uZS5jcHA6CisgICAg
ICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGluZ0Nvb3JkaW5hdG9yOjpz
Y3JvbGxpbmdUcmVlQXNUZXh0KToKKyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9jaHJvbWl1bS9T
Y3JvbGxpbmdDb29yZGluYXRvckNocm9taXVtLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OndyaXRl
SW5kZW50KToKKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6Ym9vbGVhbkFz
VGV4dCk6CisgICAgICAgIChXZWJDb3JlOjpkdW1wTGF5ZXJTY3JvbGxpbmdQcm9wZXJ0aWVzKToK
KyAgICAgICAgKFdlYkNvcmU6OmR1bXBMYXllcik6CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxp
bmdDb29yZGluYXRvcjo6c2Nyb2xsaW5nVHJlZUFzVGV4dCk6CisgICAgICAgICogcGxhdGZvcm0v
Z3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJDaHJvbWl1bS5oOgorICAgICAgICAoV2ViQ29yZTo6TGF5
ZXJDaHJvbWl1bTo6c2hvdWxkU2Nyb2xsT25NYWluVGhyZWFkKToKKyAgICAgICAgKFdlYkNvcmU6
OkxheWVyQ2hyb21pdW06OmhhdmVXaGVlbEV2ZW50SGFuZGxlcnMpOgorICAgICAgICAoV2ViQ29y
ZTo6TGF5ZXJDaHJvbWl1bTo6bm9uRmFzdFNjcm9sbGFibGVSZWdpb24pOgorICAgICAgICAqIHJl
bmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
TGF5ZXJCYWNraW5nOjp1cGRhdGVHcmFwaGljc0xheWVyR2VvbWV0cnkpOgorCiAyMDEyLTA2LTE4
ICBBbGV4ZWkgRmlsaXBwb3YgIDxhbGV4ZWlmQGNocm9taXVtLm9yZz4KIAogICAgICAgICBXZWIg
SW5zcGVjdG9yOiBBZGQgaGVhcCBwcm9maWxlciBvd25lZCBtZW1vcnkgdG8gdGhlIHBpZSBjaGFy
dApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cgYi9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCAwMDkyNDk0NDQxODQ4MmI1NzhiODYzOGJi
MzhiN2VhMTdiNWYyMWMxLi44YTI5NmNhMjZjMmE0ZTdkYWJjNmFmYmFhYmQ4MzYyMDEyMjA3YTgw
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZworKysgYi9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIxIEBACisyMDEyLTA2LTE4
ICBTYW1pIEt5b3N0aWxhICA8c2t5b3N0aWxAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJlbmRl
clZpZXcgbGF5ZXIgaXMgbWFya2VkIGFzIGZpeGVkIHBvc2l0aW9uIGNvbnRhaW5lciBpZiBwYWdl
IHNjYWxlICE9IDEKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTg5MjE2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgQWRkZWQgc2Nyb2xsaW5nVHJlZUFzVGV4dCgpIGZvciB0ZXN0aW5nIHRoZSBzY3JvbGxpbmcg
Y29vcmRpbmF0b3IuIEl0IHJldHVybnMKKyAgICAgICAgYSB0ZXh0IHJlcHJlc2VudGF0aW9uIG9m
IHRoZSBjdXJyZW50IHNjcm9sbGluZyB0cmVlLgorCisgICAgICAgICogcHVibGljL1dlYkZyYW1l
Lmg6CisgICAgICAgIChXZWJGcmFtZSk6CisgICAgICAgICogc3JjL1dlYkZyYW1lSW1wbC5jcHA6
CisgICAgICAgIChXZWJLaXQ6OldlYkZyYW1lSW1wbDo6c2Nyb2xsaW5nVHJlZUFzVGV4dCk6Cisg
ICAgICAgIChXZWJLaXQpOgorICAgICAgICAqIHNyYy9XZWJGcmFtZUltcGwuaDoKKyAgICAgICAg
KFdlYkZyYW1lSW1wbCk6CisKIDIwMTItMDYtMTggIEhpcm9ub3JpIEJvbm8gIDxoYm9ub0BjaHJv
bWl1bS5vcmc+CiAKICAgICAgICAgW2Nocm9taXVtXSBTcGVsbGNoZWNrZXIgc2hvdWxkIHNob3cg
c3VnZ2VzdGlvbnMgb25seSB3aGVuIHJpZ2h0LWNsaWNraW5nIGEgbWlzc3BlbGxlZCB3b3JkLgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0ZyYW1lLmNwcAppbmRleCA5MWQzMWUzYmZkMTQ3YTg5MGY3NmE3MzkwMDBkM2IwMDI1
MzRmOGI0Li5iY2E0NzhlOGI4ZjRjNWU4YmFjNzFjOTFiZWE5YzNmMjUwNzkxNzNjIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL0ZyYW1lLmNwcApAQCAtNzgsNiArNzgsNyBAQAogI2luY2x1ZGUgIlNjcmlwdENvbnRyb2xs
ZXIuaCIKICNpbmNsdWRlICJTY3JpcHRTb3VyY2VDb2RlLmgiCiAjaW5jbHVkZSAiU2NyaXB0VmFs
dWUuaCIKKyNpbmNsdWRlICJTY3JvbGxpbmdDb29yZGluYXRvci5oIgogI2luY2x1ZGUgIlNldHRp
bmdzLmgiCiAjaW5jbHVkZSAiU3R5bGVQcm9wZXJ0eVNldC5oIgogI2luY2x1ZGUgIlRleHRJdGVy
YXRvci5oIgpAQCAtOTA0LDYgKzkwNSwxNyBAQCBTdHJpbmcgRnJhbWU6OmxheWVyVHJlZUFzVGV4
dChib29sIHNob3dEZWJ1Z0luZm8pIGNvbnN0CiAjZW5kaWYKIH0KIAorU3RyaW5nIEZyYW1lOjpz
Y3JvbGxpbmdUcmVlQXNUZXh0KCkgY29uc3QKK3sKKyAgICBQYWdlKiBwYWdlID0gdGhpcy0+cGFn
ZSgpOworICAgIGlmICghcGFnZSkKKyAgICAgICAgcmV0dXJuIFN0cmluZygpOworICAgIFNjcm9s
bGluZ0Nvb3JkaW5hdG9yKiBzY3JvbGxpbmdDb29yZGluYXRvciA9IHBhZ2UtPnNjcm9sbGluZ0Nv
b3JkaW5hdG9yKCk7CisgICAgaWYgKCFzY3JvbGxpbmdDb29yZGluYXRvcikKKyAgICAgICAgcmV0
dXJuIFN0cmluZygpOworICAgIHJldHVybiBzY3JvbGxpbmdDb29yZGluYXRvci0+c2Nyb2xsaW5n
VHJlZUFzVGV4dCgpOworfQorCiB2b2lkIEZyYW1lOjpzZXRQYWdlWm9vbUZhY3RvcihmbG9hdCBm
YWN0b3IpCiB7CiAgICAgc2V0UGFnZUFuZFRleHRab29tRmFjdG9ycyhmYWN0b3IsIG1fdGV4dFpv
b21GYWN0b3IpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZS5oIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9GcmFtZS5oCmluZGV4IDc3YTczZDgwNzI1NzBiMGRiMjlkNzQ5Y2M5
MTc0MTdlNmI2OTEyODcuLmU2ZjExMTMzMGM5MDNhYjYxOTRkYTE1NDgxMzkwYjFlYzdlY2ExNDkg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWUuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0ZyYW1lLmgKQEAgLTEyNCw2ICsxMjQsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAgICAgICAgIHZvaWQgaW5qZWN0VXNlclNjcmlwdHMoVXNlclNjcmlwdEluamVjdGlvblRpbWUp
OwogICAgICAgICAKICAgICAgICAgU3RyaW5nIGxheWVyVHJlZUFzVGV4dChib29sIHNob3dEZWJ1
Z0luZm8gPSBmYWxzZSkgY29uc3Q7CisgICAgICAgIFN0cmluZyBzY3JvbGxpbmdUcmVlQXNUZXh0
KCkgY29uc3Q7CiAKICAgICAgICAgLy8gVW5saWtlIG1vc3QgYWNjZXNzb3JzIGluIHRoaXMgY2xh
c3MsIGRvbVdpbmRvdygpIGFsd2F5cyBjcmVhdGVzIGEgbmV3IERPTVdpbmRvdyBpZiBtX2RvbVdp
bmRvdyBpcyBudWxsLgogICAgICAgICAvLyBDYWxsZXJzIHRoYXQgZG9uJ3QgbmVlZCBhIG5ldyBE
T01XaW5kb3cgdG8gYmUgY3JlYXRlZCBzaG91bGQgdXNlIGV4aXN0aW5nRE9NV2luZG93KCkuCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdDb29yZGlu
YXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdDb29yZGlu
YXRvci5jcHAKaW5kZXggNmQxZjJhNjBkMDU3MjM2YWQwYjY0ZDMxNzAxNDRiZjRjNDk0MzRkNi4u
Y2I4ZjMzYjhhZWZmMDcxMWYwZmE5ZDYyZDk1N2I3MWExYTFlNDE5YSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nQ29vcmRpbmF0b3IuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmNwcApA
QCAtNDY2LDYgKzQ2NiwxMiBAQCB2b2lkIFNjcm9sbGluZ0Nvb3JkaW5hdG9yOjpzZXRMYXllcklz
Rml4ZWRUb0NvbnRhaW5lckxheWVyKEdyYXBoaWNzTGF5ZXIqLCBib29sKQogewogICAgIC8vIEZJ
WE1FOiBJbXBsZW1lbnQhCiB9CisKK1N0cmluZyBTY3JvbGxpbmdDb29yZGluYXRvcjo6c2Nyb2xs
aW5nVHJlZUFzVGV4dCgpIGNvbnN0Cit7CisgICAgLy8gRklYTUU6IEltcGxlbWVudC4KKyAgICBy
ZXR1cm4gU3RyaW5nKCk7Cit9CiAjZW5kaWYgLy8gIUVOQUJMRShUSFJFQURFRF9TQ1JPTExJTkcp
CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L3Njcm9sbGluZy9TY3JvbGxpbmdDb29yZGluYXRvci5oCmluZGV4IDM1NjQ5YTkxZmZiOGU0Njgw
YmRmZGY1NTgzYjg4OGI3MzI1ZGVmMDEuLjVhNDhmYmQ5Y2EwZmQyMzE1NzIwOGRlMWI2MjE4ZjFh
MWY3YTJmN2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9s
bGluZ0Nvb3JkaW5hdG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Ny
b2xsaW5nQ29vcmRpbmF0b3IuaApAQCAtMTIzLDYgKzEyMywxMCBAQCBwdWJsaWM6CiAgICAgLy8g
QXR0YWNoL2RldGFjaCBsYXllciBwb3NpdGlvbiB0byBhbmNlc3RvciBmaXhlZCBwb3NpdGlvbiBj
b250YWluZXIuCiAgICAgdm9pZCBzZXRMYXllcklzRml4ZWRUb0NvbnRhaW5lckxheWVyKEdyYXBo
aWNzTGF5ZXIqLCBib29sKTsKIAorICAgIC8vIFJldHVybiBhIHRleHQgcmVwcmVzZW50YXRpb24g
b2YgdGhlIHNjcm9sbGluZyB0cmVlLiBVc2VkIHRvIHZlcmlmeSBzY3JvbGxpbmcgY29vcmRpbmF0
b3IKKyAgICAvLyBiZWhhdmlvciBpbiBsYXlvdXQgdGVzdHMuCisgICAgU3RyaW5nIHNjcm9sbGlu
Z1RyZWVBc1RleHQoKSBjb25zdDsKKwogcHJpdmF0ZToKICAgICBleHBsaWNpdCBTY3JvbGxpbmdD
b29yZGluYXRvcihQYWdlKik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Ny
b2xsaW5nL1Njcm9sbGluZ0Nvb3JkaW5hdG9yTm9uZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L3Njcm9sbGluZy9TY3JvbGxpbmdDb29yZGluYXRvck5vbmUuY3BwCmluZGV4IGYwYWNmZTBjYzNi
MTcxZDMzMTA0NzA0NjUwMDJlMGQyYTU3ZmQwOWMuLmI1ZTA3MTk1ZWY4NzU5OTZjYTFjNmFlYTkx
NzZiZWNiZmRkYTJjMmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5n
L1Njcm9sbGluZ0Nvb3JkaW5hdG9yTm9uZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9z
Y3JvbGxpbmcvU2Nyb2xsaW5nQ29vcmRpbmF0b3JOb25lLmNwcApAQCAtMjYsNiArMjYsNyBAQAog
I2luY2x1ZGUgImNvbmZpZy5oIgogCiAjaW5jbHVkZSAiU2Nyb2xsaW5nQ29vcmRpbmF0b3IuaCIK
KyNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewog
CkBAIC04Myw2ICs4NCwxMSBAQCB2b2lkIFNjcm9sbGluZ0Nvb3JkaW5hdG9yOjpzZXRMYXllcklz
Q29udGFpbmVyRm9yRml4ZWRQb3NpdGlvbkxheWVycyhHcmFwaGljc0xheQogdm9pZCBTY3JvbGxp
bmdDb29yZGluYXRvcjo6c2V0TGF5ZXJJc0ZpeGVkVG9Db250YWluZXJMYXllcihHcmFwaGljc0xh
eWVyKiwgYm9vbCkKIHsKIH0KKworU3RyaW5nIFNjcm9sbGluZ0Nvb3JkaW5hdG9yOjpzY3JvbGxp
bmdUcmVlQXNUZXh0KCkgY29uc3QKK3sKKyAgICByZXR1cm4gU3RyaW5nKCk7Cit9CiAjZW5kaWYg
Ly8gIUVOQUJMRShUSFJFQURFRF9TQ1JPTExJTkcpCiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL2Nocm9taXVtL1Njcm9sbGluZ0Nvb3JkaW5hdG9yQ2hyb21p
dW0uY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvY2hyb21pdW0vU2Nyb2xsaW5n
Q29vcmRpbmF0b3JDaHJvbWl1bS5jcHAKaW5kZXggMGMzYjBjMzI5NGQ4MjhmYjM1MDdhMzY1YzY3
YjIwNTkzOTMxYjA4MS4uNzg4MjdkMmFkZWY1YzczY2Q1MDYzOTdmOGVjY2RjMTk3MzhhNGM4YiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvY2hyb21pdW0vU2Nyb2xs
aW5nQ29vcmRpbmF0b3JDaHJvbWl1bS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3Jv
bGxpbmcvY2hyb21pdW0vU2Nyb2xsaW5nQ29vcmRpbmF0b3JDaHJvbWl1bS5jcHAKQEAgLTM1LDYg
KzM1LDcgQEAKICNpbmNsdWRlICJSZW5kZXJWaWV3LmgiCiAjaW5jbHVkZSAiU2Nyb2xsYmFyTGF5
ZXJDaHJvbWl1bS5oIgogI2luY2x1ZGUgIlNjcm9sbGJhclRoZW1lLmgiCisjaW5jbHVkZSAiVGV4
dFN0cmVhbS5oIgogI2luY2x1ZGUgImNjL0NDUHJveHkuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewpAQCAtMjAxLDQgKzIwMiw4NiBAQCB2b2lkIFNjcm9sbGluZ0Nvb3JkaW5hdG9yOjpzZXRMYXll
cklzRml4ZWRUb0NvbnRhaW5lckxheWVyKEdyYXBoaWNzTGF5ZXIqIGxheWVyLAogICAgICAgICBw
bGF0Zm9ybUxheWVyLT5zZXRGaXhlZFRvQ29udGFpbmVyTGF5ZXIoZW5hYmxlKTsKIH0KIAorc3Rh
dGljIHZvaWQgd3JpdGVJbmRlbnQoVGV4dFN0cmVhbSYgdGV4dFN0cmVhbSwgaW50IGluZGVudCkK
K3sKKyAgICBmb3IgKGludCBpID0gMDsgaSA8IGluZGVudDsgKytpKQorICAgICAgICB0ZXh0U3Ry
ZWFtIDw8ICIgICI7Cit9CisKK3N0YXRpYyBjb25zdCBjaGFyKiBib29sZWFuQXNUZXh0KGJvb2wg
dmFsdWUpCit7CisgICAgcmV0dXJuIHZhbHVlID8gInllcyIgOiAibm8iOworfQorCitzdGF0aWMg
dm9pZCBkdW1wTGF5ZXJTY3JvbGxpbmdQcm9wZXJ0aWVzKFRleHRTdHJlYW0mIHRleHRTdHJlYW0s
IGNvbnN0IExheWVyQ2hyb21pdW0qIGxheWVyLCBpbnQgaW5kZW50KQoreworICAgIHdyaXRlSW5k
ZW50KHRleHRTdHJlYW0sIGluZGVudCk7CisgICAgdGV4dFN0cmVhbSA8PCAibGF5ZXIgSUQ6ICIg
PDwgbGF5ZXItPmlkKCkgPDwgIlxuIjsKKworICAgIHdyaXRlSW5kZW50KHRleHRTdHJlYW0sIGlu
ZGVudCk7CisgICAgdGV4dFN0cmVhbSA8PCAic2Nyb2xsYWJsZTogIiA8PCBib29sZWFuQXNUZXh0
KGxheWVyLT5zY3JvbGxhYmxlKCkpIDw8ICJcbiI7CisKKyAgICBpZiAobGF5ZXItPnNjcm9sbGFi
bGUoKSkgeworICAgICAgICB3cml0ZUluZGVudCh0ZXh0U3RyZWFtLCBpbmRlbnQpOworICAgICAg
ICB0ZXh0U3RyZWFtIDw8ICJzY3JvbGxQb3NpdGlvbjogIiA8PCBsYXllci0+c2Nyb2xsUG9zaXRp
b24oKS54KCkgPDwgIiwgIiA8PCBsYXllci0+c2Nyb2xsUG9zaXRpb24oKS55KCkgPDwgIlxuIjsK
KworICAgICAgICB3cml0ZUluZGVudCh0ZXh0U3RyZWFtLCBpbmRlbnQpOworICAgICAgICB0ZXh0
U3RyZWFtIDw8ICJtYXhTY3JvbGxQb3NpdGlvbjogIiA8PCBsYXllci0+bWF4U2Nyb2xsUG9zaXRp
b24oKS53aWR0aCgpIDw8ICIsICIgPDwgbGF5ZXItPm1heFNjcm9sbFBvc2l0aW9uKCkuaGVpZ2h0
KCkgPDwgIlxuIjsKKyAgICB9CisKKyAgICB3cml0ZUluZGVudCh0ZXh0U3RyZWFtLCBpbmRlbnQp
OworICAgIHRleHRTdHJlYW0gPDwgInNob3VsZFNjcm9sbE9uTWFpblRocmVhZDogIiA8PCBib29s
ZWFuQXNUZXh0KGxheWVyLT5zaG91bGRTY3JvbGxPbk1haW5UaHJlYWQoKSkgPDwgIlxuIjsKKwor
ICAgIHdyaXRlSW5kZW50KHRleHRTdHJlYW0sIGluZGVudCk7CisgICAgdGV4dFN0cmVhbSA8PCAi
aGF2ZVdoZWVsRXZlbnRIYW5kbGVyczogIiA8PCBib29sZWFuQXNUZXh0KGxheWVyLT5oYXZlV2hl
ZWxFdmVudEhhbmRsZXJzKCkpIDw8ICJcbiI7CisKKyAgICBpZiAoIWxheWVyLT5ub25GYXN0U2Ny
b2xsYWJsZVJlZ2lvbigpLmlzRW1wdHkoKSkgeworICAgICAgICB3cml0ZUluZGVudCh0ZXh0U3Ry
ZWFtLCBpbmRlbnQpOworICAgICAgICB0ZXh0U3RyZWFtIDw8ICJub25GYXN0U2Nyb2xsYWJsZVJl
Z2lvbjogIjsKKyAgICAgICAgVmVjdG9yPEludFJlY3Q+IHJlY3RzID0gbGF5ZXItPm5vbkZhc3RT
Y3JvbGxhYmxlUmVnaW9uKCkucmVjdHMoKTsKKyAgICAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkg
PCByZWN0cy5zaXplKCk7ICsraSkKKyAgICAgICAgICAgIHRleHRTdHJlYW0gPDwgIlsiIDw8IHJl
Y3RzW2ldLngoKSA8PCAiLCAiIDw8IHJlY3RzW2ldLnkoKSA8PCAiLCAiIDw8IHJlY3RzW2ldLndp
ZHRoKCkgPDwgIiwgIiA8PCByZWN0c1tpXS5oZWlnaHQoKSA8PCAiXSAiOworICAgICAgICB0ZXh0
U3RyZWFtIDw8ICJcbiI7CisgICAgfQorCisgICAgd3JpdGVJbmRlbnQodGV4dFN0cmVhbSwgaW5k
ZW50KTsKKyAgICB0ZXh0U3RyZWFtIDw8ICJpc0NvbnRhaW5lckZvckZpeGVkUG9zaXRpb25MYXll
cnM6ICIgPDwgYm9vbGVhbkFzVGV4dChsYXllci0+aXNDb250YWluZXJGb3JGaXhlZFBvc2l0aW9u
TGF5ZXJzKCkpIDw8ICJcbiI7CisKKyAgICB3cml0ZUluZGVudCh0ZXh0U3RyZWFtLCBpbmRlbnQp
OworICAgIHRleHRTdHJlYW0gPDwgImZpeGVkVG9Db250YWluZXJMYXllcjogIiA8PCBib29sZWFu
QXNUZXh0KGxheWVyLT5maXhlZFRvQ29udGFpbmVyTGF5ZXIoKSkgPDwgIlxuIjsKK30KKworc3Rh
dGljIHZvaWQgZHVtcExheWVyKFRleHRTdHJlYW0mIHRleHRTdHJlYW0sIGNvbnN0IExheWVyQ2hy
b21pdW0qIGxheWVyLCBpbnQgaW5kZW50KQoreworICAgIHdyaXRlSW5kZW50KHRleHRTdHJlYW0s
IGluZGVudCk7CisgICAgdGV4dFN0cmVhbSA8PCAiTGF5ZXJDaHJvbWl1bVxuIjsKKyAgICBkdW1w
TGF5ZXJTY3JvbGxpbmdQcm9wZXJ0aWVzKHRleHRTdHJlYW0sIGxheWVyLCBpbmRlbnQgKyAyKTsK
KworICAgIGlmIChsYXllci0+cmVwbGljYUxheWVyKCkpIHsKKyAgICAgICAgd3JpdGVJbmRlbnQo
dGV4dFN0cmVhbSwgaW5kZW50ICsgMik7CisgICAgICAgIHRleHRTdHJlYW0gPDwgIlJlcGxpY2E6
XG4iOworICAgICAgICBkdW1wTGF5ZXIodGV4dFN0cmVhbSwgbGF5ZXItPnJlcGxpY2FMYXllcigp
LCBpbmRlbnQgKyAzKTsKKyAgICB9CisKKyAgICBpZiAobGF5ZXItPm1hc2tMYXllcigpKSB7Cisg
ICAgICAgIHdyaXRlSW5kZW50KHRleHRTdHJlYW0sIGluZGVudCArIDIpOworICAgICAgICB0ZXh0
U3RyZWFtIDw8ICJNYXNrOlxuIjsKKyAgICAgICAgZHVtcExheWVyKHRleHRTdHJlYW0sIGxheWVy
LT5tYXNrTGF5ZXIoKSwgaW5kZW50ICsgMyk7CisgICAgfQorCisgICAgZm9yIChzaXplX3QgaSA9
IDA7IGkgPCBsYXllci0+Y2hpbGRyZW4oKS5zaXplKCk7ICsraSkKKyAgICAgICAgZHVtcExheWVy
KHRleHRTdHJlYW0sIGxheWVyLT5jaGlsZHJlbigpW2ldLmdldCgpLCBpbmRlbnQgKyAxKTsKK30K
KworU3RyaW5nIFNjcm9sbGluZ0Nvb3JkaW5hdG9yOjpzY3JvbGxpbmdUcmVlQXNUZXh0KCkgY29u
c3QKK3sKKyAgICBMYXllckNocm9taXVtKiBzY3JvbGxMYXllciA9IG1fcHJpdmF0ZS0+c2Nyb2xs
TGF5ZXIoKTsKKyAgICBpZiAoIXNjcm9sbExheWVyKQorICAgICAgICByZXR1cm4gU3RyaW5nKCk7
CisKKyAgICBUZXh0U3RyZWFtIHRleHRTdHJlYW07CisgICAgZHVtcExheWVyKHRleHRTdHJlYW0s
IHNjcm9sbExheWVyLT5yb290TGF5ZXIoKSwgMCk7CisgICAgcmV0dXJuIHRleHRTdHJlYW0ucmVs
ZWFzZSgpOworfQorCiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jaHJvbWl1bS9MYXllckNocm9taXVtLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9jaHJvbWl1bS9MYXllckNocm9taXVtLmgKaW5kZXggNGE1ZjFhZTczYTAzYjI5YWUz
OTFjZTRjYzAyYjYzMGIyYTk5MjYzNS4uZjBlMmRhZjYwZDNjZGY5OTgxZjg4NDVhMzJlMjg0MDNj
N2IzMDJlYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2hy
b21pdW0vTGF5ZXJDaHJvbWl1bS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2Nocm9taXVtL0xheWVyQ2hyb21pdW0uaApAQCAtMTY2LDkgKzE2NiwxMSBAQCBwdWJsaWM6
CiAgICAgdm9pZCBzZXRTY3JvbGxhYmxlKGJvb2wpOwogICAgIGJvb2wgc2Nyb2xsYWJsZSgpIGNv
bnN0IHsgcmV0dXJuIG1fc2Nyb2xsYWJsZTsgfQogICAgIHZvaWQgc2V0U2hvdWxkU2Nyb2xsT25N
YWluVGhyZWFkKGJvb2wpOworICAgIGJvb2wgc2hvdWxkU2Nyb2xsT25NYWluVGhyZWFkKCkgY29u
c3QgeyByZXR1cm4gbV9zaG91bGRTY3JvbGxPbk1haW5UaHJlYWQ7IH0KICAgICB2b2lkIHNldEhh
dmVXaGVlbEV2ZW50SGFuZGxlcnMoYm9vbCk7Ci0gICAgY29uc3QgUmVnaW9uJiBub25GYXN0U2Ny
b2xsYWJsZVJlZ2lvbigpIHsgcmV0dXJuIG1fbm9uRmFzdFNjcm9sbGFibGVSZWdpb247IH0KKyAg
ICBib29sIGhhdmVXaGVlbEV2ZW50SGFuZGxlcnMoKSBjb25zdCB7IHJldHVybiBtX2hhdmVXaGVl
bEV2ZW50SGFuZGxlcnM7IH0KICAgICB2b2lkIHNldE5vbkZhc3RTY3JvbGxhYmxlUmVnaW9uKGNv
bnN0IFJlZ2lvbiYpOworICAgIGNvbnN0IFJlZ2lvbiYgbm9uRmFzdFNjcm9sbGFibGVSZWdpb24o
KSBjb25zdCB7IHJldHVybiBtX25vbkZhc3RTY3JvbGxhYmxlUmVnaW9uOyB9CiAgICAgdm9pZCBz
ZXROb25GYXN0U2Nyb2xsYWJsZVJlZ2lvbkNoYW5nZWQoKSB7IG1fbm9uRmFzdFNjcm9sbGFibGVS
ZWdpb25DaGFuZ2VkID0gdHJ1ZTsgfQogICAgIHZvaWQgc2V0TGF5ZXJTY3JvbGxEZWxlZ2F0ZShM
YXllckNocm9taXVtU2Nyb2xsRGVsZWdhdGUqIGxheWVyU2Nyb2xsRGVsZWdhdGUpIHsgbV9sYXll
clNjcm9sbERlbGVnYXRlID0gbGF5ZXJTY3JvbGxEZWxlZ2F0ZTsgfQogICAgIHZvaWQgc2Nyb2xs
QnkoY29uc3QgSW50U2l6ZSYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckxheWVyQmFja2luZy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
TGF5ZXJCYWNraW5nLmNwcAppbmRleCBlY2Q0ZDcyYWQ5Y2NmYzUzMTJhODNjYTIwYzAwZmFkZWU5
OTI3OThkLi4zMjM5NzMxMjk0NzVjNzFlMDgzOTEyNWU2YzljZGMxMmY2Y2ZmYjM2IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmNwcApAQCAtNDQ5
LDcgKzQ0OSwxMCBAQCB2b2lkIFJlbmRlckxheWVyQmFja2luZzo6dXBkYXRlR3JhcGhpY3NMYXll
ckdlb21ldHJ5KCkKICAgICAgICAgICAgICAgICAgICAgc2Nyb2xsaW5nQ29vcmRpbmF0b3ItPnNl
dExheWVySXNGaXhlZFRvQ29udGFpbmVyTGF5ZXIobV9hbmNlc3RvckNsaXBwaW5nTGF5ZXIuZ2V0
KCksIGZhbHNlKTsKICAgICAgICAgICAgICAgICBzY3JvbGxpbmdDb29yZGluYXRvci0+c2V0TGF5
ZXJJc0ZpeGVkVG9Db250YWluZXJMYXllcihtX2dyYXBoaWNzTGF5ZXIuZ2V0KCksIGZhbHNlKTsK
ICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIGJvb2wgaXNDb250YWluZXIgPSBtX293bmluZ0xh
eWVyLT5oYXNUcmFuc2Zvcm0oKTsKKyAgICAgICAgICAgIC8vIFBhZ2Ugc2NhbGUgaXMgYXBwbGll
ZCBhcyBhIHRyYW5zZm9ybSBvbiB0aGUgcmVuZGVyIHZpZXcgbGF5ZXIuIEJlY2F1c2UgdGhlIHNj
cm9sbAorICAgICAgICAgICAgLy8gbGF5ZXIgaXMgZnVydGhlciB1cCBpbiB0aGUgaGllcmFyY2h5
LCB3ZSBuZWVkIHRvIGF2b2lkIG1hcmtpbmcgdGhlIHJlbmRlciB2aWV3CisgICAgICAgICAgICAv
LyBsYXllciBhcyBhIGNvbnRhaW5lci4KKyAgICAgICAgICAgIGJvb2wgaXNDb250YWluZXIgPSBt
X293bmluZ0xheWVyLT5oYXNUcmFuc2Zvcm0oKSAmJiAhcmVuZGVyZXIoKS0+aXNSZW5kZXJWaWV3
KCk7CiAgICAgICAgICAgICBzY3JvbGxpbmdDb29yZGluYXRvci0+c2V0TGF5ZXJJc0NvbnRhaW5l
ckZvckZpeGVkUG9zaXRpb25MYXllcnMoY2hpbGRGb3JTdXBlcmxheWVycygpLCBpc0NvbnRhaW5l
cik7CiAgICAgICAgIH0KICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L3B1YmxpYy9XZWJGcmFtZS5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViRnJh
bWUuaAppbmRleCA1Y2Q3ZjVmMWVkZTAyZjk4NTFkNDU4MzAyY2FlYjE1OTJjMzJjMDdiLi42Mjc2
MjFkMWIzYjJkYjU2NTQ0MWUxZWFmNGU0M2MwOTM4YTNiMzg5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJGcmFtZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vcHVibGljL1dlYkZyYW1lLmgKQEAgLTY0NSw2ICs2NDUsMTAgQEAgcHVibGljOgogICAg
IC8vIHRleHQgZm9ybS4gVGhpcyBpcyB1c2VkIG9ubHkgYnkgbGF5b3V0IHRlc3RzLgogICAgIHZp
cnR1YWwgV2ViU3RyaW5nIGxheWVyVHJlZUFzVGV4dChib29sIHNob3dEZWJ1Z0luZm8gPSBmYWxz
ZSkgY29uc3QgPSAwOwogCisgICAgLy8gRHVtcHMgdGhlIHNjcm9sbGluZyB0cmVlLCB1c2VkIGJ5
IHRoZSBzY3JvbGxpbmcgY29vcmRpbmF0b3IsIGluCisgICAgLy8gdGV4dCBmb3JtLiBUaGlzIGlz
IHVzZWQgb25seSBieSBsYXlvdXQgdGVzdHMuCisgICAgdmlydHVhbCBXZWJTdHJpbmcgc2Nyb2xs
aW5nVHJlZUFzVGV4dCgpIGNvbnN0ID0gMDsKKwogcHJvdGVjdGVkOgogICAgIH5XZWJGcmFtZSgp
IHsgfQogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkZyYW1l
SW1wbC5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJGcmFtZUltcGwuY3BwCmlu
ZGV4IGUyYWZlYTZhNWQyMmQzMWU2OWEzZWRlYjNlZmQzYWYyZjQ3NDkzMTkuLmU2ZWZlYTNlNmYz
ZDFkYTNkZjRkYzlmYTM3MzU3MzdjMmRkNzMyMWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
Y2hyb21pdW0vc3JjL1dlYkZyYW1lSW1wbC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9zcmMvV2ViRnJhbWVJbXBsLmNwcApAQCAtMjAzMiw2ICsyMDMyLDEzIEBAIFdlYlN0cmluZyBX
ZWJGcmFtZUltcGw6OmxheWVyVHJlZUFzVGV4dChib29sIHNob3dEZWJ1Z0luZm8pIGNvbnN0CiAg
ICAgcmV0dXJuIFdlYlN0cmluZyhtX2ZyYW1lLT5sYXllclRyZWVBc1RleHQoc2hvd0RlYnVnSW5m
bykpOwogfQogCitXZWJTdHJpbmcgV2ViRnJhbWVJbXBsOjpzY3JvbGxpbmdUcmVlQXNUZXh0KCkg
Y29uc3QKK3sKKyAgICBpZiAoIW1fZnJhbWUpCisgICAgICAgIHJldHVybiBXZWJTdHJpbmcoKTsK
KyAgICByZXR1cm4gV2ViU3RyaW5nKG1fZnJhbWUtPnNjcm9sbGluZ1RyZWVBc1RleHQoKSk7Cit9
CisKIC8vIFdlYkZyYW1lSW1wbCBwdWJsaWMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKIFBhc3NSZWZQdHI8V2ViRnJhbWVJbXBsPiBX
ZWJGcmFtZUltcGw6OmNyZWF0ZShXZWJGcmFtZUNsaWVudCogY2xpZW50KQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRnJhbWVJbXBsLmggYi9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3NyYy9XZWJGcmFtZUltcGwuaAppbmRleCAzOTkzNzQ3MWExMTgyZWMxYzBiMTUz
MmViOGUyNTAwMzAzOWUyNjU1Li40YWEyOTVjNGMzMzQ3YzUwZjUxZGQ1Mzg4ZTBhYjBhOWE4OTg1
Y2E2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJGcmFtZUltcGwu
aAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJGcmFtZUltcGwuaApAQCAtMjMx
LDYgKzIzMSw3IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgYm9vbCBzZWxlY3Rpb25TdGFydEhh
c1NwZWxsaW5nTWFya2VyRm9yKGludCBmcm9tLCBpbnQgbGVuZ3RoKSBjb25zdDsKICAgICB2aXJ0
dWFsIFdlYlN0cmluZyBsYXllclRyZWVBc1RleHQoYm9vbCBzaG93RGVidWdJbmZvID0gZmFsc2Up
IGNvbnN0OworICAgIHZpcnR1YWwgV2ViU3RyaW5nIHNjcm9sbGluZ1RyZWVBc1RleHQoKSBjb25z
dCBPVkVSUklERTsKIAogICAgIHN0YXRpYyBQYXNzUmVmUHRyPFdlYkZyYW1lSW1wbD4gY3JlYXRl
KFdlYkZyYW1lQ2xpZW50KiBjbGllbnQpOwogICAgIHZpcnR1YWwgfldlYkZyYW1lSW1wbCgpOwpk
aWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IGUxZTg3
N2NiMTQwYWYxZGEyYjk4ZTc1MDUzYWJkMTM4OGZjM2EyNzMuLmE4YWYyNjhlMjY2ZTIyODEzMGE2
ZGM5YzlhNTQ5NzIyODgwNzg1NzIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9U
b29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOSBAQAorMjAxMi0wNi0xOCAgU2FtaSBLeW9zdGls
YSAgPHNreW9zdGlsQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZW5kZXJWaWV3IGxheWVyIGlz
IG1hcmtlZCBhcyBmaXhlZCBwb3NpdGlvbiBjb250YWluZXIgaWYgcGFnZSBzY2FsZSAhPSAxCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04OTIxNgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZGVkIHNjcm9s
bGluZ1RyZWVBc1RleHQoKSBmb3IgdGVzdGluZyB0aGUgc2Nyb2xsaW5nIGNvb3JkaW5hdG9yLiBJ
dCByZXR1cm5zCisgICAgICAgIGEgdGV4dCByZXByZXNlbnRhdGlvbiBvZiB0aGUgY3VycmVudCBz
Y3JvbGxpbmcgdHJlZS4KKworICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0xheW91
dFRlc3RDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKExheW91dFRlc3RDb250cm9sbGVyOjpMYXlv
dXRUZXN0Q29udHJvbGxlcik6CisgICAgICAgIChMYXlvdXRUZXN0Q29udHJvbGxlcjo6c2Nyb2xs
aW5nVHJlZUFzVGV4dCk6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vTGF5b3V0
VGVzdENvbnRyb2xsZXIuaDoKKyAgICAgICAgKExheW91dFRlc3RDb250cm9sbGVyKToKKwogMjAx
Mi0wNi0xOCAgTWFyaW8gU2FuY2hleiBQcmFkYSAgPG1zYW5jaGV6QGlnYWxpYS5jb20+CiAKICAg
ICAgICAgW0dUS10gR2V0IHJpZCBvZiBEdW1wUmVuZGVyVHJlZVN1cHBvcnRHdGs6OntpbnxkZX1j
cmVtZW50QWNjZXNzaWJpbGl0eVZhbHVlCmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJl
ZS9jaHJvbWl1bS9MYXlvdXRUZXN0Q29udHJvbGxlci5jcHAgYi9Ub29scy9EdW1wUmVuZGVyVHJl
ZS9jaHJvbWl1bS9MYXlvdXRUZXN0Q29udHJvbGxlci5jcHAKaW5kZXggMWY2NGQ2NWFmZGRiZTgz
YjVkMWZmYjVlZjhjYzExOTc1YzE4MWZmYi4uMDJmNWE5ODM4NjU3ZDgwNWUyYjYwZTMwNDhhYTk5
MDc2NGJhMzU0MSAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vTGF5
b3V0VGVzdENvbnRyb2xsZXIuY3BwCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVt
L0xheW91dFRlc3RDb250cm9sbGVyLmNwcApAQCAtMTg2LDYgKzE4Niw3IEBAIExheW91dFRlc3RD
b250cm9sbGVyOjpMYXlvdXRUZXN0Q29udHJvbGxlcihUZXN0U2hlbGwqIHNoZWxsKQogICAgIGJp
bmRNZXRob2QoInJlbW92ZU9yaWdpbkFjY2Vzc1doaXRlbGlzdEVudHJ5IiwgJkxheW91dFRlc3RD
b250cm9sbGVyOjpyZW1vdmVPcmlnaW5BY2Nlc3NXaGl0ZWxpc3RFbnRyeSk7CiAgICAgYmluZE1l
dGhvZCgicmVwYWludFN3ZWVwSG9yaXpvbnRhbGx5IiwgJkxheW91dFRlc3RDb250cm9sbGVyOjpy
ZXBhaW50U3dlZXBIb3Jpem9udGFsbHkpOwogICAgIGJpbmRNZXRob2QoInJlc2V0UGFnZVZpc2li
aWxpdHkiLCAmTGF5b3V0VGVzdENvbnRyb2xsZXI6OnJlc2V0UGFnZVZpc2liaWxpdHkpOworICAg
IGJpbmRNZXRob2QoInNjcm9sbGluZ1RyZWVBc1RleHQiLCAmTGF5b3V0VGVzdENvbnRyb2xsZXI6
OnNjcm9sbGluZ1RyZWVBc1RleHQpOwogICAgIGJpbmRNZXRob2QoInNldEFjY2VwdHNFZGl0aW5n
IiwgJkxheW91dFRlc3RDb250cm9sbGVyOjpzZXRBY2NlcHRzRWRpdGluZyk7CiAgICAgYmluZE1l
dGhvZCgic2V0QWxsb3dEaXNwbGF5T2ZJbnNlY3VyZUNvbnRlbnQiLCAmTGF5b3V0VGVzdENvbnRy
b2xsZXI6OnNldEFsbG93RGlzcGxheU9mSW5zZWN1cmVDb250ZW50KTsKICAgICBiaW5kTWV0aG9k
KCJzZXRBbGxvd0ZpbGVBY2Nlc3NGcm9tRmlsZVVSTHMiLCAmTGF5b3V0VGVzdENvbnRyb2xsZXI6
OnNldEFsbG93RmlsZUFjY2Vzc0Zyb21GaWxlVVJMcyk7CkBAIC0xOTkzLDYgKzE5OTQsMTEgQEAg
dm9pZCBMYXlvdXRUZXN0Q29udHJvbGxlcjo6bGF5ZXJUcmVlQXNUZXh0KGNvbnN0IENwcEFyZ3Vt
ZW50TGlzdCYgYXJncywgQ3BwVmFyaWEKICAgICByZXN1bHQtPnNldChtX3NoZWxsLT53ZWJWaWV3
KCktPm1haW5GcmFtZSgpLT5sYXllclRyZWVBc1RleHQobV9zaG93RGVidWdMYXllclRyZWUpLnV0
ZjgoKSk7CiB9CiAKK3ZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OnNjcm9sbGluZ1RyZWVBc1Rl
eHQoY29uc3QgQ3BwQXJndW1lbnRMaXN0JiBhcmdzLCBDcHBWYXJpYW50KiByZXN1bHQpCit7Cisg
ICAgcmVzdWx0LT5zZXQobV9zaGVsbC0+d2ViVmlldygpLT5tYWluRnJhbWUoKS0+c2Nyb2xsaW5n
VHJlZUFzVGV4dCgpLnV0ZjgoKSk7Cit9CisKIHZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6Omxv
c2VDb21wb3NpdG9yQ29udGV4dChjb25zdCBDcHBBcmd1bWVudExpc3QmIGFyZ3MsIENwcFZhcmlh
bnQqKQogewogICAgIGludCBudW1UaW1lczsKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJU
cmVlL2Nocm9taXVtL0xheW91dFRlc3RDb250cm9sbGVyLmggYi9Ub29scy9EdW1wUmVuZGVyVHJl
ZS9jaHJvbWl1bS9MYXlvdXRUZXN0Q29udHJvbGxlci5oCmluZGV4IDVhODcyOTM4ODg3YTJiMjEx
NjEwYjhjNmM2NTFiZTFiNmVhOWE1NWIuLjg3ZTA4NDM2NTk5OTlhYTlmNTExMjVkZGFhZTg5YWU0
Y2VlMTc1NjEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0xheW91
dFRlc3RDb250cm9sbGVyLmgKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vTGF5
b3V0VGVzdENvbnRyb2xsZXIuaApAQCAtMzc5LDYgKzM3OSw3IEBAIHB1YmxpYzoKICAgICB2b2lk
IHN0YXJ0U3BlZWNoSW5wdXQoY29uc3QgQ3BwQXJndW1lbnRMaXN0JiwgQ3BwVmFyaWFudCopOwog
CiAgICAgdm9pZCBsYXllclRyZWVBc1RleHQoY29uc3QgQ3BwQXJndW1lbnRMaXN0JiBhcmdzLCBD
cHBWYXJpYW50KiByZXN1bHQpOworICAgIHZvaWQgc2Nyb2xsaW5nVHJlZUFzVGV4dChjb25zdCBD
cHBBcmd1bWVudExpc3QmIGFyZ3MsIENwcFZhcmlhbnQqIHJlc3VsdCk7CiAKICAgICB2b2lkIGxv
c2VDb21wb3NpdG9yQ29udGV4dChjb25zdCBDcHBBcmd1bWVudExpc3QmIGFyZ3MsIENwcFZhcmlh
bnQqIHJlc3VsdCk7CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91
dFRlc3RzL0NoYW5nZUxvZwppbmRleCAyYjg5NDQ4ODdiY2U5ZWYwYmJmYzI3MWRjY2ZhNDk2MWQz
N2NiNzUyLi5hM2U1OWMwMzhlODlkYzNjYmNkMWVkMzhhMTRiMjg2ZjE4MTk2YjZjIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTcgQEAKKzIwMTItMDYtMTggIFNhbWkgS3lvc3RpbGEgIDxza3lvc3RpbEBjaHJv
bWl1bS5vcmc+CisKKyAgICAgICAgUmVuZGVyVmlldyBsYXllciBpcyBtYXJrZWQgYXMgZml4ZWQg
cG9zaXRpb24gY29udGFpbmVyIGlmIHBhZ2Ugc2NhbGUgIT0gMQorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODkyMTYKKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRlZCB0ZXN0IHRvIHZlcmlmeSB0aGF0IHRo
ZSByZW5kZXIgdmlldyBsYXllciBkb2Vzbid0IGJlY29tZSBhIGZpeGVkCisgICAgICAgIHBvc2l0
aW9uIGNvbnRhaW5lciB3aGVuIHRoZSBwYWdlIGlzIHNjYWxlZC4KKworICAgICAgICAqIHBsYXRm
b3JtL2Nocm9taXVtL2NvbXBvc2l0aW5nL2ZpeGVkLXBvc2l0aW9uLWNvbnRhaW5lci13aXRoLXBh
Z2Utc2NhbGUtZXhwZWN0ZWQucG5nOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1
bS9jb21wb3NpdGluZy9maXhlZC1wb3NpdGlvbi1jb250YWluZXItd2l0aC1wYWdlLXNjYWxlLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vY29tcG9zaXRp
bmcvZml4ZWQtcG9zaXRpb24tY29udGFpbmVyLXdpdGgtcGFnZS1zY2FsZS5odG1sOiBBZGRlZC4K
KwogMjAxMi0wNi0xOCAgSsOhbm9zIEJhZGljcyAgPGpiYWRpY3NAaW5mLnUtc3plZ2VkLmh1Pgog
CiAgICAgICAgIFtRdF0gR2FyZGVuaW5nIGFmdGVyIHIxMjAzMTEuIEl0IG1hZGUgaW5zcGVjdG9y
L2V4dGVuc2lvbnMvZXh0ZW5zaW9ucy1wYW5lbC5odG1sIGZsYWtleS4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2NvbXBvc2l0aW5nL2ZpeGVkLXBvc2l0aW9uLWNv
bnRhaW5lci13aXRoLXBhZ2Utc2NhbGUtZXhwZWN0ZWQucG5nIGIvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vY2hyb21pdW0vY29tcG9zaXRpbmcvZml4ZWQtcG9zaXRpb24tY29udGFpbmVyLXdpdGgtcGFn
ZS1zY2FsZS1leHBlY3RlZC5wbmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTZhMjQ1NTBiMTJmMjY0ZGVjNjk0ZTc5
OWQ2MWFkNmVlMDEwYmU3MApHSVQgYmluYXJ5IHBhdGNoCmxpdGVyYWwgMzMzODkKemNtZUZaY3ty
QUJgITN2NSZtKXkyMn13eXNHTTZEND55OEc1Qj1lTGFRXi04NGhtPDZoNUpFYEVsc1IpSGk5MDAy
CnpvbEhxY0xnd2tsK0FscGxAQjRkeUBBfCY9dEBVa2RgKXpBbXtpQVhaKkw3YSFjXnZ6KEBCNDhD
c0hxJVZ6bXskNwp6aVdNdT9wRXhlQnpHQjZ5OVY9Rj4pVFVqRHxKbHM2Y0BLVzxieVUhSEpaRWx0
JmRSfio7KT93eVYmZVBIT05iczIKejV0bGUxRGtna2hUdik8UHtHNiVDZDB9eGVsTEtid0kwUkBg
dGt8KlFnIzJMKio5WUdfRS1JZyU/dm5kcVlyRUl3CnpWJlEzP2QtRSZwND5ZWCp0Oyo8SiQlN3hL
e1ViUCkhb0ZBQTRAR1AhKj1gYEtyKDl4XkB6cn5Tczd7I2FoV3VDNwp6WDRabmBkKyE7PDNwZVJK
eXVMQyRlfWN3NUU/SG4oOz1UTiZxQH5xKyU1Q2VPb3d+UjZSOUVJfHJHd3Nle3FxWWsKejVpXztq
NF95OWVGdSNXQFUtNWl5VzcpU2cjTlNGUnAxdlVOTiZDVkY8S09Uek9+bT5zQCY3R2IjST1jXmdM
R1RACnpAI0NfU3w5V1FwZEBpWTF6bi1+NV97eVFuNERwbn4xQEVQRyhlcSFiSChqZzl4KW5tYS19
VEk1eylfIWx3TW5ZNgp6YEU1aCghRlBgUG94UHZmRlEzcUdlMFRRTz55OypqP3Z2ayErNnNqOXBX
VktEY21LWTk4fGkzUm4oZFluV3chWEEKeiNvZyhVdTUwanlSLWFkQGBiQCNjdHRlckJNZGM3PnRJ
YVNkd3Mmdz8hK0dWPCF7VEJPWFhwSGszPiExRSpYRSspCnpWcSghIUUqWFZ8dD04Zzd5WUllemA8
NjxqMkNAaVFpYm1lTmQ5JCN2dSY+WElib31EUXBeIWJRQUtUZ2owfFU/Uwp6by1zN3NvXztFfGQz
dn1iPG9ORWt7RU5sajMrYHZuI3gpTSQ/YjY7PFM1Pyh1UWUxTG9YMVV3QW5ZKzZySWgjNHEKeilZ
YktWT0t4cyUkPSE5bzxHT3l0aGI/VzZkdHJTNHsoYWkzQnRNMzA2e2sqfTt0WipOe3JkR1M0bW53
MjtUP0M1Cnooe2tEcj0qNmpOb0g+KTFvNytVOFQmcC1jKyYoa29OOy1ieiRkUG1CNS1QZXNRS2Ex
YHpKQUMkY2tDQVhzSD0ybgp6WHowbjRDcFR+MlkrdEMpIT9hITZePiM3ZTt8QkFjY2FIMW1NNXl0
NnA7Kjc0Qm87K0dyQFZ0JDxXO0x5blBoI2kKejc5YVZMd00jfighKDIye2BFZ2BxV09qQ1RldCFP
QEp0XzwmZXI2P21gKW16ZkMmXzVzPzU0Rj5KKkoxI3BGQW5ACnpvVjltJG99eUFxNCgtc14qMWpH
YmQ+fSVaOHV7bStlQDt6Si1NYE9Uc1A4QDRsSyQ8UldtNGxfI3NKKEN1RWtpQwp6P0Y/X0lWJmI9
ZmZ2bVA2PTBHbDF5NyFTK3VVPDl2eGtpZz9kZkg0SUdpcTlJUXlfS2xwdzEyazIyekApKWVaKDgK
ektFN1JrIWdMfUI0a1QmdHZOVUhwSmBpSDN6Z0UleD9BZnltTyo1WGQ1ejRQU19OPkMmVTVCS3Rk
PSotVW9QQSRCCnpZJXM/ST1ZQzc8JnJmO3pQbkl7e2luUHYxYD17RHJyT3JjPFo5fDVjdCFhan53
aiYrSUUoZCh7QHcmX1h4YFclJgp6QFUjfmY3Wj5LSUg8N1NycUhMUTNEKzRYIzgrZ2RzSk1VY2dA
JDwrSD49fmJ4bCMpOGgtTUE7I2xhY20hVHxHVE0KektFNiR4SFZxQ0FoSHE7ISVUWSpaeiFNIUU5
c1QoNlc4UGExZTZuI3pLLXRYYXpgTz8+WXAtKGUrMmkyZ3U8Rlk1Cnpwc2ZkSlI8R1c/dyhgUlZa
NUoxcCEtcnFBPTNFRX4yXm5jR0plUX10O08oUVktIyRDdVp5LW97YCZMOytoNWpQcgp6cmNFS0Nw
PEUyS3luSzg7cEZnd3Umd2xkVjtEN0J9O0VmeWpDUl8lflExMEYzS2czaE5iTFk7emQlMG49I0tO
USUKelNHcShRdmRKQXRlZjs+ZlM8YTxHb3psfE0+Z3NBZ2hKclNPR3NLX2Y0PERYSWBuUlgmO1c/
UU87dTNhK2xnRyEkCnpET1FWa2AtKHgrbGw4X1lSYUs0M3ktTiFVREF3WV4hTkV5TU52bGA+N0Um
IXd5TylufGVxcCp4Tm0yMWhZVSY+PQp6ND1YQXZzO2VgRzJQOElJZGRZSD4yaU4hYSV0PUo2VCZy
bTQ+aGMtLW5EXj9ISm44dGNWXndsWHYtSnUrJk1xI34KemxhblZeUkFnTyQ3ej5RQSNAQnRJOWhf
ekU0KHV+YXI+UExgd3YhTVNjUGB+N3A1KVZwN1JTfEF4R3lGZjd0P3xeCno0cH5wMFB7cU8/bGRQ
RnVYUlk/YTQrZS1IJmo8ZkZfJXJIUSVad1B5dSplOy1OfkJBVmlQPkolP3tXMkA5JnRORAp6N3Re
PSRobmE1aWtDWEdTSUorMll1YXtecFRHTEU+XmArUFIpY1c9NzE/SDQjMUxTdz1wQT1Aamk2NX5G
ViVTWkwKejBuI3B0Rk58LXVqUTFsM3VYdVd9Z3trcT1xYFN8O0J4UGQ0Ri0xZEhTOWgrOCEtdDF5
WkJwWkchIVp0bjY0ejQrCno0ZD42RlBqM0UoMTlNe2MtSFVEY1hTQjQwK1YoS2VJPVo7aipWVk4m
SCpYfUIlP31zZnloI19LP0VMQlpaQE1EVgp6KCQ/WnBUI1A1byUqXm11XnpfPVc2SUcpbkRAUEk8
MmkpRD12OT9XP2Q4OWJrO2IrOTFZKDBCJkVCe3FlN0N6Y28KelNYKWkpQSFTZmNTQ15MYSZUO3dP
ajE0OEp3e0cxIVM5TlA2RE9ZeiQoUTlVbHVIV3NScyRmMio4dyEmK19NKW5SCnpYfTV6ekJPPV5w
ZXNxdEcqezVwYCs4NCUxM0YzMn5BSnVOOE56S1UtO3BSUm43JW1sRUgjUm9McjxMKDJEZTJoRwp6
SjAmRzB4Uz0meVV6VTFJR2N6JmU3OEUjYEhhMGY7RVkyb1hwUmFsUV84eiUrTExAeFNSRm47OHFg
bXo/TUs9ISoKeiYrWCY4c2RFU2hmdDdiM0phfTlCOzZwPmhTeiVVezgwcVRSO0FZRTdfZmlXQjMo
ZUhZY1gzQT8rcjxueGFTZk1RCnphJDU+JFModXFnYVNSMGtYSVdwNU9jUGZ3aDdHfF5Vc1lLdGxk
d1ZWMnA/bT4lKSg7Zyk/TUIpRXRYP2huaipfcgp6VXZ4eTcqIUlzUStuVmtaNTlATmxpPXZCOUMp
YFdCTXRxIVctfE8+KmxQa1NrJlB1UXdCNT9JOypTfjJyVmRaOV4KelA0b1YhOFlBNXVsVigoSCpe
PFgoej1GNHlUJE1OUzlJZSE/eVB6WV43PVNIOzVJWDlMcWdaTE9aYFE+dVJCZmhVCnp7ZXdlMClL
V0JqZVNIeC17MjJWdGUodmVQNFhMTTtBV2RPITcjU0hVREV6Xj5vMUgjVGV5NigkTEpJQmd4cUhl
dAp6RVJCRXRgWlptejtQSzxmYGhyQHsmZj1XQVM/Tys2ZXM8YHUrZXBHVTs5N18kZ1JQbShmOGM9
c1N3OWt8bXI3dTIKengjUGd5WDNHVWlgSiZrVntwelBxeSlkSDAmJVRwSWxJI2w2KD5pOyRUU1Jj
JWZmaHZ5ZmpiUDEyRSUrcVZgSUJJCnpJfVA+cSk2YFMkRFJSfDU5R2hQbDcjUUZ1PisqKl5lJDRH
WXtOfk1AdVV+bThnbVpGb197cHk7RTBJRGpjOW5KWAp6K0x0PVV3N2h3OStgJlBGXkdpKUFBNX1S
RytvWWgpM3ZuRzZaNn4yRFFsUDxtPTJ4UVlyJTstazZCODVuaEFQX1oKekkhKn08ND9vcilhX15x
SkxtX3NwZDQyaWZUd3EyWiE9RUwxTTMpUVI3NDtmI0IoYnJ2O2RqcUdQS28rSERKZnxtCnpvRDIm
T1o/aEkoRUlmRGE5RWJNfEMrRE5RSlRYcXJ4UmpKP2I1VTgoOERYWml4RitVbCMrfW53VmduUnRh
VzAqVQp6cXAzMHVoYEB1TlVpaTk8YmFNSUJ6ak49OGNJb1R1cXZnWnshUzZHeWBzPDx7V3hJVHFX
TkxkcVBmeGY/SX54NCUKeldgT212Tz5gb15Gd3Q+N2R6TXBIdyk2YWNGKV5fUUleSU99KjJjemox
I0pTJT4qT2VraVJ3O3tqYEJQMlQpQT9eCnpUPWE8PWp8cn5yKyZLaFlMckstdFhVfUV8eTFZWmt5
P2dpVyNxdTI1Znk5Ri1TVSZmU0ZVLWBVUHQodjRESkhZUQp6VHE4dzhGZyZuajZSRGBFPTtxTyQ3
I1dXPU8rSkowIyhfdVUtVG41WDRrZGBgMTRYeUNOaldkZkllbD9MOTRvb2wKekJDPEwjSVFEU3dg
MFYtcDUlTjJBRyhfYSZncVlUdj8lJT8+bmAhTUl6QXEzK3YtNzNYamZHazF1V2Ujdmo1JD9OCnot
PiRwUFRhY3hFa0JgQmRLfG5Jc2IpMmkkO1hhTHt5S0JZcF5SaVJePE1sME1RfkM3OF9RWFArdHdI
Mz5rSkwtfQp6d29mT3NBRnRPYFJJSV5nM2JUSWtNJTwmVDsxfXF6a0Q9dT5AfTVuNlZmPDcje1gq
Uz82Ti13VFcwa0NDVnl9fEEKeiVlPzBPe3J6YjwlYTwxQ0RNbWkmJjZZdzJNWS14ZV5oMiRrb3Bv
T0Mxe30rJlZ9WjQxXkw8Z2FWUmEhYkI2SmxwCnp1NX16UDdDeXRZb1BNVVFyaiVrQHBQPHdmZyM2
MnRqPnlpUHlHdzIrZkJ0THxgQTFeb3ohIVRyWX5AflpjcmcxeAp6KHM9eGh6YCgtck4jfkpIMGo5
TUJnKGd8fFRhTkUkb0dYMHQ8T2FRbGhRYEZpSzt3ckdBTW5VeWVIUHRYN3Z0MmYKel9iRkJQaitL
P2tVT0ErOGBnRCVoeXp9dDMqVDhhemJ7eSYtYUZuenQpI21UKCpFJl5FUUlZSDg/SlptVDt6QEd5
CnohITU/RT5EZG87WnBLMlhTdDs2MnlPK0FUeCNpe01FaTVjQjJBcD95azM3cUk8JmZSaWNYOVkq
RWN+SVYkI0p+egp6PFp5SkVveTZPMGV3R0c3cm5SUn1wQl5hR09idTxodWdwRG5QKTwmY1gpUTd2
dUZKakRGaVNnNGdWJUlfWXc8YH4KenZHbyFGVz9FWD5iZUU1aG8heVZwPkNXKzQmIUN7N3tTaH4l
VCZpd3VRJU8zRmAwWnc5WVREcVFOJTVIWStWSzlwCnpkU0lveHVDOEtMdnQ/ZWNrQT1sUmQlSGU+
Z289dWF2aHYlZUNKaTFZVVZlViU2RE0jYUNNUEdBZ2Y8UzFJMlU4Xwp6KUhPNmpNTVdwUmA/PXRA
VHN6VlM9JFlrcURSUEgyQEZ4VDJWYnVsKEVESDdPPkh8JCEwUyRWO2RfaTx3RVgxfHMKemFgVyo4
ZGlWN2swMkJ9Rk4yXlM/VVdnVEZpO1dkaHBkRnB7IzB+OVdhNGp7PXEoc0hVRVBpZCs2KENSUS0/
SHxxCnp4dEQ+I3clU2FiZngpNG4tcSpkO3tyJCNSQFd8aFFLX3crNlpAY19+JVhseigoP1daJShU
IU1eSlZ4KFklV3FuWgp6djhGbn5SVXdnKU1LeHw/PEVmZ0J2OVo3VG0rO31HNHshU3Q/fDU0Rz50
ez5SMy1fQHYwVHRjYT9obnIxS2VYZCUKem5HQSlASk1SI29aU31wZCEzdWwldlZifUFkeTBsNGhp
LWhLOGdwUnB4OH5GVytwYVJaP3YqLXNtdlRqdVpjdF5TCnpaZ2hvRVdzWEB8WTtUXktuVFpnJmZE
OCQrNkBEd3Z4O0IyMXNgeFMxJW1ncXhUR21UOXdiPyNyYDhHeTkjd2U5Pwp6VyM2NUlmMFpVbW5I
N28tM0NDISZpRGFEck5VVCF5RFN1bVE+JWpQfHl9ZjtqO1J2PWJobiU7eHRuQXs8WGl2aGkKejtK
Kkk7QGJHWHw2JX1WRUMjLTVGV3piSC1uPnQkNitTKzwoMkx0V3pzNFo0cUliPjtSRGF1eFFzcHN7
bFBZKzNQCnokQiFSPkRCfm8jRSF9NXNWZ09aMm5yM1IoTk5gfUZsK1IpYnhpPk4qQXwpLTJlYW5e
OyRCJnleU1hgMmZjMS1qMAp6XkUwKVEtPz8kZlIrIWEkWlhoV2xCSH4hXl9DSV9OZjkmY1J7cHUq
YGB7SSp4Rn5GKnF0a0lEcHpKezVxXz1iZ14Kem99S31CMllZKlMpdWBIfDZzfU9rZmxJfDV4S3x6
bGZ5cjQ8e3IjRmQ3Iz5wMlQzZT9UN1oqUSNgMDBDVjQpN3k2CnoheXIhVy1ONyV0eSpNUiNgVDJz
MWZ1RD5qdTNyNV5AKjBYRHZCaFRNWEBzVShfeVYrTT1qODArPTBeUUJUY2AlSwp6UCszeyYkQj80
JnE7WChvUitaZVJmI3J4aW5XJmorcTU2YDFoaSUoNzFNJVArNDQ+Xkp1I2lvYlZtP1NiVzJSTyEK
ejRrfTdZUTRiekNOPTk/fFExezc9KWJ4ITA1WG5NYSpFaXxEVll7QDFndjlhckBYKmtQTnU7T3VG
KCohKGE1U0sxCnpYJV45PSNOWkF8Tmx0IWFFY357JXdxZnc4JEZ4bWc8eGJ7NkJfKlojYFQwQVEq
a2VEfmJXWVFeQVljQ3Eqak4lIwp6bU0yZjFkPmlXfTt8VCF7fE1BQmtxRHZOdTR8cyNDal53MV5s
RlVeRnI9bkJrPl4/b3VjR0QwTTV1eCNvT0d+QFMKekBSR3dTayF8cm92YFJtZzBZU1pOVlg2JmE+
SFEpfjJzNHhCQ1pjTXwoflo3PXxJSjhPWXdMO0NjZ2VsRTdmemtwCnpYck5fZyN3fUMhcDRlZGtY
IT5DYmM9TD5vaUsoZ1MjZnVtQnM2NSE9dzw4ZW97RjdMQSUpYSUzX0hwTFVPXlVPcwp6KUNXJk92
cn1kP0x4U19kKClNflVoMz9PcVMocUkodXJMc2tKaDE0NSRjPDlGamItUTB4QmtoVkNReEhqdSQ3
SmAKej14OVFOeCMxKkhgK1RaMntfQzh6dXIpRlM5cmJXYEFNUHF3WjRvbEU8aHgqdyRHQWU4NjFt
LWVrNi0oPE9YbnlWCnoyMCMpRkozfCUyeXtffUoxIWVPQ2hQXjJ0UGVlVTRLUjVUeCk/SmV+NnB7
RX5gMW8kLUttbGcqeUxXME4od2AwSAp6KHc5RX1FPm9BY21kMURBekl9ZVRRNzhLUSgrbkgkVygr
dSpwa0V0KkBTWGMyYGA1SWkkQnl+VGJZRH1JVGUjPE8Kej9vUVcqI00jRE9fMV5rNzxwaDAqWVVH
RXdjQjM1Q3lMQFQ1cXF5N2RTeX4jdXhIdT9fVnt2TElrR0luS1hKbGwmCnpkYGE+QGl3IyQ2bUx0
RWo4aS1VZUYoRHk9dUh0UTc5cXZqX0s7VUdHMjc+YShwe2MpLWQxMSUhVXEheWFsN3ZmWQp6K01g
R0U+Nit3IXEhODQxalU2Ml9RY2ArYVQxbzBEVSlkZFRCdn1JRjlxREloWElYPntvNkpTR1l9dGF5
VGtKZ2EKeio7eHc8SzgxNilrMVlzTTFuOSVjIz5RfTw5VG9OYl5obTZ2KCshYEtHZDtYYVliQVhJ
Mk1DPGpObj0mPjs7diNNCnpfU20lejlHV34jTFhrcHcwNWZWbHE2WkhhSWBwZX1BSnZkeD98ZSZf
OSR4b3dyezR9MjshUjxCa0VPSD9HcW99KQp6bkBISEV3NDZmc2dxKiZBJGpabk5PbFd2XnA/PHNm
KFI7ZS1vdzstWjtwRUJwVFFtWCEwXlVSZTZrSW1GXyolfm8Kei0hUz1QZjNCZ1pAN2x1Q19fVXx8
dVNFRypaUDZoOSVLUjZQbGF0cUhvSzkxbF9rTTVePndVRk9BJW48YENDLXw4Cnp8Q3lkSykkZVBK
LX1UU1ltaD1sdz14YkNnZ2lvRGteKjA0TXZ4WllXI2NeUGpVWjVwRFlETkNOR289ZDIqb0JmcAp6
SF5eYzt7RispP1dabExkcCooJXxPZ21BJXgzey19RWw+QzRjemxMWUlsd3hpN2Z4OSlobiRLLXg9
bStFTGArT3cKemMzUCMkbWhJYWdpd090X1k8MGd2ZTVoZWw7S0dlfSM9Xj9WJUR+S3w+bE5MfSQ7
cjI/JmpZcXExI0B0KXZaNUZ2CnpPNWIhZjk7X1Aqd3tMQGs3MlUhdkhsQ2krb1I1Jil2JDdoeD9T
NUVvbXZNSypkaFItUSVUK3Eycmx0bCM8O0lQKgp6aDVBVkoyc1VwekhhRDchLVp9bSNFbHJ0K1kw
Um8rKX04cUJ3QUxyWCN1MnJCO2RPIWRAYzJUX2x+O188cDFtXmYKeiYrZmZtWnNjMV94P1hkMF5L
eVBpaitKciFhaGFVPVNeZVhYYjgpNH44WERoUnYkSlE8d3N2dDZiWHAwbyZeVTlxCnooaWE3cDFI
UDdHWmxgMnBSaz1laE87OzEmbEFuZlR2cU9tMzJGODI4e0FBczcpPml8fFBKUFU/dk1LUGA2KUM0
QAp6V1ltUSluS2ohKGU0NSU7cmA2Ym44Umd8Wk9OJEdCU09VaE5xbWBkNEgjOGtmSTJDNTl1eWYt
UT9Hb1B+TkQzRCYKenBwS2pTNX44fkQke3tOJkQrQ2BDNkI5NDVnPX05TS1AYHp+QT1NeHFtYiNZ
YWVGbj5VQHlWQ1pGbkVudHZUU1dRCnpAQyl0R3RofT1JZkRJaXpKdWxPWnRnTml6O2JFe3NJVHp9
fGVSTEglUjlXV0RFaThoKThTayR6KjNaQihkR0xWIQp6PDhFJGwwMWwtYzM+dW82czZxRDhqbFdw
VUxBUE44JWpWNjBDNnx2RDBoT1BSPztkTmBHRnF0ZXAmbGNWVUxIKiYKeihDdyF9YWNaaSlxM0Q2
WiF1NXJFSGR4bXJtMXkwJEIqbnpCXjJOYiY4WEI0d2s4T0N9aXF5Tyg+fWYxd0dCT01PCnp1fEQ5
cjVTPkJPdSstRWxEbDAkb2BrRn5BIyYmV0MhYEczSzRLJSpgaG1SZSpfUUZgZ1pFVXhYZW1MMV9x
Kkxhfgp6QStSYzA4d3BeJkxPWkN8SFNtWG1MeW81Sis1NHpTd3s5KXxEbHdoQFVNWk5VSmdwOzcy
M1pga0E9dTg2Xn1tcGQKeklGKW17YEJUNEhgbnxhMyM+T01sZWBYM19gME1nNWVKaXYxRH0qUGkw
NDB9QitvVW9EOVc3KndRK28hfmc2KmdmCnp5OU8xI1VuPSRvZWhsVSRiRiYyPC1GY145V2lSTTZf
ci1SNiVaZTY/ZX5INF58Mj0jSjN6eClLJEQpeytuN2Vsdwp6XktAfkZ7dnIpQHQ+NGZuI2k/MWg8
cU5SVmZmQEtaSVRzZWpPdXxtdjckNlRlMH1zYVVfV3ZVI3ZDSyZnQU1uUjMKel4/bDBsY3EqPUsw
QWpNcig/dGt0Q2ttQW5FaGIwQXdXRmg+a3dOU1crWG95YEYmWSl4YklIaWFGYWBqS2ZiPntxCnpB
ZX1SQSN6dHw0bGYhR0BNTWd6QU5VJFMhR1kwcT44NXRPeTlNNjVUYzItKzZ3UnYjemFibHVRZGRy
YiheYk1CfAp6bTwkbU14cGs3Yzh+S0JXPjloRGd4ezg/dlpfcTJyKzx5fn02V3RmZ2FhUEteJHtv
K1dzJkNaWSVRMmA+TUljbUgKeml8WkR8YD9XOVY/Ui1wSkNgempDdF5CMmlCaCZNLTIwNWFYbnFL
PHxXcDJ7KHxHK3g8Jm9mNyMwaUlubWVTU2V2CnpHYmJiUVlaMzkqXzF0cngxQkp4bmd+LXtVYShJ
fmhOdH1Ta193VnlDMlVlR2hyMjQlcXp4ZSg0bH4pdUsrMVN8dQp6WHQrUitac09ub28oeHMmWkJF
cSFILXxqVCVnYW00Kj0/dGROQDd6JkxvI1lwbk9VIXkqa2l8eio+KTc2KChTYmAKek0yPWo7YE5D
TEBwRSp7XzxyYyU7YH1iWVB6RW9xO210I1U8O1hiLXVzSjkkK14lb01BIXFZU2QlTkhqektgYkgp
CnpFKjNHQFVZaTAtTXZaQU5URHh2dD80Xk5jS3c2cihgbHBpQFVGa0t3eX1kbT1KVDZfekxJS1Np
RChZSl5HTDZnMQp6O2tVfXRNJjBxWGFNIUx+empBVW18NWc/akVsdGdRbHhhayZhP2B+eFlpbiEk
Wmk5MEl6TjthVko4WSlHbDtEam8KenlNPTRwKWwpUl55d19maEZEcntOR1Nib3Q0LTAjJiFDTSUj
ISQxcUhlNiVYKSRKJD1yeT9mKGltZ1dZOWlVZGl0CnpXNWx2ezhnR3M5UmlMI25IfE4+QXd8aUtq
ZiRqPFRqNypCMnBgbEdxPnJEVHhwZGM+KjU1TDxqRWlDfWk7NkBTfQp6SylfVX1AbDQ+RitMZi1p
dWxEOTw9N2JMTVZhUiFHYGZXTllJTiNNOUkhaXNtc1dMfGZxZ15eOXFNfjtCZUlieUEKemI1UkRz
YHVrYldyRzt0SEBXOElkcDMhJHM4LUdeejRkVCtQMTVIfjJOPHJqQFI1dnY+JCVgYzRRIzF2VShx
VTdlCnolfT4/bTNzcjF4WHV6cEs/MjJ6bENkRk9IaTNrYzM7Tl44NmtXVDtuYEUhQHx7N0ojXnEo
X2dpSlMocVVLQU1uewp6aytKd0tIQiZuKkYrdllqRC0hNkBnajAjP05MSVM0djsqSjE/UG0rfW5F
SVpqbzk8fCFrYHoqUkV0WHRhS2wmc3MKej9hYHA1Xlk7JnZnT29jSTBzfXcoYyQxeDkpfCkxQHpD
V2I7SmdWTVB3SUtNX2M8eG83X3EobWUhJGR+fEFYTlF2CnpFY1pgQE1zfTZzJDZiJUVtdmdXWm0/
X2shIyEjSSZHWU5GTS1rPCQxejJgc15tVkhHX3RIMVNBTCYwNV5sbF85Vgp6d0k5dih5X0BAamlP
ODNrdSlmdGVAekVuQj5mZTEyNF82KUV7WmpidGB+OENiMFNzZms7WU10OUdeeCQqZVF6VGsKeko9
KG9rbkNyaSEhXjFTKFIkeXl4ZXd8QCNleCNoPlVVayFfLVh8KllQND5Udzg1JGFEVXlWQUlFTDhy
JUleVld6CnopQChyOUxaKDh2LU02MjVEU1dFYDc2VkI7JSlxJWNAQ1c1dEIkMkNLNFhvZWpgVDIh
IUpmcDkjb2J3UD5nfSRIPQp6S1l4a20/QVY9TSRJSn5pRT93RjtvIXRxWGQ2bVF8cXM3bk0kYzhG
Y1BWM0I+aEFUSTIrPSE5JlYleGc0dC1ZTigKelVOMHhxaEZaVkRiOG4lM0N4cnJyN2UhcFlaQzcx
cyNyLT5YSHEhcTdSWFNRX1BkWkNyQzYmcisyXkRDbnpQPilgCnpwZitTMChOKjd7VXM/NjA3KWl4
LS1Ob1p+aXokUChXTzhiSGBxMFFvYDA/RSttRk95SGZCekY5M2R9U31BQXBkawp6MUdlQGY2SVV6
RmhNNSojY2FCckw5fnI0d2szZ0xKYHV6VGVkZj9HR0hGSkNXe1JhK0UxfUFTK25rMV80NFhOKCoK
em4oaT4yQDkqIXdVfXs8bCFVaztSTmE9SjtlWlE1cEg2Q3R6cF9LRD9KSVFEaUQwTCNKYCYmRnBK
NWpLUGdAdTc2Cnoxb3Q0QnBfIVZ2Zk5INn51YUFoUV9WJk84eEQtO0g4VVR4Ozt0bE07JXVGTnEw
Q09Na2dKMGc8aUkweSo9RE0oXwp6MW5LYmtwdmpTODw1N3xMXlpVMmR7YG4qJkJfSnAkSXdtSEor
KUZMdEBqcSlWdUJXMU0zcW4/RytsTFJ3dClNKTgKenoyTXkkVDVIeCoqRjR9RD5vd0p5eSlaa2c/
I0I+WXBGfG5fVzkxZHhtVX00fSU7ND1aY2FRSU9pfi0lIzBfdzRXCnpgVUxENm1gKXBnWnkjXl5G
cU5jKUV5aXA/an1zREJ4b1AyWCtlWCExe354M3NFKkNKXnwwUUFtXnxTVHAjaSF0Nwp6UUlVcGl6
cHpYZSt0eUVKKkRVSUR4M0dFR096N2hDS1crWSl5Z3AyV0gqdGVOZ0ZhN1NyVHlmJFg2I21AWExl
V2sKenQ5XjdNUGIpME9vVTl4PHVeNil9UGMrIWwpMDZyKExJbkdsSXk8Z1pySkhZZCVFeX4pTkwz
XlklYz5HOTNwJVpeCnpiIT5qejtwdlJiP0JIaChxYmJTendTQTNBcyU9QTRpSWxVNmckPXVZKkM5
JWAlcUlVPXxDZXw4QypId25YJiVlKwp6QmZzX2JgbWpTZy1xaDhfcHdPPFo/ZD5OKSFlVWB6Kito
RHpvfSFZfSg9UjZ3Yj1vd2kpbSVKT0h+cTI5OGxodkIKemoqZ0Q0KCE0filAVFImTjt4M2lRSj5s
dXleIz10NkY1MjZfQTg7aC04ZnBuJmE4KlY5dDBMJSNsdEV6bFBvRjtSCno3JjZrLUpXN2VlUVN7
KkU7JWFhanQ8b0trV01YQ3AlIzRyVT5IOStYej0zMCM2XkpEUSV6QGhjZiZ2MEstXlo5Qwp6Ris2
OV48dmdnM2JOKHg0MkwlVD0+TDtVa0FjcVRHeE5yZkhmYHk2YzlXXlBgeyl6UFY0WWlNUE5lTUVB
OF8jKX4KentfK0JSYUxISWk1RnopU3ModCZHbUNpcHFkcTBXUkNvUi0rIz0lKUs4V2pAYF9zbXFB
RSN6Q0pkNTkyXjBjVEYxCnpoSyQpez4xMU5Fdil0I3hnKzFHajN4K3F3Q0AzZzY4VVQ8XyVxVVZg
U2NgOTxxcUViUSFrYSVgMiFKUjY5M0N4awp6PX0oM35gM1ZZTnorQStIamslWjlASTUobkVPekdM
ODl2an5xdl9sblJzdVN3c2YmRTNDWnFHP2w7WmJBaEtAR1cKekxFfTgjUmFhSU4yKzlBdlY/WHZa
JUZQYSYxRlVwRnZJenwoLXdOQD5veyM7cTVwM1EzPz5Qdnl0eik7UElLUjlPCnorS01WMDx1YnRf
NkA1UlYwWWAkVjR1SH5QdzIrdkQjMEx0YyVCd0wpSiV4KEVUPS15NW1iUGA0SGtmS2dNbitLWQp6
MGh7KUd5XzloVihxMkZTcnlzPHQxRVFqS3Q5S0RuWj83ZUQ/R0A7SWhjMVhvTzNxYm1rbjtxNCox
azI2RCQ3P0oKenlXTVQ3JEFvJW1tUVd9IUFFQEBIdF4lK2Q9YDd0IWV+bnlJMTVwNSEzRGE1eUZS
IylVIyRVZ0UwfnZkc20wTDsqCnpZUjBtb0tzaU1OXms8Rm0rd2I0TUx0U29ze35pZSs8eWVQSnh5
d2s1e0xhPz1pJjFTdUhhMGZnTD04TF4+YCtraQp6UXxyP2c5MnAka01FZzRjOHo2NS1NK2EwSUNu
cVB+Jj5NQSFsTnVZYGFvaGQzVmBGX3JLUHY8czRZX21ZbCN4LW4KejYtQ2ctMXVCenlZKCZIc3Bj
T0ZIIXxnQ0pebzc9NHc2WkVqMGhuPytYQD1xX21xQ2hxSU5wQ1pnTlIteXYjfHxQCnpufHBnTjBg
c2lCYGRNSy1hY2EwQD4jfTYrR1RkSFdlfF96PmlsflM8Zj1scFlfQFYta1RoYzUzZys3Y2oycWYp
eQp6YF5naHQod2xYP04pUiM5UWQ3ejFxUWs4QCpKM3c8KUhAKD5naU5TT0ctdDVnPzMzX3FvJVdl
eTB4d3g9IWA7dHAKeihHYGszZTZAV3FtYkhOMGd3MWZweyQjd3NTblRpMzViQiU5Q1E0RHZxfDdm
WXZQaU5ORUBNcDdiUEhjb0BoSF87CnoqXjMyamcmZSE/JntoYTVrKU9SeVFhSHhYT2E9eDw+RXpZ
QF42SV5OX3JRQT8zcU1RdHBCRWFjN04jUi1eT0c0Nwp6MFM0WiQmUyE0TUg/MWdQdn5td3IhIUMz
KldEMilCTTRPVkg/bHQhMSM0cSRwOTUqcWB5dlJOVTFJWFZgcEYtRHcKeklKO2ZXYCQzOz5NflJ6
PWo3K3F0UEdJR0pYPSFDRWEweEJGRCslO3Brfn0mNHp1KClETWthOVgzZDVJP3wzN2dNCnoqMTQw
T2ZqX3YkOyR4eD89Uzd6QSNNYlcjc2VVJHBwN0ByYGJ8anZrOTdMenRvNCpgRFFJUk5SenZvI3wr
SEkhSQp6PW9LIysxdXEqcjhwTkdeeHRQe1k1NEdYQXk7XyhkNzN4cXF5a3hzRnAkZThTJjZsZXJJ
WEY1X2ZLPisxMzIweD4KemBxNWg0I28wTi1qVlBeRilFN0sxcHJ3Mzl3R0YwYnBiIXNxXkBpPVJf
I2pmUFRlb2ZtNjhhMEApdExzeE1gPG5vCnotcm1nWHJ5JlN9d0s9KTBDWVBpZXdyY2czbkFAfkNZ
XyllTzFhSiE8JlVrQSE0dD80JUdkM29zXkt2NWJQMU1AUQp6SGN1WlhDMW8wd2NlYkB6aUFQbWNS
VXRJNXhebFZ0ezclMW5wYGk8bF5DTWhiVDtPbjRVZkZAYT9BO3FjZSlabG0KelBjfUJWdEV6d2Vs
R2cqM3E+NjQoMjw2VTB5NGRaVWp9ajdrVndiND5AdDRIZFlUKzJrd2pqZyViR2V7QjYkfD94Cnpf
PTdxSjslMnE7dzVJcS1xfm5UO1lZVTNBK2xEcjkkYiFDWHptJW0td0ordXkqOGplSVNlckBvS2Ru
P0FwKU9Cagp6MCVOMXspY3JNOFJYMjMoRCpPMEFmVmgpN0doMHwpZE1fOU9DO259NV95TkE2PHtr
TGdwRkR6QE1OQ1cxPXBhayYKekNjTUZUUWUxMmBkMm4pWlpaSCR6Tjw5VGVySE5wPE1XQjlfcjE2
QWMqPzJjQ0ZnS2BuUCFfPU5nZTQkUHAmSUAtCno3NiM/PFQlQG5DK0E4Un55NWNeM0xQRWlIQXpq
Tn5COEg4U3NLJTNqdjVsRklYNUhHZzZZZ0cwTzZ4ZDUwYmlHbwp6JEQzWmlLRHVsVSR2Umc+JWMt
MDBvRzQ0QjZDa31BP1d1eE9DVm1iZz8zWFgrTndte2pFQVl3O0lWa0hfMFRqbXkKeismdyVqN1Y0
czwyQmF5STFWOGchQDk7ej1pOz93NVZ7aW9+U3JZczlqYmc5eTNKUjlGalgkT2dac1h0cGQ1aDBT
CnpuTDBsO2dufX11QHVhZnl0RXd1YyNQQFFHR2Q8Vyl4V3t2PntAJlg7STg7eFpoPWAwRmJDcmde
I35nVGRVQ2o7bgp6VSZNR3JFa1Z+fjR7JmxHVUtXWHxOVV9MfmZzZXNAPWpqZn5Fc2g0bTJjLSlj
PUJxVE14JnVSViNEenRqJkZSe3kKenVkTk5zbXduKl9oTF4lT3lHRkVsbTt4PGQ2MyZLT2ZxQD1K
SWxUUWZjUWNPOEZYKmV2IXF9aVZ0SWdNSUpLOWZKCnpWMUFHfnp1bClQP3l3UE42KHc/flRlQWJn
JkUqNENkWm8pSkBCP2s4N2shSX13QSt9VSQ2RHt1RHleUkdpZmY0OAp6SXYocnM/dmZYVldjSVhf
bG9hNGR0R3RnPlFfa0tDQHIkXjc1UjAqZUhIbFRUe2Z3a1BVd2poYm1YbmVpMWxoV08KenxKP2pN
TVY7V1paMVhBbVNNJS1LTWJRNW9vPENrZCshfUowTipDaGdqYkU0Xj5GUjIxT2k8JiZgTWY5Jjt4
WUVuCnpqXnZiLUo4KihYRVZZfTllciMrIXQqI3lxPkJfQT8rU0RPT25ZJDZzM2pjTlY9dXU3Rzkh
cjc/eyF9fXErWHFqOwp6VFFkPXNPdVBRTlpNeVgla2h7VU94PXMlcGtkN01+YzAlWig9YTc5SHRy
UlRoSzU7ejtiLVZYMz4ma3FjKUNobDYKejZjPSt+QXl0NSRXblBkbUFtLUhhV3ljWWgmOXJ1NXdt
JWoqNm9IKDlHPGNHRygrfiUweDVoPlhrZkdTPHVvUlVWCnoha3dpcjchSEY2TV5iLUwkOGJ1QC1i
OGdia29WSl85PTVJUlh7Z2clU35OcWRiM3ZeYT5NekRGJkJuckNmVEwyTQp6Kz9zMWUpVSRlM2dP
Uj5APkk7Z3FYWlhxUChsTDApbk9rfTRIWCF0RyRuUl8pVTBOSmpsMF9OKmUpZmtJYW1OQ0YKektr
WD9fYEhBUClARTxELWtMZ3xWLUFzUUN0YHwrNm5gdU45e2xRWSkhPypIUi1yOU1HUj9oZHZJUGA5
QzZpXy1+CnpsREghRT1rZzAoT1JYKUhFMChEQk9GKjVIKFJFPFlQe0Z9b18wd3JvVFVRNndhV2dh
WGUhQjdEOypvIzBkMnNSKAp6N2pHeVBSckNVa2ZIZCRkeEU1Q2JpMkxfSGptNUxtQTNKJDZzTVEp
eU9oYEpqUkkyQ2MoOypHIW8tO3FyQC1VRyEKem1ubHdYTTI8bU4wNks3THBGZSpOYGZMWm8yT1JP
SHJoOFJBQEZXVWByelIoVm90cXBhWTxxVG82PXd0Rjt+VUl4CnpoWjZCRkdnQG0pQkxxbn0tfkwk
bkJFQmIxamZhJkVUcmxII1EqNysjUjx5c3xUenMhWkAkd1pWRXJ6VyRPM1BzMgp6MClAWGU0Pm17
Y2ticEVKJjFGWmFAbm9hN2pjbSg1Pl5yfVNQamI0RFgjWD5od3VUZF5RTDBYZW5mNy1hV0lIP0gK
el5LY3dTV2x6ciVYZXp2K1RBN0JaUUhLV3lhcF5uIWFMdFFSPyhsSyFWMGFmcG04STUkeURHNWgw
M242JWhkQWhXCnorZ0tSblR6JDBFRzE/USMkfmI7c2FQQVRhK2hCVjt0TitIZVMwfil+R1pzTnJ6
fnA0S0cpSUIwMkJzaCVnVFRIYwp6XlUhTCZSYyNFdzJofjR3WX1lKjk7S099PmtRNWh0ezk8dE9K
PjMmezF0NjhkODNFXnsyQ3FmU3l7LXtlUm4tZVIKekVoYnJfRnN3S24hem5zO1k+UihIRz8wazFM
M1RGJmpVcyZ3ciZmbDMhK0BoYDU4PHNEYV8lWn1PMndYTHIqQTl+Cnoze19NWiZ6aE04a2M5Nl9H
NFhDMj9SekllWT88QjcjVDhMJjc5ZjgmQjBAKTlvI2U0Tk5pbExYQFZqbEFsUShtMgp6RlZsX3dq
T0QkT2V6RjR2ZUtJWDROQ2B5MV9FSH0ybVYxO3owVUBEK1IlQHo1KSQ3LT8pRWBHayREdHA5cll8
fmcKeitRN21KWWFycmY/WCNWSkBNYWN3c0wqIXpKMyhBJUBafFNpa1F5bjB6dztQdmIhfX40K21O
R3lsKnttPUBtYl9yCnpZPlBGcHooKU49cHBuOUFUUnNQYXh6cjUjamN8NWx6QypyLTh9cG9yJHJ0
Oz0jKTAjTW0qPmo1JERtJjxaRWdEKAp6a0VkdSVPLXo4VTEzPiNIK0YkdjwlZFp2TF9iUzM/eDB8
dD1PZkNqOFNMMTBmY0NrSHRfX3Z8ejVxS2c4YHV+fUgKeihAeGlme347e1FqSHF0QG5TP3szZDRN
ZzVKN2xrclAkbXFNQEN8QTNoTGFUcipLaXNiNyN2TndSMzlTKW1xLVNBCnohMTRYOGhMKUJkZTtC
ZUZEZzs/czYlUzJLJkckfmcoQkUtaFhuZWNCUkVKT3BVJnBxXjlsNz9rTlBLKlc1SGl2Xwp6Jjhr
R3g/ajVlSWp+dHV6KyNqTDVeQTcpJGh9Yytgd084QTxlJE4xdkQkR2lFdHp5bFpIVEI2bGRvdT9X
X1dnM3QKelBKWVI+TzAqVXpXMnMkJTtDVDd1S2JYMShkQGgoZUVhJCZ0Pmh5P1RzSD5+dlZFKn1I
JE1tX35qQXZRUkVWaEo/CnolaFMkfGslaVhOXyU+VjBJUEB1bGQwbz1pdHl0cCFoNHRgemN0ZTVt
dGtOfC0ySHEheiZOLU9aQmt2NlJzd0I7Vwp6PEZnaVRKSjk4czt+MH0wYkN6fVpnflFAQXJGbjtB
dzRENTghUXhKWjg3dXZoR1Bve2x2OFh2XyZUZG9yJWA3YTkKens1O14mIXBUNT5MUGxrdFUqMnF0
V0M0TnF3bHU4KHMoemY+QHBAUXhiREB2Q3RCMjtgX3orQUtqTzZnT2lYUyt6Cnpnbz08bndjI3BC
KUpSYjw5S08+dnp5RkNkM0BeRkVoX0tvRF5TYGhCTztSPGZAeCZuOWVSQWJEKnF8I2VLJEVxZwp6
KlRpQTFUX0kpblh+aF9VemREVmhCRUprenh7cl5JU3oxfWFMQlBkV0p1eDkjQS13WCtDcy1LcTJa
cEpYbCEzbjUKenNDRnJAWm9CKVlJKWQ+QUpXUVo9LWFEamdAfT0qS1BAWnJBX1RYV1BnZE1XQjdL
RH5ibVVmQ3AmR35HWEUtI25YCnpNWC0xfUl5eGlwUilKamI3JUEtXnA5Ti14X3NlQSVvJmJRJTxH
YlU+LWAzUWBQYTAtVWV7RCNCP35YWXo1c0I8cAp6WU98JXEoKTspQ2soKkhRSiRVY3tXQEtjMUg2
OUlaP2ZaQXtCSmQoZmhhMnd2KmZyJExhblN4emE8YUwoYFBiR3AKekJlPGBwJkRQKHhAazJMTz0x
JE8yTCVNYHwybHh3fDYzYkY0ZTYhWSFUd1ElaGZ9UUhIYj9hNyhsYlZ7JDN2Y1UtCnp2czxtKDNu
aW42Ykx3VUZeNXhgPTtNKjlWaDF2NFpqdnNJZFdnZnR9WWUrWi1AdWZ9IzZ6Tj0xa3p9TTFqSWZs
cAp6SGdYVm9xYHYrSVhjZl5fJF9XaSVVdmBXQCgpQElDbEpeeyZXPTs2I2V1Wj5EcW55YU88X1Nj
KnAzejUtQTd8TGQKelBebkx2QztCZzM9M0lYNUtnajA0TmF5XzR0IWFCeVYqc1RSdEc0KkJgRi1W
Sm4/cT9Ad3BANVgtc19tSHI5e0h8CnpAT3hBI0EtN00mYVllMigmQzw+PUVPaUc4VCpvNEtuYD41
OCQ+R1ZIdUFHel5uZCZad01gMy1aentrV01iVTIjWQp6OTMkdUJKKWxpKTtyfntqYERucHt5OU4x
dXBmTT49U0t4cGkhOGtHI3pCXzZVKj5IN0V0TE5OPTFxP0ozbDQrc2AKei0yS3VkMUZjJFJoMXxp
TEpsQ14yZVU0MiNaMFAmPGlDTkVzMk1eLTshQyhTUzgkaT5DSXh+djMhaj5iRyQkUiRmCnpESzA5
NDloZnJjQio5TEEoKG03YDM3Z1BMRnheKVU/WkQkPDMralgpIV9IMUVQSHAkQC1TMSl+cWk/bXlk
Q2c0Iwp6VHRWSSVuVEFhXlRGJDRsKkItbk9iayRvb1p7bFR1SkZzSSpZOWNVYWktR1crMHUzWCNG
d3l1RUZ5TUYoamZ9ZDIKejQxWnk0U0tJK2RnS1RWT1QtQFBJJHt1e2ZCSkAoblFlMVV6UW10OVNB
aEN3ZUkmOHBBLVV8enheT1AwYiFwQWBTCnpaY3RjVXlycllWS3V5aFY+VS07I0ZKRFk0OEVRT1Yq
PHFPWiVjITJIS25JKDMrYTdXOEZyVlNhMyg/NSp1Rz1udAp6cWs7VDt7PXgtU1dvMms2Vi05Z0Ij
TCNPJkkwZ1hFTjVeQnNZRSFWO001N2ViSDUrNjYhZ3FuRERZRCthbmUkYioKejlsajtHKj5YYEVO
c1FkYHF5SXJ6bkUxaGlGckghQSZWZnY+PmdtMjxWbz5ae0oyKGtFWD1pNzVkckY5cEZKVGJ3Cnpq
Nnw3YHlMWjE5Jjc0YmoreSlgKkI9X2w0cnx6SUJCUHVGXmF1JHBrYkQjbzBHWmR6Jj5GSUp1Vylf
ejBxVEc3SQp6bWVYKFp2MTwhckQ1Yz9OJHE0PWo9OHstXnY0ak1tMENXPEZQbnFEKDtqMTI+UnB2
ZnpYYyhpQzZtfGJUSXdmMysKeko1V2tNcFQ+aENYbjRhKyMzYUZSa1IqZn1hYEwyYGJQU0EwQTAx
M2d7JWs9QW08TlJpZ0RLKVU1Sitsc1U0MT5sCnpabihQXzw+YklEOU5qSz48cmEhLWZ+VEJDLVNS
aXVMTUBWOFBLdFp4dnM2fW45KX1FYEU2TTFMJEImUHVZbVUhSAp6RFJVUWZxVj9kVDJwOEFZMz8o
PWlmYHZTYC1CYXZjVElnQj0kLWNQZzRHVWRuMXVgPlM5ZTxaSV9mMDlDNVU9fWgKek1ANitZRz5v
PnttTiZQdzIrbm9vVDY2Zm1jck5HQ3hMQWgrUiZ2WUdSSmtIdnBDQHUjcDhEYkB4Z15VKFl1Pld2
CnpGWHomXnRac0RxQnI1WkpgeipSXj1+NHBnZl8lMzktUXs2THs7Wm8pdWVlT0hEY3RzKl5uY25t
MWtWOW5OfWBlSgp6Pz9Ba0x5NztTd3NPfGZHZT5rSU0lO2YqIVFGXlh0ZSFCZDcxY1FDZz5tV1Nx
Nk4mMFhCYXAhcT1NJXoxb3B5WnAKeiZaVzk9RDVsPkIyWWE/fTJGNj9WREFvVjNkWCNGU3s8Qjko
QD8oP0Y4KzEwSXhkZXo7TWB6MTRjbDJeTTVZOEdQCnowSDdYUzEkS0pXVXItQntYfj9xNjIoRnt0
JDQ2SDtRYXVHKDBaezFnXzlCUGtqJTcme29nUnlxaEJiOWdvQ3dmTwp6aGxKd2c8K2J3NEx1aSVV
Kz5ke0NIS2A9M0h5bmdsTXB1WTIwTE5+OFQqJEJsQ1kkfkhfYXBTWDQxS0h8JTI7YDIKeiNTbkpZ
SVoteEgqNFR4Vl9WJHdaZzx4TSQlRT51PlZfSiYqUUZWcmckI0dIdHtqJXJoN1NRTm4tY1cya2JY
e28yCnpzZzs8UUhHdjheNjg4PSM1QVVEZGE7bj9UUllXQSRQfTI3WEwkPnVXbGFHRXVUVyMjcDt7
X2swSyVMQT5hZGBANAp6Wko0Pm81NncmKU5oc0orekE3ZiN7fGlBNGVmVnhqTlRQYm1AIWo5UGUh
VldnNkdre1ZWaDRYb24wdEE2JXghSWgKejB8SFE3Znt5c3huQDg8ZzdXRDBuakU/OzZQcWt+JUlo
dF5YKyNjXj5TRSEjJFB+P3ZFOzQqT0NxJlBjcHd9Um5UCnojPlIqRW5XSmpeMEp6QENCQks3Milz
RWw4MXxydzdVb0hAPU5XYV9IY2J0Ky13YlVob1ZpPmdJRF5yKz5wSDxKfgp6SnU7e3VsQmApMXQh
cUtKJTZ+K0R5czxUbkxaNiswZV9ZPTFTTXl0Yj5wfF8qIXclXmArWXNVJD9wUTZDS2tkKikKeiE5
eVhCcHFsOyV1JHM7TkE4bTlxbjB3dzVQZ0lZVypYTUVDWmJaKS10VmZeaSpWQSgxe0cqNCEhcSEk
dVAqNXtQCnoxRn49fmooJWZGQCpwSj43M1IreDVlKkBZYGwqbDw1cDAqJGQ2O2BGUEFWeXBrTWJr
QnQrQFIwZ1Y5RGRJKTg5KAp6WUNRNl5OZEN8KV9lV1M7VFlyYkE3MCg4Rm8jQ0B7QCNlSihLd0Eo
OXVeJVBhYHw2TjFfeFFuaEVHak44JHhpUUcKemkmN0xwKC1+K2p4YXpjeVBBZVNDPXllTXghJCoj
Z1JhazVTeFhjJjtmXkUlSmw2UzN0Mjg1OW5tI3lEejxJaWNPCnp6SVF1PyZqdG0mZ01wdSktPiZP
K01QXyV1Sz9sbTJxTjB4amp5TDR2MGFMJlQrNylXKkR9b3c8Z2liVy07STtobwp6UXU0JEhPPWZT
Zy1CPjFYKnlNbzY2dkREPnNvJnhmT05aWVhIPT1BX0g1UU0qZSE2KTE3bHo+YU4xcz9ISExtVUIK
ek0/aSNjPEZuI0U9NklkIT41SmRPV2lzSypmRXUwb3VaQWp6ekByS0xXWXFoTTh5Ql9LJlV1I0Ep
djFKM1BnTClUCnpnPH1JJUoxRUlsdVVeZn4mNHYxIz19ZikzdnVtKHFKTXAyIyVST1JSR09KMG5T
T2U1TzBCfjBoZVMrOGx0Izw4SQp6bFlqQnZnNDJQVD9fRGtAQ14hclM1bkNDPil0KWBxI1BPdTZZ
aWlKIzJGMiNtckF1QGI7QSZSRz1uaWNNJDImYmUKelVDQmp2K2NzRnRNUHl8Uztubz94ZiVFdyhE
MzEjZz9Xald6M01Yc3Z0PklENFpFYk1jRCR+TFNqSyMrdl96ek1vCnotcEhKOUw5M1h4Mz0zO1JY
SjxAd2JaSEQzN2t8MG5MKVp0Ukx1PzV3Myg2aTU1ZUxZZFNNNzdxIyR2JVMkNDNlfQp6M0pDKkxs
SkFRaFRKUWREe28kWXRJTVVQNjtnSUwpbVIyakZwdTJxRmdYWHtUcUYta35EMlRFZHhVJjxfRERo
JGQKenhgSlRzP1JNNjNFP3oqRDRLSiNjQWFrSVJqWjA7OEBwbk9aK3NgaCQleUIrRG1wTClsXm94
fkorVnokN3dZcXpjCnpxJFZYQDh7VEdnd3ItaVp4U0MlPjZLSmFBZkEodUlRMko2KnlYSWNEQWJU
LT1vMGZPKS1vQDd3SG8yRzB6eCUkeAp6azRZVmtPK2lPQC1GZjRYMVJJMmZqRUBhMlhHTUtKU0xh
Un5YYDtlR0xlfTdnNFJONi03LW9SMGpSVnhMM0JpS0QKekxUezdoQnN7PDxFSjJMRzl2P28wNik3
cSVoUWYhfk0kNmdkSEVuUzhzSn04ZFFEbWdVKElfNU8lTlZkKkw/ajJTCnpEQkopTGpvQG5nSmRK
YEwxVVlKTSVSSnBVSEU5PEAwJHghamtvN3tIaFk1YDNJdlFVJW8hbT55NSktZDdGYjJxagp6VGN8
QllBZUNfYiZkTXBEK01MbUpFakNWcF9Na1dRODdXUiVMcnoldSZgJiFReE83LWcxJS1xdG1VKThW
Z040aGMKeiE1PGRgKUAkTWxtNmRQbTMlVz1+MTZfZXJJMDIpSXs3IUB1KFVCKClBM2lLQ2pwcG09
SCQlVUxzWW90TDRscVdDCno0X31lciotZz5YKHJUMHokUl4yI3tjRFN0bVpLWGtgOyVEQ25hO25z
Jn58U0J2I2hYSE8lei1HOHpOTmN6KWBBbgp6ZGd4ZXxxMnV4bVRjLVlPRzQ1cDU+bEdtM3FiP3RL
OW9BKyVGekhfMndlJnFRdX1+OWU+aXF0VnE/Z0A0VWNQK0UKelRqaFE8PTVLPU5LaVJGc2Jgb3xn
ISU2biN6NypnRHJuTmBuWmRkaHkkemNrdHtMJlMxaFNjMzl7d01zOWlSJGE9Cno+MlomWUJ2JGBg
Ozl4aXIwT0hWSmZGY1FqNTI0WlR3dyhrJnZUbmZ0NT82Rms7UXQjfTxmLT5yZmFMdk8oc1g2Rwp6
T1Y3bCZ2aWArUkF7IylCdnp2fUxyI2EqMVJgfW16aSU5PihGVCg5NEZ3Ny1DeWg/NlVBT2tBYkA2
Si1ROShgYSkKelQ5N281ej9Cd2I7d0hpVDB4TkFLcHw9MWopUE1wc0dUPlJad0NFOEB0e2ZRe2Je
VGlPKUJhYDFfdyEycml9cmc3Cno8fGBfJWxLWT0oYEZndk8xPlZKPGF7Pk5DYCZXPjQ9K0JuPnQq
ZE13QWs0MnclUiFgWUZUOSFEOTl0fVV6JClSPQp6PzNwTXpSSFpBZHxHP3Nle18zWHhob0pnazU5
dip+aysrMn5FOWAmaGxSPHkrTyNnZWYjUzZkT3NocCVZMVdOJiQKejVRMmhJeEx8cnk+PUJRQV5u
YExhTl9HZzlRJSFQTyVWenRjNjJ+NysocEFgUGgjOVhrXyF1aWlxQ0tuUSsmVUB2CnooeH1Kczg8
QnNgdkArVW1XSGRaVmMmPSp5TTZxSURTbn5BZzU1UE9Md2EyLWdMaGFIe2JfWE5KM0BUTVdPSXo3
JAp6SHsrVEd7V0U3MlI+U0EkaiVwaV8jSzhlaHRmZG1gQnx3JCZNNns2bzUrWWo1eXJpYi0mdyY/
MzhfUElxK2d3OV8Kej1KRH49PG5IZFhBSkx7MitoPUA2TCpwSVkoXmFlS2VeTDxacEt7JThGRXpB
OTEwUy1jazU5UyRQUG9tQFNuJmJ1CnpsOCNfWnoqMXZ1MDBpST1rMGtWP3FqT1JyY2lxKk96JX1q
fSY2YkhgQWY+JjVtUW1PSk95d1l6YEkrSkNpJV5+ZAp6e1Z2I3NaPFJ5U0JGSGZnYzZMdGBmdTZF
UD07djRGP3hfUWZleXdxVTNDI3NEO0RCO0ZRTTFhcHFpU3o1JHdIYV4Kent0Xmc+QXRQTn5OZl44
IVV4dExCKUQjZ0QrcjBLRiUyI01BPSh+a21gQE5GPGR+d0d4JTxEez5ILW57Pms/Sk8+CnpMJkgj
a09SRUU4SCokcWtuPUA7bWB+e0drbjg/KV4/QyVGbGNySz9FNEw5dWN0QyFqI3VqISlRVHRSTXBK
T2hCaAp6Qj9FbGpfbmk4JHE1QXNwb3FsTHdESyEqZ3BhcjYqMz9sRlFPbmtpfnpjWCV9P2tYdl9F
RjxHcXBCQ2k3JCpDIygKem9ARU9Zbms4eWl6JTM4bEB6ZCRuYWsyOGdmOVAxXmpOMilgWmM1cj9a
P09mUHV0YF5HNUxLeFVfUTtpNmlZPzQ7CnpHNS0xNVJvMGIxSD9oQDRyNGpgflBYNTgmJUtRSUhA
QE9CXkd4YTRKblR7eGx2ZWNNbD42Zn1zUDdTck8yPHE9cAp6OGpCNjwpM3tUOTtxPDctLVNZbjkw
PHtUajkye35FZUskMnpXcWNOP0AzWD92YigmKDBQUnV0ZHxFLXFrK1Q+RmcKenNxRm1Ucyo2UTRS
cEYpZFc7d0lhVlZzTS0yQXM0bFkkaitBRk1DXnhKfkhsRyZyZiFDYl9Wbz11XnNKdXZ0enlKCnpK
MyFDOG9IdW1fVHBoU1FCdk5iKFJEI0l6Z09pZiV3P08/fExKS2cjP3B5KWNlYHY/OyRWbGpXdyha
YU1Oa31CQwp6QHhaKWR0e1NhIVklb15WJU5eb2FZVilgMGN9eE1RaTxLTChGTjdmaDRXIVRrQEde
SzE5O29jdSM+ZEhkd3ZgUjsKemthX2dQI0NwJEpuMz9yflNeX1lobnMkezJfSj0yO1Z8WkBQSitf
fG0/ajBKKChMcmp5MVZkXzNDdD01TEd8T3BsCnpMSXYmS1pjX2tXS29QKVJtTHZRb09lSjVQU2hz
RSs5M0I/cjtnUnJ8dmJNSiQlZUkxaz18flNpQERwR0x6VFlgUgp6dT4laVokMDtIKnpJaD1YMm1D
YCh7O1U3JF52KjcjTENTY09icFUlQlI2UTY4O2hJKVlkMGtheUEmOFEtOEc8TGcKekg/VUFid2wt
Z0VSNktaUWQrO14wKH1aamlxeUpxPiVqZVZjRTJpVmdjb3VYdE1eTiV9YHBMQkBpY3RAdWVJRFFu
CnojZ0ZJdzVHZDs1IzA0MTBZaFM/IWk5U2xwSmpzM2c/c1MjczxiPUBnNGt1Z0chekA7bWZyJF85
b3s1OVQ7ISYkPAp6WHJBJVU8SU8qRVVaSFhUZjJRKDQ7X3pSNGpyK3JtfEgoRW0rJDljRytPQl5V
bDNuJEZeP0BOOTlUODw0OFc8P18KelMoNFEkX2VARUQ1SndjT3dvZTV7fDcpMUEoeWYpS3pDLV48
blhydWMrOEY8aDMyUnwjc0taRUUhKTAtNHc0VkEwCnpsTmtmbW13S21zKXRocH5WdWU/Q3I+dChL
cmUpdDNHWWRJNldmb0Y4Y3MwRCNOO3peT2UlTFUjK0FPQ3Z1O1dvewp6cSpGbXVgZEVfTyh4Pjxn
LSp8MXU8bVl0MCFWKm1AUHQmbVhFc2NDV0ZMJHN2U2kkM2wkaShiM2JOYDxDbEtPcyEKemtCPiYh
YCU2Q2pvTERtYnkpfmhadXp3QjB7YEdROzI4b3QlYWVYam17SmJXdHo4fTQkbkBES0JUZ01zMFhZ
PnVVCnowOTxPUVMrVWo2VCMoPCkjRlZEejUwOTh2SHtCQnF5Nz45Vnk4ezkqYHtEbDUqYGl3P2J5
IzdUMzVeJVpgYDJycQp6eEpITVRCSlQmUmchQClCak9VPVg8Xkoqfm5WR2d8MX4wN1JEdSs1eTt3
Ym0jdlk1MHEhTFh4O2lee3JPbCNUN0AKellPfD1gbkFHVUROU3lgMEwzOXY4bXFpYUpYelVYflcy
JnRwaX4rQnB2Rzg7SXB9VWU/ZW4wT0s+ZGpCOUN3KXM0CnoleVVgfEMwRz16ZyYwV1IrWF9haUwt
cnQxMG5EUVUya3l2entQNXdTSmB4NmNXVG1DTz9ITlV2MzJjejBKfW0/RQp6b3EoaWc0bT1vTGhy
VHs/QipwX1JHVSh4QlorbXx6LXt+bTlqPDFJeE1HTkVKRExwKzlaSVQjZV43Jk4mKUotJnEKemJH
fTAyWk1JQyQlIz9FKkl9ZH0xMWlOTSgwN1ZZTlhScmRPQmF6cD9NV1FIISpObHBeMGxFJSlFZWQk
Pkl2fU1wCnpESUMoU1lIcXhFIzZaU1FQSSo4VzZ6YW95OTh3MGtjYm4zPnlTcktIdTQzKU5YVXxB
UitnIVNJWVdBZVdII1ZuPwp6WDFLRnAlI3EkNntLNlFhZD4qQ0dKdHs5KFB6VFU2a3JzSFl6O2JJ
Km16azZGdj97YTstZDtCdXQjakl7YHMmI0gKejB5MT1zIStzUThQQnxJLSlfKT1XdyZGNiFzJTRZ
M1hjKXNtP0pWdUBGUiFqY0lXKmBxMEllWTA5KSNHX0Rfa3wzCnoodmJEd2hBeTlNKElaYGwwMzJL
dV5nN1kjZDJtJXZtaUFqPztwRV9DQUUkPzFCYmFYUzk7Sjd0X2hqbSE5ZD5Ybgp6NSg1KSUtYkJm
QFNxS0BnOUFrOXNCK35SajQ7fFglNTI8WTBIMWpZbUN5QWdUJnRyUGg0dSlxS085WiZxWWBKYWcK
eik/KVdiT0xXU2tSVWtHcilUIXQ3YGZ6Z0kpMkJ9QDhYdD5Yc0I8bXQjMENNaSY8ZjMpMyVYVE9C
UVZSd2tHWXN1CnpNNGQ+SUVBPzZPTW9SUFdtYDRMPG42ZlNpYyVaUXdDeUdZfXZQOTNeVkgzOHA0
TmYraT1nIyRme2hFQXRuSn5lNAp6OT40b0JGJlVZfUE2cDl4OWk9MF44eDI2RnU/LT56bUw+Vmsm
PWFDaldnclhPaDFhZks8QilOYDJtRDYrSk01YGAKejRFVEM1KHIlejIoVSt9fk02UnByJXIqX1k4
XzxsRl42Qnx6RkVxV3JobzF1NzY3ODcxZk1ySTxEZHs+fkFZRHN+CnooQEdoczhBYilRRD90TWFv
aHRLOW9HS35RdXxmdzRpZlBjdnVMLWhJbzB+Sm5TbH5ge2JoQCZaT35FfCtCdClaWAp6WWM4UzUj
aVRMUlVhJTJGdVFvQCglPHNzOEo1c25sWiVQfF5SOUNBakt1eypmPlRVX2BCZjhiN3Z8S2ZwQStT
Tz4KenFWOGotUGhIYTM2OGRAY25SKV9jdSotQTI3WEI9KipzQmFFZXBBcWBoOTNodGtHUXU3QTRf
TiQoTmBCe3kqSyRTCno0K3xsIU18dmVYPDV9ampGbFlvViR0KHdoOUtPamQlQFVKZlQmMnJyRHVy
YXt6VjM+dSY0Oz55Wlo0cEh4VHFvMAp6IWFKRHUwbkhWRmEhJkJocmxnI3A5U3R3MW5uREE/dyM0
djsraFUtdklsIUduREM1eVZ5TWpeJTJIZ1ltSyReVjEKekpBMSUzZno8XiZmZE1MWUw/MiU9KlE/
OD5kQWItNnUkXypFWGE9OH4hJVVqSmUlRnNDS3pRZ2d6PTdLKT1kRGxNCnooQXJ3NCVpLWk3Iyg/
OXlOaSleeSF+KXVUJmN9cGxiOCoxbEhVaF5pJFlXVHxweW8qdE8pdzlgNypANVFYJHFQLQp6S1hZ
Sko1M1gtXnFFUXUlNkY5N3dFeyNHTW1+PndOc2U+PC1sOWFyY2pUaGk0bVAwem1tRShBT1l3cGlR
S2xMPyMKemVAcVFQPVI2U0ROJCF2JF5hSCt0MG9CeFd1aDFVJmNARERRSS1SN0ZMZ30kRF5weCFh
diFwTGJmbTdnJWxoT01qCnpFYzZOUFF7WSRoXiNSTGs3JlptU0djei16akpxMk5xWiQzUjB+YkZ8
Kz80JUJtdUBhdmdqMy11dGxuPnQmSVNLQQp6KEZ0XiQoZXlkaT1ZdWZnR1FWPHB7alA0Qnc2ZH0/
Qz5PQlopYVEtNG0pNDkzIWVqdH0mWj93RVdHb2xjdlVWX04KeiZ1N088eVR5Q3ZjI0IhSlF0YSlH
dSQyTj5pUlAyPVFXe1BfJXg9UzskZlI1JiNRX29fOF45czY3X081QEB2JmxQCno4Z045cyNqRmh3
bTg5I0teeVc2K2hjQVJHaTlTKSlsUDN3akgkUHZLYnxke1kqYlN1alo0WlYpdEBVKXJ1PzRzRAp6
PWY5eHE2JXkpe2RudWdaajNqZ3VWT09KcGwkSH5zaGYxYGg2TVNOPiglUzxvQDh0bn1wPiEhdk5e
SjZobW1nRlkKemFlQzBrMXRHdEFVTj9KdD5tSWhDQ215YD4wTXM2QChAJHNRZUpzVTczPF9+fT8k
cWN2NCF3NXxHQnN3N0slb1RFCnp0RCQ+PjZAa2MoY19OT0lkVXxAamcpcHFLWnJPcylJN0Q8PCZs
P3x+I0pQckAxN2YoKWdRUThBUXVGaTBJYlM4awp6ZE94V25LcEBKPkdJJk1kbCN5VCRpX3BVd2Za
eCtoJV99VV9HM2FWKSVFZkZheihHQG5kLUhIRmg3R25OQilzaX4KelB3U3BjYEUxfFRMTHR1T1E4
djVwX18wMjFJO2MmJGoqMVViRks+UFBkNzNrRFpxQGgwXnN7QiN3bGxGKDteSUB8Cnp1fWt7Mm1r
P0diQ01MaXx6aipOaUNIajYkKXY9MlM4KUorZ0l+Kk9yPEBkREo4Ymp3aXI1eU89ZkVacio5PGMz
WAp6PloqSV4tVyNmZ3k/QilZNCt5Xj53dHxiclVXUGNzcmg/JWA3PEYqN0okd2lEe15kdF44Q0hj
IXVJNUFVem5+ITYKendCNXxqbGtAVjxuNW1oWG5aYjwlIThvWmdyN298Z3dzej4tSCpea3gkX31X
NGRfJU53M2thbF9sdSltWj1jMX5ZCnpvJlBSXmN+T1gwYis2WGB6RVY2WUp1YT8kZ1VgJG5lJiZ6
fUohRUVkTyNHYT5ndylydmp1VUxePmVaYHAtWjk3Twp6T0J3UTtlejBWP1FnamNAMjc5S1JBZ3lE
aC0oNzYoTClwamctS1RNKTR+dnZzWmNCWHA3fnpGVzN8P35oKmxgWD8KeipPeG9wVjE5ZnhPPlRy
KzdSRjRON2BCTGdkeihJVEIkfUshb1lLaWMlbiNhcU19NytkUkspMnpDMTlze3Ilal5NCno3N0Uq
I0h7fXJDWj9eRjY5YChzJkltbmdjenB2UzZZPGw0V0QhfHBnaGtMNyN7UX41fSF1SzlqQzAqfVk3
PFBkeAp6NChAb2s0RTZHQFBzUT9DSE5fJHtNQT89ZCF+e1VVOENYYDlXfiReK1AhaGMtc2dxaTdW
dGBJK1J1XnxIKjg0MEgKendyTiRMeHlDVzRubUpmUEpWKjd0SShpcEVjYWc0Wl5YR3J8NHAkcXdC
cnBrX1Z8d0N4MHFzQFpUfkZmVU5vSSNKCnpCTTtNTEcmUC19JnFKQjFETT8wNFhSbTF+I245dHFD
V1koKFdpQWFDbGAjampHbkE7Z3h5ezFkN2FiT2M5V3hjfAp6THBAaUMyfExJOGx5dnlSXmFeWVM5
RSlKQ0w1MEZJQjgtaEMhYSkxUiR6Nks4ajskekxeWCFAVG18dGVQZ2h0XkEKelVyYU9PNk0wVjBG
MG5qZlhYXyEtPyF0TWBHV2UtNWIqLWIhdExeLUwmPUVNRChKQyZPdjRjIzQ4OU5fOHk3JCY+Cno/
aj5nSXU7Y0p2Y1A9JDdjTil9bSVPTG1PNiteNVhiQVNAQ1lAKkBrPCVKak9YdT58Z0JyJm5jSiN3
P3ZIeEA5SAp6NChleEBZZmxobmBWamBqaz9EZm1ULVpvPmAtZU1BK2o+Uz4+MVliOztBend1OEp+
cWRyRnJIfHVjS3RAbFA2IUMKenFAPCl3bXE1Sih3cVJAbklBbX5fc054YTEoNFluKk1wU0pKQnZV
R0xeJi1GeT1CdlFeaFJGaTEmTSYyKTw+KE49CnpTYUtKeW5BalAhISghcyVYZnd2Vz5GX2Y8OEVX
aWkjQXlgWj1aN3l4RXc9NmJgPCsmfSNORz18b3l+dnxfR2shTQp6czxyamJHNFhMS3lUfFp5V0V2
KFYqY2Y4I1ZFX1UodnQ4RUhlMUY2ak56bGAyd3c5SzZYS308Jjt1ekY4SDdfKEQKeilPSWQ1RnVN
JHxDUHFMSUtCZVElMGohTnJiPDZIYTNSI01NaV9CfXZPIVJAOzg0PU4xPFRTYGVOdlhAIVJxfUQ3
CnpWSXx0KnRYQmpgNyRhcnUmaHY4KFdCfGgxYj5pTXtnTWgrN3EyeXFVZU1BNTdNYi00UXRuI303
bFFKSFE/Pno4Zwp6SHBQM3RrKiZxYUxJVHpMSnBUY0VvOUhZeWp5PlFWOWtTK2lRWEwmKVB3OTJq
Syk7P2xoJVZVbT5LYDE7cTNaSXIKekBERjVXKyo+Zl5aaDtEazxKWnlKbnYkbTNWSEU5NDlJXjFa
bkgkcSpVMHI5dXZTNmFZdGU1dTFpKH1XOTJjVnFmCnpsMj05KUQ4P3dYdGBXM3MhYngrWEs0dCs4
dT10N3ozPCR0PiMwVT5PWGZ1cWlnZT5tcCp3akFgZ1NZMmNIOEZrPgp6P2ltYz5iOTRtUjA7fXVt
bz44PH5POzFuanI0I2RDVEpkZTxJaWZRRys4Y0I9RyZteE5XQkFwbWQrRT5TOC0pMWQKenM7V1Rr
a0Uoal5QIXVzM0czJkxsQFM4PllZZHNAQU9ZPjspSz9ebThQPTEkIyFkfXB9amxLI1c+KT8+bkg2
bXlLCno8djhaU0tgSHU5JW1wcCVCSmR+OXUqTlg0ajZKeGAlNlQ8eCFzKz9ZXk96PktXMjZFVG4k
WFB4bHp7UE4zdXJqcgp6SlorUHcrc2xUNVNaIUA+QFM3SXc3OWU/VEt3RGNjOH5pbmY/fHNEWjNe
Un1uSyk9RS00Zlg8fiU5O3U+MT93fl8KejhXTD96dDkzekpeUTxhZ3BHTUhGVFEkfkN7YF8tZz4q
LXxzTTw3UXYtekc0VTA1NCU2TSpEdHBDYzRDT09vSDVOCnpwKHtaUCNONCFVWU9oZVVuLS00UEh7
fj9nckdWaihJcEteVUZDeGo9bW0/ZzYkYG58KT93bjM2WXE2WmhGZFM+ZAp6ZXo7RyY/Y1ViY2xq
bmJZdzh9Z2Z0Ji01N2VkZGhRe00xRWFhRlhgd0hGdGFnbyorMCVObDN0VUdtbUxmNSRuenYKejhU
bFlPIU4oIXZIMyN4anFmYWg5PzZqRE8kZ1ozZStgT3FPKk9XbURGP3J7UG4rQmM9e2s0Um1CMztA
emU2ODN3CnpGJVJoJlYwJk9KakZ8TjRFY1lxQDRpby0pWmVhQlU+PXp5JE91U1FybmBodXwkP1p5
JEoyRWdeXl9GNHZ6S2t7eAp6U04hPCMxSkxkc3wyKkVGbikzPSQ5VHBuPikpelVLYHpfT2E8dVNi
Sz9tRGlWMVdtRyFkY1FfYCp2WjhGRndlQSsKejVWNkdKYSRXQVFxSF8yMClTKkUpJUh5JlBnNWZZ
a0BpPWYyb3RrKGpgX3FTPDEjTHJpNV4jMFpudDhOaFQtQiRsCnpLWXMmV0phaklBdjVfSVRpZnxF
aTZ6fEM7aGJ3LWVMbjgtanImcjxhUn5mPkVqSnprQ3dKXzAhO1V5K1YmMlQrZwp6aEJJX0R6QjVL
OzhhX1R0KnZJI31DTFRtWSUoaXRjWUY0fFU7VHVnZyM+UDhqV1Z8cTlZXmIwc3RTVklWZ3xSUmYK
ejd2fDxRRytjcmQtLX4meUt+Kzc5d1JncWR4S0ZadWQ0ZkgjSTh7KS1GaD9vWj85fHFuKjE1UGFf
OW14WEBOcnAmCnpgdlJjYzlqO2VQUGhsTkVRcnwqPEVqMlkyZVFhPmMhb1kqd2prWHVDZkBtST0t
dzYtfkA4bk11Wms3WGxoVy12ewp6R15IczF1JFJiaC15Jk11N2s2TzdqYVk7LXN6Tm0yKmpRT0BC
QzJteUZNVCUrTztsUUhZUXxhR0hYVEo2MV8kUk8KemN4XzFWMW16Nz1jfmxmMSNraW8mNnM+bCp0
PGNMcTMhTjI0UVYyZyRRQmcpLWxWP25lZkVUanNhUyVVIUdQYmZCCnpUK1FNNnVCOWRhVzhwdjUx
Sm0rZTJDMj13bCs0ezI4K3V1dUN8PCRuIWlSeTFKNnxgd0sxd0xoWDk/WGUhfmBCVgp6eyspO2tK
Y2pqaj1gM3sqOEEtUkx7I2Z5eENXSnh0RFFKN0IzPTl9V1VgUld2S2RYKSRGKX0+N290KylOO1lg
VjAKejVKLShYX1VCPzQqdCFkOXJzdlE5XitzamVqazMwN1AyYCQpP3d4ZUple211ZiZsTSVsdE5w
ZyhONilMdmZaenxhCno8Zn51a3U4WGowcmNlcj9oM05PK0M5MWZWKzlHO3c9PW1fVUl2MDE7MVRX
N2Y8cmd9PUtRQGRWXlN9RCpXNlFsNAp6PUJ7eWctO2EpI2soRVZWNlcrd0xiV2E4P2o7S1RgT142
VXNMUzNoKUxeTkg5V0BYckp7QWl1ZVFXdk9oenV1MWwKekU9VWpielFLJHtmSUoocDIzY3V2K313
Nk1nJjladWUwPH1zKGtNP2JpUnlOdENYYF56Pmo8YmNmdSNuOE9tLWl2CnolN2JvdnVzRzY4KilR
SUIqS0t6KklRU1pnbE17OWFjYChENG1mc019KDA+VihhQmhFdTl8SUM2YUJmLUlCSGpwWgp6Nkds
fVdiUSRsZlU1Mm5ZQGQhbDhSIURmUkt5Q21qWGxRNl5acE1AYHBiJVl0PTJBblNBRDw1UXJyZlZK
Z1cmP3YKejJWUFR5YXJJJX51bilJZUNmQnMhOUl4d0Z6fWtgWmBKejx7bzteI1pgbTtMKU5zZkYm
dHBHdH1kdktNcEBKKTwtCnohMFp+dWpMXkk5aG48VX5SVzZgTjYrPXpLeDQzTzU/cXU5TzA+K1U7
aER8UEpZVXh9OyMxSVJCaGs5WkxrN3pncAp6X3p3bF9vdUoqRUctJWJwJnAzeXQ3Xlp4NjlTaDdm
bC1WTTxad145RXorZ0Y8P2Umc0lGekYhNkY4KiRYN0UzNCoKend4eUZ7M19JQ15VaVZ4fHhIUH5y
aiFwQEZXKVc3cFpAYSEzP2ZxfTxvcUpmJWNtS3k3X0NySCErO2hsQylKOTN1CnpRYnFAQmlPTlht
QnhOYTQjNXojWEhgfXJldnhzVSp3T0M3TW05IUV1cTh0ajxIem5uaSlIa0opKVZJVSRAJWVVZAp6
emdeZXd6VkdZenlSWUFNLU17O348eyFJaz1JaV9VeWtHQ3Y+dj8pVD55KG5GQz94a0tJcmdlNGo1
dE88SE1jc1UKejg5NnpBMV5kNGI0aEQkRSojVUsrVGpUcVFSQ3RGKy0rVGVKYmlRZT45JiRjKCNU
K3RAMGhPYjxyNnQ9Z2g0Pj4oCno0UnFLNldLdntpV08hOG5eM1hHZlFtP2I2JUtQYiFpRD96fEpa
byVoVzwrdnhLQj0jbGMhUnk8ZWoySD5YeGdFZQp6ekwpV2cpfCM0e1Rlb2dDcSt0Jit6MyFJUD0k
Kl5PTmZjMFRqNj0rPXg0SX19TCttUGtfP2pqO2wwQE5vXlhEZiUKeiojSFp+eEdKYTJSe35KVDQt
I3N7Y1AjdzhFQUhJTXVuUW0mK1ZDQTduJDN3SWtzaDYhUHdTKENud2xFV0UxRHxlCnoyKVV3VFcw
alNTZVNBNnk/UXVYbDFZMSRzS3luSDkleUROWUFCZEotayZqWS1aUTR0JENVaCRVUyR7QHxESE0o
cQp6TCllKyQtYGkkUi17JEo3JnRwcXw/e0B5KkxgTXZyPGEqejUtJUQlZmwxcHQ4UVpGa3ZUWVck
Mno/SmNsc1lrcGIKej0lO3B7MzJCZitIP3EpaiQ8T2NHKVM1O2BYNHdoMHlXbkZwOWp5ZEckPSRu
UzB4bDRfQWI2MXA8dHpfT3tMWlleCnoqRk5GNHE9UCgpcis4eVJOKEEmUHU/JFRLS2ZTY0k5MjxQ
fiNPLUgwV3xRU30mQSszSFB4dSRQJCl5aTRLWGp4OAp6XjdxSHxQWnhAVCY9N3N3PEpPKT48TVV0
dFVoWkhiPXdzY3JCRkxKa3hwbks1NlRZaSQjMTFlLXE2ayNKP0FYXjkKeiZTaSR8ZTlGOVMzJnF1
RjN3P2Q+SSV+bU0ydF80M3lCMkpQKz4jWlkjQm5vckF7anpHZjw7QSFWVGd7NkB4UEVeCnptcUxM
aTVEQTRqNShrdmtmOWM7SkFMM15YY30xLW9aeyY/bFFAbDdUUnlBbmU9Wn1LUS1QVCRMIWNSclN0
NkNMWgp6I1hHeFQqWHdRY3NEdyVwXik2czh5T3JYRHJrdDkrSHVwJEsyemFkQzZsVkxJT3Y2VjMh
Vlp7bF54KlpBRGtRdloKemFHWGBRWl5zX3R4QSpjQ0NvM3hRfEk0KFEpc2A2JmlfZCE9cnZubGRZ
fUwtck8pSHxUZ0Z9c35pNFpCamtKMiQ5CnpLaXFhfnpLX3x0RGFkTnV5TVJXWGRnalBhcDBBUTc0
ZUB4My1xPlBxLT8pZEVZRyhZIV42TVhmOCV+fFZxI2otdAp6Z2tFIUFQbXtmYyYofkluanRCQGdu
Ml53WlN7eT5TcDZ0YGQ4WT5BaVUmeWxLYDJyYnYmXnUocTEhUj5SOU4rQ1gKeit3OWZURHcyQWRm
ODkxT2tBJGwkPyl1WjA2T1BBQW9UVndIblpCa2d2Q2EkJigwSVItTjxRWWAhfX55KG1GflZfCnpI
bllZWkZ6TjZRO01fKDs2Y3JZSnBtXlg+VjhtK3ctdDF3PFFPbSorK3QkYFB1M0R1TWdqTmN6OT0w
U2RROVd1NAp6WGQqWDEqdUBAJmh1aU1iZ3pDdGomRVRlJT9GYm5BeGIrdihVaThaWSUzPmV+WCRO
MXVaZTU+TmFUYkhQR0M4bEAKent5NiEqUD8kRC1gczE+TW0wV3peM3ZsZEcrY2poY05qbG5nK0xg
cnxZMkQ8Uik3UlMpWHoyVW1NKnhefVh7d1MjCnowaUBGOCMlSDg0MyVPUiR1ZF8/S1B1K2lVJEBF
JEYyKndjYilaWVBnYTJ+QyUrejhuSDRKcFMlPWhzWnZOVXQmTgp6UCQ0TyV2JlAqIXk9Zilxbipt
ST9DK2p5NnNxa1k7JUJMZSo4eyVVVUtUSm9HTSlBUGtFM1Q/aWw+ZiUlc1REVTkKenI+QCo+aS0o
NipoMz8kQlU/ZHRKZXo8YnQ4K0dVRDRlUntSKDFMcDlmWih7NGFQQ1orJX0wRmYwQXdzVEJYOztL
Cno9NilIIyZieGpzYjRKOSsxNXBWNDhGO0E1ZyQkcngmZjBoKjNociF1e2N+QWFLNkZuJnI5ZiFG
SCp0QUVDd0UhNgp6ST57OzEhSTVCSlRVPnB1cT1hd2chT2NrQmZeNmlrZXMhVDtVNEZ7T2h7KjNm
NTBoNDl4KDNecTtQfHFSMDV8eEUKel9PKC0waH59TkR0b218eVQ9N01VMStQNGhiYyYqKSttPGIl
NklienRhU31iVT89XlRRZFppJDAhMzEjcF9BYHojCnpJQlU1WihvQkFVSVItd3xPQ2cxKCM2V3Qo
RElHMHdrfUxgNjxfN25UOCgme2k+UW1UWDtRWjdJMFUjMGdHKG9fbgp6cShnTldlTT1Ze3MxSGlD
VD5JSE1uISM3NlNEWXhXdiNqXiExfXpFej4rRT97dXdSSE5JPUZGK3s/OHZYaVR6d0cKejFWI2dr
eW14cSQ9fW5CSXlyeW4kaTMqNk1oQCUwK1l3aTZsNGhTODkkJHxNXjV+KVNLWFRyfEomUDQtWGB0
OU11Cno/ZkJFQk5FZ25IcVdRRElrXi0mY1ZvYEhqYitYZFk1WFk9TzBkU1BlajIpZyMhdjwqcDh9
TUpPUENYZCErMWxQPgp6cTh7eTIxdDtlOUZwV2twbWptNkk0cnpoeUgrM09NTnJ1NmhzMDJ6PFR3
SUp9KipCfjImQzFMWkNxQygtTmZhZ2sKekdST0tGbUl2Q01VdUxWYypaN0VMYlcrO2N5bklqTjVw
VkE9dSZRbnUpMk4+c2hYJTlmKXxoUyRxdTZXVDUoYSRHCnopYElRfCE5ezNqbD5XfEYmQFduPTAo
Um5PK21jbmBQfEQlMzJmSzclYHJoRmxkcStvMiV+Y0sjZig5bCZFKUk2NAp6X3B3c0hPKiZjZEF6
aFh2QjlpJXM/bWoqSmI5QnR0N0xmNFVKbkRAaG8+OVEhO3o8V2dkXzx3JXtlMXpJYDl3fVcKelU1
QT9mbm9OY3dCO19zfldCTj5HTUApJmV5P3F7dmY5aTFMKHd9KH0wNm5EKilIM1o0SzJSN240QWUy
cktJZUV8Cno+M0kyWCl+RWs0PH5DMG5aPXphPlBtWD1ZaEsoRFNoLVR2KmttKm9wPklgQl5IZm49
aGF3cWdYZEVkfUJKckQkaQp6aEdmIyNKbzVQayVLfFlBPG8rT0pzakZyTCtObjM/dEJYQEJhRj1Q
NDcrWl9PbGs0YyVHU302c0wtUmJTPlA/UVQKelNJOyN4dG1SbkN7NiVmPmV8VXxvdGlxekF3cSNi
fkxrekUtUnZHQjstXzNXKHlATz05V1NLOG9lIzZzMnFBJWwkCnp6Y3VeeChAPExyKVRLQlBXJll8
I1FSQ20pWXNfaUg7Uld6clIpNk83PkI2SWNHK25rKUpGdDh0OSZedlc3dVgoSQp6bnwjK1hOPmVy
SGd8d0g4Mn1KYENpNkZUK01qYm80XnUzJjdpeTB+c05IPUVATXw+cnp1QVhhczB5K0tuSjtFbyMK
enRmd1I7P0gzfTNMbCRXalhlV25oI3VlfGtKQ002VXFyPCZIWEAzRlYmPjRvMEQ/VytzTiNaKz5R
Ry1ve1R4ZTYzCnoyd0E4MSk0Xkw/LXYkKntJbCpOUnQ+PyFNbEpwKjU2aUlJa3NkYG0qTztNXklW
Tjt0fnxKRkgqJldqPVIxVDVOVQp6R2RJXjdmMzNrQTdmflA5S0FnTDtIZXZtel8yU0tURXI+TGB6
akRgdCNjcUM2JUlTMSNATyR3bCElQHgzN3c/O0UKei1rcWZHNSpWPyFnS3c3T009WExgKCZ8cEBg
Z090KWkhKFU/Q302XnJERnpKNT82ZVJtUyo/bEduXnlRfSRlOyYlCnpSSntLTE4mWUBhbERBN3Zw
Sj9oXzVDKzhSIzdyaCZJSEl7JVF3dmduUX14SkJZTEJ0SGt3Nng0WHlxIXBxS3RUcAp6eCtNcGBg
ITR5MSNnS2V0QGdYbXRGfmg9PG9mO2JvNmchUylaQERLfWojXzwxVURxOEcrZiNYaSR8N3UjOEA9
ZS0KemcqZCY1SUltdE48fm9zWkhnfGVkVy1Nd3A0QGZDKk1rKyF9MyZAJnQ+RVJEQ0cyeHZMREtL
OTFxZkFidSEtX0V7CnpJRm96JFZ7QjBJTVZ5TF8mITExME1nOWRLeFZqOyp5TjNBNXghNElLTC0/
YntONH1tdzN2c0EmbUIzdWJrQ0NSOQp6RGIzcnF1MFN1YnZlSzNYR2klcHMxWCY9fTt7ITkzUDtX
c1NneXlvUEhzNFYmZkB6SVNCS0A/YmxnSkBxY1pKazMKeipXMSpnJj8mdHpuelFUYSRuZStwK0Qo
U2FGPlJaTF80Mz14WkpvRzBuNT8odl9uc0xEMmh1KldiazFtViZzZ1d9CnpXb30pfDg7PlFIWEMj
IS1MVWphV3s5TSorZWZfZCFyKitHWXROe0klczxPX0RiKU5xKldVJExANit3UDhURDVmZAp6ZX5p
dyNAND0hUXBlbWh2KkIkdVBOdSE2LVVHS2lhbTgzaSt4YngqcGhVP2BVISE8KC1DKXhwMzRxZnQw
R2lSam8Kell7JkNHSyE4VllaY3EtWS0wYVk1ektWZmgtMlJFOWhQOSQhMFJhWXtud2o2Z0NFTzBp
a3JMQUd0Z1QyIV5Nd2x3CnpzWlE3fEYqOWlkdEVVaWNOMSZPKWFlX1BHO2podUJMc298I1JkcWt1
KEt4cW9ITHBPPV5SMG5XK1ZobVdecG5rKgp6Um8hKW1UbSNvRzRPclhKSiRUVDxYLWw1PCZqRkxI
Q0w4OG1jX2glPjJefXdBK042a0tqOTd3I0YlSU04VWdQYzAKenQ1N2opKWB8ZGwhVF5GSFR4QVVU
ZmpjRUIqKSokUl9eJTxFd3g2WE45X2E1NF4hNHdII3FSfigxdXA2U3JSYClnCnp6MU5SRlVUe2pV
Jmg7Xm1GQk1TY3BNTHRDOEooJUNZbl4lI0FrJHh7LVdIYVlaUntpZzhLI1pFMmdgbmZxLSktWQp6
eHR3RmIkPjt9fHNveWVxUDFDZ3slWm5xIVFrK2c/d0leSGxjSVIzcHR4azBgJjg2RHlveXZVNk4y
TGduTzBxZjIKekU9SmVVanI7XnorPyokRFB+JiRlPjNnRnxeZn5zaXN3fH49d0BUPShlK25hNjcq
YUxqemhOWHhFR0s+VFNCJklUCnpgV3lrUi1aPDtGKkQwfmxRIy1nYEZtPTYob0Z7aHRAPWEqbnph
PGZBfDZmVCZQN08jemEjU3ZfM0RTdnR6Tmh7OAp6NSZOT2FtKkwoaWBGQyNMTXNJS15HSUVXKntW
ZXg0LSthXkFMRSFidGY/fWReYUhzKzJhODR9YFJrc0dVWEowe1MKekxtb0R+PGN8bWpGaDM3UEZ0
dCtVXjRNOEx7fGJ6eCU+I3dYNS1ZalpIezFjJmBDQm8peFRKPElpfDIyJE83ek0xCnp4aDdGTmVB
dkBOSGgxdlZeJmQ9dC1DPXZ0Tll4NTYoQGh1YDhMPTJ1azVYUlY+NmQ/LSg+SGhUPnYwYzlLM05w
dAp6STtgQlQ/UmJ3VWtvS19jODBNTT5kc0g5b1J5e1BIX0FYP0YoT2JlPW99d0EpPWJ4TjZgSit0
NFMxK3xeLT0mVXgKejt2SlRaRTkoOWBAV2B3R0lYc2RqNWRyZlhOLUlrc2YzPDVFX1U8a21DOFB2
aGNldTJsKmNGdFFHKHZjNVAjNDJECnoheyNHYE1hMGo5aTxEVn14fTRvaTViMk9VS1l0b29lQyM5
RXhuUDJ6OWRUaXckcV9ue3NBWmglWTsre1Y1dG85RQp6MERuOylEUzs+dilAV19vVi0hbkF6bEA5
cVNKIXJGPS1AI1krKE8jWU13Q2JFPlBpKyZRVlZgYnNqZVhqTUsjZCoKemc5IXtsRyojcVZfWUt8
NTdxd1p6XnJMbDV5bkBeKUo5YElEMi1QTWNpN3l0ZXFtPiYkMFQrQD91PXdqfVltPnJECnoxPW08
fVc9NGIhKzU9SSg8TmQyXyRxQ1MjUVVkME5WMWY7NEtsWEh4a1hqK3w1fj53KkN5V3ZfSUFrMn5t
KDFObAp6Tzt3Mzw/dilSI1lHPktmQktudGFGNDJXdUA4OVUqQHg4RHg7PjlTX3U3N311U1JZRmJR
ZGtPa15xXkFiKlJldkEKekFDJlFTXnR5b2VlTFRjJjZZVXNkSmpKe0EzUUx6TChjLX1uIXE5dE4+
KE0jJkN1cGVeSnBNZStCJmBBI0pDZGYqCnorK2RfS0wjNUB8UU54ZzMtZj1iazZhdkBlTH5ZSmJE
M1Q9UT9tJEZfSV84JT9Je2FseHlfRHJRcEAkRXoqTktGeAp6PngwdUtoI35sRGArbW9zTjh9Vj81
dklsRlp2Skl3WEtJbWkpJWsjKHBMfXZAQTIhSmdGZXlUUzw8WC0tM1c0MHgKeituY00mXzM+eCVs
QzYqZmdCYmo5KFVJX1FZbDU/RFlEODNDUlhPP1hYVX55YUo1WCFndlBBV2FNaTtKeDlUfCRICnox
PTRjbzJOUHh5PHRMRldmRDk3QUpnam45eU5FcWpIcylJPXdyR3o2UGJSNWpoM2lIK1d1JSoqMl5h
JCoqbyk7ewp6RWMmalRpaT15K2tWYl5ANCloNnBFVWFRQW4/d29vKDQ7ayVAOzJlSypQNUF7QjNo
ZGc0RFJAfWJoK1Y4NUxjNUUKejk2cXBmKmxKe0ZuKjkwQ28+PlUjPGJCZkdlcXVzLTZgPmx0WT5S
R1RjNzBiLUBufXA7NEU+NlIyNEgoKkheKH1ACnpHJEolS0Y3TWRnXjc2V0VeTj5meElSdWsrLT9h
O0gtWWR1Yzh+TXAwNiM9SCVIMGdRSE1jd31aQzheelhxV0JnSgp6SzFidkZAYWFDJD1zP249Q0Fx
QCRIV3YlRCM/O1NMQzJOOD5fajJrRCF+WiRgJE9CY2FKYSVNaD9pe1ZqIWlHZ0IKelI+Kj5TPSZt
XjItPGgwdj9ZSlMtcCtEdX5pdWxzSHIlJDF4PTtZKi1JYUZqWHB5dHV+QFdZWkFMcWwqeW1LTmNp
CnpSV19kWXVGaXh9WklgSiEjRHkmUFFSPThDKGImQnJSYlNMfFNKS2czbTFSREhlUyF4fTl6ejtU
NFQzM309aElrKgp6JX1pRSpSKkpjfnYzdkRJaGd0VHdVUjVIJG9QJCpoQSRUJCtXcCNedGstdXtj
eEwkS1lRJk10cik1UHAkSW5aRTsKejdJeWBqYzghYWpLUmdMJm1GTzVtelBoQClBUWxAZXhWM1E1
VVVyJWpVc19wSnJCKUt+Oz0jcT1kSThZLU5TIVQtCnpzaWAkTTB0NXg2VUo5TSQ+OHZhe1dyTjxB
RH1DT3gweTt5PGZ1UFRCJjYtT09QdS17JUw9YE84dnI3UmBafHZycwp6MDIpRGRxNHcyfSl6Kk9k
XzliQiZZbiozV3lTVChQYj19bWhFZXchVDdUfH5ucyVGOyluQDQ+R2h6Q1EtemlwZGsKenchdVFT
c3AzNUVDM2p0aXUjKlhtUj4+WChpayRpSzx5KklHcCV2e1J7UjB5KXB2X0U4V2k9JV9VWldBJVhe
RkdYCnp7eEJQMm57VVJLRWpne3ZOMk9SaF9fPkhnNGtLMmBga0sxKXV6Uy1oK0J3UnJwTW4rdUBB
Rn1Wb016dkk1WUcjaQp6XzNIfHAoc3xGcFJvKXNzOHJVREg0TyQ9O3hqfj9MJm85cmgwXnxnUHl1
REZLSjgxUS1jRlRmZz1MZFZJXjAhNDMKeippcW1iNlI7dU8yQmYkPSFzZCZHN2RCK2gpejxEb0sh
T1RNJVp0QGJ6ZmZPZyE5VW96dUs2bil2eCR4XzVPP3N9CnorMlBnVVBgaT45OzIyKGNqZzVeQCZh
O3RHTTg9fSoxS05nUWhXPFoqTWxAR3MkUDFVRSs8eDZjZSR1OV9pMSlMYwp6c2tnYz0kSlM2PUhR
JWpRKDJ8S3BhMyVhfV4mPDxfaDQ8SU8jVGM3UjtqOV9SIz94KChxWmhOdD5nQlQpNSN2e3sKelNQ
YDMtK3pHdmwxPHg7KVhlQTZWclhxeHA7cDVkYkgzZTchc3UxLSRuUGBFQGNkPHRuP1YzcU11MCpV
NndYNmIxCno+SDRla2IoNjJxb2Vtb15JQTxCS2xtcmRSe0N1LXF4fjMqYU9VcjNxcnZOISFoVFoq
UT15MVVuR0lnLTNPVVQpaAp6ZGlCfH1ZWEpQWT5zVTRpVyZ2Pjc7N3RLam9HQFg7dSYpcnkhY3dp
TVgmQXxKUUpiWkVIfWEkZmo9Q1EzJWwxUVUKelo1Nn10QlMoVWFWJlNua2t9KU4mK0tPPTdwYXA/
I2hodmlPMD9EVyNmalhkREwhaDZLSHIqPTwxYm1+dEBvWi1CCnooSDlpNzJQSDd1O2U9JGNLeXk3
ZCo9Nnc8SHE5S2VHYyNBZE49cjxuX0hLMXxTQ180M142UHAxSWN1OEspbHFoeQp6c29jeTd5fXRF
T2xPWTV4MyFheilraH1+OENhMCo+amh6TUkkUkJqJE9TakZObSRMUFNtN0YlUzh1THlyUVBHK3wK
ei1fRkt7TTd2bW5aMC0qK1JMJTkwIz1JbUJYYE1aKXB2Yzt1NEYhRlR5SmppfSl3VTJHVEg0P1o9
dV9WZ25WYDRwCnpeKHwrdUF8TFlQWlBBdmd2P3A9NmFwSCRjNX5XRkFyPCU1KHkpbFRYaSh+WiFM
aDBafTlpeWR9K2AyNkpXNk12dgp6aSFKbFJgY1Nre2RhMCVFX1ZNJWMtODZkM0MkNXdJeDRVKEk2
LWRqMjc5bmtkQXJuRzFkOGltY0dgUiN9TzR2b2UKelNoKDxCdzRMcXhLLUlDNW92KFVnSX5nZFZt
MkhQKEBTY0BfVEUjMiYqc14rdkdKK1RUOSk2Pj0meE5mKFVXdTJwCnpHWlZgNjMkbj4hc2I3Sno7
fjZSYE5tRy1hKlY3d3E/a1A1ektqcjZJejZ5YDlMSFkqKDt0ZD4/VkpFfFFhXnc5Uwp6OHl+Q0pk
O15jZnhQbFI/dUpnMDN0Zkp7b0gqTXxKVS17TExuenYtVz5CTGZDUW1CWTBvbD5xYTs0TX5nM2JQ
VF4KelF2aHJgYyVBeXBuRS1CVnNBeilKb2pqUmNOSDl6PiRWZFJMV216bCQtTHooV0ErNWVXeng5
KUJte3xKP0kzfVl7CnpsOXFxfF5UJUlidWo3ZmBKLXcrRTJPU1ZNOU1qc2hfcmJ2TGwkT0V+ZipD
eD87dmNQKD1TJiF0ayQ+c29Zd21HXwp6MXEtQzhOQDskaUJ7eSE2VkQtKFZJWlN9bilsSHBKKV9V
RWtzMGZkYW8tTiY0bFZ7cnVKOGJkbFU0Uk95ZkhWQzkKejQlQkxaVzJMS0NxJCZpbTZpTndYKiR5
cDREb3wlX0FodDkyZl4lejl0YTgzYWUxK0t2bTkyKjl7c3xLJSpyWUU8CnpFOEpaans/Wld6a1lW
eXFAQlRaZU5TPT1gZXE/RTY3MmE4U1pmQUNQYndeTGhGeDJVWHNpbzl8PDt6Ukp4KjRkJgp6d1k0
YkgoRFZzekw/QkZCdF44VTtaUzdVfF82VEIjYDkkVFloc3FDLWpjYlBXQzN5czRmLUE7YTZiZjxV
SDhrNEwKelR8NWVJPiV3Uyt7VFk0SzF2cXdzXzJ+NGB2RDQ9WDhZWUB+TkV4S1JnMF5te1QkYFEk
SWd4LTVBemRGUytjbSY3CnpRaD87R3MxS2VeaHx1YHQ2TUQ/ISRBOSg2KjQ1RHdiVD84aXlyTiFp
dm0heW87Xl8jcDlrOG9GZEp0XyNlX3c2Pwp6JFR4O2lAZXEpLThSV0hIUXdKeD8leHJmeGwtamF5
WFchMTJoSzU3I0d0fF8kdzdUKUBmZ2ZjKmFWKl56ZlomKCEKenJheVElLV81REZvZk5+SzchQF8w
RU5fYmBgKUdCTiVnT3xselk/a1Fyd1ApdXUpVDUzWCpEZndRdmFIKWdxRSthCnoqRmhvIUBIfj5i
ZTRaazkmRlVDQj0rdE1NZzllWE9nZTY2fjJ2KVpGalBiTGZnQkVIejM2a01rSFdecDZGRipkZwp6
JmZVYzU/NStnazsjPlRwc21qZDJOe2tKaGtoSnNOaUl0bmo4OXs4bWxXK1ZFQldDJiE3dVBCRFVr
YDYySFB1SEYKeiowI0VwQ3MyekojbXM9RExFTV4qMk48JURkSXxgV1VnfktpblcqdU56NklBdT9L
KSNQMFdvQDB0bGgkcktOY3JkCnpPdG9lJlcqWSN7YjZTaDZIalMtNUczOD4tVV9HaENzWm8reCE4
OW1kWTEjTGRGT0N2Z0x9JiRjTHc8KmctTGsrJQp6N1FGakN7MFBsSGQ+fTMxWnYlbT1QOSpmMWpJ
Rjkodi1Nbi1PcDwkcDgtdUtTdk1HcyM8YXpRNVd4YChJZndIVGkKemkoTGt8KUlZJWdiNXZEQFJk
bVNEODFIQ2FKVnp0ZjZTSWRhPVdBVEchM04haDgjMTMpPVZhI09iZkk4ZHtXQXVMCnpzWnYlfSQ7
LT41S29wVlVmUVRYfj5mWFI7dlpLYXRhbHJEajNVZEVGZChESzk3TXRiTkdsMTxGOUQ8fVhDWTUq
Ugp6YnkrZVgzfExUczMwSnJwQDQ1N188SGp4amhvalYjRlluNykqKGwtRk97Jk5qXipkM3I2e2Va
U3RPRyk0WktBUjwKeiUxPyNremMpeWFUWlA/T0hScSZBUDZlP0NMSjFJbEBIdHRXJXxIK0tOOTdD
TmhmUm5genxqaHYoMnJtZ3szfVNBCnpYd1dRMylublF1P20tSG97UVJedV40NGJGdyZtZlBKcUAk
fU4rNzhPQTswP3pVJWxUKTk1eWlgSWJmTDx2S0kqSgp6dW1BKT5LJmlqIXZNJXFkQyVldTJjUXQm
PVVqSGF6aExIcUw+PXo5aF5nOGBzO1VBJS0jQiRHZ3Q5dX54SG07TlcKejFVUEImOzZiUDZkQHVr
Zio/SX0mP3dEfXtjO2tRIz41NUVeR2U8IUYyT1N1SW94VTU7WT5nN1NIXnVkYCpNN3BFCnp6WGdR
JCZ1QCVBe3tQRGhRJllHS1c4TDVxUXsjX1UzNj1USlM1elBvez5AKWVYfV90KG5mJipDWENVazZW
cUxWJQpLSU1yeX5tO1ZWRWBIOFhzCgpsaXRlcmFsIDAKSGNtVj9kMDAwMDEKCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9jb21wb3NpdGluZy9maXhlZC1wb3NpdGlv
bi1jb250YWluZXItd2l0aC1wYWdlLXNjYWxlLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL3Bs
YXRmb3JtL2Nocm9taXVtL2NvbXBvc2l0aW5nL2ZpeGVkLXBvc2l0aW9uLWNvbnRhaW5lci13aXRo
LXBhZ2Utc2NhbGUtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNmOWFlMWFjZWJjYzIzN2YyMGU5
NmJmZmVlNDMwNWZiMGQ0NDdkNTUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS9jaHJvbWl1bS9jb21wb3NpdGluZy9maXhlZC1wb3NpdGlvbi1jb250YWluZXItd2l0aC1w
YWdlLXNjYWxlLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDUyIEBACitMYXllckNocm9taXVtCisg
ICAgbGF5ZXIgSUQ6IDIKKyAgICBzY3JvbGxhYmxlOiBubworICAgIHNob3VsZFNjcm9sbE9uTWFp
blRocmVhZDogbm8KKyAgICBoYXZlV2hlZWxFdmVudEhhbmRsZXJzOiBubworICAgIGlzQ29udGFp
bmVyRm9yRml4ZWRQb3NpdGlvbkxheWVyczogbm8KKyAgICBmaXhlZFRvQ29udGFpbmVyTGF5ZXI6
IG5vCisgIExheWVyQ2hyb21pdW0KKyAgICAgIGxheWVyIElEOiAzCisgICAgICBzY3JvbGxhYmxl
OiBubworICAgICAgc2hvdWxkU2Nyb2xsT25NYWluVGhyZWFkOiBubworICAgICAgaGF2ZVdoZWVs
RXZlbnRIYW5kbGVyczogbm8KKyAgICAgIGlzQ29udGFpbmVyRm9yRml4ZWRQb3NpdGlvbkxheWVy
czogbm8KKyAgICAgIGZpeGVkVG9Db250YWluZXJMYXllcjogbm8KKyAgICBMYXllckNocm9taXVt
CisgICAgICAgIGxheWVyIElEOiA0CisgICAgICAgIHNjcm9sbGFibGU6IHllcworICAgICAgICBz
Y3JvbGxQb3NpdGlvbjogMCwgMAorICAgICAgICBtYXhTY3JvbGxQb3NpdGlvbjogMCwgMAorICAg
ICAgICBzaG91bGRTY3JvbGxPbk1haW5UaHJlYWQ6IG5vCisgICAgICAgIGhhdmVXaGVlbEV2ZW50
SGFuZGxlcnM6IG5vCisgICAgICAgIGlzQ29udGFpbmVyRm9yRml4ZWRQb3NpdGlvbkxheWVyczog
eWVzCisgICAgICAgIGZpeGVkVG9Db250YWluZXJMYXllcjogbm8KKyAgICAgIExheWVyQ2hyb21p
dW0KKyAgICAgICAgICBsYXllciBJRDogNQorICAgICAgICAgIHNjcm9sbGFibGU6IG5vCisgICAg
ICAgICAgc2hvdWxkU2Nyb2xsT25NYWluVGhyZWFkOiBubworICAgICAgICAgIGhhdmVXaGVlbEV2
ZW50SGFuZGxlcnM6IG5vCisgICAgICAgICAgaXNDb250YWluZXJGb3JGaXhlZFBvc2l0aW9uTGF5
ZXJzOiBubworICAgICAgICAgIGZpeGVkVG9Db250YWluZXJMYXllcjogbm8KKyAgICAgIExheWVy
Q2hyb21pdW0KKyAgICAgICAgICBsYXllciBJRDogMQorICAgICAgICAgIHNjcm9sbGFibGU6IG5v
CisgICAgICAgICAgc2hvdWxkU2Nyb2xsT25NYWluVGhyZWFkOiBubworICAgICAgICAgIGhhdmVX
aGVlbEV2ZW50SGFuZGxlcnM6IG5vCisgICAgICAgICAgaXNDb250YWluZXJGb3JGaXhlZFBvc2l0
aW9uTGF5ZXJzOiBubworICAgICAgICAgIGZpeGVkVG9Db250YWluZXJMYXllcjogbm8KKyAgICAg
ICAgTGF5ZXJDaHJvbWl1bQorICAgICAgICAgICAgbGF5ZXIgSUQ6IDcKKyAgICAgICAgICAgIHNj
cm9sbGFibGU6IG5vCisgICAgICAgICAgICBzaG91bGRTY3JvbGxPbk1haW5UaHJlYWQ6IG5vCisg
ICAgICAgICAgICBoYXZlV2hlZWxFdmVudEhhbmRsZXJzOiBubworICAgICAgICAgICAgaXNDb250
YWluZXJGb3JGaXhlZFBvc2l0aW9uTGF5ZXJzOiBubworICAgICAgICAgICAgZml4ZWRUb0NvbnRh
aW5lckxheWVyOiBubworICAgICAgICAgIExheWVyQ2hyb21pdW0KKyAgICAgICAgICAgICAgbGF5
ZXIgSUQ6IDYKKyAgICAgICAgICAgICAgc2Nyb2xsYWJsZTogbm8KKyAgICAgICAgICAgICAgc2hv
dWxkU2Nyb2xsT25NYWluVGhyZWFkOiBubworICAgICAgICAgICAgICBoYXZlV2hlZWxFdmVudEhh
bmRsZXJzOiBubworICAgICAgICAgICAgICBpc0NvbnRhaW5lckZvckZpeGVkUG9zaXRpb25MYXll
cnM6IHllcworICAgICAgICAgICAgICBmaXhlZFRvQ29udGFpbmVyTGF5ZXI6IG5vCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2NvbXBvc2l0aW5nL2ZpeGVkLXBv
c2l0aW9uLWNvbnRhaW5lci13aXRoLXBhZ2Utc2NhbGUuaHRtbCBiL0xheW91dFRlc3RzL3BsYXRm
b3JtL2Nocm9taXVtL2NvbXBvc2l0aW5nL2ZpeGVkLXBvc2l0aW9uLWNvbnRhaW5lci13aXRoLXBh
Z2Utc2NhbGUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mNDc2ZjY3YzQ3ZmU5MDA5OGYyMTQ1Yjg1MDY5ZGI2
ZjhkNDM1ODYwCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21p
dW0vY29tcG9zaXRpbmcvZml4ZWQtcG9zaXRpb24tY29udGFpbmVyLXdpdGgtcGFnZS1zY2FsZS5o
dG1sCkBAIC0wLDAgKzEsMzUgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+CisKKzwhLS0KK1Nl
dHRpbmcgYSBub24taWRlbnRpdHkgcGFnZSBzY2FsZSBzaG91bGQgbm90IG1hcmsgdGhlIHJlbmRl
ciB2aWV3IGxheWVyIGFzIGEKK2NvbnRhaW5lciBmb3IgZml4ZWQgcG9zaXRpb24gbGF5ZXJzLgor
CitodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODkyMTYKKy0tPgorPGhl
YWQ+CisgIDxzdHlsZT4KKyAgICAudHJpZ2dlckNvbXBvc2l0aW9uIHsKKyAgICAgIC13ZWJraXQt
dHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOworICAgIH0KKyAgPC9zdHlsZT4KKworICA8c2NyaXB0
PgorICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgZnVuY3Rpb24oKSB7CisgICAg
ICBpZiAod2luZG93LmludGVybmFscykKKyAgICAgICAgd2luZG93LmludGVybmFscy5zZXR0aW5n
cy5zZXRQYWdlU2NhbGVGYWN0b3IoMC41LCAwLCAwKTsKKyAgICAgIGlmICh3aW5kb3cudGVzdFJ1
bm5lcikgeworICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQodHJ1ZSk7CisgICAgICAgIHRl
c3RSdW5uZXIuZGlzcGxheSgpOworICAgICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2Ny
b2xsaW5nVHJlZSIpLmlubmVyVGV4dCA9IHdpbmRvdy50ZXN0UnVubmVyLnNjcm9sbGluZ1RyZWVB
c1RleHQoKTsKKyAgICAgIH0KKyAgICB9KTsKKyAgPC9zY3JpcHQ+Cis8L2hlYWQ+CisKKzxib2R5
PgorICA8ZGl2IGNsYXNzPSJ0cmlnZ2VyQ29tcG9zaXRpb24iPjwvZGl2PgorICA8cHJlIGlkPSJz
Y3JvbGxpbmdUcmVlIj48L3ByZT4KKzwvYm9keT4KKworPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>148129</attachid>
            <date>2012-06-18 11:01:55 -0700</date>
            <delta_ts>2012-06-20 03:09:04 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-89216-20120618190154.patch</filename>
            <type>text/plain</type>
            <size>24091</size>
            <attacher name="Sami Kyostila">skyostil</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIwNTkwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTY0NjIwMjIyNDk2ZjMw
ZDEyNWQzZWZhMWQwMDE1MzBlM2I4NmFhYy4uOWQwYzgyZGIxZmZmYTk3NjkxMjhjNWI1MGE0ZDBh
NmNkNmE0NzRmMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU1IEBACisyMDEyLTA2LTE4ICBTYW1p
IEt5b3N0aWxhICA8c2t5b3N0aWxAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJlbmRlclZpZXcg
bGF5ZXIgaXMgbWFya2VkIGFzIGZpeGVkIHBvc2l0aW9uIGNvbnRhaW5lciBpbiB0aGUgc2Nyb2xs
aW5nIHRyZWUgaWYgcGFnZSBzY2FsZSAhPSAxCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD04OTIxNgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFJlbmRlciBsYXllcnMgd2l0aCBDU1MgdHJhbnNmb3JtcyBzaG91
bGQgYmVjb21lIGNvbnRhaW5lcnMgZm9yIGFueSBmaXhlZAorICAgICAgICBwb3NpdGlvbmVkIGRl
c2NlbmRhbnRzLiBIb3dldmVyLCBiZWNhdXNlIHRoaXMgY2hlY2sgaXMgZG9uZSB3aXRoCisgICAg
ICAgIFJlbmRlckxheWVyOjpoYXNUcmFuc2Zvcm0oKSwgd2UgYWxzbyBlbmQgdXAgbWFya2luZyB0
aGUgUmVuZGVyTGF5ZXIgZm9yIHRoZQorICAgICAgICBSZW5kZXJWaWV3IGFzIGZpeGVkIHBvc2l0
aW9uIGNvbnRhaW5lciBpZiBhIG5vbi1pZGVudGl0eSBwYWdlIHNjYWxlIGZhY3RvciBpcworICAg
ICAgICB1c2VkLiBUaGlzIGlzIGJlY2F1c2UgcGFnZSBzY2FsZSBpcyBhcHBsaWVkIGFzIGEgdHJh
bnNmb3JtIGZvciB0aGF0IGxheWVyLgorCisgICAgICAgIFRoaXMgYnJlYWtzIGZpeGVkIHBvc2l0
aW9uIGxheWVycywgYmVjYXVzZSB0aGV5IGJlY29tZSBmaXhlZCByZWxhdGl2ZSB0byB0aGUKKyAg
ICAgICAgUmVuZGVyVmlldyBsYXllciBpbnN0ZWFkIG9mIG91dGVyIHNjcm9sbCBjbGlwIGxheWVy
LgorCisgICAgICAgIFRoZSBmaXggaXMgdG8gYXZvaWQgbWFya2luZyBhbnkgUmVuZGVyVmlldyBs
YXllcnMgYXMgZml4ZWQgcG9zaXRpb24gY29udGFpbmVycy4KKworICAgICAgICBUaGlzIHBhdGNo
IGFsc28gYWRkcyBhIHRlc3RpbmcgZnJhbWV3b3JrIGZvciBTY3JvbGxpbmdDb29yZGluYXRvci4g
TGF5b3V0CisgICAgICAgIHRlc3RzIGNhbiBjYWxsIHRlc3RSdW5uZXIuc2Nyb2xsaW5nVHJlZUFz
VGV4dCgpIHRvIHJldHJpZXZlIGEgdGV4dAorICAgICAgICByZXByZXNlbnRhdGlvbiBvZiB0aGUg
c2Nyb2xsaW5nIHRyZWUgb2YgdGhlIGN1cnJlbnQgcGFnZS4gVGhpcyBmZWF0dXJlIGlzCisgICAg
ICAgIGN1cnJlbnRseSBvbmx5IGltcGxlbWVudGVkIGZvciB0aGUgQ2hyb21pdW0gc2Nyb2xsaW5n
IGNvb3JkaW5hdG9yIGJhY2stZW5kLgorCisgICAgICAgIFRlc3Q6IHBsYXRmb3JtL2Nocm9taXVt
L2NvbXBvc2l0aW5nL2ZpeGVkLXBvc2l0aW9uLWNvbnRhaW5lci13aXRoLXBhZ2Utc2NhbGUuaHRt
bAorCisgICAgICAgICogcGFnZS9GcmFtZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZTo6
c2Nyb2xsaW5nVHJlZUFzVGV4dCk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBwYWdl
L0ZyYW1lLmg6CisgICAgICAgIChGcmFtZSk6CisgICAgICAgICogcGFnZS9zY3JvbGxpbmcvU2Ny
b2xsaW5nQ29vcmRpbmF0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJD
b3JlOjpTY3JvbGxpbmdDb29yZGluYXRvcjo6c2Nyb2xsaW5nVHJlZUFzVGV4dCk6CisgICAgICAg
ICogcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nQ29vcmRpbmF0b3IuaDoKKyAgICAgICAgKFNjcm9s
bGluZ0Nvb3JkaW5hdG9yKToKKyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdDb29y
ZGluYXRvck5vbmUuY3BwOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpT
Y3JvbGxpbmdDb29yZGluYXRvcjo6c2Nyb2xsaW5nVHJlZUFzVGV4dCk6CisgICAgICAgICogcGFn
ZS9zY3JvbGxpbmcvY2hyb21pdW0vU2Nyb2xsaW5nQ29vcmRpbmF0b3JDaHJvbWl1bS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjp3cml0ZUluZGVudCk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAg
ICAgKFdlYkNvcmU6OmJvb2xlYW5Bc1RleHQpOgorICAgICAgICAoV2ViQ29yZTo6ZHVtcExheWVy
U2Nyb2xsaW5nUHJvcGVydGllcyk6CisgICAgICAgIChXZWJDb3JlOjpkdW1wTGF5ZXIpOgorICAg
ICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nQ29vcmRpbmF0b3I6OnNjcm9sbGluZ1RyZWVBc1RleHQp
OgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xheWVyQ2hyb21pdW0uaDoK
KyAgICAgICAgKFdlYkNvcmU6OkxheWVyQ2hyb21pdW06OnNob3VsZFNjcm9sbE9uTWFpblRocmVh
ZCk6CisgICAgICAgIChXZWJDb3JlOjpMYXllckNocm9taXVtOjpoYXZlV2hlZWxFdmVudEhhbmRs
ZXJzKToKKyAgICAgICAgKFdlYkNvcmU6OkxheWVyQ2hyb21pdW06Om5vbkZhc3RTY3JvbGxhYmxl
UmVnaW9uKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyQmFja2luZzo6dXBkYXRlR3JhcGhpY3NMYXllckdl
b21ldHJ5KToKKwogMjAxMi0wNi0xOCAgQWxleGVpIEZpbGlwcG92ICA8YWxleGVpZkBjaHJvbWl1
bS5vcmc+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogQWRkIGhlYXAgcHJvZmlsZXIgb3duZWQg
bWVtb3J5IHRvIHRoZSBwaWUgY2hhcnQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXggMDA5
MjQ5NDQ0MTg0ODJiNTc4Yjg2MzhiYjM4YjdlYTE3YjVmMjFjMS4uYzY0Yzc5NzAwYmE3YjRhMGIz
NDQ4YjYyZmNlM2NhMjFjZjBmNjlmYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyMSBAQAorMjAxMi0wNi0xOCAgU2FtaSBLeW9zdGlsYSAgPHNreW9zdGlsQGNocm9taXVt
Lm9yZz4KKworICAgICAgICBSZW5kZXJWaWV3IGxheWVyIGlzIG1hcmtlZCBhcyBmaXhlZCBwb3Np
dGlvbiBjb250YWluZXIgaW4gdGhlIHNjcm9sbGluZyB0cmVlIGlmIHBhZ2Ugc2NhbGUgIT0gMQor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODkyMTYKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBBZGRlZCBzY3Jv
bGxpbmdUcmVlQXNUZXh0KCkgZm9yIHRlc3RpbmcgdGhlIHNjcm9sbGluZyBjb29yZGluYXRvci4g
SXQgcmV0dXJucworICAgICAgICBhIHRleHQgcmVwcmVzZW50YXRpb24gb2YgdGhlIGN1cnJlbnQg
c2Nyb2xsaW5nIHRyZWUuCisKKyAgICAgICAgKiBwdWJsaWMvV2ViRnJhbWUuaDoKKyAgICAgICAg
KFdlYkZyYW1lKToKKyAgICAgICAgKiBzcmMvV2ViRnJhbWVJbXBsLmNwcDoKKyAgICAgICAgKFdl
YktpdDo6V2ViRnJhbWVJbXBsOjpzY3JvbGxpbmdUcmVlQXNUZXh0KToKKyAgICAgICAgKFdlYktp
dCk6CisgICAgICAgICogc3JjL1dlYkZyYW1lSW1wbC5oOgorICAgICAgICAoV2ViRnJhbWVJbXBs
KToKKwogMjAxMi0wNi0xOCAgSGlyb25vcmkgQm9ubyAgPGhib25vQGNocm9taXVtLm9yZz4KIAog
ICAgICAgICBbY2hyb21pdW1dIFNwZWxsY2hlY2tlciBzaG91bGQgc2hvdyBzdWdnZXN0aW9ucyBv
bmx5IHdoZW4gcmlnaHQtY2xpY2tpbmcgYSBtaXNzcGVsbGVkIHdvcmQuCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWUu
Y3BwCmluZGV4IDkxZDMxZTNiZmQxNDdhODkwZjc2YTczOTAwMGQzYjAwMjUzNGY4YjQuLmJjYTQ3
OGU4YjhmNGM1ZThiYWM3MWM5MWJlYTljM2YyNTA3OTE3M2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvRnJhbWUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWUuY3Bw
CkBAIC03OCw2ICs3OCw3IEBACiAjaW5jbHVkZSAiU2NyaXB0Q29udHJvbGxlci5oIgogI2luY2x1
ZGUgIlNjcmlwdFNvdXJjZUNvZGUuaCIKICNpbmNsdWRlICJTY3JpcHRWYWx1ZS5oIgorI2luY2x1
ZGUgIlNjcm9sbGluZ0Nvb3JkaW5hdG9yLmgiCiAjaW5jbHVkZSAiU2V0dGluZ3MuaCIKICNpbmNs
dWRlICJTdHlsZVByb3BlcnR5U2V0LmgiCiAjaW5jbHVkZSAiVGV4dEl0ZXJhdG9yLmgiCkBAIC05
MDQsNiArOTA1LDE3IEBAIFN0cmluZyBGcmFtZTo6bGF5ZXJUcmVlQXNUZXh0KGJvb2wgc2hvd0Rl
YnVnSW5mbykgY29uc3QKICNlbmRpZgogfQogCitTdHJpbmcgRnJhbWU6OnNjcm9sbGluZ1RyZWVB
c1RleHQoKSBjb25zdAoreworICAgIFBhZ2UqIHBhZ2UgPSB0aGlzLT5wYWdlKCk7CisgICAgaWYg
KCFwYWdlKQorICAgICAgICByZXR1cm4gU3RyaW5nKCk7CisgICAgU2Nyb2xsaW5nQ29vcmRpbmF0
b3IqIHNjcm9sbGluZ0Nvb3JkaW5hdG9yID0gcGFnZS0+c2Nyb2xsaW5nQ29vcmRpbmF0b3IoKTsK
KyAgICBpZiAoIXNjcm9sbGluZ0Nvb3JkaW5hdG9yKQorICAgICAgICByZXR1cm4gU3RyaW5nKCk7
CisgICAgcmV0dXJuIHNjcm9sbGluZ0Nvb3JkaW5hdG9yLT5zY3JvbGxpbmdUcmVlQXNUZXh0KCk7
Cit9CisKIHZvaWQgRnJhbWU6OnNldFBhZ2Vab29tRmFjdG9yKGZsb2F0IGZhY3RvcikKIHsKICAg
ICBzZXRQYWdlQW5kVGV4dFpvb21GYWN0b3JzKGZhY3RvciwgbV90ZXh0Wm9vbUZhY3Rvcik7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lLmggYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL0ZyYW1lLmgKaW5kZXggNzdhNzNkODA3MjU3MGIwZGIyOWQ3NDljYzkxNzQxN2U2YjY5MTI4
Ny4uZTZmMTExMzMwYzkwM2FiNjE5NGRhMTU0ODEzOTBiMWVjN2VjYTE0OSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJh
bWUuaApAQCAtMTI0LDYgKzEyNCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICAgICAgdm9p
ZCBpbmplY3RVc2VyU2NyaXB0cyhVc2VyU2NyaXB0SW5qZWN0aW9uVGltZSk7CiAgICAgICAgIAog
ICAgICAgICBTdHJpbmcgbGF5ZXJUcmVlQXNUZXh0KGJvb2wgc2hvd0RlYnVnSW5mbyA9IGZhbHNl
KSBjb25zdDsKKyAgICAgICAgU3RyaW5nIHNjcm9sbGluZ1RyZWVBc1RleHQoKSBjb25zdDsKIAog
ICAgICAgICAvLyBVbmxpa2UgbW9zdCBhY2Nlc3NvcnMgaW4gdGhpcyBjbGFzcywgZG9tV2luZG93
KCkgYWx3YXlzIGNyZWF0ZXMgYSBuZXcgRE9NV2luZG93IGlmIG1fZG9tV2luZG93IGlzIG51bGwu
CiAgICAgICAgIC8vIENhbGxlcnMgdGhhdCBkb24ndCBuZWVkIGEgbmV3IERPTVdpbmRvdyB0byBi
ZSBjcmVhdGVkIHNob3VsZCB1c2UgZXhpc3RpbmdET01XaW5kb3coKS4KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmNwcAppbmRl
eCA2ZDFmMmE2MGQwNTcyMzZhZDBiNjRkMzE3MDE0NGJmNGM0OTQzNGQ2Li5jYjhmMzNiOGFlZmYw
NzExZjBmYTlkNjJkOTU3YjcxYTFhMWU0MTlhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL3Njcm9sbGluZy9TY3JvbGxpbmdDb29yZGluYXRvci5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nQ29vcmRpbmF0b3IuY3BwCkBAIC00NjYsNiArNDY2
LDEyIEBAIHZvaWQgU2Nyb2xsaW5nQ29vcmRpbmF0b3I6OnNldExheWVySXNGaXhlZFRvQ29udGFp
bmVyTGF5ZXIoR3JhcGhpY3NMYXllciosIGJvb2wpCiB7CiAgICAgLy8gRklYTUU6IEltcGxlbWVu
dCEKIH0KKworU3RyaW5nIFNjcm9sbGluZ0Nvb3JkaW5hdG9yOjpzY3JvbGxpbmdUcmVlQXNUZXh0
KCkgY29uc3QKK3sKKyAgICAvLyBGSVhNRTogSW1wbGVtZW50LgorICAgIHJldHVybiBTdHJpbmco
KTsKK30KICNlbmRpZiAvLyAhRU5BQkxFKFRIUkVBREVEX1NDUk9MTElORykKIAogfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcv
U2Nyb2xsaW5nQ29vcmRpbmF0b3IuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Nj
cm9sbGluZ0Nvb3JkaW5hdG9yLmgKaW5kZXggMzU2NDlhOTFmZmI4ZTQ2ODBiZGZkZjU1ODNiODg4
YjczMjVkZWYwMS4uNWE0OGZiZDljYTBmZDIzMTU3MjA4ZGUxYjYyMThmMWExZjdhMmY3YSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nQ29vcmRpbmF0
b3IuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdDb29yZGlu
YXRvci5oCkBAIC0xMjMsNiArMTIzLDEwIEBAIHB1YmxpYzoKICAgICAvLyBBdHRhY2gvZGV0YWNo
IGxheWVyIHBvc2l0aW9uIHRvIGFuY2VzdG9yIGZpeGVkIHBvc2l0aW9uIGNvbnRhaW5lci4KICAg
ICB2b2lkIHNldExheWVySXNGaXhlZFRvQ29udGFpbmVyTGF5ZXIoR3JhcGhpY3NMYXllciosIGJv
b2wpOwogCisgICAgLy8gUmV0dXJuIGEgdGV4dCByZXByZXNlbnRhdGlvbiBvZiB0aGUgc2Nyb2xs
aW5nIHRyZWUuIFVzZWQgdG8gdmVyaWZ5IHNjcm9sbGluZyBjb29yZGluYXRvcgorICAgIC8vIGJl
aGF2aW9yIGluIGxheW91dCB0ZXN0cy4KKyAgICBTdHJpbmcgc2Nyb2xsaW5nVHJlZUFzVGV4dCgp
IGNvbnN0OworCiBwcml2YXRlOgogICAgIGV4cGxpY2l0IFNjcm9sbGluZ0Nvb3JkaW5hdG9yKFBh
Z2UqKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xs
aW5nQ29vcmRpbmF0b3JOb25lLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Nj
cm9sbGluZ0Nvb3JkaW5hdG9yTm9uZS5jcHAKaW5kZXggZjBhY2ZlMGNjM2IxNzFkMzMxMDQ3MDQ2
NTAwMmUwZDJhNTdmZDA5Yy4uYjVlMDcxOTVlZjg3NTk5NmNhMWM2YWVhOTE3NmJlY2JmZGRhMmMy
ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nQ29v
cmRpbmF0b3JOb25lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3Jv
bGxpbmdDb29yZGluYXRvck5vbmUuY3BwCkBAIC0yNiw2ICsyNiw3IEBACiAjaW5jbHVkZSAiY29u
ZmlnLmgiCiAKICNpbmNsdWRlICJTY3JvbGxpbmdDb29yZGluYXRvci5oIgorI2luY2x1ZGUgPHd0
Zi90ZXh0L1dURlN0cmluZy5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTgzLDYgKzg0
LDExIEBAIHZvaWQgU2Nyb2xsaW5nQ29vcmRpbmF0b3I6OnNldExheWVySXNDb250YWluZXJGb3JG
aXhlZFBvc2l0aW9uTGF5ZXJzKEdyYXBoaWNzTGF5CiB2b2lkIFNjcm9sbGluZ0Nvb3JkaW5hdG9y
OjpzZXRMYXllcklzRml4ZWRUb0NvbnRhaW5lckxheWVyKEdyYXBoaWNzTGF5ZXIqLCBib29sKQog
ewogfQorCitTdHJpbmcgU2Nyb2xsaW5nQ29vcmRpbmF0b3I6OnNjcm9sbGluZ1RyZWVBc1RleHQo
KSBjb25zdAoreworICAgIHJldHVybiBTdHJpbmcoKTsKK30KICNlbmRpZiAvLyAhRU5BQkxFKFRI
UkVBREVEX1NDUk9MTElORykKIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9z
Y3JvbGxpbmcvY2hyb21pdW0vU2Nyb2xsaW5nQ29vcmRpbmF0b3JDaHJvbWl1bS5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9jaHJvbWl1bS9TY3JvbGxpbmdDb29yZGluYXRvckNo
cm9taXVtLmNwcAppbmRleCAwYzNiMGMzMjk0ZDgyOGZiMzUwN2EzNjVjNjdiMjA1OTM5MzFiMDgx
Li40NzA5MTc4YWE5NzdhOTBkZDhhOTZjOGJlOGRmZWY3YmUwZTA0YjUxIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9jaHJvbWl1bS9TY3JvbGxpbmdDb29yZGluYXRv
ckNocm9taXVtLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9jaHJvbWl1
bS9TY3JvbGxpbmdDb29yZGluYXRvckNocm9taXVtLmNwcApAQCAtMzAsMTEgKzMwLDEzIEBACiAj
aW5jbHVkZSAiRnJhbWUuaCIKICNpbmNsdWRlICJGcmFtZVZpZXcuaCIKICNpbmNsdWRlICJMYXll
ckNocm9taXVtLmgiCisjaW5jbHVkZSAiUGFnZS5oIgogI2luY2x1ZGUgIlJlZ2lvbi5oIgogI2lu
Y2x1ZGUgIlJlbmRlckxheWVyQ29tcG9zaXRvci5oIgogI2luY2x1ZGUgIlJlbmRlclZpZXcuaCIK
ICNpbmNsdWRlICJTY3JvbGxiYXJMYXllckNocm9taXVtLmgiCiAjaW5jbHVkZSAiU2Nyb2xsYmFy
VGhlbWUuaCIKKyNpbmNsdWRlICJUZXh0U3RyZWFtLmgiCiAjaW5jbHVkZSAiY2MvQ0NQcm94eS5o
IgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CkBAIC0yMDEsNCArMjAzLDk1IEBAIHZvaWQgU2Nyb2xs
aW5nQ29vcmRpbmF0b3I6OnNldExheWVySXNGaXhlZFRvQ29udGFpbmVyTGF5ZXIoR3JhcGhpY3NM
YXllciogbGF5ZXIsCiAgICAgICAgIHBsYXRmb3JtTGF5ZXItPnNldEZpeGVkVG9Db250YWluZXJM
YXllcihlbmFibGUpOwogfQogCitzdGF0aWMgdm9pZCB3cml0ZUluZGVudChUZXh0U3RyZWFtJiB0
ZXh0U3RyZWFtLCBpbnQgaW5kZW50KQoreworICAgIGZvciAoaW50IGkgPSAwOyBpIDwgaW5kZW50
OyArK2kpCisgICAgICAgIHRleHRTdHJlYW0gPDwgIiAgIjsKK30KKworc3RhdGljIGNvbnN0IGNo
YXIqIGJvb2xlYW5Bc1RleHQoYm9vbCB2YWx1ZSkKK3sKKyAgICByZXR1cm4gdmFsdWUgPyAieWVz
IiA6ICJubyI7Cit9CisKK3N0YXRpYyB2b2lkIGR1bXBMYXllclNjcm9sbGluZ1Byb3BlcnRpZXMo
VGV4dFN0cmVhbSYgdGV4dFN0cmVhbSwgY29uc3QgR3JhcGhpY3NMYXllciogbGF5ZXIsIGludCBp
bmRlbnQpCit7CisgICAgTGF5ZXJDaHJvbWl1bSogcGxhdGZvcm1MYXllciA9IGxheWVyLT5wbGF0
Zm9ybUxheWVyKCk7CisgICAgaWYgKCFwbGF0Zm9ybUxheWVyKQorICAgICAgICByZXR1cm47CisK
KyAgICB3cml0ZUluZGVudCh0ZXh0U3RyZWFtLCBpbmRlbnQpOworICAgIHRleHRTdHJlYW0gPDwg
InNjcm9sbGFibGU6ICIgPDwgYm9vbGVhbkFzVGV4dChwbGF0Zm9ybUxheWVyLT5zY3JvbGxhYmxl
KCkpIDw8ICJcbiI7CisKKyAgICBpZiAocGxhdGZvcm1MYXllci0+c2Nyb2xsYWJsZSgpKSB7Cisg
ICAgICAgIHdyaXRlSW5kZW50KHRleHRTdHJlYW0sIGluZGVudCk7CisgICAgICAgIHRleHRTdHJl
YW0gPDwgInNjcm9sbFBvc2l0aW9uOiAiIDw8IHBsYXRmb3JtTGF5ZXItPnNjcm9sbFBvc2l0aW9u
KCkueCgpIDw8ICIsICIgPDwgcGxhdGZvcm1MYXllci0+c2Nyb2xsUG9zaXRpb24oKS55KCkgPDwg
IlxuIjsKKworICAgICAgICB3cml0ZUluZGVudCh0ZXh0U3RyZWFtLCBpbmRlbnQpOworICAgICAg
ICB0ZXh0U3RyZWFtIDw8ICJtYXhTY3JvbGxQb3NpdGlvbjogIiA8PCBwbGF0Zm9ybUxheWVyLT5t
YXhTY3JvbGxQb3NpdGlvbigpLndpZHRoKCkgPDwgIiwgIiA8PCBwbGF0Zm9ybUxheWVyLT5tYXhT
Y3JvbGxQb3NpdGlvbigpLmhlaWdodCgpIDw8ICJcbiI7CisgICAgfQorCisgICAgd3JpdGVJbmRl
bnQodGV4dFN0cmVhbSwgaW5kZW50KTsKKyAgICB0ZXh0U3RyZWFtIDw8ICJzaG91bGRTY3JvbGxP
bk1haW5UaHJlYWQ6ICIgPDwgYm9vbGVhbkFzVGV4dChwbGF0Zm9ybUxheWVyLT5zaG91bGRTY3Jv
bGxPbk1haW5UaHJlYWQoKSkgPDwgIlxuIjsKKworICAgIHdyaXRlSW5kZW50KHRleHRTdHJlYW0s
IGluZGVudCk7CisgICAgdGV4dFN0cmVhbSA8PCAiaGF2ZVdoZWVsRXZlbnRIYW5kbGVyczogIiA8
PCBib29sZWFuQXNUZXh0KHBsYXRmb3JtTGF5ZXItPmhhdmVXaGVlbEV2ZW50SGFuZGxlcnMoKSkg
PDwgIlxuIjsKKworICAgIGlmICghcGxhdGZvcm1MYXllci0+bm9uRmFzdFNjcm9sbGFibGVSZWdp
b24oKS5pc0VtcHR5KCkpIHsKKyAgICAgICAgd3JpdGVJbmRlbnQodGV4dFN0cmVhbSwgaW5kZW50
KTsKKyAgICAgICAgdGV4dFN0cmVhbSA8PCAibm9uRmFzdFNjcm9sbGFibGVSZWdpb246ICI7Cisg
ICAgICAgIFZlY3RvcjxJbnRSZWN0PiByZWN0cyA9IHBsYXRmb3JtTGF5ZXItPm5vbkZhc3RTY3Jv
bGxhYmxlUmVnaW9uKCkucmVjdHMoKTsKKyAgICAgICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBy
ZWN0cy5zaXplKCk7ICsraSkKKyAgICAgICAgICAgIHRleHRTdHJlYW0gPDwgIlsiIDw8IHJlY3Rz
W2ldLngoKSA8PCAiLCAiIDw8IHJlY3RzW2ldLnkoKSA8PCAiLCAiIDw8IHJlY3RzW2ldLndpZHRo
KCkgPDwgIiwgIiA8PCByZWN0c1tpXS5oZWlnaHQoKSA8PCAiXSAiOworICAgICAgICB0ZXh0U3Ry
ZWFtIDw8ICJcbiI7CisgICAgfQorCisgICAgd3JpdGVJbmRlbnQodGV4dFN0cmVhbSwgaW5kZW50
KTsKKyAgICB0ZXh0U3RyZWFtIDw8ICJpc0NvbnRhaW5lckZvckZpeGVkUG9zaXRpb25MYXllcnM6
ICIgPDwgYm9vbGVhbkFzVGV4dChwbGF0Zm9ybUxheWVyLT5pc0NvbnRhaW5lckZvckZpeGVkUG9z
aXRpb25MYXllcnMoKSkgPDwgIlxuIjsKKworICAgIHdyaXRlSW5kZW50KHRleHRTdHJlYW0sIGlu
ZGVudCk7CisgICAgdGV4dFN0cmVhbSA8PCAiZml4ZWRUb0NvbnRhaW5lckxheWVyOiAiIDw8IGJv
b2xlYW5Bc1RleHQocGxhdGZvcm1MYXllci0+Zml4ZWRUb0NvbnRhaW5lckxheWVyKCkpIDw8ICJc
biI7Cit9CisKK3N0YXRpYyB2b2lkIGR1bXBMYXllcihUZXh0U3RyZWFtJiB0ZXh0U3RyZWFtLCBj
b25zdCBHcmFwaGljc0xheWVyKiBsYXllciwgaW50IGluZGVudCkKK3sKKyAgICB3cml0ZUluZGVu
dCh0ZXh0U3RyZWFtLCBpbmRlbnQpOworICAgIHRleHRTdHJlYW0gPDwgIkdyYXBoaWNzTGF5ZXJc
biI7CisgICAgZHVtcExheWVyU2Nyb2xsaW5nUHJvcGVydGllcyh0ZXh0U3RyZWFtLCBsYXllciwg
aW5kZW50ICsgMik7CisKKyAgICBpZiAobGF5ZXItPnJlcGxpY2FMYXllcigpKSB7CisgICAgICAg
IHdyaXRlSW5kZW50KHRleHRTdHJlYW0sIGluZGVudCArIDIpOworICAgICAgICB0ZXh0U3RyZWFt
IDw8ICJSZXBsaWNhOlxuIjsKKyAgICAgICAgZHVtcExheWVyKHRleHRTdHJlYW0sIGxheWVyLT5y
ZXBsaWNhTGF5ZXIoKSwgaW5kZW50ICsgMyk7CisgICAgfQorCisgICAgaWYgKGxheWVyLT5tYXNr
TGF5ZXIoKSkgeworICAgICAgICB3cml0ZUluZGVudCh0ZXh0U3RyZWFtLCBpbmRlbnQgKyAyKTsK
KyAgICAgICAgdGV4dFN0cmVhbSA8PCAiTWFzazpcbiI7CisgICAgICAgIGR1bXBMYXllcih0ZXh0
U3RyZWFtLCBsYXllci0+bWFza0xheWVyKCksIGluZGVudCArIDMpOworICAgIH0KKworICAgIGZv
ciAoc2l6ZV90IGkgPSAwOyBpIDwgbGF5ZXItPmNoaWxkcmVuKCkuc2l6ZSgpOyArK2kpCisgICAg
ICAgIGR1bXBMYXllcih0ZXh0U3RyZWFtLCBsYXllci0+Y2hpbGRyZW4oKVtpXSwgaW5kZW50ICsg
MSk7Cit9CisKK1N0cmluZyBTY3JvbGxpbmdDb29yZGluYXRvcjo6c2Nyb2xsaW5nVHJlZUFzVGV4
dCgpIGNvbnN0Cit7CisgICAgQVNTRVJUKGlzTWFpblRocmVhZCgpKTsKKyNpZiBVU0UoQUNDRUxF
UkFURURfQ09NUE9TSVRJTkcpCisgICAgaWYgKCFtX3BhZ2UgfHwgIW1fcGFnZS0+bWFpbkZyYW1l
KCkpCisgICAgICAgIHJldHVybiBTdHJpbmcoKTsKKworICAgIFJlbmRlclZpZXcqIHJlbmRlclZp
ZXcgPSBtX3BhZ2UtPm1haW5GcmFtZSgpLT5jb250ZW50UmVuZGVyZXIoKTsKKyAgICBpZiAoIXJl
bmRlclZpZXcgfHwgIXJlbmRlclZpZXctPmNvbXBvc2l0b3IoKSB8fCAhcmVuZGVyVmlldy0+Y29t
cG9zaXRvcigpLT5yb290R3JhcGhpY3NMYXllcigpKQorICAgICAgICByZXR1cm4gU3RyaW5nKCk7
CisKKyAgICBUZXh0U3RyZWFtIHRleHRTdHJlYW07CisgICAgZHVtcExheWVyKHRleHRTdHJlYW0s
IHJlbmRlclZpZXctPmNvbXBvc2l0b3IoKS0+cm9vdEdyYXBoaWNzTGF5ZXIoKSwgMCk7CisgICAg
cmV0dXJuIHRleHRTdHJlYW0ucmVsZWFzZSgpOworI2Vsc2UKKyAgICByZXR1cm4gU3RyaW5nKCk7
CisjZW5kaWYKK30KKwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvY2hyb21pdW0vTGF5ZXJDaHJvbWl1bS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY2hyb21pdW0vTGF5ZXJDaHJvbWl1bS5oCmluZGV4IDRhNWYxYWU3M2EwM2IyOWFl
MzkxY2U0Y2MwMmI2MzBiMmE5OTI2MzUuLmYwZTJkYWY2MGQzY2RmOTk4MWY4ODQ1YTMyZTI4NDAz
YzdiMzAyZWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2No
cm9taXVtL0xheWVyQ2hyb21pdW0uaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9jaHJvbWl1bS9MYXllckNocm9taXVtLmgKQEAgLTE2Niw5ICsxNjYsMTEgQEAgcHVibGlj
OgogICAgIHZvaWQgc2V0U2Nyb2xsYWJsZShib29sKTsKICAgICBib29sIHNjcm9sbGFibGUoKSBj
b25zdCB7IHJldHVybiBtX3Njcm9sbGFibGU7IH0KICAgICB2b2lkIHNldFNob3VsZFNjcm9sbE9u
TWFpblRocmVhZChib29sKTsKKyAgICBib29sIHNob3VsZFNjcm9sbE9uTWFpblRocmVhZCgpIGNv
bnN0IHsgcmV0dXJuIG1fc2hvdWxkU2Nyb2xsT25NYWluVGhyZWFkOyB9CiAgICAgdm9pZCBzZXRI
YXZlV2hlZWxFdmVudEhhbmRsZXJzKGJvb2wpOwotICAgIGNvbnN0IFJlZ2lvbiYgbm9uRmFzdFNj
cm9sbGFibGVSZWdpb24oKSB7IHJldHVybiBtX25vbkZhc3RTY3JvbGxhYmxlUmVnaW9uOyB9Cisg
ICAgYm9vbCBoYXZlV2hlZWxFdmVudEhhbmRsZXJzKCkgY29uc3QgeyByZXR1cm4gbV9oYXZlV2hl
ZWxFdmVudEhhbmRsZXJzOyB9CiAgICAgdm9pZCBzZXROb25GYXN0U2Nyb2xsYWJsZVJlZ2lvbihj
b25zdCBSZWdpb24mKTsKKyAgICBjb25zdCBSZWdpb24mIG5vbkZhc3RTY3JvbGxhYmxlUmVnaW9u
KCkgY29uc3QgeyByZXR1cm4gbV9ub25GYXN0U2Nyb2xsYWJsZVJlZ2lvbjsgfQogICAgIHZvaWQg
c2V0Tm9uRmFzdFNjcm9sbGFibGVSZWdpb25DaGFuZ2VkKCkgeyBtX25vbkZhc3RTY3JvbGxhYmxl
UmVnaW9uQ2hhbmdlZCA9IHRydWU7IH0KICAgICB2b2lkIHNldExheWVyU2Nyb2xsRGVsZWdhdGUo
TGF5ZXJDaHJvbWl1bVNjcm9sbERlbGVnYXRlKiBsYXllclNjcm9sbERlbGVnYXRlKSB7IG1fbGF5
ZXJTY3JvbGxEZWxlZ2F0ZSA9IGxheWVyU2Nyb2xsRGVsZWdhdGU7IH0KICAgICB2b2lkIHNjcm9s
bEJ5KGNvbnN0IEludFNpemUmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJMYXllckJhY2tpbmcuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckxheWVyQmFja2luZy5jcHAKaW5kZXggZWNkNGQ3MmFkOWNjZmM1MzEyYTgzY2EyMGMwMGZhZGVl
OTkyNzk4ZC4uMzIzOTczMTI5NDc1YzcxZTA4MzkxMjVlNmM5Y2RjMTJmNmNmZmIzNiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5jcHAKQEAgLTQ0
OSw3ICs0NDksMTAgQEAgdm9pZCBSZW5kZXJMYXllckJhY2tpbmc6OnVwZGF0ZUdyYXBoaWNzTGF5
ZXJHZW9tZXRyeSgpCiAgICAgICAgICAgICAgICAgICAgIHNjcm9sbGluZ0Nvb3JkaW5hdG9yLT5z
ZXRMYXllcklzRml4ZWRUb0NvbnRhaW5lckxheWVyKG1fYW5jZXN0b3JDbGlwcGluZ0xheWVyLmdl
dCgpLCBmYWxzZSk7CiAgICAgICAgICAgICAgICAgc2Nyb2xsaW5nQ29vcmRpbmF0b3ItPnNldExh
eWVySXNGaXhlZFRvQ29udGFpbmVyTGF5ZXIobV9ncmFwaGljc0xheWVyLmdldCgpLCBmYWxzZSk7
CiAgICAgICAgICAgICB9Ci0gICAgICAgICAgICBib29sIGlzQ29udGFpbmVyID0gbV9vd25pbmdM
YXllci0+aGFzVHJhbnNmb3JtKCk7CisgICAgICAgICAgICAvLyBQYWdlIHNjYWxlIGlzIGFwcGxp
ZWQgYXMgYSB0cmFuc2Zvcm0gb24gdGhlIHJlbmRlciB2aWV3IGxheWVyLiBCZWNhdXNlIHRoZSBz
Y3JvbGwKKyAgICAgICAgICAgIC8vIGxheWVyIGlzIGZ1cnRoZXIgdXAgaW4gdGhlIGhpZXJhcmNo
eSwgd2UgbmVlZCB0byBhdm9pZCBtYXJraW5nIHRoZSByZW5kZXIgdmlldworICAgICAgICAgICAg
Ly8gbGF5ZXIgYXMgYSBjb250YWluZXIuCisgICAgICAgICAgICBib29sIGlzQ29udGFpbmVyID0g
bV9vd25pbmdMYXllci0+aGFzVHJhbnNmb3JtKCkgJiYgIXJlbmRlcmVyKCktPmlzUmVuZGVyVmll
dygpOwogICAgICAgICAgICAgc2Nyb2xsaW5nQ29vcmRpbmF0b3ItPnNldExheWVySXNDb250YWlu
ZXJGb3JGaXhlZFBvc2l0aW9uTGF5ZXJzKGNoaWxkRm9yU3VwZXJsYXllcnMoKSwgaXNDb250YWlu
ZXIpOwogICAgICAgICB9CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9wdWJsaWMvV2ViRnJhbWUuaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkZy
YW1lLmgKaW5kZXggNWNkN2Y1ZjFlZGUwMmY5ODUxZDQ1ODMwMmNhZWIxNTkyYzMyYzA3Yi4uNjI3
NjIxZDFiM2IyZGI1NjU0NDFlMWVhZjRlNDNjMDkzOGEzYjM4OSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2ViRnJhbWUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3B1YmxpYy9XZWJGcmFtZS5oCkBAIC02NDUsNiArNjQ1LDEwIEBAIHB1YmxpYzoKICAg
ICAvLyB0ZXh0IGZvcm0uIFRoaXMgaXMgdXNlZCBvbmx5IGJ5IGxheW91dCB0ZXN0cy4KICAgICB2
aXJ0dWFsIFdlYlN0cmluZyBsYXllclRyZWVBc1RleHQoYm9vbCBzaG93RGVidWdJbmZvID0gZmFs
c2UpIGNvbnN0ID0gMDsKIAorICAgIC8vIER1bXBzIHRoZSBzY3JvbGxpbmcgdHJlZSwgdXNlZCBi
eSB0aGUgc2Nyb2xsaW5nIGNvb3JkaW5hdG9yLCBpbgorICAgIC8vIHRleHQgZm9ybS4gVGhpcyBp
cyB1c2VkIG9ubHkgYnkgbGF5b3V0IHRlc3RzLgorICAgIHZpcnR1YWwgV2ViU3RyaW5nIHNjcm9s
bGluZ1RyZWVBc1RleHQoKSBjb25zdCA9IDA7CisKIHByb3RlY3RlZDoKICAgICB+V2ViRnJhbWUo
KSB7IH0KIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJGcmFt
ZUltcGwuY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRnJhbWVJbXBsLmNwcApp
bmRleCBlMmFmZWE2YTVkMjJkMzFlNjlhM2VkZWIzZWZkM2FmMmY0NzQ5MzE5Li5lNmVmZWEzZTZm
M2QxZGEzZGY0ZGM5ZmEzNzM1NzM3YzJkZDczMjFkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3NyYy9XZWJGcmFtZUltcGwuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vc3JjL1dlYkZyYW1lSW1wbC5jcHAKQEAgLTIwMzIsNiArMjAzMiwxMyBAQCBXZWJTdHJpbmcg
V2ViRnJhbWVJbXBsOjpsYXllclRyZWVBc1RleHQoYm9vbCBzaG93RGVidWdJbmZvKSBjb25zdAog
ICAgIHJldHVybiBXZWJTdHJpbmcobV9mcmFtZS0+bGF5ZXJUcmVlQXNUZXh0KHNob3dEZWJ1Z0lu
Zm8pKTsKIH0KIAorV2ViU3RyaW5nIFdlYkZyYW1lSW1wbDo6c2Nyb2xsaW5nVHJlZUFzVGV4dCgp
IGNvbnN0Cit7CisgICAgaWYgKCFtX2ZyYW1lKQorICAgICAgICByZXR1cm4gV2ViU3RyaW5nKCk7
CisgICAgcmV0dXJuIFdlYlN0cmluZyhtX2ZyYW1lLT5zY3JvbGxpbmdUcmVlQXNUZXh0KCkpOwor
fQorCiAvLyBXZWJGcmFtZUltcGwgcHVibGljIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogCiBQYXNzUmVmUHRyPFdlYkZyYW1lSW1wbD4g
V2ViRnJhbWVJbXBsOjpjcmVhdGUoV2ViRnJhbWVDbGllbnQqIGNsaWVudCkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkZyYW1lSW1wbC5oIGIvU291cmNlL1dlYktp
dC9jaHJvbWl1bS9zcmMvV2ViRnJhbWVJbXBsLmgKaW5kZXggMzk5Mzc0NzFhMTE4MmVjMWMwYjE1
MzJlYjhlMjUwMDMwMzllMjY1NS4uNGFhMjk1YzRjMzM0N2M1MGY1MWRkNTM4OGUwYWIwYTlhODk4
NWNhNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRnJhbWVJbXBs
LmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRnJhbWVJbXBsLmgKQEAgLTIz
MSw2ICsyMzEsNyBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFsIGJvb2wgc2VsZWN0aW9uU3RhcnRI
YXNTcGVsbGluZ01hcmtlckZvcihpbnQgZnJvbSwgaW50IGxlbmd0aCkgY29uc3Q7CiAgICAgdmly
dHVhbCBXZWJTdHJpbmcgbGF5ZXJUcmVlQXNUZXh0KGJvb2wgc2hvd0RlYnVnSW5mbyA9IGZhbHNl
KSBjb25zdDsKKyAgICB2aXJ0dWFsIFdlYlN0cmluZyBzY3JvbGxpbmdUcmVlQXNUZXh0KCkgY29u
c3QgT1ZFUlJJREU7CiAKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxXZWJGcmFtZUltcGw+IGNyZWF0
ZShXZWJGcmFtZUNsaWVudCogY2xpZW50KTsKICAgICB2aXJ0dWFsIH5XZWJGcmFtZUltcGwoKTsK
ZGlmZiAtLWdpdCBhL1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCBlMWU4
NzdjYjE0MGFmMWRhMmI5OGU3NTA1M2FiZDEzODhmYzNhMjczLi40NWRjN2JjODc3MmIxMDk5ODY0
NWViYmEwYjMwNTdhOGViMzEwNWQyIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIv
VG9vbHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAKKzIwMTItMDYtMTggIFNhbWkgS3lvc3Rp
bGEgIDxza3lvc3RpbEBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgUmVuZGVyVmlldyBsYXllciBp
cyBtYXJrZWQgYXMgZml4ZWQgcG9zaXRpb24gY29udGFpbmVyIGluIHRoZSBzY3JvbGxpbmcgdHJl
ZSBpZiBwYWdlIHNjYWxlICE9IDEKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTg5MjE2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgQWRkZWQgc2Nyb2xsaW5nVHJlZUFzVGV4dCgpIGZvciB0ZXN0aW5nIHRoZSBz
Y3JvbGxpbmcgY29vcmRpbmF0b3IuIEl0IHJldHVybnMKKyAgICAgICAgYSB0ZXh0IHJlcHJlc2Vu
dGF0aW9uIG9mIHRoZSBjdXJyZW50IHNjcm9sbGluZyB0cmVlLgorCisgICAgICAgICogRHVtcFJl
bmRlclRyZWUvY2hyb21pdW0vTGF5b3V0VGVzdENvbnRyb2xsZXIuY3BwOgorICAgICAgICAoTGF5
b3V0VGVzdENvbnRyb2xsZXI6OkxheW91dFRlc3RDb250cm9sbGVyKToKKyAgICAgICAgKExheW91
dFRlc3RDb250cm9sbGVyOjpzY3JvbGxpbmdUcmVlQXNUZXh0KToKKyAgICAgICAgKiBEdW1wUmVu
ZGVyVHJlZS9jaHJvbWl1bS9MYXlvdXRUZXN0Q29udHJvbGxlci5oOgorICAgICAgICAoTGF5b3V0
VGVzdENvbnRyb2xsZXIpOgorCiAyMDEyLTA2LTE4ICBNYXJpbyBTYW5jaGV6IFByYWRhICA8bXNh
bmNoZXpAaWdhbGlhLmNvbT4KIAogICAgICAgICBbR1RLXSBHZXQgcmlkIG9mIER1bXBSZW5kZXJU
cmVlU3VwcG9ydEd0azo6e2lufGRlfWNyZW1lbnRBY2Nlc3NpYmlsaXR5VmFsdWUKZGlmZiAtLWdp
dCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0xheW91dFRlc3RDb250cm9sbGVyLmNw
cCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0xheW91dFRlc3RDb250cm9sbGVyLmNw
cAppbmRleCAxZjY0ZDY1YWZkZGJlODNiNWQxZmZiNWVmOGNjMTE5NzVjMTgxZmZiLi4wMmY1YTk4
Mzg2NTdkODA1ZTJiNjBlMzA0OGFhOTkwNzY0YmEzNTQxIDEwMDY0NAotLS0gYS9Ub29scy9EdW1w
UmVuZGVyVHJlZS9jaHJvbWl1bS9MYXlvdXRUZXN0Q29udHJvbGxlci5jcHAKKysrIGIvVG9vbHMv
RHVtcFJlbmRlclRyZWUvY2hyb21pdW0vTGF5b3V0VGVzdENvbnRyb2xsZXIuY3BwCkBAIC0xODYs
NiArMTg2LDcgQEAgTGF5b3V0VGVzdENvbnRyb2xsZXI6OkxheW91dFRlc3RDb250cm9sbGVyKFRl
c3RTaGVsbCogc2hlbGwpCiAgICAgYmluZE1ldGhvZCgicmVtb3ZlT3JpZ2luQWNjZXNzV2hpdGVs
aXN0RW50cnkiLCAmTGF5b3V0VGVzdENvbnRyb2xsZXI6OnJlbW92ZU9yaWdpbkFjY2Vzc1doaXRl
bGlzdEVudHJ5KTsKICAgICBiaW5kTWV0aG9kKCJyZXBhaW50U3dlZXBIb3Jpem9udGFsbHkiLCAm
TGF5b3V0VGVzdENvbnRyb2xsZXI6OnJlcGFpbnRTd2VlcEhvcml6b250YWxseSk7CiAgICAgYmlu
ZE1ldGhvZCgicmVzZXRQYWdlVmlzaWJpbGl0eSIsICZMYXlvdXRUZXN0Q29udHJvbGxlcjo6cmVz
ZXRQYWdlVmlzaWJpbGl0eSk7CisgICAgYmluZE1ldGhvZCgic2Nyb2xsaW5nVHJlZUFzVGV4dCIs
ICZMYXlvdXRUZXN0Q29udHJvbGxlcjo6c2Nyb2xsaW5nVHJlZUFzVGV4dCk7CiAgICAgYmluZE1l
dGhvZCgic2V0QWNjZXB0c0VkaXRpbmciLCAmTGF5b3V0VGVzdENvbnRyb2xsZXI6OnNldEFjY2Vw
dHNFZGl0aW5nKTsKICAgICBiaW5kTWV0aG9kKCJzZXRBbGxvd0Rpc3BsYXlPZkluc2VjdXJlQ29u
dGVudCIsICZMYXlvdXRUZXN0Q29udHJvbGxlcjo6c2V0QWxsb3dEaXNwbGF5T2ZJbnNlY3VyZUNv
bnRlbnQpOwogICAgIGJpbmRNZXRob2QoInNldEFsbG93RmlsZUFjY2Vzc0Zyb21GaWxlVVJMcyIs
ICZMYXlvdXRUZXN0Q29udHJvbGxlcjo6c2V0QWxsb3dGaWxlQWNjZXNzRnJvbUZpbGVVUkxzKTsK
QEAgLTE5OTMsNiArMTk5NCwxMSBAQCB2b2lkIExheW91dFRlc3RDb250cm9sbGVyOjpsYXllclRy
ZWVBc1RleHQoY29uc3QgQ3BwQXJndW1lbnRMaXN0JiBhcmdzLCBDcHBWYXJpYQogICAgIHJlc3Vs
dC0+c2V0KG1fc2hlbGwtPndlYlZpZXcoKS0+bWFpbkZyYW1lKCktPmxheWVyVHJlZUFzVGV4dCht
X3Nob3dEZWJ1Z0xheWVyVHJlZSkudXRmOCgpKTsKIH0KIAordm9pZCBMYXlvdXRUZXN0Q29udHJv
bGxlcjo6c2Nyb2xsaW5nVHJlZUFzVGV4dChjb25zdCBDcHBBcmd1bWVudExpc3QmIGFyZ3MsIENw
cFZhcmlhbnQqIHJlc3VsdCkKK3sKKyAgICByZXN1bHQtPnNldChtX3NoZWxsLT53ZWJWaWV3KCkt
Pm1haW5GcmFtZSgpLT5zY3JvbGxpbmdUcmVlQXNUZXh0KCkudXRmOCgpKTsKK30KKwogdm9pZCBM
YXlvdXRUZXN0Q29udHJvbGxlcjo6bG9zZUNvbXBvc2l0b3JDb250ZXh0KGNvbnN0IENwcEFyZ3Vt
ZW50TGlzdCYgYXJncywgQ3BwVmFyaWFudCopCiB7CiAgICAgaW50IG51bVRpbWVzOwpkaWZmIC0t
Z2l0IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vTGF5b3V0VGVzdENvbnRyb2xsZXIu
aCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0xheW91dFRlc3RDb250cm9sbGVyLmgK
aW5kZXggNWE4NzI5Mzg4ODdhMmIyMTE2MTBiOGM2YzY1MWJlMWI2ZWE5YTU1Yi4uODdlMDg0MzY1
OTk5OWFhOWY1MTEyNWRkYWFlODlhZTRjZWUxNzU2MSAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJl
bmRlclRyZWUvY2hyb21pdW0vTGF5b3V0VGVzdENvbnRyb2xsZXIuaAorKysgYi9Ub29scy9EdW1w
UmVuZGVyVHJlZS9jaHJvbWl1bS9MYXlvdXRUZXN0Q29udHJvbGxlci5oCkBAIC0zNzksNiArMzc5
LDcgQEAgcHVibGljOgogICAgIHZvaWQgc3RhcnRTcGVlY2hJbnB1dChjb25zdCBDcHBBcmd1bWVu
dExpc3QmLCBDcHBWYXJpYW50Kik7CiAKICAgICB2b2lkIGxheWVyVHJlZUFzVGV4dChjb25zdCBD
cHBBcmd1bWVudExpc3QmIGFyZ3MsIENwcFZhcmlhbnQqIHJlc3VsdCk7CisgICAgdm9pZCBzY3Jv
bGxpbmdUcmVlQXNUZXh0KGNvbnN0IENwcEFyZ3VtZW50TGlzdCYgYXJncywgQ3BwVmFyaWFudCog
cmVzdWx0KTsKIAogICAgIHZvaWQgbG9zZUNvbXBvc2l0b3JDb250ZXh0KGNvbnN0IENwcEFyZ3Vt
ZW50TGlzdCYgYXJncywgQ3BwVmFyaWFudCogcmVzdWx0KTsKIApkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDJiODk0NDg4N2Jj
ZTllZjBiYmZjMjcxZGNjZmE0OTYxZDM3Y2I3NTIuLmExMTNhOTRlYmE5Y2E4YWVhY2MwNjNmOWE3
ZmRlMzg0NTc5OTQ3Y2QgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAxMi0wNi0xOCAgU2FtaSBL
eW9zdGlsYSAgPHNreW9zdGlsQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZW5kZXJWaWV3IGxh
eWVyIGlzIG1hcmtlZCBhcyBmaXhlZCBwb3NpdGlvbiBjb250YWluZXIgaW4gdGhlIHNjcm9sbGlu
ZyB0cmVlIGlmIHBhZ2Ugc2NhbGUgIT0gMQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9ODkyMTYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBBZGRlZCB0ZXN0IHRvIHZlcmlmeSB0aGF0IHRoZSByZW5kZXIgdmll
dyBsYXllciBkb2Vzbid0IGJlY29tZSBhIGZpeGVkCisgICAgICAgIHBvc2l0aW9uIGNvbnRhaW5l
ciB3aGVuIHRoZSBwYWdlIGlzIHNjYWxlZC4KKworICAgICAgICAqIHBsYXRmb3JtL2Nocm9taXVt
L2NvbXBvc2l0aW5nL2ZpeGVkLXBvc2l0aW9uLWNvbnRhaW5lci13aXRoLXBhZ2Utc2NhbGUtZXhw
ZWN0ZWQucG5nOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9jb21wb3NpdGlu
Zy9maXhlZC1wb3NpdGlvbi1jb250YWluZXItd2l0aC1wYWdlLXNjYWxlLWV4cGVjdGVkLnR4dDog
QWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vY2hyb21pdW0vY29tcG9zaXRpbmcvZml4ZWQtcG9z
aXRpb24tY29udGFpbmVyLXdpdGgtcGFnZS1zY2FsZS5odG1sOiBBZGRlZC4KKwogMjAxMi0wNi0x
OCAgSsOhbm9zIEJhZGljcyAgPGpiYWRpY3NAaW5mLnUtc3plZ2VkLmh1PgogCiAgICAgICAgIFtR
dF0gR2FyZGVuaW5nIGFmdGVyIHIxMjAzMTEuIEl0IG1hZGUgaW5zcGVjdG9yL2V4dGVuc2lvbnMv
ZXh0ZW5zaW9ucy1wYW5lbC5odG1sIGZsYWtleS4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3Bs
YXRmb3JtL2Nocm9taXVtL2NvbXBvc2l0aW5nL2ZpeGVkLXBvc2l0aW9uLWNvbnRhaW5lci13aXRo
LXBhZ2Utc2NhbGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0v
Y29tcG9zaXRpbmcvZml4ZWQtcG9zaXRpb24tY29udGFpbmVyLXdpdGgtcGFnZS1zY2FsZS1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZWE3MjZjMWU4MTUxNGYxMmE2ZmRhZTA5MmQ4NjZlODQ4ZDEx
MDA4YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2Nv
bXBvc2l0aW5nL2ZpeGVkLXBvc2l0aW9uLWNvbnRhaW5lci13aXRoLXBhZ2Utc2NhbGUtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsNDUgQEAKK0dyYXBoaWNzTGF5ZXIKKyAgICBzY3JvbGxhYmxlOiBu
bworICAgIHNob3VsZFNjcm9sbE9uTWFpblRocmVhZDogbm8KKyAgICBoYXZlV2hlZWxFdmVudEhh
bmRsZXJzOiBubworICAgIGlzQ29udGFpbmVyRm9yRml4ZWRQb3NpdGlvbkxheWVyczogbm8KKyAg
ICBmaXhlZFRvQ29udGFpbmVyTGF5ZXI6IG5vCisgIEdyYXBoaWNzTGF5ZXIKKyAgICAgIHNjcm9s
bGFibGU6IG5vCisgICAgICBzaG91bGRTY3JvbGxPbk1haW5UaHJlYWQ6IG5vCisgICAgICBoYXZl
V2hlZWxFdmVudEhhbmRsZXJzOiBubworICAgICAgaXNDb250YWluZXJGb3JGaXhlZFBvc2l0aW9u
TGF5ZXJzOiBubworICAgICAgZml4ZWRUb0NvbnRhaW5lckxheWVyOiBubworICAgIEdyYXBoaWNz
TGF5ZXIKKyAgICAgICAgc2Nyb2xsYWJsZTogeWVzCisgICAgICAgIHNjcm9sbFBvc2l0aW9uOiAw
LCAwCisgICAgICAgIG1heFNjcm9sbFBvc2l0aW9uOiAwLCAwCisgICAgICAgIHNob3VsZFNjcm9s
bE9uTWFpblRocmVhZDogbm8KKyAgICAgICAgaGF2ZVdoZWVsRXZlbnRIYW5kbGVyczogbm8KKyAg
ICAgICAgaXNDb250YWluZXJGb3JGaXhlZFBvc2l0aW9uTGF5ZXJzOiB5ZXMKKyAgICAgICAgZml4
ZWRUb0NvbnRhaW5lckxheWVyOiBubworICAgICAgR3JhcGhpY3NMYXllcgorICAgICAgICAgIHNj
cm9sbGFibGU6IG5vCisgICAgICAgICAgc2hvdWxkU2Nyb2xsT25NYWluVGhyZWFkOiBubworICAg
ICAgICAgIGhhdmVXaGVlbEV2ZW50SGFuZGxlcnM6IG5vCisgICAgICAgICAgaXNDb250YWluZXJG
b3JGaXhlZFBvc2l0aW9uTGF5ZXJzOiBubworICAgICAgICAgIGZpeGVkVG9Db250YWluZXJMYXll
cjogbm8KKyAgICAgIEdyYXBoaWNzTGF5ZXIKKyAgICAgICAgICBzY3JvbGxhYmxlOiBubworICAg
ICAgICAgIHNob3VsZFNjcm9sbE9uTWFpblRocmVhZDogbm8KKyAgICAgICAgICBoYXZlV2hlZWxF
dmVudEhhbmRsZXJzOiBubworICAgICAgICAgIGlzQ29udGFpbmVyRm9yRml4ZWRQb3NpdGlvbkxh
eWVyczogbm8KKyAgICAgICAgICBmaXhlZFRvQ29udGFpbmVyTGF5ZXI6IG5vCisgICAgICAgIEdy
YXBoaWNzTGF5ZXIKKyAgICAgICAgICAgIHNjcm9sbGFibGU6IG5vCisgICAgICAgICAgICBzaG91
bGRTY3JvbGxPbk1haW5UaHJlYWQ6IG5vCisgICAgICAgICAgICBoYXZlV2hlZWxFdmVudEhhbmRs
ZXJzOiBubworICAgICAgICAgICAgaXNDb250YWluZXJGb3JGaXhlZFBvc2l0aW9uTGF5ZXJzOiBu
bworICAgICAgICAgICAgZml4ZWRUb0NvbnRhaW5lckxheWVyOiBubworICAgICAgICAgIEdyYXBo
aWNzTGF5ZXIKKyAgICAgICAgICAgICAgc2Nyb2xsYWJsZTogbm8KKyAgICAgICAgICAgICAgc2hv
dWxkU2Nyb2xsT25NYWluVGhyZWFkOiBubworICAgICAgICAgICAgICBoYXZlV2hlZWxFdmVudEhh
bmRsZXJzOiBubworICAgICAgICAgICAgICBpc0NvbnRhaW5lckZvckZpeGVkUG9zaXRpb25MYXll
cnM6IHllcworICAgICAgICAgICAgICBmaXhlZFRvQ29udGFpbmVyTGF5ZXI6IG5vCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2NvbXBvc2l0aW5nL2ZpeGVkLXBv
c2l0aW9uLWNvbnRhaW5lci13aXRoLXBhZ2Utc2NhbGUuaHRtbCBiL0xheW91dFRlc3RzL3BsYXRm
b3JtL2Nocm9taXVtL2NvbXBvc2l0aW5nL2ZpeGVkLXBvc2l0aW9uLWNvbnRhaW5lci13aXRoLXBh
Z2Utc2NhbGUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xYzhmMDg0YThjZTZlZjk4YTQ4MGIwYTEwYzI3MDkw
MmYxMzZmOTUyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21p
dW0vY29tcG9zaXRpbmcvZml4ZWQtcG9zaXRpb24tY29udGFpbmVyLXdpdGgtcGFnZS1zY2FsZS5o
dG1sCkBAIC0wLDAgKzEsMzUgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+CisKKzwhLS0KK1Nl
dHRpbmcgYSBub24taWRlbnRpdHkgcGFnZSBzY2FsZSBzaG91bGQgbm90IG1hcmsgdGhlIHJlbmRl
ciB2aWV3IGxheWVyIGFzIGEKK2NvbnRhaW5lciBmb3IgZml4ZWQgcG9zaXRpb24gbGF5ZXJzLgor
CitodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODkyMTYKKy0tPgorPGhl
YWQ+CisgIDxzdHlsZT4KKyAgICAudHJpZ2dlckNvbXBvc2l0aW9uIHsKKyAgICAgIC13ZWJraXQt
dHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOworICAgIH0KKyAgPC9zdHlsZT4KKworICA8c2NyaXB0
PgorICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgZnVuY3Rpb24oKSB7CisgICAg
ICBpZiAod2luZG93LmludGVybmFscykKKyAgICAgICAgd2luZG93LmludGVybmFscy5zZXR0aW5n
cy5zZXRQYWdlU2NhbGVGYWN0b3IoMC41LCAwLCAwKTsKKyAgICAgIGlmICh3aW5kb3cudGVzdFJ1
bm5lcikgeworICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKKyAgICAgICAgdGVzdFJ1
bm5lci5kaXNwbGF5KCk7CisgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzY3JvbGxp
bmdUcmVlIikuaW5uZXJUZXh0ID0gd2luZG93LnRlc3RSdW5uZXIuc2Nyb2xsaW5nVHJlZUFzVGV4
dCgpOworICAgICAgfQorICAgIH0pOworICA8L3NjcmlwdD4KKzwvaGVhZD4KKworPGJvZHk+Cisg
IDxkaXYgY2xhc3M9InRyaWdnZXJDb21wb3NpdGlvbiI+PC9kaXY+CisgIDxwcmUgaWQ9InNjcm9s
bGluZ1RyZWUiPjwvcHJlPgorPC9ib2R5PgorCis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>148530</attachid>
            <date>2012-06-20 03:09:12 -0700</date>
            <delta_ts>2012-06-20 09:04:47 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-89216-20120620110911.patch</filename>
            <type>text/plain</type>
            <size>24034</size>
            <attacher name="Sami Kyöstilä">skyostil</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIwNzAzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODJjYWQwZTVmNGE1MDVj
MWMwZDYzNzc4NGVkOTA3MjUxMzIxMjU5NC4uOWU5MjBhOTQ5Mzk3YzJmZmU0MzE2NjMzYmFjMzll
MTY3MjY5MzVhNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU1IEBACisyMDEyLTA2LTE4ICBTYW1p
IEt5b3N0aWxhICA8c2t5b3N0aWxAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJlbmRlclZpZXcg
bGF5ZXIgaXMgbWFya2VkIGFzIGZpeGVkIHBvc2l0aW9uIGNvbnRhaW5lciBpbiB0aGUgc2Nyb2xs
aW5nIHRyZWUgaWYgcGFnZSBzY2FsZSAhPSAxCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD04OTIxNgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFJlbmRlciBsYXllcnMgd2l0aCBDU1MgdHJhbnNmb3JtcyBzaG91
bGQgYmVjb21lIGNvbnRhaW5lcnMgZm9yIGFueSBmaXhlZAorICAgICAgICBwb3NpdGlvbmVkIGRl
c2NlbmRhbnRzLiBIb3dldmVyLCBiZWNhdXNlIHRoaXMgY2hlY2sgaXMgZG9uZSB3aXRoCisgICAg
ICAgIFJlbmRlckxheWVyOjpoYXNUcmFuc2Zvcm0oKSwgd2UgYWxzbyBlbmQgdXAgbWFya2luZyB0
aGUgUmVuZGVyTGF5ZXIgZm9yIHRoZQorICAgICAgICBSZW5kZXJWaWV3IGFzIGZpeGVkIHBvc2l0
aW9uIGNvbnRhaW5lciBpZiBhIG5vbi1pZGVudGl0eSBwYWdlIHNjYWxlIGZhY3RvciBpcworICAg
ICAgICB1c2VkLiBUaGlzIGlzIGJlY2F1c2UgcGFnZSBzY2FsZSBpcyBhcHBsaWVkIGFzIGEgdHJh
bnNmb3JtIGZvciB0aGF0IGxheWVyLgorCisgICAgICAgIFRoaXMgYnJlYWtzIGZpeGVkIHBvc2l0
aW9uIGxheWVycywgYmVjYXVzZSB0aGV5IGJlY29tZSBmaXhlZCByZWxhdGl2ZSB0byB0aGUKKyAg
ICAgICAgUmVuZGVyVmlldyBsYXllciBpbnN0ZWFkIG9mIG91dGVyIHNjcm9sbCBjbGlwIGxheWVy
LgorCisgICAgICAgIFRoZSBmaXggaXMgdG8gYXZvaWQgbWFya2luZyBhbnkgUmVuZGVyVmlldyBs
YXllcnMgYXMgZml4ZWQgcG9zaXRpb24gY29udGFpbmVycy4KKworICAgICAgICBUaGlzIHBhdGNo
IGFsc28gYWRkcyBhIHRlc3RpbmcgZnJhbWV3b3JrIGZvciBTY3JvbGxpbmdDb29yZGluYXRvci4g
TGF5b3V0CisgICAgICAgIHRlc3RzIGNhbiBjYWxsIHRlc3RSdW5uZXIuc2Nyb2xsaW5nVHJlZUFz
VGV4dCgpIHRvIHJldHJpZXZlIGEgdGV4dAorICAgICAgICByZXByZXNlbnRhdGlvbiBvZiB0aGUg
c2Nyb2xsaW5nIHRyZWUgb2YgdGhlIGN1cnJlbnQgcGFnZS4gVGhpcyBmZWF0dXJlIGlzCisgICAg
ICAgIGN1cnJlbnRseSBvbmx5IGltcGxlbWVudGVkIGZvciB0aGUgQ2hyb21pdW0gc2Nyb2xsaW5n
IGNvb3JkaW5hdG9yIGJhY2stZW5kLgorCisgICAgICAgIFRlc3Q6IHBsYXRmb3JtL2Nocm9taXVt
L2NvbXBvc2l0aW5nL2ZpeGVkLXBvc2l0aW9uLWNvbnRhaW5lci13aXRoLXBhZ2Utc2NhbGUuaHRt
bAorCisgICAgICAgICogcGFnZS9GcmFtZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpGcmFtZTo6
c2Nyb2xsaW5nVHJlZUFzVGV4dCk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKiBwYWdl
L0ZyYW1lLmg6CisgICAgICAgIChGcmFtZSk6CisgICAgICAgICogcGFnZS9zY3JvbGxpbmcvU2Ny
b2xsaW5nQ29vcmRpbmF0b3IuY3BwOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJD
b3JlOjpTY3JvbGxpbmdDb29yZGluYXRvcjo6c2Nyb2xsaW5nVHJlZUFzVGV4dCk6CisgICAgICAg
ICogcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nQ29vcmRpbmF0b3IuaDoKKyAgICAgICAgKFNjcm9s
bGluZ0Nvb3JkaW5hdG9yKToKKyAgICAgICAgKiBwYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdDb29y
ZGluYXRvck5vbmUuY3BwOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3JlOjpT
Y3JvbGxpbmdDb29yZGluYXRvcjo6c2Nyb2xsaW5nVHJlZUFzVGV4dCk6CisgICAgICAgICogcGFn
ZS9zY3JvbGxpbmcvY2hyb21pdW0vU2Nyb2xsaW5nQ29vcmRpbmF0b3JDaHJvbWl1bS5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjp3cml0ZUluZGVudCk6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAg
ICAgKFdlYkNvcmU6OmJvb2xlYW5Bc1RleHQpOgorICAgICAgICAoV2ViQ29yZTo6ZHVtcExheWVy
U2Nyb2xsaW5nUHJvcGVydGllcyk6CisgICAgICAgIChXZWJDb3JlOjpkdW1wTGF5ZXIpOgorICAg
ICAgICAoV2ViQ29yZTo6U2Nyb2xsaW5nQ29vcmRpbmF0b3I6OnNjcm9sbGluZ1RyZWVBc1RleHQp
OgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nocm9taXVtL0xheWVyQ2hyb21pdW0uaDoK
KyAgICAgICAgKFdlYkNvcmU6OkxheWVyQ2hyb21pdW06OnNob3VsZFNjcm9sbE9uTWFpblRocmVh
ZCk6CisgICAgICAgIChXZWJDb3JlOjpMYXllckNocm9taXVtOjpoYXZlV2hlZWxFdmVudEhhbmRs
ZXJzKToKKyAgICAgICAgKFdlYkNvcmU6OkxheWVyQ2hyb21pdW06Om5vbkZhc3RTY3JvbGxhYmxl
UmVnaW9uKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyQmFja2luZzo6dXBkYXRlR3JhcGhpY3NMYXllckdl
b21ldHJ5KToKKwogMjAxMi0wNi0xOSAgVGFpanUgVHN1aWtpICA8dHppa0BjaHJvbWl1bS5vcmc+
CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogRmlsZVN5c3RlbSB0cmVlIHNob3VsZCBoaWRlIHVu
aW5pdGlhbGl6ZWQgRmlsZVN5c3RlbQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwppbmRleCAxMDIx
YzVkYjY2N2QxNDUyNTJkMzBjMTYwOWNlYTQ4YWQzNDU3NjdjLi5hMzVhNzU2OTUzOTI1MDU1NTEx
MmNjN2M2NDgzNDVhMmU3NDkxYzg0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVt
L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDIxIEBACisyMDEyLTA2LTE4ICBTYW1pIEt5b3N0aWxhICA8c2t5b3N0aWxAY2hyb21pdW0u
b3JnPgorCisgICAgICAgIFJlbmRlclZpZXcgbGF5ZXIgaXMgbWFya2VkIGFzIGZpeGVkIHBvc2l0
aW9uIGNvbnRhaW5lciBpbiB0aGUgc2Nyb2xsaW5nIHRyZWUgaWYgcGFnZSBzY2FsZSAhPSAxCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04OTIxNgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZGVkIHNjcm9s
bGluZ1RyZWVBc1RleHQoKSBmb3IgdGVzdGluZyB0aGUgc2Nyb2xsaW5nIGNvb3JkaW5hdG9yLiBJ
dCByZXR1cm5zCisgICAgICAgIGEgdGV4dCByZXByZXNlbnRhdGlvbiBvZiB0aGUgY3VycmVudCBz
Y3JvbGxpbmcgdHJlZS4KKworICAgICAgICAqIHB1YmxpYy9XZWJGcmFtZS5oOgorICAgICAgICAo
V2ViRnJhbWUpOgorICAgICAgICAqIHNyYy9XZWJGcmFtZUltcGwuY3BwOgorICAgICAgICAoV2Vi
S2l0OjpXZWJGcmFtZUltcGw6OnNjcm9sbGluZ1RyZWVBc1RleHQpOgorICAgICAgICAoV2ViS2l0
KToKKyAgICAgICAgKiBzcmMvV2ViRnJhbWVJbXBsLmg6CisgICAgICAgIChXZWJGcmFtZUltcGwp
OgorCiAyMDEyLTA2LTE5ICBZdXJ5IFNlbWlraGF0c2t5ICA8eXVyeXNAY2hyb21pdW0ub3JnPgog
CiAgICAgICAgIFtDaHJvbWl1bV0gV2ViIEluc3BlY3RvcjogcmVtb3ZlIHVubmVjZXNzYXJ5IGlu
ZGlyZWN0aW9uIGZyb20gbWVzc2FnZSBsb29wIGluc3RydW1lbnRhdGlvbgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1l
LmNwcAppbmRleCA5MWQzMWUzYmZkMTQ3YTg5MGY3NmE3MzkwMDBkM2IwMDI1MzRmOGI0Li5iY2E0
NzhlOGI4ZjRjNWU4YmFjNzFjOTFiZWE5YzNmMjUwNzkxNzNjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0ZyYW1lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lLmNw
cApAQCAtNzgsNiArNzgsNyBAQAogI2luY2x1ZGUgIlNjcmlwdENvbnRyb2xsZXIuaCIKICNpbmNs
dWRlICJTY3JpcHRTb3VyY2VDb2RlLmgiCiAjaW5jbHVkZSAiU2NyaXB0VmFsdWUuaCIKKyNpbmNs
dWRlICJTY3JvbGxpbmdDb29yZGluYXRvci5oIgogI2luY2x1ZGUgIlNldHRpbmdzLmgiCiAjaW5j
bHVkZSAiU3R5bGVQcm9wZXJ0eVNldC5oIgogI2luY2x1ZGUgIlRleHRJdGVyYXRvci5oIgpAQCAt
OTA0LDYgKzkwNSwxNyBAQCBTdHJpbmcgRnJhbWU6OmxheWVyVHJlZUFzVGV4dChib29sIHNob3dE
ZWJ1Z0luZm8pIGNvbnN0CiAjZW5kaWYKIH0KIAorU3RyaW5nIEZyYW1lOjpzY3JvbGxpbmdUcmVl
QXNUZXh0KCkgY29uc3QKK3sKKyAgICBQYWdlKiBwYWdlID0gdGhpcy0+cGFnZSgpOworICAgIGlm
ICghcGFnZSkKKyAgICAgICAgcmV0dXJuIFN0cmluZygpOworICAgIFNjcm9sbGluZ0Nvb3JkaW5h
dG9yKiBzY3JvbGxpbmdDb29yZGluYXRvciA9IHBhZ2UtPnNjcm9sbGluZ0Nvb3JkaW5hdG9yKCk7
CisgICAgaWYgKCFzY3JvbGxpbmdDb29yZGluYXRvcikKKyAgICAgICAgcmV0dXJuIFN0cmluZygp
OworICAgIHJldHVybiBzY3JvbGxpbmdDb29yZGluYXRvci0+c2Nyb2xsaW5nVHJlZUFzVGV4dCgp
OworfQorCiB2b2lkIEZyYW1lOjpzZXRQYWdlWm9vbUZhY3RvcihmbG9hdCBmYWN0b3IpCiB7CiAg
ICAgc2V0UGFnZUFuZFRleHRab29tRmFjdG9ycyhmYWN0b3IsIG1fdGV4dFpvb21GYWN0b3IpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZS5oIGIvU291cmNlL1dlYkNvcmUv
cGFnZS9GcmFtZS5oCmluZGV4IDc3YTczZDgwNzI1NzBiMGRiMjlkNzQ5Y2M5MTc0MTdlNmI2OTEy
ODcuLmU2ZjExMTMzMGM5MDNhYjYxOTRkYTE1NDgxMzkwYjFlYzdlY2ExNDkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0Zy
YW1lLmgKQEAgLTEyNCw2ICsxMjQsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHZv
aWQgaW5qZWN0VXNlclNjcmlwdHMoVXNlclNjcmlwdEluamVjdGlvblRpbWUpOwogICAgICAgICAK
ICAgICAgICAgU3RyaW5nIGxheWVyVHJlZUFzVGV4dChib29sIHNob3dEZWJ1Z0luZm8gPSBmYWxz
ZSkgY29uc3Q7CisgICAgICAgIFN0cmluZyBzY3JvbGxpbmdUcmVlQXNUZXh0KCkgY29uc3Q7CiAK
ICAgICAgICAgLy8gVW5saWtlIG1vc3QgYWNjZXNzb3JzIGluIHRoaXMgY2xhc3MsIGRvbVdpbmRv
dygpIGFsd2F5cyBjcmVhdGVzIGEgbmV3IERPTVdpbmRvdyBpZiBtX2RvbVdpbmRvdyBpcyBudWxs
LgogICAgICAgICAvLyBDYWxsZXJzIHRoYXQgZG9uJ3QgbmVlZCBhIG5ldyBET01XaW5kb3cgdG8g
YmUgY3JlYXRlZCBzaG91bGQgdXNlIGV4aXN0aW5nRE9NV2luZG93KCkuCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdDb29yZGluYXRvci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9TY3JvbGxpbmdDb29yZGluYXRvci5jcHAKaW5k
ZXggNmQxZjJhNjBkMDU3MjM2YWQwYjY0ZDMxNzAxNDRiZjRjNDk0MzRkNi4uY2I4ZjMzYjhhZWZm
MDcxMWYwZmE5ZDYyZDk1N2I3MWExYTFlNDE5YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nQ29vcmRpbmF0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmNwcApAQCAtNDY2LDYgKzQ2
NiwxMiBAQCB2b2lkIFNjcm9sbGluZ0Nvb3JkaW5hdG9yOjpzZXRMYXllcklzRml4ZWRUb0NvbnRh
aW5lckxheWVyKEdyYXBoaWNzTGF5ZXIqLCBib29sKQogewogICAgIC8vIEZJWE1FOiBJbXBsZW1l
bnQhCiB9CisKK1N0cmluZyBTY3JvbGxpbmdDb29yZGluYXRvcjo6c2Nyb2xsaW5nVHJlZUFzVGV4
dCgpIGNvbnN0Cit7CisgICAgLy8gRklYTUU6IEltcGxlbWVudC4KKyAgICByZXR1cm4gU3RyaW5n
KCk7Cit9CiAjZW5kaWYgLy8gIUVOQUJMRShUSFJFQURFRF9TQ1JPTExJTkcpCiAKIH0gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5n
L1Njcm9sbGluZ0Nvb3JkaW5hdG9yLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9T
Y3JvbGxpbmdDb29yZGluYXRvci5oCmluZGV4IDM1NjQ5YTkxZmZiOGU0NjgwYmRmZGY1NTgzYjg4
OGI3MzI1ZGVmMDEuLjVhNDhmYmQ5Y2EwZmQyMzE1NzIwOGRlMWI2MjE4ZjFhMWY3YTJmN2EgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ0Nvb3JkaW5h
dG9yLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Nyb2xsaW5nQ29vcmRp
bmF0b3IuaApAQCAtMTIzLDYgKzEyMywxMCBAQCBwdWJsaWM6CiAgICAgLy8gQXR0YWNoL2RldGFj
aCBsYXllciBwb3NpdGlvbiB0byBhbmNlc3RvciBmaXhlZCBwb3NpdGlvbiBjb250YWluZXIuCiAg
ICAgdm9pZCBzZXRMYXllcklzRml4ZWRUb0NvbnRhaW5lckxheWVyKEdyYXBoaWNzTGF5ZXIqLCBi
b29sKTsKIAorICAgIC8vIFJldHVybiBhIHRleHQgcmVwcmVzZW50YXRpb24gb2YgdGhlIHNjcm9s
bGluZyB0cmVlLiBVc2VkIHRvIHZlcmlmeSBzY3JvbGxpbmcgY29vcmRpbmF0b3IKKyAgICAvLyBi
ZWhhdmlvciBpbiBsYXlvdXQgdGVzdHMuCisgICAgU3RyaW5nIHNjcm9sbGluZ1RyZWVBc1RleHQo
KSBjb25zdDsKKwogcHJpdmF0ZToKICAgICBleHBsaWNpdCBTY3JvbGxpbmdDb29yZGluYXRvcihQ
YWdlKik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9s
bGluZ0Nvb3JkaW5hdG9yTm9uZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL3Njcm9sbGluZy9T
Y3JvbGxpbmdDb29yZGluYXRvck5vbmUuY3BwCmluZGV4IGYwYWNmZTBjYzNiMTcxZDMzMTA0NzA0
NjUwMDJlMGQyYTU3ZmQwOWMuLmI1ZTA3MTk1ZWY4NzU5OTZjYTFjNmFlYTkxNzZiZWNiZmRkYTJj
MmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uvc2Nyb2xsaW5nL1Njcm9sbGluZ0Nv
b3JkaW5hdG9yTm9uZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvU2Ny
b2xsaW5nQ29vcmRpbmF0b3JOb25lLmNwcApAQCAtMjYsNiArMjYsNyBAQAogI2luY2x1ZGUgImNv
bmZpZy5oIgogCiAjaW5jbHVkZSAiU2Nyb2xsaW5nQ29vcmRpbmF0b3IuaCIKKyNpbmNsdWRlIDx3
dGYvdGV4dC9XVEZTdHJpbmcuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC04Myw2ICs4
NCwxMSBAQCB2b2lkIFNjcm9sbGluZ0Nvb3JkaW5hdG9yOjpzZXRMYXllcklzQ29udGFpbmVyRm9y
Rml4ZWRQb3NpdGlvbkxheWVycyhHcmFwaGljc0xheQogdm9pZCBTY3JvbGxpbmdDb29yZGluYXRv
cjo6c2V0TGF5ZXJJc0ZpeGVkVG9Db250YWluZXJMYXllcihHcmFwaGljc0xheWVyKiwgYm9vbCkK
IHsKIH0KKworU3RyaW5nIFNjcm9sbGluZ0Nvb3JkaW5hdG9yOjpzY3JvbGxpbmdUcmVlQXNUZXh0
KCkgY29uc3QKK3sKKyAgICByZXR1cm4gU3RyaW5nKCk7Cit9CiAjZW5kaWYgLy8gIUVOQUJMRShU
SFJFQURFRF9TQ1JPTExJTkcpCiAKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
c2Nyb2xsaW5nL2Nocm9taXVtL1Njcm9sbGluZ0Nvb3JkaW5hdG9yQ2hyb21pdW0uY3BwIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvY2hyb21pdW0vU2Nyb2xsaW5nQ29vcmRpbmF0b3JD
aHJvbWl1bS5jcHAKaW5kZXggMGMzYjBjMzI5NGQ4MjhmYjM1MDdhMzY1YzY3YjIwNTkzOTMxYjA4
MS4uNDcwOTE3OGFhOTc3YTkwZGQ4YTk2YzhiZThkZmVmN2JlMGUwNGI1MSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvY2hyb21pdW0vU2Nyb2xsaW5nQ29vcmRpbmF0
b3JDaHJvbWl1bS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9zY3JvbGxpbmcvY2hyb21p
dW0vU2Nyb2xsaW5nQ29vcmRpbmF0b3JDaHJvbWl1bS5jcHAKQEAgLTMwLDExICszMCwxMyBAQAog
I2luY2x1ZGUgIkZyYW1lLmgiCiAjaW5jbHVkZSAiRnJhbWVWaWV3LmgiCiAjaW5jbHVkZSAiTGF5
ZXJDaHJvbWl1bS5oIgorI2luY2x1ZGUgIlBhZ2UuaCIKICNpbmNsdWRlICJSZWdpb24uaCIKICNp
bmNsdWRlICJSZW5kZXJMYXllckNvbXBvc2l0b3IuaCIKICNpbmNsdWRlICJSZW5kZXJWaWV3Lmgi
CiAjaW5jbHVkZSAiU2Nyb2xsYmFyTGF5ZXJDaHJvbWl1bS5oIgogI2luY2x1ZGUgIlNjcm9sbGJh
clRoZW1lLmgiCisjaW5jbHVkZSAiVGV4dFN0cmVhbS5oIgogI2luY2x1ZGUgImNjL0NDUHJveHku
aCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtMjAxLDQgKzIwMyw5NSBAQCB2b2lkIFNjcm9s
bGluZ0Nvb3JkaW5hdG9yOjpzZXRMYXllcklzRml4ZWRUb0NvbnRhaW5lckxheWVyKEdyYXBoaWNz
TGF5ZXIqIGxheWVyLAogICAgICAgICBwbGF0Zm9ybUxheWVyLT5zZXRGaXhlZFRvQ29udGFpbmVy
TGF5ZXIoZW5hYmxlKTsKIH0KIAorc3RhdGljIHZvaWQgd3JpdGVJbmRlbnQoVGV4dFN0cmVhbSYg
dGV4dFN0cmVhbSwgaW50IGluZGVudCkKK3sKKyAgICBmb3IgKGludCBpID0gMDsgaSA8IGluZGVu
dDsgKytpKQorICAgICAgICB0ZXh0U3RyZWFtIDw8ICIgICI7Cit9CisKK3N0YXRpYyBjb25zdCBj
aGFyKiBib29sZWFuQXNUZXh0KGJvb2wgdmFsdWUpCit7CisgICAgcmV0dXJuIHZhbHVlID8gInll
cyIgOiAibm8iOworfQorCitzdGF0aWMgdm9pZCBkdW1wTGF5ZXJTY3JvbGxpbmdQcm9wZXJ0aWVz
KFRleHRTdHJlYW0mIHRleHRTdHJlYW0sIGNvbnN0IEdyYXBoaWNzTGF5ZXIqIGxheWVyLCBpbnQg
aW5kZW50KQoreworICAgIExheWVyQ2hyb21pdW0qIHBsYXRmb3JtTGF5ZXIgPSBsYXllci0+cGxh
dGZvcm1MYXllcigpOworICAgIGlmICghcGxhdGZvcm1MYXllcikKKyAgICAgICAgcmV0dXJuOwor
CisgICAgd3JpdGVJbmRlbnQodGV4dFN0cmVhbSwgaW5kZW50KTsKKyAgICB0ZXh0U3RyZWFtIDw8
ICJzY3JvbGxhYmxlOiAiIDw8IGJvb2xlYW5Bc1RleHQocGxhdGZvcm1MYXllci0+c2Nyb2xsYWJs
ZSgpKSA8PCAiXG4iOworCisgICAgaWYgKHBsYXRmb3JtTGF5ZXItPnNjcm9sbGFibGUoKSkgewor
ICAgICAgICB3cml0ZUluZGVudCh0ZXh0U3RyZWFtLCBpbmRlbnQpOworICAgICAgICB0ZXh0U3Ry
ZWFtIDw8ICJzY3JvbGxQb3NpdGlvbjogIiA8PCBwbGF0Zm9ybUxheWVyLT5zY3JvbGxQb3NpdGlv
bigpLngoKSA8PCAiLCAiIDw8IHBsYXRmb3JtTGF5ZXItPnNjcm9sbFBvc2l0aW9uKCkueSgpIDw8
ICJcbiI7CisKKyAgICAgICAgd3JpdGVJbmRlbnQodGV4dFN0cmVhbSwgaW5kZW50KTsKKyAgICAg
ICAgdGV4dFN0cmVhbSA8PCAibWF4U2Nyb2xsUG9zaXRpb246ICIgPDwgcGxhdGZvcm1MYXllci0+
bWF4U2Nyb2xsUG9zaXRpb24oKS53aWR0aCgpIDw8ICIsICIgPDwgcGxhdGZvcm1MYXllci0+bWF4
U2Nyb2xsUG9zaXRpb24oKS5oZWlnaHQoKSA8PCAiXG4iOworICAgIH0KKworICAgIHdyaXRlSW5k
ZW50KHRleHRTdHJlYW0sIGluZGVudCk7CisgICAgdGV4dFN0cmVhbSA8PCAic2hvdWxkU2Nyb2xs
T25NYWluVGhyZWFkOiAiIDw8IGJvb2xlYW5Bc1RleHQocGxhdGZvcm1MYXllci0+c2hvdWxkU2Ny
b2xsT25NYWluVGhyZWFkKCkpIDw8ICJcbiI7CisKKyAgICB3cml0ZUluZGVudCh0ZXh0U3RyZWFt
LCBpbmRlbnQpOworICAgIHRleHRTdHJlYW0gPDwgImhhdmVXaGVlbEV2ZW50SGFuZGxlcnM6ICIg
PDwgYm9vbGVhbkFzVGV4dChwbGF0Zm9ybUxheWVyLT5oYXZlV2hlZWxFdmVudEhhbmRsZXJzKCkp
IDw8ICJcbiI7CisKKyAgICBpZiAoIXBsYXRmb3JtTGF5ZXItPm5vbkZhc3RTY3JvbGxhYmxlUmVn
aW9uKCkuaXNFbXB0eSgpKSB7CisgICAgICAgIHdyaXRlSW5kZW50KHRleHRTdHJlYW0sIGluZGVu
dCk7CisgICAgICAgIHRleHRTdHJlYW0gPDwgIm5vbkZhc3RTY3JvbGxhYmxlUmVnaW9uOiAiOwor
ICAgICAgICBWZWN0b3I8SW50UmVjdD4gcmVjdHMgPSBwbGF0Zm9ybUxheWVyLT5ub25GYXN0U2Ny
b2xsYWJsZVJlZ2lvbigpLnJlY3RzKCk7CisgICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwg
cmVjdHMuc2l6ZSgpOyArK2kpCisgICAgICAgICAgICB0ZXh0U3RyZWFtIDw8ICJbIiA8PCByZWN0
c1tpXS54KCkgPDwgIiwgIiA8PCByZWN0c1tpXS55KCkgPDwgIiwgIiA8PCByZWN0c1tpXS53aWR0
aCgpIDw8ICIsICIgPDwgcmVjdHNbaV0uaGVpZ2h0KCkgPDwgIl0gIjsKKyAgICAgICAgdGV4dFN0
cmVhbSA8PCAiXG4iOworICAgIH0KKworICAgIHdyaXRlSW5kZW50KHRleHRTdHJlYW0sIGluZGVu
dCk7CisgICAgdGV4dFN0cmVhbSA8PCAiaXNDb250YWluZXJGb3JGaXhlZFBvc2l0aW9uTGF5ZXJz
OiAiIDw8IGJvb2xlYW5Bc1RleHQocGxhdGZvcm1MYXllci0+aXNDb250YWluZXJGb3JGaXhlZFBv
c2l0aW9uTGF5ZXJzKCkpIDw8ICJcbiI7CisKKyAgICB3cml0ZUluZGVudCh0ZXh0U3RyZWFtLCBp
bmRlbnQpOworICAgIHRleHRTdHJlYW0gPDwgImZpeGVkVG9Db250YWluZXJMYXllcjogIiA8PCBi
b29sZWFuQXNUZXh0KHBsYXRmb3JtTGF5ZXItPmZpeGVkVG9Db250YWluZXJMYXllcigpKSA8PCAi
XG4iOworfQorCitzdGF0aWMgdm9pZCBkdW1wTGF5ZXIoVGV4dFN0cmVhbSYgdGV4dFN0cmVhbSwg
Y29uc3QgR3JhcGhpY3NMYXllciogbGF5ZXIsIGludCBpbmRlbnQpCit7CisgICAgd3JpdGVJbmRl
bnQodGV4dFN0cmVhbSwgaW5kZW50KTsKKyAgICB0ZXh0U3RyZWFtIDw8ICJHcmFwaGljc0xheWVy
XG4iOworICAgIGR1bXBMYXllclNjcm9sbGluZ1Byb3BlcnRpZXModGV4dFN0cmVhbSwgbGF5ZXIs
IGluZGVudCArIDIpOworCisgICAgaWYgKGxheWVyLT5yZXBsaWNhTGF5ZXIoKSkgeworICAgICAg
ICB3cml0ZUluZGVudCh0ZXh0U3RyZWFtLCBpbmRlbnQgKyAyKTsKKyAgICAgICAgdGV4dFN0cmVh
bSA8PCAiUmVwbGljYTpcbiI7CisgICAgICAgIGR1bXBMYXllcih0ZXh0U3RyZWFtLCBsYXllci0+
cmVwbGljYUxheWVyKCksIGluZGVudCArIDMpOworICAgIH0KKworICAgIGlmIChsYXllci0+bWFz
a0xheWVyKCkpIHsKKyAgICAgICAgd3JpdGVJbmRlbnQodGV4dFN0cmVhbSwgaW5kZW50ICsgMik7
CisgICAgICAgIHRleHRTdHJlYW0gPDwgIk1hc2s6XG4iOworICAgICAgICBkdW1wTGF5ZXIodGV4
dFN0cmVhbSwgbGF5ZXItPm1hc2tMYXllcigpLCBpbmRlbnQgKyAzKTsKKyAgICB9CisKKyAgICBm
b3IgKHNpemVfdCBpID0gMDsgaSA8IGxheWVyLT5jaGlsZHJlbigpLnNpemUoKTsgKytpKQorICAg
ICAgICBkdW1wTGF5ZXIodGV4dFN0cmVhbSwgbGF5ZXItPmNoaWxkcmVuKClbaV0sIGluZGVudCAr
IDEpOworfQorCitTdHJpbmcgU2Nyb2xsaW5nQ29vcmRpbmF0b3I6OnNjcm9sbGluZ1RyZWVBc1Rl
eHQoKSBjb25zdAoreworICAgIEFTU0VSVChpc01haW5UaHJlYWQoKSk7CisjaWYgVVNFKEFDQ0VM
RVJBVEVEX0NPTVBPU0lUSU5HKQorICAgIGlmICghbV9wYWdlIHx8ICFtX3BhZ2UtPm1haW5GcmFt
ZSgpKQorICAgICAgICByZXR1cm4gU3RyaW5nKCk7CisKKyAgICBSZW5kZXJWaWV3KiByZW5kZXJW
aWV3ID0gbV9wYWdlLT5tYWluRnJhbWUoKS0+Y29udGVudFJlbmRlcmVyKCk7CisgICAgaWYgKCFy
ZW5kZXJWaWV3IHx8ICFyZW5kZXJWaWV3LT5jb21wb3NpdG9yKCkgfHwgIXJlbmRlclZpZXctPmNv
bXBvc2l0b3IoKS0+cm9vdEdyYXBoaWNzTGF5ZXIoKSkKKyAgICAgICAgcmV0dXJuIFN0cmluZygp
OworCisgICAgVGV4dFN0cmVhbSB0ZXh0U3RyZWFtOworICAgIGR1bXBMYXllcih0ZXh0U3RyZWFt
LCByZW5kZXJWaWV3LT5jb21wb3NpdG9yKCktPnJvb3RHcmFwaGljc0xheWVyKCksIDApOworICAg
IHJldHVybiB0ZXh0U3RyZWFtLnJlbGVhc2UoKTsKKyNlbHNlCisgICAgcmV0dXJuIFN0cmluZygp
OworI2VuZGlmCit9CisKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2Nocm9taXVtL0xheWVyQ2hyb21pdW0uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L2dyYXBoaWNzL2Nocm9taXVtL0xheWVyQ2hyb21pdW0uaAppbmRleCA0YTVmMWFlNzNhMDNiMjlh
ZTM5MWNlNGNjMDJiNjMwYjJhOTkyNjM1Li5mMGUyZGFmNjBkM2NkZjk5ODFmODg0NWEzMmUyODQw
M2M3YjMwMmVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
aHJvbWl1bS9MYXllckNocm9taXVtLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvY2hyb21pdW0vTGF5ZXJDaHJvbWl1bS5oCkBAIC0xNjYsOSArMTY2LDExIEBAIHB1Ymxp
YzoKICAgICB2b2lkIHNldFNjcm9sbGFibGUoYm9vbCk7CiAgICAgYm9vbCBzY3JvbGxhYmxlKCkg
Y29uc3QgeyByZXR1cm4gbV9zY3JvbGxhYmxlOyB9CiAgICAgdm9pZCBzZXRTaG91bGRTY3JvbGxP
bk1haW5UaHJlYWQoYm9vbCk7CisgICAgYm9vbCBzaG91bGRTY3JvbGxPbk1haW5UaHJlYWQoKSBj
b25zdCB7IHJldHVybiBtX3Nob3VsZFNjcm9sbE9uTWFpblRocmVhZDsgfQogICAgIHZvaWQgc2V0
SGF2ZVdoZWVsRXZlbnRIYW5kbGVycyhib29sKTsKLSAgICBjb25zdCBSZWdpb24mIG5vbkZhc3RT
Y3JvbGxhYmxlUmVnaW9uKCkgeyByZXR1cm4gbV9ub25GYXN0U2Nyb2xsYWJsZVJlZ2lvbjsgfQor
ICAgIGJvb2wgaGF2ZVdoZWVsRXZlbnRIYW5kbGVycygpIGNvbnN0IHsgcmV0dXJuIG1faGF2ZVdo
ZWVsRXZlbnRIYW5kbGVyczsgfQogICAgIHZvaWQgc2V0Tm9uRmFzdFNjcm9sbGFibGVSZWdpb24o
Y29uc3QgUmVnaW9uJik7CisgICAgY29uc3QgUmVnaW9uJiBub25GYXN0U2Nyb2xsYWJsZVJlZ2lv
bigpIGNvbnN0IHsgcmV0dXJuIG1fbm9uRmFzdFNjcm9sbGFibGVSZWdpb247IH0KICAgICB2b2lk
IHNldE5vbkZhc3RTY3JvbGxhYmxlUmVnaW9uQ2hhbmdlZCgpIHsgbV9ub25GYXN0U2Nyb2xsYWJs
ZVJlZ2lvbkNoYW5nZWQgPSB0cnVlOyB9CiAgICAgdm9pZCBzZXRMYXllclNjcm9sbERlbGVnYXRl
KExheWVyQ2hyb21pdW1TY3JvbGxEZWxlZ2F0ZSogbGF5ZXJTY3JvbGxEZWxlZ2F0ZSkgeyBtX2xh
eWVyU2Nyb2xsRGVsZWdhdGUgPSBsYXllclNjcm9sbERlbGVnYXRlOyB9CiAgICAgdm9pZCBzY3Jv
bGxCeShjb25zdCBJbnRTaXplJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyTGF5ZXJCYWNraW5nLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5k
ZXJMYXllckJhY2tpbmcuY3BwCmluZGV4IGUyZDc3NTdmNWE1MjFmNTdiM2RlZDEyMTBmY2Q5NTlj
ZDJlZWUxMGUuLmY2ODVkMGExNTUwZGNkZmUwOWNhYTJmN2RkMDNhYTZlYjg0N2RhMjAgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcuY3BwCkBAIC00
NDksNyArNDQ5LDEwIEBAIHZvaWQgUmVuZGVyTGF5ZXJCYWNraW5nOjp1cGRhdGVHcmFwaGljc0xh
eWVyR2VvbWV0cnkoKQogICAgICAgICAgICAgICAgICAgICBzY3JvbGxpbmdDb29yZGluYXRvci0+
c2V0TGF5ZXJJc0ZpeGVkVG9Db250YWluZXJMYXllcihtX2FuY2VzdG9yQ2xpcHBpbmdMYXllci5n
ZXQoKSwgZmFsc2UpOwogICAgICAgICAgICAgICAgIHNjcm9sbGluZ0Nvb3JkaW5hdG9yLT5zZXRM
YXllcklzRml4ZWRUb0NvbnRhaW5lckxheWVyKG1fZ3JhcGhpY3NMYXllci5nZXQoKSwgZmFsc2Up
OwogICAgICAgICAgICAgfQotICAgICAgICAgICAgYm9vbCBpc0NvbnRhaW5lciA9IG1fb3duaW5n
TGF5ZXItPmhhc1RyYW5zZm9ybSgpOworICAgICAgICAgICAgLy8gUGFnZSBzY2FsZSBpcyBhcHBs
aWVkIGFzIGEgdHJhbnNmb3JtIG9uIHRoZSByZW5kZXIgdmlldyBsYXllci4gQmVjYXVzZSB0aGUg
c2Nyb2xsCisgICAgICAgICAgICAvLyBsYXllciBpcyBmdXJ0aGVyIHVwIGluIHRoZSBoaWVyYXJj
aHksIHdlIG5lZWQgdG8gYXZvaWQgbWFya2luZyB0aGUgcmVuZGVyIHZpZXcKKyAgICAgICAgICAg
IC8vIGxheWVyIGFzIGEgY29udGFpbmVyLgorICAgICAgICAgICAgYm9vbCBpc0NvbnRhaW5lciA9
IG1fb3duaW5nTGF5ZXItPmhhc1RyYW5zZm9ybSgpICYmICFyZW5kZXJlcigpLT5pc1JlbmRlclZp
ZXcoKTsKICAgICAgICAgICAgIHNjcm9sbGluZ0Nvb3JkaW5hdG9yLT5zZXRMYXllcklzQ29udGFp
bmVyRm9yRml4ZWRQb3NpdGlvbkxheWVycyhjaGlsZEZvclN1cGVybGF5ZXJzKCksIGlzQ29udGFp
bmVyKTsKICAgICAgICAgfQogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vcHVibGljL1dlYkZyYW1lLmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9XZWJG
cmFtZS5oCmluZGV4IDVjZDdmNWYxZWRlMDJmOTg1MWQ0NTgzMDJjYWViMTU5MmMzMmMwN2IuLjYy
NzYyMWQxYjNiMmRiNTY1NDQxZTFlYWY0ZTQzYzA5MzhhM2IzODkgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL1dlYkZyYW1lLmgKKysrIGIvU291cmNlL1dlYktpdC9j
aHJvbWl1bS9wdWJsaWMvV2ViRnJhbWUuaApAQCAtNjQ1LDYgKzY0NSwxMCBAQCBwdWJsaWM6CiAg
ICAgLy8gdGV4dCBmb3JtLiBUaGlzIGlzIHVzZWQgb25seSBieSBsYXlvdXQgdGVzdHMuCiAgICAg
dmlydHVhbCBXZWJTdHJpbmcgbGF5ZXJUcmVlQXNUZXh0KGJvb2wgc2hvd0RlYnVnSW5mbyA9IGZh
bHNlKSBjb25zdCA9IDA7CiAKKyAgICAvLyBEdW1wcyB0aGUgc2Nyb2xsaW5nIHRyZWUsIHVzZWQg
YnkgdGhlIHNjcm9sbGluZyBjb29yZGluYXRvciwgaW4KKyAgICAvLyB0ZXh0IGZvcm0uIFRoaXMg
aXMgdXNlZCBvbmx5IGJ5IGxheW91dCB0ZXN0cy4KKyAgICB2aXJ0dWFsIFdlYlN0cmluZyBzY3Jv
bGxpbmdUcmVlQXNUZXh0KCkgY29uc3QgPSAwOworCiBwcm90ZWN0ZWQ6CiAgICAgfldlYkZyYW1l
KCkgeyB9CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvV2ViRnJh
bWVJbXBsLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkZyYW1lSW1wbC5jcHAK
aW5kZXggODhmZDlmNjFkZTY1NmJhYmE5OTZkOWU1YzNlNTJiOTM1ZWZlNDFjYS4uNWJkNjBkMzVj
YmNkZjg3ZWFjMjAwYmVlNmM5M2MxOWMwYzBiMzhkYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dC9jaHJvbWl1bS9zcmMvV2ViRnJhbWVJbXBsLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3NyYy9XZWJGcmFtZUltcGwuY3BwCkBAIC0yMDMxLDYgKzIwMzEsMTMgQEAgV2ViU3RyaW5n
IFdlYkZyYW1lSW1wbDo6bGF5ZXJUcmVlQXNUZXh0KGJvb2wgc2hvd0RlYnVnSW5mbykgY29uc3QK
ICAgICByZXR1cm4gV2ViU3RyaW5nKG1fZnJhbWUtPmxheWVyVHJlZUFzVGV4dChzaG93RGVidWdJ
bmZvKSk7CiB9CiAKK1dlYlN0cmluZyBXZWJGcmFtZUltcGw6OnNjcm9sbGluZ1RyZWVBc1RleHQo
KSBjb25zdAoreworICAgIGlmICghbV9mcmFtZSkKKyAgICAgICAgcmV0dXJuIFdlYlN0cmluZygp
OworICAgIHJldHVybiBXZWJTdHJpbmcobV9mcmFtZS0+c2Nyb2xsaW5nVHJlZUFzVGV4dCgpKTsK
K30KKwogLy8gV2ViRnJhbWVJbXBsIHB1YmxpYyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIAogUGFzc1JlZlB0cjxXZWJGcmFtZUltcGw+
IFdlYkZyYW1lSW1wbDo6Y3JlYXRlKFdlYkZyYW1lQ2xpZW50KiBjbGllbnQpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9XZWJGcmFtZUltcGwuaCBiL1NvdXJjZS9XZWJL
aXQvY2hyb21pdW0vc3JjL1dlYkZyYW1lSW1wbC5oCmluZGV4IDM5OTM3NDcxYTExODJlYzFjMGIx
NTMyZWI4ZTI1MDAzMDM5ZTI2NTUuLjRhYTI5NWM0YzMzNDdjNTBmNTFkZDUzODhlMGFiMGE5YTg5
ODVjYTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkZyYW1lSW1w
bC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL1dlYkZyYW1lSW1wbC5oCkBAIC0y
MzEsNiArMjMxLDcgQEAgcHVibGljOgogCiAgICAgdmlydHVhbCBib29sIHNlbGVjdGlvblN0YXJ0
SGFzU3BlbGxpbmdNYXJrZXJGb3IoaW50IGZyb20sIGludCBsZW5ndGgpIGNvbnN0OwogICAgIHZp
cnR1YWwgV2ViU3RyaW5nIGxheWVyVHJlZUFzVGV4dChib29sIHNob3dEZWJ1Z0luZm8gPSBmYWxz
ZSkgY29uc3Q7CisgICAgdmlydHVhbCBXZWJTdHJpbmcgc2Nyb2xsaW5nVHJlZUFzVGV4dCgpIGNv
bnN0IE9WRVJSSURFOwogCiAgICAgc3RhdGljIFBhc3NSZWZQdHI8V2ViRnJhbWVJbXBsPiBjcmVh
dGUoV2ViRnJhbWVDbGllbnQqIGNsaWVudCk7CiAgICAgdmlydHVhbCB+V2ViRnJhbWVJbXBsKCk7
CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggYTlh
NmYyNzM2MWIwM2E1Yzc1OTkwNWE3MThmYmNjMGI0MzcxNTk2Yy4uOTg0NWMzZmVkYTg4NjU5YTU5
YTJjNjgwNjg3MTY5MmY1M2RlZWY4OCAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBi
L1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDEyLTA2LTE4ICBTYW1pIEt5b3N0
aWxhICA8c2t5b3N0aWxAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJlbmRlclZpZXcgbGF5ZXIg
aXMgbWFya2VkIGFzIGZpeGVkIHBvc2l0aW9uIGNvbnRhaW5lciBpbiB0aGUgc2Nyb2xsaW5nIHRy
ZWUgaWYgcGFnZSBzY2FsZSAhPSAxCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD04OTIxNgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIEFkZGVkIHNjcm9sbGluZ1RyZWVBc1RleHQoKSBmb3IgdGVzdGluZyB0aGUg
c2Nyb2xsaW5nIGNvb3JkaW5hdG9yLiBJdCByZXR1cm5zCisgICAgICAgIGEgdGV4dCByZXByZXNl
bnRhdGlvbiBvZiB0aGUgY3VycmVudCBzY3JvbGxpbmcgdHJlZS4KKworICAgICAgICAqIER1bXBS
ZW5kZXJUcmVlL2Nocm9taXVtL0xheW91dFRlc3RDb250cm9sbGVyLmNwcDoKKyAgICAgICAgKExh
eW91dFRlc3RDb250cm9sbGVyOjpMYXlvdXRUZXN0Q29udHJvbGxlcik6CisgICAgICAgIChMYXlv
dXRUZXN0Q29udHJvbGxlcjo6c2Nyb2xsaW5nVHJlZUFzVGV4dCk6CisgICAgICAgICogRHVtcFJl
bmRlclRyZWUvY2hyb21pdW0vTGF5b3V0VGVzdENvbnRyb2xsZXIuaDoKKyAgICAgICAgKExheW91
dFRlc3RDb250cm9sbGVyKToKKwogMjAxMi0wNi0xOSAgWm9sdGFuIEhvcnZhdGggIDx6b2x0YW5A
d2Via2l0Lm9yZz4KIAogICAgICAgICBbUXRdIE1vZGlmeSBIVFRQUyBwb3J0IHRvIDg0NDMgZm9y
IHBlcmZvcm1hbmNlIHRlc3RzCmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJv
bWl1bS9MYXlvdXRUZXN0Q29udHJvbGxlci5jcHAgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJv
bWl1bS9MYXlvdXRUZXN0Q29udHJvbGxlci5jcHAKaW5kZXggMTIwMTk3ZTI1NjNjZGFmZjg0MWM4
MmViNWRhYjM0ZGJlZjhkMjJmMy4uNTJjM2ZlNjc5ODg3ZmNlYWFjMWM0MTM0NjA4ZWJhZTlmMmUy
YjY0ZiAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vTGF5b3V0VGVz
dENvbnRyb2xsZXIuY3BwCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0xheW91
dFRlc3RDb250cm9sbGVyLmNwcApAQCAtMTg2LDYgKzE4Niw3IEBAIExheW91dFRlc3RDb250cm9s
bGVyOjpMYXlvdXRUZXN0Q29udHJvbGxlcihUZXN0U2hlbGwqIHNoZWxsKQogICAgIGJpbmRNZXRo
b2QoInJlbW92ZU9yaWdpbkFjY2Vzc1doaXRlbGlzdEVudHJ5IiwgJkxheW91dFRlc3RDb250cm9s
bGVyOjpyZW1vdmVPcmlnaW5BY2Nlc3NXaGl0ZWxpc3RFbnRyeSk7CiAgICAgYmluZE1ldGhvZCgi
cmVwYWludFN3ZWVwSG9yaXpvbnRhbGx5IiwgJkxheW91dFRlc3RDb250cm9sbGVyOjpyZXBhaW50
U3dlZXBIb3Jpem9udGFsbHkpOwogICAgIGJpbmRNZXRob2QoInJlc2V0UGFnZVZpc2liaWxpdHki
LCAmTGF5b3V0VGVzdENvbnRyb2xsZXI6OnJlc2V0UGFnZVZpc2liaWxpdHkpOworICAgIGJpbmRN
ZXRob2QoInNjcm9sbGluZ1RyZWVBc1RleHQiLCAmTGF5b3V0VGVzdENvbnRyb2xsZXI6OnNjcm9s
bGluZ1RyZWVBc1RleHQpOwogICAgIGJpbmRNZXRob2QoInNldEFjY2VwdHNFZGl0aW5nIiwgJkxh
eW91dFRlc3RDb250cm9sbGVyOjpzZXRBY2NlcHRzRWRpdGluZyk7CiAgICAgYmluZE1ldGhvZCgi
c2V0QWxsb3dEaXNwbGF5T2ZJbnNlY3VyZUNvbnRlbnQiLCAmTGF5b3V0VGVzdENvbnRyb2xsZXI6
OnNldEFsbG93RGlzcGxheU9mSW5zZWN1cmVDb250ZW50KTsKICAgICBiaW5kTWV0aG9kKCJzZXRB
bGxvd0ZpbGVBY2Nlc3NGcm9tRmlsZVVSTHMiLCAmTGF5b3V0VGVzdENvbnRyb2xsZXI6OnNldEFs
bG93RmlsZUFjY2Vzc0Zyb21GaWxlVVJMcyk7CkBAIC0xOTkzLDYgKzE5OTQsMTEgQEAgdm9pZCBM
YXlvdXRUZXN0Q29udHJvbGxlcjo6bGF5ZXJUcmVlQXNUZXh0KGNvbnN0IENwcEFyZ3VtZW50TGlz
dCYgYXJncywgQ3BwVmFyaWEKICAgICByZXN1bHQtPnNldChtX3NoZWxsLT53ZWJWaWV3KCktPm1h
aW5GcmFtZSgpLT5sYXllclRyZWVBc1RleHQobV9zaG93RGVidWdMYXllclRyZWUpLnV0ZjgoKSk7
CiB9CiAKK3ZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6OnNjcm9sbGluZ1RyZWVBc1RleHQoY29u
c3QgQ3BwQXJndW1lbnRMaXN0JiBhcmdzLCBDcHBWYXJpYW50KiByZXN1bHQpCit7CisgICAgcmVz
dWx0LT5zZXQobV9zaGVsbC0+d2ViVmlldygpLT5tYWluRnJhbWUoKS0+c2Nyb2xsaW5nVHJlZUFz
VGV4dCgpLnV0ZjgoKSk7Cit9CisKIHZvaWQgTGF5b3V0VGVzdENvbnRyb2xsZXI6Omxvc2VDb21w
b3NpdG9yQ29udGV4dChjb25zdCBDcHBBcmd1bWVudExpc3QmIGFyZ3MsIENwcFZhcmlhbnQqKQog
ewogICAgIGludCBudW1UaW1lczsKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2No
cm9taXVtL0xheW91dFRlc3RDb250cm9sbGVyLmggYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9jaHJv
bWl1bS9MYXlvdXRUZXN0Q29udHJvbGxlci5oCmluZGV4IDVhODcyOTM4ODg3YTJiMjExNjEwYjhj
NmM2NTFiZTFiNmVhOWE1NWIuLjg3ZTA4NDM2NTk5OTlhYTlmNTExMjVkZGFhZTg5YWU0Y2VlMTc1
NjEgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2Nocm9taXVtL0xheW91dFRlc3RD
b250cm9sbGVyLmgKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvY2hyb21pdW0vTGF5b3V0VGVz
dENvbnRyb2xsZXIuaApAQCAtMzc5LDYgKzM3OSw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHN0YXJ0
U3BlZWNoSW5wdXQoY29uc3QgQ3BwQXJndW1lbnRMaXN0JiwgQ3BwVmFyaWFudCopOwogCiAgICAg
dm9pZCBsYXllclRyZWVBc1RleHQoY29uc3QgQ3BwQXJndW1lbnRMaXN0JiBhcmdzLCBDcHBWYXJp
YW50KiByZXN1bHQpOworICAgIHZvaWQgc2Nyb2xsaW5nVHJlZUFzVGV4dChjb25zdCBDcHBBcmd1
bWVudExpc3QmIGFyZ3MsIENwcFZhcmlhbnQqIHJlc3VsdCk7CiAKICAgICB2b2lkIGxvc2VDb21w
b3NpdG9yQ29udGV4dChjb25zdCBDcHBBcmd1bWVudExpc3QmIGFyZ3MsIENwcFZhcmlhbnQqIHJl
c3VsdCk7CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3Rz
L0NoYW5nZUxvZwppbmRleCA0ZWVjMjJiMjU3Njg1NGU3ODcwOTAzNGUyOWUxY2VmMWVhOWU4OWIz
Li5kYzU3ZTQ3MjEzN2E5YmNhMWUzZDEzYjhkMjAyZmQ5ZGEyZmRlMmNhIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTcgQEAKKzIwMTItMDYtMTggIFNhbWkgS3lvc3RpbGEgIDxza3lvc3RpbEBjaHJvbWl1bS5v
cmc+CisKKyAgICAgICAgUmVuZGVyVmlldyBsYXllciBpcyBtYXJrZWQgYXMgZml4ZWQgcG9zaXRp
b24gY29udGFpbmVyIGluIHRoZSBzY3JvbGxpbmcgdHJlZSBpZiBwYWdlIHNjYWxlICE9IDEKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTg5MjE2CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkZWQgdGVzdCB0
byB2ZXJpZnkgdGhhdCB0aGUgcmVuZGVyIHZpZXcgbGF5ZXIgZG9lc24ndCBiZWNvbWUgYSBmaXhl
ZAorICAgICAgICBwb3NpdGlvbiBjb250YWluZXIgd2hlbiB0aGUgcGFnZSBpcyBzY2FsZWQuCisK
KyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9jb21wb3NpdGluZy9maXhlZC1wb3NpdGlvbi1j
b250YWluZXItd2l0aC1wYWdlLXNjYWxlLWV4cGVjdGVkLnBuZzogQWRkZWQuCisgICAgICAgICog
cGxhdGZvcm0vY2hyb21pdW0vY29tcG9zaXRpbmcvZml4ZWQtcG9zaXRpb24tY29udGFpbmVyLXdp
dGgtcGFnZS1zY2FsZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL2No
cm9taXVtL2NvbXBvc2l0aW5nL2ZpeGVkLXBvc2l0aW9uLWNvbnRhaW5lci13aXRoLXBhZ2Utc2Nh
bGUuaHRtbDogQWRkZWQuCisKIDIwMTItMDYtMTkgIFRhaWp1IFRzdWlraSAgPHR6aWtAY2hyb21p
dW0ub3JnPgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IEZpbGVTeXN0ZW0gdHJlZSBzaG91bGQg
aGlkZSB1bmluaXRpYWxpemVkIEZpbGVTeXN0ZW0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3Bs
YXRmb3JtL2Nocm9taXVtL2NvbXBvc2l0aW5nL2ZpeGVkLXBvc2l0aW9uLWNvbnRhaW5lci13aXRo
LXBhZ2Utc2NhbGUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0v
Y29tcG9zaXRpbmcvZml4ZWQtcG9zaXRpb24tY29udGFpbmVyLXdpdGgtcGFnZS1zY2FsZS1leHBl
Y3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZWE3MjZjMWU4MTUxNGYxMmE2ZmRhZTA5MmQ4NjZlODQ4ZDEx
MDA4YgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2Nv
bXBvc2l0aW5nL2ZpeGVkLXBvc2l0aW9uLWNvbnRhaW5lci13aXRoLXBhZ2Utc2NhbGUtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsNDUgQEAKK0dyYXBoaWNzTGF5ZXIKKyAgICBzY3JvbGxhYmxlOiBu
bworICAgIHNob3VsZFNjcm9sbE9uTWFpblRocmVhZDogbm8KKyAgICBoYXZlV2hlZWxFdmVudEhh
bmRsZXJzOiBubworICAgIGlzQ29udGFpbmVyRm9yRml4ZWRQb3NpdGlvbkxheWVyczogbm8KKyAg
ICBmaXhlZFRvQ29udGFpbmVyTGF5ZXI6IG5vCisgIEdyYXBoaWNzTGF5ZXIKKyAgICAgIHNjcm9s
bGFibGU6IG5vCisgICAgICBzaG91bGRTY3JvbGxPbk1haW5UaHJlYWQ6IG5vCisgICAgICBoYXZl
V2hlZWxFdmVudEhhbmRsZXJzOiBubworICAgICAgaXNDb250YWluZXJGb3JGaXhlZFBvc2l0aW9u
TGF5ZXJzOiBubworICAgICAgZml4ZWRUb0NvbnRhaW5lckxheWVyOiBubworICAgIEdyYXBoaWNz
TGF5ZXIKKyAgICAgICAgc2Nyb2xsYWJsZTogeWVzCisgICAgICAgIHNjcm9sbFBvc2l0aW9uOiAw
LCAwCisgICAgICAgIG1heFNjcm9sbFBvc2l0aW9uOiAwLCAwCisgICAgICAgIHNob3VsZFNjcm9s
bE9uTWFpblRocmVhZDogbm8KKyAgICAgICAgaGF2ZVdoZWVsRXZlbnRIYW5kbGVyczogbm8KKyAg
ICAgICAgaXNDb250YWluZXJGb3JGaXhlZFBvc2l0aW9uTGF5ZXJzOiB5ZXMKKyAgICAgICAgZml4
ZWRUb0NvbnRhaW5lckxheWVyOiBubworICAgICAgR3JhcGhpY3NMYXllcgorICAgICAgICAgIHNj
cm9sbGFibGU6IG5vCisgICAgICAgICAgc2hvdWxkU2Nyb2xsT25NYWluVGhyZWFkOiBubworICAg
ICAgICAgIGhhdmVXaGVlbEV2ZW50SGFuZGxlcnM6IG5vCisgICAgICAgICAgaXNDb250YWluZXJG
b3JGaXhlZFBvc2l0aW9uTGF5ZXJzOiBubworICAgICAgICAgIGZpeGVkVG9Db250YWluZXJMYXll
cjogbm8KKyAgICAgIEdyYXBoaWNzTGF5ZXIKKyAgICAgICAgICBzY3JvbGxhYmxlOiBubworICAg
ICAgICAgIHNob3VsZFNjcm9sbE9uTWFpblRocmVhZDogbm8KKyAgICAgICAgICBoYXZlV2hlZWxF
dmVudEhhbmRsZXJzOiBubworICAgICAgICAgIGlzQ29udGFpbmVyRm9yRml4ZWRQb3NpdGlvbkxh
eWVyczogbm8KKyAgICAgICAgICBmaXhlZFRvQ29udGFpbmVyTGF5ZXI6IG5vCisgICAgICAgIEdy
YXBoaWNzTGF5ZXIKKyAgICAgICAgICAgIHNjcm9sbGFibGU6IG5vCisgICAgICAgICAgICBzaG91
bGRTY3JvbGxPbk1haW5UaHJlYWQ6IG5vCisgICAgICAgICAgICBoYXZlV2hlZWxFdmVudEhhbmRs
ZXJzOiBubworICAgICAgICAgICAgaXNDb250YWluZXJGb3JGaXhlZFBvc2l0aW9uTGF5ZXJzOiBu
bworICAgICAgICAgICAgZml4ZWRUb0NvbnRhaW5lckxheWVyOiBubworICAgICAgICAgIEdyYXBo
aWNzTGF5ZXIKKyAgICAgICAgICAgICAgc2Nyb2xsYWJsZTogbm8KKyAgICAgICAgICAgICAgc2hv
dWxkU2Nyb2xsT25NYWluVGhyZWFkOiBubworICAgICAgICAgICAgICBoYXZlV2hlZWxFdmVudEhh
bmRsZXJzOiBubworICAgICAgICAgICAgICBpc0NvbnRhaW5lckZvckZpeGVkUG9zaXRpb25MYXll
cnM6IHllcworICAgICAgICAgICAgICBmaXhlZFRvQ29udGFpbmVyTGF5ZXI6IG5vCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL2NvbXBvc2l0aW5nL2ZpeGVkLXBv
c2l0aW9uLWNvbnRhaW5lci13aXRoLXBhZ2Utc2NhbGUuaHRtbCBiL0xheW91dFRlc3RzL3BsYXRm
b3JtL2Nocm9taXVtL2NvbXBvc2l0aW5nL2ZpeGVkLXBvc2l0aW9uLWNvbnRhaW5lci13aXRoLXBh
Z2Utc2NhbGUuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xYzhmMDg0YThjZTZlZjk4YTQ4MGIwYTEwYzI3MDkw
MmYxMzZmOTUyCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21p
dW0vY29tcG9zaXRpbmcvZml4ZWQtcG9zaXRpb24tY29udGFpbmVyLXdpdGgtcGFnZS1zY2FsZS5o
dG1sCkBAIC0wLDAgKzEsMzUgQEAKKzwhRE9DVFlQRSBodG1sPgorPGh0bWw+CisKKzwhLS0KK1Nl
dHRpbmcgYSBub24taWRlbnRpdHkgcGFnZSBzY2FsZSBzaG91bGQgbm90IG1hcmsgdGhlIHJlbmRl
ciB2aWV3IGxheWVyIGFzIGEKK2NvbnRhaW5lciBmb3IgZml4ZWQgcG9zaXRpb24gbGF5ZXJzLgor
CitodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODkyMTYKKy0tPgorPGhl
YWQ+CisgIDxzdHlsZT4KKyAgICAudHJpZ2dlckNvbXBvc2l0aW9uIHsKKyAgICAgIC13ZWJraXQt
dHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApOworICAgIH0KKyAgPC9zdHlsZT4KKworICA8c2NyaXB0
PgorICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKCdsb2FkJywgZnVuY3Rpb24oKSB7CisgICAg
ICBpZiAod2luZG93LmludGVybmFscykKKyAgICAgICAgd2luZG93LmludGVybmFscy5zZXR0aW5n
cy5zZXRQYWdlU2NhbGVGYWN0b3IoMC41LCAwLCAwKTsKKyAgICAgIGlmICh3aW5kb3cudGVzdFJ1
bm5lcikgeworICAgICAgICB0ZXN0UnVubmVyLmR1bXBBc1RleHQoKTsKKyAgICAgICAgdGVzdFJ1
bm5lci5kaXNwbGF5KCk7CisgICAgICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzY3JvbGxp
bmdUcmVlIikuaW5uZXJUZXh0ID0gd2luZG93LnRlc3RSdW5uZXIuc2Nyb2xsaW5nVHJlZUFzVGV4
dCgpOworICAgICAgfQorICAgIH0pOworICA8L3NjcmlwdD4KKzwvaGVhZD4KKworPGJvZHk+Cisg
IDxkaXYgY2xhc3M9InRyaWdnZXJDb21wb3NpdGlvbiI+PC9kaXY+CisgIDxwcmUgaWQ9InNjcm9s
bGluZ1RyZWUiPjwvcHJlPgorPC9ib2R5PgorCis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>148580</attachid>
            <date>2012-06-20 09:04:55 -0700</date>
            <delta_ts>2012-07-11 10:17:13 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-89216-20120620170454.patch</filename>
            <type>text/plain</type>
            <size>2637</size>
            <attacher name="Sami Kyöstilä">skyostil</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIwNzAzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODJjYWQwZTVmNGE1MDVj
MWMwZDYzNzc4NGVkOTA3MjUxMzIxMjU5NC4uYjY3MDAzNzk2MTc0ZjEyNWI4OGVmNGE0ZjEyMTNk
NzJiZWY3MjExYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDEyLTA2LTIwICBTYW1p
IEt5b3N0aWxhICA8c2t5b3N0aWxAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJlbmRlclZpZXcg
bGF5ZXIgaXMgbWFya2VkIGFzIGZpeGVkIHBvc2l0aW9uIGNvbnRhaW5lciBpbiB0aGUgc2Nyb2xs
aW5nIHRyZWUgaWYgcGFnZSBzY2FsZSAhPSAxCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD04OTIxNgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFJlbmRlciBsYXllcnMgd2l0aCBDU1MgdHJhbnNmb3JtcyBzaG91
bGQgYmVjb21lIGNvbnRhaW5lcnMgZm9yIGFueWZpeGVkCisgICAgICAgIHBvc2l0aW9uZWQgZGVz
Y2VuZGFudHMuIEhvd2V2ZXIsIGJlY2F1c2UgdGhpcyBjaGVjayBpcyBkb25lIHdpdGgKKyAgICAg
ICAgUmVuZGVyTGF5ZXI6Omhhc1RyYW5zZm9ybSgpLCB3ZSBhbHNvIGVuZCB1cCBtYXJraW5nIHRo
ZSBSZW5kZXJMYXllciBmb3IgdGhlCisgICAgICAgIFJlbmRlclZpZXcgYXMgZml4ZWQgcG9zaXRp
b24gY29udGFpbmVyIGlmIGEgbm9uLWlkZW50aXR5IHBhZ2Ugc2NhbGUgZmFjdG9yIGlzCisgICAg
ICAgIHVzZWQuIFRoaXMgaXMgYmVjYXVzZSBwYWdlIHNjYWxlIGlzIGFwcGxpZWQgYXMgYSB0cmFu
c2Zvcm0gZm9yIHRoYXQgbGF5ZXIuCisKKyAgICAgICAgVGhpcyBicmVha3MgZml4ZWQgcG9zaXRp
b24gbGF5ZXJzLCBiZWNhdXNlIHRoZXkgYmVjb21lIGZpeGVkIHJlbGF0aXZlIHRvIHRoZQorICAg
ICAgICBSZW5kZXJWaWV3IGxheWVyIGluc3RlYWQgb2Ygb3V0ZXIgc2Nyb2xsIGNsaXAgbGF5ZXIu
CisKKyAgICAgICAgVGhlIGZpeCBpcyB0byBhdm9pZCBtYXJraW5nIGFueSBSZW5kZXJWaWV3IGxh
eWVycyBhcyBmaXhlZCBwb3NpdGlvbiBjb250YWluZXJzLgorCisgICAgICAgIE5vIG5ldyB0ZXN0
IGJlY2F1c2UgdGhlIHNjcm9sbGluZyB0cmVlIGlzbid0IGN1cnJlbnRseSB0ZXN0YWJsZS4KKwor
ICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyTGF5ZXJCYWNraW5nOjp1cGRhdGVHcmFwaGljc0xheWVyR2VvbWV0cnkpOgor
CiAyMDEyLTA2LTE5ICBUYWlqdSBUc3Vpa2kgIDx0emlrQGNocm9taXVtLm9yZz4KIAogICAgICAg
ICBXZWIgSW5zcGVjdG9yOiBGaWxlU3lzdGVtIHRyZWUgc2hvdWxkIGhpZGUgdW5pbml0aWFsaXpl
ZCBGaWxlU3lzdGVtCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
TGF5ZXJCYWNraW5nLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckJh
Y2tpbmcuY3BwCmluZGV4IGUyZDc3NTdmNWE1MjFmNTdiM2RlZDEyMTBmY2Q5NTljZDJlZWUxMGUu
LmY2ODVkMGExNTUwZGNkZmUwOWNhYTJmN2RkMDNhYTZlYjg0N2RhMjAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcuY3BwCkBAIC00NDksNyArNDQ5
LDEwIEBAIHZvaWQgUmVuZGVyTGF5ZXJCYWNraW5nOjp1cGRhdGVHcmFwaGljc0xheWVyR2VvbWV0
cnkoKQogICAgICAgICAgICAgICAgICAgICBzY3JvbGxpbmdDb29yZGluYXRvci0+c2V0TGF5ZXJJ
c0ZpeGVkVG9Db250YWluZXJMYXllcihtX2FuY2VzdG9yQ2xpcHBpbmdMYXllci5nZXQoKSwgZmFs
c2UpOwogICAgICAgICAgICAgICAgIHNjcm9sbGluZ0Nvb3JkaW5hdG9yLT5zZXRMYXllcklzRml4
ZWRUb0NvbnRhaW5lckxheWVyKG1fZ3JhcGhpY3NMYXllci5nZXQoKSwgZmFsc2UpOwogICAgICAg
ICAgICAgfQotICAgICAgICAgICAgYm9vbCBpc0NvbnRhaW5lciA9IG1fb3duaW5nTGF5ZXItPmhh
c1RyYW5zZm9ybSgpOworICAgICAgICAgICAgLy8gUGFnZSBzY2FsZSBpcyBhcHBsaWVkIGFzIGEg
dHJhbnNmb3JtIG9uIHRoZSByZW5kZXIgdmlldyBsYXllci4gQmVjYXVzZSB0aGUgc2Nyb2xsCisg
ICAgICAgICAgICAvLyBsYXllciBpcyBmdXJ0aGVyIHVwIGluIHRoZSBoaWVyYXJjaHksIHdlIG5l
ZWQgdG8gYXZvaWQgbWFya2luZyB0aGUgcmVuZGVyIHZpZXcKKyAgICAgICAgICAgIC8vIGxheWVy
IGFzIGEgY29udGFpbmVyLgorICAgICAgICAgICAgYm9vbCBpc0NvbnRhaW5lciA9IG1fb3duaW5n
TGF5ZXItPmhhc1RyYW5zZm9ybSgpICYmICFyZW5kZXJlcigpLT5pc1JlbmRlclZpZXcoKTsKICAg
ICAgICAgICAgIHNjcm9sbGluZ0Nvb3JkaW5hdG9yLT5zZXRMYXllcklzQ29udGFpbmVyRm9yRml4
ZWRQb3NpdGlvbkxheWVycyhjaGlsZEZvclN1cGVybGF5ZXJzKCksIGlzQ29udGFpbmVyKTsKICAg
ICAgICAgfQogICAgIH0K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>151727</attachid>
            <date>2012-07-11 10:17:20 -0700</date>
            <delta_ts>2012-07-11 11:00:46 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-89216-20120711181719.patch</filename>
            <type>text/plain</type>
            <size>2666</size>
            <attacher name="Sami Kyöstilä">skyostil</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTIyMzM1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDEzYWRlNTk0OTg1MmVl
NDk5YTFjMDdjOThiZTZjNTZjODJhNGU1Yy4uNTY4N2MxMzdiOWY2ZjVjYzY0ZjEyZDI3YjI3NTQx
OWZlMDE1NzYxYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDEyLTA2LTIwICBTYW1p
IEt5b3N0aWxhICA8c2t5b3N0aWxAY2hyb21pdW0ub3JnPgorCisgICAgICAgIFJlbmRlclZpZXcg
bGF5ZXIgaXMgbWFya2VkIGFzIGZpeGVkIHBvc2l0aW9uIGNvbnRhaW5lciBpbiB0aGUgc2Nyb2xs
aW5nIHRyZWUgaWYgcGFnZSBzY2FsZSAhPSAxCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD04OTIxNgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIFJlbmRlciBsYXllcnMgd2l0aCBDU1MgdHJhbnNmb3JtcyBzaG91
bGQgYmVjb21lIGNvbnRhaW5lcnMgZm9yIGFueSBmaXhlZAorICAgICAgICBwb3NpdGlvbmVkIGRl
c2NlbmRhbnRzLiBIb3dldmVyLCBiZWNhdXNlIHRoaXMgY2hlY2sgaXMgZG9uZSB3aXRoCisgICAg
ICAgIFJlbmRlckxheWVyOjpoYXNUcmFuc2Zvcm0oKSwgd2UgYWxzbyBlbmQgdXAgbWFya2luZyB0
aGUgUmVuZGVyTGF5ZXIgZm9yIHRoZQorICAgICAgICBSZW5kZXJWaWV3IGFzIGZpeGVkIHBvc2l0
aW9uIGNvbnRhaW5lciBpZiBhIG5vbi1pZGVudGl0eSBwYWdlIHNjYWxlIGZhY3RvciBpcworICAg
ICAgICB1c2VkLiBUaGlzIGlzIGJlY2F1c2UgcGFnZSBzY2FsZSBpcyBhcHBsaWVkIGFzIGEgdHJh
bnNmb3JtIGZvciB0aGF0IGxheWVyLgorCisgICAgICAgIFRoaXMgYnJlYWtzIGZpeGVkIHBvc2l0
aW9uIGxheWVycywgYmVjYXVzZSB0aGV5IGJlY29tZSBmaXhlZCByZWxhdGl2ZSB0byB0aGUKKyAg
ICAgICAgUmVuZGVyVmlldyBsYXllciBpbnN0ZWFkIG9mIG91dGVyIHNjcm9sbCBjbGlwIGxheWVy
LgorCisgICAgICAgIFRoZSBmaXggaXMgdG8gYXZvaWQgbWFya2luZyBhbnkgcm9vdCBsYXllcnMg
YXMgZml4ZWQgcG9zaXRpb24gY29udGFpbmVycy4KKworICAgICAgICBObyBuZXcgdGVzdCBiZWNh
dXNlIHRoZSBzY3JvbGxpbmcgdHJlZSBpc24ndCBjdXJyZW50bHkgdGVzdGFibGUuCisKKyAgICAg
ICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXJCYWNraW5nLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlckxheWVyQmFja2luZzo6dXBkYXRlR3JhcGhpY3NMYXllckdlb21ldHJ5KToKKwogMjAx
Mi0wNy0xMSAgSm9zaHVhIE5ldHRlcmZpZWxkICA8am5ldHRlcmZpZWxkQHJpbS5jb20+CiAKICAg
ICAgICAgW1F0XSBSRUdSRVNTSU9OKHIxMjIyNTApOiBJdCBicm9rZSBVU0UoM0RfR1JBUEhJQ1Mp
PTEgYW5kIEVOQUJMRShXRUJHTCk9MCBidWlsZHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJMYXllckJhY2tpbmcuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckxheWVyQmFja2luZy5jcHAKaW5kZXggZWUwYTQ0MmY3NGRlYzA5NzkzNzgzZmJm
NmFkMGNmMDU2ODUwZjhkMy4uMWQ1Y2JkODZiMDBlNmEwYzBjM2RjOTU1ZDRlNTE1MDliMzM5NmNm
YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2lu
Zy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQmFja2luZy5j
cHAKQEAgLTQ3MSw3ICs0NzEsMTAgQEAgdm9pZCBSZW5kZXJMYXllckJhY2tpbmc6OnVwZGF0ZUdy
YXBoaWNzTGF5ZXJHZW9tZXRyeSgpCiAgICAgICAgICAgICAgICAgICAgIHNjcm9sbGluZ0Nvb3Jk
aW5hdG9yLT5zZXRMYXllcklzRml4ZWRUb0NvbnRhaW5lckxheWVyKG1fYW5jZXN0b3JDbGlwcGlu
Z0xheWVyLmdldCgpLCBmYWxzZSk7CiAgICAgICAgICAgICAgICAgc2Nyb2xsaW5nQ29vcmRpbmF0
b3ItPnNldExheWVySXNGaXhlZFRvQ29udGFpbmVyTGF5ZXIobV9ncmFwaGljc0xheWVyLmdldCgp
LCBmYWxzZSk7CiAgICAgICAgICAgICB9Ci0gICAgICAgICAgICBib29sIGlzQ29udGFpbmVyID0g
bV9vd25pbmdMYXllci0+aGFzVHJhbnNmb3JtKCk7CisgICAgICAgICAgICAvLyBQYWdlIHNjYWxl
IGlzIGFwcGxpZWQgYXMgYSB0cmFuc2Zvcm0gb24gdGhlIHJvb3QgcmVuZGVyIHZpZXcgbGF5ZXIu
IEJlY2F1c2UgdGhlIHNjcm9sbAorICAgICAgICAgICAgLy8gbGF5ZXIgaXMgZnVydGhlciB1cCBp
biB0aGUgaGllcmFyY2h5LCB3ZSBuZWVkIHRvIGF2b2lkIG1hcmtpbmcgdGhlIHJvb3QgcmVuZGVy
IHZpZXcKKyAgICAgICAgICAgIC8vIGxheWVyIGFzIGEgY29udGFpbmVyLgorICAgICAgICAgICAg
Ym9vbCBpc0NvbnRhaW5lciA9IG1fb3duaW5nTGF5ZXItPmhhc1RyYW5zZm9ybSgpICYmICFtX293
bmluZ0xheWVyLT5pc1Jvb3RMYXllcigpOwogICAgICAgICAgICAgc2Nyb2xsaW5nQ29vcmRpbmF0
b3ItPnNldExheWVySXNDb250YWluZXJGb3JGaXhlZFBvc2l0aW9uTGF5ZXJzKGNoaWxkRm9yU3Vw
ZXJsYXllcnMoKSwgaXNDb250YWluZXIpOwogICAgICAgICB9CiAgICAgfQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>