<div dir="ltr"><div class="markdown-here-wrapper" style=""><p style="margin:1.2em 0px!important">On Mon, Oct 17, 2016 at 11:42 AM James <a href="http://mailto:bjlockie@lockie.ca">bjlockie@lockie.ca</a> wrote:</p>
<p style="margin:1.2em 0px!important"></p><div class="markdown-here-exclude"><p></p><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
  
    
  
  <div bgcolor="#FFFFFF" text="#000000" class="gmail_msg">
    <p class="gmail_msg">Is it possible to skip all the tests within a class without
      having to pass &quot;a&quot; into all the functions?<br class="gmail_msg"></p></div></blockquote><p></p></div><p style="margin:1.2em 0px!important"></p>
<p style="margin:1.2em 0px!important">You can use the <code style="font-size:0.85em;font-family:Consolas,Inconsolata,Courier,monospace;margin:0px 0.15em;padding:0px 0.3em;white-space:pre-wrap;border:1px solid rgb(234,234,234);background-color:rgb(248,248,248);border-radius:3px;display:inline">usefixtures</code> marker on the class:</p>
<pre style="font-size:0.85em;font-family:Consolas,Inconsolata,Courier,monospace;font-size:1em;line-height:1.2em;margin:1.2em 0px"><code class="hljs language-python" style="font-size:0.85em;font-family:Consolas,Inconsolata,Courier,monospace;margin:0px 0.15em;padding:0px 0.3em;white-space:pre-wrap;border:1px solid rgb(234,234,234);background-color:rgb(248,248,248);border-radius:3px;display:inline;white-space:pre;overflow:auto;border-radius:3px;border:1px solid rgb(204,204,204);padding:0.5em 0.7em;display:block!important;display:block;overflow-x:auto;padding:0.5em;background:rgb(35,36,31);color:rgb(248,248,242)"><span class="hljs-decorator" style="color:rgb(117,113,94)">@pytest.mark.usefixtures(&#39;a&#39;)</span>
<span class="hljs-class"><span class="hljs-keyword" style="color:rgb(249,38,114);color:rgb(102,217,239)">class</span> <span class="hljs-title" style="color:rgb(166,226,46);font-style:italic;color:rgb(248,248,242)">Test</span>:</span>
    <span class="hljs-function" style="color:rgb(249,38,114)"><span class="hljs-keyword" style="color:rgb(249,38,114);color:rgb(102,217,239)">def</span> <span class="hljs-title" style="color:rgb(166,226,46)">test_foo</span><span class="hljs-params" style="color:rgb(248,248,242)">(self)</span>:</span>
        <span class="hljs-keyword" style="color:rgb(249,38,114)">pass</span>
</code></pre>
<p style="margin:1.2em 0px!important">Cheers,<br>Bruno.</p>
<p style="margin:1.2em 0px!important"></p><div class="markdown-here-exclude"><p></p><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div bgcolor="#FFFFFF" text="#000000" class="gmail_msg">
    <div class="m_-4340959692939241711moz-cite-prefix gmail_msg">On 2016-10-16 12:56 AM, Bruno Oliveira
      wrote:<br class="gmail_msg">
    </div>
    <blockquote type="cite" class="gmail_msg">
      <div dir="ltr" class="gmail_msg">
        <div class="m_-4340959692939241711markdown-here-wrapper gmail_msg">
          <p style="margin:1.2em 0px!important" class="gmail_msg">Hi James,</p>
          <p style="margin:1.2em 0px!important" class="gmail_msg">What error do you get?
            From your example it is missing a <code style="font-size:0.85em;font-family:Consolas,Inconsolata,Courier,monospace;margin:0px 0.15em;padding:0px 0.3em;white-space:pre-wrap;border:1px solid rgb(234,234,234);background-color:rgb(248,248,248);border-radius:3px;display:inline" class="gmail_msg">self</code>
            argument, otherwise it should work just fine.</p>
          <p style="margin:1.2em 0px!important" class="gmail_msg">Cheers,<br class="gmail_msg">
            Bruno.</p>
          <div title="MDH:SGkgSmFtZXMsPGRpdj48YnI+PC9kaXY+PGRpdj5XaGF0IGVycm9yIGRvIHlvdSBnZXQ/IEZyb20geW91ciBleGFtcGxlIGl0IGlzIG1pc3NpbmcgYSBgc2VsZmAgYXJndW1lbnQsIG90aGVyd2lzZSBp
dCBzaG91bGQgd29yayBqdXN0IGZpbmUuPC9kaXY+PGRpdj48YnI+PC9kaXY+PGRpdj5DaGVlcnMs
            PC9kaXY+PGRpdj5CcnVuby48L2Rpdj4=" style="height:0;width:0;max-height:0;max-width:0;overflow:hidden;font-size:0em;padding:0;margin:0" class="gmail_msg">​</div>
        </div>
      </div>
      <br class="gmail_msg">
      <div class="gmail_quote gmail_msg">
        <div dir="ltr" class="gmail_msg">On Sat, Oct 15, 2016 at 11:03 AM James &lt;<a href="mailto:bjlockie@lockie.ca" class="gmail_msg" target="_blank">bjlockie@lockie.ca</a>&gt;
          wrote:<br class="gmail_msg">
        </div>
        <blockquote class="gmail_quote gmail_msg" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
          <div bgcolor="#FFFFFF" text="#000000" class="gmail_msg">
            <p class="gmail_msg">I tried to make it work with a class:<br class="gmail_msg">
            </p>
            <p class="gmail_msg">import pytest<br class="gmail_msg">
              <br class="gmail_msg">
              # testscript.py<br class="gmail_msg">
              class TestAclasss:</p>
          </div>
          <div bgcolor="#FFFFFF" text="#000000" class="gmail_msg">
            <p class="gmail_msg"><br class="gmail_msg">
                  def test_foo(a):<br class="gmail_msg">
                      assert a == &#39;1&#39;<br class="gmail_msg">
            </p>
          </div>
          <div bgcolor="#FFFFFF" text="#000000" class="gmail_msg"> Do I
            need to do something in the __init__ function?</div>
          <div bgcolor="#FFFFFF" text="#000000" class="gmail_msg"><br class="gmail_msg">
            <br class="gmail_msg">
            <br class="gmail_msg">
            <br class="gmail_msg">
            <div class="m_-4340959692939241711m_-3825917875471976212moz-cite-prefix gmail_msg">On
              2016-10-14 02:50 PM, Bruno Oliveira wrote:<br class="gmail_msg">
            </div>
          </div>
          <div bgcolor="#FFFFFF" text="#000000" class="gmail_msg">
            <blockquote type="cite" class="gmail_msg">
              <div dir="ltr" class="gmail_msg">
                <div dir="ltr" class="gmail_msg">
                  <div class="m_-4340959692939241711m_-3825917875471976212markdown-here-wrapper gmail_msg">
                    <p style="margin:1.2em 0px!important" class="gmail_msg">Hi James,</p>
                    <p style="margin:1.2em 0px!important" class="gmail_msg">Thanks for posting the complete
                      example.</p>
                    <p style="margin:1.2em 0px!important" class="gmail_msg">There are some problems here,
                      both general Python problems and some related to
                      how you are using pytest:</p>
                    <ol style="margin:1.2em 0px;padding-left:2em" class="gmail_msg">
                      <li style="margin:0.5em 0px" class="gmail_msg"><code style="font-size:0.85em;font-family:Consolas,Inconsolata,Courier,monospace;margin:0px 0.15em;padding:0px 0.3em;white-space:pre-wrap;border:1px solid rgb(234,234,234);background-color:rgb(248,248,248);border-radius:3px;display:inline" class="gmail_msg">testscript.py</code>
                        has no access to the <code style="font-size:0.85em;font-family:Consolas,Inconsolata,Courier,monospace;margin:0px 0.15em;padding:0px 0.3em;white-space:pre-wrap;border:1px solid rgb(234,234,234);background-color:rgb(248,248,248);border-radius:3px;display:inline" class="gmail_msg">A</code>
                        function because it doesn’t import it. </li>
                      <li style="margin:0.5em 0px" class="gmail_msg">You
                        probably want to declare your fixture in a <code style="font-size:0.85em;font-family:Consolas,Inconsolata,Courier,monospace;margin:0px 0.15em;padding:0px 0.3em;white-space:pre-wrap;border:1px solid rgb(234,234,234);background-color:rgb(248,248,248);border-radius:3px;display:inline" class="gmail_msg">conftest.py</code>
                        file so pytest can make it available for all
                        tests in your test suite.</li>
                      <li style="margin:0.5em 0px" class="gmail_msg">You
                        have to first declare your option using the <code style="font-size:0.85em;font-family:Consolas,Inconsolata,Courier,monospace;margin:0px 0.15em;padding:0px 0.3em;white-space:pre-wrap;border:1px solid rgb(234,234,234);background-color:rgb(248,248,248);border-radius:3px;display:inline" class="gmail_msg">pytest_addoption</code>
                        hook.</li>
                      <li style="margin:0.5em 0px" class="gmail_msg">Since
                        you intend to provide the value passed in the
                        command line to the tests using a fixture, it is
                        simpler to skip the test in the fixture itself.</li>
                    </ol>
                    <p style="margin:1.2em 0px!important" class="gmail_msg">Here’s the full example with my
                      suggestions:</p>
                    <pre style="font-size:0.85em;font-family:Consolas,Inconsolata,Courier,monospace;font-size:1em;line-height:1.2em;margin:1.2em 0px" class="gmail_msg"><code class="m_-4340959692939241711m_-3825917875471976212hljs m_-4340959692939241711m_-3825917875471976212language-python gmail_msg" style="font-size:0.85em;font-family:Consolas,Inconsolata,Courier,monospace;margin:0px 0.15em;padding:0px 0.3em;white-space:pre-wrap;border:1px solid rgb(234,234,234);background-color:rgb(248,248,248);border-radius:3px;display:inline;white-space:pre-wrap;overflow:auto;border-radius:3px;border:1px solid rgb(204,204,204);padding:0.5em 0.7em;display:block!important;display:block;overflow-x:auto;padding:0.5em;background:rgb(35,36,31);color:rgb(248,248,242)"><span class="m_-4340959692939241711m_-3825917875471976212hljs-comment gmail_msg" style="color:rgb(117,113,94)"># conftest.py</span>
<span class="m_-4340959692939241711m_-3825917875471976212hljs-keyword gmail_msg" style="color:rgb(249,38,114)">import</span> pytest

<span class="m_-4340959692939241711m_-3825917875471976212hljs-decorator gmail_msg" style="color:rgb(117,113,94)">@pytest.fixture(scope=&#39;module&#39;)</span>
<span class="m_-4340959692939241711m_-3825917875471976212hljs-function gmail_msg" style="color:rgb(249,38,114)"><span class="m_-4340959692939241711m_-3825917875471976212hljs-keyword gmail_msg" style="color:rgb(249,38,114);color:rgb(102,217,239)">def</span> <span class="m_-4340959692939241711m_-3825917875471976212hljs-title gmail_msg" style="color:rgb(166,226,46)">a</span><span class="m_-4340959692939241711m_-3825917875471976212hljs-params gmail_msg" style="color:rgb(248,248,242)">(request)</span>:</span>
    value = request.config.getoption(<span class="m_-4340959692939241711m_-3825917875471976212hljs-string gmail_msg" style="color:rgb(230,219,116)">&quot;A&quot;</span>)
    <span class="m_-4340959692939241711m_-3825917875471976212hljs-keyword gmail_msg" style="color:rgb(249,38,114)">if</span> <span class="m_-4340959692939241711m_-3825917875471976212hljs-keyword gmail_msg" style="color:rgb(249,38,114)">not</span> value:
        pytest.skip(<span class="m_-4340959692939241711m_-3825917875471976212hljs-string gmail_msg" style="color:rgb(230,219,116)">&#39;test needs -A option to run&#39;</span>)
    <span class="m_-4340959692939241711m_-3825917875471976212hljs-keyword gmail_msg" style="color:rgb(249,38,114)">return</span> value

<span class="m_-4340959692939241711m_-3825917875471976212hljs-function gmail_msg" style="color:rgb(249,38,114)"><span class="m_-4340959692939241711m_-3825917875471976212hljs-keyword gmail_msg" style="color:rgb(249,38,114);color:rgb(102,217,239)">def</span> <span class="m_-4340959692939241711m_-3825917875471976212hljs-title gmail_msg" style="color:rgb(166,226,46)">pytest_addoption</span><span class="m_-4340959692939241711m_-3825917875471976212hljs-params gmail_msg" style="color:rgb(248,248,242)">(parser)</span>:</span>
    parser.addoption(<span class="m_-4340959692939241711m_-3825917875471976212hljs-string gmail_msg" style="color:rgb(230,219,116)">&quot;--A&quot;</span>, action=<span class="m_-4340959692939241711m_-3825917875471976212hljs-string gmail_msg" style="color:rgb(230,219,116)">&quot;store&quot;</span>, default=<span class="m_-4340959692939241711m_-3825917875471976212hljs-keyword gmail_msg" style="color:rgb(249,38,114)">None</span>, help=<span class="m_-4340959692939241711m_-3825917875471976212hljs-string gmail_msg" style="color:rgb(230,219,116)">&quot;a option&quot;</span>)    

<span class="m_-4340959692939241711m_-3825917875471976212hljs-comment gmail_msg" style="color:rgb(117,113,94)"># testscript.py</span>
<span class="m_-4340959692939241711m_-3825917875471976212hljs-function gmail_msg" style="color:rgb(249,38,114)"><span class="m_-4340959692939241711m_-3825917875471976212hljs-keyword gmail_msg" style="color:rgb(249,38,114);color:rgb(102,217,239)">def</span> <span class="m_-4340959692939241711m_-3825917875471976212hljs-title gmail_msg" style="color:rgb(166,226,46)">test_foo</span><span class="m_-4340959692939241711m_-3825917875471976212hljs-params gmail_msg" style="color:rgb(248,248,242)">(a)</span>:</span>
    <span class="m_-4340959692939241711m_-3825917875471976212hljs-keyword gmail_msg" style="color:rgb(249,38,114)">assert</span> a == <span class="m_-4340959692939241711m_-3825917875471976212hljs-string gmail_msg" style="color:rgb(230,219,116)">&#39;1&#39;</span>
</code></pre>
                    <p style="margin:1.2em 0px!important" class="gmail_msg">Running it:</p>
                    <pre style="font-size:0.85em;font-family:Consolas,Inconsolata,Courier,monospace;font-size:1em;line-height:1.2em;margin:1.2em 0px" class="gmail_msg"><code style="font-size:0.85em;font-family:Consolas,Inconsolata,Courier,monospace;margin:0px 0.15em;padding:0px 0.3em;white-space:pre-wrap;border:1px solid rgb(234,234,234);background-color:rgb(248,248,248);border-radius:3px;display:inline;white-space:pre-wrap;overflow:auto;border-radius:3px;border:1px solid rgb(204,204,204);padding:0.5em 0.7em;display:block!important" class="gmail_msg">$ py.test testscript.py -q
s
1 skipped in 0.01 seconds

$ py.test testscript.py -q --A 1
.
1 passed in 0.01 seconds

$ py.test testscript.py -q --A 2
F
================================== FAILURES ===================================
__________________________________ test_foo ___________________________________

a = &#39;2&#39;

    def test_foo(a):
&gt;       assert a == &#39;1&#39;
E       assert &#39;2&#39; == &#39;1&#39;
E         - 2
E         + 1

testscript.py:6: AssertionError
1 failed in 0.07 seconds
</code></pre>
                    <p style="margin:1.2em 0px!important" class="gmail_msg">Hope that helps,<br class="gmail_msg">
                      Bruno.</p>
                    <div title="MDH:SGkgSmFtZXMsPGRpdiBjbGFzcz0iZ21haWxfbXNnIj48YnI+PC9kaXY+PGRpdiBjbGFzcz0iZ21haWxfbXNnIj5UaGFua3MgZm9yIHBvc3RpbmcgdGhlIGNvbXBsZXRlIGV4YW1wbGUuPGJyPjwvZGl2PjxkaXYgY2xhc3M9ImdtYWlsX21zZyI+PGJyPjwvZGl2PjxkaXYgY2xhc3M9ImdtYWlsX21zZyI+
VGhlcmUgYXJlIHNvbWUgcHJvYmxlbXMgaGVyZSwgYm90aCBnZW5lcmFsIFB5dGhvbiBwcm9ibGVt
cyBhbmQgc29tZSByZWxhdGVkIHRvIGhvdyB5b3UgYXJlIHVzaW5nIHB5dGVzdDo8L2Rpdj48ZGl2
IGNsYXNzPSJnbWFpbF9tc2ciPjxicj48L2Rpdj48ZGl2IGNsYXNzPSJnbWFpbF9tc2ciPjEuIGB0
ZXN0c2NyaXB0LnB5YCBoYXMgbm8gYWNjZXNzIHRvIHRoZSBgQWAgZnVuY3Rpb24gYmVjYXVzZSBp
dCBkb2Vzbid0IGltcG9ydCBpdC4mbmJzcDs8L2Rpdj48ZGl2IGNsYXNzPSJnbWFpbF9tc2ciPjIu
IFlvdSBwcm9iYWJseSB3YW50IHRvIGRlY2xhcmUgeW91ciBmaXh0dXJlIGluIGEgYGNvbmZ0ZXN0
LnB5YCBmaWxlIHNvIHB5dGVzdCBjYW4gbWFrZSBpdCBhdmFpbGFibGUgZm9yIGFsbCB0ZXN0cyBp
biB5b3VyIHRlc3Qgc3VpdGUuPC9kaXY+PGRpdiBjbGFzcz0iZ21haWxfbXNnIj4zLiBZb3UgaGF2
ZSB0byBmaXJzdCBkZWNsYXJlIHlvdXIgb3B0aW9uIHVzaW5nIHRoZSBgcHl0ZXN0X2FkZG9wdGlv
bmAgaG9vay48L2Rpdj48ZGl2IGNsYXNzPSJnbWFpbF9tc2ciPjQuIFNpbmNlIHlvdSBpbnRlbmQg
dG8gcHJvdmlkZSB0aGUgdmFsdWUgcGFzc2VkIGluIHRoZSBjb21tYW5kIGxpbmUgdG8gdGhlIHRl
c3RzIHVzaW5nIGEgZml4dHVyZSwgaXQgaXMgc2ltcGxlciB0byBza2lwIHRoZSB0ZXN0IGluIHRo
ZSBmaXh0dXJlIGl0c2VsZi48L2Rpdj48ZGl2IGNsYXNzPSJnbWFpbF9tc2ciPjxicj48L2Rpdj48
ZGl2IGNsYXNzPSJnbWFpbF9tc2ciPkhlcmUncyB0aGUgZnVsbCBleGFtcGxlIHdpdGggbXkgc3Vn
Z2VzdGlvbnM6PC9kaXY+PGRpdiBjbGFzcz0iZ21haWxfbXNnIj48YnI+PC9kaXY+PGRpdiBjbGFz
cz0iZ21haWxfbXNnIj5gYGBweXRob248L2Rpdj48ZGl2IGNsYXNzPSJnbWFpbF9tc2ciPiMgY29u
ZnRlc3QucHk8L2Rpdj48ZGl2IGNsYXNzPSJnbWFpbF9tc2ciPjxkaXYgY2xhc3M9ImdtYWlsX21z
ZyI+aW1wb3J0IHB5dGVzdDwvZGl2PjxkaXYgY2xhc3M9ImdtYWlsX21zZyI+PGJyPjwvZGl2Pjxk
aXYgY2xhc3M9ImdtYWlsX21zZyI+QHB5dGVzdC5maXh0dXJlKHNjb3BlPSdtb2R1bGUnKTwvZGl2
PjxkaXYgY2xhc3M9ImdtYWlsX21zZyI+ZGVmIGEocmVxdWVzdCk6PC9kaXY+PGRpdiBjbGFzcz0i
Z21haWxfbXNnIj4mbmJzcDsgJm5ic3A7IHZhbHVlID0gcmVxdWVzdC5jb25maWcuZ2V0b3B0aW9u
KCJBIik8L2Rpdj48ZGl2IGNsYXNzPSJnbWFpbF9tc2ciPiZuYnNwOyAmbmJzcDsgaWYgbm90IHZh
bHVlOjwvZGl2PjxkaXYgY2xhc3M9ImdtYWlsX21zZyI+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5i
c3A7IHB5dGVzdC5za2lwKCd0ZXN0IG5lZWRzIC1BIG9wdGlvbiB0byBydW4nKTwvZGl2PjxkaXYg
Y2xhc3M9ImdtYWlsX21zZyI+Jm5ic3A7ICZuYnNwOyByZXR1cm4gdmFsdWU8L2Rpdj48ZGl2IGNs
YXNzPSJnbWFpbF9tc2ciPjxicj48L2Rpdj48ZGl2IGNsYXNzPSJnbWFpbF9tc2ciPmRlZiBweXRl
c3RfYWRkb3B0aW9uKHBhcnNlcik6PC9kaXY+PGRpdiBjbGFzcz0iZ21haWxfbXNnIj4mbmJzcDsg
Jm5ic3A7IHBhcnNlci5hZGRvcHRpb24oIi0tQSIsIGFjdGlvbj0ic3RvcmUiLCBkZWZhdWx0PU5v
bmUsIGhlbHA9ImEgb3B0aW9uIikgJm5ic3A7ICZuYnNwOzwvZGl2PjxkaXYgY2xhc3M9ImdtYWls
X21zZyI+PGJyPjwvZGl2PjxkaXYgY2xhc3M9ImdtYWlsX21zZyI+IyB0ZXN0c2NyaXB0LnB5PC9k
aXY+PGRpdj48ZGl2PmRlZiB0ZXN0X2ZvbyhhKTo8L2Rpdj48ZGl2PiZuYnNwOyAmbmJzcDsgYXNz
ZXJ0IGEgPT0gJzEnPC9kaXY+PC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0iZ21haWxfbXNnIj5gYGA8
L2Rpdj48ZGl2IGNsYXNzPSJnbWFpbF9tc2ciPjxicj48L2Rpdj48ZGl2IGNsYXNzPSJnbWFpbF9t
c2ciPlJ1bm5pbmcgaXQ6PC9kaXY+PGRpdiBjbGFzcz0iZ21haWxfbXNnIj48YnI+PC9kaXY+PGRp
diBjbGFzcz0iZ21haWxfbXNnIj5gYGA8L2Rpdj48ZGl2IGNsYXNzPSJnbWFpbF9tc2ciPjxkaXYg
Y2xhc3M9ImdtYWlsX21zZyI+JCBweS50ZXN0IHRlc3RzY3JpcHQucHkgLXE8L2Rpdj48ZGl2IGNs
YXNzPSJnbWFpbF9tc2ciPnM8L2Rpdj48ZGl2IGNsYXNzPSJnbWFpbF9tc2ciPjEgc2tpcHBlZCBp
biAwLjAxIHNlY29uZHM8L2Rpdj48ZGl2IGNsYXNzPSJnbWFpbF9tc2ciPjxicj48L2Rpdj48ZGl2
IGNsYXNzPSJnbWFpbF9tc2ciPiQgcHkudGVzdCB0ZXN0c2NyaXB0LnB5IC1xIC0tQSAxPC9kaXY+
PGRpdiBjbGFzcz0iZ21haWxfbXNnIj4uPC9kaXY+PGRpdiBjbGFzcz0iZ21haWxfbXNnIj4xIHBh
c3NlZCBpbiAwLjAxIHNlY29uZHM8L2Rpdj48ZGl2IGNsYXNzPSJnbWFpbF9tc2ciPjxicj48L2Rp
dj48ZGl2IGNsYXNzPSJnbWFpbF9tc2ciPiQgcHkudGVzdCB0ZXN0c2NyaXB0LnB5IC1xIC0tQSAy
PC9kaXY+PGRpdiBjbGFzcz0iZ21haWxfbXNnIj5GPC9kaXY+PGRpdiBjbGFzcz0iZ21haWxfbXNn
Ij49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IEZBSUxVUkVTID09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PC9kaXY+PGRpdiBjbGFzcz0iZ21haWxfbXNnIj5fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fIHRlc3RfZm9vIF9fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fPC9kaXY+PGRpdiBjbGFzcz0iZ21haWxfbXNnIj48YnI+PC9kaXY+
PGRpdiBjbGFzcz0iZ21haWxfbXNnIj5hID0gJzInPC9kaXY+PGRpdiBjbGFzcz0iZ21haWxfbXNn
Ij48YnI+PC9kaXY+PGRpdiBjbGFzcz0iZ21haWxfbXNnIj4mbmJzcDsgJm5ic3A7IGRlZiB0ZXN0
X2ZvbyhhKTo8L2Rpdj48ZGl2IGNsYXNzPSJnbWFpbF9tc2ciPiZndDsgJm5ic3A7ICZuYnNwOyAm
bmJzcDsgYXNzZXJ0IGEgPT0gJzEnPC9kaXY+PGRpdiBjbGFzcz0iZ21haWxfbXNnIj5FICZuYnNw
OyAmbmJzcDsgJm5ic3A7IGFzc2VydCAnMicgPT0gJzEnPC9kaXY+PGRpdiBjbGFzcz0iZ21haWxf
bXNnIj5FICZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAtIDI8L2Rpdj48ZGl2IGNsYXNzPSJn
bWFpbF9tc2ciPkUgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7ICsgMTwvZGl2PjxkaXYgY2xh
c3M9ImdtYWlsX21zZyI+PGJyPjwvZGl2PjxkaXYgY2xhc3M9ImdtYWlsX21zZyI+dGVzdHNjcmlw
dC5weTo2OiBBc3NlcnRpb25FcnJvcjwvZGl2PjxkaXYgY2xhc3M9ImdtYWlsX21zZyI+MSBmYWls
ZWQgaW4gMC4wNyBzZWNvbmRzPC9kaXY+PC9kaXY+PGRpdiBjbGFzcz0iZ21haWxfbXNnIj5gYGA8
L2Rpdj48ZGl2IGNsYXNzPSJnbWFpbF9tc2ciPjxicj48L2Rpdj48ZGl2IGNsYXNzPSJnbWFpbF9t
c2ciPkhvcGUgdGhhdCBoZWxwcyw8L2Rpdj48ZGl2IGNsYXNzPSJnbWFpbF9tc2ciPkJydW5vLjwv
                      ZGl2Pg==" style="height:0;width:0;max-height:0;max-width:0;overflow:hidden;font-size:0em;padding:0;margin:0" class="gmail_msg">​</div>
                  </div>
                  <div class="gmail_msg"><br class="gmail_msg">
                  </div>
                  <div class="gmail_msg"><br class="gmail_msg">
                  </div>
                </div>
                <div class="gmail_quote gmail_msg">
                  <div dir="ltr" class="gmail_msg">On Fri, Oct 14, 2016
                    at 3:07 PM James &lt;<a href="mailto:bjlockie@lockie.ca" class="gmail_msg" target="_blank">bjlockie@lockie.ca</a>&gt; wrote:<br class="gmail_msg">
                  </div>
                  <blockquote class="gmail_quote gmail_msg" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
                    <div bgcolor="#FFFFFF" text="#000000" class="gmail_msg"> <br class="gmail_msg">
                      Here is the exact code:<br class="gmail_msg">
                      $ cat testconfig.py <br class="gmail_msg">
                      import pytest</div>
                    <div bgcolor="#FFFFFF" text="#000000" class="gmail_msg"><br class="gmail_msg">
                      <br class="gmail_msg">
                      @pytest.fixture(scope=&#39;module&#39;)<br class="gmail_msg">
                      def A(request):<br class="gmail_msg">
                          return request.config.getoption(&quot;--A&quot;)<br class="gmail_msg">
                      <br class="gmail_msg">
                    </div>
                    <div bgcolor="#FFFFFF" text="#000000" class="gmail_msg"> $ cat testscript.py <br class="gmail_msg">
                      import pytest</div>
                    <div bgcolor="#FFFFFF" text="#000000" class="gmail_msg"><br class="gmail_msg">
                       <br class="gmail_msg">
                      skip_A = pytest.mark.skipif(<br class="gmail_msg">
                          A(pytest.config.request),<br class="gmail_msg">
                          reason=&quot;need --A option to run&quot;<br class="gmail_msg">
                      )<br class="gmail_msg">
                      <br class="gmail_msg">
                      <br class="gmail_msg">
                    </div>
                    <div bgcolor="#FFFFFF" text="#000000" class="gmail_msg"> $ py.test testscript.py <br class="gmail_msg">
                      ============================= test session starts
                      ==============================<br class="gmail_msg">
                      platform linux2 -- Python 2.7.12, pytest-2.8.7,
                      py-1.4.31, pluggy-0.3.1<br class="gmail_msg">
                      rootdir: /home/rjl/pytest, inifile: <br class="gmail_msg">
                      collected 0 items / 1 errors <br class="gmail_msg">
                      <br class="gmail_msg">
                      ==================================== ERRORS
                      ====================================<br class="gmail_msg">
                      ________________________ ERROR collecting
                      testscript.py ________________________<br class="gmail_msg">
                      testscript.py:4: in &lt;module&gt;<br class="gmail_msg">
                          A(pytest.config.request),</div>
                    <div bgcolor="#FFFFFF" text="#000000" class="gmail_msg"><br class="gmail_msg">
                      E   NameError: name &#39;A&#39; is not defined<br class="gmail_msg">
                    </div>
                    <div bgcolor="#FFFFFF" text="#000000" class="gmail_msg"> =========================== 1
                      error in 0.01 seconds ============================<br class="gmail_msg">
                      <span class="m_-4340959692939241711m_-3825917875471976212m_-5505830640466454722m_-779162668504465045n gmail_msg"><br class="gmail_msg">
                        Instead of doing </span><br class="gmail_msg">
                      <span class="m_-4340959692939241711m_-3825917875471976212m_-5505830640466454722m_-779162668504465045n gmail_msg"><span class="m_-4340959692939241711m_-3825917875471976212m_-5505830640466454722m_-779162668504465045n gmail_msg">pytest</span><span class="m_-4340959692939241711m_-3825917875471976212m_-5505830640466454722m_-779162668504465045o gmail_msg">.</span><span class="m_-4340959692939241711m_-3825917875471976212m_-5505830640466454722m_-779162668504465045n gmail_msg">config</span><span class="m_-4340959692939241711m_-3825917875471976212m_-5505830640466454722m_-779162668504465045o gmail_msg">.</span><span class="m_-4340959692939241711m_-3825917875471976212m_-5505830640466454722m_-779162668504465045n gmail_msg">getoption</span><span class="m_-4340959692939241711m_-3825917875471976212m_-5505830640466454722m_-779162668504465045p gmail_msg"></span> more than one like this:<br class="gmail_msg">
                        skip_A</span> <span class="m_-4340959692939241711m_-3825917875471976212m_-5505830640466454722m_-779162668504465045o gmail_msg">=</span> <span class="m_-4340959692939241711m_-3825917875471976212m_-5505830640466454722m_-779162668504465045n gmail_msg">pytest</span><span class="m_-4340959692939241711m_-3825917875471976212m_-5505830640466454722m_-779162668504465045o gmail_msg">.</span><span class="m_-4340959692939241711m_-3825917875471976212m_-5505830640466454722m_-779162668504465045n gmail_msg">mark</span><span class="m_-4340959692939241711m_-3825917875471976212m_-5505830640466454722m_-779162668504465045o gmail_msg">.</span><span class="m_-4340959692939241711m_-3825917875471976212m_-5505830640466454722m_-779162668504465045n gmail_msg">skipif</span><span class="m_-4340959692939241711m_-3825917875471976212m_-5505830640466454722m_-779162668504465045p gmail_msg">(</span> <span class="m_-4340959692939241711m_-3825917875471976212m_-5505830640466454722m_-779162668504465045n gmail_msg">pytest</span><span class="m_-4340959692939241711m_-3825917875471976212m_-5505830640466454722m_-779162668504465045o gmail_msg">.</span><span class="m_-4340959692939241711m_-3825917875471976212m_-5505830640466454722m_-779162668504465045n gmail_msg">config</span><span class="m_-4340959692939241711m_-3825917875471976212m_-5505830640466454722m_-779162668504465045o gmail_msg">.</span><span class="m_-4340959692939241711m_-3825917875471976212m_-5505830640466454722m_-779162668504465045n gmail_msg">getoption</span><span class="m_-4340959692939241711m_-3825917875471976212m_-5505830640466454722m_-779162668504465045p gmail_msg">(</span><span class="m_-4340959692939241711m_-3825917875471976212m_-5505830640466454722m_-779162668504465045s2 gmail_msg">&quot;--A&quot;</span><span class="m_-4340959692939241711m_-3825917875471976212m_-5505830640466454722m_-779162668504465045p gmail_msg">),</span> <span class="m_-4340959692939241711m_-3825917875471976212m_-5505830640466454722m_-779162668504465045n gmail_msg">reason</span><span class="m_-4340959692939241711m_-3825917875471976212m_-5505830640466454722m_-779162668504465045o gmail_msg">=</span><span class="m_-4340959692939241711m_-3825917875471976212m_-5505830640466454722m_-779162668504465045s2 gmail_msg">&quot;need --A option to run&quot;</span> <span class="m_-4340959692939241711m_-3825917875471976212m_-5505830640466454722m_-779162668504465045p gmail_msg">)<br class="gmail_msg">
                        I want to do it once in the config file.</span><br class="gmail_msg">
                      I might want to use the value of the argument --A
                      elsewhere so I don&#39;t want to do getoption many
                      times.</div>
                    <div bgcolor="#FFFFFF" text="#000000" class="gmail_msg"><br class="gmail_msg">
                      <br class="gmail_msg">
                      <div class="m_-4340959692939241711m_-3825917875471976212m_-5505830640466454722m_-779162668504465045moz-cite-prefix gmail_msg">On 2016-10-14 01:16 PM, Bruno
                        Oliveira wrote:<br class="gmail_msg">
                      </div>
                      <blockquote type="cite" class="gmail_msg">
                        <div dir="ltr" class="gmail_msg">
                          <div class="m_-4340959692939241711m_-3825917875471976212m_-5505830640466454722m_-779162668504465045markdown-here-wrapper gmail_msg">
                            <p style="margin:1.2em 0px!important" class="gmail_msg">Hi,</p>
                            <p style="margin:1.2em 0px!important" class="gmail_msg">After fixing the missing
                              “pytest” import, I get this error:</p>
                            <pre style="font-size:0.85em;font-family:Consolas,Inconsolata,Courier,monospace;font-size:1em;line-height:1.2em;margin:1.2em 0px" class="gmail_msg"><code style="font-size:0.85em;font-family:Consolas,Inconsolata,Courier,monospace;margin:0px 0.15em;padding:0px 0.3em;white-space:pre-wrap;border:1px solid rgb(234,234,234);background-color:rgb(248,248,248);border-radius:3px;display:inline;white-space:pre-wrap;overflow:auto;border-radius:3px;border:1px solid rgb(204,204,204);padding:0.5em 0.7em;display:block!important" class="gmail_msg">foo.py:8: in &lt;module&gt;
    A(pytest.config.request),
E   AttributeError: &#39;Config&#39; object has no attribute &#39;request&#39;
</code></pre>
                            <p style="margin:1.2em 0px!important" class="gmail_msg">Please make sure to post
                              a complete example and state clearly what
                              your problem is and what you are trying to
                              accomplish.</p>
                            <p style="margin:1.2em 0px!important" class="gmail_msg">Cheers,<br class="gmail_msg">
                              Bruno.</p>
                            <div title="MDH:SGksPGRpdj48YnI+PC9kaXY+PGRpdj5BZnRlciBmaXhpbmcgdGhlIG1pc3NpbmcgInB5dGVzdCIgaW1wb3J0LCBJIGdldCB0aGlzIGVycm9yOjwvZGl2PjxkaXY+PGJyPjwvZGl2PjxkaXY+YGBgPC9kaXY+PGRpdj48ZGl2PmZvby5weTo4OiBpbiAmbHQ7bW9kdWxlJmd0OzwvZGl2PjxkaXY+Jm5ic3A7ICZuYnNwOyBBKHB5dGVzdC5jb25maWcucmVxdWVzdCksPC9kaXY+PGRpdj5FICZuYnNwOyBBdHRy
aWJ1dGVFcnJvcjogJ0NvbmZpZycgb2JqZWN0IGhhcyBubyBhdHRyaWJ1dGUgJ3JlcXVlc3QnPC9k
aXY+PC9kaXY+PGRpdj5gYGA8L2Rpdj48ZGl2Pjxicj48L2Rpdj48ZGl2PlBsZWFzZSBtYWtlIHN1
cmUgdG8gcG9zdCBhIGNvbXBsZXRlIGV4YW1wbGUgYW5kIHN0YXRlIGNsZWFybHkgd2hhdCB5b3Vy
IHByb2JsZW0gaXMgYW5kIHdoYXQgeW91IGFyZSB0cnlpbmcgdG8gYWNjb21wbGlzaC48L2Rpdj48
ZGl2Pjxicj48L2Rpdj48ZGl2PkNoZWVycyw8L2Rpdj48ZGl2PkJydW5vLjwvZGl2Pg==" style="min-height:0;width:0;max-height:0;max-width:0;overflow:hidden;font-size:0em;padding:0;margin:0" class="gmail_msg">​</div>
                          </div>
                        </div>
                        <br class="gmail_msg">
                        <div class="gmail_quote gmail_msg">
                          <div dir="ltr" class="gmail_msg">On Fri, Oct
                            14, 2016 at 2:03 PM James &lt;<a href="mailto:bjlockie@lockie.ca" class="gmail_msg" target="_blank">bjlockie@lockie.ca</a>&gt;
                            wrote:<br class="gmail_msg">
                          </div>
                          <blockquote class="gmail_quote gmail_msg" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
                            <div bgcolor="#FFFFFF" text="#000000" class="gmail_msg">
                              <div class="m_-4340959692939241711m_-3825917875471976212m_-5505830640466454722m_-779162668504465045m_2364392736954871010moz-text-html gmail_msg" lang="x-western">
                                <div class="m_-4340959692939241711m_-3825917875471976212m_-5505830640466454722m_-779162668504465045m_2364392736954871010WordSection1 gmail_msg">I have this in my config
                                  file:<br class="gmail_msg">
                                  @pytest.fixture(scope=&#39;module&#39;)<br class="gmail_msg">
                                  def A(request):<br class="gmail_msg">
                                      return
                                  request.config.getoption(&quot;--A&quot;)<br class="gmail_msg">
                                   <br class="gmail_msg">
                                  skip_A = pytest.mark.skipif(<br class="gmail_msg">
                                      A(pytest.config.request),<br class="gmail_msg">
                                      reason=&quot;need --A option to run&quot;<br class="gmail_msg">
                                  )<br class="gmail_msg">
                                  <br class="gmail_msg">
                                  but when I run it, it says <br class="gmail_msg">
                                  E   NameError: name &#39;A&#39; is not defined<br class="gmail_msg">
                                   <br class="gmail_msg">
                                </div>
                              </div>
                            </div>
_______________________________________________<br class="gmail_msg">
                            testing-in-python mailing list<br class="gmail_msg">
                            <a href="mailto:testing-in-python@lists.idyll.org" class="gmail_msg" target="_blank">testing-in-python@lists.idyll.org</a><br class="gmail_msg">
                            <a href="http://lists.idyll.org/listinfo/testing-in-python" rel="noreferrer" class="gmail_msg" target="_blank">http://lists.idyll.org/listinfo/testing-in-python</a><br class="gmail_msg">
                          </blockquote>
                        </div>
                      </blockquote>
                      <br class="gmail_msg">
                    </div>
                  </blockquote>
                </div>
              </div>
            </blockquote>
            <br class="gmail_msg">
          </div>
        </blockquote>
      </div>
    </blockquote>
    <br class="gmail_msg">
  </div></blockquote><p></p></div><p style="margin:1.2em 0px!important"></p>
<div title="MDH:PGJyPjxicj48ZGl2IGNsYXNzPSJnbWFpbF9xdW90ZSI+PGRpdiBkaXI9Imx0ciI+T24gTW9uLCBP
Y3QgMTcsIDIwMTYgYXQgMTE6NDIgQU0gSmFtZXMgJmx0O2JqbG9ja2llQGxvY2tpZS5jYSZndDsg
d3JvdGU6PGJyPjwvZGl2PjxibG9ja3F1b3RlIGNsYXNzPSJnbWFpbF9xdW90ZSIgc3R5bGU9Im1h
cmdpbjowIDAgMCAuOGV4O2JvcmRlci1sZWZ0OjFweCAjY2NjIHNvbGlkO3BhZGRpbmctbGVmdDox
ZXg7Ij4KICAKICAgIAogIAogIDxkaXYgYmdjb2xvcj0iI0ZGRkZGRiIgdGV4dD0iIzAwMDAwMCIg
Y2xhc3M9ImdtYWlsX21zZyI+CiAgICA8cCBjbGFzcz0iZ21haWxfbXNnIj5JcyBpdCBwb3NzaWJs
ZSB0byBza2lwIGFsbCB0aGUgdGVzdHMgd2l0aGluIGEgY2xhc3Mgd2l0aG91dAogICAgICBoYXZp
bmcgdG8gcGFzcyAiYSIgaW50byBhbGwgdGhlIGZ1bmN0aW9ucz88YnIgY2xhc3M9ImdtYWlsX21z
ZyI+PC9wPjwvZGl2PjwvYmxvY2txdW90ZT48ZGl2Pjxicj48L2Rpdj48ZGl2PllvdSBjYW4gdXNl
IHRoZSBgdXNlZml4dHVyZXNgIG1hcmtlciBvbiB0aGUgY2xhc3M6PC9kaXY+PGRpdj48YnI+PC9k
aXY+PGRpdj5gYGBweXRob248L2Rpdj48ZGl2PkBweXRlc3QubWFyay51c2VmaXh0dXJlcygnYScp
PC9kaXY+PGRpdj5jbGFzcyBUZXN0OjwvZGl2PjxkaXY+Jm5ic3A7ICZuYnNwOyBkZWYgdGVzdF9m
b28oc2VsZik6PC9kaXY+PGRpdj4mbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgcGFzcyAmbmJz
cDsgJm5ic3A7PC9kaXY+PGRpdj5gYGAmbmJzcDs8L2Rpdj48ZGl2Pjxicj48L2Rpdj48ZGl2PkNo
ZWVycyw8L2Rpdj48ZGl2PkJydW5vLjwvZGl2PjxkaXY+PGJyPjwvZGl2PjxibG9ja3F1b3RlIGNs
YXNzPSJnbWFpbF9xdW90ZSIgc3R5bGU9Im1hcmdpbjowIDAgMCAuOGV4O2JvcmRlci1sZWZ0OjFw
eCAjY2NjIHNvbGlkO3BhZGRpbmctbGVmdDoxZXg7Ij48ZGl2IGJnY29sb3I9IiNGRkZGRkYiIHRl
eHQ9IiMwMDAwMDAiIGNsYXNzPSJnbWFpbF9tc2ciPgogICAgPGRpdiBjbGFzcz0ibV8tNDM0MDk1
OTY5MjkzOTI0MTcxMW1vei1jaXRlLXByZWZpeCBnbWFpbF9tc2ciPk9uIDIwMTYtMTAtMTYgMTI6
NTYgQU0sIEJydW5vIE9saXZlaXJhCiAgICAgIHdyb3RlOjxiciBjbGFzcz0iZ21haWxfbXNnIj4K
ICAgIDwvZGl2PgogICAgPGJsb2NrcXVvdGUgdHlwZT0iY2l0ZSIgY2xhc3M9ImdtYWlsX21zZyI+
CiAgICAgIDxkaXYgZGlyPSJsdHIiIGNsYXNzPSJnbWFpbF9tc2ciPgogICAgICAgIDxkaXYgY2xh
c3M9Im1fLTQzNDA5NTk2OTI5MzkyNDE3MTFtYXJrZG93bi1oZXJlLXdyYXBwZXIgZ21haWxfbXNn
Ij4KICAgICAgICAgIDxwIHN0eWxlPSJtYXJnaW46MS4yZW0gMHB4IWltcG9ydGFudCIgY2xhc3M9
ImdtYWlsX21zZyI+SGkgSmFtZXMsPC9wPgogICAgICAgICAgPHAgc3R5bGU9Im1hcmdpbjoxLjJl
bSAwcHghaW1wb3J0YW50IiBjbGFzcz0iZ21haWxfbXNnIj5XaGF0IGVycm9yIGRvIHlvdSBnZXQ/
CiAgICAgICAgICAgIEZyb20geW91ciBleGFtcGxlIGl0IGlzIG1pc3NpbmcgYSA8Y29kZSBzdHls
ZT0iZm9udC1zaXplOjAuODVlbTtmb250LWZhbWlseTpDb25zb2xhcyxJbmNvbnNvbGF0YSxDb3Vy
aWVyLG1vbm9zcGFjZTttYXJnaW46MHB4IDAuMTVlbTtwYWRkaW5nOjBweCAwLjNlbTt3aGl0ZS1z
cGFjZTpwcmUtd3JhcDtib3JkZXI6MXB4IHNvbGlkIHJnYigyMzQsMjM0LDIzNCk7YmFja2dyb3Vu
ZC1jb2xvcjpyZ2IoMjQ4LDI0OCwyNDgpO2JvcmRlci1yYWRpdXM6M3B4O2Rpc3BsYXk6aW5saW5l
IiBjbGFzcz0iZ21haWxfbXNnIj5zZWxmPC9jb2RlPgogICAgICAgICAgICBhcmd1bWVudCwgb3Ro
ZXJ3aXNlIGl0IHNob3VsZCB3b3JrIGp1c3QgZmluZS48L3A+CiAgICAgICAgICA8cCBzdHlsZT0i
bWFyZ2luOjEuMmVtIDBweCFpbXBvcnRhbnQiIGNsYXNzPSJnbWFpbF9tc2ciPkNoZWVycyw8YnIg
Y2xhc3M9ImdtYWlsX21zZyI+CiAgICAgICAgICAgIEJydW5vLjwvcD4KICAgICAgICAgIDxkaXYg
dGl0bGU9Ik1ESDpTR2tnU21GdFpYTXNQR1JwZGo0OFluSStQQzlrYVhZK1BHUnBkajVYYUdGMElH
VnljbTl5SUdSdklIbHZkU0JuWlhRL0lFWnliMjBnZVc5MWNpQmxlR0Z0Y0d4bElHbDBJR2x6SUcx
cGMzTnBibWNnWVNCZ2MyVnNabUFnWVhKbmRXMWxiblFzSUc5MGFHVnlkMmx6WlNCcApkQ0J6YUc5
MWJHUWdkMjl5YXlCcWRYTjBJR1pwYm1VdVBDOWthWFkrUEdScGRqNDhZbkkrUEM5a2FYWStQR1Jw
ZGo1RGFHVmxjbk1zCiAgICAgICAgICAgIFBDOWthWFkrUEdScGRqNUNjblZ1Ynk0OEwyUnBkajQ9
IiBzdHlsZT0iaGVpZ2h0OjA7d2lkdGg6MDttYXgtaGVpZ2h0OjA7bWF4LXdpZHRoOjA7b3ZlcmZs
b3c6aGlkZGVuO2ZvbnQtc2l6ZTowZW07cGFkZGluZzowO21hcmdpbjowIiBjbGFzcz0iZ21haWxf
bXNnIj7igIs8L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgPC9kaXY+CiAgICAgIDxiciBjbGFz
cz0iZ21haWxfbXNnIj4KICAgICAgPGRpdiBjbGFzcz0iZ21haWxfcXVvdGUgZ21haWxfbXNnIj4K
ICAgICAgICA8ZGl2IGRpcj0ibHRyIiBjbGFzcz0iZ21haWxfbXNnIj5PbiBTYXQsIE9jdCAxNSwg
MjAxNiBhdCAxMTowMyBBTSBKYW1lcyAmbHQ7PGEgaHJlZj0ibWFpbHRvOmJqbG9ja2llQGxvY2tp
ZS5jYSIgY2xhc3M9ImdtYWlsX21zZyIgdGFyZ2V0PSJfYmxhbmsiPmJqbG9ja2llQGxvY2tpZS5j
YTwvYT4mZ3Q7CiAgICAgICAgICB3cm90ZTo8YnIgY2xhc3M9ImdtYWlsX21zZyI+CiAgICAgICAg
PC9kaXY+CiAgICAgICAgPGJsb2NrcXVvdGUgY2xhc3M9ImdtYWlsX3F1b3RlIGdtYWlsX21zZyIg
c3R5bGU9Im1hcmdpbjowIDAgMCAuOGV4O2JvcmRlci1sZWZ0OjFweCAjY2NjIHNvbGlkO3BhZGRp
bmctbGVmdDoxZXgiPgogICAgICAgICAgPGRpdiBiZ2NvbG9yPSIjRkZGRkZGIiB0ZXh0PSIjMDAw
MDAwIiBjbGFzcz0iZ21haWxfbXNnIj4KICAgICAgICAgICAgPHAgY2xhc3M9ImdtYWlsX21zZyI+
SSB0cmllZCB0byBtYWtlIGl0IHdvcmsgd2l0aCBhIGNsYXNzOjxiciBjbGFzcz0iZ21haWxfbXNn
Ij4KICAgICAgICAgICAgPC9wPgogICAgICAgICAgICA8cCBjbGFzcz0iZ21haWxfbXNnIj5pbXBv
cnQgcHl0ZXN0PGJyIGNsYXNzPSJnbWFpbF9tc2ciPgogICAgICAgICAgICAgIDxiciBjbGFzcz0i
Z21haWxfbXNnIj4KICAgICAgICAgICAgICAjIHRlc3RzY3JpcHQucHk8YnIgY2xhc3M9ImdtYWls
X21zZyI+CiAgICAgICAgICAgICAgY2xhc3MgVGVzdEFjbGFzc3M6PC9wPgogICAgICAgICAgPC9k
aXY+CiAgICAgICAgICA8ZGl2IGJnY29sb3I9IiNGRkZGRkYiIHRleHQ9IiMwMDAwMDAiIGNsYXNz
PSJnbWFpbF9tc2ciPgogICAgICAgICAgICA8cCBjbGFzcz0iZ21haWxfbXNnIj48YnIgY2xhc3M9
ImdtYWlsX21zZyI+CiAgICAgICAgICAgICAgJm5ic3A7Jm5ic3A7Jm5ic3A7IGRlZiB0ZXN0X2Zv
byhhKTo8YnIgY2xhc3M9ImdtYWlsX21zZyI+CiAgICAgICAgICAgICAgJm5ic3A7Jm5ic3A7Jm5i
c3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7IGFzc2VydCBhID09ICcxJzxiciBjbGFzcz0iZ21h
aWxfbXNnIj4KICAgICAgICAgICAgPC9wPgogICAgICAgICAgPC9kaXY+CiAgICAgICAgICA8ZGl2
IGJnY29sb3I9IiNGRkZGRkYiIHRleHQ9IiMwMDAwMDAiIGNsYXNzPSJnbWFpbF9tc2ciPiBEbyBJ
CiAgICAgICAgICAgIG5lZWQgdG8gZG8gc29tZXRoaW5nIGluIHRoZSBfX2luaXRfXyBmdW5jdGlv
bj88L2Rpdj4KICAgICAgICAgIDxkaXYgYmdjb2xvcj0iI0ZGRkZGRiIgdGV4dD0iIzAwMDAwMCIg
Y2xhc3M9ImdtYWlsX21zZyI+PGJyIGNsYXNzPSJnbWFpbF9tc2ciPgogICAgICAgICAgICA8YnIg
Y2xhc3M9ImdtYWlsX21zZyI+CiAgICAgICAgICAgIDxiciBjbGFzcz0iZ21haWxfbXNnIj4KICAg
ICAgICAgICAgPGJyIGNsYXNzPSJnbWFpbF9tc2ciPgogICAgICAgICAgICA8ZGl2IGNsYXNzPSJt
Xy00MzQwOTU5NjkyOTM5MjQxNzExbV8tMzgyNTkxNzg3NTQ3MTk3NjIxMm1vei1jaXRlLXByZWZp
eCBnbWFpbF9tc2ciPk9uCiAgICAgICAgICAgICAgMjAxNi0xMC0xNCAwMjo1MCBQTSwgQnJ1bm8g
T2xpdmVpcmEgd3JvdGU6PGJyIGNsYXNzPSJnbWFpbF9tc2ciPgogICAgICAgICAgICA8L2Rpdj4K
ICAgICAgICAgIDwvZGl2PgogICAgICAgICAgPGRpdiBiZ2NvbG9yPSIjRkZGRkZGIiB0ZXh0PSIj
MDAwMDAwIiBjbGFzcz0iZ21haWxfbXNnIj4KICAgICAgICAgICAgPGJsb2NrcXVvdGUgdHlwZT0i
Y2l0ZSIgY2xhc3M9ImdtYWlsX21zZyI+CiAgICAgICAgICAgICAgPGRpdiBkaXI9Imx0ciIgY2xh
c3M9ImdtYWlsX21zZyI+CiAgICAgICAgICAgICAgICA8ZGl2IGRpcj0ibHRyIiBjbGFzcz0iZ21h
aWxfbXNnIj4KICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibV8tNDM0MDk1OTY5MjkzOTI0
MTcxMW1fLTM4MjU5MTc4NzU0NzE5NzYyMTJtYXJrZG93bi1oZXJlLXdyYXBwZXIgZ21haWxfbXNn
Ij4KICAgICAgICAgICAgICAgICAgICA8cCBzdHlsZT0ibWFyZ2luOjEuMmVtIDBweCFpbXBvcnRh
bnQiIGNsYXNzPSJnbWFpbF9tc2ciPkhpIEphbWVzLDwvcD4KICAgICAgICAgICAgICAgICAgICA8
cCBzdHlsZT0ibWFyZ2luOjEuMmVtIDBweCFpbXBvcnRhbnQiIGNsYXNzPSJnbWFpbF9tc2ciPlRo
YW5rcyBmb3IgcG9zdGluZyB0aGUgY29tcGxldGUKICAgICAgICAgICAgICAgICAgICAgIGV4YW1w
bGUuPC9wPgogICAgICAgICAgICAgICAgICAgIDxwIHN0eWxlPSJtYXJnaW46MS4yZW0gMHB4IWlt
cG9ydGFudCIgY2xhc3M9ImdtYWlsX21zZyI+VGhlcmUgYXJlIHNvbWUgcHJvYmxlbXMgaGVyZSwK
ICAgICAgICAgICAgICAgICAgICAgIGJvdGggZ2VuZXJhbCBQeXRob24gcHJvYmxlbXMgYW5kIHNv
bWUgcmVsYXRlZCB0bwogICAgICAgICAgICAgICAgICAgICAgaG93IHlvdSBhcmUgdXNpbmcgcHl0
ZXN0OjwvcD4KICAgICAgICAgICAgICAgICAgICA8b2wgc3R5bGU9Im1hcmdpbjoxLjJlbSAwcHg7
cGFkZGluZy1sZWZ0OjJlbSIgY2xhc3M9ImdtYWlsX21zZyI+CiAgICAgICAgICAgICAgICAgICAg
ICA8bGkgc3R5bGU9Im1hcmdpbjowLjVlbSAwcHgiIGNsYXNzPSJnbWFpbF9tc2ciPjxjb2RlIHN0
eWxlPSJmb250LXNpemU6MC44NWVtO2ZvbnQtZmFtaWx5OkNvbnNvbGFzLEluY29uc29sYXRhLENv
dXJpZXIsbW9ub3NwYWNlO21hcmdpbjowcHggMC4xNWVtO3BhZGRpbmc6MHB4IDAuM2VtO3doaXRl
LXNwYWNlOnByZS13cmFwO2JvcmRlcjoxcHggc29saWQgcmdiKDIzNCwyMzQsMjM0KTtiYWNrZ3Jv
dW5kLWNvbG9yOnJnYigyNDgsMjQ4LDI0OCk7Ym9yZGVyLXJhZGl1czozcHg7ZGlzcGxheTppbmxp
bmUiIGNsYXNzPSJnbWFpbF9tc2ciPnRlc3RzY3JpcHQucHk8L2NvZGU+CiAgICAgICAgICAgICAg
ICAgICAgICAgIGhhcyBubyBhY2Nlc3MgdG8gdGhlIDxjb2RlIHN0eWxlPSJmb250LXNpemU6MC44
NWVtO2ZvbnQtZmFtaWx5OkNvbnNvbGFzLEluY29uc29sYXRhLENvdXJpZXIsbW9ub3NwYWNlO21h
cmdpbjowcHggMC4xNWVtO3BhZGRpbmc6MHB4IDAuM2VtO3doaXRlLXNwYWNlOnByZS13cmFwO2Jv
cmRlcjoxcHggc29saWQgcmdiKDIzNCwyMzQsMjM0KTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigyNDgs
MjQ4LDI0OCk7Ym9yZGVyLXJhZGl1czozcHg7ZGlzcGxheTppbmxpbmUiIGNsYXNzPSJnbWFpbF9t
c2ciPkE8L2NvZGU+CiAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uIGJlY2F1c2UgaXQg
ZG9lc27igJl0IGltcG9ydCBpdC4gPC9saT4KICAgICAgICAgICAgICAgICAgICAgIDxsaSBzdHls
ZT0ibWFyZ2luOjAuNWVtIDBweCIgY2xhc3M9ImdtYWlsX21zZyI+WW91CiAgICAgICAgICAgICAg
ICAgICAgICAgIHByb2JhYmx5IHdhbnQgdG8gZGVjbGFyZSB5b3VyIGZpeHR1cmUgaW4gYSA8Y29k
ZSBzdHlsZT0iZm9udC1zaXplOjAuODVlbTtmb250LWZhbWlseTpDb25zb2xhcyxJbmNvbnNvbGF0
YSxDb3VyaWVyLG1vbm9zcGFjZTttYXJnaW46MHB4IDAuMTVlbTtwYWRkaW5nOjBweCAwLjNlbTt3
aGl0ZS1zcGFjZTpwcmUtd3JhcDtib3JkZXI6MXB4IHNvbGlkIHJnYigyMzQsMjM0LDIzNCk7YmFj
a2dyb3VuZC1jb2xvcjpyZ2IoMjQ4LDI0OCwyNDgpO2JvcmRlci1yYWRpdXM6M3B4O2Rpc3BsYXk6
aW5saW5lIiBjbGFzcz0iZ21haWxfbXNnIj5jb25mdGVzdC5weTwvY29kZT4KICAgICAgICAgICAg
ICAgICAgICAgICAgZmlsZSBzbyBweXRlc3QgY2FuIG1ha2UgaXQgYXZhaWxhYmxlIGZvciBhbGwK
ICAgICAgICAgICAgICAgICAgICAgICAgdGVzdHMgaW4geW91ciB0ZXN0IHN1aXRlLjwvbGk+CiAg
ICAgICAgICAgICAgICAgICAgICA8bGkgc3R5bGU9Im1hcmdpbjowLjVlbSAwcHgiIGNsYXNzPSJn
bWFpbF9tc2ciPllvdQogICAgICAgICAgICAgICAgICAgICAgICBoYXZlIHRvIGZpcnN0IGRlY2xh
cmUgeW91ciBvcHRpb24gdXNpbmcgdGhlIDxjb2RlIHN0eWxlPSJmb250LXNpemU6MC44NWVtO2Zv
bnQtZmFtaWx5OkNvbnNvbGFzLEluY29uc29sYXRhLENvdXJpZXIsbW9ub3NwYWNlO21hcmdpbjow
cHggMC4xNWVtO3BhZGRpbmc6MHB4IDAuM2VtO3doaXRlLXNwYWNlOnByZS13cmFwO2JvcmRlcjox
cHggc29saWQgcmdiKDIzNCwyMzQsMjM0KTtiYWNrZ3JvdW5kLWNvbG9yOnJnYigyNDgsMjQ4LDI0
OCk7Ym9yZGVyLXJhZGl1czozcHg7ZGlzcGxheTppbmxpbmUiIGNsYXNzPSJnbWFpbF9tc2ciPnB5
dGVzdF9hZGRvcHRpb248L2NvZGU+CiAgICAgICAgICAgICAgICAgICAgICAgIGhvb2suPC9saT4K
ICAgICAgICAgICAgICAgICAgICAgIDxsaSBzdHlsZT0ibWFyZ2luOjAuNWVtIDBweCIgY2xhc3M9
ImdtYWlsX21zZyI+U2luY2UKICAgICAgICAgICAgICAgICAgICAgICAgeW91IGludGVuZCB0byBw
cm92aWRlIHRoZSB2YWx1ZSBwYXNzZWQgaW4gdGhlCiAgICAgICAgICAgICAgICAgICAgICAgIGNv
bW1hbmQgbGluZSB0byB0aGUgdGVzdHMgdXNpbmcgYSBmaXh0dXJlLCBpdCBpcwogICAgICAgICAg
ICAgICAgICAgICAgICBzaW1wbGVyIHRvIHNraXAgdGhlIHRlc3QgaW4gdGhlIGZpeHR1cmUgaXRz
ZWxmLjwvbGk+CiAgICAgICAgICAgICAgICAgICAgPC9vbD4KICAgICAgICAgICAgICAgICAgICA8
cCBzdHlsZT0ibWFyZ2luOjEuMmVtIDBweCFpbXBvcnRhbnQiIGNsYXNzPSJnbWFpbF9tc2ciPkhl
cmXigJlzIHRoZSBmdWxsIGV4YW1wbGUgd2l0aCBteQogICAgICAgICAgICAgICAgICAgICAgc3Vn
Z2VzdGlvbnM6PC9wPgogICAgICAgICAgICAgICAgICAgIDxwcmUgc3R5bGU9ImZvbnQtc2l6ZTow
Ljg1ZW07Zm9udC1mYW1pbHk6Q29uc29sYXMsSW5jb25zb2xhdGEsQ291cmllcixtb25vc3BhY2U7
Zm9udC1zaXplOjFlbTtsaW5lLWhlaWdodDoxLjJlbTttYXJnaW46MS4yZW0gMHB4IiBjbGFzcz0i
Z21haWxfbXNnIj48Y29kZSBjbGFzcz0ibV8tNDM0MDk1OTY5MjkzOTI0MTcxMW1fLTM4MjU5MTc4
NzU0NzE5NzYyMTJobGpzIG1fLTQzNDA5NTk2OTI5MzkyNDE3MTFtXy0zODI1OTE3ODc1NDcxOTc2
MjEybGFuZ3VhZ2UtcHl0aG9uIGdtYWlsX21zZyIgc3R5bGU9ImZvbnQtc2l6ZTowLjg1ZW07Zm9u
dC1mYW1pbHk6Q29uc29sYXMsSW5jb25zb2xhdGEsQ291cmllcixtb25vc3BhY2U7bWFyZ2luOjBw
eCAwLjE1ZW07cGFkZGluZzowcHggMC4zZW07d2hpdGUtc3BhY2U6cHJlLXdyYXA7Ym9yZGVyOjFw
eCBzb2xpZCByZ2IoMjM0LDIzNCwyMzQpO2JhY2tncm91bmQtY29sb3I6cmdiKDI0OCwyNDgsMjQ4
KTtib3JkZXItcmFkaXVzOjNweDtkaXNwbGF5OmlubGluZTt3aGl0ZS1zcGFjZTpwcmUtd3JhcDtv
dmVyZmxvdzphdXRvO2JvcmRlci1yYWRpdXM6M3B4O2JvcmRlcjoxcHggc29saWQgcmdiKDIwNCwy
MDQsMjA0KTtwYWRkaW5nOjAuNWVtIDAuN2VtO2Rpc3BsYXk6YmxvY2shaW1wb3J0YW50O2Rpc3Bs
YXk6YmxvY2s7b3ZlcmZsb3cteDphdXRvO3BhZGRpbmc6MC41ZW07YmFja2dyb3VuZDpyZ2IoMzUs
MzYsMzEpO2NvbG9yOnJnYigyNDgsMjQ4LDI0MikiPjxzcGFuIGNsYXNzPSJtXy00MzQwOTU5Njky
OTM5MjQxNzExbV8tMzgyNTkxNzg3NTQ3MTk3NjIxMmhsanMtY29tbWVudCBnbWFpbF9tc2ciIHN0
eWxlPSJjb2xvcjpyZ2IoMTE3LDExMyw5NCkiPiMgY29uZnRlc3QucHk8L3NwYW4+CjxzcGFuIGNs
YXNzPSJtXy00MzQwOTU5NjkyOTM5MjQxNzExbV8tMzgyNTkxNzg3NTQ3MTk3NjIxMmhsanMta2V5
d29yZCBnbWFpbF9tc2ciIHN0eWxlPSJjb2xvcjpyZ2IoMjQ5LDM4LDExNCkiPmltcG9ydDwvc3Bh
bj4gcHl0ZXN0Cgo8c3BhbiBjbGFzcz0ibV8tNDM0MDk1OTY5MjkzOTI0MTcxMW1fLTM4MjU5MTc4
NzU0NzE5NzYyMTJobGpzLWRlY29yYXRvciBnbWFpbF9tc2ciIHN0eWxlPSJjb2xvcjpyZ2IoMTE3
LDExMyw5NCkiPkBweXRlc3QuZml4dHVyZShzY29wZT0nbW9kdWxlJzx3YnI+KTwvc3Bhbj4KPHNw
YW4gY2xhc3M9Im1fLTQzNDA5NTk2OTI5MzkyNDE3MTFtXy0zODI1OTE3ODc1NDcxOTc2MjEyaGxq
cy1mdW5jdGlvbiBnbWFpbF9tc2ciIHN0eWxlPSJjb2xvcjpyZ2IoMjQ5LDM4LDExNCkiPjxzcGFu
IGNsYXNzPSJtXy00MzQwOTU5NjkyOTM5MjQxNzExbV8tMzgyNTkxNzg3NTQ3MTk3NjIxMmhsanMt
a2V5d29yZCBnbWFpbF9tc2ciIHN0eWxlPSJjb2xvcjpyZ2IoMjQ5LDM4LDExNCk7Y29sb3I6cmdi
KDEwMiwyMTcsMjM5KSI+ZGVmPC9zcGFuPiA8c3BhbiBjbGFzcz0ibV8tNDM0MDk1OTY5MjkzOTI0
MTcxMW1fLTM4MjU5MTc4NzU0NzE5NzYyMTJobGpzLXRpdGxlIGdtYWlsX21zZyIgc3R5bGU9ImNv
bG9yOnJnYigxNjYsMjI2LDQ2KSI+YTwvc3Bhbj48c3BhbiBjbGFzcz0ibV8tNDM0MDk1OTY5Mjkz
OTI0MTcxMW1fLTM4MjU5MTc4NzU0NzE5NzYyMTJobGpzLXBhcmFtcyBnbWFpbF9tc2ciIHN0eWxl
PSJjb2xvcjpyZ2IoMjQ4LDI0OCwyNDIpIj4ocmVxdWVzdCk8L3NwYW4+Ojwvc3Bhbj4KICAgIHZh
bHVlID0gcmVxdWVzdC5jb25maWcuZ2V0b3B0aW9uKDxzcGFuIGNsYXNzPSJtXy00MzQwOTU5Njky
OTM5MjQxNzExbV8tMzgyNTkxNzg3NTQ3MTk3NjIxMmhsanMtc3RyaW5nIGdtYWlsX21zZyIgc3R5
bGU9ImNvbG9yOnJnYigyMzAsMjE5LDExNikiPiJBIjwvc3Bhbj4pCiAgICA8c3BhbiBjbGFzcz0i
bV8tNDM0MDk1OTY5MjkzOTI0MTcxMW1fLTM4MjU5MTc4NzU0NzE5NzYyMTJobGpzLWtleXdvcmQg
Z21haWxfbXNnIiBzdHlsZT0iY29sb3I6cmdiKDI0OSwzOCwxMTQpIj5pZjwvc3Bhbj4gPHNwYW4g
Y2xhc3M9Im1fLTQzNDA5NTk2OTI5MzkyNDE3MTFtXy0zODI1OTE3ODc1NDcxOTc2MjEyaGxqcy1r
ZXl3b3JkIGdtYWlsX21zZyIgc3R5bGU9ImNvbG9yOnJnYigyNDksMzgsMTE0KSI+bm90PC9zcGFu
PiB2YWx1ZToKICAgICAgICBweXRlc3Quc2tpcCg8c3BhbiBjbGFzcz0ibV8tNDM0MDk1OTY5Mjkz
OTI0MTcxMW1fLTM4MjU5MTc4NzU0NzE5NzYyMTJobGpzLXN0cmluZyBnbWFpbF9tc2ciIHN0eWxl
PSJjb2xvcjpyZ2IoMjMwLDIxOSwxMTYpIj4ndGVzdCBuZWVkcyAtQSBvcHRpb24gdG8gcnVuJzwv
c3Bhbj4pCiAgICA8c3BhbiBjbGFzcz0ibV8tNDM0MDk1OTY5MjkzOTI0MTcxMW1fLTM4MjU5MTc4
NzU0NzE5NzYyMTJobGpzLWtleXdvcmQgZ21haWxfbXNnIiBzdHlsZT0iY29sb3I6cmdiKDI0OSwz
OCwxMTQpIj5yZXR1cm48L3NwYW4+IHZhbHVlCgo8c3BhbiBjbGFzcz0ibV8tNDM0MDk1OTY5Mjkz
OTI0MTcxMW1fLTM4MjU5MTc4NzU0NzE5NzYyMTJobGpzLWZ1bmN0aW9uIGdtYWlsX21zZyIgc3R5
bGU9ImNvbG9yOnJnYigyNDksMzgsMTE0KSI+PHNwYW4gY2xhc3M9Im1fLTQzNDA5NTk2OTI5Mzky
NDE3MTFtXy0zODI1OTE3ODc1NDcxOTc2MjEyaGxqcy1rZXl3b3JkIGdtYWlsX21zZyIgc3R5bGU9
ImNvbG9yOnJnYigyNDksMzgsMTE0KTtjb2xvcjpyZ2IoMTAyLDIxNywyMzkpIj5kZWY8L3NwYW4+
IDxzcGFuIGNsYXNzPSJtXy00MzQwOTU5NjkyOTM5MjQxNzExbV8tMzgyNTkxNzg3NTQ3MTk3NjIx
MmhsanMtdGl0bGUgZ21haWxfbXNnIiBzdHlsZT0iY29sb3I6cmdiKDE2NiwyMjYsNDYpIj5weXRl
c3RfYWRkb3B0aW9uPC9zcGFuPjxzcGFuIGNsYXNzPSJtXy00MzQwOTU5NjkyOTM5MjQxNzExbV8t
MzgyNTkxNzg3NTQ3MTk3NjIxMmhsanMtcGFyYW1zIGdtYWlsX21zZyIgc3R5bGU9ImNvbG9yOnJn
YigyNDgsMjQ4LDI0MikiPihwYXJzZXIpPC9zcGFuPjo8L3NwYW4+CiAgICBwYXJzZXIuYWRkb3B0
aW9uKDxzcGFuIGNsYXNzPSJtXy00MzQwOTU5NjkyOTM5MjQxNzExbV8tMzgyNTkxNzg3NTQ3MTk3
NjIxMmhsanMtc3RyaW5nIGdtYWlsX21zZyIgc3R5bGU9ImNvbG9yOnJnYigyMzAsMjE5LDExNiki
PiItLUEiPC9zcGFuPiwgYWN0aW9uPTxzcGFuIGNsYXNzPSJtXy00MzQwOTU5NjkyOTM5MjQxNzEx
bV8tMzgyNTkxNzg3NTQ3MTk3NjIxMmhsanMtc3RyaW5nIGdtYWlsX21zZyIgc3R5bGU9ImNvbG9y
OnJnYigyMzAsMjE5LDExNikiPiJzdG9yZSI8L3NwYW4+LCBkZWZhdWx0PTxzcGFuIGNsYXNzPSJt
Xy00MzQwOTU5NjkyOTM5MjQxNzExbV8tMzgyNTkxNzg3NTQ3MTk3NjIxMmhsanMta2V5d29yZCBn
bWFpbF9tc2ciIHN0eWxlPSJjb2xvcjpyZ2IoMjQ5LDM4LDExNCkiPk5vbmU8L3NwYW4+LCBoZWxw
PTxzcGFuIGNsYXNzPSJtXy00MzQwOTU5NjkyOTM5MjQxNzExbV8tMzgyNTkxNzg3NTQ3MTk3NjIx
MmhsanMtc3RyaW5nIGdtYWlsX21zZyIgc3R5bGU9ImNvbG9yOnJnYigyMzAsMjE5LDExNikiPiJh
IG9wdGlvbiI8L3NwYW4+KSAgICAKCjxzcGFuIGNsYXNzPSJtXy00MzQwOTU5NjkyOTM5MjQxNzEx
bV8tMzgyNTkxNzg3NTQ3MTk3NjIxMmhsanMtY29tbWVudCBnbWFpbF9tc2ciIHN0eWxlPSJjb2xv
cjpyZ2IoMTE3LDExMyw5NCkiPiMgdGVzdHNjcmlwdC5weTwvc3Bhbj4KPHNwYW4gY2xhc3M9Im1f
LTQzNDA5NTk2OTI5MzkyNDE3MTFtXy0zODI1OTE3ODc1NDcxOTc2MjEyaGxqcy1mdW5jdGlvbiBn
bWFpbF9tc2ciIHN0eWxlPSJjb2xvcjpyZ2IoMjQ5LDM4LDExNCkiPjxzcGFuIGNsYXNzPSJtXy00
MzQwOTU5NjkyOTM5MjQxNzExbV8tMzgyNTkxNzg3NTQ3MTk3NjIxMmhsanMta2V5d29yZCBnbWFp
bF9tc2ciIHN0eWxlPSJjb2xvcjpyZ2IoMjQ5LDM4LDExNCk7Y29sb3I6cmdiKDEwMiwyMTcsMjM5
KSI+ZGVmPC9zcGFuPiA8c3BhbiBjbGFzcz0ibV8tNDM0MDk1OTY5MjkzOTI0MTcxMW1fLTM4MjU5
MTc4NzU0NzE5NzYyMTJobGpzLXRpdGxlIGdtYWlsX21zZyIgc3R5bGU9ImNvbG9yOnJnYigxNjYs
MjI2LDQ2KSI+dGVzdF9mb288L3NwYW4+PHNwYW4gY2xhc3M9Im1fLTQzNDA5NTk2OTI5MzkyNDE3
MTFtXy0zODI1OTE3ODc1NDcxOTc2MjEyaGxqcy1wYXJhbXMgZ21haWxfbXNnIiBzdHlsZT0iY29s
b3I6cmdiKDI0OCwyNDgsMjQyKSI+KGEpPC9zcGFuPjo8L3NwYW4+CiAgICA8c3BhbiBjbGFzcz0i
bV8tNDM0MDk1OTY5MjkzOTI0MTcxMW1fLTM4MjU5MTc4NzU0NzE5NzYyMTJobGpzLWtleXdvcmQg
Z21haWxfbXNnIiBzdHlsZT0iY29sb3I6cmdiKDI0OSwzOCwxMTQpIj5hc3NlcnQ8L3NwYW4+IGEg
PT0gPHNwYW4gY2xhc3M9Im1fLTQzNDA5NTk2OTI5MzkyNDE3MTFtXy0zODI1OTE3ODc1NDcxOTc2
MjEyaGxqcy1zdHJpbmcgZ21haWxfbXNnIiBzdHlsZT0iY29sb3I6cmdiKDIzMCwyMTksMTE2KSI+
JzEnPC9zcGFuPgo8L2NvZGU+PC9wcmU+CiAgICAgICAgICAgICAgICAgICAgPHAgc3R5bGU9Im1h
cmdpbjoxLjJlbSAwcHghaW1wb3J0YW50IiBjbGFzcz0iZ21haWxfbXNnIj5SdW5uaW5nIGl0Ojwv
cD4KICAgICAgICAgICAgICAgICAgICA8cHJlIHN0eWxlPSJmb250LXNpemU6MC44NWVtO2ZvbnQt
ZmFtaWx5OkNvbnNvbGFzLEluY29uc29sYXRhLENvdXJpZXIsbW9ub3NwYWNlO2ZvbnQtc2l6ZTox
ZW07bGluZS1oZWlnaHQ6MS4yZW07bWFyZ2luOjEuMmVtIDBweCIgY2xhc3M9ImdtYWlsX21zZyI+
PGNvZGUgc3R5bGU9ImZvbnQtc2l6ZTowLjg1ZW07Zm9udC1mYW1pbHk6Q29uc29sYXMsSW5jb25z
b2xhdGEsQ291cmllcixtb25vc3BhY2U7bWFyZ2luOjBweCAwLjE1ZW07cGFkZGluZzowcHggMC4z
ZW07d2hpdGUtc3BhY2U6cHJlLXdyYXA7Ym9yZGVyOjFweCBzb2xpZCByZ2IoMjM0LDIzNCwyMzQp
O2JhY2tncm91bmQtY29sb3I6cmdiKDI0OCwyNDgsMjQ4KTtib3JkZXItcmFkaXVzOjNweDtkaXNw
bGF5OmlubGluZTt3aGl0ZS1zcGFjZTpwcmUtd3JhcDtvdmVyZmxvdzphdXRvO2JvcmRlci1yYWRp
dXM6M3B4O2JvcmRlcjoxcHggc29saWQgcmdiKDIwNCwyMDQsMjA0KTtwYWRkaW5nOjAuNWVtIDAu
N2VtO2Rpc3BsYXk6YmxvY2shaW1wb3J0YW50IiBjbGFzcz0iZ21haWxfbXNnIj4kIHB5LnRlc3Qg
dGVzdHNjcmlwdC5weSAtcQpzCjEgc2tpcHBlZCBpbiAwLjAxIHNlY29uZHMKCiQgcHkudGVzdCB0
ZXN0c2NyaXB0LnB5IC1xIC0tQSAxCi4KMSBwYXNzZWQgaW4gMC4wMSBzZWNvbmRzCgokIHB5LnRl
c3QgdGVzdHNjcmlwdC5weSAtcSAtLUEgMgpGCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PTx3YnI+PT09PSBGQUlMVVJFUyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT08d2JyPj09
PT09Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fXzx3YnI+X19fXyB0ZXN0X2ZvbyBfX19f
X19fX19fX19fX19fX19fX19fX19fX19fX188d2JyPl9fX19fCgphID0gJzInCgogICAgZGVmIHRl
c3RfZm9vKGEpOgomZ3Q7ICAgICAgIGFzc2VydCBhID09ICcxJwpFICAgICAgIGFzc2VydCAnMicg
PT0gJzEnCkUgICAgICAgICAtIDIKRSAgICAgICAgICsgMQoKdGVzdHNjcmlwdC5weTo2OiBBc3Nl
cnRpb25FcnJvcgoxIGZhaWxlZCBpbiAwLjA3IHNlY29uZHMKPC9jb2RlPjwvcHJlPgogICAgICAg
ICAgICAgICAgICAgIDxwIHN0eWxlPSJtYXJnaW46MS4yZW0gMHB4IWltcG9ydGFudCIgY2xhc3M9
ImdtYWlsX21zZyI+SG9wZSB0aGF0IGhlbHBzLDxiciBjbGFzcz0iZ21haWxfbXNnIj4KICAgICAg
ICAgICAgICAgICAgICAgIEJydW5vLjwvcD4KICAgICAgICAgICAgICAgICAgICA8ZGl2IHRpdGxl
PSJNREg6U0drZ1NtRnRaWE1zUEdScGRpQmpiR0Z6Y3owaVoyMWhhV3hmYlhObklqNDhZbkkrUEM5
a2FYWStQR1JwZGlCamJHRnpjejBpWjIxaGFXeGZiWE5uSWo1VWFHRnVhM01nWm05eUlIQnZjM1Jw
Ym1jZ2RHaGxJR052YlhCc1pYUmxJR1Y0WVcxd2JHVXVQR0p5UGp3dlpHbDJQanhrYVhZZ1kyeGhj
M005SW1kdFlXbHNYMjF6WnlJK1BHSnlQand2WkdsMlBqeGthWFlnWTJ4aGMzTTlJbWR0WVdsc1gy
MXpaeUkrClZHaGxjbVVnWVhKbElITnZiV1VnY0hKdllteGxiWE1nYUdWeVpTd2dZbTkwYUNCblpX
NWxjbUZzSUZCNWRHaHZiaUJ3Y205aWJHVnQKY3lCaGJtUWdjMjl0WlNCeVpXeGhkR1ZrSUhSdklH
aHZkeUI1YjNVZ1lYSmxJSFZ6YVc1bklIQjVkR1Z6ZERvOEwyUnBkajQ4WkdsMgpJR05zWVhOelBT
Sm5iV0ZwYkY5dGMyY2lQanhpY2o0OEwyUnBkajQ4WkdsMklHTnNZWE56UFNKbmJXRnBiRjl0YzJj
aVBqRXVJR0IwClpYTjBjMk55YVhCMExuQjVZQ0JvWVhNZ2JtOGdZV05qWlhOeklIUnZJSFJvWlNC
Z1FXQWdablZ1WTNScGIyNGdZbVZqWVhWelpTQnAKZENCa2IyVnpiaWQwSUdsdGNHOXlkQ0JwZEM0
bWJtSnpjRHM4TDJScGRqNDhaR2wySUdOc1lYTnpQU0puYldGcGJGOXRjMmNpUGpJdQpJRmx2ZFNC
d2NtOWlZV0pzZVNCM1lXNTBJSFJ2SUdSbFkyeGhjbVVnZVc5MWNpQm1hWGgwZFhKbElHbHVJR0Vn
WUdOdmJtWjBaWE4wCkxuQjVZQ0JtYVd4bElITnZJSEI1ZEdWemRDQmpZVzRnYldGclpTQnBkQ0Jo
ZG1GcGJHRmliR1VnWm05eUlHRnNiQ0IwWlhOMGN5QnAKYmlCNWIzVnlJSFJsYzNRZ2MzVnBkR1V1
UEM5a2FYWStQR1JwZGlCamJHRnpjejBpWjIxaGFXeGZiWE5uSWo0ekxpQlpiM1VnYUdGMgpaU0Iw
YnlCbWFYSnpkQ0JrWldOc1lYSmxJSGx2ZFhJZ2IzQjBhVzl1SUhWemFXNW5JSFJvWlNCZ2NIbDBa
WE4wWDJGa1pHOXdkR2x2CmJtQWdhRzl2YXk0OEwyUnBkajQ4WkdsMklHTnNZWE56UFNKbmJXRnBi
Rjl0YzJjaVBqUXVJRk5wYm1ObElIbHZkU0JwYm5SbGJtUWcKZEc4Z2NISnZkbWxrWlNCMGFHVWdk
bUZzZFdVZ2NHRnpjMlZrSUdsdUlIUm9aU0JqYjIxdFlXNWtJR3hwYm1VZ2RHOGdkR2hsSUhSbApj
M1J6SUhWemFXNW5JR0VnWm1sNGRIVnlaU3dnYVhRZ2FYTWdjMmx0Y0d4bGNpQjBieUJ6YTJsd0lI
Um9aU0IwWlhOMElHbHVJSFJvClpTQm1hWGgwZFhKbElHbDBjMlZzWmk0OEwyUnBkajQ4WkdsMklH
TnNZWE56UFNKbmJXRnBiRjl0YzJjaVBqeGljajQ4TDJScGRqNDgKWkdsMklHTnNZWE56UFNKbmJX
RnBiRjl0YzJjaVBraGxjbVVuY3lCMGFHVWdablZzYkNCbGVHRnRjR3hsSUhkcGRHZ2diWGtnYzNW
bgpaMlZ6ZEdsdmJuTTZQQzlrYVhZK1BHUnBkaUJqYkdGemN6MGlaMjFoYVd4ZmJYTm5JajQ4WW5J
K1BDOWthWFkrUEdScGRpQmpiR0Z6CmN6MGlaMjFoYVd4ZmJYTm5JajVnWUdCd2VYUm9iMjQ4TDJS
cGRqNDhaR2wySUdOc1lYTnpQU0puYldGcGJGOXRjMmNpUGlNZ1kyOXUKWm5SbGMzUXVjSGs4TDJS
cGRqNDhaR2wySUdOc1lYTnpQU0puYldGcGJGOXRjMmNpUGp4a2FYWWdZMnhoYzNNOUltZHRZV2xz
WDIxegpaeUkrYVcxd2IzSjBJSEI1ZEdWemREd3ZaR2wyUGp4a2FYWWdZMnhoYzNNOUltZHRZV2xz
WDIxelp5SStQR0p5UGp3dlpHbDJQanhrCmFYWWdZMnhoYzNNOUltZHRZV2xzWDIxelp5SStRSEI1
ZEdWemRDNW1hWGgwZFhKbEtITmpiM0JsUFNkdGIyUjFiR1VuS1R3dlpHbDIKUGp4a2FYWWdZMnho
YzNNOUltZHRZV2xzWDIxelp5SStaR1ZtSUdFb2NtVnhkV1Z6ZENrNlBDOWthWFkrUEdScGRpQmpi
R0Z6Y3owaQpaMjFoYVd4ZmJYTm5JajRtYm1KemNEc2dKbTVpYzNBN0lIWmhiSFZsSUQwZ2NtVnhk
V1Z6ZEM1amIyNW1hV2N1WjJWMGIzQjBhVzl1CktDSkJJaWs4TDJScGRqNDhaR2wySUdOc1lYTnpQ
U0puYldGcGJGOXRjMmNpUGladVluTndPeUFtYm1KemNEc2dhV1lnYm05MElIWmgKYkhWbE9qd3Za
R2wyUGp4a2FYWWdZMnhoYzNNOUltZHRZV2xzWDIxelp5SStKbTVpYzNBN0lDWnVZbk53T3lBbWJt
SnpjRHNnSm01aQpjM0E3SUhCNWRHVnpkQzV6YTJsd0tDZDBaWE4wSUc1bFpXUnpJQzFCSUc5d2RH
bHZiaUIwYnlCeWRXNG5LVHd2WkdsMlBqeGthWFlnClkyeGhjM005SW1kdFlXbHNYMjF6WnlJK0pt
NWljM0E3SUNadVluTndPeUJ5WlhSMWNtNGdkbUZzZFdVOEwyUnBkajQ4WkdsMklHTnMKWVhOelBT
Sm5iV0ZwYkY5dGMyY2lQanhpY2o0OEwyUnBkajQ4WkdsMklHTnNZWE56UFNKbmJXRnBiRjl0YzJj
aVBtUmxaaUJ3ZVhSbApjM1JmWVdSa2IzQjBhVzl1S0hCaGNuTmxjaWs2UEM5a2FYWStQR1JwZGlC
amJHRnpjejBpWjIxaGFXeGZiWE5uSWo0bWJtSnpjRHNnCkptNWljM0E3SUhCaGNuTmxjaTVoWkdS
dmNIUnBiMjRvSWkwdFFTSXNJR0ZqZEdsdmJqMGljM1J2Y21VaUxDQmtaV1poZFd4MFBVNXYKYm1V
c0lHaGxiSEE5SW1FZ2IzQjBhVzl1SWlrZ0ptNWljM0E3SUNadVluTndPend2WkdsMlBqeGthWFln
WTJ4aGMzTTlJbWR0WVdscwpYMjF6WnlJK1BHSnlQand2WkdsMlBqeGthWFlnWTJ4aGMzTTlJbWR0
WVdsc1gyMXpaeUkrSXlCMFpYTjBjMk55YVhCMExuQjVQQzlrCmFYWStQR1JwZGo0OFpHbDJQbVJs
WmlCMFpYTjBYMlp2YnloaEtUbzhMMlJwZGo0OFpHbDJQaVp1WW5Od095QW1ibUp6Y0RzZ1lYTnoK
WlhKMElHRWdQVDBnSnpFblBDOWthWFkrUEM5a2FYWStQQzlrYVhZK1BHUnBkaUJqYkdGemN6MGla
MjFoYVd4ZmJYTm5JajVnWUdBOApMMlJwZGo0OFpHbDJJR05zWVhOelBTSm5iV0ZwYkY5dGMyY2lQ
anhpY2o0OEwyUnBkajQ4WkdsMklHTnNZWE56UFNKbmJXRnBiRjl0CmMyY2lQbEoxYm01cGJtY2dh
WFE2UEM5a2FYWStQR1JwZGlCamJHRnpjejBpWjIxaGFXeGZiWE5uSWo0OFluSStQQzlrYVhZK1BH
UnAKZGlCamJHRnpjejBpWjIxaGFXeGZiWE5uSWo1Z1lHQThMMlJwZGo0OFpHbDJJR05zWVhOelBT
Sm5iV0ZwYkY5dGMyY2lQanhrYVhZZwpZMnhoYzNNOUltZHRZV2xzWDIxelp5SStKQ0J3ZVM1MFpY
TjBJSFJsYzNSelkzSnBjSFF1Y0hrZ0xYRThMMlJwZGo0OFpHbDJJR05zCllYTnpQU0puYldGcGJG
OXRjMmNpUG5NOEwyUnBkajQ4WkdsMklHTnNZWE56UFNKbmJXRnBiRjl0YzJjaVBqRWdjMnRwY0hC
bFpDQnAKYmlBd0xqQXhJSE5sWTI5dVpITThMMlJwZGo0OFpHbDJJR05zWVhOelBTSm5iV0ZwYkY5
dGMyY2lQanhpY2o0OEwyUnBkajQ4WkdsMgpJR05zWVhOelBTSm5iV0ZwYkY5dGMyY2lQaVFnY0hr
dWRHVnpkQ0IwWlhOMGMyTnlhWEIwTG5CNUlDMXhJQzB0UVNBeFBDOWthWFkrClBHUnBkaUJqYkdG
emN6MGlaMjFoYVd4ZmJYTm5JajR1UEM5a2FYWStQR1JwZGlCamJHRnpjejBpWjIxaGFXeGZiWE5u
SWo0eElIQmgKYzNObFpDQnBiaUF3TGpBeElITmxZMjl1WkhNOEwyUnBkajQ4WkdsMklHTnNZWE56
UFNKbmJXRnBiRjl0YzJjaVBqeGljajQ4TDJScApkajQ4WkdsMklHTnNZWE56UFNKbmJXRnBiRjl0
YzJjaVBpUWdjSGt1ZEdWemRDQjBaWE4wYzJOeWFYQjBMbkI1SUMxeElDMHRRU0F5ClBDOWthWFkr
UEdScGRpQmpiR0Z6Y3owaVoyMWhhV3hmYlhObklqNUdQQzlrYVhZK1BHUnBkaUJqYkdGemN6MGla
MjFoYVd4ZmJYTm4KSWo0OVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQ
VDA5SUVaQlNVeFZVa1ZUSUQwOVBUMDlQVDA5UFQwOQpQVDA5UFQwOVBUMDlQVDA5UFQwOVBUMDlQ
VDA5UFQwOVBDOWthWFkrUEdScGRpQmpiR0Z6Y3owaVoyMWhhV3hmYlhObklqNWZYMTlmClgxOWZY
MTlmWDE5ZlgxOWZYMTlmWDE5ZlgxOWZYMTlmWDE5ZlgxOWZJSFJsYzNSZlptOXZJRjlmWDE5Zlgx
OWZYMTlmWDE5ZlgxOWYKWDE5ZlgxOWZYMTlmWDE5ZlgxOWZYMTlmUEM5a2FYWStQR1JwZGlCamJH
RnpjejBpWjIxaGFXeGZiWE5uSWo0OFluSStQQzlrYVhZKwpQR1JwZGlCamJHRnpjejBpWjIxaGFX
eGZiWE5uSWo1aElEMGdKekluUEM5a2FYWStQR1JwZGlCamJHRnpjejBpWjIxaGFXeGZiWE5uCklq
NDhZbkkrUEM5a2FYWStQR1JwZGlCamJHRnpjejBpWjIxaGFXeGZiWE5uSWo0bWJtSnpjRHNnSm01
aWMzQTdJR1JsWmlCMFpYTjAKWDJadmJ5aGhLVG84TDJScGRqNDhaR2wySUdOc1lYTnpQU0puYldG
cGJGOXRjMmNpUGlabmREc2dKbTVpYzNBN0lDWnVZbk53T3lBbQpibUp6Y0RzZ1lYTnpaWEowSUdF
Z1BUMGdKekVuUEM5a2FYWStQR1JwZGlCamJHRnpjejBpWjIxaGFXeGZiWE5uSWo1RklDWnVZbk53
Ck95QW1ibUp6Y0RzZ0ptNWljM0E3SUdGemMyVnlkQ0FuTWljZ1BUMGdKekVuUEM5a2FYWStQR1Jw
ZGlCamJHRnpjejBpWjIxaGFXeGYKYlhObklqNUZJQ1p1WW5Od095QW1ibUp6Y0RzZ0ptNWljM0E3
SUNadVluTndPeUF0SURJOEwyUnBkajQ4WkdsMklHTnNZWE56UFNKbgpiV0ZwYkY5dGMyY2lQa1Vn
Sm01aWMzQTdJQ1p1WW5Od095QW1ibUp6Y0RzZ0ptNWljM0E3SUNzZ01Ud3ZaR2wyUGp4a2FYWWdZ
MnhoCmMzTTlJbWR0WVdsc1gyMXpaeUkrUEdKeVBqd3ZaR2wyUGp4a2FYWWdZMnhoYzNNOUltZHRZ
V2xzWDIxelp5SStkR1Z6ZEhOamNtbHcKZEM1d2VUbzJPaUJCYzNObGNuUnBiMjVGY25KdmNqd3Za
R2wyUGp4a2FYWWdZMnhoYzNNOUltZHRZV2xzWDIxelp5SStNU0JtWVdscwpaV1FnYVc0Z01DNHdO
eUJ6WldOdmJtUnpQQzlrYVhZK1BDOWthWFkrUEdScGRpQmpiR0Z6Y3owaVoyMWhhV3hmYlhObklq
NWdZR0E4CkwyUnBkajQ4WkdsMklHTnNZWE56UFNKbmJXRnBiRjl0YzJjaVBqeGljajQ4TDJScGRq
NDhaR2wySUdOc1lYTnpQU0puYldGcGJGOXQKYzJjaVBraHZjR1VnZEdoaGRDQm9aV3h3Y3l3OEwy
UnBkajQ4WkdsMklHTnNZWE56UFNKbmJXRnBiRjl0YzJjaVBrSnlkVzV2TGp3dgogICAgICAgICAg
ICAgICAgICAgICAgWkdsMlBnPT0iIHN0eWxlPSJoZWlnaHQ6MDt3aWR0aDowO21heC1oZWlnaHQ6
MDttYXgtd2lkdGg6MDtvdmVyZmxvdzpoaWRkZW47Zm9udC1zaXplOjBlbTtwYWRkaW5nOjA7bWFy
Z2luOjAiIGNsYXNzPSJnbWFpbF9tc2ciPuKAizwvZGl2PgogICAgICAgICAgICAgICAgICA8L2Rp
dj4KICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZ21haWxfbXNnIj48YnIgY2xhc3M9Imdt
YWlsX21zZyI+CiAgICAgICAgICAgICAgICAgIDwvZGl2PgogICAgICAgICAgICAgICAgICA8ZGl2
IGNsYXNzPSJnbWFpbF9tc2ciPjxiciBjbGFzcz0iZ21haWxfbXNnIj4KICAgICAgICAgICAgICAg
ICAgPC9kaXY+CiAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgIDxkaXYgY2xh
c3M9ImdtYWlsX3F1b3RlIGdtYWlsX21zZyI+CiAgICAgICAgICAgICAgICAgIDxkaXYgZGlyPSJs
dHIiIGNsYXNzPSJnbWFpbF9tc2ciPk9uIEZyaSwgT2N0IDE0LCAyMDE2CiAgICAgICAgICAgICAg
ICAgICAgYXQgMzowNyBQTSBKYW1lcyAmbHQ7PGEgaHJlZj0ibWFpbHRvOmJqbG9ja2llQGxvY2tp
ZS5jYSIgY2xhc3M9ImdtYWlsX21zZyIgdGFyZ2V0PSJfYmxhbmsiPmJqbG9ja2llQGxvY2tpZS5j
YTwvYT4mZ3Q7IHdyb3RlOjxiciBjbGFzcz0iZ21haWxfbXNnIj4KICAgICAgICAgICAgICAgICAg
PC9kaXY+CiAgICAgICAgICAgICAgICAgIDxibG9ja3F1b3RlIGNsYXNzPSJnbWFpbF9xdW90ZSBn
bWFpbF9tc2ciIHN0eWxlPSJtYXJnaW46MCAwIDAgLjhleDtib3JkZXItbGVmdDoxcHggI2NjYyBz
b2xpZDtwYWRkaW5nLWxlZnQ6MWV4Ij4KICAgICAgICAgICAgICAgICAgICA8ZGl2IGJnY29sb3I9
IiNGRkZGRkYiIHRleHQ9IiMwMDAwMDAiIGNsYXNzPSJnbWFpbF9tc2ciPiA8YnIgY2xhc3M9Imdt
YWlsX21zZyI+CiAgICAgICAgICAgICAgICAgICAgICBIZXJlIGlzIHRoZSBleGFjdCBjb2RlOjxi
ciBjbGFzcz0iZ21haWxfbXNnIj4KICAgICAgICAgICAgICAgICAgICAgICQgY2F0IHRlc3Rjb25m
aWcucHkgPGJyIGNsYXNzPSJnbWFpbF9tc2ciPgogICAgICAgICAgICAgICAgICAgICAgaW1wb3J0
IHB5dGVzdDwvZGl2PgogICAgICAgICAgICAgICAgICAgIDxkaXYgYmdjb2xvcj0iI0ZGRkZGRiIg
dGV4dD0iIzAwMDAwMCIgY2xhc3M9ImdtYWlsX21zZyI+PGJyIGNsYXNzPSJnbWFpbF9tc2ciPgog
ICAgICAgICAgICAgICAgICAgICAgPGJyIGNsYXNzPSJnbWFpbF9tc2ciPgogICAgICAgICAgICAg
ICAgICAgICAgQHB5dGVzdC5maXh0dXJlKHNjb3BlPSdtb2R1bGUnPHdicj4pPGJyIGNsYXNzPSJn
bWFpbF9tc2ciPgogICAgICAgICAgICAgICAgICAgICAgZGVmIEEocmVxdWVzdCk6PGJyIGNsYXNz
PSJnbWFpbF9tc2ciPgogICAgICAgICAgICAgICAgICAgICAgJm5ic3A7Jm5ic3A7Jm5ic3A7IHJl
dHVybiByZXF1ZXN0LmNvbmZpZy5nZXRvcHRpb24oIi0tQSI8d2JyPik8YnIgY2xhc3M9ImdtYWls
X21zZyI+CiAgICAgICAgICAgICAgICAgICAgICA8YnIgY2xhc3M9ImdtYWlsX21zZyI+CiAgICAg
ICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBiZ2NvbG9yPSIj
RkZGRkZGIiB0ZXh0PSIjMDAwMDAwIiBjbGFzcz0iZ21haWxfbXNnIj4gJCBjYXQgdGVzdHNjcmlw
dC5weSA8YnIgY2xhc3M9ImdtYWlsX21zZyI+CiAgICAgICAgICAgICAgICAgICAgICBpbXBvcnQg
cHl0ZXN0PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBiZ2NvbG9yPSIjRkZGRkZGIiB0
ZXh0PSIjMDAwMDAwIiBjbGFzcz0iZ21haWxfbXNnIj48YnIgY2xhc3M9ImdtYWlsX21zZyI+CiAg
ICAgICAgICAgICAgICAgICAgICAmbmJzcDs8YnIgY2xhc3M9ImdtYWlsX21zZyI+CiAgICAgICAg
ICAgICAgICAgICAgICBza2lwX0EgPSBweXRlc3QubWFyay5za2lwaWYoPGJyIGNsYXNzPSJnbWFp
bF9tc2ciPgogICAgICAgICAgICAgICAgICAgICAgJm5ic3A7Jm5ic3A7Jm5ic3A7IEEocHl0ZXN0
LmNvbmZpZy5yZXF1ZXN0KSw8YnIgY2xhc3M9ImdtYWlsX21zZyI+CiAgICAgICAgICAgICAgICAg
ICAgICAmbmJzcDsmbmJzcDsmbmJzcDsgcmVhc29uPSJuZWVkIC0tQSBvcHRpb24gdG8gcnVuIjxi
ciBjbGFzcz0iZ21haWxfbXNnIj4KICAgICAgICAgICAgICAgICAgICAgICk8YnIgY2xhc3M9Imdt
YWlsX21zZyI+CiAgICAgICAgICAgICAgICAgICAgICA8YnIgY2xhc3M9ImdtYWlsX21zZyI+CiAg
ICAgICAgICAgICAgICAgICAgICA8YnIgY2xhc3M9ImdtYWlsX21zZyI+CiAgICAgICAgICAgICAg
ICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgPGRpdiBiZ2NvbG9yPSIjRkZGRkZGIiB0
ZXh0PSIjMDAwMDAwIiBjbGFzcz0iZ21haWxfbXNnIj4gJCBweS50ZXN0IHRlc3RzY3JpcHQucHkg
PGJyIGNsYXNzPSJnbWFpbF9tc2ciPgogICAgICAgICAgICAgICAgICAgICAgPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0gdGVzdCBzZXNzaW9uIHN0YXJ0cwogICAgICAgICAgICAgICAgICAg
ICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PGJyIGNsYXNzPSJnbWFpbF9tc2ciPgog
ICAgICAgICAgICAgICAgICAgICAgcGxhdGZvcm0gbGludXgyIC0tIFB5dGhvbiAyLjcuMTIsIHB5
dGVzdC0yLjguNywKICAgICAgICAgICAgICAgICAgICAgIHB5LTEuNC4zMSwgcGx1Z2d5LTAuMy4x
PGJyIGNsYXNzPSJnbWFpbF9tc2ciPgogICAgICAgICAgICAgICAgICAgICAgcm9vdGRpcjogL2hv
bWUvcmpsL3B5dGVzdCwgaW5pZmlsZTogPGJyIGNsYXNzPSJnbWFpbF9tc2ciPgogICAgICAgICAg
ICAgICAgICAgICAgY29sbGVjdGVkIDAgaXRlbXMgLyAxIGVycm9ycyA8YnIgY2xhc3M9ImdtYWls
X21zZyI+CiAgICAgICAgICAgICAgICAgICAgICA8YnIgY2xhc3M9ImdtYWlsX21zZyI+CiAgICAg
ICAgICAgICAgICAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT08d2JyPj09PT09
PSBFUlJPUlMKICAgICAgICAgICAgICAgICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PTx3YnI+PT09PT09PGJyIGNsYXNzPSJnbWFpbF9tc2ciPgogICAgICAgICAgICAgICAgICAg
ICAgX19fX19fX19fX19fX19fX19fX19fX19fIEVSUk9SIGNvbGxlY3RpbmcKICAgICAgICAgICAg
ICAgICAgICAgIHRlc3RzY3JpcHQucHkgX19fX19fX19fX19fX19fX19fX19fX19fPGJyIGNsYXNz
PSJnbWFpbF9tc2ciPgogICAgICAgICAgICAgICAgICAgICAgdGVzdHNjcmlwdC5weTo0OiBpbiAm
bHQ7bW9kdWxlJmd0OzxiciBjbGFzcz0iZ21haWxfbXNnIj4KICAgICAgICAgICAgICAgICAgICAg
ICZuYnNwOyZuYnNwOyZuYnNwOyBBKHB5dGVzdC5jb25maWcucmVxdWVzdCksPC9kaXY+CiAgICAg
ICAgICAgICAgICAgICAgPGRpdiBiZ2NvbG9yPSIjRkZGRkZGIiB0ZXh0PSIjMDAwMDAwIiBjbGFz
cz0iZ21haWxfbXNnIj48YnIgY2xhc3M9ImdtYWlsX21zZyI+CiAgICAgICAgICAgICAgICAgICAg
ICBFJm5ic3A7Jm5ic3A7IE5hbWVFcnJvcjogbmFtZSAnQScgaXMgbm90IGRlZmluZWQ8YnIgY2xh
c3M9ImdtYWlsX21zZyI+CiAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAg
ICAgICAgPGRpdiBiZ2NvbG9yPSIjRkZGRkZGIiB0ZXh0PSIjMDAwMDAwIiBjbGFzcz0iZ21haWxf
bXNnIj4gPT09PT09PT09PT09PT09PT09PT09PT09PT09IDEKICAgICAgICAgICAgICAgICAgICAg
IGVycm9yIGluIDAuMDEgc2Vjb25kcyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PGJyIGNs
YXNzPSJnbWFpbF9tc2ciPgogICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9Im1fLTQz
NDA5NTk2OTI5MzkyNDE3MTFtXy0zODI1OTE3ODc1NDcxOTc2MjEybV8tNTUwNTgzMDY0MDQ2NjQ1
NDcyMm1fLTc3OTE2MjY2ODUwNDQ2NTA0NW4gZ21haWxfbXNnIj48YnIgY2xhc3M9ImdtYWlsX21z
ZyI+CiAgICAgICAgICAgICAgICAgICAgICAgIEluc3RlYWQgb2YgZG9pbmcgPC9zcGFuPjxiciBj
bGFzcz0iZ21haWxfbXNnIj4KICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPSJtXy00
MzQwOTU5NjkyOTM5MjQxNzExbV8tMzgyNTkxNzg3NTQ3MTk3NjIxMm1fLTU1MDU4MzA2NDA0NjY0
NTQ3MjJtXy03NzkxNjI2Njg1MDQ0NjUwNDVuIGdtYWlsX21zZyI+PHNwYW4gY2xhc3M9Im1fLTQz
NDA5NTk2OTI5MzkyNDE3MTFtXy0zODI1OTE3ODc1NDcxOTc2MjEybV8tNTUwNTgzMDY0MDQ2NjQ1
NDcyMm1fLTc3OTE2MjY2ODUwNDQ2NTA0NW4gZ21haWxfbXNnIj5weXRlc3Q8L3NwYW4+PHNwYW4g
Y2xhc3M9Im1fLTQzNDA5NTk2OTI5MzkyNDE3MTFtXy0zODI1OTE3ODc1NDcxOTc2MjEybV8tNTUw
NTgzMDY0MDQ2NjQ1NDcyMm1fLTc3OTE2MjY2ODUwNDQ2NTA0NW8gZ21haWxfbXNnIj4uPC9zcGFu
PjxzcGFuIGNsYXNzPSJtXy00MzQwOTU5NjkyOTM5MjQxNzExbV8tMzgyNTkxNzg3NTQ3MTk3NjIx
Mm1fLTU1MDU4MzA2NDA0NjY0NTQ3MjJtXy03NzkxNjI2Njg1MDQ0NjUwNDVuIGdtYWlsX21zZyI+
Y29uZmlnPC9zcGFuPjxzcGFuIGNsYXNzPSJtXy00MzQwOTU5NjkyOTM5MjQxNzExbV8tMzgyNTkx
Nzg3NTQ3MTk3NjIxMm1fLTU1MDU4MzA2NDA0NjY0NTQ3MjJtXy03NzkxNjI2Njg1MDQ0NjUwNDVv
IGdtYWlsX21zZyI+Ljwvc3Bhbj48c3BhbiBjbGFzcz0ibV8tNDM0MDk1OTY5MjkzOTI0MTcxMW1f
LTM4MjU5MTc4NzU0NzE5NzYyMTJtXy01NTA1ODMwNjQwNDY2NDU0NzIybV8tNzc5MTYyNjY4NTA0
NDY1MDQ1biBnbWFpbF9tc2ciPmdldG9wdGlvbjwvc3Bhbj48c3BhbiBjbGFzcz0ibV8tNDM0MDk1
OTY5MjkzOTI0MTcxMW1fLTM4MjU5MTc4NzU0NzE5NzYyMTJtXy01NTA1ODMwNjQwNDY2NDU0NzIy
bV8tNzc5MTYyNjY4NTA0NDY1MDQ1cCBnbWFpbF9tc2ciPjwvc3Bhbj4gbW9yZSB0aGFuIG9uZSBs
aWtlIHRoaXM6PGJyIGNsYXNzPSJnbWFpbF9tc2ciPgogICAgICAgICAgICAgICAgICAgICAgICBz
a2lwX0E8L3NwYW4+IDxzcGFuIGNsYXNzPSJtXy00MzQwOTU5NjkyOTM5MjQxNzExbV8tMzgyNTkx
Nzg3NTQ3MTk3NjIxMm1fLTU1MDU4MzA2NDA0NjY0NTQ3MjJtXy03NzkxNjI2Njg1MDQ0NjUwNDVv
IGdtYWlsX21zZyI+PTwvc3Bhbj4gPHNwYW4gY2xhc3M9Im1fLTQzNDA5NTk2OTI5MzkyNDE3MTFt
Xy0zODI1OTE3ODc1NDcxOTc2MjEybV8tNTUwNTgzMDY0MDQ2NjQ1NDcyMm1fLTc3OTE2MjY2ODUw
NDQ2NTA0NW4gZ21haWxfbXNnIj5weXRlc3Q8L3NwYW4+PHNwYW4gY2xhc3M9Im1fLTQzNDA5NTk2
OTI5MzkyNDE3MTFtXy0zODI1OTE3ODc1NDcxOTc2MjEybV8tNTUwNTgzMDY0MDQ2NjQ1NDcyMm1f
LTc3OTE2MjY2ODUwNDQ2NTA0NW8gZ21haWxfbXNnIj4uPC9zcGFuPjxzcGFuIGNsYXNzPSJtXy00
MzQwOTU5NjkyOTM5MjQxNzExbV8tMzgyNTkxNzg3NTQ3MTk3NjIxMm1fLTU1MDU4MzA2NDA0NjY0
NTQ3MjJtXy03NzkxNjI2Njg1MDQ0NjUwNDVuIGdtYWlsX21zZyI+bWFyazwvc3Bhbj48c3BhbiBj
bGFzcz0ibV8tNDM0MDk1OTY5MjkzOTI0MTcxMW1fLTM4MjU5MTc4NzU0NzE5NzYyMTJtXy01NTA1
ODMwNjQwNDY2NDU0NzIybV8tNzc5MTYyNjY4NTA0NDY1MDQ1byBnbWFpbF9tc2ciPi48L3NwYW4+
PHNwYW4gY2xhc3M9Im1fLTQzNDA5NTk2OTI5MzkyNDE3MTFtXy0zODI1OTE3ODc1NDcxOTc2MjEy
bV8tNTUwNTgzMDY0MDQ2NjQ1NDcyMm1fLTc3OTE2MjY2ODUwNDQ2NTA0NW4gZ21haWxfbXNnIj5z
a2lwaWY8L3NwYW4+PHNwYW4gY2xhc3M9Im1fLTQzNDA5NTk2OTI5MzkyNDE3MTFtXy0zODI1OTE3
ODc1NDcxOTc2MjEybV8tNTUwNTgzMDY0MDQ2NjQ1NDcyMm1fLTc3OTE2MjY2ODUwNDQ2NTA0NXAg
Z21haWxfbXNnIj4oPC9zcGFuPiA8c3BhbiBjbGFzcz0ibV8tNDM0MDk1OTY5MjkzOTI0MTcxMW1f
LTM4MjU5MTc4NzU0NzE5NzYyMTJtXy01NTA1ODMwNjQwNDY2NDU0NzIybV8tNzc5MTYyNjY4NTA0
NDY1MDQ1biBnbWFpbF9tc2ciPnB5dGVzdDwvc3Bhbj48c3BhbiBjbGFzcz0ibV8tNDM0MDk1OTY5
MjkzOTI0MTcxMW1fLTM4MjU5MTc4NzU0NzE5NzYyMTJtXy01NTA1ODMwNjQwNDY2NDU0NzIybV8t
Nzc5MTYyNjY4NTA0NDY1MDQ1byBnbWFpbF9tc2ciPi48L3NwYW4+PHNwYW4gY2xhc3M9Im1fLTQz
NDA5NTk2OTI5MzkyNDE3MTFtXy0zODI1OTE3ODc1NDcxOTc2MjEybV8tNTUwNTgzMDY0MDQ2NjQ1
NDcyMm1fLTc3OTE2MjY2ODUwNDQ2NTA0NW4gZ21haWxfbXNnIj5jb25maWc8L3NwYW4+PHNwYW4g
Y2xhc3M9Im1fLTQzNDA5NTk2OTI5MzkyNDE3MTFtXy0zODI1OTE3ODc1NDcxOTc2MjEybV8tNTUw
NTgzMDY0MDQ2NjQ1NDcyMm1fLTc3OTE2MjY2ODUwNDQ2NTA0NW8gZ21haWxfbXNnIj4uPC9zcGFu
PjxzcGFuIGNsYXNzPSJtXy00MzQwOTU5NjkyOTM5MjQxNzExbV8tMzgyNTkxNzg3NTQ3MTk3NjIx
Mm1fLTU1MDU4MzA2NDA0NjY0NTQ3MjJtXy03NzkxNjI2Njg1MDQ0NjUwNDVuIGdtYWlsX21zZyI+
Z2V0b3B0aW9uPC9zcGFuPjxzcGFuIGNsYXNzPSJtXy00MzQwOTU5NjkyOTM5MjQxNzExbV8tMzgy
NTkxNzg3NTQ3MTk3NjIxMm1fLTU1MDU4MzA2NDA0NjY0NTQ3MjJtXy03NzkxNjI2Njg1MDQ0NjUw
NDVwIGdtYWlsX21zZyI+KDwvc3Bhbj48c3BhbiBjbGFzcz0ibV8tNDM0MDk1OTY5MjkzOTI0MTcx
MW1fLTM4MjU5MTc4NzU0NzE5NzYyMTJtXy01NTA1ODMwNjQwNDY2NDU0NzIybV8tNzc5MTYyNjY4
NTA0NDY1MDQ1czIgZ21haWxfbXNnIj4iLS1BIjwvc3Bhbj48c3BhbiBjbGFzcz0ibV8tNDM0MDk1
OTY5MjkzOTI0MTcxMW1fLTM4MjU5MTc4NzU0NzE5NzYyMTJtXy01NTA1ODMwNjQwNDY2NDU0NzIy
bV8tNzc5MTYyNjY4NTA0NDY1MDQ1cCBnbWFpbF9tc2ciPik8d2JyPiw8L3NwYW4+IDxzcGFuIGNs
YXNzPSJtXy00MzQwOTU5NjkyOTM5MjQxNzExbV8tMzgyNTkxNzg3NTQ3MTk3NjIxMm1fLTU1MDU4
MzA2NDA0NjY0NTQ3MjJtXy03NzkxNjI2Njg1MDQ0NjUwNDVuIGdtYWlsX21zZyI+cmVhc29uPC9z
cGFuPjxzcGFuIGNsYXNzPSJtXy00MzQwOTU5NjkyOTM5MjQxNzExbV8tMzgyNTkxNzg3NTQ3MTk3
NjIxMm1fLTU1MDU4MzA2NDA0NjY0NTQ3MjJtXy03NzkxNjI2Njg1MDQ0NjUwNDVvIGdtYWlsX21z
ZyI+PTwvc3Bhbj48c3BhbiBjbGFzcz0ibV8tNDM0MDk1OTY5MjkzOTI0MTcxMW1fLTM4MjU5MTc4
NzU0NzE5NzYyMTJtXy01NTA1ODMwNjQwNDY2NDU0NzIybV8tNzc5MTYyNjY4NTA0NDY1MDQ1czIg
Z21haWxfbXNnIj4ibmVlZCAtLUEgb3B0aW9uIHRvIHJ1biI8L3NwYW4+IDxzcGFuIGNsYXNzPSJt
Xy00MzQwOTU5NjkyOTM5MjQxNzExbV8tMzgyNTkxNzg3NTQ3MTk3NjIxMm1fLTU1MDU4MzA2NDA0
NjY0NTQ3MjJtXy03NzkxNjI2Njg1MDQ0NjUwNDVwIGdtYWlsX21zZyI+KTxiciBjbGFzcz0iZ21h
aWxfbXNnIj4KICAgICAgICAgICAgICAgICAgICAgICAgSSB3YW50IHRvIGRvIGl0IG9uY2UgaW4g
dGhlIGNvbmZpZyBmaWxlLjwvc3Bhbj48YnIgY2xhc3M9ImdtYWlsX21zZyI+CiAgICAgICAgICAg
ICAgICAgICAgICBJIG1pZ2h0IHdhbnQgdG8gdXNlIHRoZSB2YWx1ZSBvZiB0aGUgYXJndW1lbnQg
LS1BCiAgICAgICAgICAgICAgICAgICAgICBlbHNld2hlcmUgc28gSSBkb24ndCB3YW50IHRvIGRv
IGdldG9wdGlvbiBtYW55CiAgICAgICAgICAgICAgICAgICAgICB0aW1lcy48L2Rpdj4KICAgICAg
ICAgICAgICAgICAgICA8ZGl2IGJnY29sb3I9IiNGRkZGRkYiIHRleHQ9IiMwMDAwMDAiIGNsYXNz
PSJnbWFpbF9tc2ciPjxiciBjbGFzcz0iZ21haWxfbXNnIj4KICAgICAgICAgICAgICAgICAgICAg
IDxiciBjbGFzcz0iZ21haWxfbXNnIj4KICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9
Im1fLTQzNDA5NTk2OTI5MzkyNDE3MTFtXy0zODI1OTE3ODc1NDcxOTc2MjEybV8tNTUwNTgzMDY0
MDQ2NjQ1NDcyMm1fLTc3OTE2MjY2ODUwNDQ2NTA0NW1vei1jaXRlLXByZWZpeCBnbWFpbF9tc2ci
Pk9uIDIwMTYtMTAtMTQgMDE6MTYgUE0sIEJydW5vCiAgICAgICAgICAgICAgICAgICAgICAgIE9s
aXZlaXJhIHdyb3RlOjxiciBjbGFzcz0iZ21haWxfbXNnIj4KICAgICAgICAgICAgICAgICAgICAg
IDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgPGJsb2NrcXVvdGUgdHlwZT0iY2l0ZSIgY2xh
c3M9ImdtYWlsX21zZyI+CiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgZGlyPSJsdHIiIGNs
YXNzPSJnbWFpbF9tc2ciPgogICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9Im1f
LTQzNDA5NTk2OTI5MzkyNDE3MTFtXy0zODI1OTE3ODc1NDcxOTc2MjEybV8tNTUwNTgzMDY0MDQ2
NjQ1NDcyMm1fLTc3OTE2MjY2ODUwNDQ2NTA0NW1hcmtkb3duLWhlcmUtd3JhcHBlciBnbWFpbF9t
c2ciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPHAgc3R5bGU9Im1hcmdpbjoxLjJlbSAw
cHghaW1wb3J0YW50IiBjbGFzcz0iZ21haWxfbXNnIj5IaSw8L3A+CiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICA8cCBzdHlsZT0ibWFyZ2luOjEuMmVtIDBweCFpbXBvcnRhbnQiIGNsYXNzPSJn
bWFpbF9tc2ciPkFmdGVyIGZpeGluZyB0aGUgbWlzc2luZwogICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICDigJxweXRlc3TigJ0gaW1wb3J0LCBJIGdldCB0aGlzIGVycm9yOjwvcD4KICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIDxwcmUgc3R5bGU9ImZvbnQtc2l6ZTowLjg1ZW07Zm9udC1m
YW1pbHk6Q29uc29sYXMsSW5jb25zb2xhdGEsQ291cmllcixtb25vc3BhY2U7Zm9udC1zaXplOjFl
bTtsaW5lLWhlaWdodDoxLjJlbTttYXJnaW46MS4yZW0gMHB4IiBjbGFzcz0iZ21haWxfbXNnIj48
Y29kZSBzdHlsZT0iZm9udC1zaXplOjAuODVlbTtmb250LWZhbWlseTpDb25zb2xhcyxJbmNvbnNv
bGF0YSxDb3VyaWVyLG1vbm9zcGFjZTttYXJnaW46MHB4IDAuMTVlbTtwYWRkaW5nOjBweCAwLjNl
bTt3aGl0ZS1zcGFjZTpwcmUtd3JhcDtib3JkZXI6MXB4IHNvbGlkIHJnYigyMzQsMjM0LDIzNCk7
YmFja2dyb3VuZC1jb2xvcjpyZ2IoMjQ4LDI0OCwyNDgpO2JvcmRlci1yYWRpdXM6M3B4O2Rpc3Bs
YXk6aW5saW5lO3doaXRlLXNwYWNlOnByZS13cmFwO292ZXJmbG93OmF1dG87Ym9yZGVyLXJhZGl1
czozcHg7Ym9yZGVyOjFweCBzb2xpZCByZ2IoMjA0LDIwNCwyMDQpO3BhZGRpbmc6MC41ZW0gMC43
ZW07ZGlzcGxheTpibG9jayFpbXBvcnRhbnQiIGNsYXNzPSJnbWFpbF9tc2ciPmZvby5weTo4OiBp
biAmbHQ7bW9kdWxlJmd0OwogICAgQShweXRlc3QuY29uZmlnLnJlcXVlc3QpLApFICAgQXR0cmli
dXRlRXJyb3I6ICdDb25maWcnIG9iamVjdCBoYXMgbm8gYXR0cmlidXRlICdyZXF1ZXN0Jwo8L2Nv
ZGU+PC9wcmU+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBzdHlsZT0ibWFyZ2luOjEu
MmVtIDBweCFpbXBvcnRhbnQiIGNsYXNzPSJnbWFpbF9tc2ciPlBsZWFzZSBtYWtlIHN1cmUgdG8g
cG9zdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhIGNvbXBsZXRlIGV4YW1wbGUgYW5k
IHN0YXRlIGNsZWFybHkgd2hhdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICB5b3VyIHBy
b2JsZW0gaXMgYW5kIHdoYXQgeW91IGFyZSB0cnlpbmcgdG8KICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgYWNjb21wbGlzaC48L3A+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cCBz
dHlsZT0ibWFyZ2luOjEuMmVtIDBweCFpbXBvcnRhbnQiIGNsYXNzPSJnbWFpbF9tc2ciPkNoZWVy
cyw8YnIgY2xhc3M9ImdtYWlsX21zZyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJy
dW5vLjwvcD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgdGl0bGU9Ik1ESDpTR2tz
UEdScGRqNDhZbkkrUEM5a2FYWStQR1JwZGo1QlpuUmxjaUJtYVhocGJtY2dkR2hsSUcxcGMzTnBi
bWNnSW5CNWRHVnpkQ0lnYVcxd2IzSjBMQ0JKSUdkbGRDQjBhR2x6SUdWeWNtOXlPand2WkdsMlBq
eGthWFkrUEdKeVBqd3ZaR2wyUGp4a2FYWStZR0JnUEM5a2FYWStQR1JwZGo0OFpHbDJQbVp2Ynk1
d2VUbzRPaUJwYmlBbWJIUTdiVzlrZFd4bEptZDBPend2WkdsMlBqeGthWFkrSm01aWMzQTdJQ1p1
WW5Od095QkJLSEI1ZEdWemRDNWpiMjVtYVdjdWNtVnhkV1Z6ZENrc1BDOWthWFkrUEdScGRqNUZJ
Q1p1WW5Od095QkJkSFJ5CmFXSjFkR1ZGY25KdmNqb2dKME52Ym1acFp5Y2diMkpxWldOMElHaGhj
eUJ1YnlCaGRIUnlhV0oxZEdVZ0ozSmxjWFZsYzNRblBDOWsKYVhZK1BDOWthWFkrUEdScGRqNWdZ
R0E4TDJScGRqNDhaR2wyUGp4aWNqNDhMMlJwZGo0OFpHbDJQbEJzWldGelpTQnRZV3RsSUhOMQpj
bVVnZEc4Z2NHOXpkQ0JoSUdOdmJYQnNaWFJsSUdWNFlXMXdiR1VnWVc1a0lITjBZWFJsSUdOc1pX
RnliSGtnZDJoaGRDQjViM1Z5CklIQnliMkpzWlcwZ2FYTWdZVzVrSUhkb1lYUWdlVzkxSUdGeVpT
QjBjbmxwYm1jZ2RHOGdZV05qYjIxd2JHbHphQzQ4TDJScGRqNDgKWkdsMlBqeGljajQ4TDJScGRq
NDhaR2wyUGtOb1pXVnljeXc4TDJScGRqNDhaR2wyUGtKeWRXNXZMand2WkdsMlBnPT0iIHN0eWxl
PSJtaW4taGVpZ2h0OjA7d2lkdGg6MDttYXgtaGVpZ2h0OjA7bWF4LXdpZHRoOjA7b3ZlcmZsb3c6
aGlkZGVuO2ZvbnQtc2l6ZTowZW07cGFkZGluZzowO21hcmdpbjowIiBjbGFzcz0iZ21haWxfbXNn
Ij7igIs8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAg
ICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgIDxiciBjbGFzcz0iZ21h
aWxfbXNnIj4KICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0iZ21haWxfcXVvdGUg
Z21haWxfbXNnIj4KICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGRpcj0ibHRyIiBjbGFz
cz0iZ21haWxfbXNnIj5PbiBGcmksIE9jdAogICAgICAgICAgICAgICAgICAgICAgICAgICAgMTQs
IDIwMTYgYXQgMjowMyBQTSBKYW1lcyAmbHQ7PGEgaHJlZj0ibWFpbHRvOmJqbG9ja2llQGxvY2tp
ZS5jYSIgY2xhc3M9ImdtYWlsX21zZyIgdGFyZ2V0PSJfYmxhbmsiPmJqbG9ja2llQGxvY2tpZS5j
YTwvYT4mZ3Q7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3cm90ZTo8YnIgY2xhc3M9Imdt
YWlsX21zZyI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAg
ICAgICAgICAgICAgPGJsb2NrcXVvdGUgY2xhc3M9ImdtYWlsX3F1b3RlIGdtYWlsX21zZyIgc3R5
bGU9Im1hcmdpbjowIDAgMCAuOGV4O2JvcmRlci1sZWZ0OjFweCAjY2NjIHNvbGlkO3BhZGRpbmct
bGVmdDoxZXgiPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBiZ2NvbG9yPSIjRkZG
RkZGIiB0ZXh0PSIjMDAwMDAwIiBjbGFzcz0iZ21haWxfbXNnIj4KICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgPGRpdiBjbGFzcz0ibV8tNDM0MDk1OTY5MjkzOTI0MTcxMW1fLTM4MjU5MTc4
NzU0NzE5NzYyMTJtXy01NTA1ODMwNjQwNDY2NDU0NzIybV8tNzc5MTYyNjY4NTA0NDY1MDQ1bV8y
MzY0MzkyNzM2OTU0ODcxMDEwbW96LXRleHQtaHRtbCBnbWFpbF9tc2ciIGxhbmc9Ingtd2VzdGVy
biI+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0ibV8tNDM0MDk1
OTY5MjkzOTI0MTcxMW1fLTM4MjU5MTc4NzU0NzE5NzYyMTJtXy01NTA1ODMwNjQwNDY2NDU0NzIy
bV8tNzc5MTYyNjY4NTA0NDY1MDQ1bV8yMzY0MzkyNzM2OTU0ODcxMDEwV29yZFNlY3Rpb24xIGdt
YWlsX21zZyI+SSBoYXZlIHRoaXMgaW4gbXkgY29uZmlnCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBmaWxlOjxiciBjbGFzcz0iZ21haWxfbXNnIj4KICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIEBweXRlc3QuZml4dHVyZShzY29wZT0nbW9kdWxlJzx3YnI+KTxiciBj
bGFzcz0iZ21haWxfbXNnIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlZiBB
KHJlcXVlc3QpOjxiciBjbGFzcz0iZ21haWxfbXNnIj4KICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICZuYnNwOyZuYnNwOyZuYnNwOyByZXR1cm4KICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIHJlcXVlc3QuY29uZmlnLmdldG9wdGlvbigiLS1BIjx3YnI+KTxiciBjbGFz
cz0iZ21haWxfbXNnIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZuYnNwOzxi
ciBjbGFzcz0iZ21haWxfbXNnIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNr
aXBfQSA9IHB5dGVzdC5tYXJrLnNraXBpZig8YnIgY2xhc3M9ImdtYWlsX21zZyI+CiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAmbmJzcDsmbmJzcDsmbmJzcDsgQShweXRlc3QuY29u
ZmlnLnJlcXVlc3QpLDxiciBjbGFzcz0iZ21haWxfbXNnIj4KICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICZuYnNwOyZuYnNwOyZuYnNwOyByZWFzb249Im5lZWQgLS1BIG9wdGlvbiB0
byBydW4iPGJyIGNsYXNzPSJnbWFpbF9tc2ciPgogICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgKTxiciBjbGFzcz0iZ21haWxfbXNnIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIDxiciBjbGFzcz0iZ21haWxfbXNnIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGJ1dCB3aGVuIEkgcnVuIGl0LCBpdCBzYXlzIDxiciBjbGFzcz0iZ21haWxfbXNnIj4K
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEUmbmJzcDsmbmJzcDsgTmFtZUVycm9y
OiBuYW1lICdBJyBpcyBub3QgZGVmaW5lZDxiciBjbGFzcz0iZ21haWxfbXNnIj4KICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICZuYnNwOzxiciBjbGFzcz0iZ21haWxfbXNnIj4KICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgPC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4KX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fPHdicj5fX19fX19fX19fX19fX19fXzxiciBjbGFzcz0i
Z21haWxfbXNnIj4KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRlc3RpbmctaW4tcHl0aG9u
IG1haWxpbmcgbGlzdDxiciBjbGFzcz0iZ21haWxfbXNnIj4KICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIDxhIGhyZWY9Im1haWx0bzp0ZXN0aW5nLWluLXB5dGhvbkBsaXN0cy5pZHlsbC5vcmci
IGNsYXNzPSJnbWFpbF9tc2ciIHRhcmdldD0iX2JsYW5rIj50ZXN0aW5nLWluLXB5dGhvbkBsaXN0
cy5pZHlsbC48d2JyPm9yZzwvYT48YnIgY2xhc3M9ImdtYWlsX21zZyI+CiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICA8YSBocmVmPSJodHRwOi8vbGlzdHMuaWR5bGwub3JnL2xpc3RpbmZvL3Rl
c3RpbmctaW4tcHl0aG9uIiByZWw9Im5vcmVmZXJyZXIiIGNsYXNzPSJnbWFpbF9tc2ciIHRhcmdl
dD0iX2JsYW5rIiBkYXRhLXNhZmVyZWRpcmVjdHVybD0iaHR0cHM6Ly93d3cuZ29vZ2xlLmNvbS91
cmw/cT1odHRwOi8vbGlzdHMuaWR5bGwub3JnL2xpc3RpbmZvL3Rlc3RpbmctaW4tcHl0aG9uJmFt
cDtzb3VyY2U9Z21haWwmYW1wO3VzdD0xNDc2Nzk4MTgxNDk2MDAwJmFtcDt1c2c9QUZRakNOSGFi
eE9zNDRaTmNGdUY0alBFbE5xekVWR0JJdyI+aHR0cDovL2xpc3RzLmlkeWxsLm9yZy88d2JyPmxp
c3RpbmZvL3Rlc3RpbmctaW4tcHl0aG9uPC9hPjxiciBjbGFzcz0iZ21haWxfbXNnIj4KICAgICAg
ICAgICAgICAgICAgICAgICAgICA8L2Jsb2NrcXVvdGU+CiAgICAgICAgICAgICAgICAgICAgICAg
IDwvZGl2PgogICAgICAgICAgICAgICAgICAgICAgPC9ibG9ja3F1b3RlPgogICAgICAgICAgICAg
ICAgICAgICAgPGJyIGNsYXNzPSJnbWFpbF9tc2ciPgogICAgICAgICAgICAgICAgICAgIDwvZGl2
PgogICAgICAgICAgICAgICAgICA8L2Jsb2NrcXVvdGU+CiAgICAgICAgICAgICAgICA8L2Rpdj4K
ICAgICAgICAgICAgICA8L2Rpdj4KICAgICAgICAgICAgPC9ibG9ja3F1b3RlPgogICAgICAgICAg
ICA8YnIgY2xhc3M9ImdtYWlsX21zZyI+CiAgICAgICAgICA8L2Rpdj4KICAgICAgICA8L2Jsb2Nr
cXVvdGU+CiAgICAgIDwvZGl2PgogICAgPC9ibG9ja3F1b3RlPgogICAgPGJyIGNsYXNzPSJnbWFp
bF9tc2ciPgogIDwvZGl2PjwvYmxvY2txdW90ZT48L2Rpdj4=" style="height:0;width:0;max-height:0;max-width:0;overflow:hidden;font-size:0em;padding:0;margin:0">​</div></div></div>