<?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>30330</bug_id>
          
          <creation_ts>2009-10-13 02:42:53 -0700</creation_ts>
          <short_desc>SVG wrong filterRegions for userSpaceOnUse and percentage values</short_desc>
          <delta_ts>2014-05-12 05:54:35 -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>SVG</component>
          <version>525.x (Safari 3.1)</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>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>68469</blocked>
    
    <blocked>26389</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Dirk Schulze">krit</reporter>
          <assigned_to name="Dirk Schulze">krit</assigned_to>
          <cc>zimmermann</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>154306</commentid>
    <comment_count>0</comment_count>
      <attachid>41096</attachid>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2009-10-13 02:42:53 -0700</bug_when>
    <thetext>Created attachment 41096
Example for fFilerRegions problem, should see red,white,blue rects

The calculation of filterRegion and subRegions are wrong when filterUnits or filterPrimitiveUnits use userSpaceOnUse and percentage values for x,y,width,height. It would be the best, but difficult to move the complete region code to SVGFilterElement and SVGFilterPrimitiveStandardAttributes. I think we didn&apos;t Move it there from the beginning because we need to wait till the rendered object is drawn before we can calculate the regions. I&apos;ll investigate this a bit more.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>154308</commentid>
    <comment_count>1</comment_count>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2009-10-13 03:24:41 -0700</bug_when>
    <thetext>Own tests show, that the filterRegion works like expected. It&apos;s just effect subRegion that need improvement.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>154408</commentid>
    <comment_count>2</comment_count>
      <attachid>41121</attachid>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2009-10-13 13:25:52 -0700</bug_when>
    <thetext>Created attachment 41121
Filter code clean-up

This clean-up helps to catch the bug. This patch makes the code more look like Masker and Clipping. Moved complete calculation of filterRegion from SVGResourceFilter to SVGFilterElement. This doesn&apos;t change functionality. So ne new test needed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>154548</commentid>
    <comment_count>3</comment_count>
      <attachid>41121</attachid>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2009-10-14 01:42:02 -0700</bug_when>
    <thetext>Comment on attachment 41121
Filter code clean-up

I&apos;ll upload an new patch with further clean-up and a fix of the problem.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>154632</commentid>
    <comment_count>4</comment_count>
      <attachid>41180</attachid>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2009-10-14 12:44:34 -0700</bug_when>
    <thetext>Created attachment 41180
Fix for effectRect values and userSpaceOnUse</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>154637</commentid>
    <comment_count>5</comment_count>
      <attachid>41182</attachid>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2009-10-14 12:57:56 -0700</bug_when>
    <thetext>Created attachment 41182
Fix for effectRect values and userSpaceOnUse

Mixed up some patches. Here the correct one.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>154641</commentid>
    <comment_count>6</comment_count>
      <attachid>41182</attachid>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2009-10-14 13:23:05 -0700</bug_when>
    <thetext>Comment on attachment 41182
Fix for effectRect values and userSpaceOnUse

Looks great, r=me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>154646</commentid>
    <comment_count>7</comment_count>
    <who name="Dirk Schulze">krit</who>
    <bug_when>2009-10-14 13:34:25 -0700</bug_when>
    <thetext>landed in r49582.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>41096</attachid>
            <date>2009-10-13 02:42:53 -0700</date>
            <delta_ts>2009-10-13 02:42:53 -0700</delta_ts>
            <desc>Example for fFilerRegions problem, should see red,white,blue rects</desc>
            <filename>tile5.svg</filename>
            <type>image/svg+xml</type>
            <size>498</size>
            <attacher name="Dirk Schulze">krit</attacher>
            
              <data encoding="base64">PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSI1MDAiIGhlaWdo
dD0iNTAwIj4KCjxmaWx0ZXIgaWQ9ImZpbHRlcjEiIGZpbHRlclVuaXRzPSJ1c2VyU3BhY2VPblVz
ZSIgcHJpbWl0aXZlVW5pdHM9InVzZXJTcGFjZU9uVXNlIj4KICA8ZmVGbG9vZCBmbG9vZC1jb2xv
cj0iI2ZmMDAwMCIgeD0iMCUiIHk9IjAlIiB3aWR0aD0iMjAlIiBoZWlnaHQ9IjIwJSIgcmVzdWx0
PSJmbG9vZDEiLz4KICA8ZmVGbG9vZCBmbG9vZC1jb2xvcj0iIzAwMDBmZiIgeD0iMjAlIiB5PSIy
MCUiIHdpZHRoPSIyMCUiIGhlaWdodD0iMjAlIiByZXN1bHQ9ImZsb29kMiIvPgogIDxmZUNvbXBv
c2l0ZSBpbj0iZmxvb2QxIiBpbjI9ImZsb29kMiIgeD0iMCUiIHk9IjAlIiB3aWR0aD0iNDAlIiBo
ZWlnaHQ9IjQwJSIgcmVzdWx0PSJwYWlyIi8+CiAgPGZlVGlsZSBpbj0icGFpciIvPgo8L2ZpbHRl
cj4KPGcgZmlsdGVyPSJ1cmwoI2ZpbHRlcjEpIj48L2c+Cjwvc3ZnPgoK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>41121</attachid>
            <date>2009-10-13 13:25:52 -0700</date>
            <delta_ts>2009-10-14 12:44:34 -0700</delta_ts>
            <desc>Filter code clean-up</desc>
            <filename>filter-cleanup1.patch</filename>
            <type>text/plain</type>
            <size>11538</size>
            <attacher name="Dirk Schulze">krit</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0OTUwNikKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjYgQEAKKzIwMDktMTAtMTMgIERpcmsgU2NodWx6ZSAgPGtyaXRAd2Via2l0Lm9y
Zz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTb21l
IGNsZWFuLXVwIG9mIHRoZSBmaWx0ZXJSZWdpb24gY2FsY3VsYXRpb24gY29kZS4gVGhpcyBtYWtl
cyB0aGUgY29kZQorICAgICAgICBtb3JlIGxvb2sgbGlrZSBNYXNrZXIgYW5kIENsaXBwaW5nLiBN
b3ZlZCBjb21wbGV0ZSBjYWxjdWxhdGlvbiBvZiBmaWx0ZXJSZWdpb24KKyAgICAgICAgZnJvbSBT
VkdSZXNvdXJjZUZpbHRlciB0byBTVkdGaWx0ZXJFbGVtZW50LiBUaGlzIGRvZXNuJ3QgY2hhbmdl
CisgICAgICAgIGZ1bmN0aW9uYWxpdHkuIFNvIG5lIG5ldyB0ZXN0IG5lZWRlZC4KKworICAgICAg
ICAqIHJlbmRlcmluZy9TVkdSZW5kZXJTdXBwb3J0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNW
R1JlbmRlckJhc2U6OmZpbHRlckJvdW5kaW5nQm94Rm9yUmVuZGVyZXIpOgorICAgICAgICAqIHN2
Zy9TVkdGaWx0ZXJFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0ZpbHRlckVsZW1l
bnQ6OmJ1aWxkRmlsdGVyKToKKyAgICAgICAgKFdlYkNvcmU6OlNWR0ZpbHRlckVsZW1lbnQ6OmNh
bnZhc1Jlc291cmNlKToKKyAgICAgICAgKiBzdmcvU1ZHRmlsdGVyRWxlbWVudC5oOgorICAgICAg
ICAqIHN2Zy9ncmFwaGljcy9TVkdSZXNvdXJjZUZpbHRlci5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpTVkdSZXNvdXJjZUZpbHRlcjo6U1ZHUmVzb3VyY2VGaWx0ZXIpOgorICAgICAgICAoV2ViQ29y
ZTo6U1ZHUmVzb3VyY2VGaWx0ZXI6On5TVkdSZXNvdXJjZUZpbHRlcik6CisgICAgICAgIChXZWJD
b3JlOjpTVkdSZXNvdXJjZUZpbHRlcjo6YWRkRmlsdGVyRWZmZWN0KToKKyAgICAgICAgKFdlYkNv
cmU6OlNWR1Jlc291cmNlRmlsdGVyOjpwcmVwYXJlRmlsdGVyKToKKyAgICAgICAgKiBzdmcvZ3Jh
cGhpY3MvU1ZHUmVzb3VyY2VGaWx0ZXIuaDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR1Jlc291cmNl
RmlsdGVyOjpjcmVhdGUpOgorCiAyMDA5LTEwLTEzICBCcmlhbiBXZWluc3RlaW4gIDxid2VpbnN0
ZWluQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBQYXZlbCBGZWxkbWFuLgpJbmRl
eDogV2ViQ29yZS9yZW5kZXJpbmcvU1ZHUmVuZGVyU3VwcG9ydC5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViQ29yZS9yZW5kZXJpbmcvU1ZHUmVuZGVyU3VwcG9ydC5jcHAJKHJldmlzaW9uIDQ5NDkyKQor
KysgV2ViQ29yZS9yZW5kZXJpbmcvU1ZHUmVuZGVyU3VwcG9ydC5jcHAJKHdvcmtpbmcgY29weSkK
QEAgLTIyMCw3ICsyMjAsNyBAQCBGbG9hdFJlY3QgU1ZHUmVuZGVyQmFzZTo6ZmlsdGVyQm91bmRp
bmdCCiAjaWYgRU5BQkxFKEZJTFRFUlMpCiAgICAgU1ZHUmVzb3VyY2VGaWx0ZXIqIGZpbHRlciA9
IGdldEZpbHRlckJ5SWQob2JqZWN0LT5kb2N1bWVudCgpLCBvYmplY3QtPnN0eWxlKCktPnN2Z1N0
eWxlKCktPmZpbHRlcigpKTsKICAgICBpZiAoZmlsdGVyKQotICAgICAgICByZXR1cm4gZmlsdGVy
LT5maWx0ZXJCQm94Rm9ySXRlbUJCb3gob2JqZWN0LT5vYmplY3RCb3VuZGluZ0JveCgpKTsKKyAg
ICAgICAgcmV0dXJuIGZpbHRlci0+ZmlsdGVyQm91bmRpbmdCb3goKTsKICNlbHNlCiAgICAgVU5V
U0VEX1BBUkFNKG9iamVjdCk7CiAjZW5kaWYKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0ZpbHRlckVs
ZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR0ZpbHRlckVsZW1lbnQuY3Bw
CShyZXZpc2lvbiA0OTQ5MikKKysrIFdlYkNvcmUvc3ZnL1NWR0ZpbHRlckVsZW1lbnQuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0yLDYgKzIsNyBAQAogICAgIENvcHlyaWdodCAoQykgMjAwNCwgMjAw
NSwgMjAwNiwgMjAwNyBOaWtvbGFzIFppbW1lcm1hbm4gPHppbW1lcm1hbm5Aa2RlLm9yZz4KICAg
ICBDb3B5cmlnaHQgKEMpIDIwMDQsIDIwMDUsIDIwMDYgUm9iIEJ1aXMgPGJ1aXNAa2RlLm9yZz4K
ICAgICBDb3B5cmlnaHQgKEMpIDIwMDYgU2FtdWVsIFdlaW5pZyA8c2FtLndlaW5pZ0BnbWFpbC5j
b20+CisgICAgQ29weXJpZ2h0IChDKSAyMDA5IERpcmsgU2NodWx6ZSA8a3JpdEB3ZWJraXQub3Jn
PgogCiAgICAgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdGhlIEtERSBwcm9qZWN0CiAKQEAgLTEwMiwz
OSArMTAzLDM4IEBAIHZvaWQgU1ZHRmlsdGVyRWxlbWVudDo6cGFyc2VNYXBwZWRBdHRyaWIKICAg
ICB9CiB9CiAKLVNWR1Jlc291cmNlKiBTVkdGaWx0ZXJFbGVtZW50OjpjYW52YXNSZXNvdXJjZSgp
Cit2b2lkIFNWR0ZpbHRlckVsZW1lbnQ6OmJ1aWxkRmlsdGVyKGNvbnN0IEZsb2F0UmVjdCYgdGFy
Z2V0UmVjdCkgY29uc3QKIHsKLSAgICBpZiAoIWF0dGFjaGVkKCkpCi0gICAgICAgIHJldHVybiAw
OwotCi0gICAgaWYgKCFtX2ZpbHRlcikKLSAgICAgICAgbV9maWx0ZXIgPSBuZXcgU1ZHUmVzb3Vy
Y2VGaWx0ZXIoKTsKLQogICAgIGJvb2wgZmlsdGVyQkJveE1vZGUgPSBmaWx0ZXJVbml0cygpID09
IFNWR1VuaXRUeXBlczo6U1ZHX1VOSVRfVFlQRV9PQkpFQ1RCT1VORElOR0JPWDsKLSAgICBtX2Zp
bHRlci0+c2V0RmlsdGVyQm91bmRpbmdCb3hNb2RlKGZpbHRlckJCb3hNb2RlKTsKLQotICAgIGZs
b2F0IF94LCBfeSwgX3dpZHRoLCBfaGVpZ2h0OworICAgIGJvb2wgcHJpbWl0aXZlQkJveE1vZGUg
PSBwcmltaXRpdmVVbml0cygpID09IFNWR1VuaXRUeXBlczo6U1ZHX1VOSVRfVFlQRV9PQkpFQ1RC
T1VORElOR0JPWDsKIAorICAgIEZsb2F0UmVjdCBmaWx0ZXJSZWN0OwogICAgIGlmIChmaWx0ZXJC
Qm94TW9kZSkgewotICAgICAgICBfeCA9IHgoKS52YWx1ZUFzUGVyY2VudGFnZSgpOwotICAgICAg
ICBfeSA9IHkoKS52YWx1ZUFzUGVyY2VudGFnZSgpOwotICAgICAgICBfd2lkdGggPSB3aWR0aCgp
LnZhbHVlQXNQZXJjZW50YWdlKCk7Ci0gICAgICAgIF9oZWlnaHQgPSBoZWlnaHQoKS52YWx1ZUFz
UGVyY2VudGFnZSgpOworICAgICAgICBmaWx0ZXJSZWN0ID0gRmxvYXRSZWN0KHgoKS52YWx1ZUFz
UGVyY2VudGFnZSgpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHkoKS52YWx1ZUFz
UGVyY2VudGFnZSgpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoKCkudmFs
dWVBc1BlcmNlbnRhZ2UoKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQo
KS52YWx1ZUFzUGVyY2VudGFnZSgpKTsKICAgICB9IGVsc2UgewotICAgICAgICBtX2ZpbHRlci0+
c2V0WEJvdW5kaW5nQm94TW9kZSh4KCkudW5pdFR5cGUoKSA9PSBMZW5ndGhUeXBlUGVyY2VudGFn
ZSk7Ci0gICAgICAgIG1fZmlsdGVyLT5zZXRZQm91bmRpbmdCb3hNb2RlKHkoKS51bml0VHlwZSgp
ID09IExlbmd0aFR5cGVQZXJjZW50YWdlKTsKLQotICAgICAgICBfeCA9IHgoKS52YWx1ZSh0aGlz
KTsKLSAgICAgICAgX3kgPSB5KCkudmFsdWUodGhpcyk7Ci0gICAgICAgIF93aWR0aCA9IHdpZHRo
KCkudmFsdWUodGhpcyk7Ci0gICAgICAgIF9oZWlnaHQgPSBoZWlnaHQoKS52YWx1ZSh0aGlzKTsK
LSAgICB9IAotCi0gICAgbV9maWx0ZXItPnNldEZpbHRlclJlY3QoRmxvYXRSZWN0KF94LCBfeSwg
X3dpZHRoLCBfaGVpZ2h0KSk7CisgICAgICAgIGZpbHRlclJlY3QgPSBGbG9hdFJlY3QoeCgpLnZh
bHVlKHRoaXMpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHkoKS52YWx1ZSh0aGlz
KSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aCgpLnZhbHVlKHRoaXMpLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodCgpLnZhbHVlKHRoaXMpKTsKKyAg
ICB9CiAKLSAgICBib29sIHByaW1pdGl2ZUJCb3hNb2RlID0gcHJpbWl0aXZlVW5pdHMoKSA9PSBT
VkdVbml0VHlwZXM6OlNWR19VTklUX1RZUEVfT0JKRUNUQk9VTkRJTkdCT1g7CisgICAgRmxvYXRS
ZWN0IGZpbHRlckJCb3ggPSBmaWx0ZXJSZWN0OworICAgIGlmIChmaWx0ZXJCQm94TW9kZSkKKyAg
ICAgICAgZmlsdGVyQkJveCA9IEZsb2F0UmVjdCh0YXJnZXRSZWN0LngoKSArIGZpbHRlckJCb3gu
eCgpICogdGFyZ2V0UmVjdC53aWR0aCgpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IHRhcmdldFJlY3QueSgpICsgZmlsdGVyQkJveC55KCkgKiB0YXJnZXRSZWN0LmhlaWdodCgpLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRlckJCb3gud2lkdGgoKSAqIHRhcmdl
dFJlY3Qud2lkdGgoKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWx0ZXJCQm94
LmhlaWdodCgpICogdGFyZ2V0UmVjdC5oZWlnaHQoKSk7CisKKyAgICBtX2ZpbHRlci0+c2V0Rmls
dGVyQm91bmRpbmdCb3goZmlsdGVyQkJveCk7CisgICAgbV9maWx0ZXItPnNldEZpbHRlclJlY3Qo
ZmlsdGVyUmVjdCk7CisgICAgbV9maWx0ZXItPnNldEl0ZW1Cb3VuZGluZ0JveCh0YXJnZXRSZWN0
KTsKICAgICBtX2ZpbHRlci0+c2V0RWZmZWN0Qm91bmRpbmdCb3hNb2RlKHByaW1pdGl2ZUJCb3hN
b2RlKTsKKyAgICBtX2ZpbHRlci0+c2V0RmlsdGVyQm91bmRpbmdCb3hNb2RlKGZpbHRlckJCb3hN
b2RlKTsKIAorICAgIC8vIEFkZCBlZmZlY3RzIHRvIHRoZSBmaWx0ZXIKICAgICBtX2ZpbHRlci0+
YnVpbGRlcigpLT5jbGVhckVmZmVjdHMoKTsKICAgICBmb3IgKE5vZGUqIG4gPSBmaXJzdENoaWxk
KCk7IG4gIT0gMDsgbiA9IG4tPm5leHRTaWJsaW5nKCkpIHsKICAgICAgICAgU1ZHRWxlbWVudCog
ZWxlbWVudCA9IDA7CkBAIC0xNDksMTIgKzE0OSwxOCBAQCBTVkdSZXNvdXJjZSogU1ZHRmlsdGVy
RWxlbWVudDo6Y2FudmFzUmVzCiAgICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICB9Cit9CiAK
K1NWR1Jlc291cmNlKiBTVkdGaWx0ZXJFbGVtZW50OjpjYW52YXNSZXNvdXJjZSgpCit7CisgICAg
aWYgKCFhdHRhY2hlZCgpKQorICAgICAgICByZXR1cm4gMDsKKworICAgIGlmICghbV9maWx0ZXIp
CisgICAgICAgIG1fZmlsdGVyID0gU1ZHUmVzb3VyY2VGaWx0ZXI6OmNyZWF0ZSh0aGlzKTsKICAg
ICByZXR1cm4gbV9maWx0ZXIuZ2V0KCk7CiB9CiAKIH0KIAotI2VuZGlmIC8vIEVOQUJMRShTVkcp
Ci0KLS8vIHZpbTp0cz00Om5vZXQKKyNlbmRpZiAvLyBFTkFCTEUoU1ZHKSAmJiBFTkFCTEUoRklM
VEVSUykKSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0ZpbHRlckVsZW1lbnQuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJDb3JlL3N2Zy9TVkdGaWx0ZXJFbGVtZW50LmgJKHJldmlzaW9uIDQ5NDkyKQorKysgV2Vi
Q29yZS9zdmcvU1ZHRmlsdGVyRWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC03Miw3ICs3Miwx
MSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBTVkdOYW1lczo6ZXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZEF0dHJTdHJpbmcsIGJv
b2wsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFeHRlcm5hbFJlc291
cmNlc1JlcXVpcmVkLCBleHRlcm5hbFJlc291cmNlc1JlcXVpcmVkKQogCi0gICAgICAgIFJlZlB0
cjxTVkdSZXNvdXJjZUZpbHRlcj4gbV9maWx0ZXI7CisgICAgICAgIG11dGFibGUgUmVmUHRyPFNW
R1Jlc291cmNlRmlsdGVyPiBtX2ZpbHRlcjsKKworICAgIHByaXZhdGU6CisgICAgICAgIGZyaWVu
ZCBjbGFzcyBTVkdSZXNvdXJjZUZpbHRlcjsKKyAgICAgICAgdm9pZCBidWlsZEZpbHRlcihjb25z
dCBGbG9hdFJlY3QmIHRhcmdldFJlY3QpIGNvbnN0OwogICAgIH07CiAKIH0gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKSW5kZXg6IFdlYkNvcmUvc3ZnL2dyYXBoaWNzL1NWR1Jlc291cmNlRmlsdGVyLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9ncmFwaGljcy9TVkdSZXNvdXJjZUZpbHRlci5j
cHAJKHJldmlzaW9uIDQ5NDkyKQorKysgV2ViQ29yZS9zdmcvZ3JhcGhpY3MvU1ZHUmVzb3VyY2VG
aWx0ZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMSw1MiArMzEsNDQgQEAKICNpbmNsdWRlICJQ
bGF0Zm9ybVN0cmluZy5oIgogI2luY2x1ZGUgIlNWR0ZpbHRlci5oIgogI2luY2x1ZGUgIlNWR0Zp
bHRlckJ1aWxkZXIuaCIKKyNpbmNsdWRlICJTVkdGaWx0ZXJFbGVtZW50LmgiCiAjaW5jbHVkZSAi
U1ZHUmVuZGVyVHJlZUFzVGV4dC5oIgogI2luY2x1ZGUgIlNWR0ZpbHRlclByaW1pdGl2ZVN0YW5k
YXJkQXR0cmlidXRlcy5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLVNWR1Jlc291cmNlRmls
dGVyOjpTVkdSZXNvdXJjZUZpbHRlcigpCi0gICAgOiBtX2ZpbHRlckJCb3hNb2RlKGZhbHNlKQor
U1ZHUmVzb3VyY2VGaWx0ZXI6OlNWR1Jlc291cmNlRmlsdGVyKGNvbnN0IFNWR0ZpbHRlckVsZW1l
bnQqIG93bmVyRWxlbWVudCkKKyAgICA6IFNWR1Jlc291cmNlKCkKKyAgICAsIG1fb3duZXJFbGVt
ZW50KG93bmVyRWxlbWVudCkKKyAgICAsIG1fZmlsdGVyQkJveE1vZGUoZmFsc2UpCiAgICAgLCBt
X2VmZmVjdEJCb3hNb2RlKGZhbHNlKQotICAgICwgbV94QkJveE1vZGUoZmFsc2UpCi0gICAgLCBt
X3lCQm94TW9kZShmYWxzZSkKICAgICAsIG1fc2F2ZWRDb250ZXh0KDApCiAgICAgLCBtX3NvdXJj
ZUdyYXBoaWNCdWZmZXIoMCkKIHsKICAgICBtX2ZpbHRlckJ1aWxkZXIuc2V0KG5ldyBTVkdGaWx0
ZXJCdWlsZGVyKCkpOwogfQogCi12b2lkIFNWR1Jlc291cmNlRmlsdGVyOjphZGRGaWx0ZXJFZmZl
Y3QoU1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVzKiBlZmZlY3RBdHRyaWJ1dGVz
LCBQYXNzUmVmUHRyPEZpbHRlckVmZmVjdD4gZWZmZWN0KQorU1ZHUmVzb3VyY2VGaWx0ZXI6On5T
VkdSZXNvdXJjZUZpbHRlcigpCiB7Ci0gICAgZWZmZWN0QXR0cmlidXRlcy0+c2V0U3RhbmRhcmRB
dHRyaWJ1dGVzKHRoaXMsIGVmZmVjdC5nZXQoKSk7Ci0gICAgYnVpbGRlcigpLT5hZGQoZWZmZWN0
QXR0cmlidXRlcy0+cmVzdWx0KCksIGVmZmVjdCk7CiB9CiAKLUZsb2F0UmVjdCBTVkdSZXNvdXJj
ZUZpbHRlcjo6ZmlsdGVyQkJveEZvckl0ZW1CQm94KGNvbnN0IEZsb2F0UmVjdCYgaXRlbUJCb3gp
IGNvbnN0Cit2b2lkIFNWR1Jlc291cmNlRmlsdGVyOjphZGRGaWx0ZXJFZmZlY3QoU1ZHRmlsdGVy
UHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVzKiBlZmZlY3RBdHRyaWJ1dGVzLCBQYXNzUmVmUHRy
PEZpbHRlckVmZmVjdD4gZWZmZWN0KQogewotICAgIEZsb2F0UmVjdCBmaWx0ZXJCQm94ID0gZmls
dGVyUmVjdCgpOwotCi0gICAgaWYgKGZpbHRlckJvdW5kaW5nQm94TW9kZSgpKQotICAgICAgICBm
aWx0ZXJCQm94ID0gRmxvYXRSZWN0KGl0ZW1CQm94LngoKSArIGZpbHRlckJCb3gueCgpICogaXRl
bUJCb3gud2lkdGgoKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpdGVtQkJveC55
KCkgKyBmaWx0ZXJCQm94LnkoKSAqIGl0ZW1CQm94LmhlaWdodCgpLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGZpbHRlckJCb3gud2lkdGgoKSAqIGl0ZW1CQm94LndpZHRoKCksCi0g
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsdGVyQkJveC5oZWlnaHQoKSAqIGl0ZW1C
Qm94LmhlaWdodCgpKTsKLQotICAgIHJldHVybiBmaWx0ZXJCQm94OworICAgIGVmZmVjdEF0dHJp
YnV0ZXMtPnNldFN0YW5kYXJkQXR0cmlidXRlcyh0aGlzLCBlZmZlY3QuZ2V0KCkpOworICAgIGJ1
aWxkZXIoKS0+YWRkKGVmZmVjdEF0dHJpYnV0ZXMtPnJlc3VsdCgpLCBlZmZlY3QpOwogfQogCiB2
b2lkIFNWR1Jlc291cmNlRmlsdGVyOjpwcmVwYXJlRmlsdGVyKEdyYXBoaWNzQ29udGV4dComIGNv
bnRleHQsIGNvbnN0IFJlbmRlck9iamVjdCogb2JqZWN0KQogewotICAgIG1faXRlbUJCb3ggPSBv
YmplY3QtPm9iamVjdEJvdW5kaW5nQm94KCk7Ci0gICAgbV9maWx0ZXJCQm94ID0gZmlsdGVyQkJv
eEZvckl0ZW1CQm94KG1faXRlbUJCb3gpOworICAgIEZsb2F0UmVjdCB0YXJnZXRSZWN0ID0gb2Jq
ZWN0LT5vYmplY3RCb3VuZGluZ0JveCgpOworICAgIG1fb3duZXJFbGVtZW50LT5idWlsZEZpbHRl
cih0YXJnZXRSZWN0KTsKIAogICAgIC8vIGNsaXAgc291cmNlSW1hZ2UgdG8gZmlsdGVyUmVnaW9u
Ci0gICAgRmxvYXRSZWN0IGNsaXBwZWRTb3VyY2VSZWN0ID0gbV9pdGVtQkJveDsKKyAgICBGbG9h
dFJlY3QgY2xpcHBlZFNvdXJjZVJlY3QgPSB0YXJnZXRSZWN0OwogICAgIGNsaXBwZWRTb3VyY2VS
ZWN0LmludGVyc2VjdChtX2ZpbHRlckJCb3gpOwogCiAgICAgLy8gcHJlcGFyZSBGaWx0ZXJzCi0g
ICAgbV9maWx0ZXIgPSBTVkdGaWx0ZXI6OmNyZWF0ZShtX2l0ZW1CQm94LCBtX2ZpbHRlckJCb3gs
IG1fZWZmZWN0QkJveE1vZGUsIG1fZmlsdGVyQkJveE1vZGUpOworICAgIG1fZmlsdGVyID0gU1ZH
RmlsdGVyOjpjcmVhdGUodGFyZ2V0UmVjdCwgbV9maWx0ZXJCQm94LCBtX2VmZmVjdEJCb3hNb2Rl
LCBtX2ZpbHRlckJCb3hNb2RlKTsKIAogICAgIEZpbHRlckVmZmVjdCogbGFzdEVmZmVjdCA9IG1f
ZmlsdGVyQnVpbGRlci0+bGFzdEVmZmVjdCgpOwogICAgIGlmIChsYXN0RWZmZWN0KQpAQCAtOTEs
OCArODMsOCBAQCB2b2lkIFNWR1Jlc291cmNlRmlsdGVyOjpwcmVwYXJlRmlsdGVyKEdyCiAgICAg
ICAgIHJldHVybjsKIAogICAgIEdyYXBoaWNzQ29udGV4dCogc291cmNlR3JhcGhpY0NvbnRleHQg
PSBzb3VyY2VHcmFwaGljLT5jb250ZXh0KCk7Ci0gICAgc291cmNlR3JhcGhpY0NvbnRleHQtPnRy
YW5zbGF0ZSgtbV9pdGVtQkJveC54KCksIC1tX2l0ZW1CQm94LnkoKSk7Ci0gICAgc291cmNlR3Jh
cGhpY0NvbnRleHQtPmNsZWFyUmVjdChGbG9hdFJlY3QoRmxvYXRQb2ludCgpLCBtX2l0ZW1CQm94
LnNpemUoKSkpOworICAgIHNvdXJjZUdyYXBoaWNDb250ZXh0LT50cmFuc2xhdGUoLXRhcmdldFJl
Y3QueCgpLCAtdGFyZ2V0UmVjdC55KCkpOworICAgIHNvdXJjZUdyYXBoaWNDb250ZXh0LT5jbGVh
clJlY3QoRmxvYXRSZWN0KEZsb2F0UG9pbnQoKSwgdGFyZ2V0UmVjdC5zaXplKCkpKTsKICAgICBt
X3NvdXJjZUdyYXBoaWNCdWZmZXIuc2V0KHNvdXJjZUdyYXBoaWMucmVsZWFzZSgpKTsKICAgICBt
X3NhdmVkQ29udGV4dCA9IGNvbnRleHQ7CiAKSW5kZXg6IFdlYkNvcmUvc3ZnL2dyYXBoaWNzL1NW
R1Jlc291cmNlRmlsdGVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvZ3JhcGhpY3MvU1ZH
UmVzb3VyY2VGaWx0ZXIuaAkocmV2aXNpb24gNDk0OTIpCisrKyBXZWJDb3JlL3N2Zy9ncmFwaGlj
cy9TVkdSZXNvdXJjZUZpbHRlci5oCSh3b3JraW5nIGNvcHkpCkBAIC00MywxMSArNDMsMTMgQEAg
Y2xhc3MgRmlsdGVyOwogY2xhc3MgRmlsdGVyRWZmZWN0OwogY2xhc3MgR3JhcGhpY3NDb250ZXh0
OwogY2xhc3MgU1ZHRmlsdGVyQnVpbGRlcjsKK2NsYXNzIFNWR0ZpbHRlckVsZW1lbnQ7CiBjbGFz
cyBTVkdGaWx0ZXJQcmltaXRpdmVTdGFuZGFyZEF0dHJpYnV0ZXM7CiAKIGNsYXNzIFNWR1Jlc291
cmNlRmlsdGVyIDogcHVibGljIFNWR1Jlc291cmNlIHsKIHB1YmxpYzoKLSAgICBTVkdSZXNvdXJj
ZUZpbHRlcigpOworICAgIHN0YXRpYyBQYXNzUmVmUHRyPFNWR1Jlc291cmNlRmlsdGVyPiBjcmVh
dGUoY29uc3QgU1ZHRmlsdGVyRWxlbWVudCogb3duZXJFbGVtZW50KSB7IHJldHVybiBhZG9wdFJl
ZihuZXcgU1ZHUmVzb3VyY2VGaWx0ZXIob3duZXJFbGVtZW50KSk7IH0KKyAgICB2aXJ0dWFsIH5T
VkdSZXNvdXJjZUZpbHRlcigpOwogICAgIAogICAgIHZpcnR1YWwgU1ZHUmVzb3VyY2VUeXBlIHJl
c291cmNlVHlwZSgpIGNvbnN0IHsgcmV0dXJuIEZpbHRlclJlc291cmNlVHlwZTsgfQogCkBAIC01
NywxMiArNTksNiBAQCBwdWJsaWM6CiAgICAgYm9vbCBlZmZlY3RCb3VuZGluZ0JveE1vZGUoKSBj
b25zdCB7IHJldHVybiBtX2VmZmVjdEJCb3hNb2RlOyB9CiAgICAgdm9pZCBzZXRFZmZlY3RCb3Vu
ZGluZ0JveE1vZGUoYm9vbCBiYm94TW9kZSkgeyBtX2VmZmVjdEJCb3hNb2RlID0gYmJveE1vZGU7
IH0KIAotICAgIGJvb2wgeEJvdW5kaW5nQm94TW9kZSgpIGNvbnN0IHsgcmV0dXJuIG1feEJCb3hN
b2RlOyB9Ci0gICAgdm9pZCBzZXRYQm91bmRpbmdCb3hNb2RlKGJvb2wgYmJveE1vZGUpIHsgbV94
QkJveE1vZGUgPSBiYm94TW9kZTsgfQotCi0gICAgYm9vbCB5Qm91bmRpbmdCb3hNb2RlKCkgY29u
c3QgeyByZXR1cm4gbV95QkJveE1vZGU7IH0KLSAgICB2b2lkIHNldFlCb3VuZGluZ0JveE1vZGUo
Ym9vbCBiYm94TW9kZSkgeyBtX3lCQm94TW9kZSA9IGJib3hNb2RlOyB9Ci0KICAgICBGbG9hdFJl
Y3QgZmlsdGVyUmVjdCgpIGNvbnN0IHsgcmV0dXJuIG1fZmlsdGVyUmVjdDsgfQogICAgIHZvaWQg
c2V0RmlsdGVyUmVjdChjb25zdCBGbG9hdFJlY3QmIHJlY3QpIHsgbV9maWx0ZXJSZWN0ID0gcmVj
dDsgfQogCkBAIC03Miw4ICs2OCw2IEBAIHB1YmxpYzoKICAgICBGbG9hdFJlY3QgaXRlbUJvdW5k
aW5nQm94KCkgeyByZXR1cm4gbV9pdGVtQkJveDsgfQogICAgIHZvaWQgc2V0SXRlbUJvdW5kaW5n
Qm94KGNvbnN0IEZsb2F0UmVjdCYgcmVjdCkgeyBtX2l0ZW1CQm94ID0gcmVjdDsgfQogCi0gICAg
RmxvYXRSZWN0IGZpbHRlckJCb3hGb3JJdGVtQkJveChjb25zdCBGbG9hdFJlY3QmIGl0ZW1CQm94
KSBjb25zdDsKLQogICAgIHZpcnR1YWwgVGV4dFN0cmVhbSYgZXh0ZXJuYWxSZXByZXNlbnRhdGlv
bihUZXh0U3RyZWFtJikgY29uc3Q7CiAKICAgICB2b2lkIHByZXBhcmVGaWx0ZXIoR3JhcGhpY3ND
b250ZXh0KiYsIGNvbnN0IFJlbmRlck9iamVjdCopOwpAQCAtODQsMTMgKzc4LDEzIEBAIHB1Ymxp
YzoKICAgICBTVkdGaWx0ZXJCdWlsZGVyKiBidWlsZGVyKCkgeyByZXR1cm4gbV9maWx0ZXJCdWls
ZGVyLmdldCgpOyB9CiAgICAgCiBwcml2YXRlOgorICAgIFNWR1Jlc291cmNlRmlsdGVyKGNvbnN0
IFNWR0ZpbHRlckVsZW1lbnQqKTsKKworICAgIGNvbnN0IFNWR0ZpbHRlckVsZW1lbnQqIG1fb3du
ZXJFbGVtZW50OwogCiAgICAgYm9vbCBtX2ZpbHRlckJCb3hNb2RlIDogMTsKICAgICBib29sIG1f
ZWZmZWN0QkJveE1vZGUgOiAxOwogCi0gICAgYm9vbCBtX3hCQm94TW9kZSA6IDE7Ci0gICAgYm9v
bCBtX3lCQm94TW9kZSA6IDE7Ci0KICAgICBGbG9hdFJlY3QgbV9maWx0ZXJSZWN0OwogCiAgICAg
RmxvYXRSZWN0IG1fZmlsdGVyQkJveDsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>41180</attachid>
            <date>2009-10-14 12:44:34 -0700</date>
            <delta_ts>2009-10-14 12:57:56 -0700</delta_ts>
            <desc>Fix for effectRect values and userSpaceOnUse</desc>
            <filename>filter-cleanup5.patch</filename>
            <type>text/plain</type>
            <size>44776</size>
            <attacher name="Dirk Schulze">krit</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0OTU4MSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsNDcgQEAKKzIwMDktMTAtMTQgIERpcmsgU2NodWx6ZSAgPGtyaXRAd2Via2l0Lm9y
