<?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>4931</bug_id>
          
          <creation_ts>2005-09-11 02:16:08 -0700</creation_ts>
          <short_desc>Unicode format characters (Cf) other than soft hyphen should be removed from JavaScript source</short_desc>
          <delta_ts>2008-05-14 22:29:10 -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>JavaScriptCore</component>
          <version>420+</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.4</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>
          
          <blocked>4885</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Alexey Proskuryakov">ap</reporter>
          <assigned_to name="Alexey Proskuryakov">ap</assigned_to>
          <cc>darin</cc>
    
    <cc>eric</cc>
    
    <cc>erik</cc>
    
    <cc>mjs</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>19343</commentid>
    <comment_count>0</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2005-09-11 02:16:08 -0700</bug_when>
    <thetext>Section 7.1 of ECMA-262 says:

&quot;The format control characters can occur anywhere in the source text of an ECMAScript program. These 
characters are removed from the source text before applying the lexical grammar. &lt;...&gt; these characters 
are removed before processing string and regular expression literals&quot;

Besides Safari, this doesn&apos;t appear to work in Firefox, Opera or MacIE.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>19344</commentid>
    <comment_count>1</comment_count>
      <attachid>3859</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2005-09-11 02:16:58 -0700</bug_when>
    <thetext>Created attachment 3859
test case for formatting characters in literals</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>19345</commentid>
    <comment_count>2</comment_count>
      <attachid>3860</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2005-09-11 02:17:18 -0700</bug_when>
    <thetext>Created attachment 3860
test case for formatting characters outside literals</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>21263</commentid>
    <comment_count>3</comment_count>
      <attachid>4179</attachid>
    <who name="Kimmo Kinnunen">kimmo.t.kinnunen</who>
    <bug_when>2005-10-03 09:35:59 -0700</bug_when>
    <thetext>Created attachment 4179
Darin&apos;s patch extracted from 4885

This patch strips Cf chars from the input stream. It was extracted from a patch
done by Daring, from bug 4885.

Note that it modifies a testcase.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>21376</commentid>
    <comment_count>4</comment_count>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2005-10-04 20:28:27 -0700</bug_when>
    <thetext>Does this work in any browser? It may be a compatibility problem if we diverge on this. I can imagine 
people wanting to use soft hyphens in JS strings.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>21421</commentid>
    <comment_count>5</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2005-10-05 10:04:17 -0700</bug_when>
    <thetext>I don&apos;t think it&apos;s correct in the other browsers either. I agree that it could cause a problem. Wonder what 
we should do.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>21532</commentid>
    <comment_count>6</comment_count>
      <attachid>4179</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2005-10-06 07:18:57 -0700</bug_when>
    <thetext>Comment on attachment 4179
Darin&apos;s patch extracted from 4885

I think the patch is fine, but I am worried about Maciej&apos;s comment now. How can
we decide whether to do this or not?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>21545</commentid>
    <comment_count>7</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2005-10-06 11:47:12 -0700</bug_when>
    <thetext>I have looked in Mozilla&apos;s bugzilla, and also googled for relevant discussions, but found nothing. Perhaps, 
I didn&apos;t look close enough, as it&apos;s hard to expect that such a feature has never been tested in Firefox (see 
http://www.mozilla.org/js/language/js20/formal/stages.html).

Besides the soft hyphen, I would expect various joiners/non-joiners and bidi overrides to be used in string 
literals sometimes, but I do not have any evidence.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>21546</commentid>
    <comment_count>8</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2005-10-06 11:52:40 -0700</bug_when>
    <thetext>Alexey, I&apos;m not sure what relevance the JavaScript 2.0 specification has to this discussion.

We&apos;ve tested Firefox, and it does *not* remove soft hyphens.

I&apos;d love to fix this if we can be sure it won&apos;t cause compatibility problems.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>21548</commentid>
    <comment_count>9</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2005-10-06 12:11:58 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; Alexey, I&apos;m not sure what relevance the JavaScript 2.0 specification has to this discussion.

  Only to underline that I&apos;m surprised to have found nothing in Mozilla bugzilla.

&gt; We&apos;ve tested Firefox, and it does *not* remove soft hyphens.

  Right, that&apos;s what I wrote in the description. Later, I have tested WinIE, and it also doesn&apos;t remove Cf 
characters, just the other browsers.

&gt; I&apos;d love to fix this if we can be sure it won&apos;t cause compatibility problems.

  Well, I was only splitting bug 4885, and don&apos;t really have an opinion about this part (unlike the other 
ones :) )</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>21804</commentid>
    <comment_count>10</comment_count>
      <attachid>4179</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2005-10-11 08:41:27 -0700</bug_when>
    <thetext>Comment on attachment 4179
Darin&apos;s patch extracted from 4885

I think we should probably land this even thought we are uneasy about the soft
hyphen thing.

If Maciej disagrees, he can review- it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>22837</commentid>
    <comment_count>11</comment_count>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2005-10-24 14:27:54 -0700</bug_when>
    <thetext>John Sullivan landed this.

sullivan    05/10/24 14:22:21

  Modified:    .        ChangeLog
               kjs      lexer.cpp
               tests/mozilla/ecma/Array 15.4.5.1-1.js</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>56295</commentid>
    <comment_count>12</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2006-09-23 11:11:40 -0700</bug_when>
    <thetext>This fix has been rolled out in bug 10183. Not re-opening this bug, since the problem was not with the implementation, but rather with site compatibility.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>56426</commentid>
    <comment_count>13</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2006-09-25 08:55:46 -0700</bug_when>
    <thetext>We won&apos;t fix this because of bad effects on site compatibility.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>65978</commentid>
    <comment_count>14</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2008-01-01 21:57:50 -0800</bug_when>
    <thetext>*** Bug 16694 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>78411</commentid>
    <comment_count>15</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2008-04-21 09:11:15 -0700</bug_when>
    <thetext>In fact, it looks like Firefox only preserves U+00AD (soft hyphen), and other Cf characters are removed as required by the spec. We probably want to match this, if only to fix ecma_3/Unicode/uc-001.js, which verifies that \u200E is removed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>78419</commentid>
    <comment_count>16</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2008-04-21 10:16:08 -0700</bug_when>
    <thetext>OK. Will be very easy to fix.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>78422</commentid>
    <comment_count>17</comment_count>
      <attachid>20731</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2008-04-21 10:34:36 -0700</bug_when>
    <thetext>Created attachment 20731
first cut, not tested yet</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>78793</commentid>
    <comment_count>18</comment_count>
      <attachid>20796</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2008-04-24 12:30:19 -0700</bug_when>
    <thetext>Created attachment 20796
patch, tested now -- needs regression test cases and ChangeLog

Here&apos;s a new patch, ready to go, except needs change log and some regression tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>79679</commentid>
    <comment_count>19</comment_count>
      <attachid>20970</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2008-05-05 10:08:56 -0700</bug_when>
    <thetext>Created attachment 20970
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>79682</commentid>
    <comment_count>20</comment_count>
      <attachid>20970</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2008-05-05 10:26:19 -0700</bug_when>
    <thetext>Comment on attachment 20970
patch

r=me. Looks like we are testing for the soft hyphen not being removed in a very indirect way though - perhaps it would help to have a dedicated test case fir this. Or maybe the existing test and the long comment that you added are enough.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>80338</commentid>
    <comment_count>21</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2008-05-14 02:54:26 -0700</bug_when>
    <thetext>Now that we are not removing BOM characters at decoding time, this is causing compatibility issues, see &lt;rdar://problem/5934376&gt;. So, I decided to make an additional test case, and land this.

But turns out that Firefox is changing (almost) as we speak - see &lt;https://bugzilla.mozilla.org/show_bug.cgi?id=274152&gt; and &lt;https://bugzilla.mozilla.org/show_bug.cgi?id=368516&gt;.

I&apos;m going to investigate this further.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>80342</commentid>
    <comment_count>22</comment_count>
      <attachid>21123</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2008-05-14 04:21:44 -0700</bug_when>
    <thetext>Created attachment 21123
only remove the BOM</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>80356</commentid>
    <comment_count>23</comment_count>
      <attachid>21123</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2008-05-14 09:14:47 -0700</bug_when>
    <thetext>Comment on attachment 21123
only remove the BOM

You need to use &amp;lt; in the description string instead of the less-than symbol.

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>80360</commentid>
    <comment_count>24</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2008-05-14 09:35:56 -0700</bug_when>
    <thetext>Committed &lt;http://trac.webkit.org/changeset/33443&gt;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>80465</commentid>
    <comment_count>25</comment_count>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2008-05-14 22:29:10 -0700</bug_when>
    <thetext>*** Bug 19070 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>3859</attachid>
            <date>2005-09-11 02:16:58 -0700</date>
            <delta_ts>2005-09-11 02:16:58 -0700</delta_ts>
            <desc>test case for formatting characters in literals</desc>
            <filename>js-Cf-in-literals.html</filename>
            <type>text/html</type>
            <size>759</size>
            <attacher name="Alexey Proskuryakov">ap</attacher>
            
              <data encoding="base64">PGh0bWw+CjxoZWFkPgo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRl
eHQvaHRtbDsgY2hhcnNldD11dGYtOCI+Cjx0aXRsZT5Ta2lwcGluZyBDZiBjaGFyYWN0ZXJzIGlu
IGxpdGVyYWxzPC90aXRsZT4KCjxzY3JpcHQ+CmZ1bmN0aW9uIGxvYWRDb21wbGV0ZSgpCnsKCXZh
ciBhU3RyaW5nID0gInN1wq1wZXLCrWNhwq1sacKtZnJhwq1nacKtbGlzwq10aWPCrWV4wq1wacKt
YcKtbGnCrWRvwq1jacKtb3VzIjsKCQoJLy8gT0ssIHBhcnNlZCB0byBoZXJlIHN1Y2Nlc3NmdWxs
eS4uLgoJZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2RpdicpWzBdLmZpcnN0Q2hpbGQu
bm9kZVZhbHVlID0gIiI7CgoJaWYgKGFTdHJpbmcgPT0gInN1cGVyY2FsaWZyYWdpbGlzdGljZXhw
aWFsaWRvY2lvdXMiKQoJCWRvY3VtZW50LmdldEVsZW1lbnRzQnlUYWdOYW1lKCdkaXYnKVswXS5m
aXJzdENoaWxkLm5vZGVWYWx1ZSA9ICJTdWNjZXNzIjsKCWVsc2UKCQlkb2N1bWVudC5nZXRFbGVt
ZW50c0J5VGFnTmFtZSgnZGl2JylbMF0uZmlyc3RDaGlsZC5ub2RlVmFsdWUgPSAiRmFpbHVyZSI7
Cn0KPC9zY3JpcHQ+Cgo8L2hlYWQ+Cjxib2R5IG9ubG9hZD0ibG9hZENvbXBsZXRlKCkiPgo8ZGl2
PlBhcnNlIEZhaWx1cmU8L2Rpdj4KPHNjcmlwdD4KCWlmICh3aW5kb3cubGF5b3V0VGVzdENvbnRy
b2xsZXIpIHsKCQlsYXlvdXRUZXN0Q29udHJvbGxlci5kdW1wQXNUZXh0KCk7Cgl9Cjwvc2NyaXB0
Pgo8L2JvZHk+CjwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>3860</attachid>
            <date>2005-09-11 02:17:18 -0700</date>
            <delta_ts>2005-09-11 02:17:18 -0700</delta_ts>
            <desc>test case for formatting characters outside literals</desc>
            <filename>js-Cf-outside-literals.html</filename>
            <type>text/html</type>
            <size>685</size>
            <attacher name="Alexey Proskuryakov">ap</attacher>
            
              <data encoding="base64">PGh0bWw+CjxoZWFkPgo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRl
eHQvaHRtbDsgY2hhcnNldD11dGYtOCI+Cjx0aXRsZT5Ta2lwcGluZyBDZiBjaGFyYWN0ZXJzIG91
dHNpZGUgb2Ygc3RyaW5nIGxpdGVyYWxzPC90aXRsZT4KCjxzY3JpcHQ+CmZ1bmN0aW9uIGxvYWRD
b21wbGV0ZSgpCnsKCXZhciBhwq0gPeKAiyAxOwoJCgkvLyBPSywgcGFyc2VkIHRvIGhlcmUgc3Vj
Y2Vzc2Z1bGx5Li4uCglkb2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnZGl2JylbMF0uZmly
c3RDaGlsZC5ub2RlVmFsdWUgPSAiIjsKCglpZiAodHlwZW9mIMKtYSA9PSAnbnVtYmVyJykKCQlk
b2N1bWVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgnZGl2JylbMF0uZmlyc3RDaGlsZC5ub2RlVmFs
dWUgPSAiU3VjY2VzcyI7CgllbHNlCgkJZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoJ2Rp
dicpWzBdLmZpcnN0Q2hpbGQubm9kZVZhbHVlID0gIkZhaWx1cmUiOwp9Cjwvc2NyaXB0PgoKPC9o
ZWFkPgo8Ym9keSBvbmxvYWQ9ImxvYWRDb21wbGV0ZSgpIj4KPGRpdj5QYXJzZSBGYWlsdXJlPC9k
aXY+CjxzY3JpcHQ+CglpZiAod2luZG93LmxheW91dFRlc3RDb250cm9sbGVyKSB7CgkJbGF5b3V0
VGVzdENvbnRyb2xsZXIuZHVtcEFzVGV4dCgpOwoJfQo8L3NjcmlwdD4KPC9ib2R5Pgo8L2h0bWw+
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>4179</attachid>
            <date>2005-10-03 09:35:59 -0700</date>
            <delta_ts>2008-04-21 10:34:36 -0700</delta_ts>
            <desc>Darin&apos;s patch extracted from 4885</desc>
            <filename>jscore-4931-fix.diff</filename>
            <type>text/plain</type>
            <size>4721</size>
            <attacher name="Kimmo Kinnunen">kimmo.t.kinnunen</attacher>
            
              <data encoding="base64">SW5kZXg6IEphdmFTY3JpcHRDb3JlL2tqcy9sZXhlci5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTog
L2N2cy9yb290L0phdmFTY3JpcHRDb3JlL2tqcy9sZXhlci5jcHAsdgpyZXRyaWV2aW5nIHJldmlz
aW9uIDEuMjAKZGlmZiAtcCAtdSAtcjEuMjAgSmF2YVNjcmlwdENvcmUva2pzL2xleGVyLmNwcAot
LS0gSmF2YVNjcmlwdENvcmUva2pzL2xleGVyLmNwcAkyMSBTZXAgMjAwNSAwNTo1MzowNSAtMDAw
MAkxLjIwCisrKyBKYXZhU2NyaXB0Q29yZS9ranMvbGV4ZXIuY3BwCTMgT2N0IDIwMDUgMTY6MzE6
MjEgLTAwMDAKQEAgLTM5LDYgKzM5LDcgQEAKICNpbmNsdWRlICJpZGVudGlmaWVyLmgiCiAjaW5j
bHVkZSAibG9va3VwLmgiCiAjaW5jbHVkZSAiaW50ZXJuYWwuaCIKKyNpbmNsdWRlIDx1bmljb2Rl
L3VjaGFyLmg+CiAKIC8vIHdlIGNhbid0IHNwZWNpZnkgdGhlIG5hbWVzcGFjZSBpbiB5YWNjJ3Mg
QyBvdXRwdXQsIHNvIGRvIGl0IGhlcmUKIHVzaW5nIG5hbWVzcGFjZSBLSlM7CkBAIC03Myw3ICs3
NCw3IEBAIExleGVyOjpMZXhlcigpCiB7CiAgIC8vIGFsbG9jYXRlIHNwYWNlIGZvciByZWFkIGJ1
ZmZlcnMKICAgYnVmZmVyOCA9IG5ldyBjaGFyW3NpemU4XTsKLSAgYnVmZmVyMTYgPSBuZXcgVUNo
YXJbc2l6ZTE2XTsKKyAgYnVmZmVyMTYgPSBuZXcgS0pTOjpVQ2hhcltzaXplMTZdOwogICBjdXJy
TGV4ZXIgPSB0aGlzOwogfQogCkBAIC0xMDEsNyArMTAyLDcgQEAgdm9pZCBMZXhlcjo6Z2xvYmFs
Q2xlYXIoKQogfQogI2VuZGlmCiAKLXZvaWQgTGV4ZXI6OnNldENvZGUoY29uc3QgVVN0cmluZyAm
c291cmNlVVJMLCBpbnQgc3RhcnRpbmdMaW5lTnVtYmVyLCBjb25zdCBVQ2hhciAqYywgdW5zaWdu
ZWQgaW50IGxlbikKK3ZvaWQgTGV4ZXI6OnNldENvZGUoY29uc3QgVVN0cmluZyAmc291cmNlVVJM
LCBpbnQgc3RhcnRpbmdMaW5lTnVtYmVyLCBjb25zdCBLSlM6OlVDaGFyICpjLCB1bnNpZ25lZCBp
bnQgbGVuKQogewogICB5eWxpbmVubyA9IDEgKyBzdGFydGluZ0xpbmVOdW1iZXI7CiAgIG1fc291
cmNlVVJMID0gc291cmNlVVJMOwpAQCAtMTIxLDIwICsxMjIsMjIgQEAgdm9pZCBMZXhlcjo6c2V0
Q29kZShjb25zdCBVU3RyaW5nICZzb3VyYwogI2VuZGlmCiAKICAgLy8gcmVhZCBmaXJzdCBjaGFy
YWN0ZXJzCi0gIGN1cnJlbnQgPSAobGVuZ3RoID4gMCkgPyBjb2RlWzBdLnVjIDogMDsKLSAgbmV4
dDEgPSAobGVuZ3RoID4gMSkgPyBjb2RlWzFdLnVjIDogMDsKLSAgbmV4dDIgPSAobGVuZ3RoID4g
MikgPyBjb2RlWzJdLnVjIDogMDsKLSAgbmV4dDMgPSAobGVuZ3RoID4gMykgPyBjb2RlWzNdLnVj
IDogMDsKKyAgc2hpZnQoNCk7CiB9CiAKIHZvaWQgTGV4ZXI6OnNoaWZ0KHVuc2lnbmVkIGludCBw
KQogewogICB3aGlsZSAocC0tKSB7Ci0gICAgcG9zKys7CiAgICAgY3VycmVudCA9IG5leHQxOwog
ICAgIG5leHQxID0gbmV4dDI7CiAgICAgbmV4dDIgPSBuZXh0MzsKLSAgICBuZXh0MyA9IChwb3Mg
KyAzIDwgbGVuZ3RoKSA/IGNvZGVbcG9zKzNdLnVjIDogMDsKKyAgICBkbyB7CisgICAgICBpZiAo
cG9zID49IGxlbmd0aCkgeworCW5leHQzID0gMDsKKwlicmVhazsKKyAgICAgIH0KKyAgICAgIG5l
eHQzID0gY29kZVtwb3MrK10udWM7CisgICAgfSB3aGlsZSAodV9jaGFyVHlwZShuZXh0MykgPT0g
VV9GT1JNQVRfQ0hBUik7CiAgIH0KIH0KIApAQCAtNzUxLDEwICs3NTQsMTAgQEAgdW5zaWduZWQg
Y2hhciBMZXhlcjo6Y29udmVydEhleCh1bnNpZ25lZAogICByZXR1cm4gKChjb252ZXJ0SGV4KGMx
KSA8PCA0KSArIGNvbnZlcnRIZXgoYzIpKTsKIH0KIAotVUNoYXIgTGV4ZXI6OmNvbnZlcnRVbmlj
b2RlKHVuc2lnbmVkIHNob3J0IGMxLCB1bnNpZ25lZCBzaG9ydCBjMiwKK0tKUzo6VUNoYXIgTGV4
ZXI6OmNvbnZlcnRVbmljb2RlKHVuc2lnbmVkIHNob3J0IGMxLCB1bnNpZ25lZCBzaG9ydCBjMiwK
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBzaG9ydCBjMywg
dW5zaWduZWQgc2hvcnQgYzQpCiB7Ci0gIHJldHVybiBVQ2hhcigoY29udmVydEhleChjMSkgPDwg
NCkgKyBjb252ZXJ0SGV4KGMyKSwKKyAgcmV0dXJuIEtKUzo6VUNoYXIoKGNvbnZlcnRIZXgoYzEp
IDw8IDQpICsgY29udmVydEhleChjMiksCiAgICAgICAgICAgICAgICAoY29udmVydEhleChjMykg
PDwgNCkgKyBjb252ZXJ0SGV4KGM0KSk7CiB9CiAKQEAgLTc3NCwxMiArNzc3LDEyIEBAIHZvaWQg
TGV4ZXI6OnJlY29yZDgodW5zaWduZWQgc2hvcnQgYykKICAgYnVmZmVyOFtwb3M4KytdID0gKGNo
YXIpIGM7CiB9CiAKLXZvaWQgTGV4ZXI6OnJlY29yZDE2KFVDaGFyIGMpCit2b2lkIExleGVyOjpy
ZWNvcmQxNihLSlM6OlVDaGFyIGMpCiB7CiAgIC8vIGVubGFyZ2UgYnVmZmVyIGlmIGZ1bGwKICAg
aWYgKHBvczE2ID49IHNpemUxNiAtIDEpIHsKLSAgICBVQ2hhciAqdG1wID0gbmV3IFVDaGFyWzIg
KiBzaXplMTZdOwotICAgIG1lbWNweSh0bXAsIGJ1ZmZlcjE2LCBzaXplMTYgKiBzaXplb2YoVUNo
YXIpKTsKKyAgICBLSlM6OlVDaGFyICp0bXAgPSBuZXcgS0pTOjpVQ2hhclsyICogc2l6ZTE2XTsK
KyAgICBtZW1jcHkodG1wLCBidWZmZXIxNiwgc2l6ZTE2ICogc2l6ZW9mKEtKUzo6VUNoYXIpKTsK
ICAgICBkZWxldGUgW10gYnVmZmVyMTY7CiAgICAgYnVmZmVyMTYgPSB0bXA7CiAgICAgc2l6ZTE2
ICo9IDI7CkBAIC04NTEsNyArODU0LDcgQEAgdm9pZCBMZXhlcjo6ZG9uZVBhcnNpbmcoKQogY29u
c3QgaW50IGluaXRpYWxDYXBhY2l0eSA9IDY0OwogY29uc3QgaW50IGdyb3d0aEZhY3RvciA9IDI7
CiAKLUlkZW50aWZpZXIgKkxleGVyOjptYWtlSWRlbnRpZmllcihVQ2hhciAqYnVmZmVyLCB1bnNp
Z25lZCBpbnQgcG9zKQorSWRlbnRpZmllciAqTGV4ZXI6Om1ha2VJZGVudGlmaWVyKEtKUzo6VUNo
YXIgKmJ1ZmZlciwgdW5zaWduZWQgaW50IHBvcykKIHsKICAgaWYgKG51bUlkZW50aWZpZXJzID09
IGlkZW50aWZpZXJzQ2FwYWNpdHkpIHsKICAgICBpZGVudGlmaWVyc0NhcGFjaXR5ID0gKGlkZW50
aWZpZXJzQ2FwYWNpdHkgPT0gMCkgPyBpbml0aWFsQ2FwYWNpdHkgOiBpZGVudGlmaWVyc0NhcGFj
aXR5ICpncm93dGhGYWN0b3I7CkBAIC04NjMsNyArODY2LDcgQEAgSWRlbnRpZmllciAqTGV4ZXI6
Om1ha2VJZGVudGlmaWVyKFVDaGFyIAogICByZXR1cm4gaWRlbnRpZmllcjsKIH0KICAKLVVTdHJp
bmcgKkxleGVyOjptYWtlVVN0cmluZyhVQ2hhciAqYnVmZmVyLCB1bnNpZ25lZCBpbnQgcG9zKQor
VVN0cmluZyAqTGV4ZXI6Om1ha2VVU3RyaW5nKEtKUzo6VUNoYXIgKmJ1ZmZlciwgdW5zaWduZWQg
aW50IHBvcykKIHsKICAgaWYgKG51bVN0cmluZ3MgPT0gc3RyaW5nc0NhcGFjaXR5KSB7CiAgICAg
c3RyaW5nc0NhcGFjaXR5ID0gKHN0cmluZ3NDYXBhY2l0eSA9PSAwKSA/IGluaXRpYWxDYXBhY2l0
eSA6IHN0cmluZ3NDYXBhY2l0eSAqZ3Jvd3RoRmFjdG9yOwpJbmRleDogSmF2YVNjcmlwdENvcmUv
dGVzdHMvbW96aWxsYS9lY21hL0FycmF5LzE1LjQuNS4xLTEuanMKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmls
ZTogL2N2cy9yb290L0phdmFTY3JpcHRDb3JlL3Rlc3RzL21vemlsbGEvZWNtYS9BcnJheS8xNS40
LjUuMS0xLmpzLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjEKZGlmZiAtcCAtdSAtcjEuMSBKYXZh
U2NyaXB0Q29yZS90ZXN0cy9tb3ppbGxhL2VjbWEvQXJyYXkvMTUuNC41LjEtMS5qcwotLS0gSmF2
YVNjcmlwdENvcmUvdGVzdHMvbW96aWxsYS9lY21hL0FycmF5LzE1LjQuNS4xLTEuanMJMTMgT2N0
IDIwMDMgMDI6MDU6MjggLTAwMDAJMS4xCisrKyBKYXZhU2NyaXB0Q29yZS90ZXN0cy9tb3ppbGxh
L2VjbWEvQXJyYXkvMTUuNC41LjEtMS5qcwkzIE9jdCAyMDA1IDE2OjMxOjIyIC0wMDAwCkBAIC0x
MDQsNyArMTA0LDkgQEAgZnVuY3Rpb24gZ2V0VGVzdENhc2VzKCkgewogCiAKICAgICBmb3IgKCB2
YXIgaSA9IDBYMDAyMCwgVEVTVF9TVFJJTkcgPSAidmFyIEEgPSBuZXcgQXJyYXkoICIgOyBpIDwg
MHgwMGZmOyBpKysgKSB7Ci0gICAgICAgIFRFU1RfU1RSSU5HICs9ICJcJ1xcIisgU3RyaW5nLmZy
b21DaGFyQ29kZSggaSApICsiXCciOworICAgICAgICBpZiAoaSA9PSAweEFEKSAvLyBNdXN0IHNr
aXAgb3ZlciBzb2Z0IGh5cGhlbiwgYmVjYXVzZSBpdCdzIGEgQ2YgY2hhcmFjdGVyIGFuZCBjYW4n
dCBiZSBwYXJzZWQuCisgICAgICAgICAgICBpKys7CisgICAgICAgIFRFU1RfU1RSSU5HICs9ICIn
XFwiKyBTdHJpbmcuZnJvbUNoYXJDb2RlKCBpICkgKyInIjsKICAgICAgICAgaWYgKCBpIDwgMHgw
MEZGIC0gMSAgICkgewogICAgICAgICAgICAgVEVTVF9TVFJJTkcgKz0gIiwiOwogICAgICAgICB9
IGVsc2UgewpAQCAtMTEyLDcgKzExNCw3IEBAIGZ1bmN0aW9uIGdldFRlc3RDYXNlcygpIHsKICAg
ICAgICAgfQogICAgIH0KIAotICAgIHZhciBMRU5HVEggPSAweDAwZmYgLSAweDAwMjA7CisgICAg
dmFyIExFTkdUSCA9IDB4MDBmZiAtIDB4MDAyMCAtIDE7CiAKICAgICBhcnJheVtpdGVtKytdID0g
bmV3IFRlc3RDYXNlKCAgIFNFQ1RJT04sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBURVNUX1NUUklORyArIiBBWzE1MF0gPSAnaGVsbG8nOyBBWzE1MF0iLAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>20731</attachid>
            <date>2008-04-21 10:34:36 -0700</date>
            <delta_ts>2008-04-24 12:30:19 -0700</delta_ts>
            <desc>first cut, not tested yet</desc>
            <filename>FormatCharactersPatch.txt</filename>
            <type>text/plain</type>
            <size>3046</size>
            <attacher name="Darin Adler">darin</attacher>
            
              <data encoding="base64">SW5kZXg6IEphdmFTY3JpcHRDb3JlL2tqcy9sZXhlci5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSmF2YVNj
