<?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>10650</bug_id>
          
          <creation_ts>2006-08-31 01:18:13 -0700</creation_ts>
          <short_desc>need SVGFontElement for SVG Fonts support</short_desc>
          <delta_ts>2007-12-30 05:01:45 -0800</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>420+</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.4</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc>http://www.w3.org/TR/SVG/fonts.html#FontElement</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P4</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>10651</dependson>
    
    <dependson>10652</dependson>
          <blocked>10649</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Eric Seidel (no email)">eric</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>a.neumann</cc>
    
    <cc>zimmermann</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>54307</commentid>
    <comment_count>0</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2006-08-31 01:18:13 -0700</bug_when>
    <thetext>need SVGFontElement for SVG Fonts support

This blocks bug 10649.

To solve this bug means simply committing a simple DOM object for SVGFontElement.  This would not even necessitate being able to create a FontData object from this SVGFontElement, however adding code to do that would be nice.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>44956</commentid>
    <comment_count>1</comment_count>
    <who name="Andreas Neumann">a.neumann</who>
    <bug_when>2006-11-21 03:23:32 -0800</bug_when>
    <thetext>SVG Font support is very important to get reliable results across implementations and platforms. It is also necessary for more advanced designs with fancy fonts or internationalization.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>59302</commentid>
    <comment_count>2</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2007-10-23 21:08:11 -0700</bug_when>
    <thetext>*** Bug 10651 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>59310</commentid>
    <comment_count>3</comment_count>
      <attachid>16829</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2007-10-23 22:19:39 -0700</bug_when>
    <thetext>Created attachment 16829
a patch (mostly just DOM bindings)