Zz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTVkcg
d3JvbmcgZmlsdGVyUmVnaW9ucyBmb3IgdXNlclNwYWNlT25Vc2UgYW5kIHBlcmNlbnRhZ2UgdmFs
dWVzCisgICAgICAgIFtodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzAz
MzBdCisKKyAgICAgICAgU29tZSBjbGVhbi11cCBvZiB0aGUgU1ZHIGZpbHRlciBjYWxjdWxhdGlv
biBjb2RlLiBUaGlzIGNsZWFuLXVwCisgICAgICAgIGFsc28gZml4ZXMgdGhlIHByb2JsZW0gd2l0
aCBwZXJjZW50YWdlIGFuZCB1c2VyU3BhY2VJblVzZSBtb2RlLgorCisgICAgICAgIFRlc3Q6IHN2
Zy9maWx0ZXJzL3N1YlJlZ2lvbi1pbi11c2VyU3BhY2Uuc3ZnCisKKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy9jYWlyby9HcmFwaGljc0NvbnRleHRDYWlyby5jcHA6CisgICAgICAgIChXZWJD
b3JlOjpHcmFwaGljc0NvbnRleHQ6OnNhdmVQbGF0Zm9ybVN0YXRlKToKKyAgICAgICAgKFdlYkNv
cmU6OkdyYXBoaWNzQ29udGV4dDo6cmVzdG9yZVBsYXRmb3JtU3RhdGUpOgorICAgICAgICAoV2Vi
Q29yZTo6R3JhcGhpY3NDb250ZXh0OjpjbGlwVG9JbWFnZUJ1ZmZlcik6CisgICAgICAgIChXZWJD
b3JlOjpHcmFwaGljc0NvbnRleHQ6OmJlZ2luVHJhbnNwYXJlbmN5TGF5ZXIpOgorICAgICAgICAq
IHBsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0dyYXBoaWNzQ29udGV4dFBsYXRmb3JtUHJpdmF0ZUNh
aXJvLmg6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GaWx0ZXJFZmZlY3Qu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6RmlsdGVyRWZmZWN0OjpGaWx0ZXJFZmZlY3QpOgorICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRmlsdGVyRWZmZWN0Lmg6CisgICAgICAg
ICogcmVuZGVyaW5nL1NWR1JlbmRlclN1cHBvcnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZH
UmVuZGVyQmFzZTo6ZmlsdGVyQm91bmRpbmdCb3hGb3JSZW5kZXJlcik6CisgICAgICAgICogc3Zn
L1NWR0ZpbHRlckVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRmlsdGVyRWxlbWVu
dDo6YnVpbGRGaWx0ZXIpOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRmlsdGVyRWxlbWVudDo6Y2Fu
dmFzUmVzb3VyY2UpOgorICAgICAgICAqIHN2Zy9TVkdGaWx0ZXJFbGVtZW50Lmg6CisgICAgICAg
ICogc3ZnL1NWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRlcy5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpTVkdGaWx0ZXJQcmltaXRpdmVTdGFuZGFyZEF0dHJpYnV0ZXM6OnNldFN0YW5k
YXJkQXR0cmlidXRlcyk6CisgICAgICAgICogc3ZnL1NWR01hc2tFbGVtZW50LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlNWR01hc2tFbGVtZW50OjpkcmF3TWFza2VyQ29udGVudCk6CisgICAgICAg
ICogc3ZnL2dyYXBoaWNzL1NWR1Jlc291cmNlRmlsdGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlNWR1Jlc291cmNlRmlsdGVyOjpTVkdSZXNvdXJjZUZpbHRlcik6CisgICAgICAgIChXZWJDb3Jl
OjpTVkdSZXNvdXJjZUZpbHRlcjo6flNWR1Jlc291cmNlRmlsdGVyKToKKyAgICAgICAgKFdlYkNv
cmU6OlNWR1Jlc291cmNlRmlsdGVyOjphZGRGaWx0ZXJFZmZlY3QpOgorICAgICAgICAoV2ViQ29y
ZTo6U1ZHUmVzb3VyY2VGaWx0ZXI6OnByZXBhcmVGaWx0ZXIpOgorICAgICAgICAqIHN2Zy9ncmFw
aGljcy9TVkdSZXNvdXJjZUZpbHRlci5oOgorICAgICAgICAoV2ViQ29yZTo6U1ZHUmVzb3VyY2VG
aWx0ZXI6OmNyZWF0ZSk6CisgICAgICAgICogc3ZnL2dyYXBoaWNzL2ZpbHRlcnMvU1ZHRmlsdGVy
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0ZpbHRlcjo6U1ZHRmlsdGVyKToKKyAgICAgICAg
KFdlYkNvcmU6OlNWR0ZpbHRlcjo6Y2FsY3VsYXRlRWZmZWN0U3ViUmVnaW9uKToKKyAgICAgICAg
KFdlYkNvcmU6OlNWR0ZpbHRlcjo6Y3JlYXRlKToKKyAgICAgICAgKiBzdmcvZ3JhcGhpY3MvZmls
dGVycy9TVkdGaWx0ZXIuaDoKKwogMjAwOS0xMC0xNCAgQ2hyaXMgTWFycmluICA8Y21hcnJpbkBh
cHBsZS5jb20+CiAKICAgICAgICAgVGhlIGxhc3QgY2hhbmdlIGZpeGVkIHRoZSBwcm9ibGVtLCBy
ZW1vdmluZyBkaWFnbm9zdGljIHByaW50ZnMuCkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBo
aWNzL2NhaXJvL0dyYXBoaWNzQ29udGV4dENhaXJvLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3Jl
L3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0dyYXBoaWNzQ29udGV4dENhaXJvLmNwcAkocmV2aXNp
b24gNDk0OTIpCisrKyBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0dyYXBoaWNzQ29u
dGV4dENhaXJvLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTA4LDEzICsxMDgsMzAgQEAgY2Fpcm9f
dCogR3JhcGhpY3NDb250ZXh0OjpwbGF0Zm9ybUNvbnRleAogCiB2b2lkIEdyYXBoaWNzQ29udGV4
dDo6c2F2ZVBsYXRmb3JtU3RhdGUoKQogeworICAgIGlmICghbV9kYXRhLT5jb3VudFNhdmVzRHVy
aW5nTWFza2luZy5pc0VtcHR5KCkpCisgICAgICAgIG1fZGF0YS0+Y291bnRTYXZlc0R1cmluZ01h
c2tpbmcubGFzdCgpKys7CiAgICAgY2Fpcm9fc2F2ZShtX2RhdGEtPmNyKTsKICAgICBtX2RhdGEt
PnNhdmUoKTsKIH0KIAogdm9pZCBHcmFwaGljc0NvbnRleHQ6OnJlc3RvcmVQbGF0Zm9ybVN0YXRl
KCkKIHsKLSAgICBjYWlyb19yZXN0b3JlKG1fZGF0YS0+Y3IpOworICAgIGNhaXJvX3QqIGNyID0g
bV9kYXRhLT5jcjsKKyAgICBpZiAoIW1fZGF0YS0+Y291bnRTYXZlc0R1cmluZ01hc2tpbmcuaXNF
bXB0eSgpKSB7CisgICAgICAgIGlmIChtX2RhdGEtPmNvdW50U2F2ZXNEdXJpbmdNYXNraW5nLmxh
c3QoKSkKKyAgICAgICAgICAgICBtX2RhdGEtPmNvdW50U2F2ZXNEdXJpbmdNYXNraW5nLmxhc3Qo
KS0tOworICAgICAgICBlbHNlIHsKKyAgICAgICAgICAgICBtX2RhdGEtPmNvdW50U2F2ZXNEdXJp
bmdNYXNraW5nLnJlbW92ZUxhc3QoKTsKKyAgICAgICAgICAgICAvLyBDbG9zZSBtYXNrZWQgb2Jq
ZWN0CisgICAgICAgICAgICAgY2Fpcm9fcG9wX2dyb3VwX3RvX3NvdXJjZShjcik7CisgICAgICAg
ICAgICAgY2Fpcm9fcGFpbnQoY3IpOworICAgICAgICAgICAgIC8vIGNsb3NlIG1hc2tpbmcKKyAg
ICAgICAgICAgICBjYWlyb19wb3BfZ3JvdXBfdG9fc291cmNlKGNyKTsKKyAgICAgICAgICAgICBj
YWlyb19wYWludChjcik7CisgICAgICAgIH0KKyAgICB9CisKKyAgICBjYWlyb19yZXN0b3JlKGNy
KTsKICAgICBtX2RhdGEtPnJlc3RvcmUoKTsKIH0KIApAQCAtNzIzLDcgKzc0MCwyNiBAQCB2b2lk
IEdyYXBoaWNzQ29udGV4dDo6Y2xpcFRvSW1hZ2VCdWZmZXIoCiAgICAgaWYgKHBhaW50aW5nRGlz
YWJsZWQoKSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICBj
YWlyb190KiBjciA9IG1fZGF0YS0+Y3I7CisKKyAgICBtX2RhdGEtPmNvdW50U2F2ZXNEdXJpbmdN
YXNraW5nLmFwcGVuZCgwKTsKKworICAgIC8vIEZJWE1FOiBTYXZlIGltYWdlQnVmZmVyIG9uIGEg
c3RhY2sgKGNsaXBUb0ltYWdlQnVmZmVyIGNhbiBiZSBjYWxsZWQgbXVsdGlwbGUgdGltZXMpIAor
ICAgIC8vIGFuZCBtYWtlIHVzZSBvZiBjYWlyb19tYXNrX3N1cmZhY2UoKQorCisgICAgLy8gRHJh
dyB0aGUgbWFza2luZyBpbiBhIGRpZmZlcmVudCBsYXllcgorICAgIGNhaXJvX3B1c2hfZ3JvdXAo
Y3IpOworCisgICAgY2Fpcm9fc2V0X3NvdXJjZV9zdXJmYWNlKGNyLCBpbWFnZUJ1ZmZlci0+aW1h
Z2UoKS0+bmF0aXZlSW1hZ2VGb3JDdXJyZW50RnJhbWUoKSwgcmVjdC54KCksIHJlY3QueSgpKTsK
KyAgICBjYWlyb19yZWN0YW5nbGUoY3IsIHJlY3QueCgpLCByZWN0LnkoKSwgcmVjdC53aWR0aCgp
LCByZWN0LmhlaWdodCgpKTsKKyAgICBjYWlyb19maWxsKGNyKTsKKworICAgIGNhaXJvX3NldF9v
cGVyYXRvcihjciwgQ0FJUk9fT1BFUkFUT1JfSU4pOworCisgICAgLy8gRHJhdyB0aGUgbWFza2Vk
IG9iamVjdCBpbiBhIGRpZmZlcmVudCBsYXllciwgdG8gYXZvaWQgcHJvYmxlbXMgd2l0aAorICAg
IC8vIG5ldyBjb21wb3NpdGUgb3BlcmF0b3JzLgorICAgIGNhaXJvX3B1c2hfZ3JvdXAoY3IpOwor
ICAgIGNhaXJvX3NldF9vcGVyYXRvcihjciwgQ0FJUk9fT1BFUkFUT1JfT1ZFUik7CiB9CiAKIHZv
aWQgR3JhcGhpY3NDb250ZXh0OjpzZXRQbGF0Zm9ybVNoYWRvdyhJbnRTaXplIGNvbnN0JiwgaW50
LCBDb2xvciBjb25zdCYpCkBAIC03NDAsNyArNzc2LDYgQEAgdm9pZCBHcmFwaGljc0NvbnRleHQ6
OmJlZ2luVHJhbnNwYXJlbmN5TAogewogICAgIGlmIChwYWludGluZ0Rpc2FibGVkKCkpCiAgICAg
ICAgIHJldHVybjsKLQogICAgIGNhaXJvX3QqIGNyID0gbV9kYXRhLT5jcjsKICAgICBjYWlyb19w
dXNoX2dyb3VwKGNyKTsKICAgICBtX2RhdGEtPmxheWVycy5hcHBlbmQob3BhY2l0eSk7CkluZGV4
OiBXZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL2NhaXJvL0dyYXBoaWNzQ29udGV4dFBsYXRmb3Jt
UHJpdmF0ZUNhaXJvLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9j
YWlyby9HcmFwaGljc0NvbnRleHRQbGF0Zm9ybVByaXZhdGVDYWlyby5oCShyZXZpc2lvbiA0OTQ5
MikKKysrIFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vR3JhcGhpY3NDb250ZXh0UGxh
dGZvcm1Qcml2YXRlQ2Fpcm8uaAkod29ya2luZyBjb3B5KQpAQCAtOTMsNiArOTMsNyBAQCBwdWJs
aWM6CiAKICAgICBjYWlyb190KiBjcjsKICAgICBWZWN0b3I8ZmxvYXQ+IGxheWVyczsKKyAgICBW
ZWN0b3I8aW50PiBjb3VudFNhdmVzRHVyaW5nTWFza2luZzsKIAogI2lmIFBMQVRGT1JNKEdUSykK
ICAgICBHZGtFdmVudEV4cG9zZSogZXhwb3NlOwpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy9maWx0ZXJzL0ZpbHRlckVmZmVjdC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZpbHRlckVmZmVjdC5jcHAJKHJldmlzaW9uIDQ5NDkyKQor
KysgV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZpbHRlckVmZmVjdC5jcHAJKHdv
cmtpbmcgY29weSkKQEAgLTI1LDExICsyNSw3IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIEZp
bHRlckVmZmVjdDo6RmlsdGVyRWZmZWN0KCkKLSAgICA6IG1feEJCb3hNb2RlKGZhbHNlKQotICAg
ICwgbV95QkJveE1vZGUoZmFsc2UpCi0gICAgLCBtX3dpZHRoQkJveE1vZGUoZmFsc2UpCi0gICAg
LCBtX2hlaWdodEJCb3hNb2RlKGZhbHNlKQotICAgICwgbV9oYXNYKGZhbHNlKQorICAgIDogbV9o
YXNYKGZhbHNlKQogICAgICwgbV9oYXNZKGZhbHNlKQogICAgICwgbV9oYXNXaWR0aChmYWxzZSkK
ICAgICAsIG1faGFzSGVpZ2h0KGZhbHNlKQpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGlj
cy9maWx0ZXJzL0ZpbHRlckVmZmVjdC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvZmlsdGVycy9GaWx0ZXJFZmZlY3QuaAkocmV2aXNpb24gNDk0OTIpCisrKyBXZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL2ZpbHRlcnMvRmlsdGVyRWZmZWN0LmgJKHdvcmtpbmcgY29w
eSkKQEAgLTM4LDE4ICszOCw2IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBwdWJsaWM6CiAg
ICAgICAgIHZpcnR1YWwgfkZpbHRlckVmZmVjdCgpOwogCi0gICAgICAgIGJvb2wgeEJvdW5kaW5n
Qm94TW9kZSgpIGNvbnN0IHsgcmV0dXJuIG1feEJCb3hNb2RlOyB9Ci0gICAgICAgIHZvaWQgc2V0
WEJvdW5kaW5nQm94TW9kZShib29sIGJib3hNb2RlKSB7IG1feEJCb3hNb2RlID0gYmJveE1vZGU7
IH0KLQotICAgICAgICBib29sIHlCb3VuZGluZ0JveE1vZGUoKSBjb25zdCB7IHJldHVybiBtX3lC
Qm94TW9kZTsgfQotICAgICAgICB2b2lkIHNldFlCb3VuZGluZ0JveE1vZGUoYm9vbCBiYm94TW9k
ZSkgeyBtX3lCQm94TW9kZSA9IGJib3hNb2RlOyB9Ci0KLSAgICAgICAgYm9vbCB3aWR0aEJvdW5k
aW5nQm94TW9kZSgpIGNvbnN0IHsgcmV0dXJuIG1fd2lkdGhCQm94TW9kZTsgfQotICAgICAgICB2
b2lkIHNldFdpZHRoQm91bmRpbmdCb3hNb2RlKGJvb2wgYmJveE1vZGUpIHsgbV93aWR0aEJCb3hN
b2RlID0gYmJveE1vZGU7IH0KLQotICAgICAgICBib29sIGhlaWdodEJvdW5kaW5nQm94TW9kZSgp
IGNvbnN0IHsgcmV0dXJuIG1faGVpZ2h0QkJveE1vZGU7IH0KLSAgICAgICAgdm9pZCBzZXRIZWln
aHRCb3VuZGluZ0JveE1vZGUoYm9vbCBiYm94TW9kZSkgeyBtX2hlaWdodEJCb3hNb2RlID0gYmJv
eE1vZGU7IH0KLQogICAgICAgICB2b2lkIHNldFVuaW9uT2ZDaGlsZEVmZmVjdFN1YnJlZ2lvbnMo
Y29uc3QgRmxvYXRSZWN0JiB1bml0ZVJlY3QpIHsgbV91bmlvbk9mQ2hpbGRFZmZlY3RTdWJyZWdp
b25zID0gdW5pdGVSZWN0OyB9CiAgICAgICAgIEZsb2F0UmVjdCB1bmlvbk9mQ2hpbGRFZmZlY3RT
dWJyZWdpb25zKCkgY29uc3QgeyByZXR1cm4gbV91bmlvbk9mQ2hpbGRFZmZlY3RTdWJyZWdpb25z
OyB9CiAKSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL1NWR1JlbmRlclN1cHBvcnQuY3BwCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYkNvcmUvcmVuZGVyaW5nL1NWR1JlbmRlclN1cHBvcnQuY3BwCShyZXZpc2lv
biA0OTQ5MikKKysrIFdlYkNvcmUvcmVuZGVyaW5nL1NWR1JlbmRlclN1cHBvcnQuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0yMjAsNyArMjIwLDcgQEAgRmxvYXRSZWN0IFNWR1JlbmRlckJhc2U6OmZp
bHRlckJvdW5kaW5nQgogI2lmIEVOQUJMRShGSUxURVJTKQogICAgIFNWR1Jlc291cmNlRmlsdGVy
KiBmaWx0ZXIgPSBnZXRGaWx0ZXJCeUlkKG9iamVjdC0+ZG9jdW1lbnQoKSwgb2JqZWN0LT5zdHls
ZSgpLT5zdmdTdHlsZSgpLT5maWx0ZXIoKSk7CiAgICAgaWYgKGZpbHRlcikKLSAgICAgICAgcmV0
dXJuIGZpbHRlci0+ZmlsdGVyQkJveEZvckl0ZW1CQm94KG9iamVjdC0+b2JqZWN0Qm91bmRpbmdC
b3goKSk7CisgICAgICAgIHJldHVybiBmaWx0ZXItPmZpbHRlckJvdW5kaW5nQm94KCk7CiAjZWxz
ZQogICAgIFVOVVNFRF9QQVJBTShvYmplY3QpOwogI2VuZGlmCkluZGV4OiBXZWJDb3JlL3N2Zy9T
VkdGaWx0ZXJFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdGaWx0ZXJF
bGVtZW50LmNwcAkocmV2aXNpb24gNDk0OTIpCisrKyBXZWJDb3JlL3N2Zy9TVkdGaWx0ZXJFbGVt
ZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMiw2ICsyLDcgQEAKICAgICBDb3B5cmlnaHQgKEMp
IDIwMDQsIDIwMDUsIDIwMDYsIDIwMDcgTmlrb2xhcyBaaW1tZXJtYW5uIDx6aW1tZXJtYW5uQGtk
ZS5vcmc+CiAgICAgQ29weXJpZ2h0IChDKSAyMDA0LCAyMDA1LCAyMDA2IFJvYiBCdWlzIDxidWlz
QGtkZS5vcmc+CiAgICAgQ29weXJpZ2h0IChDKSAyMDA2IFNhbXVlbCBXZWluaWcgPHNhbS53ZWlu
aWdAZ21haWwuY29tPgorICAgIENvcHlyaWdodCAoQykgMjAwOSBEaXJrIFNjaHVsemUgPGtyaXRA
d2Via2l0Lm9yZz4KIAogICAgIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBLREUgcHJvamVjdAog
CkBAIC0xMDIsMzkgKzEwMywzNiBAQCB2b2lkIFNWR0ZpbHRlckVsZW1lbnQ6OnBhcnNlTWFwcGVk
QXR0cmliCiAgICAgfQogfQogCi1TVkdSZXNvdXJjZSogU1ZHRmlsdGVyRWxlbWVudDo6Y2FudmFz
UmVzb3VyY2UoKQordm9pZCBTVkdGaWx0ZXJFbGVtZW50OjpidWlsZEZpbHRlcihjb25zdCBGbG9h
dFJlY3QmIHRhcmdldFJlY3QpIGNvbnN0CiB7Ci0gICAgaWYgKCFhdHRhY2hlZCgpKQotICAgICAg
ICByZXR1cm4gMDsKLQotICAgIGlmICghbV9maWx0ZXIpCi0gICAgICAgIG1fZmlsdGVyID0gbmV3
IFNWR1Jlc291cmNlRmlsdGVyKCk7Ci0KICAgICBib29sIGZpbHRlckJCb3hNb2RlID0gZmlsdGVy
VW5pdHMoKSA9PSBTVkdVbml0VHlwZXM6OlNWR19VTklUX1RZUEVfT0JKRUNUQk9VTkRJTkdCT1g7
Ci0gICAgbV9maWx0ZXItPnNldEZpbHRlckJvdW5kaW5nQm94TW9kZShmaWx0ZXJCQm94TW9kZSk7
Ci0KLSAgICBmbG9hdCBfeCwgX3ksIF93aWR0aCwgX2hlaWdodDsKLQotICAgIGlmIChmaWx0ZXJC
Qm94TW9kZSkgewotICAgICAgICBfeCA9IHgoKS52YWx1ZUFzUGVyY2VudGFnZSgpOwotICAgICAg
ICBfeSA9IHkoKS52YWx1ZUFzUGVyY2VudGFnZSgpOwotICAgICAgICBfd2lkdGggPSB3aWR0aCgp
LnZhbHVlQXNQZXJjZW50YWdlKCk7Ci0gICAgICAgIF9oZWlnaHQgPSBoZWlnaHQoKS52YWx1ZUFz
UGVyY2VudGFnZSgpOwotICAgIH0gZWxzZSB7Ci0gICAgICAgIG1fZmlsdGVyLT5zZXRYQm91bmRp
bmdCb3hNb2RlKHgoKS51bml0VHlwZSgpID09IExlbmd0aFR5cGVQZXJjZW50YWdlKTsKLSAgICAg
ICAgbV9maWx0ZXItPnNldFlCb3VuZGluZ0JveE1vZGUoeSgpLnVuaXRUeXBlKCkgPT0gTGVuZ3Ro
VHlwZVBlcmNlbnRhZ2UpOwotCi0gICAgICAgIF94ID0geCgpLnZhbHVlKHRoaXMpOwotICAgICAg
ICBfeSA9IHkoKS52YWx1ZSh0aGlzKTsKLSAgICAgICAgX3dpZHRoID0gd2lkdGgoKS52YWx1ZSh0
aGlzKTsKLSAgICAgICAgX2hlaWdodCA9IGhlaWdodCgpLnZhbHVlKHRoaXMpOwotICAgIH0gCisg
ICAgYm9vbCBwcmltaXRpdmVCQm94TW9kZSA9IHByaW1pdGl2ZVVuaXRzKCkgPT0gU1ZHVW5pdFR5
cGVzOjpTVkdfVU5JVF9UWVBFX09CSkVDVEJPVU5ESU5HQk9YOwogCi0gICAgbV9maWx0ZXItPnNl
dEZpbHRlclJlY3QoRmxvYXRSZWN0KF94LCBfeSwgX3dpZHRoLCBfaGVpZ2h0KSk7CisgICAgRmxv
YXRSZWN0IGZpbHRlckJCb3g7CisgICAgaWYgKGZpbHRlckJCb3hNb2RlKQorICAgICAgICBmaWx0
ZXJCQm94ID0gRmxvYXRSZWN0KHgoKS52YWx1ZUFzUGVyY2VudGFnZSgpLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHkoKS52YWx1ZUFzUGVyY2VudGFnZSgpLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIHdpZHRoKCkudmFsdWVBc1BlcmNlbnRhZ2UoKSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQoKS52YWx1ZUFzUGVyY2VudGFnZSgpKTsKKyAg
ICBlbHNlCisgICAgICAgIGZpbHRlckJCb3ggPSBGbG9hdFJlY3QoeCgpLnZhbHVlKHRoaXMpLAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHkoKS52YWx1ZSh0aGlzKSwKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB3aWR0aCgpLnZhbHVlKHRoaXMpLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIGhlaWdodCgpLnZhbHVlKHRoaXMpKTsKKworICAgIEZsb2F0UmVj
dCBmaWx0ZXJSZWN0ID0gZmlsdGVyQkJveDsKKyAgICBpZiAoZmlsdGVyQkJveE1vZGUpCisgICAg
ICAgIGZpbHRlclJlY3QgPSBGbG9hdFJlY3QodGFyZ2V0UmVjdC54KCkgKyBmaWx0ZXJSZWN0Lngo
KSAqIHRhcmdldFJlY3Qud2lkdGgoKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0
YXJnZXRSZWN0LnkoKSArIGZpbHRlclJlY3QueSgpICogdGFyZ2V0UmVjdC5oZWlnaHQoKSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWx0ZXJSZWN0LndpZHRoKCkgKiB0YXJnZXRS
ZWN0LndpZHRoKCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsdGVyUmVjdC5o
ZWlnaHQoKSAqIHRhcmdldFJlY3QuaGVpZ2h0KCkpOwogCi0gICAgYm9vbCBwcmltaXRpdmVCQm94
TW9kZSA9IHByaW1pdGl2ZVVuaXRzKCkgPT0gU1ZHVW5pdFR5cGVzOjpTVkdfVU5JVF9UWVBFX09C
SkVDVEJPVU5ESU5HQk9YOworICAgIG1fZmlsdGVyLT5zZXRGaWx0ZXJCb3VuZGluZ0JveChmaWx0
ZXJSZWN0KTsKKyAgICBtX2ZpbHRlci0+c2V0RmlsdGVyUmVjdChmaWx0ZXJCQm94KTsKICAgICBt
X2ZpbHRlci0+c2V0RWZmZWN0Qm91bmRpbmdCb3hNb2RlKHByaW1pdGl2ZUJCb3hNb2RlKTsKKyAg
ICBtX2ZpbHRlci0+c2V0RmlsdGVyQm91bmRpbmdCb3hNb2RlKGZpbHRlckJCb3hNb2RlKTsKIAor
ICAgIC8vIEFkZCBlZmZlY3RzIHRvIHRoZSBmaWx0ZXIKICAgICBtX2ZpbHRlci0+YnVpbGRlcigp
LT5jbGVhckVmZmVjdHMoKTsKICAgICBmb3IgKE5vZGUqIG4gPSBmaXJzdENoaWxkKCk7IG4gIT0g
MDsgbiA9IG4tPm5leHRTaWJsaW5nKCkpIHsKICAgICAgICAgU1ZHRWxlbWVudCogZWxlbWVudCA9
IDA7CkBAIC0xNDksMTIgKzE0NywxOCBAQCBTVkdSZXNvdXJjZSogU1ZHRmlsdGVyRWxlbWVudDo6
Y2FudmFzUmVzCiAgICAgICAgICAgICB9CiAgICAgICAgIH0KICAgICB9Cit9CisKK1NWR1Jlc291
cmNlKiBTVkdGaWx0ZXJFbGVtZW50OjpjYW52YXNSZXNvdXJjZSgpCit7CisgICAgaWYgKCFhdHRh
Y2hlZCgpKQorICAgICAgICByZXR1cm4gMDsKIAorICAgIGlmICghbV9maWx0ZXIpCisgICAgICAg
IG1fZmlsdGVyID0gU1ZHUmVzb3VyY2VGaWx0ZXI6OmNyZWF0ZSh0aGlzKTsKICAgICByZXR1cm4g
bV9maWx0ZXIuZ2V0KCk7CiB9CiAKIH0KIAotI2VuZGlmIC8vIEVOQUJMRShTVkcpCi0KLS8vIHZp
bTp0cz00Om5vZXQKKyNlbmRpZiAvLyBFTkFCTEUoU1ZHKSAmJiBFTkFCTEUoRklMVEVSUykKSW5k
ZXg6IFdlYkNvcmUvc3ZnL1NWR0ZpbHRlckVsZW1lbnQuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3Jl
L3N2Zy9TVkdGaWx0ZXJFbGVtZW50LmgJKHJldmlzaW9uIDQ5NDkyKQorKysgV2ViQ29yZS9zdmcv
U1ZHRmlsdGVyRWxlbWVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC03Miw3ICs3MiwxMSBAQCBuYW1l
c3BhY2UgV2ViQ29yZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBT
VkdOYW1lczo6ZXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZEF0dHJTdHJpbmcsIGJvb2wsCiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFeHRlcm5hbFJlc291cmNlc1JlcXVp
cmVkLCBleHRlcm5hbFJlc291cmNlc1JlcXVpcmVkKQogCi0gICAgICAgIFJlZlB0cjxTVkdSZXNv
dXJjZUZpbHRlcj4gbV9maWx0ZXI7CisgICAgICAgIG11dGFibGUgUmVmUHRyPFNWR1Jlc291cmNl
RmlsdGVyPiBtX2ZpbHRlcjsKKworICAgIHByaXZhdGU6CisgICAgICAgIGZyaWVuZCBjbGFzcyBT
VkdSZXNvdXJjZUZpbHRlcjsKKyAgICAgICAgdm9pZCBidWlsZEZpbHRlcihjb25zdCBGbG9hdFJl
Y3QmIHRhcmdldFJlY3QpIGNvbnN0OwogICAgIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
SW5kZXg6IFdlYkNvcmUvc3ZnL1NWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRlcy5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRB
dHRyaWJ1dGVzLmNwcAkocmV2aXNpb24gNDk0OTIpCisrKyBXZWJDb3JlL3N2Zy9TVkdGaWx0ZXJQ
cmltaXRpdmVTdGFuZGFyZEF0dHJpYnV0ZXMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xLDggKzEs
NyBAQAogLyoKICAgICBDb3B5cmlnaHQgKEMpIDIwMDQsIDIwMDUsIDIwMDYsIDIwMDcgTmlrb2xh
cyBaaW1tZXJtYW5uIDx6aW1tZXJtYW5uQGtkZS5vcmc+CiAgICAgICAgICAgICAgICAgICAyMDA0
LCAyMDA1LCAyMDA2IFJvYiBCdWlzIDxidWlzQGtkZS5vcmc+Ci0KLSAgICBUaGlzIGZpbGUgaXMg
cGFydCBvZiB0aGUgS0RFIHByb2plY3QKKyAgICAgICAgICAgICAgICAgIDIwMDkgRGlyayBTY2h1
bHplIDxrcml0QHdlYmtpdC5vcmc+CiAKICAgICBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2Fy
ZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAgICAgbW9kaWZ5IGl0IHVuZGVyIHRo
ZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKQEAgLTc3LDggKzc2LDYg
QEAgdm9pZCBTVkdGaWx0ZXJQcmltaXRpdmVTdGFuZGFyZEF0dHJpYnV0ZQogCiAgICAgQVNTRVJU
KHJlc291cmNlRmlsdGVyKTsKIAotICAgIGZsb2F0IF94LCBfeSwgX3dpZHRoLCBfaGVpZ2h0Owot
CiAgICAgaWYgKHRoaXMtPmhhc0F0dHJpYnV0ZShTVkdOYW1lczo6eEF0dHIpKQogICAgICAgICBm
aWx0ZXJFZmZlY3QtPnNldEhhc1godHJ1ZSk7CiAgICAgaWYgKHRoaXMtPmhhc0F0dHJpYnV0ZShT
VkdOYW1lczo6eUF0dHIpKQpAQCAtODgsNDcgKzg1LDE5IEBAIHZvaWQgU1ZHRmlsdGVyUHJpbWl0
aXZlU3RhbmRhcmRBdHRyaWJ1dGUKICAgICBpZiAodGhpcy0+aGFzQXR0cmlidXRlKFNWR05hbWVz
OjpoZWlnaHRBdHRyKSkKICAgICAgICAgZmlsdGVyRWZmZWN0LT5zZXRIYXNIZWlnaHQodHJ1ZSk7
CiAKLSAgICBpZiAocmVzb3VyY2VGaWx0ZXItPmVmZmVjdEJvdW5kaW5nQm94TW9kZSgpKSB7Ci0g
ICAgICAgIF94ID0geCgpLnZhbHVlQXNQZXJjZW50YWdlKCk7Ci0gICAgICAgIF95ID0geSgpLnZh
bHVlQXNQZXJjZW50YWdlKCk7Ci0gICAgICAgIF93aWR0aCA9IHdpZHRoKCkudmFsdWVBc1BlcmNl
bnRhZ2UoKTsKLSAgICAgICAgX2hlaWdodCA9IGhlaWdodCgpLnZhbHVlQXNQZXJjZW50YWdlKCk7
Ci0gICAgfSBlbHNlIHsKLSAgICAgICAgLy8gV2UgbmVlZCB0byByZXNvbHZlIGFueSBwZXJjZW50
YWdlcyBpbiBmaWx0ZXIgcmVjdCBzcGFjZS4KLSAgICAgICAgaWYgKHgoKS51bml0VHlwZSgpID09
IExlbmd0aFR5cGVQZXJjZW50YWdlKSB7Ci0gICAgICAgICAgICBmaWx0ZXJFZmZlY3QtPnNldFhC
b3VuZGluZ0JveE1vZGUodHJ1ZSk7Ci0gICAgICAgICAgICBfeCA9IHgoKS52YWx1ZUFzUGVyY2Vu
dGFnZSgpOwotICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgZmlsdGVyRWZmZWN0LT5zZXRY
Qm91bmRpbmdCb3hNb2RlKGZhbHNlKTsKLSAgICAgICAgICAgIF94ID0geCgpLnZhbHVlKHRoaXMp
OwotICAgICAgICB9Ci0KLSAgICAgICAgaWYgKHkoKS51bml0VHlwZSgpID09IExlbmd0aFR5cGVQ
ZXJjZW50YWdlKSB7Ci0gICAgICAgICAgICBmaWx0ZXJFZmZlY3QtPnNldFlCb3VuZGluZ0JveE1v
ZGUodHJ1ZSk7Ci0gICAgICAgICAgICBfeSA9IHkoKS52YWx1ZUFzUGVyY2VudGFnZSgpOwotICAg
ICAgICB9IGVsc2UgewotICAgICAgICAgICAgZmlsdGVyRWZmZWN0LT5zZXRZQm91bmRpbmdCb3hN
b2RlKGZhbHNlKTsKLSAgICAgICAgICAgIF95ID0geSgpLnZhbHVlKHRoaXMpOwotICAgICAgICB9
Ci0KLSAgICAgICAgaWYgKHdpZHRoKCkudW5pdFR5cGUoKSA9PSBMZW5ndGhUeXBlUGVyY2VudGFn
ZSkgewotICAgICAgICAgICAgZmlsdGVyRWZmZWN0LT5zZXRXaWR0aEJvdW5kaW5nQm94TW9kZSh0
cnVlKTsKLSAgICAgICAgICAgIF93aWR0aCA9IHdpZHRoKCkudmFsdWVBc1BlcmNlbnRhZ2UoKTsK
LSAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIGZpbHRlckVmZmVjdC0+c2V0V2lkdGhCb3Vu
ZGluZ0JveE1vZGUoZmFsc2UpOwotICAgICAgICAgICAgX3dpZHRoID0gd2lkdGgoKS52YWx1ZSh0
aGlzKTsKLSAgICAgICAgfQotCi0gICAgICAgIGlmIChoZWlnaHQoKS51bml0VHlwZSgpID09IExl
bmd0aFR5cGVQZXJjZW50YWdlKSB7Ci0gICAgICAgICAgICBmaWx0ZXJFZmZlY3QtPnNldEhlaWdo
dEJvdW5kaW5nQm94TW9kZSh0cnVlKTsKLSAgICAgICAgICAgIF9oZWlnaHQgPSBoZWlnaHQoKS52
YWx1ZUFzUGVyY2VudGFnZSgpOwotICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgZmlsdGVy
RWZmZWN0LT5zZXRIZWlnaHRCb3VuZGluZ0JveE1vZGUoZmFsc2UpOwotICAgICAgICAgICAgX2hl
aWdodCA9IGhlaWdodCgpLnZhbHVlKHRoaXMpOwotICAgICAgICB9Ci0gICAgfQorICAgIEZsb2F0
UmVjdCBlZmZlY3RCQm94OworICAgIGlmIChyZXNvdXJjZUZpbHRlci0+ZWZmZWN0Qm91bmRpbmdC
b3hNb2RlKCkpCisgICAgICAgIGVmZmVjdEJCb3ggPSBGbG9hdFJlY3QoeCgpLnZhbHVlQXNQZXJj
ZW50YWdlKCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeSgpLnZhbHVlQXNQZXJj
ZW50YWdlKCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGgoKS52YWx1ZUFz
UGVyY2VudGFnZSgpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodCgpLnZh
bHVlQXNQZXJjZW50YWdlKCkpOworICAgIGVsc2UKKyAgICAgICAgZWZmZWN0QkJveCA9IEZsb2F0
UmVjdCh4KCkudmFsdWUodGhpcyksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeSgp
LnZhbHVlKHRoaXMpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoKCkudmFs
dWUodGhpcyksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0KCkudmFsdWUo
dGhpcykpOwogCi0gICAgZmlsdGVyRWZmZWN0LT5zZXRTdWJSZWdpb24oRmxvYXRSZWN0KF94LCBf
eSwgX3dpZHRoLCBfaGVpZ2h0KSk7CisgICAgZmlsdGVyRWZmZWN0LT5zZXRTdWJSZWdpb24oZWZm
ZWN0QkJveCk7CiB9CiAKIH0KSW5kZXg6IFdlYkNvcmUvc3ZnL1NWR01hc2tFbGVtZW50LmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9TVkdNYXNrRWxlbWVudC5jcHAJKHJldmlzaW9uIDQ5
NDkyKQorKysgV2ViQ29yZS9zdmcvU1ZHTWFza0VsZW1lbnQuY3BwCSh3b3JraW5nIGNvcHkpCkBA
IC0xMzAsMzcgKzEzMCwzMCBAQCB2b2lkIFNWR01hc2tFbGVtZW50OjpjaGlsZHJlbkNoYW5nZWQo
Ym9vCiBQYXNzT3duUHRyPEltYWdlQnVmZmVyPiBTVkdNYXNrRWxlbWVudDo6ZHJhd01hc2tlckNv
bnRlbnQoY29uc3QgRmxvYXRSZWN0JiB0YXJnZXRSZWN0LCBGbG9hdFJlY3QmIG1hc2tEZXN0UmVj
dCkgY29uc3QKIHsgICAgCiAgICAgLy8gRGV0ZXJtaW5lIHNwZWNpZmllZCBtYXNrIHNpemUKLSAg
ICBmbG9hdCB4VmFsdWU7Ci0gICAgZmxvYXQgeVZhbHVlOwotICAgIGZsb2F0IHdpZHRoVmFsdWU7
Ci0gICAgZmxvYXQgaGVpZ2h0VmFsdWU7Ci0KLSAgICBpZiAobWFza1VuaXRzKCkgPT0gU1ZHVW5p
dFR5cGVzOjpTVkdfVU5JVF9UWVBFX09CSkVDVEJPVU5ESU5HQk9YKSB7Ci0gICAgICAgIHhWYWx1
ZSA9IHgoKS52YWx1ZUFzUGVyY2VudGFnZSgpICogdGFyZ2V0UmVjdC53aWR0aCgpOwotICAgICAg
ICB5VmFsdWUgPSB5KCkudmFsdWVBc1BlcmNlbnRhZ2UoKSAqIHRhcmdldFJlY3QuaGVpZ2h0KCk7
Ci0gICAgICAgIHdpZHRoVmFsdWUgPSB3aWR0aCgpLnZhbHVlQXNQZXJjZW50YWdlKCkgKiB0YXJn
ZXRSZWN0LndpZHRoKCk7Ci0gICAgICAgIGhlaWdodFZhbHVlID0gaGVpZ2h0KCkudmFsdWVBc1Bl
cmNlbnRhZ2UoKSAqIHRhcmdldFJlY3QuaGVpZ2h0KCk7Ci0gICAgfSBlbHNlIHsKLSAgICAgICAg
eFZhbHVlID0geCgpLnZhbHVlKHRoaXMpOwotICAgICAgICB5VmFsdWUgPSB5KCkudmFsdWUodGhp
cyk7Ci0gICAgICAgIHdpZHRoVmFsdWUgPSB3aWR0aCgpLnZhbHVlKHRoaXMpOwotICAgICAgICBo
ZWlnaHRWYWx1ZSA9IGhlaWdodCgpLnZhbHVlKHRoaXMpOwotICAgIH0gCisgICAgaWYgKG1hc2tV
bml0cygpID09IFNWR1VuaXRUeXBlczo6U1ZHX1VOSVRfVFlQRV9PQkpFQ1RCT1VORElOR0JPWCkK
KyAgICAgICAgbWFza0Rlc3RSZWN0ID0gRmxvYXRSZWN0KHgoKS52YWx1ZUFzUGVyY2VudGFnZSgp
ICogdGFyZ2V0UmVjdC53aWR0aCgpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
eSgpLnZhbHVlQXNQZXJjZW50YWdlKCkgKiB0YXJnZXRSZWN0LmhlaWdodCgpLAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGgoKS52YWx1ZUFzUGVyY2VudGFnZSgpICogdGFy
Z2V0UmVjdC53aWR0aCgpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0
KCkudmFsdWVBc1BlcmNlbnRhZ2UoKSAqIHRhcmdldFJlY3QuaGVpZ2h0KCkpOworICAgIGVsc2UK
KyAgICAgICAgbWFza0Rlc3RSZWN0ID0gRmxvYXRSZWN0KHgoKS52YWx1ZSh0aGlzKSwKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHkoKS52YWx1ZSh0aGlzKSwKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHdpZHRoKCkudmFsdWUodGhpcyksCisgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBoZWlnaHQoKS52YWx1ZSh0aGlzKSk7CiAKLSAgICBJbnRTaXpl
IGltYWdlU2l6ZShscm91bmRmKHdpZHRoVmFsdWUpLCBscm91bmRmKGhlaWdodFZhbHVlKSk7Cisg
ICAgSW50U2l6ZSBpbWFnZVNpemUobHJvdW5kZihtYXNrRGVzdFJlY3Qud2lkdGgoKSksIGxyb3Vu
ZGYobWFza0Rlc3RSZWN0LmhlaWdodCgpKSk7CiAgICAgY2xhbXBJbWFnZUJ1ZmZlclNpemVUb1Zp
ZXdwb3J0KGRvY3VtZW50KCktPnZpZXcoKSwgaW1hZ2VTaXplKTsKIAotICAgIGlmIChpbWFnZVNp
emUud2lkdGgoKSA8IHN0YXRpY19jYXN0PGludD4od2lkdGhWYWx1ZSkpCi0gICAgICAgIHdpZHRo
VmFsdWUgPSBpbWFnZVNpemUud2lkdGgoKTsKKyAgICBpZiAoaW1hZ2VTaXplLndpZHRoKCkgPCBz
dGF0aWNfY2FzdDxpbnQ+KG1hc2tEZXN0UmVjdC53aWR0aCgpKSkKKyAgICAgICAgbWFza0Rlc3RS
ZWN0LnNldFdpZHRoKGltYWdlU2l6ZS53aWR0aCgpKTsKIAotICAgIGlmIChpbWFnZVNpemUuaGVp
Z2h0KCkgPCBzdGF0aWNfY2FzdDxpbnQ+KGhlaWdodFZhbHVlKSkKLSAgICAgICAgaGVpZ2h0VmFs
dWUgPSBpbWFnZVNpemUuaGVpZ2h0KCk7CisgICAgaWYgKGltYWdlU2l6ZS5oZWlnaHQoKSA8IHN0
YXRpY19jYXN0PGludD4obWFza0Rlc3RSZWN0LmhlaWdodCgpKSkKKyAgICAgICAgbWFza0Rlc3RS
ZWN0LnNldEhlaWdodChpbWFnZVNpemUuaGVpZ2h0KCkpOwogCiAgICAgT3duUHRyPEltYWdlQnVm
ZmVyPiBtYXNrSW1hZ2UgPSBJbWFnZUJ1ZmZlcjo6Y3JlYXRlKGltYWdlU2l6ZSk7CiAgICAgaWYg
KCFtYXNrSW1hZ2UpCiAgICAgICAgIHJldHVybiAwOwogCi0gICAgbWFza0Rlc3RSZWN0ID0gRmxv
YXRSZWN0KHhWYWx1ZSwgeVZhbHVlLCB3aWR0aFZhbHVlLCBoZWlnaHRWYWx1ZSk7CiAgICAgaWYg
KG1hc2tVbml0cygpID09IFNWR1VuaXRUeXBlczo6U1ZHX1VOSVRfVFlQRV9PQkpFQ1RCT1VORElO
R0JPWCkKICAgICAgICAgbWFza0Rlc3RSZWN0Lm1vdmUodGFyZ2V0UmVjdC54KCksIHRhcmdldFJl
Y3QueSgpKTsKIApAQCAtMTY4LDcgKzE2MSw3IEBAIFBhc3NPd25QdHI8SW1hZ2VCdWZmZXI+IFNW
R01hc2tFbGVtZW50OjoKICAgICBBU1NFUlQobWFza0ltYWdlQ29udGV4dCk7CiAKICAgICBtYXNr
SW1hZ2VDb250ZXh0LT5zYXZlKCk7Ci0gICAgbWFza0ltYWdlQ29udGV4dC0+dHJhbnNsYXRlKC14
VmFsdWUsIC15VmFsdWUpOworICAgIG1hc2tJbWFnZUNvbnRleHQtPnRyYW5zbGF0ZSgtbWFza0Rl
c3RSZWN0LngoKSwgLW1hc2tEZXN0UmVjdC55KCkpOwogCiAgICAgaWYgKG1hc2tDb250ZW50VW5p
dHMoKSA9PSBTVkdVbml0VHlwZXM6OlNWR19VTklUX1RZUEVfT0JKRUNUQk9VTkRJTkdCT1gpIHsK
ICAgICAgICAgbWFza0ltYWdlQ29udGV4dC0+c2F2ZSgpOwpJbmRleDogV2ViQ29yZS9zdmcvZ3Jh
cGhpY3MvU1ZHUmVzb3VyY2VGaWx0ZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL2dy
YXBoaWNzL1NWR1Jlc291cmNlRmlsdGVyLmNwcAkocmV2aXNpb24gNDk0OTIpCisrKyBXZWJDb3Jl
L3N2Zy9ncmFwaGljcy9TVkdSZXNvdXJjZUZpbHRlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTMx
LDUyICszMSw0NCBAQAogI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCiAjaW5jbHVkZSAiU1ZH
RmlsdGVyLmgiCiAjaW5jbHVkZSAiU1ZHRmlsdGVyQnVpbGRlci5oIgorI2luY2x1ZGUgIlNWR0Zp
bHRlckVsZW1lbnQuaCIKICNpbmNsdWRlICJTVkdSZW5kZXJUcmVlQXNUZXh0LmgiCiAjaW5jbHVk
ZSAiU1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVzLmgiCiAKIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKIAotU1ZHUmVzb3VyY2VGaWx0ZXI6OlNWR1Jlc291cmNlRmlsdGVyKCkKLSAgICA6
IG1fZmlsdGVyQkJveE1vZGUoZmFsc2UpCitTVkdSZXNvdXJjZUZpbHRlcjo6U1ZHUmVzb3VyY2VG
aWx0ZXIoY29uc3QgU1ZHRmlsdGVyRWxlbWVudCogb3duZXJFbGVtZW50KQorICAgIDogU1ZHUmVz
b3VyY2UoKQorICAgICwgbV9vd25lckVsZW1lbnQob3duZXJFbGVtZW50KQorICAgICwgbV9maWx0
ZXJCQm94TW9kZShmYWxzZSkKICAgICAsIG1fZWZmZWN0QkJveE1vZGUoZmFsc2UpCi0gICAgLCBt
X3hCQm94TW9kZShmYWxzZSkKLSAgICAsIG1feUJCb3hNb2RlKGZhbHNlKQogICAgICwgbV9zYXZl
ZENvbnRleHQoMCkKICAgICAsIG1fc291cmNlR3JhcGhpY0J1ZmZlcigwKQogewogICAgIG1fZmls
dGVyQnVpbGRlci5zZXQobmV3IFNWR0ZpbHRlckJ1aWxkZXIoKSk7CiB9CiAKLXZvaWQgU1ZHUmVz
b3VyY2VGaWx0ZXI6OmFkZEZpbHRlckVmZmVjdChTVkdGaWx0ZXJQcmltaXRpdmVTdGFuZGFyZEF0
dHJpYnV0ZXMqIGVmZmVjdEF0dHJpYnV0ZXMsIFBhc3NSZWZQdHI8RmlsdGVyRWZmZWN0PiBlZmZl
Y3QpCitTVkdSZXNvdXJjZUZpbHRlcjo6flNWR1Jlc291cmNlRmlsdGVyKCkKIHsKLSAgICBlZmZl
Y3RBdHRyaWJ1dGVzLT5zZXRTdGFuZGFyZEF0dHJpYnV0ZXModGhpcywgZWZmZWN0LmdldCgpKTsK
LSAgICBidWlsZGVyKCktPmFkZChlZmZlY3RBdHRyaWJ1dGVzLT5yZXN1bHQoKSwgZWZmZWN0KTsK
IH0KIAotRmxvYXRSZWN0IFNWR1Jlc291cmNlRmlsdGVyOjpmaWx0ZXJCQm94Rm9ySXRlbUJCb3go
Y29uc3QgRmxvYXRSZWN0JiBpdGVtQkJveCkgY29uc3QKK3ZvaWQgU1ZHUmVzb3VyY2VGaWx0ZXI6
OmFkZEZpbHRlckVmZmVjdChTVkdGaWx0ZXJQcmltaXRpdmVTdGFuZGFyZEF0dHJpYnV0ZXMqIGVm
ZmVjdEF0dHJpYnV0ZXMsIFBhc3NSZWZQdHI8RmlsdGVyRWZmZWN0PiBlZmZlY3QpCiB7Ci0gICAg
RmxvYXRSZWN0IGZpbHRlckJCb3ggPSBmaWx0ZXJSZWN0KCk7Ci0KLSAgICBpZiAoZmlsdGVyQm91
bmRpbmdCb3hNb2RlKCkpCi0gICAgICAgIGZpbHRlckJCb3ggPSBGbG9hdFJlY3QoaXRlbUJCb3gu
eCgpICsgZmlsdGVyQkJveC54KCkgKiBpdGVtQkJveC53aWR0aCgpLAotICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGl0ZW1CQm94LnkoKSArIGZpbHRlckJCb3gueSgpICogaXRlbUJCb3gu
aGVpZ2h0KCksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsdGVyQkJveC53aWR0
aCgpICogaXRlbUJCb3gud2lkdGgoKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBm
aWx0ZXJCQm94LmhlaWdodCgpICogaXRlbUJCb3guaGVpZ2h0KCkpOwotCi0gICAgcmV0dXJuIGZp
bHRlckJCb3g7CisgICAgZWZmZWN0QXR0cmlidXRlcy0+c2V0U3RhbmRhcmRBdHRyaWJ1dGVzKHRo
aXMsIGVmZmVjdC5nZXQoKSk7CisgICAgYnVpbGRlcigpLT5hZGQoZWZmZWN0QXR0cmlidXRlcy0+
cmVzdWx0KCksIGVmZmVjdCk7CiB9CiAKIHZvaWQgU1ZHUmVzb3VyY2VGaWx0ZXI6OnByZXBhcmVG
aWx0ZXIoR3JhcGhpY3NDb250ZXh0KiYgY29udGV4dCwgY29uc3QgUmVuZGVyT2JqZWN0KiBvYmpl
Y3QpCiB7Ci0gICAgbV9pdGVtQkJveCA9IG9iamVjdC0+b2JqZWN0Qm91bmRpbmdCb3goKTsKLSAg
ICBtX2ZpbHRlckJCb3ggPSBmaWx0ZXJCQm94Rm9ySXRlbUJCb3gobV9pdGVtQkJveCk7CisgICAg
RmxvYXRSZWN0IHRhcmdldFJlY3QgPSBvYmplY3QtPm9iamVjdEJvdW5kaW5nQm94KCk7CisgICAg
bV9vd25lckVsZW1lbnQtPmJ1aWxkRmlsdGVyKHRhcmdldFJlY3QpOwogCiAgICAgLy8gY2xpcCBz
b3VyY2VJbWFnZSB0byBmaWx0ZXJSZWdpb24KLSAgICBGbG9hdFJlY3QgY2xpcHBlZFNvdXJjZVJl
Y3QgPSBtX2l0ZW1CQm94OworICAgIEZsb2F0UmVjdCBjbGlwcGVkU291cmNlUmVjdCA9IHRhcmdl
dFJlY3Q7CiAgICAgY2xpcHBlZFNvdXJjZVJlY3QuaW50ZXJzZWN0KG1fZmlsdGVyQkJveCk7CiAK
ICAgICAvLyBwcmVwYXJlIEZpbHRlcnMKLSAgICBtX2ZpbHRlciA9IFNWR0ZpbHRlcjo6Y3JlYXRl
KG1faXRlbUJCb3gsIG1fZmlsdGVyQkJveCwgbV9lZmZlY3RCQm94TW9kZSwgbV9maWx0ZXJCQm94
TW9kZSk7CisgICAgbV9maWx0ZXIgPSBTVkdGaWx0ZXI6OmNyZWF0ZSh0YXJnZXRSZWN0LCBtX2Zp
bHRlckJCb3gsIG1fZWZmZWN0QkJveE1vZGUpOwogCiAgICAgRmlsdGVyRWZmZWN0KiBsYXN0RWZm
ZWN0ID0gbV9maWx0ZXJCdWlsZGVyLT5sYXN0RWZmZWN0KCk7CiAgICAgaWYgKGxhc3RFZmZlY3Qp
CkBAIC05MSw4ICs4Myw4IEBAIHZvaWQgU1ZHUmVzb3VyY2VGaWx0ZXI6OnByZXBhcmVGaWx0ZXIo
R3IKICAgICAgICAgcmV0dXJuOwogCiAgICAgR3JhcGhpY3NDb250ZXh0KiBzb3VyY2VHcmFwaGlj
Q29udGV4dCA9IHNvdXJjZUdyYXBoaWMtPmNvbnRleHQoKTsKLSAgICBzb3VyY2VHcmFwaGljQ29u
dGV4dC0+dHJhbnNsYXRlKC1tX2l0ZW1CQm94LngoKSwgLW1faXRlbUJCb3gueSgpKTsKLSAgICBz
b3VyY2VHcmFwaGljQ29udGV4dC0+Y2xlYXJSZWN0KEZsb2F0UmVjdChGbG9hdFBvaW50KCksIG1f
aXRlbUJCb3guc2l6ZSgpKSk7CisgICAgc291cmNlR3JhcGhpY0NvbnRleHQtPnRyYW5zbGF0ZSgt
dGFyZ2V0UmVjdC54KCksIC10YXJnZXRSZWN0LnkoKSk7CisgICAgc291cmNlR3JhcGhpY0NvbnRl
eHQtPmNsZWFyUmVjdChGbG9hdFJlY3QoRmxvYXRQb2ludCgpLCB0YXJnZXRSZWN0LnNpemUoKSkp
OwogICAgIG1fc291cmNlR3JhcGhpY0J1ZmZlci5zZXQoc291cmNlR3JhcGhpYy5yZWxlYXNlKCkp
OwogICAgIG1fc2F2ZWRDb250ZXh0ID0gY29udGV4dDsKIApJbmRleDogV2ViQ29yZS9zdmcvZ3Jh
cGhpY3MvU1ZHUmVzb3VyY2VGaWx0ZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9ncmFw
aGljcy9TVkdSZXNvdXJjZUZpbHRlci5oCShyZXZpc2lvbiA0OTQ5MikKKysrIFdlYkNvcmUvc3Zn
L2dyYXBoaWNzL1NWR1Jlc291cmNlRmlsdGVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTQzLDExICs0
MywxMyBAQCBjbGFzcyBGaWx0ZXI7CiBjbGFzcyBGaWx0ZXJFZmZlY3Q7CiBjbGFzcyBHcmFwaGlj
c0NvbnRleHQ7CiBjbGFzcyBTVkdGaWx0ZXJCdWlsZGVyOworY2xhc3MgU1ZHRmlsdGVyRWxlbWVu
dDsKIGNsYXNzIFNWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRlczsKIAogY2xhc3Mg
U1ZHUmVzb3VyY2VGaWx0ZXIgOiBwdWJsaWMgU1ZHUmVzb3VyY2UgewogcHVibGljOgotICAgIFNW
R1Jlc291cmNlRmlsdGVyKCk7CisgICAgc3RhdGljIFBhc3NSZWZQdHI8U1ZHUmVzb3VyY2VGaWx0
ZXI+IGNyZWF0ZShjb25zdCBTVkdGaWx0ZXJFbGVtZW50KiBvd25lckVsZW1lbnQpIHsgcmV0dXJu
IGFkb3B0UmVmKG5ldyBTVkdSZXNvdXJjZUZpbHRlcihvd25lckVsZW1lbnQpKTsgfQorICAgIHZp
cnR1YWwgflNWR1Jlc291cmNlRmlsdGVyKCk7CiAgICAgCiAgICAgdmlydHVhbCBTVkdSZXNvdXJj
ZVR5cGUgcmVzb3VyY2VUeXBlKCkgY29uc3QgeyByZXR1cm4gRmlsdGVyUmVzb3VyY2VUeXBlOyB9
CiAKQEAgLTU3LDQ0ICs1OSwzMSBAQCBwdWJsaWM6CiAgICAgYm9vbCBlZmZlY3RCb3VuZGluZ0Jv
eE1vZGUoKSBjb25zdCB7IHJldHVybiBtX2VmZmVjdEJCb3hNb2RlOyB9CiAgICAgdm9pZCBzZXRF
ZmZlY3RCb3VuZGluZ0JveE1vZGUoYm9vbCBiYm94TW9kZSkgeyBtX2VmZmVjdEJCb3hNb2RlID0g
YmJveE1vZGU7IH0KIAotICAgIGJvb2wgeEJvdW5kaW5nQm94TW9kZSgpIGNvbnN0IHsgcmV0dXJu
IG1feEJCb3hNb2RlOyB9Ci0gICAgdm9pZCBzZXRYQm91bmRpbmdCb3hNb2RlKGJvb2wgYmJveE1v
ZGUpIHsgbV94QkJveE1vZGUgPSBiYm94TW9kZTsgfQotCi0gICAgYm9vbCB5Qm91bmRpbmdCb3hN
b2RlKCkgY29uc3QgeyByZXR1cm4gbV95QkJveE1vZGU7IH0KLSAgICB2b2lkIHNldFlCb3VuZGlu
Z0JveE1vZGUoYm9vbCBiYm94TW9kZSkgeyBtX3lCQm94TW9kZSA9IGJib3hNb2RlOyB9Ci0KICAg
ICBGbG9hdFJlY3QgZmlsdGVyUmVjdCgpIGNvbnN0IHsgcmV0dXJuIG1fZmlsdGVyUmVjdDsgfQog
ICAgIHZvaWQgc2V0RmlsdGVyUmVjdChjb25zdCBGbG9hdFJlY3QmIHJlY3QpIHsgbV9maWx0ZXJS
ZWN0ID0gcmVjdDsgfQogCiAgICAgRmxvYXRSZWN0IGZpbHRlckJvdW5kaW5nQm94KCkgeyByZXR1
cm4gbV9maWx0ZXJCQm94OyB9CiAgICAgdm9pZCBzZXRGaWx0ZXJCb3VuZGluZ0JveChjb25zdCBG
bG9hdFJlY3QmIHJlY3QpIHsgbV9maWx0ZXJCQm94ID0gcmVjdDsgfQogCi0gICAgRmxvYXRSZWN0
IGl0ZW1Cb3VuZGluZ0JveCgpIHsgcmV0dXJuIG1faXRlbUJCb3g7IH0KLSAgICB2b2lkIHNldEl0
ZW1Cb3VuZGluZ0JveChjb25zdCBGbG9hdFJlY3QmIHJlY3QpIHsgbV9pdGVtQkJveCA9IHJlY3Q7
IH0KLQotICAgIEZsb2F0UmVjdCBmaWx0ZXJCQm94Rm9ySXRlbUJCb3goY29uc3QgRmxvYXRSZWN0
JiBpdGVtQkJveCkgY29uc3Q7Ci0KLSAgICB2aXJ0dWFsIFRleHRTdHJlYW0mIGV4dGVybmFsUmVw
cmVzZW50YXRpb24oVGV4dFN0cmVhbSYpIGNvbnN0OwotCiAgICAgdm9pZCBwcmVwYXJlRmlsdGVy
KEdyYXBoaWNzQ29udGV4dComLCBjb25zdCBSZW5kZXJPYmplY3QqKTsKICAgICB2b2lkIGFwcGx5
RmlsdGVyKEdyYXBoaWNzQ29udGV4dComLCBjb25zdCBSZW5kZXJPYmplY3QqKTsKIAogICAgIHZv
aWQgYWRkRmlsdGVyRWZmZWN0KFNWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRlcyos
IFBhc3NSZWZQdHI8RmlsdGVyRWZmZWN0Pik7CiAKICAgICBTVkdGaWx0ZXJCdWlsZGVyKiBidWls
ZGVyKCkgeyByZXR1cm4gbV9maWx0ZXJCdWlsZGVyLmdldCgpOyB9CisKKyAgICB2aXJ0dWFsIFRl
eHRTdHJlYW0mIGV4dGVybmFsUmVwcmVzZW50YXRpb24oVGV4dFN0cmVhbSYpIGNvbnN0OwogICAg
IAogcHJpdmF0ZToKKyAgICBTVkdSZXNvdXJjZUZpbHRlcihjb25zdCBTVkdGaWx0ZXJFbGVtZW50
Kik7CisKKyAgICBjb25zdCBTVkdGaWx0ZXJFbGVtZW50KiBtX293bmVyRWxlbWVudDsKIAogICAg
IGJvb2wgbV9maWx0ZXJCQm94TW9kZSA6IDE7CiAgICAgYm9vbCBtX2VmZmVjdEJCb3hNb2RlIDog
MTsKIAotICAgIGJvb2wgbV94QkJveE1vZGUgOiAxOwotICAgIGJvb2wgbV95QkJveE1vZGUgOiAx
OwotCiAgICAgRmxvYXRSZWN0IG1fZmlsdGVyUmVjdDsKLQogICAgIEZsb2F0UmVjdCBtX2ZpbHRl
ckJCb3g7Ci0gICAgRmxvYXRSZWN0IG1faXRlbUJCb3g7CiAKICAgICBPd25QdHI8U1ZHRmlsdGVy
QnVpbGRlcj4gbV9maWx0ZXJCdWlsZGVyOwogICAgIEdyYXBoaWNzQ29udGV4dCogbV9zYXZlZENv
bnRleHQ7CkluZGV4OiBXZWJDb3JlL3N2Zy9ncmFwaGljcy9maWx0ZXJzL1NWR0ZpbHRlci5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvZ3JhcGhpY3MvZmlsdGVycy9TVkdGaWx0ZXIuY3Bw
CShyZXZpc2lvbiA0OTQ5MikKKysrIFdlYkNvcmUvc3ZnL2dyYXBoaWNzL2ZpbHRlcnMvU1ZHRmls
dGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjEsMTUgKzIxLDE0IEBACiAKICNpZiBFTkFCTEUo
U1ZHKSAmJiBFTkFCTEUoRklMVEVSUykKICNpbmNsdWRlICJTVkdGaWx0ZXIuaCIKLQorI2luY2x1
ZGUgPHN0ZGlvLmg+CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLVNWR0ZpbHRlcjo6U1ZHRmlsdGVy
KGNvbnN0IEZsb2F0UmVjdCYgaXRlbUJveCwgY29uc3QgRmxvYXRSZWN0JiBmaWx0ZXJSZWN0LCBi
b29sIGVmZmVjdEJCb3hNb2RlLCBib29sIGZpbHRlckJCb3hNb2RlKQorU1ZHRmlsdGVyOjpTVkdG
aWx0ZXIoY29uc3QgRmxvYXRSZWN0JiBpdGVtQm94LCBjb25zdCBGbG9hdFJlY3QmIGZpbHRlclJl
Y3QsIGJvb2wgZWZmZWN0QkJveE1vZGUpCiAgICAgOiBGaWx0ZXIoKQogICAgICwgbV9pdGVtQm94
KGl0ZW1Cb3gpCiAgICAgLCBtX2ZpbHRlclJlY3QoZmlsdGVyUmVjdCkKICAgICAsIG1fZWZmZWN0
QkJveE1vZGUoZWZmZWN0QkJveE1vZGUpCi0gICAgLCBtX2ZpbHRlckJCb3hNb2RlKGZpbHRlckJC
b3hNb2RlKQogewogfQogCkBAIC0zNyw3ICszNiw2IEBAIHZvaWQgU1ZHRmlsdGVyOjpjYWxjdWxh
dGVFZmZlY3RTdWJSZWdpb24KIHsKICAgICBGbG9hdFJlY3Qgc3ViUmVnaW9uQkJveCA9IGVmZmVj
dC0+c3ViUmVnaW9uKCk7CiAgICAgRmxvYXRSZWN0IHVzZUJCb3ggPSBlZmZlY3QtPnVuaW9uT2ZD
aGlsZEVmZmVjdFN1YnJlZ2lvbnMoKTsKLQogICAgIEZsb2F0UmVjdCBuZXdTdWJSZWdpb24gPSBz
dWJSZWdpb25CQm94OwogCiAgICAgaWYgKG1fZWZmZWN0QkJveE1vZGUpIHsKQEAgLTU1LDE3ICs1
MywxNyBAQCB2b2lkIFNWR0ZpbHRlcjo6Y2FsY3VsYXRlRWZmZWN0U3ViUmVnaW9uCiAgICAgICAg
IGlmIChlZmZlY3QtPmhhc0hlaWdodCgpKQogICAgICAgICAgICAgbmV3U3ViUmVnaW9uLnNldEhl
aWdodChzdWJSZWdpb25CQm94LmhlaWdodCgpICogbV9pdGVtQm94LmhlaWdodCgpKTsKICAgICB9
IGVsc2UgewotICAgICAgICBpZiAoZWZmZWN0LT54Qm91bmRpbmdCb3hNb2RlKCkpCi0gICAgICAg
ICAgICBuZXdTdWJSZWdpb24uc2V0WCh1c2VCQm94LngoKSArIHN1YlJlZ2lvbkJCb3gueCgpICog
dXNlQkJveC53aWR0aCgpKTsKKyAgICAgICAgaWYgKCFlZmZlY3QtPmhhc1goKSkKKyAgICAgICAg
ICAgIG5ld1N1YlJlZ2lvbi5zZXRYKHVzZUJCb3gueCgpKTsKIAotICAgICAgICBpZiAoZWZmZWN0
LT55Qm91bmRpbmdCb3hNb2RlKCkpCi0gICAgICAgICAgICBuZXdTdWJSZWdpb24uc2V0WSh1c2VC
Qm94LnkoKSArIHN1YlJlZ2lvbkJCb3gueSgpICogdXNlQkJveC5oZWlnaHQoKSk7CisgICAgICAg
IGlmICghZWZmZWN0LT5oYXNZKCkpCisgICAgICAgICAgICBuZXdTdWJSZWdpb24uc2V0WSh1c2VC
Qm94LnkoKSk7CiAKLSAgICAgICAgaWYgKGVmZmVjdC0+d2lkdGhCb3VuZGluZ0JveE1vZGUoKSkK
LSAgICAgICAgICAgIG5ld1N1YlJlZ2lvbi5zZXRXaWR0aChzdWJSZWdpb25CQm94LndpZHRoKCkg
KiB1c2VCQm94LndpZHRoKCkpOworICAgICAgICBpZiAoIWVmZmVjdC0+aGFzV2lkdGgoKSkKKyAg
ICAgICAgICAgIG5ld1N1YlJlZ2lvbi5zZXRXaWR0aCh1c2VCQm94LndpZHRoKCkpOwogCi0gICAg
ICAgIGlmIChlZmZlY3QtPmhlaWdodEJvdW5kaW5nQm94TW9kZSgpKQotICAgICAgICAgICAgbmV3
U3ViUmVnaW9uLnNldEhlaWdodChzdWJSZWdpb25CQm94LmhlaWdodCgpICogdXNlQkJveC5oZWln
aHQoKSk7CisgICAgICAgIGlmICghZWZmZWN0LT5oYXNIZWlnaHQoKSkKKyAgICAgICAgICAgIG5l
d1N1YlJlZ2lvbi5zZXRIZWlnaHQodXNlQkJveC5oZWlnaHQoKSk7CiAgICAgfQogCiAgICAgLy8g
Y2xpcCBldmVyeSBmaWx0ZXIgZWZmZWN0IHRvIHRoZSBmaWx0ZXIgcmVnaW9uCkBAIC03NCw5ICs3
Miw5IEBAIHZvaWQgU1ZHRmlsdGVyOjpjYWxjdWxhdGVFZmZlY3RTdWJSZWdpb24KICAgICBlZmZl
Y3QtPnNldFN1YlJlZ2lvbihuZXdTdWJSZWdpb24pOwogfQogCi1QYXNzUmVmUHRyPFNWR0ZpbHRl
cj4gU1ZHRmlsdGVyOjpjcmVhdGUoY29uc3QgRmxvYXRSZWN0JiBpdGVtQm94LCBjb25zdCBGbG9h
dFJlY3QmIGZpbHRlclJlY3QsIGJvb2wgZWZmZWN0QkJveE1vZGUsIGJvb2wgZmlsdGVyQkJveE1v
ZGUpCitQYXNzUmVmUHRyPFNWR0ZpbHRlcj4gU1ZHRmlsdGVyOjpjcmVhdGUoY29uc3QgRmxvYXRS
ZWN0JiBpdGVtQm94LCBjb25zdCBGbG9hdFJlY3QmIGZpbHRlclJlY3QsIGJvb2wgZWZmZWN0QkJv
eE1vZGUpCiB7Ci0gICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBTVkdGaWx0ZXIoaXRlbUJveCwgZmls
dGVyUmVjdCwgZWZmZWN0QkJveE1vZGUsIGZpbHRlckJCb3hNb2RlKSk7CisgICAgcmV0dXJuIGFk
b3B0UmVmKG5ldyBTVkdGaWx0ZXIoaXRlbUJveCwgZmlsdGVyUmVjdCwgZWZmZWN0QkJveE1vZGUp
KTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpJbmRleDogV2ViQ29yZS9zdmcvZ3JhcGhp
Y3MvZmlsdGVycy9TVkdGaWx0ZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3N2Zy9ncmFwaGlj
cy9maWx0ZXJzL1NWR0ZpbHRlci5oCShyZXZpc2lvbiA0OTQ5MikKKysrIFdlYkNvcmUvc3ZnL2dy
YXBoaWNzL2ZpbHRlcnMvU1ZHRmlsdGVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTMzLDcgKzMzLDcg
QEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgY2xhc3MgU1ZHRmlsdGVyIDogcHVibGljIEZp
bHRlciB7CiAgICAgcHVibGljOgotICAgICAgICBzdGF0aWMgUGFzc1JlZlB0cjxTVkdGaWx0ZXI+
IGNyZWF0ZShjb25zdCBGbG9hdFJlY3QmLCBjb25zdCBGbG9hdFJlY3QmLCBib29sLCBib29sKTsK
KyAgICAgICAgc3RhdGljIFBhc3NSZWZQdHI8U1ZHRmlsdGVyPiBjcmVhdGUoY29uc3QgRmxvYXRS
ZWN0JiwgY29uc3QgRmxvYXRSZWN0JiwgYm9vbCk7CiAKICAgICAgICAgYm9vbCBlZmZlY3RCb3Vu
ZGluZ0JveE1vZGUoKSB7IHJldHVybiBtX2VmZmVjdEJCb3hNb2RlOyB9CiAKQEAgLTQyLDEyICs0
MiwxMSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIHZvaWQgY2FsY3VsYXRlRWZmZWN0
U3ViUmVnaW9uKEZpbHRlckVmZmVjdCopOwogCiAgICAgcHJpdmF0ZToKLSAgICAgICAgU1ZHRmls
dGVyKGNvbnN0IEZsb2F0UmVjdCYgaXRlbUJveCwgY29uc3QgRmxvYXRSZWN0JiBmaWx0ZXJSZWN0
LCBib29sIGl0ZW1CQm94TW9kZSwgYm9vbCBmaWx0ZXJCQm94TW9kZSk7CisgICAgICAgIFNWR0Zp
bHRlcihjb25zdCBGbG9hdFJlY3QmIGl0ZW1Cb3gsIGNvbnN0IEZsb2F0UmVjdCYgZmlsdGVyUmVj
dCwgYm9vbCBlZmZlY3RCQm94TW9kZSk7CiAKICAgICAgICAgRmxvYXRSZWN0IG1faXRlbUJveDsK
ICAgICAgICAgRmxvYXRSZWN0IG1fZmlsdGVyUmVjdDsKICAgICAgICAgYm9vbCBtX2VmZmVjdEJC
b3hNb2RlOwotICAgICAgICBib29sIG1fZmlsdGVyQkJveE1vZGU7CiAgICAgfTsKIAogfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQpJbmRleDogTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL0NoYW5nZUxvZwkocmV2aXNpb24gNDk1ODEpCisrKyBMYXlvdXRUZXN0
cy9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxNSBAQAorMjAwOS0xMC0xNCAg
RGlyayBTY2h1bHplICA8a3JpdEB3ZWJraXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgIENoZWNrIGlmIHRoZSBwZXJjZW50YWdlIG9mIGVmZmVj
dCB2YWx1ZXMgdGFrZXMgdXNlciBzcGFjZSBhcyByZWZlcmVuY2UgYW5kCisgICAgICAgIG5vdCB0
aGUgRmlsdGVyUmVjdC4KKworICAgICAgICAqIHBsYXRmb3JtL21hYy9zdmcvZmlsdGVycy9zdWJS
ZWdpb24taW4tdXNlclNwYWNlLWV4cGVjdGVkLmNoZWNrc3VtOiBBZGRlZC4KKyAgICAgICAgKiBw
bGF0Zm9ybS9tYWMvc3ZnL2ZpbHRlcnMvc3ViUmVnaW9uLWluLXVzZXJTcGFjZS1leHBlY3RlZC5w
bmc6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL21hYy9zdmcvZmlsdGVycy9zdWJSZWdpb24t
aW4tdXNlclNwYWNlLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogc3ZnL2ZpbHRlcnMv
c3ViUmVnaW9uLWluLXVzZXJTcGFjZS5zdmc6IEFkZGVkLgorCiAyMDA5LTEwLTE0ICBCcmFkeSBF
aWRzb24gIDxiZWlkc29uQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBTYW0gV2Vp
bmlnLgpJbmRleDogTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9maWx0ZXJzL3N1YlJlZ2lv
bi1pbi11c2VyU3BhY2UtZXhwZWN0ZWQuY2hlY2tzdW0KPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjL3N2Zy9maWx0ZXJzL3N1YlJlZ2lvbi1pbi11c2VyU3BhY2UtZXhwZWN0
ZWQuY2hlY2tzdW0JKHJldmlzaW9uIDApCisrKyBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3Zn
L2ZpbHRlcnMvc3ViUmVnaW9uLWluLXVzZXJTcGFjZS1leHBlY3RlZC5jaGVja3N1bQkocmV2aXNp
b24gMCkKQEAgLTAsMCArMSBAQAorODUzZGUwMDU2N2QxMjFiZWEwYjdiZWNlNjZhNWQ2MWMKXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCkluZGV4OiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMv
c3ZnL2ZpbHRlcnMvc3ViUmVnaW9uLWluLXVzZXJTcGFjZS1leHBlY3RlZC50eHQKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9maWx0ZXJzL3N1YlJlZ2lvbi1pbi11
c2VyU3BhY2UtZXhwZWN0ZWQudHh0CShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvcGxhdGZv
cm0vbWFjL3N2Zy9maWx0ZXJzL3N1YlJlZ2lvbi1pbi11c2VyU3BhY2UtZXhwZWN0ZWQudHh0CShy
ZXZpc2lvbiAwKQpAQCAtMCwwICsxLDUgQEAKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAor
ICBSZW5kZXJWaWV3IGF0ICgwLDApIHNpemUgODAweDYwMAorbGF5ZXIgYXQgKDAsMCkgc2l6ZSA0
MDB4NDAwCisgIFJlbmRlclNWR1Jvb3Qge3N2Z30gYXQgKDAsMCkgc2l6ZSAweDAKKyAgICBSZW5k
ZXJTVkdDb250YWluZXIge2d9IGF0ICgwLDApIHNpemUgMHgwIFtmaWx0ZXI9ZmlsdGVyMV0KSW5k
ZXg6IExheW91dFRlc3RzL3N2Zy9maWx0ZXJzL3N1YlJlZ2lvbi1pbi11c2VyU3BhY2Uuc3ZnCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIExheW91dFRlc3RzL3N2Zy9maWx0ZXJzL3N1YlJlZ2lvbi1pbi11c2VyU3Bh
Y2Uuc3ZnCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvc3ZnL2ZpbHRlcnMvc3ViUmVnaW9u
LWluLXVzZXJTcGFjZS5zdmcJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTEgQEAKKzxzdmcgeG1s
bnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB3aWR0aD0iNDAwIiBoZWlnaHQ9IjQwMCI+
CisKKzxmaWx0ZXIgaWQ9ImZpbHRlcjEiIGZpbHRlclVuaXRzPSJ1c2VyU3BhY2VPblVzZSIgcHJp
bWl0aXZlVW5pdHM9InVzZXJTcGFjZU9uVXNlIj4KKyAgPGZlRmxvb2QgZmxvb2QtY29sb3I9IiNm
ZjAwMDAiIHg9IjAlIiB5PSIwJSIgd2lkdGg9IjIwJSIgaGVpZ2h0PSIyMCUiIHJlc3VsdD0iZmxv
b2QxIi8+CisgIDxmZUZsb29kIGZsb29kLWNvbG9yPSIjMDAwMGZmIiB4PSIyMCUiIHk9IjIwJSIg
d2lkdGg9IjIwJSIgaGVpZ2h0PSIyMCUiIHJlc3VsdD0iZmxvb2QyIi8+CisgIDxmZUNvbXBvc2l0
ZSBpbj0iZmxvb2QxIiBpbjI9ImZsb29kMiIgeD0iMCUiIHk9IjAlIiB3aWR0aD0iNDAlIiBoZWln
aHQ9IjQwJSIgcmVzdWx0PSJwYWlyIi8+CisgIDxmZVRpbGUgaW49InBhaXIiLz4KKzwvZmlsdGVy
PgorPGcgZmlsdGVyPSJ1cmwoI2ZpbHRlcjEpIj48L2c+Cis8L3N2Zz4KKwpJbmRleDogTGF5b3V0
VGVzdHMvcGxhdGZvcm0vbWFjL3N2Zy9maWx0ZXJzL3N1YlJlZ2lvbi1pbi11c2VyU3BhY2UtZXhw
ZWN0ZWQucG5nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KQ2Fubm90IGRpc3BsYXk6IGZpbGUgbWFya2VkIGFzIGEgYmlu
YXJ5IHR5cGUuCnN2bjptaW1lLXR5cGUgPSBhcHBsaWNhdGlvbi9vY3RldC1zdHJlYW0KClByb3Bl
cnR5IGNoYW5nZXMgb246IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvZmlsdGVycy9zdWJS
ZWdpb24taW4tdXNlclNwYWNlLWV4cGVjdGVkLnBuZwpfX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkFkZGVkOiBzdm46bWlt
ZS10eXBlCiAgICsgYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtCgoKaVZCT1J3MEtHZ29BQUFBTlNV
aEVVZ0FBQXlBQUFBSllDQVlBQUFDYWRvSndBQUFETzJsRFExQkpRME1nVUhKdlptbHNaUUFBZUFH
RgpsRXRvMUZBVWh2K01LWUswZ3FpMUZwVGdRb3UwSlQ3UWlsRGJhYlhXa1hFWSs5QWl5RFJ6Wnhw
Tk16R1pHUitJU0VIYytWcUtHeCtJCml5cmlRcnBRY0tVTGtVTHJhMUVFY2FVaWlFSTNVc2IvSnUx
TUtsWXZKUGx5em4vUDY0WUFWUTlUam1ORk5HRFl6cnZKcnFoMjZQQ0EKdG5nQ1ZhaEJOYmhTaHVl
MEp4TDdmYVpXUHVldjZiZFFwR1d5U2NhSzlSMlkrTFJ0OWYxTGoyTHY2NTcyK3A3NStubHZOUzRU
QW9wRwo2NHBzd0ZzbER3YThWL0xKdkpPbjVvaGtZeWlWSmp2a1JyY24yVUcrUVY2YURmRmdpTlBD
TTRDcU5tcHlodU15VG1RRnVhVm9aR1hNClViSnVwMDJiUENYdGFjOFlwb2I5Um43SVdkREdsWThC
cld1QVJTOHJ0Z0VQR0wwTHJGcGZzVFhVQVN2N2diRXRGZHZQcEQ4ZnBYYmMKeTJ6WjdJZFRxcU9z
NlVPcDlITTlzUGdhTUhPMVZQcDFxMVNhdWMwY3JPT1paUlRjb3E5bFljb3JJS2czMk0zNHlUbGFp
SU9lZkZVTApjSk56N0Y4Q3hDNEExejhDR3g0QXl4OERpUnFnWndjaTU5bHVjT1hGS2M0RjZNZzVw
MTB6TzVUWE51djZkcTJkUnl1MGJ0dG9idFJTCmxxWDVMazl6aFNmY29rZzNZOWdxY003K1dzWjd0
YkI3RC9MSi9pTG5oTGQ3bHBXUmRLcVRzMFF6Mi9xU0ZwMjd5WTNrZXhselR6ZTUKZ2RkVXh0M1RH
N0N5MGN4Mzl3UWM2Yk90T005RmFpSjE5bUQ4QUpueEZkWEpSK1U4Skk5NHhZTXlwbTgvbHRxWElO
ZlRuanllaTBsTgpMZmUyblJucTRSbEpWcXd6UXgzeFdYN3RGcEl5N3pwcTdqaVcvODJ6dHNoekhJ
WUZBUk0yN3pZMEpOR0ZLSnJnd0VVT0dYcE1La3hhCnBWL1Fhc0xEOGI4cUxTVEt1eXdxdXZDWmV6
NzdlMDZnd04weWZoK2ljWXcwbGlObytqdjltLzVHdjZuZjBiOWVxUzgwVkR3ajdsSFQKR0wvOG5Y
RmxabG1OakJ2VUtPUExtb0w0QnF0dHA5ZENsdFpoWGtGUFhsbmZGSzR1WTErcEwzczBtVU5jakUr
SHVoU2hURTBZWkR6Wgp0ZXkrU0xiNEp2eDhjOWtXbWg2MUw4NCtxYXZrZXFPT0habXNmbkUyWEEx
ci83T3JZTkt5cS9Ea2paQXVQR3VocmxVM3FkMXFpN29ECm1ycExiVk5iMVU2KzdWVDNsM2YwY2xZ
bVRySnVsOVduMklPTjAvUldUcm95V3dUL0ZuNHgvQzkxQ1Z1NHBxSEpmMmpDeldWTVMvaU8KNFBZ
ZmQwajVML3dOQVlVVkRYeExPenNBQUNBQVNVUkJWSGdCN2RleERRQWdEQVF4WVArZEEyS0lxNXdG
WHJMUzNKNTN5eEVnUUlBQQpBUUlFQ0JBZ1FDQVFPTUdHQ1FJRUNCQWdRSUFBQVFJRUNId0JBZUlS
Q0JBZ1FJQUFBUUlFQ0JESUJBUklSbTJJQUFFQ0JBZ1FJRUNBCkFBRUI0Z2NJRUNCQWdBQUJBZ1FJ
RU1nRUJFaEdiWWdBQVFJRUNCQWdRSUFBQVFIaUJ3Z1FJRUNBQUFFQ0JBZ1F5QVFFU0VadGlBQUIK
QWdRSUVDQkFnQUFCQWVJSENCQWdRSUFBQVFJRUNCRElCQVJJUm0ySUFBRUNCQWdRSUVDQUFBRUI0
Z2NJRUNCQWdBQUJBZ1FJRU1nRQpCRWhHYllnQUFRSUVDQkFnUUlBQUFRSGlCd2dRSUVDQUFBRUNC
QWdReUFRRVNFWnRpQUFCQWdRSUVDQkFnQUFCQWVJSENCQWdRSUFBCkFRSUVDQkRJQkFSSVJtMklB
QUVDQkFnUUlFQ0FBQUVCNGdjSUVDQkFnQUFCQWdRSUVNZ0VCRWhHYllnQUFRSUVDQkFnUUlBQUFR
SGkKQndnUUlFQ0FBQUVDQkFnUXlBUUVTRVp0aUFBQkFnUUlFQ0JBZ0FBQkFlSUhDQkFnUUlBQUFR
SUVDQkRJQkFSSVJtMklBQUVDQkFnUQpJRUNBQUFFQjRnY0lFQ0JBZ0FBQkFnUUlFTWdFQkVoR2JZ
Z0FBUUlFQ0JBZ1FJQUFBUUhpQndnUUlFQ0FBQUVDQkFnUXlBUUVTRVp0CmlBQUJBZ1FJRUNCQWdB
QUJBZUlIQ0JBZ1FJQUFBUUlFQ0JESUJBUklSbTJJQUFFQ0JBZ1FJRUNBQUFFQjRnY0lFQ0JBZ0FB
QkFnUUkKRU1nRUJFaEdiWWdBQVFJRUNCQWdRSUFBQVFIaUJ3Z1FJRUNBQUFFQ0JBZ1F5QVFFU0Va
dGlBQUJBZ1FJRUNCQWdBQUJBZUlIQ0JBZwpRSUFBQVFJRUNCRElCQVJJUm0ySUFBRUNCQWdRSUVD
QUFBRUI0Z2NJRUNCQWdBQUJBZ1FJRU1nRUJFaEdiWWdBQVFJRUNCQWdRSUFBCkFRSGlCd2dRSUVD
QUFBRUNCQWdReUFRRVNFWnRpQUFCQWdRSUVDQkFnQUFCQWVJSENCQWdRSUFBQVFJRUNCRElCQVJJ
Um0ySUFBRUMKQkFnUUlFQ0FBQUVCNGdjSUVDQkFnQUFCQWdRSUVNZ0VCRWhHYllnQUFRSUVDQkFn
UUlBQUFRSGlCd2dRSUVDQUFBRUNCQWdReUFRRQpTRVp0aUFBQkFnUUlFQ0JBZ0FBQkFlSUhDQkFn
UUlBQUFRSUVDQkRJQkFSSVJtMklBQUVDQkFnUUlFQ0FBQUVCNGdjSUVDQkFnQUFCCkFnUUlFTWdF
QkVoR2JZZ0FBUUlFQ0JBZ1FJQUFBUUhpQndnUUlFQ0FBQUVDQkFnUXlBUUVTRVp0aUFBQkFnUUlF
Q0JBZ0FBQkFlSUgKQ0JBZ1FJQUFBUUlFQ0JESUJBUklSbTJJQUFFQ0JBZ1FJRUNBQUFFQjRnY0lF
Q0JBZ0FBQkFnUUlFTWdFQkVoR2JZZ0FBUUlFQ0JBZwpRSUFBQVFIaUJ3Z1FJRUNBQUFFQ0JBZ1F5
QVFFU0VadGlBQUJBZ1FJRUNCQWdBQUJBZUlIQ0JBZ1FJQUFBUUlFQ0JESUJBUklSbTJJCkFBRUNC
QWdRSUVDQUFBRUI0Z2NJRUNCQWdBQUJBZ1FJRU1nRUJFaEdiWWdBQVFJRUNCQWdRSUFBQVFIaUJ3
Z1FJRUNBQUFFQ0JBZ1EKeUFRRVNFWnRpQUFCQWdRSUVDQkFnQUFCQWVJSENCQWdRSUFBQVFJRUNC
RElCQVJJUm0ySUFBRUNCQWdRSUVDQUFBRUI0Z2NJRUNCQQpnQUFCQWdRSUVNZ0VCRWhHYllnQUFR
SUVDQkFnUUlBQUFRSGlCd2dRSUVDQUFBRUNCQWdReUFRRVNFWnRpQUFCQWdRSUVDQkFnQUFCCkFl
SUhDQkFnUUlBQUFRSUVDQkRJQkFSSVJtMklBQUVDQkFnUUlFQ0FBQUVCNGdjSUVDQkFnQUFCQWdR
SUVNZ0VCRWhHYllnQUFRSUUKQ0JBZ1FJQUFBUUhpQndnUUlFQ0FBQUVDQkFnUXlBUUVTRVp0aUFB
QkFnUUlFQ0JBZ0FBQkFlSUhDQkFnUUlBQUFRSUVDQkRJQkFSSQpSbTJJQUFFQ0JBZ1FJRUNBQUFF
QjRnY0lFQ0JBZ0FBQkFnUUlFTWdFQkVoR2JZZ0FBUUlFQ0JBZ1FJQUFBUUhpQndnUUlFQ0FBQUVD
CkJBZ1F5QVFFU0VadGlBQUJBZ1FJRUNCQWdBQUJBZUlIQ0JBZ1FJQUFBUUlFQ0JESUJBUklSbTJJ
QUFFQ0JBZ1FJRUNBQUFFQjRnY0kKRUNCQWdBQUJBZ1FJRU1nRUJFaEdiWWdBQVFJRUNCQWdRSUFB
QVFIaUJ3Z1FJRUNBQUFFQ0JBZ1F5QVFFU0VadGlBQUJBZ1FJRUNCQQpnQUFCQWVJSENCQWdRSUFB
QVFJRUNCRElCQVJJUm0ySUFBRUNCQWdRSUVDQUFBRUI0Z2NJRUNCQWdBQUJBZ1FJRU1nRUJFaEdi
WWdBCkFRSUVDQkFnUUlBQUFRSGlCd2dRSUVDQUFBRUNCQWdReUFRRVNFWnRpQUFCQWdRSUVDQkFn
QUFCQWVJSENCQWdRSUFBQVFJRUNCREkKQkFSSVJtMklBQUVDQkFnUUlFQ0FBQUVCNGdjSUVDQkFn
QUFCQWdRSUVNZ0VCRWhHYllnQUFRSUVDQkFnUUlBQUFRSGlCd2dRSUVDQQpBQUVDQkFnUXlBUUVT
RVp0aUFBQkFnUUlFQ0JBZ0FBQkFlSUhDQkFnUUlBQUFRSUVDQkRJQkFSSVJtMklBQUVDQkFnUUlF
Q0FBQUVCCjRnY0lFQ0JBZ0FBQkFnUUlFTWdFQkVoR2JZZ0FBUUlFQ0JBZ1FJQUFBUUhpQndnUUlF
Q0FBQUVDQkFnUXlBUUVTRVp0aUFBQkFnUUkKRUNCQWdBQUJBZUlIQ0JBZ1FJQUFBUUlFQ0JESUJB
UklSbTJJQUFFQ0JBZ1FJRUNBQUFFQjRnY0lFQ0JBZ0FBQkFnUUlFTWdFQkVoRwpiWWdBQVFJRUNC
QWdRSUFBQVFIaUJ3Z1FJRUNBQUFFQ0JBZ1F5QVFFU0VadGlBQUJBZ1FJRUNCQWdBQUJBZUlIQ0JB
Z1FJQUFBUUlFCkNCRElCQVJJUm0ySUFBRUNCQWdRSUVDQUFBRUI0Z2NJRUNCQWdBQUJBZ1FJRU1n
RUJFaEdiWWdBQVFJRUNCQWdRSUFBQVFIaUJ3Z1EKSUVDQUFBRUNCQWdReUFRRVNFWnRpQUFCQWdR
SUVDQkFnQUFCQWVJSENCQWdRSUFBQVFJRUNCRElCQVJJUm0ySUFBRUNCQWdRSUVDQQpBQUVCNGdj
SUVDQkFnQUFCQWdRSUVNZ0VCRWhHYllnQUFRSUVDQkFnUUlBQUFRSGlCd2dRSUVDQUFBRUNCQWdR
eUFRRVNFWnRpQUFCCkFnUUlFQ0JBZ0FBQkFlSUhDQkFnUUlBQUFRSUVDQkRJQkFSSVJtMklBQUVD
QkFnUUlFQ0FBQUVCNGdjSUVDQkFnQUFCQWdRSUVNZ0UKQkVoR2JZZ0FBUUlFQ0JBZ1FJQUFBUUhp
QndnUUlFQ0FBQUVDQkFnUXlBUUVTRVp0aUFBQkFnUUlFQ0JBZ0FBQkFlSUhDQkFnUUlBQQpBUUlF
Q0JESUJBUklSbTJJQUFFQ0JBZ1FJRUNBQUFFQjRnY0lFQ0JBZ0FBQkFnUUlFTWdFQkVoR2JZZ0FB
UUlFQ0JBZ1FJQUFBUUhpCkJ3Z1FJRUNBQUFFQ0JBZ1F5QVFFU0VadGlBQUJBZ1FJRUNCQWdBQUJB
ZUlIQ0JBZ1FJQUFBUUlFQ0JESUJBUklSbTJJQUFFQ0JBZ1EKSUVDQUFBRUI0Z2NJRUNCQWdBQUJB
Z1FJRU1nRUJFaEdiWWdBQVFJRUNCQWdRSUFBQVFIaUJ3Z1FJRUNBQUFFQ0JBZ1F5QVFFU0VadApp
QUFCQWdRSUVDQkFnQUFCQWVJSENCQWdRSUFBQVFJRUNCRElCQVJJUm0ySUFBRUNCQWdRSUVDQUFB
RUI0Z2NJRUNCQWdBQUJBZ1FJCkVNZ0VCRWhHYllnQUFRSUVDQkFnUUlBQUFRSGlCd2dRSUVDQUFB
RUNCQWdReUFRRVNFWnRpQUFCQWdRSUVDQkFnQUFCQWVJSENCQWcKUUlBQUFRSUVDQkRJQkFSSVJt
MklBQUVDQkFnUUlFQ0FBQUVCNGdjSUVDQkFnQUFCQWdRSUVNZ0VCRWhHYllnQUFRSUVDQkFnUUlB
QQpBUUhpQndnUUlFQ0FBQUVDQkFnUXlBUUVTRVp0aUFBQkFnUUlFQ0JBZ0FBQkFlSUhDQkFnUUlB
QUFRSUVDQkRJQkFSSVJtMklBQUVDCkJBZ1FJRUNBQUFFQjRnY0lFQ0JBZ0FBQkFnUUlFTWdFQkVo
R2JZZ0FBUUlFQ0JBZ1FJQUFBUUhpQndnUUlFQ0FBQUVDQkFnUXlBUUUKU0VadGlBQUJBZ1FJRUNC
QWdBQUJBZUlIQ0JBZ1FJQUFBUUlFQ0JESUJBUklSbTJJQUFFQ0JBZ1FJRUNBQUFFQjRnY0lFQ0JB
Z0FBQgpBZ1FJRU1nRUJFaEdiWWdBQVFJRUNCQWdRSUFBQVFIaUJ3Z1FJRUNBQUFFQ0JBZ1F5QVFF
U0VadGlBQUJBZ1FJRUNCQWdBQUJBZUlICkNCQWdRSUFBQVFJRUNCRElCQVJJUm0ySUFBRUNCQWdR
SUVDQUFBRUI0Z2NJRUNCQWdBQUJBZ1FJRU1nRUJFaEdiWWdBQVFJRUNCQWcKUUlBQUFRSGlCd2dR
SUVDQUFBRUNCQWdReUFRRVNFWnRpQUFCQWdRSUVDQkFnQUFCQWVJSENCQWdRSUFBQVFJRUNCRElC
QVJJUm0ySQpBQUVDQkFnUUlFQ0FBQUVCNGdjSUVDQkFnQUFCQWdRSUVNZ0VCRWhHYllnQUFRSUVD
QkFnUUlBQUFRSGlCd2dRSUVDQUFBRUNCQWdRCnlBUUVTRVp0aUFBQkFnUUlFQ0JBZ0FBQkFlSUhD
QkFnUUlBQUFRSUVDQkRJQkFSSVJtMklBQUVDQkFnUUlFQ0FBQUVCNGdjSUVDQkEKZ0FBQkFnUUlF
TWdFQkVoR2JZZ0FBUUlFQ0JBZ1FJQUFBUUhpQndnUUlFQ0FBQUVDQkFnUXlBUUVTRVp0aUFBQkFn
UUlFQ0JBZ0FBQgpBZUlIQ0JBZ1FJQUFBUUlFQ0JESUJBUklSbTJJQUFFQ0JBZ1FJRUNBQUFFQjRn
Y0lFQ0JBZ0FBQkFnUUlFTWdFQkVoR2JZZ0FBUUlFCkNCQWdRSUFBQVFIaUJ3Z1FJRUNBQUFFQ0JB
Z1F5QVFFU0VadGlBQUJBZ1FJRUNCQWdBQUJBZUlIQ0JBZ1FJQUFBUUlFQ0JESUJBUkkKUm0ySUFB
RUNCQWdRSUVDQUFBRUI0Z2NJRUNCQWdBQUJBZ1FJRU1nRUJFaEdiWWdBQVFJRUNCQWdRSUFBQVFI
aUJ3Z1FJRUNBQUFFQwpCQWdReUFRRVNFWnRpQUFCQWdRSUVDQkFnQUFCQWVJSENCQWdRSUFBQVFJ
RUNCRElCQVJJUm0ySUFBRUNCQWdRSUVDQUFBRUI0Z2NJCkVDQkFnQUFCQWdRSUVNZ0VCRWhHYlln
QUFRSUVDQkFnUUlBQUFRSGlCd2dRSUVDQUFBRUNCQWdReUFRRVNFWnRpQUFCQWdRSUVDQkEKZ0FB
QkFlSUhDQkFnUUlBQUFRSUVDQkRJQkFSSVJtMklBQUVDQkFnUUlFQ0FBQUVCNGdjSUVDQkFnQUFC
QWdRSUVNZ0VCRWhHYllnQQpBUUlFQ0JBZ1FJQUFBUUhpQndnUUlFQ0FBQUVDQkFnUXlBUUVTRVp0
aUFBQkFnUUlFQ0JBZ0FBQkFlSUhDQkFnUUlBQUFRSUVDQkRJCkJBUklSbTJJQUFFQ0JBZ1FJRUNB
QUFFQjRnY0lFQ0JBZ0FBQkFnUUlFTWdFQkVoR2JZZ0FBUUlFQ0JBZ1FJQUFBUUhpQndnUUlFQ0EK
QUFFQ0JBZ1F5QVFFU0VadGlBQUJBZ1FJRUNCQWdBQUJBZUlIQ0JBZ1FJQUFBUUlFQ0JESUJBUklS
bTJJQUFFQ0JBZ1FJRUNBQUFFQgo0Z2NJRUNCQWdBQUJBZ1FJRU1nRUJFaEdiWWdBQVFJRUNCQWdR
SUFBQVFIaUJ3Z1FJRUNBQUFFQ0JBZ1F5QVFFU0VadGlBQUJBZ1FJCkVDQkFnQUFCQWVJSENCQWdR
SUFBQVFJRUNCRElCQVJJUm0ySUFBRUNCQWdRSUVDQUFBRUI0Z2NJRUNCQWdBQUJBZ1FJRU1nRUJF
aEcKYllnQUFRSUVDQkFnUUlBQUFRSGlCd2dRSUVDQUFBRUNCQWdReUFRRVNFWnRpQUFCQWdRSUVD
QkFnQUFCQWVJSENCQWdRSUFBQVFJRQpDQkRJQkFSSVJtMklBQUVDQkFnUUlFQ0FBQUVCNGdjSUVD
QkFnQUFCQWdRSUVNZ0VCRWhHYllnQUFRSUVDQkFnUUlBQUFRSGlCd2dRCklFQ0FBQUVDQkFnUXlB
UUVTRVp0aUFBQkFnUUlFQ0JBZ0FBQkFlSUhDQkFnUUlBQUFRSUVDQkRJQkFSSVJtMklBQUVDQkFn
UUlFQ0EKQUFFQjRnY0lFQ0JBZ0FBQkFnUUlFTWdFQkVoR2JZZ0FBUUlFQ0JBZ1FJQUFBUUhpQndn
UUlFQ0FBQUVDQkFnUXlBUUVTRVp0aUFBQgpBZ1FJRUNCQWdBQUJBZUlIQ0JBZ1FJQUFBUUlFQ0JE
SUJBUklSbTJJQUFFQ0JBZ1FJRUNBQUFFQjRnY0lFQ0JBZ0FBQkFnUUlFTWdFCkJFaEdiWWdBQVFJ
RUNCQWdRSUFBQVFIaUJ3Z1FJRUNBQUFFQ0JBZ1F5QVFFU0VadGlBQUJBZ1FJRUNCQWdBQUJBZUlI
Q0JBZ1FJQUEKQVFJRUNCRElCQVJJUm0ySUFBRUNCQWdRSUVDQUFBRUI0Z2NJRUNCQWdBQUJBZ1FJ
RU1nRUJFaEdiWWdBQVFJRUNCQWdRSUFBQVFIaQpCd2dRSUVDQUFBRUNCQWdReUFRRVNFWnRpQUFC
QWdRSUVDQkFnQUFCQWVJSENCQWdRSUFBQVFJRUNCRElCQVJJUm0ySUFBRUNCQWdRCklFQ0FBQUVC
NGdjSUVDQkFnQUFCQWdRSUVNZ0VCRWhHYllnQUFRSUVDQkFnUUlBQUFRSGlCd2dRSUVDQUFBRUNC
QWdReUFRRVNFWnQKaUFBQkFnUUlFQ0JBZ0FBQkFlSUhDQkFnUUlBQUFRSUVDQkRJQkFSSVJtMklB
QUVDQkFnUUlFQ0FBQUVCNGdjSUVDQkFnQUFCQWdRSQpFTWdFQkVoR2JZZ0FBUUlFQ0JBZ1FJQUFB
UUhpQndnUUlFQ0FBQUVDQkFnUXlBUUVTRVp0aUFBQkFnUUlFQ0JBZ0FBQkFlSUhDQkFnClFJQUFB
UUlFQ0JESUJBUklSbTJJQUFFQ0JBZ1FJRUNBQUFFQjRnY0lFQ0JBZ0FBQkFnUUlFTWdFQkVoR2JZ
Z0FBUUlFQ0JBZ1FJQUEKQVFIaUJ3Z1FJRUNBQUFFQ0JBZ1F5QVFFU0VadGlBQUJBZ1FJRUNCQWdB
QUJBZUlIQ0JBZ1FJQUFBUUlFQ0JESUJBUklSbTJJQUFFQwpCQWdRSUVDQUFBRUI0Z2NJRUNCQWdB
QUJBZ1FJRU1nRUJFaEdiWWdBQVFJRUNCQWdRSUFBQVFIaUJ3Z1FJRUNBQUFFQ0JBZ1F5QVFFClNF
WnRpQUFCQWdRSUVDQkFnQUFCQWVJSENCQWdRSUFBQVFJRUNCRElCQVJJUm0ySUFBRUNCQWdRSUVD
QUFBRUI0Z2NJRUNCQWdBQUIKQWdRSUVNZ0VCRWhHYllnQUFRSUVDQkFnUUlBQUFRSGlCd2dRSUVD
QUFBRUNCQWdReUFRRVNFWnRpQUFCQWdRSUVDQkFnQUFCQWVJSApDQkFnUUlBQUFRSUVDQkRJQkFS
SVJtMklBQUVDQkFnUUlFQ0FBQUVCNGdjSUVDQkFnQUFCQWdRSUVNZ0VCRWhHYllnQUFRSUVDQkFn
ClFJQUFBUUhpQndnUUlFQ0FBQUVDQkFnUXlBUUVTRVp0aUFBQkFnUUlFQ0JBZ0FBQkFlSUhDQkFn
UUlBQUFRSUVDQkRJQkFSSVJtMkkKQUFFQ0JBZ1FJRUNBQUFFQjRnY0lFQ0JBZ0FBQkFnUUlFTWdF
QkVoR2JZZ0FBUUlFQ0JBZ1FJQUFBUUhpQndnUUlFQ0FBQUVDQkFnUQp5QVFFU0VadGlBQUJBZ1FJ
RUNCQWdBQUJBZUlIQ0JBZ1FJQUFBUUlFQ0JESUJBUklSbTJJQUFFQ0JBZ1FJRUNBQUFFQjRnY0lF
Q0JBCmdBQUJBZ1FJRU1nRUJFaEdiWWdBQVFJRUNCQWdRSUFBQVFIaUJ3Z1FJRUNBQUFFQ0JBZ1F5
QVFFU0VadGlBQUJBZ1FJRUNCQWdBQUIKQWVJSENCQWdRSUFBQVFJRUNCRElCQVJJUm0ySUFBRUNC
QWdRSUVDQUFBRUI0Z2NJRUNCQWdBQUJBZ1FJRU1nRUJFaEdiWWdBQVFJRQpDQkFnUUlBQUFRSGlC
d2dRSUVDQUFBRUNCQWdReUFRRVNFWnRpQUFCQWdRSUVDQkFnQUFCQWVJSENCQWdRSUFBQVFJRUNC
RElCQVJJClJtMklBQUVDQkFnUUlFQ0FBQUVCNGdjSUVDQkFnQUFCQWdRSUVNZ0VCRWhHYllnQUFR
SUVDQkFnUUlBQUFRSGlCd2dRSUVDQUFBRUMKQkFnUXlBUUVTRVp0aUFBQkFnUUlFQ0JBZ0FBQkFl
SUhDQkFnUUlBQUFRSUVDQkRJQkFSSVJtMklBQUVDQkFnUUlFQ0FBQUVCNGdjSQpFQ0JBZ0FBQkFn
UUlFTWdFQkVoR2JZZ0FBUUlFQ0JBZ1FJQUFBUUhpQndnUUlFQ0FBQUVDQkFnUXlBUUVTRVp0aUFB
QkFnUUlFQ0JBCmdBQUJBZUlIQ0JBZ1FJQUFBUUlFQ0JESUJBUklSbTJJQUFFQ0JBZ1FJRUNBQUFF
QjRnY0lFQ0JBZ0FBQkFnUUlFTWdFQkVoR2JZZ0EKQVFJRUNCQWdRSUFBQVFIaUJ3Z1FJRUNBQUFF
Q0JBZ1F5QVFFU0VadGlBQUJBZ1FJRUNCQWdBQUJBZUlIQ0JBZ1FJQUFBUUlFQ0JESQpCQVJJUm0y
SUFBRUNCQWdRSUVDQUFBRUI0Z2NJRUNCQWdBQUJBZ1FJRU1nRUJFaEdiWWdBQVFJRUNCQWdRSUFB
QVFIaUJ3Z1FJRUNBCkFBRUNCQWdReUFRRVNFWnRpQUFCQWdRSUVDQkFnQUFCQWVJSENCQWdRSUFB
QVFJRUNCRElCQVJJUm0ySUFBRUNCQWdRSUVDQUFBRUIKNGdjSUVDQkFnQUFCQWdRSUVNZ0VCRWhH
YllnQUFRSUVDQkFnUUlBQUFRSGlCd2dRSUVDQUFBRUNCQWdReUFRRVNFWnRpQUFCQWdRSQpFQ0JB
Z0FBQkFlSUhDQkFnUUlBQUFRSUVDQkRJQkFSSVJtMklBQUVDQkFnUUlFQ0FBQUVCNGdjSUVDQkFn
QUFCQWdRSUVNZ0VCRWhHCmJZZ0FBUUlFQ0JBZ1FJQUFBUUhpQndnUUlFQ0FBQUVDQkFnUXlBUUVT
RVp0aUFBQkFnUUlFQ0JBZ0FBQkFlSUhDQkFnUUlBQUFRSUUKQ0JESUJBUklSbTJJQUFFQ0JBZ1FJ
RUNBQUFFQjRnY0lFQ0JBZ0FBQkFnUUlFTWdFQkVoR2JZZ0FBUUlFQ0JBZ1FJQUFBUUhpQndnUQpJ
RUNBQUFFQ0JBZ1F5QVFFU0VadGlBQUJBZ1FJRUNCQWdBQUJBZUlIQ0JBZ1FJQUFBUUlFQ0JESUJB
UklSbTJJQUFFQ0JBZ1FJRUNBCkFBRUI0Z2NJRUNCQWdBQUJBZ1FJRU1nRUJFaEdiWWdBQVFJRUNC
QWdRSUFBQVFIaUJ3Z1FJRUNBQUFFQ0JBZ1F5QVFFU0VadGlBQUIKQWdRSUVDQkFnQUFCQWVJSENC
QWdRSUFBQVFJRUNCRElCQVJJUm0ySUFBRUNCQWdRSUVDQUFBRUI0Z2NJRUNCQWdBQUJBZ1FJRU1n
RQpCRWhHYllnQUFRSUVDQkFnUUlBQUFRSGlCd2dRSUVDQUFBRUNCQWdReUFRRVNFWnRpQUFCQWdR
SUVDQkFnQUFCQWVJSENCQWdRSUFBCkFRSUVDQkRJQkFSSVJtMklBQUVDQkFnUUlFQ0FBQUVCNGdj
SUVDQkFnQUFCQWdRSUVNZ0VCRWhHYllnQUFRSUVDQkFnUUlBQUFRSGkKQndnUUlFQ0FBQUVDQkFn
UXlBUUVTRVp0aUFBQkFnUUlFQ0JBZ0FBQkFlSUhDQkFnUUlBQUFRSUVDQkRJQkFSSVJtMklBQUVD
QkFnUQpJRUNBQUFFQjRnY0lFQ0JBZ0FBQkFnUUlFTWdFQkVoR2JZZ0FBUUlFQ0JBZ1FJQUFBUUhp
QndnUUlFQ0FBQUVDQkFnUXlBUUVTRVp0CmlBQUJBZ1FJRUNCQWdBQUJBZUlIQ0JBZ1FJQUFBUUlF
Q0JESUJBUklSbTJJQUFFQ0JBZ1FJRUNBQUFFQjRnY0lFQ0JBZ0FBQkFnUUkKRU1nRUJFaEdiWWdB
QVFJRUNCQWdRSUFBQVFIaUJ3Z1FJRUNBQUFFQ0JBZ1F5QVFFU0VadGlBQUJBZ1FJRUNCQWdBQUJB
ZUlIQ0JBZwpRSUFBQVFJRUNCRElCQVJJUm0ySUFBRUNCQWdRSUVDQUFBRUI0Z2NJRUNCQWdBQUJB
Z1FJRU1nRUJFaEdiWWdBQVFJRUNCQWdRSUFBCkFRSGlCd2dRSUVDQUFBRUNCQWdReUFRRVNFWnRp
QUFCQWdRSUVDQkFnQUFCQWVJSENCQWdRSUFBQVFJRUNCRElCQVJJUm0ySUFBRUMKQkFnUUlFQ0FB
QUVCNGdjSUVDQkFnQUFCQWdRSUVNZ0VCRWhHYllnQUFRSUVDQkFnUUlBQUFRSGlCd2dRSUVDQUFB
RUNCQWdReUFRRQpTRVp0aUFBQkFnUUlFQ0JBZ0FBQkFlSUhDQkFnUUlBQUFRSUVDQkRJQkFSSVJt
MklBQUVDQkFnUUlFQ0FBQUVCNGdjSUVDQkFnQUFCCkFnUUlFTWdFQkVoR2JZZ0FBUUlFQ0JBZ1FJ
QUFBUUhpQndnUUlFQ0FBQUVDQkFnUXlBUUVTRVp0aUFBQkFnUUlFQ0JBZ0FBQkFlSUgKQ0JBZ1FJ
QUFBUUlFQ0JESUJBUklSbTJJQUFFQ0JBZ1FJRUNBQUFFQjRnY0lFQ0JBZ0FBQkFnUUlFTWdFQkVo
R2JZZ0FBUUlFQ0JBZwpRSUFBQVFIaUJ3Z1FJRUNBQUFFQ0JBZ1F5QVFFU0VadGlBQUJBZ1FJRUNC
QWdBQUJBZUlIQ0JBZ1FJQUFBUUlFQ0JESUJBUklSbTJJCkFBRUNCQWdRSUVDQUFBRUI0Z2NJRUNC
QWdBQUJBZ1FJRU1nRUJFaEdiWWdBQVFJRUNCQWdRSUFBQVFIaUJ3Z1FJRUNBQUFFQ0JBZ1EKeUFR
RVNFWnRpQUFCQWdRSUVDQkFnQUFCQWVJSENCQWdRSUFBQVFJRUNCRElCQVJJUm0ySUFBRUNCQWdR
SUVDQUFBRUI0Z2NJRUNCQQpnQUFCQWdRSUVNZ0VCRWhHYllnQUFRSUVDQkFnUUlBQUFRSGlCd2dR
SUVDQUFBRUNCQWdReUFRRVNFWnRpQUFCQWdRSUVDQkFnQUFCCkFlSUhDQkFnUUlBQUFRSUVDQkRJ
QkFSSVJtMklBQUVDQkFnUUlFQ0FBQUVCNGdjSUVDQkFnQUFCQWdRSUVNZ0VCRWhHYllnQUFRSUUK
Q0JBZ1FJQUFBUUhpQndnUUlFQ0FBQUVDQkFnUXlBUUVTRVp0aUFBQkFnUUlFQ0JBZ0FBQkFlSUhD
QkFnUUlBQUFRSUVDQkRJQkFSSQpSbTJJQUFFQ0JBZ1FJRUNBQUFFQjRnY0lFQ0JBZ0FBQkFnUUlF
TWdFQkVoR2JZZ0FBUUlFQ0JBZ1FJQUFBUUhpQndnUUlFQ0FBQUVDCkJBZ1F5QVFFU0VadGlBQUJB
Z1FJRUNCQWdBQUJBZUlIQ0JBZ1FJQUFBUUlFQ0JESUJBUklSbTJJQUFFQ0JBZ1FJRUNBQUFFQjRn
Y0kKRUNCQWdBQUJBZ1FJRU1nRUJFaEdiWWdBQVFJRUNCQWdRSUFBQVFIaUJ3Z1FJRUNBQUFFQ0JB
Z1F5QVFFU0VadGlBQUJBZ1FJRUNCQQpnQUFCQWVJSENCQWdRSUFBQVFJRUNCRElCQVJJUm0ySUFB
RUNCQWdRSUVDQUFBRUI0Z2NJRUNCQWdBQUJBZ1FJRU1nRUJFaEdiWWdBCkFRSUVDQkFnUUlBQUFR
SGlCd2dRSUVDQUFBRUNCQWdReUFRRVNFWnRpQUFCQWdRSUVDQkFnQUFCQWVJSENCQWdRSUFBQVFJ
RUNCREkKQkFSSVJtMklBQUVDQkFnUUlFQ0FBQUVCNGdjSUVDQkFnQUFCQWdRSUVNZ0VCRWhHYlln
QUFRSUVDQkFnUUlBQUFRSGlCd2dRSUVDQQpBQUVDQkFnUXlBUUVTRVp0aUFBQkFnUUlFQ0JBZ0FB
QkFlSUhDQkFnUUlBQUFRSUVDQkRJQkFSSVJtMklBQUVDQkFnUUlFQ0FBQUVCCjRnY0lFQ0JBZ0FB
QkFnUUlFTWdFQkVoR2JZZ0FBUUlFQ0JBZ1FJQUFBUUhpQndnUUlFQ0FBQUVDQkFnUXlBUUVTRVp0
aUFBQkFnUUkKRUNCQWdBQUJBZUlIQ0JBZ1FJQUFBUUlFQ0JESUJBUklSbTJJQUFFQ0JBZ1FJRUNB
QUFFQjRnY0lFQ0JBZ0FBQkFnUUlFTWdFQkVoRwpiWWdBQVFJRUNCQWdRSUFBQVFIaUJ3Z1FJRUNB
QUFFQ0JBZ1F5QVFFU0VadGlBQUJBZ1FJRUNCQWdBQUJBZUlIQ0JBZ1FJQUFBUUlFCkNCRElCQVJJ
Um0ySUFBRUNCQWdRSUVDQUFBRUI0Z2NJRUNCQWdBQUJBZ1FJRU1nRUJFaEdiWWdBQVFJRUNCQWdR
SUFBQVFIaUJ3Z1EKSUVDQUFBRUNCQWdReUFRRVNFWnRpQUFCQWdRSUVDQkFnQUFCQWVJSENCQWdR
SUFBQVFJRUNCRElCQVJJUm0ySUFBRUNCQWdRSUVDQQpBQUVCNGdjSUVDQkFnQUFCQWdRSUVNZ0VC
RWhHYllnQUFRSUVDQkFnUUlBQUFRSGlCd2dRSUVDQUFBRUNCQWdReUFRRVNFWnRpQUFCCkFnUUlF
Q0JBZ0FBQkFlSUhDQkFnUUlBQUFRSUVDQkRJQkFSSVJtMklBQUVDQkFnUUlFQ0FBQUVCNGdjSUVD
QkFnQUFCQWdRSUVNZ0UKQkVoR2JZZ0FBUUlFQ0JBZ1FJQUFBUUhpQndnUUlFQ0FBQUVDQkFnUXlB
UUVTRVp0aUFBQkFnUUlFQ0JBZ0FBQkFlSUhDQkFnUUlBQQpBUUlFQ0JESUJBUklSbTJJQUFFQ0JB
Z1FJRUNBQUFFQjRnY0lFQ0JBZ0FBQkFnUUlFTWdFQkVoR2JZZ0FBUUlFQ0JBZ1FJQUFBUUhpCkJ3
Z1FJRUNBQUFFQ0JBZ1F5QVFFU0VadGlBQUJBZ1FJRUNCQWdBQUJBZUlIQ0JBZ1FJQUFBUUlFQ0JE
SUJBUklSbTJJQUFFQ0JBZ1EKSUVDQUFBRUI0Z2NJRUNCQWdBQUJBZ1FJRU1nRUJFaEdiWWdBQVFJ
RUNCQWdRSUFBQVFIaUJ3Z1FJRUNBQUFFQ0JBZ1F5QVFFU0VadAppQUFCQWdRSUVDQkFnQUFCQWVJ
SENCQWdRSUFBQVFJRUNCRElCQVJJUm0ySUFBRUNCQWdRSUVDQUFBRUI0Z2NJRUNCQWdBQUJBZ1FJ
CkVNZ0VCRWhHYllnQUFRSUVDQkFnUUlBQUFRSGlCd2dRSUVDQUFBRUNCQWdReUFRRVNFWnRpQUFC
QWdRSUVDQkFnQUFCQWVJSENCQWcKUUlBQUFRSUVDQkRJQkFSSVJtMklBQUVDQkFnUUlFQ0FBQUVC
NGdjSUVDQkFnQUFCQWdRSUVNZ0VCRWhHYllnQUFRSUVDQkFnUUlBQQpBUUhpQndnUUlFQ0FBQUVD
QkFnUXlBUUVTRVp0aUFBQkFnUUlFQ0JBZ0FBQkFlSUhDQkFnUUlBQUFRSUVDQkRJQkFSSVJtMklB
QUVDCkJBZ1FJRUNBQUFFQjRnY0lFQ0JBZ0FBQkFnUUlFTWdFQkVoR2JZZ0FBUUlFQ0JBZ1FJQUFB
UUhpQndnUUlFQ0FBQUVDQkFnUXlBUUUKU0VadGlBQUJBZ1FJRUNCQWdBQUJBZUlIQ0JBZ1FJQUFB
UUlFQ0JESUJBUklSbTJJQUFFQ0JBZ1FJRUNBQUFFQjRnY0lFQ0JBZ0FBQgpBZ1FJRU1nRUJFaEdi
WWdBQVFJRUNCQWdRSUFBQVFIaUJ3Z1FJRUNBQUFFQ0JBZ1F5QVFFU0VadGlBQUJBZ1FJRUNCQWdB
QUJBZUlICkNCQWdRSUFBQVFJRUNCRElCQVJJUm0ySUFBRUNCQWdRSUVDQUFBRUI0Z2NJRUNCQWdB
QUJBZ1FJRU1nRUJFaEdiWWdBQVFJRUNCQWcKUUlBQUFRSGlCd2dRMFo4ZUxBQUFCYUJKUkVGVUlF
Q0FBQUVDQkFnUXlBUUVTRVp0aUFBQkFnUUlFQ0JBZ0FBQkFlSUhDQkFnUUlBQQpBUUlFQ0JESUJB
UklSbTJJQUFFQ0JBZ1FJRUNBQUFFQjRnY0lFQ0JBZ0FBQkFnUUlFTWdFQkVoR2JZZ0FBUUlFQ0JB
Z1FJQUFBUUhpCkJ3Z1FJRUNBQUFFQ0JBZ1F5QVFFU0VadGlBQUJBZ1FJRUNCQWdBQUJBZUlIQ0JB
Z1FJQUFBUUlFQ0JESUJBUklSbTJJQUFFQ0JBZ1EKSUVDQUFBRUI0Z2NJRUNCQWdBQUJBZ1FJRU1n
RUJFaEdiWWdBQVFJRUNCQWdRSUFBQVFIaUJ3Z1FJRUNBQUFFQ0JBZ1F5QVFFU0VadAppQUFCQWdR
SUVDQkFnQUFCQWVJSENCQWdRSUFBQVFJRUNCRElCQVJJUm0ySUFBRUNCQWdRSUVDQUFBRUI0Z2NJ
RUNCQWdBQUJBZ1FJCkVNZ0VCRWhHYllnQUFRSUVDQkFnUUlBQUFRSGlCd2dRSUVDQUFBRUNCQWdR
eUFRRVNFWnRpQUFCQWdRSUVDQkFnQUFCQWVJSENCQWcKUUlBQUFRSUVDQkRJQkFSSVJtMklBQUVD
QkFnUUlFQ0FBQUVCNGdjSUVDQkFnQUFCQWdRSUVNZ0VCRWhHYllnQUFRSUVDQkFnUUlBQQpBUUhp
QndnUUlFQ0FBQUVDQkFnUXlBUUVTRVp0aUFBQkFnUUlFQ0JBZ0FBQkFlSUhDQkFnUUlBQUFRSUVD
QkRJQkFSSVJtMklBQUVDCkJBZ1FJRUNBQUFFQjRnY0lFQ0JBZ0FBQkFnUUlFTWdFQkVoR2JZZ0FB
UUlFQ0JBZ1FJQUFBUUhpQndnUUlFQ0FBQUVDQkFnUXlBUUUKU0VadGlBQUJBZ1FJRUNCQWdBQUJB
ZUlIQ0JBZ1FJQUFBUUlFQ0JESUJBUklSbTJJQUFFQ0JBZ1FJRUNBQUFFQjRnY0lFQ0JBZ0FBQgpB
Z1FJRU1nRUJFaEdiWWdBQVFJRUNCQWdRSUFBQVFIaUJ3Z1FJRUNBQUFFQ0JBZ1F5QVFFU0VadGlB
QUJBZ1FJRUNCQWdBQUJBZUlICkNCQWdRSUFBQVFJRUNCRElCQVJJUm0ySUFBRUNCQWdRSUVDQUFB
RUI0Z2NJRUNCQWdBQUJBZ1FJRU1nRUJFaEdiWWdBQVFJRUNCQWcKUUlBQUFRSGlCd2dRSUVDQUFB
RUNCQWdReUFRRVNFWnRpQUFCQWdRSUVDQkFnQUFCQWVJSENCQWdRSUFBQVFJRUNCRElCQVJJUm0y
SQpBQUVDQkFnUUlFQ0FBQUVCNGdjSUVDQkFnQUFCQWdRSUVNZ0VCRWhHYllnQUFRSUVDQkFnUUlB
QUFRSGlCd2dRSUVDQUFBRUNCQWdRCnlBUUVTRVp0aUFBQkFnUUlFQ0JBZ0FBQkFlSUhDQkFnUUlB
QUFRSUVDQkRJQkFSSVJtMklBQUVDQkFnUUlFQ0FBQUVCNGdjSUVDQkEKZ0FBQkFnUUlFTWdFQkVo
R2JZZ0FBUUlFQ0JBZ1FJQUFBUUhpQndnUUlFQ0FBQUVDQkFnUXlBUUVTRVp0aUFBQkFnUUlFQ0JB
Z0FBQgpBZUlIQ0JBZ1FJQUFBUUlFQ0JESUJBUklSbTJJQUFFQ0JBZ1FJRUNBQUFFQjRnY0lFQ0JB
Z0FBQkFnUUlFTWdFQkVoR2JZZ0FBUUlFCkNCQWdRSUFBQVFIaUJ3Z1FJRUNBQUFFQ0JBZ1F5QVFF
U0VadGlBQUJBZ1FJRUNCQWdBQUJBZUlIQ0JBZ1FJQUFBUUlFQ0JESUJBUkkKUm0ySUFBRUNCQWdR
SUVDQUFBRUI0Z2NJRUNCQWdBQUJBZ1FJRU1nRUJFaEdiWWdBQVFJRUNCQWdRSUFBQVFIaUJ3Z1FJ
RUNBQUFFQwpCQWdReUFRRVNFWnRpQUFCQWdRSUVDQkFnQUFCQWVJSENCQWdRSUFBQVFJRUNCRElC
QVJJUm0ySUFBRUNCQWdRSUVDQUFBRUI0Z2NJCkVDQkFnQUFCQWdRSUVNZ0VCRWhHYllnQUFRSUVD
QkFnUUlBQUFRSGlCd2dRSUVDQUFBRUNCQWdReUFRRVNFWnRpQUFCQWdRSUVDQkEKZ0FBQkFlSUhD
QkFnUUlBQUFRSUVDQkRJQkFSSVJtMklBQUVDQkFnUUlFQ0FBQUVCNGdjSUVDQkFnQUFCQWdRSUVN
Z0VCRWhHYllnQQpBUUlFQ0JBZ1FJQUFBUUhpQndnUUlFQ0FBQUVDQkFnUXlBUUVTRVp0aUFBQkFn
UUlFQ0JBZ0FBQkFlSUhDQkFnUUlBQUFRSUVDQkRJCkJBUklSbTJJQUFFQ0JBZ1FJRUNBQUFFQjRn
Y0lFQ0JBZ0FBQkFnUUlFTWdFQkVoR2JZZ0FBUUlFQ0JBZ1FJQUFBUUhpQndnUUlFQ0EKQUFFQ0JB
Z1F5QVFFU0VadGlBQUJBZ1FJRUNCQWdBQUJBZUlIQ0JBZ1FJQUFBUUlFQ0JESUJBUklSbTJJQUFF
Q0JBZ1FJRUNBQUFFQgo0Z2NJRUNCQWdBQUJBZ1FJRU1nRUJFaEdiWWdBQVFJRUNCQWdRSUFBZ1F2
cFZ3aXNaOHlRR0FBQUFBQkpSVTVFcmtKZ2dnPT0KCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>41182</attachid>
            <date>2009-10-14 12:57:56 -0700</date>
            <delta_ts>2009-10-14 13:23:04 -0700</delta_ts>
            <desc>Fix for effectRect values and userSpaceOnUse</desc>
            <filename>filter-cleanup5.patch</filename>
            <type>text/plain</type>
            <size>38348</size>
            <attacher name="Dirk Schulze">krit</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA0OTU4MSkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMzkgQEAKKzIwMDktMTAtMTQgIERpcmsgU2NodWx6ZSAgPGtyaXRAd2Via2l0Lm9y