cmlwdENvcmUva2pzL2xleGVyLmNwcAkocmV2aXNpb24gMzIyODEpCisrKyBKYXZhU2NyaXB0Q29y
ZS9ranMvbGV4ZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xLDcgKzEsNiBAQAotLy8gLSotIGMt
YmFzaWMtb2Zmc2V0OiAyIC0qLQogLyoKICAqICBDb3B5cmlnaHQgKEMpIDE5OTktMjAwMCBIYXJy
aSBQb3J0ZW4gKHBvcnRlbkBrZGUub3JnKQotICogIENvcHlyaWdodCAoQykgMjAwNiwgMjAwNyBB
cHBsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisgKiAgQ29weXJpZ2h0IChDKSAyMDA2LCAy
MDA3LCAyMDA4IEFwcGxlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAqICBDb3B5cmlnaHQg
KEMpIDIwMDcgQ2FtZXJvbiBad2FyaWNoIChjd3p3YXJpY2hAdXdhdGVybG9vLmNhKQogICoKICAq
ICBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQg
YW5kL29yCkBAIC0zMiwxMCArMzEsMTEgQEAKICNpbmNsdWRlIDxsaW1pdHMuaD4KICNpbmNsdWRl
IDxzdHJpbmcuaD4KICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgorI2luY2x1ZGUgPHd0Zi91
bmljb2RlL1VuaWNvZGUuaD4KKwogI2lmIFVTRShNVUxUSVBMRV9USFJFQURTKQogI2luY2x1ZGUg
PHd0Zi9UaHJlYWRTcGVjaWZpYy5oPgogI2VuZGlmCi0jaW5jbHVkZSA8d3RmL3VuaWNvZGUvVW5p
Y29kZS5oPgogCiB1c2luZyBuYW1lc3BhY2UgV1RGOwogdXNpbmcgbmFtZXNwYWNlIFVuaWNvZGU7
CkBAIC05NywzOCArOTcsNDUgQEAgTGV4ZXI6OkxleGVyKCkKIAogdm9pZCBMZXhlcjo6c2V0Q29k
ZShpbnQgc3RhcnRpbmdMaW5lTnVtYmVyLCBjb25zdCBVQ2hhciogYywgdW5zaWduZWQgaW50IGxl
bikKIHsKLSAgeXlsaW5lbm8gPSAxICsgc3RhcnRpbmdMaW5lTnVtYmVyOwotICByZXN0cktleXdv
cmQgPSBmYWxzZTsKLSAgZGVsaW1pdGVkID0gZmFsc2U7Ci0gIGVhdE5leHRJZGVudGlmaWVyID0g
ZmFsc2U7Ci0gIHN0YWNrVG9rZW4gPSAtMTsKLSAgbGFzdFRva2VuID0gLTE7Ci0gIHBvcyA9IDA7
Ci0gIGNvZGUgPSBjOwotICBsZW5ndGggPSBsZW47Ci0gIHNraXBMRiA9IGZhbHNlOwotICBza2lw
Q1IgPSBmYWxzZTsKLSAgZXJyb3IgPSBmYWxzZTsKLSAgYXRMaW5lU3RhcnQgPSB0cnVlOworICAg
IHl5bGluZW5vID0gMSArIHN0YXJ0aW5nTGluZU51bWJlcjsKKyAgICByZXN0cktleXdvcmQgPSBm
YWxzZTsKKyAgICBkZWxpbWl0ZWQgPSBmYWxzZTsKKyAgICBlYXROZXh0SWRlbnRpZmllciA9IGZh
bHNlOworICAgIHN0YWNrVG9rZW4gPSAtMTsKKyAgICBsYXN0VG9rZW4gPSAtMTsKKyAgICBwb3Mg
PSAwOworICAgIGNvZGUgPSBjOworICAgIGxlbmd0aCA9IGxlbjsKKyAgICBza2lwTEYgPSBmYWxz
ZTsKKyAgICBza2lwQ1IgPSBmYWxzZTsKKyAgICBlcnJvciA9IGZhbHNlOworICAgIGF0TGluZVN0
YXJ0ID0gdHJ1ZTsKIAotICAvLyByZWFkIGZpcnN0IGNoYXJhY3RlcnMKLSAgY3VycmVudCA9IChs
ZW5ndGggPiAwKSA/IGNvZGVbMF0gOiAtMTsKLSAgbmV4dDEgPSAobGVuZ3RoID4gMSkgPyBjb2Rl
WzFdIDogLTE7Ci0gIG5leHQyID0gKGxlbmd0aCA+IDIpID8gY29kZVsyXSA6IC0xOwotICBuZXh0
MyA9IChsZW5ndGggPiAzKSA/IGNvZGVbM10gOiAtMTsKLX0KLQotdm9pZCBMZXhlcjo6c2hpZnQo
dW5zaWduZWQgaW50IHApCi17Ci0gIC8vIEhlcmUgd291bGQgYmUgYSBnb29kIHBsYWNlIHRvIHN0
cmlwIENmIGNoYXJhY3RlcnMsIGJ1dCB0aGF0IGhhcyBjYXVzZWQgY29tcGF0aWJpbGl0eSBwcm9i
bGVtczoKLSAgLy8gPGh0dHA6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMTgz
Pi4KLSAgd2hpbGUgKHAtLSkgewotICAgIHBvcysrOwotICAgIGN1cnJlbnQgPSBuZXh0MTsKLSAg
ICBuZXh0MSA9IG5leHQyOwotICAgIG5leHQyID0gbmV4dDM7Ci0gICAgbmV4dDMgPSAocG9zICsg
MyA8IGxlbmd0aCkgPyBjb2RlW3BvcyArIDNdIDogLTE7Ci0gIH0KKyAgICAvLyByZWFkIGZpcnN0
IGNoYXJhY3RlcnMKKyAgICBzaGlmdCg0KTsKK30KKwordm9pZCBMZXhlcjo6c2hpZnQodW5zaWdu
ZWQgcCkKK3sKKyAgICAvLyBXZSBkb24ndCBzdHJpcCBzb2Z0IGh5cGhlbnMgaGVyZSBiZWNhdXNl
IHRoYXQgaGFzIGNhdXNlZCBjb21wYXRpYmlsaXR5IHByb2JsZW1zOgorICAgIC8vIDxodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAxODM+LiBXZSBkbyBzdHJpcCBmb3Jt
YXQgY2hhcmFjdGVycywKKyAgICAvLyBidXQgd2UgZG9uJ3QgcHJvY2VzcyBzdXJyb2dhdGUgcGFp
cnMgYmVjYXVzZSBhdCB0aGUgdGltZSBvZiB0aGlzIHdyaXRpbmcgdGhlcmUKKyAgICAvLyBmb3Jt
YXQgY2hhcmFjdGVycyB0aGF0IGFyZSA+IFUrRkZGRi4gV2UgZG9uJ3QgY2hlY2sgY2hhcmFjdGVy
cyBpbiB0aGUgVSswMDAwIHRvCisgICAgLy8gVSswMEZGIHJhbmdlIGJlY2F1c2Ugd2UgZG9uJ3Qg
d2FudCB0byBoYW5kbGUgYSBzb2Z0IGh5cGhlbiBhbmQgYWxzbyBiZWNhdXNlIHdlCisgICAgLy8g
d2FudCB0byBza2lwIHRoZSBzbG93IGlzRm9ybWF0Q2hhciBjYWxsIGluIHRoZSBjb21tb24gY2Fz
ZSBvZiBBU0NJSSBzb3VyY2UgdGV4dC4KKworICAgIHdoaWxlIChwLS0pIHsKKyAgICAgICAgY3Vy
cmVudCA9IG5leHQxOworICAgICAgICBuZXh0MSA9IG5leHQyOworICAgICAgICBuZXh0MiA9IG5l
eHQzOworICAgICAgICBkbyB7CisgICAgICAgICAgICBpZiAocG9zID49IGxlbmd0aCkgeworICAg
ICAgICAgICAgICAgIG5leHQzID0gMDsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAg
ICAgIH0KKyAgICAgICAgbmV4dDMgPSBjb2RlW3BvcysrXS51YzsKKyAgICAgICAgfSB3aGlsZSAo
KG5leHQzICYgMHhGRjAwKSAmJiBpc0Zvcm1hdENoYXIobmV4dDMpKTsKKyAgICB9CiB9CiAKIC8v
IGNhbGxlZCBvbiBlYWNoIG5ldyBsaW5lCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>20796</attachid>
            <date>2008-04-24 12:30:19 -0700</date>
            <delta_ts>2008-05-05 10:08:56 -0700</delta_ts>
            <desc>patch, tested now -- needs regression test cases and ChangeLog</desc>
            <filename>FormatCharactersPatch.txt</filename>
            <type>text/plain</type>
            <size>3055</size>
            <attacher name="Darin Adler">darin</attacher>
            
              <data encoding="base64">SW5kZXg6IEphdmFTY3JpcHRDb3JlL2tqcy9sZXhlci5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSmF2YVNj
cmlwdENvcmUva2pzL2xleGVyLmNwcAkocmV2aXNpb24gMzI1MDQpCisrKyBKYXZhU2NyaXB0Q29y
ZS9ranMvbGV4ZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xLDcgKzEsNiBAQAotLy8gLSotIGMt
YmFzaWMtb2Zmc2V0OiAyIC0qLQogLyoKICAqICBDb3B5cmlnaHQgKEMpIDE5OTktMjAwMCBIYXJy
aSBQb3J0ZW4gKHBvcnRlbkBrZGUub3JnKQotICogIENvcHlyaWdodCAoQykgMjAwNiwgMjAwNyBB
cHBsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisgKiAgQ29weXJpZ2h0IChDKSAyMDA2LCAy
MDA3LCAyMDA4IEFwcGxlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KICAqICBDb3B5cmlnaHQg
KEMpIDIwMDcgQ2FtZXJvbiBad2FyaWNoIChjd3p3YXJpY2hAdXdhdGVybG9vLmNhKQogICoKICAq
ICBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQg
YW5kL29yCkBAIC0zMiwxMCArMzEsMTEgQEAKICNpbmNsdWRlIDxsaW1pdHMuaD4KICNpbmNsdWRl
IDxzdHJpbmcuaD4KICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgorI2luY2x1ZGUgPHd0Zi91
bmljb2RlL1VuaWNvZGUuaD4KKwogI2lmIFVTRShNVUxUSVBMRV9USFJFQURTKQogI2luY2x1ZGUg
PHd0Zi9UaHJlYWRTcGVjaWZpYy5oPgogI2VuZGlmCi0jaW5jbHVkZSA8d3RmL3VuaWNvZGUvVW5p
Y29kZS5oPgogCiB1c2luZyBuYW1lc3BhY2UgV1RGOwogdXNpbmcgbmFtZXNwYWNlIFVuaWNvZGU7
CkBAIC05NywzOCArOTcsNDUgQEAgTGV4ZXI6OkxleGVyKCkKIAogdm9pZCBMZXhlcjo6c2V0Q29k
ZShpbnQgc3RhcnRpbmdMaW5lTnVtYmVyLCBjb25zdCBVQ2hhciogYywgdW5zaWduZWQgaW50IGxl
bikKIHsKLSAgeXlsaW5lbm8gPSAxICsgc3RhcnRpbmdMaW5lTnVtYmVyOwotICByZXN0cktleXdv
cmQgPSBmYWxzZTsKLSAgZGVsaW1pdGVkID0gZmFsc2U7Ci0gIGVhdE5leHRJZGVudGlmaWVyID0g
ZmFsc2U7Ci0gIHN0YWNrVG9rZW4gPSAtMTsKLSAgbGFzdFRva2VuID0gLTE7Ci0gIHBvcyA9IDA7
Ci0gIGNvZGUgPSBjOwotICBsZW5ndGggPSBsZW47Ci0gIHNraXBMRiA9IGZhbHNlOwotICBza2lw
Q1IgPSBmYWxzZTsKLSAgZXJyb3IgPSBmYWxzZTsKLSAgYXRMaW5lU3RhcnQgPSB0cnVlOworICAg
IHl5bGluZW5vID0gMSArIHN0YXJ0aW5nTGluZU51bWJlcjsKKyAgICByZXN0cktleXdvcmQgPSBm
YWxzZTsKKyAgICBkZWxpbWl0ZWQgPSBmYWxzZTsKKyAgICBlYXROZXh0SWRlbnRpZmllciA9IGZh
bHNlOworICAgIHN0YWNrVG9rZW4gPSAtMTsKKyAgICBsYXN0VG9rZW4gPSAtMTsKKyAgICBwb3Mg
PSAwOworICAgIGNvZGUgPSBjOworICAgIGxlbmd0aCA9IGxlbjsKKyAgICBza2lwTEYgPSBmYWxz
ZTsKKyAgICBza2lwQ1IgPSBmYWxzZTsKKyAgICBlcnJvciA9IGZhbHNlOworICAgIGF0TGluZVN0
YXJ0ID0gdHJ1ZTsKIAotICAvLyByZWFkIGZpcnN0IGNoYXJhY3RlcnMKLSAgY3VycmVudCA9IChs
ZW5ndGggPiAwKSA/IGNvZGVbMF0gOiAtMTsKLSAgbmV4dDEgPSAobGVuZ3RoID4gMSkgPyBjb2Rl
WzFdIDogLTE7Ci0gIG5leHQyID0gKGxlbmd0aCA+IDIpID8gY29kZVsyXSA6IC0xOwotICBuZXh0
MyA9IChsZW5ndGggPiAzKSA/IGNvZGVbM10gOiAtMTsKLX0KLQotdm9pZCBMZXhlcjo6c2hpZnQo
dW5zaWduZWQgaW50IHApCi17Ci0gIC8vIEhlcmUgd291bGQgYmUgYSBnb29kIHBsYWNlIHRvIHN0
cmlwIENmIGNoYXJhY3RlcnMsIGJ1dCB0aGF0IGhhcyBjYXVzZWQgY29tcGF0aWJpbGl0eSBwcm9i
bGVtczoKLSAgLy8gPGh0dHA6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMTgz
Pi4KLSAgd2hpbGUgKHAtLSkgewotICAgIHBvcysrOwotICAgIGN1cnJlbnQgPSBuZXh0MTsKLSAg
ICBuZXh0MSA9IG5leHQyOwotICAgIG5leHQyID0gbmV4dDM7Ci0gICAgbmV4dDMgPSAocG9zICsg
MyA8IGxlbmd0aCkgPyBjb2RlW3BvcyArIDNdIDogLTE7Ci0gIH0KKyAgICAvLyByZWFkIGZpcnN0
IGNoYXJhY3RlcnMKKyAgICBzaGlmdCg0KTsKK30KKwordm9pZCBMZXhlcjo6c2hpZnQodW5zaWdu
ZWQgcCkKK3sKKyAgICAvLyBXZSBkb24ndCBzdHJpcCBzb2Z0IGh5cGhlbnMgaGVyZSBiZWNhdXNl
IHRoYXQgaGFzIGNhdXNlZCBjb21wYXRpYmlsaXR5IHByb2JsZW1zOgorICAgIC8vIDxodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAxODM+LiBXZSBkbyBzdHJpcCBmb3Jt
YXQgY2hhcmFjdGVycywKKyAgICAvLyBidXQgd2UgZG9uJ3QgcHJvY2VzcyBzdXJyb2dhdGUgcGFp
cnMgYmVjYXVzZSBhdCB0aGUgdGltZSBvZiB0aGlzIHdyaXRpbmcgdGhlcmUgYXJlCisgICAgLy8g
bm8gZm9ybWF0IGNoYXJhY3RlcnMgdGhhdCBhcmUgPiBVK0ZGRkYuIFdlIGRvbid0IGNoZWNrIGNo
YXJhY3RlcnMgaW4gdGhlIFUrMDAwMCB0bworICAgIC8vIFUrMDBGRiByYW5nZSBiZWNhdXNlIHdl
IGRvbid0IHdhbnQgdG8gaGFuZGxlIGEgc29mdCBoeXBoZW4gYW5kIGFsc28gYmVjYXVzZSB3ZQor
ICAgIC8vIHdhbnQgdG8gc2tpcCB0aGUgc2xvdyBpc0Zvcm1hdENoYXIgY2FsbCBpbiB0aGUgY29t
bW9uIGNhc2Ugb2YgQVNDSUkgc291cmNlIHRleHQuCisKKyAgICB3aGlsZSAocC0tKSB7CisgICAg
ICAgIGN1cnJlbnQgPSBuZXh0MTsKKyAgICAgICAgbmV4dDEgPSBuZXh0MjsKKyAgICAgICAgbmV4
dDIgPSBuZXh0MzsKKyAgICAgICAgZG8geworICAgICAgICAgICAgaWYgKHBvcyA+PSBsZW5ndGgp
IHsKKyAgICAgICAgICAgICAgICBuZXh0MyA9IC0xOworICAgICAgICAgICAgICAgIGJyZWFrOwor
ICAgICAgICAgICAgfQorICAgICAgICAgICAgbmV4dDMgPSBjb2RlW3BvcysrXTsKKyAgICAgICAg
fSB3aGlsZSAoKG5leHQzICYgMHhGRjAwKSAmJiBpc0Zvcm1hdENoYXIobmV4dDMpKTsKKyAgICB9
CiB9CiAKIC8vIGNhbGxlZCBvbiBlYWNoIG5ldyBsaW5lCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>20970</attachid>
            <date>2008-05-05 10:08:56 -0700</date>
            <delta_ts>2008-05-14 04:22:15 -0700</delta_ts>
            <desc>patch</desc>
            <filename>FormatCharactersPatch.txt</filename>
            <type>text/plain</type>
            <size>44994</size>
            <attacher name="Darin Adler">darin</attacher>
            
              <data encoding="base64">SW5kZXg6IEphdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDMyODc3KQorKysgSmF2YVNjcmlwdENvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjEgQEAKKzIwMDgtMDUtMDUgIERhcmluIEFk
