<?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>28091</bug_id>
          
          <creation_ts>2009-08-07 18:43:54 -0700</creation_ts>
          <short_desc>ApplyStyleCommand removes presentational tags even when not necessary</short_desc>
          <delta_ts>2009-10-09 20:39:09 -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>HTML Editing</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P3</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Ryosuke Niwa">rniwa</reporter>
          <assigned_to name="Ryosuke Niwa">rniwa</assigned_to>
          <cc>abarth</cc>
    
    <cc>eric</cc>
    
    <cc>justin.garcia</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>138256</commentid>
    <comment_count>0</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2009-08-07 18:43:54 -0700</bug_when>
    <thetext>implicitlyStyledElementShouldBeRemovedWhenApplyingStyle returns true regardless of whether the existing tag is useful or not.  This causes tags to disappear and causes DOM tree to change unexpectedly.

Bolding &quot;hello&lt;b id=&quot;test&quot;&gt;world&lt;/b&gt;&quot;  results in &lt;b&gt;hello&lt;/b&gt;&lt;span id=&quot;test&quot;&gt;&lt;b&gt;world&lt;/b&gt;&lt;/span&gt;
and bolding &quot;hello&lt;b&gt;&lt;i&gt;world&lt;/i&gt;&lt;/b&gt;&quot; results in &quot;&lt;b&gt;hello&lt;/b&gt;&lt;i&gt;&lt;b&gt;world&lt;/b&gt;&lt;/i&gt;&quot; 
(notice the ordering of b and i changed.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>138260</commentid>
    <comment_count>1</comment_count>
      <attachid>34355</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2009-08-07 19:02:44 -0700</bug_when>
    <thetext>Created attachment 34355
fixes the bug</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>144078</commentid>
    <comment_count>2</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2009-09-01 17:57:26 -0700</bug_when>
    <thetext>This patch appears reasonable on its face but has been sitting in the review queue for a long time.  Who should review this code (clearly not me)?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>144108</commentid>
    <comment_count>3</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2009-09-01 21:43:47 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; This patch appears reasonable on its face but has been sitting in the review
&gt; queue for a long time.  Who should review this code (clearly not me)?

This patch would conflict.  We need to submit new patch for this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>144417</commentid>
    <comment_count>4</comment_count>
      <attachid>38971</attachid>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2009-09-03 00:58:59 -0700</bug_when>
    <thetext>Created attachment 38971
new patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>144419</commentid>
    <comment_count>5</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2009-09-03 01:04:28 -0700</bug_when>
    <thetext>Unfortunately, this patch got larger because I had to modify one more function and rebaseline one more test to make it work.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>152757</commentid>
    <comment_count>6</comment_count>
      <attachid>38971</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-10-06 09:42:14 -0700</bug_when>
    <thetext>Comment on attachment 38971
new patch

In general this looks good.

CSSDecorationAddedByTag should be &quot;cssDecorationAddedByTag&quot;

And here:
 65     bool shouldRemoveTextDecorationTag(CSSStyleDeclaration* styleToApply, int CSSDecorationAddedByTag) const;

You could have used locals to store &quot;nextElement&quot; instead of casting nextSibling twice.  But it&apos;s also OK as is.

LGTM.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>153843</commentid>
    <comment_count>7</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2009-10-09 20:39:09 -0700</bug_when>
    <thetext>Landed as http://trac.webkit.org/changeset/49414.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>34355</attachid>
            <date>2009-08-07 19:02:44 -0700</date>
            <delta_ts>2009-09-03 00:58:59 -0700</delta_ts>
            <desc>fixes the bug</desc>
            <filename>fix28091</filename>
            <type>text/plain</type>
            <size>20355</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0Njk0MCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjIgQEAKKzIwMDktMDgtMDcgIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5v
cmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQXBw
bHlTdHlsZUNvbW1hbmQgcmVtb3ZlcyBwcmVzZW50YXRpb25hbCB0YWdzIGV2ZW4gd2hlbiBub3Qg
bmVjZXNzYXJ5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yODA5MQorCisgICAgICAgIFRoaXMgcGF0Y2ggdXBkYXRlcyBpbXBsaWNpdGx5U3R5bGVkRWxl
bWVudFNob3VsZEJlUmVtb3ZlZFdoZW5BcHBseWluZ1N0eWxlIHRvIHJldHVybiB0cnVlICh0cmln
Z2VyaW5nIHJlbW92YWwgb2YgdGFnKQorICAgICAgICBvbmx5IGlmIHRoZSBzdHlsZSBpbXBsaWNp
dGx5IGFkZGVkIGJ5IHRoZSBlbGVtZW50IGlzIG5vdCBwcmVzZW50IGluIHRoZSBuZXcgc3R5bGUg
dG8gYXBwbHkuCisgICAgICAgIEl0IGFsc28gY2hhbmdlcyBzdXJyb3VuZE5vZGVSYW5nZVdpdGhF
bGVtZW50IHNvIHRoYXQgaXQgbWVyZ2VzIHRoZSBzdXJyb3VuZGluZyBlbGVtZW50IHdoZW4gcG9z
c2libGUuCisKKyAgICAgICAgVGVzdDogZWRpdGluZy9leGVjQ29tbWFuZC90b2dnbGUtc3R5bGUt
My5odG1sCisKKyAgICAgICAgKiBlZGl0aW5nL0FwcGx5U3R5bGVDb21tYW5kLmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OkFwcGx5U3R5bGVDb21tYW5kOjpzaG91bGRSZW1vdmVUZXh0RGVjb3JhdGlv
blRhZyk6IFJldHVybnMgdHJ1ZSBpZiBzcGVjaWZpZWQgdGV4dCBkZWNvcmF0aW9uIGlzIG5vdCBw
cmVzZW50IGluIHRoZSBzdHlsZSB0byBhcHBseQorICAgICAgICAoV2ViQ29yZTo6QXBwbHlTdHls
ZUNvbW1hbmQ6OmltcGxpY2l0bHlTdHlsZWRFbGVtZW50U2hvdWxkQmVSZW1vdmVkV2hlbkFwcGx5
aW5nU3R5bGUpOiBObyBsb25nZXIgcmV0dXJucyB0cnVlIGlmIHRoZSB0YWcgaXMgdXNlZCBpbiBu
ZXcgc3R5bGUKKyAgICAgICAgKFdlYkNvcmU6OkFwcGx5U3R5bGVDb21tYW5kOjpzdXJyb3VuZE5v
ZGVSYW5nZVdpdGhFbGVtZW50KTogTWVyZ2VzIHRoZSBuZXdseSBjcmVhdGVkIGVsZW1lbnQgd2l0
aCB0aGUgc3Vycm91bmRpbmcgaWRlbnRpY2FsIGVsZW1lbnRzCisgICAgICAgICogZWRpdGluZy9B
cHBseVN0eWxlQ29tbWFuZC5oOgorCiAyMDA5LTA4LTA3ICBBZGFtIFRyZWF0ICA8YWRhbS50cmVh
dEB0b3JjaG1vYmlsZS5jb20+CiAKICAgICAgICAgUHJvc3BlY3RpdmUgYnVpbGQgZml4IGZvciBR
dCBmb2xsb3dpbmcgcjQ2OTM3LgpJbmRleDogV2ViQ29yZS9lZGl0aW5nL0FwcGx5U3R5bGVDb21t
YW5kLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2VkaXRpbmcvQXBwbHlTdHlsZUNvbW1hbmQu
Y3BwCShyZXZpc2lvbiA0NjkyMCkKKysrIFdlYkNvcmUvZWRpdGluZy9BcHBseVN0eWxlQ29tbWFu
ZC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEwNjAsNiArMTA2MCwyMyBAQCB2b2lkIEFwcGx5U3R5
bGVDb21tYW5kOjphcHBseUlubGluZVN0eWxlCiAgICAgfQogfQogCitib29sIEFwcGx5U3R5bGVD
b21tYW5kOjpzaG91bGRSZW1vdmVUZXh0RGVjb3JhdGlvblRhZyhDU1NTdHlsZURlY2xhcmF0aW9u
KiBzdHlsZVRvQXBwbHksIGludCBDU1NEZWNvcmF0aW9uQWRkZWRCeVRhZykgY29uc3QKK3sKKyAg
ICAvLyBIb25vciB0ZXh0LWRlY29yYXRpb25zLWluLWVmZmVjdAorICAgIFJlZlB0cjxDU1NWYWx1
ZT4gdGV4dERlY29yYXRpb25zVG9BcHBseSA9IHN0eWxlVG9BcHBseS0+Z2V0UHJvcGVydHlDU1NW
YWx1ZShDU1NQcm9wZXJ0eVdlYmtpdFRleHREZWNvcmF0aW9uc0luRWZmZWN0KTsKKyAgICBpZiAo
IXRleHREZWNvcmF0aW9uc1RvQXBwbHkgfHwgIXRleHREZWNvcmF0aW9uc1RvQXBwbHktPmlzVmFs
dWVMaXN0KCkpCisgICAgICAgIHRleHREZWNvcmF0aW9uc1RvQXBwbHkgPSBzdHlsZVRvQXBwbHkt
PmdldFByb3BlcnR5Q1NTVmFsdWUoQ1NTUHJvcGVydHlUZXh0RGVjb3JhdGlvbik7CisKKyAgICAv
LyBXaGVuIHRoZXJlIGlzIG5vIHRleHQgZGVjb3JhdGlvbnMgdG8gYXBwbHksIHJlbW92ZSBhbnkg
b25lIG9mIHUsIHMsICYgc3RyaWtlCisgICAgaWYgKCF0ZXh0RGVjb3JhdGlvbnNUb0FwcGx5IHx8
ICF0ZXh0RGVjb3JhdGlvbnNUb0FwcGx5LT5pc1ZhbHVlTGlzdCgpKQorICAgICAgICByZXR1cm4g
dHJ1ZTsKKworICAgIC8vIFJlbW92ZSBub2RlIGlmIGl0IGltcGxpY2l0bHkgYWRkcyBzdHlsZSBu
b3QgcHJlc2VudCBpbiBzdHlsZVRvQXBwbHkKKyAgICBDU1NWYWx1ZUxpc3QqIHZhbHVlTGlzdCA9
IHN0YXRpY19jYXN0PENTU1ZhbHVlTGlzdCo+KHRleHREZWNvcmF0aW9uc1RvQXBwbHkuZ2V0KCkp
OworICAgIFJlZlB0cjxDU1NQcmltaXRpdmVWYWx1ZT4gdmFsdWUgPSBDU1NQcmltaXRpdmVWYWx1
ZTo6Y3JlYXRlSWRlbnRpZmllcihDU1NEZWNvcmF0aW9uQWRkZWRCeVRhZyk7CisgICAgcmV0dXJu
ICF2YWx1ZUxpc3QtPmhhc1ZhbHVlKHZhbHVlLmdldCgpKTsKK30KKwogLy8gVGhpcyBmdW5jdGlv
biBtYXBzIGZyb20gc3R5bGluZyB0YWdzIHRvIENTUyBzdHlsZXMuICBVc2VkIGZvciBrbm93aW5n
IHdoaWNoCiAvLyBzdHlsaW5nIHRhZ3Mgc2hvdWxkIGJlIHJlbW92ZWQgd2hlbiB0b2dnbGluZyBz
dHlsZXMuCiBib29sIEFwcGx5U3R5bGVDb21tYW5kOjppbXBsaWNpdGx5U3R5bGVkRWxlbWVudFNo
b3VsZEJlUmVtb3ZlZFdoZW5BcHBseWluZ1N0eWxlKEhUTUxFbGVtZW50KiBlbGVtLCBDU1NNdXRh
YmxlU3R5bGVEZWNsYXJhdGlvbiogc3R5bGUpCkBAIC0xMDczLDM2ICsxMDkwLDI1IEBAIGJvb2wg
QXBwbHlTdHlsZUNvbW1hbmQ6OmltcGxpY2l0bHlTdHlsZWQKICAgICAgICAgY2FzZSBDU1NQcm9w
ZXJ0eUZvbnRXZWlnaHQ6CiAgICAgICAgICAgICAvLyBJRSBpbnNlcnRzICJzdHJvbmciIHRhZ3Mg
Zm9yIGV4ZWNDb21tYW5kKCJib2xkIiksIHNvIHdlIHJlbW92ZSB0aGVtLCBldmVuIHRob3VnaCB0
aGV5J3JlIG5vdCBzdHJpY3RseSBwcmVzZW50YXRpb25hbAogICAgICAgICAgICAgaWYgKGVsZW0t
Pmhhc0xvY2FsTmFtZShiVGFnKSB8fCBlbGVtLT5oYXNMb2NhbE5hbWUoc3Ryb25nVGFnKSkKLSAg
ICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgICAgICAgICByZXR1cm4gIWVxdWFs
SWdub3JpbmdDYXNlKHByb3BlcnR5LnZhbHVlKCktPmNzc1RleHQoKSwgImJvbGQiKSB8fCAhZWxl
bS0+aGFzQ2hpbGROb2RlcygpOwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgQ1NT
UHJvcGVydHlWZXJ0aWNhbEFsaWduOgotICAgICAgICAgICAgaWYgKGVsZW0tPmhhc0xvY2FsTmFt
ZShzdWJUYWcpIHx8IGVsZW0tPmhhc0xvY2FsTmFtZShzdXBUYWcpKQotICAgICAgICAgICAgICAg
IHJldHVybiB0cnVlOworICAgICAgICAgICAgaWYgKGVsZW0tPmhhc0xvY2FsTmFtZShzdWJUYWcp
KQorICAgICAgICAgICAgICAgIHJldHVybiAhZXF1YWxJZ25vcmluZ0Nhc2UocHJvcGVydHkudmFs
dWUoKS0+Y3NzVGV4dCgpLCAic3ViIikgfHwgIWVsZW0tPmhhc0NoaWxkTm9kZXMoKTsKKyAgICAg
ICAgICAgIGlmIChlbGVtLT5oYXNMb2NhbE5hbWUoc3VwVGFnKSkKKyAgICAgICAgICAgICAgICBy
ZXR1cm4gIWVxdWFsSWdub3JpbmdDYXNlKHByb3BlcnR5LnZhbHVlKCktPmNzc1RleHQoKSwgInN1
cCIpIHx8ICFlbGVtLT5oYXNDaGlsZE5vZGVzKCk7CiAgICAgICAgICAgICBicmVhazsKICAgICAg
ICAgY2FzZSBDU1NQcm9wZXJ0eUZvbnRTdHlsZToKICAgICAgICAgICAgIC8vIElFIGluc2VydHMg
ImVtIiB0YWdzIGZvciBleGVjQ29tbWFuZCgiaXRhbGljIiksIHNvIHdlIHJlbW92ZSB0aGVtLCBl
dmVuIHRob3VnaCB0aGV5J3JlIG5vdCBzdHJpY3RseSBwcmVzZW50YXRpb25hbAogICAgICAgICAg
ICAgaWYgKGVsZW0tPmhhc0xvY2FsTmFtZShpVGFnKSB8fCBlbGVtLT5oYXNMb2NhbE5hbWUoZW1U
YWcpKQotICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgICAgICAgICAgICAgIHJldHVy
biAhZXF1YWxJZ25vcmluZ0Nhc2UocHJvcGVydHkudmFsdWUoKS0+Y3NzVGV4dCgpLCAiaXRhbGlj
IikgfHwgIWVsZW0tPmhhc0NoaWxkTm9kZXMoKTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAg
ICBjYXNlIENTU1Byb3BlcnR5VGV4dERlY29yYXRpb246CiAgICAgICAgIGNhc2UgQ1NTUHJvcGVy
dHlXZWJraXRUZXh0RGVjb3JhdGlvbnNJbkVmZmVjdDoKLSAgICAgICAgICAgICAgICBBU1NFUlQo
cHJvcGVydHkudmFsdWUoKSk7Ci0gICAgICAgICAgICAgICAgaWYgKHByb3BlcnR5LnZhbHVlKCkt
PmlzVmFsdWVMaXN0KCkpIHsKLSAgICAgICAgICAgICAgICAgICAgQ1NTVmFsdWVMaXN0KiB2YWx1
ZUxpc3QgPSBzdGF0aWNfY2FzdDxDU1NWYWx1ZUxpc3QqPihwcm9wZXJ0eS52YWx1ZSgpKTsKLSAg
ICAgICAgICAgICAgICAgICAgREVGSU5FX1NUQVRJQ19MT0NBTChSZWZQdHI8Q1NTUHJpbWl0aXZl
VmFsdWU+LCB1bmRlcmxpbmUsIChDU1NQcmltaXRpdmVWYWx1ZTo6Y3JlYXRlSWRlbnRpZmllcihD
U1NWYWx1ZVVuZGVybGluZSkpKTsKLSAgICAgICAgICAgICAgICAgICAgREVGSU5FX1NUQVRJQ19M
T0NBTChSZWZQdHI8Q1NTUHJpbWl0aXZlVmFsdWU+LCBsaW5lVGhyb3VnaCwgKENTU1ByaW1pdGl2
ZVZhbHVlOjpjcmVhdGVJZGVudGlmaWVyKENTU1ZhbHVlTGluZVRocm91Z2gpKSk7Ci0gICAgICAg
ICAgICAgICAgICAgIC8vIEJlY2F1c2Ugc3R5bGUgaXMgbmV3IHN0eWxlIHRvIGJlIGFwcGxpZWQs
IHdlIGRlbGV0ZSBlbGVtZW50IG9ubHkgaWYgdGhlIGVsZW1lbnQgaXMgbm90IHVzZWQgaW4gc3R5
bGUuCi0gICAgICAgICAgICAgICAgICAgIGlmICghdmFsdWVMaXN0LT5oYXNWYWx1ZSh1bmRlcmxp
bmUuZ2V0KCkpICYmIGVsZW0tPmhhc0xvY2FsTmFtZSh1VGFnKSkKLSAgICAgICAgICAgICAgICAg
ICAgICAgIHJldHVybiB0cnVlOwotICAgICAgICAgICAgICAgICAgICBpZiAoIXZhbHVlTGlzdC0+
aGFzVmFsdWUobGluZVRocm91Z2guZ2V0KCkpICYmIChlbGVtLT5oYXNMb2NhbE5hbWUoc3RyaWtl
VGFnKSB8fCBlbGVtLT5oYXNMb2NhbE5hbWUoc1RhZykpKQotICAgICAgICAgICAgICAgICAgICAg
ICAgcmV0dXJuIHRydWU7Ci0gICAgICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAg
ICAgICAgLy8gSWYgdGhlIHZhbHVlIGlzIE5PVCBhIGxpc3QsIHRoZW4gaXQgbXVzdCBiZSAibm9u
ZSIsIGluIHdoaWNoIGNhc2Ugd2Ugc2hvdWxkIHJlbW92ZSBhbGwgdGV4dCBkZWNvcmF0aW9ucy4K
LSAgICAgICAgICAgICAgICAgICAgQVNTRVJUKHByb3BlcnR5LnZhbHVlKCktPmNzc1RleHQoKSA9
PSAibm9uZSIpOwotICAgICAgICAgICAgICAgICAgICBpZiAoZWxlbS0+aGFzTG9jYWxOYW1lKHVU
YWcpIHx8IGVsZW0tPmhhc0xvY2FsTmFtZShzdHJpa2VUYWcpIHx8IGVsZW0tPmhhc0xvY2FsTmFt
ZShzVGFnKSkKLSAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOwotICAgICAgICAg
ICAgICAgIH0KLSAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICBpZiAoZWxl
bS0+aGFzTG9jYWxOYW1lKHVUYWcpKQorICAgICAgICAgICAgICAgICAgICByZXR1cm4gc2hvdWxk
UmVtb3ZlVGV4dERlY29yYXRpb25UYWcoc3R5bGUsIENTU1ZhbHVlVW5kZXJsaW5lKSB8fCAhZWxl
bS0+aGFzQ2hpbGROb2RlcygpOworICAgICAgICAgICAgICAgIGVsc2UgaWYgKGVsZW0tPmhhc0xv
Y2FsTmFtZShzVGFnKSB8fCBlbGVtLT5oYXNUYWdOYW1lKHN0cmlrZVRhZykpCisgICAgICAgICAg
ICAgICAgICAgIHJldHVybiBzaG91bGRSZW1vdmVUZXh0RGVjb3JhdGlvblRhZyhzdHlsZSxDU1NW
YWx1ZUxpbmVUaHJvdWdoKSB8fCAhZWxlbS0+aGFzQ2hpbGROb2RlcygpOwogICAgICAgICB9CiAg
ICAgfQogICAgIHJldHVybiBmYWxzZTsKQEAgLTE2NTMsNiArMTY1OSwyMCBAQCB2b2lkIEFwcGx5
U3R5bGVDb21tYW5kOjpzdXJyb3VuZE5vZGVSYW5nCiAgICAgICAgICAgICBicmVhazsKICAgICAg
ICAgbm9kZSA9IG5leHQ7CiAgICAgfQorCisgICAgTm9kZSogbmV4dFNpYmxpbmcgPSBlbGVtZW50
LT5uZXh0U2libGluZygpOworICAgIE5vZGUqIHByZXZpb3VzU2libGluZyA9IGVsZW1lbnQtPnBy
ZXZpb3VzU2libGluZygpOworICAgIGlmIChuZXh0U2libGluZyAmJiBuZXh0U2libGluZy0+aXNF
bGVtZW50Tm9kZSgpICYmIG5leHRTaWJsaW5nLT5pc0NvbnRlbnRFZGl0YWJsZSgpCisgICAgICAg
ICYmIGFyZUlkZW50aWNhbEVsZW1lbnRzKGVsZW1lbnQuZ2V0KCksIHN0YXRpY19jYXN0PEVsZW1l
bnQqPihuZXh0U2libGluZykpKQorICAgICAgICBtZXJnZUlkZW50aWNhbEVsZW1lbnRzKGVsZW1l
bnQsIHN0YXRpY19jYXN0PEVsZW1lbnQqPihuZXh0U2libGluZykpOworCisgICAgaWYgKHByZXZp
b3VzU2libGluZyAmJiBwcmV2aW91c1NpYmxpbmctPmlzRWxlbWVudE5vZGUoKSAmJiBwcmV2aW91
c1NpYmxpbmctPmlzQ29udGVudEVkaXRhYmxlKCkpIHsKKyAgICAgICAgTm9kZSogbWVyZ2VkRWxl
bWVudCA9IHByZXZpb3VzU2libGluZy0+bmV4dFNpYmxpbmcoKTsKKyAgICAgICAgaWYgKG1lcmdl
ZEVsZW1lbnQtPmlzRWxlbWVudE5vZGUoKSAmJiBtZXJnZWRFbGVtZW50LT5pc0NvbnRlbnRFZGl0
YWJsZSgpCisgICAgICAgICAgICAmJiBhcmVJZGVudGljYWxFbGVtZW50cyhzdGF0aWNfY2FzdDxF
bGVtZW50Kj4ocHJldmlvdXNTaWJsaW5nKSwgc3RhdGljX2Nhc3Q8RWxlbWVudCo+KG1lcmdlZEVs
ZW1lbnQpKSkKKyAgICAgICAgICAgIG1lcmdlSWRlbnRpY2FsRWxlbWVudHMoc3RhdGljX2Nhc3Q8
RWxlbWVudCo+KHByZXZpb3VzU2libGluZyksIHN0YXRpY19jYXN0PEVsZW1lbnQqPihtZXJnZWRF
bGVtZW50KSk7CisgICAgfQorCiAgICAgLy8gRklYTUU6IFdlIHNob3VsZCBwcm9iYWJseSBjYWxs
IHVwZGF0ZVN0YXJ0RW5kIGlmIHRoZSBzdGFydCBvciBlbmQgd2FzIGluIHRoZSBub2RlCiAgICAg
Ly8gcmFuZ2Ugc28gdGhhdCB0aGUgZW5kaW5nU2VsZWN0aW9uKCkgaXMgY2Fub25pY2FsaXplZC4g
IFNlZSB0aGUgY29tbWVudHMgYXQgdGhlIGVuZCBvZgogICAgIC8vIFZpc2libGVTZWxlY3Rpb246
OnZhbGlkYXRlKCkuCkluZGV4OiBXZWJDb3JlL2VkaXRpbmcvQXBwbHlTdHlsZUNvbW1hbmQuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJDb3JlL2VkaXRpbmcvQXBwbHlTdHlsZUNvbW1hbmQuaAkocmV2aXNp
b24gNDY5MjApCisrKyBXZWJDb3JlL2VkaXRpbmcvQXBwbHlTdHlsZUNvbW1hbmQuaAkod29ya2lu
ZyBjb3B5KQpAQCAtNjIsNiArNjIsNyBAQCBwcml2YXRlOgogICAgIENTU011dGFibGVTdHlsZURl
Y2xhcmF0aW9uKiBzdHlsZSgpIGNvbnN0IHsgcmV0dXJuIG1fc3R5bGUuZ2V0KCk7IH0KIAogICAg
IC8vIHN0eWxlLXJlbW92YWwgaGVscGVycworICAgIGJvb2wgc2hvdWxkUmVtb3ZlVGV4dERlY29y
YXRpb25UYWcoQ1NTU3R5bGVEZWNsYXJhdGlvbiogc3R5bGVUb0FwcGx5LCBpbnQgQ1NTRGVjb3Jh
dGlvbkFkZGVkQnlUYWcpIGNvbnN0OwogICAgIGJvb2wgaW1wbGljaXRseVN0eWxlZEVsZW1lbnRT
aG91bGRCZVJlbW92ZWRXaGVuQXBwbHlpbmdTdHlsZShIVE1MRWxlbWVudCosIENTU011dGFibGVT
dHlsZURlY2xhcmF0aW9uKik7CiAgICAgdm9pZCByZXBsYWNlV2l0aFNwYW5PclJlbW92ZUlmV2l0
aG91dEF0dHJpYnV0ZXMoSFRNTEVsZW1lbnQqJik7CiAgICAgdm9pZCByZW1vdmVIVE1MRm9udFN0
eWxlKENTU011dGFibGVTdHlsZURlY2xhcmF0aW9uKiwgSFRNTEVsZW1lbnQqKTsKSW5kZXg6IExh
eW91dFRlc3RzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJ
KHJldmlzaW9uIDQ2OTQwKQorKysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkp
CkBAIC0xLDMgKzEsMjMgQEAKKzIwMDktMDgtMDcgIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtp
dC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
QXBwbHlTdHlsZUNvbW1hbmQgcmVtb3ZlcyBwcmVzZW50YXRpb25hbCB0YWdzIGV2ZW4gd2hlbiBu
b3QgbmVjZXNzYXJ5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yODA5MQorCisgICAgICAgIFRoaXMgcGF0Y2ggYWRkcyB0ZXN0IHRvIG1ha2UgV2ViS2l0
IGRvZXMgbm90IHJlbW92ZSBwcmVzZW50YXRpb25hbCB0YWcgKHUsIHMsIHN0cmlrZSwgaSwgZW0s
IHN1cCwgc3ViLCBiLCAmIHN0cm9uZykKKyAgICAgICAgd2hlbiBpdCdzIG5vdCBuZWNlc3Nhcnku
CisKKyAgICAgICAgKiBlZGl0aW5nL2V4ZWNDb21tYW5kLzE5NjUzLTItZXhwZWN0ZWQudHh0OiBU
d28gYiBlbGVtZW50cyBhcmUgbWVyZ2VkLgorICAgICAgICAqIGVkaXRpbmcvZXhlY0NvbW1hbmQv
Y3JlYXRlTGluay1leHBlY3RlZC50eHQ6IFR3byBhbmNob3IgZWxlbWVudHMgYXJlIG1lcmdlZC4K
KyAgICAgICAgKiBlZGl0aW5nL2V4ZWNDb21tYW5kL3Jlc291cmNlcy90b2dnbGUtc3R5bGUtMy5q
czogQWRkZWQuCisgICAgICAgICh0ZXN0U2luZ2xlVG9nZ2xlKToKKyAgICAgICAgKiBlZGl0aW5n
L2V4ZWNDb21tYW5kL3RvZ2dsZS1zdHlsZS0zLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZWRpdGluZy9leGVjQ29tbWFuZC90b2dnbGUtc3R5bGUtMy5odG1sOiBBZGRlZC4KKyAgICAg
ICAgKiBlZGl0aW5nL2V4ZWNDb21tYW5kL3VubGluay1leHBlY3RlZC50eHQ6IFR3byBhbmNob3Ig
ZWxlbWVudHMgYXJlIG1lcmdlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZWRpdGluZy9zdHls
ZS81MjI4MTQxLWV4cGVjdGVkLnR4dDogVHdvIGIgZWxlbWVudHMgYXJlIG1lcmdlZC4KKyAgICAg
ICAgKiBwbGF0Zm9ybS9tYWMvZWRpdGluZy9zdHlsZS9zdHlsZS1ib3VuZGFyeS0wMDEtZXhwZWN0
ZWQudHh0OiBUd28gYiBlbGVtZW50cyBhcmUgbWVyZ2VkLgorCiAyMDA5LTA4LTA3ICBEYXJpbiBB
ZGxlciAgPGRhcmluQGFwcGxlLmNvbT4KIAogICAgICAgICAqIHBsYXRmb3JtL2d0ay9Ta2lwcGVk
OiBTa2lwIGEgbmV3bHktZmFpbGluZyB0ZXN0LiBJIGZpbGVkIGEgYnVnIGFib3V0IGl0IHRvby4K
SW5kZXg6IExheW91dFRlc3RzL2VkaXRpbmcvZXhlY0NvbW1hbmQvMTk2NTMtMi1leHBlY3RlZC50
eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZWRpdGluZy9leGVjQ29tbWFuZC8xOTY1My0y
LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNDY5MjApCisrKyBMYXlvdXRUZXN0cy9lZGl0aW5nL2V4
ZWNDb21tYW5kLzE5NjUzLTItZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0yLDQgKzIs
NCBAQCBUaGlzIHRlc3RzIHNwbGl0dGluZyB0d28gcGFyYWdyYXBocyB3aXRoCiB4PGRpdj48Yj5C
b2xkPC9iPng8L2Rpdj4KIAogVGhpcyB0ZXN0cyBzcGxpdHRpbmcgdHdvIHBhcmFncmFwaHMgd2l0
aCBJbnNlcnRMaW5lQnJlYWsgd2hpbGUgdGhlIHR5cGluZyBzdHlsZSBpcyBib2xkLiBOZXcgdGV4
dCBlbnRlcmVkIGFmdGVyIHRoZSBzcGxpdCBzaG91bGQgYmUgYm9sZC4gVGhlIGluc2VydGVkIDxi
cj4gZG9lc24ndCBuZWVkIHRvIGJlIHN1cnJvdW5kZWQgYnkgYSBib2xkIHRhZyBoZXJlLgoteDxi
Pjxicj48L2I+PGI+Qm9sZDwvYj54Cit4PGI+PGJyPkJvbGQ8L2I+eApJbmRleDogTGF5b3V0VGVz
dHMvZWRpdGluZy9leGVjQ29tbWFuZC9jcmVhdGVMaW5rLWV4cGVjdGVkLnR4dAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBMYXlvdXRUZXN0cy9lZGl0aW5nL2V4ZWNDb21tYW5kL2NyZWF0ZUxpbmstZXhwZWN0ZWQu
dHh0CShyZXZpc2lvbiA0NjkyMCkKKysrIExheW91dFRlc3RzL2VkaXRpbmcvZXhlY0NvbW1hbmQv
Y3JlYXRlTGluay1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTU5LDQgKzU5LDQgQEAg
aW5uZXJIVE1MIG9mIGVkaXRhYmxlIHJlZ2lvbnMgYWZ0ZXIgdGhlIAogPGEgaHJlZj0iaHR0cDov
L3d3dy5nb29nbGUuY29tLyI+VGhpcyBwYXJhZ3JhcGggc3RhcnRzIHVubGlua2VkLiBUaGUgZW50
aXJlIHBhcmFncmFwaCBzaG91bGQgZW5kIHVwIGJlaW5nIGEgbGluayB0byBnb29nbGUuY29tLjwv
YT4KIDxhIGhyZWY9Imh0dHA6Ly93d3cuYXBwbGUuY29tLyI+VGhpczwvYT48YSBocmVmPSJodHRw
Oi8vd3d3Lmdvb2dsZS5jb20vIj4gcGFyYWdyYXBoPC9hPjxhIGhyZWY9Imh0dHA6Ly93d3cuYXBw
bGUuY29tLyI+IHN0YXJ0cyBvdXQgYXMgYSBsaW5rIHRvIGFwcGxlLmNvbS4gVGhlIHNlY29uZCB3
b3JkIGluIHRoZSBwYXJhZ3JhcGggc2hvdWxkIGVuZCB1cCBiZWluZyBhIGxpbmsgdG8gZ29vZ2xl
LmNvbS48L2E+CiA8YSBocmVmPSJodHRwOi8vd3d3LmFwcGxlLmNvbS8iPlRoaXM8L2E+PGEgaHJl
Zj0iaHR0cDovL3d3dy5nb29nbGUuY29tLyI+IHBhcmFncmFwaDwvYT48YSBocmVmPSJodHRwOi8v
d3d3LmFwcGxlLmNvbS8iPiBzdGFydHMgb3V0IGFzIGEgbGluayB0byBhcHBsZS5jb20uIFRoZSBz
ZWNvbmQgd29yZCBpbiB0aGUgcGFyYWdyYXBoIHNob3VsZCBlbmQgdXAgYmVpbmcgYSBsaW5rIHRv
IGdvb2dsZS5jb20uPC9hPgotPHA+PGEgaHJlZj0iaHR0cDovL3d3dy5nb29nbGUuY29tLyI+VGhp
cyA8L2E+PGk+PGEgaHJlZj0iaHR0cDovL3d3dy5nb29nbGUuY29tLyI+ZWRpdGFibGUgcmVnaW9u
PC9hPjwvaT48YSBocmVmPSJodHRwOi8vd3d3Lmdvb2dsZS5jb20vIj4gY29udGFpbnMgbGlzdHMs
IHRhYmxlcywgc3R5bGVkIHRleHQsIGFuZCBpbWFnZXMuIFRoZSBlbnRpcmUgcmVnaW9uIHNob3Vs
ZCBlbmQgdXAgYmVpbmcgYSBsaW5rIHRvIGdvb2dsZS5jb20uPC9hPjwvcD4gPHVsPiA8bGk+PGEg
aHJlZj0iaHR0cDovL3d3dy5nb29nbGUuY29tLyI+SXRlbSAxPC9hPjwvbGk+IDxsaT48YSBocmVm
PSJodHRwOi8vd3d3Lmdvb2dsZS5jb20vIj5JdGVtIDI8L2E+PC9saT4gPC91bD4gPHRhYmxlIGJv
cmRlcj0iMSI+PHRib2R5Pjx0cj48dGQ+PGEgaHJlZj0iaHR0cDovL3d3dy5nb29nbGUuY29tLyI+
MTwvYT48L3RkPjx0ZD48YSBocmVmPSJodHRwOi8vd3d3Lmdvb2dsZS5jb20vIj4yPC9hPjwvdGQ+
PHRkPjxhIGhyZWY9Imh0dHA6Ly93d3cuZ29vZ2xlLmNvbS8iPjM8L2E+PC90ZD48L3RyPjwvdGJv
ZHk+PC90YWJsZT4gPGEgaHJlZj0iaHR0cDovL3d3dy5nb29nbGUuY29tLyI+PGJyPiBUaGlzIDwv
YT48Yj48YSBocmVmPSJodHRwOi8vd3d3Lmdvb2dsZS5jb20vIj5saW5lPC9hPjwvYj48YSBocmVm
PSJodHRwOi8vd3d3Lmdvb2dsZS5jb20vIj4gY29udGFpbnMgPC9hPjxhIGhyZWY9Imh0dHA6Ly93
d3cuZ29vZ2xlLmNvbS8iPjxpbWcgc3JjPSIuLi9yZXNvdXJjZXMvYWJlLnBuZyI+IGFuIGltYWdl
LiA8L2E+Cis8cD48YSBocmVmPSJodHRwOi8vd3d3Lmdvb2dsZS5jb20vIj5UaGlzIDwvYT48aT48
YSBocmVmPSJodHRwOi8vd3d3Lmdvb2dsZS5jb20vIj5lZGl0YWJsZSByZWdpb248L2E+PC9pPjxh
IGhyZWY9Imh0dHA6Ly93d3cuZ29vZ2xlLmNvbS8iPiBjb250YWlucyBsaXN0cywgdGFibGVzLCBz
dHlsZWQgdGV4dCwgYW5kIGltYWdlcy4gVGhlIGVudGlyZSByZWdpb24gc2hvdWxkIGVuZCB1cCBi
ZWluZyBhIGxpbmsgdG8gZ29vZ2xlLmNvbS48L2E+PC9wPiA8dWw+IDxsaT48YSBocmVmPSJodHRw
Oi8vd3d3Lmdvb2dsZS5jb20vIj5JdGVtIDE8L2E+PC9saT4gPGxpPjxhIGhyZWY9Imh0dHA6Ly93
d3cuZ29vZ2xlLmNvbS8iPkl0ZW0gMjwvYT48L2xpPiA8L3VsPiA8dGFibGUgYm9yZGVyPSIxIj48
dGJvZHk+PHRyPjx0ZD48YSBocmVmPSJodHRwOi8vd3d3Lmdvb2dsZS5jb20vIj4xPC9hPjwvdGQ+
PHRkPjxhIGhyZWY9Imh0dHA6Ly93d3cuZ29vZ2xlLmNvbS8iPjI8L2E+PC90ZD48dGQ+PGEgaHJl
Zj0iaHR0cDovL3d3dy5nb29nbGUuY29tLyI+MzwvYT48L3RkPjwvdHI+PC90Ym9keT48L3RhYmxl
PiA8YSBocmVmPSJodHRwOi8vd3d3Lmdvb2dsZS5jb20vIj48YnI+IFRoaXMgPC9hPjxiPjxhIGhy
ZWY9Imh0dHA6Ly93d3cuZ29vZ2xlLmNvbS8iPmxpbmU8L2E+PC9iPjxhIGhyZWY9Imh0dHA6Ly93
d3cuZ29vZ2xlLmNvbS8iPiBjb250YWlucyA8aW1nIHNyYz0iLi4vcmVzb3VyY2VzL2FiZS5wbmci
PiBhbiBpbWFnZS4gPC9hPgpJbmRleDogTGF5b3V0VGVzdHMvZWRpdGluZy9leGVjQ29tbWFuZC90
b2dnbGUtc3R5bGUtMy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZWRp
dGluZy9leGVjQ29tbWFuZC90b2dnbGUtc3R5bGUtMy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDAp
CisrKyBMYXlvdXRUZXN0cy9lZGl0aW5nL2V4ZWNDb21tYW5kL3RvZ2dsZS1zdHlsZS0zLWV4cGVj
dGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxMyBAQAorVGVzdCB0byBtYWtlIHN1cmUg
d2UgcmVtb3ZlIHNwYW4gdGFncyB3aXRoIG5vIGF0dHJpYnV0ZXMgaWYgd2UgcmVtb3ZlZCB0aGUg
bGFzdCBhdHRyaWJ1dGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIG9u
ZSBib2xkIGNvbW1hbmQgY29udmVydGVkIGhlbGxvPGIgaWQ9InRlc3QiPndvcmxkPC9iPiB0byA8
Yj5oZWxsbzwvYj48YiBpZD0idGVzdCI+d29ybGQ8L2I+CitQQVNTIG9uZSBib2xkIGNvbW1hbmQg
Y29udmVydGVkIGhlbGxvPGI+PGk+d29ybGQ8L2k+PC9iPiB0byA8Yj5oZWxsbzxpPndvcmxkPC9p
PjwvYj4KK1BBU1Mgb25lIGl0YWxpYyBjb21tYW5kIGNvbnZlcnRlZCBoZWxsbyA8aT53b3JsZDwv
aT4gPGI+d2Via2l0PC9iPiB0byA8aT5oZWxsbyB3b3JsZCA8L2k+PGI+PGk+d2Via2l0PC9pPjwv
Yj4KK1BBU1Mgb25lIGl0YWxpYyBjb21tYW5kIGNvbnZlcnRlZCBoZWxsbyA8aT53b3JsZDwvaT4g
d2Via2l0IHRvIDxpPmhlbGxvIHdvcmxkIHdlYmtpdDwvaT4KK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCkluZGV4OiBMYXlvdXRUZXN0cy9lZGl0aW5n
L2V4ZWNDb21tYW5kL3RvZ2dsZS1zdHlsZS0zLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvZWRpdGluZy9leGVjQ29tbWFuZC90b2dnbGUtc3R5bGUtMy5odG1sCShyZXZpc2lvbiAwKQor
KysgTGF5b3V0VGVzdHMvZWRpdGluZy9leGVjQ29tbWFuZC90b2dnbGUtc3R5bGUtMy5odG1sCShy
ZXZpc2lvbiAwKQpAQCAtMCwwICsxLDEzIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lF
VEYvL0RURCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0
IiBocmVmPSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2Ny
aXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0
PgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNv
bnNvbGUiPjwvZGl2PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy90b2dnbGUtc3R5bGUtMy5qcyI+
PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1w
b3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2Vk
aXRpbmcvZXhlY0NvbW1hbmQvdW5saW5rLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlv
dXRUZXN0cy9lZGl0aW5nL2V4ZWNDb21tYW5kL3VubGluay1leHBlY3RlZC50eHQJKHJldmlzaW9u
IDQ2OTIwKQorKysgTGF5b3V0VGVzdHMvZWRpdGluZy9leGVjQ29tbWFuZC91bmxpbmstZXhwZWN0
ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC02Niw0ICs2Niw0IEBAIFRoZSBpbm5lckhUTUwgb2Yg
ZWRpdGFibGUgcmVnaW9ucyBhZnRlciAKIFRoaXMgcGFyYWdyYXBoIHNob3VsZCBzaG91bGQgZW5k
IHVwIHVubGlua2VkLgogPGEgaHJlZj0iaHR0cDovL3d3dy5hcHBsZS5jb20vIj5UaGU8L2E+IHNl
Y29uZDxhIGhyZWY9Imh0dHA6Ly93d3cuYXBwbGUuY29tLyI+IHdvcmQgaW4gdGhpcyBwYXJhZ3Jh
cGggc2hvdWxkIGVuZCB1cCBiZWluZyB1bmxpbmtlZCwgZXZlcnl0aGluZyBlbHNlIHNob3VsZCBi
ZSBhIGxpbmsuPC9hPgogVGhpcyBwYXJhZ3JhcGggc3RhcnRzIHdpdGggPGk+PGEgaHJlZj0iaHR0
cDovL3d3dy5nb29nbGUuY29tIj5hPC9hPjwvaT48c3BhbiBpZD0idGVzdDNzdGFydCI+IGxpbms8
L3NwYW4+IGluIHRoZSBtaWRkbGUuIE9ubHkgdGhlICdhJyBpbiB0aGUgcHJldmlvdXMgc2VudGVu
Y2Ugc2hvdWxkIGJlIGxpbmtlZCBhZnRlciB0aGUgdGVzdC4KLTxwPlRoaXMgPGk+ZWRpdGFibGUg
cmVnaW9uPC9pPiBjb250YWlucyBsaXN0cywgdGFibGVzLCBzdHlsZWQgdGV4dCwgYW5kIGltYWdl
cy4gRXZlcnl0aGluZyBpbiB0aGlzIHJlZ2lvbiB0aGF0IGlzIG5vdCBzZWxlY3RlZCBzaG91bGQg
YmUgYSBsaW5rLCBub3RoaW5nIHRoYXQgaXMgc2VsZWN0ZWQgc2hvdWxkIGJlIGEgbGluay48L3A+
IDx1bD4gPGxpPkl0ZW0gMTwvbGk+IDxsaT5JdGVtIDI8L2xpPiA8L3VsPiA8dGFibGUgYm9yZGVy
PSIxIj48dGJvZHk+PHRyPjx0ZD4xPC90ZD48dGQ+MjwvdGQ+PHRkPjxzcGFuIGlkPSJ0ZXN0NGVu
ZCI+PGEgaHJlZj0iaHR0cDovL3d3dy5nb29nbGUuY29tLyI+MzwvYT48L3NwYW4+PC90ZD48L3Ry
PjwvdGJvZHk+PC90YWJsZT4gPGEgaHJlZj0iaHR0cDovL3d3dy5nb29nbGUuY29tLyI+PGJyPiBU
aGlzIDwvYT48Yj48YSBocmVmPSJodHRwOi8vd3d3Lmdvb2dsZS5jb20vIj5saW5lPC9hPjwvYj48
YSBocmVmPSJodHRwOi8vd3d3Lmdvb2dsZS5jb20vIj4gY29udGFpbnMgPC9hPjxhIGhyZWY9Imh0
dHA6Ly93d3cuZ29vZ2xlLmNvbS8iPjxpbWcgc3JjPSIuLi9yZXNvdXJjZXMvYWJlLnBuZyI+IGFu
IGltYWdlLiA8L2E+Cis8cD5UaGlzIDxpPmVkaXRhYmxlIHJlZ2lvbjwvaT4gY29udGFpbnMgbGlz
dHMsIHRhYmxlcywgc3R5bGVkIHRleHQsIGFuZCBpbWFnZXMuIEV2ZXJ5dGhpbmcgaW4gdGhpcyBy
ZWdpb24gdGhhdCBpcyBub3Qgc2VsZWN0ZWQgc2hvdWxkIGJlIGEgbGluaywgbm90aGluZyB0aGF0
IGlzIHNlbGVjdGVkIHNob3VsZCBiZSBhIGxpbmsuPC9wPiA8dWw+IDxsaT5JdGVtIDE8L2xpPiA8
bGk+SXRlbSAyPC9saT4gPC91bD4gPHRhYmxlIGJvcmRlcj0iMSI+PHRib2R5Pjx0cj48dGQ+MTwv
dGQ+PHRkPjI8L3RkPjx0ZD48c3BhbiBpZD0idGVzdDRlbmQiPjxhIGhyZWY9Imh0dHA6Ly93d3cu
Z29vZ2xlLmNvbS8iPjM8L2E+PC9zcGFuPjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+IDxhIGhy
ZWY9Imh0dHA6Ly93d3cuZ29vZ2xlLmNvbS8iPjxicj4gVGhpcyA8L2E+PGI+PGEgaHJlZj0iaHR0
cDovL3d3dy5nb29nbGUuY29tLyI+bGluZTwvYT48L2I+PGEgaHJlZj0iaHR0cDovL3d3dy5nb29n
bGUuY29tLyI+IGNvbnRhaW5zIDxpbWcgc3JjPSIuLi9yZXNvdXJjZXMvYWJlLnBuZyI+IGFuIGlt
YWdlLiA8L2E+CkluZGV4OiBMYXlvdXRUZXN0cy9lZGl0aW5nL2V4ZWNDb21tYW5kL3Jlc291cmNl
cy90b2dnbGUtc3R5bGUtMy5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9lZGl0aW5nL2V4
ZWNDb21tYW5kL3Jlc291cmNlcy90b2dnbGUtc3R5bGUtMy5qcwkocmV2aXNpb24gMCkKKysrIExh
eW91dFRlc3RzL2VkaXRpbmcvZXhlY0NvbW1hbmQvcmVzb3VyY2VzL3RvZ2dsZS1zdHlsZS0zLmpz
CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDI2IEBACitkZXNjcmlwdGlvbigiVGVzdCB0byBtYWtl
IHN1cmUgd2UgcmVtb3ZlIHNwYW4gdGFncyB3aXRoIG5vIGF0dHJpYnV0ZXMgaWYgd2UgcmVtb3Zl
ZCB0aGUgbGFzdCBhdHRyaWJ1dGUuIikKKwordmFyIHRlc3RDb250YWluZXIgPSBkb2N1bWVudC5j
cmVhdGVFbGVtZW50KCJkaXYiKTsKK3Rlc3RDb250YWluZXIuY29udGVudEVkaXRhYmxlID0gdHJ1
ZTsKK2RvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQodGVzdENvbnRhaW5lcik7CisKK2Z1bmN0aW9u
IHRlc3RTaW5nbGVUb2dnbGUodG9nZ2xlQ29tbWFuZCwgaW5pdGlhbENvbnRlbnRzLCBleHBlY3Rl
ZENvbnRlbnRzKQoreworICAgIHRlc3RDb250YWluZXIuaW5uZXJIVE1MID0gaW5pdGlhbENvbnRl
bnRzOworICAgIHdpbmRvdy5nZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbih0ZXN0Q29u
dGFpbmVyKTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCh0b2dnbGVDb21tYW5kLCBmYWxzZSwg
bnVsbCk7CisgICAgaWYgKHRlc3RDb250YWluZXIuaW5uZXJIVE1MID09PSBleHBlY3RlZENvbnRl
bnRzKSB7CisgICAgICAgIHRlc3RQYXNzZWQoIm9uZSAiICsgdG9nZ2xlQ29tbWFuZCArICIgY29t
bWFuZCBjb252ZXJ0ZWQgIiArIGluaXRpYWxDb250ZW50cyArICIgdG8gIiArIGV4cGVjdGVkQ29u
dGVudHMpOworICAgIH0gZWxzZSB7CisgICAgICAgIHRlc3RGYWlsZWQoIm9uZSAiICsgdG9nZ2xl
Q29tbWFuZCArICIgY29tbWFuZCBjb252ZXJ0ZWQgIiArIGluaXRpYWxDb250ZW50cyArICIgdG8g
IiArIHRlc3RDb250YWluZXIuaW5uZXJIVE1MICsgIiwgZXhwZWN0ZWQgIiArIGV4cGVjdGVkQ29u
dGVudHMpOworICAgIH0KK30KKwordGVzdFNpbmdsZVRvZ2dsZSgiYm9sZCIsICdoZWxsbzxiIGlk
PSJ0ZXN0Ij53b3JsZDwvYj4nLCAnPGI+aGVsbG88L2I+PGIgaWQ9InRlc3QiPndvcmxkPC9iPicp
OwordGVzdFNpbmdsZVRvZ2dsZSgiYm9sZCIsICdoZWxsbzxiPjxpPndvcmxkPC9pPjwvYj4nLCAn
PGI+aGVsbG88aT53b3JsZDwvaT48L2I+Jyk7Cit0ZXN0U2luZ2xlVG9nZ2xlKCJpdGFsaWMiLCAn
aGVsbG8gPGk+d29ybGQ8L2k+IDxiPndlYmtpdDwvYj4nLCAnPGk+aGVsbG8gd29ybGQgPC9pPjxi
PjxpPndlYmtpdDwvaT48L2I+Jyk7Cit0ZXN0U2luZ2xlVG9nZ2xlKCJpdGFsaWMiLCAnaGVsbG8g
PGk+d29ybGQ8L2k+IHdlYmtpdCcsICc8aT5oZWxsbyB3b3JsZCB3ZWJraXQ8L2k+Jyk7CisKK2Rv
Y3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQodGVzdENvbnRhaW5lcik7CisKK3ZhciBzdWNjZXNzZnVs
bHlQYXJzZWQgPSB0cnVlOwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5kZXg6IExheW91
dFRlc3RzL3BsYXRmb3JtL21hYy9lZGl0aW5nL3N0eWxlLzUyMjgxNDEtZXhwZWN0ZWQudHh0Cj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9lZGl0aW5nL3N0eWxlLzUyMjgx
NDEtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiA0NjkyMCkKKysrIExheW91dFRlc3RzL3BsYXRmb3Jt
L21hYy9lZGl0aW5nL3N0eWxlLzUyMjgxNDEtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBA
IC0xMSwxMCArMTEsOSBAQCBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgICAgICAgICBS
ZW5kZXJJbmxpbmUge0J9IGF0ICgwLDApIHNpemUgMHgxOAogICAgICAgICAgICAgUmVuZGVyQlIg
e0JSfSBhdCAoMCwwKSBzaXplIDB4MTgKICAgICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAs
MTgpIHNpemUgNzg0eDEwNwotICAgICAgICAgIFJlbmRlcklubGluZSB7Qn0gYXQgKDAsMCkgc2l6
ZSAxNjZ4MTgKKyAgICAgICAgICBSZW5kZXJJbmxpbmUge0J9IGF0ICgwLDApIHNpemUgMjQyeDE4
CiAgICAgICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsODkpIHNpemUgMTY2eDE4CiAg
ICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDg5KSB3aWR0aCAxNjY6ICJUaGlzIHRleHQgc2hv
dWxkIGJlIGJvbGQuIgotICAgICAgICAgIFJlbmRlcklubGluZSB7Qn0gYXQgKDAsMCkgc2l6ZSA3
NngxOAogICAgICAgICAgICAgUmVuZGVySW1hZ2Uge0lNR30gYXQgKDE2NiwwKSBzaXplIDc2eDEw
Mwogc2VsZWN0aW9uIHN0YXJ0OiBwb3NpdGlvbiAwIG9mIGNoaWxkIDAge0JSfSBvZiBjaGlsZCAw
IHtCfSBvZiBjaGlsZCAyIHtESVZ9IG9mIGNoaWxkIDEge0JPRFl9IG9mIGNoaWxkIDAge0hUTUx9
IG9mIGRvY3VtZW50Ci1zZWxlY3Rpb24gZW5kOiAgIHBvc2l0aW9uIDEgb2YgY2hpbGQgMCB7SU1H
fSBvZiBjaGlsZCAxIHtCfSBvZiBjaGlsZCAxIHtESVZ9IG9mIGNoaWxkIDIge0RJVn0gb2YgY2hp
bGQgMSB7Qk9EWX0gb2YgY2hpbGQgMCB7SFRNTH0gb2YgZG9jdW1lbnQKK3NlbGVjdGlvbiBlbmQ6
ICAgcG9zaXRpb24gMSBvZiBjaGlsZCAxIHtJTUd9IG9mIGNoaWxkIDAge0J9IG9mIGNoaWxkIDEg
e0RJVn0gb2YgY2hpbGQgMiB7RElWfSBvZiBjaGlsZCAxIHtCT0RZfSBvZiBjaGlsZCAwIHtIVE1M
fSBvZiBkb2N1bWVudApJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2VkaXRpbmcvc3R5
bGUvc3R5bGUtYm91bmRhcnktMDAxLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRU
ZXN0cy9wbGF0Zm9ybS9tYWMvZWRpdGluZy9zdHlsZS9zdHlsZS1ib3VuZGFyeS0wMDEtZXhwZWN0
ZWQudHh0CShyZXZpc2lvbiA0NjkyMCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9lZGl0
aW5nL3N0eWxlL3N0eWxlLWJvdW5kYXJ5LTAwMS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkK
QEAgLTMxLDExICszMSwxMCBAQCBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgICAgICAg
ICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKICAgICAgIFJlbmRlckJsb2Nr
IHtESVZ9IGF0ICgwLDE4MCkgc2l6ZSA3ODR4MzIKICAgICAgICAgUmVuZGVyQmxvY2sge0RJVn0g
YXQgKDAsMCkgc2l6ZSA3ODR4MzIgW2JvcmRlcjogKDJweCBzb2xpZCAjRkYwMDAwKV0KLSAgICAg
ICAgICBSZW5kZXJJbmxpbmUge0J9IGF0ICgwLDApIHNpemUgMTJ4MjgKKyAgICAgICAgICBSZW5k
ZXJJbmxpbmUge0J9IGF0ICgwLDApIHNpemUgMjV4MjgKICAgICAgICAgICAgIFJlbmRlclRleHQg
eyN0ZXh0fSBhdCAoMiwyKSBzaXplIDEyeDI4CiAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgy
LDIpIHdpZHRoIDEyOiAiYSIKLSAgICAgICAgICBSZW5kZXJJbmxpbmUge0J9IGF0ICgwLDApIHNp
emUgMTN4MjgKICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMTQsMikgc2l6ZSAx
M3gyOAogICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTQsMikgd2lkdGggMTM6ICJiIgotc2Vs
ZWN0aW9uIHN0YXJ0OiBwb3NpdGlvbiAwIG9mIGNoaWxkIDAgeyN0ZXh0fSBvZiBjaGlsZCAxIHtC
fSBvZiBjaGlsZCAxIHtESVZ9IG9mIGNoaWxkIDMge0RJVn0gb2YgY2hpbGQgMSB7Qk9EWX0gb2Yg
Y2hpbGQgMCB7SFRNTH0gb2YgZG9jdW1lbnQKLXNlbGVjdGlvbiBlbmQ6ICAgcG9zaXRpb24gMSBv
ZiBjaGlsZCAwIHsjdGV4dH0gb2YgY2hpbGQgMSB7Qn0gb2YgY2hpbGQgMSB7RElWfSBvZiBjaGls
ZCAzIHtESVZ9IG9mIGNoaWxkIDEge0JPRFl9IG9mIGNoaWxkIDAge0hUTUx9IG9mIGRvY3VtZW50
CitzZWxlY3Rpb24gc3RhcnQ6IHBvc2l0aW9uIDAgb2YgY2hpbGQgMSB7I3RleHR9IG9mIGNoaWxk
IDAge0J9IG9mIGNoaWxkIDEge0RJVn0gb2YgY2hpbGQgMyB7RElWfSBvZiBjaGlsZCAxIHtCT0RZ
fSBvZiBjaGlsZCAwIHtIVE1MfSBvZiBkb2N1bWVudAorc2VsZWN0aW9uIGVuZDogICBwb3NpdGlv
biAxIG9mIGNoaWxkIDEgeyN0ZXh0fSBvZiBjaGlsZCAwIHtCfSBvZiBjaGlsZCAxIHtESVZ9IG9m
IGNoaWxkIDMge0RJVn0gb2YgY2hpbGQgMSB7Qk9EWX0gb2YgY2hpbGQgMCB7SFRNTH0gb2YgZG9j
dW1lbnQK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>38971</attachid>
            <date>2009-09-03 00:58:59 -0700</date>
            <delta_ts>2009-10-06 09:42:13 -0700</delta_ts>
            <desc>new patch</desc>
            <filename>fix28091b</filename>
            <type>text/plain</type>
            <size>29412</size>
            <attacher name="Ryosuke Niwa">rniwa</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0ODAwNSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjQgQEAKKzIwMDktMDktMDMgIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5v
cmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQXBw
bHlTdHlsZUNvbW1hbmQgcmVtb3ZlcyBwcmVzZW50YXRpb25hbCB0YWdzIGV2ZW4gd2hlbiBub3Qg
bmVjZXNzYXJ5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0yODA5MQorCisgICAgICAgIFRoaXMgcGF0Y2ggdXBkYXRlcyBpbXBsaWNpdGx5U3R5bGVkRWxl
bWVudFNob3VsZEJlUmVtb3ZlZFdoZW5BcHBseWluZ1N0eWxlIHRvIHJldHVybiB0cnVlICh0cmln
Z2VyaW5nIHJlbW92YWwgb2YgdGFnKQorICAgICAgICBvbmx5IGlmIHRoZSBzdHlsZSBpbXBsaWNp
dGx5IGFkZGVkIGJ5IHRoZSBlbGVtZW50IGlzIG5vdCBwcmVzZW50IGluIHRoZSBuZXcgc3R5bGUg
dG8gYXBwbHkuCisgICAgICAgIEl0IGFsc28gY2hhbmdlcyBzdXJyb3VuZE5vZGVSYW5nZVdpdGhF
bGVtZW50IHNvIHRoYXQgaXQgbWVyZ2VzIHRoZSBzdXJyb3VuZGluZyBlbGVtZW50IHdoZW4gcG9z
c2libGUuCisgICAgICAgIGFwcGx5VGV4dERlY29yYXRpb25TdHlsZSBpcyBtb2RpZmllZCBzbyB0
aGF0IGl0IGRvZXMgbm90IGFkZCBzdHlsZSBzcGFuIHdoZW4gdGhlIHN0eWxlIGF0dHJpYnV0ZSBp
cyBlbXB0eS4KKworICAgICAgICBUZXN0OiBlZGl0aW5nL2V4ZWNDb21tYW5kL3RvZ2dsZS1zdHls
ZS0zLmh0bWwKKworICAgICAgICAqIGVkaXRpbmcvQXBwbHlTdHlsZUNvbW1hbmQuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6QXBwbHlTdHlsZUNvbW1hbmQ6OnNob3VsZFJlbW92ZVRleHREZWNvcmF0
aW9uVGFnKTogUmV0dXJucyB0cnVlIGlmIHNwZWNpZmllZCB0ZXh0IGRlY29yYXRpb24gaXMgbm90
IHByZXNlbnQgaW4gdGhlIHN0eWxlIHRvIGFwcGx5CisgICAgICAgIChXZWJDb3JlOjpBcHBseVN0
eWxlQ29tbWFuZDo6aW1wbGljaXRseVN0eWxlZEVsZW1lbnRTaG91bGRCZVJlbW92ZWRXaGVuQXBw
bHlpbmdTdHlsZSk6IE5vIGxvbmdlciByZXR1cm5zIHRydWUgaWYgdGhlIHRhZyBpcyB1c2VkIGlu
IG5ldyBzdHlsZQorICAgICAgICAoV2ViQ29yZTo6QXBwbHlTdHlsZUNvbW1hbmQ6OmFwcGx5VGV4
dERlY29yYXRpb25TdHlsZSk6IERvZXMgbm90IGFkZCBzdHlsZS1zcGFuIHdoZW4gcmVkdW5kYW50
CisgICAgICAgIChXZWJDb3JlOjpBcHBseVN0eWxlQ29tbWFuZDo6c3Vycm91bmROb2RlUmFuZ2VX
aXRoRWxlbWVudCk6IE1lcmdlcyB0aGUgbmV3bHkgY3JlYXRlZCBlbGVtZW50IHdpdGggdGhlIHN1
cnJvdW5kaW5nIGlkZW50aWNhbCBlbGVtZW50cworICAgICAgICAqIGVkaXRpbmcvQXBwbHlTdHls
ZUNvbW1hbmQuaDoKKwogMjAwOS0wOS0wMiAgQnJhZHkgRWlkc29uICA8YmVpZHNvbkBhcHBsZS5j
b20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCkluZGV4OiBXZWJDb3JlL2Vk
aXRpbmcvQXBwbHlTdHlsZUNvbW1hbmQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvZWRpdGlu
Zy9BcHBseVN0eWxlQ29tbWFuZC5jcHAJKHJldmlzaW9uIDQ4MDA0KQorKysgV2ViQ29yZS9lZGl0
aW5nL0FwcGx5U3R5bGVDb21tYW5kLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTA3NSw2ICsxMDc1
LDIzIEBAIHZvaWQgQXBwbHlTdHlsZUNvbW1hbmQ6OmFwcGx5SW5saW5lU3R5bGUKICAgICB9CiB9
CiAKK2Jvb2wgQXBwbHlTdHlsZUNvbW1hbmQ6OnNob3VsZFJlbW92ZVRleHREZWNvcmF0aW9uVGFn
KENTU1N0eWxlRGVjbGFyYXRpb24qIHN0eWxlVG9BcHBseSwgaW50IENTU0RlY29yYXRpb25BZGRl
ZEJ5VGFnKSBjb25zdAoreworICAgIC8vIEhvbm9yIHRleHQtZGVjb3JhdGlvbnMtaW4tZWZmZWN0
CisgICAgUmVmUHRyPENTU1ZhbHVlPiB0ZXh0RGVjb3JhdGlvbnNUb0FwcGx5ID0gc3R5bGVUb0Fw
cGx5LT5nZXRQcm9wZXJ0eUNTU1ZhbHVlKENTU1Byb3BlcnR5V2Via2l0VGV4dERlY29yYXRpb25z
SW5FZmZlY3QpOworICAgIGlmICghdGV4dERlY29yYXRpb25zVG9BcHBseSB8fCAhdGV4dERlY29y
YXRpb25zVG9BcHBseS0+aXNWYWx1ZUxpc3QoKSkKKyAgICAgICAgdGV4dERlY29yYXRpb25zVG9B
cHBseSA9IHN0eWxlVG9BcHBseS0+Z2V0UHJvcGVydHlDU1NWYWx1ZShDU1NQcm9wZXJ0eVRleHRE
ZWNvcmF0aW9uKTsKKworICAgIC8vIFdoZW4gdGhlcmUgaXMgbm8gdGV4dCBkZWNvcmF0aW9ucyB0
byBhcHBseSwgcmVtb3ZlIGFueSBvbmUgb2YgdSwgcywgJiBzdHJpa2UKKyAgICBpZiAoIXRleHRE
ZWNvcmF0aW9uc1RvQXBwbHkgfHwgIXRleHREZWNvcmF0aW9uc1RvQXBwbHktPmlzVmFsdWVMaXN0
KCkpCisgICAgICAgIHJldHVybiB0cnVlOworCisgICAgLy8gUmVtb3ZlIG5vZGUgaWYgaXQgaW1w
bGljaXRseSBhZGRzIHN0eWxlIG5vdCBwcmVzZW50IGluIHN0eWxlVG9BcHBseQorICAgIENTU1Zh
bHVlTGlzdCogdmFsdWVMaXN0ID0gc3RhdGljX2Nhc3Q8Q1NTVmFsdWVMaXN0Kj4odGV4dERlY29y
YXRpb25zVG9BcHBseS5nZXQoKSk7CisgICAgUmVmUHRyPENTU1ByaW1pdGl2ZVZhbHVlPiB2YWx1
ZSA9IENTU1ByaW1pdGl2ZVZhbHVlOjpjcmVhdGVJZGVudGlmaWVyKENTU0RlY29yYXRpb25BZGRl
ZEJ5VGFnKTsKKyAgICByZXR1cm4gIXZhbHVlTGlzdC0+aGFzVmFsdWUodmFsdWUuZ2V0KCkpOwor
fQorCiAvLyBUaGlzIGZ1bmN0aW9uIG1hcHMgZnJvbSBzdHlsaW5nIHRhZ3MgdG8gQ1NTIHN0eWxl
cy4gIFVzZWQgZm9yIGtub3dpbmcgd2hpY2gKIC8vIHN0eWxpbmcgdGFncyBzaG91bGQgYmUgcmVt
b3ZlZCB3aGVuIHRvZ2dsaW5nIHN0eWxlcy4KIGJvb2wgQXBwbHlTdHlsZUNvbW1hbmQ6OmltcGxp
Y2l0bHlTdHlsZWRFbGVtZW50U2hvdWxkQmVSZW1vdmVkV2hlbkFwcGx5aW5nU3R5bGUoSFRNTEVs
ZW1lbnQqIGVsZW0sIENTU011dGFibGVTdHlsZURlY2xhcmF0aW9uKiBzdHlsZSkKQEAgLTEwODgs
MzYgKzExMDUsMjUgQEAgYm9vbCBBcHBseVN0eWxlQ29tbWFuZDo6aW1wbGljaXRseVN0eWxlZAog
ICAgICAgICBjYXNlIENTU1Byb3BlcnR5Rm9udFdlaWdodDoKICAgICAgICAgICAgIC8vIElFIGlu
c2VydHMgInN0cm9uZyIgdGFncyBmb3IgZXhlY0NvbW1hbmQoImJvbGQiKSwgc28gd2UgcmVtb3Zl
IHRoZW0sIGV2ZW4gdGhvdWdoIHRoZXkncmUgbm90IHN0cmljdGx5IHByZXNlbnRhdGlvbmFsCiAg
ICAgICAgICAgICBpZiAoZWxlbS0+aGFzTG9jYWxOYW1lKGJUYWcpIHx8IGVsZW0tPmhhc0xvY2Fs
TmFtZShzdHJvbmdUYWcpKQotICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgICAgICAg
ICAgICAgIHJldHVybiAhZXF1YWxJZ25vcmluZ0Nhc2UocHJvcGVydHkudmFsdWUoKS0+Y3NzVGV4
dCgpLCAiYm9sZCIpIHx8ICFlbGVtLT5oYXNDaGlsZE5vZGVzKCk7CiAgICAgICAgICAgICBicmVh
azsKICAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eVZlcnRpY2FsQWxpZ246Ci0gICAgICAgICAgICBp
ZiAoZWxlbS0+aGFzTG9jYWxOYW1lKHN1YlRhZykgfHwgZWxlbS0+aGFzTG9jYWxOYW1lKHN1cFRh
ZykpCi0gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICAgICAgICBpZiAoZWxlbS0+
aGFzTG9jYWxOYW1lKHN1YlRhZykpCisgICAgICAgICAgICAgICAgcmV0dXJuICFlcXVhbElnbm9y
aW5nQ2FzZShwcm9wZXJ0eS52YWx1ZSgpLT5jc3NUZXh0KCksICJzdWIiKSB8fCAhZWxlbS0+aGFz
Q2hpbGROb2RlcygpOworICAgICAgICAgICAgaWYgKGVsZW0tPmhhc0xvY2FsTmFtZShzdXBUYWcp
KQorICAgICAgICAgICAgICAgIHJldHVybiAhZXF1YWxJZ25vcmluZ0Nhc2UocHJvcGVydHkudmFs
dWUoKS0+Y3NzVGV4dCgpLCAic3VwIikgfHwgIWVsZW0tPmhhc0NoaWxkTm9kZXMoKTsKICAgICAg
ICAgICAgIGJyZWFrOwogICAgICAgICBjYXNlIENTU1Byb3BlcnR5Rm9udFN0eWxlOgogICAgICAg
ICAgICAgLy8gSUUgaW5zZXJ0cyAiZW0iIHRhZ3MgZm9yIGV4ZWNDb21tYW5kKCJpdGFsaWMiKSwg
c28gd2UgcmVtb3ZlIHRoZW0sIGV2ZW4gdGhvdWdoIHRoZXkncmUgbm90IHN0cmljdGx5IHByZXNl
bnRhdGlvbmFsCiAgICAgICAgICAgICBpZiAoZWxlbS0+aGFzTG9jYWxOYW1lKGlUYWcpIHx8IGVs
ZW0tPmhhc0xvY2FsTmFtZShlbVRhZykpCi0gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7Cisg
ICAgICAgICAgICAgICAgcmV0dXJuICFlcXVhbElnbm9yaW5nQ2FzZShwcm9wZXJ0eS52YWx1ZSgp
LT5jc3NUZXh0KCksICJpdGFsaWMiKSB8fCAhZWxlbS0+aGFzQ2hpbGROb2RlcygpOwogICAgICAg
ICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgQ1NTUHJvcGVydHlUZXh0RGVjb3JhdGlvbjoKICAg
ICAgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdFRleHREZWNvcmF0aW9uc0luRWZmZWN0OgotICAg
ICAgICAgICAgICAgIEFTU0VSVChwcm9wZXJ0eS52YWx1ZSgpKTsKLSAgICAgICAgICAgICAgICBp
ZiAocHJvcGVydHkudmFsdWUoKS0+aXNWYWx1ZUxpc3QoKSkgewotICAgICAgICAgICAgICAgICAg
ICBDU1NWYWx1ZUxpc3QqIHZhbHVlTGlzdCA9IHN0YXRpY19jYXN0PENTU1ZhbHVlTGlzdCo+KHBy
b3BlcnR5LnZhbHVlKCkpOwotICAgICAgICAgICAgICAgICAgICBERUZJTkVfU1RBVElDX0xPQ0FM
KFJlZlB0cjxDU1NQcmltaXRpdmVWYWx1ZT4sIHVuZGVybGluZSwgKENTU1ByaW1pdGl2ZVZhbHVl
OjpjcmVhdGVJZGVudGlmaWVyKENTU1ZhbHVlVW5kZXJsaW5lKSkpOwotICAgICAgICAgICAgICAg
ICAgICBERUZJTkVfU1RBVElDX0xPQ0FMKFJlZlB0cjxDU1NQcmltaXRpdmVWYWx1ZT4sIGxpbmVU
aHJvdWdoLCAoQ1NTUHJpbWl0aXZlVmFsdWU6OmNyZWF0ZUlkZW50aWZpZXIoQ1NTVmFsdWVMaW5l
VGhyb3VnaCkpKTsKLSAgICAgICAgICAgICAgICAgICAgLy8gQmVjYXVzZSBzdHlsZSBpcyBuZXcg
c3R5bGUgdG8gYmUgYXBwbGllZCwgd2UgZGVsZXRlIGVsZW1lbnQgb25seSBpZiB0aGUgZWxlbWVu
dCBpcyBub3QgdXNlZCBpbiBzdHlsZS4KLSAgICAgICAgICAgICAgICAgICAgaWYgKCF2YWx1ZUxp
c3QtPmhhc1ZhbHVlKHVuZGVybGluZS5nZXQoKSkgJiYgZWxlbS0+aGFzTG9jYWxOYW1lKHVUYWcp
KQotICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAgICAgICAgICAgICAg
ICAgIGlmICghdmFsdWVMaXN0LT5oYXNWYWx1ZShsaW5lVGhyb3VnaC5nZXQoKSkgJiYgKGVsZW0t
Pmhhc0xvY2FsTmFtZShzdHJpa2VUYWcpIHx8IGVsZW0tPmhhc0xvY2FsTmFtZShzVGFnKSkpCi0g
ICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICAgICAgICAgICAgICB9IGVs
c2UgewotICAgICAgICAgICAgICAgICAgICAvLyBJZiB0aGUgdmFsdWUgaXMgTk9UIGEgbGlzdCwg
dGhlbiBpdCBtdXN0IGJlICJub25lIiwgaW4gd2hpY2ggY2FzZSB3ZSBzaG91bGQgcmVtb3ZlIGFs
bCB0ZXh0IGRlY29yYXRpb25zLgotICAgICAgICAgICAgICAgICAgICBBU1NFUlQocHJvcGVydHku
dmFsdWUoKS0+Y3NzVGV4dCgpID09ICJub25lIik7Ci0gICAgICAgICAgICAgICAgICAgIGlmIChl
bGVtLT5oYXNMb2NhbE5hbWUodVRhZykgfHwgZWxlbS0+aGFzTG9jYWxOYW1lKHN0cmlrZVRhZykg
fHwgZWxlbS0+aGFzTG9jYWxOYW1lKHNUYWcpKQotICAgICAgICAgICAgICAgICAgICAgICAgcmV0
dXJuIHRydWU7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgIGJyZWFrOworICAg
ICAgICAgICAgICAgIGlmIChlbGVtLT5oYXNMb2NhbE5hbWUodVRhZykpCisgICAgICAgICAgICAg
ICAgICAgIHJldHVybiBzaG91bGRSZW1vdmVUZXh0RGVjb3JhdGlvblRhZyhzdHlsZSwgQ1NTVmFs
dWVVbmRlcmxpbmUpIHx8ICFlbGVtLT5oYXNDaGlsZE5vZGVzKCk7CisgICAgICAgICAgICAgICAg
ZWxzZSBpZiAoZWxlbS0+aGFzTG9jYWxOYW1lKHNUYWcpIHx8IGVsZW0tPmhhc1RhZ05hbWUoc3Ry
aWtlVGFnKSkKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHNob3VsZFJlbW92ZVRleHREZWNv
cmF0aW9uVGFnKHN0eWxlLENTU1ZhbHVlTGluZVRocm91Z2gpIHx8ICFlbGVtLT5oYXNDaGlsZE5v
ZGVzKCk7CiAgICAgICAgIH0KICAgICB9CiAgICAgcmV0dXJuIGZhbHNlOwpAQCAtMTMwMywxOSAr
MTMwOSwxOCBAQCB2b2lkIEFwcGx5U3R5bGVDb21tYW5kOjphcHBseVRleHREZWNvcmF0CiAgICAg
aWYgKCFzdHlsZSB8fCBzdHlsZS0+Y3NzVGV4dCgpLmlzRW1wdHkoKSkKICAgICAgICAgcmV0dXJu
OwogCi0gICAgaWYgKG5vZGUtPmlzVGV4dE5vZGUoKSkgewotICAgICAgICBSZWZQdHI8SFRNTEVs
ZW1lbnQ+IHN0eWxlU3BhbiA9IGNyZWF0ZVN0eWxlU3BhbkVsZW1lbnQoZG9jdW1lbnQoKSk7Ci0g
ICAgICAgIHN1cnJvdW5kTm9kZVJhbmdlV2l0aEVsZW1lbnQobm9kZSwgbm9kZSwgc3R5bGVTcGFu
LmdldCgpKTsKLSAgICAgICAgbm9kZSA9IHN0eWxlU3Bhbi5nZXQoKTsKLSAgICB9Ci0KLSAgICBp
ZiAoIW5vZGUtPmlzRWxlbWVudE5vZGUoKSkKLSAgICAgICAgcmV0dXJuOworICAgIFN0eWxlQ2hh
bmdlIHN0eWxlQ2hhbmdlKHN0eWxlLCBQb3NpdGlvbihub2RlLCAwKSk7CisgICAgaWYgKHN0eWxl
Q2hhbmdlLmNzc1N0eWxlKCkubGVuZ3RoKCkpIHsKKyAgICAgICAgaWYgKG5vZGUtPmlzVGV4dE5v
ZGUoKSkgeworICAgICAgICAgICAgUmVmUHRyPEhUTUxFbGVtZW50PiBzdHlsZVNwYW4gPSBjcmVh
dGVTdHlsZVNwYW5FbGVtZW50KGRvY3VtZW50KCkpOworICAgICAgICAgICAgc3Vycm91bmROb2Rl
UmFuZ2VXaXRoRWxlbWVudChub2RlLCBub2RlLCBzdHlsZVNwYW4uZ2V0KCkpOworICAgICAgICAg
ICAgbm9kZSA9IHN0eWxlU3Bhbi5nZXQoKTsKKyAgICAgICAgfQogCi0gICAgSFRNTEVsZW1lbnQg
KmVsZW1lbnQgPSBzdGF0aWNfY2FzdDxIVE1MRWxlbWVudCAqPihub2RlKTsKKyAgICAgICAgaWYg
KCFub2RlLT5pc0VsZW1lbnROb2RlKCkpCisgICAgICAgICAgICByZXR1cm47CiAKLSAgICBTdHls
ZUNoYW5nZSBzdHlsZUNoYW5nZShzdHlsZSwgUG9zaXRpb24oZWxlbWVudCwgMCkpOwotICAgIGlm
IChzdHlsZUNoYW5nZS5jc3NTdHlsZSgpLmxlbmd0aCgpKSB7CisgICAgICAgIEhUTUxFbGVtZW50
ICplbGVtZW50ID0gc3RhdGljX2Nhc3Q8SFRNTEVsZW1lbnQgKj4obm9kZSk7CiAgICAgICAgIFN0
cmluZyBjc3NUZXh0ID0gc3R5bGVDaGFuZ2UuY3NzU3R5bGUoKTsKICAgICAgICAgQ1NTTXV0YWJs
ZVN0eWxlRGVjbGFyYXRpb24gKmRlY2wgPSBlbGVtZW50LT5pbmxpbmVTdHlsZURlY2woKTsKICAg
ICAgICAgaWYgKGRlY2wpCkBAIC0xNjc0LDYgKzE2NzksMjAgQEAgdm9pZCBBcHBseVN0eWxlQ29t
bWFuZDo6c3Vycm91bmROb2RlUmFuZwogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIG5vZGUg
PSBuZXh0OwogICAgIH0KKworICAgIE5vZGUqIG5leHRTaWJsaW5nID0gZWxlbWVudC0+bmV4dFNp
YmxpbmcoKTsKKyAgICBOb2RlKiBwcmV2aW91c1NpYmxpbmcgPSBlbGVtZW50LT5wcmV2aW91c1Np
YmxpbmcoKTsKKyAgICBpZiAobmV4dFNpYmxpbmcgJiYgbmV4dFNpYmxpbmctPmlzRWxlbWVudE5v
ZGUoKSAmJiBuZXh0U2libGluZy0+aXNDb250ZW50RWRpdGFibGUoKQorICAgICAgICAmJiBhcmVJ
ZGVudGljYWxFbGVtZW50cyhlbGVtZW50LmdldCgpLCBzdGF0aWNfY2FzdDxFbGVtZW50Kj4obmV4
dFNpYmxpbmcpKSkKKyAgICAgICAgbWVyZ2VJZGVudGljYWxFbGVtZW50cyhlbGVtZW50LCBzdGF0
aWNfY2FzdDxFbGVtZW50Kj4obmV4dFNpYmxpbmcpKTsKKworICAgIGlmIChwcmV2aW91c1NpYmxp
bmcgJiYgcHJldmlvdXNTaWJsaW5nLT5pc0VsZW1lbnROb2RlKCkgJiYgcHJldmlvdXNTaWJsaW5n
LT5pc0NvbnRlbnRFZGl0YWJsZSgpKSB7CisgICAgICAgIE5vZGUqIG1lcmdlZEVsZW1lbnQgPSBw
cmV2aW91c1NpYmxpbmctPm5leHRTaWJsaW5nKCk7CisgICAgICAgIGlmIChtZXJnZWRFbGVtZW50
LT5pc0VsZW1lbnROb2RlKCkgJiYgbWVyZ2VkRWxlbWVudC0+aXNDb250ZW50RWRpdGFibGUoKQor
ICAgICAgICAgICAgJiYgYXJlSWRlbnRpY2FsRWxlbWVudHMoc3RhdGljX2Nhc3Q8RWxlbWVudCo+
KHByZXZpb3VzU2libGluZyksIHN0YXRpY19jYXN0PEVsZW1lbnQqPihtZXJnZWRFbGVtZW50KSkp
CisgICAgICAgICAgICBtZXJnZUlkZW50aWNhbEVsZW1lbnRzKHN0YXRpY19jYXN0PEVsZW1lbnQq
PihwcmV2aW91c1NpYmxpbmcpLCBzdGF0aWNfY2FzdDxFbGVtZW50Kj4obWVyZ2VkRWxlbWVudCkp
OworICAgIH0KKwogICAgIC8vIEZJWE1FOiBXZSBzaG91bGQgcHJvYmFibHkgY2FsbCB1cGRhdGVT
dGFydEVuZCBpZiB0aGUgc3RhcnQgb3IgZW5kIHdhcyBpbiB0aGUgbm9kZQogICAgIC8vIHJhbmdl
IHNvIHRoYXQgdGhlIGVuZGluZ1NlbGVjdGlvbigpIGlzIGNhbm9uaWNhbGl6ZWQuICBTZWUgdGhl
IGNvbW1lbnRzIGF0IHRoZSBlbmQgb2YKICAgICAvLyBWaXNpYmxlU2VsZWN0aW9uOjp2YWxpZGF0
ZSgpLgpJbmRleDogV2ViQ29yZS9lZGl0aW5nL0FwcGx5U3R5bGVDb21tYW5kLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViQ29yZS9lZGl0aW5nL0FwcGx5U3R5bGVDb21tYW5kLmgJKHJldmlzaW9uIDQ4MDA0
KQorKysgV2ViQ29yZS9lZGl0aW5nL0FwcGx5U3R5bGVDb21tYW5kLmgJKHdvcmtpbmcgY29weSkK
QEAgLTYyLDYgKzYyLDcgQEAgcHJpdmF0ZToKICAgICBDU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlv
biogc3R5bGUoKSBjb25zdCB7IHJldHVybiBtX3N0eWxlLmdldCgpOyB9CiAKICAgICAvLyBzdHls
ZS1yZW1vdmFsIGhlbHBlcnMKKyAgICBib29sIHNob3VsZFJlbW92ZVRleHREZWNvcmF0aW9uVGFn
KENTU1N0eWxlRGVjbGFyYXRpb24qIHN0eWxlVG9BcHBseSwgaW50IENTU0RlY29yYXRpb25BZGRl
ZEJ5VGFnKSBjb25zdDsKICAgICBib29sIGltcGxpY2l0bHlTdHlsZWRFbGVtZW50U2hvdWxkQmVS
ZW1vdmVkV2hlbkFwcGx5aW5nU3R5bGUoSFRNTEVsZW1lbnQqLCBDU1NNdXRhYmxlU3R5bGVEZWNs
YXJhdGlvbiopOwogICAgIHZvaWQgcmVwbGFjZVdpdGhTcGFuT3JSZW1vdmVJZldpdGhvdXRBdHRy
aWJ1dGVzKEhUTUxFbGVtZW50KiYpOwogICAgIHZvaWQgcmVtb3ZlSFRNTEZvbnRTdHlsZShDU1NN
dXRhYmxlU3R5bGVEZWNsYXJhdGlvbiosIEhUTUxFbGVtZW50Kik7CkluZGV4OiBMYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCShyZXZpc2lv
biA0ODAwNSkKKysrIExheW91dFRlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDI1IEBACisyMDA5LTA5LTAzICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFwcGx5U3R5
bGVDb21tYW5kIHJlbW92ZXMgcHJlc2VudGF0aW9uYWwgdGFncyBldmVuIHdoZW4gbm90IG5lY2Vz
c2FyeQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Mjgw
OTEKKworICAgICAgICBUaGlzIHBhdGNoIGFkZHMgdGVzdCB0byBtYWtlIHN1cmUgdG8gcHJlc2Vy
dmUgcHJlc2VudGF0aW9uYWwgdGFnICh1LCBzLCBzdHJpa2UsIGksIGVtLCBzdXAsIHN1YiwgYiwg
JiBzdHJvbmcpCisgICAgICAgIHdoZW4gdGhlIGNvcnJlc3BvbmRpbmcgc3R5bGUgaXMgcHJlc2Vu
dCBpbiB0aGUgZmluYWwgY29tcHV0ZWQgc3R5bGUuCisgICAgICAgIGkuZS4gYXZvaWQgcmVtb3Zp
bmcgdGFnIGFuZCByZS1hcHBseWluZyB0aGUgc3R5bGUgbGF0ZXIKKworICAgICAgICAqIGVkaXRp
bmcvZXhlY0NvbW1hbmQvMTk2NTMtMi1leHBlY3RlZC50eHQ6IFR3byBiIGVsZW1lbnRzIGFyZSBt
ZXJnZWQuCisgICAgICAgICogZWRpdGluZy9leGVjQ29tbWFuZC9jcmVhdGVMaW5rLWV4cGVjdGVk
LnR4dDogVHdvIGFuY2hvciBlbGVtZW50cyBhcmUgbWVyZ2VkLgorICAgICAgICAqIGVkaXRpbmcv
ZXhlY0NvbW1hbmQvcmVzb3VyY2VzL3RvZ2dsZS1zdHlsZS0zLmpzOiBBZGRlZC4KKyAgICAgICAg
KHRlc3RTaW5nbGVUb2dnbGUpOgorICAgICAgICAqIGVkaXRpbmcvZXhlY0NvbW1hbmQvc3RyaWtl
dGhyb3VnaFNlbGVjdGlvbi1leHBlY3RlZC50eHQ6IFJlZHVuZGFudCBzdHlsZSBzcGFucyBhcmUg
bm8gbG9uZ2VyIGFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvZXhlY0NvbW1hbmQvdG9nZ2xlLXN0
eWxlLTMtZXhwZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBlZGl0aW5nL2V4ZWNDb21tYW5k
L3RvZ2dsZS1zdHlsZS0zLmh0bWw6IEFkZGVkLgorICAgICAgICAqIGVkaXRpbmcvZXhlY0NvbW1h
bmQvdW5saW5rLWV4cGVjdGVkLnR4dDogVHdvIGFuY2hvciBlbGVtZW50cyBhcmUgbWVyZ2VkLgor
ICAgICAgICAqIHBsYXRmb3JtL21hYy9lZGl0aW5nL3N0eWxlLzUyMjgxNDEtZXhwZWN0ZWQudHh0
OiBUd28gYiBlbGVtZW50cyBhcmUgbWVyZ2VkLgorICAgICAgICAqIHBsYXRmb3JtL21hYy9lZGl0
aW5nL3N0eWxlL3N0eWxlLWJvdW5kYXJ5LTAwMS1leHBlY3RlZC50eHQ6IFR3byBiIGVsZW1lbnRz
IGFyZSBtZXJnZWQuCisKIDIwMDktMDktMDIgIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5v
cmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRXJpYyBTZWlkZWwuCkluZGV4OiBMYXlvdXRUZXN0
cy9lZGl0aW5nL2V4ZWNDb21tYW5kLzE5NjUzLTItZXhwZWN0ZWQudHh0Cj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IExheW91dFRlc3RzL2VkaXRpbmcvZXhlY0NvbW1hbmQvMTk2NTMtMi1leHBlY3RlZC50eHQJKHJl
dmlzaW9uIDQ4MDA0KQorKysgTGF5b3V0VGVzdHMvZWRpdGluZy9leGVjQ29tbWFuZC8xOTY1My0y
LWV4cGVjdGVkLnR4dAkod29ya2luZyBjb3B5KQpAQCAtMiw0ICsyLDQgQEAgVGhpcyB0ZXN0cyBz
cGxpdHRpbmcgdHdvIHBhcmFncmFwaHMgd2l0aAogeDxkaXY+PGI+Qm9sZDwvYj54PC9kaXY+CiAK
IFRoaXMgdGVzdHMgc3BsaXR0aW5nIHR3byBwYXJhZ3JhcGhzIHdpdGggSW5zZXJ0TGluZUJyZWFr
IHdoaWxlIHRoZSB0eXBpbmcgc3R5bGUgaXMgYm9sZC4gTmV3IHRleHQgZW50ZXJlZCBhZnRlciB0
aGUgc3BsaXQgc2hvdWxkIGJlIGJvbGQuIFRoZSBpbnNlcnRlZCA8YnI+IGRvZXNuJ3QgbmVlZCB0
byBiZSBzdXJyb3VuZGVkIGJ5IGEgYm9sZCB0YWcgaGVyZS4KLXg8Yj48YnI+PC9iPjxiPkJvbGQ8
L2I+eAoreDxiPjxicj5Cb2xkPC9iPngKSW5kZXg6IExheW91dFRlc3RzL2VkaXRpbmcvZXhlY0Nv
bW1hbmQvY3JlYXRlTGluay1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMv
ZWRpdGluZy9leGVjQ29tbWFuZC9jcmVhdGVMaW5rLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNDgw
MDQpCisrKyBMYXlvdXRUZXN0cy9lZGl0aW5nL2V4ZWNDb21tYW5kL2NyZWF0ZUxpbmstZXhwZWN0
ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC01OSw0ICs1OSw0IEBAIGlubmVySFRNTCBvZiBlZGl0
YWJsZSByZWdpb25zIGFmdGVyIHRoZSAKIDxhIGhyZWY9Imh0dHA6Ly93d3cuZ29vZ2xlLmNvbS8i
PlRoaXMgcGFyYWdyYXBoIHN0YXJ0cyB1bmxpbmtlZC4gVGhlIGVudGlyZSBwYXJhZ3JhcGggc2hv
dWxkIGVuZCB1cCBiZWluZyBhIGxpbmsgdG8gZ29vZ2xlLmNvbS48L2E+CiA8YSBocmVmPSJodHRw
Oi8vd3d3LmFwcGxlLmNvbS8iPlRoaXM8L2E+PGEgaHJlZj0iaHR0cDovL3d3dy5nb29nbGUuY29t
LyI+IHBhcmFncmFwaDwvYT48YSBocmVmPSJodHRwOi8vd3d3LmFwcGxlLmNvbS8iPiBzdGFydHMg
b3V0IGFzIGEgbGluayB0byBhcHBsZS5jb20uIFRoZSBzZWNvbmQgd29yZCBpbiB0aGUgcGFyYWdy
YXBoIHNob3VsZCBlbmQgdXAgYmVpbmcgYSBsaW5rIHRvIGdvb2dsZS5jb20uPC9hPgogPGEgaHJl
Zj0iaHR0cDovL3d3dy5hcHBsZS5jb20vIj5UaGlzPC9hPjxhIGhyZWY9Imh0dHA6Ly93d3cuZ29v
Z2xlLmNvbS8iPiBwYXJhZ3JhcGg8L2E+PGEgaHJlZj0iaHR0cDovL3d3dy5hcHBsZS5jb20vIj4g
c3RhcnRzIG91dCBhcyBhIGxpbmsgdG8gYXBwbGUuY29tLiBUaGUgc2Vjb25kIHdvcmQgaW4gdGhl
IHBhcmFncmFwaCBzaG91bGQgZW5kIHVwIGJlaW5nIGEgbGluayB0byBnb29nbGUuY29tLjwvYT4K
LTxwPjxhIGhyZWY9Imh0dHA6Ly93d3cuZ29vZ2xlLmNvbS8iPlRoaXMgPC9hPjxpPjxhIGhyZWY9
Imh0dHA6Ly93d3cuZ29vZ2xlLmNvbS8iPmVkaXRhYmxlIHJlZ2lvbjwvYT48L2k+PGEgaHJlZj0i
aHR0cDovL3d3dy5nb29nbGUuY29tLyI+IGNvbnRhaW5zIGxpc3RzLCB0YWJsZXMsIHN0eWxlZCB0
ZXh0LCBhbmQgaW1hZ2VzLiBUaGUgZW50aXJlIHJlZ2lvbiBzaG91bGQgZW5kIHVwIGJlaW5nIGEg
bGluayB0byBnb29nbGUuY29tLjwvYT48L3A+IDx1bD4gPGxpPjxhIGhyZWY9Imh0dHA6Ly93d3cu
Z29vZ2xlLmNvbS8iPkl0ZW0gMTwvYT48L2xpPiA8bGk+PGEgaHJlZj0iaHR0cDovL3d3dy5nb29n
bGUuY29tLyI+SXRlbSAyPC9hPjwvbGk+IDwvdWw+IDx0YWJsZSBib3JkZXI9IjEiPjx0Ym9keT48
dHI+PHRkPjxhIGhyZWY9Imh0dHA6Ly93d3cuZ29vZ2xlLmNvbS8iPjE8L2E+PC90ZD48dGQ+PGEg
aHJlZj0iaHR0cDovL3d3dy5nb29nbGUuY29tLyI+MjwvYT48L3RkPjx0ZD48YSBocmVmPSJodHRw
Oi8vd3d3Lmdvb2dsZS5jb20vIj4zPC9hPjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+IDxhIGhy
ZWY9Imh0dHA6Ly93d3cuZ29vZ2xlLmNvbS8iPjxicj4gVGhpcyA8L2E+PGI+PGEgaHJlZj0iaHR0
cDovL3d3dy5nb29nbGUuY29tLyI+bGluZTwvYT48L2I+PGEgaHJlZj0iaHR0cDovL3d3dy5nb29n
bGUuY29tLyI+IGNvbnRhaW5zIDwvYT48YSBocmVmPSJodHRwOi8vd3d3Lmdvb2dsZS5jb20vIj48
aW1nIHNyYz0iLi4vcmVzb3VyY2VzL2FiZS5wbmciPiBhbiBpbWFnZS4gPC9hPgorPHA+PGEgaHJl
Zj0iaHR0cDovL3d3dy5nb29nbGUuY29tLyI+VGhpcyA8L2E+PGk+PGEgaHJlZj0iaHR0cDovL3d3
dy5nb29nbGUuY29tLyI+ZWRpdGFibGUgcmVnaW9uPC9hPjwvaT48YSBocmVmPSJodHRwOi8vd3d3
Lmdvb2dsZS5jb20vIj4gY29udGFpbnMgbGlzdHMsIHRhYmxlcywgc3R5bGVkIHRleHQsIGFuZCBp
bWFnZXMuIFRoZSBlbnRpcmUgcmVnaW9uIHNob3VsZCBlbmQgdXAgYmVpbmcgYSBsaW5rIHRvIGdv
b2dsZS5jb20uPC9hPjwvcD4gPHVsPiA8bGk+PGEgaHJlZj0iaHR0cDovL3d3dy5nb29nbGUuY29t
LyI+SXRlbSAxPC9hPjwvbGk+IDxsaT48YSBocmVmPSJodHRwOi8vd3d3Lmdvb2dsZS5jb20vIj5J
dGVtIDI8L2E+PC9saT4gPC91bD4gPHRhYmxlIGJvcmRlcj0iMSI+PHRib2R5Pjx0cj48dGQ+PGEg
aHJlZj0iaHR0cDovL3d3dy5nb29nbGUuY29tLyI+MTwvYT48L3RkPjx0ZD48YSBocmVmPSJodHRw
Oi8vd3d3Lmdvb2dsZS5jb20vIj4yPC9hPjwvdGQ+PHRkPjxhIGhyZWY9Imh0dHA6Ly93d3cuZ29v
Z2xlLmNvbS8iPjM8L2E+PC90ZD48L3RyPjwvdGJvZHk+PC90YWJsZT4gPGEgaHJlZj0iaHR0cDov
L3d3dy5nb29nbGUuY29tLyI+PGJyPiBUaGlzIDwvYT48Yj48YSBocmVmPSJodHRwOi8vd3d3Lmdv
b2dsZS5jb20vIj5saW5lPC9hPjwvYj48YSBocmVmPSJodHRwOi8vd3d3Lmdvb2dsZS5jb20vIj4g
Y29udGFpbnMgPGltZyBzcmM9Ii4uL3Jlc291cmNlcy9hYmUucG5nIj4gYW4gaW1hZ2UuIDwvYT4K
SW5kZXg6IExheW91dFRlc3RzL2VkaXRpbmcvZXhlY0NvbW1hbmQvc3RyaWtldGhyb3VnaFNlbGVj
dGlvbi1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZWRpdGluZy9leGVj
Q29tbWFuZC9zdHJpa2V0aHJvdWdoU2VsZWN0aW9uLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gNDgw
MDQpCisrKyBMYXlvdXRUZXN0cy9lZGl0aW5nL2V4ZWNDb21tYW5kL3N0cmlrZXRocm91Z2hTZWxl
Y3Rpb24tZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC00LDIxICs0LDIxIEBAIFRoaXMg
dGVzdCBzdHJpa2luZyB0aHJvdWdoIHRoZSBmaXJzdCAyMXMKIGV4ZWNTdHJpa2V0aHJvdWdoQ29t
bWFuZDogPHNwYW4gaWQ9InRlc3QiPjxzPiI8L3M+VGhlIHF1aWNrIGJyb3duIGZveCBqdW1wcyBv
dmVyIHRoZSBsYXp5IGRvZyIgdXNlcyBldmVyeSBsZXR0ZXIgaW4gdGhlIGVuZ2xpc2ggbGFuZ3Vh
Z2UuIDwvc3Bhbj4KIGV4ZWNTdHJpa2V0aHJvdWdoQ29tbWFuZDogPHNwYW4gaWQ9InRlc3QiPiJU
aGUgcXVpY2sgYnJvd24gZm94IGp1bXBzIG92ZXIgdGhlIGxhenkgZG9nIiB1c2VzIGV2ZXJ5IGxl
dHRlciBpbiB0aGUgZW5nbGlzaCBsYW5ndWFnZS4gPC9zcGFuPgogZXhlY1N0cmlrZXRocm91Z2hD
b21tYW5kOiA8c3BhbiBpZD0idGVzdCI+PHM+IlRoPC9zPmUgcXVpY2sgYnJvd24gZm94IGp1bXBz
IG92ZXIgdGhlIGxhenkgZG9nIiB1c2VzIGV2ZXJ5IGxldHRlciBpbiB0aGUgZW5nbGlzaCBsYW5n
dWFnZS4gPC9zcGFuPgotZXhlY1N0cmlrZXRocm91Z2hDb21tYW5kOiA8c3BhbiBpZD0idGVzdCI+
IjxzcGFuIGNsYXNzPSJBcHBsZS1zdHlsZS1zcGFuIj5UPC9zcGFuPjxzcGFuIGNsYXNzPSJBcHBs
ZS1zdHlsZS1zcGFuIj5oPC9zcGFuPmUgcXVpY2sgYnJvd24gZm94IGp1bXBzIG92ZXIgdGhlIGxh
enkgZG9nIiB1c2VzIGV2ZXJ5IGxldHRlciBpbiB0aGUgZW5nbGlzaCBsYW5ndWFnZS4gPC9zcGFu
PgotZXhlY1N0cmlrZXRocm91Z2hDb21tYW5kOiA8c3BhbiBpZD0idGVzdCI+PHM+Ijwvcz48c3Bh
biBjbGFzcz0iQXBwbGUtc3R5bGUtc3BhbiI+PHM+VDwvcz48L3NwYW4+PHNwYW4gY2xhc3M9IkFw
cGxlLXN0eWxlLXNwYW4iPjxzPmg8L3M+PC9zcGFuPjxzPmUgPC9zPnF1aWNrIGJyb3duIGZveCBq
dW1wcyBvdmVyIHRoZSBsYXp5IGRvZyIgdXNlcyBldmVyeSBsZXR0ZXIgaW4gdGhlIGVuZ2xpc2gg
bGFuZ3VhZ2UuIDwvc3Bhbj4KLWV4ZWNTdHJpa2V0aHJvdWdoQ29tbWFuZDogPHNwYW4gaWQ9InRl
c3QiPiI8c3BhbiBjbGFzcz0iQXBwbGUtc3R5bGUtc3BhbiI+VDwvc3Bhbj48c3BhbiBjbGFzcz0i
QXBwbGUtc3R5bGUtc3BhbiI+aDwvc3Bhbj5lIHF1aWNrIGJyb3duIGZveCBqdW1wcyBvdmVyIHRo
ZSBsYXp5IGRvZyIgdXNlcyBldmVyeSBsZXR0ZXIgaW4gdGhlIGVuZ2xpc2ggbGFuZ3VhZ2UuIDwv
c3Bhbj4KLWV4ZWNTdHJpa2V0aHJvdWdoQ29tbWFuZDogPHNwYW4gaWQ9InRlc3QiPjxzPiI8L3M+
PHNwYW4gY2xhc3M9IkFwcGxlLXN0eWxlLXNwYW4iPjxzPlQ8L3M+PC9zcGFuPjxzcGFuIGNsYXNz
PSJBcHBsZS1zdHlsZS1zcGFuIj48cz5oPC9zPjwvc3Bhbj48cz5lIHF1PC9zPmljayBicm93biBm
b3gganVtcHMgb3ZlciB0aGUgbGF6eSBkb2ciIHVzZXMgZXZlcnkgbGV0dGVyIGluIHRoZSBlbmds
aXNoIGxhbmd1YWdlLiA8L3NwYW4+Ci1leGVjU3RyaWtldGhyb3VnaENvbW1hbmQ6IDxzcGFuIGlk
PSJ0ZXN0Ij4iPHNwYW4gY2xhc3M9IkFwcGxlLXN0eWxlLXNwYW4iPlQ8L3NwYW4+PHNwYW4gY2xh
c3M9IkFwcGxlLXN0eWxlLXNwYW4iPmg8L3NwYW4+ZSBxdWljayBicm93biBmb3gganVtcHMgb3Zl
ciB0aGUgbGF6eSBkb2ciIHVzZXMgZXZlcnkgbGV0dGVyIGluIHRoZSBlbmdsaXNoIGxhbmd1YWdl
LiA8L3NwYW4+Ci1leGVjU3RyaWtldGhyb3VnaENvbW1hbmQ6IDxzcGFuIGlkPSJ0ZXN0Ij48cz4i
PC9zPjxzcGFuIGNsYXNzPSJBcHBsZS1zdHlsZS1zcGFuIj48cz5UPC9zPjwvc3Bhbj48c3BhbiBj
bGFzcz0iQXBwbGUtc3R5bGUtc3BhbiI+PHM+aDwvcz48L3NwYW4+PHM+ZSBxdWljPC9zPmsgYnJv
d24gZm94IGp1bXBzIG92ZXIgdGhlIGxhenkgZG9nIiB1c2VzIGV2ZXJ5IGxldHRlciBpbiB0aGUg
ZW5nbGlzaCBsYW5ndWFnZS4gPC9zcGFuPgotZXhlY1N0cmlrZXRocm91Z2hDb21tYW5kOiA8c3Bh
biBpZD0idGVzdCI+IjxzcGFuIGNsYXNzPSJBcHBsZS1zdHlsZS1zcGFuIj5UPC9zcGFuPjxzcGFu
IGNsYXNzPSJBcHBsZS1zdHlsZS1zcGFuIj5oPC9zcGFuPmUgcXVpY2sgYnJvd24gZm94IGp1bXBz
IG92ZXIgdGhlIGxhenkgZG9nIiB1c2VzIGV2ZXJ5IGxldHRlciBpbiB0aGUgZW5nbGlzaCBsYW5n
dWFnZS4gPC9zcGFuPgotZXhlY1N0cmlrZXRocm91Z2hDb21tYW5kOiA8c3BhbiBpZD0idGVzdCI+
PHM+Ijwvcz48c3BhbiBjbGFzcz0iQXBwbGUtc3R5bGUtc3BhbiI+PHM+VDwvcz48L3NwYW4+PHNw
YW4gY2xhc3M9IkFwcGxlLXN0eWxlLXNwYW4iPjxzPmg8L3M+PC9zcGFuPjxzPmUgcXVpY2sgPC9z
PmJyb3duIGZveCBqdW1wcyBvdmVyIHRoZSBsYXp5IGRvZyIgdXNlcyBldmVyeSBsZXR0ZXIgaW4g
dGhlIGVuZ2xpc2ggbGFuZ3VhZ2UuIDwvc3Bhbj4KLWV4ZWNTdHJpa2V0aHJvdWdoQ29tbWFuZDog
PHNwYW4gaWQ9InRlc3QiPiI8c3BhbiBjbGFzcz0iQXBwbGUtc3R5bGUtc3BhbiI+VDwvc3Bhbj48
c3BhbiBjbGFzcz0iQXBwbGUtc3R5bGUtc3BhbiI+aDwvc3Bhbj5lIHF1aWNrIGJyb3duIGZveCBq
dW1wcyBvdmVyIHRoZSBsYXp5IGRvZyIgdXNlcyBldmVyeSBsZXR0ZXIgaW4gdGhlIGVuZ2xpc2gg
bGFuZ3VhZ2UuIDwvc3Bhbj4KLWV4ZWNTdHJpa2V0aHJvdWdoQ29tbWFuZDogPHNwYW4gaWQ9InRl
c3QiPjxzPiI8L3M+PHNwYW4gY2xhc3M9IkFwcGxlLXN0eWxlLXNwYW4iPjxzPlQ8L3M+PC9zcGFu
PjxzcGFuIGNsYXNzPSJBcHBsZS1zdHlsZS1zcGFuIj48cz5oPC9zPjwvc3Bhbj48cz5lIHF1aWNr
IGJyPC9zPm93biBmb3gganVtcHMgb3ZlciB0aGUgbGF6eSBkb2ciIHVzZXMgZXZlcnkgbGV0dGVy
IGluIHRoZSBlbmdsaXNoIGxhbmd1YWdlLiA8L3NwYW4+Ci1leGVjU3RyaWtldGhyb3VnaENvbW1h
bmQ6IDxzcGFuIGlkPSJ0ZXN0Ij4iPHNwYW4gY2xhc3M9IkFwcGxlLXN0eWxlLXNwYW4iPlQ8L3Nw
YW4+PHNwYW4gY2xhc3M9IkFwcGxlLXN0eWxlLXNwYW4iPmg8L3NwYW4+ZSBxdWljayBicm93biBm
b3gganVtcHMgb3ZlciB0aGUgbGF6eSBkb2ciIHVzZXMgZXZlcnkgbGV0dGVyIGluIHRoZSBlbmds
aXNoIGxhbmd1YWdlLiA8L3NwYW4+Ci1leGVjU3RyaWtldGhyb3VnaENvbW1hbmQ6IDxzcGFuIGlk
PSJ0ZXN0Ij48cz4iPC9zPjxzcGFuIGNsYXNzPSJBcHBsZS1zdHlsZS1zcGFuIj48cz5UPC9zPjwv
c3Bhbj48c3BhbiBjbGFzcz0iQXBwbGUtc3R5bGUtc3BhbiI+PHM+aDwvcz48L3NwYW4+PHM+ZSBx
dWljayBicm93PC9zPm4gZm94IGp1bXBzIG92ZXIgdGhlIGxhenkgZG9nIiB1c2VzIGV2ZXJ5IGxl
dHRlciBpbiB0aGUgZW5nbGlzaCBsYW5ndWFnZS4gPC9zcGFuPgotZXhlY1N0cmlrZXRocm91Z2hD
b21tYW5kOiA8c3BhbiBpZD0idGVzdCI+IjxzcGFuIGNsYXNzPSJBcHBsZS1zdHlsZS1zcGFuIj5U
PC9zcGFuPjxzcGFuIGNsYXNzPSJBcHBsZS1zdHlsZS1zcGFuIj5oPC9zcGFuPmUgcXVpY2sgYnJv
d24gZm94IGp1bXBzIG92ZXIgdGhlIGxhenkgZG9nIiB1c2VzIGV2ZXJ5IGxldHRlciBpbiB0aGUg
ZW5nbGlzaCBsYW5ndWFnZS4gPC9zcGFuPgotZXhlY1N0cmlrZXRocm91Z2hDb21tYW5kOiA8c3Bh
biBpZD0idGVzdCI+PHM+Ijwvcz48c3BhbiBjbGFzcz0iQXBwbGUtc3R5bGUtc3BhbiI+PHM+VDwv
cz48L3NwYW4+PHNwYW4gY2xhc3M9IkFwcGxlLXN0eWxlLXNwYW4iPjxzPmg8L3M+PC9zcGFuPjxz
PmUgcXVpY2sgYnJvd24gPC9zPmZveCBqdW1wcyBvdmVyIHRoZSBsYXp5IGRvZyIgdXNlcyBldmVy
eSBsZXR0ZXIgaW4gdGhlIGVuZ2xpc2ggbGFuZ3VhZ2UuIDwvc3Bhbj4KLWV4ZWNTdHJpa2V0aHJv
dWdoQ29tbWFuZDogPHNwYW4gaWQ9InRlc3QiPiI8c3BhbiBjbGFzcz0iQXBwbGUtc3R5bGUtc3Bh
biI+VDwvc3Bhbj48c3BhbiBjbGFzcz0iQXBwbGUtc3R5bGUtc3BhbiI+aDwvc3Bhbj5lIHF1aWNr
IGJyb3duIGZveCBqdW1wcyBvdmVyIHRoZSBsYXp5IGRvZyIgdXNlcyBldmVyeSBsZXR0ZXIgaW4g
dGhlIGVuZ2xpc2ggbGFuZ3VhZ2UuIDwvc3Bhbj4KLWV4ZWNTdHJpa2V0aHJvdWdoQ29tbWFuZDog
PHNwYW4gaWQ9InRlc3QiPjxzPiI8L3M+PHNwYW4gY2xhc3M9IkFwcGxlLXN0eWxlLXNwYW4iPjxz
PlQ8L3M+PC9zcGFuPjxzcGFuIGNsYXNzPSJBcHBsZS1zdHlsZS1zcGFuIj48cz5oPC9zPjwvc3Bh
bj48cz5lIHF1aWNrIGJyb3duIGZvPC9zPngganVtcHMgb3ZlciB0aGUgbGF6eSBkb2ciIHVzZXMg
ZXZlcnkgbGV0dGVyIGluIHRoZSBlbmdsaXNoIGxhbmd1YWdlLiA8L3NwYW4+Ci1leGVjU3RyaWtl
dGhyb3VnaENvbW1hbmQ6IDxzcGFuIGlkPSJ0ZXN0Ij4iPHNwYW4gY2xhc3M9IkFwcGxlLXN0eWxl
LXNwYW4iPlQ8L3NwYW4+PHNwYW4gY2xhc3M9IkFwcGxlLXN0eWxlLXNwYW4iPmg8L3NwYW4+ZSBx
dWljayBicm93biBmb3gganVtcHMgb3ZlciB0aGUgbGF6eSBkb2ciIHVzZXMgZXZlcnkgbGV0dGVy
IGluIHRoZSBlbmdsaXNoIGxhbmd1YWdlLiA8L3NwYW4+Ci1leGVjU3RyaWtldGhyb3VnaENvbW1h
bmQ6IDxzcGFuIGlkPSJ0ZXN0Ij48cz4iPC9zPjxzcGFuIGNsYXNzPSJBcHBsZS1zdHlsZS1zcGFu
Ij48cz5UPC9zPjwvc3Bhbj48c3BhbiBjbGFzcz0iQXBwbGUtc3R5bGUtc3BhbiI+PHM+aDwvcz48
L3NwYW4+PHM+ZSBxdWljayBicm93biBmb3ggPC9zPmp1bXBzIG92ZXIgdGhlIGxhenkgZG9nIiB1
c2VzIGV2ZXJ5IGxldHRlciBpbiB0aGUgZW5nbGlzaCBsYW5ndWFnZS4gPC9zcGFuPgorZXhlY1N0
cmlrZXRocm91Z2hDb21tYW5kOiA8c3BhbiBpZD0idGVzdCI+IlRoZSBxdWljayBicm93biBmb3gg
anVtcHMgb3ZlciB0aGUgbGF6eSBkb2ciIHVzZXMgZXZlcnkgbGV0dGVyIGluIHRoZSBlbmdsaXNo
IGxhbmd1YWdlLiA8L3NwYW4+CitleGVjU3RyaWtldGhyb3VnaENvbW1hbmQ6IDxzcGFuIGlkPSJ0
ZXN0Ij48cz4iVGhlIDwvcz5xdWljayBicm93biBmb3gganVtcHMgb3ZlciB0aGUgbGF6eSBkb2ci
IHVzZXMgZXZlcnkgbGV0dGVyIGluIHRoZSBlbmdsaXNoIGxhbmd1YWdlLiA8L3NwYW4+CitleGVj
U3RyaWtldGhyb3VnaENvbW1hbmQ6IDxzcGFuIGlkPSJ0ZXN0Ij4iVGhlIHF1aWNrIGJyb3duIGZv
eCBqdW1wcyBvdmVyIHRoZSBsYXp5IGRvZyIgdXNlcyBldmVyeSBsZXR0ZXIgaW4gdGhlIGVuZ2xp
c2ggbGFuZ3VhZ2UuIDwvc3Bhbj4KK2V4ZWNTdHJpa2V0aHJvdWdoQ29tbWFuZDogPHNwYW4gaWQ9
InRlc3QiPjxzPiJUaGUgcXU8L3M+aWNrIGJyb3duIGZveCBqdW1wcyBvdmVyIHRoZSBsYXp5IGRv
ZyIgdXNlcyBldmVyeSBsZXR0ZXIgaW4gdGhlIGVuZ2xpc2ggbGFuZ3VhZ2UuIDwvc3Bhbj4KK2V4
ZWNTdHJpa2V0aHJvdWdoQ29tbWFuZDogPHNwYW4gaWQ9InRlc3QiPiJUaGUgcXVpY2sgYnJvd24g
Zm94IGp1bXBzIG92ZXIgdGhlIGxhenkgZG9nIiB1c2VzIGV2ZXJ5IGxldHRlciBpbiB0aGUgZW5n
bGlzaCBsYW5ndWFnZS4gPC9zcGFuPgorZXhlY1N0cmlrZXRocm91Z2hDb21tYW5kOiA8c3BhbiBp
ZD0idGVzdCI+PHM+IlRoZSBxdWljPC9zPmsgYnJvd24gZm94IGp1bXBzIG92ZXIgdGhlIGxhenkg
ZG9nIiB1c2VzIGV2ZXJ5IGxldHRlciBpbiB0aGUgZW5nbGlzaCBsYW5ndWFnZS4gPC9zcGFuPgor
ZXhlY1N0cmlrZXRocm91Z2hDb21tYW5kOiA8c3BhbiBpZD0idGVzdCI+IlRoZSBxdWljayBicm93
biBmb3gganVtcHMgb3ZlciB0aGUgbGF6eSBkb2ciIHVzZXMgZXZlcnkgbGV0dGVyIGluIHRoZSBl
bmdsaXNoIGxhbmd1YWdlLiA8L3NwYW4+CitleGVjU3RyaWtldGhyb3VnaENvbW1hbmQ6IDxzcGFu
IGlkPSJ0ZXN0Ij48cz4iVGhlIHF1aWNrIDwvcz5icm93biBmb3gganVtcHMgb3ZlciB0aGUgbGF6
eSBkb2ciIHVzZXMgZXZlcnkgbGV0dGVyIGluIHRoZSBlbmdsaXNoIGxhbmd1YWdlLiA8L3NwYW4+
CitleGVjU3RyaWtldGhyb3VnaENvbW1hbmQ6IDxzcGFuIGlkPSJ0ZXN0Ij4iVGhlIHF1aWNrIGJy
b3duIGZveCBqdW1wcyBvdmVyIHRoZSBsYXp5IGRvZyIgdXNlcyBldmVyeSBsZXR0ZXIgaW4gdGhl
IGVuZ2xpc2ggbGFuZ3VhZ2UuIDwvc3Bhbj4KK2V4ZWNTdHJpa2V0aHJvdWdoQ29tbWFuZDogPHNw
YW4gaWQ9InRlc3QiPjxzPiJUaGUgcXVpY2sgYnI8L3M+b3duIGZveCBqdW1wcyBvdmVyIHRoZSBs
YXp5IGRvZyIgdXNlcyBldmVyeSBsZXR0ZXIgaW4gdGhlIGVuZ2xpc2ggbGFuZ3VhZ2UuIDwvc3Bh
bj4KK2V4ZWNTdHJpa2V0aHJvdWdoQ29tbWFuZDogPHNwYW4gaWQ9InRlc3QiPiJUaGUgcXVpY2sg
YnJvd24gZm94IGp1bXBzIG92ZXIgdGhlIGxhenkgZG9nIiB1c2VzIGV2ZXJ5IGxldHRlciBpbiB0
aGUgZW5nbGlzaCBsYW5ndWFnZS4gPC9zcGFuPgorZXhlY1N0cmlrZXRocm91Z2hDb21tYW5kOiA8
c3BhbiBpZD0idGVzdCI+PHM+IlRoZSBxdWljayBicm93PC9zPm4gZm94IGp1bXBzIG92ZXIgdGhl
IGxhenkgZG9nIiB1c2VzIGV2ZXJ5IGxldHRlciBpbiB0aGUgZW5nbGlzaCBsYW5ndWFnZS4gPC9z
cGFuPgorZXhlY1N0cmlrZXRocm91Z2hDb21tYW5kOiA8c3BhbiBpZD0idGVzdCI+IlRoZSBxdWlj
ayBicm93biBmb3gganVtcHMgb3ZlciB0aGUgbGF6eSBkb2ciIHVzZXMgZXZlcnkgbGV0dGVyIGlu
IHRoZSBlbmdsaXNoIGxhbmd1YWdlLiA8L3NwYW4+CitleGVjU3RyaWtldGhyb3VnaENvbW1hbmQ6
IDxzcGFuIGlkPSJ0ZXN0Ij48cz4iVGhlIHF1aWNrIGJyb3duIDwvcz5mb3gganVtcHMgb3ZlciB0
aGUgbGF6eSBkb2ciIHVzZXMgZXZlcnkgbGV0dGVyIGluIHRoZSBlbmdsaXNoIGxhbmd1YWdlLiA8
L3NwYW4+CitleGVjU3RyaWtldGhyb3VnaENvbW1hbmQ6IDxzcGFuIGlkPSJ0ZXN0Ij4iVGhlIHF1
aWNrIGJyb3duIGZveCBqdW1wcyBvdmVyIHRoZSBsYXp5IGRvZyIgdXNlcyBldmVyeSBsZXR0ZXIg
aW4gdGhlIGVuZ2xpc2ggbGFuZ3VhZ2UuIDwvc3Bhbj4KK2V4ZWNTdHJpa2V0aHJvdWdoQ29tbWFu
ZDogPHNwYW4gaWQ9InRlc3QiPjxzPiJUaGUgcXVpY2sgYnJvd24gZm88L3M+eCBqdW1wcyBvdmVy
IHRoZSBsYXp5IGRvZyIgdXNlcyBldmVyeSBsZXR0ZXIgaW4gdGhlIGVuZ2xpc2ggbGFuZ3VhZ2Uu
IDwvc3Bhbj4KK2V4ZWNTdHJpa2V0aHJvdWdoQ29tbWFuZDogPHNwYW4gaWQ9InRlc3QiPiJUaGUg
cXVpY2sgYnJvd24gZm94IGp1bXBzIG92ZXIgdGhlIGxhenkgZG9nIiB1c2VzIGV2ZXJ5IGxldHRl
ciBpbiB0aGUgZW5nbGlzaCBsYW5ndWFnZS4gPC9zcGFuPgorZXhlY1N0cmlrZXRocm91Z2hDb21t
YW5kOiA8c3BhbiBpZD0idGVzdCI+PHM+IlRoZSBxdWljayBicm93biBmb3ggPC9zPmp1bXBzIG92
ZXIgdGhlIGxhenkgZG9nIiB1c2VzIGV2ZXJ5IGxldHRlciBpbiB0aGUgZW5nbGlzaCBsYW5ndWFn
ZS4gPC9zcGFuPgpJbmRleDogTGF5b3V0VGVzdHMvZWRpdGluZy9leGVjQ29tbWFuZC90b2dnbGUt
c3R5bGUtMy1leHBlY3RlZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZWRpdGluZy9l
eGVjQ29tbWFuZC90b2dnbGUtc3R5bGUtMy1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCisrKyBM
YXlvdXRUZXN0cy9lZGl0aW5nL2V4ZWNDb21tYW5kL3RvZ2dsZS1zdHlsZS0zLWV4cGVjdGVkLnR4
dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxMyBAQAorVGVzdCB0byBtYWtlIHN1cmUgd2UgcmVt
b3ZlIHNwYW4gdGFncyB3aXRoIG5vIGF0dHJpYnV0ZXMgaWYgd2UgcmVtb3ZlZCB0aGUgbGFzdCBh
dHRyaWJ1dGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIg
bWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitQQVNTIG9uZSBib2xk
IGNvbW1hbmQgY29udmVydGVkIGhlbGxvPGIgaWQ9InRlc3QiPndvcmxkPC9iPiB0byA8Yj5oZWxs
bzwvYj48YiBpZD0idGVzdCI+d29ybGQ8L2I+CitQQVNTIG9uZSBib2xkIGNvbW1hbmQgY29udmVy
dGVkIGhlbGxvPGI+PGk+d29ybGQ8L2k+PC9iPiB0byA8Yj5oZWxsbzxpPndvcmxkPC9pPjwvYj4K
K1BBU1Mgb25lIGl0YWxpYyBjb21tYW5kIGNvbnZlcnRlZCBoZWxsbyA8aT53b3JsZDwvaT4gPGI+
d2Via2l0PC9iPiB0byA8aT5oZWxsbyB3b3JsZCA8L2k+PGI+PGk+d2Via2l0PC9pPjwvYj4KK1BB
U1Mgb25lIGl0YWxpYyBjb21tYW5kIGNvbnZlcnRlZCBoZWxsbyA8aT53b3JsZDwvaT4gd2Via2l0
IHRvIDxpPmhlbGxvIHdvcmxkIHdlYmtpdDwvaT4KK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlz
IHRydWUKKworVEVTVCBDT01QTEVURQorCkluZGV4OiBMYXlvdXRUZXN0cy9lZGl0aW5nL2V4ZWND
b21tYW5kL3RvZ2dsZS1zdHlsZS0zLmh0bWwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZWRp
dGluZy9leGVjQ29tbWFuZC90b2dnbGUtc3R5bGUtMy5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5
b3V0VGVzdHMvZWRpdGluZy9leGVjQ29tbWFuZC90b2dnbGUtc3R5bGUtMy5odG1sCShyZXZpc2lv
biAwKQpAQCAtMCwwICsxLDEzIEBACis8IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL0lFVEYvL0RU
RCBIVE1MLy9FTiI+Cis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVm
PSIuLi8uLi9mYXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXN0eWxlLmNzcyI+Cis8c2NyaXB0IHNy
Yz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+Cis8cCBpZD0iZGVzY3JpcHRpb24iPjwvcD4KKzxkaXYgaWQ9ImNvbnNvbGUi
PjwvZGl2PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy90b2dnbGUtc3R5bGUtMy5qcyI+PC9zY3Jp
cHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0Lmpz
Ij48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KSW5kZXg6IExheW91dFRlc3RzL2VkaXRpbmcv
ZXhlY0NvbW1hbmQvdW5saW5rLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0
cy9lZGl0aW5nL2V4ZWNDb21tYW5kL3VubGluay1leHBlY3RlZC50eHQJKHJldmlzaW9uIDQ4MDA0
KQorKysgTGF5b3V0VGVzdHMvZWRpdGluZy9leGVjQ29tbWFuZC91bmxpbmstZXhwZWN0ZWQudHh0
CSh3b3JraW5nIGNvcHkpCkBAIC02Niw0ICs2Niw0IEBAIFRoZSBpbm5lckhUTUwgb2YgZWRpdGFi
bGUgcmVnaW9ucyBhZnRlciAKIFRoaXMgcGFyYWdyYXBoIHNob3VsZCBzaG91bGQgZW5kIHVwIHVu
bGlua2VkLgogPGEgaHJlZj0iaHR0cDovL3d3dy5hcHBsZS5jb20vIj5UaGU8L2E+IHNlY29uZDxh
IGhyZWY9Imh0dHA6Ly93d3cuYXBwbGUuY29tLyI+IHdvcmQgaW4gdGhpcyBwYXJhZ3JhcGggc2hv
dWxkIGVuZCB1cCBiZWluZyB1bmxpbmtlZCwgZXZlcnl0aGluZyBlbHNlIHNob3VsZCBiZSBhIGxp
bmsuPC9hPgogVGhpcyBwYXJhZ3JhcGggc3RhcnRzIHdpdGggPGk+PGEgaHJlZj0iaHR0cDovL3d3
dy5nb29nbGUuY29tIj5hPC9hPjwvaT48c3BhbiBpZD0idGVzdDNzdGFydCI+IGxpbms8L3NwYW4+
IGluIHRoZSBtaWRkbGUuIE9ubHkgdGhlICdhJyBpbiB0aGUgcHJldmlvdXMgc2VudGVuY2Ugc2hv
dWxkIGJlIGxpbmtlZCBhZnRlciB0aGUgdGVzdC4KLTxwPlRoaXMgPGk+ZWRpdGFibGUgcmVnaW9u
PC9pPiBjb250YWlucyBsaXN0cywgdGFibGVzLCBzdHlsZWQgdGV4dCwgYW5kIGltYWdlcy4gRXZl
cnl0aGluZyBpbiB0aGlzIHJlZ2lvbiB0aGF0IGlzIG5vdCBzZWxlY3RlZCBzaG91bGQgYmUgYSBs
aW5rLCBub3RoaW5nIHRoYXQgaXMgc2VsZWN0ZWQgc2hvdWxkIGJlIGEgbGluay48L3A+IDx1bD4g
PGxpPkl0ZW0gMTwvbGk+IDxsaT5JdGVtIDI8L2xpPiA8L3VsPiA8dGFibGUgYm9yZGVyPSIxIj48
dGJvZHk+PHRyPjx0ZD4xPC90ZD48dGQ+MjwvdGQ+PHRkPjxzcGFuIGlkPSJ0ZXN0NGVuZCI+PGEg
aHJlZj0iaHR0cDovL3d3dy5nb29nbGUuY29tLyI+MzwvYT48L3NwYW4+PC90ZD48L3RyPjwvdGJv
ZHk+PC90YWJsZT4gPGEgaHJlZj0iaHR0cDovL3d3dy5nb29nbGUuY29tLyI+PGJyPiBUaGlzIDwv
YT48Yj48YSBocmVmPSJodHRwOi8vd3d3Lmdvb2dsZS5jb20vIj5saW5lPC9hPjwvYj48YSBocmVm
PSJodHRwOi8vd3d3Lmdvb2dsZS5jb20vIj4gY29udGFpbnMgPC9hPjxhIGhyZWY9Imh0dHA6Ly93
d3cuZ29vZ2xlLmNvbS8iPjxpbWcgc3JjPSIuLi9yZXNvdXJjZXMvYWJlLnBuZyI+IGFuIGltYWdl
LiA8L2E+Cis8cD5UaGlzIDxpPmVkaXRhYmxlIHJlZ2lvbjwvaT4gY29udGFpbnMgbGlzdHMsIHRh
Ymxlcywgc3R5bGVkIHRleHQsIGFuZCBpbWFnZXMuIEV2ZXJ5dGhpbmcgaW4gdGhpcyByZWdpb24g
dGhhdCBpcyBub3Qgc2VsZWN0ZWQgc2hvdWxkIGJlIGEgbGluaywgbm90aGluZyB0aGF0IGlzIHNl
bGVjdGVkIHNob3VsZCBiZSBhIGxpbmsuPC9wPiA8dWw+IDxsaT5JdGVtIDE8L2xpPiA8bGk+SXRl
bSAyPC9saT4gPC91bD4gPHRhYmxlIGJvcmRlcj0iMSI+PHRib2R5Pjx0cj48dGQ+MTwvdGQ+PHRk
PjI8L3RkPjx0ZD48c3BhbiBpZD0idGVzdDRlbmQiPjxhIGhyZWY9Imh0dHA6Ly93d3cuZ29vZ2xl
LmNvbS8iPjM8L2E+PC9zcGFuPjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+IDxhIGhyZWY9Imh0
dHA6Ly93d3cuZ29vZ2xlLmNvbS8iPjxicj4gVGhpcyA8L2E+PGI+PGEgaHJlZj0iaHR0cDovL3d3
dy5nb29nbGUuY29tLyI+bGluZTwvYT48L2I+PGEgaHJlZj0iaHR0cDovL3d3dy5nb29nbGUuY29t
LyI+IGNvbnRhaW5zIDxpbWcgc3JjPSIuLi9yZXNvdXJjZXMvYWJlLnBuZyI+IGFuIGltYWdlLiA8
L2E+CkluZGV4OiBMYXlvdXRUZXN0cy9lZGl0aW5nL2V4ZWNDb21tYW5kL3Jlc291cmNlcy90b2dn
bGUtc3R5bGUtMy5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9lZGl0aW5nL2V4ZWNDb21t
YW5kL3Jlc291cmNlcy90b2dnbGUtc3R5bGUtMy5qcwkocmV2aXNpb24gMCkKKysrIExheW91dFRl
c3RzL2VkaXRpbmcvZXhlY0NvbW1hbmQvcmVzb3VyY2VzL3RvZ2dsZS1zdHlsZS0zLmpzCShyZXZp
c2lvbiAwKQpAQCAtMCwwICsxLDI2IEBACitkZXNjcmlwdGlvbigiVGVzdCB0byBtYWtlIHN1cmUg
d2UgcmVtb3ZlIHNwYW4gdGFncyB3aXRoIG5vIGF0dHJpYnV0ZXMgaWYgd2UgcmVtb3ZlZCB0aGUg
bGFzdCBhdHRyaWJ1dGUuIikKKwordmFyIHRlc3RDb250YWluZXIgPSBkb2N1bWVudC5jcmVhdGVF
bGVtZW50KCJkaXYiKTsKK3Rlc3RDb250YWluZXIuY29udGVudEVkaXRhYmxlID0gdHJ1ZTsKK2Rv
Y3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQodGVzdENvbnRhaW5lcik7CisKK2Z1bmN0aW9uIHRlc3RT
aW5nbGVUb2dnbGUodG9nZ2xlQ29tbWFuZCwgaW5pdGlhbENvbnRlbnRzLCBleHBlY3RlZENvbnRl
bnRzKQoreworICAgIHRlc3RDb250YWluZXIuaW5uZXJIVE1MID0gaW5pdGlhbENvbnRlbnRzOwor
ICAgIHdpbmRvdy5nZXRTZWxlY3Rpb24oKS5zZWxlY3RBbGxDaGlsZHJlbih0ZXN0Q29udGFpbmVy
KTsKKyAgICBkb2N1bWVudC5leGVjQ29tbWFuZCh0b2dnbGVDb21tYW5kLCBmYWxzZSwgbnVsbCk7
CisgICAgaWYgKHRlc3RDb250YWluZXIuaW5uZXJIVE1MID09PSBleHBlY3RlZENvbnRlbnRzKSB7
CisgICAgICAgIHRlc3RQYXNzZWQoIm9uZSAiICsgdG9nZ2xlQ29tbWFuZCArICIgY29tbWFuZCBj
b252ZXJ0ZWQgIiArIGluaXRpYWxDb250ZW50cyArICIgdG8gIiArIGV4cGVjdGVkQ29udGVudHMp
OworICAgIH0gZWxzZSB7CisgICAgICAgIHRlc3RGYWlsZWQoIm9uZSAiICsgdG9nZ2xlQ29tbWFu
ZCArICIgY29tbWFuZCBjb252ZXJ0ZWQgIiArIGluaXRpYWxDb250ZW50cyArICIgdG8gIiArIHRl
c3RDb250YWluZXIuaW5uZXJIVE1MICsgIiwgZXhwZWN0ZWQgIiArIGV4cGVjdGVkQ29udGVudHMp
OworICAgIH0KK30KKwordGVzdFNpbmdsZVRvZ2dsZSgiYm9sZCIsICdoZWxsbzxiIGlkPSJ0ZXN0
Ij53b3JsZDwvYj4nLCAnPGI+aGVsbG88L2I+PGIgaWQ9InRlc3QiPndvcmxkPC9iPicpOwordGVz
dFNpbmdsZVRvZ2dsZSgiYm9sZCIsICdoZWxsbzxiPjxpPndvcmxkPC9pPjwvYj4nLCAnPGI+aGVs
bG88aT53b3JsZDwvaT48L2I+Jyk7Cit0ZXN0U2luZ2xlVG9nZ2xlKCJpdGFsaWMiLCAnaGVsbG8g
PGk+d29ybGQ8L2k+IDxiPndlYmtpdDwvYj4nLCAnPGk+aGVsbG8gd29ybGQgPC9pPjxiPjxpPndl
YmtpdDwvaT48L2I+Jyk7Cit0ZXN0U2luZ2xlVG9nZ2xlKCJpdGFsaWMiLCAnaGVsbG8gPGk+d29y
bGQ8L2k+IHdlYmtpdCcsICc8aT5oZWxsbyB3b3JsZCB3ZWJraXQ8L2k+Jyk7CisKK2RvY3VtZW50
LmJvZHkucmVtb3ZlQ2hpbGQodGVzdENvbnRhaW5lcik7CisKK3ZhciBzdWNjZXNzZnVsbHlQYXJz
ZWQgPSB0cnVlOwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKSW5kZXg6IExheW91dFRlc3Rz
L3BsYXRmb3JtL21hYy9lZGl0aW5nL3N0eWxlLzUyMjgxNDEtZXhwZWN0ZWQudHh0Cj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9lZGl0aW5nL3N0eWxlLzUyMjgxNDEtZXhw
ZWN0ZWQudHh0CShyZXZpc2lvbiA0ODAwNCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9l
ZGl0aW5nL3N0eWxlLzUyMjgxNDEtZXhwZWN0ZWQudHh0CSh3b3JraW5nIGNvcHkpCkBAIC0xMSwx
MCArMTEsOSBAQCBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgICAgICAgICBSZW5kZXJJ
bmxpbmUge0J9IGF0ICgwLDApIHNpemUgMHgxOAogICAgICAgICAgICAgUmVuZGVyQlIge0JSfSBh
dCAoMCwwKSBzaXplIDB4MTgKICAgICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAsMTgpIHNp
emUgNzg0eDEwNwotICAgICAgICAgIFJlbmRlcklubGluZSB7Qn0gYXQgKDAsMCkgc2l6ZSAxNjZ4
MTgKKyAgICAgICAgICBSZW5kZXJJbmxpbmUge0J9IGF0ICgwLDApIHNpemUgMjQyeDE4CiAgICAg
ICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsODkpIHNpemUgMTY2eDE4CiAgICAgICAg
ICAgICAgIHRleHQgcnVuIGF0ICgwLDg5KSB3aWR0aCAxNjY6ICJUaGlzIHRleHQgc2hvdWxkIGJl
IGJvbGQuIgotICAgICAgICAgIFJlbmRlcklubGluZSB7Qn0gYXQgKDAsMCkgc2l6ZSA3NngxOAog
ICAgICAgICAgICAgUmVuZGVySW1hZ2Uge0lNR30gYXQgKDE2NiwwKSBzaXplIDc2eDEwMwogc2Vs
ZWN0aW9uIHN0YXJ0OiBwb3NpdGlvbiAwIG9mIGNoaWxkIDAge0JSfSBvZiBjaGlsZCAwIHtCfSBv
ZiBjaGlsZCAyIHtESVZ9IG9mIGNoaWxkIDEge0JPRFl9IG9mIGNoaWxkIDAge0hUTUx9IG9mIGRv
Y3VtZW50Ci1zZWxlY3Rpb24gZW5kOiAgIHBvc2l0aW9uIDEgb2YgY2hpbGQgMCB7SU1HfSBvZiBj
aGlsZCAxIHtCfSBvZiBjaGlsZCAxIHtESVZ9IG9mIGNoaWxkIDIge0RJVn0gb2YgY2hpbGQgMSB7
Qk9EWX0gb2YgY2hpbGQgMCB7SFRNTH0gb2YgZG9jdW1lbnQKK3NlbGVjdGlvbiBlbmQ6ICAgcG9z
aXRpb24gMSBvZiBjaGlsZCAxIHtJTUd9IG9mIGNoaWxkIDAge0J9IG9mIGNoaWxkIDEge0RJVn0g
b2YgY2hpbGQgMiB7RElWfSBvZiBjaGlsZCAxIHtCT0RZfSBvZiBjaGlsZCAwIHtIVE1MfSBvZiBk
b2N1bWVudApJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2VkaXRpbmcvc3R5bGUvc3R5
bGUtYm91bmRhcnktMDAxLWV4cGVjdGVkLnR4dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9w
bGF0Zm9ybS9tYWMvZWRpdGluZy9zdHlsZS9zdHlsZS1ib3VuZGFyeS0wMDEtZXhwZWN0ZWQudHh0
CShyZXZpc2lvbiA0ODAwNCkKKysrIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9lZGl0aW5nL3N0
eWxlL3N0eWxlLWJvdW5kYXJ5LTAwMS1leHBlY3RlZC50eHQJKHdvcmtpbmcgY29weSkKQEAgLTMx
LDExICszMSwxMCBAQCBsYXllciBhdCAoMCwwKSBzaXplIDgwMHg2MDAKICAgICAgICAgICBSZW5k
ZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAweDAKICAgICAgIFJlbmRlckJsb2NrIHtESVZ9
IGF0ICgwLDE4MCkgc2l6ZSA3ODR4MzIKICAgICAgICAgUmVuZGVyQmxvY2sge0RJVn0gYXQgKDAs
MCkgc2l6ZSA3ODR4MzIgW2JvcmRlcjogKDJweCBzb2xpZCAjRkYwMDAwKV0KLSAgICAgICAgICBS
ZW5kZXJJbmxpbmUge0J9IGF0ICgwLDApIHNpemUgMTJ4MjgKKyAgICAgICAgICBSZW5kZXJJbmxp
bmUge0J9IGF0ICgwLDApIHNpemUgMjV4MjgKICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0
fSBhdCAoMiwyKSBzaXplIDEyeDI4CiAgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICgyLDIpIHdp
ZHRoIDEyOiAiYSIKLSAgICAgICAgICBSZW5kZXJJbmxpbmUge0J9IGF0ICgwLDApIHNpemUgMTN4
MjgKICAgICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMTQsMikgc2l6ZSAxM3gyOAog
ICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoMTQsMikgd2lkdGggMTM6ICJiIgotc2VsZWN0aW9u
IHN0YXJ0OiBwb3NpdGlvbiAwIG9mIGNoaWxkIDAgeyN0ZXh0fSBvZiBjaGlsZCAxIHtCfSBvZiBj
aGlsZCAxIHtESVZ9IG9mIGNoaWxkIDMge0RJVn0gb2YgY2hpbGQgMSB7Qk9EWX0gb2YgY2hpbGQg
MCB7SFRNTH0gb2YgZG9jdW1lbnQKLXNlbGVjdGlvbiBlbmQ6ICAgcG9zaXRpb24gMSBvZiBjaGls
ZCAwIHsjdGV4dH0gb2YgY2hpbGQgMSB7Qn0gb2YgY2hpbGQgMSB7RElWfSBvZiBjaGlsZCAzIHtE
SVZ9IG9mIGNoaWxkIDEge0JPRFl9IG9mIGNoaWxkIDAge0hUTUx9IG9mIGRvY3VtZW50CitzZWxl
Y3Rpb24gc3RhcnQ6IHBvc2l0aW9uIDAgb2YgY2hpbGQgMSB7I3RleHR9IG9mIGNoaWxkIDAge0J9
IG9mIGNoaWxkIDEge0RJVn0gb2YgY2hpbGQgMyB7RElWfSBvZiBjaGlsZCAxIHtCT0RZfSBvZiBj
aGlsZCAwIHtIVE1MfSBvZiBkb2N1bWVudAorc2VsZWN0aW9uIGVuZDogICBwb3NpdGlvbiAxIG9m
IGNoaWxkIDEgeyN0ZXh0fSBvZiBjaGlsZCAwIHtCfSBvZiBjaGlsZCAxIHtESVZ9IG9mIGNoaWxk
IDMge0RJVn0gb2YgY2hpbGQgMSB7Qk9EWX0gb2YgY2hpbGQgMCB7SFRNTH0gb2YgZG9jdW1lbnQK
</data>
<flag name="review"
          id="19980"
          type_id="1"
          status="+"
          setter="eric"
    />
    <flag name="commit-queue"
          id="21987"
          type_id="3"
          status="-"
          setter="eric"
    />
          </attachment>
      

    </bug>

</bugzilla>