Zz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBTVkcg
d3JvbmcgZmlsdGVyUmVnaW9ucyBmb3IgdXNlclNwYWNlT25Vc2UgYW5kIHBlcmNlbnRhZ2UgdmFs
dWVzCisgICAgICAgIFtodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzAz
MzBdCisKKyAgICAgICAgU29tZSBjbGVhbi11cCBvZiB0aGUgU1ZHIGZpbHRlciBjYWxjdWxhdGlv
biBjb2RlLiBUaGlzIGNsZWFuLXVwCisgICAgICAgIGFsc28gZml4ZXMgdGhlIHByb2JsZW0gd2l0
aCBwZXJjZW50YWdlIGFuZCB1c2VyU3BhY2VJblVzZSBtb2RlLgorCisgICAgICAgIFRlc3Q6IHN2
Zy9maWx0ZXJzL3N1YlJlZ2lvbi1pbi11c2VyU3BhY2Uuc3ZnCisKKyAgICAgICAgKiBwbGF0Zm9y
bS9ncmFwaGljcy9maWx0ZXJzL0ZpbHRlckVmZmVjdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpG
aWx0ZXJFZmZlY3Q6OkZpbHRlckVmZmVjdCk6CisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3Mv
ZmlsdGVycy9GaWx0ZXJFZmZlY3QuaDoKKyAgICAgICAgKiByZW5kZXJpbmcvU1ZHUmVuZGVyU3Vw
cG9ydC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTVkdSZW5kZXJCYXNlOjpmaWx0ZXJCb3VuZGlu
Z0JveEZvclJlbmRlcmVyKToKKyAgICAgICAgKiBzdmcvU1ZHRmlsdGVyRWxlbWVudC5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpTVkdGaWx0ZXJFbGVtZW50OjpidWlsZEZpbHRlcik6CisgICAgICAg
IChXZWJDb3JlOjpTVkdGaWx0ZXJFbGVtZW50OjpjYW52YXNSZXNvdXJjZSk6CisgICAgICAgICog
c3ZnL1NWR0ZpbHRlckVsZW1lbnQuaDoKKyAgICAgICAgKiBzdmcvU1ZHRmlsdGVyUHJpbWl0aXZl
U3RhbmRhcmRBdHRyaWJ1dGVzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNWR0ZpbHRlclByaW1p
dGl2ZVN0YW5kYXJkQXR0cmlidXRlczo6c2V0U3RhbmRhcmRBdHRyaWJ1dGVzKToKKyAgICAgICAg
KiBzdmcvZ3JhcGhpY3MvU1ZHUmVzb3VyY2VGaWx0ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
U1ZHUmVzb3VyY2VGaWx0ZXI6OlNWR1Jlc291cmNlRmlsdGVyKToKKyAgICAgICAgKFdlYkNvcmU6
OlNWR1Jlc291cmNlRmlsdGVyOjp+U1ZHUmVzb3VyY2VGaWx0ZXIpOgorICAgICAgICAoV2ViQ29y
ZTo6U1ZHUmVzb3VyY2VGaWx0ZXI6OmFkZEZpbHRlckVmZmVjdCk6CisgICAgICAgIChXZWJDb3Jl
OjpTVkdSZXNvdXJjZUZpbHRlcjo6cHJlcGFyZUZpbHRlcik6CisgICAgICAgICogc3ZnL2dyYXBo
aWNzL1NWR1Jlc291cmNlRmlsdGVyLmg6CisgICAgICAgIChXZWJDb3JlOjpTVkdSZXNvdXJjZUZp
bHRlcjo6Y3JlYXRlKToKKyAgICAgICAgKiBzdmcvZ3JhcGhpY3MvZmlsdGVycy9TVkdGaWx0ZXIu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6U1ZHRmlsdGVyOjpTVkdGaWx0ZXIpOgorICAgICAgICAo
V2ViQ29yZTo6U1ZHRmlsdGVyOjpjYWxjdWxhdGVFZmZlY3RTdWJSZWdpb24pOgorICAgICAgICAo
V2ViQ29yZTo6U1ZHRmlsdGVyOjpjcmVhdGUpOgorICAgICAgICAqIHN2Zy9ncmFwaGljcy9maWx0
ZXJzL1NWR0ZpbHRlci5oOgorCiAyMDA5LTEwLTE0ICBDaHJpcyBNYXJyaW4gIDxjbWFycmluQGFw
cGxlLmNvbT4KIAogICAgICAgICBUaGUgbGFzdCBjaGFuZ2UgZml4ZWQgdGhlIHByb2JsZW0sIHJl
bW92aW5nIGRpYWdub3N0aWMgcHJpbnRmcy4KSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhp
Y3MvZmlsdGVycy9GaWx0ZXJFZmZlY3QuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvZmlsdGVycy9GaWx0ZXJFZmZlY3QuY3BwCShyZXZpc2lvbiA0OTQ5MikKKysr
IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvZmlsdGVycy9GaWx0ZXJFZmZlY3QuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0yNSwxMSArMjUsNyBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBGaWx0
ZXJFZmZlY3Q6OkZpbHRlckVmZmVjdCgpCi0gICAgOiBtX3hCQm94TW9kZShmYWxzZSkKLSAgICAs
IG1feUJCb3hNb2RlKGZhbHNlKQotICAgICwgbV93aWR0aEJCb3hNb2RlKGZhbHNlKQotICAgICwg
bV9oZWlnaHRCQm94TW9kZShmYWxzZSkKLSAgICAsIG1faGFzWChmYWxzZSkKKyAgICA6IG1faGFz
WChmYWxzZSkKICAgICAsIG1faGFzWShmYWxzZSkKICAgICAsIG1faGFzV2lkdGgoZmFsc2UpCiAg
ICAgLCBtX2hhc0hlaWdodChmYWxzZSkKSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
ZmlsdGVycy9GaWx0ZXJFZmZlY3QuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2ZpbHRlcnMvRmlsdGVyRWZmZWN0LmgJKHJldmlzaW9uIDQ5NDkyKQorKysgV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9maWx0ZXJzL0ZpbHRlckVmZmVjdC5oCSh3b3JraW5nIGNvcHkp
CkBAIC0zOCwxOCArMzgsNiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgcHVibGljOgogICAg
ICAgICB2aXJ0dWFsIH5GaWx0ZXJFZmZlY3QoKTsKIAotICAgICAgICBib29sIHhCb3VuZGluZ0Jv
eE1vZGUoKSBjb25zdCB7IHJldHVybiBtX3hCQm94TW9kZTsgfQotICAgICAgICB2b2lkIHNldFhC
b3VuZGluZ0JveE1vZGUoYm9vbCBiYm94TW9kZSkgeyBtX3hCQm94TW9kZSA9IGJib3hNb2RlOyB9
Ci0KLSAgICAgICAgYm9vbCB5Qm91bmRpbmdCb3hNb2RlKCkgY29uc3QgeyByZXR1cm4gbV95QkJv
eE1vZGU7IH0KLSAgICAgICAgdm9pZCBzZXRZQm91bmRpbmdCb3hNb2RlKGJvb2wgYmJveE1vZGUp
IHsgbV95QkJveE1vZGUgPSBiYm94TW9kZTsgfQotCi0gICAgICAgIGJvb2wgd2lkdGhCb3VuZGlu
Z0JveE1vZGUoKSBjb25zdCB7IHJldHVybiBtX3dpZHRoQkJveE1vZGU7IH0KLSAgICAgICAgdm9p
ZCBzZXRXaWR0aEJvdW5kaW5nQm94TW9kZShib29sIGJib3hNb2RlKSB7IG1fd2lkdGhCQm94TW9k
ZSA9IGJib3hNb2RlOyB9Ci0KLSAgICAgICAgYm9vbCBoZWlnaHRCb3VuZGluZ0JveE1vZGUoKSBj
b25zdCB7IHJldHVybiBtX2hlaWdodEJCb3hNb2RlOyB9Ci0gICAgICAgIHZvaWQgc2V0SGVpZ2h0
Qm91bmRpbmdCb3hNb2RlKGJvb2wgYmJveE1vZGUpIHsgbV9oZWlnaHRCQm94TW9kZSA9IGJib3hN
b2RlOyB9Ci0KICAgICAgICAgdm9pZCBzZXRVbmlvbk9mQ2hpbGRFZmZlY3RTdWJyZWdpb25zKGNv
bnN0IEZsb2F0UmVjdCYgdW5pdGVSZWN0KSB7IG1fdW5pb25PZkNoaWxkRWZmZWN0U3VicmVnaW9u
cyA9IHVuaXRlUmVjdDsgfQogICAgICAgICBGbG9hdFJlY3QgdW5pb25PZkNoaWxkRWZmZWN0U3Vi
cmVnaW9ucygpIGNvbnN0IHsgcmV0dXJuIG1fdW5pb25PZkNoaWxkRWZmZWN0U3VicmVnaW9uczsg
fQogCkluZGV4OiBXZWJDb3JlL3JlbmRlcmluZy9TVkdSZW5kZXJTdXBwb3J0LmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJDb3JlL3JlbmRlcmluZy9TVkdSZW5kZXJTdXBwb3J0LmNwcAkocmV2aXNpb24g
NDk0OTIpCisrKyBXZWJDb3JlL3JlbmRlcmluZy9TVkdSZW5kZXJTdXBwb3J0LmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMjIwLDcgKzIyMCw3IEBAIEZsb2F0UmVjdCBTVkdSZW5kZXJCYXNlOjpmaWx0
ZXJCb3VuZGluZ0IKICNpZiBFTkFCTEUoRklMVEVSUykKICAgICBTVkdSZXNvdXJjZUZpbHRlciog
ZmlsdGVyID0gZ2V0RmlsdGVyQnlJZChvYmplY3QtPmRvY3VtZW50KCksIG9iamVjdC0+c3R5bGUo
KS0+c3ZnU3R5bGUoKS0+ZmlsdGVyKCkpOwogICAgIGlmIChmaWx0ZXIpCi0gICAgICAgIHJldHVy
biBmaWx0ZXItPmZpbHRlckJCb3hGb3JJdGVtQkJveChvYmplY3QtPm9iamVjdEJvdW5kaW5nQm94
KCkpOworICAgICAgICByZXR1cm4gZmlsdGVyLT5maWx0ZXJCb3VuZGluZ0JveCgpOwogI2Vsc2UK
ICAgICBVTlVTRURfUEFSQU0ob2JqZWN0KTsKICNlbmRpZgpJbmRleDogV2ViQ29yZS9zdmcvU1ZH
RmlsdGVyRWxlbWVudC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvU1ZHRmlsdGVyRWxl
bWVudC5jcHAJKHJldmlzaW9uIDQ5NDkyKQorKysgV2ViQ29yZS9zdmcvU1ZHRmlsdGVyRWxlbWVu
dC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTIsNiArMiw3IEBACiAgICAgQ29weXJpZ2h0IChDKSAy
MDA0LCAyMDA1LCAyMDA2LCAyMDA3IE5pa29sYXMgWmltbWVybWFubiA8emltbWVybWFubkBrZGUu
b3JnPgogICAgIENvcHlyaWdodCAoQykgMjAwNCwgMjAwNSwgMjAwNiBSb2IgQnVpcyA8YnVpc0Br
ZGUub3JnPgogICAgIENvcHlyaWdodCAoQykgMjAwNiBTYW11ZWwgV2VpbmlnIDxzYW0ud2Vpbmln
QGdtYWlsLmNvbT4KKyAgICBDb3B5cmlnaHQgKEMpIDIwMDkgRGlyayBTY2h1bHplIDxrcml0QHdl
YmtpdC5vcmc+CiAKICAgICBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgS0RFIHByb2plY3QKIApA
QCAtMTAyLDM5ICsxMDMsMzYgQEAgdm9pZCBTVkdGaWx0ZXJFbGVtZW50OjpwYXJzZU1hcHBlZEF0
dHJpYgogICAgIH0KIH0KIAotU1ZHUmVzb3VyY2UqIFNWR0ZpbHRlckVsZW1lbnQ6OmNhbnZhc1Jl
c291cmNlKCkKK3ZvaWQgU1ZHRmlsdGVyRWxlbWVudDo6YnVpbGRGaWx0ZXIoY29uc3QgRmxvYXRS
ZWN0JiB0YXJnZXRSZWN0KSBjb25zdAogewotICAgIGlmICghYXR0YWNoZWQoKSkKLSAgICAgICAg
cmV0dXJuIDA7Ci0KLSAgICBpZiAoIW1fZmlsdGVyKQotICAgICAgICBtX2ZpbHRlciA9IG5ldyBT
VkdSZXNvdXJjZUZpbHRlcigpOwotCiAgICAgYm9vbCBmaWx0ZXJCQm94TW9kZSA9IGZpbHRlclVu
aXRzKCkgPT0gU1ZHVW5pdFR5cGVzOjpTVkdfVU5JVF9UWVBFX09CSkVDVEJPVU5ESU5HQk9YOwot
ICAgIG1fZmlsdGVyLT5zZXRGaWx0ZXJCb3VuZGluZ0JveE1vZGUoZmlsdGVyQkJveE1vZGUpOwot
Ci0gICAgZmxvYXQgX3gsIF95LCBfd2lkdGgsIF9oZWlnaHQ7Ci0KLSAgICBpZiAoZmlsdGVyQkJv
eE1vZGUpIHsKLSAgICAgICAgX3ggPSB4KCkudmFsdWVBc1BlcmNlbnRhZ2UoKTsKLSAgICAgICAg
X3kgPSB5KCkudmFsdWVBc1BlcmNlbnRhZ2UoKTsKLSAgICAgICAgX3dpZHRoID0gd2lkdGgoKS52
YWx1ZUFzUGVyY2VudGFnZSgpOwotICAgICAgICBfaGVpZ2h0ID0gaGVpZ2h0KCkudmFsdWVBc1Bl
cmNlbnRhZ2UoKTsKLSAgICB9IGVsc2UgewotICAgICAgICBtX2ZpbHRlci0+c2V0WEJvdW5kaW5n
Qm94TW9kZSh4KCkudW5pdFR5cGUoKSA9PSBMZW5ndGhUeXBlUGVyY2VudGFnZSk7Ci0gICAgICAg
IG1fZmlsdGVyLT5zZXRZQm91bmRpbmdCb3hNb2RlKHkoKS51bml0VHlwZSgpID09IExlbmd0aFR5
cGVQZXJjZW50YWdlKTsKLQotICAgICAgICBfeCA9IHgoKS52YWx1ZSh0aGlzKTsKLSAgICAgICAg
X3kgPSB5KCkudmFsdWUodGhpcyk7Ci0gICAgICAgIF93aWR0aCA9IHdpZHRoKCkudmFsdWUodGhp
cyk7Ci0gICAgICAgIF9oZWlnaHQgPSBoZWlnaHQoKS52YWx1ZSh0aGlzKTsKLSAgICB9IAorICAg
IGJvb2wgcHJpbWl0aXZlQkJveE1vZGUgPSBwcmltaXRpdmVVbml0cygpID09IFNWR1VuaXRUeXBl
czo6U1ZHX1VOSVRfVFlQRV9PQkpFQ1RCT1VORElOR0JPWDsKIAotICAgIG1fZmlsdGVyLT5zZXRG
aWx0ZXJSZWN0KEZsb2F0UmVjdChfeCwgX3ksIF93aWR0aCwgX2hlaWdodCkpOworICAgIEZsb2F0
UmVjdCBmaWx0ZXJCQm94OworICAgIGlmIChmaWx0ZXJCQm94TW9kZSkKKyAgICAgICAgZmlsdGVy
QkJveCA9IEZsb2F0UmVjdCh4KCkudmFsdWVBc1BlcmNlbnRhZ2UoKSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB5KCkudmFsdWVBc1BlcmNlbnRhZ2UoKSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB3aWR0aCgpLnZhbHVlQXNQZXJjZW50YWdlKCksCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0KCkudmFsdWVBc1BlcmNlbnRhZ2UoKSk7CisgICAg
ZWxzZQorICAgICAgICBmaWx0ZXJCQm94ID0gRmxvYXRSZWN0KHgoKS52YWx1ZSh0aGlzKSwKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB5KCkudmFsdWUodGhpcyksCisgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgd2lkdGgoKS52YWx1ZSh0aGlzKSwKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICBoZWlnaHQoKS52YWx1ZSh0aGlzKSk7CisKKyAgICBGbG9hdFJlY3Qg
ZmlsdGVyUmVjdCA9IGZpbHRlckJCb3g7CisgICAgaWYgKGZpbHRlckJCb3hNb2RlKQorICAgICAg
ICBmaWx0ZXJSZWN0ID0gRmxvYXRSZWN0KHRhcmdldFJlY3QueCgpICsgZmlsdGVyUmVjdC54KCkg
KiB0YXJnZXRSZWN0LndpZHRoKCksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFy
Z2V0UmVjdC55KCkgKyBmaWx0ZXJSZWN0LnkoKSAqIHRhcmdldFJlY3QuaGVpZ2h0KCksCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsdGVyUmVjdC53aWR0aCgpICogdGFyZ2V0UmVj
dC53aWR0aCgpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRlclJlY3QuaGVp
Z2h0KCkgKiB0YXJnZXRSZWN0LmhlaWdodCgpKTsKIAotICAgIGJvb2wgcHJpbWl0aXZlQkJveE1v
ZGUgPSBwcmltaXRpdmVVbml0cygpID09IFNWR1VuaXRUeXBlczo6U1ZHX1VOSVRfVFlQRV9PQkpF
Q1RCT1VORElOR0JPWDsKKyAgICBtX2ZpbHRlci0+c2V0RmlsdGVyQm91bmRpbmdCb3goZmlsdGVy
UmVjdCk7CisgICAgbV9maWx0ZXItPnNldEZpbHRlclJlY3QoZmlsdGVyQkJveCk7CiAgICAgbV9m
aWx0ZXItPnNldEVmZmVjdEJvdW5kaW5nQm94TW9kZShwcmltaXRpdmVCQm94TW9kZSk7CisgICAg
bV9maWx0ZXItPnNldEZpbHRlckJvdW5kaW5nQm94TW9kZShmaWx0ZXJCQm94TW9kZSk7CiAKKyAg
ICAvLyBBZGQgZWZmZWN0cyB0byB0aGUgZmlsdGVyCiAgICAgbV9maWx0ZXItPmJ1aWxkZXIoKS0+
Y2xlYXJFZmZlY3RzKCk7CiAgICAgZm9yIChOb2RlKiBuID0gZmlyc3RDaGlsZCgpOyBuICE9IDA7
IG4gPSBuLT5uZXh0U2libGluZygpKSB7CiAgICAgICAgIFNWR0VsZW1lbnQqIGVsZW1lbnQgPSAw
OwpAQCAtMTQ5LDEyICsxNDcsMTggQEAgU1ZHUmVzb3VyY2UqIFNWR0ZpbHRlckVsZW1lbnQ6OmNh
bnZhc1JlcwogICAgICAgICAgICAgfQogICAgICAgICB9CiAgICAgfQorfQorCitTVkdSZXNvdXJj
ZSogU1ZHRmlsdGVyRWxlbWVudDo6Y2FudmFzUmVzb3VyY2UoKQoreworICAgIGlmICghYXR0YWNo
ZWQoKSkKKyAgICAgICAgcmV0dXJuIDA7CiAKKyAgICBpZiAoIW1fZmlsdGVyKQorICAgICAgICBt
X2ZpbHRlciA9IFNWR1Jlc291cmNlRmlsdGVyOjpjcmVhdGUodGhpcyk7CiAgICAgcmV0dXJuIG1f
ZmlsdGVyLmdldCgpOwogfQogCiB9CiAKLSNlbmRpZiAvLyBFTkFCTEUoU1ZHKQotCi0vLyB2aW06
dHM9NDpub2V0CisjZW5kaWYgLy8gRU5BQkxFKFNWRykgJiYgRU5BQkxFKEZJTFRFUlMpCkluZGV4
OiBXZWJDb3JlL3N2Zy9TVkdGaWx0ZXJFbGVtZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9z
dmcvU1ZHRmlsdGVyRWxlbWVudC5oCShyZXZpc2lvbiA0OTQ5MikKKysrIFdlYkNvcmUvc3ZnL1NW
R0ZpbHRlckVsZW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAtNzIsNyArNzIsMTEgQEAgbmFtZXNw
YWNlIFdlYkNvcmUgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU1ZH
TmFtZXM6OmV4dGVybmFsUmVzb3VyY2VzUmVxdWlyZWRBdHRyU3RyaW5nLCBib29sLAogICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJl
ZCwgZXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCkKIAotICAgICAgICBSZWZQdHI8U1ZHUmVzb3Vy
Y2VGaWx0ZXI+IG1fZmlsdGVyOworICAgICAgICBtdXRhYmxlIFJlZlB0cjxTVkdSZXNvdXJjZUZp
bHRlcj4gbV9maWx0ZXI7CisKKyAgICBwcml2YXRlOgorICAgICAgICBmcmllbmQgY2xhc3MgU1ZH
UmVzb3VyY2VGaWx0ZXI7CisgICAgICAgIHZvaWQgYnVpbGRGaWx0ZXIoY29uc3QgRmxvYXRSZWN0
JiB0YXJnZXRSZWN0KSBjb25zdDsKICAgICB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCklu
ZGV4OiBXZWJDb3JlL3N2Zy9TVkdGaWx0ZXJQcmltaXRpdmVTdGFuZGFyZEF0dHJpYnV0ZXMuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL1NWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0
cmlidXRlcy5jcHAJKHJldmlzaW9uIDQ5NDkyKQorKysgV2ViQ29yZS9zdmcvU1ZHRmlsdGVyUHJp
bWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMSw4ICsxLDcg
QEAKIC8qCiAgICAgQ29weXJpZ2h0IChDKSAyMDA0LCAyMDA1LCAyMDA2LCAyMDA3IE5pa29sYXMg
WmltbWVybWFubiA8emltbWVybWFubkBrZGUub3JnPgogICAgICAgICAgICAgICAgICAgMjAwNCwg
MjAwNSwgMjAwNiBSb2IgQnVpcyA8YnVpc0BrZGUub3JnPgotCi0gICAgVGhpcyBmaWxlIGlzIHBh
cnQgb2YgdGhlIEtERSBwcm9qZWN0CisgICAgICAgICAgICAgICAgICAyMDA5IERpcmsgU2NodWx6
ZSA8a3JpdEB3ZWJraXQub3JnPgogCiAgICAgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7
IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgogICAgIG1vZGlmeSBpdCB1bmRlciB0aGUg
dGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCkBAIC03Nyw4ICs3Niw2IEBA
IHZvaWQgU1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGUKIAogICAgIEFTU0VSVChy
ZXNvdXJjZUZpbHRlcik7CiAKLSAgICBmbG9hdCBfeCwgX3ksIF93aWR0aCwgX2hlaWdodDsKLQog
ICAgIGlmICh0aGlzLT5oYXNBdHRyaWJ1dGUoU1ZHTmFtZXM6OnhBdHRyKSkKICAgICAgICAgZmls
dGVyRWZmZWN0LT5zZXRIYXNYKHRydWUpOwogICAgIGlmICh0aGlzLT5oYXNBdHRyaWJ1dGUoU1ZH
TmFtZXM6OnlBdHRyKSkKQEAgLTg4LDQ3ICs4NSwxOSBAQCB2b2lkIFNWR0ZpbHRlclByaW1pdGl2
ZVN0YW5kYXJkQXR0cmlidXRlCiAgICAgaWYgKHRoaXMtPmhhc0F0dHJpYnV0ZShTVkdOYW1lczo6
aGVpZ2h0QXR0cikpCiAgICAgICAgIGZpbHRlckVmZmVjdC0+c2V0SGFzSGVpZ2h0KHRydWUpOwog
Ci0gICAgaWYgKHJlc291cmNlRmlsdGVyLT5lZmZlY3RCb3VuZGluZ0JveE1vZGUoKSkgewotICAg
ICAgICBfeCA9IHgoKS52YWx1ZUFzUGVyY2VudGFnZSgpOwotICAgICAgICBfeSA9IHkoKS52YWx1
ZUFzUGVyY2VudGFnZSgpOwotICAgICAgICBfd2lkdGggPSB3aWR0aCgpLnZhbHVlQXNQZXJjZW50
YWdlKCk7Ci0gICAgICAgIF9oZWlnaHQgPSBoZWlnaHQoKS52YWx1ZUFzUGVyY2VudGFnZSgpOwot
ICAgIH0gZWxzZSB7Ci0gICAgICAgIC8vIFdlIG5lZWQgdG8gcmVzb2x2ZSBhbnkgcGVyY2VudGFn
ZXMgaW4gZmlsdGVyIHJlY3Qgc3BhY2UuCi0gICAgICAgIGlmICh4KCkudW5pdFR5cGUoKSA9PSBM
ZW5ndGhUeXBlUGVyY2VudGFnZSkgewotICAgICAgICAgICAgZmlsdGVyRWZmZWN0LT5zZXRYQm91
bmRpbmdCb3hNb2RlKHRydWUpOwotICAgICAgICAgICAgX3ggPSB4KCkudmFsdWVBc1BlcmNlbnRh
Z2UoKTsKLSAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIGZpbHRlckVmZmVjdC0+c2V0WEJv
dW5kaW5nQm94TW9kZShmYWxzZSk7Ci0gICAgICAgICAgICBfeCA9IHgoKS52YWx1ZSh0aGlzKTsK
LSAgICAgICAgfQotCi0gICAgICAgIGlmICh5KCkudW5pdFR5cGUoKSA9PSBMZW5ndGhUeXBlUGVy
Y2VudGFnZSkgewotICAgICAgICAgICAgZmlsdGVyRWZmZWN0LT5zZXRZQm91bmRpbmdCb3hNb2Rl
KHRydWUpOwotICAgICAgICAgICAgX3kgPSB5KCkudmFsdWVBc1BlcmNlbnRhZ2UoKTsKLSAgICAg
ICAgfSBlbHNlIHsKLSAgICAgICAgICAgIGZpbHRlckVmZmVjdC0+c2V0WUJvdW5kaW5nQm94TW9k
ZShmYWxzZSk7Ci0gICAgICAgICAgICBfeSA9IHkoKS52YWx1ZSh0aGlzKTsKLSAgICAgICAgfQot
Ci0gICAgICAgIGlmICh3aWR0aCgpLnVuaXRUeXBlKCkgPT0gTGVuZ3RoVHlwZVBlcmNlbnRhZ2Up
IHsKLSAgICAgICAgICAgIGZpbHRlckVmZmVjdC0+c2V0V2lkdGhCb3VuZGluZ0JveE1vZGUodHJ1
ZSk7Ci0gICAgICAgICAgICBfd2lkdGggPSB3aWR0aCgpLnZhbHVlQXNQZXJjZW50YWdlKCk7Ci0g
ICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICBmaWx0ZXJFZmZlY3QtPnNldFdpZHRoQm91bmRp
bmdCb3hNb2RlKGZhbHNlKTsKLSAgICAgICAgICAgIF93aWR0aCA9IHdpZHRoKCkudmFsdWUodGhp
cyk7Ci0gICAgICAgIH0KLQotICAgICAgICBpZiAoaGVpZ2h0KCkudW5pdFR5cGUoKSA9PSBMZW5n
dGhUeXBlUGVyY2VudGFnZSkgewotICAgICAgICAgICAgZmlsdGVyRWZmZWN0LT5zZXRIZWlnaHRC
b3VuZGluZ0JveE1vZGUodHJ1ZSk7Ci0gICAgICAgICAgICBfaGVpZ2h0ID0gaGVpZ2h0KCkudmFs
dWVBc1BlcmNlbnRhZ2UoKTsKLSAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIGZpbHRlckVm
ZmVjdC0+c2V0SGVpZ2h0Qm91bmRpbmdCb3hNb2RlKGZhbHNlKTsKLSAgICAgICAgICAgIF9oZWln
aHQgPSBoZWlnaHQoKS52YWx1ZSh0aGlzKTsKLSAgICAgICAgfQotICAgIH0KKyAgICBGbG9hdFJl
Y3QgZWZmZWN0QkJveDsKKyAgICBpZiAocmVzb3VyY2VGaWx0ZXItPmVmZmVjdEJvdW5kaW5nQm94
TW9kZSgpKQorICAgICAgICBlZmZlY3RCQm94ID0gRmxvYXRSZWN0KHgoKS52YWx1ZUFzUGVyY2Vu
dGFnZSgpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHkoKS52YWx1ZUFzUGVyY2Vu
dGFnZSgpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoKCkudmFsdWVBc1Bl
cmNlbnRhZ2UoKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQoKS52YWx1
ZUFzUGVyY2VudGFnZSgpKTsKKyAgICBlbHNlCisgICAgICAgIGVmZmVjdEJCb3ggPSBGbG9hdFJl
Y3QoeCgpLnZhbHVlKHRoaXMpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHkoKS52
YWx1ZSh0aGlzKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aCgpLnZhbHVl
KHRoaXMpLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodCgpLnZhbHVlKHRo
aXMpKTsKIAotICAgIGZpbHRlckVmZmVjdC0+c2V0U3ViUmVnaW9uKEZsb2F0UmVjdChfeCwgX3ks
IF93aWR0aCwgX2hlaWdodCkpOworICAgIGZpbHRlckVmZmVjdC0+c2V0U3ViUmVnaW9uKGVmZmVj
dEJCb3gpOwogfQogCiB9CkluZGV4OiBXZWJDb3JlL3N2Zy9ncmFwaGljcy9TVkdSZXNvdXJjZUZp
bHRlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9zdmcvZ3JhcGhpY3MvU1ZHUmVzb3VyY2VG
aWx0ZXIuY3BwCShyZXZpc2lvbiA0OTQ5MikKKysrIFdlYkNvcmUvc3ZnL2dyYXBoaWNzL1NWR1Jl
c291cmNlRmlsdGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzEsNTIgKzMxLDQ0IEBACiAjaW5j
bHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKICNpbmNsdWRlICJTVkdGaWx0ZXIuaCIKICNpbmNsdWRl
ICJTVkdGaWx0ZXJCdWlsZGVyLmgiCisjaW5jbHVkZSAiU1ZHRmlsdGVyRWxlbWVudC5oIgogI2lu
Y2x1ZGUgIlNWR1JlbmRlclRyZWVBc1RleHQuaCIKICNpbmNsdWRlICJTVkdGaWx0ZXJQcmltaXRp
dmVTdGFuZGFyZEF0dHJpYnV0ZXMuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1TVkdSZXNv
dXJjZUZpbHRlcjo6U1ZHUmVzb3VyY2VGaWx0ZXIoKQotICAgIDogbV9maWx0ZXJCQm94TW9kZShm
YWxzZSkKK1NWR1Jlc291cmNlRmlsdGVyOjpTVkdSZXNvdXJjZUZpbHRlcihjb25zdCBTVkdGaWx0
ZXJFbGVtZW50KiBvd25lckVsZW1lbnQpCisgICAgOiBTVkdSZXNvdXJjZSgpCisgICAgLCBtX293
bmVyRWxlbWVudChvd25lckVsZW1lbnQpCisgICAgLCBtX2ZpbHRlckJCb3hNb2RlKGZhbHNlKQog
ICAgICwgbV9lZmZlY3RCQm94TW9kZShmYWxzZSkKLSAgICAsIG1feEJCb3hNb2RlKGZhbHNlKQot
ICAgICwgbV95QkJveE1vZGUoZmFsc2UpCiAgICAgLCBtX3NhdmVkQ29udGV4dCgwKQogICAgICwg
bV9zb3VyY2VHcmFwaGljQnVmZmVyKDApCiB7CiAgICAgbV9maWx0ZXJCdWlsZGVyLnNldChuZXcg
U1ZHRmlsdGVyQnVpbGRlcigpKTsKIH0KIAotdm9pZCBTVkdSZXNvdXJjZUZpbHRlcjo6YWRkRmls
dGVyRWZmZWN0KFNWR0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRlcyogZWZmZWN0QXR0
cmlidXRlcywgUGFzc1JlZlB0cjxGaWx0ZXJFZmZlY3Q+IGVmZmVjdCkKK1NWR1Jlc291cmNlRmls
dGVyOjp+U1ZHUmVzb3VyY2VGaWx0ZXIoKQogewotICAgIGVmZmVjdEF0dHJpYnV0ZXMtPnNldFN0
YW5kYXJkQXR0cmlidXRlcyh0aGlzLCBlZmZlY3QuZ2V0KCkpOwotICAgIGJ1aWxkZXIoKS0+YWRk
KGVmZmVjdEF0dHJpYnV0ZXMtPnJlc3VsdCgpLCBlZmZlY3QpOwogfQogCi1GbG9hdFJlY3QgU1ZH
UmVzb3VyY2VGaWx0ZXI6OmZpbHRlckJCb3hGb3JJdGVtQkJveChjb25zdCBGbG9hdFJlY3QmIGl0
ZW1CQm94KSBjb25zdAordm9pZCBTVkdSZXNvdXJjZUZpbHRlcjo6YWRkRmlsdGVyRWZmZWN0KFNW
R0ZpbHRlclByaW1pdGl2ZVN0YW5kYXJkQXR0cmlidXRlcyogZWZmZWN0QXR0cmlidXRlcywgUGFz
c1JlZlB0cjxGaWx0ZXJFZmZlY3Q+IGVmZmVjdCkKIHsKLSAgICBGbG9hdFJlY3QgZmlsdGVyQkJv
eCA9IGZpbHRlclJlY3QoKTsKLQotICAgIGlmIChmaWx0ZXJCb3VuZGluZ0JveE1vZGUoKSkKLSAg
ICAgICAgZmlsdGVyQkJveCA9IEZsb2F0UmVjdChpdGVtQkJveC54KCkgKyBmaWx0ZXJCQm94Lngo
KSAqIGl0ZW1CQm94LndpZHRoKCksCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXRl
bUJCb3gueSgpICsgZmlsdGVyQkJveC55KCkgKiBpdGVtQkJveC5oZWlnaHQoKSwKLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBmaWx0ZXJCQm94LndpZHRoKCkgKiBpdGVtQkJveC53aWR0
aCgpLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbHRlckJCb3guaGVpZ2h0KCkg
KiBpdGVtQkJveC5oZWlnaHQoKSk7Ci0KLSAgICByZXR1cm4gZmlsdGVyQkJveDsKKyAgICBlZmZl
Y3RBdHRyaWJ1dGVzLT5zZXRTdGFuZGFyZEF0dHJpYnV0ZXModGhpcywgZWZmZWN0LmdldCgpKTsK
KyAgICBidWlsZGVyKCktPmFkZChlZmZlY3RBdHRyaWJ1dGVzLT5yZXN1bHQoKSwgZWZmZWN0KTsK
IH0KIAogdm9pZCBTVkdSZXNvdXJjZUZpbHRlcjo6cHJlcGFyZUZpbHRlcihHcmFwaGljc0NvbnRl
eHQqJiBjb250ZXh0LCBjb25zdCBSZW5kZXJPYmplY3QqIG9iamVjdCkKIHsKLSAgICBtX2l0ZW1C
Qm94ID0gb2JqZWN0LT5vYmplY3RCb3VuZGluZ0JveCgpOwotICAgIG1fZmlsdGVyQkJveCA9IGZp
bHRlckJCb3hGb3JJdGVtQkJveChtX2l0ZW1CQm94KTsKKyAgICBGbG9hdFJlY3QgdGFyZ2V0UmVj
dCA9IG9iamVjdC0+b2JqZWN0Qm91bmRpbmdCb3goKTsKKyAgICBtX293bmVyRWxlbWVudC0+YnVp
bGRGaWx0ZXIodGFyZ2V0UmVjdCk7CiAKICAgICAvLyBjbGlwIHNvdXJjZUltYWdlIHRvIGZpbHRl
clJlZ2lvbgotICAgIEZsb2F0UmVjdCBjbGlwcGVkU291cmNlUmVjdCA9IG1faXRlbUJCb3g7Cisg
ICAgRmxvYXRSZWN0IGNsaXBwZWRTb3VyY2VSZWN0ID0gdGFyZ2V0UmVjdDsKICAgICBjbGlwcGVk
U291cmNlUmVjdC5pbnRlcnNlY3QobV9maWx0ZXJCQm94KTsKIAogICAgIC8vIHByZXBhcmUgRmls
dGVycwotICAgIG1fZmlsdGVyID0gU1ZHRmlsdGVyOjpjcmVhdGUobV9pdGVtQkJveCwgbV9maWx0
ZXJCQm94LCBtX2VmZmVjdEJCb3hNb2RlLCBtX2ZpbHRlckJCb3hNb2RlKTsKKyAgICBtX2ZpbHRl
ciA9IFNWR0ZpbHRlcjo6Y3JlYXRlKHRhcmdldFJlY3QsIG1fZmlsdGVyQkJveCwgbV9lZmZlY3RC
Qm94TW9kZSk7CiAKICAgICBGaWx0ZXJFZmZlY3QqIGxhc3RFZmZlY3QgPSBtX2ZpbHRlckJ1aWxk
ZXItPmxhc3RFZmZlY3QoKTsKICAgICBpZiAobGFzdEVmZmVjdCkKQEAgLTkxLDggKzgzLDggQEAg
dm9pZCBTVkdSZXNvdXJjZUZpbHRlcjo6cHJlcGFyZUZpbHRlcihHcgogICAgICAgICByZXR1cm47
CiAKICAgICBHcmFwaGljc0NvbnRleHQqIHNvdXJjZUdyYXBoaWNDb250ZXh0ID0gc291cmNlR3Jh
cGhpYy0+Y29udGV4dCgpOwotICAgIHNvdXJjZUdyYXBoaWNDb250ZXh0LT50cmFuc2xhdGUoLW1f
aXRlbUJCb3gueCgpLCAtbV9pdGVtQkJveC55KCkpOwotICAgIHNvdXJjZUdyYXBoaWNDb250ZXh0
LT5jbGVhclJlY3QoRmxvYXRSZWN0KEZsb2F0UG9pbnQoKSwgbV9pdGVtQkJveC5zaXplKCkpKTsK
KyAgICBzb3VyY2VHcmFwaGljQ29udGV4dC0+dHJhbnNsYXRlKC10YXJnZXRSZWN0LngoKSwgLXRh
cmdldFJlY3QueSgpKTsKKyAgICBzb3VyY2VHcmFwaGljQ29udGV4dC0+Y2xlYXJSZWN0KEZsb2F0
UmVjdChGbG9hdFBvaW50KCksIHRhcmdldFJlY3Quc2l6ZSgpKSk7CiAgICAgbV9zb3VyY2VHcmFw
aGljQnVmZmVyLnNldChzb3VyY2VHcmFwaGljLnJlbGVhc2UoKSk7CiAgICAgbV9zYXZlZENvbnRl
eHQgPSBjb250ZXh0OwogCkluZGV4OiBXZWJDb3JlL3N2Zy9ncmFwaGljcy9TVkdSZXNvdXJjZUZp
bHRlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvc3ZnL2dyYXBoaWNzL1NWR1Jlc291cmNlRmls
dGVyLmgJKHJldmlzaW9uIDQ5NDkyKQorKysgV2ViQ29yZS9zdmcvZ3JhcGhpY3MvU1ZHUmVzb3Vy
Y2VGaWx0ZXIuaAkod29ya2luZyBjb3B5KQpAQCAtNDMsMTEgKzQzLDEzIEBAIGNsYXNzIEZpbHRl
cjsKIGNsYXNzIEZpbHRlckVmZmVjdDsKIGNsYXNzIEdyYXBoaWNzQ29udGV4dDsKIGNsYXNzIFNW
R0ZpbHRlckJ1aWxkZXI7CitjbGFzcyBTVkdGaWx0ZXJFbGVtZW50OwogY2xhc3MgU1ZHRmlsdGVy
UHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVzOwogCiBjbGFzcyBTVkdSZXNvdXJjZUZpbHRlciA6
IHB1YmxpYyBTVkdSZXNvdXJjZSB7CiBwdWJsaWM6Ci0gICAgU1ZHUmVzb3VyY2VGaWx0ZXIoKTsK
KyAgICBzdGF0aWMgUGFzc1JlZlB0cjxTVkdSZXNvdXJjZUZpbHRlcj4gY3JlYXRlKGNvbnN0IFNW
R0ZpbHRlckVsZW1lbnQqIG93bmVyRWxlbWVudCkgeyByZXR1cm4gYWRvcHRSZWYobmV3IFNWR1Jl
c291cmNlRmlsdGVyKG93bmVyRWxlbWVudCkpOyB9CisgICAgdmlydHVhbCB+U1ZHUmVzb3VyY2VG
aWx0ZXIoKTsKICAgICAKICAgICB2aXJ0dWFsIFNWR1Jlc291cmNlVHlwZSByZXNvdXJjZVR5cGUo
KSBjb25zdCB7IHJldHVybiBGaWx0ZXJSZXNvdXJjZVR5cGU7IH0KIApAQCAtNTcsNDQgKzU5LDMx
IEBAIHB1YmxpYzoKICAgICBib29sIGVmZmVjdEJvdW5kaW5nQm94TW9kZSgpIGNvbnN0IHsgcmV0
dXJuIG1fZWZmZWN0QkJveE1vZGU7IH0KICAgICB2b2lkIHNldEVmZmVjdEJvdW5kaW5nQm94TW9k
ZShib29sIGJib3hNb2RlKSB7IG1fZWZmZWN0QkJveE1vZGUgPSBiYm94TW9kZTsgfQogCi0gICAg
Ym9vbCB4Qm91bmRpbmdCb3hNb2RlKCkgY29uc3QgeyByZXR1cm4gbV94QkJveE1vZGU7IH0KLSAg
ICB2b2lkIHNldFhCb3VuZGluZ0JveE1vZGUoYm9vbCBiYm94TW9kZSkgeyBtX3hCQm94TW9kZSA9
IGJib3hNb2RlOyB9Ci0KLSAgICBib29sIHlCb3VuZGluZ0JveE1vZGUoKSBjb25zdCB7IHJldHVy
biBtX3lCQm94TW9kZTsgfQotICAgIHZvaWQgc2V0WUJvdW5kaW5nQm94TW9kZShib29sIGJib3hN
b2RlKSB7IG1feUJCb3hNb2RlID0gYmJveE1vZGU7IH0KLQogICAgIEZsb2F0UmVjdCBmaWx0ZXJS
ZWN0KCkgY29uc3QgeyByZXR1cm4gbV9maWx0ZXJSZWN0OyB9CiAgICAgdm9pZCBzZXRGaWx0ZXJS
ZWN0KGNvbnN0IEZsb2F0UmVjdCYgcmVjdCkgeyBtX2ZpbHRlclJlY3QgPSByZWN0OyB9CiAKICAg
ICBGbG9hdFJlY3QgZmlsdGVyQm91bmRpbmdCb3goKSB7IHJldHVybiBtX2ZpbHRlckJCb3g7IH0K
ICAgICB2b2lkIHNldEZpbHRlckJvdW5kaW5nQm94KGNvbnN0IEZsb2F0UmVjdCYgcmVjdCkgeyBt
X2ZpbHRlckJCb3ggPSByZWN0OyB9CiAKLSAgICBGbG9hdFJlY3QgaXRlbUJvdW5kaW5nQm94KCkg
eyByZXR1cm4gbV9pdGVtQkJveDsgfQotICAgIHZvaWQgc2V0SXRlbUJvdW5kaW5nQm94KGNvbnN0
IEZsb2F0UmVjdCYgcmVjdCkgeyBtX2l0ZW1CQm94ID0gcmVjdDsgfQotCi0gICAgRmxvYXRSZWN0
IGZpbHRlckJCb3hGb3JJdGVtQkJveChjb25zdCBGbG9hdFJlY3QmIGl0ZW1CQm94KSBjb25zdDsK
LQotICAgIHZpcnR1YWwgVGV4dFN0cmVhbSYgZXh0ZXJuYWxSZXByZXNlbnRhdGlvbihUZXh0U3Ry
ZWFtJikgY29uc3Q7Ci0KICAgICB2b2lkIHByZXBhcmVGaWx0ZXIoR3JhcGhpY3NDb250ZXh0KiYs
IGNvbnN0IFJlbmRlck9iamVjdCopOwogICAgIHZvaWQgYXBwbHlGaWx0ZXIoR3JhcGhpY3NDb250
ZXh0KiYsIGNvbnN0IFJlbmRlck9iamVjdCopOwogCiAgICAgdm9pZCBhZGRGaWx0ZXJFZmZlY3Qo
U1ZHRmlsdGVyUHJpbWl0aXZlU3RhbmRhcmRBdHRyaWJ1dGVzKiwgUGFzc1JlZlB0cjxGaWx0ZXJF
ZmZlY3Q+KTsKIAogICAgIFNWR0ZpbHRlckJ1aWxkZXIqIGJ1aWxkZXIoKSB7IHJldHVybiBtX2Zp
bHRlckJ1aWxkZXIuZ2V0KCk7IH0KKworICAgIHZpcnR1YWwgVGV4dFN0cmVhbSYgZXh0ZXJuYWxS
ZXByZXNlbnRhdGlvbihUZXh0U3RyZWFtJikgY29uc3Q7CiAgICAgCiBwcml2YXRlOgorICAgIFNW
R1Jlc291cmNlRmlsdGVyKGNvbnN0IFNWR0ZpbHRlckVsZW1lbnQqKTsKKworICAgIGNvbnN0IFNW
R0ZpbHRlckVsZW1lbnQqIG1fb3duZXJFbGVtZW50OwogCiAgICAgYm9vbCBtX2ZpbHRlckJCb3hN
b2RlIDogMTsKICAgICBib29sIG1fZWZmZWN0QkJveE1vZGUgOiAxOwogCi0gICAgYm9vbCBtX3hC
Qm94TW9kZSA6IDE7Ci0gICAgYm9vbCBtX3lCQm94TW9kZSA6IDE7Ci0KICAgICBGbG9hdFJlY3Qg
bV9maWx0ZXJSZWN0OwotCiAgICAgRmxvYXRSZWN0IG1fZmlsdGVyQkJveDsKLSAgICBGbG9hdFJl
Y3QgbV9pdGVtQkJveDsKIAogICAgIE93blB0cjxTVkdGaWx0ZXJCdWlsZGVyPiBtX2ZpbHRlckJ1
aWxkZXI7CiAgICAgR3JhcGhpY3NDb250ZXh0KiBtX3NhdmVkQ29udGV4dDsKSW5kZXg6IFdlYkNv
cmUvc3ZnL2dyYXBoaWNzL2ZpbHRlcnMvU1ZHRmlsdGVyLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJD
b3JlL3N2Zy9ncmFwaGljcy9maWx0ZXJzL1NWR0ZpbHRlci5jcHAJKHJldmlzaW9uIDQ5NDkyKQor
KysgV2ViQ29yZS9zdmcvZ3JhcGhpY3MvZmlsdGVycy9TVkdGaWx0ZXIuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0yNCwxMiArMjQsMTEgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1TVkdGaWx0
ZXI6OlNWR0ZpbHRlcihjb25zdCBGbG9hdFJlY3QmIGl0ZW1Cb3gsIGNvbnN0IEZsb2F0UmVjdCYg
ZmlsdGVyUmVjdCwgYm9vbCBlZmZlY3RCQm94TW9kZSwgYm9vbCBmaWx0ZXJCQm94TW9kZSkKK1NW
R0ZpbHRlcjo6U1ZHRmlsdGVyKGNvbnN0IEZsb2F0UmVjdCYgaXRlbUJveCwgY29uc3QgRmxvYXRS
ZWN0JiBmaWx0ZXJSZWN0LCBib29sIGVmZmVjdEJCb3hNb2RlKQogICAgIDogRmlsdGVyKCkKICAg
ICAsIG1faXRlbUJveChpdGVtQm94KQogICAgICwgbV9maWx0ZXJSZWN0KGZpbHRlclJlY3QpCiAg
ICAgLCBtX2VmZmVjdEJCb3hNb2RlKGVmZmVjdEJCb3hNb2RlKQotICAgICwgbV9maWx0ZXJCQm94
TW9kZShmaWx0ZXJCQm94TW9kZSkKIHsKIH0KIApAQCAtMzcsNyArMzYsNiBAQCB2b2lkIFNWR0Zp
bHRlcjo6Y2FsY3VsYXRlRWZmZWN0U3ViUmVnaW9uCiB7CiAgICAgRmxvYXRSZWN0IHN1YlJlZ2lv
bkJCb3ggPSBlZmZlY3QtPnN1YlJlZ2lvbigpOwogICAgIEZsb2F0UmVjdCB1c2VCQm94ID0gZWZm
ZWN0LT51bmlvbk9mQ2hpbGRFZmZlY3RTdWJyZWdpb25zKCk7Ci0KICAgICBGbG9hdFJlY3QgbmV3
U3ViUmVnaW9uID0gc3ViUmVnaW9uQkJveDsKIAogICAgIGlmIChtX2VmZmVjdEJCb3hNb2RlKSB7
CkBAIC01NSwxNyArNTMsMTcgQEAgdm9pZCBTVkdGaWx0ZXI6OmNhbGN1bGF0ZUVmZmVjdFN1YlJl
Z2lvbgogICAgICAgICBpZiAoZWZmZWN0LT5oYXNIZWlnaHQoKSkKICAgICAgICAgICAgIG5ld1N1
YlJlZ2lvbi5zZXRIZWlnaHQoc3ViUmVnaW9uQkJveC5oZWlnaHQoKSAqIG1faXRlbUJveC5oZWln
aHQoKSk7CiAgICAgfSBlbHNlIHsKLSAgICAgICAgaWYgKGVmZmVjdC0+eEJvdW5kaW5nQm94TW9k
ZSgpKQotICAgICAgICAgICAgbmV3U3ViUmVnaW9uLnNldFgodXNlQkJveC54KCkgKyBzdWJSZWdp
b25CQm94LngoKSAqIHVzZUJCb3gud2lkdGgoKSk7CisgICAgICAgIGlmICghZWZmZWN0LT5oYXNY
KCkpCisgICAgICAgICAgICBuZXdTdWJSZWdpb24uc2V0WCh1c2VCQm94LngoKSk7CiAKLSAgICAg
ICAgaWYgKGVmZmVjdC0+eUJvdW5kaW5nQm94TW9kZSgpKQotICAgICAgICAgICAgbmV3U3ViUmVn
aW9uLnNldFkodXNlQkJveC55KCkgKyBzdWJSZWdpb25CQm94LnkoKSAqIHVzZUJCb3guaGVpZ2h0
KCkpOworICAgICAgICBpZiAoIWVmZmVjdC0+aGFzWSgpKQorICAgICAgICAgICAgbmV3U3ViUmVn
aW9uLnNldFkodXNlQkJveC55KCkpOwogCi0gICAgICAgIGlmIChlZmZlY3QtPndpZHRoQm91bmRp
bmdCb3hNb2RlKCkpCi0gICAgICAgICAgICBuZXdTdWJSZWdpb24uc2V0V2lkdGgoc3ViUmVnaW9u
QkJveC53aWR0aCgpICogdXNlQkJveC53aWR0aCgpKTsKKyAgICAgICAgaWYgKCFlZmZlY3QtPmhh
c1dpZHRoKCkpCisgICAgICAgICAgICBuZXdTdWJSZWdpb24uc2V0V2lkdGgodXNlQkJveC53aWR0
aCgpKTsKIAotICAgICAgICBpZiAoZWZmZWN0LT5oZWlnaHRCb3VuZGluZ0JveE1vZGUoKSkKLSAg
ICAgICAgICAgIG5ld1N1YlJlZ2lvbi5zZXRIZWlnaHQoc3ViUmVnaW9uQkJveC5oZWlnaHQoKSAq
IHVzZUJCb3guaGVpZ2h0KCkpOworICAgICAgICBpZiAoIWVmZmVjdC0+aGFzSGVpZ2h0KCkpCisg
ICAgICAgICAgICBuZXdTdWJSZWdpb24uc2V0SGVpZ2h0KHVzZUJCb3guaGVpZ2h0KCkpOwogICAg
IH0KIAogICAgIC8vIGNsaXAgZXZlcnkgZmlsdGVyIGVmZmVjdCB0byB0aGUgZmlsdGVyIHJlZ2lv
bgpAQCAtNzQsOSArNzIsOSBAQCB2b2lkIFNWR0ZpbHRlcjo6Y2FsY3VsYXRlRWZmZWN0U3ViUmVn
aW9uCiAgICAgZWZmZWN0LT5zZXRTdWJSZWdpb24obmV3U3ViUmVnaW9uKTsKIH0KIAotUGFzc1Jl
ZlB0cjxTVkdGaWx0ZXI+IFNWR0ZpbHRlcjo6Y3JlYXRlKGNvbnN0IEZsb2F0UmVjdCYgaXRlbUJv
eCwgY29uc3QgRmxvYXRSZWN0JiBmaWx0ZXJSZWN0LCBib29sIGVmZmVjdEJCb3hNb2RlLCBib29s
IGZpbHRlckJCb3hNb2RlKQorUGFzc1JlZlB0cjxTVkdGaWx0ZXI+IFNWR0ZpbHRlcjo6Y3JlYXRl
KGNvbnN0IEZsb2F0UmVjdCYgaXRlbUJveCwgY29uc3QgRmxvYXRSZWN0JiBmaWx0ZXJSZWN0LCBi
b29sIGVmZmVjdEJCb3hNb2RlKQogewotICAgIHJldHVybiBhZG9wdFJlZihuZXcgU1ZHRmlsdGVy
KGl0ZW1Cb3gsIGZpbHRlclJlY3QsIGVmZmVjdEJCb3hNb2RlLCBmaWx0ZXJCQm94TW9kZSkpOwor
ICAgIHJldHVybiBhZG9wdFJlZihuZXcgU1ZHRmlsdGVyKGl0ZW1Cb3gsIGZpbHRlclJlY3QsIGVm
ZmVjdEJCb3hNb2RlKSk7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IFdlYkNv
cmUvc3ZnL2dyYXBoaWNzL2ZpbHRlcnMvU1ZHRmlsdGVyLmgKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29y
ZS9zdmcvZ3JhcGhpY3MvZmlsdGVycy9TVkdGaWx0ZXIuaAkocmV2aXNpb24gNDk0OTIpCisrKyBX
ZWJDb3JlL3N2Zy9ncmFwaGljcy9maWx0ZXJzL1NWR0ZpbHRlci5oCSh3b3JraW5nIGNvcHkpCkBA
IC0zMyw3ICszMyw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgIGNsYXNzIFNWR0ZpbHRl
ciA6IHB1YmxpYyBGaWx0ZXIgewogICAgIHB1YmxpYzoKLSAgICAgICAgc3RhdGljIFBhc3NSZWZQ
dHI8U1ZHRmlsdGVyPiBjcmVhdGUoY29uc3QgRmxvYXRSZWN0JiwgY29uc3QgRmxvYXRSZWN0Jiwg
Ym9vbCwgYm9vbCk7CisgICAgICAgIHN0YXRpYyBQYXNzUmVmUHRyPFNWR0ZpbHRlcj4gY3JlYXRl
KGNvbnN0IEZsb2F0UmVjdCYsIGNvbnN0IEZsb2F0UmVjdCYsIGJvb2wpOwogCiAgICAgICAgIGJv
b2wgZWZmZWN0Qm91bmRpbmdCb3hNb2RlKCkgeyByZXR1cm4gbV9lZmZlY3RCQm94TW9kZTsgfQog
CkBAIC00MiwxMiArNDIsMTEgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgICAgICB2b2lkIGNh
bGN1bGF0ZUVmZmVjdFN1YlJlZ2lvbihGaWx0ZXJFZmZlY3QqKTsKIAogICAgIHByaXZhdGU6Ci0g
ICAgICAgIFNWR0ZpbHRlcihjb25zdCBGbG9hdFJlY3QmIGl0ZW1Cb3gsIGNvbnN0IEZsb2F0UmVj
dCYgZmlsdGVyUmVjdCwgYm9vbCBpdGVtQkJveE1vZGUsIGJvb2wgZmlsdGVyQkJveE1vZGUpOwor
ICAgICAgICBTVkdGaWx0ZXIoY29uc3QgRmxvYXRSZWN0JiBpdGVtQm94LCBjb25zdCBGbG9hdFJl
Y3QmIGZpbHRlclJlY3QsIGJvb2wgZWZmZWN0QkJveE1vZGUpOwogCiAgICAgICAgIEZsb2F0UmVj
dCBtX2l0ZW1Cb3g7CiAgICAgICAgIEZsb2F0UmVjdCBtX2ZpbHRlclJlY3Q7CiAgICAgICAgIGJv
b2wgbV9lZmZlY3RCQm94TW9kZTsKLSAgICAgICAgYm9vbCBtX2ZpbHRlckJCb3hNb2RlOwogICAg
IH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKSW5kZXg6IExheW91dFRlc3RzL0NoYW5nZUxv
Zwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9DaGFuZ2VMb2cJKHJldmlzaW9uIDQ5NTgxKQor
KysgTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTUgQEAK
KzIwMDktMTAtMTQgIERpcmsgU2NodWx6ZSAgPGtyaXRAd2Via2l0Lm9yZz4KKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDaGVjayBpZiB0aGUgcGVyY2Vu
dGFnZSBvZiBlZmZlY3QgdmFsdWVzIHRha2VzIHVzZXIgc3BhY2UgYXMgcmVmZXJlbmNlIGFuZAor
ICAgICAgICBub3QgdGhlIEZpbHRlclJlY3QuCisKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvc3Zn
L2ZpbHRlcnMvc3ViUmVnaW9uLWluLXVzZXJTcGFjZS1leHBlY3RlZC5jaGVja3N1bTogQWRkZWQu
CisgICAgICAgICogcGxhdGZvcm0vbWFjL3N2Zy9maWx0ZXJzL3N1YlJlZ2lvbi1pbi11c2VyU3Bh
Y2UtZXhwZWN0ZWQucG5nOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvc3ZnL2ZpbHRl
cnMvc3ViUmVnaW9uLWluLXVzZXJTcGFjZS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAq
IHN2Zy9maWx0ZXJzL3N1YlJlZ2lvbi1pbi11c2VyU3BhY2Uuc3ZnOiBBZGRlZC4KKwogMjAwOS0x
MC0xNCAgQnJhZHkgRWlkc29uICA8YmVpZHNvbkBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3
ZWQgYnkgU2FtIFdlaW5pZy4KSW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvZmls
dGVycy9zdWJSZWdpb24taW4tdXNlclNwYWNlLWV4cGVjdGVkLmNoZWNrc3VtCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvZmlsdGVycy9zdWJSZWdpb24taW4tdXNl
clNwYWNlLWV4cGVjdGVkLmNoZWNrc3VtCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjL3N2Zy9maWx0ZXJzL3N1YlJlZ2lvbi1pbi11c2VyU3BhY2UtZXhwZWN0ZWQuY2hl
Y2tzdW0JKHJldmlzaW9uIDApCkBAIC0wLDAgKzEgQEAKKzg1M2RlMDA1NjdkMTIxYmVhMGI3YmVj
ZTY2YTVkNjFjClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpJbmRleDogTGF5b3V0VGVzdHMv
cGxhdGZvcm0vbWFjL3N2Zy9maWx0ZXJzL3N1YlJlZ2lvbi1pbi11c2VyU3BhY2UtZXhwZWN0ZWQu
dHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvZmlsdGVycy9z
dWJSZWdpb24taW4tdXNlclNwYWNlLWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91
dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvZmlsdGVycy9zdWJSZWdpb24taW4tdXNlclNwYWNlLWV4
cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw1IEBACitsYXllciBhdCAoMCwwKSBz
aXplIDgwMHg2MDAKKyAgUmVuZGVyVmlldyBhdCAoMCwwKSBzaXplIDgwMHg2MDAKK2xheWVyIGF0
ICgwLDApIHNpemUgNDAweDQwMAorICBSZW5kZXJTVkdSb290IHtzdmd9IGF0ICgwLDApIHNpemUg
MHgwCisgICAgUmVuZGVyU1ZHQ29udGFpbmVyIHtnfSBhdCAoMCwwKSBzaXplIDB4MCBbZmlsdGVy
PWZpbHRlcjFdCkluZGV4OiBMYXlvdXRUZXN0cy9zdmcvZmlsdGVycy9zdWJSZWdpb24taW4tdXNl
clNwYWNlLnN2Zwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBMYXlvdXRUZXN0cy9zdmcvZmlsdGVycy9zdWJSZWdp
b24taW4tdXNlclNwYWNlLnN2ZwkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL3N2Zy9maWx0
ZXJzL3N1YlJlZ2lvbi1pbi11c2VyU3BhY2Uuc3ZnCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDEx
IEBACis8c3ZnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjQwMCIg
aGVpZ2h0PSI0MDAiPgorCis8ZmlsdGVyIGlkPSJmaWx0ZXIxIiBmaWx0ZXJVbml0cz0idXNlclNw
YWNlT25Vc2UiIHByaW1pdGl2ZVVuaXRzPSJ1c2VyU3BhY2VPblVzZSI+CisgIDxmZUZsb29kIGZs
b29kLWNvbG9yPSIjZmYwMDAwIiB4PSIwJSIgeT0iMCUiIHdpZHRoPSIyMCUiIGhlaWdodD0iMjAl
IiByZXN1bHQ9ImZsb29kMSIvPgorICA8ZmVGbG9vZCBmbG9vZC1jb2xvcj0iIzAwMDBmZiIgeD0i
MjAlIiB5PSIyMCUiIHdpZHRoPSIyMCUiIGhlaWdodD0iMjAlIiByZXN1bHQ9ImZsb29kMiIvPgor
ICA8ZmVDb21wb3NpdGUgaW49ImZsb29kMSIgaW4yPSJmbG9vZDIiIHg9IjAlIiB5PSIwJSIgd2lk
dGg9IjQwJSIgaGVpZ2h0PSI0MCUiIHJlc3VsdD0icGFpciIvPgorICA8ZmVUaWxlIGluPSJwYWly
Ii8+Cis8L2ZpbHRlcj4KKzxnIGZpbHRlcj0idXJsKCNmaWx0ZXIxKSI+PC9nPgorPC9zdmc+CisK
SW5kZXg6IExheW91dFRlc3RzL3BsYXRmb3JtL21hYy9zdmcvZmlsdGVycy9zdWJSZWdpb24taW4t
dXNlclNwYWNlLWV4cGVjdGVkLnBuZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CkNhbm5vdCBkaXNwbGF5OiBmaWxlIG1h
cmtlZCBhcyBhIGJpbmFyeSB0eXBlLgpzdm46bWltZS10eXBlID0gYXBwbGljYXRpb24vb2N0ZXQt
c3RyZWFtCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBMYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvc3Zn
L2ZpbHRlcnMvc3ViUmVnaW9uLWluLXVzZXJTcGFjZS1leHBlY3RlZC5wbmcKX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpB
ZGRlZDogc3ZuOm1pbWUtdHlwZQogICArIGFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbQoKCmlWQk9S
dzBLR2dvQUFBQU5TVWhFVWdBQUF5QUFBQUpZQ0FZQUFBQ2Fkb0p3QUFBRE8ybERRMUJKUTBNZ1VI
SnZabWxzWlFBQWVBR0YKbEV0bzFGQVVoditNS1lLMGdxaTFGcFRnUW91MEpUN1FpbERiYWJYV2tY
RVkrOUFpeURSelp4cE5NekdaR1IrSVNFSGMrVnFLR3grSQppeXJpUXJwUWNLVUxrVUxyYTFFRWNh
VWlpRUkzVXNiL0p1MU1LbFl2SlBseXpuL1A2NFlBVlE5VGptTkZOR0RZenJ2SnJxaDI2UENBCnRu
Z0NWYWhCTmJoU2h1ZTBKeEw3ZmFaV1B1ZXY2YmRRcEdXeVNjYUs5UjJZK0xSdDlmMUxqMkx2NjU3
MitwNzUrbmx2TlM0VEFvcEcKNjRwc3dGc2xEd2E4Vi9MSnZKT241b2hrWXlpVkpqdmtScmNuMlVH
K1FWNmFEZkZnaU5QQ000Q3FObXB5aHVNeVRtUUZ1YVZvWkdYTQpVYkp1cDAyYlBDWHRhYzhZcG9i
OVJuN0lXZERHbFk4QnJXdUFSUzhydGdFUEdMMExyRnBmc1RYVUFTdjdnYkV0RmR2UHBEOGZwWGJj
Cnkyelo3SWRUcXFPczZVT3A5SE05c1BnYU1ITzFWUHAxcTFTYXVjMGNyT09aWlJUY29xOWxZY29y
SUtnMzJNMzR5VGxhaUlPZWZGVUwKY0pOejdGOEN4QzRBMXo4Q0d4NEF5eDhEaVJxZ1p3Y2k1OWx1
Y09YRktjNEY2TWc1cDEwek81VFhOdXY2ZHEyZFJ5dTBidHRvYnRSUwpscVg1TGs5emhTZmNva2cz
WTlncWNNNytXc1o3dGJCN0QvTEovaUxuaExkN2xwV1JkS3FUczBRejIvcVNGcDI3eVkza2V4bHpU
emU1CmdkZFV4dDNURzdDeTBjeDM5d1FjNmJPdE9NOUZhaUoxOW1EOEFKbnhGZFhKUitVOEpJOTR4
WU15cG04L2x0cVhJTmZUbmp5ZWkwbE4KTGZlMm5SbnE0UmxKVnF3elF4M3hXWDd0RnBJeTd6cHE3
amlXLzgyenRzaHpISVlGQVJNMjd6WTBKTkdGS0pyZ3dFVU9HWHBNS2t4YQpwVi9RYXNMRDhiOHFM
U1RLdXl3cXV2Q1plejc3ZTA2Z3dOMHlmaCtpY1l3MGxpTm8ranY5bS81R3Y2bmYwYjllcVM4MFZE
d2o3bEhUCkdMLzhuWEZsWmxtTmpCdlVLT1BMbW9MNEJxdHRwOWRDbHRaaFhrRlBYbG5mRks0dVkx
K3BMM3MwbVVOY2pFK0h1aFNoVEUwWVpEeloKdGV5K1NMYjRKdng4YzlrV21oNjFMODQrcWF2a2Vx
T09IWm1zZm5FMlhBMXIvN09yWU5LeXEvRGtqWkF1UEd1aHJsVTNxZDFxaTdvRAptcnBMYlZOYjFV
Nis3VlQzbDNmMGNsWW1Uckp1bDlXbjJJT04wL1JXVHJveVd3VC9GbjR4L0M5MUNWdTRwcUhKZjJq
Q3pXVk1TL2lPCjRQWWZkMGo1TC93TkFZVVZEWHhMT3pzQUFDQUFTVVJCVkhnQjdkZXhEUUFnREFR
eFlQK2RBMktJcTV3RlhyTFMzSjUzeXhFZ1FJQUEKQVFJRUNCQWdRQ0FRT01HR0NRSUVDQkFnUUlB
QUFRSUVDSHdCQWVJUkNCQWdRSUFBQVFJRUNCRElCQVJJUm0ySUFBRUNCQWdRSUVDQQpBQUVCNGdj
SUVDQkFnQUFCQWdRSUVNZ0VCRWhHYllnQUFRSUVDQkFnUUlBQUFRSGlCd2dRSUVDQUFBRUNCQWdR
eUFRRVNFWnRpQUFCCkFnUUlFQ0JBZ0FBQkFlSUhDQkFnUUlBQUFRSUVDQkRJQkFSSVJtMklBQUVD
QkFnUUlFQ0FBQUVCNGdjSUVDQkFnQUFCQWdRSUVNZ0UKQkVoR2JZZ0FBUUlFQ0JBZ1FJQUFBUUhp
QndnUUlFQ0FBQUVDQkFnUXlBUUVTRVp0aUFBQkFnUUlFQ0JBZ0FBQkFlSUhDQkFnUUlBQQpBUUlF
Q0JESUJBUklSbTJJQUFFQ0JBZ1FJRUNBQUFFQjRnY0lFQ0JBZ0FBQkFnUUlFTWdFQkVoR2JZZ0FB
UUlFQ0JBZ1FJQUFBUUhpCkJ3Z1FJRUNBQUFFQ0JBZ1F5QVFFU0VadGlBQUJBZ1FJRUNCQWdBQUJB
ZUlIQ0JBZ1FJQUFBUUlFQ0JESUJBUklSbTJJQUFFQ0JBZ1EKSUVDQUFBRUI0Z2NJRUNCQWdBQUJB
Z1FJRU1nRUJFaEdiWWdBQVFJRUNCQWdRSUFBQVFIaUJ3Z1FJRUNBQUFFQ0JBZ1F5QVFFU0VadApp
QUFCQWdRSUVDQkFnQUFCQWVJSENCQWdRSUFBQVFJRUNCRElCQVJJUm0ySUFBRUNCQWdRSUVDQUFB
RUI0Z2NJRUNCQWdBQUJBZ1FJCkVNZ0VCRWhHYllnQUFRSUVDQkFnUUlBQUFRSGlCd2dRSUVDQUFB
RUNCQWdReUFRRVNFWnRpQUFCQWdRSUVDQkFnQUFCQWVJSENCQWcKUUlBQUFRSUVDQkRJQkFSSVJt
MklBQUVDQkFnUUlFQ0FBQUVCNGdjSUVDQkFnQUFCQWdRSUVNZ0VCRWhHYllnQUFRSUVDQkFnUUlB
QQpBUUhpQndnUUlFQ0FBQUVDQkFnUXlBUUVTRVp0aUFBQkFnUUlFQ0JBZ0FBQkFlSUhDQkFnUUlB
QUFRSUVDQkRJQkFSSVJtMklBQUVDCkJBZ1FJRUNBQUFFQjRnY0lFQ0JBZ0FBQkFnUUlFTWdFQkVo
R2JZZ0FBUUlFQ0JBZ1FJQUFBUUhpQndnUUlFQ0FBQUVDQkFnUXlBUUUKU0VadGlBQUJBZ1FJRUNC
QWdBQUJBZUlIQ0JBZ1FJQUFBUUlFQ0JESUJBUklSbTJJQUFFQ0JBZ1FJRUNBQUFFQjRnY0lFQ0JB
Z0FBQgpBZ1FJRU1nRUJFaEdiWWdBQVFJRUNCQWdRSUFBQVFIaUJ3Z1FJRUNBQUFFQ0JBZ1F5QVFF
U0VadGlBQUJBZ1FJRUNCQWdBQUJBZUlICkNCQWdRSUFBQVFJRUNCRElCQVJJUm0ySUFBRUNCQWdR
SUVDQUFBRUI0Z2NJRUNCQWdBQUJBZ1FJRU1nRUJFaEdiWWdBQVFJRUNCQWcKUUlBQUFRSGlCd2dR
SUVDQUFBRUNCQWdReUFRRVNFWnRpQUFCQWdRSUVDQkFnQUFCQWVJSENCQWdRSUFBQVFJRUNCRElC
QVJJUm0ySQpBQUVDQkFnUUlFQ0FBQUVCNGdjSUVDQkFnQUFCQWdRSUVNZ0VCRWhHYllnQUFRSUVD
QkFnUUlBQUFRSGlCd2dRSUVDQUFBRUNCQWdRCnlBUUVTRVp0aUFBQkFnUUlFQ0JBZ0FBQkFlSUhD
QkFnUUlBQUFRSUVDQkRJQkFSSVJtMklBQUVDQkFnUUlFQ0FBQUVCNGdjSUVDQkEKZ0FBQkFnUUlF
TWdFQkVoR2JZZ0FBUUlFQ0JBZ1FJQUFBUUhpQndnUUlFQ0FBQUVDQkFnUXlBUUVTRVp0aUFBQkFn
UUlFQ0JBZ0FBQgpBZUlIQ0JBZ1FJQUFBUUlFQ0JESUJBUklSbTJJQUFFQ0JBZ1FJRUNBQUFFQjRn
Y0lFQ0JBZ0FBQkFnUUlFTWdFQkVoR2JZZ0FBUUlFCkNCQWdRSUFBQVFIaUJ3Z1FJRUNBQUFFQ0JB
Z1F5QVFFU0VadGlBQUJBZ1FJRUNCQWdBQUJBZUlIQ0JBZ1FJQUFBUUlFQ0JESUJBUkkKUm0ySUFB
RUNCQWdRSUVDQUFBRUI0Z2NJRUNCQWdBQUJBZ1FJRU1nRUJFaEdiWWdBQVFJRUNCQWdRSUFBQVFI
aUJ3Z1FJRUNBQUFFQwpCQWdReUFRRVNFWnRpQUFCQWdRSUVDQkFnQUFCQWVJSENCQWdRSUFBQVFJ
RUNCRElCQVJJUm0ySUFBRUNCQWdRSUVDQUFBRUI0Z2NJCkVDQkFnQUFCQWdRSUVNZ0VCRWhHYlln
QUFRSUVDQkFnUUlBQUFRSGlCd2dRSUVDQUFBRUNCQWdReUFRRVNFWnRpQUFCQWdRSUVDQkEKZ0FB
QkFlSUhDQkFnUUlBQUFRSUVDQkRJQkFSSVJtMklBQUVDQkFnUUlFQ0FBQUVCNGdjSUVDQkFnQUFC
QWdRSUVNZ0VCRWhHYllnQQpBUUlFQ0JBZ1FJQUFBUUhpQndnUUlFQ0FBQUVDQkFnUXlBUUVTRVp0
aUFBQkFnUUlFQ0JBZ0FBQkFlSUhDQkFnUUlBQUFRSUVDQkRJCkJBUklSbTJJQUFFQ0JBZ1FJRUNB
QUFFQjRnY0lFQ0JBZ0FBQkFnUUlFTWdFQkVoR2JZZ0FBUUlFQ0JBZ1FJQUFBUUhpQndnUUlFQ0EK
QUFFQ0JBZ1F5QVFFU0VadGlBQUJBZ1FJRUNCQWdBQUJBZUlIQ0JBZ1FJQUFBUUlFQ0JESUJBUklS
bTJJQUFFQ0JBZ1FJRUNBQUFFQgo0Z2NJRUNCQWdBQUJBZ1FJRU1nRUJFaEdiWWdBQVFJRUNCQWdR
SUFBQVFIaUJ3Z1FJRUNBQUFFQ0JBZ1F5QVFFU0VadGlBQUJBZ1FJCkVDQkFnQUFCQWVJSENCQWdR
SUFBQVFJRUNCRElCQVJJUm0ySUFBRUNCQWdRSUVDQUFBRUI0Z2NJRUNCQWdBQUJBZ1FJRU1nRUJF
aEcKYllnQUFRSUVDQkFnUUlBQUFRSGlCd2dRSUVDQUFBRUNCQWdReUFRRVNFWnRpQUFCQWdRSUVD
QkFnQUFCQWVJSENCQWdRSUFBQVFJRQpDQkRJQkFSSVJtMklBQUVDQkFnUUlFQ0FBQUVCNGdjSUVD
QkFnQUFCQWdRSUVNZ0VCRWhHYllnQUFRSUVDQkFnUUlBQUFRSGlCd2dRCklFQ0FBQUVDQkFnUXlB
UUVTRVp0aUFBQkFnUUlFQ0JBZ0FBQkFlSUhDQkFnUUlBQUFRSUVDQkRJQkFSSVJtMklBQUVDQkFn
UUlFQ0EKQUFFQjRnY0lFQ0JBZ0FBQkFnUUlFTWdFQkVoR2JZZ0FBUUlFQ0JBZ1FJQUFBUUhpQndn
UUlFQ0FBQUVDQkFnUXlBUUVTRVp0aUFBQgpBZ1FJRUNCQWdBQUJBZUlIQ0JBZ1FJQUFBUUlFQ0JE
SUJBUklSbTJJQUFFQ0JBZ1FJRUNBQUFFQjRnY0lFQ0JBZ0FBQkFnUUlFTWdFCkJFaEdiWWdBQVFJ
RUNCQWdRSUFBQVFIaUJ3Z1FJRUNBQUFFQ0JBZ1F5QVFFU0VadGlBQUJBZ1FJRUNCQWdBQUJBZUlI
Q0JBZ1FJQUEKQVFJRUNCRElCQVJJUm0ySUFBRUNCQWdRSUVDQUFBRUI0Z2NJRUNCQWdBQUJBZ1FJ
RU1nRUJFaEdiWWdBQVFJRUNCQWdRSUFBQVFIaQpCd2dRSUVDQUFBRUNCQWdReUFRRVNFWnRpQUFC
QWdRSUVDQkFnQUFCQWVJSENCQWdRSUFBQVFJRUNCRElCQVJJUm0ySUFBRUNCQWdRCklFQ0FBQUVC
NGdjSUVDQkFnQUFCQWdRSUVNZ0VCRWhHYllnQUFRSUVDQkFnUUlBQUFRSGlCd2dRSUVDQUFBRUNC
QWdReUFRRVNFWnQKaUFBQkFnUUlFQ0JBZ0FBQkFlSUhDQkFnUUlBQUFRSUVDQkRJQkFSSVJtMklB
QUVDQkFnUUlFQ0FBQUVCNGdjSUVDQkFnQUFCQWdRSQpFTWdFQkVoR2JZZ0FBUUlFQ0JBZ1FJQUFB
UUhpQndnUUlFQ0FBQUVDQkFnUXlBUUVTRVp0aUFBQkFnUUlFQ0JBZ0FBQkFlSUhDQkFnClFJQUFB
UUlFQ0JESUJBUklSbTJJQUFFQ0JBZ1FJRUNBQUFFQjRnY0lFQ0JBZ0FBQkFnUUlFTWdFQkVoR2JZ
Z0FBUUlFQ0JBZ1FJQUEKQVFIaUJ3Z1FJRUNBQUFFQ0JBZ1F5QVFFU0VadGlBQUJBZ1FJRUNCQWdB
QUJBZUlIQ0JBZ1FJQUFBUUlFQ0JESUJBUklSbTJJQUFFQwpCQWdRSUVDQUFBRUI0Z2NJRUNCQWdB
QUJBZ1FJRU1nRUJFaEdiWWdBQVFJRUNCQWdRSUFBQVFIaUJ3Z1FJRUNBQUFFQ0JBZ1F5QVFFClNF
WnRpQUFCQWdRSUVDQkFnQUFCQWVJSENCQWdRSUFBQVFJRUNCRElCQVJJUm0ySUFBRUNCQWdRSUVD
QUFBRUI0Z2NJRUNCQWdBQUIKQWdRSUVNZ0VCRWhHYllnQUFRSUVDQkFnUUlBQUFRSGlCd2dRSUVD
QUFBRUNCQWdReUFRRVNFWnRpQUFCQWdRSUVDQkFnQUFCQWVJSApDQkFnUUlBQUFRSUVDQkRJQkFS
SVJtMklBQUVDQkFnUUlFQ0FBQUVCNGdjSUVDQkFnQUFCQWdRSUVNZ0VCRWhHYllnQUFRSUVDQkFn
ClFJQUFBUUhpQndnUUlFQ0FBQUVDQkFnUXlBUUVTRVp0aUFBQkFnUUlFQ0JBZ0FBQkFlSUhDQkFn
UUlBQUFRSUVDQkRJQkFSSVJtMkkKQUFFQ0JBZ1FJRUNBQUFFQjRnY0lFQ0JBZ0FBQkFnUUlFTWdF
QkVoR2JZZ0FBUUlFQ0JBZ1FJQUFBUUhpQndnUUlFQ0FBQUVDQkFnUQp5QVFFU0VadGlBQUJBZ1FJ
RUNCQWdBQUJBZUlIQ0JBZ1FJQUFBUUlFQ0JESUJBUklSbTJJQUFFQ0JBZ1FJRUNBQUFFQjRnY0lF
Q0JBCmdBQUJBZ1FJRU1nRUJFaEdiWWdBQVFJRUNCQWdRSUFBQVFIaUJ3Z1FJRUNBQUFFQ0JBZ1F5
QVFFU0VadGlBQUJBZ1FJRUNCQWdBQUIKQWVJSENCQWdRSUFBQVFJRUNCRElCQVJJUm0ySUFBRUNC
QWdRSUVDQUFBRUI0Z2NJRUNCQWdBQUJBZ1FJRU1nRUJFaEdiWWdBQVFJRQpDQkFnUUlBQUFRSGlC
d2dRSUVDQUFBRUNCQWdReUFRRVNFWnRpQUFCQWdRSUVDQkFnQUFCQWVJSENCQWdRSUFBQVFJRUNC
RElCQVJJClJtMklBQUVDQkFnUUlFQ0FBQUVCNGdjSUVDQkFnQUFCQWdRSUVNZ0VCRWhHYllnQUFR
SUVDQkFnUUlBQUFRSGlCd2dRSUVDQUFBRUMKQkFnUXlBUUVTRVp0aUFBQkFnUUlFQ0JBZ0FBQkFl
SUhDQkFnUUlBQUFRSUVDQkRJQkFSSVJtMklBQUVDQkFnUUlFQ0FBQUVCNGdjSQpFQ0JBZ0FBQkFn
UUlFTWdFQkVoR2JZZ0FBUUlFQ0JBZ1FJQUFBUUhpQndnUUlFQ0FBQUVDQkFnUXlBUUVTRVp0aUFB
QkFnUUlFQ0JBCmdBQUJBZUlIQ0JBZ1FJQUFBUUlFQ0JESUJBUklSbTJJQUFFQ0JBZ1FJRUNBQUFF
QjRnY0lFQ0JBZ0FBQkFnUUlFTWdFQkVoR2JZZ0EKQVFJRUNCQWdRSUFBQVFIaUJ3Z1FJRUNBQUFF
Q0JBZ1F5QVFFU0VadGlBQUJBZ1FJRUNCQWdBQUJBZUlIQ0JBZ1FJQUFBUUlFQ0JESQpCQVJJUm0y
SUFBRUNCQWdRSUVDQUFBRUI0Z2NJRUNCQWdBQUJBZ1FJRU1nRUJFaEdiWWdBQVFJRUNCQWdRSUFB
QVFIaUJ3Z1FJRUNBCkFBRUNCQWdReUFRRVNFWnRpQUFCQWdRSUVDQkFnQUFCQWVJSENCQWdRSUFB
QVFJRUNCRElCQVJJUm0ySUFBRUNCQWdRSUVDQUFBRUIKNGdjSUVDQkFnQUFCQWdRSUVNZ0VCRWhH
YllnQUFRSUVDQkFnUUlBQUFRSGlCd2dRSUVDQUFBRUNCQWdReUFRRVNFWnRpQUFCQWdRSQpFQ0JB
Z0FBQkFlSUhDQkFnUUlBQUFRSUVDQkRJQkFSSVJtMklBQUVDQkFnUUlFQ0FBQUVCNGdjSUVDQkFn
QUFCQWdRSUVNZ0VCRWhHCmJZZ0FBUUlFQ0JBZ1FJQUFBUUhpQndnUUlFQ0FBQUVDQkFnUXlBUUVT
RVp0aUFBQkFnUUlFQ0JBZ0FBQkFlSUhDQkFnUUlBQUFRSUUKQ0JESUJBUklSbTJJQUFFQ0JBZ1FJ
RUNBQUFFQjRnY0lFQ0JBZ0FBQkFnUUlFTWdFQkVoR2JZZ0FBUUlFQ0JBZ1FJQUFBUUhpQndnUQpJ
RUNBQUFFQ0JBZ1F5QVFFU0VadGlBQUJBZ1FJRUNCQWdBQUJBZUlIQ0JBZ1FJQUFBUUlFQ0JESUJB
UklSbTJJQUFFQ0JBZ1FJRUNBCkFBRUI0Z2NJRUNCQWdBQUJBZ1FJRU1nRUJFaEdiWWdBQVFJRUNC
QWdRSUFBQVFIaUJ3Z1FJRUNBQUFFQ0JBZ1F5QVFFU0VadGlBQUIKQWdRSUVDQkFnQUFCQWVJSENC
QWdRSUFBQVFJRUNCRElCQVJJUm0ySUFBRUNCQWdRSUVDQUFBRUI0Z2NJRUNCQWdBQUJBZ1FJRU1n
RQpCRWhHYllnQUFRSUVDQkFnUUlBQUFRSGlCd2dRSUVDQUFBRUNCQWdReUFRRVNFWnRpQUFCQWdR
SUVDQkFnQUFCQWVJSENCQWdRSUFBCkFRSUVDQkRJQkFSSVJtMklBQUVDQkFnUUlFQ0FBQUVCNGdj
SUVDQkFnQUFCQWdRSUVNZ0VCRWhHYllnQUFRSUVDQkFnUUlBQUFRSGkKQndnUUlFQ0FBQUVDQkFn
UXlBUUVTRVp0aUFBQkFnUUlFQ0JBZ0FBQkFlSUhDQkFnUUlBQUFRSUVDQkRJQkFSSVJtMklBQUVD
QkFnUQpJRUNBQUFFQjRnY0lFQ0JBZ0FBQkFnUUlFTWdFQkVoR2JZZ0FBUUlFQ0JBZ1FJQUFBUUhp
QndnUUlFQ0FBQUVDQkFnUXlBUUVTRVp0CmlBQUJBZ1FJRUNCQWdBQUJBZUlIQ0JBZ1FJQUFBUUlF
Q0JESUJBUklSbTJJQUFFQ0JBZ1FJRUNBQUFFQjRnY0lFQ0JBZ0FBQkFnUUkKRU1nRUJFaEdiWWdB
QVFJRUNCQWdRSUFBQVFIaUJ3Z1FJRUNBQUFFQ0JBZ1F5QVFFU0VadGlBQUJBZ1FJRUNCQWdBQUJB
ZUlIQ0JBZwpRSUFBQVFJRUNCRElCQVJJUm0ySUFBRUNCQWdRSUVDQUFBRUI0Z2NJRUNCQWdBQUJB
Z1FJRU1nRUJFaEdiWWdBQVFJRUNCQWdRSUFBCkFRSGlCd2dRSUVDQUFBRUNCQWdReUFRRVNFWnRp
QUFCQWdRSUVDQkFnQUFCQWVJSENCQWdRSUFBQVFJRUNCRElCQVJJUm0ySUFBRUMKQkFnUUlFQ0FB
QUVCNGdjSUVDQkFnQUFCQWdRSUVNZ0VCRWhHYllnQUFRSUVDQkFnUUlBQUFRSGlCd2dRSUVDQUFB
RUNCQWdReUFRRQpTRVp0aUFBQkFnUUlFQ0JBZ0FBQkFlSUhDQkFnUUlBQUFRSUVDQkRJQkFSSVJt
MklBQUVDQkFnUUlFQ0FBQUVCNGdjSUVDQkFnQUFCCkFnUUlFTWdFQkVoR2JZZ0FBUUlFQ0JBZ1FJ
QUFBUUhpQndnUUlFQ0FBQUVDQkFnUXlBUUVTRVp0aUFBQkFnUUlFQ0JBZ0FBQkFlSUgKQ0JBZ1FJ
QUFBUUlFQ0JESUJBUklSbTJJQUFFQ0JBZ1FJRUNBQUFFQjRnY0lFQ0JBZ0FBQkFnUUlFTWdFQkVo
R2JZZ0FBUUlFQ0JBZwpRSUFBQVFIaUJ3Z1FJRUNBQUFFQ0JBZ1F5QVFFU0VadGlBQUJBZ1FJRUNC
QWdBQUJBZUlIQ0JBZ1FJQUFBUUlFQ0JESUJBUklSbTJJCkFBRUNCQWdRSUVDQUFBRUI0Z2NJRUNC
QWdBQUJBZ1FJRU1nRUJFaEdiWWdBQVFJRUNCQWdRSUFBQVFIaUJ3Z1FJRUNBQUFFQ0JBZ1EKeUFR
RVNFWnRpQUFCQWdRSUVDQkFnQUFCQWVJSENCQWdRSUFBQVFJRUNCRElCQVJJUm0ySUFBRUNCQWdR
SUVDQUFBRUI0Z2NJRUNCQQpnQUFCQWdRSUVNZ0VCRWhHYllnQUFRSUVDQkFnUUlBQUFRSGlCd2dR
SUVDQUFBRUNCQWdReUFRRVNFWnRpQUFCQWdRSUVDQkFnQUFCCkFlSUhDQkFnUUlBQUFRSUVDQkRJ
QkFSSVJtMklBQUVDQkFnUUlFQ0FBQUVCNGdjSUVDQkFnQUFCQWdRSUVNZ0VCRWhHYllnQUFRSUUK
Q0JBZ1FJQUFBUUhpQndnUUlFQ0FBQUVDQkFnUXlBUUVTRVp0aUFBQkFnUUlFQ0JBZ0FBQkFlSUhD
QkFnUUlBQUFRSUVDQkRJQkFSSQpSbTJJQUFFQ0JBZ1FJRUNBQUFFQjRnY0lFQ0JBZ0FBQkFnUUlF
TWdFQkVoR2JZZ0FBUUlFQ0JBZ1FJQUFBUUhpQndnUUlFQ0FBQUVDCkJBZ1F5QVFFU0VadGlBQUJB
Z1FJRUNCQWdBQUJBZUlIQ0JBZ1FJQUFBUUlFQ0JESUJBUklSbTJJQUFFQ0JBZ1FJRUNBQUFFQjRn
Y0kKRUNCQWdBQUJBZ1FJRU1nRUJFaEdiWWdBQVFJRUNCQWdRSUFBQVFIaUJ3Z1FJRUNBQUFFQ0JB
Z1F5QVFFU0VadGlBQUJBZ1FJRUNCQQpnQUFCQWVJSENCQWdRSUFBQVFJRUNCRElCQVJJUm0ySUFB
RUNCQWdRSUVDQUFBRUI0Z2NJRUNCQWdBQUJBZ1FJRU1nRUJFaEdiWWdBCkFRSUVDQkFnUUlBQUFR
SGlCd2dRSUVDQUFBRUNCQWdReUFRRVNFWnRpQUFCQWdRSUVDQkFnQUFCQWVJSENCQWdRSUFBQVFJ
RUNCREkKQkFSSVJtMklBQUVDQkFnUUlFQ0FBQUVCNGdjSUVDQkFnQUFCQWdRSUVNZ0VCRWhHYlln
QUFRSUVDQkFnUUlBQUFRSGlCd2dRSUVDQQpBQUVDQkFnUXlBUUVTRVp0aUFBQkFnUUlFQ0JBZ0FB
QkFlSUhDQkFnUUlBQUFRSUVDQkRJQkFSSVJtMklBQUVDQkFnUUlFQ0FBQUVCCjRnY0lFQ0JBZ0FB
QkFnUUlFTWdFQkVoR2JZZ0FBUUlFQ0JBZ1FJQUFBUUhpQndnUUlFQ0FBQUVDQkFnUXlBUUVTRVp0
aUFBQkFnUUkKRUNCQWdBQUJBZUlIQ0JBZ1FJQUFBUUlFQ0JESUJBUklSbTJJQUFFQ0JBZ1FJRUNB
QUFFQjRnY0lFQ0JBZ0FBQkFnUUlFTWdFQkVoRwpiWWdBQVFJRUNCQWdRSUFBQVFIaUJ3Z1FJRUNB
QUFFQ0JBZ1F5QVFFU0VadGlBQUJBZ1FJRUNCQWdBQUJBZUlIQ0JBZ1FJQUFBUUlFCkNCRElCQVJJ
Um0ySUFBRUNCQWdRSUVDQUFBRUI0Z2NJRUNCQWdBQUJBZ1FJRU1nRUJFaEdiWWdBQVFJRUNCQWdR
SUFBQVFIaUJ3Z1EKSUVDQUFBRUNCQWdReUFRRVNFWnRpQUFCQWdRSUVDQkFnQUFCQWVJSENCQWdR
SUFBQVFJRUNCRElCQVJJUm0ySUFBRUNCQWdRSUVDQQpBQUVCNGdjSUVDQkFnQUFCQWdRSUVNZ0VC
RWhHYllnQUFRSUVDQkFnUUlBQUFRSGlCd2dRSUVDQUFBRUNCQWdReUFRRVNFWnRpQUFCCkFnUUlF
Q0JBZ0FBQkFlSUhDQkFnUUlBQUFRSUVDQkRJQkFSSVJtMklBQUVDQkFnUUlFQ0FBQUVCNGdjSUVD
QkFnQUFCQWdRSUVNZ0UKQkVoR2JZZ0FBUUlFQ0JBZ1FJQUFBUUhpQndnUUlFQ0FBQUVDQkFnUXlB
UUVTRVp0aUFBQkFnUUlFQ0JBZ0FBQkFlSUhDQkFnUUlBQQpBUUlFQ0JESUJBUklSbTJJQUFFQ0JB
Z1FJRUNBQUFFQjRnY0lFQ0JBZ0FBQkFnUUlFTWdFQkVoR2JZZ0FBUUlFQ0JBZ1FJQUFBUUhpCkJ3
Z1FJRUNBQUFFQ0JBZ1F5QVFFU0VadGlBQUJBZ1FJRUNCQWdBQUJBZUlIQ0JBZ1FJQUFBUUlFQ0JE
SUJBUklSbTJJQUFFQ0JBZ1EKSUVDQUFBRUI0Z2NJRUNCQWdBQUJBZ1FJRU1nRUJFaEdiWWdBQVFJ
RUNCQWdRSUFBQVFIaUJ3Z1FJRUNBQUFFQ0JBZ1F5QVFFU0VadAppQUFCQWdRSUVDQkFnQUFCQWVJ
SENCQWdRSUFBQVFJRUNCRElCQVJJUm0ySUFBRUNCQWdRSUVDQUFBRUI0Z2NJRUNCQWdBQUJBZ1FJ
CkVNZ0VCRWhHYllnQUFRSUVDQkFnUUlBQUFRSGlCd2dRSUVDQUFBRUNCQWdReUFRRVNFWnRpQUFC
QWdRSUVDQkFnQUFCQWVJSENCQWcKUUlBQUFRSUVDQkRJQkFSSVJtMklBQUVDQkFnUUlFQ0FBQUVC
NGdjSUVDQkFnQUFCQWdRSUVNZ0VCRWhHYllnQUFRSUVDQkFnUUlBQQpBUUhpQndnUUlFQ0FBQUVD
QkFnUXlBUUVTRVp0aUFBQkFnUUlFQ0JBZ0FBQkFlSUhDQkFnUUlBQUFRSUVDQkRJQkFSSVJtMklB
QUVDCkJBZ1FJRUNBQUFFQjRnY0lFQ0JBZ0FBQkFnUUlFTWdFQkVoR2JZZ0FBUUlFQ0JBZ1FJQUFB
UUhpQndnUUlFQ0FBQUVDQkFnUXlBUUUKU0VadGlBQUJBZ1FJRUNCQWdBQUJBZUlIQ0JBZ1FJQUFB
UUlFQ0JESUJBUklSbTJJQUFFQ0JBZ1FJRUNBQUFFQjRnY0lFQ0JBZ0FBQgpBZ1FJRU1nRUJFaEdi
WWdBQVFJRUNCQWdRSUFBQVFIaUJ3Z1FJRUNBQUFFQ0JBZ1F5QVFFU0VadGlBQUJBZ1FJRUNCQWdB
QUJBZUlICkNCQWdRSUFBQVFJRUNCRElCQVJJUm0ySUFBRUNCQWdRSUVDQUFBRUI0Z2NJRUNCQWdB
QUJBZ1FJRU1nRUJFaEdiWWdBQVFJRUNCQWcKUUlBQUFRSGlCd2dRSUVDQUFBRUNCQWdReUFRRVNF
WnRpQUFCQWdRSUVDQkFnQUFCQWVJSENCQWdRSUFBQVFJRUNCRElCQVJJUm0ySQpBQUVDQkFnUUlF
Q0FBQUVCNGdjSUVDQkFnQUFCQWdRSUVNZ0VCRWhHYllnQUFRSUVDQkFnUUlBQUFRSGlCd2dRSUVD
QUFBRUNCQWdRCnlBUUVTRVp0aUFBQkFnUUlFQ0JBZ0FBQkFlSUhDQkFnUUlBQUFRSUVDQkRJQkFS
SVJtMklBQUVDQkFnUUlFQ0FBQUVCNGdjSUVDQkEKZ0FBQkFnUUlFTWdFQkVoR2JZZ0FBUUlFQ0JB
Z1FJQUFBUUhpQndnUUlFQ0FBQUVDQkFnUXlBUUVTRVp0aUFBQkFnUUlFQ0JBZ0FBQgpBZUlIQ0JB
Z1FJQUFBUUlFQ0JESUJBUklSbTJJQUFFQ0JBZ1FJRUNBQUFFQjRnY0lFQ0JBZ0FBQkFnUUlFTWdF
QkVoR2JZZ0FBUUlFCkNCQWdRSUFBQVFIaUJ3Z1FJRUNBQUFFQ0JBZ1F5QVFFU0VadGlBQUJBZ1FJ
RUNCQWdBQUJBZUlIQ0JBZ1FJQUFBUUlFQ0JESUJBUkkKUm0ySUFBRUNCQWdRSUVDQUFBRUI0Z2NJ
RUNCQWdBQUJBZ1FJRU1nRUJFaEdiWWdBQVFJRUNCQWdRSUFBQVFIaUJ3Z1FJRUNBQUFFQwpCQWdR
eUFRRVNFWnRpQUFCQWdRSUVDQkFnQUFCQWVJSENCQWdRSUFBQVFJRUNCRElCQVJJUm0ySUFBRUNC
QWdRSUVDQUFBRUI0Z2NJCkVDQkFnQUFCQWdRSUVNZ0VCRWhHYllnQUFRSUVDQkFnUUlBQUFRSGlC
d2dRSUVDQUFBRUNCQWdReUFRRVNFWnRpQUFCQWdRSUVDQkEKZ0FBQkFlSUhDQkFnUUlBQUFRSUVD
QkRJQkFSSVJtMklBQUVDQkFnUUlFQ0FBQUVCNGdjSUVDQkFnQUFCQWdRSUVNZ0VCRWhHYllnQQpB
UUlFQ0JBZ1FJQUFBUUhpQndnUUlFQ0FBQUVDQkFnUXlBUUVTRVp0aUFBQkFnUUlFQ0JBZ0FBQkFl
SUhDQkFnUUlBQUFRSUVDQkRJCkJBUklSbTJJQUFFQ0JBZ1FJRUNBQUFFQjRnY0lFQ0JBZ0FBQkFn
UUlFTWdFQkVoR2JZZ0FBUUlFQ0JBZ1FJQUFBUUhpQndnUUlFQ0EKQUFFQ0JBZ1F5QVFFU0VadGlB
QUJBZ1FJRUNCQWdBQUJBZUlIQ0JBZ1FJQUFBUUlFQ0JESUJBUklSbTJJQUFFQ0JBZ1FJRUNBQUFF
Qgo0Z2NJRUNCQWdBQUJBZ1FJRU1nRUJFaEdiWWdBQVFJRUNCQWdRSUFBQVFIaUJ3Z1FJRUNBQUFF
Q0JBZ1F5QVFFU0VadGlBQUJBZ1FJCkVDQkFnQUFCQWVJSENCQWdRSUFBQVFJRUNCRElCQVJJUm0y
SUFBRUNCQWdRSUVDQUFBRUI0Z2NJRUNCQWdBQUJBZ1FJRU1nRUJFaEcKYllnQUFRSUVDQkFnUUlB
QUFRSGlCd2dRSUVDQUFBRUNCQWdReUFRRVNFWnRpQUFCQWdRSUVDQkFnQUFCQWVJSENCQWdRSUFB
QVFJRQpDQkRJQkFSSVJtMklBQUVDQkFnUUlFQ0FBQUVCNGdjSUVDQkFnQUFCQWdRSUVNZ0VCRWhH
YllnQUFRSUVDQkFnUUlBQUFRSGlCd2dRCklFQ0FBQUVDQkFnUXlBUUVTRVp0aUFBQkFnUUlFQ0JB
Z0FBQkFlSUhDQkFnUUlBQUFRSUVDQkRJQkFSSVJtMklBQUVDQkFnUUlFQ0EKQUFFQjRnY0lFQ0JB
Z0FBQkFnUUlFTWdFQkVoR2JZZ0FBUUlFQ0JBZ1FJQUFBUUhpQndnUUlFQ0FBQUVDQkFnUXlBUUVT
RVp0aUFBQgpBZ1FJRUNCQWdBQUJBZUlIQ0JBZ1FJQUFBUUlFQ0JESUJBUklSbTJJQUFFQ0JBZ1FJ
RUNBQUFFQjRnY0lFQ0JBZ0FBQkFnUUlFTWdFCkJFaEdiWWdBQVFJRUNCQWdRSUFBQVFIaUJ3Z1FJ
RUNBQUFFQ0JBZ1F5QVFFU0VadGlBQUJBZ1FJRUNCQWdBQUJBZUlIQ0JBZ1FJQUEKQVFJRUNCRElC
QVJJUm0ySUFBRUNCQWdRSUVDQUFBRUI0Z2NJRUNCQWdBQUJBZ1FJRU1nRUJFaEdiWWdBQVFJRUNC
QWdRSUFBQVFIaQpCd2dRSUVDQUFBRUNCQWdReUFRRVNFWnRpQUFCQWdRSUVDQkFnQUFCQWVJSENC
QWdRSUFBQVFJRUNCRElCQVJJUm0ySUFBRUNCQWdRCklFQ0FBQUVCNGdjSUVDQkFnQUFCQWdRSUVN
Z0VCRWhHYllnQUFRSUVDQkFnUUlBQUFRSGlCd2dRSUVDQUFBRUNCQWdReUFRRVNFWnQKaUFBQkFn
UUlFQ0JBZ0FBQkFlSUhDQkFnUUlBQUFRSUVDQkRJQkFSSVJtMklBQUVDQkFnUUlFQ0FBQUVCNGdj
SUVDQkFnQUFCQWdRSQpFTWdFQkVoR2JZZ0FBUUlFQ0JBZ1FJQUFBUUhpQndnUUlFQ0FBQUVDQkFn
UXlBUUVTRVp0aUFBQkFnUUlFQ0JBZ0FBQkFlSUhDQkFnClFJQUFBUUlFQ0JESUJBUklSbTJJQUFF
Q0JBZ1FJRUNBQUFFQjRnY0lFQ0JBZ0FBQkFnUUlFTWdFQkVoR2JZZ0FBUUlFQ0JBZ1FJQUEKQVFI
aUJ3Z1FJRUNBQUFFQ0JBZ1F5QVFFU0VadGlBQUJBZ1FJRUNCQWdBQUJBZUlIQ0JBZ1FJQUFBUUlF
Q0JESUJBUklSbTJJQUFFQwpCQWdRSUVDQUFBRUI0Z2NJRUNCQWdBQUJBZ1FJRU1nRUJFaEdiWWdB
QVFJRUNCQWdRSUFBQVFIaUJ3Z1FJRUNBQUFFQ0JBZ1F5QVFFClNFWnRpQUFCQWdRSUVDQkFnQUFC
QWVJSENCQWdRSUFBQVFJRUNCRElCQVJJUm0ySUFBRUNCQWdRSUVDQUFBRUI0Z2NJRUNCQWdBQUIK
QWdRSUVNZ0VCRWhHYllnQUFRSUVDQkFnUUlBQUFRSGlCd2dRSUVDQUFBRUNCQWdReUFRRVNFWnRp
QUFCQWdRSUVDQkFnQUFCQWVJSApDQkFnUUlBQUFRSUVDQkRJQkFSSVJtMklBQUVDQkFnUUlFQ0FB
QUVCNGdjSUVDQkFnQUFCQWdRSUVNZ0VCRWhHYllnQUFRSUVDQkFnClFJQUFBUUhpQndnUTBaOGVM
QUFBQmFCSlJFRlVJRUNBQUFFQ0JBZ1F5QVFFU0VadGlBQUJBZ1FJRUNCQWdBQUJBZUlIQ0JBZ1FJ
QUEKQVFJRUNCRElCQVJJUm0ySUFBRUNCQWdRSUVDQUFBRUI0Z2NJRUNCQWdBQUJBZ1FJRU1nRUJF
aEdiWWdBQVFJRUNCQWdRSUFBQVFIaQpCd2dRSUVDQUFBRUNCQWdReUFRRVNFWnRpQUFCQWdRSUVD
QkFnQUFCQWVJSENCQWdRSUFBQVFJRUNCRElCQVJJUm0ySUFBRUNCQWdRCklFQ0FBQUVCNGdjSUVD
QkFnQUFCQWdRSUVNZ0VCRWhHYllnQUFRSUVDQkFnUUlBQUFRSGlCd2dRSUVDQUFBRUNCQWdReUFR
RVNFWnQKaUFBQkFnUUlFQ0JBZ0FBQkFlSUhDQkFnUUlBQUFRSUVDQkRJQkFSSVJtMklBQUVDQkFn
UUlFQ0FBQUVCNGdjSUVDQkFnQUFCQWdRSQpFTWdFQkVoR2JZZ0FBUUlFQ0JBZ1FJQUFBUUhpQndn
UUlFQ0FBQUVDQkFnUXlBUUVTRVp0aUFBQkFnUUlFQ0JBZ0FBQkFlSUhDQkFnClFJQUFBUUlFQ0JE
SUJBUklSbTJJQUFFQ0JBZ1FJRUNBQUFFQjRnY0lFQ0JBZ0FBQkFnUUlFTWdFQkVoR2JZZ0FBUUlF
Q0JBZ1FJQUEKQVFIaUJ3Z1FJRUNBQUFFQ0JBZ1F5QVFFU0VadGlBQUJBZ1FJRUNCQWdBQUJBZUlI
Q0JBZ1FJQUFBUUlFQ0JESUJBUklSbTJJQUFFQwpCQWdRSUVDQUFBRUI0Z2NJRUNCQWdBQUJBZ1FJ
RU1nRUJFaEdiWWdBQVFJRUNCQWdRSUFBQVFIaUJ3Z1FJRUNBQUFFQ0JBZ1F5QVFFClNFWnRpQUFC
QWdRSUVDQkFnQUFCQWVJSENCQWdRSUFBQVFJRUNCRElCQVJJUm0ySUFBRUNCQWdRSUVDQUFBRUI0
Z2NJRUNCQWdBQUIKQWdRSUVNZ0VCRWhHYllnQUFRSUVDQkFnUUlBQUFRSGlCd2dRSUVDQUFBRUNC
QWdReUFRRVNFWnRpQUFCQWdRSUVDQkFnQUFCQWVJSApDQkFnUUlBQUFRSUVDQkRJQkFSSVJtMklB
QUVDQkFnUUlFQ0FBQUVCNGdjSUVDQkFnQUFCQWdRSUVNZ0VCRWhHYllnQUFRSUVDQkFnClFJQUFB
UUhpQndnUUlFQ0FBQUVDQkFnUXlBUUVTRVp0aUFBQkFnUUlFQ0JBZ0FBQkFlSUhDQkFnUUlBQUFR
SUVDQkRJQkFSSVJtMkkKQUFFQ0JBZ1FJRUNBQUFFQjRnY0lFQ0JBZ0FBQkFnUUlFTWdFQkVoR2JZ
Z0FBUUlFQ0JBZ1FJQUFBUUhpQndnUUlFQ0FBQUVDQkFnUQp5QVFFU0VadGlBQUJBZ1FJRUNCQWdB
QUJBZUlIQ0JBZ1FJQUFBUUlFQ0JESUJBUklSbTJJQUFFQ0JBZ1FJRUNBQUFFQjRnY0lFQ0JBCmdB
QUJBZ1FJRU1nRUJFaEdiWWdBQVFJRUNCQWdRSUFBQVFIaUJ3Z1FJRUNBQUFFQ0JBZ1F5QVFFU0Va
dGlBQUJBZ1FJRUNCQWdBQUIKQWVJSENCQWdRSUFBQVFJRUNCRElCQVJJUm0ySUFBRUNCQWdRSUVD
QUFBRUI0Z2NJRUNCQWdBQUJBZ1FJRU1nRUJFaEdiWWdBQVFJRQpDQkFnUUlBQUFRSGlCd2dRSUVD
QUFBRUNCQWdReUFRRVNFWnRpQUFCQWdRSUVDQkFnQUFCQWVJSENCQWdRSUFBQVFJRUNCRElCQVJJ
ClJtMklBQUVDQkFnUUlFQ0FBQUVCNGdjSUVDQkFnQUFCQWdRSUVNZ0VCRWhHYllnQUFRSUVDQkFn
UUlBQUFRSGlCd2dRSUVDQUFBRUMKQkFnUXlBUUVTRVp0aUFBQkFnUUlFQ0JBZ0FBQkFlSUhDQkFn
UUlBQUFRSUVDQkRJQkFSSVJtMklBQUVDQkFnUUlFQ0FBQUVCNGdjSQpFQ0JBZ0FBQkFnUUlFTWdF
QkVoR2JZZ0FBUUlFQ0JBZ1FJQUFBUUhpQndnUUlFQ0FBQUVDQkFnUXlBUUVTRVp0aUFBQkFnUUlF
Q0JBCmdBQUJBZUlIQ0JBZ1FJQUFBUUlFQ0JESUJBUklSbTJJQUFFQ0JBZ1FJRUNBQUFFQjRnY0lF
Q0JBZ0FBQkFnUUlFTWdFQkVoR2JZZ0EKQVFJRUNCQWdRSUFBQVFIaUJ3Z1FJRUNBQUFFQ0JBZ1F5
QVFFU0VadGlBQUJBZ1FJRUNCQWdBQUJBZUlIQ0JBZ1FJQUFBUUlFQ0JESQpCQVJJUm0ySUFBRUNC
QWdRSUVDQUFBRUI0Z2NJRUNCQWdBQUJBZ1FJRU1nRUJFaEdiWWdBQVFJRUNCQWdRSUFBQVFIaUJ3
Z1FJRUNBCkFBRUNCQWdReUFRRVNFWnRpQUFCQWdRSUVDQkFnQUFCQWVJSENCQWdRSUFBQVFJRUNC
RElCQVJJUm0ySUFBRUNCQWdRSUVDQUFBRUIKNGdjSUVDQkFnQUFCQWdRSUVNZ0VCRWhHYllnQUFR
SUVDQkFnUUlBQWdRdnBWd2lzWjh5UUdBQUFBQUJKUlU1RXJrSmdnZz09Cgo=
</data>
<flag name="review"
          id="22517"
          type_id="1"
          status="+"
          setter="zimmermann"
    />
          </attachment>
      

    </bug>

</bugzilla>