bGVyICA8ZGFyaW5AYXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIC0gZml4IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD00OTMxCisgICAgICAgICAgVW5pY29kZSBmb3JtYXQgY2hhcmFjdGVycyAoQ2YpIHNob3Vs
ZCBiZSByZW1vdmVkIGZyb20gSmF2YVNjcmlwdCBzb3VyY2UKKworICAgICAgICBSZWRvIHRoZSBz
YW1lIGZpeCBvcmlnaW5hbGx5IGRvbmUgYmFjayBvbiAyMDA1LTEwLTI0LCBidXQgdGhpcyB0aW1l
IHRyZWF0aW5nIHRoZQorICAgICAgICBzb2Z0IGh5cGhlbiBhcyBhIHNwZWNpYWwgY2FzZSBhbmQg
ZG9uJ3QgcmVtb3ZlIGl0IGV2ZW4gdGhvdWdoIGl0IGlzIGEgQ2YgY2hhcmFjdGVyLgorCisgICAg
ICAgICoga2pzL2xleGVyLmNwcDoKKyAgICAgICAgKEtKUzo6TGV4ZXI6OnNldENvZGUpOiBUd2Vh
ayBmb3JtYXR0aW5nLiBVc2UgYSBjYWxsIHRvIHNoaWZ0KDQpIHRvIHJlYWQgaW4gdGhlCisgICAg
ICAgIGZpcnN0IGNoYXJhY3RlcnMsIGluc3RlYWQgb2YgaGF2aW5nIHNwZWNpYWwgY2FzZSBjb2Rl
IGhlcmUuCisgICAgICAgIChLSlM6OkxleGVyOjpzaGlmdCk6IEFkZCBhIGxvb3Agd2hlbiByZWFk
aW5nIGEgY2hhcmFjdGVyIHRvIHNraXAgbm9uLUFTQ0lJCisgICAgICAgIGNoYXJhY3RlcnMgd2hl
cmUgaXNGb3JtYXRDaGFyIHJldHVybnMgdHJ1ZS4KKworICAgICAgICAqIHRlc3RzL21vemlsbGEv
ZXhwZWN0ZWQuaHRtbDogVXBkYXRlZCByZXN1bHRzIHRvIGV4cGVjdCBzdWNjZXNzIGZvciBlY21h
XzMvVW5pY29kZS91Yy0wMDEuanMuCisKIDIwMDgtMDUtMDUgIERhcmluIEFkbGVyICA8ZGFyaW5A
YXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEpvaG4gU3VsbGl2YW4uCkluZGV4OiBK
YXZhU2NyaXB0Q29yZS9ranMvbGV4ZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEphdmFTY3JpcHRDb3Jl
L2tqcy9sZXhlci5jcHAJKHJldmlzaW9uIDMyODcwKQorKysgSmF2YVNjcmlwdENvcmUva2pzL2xl
eGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMSw3ICsxLDYgQEAKLS8vIC0qLSBjLWJhc2ljLW9m
ZnNldDogMiAtKi0KIC8qCiAgKiAgQ29weXJpZ2h0IChDKSAxOTk5LTIwMDAgSGFycmkgUG9ydGVu
IChwb3J0ZW5Aa2RlLm9yZykKLSAqICBDb3B5cmlnaHQgKEMpIDIwMDYsIDIwMDcgQXBwbGUgSW5j
LiBBbGwgUmlnaHRzIFJlc2VydmVkLgorICogIENvcHlyaWdodCAoQykgMjAwNiwgMjAwNywgMjAw
OCBBcHBsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCiAgKiAgQ29weXJpZ2h0IChDKSAyMDA3
IENhbWVyb24gWndhcmljaCAoY3d6d2FyaWNoQHV3YXRlcmxvby5jYSkKICAqCiAgKiAgVGhpcyBs
aWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgpA
QCAtMzIsMTAgKzMxLDExIEBACiAjaW5jbHVkZSA8bGltaXRzLmg+CiAjaW5jbHVkZSA8c3RyaW5n
Lmg+CiAjaW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4KKyNpbmNsdWRlIDx3dGYvdW5pY29kZS9V
bmljb2RlLmg+CisKICNpZiBVU0UoTVVMVElQTEVfVEhSRUFEUykKICNpbmNsdWRlIDx3dGYvVGhy
ZWFkU3BlY2lmaWMuaD4KICNlbmRpZgotI2luY2x1ZGUgPHd0Zi91bmljb2RlL1VuaWNvZGUuaD4K
IAogdXNpbmcgbmFtZXNwYWNlIFdURjsKIHVzaW5nIG5hbWVzcGFjZSBVbmljb2RlOwpAQCAtMTAz
LDM4ICsxMDMsNDUgQEAgTGV4ZXI6On5MZXhlcigpCiAKIHZvaWQgTGV4ZXI6OnNldENvZGUoaW50
IHN0YXJ0aW5nTGluZU51bWJlciwgY29uc3QgVUNoYXIqIGMsIHVuc2lnbmVkIGludCBsZW4pCiB7
Ci0gIHl5bGluZW5vID0gMSArIHN0YXJ0aW5nTGluZU51bWJlcjsKLSAgcmVzdHJLZXl3b3JkID0g
ZmFsc2U7Ci0gIGRlbGltaXRlZCA9IGZhbHNlOwotICBlYXROZXh0SWRlbnRpZmllciA9IGZhbHNl
OwotICBzdGFja1Rva2VuID0gLTE7Ci0gIGxhc3RUb2tlbiA9IC0xOwotICBwb3MgPSAwOwotICBj
b2RlID0gYzsKLSAgbGVuZ3RoID0gbGVuOwotICBza2lwTEYgPSBmYWxzZTsKLSAgc2tpcENSID0g
ZmFsc2U7Ci0gIGVycm9yID0gZmFsc2U7Ci0gIGF0TGluZVN0YXJ0ID0gdHJ1ZTsKKyAgICB5eWxp
bmVubyA9IDEgKyBzdGFydGluZ0xpbmVOdW1iZXI7CisgICAgcmVzdHJLZXl3b3JkID0gZmFsc2U7
CisgICAgZGVsaW1pdGVkID0gZmFsc2U7CisgICAgZWF0TmV4dElkZW50aWZpZXIgPSBmYWxzZTsK
KyAgICBzdGFja1Rva2VuID0gLTE7CisgICAgbGFzdFRva2VuID0gLTE7CisgICAgcG9zID0gMDsK
KyAgICBjb2RlID0gYzsKKyAgICBsZW5ndGggPSBsZW47CisgICAgc2tpcExGID0gZmFsc2U7Cisg
ICAgc2tpcENSID0gZmFsc2U7CisgICAgZXJyb3IgPSBmYWxzZTsKKyAgICBhdExpbmVTdGFydCA9
IHRydWU7CiAKLSAgLy8gcmVhZCBmaXJzdCBjaGFyYWN0ZXJzCi0gIGN1cnJlbnQgPSAobGVuZ3Ro
ID4gMCkgPyBjb2RlWzBdIDogLTE7Ci0gIG5leHQxID0gKGxlbmd0aCA+IDEpID8gY29kZVsxXSA6
IC0xOwotICBuZXh0MiA9IChsZW5ndGggPiAyKSA/IGNvZGVbMl0gOiAtMTsKLSAgbmV4dDMgPSAo
bGVuZ3RoID4gMykgPyBjb2RlWzNdIDogLTE7Ci19Ci0KLXZvaWQgTGV4ZXI6OnNoaWZ0KHVuc2ln
bmVkIGludCBwKQotewotICAvLyBIZXJlIHdvdWxkIGJlIGEgZ29vZCBwbGFjZSB0byBzdHJpcCBD
ZiBjaGFyYWN0ZXJzLCBidXQgdGhhdCBoYXMgY2F1c2VkIGNvbXBhdGliaWxpdHkgcHJvYmxlbXM6
Ci0gIC8vIDxodHRwOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDE4Mz4uCi0g
IHdoaWxlIChwLS0pIHsKLSAgICBwb3MrKzsKLSAgICBjdXJyZW50ID0gbmV4dDE7Ci0gICAgbmV4
dDEgPSBuZXh0MjsKLSAgICBuZXh0MiA9IG5leHQzOwotICAgIG5leHQzID0gKHBvcyArIDMgPCBs
ZW5ndGgpID8gY29kZVtwb3MgKyAzXSA6IC0xOwotICB9CisgICAgLy8gcmVhZCBmaXJzdCBjaGFy
YWN0ZXJzCisgICAgc2hpZnQoNCk7Cit9CisKK3ZvaWQgTGV4ZXI6OnNoaWZ0KHVuc2lnbmVkIHAp
Cit7CisgICAgLy8gV2UgZG9uJ3Qgc3RyaXAgc29mdCBoeXBoZW5zIGhlcmUgYmVjYXVzZSB0aGF0
IGhhcyBjYXVzZWQgY29tcGF0aWJpbGl0eSBwcm9ibGVtczoKKyAgICAvLyA8aHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMTgzPi4gV2UgZG8gc3RyaXAgZm9ybWF0IGNo
YXJhY3RlcnMsCisgICAgLy8gYnV0IHdlIGRvbid0IHByb2Nlc3Mgc3Vycm9nYXRlIHBhaXJzIGJl
Y2F1c2UgYXQgdGhlIHRpbWUgb2YgdGhpcyB3cml0aW5nIHRoZXJlIGFyZQorICAgIC8vIG5vIGZv
cm1hdCBjaGFyYWN0ZXJzIHRoYXQgYXJlID4gVStGRkZGLiBXZSBkb24ndCBjaGVjayBjaGFyYWN0
ZXJzIGluIHRoZSBVKzAwMDAgdG8KKyAgICAvLyBVKzAwRkYgcmFuZ2UgYmVjYXVzZSB3ZSBkb24n
dCB3YW50IHRvIGhhbmRsZSBhIHNvZnQgaHlwaGVuIGFuZCBhbHNvIGJlY2F1c2Ugd2UKKyAgICAv
LyB3YW50IHRvIHNraXAgdGhlIHNsb3cgaXNGb3JtYXRDaGFyIGNhbGwgaW4gdGhlIGNvbW1vbiBj
YXNlIG9mIEFTQ0lJIHNvdXJjZSB0ZXh0LgorCisgICAgd2hpbGUgKHAtLSkgeworICAgICAgICBj
dXJyZW50ID0gbmV4dDE7CisgICAgICAgIG5leHQxID0gbmV4dDI7CisgICAgICAgIG5leHQyID0g
bmV4dDM7CisgICAgICAgIGRvIHsKKyAgICAgICAgICAgIGlmIChwb3MgPj0gbGVuZ3RoKSB7Cisg
ICAgICAgICAgICAgICAgbmV4dDMgPSAtMTsKKyAgICAgICAgICAgICAgICBicmVhazsKKyAgICAg
ICAgICAgIH0KKyAgICAgICAgICAgIG5leHQzID0gY29kZVtwb3MrK107CisgICAgICAgIH0gd2hp
bGUgKG5leHQzID4gMHhGRiAmJiBpc0Zvcm1hdENoYXIobmV4dDMpKTsKKyAgICB9CiB9CiAKIC8v
IGNhbGxlZCBvbiBlYWNoIG5ldyBsaW5lCkluZGV4OiBKYXZhU2NyaXB0Q29yZS90ZXN0cy9tb3pp
bGxhL2V4cGVjdGVkLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSmF2YVNjcmlwdENvcmUvdGVzdHMvbW96
aWxsYS9leHBlY3RlZC5odG1sCShyZXZpc2lvbiAzMjg3MCkKKysrIEphdmFTY3JpcHRDb3JlL3Rl
c3RzL21vemlsbGEvZXhwZWN0ZWQuaHRtbAkod29ya2luZyBjb3B5KQpAQCAtNywxMSArNywxMSBA
QAogPHAgY2xhc3M9J3Jlc3VsdHNfc3VtbWFyeSc+CiBUZXN0IExpc3Q6IEFsbCB0ZXN0czxicj4K
IFNraXAgTGlzdDogKG5vbmUpPGJyPgotMTEzNSB0ZXN0KHMpIHNlbGVjdGVkLCAxMTI3IHRlc3Qo
cykgY29tcGxldGVkLCA1MSBmYWlsdXJlcyByZXBvcnRlZCAoNC41MiUgZmFpbGVkKTxicj4KLUVu
Z2luZSBjb21tYW5kIGxpbmU6IC9Wb2x1bWVzL0JpZy9nZ2FyZW4vYnVpbGQvRGVidWcvdGVzdGtq
cyA8YnI+Ci1PUyB0eXBlOiBEYXJ3aW4gaWwwMzAxZS1kaGNwMTkxLmFwcGxlLmNvbSA5LjIuMCBE
YXJ3aW4gS2VybmVsIFZlcnNpb24gOS4yLjA6IFR1ZSBGZWIgIDUgMTY6MTM6MjIgUFNUIDIwMDg7
IHJvb3Q6eG51LTEyMjguMy4xM34xL1JFTEVBU0VfSTM4NiBpMzg2PGJyPgotVGVzdGNhc2UgZXhl
Y3V0aW9uIHRpbWU6IDEgbWludXRlcywgNTAgc2Vjb25kcy48YnI+Ci1UZXN0cyBjb21wbGV0ZWQg
b24gVGh1IE1hciAgNiAxMzo1Mzo1NSAyMDA4Ljxicj48YnI+CisxMTM1IHRlc3Qocykgc2VsZWN0
ZWQsIDExMjcgdGVzdChzKSBjb21wbGV0ZWQsIDUwIGZhaWx1cmVzIHJlcG9ydGVkICg0LjQzJSBm
YWlsZWQpPGJyPgorRW5naW5lIGNvbW1hbmQgbGluZTogL1VzZXJzL2RhcmluL0J1aWxkL0RlYnVn
L3Rlc3RranMgPGJyPgorT1MgdHlwZTogRGFyd2luIERhcmluLUFkbGVycy1NYWMtUHJvLmxvY2Fs
IDkuMi4yIERhcndpbiBLZXJuZWwgVmVyc2lvbiA5LjIuMjogVHVlIE1hciAgNCAyMToxNzozNCBQ
U1QgMjAwODsgcm9vdDp4bnUtMTIyOC40LjMxfjEvUkVMRUFTRV9JMzg2IGkzODY8YnI+CitUZXN0
Y2FzZSBleGVjdXRpb24gdGltZTogMSBtaW51dGVzLCAwIHNlY29uZHMuPGJyPgorVGVzdHMgY29t
cGxldGVkIG9uIE1vbiBNYXkgIDUgMTA6MDA6MzkgMjAwOC48YnI+PGJyPgogWyA8YSBocmVmPScj
ZmFpbF9kZXRhaWwnPkZhaWx1cmUgRGV0YWlsczwvYT4gfCA8YSBocmVmPScjcmV0ZXN0X2xpc3Qn
PlJldGVzdCBMaXN0PC9hPiB8IDxhIGhyZWY9J21lbnUuaHRtbCc+VGVzdCBTZWxlY3Rpb24gUGFn
ZTwvYT4gXTxicj4KIDxocj4KIDxhIG5hbWU9J2ZhaWxfZGV0YWlsJz48L2E+CkBAIC00Myw4ICs0
Myw4IEBAIEZhaWx1cmUgbWVzc2FnZXMgd2VyZTo8YnI+CiAoTW9uIEZlYiAyOCAyMDAwIDE2OjAw
OjAwIEdNVC0wODAwIChQU1QpKS50b0xvY2FsZVRpbWVTdHJpbmcoKSA9IDQ6MDA6MDAgUE0gUFNU
IEZBSUxFRCEgZXhwZWN0ZWQ6IDE2OjAwOjAwPGJyPgogKE1vbiBGZWIgMjggMjAwMCAxNTo1OTo1
OSBHTVQtMDgwMCAoUFNUKSkudG9Mb2NhbGVUaW1lU3RyaW5nKCkgPSAzOjU5OjU5IFBNIFBTVCBG
QUlMRUQhIGV4cGVjdGVkOiAxNTo1OTo1OTxicj4KIChUdWUgRmViIDI5IDIwMDAgMDA6MDA6MDAg
R01ULTA4MDAgKFBTVCkpLnRvTG9jYWxlVGltZVN0cmluZygpID0gMTI6MDA6MDAgQU0gUFNUIEZB
SUxFRCEgZXhwZWN0ZWQ6IDAwOjAwOjAwPGJyPgotKFRodSBNYXIgMDYgMjAwOCAxMzo1MzozMiBH
TVQtMDgwMCAoUFNUKSkudG9Mb2NhbGVUaW1lU3RyaW5nKCkgPSAxOjUzOjMyIFBNIFBTVCBGQUlM
RUQhIGV4cGVjdGVkOiAxMzo1MzozMjxicj4KLShUaHUgTWFyIDA2IDIwMDggMjE6NTM6MzIgR01U
LTA4MDAgKFBTVCkpLnRvTG9jYWxlVGltZVN0cmluZygpID0gOTo1MzozMiBQTSBQU1QgRkFJTEVE
ISBleHBlY3RlZDogMjE6NTM6MzI8YnI+CisoTW9uIE1heSAwNSAyMDA4IDEwOjAwOjI1IEdNVC0w
NzAwIChQRFQpKS50b0xvY2FsZVRpbWVTdHJpbmcoKSA9IDEwOjAwOjI1IEFNIFBEVCBGQUlMRUQh
IGV4cGVjdGVkOiAxMDowMDoyNTxicj4KKyhNb24gTWF5IDA1IDIwMDggMTg6MDA6MjUgR01ULTA3
MDAgKFBEVCkpLnRvTG9jYWxlVGltZVN0cmluZygpID0gNjowMDoyNSBQTSBQRFQgRkFJTEVEISBl
eHBlY3RlZDogMTg6MDA6MjU8YnI+CiAoRnJpIERlYyAzMSAyMDA0IDE2OjAwOjAwIEdNVC0wODAw
IChQU1QpKS50b0xvY2FsZVRpbWVTdHJpbmcoKSA9IDQ6MDA6MDAgUE0gUFNUIEZBSUxFRCEgZXhw
ZWN0ZWQ6IDE2OjAwOjAwPGJyPgogKEZyaSBEZWMgMzEgMjAwNCAxNTo1OTo1OSBHTVQtMDgwMCAo
UFNUKSkudG9Mb2NhbGVUaW1lU3RyaW5nKCkgPSAzOjU5OjU5IFBNIFBTVCBGQUlMRUQhIGV4cGVj
dGVkOiAxNTo1OTo1OTxicj4KIChTYXQgSmFuIDAxIDIwMDUgMDA6MDA6MDAgR01ULTA4MDAgKFBT
VCkpLnRvTG9jYWxlVGltZVN0cmluZygpID0gMTI6MDA6MDAgQU0gUFNUIEZBSUxFRCEgZXhwZWN0
ZWQ6IDAwOjAwOjAwPGJyPgpAQCAtMTY2LDM0ICsxNjYsMjYgQEAgRkFJTEVEITogW3JlcG9ydGVk
IGZyb20gdGVzdCgpXSA8YnI+CiA8dHQ+RXhwZWN0ZWQgZXhpdCBjb2RlIDAsIGdvdCAzPGJyPgog
VGVzdGNhc2UgdGVybWluYXRlZCB3aXRoIHNpZ25hbCAwPGJyPgogQ29tcGxldGUgdGVzdGNhc2Ug
b3V0cHV0IHdhczo8YnI+Ci1bOTMzMjVdIC4vZWNtYV8zL1N0YXRlbWVudHMvcmVncmVzcy0xOTQz
NjQuanMgbGluZSAxOiBTeW50YXhFcnJvcjogUGFyc2UgZXJyb3I8YnI+CitbMjUzNDBdIC4vZWNt
YV8zL1N0YXRlbWVudHMvcmVncmVzcy0xOTQzNjQuanMgbGluZSAxOiBTeW50YXhFcnJvcjogUGFy
c2UgZXJyb3I8YnI+CiA8L3R0Pjxicj4KLTxhIG5hbWU9J2ZhaWx1cmU5Jz48L2E+PGRkPjxiPlRl
c3RjYXNlIDxhIHRhcmdldD0nb3RoZXJfd2luZG93JyBocmVmPScuL2VjbWFfMy9Vbmljb2RlL3Vj
LTAwMS5qcyc+ZWNtYV8zL1VuaWNvZGUvdWMtMDAxLmpzPC9hPiBmYWlsZWQ8L2I+IDxhIGhyZWY9
J2h0dHA6Ly9idWd6aWxsYS5tb3ppbGxhLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM2MTAnIHRhcmdl
dD0nb3RoZXJfd2luZG93Jz5CdWcgTnVtYmVyIDIzNjEwPC9hPjxicj4KKzxhIG5hbWU9J2ZhaWx1
cmU5Jz48L2E+PGRkPjxiPlRlc3RjYXNlIDxhIHRhcmdldD0nb3RoZXJfd2luZG93JyBocmVmPScu
L2VjbWFfMy9Vbmljb2RlL3VjLTAwMi5qcyc+ZWNtYV8zL1VuaWNvZGUvdWMtMDAyLmpzPC9hPiBm
YWlsZWQ8L2I+IDxhIGhyZWY9J2h0dHA6Ly9idWd6aWxsYS5tb3ppbGxhLm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MjM2MTMnIHRhcmdldD0nb3RoZXJfd2luZG93Jz5CdWcgTnVtYmVyIDIzNjEzPC9hPjxi
cj4KICBbIDxhIGhyZWY9JyNmYWlsdXJlOCc+UHJldmlvdXMgRmFpbHVyZTwvYT4gfCA8YSBocmVm
PScjZmFpbHVyZTEwJz5OZXh0IEZhaWx1cmU8L2E+IHwgPGEgaHJlZj0nI3RpcHB5X3RvcCc+VG9w
IG9mIFBhZ2U8L2E+IF08YnI+Ci08dHQ+U1RBVFVTOiBVbmljb2RlIGZvcm1hdC1jb250cm9sIGNo
YXJhY3RlciAoQ2F0ZWdvcnkgQ2YpIHRlc3QuPGJyPgotRmFpbHVyZSBtZXNzYWdlcyB3ZXJlOjxi
cj4KLUZBSUxFRCE6IFtyZXBvcnRlZCBmcm9tIHRlc3QoKV0gVW5pY29kZSBmb3JtYXQtY29udHJv
bCBjaGFyYWN0ZXIgdGVzdCAoQ2F0ZWdvcnkgQ2YuKTxicj4KLUZBSUxFRCE6IFtyZXBvcnRlZCBm
cm9tIHRlc3QoKV0gRXhwZWN0ZWQgdmFsdWUgJ25vIGVycm9yJywgQWN0dWFsIHZhbHVlICdub+KA
jiBlcnJvcic8YnI+Ci1GQUlMRUQhOiBbcmVwb3J0ZWQgZnJvbSB0ZXN0KCldIDxicj4KLTwvdHQ+
PGJyPgotPGEgbmFtZT0nZmFpbHVyZTEwJz48L2E+PGRkPjxiPlRlc3RjYXNlIDxhIHRhcmdldD0n
b3RoZXJfd2luZG93JyBocmVmPScuL2VjbWFfMy9Vbmljb2RlL3VjLTAwMi5qcyc+ZWNtYV8zL1Vu
aWNvZGUvdWMtMDAyLmpzPC9hPiBmYWlsZWQ8L2I+IDxhIGhyZWY9J2h0dHA6Ly9idWd6aWxsYS5t
b3ppbGxhLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjM2MTMnIHRhcmdldD0nb3RoZXJfd2luZG93Jz5C
dWcgTnVtYmVyIDIzNjEzPC9hPjxicj4KLSBbIDxhIGhyZWY9JyNmYWlsdXJlOSc+UHJldmlvdXMg
RmFpbHVyZTwvYT4gfCA8YSBocmVmPScjZmFpbHVyZTExJz5OZXh0IEZhaWx1cmU8L2E+IHwgPGEg
aHJlZj0nI3RpcHB5X3RvcCc+VG9wIG9mIFBhZ2U8L2E+IF08YnI+CiA8dHQ+U1RBVFVTOiBVbmlj
b2RlIG5vbi1icmVha2luZyBzcGFjZSBjaGFyYWN0ZXIgdGVzdC48YnI+CiBGYWlsdXJlIG1lc3Nh
Z2VzIHdlcmU6PGJyPgogRkFJTEVEITogW3JlcG9ydGVkIGZyb20gdGVzdCgpXSBVbmljb2RlIG5v
bi1icmVha2luZyBzcGFjZSBjaGFyYWN0ZXIgcmVnZXhwIHRlc3QuPGJyPgogRkFJTEVEITogW3Jl
cG9ydGVkIGZyb20gdGVzdCgpXSBFeHBlY3RlZCB2YWx1ZSAnMCcsIEFjdHVhbCB2YWx1ZSAnLTEn
PGJyPgogRkFJTEVEITogW3JlcG9ydGVkIGZyb20gdGVzdCgpXSA8YnI+CiA8L3R0Pjxicj4KLTxh
IG5hbWU9J2ZhaWx1cmUxMSc+PC9hPjxkZD48Yj5UZXN0Y2FzZSA8YSB0YXJnZXQ9J290aGVyX3dp
bmRvdycgaHJlZj0nLi9qczFfMi9PYmplY3RzL3RvU3RyaW5nLTAwMS5qcyc+anMxXzIvT2JqZWN0
cy90b1N0cmluZy0wMDEuanM8L2E+IGZhaWxlZDwvYj4gPGJyPgotIFsgPGEgaHJlZj0nI2ZhaWx1
cmUxMCc+UHJldmlvdXMgRmFpbHVyZTwvYT4gfCA8YSBocmVmPScjZmFpbHVyZTEyJz5OZXh0IEZh
aWx1cmU8L2E+IHwgPGEgaHJlZj0nI3RpcHB5X3RvcCc+VG9wIG9mIFBhZ2U8L2E+IF08YnI+Cis8
YSBuYW1lPSdmYWlsdXJlMTAnPjwvYT48ZGQ+PGI+VGVzdGNhc2UgPGEgdGFyZ2V0PSdvdGhlcl93
aW5kb3cnIGhyZWY9Jy4vanMxXzIvT2JqZWN0cy90b1N0cmluZy0wMDEuanMnPmpzMV8yL09iamVj
dHMvdG9TdHJpbmctMDAxLmpzPC9hPiBmYWlsZWQ8L2I+IDxicj4KKyBbIDxhIGhyZWY9JyNmYWls
dXJlOSc+UHJldmlvdXMgRmFpbHVyZTwvYT4gfCA8YSBocmVmPScjZmFpbHVyZTExJz5OZXh0IEZh
aWx1cmU8L2E+IHwgPGEgaHJlZj0nI3RpcHB5X3RvcCc+VG9wIG9mIFBhZ2U8L2E+IF08YnI+CiA8
dHQ+PGJyPgogRmFpbHVyZSBtZXNzYWdlcyB3ZXJlOjxicj4KIHZhciBvID0gbmV3IE9iamVjdCgp
OyBvLnRvU3RyaW5nKCkgPSBbb2JqZWN0IE9iamVjdF0gRkFJTEVEISBleHBlY3RlZDoge308YnI+
CiBvID0ge307IG8udG9TdHJpbmcoKSA9IFtvYmplY3QgT2JqZWN0XSBGQUlMRUQhIGV4cGVjdGVk
OiB7fTxicj4KIG8gPSB7IG5hbWU6Im9iamVjdCIsIGxlbmd0aDowLCB2YWx1ZToiaGVsbG8iIH07
IG8udG9TdHJpbmcoKSA9IGZhbHNlIEZBSUxFRCEgZXhwZWN0ZWQ6IHRydWU8YnI+CiA8L3R0Pjxi
cj4KLTxhIG5hbWU9J2ZhaWx1cmUxMic+PC9hPjxkZD48Yj5UZXN0Y2FzZSA8YSB0YXJnZXQ9J290
aGVyX3dpbmRvdycgaHJlZj0nLi9qczFfMi9mdW5jdGlvbi9GdW5jdGlvbl9vYmplY3QuanMnPmpz
MV8yL2Z1bmN0aW9uL0Z1bmN0aW9uX29iamVjdC5qczwvYT4gZmFpbGVkPC9iPiA8YnI+Ci0gWyA8
YSBocmVmPScjZmFpbHVyZTExJz5QcmV2aW91cyBGYWlsdXJlPC9hPiB8IDxhIGhyZWY9JyNmYWls
dXJlMTMnPk5leHQgRmFpbHVyZTwvYT4gfCA8YSBocmVmPScjdGlwcHlfdG9wJz5Ub3Agb2YgUGFn
ZTwvYT4gXTxicj4KKzxhIG5hbWU9J2ZhaWx1cmUxMSc+PC9hPjxkZD48Yj5UZXN0Y2FzZSA8YSB0
YXJnZXQ9J290aGVyX3dpbmRvdycgaHJlZj0nLi9qczFfMi9mdW5jdGlvbi9GdW5jdGlvbl9vYmpl
Y3QuanMnPmpzMV8yL2Z1bmN0aW9uL0Z1bmN0aW9uX29iamVjdC5qczwvYT4gZmFpbGVkPC9iPiA8
YnI+CisgWyA8YSBocmVmPScjZmFpbHVyZTEwJz5QcmV2aW91cyBGYWlsdXJlPC9hPiB8IDxhIGhy
ZWY9JyNmYWlsdXJlMTInPk5leHQgRmFpbHVyZTwvYT4gfCA8YSBocmVmPScjdGlwcHlfdG9wJz5U
b3Agb2YgUGFnZTwvYT4gXTxicj4KIDx0dD48YnI+CiBGYWlsdXJlIG1lc3NhZ2VzIHdlcmU6PGJy
PgogZi5uYW1lID0gdW5kZWZpbmVkIEZBSUxFRCEgZXhwZWN0ZWQ6IGFfdGVzdF9mdW5jdGlvbjxi
cj4KQEAgLTIwMSwxNiArMTkzLDE2IEBAIGYuYXJpdHkgPSB1bmRlZmluZWQgRkFJTEVEISBleHBl
Y3RlZDogMzwKIChuZXcgRnVuY3Rpb24oKSkubmFtZSA9IHVuZGVmaW5lZCBGQUlMRUQhIGV4cGVj
dGVkOiBhbm9ueW1vdXM8YnI+CiB9IEZBSUxFRCEgZXhwZWN0ZWQ6IDxicj4KIDwvdHQ+PGJyPgot
PGEgbmFtZT0nZmFpbHVyZTEzJz48L2E+PGRkPjxiPlRlc3RjYXNlIDxhIHRhcmdldD0nb3RoZXJf
d2luZG93JyBocmVmPScuL2pzMV8yL2Z1bmN0aW9uL2Z1bmN0aW9uLTAwMS1uLmpzJz5qczFfMi9m
dW5jdGlvbi9mdW5jdGlvbi0wMDEtbi5qczwvYT4gZmFpbGVkPC9iPiA8YnI+Ci0gWyA8YSBocmVm
PScjZmFpbHVyZTEyJz5QcmV2aW91cyBGYWlsdXJlPC9hPiB8IDxhIGhyZWY9JyNmYWlsdXJlMTQn
Pk5leHQgRmFpbHVyZTwvYT4gfCA8YSBocmVmPScjdGlwcHlfdG9wJz5Ub3Agb2YgUGFnZTwvYT4g
XTxicj4KKzxhIG5hbWU9J2ZhaWx1cmUxMic+PC9hPjxkZD48Yj5UZXN0Y2FzZSA8YSB0YXJnZXQ9
J290aGVyX3dpbmRvdycgaHJlZj0nLi9qczFfMi9mdW5jdGlvbi9mdW5jdGlvbi0wMDEtbi5qcyc+
anMxXzIvZnVuY3Rpb24vZnVuY3Rpb24tMDAxLW4uanM8L2E+IGZhaWxlZDwvYj4gPGJyPgorIFsg
PGEgaHJlZj0nI2ZhaWx1cmUxMSc+UHJldmlvdXMgRmFpbHVyZTwvYT4gfCA8YSBocmVmPScjZmFp
bHVyZTEzJz5OZXh0IEZhaWx1cmU8L2E+IHwgPGEgaHJlZj0nI3RpcHB5X3RvcCc+VG9wIG9mIFBh
Z2U8L2E+IF08YnI+CiA8dHQ+RXhwZWN0ZWQgZXhpdCBjb2RlIDMsIGdvdCAwPGJyPgogVGVzdGNh
c2UgdGVybWluYXRlZCB3aXRoIHNpZ25hbCAwPGJyPgogQ29tcGxldGUgdGVzdGNhc2Ugb3V0cHV0
IHdhczo8YnI+CiBmdW5jdGlvbi0wMDEuanMgZnVuY3Rpb25zIG5vdCBzZXBhcmF0ZWQgYnkgc2Vt
aWNvbG9ucyBhcmUgZXJyb3JzIGluIHZlcnNpb24gMTIwIGFuZCBoaWdoZXI8YnI+CiBldmFsKCJm
dW5jdGlvbiBmKCl7fWZ1bmN0aW9uIGcoKXt9IikgPSB1bmRlZmluZWQgRkFJTEVEISBleHBlY3Rl
ZDogZXJyb3I8YnI+CiA8L3R0Pjxicj4KLTxhIG5hbWU9J2ZhaWx1cmUxNCc+PC9hPjxkZD48Yj5U
ZXN0Y2FzZSA8YSB0YXJnZXQ9J290aGVyX3dpbmRvdycgaHJlZj0nLi9qczFfMi9mdW5jdGlvbi90
b3N0cmluZy0xLmpzJz5qczFfMi9mdW5jdGlvbi90b3N0cmluZy0xLmpzPC9hPiBmYWlsZWQ8L2I+
IDxicj4KLSBbIDxhIGhyZWY9JyNmYWlsdXJlMTMnPlByZXZpb3VzIEZhaWx1cmU8L2E+IHwgPGEg
aHJlZj0nI2ZhaWx1cmUxNSc+TmV4dCBGYWlsdXJlPC9hPiB8IDxhIGhyZWY9JyN0aXBweV90b3An
PlRvcCBvZiBQYWdlPC9hPiBdPGJyPgorPGEgbmFtZT0nZmFpbHVyZTEzJz48L2E+PGRkPjxiPlRl
c3RjYXNlIDxhIHRhcmdldD0nb3RoZXJfd2luZG93JyBocmVmPScuL2pzMV8yL2Z1bmN0aW9uL3Rv
c3RyaW5nLTEuanMnPmpzMV8yL2Z1bmN0aW9uL3Rvc3RyaW5nLTEuanM8L2E+IGZhaWxlZDwvYj4g
PGJyPgorIFsgPGEgaHJlZj0nI2ZhaWx1cmUxMic+UHJldmlvdXMgRmFpbHVyZTwvYT4gfCA8YSBo
cmVmPScjZmFpbHVyZTE0Jz5OZXh0IEZhaWx1cmU8L2E+IHwgPGEgaHJlZj0nI3RpcHB5X3RvcCc+
VG9wIG9mIFBhZ2U8L2E+IF08YnI+CiA8dHQ+PGJyPgogRmFpbHVyZSBtZXNzYWdlcyB3ZXJlOjxi
cj4KIH0gRkFJTEVEISBleHBlY3RlZDogPGJyPgpAQCAtMjE5LDggKzIxMSw4IEBAIEZhaWx1cmUg
bWVzc2FnZXMgd2VyZTo8YnI+CiB9IEZBSUxFRCEgZXhwZWN0ZWQ6IDxicj4KIH0gRkFJTEVEISBl
eHBlY3RlZDogPGJyPgogPC90dD48YnI+Ci08YSBuYW1lPSdmYWlsdXJlMTUnPjwvYT48ZGQ+PGI+
VGVzdGNhc2UgPGEgdGFyZ2V0PSdvdGhlcl93aW5kb3cnIGhyZWY9Jy4vanMxXzIvZnVuY3Rpb24v
dG9zdHJpbmctMi5qcyc+anMxXzIvZnVuY3Rpb24vdG9zdHJpbmctMi5qczwvYT4gZmFpbGVkPC9i
PiA8YnI+Ci0gWyA8YSBocmVmPScjZmFpbHVyZTE0Jz5QcmV2aW91cyBGYWlsdXJlPC9hPiB8IDxh
IGhyZWY9JyNmYWlsdXJlMTYnPk5leHQgRmFpbHVyZTwvYT4gfCA8YSBocmVmPScjdGlwcHlfdG9w
Jz5Ub3Agb2YgUGFnZTwvYT4gXTxicj4KKzxhIG5hbWU9J2ZhaWx1cmUxNCc+PC9hPjxkZD48Yj5U
ZXN0Y2FzZSA8YSB0YXJnZXQ9J290aGVyX3dpbmRvdycgaHJlZj0nLi9qczFfMi9mdW5jdGlvbi90
b3N0cmluZy0yLmpzJz5qczFfMi9mdW5jdGlvbi90b3N0cmluZy0yLmpzPC9hPiBmYWlsZWQ8L2I+
IDxicj4KKyBbIDxhIGhyZWY9JyNmYWlsdXJlMTMnPlByZXZpb3VzIEZhaWx1cmU8L2E+IHwgPGEg
aHJlZj0nI2ZhaWx1cmUxNSc+TmV4dCBGYWlsdXJlPC9hPiB8IDxhIGhyZWY9JyN0aXBweV90b3An
PlRvcCBvZiBQYWdlPC9hPiBdPGJyPgogPHR0Pjxicj4KIEZhaWx1cmUgbWVzc2FnZXMgd2VyZTo8
YnI+CiB9IEZBSUxFRCEgZXhwZWN0ZWQ6IDxicj4KQEAgLTIzMywyMiArMjI1LDIyIEBAIEZhaWx1
cmUgbWVzc2FnZXMgd2VyZTo8YnI+CiB9IEZBSUxFRCEgZXhwZWN0ZWQ6IDxicj4KIH0gRkFJTEVE
ISBleHBlY3RlZDogPGJyPgogPC90dD48YnI+Ci08YSBuYW1lPSdmYWlsdXJlMTYnPjwvYT48ZGQ+
PGI+VGVzdGNhc2UgPGEgdGFyZ2V0PSdvdGhlcl93aW5kb3cnIGhyZWY9Jy4vanMxXzIvb3BlcmF0
b3IvZXF1YWxpdHkuanMnPmpzMV8yL29wZXJhdG9yL2VxdWFsaXR5LmpzPC9hPiBmYWlsZWQ8L2I+
IDxicj4KLSBbIDxhIGhyZWY9JyNmYWlsdXJlMTUnPlByZXZpb3VzIEZhaWx1cmU8L2E+IHwgPGEg
aHJlZj0nI2ZhaWx1cmUxNyc+TmV4dCBGYWlsdXJlPC9hPiB8IDxhIGhyZWY9JyN0aXBweV90b3An
PlRvcCBvZiBQYWdlPC9hPiBdPGJyPgorPGEgbmFtZT0nZmFpbHVyZTE1Jz48L2E+PGRkPjxiPlRl
c3RjYXNlIDxhIHRhcmdldD0nb3RoZXJfd2luZG93JyBocmVmPScuL2pzMV8yL29wZXJhdG9yL2Vx
dWFsaXR5LmpzJz5qczFfMi9vcGVyYXRvci9lcXVhbGl0eS5qczwvYT4gZmFpbGVkPC9iPiA8YnI+
CisgWyA8YSBocmVmPScjZmFpbHVyZTE0Jz5QcmV2aW91cyBGYWlsdXJlPC9hPiB8IDxhIGhyZWY9
JyNmYWlsdXJlMTYnPk5leHQgRmFpbHVyZTwvYT4gfCA8YSBocmVmPScjdGlwcHlfdG9wJz5Ub3Ag
b2YgUGFnZTwvYT4gXTxicj4KIDx0dD48YnI+CiBGYWlsdXJlIG1lc3NhZ2VzIHdlcmU6PGJyPgog
KG5ldyBTdHJpbmcoJ3gnKSA9PSAneCcpICAgICAgICAgICAgICAgICAgPSB0cnVlIEZBSUxFRCEg
ZXhwZWN0ZWQ6IGZhbHNlPGJyPgogKCd4JyA9PSBuZXcgU3RyaW5nKCd4JykpICAgICAgICAgICAg
ICAgICAgPSB0cnVlIEZBSUxFRCEgZXhwZWN0ZWQ6IGZhbHNlPGJyPgogPC90dD48YnI+Ci08YSBu
YW1lPSdmYWlsdXJlMTcnPjwvYT48ZGQ+PGI+VGVzdGNhc2UgPGEgdGFyZ2V0PSdvdGhlcl93aW5k
b3cnIGhyZWY9Jy4vanMxXzIvcmVnZXhwL1JlZ0V4cF9sYXN0SW5kZXguanMnPmpzMV8yL3JlZ2V4
cC9SZWdFeHBfbGFzdEluZGV4LmpzPC9hPiBmYWlsZWQ8L2I+IDxicj4KLSBbIDxhIGhyZWY9JyNm
YWlsdXJlMTYnPlByZXZpb3VzIEZhaWx1cmU8L2E+IHwgPGEgaHJlZj0nI2ZhaWx1cmUxOCc+TmV4
dCBGYWlsdXJlPC9hPiB8IDxhIGhyZWY9JyN0aXBweV90b3AnPlRvcCBvZiBQYWdlPC9hPiBdPGJy
PgorPGEgbmFtZT0nZmFpbHVyZTE2Jz48L2E+PGRkPjxiPlRlc3RjYXNlIDxhIHRhcmdldD0nb3Ro
ZXJfd2luZG93JyBocmVmPScuL2pzMV8yL3JlZ2V4cC9SZWdFeHBfbGFzdEluZGV4LmpzJz5qczFf
Mi9yZWdleHAvUmVnRXhwX2xhc3RJbmRleC5qczwvYT4gZmFpbGVkPC9iPiA8YnI+CisgWyA8YSBo
cmVmPScjZmFpbHVyZTE1Jz5QcmV2aW91cyBGYWlsdXJlPC9hPiB8IDxhIGhyZWY9JyNmYWlsdXJl
MTcnPk5leHQgRmFpbHVyZTwvYT4gfCA8YSBocmVmPScjdGlwcHlfdG9wJz5Ub3Agb2YgUGFnZTwv
YT4gXTxicj4KIDx0dD48YnI+CiBGYWlsdXJlIG1lc3NhZ2VzIHdlcmU6PGJyPgogcmU9L3guL2c7
IHJlLmxhc3RJbmRleD00OyByZS5leGVjKCd4eWFiY2R4YScpID0geGEgRkFJTEVEISBleHBlY3Rl
ZDogWyJ4YSJdPGJyPgogcmUuZXhlYygneHlhYmNkZWYnKSA9IHh5IEZBSUxFRCEgZXhwZWN0ZWQ6
IFsieHkiXTxicj4KIDwvdHQ+PGJyPgotPGEgbmFtZT0nZmFpbHVyZTE4Jz48L2E+PGRkPjxiPlRl
c3RjYXNlIDxhIHRhcmdldD0nb3RoZXJfd2luZG93JyBocmVmPScuL2pzMV8yL3JlZ2V4cC9SZWdF
eHBfbXVsdGlsaW5lLmpzJz5qczFfMi9yZWdleHAvUmVnRXhwX211bHRpbGluZS5qczwvYT4gZmFp
bGVkPC9iPiA8YnI+Ci0gWyA8YSBocmVmPScjZmFpbHVyZTE3Jz5QcmV2aW91cyBGYWlsdXJlPC9h
PiB8IDxhIGhyZWY9JyNmYWlsdXJlMTknPk5leHQgRmFpbHVyZTwvYT4gfCA8YSBocmVmPScjdGlw
cHlfdG9wJz5Ub3Agb2YgUGFnZTwvYT4gXTxicj4KKzxhIG5hbWU9J2ZhaWx1cmUxNyc+PC9hPjxk
ZD48Yj5UZXN0Y2FzZSA8YSB0YXJnZXQ9J290aGVyX3dpbmRvdycgaHJlZj0nLi9qczFfMi9yZWdl
eHAvUmVnRXhwX211bHRpbGluZS5qcyc+anMxXzIvcmVnZXhwL1JlZ0V4cF9tdWx0aWxpbmUuanM8
L2E+IGZhaWxlZDwvYj4gPGJyPgorIFsgPGEgaHJlZj0nI2ZhaWx1cmUxNic+UHJldmlvdXMgRmFp
bHVyZTwvYT4gfCA8YSBocmVmPScjZmFpbHVyZTE4Jz5OZXh0IEZhaWx1cmU8L2E+IHwgPGEgaHJl
Zj0nI3RpcHB5X3RvcCc+VG9wIG9mIFBhZ2U8L2E+IF08YnI+CiA8dHQ+PGJyPgogRmFpbHVyZSBt
ZXNzYWdlcyB3ZXJlOjxicj4KIChtdWx0aWxpbmUgPT0gdHJ1ZSkgJzEyM1xuNDU2Jy5tYXRjaCgv
XjQuLi8pID0gbnVsbCBGQUlMRUQhIGV4cGVjdGVkOiA0NTY8YnI+CkBAIC0yNTcsOCArMjQ5LDgg
QEAgRmFpbHVyZSBtZXNzYWdlcyB3ZXJlOjxicj4KIChtdWx0aWxpbmUgPT0gdHJ1ZSkgJ2ExMVxu
YTIyXG5hMjNcbmEyNCcubWF0Y2goL2EuLiQvZykgPSBhMjQgRkFJTEVEISBleHBlY3RlZDogYTEx
LGEyMixhMjMsYTI0PGJyPgogKG11bHRpbGluZSA9PSB0cnVlKSAnYTExXG5hMjJcbmEyM1xuYTI0
Jy5tYXRjaChuZXcgUmVnRXhwKCdhLi4kJywnZycpKSA9IGEyNCBGQUlMRUQhIGV4cGVjdGVkOiBh
MTEsYTIyLGEyMyxhMjQ8YnI+CiA8L3R0Pjxicj4KLTxhIG5hbWU9J2ZhaWx1cmUxOSc+PC9hPjxk
ZD48Yj5UZXN0Y2FzZSA8YSB0YXJnZXQ9J290aGVyX3dpbmRvdycgaHJlZj0nLi9qczFfMi9yZWdl
eHAvUmVnRXhwX211bHRpbGluZV9hc19hcnJheS5qcyc+anMxXzIvcmVnZXhwL1JlZ0V4cF9tdWx0
aWxpbmVfYXNfYXJyYXkuanM8L2E+IGZhaWxlZDwvYj4gPGJyPgotIFsgPGEgaHJlZj0nI2ZhaWx1
cmUxOCc+UHJldmlvdXMgRmFpbHVyZTwvYT4gfCA8YSBocmVmPScjZmFpbHVyZTIwJz5OZXh0IEZh
aWx1cmU8L2E+IHwgPGEgaHJlZj0nI3RpcHB5X3RvcCc+VG9wIG9mIFBhZ2U8L2E+IF08YnI+Cis8
YSBuYW1lPSdmYWlsdXJlMTgnPjwvYT48ZGQ+PGI+VGVzdGNhc2UgPGEgdGFyZ2V0PSdvdGhlcl93
aW5kb3cnIGhyZWY9Jy4vanMxXzIvcmVnZXhwL1JlZ0V4cF9tdWx0aWxpbmVfYXNfYXJyYXkuanMn
PmpzMV8yL3JlZ2V4cC9SZWdFeHBfbXVsdGlsaW5lX2FzX2FycmF5LmpzPC9hPiBmYWlsZWQ8L2I+
IDxicj4KKyBbIDxhIGhyZWY9JyNmYWlsdXJlMTcnPlByZXZpb3VzIEZhaWx1cmU8L2E+IHwgPGEg
aHJlZj0nI2ZhaWx1cmUxOSc+TmV4dCBGYWlsdXJlPC9hPiB8IDxhIGhyZWY9JyN0aXBweV90b3An
PlRvcCBvZiBQYWdlPC9hPiBdPGJyPgogPHR0Pjxicj4KIEZhaWx1cmUgbWVzc2FnZXMgd2VyZTo8
YnI+CiAoWyckKiddID09IHRydWUpICcxMjNcbjQ1NicubWF0Y2goL140Li4vKSA9IG51bGwgRkFJ
TEVEISBleHBlY3RlZDogNDU2PGJyPgpAQCAtMjY3LDIwICsyNTksMjAgQEAgRmFpbHVyZSBtZXNz
YWdlcyB3ZXJlOjxicj4KIChbJyQqJ10gPT0gdHJ1ZSkgJ2ExMVxuYTIyXG5hMjNcbmEyNCcubWF0
Y2goL2EuLiQvZykgPSBhMjQgRkFJTEVEISBleHBlY3RlZDogYTExLGEyMixhMjMsYTI0PGJyPgog
KFsnJConXSA9PSB0cnVlKSAnYTExXG5hMjJcbmEyM1xuYTI0Jy5tYXRjaChuZXcgUmVnRXhwKCdh
Li4kJywnZycpKSA9IGEyNCBGQUlMRUQhIGV4cGVjdGVkOiBhMTEsYTIyLGEyMyxhMjQ8YnI+CiA8
L3R0Pjxicj4KLTxhIG5hbWU9J2ZhaWx1cmUyMCc+PC9hPjxkZD48Yj5UZXN0Y2FzZSA8YSB0YXJn
ZXQ9J290aGVyX3dpbmRvdycgaHJlZj0nLi9qczFfMi9yZWdleHAvYmVnaW5MaW5lLmpzJz5qczFf
Mi9yZWdleHAvYmVnaW5MaW5lLmpzPC9hPiBmYWlsZWQ8L2I+IDxicj4KLSBbIDxhIGhyZWY9JyNm
YWlsdXJlMTknPlByZXZpb3VzIEZhaWx1cmU8L2E+IHwgPGEgaHJlZj0nI2ZhaWx1cmUyMSc+TmV4
dCBGYWlsdXJlPC9hPiB8IDxhIGhyZWY9JyN0aXBweV90b3AnPlRvcCBvZiBQYWdlPC9hPiBdPGJy
PgorPGEgbmFtZT0nZmFpbHVyZTE5Jz48L2E+PGRkPjxiPlRlc3RjYXNlIDxhIHRhcmdldD0nb3Ro
ZXJfd2luZG93JyBocmVmPScuL2pzMV8yL3JlZ2V4cC9iZWdpbkxpbmUuanMnPmpzMV8yL3JlZ2V4
cC9iZWdpbkxpbmUuanM8L2E+IGZhaWxlZDwvYj4gPGJyPgorIFsgPGEgaHJlZj0nI2ZhaWx1cmUx
OCc+UHJldmlvdXMgRmFpbHVyZTwvYT4gfCA8YSBocmVmPScjZmFpbHVyZTIwJz5OZXh0IEZhaWx1
cmU8L2E+IHwgPGEgaHJlZj0nI3RpcHB5X3RvcCc+VG9wIG9mIFBhZ2U8L2E+IF08YnI+CiA8dHQ+
PGJyPgogRmFpbHVyZSBtZXNzYWdlcyB3ZXJlOjxicj4KIDEyM3h5eicubWF0Y2gobmV3IFJlZ0V4
cCgnXlxkKycpKSA9IG51bGwgRkFJTEVEISBleHBlY3RlZDogMTIzPGJyPgogPC90dD48YnI+Ci08
YSBuYW1lPSdmYWlsdXJlMjEnPjwvYT48ZGQ+PGI+VGVzdGNhc2UgPGEgdGFyZ2V0PSdvdGhlcl93
aW5kb3cnIGhyZWY9Jy4vanMxXzIvcmVnZXhwL2VuZExpbmUuanMnPmpzMV8yL3JlZ2V4cC9lbmRM
aW5lLmpzPC9hPiBmYWlsZWQ8L2I+IDxicj4KLSBbIDxhIGhyZWY9JyNmYWlsdXJlMjAnPlByZXZp
b3VzIEZhaWx1cmU8L2E+IHwgPGEgaHJlZj0nI2ZhaWx1cmUyMic+TmV4dCBGYWlsdXJlPC9hPiB8
IDxhIGhyZWY9JyN0aXBweV90b3AnPlRvcCBvZiBQYWdlPC9hPiBdPGJyPgorPGEgbmFtZT0nZmFp
bHVyZTIwJz48L2E+PGRkPjxiPlRlc3RjYXNlIDxhIHRhcmdldD0nb3RoZXJfd2luZG93JyBocmVm
PScuL2pzMV8yL3JlZ2V4cC9lbmRMaW5lLmpzJz5qczFfMi9yZWdleHAvZW5kTGluZS5qczwvYT4g
ZmFpbGVkPC9iPiA8YnI+CisgWyA8YSBocmVmPScjZmFpbHVyZTE5Jz5QcmV2aW91cyBGYWlsdXJl
PC9hPiB8IDxhIGhyZWY9JyNmYWlsdXJlMjEnPk5leHQgRmFpbHVyZTwvYT4gfCA8YSBocmVmPScj
dGlwcHlfdG9wJz5Ub3Agb2YgUGFnZTwvYT4gXTxicj4KIDx0dD48YnI+CiBGYWlsdXJlIG1lc3Nh
Z2VzIHdlcmU6PGJyPgogeHl6Jy5tYXRjaChuZXcgUmVnRXhwKCdcZCskJykpID0gbnVsbCBGQUlM
RUQhIGV4cGVjdGVkOiA4OTA8YnI+CiA8L3R0Pjxicj4KLTxhIG5hbWU9J2ZhaWx1cmUyMic+PC9h
PjxkZD48Yj5UZXN0Y2FzZSA8YSB0YXJnZXQ9J290aGVyX3dpbmRvdycgaHJlZj0nLi9qczFfMi9y
ZWdleHAvc3RyaW5nX3NwbGl0LmpzJz5qczFfMi9yZWdleHAvc3RyaW5nX3NwbGl0LmpzPC9hPiBm
YWlsZWQ8L2I+IDxicj4KLSBbIDxhIGhyZWY9JyNmYWlsdXJlMjEnPlByZXZpb3VzIEZhaWx1cmU8
L2E+IHwgPGEgaHJlZj0nI2ZhaWx1cmUyMyc+TmV4dCBGYWlsdXJlPC9hPiB8IDxhIGhyZWY9JyN0
aXBweV90b3AnPlRvcCBvZiBQYWdlPC9hPiBdPGJyPgorPGEgbmFtZT0nZmFpbHVyZTIxJz48L2E+
PGRkPjxiPlRlc3RjYXNlIDxhIHRhcmdldD0nb3RoZXJfd2luZG93JyBocmVmPScuL2pzMV8yL3Jl
Z2V4cC9zdHJpbmdfc3BsaXQuanMnPmpzMV8yL3JlZ2V4cC9zdHJpbmdfc3BsaXQuanM8L2E+IGZh
aWxlZDwvYj4gPGJyPgorIFsgPGEgaHJlZj0nI2ZhaWx1cmUyMCc+UHJldmlvdXMgRmFpbHVyZTwv
YT4gfCA8YSBocmVmPScjZmFpbHVyZTIyJz5OZXh0IEZhaWx1cmU8L2E+IHwgPGEgaHJlZj0nI3Rp
cHB5X3RvcCc+VG9wIG9mIFBhZ2U8L2E+IF08YnI+CiA8dHQ+PGJyPgogRmFpbHVyZSBtZXNzYWdl
cyB3ZXJlOjxicj4KICdhYmMnLnNwbGl0KC9bYS16XS8pID0gLCwsIEZBSUxFRCEgZXhwZWN0ZWQ6
ICwsPGJyPgpAQCAtMjg4LDIyICsyODAsMjIgQEAgRmFpbHVyZSBtZXNzYWdlcyB3ZXJlOjxicj4K
ICdhYmMnLnNwbGl0KG5ldyBSZWdFeHAoJ1thLXpdJykpID0gLCwsIEZBSUxFRCEgZXhwZWN0ZWQ6
ICwsPGJyPgogJ2FiYycuc3BsaXQobmV3IFJlZ0V4cCgnW2Etel0nKSkgPSAsLCwgRkFJTEVEISBl
eHBlY3RlZDogLCw8YnI+CiA8L3R0Pjxicj4KLTxhIG5hbWU9J2ZhaWx1cmUyMyc+PC9hPjxkZD48
Yj5UZXN0Y2FzZSA8YSB0YXJnZXQ9J290aGVyX3dpbmRvdycgaHJlZj0nLi9qczFfMi92ZXJzaW9u
MTIwL2Jvb2xlYW4tMDAxLmpzJz5qczFfMi92ZXJzaW9uMTIwL2Jvb2xlYW4tMDAxLmpzPC9hPiBm
YWlsZWQ8L2I+IDxicj4KLSBbIDxhIGhyZWY9JyNmYWlsdXJlMjInPlByZXZpb3VzIEZhaWx1cmU8
L2E+IHwgPGEgaHJlZj0nI2ZhaWx1cmUyNCc+TmV4dCBGYWlsdXJlPC9hPiB8IDxhIGhyZWY9JyN0
aXBweV90b3AnPlRvcCBvZiBQYWdlPC9hPiBdPGJyPgorPGEgbmFtZT0nZmFpbHVyZTIyJz48L2E+
PGRkPjxiPlRlc3RjYXNlIDxhIHRhcmdldD0nb3RoZXJfd2luZG93JyBocmVmPScuL2pzMV8yL3Zl
cnNpb24xMjAvYm9vbGVhbi0wMDEuanMnPmpzMV8yL3ZlcnNpb24xMjAvYm9vbGVhbi0wMDEuanM8
L2E+IGZhaWxlZDwvYj4gPGJyPgorIFsgPGEgaHJlZj0nI2ZhaWx1cmUyMSc+UHJldmlvdXMgRmFp
bHVyZTwvYT4gfCA8YSBocmVmPScjZmFpbHVyZTIzJz5OZXh0IEZhaWx1cmU8L2E+IHwgPGEgaHJl
Zj0nI3RpcHB5X3RvcCc+VG9wIG9mIFBhZ2U8L2E+IF08YnI+CiA8dHQ+PGJyPgogRmFpbHVyZSBt
ZXNzYWdlcyB3ZXJlOjxicj4KIG5ldyBCb29sZWFuKGZhbHNlKSA9IHRydWUgRkFJTEVEISBleHBl
Y3RlZDogZmFsc2U8YnI+CiA8L3R0Pjxicj4KLTxhIG5hbWU9J2ZhaWx1cmUyNCc+PC9hPjxkZD48
Yj5UZXN0Y2FzZSA8YSB0YXJnZXQ9J290aGVyX3dpbmRvdycgaHJlZj0nLi9qczFfMi92ZXJzaW9u
MTIwL3JlZ3Jlc3MtOTk2NjMuanMnPmpzMV8yL3ZlcnNpb24xMjAvcmVncmVzcy05OTY2My5qczwv
YT4gZmFpbGVkPC9iPiA8YnI+Ci0gWyA8YSBocmVmPScjZmFpbHVyZTIzJz5QcmV2aW91cyBGYWls
dXJlPC9hPiB8IDxhIGhyZWY9JyNmYWlsdXJlMjUnPk5leHQgRmFpbHVyZTwvYT4gfCA8YSBocmVm
PScjdGlwcHlfdG9wJz5Ub3Agb2YgUGFnZTwvYT4gXTxicj4KKzxhIG5hbWU9J2ZhaWx1cmUyMyc+
PC9hPjxkZD48Yj5UZXN0Y2FzZSA8YSB0YXJnZXQ9J290aGVyX3dpbmRvdycgaHJlZj0nLi9qczFf
Mi92ZXJzaW9uMTIwL3JlZ3Jlc3MtOTk2NjMuanMnPmpzMV8yL3ZlcnNpb24xMjAvcmVncmVzcy05
OTY2My5qczwvYT4gZmFpbGVkPC9iPiA8YnI+CisgWyA8YSBocmVmPScjZmFpbHVyZTIyJz5QcmV2
aW91cyBGYWlsdXJlPC9hPiB8IDxhIGhyZWY9JyNmYWlsdXJlMjQnPk5leHQgRmFpbHVyZTwvYT4g
fCA8YSBocmVmPScjdGlwcHlfdG9wJz5Ub3Agb2YgUGFnZTwvYT4gXTxicj4KIDx0dD5TVEFUVVM6
IFJlZ3Jlc3Npb24gdGVzdCBmb3IgQnVnemlsbGEgYnVnIDk5NjYzPGJyPgogRmFpbHVyZSBtZXNz
YWdlcyB3ZXJlOjxicj4KIFNlY3Rpb24gMSBvZiB0ZXN0IC0gZ290IEVycm9yOiBDYW4ndCBmaW5k
IHZhcmlhYmxlOiBpdCBGQUlMRUQhIGV4cGVjdGVkOiBhICJyZWFkLW9ubHkiIGVycm9yPGJyPgog
U2VjdGlvbiAyIG9mIHRlc3QgLSBnb3QgRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IGl0IEZB
SUxFRCEgZXhwZWN0ZWQ6IGEgInJlYWQtb25seSIgZXJyb3I8YnI+CiBTZWN0aW9uIDMgb2YgdGVz
dCAtIGdvdCBFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogaXQgRkFJTEVEISBleHBlY3RlZDog
YSAicmVhZC1vbmx5IiBlcnJvcjxicj4KIDwvdHQ+PGJyPgotPGEgbmFtZT0nZmFpbHVyZTI1Jz48
L2E+PGRkPjxiPlRlc3RjYXNlIDxhIHRhcmdldD0nb3RoZXJfd2luZG93JyBocmVmPScuL2pzMV8z
L1NjcmlwdC9mdW5jdGlvbi0wMDEtbi5qcyc+anMxXzMvU2NyaXB0L2Z1bmN0aW9uLTAwMS1uLmpz
PC9hPiBmYWlsZWQ8L2I+IDxhIGhyZWY9J2h0dHA6Ly9idWd6aWxsYS5tb3ppbGxhLm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTAyNzgnIHRhcmdldD0nb3RoZXJfd2luZG93Jz5CdWcgTnVtYmVyIDEwMjc4
PC9hPjxicj4KLSBbIDxhIGhyZWY9JyNmYWlsdXJlMjQnPlByZXZpb3VzIEZhaWx1cmU8L2E+IHwg
PGEgaHJlZj0nI2ZhaWx1cmUyNic+TmV4dCBGYWlsdXJlPC9hPiB8IDxhIGhyZWY9JyN0aXBweV90
b3AnPlRvcCBvZiBQYWdlPC9hPiBdPGJyPgorPGEgbmFtZT0nZmFpbHVyZTI0Jz48L2E+PGRkPjxi
PlRlc3RjYXNlIDxhIHRhcmdldD0nb3RoZXJfd2luZG93JyBocmVmPScuL2pzMV8zL1NjcmlwdC9m
dW5jdGlvbi0wMDEtbi5qcyc+anMxXzMvU2NyaXB0L2Z1bmN0aW9uLTAwMS1uLmpzPC9hPiBmYWls
ZWQ8L2I+IDxhIGhyZWY9J2h0dHA6Ly9idWd6aWxsYS5tb3ppbGxhLm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTAyNzgnIHRhcmdldD0nb3RoZXJfd2luZG93Jz5CdWcgTnVtYmVyIDEwMjc4PC9hPjxicj4K
KyBbIDxhIGhyZWY9JyNmYWlsdXJlMjMnPlByZXZpb3VzIEZhaWx1cmU8L2E+IHwgPGEgaHJlZj0n
I2ZhaWx1cmUyNSc+TmV4dCBGYWlsdXJlPC9hPiB8IDxhIGhyZWY9JyN0aXBweV90b3AnPlRvcCBv
ZiBQYWdlPC9hPiBdPGJyPgogPHR0PkV4cGVjdGVkIGV4aXQgY29kZSAzLCBnb3QgMDxicj4KIFRl
c3RjYXNlIHRlcm1pbmF0ZWQgd2l0aCBzaWduYWwgMDxicj4KIENvbXBsZXRlIHRlc3RjYXNlIG91
dHB1dCB3YXM6PGJyPgpAQCAtMzExLDE2ICszMDMsMTYgQEAgQlVHTlVNQkVSOiAxMDI3ODxicj4K
IGZ1bmN0aW9uLTAwMS5qcyBmdW5jdGlvbnMgbm90IHNlcGFyYXRlZCBieSBzZW1pY29sb25zIGFy
ZSBlcnJvcnMgaW4gdmVyc2lvbiAxMjAgYW5kIGhpZ2hlcjxicj4KIGV2YWwoImZ1bmN0aW9uIGYo
KXt9ZnVuY3Rpb24gZygpe30iKSA9IHVuZGVmaW5lZCBGQUlMRUQhIGV4cGVjdGVkOiBlcnJvcjxi
cj4KIDwvdHQ+PGJyPgotPGEgbmFtZT0nZmFpbHVyZTI2Jz48L2E+PGRkPjxiPlRlc3RjYXNlIDxh
IHRhcmdldD0nb3RoZXJfd2luZG93JyBocmVmPScuL2pzMV8zL1NjcmlwdC9zY3JpcHQtMDAxLmpz
Jz5qczFfMy9TY3JpcHQvc2NyaXB0LTAwMS5qczwvYT4gZmFpbGVkPC9iPiA8YnI+Ci0gWyA8YSBo
cmVmPScjZmFpbHVyZTI1Jz5QcmV2aW91cyBGYWlsdXJlPC9hPiB8IDxhIGhyZWY9JyNmYWlsdXJl
MjcnPk5leHQgRmFpbHVyZTwvYT4gfCA8YSBocmVmPScjdGlwcHlfdG9wJz5Ub3Agb2YgUGFnZTwv
YT4gXTxicj4KKzxhIG5hbWU9J2ZhaWx1cmUyNSc+PC9hPjxkZD48Yj5UZXN0Y2FzZSA8YSB0YXJn
ZXQ9J290aGVyX3dpbmRvdycgaHJlZj0nLi9qczFfMy9TY3JpcHQvc2NyaXB0LTAwMS5qcyc+anMx
XzMvU2NyaXB0L3NjcmlwdC0wMDEuanM8L2E+IGZhaWxlZDwvYj4gPGJyPgorIFsgPGEgaHJlZj0n
I2ZhaWx1cmUyNCc+UHJldmlvdXMgRmFpbHVyZTwvYT4gfCA8YSBocmVmPScjZmFpbHVyZTI2Jz5O
ZXh0IEZhaWx1cmU8L2E+IHwgPGEgaHJlZj0nI3RpcHB5X3RvcCc+VG9wIG9mIFBhZ2U8L2E+IF08
YnI+CiA8dHQ+RXhwZWN0ZWQgZXhpdCBjb2RlIDAsIGdvdCAzPGJyPgogVGVzdGNhc2UgdGVybWlu
YXRlZCB3aXRoIHNpZ25hbCAwPGJyPgogQ29tcGxldGUgdGVzdGNhc2Ugb3V0cHV0IHdhczo8YnI+
CiBzY3JpcHQtMDAxIE5hdGl2ZVNjcmlwdDxicj4KLVs5MzQzMF0gLi9qczFfMy9TY3JpcHQvc2Ny
aXB0LTAwMS5qcyBsaW5lIDEzMzogUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6
IFNjcmlwdDxicj4KK1syNTQ0NV0gLi9qczFfMy9TY3JpcHQvc2NyaXB0LTAwMS5qcyBsaW5lIDEz
MzogUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IFNjcmlwdDxicj4KIDwvdHQ+
PGJyPgotPGEgbmFtZT0nZmFpbHVyZTI3Jz48L2E+PGRkPjxiPlRlc3RjYXNlIDxhIHRhcmdldD0n
b3RoZXJfd2luZG93JyBocmVmPScuL2pzMV8zL3JlZ3Jlc3MvZnVuY3Rpb24tMDAxLW4uanMnPmpz
MV8zL3JlZ3Jlc3MvZnVuY3Rpb24tMDAxLW4uanM8L2E+IGZhaWxlZDwvYj4gPGEgaHJlZj0naHR0
cDovL2J1Z3ppbGxhLm1vemlsbGEub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDI3OCcgdGFyZ2V0PSdv
dGhlcl93aW5kb3cnPkJ1ZyBOdW1iZXIgMTAyNzg8L2E+PGJyPgotIFsgPGEgaHJlZj0nI2ZhaWx1
cmUyNic+UHJldmlvdXMgRmFpbHVyZTwvYT4gfCA8YSBocmVmPScjZmFpbHVyZTI4Jz5OZXh0IEZh
aWx1cmU8L2E+IHwgPGEgaHJlZj0nI3RpcHB5X3RvcCc+VG9wIG9mIFBhZ2U8L2E+IF08YnI+Cis8
YSBuYW1lPSdmYWlsdXJlMjYnPjwvYT48ZGQ+PGI+VGVzdGNhc2UgPGEgdGFyZ2V0PSdvdGhlcl93
aW5kb3cnIGhyZWY9Jy4vanMxXzMvcmVncmVzcy9mdW5jdGlvbi0wMDEtbi5qcyc+anMxXzMvcmVn
cmVzcy9mdW5jdGlvbi0wMDEtbi5qczwvYT4gZmFpbGVkPC9iPiA8YSBocmVmPSdodHRwOi8vYnVn
emlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTEwMjc4JyB0YXJnZXQ9J290aGVyX3dp
bmRvdyc+QnVnIE51bWJlciAxMDI3ODwvYT48YnI+CisgWyA8YSBocmVmPScjZmFpbHVyZTI1Jz5Q
cmV2aW91cyBGYWlsdXJlPC9hPiB8IDxhIGhyZWY9JyNmYWlsdXJlMjcnPk5leHQgRmFpbHVyZTwv
YT4gfCA8YSBocmVmPScjdGlwcHlfdG9wJz5Ub3Agb2YgUGFnZTwvYT4gXTxicj4KIDx0dD5FeHBl
Y3RlZCBleGl0IGNvZGUgMywgZ290IDA8YnI+CiBUZXN0Y2FzZSB0ZXJtaW5hdGVkIHdpdGggc2ln
bmFsIDA8YnI+CiBDb21wbGV0ZSB0ZXN0Y2FzZSBvdXRwdXQgd2FzOjxicj4KQEAgLTMyOCw5NyAr
MzIwLDk3IEBAIEJVR05VTUJFUjogMTAyNzg8YnI+CiBmdW5jdGlvbi0wMDEuanMgZnVuY3Rpb25z
IG5vdCBzZXBhcmF0ZWQgYnkgc2VtaWNvbG9ucyBhcmUgZXJyb3JzIGluIHZlcnNpb24gMTIwIGFu
ZCBoaWdoZXI8YnI+CiBldmFsKCJmdW5jdGlvbiBmKCl7fWZ1bmN0aW9uIGcoKXt9IikgPSB1bmRl
ZmluZWQgRkFJTEVEISBleHBlY3RlZDogZXJyb3I8YnI+CiA8L3R0Pjxicj4KLTxhIG5hbWU9J2Zh
aWx1cmUyOCc+PC9hPjxkZD48Yj5UZXN0Y2FzZSA8YSB0YXJnZXQ9J290aGVyX3dpbmRvdycgaHJl
Zj0nLi9qczFfNS9FeGNlcHRpb25zL2NhdGNoZ3VhcmQtMDAxLmpzJz5qczFfNS9FeGNlcHRpb25z
L2NhdGNoZ3VhcmQtMDAxLmpzPC9hPiBmYWlsZWQ8L2I+IDxicj4KKzxhIG5hbWU9J2ZhaWx1cmUy
Nyc+PC9hPjxkZD48Yj5UZXN0Y2FzZSA8YSB0YXJnZXQ9J290aGVyX3dpbmRvdycgaHJlZj0nLi9q
czFfNS9FeGNlcHRpb25zL2NhdGNoZ3VhcmQtMDAxLmpzJz5qczFfNS9FeGNlcHRpb25zL2NhdGNo
Z3VhcmQtMDAxLmpzPC9hPiBmYWlsZWQ8L2I+IDxicj4KKyBbIDxhIGhyZWY9JyNmYWlsdXJlMjYn
PlByZXZpb3VzIEZhaWx1cmU8L2E+IHwgPGEgaHJlZj0nI2ZhaWx1cmUyOCc+TmV4dCBGYWlsdXJl
PC9hPiB8IDxhIGhyZWY9JyN0aXBweV90b3AnPlRvcCBvZiBQYWdlPC9hPiBdPGJyPgorPHR0PkV4
cGVjdGVkIGV4aXQgY29kZSAwLCBnb3QgMzxicj4KK1Rlc3RjYXNlIHRlcm1pbmF0ZWQgd2l0aCBz
aWduYWwgMDxicj4KK0NvbXBsZXRlIHRlc3RjYXNlIG91dHB1dCB3YXM6PGJyPgorVGVzdGNhc2Ug
cHJvZHVjZWQgbm8gb3V0cHV0ITwvdHQ+PGJyPgorPGEgbmFtZT0nZmFpbHVyZTI4Jz48L2E+PGRk
PjxiPlRlc3RjYXNlIDxhIHRhcmdldD0nb3RoZXJfd2luZG93JyBocmVmPScuL2pzMV81L0V4Y2Vw
dGlvbnMvY2F0Y2hndWFyZC0wMDIuanMnPmpzMV81L0V4Y2VwdGlvbnMvY2F0Y2hndWFyZC0wMDIu
anM8L2E+IGZhaWxlZDwvYj4gPGJyPgogIFsgPGEgaHJlZj0nI2ZhaWx1cmUyNyc+UHJldmlvdXMg
RmFpbHVyZTwvYT4gfCA8YSBocmVmPScjZmFpbHVyZTI5Jz5OZXh0IEZhaWx1cmU8L2E+IHwgPGEg
aHJlZj0nI3RpcHB5X3RvcCc+VG9wIG9mIFBhZ2U8L2E+IF08YnI+CiA8dHQ+RXhwZWN0ZWQgZXhp
dCBjb2RlIDAsIGdvdCAzPGJyPgogVGVzdGNhc2UgdGVybWluYXRlZCB3aXRoIHNpZ25hbCAwPGJy
PgogQ29tcGxldGUgdGVzdGNhc2Ugb3V0cHV0IHdhczo8YnI+CiBUZXN0Y2FzZSBwcm9kdWNlZCBu
byBvdXRwdXQhPC90dD48YnI+Ci08YSBuYW1lPSdmYWlsdXJlMjknPjwvYT48ZGQ+PGI+VGVzdGNh
c2UgPGEgdGFyZ2V0PSdvdGhlcl93aW5kb3cnIGhyZWY9Jy4vanMxXzUvRXhjZXB0aW9ucy9jYXRj
aGd1YXJkLTAwMi5qcyc+anMxXzUvRXhjZXB0aW9ucy9jYXRjaGd1YXJkLTAwMi5qczwvYT4gZmFp
bGVkPC9iPiA8YnI+Cis8YSBuYW1lPSdmYWlsdXJlMjknPjwvYT48ZGQ+PGI+VGVzdGNhc2UgPGEg
dGFyZ2V0PSdvdGhlcl93aW5kb3cnIGhyZWY9Jy4vanMxXzUvRXhjZXB0aW9ucy9jYXRjaGd1YXJk
LTAwMy5qcyc+anMxXzUvRXhjZXB0aW9ucy9jYXRjaGd1YXJkLTAwMy5qczwvYT4gZmFpbGVkPC9i
PiA8YnI+CiAgWyA8YSBocmVmPScjZmFpbHVyZTI4Jz5QcmV2aW91cyBGYWlsdXJlPC9hPiB8IDxh
IGhyZWY9JyNmYWlsdXJlMzAnPk5leHQgRmFpbHVyZTwvYT4gfCA8YSBocmVmPScjdGlwcHlfdG9w
Jz5Ub3Agb2YgUGFnZTwvYT4gXTxicj4KIDx0dD5FeHBlY3RlZCBleGl0IGNvZGUgMCwgZ290IDM8
YnI+CiBUZXN0Y2FzZSB0ZXJtaW5hdGVkIHdpdGggc2lnbmFsIDA8YnI+CiBDb21wbGV0ZSB0ZXN0
Y2FzZSBvdXRwdXQgd2FzOjxicj4KIFRlc3RjYXNlIHByb2R1Y2VkIG5vIG91dHB1dCE8L3R0Pjxi
cj4KLTxhIG5hbWU9J2ZhaWx1cmUzMCc+PC9hPjxkZD48Yj5UZXN0Y2FzZSA8YSB0YXJnZXQ9J290
aGVyX3dpbmRvdycgaHJlZj0nLi9qczFfNS9FeGNlcHRpb25zL2NhdGNoZ3VhcmQtMDAzLmpzJz5q
czFfNS9FeGNlcHRpb25zL2NhdGNoZ3VhcmQtMDAzLmpzPC9hPiBmYWlsZWQ8L2I+IDxicj4KKzxh
IG5hbWU9J2ZhaWx1cmUzMCc+PC9hPjxkZD48Yj5UZXN0Y2FzZSA8YSB0YXJnZXQ9J290aGVyX3dp
bmRvdycgaHJlZj0nLi9qczFfNS9FeGNlcHRpb25zL2VycnN0YWNrLTAwMS5qcyc+anMxXzUvRXhj
ZXB0aW9ucy9lcnJzdGFjay0wMDEuanM8L2E+IGZhaWxlZDwvYj4gPGJyPgogIFsgPGEgaHJlZj0n
I2ZhaWx1cmUyOSc+UHJldmlvdXMgRmFpbHVyZTwvYT4gfCA8YSBocmVmPScjZmFpbHVyZTMxJz5O
ZXh0IEZhaWx1cmU8L2E+IHwgPGEgaHJlZj0nI3RpcHB5X3RvcCc+VG9wIG9mIFBhZ2U8L2E+IF08
YnI+CiA8dHQ+RXhwZWN0ZWQgZXhpdCBjb2RlIDAsIGdvdCAzPGJyPgogVGVzdGNhc2UgdGVybWlu
YXRlZCB3aXRoIHNpZ25hbCAwPGJyPgogQ29tcGxldGUgdGVzdGNhc2Ugb3V0cHV0IHdhczo8YnI+
Ci1UZXN0Y2FzZSBwcm9kdWNlZCBubyBvdXRwdXQhPC90dD48YnI+Ci08YSBuYW1lPSdmYWlsdXJl
MzEnPjwvYT48ZGQ+PGI+VGVzdGNhc2UgPGEgdGFyZ2V0PSdvdGhlcl93aW5kb3cnIGhyZWY9Jy4v
anMxXzUvRXhjZXB0aW9ucy9lcnJzdGFjay0wMDEuanMnPmpzMV81L0V4Y2VwdGlvbnMvZXJyc3Rh
Y2stMDAxLmpzPC9hPiBmYWlsZWQ8L2I+IDxicj4KK1syNTQ5MF0gLi9qczFfNS9FeGNlcHRpb25z
L2VycnN0YWNrLTAwMS5qcyBsaW5lIDI0NzogVHlwZUVycm9yOiBVbmRlZmluZWQgdmFsdWU8YnI+
Cis8L3R0Pjxicj4KKzxhIG5hbWU9J2ZhaWx1cmUzMSc+PC9hPjxkZD48Yj5UZXN0Y2FzZSA8YSB0
YXJnZXQ9J290aGVyX3dpbmRvdycgaHJlZj0nLi9qczFfNS9FeGNlcHRpb25zL3JlZ3Jlc3MtNTA0
NDcuanMnPmpzMV81L0V4Y2VwdGlvbnMvcmVncmVzcy01MDQ0Ny5qczwvYT4gZmFpbGVkPC9iPiA8
YSBocmVmPSdodHRwOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTUwNDQ3
JyB0YXJnZXQ9J290aGVyX3dpbmRvdyc+QnVnIE51bWJlciA1MDQ0NzwvYT48YnI+CiAgWyA8YSBo
cmVmPScjZmFpbHVyZTMwJz5QcmV2aW91cyBGYWlsdXJlPC9hPiB8IDxhIGhyZWY9JyNmYWlsdXJl
MzInPk5leHQgRmFpbHVyZTwvYT4gfCA8YSBocmVmPScjdGlwcHlfdG9wJz5Ub3Agb2YgUGFnZTwv
YT4gXTxicj4KIDx0dD5FeHBlY3RlZCBleGl0IGNvZGUgMCwgZ290IDM8YnI+CiBUZXN0Y2FzZSB0
ZXJtaW5hdGVkIHdpdGggc2lnbmFsIDA8YnI+CiBDb21wbGV0ZSB0ZXN0Y2FzZSBvdXRwdXQgd2Fz
Ojxicj4KLVs5MzQ3N10gLi9qczFfNS9FeGNlcHRpb25zL2VycnN0YWNrLTAwMS5qcyBsaW5lIDI0
NzogVHlwZUVycm9yOiBVbmRlZmluZWQgdmFsdWU8YnI+CitCVUdOVU1CRVI6IDUwNDQ3PGJyPgor
U1RBVFVTOiBUZXN0IChub24tRUNNQSkgRXJyb3Igb2JqZWN0IHByb3BlcnRpZXMgZmlsZU5hbWUs
IGxpbmVOdW1iZXI8YnI+CitbMjU0OTFdIC4vanMxXzUvRXhjZXB0aW9ucy9yZWdyZXNzLTUwNDQ3
LmpzIGxpbmUgNjU6IFR5cGVFcnJvcjogVW5kZWZpbmVkIHZhbHVlPGJyPgogPC90dD48YnI+Ci08
YSBuYW1lPSdmYWlsdXJlMzInPjwvYT48ZGQ+PGI+VGVzdGNhc2UgPGEgdGFyZ2V0PSdvdGhlcl93
aW5kb3cnIGhyZWY9Jy4vanMxXzUvRXhjZXB0aW9ucy9yZWdyZXNzLTUwNDQ3LmpzJz5qczFfNS9F
eGNlcHRpb25zL3JlZ3Jlc3MtNTA0NDcuanM8L2E+IGZhaWxlZDwvYj4gPGEgaHJlZj0naHR0cDov
L2J1Z3ppbGxhLm1vemlsbGEub3JnL3Nob3dfYnVnLmNnaT9pZD01MDQ0NycgdGFyZ2V0PSdvdGhl
cl93aW5kb3cnPkJ1ZyBOdW1iZXIgNTA0NDc8L2E+PGJyPgorPGEgbmFtZT0nZmFpbHVyZTMyJz48
L2E+PGRkPjxiPlRlc3RjYXNlIDxhIHRhcmdldD0nb3RoZXJfd2luZG93JyBocmVmPScuL2pzMV81
L0dldFNldC9nZXRzZXQtMDAxLmpzJz5qczFfNS9HZXRTZXQvZ2V0c2V0LTAwMS5qczwvYT4gZmFp
bGVkPC9iPiA8YnI+CiAgWyA8YSBocmVmPScjZmFpbHVyZTMxJz5QcmV2aW91cyBGYWlsdXJlPC9h
PiB8IDxhIGhyZWY9JyNmYWlsdXJlMzMnPk5leHQgRmFpbHVyZTwvYT4gfCA8YSBocmVmPScjdGlw
cHlfdG9wJz5Ub3Agb2YgUGFnZTwvYT4gXTxicj4KIDx0dD5FeHBlY3RlZCBleGl0IGNvZGUgMCwg
Z290IDM8YnI+CiBUZXN0Y2FzZSB0ZXJtaW5hdGVkIHdpdGggc2lnbmFsIDA8YnI+CiBDb21wbGV0
ZSB0ZXN0Y2FzZSBvdXRwdXQgd2FzOjxicj4KLUJVR05VTUJFUjogNTA0NDc8YnI+Ci1TVEFUVVM6
IFRlc3QgKG5vbi1FQ01BKSBFcnJvciBvYmplY3QgcHJvcGVydGllcyBmaWxlTmFtZSwgbGluZU51
bWJlcjxicj4KLVs5MzQ3OF0gLi9qczFfNS9FeGNlcHRpb25zL3JlZ3Jlc3MtNTA0NDcuanMgbGlu
ZSA2NTogVHlwZUVycm9yOiBVbmRlZmluZWQgdmFsdWU8YnI+Ci08L3R0Pjxicj4KLTxhIG5hbWU9
J2ZhaWx1cmUzMyc+PC9hPjxkZD48Yj5UZXN0Y2FzZSA8YSB0YXJnZXQ9J290aGVyX3dpbmRvdycg
aHJlZj0nLi9qczFfNS9HZXRTZXQvZ2V0c2V0LTAwMS5qcyc+anMxXzUvR2V0U2V0L2dldHNldC0w
MDEuanM8L2E+IGZhaWxlZDwvYj4gPGJyPgorVGVzdGNhc2UgcHJvZHVjZWQgbm8gb3V0cHV0ITwv
dHQ+PGJyPgorPGEgbmFtZT0nZmFpbHVyZTMzJz48L2E+PGRkPjxiPlRlc3RjYXNlIDxhIHRhcmdl
dD0nb3RoZXJfd2luZG93JyBocmVmPScuL2pzMV81L0dldFNldC9nZXRzZXQtMDAyLmpzJz5qczFf
NS9HZXRTZXQvZ2V0c2V0LTAwMi5qczwvYT4gZmFpbGVkPC9iPiA8YnI+CiAgWyA8YSBocmVmPScj
ZmFpbHVyZTMyJz5QcmV2aW91cyBGYWlsdXJlPC9hPiB8IDxhIGhyZWY9JyNmYWlsdXJlMzQnPk5l
eHQgRmFpbHVyZTwvYT4gfCA8YSBocmVmPScjdGlwcHlfdG9wJz5Ub3Agb2YgUGFnZTwvYT4gXTxi
cj4KIDx0dD5FeHBlY3RlZCBleGl0IGNvZGUgMCwgZ290IDM8YnI+CiBUZXN0Y2FzZSB0ZXJtaW5h
dGVkIHdpdGggc2lnbmFsIDA8YnI+CiBDb21wbGV0ZSB0ZXN0Y2FzZSBvdXRwdXQgd2FzOjxicj4K
IFRlc3RjYXNlIHByb2R1Y2VkIG5vIG91dHB1dCE8L3R0Pjxicj4KLTxhIG5hbWU9J2ZhaWx1cmUz
NCc+PC9hPjxkZD48Yj5UZXN0Y2FzZSA8YSB0YXJnZXQ9J290aGVyX3dpbmRvdycgaHJlZj0nLi9q
czFfNS9HZXRTZXQvZ2V0c2V0LTAwMi5qcyc+anMxXzUvR2V0U2V0L2dldHNldC0wMDIuanM8L2E+
IGZhaWxlZDwvYj4gPGJyPgorPGEgbmFtZT0nZmFpbHVyZTM0Jz48L2E+PGRkPjxiPlRlc3RjYXNl
IDxhIHRhcmdldD0nb3RoZXJfd2luZG93JyBocmVmPScuL2pzMV81L0dldFNldC9nZXRzZXQtMDAz
LmpzJz5qczFfNS9HZXRTZXQvZ2V0c2V0LTAwMy5qczwvYT4gZmFpbGVkPC9iPiA8YnI+CiAgWyA8
YSBocmVmPScjZmFpbHVyZTMzJz5QcmV2aW91cyBGYWlsdXJlPC9hPiB8IDxhIGhyZWY9JyNmYWls
dXJlMzUnPk5leHQgRmFpbHVyZTwvYT4gfCA8YSBocmVmPScjdGlwcHlfdG9wJz5Ub3Agb2YgUGFn
ZTwvYT4gXTxicj4KIDx0dD5FeHBlY3RlZCBleGl0IGNvZGUgMCwgZ290IDM8YnI+CiBUZXN0Y2Fz
ZSB0ZXJtaW5hdGVkIHdpdGggc2lnbmFsIDA8YnI+CiBDb21wbGV0ZSB0ZXN0Y2FzZSBvdXRwdXQg
d2FzOjxicj4KIFRlc3RjYXNlIHByb2R1Y2VkIG5vIG91dHB1dCE8L3R0Pjxicj4KLTxhIG5hbWU9
J2ZhaWx1cmUzNSc+PC9hPjxkZD48Yj5UZXN0Y2FzZSA8YSB0YXJnZXQ9J290aGVyX3dpbmRvdycg
aHJlZj0nLi9qczFfNS9HZXRTZXQvZ2V0c2V0LTAwMy5qcyc+anMxXzUvR2V0U2V0L2dldHNldC0w
MDMuanM8L2E+IGZhaWxlZDwvYj4gPGJyPgorPGEgbmFtZT0nZmFpbHVyZTM1Jz48L2E+PGRkPjxi
PlRlc3RjYXNlIDxhIHRhcmdldD0nb3RoZXJfd2luZG93JyBocmVmPScuL2pzMV81L09iamVjdC9y
ZWdyZXNzLTkwNTk2LTAwMS5qcyc+anMxXzUvT2JqZWN0L3JlZ3Jlc3MtOTA1OTYtMDAxLmpzPC9h
PiBmYWlsZWQ8L2I+IDxicj4KICBbIDxhIGhyZWY9JyNmYWlsdXJlMzQnPlByZXZpb3VzIEZhaWx1
cmU8L2E+IHwgPGEgaHJlZj0nI2ZhaWx1cmUzNic+TmV4dCBGYWlsdXJlPC9hPiB8IDxhIGhyZWY9
JyN0aXBweV90b3AnPlRvcCBvZiBQYWdlPC9hPiBdPGJyPgogPHR0PkV4cGVjdGVkIGV4aXQgY29k
ZSAwLCBnb3QgMzxicj4KIFRlc3RjYXNlIHRlcm1pbmF0ZWQgd2l0aCBzaWduYWwgMDxicj4KIENv
bXBsZXRlIHRlc3RjYXNlIG91dHB1dCB3YXM6PGJyPgotVGVzdGNhc2UgcHJvZHVjZWQgbm8gb3V0
cHV0ITwvdHQ+PGJyPgotPGEgbmFtZT0nZmFpbHVyZTM2Jz48L2E+PGRkPjxiPlRlc3RjYXNlIDxh
IHRhcmdldD0nb3RoZXJfd2luZG93JyBocmVmPScuL2pzMV81L09iamVjdC9yZWdyZXNzLTkwNTk2
LTAwMS5qcyc+anMxXzUvT2JqZWN0L3JlZ3Jlc3MtOTA1OTYtMDAxLmpzPC9hPiBmYWlsZWQ8L2I+
IDxicj4KK1syNTUwNl0gLi9qczFfNS9PYmplY3QvcmVncmVzcy05MDU5Ni0wMDEuanMgbGluZSA0
ODogVHlwZUVycm9yOiBWYWx1ZSB1bmRlZmluZWQgKHJlc3VsdCBvZiBleHByZXNzaW9uIG9iai50
b1NvdXJjZSkgaXMgbm90IG9iamVjdC48YnI+Cis8L3R0Pjxicj4KKzxhIG5hbWU9J2ZhaWx1cmUz
Nic+PC9hPjxkZD48Yj5UZXN0Y2FzZSA8YSB0YXJnZXQ9J290aGVyX3dpbmRvdycgaHJlZj0nLi9q
czFfNS9PYmplY3QvcmVncmVzcy05MDU5Ni0wMDIuanMnPmpzMV81L09iamVjdC9yZWdyZXNzLTkw
NTk2LTAwMi5qczwvYT4gZmFpbGVkPC9iPiA8YnI+CiAgWyA8YSBocmVmPScjZmFpbHVyZTM1Jz5Q
cmV2aW91cyBGYWlsdXJlPC9hPiB8IDxhIGhyZWY9JyNmYWlsdXJlMzcnPk5leHQgRmFpbHVyZTwv
YT4gfCA8YSBocmVmPScjdGlwcHlfdG9wJz5Ub3Agb2YgUGFnZTwvYT4gXTxicj4KIDx0dD5FeHBl
Y3RlZCBleGl0IGNvZGUgMCwgZ290IDM8YnI+CiBUZXN0Y2FzZSB0ZXJtaW5hdGVkIHdpdGggc2ln
bmFsIDA8YnI+CiBDb21wbGV0ZSB0ZXN0Y2FzZSBvdXRwdXQgd2FzOjxicj4KLVs5MzQ5M10gLi9q
czFfNS9PYmplY3QvcmVncmVzcy05MDU5Ni0wMDEuanMgbGluZSA0ODogVHlwZUVycm9yOiBWYWx1
ZSB1bmRlZmluZWQgKHJlc3VsdCBvZiBleHByZXNzaW9uIG9iai50b1NvdXJjZSkgaXMgbm90IG9i
amVjdC48YnI+CitbMjU1MDddIC4vanMxXzUvT2JqZWN0L3JlZ3Jlc3MtOTA1OTYtMDAyLmpzIGxp
bmUgNDg6IFJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiB1bmV2YWw8YnI+CiA8
L3R0Pjxicj4KLTxhIG5hbWU9J2ZhaWx1cmUzNyc+PC9hPjxkZD48Yj5UZXN0Y2FzZSA8YSB0YXJn
ZXQ9J290aGVyX3dpbmRvdycgaHJlZj0nLi9qczFfNS9PYmplY3QvcmVncmVzcy05MDU5Ni0wMDIu
anMnPmpzMV81L09iamVjdC9yZWdyZXNzLTkwNTk2LTAwMi5qczwvYT4gZmFpbGVkPC9iPiA8YnI+
Cis8YSBuYW1lPSdmYWlsdXJlMzcnPjwvYT48ZGQ+PGI+VGVzdGNhc2UgPGEgdGFyZ2V0PSdvdGhl
cl93aW5kb3cnIGhyZWY9Jy4vanMxXzUvT2JqZWN0L3JlZ3Jlc3MtOTYyODQtMDAxLmpzJz5qczFf
NS9PYmplY3QvcmVncmVzcy05NjI4NC0wMDEuanM8L2E+IGZhaWxlZDwvYj4gPGJyPgogIFsgPGEg
aHJlZj0nI2ZhaWx1cmUzNic+UHJldmlvdXMgRmFpbHVyZTwvYT4gfCA8YSBocmVmPScjZmFpbHVy
ZTM4Jz5OZXh0IEZhaWx1cmU8L2E+IHwgPGEgaHJlZj0nI3RpcHB5X3RvcCc+VG9wIG9mIFBhZ2U8
L2E+IF08YnI+CiA8dHQ+RXhwZWN0ZWQgZXhpdCBjb2RlIDAsIGdvdCAzPGJyPgogVGVzdGNhc2Ug
dGVybWluYXRlZCB3aXRoIHNpZ25hbCAwPGJyPgogQ29tcGxldGUgdGVzdGNhc2Ugb3V0cHV0IHdh
czo8YnI+Ci1bOTM0OTRdIC4vanMxXzUvT2JqZWN0L3JlZ3Jlc3MtOTA1OTYtMDAyLmpzIGxpbmUg
NDg6IFJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiB1bmV2YWw8YnI+CitbMjU1
MDldIC4vanMxXzUvT2JqZWN0L3JlZ3Jlc3MtOTYyODQtMDAxLmpzIGxpbmUgNDk6IFR5cGVFcnJv
cjogVmFsdWUgdW5kZWZpbmVkIChyZXN1bHQgb2YgZXhwcmVzc2lvbiBvYmoxLnRvU291cmNlKSBp
cyBub3Qgb2JqZWN0Ljxicj4KIDwvdHQ+PGJyPgotPGEgbmFtZT0nZmFpbHVyZTM4Jz48L2E+PGRk
PjxiPlRlc3RjYXNlIDxhIHRhcmdldD0nb3RoZXJfd2luZG93JyBocmVmPScuL2pzMV81L09iamVj
dC9yZWdyZXNzLTk2Mjg0LTAwMS5qcyc+anMxXzUvT2JqZWN0L3JlZ3Jlc3MtOTYyODQtMDAxLmpz
PC9hPiBmYWlsZWQ8L2I+IDxicj4KKzxhIG5hbWU9J2ZhaWx1cmUzOCc+PC9hPjxkZD48Yj5UZXN0
Y2FzZSA8YSB0YXJnZXQ9J290aGVyX3dpbmRvdycgaHJlZj0nLi9qczFfNS9PYmplY3QvcmVncmVz
cy05NjI4NC0wMDIuanMnPmpzMV81L09iamVjdC9yZWdyZXNzLTk2Mjg0LTAwMi5qczwvYT4gZmFp
bGVkPC9iPiA8YnI+CiAgWyA8YSBocmVmPScjZmFpbHVyZTM3Jz5QcmV2aW91cyBGYWlsdXJlPC9h
PiB8IDxhIGhyZWY9JyNmYWlsdXJlMzknPk5leHQgRmFpbHVyZTwvYT4gfCA8YSBocmVmPScjdGlw
cHlfdG9wJz5Ub3Agb2YgUGFnZTwvYT4gXTxicj4KIDx0dD5FeHBlY3RlZCBleGl0IGNvZGUgMCwg
Z290IDM8YnI+CiBUZXN0Y2FzZSB0ZXJtaW5hdGVkIHdpdGggc2lnbmFsIDA8YnI+CiBDb21wbGV0
ZSB0ZXN0Y2FzZSBvdXRwdXQgd2FzOjxicj4KLVs5MzQ5Nl0gLi9qczFfNS9PYmplY3QvcmVncmVz
cy05NjI4NC0wMDEuanMgbGluZSA0OTogVHlwZUVycm9yOiBWYWx1ZSB1bmRlZmluZWQgKHJlc3Vs
dCBvZiBleHByZXNzaW9uIG9iajEudG9Tb3VyY2UpIGlzIG5vdCBvYmplY3QuPGJyPgorWzI1NTEw
XSAuL2pzMV81L09iamVjdC9yZWdyZXNzLTk2Mjg0LTAwMi5qcyBsaW5lIDQ5OiBSZWZlcmVuY2VF
cnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogdW5ldmFsPGJyPgogPC90dD48YnI+Ci08YSBuYW1l
PSdmYWlsdXJlMzknPjwvYT48ZGQ+PGI+VGVzdGNhc2UgPGEgdGFyZ2V0PSdvdGhlcl93aW5kb3cn
IGhyZWY9Jy4vanMxXzUvT2JqZWN0L3JlZ3Jlc3MtOTYyODQtMDAyLmpzJz5qczFfNS9PYmplY3Qv
cmVncmVzcy05NjI4NC0wMDIuanM8L2E+IGZhaWxlZDwvYj4gPGJyPgorPGEgbmFtZT0nZmFpbHVy
ZTM5Jz48L2E+PGRkPjxiPlRlc3RjYXNlIDxhIHRhcmdldD0nb3RoZXJfd2luZG93JyBocmVmPScu
L2pzMV81L1JlZ3Jlc3MvcmVncmVzcy00NDAwOS5qcyc+anMxXzUvUmVncmVzcy9yZWdyZXNzLTQ0
MDA5LmpzPC9hPiBmYWlsZWQ8L2I+IDxhIGhyZWY9J2h0dHA6Ly9idWd6aWxsYS5tb3ppbGxhLm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9NDQwMDknIHRhcmdldD0nb3RoZXJfd2luZG93Jz5CdWcgTnVtYmVy
IDQ0MDA5PC9hPjxicj4KICBbIDxhIGhyZWY9JyNmYWlsdXJlMzgnPlByZXZpb3VzIEZhaWx1cmU8
L2E+IHwgPGEgaHJlZj0nI2ZhaWx1cmU0MCc+TmV4dCBGYWlsdXJlPC9hPiB8IDxhIGhyZWY9JyN0
aXBweV90b3AnPlRvcCBvZiBQYWdlPC9hPiBdPGJyPgogPHR0PkV4cGVjdGVkIGV4aXQgY29kZSAw
LCBnb3QgMzxicj4KIFRlc3RjYXNlIHRlcm1pbmF0ZWQgd2l0aCBzaWduYWwgMDxicj4KIENvbXBs
ZXRlIHRlc3RjYXNlIG91dHB1dCB3YXM6PGJyPgotWzkzNDk3XSAuL2pzMV81L09iamVjdC9yZWdy
ZXNzLTk2Mjg0LTAwMi5qcyBsaW5lIDQ5OiBSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJp
YWJsZTogdW5ldmFsPGJyPgotPC90dD48YnI+Ci08YSBuYW1lPSdmYWlsdXJlNDAnPjwvYT48ZGQ+
PGI+VGVzdGNhc2UgPGEgdGFyZ2V0PSdvdGhlcl93aW5kb3cnIGhyZWY9Jy4vanMxXzUvUmVncmVz
cy9yZWdyZXNzLTQ0MDA5LmpzJz5qczFfNS9SZWdyZXNzL3JlZ3Jlc3MtNDQwMDkuanM8L2E+IGZh
aWxlZDwvYj4gPGEgaHJlZj0naHR0cDovL2J1Z3ppbGxhLm1vemlsbGEub3JnL3Nob3dfYnVnLmNn
aT9pZD00NDAwOScgdGFyZ2V0PSdvdGhlcl93aW5kb3cnPkJ1ZyBOdW1iZXIgNDQwMDk8L2E+PGJy
PgotIFsgPGEgaHJlZj0nI2ZhaWx1cmUzOSc+UHJldmlvdXMgRmFpbHVyZTwvYT4gfCA8YSBocmVm
PScjZmFpbHVyZTQxJz5OZXh0IEZhaWx1cmU8L2E+IHwgPGEgaHJlZj0nI3RpcHB5X3RvcCc+VG9w
IG9mIFBhZ2U8L2E+IF08YnI+Ci08dHQ+RXhwZWN0ZWQgZXhpdCBjb2RlIDAsIGdvdCAzPGJyPgot
VGVzdGNhc2UgdGVybWluYXRlZCB3aXRoIHNpZ25hbCAwPGJyPgotQ29tcGxldGUgdGVzdGNhc2Ug
b3V0cHV0IHdhczo8YnI+CiBCVUdOVU1CRVI6IDQ0MDA5PGJyPgogU1RBVFVTOiBUZXN0aW5nIHRo
YXQgd2UgZG9uJ3QgY3Jhc2ggb24gb2JqLnRvU291cmNlKCk8YnI+Ci1bOTM1MDJdIC4vanMxXzUv
UmVncmVzcy9yZWdyZXNzLTQ0MDA5LmpzIGxpbmUgNjA6IFR5cGVFcnJvcjogVmFsdWUgdW5kZWZp
bmVkIChyZXN1bHQgb2YgZXhwcmVzc2lvbiBvYmoudG9Tb3VyY2UpIGlzIG5vdCBvYmplY3QuPGJy
PgorWzI1NTE1XSAuL2pzMV81L1JlZ3Jlc3MvcmVncmVzcy00NDAwOS5qcyBsaW5lIDYwOiBUeXBl
RXJyb3I6IFZhbHVlIHVuZGVmaW5lZCAocmVzdWx0IG9mIGV4cHJlc3Npb24gb2JqLnRvU291cmNl
KSBpcyBub3Qgb2JqZWN0Ljxicj4KIDwvdHQ+PGJyPgotPGEgbmFtZT0nZmFpbHVyZTQxJz48L2E+
PGRkPjxiPlRlc3RjYXNlIDxhIHRhcmdldD0nb3RoZXJfd2luZG93JyBocmVmPScuL2pzMV81L1Jl
Z3Jlc3MvcmVncmVzcy0xMDM2MDIuanMnPmpzMV81L1JlZ3Jlc3MvcmVncmVzcy0xMDM2MDIuanM8
L2E+IGZhaWxlZDwvYj4gPGEgaHJlZj0naHR0cDovL2J1Z3ppbGxhLm1vemlsbGEub3JnL3Nob3df
YnVnLmNnaT9pZD0xMDM2MDInIHRhcmdldD0nb3RoZXJfd2luZG93Jz5CdWcgTnVtYmVyIDEwMzYw
MjwvYT48YnI+Ci0gWyA8YSBocmVmPScjZmFpbHVyZTQwJz5QcmV2aW91cyBGYWlsdXJlPC9hPiB8
IDxhIGhyZWY9JyNmYWlsdXJlNDInPk5leHQgRmFpbHVyZTwvYT4gfCA8YSBocmVmPScjdGlwcHlf
dG9wJz5Ub3Agb2YgUGFnZTwvYT4gXTxicj4KKzxhIG5hbWU9J2ZhaWx1cmU0MCc+PC9hPjxkZD48
Yj5UZXN0Y2FzZSA8YSB0YXJnZXQ9J290aGVyX3dpbmRvdycgaHJlZj0nLi9qczFfNS9SZWdyZXNz
L3JlZ3Jlc3MtMTAzNjAyLmpzJz5qczFfNS9SZWdyZXNzL3JlZ3Jlc3MtMTAzNjAyLmpzPC9hPiBm
YWlsZWQ8L2I+IDxhIGhyZWY9J2h0dHA6Ly9idWd6aWxsYS5tb3ppbGxhLm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTAzNjAyJyB0YXJnZXQ9J290aGVyX3dpbmRvdyc+QnVnIE51bWJlciAxMDM2MDI8L2E+
PGJyPgorIFsgPGEgaHJlZj0nI2ZhaWx1cmUzOSc+UHJldmlvdXMgRmFpbHVyZTwvYT4gfCA8YSBo
cmVmPScjZmFpbHVyZTQxJz5OZXh0IEZhaWx1cmU8L2E+IHwgPGEgaHJlZj0nI3RpcHB5X3RvcCc+
VG9wIG9mIFBhZ2U8L2E+IF08YnI+CiA8dHQ+U1RBVFVTOiBSZWFzc2lnbm1lbnQgdG8gYSBjb25z
dCBpcyBOT1QgYW4gZXJyb3IgcGVyIEVDTUE8YnI+CiBGYWlsdXJlIG1lc3NhZ2VzIHdlcmU6PGJy
PgogRkFJTEVEITogW3JlcG9ydGVkIGZyb20gdGVzdCgpXSBTZWN0aW9uIDEgb2YgdGVzdCAtPGJy
PgpAQCAtNDI4LDI4ICs0MjAsMjggQEAgRkFJTEVEITogW3JlcG9ydGVkIGZyb20gdGVzdCgpXSBT
ZWN0aW9uIAogRkFJTEVEITogW3JlcG9ydGVkIGZyb20gdGVzdCgpXSBFeHBlY3RlZCB2YWx1ZSAn
MScsIEFjdHVhbCB2YWx1ZSAnMic8YnI+CiBGQUlMRUQhOiBbcmVwb3J0ZWQgZnJvbSB0ZXN0KCld
IDxicj4KIDwvdHQ+PGJyPgotPGEgbmFtZT0nZmFpbHVyZTQyJz48L2E+PGRkPjxiPlRlc3RjYXNl
IDxhIHRhcmdldD0nb3RoZXJfd2luZG93JyBocmVmPScuL2pzMV81L1JlZ3Jlc3MvcmVncmVzcy0x
MDQwNzcuanMnPmpzMV81L1JlZ3Jlc3MvcmVncmVzcy0xMDQwNzcuanM8L2E+IGZhaWxlZDwvYj4g
PGJyPgotIFsgPGEgaHJlZj0nI2ZhaWx1cmU0MSc+UHJldmlvdXMgRmFpbHVyZTwvYT4gfCA8YSBo
cmVmPScjZmFpbHVyZTQzJz5OZXh0IEZhaWx1cmU8L2E+IHwgPGEgaHJlZj0nI3RpcHB5X3RvcCc+
VG9wIG9mIFBhZ2U8L2E+IF08YnI+Cis8YSBuYW1lPSdmYWlsdXJlNDEnPjwvYT48ZGQ+PGI+VGVz
dGNhc2UgPGEgdGFyZ2V0PSdvdGhlcl93aW5kb3cnIGhyZWY9Jy4vanMxXzUvUmVncmVzcy9yZWdy
ZXNzLTEwNDA3Ny5qcyc+anMxXzUvUmVncmVzcy9yZWdyZXNzLTEwNDA3Ny5qczwvYT4gZmFpbGVk
PC9iPiA8YnI+CisgWyA8YSBocmVmPScjZmFpbHVyZTQwJz5QcmV2aW91cyBGYWlsdXJlPC9hPiB8
IDxhIGhyZWY9JyNmYWlsdXJlNDInPk5leHQgRmFpbHVyZTwvYT4gfCA8YSBocmVmPScjdGlwcHlf
dG9wJz5Ub3Agb2YgUGFnZTwvYT4gXTxicj4KIDx0dD5FeHBlY3RlZCBleGl0IGNvZGUgMCwgZ290
IDM8YnI+CiBUZXN0Y2FzZSB0ZXJtaW5hdGVkIHdpdGggc2lnbmFsIDA8YnI+CiBDb21wbGV0ZSB0
ZXN0Y2FzZSBvdXRwdXQgd2FzOjxicj4KIFRlc3RjYXNlIHByb2R1Y2VkIG5vIG91dHB1dCE8L3R0
Pjxicj4KLTxhIG5hbWU9J2ZhaWx1cmU0Myc+PC9hPjxkZD48Yj5UZXN0Y2FzZSA8YSB0YXJnZXQ9
J290aGVyX3dpbmRvdycgaHJlZj0nLi9qczFfNS9SZWdyZXNzL3JlZ3Jlc3MtMTI3NTU3LmpzJz5q
czFfNS9SZWdyZXNzL3JlZ3Jlc3MtMTI3NTU3LmpzPC9hPiBmYWlsZWQ8L2I+IDxicj4KLSBbIDxh
IGhyZWY9JyNmYWlsdXJlNDInPlByZXZpb3VzIEZhaWx1cmU8L2E+IHwgPGEgaHJlZj0nI2ZhaWx1
cmU0NCc+TmV4dCBGYWlsdXJlPC9hPiB8IDxhIGhyZWY9JyN0aXBweV90b3AnPlRvcCBvZiBQYWdl
PC9hPiBdPGJyPgorPGEgbmFtZT0nZmFpbHVyZTQyJz48L2E+PGRkPjxiPlRlc3RjYXNlIDxhIHRh
cmdldD0nb3RoZXJfd2luZG93JyBocmVmPScuL2pzMV81L1JlZ3Jlc3MvcmVncmVzcy0xMjc1NTcu
anMnPmpzMV81L1JlZ3Jlc3MvcmVncmVzcy0xMjc1NTcuanM8L2E+IGZhaWxlZDwvYj4gPGJyPgor
IFsgPGEgaHJlZj0nI2ZhaWx1cmU0MSc+UHJldmlvdXMgRmFpbHVyZTwvYT4gfCA8YSBocmVmPScj
ZmFpbHVyZTQzJz5OZXh0IEZhaWx1cmU8L2E+IHwgPGEgaHJlZj0nI3RpcHB5X3RvcCc+VG9wIG9m
IFBhZ2U8L2E+IF08YnI+CiA8dHQ+RXhwZWN0ZWQgZXhpdCBjb2RlIDAsIGdvdCAzPGJyPgogVGVz
dGNhc2UgdGVybWluYXRlZCB3aXRoIHNpZ25hbCAwPGJyPgogQ29tcGxldGUgdGVzdGNhc2Ugb3V0
cHV0IHdhczo8YnI+Ci1bOTM1MjhdIC4vanMxXzUvUmVncmVzcy9yZWdyZXNzLTEyNzU1Ny5qcyBs
aW5lIDc1OiBSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogY2xvbmU8YnI+Citb
MjU1NDFdIC4vanMxXzUvUmVncmVzcy9yZWdyZXNzLTEyNzU1Ny5qcyBsaW5lIDc1OiBSZWZlcmVu
Y2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogY2xvbmU8YnI+CiA8L3R0Pjxicj4KLTxhIG5h
bWU9J2ZhaWx1cmU0NCc+PC9hPjxkZD48Yj5UZXN0Y2FzZSA8YSB0YXJnZXQ9J290aGVyX3dpbmRv
dycgaHJlZj0nLi9qczFfNS9SZWdyZXNzL3JlZ3Jlc3MtMTcyNjk5LmpzJz5qczFfNS9SZWdyZXNz
L3JlZ3Jlc3MtMTcyNjk5LmpzPC9hPiBmYWlsZWQ8L2I+IDxicj4KLSBbIDxhIGhyZWY9JyNmYWls
dXJlNDMnPlByZXZpb3VzIEZhaWx1cmU8L2E+IHwgPGEgaHJlZj0nI2ZhaWx1cmU0NSc+TmV4dCBG
YWlsdXJlPC9hPiB8IDxhIGhyZWY9JyN0aXBweV90b3AnPlRvcCBvZiBQYWdlPC9hPiBdPGJyPgor
PGEgbmFtZT0nZmFpbHVyZTQzJz48L2E+PGRkPjxiPlRlc3RjYXNlIDxhIHRhcmdldD0nb3RoZXJf
d2luZG93JyBocmVmPScuL2pzMV81L1JlZ3Jlc3MvcmVncmVzcy0xNzI2OTkuanMnPmpzMV81L1Jl
Z3Jlc3MvcmVncmVzcy0xNzI2OTkuanM8L2E+IGZhaWxlZDwvYj4gPGJyPgorIFsgPGEgaHJlZj0n
I2ZhaWx1cmU0Mic+UHJldmlvdXMgRmFpbHVyZTwvYT4gfCA8YSBocmVmPScjZmFpbHVyZTQ0Jz5O
ZXh0IEZhaWx1cmU8L2E+IHwgPGEgaHJlZj0nI3RpcHB5X3RvcCc+VG9wIG9mIFBhZ2U8L2E+IF08
YnI+CiA8dHQ+RXhwZWN0ZWQgZXhpdCBjb2RlIDAsIGdvdCAzPGJyPgogVGVzdGNhc2UgdGVybWlu
YXRlZCB3aXRoIHNpZ25hbCAwPGJyPgogQ29tcGxldGUgdGVzdGNhc2Ugb3V0cHV0IHdhczo8YnI+
Ci1bOTM1MzddIC4vanMxXzUvUmVncmVzcy9yZWdyZXNzLTE3MjY5OS5qcyBsaW5lIDYxOiBVUklF
cnJvcjogVVJJIGVycm9yPGJyPgorWzI1NTUwXSAuL2pzMV81L1JlZ3Jlc3MvcmVncmVzcy0xNzI2
OTkuanMgbGluZSA2MTogVVJJRXJyb3I6IFVSSSBlcnJvcjxicj4KIDwvdHQ+PGJyPgotPGEgbmFt
ZT0nZmFpbHVyZTQ1Jz48L2E+PGRkPjxiPlRlc3RjYXNlIDxhIHRhcmdldD0nb3RoZXJfd2luZG93
JyBocmVmPScuL2pzMV81L1JlZ3Jlc3MvcmVncmVzcy0xNzk1MjQuanMnPmpzMV81L1JlZ3Jlc3Mv
cmVncmVzcy0xNzk1MjQuanM8L2E+IGZhaWxlZDwvYj4gPGEgaHJlZj0naHR0cDovL2J1Z3ppbGxh
Lm1vemlsbGEub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzk1MjQnIHRhcmdldD0nb3RoZXJfd2luZG93
Jz5CdWcgTnVtYmVyIDE3OTUyNDwvYT48YnI+Ci0gWyA8YSBocmVmPScjZmFpbHVyZTQ0Jz5QcmV2
aW91cyBGYWlsdXJlPC9hPiB8IDxhIGhyZWY9JyNmYWlsdXJlNDYnPk5leHQgRmFpbHVyZTwvYT4g
fCA8YSBocmVmPScjdGlwcHlfdG9wJz5Ub3Agb2YgUGFnZTwvYT4gXTxicj4KKzxhIG5hbWU9J2Zh
aWx1cmU0NCc+PC9hPjxkZD48Yj5UZXN0Y2FzZSA8YSB0YXJnZXQ9J290aGVyX3dpbmRvdycgaHJl
Zj0nLi9qczFfNS9SZWdyZXNzL3JlZ3Jlc3MtMTc5NTI0LmpzJz5qczFfNS9SZWdyZXNzL3JlZ3Jl
c3MtMTc5NTI0LmpzPC9hPiBmYWlsZWQ8L2I+IDxhIGhyZWY9J2h0dHA6Ly9idWd6aWxsYS5tb3pp
bGxhLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTc5NTI0JyB0YXJnZXQ9J290aGVyX3dpbmRvdyc+QnVn
IE51bWJlciAxNzk1MjQ8L2E+PGJyPgorIFsgPGEgaHJlZj0nI2ZhaWx1cmU0Myc+UHJldmlvdXMg
RmFpbHVyZTwvYT4gfCA8YSBocmVmPScjZmFpbHVyZTQ1Jz5OZXh0IEZhaWx1cmU8L2E+IHwgPGEg
aHJlZj0nI3RpcHB5X3RvcCc+VG9wIG9mIFBhZ2U8L2E+IF08YnI+CiA8dHQ+U1RBVFVTOiBEb24n
dCBjcmFzaCBvbiBleHRyYW5lb3VzIGFyZ3VtZW50cyB0byBzdHIubWF0Y2goKSwgZXRjLjxicj4K
IEZhaWx1cmUgbWVzc2FnZXMgd2VyZTo8YnI+CiBGQUlMRUQhOiBbcmVwb3J0ZWQgZnJvbSB0ZXN0
KCldIFNlY3Rpb24gMTQgb2YgdGVzdCAtPGJyPgpAQCAtNDk5LDE1ICs0OTEsMTUgQEAgRkFJTEVE
ITogW3JlcG9ydGVkIGZyb20gdGVzdCgpXSBTZWN0aW9uIAogRkFJTEVEITogW3JlcG9ydGVkIGZy
b20gdGVzdCgpXSBFeHBlY3RlZCB2YWx1ZSAnU0hPVUxEIEhBVkUgRkFMTEVOIElOVE8gQ0FUQ0gt
QkxPQ0shJywgQWN0dWFsIHZhbHVlICdBQkMgWmJjJzxicj4KIEZBSUxFRCE6IFtyZXBvcnRlZCBm
cm9tIHRlc3QoKV0gPGJyPgogPC90dD48YnI+Ci08YSBuYW1lPSdmYWlsdXJlNDYnPjwvYT48ZGQ+
PGI+VGVzdGNhc2UgPGEgdGFyZ2V0PSdvdGhlcl93aW5kb3cnIGhyZWY9Jy4vanMxXzUvU2NvcGUv
cmVncmVzcy0yMjA1ODQuanMnPmpzMV81L1Njb3BlL3JlZ3Jlc3MtMjIwNTg0LmpzPC9hPiBmYWls
ZWQ8L2I+IDxicj4KLSBbIDxhIGhyZWY9JyNmYWlsdXJlNDUnPlByZXZpb3VzIEZhaWx1cmU8L2E+
IHwgPGEgaHJlZj0nI2ZhaWx1cmU0Nyc+TmV4dCBGYWlsdXJlPC9hPiB8IDxhIGhyZWY9JyN0aXBw
eV90b3AnPlRvcCBvZiBQYWdlPC9hPiBdPGJyPgorPGEgbmFtZT0nZmFpbHVyZTQ1Jz48L2E+PGRk
PjxiPlRlc3RjYXNlIDxhIHRhcmdldD0nb3RoZXJfd2luZG93JyBocmVmPScuL2pzMV81L1Njb3Bl
L3JlZ3Jlc3MtMjIwNTg0LmpzJz5qczFfNS9TY29wZS9yZWdyZXNzLTIyMDU4NC5qczwvYT4gZmFp
bGVkPC9iPiA8YnI+CisgWyA8YSBocmVmPScjZmFpbHVyZTQ0Jz5QcmV2aW91cyBGYWlsdXJlPC9h
PiB8IDxhIGhyZWY9JyNmYWlsdXJlNDYnPk5leHQgRmFpbHVyZTwvYT4gfCA8YSBocmVmPScjdGlw
cHlfdG9wJz5Ub3Agb2YgUGFnZTwvYT4gXTxicj4KIDx0dD5FeHBlY3RlZCBleGl0IGNvZGUgMCwg
Z290IDM8YnI+CiBUZXN0Y2FzZSB0ZXJtaW5hdGVkIHdpdGggc2lnbmFsIDA8YnI+CiBDb21wbGV0
ZSB0ZXN0Y2FzZSBvdXRwdXQgd2FzOjxicj4KLVs5MzU2Ml0gLi9qczFfNS9TY29wZS9yZWdyZXNz
LTIyMDU4NC5qcyBsaW5lIDU2OiBSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTog
U2NyaXB0PGJyPgorWzI1NTc1XSAuL2pzMV81L1Njb3BlL3JlZ3Jlc3MtMjIwNTg0LmpzIGxpbmUg
NTY6IFJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBTY3JpcHQ8YnI+CiA8L3R0
Pjxicj4KLTxhIG5hbWU9J2ZhaWx1cmU0Nyc+PC9hPjxkZD48Yj5UZXN0Y2FzZSA8YSB0YXJnZXQ9
J290aGVyX3dpbmRvdycgaHJlZj0nLi9qczFfNS9TY29wZS9zY29wZS0wMDEuanMnPmpzMV81L1Nj
b3BlL3Njb3BlLTAwMS5qczwvYT4gZmFpbGVkPC9iPiA8YSBocmVmPSdodHRwOi8vYnVnemlsbGEu
bW96aWxsYS5vcmcvc2hvd19idWcuY2dpP2lkPTUzMjY4JyB0YXJnZXQ9J290aGVyX3dpbmRvdyc+
QnVnIE51bWJlciA1MzI2ODwvYT48YnI+Ci0gWyA8YSBocmVmPScjZmFpbHVyZTQ2Jz5QcmV2aW91
cyBGYWlsdXJlPC9hPiB8IDxhIGhyZWY9JyNmYWlsdXJlNDgnPk5leHQgRmFpbHVyZTwvYT4gfCA8
YSBocmVmPScjdGlwcHlfdG9wJz5Ub3Agb2YgUGFnZTwvYT4gXTxicj4KKzxhIG5hbWU9J2ZhaWx1
cmU0Nic+PC9hPjxkZD48Yj5UZXN0Y2FzZSA8YSB0YXJnZXQ9J290aGVyX3dpbmRvdycgaHJlZj0n
Li9qczFfNS9TY29wZS9zY29wZS0wMDEuanMnPmpzMV81L1Njb3BlL3Njb3BlLTAwMS5qczwvYT4g
ZmFpbGVkPC9iPiA8YSBocmVmPSdodHRwOi8vYnVnemlsbGEubW96aWxsYS5vcmcvc2hvd19idWcu
Y2dpP2lkPTUzMjY4JyB0YXJnZXQ9J290aGVyX3dpbmRvdyc+QnVnIE51bWJlciA1MzI2ODwvYT48
YnI+CisgWyA8YSBocmVmPScjZmFpbHVyZTQ1Jz5QcmV2aW91cyBGYWlsdXJlPC9hPiB8IDxhIGhy
ZWY9JyNmYWlsdXJlNDcnPk5leHQgRmFpbHVyZTwvYT4gfCA8YSBocmVmPScjdGlwcHlfdG9wJz5U
b3Agb2YgUGFnZTwvYT4gXTxicj4KIDx0dD5TVEFUVVM6IFRlc3Rpbmcgc2NvcGUgYWZ0ZXIgY2hh
bmdpbmcgb2JqLl9fcHJvdG9fXzxicj4KIEZhaWx1cmUgbWVzc2FnZXMgd2VyZTo8YnI+CiBGQUlM
RUQhOiBbcmVwb3J0ZWQgZnJvbSB0ZXN0KCldIFN0ZXAgMTogIHNldHRpbmcgb2JqLl9fcHJvdG9f
XyA9IGdsb2JhbCBvYmplY3Q8YnI+CkBAIC01MTgsOCArNTEwLDggQEAgRkFJTEVEITogW3JlcG9y
dGVkIGZyb20gdGVzdCgpXSBUeXBlIG1pcwogRkFJTEVEITogW3JlcG9ydGVkIGZyb20gdGVzdCgp
XSBFeHBlY3RlZCB2YWx1ZSAndW5kZWZpbmVkJywgQWN0dWFsIHZhbHVlICcxJzxicj4KIEZBSUxF
RCE6IFtyZXBvcnRlZCBmcm9tIHRlc3QoKV0gPGJyPgogPC90dD48YnI+Ci08YSBuYW1lPSdmYWls
dXJlNDgnPjwvYT48ZGQ+PGI+VGVzdGNhc2UgPGEgdGFyZ2V0PSdvdGhlcl93aW5kb3cnIGhyZWY9
Jy4vanMxXzYvUmVncmVzcy9yZWdyZXNzLTMwMTU3NC5qcyc+anMxXzYvUmVncmVzcy9yZWdyZXNz
LTMwMTU3NC5qczwvYT4gZmFpbGVkPC9iPiA8YSBocmVmPSdodHRwOi8vYnVnemlsbGEubW96aWxs
YS5vcmcvc2hvd19idWcuY2dpP2lkPTMwMTU3NCcgdGFyZ2V0PSdvdGhlcl93aW5kb3cnPkJ1ZyBO
dW1iZXIgMzAxNTc0PC9hPjxicj4KLSBbIDxhIGhyZWY9JyNmYWlsdXJlNDcnPlByZXZpb3VzIEZh
aWx1cmU8L2E+IHwgPGEgaHJlZj0nI2ZhaWx1cmU0OSc+TmV4dCBGYWlsdXJlPC9hPiB8IDxhIGhy
ZWY9JyN0aXBweV90b3AnPlRvcCBvZiBQYWdlPC9hPiBdPGJyPgorPGEgbmFtZT0nZmFpbHVyZTQ3
Jz48L2E+PGRkPjxiPlRlc3RjYXNlIDxhIHRhcmdldD0nb3RoZXJfd2luZG93JyBocmVmPScuL2pz
MV82L1JlZ3Jlc3MvcmVncmVzcy0zMDE1NzQuanMnPmpzMV82L1JlZ3Jlc3MvcmVncmVzcy0zMDE1
NzQuanM8L2E+IGZhaWxlZDwvYj4gPGEgaHJlZj0naHR0cDovL2J1Z3ppbGxhLm1vemlsbGEub3Jn
L3Nob3dfYnVnLmNnaT9pZD0zMDE1NzQnIHRhcmdldD0nb3RoZXJfd2luZG93Jz5CdWcgTnVtYmVy
IDMwMTU3NDwvYT48YnI+CisgWyA8YSBocmVmPScjZmFpbHVyZTQ2Jz5QcmV2aW91cyBGYWlsdXJl
PC9hPiB8IDxhIGhyZWY9JyNmYWlsdXJlNDgnPk5leHQgRmFpbHVyZTwvYT4gfCA8YSBocmVmPScj
dGlwcHlfdG9wJz5Ub3Agb2YgUGFnZTwvYT4gXTxicj4KIDx0dD5TVEFUVVM6IEU0WCBzaG91bGQg
YmUgZW5hYmxlZCBldmVuIHdoZW4gZTR4PTEgbm90IHNwZWNpZmllZDxicj4KIEZhaWx1cmUgbWVz
c2FnZXMgd2VyZTo8YnI+CiBGQUlMRUQhOiBFNFggc2hvdWxkIGJlIGVuYWJsZWQgZXZlbiB3aGVu
IGU0eD0xIG5vdCBzcGVjaWZpZWQ6IFhNTCgpPGJyPgpAQCAtNTI5LDI3ICs1MjEsMjcgQEAgRkFJ
TEVEITogRTRYIHNob3VsZCBiZSBlbmFibGVkIGV2ZW4gd2hlbgogRkFJTEVEITogRXhwZWN0ZWQg
dmFsdWUgJ05vIGVycm9yJywgQWN0dWFsIHZhbHVlICdlcnJvcjogUmVmZXJlbmNlRXJyb3I6IENh
bid0IGZpbmQgdmFyaWFibGU6IFhNTCc8YnI+CiBGQUlMRUQhOiA8YnI+CiA8L3R0Pjxicj4KLTxh
IG5hbWU9J2ZhaWx1cmU0OSc+PC9hPjxkZD48Yj5UZXN0Y2FzZSA8YSB0YXJnZXQ9J290aGVyX3dp
bmRvdycgaHJlZj0nLi9qczFfNi9SZWdyZXNzL3JlZ3Jlc3MtMzA5MjQyLmpzJz5qczFfNi9SZWdy
ZXNzL3JlZ3Jlc3MtMzA5MjQyLmpzPC9hPiBmYWlsZWQ8L2I+IDxicj4KLSBbIDxhIGhyZWY9JyNm
YWlsdXJlNDgnPlByZXZpb3VzIEZhaWx1cmU8L2E+IHwgPGEgaHJlZj0nI2ZhaWx1cmU1MCc+TmV4
dCBGYWlsdXJlPC9hPiB8IDxhIGhyZWY9JyN0aXBweV90b3AnPlRvcCBvZiBQYWdlPC9hPiBdPGJy
PgorPGEgbmFtZT0nZmFpbHVyZTQ4Jz48L2E+PGRkPjxiPlRlc3RjYXNlIDxhIHRhcmdldD0nb3Ro
ZXJfd2luZG93JyBocmVmPScuL2pzMV82L1JlZ3Jlc3MvcmVncmVzcy0zMDkyNDIuanMnPmpzMV82
L1JlZ3Jlc3MvcmVncmVzcy0zMDkyNDIuanM8L2E+IGZhaWxlZDwvYj4gPGJyPgorIFsgPGEgaHJl
Zj0nI2ZhaWx1cmU0Nyc+UHJldmlvdXMgRmFpbHVyZTwvYT4gfCA8YSBocmVmPScjZmFpbHVyZTQ5
Jz5OZXh0IEZhaWx1cmU8L2E+IHwgPGEgaHJlZj0nI3RpcHB5X3RvcCc+VG9wIG9mIFBhZ2U8L2E+
IF08YnI+CiA8dHQ+RXhwZWN0ZWQgZXhpdCBjb2RlIDAsIGdvdCAzPGJyPgogVGVzdGNhc2UgdGVy
bWluYXRlZCB3aXRoIHNpZ25hbCAwPGJyPgogQ29tcGxldGUgdGVzdGNhc2Ugb3V0cHV0IHdhczo8
YnI+CiBUZXN0Y2FzZSBwcm9kdWNlZCBubyBvdXRwdXQhPC90dD48YnI+Ci08YSBuYW1lPSdmYWls
dXJlNTAnPjwvYT48ZGQ+PGI+VGVzdGNhc2UgPGEgdGFyZ2V0PSdvdGhlcl93aW5kb3cnIGhyZWY9
Jy4vanMxXzYvUmVncmVzcy9yZWdyZXNzLTMxNDg4Ny5qcyc+anMxXzYvUmVncmVzcy9yZWdyZXNz
LTMxNDg4Ny5qczwvYT4gZmFpbGVkPC9iPiA8YnI+Ci0gWyA8YSBocmVmPScjZmFpbHVyZTQ5Jz5Q
cmV2aW91cyBGYWlsdXJlPC9hPiB8IDxhIGhyZWY9JyNmYWlsdXJlNTEnPk5leHQgRmFpbHVyZTwv
YT4gfCA8YSBocmVmPScjdGlwcHlfdG9wJz5Ub3Agb2YgUGFnZTwvYT4gXTxicj4KKzxhIG5hbWU9
J2ZhaWx1cmU0OSc+PC9hPjxkZD48Yj5UZXN0Y2FzZSA8YSB0YXJnZXQ9J290aGVyX3dpbmRvdycg
aHJlZj0nLi9qczFfNi9SZWdyZXNzL3JlZ3Jlc3MtMzE0ODg3LmpzJz5qczFfNi9SZWdyZXNzL3Jl
Z3Jlc3MtMzE0ODg3LmpzPC9hPiBmYWlsZWQ8L2I+IDxicj4KKyBbIDxhIGhyZWY9JyNmYWlsdXJl
NDgnPlByZXZpb3VzIEZhaWx1cmU8L2E+IHwgPGEgaHJlZj0nI2ZhaWx1cmU1MCc+TmV4dCBGYWls
dXJlPC9hPiB8IDxhIGhyZWY9JyN0aXBweV90b3AnPlRvcCBvZiBQYWdlPC9hPiBdPGJyPgogPHR0
PkV4cGVjdGVkIGV4aXQgY29kZSAwLCBnb3QgMzxicj4KIFRlc3RjYXNlIHRlcm1pbmF0ZWQgd2l0
aCBzaWduYWwgMDxicj4KIENvbXBsZXRlIHRlc3RjYXNlIG91dHB1dCB3YXM6PGJyPgogVGVzdGNh
c2UgcHJvZHVjZWQgbm8gb3V0cHV0ITwvdHQ+PGJyPgotPGEgbmFtZT0nZmFpbHVyZTUxJz48L2E+
PGRkPjxiPlRlc3RjYXNlIDxhIHRhcmdldD0nb3RoZXJfd2luZG93JyBocmVmPScuL2pzMV82L1N0
cmluZy9yZWdyZXNzLTMwNjU5MS5qcyc+anMxXzYvU3RyaW5nL3JlZ3Jlc3MtMzA2NTkxLmpzPC9h
PiBmYWlsZWQ8L2I+IDxhIGhyZWY9J2h0dHA6Ly9idWd6aWxsYS5tb3ppbGxhLm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MzA2NTkxJyB0YXJnZXQ9J290aGVyX3dpbmRvdyc+QnVnIE51bWJlciAzMDY1OTE8
L2E+PGJyPgotIFsgPGEgaHJlZj0nI2ZhaWx1cmU1MCc+UHJldmlvdXMgRmFpbHVyZTwvYT4gfCA8
YSBocmVmPScjZmFpbHVyZTUyJz5OZXh0IEZhaWx1cmU8L2E+IHwgPGEgaHJlZj0nI3RpcHB5X3Rv
cCc+VG9wIG9mIFBhZ2U8L2E+IF08YnI+Cis8YSBuYW1lPSdmYWlsdXJlNTAnPjwvYT48ZGQ+PGI+
VGVzdGNhc2UgPGEgdGFyZ2V0PSdvdGhlcl93aW5kb3cnIGhyZWY9Jy4vanMxXzYvU3RyaW5nL3Jl
Z3Jlc3MtMzA2NTkxLmpzJz5qczFfNi9TdHJpbmcvcmVncmVzcy0zMDY1OTEuanM8L2E+IGZhaWxl
ZDwvYj4gPGEgaHJlZj0naHR0cDovL2J1Z3ppbGxhLm1vemlsbGEub3JnL3Nob3dfYnVnLmNnaT9p
ZD0zMDY1OTEnIHRhcmdldD0nb3RoZXJfd2luZG93Jz5CdWcgTnVtYmVyIDMwNjU5MTwvYT48YnI+
CisgWyA8YSBocmVmPScjZmFpbHVyZTQ5Jz5QcmV2aW91cyBGYWlsdXJlPC9hPiB8IDxhIGhyZWY9
JyNmYWlsdXJlNTEnPk5leHQgRmFpbHVyZTwvYT4gfCA8YSBocmVmPScjdGlwcHlfdG9wJz5Ub3Ag
b2YgUGFnZTwvYT4gXTxicj4KIDx0dD5FeHBlY3RlZCBleGl0IGNvZGUgMCwgZ290IDM8YnI+CiBU
ZXN0Y2FzZSB0ZXJtaW5hdGVkIHdpdGggc2lnbmFsIDA8YnI+CiBDb21wbGV0ZSB0ZXN0Y2FzZSBv
dXRwdXQgd2FzOjxicj4KIEJVR05VTUJFUjogMzA2NTkxPGJyPgogU1RBVFVTOiBTdHJpbmcgc3Rh
dGljIG1ldGhvZHM8YnI+CiBTVEFUVVM6IFNlZSBodHRwczovL2J1Z3ppbGxhLm1vemlsbGEub3Jn
L3Nob3dfYnVnLmNnaT9pZD0zMDQ4Mjg8YnI+Ci1bOTM1ODRdIC4vanMxXzYvU3RyaW5nL3JlZ3Jl
c3MtMzA2NTkxLmpzIGxpbmUgNDg6IFR5cGVFcnJvcjogVmFsdWUgdW5kZWZpbmVkIChyZXN1bHQg
b2YgZXhwcmVzc2lvbiBTdHJpbmcuc3BsaXQpIGlzIG5vdCBvYmplY3QuPGJyPgorWzI1NTk3XSAu
L2pzMV82L1N0cmluZy9yZWdyZXNzLTMwNjU5MS5qcyBsaW5lIDQ4OiBUeXBlRXJyb3I6IFZhbHVl
IHVuZGVmaW5lZCAocmVzdWx0IG9mIGV4cHJlc3Npb24gU3RyaW5nLnNwbGl0KSBpcyBub3Qgb2Jq
ZWN0Ljxicj4KIDwvdHQ+PGJyPgogPC9kbD4KIFsgPGEgaHJlZj0nI3RpcHB5X3RvcCc+VG9wIG9m
IFBhZ2U8L2E+IHwgPGEgaHJlZj0nI2ZhaWxfZGV0YWlsJz5Ub3Agb2YgRmFpbHVyZXM8L2E+IF08
YnI+CkBAIC01NTcsOSArNTQ5LDkgQEAgU1RBVFVTOiBTZWUgaHR0cHM6Ly9idWd6aWxsYS5tb3pp
bGxhLm9yZwogPHByZT4KIDxhIG5hbWU9J3JldGVzdF9saXN0Jz48L2E+CiA8aDI+UmV0ZXN0IExp
c3Q8L2gyPjxicj4KLSMgUmV0ZXN0IExpc3QsIGtqcywgZ2VuZXJhdGVkIFRodSBNYXIgIDYgMTM6
NTM6NTUgMjAwOC4KKyMgUmV0ZXN0IExpc3QsIGtqcywgZ2VuZXJhdGVkIE1vbiBNYXkgIDUgMTA6
MDA6MzkgMjAwOC4KICMgT3JpZ2luYWwgdGVzdCBiYXNlIHdhczogQWxsIHRlc3RzLgotIyAxMTI3
IG9mIDExMzUgdGVzdChzKSB3ZXJlIGNvbXBsZXRlZCwgNTEgZmFpbHVyZXMgcmVwb3J0ZWQuCisj
IDExMjcgb2YgMTEzNSB0ZXN0KHMpIHdlcmUgY29tcGxldGVkLCA1MCBmYWlsdXJlcyByZXBvcnRl
ZC4KIGVjbWEvVHlwZUNvbnZlcnNpb24vOS4zLjEtMy5qcwogZWNtYV8yL0V4Y2VwdGlvbnMvZnVu
Y3Rpb24tMDAxLmpzCiBlY21hXzMvRGF0ZS8xNS45LjUuNy5qcwpAQCAtNTY4LDcgKzU2MCw2IEBA
IGVjbWFfMy9SZWdFeHAvMTUuMTAuMi0xLmpzCiBlY21hXzMvUmVnRXhwL3BlcmxzdHJlc3MtMDAx
LmpzCiBlY21hXzMvUmVnRXhwL3JlZ3Jlc3MtMjA5OTE5LmpzCiBlY21hXzMvU3RhdGVtZW50cy9y
ZWdyZXNzLTE5NDM2NC5qcwotZWNtYV8zL1VuaWNvZGUvdWMtMDAxLmpzCiBlY21hXzMvVW5pY29k
ZS91Yy0wMDIuanMKIGpzMV8yL09iamVjdHMvdG9TdHJpbmctMDAxLmpzCiBqczFfMi9mdW5jdGlv
bi9GdW5jdGlvbl9vYmplY3QuanMK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>21123</attachid>
            <date>2008-05-14 04:21:44 -0700</date>
            <delta_ts>2008-05-14 09:14:47 -0700</delta_ts>
            <desc>only remove the BOM</desc>
            <filename>4931_patch.txt</filename>
            <type>text/plain</type>
            <size>7726</size>
            <attacher name="Alexey Proskuryakov">ap</attacher>
            
              <data encoding="base64">SW5kZXg6IEphdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDMzNDM2KQorKysgSmF2YVNjcmlwdENvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjIgQEAKKzIwMDgtMDUtMTQgIEFsZXhleSBQ
