<?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>82905</bug_id>
          
          <creation_ts>2012-04-02 08:42:56 -0700</creation_ts>
          <short_desc>Rename CSSPropertyLonghand files to StylePropertyShorthand.</short_desc>
          <delta_ts>2012-04-02 11:47:28 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>CSS</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alexis Menard (darktears)">menard</reporter>
          <assigned_to name="Alexis Menard (darktears)">menard</assigned_to>
          <cc>kling</cc>
    
    <cc>koivisto</cc>
    
    <cc>macpherson</cc>
    
    <cc>rakuco</cc>
    
    <cc>tony</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>593500</commentid>
    <comment_count>0</comment_count>
    <who name="Alexis Menard (darktears)">menard</who>
    <bug_when>2012-04-02 08:42:56 -0700</bug_when>
    <thetext>Rename CSSPropertyLonghand files to StylePropertyShorthand.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>593501</commentid>
    <comment_count>1</comment_count>
      <attachid>135110</attachid>
    <who name="Alexis Menard (darktears)">menard</who>
    <bug_when>2012-04-02 08:50:15 -0700</bug_when>
    <thetext>Created attachment 135110
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>593505</commentid>
    <comment_count>2</comment_count>
      <attachid>135110</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-04-02 08:55:21 -0700</bug_when>
    <thetext>Comment on attachment 135110
Patch

Attachment 135110 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/12313530</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>593512</commentid>
    <comment_count>3</comment_count>
      <attachid>135110</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-04-02 09:03:09 -0700</bug_when>
    <thetext>Comment on attachment 135110
Patch

Attachment 135110 did not pass win-ews (win):
Output: http://queues.webkit.org/results/12311520</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>593537</commentid>
    <comment_count>4</comment_count>
      <attachid>135120</attachid>
    <who name="Alexis Menard (darktears)">menard</who>
    <bug_when>2012-04-02 09:40:17 -0700</bug_when>
    <thetext>Created attachment 135120
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>593641</commentid>
    <comment_count>5</comment_count>
      <attachid>135120</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-04-02 11:47:22 -0700</bug_when>
    <thetext>Comment on attachment 135120
Patch

Clearing flags on attachment: 135120

Committed r112914: &lt;http://trac.webkit.org/changeset/112914&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>593642</commentid>
    <comment_count>6</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-04-02 11:47:28 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>135110</attachid>
            <date>2012-04-02 08:50:15 -0700</date>
            <delta_ts>2012-04-02 09:40:08 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-82905-20120402125012.patch</filename>
            <type>text/plain</type>
            <size>74943</size>
            <attacher name="Alexis Menard (darktears)">menard</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEyODg3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZmNjM2NhNjk2MjJkNDU5
NDA3YzZhOTNjNmVmYjdkMDU2NjUzNzZhYi4uNmJmMDIwOGVlYzQ4ODE4OTk0NjBmMDM3MDE1YzE3
YWE0YjExYzVmMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDc3IEBACisyMDEyLTA0LTAyICBBbGV4
aXMgTWVuYXJkICA8YWxleGlzLm1lbmFyZEBvcGVuYm9zc2Eub3JnPgorCisgICAgICAgIFJlbmFt
ZSBDU1NQcm9wZXJ0eUxvbmdoYW5kIGZpbGVzIHRvIFN0eWxlUHJvcGVydHlTaG9ydGhhbmQuCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MjkwNQorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIHIxMTI4ODAgcmVu
YW1lZCBDU1NQcm9wZXJ0eUxvbmdoYW5kIGNsYXNzIHRvIFN0eWxlUHJvcGVydHlTaG9ydGhhbmQs
IHNvIHRoZQorICAgICAgICBmaWxlcyBuZWVkIHRvIHJlZmxlY3QgdGhpcyBuZXcgbmFtZSBub3cu
CisKKyAgICAgICAgTm8gbmV3IHRlc3RzIDogSnVzdCBhIHJlbmFtaW5nLCBObyBiZWhhdmlvdXIg
Y2hhbmdlIGludGVuZGVkLgorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICog
R05VbWFrZWZpbGUubGlzdC5hbToKKyAgICAgICAgKiBUYXJnZXQucHJpOgorICAgICAgICAqIFdl
YkNvcmUuZ3lwaToKKyAgICAgICAgKiBXZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvajoKKyAg
ICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogY3Nz
L0NTU0FsbEluT25lLmNwcDoKKyAgICAgICAgKiBjc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0
aW9uLmNwcDoKKyAgICAgICAgKiBjc3MvQ1NTUGFyc2VyLmNwcDoKKyAgICAgICAgKiBjc3MvQ1NT
UHJvcGVydHkuY3BwOgorICAgICAgICAqIGNzcy9TdHlsZVByb3BlcnR5U2V0LmNwcDoKKyAgICAg
ICAgKiBjc3MvU3R5bGVQcm9wZXJ0eVNob3J0aGFuZC5jcHA6IFJlbmFtZWQgZnJvbSBTb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTUHJvcGVydHlMb25naGFuZC5jcHAuCisgICAgICAgIChXZWJDb3JlKToK
KyAgICAgICAgKFdlYkNvcmU6OmJhY2tncm91bmRTaG9ydGhhbmQpOgorICAgICAgICAoV2ViQ29y
ZTo6YmFja2dyb3VuZFBvc2l0aW9uU2hvcnRoYW5kKToKKyAgICAgICAgKFdlYkNvcmU6OmJhY2tn
cm91bmRSZXBlYXRTaG9ydGhhbmQpOgorICAgICAgICAoV2ViQ29yZTo6Ym9yZGVyU2hvcnRoYW5k
KToKKyAgICAgICAgKFdlYkNvcmU6OmJvcmRlckFicmlkZ2VkU2hvcnRoYW5kKToKKyAgICAgICAg
KFdlYkNvcmU6OmJvcmRlckJvdHRvbVNob3J0aGFuZCk6CisgICAgICAgIChXZWJDb3JlOjpib3Jk
ZXJDb2xvclNob3J0aGFuZCk6CisgICAgICAgIChXZWJDb3JlOjpib3JkZXJJbWFnZVNob3J0aGFu
ZCk6CisgICAgICAgIChXZWJDb3JlOjpib3JkZXJMZWZ0U2hvcnRoYW5kKToKKyAgICAgICAgKFdl
YkNvcmU6OmJvcmRlclJhZGl1c1Nob3J0aGFuZCk6CisgICAgICAgIChXZWJDb3JlOjpib3JkZXJS
aWdodFNob3J0aGFuZCk6CisgICAgICAgIChXZWJDb3JlOjpib3JkZXJTcGFjaW5nU2hvcnRoYW5k
KToKKyAgICAgICAgKFdlYkNvcmU6OmJvcmRlclN0eWxlU2hvcnRoYW5kKToKKyAgICAgICAgKFdl
YkNvcmU6OmJvcmRlclRvcFNob3J0aGFuZCk6CisgICAgICAgIChXZWJDb3JlOjpib3JkZXJXaWR0
aFNob3J0aGFuZCk6CisgICAgICAgIChXZWJDb3JlOjpsaXN0U3R5bGVTaG9ydGhhbmQpOgorICAg
ICAgICAoV2ViQ29yZTo6Zm9udFNob3J0aGFuZCk6CisgICAgICAgIChXZWJDb3JlOjptYXJnaW5T
aG9ydGhhbmQpOgorICAgICAgICAoV2ViQ29yZTo6b3V0bGluZVNob3J0aGFuZCk6CisgICAgICAg
IChXZWJDb3JlOjpvdmVyZmxvd1Nob3J0aGFuZCk6CisgICAgICAgIChXZWJDb3JlOjpwYWRkaW5n
U2hvcnRoYW5kKToKKyAgICAgICAgKFdlYkNvcmU6OndlYmtpdEFuaW1hdGlvblNob3J0aGFuZCk6
CisgICAgICAgIChXZWJDb3JlOjp3ZWJraXRCb3JkZXJBZnRlclNob3J0aGFuZCk6CisgICAgICAg
IChXZWJDb3JlOjp3ZWJraXRCb3JkZXJCZWZvcmVTaG9ydGhhbmQpOgorICAgICAgICAoV2ViQ29y
ZTo6d2Via2l0Qm9yZGVyRW5kU2hvcnRoYW5kKToKKyAgICAgICAgKFdlYkNvcmU6OndlYmtpdEJv
cmRlclN0YXJ0U2hvcnRoYW5kKToKKyAgICAgICAgKFdlYkNvcmU6OndlYmtpdENvbHVtbnNTaG9y
dGhhbmQpOgorICAgICAgICAoV2ViQ29yZTo6d2Via2l0Q29sdW1uUnVsZVNob3J0aGFuZCk6Cisg
ICAgICAgIChXZWJDb3JlOjp3ZWJraXRGbGV4Rmxvd1Nob3J0aGFuZCk6CisgICAgICAgIChXZWJD
b3JlOjp3ZWJraXRNYXJnaW5Db2xsYXBzZVNob3J0aGFuZCk6CisgICAgICAgIChXZWJDb3JlOjp3
ZWJraXRNYXJxdWVlU2hvcnRoYW5kKToKKyAgICAgICAgKFdlYkNvcmU6OndlYmtpdE1hc2tTaG9y
dGhhbmQpOgorICAgICAgICAoV2ViQ29yZTo6d2Via2l0TWFza1Bvc2l0aW9uU2hvcnRoYW5kKToK
KyAgICAgICAgKFdlYkNvcmU6OndlYmtpdE1hc2tSZXBlYXRTaG9ydGhhbmQpOgorICAgICAgICAo
V2ViQ29yZTo6d2Via2l0VGV4dEVtcGhhc2lzU2hvcnRoYW5kKToKKyAgICAgICAgKFdlYkNvcmU6
OndlYmtpdFRleHRTdHJva2VTaG9ydGhhbmQpOgorICAgICAgICAoV2ViQ29yZTo6d2Via2l0VHJh
bnNpdGlvblNob3J0aGFuZCk6CisgICAgICAgIChXZWJDb3JlOjp3ZWJraXRUcmFuc2Zvcm1Pcmln
aW5TaG9ydGhhbmQpOgorICAgICAgICAoV2ViQ29yZTo6d2Via2l0V3JhcFNob3J0aGFuZCk6Cisg
ICAgICAgIChXZWJDb3JlOjpzaG9ydGhhbmRGb3JQcm9wZXJ0eSk6CisgICAgICAgICogY3NzL1N0
eWxlUHJvcGVydHlTaG9ydGhhbmQuaDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NQcm9wZXJ0eUxvbmdoYW5kLmguCisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFN0eWxl
UHJvcGVydHlTaG9ydGhhbmQpOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVQcm9wZXJ0eVNob3J0
aGFuZDo6U3R5bGVQcm9wZXJ0eVNob3J0aGFuZCk6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZVBy
b3BlcnR5U2hvcnRoYW5kOjpwcm9wZXJ0aWVzKToKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUHJv
cGVydHlTaG9ydGhhbmQ6OnByb3BlcnRpZXNGb3JJbml0aWFsaXphdGlvbik6CisgICAgICAgIChX
ZWJDb3JlOjpTdHlsZVByb3BlcnR5U2hvcnRoYW5kOjpsZW5ndGgpOgorICAgICAgICAqIHBhZ2Uv
YW5pbWF0aW9uL0FuaW1hdGlvbkJhc2UuY3BwOgorCiAyMDEyLTA0LTAyICBBbGV4YW5kZXIgUGF2
bG92ICA8YXBhdmxvdkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogSW1w
bGVtZW50IGZyb250ZW5kIGZvciBkZXZpY2UgbWV0cmljcyBlbXVsYXRpb24KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0
cy50eHQKaW5kZXggMzRhZmJmMGI1NmFjYTMwZTgwNjYzYmQ5NTZhNGViYjA1MDFmMWVmMS4uOTJi
ODQ3YjgxNDBmZjM4NGE3ZTZiMmFiODEyNGJlYjkxZjlkYmM0OCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50
eHQKQEAgLTQ3Nyw3ICs0NzcsNiBAQCBTRVQoV2ViQ29yZV9TT1VSQ0VTCiAgICAgY3NzL0NTU1Bh
cnNlclZhbHVlcy5jcHAKICAgICBjc3MvQ1NTUHJpbWl0aXZlVmFsdWUuY3BwCiAgICAgY3NzL0NT
U1Byb3BlcnR5LmNwcAotICAgIGNzcy9DU1NQcm9wZXJ0eUxvbmdoYW5kLmNwcAogICAgIGNzcy9D
U1NQcm9wZXJ0eVNvdXJjZURhdGEuY3BwCiAgICAgY3NzL0NTU1JlZmxlY3RWYWx1ZS5jcHAKICAg
ICBjc3MvQ1NTUnVsZS5jcHAKQEAgLTUxMyw2ICs1MTIsNyBAQCBTRVQoV2ViQ29yZV9TT1VSQ0VT
CiAgICAgY3NzL1NoYWRvd1ZhbHVlLmNwcAogICAgIGNzcy9TdHlsZU1lZGlhLmNwcAogICAgIGNz
cy9TdHlsZVByb3BlcnR5U2V0LmNwcAorICAgIGNzcy9TdHlsZVByb3BlcnR5U2hvcnRoYW5kLmNw
cAogICAgIGNzcy9TdHlsZVJ1bGUuY3BwCiAgICAgY3NzL1N0eWxlU2hlZXQuY3BwCiAgICAgY3Nz
L1N0eWxlU2hlZXRMaXN0LmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZp
bGUubGlzdC5hbSBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KaW5kZXggYzc0
YmRlYWMwNmNjOTQzOWZhMTcwNDQ2OGY0NWFhMmZjOWZkMTBkMy4uYzFlNThiOTM2NDU5NzA4ZjBl
NjRmMDFhYjdmYTA0N2I0ZDRjYzNjOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvR05VbWFr
ZWZpbGUubGlzdC5hbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCkBA
IC0xNjE0LDggKzE2MTQsNiBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NQcmltaXRpdmVWYWx1ZU1hcHBpbmdzLmggXAogCVNvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NQcm9wZXJ0eS5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eS5oIFwKLQlT
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHlMb25naGFuZC5jcHAgXAotCVNvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NQcm9wZXJ0eUxvbmdoYW5kLmggXAogCVNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQ
cm9wZXJ0eVNvdXJjZURhdGEuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHlT
b3VyY2VEYXRhLmggXAogCVNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NSZWZsZWN0aW9uRGlyZWN0aW9u
LmggXApAQCAtMTY5MSw2ICsxNjg5LDggQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlTb3VyY2Uv
V2ViQ29yZS9jc3MvU3R5bGVNZWRpYS5oIFwKIAlTb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVQcm9w
ZXJ0eVNldC5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVByb3BlcnR5U2V0LmggXAor
CVNvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVByb3BlcnR5U2hvcnRoYW5kLmNwcCBcCisJU291cmNl
L1dlYkNvcmUvY3NzL1N0eWxlUHJvcGVydHlTaG9ydGhhbmQuaCBcCiAJU291cmNlL1dlYkNvcmUv
Y3NzL1N0eWxlUnVsZS5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJ1bGUuaCBcCiAJ
U291cmNlL1dlYkNvcmUvY3NzL1N0eWxlU2hlZXQuY3BwIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL1RhcmdldC5wcmkgYi9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCmluZGV4IDJjZGZi
ZmVhYzgzN2UyNGNmOGUwY2U2NzU2YzM5MWEwZjIzNjBmMWIuLmY4ZTJmZmQ3MzhhZDA2OTQ2MzRm
YjljYjc3MTgzMTU3ZjU0MmFhZjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5w
cmkKKysrIGIvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQpAQCAtNDUyLDcgKzQ1Miw2IEBAIFNP
VVJDRVMgKz0gXAogICAgIGNzcy9DU1NQYXJzZXJWYWx1ZXMuY3BwIFwKICAgICBjc3MvQ1NTUHJp
bWl0aXZlVmFsdWUuY3BwIFwKICAgICBjc3MvQ1NTUHJvcGVydHkuY3BwIFwKLSAgICBjc3MvQ1NT
UHJvcGVydHlMb25naGFuZC5jcHAgXAogICAgIGNzcy9DU1NQcm9wZXJ0eVNvdXJjZURhdGEuY3Bw
IFwKICAgICBjc3MvQ1NTUmVmbGVjdFZhbHVlLmNwcCBcCiAgICAgY3NzL0NTU1J1bGUuY3BwIFwK
QEAgLTQ4OCw2ICs0ODcsNyBAQCBTT1VSQ0VTICs9IFwKICAgICBjc3MvU2hhZG93VmFsdWUuY3Bw
IFwKICAgICBjc3MvU3R5bGVNZWRpYS5jcHAgXAogICAgIGNzcy9TdHlsZVByb3BlcnR5U2V0LmNw
cCBcCisgICAgY3NzL1N0eWxlUHJvcGVydHlTaG9ydGhhbmQuY3BwIFwKICAgICBjc3MvU3R5bGVS
dWxlLmNwcCBcCiAgICAgY3NzL1N0eWxlU2hlZXQuY3BwIFwKICAgICBjc3MvU3R5bGVTaGVldExp
c3QuY3BwIFwKQEAgLTE1OTYsNyArMTU5Niw2IEBAIEhFQURFUlMgKz0gXAogICAgIGNzcy9DU1NQ
YXJzZXJWYWx1ZXMuaCBcCiAgICAgY3NzL0NTU1ByaW1pdGl2ZVZhbHVlLmggXAogICAgIGNzcy9D
U1NQcm9wZXJ0eS5oIFwKLSAgICBjc3MvQ1NTUHJvcGVydHlMb25naGFuZC5oIFwKICAgICBjc3Mv
Q1NTUmVmbGVjdFZhbHVlLmggXAogICAgIGNzcy9DU1NSdWxlLmggXAogICAgIGNzcy9DU1NSdWxl
TGlzdC5oIFwKQEAgLTE2MzEsNiArMTYzMCw3IEBAIEhFQURFUlMgKz0gXAogICAgIGNzcy9TaGFk
b3dWYWx1ZS5oIFwKICAgICBjc3MvU3R5bGVNZWRpYS5oIFwKICAgICBjc3MvU3R5bGVQcm9wZXJ0
eVNldC5oIFwKKyAgICBjc3MvU3R5bGVQcm9wZXJ0eVNob3J0aGFuZC5oIFwKICAgICBjc3MvU3R5
bGVSdWxlLmggXAogICAgIGNzcy9TdHlsZVNoZWV0LmggXAogICAgIGNzcy9TdHlsZVNoZWV0TGlz
dC5oIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaSBiL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUuZ3lwaQppbmRleCBiMGM2OWNjOWZjNjMyMmYxNTIxMDE5Y2VmNjk0MTI3
NjZlZmJmODg5Li45ZGM1ODlmODUyM2ZmYzRlOWE0N2FmMTQxMDM1NTZlNmU5MTIwNGM0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKKysrIGIvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS5neXBpCkBAIC0yNDA4LDggKzI0MDgsNiBAQAogICAgICAgICAgICAgJ2Nzcy9DU1NQ
cmltaXRpdmVWYWx1ZS5jcHAnLAogICAgICAgICAgICAgJ2Nzcy9DU1NQcmltaXRpdmVWYWx1ZU1h
cHBpbmdzLmgnLAogICAgICAgICAgICAgJ2Nzcy9DU1NQcm9wZXJ0eS5jcHAnLAotICAgICAgICAg
ICAgJ2Nzcy9DU1NQcm9wZXJ0eUxvbmdoYW5kLmNwcCcsCi0gICAgICAgICAgICAnY3NzL0NTU1By
b3BlcnR5TG9uZ2hhbmQuaCcsCiAgICAgICAgICAgICAnY3NzL0NTU1Byb3BlcnR5U291cmNlRGF0
YS5jcHAnLAogICAgICAgICAgICAgJ2Nzcy9DU1NSZWZsZWN0VmFsdWUuY3BwJywKICAgICAgICAg
ICAgICdjc3MvQ1NTUnVsZS5jcHAnLApAQCAtMjQ3OSw2ICsyNDc3LDggQEAKICAgICAgICAgICAg
ICdjc3MvU3R5bGVNZWRpYS5oJywKICAgICAgICAgICAgICdjc3MvU3R5bGVQcm9wZXJ0eVNldC5j
cHAnLAogICAgICAgICAgICAgJ2Nzcy9TdHlsZVByb3BlcnR5U2V0LmgnLAorICAgICAgICAgICAg
J2Nzcy9TdHlsZVByb3BlcnR5U2hvcnRoYW5kLmNwcCcsCisgICAgICAgICAgICAnY3NzL1N0eWxl
UHJvcGVydHlTaG9ydGhhbmQuaCcsCiAgICAgICAgICAgICAnY3NzL1N0eWxlUnVsZS5jcHAnLAog
ICAgICAgICAgICAgJ2Nzcy9TdHlsZVJ1bGUuaCcsCiAgICAgICAgICAgICAnY3NzL1N0eWxlU2hl
ZXQuY3BwJywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNv
cmUudmNwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oK
aW5kZXggZjMyZmMzYzViYTlhMmZiNDgzMWRkYzZkMWE3NGM0ZDBhYzRlMDc2ZC4uZjE3MmQ2ODcx
ZWJkMWVkZmI1NTc5ODVkNGI5MjQzMzM4OTA4M2QwMSAxMDA3NTUKLS0tIGEvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKQEAgLTM1MzQyLDYyICszNTM0Miw2IEBACiAJCQkJ
PgogCQkJPC9GaWxlPgogCQkJPEZpbGUKLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGNzc1xDU1NQcm9w
ZXJ0eUxvbmdoYW5kLmNwcCIKLQkJCQk+Ci0JCQkJPEZpbGVDb25maWd1cmF0aW9uCi0JCQkJCU5h
bWU9IkRlYnVnfFdpbjMyIgotCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKLQkJCQkJPgot
CQkJCQk8VG9vbAotCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKLQkJCQkJLz4KLQkJCQk8
L0ZpbGVDb25maWd1cmF0aW9uPgotCQkJCTxGaWxlQ29uZmlndXJhdGlvbgotCQkJCQlOYW1lPSJS
ZWxlYXNlfFdpbjMyIgotCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKLQkJCQkJPgotCQkJ
CQk8VG9vbAotCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKLQkJCQkJLz4KLQkJCQk8L0Zp
bGVDb25maWd1cmF0aW9uPgotCQkJCTxGaWxlQ29uZmlndXJhdGlvbgotCQkJCQlOYW1lPSJEZWJ1
Z19DYWlyb19DRkxpdGV8V2luMzIiCi0JCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgotCQkJ
CQk+Ci0JCQkJCTxUb29sCi0JCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgotCQkJCQkvPgot
CQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+Ci0JCQkJPEZpbGVDb25maWd1cmF0aW9uCi0JCQkJCU5h
bWU9IlJlbGVhc2VfQ2Fpcm9fQ0ZMaXRlfFdpbjMyIgotCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0i
dHJ1ZSIKLQkJCQkJPgotCQkJCQk8VG9vbAotCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIK
LQkJCQkJLz4KLQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgotCQkJCTxGaWxlQ29uZmlndXJhdGlv
bgotCQkJCQlOYW1lPSJEZWJ1Z19BbGx8V2luMzIiCi0JCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0
cnVlIgotCQkJCQk+Ci0JCQkJCTxUb29sCi0JCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgot
CQkJCQkvPgotCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+Ci0JCQkJPEZpbGVDb25maWd1cmF0aW9u
Ci0JCQkJCU5hbWU9IlByb2R1Y3Rpb258V2luMzIiCi0JCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0
cnVlIgotCQkJCQk+Ci0JCQkJCTxUb29sCi0JCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgot
CQkJCQkvPgotCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+Ci0JCQk8L0ZpbGU+Ci0JCQk8RmlsZQot
CQkJCVJlbGF0aXZlUGF0aD0iLi5cY3NzXENTU1Byb3BlcnR5TG9uZ2hhbmQuaCIKLQkJCQk+Ci0J
CQk8L0ZpbGU+Ci0JCQk8RmlsZQogCQkJCVJlbGF0aXZlUGF0aD0iLi5cY3NzXENTU1Byb3BlcnR5
TmFtZXMuaW4iCiAJCQkJPgogCQkJPC9GaWxlPgpAQCAtMzY4MDIsNiArMzY3NDYsNjIgQEAKIAkJ
CQk+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cY3NzXFN0eWxl
UHJvcGVydHlTaG9ydGhhbmQuY3BwIgorCQkJCT4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJ
CQkJTmFtZT0iRGVidWd8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJ
CQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgor
CQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5h
bWU9IlJlbGVhc2V8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+
CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJ
CTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9
IkRlYnVnX0NhaXJvX0NGTGl0ZXxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUi
CisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJ
CS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJ
CQkJTmFtZT0iUmVsZWFzZV9DYWlyb19DRkxpdGV8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1
aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJU
b29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1
cmF0aW9uCisJCQkJCU5hbWU9IkRlYnVnX0FsbHxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVp
bGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRv
b2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3Vy
YXRpb24KKwkJCQkJTmFtZT0iUHJvZHVjdGlvbnxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVp
bGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRv
b2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCTwvRmlsZT4KKwkJCTxG
aWxlCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxjc3NcU3R5bGVQcm9wZXJ0eVNob3J0aGFuZC5oIgor
CQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCiAJCQkJUmVsYXRpdmVQYXRoPSIuLlxjc3NcU3R5
bGVSdWxlLmNwcCIKIAkJCQk+CiAJCQk8L0ZpbGU+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggN2QwNWI4Y2RiZDhjMDg1NGJkYzU2
ZmM3ODc4OTJhODQxYzEwMWY4OC4uZmIzNTYyN2MyMzUyY2IyNDU4OGUyYjVlN2M4NDQzNmIxZDU1
ZGJlYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagpAQCAtMjU2LDggKzI1Niw2IEBACiAJCTBGNTgwRkFGMTQ5ODAwRDQwMEZCNUJEOCAv
KiBBbmltYXRpb25VdGlsaXRpZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDBGNTgwRkFFMTQ5ODAwRDQwMEZCNUJEOCAvKiBBbmltYXRpb25VdGlsaXRp
ZXMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkw
RjVCN0E1NDEwRjY1RDdBMDAzNzYzMDIgLyogUmVuZGVyRW1iZWRkZWRPYmplY3QuY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEY1QjdBNTIxMEY2NUQ3
QTAwMzc2MzAyIC8qIFJlbmRlckVtYmVkZGVkT2JqZWN0LmNwcCAqLzsgfTsKIAkJMEY1QjdBNTUx
MEY2NUQ3QTAwMzc2MzAyIC8qIFJlbmRlckVtYmVkZGVkT2JqZWN0LmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjVCN0E1MzEwRjY1RDdBMDAzNzYzMDIg
LyogUmVuZGVyRW1iZWRkZWRPYmplY3QuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OwotCQkwRjZFQ0Q0NTBGMjUyRjM3MDBCREUyNzEgLyogQ1NTUHJvcGVy
dHlMb25naGFuZC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMEY2RUNENDMwRjI1MkYzNzAwQkRFMjcxIC8qIENTU1Byb3BlcnR5TG9uZ2hhbmQuaCAqLzsg
fTsKLQkJMEY2RUNENDYwRjI1MkYzNzAwQkRFMjcxIC8qIENTU1Byb3BlcnR5TG9uZ2hhbmQuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEY2RUNENDQw
RjI1MkYzNzAwQkRFMjcxIC8qIENTU1Byb3BlcnR5TG9uZ2hhbmQuY3BwICovOyB9OwogCQkwRkNG
MzMyNDBGMkI5NzE1MDA0QjY3OTUgLyogQ29sb3JDRy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkNGMzMyMzBGMkI5NzE1MDA0QjY3OTUgLyogQ29s
b3JDRy5jcHAgKi87IH07CiAJCTBGQ0YzMzJDMEYyQjlBMjUwMDRCNjc5NSAvKiBXZWJUaWxlZExh
eWVyLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZD
RjMzMjgwRjJCOUEyNTAwNEI2Nzk1IC8qIFdlYlRpbGVkTGF5ZXIubW0gKi87IH07CiAJCTBGQ0Yz
MzJEMEYyQjlBMjUwMDRCNjc5NSAvKiBXZWJUaWxlZExheWVyLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkNGMzMyOTBGMkI5QTI1MDA0QjY3OTUgLyog
V2ViVGlsZWRMYXllci5oICovOyB9OwpAQCAtNzA2Niw4ICs3MDY0LDYgQEAKIAkJMEY1ODBGQUUx
NDk4MDBENDAwRkI1QkQ4IC8qIEFuaW1hdGlvblV0aWxpdGllcy5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IG5hbWUgPSBBbmltYXRpb25VdGlsaXRpZXMuaDsgcGF0aCA9IGFuaW1hdGlvbi9B
bmltYXRpb25VdGlsaXRpZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMEY1QjdB
NTIxMEY2NUQ3QTAwMzc2MzAyIC8qIFJlbmRlckVtYmVkZGVkT2JqZWN0LmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJlbmRlckVtYmVkZGVkT2JqZWN0LmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMEY1QjdBNTMxMEY2NUQ3QTAwMzc2MzAyIC8qIFJl
bmRlckVtYmVkZGVkT2JqZWN0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJl
bmRlckVtYmVkZGVkT2JqZWN0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTBGNkVD
RDQzMEYyNTJGMzcwMEJERTI3MSAvKiBDU1NQcm9wZXJ0eUxvbmdoYW5kLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENTU1Byb3BlcnR5TG9uZ2hhbmQuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKLQkJMEY2RUNENDQwRjI1MkYzNzAwQkRFMjcxIC8qIENTU1Byb3BlcnR5
TG9uZ2hhbmQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ1NTUHJv
cGVydHlMb25naGFuZC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBGQ0YzMzIz
MEYyQjk3MTUwMDRCNjc5NSAvKiBDb2xvckNHLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IENvbG9yQ0cuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkw
RkNGMzMyODBGMkI5QTI1MDA0QjY3OTUgLyogV2ViVGlsZWRMYXllci5tbSAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFdlYlRpbGVkTGF5ZXIubW07IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTBGQ0YzMzI5MEYyQjlBMjUwMDRCNjc5NSAvKiBXZWJUaWxlZExh
eWVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYlRpbGVkTGF5ZXIuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTEyOTMzLDYgKzEyOTI5LDggQEAKIAkJRTEy
RURCN0EwQjMwOEE3ODAwMjcwNEI2IC8qIEV2ZW50VGFyZ2V0LmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IEV2ZW50VGFyZ2V0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCUUxMkVEQkU5MEIzMDhFMEIwMDI3MDRCNiAvKiBFdmVudFRhcmdldC5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBFdmVudFRhcmdldC5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCUUxMzRGNUFBMTJFRTM0M0YwMDRFQzU4RCAvKiBJbnRSZWN0SGFz
aC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJbnRSZWN0SGFzaC5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQlFMTM2M0Q1ODE1MjlGRTFGMDAyRTFDQUEgLyogU3R5
bGVQcm9wZXJ0eVNob3J0aGFuZC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBTdHlsZVByb3BlcnR5U2hvcnRoYW5kLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJRTEzNjNENTkxNTI5RkUxRjAwMkUxQ0FBIC8qIFN0eWxlUHJvcGVydHlTaG9ydGhhbmQu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU3R5bGVQcm9wZXJ0eVNob3J0aGFu
ZC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFMTNGMDFFQTEyNzBFMTBEMDBERkJB
NzEgLyogQ29va2llU3RvcmFnZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBD
b29raWVTdG9yYWdlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUxM0YwMUYwMTI3
MEUxOTAwMERGQkE3MSAvKiBDb29raWVTdG9yYWdlTWFjLm1tICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAub2JqY3BwOyBwYXRoID0gQ29va2llU3RvcmFnZU1hYy5tbTsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJRTE0RjFDNDIxNEI1REFDNjAwRUE5MDA5IC8qIEhUTUxGb3JtQ29udHJv
bEVsZW1lbnRXaXRoU3RhdGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gSFRNTEZvcm1Db250cm9sRWxlbWVudFdpdGhTdGF0ZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CkBAIC0yMDQ2OCw4ICsyMDQ2Niw2IEBACiAJCQkJRTFFRDhBQzIwQ0M0OUJFMDAw
QkZDNTU3IC8qIENTU1ByaW1pdGl2ZVZhbHVlTWFwcGluZ3MuaCAqLywKIAkJCQlBODBFNkNDRDBB
MTk4OUNBMDA3RkI4QzUgLyogQ1NTUHJvcGVydHkuY3BwICovLAogCQkJCUE4MEU2Q0Q1MEExOTg5
Q0EwMDdGQjhDNSAvKiBDU1NQcm9wZXJ0eS5oICovLAotCQkJCTBGNkVDRDQ0MEYyNTJGMzcwMEJE
RTI3MSAvKiBDU1NQcm9wZXJ0eUxvbmdoYW5kLmNwcCAqLywKLQkJCQkwRjZFQ0Q0MzBGMjUyRjM3
MDBCREUyNzEgLyogQ1NTUHJvcGVydHlMb25naGFuZC5oICovLAogCQkJCUJDRUE0Nzg5MDk3Q0FB
QzgwMDk0QzlFNCAvKiBDU1NQcm9wZXJ0eU5hbWVzLmluICovLAogCQkJCTgyRTNEOERDMTIyRUEw
RDEwMDNBRTVCQyAvKiBDU1NQcm9wZXJ0eVNvdXJjZURhdGEuY3BwICovLAogCQkJCTgyRTNEOERE
MTIyRUEwRDEwMDNBRTVCQyAvKiBDU1NQcm9wZXJ0eVNvdXJjZURhdGEuaCAqLywKQEAgLTIwNTcx
LDYgKzIwNTY3LDggQEAKIAkJCQkwRkY1MDI3MDEwMkJBOTZBMDA2NkYzOUEgLyogU3R5bGVNZWRp
YS5pZGwgKi8sCiAJCQkJQTgwRTZERjkwQTE5OTA2NzAwN0ZCOEM1IC8qIFN0eWxlUHJvcGVydHlT
ZXQuY3BwICovLAogCQkJCUE4MEU2REZBMEExOTkwNjcwMDdGQjhDNSAvKiBTdHlsZVByb3BlcnR5
U2V0LmggKi8sCisJCQkJRTEzNjNENTgxNTI5RkUxRjAwMkUxQ0FBIC8qIFN0eWxlUHJvcGVydHlT
aG9ydGhhbmQuY3BwICovLAorCQkJCUUxMzYzRDU5MTUyOUZFMUYwMDJFMUNBQSAvKiBTdHlsZVBy
b3BlcnR5U2hvcnRoYW5kLmggKi8sCiAJCQkJRTRCQkVENEExNEZDREJBMTAwM0YwQjk4IC8qIFN0
eWxlUnVsZS5jcHAgKi8sCiAJCQkJRTRCQkVENEIxNEZDREJBMTAwM0YwQjk4IC8qIFN0eWxlUnVs
ZS5oICovLAogCQkJCUE4RUE4MDA1MEExOTUxNkUwMEE4RUY1RiAvKiBTdHlsZVNoZWV0LmNwcCAq
LywKQEAgLTIxNzc5LDcgKzIxNzc3LDYgQEAKIAkJCQlBODBFNkNFNjBBMTk4OUNBMDA3RkI4QzUg
LyogQ1NTUHJpbWl0aXZlVmFsdWUuaCBpbiBIZWFkZXJzICovLAogCQkJCUUxRUQ4QUMzMENDNDlC
RTAwMEJGQzU1NyAvKiBDU1NQcmltaXRpdmVWYWx1ZU1hcHBpbmdzLmggaW4gSGVhZGVycyAqLywK
IAkJCQlBODBFNkNGRjBBMTk4OUNBMDA3RkI4QzUgLyogQ1NTUHJvcGVydHkuaCBpbiBIZWFkZXJz
ICovLAotCQkJCTBGNkVDRDQ1MEYyNTJGMzcwMEJERTI3MSAvKiBDU1NQcm9wZXJ0eUxvbmdoYW5k
LmggaW4gSGVhZGVycyAqLywKIAkJCQk2NTY1ODBGNDA5RDEyQjIwMDAwRTYxRDcgLyogQ1NTUHJv
cGVydHlOYW1lcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODJFM0Q4REYxMjJFQTBEMTAwM0FFNUJD
IC8qIENTU1Byb3BlcnR5U291cmNlRGF0YS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTM2MjY0MEIw
REUxMTM3RDAwOUQ1QTAwIC8qIENTU1JlZmxlY3Rpb25EaXJlY3Rpb24uaCBpbiBIZWFkZXJzICov
LApAQCAtMjUyNDcsNyArMjUyNDQsNiBAQAogCQkJCTk3N0IzODYyMTIyODgzRTkwMEI4MUZGOCAv
KiBDU1NQcmVsb2FkU2Nhbm5lci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBODBFNkQwNTBBMTk4
OUNBMDA3RkI4QzUgLyogQ1NTUHJpbWl0aXZlVmFsdWUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
QTgwRTZDRjcwQTE5ODlDQTAwN0ZCOEM1IC8qIENTU1Byb3BlcnR5LmNwcCBpbiBTb3VyY2VzICov
LAotCQkJCTBGNkVDRDQ2MEYyNTJGMzcwMEJERTI3MSAvKiBDU1NQcm9wZXJ0eUxvbmdoYW5kLmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCTFBQkE3NkNBMTFEMjBFNTAwMDRDMjAxQyAvKiBDU1NQcm9w
ZXJ0eU5hbWVzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTgyRTNEOERFMTIyRUEwRDEwMDNBRTVC
QyAvKiBDU1NQcm9wZXJ0eVNvdXJjZURhdGEuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkM1QTEy
REYwREMwNDE0ODAwQzlBRkFEIC8qIENTU1JlZmxlY3RWYWx1ZS5jcHAgaW4gU291cmNlcyAqLywK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NBbGxJbk9uZS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTQWxsSW5PbmUuY3BwCmluZGV4IDAwNjVhMjY5MGViZWI2ZWU4M2QzMmI1
NWI2MGI5YWUwYzNiMDJjNjEuLjQzOTAyNWYwZmVjNjVhNWRjNzViMzcxNmQ0YTIzZmRkMjUxY2Qz
ZGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NBbGxJbk9uZS5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvY3NzL0NTU0FsbEluT25lLmNwcApAQCAtNTIsNyArNTIsNiBAQAogI2lu
Y2x1ZGUgIkNTU1BhZ2VSdWxlLmNwcCIKICNpbmNsdWRlICJDU1NQYXJzZXIuY3BwIgogI2luY2x1
ZGUgIkNTU1BhcnNlclZhbHVlcy5jcHAiCi0jaW5jbHVkZSAiQ1NTUHJvcGVydHlMb25naGFuZC5j
cHAiCiAjaW5jbHVkZSAiQ1NTUHJvcGVydHlTb3VyY2VEYXRhLmNwcCIKICNpbmNsdWRlICJDU1NS
ZWZsZWN0VmFsdWUuY3BwIgogI2luY2x1ZGUgIkNTU1J1bGUuY3BwIgpAQCAtNzIsMyArNzEsNCBA
QAogI2luY2x1ZGUgIkNTU1ZhbHVlUG9vbC5jcHAiCiAjaW5jbHVkZSAiQ1NTV3JhcFNoYXBlcy5j
cHAiCiAjaW5jbHVkZSAiU3R5bGVQcm9wZXJ0eVNldC5jcHAiCisjaW5jbHVkZSAiU3R5bGVQcm9w
ZXJ0eVNob3J0aGFuZC5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1
dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRT
dHlsZURlY2xhcmF0aW9uLmNwcAppbmRleCBjNTBiNTJmYzRjZThjOTI4ZmI2NDY3NGYyMjNmY2Rh
OWZjZDkzOWI2Li4wN2EwMzQzNDA3OTA2N2FmZjRlZWU2NDg3ZmQwYjZlNmVhZjljNmI1IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0aW9uLmNw
cApAQCAtMzIsNyArMzIsNiBAQAogI2luY2x1ZGUgIkNTU1ByaW1pdGl2ZVZhbHVlLmgiCiAjaW5j
bHVkZSAiQ1NTUHJpbWl0aXZlVmFsdWVNYXBwaW5ncy5oIgogI2luY2x1ZGUgIkNTU1Byb3BlcnR5
LmgiCi0jaW5jbHVkZSAiQ1NTUHJvcGVydHlMb25naGFuZC5oIgogI2luY2x1ZGUgIkNTU1Byb3Bl
cnR5TmFtZXMuaCIKICNpbmNsdWRlICJDU1NSZWZsZWN0VmFsdWUuaCIKICNpbmNsdWRlICJDU1NT
ZWxlY3Rvci5oIgpAQCAtNjAsNiArNTksNyBAQAogI2luY2x1ZGUgIlJlbmRlclZpZXcuaCIKICNp
bmNsdWRlICJTaGFkb3dWYWx1ZS5oIgogI2luY2x1ZGUgIlN0eWxlUHJvcGVydHlTZXQuaCIKKyNp
bmNsdWRlICJTdHlsZVByb3BlcnR5U2hvcnRoYW5kLmgiCiAjaWYgRU5BQkxFKENTU19GSUxURVJT
KQogI2luY2x1ZGUgIlN0eWxlQ3VzdG9tRmlsdGVyUHJvZ3JhbS5oIgogI2luY2x1ZGUgIldlYktp
dENTU0ZpbHRlclZhbHVlLmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFy
c2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwCmluZGV4IDE0N2JiYmQ1
MmI2MzhkODZiZTFkNzlkOTYwNjAxNDRhMjM0ZjdiOWMuLmEzM2RiZGY4OTY0M2Q1ZWZiOGMyNmRi
MTE4OGQ5MGQxZjQ0NDc0NjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJz
ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwCkBAIC00OCw3ICs0
OCw2IEBACiAjaW5jbHVkZSAiQ1NTUGFnZVJ1bGUuaCIKICNpbmNsdWRlICJDU1NQcmltaXRpdmVW
YWx1ZS5oIgogI2luY2x1ZGUgIkNTU1Byb3BlcnR5LmgiCi0jaW5jbHVkZSAiQ1NTUHJvcGVydHlM
b25naGFuZC5oIgogI2luY2x1ZGUgIkNTU1Byb3BlcnR5U291cmNlRGF0YS5oIgogI2luY2x1ZGUg
IkNTU1JlZmxlY3RWYWx1ZS5oIgogI2luY2x1ZGUgIkNTU1NlbGVjdG9yLmgiCkBAIC03Niw2ICs3
NSw3IEBACiAjaW5jbHVkZSAiU2V0dGluZ3MuaCIKICNpbmNsdWRlICJTaGFkb3dWYWx1ZS5oIgog
I2luY2x1ZGUgIlN0eWxlUHJvcGVydHlTZXQuaCIKKyNpbmNsdWRlICJTdHlsZVByb3BlcnR5U2hv
cnRoYW5kLmgiCiAjaW5jbHVkZSAiU3R5bGVSdWxlLmgiCiAjaWYgRU5BQkxFKENTU19GSUxURVJT
KQogI2luY2x1ZGUgIldlYktpdENTU0ZpbHRlclZhbHVlLmgiCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTUHJvcGVydHkuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3Bl
cnR5LmNwcAppbmRleCAxM2JmYzY0ODU4NTQyY2IyNzBiOGRjNDNjMzE0OWE3MDViOTAwN2IzLi44
YzgxMzRlZmQyNmJmYzg3ODUzODgwMDg4MmY5YTU0ODdhMTExZjZiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHkuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NQcm9wZXJ0eS5jcHAKQEAgLTIxLDExICsyMSwxMSBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgog
I2luY2x1ZGUgIkNTU1Byb3BlcnR5LmgiCiAKLSNpbmNsdWRlICJDU1NQcm9wZXJ0eUxvbmdoYW5k
LmgiCiAjaW5jbHVkZSAiQ1NTUHJvcGVydHlOYW1lcy5oIgogI2luY2x1ZGUgIkNTU1ZhbHVlTGlz
dC5oIgogI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCiAjaW5jbHVkZSAiUmVuZGVyU3R5bGVD
b25zdGFudHMuaCIKKyNpbmNsdWRlICJTdHlsZVByb3BlcnR5U2hvcnRoYW5kLmgiCiAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3Bl
cnR5TG9uZ2hhbmQuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5TG9uZ2hhbmQu
Y3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBlOGY0OTBiYjZjOTk5N2ViY2NmMzJm
ODA2ZDVkMWZiZWJkMTk3YmFlLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eUxvbmdoYW5kLmNwcAorKysg
L2Rldi9udWxsCkBAIC0xLDUwNyArMCwwIEBACi0vKgotICogKEMpIDE5OTktMjAwMyBMYXJzIEtu
b2xsIChrbm9sbEBrZGUub3JnKQotICogQ29weXJpZ2h0IChDKSAyMDA0LCAyMDA1LCAyMDA2LCAy
MDA3LCAyMDA4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAqCi0gKiBUaGlzIGxp
YnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0g
KiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1
YmxpYwotICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRh
dGlvbjsgZWl0aGVyCi0gKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9w
dGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0gKgotICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1
dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0gKiBidXQgV0lUSE9VVCBB
TlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotICogTUVS
Q0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRo
ZSBHTlUKLSAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxz
LgotICoKLSAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJy
YXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLSAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBz
ZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCi0gKiB0aGUgRnJlZSBT
b2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29y
LAotICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCi0gKi8KLQotI2luY2x1ZGUgImNvbmZp
Zy5oIgotI2luY2x1ZGUgIkNTU1Byb3BlcnR5TG9uZ2hhbmQuaCIKLQotI2luY2x1ZGUgPHd0Zi9T
dGRMaWJFeHRyYXMuaD4KLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi0vLyBGSVhNRTogQWRkIENT
U1Byb3BlcnR5QmFja2dyb3VuZFNpemUgdG8gdGhlIHNob3J0aGFuZC4KLWNvbnN0IFN0eWxlUHJv
cGVydHlTaG9ydGhhbmQmIGJhY2tncm91bmRTaG9ydGhhbmQoKQotewotICAgIHN0YXRpYyBjb25z
dCBDU1NQcm9wZXJ0eUlEIGJhY2tncm91bmRQcm9wZXJ0aWVzW10gPSB7Ci0gICAgICAgIENTU1By
b3BlcnR5QmFja2dyb3VuZENvbG9yLAotICAgICAgICBDU1NQcm9wZXJ0eUJhY2tncm91bmRJbWFn
ZSwKLSAgICAgICAgQ1NTUHJvcGVydHlCYWNrZ3JvdW5kUmVwZWF0WCwKLSAgICAgICAgQ1NTUHJv
cGVydHlCYWNrZ3JvdW5kUmVwZWF0WSwKLSAgICAgICAgQ1NTUHJvcGVydHlCYWNrZ3JvdW5kQXR0
YWNobWVudCwKLSAgICAgICAgQ1NTUHJvcGVydHlCYWNrZ3JvdW5kUG9zaXRpb25YLAotICAgICAg
ICBDU1NQcm9wZXJ0eUJhY2tncm91bmRQb3NpdGlvblksCi0gICAgICAgIENTU1Byb3BlcnR5QmFj
a2dyb3VuZENsaXAsCi0gICAgICAgIENTU1Byb3BlcnR5QmFja2dyb3VuZE9yaWdpbgotICAgIH07
Ci0gICAgREVGSU5FX1NUQVRJQ19MT0NBTChTdHlsZVByb3BlcnR5U2hvcnRoYW5kLCBiYWNrZ3Jv
dW5kU2hvcnRoYW5kLCAoYmFja2dyb3VuZFByb3BlcnRpZXMsIFdURl9BUlJBWV9MRU5HVEgoYmFj
a2dyb3VuZFByb3BlcnRpZXMpKSk7Ci0gICAgcmV0dXJuIGJhY2tncm91bmRTaG9ydGhhbmQ7Ci19
Ci0KLWNvbnN0IFN0eWxlUHJvcGVydHlTaG9ydGhhbmQmIGJhY2tncm91bmRQb3NpdGlvblNob3J0
aGFuZCgpCi17Ci0gICAgc3RhdGljIGNvbnN0IENTU1Byb3BlcnR5SUQgYmFja2dyb3VuZFBvc2l0
aW9uUHJvcGVydGllc1tdID0geyBDU1NQcm9wZXJ0eUJhY2tncm91bmRQb3NpdGlvblgsIENTU1By
b3BlcnR5QmFja2dyb3VuZFBvc2l0aW9uWSB9OwotICAgIERFRklORV9TVEFUSUNfTE9DQUwoU3R5
bGVQcm9wZXJ0eVNob3J0aGFuZCwgYmFja2dyb3VuZFBvc2l0aW9uTG9uZ2hhbmRzLCAoYmFja2dy
b3VuZFBvc2l0aW9uUHJvcGVydGllcywgV1RGX0FSUkFZX0xFTkdUSChiYWNrZ3JvdW5kUG9zaXRp
b25Qcm9wZXJ0aWVzKSkpOwotICAgIHJldHVybiBiYWNrZ3JvdW5kUG9zaXRpb25Mb25naGFuZHM7
Ci19Ci0KLWNvbnN0IFN0eWxlUHJvcGVydHlTaG9ydGhhbmQmIGJhY2tncm91bmRSZXBlYXRTaG9y
dGhhbmQoKQotewotICAgIHN0YXRpYyBjb25zdCBDU1NQcm9wZXJ0eUlEIGJhY2tncm91bmRSZXBl
YXRQcm9wZXJ0aWVzW10gPSB7IENTU1Byb3BlcnR5QmFja2dyb3VuZFJlcGVhdFgsIENTU1Byb3Bl
cnR5QmFja2dyb3VuZFJlcGVhdFkgfTsKLSAgICBERUZJTkVfU1RBVElDX0xPQ0FMKFN0eWxlUHJv
cGVydHlTaG9ydGhhbmQsIGJhY2tncm91bmRSZXBlYXRMb25naGFuZHMsIChiYWNrZ3JvdW5kUmVw
ZWF0UHJvcGVydGllcywgV1RGX0FSUkFZX0xFTkdUSChiYWNrZ3JvdW5kUmVwZWF0UHJvcGVydGll
cykpKTsKLSAgICByZXR1cm4gYmFja2dyb3VuZFJlcGVhdExvbmdoYW5kczsKLX0KLQotY29uc3Qg
U3R5bGVQcm9wZXJ0eVNob3J0aGFuZCYgYm9yZGVyU2hvcnRoYW5kKCkKLXsKLSAgICAvLyBEbyBu
b3QgY2hhbmdlIHRoZSBvcmRlciBvZiB0aGUgZm9sbG93aW5nIGZvdXIgc2hvcnRoYW5kcywgYW5k
IGtlZXAgdGhlbSB0b2dldGhlci4KLSAgICBzdGF0aWMgY29uc3QgQ1NTUHJvcGVydHlJRCBib3Jk
ZXJQcm9wZXJ0aWVzWzRdWzNdID0gewotICAgICAgICB7IENTU1Byb3BlcnR5Qm9yZGVyVG9wQ29s
b3IsIENTU1Byb3BlcnR5Qm9yZGVyVG9wU3R5bGUsIENTU1Byb3BlcnR5Qm9yZGVyVG9wV2lkdGgg
fSwKLSAgICAgICAgeyBDU1NQcm9wZXJ0eUJvcmRlclJpZ2h0Q29sb3IsIENTU1Byb3BlcnR5Qm9y
ZGVyUmlnaHRTdHlsZSwgQ1NTUHJvcGVydHlCb3JkZXJSaWdodFdpZHRoIH0sCi0gICAgICAgIHsg
Q1NTUHJvcGVydHlCb3JkZXJCb3R0b21Db2xvciwgQ1NTUHJvcGVydHlCb3JkZXJCb3R0b21TdHls
ZSwgQ1NTUHJvcGVydHlCb3JkZXJCb3R0b21XaWR0aCB9LAotICAgICAgICB7IENTU1Byb3BlcnR5
Qm9yZGVyTGVmdENvbG9yLCBDU1NQcm9wZXJ0eUJvcmRlckxlZnRTdHlsZSwgQ1NTUHJvcGVydHlC
b3JkZXJMZWZ0V2lkdGggfQotICAgIH07Ci0gICAgREVGSU5FX1NUQVRJQ19MT0NBTChTdHlsZVBy
b3BlcnR5U2hvcnRoYW5kLCBib3JkZXJMb25naGFuZHMsIChib3JkZXJQcm9wZXJ0aWVzWzBdLCBz
aXplb2YoYm9yZGVyUHJvcGVydGllcykgLyBzaXplb2YoYm9yZGVyUHJvcGVydGllc1swXVswXSkp
KTsKLSAgICByZXR1cm4gYm9yZGVyTG9uZ2hhbmRzOwotfQotCi1jb25zdCBTdHlsZVByb3BlcnR5
U2hvcnRoYW5kJiBib3JkZXJBYnJpZGdlZFNob3J0aGFuZCgpCi17Ci0gICAgc3RhdGljIGNvbnN0
IENTU1Byb3BlcnR5SUQgYm9yZGVyQWJyaWRnZWRQcm9wZXJ0aWVzW10gPSB7IENTU1Byb3BlcnR5
Qm9yZGVyV2lkdGgsIENTU1Byb3BlcnR5Qm9yZGVyU3R5bGUsIENTU1Byb3BlcnR5Qm9yZGVyQ29s
b3IgfTsKLSAgICBzdGF0aWMgY29uc3QgU3R5bGVQcm9wZXJ0eVNob3J0aGFuZCogcHJvcGVydGll
c0ZvckluaXRpYWxpemF0aW9uW10gPSB7Ci0gICAgICAgICZib3JkZXJXaWR0aFNob3J0aGFuZCgp
LAotICAgICAgICAmYm9yZGVyU3R5bGVTaG9ydGhhbmQoKSwKLSAgICAgICAgJmJvcmRlckNvbG9y
U2hvcnRoYW5kKCksCi0gICAgfTsKLSAgICBERUZJTkVfU1RBVElDX0xPQ0FMKFN0eWxlUHJvcGVy
dHlTaG9ydGhhbmQsIGJvcmRlckFicmlkZ2VkTG9uZ2hhbmRzLAotICAgICAgICAoYm9yZGVyQWJy
aWRnZWRQcm9wZXJ0aWVzLCBwcm9wZXJ0aWVzRm9ySW5pdGlhbGl6YXRpb24sIFdURl9BUlJBWV9M
RU5HVEgoYm9yZGVyQWJyaWRnZWRQcm9wZXJ0aWVzKSkpOwotICAgIHJldHVybiBib3JkZXJBYnJp
ZGdlZExvbmdoYW5kczsKLX0KLQotY29uc3QgU3R5bGVQcm9wZXJ0eVNob3J0aGFuZCYgYm9yZGVy
Qm90dG9tU2hvcnRoYW5kKCkKLXsKLSAgICBzdGF0aWMgY29uc3QgQ1NTUHJvcGVydHlJRCBib3Jk
ZXJCb3R0b21Qcm9wZXJ0aWVzW10gPSB7IENTU1Byb3BlcnR5Qm9yZGVyQm90dG9tV2lkdGgsIENT
U1Byb3BlcnR5Qm9yZGVyQm90dG9tU3R5bGUsIENTU1Byb3BlcnR5Qm9yZGVyQm90dG9tQ29sb3Ig
fTsKLSAgICBERUZJTkVfU1RBVElDX0xPQ0FMKFN0eWxlUHJvcGVydHlTaG9ydGhhbmQsIGJvcmRl
ckJvdHRvbUxvbmdoYW5kcywgKGJvcmRlckJvdHRvbVByb3BlcnRpZXMsIFdURl9BUlJBWV9MRU5H
VEgoYm9yZGVyQm90dG9tUHJvcGVydGllcykpKTsKLSAgICByZXR1cm4gYm9yZGVyQm90dG9tTG9u
Z2hhbmRzOwotfQotCi1jb25zdCBTdHlsZVByb3BlcnR5U2hvcnRoYW5kJiBib3JkZXJDb2xvclNo
b3J0aGFuZCgpCi17Ci0gICAgc3RhdGljIGNvbnN0IENTU1Byb3BlcnR5SUQgYm9yZGVyQ29sb3JQ
cm9wZXJ0aWVzW10gPSB7Ci0gICAgICAgIENTU1Byb3BlcnR5Qm9yZGVyVG9wQ29sb3IsCi0gICAg
ICAgIENTU1Byb3BlcnR5Qm9yZGVyUmlnaHRDb2xvciwKLSAgICAgICAgQ1NTUHJvcGVydHlCb3Jk
ZXJCb3R0b21Db2xvciwKLSAgICAgICAgQ1NTUHJvcGVydHlCb3JkZXJMZWZ0Q29sb3IKLSAgICB9
OwotICAgIERFRklORV9TVEFUSUNfTE9DQUwoU3R5bGVQcm9wZXJ0eVNob3J0aGFuZCwgYm9yZGVy
Q29sb3JMb25naGFuZHMsIChib3JkZXJDb2xvclByb3BlcnRpZXMsIFdURl9BUlJBWV9MRU5HVEgo
Ym9yZGVyQ29sb3JQcm9wZXJ0aWVzKSkpOwotICAgIHJldHVybiBib3JkZXJDb2xvckxvbmdoYW5k
czsKLX0KLQotY29uc3QgU3R5bGVQcm9wZXJ0eVNob3J0aGFuZCYgYm9yZGVySW1hZ2VTaG9ydGhh
bmQoKQotewotICAgIHN0YXRpYyBjb25zdCBDU1NQcm9wZXJ0eUlEIGJvcmRlckltYWdlUHJvcGVy
dGllc1tdID0gewotICAgICAgICBDU1NQcm9wZXJ0eUJvcmRlckltYWdlU291cmNlLAotICAgICAg
ICBDU1NQcm9wZXJ0eUJvcmRlckltYWdlU2xpY2UsCi0gICAgICAgIENTU1Byb3BlcnR5Qm9yZGVy
SW1hZ2VXaWR0aCwKLSAgICAgICAgQ1NTUHJvcGVydHlCb3JkZXJJbWFnZU91dHNldCwKLSAgICAg
ICAgQ1NTUHJvcGVydHlCb3JkZXJJbWFnZVJlcGVhdAotICAgIH07Ci0gICAgREVGSU5FX1NUQVRJ
Q19MT0NBTChTdHlsZVByb3BlcnR5U2hvcnRoYW5kLCBib3JkZXJJbWFnZUxvbmdoYW5kcywgKGJv
cmRlckltYWdlUHJvcGVydGllcywgV1RGX0FSUkFZX0xFTkdUSChib3JkZXJJbWFnZVByb3BlcnRp
ZXMpKSk7Ci0gICAgcmV0dXJuIGJvcmRlckltYWdlTG9uZ2hhbmRzOwotfQotCi1jb25zdCBTdHls
ZVByb3BlcnR5U2hvcnRoYW5kJiBib3JkZXJMZWZ0U2hvcnRoYW5kKCkKLXsKLSAgICBzdGF0aWMg
Y29uc3QgQ1NTUHJvcGVydHlJRCBib3JkZXJMZWZ0UHJvcGVydGllc1tdID0geyBDU1NQcm9wZXJ0
eUJvcmRlckxlZnRXaWR0aCwgQ1NTUHJvcGVydHlCb3JkZXJMZWZ0U3R5bGUsIENTU1Byb3BlcnR5
Qm9yZGVyTGVmdENvbG9yIH07Ci0gICAgREVGSU5FX1NUQVRJQ19MT0NBTChTdHlsZVByb3BlcnR5
U2hvcnRoYW5kLCBib3JkZXJMZWZ0TG9uZ2hhbmRzLCAoYm9yZGVyTGVmdFByb3BlcnRpZXMsIFdU
Rl9BUlJBWV9MRU5HVEgoYm9yZGVyTGVmdFByb3BlcnRpZXMpKSk7Ci0gICAgcmV0dXJuIGJvcmRl
ckxlZnRMb25naGFuZHM7Ci19Ci0KLWNvbnN0IFN0eWxlUHJvcGVydHlTaG9ydGhhbmQmIGJvcmRl
clJhZGl1c1Nob3J0aGFuZCgpCi17Ci0gICAgc3RhdGljIGNvbnN0IENTU1Byb3BlcnR5SUQgYm9y
ZGVyUmFkaXVzUHJvcGVydGllc1tdID0gewotICAgICAgICBDU1NQcm9wZXJ0eUJvcmRlclRvcFJp
Z2h0UmFkaXVzLAotICAgICAgICBDU1NQcm9wZXJ0eUJvcmRlclRvcExlZnRSYWRpdXMsCi0gICAg
ICAgIENTU1Byb3BlcnR5Qm9yZGVyQm90dG9tTGVmdFJhZGl1cywKLSAgICAgICAgQ1NTUHJvcGVy
dHlCb3JkZXJCb3R0b21SaWdodFJhZGl1cwotICAgIH07Ci0gICAgREVGSU5FX1NUQVRJQ19MT0NB
TChTdHlsZVByb3BlcnR5U2hvcnRoYW5kLCBib3JkZXJSYWRpdXNMb25naGFuZHMsIChib3JkZXJS
YWRpdXNQcm9wZXJ0aWVzLCBXVEZfQVJSQVlfTEVOR1RIKGJvcmRlclJhZGl1c1Byb3BlcnRpZXMp
KSk7Ci0gICAgcmV0dXJuIGJvcmRlclJhZGl1c0xvbmdoYW5kczsKLX0KLQotY29uc3QgU3R5bGVQ
cm9wZXJ0eVNob3J0aGFuZCYgYm9yZGVyUmlnaHRTaG9ydGhhbmQoKQotewotICAgIHN0YXRpYyBj
b25zdCBDU1NQcm9wZXJ0eUlEIGJvcmRlclJpZ2h0UHJvcGVydGllc1tdID0geyBDU1NQcm9wZXJ0
eUJvcmRlclJpZ2h0V2lkdGgsIENTU1Byb3BlcnR5Qm9yZGVyUmlnaHRTdHlsZSwgQ1NTUHJvcGVy
dHlCb3JkZXJSaWdodENvbG9yIH07Ci0gICAgREVGSU5FX1NUQVRJQ19MT0NBTChTdHlsZVByb3Bl
cnR5U2hvcnRoYW5kLCBib3JkZXJSaWdodExvbmdoYW5kcywgKGJvcmRlclJpZ2h0UHJvcGVydGll
cywgV1RGX0FSUkFZX0xFTkdUSChib3JkZXJSaWdodFByb3BlcnRpZXMpKSk7Ci0gICAgcmV0dXJu
IGJvcmRlclJpZ2h0TG9uZ2hhbmRzOwotfQotCi1jb25zdCBTdHlsZVByb3BlcnR5U2hvcnRoYW5k
JiBib3JkZXJTcGFjaW5nU2hvcnRoYW5kKCkKLXsKLSAgICBzdGF0aWMgY29uc3QgQ1NTUHJvcGVy
dHlJRCBib3JkZXJTcGFjaW5nUHJvcGVydGllc1tdID0geyBDU1NQcm9wZXJ0eVdlYmtpdEJvcmRl
ckhvcml6b250YWxTcGFjaW5nLCBDU1NQcm9wZXJ0eVdlYmtpdEJvcmRlclZlcnRpY2FsU3BhY2lu
ZyB9OwotICAgIERFRklORV9TVEFUSUNfTE9DQUwoU3R5bGVQcm9wZXJ0eVNob3J0aGFuZCwgYm9y
ZGVyU3BhY2luZ0xvbmdoYW5kcywgKGJvcmRlclNwYWNpbmdQcm9wZXJ0aWVzLCBXVEZfQVJSQVlf
TEVOR1RIKGJvcmRlclNwYWNpbmdQcm9wZXJ0aWVzKSkpOwotICAgIHJldHVybiBib3JkZXJTcGFj
aW5nTG9uZ2hhbmRzOwotfQotCi1jb25zdCBTdHlsZVByb3BlcnR5U2hvcnRoYW5kJiBib3JkZXJT
dHlsZVNob3J0aGFuZCgpCi17Ci0gICAgc3RhdGljIGNvbnN0IENTU1Byb3BlcnR5SUQgYm9yZGVy
U3R5bGVQcm9wZXJ0aWVzW10gPSB7Ci0gICAgICAgIENTU1Byb3BlcnR5Qm9yZGVyVG9wU3R5bGUs
Ci0gICAgICAgIENTU1Byb3BlcnR5Qm9yZGVyUmlnaHRTdHlsZSwKLSAgICAgICAgQ1NTUHJvcGVy
dHlCb3JkZXJCb3R0b21TdHlsZSwKLSAgICAgICAgQ1NTUHJvcGVydHlCb3JkZXJMZWZ0U3R5bGUK
LSAgICB9OwotICAgIERFRklORV9TVEFUSUNfTE9DQUwoU3R5bGVQcm9wZXJ0eVNob3J0aGFuZCwg
Ym9yZGVyU3R5bGVMb25naGFuZHMsIChib3JkZXJTdHlsZVByb3BlcnRpZXMsIFdURl9BUlJBWV9M
RU5HVEgoYm9yZGVyU3R5bGVQcm9wZXJ0aWVzKSkpOwotICAgIHJldHVybiBib3JkZXJTdHlsZUxv
bmdoYW5kczsKLX0KLQotY29uc3QgU3R5bGVQcm9wZXJ0eVNob3J0aGFuZCYgYm9yZGVyVG9wU2hv
cnRoYW5kKCkKLXsKLSAgICBzdGF0aWMgY29uc3QgQ1NTUHJvcGVydHlJRCBib3JkZXJUb3BQcm9w
ZXJ0aWVzW10gPSB7IENTU1Byb3BlcnR5Qm9yZGVyVG9wV2lkdGgsIENTU1Byb3BlcnR5Qm9yZGVy
VG9wU3R5bGUsIENTU1Byb3BlcnR5Qm9yZGVyVG9wQ29sb3IgfTsKLSAgICBERUZJTkVfU1RBVElD
X0xPQ0FMKFN0eWxlUHJvcGVydHlTaG9ydGhhbmQsIGJvcmRlclRvcExvbmdoYW5kcywgKGJvcmRl
clRvcFByb3BlcnRpZXMsIFdURl9BUlJBWV9MRU5HVEgoYm9yZGVyVG9wUHJvcGVydGllcykpKTsK
LSAgICByZXR1cm4gYm9yZGVyVG9wTG9uZ2hhbmRzOwotfQotCi1jb25zdCBTdHlsZVByb3BlcnR5
U2hvcnRoYW5kJiBib3JkZXJXaWR0aFNob3J0aGFuZCgpCi17Ci0gICAgc3RhdGljIGNvbnN0IENT
U1Byb3BlcnR5SUQgYm9yZGVyV2lkdGhQcm9wZXJ0aWVzW10gPSB7Ci0gICAgICAgIENTU1Byb3Bl
cnR5Qm9yZGVyVG9wV2lkdGgsCi0gICAgICAgIENTU1Byb3BlcnR5Qm9yZGVyUmlnaHRXaWR0aCwK
LSAgICAgICAgQ1NTUHJvcGVydHlCb3JkZXJCb3R0b21XaWR0aCwKLSAgICAgICAgQ1NTUHJvcGVy
dHlCb3JkZXJMZWZ0V2lkdGgKLSAgICB9OwotICAgIERFRklORV9TVEFUSUNfTE9DQUwoU3R5bGVQ
cm9wZXJ0eVNob3J0aGFuZCwgYm9yZGVyV2lkdGhMb25naGFuZHMsIChib3JkZXJXaWR0aFByb3Bl
cnRpZXMsIFdURl9BUlJBWV9MRU5HVEgoYm9yZGVyV2lkdGhQcm9wZXJ0aWVzKSkpOwotICAgIHJl
dHVybiBib3JkZXJXaWR0aExvbmdoYW5kczsKLX0KLQotY29uc3QgU3R5bGVQcm9wZXJ0eVNob3J0
aGFuZCYgbGlzdFN0eWxlU2hvcnRoYW5kKCkKLXsKLSAgICBzdGF0aWMgY29uc3QgQ1NTUHJvcGVy
dHlJRCBsaXN0U3R5bGVQcm9wZXJ0aWVzW10gPSB7Ci0gICAgICAgIENTU1Byb3BlcnR5TGlzdFN0
eWxlVHlwZSwKLSAgICAgICAgQ1NTUHJvcGVydHlMaXN0U3R5bGVQb3NpdGlvbiwKLSAgICAgICAg
Q1NTUHJvcGVydHlMaXN0U3R5bGVJbWFnZQotICAgIH07Ci0gICAgREVGSU5FX1NUQVRJQ19MT0NB
TChTdHlsZVByb3BlcnR5U2hvcnRoYW5kLCBsaXN0U3R5bGVMb25naGFuZHMsIChsaXN0U3R5bGVQ
cm9wZXJ0aWVzLCBXVEZfQVJSQVlfTEVOR1RIKGxpc3RTdHlsZVByb3BlcnRpZXMpKSk7Ci0gICAg
cmV0dXJuIGxpc3RTdHlsZUxvbmdoYW5kczsKLX0KLQotY29uc3QgU3R5bGVQcm9wZXJ0eVNob3J0
aGFuZCYgZm9udFNob3J0aGFuZCgpCi17Ci0gICAgc3RhdGljIGNvbnN0IENTU1Byb3BlcnR5SUQg
Zm9udFByb3BlcnRpZXNbXSA9IHsKLSAgICAgICAgQ1NTUHJvcGVydHlGb250RmFtaWx5LAotICAg
ICAgICBDU1NQcm9wZXJ0eUZvbnRTaXplLAotICAgICAgICBDU1NQcm9wZXJ0eUZvbnRTdHlsZSwK
LSAgICAgICAgQ1NTUHJvcGVydHlGb250VmFyaWFudCwKLSAgICAgICAgQ1NTUHJvcGVydHlGb250
V2VpZ2h0LAotICAgICAgICBDU1NQcm9wZXJ0eUxpbmVIZWlnaHQKLSAgICB9OwotICAgIERFRklO
RV9TVEFUSUNfTE9DQUwoU3R5bGVQcm9wZXJ0eVNob3J0aGFuZCwgZm9udExvbmdoYW5kcywgKGZv
bnRQcm9wZXJ0aWVzLCBXVEZfQVJSQVlfTEVOR1RIKGZvbnRQcm9wZXJ0aWVzKSkpOwotICAgIHJl
dHVybiBmb250TG9uZ2hhbmRzOwotfQotCi1jb25zdCBTdHlsZVByb3BlcnR5U2hvcnRoYW5kJiBt
YXJnaW5TaG9ydGhhbmQoKQotewotICAgIHN0YXRpYyBjb25zdCBDU1NQcm9wZXJ0eUlEIG1hcmdp
blByb3BlcnRpZXNbXSA9IHsKLSAgICAgICAgQ1NTUHJvcGVydHlNYXJnaW5Ub3AsCi0gICAgICAg
IENTU1Byb3BlcnR5TWFyZ2luUmlnaHQsCi0gICAgICAgIENTU1Byb3BlcnR5TWFyZ2luQm90dG9t
LAotICAgICAgICBDU1NQcm9wZXJ0eU1hcmdpbkxlZnQKLSAgICB9OwotICAgIERFRklORV9TVEFU
SUNfTE9DQUwoU3R5bGVQcm9wZXJ0eVNob3J0aGFuZCwgbWFyZ2luTG9uZ2hhbmRzLCAobWFyZ2lu
UHJvcGVydGllcywgV1RGX0FSUkFZX0xFTkdUSChtYXJnaW5Qcm9wZXJ0aWVzKSkpOwotICAgIHJl
dHVybiBtYXJnaW5Mb25naGFuZHM7Ci19Ci0KLWNvbnN0IFN0eWxlUHJvcGVydHlTaG9ydGhhbmQm
IG91dGxpbmVTaG9ydGhhbmQoKQotewotICAgIHN0YXRpYyBjb25zdCBDU1NQcm9wZXJ0eUlEIG91
dGxpbmVQcm9wZXJ0aWVzW10gPSB7Ci0gICAgICAgIENTU1Byb3BlcnR5T3V0bGluZUNvbG9yLAot
ICAgICAgICBDU1NQcm9wZXJ0eU91dGxpbmVTdHlsZSwKLSAgICAgICAgQ1NTUHJvcGVydHlPdXRs
aW5lV2lkdGgKLSAgICB9OwotICAgIERFRklORV9TVEFUSUNfTE9DQUwoU3R5bGVQcm9wZXJ0eVNo
b3J0aGFuZCwgb3V0bGluZUxvbmdoYW5kcywgKG91dGxpbmVQcm9wZXJ0aWVzLCBXVEZfQVJSQVlf
TEVOR1RIKG91dGxpbmVQcm9wZXJ0aWVzKSkpOwotICAgIHJldHVybiBvdXRsaW5lTG9uZ2hhbmRz
OwotfQotCi1jb25zdCBTdHlsZVByb3BlcnR5U2hvcnRoYW5kJiBvdmVyZmxvd1Nob3J0aGFuZCgp
Ci17Ci0gICAgc3RhdGljIGNvbnN0IENTU1Byb3BlcnR5SUQgb3ZlcmZsb3dQcm9wZXJ0aWVzW10g
PSB7IENTU1Byb3BlcnR5T3ZlcmZsb3dYLCBDU1NQcm9wZXJ0eU92ZXJmbG93WSB9OwotICAgIERF
RklORV9TVEFUSUNfTE9DQUwoU3R5bGVQcm9wZXJ0eVNob3J0aGFuZCwgb3ZlcmZsb3dMb25naGFu
ZHMsIChvdmVyZmxvd1Byb3BlcnRpZXMsIFdURl9BUlJBWV9MRU5HVEgob3ZlcmZsb3dQcm9wZXJ0
aWVzKSkpOwotICAgIHJldHVybiBvdmVyZmxvd0xvbmdoYW5kczsKLX0KLQotY29uc3QgU3R5bGVQ
cm9wZXJ0eVNob3J0aGFuZCYgcGFkZGluZ1Nob3J0aGFuZCgpCi17Ci0gICAgc3RhdGljIGNvbnN0
IENTU1Byb3BlcnR5SUQgcGFkZGluZ1Byb3BlcnRpZXNbXSA9IHsKLSAgICAgICAgQ1NTUHJvcGVy
dHlQYWRkaW5nVG9wLAotICAgICAgICBDU1NQcm9wZXJ0eVBhZGRpbmdSaWdodCwKLSAgICAgICAg
Q1NTUHJvcGVydHlQYWRkaW5nQm90dG9tLAotICAgICAgICBDU1NQcm9wZXJ0eVBhZGRpbmdMZWZ0
Ci0gICAgfTsKLSAgICBERUZJTkVfU1RBVElDX0xPQ0FMKFN0eWxlUHJvcGVydHlTaG9ydGhhbmQs
IHBhZGRpbmdMb25naGFuZHMsIChwYWRkaW5nUHJvcGVydGllcywgV1RGX0FSUkFZX0xFTkdUSChw
YWRkaW5nUHJvcGVydGllcykpKTsKLSAgICByZXR1cm4gcGFkZGluZ0xvbmdoYW5kczsKLX0KLQot
Y29uc3QgU3R5bGVQcm9wZXJ0eVNob3J0aGFuZCYgd2Via2l0QW5pbWF0aW9uU2hvcnRoYW5kKCkK
LXsKLSAgICBzdGF0aWMgY29uc3QgQ1NTUHJvcGVydHlJRCBhbmltYXRpb25Qcm9wZXJ0aWVzW10g
PSB7Ci0gICAgICAgIENTU1Byb3BlcnR5V2Via2l0QW5pbWF0aW9uTmFtZSwKLSAgICAgICAgQ1NT
UHJvcGVydHlXZWJraXRBbmltYXRpb25EdXJhdGlvbiwKLSAgICAgICAgQ1NTUHJvcGVydHlXZWJr
aXRBbmltYXRpb25UaW1pbmdGdW5jdGlvbiwKLSAgICAgICAgQ1NTUHJvcGVydHlXZWJraXRBbmlt
YXRpb25EZWxheSwKLSAgICAgICAgQ1NTUHJvcGVydHlXZWJraXRBbmltYXRpb25JdGVyYXRpb25D
b3VudCwKLSAgICAgICAgQ1NTUHJvcGVydHlXZWJraXRBbmltYXRpb25EaXJlY3Rpb24sCi0gICAg
ICAgIENTU1Byb3BlcnR5V2Via2l0QW5pbWF0aW9uRmlsbE1vZGUKLSAgICB9OwotICAgIERFRklO
RV9TVEFUSUNfTE9DQUwoU3R5bGVQcm9wZXJ0eVNob3J0aGFuZCwgd2Via2l0QW5pbWF0aW9uTG9u
Z2hhbmRzLCAoYW5pbWF0aW9uUHJvcGVydGllcywgV1RGX0FSUkFZX0xFTkdUSChhbmltYXRpb25Q
cm9wZXJ0aWVzKSkpOwotICAgIHJldHVybiB3ZWJraXRBbmltYXRpb25Mb25naGFuZHM7Ci19Ci0K
LWNvbnN0IFN0eWxlUHJvcGVydHlTaG9ydGhhbmQmIHdlYmtpdEJvcmRlckFmdGVyU2hvcnRoYW5k
KCkKLXsKLSAgICBzdGF0aWMgY29uc3QgQ1NTUHJvcGVydHlJRCBib3JkZXJBZnRlclByb3BlcnRp
ZXNbXSA9IHsgQ1NTUHJvcGVydHlXZWJraXRCb3JkZXJBZnRlcldpZHRoLCBDU1NQcm9wZXJ0eVdl
YmtpdEJvcmRlckFmdGVyU3R5bGUsIENTU1Byb3BlcnR5V2Via2l0Qm9yZGVyQWZ0ZXJDb2xvciAg
fTsKLSAgICBERUZJTkVfU1RBVElDX0xPQ0FMKFN0eWxlUHJvcGVydHlTaG9ydGhhbmQsIHdlYmtp
dEJvcmRlckFmdGVyTG9uZ2hhbmRzLCAoYm9yZGVyQWZ0ZXJQcm9wZXJ0aWVzLCBXVEZfQVJSQVlf
TEVOR1RIKGJvcmRlckFmdGVyUHJvcGVydGllcykpKTsKLSAgICByZXR1cm4gd2Via2l0Qm9yZGVy
QWZ0ZXJMb25naGFuZHM7Ci19Ci0KLWNvbnN0IFN0eWxlUHJvcGVydHlTaG9ydGhhbmQmIHdlYmtp
dEJvcmRlckJlZm9yZVNob3J0aGFuZCgpCi17Ci0gICAgc3RhdGljIGNvbnN0IENTU1Byb3BlcnR5
SUQgYm9yZGVyQmVmb3JlUHJvcGVydGllc1tdID0geyBDU1NQcm9wZXJ0eVdlYmtpdEJvcmRlckJl
Zm9yZVdpZHRoLCBDU1NQcm9wZXJ0eVdlYmtpdEJvcmRlckJlZm9yZVN0eWxlLCBDU1NQcm9wZXJ0
eVdlYmtpdEJvcmRlckJlZm9yZUNvbG9yICB9OwotICAgIERFRklORV9TVEFUSUNfTE9DQUwoU3R5
bGVQcm9wZXJ0eVNob3J0aGFuZCwgd2Via2l0Qm9yZGVyQmVmb3JlTG9uZ2hhbmRzLCAoYm9yZGVy
QmVmb3JlUHJvcGVydGllcywgV1RGX0FSUkFZX0xFTkdUSChib3JkZXJCZWZvcmVQcm9wZXJ0aWVz
KSkpOwotICAgIHJldHVybiB3ZWJraXRCb3JkZXJCZWZvcmVMb25naGFuZHM7Ci19Ci0KLWNvbnN0
IFN0eWxlUHJvcGVydHlTaG9ydGhhbmQmIHdlYmtpdEJvcmRlckVuZFNob3J0aGFuZCgpCi17Ci0g
ICAgc3RhdGljIGNvbnN0IENTU1Byb3BlcnR5SUQgYm9yZGVyRW5kUHJvcGVydGllc1tdID0geyBD
U1NQcm9wZXJ0eVdlYmtpdEJvcmRlckVuZFdpZHRoLCBDU1NQcm9wZXJ0eVdlYmtpdEJvcmRlckVu
ZFN0eWxlLCBDU1NQcm9wZXJ0eVdlYmtpdEJvcmRlckVuZENvbG9yIH07Ci0gICAgREVGSU5FX1NU
QVRJQ19MT0NBTChTdHlsZVByb3BlcnR5U2hvcnRoYW5kLCB3ZWJraXRCb3JkZXJFbmRMb25naGFu
ZHMsIChib3JkZXJFbmRQcm9wZXJ0aWVzLCBXVEZfQVJSQVlfTEVOR1RIKGJvcmRlckVuZFByb3Bl
cnRpZXMpKSk7Ci0gICAgcmV0dXJuIHdlYmtpdEJvcmRlckVuZExvbmdoYW5kczsKLX0KLQotY29u
c3QgU3R5bGVQcm9wZXJ0eVNob3J0aGFuZCYgd2Via2l0Qm9yZGVyU3RhcnRTaG9ydGhhbmQoKQot
ewotICAgIHN0YXRpYyBjb25zdCBDU1NQcm9wZXJ0eUlEIGJvcmRlclN0YXJ0UHJvcGVydGllc1td
ID0geyBDU1NQcm9wZXJ0eVdlYmtpdEJvcmRlclN0YXJ0V2lkdGgsIENTU1Byb3BlcnR5V2Via2l0
Qm9yZGVyU3RhcnRTdHlsZSwgQ1NTUHJvcGVydHlXZWJraXRCb3JkZXJTdGFydENvbG9yIH07Ci0g
ICAgREVGSU5FX1NUQVRJQ19MT0NBTChTdHlsZVByb3BlcnR5U2hvcnRoYW5kLCB3ZWJraXRCb3Jk
ZXJTdGFydExvbmdoYW5kcywgKGJvcmRlclN0YXJ0UHJvcGVydGllcywgV1RGX0FSUkFZX0xFTkdU
SChib3JkZXJTdGFydFByb3BlcnRpZXMpKSk7Ci0gICAgcmV0dXJuIHdlYmtpdEJvcmRlclN0YXJ0
TG9uZ2hhbmRzOwotfQotCi1jb25zdCBTdHlsZVByb3BlcnR5U2hvcnRoYW5kJiB3ZWJraXRDb2x1
bW5zU2hvcnRoYW5kKCkKLXsKLSAgICBzdGF0aWMgY29uc3QgQ1NTUHJvcGVydHlJRCBjb2x1bW5z
UHJvcGVydGllc1tdID0geyBDU1NQcm9wZXJ0eVdlYmtpdENvbHVtbldpZHRoLCBDU1NQcm9wZXJ0
eVdlYmtpdENvbHVtbkNvdW50IH07Ci0gICAgREVGSU5FX1NUQVRJQ19MT0NBTChTdHlsZVByb3Bl
cnR5U2hvcnRoYW5kLCB3ZWJraXRDb2x1bW5zTG9uZ2hhbmRzLCAoY29sdW1uc1Byb3BlcnRpZXMs
IFdURl9BUlJBWV9MRU5HVEgoY29sdW1uc1Byb3BlcnRpZXMpKSk7Ci0gICAgcmV0dXJuIHdlYmtp
dENvbHVtbnNMb25naGFuZHM7Ci19Ci0KLWNvbnN0IFN0eWxlUHJvcGVydHlTaG9ydGhhbmQmIHdl
YmtpdENvbHVtblJ1bGVTaG9ydGhhbmQoKQotewotICAgIHN0YXRpYyBjb25zdCBDU1NQcm9wZXJ0
eUlEIGNvbHVtblJ1bGVQcm9wZXJ0aWVzW10gPSB7Ci0gICAgICAgIENTU1Byb3BlcnR5V2Via2l0
Q29sdW1uUnVsZVdpZHRoLAotICAgICAgICBDU1NQcm9wZXJ0eVdlYmtpdENvbHVtblJ1bGVTdHls
ZSwKLSAgICAgICAgQ1NTUHJvcGVydHlXZWJraXRDb2x1bW5SdWxlQ29sb3IsCi0gICAgfTsKLSAg
ICBERUZJTkVfU1RBVElDX0xPQ0FMKFN0eWxlUHJvcGVydHlTaG9ydGhhbmQsIHdlYmtpdENvbHVt
blJ1bGVMb25naGFuZHMsIChjb2x1bW5SdWxlUHJvcGVydGllcywgV1RGX0FSUkFZX0xFTkdUSChj
b2x1bW5SdWxlUHJvcGVydGllcykpKTsKLSAgICByZXR1cm4gd2Via2l0Q29sdW1uUnVsZUxvbmdo
YW5kczsKLX0KLQotY29uc3QgU3R5bGVQcm9wZXJ0eVNob3J0aGFuZCYgd2Via2l0RmxleEZsb3dT
aG9ydGhhbmQoKQotewotICAgIHN0YXRpYyBjb25zdCBDU1NQcm9wZXJ0eUlEIGZsZXhGbG93UHJv
cGVydGllc1tdID0geyBDU1NQcm9wZXJ0eVdlYmtpdEZsZXhEaXJlY3Rpb24sIENTU1Byb3BlcnR5
V2Via2l0RmxleFdyYXAgfTsKLSAgICBERUZJTkVfU1RBVElDX0xPQ0FMKFN0eWxlUHJvcGVydHlT
aG9ydGhhbmQsIHdlYmtpdEZsZXhGbG93TG9uZ2hhbmRzLCAoZmxleEZsb3dQcm9wZXJ0aWVzLCBX
VEZfQVJSQVlfTEVOR1RIKGZsZXhGbG93UHJvcGVydGllcykpKTsKLSAgICByZXR1cm4gd2Via2l0
RmxleEZsb3dMb25naGFuZHM7Ci19Ci0KLWNvbnN0IFN0eWxlUHJvcGVydHlTaG9ydGhhbmQmIHdl
YmtpdE1hcmdpbkNvbGxhcHNlU2hvcnRoYW5kKCkKLXsKLSAgICBzdGF0aWMgY29uc3QgQ1NTUHJv
cGVydHlJRCBtYXJnaW5Db2xsYXBzZVByb3BlcnRpZXNbXSA9IHsgQ1NTUHJvcGVydHlXZWJraXRN
YXJnaW5CZWZvcmVDb2xsYXBzZSwgQ1NTUHJvcGVydHlXZWJraXRNYXJnaW5BZnRlckNvbGxhcHNl
IH07Ci0gICAgREVGSU5FX1NUQVRJQ19MT0NBTChTdHlsZVByb3BlcnR5U2hvcnRoYW5kLCB3ZWJr
aXRNYXJnaW5Db2xsYXBzZUxvbmdoYW5kcywgKG1hcmdpbkNvbGxhcHNlUHJvcGVydGllcywgV1RG
X0FSUkFZX0xFTkdUSChtYXJnaW5Db2xsYXBzZVByb3BlcnRpZXMpKSk7Ci0gICAgcmV0dXJuIHdl
YmtpdE1hcmdpbkNvbGxhcHNlTG9uZ2hhbmRzOwotfQotCi1jb25zdCBTdHlsZVByb3BlcnR5U2hv
cnRoYW5kJiB3ZWJraXRNYXJxdWVlU2hvcnRoYW5kKCkKLXsKLSAgICBzdGF0aWMgY29uc3QgQ1NT
UHJvcGVydHlJRCBtYXJxdWVlUHJvcGVydGllc1tdID0gewotICAgICAgICBDU1NQcm9wZXJ0eVdl
YmtpdE1hcnF1ZWVEaXJlY3Rpb24sCi0gICAgICAgIENTU1Byb3BlcnR5V2Via2l0TWFycXVlZUlu
Y3JlbWVudCwKLSAgICAgICAgQ1NTUHJvcGVydHlXZWJraXRNYXJxdWVlUmVwZXRpdGlvbiwKLSAg
ICAgICAgQ1NTUHJvcGVydHlXZWJraXRNYXJxdWVlU3R5bGUsCi0gICAgICAgIENTU1Byb3BlcnR5
V2Via2l0TWFycXVlZVNwZWVkCi0gICAgfTsKLSAgICBERUZJTkVfU1RBVElDX0xPQ0FMKFN0eWxl
UHJvcGVydHlTaG9ydGhhbmQsIHdlYmtpdE1hcnF1ZWVMb25naGFuZHMsIChtYXJxdWVlUHJvcGVy
dGllcywgV1RGX0FSUkFZX0xFTkdUSChtYXJxdWVlUHJvcGVydGllcykpKTsKLSAgICByZXR1cm4g
d2Via2l0TWFycXVlZUxvbmdoYW5kczsKLX0KLQotY29uc3QgU3R5bGVQcm9wZXJ0eVNob3J0aGFu
ZCYgd2Via2l0TWFza1Nob3J0aGFuZCgpCi17Ci0gICAgc3RhdGljIGNvbnN0IENTU1Byb3BlcnR5
SUQgbWFza1Byb3BlcnRpZXNbXSA9IHsKLSAgICAgICAgQ1NTUHJvcGVydHlXZWJraXRNYXNrSW1h
Z2UsCi0gICAgICAgIENTU1Byb3BlcnR5V2Via2l0TWFza1JlcGVhdFgsCi0gICAgICAgIENTU1By
b3BlcnR5V2Via2l0TWFza1JlcGVhdFksCi0gICAgICAgIENTU1Byb3BlcnR5V2Via2l0TWFza0F0
dGFjaG1lbnQsCi0gICAgICAgIENTU1Byb3BlcnR5V2Via2l0TWFza1Bvc2l0aW9uWCwKLSAgICAg
ICAgQ1NTUHJvcGVydHlXZWJraXRNYXNrUG9zaXRpb25ZLAotICAgICAgICBDU1NQcm9wZXJ0eVdl
YmtpdE1hc2tDbGlwLAotICAgICAgICBDU1NQcm9wZXJ0eVdlYmtpdE1hc2tPcmlnaW4KLSAgICB9
OwotICAgIERFRklORV9TVEFUSUNfTE9DQUwoU3R5bGVQcm9wZXJ0eVNob3J0aGFuZCwgd2Via2l0
TWFza0xvbmdoYW5kcywgKG1hc2tQcm9wZXJ0aWVzLCBXVEZfQVJSQVlfTEVOR1RIKG1hc2tQcm9w
ZXJ0aWVzKSkpOwotICAgIHJldHVybiB3ZWJraXRNYXNrTG9uZ2hhbmRzOwotfQotCi1jb25zdCBT
dHlsZVByb3BlcnR5U2hvcnRoYW5kJiB3ZWJraXRNYXNrUG9zaXRpb25TaG9ydGhhbmQoKQotewot
ICAgIHN0YXRpYyBjb25zdCBDU1NQcm9wZXJ0eUlEIG1hc2tQb3NpdGlvblByb3BlcnRpZXNbXSA9
IHsgQ1NTUHJvcGVydHlXZWJraXRNYXNrUG9zaXRpb25YLCBDU1NQcm9wZXJ0eVdlYmtpdE1hc2tQ
b3NpdGlvblkgfTsKLSAgICBERUZJTkVfU1RBVElDX0xPQ0FMKFN0eWxlUHJvcGVydHlTaG9ydGhh
bmQsIHdlYmtpdE1hc2tQb3NpdGlvbkxvbmdoYW5kcywgKG1hc2tQb3NpdGlvblByb3BlcnRpZXMs
IFdURl9BUlJBWV9MRU5HVEgobWFza1Bvc2l0aW9uUHJvcGVydGllcykpKTsKLSAgICByZXR1cm4g
d2Via2l0TWFza1Bvc2l0aW9uTG9uZ2hhbmRzOwotfQotCi1jb25zdCBTdHlsZVByb3BlcnR5U2hv
cnRoYW5kJiB3ZWJraXRNYXNrUmVwZWF0U2hvcnRoYW5kKCkKLXsKLSAgICBzdGF0aWMgY29uc3Qg
Q1NTUHJvcGVydHlJRCBtYXNrUmVwZWF0UHJvcGVydGllc1tdID0geyBDU1NQcm9wZXJ0eVdlYmtp
dE1hc2tSZXBlYXRYLCBDU1NQcm9wZXJ0eVdlYmtpdE1hc2tSZXBlYXRZIH07Ci0gICAgREVGSU5F
X1NUQVRJQ19MT0NBTChTdHlsZVByb3BlcnR5U2hvcnRoYW5kLCB3ZWJraXRNYXNrUmVwZWF0TG9u
Z2hhbmRzLCAobWFza1JlcGVhdFByb3BlcnRpZXMsIFdURl9BUlJBWV9MRU5HVEgobWFza1JlcGVh
dFByb3BlcnRpZXMpKSk7Ci0gICAgcmV0dXJuIHdlYmtpdE1hc2tSZXBlYXRMb25naGFuZHM7Ci19
Ci0KLWNvbnN0IFN0eWxlUHJvcGVydHlTaG9ydGhhbmQmIHdlYmtpdFRleHRFbXBoYXNpc1Nob3J0
aGFuZCgpCi17Ci0gICAgc3RhdGljIGNvbnN0IENTU1Byb3BlcnR5SUQgdGV4dEVtcGhhc2lzUHJv
cGVydGllc1tdID0gewotICAgICAgICBDU1NQcm9wZXJ0eVdlYmtpdFRleHRFbXBoYXNpc1N0eWxl
LAotICAgICAgICBDU1NQcm9wZXJ0eVdlYmtpdFRleHRFbXBoYXNpc0NvbG9yCi0gICAgfTsKLSAg
ICBERUZJTkVfU1RBVElDX0xPQ0FMKFN0eWxlUHJvcGVydHlTaG9ydGhhbmQsIHdlYmtpdFRleHRF
bXBoYXNpc0xvbmdoYW5kcywgKHRleHRFbXBoYXNpc1Byb3BlcnRpZXMsIFdURl9BUlJBWV9MRU5H
VEgodGV4dEVtcGhhc2lzUHJvcGVydGllcykpKTsKLSAgICByZXR1cm4gd2Via2l0VGV4dEVtcGhh
c2lzTG9uZ2hhbmRzOwotfQotCi1jb25zdCBTdHlsZVByb3BlcnR5U2hvcnRoYW5kJiB3ZWJraXRU
ZXh0U3Ryb2tlU2hvcnRoYW5kKCkKLXsKLSAgICBzdGF0aWMgY29uc3QgQ1NTUHJvcGVydHlJRCB0
ZXh0U3Ryb2tlUHJvcGVydGllc1tdID0geyBDU1NQcm9wZXJ0eVdlYmtpdFRleHRTdHJva2VXaWR0
aCwgQ1NTUHJvcGVydHlXZWJraXRUZXh0U3Ryb2tlQ29sb3IgfTsKLSAgICBERUZJTkVfU1RBVElD
X0xPQ0FMKFN0eWxlUHJvcGVydHlTaG9ydGhhbmQsIHdlYmtpdFRleHRTdHJva2VMb25naGFuZHMs
ICh0ZXh0U3Ryb2tlUHJvcGVydGllcywgV1RGX0FSUkFZX0xFTkdUSCh0ZXh0U3Ryb2tlUHJvcGVy
dGllcykpKTsKLSAgICByZXR1cm4gd2Via2l0VGV4dFN0cm9rZUxvbmdoYW5kczsKLX0KLQotY29u
c3QgU3R5bGVQcm9wZXJ0eVNob3J0aGFuZCYgd2Via2l0VHJhbnNpdGlvblNob3J0aGFuZCgpCi17
Ci0gICAgc3RhdGljIGNvbnN0IENTU1Byb3BlcnR5SUQgdHJhbnNpdGlvblByb3BlcnRpZXNbXSA9
IHsKLSAgICAgICAgQ1NTUHJvcGVydHlXZWJraXRUcmFuc2l0aW9uUHJvcGVydHksCi0gICAgICAg
IENTU1Byb3BlcnR5V2Via2l0VHJhbnNpdGlvbkR1cmF0aW9uLAotICAgICAgICBDU1NQcm9wZXJ0
eVdlYmtpdFRyYW5zaXRpb25UaW1pbmdGdW5jdGlvbiwKLSAgICAgICAgQ1NTUHJvcGVydHlXZWJr
aXRUcmFuc2l0aW9uRGVsYXkKLSAgICB9OwotICAgIERFRklORV9TVEFUSUNfTE9DQUwoU3R5bGVQ
cm9wZXJ0eVNob3J0aGFuZCwgd2Via2l0VHJhbnNpdGlvbkxvbmdoYW5kcywgKHRyYW5zaXRpb25Q
cm9wZXJ0aWVzLCBXVEZfQVJSQVlfTEVOR1RIKHRyYW5zaXRpb25Qcm9wZXJ0aWVzKSkpOwotICAg
IHJldHVybiB3ZWJraXRUcmFuc2l0aW9uTG9uZ2hhbmRzOwotfQotCi1jb25zdCBTdHlsZVByb3Bl
cnR5U2hvcnRoYW5kJiB3ZWJraXRUcmFuc2Zvcm1PcmlnaW5TaG9ydGhhbmQoKQotewotICAgIHN0
YXRpYyBjb25zdCBDU1NQcm9wZXJ0eUlEIHRyYW5zZm9ybU9yaWdpblByb3BlcnRpZXNbXSA9IHsK
LSAgICAgICAgQ1NTUHJvcGVydHlXZWJraXRUcmFuc2Zvcm1PcmlnaW5YLAotICAgICAgICBDU1NQ
cm9wZXJ0eVdlYmtpdFRyYW5zZm9ybU9yaWdpblksCi0gICAgICAgIENTU1Byb3BlcnR5V2Via2l0
VHJhbnNmb3JtT3JpZ2luWgotICAgIH07Ci0gICAgREVGSU5FX1NUQVRJQ19MT0NBTChTdHlsZVBy
b3BlcnR5U2hvcnRoYW5kLCB3ZWJraXRUcmFuc2Zvcm1PcmlnaW5Mb25naGFuZHMsICh0cmFuc2Zv
cm1PcmlnaW5Qcm9wZXJ0aWVzLCBXVEZfQVJSQVlfTEVOR1RIKHRyYW5zZm9ybU9yaWdpblByb3Bl
cnRpZXMpKSk7Ci0gICAgcmV0dXJuIHdlYmtpdFRyYW5zZm9ybU9yaWdpbkxvbmdoYW5kczsKLX0K
LQotY29uc3QgU3R5bGVQcm9wZXJ0eVNob3J0aGFuZCYgd2Via2l0V3JhcFNob3J0aGFuZCgpCi17
Ci0gICAgc3RhdGljIGNvbnN0IENTU1Byb3BlcnR5SUQgd2Via2l0V3JhcFByb3BlcnRpZXNbXSA9
IHsKLSAgICAgICAgQ1NTUHJvcGVydHlXZWJraXRXcmFwRmxvdywKLSAgICAgICAgQ1NTUHJvcGVy
dHlXZWJraXRXcmFwTWFyZ2luLAotICAgICAgICBDU1NQcm9wZXJ0eVdlYmtpdFdyYXBQYWRkaW5n
Ci0gICAgfTsKLSAgICBERUZJTkVfU1RBVElDX0xPQ0FMKFN0eWxlUHJvcGVydHlTaG9ydGhhbmQs
IHdlYmtpdFdyYXBMb25naGFuZHMsICh3ZWJraXRXcmFwUHJvcGVydGllcywgV1RGX0FSUkFZX0xF
TkdUSCh3ZWJraXRXcmFwUHJvcGVydGllcykpKTsKLSAgICByZXR1cm4gd2Via2l0V3JhcExvbmdo
YW5kczsKLX0KLQotLy8gUmV0dXJucyBhbiBlbXB0eSBsaXN0IGlmIHRoZSBwcm9wZXJ0eSBpcyBu
b3QgYSBzaG9ydGhhbmQKLWNvbnN0IFN0eWxlUHJvcGVydHlTaG9ydGhhbmQmIHNob3J0aGFuZEZv
clByb3BlcnR5KGludCBwcm9wZXJ0eUlEKQotewotICAgIHN3aXRjaCAocHJvcGVydHlJRCkgewot
ICAgIGNhc2UgQ1NTUHJvcGVydHlCYWNrZ3JvdW5kOgotICAgICAgICByZXR1cm4gYmFja2dyb3Vu
ZFNob3J0aGFuZCgpOwotICAgIGNhc2UgQ1NTUHJvcGVydHlCYWNrZ3JvdW5kUG9zaXRpb246Ci0g
ICAgICAgIHJldHVybiBiYWNrZ3JvdW5kUG9zaXRpb25TaG9ydGhhbmQoKTsKLSAgICBjYXNlIENT
U1Byb3BlcnR5QmFja2dyb3VuZFJlcGVhdDoKLSAgICAgICAgcmV0dXJuIGJhY2tncm91bmRSZXBl
YXRTaG9ydGhhbmQoKTsKLSAgICBjYXNlIENTU1Byb3BlcnR5Qm9yZGVyOgotICAgICAgICByZXR1
cm4gYm9yZGVyU2hvcnRoYW5kKCk7Ci0gICAgY2FzZSBDU1NQcm9wZXJ0eUJvcmRlckJvdHRvbToK
LSAgICAgICAgcmV0dXJuIGJvcmRlckJvdHRvbVNob3J0aGFuZCgpOwotICAgIGNhc2UgQ1NTUHJv
cGVydHlCb3JkZXJDb2xvcjoKLSAgICAgICAgcmV0dXJuIGJvcmRlckNvbG9yU2hvcnRoYW5kKCk7
Ci0gICAgY2FzZSBDU1NQcm9wZXJ0eUJvcmRlckltYWdlOgotICAgICAgICByZXR1cm4gYm9yZGVy
SW1hZ2VTaG9ydGhhbmQoKTsKLSAgICBjYXNlIENTU1Byb3BlcnR5Qm9yZGVyTGVmdDoKLSAgICAg
ICAgcmV0dXJuIGJvcmRlckxlZnRTaG9ydGhhbmQoKTsKLSAgICBjYXNlIENTU1Byb3BlcnR5Qm9y
ZGVyUmFkaXVzOgotICAgICAgICByZXR1cm4gYm9yZGVyUmFkaXVzU2hvcnRoYW5kKCk7Ci0gICAg
Y2FzZSBDU1NQcm9wZXJ0eUJvcmRlclJpZ2h0OgotICAgICAgICByZXR1cm4gYm9yZGVyUmlnaHRT
aG9ydGhhbmQoKTsKLSAgICBjYXNlIENTU1Byb3BlcnR5Qm9yZGVyU3BhY2luZzoKLSAgICAgICAg
cmV0dXJuIGJvcmRlclNwYWNpbmdTaG9ydGhhbmQoKTsKLSAgICBjYXNlIENTU1Byb3BlcnR5Qm9y
ZGVyU3R5bGU6Ci0gICAgICAgIHJldHVybiBib3JkZXJTdHlsZVNob3J0aGFuZCgpOwotICAgIGNh
c2UgQ1NTUHJvcGVydHlCb3JkZXJUb3A6Ci0gICAgICAgIHJldHVybiBib3JkZXJUb3BTaG9ydGhh
bmQoKTsKLSAgICBjYXNlIENTU1Byb3BlcnR5Qm9yZGVyV2lkdGg6Ci0gICAgICAgIHJldHVybiBi
b3JkZXJXaWR0aFNob3J0aGFuZCgpOwotICAgIGNhc2UgQ1NTUHJvcGVydHlMaXN0U3R5bGU6Ci0g
ICAgICAgIHJldHVybiBsaXN0U3R5bGVTaG9ydGhhbmQoKTsKLSAgICBjYXNlIENTU1Byb3BlcnR5
Rm9udDoKLSAgICAgICAgcmV0dXJuIGZvbnRTaG9ydGhhbmQoKTsKLSAgICBjYXNlIENTU1Byb3Bl
cnR5TWFyZ2luOgotICAgICAgICByZXR1cm4gbWFyZ2luU2hvcnRoYW5kKCk7Ci0gICAgY2FzZSBD
U1NQcm9wZXJ0eU91dGxpbmU6Ci0gICAgICAgIHJldHVybiBvdXRsaW5lU2hvcnRoYW5kKCk7Ci0g
ICAgY2FzZSBDU1NQcm9wZXJ0eU92ZXJmbG93OgotICAgICAgICByZXR1cm4gb3ZlcmZsb3dTaG9y
dGhhbmQoKTsKLSAgICBjYXNlIENTU1Byb3BlcnR5UGFkZGluZzoKLSAgICAgICAgcmV0dXJuIHBh
ZGRpbmdTaG9ydGhhbmQoKTsKLSAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0QW5pbWF0aW9uOgot
ICAgICAgICByZXR1cm4gd2Via2l0QW5pbWF0aW9uU2hvcnRoYW5kKCk7Ci0gICAgY2FzZSBDU1NQ
cm9wZXJ0eVdlYmtpdEJvcmRlckFmdGVyOgotICAgICAgICByZXR1cm4gd2Via2l0Qm9yZGVyQWZ0
ZXJTaG9ydGhhbmQoKTsKLSAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0Qm9yZGVyQmVmb3JlOgot
ICAgICAgICByZXR1cm4gd2Via2l0Qm9yZGVyQmVmb3JlU2hvcnRoYW5kKCk7Ci0gICAgY2FzZSBD
U1NQcm9wZXJ0eVdlYmtpdEJvcmRlckVuZDoKLSAgICAgICAgcmV0dXJuIHdlYmtpdEJvcmRlckVu
ZFNob3J0aGFuZCgpOwotICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRCb3JkZXJTdGFydDoKLSAg
ICAgICAgcmV0dXJuIHdlYmtpdEJvcmRlclN0YXJ0U2hvcnRoYW5kKCk7Ci0gICAgY2FzZSBDU1NQ
cm9wZXJ0eVdlYmtpdEJvcmRlclJhZGl1czoKLSAgICAgICAgcmV0dXJuIGJvcmRlclJhZGl1c1No
b3J0aGFuZCgpOwotICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRDb2x1bW5zOgotICAgICAgICBy
ZXR1cm4gd2Via2l0Q29sdW1uc1Nob3J0aGFuZCgpOwotICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJr
aXRDb2x1bW5SdWxlOgotICAgICAgICByZXR1cm4gd2Via2l0Q29sdW1uUnVsZVNob3J0aGFuZCgp
OwotICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRGbGV4RmxvdzoKLSAgICAgICAgcmV0dXJuIHdl
YmtpdEZsZXhGbG93U2hvcnRoYW5kKCk7Ci0gICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdE1hcmdp
bkNvbGxhcHNlOgotICAgICAgICByZXR1cm4gd2Via2l0TWFyZ2luQ29sbGFwc2VTaG9ydGhhbmQo
KTsKLSAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0TWFycXVlZToKLSAgICAgICAgcmV0dXJuIHdl
YmtpdE1hcnF1ZWVTaG9ydGhhbmQoKTsKLSAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0TWFzazoK
LSAgICAgICAgcmV0dXJuIHdlYmtpdE1hc2tTaG9ydGhhbmQoKTsKLSAgICBjYXNlIENTU1Byb3Bl
cnR5V2Via2l0TWFza1Bvc2l0aW9uOgotICAgICAgICByZXR1cm4gd2Via2l0TWFza1Bvc2l0aW9u
U2hvcnRoYW5kKCk7Ci0gICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdE1hc2tSZXBlYXQ6Ci0gICAg
ICAgIHJldHVybiB3ZWJraXRNYXNrUmVwZWF0U2hvcnRoYW5kKCk7Ci0gICAgY2FzZSBDU1NQcm9w
ZXJ0eVdlYmtpdFRleHRFbXBoYXNpczoKLSAgICAgICAgcmV0dXJuIHdlYmtpdFRleHRFbXBoYXNp
c1Nob3J0aGFuZCgpOwotICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRUZXh0U3Ryb2tlOgotICAg
ICAgICByZXR1cm4gd2Via2l0VGV4dFN0cm9rZVNob3J0aGFuZCgpOwotICAgIGNhc2UgQ1NTUHJv
cGVydHlXZWJraXRUcmFuc2l0aW9uOgotICAgICAgICByZXR1cm4gd2Via2l0VHJhbnNpdGlvblNo
b3J0aGFuZCgpOwotICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRUcmFuc2Zvcm1PcmlnaW46Ci0g
ICAgICAgIHJldHVybiB3ZWJraXRUcmFuc2Zvcm1PcmlnaW5TaG9ydGhhbmQoKTsKLSAgICBjYXNl
IENTU1Byb3BlcnR5V2Via2l0V3JhcDoKLSAgICAgICAgcmV0dXJuIHdlYmtpdFdyYXBTaG9ydGhh
bmQoKTsKLSAgICBkZWZhdWx0OiB7Ci0gICAgICAgIERFRklORV9TVEFUSUNfTE9DQUwoU3R5bGVQ
cm9wZXJ0eVNob3J0aGFuZCwgZW1wdHlTaG9ydGhhbmQsICgpKTsKLSAgICAgICAgcmV0dXJuIGVt
cHR5U2hvcnRoYW5kOwotICAgIH0KLSAgICB9Ci19Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eUxvbmdoYW5kLmggYi9T
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHlMb25naGFuZC5oCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCA2ODNjNmVjNzFlOGRhYjQwNDM4MjA4N2EyNzkxOWI2YWIwY2ExYzYwLi4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NQcm9wZXJ0eUxvbmdoYW5kLmgKKysrIC9kZXYvbnVsbApAQCAtMSwxMDYgKzAs
MCBAQAotLyoKLSAqIChDKSAxOTk5LTIwMDMgTGFycyBLbm9sbCAoa25vbGxAa2RlLm9yZykKLSAq
IENvcHlyaWdodCAoQykgMjAwNCwgMjAwNSwgMjAwNiwgMjAwOCBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCi0gKgotICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBj
YW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgotICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBv
ZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKLSAqIExpY2Vuc2UgYXMgcHVibGlzaGVk
IGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgotICogdmVyc2lvbiAyIG9m
IHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotICoK
LSAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwg
YmUgdXNlZnVsLAotICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhl
IGltcGxpZWQgd2FycmFudHkgb2YKLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCi0gKiBMaWJyYXJ5IEdlbmVyYWwgUHVi
bGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSAqCi0gKiBZb3Ugc2hvdWxkIGhhdmUgcmVj
ZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0g
KiBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYg
bm90LCB3cml0ZSB0bwotICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEg
RnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKLSAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwg
VVNBLgotICovCi0KLSNpZm5kZWYgQ1NTUHJvcGVydHlMb25naGFuZF9oCi0jZGVmaW5lIENTU1By
b3BlcnR5TG9uZ2hhbmRfaAotCi0jaW5jbHVkZSAiQ1NTUHJvcGVydHlOYW1lcy5oIgotCi1uYW1l
c3BhY2UgV2ViQ29yZSB7Ci0KLWNsYXNzIFN0eWxlUHJvcGVydHlTaG9ydGhhbmQgewotcHVibGlj
OgotICAgIFN0eWxlUHJvcGVydHlTaG9ydGhhbmQoKQotICAgICAgICA6IG1fcHJvcGVydGllcygw
KQotICAgICAgICAsIG1fcHJvcGVydGllc0ZvckluaXRpYWxpemF0aW9uKDApCi0gICAgICAgICwg
bV9sZW5ndGgoMCkKLSAgICB7Ci0gICAgfQotCi0gICAgU3R5bGVQcm9wZXJ0eVNob3J0aGFuZChj
b25zdCBDU1NQcm9wZXJ0eUlEKiBwcm9wZXJ0aWVzLCB1bnNpZ25lZCBudW1Qcm9wZXJ0aWVzKQot
ICAgICAgICA6IG1fcHJvcGVydGllcyhwcm9wZXJ0aWVzKQotICAgICAgICAsIG1fcHJvcGVydGll
c0ZvckluaXRpYWxpemF0aW9uKDApCi0gICAgICAgICwgbV9sZW5ndGgobnVtUHJvcGVydGllcykK
LSAgICB7Ci0gICAgfQotCi0gICAgU3R5bGVQcm9wZXJ0eVNob3J0aGFuZChjb25zdCBDU1NQcm9w
ZXJ0eUlEKiBwcm9wZXJ0aWVzLCBjb25zdCBTdHlsZVByb3BlcnR5U2hvcnRoYW5kKiogcHJvcGVy
dGllc0ZvckluaXRpYWxpemF0aW9uLCB1bnNpZ25lZCBudW1Qcm9wZXJ0aWVzKQotICAgICAgICA6
IG1fcHJvcGVydGllcyhwcm9wZXJ0aWVzKQotICAgICAgICAsIG1fcHJvcGVydGllc0ZvckluaXRp
YWxpemF0aW9uKHByb3BlcnRpZXNGb3JJbml0aWFsaXphdGlvbikKLSAgICAgICAgLCBtX2xlbmd0
aChudW1Qcm9wZXJ0aWVzKQotICAgIHsKLSAgICB9Ci0KLSAgICBjb25zdCBDU1NQcm9wZXJ0eUlE
KiBwcm9wZXJ0aWVzKCkgY29uc3QgeyByZXR1cm4gbV9wcm9wZXJ0aWVzOyB9Ci0gICAgY29uc3Qg
U3R5bGVQcm9wZXJ0eVNob3J0aGFuZCoqIHByb3BlcnRpZXNGb3JJbml0aWFsaXphdGlvbigpIGNv
bnN0IHsgcmV0dXJuIG1fcHJvcGVydGllc0ZvckluaXRpYWxpemF0aW9uOyB9Ci0gICAgdW5zaWdu
ZWQgbGVuZ3RoKCkgY29uc3QgeyByZXR1cm4gbV9sZW5ndGg7IH0KLQotcHJpdmF0ZToKLSAgICBj
b25zdCBDU1NQcm9wZXJ0eUlEKiBtX3Byb3BlcnRpZXM7Ci0gICAgY29uc3QgU3R5bGVQcm9wZXJ0
eVNob3J0aGFuZCoqIG1fcHJvcGVydGllc0ZvckluaXRpYWxpemF0aW9uOwotICAgIHVuc2lnbmVk
IG1fbGVuZ3RoOwotfTsKLQotY29uc3QgU3R5bGVQcm9wZXJ0eVNob3J0aGFuZCYgYmFja2dyb3Vu
ZFNob3J0aGFuZCgpOwotY29uc3QgU3R5bGVQcm9wZXJ0eVNob3J0aGFuZCYgYmFja2dyb3VuZFBv
c2l0aW9uU2hvcnRoYW5kKCk7Ci1jb25zdCBTdHlsZVByb3BlcnR5U2hvcnRoYW5kJiBiYWNrZ3Jv
dW5kUmVwZWF0U2hvcnRoYW5kKCk7Ci1jb25zdCBTdHlsZVByb3BlcnR5U2hvcnRoYW5kJiBib3Jk
ZXJTaG9ydGhhbmQoKTsKLWNvbnN0IFN0eWxlUHJvcGVydHlTaG9ydGhhbmQmIGJvcmRlckFicmlk
Z2VkU2hvcnRoYW5kKCk7Ci1jb25zdCBTdHlsZVByb3BlcnR5U2hvcnRoYW5kJiBib3JkZXJCb3R0
b21TaG9ydGhhbmQoKTsKLWNvbnN0IFN0eWxlUHJvcGVydHlTaG9ydGhhbmQmIGJvcmRlckNvbG9y
U2hvcnRoYW5kKCk7Ci1jb25zdCBTdHlsZVByb3BlcnR5U2hvcnRoYW5kJiBib3JkZXJJbWFnZVNo
b3J0aGFuZCgpOwotY29uc3QgU3R5bGVQcm9wZXJ0eVNob3J0aGFuZCYgYm9yZGVyTGVmdFNob3J0
aGFuZCgpOwotY29uc3QgU3R5bGVQcm9wZXJ0eVNob3J0aGFuZCYgYm9yZGVyUmFkaXVzU2hvcnRo
YW5kKCk7Ci1jb25zdCBTdHlsZVByb3BlcnR5U2hvcnRoYW5kJiBib3JkZXJSaWdodFNob3J0aGFu
ZCgpOwotY29uc3QgU3R5bGVQcm9wZXJ0eVNob3J0aGFuZCYgYm9yZGVyU3BhY2luZ1Nob3J0aGFu
ZCgpOwotY29uc3QgU3R5bGVQcm9wZXJ0eVNob3J0aGFuZCYgYm9yZGVyU3R5bGVTaG9ydGhhbmQo
KTsKLWNvbnN0IFN0eWxlUHJvcGVydHlTaG9ydGhhbmQmIGJvcmRlclRvcFNob3J0aGFuZCgpOwot
Y29uc3QgU3R5bGVQcm9wZXJ0eVNob3J0aGFuZCYgYm9yZGVyV2lkdGhTaG9ydGhhbmQoKTsKLWNv
bnN0IFN0eWxlUHJvcGVydHlTaG9ydGhhbmQmIGxpc3RTdHlsZVNob3J0aGFuZCgpOwotY29uc3Qg
U3R5bGVQcm9wZXJ0eVNob3J0aGFuZCYgZm9udFNob3J0aGFuZCgpOwotY29uc3QgU3R5bGVQcm9w
ZXJ0eVNob3J0aGFuZCYgbWFyZ2luU2hvcnRoYW5kKCk7Ci1jb25zdCBTdHlsZVByb3BlcnR5U2hv
cnRoYW5kJiBvdXRsaW5lU2hvcnRoYW5kKCk7Ci1jb25zdCBTdHlsZVByb3BlcnR5U2hvcnRoYW5k
JiBvdmVyZmxvd1Nob3J0aGFuZCgpOwotY29uc3QgU3R5bGVQcm9wZXJ0eVNob3J0aGFuZCYgcGFk
ZGluZ1Nob3J0aGFuZCgpOwotY29uc3QgU3R5bGVQcm9wZXJ0eVNob3J0aGFuZCYgd2Via2l0QW5p
bWF0aW9uU2hvcnRoYW5kKCk7Ci1jb25zdCBTdHlsZVByb3BlcnR5U2hvcnRoYW5kJiB3ZWJraXRC
b3JkZXJBZnRlclNob3J0aGFuZCgpOwotY29uc3QgU3R5bGVQcm9wZXJ0eVNob3J0aGFuZCYgd2Vi
a2l0Qm9yZGVyQmVmb3JlU2hvcnRoYW5kKCk7Ci1jb25zdCBTdHlsZVByb3BlcnR5U2hvcnRoYW5k
JiB3ZWJraXRCb3JkZXJFbmRTaG9ydGhhbmQoKTsKLWNvbnN0IFN0eWxlUHJvcGVydHlTaG9ydGhh
bmQmIHdlYmtpdEJvcmRlclN0YXJ0U2hvcnRoYW5kKCk7Ci1jb25zdCBTdHlsZVByb3BlcnR5U2hv
cnRoYW5kJiB3ZWJraXRDb2x1bW5zU2hvcnRoYW5kKCk7Ci1jb25zdCBTdHlsZVByb3BlcnR5U2hv
cnRoYW5kJiB3ZWJraXRDb2x1bW5SdWxlU2hvcnRoYW5kKCk7Ci1jb25zdCBTdHlsZVByb3BlcnR5
U2hvcnRoYW5kJiB3ZWJraXRGbGV4Rmxvd1Nob3J0aGFuZCgpOwotY29uc3QgU3R5bGVQcm9wZXJ0
eVNob3J0aGFuZCYgd2Via2l0TWFyZ2luQ29sbGFwc2VTaG9ydGhhbmQoKTsKLWNvbnN0IFN0eWxl
UHJvcGVydHlTaG9ydGhhbmQmIHdlYmtpdE1hcnF1ZWVTaG9ydGhhbmQoKTsKLWNvbnN0IFN0eWxl
UHJvcGVydHlTaG9ydGhhbmQmIHdlYmtpdE1hc2tTaG9ydGhhbmQoKTsKLWNvbnN0IFN0eWxlUHJv
cGVydHlTaG9ydGhhbmQmIHdlYmtpdE1hc2tQb3NpdGlvblNob3J0aGFuZCgpOwotY29uc3QgU3R5
bGVQcm9wZXJ0eVNob3J0aGFuZCYgd2Via2l0TWFza1JlcGVhdFNob3J0aGFuZCgpOwotY29uc3Qg
U3R5bGVQcm9wZXJ0eVNob3J0aGFuZCYgd2Via2l0VGV4dEVtcGhhc2lzU2hvcnRoYW5kKCk7Ci1j
b25zdCBTdHlsZVByb3BlcnR5U2hvcnRoYW5kJiB3ZWJraXRUZXh0U3Ryb2tlU2hvcnRoYW5kKCk7
Ci1jb25zdCBTdHlsZVByb3BlcnR5U2hvcnRoYW5kJiB3ZWJraXRUcmFuc2l0aW9uU2hvcnRoYW5k
KCk7Ci1jb25zdCBTdHlsZVByb3BlcnR5U2hvcnRoYW5kJiB3ZWJraXRUcmFuc2Zvcm1PcmlnaW5T
aG9ydGhhbmQoKTsKLWNvbnN0IFN0eWxlUHJvcGVydHlTaG9ydGhhbmQmIHdlYmtpdFdyYXBTaG9y
dGhhbmQoKTsKLQotLy8gUmV0dXJucyBhbiBlbXB0eSBsaXN0IGlmIHRoZSBwcm9wZXJ0eSBpcyBu
b3QgYSBzaG9ydGhhbmQKLWNvbnN0IFN0eWxlUHJvcGVydHlTaG9ydGhhbmQmIHNob3J0aGFuZEZv
clByb3BlcnR5KGludCk7Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKLQotI2VuZGlmIC8vIENT
U1Byb3BlcnR5TG9uZ2hhbmRfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxl
UHJvcGVydHlTZXQuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUHJvcGVydHlTZXQuY3Bw
CmluZGV4IDg3MzQ5OGRlYzQ2Mzg5ZTZlMzU1NjlhN2EyYjY5YTExZGY0N2VjMzMuLmQ3ZmYzYjhm
M2RkN2UwZTViODE3MTRkMTg3NTAyOTg1Y2RhYmZmMDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9TdHlsZVByb3BlcnR5U2V0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5
bGVQcm9wZXJ0eVNldC5jcHAKQEAgLTIzLDEyICsyMywxMiBAQAogI2luY2x1ZGUgIlN0eWxlUHJv
cGVydHlTZXQuaCIKIAogI2luY2x1ZGUgIkNTU1BhcnNlci5oIgotI2luY2x1ZGUgIkNTU1Byb3Bl
cnR5TG9uZ2hhbmQuaCIKICNpbmNsdWRlICJDU1NWYWx1ZUtleXdvcmRzLmgiCiAjaW5jbHVkZSAi
Q1NTVmFsdWVMaXN0LmgiCiAjaW5jbHVkZSAiQ1NTVmFsdWVQb29sLmgiCiAjaW5jbHVkZSAiRG9j
dW1lbnQuaCIKICNpbmNsdWRlICJQcm9wZXJ0eVNldENTU1N0eWxlRGVjbGFyYXRpb24uaCIKKyNp
bmNsdWRlICJTdHlsZVByb3BlcnR5U2hvcnRoYW5kLmgiCiAjaW5jbHVkZSA8d3RmL0JpdFZlY3Rv
ci5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0J1aWxkZXIuaD4KIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUHJvcGVydHlTaG9ydGhhbmQuY3BwIGIvU291cmNlL1dl
YkNvcmUvY3NzL1N0eWxlUHJvcGVydHlTaG9ydGhhbmQuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmI0ZGUxMTcy
MTJiNzE3NzJkMjExYzZmOTdjYWY3MjFiOTk0YWFhNzIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvU3R5bGVQcm9wZXJ0eVNob3J0aGFuZC5jcHAKQEAgLTAsMCArMSw1MDcg
QEAKKy8qCisgKiAoQykgMTk5OS0yMDAzIExhcnMgS25vbGwgKGtub2xsQGtkZS5vcmcpCisgKiBD
b3B5cmlnaHQgKEMpIDIwMDQsIDIwMDUsIDIwMDYsIDIwMDcsIDIwMDggQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5
b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVy
bXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFzIHB1Ymxp
c2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24g
MiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4K
KyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3
aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVu
IHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGlicmFyeSBHZW5lcmFs
IFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZl
IHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5z
ZQorICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4g
IElmIG5vdCwgd3JpdGUgdG8KKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4s
IDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisgKiBCb3N0b24sIE1BIDAyMTEwLTEz
MDEsIFVTQS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiU3R5bGVQcm9w
ZXJ0eVNob3J0aGFuZC5oIgorCisjaW5jbHVkZSA8d3RmL1N0ZExpYkV4dHJhcy5oPgorCituYW1l
c3BhY2UgV2ViQ29yZSB7CisKKy8vIEZJWE1FOiBBZGQgQ1NTUHJvcGVydHlCYWNrZ3JvdW5kU2l6
ZSB0byB0aGUgc2hvcnRoYW5kLgorY29uc3QgU3R5bGVQcm9wZXJ0eVNob3J0aGFuZCYgYmFja2dy
b3VuZFNob3J0aGFuZCgpCit7CisgICAgc3RhdGljIGNvbnN0IENTU1Byb3BlcnR5SUQgYmFja2dy
b3VuZFByb3BlcnRpZXNbXSA9IHsKKyAgICAgICAgQ1NTUHJvcGVydHlCYWNrZ3JvdW5kQ29sb3Is
CisgICAgICAgIENTU1Byb3BlcnR5QmFja2dyb3VuZEltYWdlLAorICAgICAgICBDU1NQcm9wZXJ0
eUJhY2tncm91bmRSZXBlYXRYLAorICAgICAgICBDU1NQcm9wZXJ0eUJhY2tncm91bmRSZXBlYXRZ
LAorICAgICAgICBDU1NQcm9wZXJ0eUJhY2tncm91bmRBdHRhY2htZW50LAorICAgICAgICBDU1NQ
cm9wZXJ0eUJhY2tncm91bmRQb3NpdGlvblgsCisgICAgICAgIENTU1Byb3BlcnR5QmFja2dyb3Vu
ZFBvc2l0aW9uWSwKKyAgICAgICAgQ1NTUHJvcGVydHlCYWNrZ3JvdW5kQ2xpcCwKKyAgICAgICAg
Q1NTUHJvcGVydHlCYWNrZ3JvdW5kT3JpZ2luCisgICAgfTsKKyAgICBERUZJTkVfU1RBVElDX0xP
Q0FMKFN0eWxlUHJvcGVydHlTaG9ydGhhbmQsIGJhY2tncm91bmRTaG9ydGhhbmQsIChiYWNrZ3Jv
dW5kUHJvcGVydGllcywgV1RGX0FSUkFZX0xFTkdUSChiYWNrZ3JvdW5kUHJvcGVydGllcykpKTsK
KyAgICByZXR1cm4gYmFja2dyb3VuZFNob3J0aGFuZDsKK30KKworY29uc3QgU3R5bGVQcm9wZXJ0
eVNob3J0aGFuZCYgYmFja2dyb3VuZFBvc2l0aW9uU2hvcnRoYW5kKCkKK3sKKyAgICBzdGF0aWMg
Y29uc3QgQ1NTUHJvcGVydHlJRCBiYWNrZ3JvdW5kUG9zaXRpb25Qcm9wZXJ0aWVzW10gPSB7IENT
U1Byb3BlcnR5QmFja2dyb3VuZFBvc2l0aW9uWCwgQ1NTUHJvcGVydHlCYWNrZ3JvdW5kUG9zaXRp
b25ZIH07CisgICAgREVGSU5FX1NUQVRJQ19MT0NBTChTdHlsZVByb3BlcnR5U2hvcnRoYW5kLCBi
YWNrZ3JvdW5kUG9zaXRpb25Mb25naGFuZHMsIChiYWNrZ3JvdW5kUG9zaXRpb25Qcm9wZXJ0aWVz
LCBXVEZfQVJSQVlfTEVOR1RIKGJhY2tncm91bmRQb3NpdGlvblByb3BlcnRpZXMpKSk7CisgICAg
cmV0dXJuIGJhY2tncm91bmRQb3NpdGlvbkxvbmdoYW5kczsKK30KKworY29uc3QgU3R5bGVQcm9w
ZXJ0eVNob3J0aGFuZCYgYmFja2dyb3VuZFJlcGVhdFNob3J0aGFuZCgpCit7CisgICAgc3RhdGlj
IGNvbnN0IENTU1Byb3BlcnR5SUQgYmFja2dyb3VuZFJlcGVhdFByb3BlcnRpZXNbXSA9IHsgQ1NT
UHJvcGVydHlCYWNrZ3JvdW5kUmVwZWF0WCwgQ1NTUHJvcGVydHlCYWNrZ3JvdW5kUmVwZWF0WSB9
OworICAgIERFRklORV9TVEFUSUNfTE9DQUwoU3R5bGVQcm9wZXJ0eVNob3J0aGFuZCwgYmFja2dy
b3VuZFJlcGVhdExvbmdoYW5kcywgKGJhY2tncm91bmRSZXBlYXRQcm9wZXJ0aWVzLCBXVEZfQVJS
QVlfTEVOR1RIKGJhY2tncm91bmRSZXBlYXRQcm9wZXJ0aWVzKSkpOworICAgIHJldHVybiBiYWNr
Z3JvdW5kUmVwZWF0TG9uZ2hhbmRzOworfQorCitjb25zdCBTdHlsZVByb3BlcnR5U2hvcnRoYW5k
JiBib3JkZXJTaG9ydGhhbmQoKQoreworICAgIC8vIERvIG5vdCBjaGFuZ2UgdGhlIG9yZGVyIG9m
IHRoZSBmb2xsb3dpbmcgZm91ciBzaG9ydGhhbmRzLCBhbmQga2VlcCB0aGVtIHRvZ2V0aGVyLgor
ICAgIHN0YXRpYyBjb25zdCBDU1NQcm9wZXJ0eUlEIGJvcmRlclByb3BlcnRpZXNbNF1bM10gPSB7
CisgICAgICAgIHsgQ1NTUHJvcGVydHlCb3JkZXJUb3BDb2xvciwgQ1NTUHJvcGVydHlCb3JkZXJU
b3BTdHlsZSwgQ1NTUHJvcGVydHlCb3JkZXJUb3BXaWR0aCB9LAorICAgICAgICB7IENTU1Byb3Bl
cnR5Qm9yZGVyUmlnaHRDb2xvciwgQ1NTUHJvcGVydHlCb3JkZXJSaWdodFN0eWxlLCBDU1NQcm9w
ZXJ0eUJvcmRlclJpZ2h0V2lkdGggfSwKKyAgICAgICAgeyBDU1NQcm9wZXJ0eUJvcmRlckJvdHRv
bUNvbG9yLCBDU1NQcm9wZXJ0eUJvcmRlckJvdHRvbVN0eWxlLCBDU1NQcm9wZXJ0eUJvcmRlckJv
dHRvbVdpZHRoIH0sCisgICAgICAgIHsgQ1NTUHJvcGVydHlCb3JkZXJMZWZ0Q29sb3IsIENTU1By
b3BlcnR5Qm9yZGVyTGVmdFN0eWxlLCBDU1NQcm9wZXJ0eUJvcmRlckxlZnRXaWR0aCB9CisgICAg
fTsKKyAgICBERUZJTkVfU1RBVElDX0xPQ0FMKFN0eWxlUHJvcGVydHlTaG9ydGhhbmQsIGJvcmRl
ckxvbmdoYW5kcywgKGJvcmRlclByb3BlcnRpZXNbMF0sIHNpemVvZihib3JkZXJQcm9wZXJ0aWVz
KSAvIHNpemVvZihib3JkZXJQcm9wZXJ0aWVzWzBdWzBdKSkpOworICAgIHJldHVybiBib3JkZXJM
b25naGFuZHM7Cit9CisKK2NvbnN0IFN0eWxlUHJvcGVydHlTaG9ydGhhbmQmIGJvcmRlckFicmlk
Z2VkU2hvcnRoYW5kKCkKK3sKKyAgICBzdGF0aWMgY29uc3QgQ1NTUHJvcGVydHlJRCBib3JkZXJB
YnJpZGdlZFByb3BlcnRpZXNbXSA9IHsgQ1NTUHJvcGVydHlCb3JkZXJXaWR0aCwgQ1NTUHJvcGVy
dHlCb3JkZXJTdHlsZSwgQ1NTUHJvcGVydHlCb3JkZXJDb2xvciB9OworICAgIHN0YXRpYyBjb25z
dCBTdHlsZVByb3BlcnR5U2hvcnRoYW5kKiBwcm9wZXJ0aWVzRm9ySW5pdGlhbGl6YXRpb25bXSA9
IHsKKyAgICAgICAgJmJvcmRlcldpZHRoU2hvcnRoYW5kKCksCisgICAgICAgICZib3JkZXJTdHls
ZVNob3J0aGFuZCgpLAorICAgICAgICAmYm9yZGVyQ29sb3JTaG9ydGhhbmQoKSwKKyAgICB9Owor
ICAgIERFRklORV9TVEFUSUNfTE9DQUwoU3R5bGVQcm9wZXJ0eVNob3J0aGFuZCwgYm9yZGVyQWJy
aWRnZWRMb25naGFuZHMsCisgICAgICAgIChib3JkZXJBYnJpZGdlZFByb3BlcnRpZXMsIHByb3Bl
cnRpZXNGb3JJbml0aWFsaXphdGlvbiwgV1RGX0FSUkFZX0xFTkdUSChib3JkZXJBYnJpZGdlZFBy
b3BlcnRpZXMpKSk7CisgICAgcmV0dXJuIGJvcmRlckFicmlkZ2VkTG9uZ2hhbmRzOworfQorCitj
b25zdCBTdHlsZVByb3BlcnR5U2hvcnRoYW5kJiBib3JkZXJCb3R0b21TaG9ydGhhbmQoKQorewor
ICAgIHN0YXRpYyBjb25zdCBDU1NQcm9wZXJ0eUlEIGJvcmRlckJvdHRvbVByb3BlcnRpZXNbXSA9
IHsgQ1NTUHJvcGVydHlCb3JkZXJCb3R0b21XaWR0aCwgQ1NTUHJvcGVydHlCb3JkZXJCb3R0b21T
dHlsZSwgQ1NTUHJvcGVydHlCb3JkZXJCb3R0b21Db2xvciB9OworICAgIERFRklORV9TVEFUSUNf
TE9DQUwoU3R5bGVQcm9wZXJ0eVNob3J0aGFuZCwgYm9yZGVyQm90dG9tTG9uZ2hhbmRzLCAoYm9y
ZGVyQm90dG9tUHJvcGVydGllcywgV1RGX0FSUkFZX0xFTkdUSChib3JkZXJCb3R0b21Qcm9wZXJ0
aWVzKSkpOworICAgIHJldHVybiBib3JkZXJCb3R0b21Mb25naGFuZHM7Cit9CisKK2NvbnN0IFN0
eWxlUHJvcGVydHlTaG9ydGhhbmQmIGJvcmRlckNvbG9yU2hvcnRoYW5kKCkKK3sKKyAgICBzdGF0
aWMgY29uc3QgQ1NTUHJvcGVydHlJRCBib3JkZXJDb2xvclByb3BlcnRpZXNbXSA9IHsKKyAgICAg
ICAgQ1NTUHJvcGVydHlCb3JkZXJUb3BDb2xvciwKKyAgICAgICAgQ1NTUHJvcGVydHlCb3JkZXJS
aWdodENvbG9yLAorICAgICAgICBDU1NQcm9wZXJ0eUJvcmRlckJvdHRvbUNvbG9yLAorICAgICAg
ICBDU1NQcm9wZXJ0eUJvcmRlckxlZnRDb2xvcgorICAgIH07CisgICAgREVGSU5FX1NUQVRJQ19M
T0NBTChTdHlsZVByb3BlcnR5U2hvcnRoYW5kLCBib3JkZXJDb2xvckxvbmdoYW5kcywgKGJvcmRl
ckNvbG9yUHJvcGVydGllcywgV1RGX0FSUkFZX0xFTkdUSChib3JkZXJDb2xvclByb3BlcnRpZXMp
KSk7CisgICAgcmV0dXJuIGJvcmRlckNvbG9yTG9uZ2hhbmRzOworfQorCitjb25zdCBTdHlsZVBy
b3BlcnR5U2hvcnRoYW5kJiBib3JkZXJJbWFnZVNob3J0aGFuZCgpCit7CisgICAgc3RhdGljIGNv
bnN0IENTU1Byb3BlcnR5SUQgYm9yZGVySW1hZ2VQcm9wZXJ0aWVzW10gPSB7CisgICAgICAgIENT
U1Byb3BlcnR5Qm9yZGVySW1hZ2VTb3VyY2UsCisgICAgICAgIENTU1Byb3BlcnR5Qm9yZGVySW1h
Z2VTbGljZSwKKyAgICAgICAgQ1NTUHJvcGVydHlCb3JkZXJJbWFnZVdpZHRoLAorICAgICAgICBD
U1NQcm9wZXJ0eUJvcmRlckltYWdlT3V0c2V0LAorICAgICAgICBDU1NQcm9wZXJ0eUJvcmRlcklt
YWdlUmVwZWF0CisgICAgfTsKKyAgICBERUZJTkVfU1RBVElDX0xPQ0FMKFN0eWxlUHJvcGVydHlT
aG9ydGhhbmQsIGJvcmRlckltYWdlTG9uZ2hhbmRzLCAoYm9yZGVySW1hZ2VQcm9wZXJ0aWVzLCBX
VEZfQVJSQVlfTEVOR1RIKGJvcmRlckltYWdlUHJvcGVydGllcykpKTsKKyAgICByZXR1cm4gYm9y
ZGVySW1hZ2VMb25naGFuZHM7Cit9CisKK2NvbnN0IFN0eWxlUHJvcGVydHlTaG9ydGhhbmQmIGJv
cmRlckxlZnRTaG9ydGhhbmQoKQoreworICAgIHN0YXRpYyBjb25zdCBDU1NQcm9wZXJ0eUlEIGJv
cmRlckxlZnRQcm9wZXJ0aWVzW10gPSB7IENTU1Byb3BlcnR5Qm9yZGVyTGVmdFdpZHRoLCBDU1NQ
cm9wZXJ0eUJvcmRlckxlZnRTdHlsZSwgQ1NTUHJvcGVydHlCb3JkZXJMZWZ0Q29sb3IgfTsKKyAg
ICBERUZJTkVfU1RBVElDX0xPQ0FMKFN0eWxlUHJvcGVydHlTaG9ydGhhbmQsIGJvcmRlckxlZnRM
b25naGFuZHMsIChib3JkZXJMZWZ0UHJvcGVydGllcywgV1RGX0FSUkFZX0xFTkdUSChib3JkZXJM
ZWZ0UHJvcGVydGllcykpKTsKKyAgICByZXR1cm4gYm9yZGVyTGVmdExvbmdoYW5kczsKK30KKwor
Y29uc3QgU3R5bGVQcm9wZXJ0eVNob3J0aGFuZCYgYm9yZGVyUmFkaXVzU2hvcnRoYW5kKCkKK3sK
KyAgICBzdGF0aWMgY29uc3QgQ1NTUHJvcGVydHlJRCBib3JkZXJSYWRpdXNQcm9wZXJ0aWVzW10g
PSB7CisgICAgICAgIENTU1Byb3BlcnR5Qm9yZGVyVG9wUmlnaHRSYWRpdXMsCisgICAgICAgIENT
U1Byb3BlcnR5Qm9yZGVyVG9wTGVmdFJhZGl1cywKKyAgICAgICAgQ1NTUHJvcGVydHlCb3JkZXJC
b3R0b21MZWZ0UmFkaXVzLAorICAgICAgICBDU1NQcm9wZXJ0eUJvcmRlckJvdHRvbVJpZ2h0UmFk
aXVzCisgICAgfTsKKyAgICBERUZJTkVfU1RBVElDX0xPQ0FMKFN0eWxlUHJvcGVydHlTaG9ydGhh
bmQsIGJvcmRlclJhZGl1c0xvbmdoYW5kcywgKGJvcmRlclJhZGl1c1Byb3BlcnRpZXMsIFdURl9B
UlJBWV9MRU5HVEgoYm9yZGVyUmFkaXVzUHJvcGVydGllcykpKTsKKyAgICByZXR1cm4gYm9yZGVy
UmFkaXVzTG9uZ2hhbmRzOworfQorCitjb25zdCBTdHlsZVByb3BlcnR5U2hvcnRoYW5kJiBib3Jk
ZXJSaWdodFNob3J0aGFuZCgpCit7CisgICAgc3RhdGljIGNvbnN0IENTU1Byb3BlcnR5SUQgYm9y
ZGVyUmlnaHRQcm9wZXJ0aWVzW10gPSB7IENTU1Byb3BlcnR5Qm9yZGVyUmlnaHRXaWR0aCwgQ1NT
UHJvcGVydHlCb3JkZXJSaWdodFN0eWxlLCBDU1NQcm9wZXJ0eUJvcmRlclJpZ2h0Q29sb3IgfTsK
KyAgICBERUZJTkVfU1RBVElDX0xPQ0FMKFN0eWxlUHJvcGVydHlTaG9ydGhhbmQsIGJvcmRlclJp
Z2h0TG9uZ2hhbmRzLCAoYm9yZGVyUmlnaHRQcm9wZXJ0aWVzLCBXVEZfQVJSQVlfTEVOR1RIKGJv
cmRlclJpZ2h0UHJvcGVydGllcykpKTsKKyAgICByZXR1cm4gYm9yZGVyUmlnaHRMb25naGFuZHM7
Cit9CisKK2NvbnN0IFN0eWxlUHJvcGVydHlTaG9ydGhhbmQmIGJvcmRlclNwYWNpbmdTaG9ydGhh
bmQoKQoreworICAgIHN0YXRpYyBjb25zdCBDU1NQcm9wZXJ0eUlEIGJvcmRlclNwYWNpbmdQcm9w
ZXJ0aWVzW10gPSB7IENTU1Byb3BlcnR5V2Via2l0Qm9yZGVySG9yaXpvbnRhbFNwYWNpbmcsIENT
U1Byb3BlcnR5V2Via2l0Qm9yZGVyVmVydGljYWxTcGFjaW5nIH07CisgICAgREVGSU5FX1NUQVRJ
Q19MT0NBTChTdHlsZVByb3BlcnR5U2hvcnRoYW5kLCBib3JkZXJTcGFjaW5nTG9uZ2hhbmRzLCAo
Ym9yZGVyU3BhY2luZ1Byb3BlcnRpZXMsIFdURl9BUlJBWV9MRU5HVEgoYm9yZGVyU3BhY2luZ1By
b3BlcnRpZXMpKSk7CisgICAgcmV0dXJuIGJvcmRlclNwYWNpbmdMb25naGFuZHM7Cit9CisKK2Nv
bnN0IFN0eWxlUHJvcGVydHlTaG9ydGhhbmQmIGJvcmRlclN0eWxlU2hvcnRoYW5kKCkKK3sKKyAg
ICBzdGF0aWMgY29uc3QgQ1NTUHJvcGVydHlJRCBib3JkZXJTdHlsZVByb3BlcnRpZXNbXSA9IHsK
KyAgICAgICAgQ1NTUHJvcGVydHlCb3JkZXJUb3BTdHlsZSwKKyAgICAgICAgQ1NTUHJvcGVydHlC
b3JkZXJSaWdodFN0eWxlLAorICAgICAgICBDU1NQcm9wZXJ0eUJvcmRlckJvdHRvbVN0eWxlLAor
ICAgICAgICBDU1NQcm9wZXJ0eUJvcmRlckxlZnRTdHlsZQorICAgIH07CisgICAgREVGSU5FX1NU
QVRJQ19MT0NBTChTdHlsZVByb3BlcnR5U2hvcnRoYW5kLCBib3JkZXJTdHlsZUxvbmdoYW5kcywg
KGJvcmRlclN0eWxlUHJvcGVydGllcywgV1RGX0FSUkFZX0xFTkdUSChib3JkZXJTdHlsZVByb3Bl
cnRpZXMpKSk7CisgICAgcmV0dXJuIGJvcmRlclN0eWxlTG9uZ2hhbmRzOworfQorCitjb25zdCBT
dHlsZVByb3BlcnR5U2hvcnRoYW5kJiBib3JkZXJUb3BTaG9ydGhhbmQoKQoreworICAgIHN0YXRp
YyBjb25zdCBDU1NQcm9wZXJ0eUlEIGJvcmRlclRvcFByb3BlcnRpZXNbXSA9IHsgQ1NTUHJvcGVy
dHlCb3JkZXJUb3BXaWR0aCwgQ1NTUHJvcGVydHlCb3JkZXJUb3BTdHlsZSwgQ1NTUHJvcGVydHlC
b3JkZXJUb3BDb2xvciB9OworICAgIERFRklORV9TVEFUSUNfTE9DQUwoU3R5bGVQcm9wZXJ0eVNo
b3J0aGFuZCwgYm9yZGVyVG9wTG9uZ2hhbmRzLCAoYm9yZGVyVG9wUHJvcGVydGllcywgV1RGX0FS
UkFZX0xFTkdUSChib3JkZXJUb3BQcm9wZXJ0aWVzKSkpOworICAgIHJldHVybiBib3JkZXJUb3BM
b25naGFuZHM7Cit9CisKK2NvbnN0IFN0eWxlUHJvcGVydHlTaG9ydGhhbmQmIGJvcmRlcldpZHRo
U2hvcnRoYW5kKCkKK3sKKyAgICBzdGF0aWMgY29uc3QgQ1NTUHJvcGVydHlJRCBib3JkZXJXaWR0
aFByb3BlcnRpZXNbXSA9IHsKKyAgICAgICAgQ1NTUHJvcGVydHlCb3JkZXJUb3BXaWR0aCwKKyAg
ICAgICAgQ1NTUHJvcGVydHlCb3JkZXJSaWdodFdpZHRoLAorICAgICAgICBDU1NQcm9wZXJ0eUJv
cmRlckJvdHRvbVdpZHRoLAorICAgICAgICBDU1NQcm9wZXJ0eUJvcmRlckxlZnRXaWR0aAorICAg
IH07CisgICAgREVGSU5FX1NUQVRJQ19MT0NBTChTdHlsZVByb3BlcnR5U2hvcnRoYW5kLCBib3Jk
ZXJXaWR0aExvbmdoYW5kcywgKGJvcmRlcldpZHRoUHJvcGVydGllcywgV1RGX0FSUkFZX0xFTkdU
SChib3JkZXJXaWR0aFByb3BlcnRpZXMpKSk7CisgICAgcmV0dXJuIGJvcmRlcldpZHRoTG9uZ2hh
bmRzOworfQorCitjb25zdCBTdHlsZVByb3BlcnR5U2hvcnRoYW5kJiBsaXN0U3R5bGVTaG9ydGhh
bmQoKQoreworICAgIHN0YXRpYyBjb25zdCBDU1NQcm9wZXJ0eUlEIGxpc3RTdHlsZVByb3BlcnRp
ZXNbXSA9IHsKKyAgICAgICAgQ1NTUHJvcGVydHlMaXN0U3R5bGVUeXBlLAorICAgICAgICBDU1NQ
cm9wZXJ0eUxpc3RTdHlsZVBvc2l0aW9uLAorICAgICAgICBDU1NQcm9wZXJ0eUxpc3RTdHlsZUlt
YWdlCisgICAgfTsKKyAgICBERUZJTkVfU1RBVElDX0xPQ0FMKFN0eWxlUHJvcGVydHlTaG9ydGhh
bmQsIGxpc3RTdHlsZUxvbmdoYW5kcywgKGxpc3RTdHlsZVByb3BlcnRpZXMsIFdURl9BUlJBWV9M
RU5HVEgobGlzdFN0eWxlUHJvcGVydGllcykpKTsKKyAgICByZXR1cm4gbGlzdFN0eWxlTG9uZ2hh
bmRzOworfQorCitjb25zdCBTdHlsZVByb3BlcnR5U2hvcnRoYW5kJiBmb250U2hvcnRoYW5kKCkK
K3sKKyAgICBzdGF0aWMgY29uc3QgQ1NTUHJvcGVydHlJRCBmb250UHJvcGVydGllc1tdID0gewor
ICAgICAgICBDU1NQcm9wZXJ0eUZvbnRGYW1pbHksCisgICAgICAgIENTU1Byb3BlcnR5Rm9udFNp
emUsCisgICAgICAgIENTU1Byb3BlcnR5Rm9udFN0eWxlLAorICAgICAgICBDU1NQcm9wZXJ0eUZv
bnRWYXJpYW50LAorICAgICAgICBDU1NQcm9wZXJ0eUZvbnRXZWlnaHQsCisgICAgICAgIENTU1By
b3BlcnR5TGluZUhlaWdodAorICAgIH07CisgICAgREVGSU5FX1NUQVRJQ19MT0NBTChTdHlsZVBy
b3BlcnR5U2hvcnRoYW5kLCBmb250TG9uZ2hhbmRzLCAoZm9udFByb3BlcnRpZXMsIFdURl9BUlJB
WV9MRU5HVEgoZm9udFByb3BlcnRpZXMpKSk7CisgICAgcmV0dXJuIGZvbnRMb25naGFuZHM7Cit9
CisKK2NvbnN0IFN0eWxlUHJvcGVydHlTaG9ydGhhbmQmIG1hcmdpblNob3J0aGFuZCgpCit7Cisg
ICAgc3RhdGljIGNvbnN0IENTU1Byb3BlcnR5SUQgbWFyZ2luUHJvcGVydGllc1tdID0geworICAg
ICAgICBDU1NQcm9wZXJ0eU1hcmdpblRvcCwKKyAgICAgICAgQ1NTUHJvcGVydHlNYXJnaW5SaWdo
dCwKKyAgICAgICAgQ1NTUHJvcGVydHlNYXJnaW5Cb3R0b20sCisgICAgICAgIENTU1Byb3BlcnR5
TWFyZ2luTGVmdAorICAgIH07CisgICAgREVGSU5FX1NUQVRJQ19MT0NBTChTdHlsZVByb3BlcnR5
U2hvcnRoYW5kLCBtYXJnaW5Mb25naGFuZHMsIChtYXJnaW5Qcm9wZXJ0aWVzLCBXVEZfQVJSQVlf
TEVOR1RIKG1hcmdpblByb3BlcnRpZXMpKSk7CisgICAgcmV0dXJuIG1hcmdpbkxvbmdoYW5kczsK
K30KKworY29uc3QgU3R5bGVQcm9wZXJ0eVNob3J0aGFuZCYgb3V0bGluZVNob3J0aGFuZCgpCit7
CisgICAgc3RhdGljIGNvbnN0IENTU1Byb3BlcnR5SUQgb3V0bGluZVByb3BlcnRpZXNbXSA9IHsK
KyAgICAgICAgQ1NTUHJvcGVydHlPdXRsaW5lQ29sb3IsCisgICAgICAgIENTU1Byb3BlcnR5T3V0
bGluZVN0eWxlLAorICAgICAgICBDU1NQcm9wZXJ0eU91dGxpbmVXaWR0aAorICAgIH07CisgICAg
REVGSU5FX1NUQVRJQ19MT0NBTChTdHlsZVByb3BlcnR5U2hvcnRoYW5kLCBvdXRsaW5lTG9uZ2hh
bmRzLCAob3V0bGluZVByb3BlcnRpZXMsIFdURl9BUlJBWV9MRU5HVEgob3V0bGluZVByb3BlcnRp
ZXMpKSk7CisgICAgcmV0dXJuIG91dGxpbmVMb25naGFuZHM7Cit9CisKK2NvbnN0IFN0eWxlUHJv
cGVydHlTaG9ydGhhbmQmIG92ZXJmbG93U2hvcnRoYW5kKCkKK3sKKyAgICBzdGF0aWMgY29uc3Qg
Q1NTUHJvcGVydHlJRCBvdmVyZmxvd1Byb3BlcnRpZXNbXSA9IHsgQ1NTUHJvcGVydHlPdmVyZmxv
d1gsIENTU1Byb3BlcnR5T3ZlcmZsb3dZIH07CisgICAgREVGSU5FX1NUQVRJQ19MT0NBTChTdHls
ZVByb3BlcnR5U2hvcnRoYW5kLCBvdmVyZmxvd0xvbmdoYW5kcywgKG92ZXJmbG93UHJvcGVydGll
cywgV1RGX0FSUkFZX0xFTkdUSChvdmVyZmxvd1Byb3BlcnRpZXMpKSk7CisgICAgcmV0dXJuIG92
ZXJmbG93TG9uZ2hhbmRzOworfQorCitjb25zdCBTdHlsZVByb3BlcnR5U2hvcnRoYW5kJiBwYWRk
aW5nU2hvcnRoYW5kKCkKK3sKKyAgICBzdGF0aWMgY29uc3QgQ1NTUHJvcGVydHlJRCBwYWRkaW5n
UHJvcGVydGllc1tdID0geworICAgICAgICBDU1NQcm9wZXJ0eVBhZGRpbmdUb3AsCisgICAgICAg
IENTU1Byb3BlcnR5UGFkZGluZ1JpZ2h0LAorICAgICAgICBDU1NQcm9wZXJ0eVBhZGRpbmdCb3R0
b20sCisgICAgICAgIENTU1Byb3BlcnR5UGFkZGluZ0xlZnQKKyAgICB9OworICAgIERFRklORV9T
VEFUSUNfTE9DQUwoU3R5bGVQcm9wZXJ0eVNob3J0aGFuZCwgcGFkZGluZ0xvbmdoYW5kcywgKHBh
ZGRpbmdQcm9wZXJ0aWVzLCBXVEZfQVJSQVlfTEVOR1RIKHBhZGRpbmdQcm9wZXJ0aWVzKSkpOwor
ICAgIHJldHVybiBwYWRkaW5nTG9uZ2hhbmRzOworfQorCitjb25zdCBTdHlsZVByb3BlcnR5U2hv
cnRoYW5kJiB3ZWJraXRBbmltYXRpb25TaG9ydGhhbmQoKQoreworICAgIHN0YXRpYyBjb25zdCBD
U1NQcm9wZXJ0eUlEIGFuaW1hdGlvblByb3BlcnRpZXNbXSA9IHsKKyAgICAgICAgQ1NTUHJvcGVy
dHlXZWJraXRBbmltYXRpb25OYW1lLAorICAgICAgICBDU1NQcm9wZXJ0eVdlYmtpdEFuaW1hdGlv
bkR1cmF0aW9uLAorICAgICAgICBDU1NQcm9wZXJ0eVdlYmtpdEFuaW1hdGlvblRpbWluZ0Z1bmN0
aW9uLAorICAgICAgICBDU1NQcm9wZXJ0eVdlYmtpdEFuaW1hdGlvbkRlbGF5LAorICAgICAgICBD
U1NQcm9wZXJ0eVdlYmtpdEFuaW1hdGlvbkl0ZXJhdGlvbkNvdW50LAorICAgICAgICBDU1NQcm9w
ZXJ0eVdlYmtpdEFuaW1hdGlvbkRpcmVjdGlvbiwKKyAgICAgICAgQ1NTUHJvcGVydHlXZWJraXRB
bmltYXRpb25GaWxsTW9kZQorICAgIH07CisgICAgREVGSU5FX1NUQVRJQ19MT0NBTChTdHlsZVBy
b3BlcnR5U2hvcnRoYW5kLCB3ZWJraXRBbmltYXRpb25Mb25naGFuZHMsIChhbmltYXRpb25Qcm9w
ZXJ0aWVzLCBXVEZfQVJSQVlfTEVOR1RIKGFuaW1hdGlvblByb3BlcnRpZXMpKSk7CisgICAgcmV0
dXJuIHdlYmtpdEFuaW1hdGlvbkxvbmdoYW5kczsKK30KKworY29uc3QgU3R5bGVQcm9wZXJ0eVNo
b3J0aGFuZCYgd2Via2l0Qm9yZGVyQWZ0ZXJTaG9ydGhhbmQoKQoreworICAgIHN0YXRpYyBjb25z
dCBDU1NQcm9wZXJ0eUlEIGJvcmRlckFmdGVyUHJvcGVydGllc1tdID0geyBDU1NQcm9wZXJ0eVdl
YmtpdEJvcmRlckFmdGVyV2lkdGgsIENTU1Byb3BlcnR5V2Via2l0Qm9yZGVyQWZ0ZXJTdHlsZSwg
Q1NTUHJvcGVydHlXZWJraXRCb3JkZXJBZnRlckNvbG9yICB9OworICAgIERFRklORV9TVEFUSUNf
TE9DQUwoU3R5bGVQcm9wZXJ0eVNob3J0aGFuZCwgd2Via2l0Qm9yZGVyQWZ0ZXJMb25naGFuZHMs
IChib3JkZXJBZnRlclByb3BlcnRpZXMsIFdURl9BUlJBWV9MRU5HVEgoYm9yZGVyQWZ0ZXJQcm9w
ZXJ0aWVzKSkpOworICAgIHJldHVybiB3ZWJraXRCb3JkZXJBZnRlckxvbmdoYW5kczsKK30KKwor
Y29uc3QgU3R5bGVQcm9wZXJ0eVNob3J0aGFuZCYgd2Via2l0Qm9yZGVyQmVmb3JlU2hvcnRoYW5k
KCkKK3sKKyAgICBzdGF0aWMgY29uc3QgQ1NTUHJvcGVydHlJRCBib3JkZXJCZWZvcmVQcm9wZXJ0
aWVzW10gPSB7IENTU1Byb3BlcnR5V2Via2l0Qm9yZGVyQmVmb3JlV2lkdGgsIENTU1Byb3BlcnR5
V2Via2l0Qm9yZGVyQmVmb3JlU3R5bGUsIENTU1Byb3BlcnR5V2Via2l0Qm9yZGVyQmVmb3JlQ29s
b3IgIH07CisgICAgREVGSU5FX1NUQVRJQ19MT0NBTChTdHlsZVByb3BlcnR5U2hvcnRoYW5kLCB3
ZWJraXRCb3JkZXJCZWZvcmVMb25naGFuZHMsIChib3JkZXJCZWZvcmVQcm9wZXJ0aWVzLCBXVEZf
QVJSQVlfTEVOR1RIKGJvcmRlckJlZm9yZVByb3BlcnRpZXMpKSk7CisgICAgcmV0dXJuIHdlYmtp
dEJvcmRlckJlZm9yZUxvbmdoYW5kczsKK30KKworY29uc3QgU3R5bGVQcm9wZXJ0eVNob3J0aGFu
ZCYgd2Via2l0Qm9yZGVyRW5kU2hvcnRoYW5kKCkKK3sKKyAgICBzdGF0aWMgY29uc3QgQ1NTUHJv
cGVydHlJRCBib3JkZXJFbmRQcm9wZXJ0aWVzW10gPSB7IENTU1Byb3BlcnR5V2Via2l0Qm9yZGVy
RW5kV2lkdGgsIENTU1Byb3BlcnR5V2Via2l0Qm9yZGVyRW5kU3R5bGUsIENTU1Byb3BlcnR5V2Vi
a2l0Qm9yZGVyRW5kQ29sb3IgfTsKKyAgICBERUZJTkVfU1RBVElDX0xPQ0FMKFN0eWxlUHJvcGVy
dHlTaG9ydGhhbmQsIHdlYmtpdEJvcmRlckVuZExvbmdoYW5kcywgKGJvcmRlckVuZFByb3BlcnRp
ZXMsIFdURl9BUlJBWV9MRU5HVEgoYm9yZGVyRW5kUHJvcGVydGllcykpKTsKKyAgICByZXR1cm4g
d2Via2l0Qm9yZGVyRW5kTG9uZ2hhbmRzOworfQorCitjb25zdCBTdHlsZVByb3BlcnR5U2hvcnRo
YW5kJiB3ZWJraXRCb3JkZXJTdGFydFNob3J0aGFuZCgpCit7CisgICAgc3RhdGljIGNvbnN0IENT
U1Byb3BlcnR5SUQgYm9yZGVyU3RhcnRQcm9wZXJ0aWVzW10gPSB7IENTU1Byb3BlcnR5V2Via2l0
Qm9yZGVyU3RhcnRXaWR0aCwgQ1NTUHJvcGVydHlXZWJraXRCb3JkZXJTdGFydFN0eWxlLCBDU1NQ
cm9wZXJ0eVdlYmtpdEJvcmRlclN0YXJ0Q29sb3IgfTsKKyAgICBERUZJTkVfU1RBVElDX0xPQ0FM
KFN0eWxlUHJvcGVydHlTaG9ydGhhbmQsIHdlYmtpdEJvcmRlclN0YXJ0TG9uZ2hhbmRzLCAoYm9y
ZGVyU3RhcnRQcm9wZXJ0aWVzLCBXVEZfQVJSQVlfTEVOR1RIKGJvcmRlclN0YXJ0UHJvcGVydGll
cykpKTsKKyAgICByZXR1cm4gd2Via2l0Qm9yZGVyU3RhcnRMb25naGFuZHM7Cit9CisKK2NvbnN0
IFN0eWxlUHJvcGVydHlTaG9ydGhhbmQmIHdlYmtpdENvbHVtbnNTaG9ydGhhbmQoKQoreworICAg
IHN0YXRpYyBjb25zdCBDU1NQcm9wZXJ0eUlEIGNvbHVtbnNQcm9wZXJ0aWVzW10gPSB7IENTU1By
b3BlcnR5V2Via2l0Q29sdW1uV2lkdGgsIENTU1Byb3BlcnR5V2Via2l0Q29sdW1uQ291bnQgfTsK
KyAgICBERUZJTkVfU1RBVElDX0xPQ0FMKFN0eWxlUHJvcGVydHlTaG9ydGhhbmQsIHdlYmtpdENv
bHVtbnNMb25naGFuZHMsIChjb2x1bW5zUHJvcGVydGllcywgV1RGX0FSUkFZX0xFTkdUSChjb2x1
bW5zUHJvcGVydGllcykpKTsKKyAgICByZXR1cm4gd2Via2l0Q29sdW1uc0xvbmdoYW5kczsKK30K
KworY29uc3QgU3R5bGVQcm9wZXJ0eVNob3J0aGFuZCYgd2Via2l0Q29sdW1uUnVsZVNob3J0aGFu
ZCgpCit7CisgICAgc3RhdGljIGNvbnN0IENTU1Byb3BlcnR5SUQgY29sdW1uUnVsZVByb3BlcnRp
ZXNbXSA9IHsKKyAgICAgICAgQ1NTUHJvcGVydHlXZWJraXRDb2x1bW5SdWxlV2lkdGgsCisgICAg
ICAgIENTU1Byb3BlcnR5V2Via2l0Q29sdW1uUnVsZVN0eWxlLAorICAgICAgICBDU1NQcm9wZXJ0
eVdlYmtpdENvbHVtblJ1bGVDb2xvciwKKyAgICB9OworICAgIERFRklORV9TVEFUSUNfTE9DQUwo
U3R5bGVQcm9wZXJ0eVNob3J0aGFuZCwgd2Via2l0Q29sdW1uUnVsZUxvbmdoYW5kcywgKGNvbHVt
blJ1bGVQcm9wZXJ0aWVzLCBXVEZfQVJSQVlfTEVOR1RIKGNvbHVtblJ1bGVQcm9wZXJ0aWVzKSkp
OworICAgIHJldHVybiB3ZWJraXRDb2x1bW5SdWxlTG9uZ2hhbmRzOworfQorCitjb25zdCBTdHls
ZVByb3BlcnR5U2hvcnRoYW5kJiB3ZWJraXRGbGV4Rmxvd1Nob3J0aGFuZCgpCit7CisgICAgc3Rh
dGljIGNvbnN0IENTU1Byb3BlcnR5SUQgZmxleEZsb3dQcm9wZXJ0aWVzW10gPSB7IENTU1Byb3Bl
cnR5V2Via2l0RmxleERpcmVjdGlvbiwgQ1NTUHJvcGVydHlXZWJraXRGbGV4V3JhcCB9OworICAg
IERFRklORV9TVEFUSUNfTE9DQUwoU3R5bGVQcm9wZXJ0eVNob3J0aGFuZCwgd2Via2l0RmxleEZs
b3dMb25naGFuZHMsIChmbGV4Rmxvd1Byb3BlcnRpZXMsIFdURl9BUlJBWV9MRU5HVEgoZmxleEZs
b3dQcm9wZXJ0aWVzKSkpOworICAgIHJldHVybiB3ZWJraXRGbGV4Rmxvd0xvbmdoYW5kczsKK30K
KworY29uc3QgU3R5bGVQcm9wZXJ0eVNob3J0aGFuZCYgd2Via2l0TWFyZ2luQ29sbGFwc2VTaG9y
dGhhbmQoKQoreworICAgIHN0YXRpYyBjb25zdCBDU1NQcm9wZXJ0eUlEIG1hcmdpbkNvbGxhcHNl
UHJvcGVydGllc1tdID0geyBDU1NQcm9wZXJ0eVdlYmtpdE1hcmdpbkJlZm9yZUNvbGxhcHNlLCBD
U1NQcm9wZXJ0eVdlYmtpdE1hcmdpbkFmdGVyQ29sbGFwc2UgfTsKKyAgICBERUZJTkVfU1RBVElD
X0xPQ0FMKFN0eWxlUHJvcGVydHlTaG9ydGhhbmQsIHdlYmtpdE1hcmdpbkNvbGxhcHNlTG9uZ2hh
bmRzLCAobWFyZ2luQ29sbGFwc2VQcm9wZXJ0aWVzLCBXVEZfQVJSQVlfTEVOR1RIKG1hcmdpbkNv
bGxhcHNlUHJvcGVydGllcykpKTsKKyAgICByZXR1cm4gd2Via2l0TWFyZ2luQ29sbGFwc2VMb25n
aGFuZHM7Cit9CisKK2NvbnN0IFN0eWxlUHJvcGVydHlTaG9ydGhhbmQmIHdlYmtpdE1hcnF1ZWVT
aG9ydGhhbmQoKQoreworICAgIHN0YXRpYyBjb25zdCBDU1NQcm9wZXJ0eUlEIG1hcnF1ZWVQcm9w
ZXJ0aWVzW10gPSB7CisgICAgICAgIENTU1Byb3BlcnR5V2Via2l0TWFycXVlZURpcmVjdGlvbiwK
KyAgICAgICAgQ1NTUHJvcGVydHlXZWJraXRNYXJxdWVlSW5jcmVtZW50LAorICAgICAgICBDU1NQ
cm9wZXJ0eVdlYmtpdE1hcnF1ZWVSZXBldGl0aW9uLAorICAgICAgICBDU1NQcm9wZXJ0eVdlYmtp
dE1hcnF1ZWVTdHlsZSwKKyAgICAgICAgQ1NTUHJvcGVydHlXZWJraXRNYXJxdWVlU3BlZWQKKyAg
ICB9OworICAgIERFRklORV9TVEFUSUNfTE9DQUwoU3R5bGVQcm9wZXJ0eVNob3J0aGFuZCwgd2Vi
a2l0TWFycXVlZUxvbmdoYW5kcywgKG1hcnF1ZWVQcm9wZXJ0aWVzLCBXVEZfQVJSQVlfTEVOR1RI
KG1hcnF1ZWVQcm9wZXJ0aWVzKSkpOworICAgIHJldHVybiB3ZWJraXRNYXJxdWVlTG9uZ2hhbmRz
OworfQorCitjb25zdCBTdHlsZVByb3BlcnR5U2hvcnRoYW5kJiB3ZWJraXRNYXNrU2hvcnRoYW5k
KCkKK3sKKyAgICBzdGF0aWMgY29uc3QgQ1NTUHJvcGVydHlJRCBtYXNrUHJvcGVydGllc1tdID0g
eworICAgICAgICBDU1NQcm9wZXJ0eVdlYmtpdE1hc2tJbWFnZSwKKyAgICAgICAgQ1NTUHJvcGVy
dHlXZWJraXRNYXNrUmVwZWF0WCwKKyAgICAgICAgQ1NTUHJvcGVydHlXZWJraXRNYXNrUmVwZWF0
WSwKKyAgICAgICAgQ1NTUHJvcGVydHlXZWJraXRNYXNrQXR0YWNobWVudCwKKyAgICAgICAgQ1NT
UHJvcGVydHlXZWJraXRNYXNrUG9zaXRpb25YLAorICAgICAgICBDU1NQcm9wZXJ0eVdlYmtpdE1h
c2tQb3NpdGlvblksCisgICAgICAgIENTU1Byb3BlcnR5V2Via2l0TWFza0NsaXAsCisgICAgICAg
IENTU1Byb3BlcnR5V2Via2l0TWFza09yaWdpbgorICAgIH07CisgICAgREVGSU5FX1NUQVRJQ19M
T0NBTChTdHlsZVByb3BlcnR5U2hvcnRoYW5kLCB3ZWJraXRNYXNrTG9uZ2hhbmRzLCAobWFza1By
b3BlcnRpZXMsIFdURl9BUlJBWV9MRU5HVEgobWFza1Byb3BlcnRpZXMpKSk7CisgICAgcmV0dXJu
IHdlYmtpdE1hc2tMb25naGFuZHM7Cit9CisKK2NvbnN0IFN0eWxlUHJvcGVydHlTaG9ydGhhbmQm
IHdlYmtpdE1hc2tQb3NpdGlvblNob3J0aGFuZCgpCit7CisgICAgc3RhdGljIGNvbnN0IENTU1By
b3BlcnR5SUQgbWFza1Bvc2l0aW9uUHJvcGVydGllc1tdID0geyBDU1NQcm9wZXJ0eVdlYmtpdE1h
c2tQb3NpdGlvblgsIENTU1Byb3BlcnR5V2Via2l0TWFza1Bvc2l0aW9uWSB9OworICAgIERFRklO
RV9TVEFUSUNfTE9DQUwoU3R5bGVQcm9wZXJ0eVNob3J0aGFuZCwgd2Via2l0TWFza1Bvc2l0aW9u
TG9uZ2hhbmRzLCAobWFza1Bvc2l0aW9uUHJvcGVydGllcywgV1RGX0FSUkFZX0xFTkdUSChtYXNr
UG9zaXRpb25Qcm9wZXJ0aWVzKSkpOworICAgIHJldHVybiB3ZWJraXRNYXNrUG9zaXRpb25Mb25n
aGFuZHM7Cit9CisKK2NvbnN0IFN0eWxlUHJvcGVydHlTaG9ydGhhbmQmIHdlYmtpdE1hc2tSZXBl
YXRTaG9ydGhhbmQoKQoreworICAgIHN0YXRpYyBjb25zdCBDU1NQcm9wZXJ0eUlEIG1hc2tSZXBl
YXRQcm9wZXJ0aWVzW10gPSB7IENTU1Byb3BlcnR5V2Via2l0TWFza1JlcGVhdFgsIENTU1Byb3Bl
cnR5V2Via2l0TWFza1JlcGVhdFkgfTsKKyAgICBERUZJTkVfU1RBVElDX0xPQ0FMKFN0eWxlUHJv
cGVydHlTaG9ydGhhbmQsIHdlYmtpdE1hc2tSZXBlYXRMb25naGFuZHMsIChtYXNrUmVwZWF0UHJv
cGVydGllcywgV1RGX0FSUkFZX0xFTkdUSChtYXNrUmVwZWF0UHJvcGVydGllcykpKTsKKyAgICBy
ZXR1cm4gd2Via2l0TWFza1JlcGVhdExvbmdoYW5kczsKK30KKworY29uc3QgU3R5bGVQcm9wZXJ0
eVNob3J0aGFuZCYgd2Via2l0VGV4dEVtcGhhc2lzU2hvcnRoYW5kKCkKK3sKKyAgICBzdGF0aWMg
Y29uc3QgQ1NTUHJvcGVydHlJRCB0ZXh0RW1waGFzaXNQcm9wZXJ0aWVzW10gPSB7CisgICAgICAg
IENTU1Byb3BlcnR5V2Via2l0VGV4dEVtcGhhc2lzU3R5bGUsCisgICAgICAgIENTU1Byb3BlcnR5
V2Via2l0VGV4dEVtcGhhc2lzQ29sb3IKKyAgICB9OworICAgIERFRklORV9TVEFUSUNfTE9DQUwo
U3R5bGVQcm9wZXJ0eVNob3J0aGFuZCwgd2Via2l0VGV4dEVtcGhhc2lzTG9uZ2hhbmRzLCAodGV4
dEVtcGhhc2lzUHJvcGVydGllcywgV1RGX0FSUkFZX0xFTkdUSCh0ZXh0RW1waGFzaXNQcm9wZXJ0
aWVzKSkpOworICAgIHJldHVybiB3ZWJraXRUZXh0RW1waGFzaXNMb25naGFuZHM7Cit9CisKK2Nv
bnN0IFN0eWxlUHJvcGVydHlTaG9ydGhhbmQmIHdlYmtpdFRleHRTdHJva2VTaG9ydGhhbmQoKQor
eworICAgIHN0YXRpYyBjb25zdCBDU1NQcm9wZXJ0eUlEIHRleHRTdHJva2VQcm9wZXJ0aWVzW10g
PSB7IENTU1Byb3BlcnR5V2Via2l0VGV4dFN0cm9rZVdpZHRoLCBDU1NQcm9wZXJ0eVdlYmtpdFRl
eHRTdHJva2VDb2xvciB9OworICAgIERFRklORV9TVEFUSUNfTE9DQUwoU3R5bGVQcm9wZXJ0eVNo
b3J0aGFuZCwgd2Via2l0VGV4dFN0cm9rZUxvbmdoYW5kcywgKHRleHRTdHJva2VQcm9wZXJ0aWVz
LCBXVEZfQVJSQVlfTEVOR1RIKHRleHRTdHJva2VQcm9wZXJ0aWVzKSkpOworICAgIHJldHVybiB3
ZWJraXRUZXh0U3Ryb2tlTG9uZ2hhbmRzOworfQorCitjb25zdCBTdHlsZVByb3BlcnR5U2hvcnRo
YW5kJiB3ZWJraXRUcmFuc2l0aW9uU2hvcnRoYW5kKCkKK3sKKyAgICBzdGF0aWMgY29uc3QgQ1NT
UHJvcGVydHlJRCB0cmFuc2l0aW9uUHJvcGVydGllc1tdID0geworICAgICAgICBDU1NQcm9wZXJ0
eVdlYmtpdFRyYW5zaXRpb25Qcm9wZXJ0eSwKKyAgICAgICAgQ1NTUHJvcGVydHlXZWJraXRUcmFu
c2l0aW9uRHVyYXRpb24sCisgICAgICAgIENTU1Byb3BlcnR5V2Via2l0VHJhbnNpdGlvblRpbWlu
Z0Z1bmN0aW9uLAorICAgICAgICBDU1NQcm9wZXJ0eVdlYmtpdFRyYW5zaXRpb25EZWxheQorICAg
IH07CisgICAgREVGSU5FX1NUQVRJQ19MT0NBTChTdHlsZVByb3BlcnR5U2hvcnRoYW5kLCB3ZWJr
aXRUcmFuc2l0aW9uTG9uZ2hhbmRzLCAodHJhbnNpdGlvblByb3BlcnRpZXMsIFdURl9BUlJBWV9M
RU5HVEgodHJhbnNpdGlvblByb3BlcnRpZXMpKSk7CisgICAgcmV0dXJuIHdlYmtpdFRyYW5zaXRp
b25Mb25naGFuZHM7Cit9CisKK2NvbnN0IFN0eWxlUHJvcGVydHlTaG9ydGhhbmQmIHdlYmtpdFRy
YW5zZm9ybU9yaWdpblNob3J0aGFuZCgpCit7CisgICAgc3RhdGljIGNvbnN0IENTU1Byb3BlcnR5
SUQgdHJhbnNmb3JtT3JpZ2luUHJvcGVydGllc1tdID0geworICAgICAgICBDU1NQcm9wZXJ0eVdl
YmtpdFRyYW5zZm9ybU9yaWdpblgsCisgICAgICAgIENTU1Byb3BlcnR5V2Via2l0VHJhbnNmb3Jt
T3JpZ2luWSwKKyAgICAgICAgQ1NTUHJvcGVydHlXZWJraXRUcmFuc2Zvcm1PcmlnaW5aCisgICAg
fTsKKyAgICBERUZJTkVfU1RBVElDX0xPQ0FMKFN0eWxlUHJvcGVydHlTaG9ydGhhbmQsIHdlYmtp
dFRyYW5zZm9ybU9yaWdpbkxvbmdoYW5kcywgKHRyYW5zZm9ybU9yaWdpblByb3BlcnRpZXMsIFdU
Rl9BUlJBWV9MRU5HVEgodHJhbnNmb3JtT3JpZ2luUHJvcGVydGllcykpKTsKKyAgICByZXR1cm4g
d2Via2l0VHJhbnNmb3JtT3JpZ2luTG9uZ2hhbmRzOworfQorCitjb25zdCBTdHlsZVByb3BlcnR5
U2hvcnRoYW5kJiB3ZWJraXRXcmFwU2hvcnRoYW5kKCkKK3sKKyAgICBzdGF0aWMgY29uc3QgQ1NT
UHJvcGVydHlJRCB3ZWJraXRXcmFwUHJvcGVydGllc1tdID0geworICAgICAgICBDU1NQcm9wZXJ0
eVdlYmtpdFdyYXBGbG93LAorICAgICAgICBDU1NQcm9wZXJ0eVdlYmtpdFdyYXBNYXJnaW4sCisg
ICAgICAgIENTU1Byb3BlcnR5V2Via2l0V3JhcFBhZGRpbmcKKyAgICB9OworICAgIERFRklORV9T
VEFUSUNfTE9DQUwoU3R5bGVQcm9wZXJ0eVNob3J0aGFuZCwgd2Via2l0V3JhcExvbmdoYW5kcywg
KHdlYmtpdFdyYXBQcm9wZXJ0aWVzLCBXVEZfQVJSQVlfTEVOR1RIKHdlYmtpdFdyYXBQcm9wZXJ0
aWVzKSkpOworICAgIHJldHVybiB3ZWJraXRXcmFwTG9uZ2hhbmRzOworfQorCisvLyBSZXR1cm5z
IGFuIGVtcHR5IGxpc3QgaWYgdGhlIHByb3BlcnR5IGlzIG5vdCBhIHNob3J0aGFuZAorY29uc3Qg
U3R5bGVQcm9wZXJ0eVNob3J0aGFuZCYgc2hvcnRoYW5kRm9yUHJvcGVydHkoaW50IHByb3BlcnR5
SUQpCit7CisgICAgc3dpdGNoIChwcm9wZXJ0eUlEKSB7CisgICAgY2FzZSBDU1NQcm9wZXJ0eUJh
Y2tncm91bmQ6CisgICAgICAgIHJldHVybiBiYWNrZ3JvdW5kU2hvcnRoYW5kKCk7CisgICAgY2Fz
ZSBDU1NQcm9wZXJ0eUJhY2tncm91bmRQb3NpdGlvbjoKKyAgICAgICAgcmV0dXJuIGJhY2tncm91
bmRQb3NpdGlvblNob3J0aGFuZCgpOworICAgIGNhc2UgQ1NTUHJvcGVydHlCYWNrZ3JvdW5kUmVw
ZWF0OgorICAgICAgICByZXR1cm4gYmFja2dyb3VuZFJlcGVhdFNob3J0aGFuZCgpOworICAgIGNh
c2UgQ1NTUHJvcGVydHlCb3JkZXI6CisgICAgICAgIHJldHVybiBib3JkZXJTaG9ydGhhbmQoKTsK
KyAgICBjYXNlIENTU1Byb3BlcnR5Qm9yZGVyQm90dG9tOgorICAgICAgICByZXR1cm4gYm9yZGVy
Qm90dG9tU2hvcnRoYW5kKCk7CisgICAgY2FzZSBDU1NQcm9wZXJ0eUJvcmRlckNvbG9yOgorICAg
ICAgICByZXR1cm4gYm9yZGVyQ29sb3JTaG9ydGhhbmQoKTsKKyAgICBjYXNlIENTU1Byb3BlcnR5
Qm9yZGVySW1hZ2U6CisgICAgICAgIHJldHVybiBib3JkZXJJbWFnZVNob3J0aGFuZCgpOworICAg
IGNhc2UgQ1NTUHJvcGVydHlCb3JkZXJMZWZ0OgorICAgICAgICByZXR1cm4gYm9yZGVyTGVmdFNo
b3J0aGFuZCgpOworICAgIGNhc2UgQ1NTUHJvcGVydHlCb3JkZXJSYWRpdXM6CisgICAgICAgIHJl
dHVybiBib3JkZXJSYWRpdXNTaG9ydGhhbmQoKTsKKyAgICBjYXNlIENTU1Byb3BlcnR5Qm9yZGVy
UmlnaHQ6CisgICAgICAgIHJldHVybiBib3JkZXJSaWdodFNob3J0aGFuZCgpOworICAgIGNhc2Ug
Q1NTUHJvcGVydHlCb3JkZXJTcGFjaW5nOgorICAgICAgICByZXR1cm4gYm9yZGVyU3BhY2luZ1No
b3J0aGFuZCgpOworICAgIGNhc2UgQ1NTUHJvcGVydHlCb3JkZXJTdHlsZToKKyAgICAgICAgcmV0
dXJuIGJvcmRlclN0eWxlU2hvcnRoYW5kKCk7CisgICAgY2FzZSBDU1NQcm9wZXJ0eUJvcmRlclRv
cDoKKyAgICAgICAgcmV0dXJuIGJvcmRlclRvcFNob3J0aGFuZCgpOworICAgIGNhc2UgQ1NTUHJv
cGVydHlCb3JkZXJXaWR0aDoKKyAgICAgICAgcmV0dXJuIGJvcmRlcldpZHRoU2hvcnRoYW5kKCk7
CisgICAgY2FzZSBDU1NQcm9wZXJ0eUxpc3RTdHlsZToKKyAgICAgICAgcmV0dXJuIGxpc3RTdHls
ZVNob3J0aGFuZCgpOworICAgIGNhc2UgQ1NTUHJvcGVydHlGb250OgorICAgICAgICByZXR1cm4g
Zm9udFNob3J0aGFuZCgpOworICAgIGNhc2UgQ1NTUHJvcGVydHlNYXJnaW46CisgICAgICAgIHJl
dHVybiBtYXJnaW5TaG9ydGhhbmQoKTsKKyAgICBjYXNlIENTU1Byb3BlcnR5T3V0bGluZToKKyAg
ICAgICAgcmV0dXJuIG91dGxpbmVTaG9ydGhhbmQoKTsKKyAgICBjYXNlIENTU1Byb3BlcnR5T3Zl
cmZsb3c6CisgICAgICAgIHJldHVybiBvdmVyZmxvd1Nob3J0aGFuZCgpOworICAgIGNhc2UgQ1NT
UHJvcGVydHlQYWRkaW5nOgorICAgICAgICByZXR1cm4gcGFkZGluZ1Nob3J0aGFuZCgpOworICAg
IGNhc2UgQ1NTUHJvcGVydHlXZWJraXRBbmltYXRpb246CisgICAgICAgIHJldHVybiB3ZWJraXRB
bmltYXRpb25TaG9ydGhhbmQoKTsKKyAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0Qm9yZGVyQWZ0
ZXI6CisgICAgICAgIHJldHVybiB3ZWJraXRCb3JkZXJBZnRlclNob3J0aGFuZCgpOworICAgIGNh
c2UgQ1NTUHJvcGVydHlXZWJraXRCb3JkZXJCZWZvcmU6CisgICAgICAgIHJldHVybiB3ZWJraXRC
b3JkZXJCZWZvcmVTaG9ydGhhbmQoKTsKKyAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0Qm9yZGVy
RW5kOgorICAgICAgICByZXR1cm4gd2Via2l0Qm9yZGVyRW5kU2hvcnRoYW5kKCk7CisgICAgY2Fz
ZSBDU1NQcm9wZXJ0eVdlYmtpdEJvcmRlclN0YXJ0OgorICAgICAgICByZXR1cm4gd2Via2l0Qm9y
ZGVyU3RhcnRTaG9ydGhhbmQoKTsKKyAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0Qm9yZGVyUmFk
aXVzOgorICAgICAgICByZXR1cm4gYm9yZGVyUmFkaXVzU2hvcnRoYW5kKCk7CisgICAgY2FzZSBD
U1NQcm9wZXJ0eVdlYmtpdENvbHVtbnM6CisgICAgICAgIHJldHVybiB3ZWJraXRDb2x1bW5zU2hv
cnRoYW5kKCk7CisgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdENvbHVtblJ1bGU6CisgICAgICAg
IHJldHVybiB3ZWJraXRDb2x1bW5SdWxlU2hvcnRoYW5kKCk7CisgICAgY2FzZSBDU1NQcm9wZXJ0
eVdlYmtpdEZsZXhGbG93OgorICAgICAgICByZXR1cm4gd2Via2l0RmxleEZsb3dTaG9ydGhhbmQo
KTsKKyAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0TWFyZ2luQ29sbGFwc2U6CisgICAgICAgIHJl
dHVybiB3ZWJraXRNYXJnaW5Db2xsYXBzZVNob3J0aGFuZCgpOworICAgIGNhc2UgQ1NTUHJvcGVy
dHlXZWJraXRNYXJxdWVlOgorICAgICAgICByZXR1cm4gd2Via2l0TWFycXVlZVNob3J0aGFuZCgp
OworICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRNYXNrOgorICAgICAgICByZXR1cm4gd2Via2l0
TWFza1Nob3J0aGFuZCgpOworICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRNYXNrUG9zaXRpb246
CisgICAgICAgIHJldHVybiB3ZWJraXRNYXNrUG9zaXRpb25TaG9ydGhhbmQoKTsKKyAgICBjYXNl
IENTU1Byb3BlcnR5V2Via2l0TWFza1JlcGVhdDoKKyAgICAgICAgcmV0dXJuIHdlYmtpdE1hc2tS
ZXBlYXRTaG9ydGhhbmQoKTsKKyAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0VGV4dEVtcGhhc2lz
OgorICAgICAgICByZXR1cm4gd2Via2l0VGV4dEVtcGhhc2lzU2hvcnRoYW5kKCk7CisgICAgY2Fz
ZSBDU1NQcm9wZXJ0eVdlYmtpdFRleHRTdHJva2U6CisgICAgICAgIHJldHVybiB3ZWJraXRUZXh0
U3Ryb2tlU2hvcnRoYW5kKCk7CisgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdFRyYW5zaXRpb246
CisgICAgICAgIHJldHVybiB3ZWJraXRUcmFuc2l0aW9uU2hvcnRoYW5kKCk7CisgICAgY2FzZSBD
U1NQcm9wZXJ0eVdlYmtpdFRyYW5zZm9ybU9yaWdpbjoKKyAgICAgICAgcmV0dXJuIHdlYmtpdFRy
YW5zZm9ybU9yaWdpblNob3J0aGFuZCgpOworICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRXcmFw
OgorICAgICAgICByZXR1cm4gd2Via2l0V3JhcFNob3J0aGFuZCgpOworICAgIGRlZmF1bHQ6IHsK
KyAgICAgICAgREVGSU5FX1NUQVRJQ19MT0NBTChTdHlsZVByb3BlcnR5U2hvcnRoYW5kLCBlbXB0
eVNob3J0aGFuZCwgKCkpOworICAgICAgICByZXR1cm4gZW1wdHlTaG9ydGhhbmQ7CisgICAgfQor
ICAgIH0KK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvY3NzL1N0eWxlUHJvcGVydHlTaG9ydGhhbmQuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9T
dHlsZVByb3BlcnR5U2hvcnRoYW5kLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjE4ODMzZGM4ZTQ3M2MwYzc3NzY5
OTU0ZDhkMWYwNWVjMDliM2E0MAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9TdHlsZVByb3BlcnR5U2hvcnRoYW5kLmgKQEAgLTAsMCArMSwxMDYgQEAKKy8qCisgKiAoQykg
MTk5OS0yMDAzIExhcnMgS25vbGwgKGtub2xsQGtkZS5vcmcpCisgKiBDb3B5cmlnaHQgKEMpIDIw
MDQsIDIwMDUsIDIwMDYsIDIwMDggQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoK
KyAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBp
dCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5
IEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0
d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3Ig
KGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIGxpYnJhcnkg
aXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1
dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5
IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBP
U0UuICBTZWUgdGhlIEdOVQorICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBt
b3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0
aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlz
IGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAq
IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwg
RmlmdGggRmxvb3IsCisgKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAqLworCisjaWZu
ZGVmIFN0eWxlUHJvcGVydHlTaG9ydGhhbmRfaAorI2RlZmluZSBTdHlsZVByb3BlcnR5U2hvcnRo
YW5kX2gKKworI2luY2x1ZGUgIkNTU1Byb3BlcnR5TmFtZXMuaCIKKworbmFtZXNwYWNlIFdlYkNv
cmUgeworCitjbGFzcyBTdHlsZVByb3BlcnR5U2hvcnRoYW5kIHsKK3B1YmxpYzoKKyAgICBTdHls
ZVByb3BlcnR5U2hvcnRoYW5kKCkKKyAgICAgICAgOiBtX3Byb3BlcnRpZXMoMCkKKyAgICAgICAg
LCBtX3Byb3BlcnRpZXNGb3JJbml0aWFsaXphdGlvbigwKQorICAgICAgICAsIG1fbGVuZ3RoKDAp
CisgICAgeworICAgIH0KKworICAgIFN0eWxlUHJvcGVydHlTaG9ydGhhbmQoY29uc3QgQ1NTUHJv
cGVydHlJRCogcHJvcGVydGllcywgdW5zaWduZWQgbnVtUHJvcGVydGllcykKKyAgICAgICAgOiBt
X3Byb3BlcnRpZXMocHJvcGVydGllcykKKyAgICAgICAgLCBtX3Byb3BlcnRpZXNGb3JJbml0aWFs
aXphdGlvbigwKQorICAgICAgICAsIG1fbGVuZ3RoKG51bVByb3BlcnRpZXMpCisgICAgeworICAg
IH0KKworICAgIFN0eWxlUHJvcGVydHlTaG9ydGhhbmQoY29uc3QgQ1NTUHJvcGVydHlJRCogcHJv
cGVydGllcywgY29uc3QgU3R5bGVQcm9wZXJ0eVNob3J0aGFuZCoqIHByb3BlcnRpZXNGb3JJbml0
aWFsaXphdGlvbiwgdW5zaWduZWQgbnVtUHJvcGVydGllcykKKyAgICAgICAgOiBtX3Byb3BlcnRp
ZXMocHJvcGVydGllcykKKyAgICAgICAgLCBtX3Byb3BlcnRpZXNGb3JJbml0aWFsaXphdGlvbihw
cm9wZXJ0aWVzRm9ySW5pdGlhbGl6YXRpb24pCisgICAgICAgICwgbV9sZW5ndGgobnVtUHJvcGVy
dGllcykKKyAgICB7CisgICAgfQorCisgICAgY29uc3QgQ1NTUHJvcGVydHlJRCogcHJvcGVydGll
cygpIGNvbnN0IHsgcmV0dXJuIG1fcHJvcGVydGllczsgfQorICAgIGNvbnN0IFN0eWxlUHJvcGVy
dHlTaG9ydGhhbmQqKiBwcm9wZXJ0aWVzRm9ySW5pdGlhbGl6YXRpb24oKSBjb25zdCB7IHJldHVy
biBtX3Byb3BlcnRpZXNGb3JJbml0aWFsaXphdGlvbjsgfQorICAgIHVuc2lnbmVkIGxlbmd0aCgp
IGNvbnN0IHsgcmV0dXJuIG1fbGVuZ3RoOyB9CisKK3ByaXZhdGU6CisgICAgY29uc3QgQ1NTUHJv
cGVydHlJRCogbV9wcm9wZXJ0aWVzOworICAgIGNvbnN0IFN0eWxlUHJvcGVydHlTaG9ydGhhbmQq
KiBtX3Byb3BlcnRpZXNGb3JJbml0aWFsaXphdGlvbjsKKyAgICB1bnNpZ25lZCBtX2xlbmd0aDsK
K307CisKK2NvbnN0IFN0eWxlUHJvcGVydHlTaG9ydGhhbmQmIGJhY2tncm91bmRTaG9ydGhhbmQo
KTsKK2NvbnN0IFN0eWxlUHJvcGVydHlTaG9ydGhhbmQmIGJhY2tncm91bmRQb3NpdGlvblNob3J0
aGFuZCgpOworY29uc3QgU3R5bGVQcm9wZXJ0eVNob3J0aGFuZCYgYmFja2dyb3VuZFJlcGVhdFNo
b3J0aGFuZCgpOworY29uc3QgU3R5bGVQcm9wZXJ0eVNob3J0aGFuZCYgYm9yZGVyU2hvcnRoYW5k
KCk7Citjb25zdCBTdHlsZVByb3BlcnR5U2hvcnRoYW5kJiBib3JkZXJBYnJpZGdlZFNob3J0aGFu
ZCgpOworY29uc3QgU3R5bGVQcm9wZXJ0eVNob3J0aGFuZCYgYm9yZGVyQm90dG9tU2hvcnRoYW5k
KCk7Citjb25zdCBTdHlsZVByb3BlcnR5U2hvcnRoYW5kJiBib3JkZXJDb2xvclNob3J0aGFuZCgp
OworY29uc3QgU3R5bGVQcm9wZXJ0eVNob3J0aGFuZCYgYm9yZGVySW1hZ2VTaG9ydGhhbmQoKTsK
K2NvbnN0IFN0eWxlUHJvcGVydHlTaG9ydGhhbmQmIGJvcmRlckxlZnRTaG9ydGhhbmQoKTsKK2Nv
bnN0IFN0eWxlUHJvcGVydHlTaG9ydGhhbmQmIGJvcmRlclJhZGl1c1Nob3J0aGFuZCgpOworY29u
c3QgU3R5bGVQcm9wZXJ0eVNob3J0aGFuZCYgYm9yZGVyUmlnaHRTaG9ydGhhbmQoKTsKK2NvbnN0
IFN0eWxlUHJvcGVydHlTaG9ydGhhbmQmIGJvcmRlclNwYWNpbmdTaG9ydGhhbmQoKTsKK2NvbnN0
IFN0eWxlUHJvcGVydHlTaG9ydGhhbmQmIGJvcmRlclN0eWxlU2hvcnRoYW5kKCk7Citjb25zdCBT
dHlsZVByb3BlcnR5U2hvcnRoYW5kJiBib3JkZXJUb3BTaG9ydGhhbmQoKTsKK2NvbnN0IFN0eWxl
UHJvcGVydHlTaG9ydGhhbmQmIGJvcmRlcldpZHRoU2hvcnRoYW5kKCk7Citjb25zdCBTdHlsZVBy
b3BlcnR5U2hvcnRoYW5kJiBsaXN0U3R5bGVTaG9ydGhhbmQoKTsKK2NvbnN0IFN0eWxlUHJvcGVy
dHlTaG9ydGhhbmQmIGZvbnRTaG9ydGhhbmQoKTsKK2NvbnN0IFN0eWxlUHJvcGVydHlTaG9ydGhh
bmQmIG1hcmdpblNob3J0aGFuZCgpOworY29uc3QgU3R5bGVQcm9wZXJ0eVNob3J0aGFuZCYgb3V0
bGluZVNob3J0aGFuZCgpOworY29uc3QgU3R5bGVQcm9wZXJ0eVNob3J0aGFuZCYgb3ZlcmZsb3dT
aG9ydGhhbmQoKTsKK2NvbnN0IFN0eWxlUHJvcGVydHlTaG9ydGhhbmQmIHBhZGRpbmdTaG9ydGhh
bmQoKTsKK2NvbnN0IFN0eWxlUHJvcGVydHlTaG9ydGhhbmQmIHdlYmtpdEFuaW1hdGlvblNob3J0
aGFuZCgpOworY29uc3QgU3R5bGVQcm9wZXJ0eVNob3J0aGFuZCYgd2Via2l0Qm9yZGVyQWZ0ZXJT
aG9ydGhhbmQoKTsKK2NvbnN0IFN0eWxlUHJvcGVydHlTaG9ydGhhbmQmIHdlYmtpdEJvcmRlckJl
Zm9yZVNob3J0aGFuZCgpOworY29uc3QgU3R5bGVQcm9wZXJ0eVNob3J0aGFuZCYgd2Via2l0Qm9y
ZGVyRW5kU2hvcnRoYW5kKCk7Citjb25zdCBTdHlsZVByb3BlcnR5U2hvcnRoYW5kJiB3ZWJraXRC
b3JkZXJTdGFydFNob3J0aGFuZCgpOworY29uc3QgU3R5bGVQcm9wZXJ0eVNob3J0aGFuZCYgd2Vi
a2l0Q29sdW1uc1Nob3J0aGFuZCgpOworY29uc3QgU3R5bGVQcm9wZXJ0eVNob3J0aGFuZCYgd2Vi
a2l0Q29sdW1uUnVsZVNob3J0aGFuZCgpOworY29uc3QgU3R5bGVQcm9wZXJ0eVNob3J0aGFuZCYg
d2Via2l0RmxleEZsb3dTaG9ydGhhbmQoKTsKK2NvbnN0IFN0eWxlUHJvcGVydHlTaG9ydGhhbmQm
IHdlYmtpdE1hcmdpbkNvbGxhcHNlU2hvcnRoYW5kKCk7Citjb25zdCBTdHlsZVByb3BlcnR5U2hv
cnRoYW5kJiB3ZWJraXRNYXJxdWVlU2hvcnRoYW5kKCk7Citjb25zdCBTdHlsZVByb3BlcnR5U2hv
cnRoYW5kJiB3ZWJraXRNYXNrU2hvcnRoYW5kKCk7Citjb25zdCBTdHlsZVByb3BlcnR5U2hvcnRo
YW5kJiB3ZWJraXRNYXNrUG9zaXRpb25TaG9ydGhhbmQoKTsKK2NvbnN0IFN0eWxlUHJvcGVydHlT
aG9ydGhhbmQmIHdlYmtpdE1hc2tSZXBlYXRTaG9ydGhhbmQoKTsKK2NvbnN0IFN0eWxlUHJvcGVy
dHlTaG9ydGhhbmQmIHdlYmtpdFRleHRFbXBoYXNpc1Nob3J0aGFuZCgpOworY29uc3QgU3R5bGVQ
cm9wZXJ0eVNob3J0aGFuZCYgd2Via2l0VGV4dFN0cm9rZVNob3J0aGFuZCgpOworY29uc3QgU3R5
bGVQcm9wZXJ0eVNob3J0aGFuZCYgd2Via2l0VHJhbnNpdGlvblNob3J0aGFuZCgpOworY29uc3Qg
U3R5bGVQcm9wZXJ0eVNob3J0aGFuZCYgd2Via2l0VHJhbnNmb3JtT3JpZ2luU2hvcnRoYW5kKCk7
Citjb25zdCBTdHlsZVByb3BlcnR5U2hvcnRoYW5kJiB3ZWJraXRXcmFwU2hvcnRoYW5kKCk7CisK
Ky8vIFJldHVybnMgYW4gZW1wdHkgbGlzdCBpZiB0aGUgcHJvcGVydHkgaXMgbm90IGEgc2hvcnRo
YW5kCitjb25zdCBTdHlsZVByb3BlcnR5U2hvcnRoYW5kJiBzaG9ydGhhbmRGb3JQcm9wZXJ0eShp
bnQpOworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBTdHlsZVByb3BlcnR5
U2hvcnRoYW5kX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0Fu
aW1hdGlvbkJhc2UuY3BwIGIvU291cmNlL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vQW5pbWF0aW9u
QmFzZS5jcHAKaW5kZXggYWJkYmVlN2JkNDU1OWU5NTVlMzIxMjAxOTVhMDkxNDE4YmQxNjgzYS4u
NjNjZGNmNzk0ZjZmZTMxNzE5NTI5YzQ1M2ZjZGYxZDBiZjkwOGE3ZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGFnZS9hbmltYXRpb24vQW5pbWF0aW9uQmFzZS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9hbmltYXRpb24vQW5pbWF0aW9uQmFzZS5jcHAKQEAgLTM0LDcgKzM0LDYg
QEAKICNpbmNsdWRlICJDU1NJbWFnZUdlbmVyYXRvclZhbHVlLmgiCiAjaW5jbHVkZSAiQ1NTSW1h
Z2VWYWx1ZS5oIgogI2luY2x1ZGUgIkNTU1ByaW1pdGl2ZVZhbHVlLmgiCi0jaW5jbHVkZSAiQ1NT
UHJvcGVydHlMb25naGFuZC5oIgogI2luY2x1ZGUgIkNTU1Byb3BlcnR5TmFtZXMuaCIKICNpbmNs
dWRlICJDb21wb3NpdGVBbmltYXRpb24uaCIKICNpbmNsdWRlICJEb2N1bWVudC5oIgpAQCAtNDks
NiArNDgsNyBAQAogI2luY2x1ZGUgIlJlbmRlclN0eWxlLmgiCiAjaW5jbHVkZSAiU3R5bGVDYWNo
ZWRJbWFnZS5oIgogI2luY2x1ZGUgIlN0eWxlR2VuZXJhdGVkSW1hZ2UuaCIKKyNpbmNsdWRlICJT
dHlsZVByb3BlcnR5U2hvcnRoYW5kLmgiCiAjaW5jbHVkZSAiVW5pdEJlemllci5oIgogI2luY2x1
ZGUgPGFsZ29yaXRobT4KICNpbmNsdWRlIDx3dGYvQ3VycmVudFRpbWUuaD4K
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>135120</attachid>
            <date>2012-04-02 09:40:17 -0700</date>
            <delta_ts>2012-04-02 11:47:22 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-82905-20120402134014.patch</filename>
            <type>text/plain</type>
            <size>76975</size>
            <attacher name="Alexis Menard (darktears)">menard</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEyODg3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZmNjM2NhNjk2MjJkNDU5
NDA3YzZhOTNjNmVmYjdkMDU2NjUzNzZhYi4uNmJmMDIwOGVlYzQ4ODE4OTk0NjBmMDM3MDE1YzE3
YWE0YjExYzVmMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDc3IEBACisyMDEyLTA0LTAyICBBbGV4
aXMgTWVuYXJkICA8YWxleGlzLm1lbmFyZEBvcGVuYm9zc2Eub3JnPgorCisgICAgICAgIFJlbmFt
ZSBDU1NQcm9wZXJ0eUxvbmdoYW5kIGZpbGVzIHRvIFN0eWxlUHJvcGVydHlTaG9ydGhhbmQuCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MjkwNQorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIHIxMTI4ODAgcmVu
YW1lZCBDU1NQcm9wZXJ0eUxvbmdoYW5kIGNsYXNzIHRvIFN0eWxlUHJvcGVydHlTaG9ydGhhbmQs
IHNvIHRoZQorICAgICAgICBmaWxlcyBuZWVkIHRvIHJlZmxlY3QgdGhpcyBuZXcgbmFtZSBub3cu
CisKKyAgICAgICAgTm8gbmV3IHRlc3RzIDogSnVzdCBhIHJlbmFtaW5nLCBObyBiZWhhdmlvdXIg
Y2hhbmdlIGludGVuZGVkLgorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICog
R05VbWFrZWZpbGUubGlzdC5hbToKKyAgICAgICAgKiBUYXJnZXQucHJpOgorICAgICAgICAqIFdl
YkNvcmUuZ3lwaToKKyAgICAgICAgKiBXZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvajoKKyAg
ICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogY3Nz
L0NTU0FsbEluT25lLmNwcDoKKyAgICAgICAgKiBjc3MvQ1NTQ29tcHV0ZWRTdHlsZURlY2xhcmF0
aW9uLmNwcDoKKyAgICAgICAgKiBjc3MvQ1NTUGFyc2VyLmNwcDoKKyAgICAgICAgKiBjc3MvQ1NT
UHJvcGVydHkuY3BwOgorICAgICAgICAqIGNzcy9TdHlsZVByb3BlcnR5U2V0LmNwcDoKKyAgICAg
ICAgKiBjc3MvU3R5bGVQcm9wZXJ0eVNob3J0aGFuZC5jcHA6IFJlbmFtZWQgZnJvbSBTb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTUHJvcGVydHlMb25naGFuZC5jcHAuCisgICAgICAgIChXZWJDb3JlKToK
KyAgICAgICAgKFdlYkNvcmU6OmJhY2tncm91bmRTaG9ydGhhbmQpOgorICAgICAgICAoV2ViQ29y
ZTo6YmFja2dyb3VuZFBvc2l0aW9uU2hvcnRoYW5kKToKKyAgICAgICAgKFdlYkNvcmU6OmJhY2tn
cm91bmRSZXBlYXRTaG9ydGhhbmQpOgorICAgICAgICAoV2ViQ29yZTo6Ym9yZGVyU2hvcnRoYW5k
KToKKyAgICAgICAgKFdlYkNvcmU6OmJvcmRlckFicmlkZ2VkU2hvcnRoYW5kKToKKyAgICAgICAg
KFdlYkNvcmU6OmJvcmRlckJvdHRvbVNob3J0aGFuZCk6CisgICAgICAgIChXZWJDb3JlOjpib3Jk
ZXJDb2xvclNob3J0aGFuZCk6CisgICAgICAgIChXZWJDb3JlOjpib3JkZXJJbWFnZVNob3J0aGFu
ZCk6CisgICAgICAgIChXZWJDb3JlOjpib3JkZXJMZWZ0U2hvcnRoYW5kKToKKyAgICAgICAgKFdl
YkNvcmU6OmJvcmRlclJhZGl1c1Nob3J0aGFuZCk6CisgICAgICAgIChXZWJDb3JlOjpib3JkZXJS
aWdodFNob3J0aGFuZCk6CisgICAgICAgIChXZWJDb3JlOjpib3JkZXJTcGFjaW5nU2hvcnRoYW5k
KToKKyAgICAgICAgKFdlYkNvcmU6OmJvcmRlclN0eWxlU2hvcnRoYW5kKToKKyAgICAgICAgKFdl
YkNvcmU6OmJvcmRlclRvcFNob3J0aGFuZCk6CisgICAgICAgIChXZWJDb3JlOjpib3JkZXJXaWR0
aFNob3J0aGFuZCk6CisgICAgICAgIChXZWJDb3JlOjpsaXN0U3R5bGVTaG9ydGhhbmQpOgorICAg
ICAgICAoV2ViQ29yZTo6Zm9udFNob3J0aGFuZCk6CisgICAgICAgIChXZWJDb3JlOjptYXJnaW5T
aG9ydGhhbmQpOgorICAgICAgICAoV2ViQ29yZTo6b3V0bGluZVNob3J0aGFuZCk6CisgICAgICAg
IChXZWJDb3JlOjpvdmVyZmxvd1Nob3J0aGFuZCk6CisgICAgICAgIChXZWJDb3JlOjpwYWRkaW5n
U2hvcnRoYW5kKToKKyAgICAgICAgKFdlYkNvcmU6OndlYmtpdEFuaW1hdGlvblNob3J0aGFuZCk6
CisgICAgICAgIChXZWJDb3JlOjp3ZWJraXRCb3JkZXJBZnRlclNob3J0aGFuZCk6CisgICAgICAg
IChXZWJDb3JlOjp3ZWJraXRCb3JkZXJCZWZvcmVTaG9ydGhhbmQpOgorICAgICAgICAoV2ViQ29y
ZTo6d2Via2l0Qm9yZGVyRW5kU2hvcnRoYW5kKToKKyAgICAgICAgKFdlYkNvcmU6OndlYmtpdEJv
cmRlclN0YXJ0U2hvcnRoYW5kKToKKyAgICAgICAgKFdlYkNvcmU6OndlYmtpdENvbHVtbnNTaG9y
dGhhbmQpOgorICAgICAgICAoV2ViQ29yZTo6d2Via2l0Q29sdW1uUnVsZVNob3J0aGFuZCk6Cisg
ICAgICAgIChXZWJDb3JlOjp3ZWJraXRGbGV4Rmxvd1Nob3J0aGFuZCk6CisgICAgICAgIChXZWJD
b3JlOjp3ZWJraXRNYXJnaW5Db2xsYXBzZVNob3J0aGFuZCk6CisgICAgICAgIChXZWJDb3JlOjp3
ZWJraXRNYXJxdWVlU2hvcnRoYW5kKToKKyAgICAgICAgKFdlYkNvcmU6OndlYmtpdE1hc2tTaG9y
dGhhbmQpOgorICAgICAgICAoV2ViQ29yZTo6d2Via2l0TWFza1Bvc2l0aW9uU2hvcnRoYW5kKToK
KyAgICAgICAgKFdlYkNvcmU6OndlYmtpdE1hc2tSZXBlYXRTaG9ydGhhbmQpOgorICAgICAgICAo
V2ViQ29yZTo6d2Via2l0VGV4dEVtcGhhc2lzU2hvcnRoYW5kKToKKyAgICAgICAgKFdlYkNvcmU6
OndlYmtpdFRleHRTdHJva2VTaG9ydGhhbmQpOgorICAgICAgICAoV2ViQ29yZTo6d2Via2l0VHJh
bnNpdGlvblNob3J0aGFuZCk6CisgICAgICAgIChXZWJDb3JlOjp3ZWJraXRUcmFuc2Zvcm1Pcmln
aW5TaG9ydGhhbmQpOgorICAgICAgICAoV2ViQ29yZTo6d2Via2l0V3JhcFNob3J0aGFuZCk6Cisg
ICAgICAgIChXZWJDb3JlOjpzaG9ydGhhbmRGb3JQcm9wZXJ0eSk6CisgICAgICAgICogY3NzL1N0
eWxlUHJvcGVydHlTaG9ydGhhbmQuaDogUmVuYW1lZCBmcm9tIFNvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NQcm9wZXJ0eUxvbmdoYW5kLmguCisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFN0eWxl
UHJvcGVydHlTaG9ydGhhbmQpOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVQcm9wZXJ0eVNob3J0
aGFuZDo6U3R5bGVQcm9wZXJ0eVNob3J0aGFuZCk6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZVBy
b3BlcnR5U2hvcnRoYW5kOjpwcm9wZXJ0aWVzKToKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUHJv
cGVydHlTaG9ydGhhbmQ6OnByb3BlcnRpZXNGb3JJbml0aWFsaXphdGlvbik6CisgICAgICAgIChX
ZWJDb3JlOjpTdHlsZVByb3BlcnR5U2hvcnRoYW5kOjpsZW5ndGgpOgorICAgICAgICAqIHBhZ2Uv
YW5pbWF0aW9uL0FuaW1hdGlvbkJhc2UuY3BwOgorCiAyMDEyLTA0LTAyICBBbGV4YW5kZXIgUGF2
bG92ICA8YXBhdmxvdkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogSW1w
bGVtZW50IGZyb250ZW5kIGZvciBkZXZpY2UgbWV0cmljcyBlbXVsYXRpb24KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0
cy50eHQKaW5kZXggMzRhZmJmMGI1NmFjYTMwZTgwNjYzYmQ5NTZhNGViYjA1MDFmMWVmMS4uOTJi
ODQ3YjgxNDBmZjM4NGE3ZTZiMmFiODEyNGJlYjkxZjlkYmM0OCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50
eHQKQEAgLTQ3Nyw3ICs0NzcsNiBAQCBTRVQoV2ViQ29yZV9TT1VSQ0VTCiAgICAgY3NzL0NTU1Bh
cnNlclZhbHVlcy5jcHAKICAgICBjc3MvQ1NTUHJpbWl0aXZlVmFsdWUuY3BwCiAgICAgY3NzL0NT
U1Byb3BlcnR5LmNwcAotICAgIGNzcy9DU1NQcm9wZXJ0eUxvbmdoYW5kLmNwcAogICAgIGNzcy9D
U1NQcm9wZXJ0eVNvdXJjZURhdGEuY3BwCiAgICAgY3NzL0NTU1JlZmxlY3RWYWx1ZS5jcHAKICAg
ICBjc3MvQ1NTUnVsZS5jcHAKQEAgLTUxMyw2ICs1MTIsNyBAQCBTRVQoV2ViQ29yZV9TT1VSQ0VT
CiAgICAgY3NzL1NoYWRvd1ZhbHVlLmNwcAogICAgIGNzcy9TdHlsZU1lZGlhLmNwcAogICAgIGNz
cy9TdHlsZVByb3BlcnR5U2V0LmNwcAorICAgIGNzcy9TdHlsZVByb3BlcnR5U2hvcnRoYW5kLmNw
cAogICAgIGNzcy9TdHlsZVJ1bGUuY3BwCiAgICAgY3NzL1N0eWxlU2hlZXQuY3BwCiAgICAgY3Nz
L1N0eWxlU2hlZXRMaXN0LmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZp
bGUubGlzdC5hbSBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KaW5kZXggYzc0
YmRlYWMwNmNjOTQzOWZhMTcwNDQ2OGY0NWFhMmZjOWZkMTBkMy4uYzFlNThiOTM2NDU5NzA4ZjBl
NjRmMDFhYjdmYTA0N2I0ZDRjYzNjOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvR05VbWFr
ZWZpbGUubGlzdC5hbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCkBA
IC0xNjE0LDggKzE2MTQsNiBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NQcmltaXRpdmVWYWx1ZU1hcHBpbmdzLmggXAogCVNvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NQcm9wZXJ0eS5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eS5oIFwKLQlT
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHlMb25naGFuZC5jcHAgXAotCVNvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NQcm9wZXJ0eUxvbmdoYW5kLmggXAogCVNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQ
cm9wZXJ0eVNvdXJjZURhdGEuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHlT
b3VyY2VEYXRhLmggXAogCVNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NSZWZsZWN0aW9uRGlyZWN0aW9u
LmggXApAQCAtMTY5MSw2ICsxNjg5LDggQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlTb3VyY2Uv
V2ViQ29yZS9jc3MvU3R5bGVNZWRpYS5oIFwKIAlTb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVQcm9w
ZXJ0eVNldC5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVByb3BlcnR5U2V0LmggXAor
CVNvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVByb3BlcnR5U2hvcnRoYW5kLmNwcCBcCisJU291cmNl
L1dlYkNvcmUvY3NzL1N0eWxlUHJvcGVydHlTaG9ydGhhbmQuaCBcCiAJU291cmNlL1dlYkNvcmUv
Y3NzL1N0eWxlUnVsZS5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJ1bGUuaCBcCiAJ
U291cmNlL1dlYkNvcmUvY3NzL1N0eWxlU2hlZXQuY3BwIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL1RhcmdldC5wcmkgYi9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCmluZGV4IDJjZGZi
ZmVhYzgzN2UyNGNmOGUwY2U2NzU2YzM5MWEwZjIzNjBmMWIuLmY4ZTJmZmQ3MzhhZDA2OTQ2MzRm
YjljYjc3MTgzMTU3ZjU0MmFhZjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5w
cmkKKysrIGIvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQpAQCAtNDUyLDcgKzQ1Miw2IEBAIFNP
VVJDRVMgKz0gXAogICAgIGNzcy9DU1NQYXJzZXJWYWx1ZXMuY3BwIFwKICAgICBjc3MvQ1NTUHJp
bWl0aXZlVmFsdWUuY3BwIFwKICAgICBjc3MvQ1NTUHJvcGVydHkuY3BwIFwKLSAgICBjc3MvQ1NT
UHJvcGVydHlMb25naGFuZC5jcHAgXAogICAgIGNzcy9DU1NQcm9wZXJ0eVNvdXJjZURhdGEuY3Bw
IFwKICAgICBjc3MvQ1NTUmVmbGVjdFZhbHVlLmNwcCBcCiAgICAgY3NzL0NTU1J1bGUuY3BwIFwK
QEAgLTQ4OCw2ICs0ODcsNyBAQCBTT1VSQ0VTICs9IFwKICAgICBjc3MvU2hhZG93VmFsdWUuY3Bw
IFwKICAgICBjc3MvU3R5bGVNZWRpYS5jcHAgXAogICAgIGNzcy9TdHlsZVByb3BlcnR5U2V0LmNw
cCBcCisgICAgY3NzL1N0eWxlUHJvcGVydHlTaG9ydGhhbmQuY3BwIFwKICAgICBjc3MvU3R5bGVS
dWxlLmNwcCBcCiAgICAgY3NzL1N0eWxlU2hlZXQuY3BwIFwKICAgICBjc3MvU3R5bGVTaGVldExp
c3QuY3BwIFwKQEAgLTE1OTYsNyArMTU5Niw2IEBAIEhFQURFUlMgKz0gXAogICAgIGNzcy9DU1NQ
YXJzZXJWYWx1ZXMuaCBcCiAgICAgY3NzL0NTU1ByaW1pdGl2ZVZhbHVlLmggXAogICAgIGNzcy9D
U1NQcm9wZXJ0eS5oIFwKLSAgICBjc3MvQ1NTUHJvcGVydHlMb25naGFuZC5oIFwKICAgICBjc3Mv
Q1NTUmVmbGVjdFZhbHVlLmggXAogICAgIGNzcy9DU1NSdWxlLmggXAogICAgIGNzcy9DU1NSdWxl
TGlzdC5oIFwKQEAgLTE2MzEsNiArMTYzMCw3IEBAIEhFQURFUlMgKz0gXAogICAgIGNzcy9TaGFk
b3dWYWx1ZS5oIFwKICAgICBjc3MvU3R5bGVNZWRpYS5oIFwKICAgICBjc3MvU3R5bGVQcm9wZXJ0
eVNldC5oIFwKKyAgICBjc3MvU3R5bGVQcm9wZXJ0eVNob3J0aGFuZC5oIFwKICAgICBjc3MvU3R5
bGVSdWxlLmggXAogICAgIGNzcy9TdHlsZVNoZWV0LmggXAogICAgIGNzcy9TdHlsZVNoZWV0TGlz
dC5oIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaSBiL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUuZ3lwaQppbmRleCBiMGM2OWNjOWZjNjMyMmYxNTIxMDE5Y2VmNjk0MTI3
NjZlZmJmODg5Li45ZGM1ODlmODUyM2ZmYzRlOWE0N2FmMTQxMDM1NTZlNmU5MTIwNGM0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKKysrIGIvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS5neXBpCkBAIC0yNDA4LDggKzI0MDgsNiBAQAogICAgICAgICAgICAgJ2Nzcy9DU1NQ
cmltaXRpdmVWYWx1ZS5jcHAnLAogICAgICAgICAgICAgJ2Nzcy9DU1NQcmltaXRpdmVWYWx1ZU1h
cHBpbmdzLmgnLAogICAgICAgICAgICAgJ2Nzcy9DU1NQcm9wZXJ0eS5jcHAnLAotICAgICAgICAg
ICAgJ2Nzcy9DU1NQcm9wZXJ0eUxvbmdoYW5kLmNwcCcsCi0gICAgICAgICAgICAnY3NzL0NTU1By
b3BlcnR5TG9uZ2hhbmQuaCcsCiAgICAgICAgICAgICAnY3NzL0NTU1Byb3BlcnR5U291cmNlRGF0
YS5jcHAnLAogICAgICAgICAgICAgJ2Nzcy9DU1NSZWZsZWN0VmFsdWUuY3BwJywKICAgICAgICAg
ICAgICdjc3MvQ1NTUnVsZS5jcHAnLApAQCAtMjQ3OSw2ICsyNDc3LDggQEAKICAgICAgICAgICAg
ICdjc3MvU3R5bGVNZWRpYS5oJywKICAgICAgICAgICAgICdjc3MvU3R5bGVQcm9wZXJ0eVNldC5j
cHAnLAogICAgICAgICAgICAgJ2Nzcy9TdHlsZVByb3BlcnR5U2V0LmgnLAorICAgICAgICAgICAg
J2Nzcy9TdHlsZVByb3BlcnR5U2hvcnRoYW5kLmNwcCcsCisgICAgICAgICAgICAnY3NzL1N0eWxl
UHJvcGVydHlTaG9ydGhhbmQuaCcsCiAgICAgICAgICAgICAnY3NzL1N0eWxlUnVsZS5jcHAnLAog
ICAgICAgICAgICAgJ2Nzcy9TdHlsZVJ1bGUuaCcsCiAgICAgICAgICAgICAnY3NzL1N0eWxlU2hl
ZXQuY3BwJywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNv
cmUudmNwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oK
aW5kZXggZjMyZmMzYzViYTlhMmZiNDgzMWRkYzZkMWE3NGM0ZDBhYzRlMDc2ZC4uZjE3MmQ2ODcx
ZWJkMWVkZmI1NTc5ODVkNGI5MjQzMzM4OTA4M2QwMSAxMDA3NTUKLS0tIGEvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKQEAgLTM1MzQyLDYyICszNTM0Miw2IEBACiAJCQkJ
PgogCQkJPC9GaWxlPgogCQkJPEZpbGUKLQkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGNzc1xDU1NQcm9w
ZXJ0eUxvbmdoYW5kLmNwcCIKLQkJCQk+Ci0JCQkJPEZpbGVDb25maWd1cmF0aW9uCi0JCQkJCU5h
bWU9IkRlYnVnfFdpbjMyIgotCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKLQkJCQkJPgot
CQkJCQk8VG9vbAotCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKLQkJCQkJLz4KLQkJCQk8
L0ZpbGVDb25maWd1cmF0aW9uPgotCQkJCTxGaWxlQ29uZmlndXJhdGlvbgotCQkJCQlOYW1lPSJS
ZWxlYXNlfFdpbjMyIgotCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKLQkJCQkJPgotCQkJ
CQk8VG9vbAotCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKLQkJCQkJLz4KLQkJCQk8L0Zp
bGVDb25maWd1cmF0aW9uPgotCQkJCTxGaWxlQ29uZmlndXJhdGlvbgotCQkJCQlOYW1lPSJEZWJ1
Z19DYWlyb19DRkxpdGV8V2luMzIiCi0JCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgotCQkJ
CQk+Ci0JCQkJCTxUb29sCi0JCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgotCQkJCQkvPgot
CQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+Ci0JCQkJPEZpbGVDb25maWd1cmF0aW9uCi0JCQkJCU5h
bWU9IlJlbGVhc2VfQ2Fpcm9fQ0ZMaXRlfFdpbjMyIgotCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0i
dHJ1ZSIKLQkJCQkJPgotCQkJCQk8VG9vbAotCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIK
LQkJCQkJLz4KLQkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgotCQkJCTxGaWxlQ29uZmlndXJhdGlv
bgotCQkJCQlOYW1lPSJEZWJ1Z19BbGx8V2luMzIiCi0JCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0
cnVlIgotCQkJCQk+Ci0JCQkJCTxUb29sCi0JCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgot
CQkJCQkvPgotCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+Ci0JCQkJPEZpbGVDb25maWd1cmF0aW9u
Ci0JCQkJCU5hbWU9IlByb2R1Y3Rpb258V2luMzIiCi0JCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0
cnVlIgotCQkJCQk+Ci0JCQkJCTxUb29sCi0JCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgot
CQkJCQkvPgotCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+Ci0JCQk8L0ZpbGU+Ci0JCQk8RmlsZQot
CQkJCVJlbGF0aXZlUGF0aD0iLi5cY3NzXENTU1Byb3BlcnR5TG9uZ2hhbmQuaCIKLQkJCQk+Ci0J
CQk8L0ZpbGU+Ci0JCQk8RmlsZQogCQkJCVJlbGF0aXZlUGF0aD0iLi5cY3NzXENTU1Byb3BlcnR5
TmFtZXMuaW4iCiAJCQkJPgogCQkJPC9GaWxlPgpAQCAtMzY4MDIsNiArMzY3NDYsNjIgQEAKIAkJ
CQk+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cY3NzXFN0eWxl
UHJvcGVydHlTaG9ydGhhbmQuY3BwIgorCQkJCT4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJ
CQkJTmFtZT0iRGVidWd8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJ
CQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgor
CQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5h
bWU9IlJlbGVhc2V8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+
CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJ
CTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9
IkRlYnVnX0NhaXJvX0NGTGl0ZXxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUi
CisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJ
CS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJ
CQkJTmFtZT0iUmVsZWFzZV9DYWlyb19DRkxpdGV8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1
aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJU
b29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1
cmF0aW9uCisJCQkJCU5hbWU9IkRlYnVnX0FsbHxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVp
bGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRv
b2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3Vy
YXRpb24KKwkJCQkJTmFtZT0iUHJvZHVjdGlvbnxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVp
bGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRv
b2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCTwvRmlsZT4KKwkJCTxG
aWxlCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxjc3NcU3R5bGVQcm9wZXJ0eVNob3J0aGFuZC5oIgor
CQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCiAJCQkJUmVsYXRpdmVQYXRoPSIuLlxjc3NcU3R5
bGVSdWxlLmNwcCIKIAkJCQk+CiAJCQk8L0ZpbGU+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggN2QwNWI4Y2RiZDhjMDg1NGJkYzU2
ZmM3ODc4OTJhODQxYzEwMWY4OC4uMmYwMDI1YTRhYTIzZmQ2NTgwNGQyYjQ1N2NjZDFkNjUxNDg2
NzRmNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagpAQCAtMjU2LDggKzI1Niw2IEBACiAJCTBGNTgwRkFGMTQ5ODAwRDQwMEZCNUJEOCAv
KiBBbmltYXRpb25VdGlsaXRpZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDBGNTgwRkFFMTQ5ODAwRDQwMEZCNUJEOCAvKiBBbmltYXRpb25VdGlsaXRp
ZXMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkw
RjVCN0E1NDEwRjY1RDdBMDAzNzYzMDIgLyogUmVuZGVyRW1iZWRkZWRPYmplY3QuY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEY1QjdBNTIxMEY2NUQ3
QTAwMzc2MzAyIC8qIFJlbmRlckVtYmVkZGVkT2JqZWN0LmNwcCAqLzsgfTsKIAkJMEY1QjdBNTUx
MEY2NUQ3QTAwMzc2MzAyIC8qIFJlbmRlckVtYmVkZGVkT2JqZWN0LmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRjVCN0E1MzEwRjY1RDdBMDAzNzYzMDIg
LyogUmVuZGVyRW1iZWRkZWRPYmplY3QuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OwotCQkwRjZFQ0Q0NTBGMjUyRjM3MDBCREUyNzEgLyogQ1NTUHJvcGVy
dHlMb25naGFuZC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMEY2RUNENDMwRjI1MkYzNzAwQkRFMjcxIC8qIENTU1Byb3BlcnR5TG9uZ2hhbmQuaCAqLzsg
fTsKLQkJMEY2RUNENDYwRjI1MkYzNzAwQkRFMjcxIC8qIENTU1Byb3BlcnR5TG9uZ2hhbmQuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEY2RUNENDQw
RjI1MkYzNzAwQkRFMjcxIC8qIENTU1Byb3BlcnR5TG9uZ2hhbmQuY3BwICovOyB9OwogCQkwRkNG
MzMyNDBGMkI5NzE1MDA0QjY3OTUgLyogQ29sb3JDRy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkNGMzMyMzBGMkI5NzE1MDA0QjY3OTUgLyogQ29s
b3JDRy5jcHAgKi87IH07CiAJCTBGQ0YzMzJDMEYyQjlBMjUwMDRCNjc5NSAvKiBXZWJUaWxlZExh
eWVyLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEZD
RjMzMjgwRjJCOUEyNTAwNEI2Nzk1IC8qIFdlYlRpbGVkTGF5ZXIubW0gKi87IH07CiAJCTBGQ0Yz
MzJEMEYyQjlBMjUwMDRCNjc5NSAvKiBXZWJUaWxlZExheWVyLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAwRkNGMzMyOTBGMkI5QTI1MDA0QjY3OTUgLyog
V2ViVGlsZWRMYXllci5oICovOyB9OwpAQCAtNTg4Niw2ICs1ODg0LDggQEAKIAkJRTFBREVERDUw
RTc2QkQ2MDAwNEExQTVFIC8qIERPTU1lc3NhZ2VQb3J0SW50ZXJuYWwuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUxQURFREQ0MEU3NkJENjAwMDRBMUE1
RSAvKiBET01NZXNzYWdlUG9ydEludGVybmFsLmggKi87IH07CiAJCUUxQURFRERBMEU3NkJEOTMw
MDRBMUE1RSAvKiBKU01lc3NhZ2VQb3J0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBFMUFERUREODBFNzZCRDkzMDA0QTFBNUUgLyogSlNNZXNzYWdlUG9y
dC5oICovOyB9OwogCQlFMUFERUREQjBFNzZCRDkzMDA0QTFBNUUgLyogSlNNZXNzYWdlUG9ydC5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBFMUFERURE
OTBFNzZCRDkzMDA0QTFBNUUgLyogSlNNZXNzYWdlUG9ydC5jcHAgKi87IH07CisJCUUxQjI1MTA2
MTUyQTBCQUYwMDY5Qjc3OSAvKiBTdHlsZVByb3BlcnR5U2hvcnRoYW5kLmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUxQjI1MTA0MTUyQTBCQUYwMDY5
Qjc3OSAvKiBTdHlsZVByb3BlcnR5U2hvcnRoYW5kLmNwcCAqLzsgfTsKKwkJRTFCMjUxMDcxNTJB
MEJCMDAwNjlCNzc5IC8qIFN0eWxlUHJvcGVydHlTaG9ydGhhbmQuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUxQjI1MTA1MTUyQTBCQUYwMDY5Qjc3OSAv
KiBTdHlsZVByb3BlcnR5U2hvcnRoYW5kLmggKi87IH07CiAJCUUxQjRDRDI1MTBCMzIyRTIwMEJG
RkQ3RSAvKiBDcmVkZW50aWFsU3RvcmFnZU1hYy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUxQjRDRDI0MTBCMzIyRTIwMEJGRkQ3RSAvKiBDcmVkZW50
aWFsU3RvcmFnZU1hYy5tbSAqLzsgfTsKIAkJRTFCRTUxMkQwQ0Y2QzUxMjAwMkVBOTU5IC8qIFhT
TFRVbmljb2RlU29ydC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBFMUJFNTEyQjBDRjZDNTEyMDAyRUE5NTkgLyogWFNMVFVuaWNvZGVTb3J0LmNwcCAq
LzsgfTsKIAkJRTFCRTUxMkUwQ0Y2QzUxMjAwMkVBOTU5IC8qIFhTTFRVbmljb2RlU29ydC5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTFCRTUxMkMwQ0Y2
QzUxMjAwMkVBOTU5IC8qIFhTTFRVbmljb2RlU29ydC5oICovOyB9OwpAQCAtNzA2Niw4ICs3MDY2
LDYgQEAKIAkJMEY1ODBGQUUxNDk4MDBENDAwRkI1QkQ4IC8qIEFuaW1hdGlvblV0aWxpdGllcy5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBBbmltYXRpb25VdGlsaXRpZXMuaDsg
cGF0aCA9IGFuaW1hdGlvbi9BbmltYXRpb25VdGlsaXRpZXMuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJMEY1QjdBNTIxMEY2NUQ3QTAwMzc2MzAyIC8qIFJlbmRlckVtYmVkZGVkT2Jq
ZWN0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJlbmRlckVtYmVk
ZGVkT2JqZWN0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMEY1QjdBNTMxMEY2
NUQ3QTAwMzc2MzAyIC8qIFJlbmRlckVtYmVkZGVkT2JqZWN0LmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IFJlbmRlckVtYmVkZGVkT2JqZWN0Lmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07Ci0JCTBGNkVDRDQzMEYyNTJGMzcwMEJERTI3MSAvKiBDU1NQcm9wZXJ0eUxvbmdo
YW5kLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENTU1Byb3BlcnR5TG9uZ2hh
bmQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJMEY2RUNENDQwRjI1MkYzNzAwQkRF
MjcxIC8qIENTU1Byb3BlcnR5TG9uZ2hhbmQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gQ1NTUHJvcGVydHlMb25naGFuZC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTBGQ0YzMzIzMEYyQjk3MTUwMDRCNjc5NSAvKiBDb2xvckNHLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENvbG9yQ0cuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQkwRkNGMzMyODBGMkI5QTI1MDA0QjY3OTUgLyogV2ViVGlsZWRMYXll
ci5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFdlYlRpbGVkTGF5
ZXIubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTBGQ0YzMzI5MEYyQjlBMjUwMDRC
Njc5NSAvKiBXZWJUaWxlZExheWVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IFdlYlRpbGVkTGF5ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTEzMDA5LDYg
KzEzMDA3LDggQEAKIAkJRTFBREVERDQwRTc2QkQ2MDAwNEExQTVFIC8qIERPTU1lc3NhZ2VQb3J0
SW50ZXJuYWwuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRE9NTWVzc2FnZVBv
cnRJbnRlcm5hbC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFMUFERUREODBFNzZC
RDkzMDA0QTFBNUUgLyogSlNNZXNzYWdlUG9ydC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBKU01lc3NhZ2VQb3J0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUUx
QURFREQ5MEU3NkJEOTMwMDRBMUE1RSAvKiBKU01lc3NhZ2VQb3J0LmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTTWVzc2FnZVBvcnQuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQlFMUIyNTEwNDE1MkEwQkFGMDA2OUI3NzkgLyogU3R5bGVQcm9wZXJ0
eVNob3J0aGFuZC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTdHls
ZVByb3BlcnR5U2hvcnRoYW5kLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRTFC
MjUxMDUxNTJBMEJBRjAwNjlCNzc5IC8qIFN0eWxlUHJvcGVydHlTaG9ydGhhbmQuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU3R5bGVQcm9wZXJ0eVNob3J0aGFuZC5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFMUI0Q0QyNDEwQjMyMkUyMDBCRkZEN0UgLyogQ3Jl
ZGVudGlhbFN0b3JhZ2VNYWMubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBh
dGggPSBDcmVkZW50aWFsU3RvcmFnZU1hYy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJRTFCRTUxMkIwQ0Y2QzUxMjAwMkVBOTU5IC8qIFhTTFRVbmljb2RlU29ydC5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBYU0xUVW5pY29kZVNvcnQuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFMUJFNTEyQzBDRjZDNTEyMDAyRUE5NTkgLyogWFNM
VFVuaWNvZGVTb3J0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFhTTFRVbmlj
b2RlU29ydC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMjA0NjgsOCArMjA0Njgs
NiBAQAogCQkJCUUxRUQ4QUMyMENDNDlCRTAwMEJGQzU1NyAvKiBDU1NQcmltaXRpdmVWYWx1ZU1h
cHBpbmdzLmggKi8sCiAJCQkJQTgwRTZDQ0QwQTE5ODlDQTAwN0ZCOEM1IC8qIENTU1Byb3BlcnR5
LmNwcCAqLywKIAkJCQlBODBFNkNENTBBMTk4OUNBMDA3RkI4QzUgLyogQ1NTUHJvcGVydHkuaCAq
LywKLQkJCQkwRjZFQ0Q0NDBGMjUyRjM3MDBCREUyNzEgLyogQ1NTUHJvcGVydHlMb25naGFuZC5j
cHAgKi8sCi0JCQkJMEY2RUNENDMwRjI1MkYzNzAwQkRFMjcxIC8qIENTU1Byb3BlcnR5TG9uZ2hh
bmQuaCAqLywKIAkJCQlCQ0VBNDc4OTA5N0NBQUM4MDA5NEM5RTQgLyogQ1NTUHJvcGVydHlOYW1l
cy5pbiAqLywKIAkJCQk4MkUzRDhEQzEyMkVBMEQxMDAzQUU1QkMgLyogQ1NTUHJvcGVydHlTb3Vy
Y2VEYXRhLmNwcCAqLywKIAkJCQk4MkUzRDhERDEyMkVBMEQxMDAzQUU1QkMgLyogQ1NTUHJvcGVy
dHlTb3VyY2VEYXRhLmggKi8sCkBAIC0yMDU3MSw2ICsyMDU2OSw4IEBACiAJCQkJMEZGNTAyNzAx
MDJCQTk2QTAwNjZGMzlBIC8qIFN0eWxlTWVkaWEuaWRsICovLAogCQkJCUE4MEU2REY5MEExOTkw
NjcwMDdGQjhDNSAvKiBTdHlsZVByb3BlcnR5U2V0LmNwcCAqLywKIAkJCQlBODBFNkRGQTBBMTk5
MDY3MDA3RkI4QzUgLyogU3R5bGVQcm9wZXJ0eVNldC5oICovLAorCQkJCUUxQjI1MTA0MTUyQTBC
QUYwMDY5Qjc3OSAvKiBTdHlsZVByb3BlcnR5U2hvcnRoYW5kLmNwcCAqLywKKwkJCQlFMUIyNTEw
NTE1MkEwQkFGMDA2OUI3NzkgLyogU3R5bGVQcm9wZXJ0eVNob3J0aGFuZC5oICovLAogCQkJCUU0
QkJFRDRBMTRGQ0RCQTEwMDNGMEI5OCAvKiBTdHlsZVJ1bGUuY3BwICovLAogCQkJCUU0QkJFRDRC
MTRGQ0RCQTEwMDNGMEI5OCAvKiBTdHlsZVJ1bGUuaCAqLywKIAkJCQlBOEVBODAwNTBBMTk1MTZF
MDBBOEVGNUYgLyogU3R5bGVTaGVldC5jcHAgKi8sCkBAIC0yMTc3OSw3ICsyMTc3OSw2IEBACiAJ
CQkJQTgwRTZDRTYwQTE5ODlDQTAwN0ZCOEM1IC8qIENTU1ByaW1pdGl2ZVZhbHVlLmggaW4gSGVh
ZGVycyAqLywKIAkJCQlFMUVEOEFDMzBDQzQ5QkUwMDBCRkM1NTcgLyogQ1NTUHJpbWl0aXZlVmFs
dWVNYXBwaW5ncy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQTgwRTZDRkYwQTE5ODlDQTAwN0ZCOEM1
IC8qIENTU1Byb3BlcnR5LmggaW4gSGVhZGVycyAqLywKLQkJCQkwRjZFQ0Q0NTBGMjUyRjM3MDBC
REUyNzEgLyogQ1NTUHJvcGVydHlMb25naGFuZC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNjU2NTgw
RjQwOUQxMkIyMDAwMEU2MUQ3IC8qIENTU1Byb3BlcnR5TmFtZXMuaCBpbiBIZWFkZXJzICovLAog
CQkJCTgyRTNEOERGMTIyRUEwRDEwMDNBRTVCQyAvKiBDU1NQcm9wZXJ0eVNvdXJjZURhdGEuaCBp
biBIZWFkZXJzICovLAogCQkJCTkzNjI2NDBCMERFMTEzN0QwMDlENUEwMCAvKiBDU1NSZWZsZWN0
aW9uRGlyZWN0aW9uLmggaW4gSGVhZGVycyAqLywKQEAgLTI0NjY4LDYgKzI0NjY3LDcgQEAKIAkJ
CQk5NzdFMkUwRjEyRjBGQzlDMDBDMTMzNzkgLyogWFNTQXVkaXRvci5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJRkQ1MzczNTMxMzdCNjUxODAwMDA4RENFIC8qIFplcm9Qb2xlLmggaW4gSGVhZGVycyAq
LywKIAkJCQkxQTM1ODZFMDE1MjY0QzQ1MDAyMkE2NTkgLyogUmVuZGVyTXVsdGlDb2x1bW5GbG93
VGhyZWFkLmggaW4gSGVhZGVycyAqLywKKwkJCQlFMUIyNTEwNzE1MkEwQkIwMDA2OUI3NzkgLyog
U3R5bGVQcm9wZXJ0eVNob3J0aGFuZC5oIGluIEhlYWRlcnMgKi8sCiAJCQkpOwogCQkJcnVuT25s
eUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CkBAIC0yNTI0Nyw3ICsyNTI0
Nyw2IEBACiAJCQkJOTc3QjM4NjIxMjI4ODNFOTAwQjgxRkY4IC8qIENTU1ByZWxvYWRTY2FubmVy
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE4MEU2RDA1MEExOTg5Q0EwMDdGQjhDNSAvKiBDU1NQ
cmltaXRpdmVWYWx1ZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBODBFNkNGNzBBMTk4OUNBMDA3
RkI4QzUgLyogQ1NTUHJvcGVydHkuY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJMEY2RUNENDYwRjI1
MkYzNzAwQkRFMjcxIC8qIENTU1Byb3BlcnR5TG9uZ2hhbmQuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJMUFCQTc2Q0ExMUQyMEU1MDAwNEMyMDFDIC8qIENTU1Byb3BlcnR5TmFtZXMuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJODJFM0Q4REUxMjJFQTBEMTAwM0FFNUJDIC8qIENTU1Byb3BlcnR5U291
cmNlRGF0YS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQzVBMTJERjBEQzA0MTQ4MDBDOUFGQUQg
LyogQ1NTUmVmbGVjdFZhbHVlLmNwcCBpbiBTb3VyY2VzICovLApAQCAtMjc2NTksNiArMjc2NTgs
NyBAQAogCQkJCTFBMzU4NkRGMTUyNjRDNDUwMDIyQTY1OSAvKiBSZW5kZXJNdWx0aUNvbHVtbkZs
b3dUaHJlYWQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMUEzNTg2RTExNTI2NEY5NTAwMjJBNjU5
IC8qIFNWR0FuaW1hdGVkSW50ZWdlck9wdGlvbmFsSW50ZWdlci5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQkxQTNGRjlDMzE1MjY1MzU5MDAyMjg4QTEgLyogUmVuZGVyTmFtZWRGbG93VGhyZWFkLmNw
cCBpbiBTb3VyY2VzICovLAorCQkJCUUxQjI1MTA2MTUyQTBCQUYwMDY5Qjc3OSAvKiBTdHlsZVBy
b3BlcnR5U2hvcnRoYW5kLmNwcCBpbiBTb3VyY2VzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JE
ZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvY3NzL0NTU0FsbEluT25lLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NBbGxJbk9u
ZS5jcHAKaW5kZXggMDA2NWEyNjkwZWJlYjZlZTgzZDMyYjU1YjYwYjlhZTBjM2IwMmM2MS4uOTI2
OGYxNjQ5MmIxMTNkNTBmZDA0MzJmZDRhMDIwNWJkMGM1N2E3YyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvY3NzL0NTU0FsbEluT25lLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
QWxsSW5PbmUuY3BwCkBAIC01Miw3ICs1Miw2IEBACiAjaW5jbHVkZSAiQ1NTUGFnZVJ1bGUuY3Bw
IgogI2luY2x1ZGUgIkNTU1BhcnNlci5jcHAiCiAjaW5jbHVkZSAiQ1NTUGFyc2VyVmFsdWVzLmNw
cCIKLSNpbmNsdWRlICJDU1NQcm9wZXJ0eUxvbmdoYW5kLmNwcCIKICNpbmNsdWRlICJDU1NQcm9w
ZXJ0eVNvdXJjZURhdGEuY3BwIgogI2luY2x1ZGUgIkNTU1JlZmxlY3RWYWx1ZS5jcHAiCiAjaW5j
bHVkZSAiQ1NTUnVsZS5jcHAiCkBAIC03MiwzICs3MSw0IEBACiAjaW5jbHVkZSAiQ1NTVmFsdWVQ
b29sLmNwcCIKICNpbmNsdWRlICJDU1NXcmFwU2hhcGVzLmNwcCIKICNpbmNsdWRlICJTdHlsZVBy
b3BlcnR5U2V0LmNwcCIKKyNpbmNsdWRlICJTdHlsZVByb3BlcnR5U2hvcnRoYW5kLmNwcCIKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NDb21wdXRlZFN0eWxlRGVjbGFyYXRpb24u
Y3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAK
aW5kZXggYzUwYjUyZmM0Y2U4YzkyOGZiNjQ2NzRmMjIzZmNkYTlmY2Q5MzliNi4uMDdhMDM0MzQw
NzkwNjdhZmY0ZWVlNjQ4N2ZkMGI2ZTZlYWY5YzZiNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYkNv
cmUvY3NzL0NTU0NvbXB1dGVkU3R5bGVEZWNsYXJhdGlvbi5jcHAKQEAgLTMyLDcgKzMyLDYgQEAK
ICNpbmNsdWRlICJDU1NQcmltaXRpdmVWYWx1ZS5oIgogI2luY2x1ZGUgIkNTU1ByaW1pdGl2ZVZh
bHVlTWFwcGluZ3MuaCIKICNpbmNsdWRlICJDU1NQcm9wZXJ0eS5oIgotI2luY2x1ZGUgIkNTU1By
b3BlcnR5TG9uZ2hhbmQuaCIKICNpbmNsdWRlICJDU1NQcm9wZXJ0eU5hbWVzLmgiCiAjaW5jbHVk
ZSAiQ1NTUmVmbGVjdFZhbHVlLmgiCiAjaW5jbHVkZSAiQ1NTU2VsZWN0b3IuaCIKQEAgLTYwLDYg
KzU5LDcgQEAKICNpbmNsdWRlICJSZW5kZXJWaWV3LmgiCiAjaW5jbHVkZSAiU2hhZG93VmFsdWUu
aCIKICNpbmNsdWRlICJTdHlsZVByb3BlcnR5U2V0LmgiCisjaW5jbHVkZSAiU3R5bGVQcm9wZXJ0
eVNob3J0aGFuZC5oIgogI2lmIEVOQUJMRShDU1NfRklMVEVSUykKICNpbmNsdWRlICJTdHlsZUN1
c3RvbUZpbHRlclByb2dyYW0uaCIKICNpbmNsdWRlICJXZWJLaXRDU1NGaWx0ZXJWYWx1ZS5oIgpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTUGFyc2VyLmNwcAppbmRleCAxNDdiYmJkNTJiNjM4ZDg2YmUxZDc5ZDk2MDYw
MTQ0YTIzNGY3YjljLi5hMzNkYmRmODk2NDNkNWVmYjhjMjZkYjExODhkOTBkMWY0NDQ3NDY2IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNwcApAQCAtNDgsNyArNDgsNiBAQAogI2luY2x1ZGUgIkNT
U1BhZ2VSdWxlLmgiCiAjaW5jbHVkZSAiQ1NTUHJpbWl0aXZlVmFsdWUuaCIKICNpbmNsdWRlICJD
U1NQcm9wZXJ0eS5oIgotI2luY2x1ZGUgIkNTU1Byb3BlcnR5TG9uZ2hhbmQuaCIKICNpbmNsdWRl
ICJDU1NQcm9wZXJ0eVNvdXJjZURhdGEuaCIKICNpbmNsdWRlICJDU1NSZWZsZWN0VmFsdWUuaCIK
ICNpbmNsdWRlICJDU1NTZWxlY3Rvci5oIgpAQCAtNzYsNiArNzUsNyBAQAogI2luY2x1ZGUgIlNl
dHRpbmdzLmgiCiAjaW5jbHVkZSAiU2hhZG93VmFsdWUuaCIKICNpbmNsdWRlICJTdHlsZVByb3Bl
cnR5U2V0LmgiCisjaW5jbHVkZSAiU3R5bGVQcm9wZXJ0eVNob3J0aGFuZC5oIgogI2luY2x1ZGUg
IlN0eWxlUnVsZS5oIgogI2lmIEVOQUJMRShDU1NfRklMVEVSUykKICNpbmNsdWRlICJXZWJLaXRD
U1NGaWx0ZXJWYWx1ZS5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3Bl
cnR5LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eS5jcHAKaW5kZXggMTNiZmM2
NDg1ODU0MmNiMjcwYjhkYzQzYzMxNDlhNzA1YjkwMDdiMy4uOGM4MTM0ZWZkMjZiZmM4Nzg1Mzg4
MDA4ODJmOWE1NDg3YTExMWY2YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1By
b3BlcnR5LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHkuY3BwCkBAIC0y
MSwxMSArMjEsMTEgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJDU1NQcm9wZXJ0
eS5oIgogCi0jaW5jbHVkZSAiQ1NTUHJvcGVydHlMb25naGFuZC5oIgogI2luY2x1ZGUgIkNTU1By
b3BlcnR5TmFtZXMuaCIKICNpbmNsdWRlICJDU1NWYWx1ZUxpc3QuaCIKICNpbmNsdWRlICJQbGF0
Zm9ybVN0cmluZy5oIgogI2luY2x1ZGUgIlJlbmRlclN0eWxlQ29uc3RhbnRzLmgiCisjaW5jbHVk
ZSAiU3R5bGVQcm9wZXJ0eVNob3J0aGFuZC5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eUxvbmdoYW5kLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eUxvbmdoYW5kLmNwcApkZWxldGVkIGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggZThmNDkwYmI2Yzk5OTdlYmNjZjMyZjgwNmQ1ZDFmYmViZDE5N2JhZS4u
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTUHJvcGVydHlMb25naGFuZC5jcHAKKysrIC9kZXYvbnVsbApAQCAtMSw1MDcg
KzAsMCBAQAotLyoKLSAqIChDKSAxOTk5LTIwMDMgTGFycyBLbm9sbCAoa25vbGxAa2RlLm9yZykK
LSAqIENvcHlyaWdodCAoQykgMjAwNCwgMjAwNSwgMjAwNiwgMjAwNywgMjAwOCBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0gKgotICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdh
cmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgotICogbW9kaWZ5IGl0IHVuZGVyIHRo
ZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKLSAqIExpY2Vuc2UgYXMg
cHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgotICogdmVy
c2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJz
aW9uLgotICoKLSAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0
IGl0IHdpbGwgYmUgdXNlZnVsLAotICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0
IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCi0gKiBMaWJyYXJ5IEdl
bmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSAqCi0gKiBZb3Ugc2hvdWxk
IGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBM
aWNlbnNlCi0gKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcu
TElCLiAgSWYgbm90LCB3cml0ZSB0bwotICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwg
SW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKLSAqIEJvc3RvbiwgTUEgMDIx
MTAtMTMwMSwgVVNBLgotICovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJDU1NQ
cm9wZXJ0eUxvbmdoYW5kLmgiCi0KLSNpbmNsdWRlIDx3dGYvU3RkTGliRXh0cmFzLmg+Ci0KLW5h
bWVzcGFjZSBXZWJDb3JlIHsKLQotLy8gRklYTUU6IEFkZCBDU1NQcm9wZXJ0eUJhY2tncm91bmRT
aXplIHRvIHRoZSBzaG9ydGhhbmQuCi1jb25zdCBTdHlsZVByb3BlcnR5U2hvcnRoYW5kJiBiYWNr
Z3JvdW5kU2hvcnRoYW5kKCkKLXsKLSAgICBzdGF0aWMgY29uc3QgQ1NTUHJvcGVydHlJRCBiYWNr
Z3JvdW5kUHJvcGVydGllc1tdID0gewotICAgICAgICBDU1NQcm9wZXJ0eUJhY2tncm91bmRDb2xv
ciwKLSAgICAgICAgQ1NTUHJvcGVydHlCYWNrZ3JvdW5kSW1hZ2UsCi0gICAgICAgIENTU1Byb3Bl
cnR5QmFja2dyb3VuZFJlcGVhdFgsCi0gICAgICAgIENTU1Byb3BlcnR5QmFja2dyb3VuZFJlcGVh
dFksCi0gICAgICAgIENTU1Byb3BlcnR5QmFja2dyb3VuZEF0dGFjaG1lbnQsCi0gICAgICAgIENT
U1Byb3BlcnR5QmFja2dyb3VuZFBvc2l0aW9uWCwKLSAgICAgICAgQ1NTUHJvcGVydHlCYWNrZ3Jv
dW5kUG9zaXRpb25ZLAotICAgICAgICBDU1NQcm9wZXJ0eUJhY2tncm91bmRDbGlwLAotICAgICAg
ICBDU1NQcm9wZXJ0eUJhY2tncm91bmRPcmlnaW4KLSAgICB9OwotICAgIERFRklORV9TVEFUSUNf
TE9DQUwoU3R5bGVQcm9wZXJ0eVNob3J0aGFuZCwgYmFja2dyb3VuZFNob3J0aGFuZCwgKGJhY2tn
cm91bmRQcm9wZXJ0aWVzLCBXVEZfQVJSQVlfTEVOR1RIKGJhY2tncm91bmRQcm9wZXJ0aWVzKSkp
OwotICAgIHJldHVybiBiYWNrZ3JvdW5kU2hvcnRoYW5kOwotfQotCi1jb25zdCBTdHlsZVByb3Bl
cnR5U2hvcnRoYW5kJiBiYWNrZ3JvdW5kUG9zaXRpb25TaG9ydGhhbmQoKQotewotICAgIHN0YXRp
YyBjb25zdCBDU1NQcm9wZXJ0eUlEIGJhY2tncm91bmRQb3NpdGlvblByb3BlcnRpZXNbXSA9IHsg
Q1NTUHJvcGVydHlCYWNrZ3JvdW5kUG9zaXRpb25YLCBDU1NQcm9wZXJ0eUJhY2tncm91bmRQb3Np
dGlvblkgfTsKLSAgICBERUZJTkVfU1RBVElDX0xPQ0FMKFN0eWxlUHJvcGVydHlTaG9ydGhhbmQs
IGJhY2tncm91bmRQb3NpdGlvbkxvbmdoYW5kcywgKGJhY2tncm91bmRQb3NpdGlvblByb3BlcnRp
ZXMsIFdURl9BUlJBWV9MRU5HVEgoYmFja2dyb3VuZFBvc2l0aW9uUHJvcGVydGllcykpKTsKLSAg
ICByZXR1cm4gYmFja2dyb3VuZFBvc2l0aW9uTG9uZ2hhbmRzOwotfQotCi1jb25zdCBTdHlsZVBy
b3BlcnR5U2hvcnRoYW5kJiBiYWNrZ3JvdW5kUmVwZWF0U2hvcnRoYW5kKCkKLXsKLSAgICBzdGF0
aWMgY29uc3QgQ1NTUHJvcGVydHlJRCBiYWNrZ3JvdW5kUmVwZWF0UHJvcGVydGllc1tdID0geyBD
U1NQcm9wZXJ0eUJhY2tncm91bmRSZXBlYXRYLCBDU1NQcm9wZXJ0eUJhY2tncm91bmRSZXBlYXRZ
IH07Ci0gICAgREVGSU5FX1NUQVRJQ19MT0NBTChTdHlsZVByb3BlcnR5U2hvcnRoYW5kLCBiYWNr
Z3JvdW5kUmVwZWF0TG9uZ2hhbmRzLCAoYmFja2dyb3VuZFJlcGVhdFByb3BlcnRpZXMsIFdURl9B
UlJBWV9MRU5HVEgoYmFja2dyb3VuZFJlcGVhdFByb3BlcnRpZXMpKSk7Ci0gICAgcmV0dXJuIGJh
Y2tncm91bmRSZXBlYXRMb25naGFuZHM7Ci19Ci0KLWNvbnN0IFN0eWxlUHJvcGVydHlTaG9ydGhh
bmQmIGJvcmRlclNob3J0aGFuZCgpCi17Ci0gICAgLy8gRG8gbm90IGNoYW5nZSB0aGUgb3JkZXIg
b2YgdGhlIGZvbGxvd2luZyBmb3VyIHNob3J0aGFuZHMsIGFuZCBrZWVwIHRoZW0gdG9nZXRoZXIu
Ci0gICAgc3RhdGljIGNvbnN0IENTU1Byb3BlcnR5SUQgYm9yZGVyUHJvcGVydGllc1s0XVszXSA9
IHsKLSAgICAgICAgeyBDU1NQcm9wZXJ0eUJvcmRlclRvcENvbG9yLCBDU1NQcm9wZXJ0eUJvcmRl
clRvcFN0eWxlLCBDU1NQcm9wZXJ0eUJvcmRlclRvcFdpZHRoIH0sCi0gICAgICAgIHsgQ1NTUHJv
cGVydHlCb3JkZXJSaWdodENvbG9yLCBDU1NQcm9wZXJ0eUJvcmRlclJpZ2h0U3R5bGUsIENTU1By
b3BlcnR5Qm9yZGVyUmlnaHRXaWR0aCB9LAotICAgICAgICB7IENTU1Byb3BlcnR5Qm9yZGVyQm90
dG9tQ29sb3IsIENTU1Byb3BlcnR5Qm9yZGVyQm90dG9tU3R5bGUsIENTU1Byb3BlcnR5Qm9yZGVy
Qm90dG9tV2lkdGggfSwKLSAgICAgICAgeyBDU1NQcm9wZXJ0eUJvcmRlckxlZnRDb2xvciwgQ1NT
UHJvcGVydHlCb3JkZXJMZWZ0U3R5bGUsIENTU1Byb3BlcnR5Qm9yZGVyTGVmdFdpZHRoIH0KLSAg
ICB9OwotICAgIERFRklORV9TVEFUSUNfTE9DQUwoU3R5bGVQcm9wZXJ0eVNob3J0aGFuZCwgYm9y
ZGVyTG9uZ2hhbmRzLCAoYm9yZGVyUHJvcGVydGllc1swXSwgc2l6ZW9mKGJvcmRlclByb3BlcnRp
ZXMpIC8gc2l6ZW9mKGJvcmRlclByb3BlcnRpZXNbMF1bMF0pKSk7Ci0gICAgcmV0dXJuIGJvcmRl
ckxvbmdoYW5kczsKLX0KLQotY29uc3QgU3R5bGVQcm9wZXJ0eVNob3J0aGFuZCYgYm9yZGVyQWJy
aWRnZWRTaG9ydGhhbmQoKQotewotICAgIHN0YXRpYyBjb25zdCBDU1NQcm9wZXJ0eUlEIGJvcmRl
ckFicmlkZ2VkUHJvcGVydGllc1tdID0geyBDU1NQcm9wZXJ0eUJvcmRlcldpZHRoLCBDU1NQcm9w
ZXJ0eUJvcmRlclN0eWxlLCBDU1NQcm9wZXJ0eUJvcmRlckNvbG9yIH07Ci0gICAgc3RhdGljIGNv
bnN0IFN0eWxlUHJvcGVydHlTaG9ydGhhbmQqIHByb3BlcnRpZXNGb3JJbml0aWFsaXphdGlvbltd
ID0gewotICAgICAgICAmYm9yZGVyV2lkdGhTaG9ydGhhbmQoKSwKLSAgICAgICAgJmJvcmRlclN0
eWxlU2hvcnRoYW5kKCksCi0gICAgICAgICZib3JkZXJDb2xvclNob3J0aGFuZCgpLAotICAgIH07
Ci0gICAgREVGSU5FX1NUQVRJQ19MT0NBTChTdHlsZVByb3BlcnR5U2hvcnRoYW5kLCBib3JkZXJB
YnJpZGdlZExvbmdoYW5kcywKLSAgICAgICAgKGJvcmRlckFicmlkZ2VkUHJvcGVydGllcywgcHJv
cGVydGllc0ZvckluaXRpYWxpemF0aW9uLCBXVEZfQVJSQVlfTEVOR1RIKGJvcmRlckFicmlkZ2Vk
UHJvcGVydGllcykpKTsKLSAgICByZXR1cm4gYm9yZGVyQWJyaWRnZWRMb25naGFuZHM7Ci19Ci0K
LWNvbnN0IFN0eWxlUHJvcGVydHlTaG9ydGhhbmQmIGJvcmRlckJvdHRvbVNob3J0aGFuZCgpCi17
Ci0gICAgc3RhdGljIGNvbnN0IENTU1Byb3BlcnR5SUQgYm9yZGVyQm90dG9tUHJvcGVydGllc1td
ID0geyBDU1NQcm9wZXJ0eUJvcmRlckJvdHRvbVdpZHRoLCBDU1NQcm9wZXJ0eUJvcmRlckJvdHRv
bVN0eWxlLCBDU1NQcm9wZXJ0eUJvcmRlckJvdHRvbUNvbG9yIH07Ci0gICAgREVGSU5FX1NUQVRJ
Q19MT0NBTChTdHlsZVByb3BlcnR5U2hvcnRoYW5kLCBib3JkZXJCb3R0b21Mb25naGFuZHMsIChi
b3JkZXJCb3R0b21Qcm9wZXJ0aWVzLCBXVEZfQVJSQVlfTEVOR1RIKGJvcmRlckJvdHRvbVByb3Bl
cnRpZXMpKSk7Ci0gICAgcmV0dXJuIGJvcmRlckJvdHRvbUxvbmdoYW5kczsKLX0KLQotY29uc3Qg
U3R5bGVQcm9wZXJ0eVNob3J0aGFuZCYgYm9yZGVyQ29sb3JTaG9ydGhhbmQoKQotewotICAgIHN0
YXRpYyBjb25zdCBDU1NQcm9wZXJ0eUlEIGJvcmRlckNvbG9yUHJvcGVydGllc1tdID0gewotICAg
ICAgICBDU1NQcm9wZXJ0eUJvcmRlclRvcENvbG9yLAotICAgICAgICBDU1NQcm9wZXJ0eUJvcmRl
clJpZ2h0Q29sb3IsCi0gICAgICAgIENTU1Byb3BlcnR5Qm9yZGVyQm90dG9tQ29sb3IsCi0gICAg
ICAgIENTU1Byb3BlcnR5Qm9yZGVyTGVmdENvbG9yCi0gICAgfTsKLSAgICBERUZJTkVfU1RBVElD
X0xPQ0FMKFN0eWxlUHJvcGVydHlTaG9ydGhhbmQsIGJvcmRlckNvbG9yTG9uZ2hhbmRzLCAoYm9y
ZGVyQ29sb3JQcm9wZXJ0aWVzLCBXVEZfQVJSQVlfTEVOR1RIKGJvcmRlckNvbG9yUHJvcGVydGll
cykpKTsKLSAgICByZXR1cm4gYm9yZGVyQ29sb3JMb25naGFuZHM7Ci19Ci0KLWNvbnN0IFN0eWxl
UHJvcGVydHlTaG9ydGhhbmQmIGJvcmRlckltYWdlU2hvcnRoYW5kKCkKLXsKLSAgICBzdGF0aWMg
Y29uc3QgQ1NTUHJvcGVydHlJRCBib3JkZXJJbWFnZVByb3BlcnRpZXNbXSA9IHsKLSAgICAgICAg
Q1NTUHJvcGVydHlCb3JkZXJJbWFnZVNvdXJjZSwKLSAgICAgICAgQ1NTUHJvcGVydHlCb3JkZXJJ
bWFnZVNsaWNlLAotICAgICAgICBDU1NQcm9wZXJ0eUJvcmRlckltYWdlV2lkdGgsCi0gICAgICAg
IENTU1Byb3BlcnR5Qm9yZGVySW1hZ2VPdXRzZXQsCi0gICAgICAgIENTU1Byb3BlcnR5Qm9yZGVy
SW1hZ2VSZXBlYXQKLSAgICB9OwotICAgIERFRklORV9TVEFUSUNfTE9DQUwoU3R5bGVQcm9wZXJ0
eVNob3J0aGFuZCwgYm9yZGVySW1hZ2VMb25naGFuZHMsIChib3JkZXJJbWFnZVByb3BlcnRpZXMs
IFdURl9BUlJBWV9MRU5HVEgoYm9yZGVySW1hZ2VQcm9wZXJ0aWVzKSkpOwotICAgIHJldHVybiBi
b3JkZXJJbWFnZUxvbmdoYW5kczsKLX0KLQotY29uc3QgU3R5bGVQcm9wZXJ0eVNob3J0aGFuZCYg
Ym9yZGVyTGVmdFNob3J0aGFuZCgpCi17Ci0gICAgc3RhdGljIGNvbnN0IENTU1Byb3BlcnR5SUQg
Ym9yZGVyTGVmdFByb3BlcnRpZXNbXSA9IHsgQ1NTUHJvcGVydHlCb3JkZXJMZWZ0V2lkdGgsIENT
U1Byb3BlcnR5Qm9yZGVyTGVmdFN0eWxlLCBDU1NQcm9wZXJ0eUJvcmRlckxlZnRDb2xvciB9Owot
ICAgIERFRklORV9TVEFUSUNfTE9DQUwoU3R5bGVQcm9wZXJ0eVNob3J0aGFuZCwgYm9yZGVyTGVm
dExvbmdoYW5kcywgKGJvcmRlckxlZnRQcm9wZXJ0aWVzLCBXVEZfQVJSQVlfTEVOR1RIKGJvcmRl
ckxlZnRQcm9wZXJ0aWVzKSkpOwotICAgIHJldHVybiBib3JkZXJMZWZ0TG9uZ2hhbmRzOwotfQot
Ci1jb25zdCBTdHlsZVByb3BlcnR5U2hvcnRoYW5kJiBib3JkZXJSYWRpdXNTaG9ydGhhbmQoKQot
ewotICAgIHN0YXRpYyBjb25zdCBDU1NQcm9wZXJ0eUlEIGJvcmRlclJhZGl1c1Byb3BlcnRpZXNb
XSA9IHsKLSAgICAgICAgQ1NTUHJvcGVydHlCb3JkZXJUb3BSaWdodFJhZGl1cywKLSAgICAgICAg
Q1NTUHJvcGVydHlCb3JkZXJUb3BMZWZ0UmFkaXVzLAotICAgICAgICBDU1NQcm9wZXJ0eUJvcmRl
ckJvdHRvbUxlZnRSYWRpdXMsCi0gICAgICAgIENTU1Byb3BlcnR5Qm9yZGVyQm90dG9tUmlnaHRS
YWRpdXMKLSAgICB9OwotICAgIERFRklORV9TVEFUSUNfTE9DQUwoU3R5bGVQcm9wZXJ0eVNob3J0
aGFuZCwgYm9yZGVyUmFkaXVzTG9uZ2hhbmRzLCAoYm9yZGVyUmFkaXVzUHJvcGVydGllcywgV1RG
X0FSUkFZX0xFTkdUSChib3JkZXJSYWRpdXNQcm9wZXJ0aWVzKSkpOwotICAgIHJldHVybiBib3Jk
ZXJSYWRpdXNMb25naGFuZHM7Ci19Ci0KLWNvbnN0IFN0eWxlUHJvcGVydHlTaG9ydGhhbmQmIGJv
cmRlclJpZ2h0U2hvcnRoYW5kKCkKLXsKLSAgICBzdGF0aWMgY29uc3QgQ1NTUHJvcGVydHlJRCBi
b3JkZXJSaWdodFByb3BlcnRpZXNbXSA9IHsgQ1NTUHJvcGVydHlCb3JkZXJSaWdodFdpZHRoLCBD
U1NQcm9wZXJ0eUJvcmRlclJpZ2h0U3R5bGUsIENTU1Byb3BlcnR5Qm9yZGVyUmlnaHRDb2xvciB9
OwotICAgIERFRklORV9TVEFUSUNfTE9DQUwoU3R5bGVQcm9wZXJ0eVNob3J0aGFuZCwgYm9yZGVy
UmlnaHRMb25naGFuZHMsIChib3JkZXJSaWdodFByb3BlcnRpZXMsIFdURl9BUlJBWV9MRU5HVEgo
Ym9yZGVyUmlnaHRQcm9wZXJ0aWVzKSkpOwotICAgIHJldHVybiBib3JkZXJSaWdodExvbmdoYW5k
czsKLX0KLQotY29uc3QgU3R5bGVQcm9wZXJ0eVNob3J0aGFuZCYgYm9yZGVyU3BhY2luZ1Nob3J0
aGFuZCgpCi17Ci0gICAgc3RhdGljIGNvbnN0IENTU1Byb3BlcnR5SUQgYm9yZGVyU3BhY2luZ1By
b3BlcnRpZXNbXSA9IHsgQ1NTUHJvcGVydHlXZWJraXRCb3JkZXJIb3Jpem9udGFsU3BhY2luZywg
Q1NTUHJvcGVydHlXZWJraXRCb3JkZXJWZXJ0aWNhbFNwYWNpbmcgfTsKLSAgICBERUZJTkVfU1RB
VElDX0xPQ0FMKFN0eWxlUHJvcGVydHlTaG9ydGhhbmQsIGJvcmRlclNwYWNpbmdMb25naGFuZHMs
IChib3JkZXJTcGFjaW5nUHJvcGVydGllcywgV1RGX0FSUkFZX0xFTkdUSChib3JkZXJTcGFjaW5n
UHJvcGVydGllcykpKTsKLSAgICByZXR1cm4gYm9yZGVyU3BhY2luZ0xvbmdoYW5kczsKLX0KLQot
Y29uc3QgU3R5bGVQcm9wZXJ0eVNob3J0aGFuZCYgYm9yZGVyU3R5bGVTaG9ydGhhbmQoKQotewot
ICAgIHN0YXRpYyBjb25zdCBDU1NQcm9wZXJ0eUlEIGJvcmRlclN0eWxlUHJvcGVydGllc1tdID0g
ewotICAgICAgICBDU1NQcm9wZXJ0eUJvcmRlclRvcFN0eWxlLAotICAgICAgICBDU1NQcm9wZXJ0
eUJvcmRlclJpZ2h0U3R5bGUsCi0gICAgICAgIENTU1Byb3BlcnR5Qm9yZGVyQm90dG9tU3R5bGUs
Ci0gICAgICAgIENTU1Byb3BlcnR5Qm9yZGVyTGVmdFN0eWxlCi0gICAgfTsKLSAgICBERUZJTkVf
U1RBVElDX0xPQ0FMKFN0eWxlUHJvcGVydHlTaG9ydGhhbmQsIGJvcmRlclN0eWxlTG9uZ2hhbmRz
LCAoYm9yZGVyU3R5bGVQcm9wZXJ0aWVzLCBXVEZfQVJSQVlfTEVOR1RIKGJvcmRlclN0eWxlUHJv
cGVydGllcykpKTsKLSAgICByZXR1cm4gYm9yZGVyU3R5bGVMb25naGFuZHM7Ci19Ci0KLWNvbnN0
IFN0eWxlUHJvcGVydHlTaG9ydGhhbmQmIGJvcmRlclRvcFNob3J0aGFuZCgpCi17Ci0gICAgc3Rh
dGljIGNvbnN0IENTU1Byb3BlcnR5SUQgYm9yZGVyVG9wUHJvcGVydGllc1tdID0geyBDU1NQcm9w
ZXJ0eUJvcmRlclRvcFdpZHRoLCBDU1NQcm9wZXJ0eUJvcmRlclRvcFN0eWxlLCBDU1NQcm9wZXJ0
eUJvcmRlclRvcENvbG9yIH07Ci0gICAgREVGSU5FX1NUQVRJQ19MT0NBTChTdHlsZVByb3BlcnR5
U2hvcnRoYW5kLCBib3JkZXJUb3BMb25naGFuZHMsIChib3JkZXJUb3BQcm9wZXJ0aWVzLCBXVEZf
QVJSQVlfTEVOR1RIKGJvcmRlclRvcFByb3BlcnRpZXMpKSk7Ci0gICAgcmV0dXJuIGJvcmRlclRv
cExvbmdoYW5kczsKLX0KLQotY29uc3QgU3R5bGVQcm9wZXJ0eVNob3J0aGFuZCYgYm9yZGVyV2lk
dGhTaG9ydGhhbmQoKQotewotICAgIHN0YXRpYyBjb25zdCBDU1NQcm9wZXJ0eUlEIGJvcmRlcldp
ZHRoUHJvcGVydGllc1tdID0gewotICAgICAgICBDU1NQcm9wZXJ0eUJvcmRlclRvcFdpZHRoLAot
ICAgICAgICBDU1NQcm9wZXJ0eUJvcmRlclJpZ2h0V2lkdGgsCi0gICAgICAgIENTU1Byb3BlcnR5
Qm9yZGVyQm90dG9tV2lkdGgsCi0gICAgICAgIENTU1Byb3BlcnR5Qm9yZGVyTGVmdFdpZHRoCi0g
ICAgfTsKLSAgICBERUZJTkVfU1RBVElDX0xPQ0FMKFN0eWxlUHJvcGVydHlTaG9ydGhhbmQsIGJv
cmRlcldpZHRoTG9uZ2hhbmRzLCAoYm9yZGVyV2lkdGhQcm9wZXJ0aWVzLCBXVEZfQVJSQVlfTEVO
R1RIKGJvcmRlcldpZHRoUHJvcGVydGllcykpKTsKLSAgICByZXR1cm4gYm9yZGVyV2lkdGhMb25n
aGFuZHM7Ci19Ci0KLWNvbnN0IFN0eWxlUHJvcGVydHlTaG9ydGhhbmQmIGxpc3RTdHlsZVNob3J0
aGFuZCgpCi17Ci0gICAgc3RhdGljIGNvbnN0IENTU1Byb3BlcnR5SUQgbGlzdFN0eWxlUHJvcGVy
dGllc1tdID0gewotICAgICAgICBDU1NQcm9wZXJ0eUxpc3RTdHlsZVR5cGUsCi0gICAgICAgIENT
U1Byb3BlcnR5TGlzdFN0eWxlUG9zaXRpb24sCi0gICAgICAgIENTU1Byb3BlcnR5TGlzdFN0eWxl
SW1hZ2UKLSAgICB9OwotICAgIERFRklORV9TVEFUSUNfTE9DQUwoU3R5bGVQcm9wZXJ0eVNob3J0
aGFuZCwgbGlzdFN0eWxlTG9uZ2hhbmRzLCAobGlzdFN0eWxlUHJvcGVydGllcywgV1RGX0FSUkFZ
X0xFTkdUSChsaXN0U3R5bGVQcm9wZXJ0aWVzKSkpOwotICAgIHJldHVybiBsaXN0U3R5bGVMb25n
aGFuZHM7Ci19Ci0KLWNvbnN0IFN0eWxlUHJvcGVydHlTaG9ydGhhbmQmIGZvbnRTaG9ydGhhbmQo
KQotewotICAgIHN0YXRpYyBjb25zdCBDU1NQcm9wZXJ0eUlEIGZvbnRQcm9wZXJ0aWVzW10gPSB7
Ci0gICAgICAgIENTU1Byb3BlcnR5Rm9udEZhbWlseSwKLSAgICAgICAgQ1NTUHJvcGVydHlGb250
U2l6ZSwKLSAgICAgICAgQ1NTUHJvcGVydHlGb250U3R5bGUsCi0gICAgICAgIENTU1Byb3BlcnR5
Rm9udFZhcmlhbnQsCi0gICAgICAgIENTU1Byb3BlcnR5Rm9udFdlaWdodCwKLSAgICAgICAgQ1NT
UHJvcGVydHlMaW5lSGVpZ2h0Ci0gICAgfTsKLSAgICBERUZJTkVfU1RBVElDX0xPQ0FMKFN0eWxl
UHJvcGVydHlTaG9ydGhhbmQsIGZvbnRMb25naGFuZHMsIChmb250UHJvcGVydGllcywgV1RGX0FS
UkFZX0xFTkdUSChmb250UHJvcGVydGllcykpKTsKLSAgICByZXR1cm4gZm9udExvbmdoYW5kczsK
LX0KLQotY29uc3QgU3R5bGVQcm9wZXJ0eVNob3J0aGFuZCYgbWFyZ2luU2hvcnRoYW5kKCkKLXsK
LSAgICBzdGF0aWMgY29uc3QgQ1NTUHJvcGVydHlJRCBtYXJnaW5Qcm9wZXJ0aWVzW10gPSB7Ci0g
ICAgICAgIENTU1Byb3BlcnR5TWFyZ2luVG9wLAotICAgICAgICBDU1NQcm9wZXJ0eU1hcmdpblJp
Z2h0LAotICAgICAgICBDU1NQcm9wZXJ0eU1hcmdpbkJvdHRvbSwKLSAgICAgICAgQ1NTUHJvcGVy
dHlNYXJnaW5MZWZ0Ci0gICAgfTsKLSAgICBERUZJTkVfU1RBVElDX0xPQ0FMKFN0eWxlUHJvcGVy
dHlTaG9ydGhhbmQsIG1hcmdpbkxvbmdoYW5kcywgKG1hcmdpblByb3BlcnRpZXMsIFdURl9BUlJB
WV9MRU5HVEgobWFyZ2luUHJvcGVydGllcykpKTsKLSAgICByZXR1cm4gbWFyZ2luTG9uZ2hhbmRz
OwotfQotCi1jb25zdCBTdHlsZVByb3BlcnR5U2hvcnRoYW5kJiBvdXRsaW5lU2hvcnRoYW5kKCkK
LXsKLSAgICBzdGF0aWMgY29uc3QgQ1NTUHJvcGVydHlJRCBvdXRsaW5lUHJvcGVydGllc1tdID0g
ewotICAgICAgICBDU1NQcm9wZXJ0eU91dGxpbmVDb2xvciwKLSAgICAgICAgQ1NTUHJvcGVydHlP
dXRsaW5lU3R5bGUsCi0gICAgICAgIENTU1Byb3BlcnR5T3V0bGluZVdpZHRoCi0gICAgfTsKLSAg
ICBERUZJTkVfU1RBVElDX0xPQ0FMKFN0eWxlUHJvcGVydHlTaG9ydGhhbmQsIG91dGxpbmVMb25n
aGFuZHMsIChvdXRsaW5lUHJvcGVydGllcywgV1RGX0FSUkFZX0xFTkdUSChvdXRsaW5lUHJvcGVy
dGllcykpKTsKLSAgICByZXR1cm4gb3V0bGluZUxvbmdoYW5kczsKLX0KLQotY29uc3QgU3R5bGVQ
cm9wZXJ0eVNob3J0aGFuZCYgb3ZlcmZsb3dTaG9ydGhhbmQoKQotewotICAgIHN0YXRpYyBjb25z
dCBDU1NQcm9wZXJ0eUlEIG92ZXJmbG93UHJvcGVydGllc1tdID0geyBDU1NQcm9wZXJ0eU92ZXJm
bG93WCwgQ1NTUHJvcGVydHlPdmVyZmxvd1kgfTsKLSAgICBERUZJTkVfU1RBVElDX0xPQ0FMKFN0
eWxlUHJvcGVydHlTaG9ydGhhbmQsIG92ZXJmbG93TG9uZ2hhbmRzLCAob3ZlcmZsb3dQcm9wZXJ0
aWVzLCBXVEZfQVJSQVlfTEVOR1RIKG92ZXJmbG93UHJvcGVydGllcykpKTsKLSAgICByZXR1cm4g
b3ZlcmZsb3dMb25naGFuZHM7Ci19Ci0KLWNvbnN0IFN0eWxlUHJvcGVydHlTaG9ydGhhbmQmIHBh
ZGRpbmdTaG9ydGhhbmQoKQotewotICAgIHN0YXRpYyBjb25zdCBDU1NQcm9wZXJ0eUlEIHBhZGRp
bmdQcm9wZXJ0aWVzW10gPSB7Ci0gICAgICAgIENTU1Byb3BlcnR5UGFkZGluZ1RvcCwKLSAgICAg
ICAgQ1NTUHJvcGVydHlQYWRkaW5nUmlnaHQsCi0gICAgICAgIENTU1Byb3BlcnR5UGFkZGluZ0Jv
dHRvbSwKLSAgICAgICAgQ1NTUHJvcGVydHlQYWRkaW5nTGVmdAotICAgIH07Ci0gICAgREVGSU5F
X1NUQVRJQ19MT0NBTChTdHlsZVByb3BlcnR5U2hvcnRoYW5kLCBwYWRkaW5nTG9uZ2hhbmRzLCAo
cGFkZGluZ1Byb3BlcnRpZXMsIFdURl9BUlJBWV9MRU5HVEgocGFkZGluZ1Byb3BlcnRpZXMpKSk7
Ci0gICAgcmV0dXJuIHBhZGRpbmdMb25naGFuZHM7Ci19Ci0KLWNvbnN0IFN0eWxlUHJvcGVydHlT
aG9ydGhhbmQmIHdlYmtpdEFuaW1hdGlvblNob3J0aGFuZCgpCi17Ci0gICAgc3RhdGljIGNvbnN0
IENTU1Byb3BlcnR5SUQgYW5pbWF0aW9uUHJvcGVydGllc1tdID0gewotICAgICAgICBDU1NQcm9w
ZXJ0eVdlYmtpdEFuaW1hdGlvbk5hbWUsCi0gICAgICAgIENTU1Byb3BlcnR5V2Via2l0QW5pbWF0
aW9uRHVyYXRpb24sCi0gICAgICAgIENTU1Byb3BlcnR5V2Via2l0QW5pbWF0aW9uVGltaW5nRnVu
Y3Rpb24sCi0gICAgICAgIENTU1Byb3BlcnR5V2Via2l0QW5pbWF0aW9uRGVsYXksCi0gICAgICAg
IENTU1Byb3BlcnR5V2Via2l0QW5pbWF0aW9uSXRlcmF0aW9uQ291bnQsCi0gICAgICAgIENTU1By
b3BlcnR5V2Via2l0QW5pbWF0aW9uRGlyZWN0aW9uLAotICAgICAgICBDU1NQcm9wZXJ0eVdlYmtp
dEFuaW1hdGlvbkZpbGxNb2RlCi0gICAgfTsKLSAgICBERUZJTkVfU1RBVElDX0xPQ0FMKFN0eWxl
UHJvcGVydHlTaG9ydGhhbmQsIHdlYmtpdEFuaW1hdGlvbkxvbmdoYW5kcywgKGFuaW1hdGlvblBy
b3BlcnRpZXMsIFdURl9BUlJBWV9MRU5HVEgoYW5pbWF0aW9uUHJvcGVydGllcykpKTsKLSAgICBy
ZXR1cm4gd2Via2l0QW5pbWF0aW9uTG9uZ2hhbmRzOwotfQotCi1jb25zdCBTdHlsZVByb3BlcnR5
U2hvcnRoYW5kJiB3ZWJraXRCb3JkZXJBZnRlclNob3J0aGFuZCgpCi17Ci0gICAgc3RhdGljIGNv
bnN0IENTU1Byb3BlcnR5SUQgYm9yZGVyQWZ0ZXJQcm9wZXJ0aWVzW10gPSB7IENTU1Byb3BlcnR5
V2Via2l0Qm9yZGVyQWZ0ZXJXaWR0aCwgQ1NTUHJvcGVydHlXZWJraXRCb3JkZXJBZnRlclN0eWxl
LCBDU1NQcm9wZXJ0eVdlYmtpdEJvcmRlckFmdGVyQ29sb3IgIH07Ci0gICAgREVGSU5FX1NUQVRJ
Q19MT0NBTChTdHlsZVByb3BlcnR5U2hvcnRoYW5kLCB3ZWJraXRCb3JkZXJBZnRlckxvbmdoYW5k
cywgKGJvcmRlckFmdGVyUHJvcGVydGllcywgV1RGX0FSUkFZX0xFTkdUSChib3JkZXJBZnRlclBy
b3BlcnRpZXMpKSk7Ci0gICAgcmV0dXJuIHdlYmtpdEJvcmRlckFmdGVyTG9uZ2hhbmRzOwotfQot
Ci1jb25zdCBTdHlsZVByb3BlcnR5U2hvcnRoYW5kJiB3ZWJraXRCb3JkZXJCZWZvcmVTaG9ydGhh
bmQoKQotewotICAgIHN0YXRpYyBjb25zdCBDU1NQcm9wZXJ0eUlEIGJvcmRlckJlZm9yZVByb3Bl
cnRpZXNbXSA9IHsgQ1NTUHJvcGVydHlXZWJraXRCb3JkZXJCZWZvcmVXaWR0aCwgQ1NTUHJvcGVy
dHlXZWJraXRCb3JkZXJCZWZvcmVTdHlsZSwgQ1NTUHJvcGVydHlXZWJraXRCb3JkZXJCZWZvcmVD
b2xvciAgfTsKLSAgICBERUZJTkVfU1RBVElDX0xPQ0FMKFN0eWxlUHJvcGVydHlTaG9ydGhhbmQs
IHdlYmtpdEJvcmRlckJlZm9yZUxvbmdoYW5kcywgKGJvcmRlckJlZm9yZVByb3BlcnRpZXMsIFdU
Rl9BUlJBWV9MRU5HVEgoYm9yZGVyQmVmb3JlUHJvcGVydGllcykpKTsKLSAgICByZXR1cm4gd2Vi
a2l0Qm9yZGVyQmVmb3JlTG9uZ2hhbmRzOwotfQotCi1jb25zdCBTdHlsZVByb3BlcnR5U2hvcnRo
YW5kJiB3ZWJraXRCb3JkZXJFbmRTaG9ydGhhbmQoKQotewotICAgIHN0YXRpYyBjb25zdCBDU1NQ
cm9wZXJ0eUlEIGJvcmRlckVuZFByb3BlcnRpZXNbXSA9IHsgQ1NTUHJvcGVydHlXZWJraXRCb3Jk
ZXJFbmRXaWR0aCwgQ1NTUHJvcGVydHlXZWJraXRCb3JkZXJFbmRTdHlsZSwgQ1NTUHJvcGVydHlX
ZWJraXRCb3JkZXJFbmRDb2xvciB9OwotICAgIERFRklORV9TVEFUSUNfTE9DQUwoU3R5bGVQcm9w
ZXJ0eVNob3J0aGFuZCwgd2Via2l0Qm9yZGVyRW5kTG9uZ2hhbmRzLCAoYm9yZGVyRW5kUHJvcGVy
dGllcywgV1RGX0FSUkFZX0xFTkdUSChib3JkZXJFbmRQcm9wZXJ0aWVzKSkpOwotICAgIHJldHVy
biB3ZWJraXRCb3JkZXJFbmRMb25naGFuZHM7Ci19Ci0KLWNvbnN0IFN0eWxlUHJvcGVydHlTaG9y
dGhhbmQmIHdlYmtpdEJvcmRlclN0YXJ0U2hvcnRoYW5kKCkKLXsKLSAgICBzdGF0aWMgY29uc3Qg
Q1NTUHJvcGVydHlJRCBib3JkZXJTdGFydFByb3BlcnRpZXNbXSA9IHsgQ1NTUHJvcGVydHlXZWJr
aXRCb3JkZXJTdGFydFdpZHRoLCBDU1NQcm9wZXJ0eVdlYmtpdEJvcmRlclN0YXJ0U3R5bGUsIENT
U1Byb3BlcnR5V2Via2l0Qm9yZGVyU3RhcnRDb2xvciB9OwotICAgIERFRklORV9TVEFUSUNfTE9D
QUwoU3R5bGVQcm9wZXJ0eVNob3J0aGFuZCwgd2Via2l0Qm9yZGVyU3RhcnRMb25naGFuZHMsIChi
b3JkZXJTdGFydFByb3BlcnRpZXMsIFdURl9BUlJBWV9MRU5HVEgoYm9yZGVyU3RhcnRQcm9wZXJ0
aWVzKSkpOwotICAgIHJldHVybiB3ZWJraXRCb3JkZXJTdGFydExvbmdoYW5kczsKLX0KLQotY29u
c3QgU3R5bGVQcm9wZXJ0eVNob3J0aGFuZCYgd2Via2l0Q29sdW1uc1Nob3J0aGFuZCgpCi17Ci0g
ICAgc3RhdGljIGNvbnN0IENTU1Byb3BlcnR5SUQgY29sdW1uc1Byb3BlcnRpZXNbXSA9IHsgQ1NT
UHJvcGVydHlXZWJraXRDb2x1bW5XaWR0aCwgQ1NTUHJvcGVydHlXZWJraXRDb2x1bW5Db3VudCB9
OwotICAgIERFRklORV9TVEFUSUNfTE9DQUwoU3R5bGVQcm9wZXJ0eVNob3J0aGFuZCwgd2Via2l0
Q29sdW1uc0xvbmdoYW5kcywgKGNvbHVtbnNQcm9wZXJ0aWVzLCBXVEZfQVJSQVlfTEVOR1RIKGNv
bHVtbnNQcm9wZXJ0aWVzKSkpOwotICAgIHJldHVybiB3ZWJraXRDb2x1bW5zTG9uZ2hhbmRzOwot
fQotCi1jb25zdCBTdHlsZVByb3BlcnR5U2hvcnRoYW5kJiB3ZWJraXRDb2x1bW5SdWxlU2hvcnRo
YW5kKCkKLXsKLSAgICBzdGF0aWMgY29uc3QgQ1NTUHJvcGVydHlJRCBjb2x1bW5SdWxlUHJvcGVy
dGllc1tdID0gewotICAgICAgICBDU1NQcm9wZXJ0eVdlYmtpdENvbHVtblJ1bGVXaWR0aCwKLSAg
ICAgICAgQ1NTUHJvcGVydHlXZWJraXRDb2x1bW5SdWxlU3R5bGUsCi0gICAgICAgIENTU1Byb3Bl
cnR5V2Via2l0Q29sdW1uUnVsZUNvbG9yLAotICAgIH07Ci0gICAgREVGSU5FX1NUQVRJQ19MT0NB
TChTdHlsZVByb3BlcnR5U2hvcnRoYW5kLCB3ZWJraXRDb2x1bW5SdWxlTG9uZ2hhbmRzLCAoY29s
dW1uUnVsZVByb3BlcnRpZXMsIFdURl9BUlJBWV9MRU5HVEgoY29sdW1uUnVsZVByb3BlcnRpZXMp
KSk7Ci0gICAgcmV0dXJuIHdlYmtpdENvbHVtblJ1bGVMb25naGFuZHM7Ci19Ci0KLWNvbnN0IFN0
eWxlUHJvcGVydHlTaG9ydGhhbmQmIHdlYmtpdEZsZXhGbG93U2hvcnRoYW5kKCkKLXsKLSAgICBz
dGF0aWMgY29uc3QgQ1NTUHJvcGVydHlJRCBmbGV4Rmxvd1Byb3BlcnRpZXNbXSA9IHsgQ1NTUHJv
cGVydHlXZWJraXRGbGV4RGlyZWN0aW9uLCBDU1NQcm9wZXJ0eVdlYmtpdEZsZXhXcmFwIH07Ci0g
ICAgREVGSU5FX1NUQVRJQ19MT0NBTChTdHlsZVByb3BlcnR5U2hvcnRoYW5kLCB3ZWJraXRGbGV4
Rmxvd0xvbmdoYW5kcywgKGZsZXhGbG93UHJvcGVydGllcywgV1RGX0FSUkFZX0xFTkdUSChmbGV4
Rmxvd1Byb3BlcnRpZXMpKSk7Ci0gICAgcmV0dXJuIHdlYmtpdEZsZXhGbG93TG9uZ2hhbmRzOwot
fQotCi1jb25zdCBTdHlsZVByb3BlcnR5U2hvcnRoYW5kJiB3ZWJraXRNYXJnaW5Db2xsYXBzZVNo
b3J0aGFuZCgpCi17Ci0gICAgc3RhdGljIGNvbnN0IENTU1Byb3BlcnR5SUQgbWFyZ2luQ29sbGFw
c2VQcm9wZXJ0aWVzW10gPSB7IENTU1Byb3BlcnR5V2Via2l0TWFyZ2luQmVmb3JlQ29sbGFwc2Us
IENTU1Byb3BlcnR5V2Via2l0TWFyZ2luQWZ0ZXJDb2xsYXBzZSB9OwotICAgIERFRklORV9TVEFU
SUNfTE9DQUwoU3R5bGVQcm9wZXJ0eVNob3J0aGFuZCwgd2Via2l0TWFyZ2luQ29sbGFwc2VMb25n
aGFuZHMsIChtYXJnaW5Db2xsYXBzZVByb3BlcnRpZXMsIFdURl9BUlJBWV9MRU5HVEgobWFyZ2lu
Q29sbGFwc2VQcm9wZXJ0aWVzKSkpOwotICAgIHJldHVybiB3ZWJraXRNYXJnaW5Db2xsYXBzZUxv
bmdoYW5kczsKLX0KLQotY29uc3QgU3R5bGVQcm9wZXJ0eVNob3J0aGFuZCYgd2Via2l0TWFycXVl
ZVNob3J0aGFuZCgpCi17Ci0gICAgc3RhdGljIGNvbnN0IENTU1Byb3BlcnR5SUQgbWFycXVlZVBy
b3BlcnRpZXNbXSA9IHsKLSAgICAgICAgQ1NTUHJvcGVydHlXZWJraXRNYXJxdWVlRGlyZWN0aW9u
LAotICAgICAgICBDU1NQcm9wZXJ0eVdlYmtpdE1hcnF1ZWVJbmNyZW1lbnQsCi0gICAgICAgIENT
U1Byb3BlcnR5V2Via2l0TWFycXVlZVJlcGV0aXRpb24sCi0gICAgICAgIENTU1Byb3BlcnR5V2Vi
a2l0TWFycXVlZVN0eWxlLAotICAgICAgICBDU1NQcm9wZXJ0eVdlYmtpdE1hcnF1ZWVTcGVlZAot
ICAgIH07Ci0gICAgREVGSU5FX1NUQVRJQ19MT0NBTChTdHlsZVByb3BlcnR5U2hvcnRoYW5kLCB3
ZWJraXRNYXJxdWVlTG9uZ2hhbmRzLCAobWFycXVlZVByb3BlcnRpZXMsIFdURl9BUlJBWV9MRU5H
VEgobWFycXVlZVByb3BlcnRpZXMpKSk7Ci0gICAgcmV0dXJuIHdlYmtpdE1hcnF1ZWVMb25naGFu
ZHM7Ci19Ci0KLWNvbnN0IFN0eWxlUHJvcGVydHlTaG9ydGhhbmQmIHdlYmtpdE1hc2tTaG9ydGhh
bmQoKQotewotICAgIHN0YXRpYyBjb25zdCBDU1NQcm9wZXJ0eUlEIG1hc2tQcm9wZXJ0aWVzW10g
PSB7Ci0gICAgICAgIENTU1Byb3BlcnR5V2Via2l0TWFza0ltYWdlLAotICAgICAgICBDU1NQcm9w
ZXJ0eVdlYmtpdE1hc2tSZXBlYXRYLAotICAgICAgICBDU1NQcm9wZXJ0eVdlYmtpdE1hc2tSZXBl
YXRZLAotICAgICAgICBDU1NQcm9wZXJ0eVdlYmtpdE1hc2tBdHRhY2htZW50LAotICAgICAgICBD
U1NQcm9wZXJ0eVdlYmtpdE1hc2tQb3NpdGlvblgsCi0gICAgICAgIENTU1Byb3BlcnR5V2Via2l0
TWFza1Bvc2l0aW9uWSwKLSAgICAgICAgQ1NTUHJvcGVydHlXZWJraXRNYXNrQ2xpcCwKLSAgICAg
ICAgQ1NTUHJvcGVydHlXZWJraXRNYXNrT3JpZ2luCi0gICAgfTsKLSAgICBERUZJTkVfU1RBVElD
X0xPQ0FMKFN0eWxlUHJvcGVydHlTaG9ydGhhbmQsIHdlYmtpdE1hc2tMb25naGFuZHMsIChtYXNr
UHJvcGVydGllcywgV1RGX0FSUkFZX0xFTkdUSChtYXNrUHJvcGVydGllcykpKTsKLSAgICByZXR1
cm4gd2Via2l0TWFza0xvbmdoYW5kczsKLX0KLQotY29uc3QgU3R5bGVQcm9wZXJ0eVNob3J0aGFu
ZCYgd2Via2l0TWFza1Bvc2l0aW9uU2hvcnRoYW5kKCkKLXsKLSAgICBzdGF0aWMgY29uc3QgQ1NT
UHJvcGVydHlJRCBtYXNrUG9zaXRpb25Qcm9wZXJ0aWVzW10gPSB7IENTU1Byb3BlcnR5V2Via2l0
TWFza1Bvc2l0aW9uWCwgQ1NTUHJvcGVydHlXZWJraXRNYXNrUG9zaXRpb25ZIH07Ci0gICAgREVG
SU5FX1NUQVRJQ19MT0NBTChTdHlsZVByb3BlcnR5U2hvcnRoYW5kLCB3ZWJraXRNYXNrUG9zaXRp
b25Mb25naGFuZHMsIChtYXNrUG9zaXRpb25Qcm9wZXJ0aWVzLCBXVEZfQVJSQVlfTEVOR1RIKG1h
c2tQb3NpdGlvblByb3BlcnRpZXMpKSk7Ci0gICAgcmV0dXJuIHdlYmtpdE1hc2tQb3NpdGlvbkxv
bmdoYW5kczsKLX0KLQotY29uc3QgU3R5bGVQcm9wZXJ0eVNob3J0aGFuZCYgd2Via2l0TWFza1Jl
cGVhdFNob3J0aGFuZCgpCi17Ci0gICAgc3RhdGljIGNvbnN0IENTU1Byb3BlcnR5SUQgbWFza1Jl
cGVhdFByb3BlcnRpZXNbXSA9IHsgQ1NTUHJvcGVydHlXZWJraXRNYXNrUmVwZWF0WCwgQ1NTUHJv
cGVydHlXZWJraXRNYXNrUmVwZWF0WSB9OwotICAgIERFRklORV9TVEFUSUNfTE9DQUwoU3R5bGVQ
cm9wZXJ0eVNob3J0aGFuZCwgd2Via2l0TWFza1JlcGVhdExvbmdoYW5kcywgKG1hc2tSZXBlYXRQ
cm9wZXJ0aWVzLCBXVEZfQVJSQVlfTEVOR1RIKG1hc2tSZXBlYXRQcm9wZXJ0aWVzKSkpOwotICAg
IHJldHVybiB3ZWJraXRNYXNrUmVwZWF0TG9uZ2hhbmRzOwotfQotCi1jb25zdCBTdHlsZVByb3Bl
cnR5U2hvcnRoYW5kJiB3ZWJraXRUZXh0RW1waGFzaXNTaG9ydGhhbmQoKQotewotICAgIHN0YXRp
YyBjb25zdCBDU1NQcm9wZXJ0eUlEIHRleHRFbXBoYXNpc1Byb3BlcnRpZXNbXSA9IHsKLSAgICAg
ICAgQ1NTUHJvcGVydHlXZWJraXRUZXh0RW1waGFzaXNTdHlsZSwKLSAgICAgICAgQ1NTUHJvcGVy
dHlXZWJraXRUZXh0RW1waGFzaXNDb2xvcgotICAgIH07Ci0gICAgREVGSU5FX1NUQVRJQ19MT0NB
TChTdHlsZVByb3BlcnR5U2hvcnRoYW5kLCB3ZWJraXRUZXh0RW1waGFzaXNMb25naGFuZHMsICh0
ZXh0RW1waGFzaXNQcm9wZXJ0aWVzLCBXVEZfQVJSQVlfTEVOR1RIKHRleHRFbXBoYXNpc1Byb3Bl
cnRpZXMpKSk7Ci0gICAgcmV0dXJuIHdlYmtpdFRleHRFbXBoYXNpc0xvbmdoYW5kczsKLX0KLQot
Y29uc3QgU3R5bGVQcm9wZXJ0eVNob3J0aGFuZCYgd2Via2l0VGV4dFN0cm9rZVNob3J0aGFuZCgp
Ci17Ci0gICAgc3RhdGljIGNvbnN0IENTU1Byb3BlcnR5SUQgdGV4dFN0cm9rZVByb3BlcnRpZXNb
XSA9IHsgQ1NTUHJvcGVydHlXZWJraXRUZXh0U3Ryb2tlV2lkdGgsIENTU1Byb3BlcnR5V2Via2l0
VGV4dFN0cm9rZUNvbG9yIH07Ci0gICAgREVGSU5FX1NUQVRJQ19MT0NBTChTdHlsZVByb3BlcnR5
U2hvcnRoYW5kLCB3ZWJraXRUZXh0U3Ryb2tlTG9uZ2hhbmRzLCAodGV4dFN0cm9rZVByb3BlcnRp
ZXMsIFdURl9BUlJBWV9MRU5HVEgodGV4dFN0cm9rZVByb3BlcnRpZXMpKSk7Ci0gICAgcmV0dXJu
IHdlYmtpdFRleHRTdHJva2VMb25naGFuZHM7Ci19Ci0KLWNvbnN0IFN0eWxlUHJvcGVydHlTaG9y
dGhhbmQmIHdlYmtpdFRyYW5zaXRpb25TaG9ydGhhbmQoKQotewotICAgIHN0YXRpYyBjb25zdCBD
U1NQcm9wZXJ0eUlEIHRyYW5zaXRpb25Qcm9wZXJ0aWVzW10gPSB7Ci0gICAgICAgIENTU1Byb3Bl
cnR5V2Via2l0VHJhbnNpdGlvblByb3BlcnR5LAotICAgICAgICBDU1NQcm9wZXJ0eVdlYmtpdFRy
YW5zaXRpb25EdXJhdGlvbiwKLSAgICAgICAgQ1NTUHJvcGVydHlXZWJraXRUcmFuc2l0aW9uVGlt
aW5nRnVuY3Rpb24sCi0gICAgICAgIENTU1Byb3BlcnR5V2Via2l0VHJhbnNpdGlvbkRlbGF5Ci0g
ICAgfTsKLSAgICBERUZJTkVfU1RBVElDX0xPQ0FMKFN0eWxlUHJvcGVydHlTaG9ydGhhbmQsIHdl
YmtpdFRyYW5zaXRpb25Mb25naGFuZHMsICh0cmFuc2l0aW9uUHJvcGVydGllcywgV1RGX0FSUkFZ
X0xFTkdUSCh0cmFuc2l0aW9uUHJvcGVydGllcykpKTsKLSAgICByZXR1cm4gd2Via2l0VHJhbnNp
dGlvbkxvbmdoYW5kczsKLX0KLQotY29uc3QgU3R5bGVQcm9wZXJ0eVNob3J0aGFuZCYgd2Via2l0
VHJhbnNmb3JtT3JpZ2luU2hvcnRoYW5kKCkKLXsKLSAgICBzdGF0aWMgY29uc3QgQ1NTUHJvcGVy
dHlJRCB0cmFuc2Zvcm1PcmlnaW5Qcm9wZXJ0aWVzW10gPSB7Ci0gICAgICAgIENTU1Byb3BlcnR5
V2Via2l0VHJhbnNmb3JtT3JpZ2luWCwKLSAgICAgICAgQ1NTUHJvcGVydHlXZWJraXRUcmFuc2Zv
cm1PcmlnaW5ZLAotICAgICAgICBDU1NQcm9wZXJ0eVdlYmtpdFRyYW5zZm9ybU9yaWdpbloKLSAg
ICB9OwotICAgIERFRklORV9TVEFUSUNfTE9DQUwoU3R5bGVQcm9wZXJ0eVNob3J0aGFuZCwgd2Vi
a2l0VHJhbnNmb3JtT3JpZ2luTG9uZ2hhbmRzLCAodHJhbnNmb3JtT3JpZ2luUHJvcGVydGllcywg
V1RGX0FSUkFZX0xFTkdUSCh0cmFuc2Zvcm1PcmlnaW5Qcm9wZXJ0aWVzKSkpOwotICAgIHJldHVy
biB3ZWJraXRUcmFuc2Zvcm1PcmlnaW5Mb25naGFuZHM7Ci19Ci0KLWNvbnN0IFN0eWxlUHJvcGVy
dHlTaG9ydGhhbmQmIHdlYmtpdFdyYXBTaG9ydGhhbmQoKQotewotICAgIHN0YXRpYyBjb25zdCBD
U1NQcm9wZXJ0eUlEIHdlYmtpdFdyYXBQcm9wZXJ0aWVzW10gPSB7Ci0gICAgICAgIENTU1Byb3Bl
cnR5V2Via2l0V3JhcEZsb3csCi0gICAgICAgIENTU1Byb3BlcnR5V2Via2l0V3JhcE1hcmdpbiwK
LSAgICAgICAgQ1NTUHJvcGVydHlXZWJraXRXcmFwUGFkZGluZwotICAgIH07Ci0gICAgREVGSU5F
X1NUQVRJQ19MT0NBTChTdHlsZVByb3BlcnR5U2hvcnRoYW5kLCB3ZWJraXRXcmFwTG9uZ2hhbmRz
LCAod2Via2l0V3JhcFByb3BlcnRpZXMsIFdURl9BUlJBWV9MRU5HVEgod2Via2l0V3JhcFByb3Bl
cnRpZXMpKSk7Ci0gICAgcmV0dXJuIHdlYmtpdFdyYXBMb25naGFuZHM7Ci19Ci0KLS8vIFJldHVy
bnMgYW4gZW1wdHkgbGlzdCBpZiB0aGUgcHJvcGVydHkgaXMgbm90IGEgc2hvcnRoYW5kCi1jb25z
dCBTdHlsZVByb3BlcnR5U2hvcnRoYW5kJiBzaG9ydGhhbmRGb3JQcm9wZXJ0eShpbnQgcHJvcGVy
dHlJRCkKLXsKLSAgICBzd2l0Y2ggKHByb3BlcnR5SUQpIHsKLSAgICBjYXNlIENTU1Byb3BlcnR5
QmFja2dyb3VuZDoKLSAgICAgICAgcmV0dXJuIGJhY2tncm91bmRTaG9ydGhhbmQoKTsKLSAgICBj
YXNlIENTU1Byb3BlcnR5QmFja2dyb3VuZFBvc2l0aW9uOgotICAgICAgICByZXR1cm4gYmFja2dy
b3VuZFBvc2l0aW9uU2hvcnRoYW5kKCk7Ci0gICAgY2FzZSBDU1NQcm9wZXJ0eUJhY2tncm91bmRS
ZXBlYXQ6Ci0gICAgICAgIHJldHVybiBiYWNrZ3JvdW5kUmVwZWF0U2hvcnRoYW5kKCk7Ci0gICAg
Y2FzZSBDU1NQcm9wZXJ0eUJvcmRlcjoKLSAgICAgICAgcmV0dXJuIGJvcmRlclNob3J0aGFuZCgp
OwotICAgIGNhc2UgQ1NTUHJvcGVydHlCb3JkZXJCb3R0b206Ci0gICAgICAgIHJldHVybiBib3Jk
ZXJCb3R0b21TaG9ydGhhbmQoKTsKLSAgICBjYXNlIENTU1Byb3BlcnR5Qm9yZGVyQ29sb3I6Ci0g
ICAgICAgIHJldHVybiBib3JkZXJDb2xvclNob3J0aGFuZCgpOwotICAgIGNhc2UgQ1NTUHJvcGVy
dHlCb3JkZXJJbWFnZToKLSAgICAgICAgcmV0dXJuIGJvcmRlckltYWdlU2hvcnRoYW5kKCk7Ci0g
ICAgY2FzZSBDU1NQcm9wZXJ0eUJvcmRlckxlZnQ6Ci0gICAgICAgIHJldHVybiBib3JkZXJMZWZ0
U2hvcnRoYW5kKCk7Ci0gICAgY2FzZSBDU1NQcm9wZXJ0eUJvcmRlclJhZGl1czoKLSAgICAgICAg
cmV0dXJuIGJvcmRlclJhZGl1c1Nob3J0aGFuZCgpOwotICAgIGNhc2UgQ1NTUHJvcGVydHlCb3Jk
ZXJSaWdodDoKLSAgICAgICAgcmV0dXJuIGJvcmRlclJpZ2h0U2hvcnRoYW5kKCk7Ci0gICAgY2Fz
ZSBDU1NQcm9wZXJ0eUJvcmRlclNwYWNpbmc6Ci0gICAgICAgIHJldHVybiBib3JkZXJTcGFjaW5n
U2hvcnRoYW5kKCk7Ci0gICAgY2FzZSBDU1NQcm9wZXJ0eUJvcmRlclN0eWxlOgotICAgICAgICBy
ZXR1cm4gYm9yZGVyU3R5bGVTaG9ydGhhbmQoKTsKLSAgICBjYXNlIENTU1Byb3BlcnR5Qm9yZGVy
VG9wOgotICAgICAgICByZXR1cm4gYm9yZGVyVG9wU2hvcnRoYW5kKCk7Ci0gICAgY2FzZSBDU1NQ
cm9wZXJ0eUJvcmRlcldpZHRoOgotICAgICAgICByZXR1cm4gYm9yZGVyV2lkdGhTaG9ydGhhbmQo
KTsKLSAgICBjYXNlIENTU1Byb3BlcnR5TGlzdFN0eWxlOgotICAgICAgICByZXR1cm4gbGlzdFN0
eWxlU2hvcnRoYW5kKCk7Ci0gICAgY2FzZSBDU1NQcm9wZXJ0eUZvbnQ6Ci0gICAgICAgIHJldHVy
biBmb250U2hvcnRoYW5kKCk7Ci0gICAgY2FzZSBDU1NQcm9wZXJ0eU1hcmdpbjoKLSAgICAgICAg
cmV0dXJuIG1hcmdpblNob3J0aGFuZCgpOwotICAgIGNhc2UgQ1NTUHJvcGVydHlPdXRsaW5lOgot
ICAgICAgICByZXR1cm4gb3V0bGluZVNob3J0aGFuZCgpOwotICAgIGNhc2UgQ1NTUHJvcGVydHlP
dmVyZmxvdzoKLSAgICAgICAgcmV0dXJuIG92ZXJmbG93U2hvcnRoYW5kKCk7Ci0gICAgY2FzZSBD
U1NQcm9wZXJ0eVBhZGRpbmc6Ci0gICAgICAgIHJldHVybiBwYWRkaW5nU2hvcnRoYW5kKCk7Ci0g
ICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdEFuaW1hdGlvbjoKLSAgICAgICAgcmV0dXJuIHdlYmtp
dEFuaW1hdGlvblNob3J0aGFuZCgpOwotICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRCb3JkZXJB
ZnRlcjoKLSAgICAgICAgcmV0dXJuIHdlYmtpdEJvcmRlckFmdGVyU2hvcnRoYW5kKCk7Ci0gICAg
Y2FzZSBDU1NQcm9wZXJ0eVdlYmtpdEJvcmRlckJlZm9yZToKLSAgICAgICAgcmV0dXJuIHdlYmtp
dEJvcmRlckJlZm9yZVNob3J0aGFuZCgpOwotICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRCb3Jk
ZXJFbmQ6Ci0gICAgICAgIHJldHVybiB3ZWJraXRCb3JkZXJFbmRTaG9ydGhhbmQoKTsKLSAgICBj
YXNlIENTU1Byb3BlcnR5V2Via2l0Qm9yZGVyU3RhcnQ6Ci0gICAgICAgIHJldHVybiB3ZWJraXRC
b3JkZXJTdGFydFNob3J0aGFuZCgpOwotICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRCb3JkZXJS
YWRpdXM6Ci0gICAgICAgIHJldHVybiBib3JkZXJSYWRpdXNTaG9ydGhhbmQoKTsKLSAgICBjYXNl
IENTU1Byb3BlcnR5V2Via2l0Q29sdW1uczoKLSAgICAgICAgcmV0dXJuIHdlYmtpdENvbHVtbnNT
aG9ydGhhbmQoKTsKLSAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0Q29sdW1uUnVsZToKLSAgICAg
ICAgcmV0dXJuIHdlYmtpdENvbHVtblJ1bGVTaG9ydGhhbmQoKTsKLSAgICBjYXNlIENTU1Byb3Bl
cnR5V2Via2l0RmxleEZsb3c6Ci0gICAgICAgIHJldHVybiB3ZWJraXRGbGV4Rmxvd1Nob3J0aGFu
ZCgpOwotICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRNYXJnaW5Db2xsYXBzZToKLSAgICAgICAg
cmV0dXJuIHdlYmtpdE1hcmdpbkNvbGxhcHNlU2hvcnRoYW5kKCk7Ci0gICAgY2FzZSBDU1NQcm9w
ZXJ0eVdlYmtpdE1hcnF1ZWU6Ci0gICAgICAgIHJldHVybiB3ZWJraXRNYXJxdWVlU2hvcnRoYW5k
KCk7Ci0gICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdE1hc2s6Ci0gICAgICAgIHJldHVybiB3ZWJr
aXRNYXNrU2hvcnRoYW5kKCk7Ci0gICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdE1hc2tQb3NpdGlv
bjoKLSAgICAgICAgcmV0dXJuIHdlYmtpdE1hc2tQb3NpdGlvblNob3J0aGFuZCgpOwotICAgIGNh
c2UgQ1NTUHJvcGVydHlXZWJraXRNYXNrUmVwZWF0OgotICAgICAgICByZXR1cm4gd2Via2l0TWFz
a1JlcGVhdFNob3J0aGFuZCgpOwotICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRUZXh0RW1waGFz
aXM6Ci0gICAgICAgIHJldHVybiB3ZWJraXRUZXh0RW1waGFzaXNTaG9ydGhhbmQoKTsKLSAgICBj
YXNlIENTU1Byb3BlcnR5V2Via2l0VGV4dFN0cm9rZToKLSAgICAgICAgcmV0dXJuIHdlYmtpdFRl
eHRTdHJva2VTaG9ydGhhbmQoKTsKLSAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0VHJhbnNpdGlv
bjoKLSAgICAgICAgcmV0dXJuIHdlYmtpdFRyYW5zaXRpb25TaG9ydGhhbmQoKTsKLSAgICBjYXNl
IENTU1Byb3BlcnR5V2Via2l0VHJhbnNmb3JtT3JpZ2luOgotICAgICAgICByZXR1cm4gd2Via2l0
VHJhbnNmb3JtT3JpZ2luU2hvcnRoYW5kKCk7Ci0gICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdFdy
YXA6Ci0gICAgICAgIHJldHVybiB3ZWJraXRXcmFwU2hvcnRoYW5kKCk7Ci0gICAgZGVmYXVsdDog
ewotICAgICAgICBERUZJTkVfU1RBVElDX0xPQ0FMKFN0eWxlUHJvcGVydHlTaG9ydGhhbmQsIGVt
cHR5U2hvcnRoYW5kLCAoKSk7Ci0gICAgICAgIHJldHVybiBlbXB0eVNob3J0aGFuZDsKLSAgICB9
Ci0gICAgfQotfQotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTUHJvcGVydHlMb25naGFuZC5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NT
U1Byb3BlcnR5TG9uZ2hhbmQuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNjgzYzZl
YzcxZThkYWI0MDQzODIwODdhMjc5MTliNmFiMGNhMWM2MC4uMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHlM
b25naGFuZC5oCisrKyAvZGV2L251bGwKQEAgLTEsMTA2ICswLDAgQEAKLS8qCi0gKiAoQykgMTk5
OS0yMDAzIExhcnMgS25vbGwgKGtub2xsQGtkZS5vcmcpCi0gKiBDb3B5cmlnaHQgKEMpIDIwMDQs
IDIwMDUsIDIwMDYsIDIwMDggQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAq
IFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBh
bmQvb3IKLSAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdl
bmVyYWwgUHVibGljCi0gKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2Fy
ZSBGb3VuZGF0aW9uOyBlaXRoZXIKLSAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0
IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSAqCi0gKiBUaGlzIGxpYnJhcnkgaXMg
ZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAqIGJ1dCBX
SVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9m
Ci0gKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Uu
ICBTZWUgdGhlIEdOVQotICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3Jl
IGRldGFpbHMuCi0gKgotICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUg
R05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotICogYWxvbmcgd2l0aCB0aGlzIGxp
YnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KLSAqIHRo
ZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlm
dGggRmxvb3IsCi0gKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KLSAqLwotCi0jaWZuZGVm
IENTU1Byb3BlcnR5TG9uZ2hhbmRfaAotI2RlZmluZSBDU1NQcm9wZXJ0eUxvbmdoYW5kX2gKLQot
I2luY2x1ZGUgIkNTU1Byb3BlcnR5TmFtZXMuaCIKLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1j
bGFzcyBTdHlsZVByb3BlcnR5U2hvcnRoYW5kIHsKLXB1YmxpYzoKLSAgICBTdHlsZVByb3BlcnR5
U2hvcnRoYW5kKCkKLSAgICAgICAgOiBtX3Byb3BlcnRpZXMoMCkKLSAgICAgICAgLCBtX3Byb3Bl
cnRpZXNGb3JJbml0aWFsaXphdGlvbigwKQotICAgICAgICAsIG1fbGVuZ3RoKDApCi0gICAgewot
ICAgIH0KLQotICAgIFN0eWxlUHJvcGVydHlTaG9ydGhhbmQoY29uc3QgQ1NTUHJvcGVydHlJRCog
cHJvcGVydGllcywgdW5zaWduZWQgbnVtUHJvcGVydGllcykKLSAgICAgICAgOiBtX3Byb3BlcnRp
ZXMocHJvcGVydGllcykKLSAgICAgICAgLCBtX3Byb3BlcnRpZXNGb3JJbml0aWFsaXphdGlvbigw
KQotICAgICAgICAsIG1fbGVuZ3RoKG51bVByb3BlcnRpZXMpCi0gICAgewotICAgIH0KLQotICAg
IFN0eWxlUHJvcGVydHlTaG9ydGhhbmQoY29uc3QgQ1NTUHJvcGVydHlJRCogcHJvcGVydGllcywg
Y29uc3QgU3R5bGVQcm9wZXJ0eVNob3J0aGFuZCoqIHByb3BlcnRpZXNGb3JJbml0aWFsaXphdGlv
biwgdW5zaWduZWQgbnVtUHJvcGVydGllcykKLSAgICAgICAgOiBtX3Byb3BlcnRpZXMocHJvcGVy
dGllcykKLSAgICAgICAgLCBtX3Byb3BlcnRpZXNGb3JJbml0aWFsaXphdGlvbihwcm9wZXJ0aWVz
Rm9ySW5pdGlhbGl6YXRpb24pCi0gICAgICAgICwgbV9sZW5ndGgobnVtUHJvcGVydGllcykKLSAg
ICB7Ci0gICAgfQotCi0gICAgY29uc3QgQ1NTUHJvcGVydHlJRCogcHJvcGVydGllcygpIGNvbnN0
IHsgcmV0dXJuIG1fcHJvcGVydGllczsgfQotICAgIGNvbnN0IFN0eWxlUHJvcGVydHlTaG9ydGhh
bmQqKiBwcm9wZXJ0aWVzRm9ySW5pdGlhbGl6YXRpb24oKSBjb25zdCB7IHJldHVybiBtX3Byb3Bl
cnRpZXNGb3JJbml0aWFsaXphdGlvbjsgfQotICAgIHVuc2lnbmVkIGxlbmd0aCgpIGNvbnN0IHsg
cmV0dXJuIG1fbGVuZ3RoOyB9Ci0KLXByaXZhdGU6Ci0gICAgY29uc3QgQ1NTUHJvcGVydHlJRCog
bV9wcm9wZXJ0aWVzOwotICAgIGNvbnN0IFN0eWxlUHJvcGVydHlTaG9ydGhhbmQqKiBtX3Byb3Bl
cnRpZXNGb3JJbml0aWFsaXphdGlvbjsKLSAgICB1bnNpZ25lZCBtX2xlbmd0aDsKLX07Ci0KLWNv
bnN0IFN0eWxlUHJvcGVydHlTaG9ydGhhbmQmIGJhY2tncm91bmRTaG9ydGhhbmQoKTsKLWNvbnN0
IFN0eWxlUHJvcGVydHlTaG9ydGhhbmQmIGJhY2tncm91bmRQb3NpdGlvblNob3J0aGFuZCgpOwot
Y29uc3QgU3R5bGVQcm9wZXJ0eVNob3J0aGFuZCYgYmFja2dyb3VuZFJlcGVhdFNob3J0aGFuZCgp
OwotY29uc3QgU3R5bGVQcm9wZXJ0eVNob3J0aGFuZCYgYm9yZGVyU2hvcnRoYW5kKCk7Ci1jb25z
dCBTdHlsZVByb3BlcnR5U2hvcnRoYW5kJiBib3JkZXJBYnJpZGdlZFNob3J0aGFuZCgpOwotY29u
c3QgU3R5bGVQcm9wZXJ0eVNob3J0aGFuZCYgYm9yZGVyQm90dG9tU2hvcnRoYW5kKCk7Ci1jb25z
dCBTdHlsZVByb3BlcnR5U2hvcnRoYW5kJiBib3JkZXJDb2xvclNob3J0aGFuZCgpOwotY29uc3Qg
U3R5bGVQcm9wZXJ0eVNob3J0aGFuZCYgYm9yZGVySW1hZ2VTaG9ydGhhbmQoKTsKLWNvbnN0IFN0
eWxlUHJvcGVydHlTaG9ydGhhbmQmIGJvcmRlckxlZnRTaG9ydGhhbmQoKTsKLWNvbnN0IFN0eWxl
UHJvcGVydHlTaG9ydGhhbmQmIGJvcmRlclJhZGl1c1Nob3J0aGFuZCgpOwotY29uc3QgU3R5bGVQ
cm9wZXJ0eVNob3J0aGFuZCYgYm9yZGVyUmlnaHRTaG9ydGhhbmQoKTsKLWNvbnN0IFN0eWxlUHJv
cGVydHlTaG9ydGhhbmQmIGJvcmRlclNwYWNpbmdTaG9ydGhhbmQoKTsKLWNvbnN0IFN0eWxlUHJv
cGVydHlTaG9ydGhhbmQmIGJvcmRlclN0eWxlU2hvcnRoYW5kKCk7Ci1jb25zdCBTdHlsZVByb3Bl
cnR5U2hvcnRoYW5kJiBib3JkZXJUb3BTaG9ydGhhbmQoKTsKLWNvbnN0IFN0eWxlUHJvcGVydHlT
aG9ydGhhbmQmIGJvcmRlcldpZHRoU2hvcnRoYW5kKCk7Ci1jb25zdCBTdHlsZVByb3BlcnR5U2hv
cnRoYW5kJiBsaXN0U3R5bGVTaG9ydGhhbmQoKTsKLWNvbnN0IFN0eWxlUHJvcGVydHlTaG9ydGhh
bmQmIGZvbnRTaG9ydGhhbmQoKTsKLWNvbnN0IFN0eWxlUHJvcGVydHlTaG9ydGhhbmQmIG1hcmdp
blNob3J0aGFuZCgpOwotY29uc3QgU3R5bGVQcm9wZXJ0eVNob3J0aGFuZCYgb3V0bGluZVNob3J0
aGFuZCgpOwotY29uc3QgU3R5bGVQcm9wZXJ0eVNob3J0aGFuZCYgb3ZlcmZsb3dTaG9ydGhhbmQo
KTsKLWNvbnN0IFN0eWxlUHJvcGVydHlTaG9ydGhhbmQmIHBhZGRpbmdTaG9ydGhhbmQoKTsKLWNv
bnN0IFN0eWxlUHJvcGVydHlTaG9ydGhhbmQmIHdlYmtpdEFuaW1hdGlvblNob3J0aGFuZCgpOwot
Y29uc3QgU3R5bGVQcm9wZXJ0eVNob3J0aGFuZCYgd2Via2l0Qm9yZGVyQWZ0ZXJTaG9ydGhhbmQo
KTsKLWNvbnN0IFN0eWxlUHJvcGVydHlTaG9ydGhhbmQmIHdlYmtpdEJvcmRlckJlZm9yZVNob3J0
aGFuZCgpOwotY29uc3QgU3R5bGVQcm9wZXJ0eVNob3J0aGFuZCYgd2Via2l0Qm9yZGVyRW5kU2hv
cnRoYW5kKCk7Ci1jb25zdCBTdHlsZVByb3BlcnR5U2hvcnRoYW5kJiB3ZWJraXRCb3JkZXJTdGFy
dFNob3J0aGFuZCgpOwotY29uc3QgU3R5bGVQcm9wZXJ0eVNob3J0aGFuZCYgd2Via2l0Q29sdW1u
c1Nob3J0aGFuZCgpOwotY29uc3QgU3R5bGVQcm9wZXJ0eVNob3J0aGFuZCYgd2Via2l0Q29sdW1u
UnVsZVNob3J0aGFuZCgpOwotY29uc3QgU3R5bGVQcm9wZXJ0eVNob3J0aGFuZCYgd2Via2l0Rmxl
eEZsb3dTaG9ydGhhbmQoKTsKLWNvbnN0IFN0eWxlUHJvcGVydHlTaG9ydGhhbmQmIHdlYmtpdE1h
cmdpbkNvbGxhcHNlU2hvcnRoYW5kKCk7Ci1jb25zdCBTdHlsZVByb3BlcnR5U2hvcnRoYW5kJiB3
ZWJraXRNYXJxdWVlU2hvcnRoYW5kKCk7Ci1jb25zdCBTdHlsZVByb3BlcnR5U2hvcnRoYW5kJiB3
ZWJraXRNYXNrU2hvcnRoYW5kKCk7Ci1jb25zdCBTdHlsZVByb3BlcnR5U2hvcnRoYW5kJiB3ZWJr
aXRNYXNrUG9zaXRpb25TaG9ydGhhbmQoKTsKLWNvbnN0IFN0eWxlUHJvcGVydHlTaG9ydGhhbmQm
IHdlYmtpdE1hc2tSZXBlYXRTaG9ydGhhbmQoKTsKLWNvbnN0IFN0eWxlUHJvcGVydHlTaG9ydGhh
bmQmIHdlYmtpdFRleHRFbXBoYXNpc1Nob3J0aGFuZCgpOwotY29uc3QgU3R5bGVQcm9wZXJ0eVNo
b3J0aGFuZCYgd2Via2l0VGV4dFN0cm9rZVNob3J0aGFuZCgpOwotY29uc3QgU3R5bGVQcm9wZXJ0
eVNob3J0aGFuZCYgd2Via2l0VHJhbnNpdGlvblNob3J0aGFuZCgpOwotY29uc3QgU3R5bGVQcm9w
ZXJ0eVNob3J0aGFuZCYgd2Via2l0VHJhbnNmb3JtT3JpZ2luU2hvcnRoYW5kKCk7Ci1jb25zdCBT
dHlsZVByb3BlcnR5U2hvcnRoYW5kJiB3ZWJraXRXcmFwU2hvcnRoYW5kKCk7Ci0KLS8vIFJldHVy
bnMgYW4gZW1wdHkgbGlzdCBpZiB0aGUgcHJvcGVydHkgaXMgbm90IGEgc2hvcnRoYW5kCi1jb25z
dCBTdHlsZVByb3BlcnR5U2hvcnRoYW5kJiBzaG9ydGhhbmRGb3JQcm9wZXJ0eShpbnQpOwotCi19
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCi0KLSNlbmRpZiAvLyBDU1NQcm9wZXJ0eUxvbmdoYW5kX2gK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVByb3BlcnR5U2V0LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVByb3BlcnR5U2V0LmNwcAppbmRleCA4NzM0OThkZWM0NjM4
OWU2ZTM1NTY5YTdhMmI2OWExMWRmNDdlYzMzLi5kN2ZmM2I4ZjNkZDdlMGU1YjgxNzE0ZDE4NzUw
Mjk4NWNkYWJmZjAwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVQcm9wZXJ0
eVNldC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUHJvcGVydHlTZXQuY3BwCkBA
IC0yMywxMiArMjMsMTIgQEAKICNpbmNsdWRlICJTdHlsZVByb3BlcnR5U2V0LmgiCiAKICNpbmNs
dWRlICJDU1NQYXJzZXIuaCIKLSNpbmNsdWRlICJDU1NQcm9wZXJ0eUxvbmdoYW5kLmgiCiAjaW5j
bHVkZSAiQ1NTVmFsdWVLZXl3b3Jkcy5oIgogI2luY2x1ZGUgIkNTU1ZhbHVlTGlzdC5oIgogI2lu
Y2x1ZGUgIkNTU1ZhbHVlUG9vbC5oIgogI2luY2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAi
UHJvcGVydHlTZXRDU1NTdHlsZURlY2xhcmF0aW9uLmgiCisjaW5jbHVkZSAiU3R5bGVQcm9wZXJ0
eVNob3J0aGFuZC5oIgogI2luY2x1ZGUgPHd0Zi9CaXRWZWN0b3IuaD4KICNpbmNsdWRlIDx3dGYv
dGV4dC9TdHJpbmdCdWlsZGVyLmg+CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9T
dHlsZVByb3BlcnR5U2hvcnRoYW5kLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVByb3Bl
cnR5U2hvcnRoYW5kLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iNGRlMTE3MjEyYjcxNzcyZDIxMWM2Zjk3Y2Fm
NzIxYjk5NGFhYTcyCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxl
UHJvcGVydHlTaG9ydGhhbmQuY3BwCkBAIC0wLDAgKzEsNTA3IEBACisvKgorICogKEMpIDE5OTkt
MjAwMyBMYXJzIEtub2xsIChrbm9sbEBrZGUub3JnKQorICogQ29weXJpZ2h0IChDKSAyMDA0LCAy
MDA1LCAyMDA2LCAyMDA3LCAyMDA4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
CisgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUg
aXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFy
eSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29m
dHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9y
IChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5
IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBi
dXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50
eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQ
T1NFLiAgU2VlIHRoZSBHTlUKKyAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3Ig
bW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2Yg
dGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhp
cyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisg
KiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQs
IEZpZnRoIEZsb29yLAorICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisgKi8KKworI2lu
Y2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIlN0eWxlUHJvcGVydHlTaG9ydGhhbmQuaCIKKwor
I2luY2x1ZGUgPHd0Zi9TdGRMaWJFeHRyYXMuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCisv
LyBGSVhNRTogQWRkIENTU1Byb3BlcnR5QmFja2dyb3VuZFNpemUgdG8gdGhlIHNob3J0aGFuZC4K
K2NvbnN0IFN0eWxlUHJvcGVydHlTaG9ydGhhbmQmIGJhY2tncm91bmRTaG9ydGhhbmQoKQorewor
ICAgIHN0YXRpYyBjb25zdCBDU1NQcm9wZXJ0eUlEIGJhY2tncm91bmRQcm9wZXJ0aWVzW10gPSB7
CisgICAgICAgIENTU1Byb3BlcnR5QmFja2dyb3VuZENvbG9yLAorICAgICAgICBDU1NQcm9wZXJ0
eUJhY2tncm91bmRJbWFnZSwKKyAgICAgICAgQ1NTUHJvcGVydHlCYWNrZ3JvdW5kUmVwZWF0WCwK
KyAgICAgICAgQ1NTUHJvcGVydHlCYWNrZ3JvdW5kUmVwZWF0WSwKKyAgICAgICAgQ1NTUHJvcGVy
dHlCYWNrZ3JvdW5kQXR0YWNobWVudCwKKyAgICAgICAgQ1NTUHJvcGVydHlCYWNrZ3JvdW5kUG9z
aXRpb25YLAorICAgICAgICBDU1NQcm9wZXJ0eUJhY2tncm91bmRQb3NpdGlvblksCisgICAgICAg
IENTU1Byb3BlcnR5QmFja2dyb3VuZENsaXAsCisgICAgICAgIENTU1Byb3BlcnR5QmFja2dyb3Vu
ZE9yaWdpbgorICAgIH07CisgICAgREVGSU5FX1NUQVRJQ19MT0NBTChTdHlsZVByb3BlcnR5U2hv
cnRoYW5kLCBiYWNrZ3JvdW5kU2hvcnRoYW5kLCAoYmFja2dyb3VuZFByb3BlcnRpZXMsIFdURl9B
UlJBWV9MRU5HVEgoYmFja2dyb3VuZFByb3BlcnRpZXMpKSk7CisgICAgcmV0dXJuIGJhY2tncm91
bmRTaG9ydGhhbmQ7Cit9CisKK2NvbnN0IFN0eWxlUHJvcGVydHlTaG9ydGhhbmQmIGJhY2tncm91
bmRQb3NpdGlvblNob3J0aGFuZCgpCit7CisgICAgc3RhdGljIGNvbnN0IENTU1Byb3BlcnR5SUQg
YmFja2dyb3VuZFBvc2l0aW9uUHJvcGVydGllc1tdID0geyBDU1NQcm9wZXJ0eUJhY2tncm91bmRQ
b3NpdGlvblgsIENTU1Byb3BlcnR5QmFja2dyb3VuZFBvc2l0aW9uWSB9OworICAgIERFRklORV9T
VEFUSUNfTE9DQUwoU3R5bGVQcm9wZXJ0eVNob3J0aGFuZCwgYmFja2dyb3VuZFBvc2l0aW9uTG9u
Z2hhbmRzLCAoYmFja2dyb3VuZFBvc2l0aW9uUHJvcGVydGllcywgV1RGX0FSUkFZX0xFTkdUSChi
YWNrZ3JvdW5kUG9zaXRpb25Qcm9wZXJ0aWVzKSkpOworICAgIHJldHVybiBiYWNrZ3JvdW5kUG9z
aXRpb25Mb25naGFuZHM7Cit9CisKK2NvbnN0IFN0eWxlUHJvcGVydHlTaG9ydGhhbmQmIGJhY2tn
cm91bmRSZXBlYXRTaG9ydGhhbmQoKQoreworICAgIHN0YXRpYyBjb25zdCBDU1NQcm9wZXJ0eUlE
IGJhY2tncm91bmRSZXBlYXRQcm9wZXJ0aWVzW10gPSB7IENTU1Byb3BlcnR5QmFja2dyb3VuZFJl
cGVhdFgsIENTU1Byb3BlcnR5QmFja2dyb3VuZFJlcGVhdFkgfTsKKyAgICBERUZJTkVfU1RBVElD
X0xPQ0FMKFN0eWxlUHJvcGVydHlTaG9ydGhhbmQsIGJhY2tncm91bmRSZXBlYXRMb25naGFuZHMs
IChiYWNrZ3JvdW5kUmVwZWF0UHJvcGVydGllcywgV1RGX0FSUkFZX0xFTkdUSChiYWNrZ3JvdW5k
UmVwZWF0UHJvcGVydGllcykpKTsKKyAgICByZXR1cm4gYmFja2dyb3VuZFJlcGVhdExvbmdoYW5k
czsKK30KKworY29uc3QgU3R5bGVQcm9wZXJ0eVNob3J0aGFuZCYgYm9yZGVyU2hvcnRoYW5kKCkK
K3sKKyAgICAvLyBEbyBub3QgY2hhbmdlIHRoZSBvcmRlciBvZiB0aGUgZm9sbG93aW5nIGZvdXIg
c2hvcnRoYW5kcywgYW5kIGtlZXAgdGhlbSB0b2dldGhlci4KKyAgICBzdGF0aWMgY29uc3QgQ1NT
UHJvcGVydHlJRCBib3JkZXJQcm9wZXJ0aWVzWzRdWzNdID0geworICAgICAgICB7IENTU1Byb3Bl
cnR5Qm9yZGVyVG9wQ29sb3IsIENTU1Byb3BlcnR5Qm9yZGVyVG9wU3R5bGUsIENTU1Byb3BlcnR5
Qm9yZGVyVG9wV2lkdGggfSwKKyAgICAgICAgeyBDU1NQcm9wZXJ0eUJvcmRlclJpZ2h0Q29sb3Is
IENTU1Byb3BlcnR5Qm9yZGVyUmlnaHRTdHlsZSwgQ1NTUHJvcGVydHlCb3JkZXJSaWdodFdpZHRo
IH0sCisgICAgICAgIHsgQ1NTUHJvcGVydHlCb3JkZXJCb3R0b21Db2xvciwgQ1NTUHJvcGVydHlC
b3JkZXJCb3R0b21TdHlsZSwgQ1NTUHJvcGVydHlCb3JkZXJCb3R0b21XaWR0aCB9LAorICAgICAg
ICB7IENTU1Byb3BlcnR5Qm9yZGVyTGVmdENvbG9yLCBDU1NQcm9wZXJ0eUJvcmRlckxlZnRTdHls
ZSwgQ1NTUHJvcGVydHlCb3JkZXJMZWZ0V2lkdGggfQorICAgIH07CisgICAgREVGSU5FX1NUQVRJ
Q19MT0NBTChTdHlsZVByb3BlcnR5U2hvcnRoYW5kLCBib3JkZXJMb25naGFuZHMsIChib3JkZXJQ
cm9wZXJ0aWVzWzBdLCBzaXplb2YoYm9yZGVyUHJvcGVydGllcykgLyBzaXplb2YoYm9yZGVyUHJv
cGVydGllc1swXVswXSkpKTsKKyAgICByZXR1cm4gYm9yZGVyTG9uZ2hhbmRzOworfQorCitjb25z
dCBTdHlsZVByb3BlcnR5U2hvcnRoYW5kJiBib3JkZXJBYnJpZGdlZFNob3J0aGFuZCgpCit7Cisg
ICAgc3RhdGljIGNvbnN0IENTU1Byb3BlcnR5SUQgYm9yZGVyQWJyaWRnZWRQcm9wZXJ0aWVzW10g
PSB7IENTU1Byb3BlcnR5Qm9yZGVyV2lkdGgsIENTU1Byb3BlcnR5Qm9yZGVyU3R5bGUsIENTU1By
b3BlcnR5Qm9yZGVyQ29sb3IgfTsKKyAgICBzdGF0aWMgY29uc3QgU3R5bGVQcm9wZXJ0eVNob3J0
aGFuZCogcHJvcGVydGllc0ZvckluaXRpYWxpemF0aW9uW10gPSB7CisgICAgICAgICZib3JkZXJX
aWR0aFNob3J0aGFuZCgpLAorICAgICAgICAmYm9yZGVyU3R5bGVTaG9ydGhhbmQoKSwKKyAgICAg
ICAgJmJvcmRlckNvbG9yU2hvcnRoYW5kKCksCisgICAgfTsKKyAgICBERUZJTkVfU1RBVElDX0xP
Q0FMKFN0eWxlUHJvcGVydHlTaG9ydGhhbmQsIGJvcmRlckFicmlkZ2VkTG9uZ2hhbmRzLAorICAg
ICAgICAoYm9yZGVyQWJyaWRnZWRQcm9wZXJ0aWVzLCBwcm9wZXJ0aWVzRm9ySW5pdGlhbGl6YXRp
b24sIFdURl9BUlJBWV9MRU5HVEgoYm9yZGVyQWJyaWRnZWRQcm9wZXJ0aWVzKSkpOworICAgIHJl
dHVybiBib3JkZXJBYnJpZGdlZExvbmdoYW5kczsKK30KKworY29uc3QgU3R5bGVQcm9wZXJ0eVNo
b3J0aGFuZCYgYm9yZGVyQm90dG9tU2hvcnRoYW5kKCkKK3sKKyAgICBzdGF0aWMgY29uc3QgQ1NT
UHJvcGVydHlJRCBib3JkZXJCb3R0b21Qcm9wZXJ0aWVzW10gPSB7IENTU1Byb3BlcnR5Qm9yZGVy
Qm90dG9tV2lkdGgsIENTU1Byb3BlcnR5Qm9yZGVyQm90dG9tU3R5bGUsIENTU1Byb3BlcnR5Qm9y
ZGVyQm90dG9tQ29sb3IgfTsKKyAgICBERUZJTkVfU1RBVElDX0xPQ0FMKFN0eWxlUHJvcGVydHlT
aG9ydGhhbmQsIGJvcmRlckJvdHRvbUxvbmdoYW5kcywgKGJvcmRlckJvdHRvbVByb3BlcnRpZXMs
IFdURl9BUlJBWV9MRU5HVEgoYm9yZGVyQm90dG9tUHJvcGVydGllcykpKTsKKyAgICByZXR1cm4g
Ym9yZGVyQm90dG9tTG9uZ2hhbmRzOworfQorCitjb25zdCBTdHlsZVByb3BlcnR5U2hvcnRoYW5k
JiBib3JkZXJDb2xvclNob3J0aGFuZCgpCit7CisgICAgc3RhdGljIGNvbnN0IENTU1Byb3BlcnR5
SUQgYm9yZGVyQ29sb3JQcm9wZXJ0aWVzW10gPSB7CisgICAgICAgIENTU1Byb3BlcnR5Qm9yZGVy
VG9wQ29sb3IsCisgICAgICAgIENTU1Byb3BlcnR5Qm9yZGVyUmlnaHRDb2xvciwKKyAgICAgICAg
Q1NTUHJvcGVydHlCb3JkZXJCb3R0b21Db2xvciwKKyAgICAgICAgQ1NTUHJvcGVydHlCb3JkZXJM
ZWZ0Q29sb3IKKyAgICB9OworICAgIERFRklORV9TVEFUSUNfTE9DQUwoU3R5bGVQcm9wZXJ0eVNo
b3J0aGFuZCwgYm9yZGVyQ29sb3JMb25naGFuZHMsIChib3JkZXJDb2xvclByb3BlcnRpZXMsIFdU
Rl9BUlJBWV9MRU5HVEgoYm9yZGVyQ29sb3JQcm9wZXJ0aWVzKSkpOworICAgIHJldHVybiBib3Jk
ZXJDb2xvckxvbmdoYW5kczsKK30KKworY29uc3QgU3R5bGVQcm9wZXJ0eVNob3J0aGFuZCYgYm9y
ZGVySW1hZ2VTaG9ydGhhbmQoKQoreworICAgIHN0YXRpYyBjb25zdCBDU1NQcm9wZXJ0eUlEIGJv
cmRlckltYWdlUHJvcGVydGllc1tdID0geworICAgICAgICBDU1NQcm9wZXJ0eUJvcmRlckltYWdl
U291cmNlLAorICAgICAgICBDU1NQcm9wZXJ0eUJvcmRlckltYWdlU2xpY2UsCisgICAgICAgIENT
U1Byb3BlcnR5Qm9yZGVySW1hZ2VXaWR0aCwKKyAgICAgICAgQ1NTUHJvcGVydHlCb3JkZXJJbWFn
ZU91dHNldCwKKyAgICAgICAgQ1NTUHJvcGVydHlCb3JkZXJJbWFnZVJlcGVhdAorICAgIH07Cisg
ICAgREVGSU5FX1NUQVRJQ19MT0NBTChTdHlsZVByb3BlcnR5U2hvcnRoYW5kLCBib3JkZXJJbWFn
ZUxvbmdoYW5kcywgKGJvcmRlckltYWdlUHJvcGVydGllcywgV1RGX0FSUkFZX0xFTkdUSChib3Jk
ZXJJbWFnZVByb3BlcnRpZXMpKSk7CisgICAgcmV0dXJuIGJvcmRlckltYWdlTG9uZ2hhbmRzOwor
fQorCitjb25zdCBTdHlsZVByb3BlcnR5U2hvcnRoYW5kJiBib3JkZXJMZWZ0U2hvcnRoYW5kKCkK
K3sKKyAgICBzdGF0aWMgY29uc3QgQ1NTUHJvcGVydHlJRCBib3JkZXJMZWZ0UHJvcGVydGllc1td
ID0geyBDU1NQcm9wZXJ0eUJvcmRlckxlZnRXaWR0aCwgQ1NTUHJvcGVydHlCb3JkZXJMZWZ0U3R5
bGUsIENTU1Byb3BlcnR5Qm9yZGVyTGVmdENvbG9yIH07CisgICAgREVGSU5FX1NUQVRJQ19MT0NB
TChTdHlsZVByb3BlcnR5U2hvcnRoYW5kLCBib3JkZXJMZWZ0TG9uZ2hhbmRzLCAoYm9yZGVyTGVm
dFByb3BlcnRpZXMsIFdURl9BUlJBWV9MRU5HVEgoYm9yZGVyTGVmdFByb3BlcnRpZXMpKSk7Cisg
ICAgcmV0dXJuIGJvcmRlckxlZnRMb25naGFuZHM7Cit9CisKK2NvbnN0IFN0eWxlUHJvcGVydHlT
aG9ydGhhbmQmIGJvcmRlclJhZGl1c1Nob3J0aGFuZCgpCit7CisgICAgc3RhdGljIGNvbnN0IENT
U1Byb3BlcnR5SUQgYm9yZGVyUmFkaXVzUHJvcGVydGllc1tdID0geworICAgICAgICBDU1NQcm9w
ZXJ0eUJvcmRlclRvcFJpZ2h0UmFkaXVzLAorICAgICAgICBDU1NQcm9wZXJ0eUJvcmRlclRvcExl
ZnRSYWRpdXMsCisgICAgICAgIENTU1Byb3BlcnR5Qm9yZGVyQm90dG9tTGVmdFJhZGl1cywKKyAg
ICAgICAgQ1NTUHJvcGVydHlCb3JkZXJCb3R0b21SaWdodFJhZGl1cworICAgIH07CisgICAgREVG
SU5FX1NUQVRJQ19MT0NBTChTdHlsZVByb3BlcnR5U2hvcnRoYW5kLCBib3JkZXJSYWRpdXNMb25n
aGFuZHMsIChib3JkZXJSYWRpdXNQcm9wZXJ0aWVzLCBXVEZfQVJSQVlfTEVOR1RIKGJvcmRlclJh
ZGl1c1Byb3BlcnRpZXMpKSk7CisgICAgcmV0dXJuIGJvcmRlclJhZGl1c0xvbmdoYW5kczsKK30K
KworY29uc3QgU3R5bGVQcm9wZXJ0eVNob3J0aGFuZCYgYm9yZGVyUmlnaHRTaG9ydGhhbmQoKQor
eworICAgIHN0YXRpYyBjb25zdCBDU1NQcm9wZXJ0eUlEIGJvcmRlclJpZ2h0UHJvcGVydGllc1td
ID0geyBDU1NQcm9wZXJ0eUJvcmRlclJpZ2h0V2lkdGgsIENTU1Byb3BlcnR5Qm9yZGVyUmlnaHRT
dHlsZSwgQ1NTUHJvcGVydHlCb3JkZXJSaWdodENvbG9yIH07CisgICAgREVGSU5FX1NUQVRJQ19M
T0NBTChTdHlsZVByb3BlcnR5U2hvcnRoYW5kLCBib3JkZXJSaWdodExvbmdoYW5kcywgKGJvcmRl
clJpZ2h0UHJvcGVydGllcywgV1RGX0FSUkFZX0xFTkdUSChib3JkZXJSaWdodFByb3BlcnRpZXMp
KSk7CisgICAgcmV0dXJuIGJvcmRlclJpZ2h0TG9uZ2hhbmRzOworfQorCitjb25zdCBTdHlsZVBy
b3BlcnR5U2hvcnRoYW5kJiBib3JkZXJTcGFjaW5nU2hvcnRoYW5kKCkKK3sKKyAgICBzdGF0aWMg
Y29uc3QgQ1NTUHJvcGVydHlJRCBib3JkZXJTcGFjaW5nUHJvcGVydGllc1tdID0geyBDU1NQcm9w
ZXJ0eVdlYmtpdEJvcmRlckhvcml6b250YWxTcGFjaW5nLCBDU1NQcm9wZXJ0eVdlYmtpdEJvcmRl
clZlcnRpY2FsU3BhY2luZyB9OworICAgIERFRklORV9TVEFUSUNfTE9DQUwoU3R5bGVQcm9wZXJ0
eVNob3J0aGFuZCwgYm9yZGVyU3BhY2luZ0xvbmdoYW5kcywgKGJvcmRlclNwYWNpbmdQcm9wZXJ0
aWVzLCBXVEZfQVJSQVlfTEVOR1RIKGJvcmRlclNwYWNpbmdQcm9wZXJ0aWVzKSkpOworICAgIHJl
dHVybiBib3JkZXJTcGFjaW5nTG9uZ2hhbmRzOworfQorCitjb25zdCBTdHlsZVByb3BlcnR5U2hv
cnRoYW5kJiBib3JkZXJTdHlsZVNob3J0aGFuZCgpCit7CisgICAgc3RhdGljIGNvbnN0IENTU1By
b3BlcnR5SUQgYm9yZGVyU3R5bGVQcm9wZXJ0aWVzW10gPSB7CisgICAgICAgIENTU1Byb3BlcnR5
Qm9yZGVyVG9wU3R5bGUsCisgICAgICAgIENTU1Byb3BlcnR5Qm9yZGVyUmlnaHRTdHlsZSwKKyAg
ICAgICAgQ1NTUHJvcGVydHlCb3JkZXJCb3R0b21TdHlsZSwKKyAgICAgICAgQ1NTUHJvcGVydHlC
b3JkZXJMZWZ0U3R5bGUKKyAgICB9OworICAgIERFRklORV9TVEFUSUNfTE9DQUwoU3R5bGVQcm9w
ZXJ0eVNob3J0aGFuZCwgYm9yZGVyU3R5bGVMb25naGFuZHMsIChib3JkZXJTdHlsZVByb3BlcnRp
ZXMsIFdURl9BUlJBWV9MRU5HVEgoYm9yZGVyU3R5bGVQcm9wZXJ0aWVzKSkpOworICAgIHJldHVy
biBib3JkZXJTdHlsZUxvbmdoYW5kczsKK30KKworY29uc3QgU3R5bGVQcm9wZXJ0eVNob3J0aGFu
ZCYgYm9yZGVyVG9wU2hvcnRoYW5kKCkKK3sKKyAgICBzdGF0aWMgY29uc3QgQ1NTUHJvcGVydHlJ
RCBib3JkZXJUb3BQcm9wZXJ0aWVzW10gPSB7IENTU1Byb3BlcnR5Qm9yZGVyVG9wV2lkdGgsIENT
U1Byb3BlcnR5Qm9yZGVyVG9wU3R5bGUsIENTU1Byb3BlcnR5Qm9yZGVyVG9wQ29sb3IgfTsKKyAg
ICBERUZJTkVfU1RBVElDX0xPQ0FMKFN0eWxlUHJvcGVydHlTaG9ydGhhbmQsIGJvcmRlclRvcExv
bmdoYW5kcywgKGJvcmRlclRvcFByb3BlcnRpZXMsIFdURl9BUlJBWV9MRU5HVEgoYm9yZGVyVG9w
UHJvcGVydGllcykpKTsKKyAgICByZXR1cm4gYm9yZGVyVG9wTG9uZ2hhbmRzOworfQorCitjb25z
dCBTdHlsZVByb3BlcnR5U2hvcnRoYW5kJiBib3JkZXJXaWR0aFNob3J0aGFuZCgpCit7CisgICAg
c3RhdGljIGNvbnN0IENTU1Byb3BlcnR5SUQgYm9yZGVyV2lkdGhQcm9wZXJ0aWVzW10gPSB7Cisg
ICAgICAgIENTU1Byb3BlcnR5Qm9yZGVyVG9wV2lkdGgsCisgICAgICAgIENTU1Byb3BlcnR5Qm9y
ZGVyUmlnaHRXaWR0aCwKKyAgICAgICAgQ1NTUHJvcGVydHlCb3JkZXJCb3R0b21XaWR0aCwKKyAg
ICAgICAgQ1NTUHJvcGVydHlCb3JkZXJMZWZ0V2lkdGgKKyAgICB9OworICAgIERFRklORV9TVEFU
SUNfTE9DQUwoU3R5bGVQcm9wZXJ0eVNob3J0aGFuZCwgYm9yZGVyV2lkdGhMb25naGFuZHMsIChi
b3JkZXJXaWR0aFByb3BlcnRpZXMsIFdURl9BUlJBWV9MRU5HVEgoYm9yZGVyV2lkdGhQcm9wZXJ0
aWVzKSkpOworICAgIHJldHVybiBib3JkZXJXaWR0aExvbmdoYW5kczsKK30KKworY29uc3QgU3R5
bGVQcm9wZXJ0eVNob3J0aGFuZCYgbGlzdFN0eWxlU2hvcnRoYW5kKCkKK3sKKyAgICBzdGF0aWMg
Y29uc3QgQ1NTUHJvcGVydHlJRCBsaXN0U3R5bGVQcm9wZXJ0aWVzW10gPSB7CisgICAgICAgIENT
U1Byb3BlcnR5TGlzdFN0eWxlVHlwZSwKKyAgICAgICAgQ1NTUHJvcGVydHlMaXN0U3R5bGVQb3Np
dGlvbiwKKyAgICAgICAgQ1NTUHJvcGVydHlMaXN0U3R5bGVJbWFnZQorICAgIH07CisgICAgREVG
SU5FX1NUQVRJQ19MT0NBTChTdHlsZVByb3BlcnR5U2hvcnRoYW5kLCBsaXN0U3R5bGVMb25naGFu
ZHMsIChsaXN0U3R5bGVQcm9wZXJ0aWVzLCBXVEZfQVJSQVlfTEVOR1RIKGxpc3RTdHlsZVByb3Bl
cnRpZXMpKSk7CisgICAgcmV0dXJuIGxpc3RTdHlsZUxvbmdoYW5kczsKK30KKworY29uc3QgU3R5
bGVQcm9wZXJ0eVNob3J0aGFuZCYgZm9udFNob3J0aGFuZCgpCit7CisgICAgc3RhdGljIGNvbnN0
IENTU1Byb3BlcnR5SUQgZm9udFByb3BlcnRpZXNbXSA9IHsKKyAgICAgICAgQ1NTUHJvcGVydHlG
b250RmFtaWx5LAorICAgICAgICBDU1NQcm9wZXJ0eUZvbnRTaXplLAorICAgICAgICBDU1NQcm9w
ZXJ0eUZvbnRTdHlsZSwKKyAgICAgICAgQ1NTUHJvcGVydHlGb250VmFyaWFudCwKKyAgICAgICAg
Q1NTUHJvcGVydHlGb250V2VpZ2h0LAorICAgICAgICBDU1NQcm9wZXJ0eUxpbmVIZWlnaHQKKyAg
ICB9OworICAgIERFRklORV9TVEFUSUNfTE9DQUwoU3R5bGVQcm9wZXJ0eVNob3J0aGFuZCwgZm9u
dExvbmdoYW5kcywgKGZvbnRQcm9wZXJ0aWVzLCBXVEZfQVJSQVlfTEVOR1RIKGZvbnRQcm9wZXJ0
aWVzKSkpOworICAgIHJldHVybiBmb250TG9uZ2hhbmRzOworfQorCitjb25zdCBTdHlsZVByb3Bl
cnR5U2hvcnRoYW5kJiBtYXJnaW5TaG9ydGhhbmQoKQoreworICAgIHN0YXRpYyBjb25zdCBDU1NQ
cm9wZXJ0eUlEIG1hcmdpblByb3BlcnRpZXNbXSA9IHsKKyAgICAgICAgQ1NTUHJvcGVydHlNYXJn
aW5Ub3AsCisgICAgICAgIENTU1Byb3BlcnR5TWFyZ2luUmlnaHQsCisgICAgICAgIENTU1Byb3Bl
cnR5TWFyZ2luQm90dG9tLAorICAgICAgICBDU1NQcm9wZXJ0eU1hcmdpbkxlZnQKKyAgICB9Owor
ICAgIERFRklORV9TVEFUSUNfTE9DQUwoU3R5bGVQcm9wZXJ0eVNob3J0aGFuZCwgbWFyZ2luTG9u
Z2hhbmRzLCAobWFyZ2luUHJvcGVydGllcywgV1RGX0FSUkFZX0xFTkdUSChtYXJnaW5Qcm9wZXJ0
aWVzKSkpOworICAgIHJldHVybiBtYXJnaW5Mb25naGFuZHM7Cit9CisKK2NvbnN0IFN0eWxlUHJv
cGVydHlTaG9ydGhhbmQmIG91dGxpbmVTaG9ydGhhbmQoKQoreworICAgIHN0YXRpYyBjb25zdCBD
U1NQcm9wZXJ0eUlEIG91dGxpbmVQcm9wZXJ0aWVzW10gPSB7CisgICAgICAgIENTU1Byb3BlcnR5
T3V0bGluZUNvbG9yLAorICAgICAgICBDU1NQcm9wZXJ0eU91dGxpbmVTdHlsZSwKKyAgICAgICAg
Q1NTUHJvcGVydHlPdXRsaW5lV2lkdGgKKyAgICB9OworICAgIERFRklORV9TVEFUSUNfTE9DQUwo
U3R5bGVQcm9wZXJ0eVNob3J0aGFuZCwgb3V0bGluZUxvbmdoYW5kcywgKG91dGxpbmVQcm9wZXJ0
aWVzLCBXVEZfQVJSQVlfTEVOR1RIKG91dGxpbmVQcm9wZXJ0aWVzKSkpOworICAgIHJldHVybiBv
dXRsaW5lTG9uZ2hhbmRzOworfQorCitjb25zdCBTdHlsZVByb3BlcnR5U2hvcnRoYW5kJiBvdmVy
Zmxvd1Nob3J0aGFuZCgpCit7CisgICAgc3RhdGljIGNvbnN0IENTU1Byb3BlcnR5SUQgb3ZlcmZs
b3dQcm9wZXJ0aWVzW10gPSB7IENTU1Byb3BlcnR5T3ZlcmZsb3dYLCBDU1NQcm9wZXJ0eU92ZXJm
bG93WSB9OworICAgIERFRklORV9TVEFUSUNfTE9DQUwoU3R5bGVQcm9wZXJ0eVNob3J0aGFuZCwg
b3ZlcmZsb3dMb25naGFuZHMsIChvdmVyZmxvd1Byb3BlcnRpZXMsIFdURl9BUlJBWV9MRU5HVEgo
b3ZlcmZsb3dQcm9wZXJ0aWVzKSkpOworICAgIHJldHVybiBvdmVyZmxvd0xvbmdoYW5kczsKK30K
KworY29uc3QgU3R5bGVQcm9wZXJ0eVNob3J0aGFuZCYgcGFkZGluZ1Nob3J0aGFuZCgpCit7Cisg
ICAgc3RhdGljIGNvbnN0IENTU1Byb3BlcnR5SUQgcGFkZGluZ1Byb3BlcnRpZXNbXSA9IHsKKyAg
ICAgICAgQ1NTUHJvcGVydHlQYWRkaW5nVG9wLAorICAgICAgICBDU1NQcm9wZXJ0eVBhZGRpbmdS
aWdodCwKKyAgICAgICAgQ1NTUHJvcGVydHlQYWRkaW5nQm90dG9tLAorICAgICAgICBDU1NQcm9w
ZXJ0eVBhZGRpbmdMZWZ0CisgICAgfTsKKyAgICBERUZJTkVfU1RBVElDX0xPQ0FMKFN0eWxlUHJv
cGVydHlTaG9ydGhhbmQsIHBhZGRpbmdMb25naGFuZHMsIChwYWRkaW5nUHJvcGVydGllcywgV1RG
X0FSUkFZX0xFTkdUSChwYWRkaW5nUHJvcGVydGllcykpKTsKKyAgICByZXR1cm4gcGFkZGluZ0xv
bmdoYW5kczsKK30KKworY29uc3QgU3R5bGVQcm9wZXJ0eVNob3J0aGFuZCYgd2Via2l0QW5pbWF0
aW9uU2hvcnRoYW5kKCkKK3sKKyAgICBzdGF0aWMgY29uc3QgQ1NTUHJvcGVydHlJRCBhbmltYXRp
b25Qcm9wZXJ0aWVzW10gPSB7CisgICAgICAgIENTU1Byb3BlcnR5V2Via2l0QW5pbWF0aW9uTmFt
ZSwKKyAgICAgICAgQ1NTUHJvcGVydHlXZWJraXRBbmltYXRpb25EdXJhdGlvbiwKKyAgICAgICAg
Q1NTUHJvcGVydHlXZWJraXRBbmltYXRpb25UaW1pbmdGdW5jdGlvbiwKKyAgICAgICAgQ1NTUHJv
cGVydHlXZWJraXRBbmltYXRpb25EZWxheSwKKyAgICAgICAgQ1NTUHJvcGVydHlXZWJraXRBbmlt
YXRpb25JdGVyYXRpb25Db3VudCwKKyAgICAgICAgQ1NTUHJvcGVydHlXZWJraXRBbmltYXRpb25E
aXJlY3Rpb24sCisgICAgICAgIENTU1Byb3BlcnR5V2Via2l0QW5pbWF0aW9uRmlsbE1vZGUKKyAg
ICB9OworICAgIERFRklORV9TVEFUSUNfTE9DQUwoU3R5bGVQcm9wZXJ0eVNob3J0aGFuZCwgd2Vi
a2l0QW5pbWF0aW9uTG9uZ2hhbmRzLCAoYW5pbWF0aW9uUHJvcGVydGllcywgV1RGX0FSUkFZX0xF
TkdUSChhbmltYXRpb25Qcm9wZXJ0aWVzKSkpOworICAgIHJldHVybiB3ZWJraXRBbmltYXRpb25M
b25naGFuZHM7Cit9CisKK2NvbnN0IFN0eWxlUHJvcGVydHlTaG9ydGhhbmQmIHdlYmtpdEJvcmRl
ckFmdGVyU2hvcnRoYW5kKCkKK3sKKyAgICBzdGF0aWMgY29uc3QgQ1NTUHJvcGVydHlJRCBib3Jk
ZXJBZnRlclByb3BlcnRpZXNbXSA9IHsgQ1NTUHJvcGVydHlXZWJraXRCb3JkZXJBZnRlcldpZHRo
LCBDU1NQcm9wZXJ0eVdlYmtpdEJvcmRlckFmdGVyU3R5bGUsIENTU1Byb3BlcnR5V2Via2l0Qm9y
ZGVyQWZ0ZXJDb2xvciAgfTsKKyAgICBERUZJTkVfU1RBVElDX0xPQ0FMKFN0eWxlUHJvcGVydHlT
aG9ydGhhbmQsIHdlYmtpdEJvcmRlckFmdGVyTG9uZ2hhbmRzLCAoYm9yZGVyQWZ0ZXJQcm9wZXJ0
aWVzLCBXVEZfQVJSQVlfTEVOR1RIKGJvcmRlckFmdGVyUHJvcGVydGllcykpKTsKKyAgICByZXR1
cm4gd2Via2l0Qm9yZGVyQWZ0ZXJMb25naGFuZHM7Cit9CisKK2NvbnN0IFN0eWxlUHJvcGVydHlT
aG9ydGhhbmQmIHdlYmtpdEJvcmRlckJlZm9yZVNob3J0aGFuZCgpCit7CisgICAgc3RhdGljIGNv
bnN0IENTU1Byb3BlcnR5SUQgYm9yZGVyQmVmb3JlUHJvcGVydGllc1tdID0geyBDU1NQcm9wZXJ0
eVdlYmtpdEJvcmRlckJlZm9yZVdpZHRoLCBDU1NQcm9wZXJ0eVdlYmtpdEJvcmRlckJlZm9yZVN0
eWxlLCBDU1NQcm9wZXJ0eVdlYmtpdEJvcmRlckJlZm9yZUNvbG9yICB9OworICAgIERFRklORV9T
VEFUSUNfTE9DQUwoU3R5bGVQcm9wZXJ0eVNob3J0aGFuZCwgd2Via2l0Qm9yZGVyQmVmb3JlTG9u
Z2hhbmRzLCAoYm9yZGVyQmVmb3JlUHJvcGVydGllcywgV1RGX0FSUkFZX0xFTkdUSChib3JkZXJC
ZWZvcmVQcm9wZXJ0aWVzKSkpOworICAgIHJldHVybiB3ZWJraXRCb3JkZXJCZWZvcmVMb25naGFu
ZHM7Cit9CisKK2NvbnN0IFN0eWxlUHJvcGVydHlTaG9ydGhhbmQmIHdlYmtpdEJvcmRlckVuZFNo
b3J0aGFuZCgpCit7CisgICAgc3RhdGljIGNvbnN0IENTU1Byb3BlcnR5SUQgYm9yZGVyRW5kUHJv
cGVydGllc1tdID0geyBDU1NQcm9wZXJ0eVdlYmtpdEJvcmRlckVuZFdpZHRoLCBDU1NQcm9wZXJ0
eVdlYmtpdEJvcmRlckVuZFN0eWxlLCBDU1NQcm9wZXJ0eVdlYmtpdEJvcmRlckVuZENvbG9yIH07
CisgICAgREVGSU5FX1NUQVRJQ19MT0NBTChTdHlsZVByb3BlcnR5U2hvcnRoYW5kLCB3ZWJraXRC
b3JkZXJFbmRMb25naGFuZHMsIChib3JkZXJFbmRQcm9wZXJ0aWVzLCBXVEZfQVJSQVlfTEVOR1RI
KGJvcmRlckVuZFByb3BlcnRpZXMpKSk7CisgICAgcmV0dXJuIHdlYmtpdEJvcmRlckVuZExvbmdo
YW5kczsKK30KKworY29uc3QgU3R5bGVQcm9wZXJ0eVNob3J0aGFuZCYgd2Via2l0Qm9yZGVyU3Rh
cnRTaG9ydGhhbmQoKQoreworICAgIHN0YXRpYyBjb25zdCBDU1NQcm9wZXJ0eUlEIGJvcmRlclN0
YXJ0UHJvcGVydGllc1tdID0geyBDU1NQcm9wZXJ0eVdlYmtpdEJvcmRlclN0YXJ0V2lkdGgsIENT
U1Byb3BlcnR5V2Via2l0Qm9yZGVyU3RhcnRTdHlsZSwgQ1NTUHJvcGVydHlXZWJraXRCb3JkZXJT
dGFydENvbG9yIH07CisgICAgREVGSU5FX1NUQVRJQ19MT0NBTChTdHlsZVByb3BlcnR5U2hvcnRo
YW5kLCB3ZWJraXRCb3JkZXJTdGFydExvbmdoYW5kcywgKGJvcmRlclN0YXJ0UHJvcGVydGllcywg
V1RGX0FSUkFZX0xFTkdUSChib3JkZXJTdGFydFByb3BlcnRpZXMpKSk7CisgICAgcmV0dXJuIHdl
YmtpdEJvcmRlclN0YXJ0TG9uZ2hhbmRzOworfQorCitjb25zdCBTdHlsZVByb3BlcnR5U2hvcnRo
YW5kJiB3ZWJraXRDb2x1bW5zU2hvcnRoYW5kKCkKK3sKKyAgICBzdGF0aWMgY29uc3QgQ1NTUHJv
cGVydHlJRCBjb2x1bW5zUHJvcGVydGllc1tdID0geyBDU1NQcm9wZXJ0eVdlYmtpdENvbHVtbldp
ZHRoLCBDU1NQcm9wZXJ0eVdlYmtpdENvbHVtbkNvdW50IH07CisgICAgREVGSU5FX1NUQVRJQ19M
T0NBTChTdHlsZVByb3BlcnR5U2hvcnRoYW5kLCB3ZWJraXRDb2x1bW5zTG9uZ2hhbmRzLCAoY29s
dW1uc1Byb3BlcnRpZXMsIFdURl9BUlJBWV9MRU5HVEgoY29sdW1uc1Byb3BlcnRpZXMpKSk7Cisg
ICAgcmV0dXJuIHdlYmtpdENvbHVtbnNMb25naGFuZHM7Cit9CisKK2NvbnN0IFN0eWxlUHJvcGVy
dHlTaG9ydGhhbmQmIHdlYmtpdENvbHVtblJ1bGVTaG9ydGhhbmQoKQoreworICAgIHN0YXRpYyBj
b25zdCBDU1NQcm9wZXJ0eUlEIGNvbHVtblJ1bGVQcm9wZXJ0aWVzW10gPSB7CisgICAgICAgIENT
U1Byb3BlcnR5V2Via2l0Q29sdW1uUnVsZVdpZHRoLAorICAgICAgICBDU1NQcm9wZXJ0eVdlYmtp
dENvbHVtblJ1bGVTdHlsZSwKKyAgICAgICAgQ1NTUHJvcGVydHlXZWJraXRDb2x1bW5SdWxlQ29s
b3IsCisgICAgfTsKKyAgICBERUZJTkVfU1RBVElDX0xPQ0FMKFN0eWxlUHJvcGVydHlTaG9ydGhh
bmQsIHdlYmtpdENvbHVtblJ1bGVMb25naGFuZHMsIChjb2x1bW5SdWxlUHJvcGVydGllcywgV1RG
X0FSUkFZX0xFTkdUSChjb2x1bW5SdWxlUHJvcGVydGllcykpKTsKKyAgICByZXR1cm4gd2Via2l0
Q29sdW1uUnVsZUxvbmdoYW5kczsKK30KKworY29uc3QgU3R5bGVQcm9wZXJ0eVNob3J0aGFuZCYg
d2Via2l0RmxleEZsb3dTaG9ydGhhbmQoKQoreworICAgIHN0YXRpYyBjb25zdCBDU1NQcm9wZXJ0
eUlEIGZsZXhGbG93UHJvcGVydGllc1tdID0geyBDU1NQcm9wZXJ0eVdlYmtpdEZsZXhEaXJlY3Rp
b24sIENTU1Byb3BlcnR5V2Via2l0RmxleFdyYXAgfTsKKyAgICBERUZJTkVfU1RBVElDX0xPQ0FM
KFN0eWxlUHJvcGVydHlTaG9ydGhhbmQsIHdlYmtpdEZsZXhGbG93TG9uZ2hhbmRzLCAoZmxleEZs
b3dQcm9wZXJ0aWVzLCBXVEZfQVJSQVlfTEVOR1RIKGZsZXhGbG93UHJvcGVydGllcykpKTsKKyAg
ICByZXR1cm4gd2Via2l0RmxleEZsb3dMb25naGFuZHM7Cit9CisKK2NvbnN0IFN0eWxlUHJvcGVy
dHlTaG9ydGhhbmQmIHdlYmtpdE1hcmdpbkNvbGxhcHNlU2hvcnRoYW5kKCkKK3sKKyAgICBzdGF0
aWMgY29uc3QgQ1NTUHJvcGVydHlJRCBtYXJnaW5Db2xsYXBzZVByb3BlcnRpZXNbXSA9IHsgQ1NT
UHJvcGVydHlXZWJraXRNYXJnaW5CZWZvcmVDb2xsYXBzZSwgQ1NTUHJvcGVydHlXZWJraXRNYXJn
aW5BZnRlckNvbGxhcHNlIH07CisgICAgREVGSU5FX1NUQVRJQ19MT0NBTChTdHlsZVByb3BlcnR5
U2hvcnRoYW5kLCB3ZWJraXRNYXJnaW5Db2xsYXBzZUxvbmdoYW5kcywgKG1hcmdpbkNvbGxhcHNl
UHJvcGVydGllcywgV1RGX0FSUkFZX0xFTkdUSChtYXJnaW5Db2xsYXBzZVByb3BlcnRpZXMpKSk7
CisgICAgcmV0dXJuIHdlYmtpdE1hcmdpbkNvbGxhcHNlTG9uZ2hhbmRzOworfQorCitjb25zdCBT
dHlsZVByb3BlcnR5U2hvcnRoYW5kJiB3ZWJraXRNYXJxdWVlU2hvcnRoYW5kKCkKK3sKKyAgICBz
dGF0aWMgY29uc3QgQ1NTUHJvcGVydHlJRCBtYXJxdWVlUHJvcGVydGllc1tdID0geworICAgICAg
ICBDU1NQcm9wZXJ0eVdlYmtpdE1hcnF1ZWVEaXJlY3Rpb24sCisgICAgICAgIENTU1Byb3BlcnR5
V2Via2l0TWFycXVlZUluY3JlbWVudCwKKyAgICAgICAgQ1NTUHJvcGVydHlXZWJraXRNYXJxdWVl
UmVwZXRpdGlvbiwKKyAgICAgICAgQ1NTUHJvcGVydHlXZWJraXRNYXJxdWVlU3R5bGUsCisgICAg
ICAgIENTU1Byb3BlcnR5V2Via2l0TWFycXVlZVNwZWVkCisgICAgfTsKKyAgICBERUZJTkVfU1RB
VElDX0xPQ0FMKFN0eWxlUHJvcGVydHlTaG9ydGhhbmQsIHdlYmtpdE1hcnF1ZWVMb25naGFuZHMs
IChtYXJxdWVlUHJvcGVydGllcywgV1RGX0FSUkFZX0xFTkdUSChtYXJxdWVlUHJvcGVydGllcykp
KTsKKyAgICByZXR1cm4gd2Via2l0TWFycXVlZUxvbmdoYW5kczsKK30KKworY29uc3QgU3R5bGVQ
cm9wZXJ0eVNob3J0aGFuZCYgd2Via2l0TWFza1Nob3J0aGFuZCgpCit7CisgICAgc3RhdGljIGNv
bnN0IENTU1Byb3BlcnR5SUQgbWFza1Byb3BlcnRpZXNbXSA9IHsKKyAgICAgICAgQ1NTUHJvcGVy
dHlXZWJraXRNYXNrSW1hZ2UsCisgICAgICAgIENTU1Byb3BlcnR5V2Via2l0TWFza1JlcGVhdFgs
CisgICAgICAgIENTU1Byb3BlcnR5V2Via2l0TWFza1JlcGVhdFksCisgICAgICAgIENTU1Byb3Bl
cnR5V2Via2l0TWFza0F0dGFjaG1lbnQsCisgICAgICAgIENTU1Byb3BlcnR5V2Via2l0TWFza1Bv
c2l0aW9uWCwKKyAgICAgICAgQ1NTUHJvcGVydHlXZWJraXRNYXNrUG9zaXRpb25ZLAorICAgICAg
ICBDU1NQcm9wZXJ0eVdlYmtpdE1hc2tDbGlwLAorICAgICAgICBDU1NQcm9wZXJ0eVdlYmtpdE1h
c2tPcmlnaW4KKyAgICB9OworICAgIERFRklORV9TVEFUSUNfTE9DQUwoU3R5bGVQcm9wZXJ0eVNo
b3J0aGFuZCwgd2Via2l0TWFza0xvbmdoYW5kcywgKG1hc2tQcm9wZXJ0aWVzLCBXVEZfQVJSQVlf
TEVOR1RIKG1hc2tQcm9wZXJ0aWVzKSkpOworICAgIHJldHVybiB3ZWJraXRNYXNrTG9uZ2hhbmRz
OworfQorCitjb25zdCBTdHlsZVByb3BlcnR5U2hvcnRoYW5kJiB3ZWJraXRNYXNrUG9zaXRpb25T
aG9ydGhhbmQoKQoreworICAgIHN0YXRpYyBjb25zdCBDU1NQcm9wZXJ0eUlEIG1hc2tQb3NpdGlv
blByb3BlcnRpZXNbXSA9IHsgQ1NTUHJvcGVydHlXZWJraXRNYXNrUG9zaXRpb25YLCBDU1NQcm9w
ZXJ0eVdlYmtpdE1hc2tQb3NpdGlvblkgfTsKKyAgICBERUZJTkVfU1RBVElDX0xPQ0FMKFN0eWxl
UHJvcGVydHlTaG9ydGhhbmQsIHdlYmtpdE1hc2tQb3NpdGlvbkxvbmdoYW5kcywgKG1hc2tQb3Np
dGlvblByb3BlcnRpZXMsIFdURl9BUlJBWV9MRU5HVEgobWFza1Bvc2l0aW9uUHJvcGVydGllcykp
KTsKKyAgICByZXR1cm4gd2Via2l0TWFza1Bvc2l0aW9uTG9uZ2hhbmRzOworfQorCitjb25zdCBT
dHlsZVByb3BlcnR5U2hvcnRoYW5kJiB3ZWJraXRNYXNrUmVwZWF0U2hvcnRoYW5kKCkKK3sKKyAg
ICBzdGF0aWMgY29uc3QgQ1NTUHJvcGVydHlJRCBtYXNrUmVwZWF0UHJvcGVydGllc1tdID0geyBD
U1NQcm9wZXJ0eVdlYmtpdE1hc2tSZXBlYXRYLCBDU1NQcm9wZXJ0eVdlYmtpdE1hc2tSZXBlYXRZ
IH07CisgICAgREVGSU5FX1NUQVRJQ19MT0NBTChTdHlsZVByb3BlcnR5U2hvcnRoYW5kLCB3ZWJr
aXRNYXNrUmVwZWF0TG9uZ2hhbmRzLCAobWFza1JlcGVhdFByb3BlcnRpZXMsIFdURl9BUlJBWV9M
RU5HVEgobWFza1JlcGVhdFByb3BlcnRpZXMpKSk7CisgICAgcmV0dXJuIHdlYmtpdE1hc2tSZXBl
YXRMb25naGFuZHM7Cit9CisKK2NvbnN0IFN0eWxlUHJvcGVydHlTaG9ydGhhbmQmIHdlYmtpdFRl
eHRFbXBoYXNpc1Nob3J0aGFuZCgpCit7CisgICAgc3RhdGljIGNvbnN0IENTU1Byb3BlcnR5SUQg
dGV4dEVtcGhhc2lzUHJvcGVydGllc1tdID0geworICAgICAgICBDU1NQcm9wZXJ0eVdlYmtpdFRl
eHRFbXBoYXNpc1N0eWxlLAorICAgICAgICBDU1NQcm9wZXJ0eVdlYmtpdFRleHRFbXBoYXNpc0Nv
bG9yCisgICAgfTsKKyAgICBERUZJTkVfU1RBVElDX0xPQ0FMKFN0eWxlUHJvcGVydHlTaG9ydGhh
bmQsIHdlYmtpdFRleHRFbXBoYXNpc0xvbmdoYW5kcywgKHRleHRFbXBoYXNpc1Byb3BlcnRpZXMs
IFdURl9BUlJBWV9MRU5HVEgodGV4dEVtcGhhc2lzUHJvcGVydGllcykpKTsKKyAgICByZXR1cm4g
d2Via2l0VGV4dEVtcGhhc2lzTG9uZ2hhbmRzOworfQorCitjb25zdCBTdHlsZVByb3BlcnR5U2hv
cnRoYW5kJiB3ZWJraXRUZXh0U3Ryb2tlU2hvcnRoYW5kKCkKK3sKKyAgICBzdGF0aWMgY29uc3Qg
Q1NTUHJvcGVydHlJRCB0ZXh0U3Ryb2tlUHJvcGVydGllc1tdID0geyBDU1NQcm9wZXJ0eVdlYmtp
dFRleHRTdHJva2VXaWR0aCwgQ1NTUHJvcGVydHlXZWJraXRUZXh0U3Ryb2tlQ29sb3IgfTsKKyAg
ICBERUZJTkVfU1RBVElDX0xPQ0FMKFN0eWxlUHJvcGVydHlTaG9ydGhhbmQsIHdlYmtpdFRleHRT
dHJva2VMb25naGFuZHMsICh0ZXh0U3Ryb2tlUHJvcGVydGllcywgV1RGX0FSUkFZX0xFTkdUSCh0
ZXh0U3Ryb2tlUHJvcGVydGllcykpKTsKKyAgICByZXR1cm4gd2Via2l0VGV4dFN0cm9rZUxvbmdo
YW5kczsKK30KKworY29uc3QgU3R5bGVQcm9wZXJ0eVNob3J0aGFuZCYgd2Via2l0VHJhbnNpdGlv
blNob3J0aGFuZCgpCit7CisgICAgc3RhdGljIGNvbnN0IENTU1Byb3BlcnR5SUQgdHJhbnNpdGlv
blByb3BlcnRpZXNbXSA9IHsKKyAgICAgICAgQ1NTUHJvcGVydHlXZWJraXRUcmFuc2l0aW9uUHJv
cGVydHksCisgICAgICAgIENTU1Byb3BlcnR5V2Via2l0VHJhbnNpdGlvbkR1cmF0aW9uLAorICAg
ICAgICBDU1NQcm9wZXJ0eVdlYmtpdFRyYW5zaXRpb25UaW1pbmdGdW5jdGlvbiwKKyAgICAgICAg
Q1NTUHJvcGVydHlXZWJraXRUcmFuc2l0aW9uRGVsYXkKKyAgICB9OworICAgIERFRklORV9TVEFU
SUNfTE9DQUwoU3R5bGVQcm9wZXJ0eVNob3J0aGFuZCwgd2Via2l0VHJhbnNpdGlvbkxvbmdoYW5k
cywgKHRyYW5zaXRpb25Qcm9wZXJ0aWVzLCBXVEZfQVJSQVlfTEVOR1RIKHRyYW5zaXRpb25Qcm9w
ZXJ0aWVzKSkpOworICAgIHJldHVybiB3ZWJraXRUcmFuc2l0aW9uTG9uZ2hhbmRzOworfQorCitj
b25zdCBTdHlsZVByb3BlcnR5U2hvcnRoYW5kJiB3ZWJraXRUcmFuc2Zvcm1PcmlnaW5TaG9ydGhh
bmQoKQoreworICAgIHN0YXRpYyBjb25zdCBDU1NQcm9wZXJ0eUlEIHRyYW5zZm9ybU9yaWdpblBy
b3BlcnRpZXNbXSA9IHsKKyAgICAgICAgQ1NTUHJvcGVydHlXZWJraXRUcmFuc2Zvcm1PcmlnaW5Y
LAorICAgICAgICBDU1NQcm9wZXJ0eVdlYmtpdFRyYW5zZm9ybU9yaWdpblksCisgICAgICAgIENT
U1Byb3BlcnR5V2Via2l0VHJhbnNmb3JtT3JpZ2luWgorICAgIH07CisgICAgREVGSU5FX1NUQVRJ
Q19MT0NBTChTdHlsZVByb3BlcnR5U2hvcnRoYW5kLCB3ZWJraXRUcmFuc2Zvcm1PcmlnaW5Mb25n
aGFuZHMsICh0cmFuc2Zvcm1PcmlnaW5Qcm9wZXJ0aWVzLCBXVEZfQVJSQVlfTEVOR1RIKHRyYW5z
Zm9ybU9yaWdpblByb3BlcnRpZXMpKSk7CisgICAgcmV0dXJuIHdlYmtpdFRyYW5zZm9ybU9yaWdp
bkxvbmdoYW5kczsKK30KKworY29uc3QgU3R5bGVQcm9wZXJ0eVNob3J0aGFuZCYgd2Via2l0V3Jh
cFNob3J0aGFuZCgpCit7CisgICAgc3RhdGljIGNvbnN0IENTU1Byb3BlcnR5SUQgd2Via2l0V3Jh
cFByb3BlcnRpZXNbXSA9IHsKKyAgICAgICAgQ1NTUHJvcGVydHlXZWJraXRXcmFwRmxvdywKKyAg
ICAgICAgQ1NTUHJvcGVydHlXZWJraXRXcmFwTWFyZ2luLAorICAgICAgICBDU1NQcm9wZXJ0eVdl
YmtpdFdyYXBQYWRkaW5nCisgICAgfTsKKyAgICBERUZJTkVfU1RBVElDX0xPQ0FMKFN0eWxlUHJv
cGVydHlTaG9ydGhhbmQsIHdlYmtpdFdyYXBMb25naGFuZHMsICh3ZWJraXRXcmFwUHJvcGVydGll
cywgV1RGX0FSUkFZX0xFTkdUSCh3ZWJraXRXcmFwUHJvcGVydGllcykpKTsKKyAgICByZXR1cm4g
d2Via2l0V3JhcExvbmdoYW5kczsKK30KKworLy8gUmV0dXJucyBhbiBlbXB0eSBsaXN0IGlmIHRo
ZSBwcm9wZXJ0eSBpcyBub3QgYSBzaG9ydGhhbmQKK2NvbnN0IFN0eWxlUHJvcGVydHlTaG9ydGhh
bmQmIHNob3J0aGFuZEZvclByb3BlcnR5KGludCBwcm9wZXJ0eUlEKQoreworICAgIHN3aXRjaCAo
cHJvcGVydHlJRCkgeworICAgIGNhc2UgQ1NTUHJvcGVydHlCYWNrZ3JvdW5kOgorICAgICAgICBy
ZXR1cm4gYmFja2dyb3VuZFNob3J0aGFuZCgpOworICAgIGNhc2UgQ1NTUHJvcGVydHlCYWNrZ3Jv
dW5kUG9zaXRpb246CisgICAgICAgIHJldHVybiBiYWNrZ3JvdW5kUG9zaXRpb25TaG9ydGhhbmQo
KTsKKyAgICBjYXNlIENTU1Byb3BlcnR5QmFja2dyb3VuZFJlcGVhdDoKKyAgICAgICAgcmV0dXJu
IGJhY2tncm91bmRSZXBlYXRTaG9ydGhhbmQoKTsKKyAgICBjYXNlIENTU1Byb3BlcnR5Qm9yZGVy
OgorICAgICAgICByZXR1cm4gYm9yZGVyU2hvcnRoYW5kKCk7CisgICAgY2FzZSBDU1NQcm9wZXJ0
eUJvcmRlckJvdHRvbToKKyAgICAgICAgcmV0dXJuIGJvcmRlckJvdHRvbVNob3J0aGFuZCgpOwor
ICAgIGNhc2UgQ1NTUHJvcGVydHlCb3JkZXJDb2xvcjoKKyAgICAgICAgcmV0dXJuIGJvcmRlckNv
bG9yU2hvcnRoYW5kKCk7CisgICAgY2FzZSBDU1NQcm9wZXJ0eUJvcmRlckltYWdlOgorICAgICAg
ICByZXR1cm4gYm9yZGVySW1hZ2VTaG9ydGhhbmQoKTsKKyAgICBjYXNlIENTU1Byb3BlcnR5Qm9y
ZGVyTGVmdDoKKyAgICAgICAgcmV0dXJuIGJvcmRlckxlZnRTaG9ydGhhbmQoKTsKKyAgICBjYXNl
IENTU1Byb3BlcnR5Qm9yZGVyUmFkaXVzOgorICAgICAgICByZXR1cm4gYm9yZGVyUmFkaXVzU2hv
cnRoYW5kKCk7CisgICAgY2FzZSBDU1NQcm9wZXJ0eUJvcmRlclJpZ2h0OgorICAgICAgICByZXR1
cm4gYm9yZGVyUmlnaHRTaG9ydGhhbmQoKTsKKyAgICBjYXNlIENTU1Byb3BlcnR5Qm9yZGVyU3Bh
Y2luZzoKKyAgICAgICAgcmV0dXJuIGJvcmRlclNwYWNpbmdTaG9ydGhhbmQoKTsKKyAgICBjYXNl
IENTU1Byb3BlcnR5Qm9yZGVyU3R5bGU6CisgICAgICAgIHJldHVybiBib3JkZXJTdHlsZVNob3J0
aGFuZCgpOworICAgIGNhc2UgQ1NTUHJvcGVydHlCb3JkZXJUb3A6CisgICAgICAgIHJldHVybiBi
b3JkZXJUb3BTaG9ydGhhbmQoKTsKKyAgICBjYXNlIENTU1Byb3BlcnR5Qm9yZGVyV2lkdGg6Cisg
ICAgICAgIHJldHVybiBib3JkZXJXaWR0aFNob3J0aGFuZCgpOworICAgIGNhc2UgQ1NTUHJvcGVy
dHlMaXN0U3R5bGU6CisgICAgICAgIHJldHVybiBsaXN0U3R5bGVTaG9ydGhhbmQoKTsKKyAgICBj
YXNlIENTU1Byb3BlcnR5Rm9udDoKKyAgICAgICAgcmV0dXJuIGZvbnRTaG9ydGhhbmQoKTsKKyAg
ICBjYXNlIENTU1Byb3BlcnR5TWFyZ2luOgorICAgICAgICByZXR1cm4gbWFyZ2luU2hvcnRoYW5k
KCk7CisgICAgY2FzZSBDU1NQcm9wZXJ0eU91dGxpbmU6CisgICAgICAgIHJldHVybiBvdXRsaW5l
U2hvcnRoYW5kKCk7CisgICAgY2FzZSBDU1NQcm9wZXJ0eU92ZXJmbG93OgorICAgICAgICByZXR1
cm4gb3ZlcmZsb3dTaG9ydGhhbmQoKTsKKyAgICBjYXNlIENTU1Byb3BlcnR5UGFkZGluZzoKKyAg
ICAgICAgcmV0dXJuIHBhZGRpbmdTaG9ydGhhbmQoKTsKKyAgICBjYXNlIENTU1Byb3BlcnR5V2Vi
a2l0QW5pbWF0aW9uOgorICAgICAgICByZXR1cm4gd2Via2l0QW5pbWF0aW9uU2hvcnRoYW5kKCk7
CisgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdEJvcmRlckFmdGVyOgorICAgICAgICByZXR1cm4g
d2Via2l0Qm9yZGVyQWZ0ZXJTaG9ydGhhbmQoKTsKKyAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0
Qm9yZGVyQmVmb3JlOgorICAgICAgICByZXR1cm4gd2Via2l0Qm9yZGVyQmVmb3JlU2hvcnRoYW5k
KCk7CisgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdEJvcmRlckVuZDoKKyAgICAgICAgcmV0dXJu
IHdlYmtpdEJvcmRlckVuZFNob3J0aGFuZCgpOworICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRC
b3JkZXJTdGFydDoKKyAgICAgICAgcmV0dXJuIHdlYmtpdEJvcmRlclN0YXJ0U2hvcnRoYW5kKCk7
CisgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdEJvcmRlclJhZGl1czoKKyAgICAgICAgcmV0dXJu
IGJvcmRlclJhZGl1c1Nob3J0aGFuZCgpOworICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRDb2x1
bW5zOgorICAgICAgICByZXR1cm4gd2Via2l0Q29sdW1uc1Nob3J0aGFuZCgpOworICAgIGNhc2Ug
Q1NTUHJvcGVydHlXZWJraXRDb2x1bW5SdWxlOgorICAgICAgICByZXR1cm4gd2Via2l0Q29sdW1u
UnVsZVNob3J0aGFuZCgpOworICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRGbGV4RmxvdzoKKyAg
ICAgICAgcmV0dXJuIHdlYmtpdEZsZXhGbG93U2hvcnRoYW5kKCk7CisgICAgY2FzZSBDU1NQcm9w
ZXJ0eVdlYmtpdE1hcmdpbkNvbGxhcHNlOgorICAgICAgICByZXR1cm4gd2Via2l0TWFyZ2luQ29s
bGFwc2VTaG9ydGhhbmQoKTsKKyAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0TWFycXVlZToKKyAg
ICAgICAgcmV0dXJuIHdlYmtpdE1hcnF1ZWVTaG9ydGhhbmQoKTsKKyAgICBjYXNlIENTU1Byb3Bl
cnR5V2Via2l0TWFzazoKKyAgICAgICAgcmV0dXJuIHdlYmtpdE1hc2tTaG9ydGhhbmQoKTsKKyAg
ICBjYXNlIENTU1Byb3BlcnR5V2Via2l0TWFza1Bvc2l0aW9uOgorICAgICAgICByZXR1cm4gd2Vi
a2l0TWFza1Bvc2l0aW9uU2hvcnRoYW5kKCk7CisgICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdE1h
c2tSZXBlYXQ6CisgICAgICAgIHJldHVybiB3ZWJraXRNYXNrUmVwZWF0U2hvcnRoYW5kKCk7Cisg
ICAgY2FzZSBDU1NQcm9wZXJ0eVdlYmtpdFRleHRFbXBoYXNpczoKKyAgICAgICAgcmV0dXJuIHdl
YmtpdFRleHRFbXBoYXNpc1Nob3J0aGFuZCgpOworICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRU
ZXh0U3Ryb2tlOgorICAgICAgICByZXR1cm4gd2Via2l0VGV4dFN0cm9rZVNob3J0aGFuZCgpOwor
ICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRUcmFuc2l0aW9uOgorICAgICAgICByZXR1cm4gd2Vi
a2l0VHJhbnNpdGlvblNob3J0aGFuZCgpOworICAgIGNhc2UgQ1NTUHJvcGVydHlXZWJraXRUcmFu
c2Zvcm1PcmlnaW46CisgICAgICAgIHJldHVybiB3ZWJraXRUcmFuc2Zvcm1PcmlnaW5TaG9ydGhh
bmQoKTsKKyAgICBjYXNlIENTU1Byb3BlcnR5V2Via2l0V3JhcDoKKyAgICAgICAgcmV0dXJuIHdl
YmtpdFdyYXBTaG9ydGhhbmQoKTsKKyAgICBkZWZhdWx0OiB7CisgICAgICAgIERFRklORV9TVEFU
SUNfTE9DQUwoU3R5bGVQcm9wZXJ0eVNob3J0aGFuZCwgZW1wdHlTaG9ydGhhbmQsICgpKTsKKyAg
ICAgICAgcmV0dXJuIGVtcHR5U2hvcnRoYW5kOworICAgIH0KKyAgICB9Cit9CisKK30gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVByb3Bl
cnR5U2hvcnRoYW5kLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVQcm9wZXJ0eVNob3J0aGFu
ZC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjIxODgzM2RjOGU0NzNjMGM3Nzc2OTk1NGQ4ZDFmMDVlYzA5YjNhNDAK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVQcm9wZXJ0eVNob3J0
aGFuZC5oCkBAIC0wLDAgKzEsMTA2IEBACisvKgorICogKEMpIDE5OTktMjAwMyBMYXJzIEtub2xs
IChrbm9sbEBrZGUub3JnKQorICogQ29weXJpZ2h0IChDKSAyMDA0LCAyMDA1LCAyMDA2LCAyMDA4
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMg
ZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkg
aXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICog
TGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0
aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55
IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRo
ZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFO
VFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklM
SVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAq
IExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAq
IFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVy
YWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZp
bGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBG
b3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorICogQm9z
dG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisgKi8KKworI2lmbmRlZiBTdHlsZVByb3BlcnR5U2hv
cnRoYW5kX2gKKyNkZWZpbmUgU3R5bGVQcm9wZXJ0eVNob3J0aGFuZF9oCisKKyNpbmNsdWRlICJD
U1NQcm9wZXJ0eU5hbWVzLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgU3R5bGVQ
cm9wZXJ0eVNob3J0aGFuZCB7CitwdWJsaWM6CisgICAgU3R5bGVQcm9wZXJ0eVNob3J0aGFuZCgp
CisgICAgICAgIDogbV9wcm9wZXJ0aWVzKDApCisgICAgICAgICwgbV9wcm9wZXJ0aWVzRm9ySW5p
dGlhbGl6YXRpb24oMCkKKyAgICAgICAgLCBtX2xlbmd0aCgwKQorICAgIHsKKyAgICB9CisKKyAg
ICBTdHlsZVByb3BlcnR5U2hvcnRoYW5kKGNvbnN0IENTU1Byb3BlcnR5SUQqIHByb3BlcnRpZXMs
IHVuc2lnbmVkIG51bVByb3BlcnRpZXMpCisgICAgICAgIDogbV9wcm9wZXJ0aWVzKHByb3BlcnRp
ZXMpCisgICAgICAgICwgbV9wcm9wZXJ0aWVzRm9ySW5pdGlhbGl6YXRpb24oMCkKKyAgICAgICAg
LCBtX2xlbmd0aChudW1Qcm9wZXJ0aWVzKQorICAgIHsKKyAgICB9CisKKyAgICBTdHlsZVByb3Bl
cnR5U2hvcnRoYW5kKGNvbnN0IENTU1Byb3BlcnR5SUQqIHByb3BlcnRpZXMsIGNvbnN0IFN0eWxl
UHJvcGVydHlTaG9ydGhhbmQqKiBwcm9wZXJ0aWVzRm9ySW5pdGlhbGl6YXRpb24sIHVuc2lnbmVk
IG51bVByb3BlcnRpZXMpCisgICAgICAgIDogbV9wcm9wZXJ0aWVzKHByb3BlcnRpZXMpCisgICAg
ICAgICwgbV9wcm9wZXJ0aWVzRm9ySW5pdGlhbGl6YXRpb24ocHJvcGVydGllc0ZvckluaXRpYWxp
emF0aW9uKQorICAgICAgICAsIG1fbGVuZ3RoKG51bVByb3BlcnRpZXMpCisgICAgeworICAgIH0K
KworICAgIGNvbnN0IENTU1Byb3BlcnR5SUQqIHByb3BlcnRpZXMoKSBjb25zdCB7IHJldHVybiBt
X3Byb3BlcnRpZXM7IH0KKyAgICBjb25zdCBTdHlsZVByb3BlcnR5U2hvcnRoYW5kKiogcHJvcGVy
dGllc0ZvckluaXRpYWxpemF0aW9uKCkgY29uc3QgeyByZXR1cm4gbV9wcm9wZXJ0aWVzRm9ySW5p
dGlhbGl6YXRpb247IH0KKyAgICB1bnNpZ25lZCBsZW5ndGgoKSBjb25zdCB7IHJldHVybiBtX2xl
bmd0aDsgfQorCitwcml2YXRlOgorICAgIGNvbnN0IENTU1Byb3BlcnR5SUQqIG1fcHJvcGVydGll
czsKKyAgICBjb25zdCBTdHlsZVByb3BlcnR5U2hvcnRoYW5kKiogbV9wcm9wZXJ0aWVzRm9ySW5p
dGlhbGl6YXRpb247CisgICAgdW5zaWduZWQgbV9sZW5ndGg7Cit9OworCitjb25zdCBTdHlsZVBy
b3BlcnR5U2hvcnRoYW5kJiBiYWNrZ3JvdW5kU2hvcnRoYW5kKCk7Citjb25zdCBTdHlsZVByb3Bl
cnR5U2hvcnRoYW5kJiBiYWNrZ3JvdW5kUG9zaXRpb25TaG9ydGhhbmQoKTsKK2NvbnN0IFN0eWxl
UHJvcGVydHlTaG9ydGhhbmQmIGJhY2tncm91bmRSZXBlYXRTaG9ydGhhbmQoKTsKK2NvbnN0IFN0
eWxlUHJvcGVydHlTaG9ydGhhbmQmIGJvcmRlclNob3J0aGFuZCgpOworY29uc3QgU3R5bGVQcm9w
ZXJ0eVNob3J0aGFuZCYgYm9yZGVyQWJyaWRnZWRTaG9ydGhhbmQoKTsKK2NvbnN0IFN0eWxlUHJv
cGVydHlTaG9ydGhhbmQmIGJvcmRlckJvdHRvbVNob3J0aGFuZCgpOworY29uc3QgU3R5bGVQcm9w
ZXJ0eVNob3J0aGFuZCYgYm9yZGVyQ29sb3JTaG9ydGhhbmQoKTsKK2NvbnN0IFN0eWxlUHJvcGVy
dHlTaG9ydGhhbmQmIGJvcmRlckltYWdlU2hvcnRoYW5kKCk7Citjb25zdCBTdHlsZVByb3BlcnR5
U2hvcnRoYW5kJiBib3JkZXJMZWZ0U2hvcnRoYW5kKCk7Citjb25zdCBTdHlsZVByb3BlcnR5U2hv
cnRoYW5kJiBib3JkZXJSYWRpdXNTaG9ydGhhbmQoKTsKK2NvbnN0IFN0eWxlUHJvcGVydHlTaG9y
dGhhbmQmIGJvcmRlclJpZ2h0U2hvcnRoYW5kKCk7Citjb25zdCBTdHlsZVByb3BlcnR5U2hvcnRo
YW5kJiBib3JkZXJTcGFjaW5nU2hvcnRoYW5kKCk7Citjb25zdCBTdHlsZVByb3BlcnR5U2hvcnRo
YW5kJiBib3JkZXJTdHlsZVNob3J0aGFuZCgpOworY29uc3QgU3R5bGVQcm9wZXJ0eVNob3J0aGFu
ZCYgYm9yZGVyVG9wU2hvcnRoYW5kKCk7Citjb25zdCBTdHlsZVByb3BlcnR5U2hvcnRoYW5kJiBi
b3JkZXJXaWR0aFNob3J0aGFuZCgpOworY29uc3QgU3R5bGVQcm9wZXJ0eVNob3J0aGFuZCYgbGlz
dFN0eWxlU2hvcnRoYW5kKCk7Citjb25zdCBTdHlsZVByb3BlcnR5U2hvcnRoYW5kJiBmb250U2hv
cnRoYW5kKCk7Citjb25zdCBTdHlsZVByb3BlcnR5U2hvcnRoYW5kJiBtYXJnaW5TaG9ydGhhbmQo
KTsKK2NvbnN0IFN0eWxlUHJvcGVydHlTaG9ydGhhbmQmIG91dGxpbmVTaG9ydGhhbmQoKTsKK2Nv
bnN0IFN0eWxlUHJvcGVydHlTaG9ydGhhbmQmIG92ZXJmbG93U2hvcnRoYW5kKCk7Citjb25zdCBT
dHlsZVByb3BlcnR5U2hvcnRoYW5kJiBwYWRkaW5nU2hvcnRoYW5kKCk7Citjb25zdCBTdHlsZVBy
b3BlcnR5U2hvcnRoYW5kJiB3ZWJraXRBbmltYXRpb25TaG9ydGhhbmQoKTsKK2NvbnN0IFN0eWxl
UHJvcGVydHlTaG9ydGhhbmQmIHdlYmtpdEJvcmRlckFmdGVyU2hvcnRoYW5kKCk7Citjb25zdCBT
dHlsZVByb3BlcnR5U2hvcnRoYW5kJiB3ZWJraXRCb3JkZXJCZWZvcmVTaG9ydGhhbmQoKTsKK2Nv
bnN0IFN0eWxlUHJvcGVydHlTaG9ydGhhbmQmIHdlYmtpdEJvcmRlckVuZFNob3J0aGFuZCgpOwor
Y29uc3QgU3R5bGVQcm9wZXJ0eVNob3J0aGFuZCYgd2Via2l0Qm9yZGVyU3RhcnRTaG9ydGhhbmQo
KTsKK2NvbnN0IFN0eWxlUHJvcGVydHlTaG9ydGhhbmQmIHdlYmtpdENvbHVtbnNTaG9ydGhhbmQo
KTsKK2NvbnN0IFN0eWxlUHJvcGVydHlTaG9ydGhhbmQmIHdlYmtpdENvbHVtblJ1bGVTaG9ydGhh
bmQoKTsKK2NvbnN0IFN0eWxlUHJvcGVydHlTaG9ydGhhbmQmIHdlYmtpdEZsZXhGbG93U2hvcnRo
YW5kKCk7Citjb25zdCBTdHlsZVByb3BlcnR5U2hvcnRoYW5kJiB3ZWJraXRNYXJnaW5Db2xsYXBz
ZVNob3J0aGFuZCgpOworY29uc3QgU3R5bGVQcm9wZXJ0eVNob3J0aGFuZCYgd2Via2l0TWFycXVl
ZVNob3J0aGFuZCgpOworY29uc3QgU3R5bGVQcm9wZXJ0eVNob3J0aGFuZCYgd2Via2l0TWFza1No
b3J0aGFuZCgpOworY29uc3QgU3R5bGVQcm9wZXJ0eVNob3J0aGFuZCYgd2Via2l0TWFza1Bvc2l0
aW9uU2hvcnRoYW5kKCk7Citjb25zdCBTdHlsZVByb3BlcnR5U2hvcnRoYW5kJiB3ZWJraXRNYXNr
UmVwZWF0U2hvcnRoYW5kKCk7Citjb25zdCBTdHlsZVByb3BlcnR5U2hvcnRoYW5kJiB3ZWJraXRU
ZXh0RW1waGFzaXNTaG9ydGhhbmQoKTsKK2NvbnN0IFN0eWxlUHJvcGVydHlTaG9ydGhhbmQmIHdl
YmtpdFRleHRTdHJva2VTaG9ydGhhbmQoKTsKK2NvbnN0IFN0eWxlUHJvcGVydHlTaG9ydGhhbmQm
IHdlYmtpdFRyYW5zaXRpb25TaG9ydGhhbmQoKTsKK2NvbnN0IFN0eWxlUHJvcGVydHlTaG9ydGhh
bmQmIHdlYmtpdFRyYW5zZm9ybU9yaWdpblNob3J0aGFuZCgpOworY29uc3QgU3R5bGVQcm9wZXJ0
eVNob3J0aGFuZCYgd2Via2l0V3JhcFNob3J0aGFuZCgpOworCisvLyBSZXR1cm5zIGFuIGVtcHR5
IGxpc3QgaWYgdGhlIHByb3BlcnR5IGlzIG5vdCBhIHNob3J0aGFuZAorY29uc3QgU3R5bGVQcm9w
ZXJ0eVNob3J0aGFuZCYgc2hvcnRoYW5kRm9yUHJvcGVydHkoaW50KTsKKworfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQorCisjZW5kaWYgLy8gU3R5bGVQcm9wZXJ0eVNob3J0aGFuZF9oCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL2FuaW1hdGlvbi9BbmltYXRpb25CYXNlLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvYW5pbWF0aW9uL0FuaW1hdGlvbkJhc2UuY3BwCmluZGV4IGFiZGJl
ZTdiZDQ1NTllOTU1ZTMyMTIwMTk1YTA5MTQxOGJkMTY4M2EuLjYzY2RjZjc5NGY2ZmUzMTcxOTUy
OWM0NTNmY2RmMWQwYmY5MDhhN2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvYW5p
bWF0aW9uL0FuaW1hdGlvbkJhc2UuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvYW5pbWF0
aW9uL0FuaW1hdGlvbkJhc2UuY3BwCkBAIC0zNCw3ICszNCw2IEBACiAjaW5jbHVkZSAiQ1NTSW1h
Z2VHZW5lcmF0b3JWYWx1ZS5oIgogI2luY2x1ZGUgIkNTU0ltYWdlVmFsdWUuaCIKICNpbmNsdWRl
ICJDU1NQcmltaXRpdmVWYWx1ZS5oIgotI2luY2x1ZGUgIkNTU1Byb3BlcnR5TG9uZ2hhbmQuaCIK
ICNpbmNsdWRlICJDU1NQcm9wZXJ0eU5hbWVzLmgiCiAjaW5jbHVkZSAiQ29tcG9zaXRlQW5pbWF0
aW9uLmgiCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKQEAgLTQ5LDYgKzQ4LDcgQEAKICNpbmNsdWRl
ICJSZW5kZXJTdHlsZS5oIgogI2luY2x1ZGUgIlN0eWxlQ2FjaGVkSW1hZ2UuaCIKICNpbmNsdWRl
ICJTdHlsZUdlbmVyYXRlZEltYWdlLmgiCisjaW5jbHVkZSAiU3R5bGVQcm9wZXJ0eVNob3J0aGFu
ZC5oIgogI2luY2x1ZGUgIlVuaXRCZXppZXIuaCIKICNpbmNsdWRlIDxhbGdvcml0aG0+CiAjaW5j
bHVkZSA8d3RmL0N1cnJlbnRUaW1lLmg+Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>