This patch doesn&apos;t really contain any particularly useful code, but I&apos;m putting it here just so it&apos;s not lost somewhere in my patches directory. :)  It&apos;s not really worth landing just the DOM bindings, I need to work out how the rest of the SVG Font system will work first.  (There is discussion covering such in another bug.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>65669</commentid>
    <comment_count>4</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2007-12-29 19:46:53 -0800</bug_when>
    <thetext>I&apos;m pretty sure we don&apos;t need this bug any more.  Niko can offer a final comment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>65734</commentid>
    <comment_count>5</comment_count>
    <who name="Nikolas Zimmermann">zimmermann</who>
    <bug_when>2007-12-30 05:01:45 -0800</bug_when>
    <thetext>You&apos;re right Eric, forgot to close this bug. SVG Fonts is now being actively developed in trunk.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>16829</attachid>
            <date>2007-10-23 22:19:39 -0700</date>
            <delta_ts>2007-10-23 22:19:39 -0700</delta_ts>
            <desc>a patch (mostly just DOM bindings)</desc>
            <filename>font.patch</filename>
            <type>text/plain</type>
            <size>44712</size>
            <attacher name="Eric Seidel (no email)">eric</attacher>
            
              <data encoding="base64">SW5kZXg6IERlcml2ZWRTb3VyY2VzLm1ha2UKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gRGVyaXZlZFNvdXJjZXMu
bWFrZQkocmV2aXNpb24gMjY5NDgpCisrKyBEZXJpdmVkU291cmNlcy5tYWtlCSh3b3JraW5nIGNv
cHkpCkBAIC0yMDUsNiArMjA1LDcgQEAgYWxsIDogXAogICAgIERPTVNWR0ZFU3BvdExpZ2h0RWxl
bWVudC5oIFwKICAgICBET01TVkdGRVRpbGVFbGVtZW50LmggXAogICAgIERPTVNWR0ZFVHVyYnVs
ZW5jZUVsZW1lbnQuaCBcCisgICAgRE9NU1ZHRm9udEVsZW1lbnQuaCBcCiAgICAgRE9NU1ZHRm9u
dEZhY2VFbGVtZW50LmggXAogICAgIERPTVNWR0ZvbnRGYWNlRm9ybWF0RWxlbWVudC5oIFwKICAg
ICBET01TVkdGb250RmFjZU5hbWVFbGVtZW50LmggXApAQCAtMjE1LDYgKzIxNiw3IEBAIGFsbCA6
IFwKICAgICBET01TVkdGaXRUb1ZpZXdCb3guaCBcCiAgICAgRE9NU1ZHRm9yZWlnbk9iamVjdEVs
ZW1lbnQuaCBcCiAgICAgRE9NU1ZHR0VsZW1lbnQuaCBcCisgICAgRE9NU1ZHR2x5cGhFbGVtZW50
LmggXAogICAgIERPTVNWR0dyYWRpZW50RWxlbWVudC5oIFwKICAgICBET01TVkdJbWFnZUVsZW1l
bnQuaCBcCiAgICAgRE9NU1ZHTGFuZ1NwYWNlLmggXApAQCAtMjI3LDYgKzIyOSw3IEBAIGFsbCA6
IFwKICAgICBET01TVkdNYXNrRWxlbWVudC5oIFwKICAgICBET01TVkdNYXRyaXguaCBcCiAgICAg
RE9NU1ZHTWV0YWRhdGFFbGVtZW50LmggXAorICAgIERPTVNWR01pc3NpbmdHbHlwaEVsZW1lbnQu
aCBcCiAgICAgRE9NU1ZHTnVtYmVyLmggXAogICAgIERPTVNWR051bWJlckxpc3QuaCBcCiAgICAg
RE9NU1ZHUGFpbnQuaCBcCkBAIC01MzcsNiArNTQwLDcgQEAgYWxsIDogXAogICAgIEpTU1ZHRkVU
aWxlRWxlbWVudC5oIFwKICAgICBKU1NWR0ZFVHVyYnVsZW5jZUVsZW1lbnQuaCBcCiAgICAgSlNT
VkdGaWx0ZXJFbGVtZW50LmggXAorICAgIEpTU1ZHRm9udEVsZW1lbnQuaCBcCiAgICAgSlNTVkdG
b250RmFjZUVsZW1lbnQuaCBcCiAgICAgSlNTVkdGb250RmFjZUZvcm1hdEVsZW1lbnQuaCBcCiAg
ICAgSlNTVkdGb250RmFjZU5hbWVFbGVtZW50LmggXApAQCAtNTQ0LDYgKzU0OCw3IEBAIGFsbCA6
IFwKICAgICBKU1NWR0ZvbnRGYWNlVXJpRWxlbWVudC5oIFwKICAgICBKU1NWR0ZvcmVpZ25PYmpl
Y3RFbGVtZW50LmggXAogICAgIEpTU1ZHR0VsZW1lbnQuaCBcCisgICAgSlNTVkdHbHlwaEVsZW1l
bnQuaCBcCiAgICAgSlNTVkdHcmFkaWVudEVsZW1lbnQuaCBcCiAgICAgSlNTVkdJbWFnZUVsZW1l
bnQuaCBcCiAgICAgSlNTVkdMZW5ndGguaCBcCkBAIC01NTIsNiArNTU3LDcgQEAgYWxsIDogXAog
ICAgIEpTU1ZHTGluZWFyR3JhZGllbnRFbGVtZW50LmggXAogICAgIEpTU1ZHTWFza0VsZW1lbnQu
aCBcCiAgICAgSlNTVkdNYXJrZXJFbGVtZW50LmggXAorICAgIEpTU1ZHTWlzc2luZ0dseXBoRWxl
bWVudC5oIFwKICAgICBKU1NWR1RyYW5zZm9ybS5oIFwKICAgICBKU1NWR1pvb21FdmVudC5oIFwK
ICAgICBKU1NjcmVlbi5oIFwKSW5kZXg6IFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
ago9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHJldmlz
aW9uIDI2OTQ4KQorKysgV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCSh3b3JraW5n
IGNvcHkpCkBAIC0xOTYzLDYgKzE5NjMsMzAgQEAKIAkJQTgwRjNCQjYwQ0NEQ0UyNDAwMkREOTkw
IC8qIERPTVNWR1BhdGhTZWdNb3ZldG9BYnNJbnRlcm5hbC5oIGluIENvcHkgR2VuZXJhdGVkIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQThFNTQ0MDUwQ0E5RDFD
MTAwOTdEMDlCIC8qIERPTVNWR1BhdGhTZWdNb3ZldG9BYnNJbnRlcm5hbC5oICovOyB9OwogCQlB
ODBGNDM1MjBDQ0RFNjA0MDAyREQ5OTAgLyogRE9NU1ZHQW5pbWF0ZUVsZW1lbnRJbnRlcm5hbC5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODVBQ0VGODYw
QUNERDA0QTAwMTIxNEZGIC8qIERPTVNWR0FuaW1hdGVFbGVtZW50SW50ZXJuYWwuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9ICgpOyB9OyB9OwogCQlBODBGNDM1RDBDQ0RFNjNDMDAyREQ5
OTAgLyogRE9NU1ZHQW5pbWF0ZUVsZW1lbnRJbnRlcm5hbC5oIGluIENvcHkgR2VuZXJhdGVkIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODVBQ0VGODYwQUNERDA0
QTAwMTIxNEZGIC8qIERPTVNWR0FuaW1hdGVFbGVtZW50SW50ZXJuYWwuaCAqLzsgfTsKKwkJQTgw
RjQzOUEwQ0NERjA1NTAwMkREOTkwIC8qIFNWR01pc3NpbmdHbHlwaEVsZW1lbnQuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE4MEY0MzkxMENDREYwNTUw
MDJERDk5MCAvKiBTVkdNaXNzaW5nR2x5cGhFbGVtZW50LmggKi87IH07CisJCUE4MEY0MzlCMEND
REYwNTUwMDJERDk5MCAvKiBTVkdNaXNzaW5nR2x5cGhFbGVtZW50LmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE4MEY0MzkyMENDREYwNTUwMDJERDk5
MCAvKiBTVkdNaXNzaW5nR2x5cGhFbGVtZW50LmNwcCAqLzsgfTsKKwkJQTgwRjQzOUMwQ0NERjA1
NTAwMkREOTkwIC8qIFNWR01pc3NpbmdHbHlwaEVsZW1lbnQuaWRsIGluIFJlc291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBODBGNDM5MzBDQ0RGMDU1MDAyREQ5OTAg
LyogU1ZHTWlzc2luZ0dseXBoRWxlbWVudC5pZGwgKi87IH07CisJCUE4MEY0MzlEMENDREYwNTUw
MDJERDk5MCAvKiBTVkdGb250RWxlbWVudC5pZGwgaW4gUmVzb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE4MEY0Mzk0MENDREYwNTUwMDJERDk5MCAvKiBTVkdGb250
RWxlbWVudC5pZGwgKi87IH07CisJCUE4MEY0MzlFMENDREYwNTUwMDJERDk5MCAvKiBTVkdGb250
RWxlbWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
QTgwRjQzOTUwQ0NERjA1NTAwMkREOTkwIC8qIFNWR0ZvbnRFbGVtZW50LmggKi87IH07CisJCUE4
MEY0MzlGMENDREYwNTUwMDJERDk5MCAvKiBTVkdGb250RWxlbWVudC5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBODBGNDM5NjBDQ0RGMDU1MDAyREQ5
OTAgLyogU1ZHRm9udEVsZW1lbnQuY3BwICovOyB9OworCQlBODBGNDNBMDBDQ0RGMDU1MDAyREQ5
OTAgLyogU1ZHR2x5cGhFbGVtZW50LmlkbCBpbiBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQTgwRjQzOTcwQ0NERjA1NTAwMkREOTkwIC8qIFNWR0dseXBoRWxl
bWVudC5pZGwgKi87IH07CisJCUE4MEY0M0ExMENDREYwNTUwMDJERDk5MCAvKiBTVkdHbHlwaEVs
ZW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE4
MEY0Mzk4MENDREYwNTUwMDJERDk5MCAvKiBTVkdHbHlwaEVsZW1lbnQuaCAqLzsgfTsKKwkJQTgw
RjQzQTIwQ0NERjA1NTAwMkREOTkwIC8qIFNWR0dseXBoRWxlbWVudC5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBODBGNDM5OTBDQ0RGMDU1MDAyREQ5
OTAgLyogU1ZHR2x5cGhFbGVtZW50LmNwcCAqLzsgfTsKKwkJQTgwRjQ1OTQwQ0NFMEJBODAwMkRE
OTkwIC8qIEpTU1ZHTWlzc2luZ0dseXBoRWxlbWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTgwRjQ1OEUwQ0NFMEJBODAwMkREOTkwIC8qIEpTU1ZH
TWlzc2luZ0dseXBoRWxlbWVudC5oICovOyB9OworCQlBODBGNDU5NTBDQ0UwQkE4MDAyREQ5OTAg
LyogSlNTVkdNaXNzaW5nR2x5cGhFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE4MEY0NThGMENDRTBCQTgwMDJERDk5MCAvKiBKU1NWR01p
c3NpbmdHbHlwaEVsZW1lbnQuY3BwICovOyB9OworCQlBODBGNDU5NjBDQ0UwQkE4MDAyREQ5OTAg
LyogSlNTVkdHbHlwaEVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQTgwRjQ1OTAwQ0NFMEJBODAwMkREOTkwIC8qIEpTU1ZHR2x5cGhFbGVt
ZW50LmNwcCAqLzsgfTsKKwkJQTgwRjQ1OTcwQ0NFMEJBODAwMkREOTkwIC8qIEpTU1ZHR2x5cGhF
bGVtZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBB
ODBGNDU5MTBDQ0UwQkE4MDAyREQ5OTAgLyogSlNTVkdHbHlwaEVsZW1lbnQuaCAqLzsgfTsKKwkJ
QTgwRjQ1OTgwQ0NFMEJBODAwMkREOTkwIC8qIEpTU1ZHRm9udEVsZW1lbnQuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE4MEY0NTkyMENDRTBCQTgwMDJE
RDk5MCAvKiBKU1NWR0ZvbnRFbGVtZW50LmggKi87IH07CisJCUE4MEY0NTk5MENDRTBCQTgwMDJE
RDk5MCAvKiBKU1NWR0ZvbnRFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEE4MEY0NTkzMENDRTBCQTgwMDJERDk5MCAvKiBKU1NWR0ZvbnRF
bGVtZW50LmNwcCAqLzsgfTsKKwkJQTgwRjQ1QTcwQ0NFMEJDODAwMkREOTkwIC8qIERPTVNWR01p
c3NpbmdHbHlwaEVsZW1lbnQubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBBODBGNDU5RTBDQ0UwQkM4MDAyREQ5OTAgLyogRE9NU1ZHTWlzc2luZ0dseXBo
RWxlbWVudC5tbSAqLzsgfTsKKwkJQTgwRjQ1QTgwQ0NFMEJDODAwMkREOTkwIC8qIERPTVNWR01p
c3NpbmdHbHlwaEVsZW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEE4MEY0NTlGMENDRTBCQzgwMDJERDk5MCAvKiBET01TVkdNaXNzaW5nR2x5cGhF
bGVtZW50LmggKi87IH07CisJCUE4MEY0NUFBMENDRTBCQzgwMDJERDk5MCAvKiBET01TVkdGb250
RWxlbWVudC5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEE4MEY0NUExMENDRTBCQzgwMDJERDk5MCAvKiBET01TVkdGb250RWxlbWVudC5tbSAqLzsgfTsK
KwkJQTgwRjQ1QUIwQ0NFMEJDODAwMkREOTkwIC8qIERPTVNWR0ZvbnRFbGVtZW50LmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBODBGNDVBMjBDQ0UwQkM4
MDAyREQ5OTAgLyogRE9NU1ZHRm9udEVsZW1lbnQuaCAqLzsgfTsKKwkJQTgwRjQ1QUMwQ0NFMEJD
ODAwMkREOTkwIC8qIERPTVNWR0dseXBoRWxlbWVudC5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE4MEY0NUEzMENDRTBCQzgwMDJERDk5MCAvKiBET01T
VkdHbHlwaEVsZW1lbnQubW0gKi87IH07CisJCUE4MEY0NUFEMENDRTBCQzgwMDJERDk5MCAvKiBE
T01TVkdHbHlwaEVsZW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEE4MEY0NUE0MENDRTBCQzgwMDJERDk5MCAvKiBET01TVkdHbHlwaEVsZW1lbnQu
aCAqLzsgfTsKKwkJQTgwRjQ1QUUwQ0NFMEJGQTAwMkREOTkwIC8qIERPTVNWR0ZvbnRFbGVtZW50
LmggaW4gQ29weSBHZW5lcmF0ZWQgSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBBODBGNDVBMjBDQ0UwQkM4MDAyREQ5OTAgLyogRE9NU1ZHRm9udEVsZW1lbnQuaCAq
LzsgfTsKKwkJQTgwRjQ1QUYwQ0NFMEJGQTAwMkREOTkwIC8qIERPTVNWR01pc3NpbmdHbHlwaEVs
ZW1lbnQuaCBpbiBDb3B5IEdlbmVyYXRlZCBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEE4MEY0NTlGMENDRTBCQzgwMDJERDk5MCAvKiBET01TVkdNaXNzaW5nR2x5
cGhFbGVtZW50LmggKi87IH07CisJCUE4MEY0NjcyMENDRTBGNEMwMDJERDk5MCAvKiBET01TVkdH
bHlwaEVsZW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEE4MEY0NUE0MENDRTBCQzgwMDJERDk5MCAvKiBET01TVkdHbHlwaEVsZW1lbnQuaCAqLzsg
fTsKIAkJQTgxMzY5Q0EwOTczNzRGNjAwRDc0NDYzIC8qIEhUTUxJc0luZGV4RWxlbWVudC5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTgxMzY5QUUwOTcz
NzRGNTAwRDc0NDYzIC8qIEhUTUxJc0luZGV4RWxlbWVudC5oICovOyB9OwogCQlBODEzNjlDQjA5
NzM3NEY2MDBENzQ0NjMgLyogSFRNTElzSW5kZXhFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEE4MTM2OUFGMDk3Mzc0RjUwMEQ3NDQ2MyAv
KiBIVE1MSXNJbmRleEVsZW1lbnQuY3BwICovOyB9OwogCQlBODEzNjlDQzA5NzM3NEY2MDBENzQ0
NjMgLyogSFRNTElucHV0RWxlbWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQTgxMzY5QjAwOTczNzRGNTAwRDc0NDYzIC8qIEhUTUxJbnB1dEVsZW1l
bnQuaCAqLzsgfTsKQEAgLTM2NTAsNiArMzY3NCw4IEBACiAJCQlkc3RQYXRoID0gVmVyc2lvbnMv
QS9Qcml2YXRlSGVhZGVyczsKIAkJCWRzdFN1YmZvbGRlclNwZWMgPSAxOwogCQkJZmlsZXMgPSAo
CisJCQkJQTgwRjQ1QUUwQ0NFMEJGQTAwMkREOTkwIC8qIERPTVNWR0ZvbnRFbGVtZW50LmggaW4g
Q29weSBHZW5lcmF0ZWQgSGVhZGVycyAqLywKKwkJCQlBODBGNDVBRjBDQ0UwQkZBMDAyREQ5OTAg
LyogRE9NU1ZHTWlzc2luZ0dseXBoRWxlbWVudC5oIGluIENvcHkgR2VuZXJhdGVkIEhlYWRlcnMg
Ki8sCiAJCQkJQTgwRjQzNUQwQ0NERTYzQzAwMkREOTkwIC8qIERPTVNWR0FuaW1hdGVFbGVtZW50
SW50ZXJuYWwuaCBpbiBDb3B5IEdlbmVyYXRlZCBIZWFkZXJzICovLAogCQkJCUE4MEYzQjMxMEND
RENFMjQwMDJERDk5MCAvKiBET01TVkdGRUNvbXBvc2l0ZUVsZW1lbnRJbnRlcm5hbC5oIGluIENv
cHkgR2VuZXJhdGVkIEhlYWRlcnMgKi8sCiAJCQkJQThGNDZCMUIwQ0IyMEE5RDAwM0E5NjcwIC8q
IERPTVNWR0FuaW1hdGVkUmVjdC5oIGluIENvcHkgR2VuZXJhdGVkIEhlYWRlcnMgKi8sCkBAIC01
ODM5LDYgKzU4NjUsMzAgQEAKIAkJQTgwRjM5NTUwQ0NEOTc5NjAwMkREOTkwIC8qIERPTVNWR0Rl
ZmluaXRpb25TcmNFbGVtZW50SW50ZXJuYWwuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gRE9NU1ZHRGVmaW5pdGlvblNyY0VsZW1lbnRJbnRlcm5hbC5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQlBODBGMzk1NjBDQ0Q5Nzk2MDAyREQ5OTAgLyogRE9NU1ZHRGVmaW5p
dGlvblNyY0VsZW1lbnQubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGgg
PSBET01TVkdEZWZpbml0aW9uU3JjRWxlbWVudC5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJQTgwRjM5NTcwQ0NEOTc5NjAwMkREOTkwIC8qIERPTVNWR0RlZmluaXRpb25TcmNFbGVt
ZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERPTVNWR0RlZmluaXRpb25T
cmNFbGVtZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE4MEY0MzkxMENDREYw
NTUwMDJERDk5MCAvKiBTVkdNaXNzaW5nR2x5cGhFbGVtZW50LmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IFNWR01pc3NpbmdHbHlwaEVsZW1lbnQuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJQTgwRjQzOTIwQ0NERjA1NTAwMkREOTkwIC8qIFNWR01pc3NpbmdHbHlw
aEVsZW1lbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU1ZHTWlz
c2luZ0dseXBoRWxlbWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE4MEY0
MzkzMENDREYwNTUwMDJERDk5MCAvKiBTVkdNaXNzaW5nR2x5cGhFbGVtZW50LmlkbCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHRleHQ7IHBhdGggPSBTVkdNaXNzaW5nR2x5cGhFbGVtZW50LmlkbDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJQTgwRjQzOTQwQ0NERjA1NTAwMkREOTkwIC8qIFNWR0ZvbnRFbGVt
ZW50LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBTVkdGb250RWxlbWVudC5pZGw7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE4MEY0Mzk1MENDREYwNTUwMDJERDk5MCAvKiBTVkdG
b250RWxlbWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTVkdGb250RWxl
bWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBODBGNDM5NjBDQ0RGMDU1MDAy
REQ5OTAgLyogU1ZHRm9udEVsZW1lbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gU1ZHRm9udEVsZW1lbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQlBODBGNDM5NzBDQ0RGMDU1MDAyREQ5OTAgLyogU1ZHR2x5cGhFbGVtZW50LmlkbCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHRleHQ7IHBhdGggPSBTVkdHbHlwaEVsZW1lbnQuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQlBODBGNDM5ODBDQ0RGMDU1MDAyREQ5OTAgLyogU1ZHR2x5cGhFbGVtZW50Lmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNWR0dseXBoRWxlbWVudC5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQlBODBGNDM5OTBDQ0RGMDU1MDAyREQ5OTAgLyogU1ZH
R2x5cGhFbGVtZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFNW
R0dseXBoRWxlbWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE4MEY0NThF
MENDRTBCQTgwMDJERDk5MCAvKiBKU1NWR01pc3NpbmdHbHlwaEVsZW1lbnQuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNTVkdNaXNzaW5nR2x5cGhFbGVtZW50Lmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE4MEY0NThGMENDRTBCQTgwMDJERDk5MCAvKiBKU1NW
R01pc3NpbmdHbHlwaEVsZW1lbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gSlNTVkdNaXNzaW5nR2x5cGhFbGVtZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJQTgwRjQ1OTAwQ0NFMEJBODAwMkREOTkwIC8qIEpTU1ZHR2x5cGhFbGVtZW50LmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTU1ZHR2x5cGhFbGVtZW50
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTgwRjQ1OTEwQ0NFMEJBODAwMkRE
OTkwIC8qIEpTU1ZHR2x5cGhFbGVtZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IEpTU1ZHR2x5cGhFbGVtZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE4
MEY0NTkyMENDRTBCQTgwMDJERDk5MCAvKiBKU1NWR0ZvbnRFbGVtZW50LmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTU1ZHRm9udEVsZW1lbnQuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJQTgwRjQ1OTMwQ0NFMEJBODAwMkREOTkwIC8qIEpTU1ZHRm9udEVsZW1l
bnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNTVkdGb250RWxl
bWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE4MEY0NTlDMENDRTBCQzgw
MDJERDk5MCAvKiBET01TVkdHbHlwaEVsZW1lbnRJbnRlcm5hbC5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBET01TVkdHbHlwaEVsZW1lbnRJbnRlcm5hbC5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQlBODBGNDU5RDBDQ0UwQkM4MDAyREQ5OTAgLyogRE9NU1ZHTWlz
c2luZ0dseXBoRWxlbWVudEludGVybmFsLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IERPTVNWR01pc3NpbmdHbHlwaEVsZW1lbnRJbnRlcm5hbC5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQlBODBGNDU5RTBDQ0UwQkM4MDAyREQ5OTAgLyogRE9NU1ZHTWlzc2luZ0ds
eXBoRWxlbWVudC5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IERP
TVNWR01pc3NpbmdHbHlwaEVsZW1lbnQubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CUE4MEY0NTlGMENDRTBCQzgwMDJERDk5MCAvKiBET01TVkdNaXNzaW5nR2x5cGhFbGVtZW50Lmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERPTVNWR01pc3NpbmdHbHlwaEVsZW1l
bnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTgwRjQ1QTAwQ0NFMEJDODAwMkRE
OTkwIC8qIERPTVNWR0ZvbnRFbGVtZW50SW50ZXJuYWwuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gRE9NU1ZHRm9udEVsZW1lbnRJbnRlcm5hbC5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQlBODBGNDVBMTBDQ0UwQkM4MDAyREQ5OTAgLyogRE9NU1ZHRm9udEVsZW1l
bnQubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBET01TVkdGb250
RWxlbWVudC5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQTgwRjQ1QTIwQ0NFMEJD
ODAwMkREOTkwIC8qIERPTVNWR0ZvbnRFbGVtZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IERPTVNWR0ZvbnRFbGVtZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCUE4MEY0NUEzMENDRTBCQzgwMDJERDk5MCAvKiBET01TVkdHbHlwaEVsZW1lbnQubW0gKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBET01TVkdHbHlwaEVsZW1lbnQu
bW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUE4MEY0NUE0MENDRTBCQzgwMDJERDk5
MCAvKiBET01TVkdHbHlwaEVsZW1lbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gRE9NU1ZHR2x5cGhFbGVtZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUE4
MTM2OUFFMDk3Mzc0RjUwMEQ3NDQ2MyAvKiBIVE1MSXNJbmRleEVsZW1lbnQuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEhUTUxJc0luZGV4RWxlbWVudC5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQlBODEzNjlBRjA5NzM3NEY1MDBENzQ0NjMgLyogSFRNTElzSW5k
ZXhFbGVtZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBIVE1M
SXNJbmRleEVsZW1lbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBODEzNjlC
MDA5NzM3NEY1MDBENzQ0NjMgLyogSFRNTElucHV0RWxlbWVudC5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gSFRNTElucHV0RWxlbWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwpAQCAtODI3NCw2ICs4MzI0LDE1IEBACiAJCTg1QTBGOThFMEFDNzE2RjQwMDE2MUZE
QyAvKiBTVkcgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAorCQkJ
CUE4MEY0NTlDMENDRTBCQzgwMDJERDk5MCAvKiBET01TVkdHbHlwaEVsZW1lbnRJbnRlcm5hbC5o
ICovLAorCQkJCUE4MEY0NTlEMENDRTBCQzgwMDJERDk5MCAvKiBET01TVkdNaXNzaW5nR2x5cGhF
bGVtZW50SW50ZXJuYWwuaCAqLywKKwkJCQlBODBGNDU5RTBDQ0UwQkM4MDAyREQ5OTAgLyogRE9N
U1ZHTWlzc2luZ0dseXBoRWxlbWVudC5tbSAqLywKKwkJCQlBODBGNDU5RjBDQ0UwQkM4MDAyREQ5
OTAgLyogRE9NU1ZHTWlzc2luZ0dseXBoRWxlbWVudC5oICovLAorCQkJCUE4MEY0NUEwMENDRTBC
QzgwMDJERDk5MCAvKiBET01TVkdGb250RWxlbWVudEludGVybmFsLmggKi8sCisJCQkJQTgwRjQ1
QTEwQ0NFMEJDODAwMkREOTkwIC8qIERPTVNWR0ZvbnRFbGVtZW50Lm1tICovLAorCQkJCUE4MEY0
NUEyMENDRTBCQzgwMDJERDk5MCAvKiBET01TVkdGb250RWxlbWVudC5oICovLAorCQkJCUE4MEY0
NUEzMENDRTBCQzgwMDJERDk5MCAvKiBET01TVkdHbHlwaEVsZW1lbnQubW0gKi8sCisJCQkJQTgw
RjQ1QTQwQ0NFMEJDODAwMkREOTkwIC8qIERPTVNWR0dseXBoRWxlbWVudC5oICovLAogCQkJCTg1
QUNFRjc0MEFDRENGQ0UwMDEyMTRGRiAvKiBET01TVkdBRWxlbWVudC5oICovLAogCQkJCTg1QUNF
Rjc1MEFDRENGQ0UwMDEyMTRGRiAvKiBET01TVkdBRWxlbWVudC5tbSAqLywKIAkJCQlBOEU1NDQx
NTBDQTlEMUMxMDA5N0QwOUIgLyogRE9NU1ZHQUVsZW1lbnRJbnRlcm5hbC5oICovLApAQCAtOTg1
Nyw2ICs5OTE2LDggQEAKIAkJCQlCMkZBM0NBRDBBQjc1QTZFMDAwRTVBQzQgLyogSlNTVkdGRVR1
cmJ1bGVuY2VFbGVtZW50LmggKi8sCiAJCQkJQjJGQTNDQUUwQUI3NUE2RTAwMEU1QUM0IC8qIEpT
U1ZHRmlsdGVyRWxlbWVudC5jcHAgKi8sCiAJCQkJQjJGQTNDQUYwQUI3NUE2RTAwMEU1QUM0IC8q
IEpTU1ZHRmlsdGVyRWxlbWVudC5oICovLAorCQkJCUE4MEY0NTkzMENDRTBCQTgwMDJERDk5MCAv
KiBKU1NWR0ZvbnRFbGVtZW50LmNwcCAqLywKKwkJCQlBODBGNDU5MjBDQ0UwQkE4MDAyREQ5OTAg
LyogSlNTVkdGb250RWxlbWVudC5oICovLAogCQkJCUE4M0I3OEZBMENDQUZGMTUwMDBCMDgyNSAv
KiBKU1NWR0ZvbnRGYWNlRWxlbWVudC5jcHAgKi8sCiAJCQkJQTgzQjc4RkIwQ0NBRkYxNTAwMEIw
ODI1IC8qIEpTU1ZHRm9udEZhY2VFbGVtZW50LmggKi8sCiAJCQkJQTgzQjc4RjcwQ0NBRkYxNTAw
MEIwODI1IC8qIEpTU1ZHRm9udEZhY2VGb3JtYXRFbGVtZW50LmNwcCAqLywKQEAgLTk4NzEsNiAr
OTkzMiw4IEBACiAJCQkJQjJGQTNDQjEwQUI3NUE2RTAwMEU1QUM0IC8qIEpTU1ZHRm9yZWlnbk9i
amVjdEVsZW1lbnQuaCAqLywKIAkJCQlCMkZBM0NCMjBBQjc1QTZFMDAwRTVBQzQgLyogSlNTVkdH
RWxlbWVudC5jcHAgKi8sCiAJCQkJQjJGQTNDQjMwQUI3NUE2RTAwMEU1QUM0IC8qIEpTU1ZHR0Vs
ZW1lbnQuaCAqLywKKwkJCQlBODBGNDU5MDBDQ0UwQkE4MDAyREQ5OTAgLyogSlNTVkdHbHlwaEVs
ZW1lbnQuY3BwICovLAorCQkJCUE4MEY0NTkxMENDRTBCQTgwMDJERDk5MCAvKiBKU1NWR0dseXBo
RWxlbWVudC5oICovLAogCQkJCUIyRkEzQ0I0MEFCNzVBNkUwMDBFNUFDNCAvKiBKU1NWR0dyYWRp
ZW50RWxlbWVudC5jcHAgKi8sCiAJCQkJQjJGQTNDQjUwQUI3NUE2RTAwMEU1QUM0IC8qIEpTU1ZH
R3JhZGllbnRFbGVtZW50LmggKi8sCiAJCQkJQjJGQTNDQjYwQUI3NUE2RTAwMEU1QUM0IC8qIEpT
U1ZHSW1hZ2VFbGVtZW50LmNwcCAqLywKQEAgLTk4OTEsNiArOTk1NCw4IEBACiAJCQkJQjJGQTND
QzUwQUI3NUE2RTAwMEU1QUM0IC8qIEpTU1ZHTWF0cml4LmggKi8sCiAJCQkJQjJGQTNDQzYwQUI3
NUE2RTAwMEU1QUM0IC8qIEpTU1ZHTWV0YWRhdGFFbGVtZW50LmNwcCAqLywKIAkJCQlCMkZBM0ND
NzBBQjc1QTZFMDAwRTVBQzQgLyogSlNTVkdNZXRhZGF0YUVsZW1lbnQuaCAqLywKKwkJCQlBODBG
NDU4RjBDQ0UwQkE4MDAyREQ5OTAgLyogSlNTVkdNaXNzaW5nR2x5cGhFbGVtZW50LmNwcCAqLywK
KwkJCQlBODBGNDU4RTBDQ0UwQkE4MDAyREQ5OTAgLyogSlNTVkdNaXNzaW5nR2x5cGhFbGVtZW50
LmggKi8sCiAJCQkJODU3NEQxRjMwQURFNjEyMjAwNENCQTExIC8qIEpTU1ZHTnVtYmVyLmNwcCAq
LywKIAkJCQk4NTc0RDFGNDBBREU2MTIyMDA0Q0JBMTEgLyogSlNTVkdOdW1iZXIuaCAqLywKIAkJ
CQlCMkZBM0NDODBBQjc1QTZFMDAwRTVBQzQgLyogSlNTVkdOdW1iZXJMaXN0LmNwcCAqLywKQEAg
LTEwMjMyLDYgKzEwMjk3LDE1IEBACiAJCUE4QzBGN0ZDMDg5NzAxRjMwMEJBNTExNCAvKiBzdmcg
Ki8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAorCQkJCUE4MEY0Mzkx
MENDREYwNTUwMDJERDk5MCAvKiBTVkdNaXNzaW5nR2x5cGhFbGVtZW50LmggKi8sCisJCQkJQTgw
RjQzOTIwQ0NERjA1NTAwMkREOTkwIC8qIFNWR01pc3NpbmdHbHlwaEVsZW1lbnQuY3BwICovLAor
CQkJCUE4MEY0MzkzMENDREYwNTUwMDJERDk5MCAvKiBTVkdNaXNzaW5nR2x5cGhFbGVtZW50Lmlk
bCAqLywKKwkJCQlBODBGNDM5NDBDQ0RGMDU1MDAyREQ5OTAgLyogU1ZHRm9udEVsZW1lbnQuaWRs
ICovLAorCQkJCUE4MEY0Mzk1MENDREYwNTUwMDJERDk5MCAvKiBTVkdGb250RWxlbWVudC5oICov
LAorCQkJCUE4MEY0Mzk2MENDREYwNTUwMDJERDk5MCAvKiBTVkdGb250RWxlbWVudC5jcHAgKi8s
CisJCQkJQTgwRjQzOTcwQ0NERjA1NTAwMkREOTkwIC8qIFNWR0dseXBoRWxlbWVudC5pZGwgKi8s
CisJCQkJQTgwRjQzOTgwQ0NERjA1NTAwMkREOTkwIC8qIFNWR0dseXBoRWxlbWVudC5oICovLAor
CQkJCUE4MEY0Mzk5MENDREYwNTUwMDJERDk5MCAvKiBTVkdHbHlwaEVsZW1lbnQuY3BwICovLAog
CQkJCUE4NDk0MkQ4MEI2NEE5Q0EwMDY5RjAwRiAvKiBDb2xvckRpc3RhbmNlLmNwcCAqLywKIAkJ
CQlBODQ5NDJENzBCNjRBOUNBMDA2OUYwMEYgLyogQ29sb3JEaXN0YW5jZS5oICovLAogCQkJCUIy
RERGMDY2MEI0ODJBMDMwMDY0QTRCMSAvKiBHcmFkaWVudEF0dHJpYnV0ZXMuaCAqLywKQEAgLTEz
NTc1LDYgKzEzNjQ5LDE2IEBACiAJCQkJQTgwRjNBNzUwQ0NEQTMxODAwMkREOTkwIC8qIERPTVNW
R1BhdGhTZWdDdXJ2ZXRvUXVhZHJhdGljQWJzLmggaW4gSGVhZGVycyAqLywKIAkJCQlBODBGM0E3
RDBDQ0RBMzI0MDAyREQ5OTAgLyogRE9NU1ZHQW5nbGUuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4
MEY0MzUyMENDREU2MDQwMDJERDk5MCAvKiBET01TVkdBbmltYXRlRWxlbWVudEludGVybmFsLmgg
aW4gSGVhZGVycyAqLywKKwkJCQlBODBGNDM5QTBDQ0RGMDU1MDAyREQ5OTAgLyogU1ZHTWlzc2lu
Z0dseXBoRWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCisJCQkJQTgwRjQzOUUwQ0NERjA1NTAwMkRE
OTkwIC8qIFNWR0ZvbnRFbGVtZW50LmggaW4gSGVhZGVycyAqLywKKwkJCQlBODBGNDNBMTBDQ0RG
MDU1MDAyREQ5OTAgLyogU1ZHR2x5cGhFbGVtZW50LmggaW4gSGVhZGVycyAqLywKKwkJCQlBODBG
NDU5NDBDQ0UwQkE4MDAyREQ5OTAgLyogSlNTVkdNaXNzaW5nR2x5cGhFbGVtZW50LmggaW4gSGVh
ZGVycyAqLywKKwkJCQlBODBGNDU5NzBDQ0UwQkE4MDAyREQ5OTAgLyogSlNTVkdHbHlwaEVsZW1l
bnQuaCBpbiBIZWFkZXJzICovLAorCQkJCUE4MEY0NTk4MENDRTBCQTgwMDJERDk5MCAvKiBKU1NW
R0ZvbnRFbGVtZW50LmggaW4gSGVhZGVycyAqLywKKwkJCQlBODBGNDVBODBDQ0UwQkM4MDAyREQ5
OTAgLyogRE9NU1ZHTWlzc2luZ0dseXBoRWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCisJCQkJQTgw
RjQ1QUIwQ0NFMEJDODAwMkREOTkwIC8qIERPTVNWR0ZvbnRFbGVtZW50LmggaW4gSGVhZGVycyAq
LywKKwkJCQlBODBGNDVBRDBDQ0UwQkM4MDAyREQ5OTAgLyogRE9NU1ZHR2x5cGhFbGVtZW50Lmgg
aW4gSGVhZGVycyAqLywKKwkJCQlBODBGNDY3MjBDQ0UwRjRDMDAyREQ5OTAgLyogRE9NU1ZHR2x5
cGhFbGVtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVu
dFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKQEAgLTEzNjEzLDcgKzEzNjk3LDYgQEAKIAkJMDg2
N0Q2OTBGRTg0MDI4RkMwMkFBQzA3IC8qIFByb2plY3Qgb2JqZWN0ICovID0gewogCQkJaXNhID0g
UEJYUHJvamVjdDsKIAkJCWJ1aWxkQ29uZmlndXJhdGlvbkxpc3QgPSAxNDlDMjg0MzA4OTAyQjEx
MDA4QTlFRkMgLyogQnVpbGQgY29uZmlndXJhdGlvbiBsaXN0IGZvciBQQlhQcm9qZWN0ICJXZWJD
b3JlIiAqLzsKLQkJCWNvbXBhdGliaWxpdHlWZXJzaW9uID0gIlhjb2RlIDIuNCI7CiAJCQloYXNT
Y2FubmVkRm9yRW5jb2RpbmdzID0gMTsKIAkJCWtub3duUmVnaW9ucyA9ICgKIAkJCQlFbmdsaXNo
LApAQCAtMTM2OTUsNiArMTM3NzgsOSBAQAogCQkJCUE4M0I3OERGMENDQUZFQzEwMDBCMDgyNSAv
KiBTVkdGb250RmFjZUZvcm1hdEVsZW1lbnQuaWRsIGluIFJlc291cmNlcyAqLywKIAkJCQlBODNC
NzhFMjBDQ0FGRUMxMDAwQjA4MjUgLyogU1ZHRm9udEZhY2VFbGVtZW50LmlkbCBpbiBSZXNvdXJj
ZXMgKi8sCiAJCQkJQTgzQjc4RTUwQ0NBRkVDMTAwMEIwODI1IC8qIFNWR0RlZmluaXRpb25TcmNF
bGVtZW50LmlkbCBpbiBSZXNvdXJjZXMgKi8sCisJCQkJQTgwRjQzOUMwQ0NERjA1NTAwMkREOTkw
IC8qIFNWR01pc3NpbmdHbHlwaEVsZW1lbnQuaWRsIGluIFJlc291cmNlcyAqLywKKwkJCQlBODBG
NDM5RDBDQ0RGMDU1MDAyREQ5OTAgLyogU1ZHRm9udEVsZW1lbnQuaWRsIGluIFJlc291cmNlcyAq
LywKKwkJCQlBODBGNDNBMDBDQ0RGMDU1MDAyREQ5OTAgLyogU1ZHR2x5cGhFbGVtZW50LmlkbCBp
biBSZXNvdXJjZXMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vz
c2luZyA9IDA7CiAJCX07CkBAIC0xNTEwOCw2ICsxNTE5NCwxNSBAQAogCQkJCUE4M0I3OTU2MEND
QjAxMjUwMDBCMDgyNSAvKiBET01TVkdGb250RmFjZUVsZW1lbnQubW0gaW4gU291cmNlcyAqLywK
IAkJCQlBODBGMzkzRTBDQ0Q5NzFBMDAyREQ5OTAgLyogSlNTVkdEZWZpbml0aW9uU3JjRWxlbWVu
dC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBODBGMzk1OTBDQ0Q5Nzk2MDAyREQ5OTAgLyogRE9N
U1ZHRGVmaW5pdGlvblNyY0VsZW1lbnQubW0gaW4gU291cmNlcyAqLywKKwkJCQlBODBGNDM5QjBD
Q0RGMDU1MDAyREQ5OTAgLyogU1ZHTWlzc2luZ0dseXBoRWxlbWVudC5jcHAgaW4gU291cmNlcyAq
LywKKwkJCQlBODBGNDM5RjBDQ0RGMDU1MDAyREQ5OTAgLyogU1ZHRm9udEVsZW1lbnQuY3BwIGlu
IFNvdXJjZXMgKi8sCisJCQkJQTgwRjQzQTIwQ0NERjA1NTAwMkREOTkwIC8qIFNWR0dseXBoRWxl
bWVudC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlBODBGNDU5NTBDQ0UwQkE4MDAyREQ5OTAgLyog
SlNTVkdNaXNzaW5nR2x5cGhFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUE4MEY0NTk2
MENDRTBCQTgwMDJERDk5MCAvKiBKU1NWR0dseXBoRWxlbWVudC5jcHAgaW4gU291cmNlcyAqLywK
KwkJCQlBODBGNDU5OTBDQ0UwQkE4MDAyREQ5OTAgLyogSlNTVkdGb250RWxlbWVudC5jcHAgaW4g
U291cmNlcyAqLywKKwkJCQlBODBGNDVBNzBDQ0UwQkM4MDAyREQ5OTAgLyogRE9NU1ZHTWlzc2lu
Z0dseXBoRWxlbWVudC5tbSBpbiBTb3VyY2VzICovLAorCQkJCUE4MEY0NUFBMENDRTBCQzgwMDJE
RDk5MCAvKiBET01TVkdGb250RWxlbWVudC5tbSBpbiBTb3VyY2VzICovLAorCQkJCUE4MEY0NUFD
MENDRTBCQzgwMDJERDk5MCAvKiBET01TVkdHbHlwaEVsZW1lbnQubW0gaW4gU291cmNlcyAqLywK
IAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsK
SW5kZXg6IGJpbmRpbmdzL2pzL0pTU1ZHRWxlbWVudFdyYXBwZXJGYWN0b3J5LmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBiaW5kaW5ncy9qcy9KU1NWR0VsZW1lbnRXcmFwcGVyRmFjdG9yeS5jcHAJKHJldmlz
aW9uIDI2OTQ4KQorKysgYmluZGluZ3MvanMvSlNTVkdFbGVtZW50V3JhcHBlckZhY3RvcnkuY3Bw
CSh3b3JraW5nIGNvcHkpCkBAIC01NywxOCArNTcsMjEgQEAKICNpbmNsdWRlICJKU1NWR0ZFVHVy
YnVsZW5jZUVsZW1lbnQuaCIKICNpbmNsdWRlICJKU1NWR0ZpbHRlckVsZW1lbnQuaCIKICNpbmNs
dWRlICJKU1NWR0ZvcmVpZ25PYmplY3RFbGVtZW50LmgiCisjaW5jbHVkZSAiSlNTVkdGb250RWxl
bWVudC5oIgogI2luY2x1ZGUgIkpTU1ZHRm9udEZhY2VFbGVtZW50LmgiCiAjaW5jbHVkZSAiSlNT
VkdGb250RmFjZUZvcm1hdEVsZW1lbnQuaCIKICNpbmNsdWRlICJKU1NWR0ZvbnRGYWNlTmFtZUVs
ZW1lbnQuaCIKICNpbmNsdWRlICJKU1NWR0ZvbnRGYWNlU3JjRWxlbWVudC5oIgogI2luY2x1ZGUg
IkpTU1ZHRm9udEZhY2VVcmlFbGVtZW50LmgiCiAjaW5jbHVkZSAiSlNTVkdHRWxlbWVudC5oIgor
I2luY2x1ZGUgIkpTU1ZHR2x5cGhFbGVtZW50LmgiCiAjaW5jbHVkZSAiSlNTVkdJbWFnZUVsZW1l
bnQuaCIKICNpbmNsdWRlICJKU1NWR0xpbmVhckdyYWRpZW50RWxlbWVudC5oIgogI2luY2x1ZGUg
IkpTU1ZHTGluZUVsZW1lbnQuaCIKICNpbmNsdWRlICJKU1NWR01hcmtlckVsZW1lbnQuaCIKICNp
bmNsdWRlICJKU1NWR01hc2tFbGVtZW50LmgiCiAjaW5jbHVkZSAiSlNTVkdNZXRhZGF0YUVsZW1l
bnQuaCIKKyNpbmNsdWRlICJKU1NWR01pc3NpbmdHbHlwaEVsZW1lbnQuaCIKICNpbmNsdWRlICJK
U1NWR1BhdGhFbGVtZW50LmgiCiAjaW5jbHVkZSAiSlNTVkdQYXR0ZXJuRWxlbWVudC5oIgogI2lu
Y2x1ZGUgIkpTU1ZHUG9seWdvbkVsZW1lbnQuaCIKQEAgLTEyNywxOCArMTMwLDIxIEBACiAjaW5j
bHVkZSAiU1ZHRkVUdXJidWxlbmNlRWxlbWVudC5oIgogI2luY2x1ZGUgIlNWR0ZpbHRlckVsZW1l
bnQuaCIKICNpbmNsdWRlICJTVkdGb3JlaWduT2JqZWN0RWxlbWVudC5oIgorI2luY2x1ZGUgIlNW
R0ZvbnRFbGVtZW50LmgiCiAjaW5jbHVkZSAiU1ZHRm9udEZhY2VFbGVtZW50LmgiCiAjaW5jbHVk
ZSAiU1ZHRm9udEZhY2VGb3JtYXRFbGVtZW50LmgiCiAjaW5jbHVkZSAiU1ZHRm9udEZhY2VOYW1l
RWxlbWVudC5oIgogI2luY2x1ZGUgIlNWR0ZvbnRGYWNlU3JjRWxlbWVudC5oIgogI2luY2x1ZGUg
IlNWR0ZvbnRGYWNlVXJpRWxlbWVudC5oIgogI2luY2x1ZGUgIlNWR0dFbGVtZW50LmgiCisjaW5j
bHVkZSAiU1ZHR2x5cGhFbGVtZW50LmgiCiAjaW5jbHVkZSAiU1ZHSW1hZ2VFbGVtZW50LmgiCiAj
aW5jbHVkZSAiU1ZHTGluZWFyR3JhZGllbnRFbGVtZW50LmgiCiAjaW5jbHVkZSAiU1ZHTGluZUVs
ZW1lbnQuaCIKICNpbmNsdWRlICJTVkdNYXJrZXJFbGVtZW50LmgiCiAjaW5jbHVkZSAiU1ZHTWFz
a0VsZW1lbnQuaCIKICNpbmNsdWRlICJTVkdNZXRhZGF0YUVsZW1lbnQuaCIKKyNpbmNsdWRlICJT
VkdNaXNzaW5nR2x5cGhFbGVtZW50LmgiCiAjaW5jbHVkZSAiU1ZHUGF0aEVsZW1lbnQuaCIKICNp
bmNsdWRlICJTVkdQYXR0ZXJuRWxlbWVudC5oIgogI2luY2x1ZGUgIlNWR1BvbHlnb25FbGVtZW50
LmgiCkBAIC0yMDUsNiArMjExLDcgQEAgdHlwZWRlZiBKU05vZGUqICgqQ3JlYXRlU1ZHRWxlbWVu
dFdyYXBwZQogICAgIG1hY3JvKGZlU3BvdExpZ2h0LCBGRVNwb3RMaWdodCkgXAogICAgIG1hY3Jv
KGZlVGlsZSwgRkVUaWxlKSBcCiAgICAgbWFjcm8oZmVUdXJidWxlbmNlLCBGRVR1cmJ1bGVuY2Up
IFwKKyAgICBtYWNybyhmb250LCBGb250KSBcCiAgICAgbWFjcm8oZm9udF9mYWNlLCBGb250RmFj
ZSkgXAogICAgIG1hY3JvKGZvbnRfZmFjZV9mb3JtYXQsIEZvbnRGYWNlRm9ybWF0KSBcCiAgICAg
bWFjcm8oZm9udF9mYWNlX25hbWUsIEZvbnRGYWNlTmFtZSkgXApAQCAtMjEzLDEyICsyMjAsMTQg
QEAgdHlwZWRlZiBKU05vZGUqICgqQ3JlYXRlU1ZHRWxlbWVudFdyYXBwZQogICAgIG1hY3JvKGZp
bHRlciwgRmlsdGVyKSBcCiAgICAgbWFjcm8oZm9yZWlnbk9iamVjdCwgRm9yZWlnbk9iamVjdCkg
XAogICAgIG1hY3JvKGcsIEcpIFwKKyAgICBtYWNybyhnbHlwaCwgR2x5cGgpIFwKICAgICBtYWNy
byhpbWFnZSwgSW1hZ2UpIFwKICAgICBtYWNybyhsaW5lYXJHcmFkaWVudCwgTGluZWFyR3JhZGll
bnQpIFwKICAgICBtYWNybyhsaW5lLCBMaW5lKSBcCiAgICAgbWFjcm8obWFya2VyLCBNYXJrZXIp
IFwKICAgICBtYWNybyhtYXNrLCBNYXNrKSBcCiAgICAgbWFjcm8obWV0YWRhdGEsIE1ldGFkYXRh
KSBcCisgICAgbWFjcm8obWlzc2luZ19nbHlwaCwgTWlzc2luZ0dseXBoKSBcCiAgICAgbWFjcm8o
cGF0aCwgUGF0aCkgXAogICAgIG1hY3JvKHBhdHRlcm4sIFBhdHRlcm4pIFwKICAgICBtYWNybyhw
b2x5bGluZSwgUG9seWxpbmUpIFwKSW5kZXg6IGJpbmRpbmdzL29iamMvRE9NLm1tCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIGJpbmRpbmdzL29iamMvRE9NLm1tCShyZXZpc2lvbiAyNjk0OCkKKysrIGJpbmRpbmdz
L29iamMvRE9NLm1tCSh3b3JraW5nIGNvcHkpCkBAIC0yMjUsMTggKzIyNSwyMSBAQCBzdGF0aWMg
dm9pZCBjcmVhdGVFbGVtZW50Q2xhc3NNYXAoKQogICAgIGFkZEVsZW1lbnRDbGFzcyhTVkdOYW1l
czo6ZmVUdXJidWxlbmNlVGFnLCBbRE9NU1ZHRkVUdXJidWxlbmNlRWxlbWVudCBjbGFzc10pOwog
ICAgIGFkZEVsZW1lbnRDbGFzcyhTVkdOYW1lczo6ZmlsdGVyVGFnLCBbRE9NU1ZHRmlsdGVyRWxl
bWVudCBjbGFzc10pOwogI2VuZGlmCisgICAgYWRkRWxlbWVudENsYXNzKFNWR05hbWVzOjpmb250
VGFnLCBbRE9NU1ZHRm9udEVsZW1lbnQgY2xhc3NdKTsKICAgICBhZGRFbGVtZW50Q2xhc3MoU1ZH
TmFtZXM6OmZvbnRfZmFjZVRhZywgW0RPTVNWR0ZvbnRGYWNlRWxlbWVudCBjbGFzc10pOwogICAg
IGFkZEVsZW1lbnRDbGFzcyhTVkdOYW1lczo6Zm9udF9mYWNlX2Zvcm1hdFRhZywgW0RPTVNWR0Zv
bnRGYWNlRm9ybWF0RWxlbWVudCBjbGFzc10pOwogICAgIGFkZEVsZW1lbnRDbGFzcyhTVkdOYW1l
czo6Zm9udF9mYWNlX25hbWVUYWcsIFtET01TVkdGb250RmFjZU5hbWVFbGVtZW50IGNsYXNzXSk7
CiAgICAgYWRkRWxlbWVudENsYXNzKFNWR05hbWVzOjpmb250X2ZhY2Vfc3JjVGFnLCBbRE9NU1ZH
Rm9udEZhY2VTcmNFbGVtZW50IGNsYXNzXSk7CiAgICAgYWRkRWxlbWVudENsYXNzKFNWR05hbWVz
Ojpmb250X2ZhY2VfdXJpVGFnLCBbRE9NU1ZHRm9udEZhY2VVcmlFbGVtZW50IGNsYXNzXSk7CiAg
ICAgYWRkRWxlbWVudENsYXNzKFNWR05hbWVzOjpnVGFnLCBbRE9NU1ZHR0VsZW1lbnQgY2xhc3Nd
KTsKKyAgICBhZGRFbGVtZW50Q2xhc3MoU1ZHTmFtZXM6OmdseXBoVGFnLCBbRE9NU1ZHR2x5cGhF
bGVtZW50IGNsYXNzXSk7CiAgICAgYWRkRWxlbWVudENsYXNzKFNWR05hbWVzOjppbWFnZVRhZywg
W0RPTVNWR0ltYWdlRWxlbWVudCBjbGFzc10pOwogICAgIGFkZEVsZW1lbnRDbGFzcyhTVkdOYW1l
czo6bGluZVRhZywgW0RPTVNWR0xpbmVFbGVtZW50IGNsYXNzXSk7CiAgICAgYWRkRWxlbWVudENs
YXNzKFNWR05hbWVzOjpsaW5lYXJHcmFkaWVudFRhZywgW0RPTVNWR0xpbmVhckdyYWRpZW50RWxl
bWVudCBjbGFzc10pOwogICAgIGFkZEVsZW1lbnRDbGFzcyhTVkdOYW1lczo6bWFya2VyVGFnLCBb
RE9NU1ZHTWFya2VyRWxlbWVudCBjbGFzc10pOwogICAgIGFkZEVsZW1lbnRDbGFzcyhTVkdOYW1l
czo6bWFza1RhZywgW0RPTVNWR01hc2tFbGVtZW50IGNsYXNzXSk7CiAgICAgYWRkRWxlbWVudENs
YXNzKFNWR05hbWVzOjptZXRhZGF0YVRhZywgW0RPTVNWR01ldGFkYXRhRWxlbWVudCBjbGFzc10p
OworICAgIGFkZEVsZW1lbnRDbGFzcyhTVkdOYW1lczo6bWlzc2luZ19nbHlwaFRhZywgW0RPTVNW
R01pc3NpbmdHbHlwaEVsZW1lbnQgY2xhc3NdKTsKICAgICBhZGRFbGVtZW50Q2xhc3MoU1ZHTmFt
ZXM6OnBhdGhUYWcsIFtET01TVkdQYXRoRWxlbWVudCBjbGFzc10pOwogICAgIGFkZEVsZW1lbnRD
bGFzcyhTVkdOYW1lczo6cGF0dGVyblRhZywgW0RPTVNWR1BhdHRlcm5FbGVtZW50IGNsYXNzXSk7
CiAgICAgYWRkRWxlbWVudENsYXNzKFNWR05hbWVzOjpwb2x5Z29uVGFnLCBbRE9NU1ZHUG9seWdv
bkVsZW1lbnQgY2xhc3NdKTsKSW5kZXg6IGJpbmRpbmdzL29iamMvRE9NSW50ZXJuYWwuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBiaW5kaW5ncy9vYmpjL0RPTUludGVybmFsLmgJKHJldmlzaW9uIDI2OTQ4KQor
KysgYmluZGluZ3Mvb2JqYy9ET01JbnRlcm5hbC5oCSh3b3JraW5nIGNvcHkpCkBAIC0xNzEsNiAr
MTcxLDcgQEAKICNpbXBvcnQgIkRPTVNWR0NvbXBvbmVudFRyYW5zZmVyRnVuY3Rpb25FbGVtZW50
SW50ZXJuYWwuaCIKICNpbXBvcnQgIkRPTVNWR0N1cnNvckVsZW1lbnRJbnRlcm5hbC5oIgogI2lt
cG9ydCAiRE9NU1ZHRGVmc0VsZW1lbnRJbnRlcm5hbC5oIgorI2ltcG9ydCAiRE9NU1ZHRGVmaW5p
dGlvblNyY0VsZW1lbnRJbnRlcm5hbC5oIgogI2ltcG9ydCAiRE9NU1ZHRGVzY0VsZW1lbnRJbnRl
cm5hbC5oIgogI2ltcG9ydCAiRE9NU1ZHRG9jdW1lbnRJbnRlcm5hbC5oIgogI2ltcG9ydCAiRE9N
U1ZHRWxlbWVudEludGVybmFsLmgiCkBAIC0yMDAsOCArMjAxLDE1IEBACiAjaW1wb3J0ICJET01T
VkdGRVRpbGVFbGVtZW50SW50ZXJuYWwuaCIKICNpbXBvcnQgIkRPTVNWR0ZFVHVyYnVsZW5jZUVs
ZW1lbnRJbnRlcm5hbC5oIgogI2ltcG9ydCAiRE9NU1ZHRmlsdGVyRWxlbWVudEludGVybmFsLmgi
CisjaW1wb3J0ICJET01TVkdGb250RWxlbWVudEludGVybmFsLmgiCisjaW1wb3J0ICJET01TVkdG
b250RmFjZUVsZW1lbnRJbnRlcm5hbC5oIgorI2ltcG9ydCAiRE9NU1ZHRm9udEZhY2VGb3JtYXRF
bGVtZW50SW50ZXJuYWwuaCIKKyNpbXBvcnQgIkRPTVNWR0ZvbnRGYWNlTmFtZUVsZW1lbnRJbnRl
cm5hbC5oIgorI2ltcG9ydCAiRE9NU1ZHRm9udEZhY2VTcmNFbGVtZW50SW50ZXJuYWwuaCIKKyNp
bXBvcnQgIkRPTVNWR0ZvbnRGYWNlVXJpRWxlbWVudEludGVybmFsLmgiCiAjaW1wb3J0ICJET01T
VkdGb3JlaWduT2JqZWN0RWxlbWVudEludGVybmFsLmgiCiAjaW1wb3J0ICJET01TVkdHRWxlbWVu
dEludGVybmFsLmgiCisjaW1wb3J0ICJET01TVkdHbHlwaEVsZW1lbnRJbnRlcm5hbC5oIgogI2lt
cG9ydCAiRE9NU1ZHR3JhZGllbnRFbGVtZW50SW50ZXJuYWwuaCIKICNpbXBvcnQgIkRPTVNWR0lt
YWdlRWxlbWVudEludGVybmFsLmgiCiAjaW1wb3J0ICJET01TVkdMZW5ndGhJbnRlcm5hbC5oIgpA
QCAtMjEyLDYgKzIyMCw3IEBACiAjaW1wb3J0ICJET01TVkdNYXNrRWxlbWVudEludGVybmFsLmgi
CiAjaW1wb3J0ICJET01TVkdNYXRyaXhJbnRlcm5hbC5oIgogI2ltcG9ydCAiRE9NU1ZHTWV0YWRh
dGFFbGVtZW50SW50ZXJuYWwuaCIKKyNpbXBvcnQgIkRPTVNWR01pc3NpbmdHbHlwaEVsZW1lbnRJ
bnRlcm5hbC5oIgogI2ltcG9ydCAiRE9NU1ZHTnVtYmVySW50ZXJuYWwuaCIKICNpbXBvcnQgIkRP
TVNWR051bWJlckxpc3RJbnRlcm5hbC5oIgogI2ltcG9ydCAiRE9NU1ZHUGFpbnRJbnRlcm5hbC5o
IgpJbmRleDogYmluZGluZ3Mvb2JqYy9ET01TVkcuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBiaW5kaW5ncy9v
YmpjL0RPTVNWRy5oCShyZXZpc2lvbiAyNjk0OCkKKysrIGJpbmRpbmdzL29iamMvRE9NU1ZHLmgJ
KHdvcmtpbmcgY29weSkKQEAgLTg0LDYgKzg0LDcgQEAKICNpbXBvcnQgPFdlYkNvcmUvRE9NU1ZH
RmlsdGVyRWxlbWVudC5oPgogI2ltcG9ydCA8V2ViQ29yZS9ET01TVkdGaWx0ZXJQcmltaXRpdmVT
dGFuZGFyZEF0dHJpYnV0ZXMuaD4KICNpbXBvcnQgPFdlYkNvcmUvRE9NU1ZHRml0VG9WaWV3Qm94
Lmg+CisjaW1wb3J0IDxXZWJDb3JlL0RPTVNWR0ZvbnRFbGVtZW50Lmg+CiAjaW1wb3J0IDxXZWJD
b3JlL0RPTVNWR0ZvbnRGYWNlRWxlbWVudC5oPgogI2ltcG9ydCA8V2ViQ29yZS9ET01TVkdGb250
RmFjZUZvcm1hdEVsZW1lbnQuaD4KICNpbXBvcnQgPFdlYkNvcmUvRE9NU1ZHRm9udEZhY2VOYW1l
RWxlbWVudC5oPgpAQCAtOTEsNiArOTIsNyBAQAogI2ltcG9ydCA8V2ViQ29yZS9ET01TVkdGb250
RmFjZVVyaUVsZW1lbnQuaD4KICNpbXBvcnQgPFdlYkNvcmUvRE9NU1ZHRm9yZWlnbk9iamVjdEVs
ZW1lbnQuaD4KICNpbXBvcnQgPFdlYkNvcmUvRE9NU1ZHR0VsZW1lbnQuaD4KKyNpbXBvcnQgPFdl
YkNvcmUvRE9NU1ZHR2x5cGhFbGVtZW50Lmg+CiAjaW1wb3J0IDxXZWJDb3JlL0RPTVNWR0dyYWRp
ZW50RWxlbWVudC5oPgogI2ltcG9ydCA8V2ViQ29yZS9ET01TVkdJbWFnZUVsZW1lbnQuaD4KICNp
bXBvcnQgPFdlYkNvcmUvRE9NU1ZHTGFuZ1NwYWNlLmg+CkBAIC0xMDMsNiArMTA1LDcgQEAKICNp
bXBvcnQgPFdlYkNvcmUvRE9NU1ZHTWFza0VsZW1lbnQuaD4KICNpbXBvcnQgPFdlYkNvcmUvRE9N
U1ZHTWF0cml4Lmg+CiAjaW1wb3J0IDxXZWJDb3JlL0RPTVNWR01ldGFkYXRhRWxlbWVudC5oPgor
I2ltcG9ydCA8V2ViQ29yZS9ET01TVkdNaXNzaW5nR2x5cGhFbGVtZW50Lmg+CiAjaW1wb3J0IDxX
ZWJDb3JlL0RPTVNWR051bWJlci5oPgogI2ltcG9ydCA8V2ViQ29yZS9ET01TVkdOdW1iZXJMaXN0
Lmg+CiAjaW1wb3J0IDxXZWJDb3JlL0RPTVNWR1BhaW50Lmg+CkluZGV4OiBrc3ZnMi9zdmcvU1ZH
Rm9udEVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGtzdmcyL3N2Zy9TVkdGb250RWxlbWVudC5j
cHAJKHJldmlzaW9uIDApCisrKyBrc3ZnMi9zdmcvU1ZHRm9udEVsZW1lbnQuY3BwCShyZXZpc2lv
biAwKQpAQCAtMCwwICsxLDU4IEBACisvKgorQ29weXJpZ2h0IChDKSAyMDA3IEVyaWMgU2VpZGVs
IDxlcmljQHdlYmtpdC5vcmc+CisKK1RoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3Ug
Y2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKK21vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2Yg
dGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCitMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0
aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKK3ZlcnNpb24gMiBvZiB0aGUgTGlj
ZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKworVGhpcyBsaWJy
YXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiti
dXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50
eSBvZgorTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF
LiAgU2VlIHRoZSBHTlUKK0xpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBk
ZXRhaWxzLgorCitZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGli
cmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCithbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2Vl
IHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bwordGhlIEZyZWUgU29mdHdh
cmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKK0Jv
c3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgorKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2lm
IEVOQUJMRShTVkcpCisjaW5jbHVkZSAiU1ZHRm9udEVsZW1lbnQuaCIKKyNpbmNsdWRlICJGb250
RGF0YS5oIgorCisjaW5jbHVkZSAiU1ZHTmFtZXMuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgewor
Cit1c2luZyBuYW1lc3BhY2UgU1ZHTmFtZXM7CisKK1NWR0ZvbnRFbGVtZW50OjpTVkdGb250RWxl
bWVudChjb25zdCBRdWFsaWZpZWROYW1lJiB0YWdOYW1lLCBEb2N1bWVudCogZG9jKQorICAgIDog
U1ZHU3R5bGVkRWxlbWVudCh0YWdOYW1lLCBkb2MpCit7Cit9CisKK1NWR0ZvbnRFbGVtZW50Ojp+
U1ZHRm9udEVsZW1lbnQoKQoreworfQorCit2b2lkIFNWR0ZvbnRFbGVtZW50OjpwYXJzZU1hcHBl
ZEF0dHJpYnV0ZShNYXBwZWRBdHRyaWJ1dGUqIGF0dHIpCit7ICAgIAorICAgIFNWR1N0eWxlZEVs
ZW1lbnQ6OnBhcnNlTWFwcGVkQXR0cmlidXRlKGF0dHIpOworfQorCit2b2lkIFNWR0ZvbnRFbGVt
ZW50OjpyZWJ1aWxkRm9udERhdGEoKQoreworICAgIAorfQorCit2b2lkIFNWR0ZvbnRFbGVtZW50
OjpjaGlsZHJlbkNoYW5nZWQoKQoreworICAgIHJlYnVpbGRGb250RGF0YSgpOworfQorCit9CisK
KyNlbmRpZiAvLyBFTkFCTEUoU1ZHKQorCkluZGV4OiBrc3ZnMi9zdmcvU1ZHRm9udEVsZW1lbnQu
aAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBrc3ZnMi9zdmcvU1ZHRm9udEVsZW1lbnQuaAkocmV2aXNpb24gMCkK
KysrIGtzdmcyL3N2Zy9TVkdGb250RWxlbWVudC5oCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDUx
IEBACisvKgorIENvcHlyaWdodCAoQykgMjAwNyBFcmljIFNlaWRlbCA8ZXJpY0B3ZWJraXQub3Jn
PgorICAgICAgCisgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0
cmlidXRlIGl0IGFuZC9vcgorIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBM
aWJyYXJ5IEdlbmVyYWwgUHVibGljCisgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUg
U29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBv
ciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorIAorIFRoaXMgbGlicmFyeSBp
cyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorIGJ1dCBX
SVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9m
CisgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAg
U2VlIHRoZSBHTlUKKyBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0
YWlscy4KKyAKKyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGli
cmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNl
ZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyB0aGUgRnJlZSBTb2Z0
d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAor
IEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgorICovCisKKyNpZm5kZWYgU1ZHRm9udEVsZW1l
bnRfaAorI2RlZmluZSBTVkdGb250RWxlbWVudF9oCisjaWYgRU5BQkxFKFNWRykKKworI2luY2x1
ZGUgIlNWR1N0eWxlZEVsZW1lbnQuaCIKKyNpbmNsdWRlICJTVkdFeHRlcm5hbFJlc291cmNlc1Jl
cXVpcmVkLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKyAgICBjbGFzcyBGb250RGF0YTsKKyAg
ICBjbGFzcyBTVkdGb250RWxlbWVudCA6IHB1YmxpYyBTVkdTdHlsZWRFbGVtZW50CisgICAgICAg
ICAgICAgICAgICAgICAgICAgLCBwdWJsaWMgU1ZHRXh0ZXJuYWxSZXNvdXJjZXNSZXF1aXJlZCB7
CisgICAgcHVibGljOgorICAgICAgICBTVkdGb250RWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1l
JiwgRG9jdW1lbnQqKTsKKyAgICAgICAgdmlydHVhbCB+U1ZHRm9udEVsZW1lbnQoKTsKKworICAg
ICAgICB2aXJ0dWFsIHZvaWQgcGFyc2VNYXBwZWRBdHRyaWJ1dGUoTWFwcGVkQXR0cmlidXRlKik7
CisgICAgICAgICAgICAgICAgCisgICAgICAgIHZpcnR1YWwgdm9pZCBjaGlsZHJlbkNoYW5nZWQo
KTsKKyAgICAgICAgCisgICAgICAgIHZvaWQgcmVidWlsZEZvbnREYXRhKCk7CisgICAgICAgIAor
ICAgICAgICB2aXJ0dWFsIGNvbnN0IFNWR0VsZW1lbnQqIGNvbnRleHRFbGVtZW50KCkgY29uc3Qg
eyByZXR1cm4gdGhpczsgfQorICAgIHByaXZhdGU6CisgICAgICAgIE93blB0cjxGb250RGF0YT4g
bV9mb250RGF0YTsKKyAgICB9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAv
LyBFTkFCTEUoU1ZHKQorI2VuZGlmCisKKy8vIHZpbTp0cz00Om5vZXQKSW5kZXg6IGtzdmcyL3N2
Zy9TVkdGb250RWxlbWVudC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0ga3N2ZzIvc3ZnL1NWR0ZvbnRFbGVt
ZW50LmlkbAkocmV2aXNpb24gMCkKKysrIGtzdmcyL3N2Zy9TVkdGb250RWxlbWVudC5pZGwJKHJl
dmlzaW9uIDApCkBAIC0wLDAgKzEsMzEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDcgRXJp
YyBTZWlkZWwgPGVyaWNAd2Via2l0Lm9yZz4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIENPTVBVVEVSLCBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisg
KiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgQ09NUFVURVIsIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAor
ICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworbW9kdWxlIHN2ZyB7CisKKyAgICBp
bnRlcmZhY2UgW0NvbmRpdGlvbmFsPVNWR10gU1ZHRm9udEVsZW1lbnQgOiBTVkdFbGVtZW50IHsK
KyAgICB9OworCit9CkluZGV4OiBrc3ZnMi9zdmcvU1ZHRm9udEZhY2VFbGVtZW50LmNwcAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBrc3ZnMi9zdmcvU1ZHRm9udEZhY2VFbGVtZW50LmNwcAkocmV2aXNpb24gMjY5
NDgpCisrKyBrc3ZnMi9zdmcvU1ZHRm9udEZhY2VFbGVtZW50LmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMjcsNyArMjcsMTAgQEAgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCiAjaW5jbHVkZSAi
Q1NTU3R5bGVTZWxlY3Rvci5oIgogI2luY2x1ZGUgIkNTU1N0eWxlU2hlZXQuaCIKICNpbmNsdWRl
ICJDU1NWYWx1ZUxpc3QuaCIKKyNpbmNsdWRlICJGb250RGF0YS5oIgorI2luY2x1ZGUgIkZvbnRQ
bGF0Zm9ybURhdGEuaCIKICNpbmNsdWRlICJTVkdOYW1lcy5oIgorI2luY2x1ZGUgIlNWR0ZvbnRF
bGVtZW50LmgiCiAjaW5jbHVkZSAiU1ZHRm9udEZhY2VTcmNFbGVtZW50LmgiCiAjaW5jbHVkZSAi
U1ZHRGVmaW5pdGlvblNyY0VsZW1lbnQuaCIKIApAQCAtMTI1LDYgKzEyOCw0NSBAQCB2b2lkIFNW
R0ZvbnRGYWNlRWxlbWVudDo6cGFyc2VNYXBwZWRBdHRyCiAgICAgU1ZHRWxlbWVudDo6cGFyc2VN
YXBwZWRBdHRyaWJ1dGUoYXR0cik7CiB9CiAKK3Vuc2lnbmVkIFNWR0ZvbnRGYWNlRWxlbWVudDo6
dW5pdHNQZXJFbSgpIGNvbnN0Cit7CisgICAgaWYgKGhhc0F0dHJpYnV0ZSh1bml0c19wZXJfZW1B
dHRyKSkKKyAgICAgICAgcmV0dXJuIGdldEF0dHJpYnV0ZSh1bml0c19wZXJfZW1BdHRyKS50b0lu
dCgpOworICAgIAorICAgIHJldHVybiAxMDAwOworfQorCitGb250RGF0YSogU1ZHRm9udEZhY2VF
bGVtZW50OjpjcmVhdGVGb250RGF0YSgpIGNvbnN0Cit7CisgICAgLy8gV2Ugb25seSBleHBlY3Qg
dG8gaGF2ZSB0aGlzIG1ldGhvZCBjYWxsZWQgYnkgYSBwYXJlbnQgZm9udCBlbGVtZW50CisgICAg
QVNTRVJUKHBhcmVudE5vZGUoKSk7CisgICAgQVNTRVJUKHBhcmVudE5vZGUoKS0+aGFzVGFnTmFt
ZShmb250VGFnKSk7CisgICAgU1ZHRm9udEVsZW1lbnQqIGZvbnRFbGVtZW50ID0gc3RhdGljX2Nh
c3Q8U1ZHRm9udEVsZW1lbnQqPihwYXJlbnROb2RlKCkpOworICAgIAorICAgIHN0YXRpYyBGb250
UGxhdGZvcm1EYXRhIGhhY2s7CisgICAgT3duUHRyPEZvbnREYXRhPiBmb250RGF0YShuZXcgRm9u
dERhdGEoaGFjaywgdHJ1ZSwgZmFsc2UpKTsKKyAgICAKKyAgICBpZiAoaGFzQXR0cmlidXRlKGFz
Y2VudEF0dHIpKQorICAgICAgICBmb250RGF0YS0+bV9hc2NlbnQgPSBnZXRBdHRyaWJ1dGUoYXNj
ZW50QXR0cikudG9JbnQoKTsKKyAgICBlbHNlIGlmIChmb250RWxlbWVudC0+aGFzQXR0cmlidXRl
KHZlcnRfb3JpZ2luX3lBdHRyKSkKKyAgICAgICAgZm9udERhdGEtPm1fYXNjZW50ID0gdW5pdHNQ
ZXJFbSgpIC0gZm9udEVsZW1lbnQtPmdldEF0dHJpYnV0ZSh2ZXJ0X29yaWdpbl95QXR0cikudG9J
bnQoKTsKKyAgICBlbHNlCisgICAgICAgIC8vIGludmFsaWQgZm9udCwgc2hvdWxkIGxvZworICAg
ICAgICBmb250RGF0YS0+bV9hc2NlbnQgPSAwOworICAgICAgICAKKyAgICBpZiAoaGFzQXR0cmli
dXRlKGRlc2NlbnRBdHRyKSkKKyAgICAgICAgZm9udERhdGEtPm1fZGVzY2VudCA9IGdldEF0dHJp
YnV0ZShkZXNjZW50QXR0cikudG9JbnQoKTsKKyAgICBlbHNlIGlmIChmb250RWxlbWVudC0+aGFz
QXR0cmlidXRlKHZlcnRfb3JpZ2luX3lBdHRyKSkKKyAgICAgICAgZm9udERhdGEtPm1fZGVzY2Vu
dCA9IGZvbnRFbGVtZW50LT5nZXRBdHRyaWJ1dGUodmVydF9vcmlnaW5feUF0dHIpLnRvSW50KCk7
CisgICAgZWxzZQorICAgICAgICBmb250RGF0YS0+bV9kZXNjZW50ID0gZm9udERhdGEtPm1fYXNj
ZW50OworICAgIAorICAgIGZvbnREYXRhLT5tX3hIZWlnaHQgPSBmb250RWxlbWVudC0+Z2V0QXR0
cmlidXRlKHhfaGVpZ2h0QXR0cikudG9GbG9hdCgpOworICAgIGZvbnREYXRhLT5tX3VuaXRzUGVy
RW0gPSB1bml0c1BlckVtKCk7CisgICAgCisgICAgcmV0dXJuIGZvbnREYXRhLnJlbGVhc2UoKTsK
K30KKwogdm9pZCBTVkdGb250RmFjZUVsZW1lbnQ6OnJlYnVpbGRGb250RmFjZSgpCiB7CiAgICAg
Ly8gd2UgY3VycmVudGx5IGlnbm9yZSBhbGwgYnV0IHRoZSBmaXJzdCBzcmMgZWxlbWVudCwgYWx0
ZXJuYXRpdmVseSB3ZSBjb3VsZCBjb25jYXQgdGhlbQpAQCAtMTQ0LDcgKzE4Niw3IEBAIHZvaWQg
U1ZHRm9udEZhY2VFbGVtZW50OjpyZWJ1aWxkRm9udEZhY2UKICAgICAgICAgbV9zdHlsZURlY2xh
cmF0aW9uLT5zZXRQcm9wZXJ0eShDU1NfUFJPUF9ERUZJTklUSU9OX1NSQywgZGVmaW5pdGlvblNy
Yy0+Z2V0QXR0cmlidXRlKFhMaW5rTmFtZXM6OmhyZWZBdHRyKSwgZmFsc2UpOwogI2VuZGlmCiAg
ICAgCi0gICAgaWYgKHBhcmVudE5vZGUoKSAmJiBwYXJlbnROb2RlKCktPmxvY2FsTmFtZSgpID09
ICJmb250IikgLy8gU1ZHTmFtZXM6OmZvbnRUYWcgaXNuJ3QgZ2VuZXJhdGVkIHlldAorICAgIGlm
IChwYXJlbnROb2RlKCkgJiYgcGFyZW50Tm9kZSgpLT5oYXNUYWdOYW1lKGZvbnRUYWcpKQogICAg
ICAgICByZXR1cm47IC8vIHRoaXMgZm9udC1mYWNlIGFwcGxpZXMgdG8gaXRzIHBhcmVudCBmb250
LCB3aGljaCB3ZSBpZ25vcmUuCiAgICAgZWxzZSBpZiAoc3JjRWxlbWVudCkgewogICAgICAgICAv
LyBUaGlzIGlzIHRoZSBvbmx5IGNsYXNzIChvdGhlciB0aGFuIENTU1BhcnNlcikgdG8gY3JlYXRl
IENTU1ZhbHVlIG9iamVjdHMgYW5kIHNldCB0aGVtIG9uIHRoZSBDU1NTdHlsZURlY2xhcmF0aW9u
IG1hbnVhbGx5CkluZGV4OiBrc3ZnMi9zdmcvU1ZHRm9udEZhY2VFbGVtZW50LmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0ga3N2ZzIvc3ZnL1NWR0ZvbnRGYWNlRWxlbWVudC5oCShyZXZpc2lvbiAyNjk0OCkKKysr
IGtzdmcyL3N2Zy9TVkdGb250RmFjZUVsZW1lbnQuaAkod29ya2luZyBjb3B5KQpAQCAtMjYsNiAr
MjYsNyBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIGNsYXNzIENTU0ZvbnRGYWNlUnVsZTsK
ICAgICBjbGFzcyBDU1NNdXRhYmxlU3R5bGVEZWNsYXJhdGlvbjsKKyAgICBjbGFzcyBGb250RGF0
YTsKICAgICBjbGFzcyBTVkdGb250RmFjZUVsZW1lbnQgOiBwdWJsaWMgU1ZHRWxlbWVudCB7CiAg
ICAgcHVibGljOgogICAgICAgICBTVkdGb250RmFjZUVsZW1lbnQoY29uc3QgUXVhbGlmaWVkTmFt
ZSYsIERvY3VtZW50Kik7CkBAIC0zNSw2ICszNiw5IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAg
ICAgICAgCiAgICAgICAgIHZpcnR1YWwgdm9pZCBjaGlsZHJlbkNoYW5nZWQoKTsKICAgICAgICAg
CisgICAgICAgIEZvbnREYXRhKiBjcmVhdGVGb250RGF0YSgpIGNvbnN0OworICAgICAgICB1bnNp
Z25lZCB1bml0c1BlckVtKCkgY29uc3Q7CisgICAgICAgIAogICAgICAgICB2b2lkIHJlYnVpbGRG
b250RmFjZSgpOwogICAgIAogICAgIHByaXZhdGU6ICAgICAgICAKSW5kZXg6IGtzdmcyL3N2Zy9T
VkdHbHlwaEVsZW1lbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGtzdmcyL3N2Zy9TVkdHbHlwaEVsZW1l
bnQuY3BwCShyZXZpc2lvbiAwKQorKysga3N2ZzIvc3ZnL1NWR0dseXBoRWxlbWVudC5jcHAJKHJl
dmlzaW9uIDApCkBAIC0wLDAgKzEsNDcgQEAKKy8qCitDb3B5cmlnaHQgKEMpIDIwMDcgRXJpYyBT
ZWlkZWwgPGVyaWNAd2Via2l0Lm9yZz4KKworVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7
IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJt
cyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKK0xpY2Vuc2UgYXMgcHVibGlzaGVk
IGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgordmVyc2lvbiAyIG9mIHRo
ZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorCitUaGlz
IGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1
bCwKK2J1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdh
cnJhbnR5IG9mCitNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBV
UlBPU0UuICBTZWUgdGhlIEdOVQorTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBt
b3JlIGRldGFpbHMuCisKK1lvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdO
VSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKK2Fsb25nIHdpdGggdGhpcyBsaWJyYXJ5
OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCit0aGUgRnJlZSBT
b2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29y
LAorQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisqLworCisjaW5jbHVkZSAiY29uZmlnLmgi
CisjaWYgRU5BQkxFKFNWRykKKyNpbmNsdWRlICJTVkdHbHlwaEVsZW1lbnQuaCIKKworI2luY2x1
ZGUgIlNWR05hbWVzLmgiIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3VzaW5nIG5hbWVzcGFj
ZSBTVkdOYW1lczsKKworU1ZHR2x5cGhFbGVtZW50OjpTVkdHbHlwaEVsZW1lbnQoY29uc3QgUXVh
bGlmaWVkTmFtZSYgdGFnTmFtZSwgRG9jdW1lbnQqIGRvYykKKyAgICA6IFNWR1N0eWxlZEVsZW1l
bnQodGFnTmFtZSwgZG9jKQoreworfQorCit2b2lkIFNWR0dseXBoRWxlbWVudDo6cGFyc2VNYXBw
ZWRBdHRyaWJ1dGUoTWFwcGVkQXR0cmlidXRlKiBhdHRyKQoreworICAgIFNWR1N0eWxlZEVsZW1l
bnQ6OnBhcnNlTWFwcGVkQXR0cmlidXRlKGF0dHIpOworfQorCit2b2lkIFNWR0dseXBoRWxlbWVu
dDo6Y2hpbGRyZW5DaGFuZ2VkKCkKK3sKK30KKworfQorCisjZW5kaWYgLy8gRU5BQkxFKFNWRykK
KwpJbmRleDoga3N2ZzIvc3ZnL1NWR0dseXBoRWxlbWVudC5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGtzdmcy
L3N2Zy9TVkdHbHlwaEVsZW1lbnQuaAkocmV2aXNpb24gMCkKKysrIGtzdmcyL3N2Zy9TVkdHbHlw
aEVsZW1lbnQuaAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw0MSBAQAorLyoKKyBDb3B5cmlnaHQg
KEMpIDIwMDcgRXJpYyBTZWlkZWwgPGVyaWNAd2Via2l0Lm9yZz4KKyAgICAgIAorIFRoaXMgbGli
cmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyBt
b2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1Ymxp
YworIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247
IGVpdGhlcgorIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBh
bnkgbGF0ZXIgdmVyc2lvbi4KKyAKKyBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhl
IGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7
IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIE1FUkNIQU5UQUJJTElUWSBv
ciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgTGlicmFy
eSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgCisgWW91IHNob3Vs
ZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMg
TGljZW5zZQorIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5M
SUIuICBJZiBub3QsIHdyaXRlIHRvCisgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5j
LiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKKyBCb3N0b24sIE1BIDAyMTEwLTEz
MDEsIFVTQS4KKyAqLworCisjaWZuZGVmIFNWR0dseXBoRWxlbWVudF9oCisjZGVmaW5lIFNWR0ds
eXBoRWxlbWVudF9oCisjaWYgRU5BQkxFKFNWRykKKworI2luY2x1ZGUgIlNWR1N0eWxlZEVsZW1l
bnQuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworICAgIGNsYXNzIFNWR0dseXBoRWxlbWVudCA6
IHB1YmxpYyBTVkdTdHlsZWRFbGVtZW50IHsKKyAgICBwdWJsaWM6CisgICAgICAgIFNWR0dseXBo
RWxlbWVudChjb25zdCBRdWFsaWZpZWROYW1lJiwgRG9jdW1lbnQqKTsKKworICAgICAgICB2aXJ0
dWFsIHZvaWQgcGFyc2VNYXBwZWRBdHRyaWJ1dGUoTWFwcGVkQXR0cmlidXRlKik7CisgICAgICAg
IAorICAgICAgICB2aXJ0dWFsIHZvaWQgY2hpbGRyZW5DaGFuZ2VkKCk7CisgICAgfTsKKworfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKFNWRykKKyNlbmRpZgorCisv
LyB2aW06dHM9NDpub2V0CkluZGV4OiBrc3ZnMi9zdmcvU1ZHR2x5cGhFbGVtZW50LmlkbAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBrc3ZnMi9zdmcvU1ZHR2x5cGhFbGVtZW50LmlkbAkocmV2aXNpb24gMCkKKysr
IGtzdmcyL3N2Zy9TVkdHbHlwaEVsZW1lbnQuaWRsCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDMx
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA3IEVyaWMgU2VpZGVsIDxlcmljQHdlYmtpdC5v
cmc+CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBD
T01QVVRFUiwgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIENP
TVBVVEVSLCBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuIAorICovCisKK21vZHVsZSBzdmcgeworCisgICAgaW50ZXJmYWNlIFtDb25kaXRpb25hbD1T
VkddIFNWR0dseXBoRWxlbWVudCA6IFNWR0VsZW1lbnQgeworICAgIH07CisKK30KSW5kZXg6IGtz
dmcyL3N2Zy9TVkdNaXNzaW5nR2x5cGhFbGVtZW50LmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBrc3ZnMi9z
dmcvU1ZHTWlzc2luZ0dseXBoRWxlbWVudC5jcHAJKHJldmlzaW9uIDApCisrKyBrc3ZnMi9zdmcv
U1ZHTWlzc2luZ0dseXBoRWxlbWVudC5jcHAJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNDcgQEAK
Ky8qCitDb3B5cmlnaHQgKEMpIDIwMDcgRXJpYyBTZWlkZWwgPGVyaWNAd2Via2l0Lm9yZz4KKwor
VGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFu
ZC9vcgorbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJh
bCBQdWJsaWMKK0xpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5k
YXRpb247IGVpdGhlcgordmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRp
b24pIGFueSBsYXRlciB2ZXJzaW9uLgorCitUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4g
dGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKK2J1dCBXSVRIT1VUIEFOWSBXQVJSQU5U
WTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCitNRVJDSEFOVEFCSUxJVFkg
b3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorTGlicmFy
eSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisKK1lvdSBzaG91bGQg
aGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExp
Y2Vuc2UKK2Fsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIu
ICBJZiBub3QsIHdyaXRlIHRvCit0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1
MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBV
U0EuCisqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaWYgRU5BQkxFKFNWRykKKyNpbmNsdWRl
ICJTVkdNaXNzaW5nR2x5cGhFbGVtZW50LmgiCisKKyNpbmNsdWRlICJTVkdOYW1lcy5oIgorCitu
YW1lc3BhY2UgV2ViQ29yZSB7CisKK3VzaW5nIG5hbWVzcGFjZSBTVkdOYW1lczsKKworU1ZHTWlz
c2luZ0dseXBoRWxlbWVudDo6U1ZHTWlzc2luZ0dseXBoRWxlbWVudChjb25zdCBRdWFsaWZpZWRO
YW1lJiB0YWdOYW1lLCBEb2N1bWVudCogZG9jKQorICAgIDogU1ZHU3R5bGVkRWxlbWVudCh0YWdO
YW1lLCBkb2MpCit7Cit9CisKK3ZvaWQgU1ZHTWlzc2luZ0dseXBoRWxlbWVudDo6cGFyc2VNYXBw
ZWRBdHRyaWJ1dGUoTWFwcGVkQXR0cmlidXRlKiBhdHRyKQoreworICAgIFNWR1N0eWxlZEVsZW1l
bnQ6OnBhcnNlTWFwcGVkQXR0cmlidXRlKGF0dHIpOworfQorCit2b2lkIFNWR01pc3NpbmdHbHlw
aEVsZW1lbnQ6OmNoaWxkcmVuQ2hhbmdlZCgpCit7Cit9CisKK30KKworI2VuZGlmIC8vIEVOQUJM
RShTVkcpCisKSW5kZXg6IGtzdmcyL3N2Zy9TVkdNaXNzaW5nR2x5cGhFbGVtZW50LmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0ga3N2ZzIvc3ZnL1NWR01pc3NpbmdHbHlwaEVsZW1lbnQuaAkocmV2aXNpb24gMCkK
KysrIGtzdmcyL3N2Zy9TVkdNaXNzaW5nR2x5cGhFbGVtZW50LmgJKHJldmlzaW9uIDApCkBAIC0w
LDAgKzEsNDEgQEAKKy8qCisgQ29weXJpZ2h0IChDKSAyMDA3IEVyaWMgU2VpZGVsIDxlcmljQHdl
YmtpdC5vcmc+CisgICAgICAKKyBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNh
biByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0
aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0
aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyB2ZXJzaW9uIDIgb2YgdGhlIExp
Y2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgCisgVGhpcyBs
aWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWws
CisgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2Fy
cmFudHkgb2YKKyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBV
UlBPU0UuICBTZWUgdGhlIEdOVQorIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3Ig
bW9yZSBkZXRhaWxzLgorIAorIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhl
IEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyBhbG9uZyB3aXRoIHRoaXMgbGli
cmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bworIHRoZSBG
cmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGgg
Rmxvb3IsCisgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisgKi8KKworI2lmbmRlZiBTVkdN
aXNzaW5nR2x5cGhFbGVtZW50X2gKKyNkZWZpbmUgU1ZHTWlzc2luZ0dseXBoRWxlbWVudF9oCisj
aWYgRU5BQkxFKFNWRykKKworI2luY2x1ZGUgIlNWR1N0eWxlZEVsZW1lbnQuaCIKKworbmFtZXNw
YWNlIFdlYkNvcmUgeworICAgIGNsYXNzIFNWR01pc3NpbmdHbHlwaEVsZW1lbnQgOiBwdWJsaWMg
U1ZHU3R5bGVkRWxlbWVudCB7CisgICAgcHVibGljOgorICAgICAgICBTVkdNaXNzaW5nR2x5cGhF
bGVtZW50KGNvbnN0IFF1YWxpZmllZE5hbWUmLCBEb2N1bWVudCopOworCisgICAgICAgIHZpcnR1
YWwgdm9pZCBwYXJzZU1hcHBlZEF0dHJpYnV0ZShNYXBwZWRBdHRyaWJ1dGUqKTsKKyAgICAgICAg
CisgICAgICAgIHZpcnR1YWwgdm9pZCBjaGlsZHJlbkNoYW5nZWQoKTsKKyAgICB9OworCit9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoU1ZHKQorI2VuZGlmCisKKy8v
IHZpbTp0cz00Om5vZXQKSW5kZXg6IGtzdmcyL3N2Zy9TVkdNaXNzaW5nR2x5cGhFbGVtZW50Lmlk
bAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBrc3ZnMi9zdmcvU1ZHTWlzc2luZ0dseXBoRWxlbWVudC5pZGwJKHJl
dmlzaW9uIDApCisrKyBrc3ZnMi9zdmcvU1ZHTWlzc2luZ0dseXBoRWxlbWVudC5pZGwJKHJldmlz
aW9uIDApCkBAIC0wLDAgKzEsMzEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDcgRXJpYyBT
ZWlkZWwgPGVyaWNAd2Via2l0Lm9yZz4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwor
ICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIENPTVBVVEVSLCBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgQ09NUFVURVIsIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICog
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworbW9kdWxlIHN2ZyB7CisKKyAgICBpbnRl
cmZhY2UgW0NvbmRpdGlvbmFsPVNWR10gU1ZHTWlzc2luZ0dseXBoRWxlbWVudCA6IFNWR0VsZW1l
bnQgeworICAgIH07CisKK30KSW5kZXg6IGtzdmcyL3N2Zy9zdmd0YWdzLmluCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIGtzdmcyL3N2Zy9zdmd0YWdzLmluCShyZXZpc2lvbiAyNjk0OCkKKysrIGtzdmcyL3N2Zy9z
dmd0YWdzLmluCSh3b3JraW5nIGNvcHkpCkBAIC01MSw5ICs1MSw3IEBAIGZlVGlsZQogZmVUdXJi
dWxlbmNlCiBmaWx0ZXIKICNlbmRpZgotI2lmIDAKIGZvbnQKLSNlbmRpZgogZm9udF9mYWNlCiBm
b250X2ZhY2VfZm9ybWF0CiBmb250X2ZhY2VfbmFtZQpAQCAtNjEsOCArNTksOCBAQCBmb250X2Zh
Y2Vfc3JjCiBmb250X2ZhY2VfdXJpCiBmb3JlaWduT2JqZWN0CiBnCi0jaWYgMAogZ2x5cGgKKyNp
ZiAwCiBnbHlwaFJlZgogaGtlcm4KICNlbmRpZgpAQCAtNzIsOSArNzAsNyBAQCBsaW5lYXJHcmFk
aWVudAogbWFya2VyCiBtYXNrCiBtZXRhZGF0YQotI2lmIDAKIG1pc3NpbmdfZ2x5cGgKLSNlbmRp
ZgogbXBhdGgKIHBhdGgKIHBhdHRlcm4K
</data>

          </attachment>
      

    </bug>

</bugzilla>