<?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>140342</bug_id>
          
          <creation_ts>2015-01-11 13:38:28 -0800</creation_ts>
          <short_desc>Drop legacy SVGCSSStyleSelector.cpp</short_desc>
          <delta_ts>2015-01-11 16:18:01 -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>CSS</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</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>
          <dependson>137910</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Dumez">cdumez</reporter>
          <assigned_to name="Chris Dumez">cdumez</assigned_to>
          <cc>benjamin</cc>
    
    <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>kling</cc>
    
    <cc>koivisto</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1060480</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2015-01-11 13:38:28 -0800</bug_when>
    <thetext>Drop legacy SVGCSSStyleSelector.cpp</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1060486</commentid>
    <comment_count>1</comment_count>
      <attachid>244424</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2015-01-11 14:40:27 -0800</bug_when>
    <thetext>Created attachment 244424
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1060492</commentid>
    <comment_count>2</comment_count>
      <attachid>244424</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2015-01-11 15:06:09 -0800</bug_when>
    <thetext>Comment on attachment 244424
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=244424&amp;action=review

&gt; Source/WebCore/ChangeLog:11
&gt; +        Drop legacy SVGCSSStyleSelector.cpp by porting the remaining SVG CSS
&gt; +        properties to the generated StyleBuilder. This patch also removes
&gt; +        support for the &quot;LegacyStyleBuilder&quot; option in CSSPropertyNames.in
&gt; +        as all properties have now been ported over.

Yay! Nice work.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1060497</commentid>
    <comment_count>3</comment_count>
      <attachid>244424</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-01-11 16:17:56 -0800</bug_when>
    <thetext>Comment on attachment 244424
Patch

Clearing flags on attachment: 244424

Committed r178251: &lt;http://trac.webkit.org/changeset/178251&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1060498</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-01-11 16:18:01 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>244424</attachid>
            <date>2015-01-11 14:40:27 -0800</date>
            <delta_ts>2015-01-11 16:17:56 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-140342-20150111144032.patch</filename>
            <type>text/plain</type>
            <size>32893</size>
            <attacher name="Chris Dumez">cdumez</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc4MjQ2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzIzODAxYzYxMTJhOWZj
MDc0ZGY4ODRjODRmYWNmOGRmMDI2NDQwOC4uMmRiMzg4NWVjYzI5YTJjYWVhMzgxODQzMjNhZGM4
YmUwZmZmODdhNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDQ3IEBACiAyMDE1LTAxLTExICBDaHJp
cyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKKyAgICAgICAgRHJvcCBsZWdhY3kgU1ZHQ1NT
U3R5bGVTZWxlY3Rvci5jcHAKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTE0MDM0MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIERyb3AgbGVnYWN5IFNWR0NTU1N0eWxlU2VsZWN0b3IuY3BwIGJ5IHBvcnRpbmcg
dGhlIHJlbWFpbmluZyBTVkcgQ1NTCisgICAgICAgIHByb3BlcnRpZXMgdG8gdGhlIGdlbmVyYXRl
ZCBTdHlsZUJ1aWxkZXIuIFRoaXMgcGF0Y2ggYWxzbyByZW1vdmVzCisgICAgICAgIHN1cHBvcnQg
Zm9yIHRoZSAiTGVnYWN5U3R5bGVCdWlsZGVyIiBvcHRpb24gaW4gQ1NTUHJvcGVydHlOYW1lcy5p
bgorICAgICAgICBhcyBhbGwgcHJvcGVydGllcyBoYXZlIG5vdyBiZWVuIHBvcnRlZCBvdmVyLgor
CisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICogV2ViQ29yZS52Y3hwcm9qL1dl
YkNvcmUudmN4cHJvajoKKyAgICAgICAgKiBXZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9q
LmZpbHRlcnM6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgor
ICAgICAgICBEcm9wIFNWR0NTU1N0eWxlU2VsZWN0b3IuY3BwIGZpbGUgYXMgaXQgd2FzIHJlbW92
ZWQuCisKKyAgICAgICAgKiBjc3MvQ1NTUHJvcGVydHlOYW1lcy5pbjoKKyAgICAgICAgKiBjc3Mv
U1ZHQ1NTU3R5bGVTZWxlY3Rvci5jcHA6IFJlbW92ZWQuCisgICAgICAgICogY3NzL1N0eWxlQnVp
bGRlci5oOgorICAgICAgICBTdHlsZUJ1aWxkZXI6OmFwcGx5UHJvcGVydHkoKSBubyBsb25nZXIg
bmVlZCB0byByZXR1cm4gYSBib29sZWFuIGFzCisgICAgICAgIGl0IG5vdyBoYW5kbGVzIEFMTCBD
U1MgcHJvcGVydGllcy4KKworICAgICAgICAqIGNzcy9TdHlsZUJ1aWxkZXJDdXN0b20uaDoKKyAg
ICAgICAgKFdlYkNvcmU6OlN0eWxlQnVpbGRlckN1c3RvbTo6YXBwbHlWYWx1ZUJhc2VsaW5lU2hp
ZnQpOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVCdWlsZGVyQ3VzdG9tOjphcHBseUluaXRpYWxG
aWxsKToKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlQnVpbGRlckN1c3RvbTo6YXBwbHlJbmhlcml0
RmlsbCk6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZUJ1aWxkZXJDdXN0b206OmFwcGx5VmFsdWVG
aWxsKToKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlQnVpbGRlckN1c3RvbTo6YXBwbHlJbml0aWFs
U3Ryb2tlKToKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlQnVpbGRlckN1c3RvbTo6YXBwbHlJbmhl
cml0U3Ryb2tlKToKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlQnVpbGRlckN1c3RvbTo6YXBwbHlW
YWx1ZVN0cm9rZSk6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZUJ1aWxkZXJDdXN0b206OmFwcGx5
SW5pdGlhbFdlYmtpdFN2Z1NoYWRvdyk6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZUJ1aWxkZXJD
dXN0b206OmFwcGx5SW5oZXJpdFdlYmtpdFN2Z1NoYWRvdyk6CisgICAgICAgIChXZWJDb3JlOjpT
dHlsZUJ1aWxkZXJDdXN0b206OmFwcGx5VmFsdWVXZWJraXRTdmdTaGFkb3cpOgorICAgICAgICBN
b3ZlICdmaWxsJywgJ3N0cm9rZScgYW5kICctd2Via2l0LXN2Zy1zaGFkb3cnIHRvIHRoZSBuZXcK
KyAgICAgICAgU3R5bGVCdWlsZGVyLgorCisgICAgICAgICogY3NzL1N0eWxlUmVzb2x2ZXIuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVSZXNvbHZlcjo6YXBwbHlQcm9wZXJ0eSk6CisgICAg
ICAgICogY3NzL21ha2Vwcm9wLnBsOgorCisyMDE1LTAxLTExICBDaHJpcyBEdW1leiAgPGNkdW1l
ekBhcHBsZS5jb20+CisKICAgICAgICAgTW92ZSBtb3JlIFNWRyBDU1MgcHJvcGVydGllcyB0byB0
aGUgbmV3IFN0eWxlQnVpbGRlcgogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTQwMzQwCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlz
dHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggNjI5NTAxNTNkZTI3
YjBhZDQ3OWRmNzNmNDllM2ExMmMyNzFiMjMyNy4uZjk3YzhlZDM4ZDc3YmMyM2QwODdjOTgzZTVl
NTMyNGM2Y2E1MTJkMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQK
KysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTEyNjIsNyArMTI2Miw2IEBA
IHNldChXZWJDb3JlX1NPVVJDRVMKICAgICBjc3MvUnVsZVNldC5jcHAKICAgICBjc3MvU1ZHQ1NT
Q29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcAogICAgIGNzcy9TVkdDU1NQYXJzZXIuY3BwCi0g
ICAgY3NzL1NWR0NTU1N0eWxlU2VsZWN0b3IuY3BwCiAgICAgY3NzL1NlbGVjdG9yQ2hlY2tlci5j
cHAKICAgICBjc3MvU2VsZWN0b3JGaWx0ZXIuY3BwCiAgICAgY3NzL1NvdXJjZVNpemVMaXN0LmNw
cApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4
cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2oKaW5k
ZXggYTAxYTY0ZDdlNzg3MzljNGE3ZTRmNzZmNTFjMTI3ZTY3OTIxOThlMi4uNjgzOTg1N2ZlNmRi
ZDY0YTdiOGFmOGU1OWQ5NjUyZDkxNmIyYTU2NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qCkBAIC05ODc5LDcgKzk4NzksNiBAQAogICAgIDxD
bENvbXBpbGUgSW5jbHVkZT0iLi5cY3NzXFN0eWxlU2hlZXRMaXN0LmNwcCIgLz4KICAgICA8Q2xD
b21waWxlIEluY2x1ZGU9Ii4uXGNzc1xTVkdDU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3Bw
IiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cY3NzXFNWR0NTU1BhcnNlci5jcHAiIC8+
Ci0gICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxjc3NcU1ZHQ1NTU3R5bGVTZWxlY3Rvci5jcHAi
IC8+CiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxjc3NcVHJhbnNmb3JtRnVuY3Rpb25zLmNw
cCIgLz4KICAgICA8Q2xDb21waWxlIEluY2x1ZGU9Ii4uXGNzc1xWaWV3cG9ydFN0eWxlUmVzb2x2
ZXIuY3BwIiAvPgogICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cY3NzXFdlYktpdENTU0ZpbHRl
clZhbHVlLmNwcCIgLz4KQEAgLTIxMzM2LDQgKzIxMzM1LDQgQEAKICAgPEltcG9ydEdyb3VwIExh
YmVsPSJFeHRlbnNpb25UYXJnZXRzIj4KICAgICA8SW1wb3J0IFByb2plY3Q9IiQoVkNUYXJnZXRz
UGF0aClcQnVpbGRDdXN0b21pemF0aW9uc1xtYXNtLnRhcmdldHMiIC8+CiAgIDwvSW1wb3J0R3Jv
dXA+Ci08L1Byb2plY3Q+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorPC9Qcm9qZWN0Pgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJv
ai5maWx0ZXJzIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3hwcm9qL1dlYkNvcmUudmN4cHJv
ai5maWx0ZXJzCmluZGV4IDczZjg1NmJkMGY2MjUwYTE2N2Y5OGQzNjRmZmMzMDI4YzBjMWM0NDYu
LjgwMWZiMzZlYTNiMDdlMmRmNWUzZjc5ZjVjYzg5MjRmMTYwMTQzZTcgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUudmN4cHJvai9XZWJDb3JlLnZjeHByb2ouZmlsdGVycworKysg
Yi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjeHByb2ovV2ViQ29yZS52Y3hwcm9qLmZpbHRlcnMK
QEAgLTIzMDQsOSArMjMwNCw2IEBACiAgICAgPENsQ29tcGlsZSBJbmNsdWRlPSIuLlxjc3NcU1ZH
Q1NTUGFyc2VyLmNwcCI+CiAgICAgICA8RmlsdGVyPmNzczwvRmlsdGVyPgogICAgIDwvQ2xDb21w
aWxlPgotICAgIDxDbENvbXBpbGUgSW5jbHVkZT0iLi5cY3NzXFNWR0NTU1N0eWxlU2VsZWN0b3Iu
Y3BwIj4KLSAgICAgIDxGaWx0ZXI+Y3NzPC9GaWx0ZXI+Ci0gICAgPC9DbENvbXBpbGU+CiAgICAg
PENsQ29tcGlsZSBJbmNsdWRlPSIuLlxjc3NcVHJhbnNmb3JtRnVuY3Rpb25zLmNwcCI+CiAgICAg
ICA8RmlsdGVyPmNzczwvRmlsdGVyPgogICAgIDwvQ2xDb21waWxlPgpAQCAtMTUzMjYsNCArMTUz
MjMsNCBAQAogICAgICAgPEZpbHRlcj5wbGF0Zm9ybVx3aW48L0ZpbHRlcj4KICAgICA8L01BU00+
CiAgIDwvSXRlbUdyb3VwPgotPC9Qcm9qZWN0PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
KzwvUHJvamVjdD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagppbmRleCA3MmQwODMyYWYzMGIzMWI1YzBkNzVkZTI0ZDkxYzI5NjJjMzMzODk2
Li5hMTk0ZTY2MDJjZmY2NmYxMGJmZDFjYTA5MmIwZjk3OTM2YzMwYWVjIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC00NTk2LDcg
KzQ1OTYsNiBAQAogCQlCMjIyN0FGNjBEMDBCRjIyMDA3MUI3ODIgLyogU1ZHWm9vbUFuZFBhbi5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQjIyMjc5NjAw
RDAwQkYyMTAwNzFCNzgyIC8qIFNWR1pvb21BbmRQYW4uaCAqLzsgfTsKIAkJQjIyMjdCMDUwRDAw
QkZGMTAwNzFCNzgyIC8qIFNWR0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMjIyN0IwMDBEMDBCRkYx
MDA3MUI3ODIgLyogU1ZHQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcCAqLzsgfTsKIAkJ
QjIyMjdCMDYwRDAwQkZGMTAwNzFCNzgyIC8qIFNWR0NTU1BhcnNlci5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMjIyN0IwMTBEMDBCRkYxMDA3MUI3
ODIgLyogU1ZHQ1NTUGFyc2VyLmNwcCAqLzsgfTsKLQkJQjIyMjdCMDgwRDAwQkZGMTAwNzFCNzgy
IC8qIFNWR0NTU1N0eWxlU2VsZWN0b3IuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQjIyMjdCMDMwRDAwQkZGMTAwNzFCNzgyIC8qIFNWR0NTU1N0eWxl
U2VsZWN0b3IuY3BwICovOyB9OwogCQlCMjIyRjY5ODBBQjc3MTk1MDAyMkVGQUQgLyogSlNTVkdB
bmdsZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBC
MjIyRjY5NjBBQjc3MTk1MDAyMkVGQUQgLyogSlNTVkdBbmdsZS5jcHAgKi87IH07CiAJCUIyMjJG
Njk5MEFCNzcxOTUwMDIyRUZBRCAvKiBKU1NWR0FuZ2xlLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCMjIyRjY5NzBBQjc3MTk1MDAyMkVGQUQgLyogSlNT
VkdBbmdsZS5oICovOyB9OwogCQlCMjIyRjY5QzBBQjc3MUI4MDAyMkVGQUQgLyogSlNTVkdFbGVt
ZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEIy
MjJGNjlBMEFCNzcxQjgwMDIyRUZBRCAvKiBKU1NWR0VsZW1lbnQuY3BwICovOyB9OwpAQCAtMTE5
ODQsNyArMTE5ODMsNiBAQAogCQlCMjIyNzk2MTBEMDBCRjIxMDA3MUI3ODIgLyogU1ZHWm9vbUFu
ZFBhbi5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7
IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IFNWR1pvb21BbmRQYW4uaWRsOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCMjIyN0IwMDBEMDBCRkYxMDA3MUI3ODIgLyogU1ZH
Q1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBTVkdDU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24uY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQlCMjIyN0IwMTBEMDBCRkYxMDA3MUI3ODIgLyogU1ZHQ1NT
UGFyc2VyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAz
MDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTVkdDU1NQ
YXJzZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlCMjIyN0IwMzBEMDBCRkYx
MDA3MUI3ODIgLyogU1ZHQ1NTU3R5bGVTZWxlY3Rvci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gU1ZHQ1NTU3R5bGVTZWxlY3Rvci5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCUIyMjI3QjA0MEQwMEJGRjEwMDcxQjc4MiAvKiBTVkdDU1NWYWx1ZUtl
eXdvcmRzLmluICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMw
OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBTVkdDU1NWYWx1ZUtleXdvcmRzLmlu
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCMjIyRjY5NjBBQjc3MTk1MDAyMkVGQUQg
LyogSlNTVkdBbmdsZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
SlNTVkdBbmdsZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUIyMjJGNjk3MEFC
NzcxOTUwMDIyRUZBRCAvKiBKU1NWR0FuZ2xlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gMzA7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBKU1NWR0FuZ2xlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yMjI2
OSw3ICsyMjI2Nyw2IEBACiAJCQkJOTNDQTRDQTIwOURGOTNGQTAwREY4Njc3IC8qIHN2Zy5jc3Mg
Ki8sCiAJCQkJQjIyMjdCMDAwRDAwQkZGMTAwNzFCNzgyIC8qIFNWR0NTU0NvbXB1dGVkU3R5bGVE
ZWNsYXJhdGlvbi5jcHAgKi8sCiAJCQkJQjIyMjdCMDEwRDAwQkZGMTAwNzFCNzgyIC8qIFNWR0NT
U1BhcnNlci5jcHAgKi8sCi0JCQkJQjIyMjdCMDMwRDAwQkZGMTAwNzFCNzgyIC8qIFNWR0NTU1N0
eWxlU2VsZWN0b3IuY3BwICovLAogCQkJCUIyMjI3QjA0MEQwMEJGRjEwMDcxQjc4MiAvKiBTVkdD
U1NWYWx1ZUtleXdvcmRzLmluICovLAogCQkJCUZCNDg0RjRBMTcxRjgyMUUwMDA0MDc1NSAvKiBU
cmFuc2Zvcm1GdW5jdGlvbnMuY3BwICovLAogCQkJCUZCNDg0RjRCMTcxRjgyMUUwMDA0MDc1NSAv
KiBUcmFuc2Zvcm1GdW5jdGlvbnMuaCAqLywKQEAgLTI5NjU1LDcgKzI5NjUyLDYgQEAKIAkJCQlC
MjIyNzlBNDBEMDBCRjIyMDA3MUI3ODIgLyogU1ZHQ29tcG9uZW50VHJhbnNmZXJGdW5jdGlvbkVs
ZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQjIyMjdCMDUwRDAwQkZGMTAwNzFCNzgyIC8q
IFNWR0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlC
MjIyN0IwNjBEMDBCRkYxMDA3MUI3ODIgLyogU1ZHQ1NTUGFyc2VyLmNwcCBpbiBTb3VyY2VzICov
LAotCQkJCUIyMjI3QjA4MEQwMEJGRjEwMDcxQjc4MiAvKiBTVkdDU1NTdHlsZVNlbGVjdG9yLmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCUIyMjI3OUE3MEQwMEJGMjIwMDcxQjc4MiAvKiBTVkdDdXJz
b3JFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUIyMjI3OUFEMEQwMEJGMjIwMDcxQjc4
MiAvKiBTVkdEZWZzRWxlbWVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCMjIyNzlCMDBEMDBC
RjIyMDA3MUI3ODIgLyogU1ZHRGVzY0VsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHlOYW1lcy5pbiBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NQcm9wZXJ0eU5hbWVzLmluCmluZGV4IDc4Zjg3YzI0NTk5N2QyNDMzMmE5NGU0
NzkzZTAzN2RlNDcxYzdmYmQuLmU5MDUwM2NjMDI4NjAxZGM3Y2FhYzQzMDIyYTkzZWRiZjdmZmQ3
YTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eU5hbWVzLmluCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eU5hbWVzLmluCkBAIC04LDExICs4LDYg
QEAKIC8vIGh0dHA6Ly9tc2RuLm1pY3Jvc29mdC5jb20vd29ya3Nob3AvYXV0aG9yL2Nzcy9yZWZl
cmVuY2UvYXR0cmlidXRlcy5hc3AKIC8vCiAvLyBTdHlsZUJ1aWxkZXIgb3B0aW9uczoKLS8vICog
TGVnYWN5U3R5bGVCdWlsZGVyOgotLy8gSW5kaWNhdGVzIHRvIG1ha2Vwcm9wLnBsIHRoYXQgdGhp
cyBwcm9wZXJ0eSBzaG91bGQgbm90IGJlIGdlbmVyYXRlZAotLy8gaW4gdGhlIG5ldyBTdHlsZUJ1
aWxkZXIuY3BwLiBUaGlzIG9wdGlvbiBpcyB0ZW1wb3JhcnkgdW50aWwgYWxsCi0vLyBDU1MgcHJv
cGVydGllcyBhcmUgZ2VuZXJhdGVkLgotLy8KIC8vICogVHlwZU5hbWU6CiAvLyBPdmVycmlkZXMg
dGhlIHR5cGUgb2YgdGhlIHNldHRlciBtZXRob2QgYXJndW1lbnQgb24gUmVuZGVyU3R5bGUuIEJ5
CiAvLyBkZWZhdWx0LCAnRScgKyBQcm9wZXJ0eUlkIGlzIHVzZWQgKGUuZy4gRUJvcmRlckNvbGxh
cHNlKS4gVGhpcyBvcHRpb24KQEAgLTE2Miw3ICsxNTcsNyBAQCBiYWNrZ3JvdW5kLXJlcGVhdCBb
U2hvcnRoYW5kXQogYmFja2dyb3VuZC1yZXBlYXQteCBbRmlsbExheWVyUHJvcGVydHksIFR5cGVO
YW1lPUVGaWxsUmVwZWF0LCBOYW1lRm9yTWV0aG9kcz1SZXBlYXRYXQogYmFja2dyb3VuZC1yZXBl
YXQteSBbRmlsbExheWVyUHJvcGVydHksIFR5cGVOYW1lPUVGaWxsUmVwZWF0LCBOYW1lRm9yTWV0
aG9kcz1SZXBlYXRZXQogYmFja2dyb3VuZC1zaXplIFtGaWxsTGF5ZXJQcm9wZXJ0eSwgVHlwZU5h
bWU9RUZpbGxTaXplLCBOYW1lRm9yTWV0aG9kcz1TaXplXQotYmFzZWxpbmUtc2hpZnQgW0xlZ2Fj
eVN0eWxlQnVpbGRlciwgU1ZHXQorYmFzZWxpbmUtc2hpZnQgW1NWRywgQ3VzdG9tPVZhbHVlXQog
Ym9yZGVyIFtTaG9ydGhhbmRdCiBib3JkZXItYm90dG9tIFtTaG9ydGhhbmRdCiBib3JkZXItYm90
dG9tLWNvbG9yIFtWaXNpdGVkTGlua0NvbG9yU3VwcG9ydCwgSW5pdGlhbD1pbnZhbGlkQ29sb3Jd
CkBAIC0yMjksNyArMjI0LDcgQEAgY3kgW0luaXRpYWw9aW5pdGlhbFplcm9MZW5ndGgsIENvbnZl
cnRlcj1MZW5ndGhdCiBkb21pbmFudC1iYXNlbGluZSBbU1ZHXQogZW1wdHktY2VsbHMgW0luaGVy
aXRlZCwgVHlwZU5hbWU9RUVtcHR5Q2VsbF0KIGVuYWJsZS1iYWNrZ3JvdW5kIFtTa2lwQnVpbGRl
cl0KLWZpbGwgW0luaGVyaXRlZCwgTGVnYWN5U3R5bGVCdWlsZGVyLCBTVkddCitmaWxsIFtJbmhl
cml0ZWQsIFNWRywgQ3VzdG9tPUFsbF0KIGZpbGwtb3BhY2l0eSBbSW5oZXJpdGVkLCBTVkcsIENv
bnZlcnRlcj1PcGFjaXR5XQogZmlsbC1ydWxlIFtJbmhlcml0ZWQsIFNWRywgVHlwZU5hbWU9V2lu
ZFJ1bGVdCiBmaWx0ZXIgW1NWRywgQ29udmVydGVyPVNWR1VSSVJlZmVyZW5jZSwgTmFtZUZvck1l
dGhvZHM9RmlsdGVyUmVzb3VyY2VdCkBAIC0yNjAsNyArMjU1LDcgQEAgbWFyZ2luLWJvdHRvbSBb
SW5pdGlhbD1pbml0aWFsTWFyZ2luLCBDb252ZXJ0ZXI9TGVuZ3RoT3JBdXRvXQogbWFyZ2luLWxl
ZnQgW0luaXRpYWw9aW5pdGlhbE1hcmdpbiwgQ29udmVydGVyPUxlbmd0aE9yQXV0b10KIG1hcmdp
bi1yaWdodCBbSW5pdGlhbD1pbml0aWFsTWFyZ2luLCBDb252ZXJ0ZXI9TGVuZ3RoT3JBdXRvXQog
bWFyZ2luLXRvcCBbSW5pdGlhbD1pbml0aWFsTWFyZ2luLCBDb252ZXJ0ZXI9TGVuZ3RoT3JBdXRv
XQotbWFya2VyIFtJbmhlcml0ZWQsIExlZ2FjeVN0eWxlQnVpbGRlciwgU1ZHXQorbWFya2VyIFtJ
bmhlcml0ZWQsIFNob3J0aGFuZF0KIG1hcmtlci1lbmQgW0luaGVyaXRlZCwgU1ZHLCBDb252ZXJ0
ZXI9U1ZHVVJJUmVmZXJlbmNlLCBOYW1lRm9yTWV0aG9kcz1NYXJrZXJFbmRSZXNvdXJjZV0KIG1h
cmtlci1taWQgW0luaGVyaXRlZCwgU1ZHLCBDb252ZXJ0ZXI9U1ZHVVJJUmVmZXJlbmNlLCBOYW1l
Rm9yTWV0aG9kcz1NYXJrZXJNaWRSZXNvdXJjZV0KIG1hcmtlci1zdGFydCBbSW5oZXJpdGVkLCBT
VkcsIENvbnZlcnRlcj1TVkdVUklSZWZlcmVuY2UsIE5hbWVGb3JNZXRob2RzPU1hcmtlclN0YXJ0
UmVzb3VyY2VdCkBAIC0zMDgsNyArMzAzLDcgQEAgc2l6ZSBbQ3VzdG9tPUFsbF0KIHNyYyBbU2tp
cEJ1aWxkZXJdCiBzdG9wLWNvbG9yIFtTVkcsIENvbnZlcnRlcj1TVkdDb2xvcl0KIHN0b3Atb3Bh
Y2l0eSBbU1ZHLCBDb252ZXJ0ZXI9T3BhY2l0eV0KLXN0cm9rZSBbSW5oZXJpdGVkLCBMZWdhY3lT
dHlsZUJ1aWxkZXIsIFNWR10KK3N0cm9rZSBbSW5oZXJpdGVkLCBTVkcsIEN1c3RvbT1BbGxdCiBz
dHJva2UtZGFzaGFycmF5IFtJbmhlcml0ZWQsIFNWRywgQ29udmVydGVyPVN0cm9rZURhc2hBcnJh
eSwgTmFtZUZvck1ldGhvZHM9U3Ryb2tlRGFzaEFycmF5XQogc3Ryb2tlLWRhc2hvZmZzZXQgW0lu
aGVyaXRlZCwgTmFtZUZvck1ldGhvZHM9U3Ryb2tlRGFzaE9mZnNldCwgSW5pdGlhbD1pbml0aWFs
WmVyb0xlbmd0aCwgQ29udmVydGVyPUxlbmd0aF0KIHN0cm9rZS1saW5lY2FwIFtJbmhlcml0ZWQs
IFNWRywgTmFtZUZvck1ldGhvZHM9Q2FwU3R5bGUsIFR5cGVOYW1lPUxpbmVDYXBdCkBAIC01NzUs
NyArNTcwLDcgQEAgb3JkZXIgW1R5cGVOYW1lPWludF0KIC13ZWJraXQtc2Nyb2xsLXNuYXAtZGVz
dGluYXRpb24gW0NvbnZlcnRlcj1TbmFwQ29vcmRpbmF0ZVBhaXJdCiAtd2Via2l0LXNjcm9sbC1z
bmFwLWNvb3JkaW5hdGUgW0NvbnZlcnRlcj1TY3JvbGxTbmFwQ29vcmRpbmF0ZXMsIE5hbWVGb3JN
ZXRob2RzPVNjcm9sbFNuYXBDb29yZGluYXRlc10KICNlbmRpZgotLXdlYmtpdC1zdmctc2hhZG93
IFtMZWdhY3lTdHlsZUJ1aWxkZXIsIFNWR10KKy13ZWJraXQtc3ZnLXNoYWRvdyBbU1ZHLCBDdXN0
b209QWxsXQogLXdlYmtpdC10ZXh0LWNvbWJpbmUgW0luaGVyaXRlZCwgVHlwZU5hbWU9VGV4dENv
bWJpbmVdCiAtZXB1Yi10ZXh0LWNvbWJpbmUgPSAtd2Via2l0LXRleHQtY29tYmluZQogI2lmIGRl
ZmluZWQoRU5BQkxFX0NTUzNfVEVYVCkgJiYgRU5BQkxFX0NTUzNfVEVYVApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvY3NzL1NWR0NTU1N0eWxlU2VsZWN0b3IuY3BwIGIvU291cmNlL1dlYkNv
cmUvY3NzL1NWR0NTU1N0eWxlU2VsZWN0b3IuY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAyYjA0ZDFkNGJjODQxNWY1YTE4YjFhMTliMTU4MzA1NTRmZWMyYmVkLi4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9T
VkdDU1NTdHlsZVNlbGVjdG9yLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDE4OCArMCwwIEBACi0v
KgotICAgIENvcHlyaWdodCAoQykgMjAwNSBBcHBsZSBJbmMuCi0gICAgQ29weXJpZ2h0IChDKSAy
MDA0LCAyMDA1LCAyMDA3IE5pa29sYXMgWmltbWVybWFubiA8emltbWVybWFubkBrZGUub3JnPgot
ICAgICAgICAgICAgICAgICAgMjAwNCwgMjAwNSwgMjAwOCBSb2IgQnVpcyA8YnVpc0BrZGUub3Jn
PgotICAgIENvcHlyaWdodCAoQykgMjAwNyBBbGV4ZXkgUHJvc2t1cnlha292IDxhcEB3ZWJraXQu
b3JnPgotCi0gICAgQmFzZWQgb24ga2h0bWwgY3NzIGNvZGUgYnk6Ci0gICAgQ29weXJpZ2h0KEMp
IDE5OTktMjAwMyBMYXJzIEtub2xsKGtub2xsQGtkZS5vcmcpCi0gICAgICAgICAgICAgKEMpIDIw
MDMgQXBwbGUgSW5jLgotICAgICAgICAgICAgIChDKSAyMDA0IEFsbGFuIFNhbmRmZWxkIEplbnNl
bihrZGVAY2FyZXdvbGYuY29tKQotICAgICAgICAgICAgIChDKSAyMDA0IEdlcm1haW4gR2FyYW5k
KGdlcm1haW5AZWJvb2tzZnJhbmNlLm9yZykKLQotICAgIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNv
ZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSAgICBtb2RpZnkgaXQgdW5k
ZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwotICAgIExpY2Vu
c2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgot
ICAgIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0
ZXIgdmVyc2lvbi4KLQotICAgIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9w
ZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotICAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsg
d2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gICAgTUVSQ0hBTlRBQklMSVRZ
IG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKLSAgICBM
aWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLQotICAgIFlv
dSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwg
UHVibGljIExpY2Vuc2UKLSAgICBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxl
IENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bwotICAgIHRoZSBGcmVlIFNvZnR3YXJlIEZv
dW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCi0gICAgQm9z
dG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCi0qLwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0jaW5j
bHVkZSAiU3R5bGVSZXNvbHZlci5oIgotCi0jaW5jbHVkZSAiQ1NTUHJpbWl0aXZlVmFsdWVNYXBw
aW5ncy5oIgotI2luY2x1ZGUgIkNTU1Byb3BlcnR5TmFtZXMuaCIKLSNpbmNsdWRlICJDU1NTaGFk
b3dWYWx1ZS5oIgotI2luY2x1ZGUgIkNTU1ZhbHVlTGlzdC5oIgotI2luY2x1ZGUgIkRvY3VtZW50
LmgiCi0jaW5jbHVkZSAiU1ZHQ29sb3IuaCIKLSNpbmNsdWRlICJTVkdFbGVtZW50LmgiCi0jaW5j
bHVkZSAiU1ZHTmFtZXMuaCIKLSNpbmNsdWRlICJTVkdQYWludC5oIgotI2luY2x1ZGUgIlNWR1Jl
bmRlclN0eWxlLmgiCi0jaW5jbHVkZSAiU1ZHUmVuZGVyU3R5bGVEZWZzLmgiCi0jaW5jbHVkZSAi
U1ZHVVJJUmVmZXJlbmNlLmgiCi0jaW5jbHVkZSAiU3R5bGVCdWlsZGVyQ29udmVydGVyLmgiCi0j
aW5jbHVkZSA8c3RkbGliLmg+Ci0jaW5jbHVkZSA8d3RmL01hdGhFeHRyYXMuaD4KLQotI2RlZmlu
ZSBIQU5ETEVfSU5IRVJJVChwcm9wLCBQcm9wKSBcCi1pZiAoaXNJbmhlcml0KSBcCi17IFwKLSAg
ICBzdmdTdHlsZS5zZXQjI1Byb3Aoc3RhdGUucGFyZW50U3R5bGUoKS0+c3ZnU3R5bGUoKS5wcm9w
KCkpOyBcCi0gICAgcmV0dXJuOyBcCi19Ci0KLSNkZWZpbmUgSEFORExFX0lOSEVSSVRfQU5EX0lO
SVRJQUwocHJvcCwgUHJvcCkgXAotSEFORExFX0lOSEVSSVQocHJvcCwgUHJvcCkgXAotaWYgKGlz
SW5pdGlhbCkgeyBcCi0gICAgc3ZnU3R5bGUuc2V0IyNQcm9wKFNWR1JlbmRlclN0eWxlOjppbml0
aWFsIyNQcm9wKCkpOyBcCi0gICAgcmV0dXJuOyBcCi19Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsK
LQotLy8gRklYTUU6IFRoaXMgbWV0aG9kIHNob3VsZCBnbyBhd2F5IG9uY2UgYWxsIFNWRyBDU1Mg
cHJvcGVydGllcyBoYXZlIGJlZW4KLS8vIHBvcnRlZCB0byB0aGUgbmV3IGdlbmVyYXRlZCBTdHls
ZUJ1aWxkZXIuCi12b2lkIFN0eWxlUmVzb2x2ZXI6OmFwcGx5U1ZHUHJvcGVydHkoQ1NTUHJvcGVy
dHlJRCBpZCwgQ1NTVmFsdWUqIHZhbHVlKQotewotICAgIEFTU0VSVCh2YWx1ZSk7Ci0gICAgQ1NT
UHJpbWl0aXZlVmFsdWUqIHByaW1pdGl2ZVZhbHVlID0gbnVsbHB0cjsKLSAgICBpZiAoaXM8Q1NT
UHJpbWl0aXZlVmFsdWU+KCp2YWx1ZSkpCi0gICAgICAgIHByaW1pdGl2ZVZhbHVlID0gZG93bmNh
c3Q8Q1NTUHJpbWl0aXZlVmFsdWU+KHZhbHVlKTsKLQotICAgIGNvbnN0IFN0YXRlJiBzdGF0ZSA9
IG1fc3RhdGU7Ci0gICAgU1ZHUmVuZGVyU3R5bGUmIHN2Z1N0eWxlID0gc3RhdGUuc3R5bGUoKS0+
YWNjZXNzU1ZHU3R5bGUoKTsKLQotICAgIGJvb2wgaXNJbmhlcml0ID0gc3RhdGUucGFyZW50U3R5
bGUoKSAmJiB2YWx1ZS0+aXNJbmhlcml0ZWRWYWx1ZSgpOwotICAgIGJvb2wgaXNJbml0aWFsID0g
dmFsdWUtPmlzSW5pdGlhbFZhbHVlKCkgfHwgKCFzdGF0ZS5wYXJlbnRTdHlsZSgpICYmIHZhbHVl
LT5pc0luaGVyaXRlZFZhbHVlKCkpOwotCi0gICAgLy8gV2hhdCBmb2xsb3dzIGlzIGEgbGlzdCB0
aGF0IG1hcHMgdGhlIENTUyBwcm9wZXJ0aWVzIGludG8gdGhlaXIKLSAgICAvLyBjb3JyZXNwb25k
aW5nIGZyb250LWVuZCBSZW5kZXJTdHlsZSB2YWx1ZXMuIFNob3J0aGFuZHMoZS5nLiBib3JkZXIs
Ci0gICAgLy8gYmFja2dyb3VuZCkgb2NjdXIgaW4gdGhpcyBsaXN0IGFzIHdlbGwgYW5kIGFyZSBv
bmx5IGhpdCB3aGVuIG1hcHBpbmcKLSAgICAvLyAiaW5oZXJpdCIgb3IgImluaXRpYWwiIGludG8g
ZnJvbnQtZW5kIHZhbHVlcy4KLSAgICBzd2l0Y2ggKGlkKQotICAgIHsKLSAgICAgICAgLy8gaWRl
bnQgb25seSBwcm9wZXJ0aWVzCi0gICAgICAgIGNhc2UgQ1NTUHJvcGVydHlCYXNlbGluZVNoaWZ0
OgotICAgICAgICB7Ci0gICAgICAgICAgICBIQU5ETEVfSU5IRVJJVF9BTkRfSU5JVElBTChiYXNl
bGluZVNoaWZ0LCBCYXNlbGluZVNoaWZ0KTsKLSAgICAgICAgICAgIGlmICghcHJpbWl0aXZlVmFs
dWUpCi0gICAgICAgICAgICAgICAgYnJlYWs7Ci0KLSAgICAgICAgICAgIGlmIChwcmltaXRpdmVW
YWx1ZS0+Z2V0VmFsdWVJRCgpKSB7Ci0gICAgICAgICAgICAgICAgc3dpdGNoIChwcmltaXRpdmVW
YWx1ZS0+Z2V0VmFsdWVJRCgpKSB7Ci0gICAgICAgICAgICAgICAgY2FzZSBDU1NWYWx1ZUJhc2Vs
aW5lOgotICAgICAgICAgICAgICAgICAgICBzdmdTdHlsZS5zZXRCYXNlbGluZVNoaWZ0KEJTX0JB
U0VMSU5FKTsKLSAgICAgICAgICAgICAgICAgICAgYnJlYWs7Ci0gICAgICAgICAgICAgICAgY2Fz
ZSBDU1NWYWx1ZVN1YjoKLSAgICAgICAgICAgICAgICAgICAgc3ZnU3R5bGUuc2V0QmFzZWxpbmVT
aGlmdChCU19TVUIpOwotICAgICAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAgICAgICAg
ICBjYXNlIENTU1ZhbHVlU3VwZXI6Ci0gICAgICAgICAgICAgICAgICAgIHN2Z1N0eWxlLnNldEJh
c2VsaW5lU2hpZnQoQlNfU1VQRVIpOwotICAgICAgICAgICAgICAgICAgICBicmVhazsKLSAgICAg
ICAgICAgICAgICBkZWZhdWx0OgotICAgICAgICAgICAgICAgICAgICBicmVhazsKLSAgICAgICAg
ICAgICAgICB9Ci0gICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgICAgIHN2Z1N0eWxl
LnNldEJhc2VsaW5lU2hpZnQoQlNfTEVOR1RIKTsKLSAgICAgICAgICAgICAgICBzdmdTdHlsZS5z
ZXRCYXNlbGluZVNoaWZ0VmFsdWUoU1ZHTGVuZ3RoOjpmcm9tQ1NTUHJpbWl0aXZlVmFsdWUoKnBy
aW1pdGl2ZVZhbHVlKSk7Ci0gICAgICAgICAgICB9Ci0KLSAgICAgICAgICAgIGJyZWFrOwotICAg
ICAgICB9Ci0gICAgICAgIC8vIGVuZCBvZiBpZGVudCBvbmx5IHByb3BlcnRpZXMKLSAgICAgICAg
Y2FzZSBDU1NQcm9wZXJ0eUZpbGw6Ci0gICAgICAgIHsKLSAgICAgICAgICAgIGlmIChpc0luaGVy
aXQpIHsKLSAgICAgICAgICAgICAgICBjb25zdCBTVkdSZW5kZXJTdHlsZSYgc3ZnUGFyZW50U3R5
bGUgPSBzdGF0ZS5wYXJlbnRTdHlsZSgpLT5zdmdTdHlsZSgpOwotICAgICAgICAgICAgICAgIHN2
Z1N0eWxlLnNldEZpbGxQYWludChzdmdQYXJlbnRTdHlsZS5maWxsUGFpbnRUeXBlKCksIHN2Z1Bh
cmVudFN0eWxlLmZpbGxQYWludENvbG9yKCksIHN2Z1BhcmVudFN0eWxlLmZpbGxQYWludFVyaSgp
LCBhcHBseVByb3BlcnR5VG9SZWd1bGFyU3R5bGUoKSwgYXBwbHlQcm9wZXJ0eVRvVmlzaXRlZExp
bmtTdHlsZSgpKTsKLSAgICAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAgICAgICB9Ci0gICAg
ICAgICAgICBpZiAoaXNJbml0aWFsKSB7Ci0gICAgICAgICAgICAgICAgc3ZnU3R5bGUuc2V0Rmls
bFBhaW50KFNWR1JlbmRlclN0eWxlOjppbml0aWFsRmlsbFBhaW50VHlwZSgpLCBTVkdSZW5kZXJT
dHlsZTo6aW5pdGlhbEZpbGxQYWludENvbG9yKCksIFNWR1JlbmRlclN0eWxlOjppbml0aWFsRmls
bFBhaW50VXJpKCksIGFwcGx5UHJvcGVydHlUb1JlZ3VsYXJTdHlsZSgpLCBhcHBseVByb3BlcnR5
VG9WaXNpdGVkTGlua1N0eWxlKCkpOwotICAgICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAg
ICAgIH0KLSAgICAgICAgICAgIGlmIChpczxTVkdQYWludD4oKnZhbHVlKSkgewotICAgICAgICAg
ICAgICAgIFNWR1BhaW50JiBzdmdQYWludCA9IGRvd25jYXN0PFNWR1BhaW50PigqdmFsdWUpOwot
ICAgICAgICAgICAgICAgIHN2Z1N0eWxlLnNldEZpbGxQYWludChzdmdQYWludC5wYWludFR5cGUo
KSwgU3R5bGVCdWlsZGVyQ29udmVydGVyOjpjb252ZXJ0U1ZHQ29sb3IoKnRoaXMsIHN2Z1BhaW50
KSwgc3ZnUGFpbnQudXJpKCksIGFwcGx5UHJvcGVydHlUb1JlZ3VsYXJTdHlsZSgpLCBhcHBseVBy
b3BlcnR5VG9WaXNpdGVkTGlua1N0eWxlKCkpOwotICAgICAgICAgICAgfQotICAgICAgICAgICAg
YnJlYWs7Ci0gICAgICAgIH0KLSAgICAgICAgY2FzZSBDU1NQcm9wZXJ0eVN0cm9rZToKLSAgICAg
ICAgewotICAgICAgICAgICAgaWYgKGlzSW5oZXJpdCkgewotICAgICAgICAgICAgICAgIGNvbnN0
IFNWR1JlbmRlclN0eWxlJiBzdmdQYXJlbnRTdHlsZSA9IHN0YXRlLnBhcmVudFN0eWxlKCktPnN2
Z1N0eWxlKCk7Ci0gICAgICAgICAgICAgICAgc3ZnU3R5bGUuc2V0U3Ryb2tlUGFpbnQoc3ZnUGFy
ZW50U3R5bGUuc3Ryb2tlUGFpbnRUeXBlKCksIHN2Z1BhcmVudFN0eWxlLnN0cm9rZVBhaW50Q29s
b3IoKSwgc3ZnUGFyZW50U3R5bGUuc3Ryb2tlUGFpbnRVcmkoKSwgYXBwbHlQcm9wZXJ0eVRvUmVn
dWxhclN0eWxlKCksIGFwcGx5UHJvcGVydHlUb1Zpc2l0ZWRMaW5rU3R5bGUoKSk7Ci0gICAgICAg
ICAgICAgICAgcmV0dXJuOwotICAgICAgICAgICAgfQotICAgICAgICAgICAgaWYgKGlzSW5pdGlh
bCkgewotICAgICAgICAgICAgICAgIHN2Z1N0eWxlLnNldFN0cm9rZVBhaW50KFNWR1JlbmRlclN0
eWxlOjppbml0aWFsU3Ryb2tlUGFpbnRUeXBlKCksIFNWR1JlbmRlclN0eWxlOjppbml0aWFsU3Ry
b2tlUGFpbnRDb2xvcigpLCBTVkdSZW5kZXJTdHlsZTo6aW5pdGlhbFN0cm9rZVBhaW50VXJpKCks
IGFwcGx5UHJvcGVydHlUb1JlZ3VsYXJTdHlsZSgpLCBhcHBseVByb3BlcnR5VG9WaXNpdGVkTGlu
a1N0eWxlKCkpOwotICAgICAgICAgICAgICAgIHJldHVybjsKLSAgICAgICAgICAgIH0KLSAgICAg
ICAgICAgIGlmIChpczxTVkdQYWludD4oKnZhbHVlKSkgewotICAgICAgICAgICAgICAgIFNWR1Bh
aW50JiBzdmdQYWludCA9IGRvd25jYXN0PFNWR1BhaW50PigqdmFsdWUpOwotICAgICAgICAgICAg
ICAgIHN2Z1N0eWxlLnNldFN0cm9rZVBhaW50KHN2Z1BhaW50LnBhaW50VHlwZSgpLCBTdHlsZUJ1
aWxkZXJDb252ZXJ0ZXI6OmNvbnZlcnRTVkdDb2xvcigqdGhpcywgc3ZnUGFpbnQpLCBzdmdQYWlu
dC51cmkoKSwgYXBwbHlQcm9wZXJ0eVRvUmVndWxhclN0eWxlKCksIGFwcGx5UHJvcGVydHlUb1Zp
c2l0ZWRMaW5rU3R5bGUoKSk7Ci0gICAgICAgICAgICB9Ci0gICAgICAgICAgICBicmVhazsKLSAg
ICAgICAgfQotICAgICAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0U3ZnU2hhZG93OiB7Ci0gICAg
ICAgICAgICBpZiAoaXNJbmhlcml0KQotICAgICAgICAgICAgICAgIHJldHVybiBzdmdTdHlsZS5z
ZXRTaGFkb3coc3RhdGUucGFyZW50U3R5bGUoKS0+c3ZnU3R5bGUoKS5zaGFkb3coKSA/IHN0ZDo6
bWFrZV91bmlxdWU8U2hhZG93RGF0YT4oKnN0YXRlLnBhcmVudFN0eWxlKCktPnN2Z1N0eWxlKCku
c2hhZG93KCkpIDogbnVsbHB0cik7Ci0gICAgICAgICAgICBpZiAoaXNJbml0aWFsIHx8IHByaW1p
dGl2ZVZhbHVlKSAvLyBpbml0aWFsIHwgbm9uZQotICAgICAgICAgICAgICAgIHJldHVybiBzdmdT
dHlsZS5zZXRTaGFkb3cobnVsbHB0cik7Ci0KLSAgICAgICAgICAgIGlmICghaXM8Q1NTVmFsdWVM
aXN0PigqdmFsdWUpKQotICAgICAgICAgICAgICAgIHJldHVybjsKLQotICAgICAgICAgICAgQ1NT
VmFsdWVMaXN0JiBsaXN0ID0gZG93bmNhc3Q8Q1NTVmFsdWVMaXN0PigqdmFsdWUpOwotICAgICAg
ICAgICAgaWYgKCFsaXN0Lmxlbmd0aCgpKQotICAgICAgICAgICAgICAgIHJldHVybjsKLQotICAg
ICAgICAgICAgQ1NTVmFsdWUqIGZpcnN0VmFsdWUgPSBsaXN0Lml0ZW1XaXRob3V0Qm91bmRzQ2hl
Y2soMCk7Ci0gICAgICAgICAgICBpZiAoIWlzPENTU1NoYWRvd1ZhbHVlPigqZmlyc3RWYWx1ZSkp
Ci0gICAgICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICAgICAgQ1NTU2hhZG93VmFsdWUmIGl0
ZW0gPSBkb3duY2FzdDxDU1NTaGFkb3dWYWx1ZT4oKmZpcnN0VmFsdWUpOwotICAgICAgICAgICAg
SW50UG9pbnQgbG9jYXRpb24oaXRlbS54LT5jb21wdXRlTGVuZ3RoPGludD4oc3RhdGUuY3NzVG9M
ZW5ndGhDb252ZXJzaW9uRGF0YSgpLmNvcHlXaXRoQWRqdXN0ZWRab29tKDEuMGYpKSwKLSAgICAg
ICAgICAgICAgICBpdGVtLnktPmNvbXB1dGVMZW5ndGg8aW50PihzdGF0ZS5jc3NUb0xlbmd0aENv
bnZlcnNpb25EYXRhKCkuY29weVdpdGhBZGp1c3RlZFpvb20oMS4wZikpKTsKLSAgICAgICAgICAg
IGludCBibHVyID0gaXRlbS5ibHVyID8gaXRlbS5ibHVyLT5jb21wdXRlTGVuZ3RoPGludD4oc3Rh
dGUuY3NzVG9MZW5ndGhDb252ZXJzaW9uRGF0YSgpLmNvcHlXaXRoQWRqdXN0ZWRab29tKDEuMGYp
KSA6IDA7Ci0gICAgICAgICAgICBDb2xvciBjb2xvcjsKLSAgICAgICAgICAgIGlmIChpdGVtLmNv
bG9yKQotICAgICAgICAgICAgICAgIGNvbG9yID0gY29sb3JGcm9tUHJpbWl0aXZlVmFsdWUoKml0
ZW0uY29sb3IpOwotCi0gICAgICAgICAgICAvLyAtd2Via2l0LXN2Zy1zaGFkb3cgZG9lcyBzaG91
bGQgbm90IGhhdmUgYSBzcHJlYWQgb3Igc3R5bGUKLSAgICAgICAgICAgIEFTU0VSVCghaXRlbS5z
cHJlYWQpOwotICAgICAgICAgICAgQVNTRVJUKCFpdGVtLnN0eWxlKTsKLQotICAgICAgICAgICAg
YXV0byBzaGFkb3dEYXRhID0gc3RkOjptYWtlX3VuaXF1ZTxTaGFkb3dEYXRhPihsb2NhdGlvbiwg
Ymx1ciwgMCwgTm9ybWFsLCBmYWxzZSwgY29sb3IuaXNWYWxpZCgpID8gY29sb3IgOiBDb2xvcjo6
dHJhbnNwYXJlbnQpOwotICAgICAgICAgICAgc3ZnU3R5bGUuc2V0U2hhZG93KFdURjo6bW92ZShz
aGFkb3dEYXRhKSk7Ci0gICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIH0KLSAgICAgICAgZGVm
YXVsdDoKLSAgICAgICAgICAgIC8vIElmIHlvdSBjcmFzaCBoZXJlLCBpdCdzIGJlY2F1c2UgeW91
IGFkZGVkIGEgY3NzIHByb3BlcnR5IGFuZCBhcmUgbm90IGhhbmRsaW5nIGl0Ci0gICAgICAgICAg
ICAvLyBpbiBlaXRoZXIgdGhpcyBzd2l0Y2ggc3RhdGVtZW50IG9yIHRoZSBvbmUgaW4gU3R5bGVS
ZXNvbHZlcjo6YXBwbHlQcm9wZXJ0eQotICAgICAgICAgICAgQVNTRVJUX1dJVEhfTUVTU0FHRSgw
LCAidW5pbXBsZW1lbnRlZCBwcm9wZXJ0eUlEOiAlZCIsIGlkKTsKLSAgICAgICAgICAgIHJldHVy
bjsKLSAgICB9Ci19Ci0KLX0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZUJ1
aWxkZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZUJ1aWxkZXIuaAppbmRleCA4ZTE2ZTlh
YTg4NTgwMDJhOTM5MGJkYjdhY2JmNjRlYzRmYzg4ODA5Li44MjlhZmIzZDRlOTVhYzg4NjQ4NGNi
ZWRlMTQ0NzIzNTVmYjM3M2ZhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVC
dWlsZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlQnVpbGRlci5oCkBAIC0zNiw3
ICszNiw3IEBAIGNsYXNzIFN0eWxlUmVzb2x2ZXI7CiAKIGNsYXNzIFN0eWxlQnVpbGRlciB7CiBw
dWJsaWM6Ci0gICAgc3RhdGljIGJvb2wgYXBwbHlQcm9wZXJ0eShDU1NQcm9wZXJ0eUlELCBTdHls
ZVJlc29sdmVyJiwgQ1NTVmFsdWUmLCBib29sIGlzSW5pdGlhbCwgYm9vbCBpc0luaGVyaXQpOwor
ICAgIHN0YXRpYyB2b2lkIGFwcGx5UHJvcGVydHkoQ1NTUHJvcGVydHlJRCwgU3R5bGVSZXNvbHZl
ciYsIENTU1ZhbHVlJiwgYm9vbCBpc0luaXRpYWwsIGJvb2wgaXNJbmhlcml0KTsKIH07CiAKIH0g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHls
ZUJ1aWxkZXJDdXN0b20uaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZUJ1aWxkZXJDdXN0b20u
aAppbmRleCAxMDI4MjgwNzY4ZjZjYjg2OGVhNWEwNzYxZTRlOTU2YTNjODcxZTI5Li4wMzBiMjJk
NWQ3MDE5MDZmM2MxNTIwMGI4OWQ4MjRiYzkxNzg1NjlhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvU3R5bGVCdWlsZGVyQ3VzdG9tLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0
eWxlQnVpbGRlckN1c3RvbS5oCkBAIC00Myw2ICs0Myw3IEBACiAjaW5jbHVkZSAiUmVjdC5oIgog
I2luY2x1ZGUgIlJlbmRlclRoZW1lLmgiCiAjaW5jbHVkZSAiU1ZHRWxlbWVudC5oIgorI2luY2x1
ZGUgIlNWR1JlbmRlclN0eWxlLmgiCiAjaW5jbHVkZSAiU3R5bGVCdWlsZGVyQ29udmVydGVyLmgi
CiAjaW5jbHVkZSAiU3R5bGVGb250U2l6ZUZ1bmN0aW9ucy5oIgogI2luY2x1ZGUgIlN0eWxlR2Vu
ZXJhdGVkSW1hZ2UuaCIKQEAgLTcwLDYgKzcxLDcgQEAgcHVibGljOgogICAgIERFQ0xBUkVfUFJP
UEVSVFlfQ1VTVE9NX0hBTkRMRVJTKENvdW50ZXJJbmNyZW1lbnQpOwogICAgIERFQ0xBUkVfUFJP
UEVSVFlfQ1VTVE9NX0hBTkRMRVJTKENvdW50ZXJSZXNldCk7CiAgICAgREVDTEFSRV9QUk9QRVJU
WV9DVVNUT01fSEFORExFUlMoQ3Vyc29yKTsKKyAgICBERUNMQVJFX1BST1BFUlRZX0NVU1RPTV9I
QU5ETEVSUyhGaWxsKTsKICAgICBERUNMQVJFX1BST1BFUlRZX0NVU1RPTV9IQU5ETEVSUyhGb250
KTsKICAgICBERUNMQVJFX1BST1BFUlRZX0NVU1RPTV9IQU5ETEVSUyhGb250RmFtaWx5KTsKICAg
ICBERUNMQVJFX1BST1BFUlRZX0NVU1RPTV9IQU5ETEVSUyhGb250U2l6ZSk7CkBAIC04Miw2ICs4
NCw3IEBAIHB1YmxpYzoKICNlbmRpZgogICAgIERFQ0xBUkVfUFJPUEVSVFlfQ1VTVE9NX0hBTkRM
RVJTKE91dGxpbmVTdHlsZSk7CiAgICAgREVDTEFSRV9QUk9QRVJUWV9DVVNUT01fSEFORExFUlMo
U2l6ZSk7CisgICAgREVDTEFSRV9QUk9QRVJUWV9DVVNUT01fSEFORExFUlMoU3Ryb2tlKTsKICAg
ICBERUNMQVJFX1BST1BFUlRZX0NVU1RPTV9IQU5ETEVSUyhUZXh0SW5kZW50KTsKICAgICBERUNM
QVJFX1BST1BFUlRZX0NVU1RPTV9IQU5ETEVSUyhUZXh0U2hhZG93KTsKICAgICBERUNMQVJFX1BS
T1BFUlRZX0NVU1RPTV9IQU5ETEVSUyhXZWJraXRBc3BlY3RSYXRpbyk7CkBAIC05Niw2ICs5OSw3
IEBAIHB1YmxpYzoKICAgICBERUNMQVJFX1BST1BFUlRZX0NVU1RPTV9IQU5ETEVSUyhXZWJraXRN
YXNrQm94SW1hZ2VSZXBlYXQpOwogICAgIERFQ0xBUkVfUFJPUEVSVFlfQ1VTVE9NX0hBTkRMRVJT
KFdlYmtpdE1hc2tCb3hJbWFnZVNsaWNlKTsKICAgICBERUNMQVJFX1BST1BFUlRZX0NVU1RPTV9I
QU5ETEVSUyhXZWJraXRNYXNrQm94SW1hZ2VXaWR0aCk7CisgICAgREVDTEFSRV9QUk9QRVJUWV9D
VVNUT01fSEFORExFUlMoV2Via2l0U3ZnU2hhZG93KTsKICAgICBERUNMQVJFX1BST1BFUlRZX0NV
U1RPTV9IQU5ETEVSUyhXZWJraXRUZXh0RW1waGFzaXNTdHlsZSk7CiAgICAgREVDTEFSRV9QUk9Q
RVJUWV9DVVNUT01fSEFORExFUlMoWm9vbSk7CiAKQEAgLTExMCw2ICsxMTQsNyBAQCBwdWJsaWM6
CiAgICAgc3RhdGljIHZvaWQgYXBwbHlWYWx1ZURpc3BsYXkoU3R5bGVSZXNvbHZlciYsIENTU1Zh
bHVlJik7CiAKICAgICAvLyBDdXN0b20gaGFuZGxpbmcgb2YgdmFsdWUgc2V0dGluZyBvbmx5Lgor
ICAgIHN0YXRpYyB2b2lkIGFwcGx5VmFsdWVCYXNlbGluZVNoaWZ0KFN0eWxlUmVzb2x2ZXImLCBD
U1NWYWx1ZSYpOwogICAgIHN0YXRpYyB2b2lkIGFwcGx5VmFsdWVEaXJlY3Rpb24oU3R5bGVSZXNv
bHZlciYsIENTU1ZhbHVlJik7CiAjaWYgIUVOQUJMRShJT1NfVEVYVF9BVVRPU0laSU5HKQogICAg
IHN0YXRpYyB2b2lkIGFwcGx5VmFsdWVMaW5lSGVpZ2h0KFN0eWxlUmVzb2x2ZXImLCBDU1NWYWx1
ZSYpOwpAQCAtOTcxLDYgKzk3NiwzMCBAQCBpbmxpbmUgdm9pZCBTdHlsZUJ1aWxkZXJDdXN0b206
OmFwcGx5VmFsdWVEaXNwbGF5KFN0eWxlUmVzb2x2ZXImIHN0eWxlUmVzb2x2ZXIsCiAgICAgICAg
IHN0eWxlUmVzb2x2ZXIuc3R5bGUoKS0+c2V0RGlzcGxheShkaXNwbGF5KTsKIH0KIAoraW5saW5l
IHZvaWQgU3R5bGVCdWlsZGVyQ3VzdG9tOjphcHBseVZhbHVlQmFzZWxpbmVTaGlmdChTdHlsZVJl
c29sdmVyJiBzdHlsZVJlc29sdmVyLCBDU1NWYWx1ZSYgdmFsdWUpCit7CisgICAgU1ZHUmVuZGVy
U3R5bGUmIHN2Z1N0eWxlID0gc3R5bGVSZXNvbHZlci5zdHlsZSgpLT5hY2Nlc3NTVkdTdHlsZSgp
OworICAgIGF1dG8mIHByaW1pdGl2ZVZhbHVlID0gZG93bmNhc3Q8Q1NTUHJpbWl0aXZlVmFsdWU+
KHZhbHVlKTsKKyAgICBpZiAocHJpbWl0aXZlVmFsdWUuaXNWYWx1ZUlEKCkpIHsKKyAgICAgICAg
c3dpdGNoIChwcmltaXRpdmVWYWx1ZS5nZXRWYWx1ZUlEKCkpIHsKKyAgICAgICAgY2FzZSBDU1NW
YWx1ZUJhc2VsaW5lOgorICAgICAgICAgICAgc3ZnU3R5bGUuc2V0QmFzZWxpbmVTaGlmdChCU19C
QVNFTElORSk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgY2FzZSBDU1NWYWx1ZVN1YjoK
KyAgICAgICAgICAgIHN2Z1N0eWxlLnNldEJhc2VsaW5lU2hpZnQoQlNfU1VCKTsKKyAgICAgICAg
ICAgIGJyZWFrOworICAgICAgICBjYXNlIENTU1ZhbHVlU3VwZXI6CisgICAgICAgICAgICBzdmdT
dHlsZS5zZXRCYXNlbGluZVNoaWZ0KEJTX1NVUEVSKTsKKyAgICAgICAgICAgIGJyZWFrOworICAg
ICAgICBkZWZhdWx0OgorICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0KKyAgICB9IGVsc2Ug
eworICAgICAgICBzdmdTdHlsZS5zZXRCYXNlbGluZVNoaWZ0KEJTX0xFTkdUSCk7CisgICAgICAg
IHN2Z1N0eWxlLnNldEJhc2VsaW5lU2hpZnRWYWx1ZShTVkdMZW5ndGg6OmZyb21DU1NQcmltaXRp
dmVWYWx1ZShwcmltaXRpdmVWYWx1ZSkpOworICAgIH0KK30KKwogaW5saW5lIHZvaWQgU3R5bGVC
dWlsZGVyQ3VzdG9tOjphcHBseUluaXRpYWxXZWJraXRBc3BlY3RSYXRpbyhTdHlsZVJlc29sdmVy
JiBzdHlsZVJlc29sdmVyKQogewogICAgIHN0eWxlUmVzb2x2ZXIuc3R5bGUoKS0+c2V0QXNwZWN0
UmF0aW9UeXBlKFJlbmRlclN0eWxlOjppbml0aWFsQXNwZWN0UmF0aW9UeXBlKCkpOwpAQCAtMTE2
Nyw2ICsxMTk2LDg0IEBAIGlubGluZSB2b2lkIFN0eWxlQnVpbGRlckN1c3RvbTo6YXBwbHlWYWx1
ZUN1cnNvcihTdHlsZVJlc29sdmVyJiBzdHlsZVJlc29sdmVyLCBDCiAgICAgfQogfQogCitpbmxp
bmUgdm9pZCBTdHlsZUJ1aWxkZXJDdXN0b206OmFwcGx5SW5pdGlhbEZpbGwoU3R5bGVSZXNvbHZl
ciYgc3R5bGVSZXNvbHZlcikKK3sKKyAgICBTVkdSZW5kZXJTdHlsZSYgc3ZnU3R5bGUgPSBzdHls
ZVJlc29sdmVyLnN0eWxlKCktPmFjY2Vzc1NWR1N0eWxlKCk7CisgICAgc3ZnU3R5bGUuc2V0Rmls
bFBhaW50KFNWR1JlbmRlclN0eWxlOjppbml0aWFsRmlsbFBhaW50VHlwZSgpLCBTVkdSZW5kZXJT
dHlsZTo6aW5pdGlhbEZpbGxQYWludENvbG9yKCksIFNWR1JlbmRlclN0eWxlOjppbml0aWFsRmls
bFBhaW50VXJpKCksIHN0eWxlUmVzb2x2ZXIuYXBwbHlQcm9wZXJ0eVRvUmVndWxhclN0eWxlKCks
IHN0eWxlUmVzb2x2ZXIuYXBwbHlQcm9wZXJ0eVRvVmlzaXRlZExpbmtTdHlsZSgpKTsKK30KKwor
aW5saW5lIHZvaWQgU3R5bGVCdWlsZGVyQ3VzdG9tOjphcHBseUluaGVyaXRGaWxsKFN0eWxlUmVz
b2x2ZXImIHN0eWxlUmVzb2x2ZXIpCit7CisgICAgU1ZHUmVuZGVyU3R5bGUmIHN2Z1N0eWxlID0g
c3R5bGVSZXNvbHZlci5zdHlsZSgpLT5hY2Nlc3NTVkdTdHlsZSgpOworICAgIGNvbnN0IFNWR1Jl
bmRlclN0eWxlJiBzdmdQYXJlbnRTdHlsZSA9IHN0eWxlUmVzb2x2ZXIucGFyZW50U3R5bGUoKS0+
c3ZnU3R5bGUoKTsKKyAgICBzdmdTdHlsZS5zZXRGaWxsUGFpbnQoc3ZnUGFyZW50U3R5bGUuZmls
bFBhaW50VHlwZSgpLCBzdmdQYXJlbnRTdHlsZS5maWxsUGFpbnRDb2xvcigpLCBzdmdQYXJlbnRT
dHlsZS5maWxsUGFpbnRVcmkoKSwgc3R5bGVSZXNvbHZlci5hcHBseVByb3BlcnR5VG9SZWd1bGFy
U3R5bGUoKSwgc3R5bGVSZXNvbHZlci5hcHBseVByb3BlcnR5VG9WaXNpdGVkTGlua1N0eWxlKCkp
OworCit9CisKK2lubGluZSB2b2lkIFN0eWxlQnVpbGRlckN1c3RvbTo6YXBwbHlWYWx1ZUZpbGwo
U3R5bGVSZXNvbHZlciYgc3R5bGVSZXNvbHZlciwgQ1NTVmFsdWUmIHZhbHVlKQoreworICAgIFNW
R1JlbmRlclN0eWxlJiBzdmdTdHlsZSA9IHN0eWxlUmVzb2x2ZXIuc3R5bGUoKS0+YWNjZXNzU1ZH
U3R5bGUoKTsKKyAgICBTVkdQYWludCYgc3ZnUGFpbnQgPSBkb3duY2FzdDxTVkdQYWludD4odmFs
dWUpOworICAgIHN2Z1N0eWxlLnNldEZpbGxQYWludChzdmdQYWludC5wYWludFR5cGUoKSwgU3R5
bGVCdWlsZGVyQ29udmVydGVyOjpjb252ZXJ0U1ZHQ29sb3Ioc3R5bGVSZXNvbHZlciwgc3ZnUGFp
bnQpLCBzdmdQYWludC51cmkoKSwgc3R5bGVSZXNvbHZlci5hcHBseVByb3BlcnR5VG9SZWd1bGFy
U3R5bGUoKSwgc3R5bGVSZXNvbHZlci5hcHBseVByb3BlcnR5VG9WaXNpdGVkTGlua1N0eWxlKCkp
OworfQorCitpbmxpbmUgdm9pZCBTdHlsZUJ1aWxkZXJDdXN0b206OmFwcGx5SW5pdGlhbFN0cm9r
ZShTdHlsZVJlc29sdmVyJiBzdHlsZVJlc29sdmVyKQoreworICAgIFNWR1JlbmRlclN0eWxlJiBz
dmdTdHlsZSA9IHN0eWxlUmVzb2x2ZXIuc3R5bGUoKS0+YWNjZXNzU1ZHU3R5bGUoKTsKKyAgICBz
dmdTdHlsZS5zZXRTdHJva2VQYWludChTVkdSZW5kZXJTdHlsZTo6aW5pdGlhbFN0cm9rZVBhaW50
VHlwZSgpLCBTVkdSZW5kZXJTdHlsZTo6aW5pdGlhbFN0cm9rZVBhaW50Q29sb3IoKSwgU1ZHUmVu
ZGVyU3R5bGU6OmluaXRpYWxTdHJva2VQYWludFVyaSgpLCBzdHlsZVJlc29sdmVyLmFwcGx5UHJv
cGVydHlUb1JlZ3VsYXJTdHlsZSgpLCBzdHlsZVJlc29sdmVyLmFwcGx5UHJvcGVydHlUb1Zpc2l0
ZWRMaW5rU3R5bGUoKSk7Cit9CisKK2lubGluZSB2b2lkIFN0eWxlQnVpbGRlckN1c3RvbTo6YXBw
bHlJbmhlcml0U3Ryb2tlKFN0eWxlUmVzb2x2ZXImIHN0eWxlUmVzb2x2ZXIpCit7CisgICAgU1ZH
UmVuZGVyU3R5bGUmIHN2Z1N0eWxlID0gc3R5bGVSZXNvbHZlci5zdHlsZSgpLT5hY2Nlc3NTVkdT
dHlsZSgpOworICAgIGNvbnN0IFNWR1JlbmRlclN0eWxlJiBzdmdQYXJlbnRTdHlsZSA9IHN0eWxl
UmVzb2x2ZXIucGFyZW50U3R5bGUoKS0+c3ZnU3R5bGUoKTsKKyAgICBzdmdTdHlsZS5zZXRTdHJv
a2VQYWludChzdmdQYXJlbnRTdHlsZS5zdHJva2VQYWludFR5cGUoKSwgc3ZnUGFyZW50U3R5bGUu
c3Ryb2tlUGFpbnRDb2xvcigpLCBzdmdQYXJlbnRTdHlsZS5zdHJva2VQYWludFVyaSgpLCBzdHls
ZVJlc29sdmVyLmFwcGx5UHJvcGVydHlUb1JlZ3VsYXJTdHlsZSgpLCBzdHlsZVJlc29sdmVyLmFw
cGx5UHJvcGVydHlUb1Zpc2l0ZWRMaW5rU3R5bGUoKSk7Cit9CisKK2lubGluZSB2b2lkIFN0eWxl
QnVpbGRlckN1c3RvbTo6YXBwbHlWYWx1ZVN0cm9rZShTdHlsZVJlc29sdmVyJiBzdHlsZVJlc29s
dmVyLCBDU1NWYWx1ZSYgdmFsdWUpCit7CisgICAgU1ZHUmVuZGVyU3R5bGUmIHN2Z1N0eWxlID0g
c3R5bGVSZXNvbHZlci5zdHlsZSgpLT5hY2Nlc3NTVkdTdHlsZSgpOworICAgIFNWR1BhaW50JiBz
dmdQYWludCA9IGRvd25jYXN0PFNWR1BhaW50Pih2YWx1ZSk7CisgICAgc3ZnU3R5bGUuc2V0U3Ry
b2tlUGFpbnQoc3ZnUGFpbnQucGFpbnRUeXBlKCksIFN0eWxlQnVpbGRlckNvbnZlcnRlcjo6Y29u
dmVydFNWR0NvbG9yKHN0eWxlUmVzb2x2ZXIsIHN2Z1BhaW50KSwgc3ZnUGFpbnQudXJpKCksIHN0
eWxlUmVzb2x2ZXIuYXBwbHlQcm9wZXJ0eVRvUmVndWxhclN0eWxlKCksIHN0eWxlUmVzb2x2ZXIu
YXBwbHlQcm9wZXJ0eVRvVmlzaXRlZExpbmtTdHlsZSgpKTsKK30KKworaW5saW5lIHZvaWQgU3R5
bGVCdWlsZGVyQ3VzdG9tOjphcHBseUluaXRpYWxXZWJraXRTdmdTaGFkb3coU3R5bGVSZXNvbHZl
ciYgc3R5bGVSZXNvbHZlcikKK3sKKyAgICBTVkdSZW5kZXJTdHlsZSYgc3ZnU3R5bGUgPSBzdHls
ZVJlc29sdmVyLnN0eWxlKCktPmFjY2Vzc1NWR1N0eWxlKCk7CisgICAgc3ZnU3R5bGUuc2V0U2hh
ZG93KG51bGxwdHIpOworfQorCitpbmxpbmUgdm9pZCBTdHlsZUJ1aWxkZXJDdXN0b206OmFwcGx5
SW5oZXJpdFdlYmtpdFN2Z1NoYWRvdyhTdHlsZVJlc29sdmVyJiBzdHlsZVJlc29sdmVyKQorewor
ICAgIFNWR1JlbmRlclN0eWxlJiBzdmdTdHlsZSA9IHN0eWxlUmVzb2x2ZXIuc3R5bGUoKS0+YWNj
ZXNzU1ZHU3R5bGUoKTsKKyAgICBjb25zdCBTVkdSZW5kZXJTdHlsZSYgc3ZnUGFyZW50U3R5bGUg
PSBzdHlsZVJlc29sdmVyLnBhcmVudFN0eWxlKCktPnN2Z1N0eWxlKCk7CisgICAgc3ZnU3R5bGUu
c2V0U2hhZG93KHN2Z1BhcmVudFN0eWxlLnNoYWRvdygpID8gc3RkOjptYWtlX3VuaXF1ZTxTaGFk
b3dEYXRhPigqc3ZnUGFyZW50U3R5bGUuc2hhZG93KCkpIDogbnVsbHB0cik7Cit9CisKK2lubGlu
ZSB2b2lkIFN0eWxlQnVpbGRlckN1c3RvbTo6YXBwbHlWYWx1ZVdlYmtpdFN2Z1NoYWRvdyhTdHls
ZVJlc29sdmVyJiBzdHlsZVJlc29sdmVyLCBDU1NWYWx1ZSYgdmFsdWUpCit7CisgICAgU1ZHUmVu
ZGVyU3R5bGUmIHN2Z1N0eWxlID0gc3R5bGVSZXNvbHZlci5zdHlsZSgpLT5hY2Nlc3NTVkdTdHls
ZSgpOworICAgIGlmIChpczxDU1NQcmltaXRpdmVWYWx1ZT4odmFsdWUpKSB7CisgICAgICAgIEFT
U0VSVChkb3duY2FzdDxDU1NQcmltaXRpdmVWYWx1ZT4odmFsdWUpLmdldFZhbHVlSUQoKSA9PSBD
U1NWYWx1ZU5vbmUpOworICAgICAgICBzdmdTdHlsZS5zZXRTaGFkb3cobnVsbHB0cik7CisgICAg
ICAgIHJldHVybjsKKyAgICB9CisKKyAgICBhdXRvJiBzaGFkb3dWYWx1ZSA9IGRvd25jYXN0PENT
U1NoYWRvd1ZhbHVlPigqZG93bmNhc3Q8Q1NTVmFsdWVMaXN0Pih2YWx1ZSkuaXRlbVdpdGhvdXRC
b3VuZHNDaGVjaygwKSk7CisgICAgSW50UG9pbnQgbG9jYXRpb24oc2hhZG93VmFsdWUueC0+Y29t
cHV0ZUxlbmd0aDxpbnQ+KHN0eWxlUmVzb2x2ZXIuc3RhdGUoKS5jc3NUb0xlbmd0aENvbnZlcnNp
b25EYXRhKCkuY29weVdpdGhBZGp1c3RlZFpvb20oMS4wZikpLAorICAgICAgICBzaGFkb3dWYWx1
ZS55LT5jb21wdXRlTGVuZ3RoPGludD4oc3R5bGVSZXNvbHZlci5zdGF0ZSgpLmNzc1RvTGVuZ3Ro
Q29udmVyc2lvbkRhdGEoKS5jb3B5V2l0aEFkanVzdGVkWm9vbSgxLjBmKSkpOworICAgIGludCBi
bHVyID0gc2hhZG93VmFsdWUuYmx1ciA/IHNoYWRvd1ZhbHVlLmJsdXItPmNvbXB1dGVMZW5ndGg8
aW50PihzdHlsZVJlc29sdmVyLnN0YXRlKCkuY3NzVG9MZW5ndGhDb252ZXJzaW9uRGF0YSgpLmNv
cHlXaXRoQWRqdXN0ZWRab29tKDEuMGYpKSA6IDA7CisgICAgQ29sb3IgY29sb3I7CisgICAgaWYg
KHNoYWRvd1ZhbHVlLmNvbG9yKQorICAgICAgICBjb2xvciA9IHN0eWxlUmVzb2x2ZXIuY29sb3JG
cm9tUHJpbWl0aXZlVmFsdWUoKnNoYWRvd1ZhbHVlLmNvbG9yKTsKKworICAgIC8vIC13ZWJraXQt
c3ZnLXNoYWRvdyBkb2VzIHNob3VsZCBub3QgaGF2ZSBhIHNwcmVhZCBvciBzdHlsZQorICAgIEFT
U0VSVCghc2hhZG93VmFsdWUuc3ByZWFkKTsKKyAgICBBU1NFUlQoIXNoYWRvd1ZhbHVlLnN0eWxl
KTsKKworICAgIHN2Z1N0eWxlLnNldFNoYWRvdyhzdGQ6Om1ha2VfdW5pcXVlPFNoYWRvd0RhdGE+
KGxvY2F0aW9uLCBibHVyLCAwLCBOb3JtYWwsIGZhbHNlLCBjb2xvci5pc1ZhbGlkKCkgPyBjb2xv
ciA6IENvbG9yOjp0cmFuc3BhcmVudCkpOworfQorCiBpbmxpbmUgdm9pZCBTdHlsZUJ1aWxkZXJD
dXN0b206OmFwcGx5SW5pdGlhbEZvbnRXZWlnaHQoU3R5bGVSZXNvbHZlciYgc3R5bGVSZXNvbHZl
cikKIHsKICAgICBGb250RGVzY3JpcHRpb24gZm9udERlc2NyaXB0aW9uID0gc3R5bGVSZXNvbHZl
ci5mb250RGVzY3JpcHRpb24oKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHls
ZVJlc29sdmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmNwcAppbmRl
eCA4MDk3NjE2MmIwYmUyYTJkZmVkYjEyMTE1MjUzYWE1MTg0ZGFkYjM1Li5kMjAyNGViNTdiNThi
OWQ4NGQ5NTA2NjViOTdhYmZiYmMzYWNkMjQyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9j
c3MvU3R5bGVSZXNvbHZlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVzb2x2
ZXIuY3BwCkBAIC0xOTg3LDExICsxOTg3LDcgQEAgdm9pZCBTdHlsZVJlc29sdmVyOjphcHBseVBy
b3BlcnR5KENTU1Byb3BlcnR5SUQgaWQsIENTU1ZhbHVlKiB2YWx1ZSkKICAgICAgICAgc3RhdGUu
cGFyZW50U3R5bGUoKS0+c2V0SGFzRXhwbGljaXRseUluaGVyaXRlZFByb3BlcnRpZXMoKTsKIAog
ICAgIC8vIFVzZSB0aGUgZ2VuZXJhdGVkIFN0eWxlQnVpbGRlci4KLSAgICBpZiAoU3R5bGVCdWls
ZGVyOjphcHBseVByb3BlcnR5KGlkLCAqdGhpcywgKnZhbHVlLCBpc0luaXRpYWwsIGlzSW5oZXJp
dCkpCi0gICAgICAgIHJldHVybjsKLQotICAgIC8vIFRyeSB0aGUgU1ZHIHByb3BlcnRpZXMgdGhh
dCBoYXZlbid0IGJlZW4gcG9ydGVkIHRvIHRoZSBuZXcgU3R5bGVCdWlsZGVyIHlldC4KLSAgICBh
cHBseVNWR1Byb3BlcnR5KGlkLCB2YWx1ZSk7CisgICAgU3R5bGVCdWlsZGVyOjphcHBseVByb3Bl
cnR5KGlkLCAqdGhpcywgKnZhbHVlLCBpc0luaXRpYWwsIGlzSW5oZXJpdCk7CiB9CiAKIFBhc3NS
ZWZQdHI8U3R5bGVJbWFnZT4gU3R5bGVSZXNvbHZlcjo6c3R5bGVJbWFnZShDU1NQcm9wZXJ0eUlE
IHByb3BlcnR5LCBDU1NWYWx1ZSYgdmFsdWUpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9j
c3MvbWFrZXByb3AucGwgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvbWFrZXByb3AucGwKaW5kZXggMjk2
YWQ4NWI0YjhmMjBjOGFiOTdmMGQ1NmI0MGQ5M2IzMDAzZTgxMC4uZmNlODU1MTdjNTBkZmJjYjA3
ZTMzNjE3MThjMDJmYjA0MDk2MjRhNiAxMDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL21h
a2Vwcm9wLnBsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9tYWtlcHJvcC5wbApAQCAtODcsMjEg
Kzg3LDEyIEBAIGZvcmVhY2ggKEBOQU1FUykgewogICAgIHB1c2ggQGFsaWFzZXMsICRfOwogICB9
IGVsc2UgewogICAgICRuYW1lSXNJbmhlcml0ZWR7JF99ID0gMDsKLSAgICBteSAkaXNVc2luZ0xl
Z2FjeVN0eWxlQnVpbGRlciA9IDA7CiAgICAgJHByb3BlcnRpZXNXaXRoU3R5bGVCdWlsZGVyT3B0
aW9uc3skX30gPSB7fTsKICAgICBmb3JlYWNoIG15ICRvcHRpb24gKEBvcHRpb25zKSB7CiAgICAg
ICBteSAoJG9wdGlvbk5hbWUsICRvcHRpb25WYWx1ZSkgPSBzcGxpdCgvPS8sICRvcHRpb24pOwog
ICAgICAgaWYgKCRvcHRpb25OYW1lIGVxICJJbmhlcml0ZWQiKSB7CiAgICAgICAgICRuYW1lSXNJ
bmhlcml0ZWR7JF99ID0gMTsKLSAgICAgIH0gZWxzaWYgKCRvcHRpb25OYW1lIGVxICJMZWdhY3lT
dHlsZUJ1aWxkZXIiKSB7Ci0gICAgICAgICMgRklYTUU6IFRoaXMgaXMgdGVtcG9yYXJ5LiBFdmVu
dHVhbGx5LCBhbGwgcHJvcGVydGllcyB3aWxsIHVzZSB0aGUgbmV3Ci0gICAgICAgICMgc3R5bGUg
YnVpbGRlciBhbmQgdGhpcyBvcHRpb24gd2lsbCBnbyBhd2F5LgotICAgICAgICAkaXNVc2luZ0xl
Z2FjeVN0eWxlQnVpbGRlciA9IDE7Ci0gICAgICAgIGRlbGV0ZSAkcHJvcGVydGllc1dpdGhTdHls
ZUJ1aWxkZXJPcHRpb25zeyRffTsKICAgICAgIH0gZWxzaWYgKCRzdHlsZUJ1aWxkZXJPcHRpb25z
eyRvcHRpb25OYW1lfSkgewotICAgICAgICAjIEZJWE1FOiBUZW1wb3JhcnkgdW50aWwgYWxsIFNW
RyBwcm9wZXJ0aWVzIGhhdmUgYmVlbiBwb3J0ZWQgdG8gdGhlIG5ldyBTdHlsZUJ1aWxkZXIuCi0g
ICAgICAgIG5leHQgaWYgKCRvcHRpb25OYW1lIGVxICJTVkciICYmICRpc1VzaW5nTGVnYWN5U3R5
bGVCdWlsZGVyKTsKLSAgICAgICAgZGllICJcIiIgLiAkb3B0aW9uTmFtZSAuICJcIiBvcHRpb24g
d2FzIHVzZWQgd2l0aCBcIkxlZ2FjeVN0eWxlQnVpbGRlclwiIG9wdGlvbiBmb3IgIiAuICRfIC4g
IiBwcm9wZXJ0eS4iIGlmICRpc1VzaW5nTGVnYWN5U3R5bGVCdWlsZGVyOwogICAgICAgICAkcHJv
cGVydGllc1dpdGhTdHlsZUJ1aWxkZXJPcHRpb25zeyRffXskb3B0aW9uTmFtZX0gPSAkb3B0aW9u
VmFsdWU7CiAgICAgICB9IGVsc2UgewogICAgICAgICBkaWUgIlVucmVjb2duaXplZCBcIiIgLiAk
b3B0aW9uTmFtZSAuICJcIiBvcHRpb24gZm9yICIgLiAkXyAuICIgcHJvcGVydHkuIjsKQEAgLTQ0
Niw5ICs0MzcsNiBAQCBzdWIgZ2V0RmlsbExheWVyTWFwZnVuY3Rpb24gewogCiAKIGZvcmVhY2gg
bXkgJG5hbWUgKEBuYW1lcykgewotICAjIFNraXAgcHJvcGVydGllcyBzdGlsbCB1c2luZyB0aGUg
bGVnYWN5IHN0eWxlIGJ1aWxkZXIuCi0gIG5leHQgdW5sZXNzIGV4aXN0cygkcHJvcGVydGllc1dp
dGhTdHlsZUJ1aWxkZXJPcHRpb25zeyRuYW1lfSk7Ci0KICAgbXkgJG5hbWVGb3JNZXRob2RzID0g
Z2V0TmFtZUZvck1ldGhvZHMoJG5hbWUpOwogICAkbmFtZUZvck1ldGhvZHMgPX4gcy9XZWJraXQv
L2c7CiAgIGlmIChleGlzdHMoJHByb3BlcnRpZXNXaXRoU3R5bGVCdWlsZGVyT3B0aW9uc3skbmFt
ZX17Ik5hbWVGb3JNZXRob2RzIn0pKSB7CkBAIC04NTgsOSArODQ2LDYgQEAgcHVibGljOgogRU9G
CiAKIGZvcmVhY2ggbXkgJG5hbWUgKEBuYW1lcykgewotICAjIFNraXAgcHJvcGVydGllcyBzdGls
bCB1c2luZyB0aGUgbGVnYWN5IHN0eWxlIGJ1aWxkZXIuCi0gIG5leHQgdW5sZXNzIGV4aXN0cygk
cHJvcGVydGllc1dpdGhTdHlsZUJ1aWxkZXJPcHRpb25zeyRuYW1lfSk7Ci0KICAgIyBTa2lwIFNo
b3J0aGFuZCBwcm9wZXJ0aWVzIGFuZCBwcm9wZXJ0aWVzIHRoYXQgZG8gbm90IHVzZSB0aGUgU3R5
bGVCdWlsZGVyLgogICBuZXh0IGlmIChleGlzdHMgJHByb3BlcnRpZXNXaXRoU3R5bGVCdWlsZGVy
T3B0aW9uc3skbmFtZX17IlNob3J0aGFuZCJ9KTsKICAgbmV4dCBpZiAoZXhpc3RzICRwcm9wZXJ0
aWVzV2l0aFN0eWxlQnVpbGRlck9wdGlvbnN7JG5hbWV9eyJTa2lwQnVpbGRlciJ9KTsKQEAgLTg4
MCwxNyArODY1LDE0IEBAIGZvcmVhY2ggbXkgJG5hbWUgKEBuYW1lcykgewogcHJpbnQgU1RZTEVC
VUlMREVSIDw8ICJFT0YiOwogfTsKIAotYm9vbCBTdHlsZUJ1aWxkZXI6OmFwcGx5UHJvcGVydHko
Q1NTUHJvcGVydHlJRCBwcm9wZXJ0eSwgU3R5bGVSZXNvbHZlciYgc3R5bGVSZXNvbHZlciwgQ1NT
VmFsdWUmIHZhbHVlLCBib29sIGlzSW5pdGlhbCwgYm9vbCBpc0luaGVyaXQpCit2b2lkIFN0eWxl
QnVpbGRlcjo6YXBwbHlQcm9wZXJ0eShDU1NQcm9wZXJ0eUlEIHByb3BlcnR5LCBTdHlsZVJlc29s
dmVyJiBzdHlsZVJlc29sdmVyLCBDU1NWYWx1ZSYgdmFsdWUsIGJvb2wgaXNJbml0aWFsLCBib29s
IGlzSW5oZXJpdCkKIHsKICAgICBzd2l0Y2ggKHByb3BlcnR5KSB7CiAgICAgY2FzZSBDU1NQcm9w
ZXJ0eUludmFsaWQ6Ci0gICAgICAgIHJldHVybiB0cnVlOworICAgICAgICBicmVhazsKIEVPRgog
CiBmb3JlYWNoIG15ICRuYW1lIChAbmFtZXMpIHsKLSAgIyBTa2lwIHByb3BlcnRpZXMgc3RpbGwg
dXNpbmcgdGhlIGxlZ2FjeSBzdHlsZSBidWlsZGVyLgotICBuZXh0IHVubGVzcyBleGlzdHMoJHBy
b3BlcnRpZXNXaXRoU3R5bGVCdWlsZGVyT3B0aW9uc3skbmFtZX0pOwotCiAgIHByaW50IFNUWUxF
QlVJTERFUiAiICAgIGNhc2UgQ1NTUHJvcGVydHkiIC4gJG5hbWVUb0lkeyRuYW1lfSAuICI6XG4i
OwogICBpZiAoZXhpc3RzICRwcm9wZXJ0aWVzV2l0aFN0eWxlQnVpbGRlck9wdGlvbnN7JG5hbWV9
eyJTaG9ydGhhbmQifSkgewogICAgIHByaW50IFNUWUxFQlVJTERFUiAiICAgICAgICBBU1NFUlQo
aXNFeHBhbmRlZFNob3J0aGFuZChwcm9wZXJ0eSkpO1xuIjsKQEAgLTkwMywxMiArODg1LDEwIEBA
IGZvcmVhY2ggbXkgJG5hbWUgKEBuYW1lcykgewogICAgIHByaW50IFNUWUxFQlVJTERFUiAiICAg
ICAgICBlbHNlXG4iOwogICAgIHByaW50IFNUWUxFQlVJTERFUiAiICAgICAgICAgICAgIiAuIGdl
dFNjb3BlRm9yRnVuY3Rpb24oJG5hbWUsICJWYWx1ZSIpIC4gIjo6YXBwbHlWYWx1ZSIgLiAkbmFt
ZVRvSWR7JG5hbWV9IC4gIihzdHlsZVJlc29sdmVyLCB2YWx1ZSk7XG4iOwogICB9Ci0gIHByaW50
IFNUWUxFQlVJTERFUiAiICAgICAgICByZXR1cm4gdHJ1ZTtcbiI7CisgIHByaW50IFNUWUxFQlVJ
TERFUiAiICAgICAgICBicmVhaztcbiI7CiB9CiAKIHByaW50IFNUWUxFQlVJTERFUiA8PCAiRU9G
IjsKLSAgICAgICAgZGVmYXVsdDoKLSAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICB9Owog
fQogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>