cm9za3VyeWFrb3YgIDxhcEB3ZWJraXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS81OTM0Mzc2PiBSRUdSRVNTSU9O
OiBBIHNjcmlwdCBmYWlscyBiZWNhdXNlIG9mIGEgc3RyYXcgQk9NIGNoYXJhY3RlciBpbiBpdC4K
KworICAgICAgICA8aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ5MzE+
CisgICAgICAgIFVuaWNvZGUgZm9ybWF0IGNoYXJhY3RlcnMgKENmKSBzaG91bGQgYmUgcmVtb3Zl
ZCBmcm9tIEphdmFTY3JpcHQgc291cmNlCisKKyAgICAgICAgT2YgYWxsIENmIGNoYXJhY3RlcnMs
IHdlIGFyZSBvbmx5IHJlbW92aW5nIEJPTSwgYmVjYXVzZSB0aGlzIGlzIHdoYXQgRmlyZWZveCB0
cnVuayBoYXMKKyAgICAgICAgc2V0dGxlZCB1cG9uLCBhZnRlciBleHRlbnNpdmUgZGlzY3Vzc2lv
biBhbmQgaW52ZXN0aWdhdGlvbi4KKworICAgICAgICBCYXNlZCBvbiBEYXJpbidzIHdvcmsgb24g
dGhpcyBidWcuCisKKyAgICAgICAgKiBranMvbGV4ZXIuY3BwOgorICAgICAgICAoS0pTOjpMZXhl
cjo6c2V0Q29kZSk6IFR3ZWFrIGZvcm1hdHRpbmcuIFVzZSBhIGNhbGwgdG8gc2hpZnQoNCkgdG8g
cmVhZCBpbiB0aGUKKyAgICAgICAgZmlyc3QgY2hhcmFjdGVycywgaW5zdGVhZCBvZiBoYXZpbmcg
c3BlY2lhbCBjYXNlIGNvZGUgaGVyZS4KKyAgICAgICAgKEtKUzo6TGV4ZXI6OnNoaWZ0KTogQWRk
IGEgbG9vcCB3aGVuIHJlYWRpbmcgYSBjaGFyYWN0ZXIgdG8gc2tpcCBCT00gY2hhcmFjdGVycy4K
KwogMjAwOC0wNS0xMyAgTWF0dCBMaWxlayAgPHdlYmtpdEBtYXR0bGlsZWsuY29tPgogCiAgICAg
ICAgIE5vdCByZXZpZXdlZCwgYnVpbGQgZml4LgpJbmRleDogSmF2YVNjcmlwdENvcmUva2pzL2xl
eGVyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBKYXZhU2NyaXB0Q29yZS9ranMvbGV4ZXIuY3BwCShyZXZp
c2lvbiAzMzQzNikKKysrIEphdmFTY3JpcHRDb3JlL2tqcy9sZXhlci5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTEsNyArMSw2IEBACi0vLyAtKi0gYy1iYXNpYy1vZmZzZXQ6IDIgLSotCiAvKgogICog
IENvcHlyaWdodCAoQykgMTk5OS0yMDAwIEhhcnJpIFBvcnRlbiAocG9ydGVuQGtkZS5vcmcpCi0g
KiAgQ29weXJpZ2h0IChDKSAyMDA2LCAyMDA3IEFwcGxlIEluYy4gQWxsIFJpZ2h0cyBSZXNlcnZl
ZC4KKyAqICBDb3B5cmlnaHQgKEMpIDIwMDYsIDIwMDcsIDIwMDggQXBwbGUgSW5jLiBBbGwgUmln
aHRzIFJlc2VydmVkLgogICogIENvcHlyaWdodCAoQykgMjAwNyBDYW1lcm9uIFp3YXJpY2ggKGN3
endhcmljaEB1d2F0ZXJsb28uY2EpCiAgKgogICogIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3
YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKQEAgLTMyLDEwICszMSwxMSBAQAog
I2luY2x1ZGUgPGxpbWl0cy5oPgogI2luY2x1ZGUgPHN0cmluZy5oPgogI2luY2x1ZGUgPHd0Zi9B
c3NlcnRpb25zLmg+CisjaW5jbHVkZSA8d3RmL3VuaWNvZGUvVW5pY29kZS5oPgorCiAjaWYgVVNF
KE1VTFRJUExFX1RIUkVBRFMpCiAjaW5jbHVkZSA8d3RmL1RocmVhZFNwZWNpZmljLmg+CiAjZW5k
aWYKLSNpbmNsdWRlIDx3dGYvdW5pY29kZS9Vbmljb2RlLmg+CiAKIHVzaW5nIG5hbWVzcGFjZSBX
VEY7CiB1c2luZyBuYW1lc3BhY2UgVW5pY29kZTsKQEAgLTEwMywzOCArMTAzLDQxIEBAIExleGVy
Ojp+TGV4ZXIoKQogCiB2b2lkIExleGVyOjpzZXRDb2RlKGludCBzdGFydGluZ0xpbmVOdW1iZXIs
IGNvbnN0IFVDaGFyKiBjLCB1bnNpZ25lZCBpbnQgbGVuKQogewotICB5eWxpbmVubyA9IDEgKyBz
dGFydGluZ0xpbmVOdW1iZXI7Ci0gIHJlc3RyS2V5d29yZCA9IGZhbHNlOwotICBkZWxpbWl0ZWQg
PSBmYWxzZTsKLSAgZWF0TmV4dElkZW50aWZpZXIgPSBmYWxzZTsKLSAgc3RhY2tUb2tlbiA9IC0x
OwotICBsYXN0VG9rZW4gPSAtMTsKLSAgcG9zID0gMDsKLSAgY29kZSA9IGM7Ci0gIGxlbmd0aCA9
IGxlbjsKLSAgc2tpcExGID0gZmFsc2U7Ci0gIHNraXBDUiA9IGZhbHNlOwotICBlcnJvciA9IGZh
bHNlOwotICBhdExpbmVTdGFydCA9IHRydWU7CisgICAgeXlsaW5lbm8gPSAxICsgc3RhcnRpbmdM
aW5lTnVtYmVyOworICAgIHJlc3RyS2V5d29yZCA9IGZhbHNlOworICAgIGRlbGltaXRlZCA9IGZh
bHNlOworICAgIGVhdE5leHRJZGVudGlmaWVyID0gZmFsc2U7CisgICAgc3RhY2tUb2tlbiA9IC0x
OworICAgIGxhc3RUb2tlbiA9IC0xOworICAgIHBvcyA9IDA7CisgICAgY29kZSA9IGM7CisgICAg
bGVuZ3RoID0gbGVuOworICAgIHNraXBMRiA9IGZhbHNlOworICAgIHNraXBDUiA9IGZhbHNlOwor
ICAgIGVycm9yID0gZmFsc2U7CisgICAgYXRMaW5lU3RhcnQgPSB0cnVlOwogCi0gIC8vIHJlYWQg
Zmlyc3QgY2hhcmFjdGVycwotICBjdXJyZW50ID0gKGxlbmd0aCA+IDApID8gY29kZVswXSA6IC0x
OwotICBuZXh0MSA9IChsZW5ndGggPiAxKSA/IGNvZGVbMV0gOiAtMTsKLSAgbmV4dDIgPSAobGVu
Z3RoID4gMikgPyBjb2RlWzJdIDogLTE7Ci0gIG5leHQzID0gKGxlbmd0aCA+IDMpID8gY29kZVsz
XSA6IC0xOwotfQotCi12b2lkIExleGVyOjpzaGlmdCh1bnNpZ25lZCBpbnQgcCkKLXsKLSAgLy8g
SGVyZSB3b3VsZCBiZSBhIGdvb2QgcGxhY2UgdG8gc3RyaXAgQ2YgY2hhcmFjdGVycywgYnV0IHRo
YXQgaGFzIGNhdXNlZCBjb21wYXRpYmlsaXR5IHByb2JsZW1zOgotICAvLyA8aHR0cDovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAxODM+LgotICB3aGlsZSAocC0tKSB7Ci0gICAg
cG9zKys7Ci0gICAgY3VycmVudCA9IG5leHQxOwotICAgIG5leHQxID0gbmV4dDI7Ci0gICAgbmV4
dDIgPSBuZXh0MzsKLSAgICBuZXh0MyA9IChwb3MgKyAzIDwgbGVuZ3RoKSA/IGNvZGVbcG9zICsg
M10gOiAtMTsKLSAgfQorICAgIC8vIHJlYWQgZmlyc3QgY2hhcmFjdGVycworICAgIHNoaWZ0KDQp
OworfQorCit2b2lkIExleGVyOjpzaGlmdCh1bnNpZ25lZCBwKQoreworICAgIC8vIEVDTUEtMjYy
IGNhbGxzIGZvciBzdHJpcHBpbmcgQ2YgY2hhcmFjdGVycyBoZXJlLCBidXQgd2Ugb25seSBkbyB0
aGlzIGZvciBCT00sCisgICAgLy8gc2VlIDxodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9NDkzMT4uCisKKyAgICB3aGlsZSAocC0tKSB7CisgICAgICAgIGN1cnJlbnQgPSBu
ZXh0MTsKKyAgICAgICAgbmV4dDEgPSBuZXh0MjsKKyAgICAgICAgbmV4dDIgPSBuZXh0MzsKKyAg
ICAgICAgZG8geworICAgICAgICAgICAgaWYgKHBvcyA+PSBsZW5ndGgpIHsKKyAgICAgICAgICAg
ICAgICBuZXh0MyA9IC0xOworICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgfQor
ICAgICAgICAgICAgbmV4dDMgPSBjb2RlW3BvcysrXTsKKyAgICAgICAgfSB3aGlsZSAobmV4dDMg
PT0gMHhGRUZGKTsKKyAgICB9CiB9CiAKIC8vIGNhbGxlZCBvbiBlYWNoIG5ldyBsaW5lCkluZGV4
OiBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCShyZXZpc2lvbiAzMzQzNykKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBj
b3B5KQpAQCAtMSwzICsxLDE2IEBACisyMDA4LTA1LTE0ICBBbGV4ZXkgUHJvc2t1cnlha292ICA8
YXBAd2Via2l0Lm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICA8cmRhcjovL3Byb2JsZW0vNTkzNDM3Nj4gUkVHUkVTU0lPTjogQSBzY3JpcHQgZmFp
bHMgYmVjYXVzZSBvZiBhIHN0cmF3IEJPTSBjaGFyYWN0ZXIgaW4gaXQuCisKKyAgICAgICAgPGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00OTMxPgorICAgICAgICBVbmlj
b2RlIGZvcm1hdCBjaGFyYWN0ZXJzIChDZikgc2hvdWxkIGJlIHJlbW92ZWQgZnJvbSBKYXZhU2Ny
aXB0IHNvdXJjZQorCisgICAgICAgICogZmFzdC9qcy9yZW1vdmluZy1DZi1jaGFyYWN0ZXJzLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9qcy9yZW1vdmluZy1DZi1jaGFyYWN0
ZXJzLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGZhc3QvanMvcmVzb3VyY2VzL3JlbW92aW5nLUNm
LWNoYXJhY3RlcnMuanM6IEFkZGVkLgorCiAyMDA4LTA1LTEzICBEYW4gQmVybnN0ZWluICA8bWl0
ekBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgSm9obiBTdWxsaXZhbi4KSW5kZXg6
IExheW91dFRlc3RzL2Zhc3QvanMvcmVtb3ZpbmctQ2YtY2hhcmFjdGVycy1leHBlY3RlZC50eHQK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9qcy9yZW1vdmluZy1DZi1jaGFyYWN0ZXJz
LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvanMvcmVtb3Zp
bmctQ2YtY2hhcmFjdGVycy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTMg
QEAKK1RoaXMgdGVzdCBjaGVja3MgdGhhdCBCT00gaXMgc3RyaXBwZWQgZnJvbSB0aGUgc291cmNl
LCBidXQgb3RoZXIgQ2YgY2hhcmFjdGVycyBhcmUgbm90LCBkZXNwaXRlIHdoYXQgRUNNQS0yNjIg
c2F5cywgc2VlIC4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNT
IiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgorCisKK1BBU1MgZXNjYXBl
KHRlc3RTdHJpbmcpIGlzICcldTIwMEYldTIwMEUlQUQldTIwNjIldTIwMEQldTIwMEMldTIwMEIn
CitQQVNTIGVzY2FwZSh0ZXN0U3RyaW5nMikgaXMgJyV1MjAwRiV1MjAwRSVBRCV1MjA2MiV1MjAw
RCV1MjAwQyV1MjAwQicKK1BBU1MgMSBpcyAxCitQQVNTIHZhciBaV0pfSeKAjW5zaWRlOyB0aHJl
dyBleGNlcHRpb24gU3ludGF4RXJyb3I6IFBhcnNlIGVycm9yLgorUEFTUyBzdWNjZXNzZnVsbHlQ
YXJzZWQgaXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKClByb3BlcnR5IGNoYW5nZXMgb246IExh
eW91dFRlc3RzL2Zhc3QvanMvcmVtb3ZpbmctQ2YtY2hhcmFjdGVycy1leHBlY3RlZC50eHQKX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fXwpOYW1lOiBzdm46bWltZS10eXBlCiAgICsgdGV4dC9wbGFpbgpOYW1lOiBzdm46ZW9s
LXN0eWxlCiAgICsgbmF0aXZlCgpJbmRleDogTGF5b3V0VGVzdHMvZmFzdC9qcy9yZW1vdmluZy1D
Zi1jaGFyYWN0ZXJzLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9qcy9yZW1v
dmluZy1DZi1jaGFyYWN0ZXJzLmh0bWwJKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9mYXN0
L2pzL3JlbW92aW5nLUNmLWNoYXJhY3RlcnMuaHRtbAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwx
MyBAQAorPCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9JRVRGLy9EVEQgSFRNTC8vRU4iPgorPGh0
bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJlZj0icmVzb3VyY2VzL2pzLXRl
c3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYg
aWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9yZW1vdmluZy1DZi1j
aGFyYWN0ZXJzLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvanMtdGVzdC1w
b3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KClByb3BlcnR5IGNoYW5nZXMgb246
IExheW91dFRlc3RzL2Zhc3QvanMvcmVtb3ZpbmctQ2YtY2hhcmFjdGVycy5odG1sCl9fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X18KTmFtZTogc3ZuOm1pbWUtdHlwZQogICArIHRleHQvaHRtbAoKSW5kZXg6IExheW91dFRlc3Rz
L2Zhc3QvanMvcmVzb3VyY2VzL3JlbW92aW5nLUNmLWNoYXJhY3RlcnMuanMKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gTGF5b3V0VGVzdHMvZmFzdC9qcy9yZXNvdXJjZXMvcmVtb3ZpbmctQ2YtY2hhcmFjdGVycy5q
cwkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvanMvcmVzb3VyY2VzL3JlbW92aW5n
LUNmLWNoYXJhY3RlcnMuanMJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMjcgQEAKK++7v2Rlc2Ny
aXB0aW9uKAorCisiVGhpcyB0ZXN0IGNoZWNrcyB0aGF0IEJPTSBpcyBzdHJpcHBlZCBmcm9tIHRo
ZSBzb3VyY2UsIGJ1dCBvdGhlciBDZiBjaGFyYWN0ZXJzIGFyZSBub3QsIGRlc3BpdGUgXAord2hh
dCBFQ01BLTI2MiBzYXlzLCBzZWUgPGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD00OTMxPi4iCisKKyk7CisKKy8vIFUrRkVGRiBaRVJPIFdJRFRIIE5PLUJSRUFLIFNQQUNF
IChCT00pCisvLyBVKzIwMEYgUklHSFQtVE8tTEVGVCBNQVJLCisvLyBVKzIwMEUgTEVGVC1UTy1S
SUdIVCBNQVJLCisvLyBVKzAwQUQgU09GVCBIWVBIRU4KKy8vIFUrMjA2MiBJTlZJU0lCTEUgVElN
RVMKKy8vIFUrMjAwRCBaRVJPIFdJRFRIIEpPSU5FUgorLy8gVSsyMDBDIFpFUk8gV0lEVEggTk9O
LUpPSU5FUgorLy8gVSsyMDBCIFpFUk8gV0lEVEggU1BBQ0UKK3ZhciB0ZXN0U3RyaW5nID0gIu+7
v+KAj+KAjsKt4oGi4oCN4oCM4oCLIjsKK3Nob3VsZEJlKCdlc2NhcGUodGVzdFN0cmluZyknLCIn
JXUyMDBGJXUyMDBFJUFEJXUyMDYyJXUyMDBEJXUyMDBDJXUyMDBCJyIpOworCit2YXIgdGVzdFN0
cmluZzIgPSBldmFsKCciXHVGRUZGXHUyMDBGXHUyMDBFXHUwMEFEXHUyMDYyXHUyMDBEXHUyMDBD
XHUyMDBCIicpOworc2hvdWxkQmUoJ2VzY2FwZSh0ZXN0U3RyaW5nMiknLCInJXUyMDBGJXUyMDBF
JUFEJXUyMDYyJXUyMDBEJXUyMDBDJXUyMDBCJyIpOworCisvLyBBIEJPTSBpcyBpbnNpZGUgInNo
b3VsZEJlIi4KK3Nob3Vs77u/ZEJlKCIxIiwgIjEiKTsKKworc2hvdWxkVGhyb3coJ3ZhciBaV0pf
SeKAjW5zaWRlOycpOworCitzdWNjZXNzZnVsbHlQYXJzZWQgPSB0cnVlOwoKUHJvcGVydHkgY2hh
bmdlcyBvbjogTGF5b3V0VGVzdHMvZmFzdC9qcy9yZXNvdXJjZXMvcmVtb3ZpbmctQ2YtY2hhcmFj
dGVycy5qcwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fCk5hbWU6IHN2bjptaW1lLXR5cGUKICAgKyB0ZXh0L3BsYWluCk5h
bWU6IHN2bjplb2wtc3R5bGUKICAgKyBuYXRpdmUKCg==
</data>
<flag name="review"
          id="9230"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>