<?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>164028</bug_id>
          
          <creation_ts>2016-10-26 13:09:52 -0700</creation_ts>
          <short_desc>[EME] Add no-op Web-facing APIs</short_desc>
          <delta_ts>2016-11-10 09:11:58 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>158836</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Zan Dobersek">zan</reporter>
          <assigned_to name="Zan Dobersek">zan</assigned_to>
          <cc>calvaris</cc>
    
    <cc>commit-queue</cc>
    
    <cc>jer.noble</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1244876</commentid>
    <comment_count>0</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2016-10-26 13:09:52 -0700</bug_when>
    <thetext>[EME] Add no-op Web-facing APIs</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1244885</commentid>
    <comment_count>1</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2016-10-26 13:35:20 -0700</bug_when>
    <thetext>The idea is to start with WebIDL definitions and the underlying C++ classes. The implementations would be non-operational for starters, with future patches implementing the relevant algorithms and queries to the platform layer.

Incoming patch needs a few more iterations, mostly for the Xcode and Windows build systems, but the gist of it is reviewable.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1244886</commentid>
    <comment_count>2</comment_count>
      <attachid>292957</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2016-10-26 13:35:38 -0700</bug_when>
    <thetext>Created attachment 292957
WIP</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1245085</commentid>
    <comment_count>3</comment_count>
      <attachid>293009</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2016-10-27 03:24:54 -0700</bug_when>
    <thetext>Created attachment 293009
WIP</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1246916</commentid>
    <comment_count>4</comment_count>
      <attachid>293555</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2016-11-01 10:05:19 -0700</bug_when>
    <thetext>Created attachment 293555
WIP

Trying to get the patch building on all EWS configs.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1248985</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-11-07 23:01:00 -0800</bug_when>
    <thetext>Attachment 293555 did not pass style-queue:


ERROR: Source/WebCore/bindings/js/JSMediaKeySystemAccessCustom.cpp:33:  You should add a blank line after implementation file&apos;s own header.  [build/include_order] [4]
ERROR: Source/WebCore/bindings/js/JSMediaKeySystemAccessCustom.cpp:33:  You should not add a blank line before implementation file&apos;s own header.  [build/include_order] [4]
ERROR: Source/WebCore/bindings/js/JSMediaKeySessionCustom.cpp:33:  You should add a blank line after implementation file&apos;s own header.  [build/include_order] [4]
ERROR: Source/WebCore/bindings/js/JSMediaKeySessionCustom.cpp:33:  You should not add a blank line before implementation file&apos;s own header.  [build/include_order] [4]
Total errors found: 4 in 48 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1249025</commentid>
    <comment_count>6</comment_count>
      <attachid>294154</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2016-11-08 04:58:09 -0800</bug_when>
    <thetext>Created attachment 294154
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1249026</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-11-08 05:00:12 -0800</bug_when>
    <thetext>Attachment 294154 did not pass style-queue:


ERROR: Source/WebCore/bindings/js/JSMediaKeySystemAccessCustom.cpp:33:  You should not add a blank line before implementation file&apos;s own header.  [build/include_order] [4]
ERROR: Source/WebCore/bindings/js/JSMediaKeySessionCustom.cpp:33:  You should not add a blank line before implementation file&apos;s own header.  [build/include_order] [4]
Total errors found: 2 in 48 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1249034</commentid>
    <comment_count>8</comment_count>
      <attachid>294154</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2016-11-08 06:56:40 -0800</bug_when>
    <thetext>Comment on attachment 294154
Patch

Looks good! We may want to add a runtime-enabled switch for all these new interfaces, in a future patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1249727</commentid>
    <comment_count>9</comment_count>
      <attachid>294348</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2016-11-10 01:29:00 -0800</bug_when>
    <thetext>Created attachment 294348
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1249729</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-11-10 01:32:14 -0800</bug_when>
    <thetext>Attachment 294348 did not pass style-queue:


ERROR: Source/WebCore/bindings/js/JSMediaKeySystemAccessCustom.cpp:33:  You should not add a blank line before implementation file&apos;s own header.  [build/include_order] [4]
ERROR: Source/WebCore/bindings/js/JSMediaKeySessionCustom.cpp:33:  You should not add a blank line before implementation file&apos;s own header.  [build/include_order] [4]
Total errors found: 2 in 48 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1249747</commentid>
    <comment_count>11</comment_count>
      <attachid>294357</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2016-11-10 03:22:59 -0800</bug_when>
    <thetext>Created attachment 294357
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1249748</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-11-10 03:24:54 -0800</bug_when>
    <thetext>Attachment 294357 did not pass style-queue:


ERROR: Source/WebCore/bindings/js/JSMediaKeySystemAccessCustom.cpp:33:  You should not add a blank line before implementation file&apos;s own header.  [build/include_order] [4]
ERROR: Source/WebCore/bindings/js/JSMediaKeySessionCustom.cpp:33:  You should not add a blank line before implementation file&apos;s own header.  [build/include_order] [4]
Total errors found: 2 in 48 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1249815</commentid>
    <comment_count>13</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2016-11-10 09:09:51 -0800</bug_when>
    <thetext>The patch needed an update after the generation of promise code was modified I think yesterday.

mac-debug EWS is reporting failures, but the bot seems in bad state and the failures in the build it managed to compile aren&apos;t related.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1249816</commentid>
    <comment_count>14</comment_count>
      <attachid>294357</attachid>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2016-11-10 09:11:49 -0800</bug_when>
    <thetext>Comment on attachment 294357
Patch for landing

Clearing flags on attachment: 294357

Committed r208539: &lt;http://trac.webkit.org/changeset/208539&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1249817</commentid>
    <comment_count>15</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2016-11-10 09:11:58 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>292957</attachid>
            <date>2016-10-26 13:35:38 -0700</date>
            <delta_ts>2016-10-27 03:24:46 -0700</delta_ts>
            <desc>WIP</desc>
            <filename>bug-164028-20161026133149.patch</filename>
            <type>text/plain</type>
            <size>140598</size>
            <attacher name="Zan Dobersek">zan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA3ODk0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNzM1ODQ4MDdlOTRkMTg0
NjNkODNjNTYyNjhiMGRlMGIzMWZkZDZkNC4uMjQxMDE3MWNlYTRiN2U2ODFiMGEzYTNiM2MyNGZl
OWMzM2Q3NDgyOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDExNyBAQAorMjAxNi0xMC0yNiAgWmFu
IERvYmVyc2VrICA8emRvYmVyc2VrQGlnYWxpYS5jb20+CisKKyAgICAgICAgW0VNRV0gQWRkIG5v
LW9wIFdlYi1mYWNpbmcgQVBJcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTY0MDI4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgQWRkIHRoZSBzcGVjLWRlZmluZWQgRU1FIEFQSXMgdGhhdCBhcmUgZXhwb3Nl
ZCBvbiB0aGUgcGxhdGZvcm0uCisgICAgICAgIFRoZSB1bmRlcmx5aW5nIFdlYkNvcmUgY2xhc3Nl
cyBhcmUgbGVmdCBub24tb3BlcmF0aW9uYWwgZm9yIG5vdworICAgICAgICBhbmQgd2lsbCBiZSBw
cm9wZXJseSBpbXBsZW1lbnRlZCBpbiBmdXR1cmUgcGF0Y2hlcy4KKworICAgICAgICBUaGUgaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9lbmNyeXB0ZWQtbWVkaWEvaWRsaGFybmVzcy5o
dG1sCisgICAgICAgIHRlc3QgaGFzIGl0cyBleHBlY3RlZCByZXN1bHQgdXBkYXRlZCwgcGFzc2lu
ZyA1NyBvZiA1OCB0ZXN0cy4KKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAq
IERlcml2ZWRTb3VyY2VzLm1ha2U6CisgICAgICAgICogTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9N
ZWRpYUtleU1lc3NhZ2VFdmVudC5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFL
ZXlNZXNzYWdlRXZlbnQ6Ok1lZGlhS2V5TWVzc2FnZUV2ZW50KToKKyAgICAgICAgKFdlYkNvcmU6
Ok1lZGlhS2V5TWVzc2FnZUV2ZW50OjpldmVudEludGVyZmFjZSk6CisgICAgICAgICogTW9kdWxl
cy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleU1lc3NhZ2VFdmVudC5oOiBBZGRlZC4KKyAgICAgICAg
KFdlYkNvcmU6Ok1lZGlhS2V5TWVzc2FnZUV2ZW50OjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29y
ZTo6TWVkaWFLZXlNZXNzYWdlRXZlbnQ6Om1lc3NhZ2VUeXBlKToKKyAgICAgICAgKFdlYkNvcmU6
Ok1lZGlhS2V5TWVzc2FnZUV2ZW50OjptZXNzYWdlKToKKyAgICAgICAgKiBNb2R1bGVzL2VuY3J5
cHRlZG1lZGlhL01lZGlhS2V5TWVzc2FnZUV2ZW50LmlkbDogQWRkZWQuCisgICAgICAgICogTW9k
dWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleU1lc3NhZ2VFdmVudEluaXQuaDogQWRkZWQuCisg
ICAgICAgIChXZWJDb3JlOjpNZWRpYUtleU1lc3NhZ2VFdmVudEluaXQ6Ok1lZGlhS2V5TWVzc2Fn
ZUV2ZW50SW5pdCk6CisgICAgICAgICogTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleU1l
c3NhZ2VUeXBlLmg6IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVk
aWFLZXlTZXNzaW9uLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpNZWRpYUtleVNlc3Np
b246OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUtleVNlc3Npb246Ok1lZGlhS2V5
U2Vzc2lvbik6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUtleVNlc3Npb246OnNlc3Npb25JZCk6
CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUtleVNlc3Npb246OmV4cGlyYXRpb24pOgorICAgICAg
ICAoV2ViQ29yZTo6TWVkaWFLZXlTZXNzaW9uOjprZXlTdGF0dXNlcyk6CisgICAgICAgIChXZWJD
b3JlOjpNZWRpYUtleVNlc3Npb246OmdlbmVyYXRlUmVxdWVzdCk6CisgICAgICAgIChXZWJDb3Jl
OjpNZWRpYUtleVNlc3Npb246OmxvYWQpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFLZXlTZXNz
aW9uOjp1cGRhdGUpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFLZXlTZXNzaW9uOjpjbG9zZSk6
CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUtleVNlc3Npb246OnJlbW92ZSk6CisgICAgICAgIChX
ZWJDb3JlOjpNZWRpYUtleVNlc3Npb246Omhhc1BlbmRpbmdBY3Rpdml0eSk6CisgICAgICAgIChX
ZWJDb3JlOjpNZWRpYUtleVNlc3Npb246OmFjdGl2ZURPTU9iamVjdE5hbWUpOgorICAgICAgICAo
V2ViQ29yZTo6TWVkaWFLZXlTZXNzaW9uOjpjYW5TdXNwZW5kRm9yRG9jdW1lbnRTdXNwZW5zaW9u
KToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhS2V5U2Vzc2lvbjo6c3RvcCk6CisgICAgICAgICog
TW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVNlc3Npb24uaDogQWRkZWQuCisgICAgICAg
ICogTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVNlc3Npb24uaWRsOiBBZGRlZC4KKyAg
ICAgICAgKiBNb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U2Vzc2lvblR5cGUuaDogQWRk
ZWQuCisgICAgICAgICogTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVN0YXR1cy5oOiBB
ZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U3RhdHVzTWFw
LmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpNZWRpYUtleVN0YXR1c01hcDo6c2l6ZSk6
CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUtleVN0YXR1c01hcDo6aGFzKToKKyAgICAgICAgKFdl
YkNvcmU6Ok1lZGlhS2V5U3RhdHVzTWFwOjpnZXQpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFL
ZXlTdGF0dXNNYXA6Okl0ZXJhdG9yOjpJdGVyYXRvcik6CisgICAgICAgIChXZWJDb3JlOjpNZWRp
YUtleVN0YXR1c01hcDo6SXRlcmF0b3I6Om5leHQpOgorICAgICAgICAqIE1vZHVsZXMvZW5jcnlw
dGVkbWVkaWEvTWVkaWFLZXlTdGF0dXNNYXAuaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpN
ZWRpYUtleVN0YXR1c01hcDo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhS2V5U3Rh
dHVzTWFwOjpjcmVhdGVJdGVyYXRvcik6CisgICAgICAgICogTW9kdWxlcy9lbmNyeXB0ZWRtZWRp
YS9NZWRpYUtleVN0YXR1c01hcC5pZGw6IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMvZW5jcnlw
dGVkbWVkaWEvTWVkaWFLZXlTeXN0ZW1BY2Nlc3MuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNv
cmU6Ok1lZGlhS2V5U3lzdGVtQWNjZXNzOjprZXlTeXN0ZW0pOgorICAgICAgICAoV2ViQ29yZTo6
TWVkaWFLZXlTeXN0ZW1BY2Nlc3M6OmdldENvbmZpZ3VyYXRpb24pOgorICAgICAgICAoV2ViQ29y
ZTo6TWVkaWFLZXlTeXN0ZW1BY2Nlc3M6OmNyZWF0ZU1lZGlhS2V5cyk6CisgICAgICAgICogTW9k
dWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVN5c3RlbUFjY2Vzcy5oOiBBZGRlZC4KKyAgICAg
ICAgKFdlYkNvcmU6Ok1lZGlhS2V5U3lzdGVtQWNjZXNzOjpjcmVhdGUpOgorICAgICAgICAqIE1v
ZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlTeXN0ZW1BY2Nlc3MuaWRsOiBBZGRlZC4KKyAg
ICAgICAgKiBNb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U3lzdGVtQ29uZmlndXJhdGlv
bi5oOiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U3lz
dGVtQ29uZmlndXJhdGlvbi5pZGw6IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMvZW5jcnlwdGVk
bWVkaWEvTWVkaWFLZXlTeXN0ZW1NZWRpYUNhcGFiaWxpdHkuaDogQWRkZWQuCisgICAgICAgICog
TW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVN5c3RlbU1lZGlhQ2FwYWJpbGl0eS5pZGw6
IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlzLmNwcDog
QWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpNZWRpYUtleXM6OmNyZWF0ZVNlc3Npb24pOgorICAg
ICAgICAoV2ViQ29yZTo6TWVkaWFLZXlzOjpzZXRTZXJ2ZXJDZXJ0aWZpY2F0ZSk6CisgICAgICAg
ICogTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleXMuaDogQWRkZWQuCisgICAgICAgIChX
ZWJDb3JlOjpNZWRpYUtleXM6OmNyZWF0ZSk6CisgICAgICAgICogTW9kdWxlcy9lbmNyeXB0ZWRt
ZWRpYS9NZWRpYUtleXMuaWRsOiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL2VuY3J5cHRlZG1l
ZGlhL01lZGlhS2V5c1JlcXVpcmVtZW50Lmg6IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMvZW5j
cnlwdGVkbWVkaWEvTmF2aWdhdG9yRU1FLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpO
YXZpZ2F0b3JFTUU6OnJlcXVlc3RNZWRpYUtleVN5c3RlbUFjY2Vzcyk6CisgICAgICAgICogTW9k
dWxlcy9lbmNyeXB0ZWRtZWRpYS9OYXZpZ2F0b3JFTUUuaDogQWRkZWQuCisgICAgICAgICogTW9k
dWxlcy9lbmNyeXB0ZWRtZWRpYS9OYXZpZ2F0b3JFTUUuaWRsOiBBZGRlZC4KKyAgICAgICAgKiBN
b2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpT
b3VyY2VCdWZmZXI6OmFwcGVuZEJ1ZmZlcik6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0J1ZmZlclNvdXJjZS5oOgor
ICAgICAgICAoV2ViQ29yZTo6QnVmZmVyU291cmNlOjpCdWZmZXJTb3VyY2UpOgorICAgICAgICAo
V2ViQ29yZTo6QnVmZmVyU291cmNlOjpidWZmZXIpOgorICAgICAgICAoV2ViQ29yZTo6QnVmZmVy
U291cmNlOjpidWZmZXJWaWV3KToKKyAgICAgICAgKFdlYkNvcmU6OkJ1ZmZlclNvdXJjZTo6ZGF0
YSk6CisgICAgICAgIChXZWJDb3JlOjpCdWZmZXJTb3VyY2U6Omxlbmd0aCk6CisgICAgICAgICog
YmluZGluZ3MvanMvSlNET01Db252ZXJ0Lmg6CisgICAgICAgIChXZWJDb3JlOjpDb252ZXJ0ZXI8
SURMQnVmZmVyU291cmNlPjo6Y29udmVydCk6CisgICAgICAgIChXZWJDb3JlOjpKU0NvbnZlcnRl
cjxJRExCdWZmZXJTb3VyY2U+Ojpjb252ZXJ0KToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU01l
ZGlhS2V5U2Vzc2lvbkN1c3RvbS5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6SlNNZWRp
YUtleVNlc3Npb246OmNsb3NlZCk6CisgICAgICAgICogYmluZGluZ3MvanMvSlNNZWRpYUtleVN5
c3RlbUFjY2Vzc0N1c3RvbS5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6SlNNZWRpYUtl
eVN5c3RlbUFjY2Vzczo6Z2V0Q29uZmlndXJhdGlvbik6CisgICAgICAgICogYmluZGluZ3Mvc2Ny
aXB0cy9Db2RlR2VuZXJhdG9ySlMucG06CisgICAgICAgIChHZXROYXRpdmVWZWN0b3JJbm5lclR5
cGUpOgorICAgICAgICAqIGRvbS9FdmVudE5hbWVzLmg6CisgICAgICAgICogZG9tL0V2ZW50TmFt
ZXMuaW46CisgICAgICAgICogZG9tL0V2ZW50VGFyZ2V0RmFjdG9yeS5pbjoKKyAgICAgICAgKiBo
dG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxl
bWVudDo6bWVkaWFLZXlzKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OnNl
dE1lZGlhS2V5cyk6CisgICAgICAgICogaHRtbC9IVE1MTWVkaWFFbGVtZW50Lmg6CisgICAgICAg
ICogaHRtbC9IVE1MTWVkaWFFbGVtZW50LmlkbDoKKyAgICAgICAgKiBodG1sL01lZGlhRW5jcnlw
dGVkRXZlbnQuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhRW5jcnlwdGVkRXZl
bnQ6Ok1lZGlhRW5jcnlwdGVkRXZlbnQpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFFbmNyeXB0
ZWRFdmVudDo6ZXZlbnRJbnRlcmZhY2UpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFFbmNyeXB0
ZWRFdmVudDo6aW5pdERhdGFUeXBlKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhRW5jcnlwdGVk
RXZlbnQ6OmluaXREYXRhKToKKyAgICAgICAgKiBodG1sL01lZGlhRW5jcnlwdGVkRXZlbnQuaDog
QWRkZWQuCisgICAgICAgICogaHRtbC9NZWRpYUVuY3J5cHRlZEV2ZW50LmlkbDogQWRkZWQuCisg
ICAgICAgICogaHRtbC9NZWRpYUVuY3J5cHRlZEV2ZW50SW5pdC5oOiBBZGRlZC4KKyAgICAgICAg
KFdlYkNvcmU6Ok1lZGlhRW5jcnlwdGVkRXZlbnRJbml0OjpNZWRpYUVuY3J5cHRlZEV2ZW50SW5p
dCk6CisKIDIwMTYtMTAtMjYgIEVucmlxdWUgT2Nhw7FhIEdvbnrDoWxleiAgPGVvY2FuaGFAaWdh
bGlhLmNvbT4KIAogICAgICAgICBbR1N0cmVhbWVyXVtHVEsrXVtNU0VdIFVucmV2aWV3ZWQgZGVi
dWcgYnVpbGQgZml4LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQg
Yi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCBlZDc5N2JlZDBjMTNjYzYwNWQ1
ZWY4NTg5NTUxZGMwMGUzYjM0ZWQ3Li5mMDg3OGZiODczNjE3ODY3OTU3NjY2ZDFkOTRhNGFjYzRi
YmNiYjU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9T
b3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtMTE2Miw2ICsxMTYyLDggQEAgc2V0KFdl
YkNvcmVfU09VUkNFUwogICAgIGJpbmRpbmdzL2pzL0pTTG9jYXRpb25DdXN0b20uY3BwCiAgICAg
YmluZGluZ3MvanMvSlNNYWluVGhyZWFkRXhlY1N0YXRlLmNwcAogICAgIGJpbmRpbmdzL2pzL0pT
TWVkaWFEZXZpY2VzQ3VzdG9tLmNwcAorICAgIGJpbmRpbmdzL2pzL0pTTWVkaWFLZXlTZXNzaW9u
Q3VzdG9tLmNwcAorICAgIGJpbmRpbmdzL2pzL0pTTWVkaWFLZXlTeXN0ZW1BY2Nlc3NDdXN0b20u
Y3BwCiAgICAgYmluZGluZ3MvanMvSlNNZWRpYVN0cmVhbVRyYWNrQ3VzdG9tLmNwcAogICAgIGJp
bmRpbmdzL2pzL0pTTWVkaWFUcmFja1N1cHBvcnRlZENvbnN0cmFpbnRzQ3VzdG9tLmNwcAogICAg
IGJpbmRpbmdzL2pzL0pTTWVzc2FnZUNoYW5uZWxDdXN0b20uY3BwCkBAIC0zMDMzLDYgKzMwMzUs
MzMgQEAgaWYgKEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVEX01FRElBKQogICAgICkKIGVuZGlmICgp
CiAKK2lmIChFTkFCTEVfRU5DUllQVEVEX01FRElBKQorICAgIGxpc3QoQVBQRU5EIFdlYkNvcmVf
U09VUkNFUworICAgICAgICBNb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5TWVzc2FnZUV2
ZW50LmNwcAorICAgICAgICBNb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U2Vzc2lvbi5j
cHAKKyAgICAgICAgTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVN0YXR1c01hcC5jcHAK
KyAgICAgICAgTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVN5c3RlbUFjY2Vzcy5jcHAK
KyAgICAgICAgTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleXMuY3BwCisgICAgICAgIE1v
ZHVsZXMvZW5jcnlwdGVkbWVkaWEvTmF2aWdhdG9yRU1FLmNwcAorCisgICAgICAgIGh0bWwvTWVk
aWFFbmNyeXB0ZWRFdmVudC5jcHAKKyAgICApCisgICAgbGlzdChBUFBFTkQgV2ViQ29yZV9JRExf
RklMRVMKKyAgICApCisgICAgbGlzdChBUFBFTkQgV2ViQ29yZV9JRExfRklMRVMKKyAgICAgICAg
TW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleU1lc3NhZ2VFdmVudC5pZGwKKyAgICAgICAg
TW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVNlc3Npb24uaWRsCisgICAgICAgIE1vZHVs
ZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlTdGF0dXNNYXAuaWRsCisgICAgICAgIE1vZHVsZXMv
ZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlTeXN0ZW1BY2Nlc3MuaWRsCisgICAgICAgIE1vZHVsZXMv
ZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlTeXN0ZW1Db25maWd1cmF0aW9uLmlkbAorICAgICAgICBN
b2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U3lzdGVtTWVkaWFDYXBhYmlsaXR5LmlkbAor
ICAgICAgICBNb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5cy5pZGwKKyAgICAgICAgTW9k
dWxlcy9lbmNyeXB0ZWRtZWRpYS9OYXZpZ2F0b3JFTUUuaWRsCisKKyAgICAgICAgaHRtbC9NZWRp
YUVuY3J5cHRlZEV2ZW50LmlkbAorICAgICkKK2VuZGlmICgpCisKIGxpc3QoQVBQRU5EIFdlYkNv
cmVfQ1NTX1ZBTFVFX0tFWVdPUkRTCiAgICAgJHtXRUJDT1JFX0RJUn0vY3NzL1NWR0NTU1ZhbHVl
S2V5d29yZHMuaW4KICkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2Vz
Lm1ha2UgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCmluZGV4IGQ1MDk4MDJl
OWZjZjczNjk3ODkwODkxZWU0MTgzMzdiNjZkMGVjOTUuLjExMWQxZjU1ZWQ5MDM5YjQwOTZkOTUx
YmI0ZTJjYzNmNTMwOWUyMzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3Vy
Y2VzLm1ha2UKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQpAQCAtMzAs
NiArMzAsNyBAQCBWUEFUSCA9IFwKICAgICAkKFdlYkNvcmUpIFwKICAgICAkKFdlYkNvcmUpL01v
ZHVsZXMvYWlycGxheSBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2FwcGxlcGF5IFwKKyAgICAk
KFdlYkNvcmUpL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEgXAogICAgICQoV2ViQ29yZSkvTW9kdWxl
cy9lbmNyeXB0ZWRtZWRpYS9sZWdhY3kgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9mZXRjaCBc
CiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2dhbWVwYWQgXApAQCAtODMsNiArODQsMTQgQEAgSlNf
QklORElOR19JRExTID0gXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBh
eVNoaXBwaW5nQ29udGFjdFNlbGVjdGVkRXZlbnQuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVs
ZXMvYXBwbGVwYXkvQXBwbGVQYXlTaGlwcGluZ01ldGhvZFNlbGVjdGVkRXZlbnQuaWRsIFwKICAg
ICAkKFdlYkNvcmUpL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlWYWxpZGF0ZU1lcmNoYW50RXZl
bnQuaWRsIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlN
ZXNzYWdlRXZlbnQuaWRsIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEv
TWVkaWFLZXlTZXNzaW9uLmlkbCBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2VuY3J5cHRlZG1l
ZGlhL01lZGlhS2V5U3RhdHVzTWFwLmlkbCBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2VuY3J5
cHRlZG1lZGlhL01lZGlhS2V5U3lzdGVtQWNjZXNzLmlkbCBcCisgICAgJChXZWJDb3JlKS9Nb2R1
bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U3lzdGVtQ29uZmlndXJhdGlvbi5pZGwgXAorICAg
ICQoV2ViQ29yZSkvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVN5c3RlbU1lZGlhQ2Fw
YWJpbGl0eS5pZGwgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRp
YUtleXMuaWRsIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTmF2aWdh
dG9yRU1FLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL2xlZ2Fj
eS9XZWJLaXRNZWRpYUtleU1lc3NhZ2VFdmVudC5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxl
cy9lbmNyeXB0ZWRtZWRpYS9sZWdhY3kvV2ViS2l0TWVkaWFLZXlOZWVkZWRFdmVudC5pZGwgXAog
ICAgICQoV2ViQ29yZSkvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9sZWdhY3kvV2ViS2l0TWVkaWFL
ZXlTZXNzaW9uLmlkbCBcCkBAIC00NjAsNiArNDY5LDcgQEAgSlNfQklORElOR19JRExTID0gXAog
ICAgICQoV2ViQ29yZSkvaHRtbC9IVE1MVmlkZW9FbGVtZW50LmlkbCBcCiAgICAgJChXZWJDb3Jl
KS9odG1sL0ltYWdlRGF0YS5pZGwgXAogICAgICQoV2ViQ29yZSkvaHRtbC9NZWRpYUNvbnRyb2xs
ZXIuaWRsIFwKKyAgICAkKFdlYkNvcmUpL2h0bWwvTWVkaWFFbmNyeXB0ZWRFdmVudC5pZGwgXAog
ICAgICQoV2ViQ29yZSkvaHRtbC9NZWRpYUVycm9yLmlkbCBcCiAgICAgJChXZWJDb3JlKS9odG1s
L1JhZGlvTm9kZUxpc3QuaWRsIFwKICAgICAkKFdlYkNvcmUpL2h0bWwvVGV4dE1ldHJpY3MuaWRs
IFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVk
aWFLZXlNZXNzYWdlRXZlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRt
ZWRpYS9NZWRpYUtleU1lc3NhZ2VFdmVudC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2Y3MWQzODY5MmZmOGYx
OTBiOTRjYzNkOWUyOWM1MWUzMzM5OWY4ZAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlNZXNzYWdlRXZlbnQuY3BwCkBAIC0w
LDAgKzEsNTQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTYgTWV0cm9sb2dpY2FsIEdyb3Vw
IEIuVi4KKyAqIENvcHlyaWdodCAoQykgMjAxNiwgSWdhbGlhIFMuTC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZQorICogICAgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcKKyAqICAgIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZAorICogICAgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBI
T0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAq
IEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBU
SEUgQ09QWVJJR0hUCisgKiBIT0xERVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJNZWRpYUtl
eU1lc3NhZ2VFdmVudC5oIgorCisjaWYgRU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkKKworI2luY2x1
ZGUgIkV2ZW50TmFtZXMuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitNZWRpYUtleU1lc3Nh
Z2VFdmVudDo6TWVkaWFLZXlNZXNzYWdlRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiB0eXBlLCBj
b25zdCBNZWRpYUtleU1lc3NhZ2VFdmVudDo6SW5pdCYgaW5pdGlhbGl6ZXIsIElzVHJ1c3RlZCBp
c1RydXN0ZWQpCisgICAgOiBFdmVudCh0eXBlLCBpbml0aWFsaXplciwgaXNUcnVzdGVkKQorICAg
ICwgbV9tZXNzYWdlVHlwZShpbml0aWFsaXplci5tZXNzYWdlVHlwZSkKKyAgICAsIG1fbWVzc2Fn
ZShpbml0aWFsaXplci5tZXNzYWdlKQoreworfQorCitNZWRpYUtleU1lc3NhZ2VFdmVudDo6fk1l
ZGlhS2V5TWVzc2FnZUV2ZW50KCkgPSBkZWZhdWx0OworCitFdmVudEludGVyZmFjZSBNZWRpYUtl
eU1lc3NhZ2VFdmVudDo6ZXZlbnRJbnRlcmZhY2UoKSBjb25zdAoreworICAgIHJldHVybiBNZWRp
YUtleU1lc3NhZ2VFdmVudEludGVyZmFjZVR5cGU7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKKworI2VuZGlmIC8vIEVOQUJMRShFTkNSWVBURURfTUVESUEpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5TWVzc2FnZUV2ZW50Lmgg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5TWVzc2FnZUV2
ZW50LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjIyMzZiNjAxYjc1NjVlZDVlMzk2MjY1ODc2YTYwNThiNWJmNjU2
OAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVk
aWEvTWVkaWFLZXlNZXNzYWdlRXZlbnQuaApAQCAtMCwwICsxLDY3IEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDE2IE1ldHJvbG9naWNhbCBHcm91cCBCLlYuCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTYsIElnYWxpYSBTLkwuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBt
ZXQ6CisgKgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqICAgIGNvcHlyaWdodCBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nCisgKiAgICBk
aXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQKKyAqICAgIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisg
KiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogSE9MREVSIE9S
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21h
IG9uY2UKKworI2lmIEVOQUJMRShFTkNSWVBURURfTUVESUEpCisKKyNpbmNsdWRlICJFdmVudC5o
IgorI2luY2x1ZGUgIk1lZGlhS2V5TWVzc2FnZUV2ZW50SW5pdC5oIgorI2luY2x1ZGUgIk1lZGlh
S2V5TWVzc2FnZVR5cGUuaCIKKyNpbmNsdWRlIDxydW50aW1lL0FycmF5QnVmZmVyLmg+CisKK25h
bWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgTWVkaWFLZXlNZXNzYWdlRXZlbnQgZmluYWwgOiBw
dWJsaWMgRXZlbnQgeworcHVibGljOgorICAgIHVzaW5nIFR5cGUgPSBNZWRpYUtleU1lc3NhZ2VU
eXBlOworICAgIHVzaW5nIEluaXQgPSBNZWRpYUtleU1lc3NhZ2VFdmVudEluaXQ7CisKKyAgICB2
aXJ0dWFsIH5NZWRpYUtleU1lc3NhZ2VFdmVudCgpOworCisgICAgc3RhdGljIFJlZjxNZWRpYUtl
eU1lc3NhZ2VFdmVudD4gY3JlYXRlKGNvbnN0IEF0b21pY1N0cmluZyYgdHlwZSwgY29uc3QgTWVk
aWFLZXlNZXNzYWdlRXZlbnRJbml0JiBpbml0aWFsaXplciwgSXNUcnVzdGVkIGlzVHJ1c3RlZCA9
IElzVHJ1c3RlZDo6Tm8pCisgICAgeworICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBNZWRp
YUtleU1lc3NhZ2VFdmVudCh0eXBlLCBpbml0aWFsaXplciwgaXNUcnVzdGVkKSk7CisgICAgfQor
CisgICAgVHlwZSBtZXNzYWdlVHlwZSgpIGNvbnN0IHsgcmV0dXJuIG1fbWVzc2FnZVR5cGU7IH0K
KyAgICBSZWZQdHI8SlNDOjpBcnJheUJ1ZmZlcj4gbWVzc2FnZSgpIGNvbnN0IHsgcmV0dXJuIG1f
bWVzc2FnZTsgfQorCitwcml2YXRlOgorICAgIE1lZGlhS2V5TWVzc2FnZUV2ZW50KGNvbnN0IEF0
b21pY1N0cmluZyYsIGNvbnN0IE1lZGlhS2V5TWVzc2FnZUV2ZW50SW5pdCYsIElzVHJ1c3RlZCk7
CisKKyAgICAvLyBFdmVudAorICAgIEV2ZW50SW50ZXJmYWNlIGV2ZW50SW50ZXJmYWNlKCkgY29u
c3Qgb3ZlcnJpZGU7CisKKyAgICBNZWRpYUtleU1lc3NhZ2VUeXBlIG1fbWVzc2FnZVR5cGU7Cisg
ICAgUmVmUHRyPEpTQzo6QXJyYXlCdWZmZXI+IG1fbWVzc2FnZTsKK307CisKK30gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShFTkNSWVBURURfTUVESUEpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5TWVzc2Fn
ZUV2ZW50LmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFL
ZXlNZXNzYWdlRXZlbnQuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzODRiYjRiNjMzMGZmYzRhMDYzZWMwNDk5
ZTIwYTA1NGEwYTYwNWYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5TWVzc2FnZUV2ZW50LmlkbApAQCAtMCwwICsxLDQ3IEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDE2IE1ldHJvbG9naWNhbCBHcm91cCBCLlYuCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTYsIElnYWxpYSBTLkwuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKKyAqIGFyZSBtZXQ6CisgKgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAq
ICAgIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nCisgKiAgICBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQKKyAqICAgIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQg
Q09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdI
VAorICogSE9MREVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
KyAqLworCitlbnVtIE1lZGlhS2V5TWVzc2FnZVR5cGUgeworICAgICJsaWNlbnNlLXJlcXVlc3Qi
LAorICAgICJsaWNlbnNlLXJlbmV3YWwiLAorICAgICJsaWNlbnNlLXJlbGVhc2UiLAorICAgICJp
bmRpdmlkdWFsaXphdGlvbi1yZXF1ZXN0IgorfTsKKworZGljdGlvbmFyeSBNZWRpYUtleU1lc3Nh
Z2VFdmVudEluaXQgOiBFdmVudEluaXQgeworICAgIHJlcXVpcmVkIE1lZGlhS2V5TWVzc2FnZVR5
cGUgbWVzc2FnZVR5cGU7CisgICAgcmVxdWlyZWQgQXJyYXlCdWZmZXIgbWVzc2FnZTsKK307CisK
K1sKKyAgICBDb25kaXRpb25hbD1FTkNSWVBURURfTUVESUEsCisgICAgQ29uc3RydWN0b3IoRE9N
U3RyaW5nIHR5cGUsIE1lZGlhS2V5TWVzc2FnZUV2ZW50SW5pdCBldmVudEluaXREaWN0KSwKK10g
aW50ZXJmYWNlIE1lZGlhS2V5TWVzc2FnZUV2ZW50IDogRXZlbnQgeworICAgIHJlYWRvbmx5IGF0
dHJpYnV0ZSBNZWRpYUtleU1lc3NhZ2VUeXBlIG1lc3NhZ2VUeXBlOworICAgIHJlYWRvbmx5IGF0
dHJpYnV0ZSBBcnJheUJ1ZmZlciBtZXNzYWdlOworfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlNZXNzYWdlRXZlbnRJbml0LmggYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5TWVzc2FnZUV2ZW50
SW5pdC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjEzOWM2MDZhYjlmMWFmNjdmOTg3MjNkMjNhZGI0OGVmMTUwYTMx
ZDAKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1l
ZGlhL01lZGlhS2V5TWVzc2FnZUV2ZW50SW5pdC5oCkBAIC0wLDAgKzEsNTQgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTYgTWV0cm9sb2dpY2FsIEdyb3VwIEIuVi4KKyAqIENvcHlyaWdodCAo
QykgMjAxNiwgSWdhbGlhIFMuTC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqCisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogICAgY29weXJp
Z2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcKKyAq
ICAgIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZAorICogICAgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRP
UlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBIT0xE
RVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQor
ICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNw
cmFnbWEgb25jZQorCisjaWYgRU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkKKworI2luY2x1ZGUgIkV2
ZW50LmgiCisjaW5jbHVkZSAiTWVkaWFLZXlNZXNzYWdlVHlwZS5oIgorI2luY2x1ZGUgPHJ1bnRp
bWUvQXJyYXlCdWZmZXIuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitzdHJ1Y3QgTWVkaWFL
ZXlNZXNzYWdlRXZlbnRJbml0IDogRXZlbnRJbml0IHsKKyAgICBNZWRpYUtleU1lc3NhZ2VFdmVu
dEluaXQoKSA9IGRlZmF1bHQ7CisKKyAgICBNZWRpYUtleU1lc3NhZ2VFdmVudEluaXQoTWVkaWFL
ZXlNZXNzYWdlVHlwZSBtZXNzYWdlVHlwZSwgUmVmUHRyPEpTQzo6QXJyYXlCdWZmZXI+JiYgbWVz
c2FnZSkKKyAgICAgICAgOiBFdmVudEluaXQoKQorICAgICAgICAsIG1lc3NhZ2VUeXBlKG1lc3Nh
Z2VUeXBlKQorICAgICAgICAsIG1lc3NhZ2UoV1RGTW92ZShtZXNzYWdlKSkKKyAgICB7IH0KKwor
ICAgIE1lZGlhS2V5TWVzc2FnZVR5cGUgbWVzc2FnZVR5cGU7CisgICAgUmVmUHRyPEpTQzo6QXJy
YXlCdWZmZXI+IG1lc3NhZ2U7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRp
ZiAvLyBFTkFCTEUoRU5DUllQVEVEX01FRElBKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleU1lc3NhZ2VUeXBlLmggYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5TWVzc2FnZVR5cGUuaApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5kNWE2NWEyYjkwZTFmMjc0YTQ0MmVkNTczNTk5YzkwYTBiMmUzYTJhCi0tLSAvZGV2L251
bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleU1l
c3NhZ2VUeXBlLmgKQEAgLTAsMCArMSw0NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNiBN
ZXRyb2xvZ2ljYWwgR3JvdXAgQi5WLgorICogQ29weXJpZ2h0IChDKSAyMDE2LCBJZ2FsaWEgUy5M
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICoKKyAqIDEu
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiAgICBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZworICogICAgZGlzY2xhaW1lciBpbiB0
aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkCisgKiAgICB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQg
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAq
IExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIEhPTERFUiBPUiBDT05UUklCVVRPUlMg
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBF
TkFCTEUoRU5DUllQVEVEX01FRElBKQorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2VudW0gY2xh
c3MgTWVkaWFLZXlNZXNzYWdlVHlwZSB7CisgICAgTGljZW5zZVJlcXVlc3QsCisgICAgTGljZW5z
ZVJlbmV3YWwsCisgICAgTGljZW5zZVJlbGVhc2UsCisgICAgSW5kaXZpZHVhbGl6YXRpb25SZXF1
ZXN0Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoRU5D
UllQVEVEX01FRElBKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0
ZWRtZWRpYS9NZWRpYUtleVNlc3Npb24uY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNy
eXB0ZWRtZWRpYS9NZWRpYUtleVNlc3Npb24uY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmY5OTA0YTI0ZTBiZmFl
ZTExYjg4NGRlMTZlN2Q1MzRkMjZjZjNkYjIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U2Vzc2lvbi5jcHAKQEAgLTAsMCAr
MSwxMjEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTYgTWV0cm9sb2dpY2FsIEdyb3VwIEIu
Vi4KKyAqIENvcHlyaWdodCAoQykgMjAxNiwgSWdhbGlhIFMuTC4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZQorICogICAgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcKKyAqICAgIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZAorICogICAgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xE
RVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEg
UEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUg
Q09QWVJJR0hUCisgKiBIT0xERVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwK
KyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJNZWRpYUtleVNl
c3Npb24uaCIKKworI2lmIEVOQUJMRShFTkNSWVBURURfTUVESUEpCisKKyNpbmNsdWRlICJNZWRp
YUtleVN0YXR1c01hcC5oIgorI2luY2x1ZGUgIk5vdEltcGxlbWVudGVkLmgiCisKK25hbWVzcGFj
ZSBXZWJDb3JlIHsKKworUmVmPE1lZGlhS2V5U2Vzc2lvbj4gTWVkaWFLZXlTZXNzaW9uOjpjcmVh
dGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCkKK3sKKyAgICBhdXRvIHNlc3Npb24g
PSBhZG9wdFJlZigqbmV3IE1lZGlhS2V5U2Vzc2lvbihjb250ZXh0KSk7CisgICAgc2Vzc2lvbi0+
c3VzcGVuZElmTmVlZGVkKCk7CisgICAgcmV0dXJuIHNlc3Npb247Cit9CisKK01lZGlhS2V5U2Vz
c2lvbjo6TWVkaWFLZXlTZXNzaW9uKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQpCisg
ICAgOiBBY3RpdmVET01PYmplY3QoJmNvbnRleHQpCit7Cit9CisKK01lZGlhS2V5U2Vzc2lvbjo6
fk1lZGlhS2V5U2Vzc2lvbigpID0gZGVmYXVsdDsKKworY29uc3QgU3RyaW5nJiBNZWRpYUtleVNl
c3Npb246OnNlc3Npb25JZCgpIGNvbnN0Cit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICBy
ZXR1cm4gZW1wdHlTdHJpbmcoKTsKK30KKworZG91YmxlIE1lZGlhS2V5U2Vzc2lvbjo6ZXhwaXJh
dGlvbigpIGNvbnN0Cit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICByZXR1cm4gMDsKK30K
KworUmVmUHRyPE1lZGlhS2V5U3RhdHVzTWFwPiBNZWRpYUtleVNlc3Npb246OmtleVN0YXR1c2Vz
KCkgY29uc3QKK3sKKyAgICBub3RJbXBsZW1lbnRlZCgpOworICAgIHJldHVybiBudWxscHRyOwor
fQorCit2b2lkIE1lZGlhS2V5U2Vzc2lvbjo6Z2VuZXJhdGVSZXF1ZXN0KGNvbnN0IFN0cmluZyYs
IGNvbnN0IEJ1ZmZlclNvdXJjZSYsIEdlbmVyYXRlUmVxdWVzdFByb21pc2UmJikKK3sKKyAgICBu
b3RJbXBsZW1lbnRlZCgpOworfQorCit2b2lkIE1lZGlhS2V5U2Vzc2lvbjo6bG9hZChjb25zdCBT
dHJpbmcmLCBMb2FkUHJvbWlzZSYmKQoreworICAgIG5vdEltcGxlbWVudGVkKCk7Cit9CisKK3Zv
aWQgTWVkaWFLZXlTZXNzaW9uOjp1cGRhdGUoY29uc3QgQnVmZmVyU291cmNlJiwgVXBkYXRlUHJv
bWlzZSYmKQoreworICAgIG5vdEltcGxlbWVudGVkKCk7Cit9CisKK3ZvaWQgTWVkaWFLZXlTZXNz
aW9uOjpjbG9zZShDbG9zZVByb21pc2UmJikKK3sKKyAgICBub3RJbXBsZW1lbnRlZCgpOworfQor
Cit2b2lkIE1lZGlhS2V5U2Vzc2lvbjo6cmVtb3ZlKFJlbW92ZVByb21pc2UmJikKK3sKKyAgICBu
b3RJbXBsZW1lbnRlZCgpOworfQorCitib29sIE1lZGlhS2V5U2Vzc2lvbjo6aGFzUGVuZGluZ0Fj
dGl2aXR5KCkgY29uc3QKK3sKKyAgICBub3RJbXBsZW1lbnRlZCgpOworICAgIHJldHVybiBmYWxz
ZTsKK30KKworY29uc3QgY2hhciogTWVkaWFLZXlTZXNzaW9uOjphY3RpdmVET01PYmplY3ROYW1l
KCkgY29uc3QKK3sKKyAgICBub3RJbXBsZW1lbnRlZCgpOworICAgIHJldHVybiAiTWVkaWFLZXlT
ZXNzaW9uIjsKK30KKworYm9vbCBNZWRpYUtleVNlc3Npb246OmNhblN1c3BlbmRGb3JEb2N1bWVu
dFN1c3BlbnNpb24oKSBjb25zdAoreworICAgIG5vdEltcGxlbWVudGVkKCk7CisgICAgcmV0dXJu
IGZhbHNlOworfQorCit2b2lkIE1lZGlhS2V5U2Vzc2lvbjo6c3RvcCgpCit7CisgICAgbm90SW1w
bGVtZW50ZWQoKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlTZXNz
aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U2Vz
c2lvbi5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmQ1MmI5MTU2Yzk1OTg4ZjliMzhjYTQ1ZjdhZDc5OWM4NzJhZGY5
YWEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1l
ZGlhL01lZGlhS2V5U2Vzc2lvbi5oCkBAIC0wLDAgKzEsOTIgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTYgTWV0cm9sb2dpY2FsIEdyb3VwIEIuVi4KKyAqIENvcHlyaWdodCAoQykgMjAxNiwg
SWdhbGlhIFMuTC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqCisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogICAgY29weXJpZ2h0IG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcKKyAqICAgIGRpc2Ns
YWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZAorICogICAgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJB
UyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBIT0xERVIgT1IgQ09O
VFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
CisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25j
ZQorCisjaWYgRU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkKKworI2luY2x1ZGUgIkFjdGl2ZURPTU9i
amVjdC5oIgorI2luY2x1ZGUgIkV2ZW50VGFyZ2V0LmgiCisjaW5jbHVkZSAiR2VuZXJpY0V2ZW50
UXVldWUuaCIKKyNpbmNsdWRlICJKU0RPTVByb21pc2UuaCIKKyNpbmNsdWRlICJNZWRpYUtleVNl
c3Npb25UeXBlLmgiCisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKyNpbmNsdWRlIDx3dGYv
dGV4dC9XVEZTdHJpbmcuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBCdWZmZXJT
b3VyY2U7CitjbGFzcyBNZWRpYUtleVN0YXR1c01hcDsKK2NsYXNzIE1lZGlhS2V5czsKKworY2xh
c3MgTWVkaWFLZXlTZXNzaW9uIGZpbmFsIDogcHVibGljIFJlZkNvdW50ZWQ8TWVkaWFLZXlTZXNz
aW9uPiwgcHVibGljIEV2ZW50VGFyZ2V0V2l0aElubGluZURhdGEsIHB1YmxpYyBBY3RpdmVET01P
YmplY3QgeworcHVibGljOgorICAgIHN0YXRpYyBSZWY8TWVkaWFLZXlTZXNzaW9uPiBjcmVhdGUo
U2NyaXB0RXhlY3V0aW9uQ29udGV4dCYpOworICAgIHZpcnR1YWwgfk1lZGlhS2V5U2Vzc2lvbigp
OworCisgICAgdXNpbmcgUmVmQ291bnRlZDxNZWRpYUtleVNlc3Npb24+OjpyZWY7CisgICAgdXNp
bmcgUmVmQ291bnRlZDxNZWRpYUtleVNlc3Npb24+OjpkZXJlZjsKKworICAgIGNvbnN0IFN0cmlu
ZyYgc2Vzc2lvbklkKCkgY29uc3Q7CisgICAgZG91YmxlIGV4cGlyYXRpb24oKSBjb25zdDsKKyAg
ICBSZWZQdHI8TWVkaWFLZXlTdGF0dXNNYXA+IGtleVN0YXR1c2VzKCkgY29uc3Q7CisKKyAgICB1
c2luZyBHZW5lcmF0ZVJlcXVlc3RQcm9taXNlID0gRE9NUHJvbWlzZTxzdGQ6Om51bGxwdHJfdD47
CisgICAgdm9pZCBnZW5lcmF0ZVJlcXVlc3QoY29uc3QgU3RyaW5nJiwgY29uc3QgQnVmZmVyU291
cmNlJiwgR2VuZXJhdGVSZXF1ZXN0UHJvbWlzZSYmKTsKKworICAgIHVzaW5nIExvYWRQcm9taXNl
ID0gRE9NUHJvbWlzZTxib29sPjsKKyAgICB2b2lkIGxvYWQoY29uc3QgU3RyaW5nJiwgTG9hZFBy
b21pc2UmJik7CisKKyAgICB1c2luZyBVcGRhdGVQcm9taXNlID0gRE9NUHJvbWlzZTxzdGQ6Om51
bGxwdHJfdD47CisgICAgdm9pZCB1cGRhdGUoY29uc3QgQnVmZmVyU291cmNlJiwgVXBkYXRlUHJv
bWlzZSYmKTsKKworICAgIHVzaW5nIENsb3NlUHJvbWlzZSA9IERPTVByb21pc2U8c3RkOjpudWxs
cHRyX3Q+OworICAgIHZvaWQgY2xvc2UoQ2xvc2VQcm9taXNlJiYpOworCisgICAgdXNpbmcgUmVt
b3ZlUHJvbWlzZSA9IERPTVByb21pc2U8c3RkOjpudWxscHRyX3Q+OworICAgIHZvaWQgcmVtb3Zl
KFJlbW92ZVByb21pc2UmJik7CisKK3ByaXZhdGU6CisgICAgTWVkaWFLZXlTZXNzaW9uKFNjcmlw
dEV4ZWN1dGlvbkNvbnRleHQmKTsKKworICAgIC8vIEV2ZW50VGFyZ2V0CisgICAgRXZlbnRUYXJn
ZXRJbnRlcmZhY2UgZXZlbnRUYXJnZXRJbnRlcmZhY2UoKSBjb25zdCBvdmVycmlkZSB7IHJldHVy
biBNZWRpYUtleVNlc3Npb25FdmVudFRhcmdldEludGVyZmFjZVR5cGU7IH0KKyAgICBTY3JpcHRF
eGVjdXRpb25Db250ZXh0KiBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkgY29uc3Qgb3ZlcnJpZGUg
eyByZXR1cm4gQWN0aXZlRE9NT2JqZWN0OjpzY3JpcHRFeGVjdXRpb25Db250ZXh0KCk7IH0KKyAg
ICB2b2lkIHJlZkV2ZW50VGFyZ2V0KCkgb3ZlcnJpZGUgeyByZWYoKTsgfQorICAgIHZvaWQgZGVy
ZWZFdmVudFRhcmdldCgpIG92ZXJyaWRlIHsgZGVyZWYoKTsgfQorCisgICAgLy8gQWN0aXZlRE9N
T2JqZWN0CisgICAgYm9vbCBoYXNQZW5kaW5nQWN0aXZpdHkoKSBjb25zdCBvdmVycmlkZTsKKyAg
ICBjb25zdCBjaGFyKiBhY3RpdmVET01PYmplY3ROYW1lKCkgY29uc3Qgb3ZlcnJpZGU7CisgICAg
Ym9vbCBjYW5TdXNwZW5kRm9yRG9jdW1lbnRTdXNwZW5zaW9uKCkgY29uc3Qgb3ZlcnJpZGU7Cisg
ICAgdm9pZCBzdG9wKCkgb3ZlcnJpZGU7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisK
KyNlbmRpZiAvLyBFTkFCTEUoRU5DUllQVEVEX01FRElBKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVNlc3Npb24uaWRsIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVNlc3Npb24uaWRsCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjU2ZWRjNmMxYjA3OWNkYjAxZTJlYzA1MmVjYzZmMjMzMGEyYmUzOTkKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5
U2Vzc2lvbi5pZGwKQEAgLTAsMCArMSw0MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNiBN
ZXRyb2xvZ2ljYWwgR3JvdXAgQi5WLgorICogQ29weXJpZ2h0IChDKSAyMDE2LCBJZ2FsaWEgUy5M
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICoKKyAqIDEu
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiAgICBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZworICogICAgZGlzY2xhaW1lciBpbiB0
aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkCisgKiAgICB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQg
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAq
IExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIEhPTERFUiBPUiBDT05UUklCVVRPUlMg
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworWworICAgIENvbmRpdGlvbmFsPUVO
Q1JZUFRFRF9NRURJQSwKK10gaW50ZXJmYWNlIE1lZGlhS2V5U2Vzc2lvbiA6IEV2ZW50VGFyZ2V0
IHsKKyAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHNlc3Npb25JZDsKKyAgICByZWFk
b25seSBhdHRyaWJ1dGUgdW5yZXN0cmljdGVkIGRvdWJsZSBleHBpcmF0aW9uOworICAgIFtDdXN0
b21HZXR0ZXIsIENhY2hlZEF0dHJpYnV0ZV0gcmVhZG9ubHkgYXR0cmlidXRlIFByb21pc2UgY2xv
c2VkOworICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBNZWRpYUtleVN0YXR1c01hcCBrZXlTdGF0dXNl
czsKKyAgICBhdHRyaWJ1dGUgRXZlbnRIYW5kbGVyIG9ua2V5c3RhdHVzZXNjaGFuZ2U7CisgICAg
YXR0cmlidXRlIEV2ZW50SGFuZGxlciBvbm1lc3NhZ2U7CisgICAgUHJvbWlzZSBnZW5lcmF0ZVJl
cXVlc3QoRE9NU3RyaW5nIGluaXREYXRhVHlwZSwgQnVmZmVyU291cmNlIGluaXREYXRhKTsKKyAg
ICBQcm9taXNlIGxvYWQoRE9NU3RyaW5nIHNlc3Npb25JZCk7CisgICAgUHJvbWlzZSB1cGRhdGUo
QnVmZmVyU291cmNlIHJlc3BvbnNlKTsKKyAgICBQcm9taXNlIGNsb3NlKCk7CisgICAgUHJvbWlz
ZSByZW1vdmUoKTsKK307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5
cHRlZG1lZGlhL01lZGlhS2V5U2Vzc2lvblR5cGUuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
ZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlTZXNzaW9uVHlwZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjlkZDNmNDY3
Y2MwODNlZmZlMjg3MjEwY2M3MWEwMGZmODAwY2VhNTMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U2Vzc2lvblR5cGUuaApA
QCAtMCwwICsxLDQzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE2IE1ldHJvbG9naWNhbCBH
cm91cCBCLlYuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTYsIElnYWxpYSBTLkwuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgorICogMS4gUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUKKyAqICAgIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nCisgKiAgICBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQKKyAqICAgIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklH
SFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywg
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
CisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgVEhFIENPUFlSSUdIVAorICogSE9MREVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQor
ICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lmIEVOQUJMRShFTkNSWVBU
RURfTUVESUEpCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworZW51bSBjbGFzcyBNZWRpYUtleVNl
c3Npb25UeXBlIHsKKyAgICBUZW1wb3JhcnksCisgICAgUGVyc2lzdGVudFVzYWdlUmVjb3JkLAor
ICAgIFBlcnNpc3RlbnRMaWNlbnNlCit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNl
bmRpZiAvLyBFTkFCTEUoRU5DUllQVEVEX01FRElBKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVN0YXR1cy5oIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVN0YXR1cy5oCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjI5
Mjg1ZjBmNDQ1OGVmYzRiODg2ZTIzMDRhZWVlMDk1NzNkNzg1YWEKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U3RhdHVzLmgK
QEAgLTAsMCArMSw0NyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNiBNZXRyb2xvZ2ljYWwg
R3JvdXAgQi5WLgorICogQ29weXJpZ2h0IChDKSAyMDE2LCBJZ2FsaWEgUy5MLgorICoKKyAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICoKKyAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlCisgKiAgICBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZworICogICAgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkCisgKiAgICB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJ
R0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8s
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIFRIRSBDT1BZUklHSFQKKyAqIEhPTERFUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UK
KyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoRU5DUllQ
VEVEX01FRElBKQorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2VudW0gY2xhc3MgTWVkaWFLZXlT
dGF0dXMgeworICAgIFVzYWJsZSwKKyAgICBFeHBpcmVkLAorICAgIFJlbGVhc2VkLAorICAgIE91
dHB1dFJlc3RyaWN0ZWQsCisgICAgT3V0cHV0RG93bnNjYWxlZCwKKyAgICBTdGF0dXNQZW5kaW5n
LAorICAgIEludGVybmFsRXJyb3IKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2Vu
ZGlmIC8vIEVOQUJMRShFTkNSWVBURURfTUVESUEpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U3RhdHVzTWFwLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlTdGF0dXNNYXAuY3BwCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmJlZDNkZDQ0MjliYmM0YjkzYTY3ODVhNGIwM2E4MDcyZmMxZWYyYTYKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5
U3RhdHVzTWFwLmNwcApAQCAtMCwwICsxLDcyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE2
IE1ldHJvbG9naWNhbCBHcm91cCBCLlYuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTYsIElnYWxpYSBT
LkwuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgorICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqICAgIGNvcHlyaWdodCBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nCisgKiAgICBkaXNjbGFpbWVyIGlu
IHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQKKyAqICAg
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFO
RCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAor
ICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogSE9MREVSIE9SIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAq
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgi
CisjaW5jbHVkZSAiTWVkaWFLZXlTdGF0dXNNYXAuaCIKKworI2lmIEVOQUJMRShFTkNSWVBURURf
TUVESUEpCisKKyNpbmNsdWRlICJCdWZmZXJTb3VyY2UuaCIKKyNpbmNsdWRlICJOb3RJbXBsZW1l
bnRlZC5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK01lZGlhS2V5U3RhdHVzTWFwOjpNZWRp
YUtleVN0YXR1c01hcCgpID0gZGVmYXVsdDsKKworTWVkaWFLZXlTdGF0dXNNYXA6On5NZWRpYUtl
eVN0YXR1c01hcCgpID0gZGVmYXVsdDsKKwordW5zaWduZWQgbG9uZyBNZWRpYUtleVN0YXR1c01h
cDo6c2l6ZSgpCit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICByZXR1cm4gMDsKK30KKwor
Ym9vbCBNZWRpYUtleVN0YXR1c01hcDo6aGFzKGNvbnN0IEJ1ZmZlclNvdXJjZSYpCit7CisgICAg
bm90SW1wbGVtZW50ZWQoKTsKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK0pTQzo6SlNWYWx1ZSBN
ZWRpYUtleVN0YXR1c01hcDo6Z2V0KGNvbnN0IEJ1ZmZlclNvdXJjZSYpCit7CisgICAgbm90SW1w
bGVtZW50ZWQoKTsKKyAgICByZXR1cm4gSlNDOjpqc1VuZGVmaW5lZCgpOworfQorCitNZWRpYUtl
eVN0YXR1c01hcDo6SXRlcmF0b3I6Okl0ZXJhdG9yKE1lZGlhS2V5U3RhdHVzTWFwJikKK3sKK30K
KworT3B0aW9uYWw8V1RGOjpLZXlWYWx1ZVBhaXI8QnVmZmVyU291cmNlLCBNZWRpYUtleVN0YXR1
cz4+IE1lZGlhS2V5U3RhdHVzTWFwOjpJdGVyYXRvcjo6bmV4dCgpCit7CisgICAgcmV0dXJuIE51
bGxvcHQ7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShF
TkNSWVBURURfTUVESUEpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5
cHRlZG1lZGlhL01lZGlhS2V5U3RhdHVzTWFwLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Vu
Y3J5cHRlZG1lZGlhL01lZGlhS2V5U3RhdHVzTWFwLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYmVjMDcyMjM4NTM0
MmRmZGI5NmY3NzFiNTUzNjljYzBkNzlkNGU5YQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlTdGF0dXNNYXAuaApAQCAtMCww
ICsxLDcyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE2IE1ldHJvbG9naWNhbCBHcm91cCBC
LlYuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTYsIElnYWxpYSBTLkwuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgorICogMS4gUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUKKyAqICAgIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nCisgKiAgICBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQKKyAqICAgIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9M
REVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhF
IENPUFlSSUdIVAorICogSE9MREVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
CisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lmIEVOQUJMRShFTkNSWVBURURfTUVE
SUEpCisKKyNpbmNsdWRlICJNZWRpYUtleVN0YXR1cy5oIgorI2luY2x1ZGUgPHJ1bnRpbWUvSlND
SlNWYWx1ZUlubGluZXMuaD4KKyNpbmNsdWRlIDx3dGYvSGFzaFRyYWl0cy5oPgorI2luY2x1ZGUg
PHd0Zi9PcHRpb25hbC5oPgorI2luY2x1ZGUgPHd0Zi9SZWYuaD4KKyNpbmNsdWRlIDx3dGYvUmVm
Q291bnRlZC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIEJ1ZmZlclNvdXJjZTsK
KworY2xhc3MgTWVkaWFLZXlTdGF0dXNNYXAgOiBwdWJsaWMgUmVmQ291bnRlZDxNZWRpYUtleVN0
YXR1c01hcD4geworcHVibGljOgorICAgIHVzaW5nIFN0YXR1cyA9IE1lZGlhS2V5U3RhdHVzOwor
CisgICAgc3RhdGljIFJlZjxNZWRpYUtleVN0YXR1c01hcD4gY3JlYXRlKCkKKyAgICB7CisgICAg
ICAgIHJldHVybiBhZG9wdFJlZigqbmV3IE1lZGlhS2V5U3RhdHVzTWFwKTsKKyAgICB9CisKKyAg
ICB2aXJ0dWFsIH5NZWRpYUtleVN0YXR1c01hcCgpOworCisgICAgdW5zaWduZWQgbG9uZyBzaXpl
KCk7CisgICAgYm9vbCBoYXMoY29uc3QgQnVmZmVyU291cmNlJik7CisgICAgSlNDOjpKU1ZhbHVl
IGdldChjb25zdCBCdWZmZXJTb3VyY2UmKTsKKworICAgIGNsYXNzIEl0ZXJhdG9yIHsKKyAgICBw
dWJsaWM6CisgICAgICAgIGV4cGxpY2l0IEl0ZXJhdG9yKE1lZGlhS2V5U3RhdHVzTWFwJik7Cisg
ICAgICAgIE9wdGlvbmFsPFdURjo6S2V5VmFsdWVQYWlyPEJ1ZmZlclNvdXJjZSwgTWVkaWFLZXlT
dGF0dXM+PiBuZXh0KCk7CisgICAgfTsKKyAgICBJdGVyYXRvciBjcmVhdGVJdGVyYXRvcigpIHsg
cmV0dXJuIEl0ZXJhdG9yKCp0aGlzKTsgfQorCitwcml2YXRlOgorICAgIE1lZGlhS2V5U3RhdHVz
TWFwKCk7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUo
RU5DUllQVEVEX01FRElBKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNy
eXB0ZWRtZWRpYS9NZWRpYUtleVN0YXR1c01hcC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U3RhdHVzTWFwLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mNDk0OGJl
ZDg4MTlmMjBiYmI4Yzk2ZTU0ZjEzYmZkNTIyZDYzMzdkCi0tLSAvZGV2L251bGwKKysrIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVN0YXR1c01hcC5pZGwK
QEAgLTAsMCArMSw0NiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNiBNZXRyb2xvZ2ljYWwg
R3JvdXAgQi5WLgorICogQ29weXJpZ2h0IChDKSAyMDE2LCBJZ2FsaWEgUy5MLgorICoKKyAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICoKKyAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlCisgKiAgICBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZworICogICAgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkCisgKiAgICB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJ
R0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8s
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIFRIRSBDT1BZUklHSFQKKyAqIEhPTERFUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UK
KyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworZW51bSBNZWRpYUtleVN0YXR1cyB7CisgICAgInVzYWJs
ZSIsCisgICAgImV4cGlyZWQiLAorICAgICJyZWxlYXNlZCIsCisgICAgIm91dHB1dC1yZXN0cmlj
dGVkIiwKKyAgICAib3V0cHV0LWRvd25zY2FsZWQiLAorICAgICJzdGF0dXMtcGVuZGluZyIsCisg
ICAgImludGVybmFsLWVycm9yIgorfTsKKworWworICAgIENvbmRpdGlvbmFsPUVOQ1JZUFRFRF9N
RURJQQorXSBpbnRlcmZhY2UgTWVkaWFLZXlTdGF0dXNNYXAgeworICAgIGl0ZXJhYmxlPEJ1ZmZl
clNvdXJjZSwgTWVkaWFLZXlTdGF0dXM+OworICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25l
ZCBsb25nIHNpemU7CisgICAgYm9vbGVhbiBoYXMoQnVmZmVyU291cmNlIGtleUlkKTsKKyAgICBh
bnkgZ2V0KEJ1ZmZlclNvdXJjZSBrZXlJZCk7Cit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVN5c3RlbUFjY2Vzcy5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U3lzdGVtQWNjZXNzLmNw
cApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4xYmI5MDE5YWJhMzc0ZjExMmEwMjExNjUyNjMzYzE3OGI2YTA5NGU2Ci0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9N
ZWRpYUtleVN5c3RlbUFjY2Vzcy5jcHAKQEAgLTAsMCArMSw2MiBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAxNiBNZXRyb2xvZ2ljYWwgR3JvdXAgQi5WLgorICogQ29weXJpZ2h0IChDKSAyMDE2
LCBJZ2FsaWEgUy5MLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0
OgorICoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiAgICBjb3B5cmlnaHQgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZworICogICAgZGlz
Y2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkCisgKiAgICB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICog
IkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIEhPTERFUiBPUiBD
T05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUg
ImNvbmZpZy5oIgorI2luY2x1ZGUgIk1lZGlhS2V5U3lzdGVtQWNjZXNzLmgiCisKKyNpZiBFTkFC
TEUoRU5DUllQVEVEX01FRElBKQorCisjaW5jbHVkZSAiTWVkaWFLZXlTeXN0ZW1Db25maWd1cmF0
aW9uLmgiCisjaW5jbHVkZSAiTm90SW1wbGVtZW50ZWQuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUg
eworCitNZWRpYUtleVN5c3RlbUFjY2Vzczo6TWVkaWFLZXlTeXN0ZW1BY2Nlc3MoKSA9IGRlZmF1
bHQ7CisKK01lZGlhS2V5U3lzdGVtQWNjZXNzOjp+TWVkaWFLZXlTeXN0ZW1BY2Nlc3MoKSA9IGRl
ZmF1bHQ7CisKK2NvbnN0IFN0cmluZyYgTWVkaWFLZXlTeXN0ZW1BY2Nlc3M6OmtleVN5c3RlbSgp
IGNvbnN0Cit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICByZXR1cm4gbV9rZXlTeXN0ZW07
Cit9CisKK2NvbnN0IE1lZGlhS2V5U3lzdGVtQ29uZmlndXJhdGlvbiYgTWVkaWFLZXlTeXN0ZW1B
Y2Nlc3M6OmdldENvbmZpZ3VyYXRpb24oKSBjb25zdAoreworICAgIG5vdEltcGxlbWVudGVkKCk7
CisgICAgcmV0dXJuIG1fY29uZmlndXJhdGlvbjsKK30KKwordm9pZCBNZWRpYUtleVN5c3RlbUFj
Y2Vzczo6Y3JlYXRlTWVkaWFLZXlzKENyZWF0ZU1lZGlhS2V5c1Byb21pc2UmJikKK3sKKyAgICBu
b3RJbXBsZW1lbnRlZCgpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAv
LyBFTkFCTEUoRU5DUllQVEVEX01FRElBKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVN5c3RlbUFjY2Vzcy5oIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVN5c3RlbUFjY2Vzcy5oCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmIxOTZjMWQ0NDViMWM5YzRmYzRmNmY0ZmU0NGY0NTBmOTEyNTI0YmEKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U3lz
dGVtQWNjZXNzLmgKQEAgLTAsMCArMSw2NiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNiBN
ZXRyb2xvZ2ljYWwgR3JvdXAgQi5WLgorICogQ29weXJpZ2h0IChDKSAyMDE2LCBJZ2FsaWEgUy5M
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICoKKyAqIDEu
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiAgICBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZworICogICAgZGlzY2xhaW1lciBpbiB0
aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkCisgKiAgICB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQg
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAq
IExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIEhPTERFUiBPUiBDT05UUklCVVRPUlMg
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBF
TkFCTEUoRU5DUllQVEVEX01FRElBKQorCisjaW5jbHVkZSAiSlNET01Qcm9taXNlLmgiCisjaW5j
bHVkZSAiTWVkaWFLZXlTeXN0ZW1Db25maWd1cmF0aW9uLmgiCisjaW5jbHVkZSA8d3RmL1JlZkNv
dW50ZWQuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KKworbmFtZXNwYWNlIFdl
YkNvcmUgeworCitjbGFzcyBNZWRpYUtleXM7CisKK2NsYXNzIE1lZGlhS2V5U3lzdGVtQWNjZXNz
IDogcHVibGljIFJlZkNvdW50ZWQ8TWVkaWFLZXlTeXN0ZW1BY2Nlc3M+IHsKK3B1YmxpYzoKKyAg
ICBzdGF0aWMgUmVmPE1lZGlhS2V5U3lzdGVtQWNjZXNzPiBjcmVhdGUoKQorICAgIHsKKyAgICAg
ICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgTWVkaWFLZXlTeXN0ZW1BY2Nlc3MpOworICAgIH0KKwor
ICAgIHZpcnR1YWwgfk1lZGlhS2V5U3lzdGVtQWNjZXNzKCk7CisKKyAgICBjb25zdCBTdHJpbmcm
IGtleVN5c3RlbSgpIGNvbnN0OworICAgIGNvbnN0IE1lZGlhS2V5U3lzdGVtQ29uZmlndXJhdGlv
biYgZ2V0Q29uZmlndXJhdGlvbigpIGNvbnN0OworCisgICAgdHlwZWRlZiBET01Qcm9taXNlPE1l
ZGlhS2V5cz4gQ3JlYXRlTWVkaWFLZXlzUHJvbWlzZTsKKyAgICB2b2lkIGNyZWF0ZU1lZGlhS2V5
cyhDcmVhdGVNZWRpYUtleXNQcm9taXNlJiYpOworCitwcml2YXRlOgorICAgIE1lZGlhS2V5U3lz
dGVtQWNjZXNzKCk7CisKKyAgICBTdHJpbmcgbV9rZXlTeXN0ZW07CisgICAgTWVkaWFLZXlTeXN0
ZW1Db25maWd1cmF0aW9uIG1fY29uZmlndXJhdGlvbjsKK307CisKK30gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShFTkNSWVBURURfTUVESUEpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U3lzdGVtQWNjZXNz
LmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlTeXN0
ZW1BY2Nlc3MuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU4YWJkNWVjOWE4MDcwYmVhYThmMDRiYTkwNTY4MDg3
NGZmN2YxNzQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5
cHRlZG1lZGlhL01lZGlhS2V5U3lzdGVtQWNjZXNzLmlkbApAQCAtMCwwICsxLDM1IEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDE2IE1ldHJvbG9naWNhbCBHcm91cCBCLlYuCisgKiBDb3B5cmln
aHQgKEMpIDIwMTYsIElnYWxpYSBTLkwuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
KyAqIGFyZSBtZXQ6CisgKgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqICAgIGNv
cHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
CisgKiAgICBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQKKyAqICAgIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJ
QlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICog
SE9MREVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLwor
CitbCisgICAgQ29uZGl0aW9uYWw9RU5DUllQVEVEX01FRElBCitdIGludGVyZmFjZSBNZWRpYUtl
eVN5c3RlbUFjY2VzcyB7CisgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyBrZXlTeXN0
ZW07CisgICAgW0N1c3RvbV0gTWVkaWFLZXlTeXN0ZW1Db25maWd1cmF0aW9uIGdldENvbmZpZ3Vy
YXRpb24oKTsKKyAgICBQcm9taXNlIGNyZWF0ZU1lZGlhS2V5cygpOworfTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlTeXN0ZW1Db25m
aWd1cmF0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlh
S2V5U3lzdGVtQ29uZmlndXJhdGlvbi5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmVhYmU1OTAxOTMyNTg2ZDMzMTg4
ZWZkNjhiNjY0ZDFlOGI1MGY1OWQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U3lzdGVtQ29uZmlndXJhdGlvbi5oCkBAIC0w
LDAgKzEsNTQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTYgTWV0cm9sb2dpY2FsIEdyb3Vw
IEIuVi4KKyAqIENvcHlyaWdodCAoQykgMjAxNiwgSWdhbGlhIFMuTC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZQorICogICAgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcKKyAqICAgIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZAorICogICAgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBI
T0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAq
IEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBU
SEUgQ09QWVJJR0hUCisgKiBIT0xERVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaWYgRU5BQkxFKEVOQ1JZUFRFRF9N
RURJQSkKKworI2luY2x1ZGUgIk1lZGlhS2V5U3lzdGVtTWVkaWFDYXBhYmlsaXR5LmgiCisjaW5j
bHVkZSAiTWVkaWFLZXlzUmVxdWlyZW1lbnQuaCIKKyNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+Cisj
aW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwor
c3RydWN0IE1lZGlhS2V5U3lzdGVtQ29uZmlndXJhdGlvbiB7CisgICAgdXNpbmcgS2V5c1JlcXVp
cmVtZW50ID0gTWVkaWFLZXlzUmVxdWlyZW1lbnQ7CisKKyAgICBTdHJpbmcgbGFiZWw7CisgICAg
VmVjdG9yPFN0cmluZz4gaW5pdERhdGFUeXBlczsKKyAgICBWZWN0b3I8TWVkaWFLZXlTeXN0ZW1N
ZWRpYUNhcGFiaWxpdHk+IGF1ZGlvQ2FwYWJpbGl0aWVzOworICAgIFZlY3RvcjxNZWRpYUtleVN5
c3RlbU1lZGlhQ2FwYWJpbGl0eT4gdmlkZW9DYXBhYmlsaXRpZXM7CisgICAgTWVkaWFLZXlzUmVx
dWlyZW1lbnQgZGlzdGluY3RpdmVJZGVudGlmaWVyOworICAgIE1lZGlhS2V5c1JlcXVpcmVtZW50
IHBlcnNpc3RlbnRTdGF0ZTsKKyAgICBWZWN0b3I8U3RyaW5nPiBzZXNzaW9uVHlwZXM7Cit9Owor
Cit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoRU5DUllQVEVEX01F
RElBKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9N
ZWRpYUtleVN5c3RlbUNvbmZpZ3VyYXRpb24uaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9l
bmNyeXB0ZWRtZWRpYS9NZWRpYUtleVN5c3RlbUNvbmZpZ3VyYXRpb24uaWRsCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjczODFiYjc2ZWQ0MDFhZjI1ZjM1NzIzMGRhOTE0MjJmOTEzYzUyNTkKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U3lzdGVt
Q29uZmlndXJhdGlvbi5pZGwKQEAgLTAsMCArMSw0NSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAxNiBNZXRyb2xvZ2ljYWwgR3JvdXAgQi5WLgorICogQ29weXJpZ2h0IChDKSAyMDE2LCBJZ2Fs
aWEgUy5MLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiAgICBjb3B5cmlnaHQgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZworICogICAgZGlzY2xhaW1l
ciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkCisg
KiAgICB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElT
IiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIEhPTERFUiBPUiBDT05UUklC
VVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAq
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
CisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworZW51bSBNZWRpYUtleXNS
ZXF1aXJlbWVudCB7CisgICAgInJlcXVpcmVkIiwKKyAgICAib3B0aW9uYWwiLAorICAgICJub3Qt
YWxsb3dlZCIKK307CisKK1sKKyAgICBDb25kaXRpb25hbD1FTkNSWVBURURfTUVESUEKK10gZGlj
dGlvbmFyeSBNZWRpYUtleVN5c3RlbUNvbmZpZ3VyYXRpb24geworICAgIERPTVN0cmluZyBsYWJl
bCA9ICIiOworICAgIHNlcXVlbmNlPERPTVN0cmluZz4gaW5pdERhdGFUeXBlcyA9IFtdOworICAg
IHNlcXVlbmNlPE1lZGlhS2V5U3lzdGVtTWVkaWFDYXBhYmlsaXR5PiBhdWRpb0NhcGFiaWxpdGll
cyA9IFtdOworICAgIHNlcXVlbmNlPE1lZGlhS2V5U3lzdGVtTWVkaWFDYXBhYmlsaXR5PiB2aWRl
b0NhcGFiaWxpdGllcyA9IFtdOworICAgIE1lZGlhS2V5c1JlcXVpcmVtZW50IGRpc3RpbmN0aXZl
SWRlbnRpZmllciA9ICJvcHRpb25hbCI7CisgICAgTWVkaWFLZXlzUmVxdWlyZW1lbnQgcGVyc2lz
dGVudFN0YXRlID0gIm9wdGlvbmFsIjsKKyAgICBzZXF1ZW5jZTxET01TdHJpbmc+IHNlc3Npb25U
eXBlczsKK307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1l
ZGlhL01lZGlhS2V5U3lzdGVtTWVkaWFDYXBhYmlsaXR5LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U3lzdGVtTWVkaWFDYXBhYmlsaXR5LmgKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uNmUzODY1NjY1Y2UzMTc2NzkyYzhjNTkwNTgxMGY4NDJkZDE0MjVjNAotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlT
eXN0ZW1NZWRpYUNhcGFiaWxpdHkuaApAQCAtMCwwICsxLDQ0IEBACisvKgorICogQ29weXJpZ2h0
IChDKSAyMDE2IE1ldHJvbG9naWNhbCBHcm91cCBCLlYuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTYs
IElnYWxpYSBTLkwuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6
CisgKgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqICAgIGNvcHlyaWdodCBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nCisgKiAgICBkaXNj
bGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQKKyAqICAgIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAi
QVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogSE9MREVSIE9SIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9u
Y2UKKworI2lmIEVOQUJMRShFTkNSWVBURURfTUVESUEpCisKKyNpbmNsdWRlIDx3dGYvdGV4dC9X
VEZTdHJpbmcuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitzdHJ1Y3QgTWVkaWFLZXlTeXN0
ZW1NZWRpYUNhcGFiaWxpdHkgeworICAgIFN0cmluZyBjb250ZW50VHlwZTsKKyAgICBTdHJpbmcg
cm9idXN0bmVzczsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVO
QUJMRShFTkNSWVBURURfTUVESUEpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U3lzdGVtTWVkaWFDYXBhYmlsaXR5LmlkbCBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlTeXN0ZW1NZWRpYUNhcGFi
aWxpdHkuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY4ZDgxNjczYzUwOTQzNjVmYzBhZjliYmI1NTRjMjQyMjM2
MjNmMDUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRl
ZG1lZGlhL01lZGlhS2V5U3lzdGVtTWVkaWFDYXBhYmlsaXR5LmlkbApAQCAtMCwwICsxLDM0IEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDE2IE1ldHJvbG9naWNhbCBHcm91cCBCLlYuCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTYsIElnYWxpYSBTLkwuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKKyAqIGFyZSBtZXQ6CisgKgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAq
ICAgIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nCisgKiAgICBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQKKyAqICAgIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQg
Q09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdI
VAorICogSE9MREVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
KyAqLworCitbCisgICAgQ29uZGl0aW9uYWw9RU5DUllQVEVEX01FRElBCitdIGRpY3Rpb25hcnkg
TWVkaWFLZXlTeXN0ZW1NZWRpYUNhcGFiaWxpdHkgeworICAgIERPTVN0cmluZyBjb250ZW50VHlw
ZSA9ICIiOworICAgIERPTVN0cmluZyByb2J1c3RuZXNzID0gIiI7Cit9OwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleXMuY3BwIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleXMuY3BwCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjMxZjIxMjdjOTI5YTVmYmI1ZjJkNDFmYWQ2MTc3MzJlNjMzZDNmNDYKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5cy5j
cHAKQEAgLTAsMCArMSw1NiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNiBNZXRyb2xvZ2lj
YWwgR3JvdXAgQi5WLgorICogQ29weXJpZ2h0IChDKSAyMDE2LCBJZ2FsaWEgUy5MLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICoKKyAqIDEuIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlCisgKiAgICBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZworICogICAgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkCisgKiAgICB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09Q
WVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQg
VE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIEhPTERFUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUg
Ik1lZGlhS2V5cy5oIgorCisjaWYgRU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkKKworI2luY2x1ZGUg
Ik1lZGlhS2V5U2Vzc2lvbi5oIgorI2luY2x1ZGUgIk5vdEltcGxlbWVudGVkLmgiCisKK25hbWVz
cGFjZSBXZWJDb3JlIHsKKworTWVkaWFLZXlzOjpNZWRpYUtleXMoKSA9IGRlZmF1bHQ7CisKK01l
ZGlhS2V5czo6fk1lZGlhS2V5cygpID0gZGVmYXVsdDsKKworRXhjZXB0aW9uT3I8UmVmPE1lZGlh
S2V5U2Vzc2lvbj4+IE1lZGlhS2V5czo6Y3JlYXRlU2Vzc2lvbihNZWRpYUtleVNlc3Npb25UeXBl
KQoreworICAgIG5vdEltcGxlbWVudGVkKCk7CisgICAgcmV0dXJuIEV4Y2VwdGlvbiB7IE5PVF9T
VVBQT1JURURfRVJSIH07Cit9CisKK3ZvaWQgTWVkaWFLZXlzOjpzZXRTZXJ2ZXJDZXJ0aWZpY2F0
ZShjb25zdCBCdWZmZXJTb3VyY2UmLCBTZXRTZXJ2ZXJDZXJ0aWZpY2F0ZVByb21pc2UmJikKK3sK
KyAgICBub3RJbXBsZW1lbnRlZCgpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNl
bmRpZiAvLyBFTkFCTEUoRU5DUllQVEVEX01FRElBKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleXMuaCBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlzLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjcyYWMyNDk3Zjg0
NDEyMmIwNWViMTA2YTdiOTZkMDllYjY2ZDEyNAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlzLmgKQEAgLTAsMCArMSw2NiBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNiBNZXRyb2xvZ2ljYWwgR3JvdXAgQi5WLgorICog
Q29weXJpZ2h0IChDKSAyMDE2LCBJZ2FsaWEgUy5MLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCisgKiBhcmUgbWV0OgorICoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisg
KiAgICBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZworICogICAgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkCisgKiAgICB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5E
IENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNV
TEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklH
SFQKKyAqIEhPTERFUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoRU5DUllQVEVEX01FRElBKQorCisj
aW5jbHVkZSAiRXhjZXB0aW9uT3IuaCIKKyNpbmNsdWRlICJKU0RPTVByb21pc2UuaCIKKyNpbmNs
dWRlICJNZWRpYUtleVNlc3Npb25UeXBlLmgiCisjaW5jbHVkZSA8d3RmL1JlZi5oPgorI2luY2x1
ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgQnVm
ZmVyU291cmNlOworY2xhc3MgTWVkaWFLZXlTZXNzaW9uOworCitjbGFzcyBNZWRpYUtleXMgOiBw
dWJsaWMgUmVmQ291bnRlZDxNZWRpYUtleXM+IHsKK3B1YmxpYzoKKyAgICB1c2luZyBLZXlTZXNz
aW9uVHlwZSA9IE1lZGlhS2V5U2Vzc2lvblR5cGU7CisKKyAgICBzdGF0aWMgUmVmPE1lZGlhS2V5
cz4gY3JlYXRlKCkKKyAgICB7CisgICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IE1lZGlhS2V5
cyk7CisgICAgfQorCisgICAgdmlydHVhbCB+TWVkaWFLZXlzKCk7CisKKyAgICBFeGNlcHRpb25P
cjxSZWY8TWVkaWFLZXlTZXNzaW9uPj4gY3JlYXRlU2Vzc2lvbihNZWRpYUtleVNlc3Npb25UeXBl
KTsKKworICAgIHVzaW5nIFNldFNlcnZlckNlcnRpZmljYXRlUHJvbWlzZSA9IERPTVByb21pc2U8
Ym9vbD47CisgICAgdm9pZCBzZXRTZXJ2ZXJDZXJ0aWZpY2F0ZShjb25zdCBCdWZmZXJTb3VyY2Um
LCBTZXRTZXJ2ZXJDZXJ0aWZpY2F0ZVByb21pc2UmJik7CisKK3Byb3RlY3RlZDoKKyAgICBNZWRp
YUtleXMoKTsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJM
RShFTkNSWVBURURfTUVESUEpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Vu
Y3J5cHRlZG1lZGlhL01lZGlhS2V5cy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5
cHRlZG1lZGlhL01lZGlhS2V5cy5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjEwZTJkNGQzYzlkYWUwMmRkMjYy
ZWU0ODlmMzA2Njg4ZDJkNzQxOAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlzLmlkbApAQCAtMCwwICsxLDQwIEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDE2IE1ldHJvbG9naWNhbCBHcm91cCBCLlYuCisgKiBDb3B5cmln
aHQgKEMpIDIwMTYsIElnYWxpYSBTLkwuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
KyAqIGFyZSBtZXQ6CisgKgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqICAgIGNv
cHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
CisgKiAgICBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQKKyAqICAgIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJ
QlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICog
SE9MREVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLwor
CitlbnVtIE1lZGlhS2V5U2Vzc2lvblR5cGUgeworICAgICJ0ZW1wb3JhcnkiLAorICAgICJwZXJz
aXN0ZW50LXVzYWdlLXJlY29yZCIsCisgICAgInBlcnNpc3RlbnQtbGljZW5zZSIKK307CisgCitb
CisgICAgQ29uZGl0aW9uYWw9RU5DUllQVEVEX01FRElBLAorXSBpbnRlcmZhY2UgTWVkaWFLZXlz
IHsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIE1lZGlhS2V5U2Vzc2lvbiBjcmVhdGVTZXNzaW9u
KG9wdGlvbmFsIE1lZGlhS2V5U2Vzc2lvblR5cGUgc2Vzc2lvblR5cGUgPSAidGVtcG9yYXJ5Iik7
CisgICAgUHJvbWlzZSBzZXRTZXJ2ZXJDZXJ0aWZpY2F0ZShCdWZmZXJTb3VyY2Ugc2VydmVyQ2Vy
dGlmaWNhdGUpOworfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlw
dGVkbWVkaWEvTWVkaWFLZXlzUmVxdWlyZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
ZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlzUmVxdWlyZW1lbnQuaApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45YmIzNjc2
NjEwMGEwMTgxZWQ4MDgxMjUzMjMzYTgxNDdjYmFjNThiCi0tLSAvZGV2L251bGwKKysrIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleXNSZXF1aXJlbWVudC5o
CkBAIC0wLDAgKzEsNDMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTYgTWV0cm9sb2dpY2Fs
IEdyb3VwIEIuVi4KKyAqIENvcHlyaWdodCAoQykgMjAxNiwgSWdhbGlhIFMuTC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZQorICogICAgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcKKyAqICAgIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZAorICogICAgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlS
SUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRP
LCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBUSEUgQ09QWVJJR0hUCisgKiBIT0xERVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
CisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaWYgRU5BQkxFKEVOQ1JZ
UFRFRF9NRURJQSkKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitlbnVtIGNsYXNzIE1lZGlhS2V5
c1JlcXVpcmVtZW50IHsKKyAgICBSZXF1aXJlZCwKKyAgICBPcHRpb25hbCwKKyAgICBOb3RBbGxv
d2VkCit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoRU5D
UllQVEVEX01FRElBKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0
ZWRtZWRpYS9OYXZpZ2F0b3JFTUUuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0
ZWRtZWRpYS9OYXZpZ2F0b3JFTUUuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFlOGFiNjkxOWZmNzU4NGJhM2E2
NjgzM2Y0YTE3NGViYTZlNzlhMmIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2VuY3J5cHRlZG1lZGlhL05hdmlnYXRvckVNRS5jcHAKQEAgLTAsMCArMSw0NSBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAxNiBNZXRyb2xvZ2ljYWwgR3JvdXAgQi5WLgorICogQ29w
eXJpZ2h0IChDKSAyMDE2LCBJZ2FsaWEgUy5MLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCisgKiBhcmUgbWV0OgorICoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiAg
ICBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZworICogICAgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkCisgKiAgICB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENP
TlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFS
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQK
KyAqIEhPTERFUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisg
Ki8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIk5hdmlnYXRvckVNRS5oIgorCisj
aWYgRU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkKKworI2luY2x1ZGUgIk5vdEltcGxlbWVudGVkLmgi
CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwordm9pZCBOYXZpZ2F0b3JFTUU6OnJlcXVlc3RNZWRp
YUtleVN5c3RlbUFjY2VzcyhOYXZpZ2F0b3ImLCBjb25zdCBTdHJpbmcmLCBWZWN0b3I8TWVkaWFL
ZXlTeXN0ZW1Db25maWd1cmF0aW9uPiYmLCBSZXF1ZXN0TWVkaWFLZXlTeXN0ZW1BY2Nlc3NQcm9t
aXNlJiYpCit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQorCisjZW5kaWYgLy8gRU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTmF2aWdhdG9yRU1FLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL05hdmlnYXRvckVNRS5oCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjkzZTBkZjg1ZGE2Mzg0ZjdkYzMxYjY2N2M1MWI0YzZkMzk3MDcwNjAKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL05hdmlnYXRvckVN
RS5oCkBAIC0wLDAgKzEsNTEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTYgTWV0cm9sb2dp
Y2FsIEdyb3VwIEIuVi4KKyAqIENvcHlyaWdodCAoQykgMjAxNiwgSWdhbGlhIFMuTC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZQorICogICAgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcKKyAqICAgIGRpc2NsYWltZXIgaW4gdGhlIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZAorICogICAgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENP
UFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVE
IFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBIT0xERVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaWYgRU5BQkxFKEVO
Q1JZUFRFRF9NRURJQSkKKworI2luY2x1ZGUgIkpTRE9NUHJvbWlzZS5oIgorI2luY2x1ZGUgIk1l
ZGlhS2V5U3lzdGVtQ29uZmlndXJhdGlvbi5oIgorI2luY2x1ZGUgIlN1cHBsZW1lbnRhYmxlLmgi
CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgTWVkaWFLZXlTeXN0ZW1BY2Nlc3M7Citj
bGFzcyBOYXZpZ2F0b3I7CitjbGFzcyBQYWdlOworCitjbGFzcyBOYXZpZ2F0b3JFTUUgZmluYWwg
OiBwdWJsaWMgU3VwcGxlbWVudDxQYWdlPiB7CitwdWJsaWM6CisgICAgdHlwZWRlZiBET01Qcm9t
aXNlPE1lZGlhS2V5U3lzdGVtQWNjZXNzPiBSZXF1ZXN0TWVkaWFLZXlTeXN0ZW1BY2Nlc3NQcm9t
aXNlOworICAgIHN0YXRpYyB2b2lkIHJlcXVlc3RNZWRpYUtleVN5c3RlbUFjY2VzcyhOYXZpZ2F0
b3ImLCBjb25zdCBTdHJpbmcmLCBWZWN0b3I8TWVkaWFLZXlTeXN0ZW1Db25maWd1cmF0aW9uPiYm
LCBSZXF1ZXN0TWVkaWFLZXlTeXN0ZW1BY2Nlc3NQcm9taXNlJiYpOworfTsKKworfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTmF2aWdhdG9yRU1F
LmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTmF2aWdhdG9yRU1F
LmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4wZDc0YTc0MTA0MWZlZjdjN2M2MWE1MTJiZDM3ZjMwM2M5MTNjNDk0
Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRp
YS9OYXZpZ2F0b3JFTUUuaWRsCkBAIC0wLDAgKzEsMzMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTYgTWV0cm9sb2dpY2FsIEdyb3VwIEIuVi4KKyAqIENvcHlyaWdodCAoQykgMjAxNiwgSWdh
bGlhIFMuTC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAq
CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogICAgY29weXJpZ2h0IG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcKKyAqICAgIGRpc2NsYWlt
ZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZAor
ICogICAgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJ
UyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBIT0xERVIgT1IgQ09OVFJJ
QlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisg
KiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK1sKKyAgICBDb25kaXRp
b25hbD1FTkNSWVBURURfTUVESUEKK10gcGFydGlhbCBpbnRlcmZhY2UgTmF2aWdhdG9yIHsKKyAg
ICBQcm9taXNlIHJlcXVlc3RNZWRpYUtleVN5c3RlbUFjY2VzcyhET01TdHJpbmcga2V5U3lzdGVt
LCBzZXF1ZW5jZTxNZWRpYUtleVN5c3RlbUNvbmZpZ3VyYXRpb24+IHN1cHBvcnRlZENvbmZpZ3Vy
YXRpb24pOworfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3Vy
Y2UvU291cmNlQnVmZmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2Uv
U291cmNlQnVmZmVyLmNwcAppbmRleCAwMTU3ZDFkYWU2NjgyODY2NjEyNGQyMjM5YmY4MmY4YzZi
ZDAzOGE1Li4yNTNhOWVjOTU4N2UzMzM1YTcwMmFmNWMzZTlkNzNhMmI3ZTM4MmJkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9Tb3VyY2VCdWZmZXIuY3Bw
CkBAIC0yMzQsNyArMjM0LDcgQEAgRXhjZXB0aW9uT3I8dm9pZD4gU291cmNlQnVmZmVyOjpzZXRB
cHBlbmRXaW5kb3dFbmQoZG91YmxlIG5ld1ZhbHVlKQogCiBFeGNlcHRpb25Pcjx2b2lkPiBTb3Vy
Y2VCdWZmZXI6OmFwcGVuZEJ1ZmZlcihjb25zdCBCdWZmZXJTb3VyY2UmIGRhdGEpCiB7Ci0gICAg
cmV0dXJuIGFwcGVuZEJ1ZmZlckludGVybmFsKHN0YXRpY19jYXN0PGNvbnN0IHVuc2lnbmVkIGNo
YXIqPihkYXRhLmRhdGEpLCBkYXRhLmxlbmd0aCk7CisgICAgcmV0dXJuIGFwcGVuZEJ1ZmZlcklu
dGVybmFsKHN0YXRpY19jYXN0PGNvbnN0IHVuc2lnbmVkIGNoYXIqPihkYXRhLmRhdGEoKSksIGRh
dGEubGVuZ3RoKCkpOwogfQogCiB2b2lkIFNvdXJjZUJ1ZmZlcjo6cmVzZXRQYXJzZXJTdGF0ZSgp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oK
aW5kZXggZGJkZDA0NzY2Yzg4ZGYyYjVmYWNkYTk0MGJjODEyYTdjMTY3NDg3My4uODg1OTQyYWM1
Mzc0MDA3NGFlMDNjM2Q3NTViMTY0N2Q4OGNkMTM5NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTI0Niw2ICsxMjQ2LDMzIEBA
CiAJCTJEOTNBRUU0MTlERjU2NDEwMDJBODZDMyAvKiBTZXJ2aWNlc092ZXJsYXlDb250cm9sbGVy
Lm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkQ5M0FF
RTIxOURGNTY0MTAwMkE4NkMzIC8qIFNlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXIubW0gKi87IH07
CiAJCTJEOTdGMDQ3MTlERDQxM0MwMDFFRTlDMyAvKiBNb2NrUGFnZU92ZXJsYXlDbGllbnQuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkRBQUUzMkMx
OURDQUY2MDAwRTAwMkQyIC8qIE1vY2tQYWdlT3ZlcmxheUNsaWVudC5jcHAgKi87IH07CiAJCTJE
OTdGMDQ4MTlERDQxNDAwMDFFRTlDMyAvKiBNb2NrUGFnZU92ZXJsYXlDbGllbnQuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJEQUFFMzJEMTlEQ0FGNjAw
MEUwMDJEMiAvKiBNb2NrUGFnZU92ZXJsYXlDbGllbnQuaCAqLzsgfTsKKwkJMkQ5QkY3MDUxREJG
QkIyNDAwN0E3RDk5IC8qIE1lZGlhRW5jcnlwdGVkRXZlbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkQ5QkY3MDExREJGQkIyNDAwN0E3RDk5IC8q
IE1lZGlhRW5jcnlwdGVkRXZlbnQuY3BwICovOyB9OworCQkyRDlCRjcwNjFEQkZCQjI0MDA3QTdE
OTkgLyogTWVkaWFFbmNyeXB0ZWRFdmVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMkQ5QkY3MDIxREJGQkIyNDAwN0E3RDk5IC8qIE1lZGlhRW5jcnlw
dGVkRXZlbnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OworCQkyRDlCRjcwODFEQkZCQjI0MDA3QTdEOTkgLyogTWVkaWFFbmNyeXB0ZWRFdmVudEluaXQu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJEOUJGNzA0
MURCRkJCMjQwMDdBN0Q5OSAvKiBNZWRpYUVuY3J5cHRlZEV2ZW50SW5pdC5oICovOyBzZXR0aW5n
cyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTJEOUJGNzEwMURCRkQ4Q0Uw
MDdBN0Q5OSAvKiBKU01lZGlhRW5jcnlwdGVkRXZlbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkQ5QkY3MEYxREJGRDhDRTAwN0E3RDk5IC8qIEpT
TWVkaWFFbmNyeXB0ZWRFdmVudC5jcHAgKi87IH07CisJCTJEOUJGNzEyMURCRkQ5MTQwMDdBN0Q5
OSAvKiBKU01lZGlhRW5jcnlwdGVkRXZlbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDJEOUJGNzExMURCRkQ5MTQwMDdBN0Q5OSAvKiBKU01lZGlhRW5j
cnlwdGVkRXZlbnQuaCAqLzsgfTsKKwkJMkQ5QkY3MjExREJGREFCQTAwN0E3RDk5IC8qIEpTTWVk
aWFLZXlNZXNzYWdlRXZlbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMkQ5QkY3MTMxREJGREFCMTAwN0E3RDk5IC8qIEpTTWVkaWFLZXlNZXNzYWdl
RXZlbnQuY3BwICovOyB9OworCQkyRDlCRjcyMjFEQkZEQUNCMDA3QTdEOTkgLyogSlNNZWRpYUtl
eXMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkQ5
QkY3MTUxREJGREFCMTAwN0E3RDk5IC8qIEpTTWVkaWFLZXlzLmNwcCAqLzsgfTsKKwkJMkQ5QkY3
MjMxREJGREFDRDAwN0E3RDk5IC8qIEpTTWVkaWFLZXlTZXNzaW9uLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJEOUJGNzE3MURCRkRBQjEwMDdBN0Q5
OSAvKiBKU01lZGlhS2V5U2Vzc2lvbi5jcHAgKi87IH07CisJCTJEOUJGNzI0MURCRkRBRDAwMDdB
N0Q5OSAvKiBKU01lZGlhS2V5U3RhdHVzTWFwLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJEOUJGNzE5MURCRkRBQjEwMDdBN0Q5OSAvKiBKU01lZGlh
S2V5U3RhdHVzTWFwLmNwcCAqLzsgfTsKKwkJMkQ5QkY3MjUxREJGREFEMzAwN0E3RDk5IC8qIEpT
TWVkaWFLZXlTeXN0ZW1BY2Nlc3MuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMkQ5QkY3MUIxREJGREFCMTAwN0E3RDk5IC8qIEpTTWVkaWFLZXlTeXN0
ZW1BY2Nlc3MuY3BwICovOyB9OworCQkyRDlCRjcyNjFEQkZEQUQ1MDA3QTdEOTkgLyogSlNNZWRp
YUtleVN5c3RlbUNvbmZpZ3VyYXRpb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMkQ5QkY3MUQxREJGREFCMTAwN0E3RDk5IC8qIEpTTWVkaWFLZXlT
eXN0ZW1Db25maWd1cmF0aW9uLmNwcCAqLzsgfTsKKwkJMkQ5QkY3MjcxREJGREFEODAwN0E3RDk5
IC8qIEpTTWVkaWFLZXlTeXN0ZW1NZWRpYUNhcGFiaWxpdHkuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkQ5QkY3MUYxREJGREFCMTAwN0E3RDk5IC8q
IEpTTWVkaWFLZXlTeXN0ZW1NZWRpYUNhcGFiaWxpdHkuY3BwICovOyB9OworCQkyRDlCRjcyODFE
QkZEQjBEMDA3QTdEOTkgLyogSlNNZWRpYUtleU1lc3NhZ2VFdmVudC5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkQ5QkY3MTQxREJGREFCMTAwN0E3RDk5
IC8qIEpTTWVkaWFLZXlNZXNzYWdlRXZlbnQuaCAqLzsgfTsKKwkJMkQ5QkY3MjkxREJGREIxMDAw
N0E3RDk5IC8qIEpTTWVkaWFLZXlzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAyRDlCRjcxNjFEQkZEQUIxMDA3QTdEOTkgLyogSlNNZWRpYUtleXMuaCAq
LzsgfTsKKwkJMkQ5QkY3MkExREJGREIxMzAwN0E3RDk5IC8qIEpTTWVkaWFLZXlTZXNzaW9uLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRDlCRjcxODFE
QkZEQUIxMDA3QTdEOTkgLyogSlNNZWRpYUtleVNlc3Npb24uaCAqLzsgfTsKKwkJMkQ5QkY3MkIx
REJGREIxNTAwN0E3RDk5IC8qIEpTTWVkaWFLZXlTdGF0dXNNYXAuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJEOUJGNzFBMURCRkRBQjEwMDdBN0Q5OSAv
KiBKU01lZGlhS2V5U3RhdHVzTWFwLmggKi87IH07CisJCTJEOUJGNzJDMURCRkRCMTcwMDdBN0Q5
OSAvKiBKU01lZGlhS2V5U3lzdGVtQWNjZXNzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAyRDlCRjcxQzFEQkZEQUIxMDA3QTdEOTkgLyogSlNNZWRpYUtl
eVN5c3RlbUFjY2Vzcy5oICovOyB9OworCQkyRDlCRjcyRDFEQkZEQjE5MDA3QTdEOTkgLyogSlNN
ZWRpYUtleVN5c3RlbUNvbmZpZ3VyYXRpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDJEOUJGNzFFMURCRkRBQjEwMDdBN0Q5OSAvKiBKU01lZGlhS2V5
U3lzdGVtQ29uZmlndXJhdGlvbi5oICovOyB9OworCQkyRDlCRjcyRTFEQkZEQjFDMDA3QTdEOTkg
LyogSlNNZWRpYUtleVN5c3RlbU1lZGlhQ2FwYWJpbGl0eS5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkQ5QkY3MjAxREJGREFCMTAwN0E3RDk5IC8qIEpT
TWVkaWFLZXlTeXN0ZW1NZWRpYUNhcGFiaWxpdHkuaCAqLzsgfTsKKwkJMkQ5QkY3NDIxREJGREMy
NzAwN0E3RDk5IC8qIE5hdmlnYXRvckVNRS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAyRDlCRjc0MDFEQkZEQzBGMDA3QTdEOTkgLyogTmF2aWdhdG9y
RU1FLmNwcCAqLzsgfTsKKwkJMkQ5QkY3NDMxREJGREMzRTAwN0E3RDk5IC8qIE1lZGlhS2V5U3lz
dGVtQWNjZXNzLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDJEOUJGNzNDMURCRkRDMEYwMDdBN0Q5OSAvKiBNZWRpYUtleVN5c3RlbUFjY2Vzcy5jcHAg
Ki87IH07CisJCTJEOUJGNzQ0MURCRkRDNDEwMDdBN0Q5OSAvKiBNZWRpYUtleVN0YXR1c01hcC5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRDlCRjcz
QTFEQkZEQzBGMDA3QTdEOTkgLyogTWVkaWFLZXlTdGF0dXNNYXAuY3BwICovOyB9OworCQkyRDlC
Rjc0NTFEQkZEQzQ0MDA3QTdEOTkgLyogTWVkaWFLZXlTZXNzaW9uLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJEOUJGNzM1MURCRkRDMEYwMDdBN0Q5
OSAvKiBNZWRpYUtleVNlc3Npb24uY3BwICovOyB9OworCQkyRDlCRjc0NjFEQkZEQzQ3MDA3QTdE
OTkgLyogTWVkaWFLZXlzLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDJEOUJGNzMzMURCRkRDMEYwMDdBN0Q5OSAvKiBNZWRpYUtleXMuY3BwICovOyB9
OworCQkyRDlCRjc0NzFEQkZEQzQ5MDA3QTdEOTkgLyogTWVkaWFLZXlNZXNzYWdlRXZlbnQuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkQ5QkY3MkYx
REJGREMwRjAwN0E3RDk5IC8qIE1lZGlhS2V5TWVzc2FnZUV2ZW50LmNwcCAqLzsgfTsKKwkJMkQ5
QkY3NEExREJGRERGRjAwN0E3RDk5IC8qIEpTTWVkaWFLZXlTZXNzaW9uQ3VzdG9tLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJEOUJGNzQ4MURCRkRE
RjgwMDdBN0Q5OSAvKiBKU01lZGlhS2V5U2Vzc2lvbkN1c3RvbS5jcHAgKi87IH07CisJCTJEOUJG
NzRCMURCRkRFMDIwMDdBN0Q5OSAvKiBKU01lZGlhS2V5U3lzdGVtQWNjZXNzQ3VzdG9tLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJEOUJGNzQ5MURC
RkRERjgwMDdBN0Q5OSAvKiBKU01lZGlhS2V5U3lzdGVtQWNjZXNzQ3VzdG9tLmNwcCAqLzsgfTsK
IAkJMkQ5RjBFMTMxNEZGMUNCRjAwQkEwRkY3IC8qIGxpbmVhclNSR0IuaWNjIGluIFJlc291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRDlGMEUxMjE0RkYxQ0JGMDBC
QTBGRjcgLyogbGluZWFyU1JHQi5pY2MgKi87IH07CiAJCTJEQjlDNEFBMUIzMjMxRjQwMDcwRjI3
RiAvKiBOU0V2ZW50U1BJLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAyREI5QzRBOTFCMzIzMUY0MDA3MEYyN0YgLyogTlNFdmVudFNQSS5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTJEQzRDRjc5MUQyREQ5
ODkwMEVDQ0M5NCAvKiBEYXRhRGV0ZWN0b3JzVUlTUEkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJEQzRDRjc4MUQyREQ5ODkwMEVDQ0M5NCAvKiBEYXRh
RGV0ZWN0b3JzVUlTUEkuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OwpAQCAtODI1Myw2ICs4MjgwLDU1IEBACiAJCTJEOTA2NjBDMDY2NUQ5MzcwMDZCNkYx
QSAvKiBEYXRhVHJhbnNmZXJNYWMubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gMzA7IGluZGVudFdpZHRoID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBEYXRhVHJhbnNmZXJNYWMubW07IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IHRhYldpZHRoID0gODsgdXNlc1RhYnMgPSAwOyB9OwogCQkyRDkzQUVFMTE5
REY1NjQxMDAyQTg2QzMgLyogU2VydmljZXNPdmVybGF5Q29udHJvbGxlci5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBTZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTJEOTNBRUUyMTlERjU2NDEwMDJBODZDMyAvKiBTZXJ2
aWNlc092ZXJsYXlDb250cm9sbGVyLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3Bw
OyBwYXRoID0gU2VydmljZXNPdmVybGF5Q29udHJvbGxlci5tbTsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJMkQ5QkY2RjUxREJGQjcxRjAwN0E3RDk5IC8qIE1lZGlhS2V5TWVzc2FnZUV2
ZW50LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBNZWRpYUtleU1lc3NhZ2VFdmVudC5pZGw7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTJEOUJGNkY2MURCRkI3MUYwMDdBN0Q5OSAv
KiBNZWRpYUtleXMuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IE1lZGlhS2V5cy5pZGw7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTJEOUJGNkY3MURCRkI3MUYwMDdBN0Q5OSAvKiBN
ZWRpYUtleVNlc3Npb24uaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IE1lZGlhS2V5U2Vzc2lv
bi5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTJEOUJGNkY4MURCRkI3MUYwMDdB
N0Q5OSAvKiBNZWRpYUtleVN0YXR1c01hcC5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gTWVk
aWFLZXlTdGF0dXNNYXAuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkyRDlCRjZG
OTFEQkZCNzFGMDA3QTdEOTkgLyogTWVkaWFLZXlTeXN0ZW1BY2Nlc3MuaWRsICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
dGV4dDsgcGF0aCA9IE1lZGlhS2V5U3lzdGVtQWNjZXNzLmlkbDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJMkQ5QkY2RkExREJGQjcxRjAwN0E3RDk5IC8qIE1lZGlhS2V5U3lzdGVtQ29u
ZmlndXJhdGlvbi5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gTWVkaWFLZXlTeXN0ZW1Db25m
aWd1cmF0aW9uLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMkQ5QkY2RkIxREJG
QjcxRjAwN0E3RDk5IC8qIE1lZGlhS2V5U3lzdGVtTWVkaWFDYXBhYmlsaXR5LmlkbCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHRleHQ7IHBhdGggPSBNZWRpYUtleVN5c3RlbU1lZGlhQ2FwYWJpbGl0eS5pZGw7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTJEOUJGNkZDMURCRkI3MUYwMDdBN0Q5OSAvKiBOYXZp
Z2F0b3JFTUUuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IE5hdmlnYXRvckVNRS5pZGw7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTJEOUJGNzAxMURCRkJCMjQwMDdBN0Q5OSAvKiBN
ZWRpYUVuY3J5cHRlZEV2ZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IE1lZGlhRW5jcnlwdGVkRXZlbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQkyRDlCRjcwMjFEQkZCQjI0MDA3QTdEOTkgLyogTWVkaWFFbmNyeXB0ZWRFdmVudC5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNZWRpYUVuY3J5cHRlZEV2ZW50Lmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTJEOUJGNzAzMURCRkJCMjQwMDdBN0Q5OSAvKiBNZWRp
YUVuY3J5cHRlZEV2ZW50LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBNZWRpYUVuY3J5cHRl
ZEV2ZW50LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMkQ5QkY3MDQxREJGQkIy
NDAwN0E3RDk5IC8qIE1lZGlhRW5jcnlwdGVkRXZlbnRJbml0LmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IE1lZGlhRW5jcnlwdGVkRXZlbnRJbml0Lmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCTJEOUJGNzBGMURCRkQ4Q0UwMDdBN0Q5OSAvKiBKU01lZGlhRW5jcnlw
dGVkRXZlbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNNZWRp
YUVuY3J5cHRlZEV2ZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMkQ5QkY3
MTExREJGRDkxNDAwN0E3RDk5IC8qIEpTTWVkaWFFbmNyeXB0ZWRFdmVudC5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBKU01lZGlhRW5jcnlwdGVkRXZlbnQuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMkQ5QkY3MTMxREJGREFCMTAwN0E3RDk5IC8qIEpTTWVkaWFL
ZXlNZXNzYWdlRXZlbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
SlNNZWRpYUtleU1lc3NhZ2VFdmVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTJEOUJGNzE0MURCRkRBQjEwMDdBN0Q5OSAvKiBKU01lZGlhS2V5TWVzc2FnZUV2ZW50LmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTTWVkaWFLZXlNZXNzYWdlRXZlbnQuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMkQ5QkY3MTUxREJGREFCMTAwN0E3RDk5IC8q
IEpTTWVkaWFLZXlzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpT
TWVkaWFLZXlzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMkQ5QkY3MTYxREJG
REFCMTAwN0E3RDk5IC8qIEpTTWVkaWFLZXlzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IEpTTWVkaWFLZXlzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTJEOUJG
NzE3MURCRkRBQjEwMDdBN0Q5OSAvKiBKU01lZGlhS2V5U2Vzc2lvbi5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU01lZGlhS2V5U2Vzc2lvbi5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTJEOUJGNzE4MURCRkRBQjEwMDdBN0Q5OSAvKiBKU01lZGlh
S2V5U2Vzc2lvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU01lZGlhS2V5
U2Vzc2lvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkyRDlCRjcxOTFEQkZEQUIx
MDA3QTdEOTkgLyogSlNNZWRpYUtleVN0YXR1c01hcC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBKU01lZGlhS2V5U3RhdHVzTWFwLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJMkQ5QkY3MUExREJGREFCMTAwN0E3RDk5IC8qIEpTTWVkaWFLZXlTdGF0
dXNNYXAuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNNZWRpYUtleVN0YXR1
c01hcC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkyRDlCRjcxQjFEQkZEQUIxMDA3
QTdEOTkgLyogSlNNZWRpYUtleVN5c3RlbUFjY2Vzcy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBKU01lZGlhS2V5U3lzdGVtQWNjZXNzLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJMkQ5QkY3MUMxREJGREFCMTAwN0E3RDk5IC8qIEpTTWVkaWFLZXlT
eXN0ZW1BY2Nlc3MuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNNZWRpYUtl
eVN5c3RlbUFjY2Vzcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkyRDlCRjcxRDFE
QkZEQUIxMDA3QTdEOTkgLyogSlNNZWRpYUtleVN5c3RlbUNvbmZpZ3VyYXRpb24uY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNNZWRpYUtleVN5c3RlbUNvbmZpZ3Vy
YXRpb24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkyRDlCRjcxRTFEQkZEQUIx
MDA3QTdEOTkgLyogSlNNZWRpYUtleVN5c3RlbUNvbmZpZ3VyYXRpb24uaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gSlNNZWRpYUtleVN5c3RlbUNvbmZpZ3VyYXRpb24uaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMkQ5QkY3MUYxREJGREFCMTAwN0E3RDk5IC8qIEpT
TWVkaWFLZXlTeXN0ZW1NZWRpYUNhcGFiaWxpdHkuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gSlNNZWRpYUtleVN5c3RlbU1lZGlhQ2FwYWJpbGl0eS5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTJEOUJGNzIwMURCRkRBQjEwMDdBN0Q5OSAvKiBKU01l
ZGlhS2V5U3lzdGVtTWVkaWFDYXBhYmlsaXR5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IEpTTWVkaWFLZXlTeXN0ZW1NZWRpYUNhcGFiaWxpdHkuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJMkQ5QkY3MkYxREJGREMwRjAwN0E3RDk5IC8qIE1lZGlhS2V5TWVzc2Fn
ZUV2ZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE1lZGlhS2V5
TWVzc2FnZUV2ZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMkQ5QkY3MzAx
REJGREMwRjAwN0E3RDk5IC8qIE1lZGlhS2V5TWVzc2FnZUV2ZW50LmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IE1lZGlhS2V5TWVzc2FnZUV2ZW50Lmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCTJEOUJGNzMxMURCRkRDMEYwMDdBN0Q5OSAvKiBNZWRpYUtleU1lc3Nh
Z2VFdmVudEluaXQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTWVkaWFLZXlN
ZXNzYWdlRXZlbnRJbml0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTJEOUJGNzMy
MURCRkRDMEYwMDdBN0Q5OSAvKiBNZWRpYUtleU1lc3NhZ2VUeXBlLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IE1lZGlhS2V5TWVzc2FnZVR5cGUuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJMkQ5QkY3MzMxREJGREMwRjAwN0E3RDk5IC8qIE1lZGlhS2V5cy5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBNZWRpYUtleXMuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQkyRDlCRjczNDFEQkZEQzBGMDA3QTdEOTkgLyogTWVk
aWFLZXlzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1lZGlhS2V5cy5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkyRDlCRjczNTFEQkZEQzBGMDA3QTdEOTkgLyog
TWVkaWFLZXlTZXNzaW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IE1lZGlhS2V5U2Vzc2lvbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTJEOUJG
NzM2MURCRkRDMEYwMDdBN0Q5OSAvKiBNZWRpYUtleVNlc3Npb24uaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gTWVkaWFLZXlTZXNzaW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTJEOUJGNzM3MURCRkRDMEYwMDdBN0Q5OSAvKiBNZWRpYUtleVNlc3Npb25UeXBl
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1lZGlhS2V5U2Vzc2lvblR5cGUu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMkQ5QkY3MzgxREJGREMwRjAwN0E3RDk5
IC8qIE1lZGlhS2V5c1JlcXVpcmVtZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IE1lZGlhS2V5c1JlcXVpcmVtZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTJEOUJGNzM5MURCRkRDMEYwMDdBN0Q5OSAvKiBNZWRpYUtleVN0YXR1cy5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBNZWRpYUtleVN0YXR1cy5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQkyRDlCRjczQTFEQkZEQzBGMDA3QTdEOTkgLyogTWVkaWFLZXlTdGF0dXNN
YXAuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTWVkaWFLZXlTdGF0
dXNNYXAuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkyRDlCRjczQjFEQkZEQzBG
MDA3QTdEOTkgLyogTWVkaWFLZXlTdGF0dXNNYXAuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gTWVkaWFLZXlTdGF0dXNNYXAuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJMkQ5QkY3M0MxREJGREMwRjAwN0E3RDk5IC8qIE1lZGlhS2V5U3lzdGVtQWNjZXNzLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE1lZGlhS2V5U3lzdGVtQWNjZXNz
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMkQ5QkY3M0QxREJGREMwRjAwN0E3
RDk5IC8qIE1lZGlhS2V5U3lzdGVtQWNjZXNzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IE1lZGlhS2V5U3lzdGVtQWNjZXNzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTJEOUJGNzNFMURCRkRDMEYwMDdBN0Q5OSAvKiBNZWRpYUtleVN5c3RlbUNvbmZpZ3VyYXRp
b24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTWVkaWFLZXlTeXN0ZW1Db25m
aWd1cmF0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTJEOUJGNzNGMURCRkRD
MEYwMDdBN0Q5OSAvKiBNZWRpYUtleVN5c3RlbU1lZGlhQ2FwYWJpbGl0eS5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBNZWRpYUtleVN5c3RlbU1lZGlhQ2FwYWJpbGl0eS5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkyRDlCRjc0MDFEQkZEQzBGMDA3QTdEOTkgLyog
TmF2aWdhdG9yRU1FLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE5h
dmlnYXRvckVNRS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTJEOUJGNzQxMURC
RkRDMEYwMDdBN0Q5OSAvKiBOYXZpZ2F0b3JFTUUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gTmF2aWdhdG9yRU1FLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTJE
OUJGNzQ4MURCRkRERjgwMDdBN0Q5OSAvKiBKU01lZGlhS2V5U2Vzc2lvbkN1c3RvbS5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU01lZGlhS2V5U2Vzc2lvbkN1c3Rv
bS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTJEOUJGNzQ5MURCRkRERjgwMDdB
N0Q5OSAvKiBKU01lZGlhS2V5U3lzdGVtQWNjZXNzQ3VzdG9tLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTTWVkaWFLZXlTeXN0ZW1BY2Nlc3NDdXN0b20uY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyRDlGMEUxMjE0RkYxQ0JGMDBCQTBGRjcgLyog
bGluZWFyU1JHQi5pY2MgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmls
ZVR5cGUgPSBmaWxlOyBwYXRoID0gbGluZWFyU1JHQi5pY2M7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTJEQUFFMzJDMTlEQ0FGNjAwMEUwMDJEMiAvKiBNb2NrUGFnZU92ZXJsYXlDbGll
bnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTW9ja1BhZ2VPdmVy
bGF5Q2xpZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMkRBQUUzMkQxOURD
QUY2MDAwRTAwMkQyIC8qIE1vY2tQYWdlT3ZlcmxheUNsaWVudC5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBNb2NrUGFnZU92ZXJsYXlDbGllbnQuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKQEAgLTk0MzUsOCArOTUxMSw4IEBACiAJCTU3MzlFMTMwMURBQzdGRDEwMEUx
NDM4MyAvKiBKU0NyeXB0b0FsZ29yaXRobVBhcmFtZXRlcnMuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gSlNDcnlwdG9BbGdvcml0aG1QYXJhbWV0ZXJzLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTc0QUM3NTMxREFDMzY3RDAwRTk3NDRDIC8qIENy
eXB0b0FsZ29yaXRobVBhcmFtZXRlcnMuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IENyeXB0
b0FsZ29yaXRobVBhcmFtZXRlcnMuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1
NzRENDI3OTFENTk0RkY2MDAyQ0Y1MEUgLyogR2xvYmFsQ3J5cHRvLmlkbCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRl
eHQ7IHBhdGggPSBHbG9iYWxDcnlwdG8uaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owot
CQk1NzY4RTQzMzFEQjc1MjQ1MDBEMEE0RjcgLyogSlNSc2FIYXNoZWRLZXlHZW5QYXJhbXMuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gSlNSc2FIYXNoZWRLZXlHZW5QYXJhbXMu
aDsgcGF0aCA9IEpTUnNhSGFzaGVkS2V5R2VuUGFyYW1zLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07Ci0JCTU3NjhFNDM1MURCNzUyNzMwMEQwQTRGNyAvKiBKU1JzYUhhc2hlZEtleUdlblBh
cmFtcy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBKU1JzYUhhc2hl
ZEtleUdlblBhcmFtcy5jcHA7IHBhdGggPSBKU1JzYUhhc2hlZEtleUdlblBhcmFtcy5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTU3NjhFNDMzMURCNzUyNDUwMEQwQTRGNyAvKiBK
U1JzYUhhc2hlZEtleUdlblBhcmFtcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBKU1JzYUhhc2hlZEtleUdlblBhcmFtcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQk1NzY4RTQzNTFEQjc1MjczMDBEMEE0RjcgLyogSlNSc2FIYXNoZWRLZXlHZW5QYXJhbXMuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNSc2FIYXNoZWRLZXlHZW5Q
YXJhbXMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1Nzc0ODMxMDFEQURDNDk5
MDA3MTZFRjkgLyogQWVzS2V5R2VuUGFyYW1zLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBBZXNLZXlHZW5QYXJhbXMuaWRs
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1Nzc0ODMxMTFEQURDNTVEMDA3MTZFRjkg
LyogQ3J5cHRvQWxnb3JpdGhtQWVzS2V5R2VuUGFyYW1zLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IENyeXB0b0FsZ29yaXRobUFlc0tleUdlblBhcmFtcy5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQk1Nzc0ODMxMzFEQUVDMkVBMDA3MTZFRjkgLyogSlNBZXNLZXlH
ZW5QYXJhbXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNBZXNLZXlHZW5Q
YXJhbXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE4MjIzLDYgKzE4Mjk5LDEw
IEBACiAJCTkzRUVDMUVDMDlDMjg3NzcwMEM1MTVEMSAvKiBodG1sICovID0gewogCQkJaXNhID0g
UEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKKwkJCQkyRDlCRjcwMTFEQkZCQjI0MDA3QTdEOTkg
LyogTWVkaWFFbmNyeXB0ZWRFdmVudC5jcHAgKi8sCisJCQkJMkQ5QkY3MDIxREJGQkIyNDAwN0E3
RDk5IC8qIE1lZGlhRW5jcnlwdGVkRXZlbnQuaCAqLywKKwkJCQkyRDlCRjcwMzFEQkZCQjI0MDA3
QTdEOTkgLyogTWVkaWFFbmNyeXB0ZWRFdmVudC5pZGwgKi8sCisJCQkJMkQ5QkY3MDQxREJGQkIy
NDAwN0E3RDk5IC8qIE1lZGlhRW5jcnlwdGVkRXZlbnRJbml0LmggKi8sCiAJCQkJNDk0ODRGQUUx
MDJDRjAxRTAwMTg3REQzIC8qIGNhbnZhcyAqLywKIAkJCQkxQTg4QTkwMTE3NTUzQ0Q3MDAwQzc0
RjkgLyogZm9ybXMgKi8sCiAJCQkJOTdDMUY1NTExMjI4NTU4ODAwRURFNjE2IC8qIHBhcnNlciAq
LywKQEAgLTE5MzMzLDYgKzE5NDEzLDggQEAKIAkJQTgzQjc5MDgwQ0NBRkYyQjAwMEIwODI1IC8q
IEhUTUwgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAorCQkJCTJE
OUJGNzExMURCRkQ5MTQwMDdBN0Q5OSAvKiBKU01lZGlhRW5jcnlwdGVkRXZlbnQuaCAqLywKKwkJ
CQkyRDlCRjcwRjFEQkZEOENFMDA3QTdEOTkgLyogSlNNZWRpYUVuY3J5cHRlZEV2ZW50LmNwcCAq
LywKIAkJCQkzMUE3OTVDNDE4ODhCQUQxMDAzODJGOTAgLyogSlNBTkdMRUluc3RhbmNlZEFycmF5
cy5jcHAgKi8sCiAJCQkJMzFBNzk1QzUxODg4QkFEMTAwMzgyRjkwIC8qIEpTQU5HTEVJbnN0YW5j
ZWRBcnJheXMuaCAqLywKIAkJCQlCRThFRjAzRTE3MUM4RkY5MDA5QjQ4QzMgLyogSlNBdWRpb1Ry
YWNrLmNwcCAqLywKQEAgLTIxNDkyLDYgKzIxNTc0LDggQEAKIAkJQkMxQTM3OTMwOTdDNkZCMTAw
MTlGM0Q4IC8qIGpzICovID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgK
KwkJCQkyRDlCRjc0ODFEQkZEREY4MDA3QTdEOTkgLyogSlNNZWRpYUtleVNlc3Npb25DdXN0b20u
Y3BwICovLAorCQkJCTJEOUJGNzQ5MURCRkRERjgwMDdBN0Q5OSAvKiBKU01lZGlhS2V5U3lzdGVt
QWNjZXNzQ3VzdG9tLmNwcCAqLywKIAkJCQlCQ0NFNThBNzEwNjFFODJGMDA4RkIzNUEgLyogQ2Fs
bGJhY2sgT2JqZWN0cyAqLywKIAkJCQlCQ0NFNThCNDEwNjFFOTI1MDA4RkIzNUEgLyogQ29uc3Ry
dWN0b3JzICovLAogCQkJCUJDNEVERUY3MEMwOEY0MTQwMDdFREQ0OSAvKiBDdXN0b20gKi8sCkBA
IC0yMjMyMiw2ICsyMjQwNiwzMyBAQAogCQlDREE5OERCRDE2MDE0RTA4MDBGRUEzQjEgLyogZW5j
cnlwdGVkbWVkaWEgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAor
CQkJCTJEOUJGNzJGMURCRkRDMEYwMDdBN0Q5OSAvKiBNZWRpYUtleU1lc3NhZ2VFdmVudC5jcHAg
Ki8sCisJCQkJMkQ5QkY3MzAxREJGREMwRjAwN0E3RDk5IC8qIE1lZGlhS2V5TWVzc2FnZUV2ZW50
LmggKi8sCisJCQkJMkQ5QkY3MzExREJGREMwRjAwN0E3RDk5IC8qIE1lZGlhS2V5TWVzc2FnZUV2
ZW50SW5pdC5oICovLAorCQkJCTJEOUJGNzMyMURCRkRDMEYwMDdBN0Q5OSAvKiBNZWRpYUtleU1l
c3NhZ2VUeXBlLmggKi8sCisJCQkJMkQ5QkY3MzMxREJGREMwRjAwN0E3RDk5IC8qIE1lZGlhS2V5
cy5jcHAgKi8sCisJCQkJMkQ5QkY3MzQxREJGREMwRjAwN0E3RDk5IC8qIE1lZGlhS2V5cy5oICov
LAorCQkJCTJEOUJGNzM1MURCRkRDMEYwMDdBN0Q5OSAvKiBNZWRpYUtleVNlc3Npb24uY3BwICov
LAorCQkJCTJEOUJGNzM2MURCRkRDMEYwMDdBN0Q5OSAvKiBNZWRpYUtleVNlc3Npb24uaCAqLywK
KwkJCQkyRDlCRjczNzFEQkZEQzBGMDA3QTdEOTkgLyogTWVkaWFLZXlTZXNzaW9uVHlwZS5oICov
LAorCQkJCTJEOUJGNzM4MURCRkRDMEYwMDdBN0Q5OSAvKiBNZWRpYUtleXNSZXF1aXJlbWVudC5o
ICovLAorCQkJCTJEOUJGNzM5MURCRkRDMEYwMDdBN0Q5OSAvKiBNZWRpYUtleVN0YXR1cy5oICov
LAorCQkJCTJEOUJGNzNBMURCRkRDMEYwMDdBN0Q5OSAvKiBNZWRpYUtleVN0YXR1c01hcC5jcHAg
Ki8sCisJCQkJMkQ5QkY3M0IxREJGREMwRjAwN0E3RDk5IC8qIE1lZGlhS2V5U3RhdHVzTWFwLmgg
Ki8sCisJCQkJMkQ5QkY3M0MxREJGREMwRjAwN0E3RDk5IC8qIE1lZGlhS2V5U3lzdGVtQWNjZXNz
LmNwcCAqLywKKwkJCQkyRDlCRjczRDFEQkZEQzBGMDA3QTdEOTkgLyogTWVkaWFLZXlTeXN0ZW1B
Y2Nlc3MuaCAqLywKKwkJCQkyRDlCRjczRTFEQkZEQzBGMDA3QTdEOTkgLyogTWVkaWFLZXlTeXN0
ZW1Db25maWd1cmF0aW9uLmggKi8sCisJCQkJMkQ5QkY3M0YxREJGREMwRjAwN0E3RDk5IC8qIE1l
ZGlhS2V5U3lzdGVtTWVkaWFDYXBhYmlsaXR5LmggKi8sCisJCQkJMkQ5QkY3NDAxREJGREMwRjAw
N0E3RDk5IC8qIE5hdmlnYXRvckVNRS5jcHAgKi8sCisJCQkJMkQ5QkY3NDExREJGREMwRjAwN0E3
RDk5IC8qIE5hdmlnYXRvckVNRS5oICovLAorCQkJCTJEOUJGNkY1MURCRkI3MUYwMDdBN0Q5OSAv
KiBNZWRpYUtleU1lc3NhZ2VFdmVudC5pZGwgKi8sCisJCQkJMkQ5QkY2RjYxREJGQjcxRjAwN0E3
RDk5IC8qIE1lZGlhS2V5cy5pZGwgKi8sCisJCQkJMkQ5QkY2RjcxREJGQjcxRjAwN0E3RDk5IC8q
IE1lZGlhS2V5U2Vzc2lvbi5pZGwgKi8sCisJCQkJMkQ5QkY2RjgxREJGQjcxRjAwN0E3RDk5IC8q
IE1lZGlhS2V5U3RhdHVzTWFwLmlkbCAqLywKKwkJCQkyRDlCRjZGOTFEQkZCNzFGMDA3QTdEOTkg
LyogTWVkaWFLZXlTeXN0ZW1BY2Nlc3MuaWRsICovLAorCQkJCTJEOUJGNkZBMURCRkI3MUYwMDdB
N0Q5OSAvKiBNZWRpYUtleVN5c3RlbUNvbmZpZ3VyYXRpb24uaWRsICovLAorCQkJCTJEOUJGNkZC
MURCRkI3MUYwMDdBN0Q5OSAvKiBNZWRpYUtleVN5c3RlbU1lZGlhQ2FwYWJpbGl0eS5pZGwgKi8s
CisJCQkJMkQ5QkY2RkMxREJGQjcxRjAwN0E3RDk5IC8qIE5hdmlnYXRvckVNRS5pZGwgKi8sCiAJ
CQkJMkQwNjIxNDYxREE2MzlFQzAwQTdGQjI2IC8qIGxlZ2FjeSAqLywKIAkJCQlDREE5OEUwOTE2
MDNDRDU5MDBGRUEzQjEgLyogQ0RNLmNwcCAqLywKIAkJCQlDREE5OEUwQTE2MDNDRDU5MDBGRUEz
QjEgLyogQ0RNLmggKi8sCkBAIC0yMjMzOSw2ICsyMjQ1MCwyMCBAQAogCQlDREE5OERDRDE2MDE1
MTVDMDBGRUEzQjEgLyogRW5jcnlwdGVkTWVkaWEgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsK
IAkJCWNoaWxkcmVuID0gKAorCQkJCTJEOUJGNzEzMURCRkRBQjEwMDdBN0Q5OSAvKiBKU01lZGlh
S2V5TWVzc2FnZUV2ZW50LmNwcCAqLywKKwkJCQkyRDlCRjcxNDFEQkZEQUIxMDA3QTdEOTkgLyog
SlNNZWRpYUtleU1lc3NhZ2VFdmVudC5oICovLAorCQkJCTJEOUJGNzE1MURCRkRBQjEwMDdBN0Q5
OSAvKiBKU01lZGlhS2V5cy5jcHAgKi8sCisJCQkJMkQ5QkY3MTYxREJGREFCMTAwN0E3RDk5IC8q
IEpTTWVkaWFLZXlzLmggKi8sCisJCQkJMkQ5QkY3MTcxREJGREFCMTAwN0E3RDk5IC8qIEpTTWVk
aWFLZXlTZXNzaW9uLmNwcCAqLywKKwkJCQkyRDlCRjcxODFEQkZEQUIxMDA3QTdEOTkgLyogSlNN
ZWRpYUtleVNlc3Npb24uaCAqLywKKwkJCQkyRDlCRjcxOTFEQkZEQUIxMDA3QTdEOTkgLyogSlNN
ZWRpYUtleVN0YXR1c01hcC5jcHAgKi8sCisJCQkJMkQ5QkY3MUExREJGREFCMTAwN0E3RDk5IC8q
IEpTTWVkaWFLZXlTdGF0dXNNYXAuaCAqLywKKwkJCQkyRDlCRjcxQjFEQkZEQUIxMDA3QTdEOTkg
LyogSlNNZWRpYUtleVN5c3RlbUFjY2Vzcy5jcHAgKi8sCisJCQkJMkQ5QkY3MUMxREJGREFCMTAw
N0E3RDk5IC8qIEpTTWVkaWFLZXlTeXN0ZW1BY2Nlc3MuaCAqLywKKwkJCQkyRDlCRjcxRDFEQkZE
QUIxMDA3QTdEOTkgLyogSlNNZWRpYUtleVN5c3RlbUNvbmZpZ3VyYXRpb24uY3BwICovLAorCQkJ
CTJEOUJGNzFFMURCRkRBQjEwMDdBN0Q5OSAvKiBKU01lZGlhS2V5U3lzdGVtQ29uZmlndXJhdGlv
bi5oICovLAorCQkJCTJEOUJGNzFGMURCRkRBQjEwMDdBN0Q5OSAvKiBKU01lZGlhS2V5U3lzdGVt
TWVkaWFDYXBhYmlsaXR5LmNwcCAqLywKKwkJCQkyRDlCRjcyMDFEQkZEQUIxMDA3QTdEOTkgLyog
SlNNZWRpYUtleVN5c3RlbU1lZGlhQ2FwYWJpbGl0eS5oICovLAogCQkJCUNEQTk4RDlCMTYwMTI4
QTUwMEZFQTNCMSAvKiBKU1dlYktpdE1lZGlhS2V5RXJyb3IuY3BwICovLAogCQkJCUNEQTk4RDlD
MTYwMTI4QTUwMEZFQTNCMSAvKiBKU1dlYktpdE1lZGlhS2V5RXJyb3IuaCAqLywKIAkJCQlDREE5
OEREQjE2MDI2QTE4MDBGRUEzQjEgLyogSlNXZWJLaXRNZWRpYUtleU1lc3NhZ2VFdmVudC5jcHAg
Ki8sCkBAIC0yNDQ2NCw2ICsyNDU4OSw3IEBACiAJCQkJQTg5OTQzMjgwQjQyMzM4ODAwRDdDODAy
IC8qIEJpdG1hcEltYWdlLmggaW4gSGVhZGVycyAqLywKIAkJCQk5NzZENkM3OTEyMkI4QTNEMDAx
RkQxRjcgLyogQmxvYi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMkVERUYxRjQxMjFCMEVGQzAwNzI2
REIyIC8qIEJsb2JEYXRhLmggaW4gSGVhZGVycyAqLywKKwkJCQkyRDlCRjcwODFEQkZCQjI0MDA3
QTdEOTkgLyogTWVkaWFFbmNyeXB0ZWRFdmVudEluaXQuaCBpbiBIZWFkZXJzICovLAogCQkJCUUx
RDMxQ0REMTkxOTYwMjAwMDEwMDVBMyAvKiBCbG9iRGF0YUZpbGVSZWZlcmVuY2UuaCBpbiBIZWFk
ZXJzICovLAogCQkJCUUxQzk0QUY5MTkxMzAzRjAwMEQ1QTg5MyAvKiBCbG9iUGFydC5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJMkVERUYxRjUxMjFCMEVGQzAwNzI2REIyIC8qIEJsb2JSZWdpc3RyeS5o
IGluIEhlYWRlcnMgKi8sCkBAIC0yNTM4Myw2ICsyNTUwOSw3IEBACiAJCQkJQzNDRjE3QTcxNUIw
MDYzRjAwMjc2RDM5IC8qIElkVGFyZ2V0T2JzZXJ2ZXJSZWdpc3RyeS5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJOEFCNEJDNzcxMjZGREI3MTAwREVCNzI3IC8qIElnbm9yZURlc3RydWN0aXZlV3JpdGVD
b3VudEluY3JlbWVudGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQk0NjczMDIwMjFDNEVGRTc4MDBC
Q0IzNTcgLyogSWdub3JlT3BlbnNEdXJpbmdVbmxvYWRDb3VudEluY3JlbWVudGVyLmggaW4gSGVh
ZGVycyAqLywKKwkJCQkyRDlCRjcyRDFEQkZEQjE5MDA3QTdEOTkgLyogSlNNZWRpYUtleVN5c3Rl
bUNvbmZpZ3VyYXRpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCUIyNzUzNTcwMEIwNTM4MTQwMDJD
RTY0RiAvKiBJbWFnZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTVBMzM2RjkxRDgyMUUzQzAwMjJD
NEM3IC8qIEltYWdlQmFja2luZ1N0b3JlLmggaW4gSGVhZGVycyAqLywKIAkJCQlCMkExMEI5MjBC
MzgxOEJEMDAwOTlBQTQgLyogSW1hZ2VCdWZmZXIuaCBpbiBIZWFkZXJzICovLApAQCAtMjU0NjQs
NiArMjU1OTEsNyBAQAogCQkJCTBGMDNDMDc1MTg4NDgwNTUwMEE1RjhDQSAvKiBJbnNwZWN0b3JP
dmVybGF5LmggaW4gSGVhZGVycyAqLywKIAkJCQk0RjZGREQ2NTEzNDFERUREMDAxRjhFRTMgLyog
SW5zcGVjdG9yUGFnZUFnZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQk5OUNDMEI2NzE4QkU5RjE1
MDA2Q0VCQ0MgLyogSW5zcGVjdG9yUmVwbGF5QWdlbnQuaCBpbiBIZWFkZXJzICovLAorCQkJCTJE
OUJGNzJFMURCRkRCMUMwMDdBN0Q5OSAvKiBKU01lZGlhS2V5U3lzdGVtTWVkaWFDYXBhYmlsaXR5
LmggaW4gSGVhZGVycyAqLywKIAkJCQk4MkFCMTc3NDEyNUM4MjY3MDBDNTA2OUQgLyogSW5zcGVj
dG9yU3R5bGVTaGVldC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNzU0MTMzQTgxMDJFMDBFODAwMDc1
RDAwIC8qIEluc3BlY3RvclRpbWVsaW5lQWdlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUE1OTND
RjhCMTg0MDUzNTIwMEJGQ0UyNyAvKiBJbnNwZWN0b3JXZWJBZ2VudEJhc2UuaCBpbiBIZWFkZXJz
ICovLApAQCAtMjU3MTIsNiArMjU4NDAsNyBAQAogCQkJCTFBRTJBQkE5MEExQ0U5MDUwMEI0MkIy
NSAvKiBKU0hUTUxQYXJhbUVsZW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDM0Q4NUJDMUMw
RTJFN0EwMEQzQjYxMCAvKiBKU0hUTUxQaWN0dXJlRWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJMUFFMkFCQUIwQTFDRTkwNTAwQjQyQjI1IC8qIEpTSFRNTFByZUVsZW1lbnQuaCBpbiBIZWFk
ZXJzICovLAorCQkJCTJEOUJGNzI5MURCRkRCMTAwMDdBN0Q5OSAvKiBKU01lZGlhS2V5cy5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJQTQyMjZFNUMxMTYzRDY5NTAwOEI4Mzk3IC8qIEpTSFRNTFByb2dy
ZXNzRWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUFFMkFFQzgwQTFEMjk3QjAwQjQyQjI1
IC8qIEpTSFRNTFF1b3RlRWxlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUFFMkFCQUQwQTFD
RTkwNTAwQjQyQjI1IC8qIEpTSFRNTFNjcmlwdEVsZW1lbnQuaCBpbiBIZWFkZXJzICovLApAQCAt
MjYxNDQsNiArMjYyNzMsNyBAQAogCQkJCUU0MjRBMzlFMTMzMERGMDEwMENGNkRDOSAvKiBMZWdh
Y3lUaWxlR3JpZFRpbGUuaCBpbiBIZWFkZXJzICovLAogCQkJCUU0QjY1QTVDMTMyRkFDQjAwMDcw
RTdCRSAvKiBMZWdhY3lUaWxlTGF5ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUU0RTM5QUZCMTMz
MEVGQTgwMDNBQjI3NCAvKiBMZWdhY3lUaWxlTGF5ZXJQb29sLmggaW4gSGVhZGVycyAqLywKKwkJ
CQkyRDlCRjcyODFEQkZEQjBEMDA3QTdEOTkgLyogSlNNZWRpYUtleU1lc3NhZ2VFdmVudC5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJNTEyREQ4RjUwRDkxRTZBRjAwMEY4OUVFIC8qIExlZ2FjeVdlYkFy
Y2hpdmUuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDRTY1QkVCMEVBQ0RGMTYwMDdFNDUzMyAvKiBM
ZW5ndGguaCBpbiBIZWFkZXJzICovLAogCQkJCUJDRkY2NDkxMEVBRDE1QzIwMEMxRDZGNyAvKiBM
ZW5ndGhCb3guaCBpbiBIZWFkZXJzICovLApAQCAtMjYyNTUsNiArMjYzODUsNyBAQAogCQkJCUNF
MTI1MjQxMUExNkIxQjYwMDg2NDQ4MCAvKiBNZWRpYVBsYXllclNQSS5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJNTJFMkNBRkMxOUZGMDIwNzAwMUVFQjRGIC8qIE1lZGlhUHJvZHVjZXIuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTRFMTk1OTJBMEEzOURBQ0MwMDIyMEZFNSAvKiBNZWRpYVF1ZXJ5LmggaW4g
SGVhZGVycyAqLywKKwkJCQkyRDlCRjcwNjFEQkZCQjI0MDA3QTdEOTkgLyogTWVkaWFFbmNyeXB0
ZWRFdmVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTQ5M0I2QkYxRDc0QjQxMjAwODhFNzgwIC8q
IE1lZGlhUXVlcnlCbG9ja1dhdGNoZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTRFMTk1OTJDMEEz
OURBQ0MwMDIyMEZFNSAvKiBNZWRpYVF1ZXJ5RXZhbHVhdG9yLmggaW4gSGVhZGVycyAqLywKIAkJ
CQk0RTE5NTkyRTBBMzlEQUNDMDAyMjBGRTUgLyogTWVkaWFRdWVyeUV4cC5oIGluIEhlYWRlcnMg
Ki8sCkBAIC0yNjQ0OSw2ICsyNjU4MCw3IEBACiAJCQkJQjJEM0RBNjUwRDAwNkNENjAwRUY2RjI3
IC8qIE9wZW5UeXBlTWF0aERhdGEuaCBpbiBIZWFkZXJzICovLAogCQkJCUIyRDNFQTY1MEQwMDZD
RDYwMEVGNkYyOCAvKiBPcGVuVHlwZVR5cGVzLmggaW4gSGVhZGVycyAqLywKIAkJCQlDREU3RkM0
NTE4MTkwNEIxMDAyQkJCNzcgLyogT3JkZXJJdGVyYXRvci5oIGluIEhlYWRlcnMgKi8sCisJCQkJ
MkQ5QkY3MkMxREJGREIxNzAwN0E3RDk5IC8qIEpTTWVkaWFLZXlTeXN0ZW1BY2Nlc3MuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTAwMTQ2MjhCMTAzQ0QxREUwMDBCMjBEQiAvKiBPcmlnaW5BY2Nlc3NF
bnRyeS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRkU5RTg5RkMxNkUyREMwNTAwQTkwOEY4IC8qIE9y
aWdpbkxvY2suaCBpbiBIZWFkZXJzICovLAogCQkJCUZENTgxRkFGMTUyMEY5MUYwMDNBN0E3NSAv
KiBPc2NpbGxhdG9yTm9kZS5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNjU2OCw2ICsyNjcwMCw3IEBA
CiAJCQkJQkNCQjhBQjkxM0YxQUZCMDAwNzM0REYwIC8qIFBPREludGVydmFsLmggaW4gSGVhZGVy
cyAqLywKIAkJCQlCQ0JCOEFCQTEzRjFBRkIwMDA3MzRERjAgLyogUE9ESW50ZXJ2YWxUcmVlLmgg
aW4gSGVhZGVycyAqLywKIAkJCQlCQ0JCOEFCQjEzRjFBRkIwMDA3MzRERjAgLyogUE9EUmVkQmxh
Y2tUcmVlLmggaW4gSGVhZGVycyAqLywKKwkJCQkyRDlCRjcxMjFEQkZEOTE0MDA3QTdEOTkgLyog
SlNNZWRpYUVuY3J5cHRlZEV2ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlCMkIxRjcxNzBEMDBD
QUE4MDA0QUVBNjQgLyogUG9pbnRlckV2ZW50c0hpdFJ1bGVzLmggaW4gSGVhZGVycyAqLywKIAkJ
CQkzRkY4MTNBNzFEQkE4NjQwMDA5QkYwMDEgLyogUG9pbnRlckxvY2tDb250cm9sbGVyLmggaW4g
SGVhZGVycyAqLywKIAkJCQk4NDczMEQ5MjEyNDhGMEIzMDBEM0E5QzkgLyogUG9pbnRMaWdodFNv
dXJjZS5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNzQ2OCw2ICsyNzYwMSw3IEBACiAJCQkJNTFEN0VG
RUExQkRFOEY4QzAwRTkzRTEwIC8qIFRocmVhZFNhZmVEYXRhQnVmZmVyLmggaW4gSGVhZGVycyAq
LywKIAkJCQkxODVCQ0YyOTBGMzI3OUNFMDAwRUEyNjIgLyogVGhyZWFkVGltZXJzLmggaW4gSGVh
ZGVycyAqLywKIAkJCQk3QUEzQTY5QTE5NEE2NEU3MDAxQ0JEMjQgLyogVGlsZUNvbnRyb2xsZXIu
aCBpbiBIZWFkZXJzICovLAorCQkJCTJEOUJGNzJBMURCRkRCMTMwMDdBN0Q5OSAvKiBKU01lZGlh
S2V5U2Vzc2lvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUY3MkJGMEIxODdGRDQ1QzAwMDlCQ0Iz
IC8qIFRpbGVDb250cm9sbGVyTWVtb3J5SGFuZGxlcklPUy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
N0FBM0E2QTQxOTRCNUMyMjAwMUNCRDI0IC8qIFRpbGVDb3ZlcmFnZU1hcC5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJMUFGODlBNDIxNTE4RkRFQTAwRTU0N0I1IC8qIFRpbGVkQmFja2luZy5oIGluIEhl
YWRlcnMgKi8sCkBAIC0yNzY5Miw2ICsyNzgyNiw3IEBACiAJCQkJMEZDRjMzMkYwRjJCOUEyNTAw
NEI2Nzk1IC8qIFdlYkxheWVyLmggaW4gSGVhZGVycyAqLywKIAkJCQkwNzA5RDc4RjFBRTU1NTU0
MDA0RTQyRjggLyogV2ViTWVkaWFTZXNzaW9uTWFuYWdlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
MDcwOUQ3OTUxQUU1NUEyOTAwNEU0MkY4IC8qIFdlYk1lZGlhU2Vzc2lvbk1hbmFnZXJDbGllbnQu
aCBpbiBIZWFkZXJzICovLAorCQkJCTJEOUJGNzJCMURCRkRCMTUwMDdBN0Q5OSAvKiBKU01lZGlh
S2V5U3RhdHVzTWFwLmggaW4gSGVhZGVycyAqLywKIAkJCQkwNzA5RDc5MzFBRTU1NTdFMDA0RTQy
RjggLyogV2ViTWVkaWFTZXNzaW9uTWFuYWdlck1hYy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTFB
MzE2MkQxMzRCQzMyRDAwN0M5QTRGIC8qIFdlYk5TQXR0cmlidXRlZFN0cmluZ0V4dHJhcy5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJQ0Q1ODk2RTIxQ0QyQjE1MTAwQjNCQ0M4IC8qIFdlYlBsYXliYWNr
Q29udHJvbHNNYW5hZ2VyLmggaW4gSGVhZGVycyAqLywKQEAgLTI4MTc0LDYgKzI4MzA5LDcgQEAK
IAkJCQk4NEQwQzQwNDExMTVGMUQ0MDAxOEFBMzQgLyogQWZmaW5lVHJhbnNmb3JtLmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCUNFMDhDM0QxMTUyQjU5OUEwMDIxQjhDMiAvKiBBbHRlcm5hdGl2ZVRl
eHRDb250cm9sbGVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUNFN0IyREI0MTU4NkFCQUQwMDk4
QjNGQSAvKiBBbHRlcm5hdGl2ZVRleHRVSUNvbnRyb2xsZXIubW0gaW4gU291cmNlcyAqLywKKwkJ
CQkyRDlCRjc0NjFEQkZEQzQ3MDA3QTdEOTkgLyogTWVkaWFLZXlzLmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCUZEMzE2MDNEMTJCMDI2NzYwMEMxQTM1OSAvKiBBbmFseXNlck5vZGUuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJMzFBNzk1QzgxODg4QkNCNTAwMzgyRjkwIC8qIEFOR0xFSW5zdGFuY2Vk
QXJyYXlzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTQ5MDcwN0U2MTIxOUMwNDMwMEQ5MEU1MSAv
KiBBTkdMRVdlYktpdEJyaWRnZS5jcHAgaW4gU291cmNlcyAqLywKQEAgLTI4MTk5LDYgKzI4MzM1
LDcgQEAKIAkJCQk5QjQxNzA2NTEyNTY2MkIzMDA2QjI4RkMgLyogQXBwbHlCbG9ja0VsZW1lbnRD
b21tYW5kLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTkzMzA5REQ4MDk5RTY0OTIwMDU2RTU4MSAv
KiBBcHBseVN0eWxlQ29tbWFuZC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkzN0REQ0Q5RTEzODQ0
RkZBMDAwOEI3OTMgLyogQXJjaGl2ZS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkyRDlCRjcyNDFE
QkZEQUQwMDA3QTdEOTkgLyogSlNNZWRpYUtleVN0YXR1c01hcC5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQk1MTJERDhGQTBEOTFFNkFGMDAwRjg5RUUgLyogQXJjaGl2ZUZhY3RvcnkuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJNTEyREQ4RkIwRDkxRTZBRjAwMEY4OUVFIC8qIEFyY2hpdmVSZXNvdXJj
ZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1MTJERDhGNzBEOTFFNkFGMDAwRjg5RUUgLyogQXJj
aGl2ZVJlc291cmNlQ29sbGVjdGlvbi5jcHAgaW4gU291cmNlcyAqLywKQEAgLTI4Mzk0LDYgKzI4
NTMxLDcgQEAKIAkJCQkyNkYwQzg5NzFBMkU3MjRCMDAyNzk0RjggLyogQ29udGVudEV4dGVuc2lv
blBhcnNlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkyNkYwQzg5QjFBMkVDMTEwMDAyNzk0Rjgg
LyogQ29udGVudEV4dGVuc2lvblJ1bGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMjZGMEM4OUYx
QTJFQzNCRTAwMjc5NEY4IC8qIENvbnRlbnRFeHRlbnNpb25zQmFja2VuZC5jcHAgaW4gU291cmNl
cyAqLywKKwkJCQkyRDlCRjc0QjFEQkZERTAyMDA3QTdEOTkgLyogSlNNZWRpYUtleVN5c3RlbUFj
Y2Vzc0N1c3RvbS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1MUZCNjdEQjFBRTZCODJCMDBEMDZD
NUEgLyogQ29udGVudEV4dGVuc2lvblN0eWxlU2hlZXQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
QTE0OTc4NkUxQUJBRjMzODAwQ0VGN0U0IC8qIENvbnRlbnRGaWx0ZXIuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJQTE0MDkwRkIxQUE1MUUxRDAwOTExOTFBIC8qIENvbnRlbnRGaWx0ZXJVbmJsb2Nr
SGFuZGxlckNvY29hLm1tIGluIFNvdXJjZXMgKi8sCkBAIC0yODQ2NCw2ICsyODYwMiw3IEBACiAJ
CQkJRTE5QUMzRjkxODI1NjZGNzAwMzQ5NDI2IC8qIENyeXB0b0tleU1hYy5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQlFMUY4MEI4NzE4MzE3MjUyMDA3ODg1QzMgLyogQ3J5cHRvS2V5UGFpci5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQlFMTY0RkFBNTE4MzE1RTFBMDBEQjRFNjEgLyogQ3J5cHRvS2V5
UlNBTWFjLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTJEOUJGNzEwMURCRkQ4Q0UwMDdBN0Q5OSAv
KiBKU01lZGlhRW5jcnlwdGVkRXZlbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRTEyNUY4NTkx
ODJDMUFBNjAwRDg0Q0Q5IC8qIENyeXB0b0tleVNlcmlhbGl6YXRpb25SYXcuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJMzFCQzc0MkQxQUFGRjQ1QzAwNkI0MzQwIC8qIENTU0FuaW1hdGlvblRyaWdn
ZXJTY3JvbGxWYWx1ZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlDQUU5RjkwRjE0NjQ0MUYwMDBD
MjQ1QjAgLyogQ1NTQXNwZWN0UmF0aW9WYWx1ZS5jcHAgaW4gU291cmNlcyAqLywKQEAgLTI4NTIz
LDYgKzI4NjYyLDcgQEAKIAkJCQlBODBFNkQwNTBBMTk4OUNBMDA3RkI4QzUgLyogQ1NTUHJpbWl0
aXZlVmFsdWUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQTgwRTZDRjcwQTE5ODlDQTAwN0ZCOEM1
IC8qIENTU1Byb3BlcnR5LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTc4RDAyQkM1MTU0QTE4REYw
MEI2MkQwNSAvKiBDU1NQcm9wZXJ0eUFuaW1hdGlvbi5jcHAgaW4gU291cmNlcyAqLywKKwkJCQky
RDlCRjcyNjFEQkZEQUQ1MDA3QTdEOTkgLyogSlNNZWRpYUtleVN5c3RlbUNvbmZpZ3VyYXRpb24u
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMUFCQTc2Q0ExMUQyMEU1MDAwNEMyMDFDIC8qIENTU1By
b3BlcnR5TmFtZXMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJOTQ2RDM3NDUxRDZEMDFENDAwNzcw
ODRGIC8qIENTU1Byb3BlcnR5UGFyc2VyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTk0OUM3NzA0
MUQ2RTM5RUEwMEMwREU0RiAvKiBDU1NQcm9wZXJ0eVBhcnNlckhlbHBlcnMuY3BwIGluIFNvdXJj
ZXMgKi8sCkBAIC0yODg3MCw2ICsyOTAxMCw3IEBACiAJCQkJMkQ1MDM2NjgxQkNERERDNDAwRTIw
QkIzIC8qIEdlc3R1cmVFdmVudHMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQjJBRkZDODMwRDAw
QTVDMTAwMzAwNzREIC8qIEdseXBoUGFnZU1hYy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQzUz
QzYwODBEQTU2QzU3MDAyMUVCNUQgLyogR3JhZGllbnQuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJ
MkQ5QkY3MjUxREJGREFEMzAwN0E3RDk5IC8qIEpTTWVkaWFLZXlTeXN0ZW1BY2Nlc3MuY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJQkM1M0M2MEIwREE1NkNGMTAwMjFFQjVEIC8qIEdyYWRpZW50Q0cu
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMkQ0ODFGMDMxNDZCNUM2NTAwQUE3ODM0IC8qIEdyYWRp
ZW50SW1hZ2UuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQjJBMDE1QTgwQUY2Q0Q1MzAwNkJDRTBF
IC8qIEdyYXBoaWNzQ29udGV4dC5jcHAgaW4gU291cmNlcyAqLywKQEAgLTI4OTQ3LDYgKzI5MDg4
LDcgQEAKIAkJCQlBODcxREUyNjBBMTUyQUM4MDBCMTJBNjggLyogSFRNTEh0bWxFbGVtZW50LmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCUE4NzFERTI0MEExNTJBQzgwMEIxMkE2OCAvKiBIVE1MSUZy
YW1lRWxlbWVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBOEVBN0QzMTBBMTkzODU1MDBBOEVG
NUYgLyogSFRNTEltYWdlRWxlbWVudC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkyRDlCRjc0QTFE
QkZEREZGMDA3QTdEOTkgLyogSlNNZWRpYUtleVNlc3Npb25DdXN0b20uY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJQThFQTdEMzAwQTE5Mzg1NTAwQThFRjVGIC8qIEhUTUxJbWFnZUxvYWRlci5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQlBODEzNjlDRDA5NzM3NEY2MDBENzQ0NjMgLyogSFRNTElucHV0
RWxlbWVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5MzMwOURFNTA5OUU2NDkyMDA1NkU1ODEg
LyogSFRNTEludGVyY2hhbmdlLmNwcCBpbiBTb3VyY2VzICovLApAQCAtMjkxNjIsOSArMjkzMDQs
MTEgQEAKIAkJCQlGREExNUVDOTEyQjAzRjUwMDAzQTU4M0EgLyogSlNBbmFseXNlck5vZGUuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJMzFBNzk1QzYxODg4QkFEQzAwMzgyRjkwIC8qIEpTQU5HTEVJ
bnN0YW5jZWRBcnJheXMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMTJBMjUzRTIxQzhGRkY2NjAw
QzIyMjk1IC8qIEpTQW5pbWF0YWJsZS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkyRDlCRjcyNzFE
QkZEQUQ4MDA3QTdEOTkgLyogSlNNZWRpYUtleVN5c3RlbU1lZGlhQ2FwYWJpbGl0eS5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQkxMjBERTNGRTFDODdFMTg4MDBCNkQ0REQgLyogSlNBbmltYXRpb25F
ZmZlY3QuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMzE5ODQ4MEIxQTFFNkNFNDAwQTEzMzE4IC8q
IEpTQW5pbWF0aW9uRXZlbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMTIyMUUwNkMxQzAzRDIy
NDAwNkExQTAwIC8qIEpTQW5pbWF0aW9uVGltZWxpbmUuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJ
MkQ5QkY3MDUxREJGQkIyNDAwN0E3RDk5IC8qIE1lZGlhRW5jcnlwdGVkRXZlbnQuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJMTIyMUUwNzMxQzAzRTRDMjAwNkExQTAwIC8qIEpTQW5pbWF0aW9uVGlt
ZWxpbmVDdXN0b20uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMUFFOTZBOEExRDFBMERERDAwQjg2
NzY4IC8qIEpTQXBwbGVQYXlQYXltZW50QXV0aG9yaXplZEV2ZW50LmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCTFBRTk2QTk2MUQxQTEwMDcwMEI4Njc2OCAvKiBKU0FwcGxlUGF5UGF5bWVudEF1dGhv
cml6ZWRFdmVudEN1c3RvbS5jcHAgaW4gU291cmNlcyAqLywKQEAgLTI5NjcxLDYgKzI5ODE1LDcg
QEAKIAkJCQlCMkZBM0Q2ODBBQjc1QTZGMDAwRTVBQzQgLyogSlNTVkdFbGxpcHNlRWxlbWVudC5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQlCMjY2Q0Q0RDBDM0FFQzY1MDBFQjA4RDIgLyogSlNTVkdF
eGNlcHRpb24uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQjJGQTNENkEwQUI3NUE2RjAwMEU1QUM0
IC8qIEpTU1ZHRkVCbGVuZEVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMkQ5QkY3NDQx
REJGREM0MTAwN0E3RDk5IC8qIE1lZGlhS2V5U3RhdHVzTWFwLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCUIyRkEzRDZDMEFCNzVBNkYwMDBFNUFDNCAvKiBKU1NWR0ZFQ29sb3JNYXRyaXhFbGVtZW50
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUIyRkEzRDZFMEFCNzVBNkYwMDBFNUFDNCAvKiBKU1NW
R0ZFQ29tcG9uZW50VHJhbnNmZXJFbGVtZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUIyRkEz
RDcwMEFCNzVBNkYwMDBFNUFDNCAvKiBKU1NWR0ZFQ29tcG9zaXRlRWxlbWVudC5jcHAgaW4gU291
cmNlcyAqLywKQEAgLTI5OTAyLDYgKzMwMDQ3LDcgQEAKIAkJCQlBNTEzQjNEODExNEIxNjZBMDAx
QzQyOUIgLyogS2V5RXZlbnRDb2NvYS5tbSBpbiBTb3VyY2VzICovLAogCQkJCTI2NTU0MTNBMTQ4
OTgxMUMwMDBERkM1RCAvKiBLZXlFdmVudElPUy5tbSBpbiBTb3VyY2VzICovLAogCQkJCTkzNUM0
NzcwMDlBQzRENzMwMEE2QUFCNCAvKiBLZXlFdmVudE1hYy5tbSBpbiBTb3VyY2VzICovLAorCQkJ
CTJEOUJGNzQyMURCRkRDMjcwMDdBN0Q5OSAvKiBOYXZpZ2F0b3JFTUUuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJMzE2RkUxMTkwRTZFMURBNzAwQkY2MDg4IC8qIEtleWZyYW1lQW5pbWF0aW9uLmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCTEyQTI1M0RCMUM4RkY3REMwMEMyMjI5NSAvKiBLZXlmcmFt
ZUVmZmVjdC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQzVFQkExMDBFODIzRTQ3MDBCMjU5NjUg
LyogS2V5ZnJhbWVMaXN0LmNwcCBpbiBTb3VyY2VzICovLApAQCAtMzAzNDcsNiArMzA0OTMsNyBA
QAogCQkJCTQzOTA0NkRGMTJEQTI1RTgwMEFGODBBMiAvKiBSZW5kZXJNYXRoTUxPcGVyYXRvci5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQk1QjdBMjA4RDJFMTI5NzlCNEFFMTlFNkYgLyogUmVuZGVy
TWF0aE1MUGFkZGVkLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTQzOTA0NkUxMTJEQTI1RTgwMEFG
ODBBMiAvKiBSZW5kZXJNYXRoTUxSb290LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTJEOUJGNzQz
MURCRkRDM0UwMDdBN0Q5OSAvKiBNZWRpYUtleVN5c3RlbUFjY2Vzcy5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQk0MzkwNDZFMzEyREEyNUU4MDBBRjgwQTIgLyogUmVuZGVyTWF0aE1MUm93LmNwcCBp
biBTb3VyY2VzICovLAogCQkJCTQzOTA0NkU3MTJEQTI1RTgwMEFGODBBMiAvKiBSZW5kZXJNYXRo
TUxTY3JpcHRzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTVCN0EyMDhEMkUxMjk3OUI0QUUxOURF
NiAvKiBSZW5kZXJNYXRoTUxTcGFjZS5jcHAgaW4gU291cmNlcyAqLywKQEAgLTMwMzkxLDEwICsz
MDUzOCwxMCBAQAogCQkJCUE4REY0QUVEMDk4MEM0MkMwMDUyOTgxQiAvKiBSZW5kZXJUYWJsZVNl
Y3Rpb24uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkNFQTQ4OEIwOTdEOTMwMjAwOTRDOUU0IC8q
IFJlbmRlclRleHQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQUI2N0QxQTgwOTdGM0FFMzAwRjkz
OTJFIC8qIFJlbmRlclRleHRDb250cm9sLmNwcCBpbiBTb3VyY2VzICovLAotCQkJCTA4M0RBRUE2
MEYwMUE3RkIwMDM0Mjc1NCAvKiBSZW5kZXJUZXh0Q29udHJvbE11bHRpTGluZS5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQkwODNEQUVBODBGMDFBN0ZCMDAzNDI3NTQgLyogUmVuZGVyVGV4dENvbnRy
b2xTaW5nbGVMaW5lLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDRUE0ODhEMDk3RDkzMDIwMDk0
QzlFNCAvKiBSZW5kZXJUZXh0RnJhZ21lbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRTRDOTFB
MTgxODA5OTlGQjAwQTE3RjZEIC8qIFJlbmRlclRleHRMaW5lQm94ZXMuY3BwIGluIFNvdXJjZXMg
Ki8sCisJCQkJMDgzREFFQTYwRjAxQTdGQjAwMzQyNzU0IC8qIFJlbmRlclRleHRDb250cm9sTXVs
dGlMaW5lLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDRUE0ODg5MDk3RDkzMDIwMDk0QzlFNCAv
KiBSZW5kZXJUaGVtZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxQTI5OUZFNzFEN0Y1RkE2MDBB
NjAwOTMgLyogUmVuZGVyVGhlbWVDb2NvYS5tbSBpbiBTb3VyY2VzICovLAogCQkJCUM1NUM3QkEx
MTcxOEFGQkEwMDEzMjdFNCAvKiBSZW5kZXJUaGVtZUlPUy5tbSBpbiBTb3VyY2VzICovLApAQCAt
MzA2NzcsNiArMzA4MjQsNyBAQAogCQkJCTUzMTc2MTIyMTNDNTE2NjkwMDI2RTQ1NCAvKiBTdHls
ZUZsZXhpYmxlQm94RGF0YS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlFNEQ1OEVCODE3QjRFRDg5
MDBDQkRDQTggLyogU3R5bGVGb250U2l6ZUZ1bmN0aW9ucy5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQlCQ0VGNDQ3RDBFNjc0ODA2MDAxQzEyODcgLyogU3R5bGVHZW5lcmF0ZWRJbWFnZS5jcHAgaW4g
U291cmNlcyAqLywKKwkJCQkyRDlCRjc0NTFEQkZEQzQ0MDA3QTdEOTkgLyogTWVkaWFLZXlTZXNz
aW9uLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUExMERDNzZBMTQ3NDdCQUIwMDVFMjQ3MSAvKiBT
dHlsZUdyaWREYXRhLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUExMTBEQjlEMTRGNURGODcwMEEw
M0I5MyAvKiBTdHlsZUdyaWRJdGVtRGF0YS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQzIyNzMw
MzBFODJGMUU2MDBFN0Y5NzUgLyogU3R5bGVJbmhlcml0ZWREYXRhLmNwcCBpbiBTb3VyY2VzICov
LApAQCAtMzA4NzUsNiArMzEwMjMsNyBAQAogCQkJCUIyMjI3QUQ5MEQwMEJGMjIwMDcxQjc4MiAv
KiBTVkdUcmFuc2Zvcm1hYmxlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUIyMjI3QURDMEQwMEJG
MjIwMDcxQjc4MiAvKiBTVkdUcmFuc2Zvcm1EaXN0YW5jZS5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQlCMjIyN0FERTBEMDBCRjIyMDA3MUI3ODIgLyogU1ZHVHJhbnNmb3JtTGlzdC5jcHAgaW4gU291
cmNlcyAqLywKKwkJCQkyRDlCRjcyMTFEQkZEQUJBMDA3QTdEOTkgLyogSlNNZWRpYUtleU1lc3Nh
Z2VFdmVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCMjIyN0FFMTBEMDBCRjIyMDA3MUI3ODIg
LyogU1ZHVFJlZkVsZW1lbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQjIyMjdBRTQwRDAwQkYy
MjAwNzFCNzgyIC8qIFNWR1RTcGFuRWxlbWVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCMjIy
N0FFOTBEMDBCRjIyMDA3MUI3ODIgLyogU1ZHVVJJUmVmZXJlbmNlLmNwcCBpbiBTb3VyY2VzICov
LApAQCAtMzA5MTAsNiArMzEwNTksNyBAQAogCQkJCUIyQzNEQTNGMEQwMDZDMUQwMEVGNkYyNiAv
KiBUZXh0Q29kZWNVc2VyRGVmaW5lZC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCMkMzREE0MTBE
MDA2QzFEMDBFRjZGMjYgLyogVGV4dENvZGVjVVRGMTYuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
OTM0M0NCODExMkYyNUU1MTAwMzNDNUVFIC8qIFRleHRDb2RlY1VURjguY3BwIGluIFNvdXJjZXMg
Ki8sCisJCQkJMkQ5QkY3MjMxREJGREFDRDAwN0E3RDk5IC8qIEpTTWVkaWFLZXlTZXNzaW9uLmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCTE0MkI5N0M5MTMxMzg5NDMwMDhCRUY0QiAvKiBUZXh0Q29u
dHJvbElubmVyRWxlbWVudHMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTgyREUzMjQxQzMwQzg1
NDAwQkUwMkE4IC8qIFRleHREZWNvcmF0aW9uUGFpbnRlci5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQk5N0JDODRCMzEyMzcxMTgwMDAwQzYxNjEgLyogVGV4dERvY3VtZW50LmNwcCBpbiBTb3VyY2Vz
ICovLApAQCAtMzA5NDUsNiArMzEwOTUsNyBAQAogCQkJCTMxMEQ3MTk1MUIzMzVDOUQwMDlDN0I3
MyAvKiBUaGVtZUNvY29hLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJNDRDOTkxQTAwRjNEMjEwRTAw
NTg2NjcwIC8qIFRoZW1lSU9TLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJQkNFNjU5RTkwRUE5MkZG
QTAwN0U0NTMzIC8qIFRoZW1lTWFjLm1tIGluIFNvdXJjZXMgKi8sCisJCQkJMkQ5QkY3MjIxREJG
REFDQjAwN0E3RDk5IC8qIEpTTWVkaWFLZXlzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTk3NkQ2
Qzk0MTIyQjhBM0QwMDFGRDFGNyAvKiBUaHJlYWRhYmxlQmxvYlJlZ2lzdHJ5LmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCTBCOTA1NjFFMEYyNTdFOTMwMDk1RkY2QSAvKiBUaHJlYWRhYmxlTG9hZGVy
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTVDNjg4QUExMUQzODBCRjgwMDBCNTRGQSAvKiBUaHJl
YWRhYmxlV2ViU29ja2V0Q2hhbm5lbC5jcHAgaW4gU291cmNlcyAqLywKQEAgLTMxMDg0LDYgKzMx
MjM1LDcgQEAKIAkJCQlBMTQ4MzJDODE4N0Y2NzNGMDBEQTYzQTYgLyogV2ViQ29yZVRocmVhZC5t
bSBpbiBTb3VyY2VzICovLAogCQkJCUExNDgzMkNCMTg3RjY3QjQwMERBNjNBNiAvKiBXZWJDb3Jl
VGhyZWFkUnVuLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUExNDgzMkNFMTg3RjY4MzQwMERBNjNB
NiAvKiBXZWJDb3JlVGhyZWFkU3lzdGVtSW50ZXJmYWNlLmNwcCBpbiBTb3VyY2VzICovLAorCQkJ
CTJEOUJGNzQ3MURCRkRDNDkwMDdBN0Q5OSAvKiBNZWRpYUtleU1lc3NhZ2VFdmVudC5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQkwRjA5OUQwODE3Qjk2OEExMDBGRjg0QjkgLyogV2ViQ29yZVR5cGVk
QXJyYXlDb250cm9sbGVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTM3RjgxOEZFMEQ2NTc2MDYw
MDVFMUYwNSAvKiBXZWJDb3JlVVJMUmVzcG9uc2UubW0gaW4gU291cmNlcyAqLywKIAkJCQk0NDRE
NEUyMzBGNzA4QjJFMDAzMTU4RTAgLyogV2ViQ29yZVVSTFJlc3BvbnNlSU9TLm1tIGluIFNvdXJj
ZXMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9CdWZmZXJTb3Vy
Y2UuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0J1ZmZlclNvdXJjZS5oCmluZGV4IGYx
MzU1ZTNmYmUyMzJjYjQyM2UxZjZhZWIyNzg0NTYxMzU1NDkyNDcuLmFhYWMzOTMwMTk4MjQyYjU5
MDM1MDU5NWI0YjQwZDc0YWVkMjg0ZTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL0J1ZmZlclNvdXJjZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0J1
ZmZlclNvdXJjZS5oCkBAIC0yNSwxMiArMjUsNDkgQEAKIAogI3ByYWdtYSBvbmNlCiAKKyNpbmNs
dWRlIDxydW50aW1lL0FycmF5QnVmZmVyLmg+CisjaW5jbHVkZSA8cnVudGltZS9BcnJheUJ1ZmZl
clZpZXcuaD4KKwogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBCdWZmZXJTb3VyY2Ugewog
cHVibGljOgotICAgIGNvbnN0IHVpbnQ4X3QqIGRhdGE7Ci0gICAgc2l6ZV90IGxlbmd0aDsKKyAg
ICBCdWZmZXJTb3VyY2UoKSA9IGRlZmF1bHQ7CisKKyAgICBCdWZmZXJTb3VyY2UoUmVmUHRyPEpT
Qzo6QXJyYXlCdWZmZXI+JiYgYnVmZmVyKQorICAgICAgICA6IG1fYnVmZmVyKFdURk1vdmUoYnVm
ZmVyKSkKKyAgICB7CisgICAgfQorCisgICAgQnVmZmVyU291cmNlKFJlZlB0cjxKU0M6OkFycmF5
QnVmZmVyVmlldz4mJiBidWZmZXJWaWV3KQorICAgICAgICA6IG1fYnVmZmVyVmlldyhXVEZNb3Zl
KGJ1ZmZlclZpZXcpKQorICAgIHsKKyAgICB9CisKKyAgICBKU0M6OkFycmF5QnVmZmVyKiBidWZm
ZXIoKSBjb25zdCB7IHJldHVybiBtX2J1ZmZlci5nZXQoKTsgfQorICAgIEpTQzo6QXJyYXlCdWZm
ZXJWaWV3KiBidWZmZXJWaWV3KCkgY29uc3QgeyByZXR1cm4gbV9idWZmZXJWaWV3LmdldCgpOyB9
CisKKyAgICBjb25zdCB1aW50OF90KiBkYXRhKCkgY29uc3QKKyAgICB7CisgICAgICAgIGlmICht
X2J1ZmZlciAmJiAhbV9idWZmZXItPmlzTmV1dGVyZWQoKSkKKyAgICAgICAgICAgIHJldHVybiBz
dGF0aWNfY2FzdDx1aW50OF90Kj4obV9idWZmZXItPmRhdGEoKSk7CisgICAgICAgIGlmIChtX2J1
ZmZlclZpZXcpCisgICAgICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8dWludDhfdCo+KG1fYnVm
ZmVyVmlldy0+YmFzZUFkZHJlc3MoKSk7CisgICAgICAgIHJldHVybiBudWxscHRyOworICAgIH0K
KworICAgIHNpemVfdCBsZW5ndGgoKSBjb25zdAorICAgIHsKKyAgICAgICAgaWYgKG1fYnVmZmVy
ICYmICFtX2J1ZmZlci0+aXNOZXV0ZXJlZCgpKQorICAgICAgICAgICAgcmV0dXJuIG1fYnVmZmVy
LT5ieXRlTGVuZ3RoKCk7CisgICAgICAgIGlmIChtX2J1ZmZlclZpZXcpCisgICAgICAgICAgICBy
ZXR1cm4gbV9idWZmZXJWaWV3LT5ieXRlTGVuZ3RoKCk7CisgICAgICAgIHJldHVybiAwOworICAg
IH0KKworcHJpdmF0ZToKKyAgICBSZWZQdHI8SlNDOjpBcnJheUJ1ZmZlcj4gbV9idWZmZXI7Cisg
ICAgUmVmUHRyPEpTQzo6QXJyYXlCdWZmZXJWaWV3PiBtX2J1ZmZlclZpZXc7CiB9OwogCiB9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU0RPTUNvbnZlcnQuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NQ29udmVy
dC5oCmluZGV4IDZhNjRkMzgwZjNiMWQ1NmZmZmUyNTI3YWFkNGIyOTUyM2E4NzljNDkuLjUwNWM5
YWJiZGI2NDEzNzZjN2FlNGZlOWQ1OWY3NjZhNWU4N2M0OWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9NQ29udmVydC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL0pTRE9NQ29udmVydC5oCkBAIC0xMDE1LDEzICsxMDE1LDI4IEBAIHRlbXBsYXRl
PD4gc3RydWN0IENvbnZlcnRlcjxJRExCdWZmZXJTb3VyY2U+IDogRGVmYXVsdENvbnZlcnRlcjxJ
RExCdWZmZXJTb3VyY2U+CiAgICAgICAgIEpTQzo6Vk0mIHZtID0gc3RhdGUudm0oKTsKICAgICAg
ICAgYXV0byBzY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOwogCi0gICAgICAgIGlmIChK
U0M6OkFycmF5QnVmZmVyKiBidWZmZXIgPSBKU0M6OnRvQXJyYXlCdWZmZXIodmFsdWUpKQotICAg
ICAgICAgICAgcmV0dXJuIHsgc3RhdGljX2Nhc3Q8dWludDhfdCo+KGJ1ZmZlci0+ZGF0YSgpKSwg
YnVmZmVyLT5ieXRlTGVuZ3RoKCkgfTsKKyAgICAgICAgaWYgKFJlZlB0cjxKU0M6OkFycmF5QnVm
ZmVyPiBidWZmZXIgPSBKU0M6OnRvQXJyYXlCdWZmZXIodmFsdWUpKQorICAgICAgICAgICAgcmV0
dXJuIHsgV1RGTW92ZShidWZmZXIpIH07CiAgICAgICAgIGlmIChSZWZQdHI8SlNDOjpBcnJheUJ1
ZmZlclZpZXc+IGJ1ZmZlclZpZXcgPSB0b0FycmF5QnVmZmVyVmlldyh2YWx1ZSkpCi0gICAgICAg
ICAgICByZXR1cm4geyBzdGF0aWNfY2FzdDx1aW50OF90Kj4oYnVmZmVyVmlldy0+YmFzZUFkZHJl
c3MoKSksIGJ1ZmZlclZpZXctPmJ5dGVMZW5ndGgoKSB9OworICAgICAgICAgICAgcmV0dXJuIHsg
V1RGTW92ZShidWZmZXJWaWV3KSB9OwogCiAgICAgICAgIHRocm93VHlwZUVycm9yKCZzdGF0ZSwg
c2NvcGUsIEFTQ0lJTGl0ZXJhbCgiT25seSBBcnJheUJ1ZmZlciBhbmQgQXJyYXlCdWZmZXJWaWV3
IG9iamVjdHMgY2FuIGJlIHBhc3NlZCBhcyBCdWZmZXJTb3VyY2UgYXJndW1lbnRzIikpOwotICAg
ICAgICByZXR1cm4geyBudWxscHRyLCAwIH07CisgICAgICAgIHJldHVybiB7IH07CisgICAgfQor
fTsKKwordGVtcGxhdGU8PiBzdHJ1Y3QgSlNDb252ZXJ0ZXI8SURMQnVmZmVyU291cmNlPiB7Cisg
ICAgc3RhdGljIGNvbnN0ZXhwciBib29sIG5lZWRzU3RhdGUgPSB0cnVlOworICAgIHN0YXRpYyBj
b25zdGV4cHIgYm9vbCBuZWVkc0dsb2JhbE9iamVjdCA9IHRydWU7CisKKyAgICBzdGF0aWMgSlND
OjpKU1ZhbHVlIGNvbnZlcnQoSlNDOjpFeGVjU3RhdGUmIGV4ZWMsIEpTRE9NR2xvYmFsT2JqZWN0
JiBnbG9iYWxPYmplY3QsIGNvbnN0IEJ1ZmZlclNvdXJjZSYgc291cmNlKQorICAgIHsKKyAgICAg
ICAgaWYgKGF1dG8qIGJ1ZmZlciA9IHNvdXJjZS5idWZmZXIoKSkKKyAgICAgICAgICAgIHJldHVy
biB0b0pTKCZleGVjLCAmZ2xvYmFsT2JqZWN0LCAqYnVmZmVyKTsKKyAgICAgICAgaWYgKGF1dG8q
IGJ1ZmZlclZpZXcgPSBzb3VyY2UuYnVmZmVyVmlldygpKQorICAgICAgICAgICAgcmV0dXJuIHRv
SlMoJmV4ZWMsICZnbG9iYWxPYmplY3QsICpidWZmZXJWaWV3KTsKKworICAgICAgICByZXR1cm4g
SlNDOjpqc051bGwoKTsKICAgICB9CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9qcy9KU01lZGlhS2V5U2Vzc2lvbkN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9qcy9KU01lZGlhS2V5U2Vzc2lvbkN1c3RvbS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDg5ZDli
NjBjMmQ2NmE4YjczMDdkMDMyMTFlYTcxOTUyODhiNWE0YgotLS0gL2Rldi9udWxsCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTWVkaWFLZXlTZXNzaW9uQ3VzdG9tLmNwcApAQCAt
MCwwICsxLDQ2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE2IE1ldHJvbG9naWNhbCBHcm91
cCBCLlYuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTYsIElnYWxpYSBTLkwuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgorICogMS4gUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUKKyAqICAgIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nCisgKiAgICBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQKKyAqICAgIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQg
SE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisg
KiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
VEhFIENPUFlSSUdIVAorICogSE9MREVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICog
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiSlNNZWRp
YUtleVNlc3Npb24uaCIKKworI2lmIEVOQUJMRShFTkNSWVBURURfTUVESUEpCisKKyNpbmNsdWRl
ICJOb3RJbXBsZW1lbnRlZC5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK0pTQzo6SlNWYWx1
ZSBKU01lZGlhS2V5U2Vzc2lvbjo6Y2xvc2VkKEpTQzo6RXhlY1N0YXRlJikgY29uc3QKK3sKKyAg
ICBub3RJbXBsZW1lbnRlZCgpOworICAgIHJldHVybiBKU0M6OmpzVW5kZWZpbmVkKCk7Cit9CisK
K30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShFTkNSWVBURURfTUVE
SUEpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU01lZGlhS2V5U3lz
dGVtQWNjZXNzQ3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTWVkaWFL
ZXlTeXN0ZW1BY2Nlc3NDdXN0b20uY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjMxYTNhM2VmNDc5NTU1Yzg3N2Nm
YjliZmI1OGE3OWUzMjgzNTJlOWEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9qcy9KU01lZGlhS2V5U3lzdGVtQWNjZXNzQ3VzdG9tLmNwcApAQCAtMCwwICsxLDQ2
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE2IE1ldHJvbG9naWNhbCBHcm91cCBCLlYuCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTYsIElnYWxpYSBTLkwuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUK
KyAqICAgIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nCisgKiAgICBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQKKyAqICAgIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBB
TkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlS
SUdIVAorICogSE9MREVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiSlNNZWRpYUtleVN5c3Rl
bUFjY2Vzcy5oIgorCisjaWYgRU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkKKworI2luY2x1ZGUgIk5v
dEltcGxlbWVudGVkLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworSlNDOjpKU1ZhbHVlIEpT
TWVkaWFLZXlTeXN0ZW1BY2Nlc3M6OmdldENvbmZpZ3VyYXRpb24oSlNDOjpFeGVjU3RhdGUmKQor
eworICAgIG5vdEltcGxlbWVudGVkKCk7CisgICAgcmV0dXJuIEpTQzo6anNVbmRlZmluZWQoKTsK
K30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKEVOQ1JZUFRF
RF9NRURJQSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29k
ZUdlbmVyYXRvckpTLnBtIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2Vu
ZXJhdG9ySlMucG0KaW5kZXggOTNkZmU2YWZiNGE4N2M1ZDQzZmJmYzkzMTJmODRjMGY5NzUyN2Qz
YS4uMDc4Y2IzZmNhYjkyZDhlN2M3MWYyOWIyNTYyOTFjMmMwMmZmZGVjMyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KKysrIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KQEAgLTUx
NTUsNiArNTE1NSw3IEBAIHN1YiBHZXROYXRpdmVWZWN0b3JJbm5lclR5cGUKICAgICBteSAkaW5u
ZXJUeXBlID0gc2hpZnQ7CiAKICAgICByZXR1cm4gJG5hdGl2ZVR5cGV7JGlubmVyVHlwZX0gaWYg
ZXhpc3RzICRuYXRpdmVUeXBleyRpbm5lclR5cGV9OworICAgIHJldHVybiBHZXREaWN0aW9uYXJ5
Q2xhc3NOYW1lKCRpbm5lclR5cGUpIGlmICRjb2RlR2VuZXJhdG9yLT5Jc0RpY3Rpb25hcnlUeXBl
KCRpbm5lclR5cGUpOwogICAgIHJldHVybiAiUmVmUHRyPCRpbm5lclR5cGU+IjsKIH0KIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50TmFtZXMuaCBiL1NvdXJjZS9XZWJDb3Jl
L2RvbS9FdmVudE5hbWVzLmgKaW5kZXggNGU5ZGViNDk0ZDNkMDYwMDgxNjg1NjNjNWJmMmU4NGI3
MDZjODE5Mi4uMzliZDZhMjVhZGVkZDQwZTFjZWUyMDVjZmI0NDU2MjAyNmVkMzJjOCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50TmFtZXMuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9kb20vRXZlbnROYW1lcy5oCkBAIC0xMDMsNiArMTAzLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUg
ewogICAgIG1hY3JvKGRyb3ApIFwKICAgICBtYWNybyhkdXJhdGlvbmNoYW5nZSkgXAogICAgIG1h
Y3JvKGVtcHRpZWQpIFwKKyAgICBtYWNybyhlbmNyeXB0ZWQpIFwKICAgICBtYWNybyhlbmQpIFwK
ICAgICBtYWNybyhlbmRFdmVudCkgXAogICAgIG1hY3JvKGVuZGVkKSBcCkBAIC0xMzEsNiArMTMy
LDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIG1hY3JvKGludmFsaWQpIFwKICAgICBtYWNy
byhrZXlkb3duKSBcCiAgICAgbWFjcm8oa2V5cHJlc3MpIFwKKyAgICBtYWNybyhrZXlzdGF0dXNl
c2NoYW5nZSkgXAogICAgIG1hY3JvKGtleXVwKSBcCiAgICAgbWFjcm8obGFuZ3VhZ2VjaGFuZ2Up
IFwKICAgICBtYWNybyhsZXZlbGNoYW5nZSkgXApAQCAtMjM5LDYgKzI0MSw3IEBAIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKICAgICBtYWNybyh2aXNpYmlsaXR5Y2hhbmdlKSBcCiAgICAgbWFjcm8odm9s
dW1lY2hhbmdlKSBcCiAgICAgbWFjcm8od2FpdGluZykgXAorICAgIG1hY3JvKHdhaXRpbmdmb3Jr
ZXkpIFwKICAgICBtYWNybyh3ZWJnbGNvbnRleHRjcmVhdGlvbmVycm9yKSBcCiAgICAgbWFjcm8o
d2ViZ2xjb250ZXh0bG9zdCkgXAogICAgIG1hY3JvKHdlYmdsY29udGV4dHJlc3RvcmVkKSBcCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5pbiBiL1NvdXJjZS9XZWJD
b3JlL2RvbS9FdmVudE5hbWVzLmluCmluZGV4IDhiOWJiNjdlNzFhMjJiNjg0ZTkwNjkyMzVmODZm
NDUyMDY5Nzg5NjkuLjkxYTg2ZjUyOTgxNDA3ODY1ZDMwMDFjMWNkMDExMDNiMzk0Y2I1MWMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmluCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9FdmVudE5hbWVzLmluCkBAIC03MCwzICs3MCw1IEBAIEdlc3R1cmVFdmVudCBj
b25kaXRpb25hbD1JT1NfR0VTVFVSRV9FVkVOVFN8TUFDX0dFU1RVUkVfRVZFTlRTCiBXZWJLaXRQ
bGF5YmFja1RhcmdldEF2YWlsYWJpbGl0eUV2ZW50IGNvbmRpdGlvbmFsPVdJUkVMRVNTX1BMQVlC
QUNLX1RBUkdFVAogR2FtZXBhZEV2ZW50IGNvbmRpdGlvbmFsPUdBTUVQQUQKIE92ZXJjb25zdHJh
aW5lZEVycm9yRXZlbnQgY29uZGl0aW9uYWw9TUVESUFfU1RSRUFNCitNZWRpYUVuY3J5cHRlZEV2
ZW50IGNvbmRpdGlvbmFsPUVOQ1JZUFRFRF9NRURJQQorTWVkaWFLZXlNZXNzYWdlRXZlbnQgY29u
ZGl0aW9uYWw9RU5DUllQVEVEX01FRElBCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20v
RXZlbnRUYXJnZXRGYWN0b3J5LmluIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0RmFj
dG9yeS5pbgppbmRleCAyYzBmNmQzZmQ5ZDY2OTFiYzk2NmMyODcxYzgzMWMxNGQ4MzEzMjMyLi42
NWRlOTRkZWJkYTY4YjdiMDY2NGRkNWFjNjM3MGQzNGYwNjQzY2JjIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXRGYWN0b3J5LmluCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2RvbS9FdmVudFRhcmdldEZhY3RvcnkuaW4KQEAgLTE2LDYgKzE2LDcgQEAgSURCT3BlbkRCUmVx
dWVzdCBjb25kaXRpb25hbD1JTkRFWEVEX0RBVEFCQVNFCiBJREJSZXF1ZXN0IGNvbmRpdGlvbmFs
PUlOREVYRURfREFUQUJBU0UKIElEQlRyYW5zYWN0aW9uIGNvbmRpdGlvbmFsPUlOREVYRURfREFU
QUJBU0UKIE1lZGlhQ29udHJvbGxlciBjb25kaXRpb25hbD1WSURFTworTWVkaWFLZXlTZXNzaW9u
IGNvbmRpdGlvbmFsPUVOQ1JZUFRFRF9NRURJQQogTWVkaWFSZW1vdGVDb250cm9scyBjb25kaXRp
b25hbD1NRURJQV9TRVNTSU9OCiBNZWRpYVNvdXJjZSBjb25kaXRpb25hbD1NRURJQV9TT1VSQ0UK
IE1lZGlhU3RyZWFtIGNvbmRpdGlvbmFsPU1FRElBX1NUUkVBTQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTE1lZGlhRWxlbWVudC5jcHAKaW5kZXggMzQ5NTJlNTEyZDU3OWM0MWU2ZTU1YmM1OTU2YjZi
NjJmN2I5YWIzMC4uZDQwZWMxMjEwMzM5NGI4NjE0ODg0MTQ3MGRlNmUxMTZlM2RmYWJhNSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcAorKysgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCkBAIC0yNDkwLDYgKzI0OTAs
MTkgQEAgdm9pZCBIVE1MTWVkaWFFbGVtZW50OjprZXlBZGRlZCgpCiB9CiAjZW5kaWYKIAorI2lm
IEVOQUJMRShFTkNSWVBURURfTUVESUEpCisKK01lZGlhS2V5cyogSFRNTE1lZGlhRWxlbWVudDo6
bWVkaWFLZXlzKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbnVsbHB0cjsKK30KKwordm9pZCBIVE1M
TWVkaWFFbGVtZW50OjpzZXRNZWRpYUtleXMoTWVkaWFLZXlzKiwgU2V0TWVkaWFLZXlzUHJvbWlz
ZSYmKQoreworfQorCisjZW5kaWYgLy8gRU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkKKwogdm9pZCBI
VE1MTWVkaWFFbGVtZW50Ojpwcm9ncmVzc0V2ZW50VGltZXJGaXJlZCgpCiB7CiAgICAgQVNTRVJU
KG1fcGxheWVyKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxl
bWVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmgKaW5kZXggNmVk
YzAwNWFkNDZhMDljZTk4YjE4ZTJlN2JhOGNmNzRhZjRjYjlhYS4uY2Q3NGFkN2FkZDdlYWU5ZmM4
ZjRkNTlmMzU3NjA3MGZjNzU4NTM5OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MTWVkaWFFbGVtZW50LmgKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVt
ZW50LmgKQEAgLTcwLDYgKzcwLDkgQEAgY2xhc3MgTWVkaWFDb250cm9sczsKIGNsYXNzIE1lZGlh
Q29udHJvbHNIb3N0OwogY2xhc3MgTWVkaWFFbGVtZW50QXVkaW9Tb3VyY2VOb2RlOwogY2xhc3Mg
TWVkaWFFcnJvcjsKKyNpZiBFTkFCTEUoRU5DUllQVEVEX01FRElBKQorY2xhc3MgTWVkaWFLZXlz
OworI2VuZGlmCiBjbGFzcyBNZWRpYVBsYXllcjsKIGNsYXNzIE1lZGlhU2Vzc2lvbjsKIGNsYXNz
IE1lZGlhU291cmNlOwpAQCAtMjU3LDYgKzI2MCwxMyBAQCBwdWJsaWM6CiAgICAgdm9pZCBrZXlB
ZGRlZCgpOwogI2VuZGlmCiAKKyNpZiBFTkFCTEUoRU5DUllQVEVEX01FRElBKQorICAgIE1lZGlh
S2V5cyogbWVkaWFLZXlzKCkgY29uc3Q7CisKKyAgICB1c2luZyBTZXRNZWRpYUtleXNQcm9taXNl
ID0gRE9NUHJvbWlzZTxzdGQ6Om51bGxwdHJfdD47CisgICAgdm9pZCBzZXRNZWRpYUtleXMoTWVk
aWFLZXlzKiwgU2V0TWVkaWFLZXlzUHJvbWlzZSYmKTsKKyNlbmRpZgorCiAvLyBjb250cm9scwog
ICAgIFdFQkNPUkVfRVhQT1JUIGJvb2wgY29udHJvbHMoKSBjb25zdDsKICAgICBXRUJDT1JFX0VY
UE9SVCB2b2lkIHNldENvbnRyb2xzKGJvb2wpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MTWVkaWFFbGVtZW50LmlkbCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlh
RWxlbWVudC5pZGwKaW5kZXggZTIyMzY2Y2E3YmU0ZTA5MmQxYzQ0ZWJiN2VlMTJlMjc3YzE1YTcw
ZC4uMzFlNDAxZmM3NTNiMTY3MzE3ZjE3NWI4NDVjNzE5YzA5OWNkODYxYiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmlkbAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaWRsCkBAIC05Myw2ICs5MywxMCBAQAogCiAgICAg
W0NvbmRpdGlvbmFsPUxFR0FDWV9FTkNSWVBURURfTUVESUFdIHJlYWRvbmx5IGF0dHJpYnV0ZSBX
ZWJLaXRNZWRpYUtleXMgd2Via2l0S2V5czsKICAgICBbQ29uZGl0aW9uYWw9TEVHQUNZX0VOQ1JZ
UFRFRF9NRURJQV0gdm9pZCB3ZWJraXRTZXRNZWRpYUtleXMoV2ViS2l0TWVkaWFLZXlzPyBtZWRp
YUtleXMpOworICAgIFtDb25kaXRpb25hbD1FTkNSWVBURURfTUVESUFdIHJlYWRvbmx5IGF0dHJp
YnV0ZSBNZWRpYUtleXMgbWVkaWFLZXlzOworICAgIFtDb25kaXRpb25hbD1FTkNSWVBURURfTUVE
SUFdIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgb25lbmNyeXB0ZWQ7CisgICAgW0NvbmRpdGlvbmFs
PUVOQ1JZUFRFRF9NRURJQV0gYXR0cmlidXRlIEV2ZW50SGFuZGxlciBvbndhaXRpbmdmb3JrZXk7
CisgICAgW0NvbmRpdGlvbmFsPUVOQ1JZUFRFRF9NRURJQV0gUHJvbWlzZSBzZXRNZWRpYUtleXMo
TWVkaWFLZXlzPyBtZWRpYUtleXMpOwogCiAgICAgW0NvbmRpdGlvbmFsPVZJREVPX1RSQUNLLCBN
YXlUaHJvd0xlZ2FjeUV4Y2VwdGlvbl0gVGV4dFRyYWNrIGFkZFRleHRUcmFjayhET01TdHJpbmcg
a2luZCwgb3B0aW9uYWwgRE9NU3RyaW5nIGxhYmVsID0gIiIsIG9wdGlvbmFsIERPTVN0cmluZyBs
YW5ndWFnZSA9ICIiKTsKICAgICBbQ29uZGl0aW9uYWw9VklERU9fVFJBQ0tdIHJlYWRvbmx5IGF0
dHJpYnV0ZSBBdWRpb1RyYWNrTGlzdCBhdWRpb1RyYWNrczsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvTWVkaWFFbmNyeXB0ZWRFdmVudC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L01lZGlhRW5jcnlwdGVkRXZlbnQuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQzMDRjYjdlZGU3ZDM0Yjk0Mjli
YWEwYjJkMzg2OWVmZjk0Y2NlYjIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL01lZGlhRW5jcnlwdGVkRXZlbnQuY3BwCkBAIC0wLDAgKzEsNjQgQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTYgTWV0cm9sb2dpY2FsIEdyb3VwIEIuVi4KKyAqIENvcHlyaWdodCAoQykg
MjAxNiwgSWdhbGlhIFMuTC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqCisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogICAgY29weXJpZ2h0
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcKKyAqICAg
IGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZAorICogICAgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMK
KyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBIT0xERVIg
T1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICog
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNs
dWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJNZWRpYUVuY3J5cHRlZEV2ZW50LmgiCisKKyNpZiBF
TkFCTEUoRU5DUllQVEVEX01FRElBKQorCisjaW5jbHVkZSAiTm90SW1wbGVtZW50ZWQuaCIKKwor
bmFtZXNwYWNlIFdlYkNvcmUgeworCitNZWRpYUVuY3J5cHRlZEV2ZW50OjpNZWRpYUVuY3J5cHRl
ZEV2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYgdHlwZSwgY29uc3QgTWVkaWFFbmNyeXB0ZWRFdmVu
dEluaXQmIGluaXRpYWxpemVyLCBJc1RydXN0ZWQgaXNUcnVzdGVkKQorICAgIDogRXZlbnQodHlw
ZSwgaW5pdGlhbGl6ZXIsIGlzVHJ1c3RlZCkKK3sKK30KKworTWVkaWFFbmNyeXB0ZWRFdmVudDo6
fk1lZGlhRW5jcnlwdGVkRXZlbnQoKSA9IGRlZmF1bHQ7CisKK0V2ZW50SW50ZXJmYWNlIE1lZGlh
RW5jcnlwdGVkRXZlbnQ6OmV2ZW50SW50ZXJmYWNlKCkgY29uc3QKK3sKKyAgICByZXR1cm4gTWVk
aWFFbmNyeXB0ZWRFdmVudEludGVyZmFjZVR5cGU7Cit9CisKK1N0cmluZyBNZWRpYUVuY3J5cHRl
ZEV2ZW50Ojppbml0RGF0YVR5cGUoKQoreworICAgIG5vdEltcGxlbWVudGVkKCk7CisgICAgcmV0
dXJuIGVtcHR5U3RyaW5nKCk7Cit9CisKK0FycmF5QnVmZmVyKiBNZWRpYUVuY3J5cHRlZEV2ZW50
Ojppbml0RGF0YSgpCit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICByZXR1cm4gbnVsbHB0
cjsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKEVOQ1JZ
UFRFRF9NRURJQSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFFbmNyeXB0
ZWRFdmVudC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUVuY3J5cHRlZEV2ZW50LmgKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uYTg4NDAxMmVjNDMwZTg2MjVlMWQxMDlhNWRkOWU2NTRmYTdiNDJkNgotLS0gL2Rl
di9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFFbmNyeXB0ZWRFdmVudC5oCkBA
IC0wLDAgKzEsNjUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTYgTWV0cm9sb2dpY2FsIEdy
b3VwIEIuVi4KKyAqIENvcHlyaWdodCAoQykgMjAxNiwgSWdhbGlhIFMuTC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZQorICogICAgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcKKyAqICAgIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZAorICogICAgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdI
VCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IK
KyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBUSEUgQ09QWVJJR0hUCisgKiBIT0xERVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisg
KiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaWYgRU5BQkxFKEVOQ1JZUFRF
RF9NRURJQSkKKworI2luY2x1ZGUgIkV2ZW50LmgiCisjaW5jbHVkZSAiTWVkaWFFbmNyeXB0ZWRF
dmVudEluaXQuaCIKKworbmFtZXNwYWNlIEpTQyB7CitjbGFzcyBBcnJheUJ1ZmZlcjsKK30KKwor
bmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBNZWRpYUVuY3J5cHRlZEV2ZW50IGZpbmFsIDog
cHVibGljIEV2ZW50IHsKK3B1YmxpYzoKKyAgICB1c2luZyBJbml0ID0gTWVkaWFFbmNyeXB0ZWRF
dmVudEluaXQ7CisKKyAgICBzdGF0aWMgUmVmPE1lZGlhRW5jcnlwdGVkRXZlbnQ+IGNyZWF0ZShj
b25zdCBBdG9taWNTdHJpbmcmIHR5cGUsIGNvbnN0IE1lZGlhRW5jcnlwdGVkRXZlbnRJbml0JiBp
bml0aWFsaXplciwgSXNUcnVzdGVkIGlzVHJ1c3RlZCA9IElzVHJ1c3RlZDo6Tm8pCisgICAgewor
ICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBNZWRpYUVuY3J5cHRlZEV2ZW50KHR5cGUsIGlu
aXRpYWxpemVyLCBpc1RydXN0ZWQpKTsKKyAgICB9CisKKyAgICB2aXJ0dWFsIH5NZWRpYUVuY3J5
cHRlZEV2ZW50KCk7CisKKyAgICBTdHJpbmcgaW5pdERhdGFUeXBlKCk7CisgICAgSlNDOjpBcnJh
eUJ1ZmZlciogaW5pdERhdGEoKTsKKworcHJpdmF0ZToKKyAgICBNZWRpYUVuY3J5cHRlZEV2ZW50
KGNvbnN0IEF0b21pY1N0cmluZyYsIGNvbnN0IE1lZGlhRW5jcnlwdGVkRXZlbnRJbml0JiwgSXNU
cnVzdGVkKTsKKworICAgIC8vIEV2ZW50CisgICAgRXZlbnRJbnRlcmZhY2UgZXZlbnRJbnRlcmZh
Y2UoKSBjb25zdCBvdmVycmlkZTsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2Vu
ZGlmIC8vIEVOQUJMRShFTkNSWVBURURfTUVESUEpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL01lZGlhRW5jcnlwdGVkRXZlbnQuaWRsIGIvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRp
YUVuY3J5cHRlZEV2ZW50LmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mNTVlZjMyZmVjOWI1ZmIwMzMyN2EwZTk4
NGYwYTQ0Y2NjYjgxMWU2Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9N
ZWRpYUVuY3J5cHRlZEV2ZW50LmlkbApAQCAtMCwwICsxLDQwIEBACisvKgorICogQ29weXJpZ2h0
IChDKSAyMDE2IE1ldHJvbG9naWNhbCBHcm91cCBCLlYuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTYs
IElnYWxpYSBTLkwuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6
CisgKgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqICAgIGNvcHlyaWdodCBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nCisgKiAgICBkaXNj
bGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQKKyAqICAgIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAi
QVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogSE9MREVSIE9SIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCitkaWN0aW9uYXJ5
IE1lZGlhRW5jcnlwdGVkRXZlbnRJbml0IDogRXZlbnRJbml0IHsKKyAgICBET01TdHJpbmcgaW5p
dERhdGFUeXBlID0gIiI7CisgICAgQXJyYXlCdWZmZXI/IGluaXREYXRhID0gbnVsbDsKK307CisK
K1sKKyAgICBDb25kaXRpb25hbD1FTkNSWVBURURfTUVESUEsCisgICAgQ29uc3RydWN0b3IoRE9N
U3RyaW5nIHR5cGUsIG9wdGlvbmFsIE1lZGlhRW5jcnlwdGVkRXZlbnRJbml0IGV2ZW50SW5pdERp
Y3QpCitdIGludGVyZmFjZSBNZWRpYUVuY3J5cHRlZEV2ZW50IDogRXZlbnQgeworICAgIHJlYWRv
bmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgaW5pdERhdGFUeXBlOworICAgIHJlYWRvbmx5IGF0dHJp
YnV0ZSBBcnJheUJ1ZmZlcj8gaW5pdERhdGE7Cit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvaHRtbC9NZWRpYUVuY3J5cHRlZEV2ZW50SW5pdC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9N
ZWRpYUVuY3J5cHRlZEV2ZW50SW5pdC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQxMjJkMWE4MTUyYjlmMGI5ZmNk
ZjVjMWRiYWZiZTcwMjgwOGEyMmMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL01lZGlhRW5jcnlwdGVkRXZlbnRJbml0LmgKQEAgLTAsMCArMSw1MyBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAxNiBNZXRyb2xvZ2ljYWwgR3JvdXAgQi5WLgorICogQ29weXJpZ2h0IChD
KSAyMDE2LCBJZ2FsaWEgUy5MLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBh
cmUgbWV0OgorICoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiAgICBjb3B5cmln
aHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZworICog
ICAgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkCisgKiAgICB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9S
UworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIEhPTERF
UiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisg
KiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3By
YWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoRU5DUllQVEVEX01FRElBKQorCisjaW5jbHVkZSAiRXZl
bnQuaCIKKyNpbmNsdWRlIDxydW50aW1lL0FycmF5QnVmZmVyLmg+CisKK25hbWVzcGFjZSBXZWJD
b3JlIHsKKworc3RydWN0IE1lZGlhRW5jcnlwdGVkRXZlbnRJbml0IDogRXZlbnRJbml0IHsKKyAg
ICBNZWRpYUVuY3J5cHRlZEV2ZW50SW5pdCgpID0gZGVmYXVsdDsKKworICAgIE1lZGlhRW5jcnlw
dGVkRXZlbnRJbml0KGNvbnN0IFN0cmluZyYgaW5pdERhdGFUeXBlLCBSZWZQdHI8SlNDOjpBcnJh
eUJ1ZmZlcj4mJiBpbml0RGF0YSkKKyAgICAgICAgOiBFdmVudEluaXQoKQorICAgICAgICAsIGlu
aXREYXRhVHlwZShpbml0RGF0YVR5cGUpCisgICAgICAgICwgaW5pdERhdGEoV1RGTW92ZShpbml0
RGF0YSkpCisgICAgeyB9CisKKyAgICBTdHJpbmcgaW5pdERhdGFUeXBlOworICAgIFJlZlB0cjxK
U0M6OkFycmF5QnVmZmVyPiBpbml0RGF0YTsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
KworI2VuZGlmIC8vIEVOQUJMRShFTkNSWVBURURfTUVESUEpCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0No
YW5nZUxvZwppbmRleCBmYjI4Nzk1MGY4M2M2NjVkZDY0N2Y1ODVjZGIwMzQzYjRiNGJiNzliLi43
MWViODg0MThiYzRmZGQ5MGQyNzVlMDgxMjNlMTA3OTI5N2M2ZTc3IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAxNi0xMC0yNiAgWmFuIERvYmVyc2Vr
ICA8emRvYmVyc2VrQGlnYWxpYS5jb20+CisKKyAgICAgICAgW0VNRV0gQWRkIG5vLW9wIFdlYi1m
YWNpbmcgQVBJcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTY0MDI4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvZW5jcnlwdGVkLW1lZGlhL2lkbGhhcm5lc3MtZXhwZWN0
ZWQudHh0OiBBZGRlZC4KKwogMjAxNi0xMC0yNSAgUnlvc3VrZSBOaXdhICA8cm5pd2FAd2Via2l0
Lm9yZz4KIAogICAgICAgICBVcGRhdGluZyBhdHRyaWJ1dGUgYnkgdGV4dENvbnRlbnQgbXVzdCBj
cmVhdGUgYSBzaW5nbGUgbXV0YXRpb24gcmVjb3JkIGFuZCBjdXN0b20gZWxlbWVudCByZWFjdGlv
bgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9lbmNyeXB0ZWQtbWVkaWEvaWRsaGFybmVzcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2VuY3J5cHRlZC1tZWRpYS9pZGxoYXJuZXNz
LWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xNmRjMzQ1MTZjYzk1YTE2OTRlMTQzMmY5ODlkYWVi
ZGM5MDIxM2JjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9lbmNyeXB0ZWQtbWVkaWEvaWRsaGFybmVzcy1leHBlY3RlZC50eHQK
QEAgLTAsMCArMSw2NiBAQAorRGVzY3JpcHRpb24KKworVGhpcyB0ZXN0IHZlcmlmaWVzIHRoYXQg
aW1wbGVtZW50YXRpb25zIG9mIHRoZSBFbmNyeXB0ZWQgTWVkaWEgRXh0ZW5zaW9ucyBBUEkgbWF0
Y2ggaXRzIFdlYklETCBkZWZpbml0aW9uLgorCisKK1BBU1MgTmF2aWdhdG9yIGludGVyZmFjZTog
b3BlcmF0aW9uIHJlcXVlc3RNZWRpYUtleVN5c3RlbUFjY2VzcyhET01TdHJpbmcsW29iamVjdCBP
YmplY3RdKSAKK1BBU1MgSFRNTE1lZGlhRWxlbWVudCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBtZWRp
YUtleXMgCitQQVNTIEhUTUxNZWRpYUVsZW1lbnQgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25lbmNy
eXB0ZWQgCitQQVNTIEhUTUxNZWRpYUVsZW1lbnQgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb253YWl0
aW5nZm9ya2V5IAorUEFTUyBIVE1MTWVkaWFFbGVtZW50IGludGVyZmFjZTogb3BlcmF0aW9uIHNl
dE1lZGlhS2V5cyhNZWRpYUtleXMpIAorUEFTUyBNZWRpYUtleVN5c3RlbUFjY2VzcyBpbnRlcmZh
Y2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0IAorUEFTUyBN
ZWRpYUtleVN5c3RlbUFjY2VzcyBpbnRlcmZhY2Ugb2JqZWN0IGxlbmd0aCAKK1BBU1MgTWVkaWFL
ZXlTeXN0ZW1BY2Nlc3MgaW50ZXJmYWNlIG9iamVjdCBuYW1lIAorUEFTUyBNZWRpYUtleVN5c3Rl
bUFjY2VzcyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ug
cHJvdG90eXBlIG9iamVjdCAKK1BBU1MgTWVkaWFLZXlTeXN0ZW1BY2Nlc3MgaW50ZXJmYWNlOiBl
eGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyAi
Y29uc3RydWN0b3IiIHByb3BlcnR5IAorUEFTUyBNZWRpYUtleVN5c3RlbUFjY2VzcyBpbnRlcmZh
Y2U6IGF0dHJpYnV0ZSBrZXlTeXN0ZW0gCitQQVNTIE1lZGlhS2V5U3lzdGVtQWNjZXNzIGludGVy
ZmFjZTogb3BlcmF0aW9uIGdldENvbmZpZ3VyYXRpb24oKSAKK1BBU1MgTWVkaWFLZXlTeXN0ZW1B
Y2Nlc3MgaW50ZXJmYWNlOiBvcGVyYXRpb24gY3JlYXRlTWVkaWFLZXlzKCkgCitQQVNTIE1lZGlh
S2V5cyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2Jq
ZWN0IAorUEFTUyBNZWRpYUtleXMgaW50ZXJmYWNlIG9iamVjdCBsZW5ndGggCitQQVNTIE1lZGlh
S2V5cyBpbnRlcmZhY2Ugb2JqZWN0IG5hbWUgCitQQVNTIE1lZGlhS2V5cyBpbnRlcmZhY2U6IGV4
aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCAKK1BB
U1MgTWVkaWFLZXlzIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVy
ZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgImNvbnN0cnVjdG9yIiBwcm9wZXJ0eSAKK1BBU1MgTWVk
aWFLZXlzIGludGVyZmFjZTogb3BlcmF0aW9uIGNyZWF0ZVNlc3Npb24oTWVkaWFLZXlTZXNzaW9u
VHlwZSkgCitQQVNTIE1lZGlhS2V5cyBpbnRlcmZhY2U6IG9wZXJhdGlvbiBzZXRTZXJ2ZXJDZXJ0
aWZpY2F0ZShCdWZmZXJTb3VyY2UpIAorUEFTUyBNZWRpYUtleVNlc3Npb24gaW50ZXJmYWNlOiBl
eGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdCAKK1BBU1MgTWVkaWFL
ZXlTZXNzaW9uIGludGVyZmFjZSBvYmplY3QgbGVuZ3RoIAorUEFTUyBNZWRpYUtleVNlc3Npb24g
aW50ZXJmYWNlIG9iamVjdCBuYW1lIAorUEFTUyBNZWRpYUtleVNlc3Npb24gaW50ZXJmYWNlOiBl
eGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QgCitQ
QVNTIE1lZGlhS2V5U2Vzc2lvbiBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBv
ZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzICJjb25zdHJ1Y3RvciIgcHJvcGVydHkgCitQ
QVNTIE1lZGlhS2V5U2Vzc2lvbiBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBzZXNzaW9uSWQgCitQQVNT
IE1lZGlhS2V5U2Vzc2lvbiBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBleHBpcmF0aW9uIAorRkFJTCBN
ZWRpYUtleVNlc3Npb24gaW50ZXJmYWNlOiBhdHRyaWJ1dGUgY2xvc2VkIGFzc2VydF90aHJvd3M6
IGdldHRpbmcgcHJvcGVydHkgb24gcHJvdG90eXBlIG9iamVjdCBtdXN0IHRocm93IFR5cGVFcnJv
ciBmdW5jdGlvbiAiZnVuY3Rpb24gKCkgeworICAgIFtuYXRpdmUgY29kZV0KK30iIGRpZCBub3Qg
dGhyb3cKK1BBU1MgTWVkaWFLZXlTZXNzaW9uIGludGVyZmFjZTogYXR0cmlidXRlIGtleVN0YXR1
c2VzIAorUEFTUyBNZWRpYUtleVNlc3Npb24gaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25rZXlzdGF0
dXNlc2NoYW5nZSAKK1BBU1MgTWVkaWFLZXlTZXNzaW9uIGludGVyZmFjZTogYXR0cmlidXRlIG9u
bWVzc2FnZSAKK1BBU1MgTWVkaWFLZXlTZXNzaW9uIGludGVyZmFjZTogb3BlcmF0aW9uIGdlbmVy
YXRlUmVxdWVzdChET01TdHJpbmcsQnVmZmVyU291cmNlKSAKK1BBU1MgTWVkaWFLZXlTZXNzaW9u
IGludGVyZmFjZTogb3BlcmF0aW9uIGxvYWQoRE9NU3RyaW5nKSAKK1BBU1MgTWVkaWFLZXlTZXNz
aW9uIGludGVyZmFjZTogb3BlcmF0aW9uIHVwZGF0ZShCdWZmZXJTb3VyY2UpIAorUEFTUyBNZWRp
YUtleVNlc3Npb24gaW50ZXJmYWNlOiBvcGVyYXRpb24gY2xvc2UoKSAKK1BBU1MgTWVkaWFLZXlT
ZXNzaW9uIGludGVyZmFjZTogb3BlcmF0aW9uIHJlbW92ZSgpIAorUEFTUyBNZWRpYUtleVN0YXR1
c01hcCBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2Jq
ZWN0IAorUEFTUyBNZWRpYUtleVN0YXR1c01hcCBpbnRlcmZhY2Ugb2JqZWN0IGxlbmd0aCAKK1BB
U1MgTWVkaWFLZXlTdGF0dXNNYXAgaW50ZXJmYWNlIG9iamVjdCBuYW1lIAorUEFTUyBNZWRpYUtl
eVN0YXR1c01hcCBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZh
Y2UgcHJvdG90eXBlIG9iamVjdCAKK1BBU1MgTWVkaWFLZXlTdGF0dXNNYXAgaW50ZXJmYWNlOiBl
eGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyAi
Y29uc3RydWN0b3IiIHByb3BlcnR5IAorUEFTUyBNZWRpYUtleVN0YXR1c01hcCBpbnRlcmZhY2U6
IGF0dHJpYnV0ZSBzaXplIAorUEFTUyBNZWRpYUtleVN0YXR1c01hcCBpbnRlcmZhY2U6IG9wZXJh
dGlvbiBoYXMoQnVmZmVyU291cmNlKSAKK1BBU1MgTWVkaWFLZXlTdGF0dXNNYXAgaW50ZXJmYWNl
OiBvcGVyYXRpb24gZ2V0KEJ1ZmZlclNvdXJjZSkgCitQQVNTIE1lZGlhS2V5TWVzc2FnZUV2ZW50
IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3Qg
CitQQVNTIE1lZGlhS2V5TWVzc2FnZUV2ZW50IGludGVyZmFjZSBvYmplY3QgbGVuZ3RoIAorUEFT
UyBNZWRpYUtleU1lc3NhZ2VFdmVudCBpbnRlcmZhY2Ugb2JqZWN0IG5hbWUgCitQQVNTIE1lZGlh
S2V5TWVzc2FnZUV2ZW50IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGlu
dGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0IAorUEFTUyBNZWRpYUtleU1lc3NhZ2VFdmVudCBpbnRl
cmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9i
amVjdCdzICJjb25zdHJ1Y3RvciIgcHJvcGVydHkgCitQQVNTIE1lZGlhS2V5TWVzc2FnZUV2ZW50
IGludGVyZmFjZTogYXR0cmlidXRlIG1lc3NhZ2VUeXBlIAorUEFTUyBNZWRpYUtleU1lc3NhZ2VF
dmVudCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBtZXNzYWdlIAorUEFTUyBNZWRpYUVuY3J5cHRlZEV2
ZW50IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmpl
Y3QgCitQQVNTIE1lZGlhRW5jcnlwdGVkRXZlbnQgaW50ZXJmYWNlIG9iamVjdCBsZW5ndGggCitQ
QVNTIE1lZGlhRW5jcnlwdGVkRXZlbnQgaW50ZXJmYWNlIG9iamVjdCBuYW1lIAorUEFTUyBNZWRp
YUVuY3J5cHRlZEV2ZW50IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGlu
dGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0IAorUEFTUyBNZWRpYUVuY3J5cHRlZEV2ZW50IGludGVy
ZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2Jq
ZWN0J3MgImNvbnN0cnVjdG9yIiBwcm9wZXJ0eSAKK1BBU1MgTWVkaWFFbmNyeXB0ZWRFdmVudCBp
bnRlcmZhY2U6IGF0dHJpYnV0ZSBpbml0RGF0YVR5cGUgCitQQVNTIE1lZGlhRW5jcnlwdGVkRXZl
bnQgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgaW5pdERhdGEgCisK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>293009</attachid>
            <date>2016-10-27 03:24:54 -0700</date>
            <delta_ts>2016-11-01 10:05:11 -0700</delta_ts>
            <desc>WIP</desc>
            <filename>bug-164028-20161027122103.patch</filename>
            <type>text/plain</type>
            <size>129169</size>
            <attacher name="Zan Dobersek">zan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA3OTM0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTNjYWIxYWVkYjRiZjNi
MGRjZTI2Nzg3ZWM5ODQ2MGUwZjU1OWI4Yy4uOWMxYTYyNmQ4NjQzMzc5ZGIwZTU0ZDRmMzgxMzYy
YmUzMTUyNjk3ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDExNyBAQAorMjAxNi0xMC0yNiAgWmFu
IERvYmVyc2VrICA8emRvYmVyc2VrQGlnYWxpYS5jb20+CisKKyAgICAgICAgW0VNRV0gQWRkIG5v
LW9wIFdlYi1mYWNpbmcgQVBJcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTY0MDI4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgQWRkIHRoZSBzcGVjLWRlZmluZWQgRU1FIEFQSXMgdGhhdCBhcmUgZXhwb3Nl
ZCBvbiB0aGUgcGxhdGZvcm0uCisgICAgICAgIFRoZSB1bmRlcmx5aW5nIFdlYkNvcmUgY2xhc3Nl
cyBhcmUgbGVmdCBub24tb3BlcmF0aW9uYWwgZm9yIG5vdworICAgICAgICBhbmQgd2lsbCBiZSBw
cm9wZXJseSBpbXBsZW1lbnRlZCBpbiBmdXR1cmUgcGF0Y2hlcy4KKworICAgICAgICBUaGUgaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9lbmNyeXB0ZWQtbWVkaWEvaWRsaGFybmVzcy5o
dG1sCisgICAgICAgIHRlc3QgaGFzIGl0cyBleHBlY3RlZCByZXN1bHQgdXBkYXRlZCwgcGFzc2lu
ZyA1NyBvZiA1OCB0ZXN0cy4KKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAq
IERlcml2ZWRTb3VyY2VzLm1ha2U6CisgICAgICAgICogTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9N
ZWRpYUtleU1lc3NhZ2VFdmVudC5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFL
ZXlNZXNzYWdlRXZlbnQ6Ok1lZGlhS2V5TWVzc2FnZUV2ZW50KToKKyAgICAgICAgKFdlYkNvcmU6
Ok1lZGlhS2V5TWVzc2FnZUV2ZW50OjpldmVudEludGVyZmFjZSk6CisgICAgICAgICogTW9kdWxl
cy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleU1lc3NhZ2VFdmVudC5oOiBBZGRlZC4KKyAgICAgICAg
KFdlYkNvcmU6Ok1lZGlhS2V5TWVzc2FnZUV2ZW50OjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29y
ZTo6TWVkaWFLZXlNZXNzYWdlRXZlbnQ6Om1lc3NhZ2VUeXBlKToKKyAgICAgICAgKFdlYkNvcmU6
Ok1lZGlhS2V5TWVzc2FnZUV2ZW50OjptZXNzYWdlKToKKyAgICAgICAgKiBNb2R1bGVzL2VuY3J5
cHRlZG1lZGlhL01lZGlhS2V5TWVzc2FnZUV2ZW50LmlkbDogQWRkZWQuCisgICAgICAgICogTW9k
dWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleU1lc3NhZ2VFdmVudEluaXQuaDogQWRkZWQuCisg
ICAgICAgIChXZWJDb3JlOjpNZWRpYUtleU1lc3NhZ2VFdmVudEluaXQ6Ok1lZGlhS2V5TWVzc2Fn
ZUV2ZW50SW5pdCk6CisgICAgICAgICogTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleU1l
c3NhZ2VUeXBlLmg6IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVk
aWFLZXlTZXNzaW9uLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpNZWRpYUtleVNlc3Np
b246OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUtleVNlc3Npb246Ok1lZGlhS2V5
U2Vzc2lvbik6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUtleVNlc3Npb246OnNlc3Npb25JZCk6
CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUtleVNlc3Npb246OmV4cGlyYXRpb24pOgorICAgICAg
ICAoV2ViQ29yZTo6TWVkaWFLZXlTZXNzaW9uOjprZXlTdGF0dXNlcyk6CisgICAgICAgIChXZWJD
b3JlOjpNZWRpYUtleVNlc3Npb246OmdlbmVyYXRlUmVxdWVzdCk6CisgICAgICAgIChXZWJDb3Jl
OjpNZWRpYUtleVNlc3Npb246OmxvYWQpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFLZXlTZXNz
aW9uOjp1cGRhdGUpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFLZXlTZXNzaW9uOjpjbG9zZSk6
CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUtleVNlc3Npb246OnJlbW92ZSk6CisgICAgICAgIChX
ZWJDb3JlOjpNZWRpYUtleVNlc3Npb246Omhhc1BlbmRpbmdBY3Rpdml0eSk6CisgICAgICAgIChX
ZWJDb3JlOjpNZWRpYUtleVNlc3Npb246OmFjdGl2ZURPTU9iamVjdE5hbWUpOgorICAgICAgICAo
V2ViQ29yZTo6TWVkaWFLZXlTZXNzaW9uOjpjYW5TdXNwZW5kRm9yRG9jdW1lbnRTdXNwZW5zaW9u
KToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhS2V5U2Vzc2lvbjo6c3RvcCk6CisgICAgICAgICog
TW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVNlc3Npb24uaDogQWRkZWQuCisgICAgICAg
ICogTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVNlc3Npb24uaWRsOiBBZGRlZC4KKyAg
ICAgICAgKiBNb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U2Vzc2lvblR5cGUuaDogQWRk
ZWQuCisgICAgICAgICogTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVN0YXR1cy5oOiBB
ZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U3RhdHVzTWFw
LmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpNZWRpYUtleVN0YXR1c01hcDo6c2l6ZSk6
CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUtleVN0YXR1c01hcDo6aGFzKToKKyAgICAgICAgKFdl
YkNvcmU6Ok1lZGlhS2V5U3RhdHVzTWFwOjpnZXQpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFL
ZXlTdGF0dXNNYXA6Okl0ZXJhdG9yOjpJdGVyYXRvcik6CisgICAgICAgIChXZWJDb3JlOjpNZWRp
YUtleVN0YXR1c01hcDo6SXRlcmF0b3I6Om5leHQpOgorICAgICAgICAqIE1vZHVsZXMvZW5jcnlw
dGVkbWVkaWEvTWVkaWFLZXlTdGF0dXNNYXAuaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpN
ZWRpYUtleVN0YXR1c01hcDo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhS2V5U3Rh
dHVzTWFwOjpjcmVhdGVJdGVyYXRvcik6CisgICAgICAgICogTW9kdWxlcy9lbmNyeXB0ZWRtZWRp
YS9NZWRpYUtleVN0YXR1c01hcC5pZGw6IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMvZW5jcnlw
dGVkbWVkaWEvTWVkaWFLZXlTeXN0ZW1BY2Nlc3MuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNv
cmU6Ok1lZGlhS2V5U3lzdGVtQWNjZXNzOjprZXlTeXN0ZW0pOgorICAgICAgICAoV2ViQ29yZTo6
TWVkaWFLZXlTeXN0ZW1BY2Nlc3M6OmdldENvbmZpZ3VyYXRpb24pOgorICAgICAgICAoV2ViQ29y
ZTo6TWVkaWFLZXlTeXN0ZW1BY2Nlc3M6OmNyZWF0ZU1lZGlhS2V5cyk6CisgICAgICAgICogTW9k
dWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVN5c3RlbUFjY2Vzcy5oOiBBZGRlZC4KKyAgICAg
ICAgKFdlYkNvcmU6Ok1lZGlhS2V5U3lzdGVtQWNjZXNzOjpjcmVhdGUpOgorICAgICAgICAqIE1v
ZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlTeXN0ZW1BY2Nlc3MuaWRsOiBBZGRlZC4KKyAg
ICAgICAgKiBNb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U3lzdGVtQ29uZmlndXJhdGlv
bi5oOiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U3lz
dGVtQ29uZmlndXJhdGlvbi5pZGw6IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMvZW5jcnlwdGVk
bWVkaWEvTWVkaWFLZXlTeXN0ZW1NZWRpYUNhcGFiaWxpdHkuaDogQWRkZWQuCisgICAgICAgICog
TW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVN5c3RlbU1lZGlhQ2FwYWJpbGl0eS5pZGw6
IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlzLmNwcDog
QWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpNZWRpYUtleXM6OmNyZWF0ZVNlc3Npb24pOgorICAg
ICAgICAoV2ViQ29yZTo6TWVkaWFLZXlzOjpzZXRTZXJ2ZXJDZXJ0aWZpY2F0ZSk6CisgICAgICAg
ICogTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleXMuaDogQWRkZWQuCisgICAgICAgIChX
ZWJDb3JlOjpNZWRpYUtleXM6OmNyZWF0ZSk6CisgICAgICAgICogTW9kdWxlcy9lbmNyeXB0ZWRt
ZWRpYS9NZWRpYUtleXMuaWRsOiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL2VuY3J5cHRlZG1l
ZGlhL01lZGlhS2V5c1JlcXVpcmVtZW50Lmg6IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMvZW5j
cnlwdGVkbWVkaWEvTmF2aWdhdG9yRU1FLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpO
YXZpZ2F0b3JFTUU6OnJlcXVlc3RNZWRpYUtleVN5c3RlbUFjY2Vzcyk6CisgICAgICAgICogTW9k
dWxlcy9lbmNyeXB0ZWRtZWRpYS9OYXZpZ2F0b3JFTUUuaDogQWRkZWQuCisgICAgICAgICogTW9k
dWxlcy9lbmNyeXB0ZWRtZWRpYS9OYXZpZ2F0b3JFTUUuaWRsOiBBZGRlZC4KKyAgICAgICAgKiBN
b2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpT
b3VyY2VCdWZmZXI6OmFwcGVuZEJ1ZmZlcik6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0J1ZmZlclNvdXJjZS5oOgor
ICAgICAgICAoV2ViQ29yZTo6QnVmZmVyU291cmNlOjpCdWZmZXJTb3VyY2UpOgorICAgICAgICAo
V2ViQ29yZTo6QnVmZmVyU291cmNlOjpidWZmZXIpOgorICAgICAgICAoV2ViQ29yZTo6QnVmZmVy
U291cmNlOjpidWZmZXJWaWV3KToKKyAgICAgICAgKFdlYkNvcmU6OkJ1ZmZlclNvdXJjZTo6ZGF0
YSk6CisgICAgICAgIChXZWJDb3JlOjpCdWZmZXJTb3VyY2U6Omxlbmd0aCk6CisgICAgICAgICog
YmluZGluZ3MvanMvSlNET01Db252ZXJ0Lmg6CisgICAgICAgIChXZWJDb3JlOjpDb252ZXJ0ZXI8
SURMQnVmZmVyU291cmNlPjo6Y29udmVydCk6CisgICAgICAgIChXZWJDb3JlOjpKU0NvbnZlcnRl
cjxJRExCdWZmZXJTb3VyY2U+Ojpjb252ZXJ0KToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU01l
ZGlhS2V5U2Vzc2lvbkN1c3RvbS5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6SlNNZWRp
YUtleVNlc3Npb246OmNsb3NlZCk6CisgICAgICAgICogYmluZGluZ3MvanMvSlNNZWRpYUtleVN5
c3RlbUFjY2Vzc0N1c3RvbS5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6SlNNZWRpYUtl
eVN5c3RlbUFjY2Vzczo6Z2V0Q29uZmlndXJhdGlvbik6CisgICAgICAgICogYmluZGluZ3Mvc2Ny
aXB0cy9Db2RlR2VuZXJhdG9ySlMucG06CisgICAgICAgIChHZXROYXRpdmVWZWN0b3JJbm5lclR5
cGUpOgorICAgICAgICAqIGRvbS9FdmVudE5hbWVzLmg6CisgICAgICAgICogZG9tL0V2ZW50TmFt
ZXMuaW46CisgICAgICAgICogZG9tL0V2ZW50VGFyZ2V0RmFjdG9yeS5pbjoKKyAgICAgICAgKiBo
dG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxl
bWVudDo6bWVkaWFLZXlzKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OnNl
dE1lZGlhS2V5cyk6CisgICAgICAgICogaHRtbC9IVE1MTWVkaWFFbGVtZW50Lmg6CisgICAgICAg
ICogaHRtbC9IVE1MTWVkaWFFbGVtZW50LmlkbDoKKyAgICAgICAgKiBodG1sL01lZGlhRW5jcnlw
dGVkRXZlbnQuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhRW5jcnlwdGVkRXZl
bnQ6Ok1lZGlhRW5jcnlwdGVkRXZlbnQpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFFbmNyeXB0
ZWRFdmVudDo6ZXZlbnRJbnRlcmZhY2UpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFFbmNyeXB0
ZWRFdmVudDo6aW5pdERhdGFUeXBlKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhRW5jcnlwdGVk
RXZlbnQ6OmluaXREYXRhKToKKyAgICAgICAgKiBodG1sL01lZGlhRW5jcnlwdGVkRXZlbnQuaDog
QWRkZWQuCisgICAgICAgICogaHRtbC9NZWRpYUVuY3J5cHRlZEV2ZW50LmlkbDogQWRkZWQuCisg
ICAgICAgICogaHRtbC9NZWRpYUVuY3J5cHRlZEV2ZW50SW5pdC5oOiBBZGRlZC4KKyAgICAgICAg
KFdlYkNvcmU6Ok1lZGlhRW5jcnlwdGVkRXZlbnRJbml0OjpNZWRpYUVuY3J5cHRlZEV2ZW50SW5p
dCk6CisKIDIwMTYtMTAtMjYgIERhbiBCZXJuc3RlaW4gIDxtaXR6QGFwcGxlLmNvbT4KIAogICAg
ICAgICBGaXhlZCB0aGUgV2ViS2l0MiBidWlsZC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggNGJl
Yzc3ZTg4NmJjMjcyY2VhZDdkNDg1OTIyNjMyYjIzNzhkMzc1Ny4uZTc0NmI5ZWJmMDYxMTBmMmFk
ZWVkMmU0Y2VkMjZlYTRlMWVkZTdjNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VM
aXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTExNjIsNiAr
MTE2Miw4IEBAIHNldChXZWJDb3JlX1NPVVJDRVMKICAgICBiaW5kaW5ncy9qcy9KU0xvY2F0aW9u
Q3VzdG9tLmNwcAogICAgIGJpbmRpbmdzL2pzL0pTTWFpblRocmVhZEV4ZWNTdGF0ZS5jcHAKICAg
ICBiaW5kaW5ncy9qcy9KU01lZGlhRGV2aWNlc0N1c3RvbS5jcHAKKyAgICBiaW5kaW5ncy9qcy9K
U01lZGlhS2V5U2Vzc2lvbkN1c3RvbS5jcHAKKyAgICBiaW5kaW5ncy9qcy9KU01lZGlhS2V5U3lz
dGVtQWNjZXNzQ3VzdG9tLmNwcAogICAgIGJpbmRpbmdzL2pzL0pTTWVkaWFTdHJlYW1UcmFja0N1
c3RvbS5jcHAKICAgICBiaW5kaW5ncy9qcy9KU01lZGlhVHJhY2tTdXBwb3J0ZWRDb25zdHJhaW50
c0N1c3RvbS5jcHAKICAgICBiaW5kaW5ncy9qcy9KU01lc3NhZ2VDaGFubmVsQ3VzdG9tLmNwcApA
QCAtMzAzMiw2ICszMDM0LDMzIEBAIGlmIChFTkFCTEVfTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkK
ICAgICApCiBlbmRpZiAoKQogCitpZiAoRU5BQkxFX0VOQ1JZUFRFRF9NRURJQSkKKyAgICBsaXN0
KEFQUEVORCBXZWJDb3JlX1NPVVJDRVMKKyAgICAgICAgTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9N
ZWRpYUtleU1lc3NhZ2VFdmVudC5jcHAKKyAgICAgICAgTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9N
ZWRpYUtleVNlc3Npb24uY3BwCisgICAgICAgIE1vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFL
ZXlTdGF0dXNNYXAuY3BwCisgICAgICAgIE1vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlT
eXN0ZW1BY2Nlc3MuY3BwCisgICAgICAgIE1vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlz
LmNwcAorICAgICAgICBNb2R1bGVzL2VuY3J5cHRlZG1lZGlhL05hdmlnYXRvckVNRS5jcHAKKwor
ICAgICAgICBodG1sL01lZGlhRW5jcnlwdGVkRXZlbnQuY3BwCisgICAgKQorICAgIGxpc3QoQVBQ
RU5EIFdlYkNvcmVfSURMX0ZJTEVTCisgICAgKQorICAgIGxpc3QoQVBQRU5EIFdlYkNvcmVfSURM
X0ZJTEVTCisgICAgICAgIE1vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlNZXNzYWdlRXZl
bnQuaWRsCisgICAgICAgIE1vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlTZXNzaW9uLmlk
bAorICAgICAgICBNb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U3RhdHVzTWFwLmlkbAor
ICAgICAgICBNb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U3lzdGVtQWNjZXNzLmlkbAor
ICAgICAgICBNb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U3lzdGVtQ29uZmlndXJhdGlv
bi5pZGwKKyAgICAgICAgTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVN5c3RlbU1lZGlh
Q2FwYWJpbGl0eS5pZGwKKyAgICAgICAgTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleXMu
aWRsCisgICAgICAgIE1vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTmF2aWdhdG9yRU1FLmlkbAorCisg
ICAgICAgIGh0bWwvTWVkaWFFbmNyeXB0ZWRFdmVudC5pZGwKKyAgICApCitlbmRpZiAoKQorCiBs
aXN0KEFQUEVORCBXZWJDb3JlX0NTU19WQUxVRV9LRVlXT1JEUwogICAgICR7V0VCQ09SRV9ESVJ9
L2Nzcy9TVkdDU1NWYWx1ZUtleXdvcmRzLmluCiApCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9EZXJpdmVkU291cmNlcy5tYWtlIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFr
ZQppbmRleCA1OGY5MzIxNmFkZGZjNDFlZmU0YzEzZmM4NGI5N2IzZmQ0NDY1OGNiLi4xOGY0ZWEy
MDUzNTBkZDA0ZmE3Y2U0NTRlNDRlOWRlZjdkMmMyM2QwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9EZXJpdmVkU291cmNlcy5tYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3Vy
Y2VzLm1ha2UKQEAgLTMwLDYgKzMwLDcgQEAgVlBBVEggPSBcCiAgICAgJChXZWJDb3JlKSBcCiAg
ICAgJChXZWJDb3JlKS9Nb2R1bGVzL2FpcnBsYXkgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9h
cHBsZXBheSBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhIFwKICAgICAk
KFdlYkNvcmUpL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvbGVnYWN5IFwKICAgICAkKFdlYkNvcmUp
L01vZHVsZXMvZmV0Y2ggXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9nYW1lcGFkIFwKQEAgLTgz
LDYgKzg0LDE0IEBAIEpTX0JJTkRJTkdfSURMUyA9IFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMv
YXBwbGVwYXkvQXBwbGVQYXlTaGlwcGluZ0NvbnRhY3RTZWxlY3RlZEV2ZW50LmlkbCBcCiAgICAg
JChXZWJDb3JlKS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5U2hpcHBpbmdNZXRob2RTZWxlY3Rl
ZEV2ZW50LmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxlUGF5VmFs
aWRhdGVNZXJjaGFudEV2ZW50LmlkbCBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2VuY3J5cHRl
ZG1lZGlhL01lZGlhS2V5TWVzc2FnZUV2ZW50LmlkbCBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVz
L2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U2Vzc2lvbi5pZGwgXAorICAgICQoV2ViQ29yZSkvTW9k
dWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVN0YXR1c01hcC5pZGwgXAorICAgICQoV2ViQ29y
ZSkvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVN5c3RlbUFjY2Vzcy5pZGwgXAorICAg
ICQoV2ViQ29yZSkvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVN5c3RlbUNvbmZpZ3Vy
YXRpb24uaWRsIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFL
ZXlTeXN0ZW1NZWRpYUNhcGFiaWxpdHkuaWRsIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvZW5j
cnlwdGVkbWVkaWEvTWVkaWFLZXlzLmlkbCBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2VuY3J5
cHRlZG1lZGlhL05hdmlnYXRvckVNRS5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9lbmNy
eXB0ZWRtZWRpYS9sZWdhY3kvV2ViS2l0TWVkaWFLZXlNZXNzYWdlRXZlbnQuaWRsIFwKICAgICAk
KFdlYkNvcmUpL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvbGVnYWN5L1dlYktpdE1lZGlhS2V5TmVl
ZGVkRXZlbnQuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvbGVn
YWN5L1dlYktpdE1lZGlhS2V5U2Vzc2lvbi5pZGwgXApAQCAtNDYwLDYgKzQ2OSw3IEBAIEpTX0JJ
TkRJTkdfSURMUyA9IFwKICAgICAkKFdlYkNvcmUpL2h0bWwvSFRNTFZpZGVvRWxlbWVudC5pZGwg
XAogICAgICQoV2ViQ29yZSkvaHRtbC9JbWFnZURhdGEuaWRsIFwKICAgICAkKFdlYkNvcmUpL2h0
bWwvTWVkaWFDb250cm9sbGVyLmlkbCBcCisgICAgJChXZWJDb3JlKS9odG1sL01lZGlhRW5jcnlw
dGVkRXZlbnQuaWRsIFwKICAgICAkKFdlYkNvcmUpL2h0bWwvTWVkaWFFcnJvci5pZGwgXAogICAg
ICQoV2ViQ29yZSkvaHRtbC9SYWRpb05vZGVMaXN0LmlkbCBcCiAgICAgJChXZWJDb3JlKS9odG1s
L1RleHRNZXRyaWNzLmlkbCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Vu
Y3J5cHRlZG1lZGlhL01lZGlhS2V5TWVzc2FnZUV2ZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlNZXNzYWdlRXZlbnQuY3BwCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdmNzFkMzg2OTJmZjhmMTkwYjk0Y2MzZDllMjljNTFlMzMzOTlmOGQKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5TWVzc2Fn
ZUV2ZW50LmNwcApAQCAtMCwwICsxLDU0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE2IE1l
dHJvbG9naWNhbCBHcm91cCBCLlYuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTYsIElnYWxpYSBTLkwu
CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgorICogMS4g
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqICAgIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nCisgKiAgICBkaXNjbGFpbWVyIGluIHRo
ZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQKKyAqICAgIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBB
TlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICog
TElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogSE9MREVSIE9SIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisj
aW5jbHVkZSAiTWVkaWFLZXlNZXNzYWdlRXZlbnQuaCIKKworI2lmIEVOQUJMRShFTkNSWVBURURf
TUVESUEpCisKKyNpbmNsdWRlICJFdmVudE5hbWVzLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsK
KworTWVkaWFLZXlNZXNzYWdlRXZlbnQ6Ok1lZGlhS2V5TWVzc2FnZUV2ZW50KGNvbnN0IEF0b21p
Y1N0cmluZyYgdHlwZSwgY29uc3QgTWVkaWFLZXlNZXNzYWdlRXZlbnQ6OkluaXQmIGluaXRpYWxp
emVyLCBJc1RydXN0ZWQgaXNUcnVzdGVkKQorICAgIDogRXZlbnQodHlwZSwgaW5pdGlhbGl6ZXIs
IGlzVHJ1c3RlZCkKKyAgICAsIG1fbWVzc2FnZVR5cGUoaW5pdGlhbGl6ZXIubWVzc2FnZVR5cGUp
CisgICAgLCBtX21lc3NhZ2UoaW5pdGlhbGl6ZXIubWVzc2FnZSkKK3sKK30KKworTWVkaWFLZXlN
ZXNzYWdlRXZlbnQ6On5NZWRpYUtleU1lc3NhZ2VFdmVudCgpID0gZGVmYXVsdDsKKworRXZlbnRJ
bnRlcmZhY2UgTWVkaWFLZXlNZXNzYWdlRXZlbnQ6OmV2ZW50SW50ZXJmYWNlKCkgY29uc3QKK3sK
KyAgICByZXR1cm4gTWVkaWFLZXlNZXNzYWdlRXZlbnRJbnRlcmZhY2VUeXBlOworfQorCit9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoRU5DUllQVEVEX01FRElBKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtl
eU1lc3NhZ2VFdmVudC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9N
ZWRpYUtleU1lc3NhZ2VFdmVudC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmYyMjM2YjYwMWI3NTY1ZWQ1ZTM5NjI2
NTg3NmE2MDU4YjViZjY1NjgKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5TWVzc2FnZUV2ZW50LmgKQEAgLTAsMCArMSw2NyBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNiBNZXRyb2xvZ2ljYWwgR3JvdXAgQi5WLgorICog
Q29weXJpZ2h0IChDKSAyMDE2LCBJZ2FsaWEgUy5MLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCisgKiBhcmUgbWV0OgorICoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisg
KiAgICBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZworICogICAgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkCisgKiAgICB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5E
IENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNV
TEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklH
SFQKKyAqIEhPTERFUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoRU5DUllQVEVEX01FRElBKQorCisj
aW5jbHVkZSAiRXZlbnQuaCIKKyNpbmNsdWRlICJNZWRpYUtleU1lc3NhZ2VFdmVudEluaXQuaCIK
KyNpbmNsdWRlICJNZWRpYUtleU1lc3NhZ2VUeXBlLmgiCisjaW5jbHVkZSA8cnVudGltZS9BcnJh
eUJ1ZmZlci5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIE1lZGlhS2V5TWVzc2Fn
ZUV2ZW50IGZpbmFsIDogcHVibGljIEV2ZW50IHsKK3B1YmxpYzoKKyAgICB1c2luZyBUeXBlID0g
TWVkaWFLZXlNZXNzYWdlVHlwZTsKKyAgICB1c2luZyBJbml0ID0gTWVkaWFLZXlNZXNzYWdlRXZl
bnRJbml0OworCisgICAgdmlydHVhbCB+TWVkaWFLZXlNZXNzYWdlRXZlbnQoKTsKKworICAgIHN0
YXRpYyBSZWY8TWVkaWFLZXlNZXNzYWdlRXZlbnQ+IGNyZWF0ZShjb25zdCBBdG9taWNTdHJpbmcm
IHR5cGUsIGNvbnN0IE1lZGlhS2V5TWVzc2FnZUV2ZW50SW5pdCYgaW5pdGlhbGl6ZXIsIElzVHJ1
c3RlZCBpc1RydXN0ZWQgPSBJc1RydXN0ZWQ6Ok5vKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFk
b3B0UmVmKCpuZXcgTWVkaWFLZXlNZXNzYWdlRXZlbnQodHlwZSwgaW5pdGlhbGl6ZXIsIGlzVHJ1
c3RlZCkpOworICAgIH0KKworICAgIFR5cGUgbWVzc2FnZVR5cGUoKSBjb25zdCB7IHJldHVybiBt
X21lc3NhZ2VUeXBlOyB9CisgICAgUmVmUHRyPEpTQzo6QXJyYXlCdWZmZXI+IG1lc3NhZ2UoKSBj
b25zdCB7IHJldHVybiBtX21lc3NhZ2U7IH0KKworcHJpdmF0ZToKKyAgICBNZWRpYUtleU1lc3Nh
Z2VFdmVudChjb25zdCBBdG9taWNTdHJpbmcmLCBjb25zdCBNZWRpYUtleU1lc3NhZ2VFdmVudElu
aXQmLCBJc1RydXN0ZWQpOworCisgICAgLy8gRXZlbnQKKyAgICBFdmVudEludGVyZmFjZSBldmVu
dEludGVyZmFjZSgpIGNvbnN0IG92ZXJyaWRlOworCisgICAgTWVkaWFLZXlNZXNzYWdlVHlwZSBt
X21lc3NhZ2VUeXBlOworICAgIFJlZlB0cjxKU0M6OkFycmF5QnVmZmVyPiBtX21lc3NhZ2U7Cit9
OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoRU5DUllQVEVE
X01FRElBKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRp
YS9NZWRpYUtleU1lc3NhZ2VFdmVudC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5
cHRlZG1lZGlhL01lZGlhS2V5TWVzc2FnZUV2ZW50LmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzg0YmI0YjYz
MzBmZmM0YTA2M2VjMDQ5OWUyMGEwNTRhMGE2MDVmCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleU1lc3NhZ2VFdmVudC5pZGwK
QEAgLTAsMCArMSw0NyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNiBNZXRyb2xvZ2ljYWwg
R3JvdXAgQi5WLgorICogQ29weXJpZ2h0IChDKSAyMDE2LCBJZ2FsaWEgUy5MLgorICoKKyAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICoKKyAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlCisgKiAgICBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZworICogICAgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkCisgKiAgICB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJ
R0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8s
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIFRIRSBDT1BZUklHSFQKKyAqIEhPTERFUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UK
KyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworZW51bSBNZWRpYUtleU1lc3NhZ2VUeXBlIHsKKyAgICAi
bGljZW5zZS1yZXF1ZXN0IiwKKyAgICAibGljZW5zZS1yZW5ld2FsIiwKKyAgICAibGljZW5zZS1y
ZWxlYXNlIiwKKyAgICAiaW5kaXZpZHVhbGl6YXRpb24tcmVxdWVzdCIKK307CisKK2RpY3Rpb25h
cnkgTWVkaWFLZXlNZXNzYWdlRXZlbnRJbml0IDogRXZlbnRJbml0IHsKKyAgICByZXF1aXJlZCBN
ZWRpYUtleU1lc3NhZ2VUeXBlIG1lc3NhZ2VUeXBlOworICAgIHJlcXVpcmVkIEFycmF5QnVmZmVy
IG1lc3NhZ2U7Cit9OworCitbCisgICAgQ29uZGl0aW9uYWw9RU5DUllQVEVEX01FRElBLAorICAg
IENvbnN0cnVjdG9yKERPTVN0cmluZyB0eXBlLCBNZWRpYUtleU1lc3NhZ2VFdmVudEluaXQgZXZl
bnRJbml0RGljdCksCitdIGludGVyZmFjZSBNZWRpYUtleU1lc3NhZ2VFdmVudCA6IEV2ZW50IHsK
KyAgICByZWFkb25seSBhdHRyaWJ1dGUgTWVkaWFLZXlNZXNzYWdlVHlwZSBtZXNzYWdlVHlwZTsK
KyAgICByZWFkb25seSBhdHRyaWJ1dGUgQXJyYXlCdWZmZXIgbWVzc2FnZTsKK307CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5TWVzc2Fn
ZUV2ZW50SW5pdC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRp
YUtleU1lc3NhZ2VFdmVudEluaXQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMzljNjA2YWI5ZjFhZjY3Zjk4NzIz
ZDIzYWRiNDhlZjE1MGEzMWQwCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleU1lc3NhZ2VFdmVudEluaXQuaApAQCAtMCwwICsx
LDU0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE2IE1ldHJvbG9naWNhbCBHcm91cCBCLlYu
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTYsIElnYWxpYSBTLkwuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUKKyAqICAgIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nCisgKiAgICBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQKKyAqICAgIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVS
UyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENP
UFlSSUdIVAorICogSE9MREVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisg
KiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lmIEVOQUJMRShFTkNSWVBURURfTUVESUEp
CisKKyNpbmNsdWRlICJFdmVudC5oIgorI2luY2x1ZGUgIk1lZGlhS2V5TWVzc2FnZVR5cGUuaCIK
KyNpbmNsdWRlIDxydW50aW1lL0FycmF5QnVmZmVyLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsK
Kworc3RydWN0IE1lZGlhS2V5TWVzc2FnZUV2ZW50SW5pdCA6IEV2ZW50SW5pdCB7CisgICAgTWVk
aWFLZXlNZXNzYWdlRXZlbnRJbml0KCkgPSBkZWZhdWx0OworCisgICAgTWVkaWFLZXlNZXNzYWdl
RXZlbnRJbml0KE1lZGlhS2V5TWVzc2FnZVR5cGUgbWVzc2FnZVR5cGUsIFJlZlB0cjxKU0M6OkFy
cmF5QnVmZmVyPiYmIG1lc3NhZ2UpCisgICAgICAgIDogRXZlbnRJbml0KCkKKyAgICAgICAgLCBt
ZXNzYWdlVHlwZShtZXNzYWdlVHlwZSkKKyAgICAgICAgLCBtZXNzYWdlKFdURk1vdmUobWVzc2Fn
ZSkpCisgICAgeyB9CisKKyAgICBNZWRpYUtleU1lc3NhZ2VUeXBlIG1lc3NhZ2VUeXBlOworICAg
IFJlZlB0cjxKU0M6OkFycmF5QnVmZmVyPiBtZXNzYWdlOworfTsKKworfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlNZXNzYWdlVHlw
ZS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleU1lc3Nh
Z2VUeXBlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZDVhNjVhMmI5MGUxZjI3NGE0NDJlZDU3MzU5OWM5MGEwYjJl
M2EyYQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVk
bWVkaWEvTWVkaWFLZXlNZXNzYWdlVHlwZS5oCkBAIC0wLDAgKzEsNDQgQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTYgTWV0cm9sb2dpY2FsIEdyb3VwIEIuVi4KKyAqIENvcHlyaWdodCAoQykg
MjAxNiwgSWdhbGlhIFMuTC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqCisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogICAgY29weXJpZ2h0
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcKKyAqICAg
IGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZAorICogICAgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMK
KyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBIT0xERVIg
T1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICog
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFn
bWEgb25jZQorCisjaWYgRU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkKKworbmFtZXNwYWNlIFdlYkNv
cmUgeworCitlbnVtIGNsYXNzIE1lZGlhS2V5TWVzc2FnZVR5cGUgeworICAgIExpY2Vuc2VSZXF1
ZXN0LAorICAgIExpY2Vuc2VSZW5ld2FsLAorICAgIExpY2Vuc2VSZWxlYXNlLAorICAgIEluZGl2
aWR1YWxpemF0aW9uUmVxdWVzdAorfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5k
aWYgLy8gRU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlTZXNzaW9uLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlTZXNzaW9uLmNwcApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mOTkwNGEyNGUwYmZhZWUxMWI4ODRkZTE2ZTdkNTM0ZDI2Y2YzZGIyCi0tLSAvZGV2L251bGwK
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVNlc3Np
b24uY3BwCkBAIC0wLDAgKzEsMTIxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE2IE1ldHJv
bG9naWNhbCBHcm91cCBCLlYuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTYsIElnYWxpYSBTLkwuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgorICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqICAgIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nCisgKiAgICBkaXNjbGFpbWVyIGluIHRoZSBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQKKyAqICAgIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRI
RSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkg
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElN
SVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogSE9MREVSIE9SIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAor
ICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5j
bHVkZSAiTWVkaWFLZXlTZXNzaW9uLmgiCisKKyNpZiBFTkFCTEUoRU5DUllQVEVEX01FRElBKQor
CisjaW5jbHVkZSAiTWVkaWFLZXlTdGF0dXNNYXAuaCIKKyNpbmNsdWRlICJOb3RJbXBsZW1lbnRl
ZC5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK1JlZjxNZWRpYUtleVNlc3Npb24+IE1lZGlh
S2V5U2Vzc2lvbjo6Y3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQpCit7Cisg
ICAgYXV0byBzZXNzaW9uID0gYWRvcHRSZWYoKm5ldyBNZWRpYUtleVNlc3Npb24oY29udGV4dCkp
OworICAgIHNlc3Npb24tPnN1c3BlbmRJZk5lZWRlZCgpOworICAgIHJldHVybiBzZXNzaW9uOwor
fQorCitNZWRpYUtleVNlc3Npb246Ok1lZGlhS2V5U2Vzc2lvbihTY3JpcHRFeGVjdXRpb25Db250
ZXh0JiBjb250ZXh0KQorICAgIDogQWN0aXZlRE9NT2JqZWN0KCZjb250ZXh0KQoreworfQorCitN
ZWRpYUtleVNlc3Npb246On5NZWRpYUtleVNlc3Npb24oKSA9IGRlZmF1bHQ7CisKK2NvbnN0IFN0
cmluZyYgTWVkaWFLZXlTZXNzaW9uOjpzZXNzaW9uSWQoKSBjb25zdAoreworICAgIG5vdEltcGxl
bWVudGVkKCk7CisgICAgcmV0dXJuIGVtcHR5U3RyaW5nKCk7Cit9CisKK2RvdWJsZSBNZWRpYUtl
eVNlc3Npb246OmV4cGlyYXRpb24oKSBjb25zdAoreworICAgIG5vdEltcGxlbWVudGVkKCk7Cisg
ICAgcmV0dXJuIDA7Cit9CisKK1JlZlB0cjxNZWRpYUtleVN0YXR1c01hcD4gTWVkaWFLZXlTZXNz
aW9uOjprZXlTdGF0dXNlcygpIGNvbnN0Cit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICBy
ZXR1cm4gbnVsbHB0cjsKK30KKwordm9pZCBNZWRpYUtleVNlc3Npb246OmdlbmVyYXRlUmVxdWVz
dChjb25zdCBTdHJpbmcmLCBjb25zdCBCdWZmZXJTb3VyY2UmLCBHZW5lcmF0ZVJlcXVlc3RQcm9t
aXNlJiYpCit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKK30KKwordm9pZCBNZWRpYUtleVNlc3Np
b246OmxvYWQoY29uc3QgU3RyaW5nJiwgTG9hZFByb21pc2UmJikKK3sKKyAgICBub3RJbXBsZW1l
bnRlZCgpOworfQorCit2b2lkIE1lZGlhS2V5U2Vzc2lvbjo6dXBkYXRlKGNvbnN0IEJ1ZmZlclNv
dXJjZSYsIFVwZGF0ZVByb21pc2UmJikKK3sKKyAgICBub3RJbXBsZW1lbnRlZCgpOworfQorCit2
b2lkIE1lZGlhS2V5U2Vzc2lvbjo6Y2xvc2UoQ2xvc2VQcm9taXNlJiYpCit7CisgICAgbm90SW1w
bGVtZW50ZWQoKTsKK30KKwordm9pZCBNZWRpYUtleVNlc3Npb246OnJlbW92ZShSZW1vdmVQcm9t
aXNlJiYpCit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKK30KKworYm9vbCBNZWRpYUtleVNlc3Np
b246Omhhc1BlbmRpbmdBY3Rpdml0eSgpIGNvbnN0Cit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsK
KyAgICByZXR1cm4gZmFsc2U7Cit9CisKK2NvbnN0IGNoYXIqIE1lZGlhS2V5U2Vzc2lvbjo6YWN0
aXZlRE9NT2JqZWN0TmFtZSgpIGNvbnN0Cit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICBy
ZXR1cm4gIk1lZGlhS2V5U2Vzc2lvbiI7Cit9CisKK2Jvb2wgTWVkaWFLZXlTZXNzaW9uOjpjYW5T
dXNwZW5kRm9yRG9jdW1lbnRTdXNwZW5zaW9uKCkgY29uc3QKK3sKKyAgICBub3RJbXBsZW1lbnRl
ZCgpOworICAgIHJldHVybiBmYWxzZTsKK30KKwordm9pZCBNZWRpYUtleVNlc3Npb246OnN0b3Ao
KQoreworICAgIG5vdEltcGxlbWVudGVkKCk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
KworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1l
ZGlhL01lZGlhS2V5U2Vzc2lvbi5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRt
ZWRpYS9NZWRpYUtleVNlc3Npb24uaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kNTJiOTE1NmM5NTk4OGY5YjM4Y2E0
NWY3YWQ3OTljODcyYWRmOWFhCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVNlc3Npb24uaApAQCAtMCwwICsxLDkyIEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDE2IE1ldHJvbG9naWNhbCBHcm91cCBCLlYuCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTYsIElnYWxpYSBTLkwuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKKyAqIGFyZSBtZXQ6CisgKgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqICAg
IGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nCisgKiAgICBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQKKyAqICAgIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09O
VFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIg
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAor
ICogSE9MREVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAq
LworCisjcHJhZ21hIG9uY2UKKworI2lmIEVOQUJMRShFTkNSWVBURURfTUVESUEpCisKKyNpbmNs
dWRlICJBY3RpdmVET01PYmplY3QuaCIKKyNpbmNsdWRlICJFdmVudFRhcmdldC5oIgorI2luY2x1
ZGUgIkdlbmVyaWNFdmVudFF1ZXVlLmgiCisjaW5jbHVkZSAiSlNET01Qcm9taXNlLmgiCisjaW5j
bHVkZSAiTWVkaWFLZXlTZXNzaW9uVHlwZS5oIgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+
CisjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsK
KworY2xhc3MgQnVmZmVyU291cmNlOworY2xhc3MgTWVkaWFLZXlTdGF0dXNNYXA7CitjbGFzcyBN
ZWRpYUtleXM7CisKK2NsYXNzIE1lZGlhS2V5U2Vzc2lvbiBmaW5hbCA6IHB1YmxpYyBSZWZDb3Vu
dGVkPE1lZGlhS2V5U2Vzc2lvbj4sIHB1YmxpYyBFdmVudFRhcmdldFdpdGhJbmxpbmVEYXRhLCBw
dWJsaWMgQWN0aXZlRE9NT2JqZWN0IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUmVmPE1lZGlhS2V5
U2Vzc2lvbj4gY3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmKTsKKyAgICB2aXJ0dWFsIH5N
ZWRpYUtleVNlc3Npb24oKTsKKworICAgIHVzaW5nIFJlZkNvdW50ZWQ8TWVkaWFLZXlTZXNzaW9u
Pjo6cmVmOworICAgIHVzaW5nIFJlZkNvdW50ZWQ8TWVkaWFLZXlTZXNzaW9uPjo6ZGVyZWY7CisK
KyAgICBjb25zdCBTdHJpbmcmIHNlc3Npb25JZCgpIGNvbnN0OworICAgIGRvdWJsZSBleHBpcmF0
aW9uKCkgY29uc3Q7CisgICAgUmVmUHRyPE1lZGlhS2V5U3RhdHVzTWFwPiBrZXlTdGF0dXNlcygp
IGNvbnN0OworCisgICAgdXNpbmcgR2VuZXJhdGVSZXF1ZXN0UHJvbWlzZSA9IERPTVByb21pc2U8
c3RkOjpudWxscHRyX3Q+OworICAgIHZvaWQgZ2VuZXJhdGVSZXF1ZXN0KGNvbnN0IFN0cmluZyYs
IGNvbnN0IEJ1ZmZlclNvdXJjZSYsIEdlbmVyYXRlUmVxdWVzdFByb21pc2UmJik7CisKKyAgICB1
c2luZyBMb2FkUHJvbWlzZSA9IERPTVByb21pc2U8Ym9vbD47CisgICAgdm9pZCBsb2FkKGNvbnN0
IFN0cmluZyYsIExvYWRQcm9taXNlJiYpOworCisgICAgdXNpbmcgVXBkYXRlUHJvbWlzZSA9IERP
TVByb21pc2U8c3RkOjpudWxscHRyX3Q+OworICAgIHZvaWQgdXBkYXRlKGNvbnN0IEJ1ZmZlclNv
dXJjZSYsIFVwZGF0ZVByb21pc2UmJik7CisKKyAgICB1c2luZyBDbG9zZVByb21pc2UgPSBET01Q
cm9taXNlPHN0ZDo6bnVsbHB0cl90PjsKKyAgICB2b2lkIGNsb3NlKENsb3NlUHJvbWlzZSYmKTsK
KworICAgIHVzaW5nIFJlbW92ZVByb21pc2UgPSBET01Qcm9taXNlPHN0ZDo6bnVsbHB0cl90PjsK
KyAgICB2b2lkIHJlbW92ZShSZW1vdmVQcm9taXNlJiYpOworCitwcml2YXRlOgorICAgIE1lZGlh
S2V5U2Vzc2lvbihTY3JpcHRFeGVjdXRpb25Db250ZXh0Jik7CisKKyAgICAvLyBFdmVudFRhcmdl
dAorICAgIEV2ZW50VGFyZ2V0SW50ZXJmYWNlIGV2ZW50VGFyZ2V0SW50ZXJmYWNlKCkgY29uc3Qg
b3ZlcnJpZGUgeyByZXR1cm4gTWVkaWFLZXlTZXNzaW9uRXZlbnRUYXJnZXRJbnRlcmZhY2VUeXBl
OyB9CisgICAgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgp
IGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIEFjdGl2ZURPTU9iamVjdDo6c2NyaXB0RXhlY3V0aW9u
Q29udGV4dCgpOyB9CisgICAgdm9pZCByZWZFdmVudFRhcmdldCgpIG92ZXJyaWRlIHsgcmVmKCk7
IH0KKyAgICB2b2lkIGRlcmVmRXZlbnRUYXJnZXQoKSBvdmVycmlkZSB7IGRlcmVmKCk7IH0KKwor
ICAgIC8vIEFjdGl2ZURPTU9iamVjdAorICAgIGJvb2wgaGFzUGVuZGluZ0FjdGl2aXR5KCkgY29u
c3Qgb3ZlcnJpZGU7CisgICAgY29uc3QgY2hhciogYWN0aXZlRE9NT2JqZWN0TmFtZSgpIGNvbnN0
IG92ZXJyaWRlOworICAgIGJvb2wgY2FuU3VzcGVuZEZvckRvY3VtZW50U3VzcGVuc2lvbigpIGNv
bnN0IG92ZXJyaWRlOworICAgIHZvaWQgc3RvcCgpIG92ZXJyaWRlOworfTsKKworfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlTZXNz
aW9uLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlT
ZXNzaW9uLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NmVkYzZjMWIwNzljZGIwMWUyZWMwNTJlY2M2ZjIzMzBh
MmJlMzk5Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0
ZWRtZWRpYS9NZWRpYUtleVNlc3Npb24uaWRsCkBAIC0wLDAgKzEsNDMgQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTYgTWV0cm9sb2dpY2FsIEdyb3VwIEIuVi4KKyAqIENvcHlyaWdodCAoQykg
MjAxNiwgSWdhbGlhIFMuTC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqCisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogICAgY29weXJpZ2h0
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcKKyAqICAg
IGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZAorICogICAgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMK
KyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBIT0xERVIg
T1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICog
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK1sKKyAg
ICBDb25kaXRpb25hbD1FTkNSWVBURURfTUVESUEsCitdIGludGVyZmFjZSBNZWRpYUtleVNlc3Np
b24gOiBFdmVudFRhcmdldCB7CisgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyBzZXNz
aW9uSWQ7CisgICAgcmVhZG9ubHkgYXR0cmlidXRlIHVucmVzdHJpY3RlZCBkb3VibGUgZXhwaXJh
dGlvbjsKKyAgICBbQ3VzdG9tR2V0dGVyLCBDYWNoZWRBdHRyaWJ1dGVdIHJlYWRvbmx5IGF0dHJp
YnV0ZSBQcm9taXNlIGNsb3NlZDsKKyAgICByZWFkb25seSBhdHRyaWJ1dGUgTWVkaWFLZXlTdGF0
dXNNYXAga2V5U3RhdHVzZXM7CisgICAgYXR0cmlidXRlIEV2ZW50SGFuZGxlciBvbmtleXN0YXR1
c2VzY2hhbmdlOworICAgIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgb25tZXNzYWdlOworICAgIFBy
b21pc2UgZ2VuZXJhdGVSZXF1ZXN0KERPTVN0cmluZyBpbml0RGF0YVR5cGUsIEJ1ZmZlclNvdXJj
ZSBpbml0RGF0YSk7CisgICAgUHJvbWlzZSBsb2FkKERPTVN0cmluZyBzZXNzaW9uSWQpOworICAg
IFByb21pc2UgdXBkYXRlKEJ1ZmZlclNvdXJjZSByZXNwb25zZSk7CisgICAgUHJvbWlzZSBjbG9z
ZSgpOworICAgIFByb21pc2UgcmVtb3ZlKCk7Cit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVNlc3Npb25UeXBlLmggYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U2Vzc2lvblR5cGUuaApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi45ZGQzZjQ2N2NjMDgzZWZmZTI4NzIxMGNjNzFhMDBmZjgwMGNlYTUzCi0tLSAvZGV2
L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtl
eVNlc3Npb25UeXBlLmgKQEAgLTAsMCArMSw0MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAx
NiBNZXRyb2xvZ2ljYWwgR3JvdXAgQi5WLgorICogQ29weXJpZ2h0IChDKSAyMDE2LCBJZ2FsaWEg
Uy5MLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICoKKyAq
IDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiAgICBjb3B5cmlnaHQgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZworICogICAgZGlzY2xhaW1lciBp
biB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkCisgKiAg
ICB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBB
TkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QK
KyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIEhPTERFUiBPUiBDT05UUklCVVRP
UlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1Mg
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisg
KiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNp
ZiBFTkFCTEUoRU5DUllQVEVEX01FRElBKQorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2VudW0g
Y2xhc3MgTWVkaWFLZXlTZXNzaW9uVHlwZSB7CisgICAgVGVtcG9yYXJ5LAorICAgIFBlcnNpc3Rl
bnRVc2FnZVJlY29yZCwKKyAgICBQZXJzaXN0ZW50TGljZW5zZQorfTsKKworfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlTdGF0dXMu
aCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlTdGF0dXMu
aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4yOTI4NWYwZjQ0NThlZmM0Yjg4NmUyMzA0YWVlZTA5NTczZDc4NWFhCi0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9N
ZWRpYUtleVN0YXR1cy5oCkBAIC0wLDAgKzEsNDcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTYgTWV0cm9sb2dpY2FsIEdyb3VwIEIuVi4KKyAqIENvcHlyaWdodCAoQykgMjAxNiwgSWdhbGlh
IFMuTC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisg
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogICAgY29weXJpZ2h0IG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcKKyAqICAgIGRpc2NsYWltZXIg
aW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZAorICog
ICAgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIg
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
CisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBIT0xERVIgT1IgQ09OVFJJQlVU
T1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBT
UEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAor
ICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisj
aWYgRU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitlbnVt
IGNsYXNzIE1lZGlhS2V5U3RhdHVzIHsKKyAgICBVc2FibGUsCisgICAgRXhwaXJlZCwKKyAgICBS
ZWxlYXNlZCwKKyAgICBPdXRwdXRSZXN0cmljdGVkLAorICAgIE91dHB1dERvd25zY2FsZWQsCisg
ICAgU3RhdHVzUGVuZGluZywKKyAgICBJbnRlcm5hbEVycm9yCit9OworCit9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoRU5DUllQVEVEX01FRElBKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVN0YXR1c01h
cC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U3Rh
dHVzTWFwLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iZWQzZGQ0NDI5YmJjNGI5M2E2Nzg1YTRiMDNhODA3MmZj
MWVmMmE2Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0
ZWRtZWRpYS9NZWRpYUtleVN0YXR1c01hcC5jcHAKQEAgLTAsMCArMSw3MiBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAxNiBNZXRyb2xvZ2ljYWwgR3JvdXAgQi5WLgorICogQ29weXJpZ2h0IChD
KSAyMDE2LCBJZ2FsaWEgUy5MLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBh
cmUgbWV0OgorICoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiAgICBjb3B5cmln
aHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZworICog
ICAgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkCisgKiAgICB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9S
UworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIEhPTERF
UiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisg
KiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lu
Y2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIk1lZGlhS2V5U3RhdHVzTWFwLmgiCisKKyNpZiBF
TkFCTEUoRU5DUllQVEVEX01FRElBKQorCisjaW5jbHVkZSAiQnVmZmVyU291cmNlLmgiCisjaW5j
bHVkZSAiTm90SW1wbGVtZW50ZWQuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitNZWRpYUtl
eVN0YXR1c01hcDo6TWVkaWFLZXlTdGF0dXNNYXAoKSA9IGRlZmF1bHQ7CisKK01lZGlhS2V5U3Rh
dHVzTWFwOjp+TWVkaWFLZXlTdGF0dXNNYXAoKSA9IGRlZmF1bHQ7CisKK3Vuc2lnbmVkIGxvbmcg
TWVkaWFLZXlTdGF0dXNNYXA6OnNpemUoKQoreworICAgIG5vdEltcGxlbWVudGVkKCk7CisgICAg
cmV0dXJuIDA7Cit9CisKK2Jvb2wgTWVkaWFLZXlTdGF0dXNNYXA6Omhhcyhjb25zdCBCdWZmZXJT
b3VyY2UmKQoreworICAgIG5vdEltcGxlbWVudGVkKCk7CisgICAgcmV0dXJuIGZhbHNlOworfQor
CitKU0M6OkpTVmFsdWUgTWVkaWFLZXlTdGF0dXNNYXA6OmdldChjb25zdCBCdWZmZXJTb3VyY2Um
KQoreworICAgIG5vdEltcGxlbWVudGVkKCk7CisgICAgcmV0dXJuIEpTQzo6anNVbmRlZmluZWQo
KTsKK30KKworTWVkaWFLZXlTdGF0dXNNYXA6Okl0ZXJhdG9yOjpJdGVyYXRvcihNZWRpYUtleVN0
YXR1c01hcCYpCit7Cit9CisKK09wdGlvbmFsPFdURjo6S2V5VmFsdWVQYWlyPEJ1ZmZlclNvdXJj
ZSwgTWVkaWFLZXlTdGF0dXM+PiBNZWRpYUtleVN0YXR1c01hcDo6SXRlcmF0b3I6Om5leHQoKQor
eworICAgIHJldHVybiBOdWxsb3B0OworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNl
bmRpZiAvLyBFTkFCTEUoRU5DUllQVEVEX01FRElBKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVN0YXR1c01hcC5oIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVN0YXR1c01hcC5oCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmJlYzA3MjIzODUzNDJkZmRiOTZmNzcxYjU1MzY5Y2MwZDc5ZDRlOWEKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U3Rh
dHVzTWFwLmgKQEAgLTAsMCArMSw3MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNiBNZXRy
b2xvZ2ljYWwgR3JvdXAgQi5WLgorICogQ29weXJpZ2h0IChDKSAyMDE2LCBJZ2FsaWEgUy5MLgor
ICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICoKKyAqIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiAgICBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZworICogICAgZGlzY2xhaW1lciBpbiB0aGUg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkCisgKiAgICB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBU
SEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJ
TUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIEhPTERFUiBPUiBDT05UUklCVVRPUlMgQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QK
KyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBFTkFC
TEUoRU5DUllQVEVEX01FRElBKQorCisjaW5jbHVkZSAiTWVkaWFLZXlTdGF0dXMuaCIKKyNpbmNs
dWRlIDxydW50aW1lL0pTQ0pTVmFsdWVJbmxpbmVzLmg+CisjaW5jbHVkZSA8d3RmL0hhc2hUcmFp
dHMuaD4KKyNpbmNsdWRlIDx3dGYvT3B0aW9uYWwuaD4KKyNpbmNsdWRlIDx3dGYvUmVmLmg+Cisj
aW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFz
cyBCdWZmZXJTb3VyY2U7CisKK2NsYXNzIE1lZGlhS2V5U3RhdHVzTWFwIDogcHVibGljIFJlZkNv
dW50ZWQ8TWVkaWFLZXlTdGF0dXNNYXA+IHsKK3B1YmxpYzoKKyAgICB1c2luZyBTdGF0dXMgPSBN
ZWRpYUtleVN0YXR1czsKKworICAgIHN0YXRpYyBSZWY8TWVkaWFLZXlTdGF0dXNNYXA+IGNyZWF0
ZSgpCisgICAgeworICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBNZWRpYUtleVN0YXR1c01h
cCk7CisgICAgfQorCisgICAgdmlydHVhbCB+TWVkaWFLZXlTdGF0dXNNYXAoKTsKKworICAgIHVu
c2lnbmVkIGxvbmcgc2l6ZSgpOworICAgIGJvb2wgaGFzKGNvbnN0IEJ1ZmZlclNvdXJjZSYpOwor
ICAgIEpTQzo6SlNWYWx1ZSBnZXQoY29uc3QgQnVmZmVyU291cmNlJik7CisKKyAgICBjbGFzcyBJ
dGVyYXRvciB7CisgICAgcHVibGljOgorICAgICAgICBleHBsaWNpdCBJdGVyYXRvcihNZWRpYUtl
eVN0YXR1c01hcCYpOworICAgICAgICBPcHRpb25hbDxXVEY6OktleVZhbHVlUGFpcjxCdWZmZXJT
b3VyY2UsIE1lZGlhS2V5U3RhdHVzPj4gbmV4dCgpOworICAgIH07CisgICAgSXRlcmF0b3IgY3Jl
YXRlSXRlcmF0b3IoKSB7IHJldHVybiBJdGVyYXRvcigqdGhpcyk7IH0KKworcHJpdmF0ZToKKyAg
ICBNZWRpYUtleVN0YXR1c01hcCgpOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisj
ZW5kaWYgLy8gRU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlTdGF0dXNNYXAuaWRsIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVN0YXR1c01hcC5pZGwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjQ5NDhiZWQ4ODE5ZjIwYmJiOGM5NmU1NGYxM2JmZDUyMmQ2MzM3ZAotLS0gL2Rl
di9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFL
ZXlTdGF0dXNNYXAuaWRsCkBAIC0wLDAgKzEsNDYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTYgTWV0cm9sb2dpY2FsIEdyb3VwIEIuVi4KKyAqIENvcHlyaWdodCAoQykgMjAxNiwgSWdhbGlh
IFMuTC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisg
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogICAgY29weXJpZ2h0IG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcKKyAqICAgIGRpc2NsYWltZXIg
aW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZAorICog
ICAgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIg
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
CisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBIT0xERVIgT1IgQ09OVFJJQlVU
T1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBT
UEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAor
ICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK2VudW0gTWVkaWFLZXlTdGF0
dXMgeworICAgICJ1c2FibGUiLAorICAgICJleHBpcmVkIiwKKyAgICAicmVsZWFzZWQiLAorICAg
ICJvdXRwdXQtcmVzdHJpY3RlZCIsCisgICAgIm91dHB1dC1kb3duc2NhbGVkIiwKKyAgICAic3Rh
dHVzLXBlbmRpbmciLAorICAgICJpbnRlcm5hbC1lcnJvciIKK307CisKK1sKKyAgICBDb25kaXRp
b25hbD1FTkNSWVBURURfTUVESUEKK10gaW50ZXJmYWNlIE1lZGlhS2V5U3RhdHVzTWFwIHsKKyAg
ICBpdGVyYWJsZTxCdWZmZXJTb3VyY2UsIE1lZGlhS2V5U3RhdHVzPjsKKyAgICByZWFkb25seSBh
dHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBzaXplOworICAgIGJvb2xlYW4gaGFzKEJ1ZmZlclNvdXJj
ZSBrZXlJZCk7CisgICAgYW55IGdldChCdWZmZXJTb3VyY2Uga2V5SWQpOworfTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlTeXN0ZW1B
Y2Nlc3MuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtl
eVN5c3RlbUFjY2Vzcy5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMWJiOTAxOWFiYTM3NGYxMTJhMDIxMTY1MjYz
M2MxNzhiNmEwOTRlNgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
ZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlTeXN0ZW1BY2Nlc3MuY3BwCkBAIC0wLDAgKzEsNjIgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTYgTWV0cm9sb2dpY2FsIEdyb3VwIEIuVi4KKyAqIENv
cHlyaWdodCAoQykgMjAxNiwgSWdhbGlhIFMuTC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICog
ICAgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcKKyAqICAgIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZAorICogICAgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBD
T05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxB
UiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hU
CisgKiBIT0xERVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJNZWRpYUtleVN5c3RlbUFjY2Vz
cy5oIgorCisjaWYgRU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkKKworI2luY2x1ZGUgIk1lZGlhS2V5
U3lzdGVtQ29uZmlndXJhdGlvbi5oIgorI2luY2x1ZGUgIk5vdEltcGxlbWVudGVkLmgiCisKK25h
bWVzcGFjZSBXZWJDb3JlIHsKKworTWVkaWFLZXlTeXN0ZW1BY2Nlc3M6Ok1lZGlhS2V5U3lzdGVt
QWNjZXNzKCkgPSBkZWZhdWx0OworCitNZWRpYUtleVN5c3RlbUFjY2Vzczo6fk1lZGlhS2V5U3lz
dGVtQWNjZXNzKCkgPSBkZWZhdWx0OworCitjb25zdCBTdHJpbmcmIE1lZGlhS2V5U3lzdGVtQWNj
ZXNzOjprZXlTeXN0ZW0oKSBjb25zdAoreworICAgIG5vdEltcGxlbWVudGVkKCk7CisgICAgcmV0
dXJuIG1fa2V5U3lzdGVtOworfQorCitjb25zdCBNZWRpYUtleVN5c3RlbUNvbmZpZ3VyYXRpb24m
IE1lZGlhS2V5U3lzdGVtQWNjZXNzOjpnZXRDb25maWd1cmF0aW9uKCkgY29uc3QKK3sKKyAgICBu
b3RJbXBsZW1lbnRlZCgpOworICAgIHJldHVybiBtX2NvbmZpZ3VyYXRpb247Cit9CisKK3ZvaWQg
TWVkaWFLZXlTeXN0ZW1BY2Nlc3M6OmNyZWF0ZU1lZGlhS2V5cyhDcmVhdGVNZWRpYUtleXNQcm9t
aXNlJiYpCit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQorCisjZW5kaWYgLy8gRU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlTeXN0ZW1BY2Nlc3Mu
aCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlTeXN0ZW1B
Y2Nlc3MuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5iMTk2YzFkNDQ1YjFjOWM0ZmM0ZjZmNGZlNDRmNDUwZjkxMjUy
NGJhCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRt
ZWRpYS9NZWRpYUtleVN5c3RlbUFjY2Vzcy5oCkBAIC0wLDAgKzEsNjYgQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTYgTWV0cm9sb2dpY2FsIEdyb3VwIEIuVi4KKyAqIENvcHlyaWdodCAoQykg
MjAxNiwgSWdhbGlhIFMuTC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqCisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogICAgY29weXJpZ2h0
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcKKyAqICAg
IGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZAorICogICAgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMK
KyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBIT0xERVIg
T1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICog
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFn
bWEgb25jZQorCisjaWYgRU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkKKworI2luY2x1ZGUgIkpTRE9N
UHJvbWlzZS5oIgorI2luY2x1ZGUgIk1lZGlhS2V5U3lzdGVtQ29uZmlndXJhdGlvbi5oIgorI2lu
Y2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+
CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgTWVkaWFLZXlzOworCitjbGFzcyBNZWRp
YUtleVN5c3RlbUFjY2VzcyA6IHB1YmxpYyBSZWZDb3VudGVkPE1lZGlhS2V5U3lzdGVtQWNjZXNz
PiB7CitwdWJsaWM6CisgICAgc3RhdGljIFJlZjxNZWRpYUtleVN5c3RlbUFjY2Vzcz4gY3JlYXRl
KCkKKyAgICB7CisgICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IE1lZGlhS2V5U3lzdGVtQWNj
ZXNzKTsKKyAgICB9CisKKyAgICB2aXJ0dWFsIH5NZWRpYUtleVN5c3RlbUFjY2VzcygpOworCisg
ICAgY29uc3QgU3RyaW5nJiBrZXlTeXN0ZW0oKSBjb25zdDsKKyAgICBjb25zdCBNZWRpYUtleVN5
c3RlbUNvbmZpZ3VyYXRpb24mIGdldENvbmZpZ3VyYXRpb24oKSBjb25zdDsKKworICAgIHR5cGVk
ZWYgRE9NUHJvbWlzZTxNZWRpYUtleXM+IENyZWF0ZU1lZGlhS2V5c1Byb21pc2U7CisgICAgdm9p
ZCBjcmVhdGVNZWRpYUtleXMoQ3JlYXRlTWVkaWFLZXlzUHJvbWlzZSYmKTsKKworcHJpdmF0ZToK
KyAgICBNZWRpYUtleVN5c3RlbUFjY2VzcygpOworCisgICAgU3RyaW5nIG1fa2V5U3lzdGVtOwor
ICAgIE1lZGlhS2V5U3lzdGVtQ29uZmlndXJhdGlvbiBtX2NvbmZpZ3VyYXRpb247Cit9OworCit9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoRU5DUllQVEVEX01FRElB
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRp
YUtleVN5c3RlbUFjY2Vzcy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1l
ZGlhL01lZGlhS2V5U3lzdGVtQWNjZXNzLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41OGFiZDVlYzlhODA3MGJl
YWE4ZjA0YmE5MDU2ODA4NzRmZjdmMTc0Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVN5c3RlbUFjY2Vzcy5pZGwKQEAgLTAs
MCArMSwzNSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNiBNZXRyb2xvZ2ljYWwgR3JvdXAg
Qi5WLgorICogQ29weXJpZ2h0IChDKSAyMDE2LCBJZ2FsaWEgUy5MLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlCisgKiAgICBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZworICogICAgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkCisgKiAgICB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhP
TERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICog
QSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRI
RSBDT1BZUklHSFQKKyAqIEhPTERFUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisgKi8KKworWworICAgIENvbmRpdGlvbmFsPUVOQ1JZUFRFRF9NRURJQQorXSBp
bnRlcmZhY2UgTWVkaWFLZXlTeXN0ZW1BY2Nlc3MgeworICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBE
T01TdHJpbmcga2V5U3lzdGVtOworICAgIFtDdXN0b21dIE1lZGlhS2V5U3lzdGVtQ29uZmlndXJh
dGlvbiBnZXRDb25maWd1cmF0aW9uKCk7CisgICAgUHJvbWlzZSBjcmVhdGVNZWRpYUtleXMoKTsK
K307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01l
ZGlhS2V5U3lzdGVtQ29uZmlndXJhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNy
eXB0ZWRtZWRpYS9NZWRpYUtleVN5c3RlbUNvbmZpZ3VyYXRpb24uaApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lYWJl
NTkwMTkzMjU4NmQzMzE4OGVmZDY4YjY2NGQxZThiNTBmNTlkCi0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVN5c3RlbUNvbmZp
Z3VyYXRpb24uaApAQCAtMCwwICsxLDU0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE2IE1l
dHJvbG9naWNhbCBHcm91cCBCLlYuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTYsIElnYWxpYSBTLkwu
CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgorICogMS4g
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqICAgIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nCisgKiAgICBkaXNjbGFpbWVyIGluIHRo
ZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQKKyAqICAgIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBB
TlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICog
TElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogSE9MREVSIE9SIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lmIEVO
QUJMRShFTkNSWVBURURfTUVESUEpCisKKyNpbmNsdWRlICJNZWRpYUtleVN5c3RlbU1lZGlhQ2Fw
YWJpbGl0eS5oIgorI2luY2x1ZGUgIk1lZGlhS2V5c1JlcXVpcmVtZW50LmgiCisjaW5jbHVkZSA8
d3RmL1ZlY3Rvci5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgorCituYW1lc3Bh
Y2UgV2ViQ29yZSB7CisKK3N0cnVjdCBNZWRpYUtleVN5c3RlbUNvbmZpZ3VyYXRpb24geworICAg
IHVzaW5nIEtleXNSZXF1aXJlbWVudCA9IE1lZGlhS2V5c1JlcXVpcmVtZW50OworCisgICAgU3Ry
aW5nIGxhYmVsOworICAgIFZlY3RvcjxTdHJpbmc+IGluaXREYXRhVHlwZXM7CisgICAgVmVjdG9y
PE1lZGlhS2V5U3lzdGVtTWVkaWFDYXBhYmlsaXR5PiBhdWRpb0NhcGFiaWxpdGllczsKKyAgICBW
ZWN0b3I8TWVkaWFLZXlTeXN0ZW1NZWRpYUNhcGFiaWxpdHk+IHZpZGVvQ2FwYWJpbGl0aWVzOwor
ICAgIE1lZGlhS2V5c1JlcXVpcmVtZW50IGRpc3RpbmN0aXZlSWRlbnRpZmllcjsKKyAgICBNZWRp
YUtleXNSZXF1aXJlbWVudCBwZXJzaXN0ZW50U3RhdGU7CisgICAgVmVjdG9yPFN0cmluZz4gc2Vz
c2lvblR5cGVzOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5B
QkxFKEVOQ1JZUFRFRF9NRURJQSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
ZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlTeXN0ZW1Db25maWd1cmF0aW9uLmlkbCBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlTeXN0ZW1Db25maWd1cmF0aW9u
LmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43MzgxYmI3NmVkNDAxYWYyNWYzNTcyMzBkYTkxNDIyZjkxM2M1MjU5
Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRp
YS9NZWRpYUtleVN5c3RlbUNvbmZpZ3VyYXRpb24uaWRsCkBAIC0wLDAgKzEsNDUgQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTYgTWV0cm9sb2dpY2FsIEdyb3VwIEIuVi4KKyAqIENvcHlyaWdo
dCAoQykgMjAxNiwgSWdhbGlhIFMuTC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwor
ICogYXJlIG1ldDoKKyAqCisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogICAgY29w
eXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcK
KyAqICAgIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZAorICogICAgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklC
VVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBI
T0xERVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
K2VudW0gTWVkaWFLZXlzUmVxdWlyZW1lbnQgeworICAgICJyZXF1aXJlZCIsCisgICAgIm9wdGlv
bmFsIiwKKyAgICAibm90LWFsbG93ZWQiCit9OworCitbCisgICAgQ29uZGl0aW9uYWw9RU5DUllQ
VEVEX01FRElBCitdIGRpY3Rpb25hcnkgTWVkaWFLZXlTeXN0ZW1Db25maWd1cmF0aW9uIHsKKyAg
ICBET01TdHJpbmcgbGFiZWwgPSAiIjsKKyAgICBzZXF1ZW5jZTxET01TdHJpbmc+IGluaXREYXRh
VHlwZXMgPSBbXTsKKyAgICBzZXF1ZW5jZTxNZWRpYUtleVN5c3RlbU1lZGlhQ2FwYWJpbGl0eT4g
YXVkaW9DYXBhYmlsaXRpZXMgPSBbXTsKKyAgICBzZXF1ZW5jZTxNZWRpYUtleVN5c3RlbU1lZGlh
Q2FwYWJpbGl0eT4gdmlkZW9DYXBhYmlsaXRpZXMgPSBbXTsKKyAgICBNZWRpYUtleXNSZXF1aXJl
bWVudCBkaXN0aW5jdGl2ZUlkZW50aWZpZXIgPSAib3B0aW9uYWwiOworICAgIE1lZGlhS2V5c1Jl
cXVpcmVtZW50IHBlcnNpc3RlbnRTdGF0ZSA9ICJvcHRpb25hbCI7CisgICAgc2VxdWVuY2U8RE9N
U3RyaW5nPiBzZXNzaW9uVHlwZXM7Cit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVN5c3RlbU1lZGlhQ2FwYWJpbGl0eS5oIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVN5c3RlbU1lZGlhQ2Fw
YWJpbGl0eS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjZlMzg2NTY2NWNlMzE3Njc5MmM4YzU5MDU4MTBmODQyZGQx
NDI1YzQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRl
ZG1lZGlhL01lZGlhS2V5U3lzdGVtTWVkaWFDYXBhYmlsaXR5LmgKQEAgLTAsMCArMSw0NCBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAxNiBNZXRyb2xvZ2ljYWwgR3JvdXAgQi5WLgorICogQ29w
eXJpZ2h0IChDKSAyMDE2LCBJZ2FsaWEgUy5MLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCisgKiBhcmUgbWV0OgorICoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiAg
ICBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZworICogICAgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkCisgKiAgICB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENP
TlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFS
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQK
KyAqIEhPTERFUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisg
Ki8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoRU5DUllQVEVEX01FRElBKQorCisjaW5j
bHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworc3Ry
dWN0IE1lZGlhS2V5U3lzdGVtTWVkaWFDYXBhYmlsaXR5IHsKKyAgICBTdHJpbmcgY29udGVudFR5
cGU7CisgICAgU3RyaW5nIHJvYnVzdG5lc3M7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CisKKyNlbmRpZiAvLyBFTkFCTEUoRU5DUllQVEVEX01FRElBKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVN5c3RlbU1lZGlhQ2FwYWJp
bGl0eS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5
U3lzdGVtTWVkaWFDYXBhYmlsaXR5LmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OGQ4MTY3M2M1MDk0MzY1ZmMw
YWY5YmJiNTU0YzI0MjIzNjIzZjA1Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVN5c3RlbU1lZGlhQ2FwYWJpbGl0eS5pZGwK
QEAgLTAsMCArMSwzNCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNiBNZXRyb2xvZ2ljYWwg
R3JvdXAgQi5WLgorICogQ29weXJpZ2h0IChDKSAyMDE2LCBJZ2FsaWEgUy5MLgorICoKKyAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICoKKyAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlCisgKiAgICBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZworICogICAgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkCisgKiAgICB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJ
R0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8s
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIFRIRSBDT1BZUklHSFQKKyAqIEhPTERFUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UK
KyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworWworICAgIENvbmRpdGlvbmFsPUVOQ1JZUFRFRF9NRURJ
QQorXSBkaWN0aW9uYXJ5IE1lZGlhS2V5U3lzdGVtTWVkaWFDYXBhYmlsaXR5IHsKKyAgICBET01T
dHJpbmcgY29udGVudFR5cGUgPSAiIjsKKyAgICBET01TdHJpbmcgcm9idXN0bmVzcyA9ICIiOwor
fTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVk
aWFLZXlzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFL
ZXlzLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4zMWYyMTI3YzkyOWE1ZmJiNWYyZDQxZmFkNjE3NzMyZTYzM2Qz
ZjQ2Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRt
ZWRpYS9NZWRpYUtleXMuY3BwCkBAIC0wLDAgKzEsNTYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTYgTWV0cm9sb2dpY2FsIEdyb3VwIEIuVi4KKyAqIENvcHlyaWdodCAoQykgMjAxNiwgSWdh
bGlhIFMuTC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAq
CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogICAgY29weXJpZ2h0IG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcKKyAqICAgIGRpc2NsYWlt
ZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZAor
ICogICAgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJ
UyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBIT0xERVIgT1IgQ09OVFJJ
QlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisg
KiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25m
aWcuaCIKKyNpbmNsdWRlICJNZWRpYUtleXMuaCIKKworI2lmIEVOQUJMRShFTkNSWVBURURfTUVE
SUEpCisKKyNpbmNsdWRlICJNZWRpYUtleVNlc3Npb24uaCIKKyNpbmNsdWRlICJOb3RJbXBsZW1l
bnRlZC5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK01lZGlhS2V5czo6TWVkaWFLZXlzKCkg
PSBkZWZhdWx0OworCitNZWRpYUtleXM6On5NZWRpYUtleXMoKSA9IGRlZmF1bHQ7CisKK0V4Y2Vw
dGlvbk9yPFJlZjxNZWRpYUtleVNlc3Npb24+PiBNZWRpYUtleXM6OmNyZWF0ZVNlc3Npb24oTWVk
aWFLZXlTZXNzaW9uVHlwZSkKK3sKKyAgICBub3RJbXBsZW1lbnRlZCgpOworICAgIHJldHVybiBF
eGNlcHRpb24geyBOT1RfU1VQUE9SVEVEX0VSUiB9OworfQorCit2b2lkIE1lZGlhS2V5czo6c2V0
U2VydmVyQ2VydGlmaWNhdGUoY29uc3QgQnVmZmVyU291cmNlJiwgU2V0U2VydmVyQ2VydGlmaWNh
dGVQcm9taXNlJiYpCit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKK30KKworfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlzLmggYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5cy5oCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjY3MmFjMjQ5N2Y4NDQxMjJiMDVlYjEwNmE3Yjk2ZDA5ZWI2NmQxMjQKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5cy5o
CkBAIC0wLDAgKzEsNjYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTYgTWV0cm9sb2dpY2Fs
IEdyb3VwIEIuVi4KKyAqIENvcHlyaWdodCAoQykgMjAxNiwgSWdhbGlhIFMuTC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZQorICogICAgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcKKyAqICAgIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZAorICogICAgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlS
SUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRP
LCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBUSEUgQ09QWVJJR0hUCisgKiBIT0xERVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
CisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaWYgRU5BQkxFKEVOQ1JZ
UFRFRF9NRURJQSkKKworI2luY2x1ZGUgIkV4Y2VwdGlvbk9yLmgiCisjaW5jbHVkZSAiSlNET01Q
cm9taXNlLmgiCisjaW5jbHVkZSAiTWVkaWFLZXlTZXNzaW9uVHlwZS5oIgorI2luY2x1ZGUgPHd0
Zi9SZWYuaD4KKyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgorCituYW1lc3BhY2UgV2ViQ29y
ZSB7CisKK2NsYXNzIEJ1ZmZlclNvdXJjZTsKK2NsYXNzIE1lZGlhS2V5U2Vzc2lvbjsKKworY2xh
c3MgTWVkaWFLZXlzIDogcHVibGljIFJlZkNvdW50ZWQ8TWVkaWFLZXlzPiB7CitwdWJsaWM6Cisg
ICAgdXNpbmcgS2V5U2Vzc2lvblR5cGUgPSBNZWRpYUtleVNlc3Npb25UeXBlOworCisgICAgc3Rh
dGljIFJlZjxNZWRpYUtleXM+IGNyZWF0ZSgpCisgICAgeworICAgICAgICByZXR1cm4gYWRvcHRS
ZWYoKm5ldyBNZWRpYUtleXMpOworICAgIH0KKworICAgIHZpcnR1YWwgfk1lZGlhS2V5cygpOwor
CisgICAgRXhjZXB0aW9uT3I8UmVmPE1lZGlhS2V5U2Vzc2lvbj4+IGNyZWF0ZVNlc3Npb24oTWVk
aWFLZXlTZXNzaW9uVHlwZSk7CisKKyAgICB1c2luZyBTZXRTZXJ2ZXJDZXJ0aWZpY2F0ZVByb21p
c2UgPSBET01Qcm9taXNlPGJvb2w+OworICAgIHZvaWQgc2V0U2VydmVyQ2VydGlmaWNhdGUoY29u
c3QgQnVmZmVyU291cmNlJiwgU2V0U2VydmVyQ2VydGlmaWNhdGVQcm9taXNlJiYpOworCitwcm90
ZWN0ZWQ6CisgICAgTWVkaWFLZXlzKCk7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisK
KyNlbmRpZiAvLyBFTkFCTEUoRU5DUllQVEVEX01FRElBKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleXMuaWRsIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleXMuaWRsCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIxMGUy
ZDRkM2M5ZGFlMDJkZDI2MmVlNDg5ZjMwNjY4OGQyZDc0MTgKLS0tIC9kZXYvbnVsbAorKysgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5cy5pZGwKQEAgLTAs
MCArMSw0MCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNiBNZXRyb2xvZ2ljYWwgR3JvdXAg
Qi5WLgorICogQ29weXJpZ2h0IChDKSAyMDE2LCBJZ2FsaWEgUy5MLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlCisgKiAgICBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZworICogICAgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkCisgKiAgICB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhP
TERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICog
QSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRI
RSBDT1BZUklHSFQKKyAqIEhPTERFUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisgKi8KKworZW51bSBNZWRpYUtleVNlc3Npb25UeXBlIHsKKyAgICAidGVtcG9y
YXJ5IiwKKyAgICAicGVyc2lzdGVudC11c2FnZS1yZWNvcmQiLAorICAgICJwZXJzaXN0ZW50LWxp
Y2Vuc2UiCit9OworIAorWworICAgIENvbmRpdGlvbmFsPUVOQ1JZUFRFRF9NRURJQSwKK10gaW50
ZXJmYWNlIE1lZGlhS2V5cyB7CisgICAgW01heVRocm93RXhjZXB0aW9uXSBNZWRpYUtleVNlc3Np
b24gY3JlYXRlU2Vzc2lvbihvcHRpb25hbCBNZWRpYUtleVNlc3Npb25UeXBlIHNlc3Npb25UeXBl
ID0gInRlbXBvcmFyeSIpOworICAgIFByb21pc2Ugc2V0U2VydmVyQ2VydGlmaWNhdGUoQnVmZmVy
U291cmNlIHNlcnZlckNlcnRpZmljYXRlKTsKK307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5c1JlcXVpcmVtZW50LmggYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5c1JlcXVpcmVtZW50LmgKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uOWJiMzY3NjYxMDBhMDE4MWVkODA4MTI1MzIzM2E4MTQ3Y2JhYzU4YgotLS0gL2Rl
di9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFL
ZXlzUmVxdWlyZW1lbnQuaApAQCAtMCwwICsxLDQzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDE2IE1ldHJvbG9naWNhbCBHcm91cCBCLlYuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTYsIElnYWxp
YSBTLkwuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgor
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqICAgIGNvcHlyaWdodCBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nCisgKiAgICBkaXNjbGFpbWVy
IGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQKKyAq
ICAgIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMi
IEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogSE9MREVSIE9SIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICog
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQK
KyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKwor
I2lmIEVOQUJMRShFTkNSWVBURURfTUVESUEpCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworZW51
bSBjbGFzcyBNZWRpYUtleXNSZXF1aXJlbWVudCB7CisgICAgUmVxdWlyZWQsCisgICAgT3B0aW9u
YWwsCisgICAgTm90QWxsb3dlZAorfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5k
aWYgLy8gRU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTmF2aWdhdG9yRU1FLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTmF2aWdhdG9yRU1FLmNwcApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hZThh
YjY5MTlmZjc1ODRiYTNhNjY4MzNmNGExNzRlYmE2ZTc5YTJiCi0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9OYXZpZ2F0b3JFTUUuY3BwCkBA
IC0wLDAgKzEsNDUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTYgTWV0cm9sb2dpY2FsIEdy
b3VwIEIuVi4KKyAqIENvcHlyaWdodCAoQykgMjAxNiwgSWdhbGlhIFMuTC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZQorICogICAgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcKKyAqICAgIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZAorICogICAgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdI
VCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IK
KyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBUSEUgQ09QWVJJR0hUCisgKiBIT0xERVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisg
KiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJOYXZp
Z2F0b3JFTUUuaCIKKworI2lmIEVOQUJMRShFTkNSWVBURURfTUVESUEpCisKKyNpbmNsdWRlICJO
b3RJbXBsZW1lbnRlZC5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3ZvaWQgTmF2aWdhdG9y
RU1FOjpyZXF1ZXN0TWVkaWFLZXlTeXN0ZW1BY2Nlc3MoTmF2aWdhdG9yJiwgY29uc3QgU3RyaW5n
JiwgVmVjdG9yPE1lZGlhS2V5U3lzdGVtQ29uZmlndXJhdGlvbj4mJiwgUmVxdWVzdE1lZGlhS2V5
U3lzdGVtQWNjZXNzUHJvbWlzZSYmKQoreworICAgIG5vdEltcGxlbWVudGVkKCk7Cit9CisKK30g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShFTkNSWVBURURfTUVESUEp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL05hdmln
YXRvckVNRS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9OYXZpZ2F0
b3JFTUUuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi45M2UwZGY4NWRhNjM4NGY3ZGMzMWI2NjdjNTFiNGM2ZDM5NzA3
MDYwCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRt
ZWRpYS9OYXZpZ2F0b3JFTUUuaApAQCAtMCwwICsxLDUxIEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDE2IE1ldHJvbG9naWNhbCBHcm91cCBCLlYuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTYsIEln
YWxpYSBTLkwuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6Cisg
KgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqICAgIGNvcHlyaWdodCBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nCisgKiAgICBkaXNjbGFp
bWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQK
KyAqICAgIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMg
SVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogSE9MREVSIE9SIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAor
ICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UK
KworI2lmIEVOQUJMRShFTkNSWVBURURfTUVESUEpCisKKyNpbmNsdWRlICJKU0RPTVByb21pc2Uu
aCIKKyNpbmNsdWRlICJNZWRpYUtleVN5c3RlbUNvbmZpZ3VyYXRpb24uaCIKKyNpbmNsdWRlICJT
dXBwbGVtZW50YWJsZS5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIE1lZGlhS2V5
U3lzdGVtQWNjZXNzOworY2xhc3MgTmF2aWdhdG9yOworY2xhc3MgUGFnZTsKKworY2xhc3MgTmF2
aWdhdG9yRU1FIGZpbmFsIDogcHVibGljIFN1cHBsZW1lbnQ8UGFnZT4geworcHVibGljOgorICAg
IHR5cGVkZWYgRE9NUHJvbWlzZTxNZWRpYUtleVN5c3RlbUFjY2Vzcz4gUmVxdWVzdE1lZGlhS2V5
U3lzdGVtQWNjZXNzUHJvbWlzZTsKKyAgICBzdGF0aWMgdm9pZCByZXF1ZXN0TWVkaWFLZXlTeXN0
ZW1BY2Nlc3MoTmF2aWdhdG9yJiwgY29uc3QgU3RyaW5nJiwgVmVjdG9yPE1lZGlhS2V5U3lzdGVt
Q29uZmlndXJhdGlvbj4mJiwgUmVxdWVzdE1lZGlhS2V5U3lzdGVtQWNjZXNzUHJvbWlzZSYmKTsK
K307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShFTkNSWVBU
RURfTUVESUEpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1l
ZGlhL05hdmlnYXRvckVNRS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1l
ZGlhL05hdmlnYXRvckVNRS5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMGQ3NGE3NDEwNDFmZWY3YzdjNjFhNTEy
YmQzN2YzMDNjOTEzYzQ5NAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvZW5jcnlwdGVkbWVkaWEvTmF2aWdhdG9yRU1FLmlkbApAQCAtMCwwICsxLDMzIEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDE2IE1ldHJvbG9naWNhbCBHcm91cCBCLlYuCisgKiBDb3B5cmln
aHQgKEMpIDIwMTYsIElnYWxpYSBTLkwuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
KyAqIGFyZSBtZXQ6CisgKgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqICAgIGNv
cHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
CisgKiAgICBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQKKyAqICAgIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJ
QlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICog
SE9MREVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLwor
CitbCisgICAgQ29uZGl0aW9uYWw9RU5DUllQVEVEX01FRElBCitdIHBhcnRpYWwgaW50ZXJmYWNl
IE5hdmlnYXRvciB7CisgICAgUHJvbWlzZSByZXF1ZXN0TWVkaWFLZXlTeXN0ZW1BY2Nlc3MoRE9N
U3RyaW5nIGtleVN5c3RlbSwgc2VxdWVuY2U8TWVkaWFLZXlTeXN0ZW1Db25maWd1cmF0aW9uPiBz
dXBwb3J0ZWRDb25maWd1cmF0aW9uKTsKK307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5jcHAKaW5kZXggMDE1N2QxZGFlNjY4Mjg2NjYx
MjRkMjIzOWJmODJmOGM2YmQwMzhhNS4uMjUzYTllYzk1ODdlMzMzNWE3MDJhZjVjM2U5ZDczYTJi
N2UzODJiZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXNvdXJjZS9T
b3VyY2VCdWZmZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzb3VyY2Uv
U291cmNlQnVmZmVyLmNwcApAQCAtMjM0LDcgKzIzNCw3IEBAIEV4Y2VwdGlvbk9yPHZvaWQ+IFNv
dXJjZUJ1ZmZlcjo6c2V0QXBwZW5kV2luZG93RW5kKGRvdWJsZSBuZXdWYWx1ZSkKIAogRXhjZXB0
aW9uT3I8dm9pZD4gU291cmNlQnVmZmVyOjphcHBlbmRCdWZmZXIoY29uc3QgQnVmZmVyU291cmNl
JiBkYXRhKQogewotICAgIHJldHVybiBhcHBlbmRCdWZmZXJJbnRlcm5hbChzdGF0aWNfY2FzdDxj
b25zdCB1bnNpZ25lZCBjaGFyKj4oZGF0YS5kYXRhKSwgZGF0YS5sZW5ndGgpOworICAgIHJldHVy
biBhcHBlbmRCdWZmZXJJbnRlcm5hbChzdGF0aWNfY2FzdDxjb25zdCB1bnNpZ25lZCBjaGFyKj4o
ZGF0YS5kYXRhKCkpLCBkYXRhLmxlbmd0aCgpKTsKIH0KIAogdm9pZCBTb3VyY2VCdWZmZXI6OnJl
c2V0UGFyc2VyU3RhdGUoKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCmluZGV4IDg5Y2IwYTJlNjNmMzEyZGU0MTc0Y2FiNzE4MGY4OGQwODU4
NTUyOGUuLmFmZTEyZmZiY2NkM2QxNTYzYTQzMmQ1YzJiNTE4MmEyZjc4MDdmYTYgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTEy
NDYsNiArMTI0NiwzMyBAQAogCQkyRDkzQUVFNDE5REY1NjQxMDAyQTg2QzMgLyogU2VydmljZXNP
dmVybGF5Q29udHJvbGxlci5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDJEOTNBRUUyMTlERjU2NDEwMDJBODZDMyAvKiBTZXJ2aWNlc092ZXJsYXlDb250
cm9sbGVyLm1tICovOyB9OwogCQkyRDk3RjA0NzE5REQ0MTNDMDAxRUU5QzMgLyogTW9ja1BhZ2VP
dmVybGF5Q2xpZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDJEQUFFMzJDMTlEQ0FGNjAwMEUwMDJEMiAvKiBNb2NrUGFnZU92ZXJsYXlDbGllbnQu
Y3BwICovOyB9OwogCQkyRDk3RjA0ODE5REQ0MTQwMDAxRUU5QzMgLyogTW9ja1BhZ2VPdmVybGF5
Q2xpZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAy
REFBRTMyRDE5RENBRjYwMDBFMDAyRDIgLyogTW9ja1BhZ2VPdmVybGF5Q2xpZW50LmggKi87IH07
CisJCTJEOUJGNzA1MURCRkJCMjQwMDdBN0Q5OSAvKiBNZWRpYUVuY3J5cHRlZEV2ZW50LmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJEOUJGNzAxMURC
RkJCMjQwMDdBN0Q5OSAvKiBNZWRpYUVuY3J5cHRlZEV2ZW50LmNwcCAqLzsgfTsKKwkJMkQ5QkY3
MDYxREJGQkIyNDAwN0E3RDk5IC8qIE1lZGlhRW5jcnlwdGVkRXZlbnQuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJEOUJGNzAyMURCRkJCMjQwMDdBN0Q5
OSAvKiBNZWRpYUVuY3J5cHRlZEV2ZW50LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKKwkJMkQ5QkY3MDgxREJGQkIyNDAwN0E3RDk5IC8qIE1lZGlhRW5j
cnlwdGVkRXZlbnRJbml0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAyRDlCRjcwNDFEQkZCQjI0MDA3QTdEOTkgLyogTWVkaWFFbmNyeXB0ZWRFdmVudElu
aXQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQky
RDlCRjcxMDFEQkZEOENFMDA3QTdEOTkgLyogSlNNZWRpYUVuY3J5cHRlZEV2ZW50LmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJEOUJGNzBGMURCRkQ4
Q0UwMDdBN0Q5OSAvKiBKU01lZGlhRW5jcnlwdGVkRXZlbnQuY3BwICovOyB9OworCQkyRDlCRjcx
MjFEQkZEOTE0MDA3QTdEOTkgLyogSlNNZWRpYUVuY3J5cHRlZEV2ZW50LmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRDlCRjcxMTFEQkZEOTE0MDA3QTdE
OTkgLyogSlNNZWRpYUVuY3J5cHRlZEV2ZW50LmggKi87IH07CisJCTJEOUJGNzIxMURCRkRBQkEw
MDdBN0Q5OSAvKiBKU01lZGlhS2V5TWVzc2FnZUV2ZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJEOUJGNzEzMURCRkRBQjEwMDdBN0Q5OSAvKiBK
U01lZGlhS2V5TWVzc2FnZUV2ZW50LmNwcCAqLzsgfTsKKwkJMkQ5QkY3MjIxREJGREFDQjAwN0E3
RDk5IC8qIEpTTWVkaWFLZXlzLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDJEOUJGNzE1MURCRkRBQjEwMDdBN0Q5OSAvKiBKU01lZGlhS2V5cy5jcHAg
Ki87IH07CisJCTJEOUJGNzIzMURCRkRBQ0QwMDdBN0Q5OSAvKiBKU01lZGlhS2V5U2Vzc2lvbi5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRDlCRjcx
NzFEQkZEQUIxMDA3QTdEOTkgLyogSlNNZWRpYUtleVNlc3Npb24uY3BwICovOyB9OworCQkyRDlC
RjcyNDFEQkZEQUQwMDA3QTdEOTkgLyogSlNNZWRpYUtleVN0YXR1c01hcC5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRDlCRjcxOTFEQkZEQUIxMDA3
QTdEOTkgLyogSlNNZWRpYUtleVN0YXR1c01hcC5jcHAgKi87IH07CisJCTJEOUJGNzI1MURCRkRB
RDMwMDdBN0Q5OSAvKiBKU01lZGlhS2V5U3lzdGVtQWNjZXNzLmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJEOUJGNzFCMURCRkRBQjEwMDdBN0Q5OSAv
KiBKU01lZGlhS2V5U3lzdGVtQWNjZXNzLmNwcCAqLzsgfTsKKwkJMkQ5QkY3MjYxREJGREFENTAw
N0E3RDk5IC8qIEpTTWVkaWFLZXlTeXN0ZW1Db25maWd1cmF0aW9uLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJEOUJGNzFEMURCRkRBQjEwMDdBN0Q5
OSAvKiBKU01lZGlhS2V5U3lzdGVtQ29uZmlndXJhdGlvbi5jcHAgKi87IH07CisJCTJEOUJGNzI3
MURCRkRBRDgwMDdBN0Q5OSAvKiBKU01lZGlhS2V5U3lzdGVtTWVkaWFDYXBhYmlsaXR5LmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJEOUJGNzFGMURC
RkRBQjEwMDdBN0Q5OSAvKiBKU01lZGlhS2V5U3lzdGVtTWVkaWFDYXBhYmlsaXR5LmNwcCAqLzsg
fTsKKwkJMkQ5QkY3MjgxREJGREIwRDAwN0E3RDk5IC8qIEpTTWVkaWFLZXlNZXNzYWdlRXZlbnQu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJEOUJGNzE0
MURCRkRBQjEwMDdBN0Q5OSAvKiBKU01lZGlhS2V5TWVzc2FnZUV2ZW50LmggKi87IH07CisJCTJE
OUJGNzI5MURCRkRCMTAwMDdBN0Q5OSAvKiBKU01lZGlhS2V5cy5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkQ5QkY3MTYxREJGREFCMTAwN0E3RDk5IC8q
IEpTTWVkaWFLZXlzLmggKi87IH07CisJCTJEOUJGNzJBMURCRkRCMTMwMDdBN0Q5OSAvKiBKU01l
ZGlhS2V5U2Vzc2lvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMkQ5QkY3MTgxREJGREFCMTAwN0E3RDk5IC8qIEpTTWVkaWFLZXlTZXNzaW9uLmggKi87
IH07CisJCTJEOUJGNzJCMURCRkRCMTUwMDdBN0Q5OSAvKiBKU01lZGlhS2V5U3RhdHVzTWFwLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRDlCRjcxQTFE
QkZEQUIxMDA3QTdEOTkgLyogSlNNZWRpYUtleVN0YXR1c01hcC5oICovOyB9OworCQkyRDlCRjcy
QzFEQkZEQjE3MDA3QTdEOTkgLyogSlNNZWRpYUtleVN5c3RlbUFjY2Vzcy5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkQ5QkY3MUMxREJGREFCMTAwN0E3
RDk5IC8qIEpTTWVkaWFLZXlTeXN0ZW1BY2Nlc3MuaCAqLzsgfTsKKwkJMkQ5QkY3MkQxREJGREIx
OTAwN0E3RDk5IC8qIEpTTWVkaWFLZXlTeXN0ZW1Db25maWd1cmF0aW9uLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRDlCRjcxRTFEQkZEQUIxMDA3QTdE
OTkgLyogSlNNZWRpYUtleVN5c3RlbUNvbmZpZ3VyYXRpb24uaCAqLzsgfTsKKwkJMkQ5QkY3MkUx
REJGREIxQzAwN0E3RDk5IC8qIEpTTWVkaWFLZXlTeXN0ZW1NZWRpYUNhcGFiaWxpdHkuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJEOUJGNzIwMURCRkRB
QjEwMDdBN0Q5OSAvKiBKU01lZGlhS2V5U3lzdGVtTWVkaWFDYXBhYmlsaXR5LmggKi87IH07CisJ
CTJEOUJGNzQyMURCRkRDMjcwMDdBN0Q5OSAvKiBOYXZpZ2F0b3JFTUUuY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkQ5QkY3NDAxREJGREMwRjAwN0E3
RDk5IC8qIE5hdmlnYXRvckVNRS5jcHAgKi87IH07CisJCTJEOUJGNzQzMURCRkRDM0UwMDdBN0Q5
OSAvKiBNZWRpYUtleVN5c3RlbUFjY2Vzcy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAyRDlCRjczQzFEQkZEQzBGMDA3QTdEOTkgLyogTWVkaWFLZXlT
eXN0ZW1BY2Nlc3MuY3BwICovOyB9OworCQkyRDlCRjc0NDFEQkZEQzQxMDA3QTdEOTkgLyogTWVk
aWFLZXlTdGF0dXNNYXAuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMkQ5QkY3M0ExREJGREMwRjAwN0E3RDk5IC8qIE1lZGlhS2V5U3RhdHVzTWFwLmNw
cCAqLzsgfTsKKwkJMkQ5QkY3NDUxREJGREM0NDAwN0E3RDk5IC8qIE1lZGlhS2V5U2Vzc2lvbi5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRDlCRjcz
NTFEQkZEQzBGMDA3QTdEOTkgLyogTWVkaWFLZXlTZXNzaW9uLmNwcCAqLzsgfTsKKwkJMkQ5QkY3
NDYxREJGREM0NzAwN0E3RDk5IC8qIE1lZGlhS2V5cy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRDlCRjczMzFEQkZEQzBGMDA3QTdEOTkgLyogTWVk
aWFLZXlzLmNwcCAqLzsgfTsKKwkJMkQ5QkY3NDcxREJGREM0OTAwN0E3RDk5IC8qIE1lZGlhS2V5
TWVzc2FnZUV2ZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDJEOUJGNzJGMURCRkRDMEYwMDdBN0Q5OSAvKiBNZWRpYUtleU1lc3NhZ2VFdmVudC5j
cHAgKi87IH07CisJCTJEOUJGNzRBMURCRkRERkYwMDdBN0Q5OSAvKiBKU01lZGlhS2V5U2Vzc2lv
bkN1c3RvbS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAyRDlCRjc0ODFEQkZEREY4MDA3QTdEOTkgLyogSlNNZWRpYUtleVNlc3Npb25DdXN0b20uY3Bw
ICovOyB9OworCQkyRDlCRjc0QjFEQkZERTAyMDA3QTdEOTkgLyogSlNNZWRpYUtleVN5c3RlbUFj
Y2Vzc0N1c3RvbS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAyRDlCRjc0OTFEQkZEREY4MDA3QTdEOTkgLyogSlNNZWRpYUtleVN5c3RlbUFjY2Vzc0N1
c3RvbS5jcHAgKi87IH07CiAJCTJEOUYwRTEzMTRGRjFDQkYwMEJBMEZGNyAvKiBsaW5lYXJTUkdC
LmljYyBpbiBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkQ5
RjBFMTIxNEZGMUNCRjAwQkEwRkY3IC8qIGxpbmVhclNSR0IuaWNjICovOyB9OwogCQkyREI5QzRB
QTFCMzIzMUY0MDA3MEYyN0YgLyogTlNFdmVudFNQSS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkRCOUM0QTkxQjMyMzFGNDAwNzBGMjdGIC8qIE5TRXZl
bnRTUEkuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owog
CQkyREM0Q0Y3OTFEMkREOTg5MDBFQ0NDOTQgLyogRGF0YURldGVjdG9yc1VJU1BJLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyREM0Q0Y3ODFEMkREOTg5
MDBFQ0NDOTQgLyogRGF0YURldGVjdG9yc1VJU1BJLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTgyNTIsNiArODI3OSw1NSBAQAogCQkyRDkwNjYw
QzA2NjVEOTM3MDA2QjZGMUEgLyogRGF0YVRyYW5zZmVyTWFjLm1tICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDMwOyBpbmRlbnRXaWR0aCA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gRGF0YVRyYW5zZmVyTWFj
Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB0YWJXaWR0aCA9IDg7IHVzZXNUYWJzID0gMDsg
fTsKIAkJMkQ5M0FFRTExOURGNTY0MTAwMkE4NkMzIC8qIFNlcnZpY2VzT3ZlcmxheUNvbnRyb2xs
ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU2VydmljZXNPdmVybGF5Q29u
dHJvbGxlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyRDkzQUVFMjE5REY1NjQx
MDAyQTg2QzMgLyogU2VydmljZXNPdmVybGF5Q29udHJvbGxlci5tbSAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFNlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXIubW07IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTJEOUJGNkY1MURCRkI3MUYwMDdBN0Q5OSAvKiBN
ZWRpYUtleU1lc3NhZ2VFdmVudC5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gTWVkaWFLZXlN
ZXNzYWdlRXZlbnQuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkyRDlCRjZGNjFE
QkZCNzFGMDA3QTdEOTkgLyogTWVkaWFLZXlzLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBN
ZWRpYUtleXMuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkyRDlCRjZGNzFEQkZC
NzFGMDA3QTdEOTkgLyogTWVkaWFLZXlTZXNzaW9uLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGgg
PSBNZWRpYUtleVNlc3Npb24uaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkyRDlC
RjZGODFEQkZCNzFGMDA3QTdEOTkgLyogTWVkaWFLZXlTdGF0dXNNYXAuaWRsICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
dGV4dDsgcGF0aCA9IE1lZGlhS2V5U3RhdHVzTWFwLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJMkQ5QkY2RjkxREJGQjcxRjAwN0E3RDk5IC8qIE1lZGlhS2V5U3lzdGVtQWNjZXNz
LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBNZWRpYUtleVN5c3RlbUFjY2Vzcy5pZGw7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTJEOUJGNkZBMURCRkI3MUYwMDdBN0Q5OSAvKiBN
ZWRpYUtleVN5c3RlbUNvbmZpZ3VyYXRpb24uaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IE1l
ZGlhS2V5U3lzdGVtQ29uZmlndXJhdGlvbi5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTJEOUJGNkZCMURCRkI3MUYwMDdBN0Q5OSAvKiBNZWRpYUtleVN5c3RlbU1lZGlhQ2FwYWJp
bGl0eS5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gTWVkaWFLZXlTeXN0ZW1NZWRpYUNhcGFi
aWxpdHkuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkyRDlCRjZGQzFEQkZCNzFG
MDA3QTdEOTkgLyogTmF2aWdhdG9yRU1FLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBOYXZp
Z2F0b3JFTUUuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkyRDlCRjcwMTFEQkZC
QjI0MDA3QTdEOTkgLyogTWVkaWFFbmNyeXB0ZWRFdmVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBNZWRpYUVuY3J5cHRlZEV2ZW50LmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJMkQ5QkY3MDIxREJGQkIyNDAwN0E3RDk5IC8qIE1lZGlhRW5jcnlw
dGVkRXZlbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTWVkaWFFbmNyeXB0
ZWRFdmVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkyRDlCRjcwMzFEQkZCQjI0
MDA3QTdEOTkgLyogTWVkaWFFbmNyeXB0ZWRFdmVudC5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRo
ID0gTWVkaWFFbmNyeXB0ZWRFdmVudC5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTJEOUJGNzA0MURCRkJCMjQwMDdBN0Q5OSAvKiBNZWRpYUVuY3J5cHRlZEV2ZW50SW5pdC5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNZWRpYUVuY3J5cHRlZEV2ZW50SW5pdC5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkyRDlCRjcwRjFEQkZEOENFMDA3QTdEOTkg
LyogSlNNZWRpYUVuY3J5cHRlZEV2ZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IEpTTWVkaWFFbmNyeXB0ZWRFdmVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTJEOUJGNzExMURCRkQ5MTQwMDdBN0Q5OSAvKiBKU01lZGlhRW5jcnlwdGVkRXZl
bnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNNZWRpYUVuY3J5cHRlZEV2
ZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTJEOUJGNzEzMURCRkRBQjEwMDdB
N0Q5OSAvKiBKU01lZGlhS2V5TWVzc2FnZUV2ZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IEpTTWVkaWFLZXlNZXNzYWdlRXZlbnQuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQkyRDlCRjcxNDFEQkZEQUIxMDA3QTdEOTkgLyogSlNNZWRpYUtleU1l
c3NhZ2VFdmVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU01lZGlhS2V5
TWVzc2FnZUV2ZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTJEOUJGNzE1MURC
RkRBQjEwMDdBN0Q5OSAvKiBKU01lZGlhS2V5cy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBKU01lZGlhS2V5cy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTJEOUJGNzE2MURCRkRBQjEwMDdBN0Q5OSAvKiBKU01lZGlhS2V5cy5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBKU01lZGlhS2V5cy5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQkyRDlCRjcxNzFEQkZEQUIxMDA3QTdEOTkgLyogSlNNZWRpYUtleVNlc3Npb24u
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNNZWRpYUtleVNlc3Np
b24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkyRDlCRjcxODFEQkZEQUIxMDA3
QTdEOTkgLyogSlNNZWRpYUtleVNlc3Npb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gSlNNZWRpYUtleVNlc3Npb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
MkQ5QkY3MTkxREJGREFCMTAwN0E3RDk5IC8qIEpTTWVkaWFLZXlTdGF0dXNNYXAuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNNZWRpYUtleVN0YXR1c01hcC5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTJEOUJGNzFBMURCRkRBQjEwMDdBN0Q5OSAv
KiBKU01lZGlhS2V5U3RhdHVzTWFwLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IEpTTWVkaWFLZXlTdGF0dXNNYXAuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMkQ5
QkY3MUIxREJGREFCMTAwN0E3RDk5IC8qIEpTTWVkaWFLZXlTeXN0ZW1BY2Nlc3MuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNNZWRpYUtleVN5c3RlbUFjY2Vzcy5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTJEOUJGNzFDMURCRkRBQjEwMDdBN0Q5
OSAvKiBKU01lZGlhS2V5U3lzdGVtQWNjZXNzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IEpTTWVkaWFLZXlTeXN0ZW1BY2Nlc3MuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJMkQ5QkY3MUQxREJGREFCMTAwN0E3RDk5IC8qIEpTTWVkaWFLZXlTeXN0ZW1Db25maWd1
cmF0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTTWVkaWFL
ZXlTeXN0ZW1Db25maWd1cmF0aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
MkQ5QkY3MUUxREJGREFCMTAwN0E3RDk5IC8qIEpTTWVkaWFLZXlTeXN0ZW1Db25maWd1cmF0aW9u
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTTWVkaWFLZXlTeXN0ZW1Db25m
aWd1cmF0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTJEOUJGNzFGMURCRkRB
QjEwMDdBN0Q5OSAvKiBKU01lZGlhS2V5U3lzdGVtTWVkaWFDYXBhYmlsaXR5LmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTTWVkaWFLZXlTeXN0ZW1NZWRpYUNhcGFi
aWxpdHkuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkyRDlCRjcyMDFEQkZEQUIx
MDA3QTdEOTkgLyogSlNNZWRpYUtleVN5c3RlbU1lZGlhQ2FwYWJpbGl0eS5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBKU01lZGlhS2V5U3lzdGVtTWVkaWFDYXBhYmlsaXR5Lmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTJEOUJGNzJGMURCRkRDMEYwMDdBN0Q5OSAv
KiBNZWRpYUtleU1lc3NhZ2VFdmVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBNZWRpYUtleU1lc3NhZ2VFdmVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCTJEOUJGNzMwMURCRkRDMEYwMDdBN0Q5OSAvKiBNZWRpYUtleU1lc3NhZ2VFdmVudC5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNZWRpYUtleU1lc3NhZ2VFdmVudC5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkyRDlCRjczMTFEQkZEQzBGMDA3QTdEOTkg
LyogTWVkaWFLZXlNZXNzYWdlRXZlbnRJbml0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IE1lZGlhS2V5TWVzc2FnZUV2ZW50SW5pdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQkyRDlCRjczMjFEQkZEQzBGMDA3QTdEOTkgLyogTWVkaWFLZXlNZXNzYWdlVHlwZS5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNZWRpYUtleU1lc3NhZ2VUeXBlLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTJEOUJGNzMzMURCRkRDMEYwMDdBN0Q5OSAv
KiBNZWRpYUtleXMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTWVk
aWFLZXlzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMkQ5QkY3MzQxREJGREMw
RjAwN0E3RDk5IC8qIE1lZGlhS2V5cy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBNZWRpYUtleXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMkQ5QkY3MzUxREJG
REMwRjAwN0E3RDk5IC8qIE1lZGlhS2V5U2Vzc2lvbi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBNZWRpYUtleVNlc3Npb24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQkyRDlCRjczNjFEQkZEQzBGMDA3QTdEOTkgLyogTWVkaWFLZXlTZXNzaW9uLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1lZGlhS2V5U2Vzc2lvbi5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQkyRDlCRjczNzFEQkZEQzBGMDA3QTdEOTkgLyogTWVk
aWFLZXlTZXNzaW9uVHlwZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNZWRp
YUtleVNlc3Npb25UeXBlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTJEOUJGNzM4
MURCRkRDMEYwMDdBN0Q5OSAvKiBNZWRpYUtleXNSZXF1aXJlbWVudC5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBNZWRpYUtleXNSZXF1aXJlbWVudC5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQkyRDlCRjczOTFEQkZEQzBGMDA3QTdEOTkgLyogTWVkaWFLZXlTdGF0
dXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTWVkaWFLZXlTdGF0dXMuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMkQ5QkY3M0ExREJGREMwRjAwN0E3RDk5IC8q
IE1lZGlhS2V5U3RhdHVzTWFwLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IE1lZGlhS2V5U3RhdHVzTWFwLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
MkQ5QkY3M0IxREJGREMwRjAwN0E3RDk5IC8qIE1lZGlhS2V5U3RhdHVzTWFwLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1lZGlhS2V5U3RhdHVzTWFwLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCTJEOUJGNzNDMURCRkRDMEYwMDdBN0Q5OSAvKiBNZWRpYUtleVN5
c3RlbUFjY2Vzcy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBNZWRp
YUtleVN5c3RlbUFjY2Vzcy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTJEOUJG
NzNEMURCRkRDMEYwMDdBN0Q5OSAvKiBNZWRpYUtleVN5c3RlbUFjY2Vzcy5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBNZWRpYUtleVN5c3RlbUFjY2Vzcy5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQkyRDlCRjczRTFEQkZEQzBGMDA3QTdEOTkgLyogTWVkaWFLZXlT
eXN0ZW1Db25maWd1cmF0aW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1l
ZGlhS2V5U3lzdGVtQ29uZmlndXJhdGlvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQkyRDlCRjczRjFEQkZEQzBGMDA3QTdEOTkgLyogTWVkaWFLZXlTeXN0ZW1NZWRpYUNhcGFiaWxp
dHkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTWVkaWFLZXlTeXN0ZW1NZWRp
YUNhcGFiaWxpdHkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMkQ5QkY3NDAxREJG
REMwRjAwN0E3RDk5IC8qIE5hdmlnYXRvckVNRS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBOYXZpZ2F0b3JFTUUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQkyRDlCRjc0MTFEQkZEQzBGMDA3QTdEOTkgLyogTmF2aWdhdG9yRU1FLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE5hdmlnYXRvckVNRS5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQkyRDlCRjc0ODFEQkZEREY4MDA3QTdEOTkgLyogSlNNZWRpYUtleVNlc3Np
b25DdXN0b20uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNNZWRp
YUtleVNlc3Npb25DdXN0b20uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkyRDlC
Rjc0OTFEQkZEREY4MDA3QTdEOTkgLyogSlNNZWRpYUtleVN5c3RlbUFjY2Vzc0N1c3RvbS5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU01lZGlhS2V5U3lzdGVtQWNj
ZXNzQ3VzdG9tLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMkQ5RjBFMTIxNEZG
MUNCRjAwQkEwRkY3IC8qIGxpbmVhclNSR0IuaWNjICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGxhc3RLbm93bkZpbGVUeXBlID0gZmlsZTsgcGF0aCA9IGxpbmVhclNSR0IuaWNjOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyREFBRTMyQzE5RENBRjYwMDBFMDAyRDIgLyogTW9j
a1BhZ2VPdmVybGF5Q2xpZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IE1vY2tQYWdlT3ZlcmxheUNsaWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTJEQUFFMzJEMTlEQ0FGNjAwMEUwMDJEMiAvKiBNb2NrUGFnZU92ZXJsYXlDbGllbnQuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTW9ja1BhZ2VPdmVybGF5Q2xpZW50Lmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xODU4Miw2ICsxODY1OCwxMCBAQAogCQkJ
CTk3MjA1QUI0MTIzOTI5MTAwMEIxNzM4MCAvKiBNZWRpYURvY3VtZW50LmggKi8sCiAJCQkJMDdG
RTk5REExODgwN0E3RDAwMjU2NjQ4IC8qIE1lZGlhRWxlbWVudFNlc3Npb24uY3BwICovLAogCQkJ
CTA3RkU5OURCMTg4MDdBN0QwMDI1NjY0OCAvKiBNZWRpYUVsZW1lbnRTZXNzaW9uLmggKi8sCisJ
CQkJMkQ5QkY3MDExREJGQkIyNDAwN0E3RDk5IC8qIE1lZGlhRW5jcnlwdGVkRXZlbnQuY3BwICov
LAorCQkJCTJEOUJGNzAyMURCRkJCMjQwMDdBN0Q5OSAvKiBNZWRpYUVuY3J5cHRlZEV2ZW50Lmgg
Ki8sCisJCQkJMkQ5QkY3MDMxREJGQkIyNDAwN0E3RDk5IC8qIE1lZGlhRW5jcnlwdGVkRXZlbnQu
aWRsICovLAorCQkJCTJEOUJGNzA0MURCRkJCMjQwMDdBN0Q5OSAvKiBNZWRpYUVuY3J5cHRlZEV2
ZW50SW5pdC5oICovLAogCQkJCUU0NDYxMzlCMENENjMzMTAwMEZBREE3NSAvKiBNZWRpYUVycm9y
LmggKi8sCiAJCQkJRTQ0NjEzOUMwQ0Q2MzMxMDAwRkFEQTc1IC8qIE1lZGlhRXJyb3IuaWRsICov
LAogCQkJCTA3QTZEMUU5MTQ5MTEzNzcwMDA1MUQwQyAvKiBNZWRpYUZyYWdtZW50VVJJUGFyc2Vy
LmNwcCAqLywKQEAgLTE5NTMyLDYgKzE5NjEyLDggQEAKIAkJCQlBNzc5NzkyNTBENkI5RTY0MDAz
ODUxQjkgLyogSlNJbWFnZURhdGEuaCAqLywKIAkJCQlDRDI3RjZFMjE0NTc2NzU4MDA3ODIwN0Qg
LyogSlNNZWRpYUNvbnRyb2xsZXIuY3BwICovLAogCQkJCUNEMjdGNkUzMTQ1NzY3NTgwMDc4MjA3
RCAvKiBKU01lZGlhQ29udHJvbGxlci5oICovLAorCQkJCTJEOUJGNzBGMURCRkQ4Q0UwMDdBN0Q5
OSAvKiBKU01lZGlhRW5jcnlwdGVkRXZlbnQuY3BwICovLAorCQkJCTJEOUJGNzExMURCRkQ5MTQw
MDdBN0Q5OSAvKiBKU01lZGlhRW5jcnlwdGVkRXZlbnQuaCAqLywKIAkJCQlFNDQ2MTQxMDBDRDY4
MjY5MDBGQURBNzUgLyogSlNNZWRpYUVycm9yLmNwcCAqLywKIAkJCQlFNDQ2MTQxMTBDRDY4MjY5
MDBGQURBNzUgLyogSlNNZWRpYUVycm9yLmggKi8sCiAJCQkJQzkwMjZCNjMxQjFDRjVBQjAwMUQ5
OUE3IC8qIEpTTWVkaWFSZW1vdGVDb250cm9scy5jcHAgKi8sCkBAIC0yMTU1OCw2ICsyMTY0MCw4
IEBACiAJCQkJOEY5MzREODQxMTg5RjFFRTAwNTA4RDVEIC8qIEpTTWFpblRocmVhZEV4ZWNTdGF0
ZS5jcHAgKi8sCiAJCQkJOEY5MzREODMxMTg5RjFFRTAwNTA4RDVEIC8qIEpTTWFpblRocmVhZEV4
ZWNTdGF0ZS5oICovLAogCQkJCUI1NjU3NkU0MTdEQTU5OUYwMEE1NkJEQyAvKiBKU01haW5UaHJl
YWRFeGVjU3RhdGVJbnN0cnVtZW50YXRpb24uaCAqLywKKwkJCQkyRDlCRjc0ODFEQkZEREY4MDA3
QTdEOTkgLyogSlNNZWRpYUtleVNlc3Npb25DdXN0b20uY3BwICovLAorCQkJCTJEOUJGNzQ5MURC
RkRERjgwMDdBN0Q5OSAvKiBKU01lZGlhS2V5U3lzdGVtQWNjZXNzQ3VzdG9tLmNwcCAqLywKIAkJ
CQlDNkY0MjBBMDE2QjcxNjRFMDA1MkE5RjIgLyogSlNNdXRhdGlvbkNhbGxiYWNrLmNwcCAqLywK
IAkJCQlDNkY0MjBBMTE2QjcxNjRFMDA1MkE5RjIgLyogSlNNdXRhdGlvbkNhbGxiYWNrLmggKi8s
CiAJCQkJQ0IzOEZENTUxQ0QyMUQ1QjAwNTkyQTNGIC8qIEpTUGVyZm9ybWFuY2VFbnRyeUN1c3Rv
bS5jcHAgKi8sCkBAIC0yMjMzNyw2ICsyMjQyMSwzMyBAQAogCQkJCUNEQ0E5OEU5MThCMkM4RDAw
MEMxMkZGOSAvKiBDRE1Qcml2YXRlTWVkaWFQbGF5ZXIuaCAqLywKIAkJCQlDREU4QjVFRTFBNjk3
NzhCMDBCNEI2NkEgLyogQ0RNU2Vzc2lvbkNsZWFyS2V5LmNwcCAqLywKIAkJCQlDREU4QjVFRjFB
Njk3NzhCMDBCNEI2NkEgLyogQ0RNU2Vzc2lvbkNsZWFyS2V5LmggKi8sCisJCQkJMkQ5QkY3MkYx
REJGREMwRjAwN0E3RDk5IC8qIE1lZGlhS2V5TWVzc2FnZUV2ZW50LmNwcCAqLywKKwkJCQkyRDlC
RjczMDFEQkZEQzBGMDA3QTdEOTkgLyogTWVkaWFLZXlNZXNzYWdlRXZlbnQuaCAqLywKKwkJCQky
RDlCRjZGNTFEQkZCNzFGMDA3QTdEOTkgLyogTWVkaWFLZXlNZXNzYWdlRXZlbnQuaWRsICovLAor
CQkJCTJEOUJGNzMxMURCRkRDMEYwMDdBN0Q5OSAvKiBNZWRpYUtleU1lc3NhZ2VFdmVudEluaXQu
aCAqLywKKwkJCQkyRDlCRjczMjFEQkZEQzBGMDA3QTdEOTkgLyogTWVkaWFLZXlNZXNzYWdlVHlw
ZS5oICovLAorCQkJCTJEOUJGNzMzMURCRkRDMEYwMDdBN0Q5OSAvKiBNZWRpYUtleXMuY3BwICov
LAorCQkJCTJEOUJGNzM0MURCRkRDMEYwMDdBN0Q5OSAvKiBNZWRpYUtleXMuaCAqLywKKwkJCQky
RDlCRjZGNjFEQkZCNzFGMDA3QTdEOTkgLyogTWVkaWFLZXlzLmlkbCAqLywKKwkJCQkyRDlCRjcz
NTFEQkZEQzBGMDA3QTdEOTkgLyogTWVkaWFLZXlTZXNzaW9uLmNwcCAqLywKKwkJCQkyRDlCRjcz
NjFEQkZEQzBGMDA3QTdEOTkgLyogTWVkaWFLZXlTZXNzaW9uLmggKi8sCisJCQkJMkQ5QkY2Rjcx
REJGQjcxRjAwN0E3RDk5IC8qIE1lZGlhS2V5U2Vzc2lvbi5pZGwgKi8sCisJCQkJMkQ5QkY3Mzcx
REJGREMwRjAwN0E3RDk5IC8qIE1lZGlhS2V5U2Vzc2lvblR5cGUuaCAqLywKKwkJCQkyRDlCRjcz
ODFEQkZEQzBGMDA3QTdEOTkgLyogTWVkaWFLZXlzUmVxdWlyZW1lbnQuaCAqLywKKwkJCQkyRDlC
RjczOTFEQkZEQzBGMDA3QTdEOTkgLyogTWVkaWFLZXlTdGF0dXMuaCAqLywKKwkJCQkyRDlCRjcz
QTFEQkZEQzBGMDA3QTdEOTkgLyogTWVkaWFLZXlTdGF0dXNNYXAuY3BwICovLAorCQkJCTJEOUJG
NzNCMURCRkRDMEYwMDdBN0Q5OSAvKiBNZWRpYUtleVN0YXR1c01hcC5oICovLAorCQkJCTJEOUJG
NkY4MURCRkI3MUYwMDdBN0Q5OSAvKiBNZWRpYUtleVN0YXR1c01hcC5pZGwgKi8sCisJCQkJMkQ5
QkY3M0MxREJGREMwRjAwN0E3RDk5IC8qIE1lZGlhS2V5U3lzdGVtQWNjZXNzLmNwcCAqLywKKwkJ
CQkyRDlCRjczRDFEQkZEQzBGMDA3QTdEOTkgLyogTWVkaWFLZXlTeXN0ZW1BY2Nlc3MuaCAqLywK
KwkJCQkyRDlCRjZGOTFEQkZCNzFGMDA3QTdEOTkgLyogTWVkaWFLZXlTeXN0ZW1BY2Nlc3MuaWRs
ICovLAorCQkJCTJEOUJGNzNFMURCRkRDMEYwMDdBN0Q5OSAvKiBNZWRpYUtleVN5c3RlbUNvbmZp
Z3VyYXRpb24uaCAqLywKKwkJCQkyRDlCRjZGQTFEQkZCNzFGMDA3QTdEOTkgLyogTWVkaWFLZXlT
eXN0ZW1Db25maWd1cmF0aW9uLmlkbCAqLywKKwkJCQkyRDlCRjczRjFEQkZEQzBGMDA3QTdEOTkg
LyogTWVkaWFLZXlTeXN0ZW1NZWRpYUNhcGFiaWxpdHkuaCAqLywKKwkJCQkyRDlCRjZGQjFEQkZC
NzFGMDA3QTdEOTkgLyogTWVkaWFLZXlTeXN0ZW1NZWRpYUNhcGFiaWxpdHkuaWRsICovLAorCQkJ
CTJEOUJGNzQwMURCRkRDMEYwMDdBN0Q5OSAvKiBOYXZpZ2F0b3JFTUUuY3BwICovLAorCQkJCTJE
OUJGNzQxMURCRkRDMEYwMDdBN0Q5OSAvKiBOYXZpZ2F0b3JFTUUuaCAqLywKKwkJCQkyRDlCRjZG
QzFEQkZCNzFGMDA3QTdEOTkgLyogTmF2aWdhdG9yRU1FLmlkbCAqLywKIAkJCSk7CiAJCQlwYXRo
ID0gZW5jcnlwdGVkbWVkaWE7CiAJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwpAQCAtMjIzNDQs
NiArMjI0NTUsMjAgQEAKIAkJQ0RBOThEQ0QxNjAxNTE1QzAwRkVBM0IxIC8qIEVuY3J5cHRlZE1l
ZGlhICovID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKKwkJCQkyRDlC
RjcxMzFEQkZEQUIxMDA3QTdEOTkgLyogSlNNZWRpYUtleU1lc3NhZ2VFdmVudC5jcHAgKi8sCisJ
CQkJMkQ5QkY3MTQxREJGREFCMTAwN0E3RDk5IC8qIEpTTWVkaWFLZXlNZXNzYWdlRXZlbnQuaCAq
LywKKwkJCQkyRDlCRjcxNTFEQkZEQUIxMDA3QTdEOTkgLyogSlNNZWRpYUtleXMuY3BwICovLAor
CQkJCTJEOUJGNzE2MURCRkRBQjEwMDdBN0Q5OSAvKiBKU01lZGlhS2V5cy5oICovLAorCQkJCTJE
OUJGNzE3MURCRkRBQjEwMDdBN0Q5OSAvKiBKU01lZGlhS2V5U2Vzc2lvbi5jcHAgKi8sCisJCQkJ
MkQ5QkY3MTgxREJGREFCMTAwN0E3RDk5IC8qIEpTTWVkaWFLZXlTZXNzaW9uLmggKi8sCisJCQkJ
MkQ5QkY3MTkxREJGREFCMTAwN0E3RDk5IC8qIEpTTWVkaWFLZXlTdGF0dXNNYXAuY3BwICovLAor
CQkJCTJEOUJGNzFBMURCRkRBQjEwMDdBN0Q5OSAvKiBKU01lZGlhS2V5U3RhdHVzTWFwLmggKi8s
CisJCQkJMkQ5QkY3MUIxREJGREFCMTAwN0E3RDk5IC8qIEpTTWVkaWFLZXlTeXN0ZW1BY2Nlc3Mu
Y3BwICovLAorCQkJCTJEOUJGNzFDMURCRkRBQjEwMDdBN0Q5OSAvKiBKU01lZGlhS2V5U3lzdGVt
QWNjZXNzLmggKi8sCisJCQkJMkQ5QkY3MUQxREJGREFCMTAwN0E3RDk5IC8qIEpTTWVkaWFLZXlT
eXN0ZW1Db25maWd1cmF0aW9uLmNwcCAqLywKKwkJCQkyRDlCRjcxRTFEQkZEQUIxMDA3QTdEOTkg
LyogSlNNZWRpYUtleVN5c3RlbUNvbmZpZ3VyYXRpb24uaCAqLywKKwkJCQkyRDlCRjcxRjFEQkZE
QUIxMDA3QTdEOTkgLyogSlNNZWRpYUtleVN5c3RlbU1lZGlhQ2FwYWJpbGl0eS5jcHAgKi8sCisJ
CQkJMkQ5QkY3MjAxREJGREFCMTAwN0E3RDk5IC8qIEpTTWVkaWFLZXlTeXN0ZW1NZWRpYUNhcGFi
aWxpdHkuaCAqLywKIAkJCQlDREE5OEQ5QjE2MDEyOEE1MDBGRUEzQjEgLyogSlNXZWJLaXRNZWRp
YUtleUVycm9yLmNwcCAqLywKIAkJCQlDREE5OEQ5QzE2MDEyOEE1MDBGRUEzQjEgLyogSlNXZWJL
aXRNZWRpYUtleUVycm9yLmggKi8sCiAJCQkJQ0RBOThEREIxNjAyNkExODAwRkVBM0IxIC8qIEpT
V2ViS2l0TWVkaWFLZXlNZXNzYWdlRXZlbnQuY3BwICovLApAQCAtMjU3NjMsNyArMjU4ODgsMTUg
QEAKIAkJCQkxNTczOUJCQjFCNDIwMTJEMDBEMjU4QzEgLyogSlNNZWRpYURldmljZXMuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTA3MkE3MDQzMUQ3Mzk2QjMwMERGMEFGQyAvKiBKU01lZGlhRGV2aWNl
c0N1c3RvbS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRkQyM0ExMjYxM0Y1RkE1OTAwRjY3MDAxIC8q
IEpTTWVkaWFFbGVtZW50QXVkaW9Tb3VyY2VOb2RlLmggaW4gSGVhZGVycyAqLywKKwkJCQkyRDlC
RjcxMjFEQkZEOTE0MDA3QTdEOTkgLyogSlNNZWRpYUVuY3J5cHRlZEV2ZW50LmggaW4gSGVhZGVy
cyAqLywKIAkJCQlFNDQ2MTQxOTBDRDY4MjY5MDBGQURBNzUgLyogSlNNZWRpYUVycm9yLmggaW4g
SGVhZGVycyAqLywKKwkJCQkyRDlCRjcyODFEQkZEQjBEMDA3QTdEOTkgLyogSlNNZWRpYUtleU1l
c3NhZ2VFdmVudC5oIGluIEhlYWRlcnMgKi8sCisJCQkJMkQ5QkY3MjkxREJGREIxMDAwN0E3RDk5
IC8qIEpTTWVkaWFLZXlzLmggaW4gSGVhZGVycyAqLywKKwkJCQkyRDlCRjcyQTFEQkZEQjEzMDA3
QTdEOTkgLyogSlNNZWRpYUtleVNlc3Npb24uaCBpbiBIZWFkZXJzICovLAorCQkJCTJEOUJGNzJC
MURCRkRCMTUwMDdBN0Q5OSAvKiBKU01lZGlhS2V5U3RhdHVzTWFwLmggaW4gSGVhZGVycyAqLywK
KwkJCQkyRDlCRjcyQzFEQkZEQjE3MDA3QTdEOTkgLyogSlNNZWRpYUtleVN5c3RlbUFjY2Vzcy5o
IGluIEhlYWRlcnMgKi8sCisJCQkJMkQ5QkY3MkQxREJGREIxOTAwN0E3RDk5IC8qIEpTTWVkaWFL
ZXlTeXN0ZW1Db25maWd1cmF0aW9uLmggaW4gSGVhZGVycyAqLywKKwkJCQkyRDlCRjcyRTFEQkZE
QjFDMDA3QTdEOTkgLyogSlNNZWRpYUtleVN5c3RlbU1lZGlhQ2FwYWJpbGl0eS5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJQkMzQzM5QjcwQzBEM0Q4RDAwNUY0RDdBIC8qIEpTTWVkaWFMaXN0LmggaW4g
SGVhZGVycyAqLywKIAkJCQk5M0Q0MzdBMzFENTdCN0UyMDBBQjg1RUEgLyogSlNNZWRpYUxpc3RD
dXN0b20uaCBpbiBIZWFkZXJzICovLAogCQkJCUQzQTk0QTQ3MTIyREM0MEYwMEEzN0JCQyAvKiBK
U01lZGlhUXVlcnlMaXN0LmggaW4gSGVhZGVycyAqLywKQEAgLTI2MjI5LDYgKzI2MzYyLDggQEAK
IAkJCQk5NzIwNUFCODEyMzkyOTEwMDBCMTczODAgLyogTWVkaWFEb2N1bWVudC5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJRkQ2RjI1MkQxM0Y1RUYwRTAwNjUxNjVGIC8qIE1lZGlhRWxlbWVudEF1ZGlv
U291cmNlTm9kZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMDdGRTk5REQxODgwN0E3RDAwMjU2NjQ4
IC8qIE1lZGlhRWxlbWVudFNlc3Npb24uaCBpbiBIZWFkZXJzICovLAorCQkJCTJEOUJGNzA2MURC
RkJCMjQwMDdBN0Q5OSAvKiBNZWRpYUVuY3J5cHRlZEV2ZW50LmggaW4gSGVhZGVycyAqLywKKwkJ
CQkyRDlCRjcwODFEQkZCQjI0MDA3QTdEOTkgLyogTWVkaWFFbmNyeXB0ZWRFdmVudEluaXQuaCBp
biBIZWFkZXJzICovLAogCQkJCTVFQkI4OTM1MUM3Nzc4MjkwMEM2NUQ0MSAvKiBNZWRpYUVuZHBv
aW50LmggaW4gSGVhZGVycyAqLywKIAkJCQk1RUJCODkzNzFDNzc3ODI5MDBDNjVENDEgLyogTWVk
aWFFbmRwb2ludENvbmZpZ3VyYXRpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCTVFMTZBMkU0MUJG
QTY1MEIwMDI5QTIxRSAvKiBNZWRpYUVuZHBvaW50UGVlckNvbm5lY3Rpb24uaCBpbiBIZWFkZXJz
ICovLApAQCAtMjk0OTksNyArMjk2MzQsMTcgQEAKIAkJCQkxNTczOUJCQTFCNDIwMTJBMDBEMjU4
QzEgLyogSlNNZWRpYURldmljZXMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMUI4OEREMTMxRDVC
OUU1MDAwRTNCN0E0IC8qIEpTTWVkaWFEZXZpY2VzQ3VzdG9tLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCUZEMjNBMTI1MTNGNUZBNTkwMEY2NzAwMSAvKiBKU01lZGlhRWxlbWVudEF1ZGlvU291cmNl
Tm9kZS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkyRDlCRjcxMDFEQkZEOENFMDA3QTdEOTkgLyog
SlNNZWRpYUVuY3J5cHRlZEV2ZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUU0NDYxNDE4MENE
NjgyNjkwMEZBREE3NSAvKiBKU01lZGlhRXJyb3IuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMkQ5
QkY3MjExREJGREFCQTAwN0E3RDk5IC8qIEpTTWVkaWFLZXlNZXNzYWdlRXZlbnQuY3BwIGluIFNv
dXJjZXMgKi8sCisJCQkJMkQ5QkY3MjIxREJGREFDQjAwN0E3RDk5IC8qIEpTTWVkaWFLZXlzLmNw
cCBpbiBTb3VyY2VzICovLAorCQkJCTJEOUJGNzIzMURCRkRBQ0QwMDdBN0Q5OSAvKiBKU01lZGlh
S2V5U2Vzc2lvbi5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkyRDlCRjc0QTFEQkZEREZGMDA3QTdE
OTkgLyogSlNNZWRpYUtleVNlc3Npb25DdXN0b20uY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMkQ5
QkY3MjQxREJGREFEMDAwN0E3RDk5IC8qIEpTTWVkaWFLZXlTdGF0dXNNYXAuY3BwIGluIFNvdXJj
ZXMgKi8sCisJCQkJMkQ5QkY3MjUxREJGREFEMzAwN0E3RDk5IC8qIEpTTWVkaWFLZXlTeXN0ZW1B
Y2Nlc3MuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMkQ5QkY3NEIxREJGREUwMjAwN0E3RDk5IC8q
IEpTTWVkaWFLZXlTeXN0ZW1BY2Nlc3NDdXN0b20uY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMkQ5
QkY3MjYxREJGREFENTAwN0E3RDk5IC8qIEpTTWVkaWFLZXlTeXN0ZW1Db25maWd1cmF0aW9uLmNw
cCBpbiBTb3VyY2VzICovLAorCQkJCTJEOUJGNzI3MURCRkRBRDgwMDdBN0Q5OSAvKiBKU01lZGlh
S2V5U3lzdGVtTWVkaWFDYXBhYmlsaXR5LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDM0MzOUI2
MEMwRDNEOEQwMDVGNEQ3QSAvKiBKU01lZGlhTGlzdC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlE
M0E5NEE0NjEyMkRDNDBGMDBBMzdCQkMgLyogSlNNZWRpYVF1ZXJ5TGlzdC5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQk3QzUzNDNGQzE3Qjc0QjYzMDA0MjMyRjAgLyogSlNNZWRpYVF1ZXJ5TGlzdExp
c3RlbmVyLmNwcCBpbiBTb3VyY2VzICovLApAQCAtMzAwMDMsMTIgKzMwMTQ4LDE4IEBACiAJCQkJ
OTcyMDVBQjcxMjM5MjkxMDAwQjE3MzgwIC8qIE1lZGlhRG9jdW1lbnQuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJRkQ2RjI1MkMxM0Y1RUYwRTAwNjUxNjVGIC8qIE1lZGlhRWxlbWVudEF1ZGlvU291
cmNlTm9kZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwN0ZFOTlEQzE4ODA3QTdEMDAyNTY2NDgg
LyogTWVkaWFFbGVtZW50U2Vzc2lvbi5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkyRDlCRjcwNTFE
QkZCQjI0MDA3QTdEOTkgLyogTWVkaWFFbmNyeXB0ZWRFdmVudC5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQk1RUJCODkzNDFDNzc3ODI5MDBDNjVENDEgLyogTWVkaWFFbmRwb2ludC5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQk1RUJCODkzNjFDNzc3ODI5MDBDNjVENDEgLyogTWVkaWFFbmRwb2ludENv
bmZpZ3VyYXRpb24uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNUUxNkEyRTUxQkZBNjUwRjAwMjlB
MjFFIC8qIE1lZGlhRW5kcG9pbnRQZWVyQ29ubmVjdGlvbi5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQk1RTRFQUIwNTFEMDcxNjZFMDAwNkExODQgLyogTWVkaWFFbmRwb2ludFNlc3Npb25EZXNjcmlw
dGlvbi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk0RTE5NTkyMTBBMzlEQUJBMDAyMjBGRTUgLyog
TWVkaWFGZWF0dXJlTmFtZXMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMDdBNkQxRUIxNDkxMTM3
NzAwMDUxRDBDIC8qIE1lZGlhRnJhZ21lbnRVUklQYXJzZXIuY3BwIGluIFNvdXJjZXMgKi8sCisJ
CQkJMkQ5QkY3NDcxREJGREM0OTAwN0E3RDk5IC8qIE1lZGlhS2V5TWVzc2FnZUV2ZW50LmNwcCBp
biBTb3VyY2VzICovLAorCQkJCTJEOUJGNzQ2MURCRkRDNDcwMDdBN0Q5OSAvKiBNZWRpYUtleXMu
Y3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMkQ5QkY3NDUxREJGREM0NDAwN0E3RDk5IC8qIE1lZGlh
S2V5U2Vzc2lvbi5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkyRDlCRjc0NDFEQkZEQzQxMDA3QTdE
OTkgLyogTWVkaWFLZXlTdGF0dXNNYXAuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMkQ5QkY3NDMx
REJGREMzRTAwN0E3RDk5IC8qIE1lZGlhS2V5U3lzdGVtQWNjZXNzLmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCUE4RUE4MDA5MEExOTUxNkUwMEE4RUY1RiAvKiBNZWRpYUxpc3QuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJMDcxRTQ5NkUxQUQ1QUEwRDAwOEE1MEI0IC8qIE1lZGlhUGxheWJhY2tUYXJn
ZXRNYWMubW0gaW4gU291cmNlcyAqLywKIAkJCQkwNzdCNjQxNjFCOTVGNzAzMDAzRTlBRDUgLyog
TWVkaWFQbGF5YmFja1RhcmdldE1vY2suY3BwIGluIFNvdXJjZXMgKi8sCkBAIC0zMDExNCw2ICsz
MDI2NSw3IEBACiAJCQkJOTc5RjQzRDMxMDc1RTQ0QTAwMDBGODNCIC8qIE5hdmlnYXRpb25TY2hl
ZHVsZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQTlDNkU1QTUwRDc0NjQ1ODAwNjQ0MkU5IC8q
IE5hdmlnYXRvci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlFMTI3MTlDQTBFRUVDMjEzMDBGNjEy
MTMgLyogTmF2aWdhdG9yQmFzZS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkyRDlCRjc0MjFEQkZE
QzI3MDA3QTdEOTkgLyogTmF2aWdhdG9yRU1FLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTUxQTRC
QjEwMTk1NEQ2MjcwMEZBNUMyRSAvKiBOYXZpZ2F0b3JHYW1lcGFkLmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCTk3MTE0NjAzMTRFRjAwOUEwMDY3NEZEOSAvKiBOYXZpZ2F0b3JHZW9sb2NhdGlvbi5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQk1RUE3MjVENTFBQ0FCRDU3MDBFQUQxN0IgLyogTmF2aWdh
dG9yTWVkaWFEZXZpY2VzLmNwcCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvanMvQnVmZmVyU291cmNlLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9CdWZmZXJTb3VyY2UuaAppbmRleCBmMTM1NWUzZmJlMjMyY2I0MjNlMWY2YWViMjc4NDU2
MTM1NTQ5MjQ3Li5hYWFjMzkzMDE5ODI0MmI1OTAzNTA1OTViNGI0MGQ3NGFlZDI4NGU0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9CdWZmZXJTb3VyY2UuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9CdWZmZXJTb3VyY2UuaApAQCAtMjUsMTIgKzI1LDQ5
IEBACiAKICNwcmFnbWEgb25jZQogCisjaW5jbHVkZSA8cnVudGltZS9BcnJheUJ1ZmZlci5oPgor
I2luY2x1ZGUgPHJ1bnRpbWUvQXJyYXlCdWZmZXJWaWV3Lmg+CisKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKIAogY2xhc3MgQnVmZmVyU291cmNlIHsKIHB1YmxpYzoKLSAgICBjb25zdCB1aW50OF90KiBk
YXRhOwotICAgIHNpemVfdCBsZW5ndGg7CisgICAgQnVmZmVyU291cmNlKCkgPSBkZWZhdWx0Owor
CisgICAgQnVmZmVyU291cmNlKFJlZlB0cjxKU0M6OkFycmF5QnVmZmVyPiYmIGJ1ZmZlcikKKyAg
ICAgICAgOiBtX2J1ZmZlcihXVEZNb3ZlKGJ1ZmZlcikpCisgICAgeworICAgIH0KKworICAgIEJ1
ZmZlclNvdXJjZShSZWZQdHI8SlNDOjpBcnJheUJ1ZmZlclZpZXc+JiYgYnVmZmVyVmlldykKKyAg
ICAgICAgOiBtX2J1ZmZlclZpZXcoV1RGTW92ZShidWZmZXJWaWV3KSkKKyAgICB7CisgICAgfQor
CisgICAgSlNDOjpBcnJheUJ1ZmZlciogYnVmZmVyKCkgY29uc3QgeyByZXR1cm4gbV9idWZmZXIu
Z2V0KCk7IH0KKyAgICBKU0M6OkFycmF5QnVmZmVyVmlldyogYnVmZmVyVmlldygpIGNvbnN0IHsg
cmV0dXJuIG1fYnVmZmVyVmlldy5nZXQoKTsgfQorCisgICAgY29uc3QgdWludDhfdCogZGF0YSgp
IGNvbnN0CisgICAgeworICAgICAgICBpZiAobV9idWZmZXIgJiYgIW1fYnVmZmVyLT5pc05ldXRl
cmVkKCkpCisgICAgICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8dWludDhfdCo+KG1fYnVmZmVy
LT5kYXRhKCkpOworICAgICAgICBpZiAobV9idWZmZXJWaWV3KQorICAgICAgICAgICAgcmV0dXJu
IHN0YXRpY19jYXN0PHVpbnQ4X3QqPihtX2J1ZmZlclZpZXctPmJhc2VBZGRyZXNzKCkpOworICAg
ICAgICByZXR1cm4gbnVsbHB0cjsKKyAgICB9CisKKyAgICBzaXplX3QgbGVuZ3RoKCkgY29uc3QK
KyAgICB7CisgICAgICAgIGlmIChtX2J1ZmZlciAmJiAhbV9idWZmZXItPmlzTmV1dGVyZWQoKSkK
KyAgICAgICAgICAgIHJldHVybiBtX2J1ZmZlci0+Ynl0ZUxlbmd0aCgpOworICAgICAgICBpZiAo
bV9idWZmZXJWaWV3KQorICAgICAgICAgICAgcmV0dXJuIG1fYnVmZmVyVmlldy0+Ynl0ZUxlbmd0
aCgpOworICAgICAgICByZXR1cm4gMDsKKyAgICB9CisKK3ByaXZhdGU6CisgICAgUmVmUHRyPEpT
Qzo6QXJyYXlCdWZmZXI+IG1fYnVmZmVyOworICAgIFJlZlB0cjxKU0M6OkFycmF5QnVmZmVyVmll
dz4gbV9idWZmZXJWaWV3OwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNET01Db252ZXJ0LmggYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9KU0RPTUNvbnZlcnQuaAppbmRleCBjNDgxODUyZjZkM2YwZWEwYWZj
ZGNjMmRjZmMxNTc1NTY1YjQ5YTllLi5lNTkwYjUwYWRmOTNkZjQwNGU1ZGM4NzBmM2I1M2YwM2Ux
YmVhYjEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUNvbnZl
cnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUNvbnZlcnQuaApAQCAt
MTA0MSwxMyArMTA0MSwyOCBAQCB0ZW1wbGF0ZTw+IHN0cnVjdCBDb252ZXJ0ZXI8SURMQnVmZmVy
U291cmNlPiA6IERlZmF1bHRDb252ZXJ0ZXI8SURMQnVmZmVyU291cmNlPgogICAgICAgICBKU0M6
OlZNJiB2bSA9IHN0YXRlLnZtKCk7CiAgICAgICAgIGF1dG8gc2NvcGUgPSBERUNMQVJFX1RIUk9X
X1NDT1BFKHZtKTsKIAotICAgICAgICBpZiAoSlNDOjpBcnJheUJ1ZmZlciogYnVmZmVyID0gSlND
Ojp0b0FycmF5QnVmZmVyKHZhbHVlKSkKLSAgICAgICAgICAgIHJldHVybiB7IHN0YXRpY19jYXN0
PHVpbnQ4X3QqPihidWZmZXItPmRhdGEoKSksIGJ1ZmZlci0+Ynl0ZUxlbmd0aCgpIH07CisgICAg
ICAgIGlmIChSZWZQdHI8SlNDOjpBcnJheUJ1ZmZlcj4gYnVmZmVyID0gSlNDOjp0b0FycmF5QnVm
ZmVyKHZhbHVlKSkKKyAgICAgICAgICAgIHJldHVybiB7IFdURk1vdmUoYnVmZmVyKSB9OwogICAg
ICAgICBpZiAoUmVmUHRyPEpTQzo6QXJyYXlCdWZmZXJWaWV3PiBidWZmZXJWaWV3ID0gdG9BcnJh
eUJ1ZmZlclZpZXcodmFsdWUpKQotICAgICAgICAgICAgcmV0dXJuIHsgc3RhdGljX2Nhc3Q8dWlu
dDhfdCo+KGJ1ZmZlclZpZXctPmJhc2VBZGRyZXNzKCkpLCBidWZmZXJWaWV3LT5ieXRlTGVuZ3Ro
KCkgfTsKKyAgICAgICAgICAgIHJldHVybiB7IFdURk1vdmUoYnVmZmVyVmlldykgfTsKIAogICAg
ICAgICB0aHJvd1R5cGVFcnJvcigmc3RhdGUsIHNjb3BlLCBBU0NJSUxpdGVyYWwoIk9ubHkgQXJy
YXlCdWZmZXIgYW5kIEFycmF5QnVmZmVyVmlldyBvYmplY3RzIGNhbiBiZSBwYXNzZWQgYXMgQnVm
ZmVyU291cmNlIGFyZ3VtZW50cyIpKTsKLSAgICAgICAgcmV0dXJuIHsgbnVsbHB0ciwgMCB9Owor
ICAgICAgICByZXR1cm4geyB9OworICAgIH0KK307CisKK3RlbXBsYXRlPD4gc3RydWN0IEpTQ29u
dmVydGVyPElETEJ1ZmZlclNvdXJjZT4geworICAgIHN0YXRpYyBjb25zdGV4cHIgYm9vbCBuZWVk
c1N0YXRlID0gdHJ1ZTsKKyAgICBzdGF0aWMgY29uc3RleHByIGJvb2wgbmVlZHNHbG9iYWxPYmpl
Y3QgPSB0cnVlOworCisgICAgc3RhdGljIEpTQzo6SlNWYWx1ZSBjb252ZXJ0KEpTQzo6RXhlY1N0
YXRlJiBleGVjLCBKU0RPTUdsb2JhbE9iamVjdCYgZ2xvYmFsT2JqZWN0LCBjb25zdCBCdWZmZXJT
b3VyY2UmIHNvdXJjZSkKKyAgICB7CisgICAgICAgIGlmIChhdXRvKiBidWZmZXIgPSBzb3VyY2Uu
YnVmZmVyKCkpCisgICAgICAgICAgICByZXR1cm4gdG9KUygmZXhlYywgJmdsb2JhbE9iamVjdCwg
KmJ1ZmZlcik7CisgICAgICAgIGlmIChhdXRvKiBidWZmZXJWaWV3ID0gc291cmNlLmJ1ZmZlclZp
ZXcoKSkKKyAgICAgICAgICAgIHJldHVybiB0b0pTKCZleGVjLCAmZ2xvYmFsT2JqZWN0LCAqYnVm
ZmVyVmlldyk7CisKKyAgICAgICAgcmV0dXJuIEpTQzo6anNOdWxsKCk7CiAgICAgfQogfTsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNNZWRpYUtleVNlc3Npb25D
dXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNNZWRpYUtleVNlc3Npb25D
dXN0b20uY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ4OWQ5YjYwYzJkNjZhOGI3MzA3ZDAzMjExZWE3MTk1Mjg4
YjVhNGIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU01l
ZGlhS2V5U2Vzc2lvbkN1c3RvbS5jcHAKQEAgLTAsMCArMSw0NiBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAxNiBNZXRyb2xvZ2ljYWwgR3JvdXAgQi5WLgorICogQ29weXJpZ2h0IChDKSAyMDE2
LCBJZ2FsaWEgUy5MLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0
OgorICoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiAgICBjb3B5cmlnaHQgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZworICogICAgZGlz
Y2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkCisgKiAgICB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICog
IkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIEhPTERFUiBPUiBD
T05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUg
ImNvbmZpZy5oIgorI2luY2x1ZGUgIkpTTWVkaWFLZXlTZXNzaW9uLmgiCisKKyNpZiBFTkFCTEUo
RU5DUllQVEVEX01FRElBKQorCisjaW5jbHVkZSAiTm90SW1wbGVtZW50ZWQuaCIKKworbmFtZXNw
YWNlIFdlYkNvcmUgeworCitKU0M6OkpTVmFsdWUgSlNNZWRpYUtleVNlc3Npb246OmNsb3NlZChK
U0M6OkV4ZWNTdGF0ZSYpIGNvbnN0Cit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICByZXR1
cm4gSlNDOjpqc1VuZGVmaW5lZCgpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNl
bmRpZiAvLyBFTkFCTEUoRU5DUllQVEVEX01FRElBKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvSlNNZWRpYUtleVN5c3RlbUFjY2Vzc0N1c3RvbS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9KU01lZGlhS2V5U3lzdGVtQWNjZXNzQ3VzdG9tLmNwcApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4zMWEzYTNlZjQ3OTU1NWM4NzdjZmI5YmZiNThhNzllMzI4MzUyZTlhCi0tLSAvZGV2
L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNNZWRpYUtleVN5c3RlbUFj
Y2Vzc0N1c3RvbS5jcHAKQEAgLTAsMCArMSw0NiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAx
NiBNZXRyb2xvZ2ljYWwgR3JvdXAgQi5WLgorICogQ29weXJpZ2h0IChDKSAyMDE2LCBJZ2FsaWEg
Uy5MLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICoKKyAq
IDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiAgICBjb3B5cmlnaHQgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZworICogICAgZGlzY2xhaW1lciBp
biB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkCisgKiAg
ICB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBB
TkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QK
KyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIEhPTERFUiBPUiBDT05UUklCVVRP
UlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1Mg
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisg
KiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5o
IgorI2luY2x1ZGUgIkpTTWVkaWFLZXlTeXN0ZW1BY2Nlc3MuaCIKKworI2lmIEVOQUJMRShFTkNS
WVBURURfTUVESUEpCisKKyNpbmNsdWRlICJOb3RJbXBsZW1lbnRlZC5oIgorCituYW1lc3BhY2Ug
V2ViQ29yZSB7CisKK0pTQzo6SlNWYWx1ZSBKU01lZGlhS2V5U3lzdGVtQWNjZXNzOjpnZXRDb25m
aWd1cmF0aW9uKEpTQzo6RXhlY1N0YXRlJikKK3sKKyAgICBub3RJbXBsZW1lbnRlZCgpOworICAg
IHJldHVybiBKU0M6OmpzVW5kZWZpbmVkKCk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
KworI2VuZGlmIC8vIEVOQUJMRShFTkNSWVBURURfTUVESUEpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbSBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCmluZGV4IGIwMzg3NGRmZWI0
OTU5MzY5Y2UzYWM2YzI5MjYwM2JiZWNiYTFjZjUuLjQwNGNjMmZhZDVmMTZiNjM4ZTdjNDI3ODli
MzdhYWRkNDYxNTUzZmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvQ29kZUdlbmVyYXRvckpTLnBtCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvQ29kZUdlbmVyYXRvckpTLnBtCkBAIC01MTU5LDYgKzUxNTksNyBAQCBzdWIgR2V0TmF0aXZl
VmVjdG9ySW5uZXJUeXBlCiAgICAgbXkgJGlubmVyVHlwZSA9IHNoaWZ0OwogCiAgICAgcmV0dXJu
ICRuYXRpdmVUeXBleyRpbm5lclR5cGV9IGlmIGV4aXN0cyAkbmF0aXZlVHlwZXskaW5uZXJUeXBl
fTsKKyAgICByZXR1cm4gR2V0RGljdGlvbmFyeUNsYXNzTmFtZSgkaW5uZXJUeXBlKSBpZiAkY29k
ZUdlbmVyYXRvci0+SXNEaWN0aW9uYXJ5VHlwZSgkaW5uZXJUeXBlKTsKICAgICByZXR1cm4gIlJl
ZlB0cjwkaW5uZXJUeXBlPiI7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9F
dmVudE5hbWVzLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5oCmluZGV4IDRlOWRl
YjQ5NGQzZDA2MDA4MTY4NTYzYzViZjJlODRiNzA2YzgxOTIuLjM5YmQ2YTI1YWRlZGQ0MGUxY2Vl
MjA1Y2ZiNDQ1NjIwMjZlZDMyYzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVu
dE5hbWVzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50TmFtZXMuaApAQCAtMTAzLDYg
KzEwMyw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBtYWNybyhkcm9wKSBcCiAgICAgbWFj
cm8oZHVyYXRpb25jaGFuZ2UpIFwKICAgICBtYWNybyhlbXB0aWVkKSBcCisgICAgbWFjcm8oZW5j
cnlwdGVkKSBcCiAgICAgbWFjcm8oZW5kKSBcCiAgICAgbWFjcm8oZW5kRXZlbnQpIFwKICAgICBt
YWNybyhlbmRlZCkgXApAQCAtMTMxLDYgKzEzMiw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAg
ICBtYWNybyhpbnZhbGlkKSBcCiAgICAgbWFjcm8oa2V5ZG93bikgXAogICAgIG1hY3JvKGtleXBy
ZXNzKSBcCisgICAgbWFjcm8oa2V5c3RhdHVzZXNjaGFuZ2UpIFwKICAgICBtYWNybyhrZXl1cCkg
XAogICAgIG1hY3JvKGxhbmd1YWdlY2hhbmdlKSBcCiAgICAgbWFjcm8obGV2ZWxjaGFuZ2UpIFwK
QEAgLTIzOSw2ICsyNDEsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgbWFjcm8odmlzaWJp
bGl0eWNoYW5nZSkgXAogICAgIG1hY3JvKHZvbHVtZWNoYW5nZSkgXAogICAgIG1hY3JvKHdhaXRp
bmcpIFwKKyAgICBtYWNybyh3YWl0aW5nZm9ya2V5KSBcCiAgICAgbWFjcm8od2ViZ2xjb250ZXh0
Y3JlYXRpb25lcnJvcikgXAogICAgIG1hY3JvKHdlYmdsY29udGV4dGxvc3QpIFwKICAgICBtYWNy
byh3ZWJnbGNvbnRleHRyZXN0b3JlZCkgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9t
L0V2ZW50TmFtZXMuaW4gYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5pbgppbmRleCA4
YjliYjY3ZTcxYTIyYjY4NGU5MDY5MjM1Zjg2ZjQ1MjA2OTc4OTY5Li45MWE4NmY1Mjk4MTQwNzg2
NWQzMDAxYzFjZDAxMTAzYjM5NGNiNTFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20v
RXZlbnROYW1lcy5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5pbgpAQCAt
NzAsMyArNzAsNSBAQCBHZXN0dXJlRXZlbnQgY29uZGl0aW9uYWw9SU9TX0dFU1RVUkVfRVZFTlRT
fE1BQ19HRVNUVVJFX0VWRU5UUwogV2ViS2l0UGxheWJhY2tUYXJnZXRBdmFpbGFiaWxpdHlFdmVu
dCBjb25kaXRpb25hbD1XSVJFTEVTU19QTEFZQkFDS19UQVJHRVQKIEdhbWVwYWRFdmVudCBjb25k
aXRpb25hbD1HQU1FUEFECiBPdmVyY29uc3RyYWluZWRFcnJvckV2ZW50IGNvbmRpdGlvbmFsPU1F
RElBX1NUUkVBTQorTWVkaWFFbmNyeXB0ZWRFdmVudCBjb25kaXRpb25hbD1FTkNSWVBURURfTUVE
SUEKK01lZGlhS2V5TWVzc2FnZUV2ZW50IGNvbmRpdGlvbmFsPUVOQ1JZUFRFRF9NRURJQQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0RmFjdG9yeS5pbiBiL1NvdXJj
ZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldEZhY3RvcnkuaW4KaW5kZXggMmMwZjZkM2ZkOWQ2Njkx
YmM5NjZjMjg3MWM4MzFjMTRkODMxMzIzMi4uNjVkZTk0ZGViZGE2OGI3YjA2NjRkZDVhYzYzNzBk
MzRmMDY0M2NiYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0RmFj
dG9yeS5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXRGYWN0b3J5LmluCkBA
IC0xNiw2ICsxNiw3IEBAIElEQk9wZW5EQlJlcXVlc3QgY29uZGl0aW9uYWw9SU5ERVhFRF9EQVRB
QkFTRQogSURCUmVxdWVzdCBjb25kaXRpb25hbD1JTkRFWEVEX0RBVEFCQVNFCiBJREJUcmFuc2Fj
dGlvbiBjb25kaXRpb25hbD1JTkRFWEVEX0RBVEFCQVNFCiBNZWRpYUNvbnRyb2xsZXIgY29uZGl0
aW9uYWw9VklERU8KK01lZGlhS2V5U2Vzc2lvbiBjb25kaXRpb25hbD1FTkNSWVBURURfTUVESUEK
IE1lZGlhUmVtb3RlQ29udHJvbHMgY29uZGl0aW9uYWw9TUVESUFfU0VTU0lPTgogTWVkaWFTb3Vy
Y2UgY29uZGl0aW9uYWw9TUVESUFfU09VUkNFCiBNZWRpYVN0cmVhbSBjb25kaXRpb25hbD1NRURJ
QV9TVFJFQU0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVu
dC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCmluZGV4IDM0
OTUyZTUxMmQ1NzljNDFlNmU1NWJjNTk1NmI2YjYyZjdiOWFiMzAuLmQ0MGVjMTIxMDMzOTRiODYx
NDg4NDE0NzBkZTZlMTE2ZTNkZmFiYTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTE1lZGlhRWxlbWVudC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFF
bGVtZW50LmNwcApAQCAtMjQ5MCw2ICsyNDkwLDE5IEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6
a2V5QWRkZWQoKQogfQogI2VuZGlmCiAKKyNpZiBFTkFCTEUoRU5DUllQVEVEX01FRElBKQorCitN
ZWRpYUtleXMqIEhUTUxNZWRpYUVsZW1lbnQ6Om1lZGlhS2V5cygpIGNvbnN0Cit7CisgICAgcmV0
dXJuIG51bGxwdHI7Cit9CisKK3ZvaWQgSFRNTE1lZGlhRWxlbWVudDo6c2V0TWVkaWFLZXlzKE1l
ZGlhS2V5cyosIFNldE1lZGlhS2V5c1Byb21pc2UmJikKK3sKK30KKworI2VuZGlmIC8vIEVOQUJM
RShFTkNSWVBURURfTUVESUEpCisKIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6cHJvZ3Jlc3NFdmVu
dFRpbWVyRmlyZWQoKQogewogICAgIEFTU0VSVChtX3BsYXllcik7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTE1lZGlhRWxlbWVudC5oCmluZGV4IDZlZGMwMDVhZDQ2YTA5Y2U5OGIxOGUyZTdiYThjZjc0
YWY0Y2I5YWEuLmNkNzRhZDdhZGQ3ZWFlOWZjOGY0ZDU5ZjM1NzYwNzBmYzc1ODUzOTkgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5oCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5oCkBAIC03MCw2ICs3MCw5IEBAIGNsYXNz
IE1lZGlhQ29udHJvbHM7CiBjbGFzcyBNZWRpYUNvbnRyb2xzSG9zdDsKIGNsYXNzIE1lZGlhRWxl
bWVudEF1ZGlvU291cmNlTm9kZTsKIGNsYXNzIE1lZGlhRXJyb3I7CisjaWYgRU5BQkxFKEVOQ1JZ
UFRFRF9NRURJQSkKK2NsYXNzIE1lZGlhS2V5czsKKyNlbmRpZgogY2xhc3MgTWVkaWFQbGF5ZXI7
CiBjbGFzcyBNZWRpYVNlc3Npb247CiBjbGFzcyBNZWRpYVNvdXJjZTsKQEAgLTI1Nyw2ICsyNjAs
MTMgQEAgcHVibGljOgogICAgIHZvaWQga2V5QWRkZWQoKTsKICNlbmRpZgogCisjaWYgRU5BQkxF
KEVOQ1JZUFRFRF9NRURJQSkKKyAgICBNZWRpYUtleXMqIG1lZGlhS2V5cygpIGNvbnN0OworCisg
ICAgdXNpbmcgU2V0TWVkaWFLZXlzUHJvbWlzZSA9IERPTVByb21pc2U8c3RkOjpudWxscHRyX3Q+
OworICAgIHZvaWQgc2V0TWVkaWFLZXlzKE1lZGlhS2V5cyosIFNldE1lZGlhS2V5c1Byb21pc2Um
Jik7CisjZW5kaWYKKwogLy8gY29udHJvbHMKICAgICBXRUJDT1JFX0VYUE9SVCBib29sIGNvbnRy
b2xzKCkgY29uc3Q7CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9pZCBzZXRDb250cm9scyhib29sKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5pZGwgYi9T
b3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaWRsCmluZGV4IGUyMjM2NmNhN2Jl
NGUwOTJkMWM0NGViYjdlZTEyZTI3N2MxNWE3MGQuLjMxZTQwMWZjNzUzYjE2NzMxN2YxNzViODQ1
YzcxOWMwOTljZDg2MWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlh
RWxlbWVudC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50Lmlk
bApAQCAtOTMsNiArOTMsMTAgQEAKIAogICAgIFtDb25kaXRpb25hbD1MRUdBQ1lfRU5DUllQVEVE
X01FRElBXSByZWFkb25seSBhdHRyaWJ1dGUgV2ViS2l0TWVkaWFLZXlzIHdlYmtpdEtleXM7CiAg
ICAgW0NvbmRpdGlvbmFsPUxFR0FDWV9FTkNSWVBURURfTUVESUFdIHZvaWQgd2Via2l0U2V0TWVk
aWFLZXlzKFdlYktpdE1lZGlhS2V5cz8gbWVkaWFLZXlzKTsKKyAgICBbQ29uZGl0aW9uYWw9RU5D
UllQVEVEX01FRElBXSByZWFkb25seSBhdHRyaWJ1dGUgTWVkaWFLZXlzIG1lZGlhS2V5czsKKyAg
ICBbQ29uZGl0aW9uYWw9RU5DUllQVEVEX01FRElBXSBhdHRyaWJ1dGUgRXZlbnRIYW5kbGVyIG9u
ZW5jcnlwdGVkOworICAgIFtDb25kaXRpb25hbD1FTkNSWVBURURfTUVESUFdIGF0dHJpYnV0ZSBF
dmVudEhhbmRsZXIgb253YWl0aW5nZm9ya2V5OworICAgIFtDb25kaXRpb25hbD1FTkNSWVBURURf
TUVESUFdIFByb21pc2Ugc2V0TWVkaWFLZXlzKE1lZGlhS2V5cz8gbWVkaWFLZXlzKTsKIAogICAg
IFtDb25kaXRpb25hbD1WSURFT19UUkFDSywgTWF5VGhyb3dMZWdhY3lFeGNlcHRpb25dIFRleHRU
cmFjayBhZGRUZXh0VHJhY2soRE9NU3RyaW5nIGtpbmQsIG9wdGlvbmFsIERPTVN0cmluZyBsYWJl
bCA9ICIiLCBvcHRpb25hbCBET01TdHJpbmcgbGFuZ3VhZ2UgPSAiIik7CiAgICAgW0NvbmRpdGlv
bmFsPVZJREVPX1RSQUNLXSByZWFkb25seSBhdHRyaWJ1dGUgQXVkaW9UcmFja0xpc3QgYXVkaW9U
cmFja3M7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRW5jcnlwdGVkRXZl
bnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUVuY3J5cHRlZEV2ZW50LmNwcApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi5kMzA0Y2I3ZWRlN2QzNGI5NDI5YmFhMGIyZDM4NjllZmY5NGNjZWIyCi0tLSAvZGV2
L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUVuY3J5cHRlZEV2ZW50LmNwcApA
QCAtMCwwICsxLDY0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE2IE1ldHJvbG9naWNhbCBH
cm91cCBCLlYuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTYsIElnYWxpYSBTLkwuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgorICogMS4gUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUKKyAqICAgIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nCisgKiAgICBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQKKyAqICAgIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklH
SFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywg
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
CisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgVEhFIENPUFlSSUdIVAorICogSE9MREVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQor
ICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiTWVk
aWFFbmNyeXB0ZWRFdmVudC5oIgorCisjaWYgRU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkKKworI2lu
Y2x1ZGUgIk5vdEltcGxlbWVudGVkLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworTWVkaWFF
bmNyeXB0ZWRFdmVudDo6TWVkaWFFbmNyeXB0ZWRFdmVudChjb25zdCBBdG9taWNTdHJpbmcmIHR5
cGUsIGNvbnN0IE1lZGlhRW5jcnlwdGVkRXZlbnRJbml0JiBpbml0aWFsaXplciwgSXNUcnVzdGVk
IGlzVHJ1c3RlZCkKKyAgICA6IEV2ZW50KHR5cGUsIGluaXRpYWxpemVyLCBpc1RydXN0ZWQpCit7
Cit9CisKK01lZGlhRW5jcnlwdGVkRXZlbnQ6On5NZWRpYUVuY3J5cHRlZEV2ZW50KCkgPSBkZWZh
dWx0OworCitFdmVudEludGVyZmFjZSBNZWRpYUVuY3J5cHRlZEV2ZW50OjpldmVudEludGVyZmFj
ZSgpIGNvbnN0Cit7CisgICAgcmV0dXJuIE1lZGlhRW5jcnlwdGVkRXZlbnRJbnRlcmZhY2VUeXBl
OworfQorCitTdHJpbmcgTWVkaWFFbmNyeXB0ZWRFdmVudDo6aW5pdERhdGFUeXBlKCkKK3sKKyAg
ICBub3RJbXBsZW1lbnRlZCgpOworICAgIHJldHVybiBlbXB0eVN0cmluZygpOworfQorCitBcnJh
eUJ1ZmZlciogTWVkaWFFbmNyeXB0ZWRFdmVudDo6aW5pdERhdGEoKQoreworICAgIG5vdEltcGxl
bWVudGVkKCk7CisgICAgcmV0dXJuIG51bGxwdHI7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKKworI2VuZGlmIC8vIEVOQUJMRShFTkNSWVBURURfTUVESUEpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL01lZGlhRW5jcnlwdGVkRXZlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0
bWwvTWVkaWFFbmNyeXB0ZWRFdmVudC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmE4ODQwMTJlYzQzMGU4NjI1ZTFk
MTA5YTVkZDllNjU0ZmE3YjQyZDYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL01lZGlhRW5jcnlwdGVkRXZlbnQuaApAQCAtMCwwICsxLDY1IEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDE2IE1ldHJvbG9naWNhbCBHcm91cCBCLlYuCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTYsIElnYWxpYSBTLkwuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBt
ZXQ6CisgKgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqICAgIGNvcHlyaWdodCBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nCisgKiAgICBk
aXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQKKyAqICAgIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisg
KiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogSE9MREVSIE9S
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21h
IG9uY2UKKworI2lmIEVOQUJMRShFTkNSWVBURURfTUVESUEpCisKKyNpbmNsdWRlICJFdmVudC5o
IgorI2luY2x1ZGUgIk1lZGlhRW5jcnlwdGVkRXZlbnRJbml0LmgiCisKK25hbWVzcGFjZSBKU0Mg
eworY2xhc3MgQXJyYXlCdWZmZXI7Cit9CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3Mg
TWVkaWFFbmNyeXB0ZWRFdmVudCBmaW5hbCA6IHB1YmxpYyBFdmVudCB7CitwdWJsaWM6CisgICAg
dXNpbmcgSW5pdCA9IE1lZGlhRW5jcnlwdGVkRXZlbnRJbml0OworCisgICAgc3RhdGljIFJlZjxN
ZWRpYUVuY3J5cHRlZEV2ZW50PiBjcmVhdGUoY29uc3QgQXRvbWljU3RyaW5nJiB0eXBlLCBjb25z
dCBNZWRpYUVuY3J5cHRlZEV2ZW50SW5pdCYgaW5pdGlhbGl6ZXIsIElzVHJ1c3RlZCBpc1RydXN0
ZWQgPSBJc1RydXN0ZWQ6Ok5vKQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcg
TWVkaWFFbmNyeXB0ZWRFdmVudCh0eXBlLCBpbml0aWFsaXplciwgaXNUcnVzdGVkKSk7CisgICAg
fQorCisgICAgdmlydHVhbCB+TWVkaWFFbmNyeXB0ZWRFdmVudCgpOworCisgICAgU3RyaW5nIGlu
aXREYXRhVHlwZSgpOworICAgIEpTQzo6QXJyYXlCdWZmZXIqIGluaXREYXRhKCk7CisKK3ByaXZh
dGU6CisgICAgTWVkaWFFbmNyeXB0ZWRFdmVudChjb25zdCBBdG9taWNTdHJpbmcmLCBjb25zdCBN
ZWRpYUVuY3J5cHRlZEV2ZW50SW5pdCYsIElzVHJ1c3RlZCk7CisKKyAgICAvLyBFdmVudAorICAg
IEV2ZW50SW50ZXJmYWNlIGV2ZW50SW50ZXJmYWNlKCkgY29uc3Qgb3ZlcnJpZGU7Cit9OworCit9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoRU5DUllQVEVEX01FRElB
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUVuY3J5cHRlZEV2ZW50Lmlk
bCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFFbmNyeXB0ZWRFdmVudC5pZGwKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZjU1ZWYzMmZlYzliNWZiMDMzMjdhMGU5ODRmMGE0NGNjY2I4MTFlNgotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFFbmNyeXB0ZWRFdmVudC5pZGwKQEAgLTAs
MCArMSw0MCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNiBNZXRyb2xvZ2ljYWwgR3JvdXAg
Qi5WLgorICogQ29weXJpZ2h0IChDKSAyMDE2LCBJZ2FsaWEgUy5MLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlCisgKiAgICBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZworICogICAgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkCisgKiAgICB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhP
TERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICog
QSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRI
RSBDT1BZUklHSFQKKyAqIEhPTERFUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisgKi8KKworZGljdGlvbmFyeSBNZWRpYUVuY3J5cHRlZEV2ZW50SW5pdCA6IEV2
ZW50SW5pdCB7CisgICAgRE9NU3RyaW5nIGluaXREYXRhVHlwZSA9ICIiOworICAgIEFycmF5QnVm
ZmVyPyBpbml0RGF0YSA9IG51bGw7Cit9OworCitbCisgICAgQ29uZGl0aW9uYWw9RU5DUllQVEVE
X01FRElBLAorICAgIENvbnN0cnVjdG9yKERPTVN0cmluZyB0eXBlLCBvcHRpb25hbCBNZWRpYUVu
Y3J5cHRlZEV2ZW50SW5pdCBldmVudEluaXREaWN0KQorXSBpbnRlcmZhY2UgTWVkaWFFbmNyeXB0
ZWRFdmVudCA6IEV2ZW50IHsKKyAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGluaXRE
YXRhVHlwZTsKKyAgICByZWFkb25seSBhdHRyaWJ1dGUgQXJyYXlCdWZmZXI/IGluaXREYXRhOwor
fTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFFbmNyeXB0ZWRFdmVudElu
aXQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFFbmNyeXB0ZWRFdmVudEluaXQuaApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi40MTIyZDFhODE1MmI5ZjBiOWZjZGY1YzFkYmFmYmU3MDI4MDhhMjJjCi0tLSAvZGV2
L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUVuY3J5cHRlZEV2ZW50SW5pdC5o
CkBAIC0wLDAgKzEsNTMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTYgTWV0cm9sb2dpY2Fs
IEdyb3VwIEIuVi4KKyAqIENvcHlyaWdodCAoQykgMjAxNiwgSWdhbGlhIFMuTC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZQorICogICAgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcKKyAqICAgIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZAorICogICAgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlS
SUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRP
LCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBUSEUgQ09QWVJJR0hUCisgKiBIT0xERVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
CisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaWYgRU5BQkxFKEVOQ1JZ
UFRFRF9NRURJQSkKKworI2luY2x1ZGUgIkV2ZW50LmgiCisjaW5jbHVkZSA8cnVudGltZS9BcnJh
eUJ1ZmZlci5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3N0cnVjdCBNZWRpYUVuY3J5cHRl
ZEV2ZW50SW5pdCA6IEV2ZW50SW5pdCB7CisgICAgTWVkaWFFbmNyeXB0ZWRFdmVudEluaXQoKSA9
IGRlZmF1bHQ7CisKKyAgICBNZWRpYUVuY3J5cHRlZEV2ZW50SW5pdChjb25zdCBTdHJpbmcmIGlu
aXREYXRhVHlwZSwgUmVmUHRyPEpTQzo6QXJyYXlCdWZmZXI+JiYgaW5pdERhdGEpCisgICAgICAg
IDogRXZlbnRJbml0KCkKKyAgICAgICAgLCBpbml0RGF0YVR5cGUoaW5pdERhdGFUeXBlKQorICAg
ICAgICAsIGluaXREYXRhKFdURk1vdmUoaW5pdERhdGEpKQorICAgIHsgfQorCisgICAgU3RyaW5n
IGluaXREYXRhVHlwZTsKKyAgICBSZWZQdHI8SlNDOjpBcnJheUJ1ZmZlcj4gaW5pdERhdGE7Cit9
OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoRU5DUllQVEVE
X01FRElBKQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggZmIyODc5NTBmODNjNjY1
ZGQ2NDdmNTg1Y2RiMDM0M2I0YjRiYjc5Yi4uNzFlYjg4NDE4YmM0ZmRkOTBkMjc1ZTA4MTIzZTEw
NzkyOTdjNmU3NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxv
ZworKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIg
QEAKKzIwMTYtMTAtMjYgIFphbiBEb2JlcnNlayAgPHpkb2JlcnNla0BpZ2FsaWEuY29tPgorCisg
ICAgICAgIFtFTUVdIEFkZCBuby1vcCBXZWItZmFjaW5nIEFQSXMKKyAgICAgICAgaHR0cHM6Ly9i
dWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2NDAyOAorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2VuY3J5
cHRlZC1tZWRpYS9pZGxoYXJuZXNzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisKIDIwMTYtMTAtMjUg
IFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CiAKICAgICAgICAgVXBkYXRpbmcgYXR0
cmlidXRlIGJ5IHRleHRDb250ZW50IG11c3QgY3JlYXRlIGEgc2luZ2xlIG11dGF0aW9uIHJlY29y
ZCBhbmQgY3VzdG9tIGVsZW1lbnQgcmVhY3Rpb24KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZW5jcnlwdGVkLW1lZGlhL2lkbGhhcm5lc3Mt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9lbmNyeXB0ZWQtbWVkaWEvaWRsaGFybmVzcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTZk
YzM0NTE2Y2M5NWExNjk0ZTE0MzJmOTg5ZGFlYmRjOTAyMTNiYwotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZW5jcnlwdGVkLW1l
ZGlhL2lkbGhhcm5lc3MtZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsNjYgQEAKK0Rlc2NyaXB0aW9u
CisKK1RoaXMgdGVzdCB2ZXJpZmllcyB0aGF0IGltcGxlbWVudGF0aW9ucyBvZiB0aGUgRW5jcnlw
dGVkIE1lZGlhIEV4dGVuc2lvbnMgQVBJIG1hdGNoIGl0cyBXZWJJREwgZGVmaW5pdGlvbi4KKwor
CitQQVNTIE5hdmlnYXRvciBpbnRlcmZhY2U6IG9wZXJhdGlvbiByZXF1ZXN0TWVkaWFLZXlTeXN0
ZW1BY2Nlc3MoRE9NU3RyaW5nLFtvYmplY3QgT2JqZWN0XSkgCitQQVNTIEhUTUxNZWRpYUVsZW1l
bnQgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgbWVkaWFLZXlzIAorUEFTUyBIVE1MTWVkaWFFbGVtZW50
IGludGVyZmFjZTogYXR0cmlidXRlIG9uZW5jcnlwdGVkIAorUEFTUyBIVE1MTWVkaWFFbGVtZW50
IGludGVyZmFjZTogYXR0cmlidXRlIG9ud2FpdGluZ2ZvcmtleSAKK1BBU1MgSFRNTE1lZGlhRWxl
bWVudCBpbnRlcmZhY2U6IG9wZXJhdGlvbiBzZXRNZWRpYUtleXMoTWVkaWFLZXlzKSAKK1BBU1Mg
TWVkaWFLZXlTeXN0ZW1BY2Nlc3MgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMg
b2YgaW50ZXJmYWNlIG9iamVjdCAKK1BBU1MgTWVkaWFLZXlTeXN0ZW1BY2Nlc3MgaW50ZXJmYWNl
IG9iamVjdCBsZW5ndGggCitQQVNTIE1lZGlhS2V5U3lzdGVtQWNjZXNzIGludGVyZmFjZSBvYmpl
Y3QgbmFtZSAKK1BBU1MgTWVkaWFLZXlTeXN0ZW1BY2Nlc3MgaW50ZXJmYWNlOiBleGlzdGVuY2Ug
YW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QgCitQQVNTIE1lZGlh
S2V5U3lzdGVtQWNjZXNzIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGlu
dGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgImNvbnN0cnVjdG9yIiBwcm9wZXJ0eSAKK1BBU1Mg
TWVkaWFLZXlTeXN0ZW1BY2Nlc3MgaW50ZXJmYWNlOiBhdHRyaWJ1dGUga2V5U3lzdGVtIAorUEFT
UyBNZWRpYUtleVN5c3RlbUFjY2VzcyBpbnRlcmZhY2U6IG9wZXJhdGlvbiBnZXRDb25maWd1cmF0
aW9uKCkgCitQQVNTIE1lZGlhS2V5U3lzdGVtQWNjZXNzIGludGVyZmFjZTogb3BlcmF0aW9uIGNy
ZWF0ZU1lZGlhS2V5cygpIAorUEFTUyBNZWRpYUtleXMgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5k
IHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdCAKK1BBU1MgTWVkaWFLZXlzIGludGVyZmFj
ZSBvYmplY3QgbGVuZ3RoIAorUEFTUyBNZWRpYUtleXMgaW50ZXJmYWNlIG9iamVjdCBuYW1lIAor
UEFTUyBNZWRpYUtleXMgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50
ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QgCitQQVNTIE1lZGlhS2V5cyBpbnRlcmZhY2U6IGV4aXN0
ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzICJjb25z
dHJ1Y3RvciIgcHJvcGVydHkgCitQQVNTIE1lZGlhS2V5cyBpbnRlcmZhY2U6IG9wZXJhdGlvbiBj
cmVhdGVTZXNzaW9uKE1lZGlhS2V5U2Vzc2lvblR5cGUpIAorUEFTUyBNZWRpYUtleXMgaW50ZXJm
YWNlOiBvcGVyYXRpb24gc2V0U2VydmVyQ2VydGlmaWNhdGUoQnVmZmVyU291cmNlKSAKK1BBU1Mg
TWVkaWFLZXlTZXNzaW9uIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGlu
dGVyZmFjZSBvYmplY3QgCitQQVNTIE1lZGlhS2V5U2Vzc2lvbiBpbnRlcmZhY2Ugb2JqZWN0IGxl
bmd0aCAKK1BBU1MgTWVkaWFLZXlTZXNzaW9uIGludGVyZmFjZSBvYmplY3QgbmFtZSAKK1BBU1Mg
TWVkaWFLZXlTZXNzaW9uIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGlu
dGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0IAorUEFTUyBNZWRpYUtleVNlc3Npb24gaW50ZXJmYWNl
OiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3Qn
cyAiY29uc3RydWN0b3IiIHByb3BlcnR5IAorUEFTUyBNZWRpYUtleVNlc3Npb24gaW50ZXJmYWNl
OiBhdHRyaWJ1dGUgc2Vzc2lvbklkIAorUEFTUyBNZWRpYUtleVNlc3Npb24gaW50ZXJmYWNlOiBh
dHRyaWJ1dGUgZXhwaXJhdGlvbiAKK0ZBSUwgTWVkaWFLZXlTZXNzaW9uIGludGVyZmFjZTogYXR0
cmlidXRlIGNsb3NlZCBhc3NlcnRfdGhyb3dzOiBnZXR0aW5nIHByb3BlcnR5IG9uIHByb3RvdHlw
ZSBvYmplY3QgbXVzdCB0aHJvdyBUeXBlRXJyb3IgZnVuY3Rpb24gImZ1bmN0aW9uICgpIHsKKyAg
ICBbbmF0aXZlIGNvZGVdCit9IiBkaWQgbm90IHRocm93CitQQVNTIE1lZGlhS2V5U2Vzc2lvbiBp
bnRlcmZhY2U6IGF0dHJpYnV0ZSBrZXlTdGF0dXNlcyAKK1BBU1MgTWVkaWFLZXlTZXNzaW9uIGlu
dGVyZmFjZTogYXR0cmlidXRlIG9ua2V5c3RhdHVzZXNjaGFuZ2UgCitQQVNTIE1lZGlhS2V5U2Vz
c2lvbiBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbm1lc3NhZ2UgCitQQVNTIE1lZGlhS2V5U2Vzc2lv
biBpbnRlcmZhY2U6IG9wZXJhdGlvbiBnZW5lcmF0ZVJlcXVlc3QoRE9NU3RyaW5nLEJ1ZmZlclNv
dXJjZSkgCitQQVNTIE1lZGlhS2V5U2Vzc2lvbiBpbnRlcmZhY2U6IG9wZXJhdGlvbiBsb2FkKERP
TVN0cmluZykgCitQQVNTIE1lZGlhS2V5U2Vzc2lvbiBpbnRlcmZhY2U6IG9wZXJhdGlvbiB1cGRh
dGUoQnVmZmVyU291cmNlKSAKK1BBU1MgTWVkaWFLZXlTZXNzaW9uIGludGVyZmFjZTogb3BlcmF0
aW9uIGNsb3NlKCkgCitQQVNTIE1lZGlhS2V5U2Vzc2lvbiBpbnRlcmZhY2U6IG9wZXJhdGlvbiBy
ZW1vdmUoKSAKK1BBU1MgTWVkaWFLZXlTdGF0dXNNYXAgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5k
IHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdCAKK1BBU1MgTWVkaWFLZXlTdGF0dXNNYXAg
aW50ZXJmYWNlIG9iamVjdCBsZW5ndGggCitQQVNTIE1lZGlhS2V5U3RhdHVzTWFwIGludGVyZmFj
ZSBvYmplY3QgbmFtZSAKK1BBU1MgTWVkaWFLZXlTdGF0dXNNYXAgaW50ZXJmYWNlOiBleGlzdGVu
Y2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QgCitQQVNTIE1l
ZGlhS2V5U3RhdHVzTWFwIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGlu
dGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgImNvbnN0cnVjdG9yIiBwcm9wZXJ0eSAKK1BBU1Mg
TWVkaWFLZXlTdGF0dXNNYXAgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgc2l6ZSAKK1BBU1MgTWVkaWFL
ZXlTdGF0dXNNYXAgaW50ZXJmYWNlOiBvcGVyYXRpb24gaGFzKEJ1ZmZlclNvdXJjZSkgCitQQVNT
IE1lZGlhS2V5U3RhdHVzTWFwIGludGVyZmFjZTogb3BlcmF0aW9uIGdldChCdWZmZXJTb3VyY2Up
IAorUEFTUyBNZWRpYUtleU1lc3NhZ2VFdmVudCBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJv
cGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0IAorUEFTUyBNZWRpYUtleU1lc3NhZ2VFdmVudCBp
bnRlcmZhY2Ugb2JqZWN0IGxlbmd0aCAKK1BBU1MgTWVkaWFLZXlNZXNzYWdlRXZlbnQgaW50ZXJm
YWNlIG9iamVjdCBuYW1lIAorUEFTUyBNZWRpYUtleU1lc3NhZ2VFdmVudCBpbnRlcmZhY2U6IGV4
aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCAKK1BB
U1MgTWVkaWFLZXlNZXNzYWdlRXZlbnQgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRp
ZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyAiY29uc3RydWN0b3IiIHByb3BlcnR5
IAorUEFTUyBNZWRpYUtleU1lc3NhZ2VFdmVudCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBtZXNzYWdl
VHlwZSAKK1BBU1MgTWVkaWFLZXlNZXNzYWdlRXZlbnQgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgbWVz
c2FnZSAKK1BBU1MgTWVkaWFFbmNyeXB0ZWRFdmVudCBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQg
cHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0IAorUEFTUyBNZWRpYUVuY3J5cHRlZEV2ZW50
IGludGVyZmFjZSBvYmplY3QgbGVuZ3RoIAorUEFTUyBNZWRpYUVuY3J5cHRlZEV2ZW50IGludGVy
ZmFjZSBvYmplY3QgbmFtZSAKK1BBU1MgTWVkaWFFbmNyeXB0ZWRFdmVudCBpbnRlcmZhY2U6IGV4
aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCAKK1BB
U1MgTWVkaWFFbmNyeXB0ZWRFdmVudCBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGll
cyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzICJjb25zdHJ1Y3RvciIgcHJvcGVydHkg
CitQQVNTIE1lZGlhRW5jcnlwdGVkRXZlbnQgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgaW5pdERhdGFU
eXBlIAorUEFTUyBNZWRpYUVuY3J5cHRlZEV2ZW50IGludGVyZmFjZTogYXR0cmlidXRlIGluaXRE
YXRhIAorCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>293555</attachid>
            <date>2016-11-01 10:05:19 -0700</date>
            <delta_ts>2016-11-08 04:58:02 -0800</delta_ts>
            <desc>WIP</desc>
            <filename>bug-164028-20161101100120.patch</filename>
            <type>text/plain</type>
            <size>126956</size>
            <attacher name="Zan Dobersek">zan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA4MTI1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTJlOTMzMmZkMDM3MTVl
MmUxOTE1YzhmM2I1Y2U4NzJiY2IzMjRmYi4uMDQzNjg1OThhZDUyOWVlOTFlYmU0ZTdjOTcyZDAw
MjVlZjZlNjIxYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDExNyBAQAorMjAxNi0xMC0zMCAgWmFu
IERvYmVyc2VrICA8emRvYmVyc2VrQGlnYWxpYS5jb20+CisKKyAgICAgICAgW0VNRV0gQWRkIG5v
LW9wIFdlYi1mYWNpbmcgQVBJcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTY0MDI4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgQWRkIHRoZSBzcGVjLWRlZmluZWQgRU1FIEFQSXMgdGhhdCBhcmUgZXhwb3Nl
ZCBvbiB0aGUgcGxhdGZvcm0uCisgICAgICAgIFRoZSB1bmRlcmx5aW5nIFdlYkNvcmUgY2xhc3Nl
cyBhcmUgbGVmdCBub24tb3BlcmF0aW9uYWwgZm9yIG5vdworICAgICAgICBhbmQgd2lsbCBiZSBw
cm9wZXJseSBpbXBsZW1lbnRlZCBpbiBmdXR1cmUgcGF0Y2hlcy4KKworICAgICAgICBUaGUgaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9lbmNyeXB0ZWQtbWVkaWEvaWRsaGFybmVzcy5o
dG1sCisgICAgICAgIHRlc3QgaGFzIGl0cyBleHBlY3RlZCByZXN1bHQgdXBkYXRlZCwgcGFzc2lu
ZyA1NyBvZiA1OCB0ZXN0cy4KKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAq
IERlcml2ZWRTb3VyY2VzLm1ha2U6CisgICAgICAgICogTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9N
ZWRpYUtleU1lc3NhZ2VFdmVudC5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFL
ZXlNZXNzYWdlRXZlbnQ6Ok1lZGlhS2V5TWVzc2FnZUV2ZW50KToKKyAgICAgICAgKFdlYkNvcmU6
Ok1lZGlhS2V5TWVzc2FnZUV2ZW50OjpldmVudEludGVyZmFjZSk6CisgICAgICAgICogTW9kdWxl
cy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleU1lc3NhZ2VFdmVudC5oOiBBZGRlZC4KKyAgICAgICAg
KFdlYkNvcmU6Ok1lZGlhS2V5TWVzc2FnZUV2ZW50OjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29y
ZTo6TWVkaWFLZXlNZXNzYWdlRXZlbnQ6Om1lc3NhZ2VUeXBlKToKKyAgICAgICAgKFdlYkNvcmU6
Ok1lZGlhS2V5TWVzc2FnZUV2ZW50OjptZXNzYWdlKToKKyAgICAgICAgKiBNb2R1bGVzL2VuY3J5
cHRlZG1lZGlhL01lZGlhS2V5TWVzc2FnZUV2ZW50LmlkbDogQWRkZWQuCisgICAgICAgICogTW9k
dWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleU1lc3NhZ2VFdmVudEluaXQuaDogQWRkZWQuCisg
ICAgICAgIChXZWJDb3JlOjpNZWRpYUtleU1lc3NhZ2VFdmVudEluaXQ6Ok1lZGlhS2V5TWVzc2Fn
ZUV2ZW50SW5pdCk6CisgICAgICAgICogTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleU1l
c3NhZ2VUeXBlLmg6IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVk
aWFLZXlTZXNzaW9uLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpNZWRpYUtleVNlc3Np
b246OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUtleVNlc3Npb246Ok1lZGlhS2V5
U2Vzc2lvbik6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUtleVNlc3Npb246OnNlc3Npb25JZCk6
CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUtleVNlc3Npb246OmV4cGlyYXRpb24pOgorICAgICAg
ICAoV2ViQ29yZTo6TWVkaWFLZXlTZXNzaW9uOjprZXlTdGF0dXNlcyk6CisgICAgICAgIChXZWJD
b3JlOjpNZWRpYUtleVNlc3Npb246OmdlbmVyYXRlUmVxdWVzdCk6CisgICAgICAgIChXZWJDb3Jl
OjpNZWRpYUtleVNlc3Npb246OmxvYWQpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFLZXlTZXNz
aW9uOjp1cGRhdGUpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFLZXlTZXNzaW9uOjpjbG9zZSk6
CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUtleVNlc3Npb246OnJlbW92ZSk6CisgICAgICAgIChX
ZWJDb3JlOjpNZWRpYUtleVNlc3Npb246Omhhc1BlbmRpbmdBY3Rpdml0eSk6CisgICAgICAgIChX
ZWJDb3JlOjpNZWRpYUtleVNlc3Npb246OmFjdGl2ZURPTU9iamVjdE5hbWUpOgorICAgICAgICAo
V2ViQ29yZTo6TWVkaWFLZXlTZXNzaW9uOjpjYW5TdXNwZW5kRm9yRG9jdW1lbnRTdXNwZW5zaW9u
KToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhS2V5U2Vzc2lvbjo6c3RvcCk6CisgICAgICAgICog
TW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVNlc3Npb24uaDogQWRkZWQuCisgICAgICAg
ICogTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVNlc3Npb24uaWRsOiBBZGRlZC4KKyAg
ICAgICAgKiBNb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U2Vzc2lvblR5cGUuaDogQWRk
ZWQuCisgICAgICAgICogTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVN0YXR1cy5oOiBB
ZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U3RhdHVzTWFw
LmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpNZWRpYUtleVN0YXR1c01hcDo6c2l6ZSk6
CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUtleVN0YXR1c01hcDo6aGFzKToKKyAgICAgICAgKFdl
YkNvcmU6Ok1lZGlhS2V5U3RhdHVzTWFwOjpnZXQpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFL
ZXlTdGF0dXNNYXA6Okl0ZXJhdG9yOjpJdGVyYXRvcik6CisgICAgICAgIChXZWJDb3JlOjpNZWRp
YUtleVN0YXR1c01hcDo6SXRlcmF0b3I6Om5leHQpOgorICAgICAgICAqIE1vZHVsZXMvZW5jcnlw
dGVkbWVkaWEvTWVkaWFLZXlTdGF0dXNNYXAuaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpN
ZWRpYUtleVN0YXR1c01hcDo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhS2V5U3Rh
dHVzTWFwOjpjcmVhdGVJdGVyYXRvcik6CisgICAgICAgICogTW9kdWxlcy9lbmNyeXB0ZWRtZWRp
YS9NZWRpYUtleVN0YXR1c01hcC5pZGw6IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMvZW5jcnlw
dGVkbWVkaWEvTWVkaWFLZXlTeXN0ZW1BY2Nlc3MuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNv
cmU6Ok1lZGlhS2V5U3lzdGVtQWNjZXNzOjprZXlTeXN0ZW0pOgorICAgICAgICAoV2ViQ29yZTo6
TWVkaWFLZXlTeXN0ZW1BY2Nlc3M6OmdldENvbmZpZ3VyYXRpb24pOgorICAgICAgICAoV2ViQ29y
ZTo6TWVkaWFLZXlTeXN0ZW1BY2Nlc3M6OmNyZWF0ZU1lZGlhS2V5cyk6CisgICAgICAgICogTW9k
dWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVN5c3RlbUFjY2Vzcy5oOiBBZGRlZC4KKyAgICAg
ICAgKFdlYkNvcmU6Ok1lZGlhS2V5U3lzdGVtQWNjZXNzOjpjcmVhdGUpOgorICAgICAgICAqIE1v
ZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlTeXN0ZW1BY2Nlc3MuaWRsOiBBZGRlZC4KKyAg
ICAgICAgKiBNb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U3lzdGVtQ29uZmlndXJhdGlv
bi5oOiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U3lz
dGVtQ29uZmlndXJhdGlvbi5pZGw6IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMvZW5jcnlwdGVk
bWVkaWEvTWVkaWFLZXlTeXN0ZW1NZWRpYUNhcGFiaWxpdHkuaDogQWRkZWQuCisgICAgICAgICog
TW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVN5c3RlbU1lZGlhQ2FwYWJpbGl0eS5pZGw6
IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlzLmNwcDog
QWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpNZWRpYUtleXM6OmNyZWF0ZVNlc3Npb24pOgorICAg
ICAgICAoV2ViQ29yZTo6TWVkaWFLZXlzOjpzZXRTZXJ2ZXJDZXJ0aWZpY2F0ZSk6CisgICAgICAg
ICogTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleXMuaDogQWRkZWQuCisgICAgICAgIChX
ZWJDb3JlOjpNZWRpYUtleXM6OmNyZWF0ZSk6CisgICAgICAgICogTW9kdWxlcy9lbmNyeXB0ZWRt
ZWRpYS9NZWRpYUtleXMuaWRsOiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL2VuY3J5cHRlZG1l
ZGlhL01lZGlhS2V5c1JlcXVpcmVtZW50Lmg6IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMvZW5j
cnlwdGVkbWVkaWEvTmF2aWdhdG9yRU1FLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpO
YXZpZ2F0b3JFTUU6OnJlcXVlc3RNZWRpYUtleVN5c3RlbUFjY2Vzcyk6CisgICAgICAgICogTW9k
dWxlcy9lbmNyeXB0ZWRtZWRpYS9OYXZpZ2F0b3JFTUUuaDogQWRkZWQuCisgICAgICAgICogTW9k
dWxlcy9lbmNyeXB0ZWRtZWRpYS9OYXZpZ2F0b3JFTUUuaWRsOiBBZGRlZC4KKyAgICAgICAgKiBN
b2R1bGVzL21lZGlhc291cmNlL1NvdXJjZUJ1ZmZlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpT
b3VyY2VCdWZmZXI6OmFwcGVuZEJ1ZmZlcik6CisgICAgICAgICogV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0J1ZmZlclNvdXJjZS5oOgor
ICAgICAgICAoV2ViQ29yZTo6QnVmZmVyU291cmNlOjpCdWZmZXJTb3VyY2UpOgorICAgICAgICAo
V2ViQ29yZTo6QnVmZmVyU291cmNlOjpidWZmZXIpOgorICAgICAgICAoV2ViQ29yZTo6QnVmZmVy
U291cmNlOjpidWZmZXJWaWV3KToKKyAgICAgICAgKFdlYkNvcmU6OkJ1ZmZlclNvdXJjZTo6ZGF0
YSk6CisgICAgICAgIChXZWJDb3JlOjpCdWZmZXJTb3VyY2U6Omxlbmd0aCk6CisgICAgICAgICog
YmluZGluZ3MvanMvSlNET01Db252ZXJ0Lmg6CisgICAgICAgIChXZWJDb3JlOjpDb252ZXJ0ZXI8
SURMQnVmZmVyU291cmNlPjo6Y29udmVydCk6CisgICAgICAgIChXZWJDb3JlOjpKU0NvbnZlcnRl
cjxJRExCdWZmZXJTb3VyY2U+Ojpjb252ZXJ0KToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU01l
ZGlhS2V5U2Vzc2lvbkN1c3RvbS5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6SlNNZWRp
YUtleVNlc3Npb246OmNsb3NlZCk6CisgICAgICAgICogYmluZGluZ3MvanMvSlNNZWRpYUtleVN5
c3RlbUFjY2Vzc0N1c3RvbS5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6SlNNZWRpYUtl
eVN5c3RlbUFjY2Vzczo6Z2V0Q29uZmlndXJhdGlvbik6CisgICAgICAgICogYmluZGluZ3Mvc2Ny
aXB0cy9Db2RlR2VuZXJhdG9ySlMucG06CisgICAgICAgIChHZXROYXRpdmVWZWN0b3JJbm5lclR5
cGUpOgorICAgICAgICAqIGRvbS9FdmVudE5hbWVzLmg6CisgICAgICAgICogZG9tL0V2ZW50TmFt
ZXMuaW46CisgICAgICAgICogZG9tL0V2ZW50VGFyZ2V0RmFjdG9yeS5pbjoKKyAgICAgICAgKiBo
dG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxl
bWVudDo6bWVkaWFLZXlzKToKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxNZWRpYUVsZW1lbnQ6OnNl
dE1lZGlhS2V5cyk6CisgICAgICAgICogaHRtbC9IVE1MTWVkaWFFbGVtZW50Lmg6CisgICAgICAg
ICogaHRtbC9IVE1MTWVkaWFFbGVtZW50LmlkbDoKKyAgICAgICAgKiBodG1sL01lZGlhRW5jcnlw
dGVkRXZlbnQuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhRW5jcnlwdGVkRXZl
bnQ6Ok1lZGlhRW5jcnlwdGVkRXZlbnQpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFFbmNyeXB0
ZWRFdmVudDo6ZXZlbnRJbnRlcmZhY2UpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFFbmNyeXB0
ZWRFdmVudDo6aW5pdERhdGFUeXBlKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhRW5jcnlwdGVk
RXZlbnQ6OmluaXREYXRhKToKKyAgICAgICAgKiBodG1sL01lZGlhRW5jcnlwdGVkRXZlbnQuaDog
QWRkZWQuCisgICAgICAgICogaHRtbC9NZWRpYUVuY3J5cHRlZEV2ZW50LmlkbDogQWRkZWQuCisg
ICAgICAgICogaHRtbC9NZWRpYUVuY3J5cHRlZEV2ZW50SW5pdC5oOiBBZGRlZC4KKyAgICAgICAg
KFdlYkNvcmU6Ok1lZGlhRW5jcnlwdGVkRXZlbnRJbml0OjpNZWRpYUVuY3J5cHRlZEV2ZW50SW5p
dCk6CisKIDIwMTYtMTAtMjkgIERhdmUgSHlhdHQgIDxoeWF0dEBhcHBsZS5jb20+CiAKICAgICAg
ICAgW0NTUyBQYXJzZXJdIFN1cHBvcnQgdW5wcmVmaXhlZCBpbWFnZS1zZXRzCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlz
dHMudHh0CmluZGV4IDA0NDAxYjliZDUzZjg5NWM3YjIyMWM4NDBkZDFlMDk1M2U3MWZjYzEuLjM5
ZGNjNjUwNTBjMjM3NTU3Njc5ODQwN2IwMWFjMzEzYmM1ZWE0ZTUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMu
dHh0CkBAIC0xMTY0LDYgKzExNjQsOCBAQCBzZXQoV2ViQ29yZV9TT1VSQ0VTCiAgICAgYmluZGlu
Z3MvanMvSlNMb2NhdGlvbkN1c3RvbS5jcHAKICAgICBiaW5kaW5ncy9qcy9KU01haW5UaHJlYWRF
eGVjU3RhdGUuY3BwCiAgICAgYmluZGluZ3MvanMvSlNNZWRpYURldmljZXNDdXN0b20uY3BwCisg
ICAgYmluZGluZ3MvanMvSlNNZWRpYUtleVNlc3Npb25DdXN0b20uY3BwCisgICAgYmluZGluZ3Mv
anMvSlNNZWRpYUtleVN5c3RlbUFjY2Vzc0N1c3RvbS5jcHAKICAgICBiaW5kaW5ncy9qcy9KU01l
ZGlhU3RyZWFtVHJhY2tDdXN0b20uY3BwCiAgICAgYmluZGluZ3MvanMvSlNNZWRpYVRyYWNrU3Vw
cG9ydGVkQ29uc3RyYWludHNDdXN0b20uY3BwCiAgICAgYmluZGluZ3MvanMvSlNNZXNzYWdlQ2hh
bm5lbEN1c3RvbS5jcHAKQEAgLTMwNDMsNiArMzA0NSwzMyBAQCBpZiAoRU5BQkxFX0xFR0FDWV9F
TkNSWVBURURfTUVESUEpCiAgICAgKQogZW5kaWYgKCkKIAoraWYgKEVOQUJMRV9FTkNSWVBURURf
TUVESUEpCisgICAgbGlzdChBUFBFTkQgV2ViQ29yZV9TT1VSQ0VTCisgICAgICAgIE1vZHVsZXMv
ZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlNZXNzYWdlRXZlbnQuY3BwCisgICAgICAgIE1vZHVsZXMv
ZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlTZXNzaW9uLmNwcAorICAgICAgICBNb2R1bGVzL2VuY3J5
cHRlZG1lZGlhL01lZGlhS2V5U3RhdHVzTWFwLmNwcAorICAgICAgICBNb2R1bGVzL2VuY3J5cHRl
ZG1lZGlhL01lZGlhS2V5U3lzdGVtQWNjZXNzLmNwcAorICAgICAgICBNb2R1bGVzL2VuY3J5cHRl
ZG1lZGlhL01lZGlhS2V5cy5jcHAKKyAgICAgICAgTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9OYXZp
Z2F0b3JFTUUuY3BwCisKKyAgICAgICAgaHRtbC9NZWRpYUVuY3J5cHRlZEV2ZW50LmNwcAorICAg
ICkKKyAgICBsaXN0KEFQUEVORCBXZWJDb3JlX0lETF9GSUxFUworICAgICkKKyAgICBsaXN0KEFQ
UEVORCBXZWJDb3JlX0lETF9GSUxFUworICAgICAgICBNb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01l
ZGlhS2V5TWVzc2FnZUV2ZW50LmlkbAorICAgICAgICBNb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01l
ZGlhS2V5U2Vzc2lvbi5pZGwKKyAgICAgICAgTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtl
eVN0YXR1c01hcC5pZGwKKyAgICAgICAgTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVN5
c3RlbUFjY2Vzcy5pZGwKKyAgICAgICAgTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVN5
c3RlbUNvbmZpZ3VyYXRpb24uaWRsCisgICAgICAgIE1vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVk
aWFLZXlTeXN0ZW1NZWRpYUNhcGFiaWxpdHkuaWRsCisgICAgICAgIE1vZHVsZXMvZW5jcnlwdGVk
bWVkaWEvTWVkaWFLZXlzLmlkbAorICAgICAgICBNb2R1bGVzL2VuY3J5cHRlZG1lZGlhL05hdmln
YXRvckVNRS5pZGwKKworICAgICAgICBodG1sL01lZGlhRW5jcnlwdGVkRXZlbnQuaWRsCisgICAg
KQorZW5kaWYgKCkKKwogbGlzdChBUFBFTkQgV2ViQ29yZV9DU1NfVkFMVUVfS0VZV09SRFMKICAg
ICAke1dFQkNPUkVfRElSfS9jc3MvU1ZHQ1NTVmFsdWVLZXl3b3Jkcy5pbgogKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwIGIvU291cmNlL1dlYkNvcmUvRGVy
aXZlZFNvdXJjZXMuY3BwCmluZGV4IDkzYzYxZTI5YzAyZDY2MWI1NDE1NWU5NTA2MmIwZTVkMTg4
OWUxMWMuLjM3ZTAzNzBmNWZlY2I2NzRiODI2NjFmODY1YjMzMTk2ZGMzZjNmOTkgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9EZXJpdmVkU291cmNlcy5jcHAKQEAgLTMyOCw2ICszMjgsMTUgQEAKICNpbmNsdWRlICJKU01l
ZGlhRWxlbWVudEF1ZGlvU291cmNlTm9kZS5jcHAiCiAjZW5kaWYKICNpbmNsdWRlICJKU01lZGlh
RXJyb3IuY3BwIgorI2lmIEVOQUJMRShFTkNSWVBURURfTUVESUEpCisjaW5jbHVkZSAiSlNNZWRp
YUtleU1lc3NhZ2VFdmVudC5jcHAiCisjaW5jbHVkZSAiSlNNZWRpYUtleVNlc3Npb24uY3BwIgor
I2luY2x1ZGUgIkpTTWVkaWFLZXlTdGF0dXNNYXAuY3BwIgorI2luY2x1ZGUgIkpTTWVkaWFLZXlT
eXN0ZW1BY2Nlc3MuY3BwIgorI2luY2x1ZGUgIkpTTWVkaWFLZXlTeXN0ZW1Db25maWd1cmF0aW9u
LmNwcCIKKyNpbmNsdWRlICJKU01lZGlhS2V5U3lzdGVtTWVkaWFDYXBhYmlsaXR5LmNwcCIKKyNp
bmNsdWRlICJKU01lZGlhS2V5cy5jcHAiCisjZW5kaWYKICNpbmNsdWRlICJKU01lZGlhTGlzdC5j
cHAiCiAjaW5jbHVkZSAiSlNNZWRpYVF1ZXJ5TGlzdC5jcHAiCiAjaW5jbHVkZSAiSlNNZWRpYVF1
ZXJ5TGlzdExpc3RlbmVyLmNwcCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRT
b3VyY2VzLm1ha2UgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCmluZGV4IGEy
MzYyNDVmNTI1ODUzZGYxNDkyYzEyMWZmMjAzNzljNjYxNGMwZTUuLmM0ODZiZDRhNzg4ZGY1NjA4
YWM0MDljNWVmYzQ3YTkzMTYwYmM2NmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2
ZWRTb3VyY2VzLm1ha2UKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQpA
QCAtMzAsNiArMzAsNyBAQCBWUEFUSCA9IFwKICAgICAkKFdlYkNvcmUpIFwKICAgICAkKFdlYkNv
cmUpL01vZHVsZXMvYWlycGxheSBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2FwcGxlcGF5IFwK
KyAgICAkKFdlYkNvcmUpL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEgXAogICAgICQoV2ViQ29yZSkv
TW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9sZWdhY3kgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9m
ZXRjaCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2dhbWVwYWQgXApAQCAtODMsNiArODQsMTQg
QEAgSlNfQklORElOR19JRExTID0gXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9hcHBsZXBheS9B
cHBsZVBheVNoaXBwaW5nQ29udGFjdFNlbGVjdGVkRXZlbnQuaWRsIFwKICAgICAkKFdlYkNvcmUp
L01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlTaGlwcGluZ01ldGhvZFNlbGVjdGVkRXZlbnQuaWRs
IFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlWYWxpZGF0ZU1lcmNo
YW50RXZlbnQuaWRsIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVk
aWFLZXlNZXNzYWdlRXZlbnQuaWRsIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvZW5jcnlwdGVk
bWVkaWEvTWVkaWFLZXlTZXNzaW9uLmlkbCBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2VuY3J5
cHRlZG1lZGlhL01lZGlhS2V5U3RhdHVzTWFwLmlkbCBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVz
L2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U3lzdGVtQWNjZXNzLmlkbCBcCisgICAgJChXZWJDb3Jl
KS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U3lzdGVtQ29uZmlndXJhdGlvbi5pZGwg
XAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVN5c3RlbU1l
ZGlhQ2FwYWJpbGl0eS5pZGwgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9lbmNyeXB0ZWRtZWRp
YS9NZWRpYUtleXMuaWRsIFwKKyAgICAkKFdlYkNvcmUpL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEv
TmF2aWdhdG9yRU1FLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlh
L2xlZ2FjeS9XZWJLaXRNZWRpYUtleU1lc3NhZ2VFdmVudC5pZGwgXAogICAgICQoV2ViQ29yZSkv
TW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9sZWdhY3kvV2ViS2l0TWVkaWFLZXlOZWVkZWRFdmVudC5p
ZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9sZWdhY3kvV2ViS2l0
TWVkaWFLZXlTZXNzaW9uLmlkbCBcCkBAIC00NjIsNiArNDcxLDcgQEAgSlNfQklORElOR19JRExT
ID0gXAogICAgICQoV2ViQ29yZSkvaHRtbC9IVE1MVmlkZW9FbGVtZW50LmlkbCBcCiAgICAgJChX
ZWJDb3JlKS9odG1sL0ltYWdlRGF0YS5pZGwgXAogICAgICQoV2ViQ29yZSkvaHRtbC9NZWRpYUNv
bnRyb2xsZXIuaWRsIFwKKyAgICAkKFdlYkNvcmUpL2h0bWwvTWVkaWFFbmNyeXB0ZWRFdmVudC5p
ZGwgXAogICAgICQoV2ViQ29yZSkvaHRtbC9NZWRpYUVycm9yLmlkbCBcCiAgICAgJChXZWJDb3Jl
KS9odG1sL1JhZGlvTm9kZUxpc3QuaWRsIFwKICAgICAkKFdlYkNvcmUpL2h0bWwvVGV4dE1ldHJp
Y3MuaWRsIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVk
aWEvTWVkaWFLZXlNZXNzYWdlRXZlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNy
eXB0ZWRtZWRpYS9NZWRpYUtleU1lc3NhZ2VFdmVudC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2Y3MWQzODY5
MmZmOGYxOTBiOTRjYzNkOWUyOWM1MWUzMzM5OWY4ZAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlNZXNzYWdlRXZlbnQuY3Bw
CkBAIC0wLDAgKzEsNTQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTYgTWV0cm9sb2dpY2Fs
IEdyb3VwIEIuVi4KKyAqIENvcHlyaWdodCAoQykgMjAxNiwgSWdhbGlhIFMuTC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZQorICogICAgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcKKyAqICAgIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZAorICogICAgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlS
SUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRP
LCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBUSEUgQ09QWVJJR0hUCisgKiBIT0xERVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
CisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJN
ZWRpYUtleU1lc3NhZ2VFdmVudC5oIgorCisjaWYgRU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkKKwor
I2luY2x1ZGUgIkV2ZW50TmFtZXMuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitNZWRpYUtl
eU1lc3NhZ2VFdmVudDo6TWVkaWFLZXlNZXNzYWdlRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiB0
eXBlLCBjb25zdCBNZWRpYUtleU1lc3NhZ2VFdmVudDo6SW5pdCYgaW5pdGlhbGl6ZXIsIElzVHJ1
c3RlZCBpc1RydXN0ZWQpCisgICAgOiBFdmVudCh0eXBlLCBpbml0aWFsaXplciwgaXNUcnVzdGVk
KQorICAgICwgbV9tZXNzYWdlVHlwZShpbml0aWFsaXplci5tZXNzYWdlVHlwZSkKKyAgICAsIG1f
bWVzc2FnZShpbml0aWFsaXplci5tZXNzYWdlKQoreworfQorCitNZWRpYUtleU1lc3NhZ2VFdmVu
dDo6fk1lZGlhS2V5TWVzc2FnZUV2ZW50KCkgPSBkZWZhdWx0OworCitFdmVudEludGVyZmFjZSBN
ZWRpYUtleU1lc3NhZ2VFdmVudDo6ZXZlbnRJbnRlcmZhY2UoKSBjb25zdAoreworICAgIHJldHVy
biBNZWRpYUtleU1lc3NhZ2VFdmVudEludGVyZmFjZVR5cGU7Cit9CisKK30gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShFTkNSWVBURURfTUVESUEpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5TWVzc2FnZUV2
ZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5TWVz
c2FnZUV2ZW50LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjIyMzZiNjAxYjc1NjVlZDVlMzk2MjY1ODc2YTYwNThi
NWJmNjU2OAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlw
dGVkbWVkaWEvTWVkaWFLZXlNZXNzYWdlRXZlbnQuaApAQCAtMCwwICsxLDY3IEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDE2IE1ldHJvbG9naWNhbCBHcm91cCBCLlYuCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTYsIElnYWxpYSBTLkwuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAq
IGFyZSBtZXQ6CisgKgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqICAgIGNvcHly
aWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nCisg
KiAgICBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQKKyAqICAgIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVU
T1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogSE9M
REVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkK
KyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisj
cHJhZ21hIG9uY2UKKworI2lmIEVOQUJMRShFTkNSWVBURURfTUVESUEpCisKKyNpbmNsdWRlICJF
dmVudC5oIgorI2luY2x1ZGUgIk1lZGlhS2V5TWVzc2FnZUV2ZW50SW5pdC5oIgorI2luY2x1ZGUg
Ik1lZGlhS2V5TWVzc2FnZVR5cGUuaCIKKyNpbmNsdWRlIDxydW50aW1lL0FycmF5QnVmZmVyLmg+
CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgTWVkaWFLZXlNZXNzYWdlRXZlbnQgZmlu
YWwgOiBwdWJsaWMgRXZlbnQgeworcHVibGljOgorICAgIHVzaW5nIFR5cGUgPSBNZWRpYUtleU1l
c3NhZ2VUeXBlOworICAgIHVzaW5nIEluaXQgPSBNZWRpYUtleU1lc3NhZ2VFdmVudEluaXQ7CisK
KyAgICB2aXJ0dWFsIH5NZWRpYUtleU1lc3NhZ2VFdmVudCgpOworCisgICAgc3RhdGljIFJlZjxN
ZWRpYUtleU1lc3NhZ2VFdmVudD4gY3JlYXRlKGNvbnN0IEF0b21pY1N0cmluZyYgdHlwZSwgY29u
c3QgTWVkaWFLZXlNZXNzYWdlRXZlbnRJbml0JiBpbml0aWFsaXplciwgSXNUcnVzdGVkIGlzVHJ1
c3RlZCA9IElzVHJ1c3RlZDo6Tm8pCisgICAgeworICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5l
dyBNZWRpYUtleU1lc3NhZ2VFdmVudCh0eXBlLCBpbml0aWFsaXplciwgaXNUcnVzdGVkKSk7Cisg
ICAgfQorCisgICAgVHlwZSBtZXNzYWdlVHlwZSgpIGNvbnN0IHsgcmV0dXJuIG1fbWVzc2FnZVR5
cGU7IH0KKyAgICBSZWZQdHI8SlNDOjpBcnJheUJ1ZmZlcj4gbWVzc2FnZSgpIGNvbnN0IHsgcmV0
dXJuIG1fbWVzc2FnZTsgfQorCitwcml2YXRlOgorICAgIE1lZGlhS2V5TWVzc2FnZUV2ZW50KGNv
bnN0IEF0b21pY1N0cmluZyYsIGNvbnN0IE1lZGlhS2V5TWVzc2FnZUV2ZW50SW5pdCYsIElzVHJ1
c3RlZCk7CisKKyAgICAvLyBFdmVudAorICAgIEV2ZW50SW50ZXJmYWNlIGV2ZW50SW50ZXJmYWNl
KCkgY29uc3Qgb3ZlcnJpZGU7CisKKyAgICBNZWRpYUtleU1lc3NhZ2VUeXBlIG1fbWVzc2FnZVR5
cGU7CisgICAgUmVmUHRyPEpTQzo6QXJyYXlCdWZmZXI+IG1fbWVzc2FnZTsKK307CisKK30gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShFTkNSWVBURURfTUVESUEpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5
TWVzc2FnZUV2ZW50LmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEv
TWVkaWFLZXlNZXNzYWdlRXZlbnQuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzODRiYjRiNjMzMGZmYzRhMDYz
ZWMwNDk5ZTIwYTA1NGEwYTYwNWYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5TWVzc2FnZUV2ZW50LmlkbApAQCAtMCwwICsx
LDQ3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE2IE1ldHJvbG9naWNhbCBHcm91cCBCLlYu
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTYsIElnYWxpYSBTLkwuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUKKyAqICAgIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nCisgKiAgICBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQKKyAqICAgIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVS
UyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENP
UFlSSUdIVAorICogSE9MREVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisg
KiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKyAqLworCitlbnVtIE1lZGlhS2V5TWVzc2FnZVR5cGUgeworICAgICJsaWNlbnNlLXJl
cXVlc3QiLAorICAgICJsaWNlbnNlLXJlbmV3YWwiLAorICAgICJsaWNlbnNlLXJlbGVhc2UiLAor
ICAgICJpbmRpdmlkdWFsaXphdGlvbi1yZXF1ZXN0IgorfTsKKworZGljdGlvbmFyeSBNZWRpYUtl
eU1lc3NhZ2VFdmVudEluaXQgOiBFdmVudEluaXQgeworICAgIHJlcXVpcmVkIE1lZGlhS2V5TWVz
c2FnZVR5cGUgbWVzc2FnZVR5cGU7CisgICAgcmVxdWlyZWQgQXJyYXlCdWZmZXIgbWVzc2FnZTsK
K307CisKK1sKKyAgICBDb25kaXRpb25hbD1FTkNSWVBURURfTUVESUEsCisgICAgQ29uc3RydWN0
b3IoRE9NU3RyaW5nIHR5cGUsIE1lZGlhS2V5TWVzc2FnZUV2ZW50SW5pdCBldmVudEluaXREaWN0
KSwKK10gaW50ZXJmYWNlIE1lZGlhS2V5TWVzc2FnZUV2ZW50IDogRXZlbnQgeworICAgIHJlYWRv
bmx5IGF0dHJpYnV0ZSBNZWRpYUtleU1lc3NhZ2VUeXBlIG1lc3NhZ2VUeXBlOworICAgIHJlYWRv
bmx5IGF0dHJpYnV0ZSBBcnJheUJ1ZmZlciBtZXNzYWdlOworfTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlNZXNzYWdlRXZlbnRJbml0
LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5TWVzc2Fn
ZUV2ZW50SW5pdC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjEzOWM2MDZhYjlmMWFmNjdmOTg3MjNkMjNhZGI0OGVm
MTUwYTMxZDAKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5
cHRlZG1lZGlhL01lZGlhS2V5TWVzc2FnZUV2ZW50SW5pdC5oCkBAIC0wLDAgKzEsNTQgQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTYgTWV0cm9sb2dpY2FsIEdyb3VwIEIuVi4KKyAqIENvcHly
aWdodCAoQykgMjAxNiwgSWdhbGlhIFMuTC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqCisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogICAg
Y29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcKKyAqICAgIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZAorICogICAgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05U
UklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisg
KiBIT0xERVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICov
CisKKyNwcmFnbWEgb25jZQorCisjaWYgRU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkKKworI2luY2x1
ZGUgIkV2ZW50LmgiCisjaW5jbHVkZSAiTWVkaWFLZXlNZXNzYWdlVHlwZS5oIgorI2luY2x1ZGUg
PHJ1bnRpbWUvQXJyYXlCdWZmZXIuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitzdHJ1Y3Qg
TWVkaWFLZXlNZXNzYWdlRXZlbnRJbml0IDogRXZlbnRJbml0IHsKKyAgICBNZWRpYUtleU1lc3Nh
Z2VFdmVudEluaXQoKSA9IGRlZmF1bHQ7CisKKyAgICBNZWRpYUtleU1lc3NhZ2VFdmVudEluaXQo
TWVkaWFLZXlNZXNzYWdlVHlwZSBtZXNzYWdlVHlwZSwgUmVmUHRyPEpTQzo6QXJyYXlCdWZmZXI+
JiYgbWVzc2FnZSkKKyAgICAgICAgOiBFdmVudEluaXQoKQorICAgICAgICAsIG1lc3NhZ2VUeXBl
KG1lc3NhZ2VUeXBlKQorICAgICAgICAsIG1lc3NhZ2UoV1RGTW92ZShtZXNzYWdlKSkKKyAgICB7
IH0KKworICAgIE1lZGlhS2V5TWVzc2FnZVR5cGUgbWVzc2FnZVR5cGU7CisgICAgUmVmUHRyPEpT
Qzo6QXJyYXlCdWZmZXI+IG1lc3NhZ2U7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisK
KyNlbmRpZiAvLyBFTkFCTEUoRU5DUllQVEVEX01FRElBKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleU1lc3NhZ2VUeXBlLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5TWVzc2FnZVR5cGUuaApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5kNWE2NWEyYjkwZTFmMjc0YTQ0MmVkNTczNTk5YzkwYTBiMmUzYTJhCi0tLSAv
ZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRp
YUtleU1lc3NhZ2VUeXBlLmgKQEAgLTAsMCArMSw0NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAxNiBNZXRyb2xvZ2ljYWwgR3JvdXAgQi5WLgorICogQ29weXJpZ2h0IChDKSAyMDE2LCBJZ2Fs
aWEgUy5MLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiAgICBjb3B5cmlnaHQgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZworICogICAgZGlzY2xhaW1l
ciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkCisg
KiAgICB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElT
IiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIEhPTERFUiBPUiBDT05UUklC
VVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAq
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
CisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisK
KyNpZiBFTkFCTEUoRU5DUllQVEVEX01FRElBKQorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2Vu
dW0gY2xhc3MgTWVkaWFLZXlNZXNzYWdlVHlwZSB7CisgICAgTGljZW5zZVJlcXVlc3QsCisgICAg
TGljZW5zZVJlbmV3YWwsCisgICAgTGljZW5zZVJlbGVhc2UsCisgICAgSW5kaXZpZHVhbGl6YXRp
b25SZXF1ZXN0Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFC
TEUoRU5DUllQVEVEX01FRElBKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9l
bmNyeXB0ZWRtZWRpYS9NZWRpYUtleVNlc3Npb24uY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVNlc3Npb24uY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmY5OTA0YTI0
ZTBiZmFlZTExYjg4NGRlMTZlN2Q1MzRkMjZjZjNkYjIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U2Vzc2lvbi5jcHAKQEAg
LTAsMCArMSwxMjEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTYgTWV0cm9sb2dpY2FsIEdy
b3VwIEIuVi4KKyAqIENvcHlyaWdodCAoQykgMjAxNiwgSWdhbGlhIFMuTC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZQorICogICAgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcKKyAqICAgIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZAorICogICAgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdI
VCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IK
KyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBUSEUgQ09QWVJJR0hUCisgKiBIT0xERVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisg
KiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJNZWRp
YUtleVNlc3Npb24uaCIKKworI2lmIEVOQUJMRShFTkNSWVBURURfTUVESUEpCisKKyNpbmNsdWRl
ICJNZWRpYUtleVN0YXR1c01hcC5oIgorI2luY2x1ZGUgIk5vdEltcGxlbWVudGVkLmgiCisKK25h
bWVzcGFjZSBXZWJDb3JlIHsKKworUmVmPE1lZGlhS2V5U2Vzc2lvbj4gTWVkaWFLZXlTZXNzaW9u
OjpjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCkKK3sKKyAgICBhdXRvIHNl
c3Npb24gPSBhZG9wdFJlZigqbmV3IE1lZGlhS2V5U2Vzc2lvbihjb250ZXh0KSk7CisgICAgc2Vz
c2lvbi0+c3VzcGVuZElmTmVlZGVkKCk7CisgICAgcmV0dXJuIHNlc3Npb247Cit9CisKK01lZGlh
S2V5U2Vzc2lvbjo6TWVkaWFLZXlTZXNzaW9uKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRl
eHQpCisgICAgOiBBY3RpdmVET01PYmplY3QoJmNvbnRleHQpCit7Cit9CisKK01lZGlhS2V5U2Vz
c2lvbjo6fk1lZGlhS2V5U2Vzc2lvbigpID0gZGVmYXVsdDsKKworY29uc3QgU3RyaW5nJiBNZWRp
YUtleVNlc3Npb246OnNlc3Npb25JZCgpIGNvbnN0Cit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsK
KyAgICByZXR1cm4gZW1wdHlTdHJpbmcoKTsKK30KKworZG91YmxlIE1lZGlhS2V5U2Vzc2lvbjo6
ZXhwaXJhdGlvbigpIGNvbnN0Cit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICByZXR1cm4g
MDsKK30KKworUmVmUHRyPE1lZGlhS2V5U3RhdHVzTWFwPiBNZWRpYUtleVNlc3Npb246OmtleVN0
YXR1c2VzKCkgY29uc3QKK3sKKyAgICBub3RJbXBsZW1lbnRlZCgpOworICAgIHJldHVybiBudWxs
cHRyOworfQorCit2b2lkIE1lZGlhS2V5U2Vzc2lvbjo6Z2VuZXJhdGVSZXF1ZXN0KGNvbnN0IFN0
cmluZyYsIGNvbnN0IEJ1ZmZlclNvdXJjZSYsIEdlbmVyYXRlUmVxdWVzdFByb21pc2UmJikKK3sK
KyAgICBub3RJbXBsZW1lbnRlZCgpOworfQorCit2b2lkIE1lZGlhS2V5U2Vzc2lvbjo6bG9hZChj
b25zdCBTdHJpbmcmLCBMb2FkUHJvbWlzZSYmKQoreworICAgIG5vdEltcGxlbWVudGVkKCk7Cit9
CisKK3ZvaWQgTWVkaWFLZXlTZXNzaW9uOjp1cGRhdGUoY29uc3QgQnVmZmVyU291cmNlJiwgVXBk
YXRlUHJvbWlzZSYmKQoreworICAgIG5vdEltcGxlbWVudGVkKCk7Cit9CisKK3ZvaWQgTWVkaWFL
ZXlTZXNzaW9uOjpjbG9zZShDbG9zZVByb21pc2UmJikKK3sKKyAgICBub3RJbXBsZW1lbnRlZCgp
OworfQorCit2b2lkIE1lZGlhS2V5U2Vzc2lvbjo6cmVtb3ZlKFJlbW92ZVByb21pc2UmJikKK3sK
KyAgICBub3RJbXBsZW1lbnRlZCgpOworfQorCitib29sIE1lZGlhS2V5U2Vzc2lvbjo6aGFzUGVu
ZGluZ0FjdGl2aXR5KCkgY29uc3QKK3sKKyAgICBub3RJbXBsZW1lbnRlZCgpOworICAgIHJldHVy
biBmYWxzZTsKK30KKworY29uc3QgY2hhciogTWVkaWFLZXlTZXNzaW9uOjphY3RpdmVET01PYmpl
Y3ROYW1lKCkgY29uc3QKK3sKKyAgICBub3RJbXBsZW1lbnRlZCgpOworICAgIHJldHVybiAiTWVk
aWFLZXlTZXNzaW9uIjsKK30KKworYm9vbCBNZWRpYUtleVNlc3Npb246OmNhblN1c3BlbmRGb3JE
b2N1bWVudFN1c3BlbnNpb24oKSBjb25zdAoreworICAgIG5vdEltcGxlbWVudGVkKCk7CisgICAg
cmV0dXJuIGZhbHNlOworfQorCit2b2lkIE1lZGlhS2V5U2Vzc2lvbjo6c3RvcCgpCit7CisgICAg
bm90SW1wbGVtZW50ZWQoKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFL
ZXlTZXNzaW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlh
S2V5U2Vzc2lvbi5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQ1MmI5MTU2Yzk1OTg4ZjliMzhjYTQ1ZjdhZDc5OWM4
NzJhZGY5YWEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5
cHRlZG1lZGlhL01lZGlhS2V5U2Vzc2lvbi5oCkBAIC0wLDAgKzEsOTIgQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTYgTWV0cm9sb2dpY2FsIEdyb3VwIEIuVi4KKyAqIENvcHlyaWdodCAoQykg
MjAxNiwgSWdhbGlhIFMuTC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqCisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogICAgY29weXJpZ2h0
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcKKyAqICAg
IGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZAorICogICAgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMK
KyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBIT0xERVIg
T1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICog
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFn
bWEgb25jZQorCisjaWYgRU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkKKworI2luY2x1ZGUgIkFjdGl2
ZURPTU9iamVjdC5oIgorI2luY2x1ZGUgIkV2ZW50VGFyZ2V0LmgiCisjaW5jbHVkZSAiR2VuZXJp
Y0V2ZW50UXVldWUuaCIKKyNpbmNsdWRlICJKU0RPTVByb21pc2UuaCIKKyNpbmNsdWRlICJNZWRp
YUtleVNlc3Npb25UeXBlLmgiCisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKyNpbmNsdWRl
IDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBC
dWZmZXJTb3VyY2U7CitjbGFzcyBNZWRpYUtleVN0YXR1c01hcDsKK2NsYXNzIE1lZGlhS2V5czsK
KworY2xhc3MgTWVkaWFLZXlTZXNzaW9uIGZpbmFsIDogcHVibGljIFJlZkNvdW50ZWQ8TWVkaWFL
ZXlTZXNzaW9uPiwgcHVibGljIEV2ZW50VGFyZ2V0V2l0aElubGluZURhdGEsIHB1YmxpYyBBY3Rp
dmVET01PYmplY3QgeworcHVibGljOgorICAgIHN0YXRpYyBSZWY8TWVkaWFLZXlTZXNzaW9uPiBj
cmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYpOworICAgIHZpcnR1YWwgfk1lZGlhS2V5U2Vz
c2lvbigpOworCisgICAgdXNpbmcgUmVmQ291bnRlZDxNZWRpYUtleVNlc3Npb24+OjpyZWY7Cisg
ICAgdXNpbmcgUmVmQ291bnRlZDxNZWRpYUtleVNlc3Npb24+OjpkZXJlZjsKKworICAgIGNvbnN0
IFN0cmluZyYgc2Vzc2lvbklkKCkgY29uc3Q7CisgICAgZG91YmxlIGV4cGlyYXRpb24oKSBjb25z
dDsKKyAgICBSZWZQdHI8TWVkaWFLZXlTdGF0dXNNYXA+IGtleVN0YXR1c2VzKCkgY29uc3Q7CisK
KyAgICB1c2luZyBHZW5lcmF0ZVJlcXVlc3RQcm9taXNlID0gRE9NUHJvbWlzZTxzdGQ6Om51bGxw
dHJfdD47CisgICAgdm9pZCBnZW5lcmF0ZVJlcXVlc3QoY29uc3QgU3RyaW5nJiwgY29uc3QgQnVm
ZmVyU291cmNlJiwgR2VuZXJhdGVSZXF1ZXN0UHJvbWlzZSYmKTsKKworICAgIHVzaW5nIExvYWRQ
cm9taXNlID0gRE9NUHJvbWlzZTxib29sPjsKKyAgICB2b2lkIGxvYWQoY29uc3QgU3RyaW5nJiwg
TG9hZFByb21pc2UmJik7CisKKyAgICB1c2luZyBVcGRhdGVQcm9taXNlID0gRE9NUHJvbWlzZTxz
dGQ6Om51bGxwdHJfdD47CisgICAgdm9pZCB1cGRhdGUoY29uc3QgQnVmZmVyU291cmNlJiwgVXBk
YXRlUHJvbWlzZSYmKTsKKworICAgIHVzaW5nIENsb3NlUHJvbWlzZSA9IERPTVByb21pc2U8c3Rk
OjpudWxscHRyX3Q+OworICAgIHZvaWQgY2xvc2UoQ2xvc2VQcm9taXNlJiYpOworCisgICAgdXNp
bmcgUmVtb3ZlUHJvbWlzZSA9IERPTVByb21pc2U8c3RkOjpudWxscHRyX3Q+OworICAgIHZvaWQg
cmVtb3ZlKFJlbW92ZVByb21pc2UmJik7CisKK3ByaXZhdGU6CisgICAgTWVkaWFLZXlTZXNzaW9u
KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmKTsKKworICAgIC8vIEV2ZW50VGFyZ2V0CisgICAgRXZl
bnRUYXJnZXRJbnRlcmZhY2UgZXZlbnRUYXJnZXRJbnRlcmZhY2UoKSBjb25zdCBvdmVycmlkZSB7
IHJldHVybiBNZWRpYUtleVNlc3Npb25FdmVudFRhcmdldEludGVyZmFjZVR5cGU7IH0KKyAgICBT
Y3JpcHRFeGVjdXRpb25Db250ZXh0KiBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkgY29uc3Qgb3Zl
cnJpZGUgeyByZXR1cm4gQWN0aXZlRE9NT2JqZWN0OjpzY3JpcHRFeGVjdXRpb25Db250ZXh0KCk7
IH0KKyAgICB2b2lkIHJlZkV2ZW50VGFyZ2V0KCkgb3ZlcnJpZGUgeyByZWYoKTsgfQorICAgIHZv
aWQgZGVyZWZFdmVudFRhcmdldCgpIG92ZXJyaWRlIHsgZGVyZWYoKTsgfQorCisgICAgLy8gQWN0
aXZlRE9NT2JqZWN0CisgICAgYm9vbCBoYXNQZW5kaW5nQWN0aXZpdHkoKSBjb25zdCBvdmVycmlk
ZTsKKyAgICBjb25zdCBjaGFyKiBhY3RpdmVET01PYmplY3ROYW1lKCkgY29uc3Qgb3ZlcnJpZGU7
CisgICAgYm9vbCBjYW5TdXNwZW5kRm9yRG9jdW1lbnRTdXNwZW5zaW9uKCkgY29uc3Qgb3ZlcnJp
ZGU7CisgICAgdm9pZCBzdG9wKCkgb3ZlcnJpZGU7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoRU5DUllQVEVEX01FRElBKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVNlc3Npb24uaWRsIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVNlc3Npb24uaWRs
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjU2ZWRjNmMxYjA3OWNkYjAxZTJlYzA1MmVjYzZmMjMzMGEyYmUzOTkKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01l
ZGlhS2V5U2Vzc2lvbi5pZGwKQEAgLTAsMCArMSw0MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAxNiBNZXRyb2xvZ2ljYWwgR3JvdXAgQi5WLgorICogQ29weXJpZ2h0IChDKSAyMDE2LCBJZ2Fs
aWEgUy5MLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiAgICBjb3B5cmlnaHQgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZworICogICAgZGlzY2xhaW1l
ciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkCisg
KiAgICB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElT
IiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIEhPTERFUiBPUiBDT05UUklC
VVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAq
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
CisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworWworICAgIENvbmRpdGlv
bmFsPUVOQ1JZUFRFRF9NRURJQSwKK10gaW50ZXJmYWNlIE1lZGlhS2V5U2Vzc2lvbiA6IEV2ZW50
VGFyZ2V0IHsKKyAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHNlc3Npb25JZDsKKyAg
ICByZWFkb25seSBhdHRyaWJ1dGUgdW5yZXN0cmljdGVkIGRvdWJsZSBleHBpcmF0aW9uOworICAg
IFtDdXN0b21HZXR0ZXIsIENhY2hlZEF0dHJpYnV0ZV0gcmVhZG9ubHkgYXR0cmlidXRlIFByb21p
c2UgY2xvc2VkOworICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBNZWRpYUtleVN0YXR1c01hcCBrZXlT
dGF0dXNlczsKKyAgICBhdHRyaWJ1dGUgRXZlbnRIYW5kbGVyIG9ua2V5c3RhdHVzZXNjaGFuZ2U7
CisgICAgYXR0cmlidXRlIEV2ZW50SGFuZGxlciBvbm1lc3NhZ2U7CisgICAgUHJvbWlzZSBnZW5l
cmF0ZVJlcXVlc3QoRE9NU3RyaW5nIGluaXREYXRhVHlwZSwgQnVmZmVyU291cmNlIGluaXREYXRh
KTsKKyAgICBQcm9taXNlIGxvYWQoRE9NU3RyaW5nIHNlc3Npb25JZCk7CisgICAgUHJvbWlzZSB1
cGRhdGUoQnVmZmVyU291cmNlIHJlc3BvbnNlKTsKKyAgICBQcm9taXNlIGNsb3NlKCk7CisgICAg
UHJvbWlzZSByZW1vdmUoKTsKK307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U2Vzc2lvblR5cGUuaCBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlTZXNzaW9uVHlwZS5oCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjlk
ZDNmNDY3Y2MwODNlZmZlMjg3MjEwY2M3MWEwMGZmODAwY2VhNTMKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U2Vzc2lvblR5
cGUuaApAQCAtMCwwICsxLDQzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE2IE1ldHJvbG9n
aWNhbCBHcm91cCBCLlYuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTYsIElnYWxpYSBTLkwuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgorICogMS4gUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUKKyAqICAgIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nCisgKiAgICBkaXNjbGFpbWVyIGluIHRoZSBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQKKyAqICAgIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBD
T1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRF
RCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogSE9MREVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICog
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lmIEVOQUJMRShF
TkNSWVBURURfTUVESUEpCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworZW51bSBjbGFzcyBNZWRp
YUtleVNlc3Npb25UeXBlIHsKKyAgICBUZW1wb3JhcnksCisgICAgUGVyc2lzdGVudFVzYWdlUmVj
b3JkLAorICAgIFBlcnNpc3RlbnRMaWNlbnNlCit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3Jl
CisKKyNlbmRpZiAvLyBFTkFCTEUoRU5DUllQVEVEX01FRElBKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVN0YXR1cy5oIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVN0YXR1cy5oCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjI5Mjg1ZjBmNDQ1OGVmYzRiODg2ZTIzMDRhZWVlMDk1NzNkNzg1YWEKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U3Rh
dHVzLmgKQEAgLTAsMCArMSw0NyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNiBNZXRyb2xv
Z2ljYWwgR3JvdXAgQi5WLgorICogQ29weXJpZ2h0IChDKSAyMDE2LCBJZ2FsaWEgUy5MLgorICoK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICoKKyAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlCisgKiAgICBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZworICogICAgZGlzY2xhaW1lciBpbiB0aGUgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkCisgKiAgICB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUg
Q09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlU
RUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIEhPTERFUiBPUiBDT05UUklCVVRPUlMgQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAq
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBFTkFCTEUo
RU5DUllQVEVEX01FRElBKQorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2VudW0gY2xhc3MgTWVk
aWFLZXlTdGF0dXMgeworICAgIFVzYWJsZSwKKyAgICBFeHBpcmVkLAorICAgIFJlbGVhc2VkLAor
ICAgIE91dHB1dFJlc3RyaWN0ZWQsCisgICAgT3V0cHV0RG93bnNjYWxlZCwKKyAgICBTdGF0dXNQ
ZW5kaW5nLAorICAgIEludGVybmFsRXJyb3IKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUK
KworI2VuZGlmIC8vIEVOQUJMRShFTkNSWVBURURfTUVESUEpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U3RhdHVzTWFwLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlTdGF0dXNNYXAuY3Bw
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjJhNzg5MGYwMDA2YWJjZmI3NGE0NGVhNzY1MzE5YjA1MGI4MTQxNTMKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01l
ZGlhS2V5U3RhdHVzTWFwLmNwcApAQCAtMCwwICsxLDcxIEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDE2IE1ldHJvbG9naWNhbCBHcm91cCBCLlYuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTYsIEln
YWxpYSBTLkwuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6Cisg
KgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqICAgIGNvcHlyaWdodCBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nCisgKiAgICBkaXNjbGFp
bWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQK
KyAqICAgIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMg
SVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogSE9MREVSIE9SIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAor
ICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29u
ZmlnLmgiCisjaW5jbHVkZSAiTWVkaWFLZXlTdGF0dXNNYXAuaCIKKworI2lmIEVOQUJMRShFTkNS
WVBURURfTUVESUEpCisKKyNpbmNsdWRlICJOb3RJbXBsZW1lbnRlZC5oIgorCituYW1lc3BhY2Ug
V2ViQ29yZSB7CisKK01lZGlhS2V5U3RhdHVzTWFwOjpNZWRpYUtleVN0YXR1c01hcCgpID0gZGVm
YXVsdDsKKworTWVkaWFLZXlTdGF0dXNNYXA6On5NZWRpYUtleVN0YXR1c01hcCgpID0gZGVmYXVs
dDsKKwordW5zaWduZWQgbG9uZyBNZWRpYUtleVN0YXR1c01hcDo6c2l6ZSgpCit7CisgICAgbm90
SW1wbGVtZW50ZWQoKTsKKyAgICByZXR1cm4gMDsKK30KKworYm9vbCBNZWRpYUtleVN0YXR1c01h
cDo6aGFzKGNvbnN0IEJ1ZmZlclNvdXJjZSYpCit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKKyAg
ICByZXR1cm4gZmFsc2U7Cit9CisKK0pTQzo6SlNWYWx1ZSBNZWRpYUtleVN0YXR1c01hcDo6Z2V0
KGNvbnN0IEJ1ZmZlclNvdXJjZSYpCit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICByZXR1
cm4gSlNDOjpqc1VuZGVmaW5lZCgpOworfQorCitNZWRpYUtleVN0YXR1c01hcDo6SXRlcmF0b3I6
Okl0ZXJhdG9yKE1lZGlhS2V5U3RhdHVzTWFwJikKK3sKK30KKworT3B0aW9uYWw8V1RGOjpLZXlW
YWx1ZVBhaXI8QnVmZmVyU291cmNlOjpWYXJpYW50VHlwZSwgTWVkaWFLZXlTdGF0dXM+PiBNZWRp
YUtleVN0YXR1c01hcDo6SXRlcmF0b3I6Om5leHQoKQoreworICAgIHJldHVybiBOdWxsb3B0Owor
fQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoRU5DUllQVEVE
X01FRElBKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRp
YS9NZWRpYUtleVN0YXR1c01hcC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRt
ZWRpYS9NZWRpYUtleVN0YXR1c01hcC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmVhYjg4OWQxMmE1NTI0NDdlMmQ5
YWVmOWJlM2FjMzlhNWY2ZDE1NmUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U3RhdHVzTWFwLmgKQEAgLTAsMCArMSw3MSBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNiBNZXRyb2xvZ2ljYWwgR3JvdXAgQi5WLgorICog
Q29weXJpZ2h0IChDKSAyMDE2LCBJZ2FsaWEgUy5MLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCisgKiBhcmUgbWV0OgorICoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisg
KiAgICBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZworICogICAgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkCisgKiAgICB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5E
IENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNV
TEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklH
SFQKKyAqIEhPTERFUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoRU5DUllQVEVEX01FRElBKQorCisj
aW5jbHVkZSAiQnVmZmVyU291cmNlLmgiCisjaW5jbHVkZSAiTWVkaWFLZXlTdGF0dXMuaCIKKyNp
bmNsdWRlIDxydW50aW1lL0pTQ0pTVmFsdWVJbmxpbmVzLmg+CisjaW5jbHVkZSA8d3RmL0hhc2hU
cmFpdHMuaD4KKyNpbmNsdWRlIDx3dGYvT3B0aW9uYWwuaD4KKyNpbmNsdWRlIDx3dGYvUmVmLmg+
CisjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitj
bGFzcyBNZWRpYUtleVN0YXR1c01hcCA6IHB1YmxpYyBSZWZDb3VudGVkPE1lZGlhS2V5U3RhdHVz
TWFwPiB7CitwdWJsaWM6CisgICAgdXNpbmcgU3RhdHVzID0gTWVkaWFLZXlTdGF0dXM7CisKKyAg
ICBzdGF0aWMgUmVmPE1lZGlhS2V5U3RhdHVzTWFwPiBjcmVhdGUoKQorICAgIHsKKyAgICAgICAg
cmV0dXJuIGFkb3B0UmVmKCpuZXcgTWVkaWFLZXlTdGF0dXNNYXApOworICAgIH0KKworICAgIHZp
cnR1YWwgfk1lZGlhS2V5U3RhdHVzTWFwKCk7CisKKyAgICB1bnNpZ25lZCBsb25nIHNpemUoKTsK
KyAgICBib29sIGhhcyhjb25zdCBCdWZmZXJTb3VyY2UmKTsKKyAgICBKU0M6OkpTVmFsdWUgZ2V0
KGNvbnN0IEJ1ZmZlclNvdXJjZSYpOworCisgICAgY2xhc3MgSXRlcmF0b3IgeworICAgIHB1Ymxp
YzoKKyAgICAgICAgZXhwbGljaXQgSXRlcmF0b3IoTWVkaWFLZXlTdGF0dXNNYXAmKTsKKyAgICAg
ICAgT3B0aW9uYWw8V1RGOjpLZXlWYWx1ZVBhaXI8QnVmZmVyU291cmNlOjpWYXJpYW50VHlwZSwg
TWVkaWFLZXlTdGF0dXM+PiBuZXh0KCk7CisgICAgfTsKKyAgICBJdGVyYXRvciBjcmVhdGVJdGVy
YXRvcigpIHsgcmV0dXJuIEl0ZXJhdG9yKCp0aGlzKTsgfQorCitwcml2YXRlOgorICAgIE1lZGlh
S2V5U3RhdHVzTWFwKCk7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAv
LyBFTkFCTEUoRU5DUllQVEVEX01FRElBKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVN0YXR1c01hcC5pZGwgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U3RhdHVzTWFwLmlkbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5mNDk0OGJlZDg4MTlmMjBiYmI4Yzk2ZTU0ZjEzYmZkNTIyZDYzMzdkCi0tLSAvZGV2L251bGwK
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVN0YXR1
c01hcC5pZGwKQEAgLTAsMCArMSw0NiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNiBNZXRy
b2xvZ2ljYWwgR3JvdXAgQi5WLgorICogQ29weXJpZ2h0IChDKSAyMDE2LCBJZ2FsaWEgUy5MLgor
ICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICoKKyAqIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiAgICBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZworICogICAgZGlzY2xhaW1lciBpbiB0aGUg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkCisgKiAgICB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBU
SEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJ
TUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIEhPTERFUiBPUiBDT05UUklCVVRPUlMgQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QK
KyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworZW51bSBNZWRpYUtleVN0YXR1cyB7Cisg
ICAgInVzYWJsZSIsCisgICAgImV4cGlyZWQiLAorICAgICJyZWxlYXNlZCIsCisgICAgIm91dHB1
dC1yZXN0cmljdGVkIiwKKyAgICAib3V0cHV0LWRvd25zY2FsZWQiLAorICAgICJzdGF0dXMtcGVu
ZGluZyIsCisgICAgImludGVybmFsLWVycm9yIgorfTsKKworWworICAgIENvbmRpdGlvbmFsPUVO
Q1JZUFRFRF9NRURJQQorXSBpbnRlcmZhY2UgTWVkaWFLZXlTdGF0dXNNYXAgeworICAgIGl0ZXJh
YmxlPEJ1ZmZlclNvdXJjZSwgTWVkaWFLZXlTdGF0dXM+OworICAgIHJlYWRvbmx5IGF0dHJpYnV0
ZSB1bnNpZ25lZCBsb25nIHNpemU7CisgICAgYm9vbGVhbiBoYXMoQnVmZmVyU291cmNlIGtleUlk
KTsKKyAgICBhbnkgZ2V0KEJ1ZmZlclNvdXJjZSBrZXlJZCk7Cit9OwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVN5c3RlbUFjY2Vzcy5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U3lzdGVt
QWNjZXNzLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xYmI5MDE5YWJhMzc0ZjExMmEwMjExNjUyNjMzYzE3OGI2
YTA5NGU2Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0
ZWRtZWRpYS9NZWRpYUtleVN5c3RlbUFjY2Vzcy5jcHAKQEAgLTAsMCArMSw2MiBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAxNiBNZXRyb2xvZ2ljYWwgR3JvdXAgQi5WLgorICogQ29weXJpZ2h0
IChDKSAyMDE2LCBJZ2FsaWEgUy5MLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisg
KiBhcmUgbWV0OgorICoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiAgICBjb3B5
cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZwor
ICogICAgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkCisgKiAgICB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJV
VE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIEhP
TERFUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
CisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwor
I2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIk1lZGlhS2V5U3lzdGVtQWNjZXNzLmgiCisK
KyNpZiBFTkFCTEUoRU5DUllQVEVEX01FRElBKQorCisjaW5jbHVkZSAiTWVkaWFLZXlTeXN0ZW1D
b25maWd1cmF0aW9uLmgiCisjaW5jbHVkZSAiTm90SW1wbGVtZW50ZWQuaCIKKworbmFtZXNwYWNl
IFdlYkNvcmUgeworCitNZWRpYUtleVN5c3RlbUFjY2Vzczo6TWVkaWFLZXlTeXN0ZW1BY2Nlc3Mo
KSA9IGRlZmF1bHQ7CisKK01lZGlhS2V5U3lzdGVtQWNjZXNzOjp+TWVkaWFLZXlTeXN0ZW1BY2Nl
c3MoKSA9IGRlZmF1bHQ7CisKK2NvbnN0IFN0cmluZyYgTWVkaWFLZXlTeXN0ZW1BY2Nlc3M6Omtl
eVN5c3RlbSgpIGNvbnN0Cit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICByZXR1cm4gbV9r
ZXlTeXN0ZW07Cit9CisKK2NvbnN0IE1lZGlhS2V5U3lzdGVtQ29uZmlndXJhdGlvbiYgTWVkaWFL
ZXlTeXN0ZW1BY2Nlc3M6OmdldENvbmZpZ3VyYXRpb24oKSBjb25zdAoreworICAgIG5vdEltcGxl
bWVudGVkKCk7CisgICAgcmV0dXJuIG1fY29uZmlndXJhdGlvbjsKK30KKwordm9pZCBNZWRpYUtl
eVN5c3RlbUFjY2Vzczo6Y3JlYXRlTWVkaWFLZXlzKENyZWF0ZU1lZGlhS2V5c1Byb21pc2UmJikK
K3sKKyAgICBub3RJbXBsZW1lbnRlZCgpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisK
KyNlbmRpZiAvLyBFTkFCTEUoRU5DUllQVEVEX01FRElBKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVN5c3RlbUFjY2Vzcy5oIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVN5c3RlbUFjY2Vzcy5o
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmIxOTZjMWQ0NDViMWM5YzRmYzRmNmY0ZmU0NGY0NTBmOTEyNTI0YmEKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01l
ZGlhS2V5U3lzdGVtQWNjZXNzLmgKQEAgLTAsMCArMSw2NiBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAxNiBNZXRyb2xvZ2ljYWwgR3JvdXAgQi5WLgorICogQ29weXJpZ2h0IChDKSAyMDE2LCBJ
Z2FsaWEgUy5MLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0Ogor
ICoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiAgICBjb3B5cmlnaHQgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZworICogICAgZGlzY2xh
aW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
CisgKiAgICB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFT
IElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIEhPTERFUiBPUiBDT05U
UklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwK
KyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNl
CisKKyNpZiBFTkFCTEUoRU5DUllQVEVEX01FRElBKQorCisjaW5jbHVkZSAiSlNET01Qcm9taXNl
LmgiCisjaW5jbHVkZSAiTWVkaWFLZXlTeXN0ZW1Db25maWd1cmF0aW9uLmgiCisjaW5jbHVkZSA8
d3RmL1JlZkNvdW50ZWQuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KKworbmFt
ZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBNZWRpYUtleXM7CisKK2NsYXNzIE1lZGlhS2V5U3lz
dGVtQWNjZXNzIDogcHVibGljIFJlZkNvdW50ZWQ8TWVkaWFLZXlTeXN0ZW1BY2Nlc3M+IHsKK3B1
YmxpYzoKKyAgICBzdGF0aWMgUmVmPE1lZGlhS2V5U3lzdGVtQWNjZXNzPiBjcmVhdGUoKQorICAg
IHsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgTWVkaWFLZXlTeXN0ZW1BY2Nlc3MpOwor
ICAgIH0KKworICAgIHZpcnR1YWwgfk1lZGlhS2V5U3lzdGVtQWNjZXNzKCk7CisKKyAgICBjb25z
dCBTdHJpbmcmIGtleVN5c3RlbSgpIGNvbnN0OworICAgIGNvbnN0IE1lZGlhS2V5U3lzdGVtQ29u
ZmlndXJhdGlvbiYgZ2V0Q29uZmlndXJhdGlvbigpIGNvbnN0OworCisgICAgdHlwZWRlZiBET01Q
cm9taXNlPE1lZGlhS2V5cz4gQ3JlYXRlTWVkaWFLZXlzUHJvbWlzZTsKKyAgICB2b2lkIGNyZWF0
ZU1lZGlhS2V5cyhDcmVhdGVNZWRpYUtleXNQcm9taXNlJiYpOworCitwcml2YXRlOgorICAgIE1l
ZGlhS2V5U3lzdGVtQWNjZXNzKCk7CisKKyAgICBTdHJpbmcgbV9rZXlTeXN0ZW07CisgICAgTWVk
aWFLZXlTeXN0ZW1Db25maWd1cmF0aW9uIG1fY29uZmlndXJhdGlvbjsKK307CisKK30gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShFTkNSWVBURURfTUVESUEpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U3lz
dGVtQWNjZXNzLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVk
aWFLZXlTeXN0ZW1BY2Nlc3MuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU4YWJkNWVjOWE4MDcwYmVhYThmMDRi
YTkwNTY4MDg3NGZmN2YxNzQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U3lzdGVtQWNjZXNzLmlkbApAQCAtMCwwICsxLDM1
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE2IE1ldHJvbG9naWNhbCBHcm91cCBCLlYuCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTYsIElnYWxpYSBTLkwuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUK
KyAqICAgIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nCisgKiAgICBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQKKyAqICAgIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBB
TkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlS
SUdIVAorICogSE9MREVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKyAqLworCitbCisgICAgQ29uZGl0aW9uYWw9RU5DUllQVEVEX01FRElBCitdIGludGVyZmFj
ZSBNZWRpYUtleVN5c3RlbUFjY2VzcyB7CisgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmlu
ZyBrZXlTeXN0ZW07CisgICAgW0N1c3RvbV0gTWVkaWFLZXlTeXN0ZW1Db25maWd1cmF0aW9uIGdl
dENvbmZpZ3VyYXRpb24oKTsKKyAgICBQcm9taXNlIGNyZWF0ZU1lZGlhS2V5cygpOworfTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlT
eXN0ZW1Db25maWd1cmF0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1l
ZGlhL01lZGlhS2V5U3lzdGVtQ29uZmlndXJhdGlvbi5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmVhYmU1OTAxOTMy
NTg2ZDMzMTg4ZWZkNjhiNjY0ZDFlOGI1MGY1OWQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U3lzdGVtQ29uZmlndXJhdGlv
bi5oCkBAIC0wLDAgKzEsNTQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTYgTWV0cm9sb2dp
Y2FsIEdyb3VwIEIuVi4KKyAqIENvcHlyaWdodCAoQykgMjAxNiwgSWdhbGlhIFMuTC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZQorICogICAgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcKKyAqICAgIGRpc2NsYWltZXIgaW4gdGhlIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZAorICogICAgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENP
UFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVE
IFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBIT0xERVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaWYgRU5BQkxFKEVO
Q1JZUFRFRF9NRURJQSkKKworI2luY2x1ZGUgIk1lZGlhS2V5U3lzdGVtTWVkaWFDYXBhYmlsaXR5
LmgiCisjaW5jbHVkZSAiTWVkaWFLZXlzUmVxdWlyZW1lbnQuaCIKKyNpbmNsdWRlIDx3dGYvVmVj
dG9yLmg+CisjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CisKK25hbWVzcGFjZSBXZWJD
b3JlIHsKKworc3RydWN0IE1lZGlhS2V5U3lzdGVtQ29uZmlndXJhdGlvbiB7CisgICAgdXNpbmcg
S2V5c1JlcXVpcmVtZW50ID0gTWVkaWFLZXlzUmVxdWlyZW1lbnQ7CisKKyAgICBTdHJpbmcgbGFi
ZWw7CisgICAgVmVjdG9yPFN0cmluZz4gaW5pdERhdGFUeXBlczsKKyAgICBWZWN0b3I8TWVkaWFL
ZXlTeXN0ZW1NZWRpYUNhcGFiaWxpdHk+IGF1ZGlvQ2FwYWJpbGl0aWVzOworICAgIFZlY3RvcjxN
ZWRpYUtleVN5c3RlbU1lZGlhQ2FwYWJpbGl0eT4gdmlkZW9DYXBhYmlsaXRpZXM7CisgICAgTWVk
aWFLZXlzUmVxdWlyZW1lbnQgZGlzdGluY3RpdmVJZGVudGlmaWVyOworICAgIE1lZGlhS2V5c1Jl
cXVpcmVtZW50IHBlcnNpc3RlbnRTdGF0ZTsKKyAgICBWZWN0b3I8U3RyaW5nPiBzZXNzaW9uVHlw
ZXM7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoRU5D
UllQVEVEX01FRElBKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0
ZWRtZWRpYS9NZWRpYUtleVN5c3RlbUNvbmZpZ3VyYXRpb24uaWRsIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVN5c3RlbUNvbmZpZ3VyYXRpb24uaWRsCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjczODFiYjc2ZWQ0MDFhZjI1ZjM1NzIzMGRhOTE0MjJmOTEzYzUyNTkKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlh
S2V5U3lzdGVtQ29uZmlndXJhdGlvbi5pZGwKQEAgLTAsMCArMSw0NSBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAxNiBNZXRyb2xvZ2ljYWwgR3JvdXAgQi5WLgorICogQ29weXJpZ2h0IChDKSAy
MDE2LCBJZ2FsaWEgUy5MLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUg
bWV0OgorICoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiAgICBjb3B5cmlnaHQg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZworICogICAg
ZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkCisgKiAgICB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUwor
ICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIEhPTERFUiBP
UiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworZW51bSBN
ZWRpYUtleXNSZXF1aXJlbWVudCB7CisgICAgInJlcXVpcmVkIiwKKyAgICAib3B0aW9uYWwiLAor
ICAgICJub3QtYWxsb3dlZCIKK307CisKK1sKKyAgICBDb25kaXRpb25hbD1FTkNSWVBURURfTUVE
SUEKK10gZGljdGlvbmFyeSBNZWRpYUtleVN5c3RlbUNvbmZpZ3VyYXRpb24geworICAgIERPTVN0
cmluZyBsYWJlbCA9ICIiOworICAgIHNlcXVlbmNlPERPTVN0cmluZz4gaW5pdERhdGFUeXBlcyA9
IFtdOworICAgIHNlcXVlbmNlPE1lZGlhS2V5U3lzdGVtTWVkaWFDYXBhYmlsaXR5PiBhdWRpb0Nh
cGFiaWxpdGllcyA9IFtdOworICAgIHNlcXVlbmNlPE1lZGlhS2V5U3lzdGVtTWVkaWFDYXBhYmls
aXR5PiB2aWRlb0NhcGFiaWxpdGllcyA9IFtdOworICAgIE1lZGlhS2V5c1JlcXVpcmVtZW50IGRp
c3RpbmN0aXZlSWRlbnRpZmllciA9ICJvcHRpb25hbCI7CisgICAgTWVkaWFLZXlzUmVxdWlyZW1l
bnQgcGVyc2lzdGVudFN0YXRlID0gIm9wdGlvbmFsIjsKKyAgICBzZXF1ZW5jZTxET01TdHJpbmc+
IHNlc3Npb25UeXBlczsKK307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2Vu
Y3J5cHRlZG1lZGlhL01lZGlhS2V5U3lzdGVtTWVkaWFDYXBhYmlsaXR5LmggYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U3lzdGVtTWVkaWFDYXBhYmlsaXR5
LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNmUzODY1NjY1Y2UzMTc2NzkyYzhjNTkwNTgxMGY4NDJkZDE0MjVjNAot
LS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEv
TWVkaWFLZXlTeXN0ZW1NZWRpYUNhcGFiaWxpdHkuaApAQCAtMCwwICsxLDQ0IEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDE2IE1ldHJvbG9naWNhbCBHcm91cCBCLlYuCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTYsIElnYWxpYSBTLkwuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAq
IGFyZSBtZXQ6CisgKgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqICAgIGNvcHly
aWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nCisg
KiAgICBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQKKyAqICAgIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVU
T1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogSE9M
REVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkK
KyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisj
cHJhZ21hIG9uY2UKKworI2lmIEVOQUJMRShFTkNSWVBURURfTUVESUEpCisKKyNpbmNsdWRlIDx3
dGYvdGV4dC9XVEZTdHJpbmcuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitzdHJ1Y3QgTWVk
aWFLZXlTeXN0ZW1NZWRpYUNhcGFiaWxpdHkgeworICAgIFN0cmluZyBjb250ZW50VHlwZTsKKyAg
ICBTdHJpbmcgcm9idXN0bmVzczsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2Vu
ZGlmIC8vIEVOQUJMRShFTkNSWVBURURfTUVESUEpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U3lzdGVtTWVkaWFDYXBhYmlsaXR5Lmlk
bCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlTeXN0ZW1N
ZWRpYUNhcGFiaWxpdHkuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY4ZDgxNjczYzUwOTQzNjVmYzBhZjliYmI1
NTRjMjQyMjM2MjNmMDUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U3lzdGVtTWVkaWFDYXBhYmlsaXR5LmlkbApAQCAtMCww
ICsxLDM0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE2IE1ldHJvbG9naWNhbCBHcm91cCBC
LlYuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTYsIElnYWxpYSBTLkwuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgorICogMS4gUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUKKyAqICAgIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nCisgKiAgICBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQKKyAqICAgIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9M
REVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhF
IENPUFlSSUdIVAorICogSE9MREVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
CisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KKyAqLworCitbCisgICAgQ29uZGl0aW9uYWw9RU5DUllQVEVEX01FRElBCitdIGRp
Y3Rpb25hcnkgTWVkaWFLZXlTeXN0ZW1NZWRpYUNhcGFiaWxpdHkgeworICAgIERPTVN0cmluZyBj
b250ZW50VHlwZSA9ICIiOworICAgIERPTVN0cmluZyByb2J1c3RuZXNzID0gIiI7Cit9OwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleXMu
Y3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleXMuY3Bw
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjMxZjIxMjdjOTI5YTVmYmI1ZjJkNDFmYWQ2MTc3MzJlNjMzZDNmNDYKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01l
ZGlhS2V5cy5jcHAKQEAgLTAsMCArMSw1NiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNiBN
ZXRyb2xvZ2ljYWwgR3JvdXAgQi5WLgorICogQ29weXJpZ2h0IChDKSAyMDE2LCBJZ2FsaWEgUy5M
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICoKKyAqIDEu
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiAgICBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZworICogICAgZGlzY2xhaW1lciBpbiB0
aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkCisgKiAgICB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQg
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAq
IExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIEhPTERFUiBPUiBDT05UUklCVVRPUlMg
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgor
I2luY2x1ZGUgIk1lZGlhS2V5cy5oIgorCisjaWYgRU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkKKwor
I2luY2x1ZGUgIk1lZGlhS2V5U2Vzc2lvbi5oIgorI2luY2x1ZGUgIk5vdEltcGxlbWVudGVkLmgi
CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworTWVkaWFLZXlzOjpNZWRpYUtleXMoKSA9IGRlZmF1
bHQ7CisKK01lZGlhS2V5czo6fk1lZGlhS2V5cygpID0gZGVmYXVsdDsKKworRXhjZXB0aW9uT3I8
UmVmPE1lZGlhS2V5U2Vzc2lvbj4+IE1lZGlhS2V5czo6Y3JlYXRlU2Vzc2lvbihNZWRpYUtleVNl
c3Npb25UeXBlKQoreworICAgIG5vdEltcGxlbWVudGVkKCk7CisgICAgcmV0dXJuIEV4Y2VwdGlv
biB7IE5PVF9TVVBQT1JURURfRVJSIH07Cit9CisKK3ZvaWQgTWVkaWFLZXlzOjpzZXRTZXJ2ZXJD
ZXJ0aWZpY2F0ZShjb25zdCBCdWZmZXJTb3VyY2UmLCBTZXRTZXJ2ZXJDZXJ0aWZpY2F0ZVByb21p
c2UmJikKK3sKKyAgICBub3RJbXBsZW1lbnRlZCgpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoRU5DUllQVEVEX01FRElBKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleXMuaCBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlzLmgKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjcy
YWMyNDk3Zjg0NDEyMmIwNWViMTA2YTdiOTZkMDllYjY2ZDEyNAotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlzLmgKQEAgLTAs
MCArMSw2NiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNiBNZXRyb2xvZ2ljYWwgR3JvdXAg
Qi5WLgorICogQ29weXJpZ2h0IChDKSAyMDE2LCBJZ2FsaWEgUy5MLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlCisgKiAgICBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZworICogICAgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkCisgKiAgICB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhP
TERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICog
QSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRI
RSBDT1BZUklHSFQKKyAqIEhPTERFUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoRU5DUllQVEVEX01F
RElBKQorCisjaW5jbHVkZSAiRXhjZXB0aW9uT3IuaCIKKyNpbmNsdWRlICJKU0RPTVByb21pc2Uu
aCIKKyNpbmNsdWRlICJNZWRpYUtleVNlc3Npb25UeXBlLmgiCisjaW5jbHVkZSA8d3RmL1JlZi5o
PgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwor
Y2xhc3MgQnVmZmVyU291cmNlOworY2xhc3MgTWVkaWFLZXlTZXNzaW9uOworCitjbGFzcyBNZWRp
YUtleXMgOiBwdWJsaWMgUmVmQ291bnRlZDxNZWRpYUtleXM+IHsKK3B1YmxpYzoKKyAgICB1c2lu
ZyBLZXlTZXNzaW9uVHlwZSA9IE1lZGlhS2V5U2Vzc2lvblR5cGU7CisKKyAgICBzdGF0aWMgUmVm
PE1lZGlhS2V5cz4gY3JlYXRlKCkKKyAgICB7CisgICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3
IE1lZGlhS2V5cyk7CisgICAgfQorCisgICAgdmlydHVhbCB+TWVkaWFLZXlzKCk7CisKKyAgICBF
eGNlcHRpb25PcjxSZWY8TWVkaWFLZXlTZXNzaW9uPj4gY3JlYXRlU2Vzc2lvbihNZWRpYUtleVNl
c3Npb25UeXBlKTsKKworICAgIHVzaW5nIFNldFNlcnZlckNlcnRpZmljYXRlUHJvbWlzZSA9IERP
TVByb21pc2U8Ym9vbD47CisgICAgdm9pZCBzZXRTZXJ2ZXJDZXJ0aWZpY2F0ZShjb25zdCBCdWZm
ZXJTb3VyY2UmLCBTZXRTZXJ2ZXJDZXJ0aWZpY2F0ZVByb21pc2UmJik7CisKK3Byb3RlY3RlZDoK
KyAgICBNZWRpYUtleXMoKTsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlm
IC8vIEVOQUJMRShFTkNSWVBURURfTUVESUEpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5cy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5cy5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjEwZTJkNGQzYzlk
YWUwMmRkMjYyZWU0ODlmMzA2Njg4ZDJkNzQxOAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlzLmlkbApAQCAtMCwwICsxLDQw
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE2IE1ldHJvbG9naWNhbCBHcm91cCBCLlYuCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTYsIElnYWxpYSBTLkwuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUK
KyAqICAgIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nCisgKiAgICBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQKKyAqICAgIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBB
TkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlS
SUdIVAorICogSE9MREVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKyAqLworCitlbnVtIE1lZGlhS2V5U2Vzc2lvblR5cGUgeworICAgICJ0ZW1wb3JhcnkiLAor
ICAgICJwZXJzaXN0ZW50LXVzYWdlLXJlY29yZCIsCisgICAgInBlcnNpc3RlbnQtbGljZW5zZSIK
K307CisgCitbCisgICAgQ29uZGl0aW9uYWw9RU5DUllQVEVEX01FRElBLAorXSBpbnRlcmZhY2Ug
TWVkaWFLZXlzIHsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIE1lZGlhS2V5U2Vzc2lvbiBjcmVh
dGVTZXNzaW9uKG9wdGlvbmFsIE1lZGlhS2V5U2Vzc2lvblR5cGUgc2Vzc2lvblR5cGUgPSAidGVt
cG9yYXJ5Iik7CisgICAgUHJvbWlzZSBzZXRTZXJ2ZXJDZXJ0aWZpY2F0ZShCdWZmZXJTb3VyY2Ug
c2VydmVyQ2VydGlmaWNhdGUpOworfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlzUmVxdWlyZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlzUmVxdWlyZW1lbnQuaApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li45YmIzNjc2NjEwMGEwMTgxZWQ4MDgxMjUzMjMzYTgxNDdjYmFjNThiCi0tLSAvZGV2L251bGwK
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleXNSZXF1
aXJlbWVudC5oCkBAIC0wLDAgKzEsNDMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTYgTWV0
cm9sb2dpY2FsIEdyb3VwIEIuVi4KKyAqIENvcHlyaWdodCAoQykgMjAxNiwgSWdhbGlhIFMuTC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogICAgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcKKyAqICAgIGRpc2NsYWltZXIgaW4gdGhl
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZAorICogICAgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
VEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBM
SU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBIT0xERVIgT1IgQ09OVFJJQlVUT1JTIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFM
LCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
CisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaWYgRU5B
QkxFKEVOQ1JZUFRFRF9NRURJQSkKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitlbnVtIGNsYXNz
IE1lZGlhS2V5c1JlcXVpcmVtZW50IHsKKyAgICBSZXF1aXJlZCwKKyAgICBPcHRpb25hbCwKKyAg
ICBOb3RBbGxvd2VkCit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBF
TkFCTEUoRU5DUllQVEVEX01FRElBKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9lbmNyeXB0ZWRtZWRpYS9OYXZpZ2F0b3JFTUUuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9lbmNyeXB0ZWRtZWRpYS9OYXZpZ2F0b3JFTUUuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFlOGFiNjkxOWZm
NzU4NGJhM2E2NjgzM2Y0YTE3NGViYTZlNzlhMmIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL05hdmlnYXRvckVNRS5jcHAKQEAgLTAsMCAr
MSw0NSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNiBNZXRyb2xvZ2ljYWwgR3JvdXAgQi5W
LgorICogQ29weXJpZ2h0IChDKSAyMDE2LCBJZ2FsaWEgUy5MLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlCisgKiAgICBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZworICogICAgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkCisgKiAgICB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERF
UlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQ
QVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBD
T1BZUklHSFQKKyAqIEhPTERFUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAor
ICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIk5hdmlnYXRvckVN
RS5oIgorCisjaWYgRU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkKKworI2luY2x1ZGUgIk5vdEltcGxl
bWVudGVkLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwordm9pZCBOYXZpZ2F0b3JFTUU6OnJl
cXVlc3RNZWRpYUtleVN5c3RlbUFjY2VzcyhOYXZpZ2F0b3ImLCBjb25zdCBTdHJpbmcmLCBWZWN0
b3I8TWVkaWFLZXlTeXN0ZW1Db25maWd1cmF0aW9uPiYmLCBSZXF1ZXN0TWVkaWFLZXlTeXN0ZW1B
Y2Nlc3NQcm9taXNlJiYpCit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKK30KKworfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTmF2aWdhdG9yRU1F
LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL05hdmlnYXRvckVNRS5o
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjkzZTBkZjg1ZGE2Mzg0ZjdkYzMxYjY2N2M1MWI0YzZkMzk3MDcwNjAKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL05h
dmlnYXRvckVNRS5oCkBAIC0wLDAgKzEsNTEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTYg
TWV0cm9sb2dpY2FsIEdyb3VwIEIuVi4KKyAqIENvcHlyaWdodCAoQykgMjAxNiwgSWdhbGlhIFMu
TC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogICAgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcKKyAqICAgIGRpc2NsYWltZXIgaW4g
dGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZAorICogICAg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5E
IEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisg
KiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBIT0xERVIgT1IgQ09OVFJJQlVUT1JT
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVD
SUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICog
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaWYg
RU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkKKworI2luY2x1ZGUgIkpTRE9NUHJvbWlzZS5oIgorI2lu
Y2x1ZGUgIk1lZGlhS2V5U3lzdGVtQ29uZmlndXJhdGlvbi5oIgorI2luY2x1ZGUgIlN1cHBsZW1l
bnRhYmxlLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgTWVkaWFLZXlTeXN0ZW1B
Y2Nlc3M7CitjbGFzcyBOYXZpZ2F0b3I7CitjbGFzcyBQYWdlOworCitjbGFzcyBOYXZpZ2F0b3JF
TUUgZmluYWwgOiBwdWJsaWMgU3VwcGxlbWVudDxQYWdlPiB7CitwdWJsaWM6CisgICAgdHlwZWRl
ZiBET01Qcm9taXNlPE1lZGlhS2V5U3lzdGVtQWNjZXNzPiBSZXF1ZXN0TWVkaWFLZXlTeXN0ZW1B
Y2Nlc3NQcm9taXNlOworICAgIHN0YXRpYyB2b2lkIHJlcXVlc3RNZWRpYUtleVN5c3RlbUFjY2Vz
cyhOYXZpZ2F0b3ImLCBjb25zdCBTdHJpbmcmLCBWZWN0b3I8TWVkaWFLZXlTeXN0ZW1Db25maWd1
cmF0aW9uPiYmLCBSZXF1ZXN0TWVkaWFLZXlTeXN0ZW1BY2Nlc3NQcm9taXNlJiYpOworfTsKKwor
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKEVOQ1JZUFRFRF9NRURJ
QSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTmF2
aWdhdG9yRU1FLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTmF2
aWdhdG9yRU1FLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wZDc0YTc0MTA0MWZlZjdjN2M2MWE1MTJiZDM3ZjMw
M2M5MTNjNDk0Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNy
eXB0ZWRtZWRpYS9OYXZpZ2F0b3JFTUUuaWRsCkBAIC0wLDAgKzEsMzMgQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTYgTWV0cm9sb2dpY2FsIEdyb3VwIEIuVi4KKyAqIENvcHlyaWdodCAoQykg
MjAxNiwgSWdhbGlhIFMuTC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqCisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogICAgY29weXJpZ2h0
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcKKyAqICAg
IGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZAorICogICAgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMK
KyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBIT0xERVIg
T1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICog
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK1sKKyAg
ICBDb25kaXRpb25hbD1FTkNSWVBURURfTUVESUEKK10gcGFydGlhbCBpbnRlcmZhY2UgTmF2aWdh
dG9yIHsKKyAgICBQcm9taXNlIHJlcXVlc3RNZWRpYUtleVN5c3RlbUFjY2VzcyhET01TdHJpbmcg
a2V5U3lzdGVtLCBzZXF1ZW5jZTxNZWRpYUtleVN5c3RlbUNvbmZpZ3VyYXRpb24+IHN1cHBvcnRl
ZENvbmZpZ3VyYXRpb24pOworfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBjZWZhYjFkMWUxZWNjYmVlZmRlNjUzNzY1Mzk2OTQ1
YWY3ZDlhZmUyLi5hZmFhMDQ1NWNkZmJhYzUxNzViZTZhYWUzYzRlNjBkMDMwZDM0YjZjIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oK
KysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBA
IC0xMjQ2LDYgKzEyNDYsMzMgQEAKIAkJMkQ5M0FFRTQxOURGNTY0MTAwMkE4NkMzIC8qIFNlcnZp
Y2VzT3ZlcmxheUNvbnRyb2xsZXIubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSAyRDkzQUVFMjE5REY1NjQxMDAyQTg2QzMgLyogU2VydmljZXNPdmVybGF5
Q29udHJvbGxlci5tbSAqLzsgfTsKIAkJMkQ5N0YwNDcxOURENDEzQzAwMUVFOUMzIC8qIE1vY2tQ
YWdlT3ZlcmxheUNsaWVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAyREFBRTMyQzE5RENBRjYwMDBFMDAyRDIgLyogTW9ja1BhZ2VPdmVybGF5Q2xp
ZW50LmNwcCAqLzsgfTsKIAkJMkQ5N0YwNDgxOURENDE0MDAwMUVFOUMzIC8qIE1vY2tQYWdlT3Zl
cmxheUNsaWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMkRBQUUzMkQxOURDQUY2MDAwRTAwMkQyIC8qIE1vY2tQYWdlT3ZlcmxheUNsaWVudC5oICov
OyB9OworCQkyRDlCRjcwNTFEQkZCQjI0MDA3QTdEOTkgLyogTWVkaWFFbmNyeXB0ZWRFdmVudC5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRDlCRjcw
MTFEQkZCQjI0MDA3QTdEOTkgLyogTWVkaWFFbmNyeXB0ZWRFdmVudC5jcHAgKi87IH07CisJCTJE
OUJGNzA2MURCRkJCMjQwMDdBN0Q5OSAvKiBNZWRpYUVuY3J5cHRlZEV2ZW50LmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRDlCRjcwMjFEQkZCQjI0MDA3
QTdEOTkgLyogTWVkaWFFbmNyeXB0ZWRFdmVudC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVT
ID0gKFByaXZhdGUsICk7IH07IH07CisJCTJEOUJGNzA4MURCRkJCMjQwMDdBN0Q5OSAvKiBNZWRp
YUVuY3J5cHRlZEV2ZW50SW5pdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMkQ5QkY3MDQxREJGQkIyNDAwN0E3RDk5IC8qIE1lZGlhRW5jcnlwdGVkRXZl
bnRJbml0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
KwkJMkQ5QkY3MTAxREJGRDhDRTAwN0E3RDk5IC8qIEpTTWVkaWFFbmNyeXB0ZWRFdmVudC5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRDlCRjcwRjFE
QkZEOENFMDA3QTdEOTkgLyogSlNNZWRpYUVuY3J5cHRlZEV2ZW50LmNwcCAqLzsgfTsKKwkJMkQ5
QkY3MTIxREJGRDkxNDAwN0E3RDk5IC8qIEpTTWVkaWFFbmNyeXB0ZWRFdmVudC5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkQ5QkY3MTExREJGRDkxNDAw
N0E3RDk5IC8qIEpTTWVkaWFFbmNyeXB0ZWRFdmVudC5oICovOyB9OworCQkyRDlCRjcyMTFEQkZE
QUJBMDA3QTdEOTkgLyogSlNNZWRpYUtleU1lc3NhZ2VFdmVudC5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRDlCRjcxMzFEQkZEQUIxMDA3QTdEOTkg
LyogSlNNZWRpYUtleU1lc3NhZ2VFdmVudC5jcHAgKi87IH07CisJCTJEOUJGNzIyMURCRkRBQ0Iw
MDdBN0Q5OSAvKiBKU01lZGlhS2V5cy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAyRDlCRjcxNTFEQkZEQUIxMDA3QTdEOTkgLyogSlNNZWRpYUtleXMu
Y3BwICovOyB9OworCQkyRDlCRjcyMzFEQkZEQUNEMDA3QTdEOTkgLyogSlNNZWRpYUtleVNlc3Np
b24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkQ5
QkY3MTcxREJGREFCMTAwN0E3RDk5IC8qIEpTTWVkaWFLZXlTZXNzaW9uLmNwcCAqLzsgfTsKKwkJ
MkQ5QkY3MjQxREJGREFEMDAwN0E3RDk5IC8qIEpTTWVkaWFLZXlTdGF0dXNNYXAuY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkQ5QkY3MTkxREJGREFC
MTAwN0E3RDk5IC8qIEpTTWVkaWFLZXlTdGF0dXNNYXAuY3BwICovOyB9OworCQkyRDlCRjcyNTFE
QkZEQUQzMDA3QTdEOTkgLyogSlNNZWRpYUtleVN5c3RlbUFjY2Vzcy5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRDlCRjcxQjFEQkZEQUIxMDA3QTdE
OTkgLyogSlNNZWRpYUtleVN5c3RlbUFjY2Vzcy5jcHAgKi87IH07CisJCTJEOUJGNzI2MURCRkRB
RDUwMDdBN0Q5OSAvKiBKU01lZGlhS2V5U3lzdGVtQ29uZmlndXJhdGlvbi5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRDlCRjcxRDFEQkZEQUIxMDA3
QTdEOTkgLyogSlNNZWRpYUtleVN5c3RlbUNvbmZpZ3VyYXRpb24uY3BwICovOyB9OworCQkyRDlC
RjcyNzFEQkZEQUQ4MDA3QTdEOTkgLyogSlNNZWRpYUtleVN5c3RlbU1lZGlhQ2FwYWJpbGl0eS5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRDlCRjcx
RjFEQkZEQUIxMDA3QTdEOTkgLyogSlNNZWRpYUtleVN5c3RlbU1lZGlhQ2FwYWJpbGl0eS5jcHAg
Ki87IH07CisJCTJEOUJGNzI4MURCRkRCMEQwMDdBN0Q5OSAvKiBKU01lZGlhS2V5TWVzc2FnZUV2
ZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRDlC
RjcxNDFEQkZEQUIxMDA3QTdEOTkgLyogSlNNZWRpYUtleU1lc3NhZ2VFdmVudC5oICovOyB9Owor
CQkyRDlCRjcyOTFEQkZEQjEwMDA3QTdEOTkgLyogSlNNZWRpYUtleXMuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJEOUJGNzE2MURCRkRBQjEwMDdBN0Q5
OSAvKiBKU01lZGlhS2V5cy5oICovOyB9OworCQkyRDlCRjcyQTFEQkZEQjEzMDA3QTdEOTkgLyog
SlNNZWRpYUtleVNlc3Npb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDJEOUJGNzE4MURCRkRBQjEwMDdBN0Q5OSAvKiBKU01lZGlhS2V5U2Vzc2lvbi5o
ICovOyB9OworCQkyRDlCRjcyQjFEQkZEQjE1MDA3QTdEOTkgLyogSlNNZWRpYUtleVN0YXR1c01h
cC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkQ5QkY3
MUExREJGREFCMTAwN0E3RDk5IC8qIEpTTWVkaWFLZXlTdGF0dXNNYXAuaCAqLzsgfTsKKwkJMkQ5
QkY3MkMxREJGREIxNzAwN0E3RDk5IC8qIEpTTWVkaWFLZXlTeXN0ZW1BY2Nlc3MuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJEOUJGNzFDMURCRkRBQjEw
MDdBN0Q5OSAvKiBKU01lZGlhS2V5U3lzdGVtQWNjZXNzLmggKi87IH07CisJCTJEOUJGNzJEMURC
RkRCMTkwMDdBN0Q5OSAvKiBKU01lZGlhS2V5U3lzdGVtQ29uZmlndXJhdGlvbi5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkQ5QkY3MUUxREJGREFCMTAw
N0E3RDk5IC8qIEpTTWVkaWFLZXlTeXN0ZW1Db25maWd1cmF0aW9uLmggKi87IH07CisJCTJEOUJG
NzJFMURCRkRCMUMwMDdBN0Q5OSAvKiBKU01lZGlhS2V5U3lzdGVtTWVkaWFDYXBhYmlsaXR5Lmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRDlCRjcyMDFE
QkZEQUIxMDA3QTdEOTkgLyogSlNNZWRpYUtleVN5c3RlbU1lZGlhQ2FwYWJpbGl0eS5oICovOyB9
OworCQkyRDlCRjc0MjFEQkZEQzI3MDA3QTdEOTkgLyogTmF2aWdhdG9yRU1FLmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJEOUJGNzQwMURCRkRDMEYw
MDdBN0Q5OSAvKiBOYXZpZ2F0b3JFTUUuY3BwICovOyB9OworCQkyRDlCRjc0MzFEQkZEQzNFMDA3
QTdEOTkgLyogTWVkaWFLZXlTeXN0ZW1BY2Nlc3MuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkQ5QkY3M0MxREJGREMwRjAwN0E3RDk5IC8qIE1lZGlh
S2V5U3lzdGVtQWNjZXNzLmNwcCAqLzsgfTsKKwkJMkQ5QkY3NDQxREJGREM0MTAwN0E3RDk5IC8q
IE1lZGlhS2V5U3RhdHVzTWFwLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDJEOUJGNzNBMURCRkRDMEYwMDdBN0Q5OSAvKiBNZWRpYUtleVN0YXR1c01h
cC5jcHAgKi87IH07CisJCTJEOUJGNzQ1MURCRkRDNDQwMDdBN0Q5OSAvKiBNZWRpYUtleVNlc3Np
b24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkQ5
QkY3MzUxREJGREMwRjAwN0E3RDk5IC8qIE1lZGlhS2V5U2Vzc2lvbi5jcHAgKi87IH07CisJCTJE
OUJGNzQ2MURCRkRDNDcwMDdBN0Q5OSAvKiBNZWRpYUtleXMuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkQ5QkY3MzMxREJGREMwRjAwN0E3RDk5IC8q
IE1lZGlhS2V5cy5jcHAgKi87IH07CisJCTJEOUJGNzQ3MURCRkRDNDkwMDdBN0Q5OSAvKiBNZWRp
YUtleU1lc3NhZ2VFdmVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAyRDlCRjcyRjFEQkZEQzBGMDA3QTdEOTkgLyogTWVkaWFLZXlNZXNzYWdlRXZl
bnQuY3BwICovOyB9OworCQkyRDlCRjc0QTFEQkZEREZGMDA3QTdEOTkgLyogSlNNZWRpYUtleVNl
c3Npb25DdXN0b20uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMkQ5QkY3NDgxREJGRERGODAwN0E3RDk5IC8qIEpTTWVkaWFLZXlTZXNzaW9uQ3VzdG9t
LmNwcCAqLzsgfTsKKwkJMkQ5QkY3NEIxREJGREUwMjAwN0E3RDk5IC8qIEpTTWVkaWFLZXlTeXN0
ZW1BY2Nlc3NDdXN0b20uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMkQ5QkY3NDkxREJGRERGODAwN0E3RDk5IC8qIEpTTWVkaWFLZXlTeXN0ZW1BY2Nl
c3NDdXN0b20uY3BwICovOyB9OwogCQkyRDlGMEUxMzE0RkYxQ0JGMDBCQTBGRjcgLyogbGluZWFy
U1JHQi5pY2MgaW4gUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDJEOUYwRTEyMTRGRjFDQkYwMEJBMEZGNyAvKiBsaW5lYXJTUkdCLmljYyAqLzsgfTsKIAkJMkRC
OUM0QUExQjMyMzFGNDAwNzBGMjdGIC8qIE5TRXZlbnRTUEkuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJEQjlDNEE5MUIzMjMxRjQwMDcwRjI3RiAvKiBO
U0V2ZW50U1BJLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKIAkJMkRDNENGNzkxRDJERDk4OTAwRUNDQzk0IC8qIERhdGFEZXRlY3RvcnNVSVNQSS5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkRDNENGNzgxRDJE
RDk4OTAwRUNDQzk0IC8qIERhdGFEZXRlY3RvcnNVSVNQSS5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC04Mjc2LDYgKzgzMDMsNTUgQEAKIAkJMkQ5
MDY2MEMwNjY1RDkzNzAwNkI2RjFBIC8qIERhdGFUcmFuc2Zlck1hYy5tbSAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgaW5kZW50V2lkdGggPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IERhdGFUcmFuc2Zl
ck1hYy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgdGFiV2lkdGggPSA4OyB1c2VzVGFicyA9
IDA7IH07CiAJCTJEOTNBRUUxMTlERjU2NDEwMDJBODZDMyAvKiBTZXJ2aWNlc092ZXJsYXlDb250
cm9sbGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNlcnZpY2VzT3Zlcmxh
eUNvbnRyb2xsZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMkQ5M0FFRTIxOURG
NTY0MTAwMkE4NkMzIC8qIFNlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXIubW0gKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBTZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyLm1t
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkyRDlCRjZGNTFEQkZCNzFGMDA3QTdEOTkg
LyogTWVkaWFLZXlNZXNzYWdlRXZlbnQuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IE1lZGlh
S2V5TWVzc2FnZUV2ZW50LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMkQ5QkY2
RjYxREJGQjcxRjAwN0E3RDk5IC8qIE1lZGlhS2V5cy5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRo
ID0gTWVkaWFLZXlzLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMkQ5QkY2Rjcx
REJGQjcxRjAwN0E3RDk5IC8qIE1lZGlhS2V5U2Vzc2lvbi5pZGwgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBw
YXRoID0gTWVkaWFLZXlTZXNzaW9uLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
MkQ5QkY2RjgxREJGQjcxRjAwN0E3RDk5IC8qIE1lZGlhS2V5U3RhdHVzTWFwLmlkbCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHRleHQ7IHBhdGggPSBNZWRpYUtleVN0YXR1c01hcC5pZGw7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCTJEOUJGNkY5MURCRkI3MUYwMDdBN0Q5OSAvKiBNZWRpYUtleVN5c3RlbUFj
Y2Vzcy5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gTWVkaWFLZXlTeXN0ZW1BY2Nlc3MuaWRs
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkyRDlCRjZGQTFEQkZCNzFGMDA3QTdEOTkg
LyogTWVkaWFLZXlTeXN0ZW1Db25maWd1cmF0aW9uLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGgg
PSBNZWRpYUtleVN5c3RlbUNvbmZpZ3VyYXRpb24uaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQkyRDlCRjZGQjFEQkZCNzFGMDA3QTdEOTkgLyogTWVkaWFLZXlTeXN0ZW1NZWRpYUNh
cGFiaWxpdHkuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IE1lZGlhS2V5U3lzdGVtTWVkaWFD
YXBhYmlsaXR5LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMkQ5QkY2RkMxREJG
QjcxRjAwN0E3RDk5IC8qIE5hdmlnYXRvckVNRS5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0g
TmF2aWdhdG9yRU1FLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMkQ5QkY3MDEx
REJGQkIyNDAwN0E3RDk5IC8qIE1lZGlhRW5jcnlwdGVkRXZlbnQuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTWVkaWFFbmNyeXB0ZWRFdmVudC5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTJEOUJGNzAyMURCRkJCMjQwMDdBN0Q5OSAvKiBNZWRpYUVu
Y3J5cHRlZEV2ZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1lZGlhRW5j
cnlwdGVkRXZlbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMkQ5QkY3MDMxREJG
QkIyNDAwN0E3RDk5IC8qIE1lZGlhRW5jcnlwdGVkRXZlbnQuaWRsICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsg
cGF0aCA9IE1lZGlhRW5jcnlwdGVkRXZlbnQuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQkyRDlCRjcwNDFEQkZCQjI0MDA3QTdEOTkgLyogTWVkaWFFbmNyeXB0ZWRFdmVudEluaXQu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTWVkaWFFbmNyeXB0ZWRFdmVudElu
aXQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMkQ5QkY3MEYxREJGRDhDRTAwN0E3
RDk5IC8qIEpTTWVkaWFFbmNyeXB0ZWRFdmVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBKU01lZGlhRW5jcnlwdGVkRXZlbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQkyRDlCRjcxMTFEQkZEOTE0MDA3QTdEOTkgLyogSlNNZWRpYUVuY3J5cHRl
ZEV2ZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTTWVkaWFFbmNyeXB0
ZWRFdmVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkyRDlCRjcxMzFEQkZEQUIx
MDA3QTdEOTkgLyogSlNNZWRpYUtleU1lc3NhZ2VFdmVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBKU01lZGlhS2V5TWVzc2FnZUV2ZW50LmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMkQ5QkY3MTQxREJGREFCMTAwN0E3RDk5IC8qIEpTTWVkaWFL
ZXlNZXNzYWdlRXZlbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNNZWRp
YUtleU1lc3NhZ2VFdmVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkyRDlCRjcx
NTFEQkZEQUIxMDA3QTdEOTkgLyogSlNNZWRpYUtleXMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gSlNNZWRpYUtleXMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQkyRDlCRjcxNjFEQkZEQUIxMDA3QTdEOTkgLyogSlNNZWRpYUtleXMuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNNZWRpYUtleXMuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJMkQ5QkY3MTcxREJGREFCMTAwN0E3RDk5IC8qIEpTTWVkaWFLZXlTZXNz
aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTTWVkaWFLZXlT
ZXNzaW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMkQ5QkY3MTgxREJGREFC
MTAwN0E3RDk5IC8qIEpTTWVkaWFLZXlTZXNzaW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IEpTTWVkaWFLZXlTZXNzaW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTJEOUJGNzE5MURCRkRBQjEwMDdBN0Q5OSAvKiBKU01lZGlhS2V5U3RhdHVzTWFwLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTTWVkaWFLZXlTdGF0dXNNYXAu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkyRDlCRjcxQTFEQkZEQUIxMDA3QTdE
OTkgLyogSlNNZWRpYUtleVN0YXR1c01hcC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBKU01lZGlhS2V5U3RhdHVzTWFwLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTJEOUJGNzFCMURCRkRBQjEwMDdBN0Q5OSAvKiBKU01lZGlhS2V5U3lzdGVtQWNjZXNzLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTTWVkaWFLZXlTeXN0ZW1BY2Nl
c3MuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkyRDlCRjcxQzFEQkZEQUIxMDA3
QTdEOTkgLyogSlNNZWRpYUtleVN5c3RlbUFjY2Vzcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBKU01lZGlhS2V5U3lzdGVtQWNjZXNzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTJEOUJGNzFEMURCRkRBQjEwMDdBN0Q5OSAvKiBKU01lZGlhS2V5U3lzdGVtQ29u
ZmlndXJhdGlvbi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU01l
ZGlhS2V5U3lzdGVtQ29uZmlndXJhdGlvbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTJEOUJGNzFFMURCRkRBQjEwMDdBN0Q5OSAvKiBKU01lZGlhS2V5U3lzdGVtQ29uZmlndXJh
dGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU01lZGlhS2V5U3lzdGVt
Q29uZmlndXJhdGlvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkyRDlCRjcxRjFE
QkZEQUIxMDA3QTdEOTkgLyogSlNNZWRpYUtleVN5c3RlbU1lZGlhQ2FwYWJpbGl0eS5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU01lZGlhS2V5U3lzdGVtTWVkaWFD
YXBhYmlsaXR5LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMkQ5QkY3MjAxREJG
REFCMTAwN0E3RDk5IC8qIEpTTWVkaWFLZXlTeXN0ZW1NZWRpYUNhcGFiaWxpdHkuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNNZWRpYUtleVN5c3RlbU1lZGlhQ2FwYWJpbGl0
eS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkyRDlCRjcyRjFEQkZEQzBGMDA3QTdE
OTkgLyogTWVkaWFLZXlNZXNzYWdlRXZlbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gTWVkaWFLZXlNZXNzYWdlRXZlbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQkyRDlCRjczMDFEQkZEQzBGMDA3QTdEOTkgLyogTWVkaWFLZXlNZXNzYWdlRXZl
bnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTWVkaWFLZXlNZXNzYWdlRXZl
bnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMkQ5QkY3MzExREJGREMwRjAwN0E3
RDk5IC8qIE1lZGlhS2V5TWVzc2FnZUV2ZW50SW5pdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBNZWRpYUtleU1lc3NhZ2VFdmVudEluaXQuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJMkQ5QkY3MzIxREJGREMwRjAwN0E3RDk5IC8qIE1lZGlhS2V5TWVzc2FnZVR5
cGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTWVkaWFLZXlNZXNzYWdlVHlw
ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkyRDlCRjczMzFEQkZEQzBGMDA3QTdE
OTkgLyogTWVkaWFLZXlzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IE1lZGlhS2V5cy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTJEOUJGNzM0MURC
RkRDMEYwMDdBN0Q5OSAvKiBNZWRpYUtleXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gTWVkaWFLZXlzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTJEOUJGNzM1
MURCRkRDMEYwMDdBN0Q5OSAvKiBNZWRpYUtleVNlc3Npb24uY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gTWVkaWFLZXlTZXNzaW9uLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJMkQ5QkY3MzYxREJGREMwRjAwN0E3RDk5IC8qIE1lZGlhS2V5U2Vzc2lv
bi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNZWRpYUtleVNlc3Npb24uaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMkQ5QkY3MzcxREJGREMwRjAwN0E3RDk5IC8q
IE1lZGlhS2V5U2Vzc2lvblR5cGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
TWVkaWFLZXlTZXNzaW9uVHlwZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkyRDlC
RjczODFEQkZEQzBGMDA3QTdEOTkgLyogTWVkaWFLZXlzUmVxdWlyZW1lbnQuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTWVkaWFLZXlzUmVxdWlyZW1lbnQuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMkQ5QkY3MzkxREJGREMwRjAwN0E3RDk5IC8qIE1lZGlhS2V5
U3RhdHVzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1lZGlhS2V5U3RhdHVz
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTJEOUJGNzNBMURCRkRDMEYwMDdBN0Q5
OSAvKiBNZWRpYUtleVN0YXR1c01hcC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBNZWRpYUtleVN0YXR1c01hcC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTJEOUJGNzNCMURCRkRDMEYwMDdBN0Q5OSAvKiBNZWRpYUtleVN0YXR1c01hcC5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNZWRpYUtleVN0YXR1c01hcC5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQkyRDlCRjczQzFEQkZEQzBGMDA3QTdEOTkgLyogTWVkaWFL
ZXlTeXN0ZW1BY2Nlc3MuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
TWVkaWFLZXlTeXN0ZW1BY2Nlc3MuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQky
RDlCRjczRDFEQkZEQzBGMDA3QTdEOTkgLyogTWVkaWFLZXlTeXN0ZW1BY2Nlc3MuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTWVkaWFLZXlTeXN0ZW1BY2Nlc3MuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMkQ5QkY3M0UxREJGREMwRjAwN0E3RDk5IC8qIE1lZGlh
S2V5U3lzdGVtQ29uZmlndXJhdGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBNZWRpYUtleVN5c3RlbUNvbmZpZ3VyYXRpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJMkQ5QkY3M0YxREJGREMwRjAwN0E3RDk5IC8qIE1lZGlhS2V5U3lzdGVtTWVkaWFDYXBh
YmlsaXR5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1lZGlhS2V5U3lzdGVt
TWVkaWFDYXBhYmlsaXR5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTJEOUJGNzQw
MURCRkRDMEYwMDdBN0Q5OSAvKiBOYXZpZ2F0b3JFTUUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gTmF2aWdhdG9yRU1FLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJMkQ5QkY3NDExREJGREMwRjAwN0E3RDk5IC8qIE5hdmlnYXRvckVNRS5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBOYXZpZ2F0b3JFTUUuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJMkQ5QkY3NDgxREJGRERGODAwN0E3RDk5IC8qIEpTTWVkaWFLZXlT
ZXNzaW9uQ3VzdG9tLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpT
TWVkaWFLZXlTZXNzaW9uQ3VzdG9tLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
MkQ5QkY3NDkxREJGRERGODAwN0E3RDk5IC8qIEpTTWVkaWFLZXlTeXN0ZW1BY2Nlc3NDdXN0b20u
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNNZWRpYUtleVN5c3Rl
bUFjY2Vzc0N1c3RvbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTJEOUYwRTEy
MTRGRjFDQkYwMEJBMEZGNyAvKiBsaW5lYXJTUkdCLmljYyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IGZpbGU7IHBhdGggPSBsaW5lYXJTUkdCLmljYzsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMkRBQUUzMkMxOURDQUY2MDAwRTAwMkQyIC8q
IE1vY2tQYWdlT3ZlcmxheUNsaWVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBNb2NrUGFnZU92ZXJsYXlDbGllbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQkyREFBRTMyRDE5RENBRjYwMDBFMDAyRDIgLyogTW9ja1BhZ2VPdmVybGF5Q2xpZW50
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1vY2tQYWdlT3ZlcmxheUNsaWVu
dC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTg2NDgsNiArMTg3MjQsMTAgQEAK
IAkJCQk5NzIwNUFCNDEyMzkyOTEwMDBCMTczODAgLyogTWVkaWFEb2N1bWVudC5oICovLAogCQkJ
CTA3RkU5OURBMTg4MDdBN0QwMDI1NjY0OCAvKiBNZWRpYUVsZW1lbnRTZXNzaW9uLmNwcCAqLywK
IAkJCQkwN0ZFOTlEQjE4ODA3QTdEMDAyNTY2NDggLyogTWVkaWFFbGVtZW50U2Vzc2lvbi5oICov
LAorCQkJCTJEOUJGNzAxMURCRkJCMjQwMDdBN0Q5OSAvKiBNZWRpYUVuY3J5cHRlZEV2ZW50LmNw
cCAqLywKKwkJCQkyRDlCRjcwMjFEQkZCQjI0MDA3QTdEOTkgLyogTWVkaWFFbmNyeXB0ZWRFdmVu
dC5oICovLAorCQkJCTJEOUJGNzAzMURCRkJCMjQwMDdBN0Q5OSAvKiBNZWRpYUVuY3J5cHRlZEV2
ZW50LmlkbCAqLywKKwkJCQkyRDlCRjcwNDFEQkZCQjI0MDA3QTdEOTkgLyogTWVkaWFFbmNyeXB0
ZWRFdmVudEluaXQuaCAqLywKIAkJCQlFNDQ2MTM5QjBDRDYzMzEwMDBGQURBNzUgLyogTWVkaWFF
cnJvci5oICovLAogCQkJCUU0NDYxMzlDMENENjMzMTAwMEZBREE3NSAvKiBNZWRpYUVycm9yLmlk
bCAqLywKIAkJCQkwN0E2RDFFOTE0OTExMzc3MDAwNTFEMEMgLyogTWVkaWFGcmFnbWVudFVSSVBh
cnNlci5jcHAgKi8sCkBAIC0xOTYwMCw2ICsxOTY4MCw4IEBACiAJCQkJQTc3OTc5MjUwRDZCOUU2
NDAwMzg1MUI5IC8qIEpTSW1hZ2VEYXRhLmggKi8sCiAJCQkJQ0QyN0Y2RTIxNDU3Njc1ODAwNzgy
MDdEIC8qIEpTTWVkaWFDb250cm9sbGVyLmNwcCAqLywKIAkJCQlDRDI3RjZFMzE0NTc2NzU4MDA3
ODIwN0QgLyogSlNNZWRpYUNvbnRyb2xsZXIuaCAqLywKKwkJCQkyRDlCRjcwRjFEQkZEOENFMDA3
QTdEOTkgLyogSlNNZWRpYUVuY3J5cHRlZEV2ZW50LmNwcCAqLywKKwkJCQkyRDlCRjcxMTFEQkZE
OTE0MDA3QTdEOTkgLyogSlNNZWRpYUVuY3J5cHRlZEV2ZW50LmggKi8sCiAJCQkJRTQ0NjE0MTAw
Q0Q2ODI2OTAwRkFEQTc1IC8qIEpTTWVkaWFFcnJvci5jcHAgKi8sCiAJCQkJRTQ0NjE0MTEwQ0Q2
ODI2OTAwRkFEQTc1IC8qIEpTTWVkaWFFcnJvci5oICovLAogCQkJCUM5MDI2QjYzMUIxQ0Y1QUIw
MDFEOTlBNyAvKiBKU01lZGlhUmVtb3RlQ29udHJvbHMuY3BwICovLApAQCAtMjE2MzIsNiArMjE3
MTQsOCBAQAogCQkJCThGOTM0RDg0MTE4OUYxRUUwMDUwOEQ1RCAvKiBKU01haW5UaHJlYWRFeGVj
U3RhdGUuY3BwICovLAogCQkJCThGOTM0RDgzMTE4OUYxRUUwMDUwOEQ1RCAvKiBKU01haW5UaHJl
YWRFeGVjU3RhdGUuaCAqLywKIAkJCQlCNTY1NzZFNDE3REE1OTlGMDBBNTZCREMgLyogSlNNYWlu
VGhyZWFkRXhlY1N0YXRlSW5zdHJ1bWVudGF0aW9uLmggKi8sCisJCQkJMkQ5QkY3NDgxREJGRERG
ODAwN0E3RDk5IC8qIEpTTWVkaWFLZXlTZXNzaW9uQ3VzdG9tLmNwcCAqLywKKwkJCQkyRDlCRjc0
OTFEQkZEREY4MDA3QTdEOTkgLyogSlNNZWRpYUtleVN5c3RlbUFjY2Vzc0N1c3RvbS5jcHAgKi8s
CiAJCQkJQzZGNDIwQTAxNkI3MTY0RTAwNTJBOUYyIC8qIEpTTXV0YXRpb25DYWxsYmFjay5jcHAg
Ki8sCiAJCQkJQzZGNDIwQTExNkI3MTY0RTAwNTJBOUYyIC8qIEpTTXV0YXRpb25DYWxsYmFjay5o
ICovLAogCQkJCUNCMzhGRDU1MUNEMjFENUIwMDU5MkEzRiAvKiBKU1BlcmZvcm1hbmNlRW50cnlD
dXN0b20uY3BwICovLApAQCAtMjI0MTEsNiArMjI0OTUsMzMgQEAKIAkJCQlDRENBOThFOTE4QjJD
OEQwMDBDMTJGRjkgLyogQ0RNUHJpdmF0ZU1lZGlhUGxheWVyLmggKi8sCiAJCQkJQ0RFOEI1RUUx
QTY5Nzc4QjAwQjRCNjZBIC8qIENETVNlc3Npb25DbGVhcktleS5jcHAgKi8sCiAJCQkJQ0RFOEI1
RUYxQTY5Nzc4QjAwQjRCNjZBIC8qIENETVNlc3Npb25DbGVhcktleS5oICovLAorCQkJCTJEOUJG
NzJGMURCRkRDMEYwMDdBN0Q5OSAvKiBNZWRpYUtleU1lc3NhZ2VFdmVudC5jcHAgKi8sCisJCQkJ
MkQ5QkY3MzAxREJGREMwRjAwN0E3RDk5IC8qIE1lZGlhS2V5TWVzc2FnZUV2ZW50LmggKi8sCisJ
CQkJMkQ5QkY2RjUxREJGQjcxRjAwN0E3RDk5IC8qIE1lZGlhS2V5TWVzc2FnZUV2ZW50LmlkbCAq
LywKKwkJCQkyRDlCRjczMTFEQkZEQzBGMDA3QTdEOTkgLyogTWVkaWFLZXlNZXNzYWdlRXZlbnRJ
bml0LmggKi8sCisJCQkJMkQ5QkY3MzIxREJGREMwRjAwN0E3RDk5IC8qIE1lZGlhS2V5TWVzc2Fn
ZVR5cGUuaCAqLywKKwkJCQkyRDlCRjczMzFEQkZEQzBGMDA3QTdEOTkgLyogTWVkaWFLZXlzLmNw
cCAqLywKKwkJCQkyRDlCRjczNDFEQkZEQzBGMDA3QTdEOTkgLyogTWVkaWFLZXlzLmggKi8sCisJ
CQkJMkQ5QkY2RjYxREJGQjcxRjAwN0E3RDk5IC8qIE1lZGlhS2V5cy5pZGwgKi8sCisJCQkJMkQ5
QkY3MzUxREJGREMwRjAwN0E3RDk5IC8qIE1lZGlhS2V5U2Vzc2lvbi5jcHAgKi8sCisJCQkJMkQ5
QkY3MzYxREJGREMwRjAwN0E3RDk5IC8qIE1lZGlhS2V5U2Vzc2lvbi5oICovLAorCQkJCTJEOUJG
NkY3MURCRkI3MUYwMDdBN0Q5OSAvKiBNZWRpYUtleVNlc3Npb24uaWRsICovLAorCQkJCTJEOUJG
NzM3MURCRkRDMEYwMDdBN0Q5OSAvKiBNZWRpYUtleVNlc3Npb25UeXBlLmggKi8sCisJCQkJMkQ5
QkY3MzgxREJGREMwRjAwN0E3RDk5IC8qIE1lZGlhS2V5c1JlcXVpcmVtZW50LmggKi8sCisJCQkJ
MkQ5QkY3MzkxREJGREMwRjAwN0E3RDk5IC8qIE1lZGlhS2V5U3RhdHVzLmggKi8sCisJCQkJMkQ5
QkY3M0ExREJGREMwRjAwN0E3RDk5IC8qIE1lZGlhS2V5U3RhdHVzTWFwLmNwcCAqLywKKwkJCQky
RDlCRjczQjFEQkZEQzBGMDA3QTdEOTkgLyogTWVkaWFLZXlTdGF0dXNNYXAuaCAqLywKKwkJCQky
RDlCRjZGODFEQkZCNzFGMDA3QTdEOTkgLyogTWVkaWFLZXlTdGF0dXNNYXAuaWRsICovLAorCQkJ
CTJEOUJGNzNDMURCRkRDMEYwMDdBN0Q5OSAvKiBNZWRpYUtleVN5c3RlbUFjY2Vzcy5jcHAgKi8s
CisJCQkJMkQ5QkY3M0QxREJGREMwRjAwN0E3RDk5IC8qIE1lZGlhS2V5U3lzdGVtQWNjZXNzLmgg
Ki8sCisJCQkJMkQ5QkY2RjkxREJGQjcxRjAwN0E3RDk5IC8qIE1lZGlhS2V5U3lzdGVtQWNjZXNz
LmlkbCAqLywKKwkJCQkyRDlCRjczRTFEQkZEQzBGMDA3QTdEOTkgLyogTWVkaWFLZXlTeXN0ZW1D
b25maWd1cmF0aW9uLmggKi8sCisJCQkJMkQ5QkY2RkExREJGQjcxRjAwN0E3RDk5IC8qIE1lZGlh
S2V5U3lzdGVtQ29uZmlndXJhdGlvbi5pZGwgKi8sCisJCQkJMkQ5QkY3M0YxREJGREMwRjAwN0E3
RDk5IC8qIE1lZGlhS2V5U3lzdGVtTWVkaWFDYXBhYmlsaXR5LmggKi8sCisJCQkJMkQ5QkY2RkIx
REJGQjcxRjAwN0E3RDk5IC8qIE1lZGlhS2V5U3lzdGVtTWVkaWFDYXBhYmlsaXR5LmlkbCAqLywK
KwkJCQkyRDlCRjc0MDFEQkZEQzBGMDA3QTdEOTkgLyogTmF2aWdhdG9yRU1FLmNwcCAqLywKKwkJ
CQkyRDlCRjc0MTFEQkZEQzBGMDA3QTdEOTkgLyogTmF2aWdhdG9yRU1FLmggKi8sCisJCQkJMkQ5
QkY2RkMxREJGQjcxRjAwN0E3RDk5IC8qIE5hdmlnYXRvckVNRS5pZGwgKi8sCiAJCQkpOwogCQkJ
cGF0aCA9IGVuY3J5cHRlZG1lZGlhOwogCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKQEAgLTIy
NDE4LDYgKzIyNTI5LDIwIEBACiAJCUNEQTk4RENEMTYwMTUxNUMwMEZFQTNCMSAvKiBFbmNyeXB0
ZWRNZWRpYSAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCisJCQkJ
MkQ5QkY3MTMxREJGREFCMTAwN0E3RDk5IC8qIEpTTWVkaWFLZXlNZXNzYWdlRXZlbnQuY3BwICov
LAorCQkJCTJEOUJGNzE0MURCRkRBQjEwMDdBN0Q5OSAvKiBKU01lZGlhS2V5TWVzc2FnZUV2ZW50
LmggKi8sCisJCQkJMkQ5QkY3MTUxREJGREFCMTAwN0E3RDk5IC8qIEpTTWVkaWFLZXlzLmNwcCAq
LywKKwkJCQkyRDlCRjcxNjFEQkZEQUIxMDA3QTdEOTkgLyogSlNNZWRpYUtleXMuaCAqLywKKwkJ
CQkyRDlCRjcxNzFEQkZEQUIxMDA3QTdEOTkgLyogSlNNZWRpYUtleVNlc3Npb24uY3BwICovLAor
CQkJCTJEOUJGNzE4MURCRkRBQjEwMDdBN0Q5OSAvKiBKU01lZGlhS2V5U2Vzc2lvbi5oICovLAor
CQkJCTJEOUJGNzE5MURCRkRBQjEwMDdBN0Q5OSAvKiBKU01lZGlhS2V5U3RhdHVzTWFwLmNwcCAq
LywKKwkJCQkyRDlCRjcxQTFEQkZEQUIxMDA3QTdEOTkgLyogSlNNZWRpYUtleVN0YXR1c01hcC5o
ICovLAorCQkJCTJEOUJGNzFCMURCRkRBQjEwMDdBN0Q5OSAvKiBKU01lZGlhS2V5U3lzdGVtQWNj
ZXNzLmNwcCAqLywKKwkJCQkyRDlCRjcxQzFEQkZEQUIxMDA3QTdEOTkgLyogSlNNZWRpYUtleVN5
c3RlbUFjY2Vzcy5oICovLAorCQkJCTJEOUJGNzFEMURCRkRBQjEwMDdBN0Q5OSAvKiBKU01lZGlh
S2V5U3lzdGVtQ29uZmlndXJhdGlvbi5jcHAgKi8sCisJCQkJMkQ5QkY3MUUxREJGREFCMTAwN0E3
RDk5IC8qIEpTTWVkaWFLZXlTeXN0ZW1Db25maWd1cmF0aW9uLmggKi8sCisJCQkJMkQ5QkY3MUYx
REJGREFCMTAwN0E3RDk5IC8qIEpTTWVkaWFLZXlTeXN0ZW1NZWRpYUNhcGFiaWxpdHkuY3BwICov
LAorCQkJCTJEOUJGNzIwMURCRkRBQjEwMDdBN0Q5OSAvKiBKU01lZGlhS2V5U3lzdGVtTWVkaWFD
YXBhYmlsaXR5LmggKi8sCiAJCQkJQ0RBOThEOUIxNjAxMjhBNTAwRkVBM0IxIC8qIEpTV2ViS2l0
TWVkaWFLZXlFcnJvci5jcHAgKi8sCiAJCQkJQ0RBOThEOUMxNjAxMjhBNTAwRkVBM0IxIC8qIEpT
V2ViS2l0TWVkaWFLZXlFcnJvci5oICovLAogCQkJCUNEQTk4RERCMTYwMjZBMTgwMEZFQTNCMSAv
KiBKU1dlYktpdE1lZGlhS2V5TWVzc2FnZUV2ZW50LmNwcCAqLywKQEAgLTI1ODQ2LDcgKzI1OTcx
LDE1IEBACiAJCQkJMTU3MzlCQkIxQjQyMDEyRDAwRDI1OEMxIC8qIEpTTWVkaWFEZXZpY2VzLmgg
aW4gSGVhZGVycyAqLywKIAkJCQkwNzJBNzA0MzFENzM5NkIzMDBERjBBRkMgLyogSlNNZWRpYURl
dmljZXNDdXN0b20uaCBpbiBIZWFkZXJzICovLAogCQkJCUZEMjNBMTI2MTNGNUZBNTkwMEY2NzAw
MSAvKiBKU01lZGlhRWxlbWVudEF1ZGlvU291cmNlTm9kZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJ
MkQ5QkY3MTIxREJGRDkxNDAwN0E3RDk5IC8qIEpTTWVkaWFFbmNyeXB0ZWRFdmVudC5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJRTQ0NjE0MTkwQ0Q2ODI2OTAwRkFEQTc1IC8qIEpTTWVkaWFFcnJvci5o
IGluIEhlYWRlcnMgKi8sCisJCQkJMkQ5QkY3MjgxREJGREIwRDAwN0E3RDk5IC8qIEpTTWVkaWFL
ZXlNZXNzYWdlRXZlbnQuaCBpbiBIZWFkZXJzICovLAorCQkJCTJEOUJGNzI5MURCRkRCMTAwMDdB
N0Q5OSAvKiBKU01lZGlhS2V5cy5oIGluIEhlYWRlcnMgKi8sCisJCQkJMkQ5QkY3MkExREJGREIx
MzAwN0E3RDk5IC8qIEpTTWVkaWFLZXlTZXNzaW9uLmggaW4gSGVhZGVycyAqLywKKwkJCQkyRDlC
RjcyQjFEQkZEQjE1MDA3QTdEOTkgLyogSlNNZWRpYUtleVN0YXR1c01hcC5oIGluIEhlYWRlcnMg
Ki8sCisJCQkJMkQ5QkY3MkMxREJGREIxNzAwN0E3RDk5IC8qIEpTTWVkaWFLZXlTeXN0ZW1BY2Nl
c3MuaCBpbiBIZWFkZXJzICovLAorCQkJCTJEOUJGNzJEMURCRkRCMTkwMDdBN0Q5OSAvKiBKU01l
ZGlhS2V5U3lzdGVtQ29uZmlndXJhdGlvbi5oIGluIEhlYWRlcnMgKi8sCisJCQkJMkQ5QkY3MkUx
REJGREIxQzAwN0E3RDk5IC8qIEpTTWVkaWFLZXlTeXN0ZW1NZWRpYUNhcGFiaWxpdHkuaCBpbiBI
ZWFkZXJzICovLAogCQkJCUJDM0MzOUI3MEMwRDNEOEQwMDVGNEQ3QSAvKiBKU01lZGlhTGlzdC5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJOTNENDM3QTMxRDU3QjdFMjAwQUI4NUVBIC8qIEpTTWVkaWFM
aXN0Q3VzdG9tLmggaW4gSGVhZGVycyAqLywKIAkJCQlEM0E5NEE0NzEyMkRDNDBGMDBBMzdCQkMg
LyogSlNNZWRpYVF1ZXJ5TGlzdC5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNjMxMyw2ICsyNjQ0Niw4
IEBACiAJCQkJOTcyMDVBQjgxMjM5MjkxMDAwQjE3MzgwIC8qIE1lZGlhRG9jdW1lbnQuaCBpbiBI
ZWFkZXJzICovLAogCQkJCUZENkYyNTJEMTNGNUVGMEUwMDY1MTY1RiAvKiBNZWRpYUVsZW1lbnRB
dWRpb1NvdXJjZU5vZGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTA3RkU5OUREMTg4MDdBN0QwMDI1
NjY0OCAvKiBNZWRpYUVsZW1lbnRTZXNzaW9uLmggaW4gSGVhZGVycyAqLywKKwkJCQkyRDlCRjcw
NjFEQkZCQjI0MDA3QTdEOTkgLyogTWVkaWFFbmNyeXB0ZWRFdmVudC5oIGluIEhlYWRlcnMgKi8s
CisJCQkJMkQ5QkY3MDgxREJGQkIyNDAwN0E3RDk5IC8qIE1lZGlhRW5jcnlwdGVkRXZlbnRJbml0
LmggaW4gSGVhZGVycyAqLywKIAkJCQk1RUJCODkzNTFDNzc3ODI5MDBDNjVENDEgLyogTWVkaWFF
bmRwb2ludC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNUVCQjg5MzcxQzc3NzgyOTAwQzY1RDQxIC8q
IE1lZGlhRW5kcG9pbnRDb25maWd1cmF0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQk1RTE2QTJF
NDFCRkE2NTBCMDAyOUEyMUUgLyogTWVkaWFFbmRwb2ludFBlZXJDb25uZWN0aW9uLmggaW4gSGVh
ZGVycyAqLywKQEAgLTI5NTk2LDcgKzI5NzMxLDE3IEBACiAJCQkJMTU3MzlCQkExQjQyMDEyQTAw
RDI1OEMxIC8qIEpTTWVkaWFEZXZpY2VzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTFCODhERDEz
MUQ1QjlFNTAwMEUzQjdBNCAvKiBKU01lZGlhRGV2aWNlc0N1c3RvbS5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQlGRDIzQTEyNTEzRjVGQTU5MDBGNjcwMDEgLyogSlNNZWRpYUVsZW1lbnRBdWRpb1Nv
dXJjZU5vZGUuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMkQ5QkY3MTAxREJGRDhDRTAwN0E3RDk5
IC8qIEpTTWVkaWFFbmNyeXB0ZWRFdmVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlFNDQ2MTQx
ODBDRDY4MjY5MDBGQURBNzUgLyogSlNNZWRpYUVycm9yLmNwcCBpbiBTb3VyY2VzICovLAorCQkJ
CTJEOUJGNzIxMURCRkRBQkEwMDdBN0Q5OSAvKiBKU01lZGlhS2V5TWVzc2FnZUV2ZW50LmNwcCBp
biBTb3VyY2VzICovLAorCQkJCTJEOUJGNzIyMURCRkRBQ0IwMDdBN0Q5OSAvKiBKU01lZGlhS2V5
cy5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkyRDlCRjcyMzFEQkZEQUNEMDA3QTdEOTkgLyogSlNN
ZWRpYUtleVNlc3Npb24uY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMkQ5QkY3NEExREJGRERGRjAw
N0E3RDk5IC8qIEpTTWVkaWFLZXlTZXNzaW9uQ3VzdG9tLmNwcCBpbiBTb3VyY2VzICovLAorCQkJ
CTJEOUJGNzI0MURCRkRBRDAwMDdBN0Q5OSAvKiBKU01lZGlhS2V5U3RhdHVzTWFwLmNwcCBpbiBT
b3VyY2VzICovLAorCQkJCTJEOUJGNzI1MURCRkRBRDMwMDdBN0Q5OSAvKiBKU01lZGlhS2V5U3lz
dGVtQWNjZXNzLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTJEOUJGNzRCMURCRkRFMDIwMDdBN0Q5
OSAvKiBKU01lZGlhS2V5U3lzdGVtQWNjZXNzQ3VzdG9tLmNwcCBpbiBTb3VyY2VzICovLAorCQkJ
CTJEOUJGNzI2MURCRkRBRDUwMDdBN0Q5OSAvKiBKU01lZGlhS2V5U3lzdGVtQ29uZmlndXJhdGlv
bi5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkyRDlCRjcyNzFEQkZEQUQ4MDA3QTdEOTkgLyogSlNN
ZWRpYUtleVN5c3RlbU1lZGlhQ2FwYWJpbGl0eS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQzND
MzlCNjBDMEQzRDhEMDA1RjREN0EgLyogSlNNZWRpYUxpc3QuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJRDNBOTRBNDYxMjJEQzQwRjAwQTM3QkJDIC8qIEpTTWVkaWFRdWVyeUxpc3QuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJN0M1MzQzRkMxN0I3NEI2MzAwNDIzMkYwIC8qIEpTTWVkaWFRdWVyeUxp
c3RMaXN0ZW5lci5jcHAgaW4gU291cmNlcyAqLywKQEAgLTMwMTAxLDEyICszMDI0NiwxOCBAQAog
CQkJCTk3MjA1QUI3MTIzOTI5MTAwMEIxNzM4MCAvKiBNZWRpYURvY3VtZW50LmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCUZENkYyNTJDMTNGNUVGMEUwMDY1MTY1RiAvKiBNZWRpYUVsZW1lbnRBdWRp
b1NvdXJjZU5vZGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMDdGRTk5REMxODgwN0E3RDAwMjU2
NjQ4IC8qIE1lZGlhRWxlbWVudFNlc3Npb24uY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMkQ5QkY3
MDUxREJGQkIyNDAwN0E3RDk5IC8qIE1lZGlhRW5jcnlwdGVkRXZlbnQuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJNUVCQjg5MzQxQzc3NzgyOTAwQzY1RDQxIC8qIE1lZGlhRW5kcG9pbnQuY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJNUVCQjg5MzYxQzc3NzgyOTAwQzY1RDQxIC8qIE1lZGlhRW5kcG9p
bnRDb25maWd1cmF0aW9uLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTVFMTZBMkU1MUJGQTY1MEYw
MDI5QTIxRSAvKiBNZWRpYUVuZHBvaW50UGVlckNvbm5lY3Rpb24uY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJNUU0RUFCMDUxRDA3MTY2RTAwMDZBMTg0IC8qIE1lZGlhRW5kcG9pbnRTZXNzaW9uRGVz
Y3JpcHRpb24uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNEUxOTU5MjEwQTM5REFCQTAwMjIwRkU1
IC8qIE1lZGlhRmVhdHVyZU5hbWVzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTA3QTZEMUVCMTQ5
MTEzNzcwMDA1MUQwQyAvKiBNZWRpYUZyYWdtZW50VVJJUGFyc2VyLmNwcCBpbiBTb3VyY2VzICov
LAorCQkJCTJEOUJGNzQ3MURCRkRDNDkwMDdBN0Q5OSAvKiBNZWRpYUtleU1lc3NhZ2VFdmVudC5j
cHAgaW4gU291cmNlcyAqLywKKwkJCQkyRDlCRjc0NjFEQkZEQzQ3MDA3QTdEOTkgLyogTWVkaWFL
ZXlzLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTJEOUJGNzQ1MURCRkRDNDQwMDdBN0Q5OSAvKiBN
ZWRpYUtleVNlc3Npb24uY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMkQ5QkY3NDQxREJGREM0MTAw
N0E3RDk5IC8qIE1lZGlhS2V5U3RhdHVzTWFwLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTJEOUJG
NzQzMURCRkRDM0UwMDdBN0Q5OSAvKiBNZWRpYUtleVN5c3RlbUFjY2Vzcy5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQlBOEVBODAwOTBBMTk1MTZFMDBBOEVGNUYgLyogTWVkaWFMaXN0LmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCTA3MUU0OTZFMUFENUFBMEQwMDhBNTBCNCAvKiBNZWRpYVBsYXliYWNr
VGFyZ2V0TWFjLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJMDc3QjY0MTYxQjk1RjcwMzAwM0U5QUQ1
IC8qIE1lZGlhUGxheWJhY2tUYXJnZXRNb2NrLmNwcCBpbiBTb3VyY2VzICovLApAQCAtMzAyMTIs
NiArMzAzNjMsNyBAQAogCQkJCTk3OUY0M0QzMTA3NUU0NEEwMDAwRjgzQiAvKiBOYXZpZ2F0aW9u
U2NoZWR1bGVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE5QzZFNUE1MEQ3NDY0NTgwMDY0NDJF
OSAvKiBOYXZpZ2F0b3IuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRTEyNzE5Q0EwRUVFQzIxMzAw
RjYxMjEzIC8qIE5hdmlnYXRvckJhc2UuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMkQ5QkY3NDIx
REJGREMyNzAwN0E3RDk5IC8qIE5hdmlnYXRvckVNRS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1
MUE0QkIxMDE5NTRENjI3MDBGQTVDMkUgLyogTmF2aWdhdG9yR2FtZXBhZC5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQk5NzExNDYwMzE0RUYwMDlBMDA2NzRGRDkgLyogTmF2aWdhdG9yR2VvbG9jYXRp
b24uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNUVBNzI1RDUxQUNBQkQ1NzAwRUFEMTdCIC8qIE5h
dmlnYXRvck1lZGlhRGV2aWNlcy5jcHAgaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0J1ZmZlclNvdXJjZS5oIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvQnVmZmVyU291cmNlLmgKaW5kZXggNTM5NzczODUyYjM4OGVhZDg3ODEwMDQ2ZDY2
YTE1YWQ4YmQ1OTcwZC4uMDNiN2NjNmZiOWZiOWM5ZGNmOTI5MTcxMDk3NWExNGI4ZTIyMTY0MSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvQnVmZmVyU291cmNlLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvQnVmZmVyU291cmNlLmgKQEAgLTM0LDEwICsz
NCwxNCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEJ1ZmZlclNvdXJjZSB7CiBwdWJs
aWM6Ci0gICAgQnVmZmVyU291cmNlKFdURjo6VmFyaWFudDxSZWZQdHI8SlNDOjpBcnJheUJ1ZmZl
clZpZXc+LCBSZWZQdHI8SlNDOjpBcnJheUJ1ZmZlcj4+JiYgdmFyaWFudCkKKyAgICB1c2luZyBW
YXJpYW50VHlwZSA9IFdURjo6VmFyaWFudDxSZWZQdHI8SlNDOjpBcnJheUJ1ZmZlclZpZXc+LCBS
ZWZQdHI8SlNDOjpBcnJheUJ1ZmZlcj4+OworCisgICAgQnVmZmVyU291cmNlKFZhcmlhbnRUeXBl
JiYgdmFyaWFudCkKICAgICAgICAgOiBtX3ZhcmlhbnQoV1RGTW92ZSh2YXJpYW50KSkKICAgICB7
IH0KIAorICAgIGNvbnN0IFZhcmlhbnRUeXBlJiB2YXJpYW50KCkgY29uc3QgeyByZXR1cm4gbV92
YXJpYW50OyB9CisKICAgICBjb25zdCB1aW50OF90KiBkYXRhKCkgY29uc3QKICAgICB7CiAgICAg
ICAgIHJldHVybiBXVEY6OnZpc2l0KFtdKGF1dG8mIGJ1ZmZlcikgLT4gY29uc3QgdWludDhfdCog
ewpAQCAtNTMsNyArNTcsNyBAQCBwdWJsaWM6CiAgICAgfQogCiBwcml2YXRlOgotICAgIFdURjo6
VmFyaWFudDxSZWZQdHI8SlNDOjpBcnJheUJ1ZmZlclZpZXc+LCBSZWZQdHI8SlNDOjpBcnJheUJ1
ZmZlcj4+IG1fdmFyaWFudDsKKyAgICBWYXJpYW50VHlwZSBtX3ZhcmlhbnQ7CiB9OwogCiB9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU01lZGlhS2V5U2Vzc2lvbkN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU01lZGlhS2V5U2Vzc2lvbkN1c3RvbS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDM5ZDE3NTc1Njk4YWIw
M2FlNDZmNGY1NzdmYTI1YjBlNjcxMDE0YQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL0pTTWVkaWFLZXlTZXNzaW9uQ3VzdG9tLmNwcApAQCAtMCwwICsxLDQ2
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE2IE1ldHJvbG9naWNhbCBHcm91cCBCLlYuCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTYsIElnYWxpYSBTLkwuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUK
KyAqICAgIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nCisgKiAgICBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQKKyAqICAgIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBB
TkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlS
SUdIVAorICogSE9MREVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisKKyNpZiBFTkFCTEUoRU5DUllQVEVEX01F
RElBKQorCisjaW5jbHVkZSAiSlNNZWRpYUtleVNlc3Npb24uaCIKKyNpbmNsdWRlICJOb3RJbXBs
ZW1lbnRlZC5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK0pTQzo6SlNWYWx1ZSBKU01lZGlh
S2V5U2Vzc2lvbjo6Y2xvc2VkKEpTQzo6RXhlY1N0YXRlJikgY29uc3QKK3sKKyAgICBub3RJbXBs
ZW1lbnRlZCgpOworICAgIHJldHVybiBKU0M6OmpzVW5kZWZpbmVkKCk7Cit9CisKK30gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShFTkNSWVBURURfTUVESUEpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU01lZGlhS2V5U3lzdGVtQWNjZXNz
Q3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTWVkaWFLZXlTeXN0ZW1B
Y2Nlc3NDdXN0b20uY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ4MzE5YWQyY2M0MjI1ODFmMzM2YjkwNTljOTA5
YWNhMDM1MzJiNTAKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU01lZGlhS2V5U3lzdGVtQWNjZXNzQ3VzdG9tLmNwcApAQCAtMCwwICsxLDQ2IEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDE2IE1ldHJvbG9naWNhbCBHcm91cCBCLlYuCisgKiBDb3B5cmln
aHQgKEMpIDIwMTYsIElnYWxpYSBTLkwuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
KyAqIGFyZSBtZXQ6CisgKgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqICAgIGNv
cHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
CisgKiAgICBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQKKyAqICAgIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJ
QlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICog
SE9MREVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLwor
CisjaW5jbHVkZSAiY29uZmlnLmgiCisKKyNpZiBFTkFCTEUoRU5DUllQVEVEX01FRElBKQorCisj
aW5jbHVkZSAiSlNNZWRpYUtleVN5c3RlbUFjY2Vzcy5oIgorI2luY2x1ZGUgIk5vdEltcGxlbWVu
dGVkLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworSlNDOjpKU1ZhbHVlIEpTTWVkaWFLZXlT
eXN0ZW1BY2Nlc3M6OmdldENvbmZpZ3VyYXRpb24oSlNDOjpFeGVjU3RhdGUmKQoreworICAgIG5v
dEltcGxlbWVudGVkKCk7CisgICAgcmV0dXJuIEpTQzo6anNVbmRlZmluZWQoKTsKK30KKworfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRv
ckpTLnBtIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMu
cG0KaW5kZXggZDczNWJkNWJiZmRlMWMxOGViOTEyYzA5ZjgyNjViNzg0NmE4MTA5ZC4uY2ZkZDdl
MDY3YmY0MmZiZTExMjcyODI0Y2JlNGJiOTUwYzdjODg0NiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KKysrIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KQEAgLTUxNjcsNiArNTE2
Nyw3IEBAIHN1YiBHZXROYXRpdmVWZWN0b3JJbm5lclR5cGUKICAgICBteSAkaW5uZXJUeXBlTmFt
ZSA9ICRpbm5lclR5cGUtPm5hbWU7CiAKICAgICByZXR1cm4gJG5hdGl2ZVR5cGV7JGlubmVyVHlw
ZU5hbWV9IGlmIGV4aXN0cyAkbmF0aXZlVHlwZXskaW5uZXJUeXBlTmFtZX07CisgICAgcmV0dXJu
IEdldERpY3Rpb25hcnlDbGFzc05hbWUoJGlubmVyVHlwZSkgaWYgJGNvZGVHZW5lcmF0b3ItPklz
RGljdGlvbmFyeVR5cGUoJGlubmVyVHlwZSk7CiAgICAgcmV0dXJuICJSZWZQdHI8JGlubmVyVHlw
ZU5hbWU+IjsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50TmFtZXMu
aCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmgKaW5kZXggNGU5ZGViNDk0ZDNkMDYw
MDgxNjg1NjNjNWJmMmU4NGI3MDZjODE5Mi4uMzliZDZhMjVhZGVkZDQwZTFjZWUyMDVjZmI0NDU2
MjAyNmVkMzJjOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50TmFtZXMuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5oCkBAIC0xMDMsNiArMTAzLDcgQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogICAgIG1hY3JvKGRyb3ApIFwKICAgICBtYWNybyhkdXJhdGlv
bmNoYW5nZSkgXAogICAgIG1hY3JvKGVtcHRpZWQpIFwKKyAgICBtYWNybyhlbmNyeXB0ZWQpIFwK
ICAgICBtYWNybyhlbmQpIFwKICAgICBtYWNybyhlbmRFdmVudCkgXAogICAgIG1hY3JvKGVuZGVk
KSBcCkBAIC0xMzEsNiArMTMyLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIG1hY3JvKGlu
dmFsaWQpIFwKICAgICBtYWNybyhrZXlkb3duKSBcCiAgICAgbWFjcm8oa2V5cHJlc3MpIFwKKyAg
ICBtYWNybyhrZXlzdGF0dXNlc2NoYW5nZSkgXAogICAgIG1hY3JvKGtleXVwKSBcCiAgICAgbWFj
cm8obGFuZ3VhZ2VjaGFuZ2UpIFwKICAgICBtYWNybyhsZXZlbGNoYW5nZSkgXApAQCAtMjM5LDYg
KzI0MSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBtYWNybyh2aXNpYmlsaXR5Y2hhbmdl
KSBcCiAgICAgbWFjcm8odm9sdW1lY2hhbmdlKSBcCiAgICAgbWFjcm8od2FpdGluZykgXAorICAg
IG1hY3JvKHdhaXRpbmdmb3JrZXkpIFwKICAgICBtYWNybyh3ZWJnbGNvbnRleHRjcmVhdGlvbmVy
cm9yKSBcCiAgICAgbWFjcm8od2ViZ2xjb250ZXh0bG9zdCkgXAogICAgIG1hY3JvKHdlYmdsY29u
dGV4dHJlc3RvcmVkKSBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnROYW1l
cy5pbiBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmluCmluZGV4IDhiOWJiNjdlNzFh
MjJiNjg0ZTkwNjkyMzVmODZmNDUyMDY5Nzg5NjkuLjkxYTg2ZjUyOTgxNDA3ODY1ZDMwMDFjMWNk
MDExMDNiMzk0Y2I1MWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudE5hbWVz
LmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmluCkBAIC03MCwzICs3MCw1
IEBAIEdlc3R1cmVFdmVudCBjb25kaXRpb25hbD1JT1NfR0VTVFVSRV9FVkVOVFN8TUFDX0dFU1RV
UkVfRVZFTlRTCiBXZWJLaXRQbGF5YmFja1RhcmdldEF2YWlsYWJpbGl0eUV2ZW50IGNvbmRpdGlv
bmFsPVdJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVAogR2FtZXBhZEV2ZW50IGNvbmRpdGlvbmFsPUdB
TUVQQUQKIE92ZXJjb25zdHJhaW5lZEVycm9yRXZlbnQgY29uZGl0aW9uYWw9TUVESUFfU1RSRUFN
CitNZWRpYUVuY3J5cHRlZEV2ZW50IGNvbmRpdGlvbmFsPUVOQ1JZUFRFRF9NRURJQQorTWVkaWFL
ZXlNZXNzYWdlRXZlbnQgY29uZGl0aW9uYWw9RU5DUllQVEVEX01FRElBCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXRGYWN0b3J5LmluIGIvU291cmNlL1dlYkNvcmUv
ZG9tL0V2ZW50VGFyZ2V0RmFjdG9yeS5pbgppbmRleCAyYzBmNmQzZmQ5ZDY2OTFiYzk2NmMyODcx
YzgzMWMxNGQ4MzEzMjMyLi42NWRlOTRkZWJkYTY4YjdiMDY2NGRkNWFjNjM3MGQzNGYwNjQzY2Jj
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXRGYWN0b3J5LmluCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldEZhY3RvcnkuaW4KQEAgLTE2LDYgKzE2
LDcgQEAgSURCT3BlbkRCUmVxdWVzdCBjb25kaXRpb25hbD1JTkRFWEVEX0RBVEFCQVNFCiBJREJS
ZXF1ZXN0IGNvbmRpdGlvbmFsPUlOREVYRURfREFUQUJBU0UKIElEQlRyYW5zYWN0aW9uIGNvbmRp
dGlvbmFsPUlOREVYRURfREFUQUJBU0UKIE1lZGlhQ29udHJvbGxlciBjb25kaXRpb25hbD1WSURF
TworTWVkaWFLZXlTZXNzaW9uIGNvbmRpdGlvbmFsPUVOQ1JZUFRFRF9NRURJQQogTWVkaWFSZW1v
dGVDb250cm9scyBjb25kaXRpb25hbD1NRURJQV9TRVNTSU9OCiBNZWRpYVNvdXJjZSBjb25kaXRp
b25hbD1NRURJQV9TT1VSQ0UKIE1lZGlhU3RyZWFtIGNvbmRpdGlvbmFsPU1FRElBX1NUUkVBTQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKaW5kZXggMDViOWY2MGE3M2Yw
MDczMTBjODY1YWE4Zjk1YWJjZjM4YWMyNTE4Yi4uZjU3MDFlYWMwMWM4OGE5YzRlYmNkYWVkYzgx
NTZjMDYzMWFjZTg0YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFF
bGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3Bw
CkBAIC0yNDMzLDYgKzI0MzMsMTkgQEAgdm9pZCBIVE1MTWVkaWFFbGVtZW50OjprZXlBZGRlZCgp
CiAKICNlbmRpZgogCisjaWYgRU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkKKworTWVkaWFLZXlzKiBI
VE1MTWVkaWFFbGVtZW50OjptZWRpYUtleXMoKSBjb25zdAoreworICAgIHJldHVybiBudWxscHRy
OworfQorCit2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OnNldE1lZGlhS2V5cyhNZWRpYUtleXMqLCBT
ZXRNZWRpYUtleXNQcm9taXNlJiYpCit7Cit9CisKKyNlbmRpZiAvLyBFTkFCTEUoRU5DUllQVEVE
X01FRElBKQorCiB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OnByb2dyZXNzRXZlbnRUaW1lckZpcmVk
KCkKIHsKICAgICBBU1NFUlQobV9wbGF5ZXIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MTWVkaWFFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVs
ZW1lbnQuaAppbmRleCA1YWE5NWI5ZDUwNmM2YWFjN2U3YWYxNmVlNjIxOTAxYWJiZTJjZDZjLi41
M2Q1OGYzMDliNDNjMmE2Y2JjODViOGFkOWY2YzFhMmFlYjE0ZmQxIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxNZWRpYUVsZW1lbnQuaApAQCAtNzAsNiArNzAsOSBAQCBjbGFzcyBNZWRpYUNvbnRy
b2xzOwogY2xhc3MgTWVkaWFDb250cm9sc0hvc3Q7CiBjbGFzcyBNZWRpYUVsZW1lbnRBdWRpb1Nv
dXJjZU5vZGU7CiBjbGFzcyBNZWRpYUVycm9yOworI2lmIEVOQUJMRShFTkNSWVBURURfTUVESUEp
CitjbGFzcyBNZWRpYUtleXM7CisjZW5kaWYKIGNsYXNzIE1lZGlhUGxheWVyOwogY2xhc3MgTWVk
aWFTZXNzaW9uOwogY2xhc3MgTWVkaWFTb3VyY2U7CkBAIC0yNTYsNiArMjU5LDEzIEBAIHB1Ymxp
YzoKICAgICB2b2lkIGtleUFkZGVkKCk7CiAjZW5kaWYKIAorI2lmIEVOQUJMRShFTkNSWVBURURf
TUVESUEpCisgICAgTWVkaWFLZXlzKiBtZWRpYUtleXMoKSBjb25zdDsKKworICAgIHVzaW5nIFNl
dE1lZGlhS2V5c1Byb21pc2UgPSBET01Qcm9taXNlPHN0ZDo6bnVsbHB0cl90PjsKKyAgICB2b2lk
IHNldE1lZGlhS2V5cyhNZWRpYUtleXMqLCBTZXRNZWRpYUtleXNQcm9taXNlJiYpOworI2VuZGlm
CisKIC8vIGNvbnRyb2xzCiAgICAgV0VCQ09SRV9FWFBPUlQgYm9vbCBjb250cm9scygpIGNvbnN0
OwogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0Q29udHJvbHMoYm9vbCk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaWRsIGIvU291cmNlL1dlYkNv
cmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmlkbAppbmRleCA3ZGUxZTU0ODA0Y2ZkYTAxZGNhNDlm
ZDQyZGViNDJjMzQ5MmVlZTI0Li44OGJmZTRhYTU4YTk5ZjQ5ZDg3MjJiNDcxNmM2ZDc3MTc3YTZm
OWZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaWRs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5pZGwKQEAgLTkzLDYg
KzkzLDEwIEBACiAKICAgICBbQ29uZGl0aW9uYWw9TEVHQUNZX0VOQ1JZUFRFRF9NRURJQV0gcmVh
ZG9ubHkgYXR0cmlidXRlIFdlYktpdE1lZGlhS2V5cyB3ZWJraXRLZXlzOwogICAgIFtDb25kaXRp
b25hbD1MRUdBQ1lfRU5DUllQVEVEX01FRElBXSB2b2lkIHdlYmtpdFNldE1lZGlhS2V5cyhXZWJL
aXRNZWRpYUtleXM/IG1lZGlhS2V5cyk7CisgICAgW0NvbmRpdGlvbmFsPUVOQ1JZUFRFRF9NRURJ
QV0gcmVhZG9ubHkgYXR0cmlidXRlIE1lZGlhS2V5cyBtZWRpYUtleXM7CisgICAgW0NvbmRpdGlv
bmFsPUVOQ1JZUFRFRF9NRURJQV0gYXR0cmlidXRlIEV2ZW50SGFuZGxlciBvbmVuY3J5cHRlZDsK
KyAgICBbQ29uZGl0aW9uYWw9RU5DUllQVEVEX01FRElBXSBhdHRyaWJ1dGUgRXZlbnRIYW5kbGVy
IG9ud2FpdGluZ2ZvcmtleTsKKyAgICBbQ29uZGl0aW9uYWw9RU5DUllQVEVEX01FRElBXSBQcm9t
aXNlIHNldE1lZGlhS2V5cyhNZWRpYUtleXM/IG1lZGlhS2V5cyk7CiAKICAgICBbQ29uZGl0aW9u
YWw9VklERU9fVFJBQ0ssIE1heVRocm93RXhjZXB0aW9uXSBUZXh0VHJhY2sgYWRkVGV4dFRyYWNr
KERPTVN0cmluZyBraW5kLCBvcHRpb25hbCBET01TdHJpbmcgbGFiZWwgPSAiIiwgb3B0aW9uYWwg
RE9NU3RyaW5nIGxhbmd1YWdlID0gIiIpOwogICAgIFtDb25kaXRpb25hbD1WSURFT19UUkFDS10g
cmVhZG9ubHkgYXR0cmlidXRlIEF1ZGlvVHJhY2tMaXN0IGF1ZGlvVHJhY2tzOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUVuY3J5cHRlZEV2ZW50LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvTWVkaWFFbmNyeXB0ZWRFdmVudC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDMwNGNiN2Vk
ZTdkMzRiOTQyOWJhYTBiMmQzODY5ZWZmOTRjY2ViMgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvTWVkaWFFbmNyeXB0ZWRFdmVudC5jcHAKQEAgLTAsMCArMSw2NCBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAxNiBNZXRyb2xvZ2ljYWwgR3JvdXAgQi5WLgorICogQ29w
eXJpZ2h0IChDKSAyMDE2LCBJZ2FsaWEgUy5MLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCisgKiBhcmUgbWV0OgorICoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiAg
ICBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZworICogICAgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkCisgKiAgICB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENP
TlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFS
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQK
KyAqIEhPTERFUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisg
Ki8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIk1lZGlhRW5jcnlwdGVkRXZlbnQu
aCIKKworI2lmIEVOQUJMRShFTkNSWVBURURfTUVESUEpCisKKyNpbmNsdWRlICJOb3RJbXBsZW1l
bnRlZC5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK01lZGlhRW5jcnlwdGVkRXZlbnQ6Ok1l
ZGlhRW5jcnlwdGVkRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiB0eXBlLCBjb25zdCBNZWRpYUVu
Y3J5cHRlZEV2ZW50SW5pdCYgaW5pdGlhbGl6ZXIsIElzVHJ1c3RlZCBpc1RydXN0ZWQpCisgICAg
OiBFdmVudCh0eXBlLCBpbml0aWFsaXplciwgaXNUcnVzdGVkKQoreworfQorCitNZWRpYUVuY3J5
cHRlZEV2ZW50Ojp+TWVkaWFFbmNyeXB0ZWRFdmVudCgpID0gZGVmYXVsdDsKKworRXZlbnRJbnRl
cmZhY2UgTWVkaWFFbmNyeXB0ZWRFdmVudDo6ZXZlbnRJbnRlcmZhY2UoKSBjb25zdAoreworICAg
IHJldHVybiBNZWRpYUVuY3J5cHRlZEV2ZW50SW50ZXJmYWNlVHlwZTsKK30KKworU3RyaW5nIE1l
ZGlhRW5jcnlwdGVkRXZlbnQ6OmluaXREYXRhVHlwZSgpCit7CisgICAgbm90SW1wbGVtZW50ZWQo
KTsKKyAgICByZXR1cm4gZW1wdHlTdHJpbmcoKTsKK30KKworQXJyYXlCdWZmZXIqIE1lZGlhRW5j
cnlwdGVkRXZlbnQ6OmluaXREYXRhKCkKK3sKKyAgICBub3RJbXBsZW1lbnRlZCgpOworICAgIHJl
dHVybiBudWxscHRyOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBF
TkFCTEUoRU5DUllQVEVEX01FRElBKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9N
ZWRpYUVuY3J5cHRlZEV2ZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRW5jcnlwdGVk
RXZlbnQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5hODg0MDEyZWM0MzBlODYyNWUxZDEwOWE1ZGQ5ZTY1NGZhN2I0
MmQ2Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUVuY3J5cHRl
ZEV2ZW50LmgKQEAgLTAsMCArMSw2NSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNiBNZXRy
b2xvZ2ljYWwgR3JvdXAgQi5WLgorICogQ29weXJpZ2h0IChDKSAyMDE2LCBJZ2FsaWEgUy5MLgor
ICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICoKKyAqIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiAgICBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZworICogICAgZGlzY2xhaW1lciBpbiB0aGUg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkCisgKiAgICB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBU
SEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJ
TUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIEhPTERFUiBPUiBDT05UUklCVVRPUlMgQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QK
KyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBFTkFC
TEUoRU5DUllQVEVEX01FRElBKQorCisjaW5jbHVkZSAiRXZlbnQuaCIKKyNpbmNsdWRlICJNZWRp
YUVuY3J5cHRlZEV2ZW50SW5pdC5oIgorCituYW1lc3BhY2UgSlNDIHsKK2NsYXNzIEFycmF5QnVm
ZmVyOworfQorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIE1lZGlhRW5jcnlwdGVkRXZl
bnQgZmluYWwgOiBwdWJsaWMgRXZlbnQgeworcHVibGljOgorICAgIHVzaW5nIEluaXQgPSBNZWRp
YUVuY3J5cHRlZEV2ZW50SW5pdDsKKworICAgIHN0YXRpYyBSZWY8TWVkaWFFbmNyeXB0ZWRFdmVu
dD4gY3JlYXRlKGNvbnN0IEF0b21pY1N0cmluZyYgdHlwZSwgY29uc3QgTWVkaWFFbmNyeXB0ZWRF
dmVudEluaXQmIGluaXRpYWxpemVyLCBJc1RydXN0ZWQgaXNUcnVzdGVkID0gSXNUcnVzdGVkOjpO
bykKKyAgICB7CisgICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IE1lZGlhRW5jcnlwdGVkRXZl
bnQodHlwZSwgaW5pdGlhbGl6ZXIsIGlzVHJ1c3RlZCkpOworICAgIH0KKworICAgIHZpcnR1YWwg
fk1lZGlhRW5jcnlwdGVkRXZlbnQoKTsKKworICAgIFN0cmluZyBpbml0RGF0YVR5cGUoKTsKKyAg
ICBKU0M6OkFycmF5QnVmZmVyKiBpbml0RGF0YSgpOworCitwcml2YXRlOgorICAgIE1lZGlhRW5j
cnlwdGVkRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiwgY29uc3QgTWVkaWFFbmNyeXB0ZWRFdmVu
dEluaXQmLCBJc1RydXN0ZWQpOworCisgICAgLy8gRXZlbnQKKyAgICBFdmVudEludGVyZmFjZSBl
dmVudEludGVyZmFjZSgpIGNvbnN0IG92ZXJyaWRlOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQorCisjZW5kaWYgLy8gRU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFFbmNyeXB0ZWRFdmVudC5pZGwgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL01lZGlhRW5jcnlwdGVkRXZlbnQuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmY1NWVmMzJmZWM5YjVm
YjAzMzI3YTBlOTg0ZjBhNDRjY2NiODExZTYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL01lZGlhRW5jcnlwdGVkRXZlbnQuaWRsCkBAIC0wLDAgKzEsNDAgQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTYgTWV0cm9sb2dpY2FsIEdyb3VwIEIuVi4KKyAqIENvcHlyaWdo
dCAoQykgMjAxNiwgSWdhbGlhIFMuTC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwor
ICogYXJlIG1ldDoKKyAqCisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogICAgY29w
eXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcK
KyAqICAgIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZAorICogICAgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklC
VVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBI
T0xERVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
K2RpY3Rpb25hcnkgTWVkaWFFbmNyeXB0ZWRFdmVudEluaXQgOiBFdmVudEluaXQgeworICAgIERP
TVN0cmluZyBpbml0RGF0YVR5cGUgPSAiIjsKKyAgICBBcnJheUJ1ZmZlcj8gaW5pdERhdGEgPSBu
dWxsOworfTsKKworWworICAgIENvbmRpdGlvbmFsPUVOQ1JZUFRFRF9NRURJQSwKKyAgICBDb25z
dHJ1Y3RvcihET01TdHJpbmcgdHlwZSwgb3B0aW9uYWwgTWVkaWFFbmNyeXB0ZWRFdmVudEluaXQg
ZXZlbnRJbml0RGljdCkKK10gaW50ZXJmYWNlIE1lZGlhRW5jcnlwdGVkRXZlbnQgOiBFdmVudCB7
CisgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyBpbml0RGF0YVR5cGU7CisgICAgcmVh
ZG9ubHkgYXR0cmlidXRlIEFycmF5QnVmZmVyPyBpbml0RGF0YTsKK307CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRW5jcnlwdGVkRXZlbnRJbml0LmggYi9Tb3VyY2UvV2Vi
Q29yZS9odG1sL01lZGlhRW5jcnlwdGVkRXZlbnRJbml0LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDEyMmQxYTgx
NTJiOWYwYjlmY2RmNWMxZGJhZmJlNzAyODA4YTIyYwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvTWVkaWFFbmNyeXB0ZWRFdmVudEluaXQuaApAQCAtMCwwICsxLDUzIEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDE2IE1ldHJvbG9naWNhbCBHcm91cCBCLlYuCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTYsIElnYWxpYSBTLkwuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKKyAqIGFyZSBtZXQ6CisgKgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAq
ICAgIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nCisgKiAgICBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQKKyAqICAgIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQg
Q09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdI
VAorICogSE9MREVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
KyAqLworCisjcHJhZ21hIG9uY2UKKworI2lmIEVOQUJMRShFTkNSWVBURURfTUVESUEpCisKKyNp
bmNsdWRlICJFdmVudC5oIgorI2luY2x1ZGUgPHJ1bnRpbWUvQXJyYXlCdWZmZXIuaD4KKworbmFt
ZXNwYWNlIFdlYkNvcmUgeworCitzdHJ1Y3QgTWVkaWFFbmNyeXB0ZWRFdmVudEluaXQgOiBFdmVu
dEluaXQgeworICAgIE1lZGlhRW5jcnlwdGVkRXZlbnRJbml0KCkgPSBkZWZhdWx0OworCisgICAg
TWVkaWFFbmNyeXB0ZWRFdmVudEluaXQoY29uc3QgU3RyaW5nJiBpbml0RGF0YVR5cGUsIFJlZlB0
cjxKU0M6OkFycmF5QnVmZmVyPiYmIGluaXREYXRhKQorICAgICAgICA6IEV2ZW50SW5pdCgpCisg
ICAgICAgICwgaW5pdERhdGFUeXBlKGluaXREYXRhVHlwZSkKKyAgICAgICAgLCBpbml0RGF0YShX
VEZNb3ZlKGluaXREYXRhKSkKKyAgICB7IH0KKworICAgIFN0cmluZyBpbml0RGF0YVR5cGU7Cisg
ICAgUmVmUHRyPEpTQzo6QXJyYXlCdWZmZXI+IGluaXREYXRhOworfTsKKworfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkKZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4IDJkN2ZiZWJlNTA4ODdlMWU1YzE1YTkzMzYwNjA4ZmEz
M2M1NzdjMzUuLjE3NTRkMTE5OThhYWU5MmE3NWMyOWQzZDRhYTUxMzYyMmViN2NhMjMgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDE2LTEwLTMwICBa
YW4gRG9iZXJzZWsgIDx6ZG9iZXJzZWtAaWdhbGlhLmNvbT4KKworICAgICAgICBbRU1FXSBBZGQg
bm8tb3AgV2ViLWZhY2luZyBBUElzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xNjQwMjgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9lbmNyeXB0ZWQtbWVkaWEvaWRsaGFy
bmVzcy1leHBlY3RlZC50eHQ6IEFkZGVkLgorCiAyMDE2LTEwLTI4ICBEYXJpbiBBZGxlciAgPGRh
cmluQGFwcGxlLmNvbT4KIAogICAgICAgICBNb3ZlIGFsbCBjbGFzc2VzIGluIHRoZSBIVE1MIGRp
cmVjdG9yeSBmcm9tIEV4Y2VwdGlvbkNvZGUgdG8gRXhjZXB0aW9uCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2VuY3J5cHRlZC1tZWRpYS9p
ZGxoYXJuZXNzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvZW5jcnlwdGVkLW1lZGlhL2lkbGhhcm5lc3MtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjE2ZGMzNDUxNmNjOTVhMTY5NGUxNDMyZjk4OWRhZWJkYzkwMjEzYmMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Vu
Y3J5cHRlZC1tZWRpYS9pZGxoYXJuZXNzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDY2IEBACitE
ZXNjcmlwdGlvbgorCitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBpbXBsZW1lbnRhdGlvbnMgb2Yg
dGhlIEVuY3J5cHRlZCBNZWRpYSBFeHRlbnNpb25zIEFQSSBtYXRjaCBpdHMgV2ViSURMIGRlZmlu
aXRpb24uCisKKworUEFTUyBOYXZpZ2F0b3IgaW50ZXJmYWNlOiBvcGVyYXRpb24gcmVxdWVzdE1l
ZGlhS2V5U3lzdGVtQWNjZXNzKERPTVN0cmluZyxbb2JqZWN0IE9iamVjdF0pIAorUEFTUyBIVE1M
TWVkaWFFbGVtZW50IGludGVyZmFjZTogYXR0cmlidXRlIG1lZGlhS2V5cyAKK1BBU1MgSFRNTE1l
ZGlhRWxlbWVudCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbmVuY3J5cHRlZCAKK1BBU1MgSFRNTE1l
ZGlhRWxlbWVudCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbndhaXRpbmdmb3JrZXkgCitQQVNTIEhU
TUxNZWRpYUVsZW1lbnQgaW50ZXJmYWNlOiBvcGVyYXRpb24gc2V0TWVkaWFLZXlzKE1lZGlhS2V5
cykgCitQQVNTIE1lZGlhS2V5U3lzdGVtQWNjZXNzIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBw
cm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QgCitQQVNTIE1lZGlhS2V5U3lzdGVtQWNjZXNz
IGludGVyZmFjZSBvYmplY3QgbGVuZ3RoIAorUEFTUyBNZWRpYUtleVN5c3RlbUFjY2VzcyBpbnRl
cmZhY2Ugb2JqZWN0IG5hbWUgCitQQVNTIE1lZGlhS2V5U3lzdGVtQWNjZXNzIGludGVyZmFjZTog
ZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0IAor
UEFTUyBNZWRpYUtleVN5c3RlbUFjY2VzcyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVy
dGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzICJjb25zdHJ1Y3RvciIgcHJvcGVy
dHkgCitQQVNTIE1lZGlhS2V5U3lzdGVtQWNjZXNzIGludGVyZmFjZTogYXR0cmlidXRlIGtleVN5
c3RlbSAKK1BBU1MgTWVkaWFLZXlTeXN0ZW1BY2Nlc3MgaW50ZXJmYWNlOiBvcGVyYXRpb24gZ2V0
Q29uZmlndXJhdGlvbigpIAorUEFTUyBNZWRpYUtleVN5c3RlbUFjY2VzcyBpbnRlcmZhY2U6IG9w
ZXJhdGlvbiBjcmVhdGVNZWRpYUtleXMoKSAKK1BBU1MgTWVkaWFLZXlzIGludGVyZmFjZTogZXhp
c3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QgCitQQVNTIE1lZGlhS2V5
cyBpbnRlcmZhY2Ugb2JqZWN0IGxlbmd0aCAKK1BBU1MgTWVkaWFLZXlzIGludGVyZmFjZSBvYmpl
Y3QgbmFtZSAKK1BBU1MgTWVkaWFLZXlzIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0
aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0IAorUEFTUyBNZWRpYUtleXMgaW50ZXJm
YWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmpl
Y3QncyAiY29uc3RydWN0b3IiIHByb3BlcnR5IAorUEFTUyBNZWRpYUtleXMgaW50ZXJmYWNlOiBv
cGVyYXRpb24gY3JlYXRlU2Vzc2lvbihNZWRpYUtleVNlc3Npb25UeXBlKSAKK1BBU1MgTWVkaWFL
ZXlzIGludGVyZmFjZTogb3BlcmF0aW9uIHNldFNlcnZlckNlcnRpZmljYXRlKEJ1ZmZlclNvdXJj
ZSkgCitQQVNTIE1lZGlhS2V5U2Vzc2lvbiBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVy
dGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0IAorUEFTUyBNZWRpYUtleVNlc3Npb24gaW50ZXJmYWNl
IG9iamVjdCBsZW5ndGggCitQQVNTIE1lZGlhS2V5U2Vzc2lvbiBpbnRlcmZhY2Ugb2JqZWN0IG5h
bWUgCitQQVNTIE1lZGlhS2V5U2Vzc2lvbiBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVy
dGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCAKK1BBU1MgTWVkaWFLZXlTZXNzaW9u
IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5
cGUgb2JqZWN0J3MgImNvbnN0cnVjdG9yIiBwcm9wZXJ0eSAKK1BBU1MgTWVkaWFLZXlTZXNzaW9u
IGludGVyZmFjZTogYXR0cmlidXRlIHNlc3Npb25JZCAKK1BBU1MgTWVkaWFLZXlTZXNzaW9uIGlu
dGVyZmFjZTogYXR0cmlidXRlIGV4cGlyYXRpb24gCitGQUlMIE1lZGlhS2V5U2Vzc2lvbiBpbnRl
cmZhY2U6IGF0dHJpYnV0ZSBjbG9zZWQgYXNzZXJ0X3Rocm93czogZ2V0dGluZyBwcm9wZXJ0eSBv
biBwcm90b3R5cGUgb2JqZWN0IG11c3QgdGhyb3cgVHlwZUVycm9yIGZ1bmN0aW9uICJmdW5jdGlv
biAoKSB7CisgICAgW25hdGl2ZSBjb2RlXQorfSIgZGlkIG5vdCB0aHJvdworUEFTUyBNZWRpYUtl
eVNlc3Npb24gaW50ZXJmYWNlOiBhdHRyaWJ1dGUga2V5U3RhdHVzZXMgCitQQVNTIE1lZGlhS2V5
U2Vzc2lvbiBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbmtleXN0YXR1c2VzY2hhbmdlIAorUEFTUyBN
ZWRpYUtleVNlc3Npb24gaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25tZXNzYWdlIAorUEFTUyBNZWRp
YUtleVNlc3Npb24gaW50ZXJmYWNlOiBvcGVyYXRpb24gZ2VuZXJhdGVSZXF1ZXN0KERPTVN0cmlu
ZyxCdWZmZXJTb3VyY2UpIAorUEFTUyBNZWRpYUtleVNlc3Npb24gaW50ZXJmYWNlOiBvcGVyYXRp
b24gbG9hZChET01TdHJpbmcpIAorUEFTUyBNZWRpYUtleVNlc3Npb24gaW50ZXJmYWNlOiBvcGVy
YXRpb24gdXBkYXRlKEJ1ZmZlclNvdXJjZSkgCitQQVNTIE1lZGlhS2V5U2Vzc2lvbiBpbnRlcmZh
Y2U6IG9wZXJhdGlvbiBjbG9zZSgpIAorUEFTUyBNZWRpYUtleVNlc3Npb24gaW50ZXJmYWNlOiBv
cGVyYXRpb24gcmVtb3ZlKCkgCitQQVNTIE1lZGlhS2V5U3RhdHVzTWFwIGludGVyZmFjZTogZXhp
c3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QgCitQQVNTIE1lZGlhS2V5
U3RhdHVzTWFwIGludGVyZmFjZSBvYmplY3QgbGVuZ3RoIAorUEFTUyBNZWRpYUtleVN0YXR1c01h
cCBpbnRlcmZhY2Ugb2JqZWN0IG5hbWUgCitQQVNTIE1lZGlhS2V5U3RhdHVzTWFwIGludGVyZmFj
ZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0
IAorUEFTUyBNZWRpYUtleVN0YXR1c01hcCBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVy
dGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzICJjb25zdHJ1Y3RvciIgcHJvcGVy
dHkgCitQQVNTIE1lZGlhS2V5U3RhdHVzTWFwIGludGVyZmFjZTogYXR0cmlidXRlIHNpemUgCitQ
QVNTIE1lZGlhS2V5U3RhdHVzTWFwIGludGVyZmFjZTogb3BlcmF0aW9uIGhhcyhCdWZmZXJTb3Vy
Y2UpIAorUEFTUyBNZWRpYUtleVN0YXR1c01hcCBpbnRlcmZhY2U6IG9wZXJhdGlvbiBnZXQoQnVm
ZmVyU291cmNlKSAKK1BBU1MgTWVkaWFLZXlNZXNzYWdlRXZlbnQgaW50ZXJmYWNlOiBleGlzdGVu
Y2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdCAKK1BBU1MgTWVkaWFLZXlNZXNz
YWdlRXZlbnQgaW50ZXJmYWNlIG9iamVjdCBsZW5ndGggCitQQVNTIE1lZGlhS2V5TWVzc2FnZUV2
ZW50IGludGVyZmFjZSBvYmplY3QgbmFtZSAKK1BBU1MgTWVkaWFLZXlNZXNzYWdlRXZlbnQgaW50
ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBv
YmplY3QgCitQQVNTIE1lZGlhS2V5TWVzc2FnZUV2ZW50IGludGVyZmFjZTogZXhpc3RlbmNlIGFu
ZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgImNvbnN0cnVjdG9y
IiBwcm9wZXJ0eSAKK1BBU1MgTWVkaWFLZXlNZXNzYWdlRXZlbnQgaW50ZXJmYWNlOiBhdHRyaWJ1
dGUgbWVzc2FnZVR5cGUgCitQQVNTIE1lZGlhS2V5TWVzc2FnZUV2ZW50IGludGVyZmFjZTogYXR0
cmlidXRlIG1lc3NhZ2UgCitQQVNTIE1lZGlhRW5jcnlwdGVkRXZlbnQgaW50ZXJmYWNlOiBleGlz
dGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdCAKK1BBU1MgTWVkaWFFbmNy
eXB0ZWRFdmVudCBpbnRlcmZhY2Ugb2JqZWN0IGxlbmd0aCAKK1BBU1MgTWVkaWFFbmNyeXB0ZWRF
dmVudCBpbnRlcmZhY2Ugb2JqZWN0IG5hbWUgCitQQVNTIE1lZGlhRW5jcnlwdGVkRXZlbnQgaW50
ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBv
YmplY3QgCitQQVNTIE1lZGlhRW5jcnlwdGVkRXZlbnQgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5k
IHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyAiY29uc3RydWN0b3Ii
IHByb3BlcnR5IAorUEFTUyBNZWRpYUVuY3J5cHRlZEV2ZW50IGludGVyZmFjZTogYXR0cmlidXRl
IGluaXREYXRhVHlwZSAKK1BBU1MgTWVkaWFFbmNyeXB0ZWRFdmVudCBpbnRlcmZhY2U6IGF0dHJp
YnV0ZSBpbml0RGF0YSAKKwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>294154</attachid>
            <date>2016-11-08 04:58:09 -0800</date>
            <delta_ts>2016-11-10 01:28:53 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-164028-20161108045358.patch</filename>
            <type>text/plain</type>
            <size>127206</size>
            <attacher name="Zan Dobersek">zan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA4NDIwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTIzN2Y5YTg3ZDg0N2Nj
NDFmMTI1ZjBkYzljZThjOGQ3M2NmMmZmNy4uYzExMTc0YTM3NjcwYTNkMDkzYmQxYjlkNjg5MGRk
MzlmNzc2ZDliMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDExNyBAQAorMjAxNi0xMS0wOCAgWmFu
IERvYmVyc2VrICA8emRvYmVyc2VrQGlnYWxpYS5jb20+CisKKyAgICAgICAgW0VNRV0gQWRkIG5v
LW9wIFdlYi1mYWNpbmcgQVBJcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTY0MDI4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgQWRkIG5vLW9wIGltcGxlbWVudGF0aW9uIG9mIHRoZSBXZWItZmFjaW5nIEFQ
SXMgYXMgZGVmaW5lZCBpbgorICAgICAgICB0aGUgRU1FIHNwZWNpZmljYXRpb24uIFRoaXMgd2ls
bCBiZSB0aGUgYmFzaXMgZm9yIGltcGxlbWVudGluZworICAgICAgICB0aGUgdmFyaW91cyBhbGdv
cml0aG1zIHRoZSBzYW1lIHNwZWNpZmljYXRpb24gZGVmaW5lcywgYW5kIGZvcgorICAgICAgICBp
bXBsZW1lbnRpbmcgdGhlIHJlbGV2YW50IHBsYXRmb3JtIGFic3RyYWN0aW9ucy4KKworICAgICAg
ICBEaWN0aW9uYXJpZXMgYW5kIGVudW1lcmF0aW9ucyBkZWZpbmVkIGJ5IHRoZSBzcGVjaWZpY2F0
aW9uIGFyZQorICAgICAgICBkZWZpbmVkIGluIHNlcGFyYXRlIGhlYWRlcnMsIGFuZCBub3QgaW4g
dGhlIGltcGxlbWVudGF0aW9uIGZpbGVzCisgICAgICAgIGZvciB0aGUgY2xhc3Mgd2hlcmUgdGhl
eSBhcmUgdXNlZC4gVGhpcyB3aWxsIGVhc2UgdGhlaXIgdXNlCisgICAgICAgIGFjcm9zcyBkaWZm
ZXJlbnQgaW1wbGVtZW50YXRpb24gZmlsZXMuCisKKyAgICAgICAgQnVmZmVyU291cmNlIG5vdyBl
eHBvc2VzIHRoZSBWYXJpYW50IG9iamVjdCBpdCBob2xkcy4gVGhpcyBpcworICAgICAgICBuZWVk
ZWQgdG8gc3VwcG9ydCB0aGUgaXRlcmFibGUgcHJvcGVydHkgb24gdGhlIE1lZGlhS2V5U3RhdHVz
TWFwCisgICAgICAgIGNsYXNzLgorCisgICAgICAgIENvZGVHZW5lcmF0b3JKUyBpcyBmaXhlZCB0
byBzdXBwb3J0IEpTLXRvLW5hdGl2ZSBjb252ZXJzaW9uIG9mCisgICAgICAgIHNlcXVlbmNlcyBv
ZiBkaWN0aW9uYXJpZXMuCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBE
ZXJpdmVkU291cmNlcy5jcHA6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAg
ICAgKiBNb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5TWVzc2FnZUV2ZW50LmNwcDogQWRk
ZWQuCisgICAgICAgIChXZWJDb3JlOjpNZWRpYUtleU1lc3NhZ2VFdmVudDo6TWVkaWFLZXlNZXNz
YWdlRXZlbnQpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFLZXlNZXNzYWdlRXZlbnQ6OmV2ZW50
SW50ZXJmYWNlKToKKyAgICAgICAgKiBNb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5TWVz
c2FnZUV2ZW50Lmg6IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVk
aWFLZXlNZXNzYWdlRXZlbnQuaWRsOiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL2VuY3J5cHRl
ZG1lZGlhL01lZGlhS2V5TWVzc2FnZUV2ZW50SW5pdC5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNv
cmU6Ok1lZGlhS2V5TWVzc2FnZUV2ZW50SW5pdDo6TWVkaWFLZXlNZXNzYWdlRXZlbnRJbml0KToK
KyAgICAgICAgKiBNb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5TWVzc2FnZVR5cGUuaDog
QWRkZWQuCisgICAgICAgICogTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVNlc3Npb24u
Y3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhS2V5U2Vzc2lvbjo6Y3JlYXRlKToK
KyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhS2V5U2Vzc2lvbjo6TWVkaWFLZXlTZXNzaW9uKToKKyAg
ICAgICAgKFdlYkNvcmU6Ok1lZGlhS2V5U2Vzc2lvbjo6c2Vzc2lvbklkKToKKyAgICAgICAgKFdl
YkNvcmU6Ok1lZGlhS2V5U2Vzc2lvbjo6ZXhwaXJhdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpN
ZWRpYUtleVNlc3Npb246OmtleVN0YXR1c2VzKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhS2V5
U2Vzc2lvbjo6Z2VuZXJhdGVSZXF1ZXN0KToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhS2V5U2Vz
c2lvbjo6bG9hZCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUtleVNlc3Npb246OnVwZGF0ZSk6
CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUtleVNlc3Npb246OmNsb3NlKToKKyAgICAgICAgKFdl
YkNvcmU6Ok1lZGlhS2V5U2Vzc2lvbjo6cmVtb3ZlKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlh
S2V5U2Vzc2lvbjo6aGFzUGVuZGluZ0FjdGl2aXR5KToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlh
S2V5U2Vzc2lvbjo6YWN0aXZlRE9NT2JqZWN0TmFtZSk6CisgICAgICAgIChXZWJDb3JlOjpNZWRp
YUtleVNlc3Npb246OmNhblN1c3BlbmRGb3JEb2N1bWVudFN1c3BlbnNpb24pOgorICAgICAgICAo
V2ViQ29yZTo6TWVkaWFLZXlTZXNzaW9uOjpzdG9wKToKKyAgICAgICAgKiBNb2R1bGVzL2VuY3J5
cHRlZG1lZGlhL01lZGlhS2V5U2Vzc2lvbi5oOiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL2Vu
Y3J5cHRlZG1lZGlhL01lZGlhS2V5U2Vzc2lvbi5pZGw6IEFkZGVkLgorICAgICAgICAqIE1vZHVs
ZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlTZXNzaW9uVHlwZS5oOiBBZGRlZC4KKyAgICAgICAg
KiBNb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U3RhdHVzLmg6IEFkZGVkLgorICAgICAg
ICAqIE1vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlTdGF0dXNNYXAuY3BwOiBBZGRlZC4K
KyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhS2V5U3RhdHVzTWFwOjpzaXplKToKKyAgICAgICAgKFdl
YkNvcmU6Ok1lZGlhS2V5U3RhdHVzTWFwOjpoYXMpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFL
ZXlTdGF0dXNNYXA6OmdldCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUtleVN0YXR1c01hcDo6
SXRlcmF0b3I6Okl0ZXJhdG9yKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhS2V5U3RhdHVzTWFw
OjpJdGVyYXRvcjo6bmV4dCk6CisgICAgICAgICogTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRp
YUtleVN0YXR1c01hcC5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhS2V5U3RhdHVz
TWFwOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFLZXlTdGF0dXNNYXA6OmNyZWF0
ZUl0ZXJhdG9yKToKKyAgICAgICAgKiBNb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U3Rh
dHVzTWFwLmlkbDogQWRkZWQuCisgICAgICAgICogTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRp
YUtleVN5c3RlbUFjY2Vzcy5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFLZXlT
eXN0ZW1BY2Nlc3M6OmtleVN5c3RlbSk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUtleVN5c3Rl
bUFjY2Vzczo6Z2V0Q29uZmlndXJhdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUtleVN5
c3RlbUFjY2Vzczo6Y3JlYXRlTWVkaWFLZXlzKToKKyAgICAgICAgKiBNb2R1bGVzL2VuY3J5cHRl
ZG1lZGlhL01lZGlhS2V5U3lzdGVtQWNjZXNzLmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6
TWVkaWFLZXlTeXN0ZW1BY2Nlc3M6OmNyZWF0ZSk6CisgICAgICAgICogTW9kdWxlcy9lbmNyeXB0
ZWRtZWRpYS9NZWRpYUtleVN5c3RlbUFjY2Vzcy5pZGw6IEFkZGVkLgorICAgICAgICAqIE1vZHVs
ZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlTeXN0ZW1Db25maWd1cmF0aW9uLmg6IEFkZGVkLgor
ICAgICAgICAqIE1vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlTeXN0ZW1Db25maWd1cmF0
aW9uLmlkbDogQWRkZWQuCisgICAgICAgICogTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtl
eVN5c3RlbU1lZGlhQ2FwYWJpbGl0eS5oOiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL2VuY3J5
cHRlZG1lZGlhL01lZGlhS2V5U3lzdGVtTWVkaWFDYXBhYmlsaXR5LmlkbDogQWRkZWQuCisgICAg
ICAgICogTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleXMuY3BwOiBBZGRlZC4KKyAgICAg
ICAgKFdlYkNvcmU6Ok1lZGlhS2V5czo6Y3JlYXRlU2Vzc2lvbik6CisgICAgICAgIChXZWJDb3Jl
OjpNZWRpYUtleXM6OnNldFNlcnZlckNlcnRpZmljYXRlKToKKyAgICAgICAgKiBNb2R1bGVzL2Vu
Y3J5cHRlZG1lZGlhL01lZGlhS2V5cy5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlh
S2V5czo6Y3JlYXRlKToKKyAgICAgICAgKiBNb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5
cy5pZGw6IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlz
UmVxdWlyZW1lbnQuaDogQWRkZWQuCisgICAgICAgICogTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9O
YXZpZ2F0b3JFTUUuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6Ok5hdmlnYXRvckVNRTo6
cmVxdWVzdE1lZGlhS2V5U3lzdGVtQWNjZXNzKToKKyAgICAgICAgKiBNb2R1bGVzL2VuY3J5cHRl
ZG1lZGlhL05hdmlnYXRvckVNRS5oOiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL2VuY3J5cHRl
ZG1lZGlhL05hdmlnYXRvckVNRS5pZGw6IEFkZGVkLgorICAgICAgICAqIFdlYkNvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9CdWZmZXJTb3VyY2Uu
aDoKKyAgICAgICAgKFdlYkNvcmU6OkJ1ZmZlclNvdXJjZTo6QnVmZmVyU291cmNlKToKKyAgICAg
ICAgKFdlYkNvcmU6OkJ1ZmZlclNvdXJjZTo6dmFyaWFudCk6CisgICAgICAgICogYmluZGluZ3Mv
anMvSlNNZWRpYUtleVNlc3Npb25DdXN0b20uY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6
OkpTTWVkaWFLZXlTZXNzaW9uOjpjbG9zZWQpOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTTWVk
aWFLZXlTeXN0ZW1BY2Nlc3NDdXN0b20uY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6OkpT
TWVkaWFLZXlTeXN0ZW1BY2Nlc3M6OmdldENvbmZpZ3VyYXRpb24pOgorICAgICAgICAqIGJpbmRp
bmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtOgorICAgICAgICAoR2V0TmF0aXZlVmVjdG9y
SW5uZXJUeXBlKToKKyAgICAgICAgKiBkb20vRXZlbnROYW1lcy5oOgorICAgICAgICAqIGRvbS9F
dmVudE5hbWVzLmluOgorICAgICAgICAqIGRvbS9FdmVudFRhcmdldEZhY3RvcnkuaW46CisgICAg
ICAgICogaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkhUTUxN
ZWRpYUVsZW1lbnQ6Om1lZGlhS2V5cyk6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFFbGVt
ZW50OjpzZXRNZWRpYUtleXMpOgorICAgICAgICAqIGh0bWwvSFRNTE1lZGlhRWxlbWVudC5oOgor
ICAgICAgICAqIGh0bWwvSFRNTE1lZGlhRWxlbWVudC5pZGw6CisgICAgICAgICogaHRtbC9NZWRp
YUVuY3J5cHRlZEV2ZW50LmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpNZWRpYUVuY3J5
cHRlZEV2ZW50OjpNZWRpYUVuY3J5cHRlZEV2ZW50KToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlh
RW5jcnlwdGVkRXZlbnQ6OmV2ZW50SW50ZXJmYWNlKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlh
RW5jcnlwdGVkRXZlbnQ6OmluaXREYXRhVHlwZSk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUVu
Y3J5cHRlZEV2ZW50Ojppbml0RGF0YSk6CisgICAgICAgICogaHRtbC9NZWRpYUVuY3J5cHRlZEV2
ZW50Lmg6IEFkZGVkLgorICAgICAgICAqIGh0bWwvTWVkaWFFbmNyeXB0ZWRFdmVudC5pZGw6IEFk
ZGVkLgorICAgICAgICAqIGh0bWwvTWVkaWFFbmNyeXB0ZWRFdmVudEluaXQuaDogQWRkZWQuCisg
ICAgICAgIChXZWJDb3JlOjpNZWRpYUVuY3J5cHRlZEV2ZW50SW5pdDo6TWVkaWFFbmNyeXB0ZWRF
dmVudEluaXQpOgorCiAyMDE2LTExLTA0ICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+
CiAKICAgICAgICAgV1RGOjpQYXJraW5nTG90IHNob3VsZCBzdG9wIHVzaW5nIHN0ZDo6Y2hyb25v
IGJlY2F1c2Ugc3RkOjpjaHJvbm86OmR1cmF0aW9uIGNhc3RzIGFyZSBwcm9uZSB0byBvdmVyZmxv
d3MKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dl
YkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggM2NkNTg5YzQ1NGZjNTFkNDZhMTI0NjEyMGYxOGZi
YjVkNzFlMzYxNi4uMzQ5MjcxMjA2NzAzYzdmZTgzNGM0MDU1OTFkZjQwOTk4MzYxOWRhMyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNv
cmUvQ01ha2VMaXN0cy50eHQKQEAgLTExNTksNiArMTE1OSw4IEBAIHNldChXZWJDb3JlX1NPVVJD
RVMKICAgICBiaW5kaW5ncy9qcy9KU0xvY2F0aW9uQ3VzdG9tLmNwcAogICAgIGJpbmRpbmdzL2pz
L0pTTWFpblRocmVhZEV4ZWNTdGF0ZS5jcHAKICAgICBiaW5kaW5ncy9qcy9KU01lZGlhRGV2aWNl
c0N1c3RvbS5jcHAKKyAgICBiaW5kaW5ncy9qcy9KU01lZGlhS2V5U2Vzc2lvbkN1c3RvbS5jcHAK
KyAgICBiaW5kaW5ncy9qcy9KU01lZGlhS2V5U3lzdGVtQWNjZXNzQ3VzdG9tLmNwcAogICAgIGJp
bmRpbmdzL2pzL0pTTWVkaWFTdHJlYW1UcmFja0N1c3RvbS5jcHAKICAgICBiaW5kaW5ncy9qcy9K
U01lZGlhVHJhY2tTdXBwb3J0ZWRDb25zdHJhaW50c0N1c3RvbS5jcHAKICAgICBiaW5kaW5ncy9q
cy9KU01lc3NhZ2VDaGFubmVsQ3VzdG9tLmNwcApAQCAtMzAzOSw2ICszMDQxLDMzIEBAIGlmIChF
TkFCTEVfTEVHQUNZX0VOQ1JZUFRFRF9NRURJQSkKICAgICApCiBlbmRpZiAoKQogCitpZiAoRU5B
QkxFX0VOQ1JZUFRFRF9NRURJQSkKKyAgICBsaXN0KEFQUEVORCBXZWJDb3JlX1NPVVJDRVMKKyAg
ICAgICAgTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleU1lc3NhZ2VFdmVudC5jcHAKKyAg
ICAgICAgTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVNlc3Npb24uY3BwCisgICAgICAg
IE1vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlTdGF0dXNNYXAuY3BwCisgICAgICAgIE1v
ZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlTeXN0ZW1BY2Nlc3MuY3BwCisgICAgICAgIE1v
ZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlzLmNwcAorICAgICAgICBNb2R1bGVzL2VuY3J5
cHRlZG1lZGlhL05hdmlnYXRvckVNRS5jcHAKKworICAgICAgICBodG1sL01lZGlhRW5jcnlwdGVk
RXZlbnQuY3BwCisgICAgKQorICAgIGxpc3QoQVBQRU5EIFdlYkNvcmVfSURMX0ZJTEVTCisgICAg
KQorICAgIGxpc3QoQVBQRU5EIFdlYkNvcmVfSURMX0ZJTEVTCisgICAgICAgIE1vZHVsZXMvZW5j
cnlwdGVkbWVkaWEvTWVkaWFLZXlNZXNzYWdlRXZlbnQuaWRsCisgICAgICAgIE1vZHVsZXMvZW5j
cnlwdGVkbWVkaWEvTWVkaWFLZXlTZXNzaW9uLmlkbAorICAgICAgICBNb2R1bGVzL2VuY3J5cHRl
ZG1lZGlhL01lZGlhS2V5U3RhdHVzTWFwLmlkbAorICAgICAgICBNb2R1bGVzL2VuY3J5cHRlZG1l
ZGlhL01lZGlhS2V5U3lzdGVtQWNjZXNzLmlkbAorICAgICAgICBNb2R1bGVzL2VuY3J5cHRlZG1l
ZGlhL01lZGlhS2V5U3lzdGVtQ29uZmlndXJhdGlvbi5pZGwKKyAgICAgICAgTW9kdWxlcy9lbmNy
eXB0ZWRtZWRpYS9NZWRpYUtleVN5c3RlbU1lZGlhQ2FwYWJpbGl0eS5pZGwKKyAgICAgICAgTW9k
dWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleXMuaWRsCisgICAgICAgIE1vZHVsZXMvZW5jcnlw
dGVkbWVkaWEvTmF2aWdhdG9yRU1FLmlkbAorCisgICAgICAgIGh0bWwvTWVkaWFFbmNyeXB0ZWRF
dmVudC5pZGwKKyAgICApCitlbmRpZiAoKQorCiBsaXN0KEFQUEVORCBXZWJDb3JlX0NTU19WQUxV
RV9LRVlXT1JEUwogICAgICR7V0VCQ09SRV9ESVJ9L2Nzcy9TVkdDU1NWYWx1ZUtleXdvcmRzLmlu
CiApCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAKaW5kZXggOWZmMWJhMmE0N2RhNDgwODU1M2Yx
N2ZmNzNkYjYzM2M4NzUxOWIxNS4uMDAyZTU4ZDQzMWZlOGE2Nzc5N2U2NmFlMmM2MGY0ODc5MTlj
MTA2MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcApAQCAtMzI2LDYgKzMyNiwxNSBAQAog
I2luY2x1ZGUgIkpTTWVkaWFFbGVtZW50QXVkaW9Tb3VyY2VOb2RlLmNwcCIKICNlbmRpZgogI2lu
Y2x1ZGUgIkpTTWVkaWFFcnJvci5jcHAiCisjaWYgRU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkKKyNp
bmNsdWRlICJKU01lZGlhS2V5TWVzc2FnZUV2ZW50LmNwcCIKKyNpbmNsdWRlICJKU01lZGlhS2V5
U2Vzc2lvbi5jcHAiCisjaW5jbHVkZSAiSlNNZWRpYUtleVN0YXR1c01hcC5jcHAiCisjaW5jbHVk
ZSAiSlNNZWRpYUtleVN5c3RlbUFjY2Vzcy5jcHAiCisjaW5jbHVkZSAiSlNNZWRpYUtleVN5c3Rl
bUNvbmZpZ3VyYXRpb24uY3BwIgorI2luY2x1ZGUgIkpTTWVkaWFLZXlTeXN0ZW1NZWRpYUNhcGFi
aWxpdHkuY3BwIgorI2luY2x1ZGUgIkpTTWVkaWFLZXlzLmNwcCIKKyNlbmRpZgogI2luY2x1ZGUg
IkpTTWVkaWFMaXN0LmNwcCIKICNpbmNsdWRlICJKU01lZGlhUXVlcnlMaXN0LmNwcCIKICNpbmNs
dWRlICJKU01lZGlhUXVlcnlMaXN0TGlzdGVuZXIuY3BwIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZSBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2Vz
Lm1ha2UKaW5kZXggMjkwMzBhYzYwYzBlMWI4Mzg0MzZiMDQ0MWIzYjQ5NThjNDc5M2E1Yi4uNGY0
OGJjNWVjNTFlZTI3ZDVjMGRiM2ZmNDkzYzZlMGMzNTQ2ZmZhZSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVk
U291cmNlcy5tYWtlCkBAIC0zMCw2ICszMCw3IEBAIFZQQVRIID0gXAogICAgICQoV2ViQ29yZSkg
XAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9haXJwbGF5IFwKICAgICAkKFdlYkNvcmUpL01vZHVs
ZXMvYXBwbGVwYXkgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYSBcCiAg
ICAgJChXZWJDb3JlKS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL2xlZ2FjeSBcCiAgICAgJChXZWJD
b3JlKS9Nb2R1bGVzL2ZldGNoIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvZ2FtZXBhZCBcCkBA
IC04Myw2ICs4NCwxNCBAQCBKU19CSU5ESU5HX0lETFMgPSBcCiAgICAgJChXZWJDb3JlKS9Nb2R1
bGVzL2FwcGxlcGF5L0FwcGxlUGF5U2hpcHBpbmdDb250YWN0U2VsZWN0ZWRFdmVudC5pZGwgXAog
ICAgICQoV2ViQ29yZSkvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBheVNoaXBwaW5nTWV0aG9kU2Vs
ZWN0ZWRFdmVudC5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9hcHBsZXBheS9BcHBsZVBh
eVZhbGlkYXRlTWVyY2hhbnRFdmVudC5pZGwgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9lbmNy
eXB0ZWRtZWRpYS9NZWRpYUtleU1lc3NhZ2VFdmVudC5pZGwgXAorICAgICQoV2ViQ29yZSkvTW9k
dWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVNlc3Npb24uaWRsIFwKKyAgICAkKFdlYkNvcmUp
L01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlTdGF0dXNNYXAuaWRsIFwKKyAgICAkKFdl
YkNvcmUpL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlTeXN0ZW1BY2Nlc3MuaWRsIFwK
KyAgICAkKFdlYkNvcmUpL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlTeXN0ZW1Db25m
aWd1cmF0aW9uLmlkbCBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01l
ZGlhS2V5U3lzdGVtTWVkaWFDYXBhYmlsaXR5LmlkbCBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVz
L2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5cy5pZGwgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9l
bmNyeXB0ZWRtZWRpYS9OYXZpZ2F0b3JFTUUuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMv
ZW5jcnlwdGVkbWVkaWEvbGVnYWN5L1dlYktpdE1lZGlhS2V5TWVzc2FnZUV2ZW50LmlkbCBcCiAg
ICAgJChXZWJDb3JlKS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL2xlZ2FjeS9XZWJLaXRNZWRpYUtl
eU5lZWRlZEV2ZW50LmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlh
L2xlZ2FjeS9XZWJLaXRNZWRpYUtleVNlc3Npb24uaWRsIFwKQEAgLTQ2Miw2ICs0NzEsNyBAQCBK
U19CSU5ESU5HX0lETFMgPSBcCiAgICAgJChXZWJDb3JlKS9odG1sL0hUTUxWaWRlb0VsZW1lbnQu
aWRsIFwKICAgICAkKFdlYkNvcmUpL2h0bWwvSW1hZ2VEYXRhLmlkbCBcCiAgICAgJChXZWJDb3Jl
KS9odG1sL01lZGlhQ29udHJvbGxlci5pZGwgXAorICAgICQoV2ViQ29yZSkvaHRtbC9NZWRpYUVu
Y3J5cHRlZEV2ZW50LmlkbCBcCiAgICAgJChXZWJDb3JlKS9odG1sL01lZGlhRXJyb3IuaWRsIFwK
ICAgICAkKFdlYkNvcmUpL2h0bWwvUmFkaW9Ob2RlTGlzdC5pZGwgXAogICAgICQoV2ViQ29yZSkv
aHRtbC9UZXh0TWV0cmljcy5pZGwgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleU1lc3NhZ2VFdmVudC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5TWVzc2FnZUV2ZW50LmNwcApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi42MmI1ZDUzZTBhZmM0NTA5MDdjNzEwMzJmZjExNzY3YzQ1N2I1MzBhCi0tLSAvZGV2L251
bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleU1l
c3NhZ2VFdmVudC5jcHAKQEAgLTAsMCArMSw1NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAx
NiBNZXRyb2xvZ2ljYWwgR3JvdXAgQi5WLgorICogQ29weXJpZ2h0IChDKSAyMDE2IElnYWxpYSBT
LkwuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgorICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqICAgIGNvcHlyaWdodCBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nCisgKiAgICBkaXNjbGFpbWVyIGlu
IHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQKKyAqICAg
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFO
RCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAor
ICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogSE9MREVSIE9SIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAq
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgi
CisjaW5jbHVkZSAiTWVkaWFLZXlNZXNzYWdlRXZlbnQuaCIKKworI2lmIEVOQUJMRShFTkNSWVBU
RURfTUVESUEpCisKKyNpbmNsdWRlICJFdmVudE5hbWVzLmgiCisKK25hbWVzcGFjZSBXZWJDb3Jl
IHsKKworTWVkaWFLZXlNZXNzYWdlRXZlbnQ6Ok1lZGlhS2V5TWVzc2FnZUV2ZW50KGNvbnN0IEF0
b21pY1N0cmluZyYgdHlwZSwgY29uc3QgTWVkaWFLZXlNZXNzYWdlRXZlbnQ6OkluaXQmIGluaXRp
YWxpemVyLCBJc1RydXN0ZWQgaXNUcnVzdGVkKQorICAgIDogRXZlbnQodHlwZSwgaW5pdGlhbGl6
ZXIsIGlzVHJ1c3RlZCkKKyAgICAsIG1fbWVzc2FnZVR5cGUoaW5pdGlhbGl6ZXIubWVzc2FnZVR5
cGUpCisgICAgLCBtX21lc3NhZ2UoaW5pdGlhbGl6ZXIubWVzc2FnZSkKK3sKK30KKworTWVkaWFL
ZXlNZXNzYWdlRXZlbnQ6On5NZWRpYUtleU1lc3NhZ2VFdmVudCgpID0gZGVmYXVsdDsKKworRXZl
bnRJbnRlcmZhY2UgTWVkaWFLZXlNZXNzYWdlRXZlbnQ6OmV2ZW50SW50ZXJmYWNlKCkgY29uc3QK
K3sKKyAgICByZXR1cm4gTWVkaWFLZXlNZXNzYWdlRXZlbnRJbnRlcmZhY2VUeXBlOworfQorCit9
IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoRU5DUllQVEVEX01FRElB
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRp
YUtleU1lc3NhZ2VFdmVudC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRp
YS9NZWRpYUtleU1lc3NhZ2VFdmVudC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmE2MzNjNTFhNmJjYjNmMGY0OTM4
NjE1ZGFhMDc0YzNkZjk5NTNjMGMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5TWVzc2FnZUV2ZW50LmgKQEAgLTAsMCArMSw2
NyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNiBNZXRyb2xvZ2ljYWwgR3JvdXAgQi5WLgor
ICogQ29weXJpZ2h0IChDKSAyMDE2IElnYWxpYSBTLkwuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUK
KyAqICAgIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nCisgKiAgICBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQKKyAqICAgIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBB
TkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlS
SUdIVAorICogSE9MREVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lmIEVOQUJMRShFTkNSWVBURURfTUVESUEpCisK
KyNpbmNsdWRlICJFdmVudC5oIgorI2luY2x1ZGUgIk1lZGlhS2V5TWVzc2FnZUV2ZW50SW5pdC5o
IgorI2luY2x1ZGUgIk1lZGlhS2V5TWVzc2FnZVR5cGUuaCIKKyNpbmNsdWRlIDxydW50aW1lL0Fy
cmF5QnVmZmVyLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgTWVkaWFLZXlNZXNz
YWdlRXZlbnQgZmluYWwgOiBwdWJsaWMgRXZlbnQgeworcHVibGljOgorICAgIHVzaW5nIFR5cGUg
PSBNZWRpYUtleU1lc3NhZ2VUeXBlOworICAgIHVzaW5nIEluaXQgPSBNZWRpYUtleU1lc3NhZ2VF
dmVudEluaXQ7CisKKyAgICB2aXJ0dWFsIH5NZWRpYUtleU1lc3NhZ2VFdmVudCgpOworCisgICAg
c3RhdGljIFJlZjxNZWRpYUtleU1lc3NhZ2VFdmVudD4gY3JlYXRlKGNvbnN0IEF0b21pY1N0cmlu
ZyYgdHlwZSwgY29uc3QgTWVkaWFLZXlNZXNzYWdlRXZlbnRJbml0JiBpbml0aWFsaXplciwgSXNU
cnVzdGVkIGlzVHJ1c3RlZCA9IElzVHJ1c3RlZDo6Tm8pCisgICAgeworICAgICAgICByZXR1cm4g
YWRvcHRSZWYoKm5ldyBNZWRpYUtleU1lc3NhZ2VFdmVudCh0eXBlLCBpbml0aWFsaXplciwgaXNU
cnVzdGVkKSk7CisgICAgfQorCisgICAgVHlwZSBtZXNzYWdlVHlwZSgpIGNvbnN0IHsgcmV0dXJu
IG1fbWVzc2FnZVR5cGU7IH0KKyAgICBSZWZQdHI8SlNDOjpBcnJheUJ1ZmZlcj4gbWVzc2FnZSgp
IGNvbnN0IHsgcmV0dXJuIG1fbWVzc2FnZTsgfQorCitwcml2YXRlOgorICAgIE1lZGlhS2V5TWVz
c2FnZUV2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYsIGNvbnN0IE1lZGlhS2V5TWVzc2FnZUV2ZW50
SW5pdCYsIElzVHJ1c3RlZCk7CisKKyAgICAvLyBFdmVudAorICAgIEV2ZW50SW50ZXJmYWNlIGV2
ZW50SW50ZXJmYWNlKCkgY29uc3Qgb3ZlcnJpZGU7CisKKyAgICBNZWRpYUtleU1lc3NhZ2VUeXBl
IG1fbWVzc2FnZVR5cGU7CisgICAgUmVmUHRyPEpTQzo6QXJyYXlCdWZmZXI+IG1fbWVzc2FnZTsK
K307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShFTkNSWVBU
RURfTUVESUEpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1l
ZGlhL01lZGlhS2V5TWVzc2FnZUV2ZW50LmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5j
cnlwdGVkbWVkaWEvTWVkaWFLZXlNZXNzYWdlRXZlbnQuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMxN2Q3ZDA0
ZDA0MDkxNmM2MmVkMzM1ZTUzNzMyZmQ2NGRmNzA2NDAKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5TWVzc2FnZUV2ZW50Lmlk
bApAQCAtMCwwICsxLDQ3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE2IE1ldHJvbG9naWNh
bCBHcm91cCBCLlYuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTYgSWdhbGlhIFMuTC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZQorICogICAgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcKKyAqICAgIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZAorICogICAgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlS
SUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRP
LCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBUSEUgQ09QWVJJR0hUCisgKiBIT0xERVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
CisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKK2VudW0gTWVkaWFLZXlNZXNzYWdlVHlwZSB7CisgICAg
ImxpY2Vuc2UtcmVxdWVzdCIsCisgICAgImxpY2Vuc2UtcmVuZXdhbCIsCisgICAgImxpY2Vuc2Ut
cmVsZWFzZSIsCisgICAgImluZGl2aWR1YWxpemF0aW9uLXJlcXVlc3QiCit9OworCitkaWN0aW9u
YXJ5IE1lZGlhS2V5TWVzc2FnZUV2ZW50SW5pdCA6IEV2ZW50SW5pdCB7CisgICAgcmVxdWlyZWQg
TWVkaWFLZXlNZXNzYWdlVHlwZSBtZXNzYWdlVHlwZTsKKyAgICByZXF1aXJlZCBBcnJheUJ1ZmZl
ciBtZXNzYWdlOworfTsKKworWworICAgIENvbmRpdGlvbmFsPUVOQ1JZUFRFRF9NRURJQSwKKyAg
ICBDb25zdHJ1Y3RvcihET01TdHJpbmcgdHlwZSwgTWVkaWFLZXlNZXNzYWdlRXZlbnRJbml0IGV2
ZW50SW5pdERpY3QpLAorXSBpbnRlcmZhY2UgTWVkaWFLZXlNZXNzYWdlRXZlbnQgOiBFdmVudCB7
CisgICAgcmVhZG9ubHkgYXR0cmlidXRlIE1lZGlhS2V5TWVzc2FnZVR5cGUgbWVzc2FnZVR5cGU7
CisgICAgcmVhZG9ubHkgYXR0cmlidXRlIEFycmF5QnVmZmVyIG1lc3NhZ2U7Cit9OwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleU1lc3Nh
Z2VFdmVudEluaXQuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVk
aWFLZXlNZXNzYWdlRXZlbnRJbml0LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMGJmMTMwZTRlNDdkOTdjODljM2Y2
YTRhNWQ1YzUxODhiZjZhZDdiNAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlNZXNzYWdlRXZlbnRJbml0LmgKQEAgLTAsMCAr
MSw1NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNiBNZXRyb2xvZ2ljYWwgR3JvdXAgQi5W
LgorICogQ29weXJpZ2h0IChDKSAyMDE2IElnYWxpYSBTLkwuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUKKyAqICAgIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nCisgKiAgICBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQKKyAqICAgIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVS
UyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENP
UFlSSUdIVAorICogSE9MREVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisg
KiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lmIEVOQUJMRShFTkNSWVBURURfTUVESUEp
CisKKyNpbmNsdWRlICJFdmVudC5oIgorI2luY2x1ZGUgIk1lZGlhS2V5TWVzc2FnZVR5cGUuaCIK
KyNpbmNsdWRlIDxydW50aW1lL0FycmF5QnVmZmVyLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsK
Kworc3RydWN0IE1lZGlhS2V5TWVzc2FnZUV2ZW50SW5pdCA6IEV2ZW50SW5pdCB7CisgICAgTWVk
aWFLZXlNZXNzYWdlRXZlbnRJbml0KCkgPSBkZWZhdWx0OworCisgICAgTWVkaWFLZXlNZXNzYWdl
RXZlbnRJbml0KE1lZGlhS2V5TWVzc2FnZVR5cGUgbWVzc2FnZVR5cGUsIFJlZlB0cjxKU0M6OkFy
cmF5QnVmZmVyPiYmIG1lc3NhZ2UpCisgICAgICAgIDogRXZlbnRJbml0KCkKKyAgICAgICAgLCBt
ZXNzYWdlVHlwZShtZXNzYWdlVHlwZSkKKyAgICAgICAgLCBtZXNzYWdlKFdURk1vdmUobWVzc2Fn
ZSkpCisgICAgeyB9CisKKyAgICBNZWRpYUtleU1lc3NhZ2VUeXBlIG1lc3NhZ2VUeXBlOworICAg
IFJlZlB0cjxKU0M6OkFycmF5QnVmZmVyPiBtZXNzYWdlOworfTsKKworfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlNZXNzYWdlVHlw
ZS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleU1lc3Nh
Z2VUeXBlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZGE3MzYxZWFhYjNiNGMyNTgzOTc1NmNhNDNiMmIxYzhlY2Jl
NDMwMwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVk
bWVkaWEvTWVkaWFLZXlNZXNzYWdlVHlwZS5oCkBAIC0wLDAgKzEsNDQgQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTYgTWV0cm9sb2dpY2FsIEdyb3VwIEIuVi4KKyAqIENvcHlyaWdodCAoQykg
MjAxNiBJZ2FsaWEgUy5MLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUg
bWV0OgorICoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiAgICBjb3B5cmlnaHQg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZworICogICAg
ZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkCisgKiAgICB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUwor
ICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIEhPTERFUiBP
UiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdt
YSBvbmNlCisKKyNpZiBFTkFCTEUoRU5DUllQVEVEX01FRElBKQorCituYW1lc3BhY2UgV2ViQ29y
ZSB7CisKK2VudW0gY2xhc3MgTWVkaWFLZXlNZXNzYWdlVHlwZSB7CisgICAgTGljZW5zZVJlcXVl
c3QsCisgICAgTGljZW5zZVJlbmV3YWwsCisgICAgTGljZW5zZVJlbGVhc2UsCisgICAgSW5kaXZp
ZHVhbGl6YXRpb25SZXF1ZXN0Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRp
ZiAvLyBFTkFCTEUoRU5DUllQVEVEX01FRElBKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVNlc3Npb24uY3BwIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVNlc3Npb24uY3BwCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmY1YzVkMzdiYjc4MGNjY2I5YjNiZTg3Mzk4NzEwY2NhODExODVjYTMKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U2Vzc2lv
bi5jcHAKQEAgLTAsMCArMSwxMjEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTYgTWV0cm9s
b2dpY2FsIEdyb3VwIEIuVi4KKyAqIENvcHlyaWdodCAoQykgMjAxNiBJZ2FsaWEgUy5MLgorICoK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICoKKyAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlCisgKiAgICBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZworICogICAgZGlzY2xhaW1lciBpbiB0aGUgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkCisgKiAgICB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUg
Q09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlU
RUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIEhPTERFUiBPUiBDT05UUklCVVRPUlMgQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAq
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1
ZGUgIk1lZGlhS2V5U2Vzc2lvbi5oIgorCisjaWYgRU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkKKwor
I2luY2x1ZGUgIk1lZGlhS2V5U3RhdHVzTWFwLmgiCisjaW5jbHVkZSAiTm90SW1wbGVtZW50ZWQu
aCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitSZWY8TWVkaWFLZXlTZXNzaW9uPiBNZWRpYUtl
eVNlc3Npb246OmNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0KQoreworICAg
IGF1dG8gc2Vzc2lvbiA9IGFkb3B0UmVmKCpuZXcgTWVkaWFLZXlTZXNzaW9uKGNvbnRleHQpKTsK
KyAgICBzZXNzaW9uLT5zdXNwZW5kSWZOZWVkZWQoKTsKKyAgICByZXR1cm4gc2Vzc2lvbjsKK30K
KworTWVkaWFLZXlTZXNzaW9uOjpNZWRpYUtleVNlc3Npb24oU2NyaXB0RXhlY3V0aW9uQ29udGV4
dCYgY29udGV4dCkKKyAgICA6IEFjdGl2ZURPTU9iamVjdCgmY29udGV4dCkKK3sKK30KKworTWVk
aWFLZXlTZXNzaW9uOjp+TWVkaWFLZXlTZXNzaW9uKCkgPSBkZWZhdWx0OworCitjb25zdCBTdHJp
bmcmIE1lZGlhS2V5U2Vzc2lvbjo6c2Vzc2lvbklkKCkgY29uc3QKK3sKKyAgICBub3RJbXBsZW1l
bnRlZCgpOworICAgIHJldHVybiBlbXB0eVN0cmluZygpOworfQorCitkb3VibGUgTWVkaWFLZXlT
ZXNzaW9uOjpleHBpcmF0aW9uKCkgY29uc3QKK3sKKyAgICBub3RJbXBsZW1lbnRlZCgpOworICAg
IHJldHVybiAwOworfQorCitSZWZQdHI8TWVkaWFLZXlTdGF0dXNNYXA+IE1lZGlhS2V5U2Vzc2lv
bjo6a2V5U3RhdHVzZXMoKSBjb25zdAoreworICAgIG5vdEltcGxlbWVudGVkKCk7CisgICAgcmV0
dXJuIG51bGxwdHI7Cit9CisKK3ZvaWQgTWVkaWFLZXlTZXNzaW9uOjpnZW5lcmF0ZVJlcXVlc3Qo
Y29uc3QgU3RyaW5nJiwgY29uc3QgQnVmZmVyU291cmNlJiwgR2VuZXJhdGVSZXF1ZXN0UHJvbWlz
ZSYmKQoreworICAgIG5vdEltcGxlbWVudGVkKCk7Cit9CisKK3ZvaWQgTWVkaWFLZXlTZXNzaW9u
Ojpsb2FkKGNvbnN0IFN0cmluZyYsIExvYWRQcm9taXNlJiYpCit7CisgICAgbm90SW1wbGVtZW50
ZWQoKTsKK30KKwordm9pZCBNZWRpYUtleVNlc3Npb246OnVwZGF0ZShjb25zdCBCdWZmZXJTb3Vy
Y2UmLCBVcGRhdGVQcm9taXNlJiYpCit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKK30KKwordm9p
ZCBNZWRpYUtleVNlc3Npb246OmNsb3NlKENsb3NlUHJvbWlzZSYmKQoreworICAgIG5vdEltcGxl
bWVudGVkKCk7Cit9CisKK3ZvaWQgTWVkaWFLZXlTZXNzaW9uOjpyZW1vdmUoUmVtb3ZlUHJvbWlz
ZSYmKQoreworICAgIG5vdEltcGxlbWVudGVkKCk7Cit9CisKK2Jvb2wgTWVkaWFLZXlTZXNzaW9u
OjpoYXNQZW5kaW5nQWN0aXZpdHkoKSBjb25zdAoreworICAgIG5vdEltcGxlbWVudGVkKCk7Cisg
ICAgcmV0dXJuIGZhbHNlOworfQorCitjb25zdCBjaGFyKiBNZWRpYUtleVNlc3Npb246OmFjdGl2
ZURPTU9iamVjdE5hbWUoKSBjb25zdAoreworICAgIG5vdEltcGxlbWVudGVkKCk7CisgICAgcmV0
dXJuICJNZWRpYUtleVNlc3Npb24iOworfQorCitib29sIE1lZGlhS2V5U2Vzc2lvbjo6Y2FuU3Vz
cGVuZEZvckRvY3VtZW50U3VzcGVuc2lvbigpIGNvbnN0Cit7CisgICAgbm90SW1wbGVtZW50ZWQo
KTsKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK3ZvaWQgTWVkaWFLZXlTZXNzaW9uOjpzdG9wKCkK
K3sKKyAgICBub3RJbXBsZW1lbnRlZCgpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisK
KyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRp
YS9NZWRpYUtleVNlc3Npb24uaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVk
aWEvTWVkaWFLZXlTZXNzaW9uLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODhlNDY5NGY4NDIxMjAyMmQ4Y2UzNzNl
OWMwNDAyZTY5MzEzNzRmMQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlTZXNzaW9uLmgKQEAgLTAsMCArMSw5MiBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAxNiBNZXRyb2xvZ2ljYWwgR3JvdXAgQi5WLgorICogQ29weXJp
Z2h0IChDKSAyMDE2IElnYWxpYSBTLkwuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
KyAqIGFyZSBtZXQ6CisgKgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqICAgIGNv
cHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
CisgKiAgICBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQKKyAqICAgIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJ
QlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICog
SE9MREVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLwor
CisjcHJhZ21hIG9uY2UKKworI2lmIEVOQUJMRShFTkNSWVBURURfTUVESUEpCisKKyNpbmNsdWRl
ICJBY3RpdmVET01PYmplY3QuaCIKKyNpbmNsdWRlICJFdmVudFRhcmdldC5oIgorI2luY2x1ZGUg
IkdlbmVyaWNFdmVudFF1ZXVlLmgiCisjaW5jbHVkZSAiSlNET01Qcm9taXNlLmgiCisjaW5jbHVk
ZSAiTWVkaWFLZXlTZXNzaW9uVHlwZS5oIgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+Cisj
aW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwor
Y2xhc3MgQnVmZmVyU291cmNlOworY2xhc3MgTWVkaWFLZXlTdGF0dXNNYXA7CitjbGFzcyBNZWRp
YUtleXM7CisKK2NsYXNzIE1lZGlhS2V5U2Vzc2lvbiBmaW5hbCA6IHB1YmxpYyBSZWZDb3VudGVk
PE1lZGlhS2V5U2Vzc2lvbj4sIHB1YmxpYyBFdmVudFRhcmdldFdpdGhJbmxpbmVEYXRhLCBwdWJs
aWMgQWN0aXZlRE9NT2JqZWN0IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUmVmPE1lZGlhS2V5U2Vz
c2lvbj4gY3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmKTsKKyAgICB2aXJ0dWFsIH5NZWRp
YUtleVNlc3Npb24oKTsKKworICAgIHVzaW5nIFJlZkNvdW50ZWQ8TWVkaWFLZXlTZXNzaW9uPjo6
cmVmOworICAgIHVzaW5nIFJlZkNvdW50ZWQ8TWVkaWFLZXlTZXNzaW9uPjo6ZGVyZWY7CisKKyAg
ICBjb25zdCBTdHJpbmcmIHNlc3Npb25JZCgpIGNvbnN0OworICAgIGRvdWJsZSBleHBpcmF0aW9u
KCkgY29uc3Q7CisgICAgUmVmUHRyPE1lZGlhS2V5U3RhdHVzTWFwPiBrZXlTdGF0dXNlcygpIGNv
bnN0OworCisgICAgdXNpbmcgR2VuZXJhdGVSZXF1ZXN0UHJvbWlzZSA9IERPTVByb21pc2U8c3Rk
OjpudWxscHRyX3Q+OworICAgIHZvaWQgZ2VuZXJhdGVSZXF1ZXN0KGNvbnN0IFN0cmluZyYsIGNv
bnN0IEJ1ZmZlclNvdXJjZSYsIEdlbmVyYXRlUmVxdWVzdFByb21pc2UmJik7CisKKyAgICB1c2lu
ZyBMb2FkUHJvbWlzZSA9IERPTVByb21pc2U8Ym9vbD47CisgICAgdm9pZCBsb2FkKGNvbnN0IFN0
cmluZyYsIExvYWRQcm9taXNlJiYpOworCisgICAgdXNpbmcgVXBkYXRlUHJvbWlzZSA9IERPTVBy
b21pc2U8c3RkOjpudWxscHRyX3Q+OworICAgIHZvaWQgdXBkYXRlKGNvbnN0IEJ1ZmZlclNvdXJj
ZSYsIFVwZGF0ZVByb21pc2UmJik7CisKKyAgICB1c2luZyBDbG9zZVByb21pc2UgPSBET01Qcm9t
aXNlPHN0ZDo6bnVsbHB0cl90PjsKKyAgICB2b2lkIGNsb3NlKENsb3NlUHJvbWlzZSYmKTsKKwor
ICAgIHVzaW5nIFJlbW92ZVByb21pc2UgPSBET01Qcm9taXNlPHN0ZDo6bnVsbHB0cl90PjsKKyAg
ICB2b2lkIHJlbW92ZShSZW1vdmVQcm9taXNlJiYpOworCitwcml2YXRlOgorICAgIE1lZGlhS2V5
U2Vzc2lvbihTY3JpcHRFeGVjdXRpb25Db250ZXh0Jik7CisKKyAgICAvLyBFdmVudFRhcmdldAor
ICAgIEV2ZW50VGFyZ2V0SW50ZXJmYWNlIGV2ZW50VGFyZ2V0SW50ZXJmYWNlKCkgY29uc3Qgb3Zl
cnJpZGUgeyByZXR1cm4gTWVkaWFLZXlTZXNzaW9uRXZlbnRUYXJnZXRJbnRlcmZhY2VUeXBlOyB9
CisgICAgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogc2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpIGNv
bnN0IG92ZXJyaWRlIHsgcmV0dXJuIEFjdGl2ZURPTU9iamVjdDo6c2NyaXB0RXhlY3V0aW9uQ29u
dGV4dCgpOyB9CisgICAgdm9pZCByZWZFdmVudFRhcmdldCgpIG92ZXJyaWRlIHsgcmVmKCk7IH0K
KyAgICB2b2lkIGRlcmVmRXZlbnRUYXJnZXQoKSBvdmVycmlkZSB7IGRlcmVmKCk7IH0KKworICAg
IC8vIEFjdGl2ZURPTU9iamVjdAorICAgIGJvb2wgaGFzUGVuZGluZ0FjdGl2aXR5KCkgY29uc3Qg
b3ZlcnJpZGU7CisgICAgY29uc3QgY2hhciogYWN0aXZlRE9NT2JqZWN0TmFtZSgpIGNvbnN0IG92
ZXJyaWRlOworICAgIGJvb2wgY2FuU3VzcGVuZEZvckRvY3VtZW50U3VzcGVuc2lvbigpIGNvbnN0
IG92ZXJyaWRlOworICAgIHZvaWQgc3RvcCgpIG92ZXJyaWRlOworfTsKKworfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlTZXNzaW9u
LmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlTZXNz
aW9uLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5hYTcyYjhlYjIyYTdlNjZhNGJjYmU4ZjljMzQ5Njc4ZTk3Njk4
OWUyCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRt
ZWRpYS9NZWRpYUtleVNlc3Npb24uaWRsCkBAIC0wLDAgKzEsNDMgQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMTYgTWV0cm9sb2dpY2FsIEdyb3VwIEIuVi4KKyAqIENvcHlyaWdodCAoQykgMjAx
NiBJZ2FsaWEgUy5MLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0
OgorICoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiAgICBjb3B5cmlnaHQgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZworICogICAgZGlz
Y2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkCisgKiAgICB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICog
IkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIEhPTERFUiBPUiBD
T05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworWworICAgIENv
bmRpdGlvbmFsPUVOQ1JZUFRFRF9NRURJQSwKK10gaW50ZXJmYWNlIE1lZGlhS2V5U2Vzc2lvbiA6
IEV2ZW50VGFyZ2V0IHsKKyAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIHNlc3Npb25J
ZDsKKyAgICByZWFkb25seSBhdHRyaWJ1dGUgdW5yZXN0cmljdGVkIGRvdWJsZSBleHBpcmF0aW9u
OworICAgIFtDdXN0b21HZXR0ZXIsIENhY2hlZEF0dHJpYnV0ZV0gcmVhZG9ubHkgYXR0cmlidXRl
IFByb21pc2UgY2xvc2VkOworICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBNZWRpYUtleVN0YXR1c01h
cCBrZXlTdGF0dXNlczsKKyAgICBhdHRyaWJ1dGUgRXZlbnRIYW5kbGVyIG9ua2V5c3RhdHVzZXNj
aGFuZ2U7CisgICAgYXR0cmlidXRlIEV2ZW50SGFuZGxlciBvbm1lc3NhZ2U7CisgICAgUHJvbWlz
ZSBnZW5lcmF0ZVJlcXVlc3QoRE9NU3RyaW5nIGluaXREYXRhVHlwZSwgQnVmZmVyU291cmNlIGlu
aXREYXRhKTsKKyAgICBQcm9taXNlIGxvYWQoRE9NU3RyaW5nIHNlc3Npb25JZCk7CisgICAgUHJv
bWlzZSB1cGRhdGUoQnVmZmVyU291cmNlIHJlc3BvbnNlKTsKKyAgICBQcm9taXNlIGNsb3NlKCk7
CisgICAgUHJvbWlzZSByZW1vdmUoKTsKK307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U2Vzc2lvblR5cGUuaCBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlTZXNzaW9uVHlwZS5oCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmYzMWM4N2MxYTM0ZmQ2NWVkOGZlMWQyNDFhMTAzMGRkMWE1NjkzMDYKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U2Vz
c2lvblR5cGUuaApAQCAtMCwwICsxLDQzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE2IE1l
dHJvbG9naWNhbCBHcm91cCBCLlYuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTYgSWdhbGlhIFMuTC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogICAgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcKKyAqICAgIGRpc2NsYWltZXIgaW4gdGhl
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZAorICogICAgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
VEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBM
SU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBIT0xERVIgT1IgQ09OVFJJQlVUT1JTIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFM
LCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
CisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaWYgRU5B
QkxFKEVOQ1JZUFRFRF9NRURJQSkKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitlbnVtIGNsYXNz
IE1lZGlhS2V5U2Vzc2lvblR5cGUgeworICAgIFRlbXBvcmFyeSwKKyAgICBQZXJzaXN0ZW50VXNh
Z2VSZWNvcmQsCisgICAgUGVyc2lzdGVudExpY2Vuc2UKK307CisKK30gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShFTkNSWVBURURfTUVESUEpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U3RhdHVzLmggYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U3RhdHVzLmgKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uYzNjZjRjODk3YzM5YjgwY2U4NWI5MDI2ODliNDE2NGZjN2JhZTNmOAotLS0gL2Rl
di9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFL
ZXlTdGF0dXMuaApAQCAtMCwwICsxLDQ3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE2IE1l
dHJvbG9naWNhbCBHcm91cCBCLlYuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTYgSWdhbGlhIFMuTC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogICAgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcKKyAqICAgIGRpc2NsYWltZXIgaW4gdGhl
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZAorICogICAgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
VEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBM
SU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBIT0xERVIgT1IgQ09OVFJJQlVUT1JTIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFM
LCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
CisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaWYgRU5B
QkxFKEVOQ1JZUFRFRF9NRURJQSkKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitlbnVtIGNsYXNz
IE1lZGlhS2V5U3RhdHVzIHsKKyAgICBVc2FibGUsCisgICAgRXhwaXJlZCwKKyAgICBSZWxlYXNl
ZCwKKyAgICBPdXRwdXRSZXN0cmljdGVkLAorICAgIE91dHB1dERvd25zY2FsZWQsCisgICAgU3Rh
dHVzUGVuZGluZywKKyAgICBJbnRlcm5hbEVycm9yCit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoRU5DUllQVEVEX01FRElBKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVN0YXR1c01hcC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U3RhdHVzTWFw
LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4zOWUyYTllMGJhMDZmOGIwMTMwZTM0YTRiODI1MmJhNTc5NDg3YzBk
Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRp
YS9NZWRpYUtleVN0YXR1c01hcC5jcHAKQEAgLTAsMCArMSw3MSBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAxNiBNZXRyb2xvZ2ljYWwgR3JvdXAgQi5WLgorICogQ29weXJpZ2h0IChDKSAyMDE2
IElnYWxpYSBTLkwuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6
CisgKgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqICAgIGNvcHlyaWdodCBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nCisgKiAgICBkaXNj
bGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQKKyAqICAgIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAi
QVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogSE9MREVSIE9SIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAi
Y29uZmlnLmgiCisjaW5jbHVkZSAiTWVkaWFLZXlTdGF0dXNNYXAuaCIKKworI2lmIEVOQUJMRShF
TkNSWVBURURfTUVESUEpCisKKyNpbmNsdWRlICJOb3RJbXBsZW1lbnRlZC5oIgorCituYW1lc3Bh
Y2UgV2ViQ29yZSB7CisKK01lZGlhS2V5U3RhdHVzTWFwOjpNZWRpYUtleVN0YXR1c01hcCgpID0g
ZGVmYXVsdDsKKworTWVkaWFLZXlTdGF0dXNNYXA6On5NZWRpYUtleVN0YXR1c01hcCgpID0gZGVm
YXVsdDsKKwordW5zaWduZWQgbG9uZyBNZWRpYUtleVN0YXR1c01hcDo6c2l6ZSgpCit7CisgICAg
bm90SW1wbGVtZW50ZWQoKTsKKyAgICByZXR1cm4gMDsKK30KKworYm9vbCBNZWRpYUtleVN0YXR1
c01hcDo6aGFzKGNvbnN0IEJ1ZmZlclNvdXJjZSYpCit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsK
KyAgICByZXR1cm4gZmFsc2U7Cit9CisKK0pTQzo6SlNWYWx1ZSBNZWRpYUtleVN0YXR1c01hcDo6
Z2V0KGNvbnN0IEJ1ZmZlclNvdXJjZSYpCit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICBy
ZXR1cm4gSlNDOjpqc1VuZGVmaW5lZCgpOworfQorCitNZWRpYUtleVN0YXR1c01hcDo6SXRlcmF0
b3I6Okl0ZXJhdG9yKE1lZGlhS2V5U3RhdHVzTWFwJikKK3sKK30KKworT3B0aW9uYWw8V1RGOjpL
ZXlWYWx1ZVBhaXI8QnVmZmVyU291cmNlOjpWYXJpYW50VHlwZSwgTWVkaWFLZXlTdGF0dXM+PiBN
ZWRpYUtleVN0YXR1c01hcDo6SXRlcmF0b3I6Om5leHQoKQoreworICAgIHJldHVybiBOdWxsb3B0
OworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoRU5DUllQ
VEVEX01FRElBKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRt
ZWRpYS9NZWRpYUtleVN0YXR1c01hcC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0
ZWRtZWRpYS9NZWRpYUtleVN0YXR1c01hcC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmU5MmQwN2UzYmQwYzU1ZDAy
OTA1N2IxNmVlOTg4YjllY2Y1ZmQyMTkKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U3RhdHVzTWFwLmgKQEAgLTAsMCArMSw3
MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNiBNZXRyb2xvZ2ljYWwgR3JvdXAgQi5WLgor
ICogQ29weXJpZ2h0IChDKSAyMDE2IElnYWxpYSBTLkwuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUK
KyAqICAgIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nCisgKiAgICBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQKKyAqICAgIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBB
TkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlS
SUdIVAorICogSE9MREVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lmIEVOQUJMRShFTkNSWVBURURfTUVESUEpCisK
KyNpbmNsdWRlICJCdWZmZXJTb3VyY2UuaCIKKyNpbmNsdWRlICJNZWRpYUtleVN0YXR1cy5oIgor
I2luY2x1ZGUgPHJ1bnRpbWUvSlNDSlNWYWx1ZUlubGluZXMuaD4KKyNpbmNsdWRlIDx3dGYvSGFz
aFRyYWl0cy5oPgorI2luY2x1ZGUgPHd0Zi9PcHRpb25hbC5oPgorI2luY2x1ZGUgPHd0Zi9SZWYu
aD4KKyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisK
K2NsYXNzIE1lZGlhS2V5U3RhdHVzTWFwIDogcHVibGljIFJlZkNvdW50ZWQ8TWVkaWFLZXlTdGF0
dXNNYXA+IHsKK3B1YmxpYzoKKyAgICB1c2luZyBTdGF0dXMgPSBNZWRpYUtleVN0YXR1czsKKwor
ICAgIHN0YXRpYyBSZWY8TWVkaWFLZXlTdGF0dXNNYXA+IGNyZWF0ZSgpCisgICAgeworICAgICAg
ICByZXR1cm4gYWRvcHRSZWYoKm5ldyBNZWRpYUtleVN0YXR1c01hcCk7CisgICAgfQorCisgICAg
dmlydHVhbCB+TWVkaWFLZXlTdGF0dXNNYXAoKTsKKworICAgIHVuc2lnbmVkIGxvbmcgc2l6ZSgp
OworICAgIGJvb2wgaGFzKGNvbnN0IEJ1ZmZlclNvdXJjZSYpOworICAgIEpTQzo6SlNWYWx1ZSBn
ZXQoY29uc3QgQnVmZmVyU291cmNlJik7CisKKyAgICBjbGFzcyBJdGVyYXRvciB7CisgICAgcHVi
bGljOgorICAgICAgICBleHBsaWNpdCBJdGVyYXRvcihNZWRpYUtleVN0YXR1c01hcCYpOworICAg
ICAgICBPcHRpb25hbDxXVEY6OktleVZhbHVlUGFpcjxCdWZmZXJTb3VyY2U6OlZhcmlhbnRUeXBl
LCBNZWRpYUtleVN0YXR1cz4+IG5leHQoKTsKKyAgICB9OworICAgIEl0ZXJhdG9yIGNyZWF0ZUl0
ZXJhdG9yKCkgeyByZXR1cm4gSXRlcmF0b3IoKnRoaXMpOyB9CisKK3ByaXZhdGU6CisgICAgTWVk
aWFLZXlTdGF0dXNNYXAoKTsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlm
IC8vIEVOQUJMRShFTkNSWVBURURfTUVESUEpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U3RhdHVzTWFwLmlkbCBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlTdGF0dXNNYXAuaWRsCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjBjMjk0ZDdiY2UxMWY1ZGVlMTIxNmE0NzQ4ZjIxOTFjNTM1YjY1YTcKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U3Rh
dHVzTWFwLmlkbApAQCAtMCwwICsxLDQ2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE2IE1l
dHJvbG9naWNhbCBHcm91cCBCLlYuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTYgSWdhbGlhIFMuTC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogICAgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcKKyAqICAgIGRpc2NsYWltZXIgaW4gdGhl
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZAorICogICAgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
VEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBM
SU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBIT0xERVIgT1IgQ09OVFJJQlVUT1JTIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFM
LCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
CisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK2VudW0gTWVkaWFLZXlTdGF0dXMgewor
ICAgICJ1c2FibGUiLAorICAgICJleHBpcmVkIiwKKyAgICAicmVsZWFzZWQiLAorICAgICJvdXRw
dXQtcmVzdHJpY3RlZCIsCisgICAgIm91dHB1dC1kb3duc2NhbGVkIiwKKyAgICAic3RhdHVzLXBl
bmRpbmciLAorICAgICJpbnRlcm5hbC1lcnJvciIKK307CisKK1sKKyAgICBDb25kaXRpb25hbD1F
TkNSWVBURURfTUVESUEKK10gaW50ZXJmYWNlIE1lZGlhS2V5U3RhdHVzTWFwIHsKKyAgICBpdGVy
YWJsZTxCdWZmZXJTb3VyY2UsIE1lZGlhS2V5U3RhdHVzPjsKKyAgICByZWFkb25seSBhdHRyaWJ1
dGUgdW5zaWduZWQgbG9uZyBzaXplOworICAgIGJvb2xlYW4gaGFzKEJ1ZmZlclNvdXJjZSBrZXlJ
ZCk7CisgICAgYW55IGdldChCdWZmZXJTb3VyY2Uga2V5SWQpOworfTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlTeXN0ZW1BY2Nlc3Mu
Y3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVN5c3Rl
bUFjY2Vzcy5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYmExY2QyMDkyNDUwYWQ1MTk3ZWZlNzNiNGRjZDFmODA2
OGY5MzMyYwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlw
dGVkbWVkaWEvTWVkaWFLZXlTeXN0ZW1BY2Nlc3MuY3BwCkBAIC0wLDAgKzEsNjIgQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTYgTWV0cm9sb2dpY2FsIEdyb3VwIEIuVi4KKyAqIENvcHlyaWdo
dCAoQykgMjAxNiBJZ2FsaWEgUy5MLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisg
KiBhcmUgbWV0OgorICoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiAgICBjb3B5
cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZwor
ICogICAgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkCisgKiAgICB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJV
VE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIEhP
TERFUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
CisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwor
I2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIk1lZGlhS2V5U3lzdGVtQWNjZXNzLmgiCisK
KyNpZiBFTkFCTEUoRU5DUllQVEVEX01FRElBKQorCisjaW5jbHVkZSAiTWVkaWFLZXlTeXN0ZW1D
b25maWd1cmF0aW9uLmgiCisjaW5jbHVkZSAiTm90SW1wbGVtZW50ZWQuaCIKKworbmFtZXNwYWNl
IFdlYkNvcmUgeworCitNZWRpYUtleVN5c3RlbUFjY2Vzczo6TWVkaWFLZXlTeXN0ZW1BY2Nlc3Mo
KSA9IGRlZmF1bHQ7CisKK01lZGlhS2V5U3lzdGVtQWNjZXNzOjp+TWVkaWFLZXlTeXN0ZW1BY2Nl
c3MoKSA9IGRlZmF1bHQ7CisKK2NvbnN0IFN0cmluZyYgTWVkaWFLZXlTeXN0ZW1BY2Nlc3M6Omtl
eVN5c3RlbSgpIGNvbnN0Cit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICByZXR1cm4gbV9r
ZXlTeXN0ZW07Cit9CisKK2NvbnN0IE1lZGlhS2V5U3lzdGVtQ29uZmlndXJhdGlvbiYgTWVkaWFL
ZXlTeXN0ZW1BY2Nlc3M6OmdldENvbmZpZ3VyYXRpb24oKSBjb25zdAoreworICAgIG5vdEltcGxl
bWVudGVkKCk7CisgICAgcmV0dXJuIG1fY29uZmlndXJhdGlvbjsKK30KKwordm9pZCBNZWRpYUtl
eVN5c3RlbUFjY2Vzczo6Y3JlYXRlTWVkaWFLZXlzKENyZWF0ZU1lZGlhS2V5c1Byb21pc2UmJikK
K3sKKyAgICBub3RJbXBsZW1lbnRlZCgpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisK
KyNlbmRpZiAvLyBFTkFCTEUoRU5DUllQVEVEX01FRElBKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVN5c3RlbUFjY2Vzcy5oIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVN5c3RlbUFjY2Vzcy5o
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmJjMGNjOGI5OGRlMGEyYmEzZGExYjA3ZTk4MjExYzljZjc0YzZkZWQKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01l
ZGlhS2V5U3lzdGVtQWNjZXNzLmgKQEAgLTAsMCArMSw2NiBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAxNiBNZXRyb2xvZ2ljYWwgR3JvdXAgQi5WLgorICogQ29weXJpZ2h0IChDKSAyMDE2IEln
YWxpYSBTLkwuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6Cisg
KgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqICAgIGNvcHlyaWdodCBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nCisgKiAgICBkaXNjbGFp
bWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQK
KyAqICAgIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMg
SVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogSE9MREVSIE9SIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAor
ICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UK
KworI2lmIEVOQUJMRShFTkNSWVBURURfTUVESUEpCisKKyNpbmNsdWRlICJKU0RPTVByb21pc2Uu
aCIKKyNpbmNsdWRlICJNZWRpYUtleVN5c3RlbUNvbmZpZ3VyYXRpb24uaCIKKyNpbmNsdWRlIDx3
dGYvUmVmQ291bnRlZC5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgorCituYW1l
c3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIE1lZGlhS2V5czsKKworY2xhc3MgTWVkaWFLZXlTeXN0
ZW1BY2Nlc3MgOiBwdWJsaWMgUmVmQ291bnRlZDxNZWRpYUtleVN5c3RlbUFjY2Vzcz4geworcHVi
bGljOgorICAgIHN0YXRpYyBSZWY8TWVkaWFLZXlTeXN0ZW1BY2Nlc3M+IGNyZWF0ZSgpCisgICAg
eworICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBNZWRpYUtleVN5c3RlbUFjY2Vzcyk7Cisg
ICAgfQorCisgICAgdmlydHVhbCB+TWVkaWFLZXlTeXN0ZW1BY2Nlc3MoKTsKKworICAgIGNvbnN0
IFN0cmluZyYga2V5U3lzdGVtKCkgY29uc3Q7CisgICAgY29uc3QgTWVkaWFLZXlTeXN0ZW1Db25m
aWd1cmF0aW9uJiBnZXRDb25maWd1cmF0aW9uKCkgY29uc3Q7CisKKyAgICB0eXBlZGVmIERPTVBy
b21pc2U8TWVkaWFLZXlzPiBDcmVhdGVNZWRpYUtleXNQcm9taXNlOworICAgIHZvaWQgY3JlYXRl
TWVkaWFLZXlzKENyZWF0ZU1lZGlhS2V5c1Byb21pc2UmJik7CisKK3ByaXZhdGU6CisgICAgTWVk
aWFLZXlTeXN0ZW1BY2Nlc3MoKTsKKworICAgIFN0cmluZyBtX2tleVN5c3RlbTsKKyAgICBNZWRp
YUtleVN5c3RlbUNvbmZpZ3VyYXRpb24gbV9jb25maWd1cmF0aW9uOworfTsKKworfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlTeXN0
ZW1BY2Nlc3MuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRp
YUtleVN5c3RlbUFjY2Vzcy5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDljNDYxNDE5MWMzYjhjOWNjMzI1N2E5
ZThhZDYxYjhjODkxY2I4OQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlTeXN0ZW1BY2Nlc3MuaWRsCkBAIC0wLDAgKzEsMzUg
QEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTYgTWV0cm9sb2dpY2FsIEdyb3VwIEIuVi4KKyAq
IENvcHlyaWdodCAoQykgMjAxNiBJZ2FsaWEgUy5MLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCisgKiBhcmUgbWV0OgorICoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisg
KiAgICBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZworICogICAgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkCisgKiAgICB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5E
IENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNV
TEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklH
SFQKKyAqIEhPTERFUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworWworICAgIENvbmRpdGlvbmFsPUVOQ1JZUFRFRF9NRURJQQorXSBpbnRlcmZhY2Ug
TWVkaWFLZXlTeXN0ZW1BY2Nlc3MgeworICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcg
a2V5U3lzdGVtOworICAgIFtDdXN0b21dIE1lZGlhS2V5U3lzdGVtQ29uZmlndXJhdGlvbiBnZXRD
b25maWd1cmF0aW9uKCk7CisgICAgUHJvbWlzZSBjcmVhdGVNZWRpYUtleXMoKTsKK307CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U3lz
dGVtQ29uZmlndXJhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRp
YS9NZWRpYUtleVN5c3RlbUNvbmZpZ3VyYXRpb24uaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yNWQyMDc5NWU3ZDk2
NGNiNzY1MmM5NTg1MjYxMTAxNGZhYmQ3NWE0Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVN5c3RlbUNvbmZpZ3VyYXRpb24u
aApAQCAtMCwwICsxLDU0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE2IE1ldHJvbG9naWNh
bCBHcm91cCBCLlYuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTYgSWdhbGlhIFMuTC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZQorICogICAgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcKKyAqICAgIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZAorICogICAgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlS
SUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRP
LCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBUSEUgQ09QWVJJR0hUCisgKiBIT0xERVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
CisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaWYgRU5BQkxFKEVOQ1JZ
UFRFRF9NRURJQSkKKworI2luY2x1ZGUgIk1lZGlhS2V5U3lzdGVtTWVkaWFDYXBhYmlsaXR5Lmgi
CisjaW5jbHVkZSAiTWVkaWFLZXlzUmVxdWlyZW1lbnQuaCIKKyNpbmNsdWRlIDx3dGYvVmVjdG9y
Lmg+CisjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CisKK25hbWVzcGFjZSBXZWJDb3Jl
IHsKKworc3RydWN0IE1lZGlhS2V5U3lzdGVtQ29uZmlndXJhdGlvbiB7CisgICAgdXNpbmcgS2V5
c1JlcXVpcmVtZW50ID0gTWVkaWFLZXlzUmVxdWlyZW1lbnQ7CisKKyAgICBTdHJpbmcgbGFiZWw7
CisgICAgVmVjdG9yPFN0cmluZz4gaW5pdERhdGFUeXBlczsKKyAgICBWZWN0b3I8TWVkaWFLZXlT
eXN0ZW1NZWRpYUNhcGFiaWxpdHk+IGF1ZGlvQ2FwYWJpbGl0aWVzOworICAgIFZlY3RvcjxNZWRp
YUtleVN5c3RlbU1lZGlhQ2FwYWJpbGl0eT4gdmlkZW9DYXBhYmlsaXRpZXM7CisgICAgTWVkaWFL
ZXlzUmVxdWlyZW1lbnQgZGlzdGluY3RpdmVJZGVudGlmaWVyOworICAgIE1lZGlhS2V5c1JlcXVp
cmVtZW50IHBlcnNpc3RlbnRTdGF0ZTsKKyAgICBWZWN0b3I8U3RyaW5nPiBzZXNzaW9uVHlwZXM7
Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoRU5DUllQ
VEVEX01FRElBKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRt
ZWRpYS9NZWRpYUtleVN5c3RlbUNvbmZpZ3VyYXRpb24uaWRsIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVN5c3RlbUNvbmZpZ3VyYXRpb24uaWRsCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmUzYjcxNjg5NGI1MDg2MzNhODY2NTM2MzBlNzQ5MTkwMDI1MmVjZDkKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5
U3lzdGVtQ29uZmlndXJhdGlvbi5pZGwKQEAgLTAsMCArMSw0NSBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAxNiBNZXRyb2xvZ2ljYWwgR3JvdXAgQi5WLgorICogQ29weXJpZ2h0IChDKSAyMDE2
IElnYWxpYSBTLkwuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6
CisgKgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqICAgIGNvcHlyaWdodCBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nCisgKiAgICBkaXNj
bGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQKKyAqICAgIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAi
QVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogSE9MREVSIE9SIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCitlbnVtIE1lZGlh
S2V5c1JlcXVpcmVtZW50IHsKKyAgICAicmVxdWlyZWQiLAorICAgICJvcHRpb25hbCIsCisgICAg
Im5vdC1hbGxvd2VkIgorfTsKKworWworICAgIENvbmRpdGlvbmFsPUVOQ1JZUFRFRF9NRURJQQor
XSBkaWN0aW9uYXJ5IE1lZGlhS2V5U3lzdGVtQ29uZmlndXJhdGlvbiB7CisgICAgRE9NU3RyaW5n
IGxhYmVsID0gIiI7CisgICAgc2VxdWVuY2U8RE9NU3RyaW5nPiBpbml0RGF0YVR5cGVzID0gW107
CisgICAgc2VxdWVuY2U8TWVkaWFLZXlTeXN0ZW1NZWRpYUNhcGFiaWxpdHk+IGF1ZGlvQ2FwYWJp
bGl0aWVzID0gW107CisgICAgc2VxdWVuY2U8TWVkaWFLZXlTeXN0ZW1NZWRpYUNhcGFiaWxpdHk+
IHZpZGVvQ2FwYWJpbGl0aWVzID0gW107CisgICAgTWVkaWFLZXlzUmVxdWlyZW1lbnQgZGlzdGlu
Y3RpdmVJZGVudGlmaWVyID0gIm9wdGlvbmFsIjsKKyAgICBNZWRpYUtleXNSZXF1aXJlbWVudCBw
ZXJzaXN0ZW50U3RhdGUgPSAib3B0aW9uYWwiOworICAgIHNlcXVlbmNlPERPTVN0cmluZz4gc2Vz
c2lvblR5cGVzOworfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlw
dGVkbWVkaWEvTWVkaWFLZXlTeXN0ZW1NZWRpYUNhcGFiaWxpdHkuaCBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlTeXN0ZW1NZWRpYUNhcGFiaWxpdHkuaApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5iYTcyMDA1NDIxNmI0MzI3ZmJhY2Y1ZmZhN2JiMWE3OGExZTMwMjY4Ci0tLSAv
ZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRp
YUtleVN5c3RlbU1lZGlhQ2FwYWJpbGl0eS5oCkBAIC0wLDAgKzEsNDQgQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTYgTWV0cm9sb2dpY2FsIEdyb3VwIEIuVi4KKyAqIENvcHlyaWdodCAoQykg
MjAxNiBJZ2FsaWEgUy5MLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUg
bWV0OgorICoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiAgICBjb3B5cmlnaHQg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZworICogICAg
ZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkCisgKiAgICB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUwor
ICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIEhPTERFUiBP
UiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdt
YSBvbmNlCisKKyNpZiBFTkFCTEUoRU5DUllQVEVEX01FRElBKQorCisjaW5jbHVkZSA8d3RmL3Rl
eHQvV1RGU3RyaW5nLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworc3RydWN0IE1lZGlhS2V5
U3lzdGVtTWVkaWFDYXBhYmlsaXR5IHsKKyAgICBTdHJpbmcgY29udGVudFR5cGU7CisgICAgU3Ry
aW5nIHJvYnVzdG5lc3M7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAv
LyBFTkFCTEUoRU5DUllQVEVEX01FRElBKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVN5c3RlbU1lZGlhQ2FwYWJpbGl0eS5pZGwgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U3lzdGVtTWVkaWFD
YXBhYmlsaXR5LmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lNjlkNjdhNDYzNTEwYTg3YTMyMmU4ZjY5MTUwMTI5
Y2IxMjY4NWU5Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNy
eXB0ZWRtZWRpYS9NZWRpYUtleVN5c3RlbU1lZGlhQ2FwYWJpbGl0eS5pZGwKQEAgLTAsMCArMSwz
NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNiBNZXRyb2xvZ2ljYWwgR3JvdXAgQi5WLgor
ICogQ29weXJpZ2h0IChDKSAyMDE2IElnYWxpYSBTLkwuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUK
KyAqICAgIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nCisgKiAgICBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQKKyAqICAgIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBB
TkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlS
SUdIVAorICogSE9MREVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKyAqLworCitbCisgICAgQ29uZGl0aW9uYWw9RU5DUllQVEVEX01FRElBCitdIGRpY3Rpb25h
cnkgTWVkaWFLZXlTeXN0ZW1NZWRpYUNhcGFiaWxpdHkgeworICAgIERPTVN0cmluZyBjb250ZW50
VHlwZSA9ICIiOworICAgIERPTVN0cmluZyByb2J1c3RuZXNzID0gIiI7Cit9OwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleXMuY3BwIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleXMuY3BwCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjlkNGVkNjQwOWVkZTUxODNmODMwZWRlZTdkMmVjMDQ4NzU4NjNjOGYKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5
cy5jcHAKQEAgLTAsMCArMSw1NiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNiBNZXRyb2xv
Z2ljYWwgR3JvdXAgQi5WLgorICogQ29weXJpZ2h0IChDKSAyMDE2IElnYWxpYSBTLkwuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgorICogMS4gUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUKKyAqICAgIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nCisgKiAgICBkaXNjbGFpbWVyIGluIHRoZSBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQKKyAqICAgIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBD
T1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRF
RCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogSE9MREVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICog
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVk
ZSAiTWVkaWFLZXlzLmgiCisKKyNpZiBFTkFCTEUoRU5DUllQVEVEX01FRElBKQorCisjaW5jbHVk
ZSAiTWVkaWFLZXlTZXNzaW9uLmgiCisjaW5jbHVkZSAiTm90SW1wbGVtZW50ZWQuaCIKKworbmFt
ZXNwYWNlIFdlYkNvcmUgeworCitNZWRpYUtleXM6Ok1lZGlhS2V5cygpID0gZGVmYXVsdDsKKwor
TWVkaWFLZXlzOjp+TWVkaWFLZXlzKCkgPSBkZWZhdWx0OworCitFeGNlcHRpb25PcjxSZWY8TWVk
aWFLZXlTZXNzaW9uPj4gTWVkaWFLZXlzOjpjcmVhdGVTZXNzaW9uKE1lZGlhS2V5U2Vzc2lvblR5
cGUpCit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICByZXR1cm4gRXhjZXB0aW9uIHsgTk9U
X1NVUFBPUlRFRF9FUlIgfTsKK30KKwordm9pZCBNZWRpYUtleXM6OnNldFNlcnZlckNlcnRpZmlj
YXRlKGNvbnN0IEJ1ZmZlclNvdXJjZSYsIFNldFNlcnZlckNlcnRpZmljYXRlUHJvbWlzZSYmKQor
eworICAgIG5vdEltcGxlbWVudGVkKCk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKwor
I2VuZGlmIC8vIEVOQUJMRShFTkNSWVBURURfTUVESUEpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5cy5oIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleXMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kNzA5YzY5NTFj
ZjgzNTEzZTQzMDU5ZDIxMDliY2M3MWE3NmMzMGE3Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleXMuaApAQCAtMCwwICsxLDY2
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE2IE1ldHJvbG9naWNhbCBHcm91cCBCLlYuCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTYgSWdhbGlhIFMuTC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQor
ICogICAgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcKKyAqICAgIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZAorICogICAgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFO
RCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElD
VUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJ
R0hUCisgKiBIT0xERVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKKyNwcmFnbWEgb25jZQorCisjaWYgRU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkKKwor
I2luY2x1ZGUgIkV4Y2VwdGlvbk9yLmgiCisjaW5jbHVkZSAiSlNET01Qcm9taXNlLmgiCisjaW5j
bHVkZSAiTWVkaWFLZXlTZXNzaW9uVHlwZS5oIgorI2luY2x1ZGUgPHd0Zi9SZWYuaD4KKyNpbmNs
dWRlIDx3dGYvUmVmQ291bnRlZC5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIEJ1
ZmZlclNvdXJjZTsKK2NsYXNzIE1lZGlhS2V5U2Vzc2lvbjsKKworY2xhc3MgTWVkaWFLZXlzIDog
cHVibGljIFJlZkNvdW50ZWQ8TWVkaWFLZXlzPiB7CitwdWJsaWM6CisgICAgdXNpbmcgS2V5U2Vz
c2lvblR5cGUgPSBNZWRpYUtleVNlc3Npb25UeXBlOworCisgICAgc3RhdGljIFJlZjxNZWRpYUtl
eXM+IGNyZWF0ZSgpCisgICAgeworICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBNZWRpYUtl
eXMpOworICAgIH0KKworICAgIHZpcnR1YWwgfk1lZGlhS2V5cygpOworCisgICAgRXhjZXB0aW9u
T3I8UmVmPE1lZGlhS2V5U2Vzc2lvbj4+IGNyZWF0ZVNlc3Npb24oTWVkaWFLZXlTZXNzaW9uVHlw
ZSk7CisKKyAgICB1c2luZyBTZXRTZXJ2ZXJDZXJ0aWZpY2F0ZVByb21pc2UgPSBET01Qcm9taXNl
PGJvb2w+OworICAgIHZvaWQgc2V0U2VydmVyQ2VydGlmaWNhdGUoY29uc3QgQnVmZmVyU291cmNl
JiwgU2V0U2VydmVyQ2VydGlmaWNhdGVQcm9taXNlJiYpOworCitwcm90ZWN0ZWQ6CisgICAgTWVk
aWFLZXlzKCk7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFC
TEUoRU5DUllQVEVEX01FRElBKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9l
bmNyeXB0ZWRtZWRpYS9NZWRpYUtleXMuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNy
eXB0ZWRtZWRpYS9NZWRpYUtleXMuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjNmOTA2YmU5YTkyYWZmMmUxOGE3
NDFjOGJiNDBjYzY5NzFlYTVlYWQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5cy5pZGwKQEAgLTAsMCArMSw0MCBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAxNiBNZXRyb2xvZ2ljYWwgR3JvdXAgQi5WLgorICogQ29weXJp
Z2h0IChDKSAyMDE2IElnYWxpYSBTLkwuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
KyAqIGFyZSBtZXQ6CisgKgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqICAgIGNv
cHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
CisgKiAgICBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQKKyAqICAgIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJ
QlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICog
SE9MREVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLwor
CitlbnVtIE1lZGlhS2V5U2Vzc2lvblR5cGUgeworICAgICJ0ZW1wb3JhcnkiLAorICAgICJwZXJz
aXN0ZW50LXVzYWdlLXJlY29yZCIsCisgICAgInBlcnNpc3RlbnQtbGljZW5zZSIKK307CisgCitb
CisgICAgQ29uZGl0aW9uYWw9RU5DUllQVEVEX01FRElBLAorXSBpbnRlcmZhY2UgTWVkaWFLZXlz
IHsKKyAgICBbTWF5VGhyb3dFeGNlcHRpb25dIE1lZGlhS2V5U2Vzc2lvbiBjcmVhdGVTZXNzaW9u
KG9wdGlvbmFsIE1lZGlhS2V5U2Vzc2lvblR5cGUgc2Vzc2lvblR5cGUgPSAidGVtcG9yYXJ5Iik7
CisgICAgUHJvbWlzZSBzZXRTZXJ2ZXJDZXJ0aWZpY2F0ZShCdWZmZXJTb3VyY2Ugc2VydmVyQ2Vy
dGlmaWNhdGUpOworfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlw
dGVkbWVkaWEvTWVkaWFLZXlzUmVxdWlyZW1lbnQuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
ZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlzUmVxdWlyZW1lbnQuaApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jNmFmNmI0
ZmUwMGJkYzQzNGQzM2JkYmQ1OWU3OTBlNTRlZWFhNDczCi0tLSAvZGV2L251bGwKKysrIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleXNSZXF1aXJlbWVudC5o
CkBAIC0wLDAgKzEsNDMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTYgTWV0cm9sb2dpY2Fs
IEdyb3VwIEIuVi4KKyAqIENvcHlyaWdodCAoQykgMjAxNiBJZ2FsaWEgUy5MLgorICoKKyAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICoKKyAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlCisgKiAgICBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZworICogICAgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkCisgKiAgICB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJ
R0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8s
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIFRIRSBDT1BZUklHSFQKKyAqIEhPTERFUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UK
KyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoRU5DUllQ
VEVEX01FRElBKQorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2VudW0gY2xhc3MgTWVkaWFLZXlz
UmVxdWlyZW1lbnQgeworICAgIFJlcXVpcmVkLAorICAgIE9wdGlvbmFsLAorICAgIE5vdEFsbG93
ZWQKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShFTkNS
WVBURURfTUVESUEpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRl
ZG1lZGlhL05hdmlnYXRvckVNRS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRl
ZG1lZGlhL05hdmlnYXRvckVNRS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDk2MDFhNWJlOWUxNmM1Yjk1OGNk
MmM3ZTUxODUxYjMyMjA1ZmUyNgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvZW5jcnlwdGVkbWVkaWEvTmF2aWdhdG9yRU1FLmNwcApAQCAtMCwwICsxLDQ1IEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDE2IE1ldHJvbG9naWNhbCBHcm91cCBCLlYuCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTYgSWdhbGlhIFMuTC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqCisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogICAg
Y29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcKKyAqICAgIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZAorICogICAgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05U
UklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisg
KiBIT0xERVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICov
CisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJOYXZpZ2F0b3JFTUUuaCIKKworI2lm
IEVOQUJMRShFTkNSWVBURURfTUVESUEpCisKKyNpbmNsdWRlICJOb3RJbXBsZW1lbnRlZC5oIgor
CituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3ZvaWQgTmF2aWdhdG9yRU1FOjpyZXF1ZXN0TWVkaWFL
ZXlTeXN0ZW1BY2Nlc3MoTmF2aWdhdG9yJiwgY29uc3QgU3RyaW5nJiwgVmVjdG9yPE1lZGlhS2V5
U3lzdGVtQ29uZmlndXJhdGlvbj4mJiwgUmVxdWVzdE1lZGlhS2V5U3lzdGVtQWNjZXNzUHJvbWlz
ZSYmKQoreworICAgIG5vdEltcGxlbWVudGVkKCk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKKworI2VuZGlmIC8vIEVOQUJMRShFTkNSWVBURURfTUVESUEpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL05hdmlnYXRvckVNRS5oIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9OYXZpZ2F0b3JFTUUuaApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5jNjJjZTYxYzg4OWY4YWMxZDRiMTNhNTVjMDJiMjc3NGVlM2M1YjNiCi0tLSAvZGV2L251bGwK
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9OYXZpZ2F0b3JFTUUu
aApAQCAtMCwwICsxLDUxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE2IE1ldHJvbG9naWNh
bCBHcm91cCBCLlYuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTYgSWdhbGlhIFMuTC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZQorICogICAgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcKKyAqICAgIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZAorICogICAgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlS
SUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRP
LCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBUSEUgQ09QWVJJR0hUCisgKiBIT0xERVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
CisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaWYgRU5BQkxFKEVOQ1JZ
UFRFRF9NRURJQSkKKworI2luY2x1ZGUgIkpTRE9NUHJvbWlzZS5oIgorI2luY2x1ZGUgIk1lZGlh
S2V5U3lzdGVtQ29uZmlndXJhdGlvbi5oIgorI2luY2x1ZGUgIlN1cHBsZW1lbnRhYmxlLmgiCisK
K25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgTWVkaWFLZXlTeXN0ZW1BY2Nlc3M7CitjbGFz
cyBOYXZpZ2F0b3I7CitjbGFzcyBQYWdlOworCitjbGFzcyBOYXZpZ2F0b3JFTUUgZmluYWwgOiBw
dWJsaWMgU3VwcGxlbWVudDxQYWdlPiB7CitwdWJsaWM6CisgICAgdHlwZWRlZiBET01Qcm9taXNl
PE1lZGlhS2V5U3lzdGVtQWNjZXNzPiBSZXF1ZXN0TWVkaWFLZXlTeXN0ZW1BY2Nlc3NQcm9taXNl
OworICAgIHN0YXRpYyB2b2lkIHJlcXVlc3RNZWRpYUtleVN5c3RlbUFjY2VzcyhOYXZpZ2F0b3Im
LCBjb25zdCBTdHJpbmcmLCBWZWN0b3I8TWVkaWFLZXlTeXN0ZW1Db25maWd1cmF0aW9uPiYmLCBS
ZXF1ZXN0TWVkaWFLZXlTeXN0ZW1BY2Nlc3NQcm9taXNlJiYpOworfTsKKworfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTmF2aWdhdG9yRU1FLmlk
bCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTmF2aWdhdG9yRU1FLmlk
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mNjI3YmMwYmY1OTlmYjQyMDMzYzc0OTc4ZGU3ZjAxOGFhZjY2MGExCi0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9O
YXZpZ2F0b3JFTUUuaWRsCkBAIC0wLDAgKzEsMzMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTYgTWV0cm9sb2dpY2FsIEdyb3VwIEIuVi4KKyAqIENvcHlyaWdodCAoQykgMjAxNiBJZ2FsaWEg
Uy5MLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICoKKyAq
IDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiAgICBjb3B5cmlnaHQgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZworICogICAgZGlzY2xhaW1lciBp
biB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkCisgKiAg
ICB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBB
TkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QK
KyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIEhPTERFUiBPUiBDT05UUklCVVRP
UlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1Mg
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisg
KiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworWworICAgIENvbmRpdGlvbmFs
PUVOQ1JZUFRFRF9NRURJQQorXSBwYXJ0aWFsIGludGVyZmFjZSBOYXZpZ2F0b3IgeworICAgIFBy
b21pc2UgcmVxdWVzdE1lZGlhS2V5U3lzdGVtQWNjZXNzKERPTVN0cmluZyBrZXlTeXN0ZW0sIHNl
cXVlbmNlPE1lZGlhS2V5U3lzdGVtQ29uZmlndXJhdGlvbj4gc3VwcG9ydGVkQ29uZmlndXJhdGlv
bik7Cit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCmluZGV4IGRjYWI2MmU1NWI2YmI4NDU5ZmNiOWU4MzIyNzk0N2EwZjQ5NjM3NTYuLjM3
ODYwYTZiMmU2YjAzYjJmNjI5ODVkYzUxZjBmY2E3MDAyNGQ3MGUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTEyNTYsNiArMTI1
NiwzMyBAQAogCQkyRDkzQUVFNDE5REY1NjQxMDAyQTg2QzMgLyogU2VydmljZXNPdmVybGF5Q29u
dHJvbGxlci5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDJEOTNBRUUyMTlERjU2NDEwMDJBODZDMyAvKiBTZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyLm1t
ICovOyB9OwogCQkyRDk3RjA0NzE5REQ0MTNDMDAxRUU5QzMgLyogTW9ja1BhZ2VPdmVybGF5Q2xp
ZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJE
QUFFMzJDMTlEQ0FGNjAwMEUwMDJEMiAvKiBNb2NrUGFnZU92ZXJsYXlDbGllbnQuY3BwICovOyB9
OwogCQkyRDk3RjA0ODE5REQ0MTQwMDAxRUU5QzMgLyogTW9ja1BhZ2VPdmVybGF5Q2xpZW50Lmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyREFBRTMyRDE5
RENBRjYwMDBFMDAyRDIgLyogTW9ja1BhZ2VPdmVybGF5Q2xpZW50LmggKi87IH07CisJCTJEOUJG
NzA1MURCRkJCMjQwMDdBN0Q5OSAvKiBNZWRpYUVuY3J5cHRlZEV2ZW50LmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJEOUJGNzAxMURCRkJCMjQwMDdB
N0Q5OSAvKiBNZWRpYUVuY3J5cHRlZEV2ZW50LmNwcCAqLzsgfTsKKwkJMkQ5QkY3MDYxREJGQkIy
NDAwN0E3RDk5IC8qIE1lZGlhRW5jcnlwdGVkRXZlbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJEOUJGNzAyMURCRkJCMjQwMDdBN0Q5OSAvKiBNZWRp
YUVuY3J5cHRlZEV2ZW50LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKKwkJMkQ5QkY3MDgxREJGQkIyNDAwN0E3RDk5IC8qIE1lZGlhRW5jcnlwdGVkRXZl
bnRJbml0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAy
RDlCRjcwNDFEQkZCQjI0MDA3QTdEOTkgLyogTWVkaWFFbmNyeXB0ZWRFdmVudEluaXQuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkyRDlCRjcxMDFE
QkZEOENFMDA3QTdEOTkgLyogSlNNZWRpYUVuY3J5cHRlZEV2ZW50LmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJEOUJGNzBGMURCRkQ4Q0UwMDdBN0Q5
OSAvKiBKU01lZGlhRW5jcnlwdGVkRXZlbnQuY3BwICovOyB9OworCQkyRDlCRjcxMjFEQkZEOTE0
MDA3QTdEOTkgLyogSlNNZWRpYUVuY3J5cHRlZEV2ZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRDlCRjcxMTFEQkZEOTE0MDA3QTdEOTkgLyogSlNN
ZWRpYUVuY3J5cHRlZEV2ZW50LmggKi87IH07CisJCTJEOUJGNzIxMURCRkRBQkEwMDdBN0Q5OSAv
KiBKU01lZGlhS2V5TWVzc2FnZUV2ZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDJEOUJGNzEzMURCRkRBQjEwMDdBN0Q5OSAvKiBKU01lZGlhS2V5
TWVzc2FnZUV2ZW50LmNwcCAqLzsgfTsKKwkJMkQ5QkY3MjIxREJGREFDQjAwN0E3RDk5IC8qIEpT
TWVkaWFLZXlzLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDJEOUJGNzE1MURCRkRBQjEwMDdBN0Q5OSAvKiBKU01lZGlhS2V5cy5jcHAgKi87IH07CisJ
CTJEOUJGNzIzMURCRkRBQ0QwMDdBN0Q5OSAvKiBKU01lZGlhS2V5U2Vzc2lvbi5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRDlCRjcxNzFEQkZEQUIx
MDA3QTdEOTkgLyogSlNNZWRpYUtleVNlc3Npb24uY3BwICovOyB9OworCQkyRDlCRjcyNDFEQkZE
QUQwMDA3QTdEOTkgLyogSlNNZWRpYUtleVN0YXR1c01hcC5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRDlCRjcxOTFEQkZEQUIxMDA3QTdEOTkgLyog
SlNNZWRpYUtleVN0YXR1c01hcC5jcHAgKi87IH07CisJCTJEOUJGNzI1MURCRkRBRDMwMDdBN0Q5
OSAvKiBKU01lZGlhS2V5U3lzdGVtQWNjZXNzLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJEOUJGNzFCMURCRkRBQjEwMDdBN0Q5OSAvKiBKU01lZGlh
S2V5U3lzdGVtQWNjZXNzLmNwcCAqLzsgfTsKKwkJMkQ5QkY3MjYxREJGREFENTAwN0E3RDk5IC8q
IEpTTWVkaWFLZXlTeXN0ZW1Db25maWd1cmF0aW9uLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJEOUJGNzFEMURCRkRBQjEwMDdBN0Q5OSAvKiBKU01l
ZGlhS2V5U3lzdGVtQ29uZmlndXJhdGlvbi5jcHAgKi87IH07CisJCTJEOUJGNzI3MURCRkRBRDgw
MDdBN0Q5OSAvKiBKU01lZGlhS2V5U3lzdGVtTWVkaWFDYXBhYmlsaXR5LmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJEOUJGNzFGMURCRkRBQjEwMDdB
N0Q5OSAvKiBKU01lZGlhS2V5U3lzdGVtTWVkaWFDYXBhYmlsaXR5LmNwcCAqLzsgfTsKKwkJMkQ5
QkY3MjgxREJGREIwRDAwN0E3RDk5IC8qIEpTTWVkaWFLZXlNZXNzYWdlRXZlbnQuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJEOUJGNzE0MURCRkRBQjEw
MDdBN0Q5OSAvKiBKU01lZGlhS2V5TWVzc2FnZUV2ZW50LmggKi87IH07CisJCTJEOUJGNzI5MURC
RkRCMTAwMDdBN0Q5OSAvKiBKU01lZGlhS2V5cy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMkQ5QkY3MTYxREJGREFCMTAwN0E3RDk5IC8qIEpTTWVkaWFL
ZXlzLmggKi87IH07CisJCTJEOUJGNzJBMURCRkRCMTMwMDdBN0Q5OSAvKiBKU01lZGlhS2V5U2Vz
c2lvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkQ5
QkY3MTgxREJGREFCMTAwN0E3RDk5IC8qIEpTTWVkaWFLZXlTZXNzaW9uLmggKi87IH07CisJCTJE
OUJGNzJCMURCRkRCMTUwMDdBN0Q5OSAvKiBKU01lZGlhS2V5U3RhdHVzTWFwLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRDlCRjcxQTFEQkZEQUIxMDA3
QTdEOTkgLyogSlNNZWRpYUtleVN0YXR1c01hcC5oICovOyB9OworCQkyRDlCRjcyQzFEQkZEQjE3
MDA3QTdEOTkgLyogSlNNZWRpYUtleVN5c3RlbUFjY2Vzcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkQ5QkY3MUMxREJGREFCMTAwN0E3RDk5IC8qIEpT
TWVkaWFLZXlTeXN0ZW1BY2Nlc3MuaCAqLzsgfTsKKwkJMkQ5QkY3MkQxREJGREIxOTAwN0E3RDk5
IC8qIEpTTWVkaWFLZXlTeXN0ZW1Db25maWd1cmF0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRDlCRjcxRTFEQkZEQUIxMDA3QTdEOTkgLyogSlNN
ZWRpYUtleVN5c3RlbUNvbmZpZ3VyYXRpb24uaCAqLzsgfTsKKwkJMkQ5QkY3MkUxREJGREIxQzAw
N0E3RDk5IC8qIEpTTWVkaWFLZXlTeXN0ZW1NZWRpYUNhcGFiaWxpdHkuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJEOUJGNzIwMURCRkRBQjEwMDdBN0Q5
OSAvKiBKU01lZGlhS2V5U3lzdGVtTWVkaWFDYXBhYmlsaXR5LmggKi87IH07CisJCTJEOUJGNzQy
MURCRkRDMjcwMDdBN0Q5OSAvKiBOYXZpZ2F0b3JFTUUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkQ5QkY3NDAxREJGREMwRjAwN0E3RDk5IC8qIE5h
dmlnYXRvckVNRS5jcHAgKi87IH07CisJCTJEOUJGNzQzMURCRkRDM0UwMDdBN0Q5OSAvKiBNZWRp
YUtleVN5c3RlbUFjY2Vzcy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAyRDlCRjczQzFEQkZEQzBGMDA3QTdEOTkgLyogTWVkaWFLZXlTeXN0ZW1BY2Nl
c3MuY3BwICovOyB9OworCQkyRDlCRjc0NDFEQkZEQzQxMDA3QTdEOTkgLyogTWVkaWFLZXlTdGF0
dXNNYXAuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
MkQ5QkY3M0ExREJGREMwRjAwN0E3RDk5IC8qIE1lZGlhS2V5U3RhdHVzTWFwLmNwcCAqLzsgfTsK
KwkJMkQ5QkY3NDUxREJGREM0NDAwN0E3RDk5IC8qIE1lZGlhS2V5U2Vzc2lvbi5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRDlCRjczNTFEQkZEQzBG
MDA3QTdEOTkgLyogTWVkaWFLZXlTZXNzaW9uLmNwcCAqLzsgfTsKKwkJMkQ5QkY3NDYxREJGREM0
NzAwN0E3RDk5IC8qIE1lZGlhS2V5cy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAyRDlCRjczMzFEQkZEQzBGMDA3QTdEOTkgLyogTWVkaWFLZXlzLmNw
cCAqLzsgfTsKKwkJMkQ5QkY3NDcxREJGREM0OTAwN0E3RDk5IC8qIE1lZGlhS2V5TWVzc2FnZUV2
ZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJE
OUJGNzJGMURCRkRDMEYwMDdBN0Q5OSAvKiBNZWRpYUtleU1lc3NhZ2VFdmVudC5jcHAgKi87IH07
CisJCTJEOUJGNzRBMURCRkRERkYwMDdBN0Q5OSAvKiBKU01lZGlhS2V5U2Vzc2lvbkN1c3RvbS5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRDlCRjc0
ODFEQkZEREY4MDA3QTdEOTkgLyogSlNNZWRpYUtleVNlc3Npb25DdXN0b20uY3BwICovOyB9Owor
CQkyRDlCRjc0QjFEQkZERTAyMDA3QTdEOTkgLyogSlNNZWRpYUtleVN5c3RlbUFjY2Vzc0N1c3Rv
bS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRDlC
Rjc0OTFEQkZEREY4MDA3QTdEOTkgLyogSlNNZWRpYUtleVN5c3RlbUFjY2Vzc0N1c3RvbS5jcHAg
Ki87IH07CiAJCTJEOUYwRTEzMTRGRjFDQkYwMEJBMEZGNyAvKiBsaW5lYXJTUkdCLmljYyBpbiBS
ZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkQ5RjBFMTIxNEZG
MUNCRjAwQkEwRkY3IC8qIGxpbmVhclNSR0IuaWNjICovOyB9OwogCQkyREI5QzRBQTFCMzIzMUY0
MDA3MEYyN0YgLyogTlNFdmVudFNQSS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMkRCOUM0QTkxQjMyMzFGNDAwNzBGMjdGIC8qIE5TRXZlbnRTUEkuaCAq
Lzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQkyREM0Q0Y3
OTFEMkREOTg5MDBFQ0NDOTQgLyogRGF0YURldGVjdG9yc1VJU1BJLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyREM0Q0Y3ODFEMkREOTg5MDBFQ0NDOTQg
LyogRGF0YURldGVjdG9yc1VJU1BJLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKQEAgLTgzMDUsNiArODMzMiw1NSBAQAogCQkyRDkwNjYwQzA2NjVEOTM3
MDA2QjZGMUEgLyogRGF0YVRyYW5zZmVyTWFjLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDMwOyBpbmRlbnRXaWR0aCA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gRGF0YVRyYW5zZmVyTWFjLm1tOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB0YWJXaWR0aCA9IDg7IHVzZXNUYWJzID0gMDsgfTsKIAkJMkQ5
M0FFRTExOURGNTY0MTAwMkE4NkMzIC8qIFNlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXIuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU2VydmljZXNPdmVybGF5Q29udHJvbGxlci5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkyRDkzQUVFMjE5REY1NjQxMDAyQTg2QzMg
LyogU2VydmljZXNPdmVybGF5Q29udHJvbGxlci5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
Lm9iamNwcDsgcGF0aCA9IFNlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXIubW07IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCTJEOUJGNkY1MURCRkI3MUYwMDdBN0Q5OSAvKiBNZWRpYUtleU1l
c3NhZ2VFdmVudC5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gTWVkaWFLZXlNZXNzYWdlRXZl
bnQuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkyRDlCRjZGNjFEQkZCNzFGMDA3
QTdEOTkgLyogTWVkaWFLZXlzLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBNZWRpYUtleXMu
aWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkyRDlCRjZGNzFEQkZCNzFGMDA3QTdE
OTkgLyogTWVkaWFLZXlTZXNzaW9uLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBNZWRpYUtl
eVNlc3Npb24uaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkyRDlCRjZGODFEQkZC
NzFGMDA3QTdEOTkgLyogTWVkaWFLZXlTdGF0dXNNYXAuaWRsICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0
aCA9IE1lZGlhS2V5U3RhdHVzTWFwLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
MkQ5QkY2RjkxREJGQjcxRjAwN0E3RDk5IC8qIE1lZGlhS2V5U3lzdGVtQWNjZXNzLmlkbCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHRleHQ7IHBhdGggPSBNZWRpYUtleVN5c3RlbUFjY2Vzcy5pZGw7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCTJEOUJGNkZBMURCRkI3MUYwMDdBN0Q5OSAvKiBNZWRpYUtleVN5
c3RlbUNvbmZpZ3VyYXRpb24uaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IE1lZGlhS2V5U3lz
dGVtQ29uZmlndXJhdGlvbi5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTJEOUJG
NkZCMURCRkI3MUYwMDdBN0Q5OSAvKiBNZWRpYUtleVN5c3RlbU1lZGlhQ2FwYWJpbGl0eS5pZGwg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gTWVkaWFLZXlTeXN0ZW1NZWRpYUNhcGFiaWxpdHkuaWRs
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkyRDlCRjZGQzFEQkZCNzFGMDA3QTdEOTkg
LyogTmF2aWdhdG9yRU1FLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBOYXZpZ2F0b3JFTUUu
aWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkyRDlCRjcwMTFEQkZCQjI0MDA3QTdE
OTkgLyogTWVkaWFFbmNyeXB0ZWRFdmVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBNZWRpYUVuY3J5cHRlZEV2ZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJMkQ5QkY3MDIxREJGQkIyNDAwN0E3RDk5IC8qIE1lZGlhRW5jcnlwdGVkRXZlbnQu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTWVkaWFFbmNyeXB0ZWRFdmVudC5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkyRDlCRjcwMzFEQkZCQjI0MDA3QTdEOTkg
LyogTWVkaWFFbmNyeXB0ZWRFdmVudC5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gTWVkaWFF
bmNyeXB0ZWRFdmVudC5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTJEOUJGNzA0
MURCRkJCMjQwMDdBN0Q5OSAvKiBNZWRpYUVuY3J5cHRlZEV2ZW50SW5pdC5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBNZWRpYUVuY3J5cHRlZEV2ZW50SW5pdC5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQkyRDlCRjcwRjFEQkZEOENFMDA3QTdEOTkgLyogSlNNZWRp
YUVuY3J5cHRlZEV2ZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IEpTTWVkaWFFbmNyeXB0ZWRFdmVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTJEOUJGNzExMURCRkQ5MTQwMDdBN0Q5OSAvKiBKU01lZGlhRW5jcnlwdGVkRXZlbnQuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNNZWRpYUVuY3J5cHRlZEV2ZW50Lmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTJEOUJGNzEzMURCRkRBQjEwMDdBN0Q5OSAvKiBK
U01lZGlhS2V5TWVzc2FnZUV2ZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IEpTTWVkaWFLZXlNZXNzYWdlRXZlbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQkyRDlCRjcxNDFEQkZEQUIxMDA3QTdEOTkgLyogSlNNZWRpYUtleU1lc3NhZ2VFdmVu
dC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU01lZGlhS2V5TWVzc2FnZUV2
ZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTJEOUJGNzE1MURCRkRBQjEwMDdB
N0Q5OSAvKiBKU01lZGlhS2V5cy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBKU01lZGlhS2V5cy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTJEOUJG
NzE2MURCRkRBQjEwMDdBN0Q5OSAvKiBKU01lZGlhS2V5cy5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBKU01lZGlhS2V5cy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQkyRDlCRjcxNzFEQkZEQUIxMDA3QTdEOTkgLyogSlNNZWRpYUtleVNlc3Npb24uY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNNZWRpYUtleVNlc3Npb24uY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkyRDlCRjcxODFEQkZEQUIxMDA3QTdEOTkgLyog
SlNNZWRpYUtleVNlc3Npb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNN
ZWRpYUtleVNlc3Npb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMkQ5QkY3MTkx
REJGREFCMTAwN0E3RDk5IC8qIEpTTWVkaWFLZXlTdGF0dXNNYXAuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNNZWRpYUtleVN0YXR1c01hcC5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTJEOUJGNzFBMURCRkRBQjEwMDdBN0Q5OSAvKiBKU01lZGlh
S2V5U3RhdHVzTWFwLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTTWVkaWFL
ZXlTdGF0dXNNYXAuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMkQ5QkY3MUIxREJG
REFCMTAwN0E3RDk5IC8qIEpTTWVkaWFLZXlTeXN0ZW1BY2Nlc3MuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNNZWRpYUtleVN5c3RlbUFjY2Vzcy5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTJEOUJGNzFDMURCRkRBQjEwMDdBN0Q5OSAvKiBKU01l
ZGlhS2V5U3lzdGVtQWNjZXNzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpT
TWVkaWFLZXlTeXN0ZW1BY2Nlc3MuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMkQ5
QkY3MUQxREJGREFCMTAwN0E3RDk5IC8qIEpTTWVkaWFLZXlTeXN0ZW1Db25maWd1cmF0aW9uLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTTWVkaWFLZXlTeXN0ZW1D
b25maWd1cmF0aW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMkQ5QkY3MUUx
REJGREFCMTAwN0E3RDk5IC8qIEpTTWVkaWFLZXlTeXN0ZW1Db25maWd1cmF0aW9uLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTTWVkaWFLZXlTeXN0ZW1Db25maWd1cmF0aW9u
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTJEOUJGNzFGMURCRkRBQjEwMDdBN0Q5
OSAvKiBKU01lZGlhS2V5U3lzdGVtTWVkaWFDYXBhYmlsaXR5LmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTTWVkaWFLZXlTeXN0ZW1NZWRpYUNhcGFiaWxpdHkuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkyRDlCRjcyMDFEQkZEQUIxMDA3QTdEOTkg
LyogSlNNZWRpYUtleVN5c3RlbU1lZGlhQ2FwYWJpbGl0eS5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBKU01lZGlhS2V5U3lzdGVtTWVkaWFDYXBhYmlsaXR5Lmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTJEOUJGNzJGMURCRkRDMEYwMDdBN0Q5OSAvKiBNZWRpYUtl
eU1lc3NhZ2VFdmVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBN
ZWRpYUtleU1lc3NhZ2VFdmVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTJE
OUJGNzMwMURCRkRDMEYwMDdBN0Q5OSAvKiBNZWRpYUtleU1lc3NhZ2VFdmVudC5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNZWRpYUtleU1lc3NhZ2VFdmVudC5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQkyRDlCRjczMTFEQkZEQzBGMDA3QTdEOTkgLyogTWVkaWFL
ZXlNZXNzYWdlRXZlbnRJbml0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1l
ZGlhS2V5TWVzc2FnZUV2ZW50SW5pdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQky
RDlCRjczMjFEQkZEQzBGMDA3QTdEOTkgLyogTWVkaWFLZXlNZXNzYWdlVHlwZS5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNZWRpYUtleU1lc3NhZ2VUeXBlLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTJEOUJGNzMzMURCRkRDMEYwMDdBN0Q5OSAvKiBNZWRpYUtl
eXMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTWVkaWFLZXlzLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMkQ5QkY3MzQxREJGREMwRjAwN0E3RDk5
IC8qIE1lZGlhS2V5cy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNZWRpYUtl
eXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMkQ5QkY3MzUxREJGREMwRjAwN0E3
RDk5IC8qIE1lZGlhS2V5U2Vzc2lvbi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBNZWRpYUtleVNlc3Npb24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQkyRDlCRjczNjFEQkZEQzBGMDA3QTdEOTkgLyogTWVkaWFLZXlTZXNzaW9uLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1lZGlhS2V5U2Vzc2lvbi5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQkyRDlCRjczNzFEQkZEQzBGMDA3QTdEOTkgLyogTWVkaWFLZXlTZXNz
aW9uVHlwZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNZWRpYUtleVNlc3Np
b25UeXBlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTJEOUJGNzM4MURCRkRDMEYw
MDdBN0Q5OSAvKiBNZWRpYUtleXNSZXF1aXJlbWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBNZWRpYUtleXNSZXF1aXJlbWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQkyRDlCRjczOTFEQkZEQzBGMDA3QTdEOTkgLyogTWVkaWFLZXlTdGF0dXMuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTWVkaWFLZXlTdGF0dXMuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMkQ5QkY3M0ExREJGREMwRjAwN0E3RDk5IC8qIE1lZGlhS2V5
U3RhdHVzTWFwLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE1lZGlh
S2V5U3RhdHVzTWFwLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMkQ5QkY3M0Ix
REJGREMwRjAwN0E3RDk5IC8qIE1lZGlhS2V5U3RhdHVzTWFwLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IE1lZGlhS2V5U3RhdHVzTWFwLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTJEOUJGNzNDMURCRkRDMEYwMDdBN0Q5OSAvKiBNZWRpYUtleVN5c3RlbUFjY2Vz
cy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBNZWRpYUtleVN5c3Rl
bUFjY2Vzcy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTJEOUJGNzNEMURCRkRD
MEYwMDdBN0Q5OSAvKiBNZWRpYUtleVN5c3RlbUFjY2Vzcy5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBNZWRpYUtleVN5c3RlbUFjY2Vzcy5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQkyRDlCRjczRTFEQkZEQzBGMDA3QTdEOTkgLyogTWVkaWFLZXlTeXN0ZW1Db25m
aWd1cmF0aW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1lZGlhS2V5U3lz
dGVtQ29uZmlndXJhdGlvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkyRDlCRjcz
RjFEQkZEQzBGMDA3QTdEOTkgLyogTWVkaWFLZXlTeXN0ZW1NZWRpYUNhcGFiaWxpdHkuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTWVkaWFLZXlTeXN0ZW1NZWRpYUNhcGFiaWxp
dHkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMkQ5QkY3NDAxREJGREMwRjAwN0E3
RDk5IC8qIE5hdmlnYXRvckVNRS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBOYXZpZ2F0b3JFTUUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkyRDlC
Rjc0MTFEQkZEQzBGMDA3QTdEOTkgLyogTmF2aWdhdG9yRU1FLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IE5hdmlnYXRvckVNRS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQkyRDlCRjc0ODFEQkZEREY4MDA3QTdEOTkgLyogSlNNZWRpYUtleVNlc3Npb25DdXN0b20u
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNNZWRpYUtleVNlc3Np
b25DdXN0b20uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkyRDlCRjc0OTFEQkZE
REY4MDA3QTdEOTkgLyogSlNNZWRpYUtleVN5c3RlbUFjY2Vzc0N1c3RvbS5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU01lZGlhS2V5U3lzdGVtQWNjZXNzQ3VzdG9t
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMkQ5RjBFMTIxNEZGMUNCRjAwQkEw
RkY3IC8qIGxpbmVhclNSR0IuaWNjICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RL
bm93bkZpbGVUeXBlID0gZmlsZTsgcGF0aCA9IGxpbmVhclNSR0IuaWNjOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQkyREFBRTMyQzE5RENBRjYwMDBFMDAyRDIgLyogTW9ja1BhZ2VPdmVy
bGF5Q2xpZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE1vY2tQ
YWdlT3ZlcmxheUNsaWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTJEQUFF
MzJEMTlEQ0FGNjAwMEUwMDJEMiAvKiBNb2NrUGFnZU92ZXJsYXlDbGllbnQuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTW9ja1BhZ2VPdmVybGF5Q2xpZW50Lmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xODcxOCw2ICsxODc5NCwxMCBAQAogCQkJCTk3MjA1QUI0
MTIzOTI5MTAwMEIxNzM4MCAvKiBNZWRpYURvY3VtZW50LmggKi8sCiAJCQkJMDdGRTk5REExODgw
N0E3RDAwMjU2NjQ4IC8qIE1lZGlhRWxlbWVudFNlc3Npb24uY3BwICovLAogCQkJCTA3RkU5OURC
MTg4MDdBN0QwMDI1NjY0OCAvKiBNZWRpYUVsZW1lbnRTZXNzaW9uLmggKi8sCisJCQkJMkQ5QkY3
MDExREJGQkIyNDAwN0E3RDk5IC8qIE1lZGlhRW5jcnlwdGVkRXZlbnQuY3BwICovLAorCQkJCTJE
OUJGNzAyMURCRkJCMjQwMDdBN0Q5OSAvKiBNZWRpYUVuY3J5cHRlZEV2ZW50LmggKi8sCisJCQkJ
MkQ5QkY3MDMxREJGQkIyNDAwN0E3RDk5IC8qIE1lZGlhRW5jcnlwdGVkRXZlbnQuaWRsICovLAor
CQkJCTJEOUJGNzA0MURCRkJCMjQwMDdBN0Q5OSAvKiBNZWRpYUVuY3J5cHRlZEV2ZW50SW5pdC5o
ICovLAogCQkJCUU0NDYxMzlCMENENjMzMTAwMEZBREE3NSAvKiBNZWRpYUVycm9yLmggKi8sCiAJ
CQkJRTQ0NjEzOUMwQ0Q2MzMxMDAwRkFEQTc1IC8qIE1lZGlhRXJyb3IuaWRsICovLAogCQkJCTA3
QTZEMUU5MTQ5MTEzNzcwMDA1MUQwQyAvKiBNZWRpYUZyYWdtZW50VVJJUGFyc2VyLmNwcCAqLywK
QEAgLTE5NjcxLDYgKzE5NzUxLDggQEAKIAkJCQlBNzc5NzkyNTBENkI5RTY0MDAzODUxQjkgLyog
SlNJbWFnZURhdGEuaCAqLywKIAkJCQlDRDI3RjZFMjE0NTc2NzU4MDA3ODIwN0QgLyogSlNNZWRp
YUNvbnRyb2xsZXIuY3BwICovLAogCQkJCUNEMjdGNkUzMTQ1NzY3NTgwMDc4MjA3RCAvKiBKU01l
ZGlhQ29udHJvbGxlci5oICovLAorCQkJCTJEOUJGNzBGMURCRkQ4Q0UwMDdBN0Q5OSAvKiBKU01l
ZGlhRW5jcnlwdGVkRXZlbnQuY3BwICovLAorCQkJCTJEOUJGNzExMURCRkQ5MTQwMDdBN0Q5OSAv
KiBKU01lZGlhRW5jcnlwdGVkRXZlbnQuaCAqLywKIAkJCQlFNDQ2MTQxMDBDRDY4MjY5MDBGQURB
NzUgLyogSlNNZWRpYUVycm9yLmNwcCAqLywKIAkJCQlFNDQ2MTQxMTBDRDY4MjY5MDBGQURBNzUg
LyogSlNNZWRpYUVycm9yLmggKi8sCiAJCQkJQzkwMjZCNjMxQjFDRjVBQjAwMUQ5OUE3IC8qIEpT
TWVkaWFSZW1vdGVDb250cm9scy5jcHAgKi8sCkBAIC0yMTcwMSw2ICsyMTc4Myw4IEBACiAJCQkJ
OEY5MzREODQxMTg5RjFFRTAwNTA4RDVEIC8qIEpTTWFpblRocmVhZEV4ZWNTdGF0ZS5jcHAgKi8s
CiAJCQkJOEY5MzREODMxMTg5RjFFRTAwNTA4RDVEIC8qIEpTTWFpblRocmVhZEV4ZWNTdGF0ZS5o
ICovLAogCQkJCUI1NjU3NkU0MTdEQTU5OUYwMEE1NkJEQyAvKiBKU01haW5UaHJlYWRFeGVjU3Rh
dGVJbnN0cnVtZW50YXRpb24uaCAqLywKKwkJCQkyRDlCRjc0ODFEQkZEREY4MDA3QTdEOTkgLyog
SlNNZWRpYUtleVNlc3Npb25DdXN0b20uY3BwICovLAorCQkJCTJEOUJGNzQ5MURCRkRERjgwMDdB
N0Q5OSAvKiBKU01lZGlhS2V5U3lzdGVtQWNjZXNzQ3VzdG9tLmNwcCAqLywKIAkJCQlDNkY0MjBB
MDE2QjcxNjRFMDA1MkE5RjIgLyogSlNNdXRhdGlvbkNhbGxiYWNrLmNwcCAqLywKIAkJCQlDNkY0
MjBBMTE2QjcxNjRFMDA1MkE5RjIgLyogSlNNdXRhdGlvbkNhbGxiYWNrLmggKi8sCiAJCQkJQ0Iz
OEZENTUxQ0QyMUQ1QjAwNTkyQTNGIC8qIEpTUGVyZm9ybWFuY2VFbnRyeUN1c3RvbS5jcHAgKi8s
CkBAIC0yMjQ4Nyw2ICsyMjU3MSwzMyBAQAogCQkJCUNEQ0E5OEU5MThCMkM4RDAwMEMxMkZGOSAv
KiBDRE1Qcml2YXRlTWVkaWFQbGF5ZXIuaCAqLywKIAkJCQlDREU4QjVFRTFBNjk3NzhCMDBCNEI2
NkEgLyogQ0RNU2Vzc2lvbkNsZWFyS2V5LmNwcCAqLywKIAkJCQlDREU4QjVFRjFBNjk3NzhCMDBC
NEI2NkEgLyogQ0RNU2Vzc2lvbkNsZWFyS2V5LmggKi8sCisJCQkJMkQ5QkY3MkYxREJGREMwRjAw
N0E3RDk5IC8qIE1lZGlhS2V5TWVzc2FnZUV2ZW50LmNwcCAqLywKKwkJCQkyRDlCRjczMDFEQkZE
QzBGMDA3QTdEOTkgLyogTWVkaWFLZXlNZXNzYWdlRXZlbnQuaCAqLywKKwkJCQkyRDlCRjZGNTFE
QkZCNzFGMDA3QTdEOTkgLyogTWVkaWFLZXlNZXNzYWdlRXZlbnQuaWRsICovLAorCQkJCTJEOUJG
NzMxMURCRkRDMEYwMDdBN0Q5OSAvKiBNZWRpYUtleU1lc3NhZ2VFdmVudEluaXQuaCAqLywKKwkJ
CQkyRDlCRjczMjFEQkZEQzBGMDA3QTdEOTkgLyogTWVkaWFLZXlNZXNzYWdlVHlwZS5oICovLAor
CQkJCTJEOUJGNzMzMURCRkRDMEYwMDdBN0Q5OSAvKiBNZWRpYUtleXMuY3BwICovLAorCQkJCTJE
OUJGNzM0MURCRkRDMEYwMDdBN0Q5OSAvKiBNZWRpYUtleXMuaCAqLywKKwkJCQkyRDlCRjZGNjFE
QkZCNzFGMDA3QTdEOTkgLyogTWVkaWFLZXlzLmlkbCAqLywKKwkJCQkyRDlCRjczNTFEQkZEQzBG
MDA3QTdEOTkgLyogTWVkaWFLZXlTZXNzaW9uLmNwcCAqLywKKwkJCQkyRDlCRjczNjFEQkZEQzBG
MDA3QTdEOTkgLyogTWVkaWFLZXlTZXNzaW9uLmggKi8sCisJCQkJMkQ5QkY2RjcxREJGQjcxRjAw
N0E3RDk5IC8qIE1lZGlhS2V5U2Vzc2lvbi5pZGwgKi8sCisJCQkJMkQ5QkY3MzcxREJGREMwRjAw
N0E3RDk5IC8qIE1lZGlhS2V5U2Vzc2lvblR5cGUuaCAqLywKKwkJCQkyRDlCRjczODFEQkZEQzBG
MDA3QTdEOTkgLyogTWVkaWFLZXlzUmVxdWlyZW1lbnQuaCAqLywKKwkJCQkyRDlCRjczOTFEQkZE
QzBGMDA3QTdEOTkgLyogTWVkaWFLZXlTdGF0dXMuaCAqLywKKwkJCQkyRDlCRjczQTFEQkZEQzBG
MDA3QTdEOTkgLyogTWVkaWFLZXlTdGF0dXNNYXAuY3BwICovLAorCQkJCTJEOUJGNzNCMURCRkRD
MEYwMDdBN0Q5OSAvKiBNZWRpYUtleVN0YXR1c01hcC5oICovLAorCQkJCTJEOUJGNkY4MURCRkI3
MUYwMDdBN0Q5OSAvKiBNZWRpYUtleVN0YXR1c01hcC5pZGwgKi8sCisJCQkJMkQ5QkY3M0MxREJG
REMwRjAwN0E3RDk5IC8qIE1lZGlhS2V5U3lzdGVtQWNjZXNzLmNwcCAqLywKKwkJCQkyRDlCRjcz
RDFEQkZEQzBGMDA3QTdEOTkgLyogTWVkaWFLZXlTeXN0ZW1BY2Nlc3MuaCAqLywKKwkJCQkyRDlC
RjZGOTFEQkZCNzFGMDA3QTdEOTkgLyogTWVkaWFLZXlTeXN0ZW1BY2Nlc3MuaWRsICovLAorCQkJ
CTJEOUJGNzNFMURCRkRDMEYwMDdBN0Q5OSAvKiBNZWRpYUtleVN5c3RlbUNvbmZpZ3VyYXRpb24u
aCAqLywKKwkJCQkyRDlCRjZGQTFEQkZCNzFGMDA3QTdEOTkgLyogTWVkaWFLZXlTeXN0ZW1Db25m
aWd1cmF0aW9uLmlkbCAqLywKKwkJCQkyRDlCRjczRjFEQkZEQzBGMDA3QTdEOTkgLyogTWVkaWFL
ZXlTeXN0ZW1NZWRpYUNhcGFiaWxpdHkuaCAqLywKKwkJCQkyRDlCRjZGQjFEQkZCNzFGMDA3QTdE
OTkgLyogTWVkaWFLZXlTeXN0ZW1NZWRpYUNhcGFiaWxpdHkuaWRsICovLAorCQkJCTJEOUJGNzQw
MURCRkRDMEYwMDdBN0Q5OSAvKiBOYXZpZ2F0b3JFTUUuY3BwICovLAorCQkJCTJEOUJGNzQxMURC
RkRDMEYwMDdBN0Q5OSAvKiBOYXZpZ2F0b3JFTUUuaCAqLywKKwkJCQkyRDlCRjZGQzFEQkZCNzFG
MDA3QTdEOTkgLyogTmF2aWdhdG9yRU1FLmlkbCAqLywKIAkJCSk7CiAJCQlwYXRoID0gZW5jcnlw
dGVkbWVkaWE7CiAJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwpAQCAtMjI0OTQsNiArMjI2MDUs
MjAgQEAKIAkJQ0RBOThEQ0QxNjAxNTE1QzAwRkVBM0IxIC8qIEVuY3J5cHRlZE1lZGlhICovID0g
ewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKKwkJCQkyRDlCRjcxMzFEQkZE
QUIxMDA3QTdEOTkgLyogSlNNZWRpYUtleU1lc3NhZ2VFdmVudC5jcHAgKi8sCisJCQkJMkQ5QkY3
MTQxREJGREFCMTAwN0E3RDk5IC8qIEpTTWVkaWFLZXlNZXNzYWdlRXZlbnQuaCAqLywKKwkJCQky
RDlCRjcxNTFEQkZEQUIxMDA3QTdEOTkgLyogSlNNZWRpYUtleXMuY3BwICovLAorCQkJCTJEOUJG
NzE2MURCRkRBQjEwMDdBN0Q5OSAvKiBKU01lZGlhS2V5cy5oICovLAorCQkJCTJEOUJGNzE3MURC
RkRBQjEwMDdBN0Q5OSAvKiBKU01lZGlhS2V5U2Vzc2lvbi5jcHAgKi8sCisJCQkJMkQ5QkY3MTgx
REJGREFCMTAwN0E3RDk5IC8qIEpTTWVkaWFLZXlTZXNzaW9uLmggKi8sCisJCQkJMkQ5QkY3MTkx
REJGREFCMTAwN0E3RDk5IC8qIEpTTWVkaWFLZXlTdGF0dXNNYXAuY3BwICovLAorCQkJCTJEOUJG
NzFBMURCRkRBQjEwMDdBN0Q5OSAvKiBKU01lZGlhS2V5U3RhdHVzTWFwLmggKi8sCisJCQkJMkQ5
QkY3MUIxREJGREFCMTAwN0E3RDk5IC8qIEpTTWVkaWFLZXlTeXN0ZW1BY2Nlc3MuY3BwICovLAor
CQkJCTJEOUJGNzFDMURCRkRBQjEwMDdBN0Q5OSAvKiBKU01lZGlhS2V5U3lzdGVtQWNjZXNzLmgg
Ki8sCisJCQkJMkQ5QkY3MUQxREJGREFCMTAwN0E3RDk5IC8qIEpTTWVkaWFLZXlTeXN0ZW1Db25m
aWd1cmF0aW9uLmNwcCAqLywKKwkJCQkyRDlCRjcxRTFEQkZEQUIxMDA3QTdEOTkgLyogSlNNZWRp
YUtleVN5c3RlbUNvbmZpZ3VyYXRpb24uaCAqLywKKwkJCQkyRDlCRjcxRjFEQkZEQUIxMDA3QTdE
OTkgLyogSlNNZWRpYUtleVN5c3RlbU1lZGlhQ2FwYWJpbGl0eS5jcHAgKi8sCisJCQkJMkQ5QkY3
MjAxREJGREFCMTAwN0E3RDk5IC8qIEpTTWVkaWFLZXlTeXN0ZW1NZWRpYUNhcGFiaWxpdHkuaCAq
LywKIAkJCQlDREE5OEQ5QjE2MDEyOEE1MDBGRUEzQjEgLyogSlNXZWJLaXRNZWRpYUtleUVycm9y
LmNwcCAqLywKIAkJCQlDREE5OEQ5QzE2MDEyOEE1MDBGRUEzQjEgLyogSlNXZWJLaXRNZWRpYUtl
eUVycm9yLmggKi8sCiAJCQkJQ0RBOThEREIxNjAyNkExODAwRkVBM0IxIC8qIEpTV2ViS2l0TWVk
aWFLZXlNZXNzYWdlRXZlbnQuY3BwICovLApAQCAtMjU5MjYsNyArMjYwNTEsMTUgQEAKIAkJCQkx
NTczOUJCQjFCNDIwMTJEMDBEMjU4QzEgLyogSlNNZWRpYURldmljZXMuaCBpbiBIZWFkZXJzICov
LAogCQkJCTA3MkE3MDQzMUQ3Mzk2QjMwMERGMEFGQyAvKiBKU01lZGlhRGV2aWNlc0N1c3RvbS5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJRkQyM0ExMjYxM0Y1RkE1OTAwRjY3MDAxIC8qIEpTTWVkaWFF
bGVtZW50QXVkaW9Tb3VyY2VOb2RlLmggaW4gSGVhZGVycyAqLywKKwkJCQkyRDlCRjcxMjFEQkZE
OTE0MDA3QTdEOTkgLyogSlNNZWRpYUVuY3J5cHRlZEV2ZW50LmggaW4gSGVhZGVycyAqLywKIAkJ
CQlFNDQ2MTQxOTBDRDY4MjY5MDBGQURBNzUgLyogSlNNZWRpYUVycm9yLmggaW4gSGVhZGVycyAq
LywKKwkJCQkyRDlCRjcyODFEQkZEQjBEMDA3QTdEOTkgLyogSlNNZWRpYUtleU1lc3NhZ2VFdmVu
dC5oIGluIEhlYWRlcnMgKi8sCisJCQkJMkQ5QkY3MjkxREJGREIxMDAwN0E3RDk5IC8qIEpTTWVk
aWFLZXlzLmggaW4gSGVhZGVycyAqLywKKwkJCQkyRDlCRjcyQTFEQkZEQjEzMDA3QTdEOTkgLyog
SlNNZWRpYUtleVNlc3Npb24uaCBpbiBIZWFkZXJzICovLAorCQkJCTJEOUJGNzJCMURCRkRCMTUw
MDdBN0Q5OSAvKiBKU01lZGlhS2V5U3RhdHVzTWFwLmggaW4gSGVhZGVycyAqLywKKwkJCQkyRDlC
RjcyQzFEQkZEQjE3MDA3QTdEOTkgLyogSlNNZWRpYUtleVN5c3RlbUFjY2Vzcy5oIGluIEhlYWRl
cnMgKi8sCisJCQkJMkQ5QkY3MkQxREJGREIxOTAwN0E3RDk5IC8qIEpTTWVkaWFLZXlTeXN0ZW1D
b25maWd1cmF0aW9uLmggaW4gSGVhZGVycyAqLywKKwkJCQkyRDlCRjcyRTFEQkZEQjFDMDA3QTdE
OTkgLyogSlNNZWRpYUtleVN5c3RlbU1lZGlhQ2FwYWJpbGl0eS5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJQkMzQzM5QjcwQzBEM0Q4RDAwNUY0RDdBIC8qIEpTTWVkaWFMaXN0LmggaW4gSGVhZGVycyAq
LywKIAkJCQk5M0Q0MzdBMzFENTdCN0UyMDBBQjg1RUEgLyogSlNNZWRpYUxpc3RDdXN0b20uaCBp
biBIZWFkZXJzICovLAogCQkJCUQzQTk0QTQ3MTIyREM0MEYwMEEzN0JCQyAvKiBKU01lZGlhUXVl
cnlMaXN0LmggaW4gSGVhZGVycyAqLywKQEAgLTI2Mzk2LDYgKzI2NTI5LDggQEAKIAkJCQk5NzIw
NUFCODEyMzkyOTEwMDBCMTczODAgLyogTWVkaWFEb2N1bWVudC5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJRkQ2RjI1MkQxM0Y1RUYwRTAwNjUxNjVGIC8qIE1lZGlhRWxlbWVudEF1ZGlvU291cmNlTm9k
ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMDdGRTk5REQxODgwN0E3RDAwMjU2NjQ4IC8qIE1lZGlh
RWxlbWVudFNlc3Npb24uaCBpbiBIZWFkZXJzICovLAorCQkJCTJEOUJGNzA2MURCRkJCMjQwMDdB
N0Q5OSAvKiBNZWRpYUVuY3J5cHRlZEV2ZW50LmggaW4gSGVhZGVycyAqLywKKwkJCQkyRDlCRjcw
ODFEQkZCQjI0MDA3QTdEOTkgLyogTWVkaWFFbmNyeXB0ZWRFdmVudEluaXQuaCBpbiBIZWFkZXJz
ICovLAogCQkJCTVFQkI4OTM1MUM3Nzc4MjkwMEM2NUQ0MSAvKiBNZWRpYUVuZHBvaW50LmggaW4g
SGVhZGVycyAqLywKIAkJCQk1RUJCODkzNzFDNzc3ODI5MDBDNjVENDEgLyogTWVkaWFFbmRwb2lu
dENvbmZpZ3VyYXRpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCTVFMTZBMkU0MUJGQTY1MEIwMDI5
QTIxRSAvKiBNZWRpYUVuZHBvaW50UGVlckNvbm5lY3Rpb24uaCBpbiBIZWFkZXJzICovLApAQCAt
Mjk2ODUsNyArMjk4MjAsMTcgQEAKIAkJCQkxNTczOUJCQTFCNDIwMTJBMDBEMjU4QzEgLyogSlNN
ZWRpYURldmljZXMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMUI4OEREMTMxRDVCOUU1MDAwRTNC
N0E0IC8qIEpTTWVkaWFEZXZpY2VzQ3VzdG9tLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUZEMjNB
MTI1MTNGNUZBNTkwMEY2NzAwMSAvKiBKU01lZGlhRWxlbWVudEF1ZGlvU291cmNlTm9kZS5jcHAg
aW4gU291cmNlcyAqLywKKwkJCQkyRDlCRjcxMDFEQkZEOENFMDA3QTdEOTkgLyogSlNNZWRpYUVu
Y3J5cHRlZEV2ZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUU0NDYxNDE4MENENjgyNjkwMEZB
REE3NSAvKiBKU01lZGlhRXJyb3IuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMkQ5QkY3MjExREJG
REFCQTAwN0E3RDk5IC8qIEpTTWVkaWFLZXlNZXNzYWdlRXZlbnQuY3BwIGluIFNvdXJjZXMgKi8s
CisJCQkJMkQ5QkY3MjIxREJGREFDQjAwN0E3RDk5IC8qIEpTTWVkaWFLZXlzLmNwcCBpbiBTb3Vy
Y2VzICovLAorCQkJCTJEOUJGNzIzMURCRkRBQ0QwMDdBN0Q5OSAvKiBKU01lZGlhS2V5U2Vzc2lv
bi5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkyRDlCRjc0QTFEQkZEREZGMDA3QTdEOTkgLyogSlNN
ZWRpYUtleVNlc3Npb25DdXN0b20uY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMkQ5QkY3MjQxREJG
REFEMDAwN0E3RDk5IC8qIEpTTWVkaWFLZXlTdGF0dXNNYXAuY3BwIGluIFNvdXJjZXMgKi8sCisJ
CQkJMkQ5QkY3MjUxREJGREFEMzAwN0E3RDk5IC8qIEpTTWVkaWFLZXlTeXN0ZW1BY2Nlc3MuY3Bw
IGluIFNvdXJjZXMgKi8sCisJCQkJMkQ5QkY3NEIxREJGREUwMjAwN0E3RDk5IC8qIEpTTWVkaWFL
ZXlTeXN0ZW1BY2Nlc3NDdXN0b20uY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMkQ5QkY3MjYxREJG
REFENTAwN0E3RDk5IC8qIEpTTWVkaWFLZXlTeXN0ZW1Db25maWd1cmF0aW9uLmNwcCBpbiBTb3Vy
Y2VzICovLAorCQkJCTJEOUJGNzI3MURCRkRBRDgwMDdBN0Q5OSAvKiBKU01lZGlhS2V5U3lzdGVt
TWVkaWFDYXBhYmlsaXR5LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDM0MzOUI2MEMwRDNEOEQw
MDVGNEQ3QSAvKiBKU01lZGlhTGlzdC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlEM0E5NEE0NjEy
MkRDNDBGMDBBMzdCQkMgLyogSlNNZWRpYVF1ZXJ5TGlzdC5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQk3QzUzNDNGQzE3Qjc0QjYzMDA0MjMyRjAgLyogSlNNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyLmNw
cCBpbiBTb3VyY2VzICovLApAQCAtMzAxOTQsMTIgKzMwMzM5LDE4IEBACiAJCQkJOTcyMDVBQjcx
MjM5MjkxMDAwQjE3MzgwIC8qIE1lZGlhRG9jdW1lbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
RkQ2RjI1MkMxM0Y1RUYwRTAwNjUxNjVGIC8qIE1lZGlhRWxlbWVudEF1ZGlvU291cmNlTm9kZS5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQkwN0ZFOTlEQzE4ODA3QTdEMDAyNTY2NDggLyogTWVkaWFF
bGVtZW50U2Vzc2lvbi5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkyRDlCRjcwNTFEQkZCQjI0MDA3
QTdEOTkgLyogTWVkaWFFbmNyeXB0ZWRFdmVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1RUJC
ODkzNDFDNzc3ODI5MDBDNjVENDEgLyogTWVkaWFFbmRwb2ludC5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQk1RUJCODkzNjFDNzc3ODI5MDBDNjVENDEgLyogTWVkaWFFbmRwb2ludENvbmZpZ3VyYXRp
b24uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNUUxNkEyRTUxQkZBNjUwRjAwMjlBMjFFIC8qIE1l
ZGlhRW5kcG9pbnRQZWVyQ29ubmVjdGlvbi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1RTRFQUIw
NTFEMDcxNjZFMDAwNkExODQgLyogTWVkaWFFbmRwb2ludFNlc3Npb25EZXNjcmlwdGlvbi5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQk0RTE5NTkyMTBBMzlEQUJBMDAyMjBGRTUgLyogTWVkaWFGZWF0
dXJlTmFtZXMuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMDdBNkQxRUIxNDkxMTM3NzAwMDUxRDBD
IC8qIE1lZGlhRnJhZ21lbnRVUklQYXJzZXIuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMkQ5QkY3
NDcxREJGREM0OTAwN0E3RDk5IC8qIE1lZGlhS2V5TWVzc2FnZUV2ZW50LmNwcCBpbiBTb3VyY2Vz
ICovLAorCQkJCTJEOUJGNzQ2MURCRkRDNDcwMDdBN0Q5OSAvKiBNZWRpYUtleXMuY3BwIGluIFNv
dXJjZXMgKi8sCisJCQkJMkQ5QkY3NDUxREJGREM0NDAwN0E3RDk5IC8qIE1lZGlhS2V5U2Vzc2lv
bi5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkyRDlCRjc0NDFEQkZEQzQxMDA3QTdEOTkgLyogTWVk
aWFLZXlTdGF0dXNNYXAuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMkQ5QkY3NDMxREJGREMzRTAw
N0E3RDk5IC8qIE1lZGlhS2V5U3lzdGVtQWNjZXNzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE4
RUE4MDA5MEExOTUxNkUwMEE4RUY1RiAvKiBNZWRpYUxpc3QuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJMDcxRTQ5NkUxQUQ1QUEwRDAwOEE1MEI0IC8qIE1lZGlhUGxheWJhY2tUYXJnZXRNYWMubW0g
aW4gU291cmNlcyAqLywKIAkJCQkwNzdCNjQxNjFCOTVGNzAzMDAzRTlBRDUgLyogTWVkaWFQbGF5
YmFja1RhcmdldE1vY2suY3BwIGluIFNvdXJjZXMgKi8sCkBAIC0zMDMwNSw2ICszMDQ1Niw3IEBA
CiAJCQkJOTc5RjQzRDMxMDc1RTQ0QTAwMDBGODNCIC8qIE5hdmlnYXRpb25TY2hlZHVsZXIuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJQTlDNkU1QTUwRDc0NjQ1ODAwNjQ0MkU5IC8qIE5hdmlnYXRv
ci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlFMTI3MTlDQTBFRUVDMjEzMDBGNjEyMTMgLyogTmF2
aWdhdG9yQmFzZS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkyRDlCRjc0MjFEQkZEQzI3MDA3QTdE
OTkgLyogTmF2aWdhdG9yRU1FLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTUxQTRCQjEwMTk1NEQ2
MjcwMEZBNUMyRSAvKiBOYXZpZ2F0b3JHYW1lcGFkLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTk3
MTE0NjAzMTRFRjAwOUEwMDY3NEZEOSAvKiBOYXZpZ2F0b3JHZW9sb2NhdGlvbi5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQk1RUE3MjVENTFBQ0FCRDU3MDBFQUQxN0IgLyogTmF2aWdhdG9yTWVkaWFE
ZXZpY2VzLmNwcCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvQnVmZmVyU291cmNlLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9CdWZm
ZXJTb3VyY2UuaAppbmRleCA1Mzk3NzM4NTJiMzg4ZWFkODc4MTAwNDZkNjZhMTVhZDhiZDU5NzBk
Li4wM2I3Y2M2ZmI5ZmI5YzlkY2Y5MjkxNzEwOTc1YTE0YjhlMjIxNjQxIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9CdWZmZXJTb3VyY2UuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9CdWZmZXJTb3VyY2UuaApAQCAtMzQsMTAgKzM0LDE0IEBAIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgQnVmZmVyU291cmNlIHsKIHB1YmxpYzoKLSAgICBCdWZm
ZXJTb3VyY2UoV1RGOjpWYXJpYW50PFJlZlB0cjxKU0M6OkFycmF5QnVmZmVyVmlldz4sIFJlZlB0
cjxKU0M6OkFycmF5QnVmZmVyPj4mJiB2YXJpYW50KQorICAgIHVzaW5nIFZhcmlhbnRUeXBlID0g
V1RGOjpWYXJpYW50PFJlZlB0cjxKU0M6OkFycmF5QnVmZmVyVmlldz4sIFJlZlB0cjxKU0M6OkFy
cmF5QnVmZmVyPj47CisKKyAgICBCdWZmZXJTb3VyY2UoVmFyaWFudFR5cGUmJiB2YXJpYW50KQog
ICAgICAgICA6IG1fdmFyaWFudChXVEZNb3ZlKHZhcmlhbnQpKQogICAgIHsgfQogCisgICAgY29u
c3QgVmFyaWFudFR5cGUmIHZhcmlhbnQoKSBjb25zdCB7IHJldHVybiBtX3ZhcmlhbnQ7IH0KKwog
ICAgIGNvbnN0IHVpbnQ4X3QqIGRhdGEoKSBjb25zdAogICAgIHsKICAgICAgICAgcmV0dXJuIFdU
Rjo6dmlzaXQoW10oYXV0byYgYnVmZmVyKSAtPiBjb25zdCB1aW50OF90KiB7CkBAIC01Myw3ICs1
Nyw3IEBAIHB1YmxpYzoKICAgICB9CiAKIHByaXZhdGU6Ci0gICAgV1RGOjpWYXJpYW50PFJlZlB0
cjxKU0M6OkFycmF5QnVmZmVyVmlldz4sIFJlZlB0cjxKU0M6OkFycmF5QnVmZmVyPj4gbV92YXJp
YW50OworICAgIFZhcmlhbnRUeXBlIG1fdmFyaWFudDsKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTWVkaWFLZXlT
ZXNzaW9uQ3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTWVkaWFLZXlT
ZXNzaW9uQ3VzdG9tLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hMzcxNTNjYzE3ODE2OTliNzY5OTY5ZjBhYzM1
NjViYWI5NmY1NjI1Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
anMvSlNNZWRpYUtleVNlc3Npb25DdXN0b20uY3BwCkBAIC0wLDAgKzEsNDcgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTYgTWV0cm9sb2dpY2FsIEdyb3VwIEIuVi4KKyAqIENvcHlyaWdodCAo
QykgMjAxNiBJZ2FsaWEgUy5MLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBh
cmUgbWV0OgorICoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiAgICBjb3B5cmln
aHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZworICog
ICAgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkCisgKiAgICB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9S
UworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIEhPTERF
UiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisg
KiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lu
Y2x1ZGUgImNvbmZpZy5oIgorCisjaWYgRU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkKKworI2luY2x1
ZGUgIkpTTWVkaWFLZXlTZXNzaW9uLmgiCisKKyNpbmNsdWRlICJOb3RJbXBsZW1lbnRlZC5oIgor
CituYW1lc3BhY2UgV2ViQ29yZSB7CisKK0pTQzo6SlNWYWx1ZSBKU01lZGlhS2V5U2Vzc2lvbjo6
Y2xvc2VkKEpTQzo6RXhlY1N0YXRlJikgY29uc3QKK3sKKyAgICBub3RJbXBsZW1lbnRlZCgpOwor
ICAgIHJldHVybiBKU0M6OmpzVW5kZWZpbmVkKCk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKKworI2VuZGlmIC8vIEVOQUJMRShFTkNSWVBURURfTUVESUEpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU01lZGlhS2V5U3lzdGVtQWNjZXNzQ3VzdG9tLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTWVkaWFLZXlTeXN0ZW1BY2Nlc3NDdXN0b20u
Y3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjNhZmRlYjEwYTBiMGM5ZTZkZDc1MzFlZDY5ODE2MDE1NDNmZDcxMTQK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU01lZGlhS2V5
U3lzdGVtQWNjZXNzQ3VzdG9tLmNwcApAQCAtMCwwICsxLDQ3IEBACisvKgorICogQ29weXJpZ2h0
IChDKSAyMDE2IE1ldHJvbG9naWNhbCBHcm91cCBCLlYuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTYg
SWdhbGlhIFMuTC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqCisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogICAgY29weXJpZ2h0IG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcKKyAqICAgIGRpc2Ns
YWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZAorICogICAgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJB
UyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBIT0xERVIgT1IgQ09O
VFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
CisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJj
b25maWcuaCIKKworI2lmIEVOQUJMRShFTkNSWVBURURfTUVESUEpCisKKyNpbmNsdWRlICJKU01l
ZGlhS2V5U3lzdGVtQWNjZXNzLmgiCisKKyNpbmNsdWRlICJOb3RJbXBsZW1lbnRlZC5oIgorCitu
YW1lc3BhY2UgV2ViQ29yZSB7CisKK0pTQzo6SlNWYWx1ZSBKU01lZGlhS2V5U3lzdGVtQWNjZXNz
OjpnZXRDb25maWd1cmF0aW9uKEpTQzo6RXhlY1N0YXRlJikKK3sKKyAgICBub3RJbXBsZW1lbnRl
ZCgpOworICAgIHJldHVybiBKU0M6OmpzVW5kZWZpbmVkKCk7Cit9CisKK30gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShFTkNSWVBURURfTUVESUEpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbSBiL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCmluZGV4IGIz
Njg2Y2IyMDQzMTE1MTc1YmYxYzZiOWQ5YjI4ZDg1NTRlYjA3MTUuLjdjM2MyNGQwMzA5OTU0ZGVk
NDY3MTVmNGM0ZmVjOTBkNjM3YWVkODEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL3NjcmlwdHMvQ29kZUdlbmVyYXRvckpTLnBtCkBAIC01MzY2LDYgKzUzNjYsNyBAQCBzdWIg
R2V0TmF0aXZlVmVjdG9ySW5uZXJUeXBlCiAgICAgbXkgJGlubmVyVHlwZU5hbWUgPSAkaW5uZXJU
eXBlLT5uYW1lOwogCiAgICAgcmV0dXJuICRuYXRpdmVUeXBleyRpbm5lclR5cGVOYW1lfSBpZiBl
eGlzdHMgJG5hdGl2ZVR5cGV7JGlubmVyVHlwZU5hbWV9OworICAgIHJldHVybiBHZXREaWN0aW9u
YXJ5Q2xhc3NOYW1lKCRpbm5lclR5cGUpIGlmICRjb2RlR2VuZXJhdG9yLT5Jc0RpY3Rpb25hcnlU
eXBlKCRpbm5lclR5cGUpOwogICAgIHJldHVybiAiUmVmUHRyPCRpbm5lclR5cGVOYW1lPiI7CiB9
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmggYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vRXZlbnROYW1lcy5oCmluZGV4IDQ5MTQ0ZTJkNzhhODg5ODYwYThjM2I2ZWMw
OTY4ZTdmM2Q0NGU3NDkuLmUwN2YxYWQzZjM1YzcxMTc1MzhjZDA0YjkwYWM5NzRjMmQxNWEzN2Yg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvZG9tL0V2ZW50TmFtZXMuaApAQCAtMTAyLDYgKzEwMiw3IEBAIG5hbWVzcGFjZSBX
ZWJDb3JlIHsKICAgICBtYWNybyhkcm9wKSBcCiAgICAgbWFjcm8oZHVyYXRpb25jaGFuZ2UpIFwK
ICAgICBtYWNybyhlbXB0aWVkKSBcCisgICAgbWFjcm8oZW5jcnlwdGVkKSBcCiAgICAgbWFjcm8o
ZW5kKSBcCiAgICAgbWFjcm8oZW5kRXZlbnQpIFwKICAgICBtYWNybyhlbmRlZCkgXApAQCAtMTMw
LDYgKzEzMSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBtYWNybyhpbnZhbGlkKSBcCiAg
ICAgbWFjcm8oa2V5ZG93bikgXAogICAgIG1hY3JvKGtleXByZXNzKSBcCisgICAgbWFjcm8oa2V5
c3RhdHVzZXNjaGFuZ2UpIFwKICAgICBtYWNybyhrZXl1cCkgXAogICAgIG1hY3JvKGxhbmd1YWdl
Y2hhbmdlKSBcCiAgICAgbWFjcm8obGV2ZWxjaGFuZ2UpIFwKQEAgLTIzOCw2ICsyNDAsNyBAQCBu
YW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgbWFjcm8odmlzaWJpbGl0eWNoYW5nZSkgXAogICAgIG1h
Y3JvKHZvbHVtZWNoYW5nZSkgXAogICAgIG1hY3JvKHdhaXRpbmcpIFwKKyAgICBtYWNybyh3YWl0
aW5nZm9ya2V5KSBcCiAgICAgbWFjcm8od2ViZ2xjb250ZXh0Y3JlYXRpb25lcnJvcikgXAogICAg
IG1hY3JvKHdlYmdsY29udGV4dGxvc3QpIFwKICAgICBtYWNybyh3ZWJnbGNvbnRleHRyZXN0b3Jl
ZCkgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50TmFtZXMuaW4gYi9Tb3Vy
Y2UvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5pbgppbmRleCA4YjliYjY3ZTcxYTIyYjY4NGU5MDY5
MjM1Zjg2ZjQ1MjA2OTc4OTY5Li45MWE4NmY1Mjk4MTQwNzg2NWQzMDAxYzFjZDAxMTAzYjM5NGNi
NTFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5pbgorKysgYi9T
b3VyY2UvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5pbgpAQCAtNzAsMyArNzAsNSBAQCBHZXN0dXJl
RXZlbnQgY29uZGl0aW9uYWw9SU9TX0dFU1RVUkVfRVZFTlRTfE1BQ19HRVNUVVJFX0VWRU5UUwog
V2ViS2l0UGxheWJhY2tUYXJnZXRBdmFpbGFiaWxpdHlFdmVudCBjb25kaXRpb25hbD1XSVJFTEVT
U19QTEFZQkFDS19UQVJHRVQKIEdhbWVwYWRFdmVudCBjb25kaXRpb25hbD1HQU1FUEFECiBPdmVy
Y29uc3RyYWluZWRFcnJvckV2ZW50IGNvbmRpdGlvbmFsPU1FRElBX1NUUkVBTQorTWVkaWFFbmNy
eXB0ZWRFdmVudCBjb25kaXRpb25hbD1FTkNSWVBURURfTUVESUEKK01lZGlhS2V5TWVzc2FnZUV2
ZW50IGNvbmRpdGlvbmFsPUVOQ1JZUFRFRF9NRURJQQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvZG9tL0V2ZW50VGFyZ2V0RmFjdG9yeS5pbiBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRh
cmdldEZhY3RvcnkuaW4KaW5kZXggZjc0NzIzMGNmYTg3YmFiNzJmZDhmM2VkOTEzNzc5ZTNiOTlj
YWU5YS4uMWM0NDFlYzgzM2YwZTk2NzFhZjE2OWMzZDI4YjU3MzZjZDQ1MDZmYyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0RmFjdG9yeS5pbgorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9kb20vRXZlbnRUYXJnZXRGYWN0b3J5LmluCkBAIC0xNSw2ICsxNSw3IEBAIElEQk9w
ZW5EQlJlcXVlc3QgY29uZGl0aW9uYWw9SU5ERVhFRF9EQVRBQkFTRQogSURCUmVxdWVzdCBjb25k
aXRpb25hbD1JTkRFWEVEX0RBVEFCQVNFCiBJREJUcmFuc2FjdGlvbiBjb25kaXRpb25hbD1JTkRF
WEVEX0RBVEFCQVNFCiBNZWRpYUNvbnRyb2xsZXIgY29uZGl0aW9uYWw9VklERU8KK01lZGlhS2V5
U2Vzc2lvbiBjb25kaXRpb25hbD1FTkNSWVBURURfTUVESUEKIE1lZGlhUmVtb3RlQ29udHJvbHMg
Y29uZGl0aW9uYWw9TUVESUFfU0VTU0lPTgogTWVkaWFTb3VyY2UgY29uZGl0aW9uYWw9TUVESUFf
U09VUkNFCiBNZWRpYVN0cmVhbSBjb25kaXRpb25hbD1NRURJQV9TVFJFQU0KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCmluZGV4IDgxNjQyMjAzNzM2NmZjYTlmNDkyZDk5
YWJlNGRmODkxNDhiYjllZTQuLjQ2MTMwODdhY2VjZTExZjRjNGJmMTE0MDRkY2EwM2NmZDgxMDdj
NTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcApAQCAtMjQzNyw2
ICsyNDM3LDIwIEBAIHZvaWQgSFRNTE1lZGlhRWxlbWVudDo6a2V5QWRkZWQoKQogCiAjZW5kaWYK
IAorI2lmIEVOQUJMRShFTkNSWVBURURfTUVESUEpCisKK01lZGlhS2V5cyogSFRNTE1lZGlhRWxl
bWVudDo6bWVkaWFLZXlzKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbnVsbHB0cjsKK30KKwordm9p
ZCBIVE1MTWVkaWFFbGVtZW50OjpzZXRNZWRpYUtleXMoTWVkaWFLZXlzKiwgU2V0TWVkaWFLZXlz
UHJvbWlzZSYmKQoreworICAgIG5vdEltcGxlbWVudGVkKCk7Cit9CisKKyNlbmRpZiAvLyBFTkFC
TEUoRU5DUllQVEVEX01FRElBKQorCiB2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OnByb2dyZXNzRXZl
bnRUaW1lckZpcmVkKCkKIHsKICAgICBBU1NFUlQobV9wbGF5ZXIpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9odG1s
L0hUTUxNZWRpYUVsZW1lbnQuaAppbmRleCBkYjRmYTI3YTczYzBjMzlkZTM4NGI0MjI5MTAyZDcx
MDExOTMwZjFjLi43NWIxMjJlOWFkNTE0OGI0ZWZmNzZjNGUwYTc5YTU1ZTI0YzFjZWFjIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaApAQCAtNjksNiArNjksOSBAQCBjbGFz
cyBNZWRpYUNvbnRyb2xzOwogY2xhc3MgTWVkaWFDb250cm9sc0hvc3Q7CiBjbGFzcyBNZWRpYUVs
ZW1lbnRBdWRpb1NvdXJjZU5vZGU7CiBjbGFzcyBNZWRpYUVycm9yOworI2lmIEVOQUJMRShFTkNS
WVBURURfTUVESUEpCitjbGFzcyBNZWRpYUtleXM7CisjZW5kaWYKIGNsYXNzIE1lZGlhUGxheWVy
OwogY2xhc3MgTWVkaWFTZXNzaW9uOwogY2xhc3MgTWVkaWFTb3VyY2U7CkBAIC0yNTUsNiArMjU4
LDEzIEBAIHB1YmxpYzoKICAgICB2b2lkIGtleUFkZGVkKCk7CiAjZW5kaWYKIAorI2lmIEVOQUJM
RShFTkNSWVBURURfTUVESUEpCisgICAgTWVkaWFLZXlzKiBtZWRpYUtleXMoKSBjb25zdDsKKwor
ICAgIHVzaW5nIFNldE1lZGlhS2V5c1Byb21pc2UgPSBET01Qcm9taXNlPHN0ZDo6bnVsbHB0cl90
PjsKKyAgICB2b2lkIHNldE1lZGlhS2V5cyhNZWRpYUtleXMqLCBTZXRNZWRpYUtleXNQcm9taXNl
JiYpOworI2VuZGlmCisKIC8vIGNvbnRyb2xzCiAgICAgV0VCQ09SRV9FWFBPUlQgYm9vbCBjb250
cm9scygpIGNvbnN0OwogICAgIFdFQkNPUkVfRVhQT1JUIHZvaWQgc2V0Q29udHJvbHMoYm9vbCk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaWRsIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmlkbAppbmRleCA3ZGUxZTU0ODA0
Y2ZkYTAxZGNhNDlmZDQyZGViNDJjMzQ5MmVlZTI0Li44OGJmZTRhYTU4YTk5ZjQ5ZDg3MjJiNDcx
NmM2ZDc3MTc3YTZmOWZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRp
YUVsZW1lbnQuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5p
ZGwKQEAgLTkzLDYgKzkzLDEwIEBACiAKICAgICBbQ29uZGl0aW9uYWw9TEVHQUNZX0VOQ1JZUFRF
RF9NRURJQV0gcmVhZG9ubHkgYXR0cmlidXRlIFdlYktpdE1lZGlhS2V5cyB3ZWJraXRLZXlzOwog
ICAgIFtDb25kaXRpb25hbD1MRUdBQ1lfRU5DUllQVEVEX01FRElBXSB2b2lkIHdlYmtpdFNldE1l
ZGlhS2V5cyhXZWJLaXRNZWRpYUtleXM/IG1lZGlhS2V5cyk7CisgICAgW0NvbmRpdGlvbmFsPUVO
Q1JZUFRFRF9NRURJQV0gcmVhZG9ubHkgYXR0cmlidXRlIE1lZGlhS2V5cyBtZWRpYUtleXM7Cisg
ICAgW0NvbmRpdGlvbmFsPUVOQ1JZUFRFRF9NRURJQV0gYXR0cmlidXRlIEV2ZW50SGFuZGxlciBv
bmVuY3J5cHRlZDsKKyAgICBbQ29uZGl0aW9uYWw9RU5DUllQVEVEX01FRElBXSBhdHRyaWJ1dGUg
RXZlbnRIYW5kbGVyIG9ud2FpdGluZ2ZvcmtleTsKKyAgICBbQ29uZGl0aW9uYWw9RU5DUllQVEVE
X01FRElBXSBQcm9taXNlIHNldE1lZGlhS2V5cyhNZWRpYUtleXM/IG1lZGlhS2V5cyk7CiAKICAg
ICBbQ29uZGl0aW9uYWw9VklERU9fVFJBQ0ssIE1heVRocm93RXhjZXB0aW9uXSBUZXh0VHJhY2sg
YWRkVGV4dFRyYWNrKERPTVN0cmluZyBraW5kLCBvcHRpb25hbCBET01TdHJpbmcgbGFiZWwgPSAi
Iiwgb3B0aW9uYWwgRE9NU3RyaW5nIGxhbmd1YWdlID0gIiIpOwogICAgIFtDb25kaXRpb25hbD1W
SURFT19UUkFDS10gcmVhZG9ubHkgYXR0cmlidXRlIEF1ZGlvVHJhY2tMaXN0IGF1ZGlvVHJhY2tz
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUVuY3J5cHRlZEV2ZW50LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFFbmNyeXB0ZWRFdmVudC5jcHAKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMDE3ZTFhMTMxMWMzY2UxODJjZjJkMTYzMGI0YmMxMjdiN2Y4ZjUzYQotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFFbmNyeXB0ZWRFdmVudC5jcHAKQEAgLTAs
MCArMSw2NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNiBNZXRyb2xvZ2ljYWwgR3JvdXAg
Qi5WLgorICogQ29weXJpZ2h0IChDKSAyMDE2IElnYWxpYSBTLkwuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgorICogMS4gUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUKKyAqICAgIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nCisgKiAgICBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQKKyAqICAgIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9M
REVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhF
IENPUFlSSUdIVAorICogSE9MREVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
CisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiTWVkaWFFbmNy
eXB0ZWRFdmVudC5oIgorCisjaWYgRU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkKKworI2luY2x1ZGUg
Ik5vdEltcGxlbWVudGVkLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworTWVkaWFFbmNyeXB0
ZWRFdmVudDo6TWVkaWFFbmNyeXB0ZWRFdmVudChjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUsIGNv
bnN0IE1lZGlhRW5jcnlwdGVkRXZlbnRJbml0JiBpbml0aWFsaXplciwgSXNUcnVzdGVkIGlzVHJ1
c3RlZCkKKyAgICA6IEV2ZW50KHR5cGUsIGluaXRpYWxpemVyLCBpc1RydXN0ZWQpCit7Cit9CisK
K01lZGlhRW5jcnlwdGVkRXZlbnQ6On5NZWRpYUVuY3J5cHRlZEV2ZW50KCkgPSBkZWZhdWx0Owor
CitFdmVudEludGVyZmFjZSBNZWRpYUVuY3J5cHRlZEV2ZW50OjpldmVudEludGVyZmFjZSgpIGNv
bnN0Cit7CisgICAgcmV0dXJuIE1lZGlhRW5jcnlwdGVkRXZlbnRJbnRlcmZhY2VUeXBlOworfQor
CitTdHJpbmcgTWVkaWFFbmNyeXB0ZWRFdmVudDo6aW5pdERhdGFUeXBlKCkKK3sKKyAgICBub3RJ
bXBsZW1lbnRlZCgpOworICAgIHJldHVybiBlbXB0eVN0cmluZygpOworfQorCitBcnJheUJ1ZmZl
ciogTWVkaWFFbmNyeXB0ZWRFdmVudDo6aW5pdERhdGEoKQoreworICAgIG5vdEltcGxlbWVudGVk
KCk7CisgICAgcmV0dXJuIG51bGxwdHI7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKwor
I2VuZGlmIC8vIEVOQUJMRShFTkNSWVBURURfTUVESUEpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9odG1sL01lZGlhRW5jcnlwdGVkRXZlbnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVk
aWFFbmNyeXB0ZWRFdmVudC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjBmMzMzMzcxMjQzZDI3MzIxNDViODg2YzQ0
MjM1YjQwZDRiYjQxNjUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL01l
ZGlhRW5jcnlwdGVkRXZlbnQuaApAQCAtMCwwICsxLDY1IEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDE2IE1ldHJvbG9naWNhbCBHcm91cCBCLlYuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTYgSWdh
bGlhIFMuTC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAq
CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogICAgY29weXJpZ2h0IG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcKKyAqICAgIGRpc2NsYWlt
ZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZAor
ICogICAgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJ
UyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBIT0xERVIgT1IgQ09OVFJJ
QlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisg
KiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQor
CisjaWYgRU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkKKworI2luY2x1ZGUgIkV2ZW50LmgiCisjaW5j
bHVkZSAiTWVkaWFFbmNyeXB0ZWRFdmVudEluaXQuaCIKKworbmFtZXNwYWNlIEpTQyB7CitjbGFz
cyBBcnJheUJ1ZmZlcjsKK30KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBNZWRpYUVu
Y3J5cHRlZEV2ZW50IGZpbmFsIDogcHVibGljIEV2ZW50IHsKK3B1YmxpYzoKKyAgICB1c2luZyBJ
bml0ID0gTWVkaWFFbmNyeXB0ZWRFdmVudEluaXQ7CisKKyAgICBzdGF0aWMgUmVmPE1lZGlhRW5j
cnlwdGVkRXZlbnQ+IGNyZWF0ZShjb25zdCBBdG9taWNTdHJpbmcmIHR5cGUsIGNvbnN0IE1lZGlh
RW5jcnlwdGVkRXZlbnRJbml0JiBpbml0aWFsaXplciwgSXNUcnVzdGVkIGlzVHJ1c3RlZCA9IElz
VHJ1c3RlZDo6Tm8pCisgICAgeworICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBNZWRpYUVu
Y3J5cHRlZEV2ZW50KHR5cGUsIGluaXRpYWxpemVyLCBpc1RydXN0ZWQpKTsKKyAgICB9CisKKyAg
ICB2aXJ0dWFsIH5NZWRpYUVuY3J5cHRlZEV2ZW50KCk7CisKKyAgICBTdHJpbmcgaW5pdERhdGFU
eXBlKCk7CisgICAgSlNDOjpBcnJheUJ1ZmZlciogaW5pdERhdGEoKTsKKworcHJpdmF0ZToKKyAg
ICBNZWRpYUVuY3J5cHRlZEV2ZW50KGNvbnN0IEF0b21pY1N0cmluZyYsIGNvbnN0IE1lZGlhRW5j
cnlwdGVkRXZlbnRJbml0JiwgSXNUcnVzdGVkKTsKKworICAgIC8vIEV2ZW50CisgICAgRXZlbnRJ
bnRlcmZhY2UgZXZlbnRJbnRlcmZhY2UoKSBjb25zdCBvdmVycmlkZTsKK307CisKK30gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShFTkNSWVBURURfTUVESUEpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRW5jcnlwdGVkRXZlbnQuaWRsIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUVuY3J5cHRlZEV2ZW50LmlkbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45N2Rh
MTI5NTZhMmZjN2FiN2Q0ZTk3YjdkNTAzMDZlY2Y5OTE0N2ViCi0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUVuY3J5cHRlZEV2ZW50LmlkbApAQCAtMCwwICsxLDQw
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE2IE1ldHJvbG9naWNhbCBHcm91cCBCLlYuCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTYgSWdhbGlhIFMuTC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQor
ICogICAgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcKKyAqICAgIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZAorICogICAgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFO
RCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElD
VUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJ
R0hUCisgKiBIT0xERVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKK2RpY3Rpb25hcnkgTWVkaWFFbmNyeXB0ZWRFdmVudEluaXQgOiBFdmVudEluaXQg
eworICAgIERPTVN0cmluZyBpbml0RGF0YVR5cGUgPSAiIjsKKyAgICBBcnJheUJ1ZmZlcj8gaW5p
dERhdGEgPSBudWxsOworfTsKKworWworICAgIENvbmRpdGlvbmFsPUVOQ1JZUFRFRF9NRURJQSwK
KyAgICBDb25zdHJ1Y3RvcihET01TdHJpbmcgdHlwZSwgb3B0aW9uYWwgTWVkaWFFbmNyeXB0ZWRF
dmVudEluaXQgZXZlbnRJbml0RGljdCkKK10gaW50ZXJmYWNlIE1lZGlhRW5jcnlwdGVkRXZlbnQg
OiBFdmVudCB7CisgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyBpbml0RGF0YVR5cGU7
CisgICAgcmVhZG9ubHkgYXR0cmlidXRlIEFycmF5QnVmZmVyPyBpbml0RGF0YTsKK307CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRW5jcnlwdGVkRXZlbnRJbml0LmggYi9T
b3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRW5jcnlwdGVkRXZlbnRJbml0LmgKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
YTRlZWJiODcwYTE2ZTBmNzA3ZTE0M2VlZjJlNjBlZTRlYmE1NzUzYwotLS0gL2Rldi9udWxsCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFFbmNyeXB0ZWRFdmVudEluaXQuaApAQCAtMCww
ICsxLDUzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE2IE1ldHJvbG9naWNhbCBHcm91cCBC
LlYuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTYgSWdhbGlhIFMuTC4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZQorICogICAgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcKKyAqICAgIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZAorICogICAgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xE
RVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEg
UEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUg
Q09QWVJJR0hUCisgKiBIT0xERVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwK
KyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaWYgRU5BQkxFKEVOQ1JZUFRFRF9NRURJ
QSkKKworI2luY2x1ZGUgIkV2ZW50LmgiCisjaW5jbHVkZSA8cnVudGltZS9BcnJheUJ1ZmZlci5o
PgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK3N0cnVjdCBNZWRpYUVuY3J5cHRlZEV2ZW50SW5p
dCA6IEV2ZW50SW5pdCB7CisgICAgTWVkaWFFbmNyeXB0ZWRFdmVudEluaXQoKSA9IGRlZmF1bHQ7
CisKKyAgICBNZWRpYUVuY3J5cHRlZEV2ZW50SW5pdChjb25zdCBTdHJpbmcmIGluaXREYXRhVHlw
ZSwgUmVmUHRyPEpTQzo6QXJyYXlCdWZmZXI+JiYgaW5pdERhdGEpCisgICAgICAgIDogRXZlbnRJ
bml0KCkKKyAgICAgICAgLCBpbml0RGF0YVR5cGUoaW5pdERhdGFUeXBlKQorICAgICAgICAsIGlu
aXREYXRhKFdURk1vdmUoaW5pdERhdGEpKQorICAgIHsgfQorCisgICAgU3RyaW5nIGluaXREYXRh
VHlwZTsKKyAgICBSZWZQdHI8SlNDOjpBcnJheUJ1ZmZlcj4gaW5pdERhdGE7Cit9OworCit9IC8v
IG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoRU5DUllQVEVEX01FRElBKQpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggNDIxY2UyODFmZDc3NjA1YzQ0NTUxN2Rl
MGIwYjk3MjhhNzkwMzk3NS4uOTA3NTFlYzBhM2MxNzAzZjE1ODMwMjQyMzZiY2QxYWNmNjM3MjA0
ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZworKysgYi9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTYt
MTEtMDggIFphbiBEb2JlcnNlayAgPHpkb2JlcnNla0BpZ2FsaWEuY29tPgorCisgICAgICAgIFtF
TUVdIEFkZCBuby1vcCBXZWItZmFjaW5nIEFQSXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE2NDAyOAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIEFkZCB0aGUgdGV4dCBiYXNlbGluZSBmb3IgdGhlIHdlYi1w
bGF0Zm9ybS10ZXN0cy9lbmNyeXB0ZWQtbWVkaWEvaWRsaGFybmVzcy5odG1sCisgICAgICAgIHRl
c3QuIEl0J3MgdGhlIG9ubHkgbWVhbmluZ2Z1bCB0ZXN0IHdlIGNhbiBydW4gYXQgdGhlIG1vbWVu
dCwgYW5kIGFsbCBidXQgb25lIG9mCisgICAgICAgIHRoZSBzdWJ0ZXN0cyBwYXNzLgorCisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2VuY3J5cHRlZC1tZWRpYS9pZGxoYXJuZXNzLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisKIDIwMTYtMTEtMDQgIEJyYWR5IEVpZHNvbiAgPGJlaWRzb25AYXBw
bGUuY29tPgogCiAgICAgICAgIEluZGV4ZWREQiAyLjA6IENsZWFuIHVwIG1vcmUgdHJhbnNhY3Rp
b24gYWJvcnQgYW5kIGV4Y2VwdGlvbiB0aHJvd2luZyBiZWhhdmlvciBmcm9tIElEQk9iamVjdFN0
b3JlLgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9lbmNyeXB0ZWQtbWVkaWEvaWRsaGFybmVzcy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2VuY3J5cHRlZC1tZWRpYS9pZGxoYXJu
ZXNzLWV4cGVjdGVkLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xNmRjMzQ1MTZjYzk1YTE2OTRlMTQzMmY5ODlk
YWViZGM5MDIxM2JjCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy9lbmNyeXB0ZWQtbWVkaWEvaWRsaGFybmVzcy1leHBlY3RlZC50
eHQKQEAgLTAsMCArMSw2NiBAQAorRGVzY3JpcHRpb24KKworVGhpcyB0ZXN0IHZlcmlmaWVzIHRo
YXQgaW1wbGVtZW50YXRpb25zIG9mIHRoZSBFbmNyeXB0ZWQgTWVkaWEgRXh0ZW5zaW9ucyBBUEkg
bWF0Y2ggaXRzIFdlYklETCBkZWZpbml0aW9uLgorCisKK1BBU1MgTmF2aWdhdG9yIGludGVyZmFj
ZTogb3BlcmF0aW9uIHJlcXVlc3RNZWRpYUtleVN5c3RlbUFjY2VzcyhET01TdHJpbmcsW29iamVj
dCBPYmplY3RdKSAKK1BBU1MgSFRNTE1lZGlhRWxlbWVudCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBt
ZWRpYUtleXMgCitQQVNTIEhUTUxNZWRpYUVsZW1lbnQgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25l
bmNyeXB0ZWQgCitQQVNTIEhUTUxNZWRpYUVsZW1lbnQgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb253
YWl0aW5nZm9ya2V5IAorUEFTUyBIVE1MTWVkaWFFbGVtZW50IGludGVyZmFjZTogb3BlcmF0aW9u
IHNldE1lZGlhS2V5cyhNZWRpYUtleXMpIAorUEFTUyBNZWRpYUtleVN5c3RlbUFjY2VzcyBpbnRl
cmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0IAorUEFT
UyBNZWRpYUtleVN5c3RlbUFjY2VzcyBpbnRlcmZhY2Ugb2JqZWN0IGxlbmd0aCAKK1BBU1MgTWVk
aWFLZXlTeXN0ZW1BY2Nlc3MgaW50ZXJmYWNlIG9iamVjdCBuYW1lIAorUEFTUyBNZWRpYUtleVN5
c3RlbUFjY2VzcyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZh
Y2UgcHJvdG90eXBlIG9iamVjdCAKK1BBU1MgTWVkaWFLZXlTeXN0ZW1BY2Nlc3MgaW50ZXJmYWNl
OiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3Qn
cyAiY29uc3RydWN0b3IiIHByb3BlcnR5IAorUEFTUyBNZWRpYUtleVN5c3RlbUFjY2VzcyBpbnRl
cmZhY2U6IGF0dHJpYnV0ZSBrZXlTeXN0ZW0gCitQQVNTIE1lZGlhS2V5U3lzdGVtQWNjZXNzIGlu
dGVyZmFjZTogb3BlcmF0aW9uIGdldENvbmZpZ3VyYXRpb24oKSAKK1BBU1MgTWVkaWFLZXlTeXN0
ZW1BY2Nlc3MgaW50ZXJmYWNlOiBvcGVyYXRpb24gY3JlYXRlTWVkaWFLZXlzKCkgCitQQVNTIE1l
ZGlhS2V5cyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ug
b2JqZWN0IAorUEFTUyBNZWRpYUtleXMgaW50ZXJmYWNlIG9iamVjdCBsZW5ndGggCitQQVNTIE1l
ZGlhS2V5cyBpbnRlcmZhY2Ugb2JqZWN0IG5hbWUgCitQQVNTIE1lZGlhS2V5cyBpbnRlcmZhY2U6
IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCAK
K1BBU1MgTWVkaWFLZXlzIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGlu
dGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgImNvbnN0cnVjdG9yIiBwcm9wZXJ0eSAKK1BBU1Mg
TWVkaWFLZXlzIGludGVyZmFjZTogb3BlcmF0aW9uIGNyZWF0ZVNlc3Npb24oTWVkaWFLZXlTZXNz
aW9uVHlwZSkgCitQQVNTIE1lZGlhS2V5cyBpbnRlcmZhY2U6IG9wZXJhdGlvbiBzZXRTZXJ2ZXJD
ZXJ0aWZpY2F0ZShCdWZmZXJTb3VyY2UpIAorUEFTUyBNZWRpYUtleVNlc3Npb24gaW50ZXJmYWNl
OiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdCAKK1BBU1MgTWVk
aWFLZXlTZXNzaW9uIGludGVyZmFjZSBvYmplY3QgbGVuZ3RoIAorUEFTUyBNZWRpYUtleVNlc3Np
b24gaW50ZXJmYWNlIG9iamVjdCBuYW1lIAorUEFTUyBNZWRpYUtleVNlc3Npb24gaW50ZXJmYWNl
OiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3Qg
CitQQVNTIE1lZGlhS2V5U2Vzc2lvbiBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGll
cyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzICJjb25zdHJ1Y3RvciIgcHJvcGVydHkg
CitQQVNTIE1lZGlhS2V5U2Vzc2lvbiBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBzZXNzaW9uSWQgCitQ
QVNTIE1lZGlhS2V5U2Vzc2lvbiBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBleHBpcmF0aW9uIAorRkFJ
TCBNZWRpYUtleVNlc3Npb24gaW50ZXJmYWNlOiBhdHRyaWJ1dGUgY2xvc2VkIGFzc2VydF90aHJv
d3M6IGdldHRpbmcgcHJvcGVydHkgb24gcHJvdG90eXBlIG9iamVjdCBtdXN0IHRocm93IFR5cGVF
cnJvciBmdW5jdGlvbiAiZnVuY3Rpb24gKCkgeworICAgIFtuYXRpdmUgY29kZV0KK30iIGRpZCBu
b3QgdGhyb3cKK1BBU1MgTWVkaWFLZXlTZXNzaW9uIGludGVyZmFjZTogYXR0cmlidXRlIGtleVN0
YXR1c2VzIAorUEFTUyBNZWRpYUtleVNlc3Npb24gaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25rZXlz
dGF0dXNlc2NoYW5nZSAKK1BBU1MgTWVkaWFLZXlTZXNzaW9uIGludGVyZmFjZTogYXR0cmlidXRl
IG9ubWVzc2FnZSAKK1BBU1MgTWVkaWFLZXlTZXNzaW9uIGludGVyZmFjZTogb3BlcmF0aW9uIGdl
bmVyYXRlUmVxdWVzdChET01TdHJpbmcsQnVmZmVyU291cmNlKSAKK1BBU1MgTWVkaWFLZXlTZXNz
aW9uIGludGVyZmFjZTogb3BlcmF0aW9uIGxvYWQoRE9NU3RyaW5nKSAKK1BBU1MgTWVkaWFLZXlT
ZXNzaW9uIGludGVyZmFjZTogb3BlcmF0aW9uIHVwZGF0ZShCdWZmZXJTb3VyY2UpIAorUEFTUyBN
ZWRpYUtleVNlc3Npb24gaW50ZXJmYWNlOiBvcGVyYXRpb24gY2xvc2UoKSAKK1BBU1MgTWVkaWFL
ZXlTZXNzaW9uIGludGVyZmFjZTogb3BlcmF0aW9uIHJlbW92ZSgpIAorUEFTUyBNZWRpYUtleVN0
YXR1c01hcCBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ug
b2JqZWN0IAorUEFTUyBNZWRpYUtleVN0YXR1c01hcCBpbnRlcmZhY2Ugb2JqZWN0IGxlbmd0aCAK
K1BBU1MgTWVkaWFLZXlTdGF0dXNNYXAgaW50ZXJmYWNlIG9iamVjdCBuYW1lIAorUEFTUyBNZWRp
YUtleVN0YXR1c01hcCBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRl
cmZhY2UgcHJvdG90eXBlIG9iamVjdCAKK1BBU1MgTWVkaWFLZXlTdGF0dXNNYXAgaW50ZXJmYWNl
OiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3Qn
cyAiY29uc3RydWN0b3IiIHByb3BlcnR5IAorUEFTUyBNZWRpYUtleVN0YXR1c01hcCBpbnRlcmZh
Y2U6IGF0dHJpYnV0ZSBzaXplIAorUEFTUyBNZWRpYUtleVN0YXR1c01hcCBpbnRlcmZhY2U6IG9w
ZXJhdGlvbiBoYXMoQnVmZmVyU291cmNlKSAKK1BBU1MgTWVkaWFLZXlTdGF0dXNNYXAgaW50ZXJm
YWNlOiBvcGVyYXRpb24gZ2V0KEJ1ZmZlclNvdXJjZSkgCitQQVNTIE1lZGlhS2V5TWVzc2FnZUV2
ZW50IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmpl
Y3QgCitQQVNTIE1lZGlhS2V5TWVzc2FnZUV2ZW50IGludGVyZmFjZSBvYmplY3QgbGVuZ3RoIAor
UEFTUyBNZWRpYUtleU1lc3NhZ2VFdmVudCBpbnRlcmZhY2Ugb2JqZWN0IG5hbWUgCitQQVNTIE1l
ZGlhS2V5TWVzc2FnZUV2ZW50IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9m
IGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0IAorUEFTUyBNZWRpYUtleU1lc3NhZ2VFdmVudCBp
bnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBl
IG9iamVjdCdzICJjb25zdHJ1Y3RvciIgcHJvcGVydHkgCitQQVNTIE1lZGlhS2V5TWVzc2FnZUV2
ZW50IGludGVyZmFjZTogYXR0cmlidXRlIG1lc3NhZ2VUeXBlIAorUEFTUyBNZWRpYUtleU1lc3Nh
Z2VFdmVudCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBtZXNzYWdlIAorUEFTUyBNZWRpYUVuY3J5cHRl
ZEV2ZW50IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBv
YmplY3QgCitQQVNTIE1lZGlhRW5jcnlwdGVkRXZlbnQgaW50ZXJmYWNlIG9iamVjdCBsZW5ndGgg
CitQQVNTIE1lZGlhRW5jcnlwdGVkRXZlbnQgaW50ZXJmYWNlIG9iamVjdCBuYW1lIAorUEFTUyBN
ZWRpYUVuY3J5cHRlZEV2ZW50IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9m
IGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0IAorUEFTUyBNZWRpYUVuY3J5cHRlZEV2ZW50IGlu
dGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUg
b2JqZWN0J3MgImNvbnN0cnVjdG9yIiBwcm9wZXJ0eSAKK1BBU1MgTWVkaWFFbmNyeXB0ZWRFdmVu
dCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBpbml0RGF0YVR5cGUgCitQQVNTIE1lZGlhRW5jcnlwdGVk
RXZlbnQgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgaW5pdERhdGEgCisK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>294348</attachid>
            <date>2016-11-10 01:29:00 -0800</date>
            <delta_ts>2016-11-10 03:22:52 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-164028-20161110012447.patch</filename>
            <type>text/plain</type>
            <size>127127</size>
            <attacher name="Zan Dobersek">zan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA4NTMwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2FmNjI0YWVmOTE3MmQy
NmY3OGI5NTU0Nzg4NWIzOGIwOGI1NjAzYi4uNzdhYTkyNWY4NjExZTg2YmMwYmU0NmNiMGNiMzRk
YzM2YjQxZTk1YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDExNyBAQAorMjAxNi0xMS0xMCAgWmFu
IERvYmVyc2VrICA8emRvYmVyc2VrQGlnYWxpYS5jb20+CisKKyAgICAgICAgW0VNRV0gQWRkIG5v
LW9wIFdlYi1mYWNpbmcgQVBJcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTY0MDI4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgSmVyIE5vYmxlLgorCisg
ICAgICAgIEFkZCBuby1vcCBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgV2ViLWZhY2luZyBBUElzIGFz
IGRlZmluZWQgaW4KKyAgICAgICAgdGhlIEVNRSBzcGVjaWZpY2F0aW9uLiBUaGlzIHdpbGwgYmUg
dGhlIGJhc2lzIGZvciBpbXBsZW1lbnRpbmcKKyAgICAgICAgdGhlIHZhcmlvdXMgYWxnb3JpdGht
cyB0aGUgc2FtZSBzcGVjaWZpY2F0aW9uIGRlZmluZXMsIGFuZCBmb3IKKyAgICAgICAgaW1wbGVt
ZW50aW5nIHRoZSByZWxldmFudCBwbGF0Zm9ybSBhYnN0cmFjdGlvbnMuCisKKyAgICAgICAgRGlj
dGlvbmFyaWVzIGFuZCBlbnVtZXJhdGlvbnMgZGVmaW5lZCBieSB0aGUgc3BlY2lmaWNhdGlvbiBh
cmUKKyAgICAgICAgZGVmaW5lZCBpbiBzZXBhcmF0ZSBoZWFkZXJzLCBhbmQgbm90IGluIHRoZSBp
bXBsZW1lbnRhdGlvbiBmaWxlcworICAgICAgICBmb3IgdGhlIGNsYXNzIHdoZXJlIHRoZXkgYXJl
IHVzZWQuIFRoaXMgd2lsbCBlYXNlIHRoZWlyIHVzZQorICAgICAgICBhY3Jvc3MgZGlmZmVyZW50
IGltcGxlbWVudGF0aW9uIGZpbGVzLgorCisgICAgICAgIEJ1ZmZlclNvdXJjZSBub3cgZXhwb3Nl
cyB0aGUgVmFyaWFudCBvYmplY3QgaXQgaG9sZHMuIFRoaXMgaXMKKyAgICAgICAgbmVlZGVkIHRv
IHN1cHBvcnQgdGhlIGl0ZXJhYmxlIHByb3BlcnR5IG9uIHRoZSBNZWRpYUtleVN0YXR1c01hcAor
ICAgICAgICBjbGFzcy4KKworICAgICAgICBDb2RlR2VuZXJhdG9ySlMgaXMgZml4ZWQgdG8gc3Vw
cG9ydCBKUy10by1uYXRpdmUgY29udmVyc2lvbiBvZgorICAgICAgICBzZXF1ZW5jZXMgb2YgZGlj
dGlvbmFyaWVzLgorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICogRGVyaXZl
ZFNvdXJjZXMuY3BwOgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6CisgICAgICAgICog
TW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleU1lc3NhZ2VFdmVudC5jcHA6IEFkZGVkLgor
ICAgICAgICAoV2ViQ29yZTo6TWVkaWFLZXlNZXNzYWdlRXZlbnQ6Ok1lZGlhS2V5TWVzc2FnZUV2
ZW50KToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhS2V5TWVzc2FnZUV2ZW50OjpldmVudEludGVy
ZmFjZSk6CisgICAgICAgICogTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleU1lc3NhZ2VF
dmVudC5oOiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5
TWVzc2FnZUV2ZW50LmlkbDogQWRkZWQuCisgICAgICAgICogTW9kdWxlcy9lbmNyeXB0ZWRtZWRp
YS9NZWRpYUtleU1lc3NhZ2VFdmVudEluaXQuaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpN
ZWRpYUtleU1lc3NhZ2VFdmVudEluaXQ6Ok1lZGlhS2V5TWVzc2FnZUV2ZW50SW5pdCk6CisgICAg
ICAgICogTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleU1lc3NhZ2VUeXBlLmg6IEFkZGVk
LgorICAgICAgICAqIE1vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlTZXNzaW9uLmNwcDog
QWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpNZWRpYUtleVNlc3Npb246OmNyZWF0ZSk6CisgICAg
ICAgIChXZWJDb3JlOjpNZWRpYUtleVNlc3Npb246Ok1lZGlhS2V5U2Vzc2lvbik6CisgICAgICAg
IChXZWJDb3JlOjpNZWRpYUtleVNlc3Npb246OnNlc3Npb25JZCk6CisgICAgICAgIChXZWJDb3Jl
OjpNZWRpYUtleVNlc3Npb246OmV4cGlyYXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFL
ZXlTZXNzaW9uOjprZXlTdGF0dXNlcyk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUtleVNlc3Np
b246OmdlbmVyYXRlUmVxdWVzdCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUtleVNlc3Npb246
OmxvYWQpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFLZXlTZXNzaW9uOjp1cGRhdGUpOgorICAg
ICAgICAoV2ViQ29yZTo6TWVkaWFLZXlTZXNzaW9uOjpjbG9zZSk6CisgICAgICAgIChXZWJDb3Jl
OjpNZWRpYUtleVNlc3Npb246OnJlbW92ZSk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUtleVNl
c3Npb246Omhhc1BlbmRpbmdBY3Rpdml0eSk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUtleVNl
c3Npb246OmFjdGl2ZURPTU9iamVjdE5hbWUpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFLZXlT
ZXNzaW9uOjpjYW5TdXNwZW5kRm9yRG9jdW1lbnRTdXNwZW5zaW9uKToKKyAgICAgICAgKFdlYkNv
cmU6Ok1lZGlhS2V5U2Vzc2lvbjo6c3RvcCk6CisgICAgICAgICogTW9kdWxlcy9lbmNyeXB0ZWRt
ZWRpYS9NZWRpYUtleVNlc3Npb24uaDogQWRkZWQuCisgICAgICAgICogTW9kdWxlcy9lbmNyeXB0
ZWRtZWRpYS9NZWRpYUtleVNlc3Npb24uaWRsOiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL2Vu
Y3J5cHRlZG1lZGlhL01lZGlhS2V5U2Vzc2lvblR5cGUuaDogQWRkZWQuCisgICAgICAgICogTW9k
dWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVN0YXR1cy5oOiBBZGRlZC4KKyAgICAgICAgKiBN
b2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U3RhdHVzTWFwLmNwcDogQWRkZWQuCisgICAg
ICAgIChXZWJDb3JlOjpNZWRpYUtleVN0YXR1c01hcDo6c2l6ZSk6CisgICAgICAgIChXZWJDb3Jl
OjpNZWRpYUtleVN0YXR1c01hcDo6aGFzKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhS2V5U3Rh
dHVzTWFwOjpnZXQpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFLZXlTdGF0dXNNYXA6Okl0ZXJh
dG9yOjpJdGVyYXRvcik6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUtleVN0YXR1c01hcDo6SXRl
cmF0b3I6Om5leHQpOgorICAgICAgICAqIE1vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlT
dGF0dXNNYXAuaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpNZWRpYUtleVN0YXR1c01hcDo6
Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhS2V5U3RhdHVzTWFwOjpjcmVhdGVJdGVy
YXRvcik6CisgICAgICAgICogTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVN0YXR1c01h
cC5pZGw6IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlT
eXN0ZW1BY2Nlc3MuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhS2V5U3lzdGVt
QWNjZXNzOjprZXlTeXN0ZW0pOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFLZXlTeXN0ZW1BY2Nl
c3M6OmdldENvbmZpZ3VyYXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFLZXlTeXN0ZW1B
Y2Nlc3M6OmNyZWF0ZU1lZGlhS2V5cyk6CisgICAgICAgICogTW9kdWxlcy9lbmNyeXB0ZWRtZWRp
YS9NZWRpYUtleVN5c3RlbUFjY2Vzcy5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlh
S2V5U3lzdGVtQWNjZXNzOjpjcmVhdGUpOgorICAgICAgICAqIE1vZHVsZXMvZW5jcnlwdGVkbWVk
aWEvTWVkaWFLZXlTeXN0ZW1BY2Nlc3MuaWRsOiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL2Vu
Y3J5cHRlZG1lZGlhL01lZGlhS2V5U3lzdGVtQ29uZmlndXJhdGlvbi5oOiBBZGRlZC4KKyAgICAg
ICAgKiBNb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U3lzdGVtQ29uZmlndXJhdGlvbi5p
ZGw6IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlTeXN0
ZW1NZWRpYUNhcGFiaWxpdHkuaDogQWRkZWQuCisgICAgICAgICogTW9kdWxlcy9lbmNyeXB0ZWRt
ZWRpYS9NZWRpYUtleVN5c3RlbU1lZGlhQ2FwYWJpbGl0eS5pZGw6IEFkZGVkLgorICAgICAgICAq
IE1vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlzLmNwcDogQWRkZWQuCisgICAgICAgIChX
ZWJDb3JlOjpNZWRpYUtleXM6OmNyZWF0ZVNlc3Npb24pOgorICAgICAgICAoV2ViQ29yZTo6TWVk
aWFLZXlzOjpzZXRTZXJ2ZXJDZXJ0aWZpY2F0ZSk6CisgICAgICAgICogTW9kdWxlcy9lbmNyeXB0
ZWRtZWRpYS9NZWRpYUtleXMuaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpNZWRpYUtleXM6
OmNyZWF0ZSk6CisgICAgICAgICogTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleXMuaWRs
OiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5c1JlcXVp
cmVtZW50Lmg6IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTmF2aWdh
dG9yRU1FLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpOYXZpZ2F0b3JFTUU6OnJlcXVl
c3RNZWRpYUtleVN5c3RlbUFjY2Vzcyk6CisgICAgICAgICogTW9kdWxlcy9lbmNyeXB0ZWRtZWRp
YS9OYXZpZ2F0b3JFTUUuaDogQWRkZWQuCisgICAgICAgICogTW9kdWxlcy9lbmNyeXB0ZWRtZWRp
YS9OYXZpZ2F0b3JFTUUuaWRsOiBBZGRlZC4KKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2o6CisgICAgICAgICogYmluZGluZ3MvanMvQnVmZmVyU291cmNlLmg6Cisg
ICAgICAgIChXZWJDb3JlOjpCdWZmZXJTb3VyY2U6OkJ1ZmZlclNvdXJjZSk6CisgICAgICAgIChX
ZWJDb3JlOjpCdWZmZXJTb3VyY2U6OnZhcmlhbnQpOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pT
TWVkaWFLZXlTZXNzaW9uQ3VzdG9tLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpKU01l
ZGlhS2V5U2Vzc2lvbjo6Y2xvc2VkKToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU01lZGlhS2V5
U3lzdGVtQWNjZXNzQ3VzdG9tLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpKU01lZGlh
S2V5U3lzdGVtQWNjZXNzOjpnZXRDb25maWd1cmF0aW9uKToKKyAgICAgICAgKiBiaW5kaW5ncy9z
Y3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbToKKyAgICAgICAgKEdldE5hdGl2ZVZlY3RvcklubmVy
VHlwZSk6CisgICAgICAgICogZG9tL0V2ZW50TmFtZXMuaDoKKyAgICAgICAgKiBkb20vRXZlbnRO
YW1lcy5pbjoKKyAgICAgICAgKiBkb20vRXZlbnRUYXJnZXRGYWN0b3J5LmluOgorICAgICAgICAq
IGh0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFF
bGVtZW50OjptZWRpYUtleXMpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6
c2V0TWVkaWFLZXlzKToKKyAgICAgICAgKiBodG1sL0hUTUxNZWRpYUVsZW1lbnQuaDoKKyAgICAg
ICAgKiBodG1sL0hUTUxNZWRpYUVsZW1lbnQuaWRsOgorICAgICAgICAqIGh0bWwvTWVkaWFFbmNy
eXB0ZWRFdmVudC5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFFbmNyeXB0ZWRF
dmVudDo6TWVkaWFFbmNyeXB0ZWRFdmVudCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUVuY3J5
cHRlZEV2ZW50OjpldmVudEludGVyZmFjZSk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUVuY3J5
cHRlZEV2ZW50Ojppbml0RGF0YVR5cGUpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFFbmNyeXB0
ZWRFdmVudDo6aW5pdERhdGEpOgorICAgICAgICAqIGh0bWwvTWVkaWFFbmNyeXB0ZWRFdmVudC5o
OiBBZGRlZC4KKyAgICAgICAgKiBodG1sL01lZGlhRW5jcnlwdGVkRXZlbnQuaWRsOiBBZGRlZC4K
KyAgICAgICAgKiBodG1sL01lZGlhRW5jcnlwdGVkRXZlbnRJbml0Lmg6IEFkZGVkLgorICAgICAg
ICAoV2ViQ29yZTo6TWVkaWFFbmNyeXB0ZWRFdmVudEluaXQ6Ok1lZGlhRW5jcnlwdGVkRXZlbnRJ
bml0KToKKwogMjAxNi0xMS0xMCAgQWxlamFuZHJvIEcuIENhc3RybyAgPGFsZXhAaWdhbGlhLmNv
bT4KIAogICAgICAgICBbV2ViUlRDXSBbT3BlbldlYlJUQ10gUlRYIGRlZmF1bHQgcGFyYW1ldGVy
cyBicm9rZW4gYWZ0ZXIgcjIwNzk1MgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ01ha2VM
aXN0cy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCBlNTlkYTNkOTQ5
ZjdlMWJjYmMxMDY1MGNjZjEwN2ExYzdmMzFlN2Y0Li43MDhiZWVjM2ZmYTYwZmU1MmZmZjliMTky
OWYwOTEwOTEyODQzZWUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4
dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtMTE2MSw2ICsxMTYxLDgg
QEAgc2V0KFdlYkNvcmVfU09VUkNFUwogICAgIGJpbmRpbmdzL2pzL0pTTG9jYXRpb25DdXN0b20u
Y3BwCiAgICAgYmluZGluZ3MvanMvSlNNYWluVGhyZWFkRXhlY1N0YXRlLmNwcAogICAgIGJpbmRp
bmdzL2pzL0pTTWVkaWFEZXZpY2VzQ3VzdG9tLmNwcAorICAgIGJpbmRpbmdzL2pzL0pTTWVkaWFL
ZXlTZXNzaW9uQ3VzdG9tLmNwcAorICAgIGJpbmRpbmdzL2pzL0pTTWVkaWFLZXlTeXN0ZW1BY2Nl
c3NDdXN0b20uY3BwCiAgICAgYmluZGluZ3MvanMvSlNNZWRpYVN0cmVhbVRyYWNrQ3VzdG9tLmNw
cAogICAgIGJpbmRpbmdzL2pzL0pTTWVkaWFUcmFja1N1cHBvcnRlZENvbnN0cmFpbnRzQ3VzdG9t
LmNwcAogICAgIGJpbmRpbmdzL2pzL0pTTWVzc2FnZUNoYW5uZWxDdXN0b20uY3BwCkBAIC0zMDQx
LDYgKzMwNDMsMzMgQEAgaWYgKEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVEX01FRElBKQogICAgICkK
IGVuZGlmICgpCiAKK2lmIChFTkFCTEVfRU5DUllQVEVEX01FRElBKQorICAgIGxpc3QoQVBQRU5E
IFdlYkNvcmVfU09VUkNFUworICAgICAgICBNb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5
TWVzc2FnZUV2ZW50LmNwcAorICAgICAgICBNb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5
U2Vzc2lvbi5jcHAKKyAgICAgICAgTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVN0YXR1
c01hcC5jcHAKKyAgICAgICAgTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVN5c3RlbUFj
Y2Vzcy5jcHAKKyAgICAgICAgTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleXMuY3BwCisg
ICAgICAgIE1vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTmF2aWdhdG9yRU1FLmNwcAorCisgICAgICAg
IGh0bWwvTWVkaWFFbmNyeXB0ZWRFdmVudC5jcHAKKyAgICApCisgICAgbGlzdChBUFBFTkQgV2Vi
Q29yZV9JRExfRklMRVMKKyAgICApCisgICAgbGlzdChBUFBFTkQgV2ViQ29yZV9JRExfRklMRVMK
KyAgICAgICAgTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleU1lc3NhZ2VFdmVudC5pZGwK
KyAgICAgICAgTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVNlc3Npb24uaWRsCisgICAg
ICAgIE1vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlTdGF0dXNNYXAuaWRsCisgICAgICAg
IE1vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlTeXN0ZW1BY2Nlc3MuaWRsCisgICAgICAg
IE1vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlTeXN0ZW1Db25maWd1cmF0aW9uLmlkbAor
ICAgICAgICBNb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U3lzdGVtTWVkaWFDYXBhYmls
aXR5LmlkbAorICAgICAgICBNb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5cy5pZGwKKyAg
ICAgICAgTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9OYXZpZ2F0b3JFTUUuaWRsCisKKyAgICAgICAg
aHRtbC9NZWRpYUVuY3J5cHRlZEV2ZW50LmlkbAorICAgICkKK2VuZGlmICgpCisKIGxpc3QoQVBQ
RU5EIFdlYkNvcmVfQ1NTX1ZBTFVFX0tFWVdPUkRTCiAgICAgJHtXRUJDT1JFX0RJUn0vY3NzL1NW
R0NTU1ZhbHVlS2V5d29yZHMuaW4KICkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2
ZWRTb3VyY2VzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcAppbmRleCA5
ZmYxYmEyYTQ3ZGE0ODA4NTUzZjE3ZmY3M2RiNjMzYzg3NTE5YjE1Li4wMDJlNThkNDMxZmU4YTY3
Nzk3ZTY2YWUyYzYwZjQ4NzkxOWMxMDYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJp
dmVkU291cmNlcy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwCkBA
IC0zMjYsNiArMzI2LDE1IEBACiAjaW5jbHVkZSAiSlNNZWRpYUVsZW1lbnRBdWRpb1NvdXJjZU5v
ZGUuY3BwIgogI2VuZGlmCiAjaW5jbHVkZSAiSlNNZWRpYUVycm9yLmNwcCIKKyNpZiBFTkFCTEUo
RU5DUllQVEVEX01FRElBKQorI2luY2x1ZGUgIkpTTWVkaWFLZXlNZXNzYWdlRXZlbnQuY3BwIgor
I2luY2x1ZGUgIkpTTWVkaWFLZXlTZXNzaW9uLmNwcCIKKyNpbmNsdWRlICJKU01lZGlhS2V5U3Rh
dHVzTWFwLmNwcCIKKyNpbmNsdWRlICJKU01lZGlhS2V5U3lzdGVtQWNjZXNzLmNwcCIKKyNpbmNs
dWRlICJKU01lZGlhS2V5U3lzdGVtQ29uZmlndXJhdGlvbi5jcHAiCisjaW5jbHVkZSAiSlNNZWRp
YUtleVN5c3RlbU1lZGlhQ2FwYWJpbGl0eS5jcHAiCisjaW5jbHVkZSAiSlNNZWRpYUtleXMuY3Bw
IgorI2VuZGlmCiAjaW5jbHVkZSAiSlNNZWRpYUxpc3QuY3BwIgogI2luY2x1ZGUgIkpTTWVkaWFR
dWVyeUxpc3QuY3BwIgogI2luY2x1ZGUgIkpTTWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5jcHAiCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlIGIvU291cmNlL1dl
YkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQppbmRleCAyOTAzMGFjNjBjMGUxYjgzODQzNmIwNDQx
YjNiNDk1OGM0NzkzYTViLi40ZjQ4YmM1ZWM1MWVlMjdkNWMwZGIzZmY0OTNjNmUwYzM1NDZmZmFl
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKQEAgLTMwLDYgKzMwLDcgQEAgVlBBVEgg
PSBcCiAgICAgJChXZWJDb3JlKSBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2FpcnBsYXkgXAog
ICAgICQoV2ViQ29yZSkvTW9kdWxlcy9hcHBsZXBheSBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVz
L2VuY3J5cHRlZG1lZGlhIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEv
bGVnYWN5IFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvZmV0Y2ggXAogICAgICQoV2ViQ29yZSkv
TW9kdWxlcy9nYW1lcGFkIFwKQEAgLTgzLDYgKzg0LDE0IEBAIEpTX0JJTkRJTkdfSURMUyA9IFwK
ICAgICAkKFdlYkNvcmUpL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlTaGlwcGluZ0NvbnRhY3RT
ZWxlY3RlZEV2ZW50LmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxl
UGF5U2hpcHBpbmdNZXRob2RTZWxlY3RlZEV2ZW50LmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1
bGVzL2FwcGxlcGF5L0FwcGxlUGF5VmFsaWRhdGVNZXJjaGFudEV2ZW50LmlkbCBcCisgICAgJChX
ZWJDb3JlKS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5TWVzc2FnZUV2ZW50LmlkbCBc
CisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U2Vzc2lvbi5p
ZGwgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVN0YXR1
c01hcC5pZGwgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtl
eVN5c3RlbUFjY2Vzcy5pZGwgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9lbmNyeXB0ZWRtZWRp
YS9NZWRpYUtleVN5c3RlbUNvbmZpZ3VyYXRpb24uaWRsIFwKKyAgICAkKFdlYkNvcmUpL01vZHVs
ZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlTeXN0ZW1NZWRpYUNhcGFiaWxpdHkuaWRsIFwKKyAg
ICAkKFdlYkNvcmUpL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlzLmlkbCBcCisgICAg
JChXZWJDb3JlKS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL05hdmlnYXRvckVNRS5pZGwgXAogICAg
ICQoV2ViQ29yZSkvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9sZWdhY3kvV2ViS2l0TWVkaWFLZXlN
ZXNzYWdlRXZlbnQuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEv
bGVnYWN5L1dlYktpdE1lZGlhS2V5TmVlZGVkRXZlbnQuaWRsIFwKICAgICAkKFdlYkNvcmUpL01v
ZHVsZXMvZW5jcnlwdGVkbWVkaWEvbGVnYWN5L1dlYktpdE1lZGlhS2V5U2Vzc2lvbi5pZGwgXApA
QCAtNDYyLDYgKzQ3MSw3IEBAIEpTX0JJTkRJTkdfSURMUyA9IFwKICAgICAkKFdlYkNvcmUpL2h0
bWwvSFRNTFZpZGVvRWxlbWVudC5pZGwgXAogICAgICQoV2ViQ29yZSkvaHRtbC9JbWFnZURhdGEu
aWRsIFwKICAgICAkKFdlYkNvcmUpL2h0bWwvTWVkaWFDb250cm9sbGVyLmlkbCBcCisgICAgJChX
ZWJDb3JlKS9odG1sL01lZGlhRW5jcnlwdGVkRXZlbnQuaWRsIFwKICAgICAkKFdlYkNvcmUpL2h0
bWwvTWVkaWFFcnJvci5pZGwgXAogICAgICQoV2ViQ29yZSkvaHRtbC9SYWRpb05vZGVMaXN0Lmlk
bCBcCiAgICAgJChXZWJDb3JlKS9odG1sL1RleHRNZXRyaWNzLmlkbCBcCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5TWVzc2FnZUV2ZW50
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlNZXNz
YWdlRXZlbnQuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjYyYjVkNTNlMGFmYzQ1MDkwN2M3MTAzMmZmMTE3Njdj
NDU3YjUzMGEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5
cHRlZG1lZGlhL01lZGlhS2V5TWVzc2FnZUV2ZW50LmNwcApAQCAtMCwwICsxLDU0IEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDE2IE1ldHJvbG9naWNhbCBHcm91cCBCLlYuCisgKiBDb3B5cmln
aHQgKEMpIDIwMTYgSWdhbGlhIFMuTC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwor
ICogYXJlIG1ldDoKKyAqCisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogICAgY29w
eXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcK
KyAqICAgIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZAorICogICAgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklC
VVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBI
T0xERVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
KyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJNZWRpYUtleU1lc3NhZ2VFdmVudC5oIgor
CisjaWYgRU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkKKworI2luY2x1ZGUgIkV2ZW50TmFtZXMuaCIK
KworbmFtZXNwYWNlIFdlYkNvcmUgeworCitNZWRpYUtleU1lc3NhZ2VFdmVudDo6TWVkaWFLZXlN
ZXNzYWdlRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiB0eXBlLCBjb25zdCBNZWRpYUtleU1lc3Nh
Z2VFdmVudDo6SW5pdCYgaW5pdGlhbGl6ZXIsIElzVHJ1c3RlZCBpc1RydXN0ZWQpCisgICAgOiBF
dmVudCh0eXBlLCBpbml0aWFsaXplciwgaXNUcnVzdGVkKQorICAgICwgbV9tZXNzYWdlVHlwZShp
bml0aWFsaXplci5tZXNzYWdlVHlwZSkKKyAgICAsIG1fbWVzc2FnZShpbml0aWFsaXplci5tZXNz
YWdlKQoreworfQorCitNZWRpYUtleU1lc3NhZ2VFdmVudDo6fk1lZGlhS2V5TWVzc2FnZUV2ZW50
KCkgPSBkZWZhdWx0OworCitFdmVudEludGVyZmFjZSBNZWRpYUtleU1lc3NhZ2VFdmVudDo6ZXZl
bnRJbnRlcmZhY2UoKSBjb25zdAoreworICAgIHJldHVybiBNZWRpYUtleU1lc3NhZ2VFdmVudElu
dGVyZmFjZVR5cGU7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVO
QUJMRShFTkNSWVBURURfTUVESUEpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5TWVzc2FnZUV2ZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5TWVzc2FnZUV2ZW50LmgKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
YTYzM2M1MWE2YmNiM2YwZjQ5Mzg2MTVkYWEwNzRjM2RmOTk1M2MwYwotLS0gL2Rldi9udWxsCisr
KyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlNZXNzYWdl
RXZlbnQuaApAQCAtMCwwICsxLDY3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE2IE1ldHJv
bG9naWNhbCBHcm91cCBCLlYuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTYgSWdhbGlhIFMuTC4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZQorICogICAgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcKKyAqICAgIGRpc2NsYWltZXIgaW4gdGhlIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZAorICogICAgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhF
IENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1J
VEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBIT0xERVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisg
KiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaWYgRU5BQkxF
KEVOQ1JZUFRFRF9NRURJQSkKKworI2luY2x1ZGUgIkV2ZW50LmgiCisjaW5jbHVkZSAiTWVkaWFL
ZXlNZXNzYWdlRXZlbnRJbml0LmgiCisjaW5jbHVkZSAiTWVkaWFLZXlNZXNzYWdlVHlwZS5oIgor
I2luY2x1ZGUgPHJ1bnRpbWUvQXJyYXlCdWZmZXIuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgewor
CitjbGFzcyBNZWRpYUtleU1lc3NhZ2VFdmVudCBmaW5hbCA6IHB1YmxpYyBFdmVudCB7CitwdWJs
aWM6CisgICAgdXNpbmcgVHlwZSA9IE1lZGlhS2V5TWVzc2FnZVR5cGU7CisgICAgdXNpbmcgSW5p
dCA9IE1lZGlhS2V5TWVzc2FnZUV2ZW50SW5pdDsKKworICAgIHZpcnR1YWwgfk1lZGlhS2V5TWVz
c2FnZUV2ZW50KCk7CisKKyAgICBzdGF0aWMgUmVmPE1lZGlhS2V5TWVzc2FnZUV2ZW50PiBjcmVh
dGUoY29uc3QgQXRvbWljU3RyaW5nJiB0eXBlLCBjb25zdCBNZWRpYUtleU1lc3NhZ2VFdmVudElu
aXQmIGluaXRpYWxpemVyLCBJc1RydXN0ZWQgaXNUcnVzdGVkID0gSXNUcnVzdGVkOjpObykKKyAg
ICB7CisgICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IE1lZGlhS2V5TWVzc2FnZUV2ZW50KHR5
cGUsIGluaXRpYWxpemVyLCBpc1RydXN0ZWQpKTsKKyAgICB9CisKKyAgICBUeXBlIG1lc3NhZ2VU
eXBlKCkgY29uc3QgeyByZXR1cm4gbV9tZXNzYWdlVHlwZTsgfQorICAgIFJlZlB0cjxKU0M6OkFy
cmF5QnVmZmVyPiBtZXNzYWdlKCkgY29uc3QgeyByZXR1cm4gbV9tZXNzYWdlOyB9CisKK3ByaXZh
dGU6CisgICAgTWVkaWFLZXlNZXNzYWdlRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiwgY29uc3Qg
TWVkaWFLZXlNZXNzYWdlRXZlbnRJbml0JiwgSXNUcnVzdGVkKTsKKworICAgIC8vIEV2ZW50Cisg
ICAgRXZlbnRJbnRlcmZhY2UgZXZlbnRJbnRlcmZhY2UoKSBjb25zdCBvdmVycmlkZTsKKworICAg
IE1lZGlhS2V5TWVzc2FnZVR5cGUgbV9tZXNzYWdlVHlwZTsKKyAgICBSZWZQdHI8SlNDOjpBcnJh
eUJ1ZmZlcj4gbV9tZXNzYWdlOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5k
aWYgLy8gRU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlNZXNzYWdlRXZlbnQuaWRsIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleU1lc3NhZ2VFdmVudC5pZGwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uYzE3ZDdkMDRkMDQwOTE2YzYyZWQzMzVlNTM3MzJmZDY0ZGY3MDY0MAotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVk
aWFLZXlNZXNzYWdlRXZlbnQuaWRsCkBAIC0wLDAgKzEsNDcgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTYgTWV0cm9sb2dpY2FsIEdyb3VwIEIuVi4KKyAqIENvcHlyaWdodCAoQykgMjAxNiBJ
Z2FsaWEgUy5MLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0Ogor
ICoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiAgICBjb3B5cmlnaHQgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZworICogICAgZGlzY2xh
aW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
CisgKiAgICB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFT
IElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIEhPTERFUiBPUiBDT05U
UklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwK
KyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworZW51bSBNZWRpYUtl
eU1lc3NhZ2VUeXBlIHsKKyAgICAibGljZW5zZS1yZXF1ZXN0IiwKKyAgICAibGljZW5zZS1yZW5l
d2FsIiwKKyAgICAibGljZW5zZS1yZWxlYXNlIiwKKyAgICAiaW5kaXZpZHVhbGl6YXRpb24tcmVx
dWVzdCIKK307CisKK2RpY3Rpb25hcnkgTWVkaWFLZXlNZXNzYWdlRXZlbnRJbml0IDogRXZlbnRJ
bml0IHsKKyAgICByZXF1aXJlZCBNZWRpYUtleU1lc3NhZ2VUeXBlIG1lc3NhZ2VUeXBlOworICAg
IHJlcXVpcmVkIEFycmF5QnVmZmVyIG1lc3NhZ2U7Cit9OworCitbCisgICAgQ29uZGl0aW9uYWw9
RU5DUllQVEVEX01FRElBLAorICAgIENvbnN0cnVjdG9yKERPTVN0cmluZyB0eXBlLCBNZWRpYUtl
eU1lc3NhZ2VFdmVudEluaXQgZXZlbnRJbml0RGljdCksCitdIGludGVyZmFjZSBNZWRpYUtleU1l
c3NhZ2VFdmVudCA6IEV2ZW50IHsKKyAgICByZWFkb25seSBhdHRyaWJ1dGUgTWVkaWFLZXlNZXNz
YWdlVHlwZSBtZXNzYWdlVHlwZTsKKyAgICByZWFkb25seSBhdHRyaWJ1dGUgQXJyYXlCdWZmZXIg
bWVzc2FnZTsKK307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRl
ZG1lZGlhL01lZGlhS2V5TWVzc2FnZUV2ZW50SW5pdC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleU1lc3NhZ2VFdmVudEluaXQuaApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4w
YmYxMzBlNGU0N2Q5N2M4OWMzZjZhNGE1ZDVjNTE4OGJmNmFkN2I0Ci0tLSAvZGV2L251bGwKKysr
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleU1lc3NhZ2VF
dmVudEluaXQuaApAQCAtMCwwICsxLDU0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE2IE1l
dHJvbG9naWNhbCBHcm91cCBCLlYuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTYgSWdhbGlhIFMuTC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogICAgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcKKyAqICAgIGRpc2NsYWltZXIgaW4gdGhl
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZAorICogICAgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
VEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBM
SU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBIT0xERVIgT1IgQ09OVFJJQlVUT1JTIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFM
LCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
CisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaWYgRU5B
QkxFKEVOQ1JZUFRFRF9NRURJQSkKKworI2luY2x1ZGUgIkV2ZW50LmgiCisjaW5jbHVkZSAiTWVk
aWFLZXlNZXNzYWdlVHlwZS5oIgorI2luY2x1ZGUgPHJ1bnRpbWUvQXJyYXlCdWZmZXIuaD4KKwor
bmFtZXNwYWNlIFdlYkNvcmUgeworCitzdHJ1Y3QgTWVkaWFLZXlNZXNzYWdlRXZlbnRJbml0IDog
RXZlbnRJbml0IHsKKyAgICBNZWRpYUtleU1lc3NhZ2VFdmVudEluaXQoKSA9IGRlZmF1bHQ7CisK
KyAgICBNZWRpYUtleU1lc3NhZ2VFdmVudEluaXQoTWVkaWFLZXlNZXNzYWdlVHlwZSBtZXNzYWdl
VHlwZSwgUmVmUHRyPEpTQzo6QXJyYXlCdWZmZXI+JiYgbWVzc2FnZSkKKyAgICAgICAgOiBFdmVu
dEluaXQoKQorICAgICAgICAsIG1lc3NhZ2VUeXBlKG1lc3NhZ2VUeXBlKQorICAgICAgICAsIG1l
c3NhZ2UoV1RGTW92ZShtZXNzYWdlKSkKKyAgICB7IH0KKworICAgIE1lZGlhS2V5TWVzc2FnZVR5
cGUgbWVzc2FnZVR5cGU7CisgICAgUmVmUHRyPEpTQzo6QXJyYXlCdWZmZXI+IG1lc3NhZ2U7Cit9
OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoRU5DUllQVEVE
X01FRElBKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRp
YS9NZWRpYUtleU1lc3NhZ2VUeXBlLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRl
ZG1lZGlhL01lZGlhS2V5TWVzc2FnZVR5cGUuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kYTczNjFlYWFiM2I0YzI1
ODM5NzU2Y2E0M2IyYjFjOGVjYmU0MzAzCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleU1lc3NhZ2VUeXBlLmgKQEAgLTAsMCAr
MSw0NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNiBNZXRyb2xvZ2ljYWwgR3JvdXAgQi5W
LgorICogQ29weXJpZ2h0IChDKSAyMDE2IElnYWxpYSBTLkwuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUKKyAqICAgIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nCisgKiAgICBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQKKyAqICAgIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVS
UyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENP
UFlSSUdIVAorICogSE9MREVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisg
KiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lmIEVOQUJMRShFTkNSWVBURURfTUVESUEp
CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworZW51bSBjbGFzcyBNZWRpYUtleU1lc3NhZ2VUeXBl
IHsKKyAgICBMaWNlbnNlUmVxdWVzdCwKKyAgICBMaWNlbnNlUmVuZXdhbCwKKyAgICBMaWNlbnNl
UmVsZWFzZSwKKyAgICBJbmRpdmlkdWFsaXphdGlvblJlcXVlc3QKK307CisKK30gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShFTkNSWVBURURfTUVESUEpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U2Vzc2lv
bi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U2Vz
c2lvbi5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjVjNWQzN2JiNzgwY2NjYjliM2JlODczOTg3MTBjY2E4MTE4
NWNhMwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVk
bWVkaWEvTWVkaWFLZXlTZXNzaW9uLmNwcApAQCAtMCwwICsxLDEyMSBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAxNiBNZXRyb2xvZ2ljYWwgR3JvdXAgQi5WLgorICogQ29weXJpZ2h0IChDKSAy
MDE2IElnYWxpYSBTLkwuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBt
ZXQ6CisgKgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqICAgIGNvcHlyaWdodCBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nCisgKiAgICBk
aXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQKKyAqICAgIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisg
KiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogSE9MREVSIE9S
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVk
ZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiTWVkaWFLZXlTZXNzaW9uLmgiCisKKyNpZiBFTkFCTEUo
RU5DUllQVEVEX01FRElBKQorCisjaW5jbHVkZSAiTWVkaWFLZXlTdGF0dXNNYXAuaCIKKyNpbmNs
dWRlICJOb3RJbXBsZW1lbnRlZC5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK1JlZjxNZWRp
YUtleVNlc3Npb24+IE1lZGlhS2V5U2Vzc2lvbjo6Y3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQmIGNvbnRleHQpCit7CisgICAgYXV0byBzZXNzaW9uID0gYWRvcHRSZWYoKm5ldyBNZWRpYUtl
eVNlc3Npb24oY29udGV4dCkpOworICAgIHNlc3Npb24tPnN1c3BlbmRJZk5lZWRlZCgpOworICAg
IHJldHVybiBzZXNzaW9uOworfQorCitNZWRpYUtleVNlc3Npb246Ok1lZGlhS2V5U2Vzc2lvbihT
Y3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0KQorICAgIDogQWN0aXZlRE9NT2JqZWN0KCZj
b250ZXh0KQoreworfQorCitNZWRpYUtleVNlc3Npb246On5NZWRpYUtleVNlc3Npb24oKSA9IGRl
ZmF1bHQ7CisKK2NvbnN0IFN0cmluZyYgTWVkaWFLZXlTZXNzaW9uOjpzZXNzaW9uSWQoKSBjb25z
dAoreworICAgIG5vdEltcGxlbWVudGVkKCk7CisgICAgcmV0dXJuIGVtcHR5U3RyaW5nKCk7Cit9
CisKK2RvdWJsZSBNZWRpYUtleVNlc3Npb246OmV4cGlyYXRpb24oKSBjb25zdAoreworICAgIG5v
dEltcGxlbWVudGVkKCk7CisgICAgcmV0dXJuIDA7Cit9CisKK1JlZlB0cjxNZWRpYUtleVN0YXR1
c01hcD4gTWVkaWFLZXlTZXNzaW9uOjprZXlTdGF0dXNlcygpIGNvbnN0Cit7CisgICAgbm90SW1w
bGVtZW50ZWQoKTsKKyAgICByZXR1cm4gbnVsbHB0cjsKK30KKwordm9pZCBNZWRpYUtleVNlc3Np
b246OmdlbmVyYXRlUmVxdWVzdChjb25zdCBTdHJpbmcmLCBjb25zdCBCdWZmZXJTb3VyY2UmLCBH
ZW5lcmF0ZVJlcXVlc3RQcm9taXNlJiYpCit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKK30KKwor
dm9pZCBNZWRpYUtleVNlc3Npb246OmxvYWQoY29uc3QgU3RyaW5nJiwgTG9hZFByb21pc2UmJikK
K3sKKyAgICBub3RJbXBsZW1lbnRlZCgpOworfQorCit2b2lkIE1lZGlhS2V5U2Vzc2lvbjo6dXBk
YXRlKGNvbnN0IEJ1ZmZlclNvdXJjZSYsIFVwZGF0ZVByb21pc2UmJikKK3sKKyAgICBub3RJbXBs
ZW1lbnRlZCgpOworfQorCit2b2lkIE1lZGlhS2V5U2Vzc2lvbjo6Y2xvc2UoQ2xvc2VQcm9taXNl
JiYpCit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKK30KKwordm9pZCBNZWRpYUtleVNlc3Npb246
OnJlbW92ZShSZW1vdmVQcm9taXNlJiYpCit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKK30KKwor
Ym9vbCBNZWRpYUtleVNlc3Npb246Omhhc1BlbmRpbmdBY3Rpdml0eSgpIGNvbnN0Cit7CisgICAg
bm90SW1wbGVtZW50ZWQoKTsKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK2NvbnN0IGNoYXIqIE1l
ZGlhS2V5U2Vzc2lvbjo6YWN0aXZlRE9NT2JqZWN0TmFtZSgpIGNvbnN0Cit7CisgICAgbm90SW1w
bGVtZW50ZWQoKTsKKyAgICByZXR1cm4gIk1lZGlhS2V5U2Vzc2lvbiI7Cit9CisKK2Jvb2wgTWVk
aWFLZXlTZXNzaW9uOjpjYW5TdXNwZW5kRm9yRG9jdW1lbnRTdXNwZW5zaW9uKCkgY29uc3QKK3sK
KyAgICBub3RJbXBsZW1lbnRlZCgpOworICAgIHJldHVybiBmYWxzZTsKK30KKwordm9pZCBNZWRp
YUtleVNlc3Npb246OnN0b3AoKQoreworICAgIG5vdEltcGxlbWVudGVkKCk7Cit9CisKK30gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U2Vzc2lvbi5oIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVNlc3Npb24uaApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44OGU0
Njk0Zjg0MjEyMDIyZDhjZTM3M2U5YzA0MDJlNjkzMTM3NGYxCi0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVNlc3Npb24uaApA
QCAtMCwwICsxLDkyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE2IE1ldHJvbG9naWNhbCBH
cm91cCBCLlYuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTYgSWdhbGlhIFMuTC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZQorICogICAgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcKKyAqICAgIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZAorICogICAgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdI
VCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IK
KyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBUSEUgQ09QWVJJR0hUCisgKiBIT0xERVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisg
KiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaWYgRU5BQkxFKEVOQ1JZUFRF
RF9NRURJQSkKKworI2luY2x1ZGUgIkFjdGl2ZURPTU9iamVjdC5oIgorI2luY2x1ZGUgIkV2ZW50
VGFyZ2V0LmgiCisjaW5jbHVkZSAiR2VuZXJpY0V2ZW50UXVldWUuaCIKKyNpbmNsdWRlICJKU0RP
TVByb21pc2UuaCIKKyNpbmNsdWRlICJNZWRpYUtleVNlc3Npb25UeXBlLmgiCisjaW5jbHVkZSA8
d3RmL1JlZkNvdW50ZWQuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KKworbmFt
ZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBCdWZmZXJTb3VyY2U7CitjbGFzcyBNZWRpYUtleVN0
YXR1c01hcDsKK2NsYXNzIE1lZGlhS2V5czsKKworY2xhc3MgTWVkaWFLZXlTZXNzaW9uIGZpbmFs
IDogcHVibGljIFJlZkNvdW50ZWQ8TWVkaWFLZXlTZXNzaW9uPiwgcHVibGljIEV2ZW50VGFyZ2V0
V2l0aElubGluZURhdGEsIHB1YmxpYyBBY3RpdmVET01PYmplY3QgeworcHVibGljOgorICAgIHN0
YXRpYyBSZWY8TWVkaWFLZXlTZXNzaW9uPiBjcmVhdGUoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYp
OworICAgIHZpcnR1YWwgfk1lZGlhS2V5U2Vzc2lvbigpOworCisgICAgdXNpbmcgUmVmQ291bnRl
ZDxNZWRpYUtleVNlc3Npb24+OjpyZWY7CisgICAgdXNpbmcgUmVmQ291bnRlZDxNZWRpYUtleVNl
c3Npb24+OjpkZXJlZjsKKworICAgIGNvbnN0IFN0cmluZyYgc2Vzc2lvbklkKCkgY29uc3Q7Cisg
ICAgZG91YmxlIGV4cGlyYXRpb24oKSBjb25zdDsKKyAgICBSZWZQdHI8TWVkaWFLZXlTdGF0dXNN
YXA+IGtleVN0YXR1c2VzKCkgY29uc3Q7CisKKyAgICB1c2luZyBHZW5lcmF0ZVJlcXVlc3RQcm9t
aXNlID0gRE9NUHJvbWlzZTxzdGQ6Om51bGxwdHJfdD47CisgICAgdm9pZCBnZW5lcmF0ZVJlcXVl
c3QoY29uc3QgU3RyaW5nJiwgY29uc3QgQnVmZmVyU291cmNlJiwgR2VuZXJhdGVSZXF1ZXN0UHJv
bWlzZSYmKTsKKworICAgIHVzaW5nIExvYWRQcm9taXNlID0gRE9NUHJvbWlzZTxib29sPjsKKyAg
ICB2b2lkIGxvYWQoY29uc3QgU3RyaW5nJiwgTG9hZFByb21pc2UmJik7CisKKyAgICB1c2luZyBV
cGRhdGVQcm9taXNlID0gRE9NUHJvbWlzZTxzdGQ6Om51bGxwdHJfdD47CisgICAgdm9pZCB1cGRh
dGUoY29uc3QgQnVmZmVyU291cmNlJiwgVXBkYXRlUHJvbWlzZSYmKTsKKworICAgIHVzaW5nIENs
b3NlUHJvbWlzZSA9IERPTVByb21pc2U8c3RkOjpudWxscHRyX3Q+OworICAgIHZvaWQgY2xvc2Uo
Q2xvc2VQcm9taXNlJiYpOworCisgICAgdXNpbmcgUmVtb3ZlUHJvbWlzZSA9IERPTVByb21pc2U8
c3RkOjpudWxscHRyX3Q+OworICAgIHZvaWQgcmVtb3ZlKFJlbW92ZVByb21pc2UmJik7CisKK3By
aXZhdGU6CisgICAgTWVkaWFLZXlTZXNzaW9uKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmKTsKKwor
ICAgIC8vIEV2ZW50VGFyZ2V0CisgICAgRXZlbnRUYXJnZXRJbnRlcmZhY2UgZXZlbnRUYXJnZXRJ
bnRlcmZhY2UoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBNZWRpYUtleVNlc3Npb25FdmVudFRh
cmdldEludGVyZmFjZVR5cGU7IH0KKyAgICBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBzY3JpcHRF
eGVjdXRpb25Db250ZXh0KCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gQWN0aXZlRE9NT2JqZWN0
OjpzY3JpcHRFeGVjdXRpb25Db250ZXh0KCk7IH0KKyAgICB2b2lkIHJlZkV2ZW50VGFyZ2V0KCkg
b3ZlcnJpZGUgeyByZWYoKTsgfQorICAgIHZvaWQgZGVyZWZFdmVudFRhcmdldCgpIG92ZXJyaWRl
IHsgZGVyZWYoKTsgfQorCisgICAgLy8gQWN0aXZlRE9NT2JqZWN0CisgICAgYm9vbCBoYXNQZW5k
aW5nQWN0aXZpdHkoKSBjb25zdCBvdmVycmlkZTsKKyAgICBjb25zdCBjaGFyKiBhY3RpdmVET01P
YmplY3ROYW1lKCkgY29uc3Qgb3ZlcnJpZGU7CisgICAgYm9vbCBjYW5TdXNwZW5kRm9yRG9jdW1l
bnRTdXNwZW5zaW9uKCkgY29uc3Qgb3ZlcnJpZGU7CisgICAgdm9pZCBzdG9wKCkgb3ZlcnJpZGU7
Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoRU5DUllQ
VEVEX01FRElBKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRt
ZWRpYS9NZWRpYUtleVNlc3Npb24uaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0
ZWRtZWRpYS9NZWRpYUtleVNlc3Npb24uaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFhNzJiOGViMjJhN2U2NmE0
YmNiZThmOWMzNDk2NzhlOTc2OTg5ZTIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U2Vzc2lvbi5pZGwKQEAgLTAsMCArMSw0
MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNiBNZXRyb2xvZ2ljYWwgR3JvdXAgQi5WLgor
ICogQ29weXJpZ2h0IChDKSAyMDE2IElnYWxpYSBTLkwuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUK
KyAqICAgIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nCisgKiAgICBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQKKyAqICAgIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBB
TkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJ
Q1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlS
SUdIVAorICogSE9MREVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKyAqLworCitbCisgICAgQ29uZGl0aW9uYWw9RU5DUllQVEVEX01FRElBLAorXSBpbnRlcmZh
Y2UgTWVkaWFLZXlTZXNzaW9uIDogRXZlbnRUYXJnZXQgeworICAgIHJlYWRvbmx5IGF0dHJpYnV0
ZSBET01TdHJpbmcgc2Vzc2lvbklkOworICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnJlc3RyaWN0
ZWQgZG91YmxlIGV4cGlyYXRpb247CisgICAgW0N1c3RvbUdldHRlciwgQ2FjaGVkQXR0cmlidXRl
XSByZWFkb25seSBhdHRyaWJ1dGUgUHJvbWlzZSBjbG9zZWQ7CisgICAgcmVhZG9ubHkgYXR0cmli
dXRlIE1lZGlhS2V5U3RhdHVzTWFwIGtleVN0YXR1c2VzOworICAgIGF0dHJpYnV0ZSBFdmVudEhh
bmRsZXIgb25rZXlzdGF0dXNlc2NoYW5nZTsKKyAgICBhdHRyaWJ1dGUgRXZlbnRIYW5kbGVyIG9u
bWVzc2FnZTsKKyAgICBQcm9taXNlIGdlbmVyYXRlUmVxdWVzdChET01TdHJpbmcgaW5pdERhdGFU
eXBlLCBCdWZmZXJTb3VyY2UgaW5pdERhdGEpOworICAgIFByb21pc2UgbG9hZChET01TdHJpbmcg
c2Vzc2lvbklkKTsKKyAgICBQcm9taXNlIHVwZGF0ZShCdWZmZXJTb3VyY2UgcmVzcG9uc2UpOwor
ICAgIFByb21pc2UgY2xvc2UoKTsKKyAgICBQcm9taXNlIHJlbW92ZSgpOworfTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlTZXNzaW9u
VHlwZS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVNl
c3Npb25UeXBlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjMxYzg3YzFhMzRmZDY1ZWQ4ZmUxZDI0MWExMDMwZGQx
YTU2OTMwNgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlw
dGVkbWVkaWEvTWVkaWFLZXlTZXNzaW9uVHlwZS5oCkBAIC0wLDAgKzEsNDMgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTYgTWV0cm9sb2dpY2FsIEdyb3VwIEIuVi4KKyAqIENvcHlyaWdodCAo
QykgMjAxNiBJZ2FsaWEgUy5MLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBh
cmUgbWV0OgorICoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiAgICBjb3B5cmln
aHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZworICog
ICAgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkCisgKiAgICB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9S
UworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIEhPTERF
UiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisg
KiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3By
YWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoRU5DUllQVEVEX01FRElBKQorCituYW1lc3BhY2UgV2Vi
Q29yZSB7CisKK2VudW0gY2xhc3MgTWVkaWFLZXlTZXNzaW9uVHlwZSB7CisgICAgVGVtcG9yYXJ5
LAorICAgIFBlcnNpc3RlbnRVc2FnZVJlY29yZCwKKyAgICBQZXJzaXN0ZW50TGljZW5zZQorfTsK
KworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKEVOQ1JZUFRFRF9N
RURJQSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEv
TWVkaWFLZXlTdGF0dXMuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEv
TWVkaWFLZXlTdGF0dXMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jM2NmNGM4OTdjMzliODBjZTg1YjkwMjY4OWI0
MTY0ZmM3YmFlM2Y4Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9l
bmNyeXB0ZWRtZWRpYS9NZWRpYUtleVN0YXR1cy5oCkBAIC0wLDAgKzEsNDcgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTYgTWV0cm9sb2dpY2FsIEdyb3VwIEIuVi4KKyAqIENvcHlyaWdodCAo
QykgMjAxNiBJZ2FsaWEgUy5MLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBh
cmUgbWV0OgorICoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiAgICBjb3B5cmln
aHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZworICog
ICAgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkCisgKiAgICB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9S
UworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIEhPTERF
UiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisg
KiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3By
YWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoRU5DUllQVEVEX01FRElBKQorCituYW1lc3BhY2UgV2Vi
Q29yZSB7CisKK2VudW0gY2xhc3MgTWVkaWFLZXlTdGF0dXMgeworICAgIFVzYWJsZSwKKyAgICBF
eHBpcmVkLAorICAgIFJlbGVhc2VkLAorICAgIE91dHB1dFJlc3RyaWN0ZWQsCisgICAgT3V0cHV0
RG93bnNjYWxlZCwKKyAgICBTdGF0dXNQZW5kaW5nLAorICAgIEludGVybmFsRXJyb3IKK307CisK
K30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShFTkNSWVBURURfTUVE
SUEpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01l
ZGlhS2V5U3RhdHVzTWFwLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVk
aWEvTWVkaWFLZXlTdGF0dXNNYXAuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM5ZTJhOWUwYmEwNmY4YjAxMzBl
MzRhNGI4MjUyYmE1Nzk0ODdjMGQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U3RhdHVzTWFwLmNwcApAQCAtMCwwICsxLDcx
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE2IE1ldHJvbG9naWNhbCBHcm91cCBCLlYuCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTYgSWdhbGlhIFMuTC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQor
ICogICAgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcKKyAqICAgIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZAorICogICAgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFO
RCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElD
VUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJ
R0hUCisgKiBIT0xERVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJNZWRpYUtleVN0YXR1c01h
cC5oIgorCisjaWYgRU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkKKworI2luY2x1ZGUgIk5vdEltcGxl
bWVudGVkLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworTWVkaWFLZXlTdGF0dXNNYXA6Ok1l
ZGlhS2V5U3RhdHVzTWFwKCkgPSBkZWZhdWx0OworCitNZWRpYUtleVN0YXR1c01hcDo6fk1lZGlh
S2V5U3RhdHVzTWFwKCkgPSBkZWZhdWx0OworCit1bnNpZ25lZCBsb25nIE1lZGlhS2V5U3RhdHVz
TWFwOjpzaXplKCkKK3sKKyAgICBub3RJbXBsZW1lbnRlZCgpOworICAgIHJldHVybiAwOworfQor
Citib29sIE1lZGlhS2V5U3RhdHVzTWFwOjpoYXMoY29uc3QgQnVmZmVyU291cmNlJikKK3sKKyAg
ICBub3RJbXBsZW1lbnRlZCgpOworICAgIHJldHVybiBmYWxzZTsKK30KKworSlNDOjpKU1ZhbHVl
IE1lZGlhS2V5U3RhdHVzTWFwOjpnZXQoY29uc3QgQnVmZmVyU291cmNlJikKK3sKKyAgICBub3RJ
bXBsZW1lbnRlZCgpOworICAgIHJldHVybiBKU0M6OmpzVW5kZWZpbmVkKCk7Cit9CisKK01lZGlh
S2V5U3RhdHVzTWFwOjpJdGVyYXRvcjo6SXRlcmF0b3IoTWVkaWFLZXlTdGF0dXNNYXAmKQorewor
fQorCitPcHRpb25hbDxXVEY6OktleVZhbHVlUGFpcjxCdWZmZXJTb3VyY2U6OlZhcmlhbnRUeXBl
LCBNZWRpYUtleVN0YXR1cz4+IE1lZGlhS2V5U3RhdHVzTWFwOjpJdGVyYXRvcjo6bmV4dCgpCit7
CisgICAgcmV0dXJuIE51bGxvcHQ7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2Vu
ZGlmIC8vIEVOQUJMRShFTkNSWVBURURfTUVESUEpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U3RhdHVzTWFwLmggYi9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U3RhdHVzTWFwLmgKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZTkyZDA3ZTNiZDBjNTVkMDI5MDU3YjE2ZWU5ODhiOWVjZjVmZDIxOQotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlTdGF0
dXNNYXAuaApAQCAtMCwwICsxLDcxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE2IE1ldHJv
bG9naWNhbCBHcm91cCBCLlYuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTYgSWdhbGlhIFMuTC4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZQorICogICAgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcKKyAqICAgIGRpc2NsYWltZXIgaW4gdGhlIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZAorICogICAgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhF
IENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1J
VEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBIT0xERVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisg
KiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaWYgRU5BQkxF
KEVOQ1JZUFRFRF9NRURJQSkKKworI2luY2x1ZGUgIkJ1ZmZlclNvdXJjZS5oIgorI2luY2x1ZGUg
Ik1lZGlhS2V5U3RhdHVzLmgiCisjaW5jbHVkZSA8cnVudGltZS9KU0NKU1ZhbHVlSW5saW5lcy5o
PgorI2luY2x1ZGUgPHd0Zi9IYXNoVHJhaXRzLmg+CisjaW5jbHVkZSA8d3RmL09wdGlvbmFsLmg+
CisjaW5jbHVkZSA8d3RmL1JlZi5oPgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisKK25h
bWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgTWVkaWFLZXlTdGF0dXNNYXAgOiBwdWJsaWMgUmVm
Q291bnRlZDxNZWRpYUtleVN0YXR1c01hcD4geworcHVibGljOgorICAgIHVzaW5nIFN0YXR1cyA9
IE1lZGlhS2V5U3RhdHVzOworCisgICAgc3RhdGljIFJlZjxNZWRpYUtleVN0YXR1c01hcD4gY3Jl
YXRlKCkKKyAgICB7CisgICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IE1lZGlhS2V5U3RhdHVz
TWFwKTsKKyAgICB9CisKKyAgICB2aXJ0dWFsIH5NZWRpYUtleVN0YXR1c01hcCgpOworCisgICAg
dW5zaWduZWQgbG9uZyBzaXplKCk7CisgICAgYm9vbCBoYXMoY29uc3QgQnVmZmVyU291cmNlJik7
CisgICAgSlNDOjpKU1ZhbHVlIGdldChjb25zdCBCdWZmZXJTb3VyY2UmKTsKKworICAgIGNsYXNz
IEl0ZXJhdG9yIHsKKyAgICBwdWJsaWM6CisgICAgICAgIGV4cGxpY2l0IEl0ZXJhdG9yKE1lZGlh
S2V5U3RhdHVzTWFwJik7CisgICAgICAgIE9wdGlvbmFsPFdURjo6S2V5VmFsdWVQYWlyPEJ1ZmZl
clNvdXJjZTo6VmFyaWFudFR5cGUsIE1lZGlhS2V5U3RhdHVzPj4gbmV4dCgpOworICAgIH07Cisg
ICAgSXRlcmF0b3IgY3JlYXRlSXRlcmF0b3IoKSB7IHJldHVybiBJdGVyYXRvcigqdGhpcyk7IH0K
KworcHJpdmF0ZToKKyAgICBNZWRpYUtleVN0YXR1c01hcCgpOworfTsKKworfSAvLyBuYW1lc3Bh
Y2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlTdGF0dXNN
YXAuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVN0
YXR1c01hcC5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMGMyOTRkN2JjZTExZjVkZWUxMjE2YTQ3NDhmMjE5MWM1
MzViNjVhNwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlw
dGVkbWVkaWEvTWVkaWFLZXlTdGF0dXNNYXAuaWRsCkBAIC0wLDAgKzEsNDYgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTYgTWV0cm9sb2dpY2FsIEdyb3VwIEIuVi4KKyAqIENvcHlyaWdodCAo
QykgMjAxNiBJZ2FsaWEgUy5MLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBh
cmUgbWV0OgorICoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiAgICBjb3B5cmln
aHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZworICog
ICAgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkCisgKiAgICB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9S
UworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIEhPTERF
UiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisg
KiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworZW51
bSBNZWRpYUtleVN0YXR1cyB7CisgICAgInVzYWJsZSIsCisgICAgImV4cGlyZWQiLAorICAgICJy
ZWxlYXNlZCIsCisgICAgIm91dHB1dC1yZXN0cmljdGVkIiwKKyAgICAib3V0cHV0LWRvd25zY2Fs
ZWQiLAorICAgICJzdGF0dXMtcGVuZGluZyIsCisgICAgImludGVybmFsLWVycm9yIgorfTsKKwor
WworICAgIENvbmRpdGlvbmFsPUVOQ1JZUFRFRF9NRURJQQorXSBpbnRlcmZhY2UgTWVkaWFLZXlT
dGF0dXNNYXAgeworICAgIGl0ZXJhYmxlPEJ1ZmZlclNvdXJjZSwgTWVkaWFLZXlTdGF0dXM+Owor
ICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBsb25nIHNpemU7CisgICAgYm9vbGVhbiBo
YXMoQnVmZmVyU291cmNlIGtleUlkKTsKKyAgICBhbnkgZ2V0KEJ1ZmZlclNvdXJjZSBrZXlJZCk7
Cit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9N
ZWRpYUtleVN5c3RlbUFjY2Vzcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRl
ZG1lZGlhL01lZGlhS2V5U3lzdGVtQWNjZXNzLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iYTFjZDIwOTI0NTBh
ZDUxOTdlZmU3M2I0ZGNkMWY4MDY4ZjkzMzJjCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVN5c3RlbUFjY2Vzcy5jcHAKQEAg
LTAsMCArMSw2MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNiBNZXRyb2xvZ2ljYWwgR3Jv
dXAgQi5WLgorICogQ29weXJpZ2h0IChDKSAyMDE2IElnYWxpYSBTLkwuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgorICogMS4gUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUKKyAqICAgIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nCisgKiAgICBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQKKyAqICAgIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQg
SE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisg
KiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
VEhFIENPUFlSSUdIVAorICogSE9MREVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICog
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiTWVkaWFL
ZXlTeXN0ZW1BY2Nlc3MuaCIKKworI2lmIEVOQUJMRShFTkNSWVBURURfTUVESUEpCisKKyNpbmNs
dWRlICJNZWRpYUtleVN5c3RlbUNvbmZpZ3VyYXRpb24uaCIKKyNpbmNsdWRlICJOb3RJbXBsZW1l
bnRlZC5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK01lZGlhS2V5U3lzdGVtQWNjZXNzOjpN
ZWRpYUtleVN5c3RlbUFjY2VzcygpID0gZGVmYXVsdDsKKworTWVkaWFLZXlTeXN0ZW1BY2Nlc3M6
On5NZWRpYUtleVN5c3RlbUFjY2VzcygpID0gZGVmYXVsdDsKKworY29uc3QgU3RyaW5nJiBNZWRp
YUtleVN5c3RlbUFjY2Vzczo6a2V5U3lzdGVtKCkgY29uc3QKK3sKKyAgICBub3RJbXBsZW1lbnRl
ZCgpOworICAgIHJldHVybiBtX2tleVN5c3RlbTsKK30KKworY29uc3QgTWVkaWFLZXlTeXN0ZW1D
b25maWd1cmF0aW9uJiBNZWRpYUtleVN5c3RlbUFjY2Vzczo6Z2V0Q29uZmlndXJhdGlvbigpIGNv
bnN0Cit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICByZXR1cm4gbV9jb25maWd1cmF0aW9u
OworfQorCit2b2lkIE1lZGlhS2V5U3lzdGVtQWNjZXNzOjpjcmVhdGVNZWRpYUtleXMoQ3JlYXRl
TWVkaWFLZXlzUHJvbWlzZSYmKQoreworICAgIG5vdEltcGxlbWVudGVkKCk7Cit9CisKK30gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShFTkNSWVBURURfTUVESUEpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5
U3lzdGVtQWNjZXNzLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01l
ZGlhS2V5U3lzdGVtQWNjZXNzLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYmMwY2M4Yjk4ZGUwYTJiYTNkYTFiMDdl
OTgyMTFjOWNmNzRjNmRlZAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlTeXN0ZW1BY2Nlc3MuaApAQCAtMCwwICsxLDY2IEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDE2IE1ldHJvbG9naWNhbCBHcm91cCBCLlYuCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTYgSWdhbGlhIFMuTC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICog
ICAgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcKKyAqICAgIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZAorICogICAgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBD
T05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxB
UiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hU
CisgKiBIT0xERVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKyNwcmFnbWEgb25jZQorCisjaWYgRU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkKKworI2lu
Y2x1ZGUgIkpTRE9NUHJvbWlzZS5oIgorI2luY2x1ZGUgIk1lZGlhS2V5U3lzdGVtQ29uZmlndXJh
dGlvbi5oIgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisjaW5jbHVkZSA8d3RmL3RleHQv
V1RGU3RyaW5nLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3MgTWVkaWFLZXlzOwor
CitjbGFzcyBNZWRpYUtleVN5c3RlbUFjY2VzcyA6IHB1YmxpYyBSZWZDb3VudGVkPE1lZGlhS2V5
U3lzdGVtQWNjZXNzPiB7CitwdWJsaWM6CisgICAgc3RhdGljIFJlZjxNZWRpYUtleVN5c3RlbUFj
Y2Vzcz4gY3JlYXRlKCkKKyAgICB7CisgICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IE1lZGlh
S2V5U3lzdGVtQWNjZXNzKTsKKyAgICB9CisKKyAgICB2aXJ0dWFsIH5NZWRpYUtleVN5c3RlbUFj
Y2VzcygpOworCisgICAgY29uc3QgU3RyaW5nJiBrZXlTeXN0ZW0oKSBjb25zdDsKKyAgICBjb25z
dCBNZWRpYUtleVN5c3RlbUNvbmZpZ3VyYXRpb24mIGdldENvbmZpZ3VyYXRpb24oKSBjb25zdDsK
KworICAgIHR5cGVkZWYgRE9NUHJvbWlzZTxNZWRpYUtleXM+IENyZWF0ZU1lZGlhS2V5c1Byb21p
c2U7CisgICAgdm9pZCBjcmVhdGVNZWRpYUtleXMoQ3JlYXRlTWVkaWFLZXlzUHJvbWlzZSYmKTsK
KworcHJpdmF0ZToKKyAgICBNZWRpYUtleVN5c3RlbUFjY2VzcygpOworCisgICAgU3RyaW5nIG1f
a2V5U3lzdGVtOworICAgIE1lZGlhS2V5U3lzdGVtQ29uZmlndXJhdGlvbiBtX2NvbmZpZ3VyYXRp
b247Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoRU5D
UllQVEVEX01FRElBKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0
ZWRtZWRpYS9NZWRpYUtleVN5c3RlbUFjY2Vzcy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U3lzdGVtQWNjZXNzLmlkbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kOWM0
NjE0MTkxYzNiOGM5Y2MzMjU3YTllOGFkNjFiOGM4OTFjYjg5Ci0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVN5c3RlbUFjY2Vz
cy5pZGwKQEAgLTAsMCArMSwzNSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNiBNZXRyb2xv
Z2ljYWwgR3JvdXAgQi5WLgorICogQ29weXJpZ2h0IChDKSAyMDE2IElnYWxpYSBTLkwuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgorICogMS4gUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUKKyAqICAgIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nCisgKiAgICBkaXNjbGFpbWVyIGluIHRoZSBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQKKyAqICAgIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBD
T1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRF
RCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogSE9MREVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICog
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCitbCisgICAgQ29uZGl0aW9uYWw9RU5DUllQVEVE
X01FRElBCitdIGludGVyZmFjZSBNZWRpYUtleVN5c3RlbUFjY2VzcyB7CisgICAgcmVhZG9ubHkg
YXR0cmlidXRlIERPTVN0cmluZyBrZXlTeXN0ZW07CisgICAgW0N1c3RvbV0gTWVkaWFLZXlTeXN0
ZW1Db25maWd1cmF0aW9uIGdldENvbmZpZ3VyYXRpb24oKTsKKyAgICBQcm9taXNlIGNyZWF0ZU1l
ZGlhS2V5cygpOworfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlw
dGVkbWVkaWEvTWVkaWFLZXlTeXN0ZW1Db25maWd1cmF0aW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U3lzdGVtQ29uZmlndXJhdGlvbi5oCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjI1ZDIwNzk1ZTdkOTY0Y2I3NjUyYzk1ODUyNjExMDE0ZmFiZDc1YTQKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5
U3lzdGVtQ29uZmlndXJhdGlvbi5oCkBAIC0wLDAgKzEsNTQgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTYgTWV0cm9sb2dpY2FsIEdyb3VwIEIuVi4KKyAqIENvcHlyaWdodCAoQykgMjAxNiBJ
Z2FsaWEgUy5MLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0Ogor
ICoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiAgICBjb3B5cmlnaHQgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZworICogICAgZGlzY2xh
aW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
CisgKiAgICB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFT
IElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIEhPTERFUiBPUiBDT05U
UklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwK
KyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNl
CisKKyNpZiBFTkFCTEUoRU5DUllQVEVEX01FRElBKQorCisjaW5jbHVkZSAiTWVkaWFLZXlTeXN0
ZW1NZWRpYUNhcGFiaWxpdHkuaCIKKyNpbmNsdWRlICJNZWRpYUtleXNSZXF1aXJlbWVudC5oIgor
I2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4K
KworbmFtZXNwYWNlIFdlYkNvcmUgeworCitzdHJ1Y3QgTWVkaWFLZXlTeXN0ZW1Db25maWd1cmF0
aW9uIHsKKyAgICB1c2luZyBLZXlzUmVxdWlyZW1lbnQgPSBNZWRpYUtleXNSZXF1aXJlbWVudDsK
KworICAgIFN0cmluZyBsYWJlbDsKKyAgICBWZWN0b3I8U3RyaW5nPiBpbml0RGF0YVR5cGVzOwor
ICAgIFZlY3RvcjxNZWRpYUtleVN5c3RlbU1lZGlhQ2FwYWJpbGl0eT4gYXVkaW9DYXBhYmlsaXRp
ZXM7CisgICAgVmVjdG9yPE1lZGlhS2V5U3lzdGVtTWVkaWFDYXBhYmlsaXR5PiB2aWRlb0NhcGFi
aWxpdGllczsKKyAgICBNZWRpYUtleXNSZXF1aXJlbWVudCBkaXN0aW5jdGl2ZUlkZW50aWZpZXI7
CisgICAgTWVkaWFLZXlzUmVxdWlyZW1lbnQgcGVyc2lzdGVudFN0YXRlOworICAgIFZlY3RvcjxT
dHJpbmc+IHNlc3Npb25UeXBlczsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2Vu
ZGlmIC8vIEVOQUJMRShFTkNSWVBURURfTUVESUEpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U3lzdGVtQ29uZmlndXJhdGlvbi5pZGwg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U3lzdGVtQ29u
ZmlndXJhdGlvbi5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTNiNzE2ODk0YjUwODYzM2E4NjY1MzYzMGU3NDkx
OTAwMjUyZWNkOQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5j
cnlwdGVkbWVkaWEvTWVkaWFLZXlTeXN0ZW1Db25maWd1cmF0aW9uLmlkbApAQCAtMCwwICsxLDQ1
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE2IE1ldHJvbG9naWNhbCBHcm91cCBCLlYuCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTYgSWdhbGlhIFMuTC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQor
ICogICAgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcKKyAqICAgIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZAorICogICAgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFO
RCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElD
VUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJ
R0hUCisgKiBIT0xERVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKK2VudW0gTWVkaWFLZXlzUmVxdWlyZW1lbnQgeworICAgICJyZXF1aXJlZCIsCisg
ICAgIm9wdGlvbmFsIiwKKyAgICAibm90LWFsbG93ZWQiCit9OworCitbCisgICAgQ29uZGl0aW9u
YWw9RU5DUllQVEVEX01FRElBCitdIGRpY3Rpb25hcnkgTWVkaWFLZXlTeXN0ZW1Db25maWd1cmF0
aW9uIHsKKyAgICBET01TdHJpbmcgbGFiZWwgPSAiIjsKKyAgICBzZXF1ZW5jZTxET01TdHJpbmc+
IGluaXREYXRhVHlwZXMgPSBbXTsKKyAgICBzZXF1ZW5jZTxNZWRpYUtleVN5c3RlbU1lZGlhQ2Fw
YWJpbGl0eT4gYXVkaW9DYXBhYmlsaXRpZXMgPSBbXTsKKyAgICBzZXF1ZW5jZTxNZWRpYUtleVN5
c3RlbU1lZGlhQ2FwYWJpbGl0eT4gdmlkZW9DYXBhYmlsaXRpZXMgPSBbXTsKKyAgICBNZWRpYUtl
eXNSZXF1aXJlbWVudCBkaXN0aW5jdGl2ZUlkZW50aWZpZXIgPSAib3B0aW9uYWwiOworICAgIE1l
ZGlhS2V5c1JlcXVpcmVtZW50IHBlcnNpc3RlbnRTdGF0ZSA9ICJvcHRpb25hbCI7CisgICAgc2Vx
dWVuY2U8RE9NU3RyaW5nPiBzZXNzaW9uVHlwZXM7Cit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVN5c3RlbU1lZGlhQ2FwYWJpbGl0
eS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVN5c3Rl
bU1lZGlhQ2FwYWJpbGl0eS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmJhNzIwMDU0MjE2YjQzMjdmYmFjZjVmZmE3
YmIxYTc4YTFlMzAyNjgKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U3lzdGVtTWVkaWFDYXBhYmlsaXR5LmgKQEAgLTAsMCAr
MSw0NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNiBNZXRyb2xvZ2ljYWwgR3JvdXAgQi5W
LgorICogQ29weXJpZ2h0IChDKSAyMDE2IElnYWxpYSBTLkwuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUKKyAqICAgIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nCisgKiAgICBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQKKyAqICAgIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVS
UyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENP
UFlSSUdIVAorICogSE9MREVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisg
KiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lmIEVOQUJMRShFTkNSWVBURURfTUVESUEp
CisKKyNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUg
eworCitzdHJ1Y3QgTWVkaWFLZXlTeXN0ZW1NZWRpYUNhcGFiaWxpdHkgeworICAgIFN0cmluZyBj
b250ZW50VHlwZTsKKyAgICBTdHJpbmcgcm9idXN0bmVzczsKK307CisKK30gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShFTkNSWVBURURfTUVESUEpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U3lzdGVtTWVk
aWFDYXBhYmlsaXR5LmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEv
TWVkaWFLZXlTeXN0ZW1NZWRpYUNhcGFiaWxpdHkuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmU2OWQ2N2E0NjM1
MTBhODdhMzIyZThmNjkxNTAxMjljYjEyNjg1ZTkKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U3lzdGVtTWVkaWFDYXBhYmls
aXR5LmlkbApAQCAtMCwwICsxLDM0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE2IE1ldHJv
bG9naWNhbCBHcm91cCBCLlYuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTYgSWdhbGlhIFMuTC4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZQorICogICAgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcKKyAqICAgIGRpc2NsYWltZXIgaW4gdGhlIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZAorICogICAgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhF
IENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1J
VEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBIT0xERVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisg
KiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK1sKKyAgICBDb25kaXRpb25hbD1FTkNSWVBU
RURfTUVESUEKK10gZGljdGlvbmFyeSBNZWRpYUtleVN5c3RlbU1lZGlhQ2FwYWJpbGl0eSB7Cisg
ICAgRE9NU3RyaW5nIGNvbnRlbnRUeXBlID0gIiI7CisgICAgRE9NU3RyaW5nIHJvYnVzdG5lc3Mg
PSAiIjsKK307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1l
ZGlhL01lZGlhS2V5cy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlh
L01lZGlhS2V5cy5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOWQ0ZWQ2NDA5ZWRlNTE4M2Y4MzBlZGVlN2QyZWMw
NDg3NTg2M2M4ZgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5j
cnlwdGVkbWVkaWEvTWVkaWFLZXlzLmNwcApAQCAtMCwwICsxLDU2IEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDE2IE1ldHJvbG9naWNhbCBHcm91cCBCLlYuCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTYgSWdhbGlhIFMuTC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqCisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogICAgY29weXJpZ2h0IG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcKKyAqICAgIGRp
c2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZAorICogICAgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAq
ICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBIT0xERVIgT1Ig
Q09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRl
ICJjb25maWcuaCIKKyNpbmNsdWRlICJNZWRpYUtleXMuaCIKKworI2lmIEVOQUJMRShFTkNSWVBU
RURfTUVESUEpCisKKyNpbmNsdWRlICJNZWRpYUtleVNlc3Npb24uaCIKKyNpbmNsdWRlICJOb3RJ
bXBsZW1lbnRlZC5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK01lZGlhS2V5czo6TWVkaWFL
ZXlzKCkgPSBkZWZhdWx0OworCitNZWRpYUtleXM6On5NZWRpYUtleXMoKSA9IGRlZmF1bHQ7CisK
K0V4Y2VwdGlvbk9yPFJlZjxNZWRpYUtleVNlc3Npb24+PiBNZWRpYUtleXM6OmNyZWF0ZVNlc3Np
b24oTWVkaWFLZXlTZXNzaW9uVHlwZSkKK3sKKyAgICBub3RJbXBsZW1lbnRlZCgpOworICAgIHJl
dHVybiBFeGNlcHRpb24geyBOT1RfU1VQUE9SVEVEX0VSUiB9OworfQorCit2b2lkIE1lZGlhS2V5
czo6c2V0U2VydmVyQ2VydGlmaWNhdGUoY29uc3QgQnVmZmVyU291cmNlJiwgU2V0U2VydmVyQ2Vy
dGlmaWNhdGVQcm9taXNlJiYpCit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKK30KKworfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlz
LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5cy5oCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmQ3MDljNjk1MWNmODM1MTNlNDMwNTlkMjEwOWJjYzcxYTc2YzMwYTcKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlh
S2V5cy5oCkBAIC0wLDAgKzEsNjYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTYgTWV0cm9s
b2dpY2FsIEdyb3VwIEIuVi4KKyAqIENvcHlyaWdodCAoQykgMjAxNiBJZ2FsaWEgUy5MLgorICoK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICoKKyAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlCisgKiAgICBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZworICogICAgZGlzY2xhaW1lciBpbiB0aGUgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkCisgKiAgICB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUg
Q09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlU
RUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIEhPTERFUiBPUiBDT05UUklCVVRPUlMgQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAq
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBFTkFCTEUo
RU5DUllQVEVEX01FRElBKQorCisjaW5jbHVkZSAiRXhjZXB0aW9uT3IuaCIKKyNpbmNsdWRlICJK
U0RPTVByb21pc2UuaCIKKyNpbmNsdWRlICJNZWRpYUtleVNlc3Npb25UeXBlLmgiCisjaW5jbHVk
ZSA8d3RmL1JlZi5oPgorI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisKK25hbWVzcGFjZSBX
ZWJDb3JlIHsKKworY2xhc3MgQnVmZmVyU291cmNlOworY2xhc3MgTWVkaWFLZXlTZXNzaW9uOwor
CitjbGFzcyBNZWRpYUtleXMgOiBwdWJsaWMgUmVmQ291bnRlZDxNZWRpYUtleXM+IHsKK3B1Ymxp
YzoKKyAgICB1c2luZyBLZXlTZXNzaW9uVHlwZSA9IE1lZGlhS2V5U2Vzc2lvblR5cGU7CisKKyAg
ICBzdGF0aWMgUmVmPE1lZGlhS2V5cz4gY3JlYXRlKCkKKyAgICB7CisgICAgICAgIHJldHVybiBh
ZG9wdFJlZigqbmV3IE1lZGlhS2V5cyk7CisgICAgfQorCisgICAgdmlydHVhbCB+TWVkaWFLZXlz
KCk7CisKKyAgICBFeGNlcHRpb25PcjxSZWY8TWVkaWFLZXlTZXNzaW9uPj4gY3JlYXRlU2Vzc2lv
bihNZWRpYUtleVNlc3Npb25UeXBlKTsKKworICAgIHVzaW5nIFNldFNlcnZlckNlcnRpZmljYXRl
UHJvbWlzZSA9IERPTVByb21pc2U8Ym9vbD47CisgICAgdm9pZCBzZXRTZXJ2ZXJDZXJ0aWZpY2F0
ZShjb25zdCBCdWZmZXJTb3VyY2UmLCBTZXRTZXJ2ZXJDZXJ0aWZpY2F0ZVByb21pc2UmJik7CisK
K3Byb3RlY3RlZDoKKyAgICBNZWRpYUtleXMoKTsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKKworI2VuZGlmIC8vIEVOQUJMRShFTkNSWVBURURfTUVESUEpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5cy5pZGwgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5cy5pZGwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
M2Y5MDZiZTlhOTJhZmYyZTE4YTc0MWM4YmI0MGNjNjk3MWVhNWVhZAotLS0gL2Rldi9udWxsCisr
KyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlzLmlkbApA
QCAtMCwwICsxLDQwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE2IE1ldHJvbG9naWNhbCBH
cm91cCBCLlYuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTYgSWdhbGlhIFMuTC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZQorICogICAgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcKKyAqICAgIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZAorICogICAgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdI
VCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IK
KyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBUSEUgQ09QWVJJR0hUCisgKiBIT0xERVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisg
KiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICovCisKK2VudW0gTWVkaWFLZXlTZXNzaW9uVHlwZSB7CisgICAgInRl
bXBvcmFyeSIsCisgICAgInBlcnNpc3RlbnQtdXNhZ2UtcmVjb3JkIiwKKyAgICAicGVyc2lzdGVu
dC1saWNlbnNlIgorfTsKKyAKK1sKKyAgICBDb25kaXRpb25hbD1FTkNSWVBURURfTUVESUEsCitd
IGludGVyZmFjZSBNZWRpYUtleXMgeworICAgIFtNYXlUaHJvd0V4Y2VwdGlvbl0gTWVkaWFLZXlT
ZXNzaW9uIGNyZWF0ZVNlc3Npb24ob3B0aW9uYWwgTWVkaWFLZXlTZXNzaW9uVHlwZSBzZXNzaW9u
VHlwZSA9ICJ0ZW1wb3JhcnkiKTsKKyAgICBQcm9taXNlIHNldFNlcnZlckNlcnRpZmljYXRlKEJ1
ZmZlclNvdXJjZSBzZXJ2ZXJDZXJ0aWZpY2F0ZSk7Cit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleXNSZXF1aXJlbWVudC5oIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleXNSZXF1aXJlbWVudC5o
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmM2YWY2YjRmZTAwYmRjNDM0ZDMzYmRiZDU5ZTc5MGU1NGVlYWE0NzMKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01l
ZGlhS2V5c1JlcXVpcmVtZW50LmgKQEAgLTAsMCArMSw0MyBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAxNiBNZXRyb2xvZ2ljYWwgR3JvdXAgQi5WLgorICogQ29weXJpZ2h0IChDKSAyMDE2IEln
YWxpYSBTLkwuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6Cisg
KgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqICAgIGNvcHlyaWdodCBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nCisgKiAgICBkaXNjbGFp
bWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQK
KyAqICAgIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMg
SVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogSE9MREVSIE9SIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAor
ICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UK
KworI2lmIEVOQUJMRShFTkNSWVBURURfTUVESUEpCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwor
ZW51bSBjbGFzcyBNZWRpYUtleXNSZXF1aXJlbWVudCB7CisgICAgUmVxdWlyZWQsCisgICAgT3B0
aW9uYWwsCisgICAgTm90QWxsb3dlZAorfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisj
ZW5kaWYgLy8gRU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTmF2aWdhdG9yRU1FLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTmF2aWdhdG9yRU1FLmNwcApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4w
OTYwMWE1YmU5ZTE2YzViOTU4Y2QyYzdlNTE4NTFiMzIyMDVmZTI2Ci0tLSAvZGV2L251bGwKKysr
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9OYXZpZ2F0b3JFTUUuY3Bw
CkBAIC0wLDAgKzEsNDUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTYgTWV0cm9sb2dpY2Fs
IEdyb3VwIEIuVi4KKyAqIENvcHlyaWdodCAoQykgMjAxNiBJZ2FsaWEgUy5MLgorICoKKyAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICoKKyAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlCisgKiAgICBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZworICogICAgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkCisgKiAgICB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJ
R0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8s
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIFRIRSBDT1BZUklHSFQKKyAqIEhPTERFUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UK
KyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIk5h
dmlnYXRvckVNRS5oIgorCisjaWYgRU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkKKworI2luY2x1ZGUg
Ik5vdEltcGxlbWVudGVkLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwordm9pZCBOYXZpZ2F0
b3JFTUU6OnJlcXVlc3RNZWRpYUtleVN5c3RlbUFjY2VzcyhOYXZpZ2F0b3ImLCBjb25zdCBTdHJp
bmcmLCBWZWN0b3I8TWVkaWFLZXlTeXN0ZW1Db25maWd1cmF0aW9uPiYmLCBSZXF1ZXN0TWVkaWFL
ZXlTeXN0ZW1BY2Nlc3NQcm9taXNlJiYpCit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKK30KKwor
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKEVOQ1JZUFRFRF9NRURJ
QSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTmF2
aWdhdG9yRU1FLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL05hdmln
YXRvckVNRS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmM2MmNlNjFjODg5ZjhhYzFkNGIxM2E1NWMwMmIyNzc0ZWUz
YzViM2IKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRl
ZG1lZGlhL05hdmlnYXRvckVNRS5oCkBAIC0wLDAgKzEsNTEgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTYgTWV0cm9sb2dpY2FsIEdyb3VwIEIuVi4KKyAqIENvcHlyaWdodCAoQykgMjAxNiBJ
Z2FsaWEgUy5MLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0Ogor
ICoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiAgICBjb3B5cmlnaHQgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZworICogICAgZGlzY2xh
aW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
CisgKiAgICB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFT
IElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIEhPTERFUiBPUiBDT05U
UklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwK
KyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNl
CisKKyNpZiBFTkFCTEUoRU5DUllQVEVEX01FRElBKQorCisjaW5jbHVkZSAiSlNET01Qcm9taXNl
LmgiCisjaW5jbHVkZSAiTWVkaWFLZXlTeXN0ZW1Db25maWd1cmF0aW9uLmgiCisjaW5jbHVkZSAi
U3VwcGxlbWVudGFibGUuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBNZWRpYUtl
eVN5c3RlbUFjY2VzczsKK2NsYXNzIE5hdmlnYXRvcjsKK2NsYXNzIFBhZ2U7CisKK2NsYXNzIE5h
dmlnYXRvckVNRSBmaW5hbCA6IHB1YmxpYyBTdXBwbGVtZW50PFBhZ2U+IHsKK3B1YmxpYzoKKyAg
ICB0eXBlZGVmIERPTVByb21pc2U8TWVkaWFLZXlTeXN0ZW1BY2Nlc3M+IFJlcXVlc3RNZWRpYUtl
eVN5c3RlbUFjY2Vzc1Byb21pc2U7CisgICAgc3RhdGljIHZvaWQgcmVxdWVzdE1lZGlhS2V5U3lz
dGVtQWNjZXNzKE5hdmlnYXRvciYsIGNvbnN0IFN0cmluZyYsIFZlY3RvcjxNZWRpYUtleVN5c3Rl
bUNvbmZpZ3VyYXRpb24+JiYsIFJlcXVlc3RNZWRpYUtleVN5c3RlbUFjY2Vzc1Byb21pc2UmJik7
Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoRU5DUllQ
VEVEX01FRElBKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRt
ZWRpYS9OYXZpZ2F0b3JFTUUuaWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRt
ZWRpYS9OYXZpZ2F0b3JFTUUuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmY2MjdiYzBiZjU5OWZiNDIwMzNjNzQ5
NzhkZTdmMDE4YWFmNjYwYTEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2VuY3J5cHRlZG1lZGlhL05hdmlnYXRvckVNRS5pZGwKQEAgLTAsMCArMSwzMyBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAxNiBNZXRyb2xvZ2ljYWwgR3JvdXAgQi5WLgorICogQ29weXJp
Z2h0IChDKSAyMDE2IElnYWxpYSBTLkwuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
KyAqIGFyZSBtZXQ6CisgKgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqICAgIGNv
cHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
CisgKiAgICBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQKKyAqICAgIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJ
QlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICog
SE9MREVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLwor
CitbCisgICAgQ29uZGl0aW9uYWw9RU5DUllQVEVEX01FRElBCitdIHBhcnRpYWwgaW50ZXJmYWNl
IE5hdmlnYXRvciB7CisgICAgUHJvbWlzZSByZXF1ZXN0TWVkaWFLZXlTeXN0ZW1BY2Nlc3MoRE9N
U3RyaW5nIGtleVN5c3RlbSwgc2VxdWVuY2U8TWVkaWFLZXlTeXN0ZW1Db25maWd1cmF0aW9uPiBz
dXBwb3J0ZWRDb25maWd1cmF0aW9uKTsKK307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggODUzN2EyYmY5YzA2NTkwNGQwZmJiYzFl
YThlN2FmZjMyMTcyNzA4MC4uZTI5ZDYyNDU1NGU3MmI4OWM0ZDdlY2UwY2E0NjhiMmU5MzBmNTNl
YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagpAQCAtMTI1Niw2ICsxMjU2LDMzIEBACiAJCTJEOTNBRUU0MTlERjU2NDEwMDJBODZDMyAv
KiBTZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMkQ5M0FFRTIxOURGNTY0MTAwMkE4NkMzIC8qIFNlcnZpY2Vz
T3ZlcmxheUNvbnRyb2xsZXIubW0gKi87IH07CiAJCTJEOTdGMDQ3MTlERDQxM0MwMDFFRTlDMyAv
KiBNb2NrUGFnZU92ZXJsYXlDbGllbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMkRBQUUzMkMxOURDQUY2MDAwRTAwMkQyIC8qIE1vY2tQYWdlT3Zl
cmxheUNsaWVudC5jcHAgKi87IH07CiAJCTJEOTdGMDQ4MTlERDQxNDAwMDFFRTlDMyAvKiBNb2Nr
UGFnZU92ZXJsYXlDbGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDJEQUFFMzJEMTlEQ0FGNjAwMEUwMDJEMiAvKiBNb2NrUGFnZU92ZXJsYXlDbGll
bnQuaCAqLzsgfTsKKwkJMkQ5QkY3MDUxREJGQkIyNDAwN0E3RDk5IC8qIE1lZGlhRW5jcnlwdGVk
RXZlbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
MkQ5QkY3MDExREJGQkIyNDAwN0E3RDk5IC8qIE1lZGlhRW5jcnlwdGVkRXZlbnQuY3BwICovOyB9
OworCQkyRDlCRjcwNjFEQkZCQjI0MDA3QTdEOTkgLyogTWVkaWFFbmNyeXB0ZWRFdmVudC5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkQ5QkY3MDIxREJG
QkIyNDAwN0E3RDk5IC8qIE1lZGlhRW5jcnlwdGVkRXZlbnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRU
UklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQkyRDlCRjcwODFEQkZCQjI0MDA3QTdEOTkg
LyogTWVkaWFFbmNyeXB0ZWRFdmVudEluaXQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDJEOUJGNzA0MURCRkJCMjQwMDdBN0Q5OSAvKiBNZWRpYUVuY3J5
cHRlZEV2ZW50SW5pdC5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7
IH07IH07CisJCTJEOUJGNzEwMURCRkQ4Q0UwMDdBN0Q5OSAvKiBKU01lZGlhRW5jcnlwdGVkRXZl
bnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkQ5
QkY3MEYxREJGRDhDRTAwN0E3RDk5IC8qIEpTTWVkaWFFbmNyeXB0ZWRFdmVudC5jcHAgKi87IH07
CisJCTJEOUJGNzEyMURCRkQ5MTQwMDdBN0Q5OSAvKiBKU01lZGlhRW5jcnlwdGVkRXZlbnQuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJEOUJGNzExMURC
RkQ5MTQwMDdBN0Q5OSAvKiBKU01lZGlhRW5jcnlwdGVkRXZlbnQuaCAqLzsgfTsKKwkJMkQ5QkY3
MjExREJGREFCQTAwN0E3RDk5IC8qIEpTTWVkaWFLZXlNZXNzYWdlRXZlbnQuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkQ5QkY3MTMxREJGREFCMTAw
N0E3RDk5IC8qIEpTTWVkaWFLZXlNZXNzYWdlRXZlbnQuY3BwICovOyB9OworCQkyRDlCRjcyMjFE
QkZEQUNCMDA3QTdEOTkgLyogSlNNZWRpYUtleXMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkQ5QkY3MTUxREJGREFCMTAwN0E3RDk5IC8qIEpTTWVk
aWFLZXlzLmNwcCAqLzsgfTsKKwkJMkQ5QkY3MjMxREJGREFDRDAwN0E3RDk5IC8qIEpTTWVkaWFL
ZXlTZXNzaW9uLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDJEOUJGNzE3MURCRkRBQjEwMDdBN0Q5OSAvKiBKU01lZGlhS2V5U2Vzc2lvbi5jcHAgKi87
IH07CisJCTJEOUJGNzI0MURCRkRBRDAwMDdBN0Q5OSAvKiBKU01lZGlhS2V5U3RhdHVzTWFwLmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJEOUJGNzE5
MURCRkRBQjEwMDdBN0Q5OSAvKiBKU01lZGlhS2V5U3RhdHVzTWFwLmNwcCAqLzsgfTsKKwkJMkQ5
QkY3MjUxREJGREFEMzAwN0E3RDk5IC8qIEpTTWVkaWFLZXlTeXN0ZW1BY2Nlc3MuY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkQ5QkY3MUIxREJGREFC
MTAwN0E3RDk5IC8qIEpTTWVkaWFLZXlTeXN0ZW1BY2Nlc3MuY3BwICovOyB9OworCQkyRDlCRjcy
NjFEQkZEQUQ1MDA3QTdEOTkgLyogSlNNZWRpYUtleVN5c3RlbUNvbmZpZ3VyYXRpb24uY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkQ5QkY3MUQxREJG
REFCMTAwN0E3RDk5IC8qIEpTTWVkaWFLZXlTeXN0ZW1Db25maWd1cmF0aW9uLmNwcCAqLzsgfTsK
KwkJMkQ5QkY3MjcxREJGREFEODAwN0E3RDk5IC8qIEpTTWVkaWFLZXlTeXN0ZW1NZWRpYUNhcGFi
aWxpdHkuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
MkQ5QkY3MUYxREJGREFCMTAwN0E3RDk5IC8qIEpTTWVkaWFLZXlTeXN0ZW1NZWRpYUNhcGFiaWxp
dHkuY3BwICovOyB9OworCQkyRDlCRjcyODFEQkZEQjBEMDA3QTdEOTkgLyogSlNNZWRpYUtleU1l
c3NhZ2VFdmVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMkQ5QkY3MTQxREJGREFCMTAwN0E3RDk5IC8qIEpTTWVkaWFLZXlNZXNzYWdlRXZlbnQuaCAq
LzsgfTsKKwkJMkQ5QkY3MjkxREJGREIxMDAwN0E3RDk5IC8qIEpTTWVkaWFLZXlzLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRDlCRjcxNjFEQkZEQUIx
MDA3QTdEOTkgLyogSlNNZWRpYUtleXMuaCAqLzsgfTsKKwkJMkQ5QkY3MkExREJGREIxMzAwN0E3
RDk5IC8qIEpTTWVkaWFLZXlTZXNzaW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAyRDlCRjcxODFEQkZEQUIxMDA3QTdEOTkgLyogSlNNZWRpYUtleVNl
c3Npb24uaCAqLzsgfTsKKwkJMkQ5QkY3MkIxREJGREIxNTAwN0E3RDk5IC8qIEpTTWVkaWFLZXlT
dGF0dXNNYXAuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDJEOUJGNzFBMURCRkRBQjEwMDdBN0Q5OSAvKiBKU01lZGlhS2V5U3RhdHVzTWFwLmggKi87IH07
CisJCTJEOUJGNzJDMURCRkRCMTcwMDdBN0Q5OSAvKiBKU01lZGlhS2V5U3lzdGVtQWNjZXNzLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRDlCRjcxQzFE
QkZEQUIxMDA3QTdEOTkgLyogSlNNZWRpYUtleVN5c3RlbUFjY2Vzcy5oICovOyB9OworCQkyRDlC
RjcyRDFEQkZEQjE5MDA3QTdEOTkgLyogSlNNZWRpYUtleVN5c3RlbUNvbmZpZ3VyYXRpb24uaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJEOUJGNzFFMURC
RkRBQjEwMDdBN0Q5OSAvKiBKU01lZGlhS2V5U3lzdGVtQ29uZmlndXJhdGlvbi5oICovOyB9Owor
CQkyRDlCRjcyRTFEQkZEQjFDMDA3QTdEOTkgLyogSlNNZWRpYUtleVN5c3RlbU1lZGlhQ2FwYWJp
bGl0eS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkQ5
QkY3MjAxREJGREFCMTAwN0E3RDk5IC8qIEpTTWVkaWFLZXlTeXN0ZW1NZWRpYUNhcGFiaWxpdHku
aCAqLzsgfTsKKwkJMkQ5QkY3NDIxREJGREMyNzAwN0E3RDk5IC8qIE5hdmlnYXRvckVNRS5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRDlCRjc0MDFE
QkZEQzBGMDA3QTdEOTkgLyogTmF2aWdhdG9yRU1FLmNwcCAqLzsgfTsKKwkJMkQ5QkY3NDMxREJG
REMzRTAwN0E3RDk5IC8qIE1lZGlhS2V5U3lzdGVtQWNjZXNzLmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJEOUJGNzNDMURCRkRDMEYwMDdBN0Q5OSAv
KiBNZWRpYUtleVN5c3RlbUFjY2Vzcy5jcHAgKi87IH07CisJCTJEOUJGNzQ0MURCRkRDNDEwMDdB
N0Q5OSAvKiBNZWRpYUtleVN0YXR1c01hcC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSAyRDlCRjczQTFEQkZEQzBGMDA3QTdEOTkgLyogTWVkaWFLZXlT
dGF0dXNNYXAuY3BwICovOyB9OworCQkyRDlCRjc0NTFEQkZEQzQ0MDA3QTdEOTkgLyogTWVkaWFL
ZXlTZXNzaW9uLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDJEOUJGNzM1MURCRkRDMEYwMDdBN0Q5OSAvKiBNZWRpYUtleVNlc3Npb24uY3BwICovOyB9
OworCQkyRDlCRjc0NjFEQkZEQzQ3MDA3QTdEOTkgLyogTWVkaWFLZXlzLmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJEOUJGNzMzMURCRkRDMEYwMDdB
N0Q5OSAvKiBNZWRpYUtleXMuY3BwICovOyB9OworCQkyRDlCRjc0NzFEQkZEQzQ5MDA3QTdEOTkg
LyogTWVkaWFLZXlNZXNzYWdlRXZlbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMkQ5QkY3MkYxREJGREMwRjAwN0E3RDk5IC8qIE1lZGlhS2V5TWVz
c2FnZUV2ZW50LmNwcCAqLzsgfTsKKwkJMkQ5QkY3NEExREJGRERGRjAwN0E3RDk5IC8qIEpTTWVk
aWFLZXlTZXNzaW9uQ3VzdG9tLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDJEOUJGNzQ4MURCRkRERjgwMDdBN0Q5OSAvKiBKU01lZGlhS2V5U2Vzc2lv
bkN1c3RvbS5jcHAgKi87IH07CisJCTJEOUJGNzRCMURCRkRFMDIwMDdBN0Q5OSAvKiBKU01lZGlh
S2V5U3lzdGVtQWNjZXNzQ3VzdG9tLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDJEOUJGNzQ5MURCRkRERjgwMDdBN0Q5OSAvKiBKU01lZGlhS2V5U3lz
dGVtQWNjZXNzQ3VzdG9tLmNwcCAqLzsgfTsKIAkJMkQ5RjBFMTMxNEZGMUNCRjAwQkEwRkY3IC8q
IGxpbmVhclNSR0IuaWNjIGluIFJlc291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAyRDlGMEUxMjE0RkYxQ0JGMDBCQTBGRjcgLyogbGluZWFyU1JHQi5pY2MgKi87IH07
CiAJCTJEQjlDNEFBMUIzMjMxRjQwMDcwRjI3RiAvKiBOU0V2ZW50U1BJLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyREI5QzRBOTFCMzIzMUY0MDA3MEYy
N0YgLyogTlNFdmVudFNQSS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07CiAJCTJEQzRDRjc5MUQyREQ5ODkwMEVDQ0M5NCAvKiBEYXRhRGV0ZWN0b3JzVUlT
UEkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJEQzRD
Rjc4MUQyREQ5ODkwMEVDQ0M5NCAvKiBEYXRhRGV0ZWN0b3JzVUlTUEkuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAtODMwOSw2ICs4MzM2LDU1IEBA
CiAJCTJEOTA2NjBDMDY2NUQ5MzcwMDZCNkYxQSAvKiBEYXRhVHJhbnNmZXJNYWMubW0gKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gMzA7IGluZGVudFdpZHRoID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBEYXRh
VHJhbnNmZXJNYWMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IHRhYldpZHRoID0gODsgdXNl
c1RhYnMgPSAwOyB9OwogCQkyRDkzQUVFMTE5REY1NjQxMDAyQTg2QzMgLyogU2VydmljZXNPdmVy
bGF5Q29udHJvbGxlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTZXJ2aWNl
c092ZXJsYXlDb250cm9sbGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTJEOTNB
RUUyMTlERjU2NDEwMDJBODZDMyAvKiBTZXJ2aWNlc092ZXJsYXlDb250cm9sbGVyLm1tICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gU2VydmljZXNPdmVybGF5Q29udHJv
bGxlci5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMkQ5QkY2RjUxREJGQjcxRjAw
N0E3RDk5IC8qIE1lZGlhS2V5TWVzc2FnZUV2ZW50LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGgg
PSBNZWRpYUtleU1lc3NhZ2VFdmVudC5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTJEOUJGNkY2MURCRkI3MUYwMDdBN0Q5OSAvKiBNZWRpYUtleXMuaWRsICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4
dDsgcGF0aCA9IE1lZGlhS2V5cy5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTJE
OUJGNkY3MURCRkI3MUYwMDdBN0Q5OSAvKiBNZWRpYUtleVNlc3Npb24uaWRsICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
dGV4dDsgcGF0aCA9IE1lZGlhS2V5U2Vzc2lvbi5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCTJEOUJGNkY4MURCRkI3MUYwMDdBN0Q5OSAvKiBNZWRpYUtleVN0YXR1c01hcC5pZGwg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gTWVkaWFLZXlTdGF0dXNNYXAuaWRsOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQkyRDlCRjZGOTFEQkZCNzFGMDA3QTdEOTkgLyogTWVkaWFLZXlT
eXN0ZW1BY2Nlc3MuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IE1lZGlhS2V5U3lzdGVtQWNj
ZXNzLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMkQ5QkY2RkExREJGQjcxRjAw
N0E3RDk5IC8qIE1lZGlhS2V5U3lzdGVtQ29uZmlndXJhdGlvbi5pZGwgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0
OyBwYXRoID0gTWVkaWFLZXlTeXN0ZW1Db25maWd1cmF0aW9uLmlkbDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJMkQ5QkY2RkIxREJGQjcxRjAwN0E3RDk5IC8qIE1lZGlhS2V5U3lzdGVt
TWVkaWFDYXBhYmlsaXR5LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBNZWRpYUtleVN5c3Rl
bU1lZGlhQ2FwYWJpbGl0eS5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTJEOUJG
NkZDMURCRkI3MUYwMDdBN0Q5OSAvKiBOYXZpZ2F0b3JFTUUuaWRsICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsg
cGF0aCA9IE5hdmlnYXRvckVNRS5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTJE
OUJGNzAxMURCRkJCMjQwMDdBN0Q5OSAvKiBNZWRpYUVuY3J5cHRlZEV2ZW50LmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE1lZGlhRW5jcnlwdGVkRXZlbnQuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkyRDlCRjcwMjFEQkZCQjI0MDA3QTdEOTkgLyog
TWVkaWFFbmNyeXB0ZWRFdmVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBN
ZWRpYUVuY3J5cHRlZEV2ZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTJEOUJG
NzAzMURCRkJCMjQwMDdBN0Q5OSAvKiBNZWRpYUVuY3J5cHRlZEV2ZW50LmlkbCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHRleHQ7IHBhdGggPSBNZWRpYUVuY3J5cHRlZEV2ZW50LmlkbDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJMkQ5QkY3MDQxREJGQkIyNDAwN0E3RDk5IC8qIE1lZGlhRW5jcnlwdGVkRXZl
bnRJbml0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1lZGlhRW5jcnlwdGVk
RXZlbnRJbml0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTJEOUJGNzBGMURCRkQ4
Q0UwMDdBN0Q5OSAvKiBKU01lZGlhRW5jcnlwdGVkRXZlbnQuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gSlNNZWRpYUVuY3J5cHRlZEV2ZW50LmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMkQ5QkY3MTExREJGRDkxNDAwN0E3RDk5IC8qIEpTTWVkaWFF
bmNyeXB0ZWRFdmVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU01lZGlh
RW5jcnlwdGVkRXZlbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMkQ5QkY3MTMx
REJGREFCMTAwN0E3RDk5IC8qIEpTTWVkaWFLZXlNZXNzYWdlRXZlbnQuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNNZWRpYUtleU1lc3NhZ2VFdmVudC5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTJEOUJGNzE0MURCRkRBQjEwMDdBN0Q5OSAvKiBK
U01lZGlhS2V5TWVzc2FnZUV2ZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IEpTTWVkaWFLZXlNZXNzYWdlRXZlbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
MkQ5QkY3MTUxREJGREFCMTAwN0E3RDk5IC8qIEpTTWVkaWFLZXlzLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTTWVkaWFLZXlzLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJMkQ5QkY3MTYxREJGREFCMTAwN0E3RDk5IC8qIEpTTWVkaWFLZXlzLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTTWVkaWFLZXlzLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTJEOUJGNzE3MURCRkRBQjEwMDdBN0Q5OSAvKiBKU01lZGlh
S2V5U2Vzc2lvbi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU01l
ZGlhS2V5U2Vzc2lvbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTJEOUJGNzE4
MURCRkRBQjEwMDdBN0Q5OSAvKiBKU01lZGlhS2V5U2Vzc2lvbi5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBKU01lZGlhS2V5U2Vzc2lvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQkyRDlCRjcxOTFEQkZEQUIxMDA3QTdEOTkgLyogSlNNZWRpYUtleVN0YXR1c01h
cC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU01lZGlhS2V5U3Rh
dHVzTWFwLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMkQ5QkY3MUExREJGREFC
MTAwN0E3RDk5IC8qIEpTTWVkaWFLZXlTdGF0dXNNYXAuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gSlNNZWRpYUtleVN0YXR1c01hcC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQkyRDlCRjcxQjFEQkZEQUIxMDA3QTdEOTkgLyogSlNNZWRpYUtleVN5c3RlbUFjY2Vz
cy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU01lZGlhS2V5U3lz
dGVtQWNjZXNzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMkQ5QkY3MUMxREJG
REFCMTAwN0E3RDk5IC8qIEpTTWVkaWFLZXlTeXN0ZW1BY2Nlc3MuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gSlNNZWRpYUtleVN5c3RlbUFjY2Vzcy5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQkyRDlCRjcxRDFEQkZEQUIxMDA3QTdEOTkgLyogSlNNZWRpYUtleVN5
c3RlbUNvbmZpZ3VyYXRpb24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gSlNNZWRpYUtleVN5c3RlbUNvbmZpZ3VyYXRpb24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQkyRDlCRjcxRTFEQkZEQUIxMDA3QTdEOTkgLyogSlNNZWRpYUtleVN5c3RlbUNv
bmZpZ3VyYXRpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNNZWRpYUtl
eVN5c3RlbUNvbmZpZ3VyYXRpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMkQ5
QkY3MUYxREJGREFCMTAwN0E3RDk5IC8qIEpTTWVkaWFLZXlTeXN0ZW1NZWRpYUNhcGFiaWxpdHku
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNNZWRpYUtleVN5c3Rl
bU1lZGlhQ2FwYWJpbGl0eS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTJEOUJG
NzIwMURCRkRBQjEwMDdBN0Q5OSAvKiBKU01lZGlhS2V5U3lzdGVtTWVkaWFDYXBhYmlsaXR5Lmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTTWVkaWFLZXlTeXN0ZW1NZWRpYUNh
cGFiaWxpdHkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMkQ5QkY3MkYxREJGREMw
RjAwN0E3RDk5IC8qIE1lZGlhS2V5TWVzc2FnZUV2ZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IE1lZGlhS2V5TWVzc2FnZUV2ZW50LmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJMkQ5QkY3MzAxREJGREMwRjAwN0E3RDk5IC8qIE1lZGlhS2V5TWVz
c2FnZUV2ZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1lZGlhS2V5TWVz
c2FnZUV2ZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTJEOUJGNzMxMURCRkRD
MEYwMDdBN0Q5OSAvKiBNZWRpYUtleU1lc3NhZ2VFdmVudEluaXQuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gTWVkaWFLZXlNZXNzYWdlRXZlbnRJbml0Lmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCTJEOUJGNzMyMURCRkRDMEYwMDdBN0Q5OSAvKiBNZWRpYUtleU1l
c3NhZ2VUeXBlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1lZGlhS2V5TWVz
c2FnZVR5cGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMkQ5QkY3MzMxREJGREMw
RjAwN0E3RDk5IC8qIE1lZGlhS2V5cy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBNZWRpYUtleXMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkyRDlC
RjczNDFEQkZEQzBGMDA3QTdEOTkgLyogTWVkaWFLZXlzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IE1lZGlhS2V5cy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQky
RDlCRjczNTFEQkZEQzBGMDA3QTdEOTkgLyogTWVkaWFLZXlTZXNzaW9uLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE1lZGlhS2V5U2Vzc2lvbi5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTJEOUJGNzM2MURCRkRDMEYwMDdBN0Q5OSAvKiBNZWRpYUtl
eVNlc3Npb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTWVkaWFLZXlTZXNz
aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTJEOUJGNzM3MURCRkRDMEYwMDdB
N0Q5OSAvKiBNZWRpYUtleVNlc3Npb25UeXBlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IE1lZGlhS2V5U2Vzc2lvblR5cGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJMkQ5QkY3MzgxREJGREMwRjAwN0E3RDk5IC8qIE1lZGlhS2V5c1JlcXVpcmVtZW50LmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1lZGlhS2V5c1JlcXVpcmVtZW50Lmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTJEOUJGNzM5MURCRkRDMEYwMDdBN0Q5OSAvKiBN
ZWRpYUtleVN0YXR1cy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNZWRpYUtl
eVN0YXR1cy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkyRDlCRjczQTFEQkZEQzBG
MDA3QTdEOTkgLyogTWVkaWFLZXlTdGF0dXNNYXAuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gTWVkaWFLZXlTdGF0dXNNYXAuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQkyRDlCRjczQjFEQkZEQzBGMDA3QTdEOTkgLyogTWVkaWFLZXlTdGF0dXNNYXAu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTWVkaWFLZXlTdGF0dXNNYXAuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMkQ5QkY3M0MxREJGREMwRjAwN0E3RDk5IC8q
IE1lZGlhS2V5U3lzdGVtQWNjZXNzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IE1lZGlhS2V5U3lzdGVtQWNjZXNzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJMkQ5QkY3M0QxREJGREMwRjAwN0E3RDk5IC8qIE1lZGlhS2V5U3lzdGVtQWNjZXNzLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1lZGlhS2V5U3lzdGVtQWNjZXNzLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTJEOUJGNzNFMURCRkRDMEYwMDdBN0Q5OSAv
KiBNZWRpYUtleVN5c3RlbUNvbmZpZ3VyYXRpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gTWVkaWFLZXlTeXN0ZW1Db25maWd1cmF0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCTJEOUJGNzNGMURCRkRDMEYwMDdBN0Q5OSAvKiBNZWRpYUtleVN5c3RlbU1l
ZGlhQ2FwYWJpbGl0eS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNZWRpYUtl
eVN5c3RlbU1lZGlhQ2FwYWJpbGl0eS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQky
RDlCRjc0MDFEQkZEQzBGMDA3QTdEOTkgLyogTmF2aWdhdG9yRU1FLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE5hdmlnYXRvckVNRS5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCTJEOUJGNzQxMURCRkRDMEYwMDdBN0Q5OSAvKiBOYXZpZ2F0b3JFTUUu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTmF2aWdhdG9yRU1FLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTJEOUJGNzQ4MURCRkRERjgwMDdBN0Q5OSAvKiBKU01l
ZGlhS2V5U2Vzc2lvbkN1c3RvbS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBKU01lZGlhS2V5U2Vzc2lvbkN1c3RvbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCTJEOUJGNzQ5MURCRkRERjgwMDdBN0Q5OSAvKiBKU01lZGlhS2V5U3lzdGVtQWNjZXNz
Q3VzdG9tLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTTWVkaWFL
ZXlTeXN0ZW1BY2Nlc3NDdXN0b20uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQky
RDlGMEUxMjE0RkYxQ0JGMDBCQTBGRjcgLyogbGluZWFyU1JHQi5pY2MgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBmaWxlOyBwYXRoID0gbGluZWFyU1JH
Qi5pY2M7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTJEQUFFMzJDMTlEQ0FGNjAwMEUw
MDJEMiAvKiBNb2NrUGFnZU92ZXJsYXlDbGllbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gTW9ja1BhZ2VPdmVybGF5Q2xpZW50LmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJMkRBQUUzMkQxOURDQUY2MDAwRTAwMkQyIC8qIE1vY2tQYWdlT3Zlcmxh
eUNsaWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNb2NrUGFnZU92ZXJs
YXlDbGllbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE4NzQyLDYgKzE4ODE4
LDEwIEBACiAJCQkJOTcyMDVBQjQxMjM5MjkxMDAwQjE3MzgwIC8qIE1lZGlhRG9jdW1lbnQuaCAq
LywKIAkJCQkwN0ZFOTlEQTE4ODA3QTdEMDAyNTY2NDggLyogTWVkaWFFbGVtZW50U2Vzc2lvbi5j
cHAgKi8sCiAJCQkJMDdGRTk5REIxODgwN0E3RDAwMjU2NjQ4IC8qIE1lZGlhRWxlbWVudFNlc3Np
b24uaCAqLywKKwkJCQkyRDlCRjcwMTFEQkZCQjI0MDA3QTdEOTkgLyogTWVkaWFFbmNyeXB0ZWRF
dmVudC5jcHAgKi8sCisJCQkJMkQ5QkY3MDIxREJGQkIyNDAwN0E3RDk5IC8qIE1lZGlhRW5jcnlw
dGVkRXZlbnQuaCAqLywKKwkJCQkyRDlCRjcwMzFEQkZCQjI0MDA3QTdEOTkgLyogTWVkaWFFbmNy
eXB0ZWRFdmVudC5pZGwgKi8sCisJCQkJMkQ5QkY3MDQxREJGQkIyNDAwN0E3RDk5IC8qIE1lZGlh
RW5jcnlwdGVkRXZlbnRJbml0LmggKi8sCiAJCQkJRTQ0NjEzOUIwQ0Q2MzMxMDAwRkFEQTc1IC8q
IE1lZGlhRXJyb3IuaCAqLywKIAkJCQlFNDQ2MTM5QzBDRDYzMzEwMDBGQURBNzUgLyogTWVkaWFF
cnJvci5pZGwgKi8sCiAJCQkJMDdBNkQxRTkxNDkxMTM3NzAwMDUxRDBDIC8qIE1lZGlhRnJhZ21l
bnRVUklQYXJzZXIuY3BwICovLApAQCAtMTk2OTUsNiArMTk3NzUsOCBAQAogCQkJCUE3Nzk3OTI1
MEQ2QjlFNjQwMDM4NTFCOSAvKiBKU0ltYWdlRGF0YS5oICovLAogCQkJCUNEMjdGNkUyMTQ1NzY3
NTgwMDc4MjA3RCAvKiBKU01lZGlhQ29udHJvbGxlci5jcHAgKi8sCiAJCQkJQ0QyN0Y2RTMxNDU3
Njc1ODAwNzgyMDdEIC8qIEpTTWVkaWFDb250cm9sbGVyLmggKi8sCisJCQkJMkQ5QkY3MEYxREJG
RDhDRTAwN0E3RDk5IC8qIEpTTWVkaWFFbmNyeXB0ZWRFdmVudC5jcHAgKi8sCisJCQkJMkQ5QkY3
MTExREJGRDkxNDAwN0E3RDk5IC8qIEpTTWVkaWFFbmNyeXB0ZWRFdmVudC5oICovLAogCQkJCUU0
NDYxNDEwMENENjgyNjkwMEZBREE3NSAvKiBKU01lZGlhRXJyb3IuY3BwICovLAogCQkJCUU0NDYx
NDExMENENjgyNjkwMEZBREE3NSAvKiBKU01lZGlhRXJyb3IuaCAqLywKIAkJCQlDOTAyNkI2MzFC
MUNGNUFCMDAxRDk5QTcgLyogSlNNZWRpYVJlbW90ZUNvbnRyb2xzLmNwcCAqLywKQEAgLTIxNzI2
LDYgKzIxODA4LDggQEAKIAkJCQk4RjkzNEQ4NDExODlGMUVFMDA1MDhENUQgLyogSlNNYWluVGhy
ZWFkRXhlY1N0YXRlLmNwcCAqLywKIAkJCQk4RjkzNEQ4MzExODlGMUVFMDA1MDhENUQgLyogSlNN
YWluVGhyZWFkRXhlY1N0YXRlLmggKi8sCiAJCQkJQjU2NTc2RTQxN0RBNTk5RjAwQTU2QkRDIC8q
IEpTTWFpblRocmVhZEV4ZWNTdGF0ZUluc3RydW1lbnRhdGlvbi5oICovLAorCQkJCTJEOUJGNzQ4
MURCRkRERjgwMDdBN0Q5OSAvKiBKU01lZGlhS2V5U2Vzc2lvbkN1c3RvbS5jcHAgKi8sCisJCQkJ
MkQ5QkY3NDkxREJGRERGODAwN0E3RDk5IC8qIEpTTWVkaWFLZXlTeXN0ZW1BY2Nlc3NDdXN0b20u
Y3BwICovLAogCQkJCUM2RjQyMEEwMTZCNzE2NEUwMDUyQTlGMiAvKiBKU011dGF0aW9uQ2FsbGJh
Y2suY3BwICovLAogCQkJCUM2RjQyMEExMTZCNzE2NEUwMDUyQTlGMiAvKiBKU011dGF0aW9uQ2Fs
bGJhY2suaCAqLywKIAkJCQlDQjM4RkQ1NTFDRDIxRDVCMDA1OTJBM0YgLyogSlNQZXJmb3JtYW5j
ZUVudHJ5Q3VzdG9tLmNwcCAqLywKQEAgLTIyNTEzLDYgKzIyNTk3LDMzIEBACiAJCQkJQ0RDQTk4
RTkxOEIyQzhEMDAwQzEyRkY5IC8qIENETVByaXZhdGVNZWRpYVBsYXllci5oICovLAogCQkJCUNE
RThCNUVFMUE2OTc3OEIwMEI0QjY2QSAvKiBDRE1TZXNzaW9uQ2xlYXJLZXkuY3BwICovLAogCQkJ
CUNERThCNUVGMUE2OTc3OEIwMEI0QjY2QSAvKiBDRE1TZXNzaW9uQ2xlYXJLZXkuaCAqLywKKwkJ
CQkyRDlCRjcyRjFEQkZEQzBGMDA3QTdEOTkgLyogTWVkaWFLZXlNZXNzYWdlRXZlbnQuY3BwICov
LAorCQkJCTJEOUJGNzMwMURCRkRDMEYwMDdBN0Q5OSAvKiBNZWRpYUtleU1lc3NhZ2VFdmVudC5o
ICovLAorCQkJCTJEOUJGNkY1MURCRkI3MUYwMDdBN0Q5OSAvKiBNZWRpYUtleU1lc3NhZ2VFdmVu
dC5pZGwgKi8sCisJCQkJMkQ5QkY3MzExREJGREMwRjAwN0E3RDk5IC8qIE1lZGlhS2V5TWVzc2Fn
ZUV2ZW50SW5pdC5oICovLAorCQkJCTJEOUJGNzMyMURCRkRDMEYwMDdBN0Q5OSAvKiBNZWRpYUtl
eU1lc3NhZ2VUeXBlLmggKi8sCisJCQkJMkQ5QkY3MzMxREJGREMwRjAwN0E3RDk5IC8qIE1lZGlh
S2V5cy5jcHAgKi8sCisJCQkJMkQ5QkY3MzQxREJGREMwRjAwN0E3RDk5IC8qIE1lZGlhS2V5cy5o
ICovLAorCQkJCTJEOUJGNkY2MURCRkI3MUYwMDdBN0Q5OSAvKiBNZWRpYUtleXMuaWRsICovLAor
CQkJCTJEOUJGNzM1MURCRkRDMEYwMDdBN0Q5OSAvKiBNZWRpYUtleVNlc3Npb24uY3BwICovLAor
CQkJCTJEOUJGNzM2MURCRkRDMEYwMDdBN0Q5OSAvKiBNZWRpYUtleVNlc3Npb24uaCAqLywKKwkJ
CQkyRDlCRjZGNzFEQkZCNzFGMDA3QTdEOTkgLyogTWVkaWFLZXlTZXNzaW9uLmlkbCAqLywKKwkJ
CQkyRDlCRjczNzFEQkZEQzBGMDA3QTdEOTkgLyogTWVkaWFLZXlTZXNzaW9uVHlwZS5oICovLAor
CQkJCTJEOUJGNzM4MURCRkRDMEYwMDdBN0Q5OSAvKiBNZWRpYUtleXNSZXF1aXJlbWVudC5oICov
LAorCQkJCTJEOUJGNzM5MURCRkRDMEYwMDdBN0Q5OSAvKiBNZWRpYUtleVN0YXR1cy5oICovLAor
CQkJCTJEOUJGNzNBMURCRkRDMEYwMDdBN0Q5OSAvKiBNZWRpYUtleVN0YXR1c01hcC5jcHAgKi8s
CisJCQkJMkQ5QkY3M0IxREJGREMwRjAwN0E3RDk5IC8qIE1lZGlhS2V5U3RhdHVzTWFwLmggKi8s
CisJCQkJMkQ5QkY2RjgxREJGQjcxRjAwN0E3RDk5IC8qIE1lZGlhS2V5U3RhdHVzTWFwLmlkbCAq
LywKKwkJCQkyRDlCRjczQzFEQkZEQzBGMDA3QTdEOTkgLyogTWVkaWFLZXlTeXN0ZW1BY2Nlc3Mu
Y3BwICovLAorCQkJCTJEOUJGNzNEMURCRkRDMEYwMDdBN0Q5OSAvKiBNZWRpYUtleVN5c3RlbUFj
Y2Vzcy5oICovLAorCQkJCTJEOUJGNkY5MURCRkI3MUYwMDdBN0Q5OSAvKiBNZWRpYUtleVN5c3Rl
bUFjY2Vzcy5pZGwgKi8sCisJCQkJMkQ5QkY3M0UxREJGREMwRjAwN0E3RDk5IC8qIE1lZGlhS2V5
U3lzdGVtQ29uZmlndXJhdGlvbi5oICovLAorCQkJCTJEOUJGNkZBMURCRkI3MUYwMDdBN0Q5OSAv
KiBNZWRpYUtleVN5c3RlbUNvbmZpZ3VyYXRpb24uaWRsICovLAorCQkJCTJEOUJGNzNGMURCRkRD
MEYwMDdBN0Q5OSAvKiBNZWRpYUtleVN5c3RlbU1lZGlhQ2FwYWJpbGl0eS5oICovLAorCQkJCTJE
OUJGNkZCMURCRkI3MUYwMDdBN0Q5OSAvKiBNZWRpYUtleVN5c3RlbU1lZGlhQ2FwYWJpbGl0eS5p
ZGwgKi8sCisJCQkJMkQ5QkY3NDAxREJGREMwRjAwN0E3RDk5IC8qIE5hdmlnYXRvckVNRS5jcHAg
Ki8sCisJCQkJMkQ5QkY3NDExREJGREMwRjAwN0E3RDk5IC8qIE5hdmlnYXRvckVNRS5oICovLAor
CQkJCTJEOUJGNkZDMURCRkI3MUYwMDdBN0Q5OSAvKiBOYXZpZ2F0b3JFTUUuaWRsICovLAogCQkJ
KTsKIAkJCXBhdGggPSBlbmNyeXB0ZWRtZWRpYTsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
CkBAIC0yMjUyMCw2ICsyMjYzMSwyMCBAQAogCQlDREE5OERDRDE2MDE1MTVDMDBGRUEzQjEgLyog
RW5jcnlwdGVkTWVkaWEgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0g
KAorCQkJCTJEOUJGNzEzMURCRkRBQjEwMDdBN0Q5OSAvKiBKU01lZGlhS2V5TWVzc2FnZUV2ZW50
LmNwcCAqLywKKwkJCQkyRDlCRjcxNDFEQkZEQUIxMDA3QTdEOTkgLyogSlNNZWRpYUtleU1lc3Nh
Z2VFdmVudC5oICovLAorCQkJCTJEOUJGNzE1MURCRkRBQjEwMDdBN0Q5OSAvKiBKU01lZGlhS2V5
cy5jcHAgKi8sCisJCQkJMkQ5QkY3MTYxREJGREFCMTAwN0E3RDk5IC8qIEpTTWVkaWFLZXlzLmgg
Ki8sCisJCQkJMkQ5QkY3MTcxREJGREFCMTAwN0E3RDk5IC8qIEpTTWVkaWFLZXlTZXNzaW9uLmNw
cCAqLywKKwkJCQkyRDlCRjcxODFEQkZEQUIxMDA3QTdEOTkgLyogSlNNZWRpYUtleVNlc3Npb24u
aCAqLywKKwkJCQkyRDlCRjcxOTFEQkZEQUIxMDA3QTdEOTkgLyogSlNNZWRpYUtleVN0YXR1c01h
cC5jcHAgKi8sCisJCQkJMkQ5QkY3MUExREJGREFCMTAwN0E3RDk5IC8qIEpTTWVkaWFLZXlTdGF0
dXNNYXAuaCAqLywKKwkJCQkyRDlCRjcxQjFEQkZEQUIxMDA3QTdEOTkgLyogSlNNZWRpYUtleVN5
c3RlbUFjY2Vzcy5jcHAgKi8sCisJCQkJMkQ5QkY3MUMxREJGREFCMTAwN0E3RDk5IC8qIEpTTWVk
aWFLZXlTeXN0ZW1BY2Nlc3MuaCAqLywKKwkJCQkyRDlCRjcxRDFEQkZEQUIxMDA3QTdEOTkgLyog
SlNNZWRpYUtleVN5c3RlbUNvbmZpZ3VyYXRpb24uY3BwICovLAorCQkJCTJEOUJGNzFFMURCRkRB
QjEwMDdBN0Q5OSAvKiBKU01lZGlhS2V5U3lzdGVtQ29uZmlndXJhdGlvbi5oICovLAorCQkJCTJE
OUJGNzFGMURCRkRBQjEwMDdBN0Q5OSAvKiBKU01lZGlhS2V5U3lzdGVtTWVkaWFDYXBhYmlsaXR5
LmNwcCAqLywKKwkJCQkyRDlCRjcyMDFEQkZEQUIxMDA3QTdEOTkgLyogSlNNZWRpYUtleVN5c3Rl
bU1lZGlhQ2FwYWJpbGl0eS5oICovLAogCQkJCUNEQTk4RDlCMTYwMTI4QTUwMEZFQTNCMSAvKiBK
U1dlYktpdE1lZGlhS2V5RXJyb3IuY3BwICovLAogCQkJCUNEQTk4RDlDMTYwMTI4QTUwMEZFQTNC
MSAvKiBKU1dlYktpdE1lZGlhS2V5RXJyb3IuaCAqLywKIAkJCQlDREE5OEREQjE2MDI2QTE4MDBG
RUEzQjEgLyogSlNXZWJLaXRNZWRpYUtleU1lc3NhZ2VFdmVudC5jcHAgKi8sCkBAIC0yNTk1Miw3
ICsyNjA3NywxNSBAQAogCQkJCTE1NzM5QkJCMUI0MjAxMkQwMEQyNThDMSAvKiBKU01lZGlhRGV2
aWNlcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMDcyQTcwNDMxRDczOTZCMzAwREYwQUZDIC8qIEpT
TWVkaWFEZXZpY2VzQ3VzdG9tLmggaW4gSGVhZGVycyAqLywKIAkJCQlGRDIzQTEyNjEzRjVGQTU5
MDBGNjcwMDEgLyogSlNNZWRpYUVsZW1lbnRBdWRpb1NvdXJjZU5vZGUuaCBpbiBIZWFkZXJzICov
LAorCQkJCTJEOUJGNzEyMURCRkQ5MTQwMDdBN0Q5OSAvKiBKU01lZGlhRW5jcnlwdGVkRXZlbnQu
aCBpbiBIZWFkZXJzICovLAogCQkJCUU0NDYxNDE5MENENjgyNjkwMEZBREE3NSAvKiBKU01lZGlh
RXJyb3IuaCBpbiBIZWFkZXJzICovLAorCQkJCTJEOUJGNzI4MURCRkRCMEQwMDdBN0Q5OSAvKiBK
U01lZGlhS2V5TWVzc2FnZUV2ZW50LmggaW4gSGVhZGVycyAqLywKKwkJCQkyRDlCRjcyOTFEQkZE
QjEwMDA3QTdEOTkgLyogSlNNZWRpYUtleXMuaCBpbiBIZWFkZXJzICovLAorCQkJCTJEOUJGNzJB
MURCRkRCMTMwMDdBN0Q5OSAvKiBKU01lZGlhS2V5U2Vzc2lvbi5oIGluIEhlYWRlcnMgKi8sCisJ
CQkJMkQ5QkY3MkIxREJGREIxNTAwN0E3RDk5IC8qIEpTTWVkaWFLZXlTdGF0dXNNYXAuaCBpbiBI
ZWFkZXJzICovLAorCQkJCTJEOUJGNzJDMURCRkRCMTcwMDdBN0Q5OSAvKiBKU01lZGlhS2V5U3lz
dGVtQWNjZXNzLmggaW4gSGVhZGVycyAqLywKKwkJCQkyRDlCRjcyRDFEQkZEQjE5MDA3QTdEOTkg
LyogSlNNZWRpYUtleVN5c3RlbUNvbmZpZ3VyYXRpb24uaCBpbiBIZWFkZXJzICovLAorCQkJCTJE
OUJGNzJFMURCRkRCMUMwMDdBN0Q5OSAvKiBKU01lZGlhS2V5U3lzdGVtTWVkaWFDYXBhYmlsaXR5
LmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzNDMzlCNzBDMEQzRDhEMDA1RjREN0EgLyogSlNNZWRp
YUxpc3QuaCBpbiBIZWFkZXJzICovLAogCQkJCTkzRDQzN0EzMUQ1N0I3RTIwMEFCODVFQSAvKiBK
U01lZGlhTGlzdEN1c3RvbS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRDNBOTRBNDcxMjJEQzQwRjAw
QTM3QkJDIC8qIEpTTWVkaWFRdWVyeUxpc3QuaCBpbiBIZWFkZXJzICovLApAQCAtMjY0MjIsNiAr
MjY1NTUsOCBAQAogCQkJCTk3MjA1QUI4MTIzOTI5MTAwMEIxNzM4MCAvKiBNZWRpYURvY3VtZW50
LmggaW4gSGVhZGVycyAqLywKIAkJCQlGRDZGMjUyRDEzRjVFRjBFMDA2NTE2NUYgLyogTWVkaWFF
bGVtZW50QXVkaW9Tb3VyY2VOb2RlLmggaW4gSGVhZGVycyAqLywKIAkJCQkwN0ZFOTlERDE4ODA3
QTdEMDAyNTY2NDggLyogTWVkaWFFbGVtZW50U2Vzc2lvbi5oIGluIEhlYWRlcnMgKi8sCisJCQkJ
MkQ5QkY3MDYxREJGQkIyNDAwN0E3RDk5IC8qIE1lZGlhRW5jcnlwdGVkRXZlbnQuaCBpbiBIZWFk
ZXJzICovLAorCQkJCTJEOUJGNzA4MURCRkJCMjQwMDdBN0Q5OSAvKiBNZWRpYUVuY3J5cHRlZEV2
ZW50SW5pdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNUVCQjg5MzUxQzc3NzgyOTAwQzY1RDQxIC8q
IE1lZGlhRW5kcG9pbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTVFQkI4OTM3MUM3Nzc4MjkwMEM2
NUQ0MSAvKiBNZWRpYUVuZHBvaW50Q29uZmlndXJhdGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
NUUxNkEyRTQxQkZBNjUwQjAwMjlBMjFFIC8qIE1lZGlhRW5kcG9pbnRQZWVyQ29ubmVjdGlvbi5o
IGluIEhlYWRlcnMgKi8sCkBAIC0yOTcxMiw3ICsyOTg0NywxNyBAQAogCQkJCTE1NzM5QkJBMUI0
MjAxMkEwMEQyNThDMSAvKiBKU01lZGlhRGV2aWNlcy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkx
Qjg4REQxMzFENUI5RTUwMDBFM0I3QTQgLyogSlNNZWRpYURldmljZXNDdXN0b20uY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJRkQyM0ExMjUxM0Y1RkE1OTAwRjY3MDAxIC8qIEpTTWVkaWFFbGVtZW50
QXVkaW9Tb3VyY2VOb2RlLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTJEOUJGNzEwMURCRkQ4Q0Uw
MDdBN0Q5OSAvKiBKU01lZGlhRW5jcnlwdGVkRXZlbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
RTQ0NjE0MTgwQ0Q2ODI2OTAwRkFEQTc1IC8qIEpTTWVkaWFFcnJvci5jcHAgaW4gU291cmNlcyAq
LywKKwkJCQkyRDlCRjcyMTFEQkZEQUJBMDA3QTdEOTkgLyogSlNNZWRpYUtleU1lc3NhZ2VFdmVu
dC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkyRDlCRjcyMjFEQkZEQUNCMDA3QTdEOTkgLyogSlNN
ZWRpYUtleXMuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMkQ5QkY3MjMxREJGREFDRDAwN0E3RDk5
IC8qIEpTTWVkaWFLZXlTZXNzaW9uLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTJEOUJGNzRBMURC
RkRERkYwMDdBN0Q5OSAvKiBKU01lZGlhS2V5U2Vzc2lvbkN1c3RvbS5jcHAgaW4gU291cmNlcyAq
LywKKwkJCQkyRDlCRjcyNDFEQkZEQUQwMDA3QTdEOTkgLyogSlNNZWRpYUtleVN0YXR1c01hcC5j
cHAgaW4gU291cmNlcyAqLywKKwkJCQkyRDlCRjcyNTFEQkZEQUQzMDA3QTdEOTkgLyogSlNNZWRp
YUtleVN5c3RlbUFjY2Vzcy5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkyRDlCRjc0QjFEQkZERTAy
MDA3QTdEOTkgLyogSlNNZWRpYUtleVN5c3RlbUFjY2Vzc0N1c3RvbS5jcHAgaW4gU291cmNlcyAq
LywKKwkJCQkyRDlCRjcyNjFEQkZEQUQ1MDA3QTdEOTkgLyogSlNNZWRpYUtleVN5c3RlbUNvbmZp
Z3VyYXRpb24uY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMkQ5QkY3MjcxREJGREFEODAwN0E3RDk5
IC8qIEpTTWVkaWFLZXlTeXN0ZW1NZWRpYUNhcGFiaWxpdHkuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJQkMzQzM5QjYwQzBEM0Q4RDAwNUY0RDdBIC8qIEpTTWVkaWFMaXN0LmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCUQzQTk0QTQ2MTIyREM0MEYwMEEzN0JCQyAvKiBKU01lZGlhUXVlcnlMaXN0LmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCTdDNTM0M0ZDMTdCNzRCNjMwMDQyMzJGMCAvKiBKU01lZGlh
UXVlcnlMaXN0TGlzdGVuZXIuY3BwIGluIFNvdXJjZXMgKi8sCkBAIC0zMDIyMiwxMiArMzAzNjcs
MTggQEAKIAkJCQk5NzIwNUFCNzEyMzkyOTEwMDBCMTczODAgLyogTWVkaWFEb2N1bWVudC5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQlGRDZGMjUyQzEzRjVFRjBFMDA2NTE2NUYgLyogTWVkaWFFbGVt
ZW50QXVkaW9Tb3VyY2VOb2RlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTA3RkU5OURDMTg4MDdB
N0QwMDI1NjY0OCAvKiBNZWRpYUVsZW1lbnRTZXNzaW9uLmNwcCBpbiBTb3VyY2VzICovLAorCQkJ
CTJEOUJGNzA1MURCRkJCMjQwMDdBN0Q5OSAvKiBNZWRpYUVuY3J5cHRlZEV2ZW50LmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCTVFQkI4OTM0MUM3Nzc4MjkwMEM2NUQ0MSAvKiBNZWRpYUVuZHBvaW50
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTVFQkI4OTM2MUM3Nzc4MjkwMEM2NUQ0MSAvKiBNZWRp
YUVuZHBvaW50Q29uZmlndXJhdGlvbi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1RTE2QTJFNTFC
RkE2NTBGMDAyOUEyMUUgLyogTWVkaWFFbmRwb2ludFBlZXJDb25uZWN0aW9uLmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCTVFNEVBQjA1MUQwNzE2NkUwMDA2QTE4NCAvKiBNZWRpYUVuZHBvaW50U2Vz
c2lvbkRlc2NyaXB0aW9uLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTRFMTk1OTIxMEEzOURBQkEw
MDIyMEZFNSAvKiBNZWRpYUZlYXR1cmVOYW1lcy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwN0E2
RDFFQjE0OTExMzc3MDAwNTFEMEMgLyogTWVkaWFGcmFnbWVudFVSSVBhcnNlci5jcHAgaW4gU291
cmNlcyAqLywKKwkJCQkyRDlCRjc0NzFEQkZEQzQ5MDA3QTdEOTkgLyogTWVkaWFLZXlNZXNzYWdl
RXZlbnQuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMkQ5QkY3NDYxREJGREM0NzAwN0E3RDk5IC8q
IE1lZGlhS2V5cy5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkyRDlCRjc0NTFEQkZEQzQ0MDA3QTdE
OTkgLyogTWVkaWFLZXlTZXNzaW9uLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTJEOUJGNzQ0MURC
RkRDNDEwMDdBN0Q5OSAvKiBNZWRpYUtleVN0YXR1c01hcC5jcHAgaW4gU291cmNlcyAqLywKKwkJ
CQkyRDlCRjc0MzFEQkZEQzNFMDA3QTdEOTkgLyogTWVkaWFLZXlTeXN0ZW1BY2Nlc3MuY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJQThFQTgwMDkwQTE5NTE2RTAwQThFRjVGIC8qIE1lZGlhTGlzdC5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQkwNzFFNDk2RTFBRDVBQTBEMDA4QTUwQjQgLyogTWVkaWFQ
bGF5YmFja1RhcmdldE1hYy5tbSBpbiBTb3VyY2VzICovLAogCQkJCTA3N0I2NDE2MUI5NUY3MDMw
MDNFOUFENSAvKiBNZWRpYVBsYXliYWNrVGFyZ2V0TW9jay5jcHAgaW4gU291cmNlcyAqLywKQEAg
LTMwMzMzLDYgKzMwNDg0LDcgQEAKIAkJCQk5NzlGNDNEMzEwNzVFNDRBMDAwMEY4M0IgLyogTmF2
aWdhdGlvblNjaGVkdWxlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBOUM2RTVBNTBENzQ2NDU4
MDA2NDQyRTkgLyogTmF2aWdhdG9yLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUUxMjcxOUNBMEVF
RUMyMTMwMEY2MTIxMyAvKiBOYXZpZ2F0b3JCYXNlLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTJE
OUJGNzQyMURCRkRDMjcwMDdBN0Q5OSAvKiBOYXZpZ2F0b3JFTUUuY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJNTFBNEJCMTAxOTU0RDYyNzAwRkE1QzJFIC8qIE5hdmlnYXRvckdhbWVwYWQuY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJOTcxMTQ2MDMxNEVGMDA5QTAwNjc0RkQ5IC8qIE5hdmlnYXRvckdl
b2xvY2F0aW9uLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTVFQTcyNUQ1MUFDQUJENTcwMEVBRDE3
QiAvKiBOYXZpZ2F0b3JNZWRpYURldmljZXMuY3BwIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9CdWZmZXJTb3VyY2UuaCBiL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL2pzL0J1ZmZlclNvdXJjZS5oCmluZGV4IDUzOTc3Mzg1MmIzODhlYWQ4Nzgx
MDA0NmQ2NmExNWFkOGJkNTk3MGQuLjAzYjdjYzZmYjlmYjljOWRjZjkyOTE3MTA5NzVhMTRiOGUy
MjE2NDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0J1ZmZlclNvdXJj
ZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0J1ZmZlclNvdXJjZS5oCkBAIC0z
NCwxMCArMzQsMTQgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBCdWZmZXJTb3VyY2Ug
ewogcHVibGljOgotICAgIEJ1ZmZlclNvdXJjZShXVEY6OlZhcmlhbnQ8UmVmUHRyPEpTQzo6QXJy
YXlCdWZmZXJWaWV3PiwgUmVmUHRyPEpTQzo6QXJyYXlCdWZmZXI+PiYmIHZhcmlhbnQpCisgICAg
dXNpbmcgVmFyaWFudFR5cGUgPSBXVEY6OlZhcmlhbnQ8UmVmUHRyPEpTQzo6QXJyYXlCdWZmZXJW
aWV3PiwgUmVmUHRyPEpTQzo6QXJyYXlCdWZmZXI+PjsKKworICAgIEJ1ZmZlclNvdXJjZShWYXJp
YW50VHlwZSYmIHZhcmlhbnQpCiAgICAgICAgIDogbV92YXJpYW50KFdURk1vdmUodmFyaWFudCkp
CiAgICAgeyB9CiAKKyAgICBjb25zdCBWYXJpYW50VHlwZSYgdmFyaWFudCgpIGNvbnN0IHsgcmV0
dXJuIG1fdmFyaWFudDsgfQorCiAgICAgY29uc3QgdWludDhfdCogZGF0YSgpIGNvbnN0CiAgICAg
ewogICAgICAgICByZXR1cm4gV1RGOjp2aXNpdChbXShhdXRvJiBidWZmZXIpIC0+IGNvbnN0IHVp
bnQ4X3QqIHsKQEAgLTUzLDcgKzU3LDcgQEAgcHVibGljOgogICAgIH0KIAogcHJpdmF0ZToKLSAg
ICBXVEY6OlZhcmlhbnQ8UmVmUHRyPEpTQzo6QXJyYXlCdWZmZXJWaWV3PiwgUmVmUHRyPEpTQzo6
QXJyYXlCdWZmZXI+PiBtX3ZhcmlhbnQ7CisgICAgVmFyaWFudFR5cGUgbV92YXJpYW50OwogfTsK
IAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvSlNNZWRpYUtleVNlc3Npb25DdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3MvanMvSlNNZWRpYUtleVNlc3Npb25DdXN0b20uY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmEzNzE1M2Nj
MTc4MTY5OWI3Njk5NjlmMGFjMzU2NWJhYjk2ZjU2MjUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU01lZGlhS2V5U2Vzc2lvbkN1c3RvbS5jcHAKQEAgLTAs
MCArMSw0NyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNiBNZXRyb2xvZ2ljYWwgR3JvdXAg
Qi5WLgorICogQ29weXJpZ2h0IChDKSAyMDE2IElnYWxpYSBTLkwuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgorICogMS4gUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUKKyAqICAgIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nCisgKiAgICBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQKKyAqICAgIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9M
REVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhF
IENPUFlSSUdIVAorICogSE9MREVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
CisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisKKyNpZiBFTkFCTEUoRU5DUllQ
VEVEX01FRElBKQorCisjaW5jbHVkZSAiSlNNZWRpYUtleVNlc3Npb24uaCIKKworI2luY2x1ZGUg
Ik5vdEltcGxlbWVudGVkLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworSlNDOjpKU1ZhbHVl
IEpTTWVkaWFLZXlTZXNzaW9uOjpjbG9zZWQoSlNDOjpFeGVjU3RhdGUmKSBjb25zdAoreworICAg
IG5vdEltcGxlbWVudGVkKCk7CisgICAgcmV0dXJuIEpTQzo6anNVbmRlZmluZWQoKTsKK30KKwor
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKEVOQ1JZUFRFRF9NRURJ
QSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTWVkaWFLZXlTeXN0
ZW1BY2Nlc3NDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNNZWRpYUtl
eVN5c3RlbUFjY2Vzc0N1c3RvbS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uM2FmZGViMTBhMGIwYzllNmRkNzUz
MWVkNjk4MTYwMTU0M2ZkNzExNAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL0pTTWVkaWFLZXlTeXN0ZW1BY2Nlc3NDdXN0b20uY3BwCkBAIC0wLDAgKzEsNDcg
QEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTYgTWV0cm9sb2dpY2FsIEdyb3VwIEIuVi4KKyAq
IENvcHlyaWdodCAoQykgMjAxNiBJZ2FsaWEgUy5MLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCisgKiBhcmUgbWV0OgorICoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisg
KiAgICBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZworICogICAgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkCisgKiAgICB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5E
IENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNV
TEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklH
SFQKKyAqIEhPTERFUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorCisjaWYgRU5BQkxFKEVOQ1JZUFRFRF9NRURJ
QSkKKworI2luY2x1ZGUgIkpTTWVkaWFLZXlTeXN0ZW1BY2Nlc3MuaCIKKworI2luY2x1ZGUgIk5v
dEltcGxlbWVudGVkLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworSlNDOjpKU1ZhbHVlIEpT
TWVkaWFLZXlTeXN0ZW1BY2Nlc3M6OmdldENvbmZpZ3VyYXRpb24oSlNDOjpFeGVjU3RhdGUmKQor
eworICAgIG5vdEltcGxlbWVudGVkKCk7CisgICAgcmV0dXJuIEpTQzo6anNVbmRlZmluZWQoKTsK
K30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKEVOQ1JZUFRF
RF9NRURJQSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvQ29k
ZUdlbmVyYXRvckpTLnBtIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2Vu
ZXJhdG9ySlMucG0KaW5kZXggYjM2ODZjYjIwNDMxMTUxNzViZjFjNmI5ZDliMjhkODU1NGViMDcx
NS4uN2MzYzI0ZDAzMDk5NTRkZWQ0NjcxNWY0YzRmZWM5MGQ2MzdhZWQ4MSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KKysrIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9Db2RlR2VuZXJhdG9ySlMucG0KQEAgLTUz
NjYsNiArNTM2Niw3IEBAIHN1YiBHZXROYXRpdmVWZWN0b3JJbm5lclR5cGUKICAgICBteSAkaW5u
ZXJUeXBlTmFtZSA9ICRpbm5lclR5cGUtPm5hbWU7CiAKICAgICByZXR1cm4gJG5hdGl2ZVR5cGV7
JGlubmVyVHlwZU5hbWV9IGlmIGV4aXN0cyAkbmF0aXZlVHlwZXskaW5uZXJUeXBlTmFtZX07Cisg
ICAgcmV0dXJuIEdldERpY3Rpb25hcnlDbGFzc05hbWUoJGlubmVyVHlwZSkgaWYgJGNvZGVHZW5l
cmF0b3ItPklzRGljdGlvbmFyeVR5cGUoJGlubmVyVHlwZSk7CiAgICAgcmV0dXJuICJSZWZQdHI8
JGlubmVyVHlwZU5hbWU+IjsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0V2
ZW50TmFtZXMuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmgKaW5kZXggNDkxNDRl
MmQ3OGE4ODk4NjBhOGMzYjZlYzA5NjhlN2YzZDQ0ZTc0OS4uZTA3ZjFhZDNmMzVjNzExNzUzOGNk
MDRiOTBhYzk3NGMyZDE1YTM3ZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50
TmFtZXMuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnROYW1lcy5oCkBAIC0xMDIsNiAr
MTAyLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIG1hY3JvKGRyb3ApIFwKICAgICBtYWNy
byhkdXJhdGlvbmNoYW5nZSkgXAogICAgIG1hY3JvKGVtcHRpZWQpIFwKKyAgICBtYWNybyhlbmNy
eXB0ZWQpIFwKICAgICBtYWNybyhlbmQpIFwKICAgICBtYWNybyhlbmRFdmVudCkgXAogICAgIG1h
Y3JvKGVuZGVkKSBcCkBAIC0xMzAsNiArMTMxLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAg
IG1hY3JvKGludmFsaWQpIFwKICAgICBtYWNybyhrZXlkb3duKSBcCiAgICAgbWFjcm8oa2V5cHJl
c3MpIFwKKyAgICBtYWNybyhrZXlzdGF0dXNlc2NoYW5nZSkgXAogICAgIG1hY3JvKGtleXVwKSBc
CiAgICAgbWFjcm8obGFuZ3VhZ2VjaGFuZ2UpIFwKICAgICBtYWNybyhsZXZlbGNoYW5nZSkgXApA
QCAtMjM4LDYgKzI0MCw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBtYWNybyh2aXNpYmls
aXR5Y2hhbmdlKSBcCiAgICAgbWFjcm8odm9sdW1lY2hhbmdlKSBcCiAgICAgbWFjcm8od2FpdGlu
ZykgXAorICAgIG1hY3JvKHdhaXRpbmdmb3JrZXkpIFwKICAgICBtYWNybyh3ZWJnbGNvbnRleHRj
cmVhdGlvbmVycm9yKSBcCiAgICAgbWFjcm8od2ViZ2xjb250ZXh0bG9zdCkgXAogICAgIG1hY3Jv
KHdlYmdsY29udGV4dHJlc3RvcmVkKSBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20v
RXZlbnROYW1lcy5pbiBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmluCmluZGV4IDhi
OWJiNjdlNzFhMjJiNjg0ZTkwNjkyMzVmODZmNDUyMDY5Nzg5NjkuLjkxYTg2ZjUyOTgxNDA3ODY1
ZDMwMDFjMWNkMDExMDNiMzk0Y2I1MWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9F
dmVudE5hbWVzLmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmluCkBAIC03
MCwzICs3MCw1IEBAIEdlc3R1cmVFdmVudCBjb25kaXRpb25hbD1JT1NfR0VTVFVSRV9FVkVOVFN8
TUFDX0dFU1RVUkVfRVZFTlRTCiBXZWJLaXRQbGF5YmFja1RhcmdldEF2YWlsYWJpbGl0eUV2ZW50
IGNvbmRpdGlvbmFsPVdJUkVMRVNTX1BMQVlCQUNLX1RBUkdFVAogR2FtZXBhZEV2ZW50IGNvbmRp
dGlvbmFsPUdBTUVQQUQKIE92ZXJjb25zdHJhaW5lZEVycm9yRXZlbnQgY29uZGl0aW9uYWw9TUVE
SUFfU1RSRUFNCitNZWRpYUVuY3J5cHRlZEV2ZW50IGNvbmRpdGlvbmFsPUVOQ1JZUFRFRF9NRURJ
QQorTWVkaWFLZXlNZXNzYWdlRXZlbnQgY29uZGl0aW9uYWw9RU5DUllQVEVEX01FRElBCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXRGYWN0b3J5LmluIGIvU291cmNl
L1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0RmFjdG9yeS5pbgppbmRleCBmNzQ3MjMwY2ZhODdiYWI3
MmZkOGYzZWQ5MTM3NzllM2I5OWNhZTlhLi4xYzQ0MWVjODMzZjBlOTY3MWFmMTY5YzNkMjhiNTcz
NmNkNDUwNmZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXRGYWN0
b3J5LmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldEZhY3RvcnkuaW4KQEAg
LTE1LDYgKzE1LDcgQEAgSURCT3BlbkRCUmVxdWVzdCBjb25kaXRpb25hbD1JTkRFWEVEX0RBVEFC
QVNFCiBJREJSZXF1ZXN0IGNvbmRpdGlvbmFsPUlOREVYRURfREFUQUJBU0UKIElEQlRyYW5zYWN0
aW9uIGNvbmRpdGlvbmFsPUlOREVYRURfREFUQUJBU0UKIE1lZGlhQ29udHJvbGxlciBjb25kaXRp
b25hbD1WSURFTworTWVkaWFLZXlTZXNzaW9uIGNvbmRpdGlvbmFsPUVOQ1JZUFRFRF9NRURJQQog
TWVkaWFSZW1vdGVDb250cm9scyBjb25kaXRpb25hbD1NRURJQV9TRVNTSU9OCiBNZWRpYVNvdXJj
ZSBjb25kaXRpb25hbD1NRURJQV9TT1VSQ0UKIE1lZGlhU3RyZWFtIGNvbmRpdGlvbmFsPU1FRElB
X1NUUkVBTQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHAKaW5kZXggMGU4
ZThiODkwMDMxYzlkZDJkNjIzM2FlMDA1YjFkYjdjOTc3MzA1NC4uZDJhY2Y1OTkwOWIzYzE0YzY5
OTNmOWI5OTdiOGQxY2Y4YjQ1YzY2NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaHRtbC9I
VE1MTWVkaWFFbGVtZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVs
ZW1lbnQuY3BwCkBAIC0yNDM3LDYgKzI0MzcsMjAgQEAgdm9pZCBIVE1MTWVkaWFFbGVtZW50Ojpr
ZXlBZGRlZCgpCiAKICNlbmRpZgogCisjaWYgRU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkKKworTWVk
aWFLZXlzKiBIVE1MTWVkaWFFbGVtZW50OjptZWRpYUtleXMoKSBjb25zdAoreworICAgIHJldHVy
biBudWxscHRyOworfQorCit2b2lkIEhUTUxNZWRpYUVsZW1lbnQ6OnNldE1lZGlhS2V5cyhNZWRp
YUtleXMqLCBTZXRNZWRpYUtleXNQcm9taXNlJiYpCit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsK
K30KKworI2VuZGlmIC8vIEVOQUJMRShFTkNSWVBURURfTUVESUEpCisKIHZvaWQgSFRNTE1lZGlh
RWxlbWVudDo6cHJvZ3Jlc3NFdmVudFRpbWVyRmlyZWQoKQogewogICAgIEFTU0VSVChtX3BsYXll
cik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQuaCBi
L1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5oCmluZGV4IGU1ZTE3NWI0YWY0
ODQ1YzkzYzEyOTZhMDc0NjZlMzEzOWYzNDVlNDguLjk2ZWE0MzUwNWNjYTgyOWZlMjNlNzhhN2Nh
NDUwZTU1NGE2N2Y5YmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlh
RWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5oCkBA
IC02OSw2ICs2OSw5IEBAIGNsYXNzIE1lZGlhQ29udHJvbHM7CiBjbGFzcyBNZWRpYUNvbnRyb2xz
SG9zdDsKIGNsYXNzIE1lZGlhRWxlbWVudEF1ZGlvU291cmNlTm9kZTsKIGNsYXNzIE1lZGlhRXJy
b3I7CisjaWYgRU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkKK2NsYXNzIE1lZGlhS2V5czsKKyNlbmRp
ZgogY2xhc3MgTWVkaWFQbGF5ZXI7CiBjbGFzcyBNZWRpYVNlc3Npb247CiBjbGFzcyBNZWRpYVNv
dXJjZTsKQEAgLTI1NCw2ICsyNTcsMTMgQEAgcHVibGljOgogICAgIHZvaWQga2V5QWRkZWQoKTsK
ICNlbmRpZgogCisjaWYgRU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkKKyAgICBNZWRpYUtleXMqIG1l
ZGlhS2V5cygpIGNvbnN0OworCisgICAgdXNpbmcgU2V0TWVkaWFLZXlzUHJvbWlzZSA9IERPTVBy
b21pc2U8c3RkOjpudWxscHRyX3Q+OworICAgIHZvaWQgc2V0TWVkaWFLZXlzKE1lZGlhS2V5cyos
IFNldE1lZGlhS2V5c1Byb21pc2UmJik7CisjZW5kaWYKKwogLy8gY29udHJvbHMKICAgICBXRUJD
T1JFX0VYUE9SVCBib29sIGNvbnRyb2xzKCkgY29uc3Q7CiAgICAgV0VCQ09SRV9FWFBPUlQgdm9p
ZCBzZXRDb250cm9scyhib29sKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TE1lZGlhRWxlbWVudC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1lbnQu
aWRsCmluZGV4IDUxY2UyZWIzYmUwODk1YWRkZDczZjRjZTYzNWM3OGZhMDZmN2Y2Y2IuLjYzMDc5
ZmUwOWJhY2YxNGYzMmJhNjA5YTBiZGQyNDk2NGQ4YTViNDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRt
bC9IVE1MTWVkaWFFbGVtZW50LmlkbApAQCAtOTMsNiArOTMsMTAgQEAKIAogICAgIFtDb25kaXRp
b25hbD1MRUdBQ1lfRU5DUllQVEVEX01FRElBXSByZWFkb25seSBhdHRyaWJ1dGUgV2ViS2l0TWVk
aWFLZXlzIHdlYmtpdEtleXM7CiAgICAgW0NvbmRpdGlvbmFsPUxFR0FDWV9FTkNSWVBURURfTUVE
SUFdIHZvaWQgd2Via2l0U2V0TWVkaWFLZXlzKFdlYktpdE1lZGlhS2V5cz8gbWVkaWFLZXlzKTsK
KyAgICBbQ29uZGl0aW9uYWw9RU5DUllQVEVEX01FRElBXSByZWFkb25seSBhdHRyaWJ1dGUgTWVk
aWFLZXlzIG1lZGlhS2V5czsKKyAgICBbQ29uZGl0aW9uYWw9RU5DUllQVEVEX01FRElBXSBhdHRy
aWJ1dGUgRXZlbnRIYW5kbGVyIG9uZW5jcnlwdGVkOworICAgIFtDb25kaXRpb25hbD1FTkNSWVBU
RURfTUVESUFdIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgb253YWl0aW5nZm9ya2V5OworICAgIFtD
b25kaXRpb25hbD1FTkNSWVBURURfTUVESUFdIFByb21pc2Ugc2V0TWVkaWFLZXlzKE1lZGlhS2V5
cz8gbWVkaWFLZXlzKTsKIAogICAgIFtDb25kaXRpb25hbD1WSURFT19UUkFDSywgTWF5VGhyb3dF
eGNlcHRpb25dIFRleHRUcmFjayBhZGRUZXh0VHJhY2soRE9NU3RyaW5nIGtpbmQsIG9wdGlvbmFs
IERPTVN0cmluZyBsYWJlbCA9ICIiLCBvcHRpb25hbCBET01TdHJpbmcgbGFuZ3VhZ2UgPSAiIik7
CiAgICAgW0NvbmRpdGlvbmFsPVZJREVPX1RSQUNLXSByZWFkb25seSBhdHRyaWJ1dGUgQXVkaW9U
cmFja0xpc3QgYXVkaW9UcmFja3M7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL01l
ZGlhRW5jcnlwdGVkRXZlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUVuY3J5cHRl
ZEV2ZW50LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wMTdlMWExMzExYzNjZTE4MmNmMmQxNjMwYjRiYzEyN2I3
ZjhmNTNhCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUVuY3J5
cHRlZEV2ZW50LmNwcApAQCAtMCwwICsxLDY0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE2
IE1ldHJvbG9naWNhbCBHcm91cCBCLlYuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTYgSWdhbGlhIFMu
TC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogICAgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcKKyAqICAgIGRpc2NsYWltZXIgaW4g
dGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZAorICogICAg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5E
IEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisg
KiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBIT0xERVIgT1IgQ09OVFJJQlVUT1JT
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVD
SUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICog
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIK
KyNpbmNsdWRlICJNZWRpYUVuY3J5cHRlZEV2ZW50LmgiCisKKyNpZiBFTkFCTEUoRU5DUllQVEVE
X01FRElBKQorCisjaW5jbHVkZSAiTm90SW1wbGVtZW50ZWQuaCIKKworbmFtZXNwYWNlIFdlYkNv
cmUgeworCitNZWRpYUVuY3J5cHRlZEV2ZW50OjpNZWRpYUVuY3J5cHRlZEV2ZW50KGNvbnN0IEF0
b21pY1N0cmluZyYgdHlwZSwgY29uc3QgTWVkaWFFbmNyeXB0ZWRFdmVudEluaXQmIGluaXRpYWxp
emVyLCBJc1RydXN0ZWQgaXNUcnVzdGVkKQorICAgIDogRXZlbnQodHlwZSwgaW5pdGlhbGl6ZXIs
IGlzVHJ1c3RlZCkKK3sKK30KKworTWVkaWFFbmNyeXB0ZWRFdmVudDo6fk1lZGlhRW5jcnlwdGVk
RXZlbnQoKSA9IGRlZmF1bHQ7CisKK0V2ZW50SW50ZXJmYWNlIE1lZGlhRW5jcnlwdGVkRXZlbnQ6
OmV2ZW50SW50ZXJmYWNlKCkgY29uc3QKK3sKKyAgICByZXR1cm4gTWVkaWFFbmNyeXB0ZWRFdmVu
dEludGVyZmFjZVR5cGU7Cit9CisKK1N0cmluZyBNZWRpYUVuY3J5cHRlZEV2ZW50Ojppbml0RGF0
YVR5cGUoKQoreworICAgIG5vdEltcGxlbWVudGVkKCk7CisgICAgcmV0dXJuIGVtcHR5U3RyaW5n
KCk7Cit9CisKK0FycmF5QnVmZmVyKiBNZWRpYUVuY3J5cHRlZEV2ZW50Ojppbml0RGF0YSgpCit7
CisgICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICByZXR1cm4gbnVsbHB0cjsKK30KKworfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFFbmNyeXB0ZWRFdmVudC5oIGIvU291
cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUVuY3J5cHRlZEV2ZW50LmgKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMGYzMzMz
NzEyNDNkMjczMjE0NWI4ODZjNDQyMzViNDBkNGJiNDE2NQotLS0gL2Rldi9udWxsCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFFbmNyeXB0ZWRFdmVudC5oCkBAIC0wLDAgKzEsNjUgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTYgTWV0cm9sb2dpY2FsIEdyb3VwIEIuVi4KKyAqIENv
cHlyaWdodCAoQykgMjAxNiBJZ2FsaWEgUy5MLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCisgKiBhcmUgbWV0OgorICoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiAg
ICBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZworICogICAgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkCisgKiAgICB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENP
TlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFS
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQK
KyAqIEhPTERFUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisg
Ki8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoRU5DUllQVEVEX01FRElBKQorCisjaW5j
bHVkZSAiRXZlbnQuaCIKKyNpbmNsdWRlICJNZWRpYUVuY3J5cHRlZEV2ZW50SW5pdC5oIgorCitu
YW1lc3BhY2UgSlNDIHsKK2NsYXNzIEFycmF5QnVmZmVyOworfQorCituYW1lc3BhY2UgV2ViQ29y
ZSB7CisKK2NsYXNzIE1lZGlhRW5jcnlwdGVkRXZlbnQgZmluYWwgOiBwdWJsaWMgRXZlbnQgewor
cHVibGljOgorICAgIHVzaW5nIEluaXQgPSBNZWRpYUVuY3J5cHRlZEV2ZW50SW5pdDsKKworICAg
IHN0YXRpYyBSZWY8TWVkaWFFbmNyeXB0ZWRFdmVudD4gY3JlYXRlKGNvbnN0IEF0b21pY1N0cmlu
ZyYgdHlwZSwgY29uc3QgTWVkaWFFbmNyeXB0ZWRFdmVudEluaXQmIGluaXRpYWxpemVyLCBJc1Ry
dXN0ZWQgaXNUcnVzdGVkID0gSXNUcnVzdGVkOjpObykKKyAgICB7CisgICAgICAgIHJldHVybiBh
ZG9wdFJlZigqbmV3IE1lZGlhRW5jcnlwdGVkRXZlbnQodHlwZSwgaW5pdGlhbGl6ZXIsIGlzVHJ1
c3RlZCkpOworICAgIH0KKworICAgIHZpcnR1YWwgfk1lZGlhRW5jcnlwdGVkRXZlbnQoKTsKKwor
ICAgIFN0cmluZyBpbml0RGF0YVR5cGUoKTsKKyAgICBKU0M6OkFycmF5QnVmZmVyKiBpbml0RGF0
YSgpOworCitwcml2YXRlOgorICAgIE1lZGlhRW5jcnlwdGVkRXZlbnQoY29uc3QgQXRvbWljU3Ry
aW5nJiwgY29uc3QgTWVkaWFFbmNyeXB0ZWRFdmVudEluaXQmLCBJc1RydXN0ZWQpOworCisgICAg
Ly8gRXZlbnQKKyAgICBFdmVudEludGVyZmFjZSBldmVudEludGVyZmFjZSgpIGNvbnN0IG92ZXJy
aWRlOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKEVO
Q1JZUFRFRF9NRURJQSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFFbmNy
eXB0ZWRFdmVudC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRW5jcnlwdGVkRXZlbnQu
aWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjk3ZGExMjk1NmEyZmM3YWI3ZDRlOTdiN2Q1MDMwNmVjZjk5MTQ3ZWIK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRW5jcnlwdGVkRXZl
bnQuaWRsCkBAIC0wLDAgKzEsNDAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTYgTWV0cm9s
b2dpY2FsIEdyb3VwIEIuVi4KKyAqIENvcHlyaWdodCAoQykgMjAxNiBJZ2FsaWEgUy5MLgorICoK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICoKKyAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlCisgKiAgICBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZworICogICAgZGlzY2xhaW1lciBpbiB0aGUgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkCisgKiAgICB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUg
Q09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlU
RUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIEhPTERFUiBPUiBDT05UUklCVVRPUlMgQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAq
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworZGljdGlvbmFyeSBNZWRpYUVuY3J5cHRlZEV2
ZW50SW5pdCA6IEV2ZW50SW5pdCB7CisgICAgRE9NU3RyaW5nIGluaXREYXRhVHlwZSA9ICIiOwor
ICAgIEFycmF5QnVmZmVyPyBpbml0RGF0YSA9IG51bGw7Cit9OworCitbCisgICAgQ29uZGl0aW9u
YWw9RU5DUllQVEVEX01FRElBLAorICAgIENvbnN0cnVjdG9yKERPTVN0cmluZyB0eXBlLCBvcHRp
b25hbCBNZWRpYUVuY3J5cHRlZEV2ZW50SW5pdCBldmVudEluaXREaWN0KQorXSBpbnRlcmZhY2Ug
TWVkaWFFbmNyeXB0ZWRFdmVudCA6IEV2ZW50IHsKKyAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9N
U3RyaW5nIGluaXREYXRhVHlwZTsKKyAgICByZWFkb25seSBhdHRyaWJ1dGUgQXJyYXlCdWZmZXI/
IGluaXREYXRhOworfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFFbmNy
eXB0ZWRFdmVudEluaXQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFFbmNyeXB0ZWRFdmVu
dEluaXQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5hNGVlYmI4NzBhMTZlMGY3MDdlMTQzZWVmMmU2MGVlNGViYTU3
NTNjCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUVuY3J5cHRl
ZEV2ZW50SW5pdC5oCkBAIC0wLDAgKzEsNTMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTYg
TWV0cm9sb2dpY2FsIEdyb3VwIEIuVi4KKyAqIENvcHlyaWdodCAoQykgMjAxNiBJZ2FsaWEgUy5M
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICoKKyAqIDEu
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiAgICBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZworICogICAgZGlzY2xhaW1lciBpbiB0
aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkCisgKiAgICB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQg
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAq
IExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIEhPTERFUiBPUiBDT05UUklCVVRPUlMg
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBF
TkFCTEUoRU5DUllQVEVEX01FRElBKQorCisjaW5jbHVkZSAiRXZlbnQuaCIKKyNpbmNsdWRlIDxy
dW50aW1lL0FycmF5QnVmZmVyLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworc3RydWN0IE1l
ZGlhRW5jcnlwdGVkRXZlbnRJbml0IDogRXZlbnRJbml0IHsKKyAgICBNZWRpYUVuY3J5cHRlZEV2
ZW50SW5pdCgpID0gZGVmYXVsdDsKKworICAgIE1lZGlhRW5jcnlwdGVkRXZlbnRJbml0KGNvbnN0
IFN0cmluZyYgaW5pdERhdGFUeXBlLCBSZWZQdHI8SlNDOjpBcnJheUJ1ZmZlcj4mJiBpbml0RGF0
YSkKKyAgICAgICAgOiBFdmVudEluaXQoKQorICAgICAgICAsIGluaXREYXRhVHlwZShpbml0RGF0
YVR5cGUpCisgICAgICAgICwgaW5pdERhdGEoV1RGTW92ZShpbml0RGF0YSkpCisgICAgeyB9CisK
KyAgICBTdHJpbmcgaW5pdERhdGFUeXBlOworICAgIFJlZlB0cjxKU0M6OkFycmF5QnVmZmVyPiBp
bml0RGF0YTsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJM
RShFTkNSWVBURURfTUVESUEpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
Q2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwppbmRleCAwYTJi
NzQyYWI1YTU5NGU1NTA0MGI2ODAzOTBjZTY4OWVkZGY4MWY5Li42NzM3OTY2NWZkMjkwM2E3MjUw
ZWM5OWZhMDQzM2EzZThiMjE4YzMzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwxNiBAQAorMjAxNi0xMS0xMCAgWmFuIERvYmVyc2VrICA8emRvYmVyc2VrQGlnYWxp
YS5jb20+CisKKyAgICAgICAgW0VNRV0gQWRkIG5vLW9wIFdlYi1mYWNpbmcgQVBJcworICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY0MDI4CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgSmVyIE5vYmxlLgorCisgICAgICAgIEFkZCB0aGUgdGV4dCBiYXNlbGlu
ZSBmb3IgdGhlIHdlYi1wbGF0Zm9ybS10ZXN0cy9lbmNyeXB0ZWQtbWVkaWEvaWRsaGFybmVzcy5o
dG1sCisgICAgICAgIHRlc3QuIEl0J3MgdGhlIG9ubHkgbWVhbmluZ2Z1bCB0ZXN0IHdlIGNhbiBy
dW4gYXQgdGhlIG1vbWVudCwgYW5kIGFsbCBidXQgb25lIG9mCisgICAgICAgIHRoZSBzdWJ0ZXN0
cyBwYXNzLgorCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2VuY3J5cHRlZC1tZWRpYS9p
ZGxoYXJuZXNzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisKIDIwMTYtMTEtMDggIFBoaWxpcHBlIE5v
cm1hbmQgIDxwbm9ybWFuZEBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtXZWJSVENdIHdoaXRlLWxp
c3QgdHVybnMgdXJscyBmcm9tIHRoZSBSVENDb25maWd1cmF0aW9uCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2VuY3J5cHRlZC1tZWRpYS9p
ZGxoYXJuZXNzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvZW5jcnlwdGVkLW1lZGlhL2lkbGhhcm5lc3MtZXhwZWN0ZWQudHh0Cm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjE2ZGMzNDUxNmNjOTVhMTY5NGUxNDMyZjk4OWRhZWJkYzkwMjEzYmMKLS0tIC9kZXYv
bnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Vu
Y3J5cHRlZC1tZWRpYS9pZGxoYXJuZXNzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDY2IEBACitE
ZXNjcmlwdGlvbgorCitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBpbXBsZW1lbnRhdGlvbnMgb2Yg
dGhlIEVuY3J5cHRlZCBNZWRpYSBFeHRlbnNpb25zIEFQSSBtYXRjaCBpdHMgV2ViSURMIGRlZmlu
aXRpb24uCisKKworUEFTUyBOYXZpZ2F0b3IgaW50ZXJmYWNlOiBvcGVyYXRpb24gcmVxdWVzdE1l
ZGlhS2V5U3lzdGVtQWNjZXNzKERPTVN0cmluZyxbb2JqZWN0IE9iamVjdF0pIAorUEFTUyBIVE1M
TWVkaWFFbGVtZW50IGludGVyZmFjZTogYXR0cmlidXRlIG1lZGlhS2V5cyAKK1BBU1MgSFRNTE1l
ZGlhRWxlbWVudCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbmVuY3J5cHRlZCAKK1BBU1MgSFRNTE1l
ZGlhRWxlbWVudCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbndhaXRpbmdmb3JrZXkgCitQQVNTIEhU
TUxNZWRpYUVsZW1lbnQgaW50ZXJmYWNlOiBvcGVyYXRpb24gc2V0TWVkaWFLZXlzKE1lZGlhS2V5
cykgCitQQVNTIE1lZGlhS2V5U3lzdGVtQWNjZXNzIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBw
cm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QgCitQQVNTIE1lZGlhS2V5U3lzdGVtQWNjZXNz
IGludGVyZmFjZSBvYmplY3QgbGVuZ3RoIAorUEFTUyBNZWRpYUtleVN5c3RlbUFjY2VzcyBpbnRl
cmZhY2Ugb2JqZWN0IG5hbWUgCitQQVNTIE1lZGlhS2V5U3lzdGVtQWNjZXNzIGludGVyZmFjZTog
ZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0IAor
UEFTUyBNZWRpYUtleVN5c3RlbUFjY2VzcyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVy
dGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzICJjb25zdHJ1Y3RvciIgcHJvcGVy
dHkgCitQQVNTIE1lZGlhS2V5U3lzdGVtQWNjZXNzIGludGVyZmFjZTogYXR0cmlidXRlIGtleVN5
c3RlbSAKK1BBU1MgTWVkaWFLZXlTeXN0ZW1BY2Nlc3MgaW50ZXJmYWNlOiBvcGVyYXRpb24gZ2V0
Q29uZmlndXJhdGlvbigpIAorUEFTUyBNZWRpYUtleVN5c3RlbUFjY2VzcyBpbnRlcmZhY2U6IG9w
ZXJhdGlvbiBjcmVhdGVNZWRpYUtleXMoKSAKK1BBU1MgTWVkaWFLZXlzIGludGVyZmFjZTogZXhp
c3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QgCitQQVNTIE1lZGlhS2V5
cyBpbnRlcmZhY2Ugb2JqZWN0IGxlbmd0aCAKK1BBU1MgTWVkaWFLZXlzIGludGVyZmFjZSBvYmpl
Y3QgbmFtZSAKK1BBU1MgTWVkaWFLZXlzIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0
aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0IAorUEFTUyBNZWRpYUtleXMgaW50ZXJm
YWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmpl
Y3QncyAiY29uc3RydWN0b3IiIHByb3BlcnR5IAorUEFTUyBNZWRpYUtleXMgaW50ZXJmYWNlOiBv
cGVyYXRpb24gY3JlYXRlU2Vzc2lvbihNZWRpYUtleVNlc3Npb25UeXBlKSAKK1BBU1MgTWVkaWFL
ZXlzIGludGVyZmFjZTogb3BlcmF0aW9uIHNldFNlcnZlckNlcnRpZmljYXRlKEJ1ZmZlclNvdXJj
ZSkgCitQQVNTIE1lZGlhS2V5U2Vzc2lvbiBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVy
dGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0IAorUEFTUyBNZWRpYUtleVNlc3Npb24gaW50ZXJmYWNl
IG9iamVjdCBsZW5ndGggCitQQVNTIE1lZGlhS2V5U2Vzc2lvbiBpbnRlcmZhY2Ugb2JqZWN0IG5h
bWUgCitQQVNTIE1lZGlhS2V5U2Vzc2lvbiBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVy
dGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCAKK1BBU1MgTWVkaWFLZXlTZXNzaW9u
IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5
cGUgb2JqZWN0J3MgImNvbnN0cnVjdG9yIiBwcm9wZXJ0eSAKK1BBU1MgTWVkaWFLZXlTZXNzaW9u
IGludGVyZmFjZTogYXR0cmlidXRlIHNlc3Npb25JZCAKK1BBU1MgTWVkaWFLZXlTZXNzaW9uIGlu
dGVyZmFjZTogYXR0cmlidXRlIGV4cGlyYXRpb24gCitGQUlMIE1lZGlhS2V5U2Vzc2lvbiBpbnRl
cmZhY2U6IGF0dHJpYnV0ZSBjbG9zZWQgYXNzZXJ0X3Rocm93czogZ2V0dGluZyBwcm9wZXJ0eSBv
biBwcm90b3R5cGUgb2JqZWN0IG11c3QgdGhyb3cgVHlwZUVycm9yIGZ1bmN0aW9uICJmdW5jdGlv
biAoKSB7CisgICAgW25hdGl2ZSBjb2RlXQorfSIgZGlkIG5vdCB0aHJvdworUEFTUyBNZWRpYUtl
eVNlc3Npb24gaW50ZXJmYWNlOiBhdHRyaWJ1dGUga2V5U3RhdHVzZXMgCitQQVNTIE1lZGlhS2V5
U2Vzc2lvbiBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbmtleXN0YXR1c2VzY2hhbmdlIAorUEFTUyBN
ZWRpYUtleVNlc3Npb24gaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25tZXNzYWdlIAorUEFTUyBNZWRp
YUtleVNlc3Npb24gaW50ZXJmYWNlOiBvcGVyYXRpb24gZ2VuZXJhdGVSZXF1ZXN0KERPTVN0cmlu
ZyxCdWZmZXJTb3VyY2UpIAorUEFTUyBNZWRpYUtleVNlc3Npb24gaW50ZXJmYWNlOiBvcGVyYXRp
b24gbG9hZChET01TdHJpbmcpIAorUEFTUyBNZWRpYUtleVNlc3Npb24gaW50ZXJmYWNlOiBvcGVy
YXRpb24gdXBkYXRlKEJ1ZmZlclNvdXJjZSkgCitQQVNTIE1lZGlhS2V5U2Vzc2lvbiBpbnRlcmZh
Y2U6IG9wZXJhdGlvbiBjbG9zZSgpIAorUEFTUyBNZWRpYUtleVNlc3Npb24gaW50ZXJmYWNlOiBv
cGVyYXRpb24gcmVtb3ZlKCkgCitQQVNTIE1lZGlhS2V5U3RhdHVzTWFwIGludGVyZmFjZTogZXhp
c3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QgCitQQVNTIE1lZGlhS2V5
U3RhdHVzTWFwIGludGVyZmFjZSBvYmplY3QgbGVuZ3RoIAorUEFTUyBNZWRpYUtleVN0YXR1c01h
cCBpbnRlcmZhY2Ugb2JqZWN0IG5hbWUgCitQQVNTIE1lZGlhS2V5U3RhdHVzTWFwIGludGVyZmFj
ZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0
IAorUEFTUyBNZWRpYUtleVN0YXR1c01hcCBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVy
dGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzICJjb25zdHJ1Y3RvciIgcHJvcGVy
dHkgCitQQVNTIE1lZGlhS2V5U3RhdHVzTWFwIGludGVyZmFjZTogYXR0cmlidXRlIHNpemUgCitQ
QVNTIE1lZGlhS2V5U3RhdHVzTWFwIGludGVyZmFjZTogb3BlcmF0aW9uIGhhcyhCdWZmZXJTb3Vy
Y2UpIAorUEFTUyBNZWRpYUtleVN0YXR1c01hcCBpbnRlcmZhY2U6IG9wZXJhdGlvbiBnZXQoQnVm
ZmVyU291cmNlKSAKK1BBU1MgTWVkaWFLZXlNZXNzYWdlRXZlbnQgaW50ZXJmYWNlOiBleGlzdGVu
Y2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdCAKK1BBU1MgTWVkaWFLZXlNZXNz
YWdlRXZlbnQgaW50ZXJmYWNlIG9iamVjdCBsZW5ndGggCitQQVNTIE1lZGlhS2V5TWVzc2FnZUV2
ZW50IGludGVyZmFjZSBvYmplY3QgbmFtZSAKK1BBU1MgTWVkaWFLZXlNZXNzYWdlRXZlbnQgaW50
ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBv
YmplY3QgCitQQVNTIE1lZGlhS2V5TWVzc2FnZUV2ZW50IGludGVyZmFjZTogZXhpc3RlbmNlIGFu
ZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgImNvbnN0cnVjdG9y
IiBwcm9wZXJ0eSAKK1BBU1MgTWVkaWFLZXlNZXNzYWdlRXZlbnQgaW50ZXJmYWNlOiBhdHRyaWJ1
dGUgbWVzc2FnZVR5cGUgCitQQVNTIE1lZGlhS2V5TWVzc2FnZUV2ZW50IGludGVyZmFjZTogYXR0
cmlidXRlIG1lc3NhZ2UgCitQQVNTIE1lZGlhRW5jcnlwdGVkRXZlbnQgaW50ZXJmYWNlOiBleGlz
dGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdCAKK1BBU1MgTWVkaWFFbmNy
eXB0ZWRFdmVudCBpbnRlcmZhY2Ugb2JqZWN0IGxlbmd0aCAKK1BBU1MgTWVkaWFFbmNyeXB0ZWRF
dmVudCBpbnRlcmZhY2Ugb2JqZWN0IG5hbWUgCitQQVNTIE1lZGlhRW5jcnlwdGVkRXZlbnQgaW50
ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBv
YmplY3QgCitQQVNTIE1lZGlhRW5jcnlwdGVkRXZlbnQgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5k
IHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyAiY29uc3RydWN0b3Ii
IHByb3BlcnR5IAorUEFTUyBNZWRpYUVuY3J5cHRlZEV2ZW50IGludGVyZmFjZTogYXR0cmlidXRl
IGluaXREYXRhVHlwZSAKK1BBU1MgTWVkaWFFbmNyeXB0ZWRFdmVudCBpbnRlcmZhY2U6IGF0dHJp
YnV0ZSBpbml0RGF0YSAKKwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>294357</attachid>
            <date>2016-11-10 03:22:59 -0800</date>
            <delta_ts>2016-11-10 03:22:59 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-164028-20161110031846.patch</filename>
            <type>text/plain</type>
            <size>126680</size>
            <attacher name="Zan Dobersek">zan</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjA4NTMwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggY2FmNjI0YWVmOTE3MmQy
NmY3OGI5NTU0Nzg4NWIzOGIwOGI1NjAzYi4uNzdhYTkyNWY4NjExZTg2YmMwYmU0NmNiMGNiMzRk
YzM2YjQxZTk1YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDExNyBAQAorMjAxNi0xMS0xMCAgWmFu
IERvYmVyc2VrICA8emRvYmVyc2VrQGlnYWxpYS5jb20+CisKKyAgICAgICAgW0VNRV0gQWRkIG5v
LW9wIFdlYi1mYWNpbmcgQVBJcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTY0MDI4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgSmVyIE5vYmxlLgorCisg
ICAgICAgIEFkZCBuby1vcCBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgV2ViLWZhY2luZyBBUElzIGFz
IGRlZmluZWQgaW4KKyAgICAgICAgdGhlIEVNRSBzcGVjaWZpY2F0aW9uLiBUaGlzIHdpbGwgYmUg
dGhlIGJhc2lzIGZvciBpbXBsZW1lbnRpbmcKKyAgICAgICAgdGhlIHZhcmlvdXMgYWxnb3JpdGht
cyB0aGUgc2FtZSBzcGVjaWZpY2F0aW9uIGRlZmluZXMsIGFuZCBmb3IKKyAgICAgICAgaW1wbGVt
ZW50aW5nIHRoZSByZWxldmFudCBwbGF0Zm9ybSBhYnN0cmFjdGlvbnMuCisKKyAgICAgICAgRGlj
dGlvbmFyaWVzIGFuZCBlbnVtZXJhdGlvbnMgZGVmaW5lZCBieSB0aGUgc3BlY2lmaWNhdGlvbiBh
cmUKKyAgICAgICAgZGVmaW5lZCBpbiBzZXBhcmF0ZSBoZWFkZXJzLCBhbmQgbm90IGluIHRoZSBp
bXBsZW1lbnRhdGlvbiBmaWxlcworICAgICAgICBmb3IgdGhlIGNsYXNzIHdoZXJlIHRoZXkgYXJl
IHVzZWQuIFRoaXMgd2lsbCBlYXNlIHRoZWlyIHVzZQorICAgICAgICBhY3Jvc3MgZGlmZmVyZW50
IGltcGxlbWVudGF0aW9uIGZpbGVzLgorCisgICAgICAgIEJ1ZmZlclNvdXJjZSBub3cgZXhwb3Nl
cyB0aGUgVmFyaWFudCBvYmplY3QgaXQgaG9sZHMuIFRoaXMgaXMKKyAgICAgICAgbmVlZGVkIHRv
IHN1cHBvcnQgdGhlIGl0ZXJhYmxlIHByb3BlcnR5IG9uIHRoZSBNZWRpYUtleVN0YXR1c01hcAor
ICAgICAgICBjbGFzcy4KKworICAgICAgICBDb2RlR2VuZXJhdG9ySlMgaXMgZml4ZWQgdG8gc3Vw
cG9ydCBKUy10by1uYXRpdmUgY29udmVyc2lvbiBvZgorICAgICAgICBzZXF1ZW5jZXMgb2YgZGlj
dGlvbmFyaWVzLgorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICogRGVyaXZl
ZFNvdXJjZXMuY3BwOgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6CisgICAgICAgICog
TW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleU1lc3NhZ2VFdmVudC5jcHA6IEFkZGVkLgor
ICAgICAgICAoV2ViQ29yZTo6TWVkaWFLZXlNZXNzYWdlRXZlbnQ6Ok1lZGlhS2V5TWVzc2FnZUV2
ZW50KToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhS2V5TWVzc2FnZUV2ZW50OjpldmVudEludGVy
ZmFjZSk6CisgICAgICAgICogTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleU1lc3NhZ2VF
dmVudC5oOiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5
TWVzc2FnZUV2ZW50LmlkbDogQWRkZWQuCisgICAgICAgICogTW9kdWxlcy9lbmNyeXB0ZWRtZWRp
YS9NZWRpYUtleU1lc3NhZ2VFdmVudEluaXQuaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpN
ZWRpYUtleU1lc3NhZ2VFdmVudEluaXQ6Ok1lZGlhS2V5TWVzc2FnZUV2ZW50SW5pdCk6CisgICAg
ICAgICogTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleU1lc3NhZ2VUeXBlLmg6IEFkZGVk
LgorICAgICAgICAqIE1vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlTZXNzaW9uLmNwcDog
QWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpNZWRpYUtleVNlc3Npb246OmNyZWF0ZSk6CisgICAg
ICAgIChXZWJDb3JlOjpNZWRpYUtleVNlc3Npb246Ok1lZGlhS2V5U2Vzc2lvbik6CisgICAgICAg
IChXZWJDb3JlOjpNZWRpYUtleVNlc3Npb246OnNlc3Npb25JZCk6CisgICAgICAgIChXZWJDb3Jl
OjpNZWRpYUtleVNlc3Npb246OmV4cGlyYXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFL
ZXlTZXNzaW9uOjprZXlTdGF0dXNlcyk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUtleVNlc3Np
b246OmdlbmVyYXRlUmVxdWVzdCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUtleVNlc3Npb246
OmxvYWQpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFLZXlTZXNzaW9uOjp1cGRhdGUpOgorICAg
ICAgICAoV2ViQ29yZTo6TWVkaWFLZXlTZXNzaW9uOjpjbG9zZSk6CisgICAgICAgIChXZWJDb3Jl
OjpNZWRpYUtleVNlc3Npb246OnJlbW92ZSk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUtleVNl
c3Npb246Omhhc1BlbmRpbmdBY3Rpdml0eSk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUtleVNl
c3Npb246OmFjdGl2ZURPTU9iamVjdE5hbWUpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFLZXlT
ZXNzaW9uOjpjYW5TdXNwZW5kRm9yRG9jdW1lbnRTdXNwZW5zaW9uKToKKyAgICAgICAgKFdlYkNv
cmU6Ok1lZGlhS2V5U2Vzc2lvbjo6c3RvcCk6CisgICAgICAgICogTW9kdWxlcy9lbmNyeXB0ZWRt
ZWRpYS9NZWRpYUtleVNlc3Npb24uaDogQWRkZWQuCisgICAgICAgICogTW9kdWxlcy9lbmNyeXB0
ZWRtZWRpYS9NZWRpYUtleVNlc3Npb24uaWRsOiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL2Vu
Y3J5cHRlZG1lZGlhL01lZGlhS2V5U2Vzc2lvblR5cGUuaDogQWRkZWQuCisgICAgICAgICogTW9k
dWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVN0YXR1cy5oOiBBZGRlZC4KKyAgICAgICAgKiBN
b2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U3RhdHVzTWFwLmNwcDogQWRkZWQuCisgICAg
ICAgIChXZWJDb3JlOjpNZWRpYUtleVN0YXR1c01hcDo6c2l6ZSk6CisgICAgICAgIChXZWJDb3Jl
OjpNZWRpYUtleVN0YXR1c01hcDo6aGFzKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhS2V5U3Rh
dHVzTWFwOjpnZXQpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFLZXlTdGF0dXNNYXA6Okl0ZXJh
dG9yOjpJdGVyYXRvcik6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUtleVN0YXR1c01hcDo6SXRl
cmF0b3I6Om5leHQpOgorICAgICAgICAqIE1vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlT
dGF0dXNNYXAuaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpNZWRpYUtleVN0YXR1c01hcDo6
Y3JlYXRlKToKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhS2V5U3RhdHVzTWFwOjpjcmVhdGVJdGVy
YXRvcik6CisgICAgICAgICogTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVN0YXR1c01h
cC5pZGw6IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlT
eXN0ZW1BY2Nlc3MuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhS2V5U3lzdGVt
QWNjZXNzOjprZXlTeXN0ZW0pOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFLZXlTeXN0ZW1BY2Nl
c3M6OmdldENvbmZpZ3VyYXRpb24pOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFLZXlTeXN0ZW1B
Y2Nlc3M6OmNyZWF0ZU1lZGlhS2V5cyk6CisgICAgICAgICogTW9kdWxlcy9lbmNyeXB0ZWRtZWRp
YS9NZWRpYUtleVN5c3RlbUFjY2Vzcy5oOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlh
S2V5U3lzdGVtQWNjZXNzOjpjcmVhdGUpOgorICAgICAgICAqIE1vZHVsZXMvZW5jcnlwdGVkbWVk
aWEvTWVkaWFLZXlTeXN0ZW1BY2Nlc3MuaWRsOiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL2Vu
Y3J5cHRlZG1lZGlhL01lZGlhS2V5U3lzdGVtQ29uZmlndXJhdGlvbi5oOiBBZGRlZC4KKyAgICAg
ICAgKiBNb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U3lzdGVtQ29uZmlndXJhdGlvbi5p
ZGw6IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlTeXN0
ZW1NZWRpYUNhcGFiaWxpdHkuaDogQWRkZWQuCisgICAgICAgICogTW9kdWxlcy9lbmNyeXB0ZWRt
ZWRpYS9NZWRpYUtleVN5c3RlbU1lZGlhQ2FwYWJpbGl0eS5pZGw6IEFkZGVkLgorICAgICAgICAq
IE1vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlzLmNwcDogQWRkZWQuCisgICAgICAgIChX
ZWJDb3JlOjpNZWRpYUtleXM6OmNyZWF0ZVNlc3Npb24pOgorICAgICAgICAoV2ViQ29yZTo6TWVk
aWFLZXlzOjpzZXRTZXJ2ZXJDZXJ0aWZpY2F0ZSk6CisgICAgICAgICogTW9kdWxlcy9lbmNyeXB0
ZWRtZWRpYS9NZWRpYUtleXMuaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpNZWRpYUtleXM6
OmNyZWF0ZSk6CisgICAgICAgICogTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleXMuaWRs
OiBBZGRlZC4KKyAgICAgICAgKiBNb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5c1JlcXVp
cmVtZW50Lmg6IEFkZGVkLgorICAgICAgICAqIE1vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTmF2aWdh
dG9yRU1FLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpOYXZpZ2F0b3JFTUU6OnJlcXVl
c3RNZWRpYUtleVN5c3RlbUFjY2Vzcyk6CisgICAgICAgICogTW9kdWxlcy9lbmNyeXB0ZWRtZWRp
YS9OYXZpZ2F0b3JFTUUuaDogQWRkZWQuCisgICAgICAgICogTW9kdWxlcy9lbmNyeXB0ZWRtZWRp
YS9OYXZpZ2F0b3JFTUUuaWRsOiBBZGRlZC4KKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2o6CisgICAgICAgICogYmluZGluZ3MvanMvQnVmZmVyU291cmNlLmg6Cisg
ICAgICAgIChXZWJDb3JlOjpCdWZmZXJTb3VyY2U6OkJ1ZmZlclNvdXJjZSk6CisgICAgICAgIChX
ZWJDb3JlOjpCdWZmZXJTb3VyY2U6OnZhcmlhbnQpOgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pT
TWVkaWFLZXlTZXNzaW9uQ3VzdG9tLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpKU01l
ZGlhS2V5U2Vzc2lvbjo6Y2xvc2VkKToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU01lZGlhS2V5
U3lzdGVtQWNjZXNzQ3VzdG9tLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlOjpKU01lZGlh
S2V5U3lzdGVtQWNjZXNzOjpnZXRDb25maWd1cmF0aW9uKToKKyAgICAgICAgKiBiaW5kaW5ncy9z
Y3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbToKKyAgICAgICAgKEdldE5hdGl2ZVZlY3RvcklubmVy
VHlwZSk6CisgICAgICAgICogZG9tL0V2ZW50TmFtZXMuaDoKKyAgICAgICAgKiBkb20vRXZlbnRO
YW1lcy5pbjoKKyAgICAgICAgKiBkb20vRXZlbnRUYXJnZXRGYWN0b3J5LmluOgorICAgICAgICAq
IGh0bWwvSFRNTE1lZGlhRWxlbWVudC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpIVE1MTWVkaWFF
bGVtZW50OjptZWRpYUtleXMpOgorICAgICAgICAoV2ViQ29yZTo6SFRNTE1lZGlhRWxlbWVudDo6
c2V0TWVkaWFLZXlzKToKKyAgICAgICAgKiBodG1sL0hUTUxNZWRpYUVsZW1lbnQuaDoKKyAgICAg
ICAgKiBodG1sL0hUTUxNZWRpYUVsZW1lbnQuaWRsOgorICAgICAgICAqIGh0bWwvTWVkaWFFbmNy
eXB0ZWRFdmVudC5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFFbmNyeXB0ZWRF
dmVudDo6TWVkaWFFbmNyeXB0ZWRFdmVudCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUVuY3J5
cHRlZEV2ZW50OjpldmVudEludGVyZmFjZSk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYUVuY3J5
cHRlZEV2ZW50Ojppbml0RGF0YVR5cGUpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFFbmNyeXB0
ZWRFdmVudDo6aW5pdERhdGEpOgorICAgICAgICAqIGh0bWwvTWVkaWFFbmNyeXB0ZWRFdmVudC5o
OiBBZGRlZC4KKyAgICAgICAgKiBodG1sL01lZGlhRW5jcnlwdGVkRXZlbnQuaWRsOiBBZGRlZC4K
KyAgICAgICAgKiBodG1sL01lZGlhRW5jcnlwdGVkRXZlbnRJbml0Lmg6IEFkZGVkLgorICAgICAg
ICAoV2ViQ29yZTo6TWVkaWFFbmNyeXB0ZWRFdmVudEluaXQ6Ok1lZGlhRW5jcnlwdGVkRXZlbnRJ
bml0KToKKwogMjAxNi0xMS0xMCAgQWxlamFuZHJvIEcuIENhc3RybyAgPGFsZXhAaWdhbGlhLmNv
bT4KIAogICAgICAgICBbV2ViUlRDXSBbT3BlbldlYlJUQ10gUlRYIGRlZmF1bHQgcGFyYW1ldGVy
cyBicm9rZW4gYWZ0ZXIgcjIwNzk1MgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ01ha2VM
aXN0cy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAppbmRleCBlNTlkYTNkOTQ5
ZjdlMWJjYmMxMDY1MGNjZjEwN2ExYzdmMzFlN2Y0Li43MDhiZWVjM2ZmYTYwZmU1MmZmZjliMTky
OWYwOTEwOTEyODQzZWUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4
dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApAQCAtMTE2MSw2ICsxMTYxLDgg
QEAgc2V0KFdlYkNvcmVfU09VUkNFUwogICAgIGJpbmRpbmdzL2pzL0pTTG9jYXRpb25DdXN0b20u
Y3BwCiAgICAgYmluZGluZ3MvanMvSlNNYWluVGhyZWFkRXhlY1N0YXRlLmNwcAogICAgIGJpbmRp
bmdzL2pzL0pTTWVkaWFEZXZpY2VzQ3VzdG9tLmNwcAorICAgIGJpbmRpbmdzL2pzL0pTTWVkaWFL
ZXlTZXNzaW9uQ3VzdG9tLmNwcAorICAgIGJpbmRpbmdzL2pzL0pTTWVkaWFLZXlTeXN0ZW1BY2Nl
c3NDdXN0b20uY3BwCiAgICAgYmluZGluZ3MvanMvSlNNZWRpYVN0cmVhbVRyYWNrQ3VzdG9tLmNw
cAogICAgIGJpbmRpbmdzL2pzL0pTTWVkaWFUcmFja1N1cHBvcnRlZENvbnN0cmFpbnRzQ3VzdG9t
LmNwcAogICAgIGJpbmRpbmdzL2pzL0pTTWVzc2FnZUNoYW5uZWxDdXN0b20uY3BwCkBAIC0zMDQx
LDYgKzMwNDMsMzMgQEAgaWYgKEVOQUJMRV9MRUdBQ1lfRU5DUllQVEVEX01FRElBKQogICAgICkK
IGVuZGlmICgpCiAKK2lmIChFTkFCTEVfRU5DUllQVEVEX01FRElBKQorICAgIGxpc3QoQVBQRU5E
IFdlYkNvcmVfU09VUkNFUworICAgICAgICBNb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5
TWVzc2FnZUV2ZW50LmNwcAorICAgICAgICBNb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5
U2Vzc2lvbi5jcHAKKyAgICAgICAgTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVN0YXR1
c01hcC5jcHAKKyAgICAgICAgTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVN5c3RlbUFj
Y2Vzcy5jcHAKKyAgICAgICAgTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleXMuY3BwCisg
ICAgICAgIE1vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTmF2aWdhdG9yRU1FLmNwcAorCisgICAgICAg
IGh0bWwvTWVkaWFFbmNyeXB0ZWRFdmVudC5jcHAKKyAgICApCisgICAgbGlzdChBUFBFTkQgV2Vi
Q29yZV9JRExfRklMRVMKKyAgICApCisgICAgbGlzdChBUFBFTkQgV2ViQ29yZV9JRExfRklMRVMK
KyAgICAgICAgTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleU1lc3NhZ2VFdmVudC5pZGwK
KyAgICAgICAgTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVNlc3Npb24uaWRsCisgICAg
ICAgIE1vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlTdGF0dXNNYXAuaWRsCisgICAgICAg
IE1vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlTeXN0ZW1BY2Nlc3MuaWRsCisgICAgICAg
IE1vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlTeXN0ZW1Db25maWd1cmF0aW9uLmlkbAor
ICAgICAgICBNb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U3lzdGVtTWVkaWFDYXBhYmls
aXR5LmlkbAorICAgICAgICBNb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5cy5pZGwKKyAg
ICAgICAgTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9OYXZpZ2F0b3JFTUUuaWRsCisKKyAgICAgICAg
aHRtbC9NZWRpYUVuY3J5cHRlZEV2ZW50LmlkbAorICAgICkKK2VuZGlmICgpCisKIGxpc3QoQVBQ
RU5EIFdlYkNvcmVfQ1NTX1ZBTFVFX0tFWVdPUkRTCiAgICAgJHtXRUJDT1JFX0RJUn0vY3NzL1NW
R0NTU1ZhbHVlS2V5d29yZHMuaW4KICkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2
ZWRTb3VyY2VzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcAppbmRleCA5
ZmYxYmEyYTQ3ZGE0ODA4NTUzZjE3ZmY3M2RiNjMzYzg3NTE5YjE1Li4wMDJlNThkNDMxZmU4YTY3
Nzk3ZTY2YWUyYzYwZjQ4NzkxOWMxMDYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJp
dmVkU291cmNlcy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwCkBA
IC0zMjYsNiArMzI2LDE1IEBACiAjaW5jbHVkZSAiSlNNZWRpYUVsZW1lbnRBdWRpb1NvdXJjZU5v
ZGUuY3BwIgogI2VuZGlmCiAjaW5jbHVkZSAiSlNNZWRpYUVycm9yLmNwcCIKKyNpZiBFTkFCTEUo
RU5DUllQVEVEX01FRElBKQorI2luY2x1ZGUgIkpTTWVkaWFLZXlNZXNzYWdlRXZlbnQuY3BwIgor
I2luY2x1ZGUgIkpTTWVkaWFLZXlTZXNzaW9uLmNwcCIKKyNpbmNsdWRlICJKU01lZGlhS2V5U3Rh
dHVzTWFwLmNwcCIKKyNpbmNsdWRlICJKU01lZGlhS2V5U3lzdGVtQWNjZXNzLmNwcCIKKyNpbmNs
dWRlICJKU01lZGlhS2V5U3lzdGVtQ29uZmlndXJhdGlvbi5jcHAiCisjaW5jbHVkZSAiSlNNZWRp
YUtleVN5c3RlbU1lZGlhQ2FwYWJpbGl0eS5jcHAiCisjaW5jbHVkZSAiSlNNZWRpYUtleXMuY3Bw
IgorI2VuZGlmCiAjaW5jbHVkZSAiSlNNZWRpYUxpc3QuY3BwIgogI2luY2x1ZGUgIkpTTWVkaWFR
dWVyeUxpc3QuY3BwIgogI2luY2x1ZGUgIkpTTWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5jcHAiCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlIGIvU291cmNlL1dl
YkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQppbmRleCAyOTAzMGFjNjBjMGUxYjgzODQzNmIwNDQx
YjNiNDk1OGM0NzkzYTViLi40ZjQ4YmM1ZWM1MWVlMjdkNWMwZGIzZmY0OTNjNmUwYzM1NDZmZmFl
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKQEAgLTMwLDYgKzMwLDcgQEAgVlBBVEgg
PSBcCiAgICAgJChXZWJDb3JlKSBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2FpcnBsYXkgXAog
ICAgICQoV2ViQ29yZSkvTW9kdWxlcy9hcHBsZXBheSBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVz
L2VuY3J5cHRlZG1lZGlhIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEv
bGVnYWN5IFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvZmV0Y2ggXAogICAgICQoV2ViQ29yZSkv
TW9kdWxlcy9nYW1lcGFkIFwKQEAgLTgzLDYgKzg0LDE0IEBAIEpTX0JJTkRJTkdfSURMUyA9IFwK
ICAgICAkKFdlYkNvcmUpL01vZHVsZXMvYXBwbGVwYXkvQXBwbGVQYXlTaGlwcGluZ0NvbnRhY3RT
ZWxlY3RlZEV2ZW50LmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2FwcGxlcGF5L0FwcGxl
UGF5U2hpcHBpbmdNZXRob2RTZWxlY3RlZEV2ZW50LmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1
bGVzL2FwcGxlcGF5L0FwcGxlUGF5VmFsaWRhdGVNZXJjaGFudEV2ZW50LmlkbCBcCisgICAgJChX
ZWJDb3JlKS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5TWVzc2FnZUV2ZW50LmlkbCBc
CisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U2Vzc2lvbi5p
ZGwgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVN0YXR1
c01hcC5pZGwgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtl
eVN5c3RlbUFjY2Vzcy5pZGwgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9lbmNyeXB0ZWRtZWRp
YS9NZWRpYUtleVN5c3RlbUNvbmZpZ3VyYXRpb24uaWRsIFwKKyAgICAkKFdlYkNvcmUpL01vZHVs
ZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlTeXN0ZW1NZWRpYUNhcGFiaWxpdHkuaWRsIFwKKyAg
ICAkKFdlYkNvcmUpL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlzLmlkbCBcCisgICAg
JChXZWJDb3JlKS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL05hdmlnYXRvckVNRS5pZGwgXAogICAg
ICQoV2ViQ29yZSkvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9sZWdhY3kvV2ViS2l0TWVkaWFLZXlN
ZXNzYWdlRXZlbnQuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEv
bGVnYWN5L1dlYktpdE1lZGlhS2V5TmVlZGVkRXZlbnQuaWRsIFwKICAgICAkKFdlYkNvcmUpL01v
ZHVsZXMvZW5jcnlwdGVkbWVkaWEvbGVnYWN5L1dlYktpdE1lZGlhS2V5U2Vzc2lvbi5pZGwgXApA
QCAtNDYyLDYgKzQ3MSw3IEBAIEpTX0JJTkRJTkdfSURMUyA9IFwKICAgICAkKFdlYkNvcmUpL2h0
bWwvSFRNTFZpZGVvRWxlbWVudC5pZGwgXAogICAgICQoV2ViQ29yZSkvaHRtbC9JbWFnZURhdGEu
aWRsIFwKICAgICAkKFdlYkNvcmUpL2h0bWwvTWVkaWFDb250cm9sbGVyLmlkbCBcCisgICAgJChX
ZWJDb3JlKS9odG1sL01lZGlhRW5jcnlwdGVkRXZlbnQuaWRsIFwKICAgICAkKFdlYkNvcmUpL2h0
bWwvTWVkaWFFcnJvci5pZGwgXAogICAgICQoV2ViQ29yZSkvaHRtbC9SYWRpb05vZGVMaXN0Lmlk
bCBcCiAgICAgJChXZWJDb3JlKS9odG1sL1RleHRNZXRyaWNzLmlkbCBcCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5TWVzc2FnZUV2ZW50
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlNZXNz
YWdlRXZlbnQuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjYyYjVkNTNlMGFmYzQ1MDkwN2M3MTAzMmZmMTE3Njdj
NDU3YjUzMGEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5
cHRlZG1lZGlhL01lZGlhS2V5TWVzc2FnZUV2ZW50LmNwcApAQCAtMCwwICsxLDU0IEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDE2IE1ldHJvbG9naWNhbCBHcm91cCBCLlYuCisgKiBDb3B5cmln
aHQgKEMpIDIwMTYgSWdhbGlhIFMuTC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwor
ICogYXJlIG1ldDoKKyAqCisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogICAgY29w
eXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcK
KyAqICAgIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZAorICogICAgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklC
VVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBI
T0xERVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
KyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJNZWRpYUtleU1lc3NhZ2VFdmVudC5oIgor
CisjaWYgRU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkKKworI2luY2x1ZGUgIkV2ZW50TmFtZXMuaCIK
KworbmFtZXNwYWNlIFdlYkNvcmUgeworCitNZWRpYUtleU1lc3NhZ2VFdmVudDo6TWVkaWFLZXlN
ZXNzYWdlRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiB0eXBlLCBjb25zdCBNZWRpYUtleU1lc3Nh
Z2VFdmVudDo6SW5pdCYgaW5pdGlhbGl6ZXIsIElzVHJ1c3RlZCBpc1RydXN0ZWQpCisgICAgOiBF
dmVudCh0eXBlLCBpbml0aWFsaXplciwgaXNUcnVzdGVkKQorICAgICwgbV9tZXNzYWdlVHlwZShp
bml0aWFsaXplci5tZXNzYWdlVHlwZSkKKyAgICAsIG1fbWVzc2FnZShpbml0aWFsaXplci5tZXNz
YWdlKQoreworfQorCitNZWRpYUtleU1lc3NhZ2VFdmVudDo6fk1lZGlhS2V5TWVzc2FnZUV2ZW50
KCkgPSBkZWZhdWx0OworCitFdmVudEludGVyZmFjZSBNZWRpYUtleU1lc3NhZ2VFdmVudDo6ZXZl
bnRJbnRlcmZhY2UoKSBjb25zdAoreworICAgIHJldHVybiBNZWRpYUtleU1lc3NhZ2VFdmVudElu
dGVyZmFjZVR5cGU7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVO
QUJMRShFTkNSWVBURURfTUVESUEpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5TWVzc2FnZUV2ZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5TWVzc2FnZUV2ZW50LmgKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
YTYzM2M1MWE2YmNiM2YwZjQ5Mzg2MTVkYWEwNzRjM2RmOTk1M2MwYwotLS0gL2Rldi9udWxsCisr
KyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlNZXNzYWdl
RXZlbnQuaApAQCAtMCwwICsxLDY3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE2IE1ldHJv
bG9naWNhbCBHcm91cCBCLlYuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTYgSWdhbGlhIFMuTC4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZQorICogICAgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcKKyAqICAgIGRpc2NsYWltZXIgaW4gdGhlIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZAorICogICAgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhF
IENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1J
VEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBIT0xERVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisg
KiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaWYgRU5BQkxF
KEVOQ1JZUFRFRF9NRURJQSkKKworI2luY2x1ZGUgIkV2ZW50LmgiCisjaW5jbHVkZSAiTWVkaWFL
ZXlNZXNzYWdlRXZlbnRJbml0LmgiCisjaW5jbHVkZSAiTWVkaWFLZXlNZXNzYWdlVHlwZS5oIgor
I2luY2x1ZGUgPHJ1bnRpbWUvQXJyYXlCdWZmZXIuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgewor
CitjbGFzcyBNZWRpYUtleU1lc3NhZ2VFdmVudCBmaW5hbCA6IHB1YmxpYyBFdmVudCB7CitwdWJs
aWM6CisgICAgdXNpbmcgVHlwZSA9IE1lZGlhS2V5TWVzc2FnZVR5cGU7CisgICAgdXNpbmcgSW5p
dCA9IE1lZGlhS2V5TWVzc2FnZUV2ZW50SW5pdDsKKworICAgIHZpcnR1YWwgfk1lZGlhS2V5TWVz
c2FnZUV2ZW50KCk7CisKKyAgICBzdGF0aWMgUmVmPE1lZGlhS2V5TWVzc2FnZUV2ZW50PiBjcmVh
dGUoY29uc3QgQXRvbWljU3RyaW5nJiB0eXBlLCBjb25zdCBNZWRpYUtleU1lc3NhZ2VFdmVudElu
aXQmIGluaXRpYWxpemVyLCBJc1RydXN0ZWQgaXNUcnVzdGVkID0gSXNUcnVzdGVkOjpObykKKyAg
ICB7CisgICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IE1lZGlhS2V5TWVzc2FnZUV2ZW50KHR5
cGUsIGluaXRpYWxpemVyLCBpc1RydXN0ZWQpKTsKKyAgICB9CisKKyAgICBUeXBlIG1lc3NhZ2VU
eXBlKCkgY29uc3QgeyByZXR1cm4gbV9tZXNzYWdlVHlwZTsgfQorICAgIFJlZlB0cjxKU0M6OkFy
cmF5QnVmZmVyPiBtZXNzYWdlKCkgY29uc3QgeyByZXR1cm4gbV9tZXNzYWdlOyB9CisKK3ByaXZh
dGU6CisgICAgTWVkaWFLZXlNZXNzYWdlRXZlbnQoY29uc3QgQXRvbWljU3RyaW5nJiwgY29uc3Qg
TWVkaWFLZXlNZXNzYWdlRXZlbnRJbml0JiwgSXNUcnVzdGVkKTsKKworICAgIC8vIEV2ZW50Cisg
ICAgRXZlbnRJbnRlcmZhY2UgZXZlbnRJbnRlcmZhY2UoKSBjb25zdCBvdmVycmlkZTsKKworICAg
IE1lZGlhS2V5TWVzc2FnZVR5cGUgbV9tZXNzYWdlVHlwZTsKKyAgICBSZWZQdHI8SlNDOjpBcnJh
eUJ1ZmZlcj4gbV9tZXNzYWdlOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5k
aWYgLy8gRU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlNZXNzYWdlRXZlbnQuaWRsIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleU1lc3NhZ2VFdmVudC5pZGwK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uYzE3ZDdkMDRkMDQwOTE2YzYyZWQzMzVlNTM3MzJmZDY0ZGY3MDY0MAotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVk
aWFLZXlNZXNzYWdlRXZlbnQuaWRsCkBAIC0wLDAgKzEsNDcgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTYgTWV0cm9sb2dpY2FsIEdyb3VwIEIuVi4KKyAqIENvcHlyaWdodCAoQykgMjAxNiBJ
Z2FsaWEgUy5MLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0Ogor
ICoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiAgICBjb3B5cmlnaHQgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZworICogICAgZGlzY2xh
aW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
CisgKiAgICB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFT
IElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIEhPTERFUiBPUiBDT05U
UklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwK
KyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworZW51bSBNZWRpYUtl
eU1lc3NhZ2VUeXBlIHsKKyAgICAibGljZW5zZS1yZXF1ZXN0IiwKKyAgICAibGljZW5zZS1yZW5l
d2FsIiwKKyAgICAibGljZW5zZS1yZWxlYXNlIiwKKyAgICAiaW5kaXZpZHVhbGl6YXRpb24tcmVx
dWVzdCIKK307CisKK2RpY3Rpb25hcnkgTWVkaWFLZXlNZXNzYWdlRXZlbnRJbml0IDogRXZlbnRJ
bml0IHsKKyAgICByZXF1aXJlZCBNZWRpYUtleU1lc3NhZ2VUeXBlIG1lc3NhZ2VUeXBlOworICAg
IHJlcXVpcmVkIEFycmF5QnVmZmVyIG1lc3NhZ2U7Cit9OworCitbCisgICAgQ29uZGl0aW9uYWw9
RU5DUllQVEVEX01FRElBLAorICAgIENvbnN0cnVjdG9yKERPTVN0cmluZyB0eXBlLCBNZWRpYUtl
eU1lc3NhZ2VFdmVudEluaXQgZXZlbnRJbml0RGljdCksCitdIGludGVyZmFjZSBNZWRpYUtleU1l
c3NhZ2VFdmVudCA6IEV2ZW50IHsKKyAgICByZWFkb25seSBhdHRyaWJ1dGUgTWVkaWFLZXlNZXNz
YWdlVHlwZSBtZXNzYWdlVHlwZTsKKyAgICByZWFkb25seSBhdHRyaWJ1dGUgQXJyYXlCdWZmZXIg
bWVzc2FnZTsKK307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRl
ZG1lZGlhL01lZGlhS2V5TWVzc2FnZUV2ZW50SW5pdC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleU1lc3NhZ2VFdmVudEluaXQuaApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4w
YmYxMzBlNGU0N2Q5N2M4OWMzZjZhNGE1ZDVjNTE4OGJmNmFkN2I0Ci0tLSAvZGV2L251bGwKKysr
IGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleU1lc3NhZ2VF
dmVudEluaXQuaApAQCAtMCwwICsxLDU0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE2IE1l
dHJvbG9naWNhbCBHcm91cCBCLlYuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTYgSWdhbGlhIFMuTC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogICAgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcKKyAqICAgIGRpc2NsYWltZXIgaW4gdGhl
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZAorICogICAgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
VEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBM
SU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBIT0xERVIgT1IgQ09OVFJJQlVUT1JTIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFM
LCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
CisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaWYgRU5B
QkxFKEVOQ1JZUFRFRF9NRURJQSkKKworI2luY2x1ZGUgIkV2ZW50LmgiCisjaW5jbHVkZSAiTWVk
aWFLZXlNZXNzYWdlVHlwZS5oIgorI2luY2x1ZGUgPHJ1bnRpbWUvQXJyYXlCdWZmZXIuaD4KKwor
bmFtZXNwYWNlIFdlYkNvcmUgeworCitzdHJ1Y3QgTWVkaWFLZXlNZXNzYWdlRXZlbnRJbml0IDog
RXZlbnRJbml0IHsKKyAgICBNZWRpYUtleU1lc3NhZ2VFdmVudEluaXQoKSA9IGRlZmF1bHQ7CisK
KyAgICBNZWRpYUtleU1lc3NhZ2VFdmVudEluaXQoTWVkaWFLZXlNZXNzYWdlVHlwZSBtZXNzYWdl
VHlwZSwgUmVmUHRyPEpTQzo6QXJyYXlCdWZmZXI+JiYgbWVzc2FnZSkKKyAgICAgICAgOiBFdmVu
dEluaXQoKQorICAgICAgICAsIG1lc3NhZ2VUeXBlKG1lc3NhZ2VUeXBlKQorICAgICAgICAsIG1l
c3NhZ2UoV1RGTW92ZShtZXNzYWdlKSkKKyAgICB7IH0KKworICAgIE1lZGlhS2V5TWVzc2FnZVR5
cGUgbWVzc2FnZVR5cGU7CisgICAgUmVmUHRyPEpTQzo6QXJyYXlCdWZmZXI+IG1lc3NhZ2U7Cit9
OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoRU5DUllQVEVE
X01FRElBKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRp
YS9NZWRpYUtleU1lc3NhZ2VUeXBlLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRl
ZG1lZGlhL01lZGlhS2V5TWVzc2FnZVR5cGUuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kYTczNjFlYWFiM2I0YzI1
ODM5NzU2Y2E0M2IyYjFjOGVjYmU0MzAzCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleU1lc3NhZ2VUeXBlLmgKQEAgLTAsMCAr
MSw0NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNiBNZXRyb2xvZ2ljYWwgR3JvdXAgQi5W
LgorICogQ29weXJpZ2h0IChDKSAyMDE2IElnYWxpYSBTLkwuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUKKyAqICAgIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nCisgKiAgICBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQKKyAqICAgIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVS
UyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENP
UFlSSUdIVAorICogSE9MREVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisg
KiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lmIEVOQUJMRShFTkNSWVBURURfTUVESUEp
CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworZW51bSBjbGFzcyBNZWRpYUtleU1lc3NhZ2VUeXBl
IHsKKyAgICBMaWNlbnNlUmVxdWVzdCwKKyAgICBMaWNlbnNlUmVuZXdhbCwKKyAgICBMaWNlbnNl
UmVsZWFzZSwKKyAgICBJbmRpdmlkdWFsaXphdGlvblJlcXVlc3QKK307CisKK30gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShFTkNSWVBURURfTUVESUEpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U2Vzc2lv
bi5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U2Vz
c2lvbi5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZTVmMTE3NzQ2NjYyMmM4OWFhY2E5NTIyYzVkMTdlMzFkY2Ji
OWFiYQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVk
bWVkaWEvTWVkaWFLZXlTZXNzaW9uLmNwcApAQCAtMCwwICsxLDEyMSBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAxNiBNZXRyb2xvZ2ljYWwgR3JvdXAgQi5WLgorICogQ29weXJpZ2h0IChDKSAy
MDE2IElnYWxpYSBTLkwuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBt
ZXQ6CisgKgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqICAgIGNvcHlyaWdodCBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nCisgKiAgICBk
aXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQKKyAqICAgIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisg
KiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogSE9MREVSIE9S
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVk
ZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiTWVkaWFLZXlTZXNzaW9uLmgiCisKKyNpZiBFTkFCTEUo
RU5DUllQVEVEX01FRElBKQorCisjaW5jbHVkZSAiTWVkaWFLZXlTdGF0dXNNYXAuaCIKKyNpbmNs
dWRlICJOb3RJbXBsZW1lbnRlZC5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK1JlZjxNZWRp
YUtleVNlc3Npb24+IE1lZGlhS2V5U2Vzc2lvbjo6Y3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQmIGNvbnRleHQpCit7CisgICAgYXV0byBzZXNzaW9uID0gYWRvcHRSZWYoKm5ldyBNZWRpYUtl
eVNlc3Npb24oY29udGV4dCkpOworICAgIHNlc3Npb24tPnN1c3BlbmRJZk5lZWRlZCgpOworICAg
IHJldHVybiBzZXNzaW9uOworfQorCitNZWRpYUtleVNlc3Npb246Ok1lZGlhS2V5U2Vzc2lvbihT
Y3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0KQorICAgIDogQWN0aXZlRE9NT2JqZWN0KCZj
b250ZXh0KQoreworfQorCitNZWRpYUtleVNlc3Npb246On5NZWRpYUtleVNlc3Npb24oKSA9IGRl
ZmF1bHQ7CisKK2NvbnN0IFN0cmluZyYgTWVkaWFLZXlTZXNzaW9uOjpzZXNzaW9uSWQoKSBjb25z
dAoreworICAgIG5vdEltcGxlbWVudGVkKCk7CisgICAgcmV0dXJuIGVtcHR5U3RyaW5nKCk7Cit9
CisKK2RvdWJsZSBNZWRpYUtleVNlc3Npb246OmV4cGlyYXRpb24oKSBjb25zdAoreworICAgIG5v
dEltcGxlbWVudGVkKCk7CisgICAgcmV0dXJuIDA7Cit9CisKK1JlZlB0cjxNZWRpYUtleVN0YXR1
c01hcD4gTWVkaWFLZXlTZXNzaW9uOjprZXlTdGF0dXNlcygpIGNvbnN0Cit7CisgICAgbm90SW1w
bGVtZW50ZWQoKTsKKyAgICByZXR1cm4gbnVsbHB0cjsKK30KKwordm9pZCBNZWRpYUtleVNlc3Np
b246OmdlbmVyYXRlUmVxdWVzdChjb25zdCBTdHJpbmcmLCBjb25zdCBCdWZmZXJTb3VyY2UmLCBS
ZWY8RGVmZXJyZWRQcm9taXNlPiYmKQoreworICAgIG5vdEltcGxlbWVudGVkKCk7Cit9CisKK3Zv
aWQgTWVkaWFLZXlTZXNzaW9uOjpsb2FkKGNvbnN0IFN0cmluZyYsIFJlZjxEZWZlcnJlZFByb21p
c2U+JiYpCit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKK30KKwordm9pZCBNZWRpYUtleVNlc3Np
b246OnVwZGF0ZShjb25zdCBCdWZmZXJTb3VyY2UmLCBSZWY8RGVmZXJyZWRQcm9taXNlPiYmKQor
eworICAgIG5vdEltcGxlbWVudGVkKCk7Cit9CisKK3ZvaWQgTWVkaWFLZXlTZXNzaW9uOjpjbG9z
ZShSZWY8RGVmZXJyZWRQcm9taXNlPiYmKQoreworICAgIG5vdEltcGxlbWVudGVkKCk7Cit9CisK
K3ZvaWQgTWVkaWFLZXlTZXNzaW9uOjpyZW1vdmUoUmVmPERlZmVycmVkUHJvbWlzZT4mJikKK3sK
KyAgICBub3RJbXBsZW1lbnRlZCgpOworfQorCitib29sIE1lZGlhS2V5U2Vzc2lvbjo6aGFzUGVu
ZGluZ0FjdGl2aXR5KCkgY29uc3QKK3sKKyAgICBub3RJbXBsZW1lbnRlZCgpOworICAgIHJldHVy
biBmYWxzZTsKK30KKworY29uc3QgY2hhciogTWVkaWFLZXlTZXNzaW9uOjphY3RpdmVET01PYmpl
Y3ROYW1lKCkgY29uc3QKK3sKKyAgICBub3RJbXBsZW1lbnRlZCgpOworICAgIHJldHVybiAiTWVk
aWFLZXlTZXNzaW9uIjsKK30KKworYm9vbCBNZWRpYUtleVNlc3Npb246OmNhblN1c3BlbmRGb3JE
b2N1bWVudFN1c3BlbnNpb24oKSBjb25zdAoreworICAgIG5vdEltcGxlbWVudGVkKCk7CisgICAg
cmV0dXJuIGZhbHNlOworfQorCit2b2lkIE1lZGlhS2V5U2Vzc2lvbjo6c3RvcCgpCit7CisgICAg
bm90SW1wbGVtZW50ZWQoKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFL
ZXlTZXNzaW9uLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlh
S2V5U2Vzc2lvbi5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjZiY2QyMzdkN2Y4ZTk1MDI5YTFjMWY3ZmQxZWI0YmZk
NDk4YWIyMTUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5
cHRlZG1lZGlhL01lZGlhS2V5U2Vzc2lvbi5oCkBAIC0wLDAgKzEsODMgQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTYgTWV0cm9sb2dpY2FsIEdyb3VwIEIuVi4KKyAqIENvcHlyaWdodCAoQykg
MjAxNiBJZ2FsaWEgUy5MLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUg
bWV0OgorICoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiAgICBjb3B5cmlnaHQg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZworICogICAg
ZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkCisgKiAgICB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUwor
ICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIEhPTERFUiBP
UiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdt
YSBvbmNlCisKKyNpZiBFTkFCTEUoRU5DUllQVEVEX01FRElBKQorCisjaW5jbHVkZSAiQWN0aXZl
RE9NT2JqZWN0LmgiCisjaW5jbHVkZSAiRXZlbnRUYXJnZXQuaCIKKyNpbmNsdWRlICJHZW5lcmlj
RXZlbnRRdWV1ZS5oIgorI2luY2x1ZGUgIkpTRE9NUHJvbWlzZS5oIgorI2luY2x1ZGUgIk1lZGlh
S2V5U2Vzc2lvblR5cGUuaCIKKyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgorI2luY2x1ZGUg
PHd0Zi90ZXh0L1dURlN0cmluZy5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIEJ1
ZmZlclNvdXJjZTsKK2NsYXNzIE1lZGlhS2V5U3RhdHVzTWFwOworY2xhc3MgTWVkaWFLZXlzOwor
CitjbGFzcyBNZWRpYUtleVNlc3Npb24gZmluYWwgOiBwdWJsaWMgUmVmQ291bnRlZDxNZWRpYUtl
eVNlc3Npb24+LCBwdWJsaWMgRXZlbnRUYXJnZXRXaXRoSW5saW5lRGF0YSwgcHVibGljIEFjdGl2
ZURPTU9iamVjdCB7CitwdWJsaWM6CisgICAgc3RhdGljIFJlZjxNZWRpYUtleVNlc3Npb24+IGNy
ZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0Jik7CisgICAgdmlydHVhbCB+TWVkaWFLZXlTZXNz
aW9uKCk7CisKKyAgICB1c2luZyBSZWZDb3VudGVkPE1lZGlhS2V5U2Vzc2lvbj46OnJlZjsKKyAg
ICB1c2luZyBSZWZDb3VudGVkPE1lZGlhS2V5U2Vzc2lvbj46OmRlcmVmOworCisgICAgY29uc3Qg
U3RyaW5nJiBzZXNzaW9uSWQoKSBjb25zdDsKKyAgICBkb3VibGUgZXhwaXJhdGlvbigpIGNvbnN0
OworICAgIFJlZlB0cjxNZWRpYUtleVN0YXR1c01hcD4ga2V5U3RhdHVzZXMoKSBjb25zdDsKKwor
ICAgIHZvaWQgZ2VuZXJhdGVSZXF1ZXN0KGNvbnN0IFN0cmluZyYsIGNvbnN0IEJ1ZmZlclNvdXJj
ZSYsIFJlZjxEZWZlcnJlZFByb21pc2U+JiYpOworICAgIHZvaWQgbG9hZChjb25zdCBTdHJpbmcm
LCBSZWY8RGVmZXJyZWRQcm9taXNlPiYmKTsKKyAgICB2b2lkIHVwZGF0ZShjb25zdCBCdWZmZXJT
b3VyY2UmLCBSZWY8RGVmZXJyZWRQcm9taXNlPiYmKTsKKyAgICB2b2lkIGNsb3NlKFJlZjxEZWZl
cnJlZFByb21pc2U+JiYpOworICAgIHZvaWQgcmVtb3ZlKFJlZjxEZWZlcnJlZFByb21pc2U+JiYp
OworCitwcml2YXRlOgorICAgIE1lZGlhS2V5U2Vzc2lvbihTY3JpcHRFeGVjdXRpb25Db250ZXh0
Jik7CisKKyAgICAvLyBFdmVudFRhcmdldAorICAgIEV2ZW50VGFyZ2V0SW50ZXJmYWNlIGV2ZW50
VGFyZ2V0SW50ZXJmYWNlKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gTWVkaWFLZXlTZXNzaW9u
RXZlbnRUYXJnZXRJbnRlcmZhY2VUeXBlOyB9CisgICAgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCog
c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIEFjdGl2ZURP
TU9iamVjdDo6c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpOyB9CisgICAgdm9pZCByZWZFdmVudFRh
cmdldCgpIG92ZXJyaWRlIHsgcmVmKCk7IH0KKyAgICB2b2lkIGRlcmVmRXZlbnRUYXJnZXQoKSBv
dmVycmlkZSB7IGRlcmVmKCk7IH0KKworICAgIC8vIEFjdGl2ZURPTU9iamVjdAorICAgIGJvb2wg
aGFzUGVuZGluZ0FjdGl2aXR5KCkgY29uc3Qgb3ZlcnJpZGU7CisgICAgY29uc3QgY2hhciogYWN0
aXZlRE9NT2JqZWN0TmFtZSgpIGNvbnN0IG92ZXJyaWRlOworICAgIGJvb2wgY2FuU3VzcGVuZEZv
ckRvY3VtZW50U3VzcGVuc2lvbigpIGNvbnN0IG92ZXJyaWRlOworICAgIHZvaWQgc3RvcCgpIG92
ZXJyaWRlOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxF
KEVOQ1JZUFRFRF9NRURJQSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5j
cnlwdGVkbWVkaWEvTWVkaWFLZXlTZXNzaW9uLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
ZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlTZXNzaW9uLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kZDNiZDBhMDVh
OTI2ZGUzNTMzMjAwOGE4ZTExMjA4MmE1MzNmZjZhCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVNlc3Npb24uaWRsCkBAIC0w
LDAgKzEsNDMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTYgTWV0cm9sb2dpY2FsIEdyb3Vw
IEIuVi4KKyAqIENvcHlyaWdodCAoQykgMjAxNiBJZ2FsaWEgUy5MLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlCisgKiAgICBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZworICogICAgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkCisgKiAgICB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhP
TERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICog
QSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRI
RSBDT1BZUklHSFQKKyAqIEhPTERFUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisgKi8KKworWworICAgIENvbmRpdGlvbmFsPUVOQ1JZUFRFRF9NRURJQSwKK10g
aW50ZXJmYWNlIE1lZGlhS2V5U2Vzc2lvbiA6IEV2ZW50VGFyZ2V0IHsKKyAgICByZWFkb25seSBh
dHRyaWJ1dGUgRE9NU3RyaW5nIHNlc3Npb25JZDsKKyAgICByZWFkb25seSBhdHRyaWJ1dGUgdW5y
ZXN0cmljdGVkIGRvdWJsZSBleHBpcmF0aW9uOworICAgIFtDdXN0b21HZXR0ZXIsIENhY2hlZEF0
dHJpYnV0ZV0gcmVhZG9ubHkgYXR0cmlidXRlIFByb21pc2U8dm9pZD4gY2xvc2VkOworICAgIHJl
YWRvbmx5IGF0dHJpYnV0ZSBNZWRpYUtleVN0YXR1c01hcCBrZXlTdGF0dXNlczsKKyAgICBhdHRy
aWJ1dGUgRXZlbnRIYW5kbGVyIG9ua2V5c3RhdHVzZXNjaGFuZ2U7CisgICAgYXR0cmlidXRlIEV2
ZW50SGFuZGxlciBvbm1lc3NhZ2U7CisgICAgUHJvbWlzZTx2b2lkPiBnZW5lcmF0ZVJlcXVlc3Qo
RE9NU3RyaW5nIGluaXREYXRhVHlwZSwgQnVmZmVyU291cmNlIGluaXREYXRhKTsKKyAgICBQcm9t
aXNlPGJvb2w+IGxvYWQoRE9NU3RyaW5nIHNlc3Npb25JZCk7CisgICAgUHJvbWlzZTx2b2lkPiB1
cGRhdGUoQnVmZmVyU291cmNlIHJlc3BvbnNlKTsKKyAgICBQcm9taXNlPHZvaWQ+IGNsb3NlKCk7
CisgICAgUHJvbWlzZTx2b2lkPiByZW1vdmUoKTsKK307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U2Vzc2lvblR5cGUuaCBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlTZXNzaW9uVHlwZS5oCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLmYzMWM4N2MxYTM0ZmQ2NWVkOGZlMWQyNDFhMTAzMGRkMWE1NjkzMDYKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlh
S2V5U2Vzc2lvblR5cGUuaApAQCAtMCwwICsxLDQzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDE2IE1ldHJvbG9naWNhbCBHcm91cCBCLlYuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTYgSWdhbGlh
IFMuTC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisg
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogICAgY29weXJpZ2h0IG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcKKyAqICAgIGRpc2NsYWltZXIg
aW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZAorICog
ICAgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIg
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
CisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBIT0xERVIgT1IgQ09OVFJJQlVU
T1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBT
UEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAor
ICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisj
aWYgRU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitlbnVt
IGNsYXNzIE1lZGlhS2V5U2Vzc2lvblR5cGUgeworICAgIFRlbXBvcmFyeSwKKyAgICBQZXJzaXN0
ZW50VXNhZ2VSZWNvcmQsCisgICAgUGVyc2lzdGVudExpY2Vuc2UKK307CisKK30gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShFTkNSWVBURURfTUVESUEpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U3RhdHVz
LmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U3RhdHVz
LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uYzNjZjRjODk3YzM5YjgwY2U4NWI5MDI2ODliNDE2NGZjN2JhZTNmOAot
LS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEv
TWVkaWFLZXlTdGF0dXMuaApAQCAtMCwwICsxLDQ3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDE2IE1ldHJvbG9naWNhbCBHcm91cCBCLlYuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTYgSWdhbGlh
IFMuTC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisg
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogICAgY29weXJpZ2h0IG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcKKyAqICAgIGRpc2NsYWltZXIg
aW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZAorICog
ICAgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIg
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
CisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBIT0xERVIgT1IgQ09OVFJJQlVU
T1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBT
UEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAor
ICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisj
aWYgRU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitlbnVt
IGNsYXNzIE1lZGlhS2V5U3RhdHVzIHsKKyAgICBVc2FibGUsCisgICAgRXhwaXJlZCwKKyAgICBS
ZWxlYXNlZCwKKyAgICBPdXRwdXRSZXN0cmljdGVkLAorICAgIE91dHB1dERvd25zY2FsZWQsCisg
ICAgU3RhdHVzUGVuZGluZywKKyAgICBJbnRlcm5hbEVycm9yCit9OworCit9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoRU5DUllQVEVEX01FRElBKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVN0YXR1c01h
cC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U3Rh
dHVzTWFwLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zOWUyYTllMGJhMDZmOGIwMTMwZTM0YTRiODI1MmJhNTc5
NDg3YzBkCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0
ZWRtZWRpYS9NZWRpYUtleVN0YXR1c01hcC5jcHAKQEAgLTAsMCArMSw3MSBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAxNiBNZXRyb2xvZ2ljYWwgR3JvdXAgQi5WLgorICogQ29weXJpZ2h0IChD
KSAyMDE2IElnYWxpYSBTLkwuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFy
ZSBtZXQ6CisgKgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqICAgIGNvcHlyaWdo
dCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nCisgKiAg
ICBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQKKyAqICAgIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JT
CisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogSE9MREVS
IE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAq
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5j
bHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiTWVkaWFLZXlTdGF0dXNNYXAuaCIKKworI2lmIEVO
QUJMRShFTkNSWVBURURfTUVESUEpCisKKyNpbmNsdWRlICJOb3RJbXBsZW1lbnRlZC5oIgorCitu
YW1lc3BhY2UgV2ViQ29yZSB7CisKK01lZGlhS2V5U3RhdHVzTWFwOjpNZWRpYUtleVN0YXR1c01h
cCgpID0gZGVmYXVsdDsKKworTWVkaWFLZXlTdGF0dXNNYXA6On5NZWRpYUtleVN0YXR1c01hcCgp
ID0gZGVmYXVsdDsKKwordW5zaWduZWQgbG9uZyBNZWRpYUtleVN0YXR1c01hcDo6c2l6ZSgpCit7
CisgICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICByZXR1cm4gMDsKK30KKworYm9vbCBNZWRpYUtl
eVN0YXR1c01hcDo6aGFzKGNvbnN0IEJ1ZmZlclNvdXJjZSYpCit7CisgICAgbm90SW1wbGVtZW50
ZWQoKTsKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK0pTQzo6SlNWYWx1ZSBNZWRpYUtleVN0YXR1
c01hcDo6Z2V0KGNvbnN0IEJ1ZmZlclNvdXJjZSYpCit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsK
KyAgICByZXR1cm4gSlNDOjpqc1VuZGVmaW5lZCgpOworfQorCitNZWRpYUtleVN0YXR1c01hcDo6
SXRlcmF0b3I6Okl0ZXJhdG9yKE1lZGlhS2V5U3RhdHVzTWFwJikKK3sKK30KKworT3B0aW9uYWw8
V1RGOjpLZXlWYWx1ZVBhaXI8QnVmZmVyU291cmNlOjpWYXJpYW50VHlwZSwgTWVkaWFLZXlTdGF0
dXM+PiBNZWRpYUtleVN0YXR1c01hcDo6SXRlcmF0b3I6Om5leHQoKQoreworICAgIHJldHVybiBO
dWxsb3B0OworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUo
RU5DUllQVEVEX01FRElBKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNy
eXB0ZWRtZWRpYS9NZWRpYUtleVN0YXR1c01hcC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9l
bmNyeXB0ZWRtZWRpYS9NZWRpYUtleVN0YXR1c01hcC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmU5MmQwN2UzYmQw
YzU1ZDAyOTA1N2IxNmVlOTg4YjllY2Y1ZmQyMTkKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U3RhdHVzTWFwLmgKQEAgLTAs
MCArMSw3MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNiBNZXRyb2xvZ2ljYWwgR3JvdXAg
Qi5WLgorICogQ29weXJpZ2h0IChDKSAyMDE2IElnYWxpYSBTLkwuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgorICogMS4gUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUKKyAqICAgIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nCisgKiAgICBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQKKyAqICAgIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9M
REVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhF
IENPUFlSSUdIVAorICogSE9MREVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
CisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lmIEVOQUJMRShFTkNSWVBURURfTUVE
SUEpCisKKyNpbmNsdWRlICJCdWZmZXJTb3VyY2UuaCIKKyNpbmNsdWRlICJNZWRpYUtleVN0YXR1
cy5oIgorI2luY2x1ZGUgPHJ1bnRpbWUvSlNDSlNWYWx1ZUlubGluZXMuaD4KKyNpbmNsdWRlIDx3
dGYvSGFzaFRyYWl0cy5oPgorI2luY2x1ZGUgPHd0Zi9PcHRpb25hbC5oPgorI2luY2x1ZGUgPHd0
Zi9SZWYuaD4KKyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgorCituYW1lc3BhY2UgV2ViQ29y
ZSB7CisKK2NsYXNzIE1lZGlhS2V5U3RhdHVzTWFwIDogcHVibGljIFJlZkNvdW50ZWQ8TWVkaWFL
ZXlTdGF0dXNNYXA+IHsKK3B1YmxpYzoKKyAgICB1c2luZyBTdGF0dXMgPSBNZWRpYUtleVN0YXR1
czsKKworICAgIHN0YXRpYyBSZWY8TWVkaWFLZXlTdGF0dXNNYXA+IGNyZWF0ZSgpCisgICAgewor
ICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBNZWRpYUtleVN0YXR1c01hcCk7CisgICAgfQor
CisgICAgdmlydHVhbCB+TWVkaWFLZXlTdGF0dXNNYXAoKTsKKworICAgIHVuc2lnbmVkIGxvbmcg
c2l6ZSgpOworICAgIGJvb2wgaGFzKGNvbnN0IEJ1ZmZlclNvdXJjZSYpOworICAgIEpTQzo6SlNW
YWx1ZSBnZXQoY29uc3QgQnVmZmVyU291cmNlJik7CisKKyAgICBjbGFzcyBJdGVyYXRvciB7Cisg
ICAgcHVibGljOgorICAgICAgICBleHBsaWNpdCBJdGVyYXRvcihNZWRpYUtleVN0YXR1c01hcCYp
OworICAgICAgICBPcHRpb25hbDxXVEY6OktleVZhbHVlUGFpcjxCdWZmZXJTb3VyY2U6OlZhcmlh
bnRUeXBlLCBNZWRpYUtleVN0YXR1cz4+IG5leHQoKTsKKyAgICB9OworICAgIEl0ZXJhdG9yIGNy
ZWF0ZUl0ZXJhdG9yKCkgeyByZXR1cm4gSXRlcmF0b3IoKnRoaXMpOyB9CisKK3ByaXZhdGU6Cisg
ICAgTWVkaWFLZXlTdGF0dXNNYXAoKTsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKwor
I2VuZGlmIC8vIEVOQUJMRShFTkNSWVBURURfTUVESUEpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U3RhdHVzTWFwLmlkbCBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlTdGF0dXNNYXAuaWRsCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjBjMjk0ZDdiY2UxMWY1ZGVlMTIxNmE0NzQ4ZjIxOTFjNTM1YjY1YTcKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlh
S2V5U3RhdHVzTWFwLmlkbApAQCAtMCwwICsxLDQ2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDE2IE1ldHJvbG9naWNhbCBHcm91cCBCLlYuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTYgSWdhbGlh
IFMuTC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisg
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogICAgY29weXJpZ2h0IG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcKKyAqICAgIGRpc2NsYWltZXIg
aW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZAorICog
ICAgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIg
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
CisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBIT0xERVIgT1IgQ09OVFJJQlVU
T1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBT
UEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAor
ICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK2VudW0gTWVkaWFLZXlTdGF0
dXMgeworICAgICJ1c2FibGUiLAorICAgICJleHBpcmVkIiwKKyAgICAicmVsZWFzZWQiLAorICAg
ICJvdXRwdXQtcmVzdHJpY3RlZCIsCisgICAgIm91dHB1dC1kb3duc2NhbGVkIiwKKyAgICAic3Rh
dHVzLXBlbmRpbmciLAorICAgICJpbnRlcm5hbC1lcnJvciIKK307CisKK1sKKyAgICBDb25kaXRp
b25hbD1FTkNSWVBURURfTUVESUEKK10gaW50ZXJmYWNlIE1lZGlhS2V5U3RhdHVzTWFwIHsKKyAg
ICBpdGVyYWJsZTxCdWZmZXJTb3VyY2UsIE1lZGlhS2V5U3RhdHVzPjsKKyAgICByZWFkb25seSBh
dHRyaWJ1dGUgdW5zaWduZWQgbG9uZyBzaXplOworICAgIGJvb2xlYW4gaGFzKEJ1ZmZlclNvdXJj
ZSBrZXlJZCk7CisgICAgYW55IGdldChCdWZmZXJTb3VyY2Uga2V5SWQpOworfTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlTeXN0ZW1B
Y2Nlc3MuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtl
eVN5c3RlbUFjY2Vzcy5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjYzYzM3NWFhZjE2MmYzODUyYjhkYWE3N2Fj
MmQwOTEwNGEyYTM1MgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
ZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlTeXN0ZW1BY2Nlc3MuY3BwCkBAIC0wLDAgKzEsNjIgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTYgTWV0cm9sb2dpY2FsIEdyb3VwIEIuVi4KKyAqIENv
cHlyaWdodCAoQykgMjAxNiBJZ2FsaWEgUy5MLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCisgKiBhcmUgbWV0OgorICoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiAg
ICBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZworICogICAgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkCisgKiAgICB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENP
TlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFS
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQK
KyAqIEhPTERFUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisg
Ki8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIk1lZGlhS2V5U3lzdGVtQWNjZXNz
LmgiCisKKyNpZiBFTkFCTEUoRU5DUllQVEVEX01FRElBKQorCisjaW5jbHVkZSAiTWVkaWFLZXlT
eXN0ZW1Db25maWd1cmF0aW9uLmgiCisjaW5jbHVkZSAiTm90SW1wbGVtZW50ZWQuaCIKKworbmFt
ZXNwYWNlIFdlYkNvcmUgeworCitNZWRpYUtleVN5c3RlbUFjY2Vzczo6TWVkaWFLZXlTeXN0ZW1B
Y2Nlc3MoKSA9IGRlZmF1bHQ7CisKK01lZGlhS2V5U3lzdGVtQWNjZXNzOjp+TWVkaWFLZXlTeXN0
ZW1BY2Nlc3MoKSA9IGRlZmF1bHQ7CisKK2NvbnN0IFN0cmluZyYgTWVkaWFLZXlTeXN0ZW1BY2Nl
c3M6OmtleVN5c3RlbSgpIGNvbnN0Cit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICByZXR1
cm4gbV9rZXlTeXN0ZW07Cit9CisKK2NvbnN0IE1lZGlhS2V5U3lzdGVtQ29uZmlndXJhdGlvbiYg
TWVkaWFLZXlTeXN0ZW1BY2Nlc3M6OmdldENvbmZpZ3VyYXRpb24oKSBjb25zdAoreworICAgIG5v
dEltcGxlbWVudGVkKCk7CisgICAgcmV0dXJuIG1fY29uZmlndXJhdGlvbjsKK30KKwordm9pZCBN
ZWRpYUtleVN5c3RlbUFjY2Vzczo6Y3JlYXRlTWVkaWFLZXlzKFJlZjxEZWZlcnJlZFByb21pc2U+
JiYpCit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQorCisjZW5kaWYgLy8gRU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlTeXN0ZW1BY2Nlc3MuaCBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlTeXN0ZW1BY2Nl
c3MuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4xNWE2MDg0YzgyMGE3MWVkZGQzOTc0OTFhYTJhNmJjNjJjMmZiYTJl
Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRp
YS9NZWRpYUtleVN5c3RlbUFjY2Vzcy5oCkBAIC0wLDAgKzEsNjQgQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMTYgTWV0cm9sb2dpY2FsIEdyb3VwIEIuVi4KKyAqIENvcHlyaWdodCAoQykgMjAx
NiBJZ2FsaWEgUy5MLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0
OgorICoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiAgICBjb3B5cmlnaHQgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZworICogICAgZGlz
Y2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkCisgKiAgICB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICog
IkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIEhPTERFUiBPUiBD
T05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBv
bmNlCisKKyNpZiBFTkFCTEUoRU5DUllQVEVEX01FRElBKQorCisjaW5jbHVkZSAiSlNET01Qcm9t
aXNlLmgiCisjaW5jbHVkZSAiTWVkaWFLZXlTeXN0ZW1Db25maWd1cmF0aW9uLmgiCisjaW5jbHVk
ZSA8d3RmL1JlZkNvdW50ZWQuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KKwor
bmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBNZWRpYUtleXM7CisKK2NsYXNzIE1lZGlhS2V5
U3lzdGVtQWNjZXNzIDogcHVibGljIFJlZkNvdW50ZWQ8TWVkaWFLZXlTeXN0ZW1BY2Nlc3M+IHsK
K3B1YmxpYzoKKyAgICBzdGF0aWMgUmVmPE1lZGlhS2V5U3lzdGVtQWNjZXNzPiBjcmVhdGUoKQor
ICAgIHsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgTWVkaWFLZXlTeXN0ZW1BY2Nlc3Mp
OworICAgIH0KKworICAgIHZpcnR1YWwgfk1lZGlhS2V5U3lzdGVtQWNjZXNzKCk7CisKKyAgICBj
b25zdCBTdHJpbmcmIGtleVN5c3RlbSgpIGNvbnN0OworICAgIGNvbnN0IE1lZGlhS2V5U3lzdGVt
Q29uZmlndXJhdGlvbiYgZ2V0Q29uZmlndXJhdGlvbigpIGNvbnN0OworICAgIHZvaWQgY3JlYXRl
TWVkaWFLZXlzKFJlZjxEZWZlcnJlZFByb21pc2U+JiYpOworCitwcml2YXRlOgorICAgIE1lZGlh
S2V5U3lzdGVtQWNjZXNzKCk7CisKKyAgICBTdHJpbmcgbV9rZXlTeXN0ZW07CisgICAgTWVkaWFL
ZXlTeXN0ZW1Db25maWd1cmF0aW9uIG1fY29uZmlndXJhdGlvbjsKK307CisKK30gLy8gbmFtZXNw
YWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShFTkNSWVBURURfTUVESUEpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U3lzdGVt
QWNjZXNzLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFL
ZXlTeXN0ZW1BY2Nlc3MuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQyYjNkNDc3ZTQwZTg3ZGRkMGFjYjZiZmQw
NDBjYmNlZjEwN2UzYjIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U3lzdGVtQWNjZXNzLmlkbApAQCAtMCwwICsxLDM1IEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDE2IE1ldHJvbG9naWNhbCBHcm91cCBCLlYuCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTYgSWdhbGlhIFMuTC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICog
ICAgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcKKyAqICAgIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZAorICogICAgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBD
T05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxB
UiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hU
CisgKiBIT0xERVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKK1sKKyAgICBDb25kaXRpb25hbD1FTkNSWVBURURfTUVESUEKK10gaW50ZXJmYWNlIE1l
ZGlhS2V5U3lzdGVtQWNjZXNzIHsKKyAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGtl
eVN5c3RlbTsKKyAgICBbQ3VzdG9tXSBNZWRpYUtleVN5c3RlbUNvbmZpZ3VyYXRpb24gZ2V0Q29u
ZmlndXJhdGlvbigpOworICAgIFByb21pc2U8TWVkaWFLZXlzPiBjcmVhdGVNZWRpYUtleXMoKTsK
K307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01l
ZGlhS2V5U3lzdGVtQ29uZmlndXJhdGlvbi5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNy
eXB0ZWRtZWRpYS9NZWRpYUtleVN5c3RlbUNvbmZpZ3VyYXRpb24uaApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yNWQy
MDc5NWU3ZDk2NGNiNzY1MmM5NTg1MjYxMTAxNGZhYmQ3NWE0Ci0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVN5c3RlbUNvbmZp
Z3VyYXRpb24uaApAQCAtMCwwICsxLDU0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE2IE1l
dHJvbG9naWNhbCBHcm91cCBCLlYuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTYgSWdhbGlhIFMuTC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogICAgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcKKyAqICAgIGRpc2NsYWltZXIgaW4gdGhl
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZAorICogICAgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
VEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBM
SU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBIT0xERVIgT1IgQ09OVFJJQlVUT1JTIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFM
LCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
CisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaWYgRU5B
QkxFKEVOQ1JZUFRFRF9NRURJQSkKKworI2luY2x1ZGUgIk1lZGlhS2V5U3lzdGVtTWVkaWFDYXBh
YmlsaXR5LmgiCisjaW5jbHVkZSAiTWVkaWFLZXlzUmVxdWlyZW1lbnQuaCIKKyNpbmNsdWRlIDx3
dGYvVmVjdG9yLmg+CisjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CisKK25hbWVzcGFj
ZSBXZWJDb3JlIHsKKworc3RydWN0IE1lZGlhS2V5U3lzdGVtQ29uZmlndXJhdGlvbiB7CisgICAg
dXNpbmcgS2V5c1JlcXVpcmVtZW50ID0gTWVkaWFLZXlzUmVxdWlyZW1lbnQ7CisKKyAgICBTdHJp
bmcgbGFiZWw7CisgICAgVmVjdG9yPFN0cmluZz4gaW5pdERhdGFUeXBlczsKKyAgICBWZWN0b3I8
TWVkaWFLZXlTeXN0ZW1NZWRpYUNhcGFiaWxpdHk+IGF1ZGlvQ2FwYWJpbGl0aWVzOworICAgIFZl
Y3RvcjxNZWRpYUtleVN5c3RlbU1lZGlhQ2FwYWJpbGl0eT4gdmlkZW9DYXBhYmlsaXRpZXM7Cisg
ICAgTWVkaWFLZXlzUmVxdWlyZW1lbnQgZGlzdGluY3RpdmVJZGVudGlmaWVyOworICAgIE1lZGlh
S2V5c1JlcXVpcmVtZW50IHBlcnNpc3RlbnRTdGF0ZTsKKyAgICBWZWN0b3I8U3RyaW5nPiBzZXNz
aW9uVHlwZXM7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFC
TEUoRU5DUllQVEVEX01FRElBKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9l
bmNyeXB0ZWRtZWRpYS9NZWRpYUtleVN5c3RlbUNvbmZpZ3VyYXRpb24uaWRsIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVN5c3RlbUNvbmZpZ3VyYXRpb24u
aWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmUzYjcxNjg5NGI1MDg2MzNhODY2NTM2MzBlNzQ5MTkwMDI1MmVjZDkK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlh
L01lZGlhS2V5U3lzdGVtQ29uZmlndXJhdGlvbi5pZGwKQEAgLTAsMCArMSw0NSBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAxNiBNZXRyb2xvZ2ljYWwgR3JvdXAgQi5WLgorICogQ29weXJpZ2h0
IChDKSAyMDE2IElnYWxpYSBTLkwuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAq
IGFyZSBtZXQ6CisgKgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqICAgIGNvcHly
aWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nCisg
KiAgICBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQKKyAqICAgIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVU
T1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogSE9M
REVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkK
KyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCitl
bnVtIE1lZGlhS2V5c1JlcXVpcmVtZW50IHsKKyAgICAicmVxdWlyZWQiLAorICAgICJvcHRpb25h
bCIsCisgICAgIm5vdC1hbGxvd2VkIgorfTsKKworWworICAgIENvbmRpdGlvbmFsPUVOQ1JZUFRF
RF9NRURJQQorXSBkaWN0aW9uYXJ5IE1lZGlhS2V5U3lzdGVtQ29uZmlndXJhdGlvbiB7CisgICAg
RE9NU3RyaW5nIGxhYmVsID0gIiI7CisgICAgc2VxdWVuY2U8RE9NU3RyaW5nPiBpbml0RGF0YVR5
cGVzID0gW107CisgICAgc2VxdWVuY2U8TWVkaWFLZXlTeXN0ZW1NZWRpYUNhcGFiaWxpdHk+IGF1
ZGlvQ2FwYWJpbGl0aWVzID0gW107CisgICAgc2VxdWVuY2U8TWVkaWFLZXlTeXN0ZW1NZWRpYUNh
cGFiaWxpdHk+IHZpZGVvQ2FwYWJpbGl0aWVzID0gW107CisgICAgTWVkaWFLZXlzUmVxdWlyZW1l
bnQgZGlzdGluY3RpdmVJZGVudGlmaWVyID0gIm9wdGlvbmFsIjsKKyAgICBNZWRpYUtleXNSZXF1
aXJlbWVudCBwZXJzaXN0ZW50U3RhdGUgPSAib3B0aW9uYWwiOworICAgIHNlcXVlbmNlPERPTVN0
cmluZz4gc2Vzc2lvblR5cGVzOworfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlTeXN0ZW1NZWRpYUNhcGFiaWxpdHkuaCBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlTeXN0ZW1NZWRpYUNhcGFi
aWxpdHkuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5iYTcyMDA1NDIxNmI0MzI3ZmJhY2Y1ZmZhN2JiMWE3OGExZTMw
MjY4Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRt
ZWRpYS9NZWRpYUtleVN5c3RlbU1lZGlhQ2FwYWJpbGl0eS5oCkBAIC0wLDAgKzEsNDQgQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTYgTWV0cm9sb2dpY2FsIEdyb3VwIEIuVi4KKyAqIENvcHly
aWdodCAoQykgMjAxNiBJZ2FsaWEgUy5MLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CisgKiBhcmUgbWV0OgorICoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiAgICBj
b3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZworICogICAgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkCisgKiAgICB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRS
SUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAq
IEhPTERFUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8K
KworI3ByYWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoRU5DUllQVEVEX01FRElBKQorCisjaW5jbHVk
ZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworc3RydWN0
IE1lZGlhS2V5U3lzdGVtTWVkaWFDYXBhYmlsaXR5IHsKKyAgICBTdHJpbmcgY29udGVudFR5cGU7
CisgICAgU3RyaW5nIHJvYnVzdG5lc3M7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisK
KyNlbmRpZiAvLyBFTkFCTEUoRU5DUllQVEVEX01FRElBKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVN5c3RlbU1lZGlhQ2FwYWJpbGl0
eS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5U3lz
dGVtTWVkaWFDYXBhYmlsaXR5LmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lNjlkNjdhNDYzNTEwYTg3YTMyMmU4
ZjY5MTUwMTI5Y2IxMjY4NWU5Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleVN5c3RlbU1lZGlhQ2FwYWJpbGl0eS5pZGwKQEAg
LTAsMCArMSwzNCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNiBNZXRyb2xvZ2ljYWwgR3Jv
dXAgQi5WLgorICogQ29weXJpZ2h0IChDKSAyMDE2IElnYWxpYSBTLkwuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgorICogMS4gUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUKKyAqICAgIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nCisgKiAgICBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQKKyAqICAgIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQg
SE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisg
KiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
VEhFIENPUFlSSUdIVAorICogSE9MREVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICog
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KKyAqLworCitbCisgICAgQ29uZGl0aW9uYWw9RU5DUllQVEVEX01FRElBCitd
IGRpY3Rpb25hcnkgTWVkaWFLZXlTeXN0ZW1NZWRpYUNhcGFiaWxpdHkgeworICAgIERPTVN0cmlu
ZyBjb250ZW50VHlwZSA9ICIiOworICAgIERPTVN0cmluZyByb2J1c3RuZXNzID0gIiI7Cit9Owpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtl
eXMuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9NZWRpYUtleXMu
Y3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLmRlMmJlODQ4ZmU2YWU4NDQ1Njc4MTVhMjhmNTIzMDE5M2JhM2ZkNmEK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlh
L01lZGlhS2V5cy5jcHAKQEAgLTAsMCArMSw1NiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAx
NiBNZXRyb2xvZ2ljYWwgR3JvdXAgQi5WLgorICogQ29weXJpZ2h0IChDKSAyMDE2IElnYWxpYSBT
LkwuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgorICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqICAgIGNvcHlyaWdodCBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nCisgKiAgICBkaXNjbGFpbWVyIGlu
IHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQKKyAqICAg
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFO
RCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAor
ICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogSE9MREVSIE9SIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAq
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgi
CisjaW5jbHVkZSAiTWVkaWFLZXlzLmgiCisKKyNpZiBFTkFCTEUoRU5DUllQVEVEX01FRElBKQor
CisjaW5jbHVkZSAiTWVkaWFLZXlTZXNzaW9uLmgiCisjaW5jbHVkZSAiTm90SW1wbGVtZW50ZWQu
aCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitNZWRpYUtleXM6Ok1lZGlhS2V5cygpID0gZGVm
YXVsdDsKKworTWVkaWFLZXlzOjp+TWVkaWFLZXlzKCkgPSBkZWZhdWx0OworCitFeGNlcHRpb25P
cjxSZWY8TWVkaWFLZXlTZXNzaW9uPj4gTWVkaWFLZXlzOjpjcmVhdGVTZXNzaW9uKE1lZGlhS2V5
U2Vzc2lvblR5cGUpCit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICByZXR1cm4gRXhjZXB0
aW9uIHsgTk9UX1NVUFBPUlRFRF9FUlIgfTsKK30KKwordm9pZCBNZWRpYUtleXM6OnNldFNlcnZl
ckNlcnRpZmljYXRlKGNvbnN0IEJ1ZmZlclNvdXJjZSYsIFJlZjxEZWZlcnJlZFByb21pc2U+JiYp
Cit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQor
CisjZW5kaWYgLy8gRU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlzLmggYi9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5cy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjk0OWE4YTZj
MzVkNjgxYzQ1ZTZhYzcwMTZkNzc3Mzg1MGVkNGMxYmMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5cy5oCkBAIC0wLDAgKzEs
NjUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTYgTWV0cm9sb2dpY2FsIEdyb3VwIEIuVi4K
KyAqIENvcHlyaWdodCAoQykgMjAxNiBJZ2FsaWEgUy5MLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCisgKiBhcmUgbWV0OgorICoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAy
LiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
CisgKiAgICBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZworICogICAgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkCisgKiAgICB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMg
QU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJU
SUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZ
UklHSFQKKyAqIEhPTERFUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICog
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoRU5DUllQVEVEX01FRElBKQor
CisjaW5jbHVkZSAiRXhjZXB0aW9uT3IuaCIKKyNpbmNsdWRlICJKU0RPTVByb21pc2UuaCIKKyNp
bmNsdWRlICJNZWRpYUtleVNlc3Npb25UeXBlLmgiCisjaW5jbHVkZSA8d3RmL1JlZi5oPgorI2lu
Y2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3Mg
QnVmZmVyU291cmNlOworY2xhc3MgTWVkaWFLZXlTZXNzaW9uOworCitjbGFzcyBNZWRpYUtleXMg
OiBwdWJsaWMgUmVmQ291bnRlZDxNZWRpYUtleXM+IHsKK3B1YmxpYzoKKyAgICB1c2luZyBLZXlT
ZXNzaW9uVHlwZSA9IE1lZGlhS2V5U2Vzc2lvblR5cGU7CisKKyAgICBzdGF0aWMgUmVmPE1lZGlh
S2V5cz4gY3JlYXRlKCkKKyAgICB7CisgICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IE1lZGlh
S2V5cyk7CisgICAgfQorCisgICAgdmlydHVhbCB+TWVkaWFLZXlzKCk7CisKKyAgICBFeGNlcHRp
b25PcjxSZWY8TWVkaWFLZXlTZXNzaW9uPj4gY3JlYXRlU2Vzc2lvbihNZWRpYUtleVNlc3Npb25U
eXBlKTsKKworICAgIHZvaWQgc2V0U2VydmVyQ2VydGlmaWNhdGUoY29uc3QgQnVmZmVyU291cmNl
JiwgUmVmPERlZmVycmVkUHJvbWlzZT4mJik7CisKK3Byb3RlY3RlZDoKKyAgICBNZWRpYUtleXMo
KTsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIEVOQUJMRShFTkNS
WVBURURfTUVESUEpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRl
ZG1lZGlhL01lZGlhS2V5cy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1l
ZGlhL01lZGlhS2V5cy5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDNhZjU4YzBhNWU0MDg4YzRmNjQwNTAwODU4
MmRmNmU2ODEyYjViMgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
ZW5jcnlwdGVkbWVkaWEvTWVkaWFLZXlzLmlkbApAQCAtMCwwICsxLDQwIEBACisvKgorICogQ29w
eXJpZ2h0IChDKSAyMDE2IE1ldHJvbG9naWNhbCBHcm91cCBCLlYuCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTYgSWdhbGlhIFMuTC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqCisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogICAgY29weXJpZ2h0
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcKKyAqICAg
IGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZAorICogICAgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMK
KyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBIT0xERVIg
T1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICog
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK2VudW0g
TWVkaWFLZXlTZXNzaW9uVHlwZSB7CisgICAgInRlbXBvcmFyeSIsCisgICAgInBlcnNpc3RlbnQt
dXNhZ2UtcmVjb3JkIiwKKyAgICAicGVyc2lzdGVudC1saWNlbnNlIgorfTsKKyAKK1sKKyAgICBD
b25kaXRpb25hbD1FTkNSWVBURURfTUVESUEsCitdIGludGVyZmFjZSBNZWRpYUtleXMgeworICAg
IFtNYXlUaHJvd0V4Y2VwdGlvbl0gTWVkaWFLZXlTZXNzaW9uIGNyZWF0ZVNlc3Npb24ob3B0aW9u
YWwgTWVkaWFLZXlTZXNzaW9uVHlwZSBzZXNzaW9uVHlwZSA9ICJ0ZW1wb3JhcnkiKTsKKyAgICBQ
cm9taXNlPGJvb2w+IHNldFNlcnZlckNlcnRpZmljYXRlKEJ1ZmZlclNvdXJjZSBzZXJ2ZXJDZXJ0
aWZpY2F0ZSk7Cit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0
ZWRtZWRpYS9NZWRpYUtleXNSZXF1aXJlbWVudC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9l
bmNyeXB0ZWRtZWRpYS9NZWRpYUtleXNSZXF1aXJlbWVudC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmM2YWY2YjRm
ZTAwYmRjNDM0ZDMzYmRiZDU5ZTc5MGU1NGVlYWE0NzMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL2VuY3J5cHRlZG1lZGlhL01lZGlhS2V5c1JlcXVpcmVtZW50LmgK
QEAgLTAsMCArMSw0MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNiBNZXRyb2xvZ2ljYWwg
R3JvdXAgQi5WLgorICogQ29weXJpZ2h0IChDKSAyMDE2IElnYWxpYSBTLkwuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgorICogMS4gUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUKKyAqICAgIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nCisgKiAgICBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQKKyAqICAgIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklH
SFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywg
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
CisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgVEhFIENPUFlSSUdIVAorICogSE9MREVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQor
ICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lmIEVOQUJMRShFTkNSWVBU
RURfTUVESUEpCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworZW51bSBjbGFzcyBNZWRpYUtleXNS
ZXF1aXJlbWVudCB7CisgICAgUmVxdWlyZWQsCisgICAgT3B0aW9uYWwsCisgICAgTm90QWxsb3dl
ZAorfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKEVOQ1JZ
UFRFRF9NRURJQSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVk
bWVkaWEvTmF2aWdhdG9yRU1FLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVk
bWVkaWEvTmF2aWdhdG9yRU1FLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44ZWQxZDZhNmY5YWNiOTFmNTgwOWU4
N2YxZjNhZDYwNDBiYjVlZTk3Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9lbmNyeXB0ZWRtZWRpYS9OYXZpZ2F0b3JFTUUuY3BwCkBAIC0wLDAgKzEsNDUgQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTYgTWV0cm9sb2dpY2FsIEdyb3VwIEIuVi4KKyAqIENvcHly
aWdodCAoQykgMjAxNiBJZ2FsaWEgUy5MLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CisgKiBhcmUgbWV0OgorICoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiAgICBj
b3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZworICogICAgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkCisgKiAgICB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRS
SUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAq
IEhPTERFUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8K
KworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIk5hdmlnYXRvckVNRS5oIgorCisjaWYg
RU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkKKworI2luY2x1ZGUgIk5vdEltcGxlbWVudGVkLmgiCisK
K25hbWVzcGFjZSBXZWJDb3JlIHsKKwordm9pZCBOYXZpZ2F0b3JFTUU6OnJlcXVlc3RNZWRpYUtl
eVN5c3RlbUFjY2VzcyhOYXZpZ2F0b3ImLCBjb25zdCBTdHJpbmcmLCBWZWN0b3I8TWVkaWFLZXlT
eXN0ZW1Db25maWd1cmF0aW9uPiYmLCBSZWY8RGVmZXJyZWRQcm9taXNlPiYmKQoreworICAgIG5v
dEltcGxlbWVudGVkKCk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8v
IEVOQUJMRShFTkNSWVBURURfTUVESUEpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL2VuY3J5cHRlZG1lZGlhL05hdmlnYXRvckVNRS5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9lbmNyeXB0ZWRtZWRpYS9OYXZpZ2F0b3JFTUUuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hMTUxMzUzNzk4MzJi
NGNkNGQ5Mjc1NGNlZDg3YWUxMmNhNGFjODlmCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRpYS9OYXZpZ2F0b3JFTUUuaApAQCAtMCwwICsxLDUw
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE2IE1ldHJvbG9naWNhbCBHcm91cCBCLlYuCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTYgSWdhbGlhIFMuTC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQor
ICogICAgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcKKyAqICAgIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZAorICogICAgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFO
RCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElD
VUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJ
R0hUCisgKiBIT0xERVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKKyNwcmFnbWEgb25jZQorCisjaWYgRU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkKKwor
I2luY2x1ZGUgIkpTRE9NUHJvbWlzZS5oIgorI2luY2x1ZGUgIk1lZGlhS2V5U3lzdGVtQ29uZmln
dXJhdGlvbi5oIgorI2luY2x1ZGUgIlN1cHBsZW1lbnRhYmxlLmgiCisKK25hbWVzcGFjZSBXZWJD
b3JlIHsKKworY2xhc3MgTWVkaWFLZXlTeXN0ZW1BY2Nlc3M7CitjbGFzcyBOYXZpZ2F0b3I7Citj
bGFzcyBQYWdlOworCitjbGFzcyBOYXZpZ2F0b3JFTUUgZmluYWwgOiBwdWJsaWMgU3VwcGxlbWVu
dDxQYWdlPiB7CitwdWJsaWM6CisgICAgc3RhdGljIHZvaWQgcmVxdWVzdE1lZGlhS2V5U3lzdGVt
QWNjZXNzKE5hdmlnYXRvciYsIGNvbnN0IFN0cmluZyYsIFZlY3RvcjxNZWRpYUtleVN5c3RlbUNv
bmZpZ3VyYXRpb24+JiYsIFJlZjxEZWZlcnJlZFByb21pc2U+JiYpOworfTsKKworfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTmF2aWdhdG9yRU1F
LmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvZW5jcnlwdGVkbWVkaWEvTmF2aWdhdG9yRU1F
LmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4zMzdkMDJjM2NmZWRiMGMyYmU0ZDUyOTMyYzdhN2JjODhjODI2Yjhk
Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9lbmNyeXB0ZWRtZWRp
YS9OYXZpZ2F0b3JFTUUuaWRsCkBAIC0wLDAgKzEsMzMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTYgTWV0cm9sb2dpY2FsIEdyb3VwIEIuVi4KKyAqIENvcHlyaWdodCAoQykgMjAxNiBJZ2Fs
aWEgUy5MLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiAgICBjb3B5cmlnaHQgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZworICogICAgZGlzY2xhaW1l
ciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkCisg
KiAgICB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElT
IiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIEhPTERFUiBPUiBDT05UUklC
VVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAq
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
CisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworWworICAgIENvbmRpdGlv
bmFsPUVOQ1JZUFRFRF9NRURJQQorXSBwYXJ0aWFsIGludGVyZmFjZSBOYXZpZ2F0b3IgeworICAg
IFByb21pc2U8TWVkaWFLZXlTeXN0ZW1BY2Nlc3M+IHJlcXVlc3RNZWRpYUtleVN5c3RlbUFjY2Vz
cyhET01TdHJpbmcga2V5U3lzdGVtLCBzZXF1ZW5jZTxNZWRpYUtleVN5c3RlbUNvbmZpZ3VyYXRp
b24+IHN1cHBvcnRlZENvbmZpZ3VyYXRpb24pOworfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA4NTM3YTJiZjljMDY1OTA0ZDBm
YmJjMWVhOGU3YWZmMzIxNzI3MDgwLi5lMjlkNjI0NTU0ZTcyYjg5YzRkN2VjZTBjYTQ2OGIyZTkz
MGY1M2ViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCkBAIC0xMjU2LDYgKzEyNTYsMzMgQEAKIAkJMkQ5M0FFRTQxOURGNTY0MTAwMkE4
NkMzIC8qIFNlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXIubW0gaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRDkzQUVFMjE5REY1NjQxMDAyQTg2QzMgLyogU2Vy
dmljZXNPdmVybGF5Q29udHJvbGxlci5tbSAqLzsgfTsKIAkJMkQ5N0YwNDcxOURENDEzQzAwMUVF
OUMzIC8qIE1vY2tQYWdlT3ZlcmxheUNsaWVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyREFBRTMyQzE5RENBRjYwMDBFMDAyRDIgLyogTW9ja1Bh
Z2VPdmVybGF5Q2xpZW50LmNwcCAqLzsgfTsKIAkJMkQ5N0YwNDgxOURENDE0MDAwMUVFOUMzIC8q
IE1vY2tQYWdlT3ZlcmxheUNsaWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMkRBQUUzMkQxOURDQUY2MDAwRTAwMkQyIC8qIE1vY2tQYWdlT3Zlcmxh
eUNsaWVudC5oICovOyB9OworCQkyRDlCRjcwNTFEQkZCQjI0MDA3QTdEOTkgLyogTWVkaWFFbmNy
eXB0ZWRFdmVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAyRDlCRjcwMTFEQkZCQjI0MDA3QTdEOTkgLyogTWVkaWFFbmNyeXB0ZWRFdmVudC5jcHAg
Ki87IH07CisJCTJEOUJGNzA2MURCRkJCMjQwMDdBN0Q5OSAvKiBNZWRpYUVuY3J5cHRlZEV2ZW50
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRDlCRjcw
MjFEQkZCQjI0MDA3QTdEOTkgLyogTWVkaWFFbmNyeXB0ZWRFdmVudC5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCTJEOUJGNzA4MURCRkJCMjQwMDdB
N0Q5OSAvKiBNZWRpYUVuY3J5cHRlZEV2ZW50SW5pdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkQ5QkY3MDQxREJGQkIyNDAwN0E3RDk5IC8qIE1lZGlh
RW5jcnlwdGVkRXZlbnRJbml0LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0
ZSwgKTsgfTsgfTsKKwkJMkQ5QkY3MTAxREJGRDhDRTAwN0E3RDk5IC8qIEpTTWVkaWFFbmNyeXB0
ZWRFdmVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAyRDlCRjcwRjFEQkZEOENFMDA3QTdEOTkgLyogSlNNZWRpYUVuY3J5cHRlZEV2ZW50LmNwcCAq
LzsgfTsKKwkJMkQ5QkY3MTIxREJGRDkxNDAwN0E3RDk5IC8qIEpTTWVkaWFFbmNyeXB0ZWRFdmVu
dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkQ5QkY3
MTExREJGRDkxNDAwN0E3RDk5IC8qIEpTTWVkaWFFbmNyeXB0ZWRFdmVudC5oICovOyB9OworCQky
RDlCRjcyMTFEQkZEQUJBMDA3QTdEOTkgLyogSlNNZWRpYUtleU1lc3NhZ2VFdmVudC5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRDlCRjcxMzFEQkZE
QUIxMDA3QTdEOTkgLyogSlNNZWRpYUtleU1lc3NhZ2VFdmVudC5jcHAgKi87IH07CisJCTJEOUJG
NzIyMURCRkRBQ0IwMDdBN0Q5OSAvKiBKU01lZGlhS2V5cy5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRDlCRjcxNTFEQkZEQUIxMDA3QTdEOTkgLyog
SlNNZWRpYUtleXMuY3BwICovOyB9OworCQkyRDlCRjcyMzFEQkZEQUNEMDA3QTdEOTkgLyogSlNN
ZWRpYUtleVNlc3Npb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMkQ5QkY3MTcxREJGREFCMTAwN0E3RDk5IC8qIEpTTWVkaWFLZXlTZXNzaW9uLmNw
cCAqLzsgfTsKKwkJMkQ5QkY3MjQxREJGREFEMDAwN0E3RDk5IC8qIEpTTWVkaWFLZXlTdGF0dXNN
YXAuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkQ5
QkY3MTkxREJGREFCMTAwN0E3RDk5IC8qIEpTTWVkaWFLZXlTdGF0dXNNYXAuY3BwICovOyB9Owor
CQkyRDlCRjcyNTFEQkZEQUQzMDA3QTdEOTkgLyogSlNNZWRpYUtleVN5c3RlbUFjY2Vzcy5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRDlCRjcxQjFE
QkZEQUIxMDA3QTdEOTkgLyogSlNNZWRpYUtleVN5c3RlbUFjY2Vzcy5jcHAgKi87IH07CisJCTJE
OUJGNzI2MURCRkRBRDUwMDdBN0Q5OSAvKiBKU01lZGlhS2V5U3lzdGVtQ29uZmlndXJhdGlvbi5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRDlCRjcx
RDFEQkZEQUIxMDA3QTdEOTkgLyogSlNNZWRpYUtleVN5c3RlbUNvbmZpZ3VyYXRpb24uY3BwICov
OyB9OworCQkyRDlCRjcyNzFEQkZEQUQ4MDA3QTdEOTkgLyogSlNNZWRpYUtleVN5c3RlbU1lZGlh
Q2FwYWJpbGl0eS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAyRDlCRjcxRjFEQkZEQUIxMDA3QTdEOTkgLyogSlNNZWRpYUtleVN5c3RlbU1lZGlhQ2Fw
YWJpbGl0eS5jcHAgKi87IH07CisJCTJEOUJGNzI4MURCRkRCMEQwMDdBN0Q5OSAvKiBKU01lZGlh
S2V5TWVzc2FnZUV2ZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAyRDlCRjcxNDFEQkZEQUIxMDA3QTdEOTkgLyogSlNNZWRpYUtleU1lc3NhZ2VFdmVu
dC5oICovOyB9OworCQkyRDlCRjcyOTFEQkZEQjEwMDA3QTdEOTkgLyogSlNNZWRpYUtleXMuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJEOUJGNzE2MURC
RkRBQjEwMDdBN0Q5OSAvKiBKU01lZGlhS2V5cy5oICovOyB9OworCQkyRDlCRjcyQTFEQkZEQjEz
MDA3QTdEOTkgLyogSlNNZWRpYUtleVNlc3Npb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJEOUJGNzE4MURCRkRBQjEwMDdBN0Q5OSAvKiBKU01lZGlh
S2V5U2Vzc2lvbi5oICovOyB9OworCQkyRDlCRjcyQjFEQkZEQjE1MDA3QTdEOTkgLyogSlNNZWRp
YUtleVN0YXR1c01hcC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gMkQ5QkY3MUExREJGREFCMTAwN0E3RDk5IC8qIEpTTWVkaWFLZXlTdGF0dXNNYXAuaCAq
LzsgfTsKKwkJMkQ5QkY3MkMxREJGREIxNzAwN0E3RDk5IC8qIEpTTWVkaWFLZXlTeXN0ZW1BY2Nl
c3MuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJEOUJG
NzFDMURCRkRBQjEwMDdBN0Q5OSAvKiBKU01lZGlhS2V5U3lzdGVtQWNjZXNzLmggKi87IH07CisJ
CTJEOUJGNzJEMURCRkRCMTkwMDdBN0Q5OSAvKiBKU01lZGlhS2V5U3lzdGVtQ29uZmlndXJhdGlv
bi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkQ5QkY3
MUUxREJGREFCMTAwN0E3RDk5IC8qIEpTTWVkaWFLZXlTeXN0ZW1Db25maWd1cmF0aW9uLmggKi87
IH07CisJCTJEOUJGNzJFMURCRkRCMUMwMDdBN0Q5OSAvKiBKU01lZGlhS2V5U3lzdGVtTWVkaWFD
YXBhYmlsaXR5LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAyRDlCRjcyMDFEQkZEQUIxMDA3QTdEOTkgLyogSlNNZWRpYUtleVN5c3RlbU1lZGlhQ2FwYWJp
bGl0eS5oICovOyB9OworCQkyRDlCRjc0MjFEQkZEQzI3MDA3QTdEOTkgLyogTmF2aWdhdG9yRU1F
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJEOUJG
NzQwMURCRkRDMEYwMDdBN0Q5OSAvKiBOYXZpZ2F0b3JFTUUuY3BwICovOyB9OworCQkyRDlCRjc0
MzFEQkZEQzNFMDA3QTdEOTkgLyogTWVkaWFLZXlTeXN0ZW1BY2Nlc3MuY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkQ5QkY3M0MxREJGREMwRjAwN0E3
RDk5IC8qIE1lZGlhS2V5U3lzdGVtQWNjZXNzLmNwcCAqLzsgfTsKKwkJMkQ5QkY3NDQxREJGREM0
MTAwN0E3RDk5IC8qIE1lZGlhS2V5U3RhdHVzTWFwLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJEOUJGNzNBMURCRkRDMEYwMDdBN0Q5OSAvKiBNZWRp
YUtleVN0YXR1c01hcC5jcHAgKi87IH07CisJCTJEOUJGNzQ1MURCRkRDNDQwMDdBN0Q5OSAvKiBN
ZWRpYUtleVNlc3Npb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMkQ5QkY3MzUxREJGREMwRjAwN0E3RDk5IC8qIE1lZGlhS2V5U2Vzc2lvbi5jcHAg
Ki87IH07CisJCTJEOUJGNzQ2MURCRkRDNDcwMDdBN0Q5OSAvKiBNZWRpYUtleXMuY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMkQ5QkY3MzMxREJGREMw
RjAwN0E3RDk5IC8qIE1lZGlhS2V5cy5jcHAgKi87IH07CisJCTJEOUJGNzQ3MURCRkRDNDkwMDdB
N0Q5OSAvKiBNZWRpYUtleU1lc3NhZ2VFdmVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAyRDlCRjcyRjFEQkZEQzBGMDA3QTdEOTkgLyogTWVkaWFL
ZXlNZXNzYWdlRXZlbnQuY3BwICovOyB9OworCQkyRDlCRjc0QTFEQkZEREZGMDA3QTdEOTkgLyog
SlNNZWRpYUtleVNlc3Npb25DdXN0b20uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMkQ5QkY3NDgxREJGRERGODAwN0E3RDk5IC8qIEpTTWVkaWFLZXlT
ZXNzaW9uQ3VzdG9tLmNwcCAqLzsgfTsKKwkJMkQ5QkY3NEIxREJGREUwMjAwN0E3RDk5IC8qIEpT
TWVkaWFLZXlTeXN0ZW1BY2Nlc3NDdXN0b20uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gMkQ5QkY3NDkxREJGRERGODAwN0E3RDk5IC8qIEpTTWVkaWFL
ZXlTeXN0ZW1BY2Nlc3NDdXN0b20uY3BwICovOyB9OwogCQkyRDlGMEUxMzE0RkYxQ0JGMDBCQTBG
RjcgLyogbGluZWFyU1JHQi5pY2MgaW4gUmVzb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDJEOUYwRTEyMTRGRjFDQkYwMEJBMEZGNyAvKiBsaW5lYXJTUkdCLmljYyAq
LzsgfTsKIAkJMkRCOUM0QUExQjMyMzFGNDAwNzBGMjdGIC8qIE5TRXZlbnRTUEkuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDJEQjlDNEE5MUIzMjMxRjQw
MDcwRjI3RiAvKiBOU0V2ZW50U1BJLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKIAkJMkRDNENGNzkxRDJERDk4OTAwRUNDQzk0IC8qIERhdGFEZXRlY3Rv
cnNVSVNQSS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
MkRDNENGNzgxRDJERDk4OTAwRUNDQzk0IC8qIERhdGFEZXRlY3RvcnNVSVNQSS5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC04MzA5LDYgKzgzMzYs
NTUgQEAKIAkJMkQ5MDY2MEMwNjY1RDkzNzAwNkI2RjFBIC8qIERhdGFUcmFuc2Zlck1hYy5tbSAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSAzMDsgaW5kZW50V2lk
dGggPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9
IERhdGFUcmFuc2Zlck1hYy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgdGFiV2lkdGggPSA4
OyB1c2VzVGFicyA9IDA7IH07CiAJCTJEOTNBRUUxMTlERjU2NDEwMDJBODZDMyAvKiBTZXJ2aWNl
c092ZXJsYXlDb250cm9sbGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNl
cnZpY2VzT3ZlcmxheUNvbnRyb2xsZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
MkQ5M0FFRTIxOURGNTY0MTAwMkE4NkMzIC8qIFNlcnZpY2VzT3ZlcmxheUNvbnRyb2xsZXIubW0g
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBTZXJ2aWNlc092ZXJsYXlD
b250cm9sbGVyLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkyRDlCRjZGNTFEQkZC
NzFGMDA3QTdEOTkgLyogTWVkaWFLZXlNZXNzYWdlRXZlbnQuaWRsICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsg
cGF0aCA9IE1lZGlhS2V5TWVzc2FnZUV2ZW50LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJMkQ5QkY2RjYxREJGQjcxRjAwN0E3RDk5IC8qIE1lZGlhS2V5cy5pZGwgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSB0ZXh0OyBwYXRoID0gTWVkaWFLZXlzLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJMkQ5QkY2RjcxREJGQjcxRjAwN0E3RDk5IC8qIE1lZGlhS2V5U2Vzc2lvbi5pZGwgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSB0ZXh0OyBwYXRoID0gTWVkaWFLZXlTZXNzaW9uLmlkbDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJMkQ5QkY2RjgxREJGQjcxRjAwN0E3RDk5IC8qIE1lZGlhS2V5U3RhdHVzTWFw
LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBNZWRpYUtleVN0YXR1c01hcC5pZGw7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTJEOUJGNkY5MURCRkI3MUYwMDdBN0Q5OSAvKiBNZWRp
YUtleVN5c3RlbUFjY2Vzcy5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gTWVkaWFLZXlTeXN0
ZW1BY2Nlc3MuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkyRDlCRjZGQTFEQkZC
NzFGMDA3QTdEOTkgLyogTWVkaWFLZXlTeXN0ZW1Db25maWd1cmF0aW9uLmlkbCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHRleHQ7IHBhdGggPSBNZWRpYUtleVN5c3RlbUNvbmZpZ3VyYXRpb24uaWRsOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQkyRDlCRjZGQjFEQkZCNzFGMDA3QTdEOTkgLyogTWVkaWFLZXlT
eXN0ZW1NZWRpYUNhcGFiaWxpdHkuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IE1lZGlhS2V5
U3lzdGVtTWVkaWFDYXBhYmlsaXR5LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
MkQ5QkY2RkMxREJGQjcxRjAwN0E3RDk5IC8qIE5hdmlnYXRvckVNRS5pZGwgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0
ZXh0OyBwYXRoID0gTmF2aWdhdG9yRU1FLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJMkQ5QkY3MDExREJGQkIyNDAwN0E3RDk5IC8qIE1lZGlhRW5jcnlwdGVkRXZlbnQuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTWVkaWFFbmNyeXB0ZWRFdmVudC5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTJEOUJGNzAyMURCRkJCMjQwMDdBN0Q5
OSAvKiBNZWRpYUVuY3J5cHRlZEV2ZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IE1lZGlhRW5jcnlwdGVkRXZlbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
MkQ5QkY3MDMxREJGQkIyNDAwN0E3RDk5IC8qIE1lZGlhRW5jcnlwdGVkRXZlbnQuaWRsICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gdGV4dDsgcGF0aCA9IE1lZGlhRW5jcnlwdGVkRXZlbnQuaWRsOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQkyRDlCRjcwNDFEQkZCQjI0MDA3QTdEOTkgLyogTWVkaWFFbmNyeXB0
ZWRFdmVudEluaXQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTWVkaWFFbmNy
eXB0ZWRFdmVudEluaXQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMkQ5QkY3MEYx
REJGRDhDRTAwN0E3RDk5IC8qIEpTTWVkaWFFbmNyeXB0ZWRFdmVudC5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU01lZGlhRW5jcnlwdGVkRXZlbnQuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQkyRDlCRjcxMTFEQkZEOTE0MDA3QTdEOTkgLyogSlNN
ZWRpYUVuY3J5cHRlZEV2ZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpT
TWVkaWFFbmNyeXB0ZWRFdmVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkyRDlC
RjcxMzFEQkZEQUIxMDA3QTdEOTkgLyogSlNNZWRpYUtleU1lc3NhZ2VFdmVudC5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU01lZGlhS2V5TWVzc2FnZUV2ZW50LmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMkQ5QkY3MTQxREJGREFCMTAwN0E3RDk5
IC8qIEpTTWVkaWFLZXlNZXNzYWdlRXZlbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gSlNNZWRpYUtleU1lc3NhZ2VFdmVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQkyRDlCRjcxNTFEQkZEQUIxMDA3QTdEOTkgLyogSlNNZWRpYUtleXMuY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNNZWRpYUtleXMuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQkyRDlCRjcxNjFEQkZEQUIxMDA3QTdEOTkgLyogSlNNZWRpYUtl
eXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNNZWRpYUtleXMuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMkQ5QkY3MTcxREJGREFCMTAwN0E3RDk5IC8qIEpT
TWVkaWFLZXlTZXNzaW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IEpTTWVkaWFLZXlTZXNzaW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMkQ5
QkY3MTgxREJGREFCMTAwN0E3RDk5IC8qIEpTTWVkaWFLZXlTZXNzaW9uLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTTWVkaWFLZXlTZXNzaW9uLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCTJEOUJGNzE5MURCRkRBQjEwMDdBN0Q5OSAvKiBKU01lZGlhS2V5U3Rh
dHVzTWFwLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTTWVkaWFL
ZXlTdGF0dXNNYXAuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkyRDlCRjcxQTFE
QkZEQUIxMDA3QTdEOTkgLyogSlNNZWRpYUtleVN0YXR1c01hcC5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBKU01lZGlhS2V5U3RhdHVzTWFwLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCTJEOUJGNzFCMURCRkRBQjEwMDdBN0Q5OSAvKiBKU01lZGlhS2V5U3lzdGVt
QWNjZXNzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTTWVkaWFL
ZXlTeXN0ZW1BY2Nlc3MuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkyRDlCRjcx
QzFEQkZEQUIxMDA3QTdEOTkgLyogSlNNZWRpYUtleVN5c3RlbUFjY2Vzcy5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBKU01lZGlhS2V5U3lzdGVtQWNjZXNzLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTJEOUJGNzFEMURCRkRBQjEwMDdBN0Q5OSAvKiBKU01lZGlh
S2V5U3lzdGVtQ29uZmlndXJhdGlvbi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBKU01lZGlhS2V5U3lzdGVtQ29uZmlndXJhdGlvbi5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCTJEOUJGNzFFMURCRkRBQjEwMDdBN0Q5OSAvKiBKU01lZGlhS2V5U3lz
dGVtQ29uZmlndXJhdGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU01l
ZGlhS2V5U3lzdGVtQ29uZmlndXJhdGlvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQkyRDlCRjcxRjFEQkZEQUIxMDA3QTdEOTkgLyogSlNNZWRpYUtleVN5c3RlbU1lZGlhQ2FwYWJp
bGl0eS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBKU01lZGlhS2V5
U3lzdGVtTWVkaWFDYXBhYmlsaXR5LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
MkQ5QkY3MjAxREJGREFCMTAwN0E3RDk5IC8qIEpTTWVkaWFLZXlTeXN0ZW1NZWRpYUNhcGFiaWxp
dHkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSlNNZWRpYUtleVN5c3RlbU1l
ZGlhQ2FwYWJpbGl0eS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkyRDlCRjcyRjFE
QkZEQzBGMDA3QTdEOTkgLyogTWVkaWFLZXlNZXNzYWdlRXZlbnQuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTWVkaWFLZXlNZXNzYWdlRXZlbnQuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQkyRDlCRjczMDFEQkZEQzBGMDA3QTdEOTkgLyogTWVkaWFL
ZXlNZXNzYWdlRXZlbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTWVkaWFL
ZXlNZXNzYWdlRXZlbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMkQ5QkY3MzEx
REJGREMwRjAwN0E3RDk5IC8qIE1lZGlhS2V5TWVzc2FnZUV2ZW50SW5pdC5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBNZWRpYUtleU1lc3NhZ2VFdmVudEluaXQuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMkQ5QkY3MzIxREJGREMwRjAwN0E3RDk5IC8qIE1lZGlh
S2V5TWVzc2FnZVR5cGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTWVkaWFL
ZXlNZXNzYWdlVHlwZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkyRDlCRjczMzFE
QkZEQzBGMDA3QTdEOTkgLyogTWVkaWFLZXlzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IE1lZGlhS2V5cy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTJEOUJGNzM0MURCRkRDMEYwMDdBN0Q5OSAvKiBNZWRpYUtleXMuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gTWVkaWFLZXlzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTJEOUJGNzM1MURCRkRDMEYwMDdBN0Q5OSAvKiBNZWRpYUtleVNlc3Npb24uY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTWVkaWFLZXlTZXNzaW9uLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMkQ5QkY3MzYxREJGREMwRjAwN0E3RDk5IC8qIE1l
ZGlhS2V5U2Vzc2lvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNZWRpYUtl
eVNlc3Npb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMkQ5QkY3MzcxREJGREMw
RjAwN0E3RDk5IC8qIE1lZGlhS2V5U2Vzc2lvblR5cGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gTWVkaWFLZXlTZXNzaW9uVHlwZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQkyRDlCRjczODFEQkZEQzBGMDA3QTdEOTkgLyogTWVkaWFLZXlzUmVxdWlyZW1lbnQu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTWVkaWFLZXlzUmVxdWlyZW1lbnQu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMkQ5QkY3MzkxREJGREMwRjAwN0E3RDk5
IC8qIE1lZGlhS2V5U3RhdHVzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1l
ZGlhS2V5U3RhdHVzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTJEOUJGNzNBMURC
RkRDMEYwMDdBN0Q5OSAvKiBNZWRpYUtleVN0YXR1c01hcC5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBNZWRpYUtleVN0YXR1c01hcC5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCTJEOUJGNzNCMURCRkRDMEYwMDdBN0Q5OSAvKiBNZWRpYUtleVN0YXR1
c01hcC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNZWRpYUtleVN0YXR1c01h
cC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQkyRDlCRjczQzFEQkZEQzBGMDA3QTdE
OTkgLyogTWVkaWFLZXlTeXN0ZW1BY2Nlc3MuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gTWVkaWFLZXlTeXN0ZW1BY2Nlc3MuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQkyRDlCRjczRDFEQkZEQzBGMDA3QTdEOTkgLyogTWVkaWFLZXlTeXN0ZW1BY2Nl
c3MuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTWVkaWFLZXlTeXN0ZW1BY2Nl
c3MuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMkQ5QkY3M0UxREJGREMwRjAwN0E3
RDk5IC8qIE1lZGlhS2V5U3lzdGVtQ29uZmlndXJhdGlvbi5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBNZWRpYUtleVN5c3RlbUNvbmZpZ3VyYXRpb24uaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJMkQ5QkY3M0YxREJGREMwRjAwN0E3RDk5IC8qIE1lZGlhS2V5U3lz
dGVtTWVkaWFDYXBhYmlsaXR5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1l
ZGlhS2V5U3lzdGVtTWVkaWFDYXBhYmlsaXR5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTJEOUJGNzQwMURCRkRDMEYwMDdBN0Q5OSAvKiBOYXZpZ2F0b3JFTUUuY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTmF2aWdhdG9yRU1FLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMkQ5QkY3NDExREJGREMwRjAwN0E3RDk5IC8qIE5hdmlnYXRv
ckVNRS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBOYXZpZ2F0b3JFTUUuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJMkQ5QkY3NDgxREJGRERGODAwN0E3RDk5IC8q
IEpTTWVkaWFLZXlTZXNzaW9uQ3VzdG9tLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IEpTTWVkaWFLZXlTZXNzaW9uQ3VzdG9tLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJMkQ5QkY3NDkxREJGRERGODAwN0E3RDk5IC8qIEpTTWVkaWFLZXlTeXN0ZW1B
Y2Nlc3NDdXN0b20uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNN
ZWRpYUtleVN5c3RlbUFjY2Vzc0N1c3RvbS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCTJEOUYwRTEyMTRGRjFDQkYwMEJBMEZGNyAvKiBsaW5lYXJTUkdCLmljYyAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IGZpbGU7IHBhdGggPSBsaW5l
YXJTUkdCLmljYzsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMkRBQUUzMkMxOURDQUY2
MDAwRTAwMkQyIC8qIE1vY2tQYWdlT3ZlcmxheUNsaWVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBNb2NrUGFnZU92ZXJsYXlDbGllbnQuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQkyREFBRTMyRDE5RENBRjYwMDBFMDAyRDIgLyogTW9ja1BhZ2VP
dmVybGF5Q2xpZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1vY2tQYWdl
T3ZlcmxheUNsaWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTg3NDIsNiAr
MTg4MTgsMTAgQEAKIAkJCQk5NzIwNUFCNDEyMzkyOTEwMDBCMTczODAgLyogTWVkaWFEb2N1bWVu
dC5oICovLAogCQkJCTA3RkU5OURBMTg4MDdBN0QwMDI1NjY0OCAvKiBNZWRpYUVsZW1lbnRTZXNz
aW9uLmNwcCAqLywKIAkJCQkwN0ZFOTlEQjE4ODA3QTdEMDAyNTY2NDggLyogTWVkaWFFbGVtZW50
U2Vzc2lvbi5oICovLAorCQkJCTJEOUJGNzAxMURCRkJCMjQwMDdBN0Q5OSAvKiBNZWRpYUVuY3J5
cHRlZEV2ZW50LmNwcCAqLywKKwkJCQkyRDlCRjcwMjFEQkZCQjI0MDA3QTdEOTkgLyogTWVkaWFF
bmNyeXB0ZWRFdmVudC5oICovLAorCQkJCTJEOUJGNzAzMURCRkJCMjQwMDdBN0Q5OSAvKiBNZWRp
YUVuY3J5cHRlZEV2ZW50LmlkbCAqLywKKwkJCQkyRDlCRjcwNDFEQkZCQjI0MDA3QTdEOTkgLyog
TWVkaWFFbmNyeXB0ZWRFdmVudEluaXQuaCAqLywKIAkJCQlFNDQ2MTM5QjBDRDYzMzEwMDBGQURB
NzUgLyogTWVkaWFFcnJvci5oICovLAogCQkJCUU0NDYxMzlDMENENjMzMTAwMEZBREE3NSAvKiBN
ZWRpYUVycm9yLmlkbCAqLywKIAkJCQkwN0E2RDFFOTE0OTExMzc3MDAwNTFEMEMgLyogTWVkaWFG
cmFnbWVudFVSSVBhcnNlci5jcHAgKi8sCkBAIC0xOTY5NSw2ICsxOTc3NSw4IEBACiAJCQkJQTc3
OTc5MjUwRDZCOUU2NDAwMzg1MUI5IC8qIEpTSW1hZ2VEYXRhLmggKi8sCiAJCQkJQ0QyN0Y2RTIx
NDU3Njc1ODAwNzgyMDdEIC8qIEpTTWVkaWFDb250cm9sbGVyLmNwcCAqLywKIAkJCQlDRDI3RjZF
MzE0NTc2NzU4MDA3ODIwN0QgLyogSlNNZWRpYUNvbnRyb2xsZXIuaCAqLywKKwkJCQkyRDlCRjcw
RjFEQkZEOENFMDA3QTdEOTkgLyogSlNNZWRpYUVuY3J5cHRlZEV2ZW50LmNwcCAqLywKKwkJCQky
RDlCRjcxMTFEQkZEOTE0MDA3QTdEOTkgLyogSlNNZWRpYUVuY3J5cHRlZEV2ZW50LmggKi8sCiAJ
CQkJRTQ0NjE0MTAwQ0Q2ODI2OTAwRkFEQTc1IC8qIEpTTWVkaWFFcnJvci5jcHAgKi8sCiAJCQkJ
RTQ0NjE0MTEwQ0Q2ODI2OTAwRkFEQTc1IC8qIEpTTWVkaWFFcnJvci5oICovLAogCQkJCUM5MDI2
QjYzMUIxQ0Y1QUIwMDFEOTlBNyAvKiBKU01lZGlhUmVtb3RlQ29udHJvbHMuY3BwICovLApAQCAt
MjE3MjYsNiArMjE4MDgsOCBAQAogCQkJCThGOTM0RDg0MTE4OUYxRUUwMDUwOEQ1RCAvKiBKU01h
aW5UaHJlYWRFeGVjU3RhdGUuY3BwICovLAogCQkJCThGOTM0RDgzMTE4OUYxRUUwMDUwOEQ1RCAv
KiBKU01haW5UaHJlYWRFeGVjU3RhdGUuaCAqLywKIAkJCQlCNTY1NzZFNDE3REE1OTlGMDBBNTZC
REMgLyogSlNNYWluVGhyZWFkRXhlY1N0YXRlSW5zdHJ1bWVudGF0aW9uLmggKi8sCisJCQkJMkQ5
QkY3NDgxREJGRERGODAwN0E3RDk5IC8qIEpTTWVkaWFLZXlTZXNzaW9uQ3VzdG9tLmNwcCAqLywK
KwkJCQkyRDlCRjc0OTFEQkZEREY4MDA3QTdEOTkgLyogSlNNZWRpYUtleVN5c3RlbUFjY2Vzc0N1
c3RvbS5jcHAgKi8sCiAJCQkJQzZGNDIwQTAxNkI3MTY0RTAwNTJBOUYyIC8qIEpTTXV0YXRpb25D
YWxsYmFjay5jcHAgKi8sCiAJCQkJQzZGNDIwQTExNkI3MTY0RTAwNTJBOUYyIC8qIEpTTXV0YXRp
b25DYWxsYmFjay5oICovLAogCQkJCUNCMzhGRDU1MUNEMjFENUIwMDU5MkEzRiAvKiBKU1BlcmZv
cm1hbmNlRW50cnlDdXN0b20uY3BwICovLApAQCAtMjI1MTMsNiArMjI1OTcsMzMgQEAKIAkJCQlD
RENBOThFOTE4QjJDOEQwMDBDMTJGRjkgLyogQ0RNUHJpdmF0ZU1lZGlhUGxheWVyLmggKi8sCiAJ
CQkJQ0RFOEI1RUUxQTY5Nzc4QjAwQjRCNjZBIC8qIENETVNlc3Npb25DbGVhcktleS5jcHAgKi8s
CiAJCQkJQ0RFOEI1RUYxQTY5Nzc4QjAwQjRCNjZBIC8qIENETVNlc3Npb25DbGVhcktleS5oICov
LAorCQkJCTJEOUJGNzJGMURCRkRDMEYwMDdBN0Q5OSAvKiBNZWRpYUtleU1lc3NhZ2VFdmVudC5j
cHAgKi8sCisJCQkJMkQ5QkY3MzAxREJGREMwRjAwN0E3RDk5IC8qIE1lZGlhS2V5TWVzc2FnZUV2
ZW50LmggKi8sCisJCQkJMkQ5QkY2RjUxREJGQjcxRjAwN0E3RDk5IC8qIE1lZGlhS2V5TWVzc2Fn
ZUV2ZW50LmlkbCAqLywKKwkJCQkyRDlCRjczMTFEQkZEQzBGMDA3QTdEOTkgLyogTWVkaWFLZXlN
ZXNzYWdlRXZlbnRJbml0LmggKi8sCisJCQkJMkQ5QkY3MzIxREJGREMwRjAwN0E3RDk5IC8qIE1l
ZGlhS2V5TWVzc2FnZVR5cGUuaCAqLywKKwkJCQkyRDlCRjczMzFEQkZEQzBGMDA3QTdEOTkgLyog
TWVkaWFLZXlzLmNwcCAqLywKKwkJCQkyRDlCRjczNDFEQkZEQzBGMDA3QTdEOTkgLyogTWVkaWFL
ZXlzLmggKi8sCisJCQkJMkQ5QkY2RjYxREJGQjcxRjAwN0E3RDk5IC8qIE1lZGlhS2V5cy5pZGwg
Ki8sCisJCQkJMkQ5QkY3MzUxREJGREMwRjAwN0E3RDk5IC8qIE1lZGlhS2V5U2Vzc2lvbi5jcHAg
Ki8sCisJCQkJMkQ5QkY3MzYxREJGREMwRjAwN0E3RDk5IC8qIE1lZGlhS2V5U2Vzc2lvbi5oICov
LAorCQkJCTJEOUJGNkY3MURCRkI3MUYwMDdBN0Q5OSAvKiBNZWRpYUtleVNlc3Npb24uaWRsICov
LAorCQkJCTJEOUJGNzM3MURCRkRDMEYwMDdBN0Q5OSAvKiBNZWRpYUtleVNlc3Npb25UeXBlLmgg
Ki8sCisJCQkJMkQ5QkY3MzgxREJGREMwRjAwN0E3RDk5IC8qIE1lZGlhS2V5c1JlcXVpcmVtZW50
LmggKi8sCisJCQkJMkQ5QkY3MzkxREJGREMwRjAwN0E3RDk5IC8qIE1lZGlhS2V5U3RhdHVzLmgg
Ki8sCisJCQkJMkQ5QkY3M0ExREJGREMwRjAwN0E3RDk5IC8qIE1lZGlhS2V5U3RhdHVzTWFwLmNw
cCAqLywKKwkJCQkyRDlCRjczQjFEQkZEQzBGMDA3QTdEOTkgLyogTWVkaWFLZXlTdGF0dXNNYXAu
aCAqLywKKwkJCQkyRDlCRjZGODFEQkZCNzFGMDA3QTdEOTkgLyogTWVkaWFLZXlTdGF0dXNNYXAu
aWRsICovLAorCQkJCTJEOUJGNzNDMURCRkRDMEYwMDdBN0Q5OSAvKiBNZWRpYUtleVN5c3RlbUFj
Y2Vzcy5jcHAgKi8sCisJCQkJMkQ5QkY3M0QxREJGREMwRjAwN0E3RDk5IC8qIE1lZGlhS2V5U3lz
dGVtQWNjZXNzLmggKi8sCisJCQkJMkQ5QkY2RjkxREJGQjcxRjAwN0E3RDk5IC8qIE1lZGlhS2V5
U3lzdGVtQWNjZXNzLmlkbCAqLywKKwkJCQkyRDlCRjczRTFEQkZEQzBGMDA3QTdEOTkgLyogTWVk
aWFLZXlTeXN0ZW1Db25maWd1cmF0aW9uLmggKi8sCisJCQkJMkQ5QkY2RkExREJGQjcxRjAwN0E3
RDk5IC8qIE1lZGlhS2V5U3lzdGVtQ29uZmlndXJhdGlvbi5pZGwgKi8sCisJCQkJMkQ5QkY3M0Yx
REJGREMwRjAwN0E3RDk5IC8qIE1lZGlhS2V5U3lzdGVtTWVkaWFDYXBhYmlsaXR5LmggKi8sCisJ
CQkJMkQ5QkY2RkIxREJGQjcxRjAwN0E3RDk5IC8qIE1lZGlhS2V5U3lzdGVtTWVkaWFDYXBhYmls
aXR5LmlkbCAqLywKKwkJCQkyRDlCRjc0MDFEQkZEQzBGMDA3QTdEOTkgLyogTmF2aWdhdG9yRU1F
LmNwcCAqLywKKwkJCQkyRDlCRjc0MTFEQkZEQzBGMDA3QTdEOTkgLyogTmF2aWdhdG9yRU1FLmgg
Ki8sCisJCQkJMkQ5QkY2RkMxREJGQjcxRjAwN0E3RDk5IC8qIE5hdmlnYXRvckVNRS5pZGwgKi8s
CiAJCQkpOwogCQkJcGF0aCA9IGVuY3J5cHRlZG1lZGlhOwogCQkJc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsKQEAgLTIyNTIwLDYgKzIyNjMxLDIwIEBACiAJCUNEQTk4RENEMTYwMTUxNUMwMEZFQTNC
MSAvKiBFbmNyeXB0ZWRNZWRpYSAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRy
ZW4gPSAoCisJCQkJMkQ5QkY3MTMxREJGREFCMTAwN0E3RDk5IC8qIEpTTWVkaWFLZXlNZXNzYWdl
RXZlbnQuY3BwICovLAorCQkJCTJEOUJGNzE0MURCRkRBQjEwMDdBN0Q5OSAvKiBKU01lZGlhS2V5
TWVzc2FnZUV2ZW50LmggKi8sCisJCQkJMkQ5QkY3MTUxREJGREFCMTAwN0E3RDk5IC8qIEpTTWVk
aWFLZXlzLmNwcCAqLywKKwkJCQkyRDlCRjcxNjFEQkZEQUIxMDA3QTdEOTkgLyogSlNNZWRpYUtl
eXMuaCAqLywKKwkJCQkyRDlCRjcxNzFEQkZEQUIxMDA3QTdEOTkgLyogSlNNZWRpYUtleVNlc3Np
b24uY3BwICovLAorCQkJCTJEOUJGNzE4MURCRkRBQjEwMDdBN0Q5OSAvKiBKU01lZGlhS2V5U2Vz
c2lvbi5oICovLAorCQkJCTJEOUJGNzE5MURCRkRBQjEwMDdBN0Q5OSAvKiBKU01lZGlhS2V5U3Rh
dHVzTWFwLmNwcCAqLywKKwkJCQkyRDlCRjcxQTFEQkZEQUIxMDA3QTdEOTkgLyogSlNNZWRpYUtl
eVN0YXR1c01hcC5oICovLAorCQkJCTJEOUJGNzFCMURCRkRBQjEwMDdBN0Q5OSAvKiBKU01lZGlh
S2V5U3lzdGVtQWNjZXNzLmNwcCAqLywKKwkJCQkyRDlCRjcxQzFEQkZEQUIxMDA3QTdEOTkgLyog
SlNNZWRpYUtleVN5c3RlbUFjY2Vzcy5oICovLAorCQkJCTJEOUJGNzFEMURCRkRBQjEwMDdBN0Q5
OSAvKiBKU01lZGlhS2V5U3lzdGVtQ29uZmlndXJhdGlvbi5jcHAgKi8sCisJCQkJMkQ5QkY3MUUx
REJGREFCMTAwN0E3RDk5IC8qIEpTTWVkaWFLZXlTeXN0ZW1Db25maWd1cmF0aW9uLmggKi8sCisJ
CQkJMkQ5QkY3MUYxREJGREFCMTAwN0E3RDk5IC8qIEpTTWVkaWFLZXlTeXN0ZW1NZWRpYUNhcGFi
aWxpdHkuY3BwICovLAorCQkJCTJEOUJGNzIwMURCRkRBQjEwMDdBN0Q5OSAvKiBKU01lZGlhS2V5
U3lzdGVtTWVkaWFDYXBhYmlsaXR5LmggKi8sCiAJCQkJQ0RBOThEOUIxNjAxMjhBNTAwRkVBM0Ix
IC8qIEpTV2ViS2l0TWVkaWFLZXlFcnJvci5jcHAgKi8sCiAJCQkJQ0RBOThEOUMxNjAxMjhBNTAw
RkVBM0IxIC8qIEpTV2ViS2l0TWVkaWFLZXlFcnJvci5oICovLAogCQkJCUNEQTk4RERCMTYwMjZB
MTgwMEZFQTNCMSAvKiBKU1dlYktpdE1lZGlhS2V5TWVzc2FnZUV2ZW50LmNwcCAqLywKQEAgLTI1
OTUyLDcgKzI2MDc3LDE1IEBACiAJCQkJMTU3MzlCQkIxQjQyMDEyRDAwRDI1OEMxIC8qIEpTTWVk
aWFEZXZpY2VzLmggaW4gSGVhZGVycyAqLywKIAkJCQkwNzJBNzA0MzFENzM5NkIzMDBERjBBRkMg
LyogSlNNZWRpYURldmljZXNDdXN0b20uaCBpbiBIZWFkZXJzICovLAogCQkJCUZEMjNBMTI2MTNG
NUZBNTkwMEY2NzAwMSAvKiBKU01lZGlhRWxlbWVudEF1ZGlvU291cmNlTm9kZS5oIGluIEhlYWRl
cnMgKi8sCisJCQkJMkQ5QkY3MTIxREJGRDkxNDAwN0E3RDk5IC8qIEpTTWVkaWFFbmNyeXB0ZWRF
dmVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTQ0NjE0MTkwQ0Q2ODI2OTAwRkFEQTc1IC8qIEpT
TWVkaWFFcnJvci5oIGluIEhlYWRlcnMgKi8sCisJCQkJMkQ5QkY3MjgxREJGREIwRDAwN0E3RDk5
IC8qIEpTTWVkaWFLZXlNZXNzYWdlRXZlbnQuaCBpbiBIZWFkZXJzICovLAorCQkJCTJEOUJGNzI5
MURCRkRCMTAwMDdBN0Q5OSAvKiBKU01lZGlhS2V5cy5oIGluIEhlYWRlcnMgKi8sCisJCQkJMkQ5
QkY3MkExREJGREIxMzAwN0E3RDk5IC8qIEpTTWVkaWFLZXlTZXNzaW9uLmggaW4gSGVhZGVycyAq
LywKKwkJCQkyRDlCRjcyQjFEQkZEQjE1MDA3QTdEOTkgLyogSlNNZWRpYUtleVN0YXR1c01hcC5o
IGluIEhlYWRlcnMgKi8sCisJCQkJMkQ5QkY3MkMxREJGREIxNzAwN0E3RDk5IC8qIEpTTWVkaWFL
ZXlTeXN0ZW1BY2Nlc3MuaCBpbiBIZWFkZXJzICovLAorCQkJCTJEOUJGNzJEMURCRkRCMTkwMDdB
N0Q5OSAvKiBKU01lZGlhS2V5U3lzdGVtQ29uZmlndXJhdGlvbi5oIGluIEhlYWRlcnMgKi8sCisJ
CQkJMkQ5QkY3MkUxREJGREIxQzAwN0E3RDk5IC8qIEpTTWVkaWFLZXlTeXN0ZW1NZWRpYUNhcGFi
aWxpdHkuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDM0MzOUI3MEMwRDNEOEQwMDVGNEQ3QSAvKiBK
U01lZGlhTGlzdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTNENDM3QTMxRDU3QjdFMjAwQUI4NUVB
IC8qIEpTTWVkaWFMaXN0Q3VzdG9tLmggaW4gSGVhZGVycyAqLywKIAkJCQlEM0E5NEE0NzEyMkRD
NDBGMDBBMzdCQkMgLyogSlNNZWRpYVF1ZXJ5TGlzdC5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNjQy
Miw2ICsyNjU1NSw4IEBACiAJCQkJOTcyMDVBQjgxMjM5MjkxMDAwQjE3MzgwIC8qIE1lZGlhRG9j
dW1lbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUZENkYyNTJEMTNGNUVGMEUwMDY1MTY1RiAvKiBN
ZWRpYUVsZW1lbnRBdWRpb1NvdXJjZU5vZGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTA3RkU5OURE
MTg4MDdBN0QwMDI1NjY0OCAvKiBNZWRpYUVsZW1lbnRTZXNzaW9uLmggaW4gSGVhZGVycyAqLywK
KwkJCQkyRDlCRjcwNjFEQkZCQjI0MDA3QTdEOTkgLyogTWVkaWFFbmNyeXB0ZWRFdmVudC5oIGlu
IEhlYWRlcnMgKi8sCisJCQkJMkQ5QkY3MDgxREJGQkIyNDAwN0E3RDk5IC8qIE1lZGlhRW5jcnlw
dGVkRXZlbnRJbml0LmggaW4gSGVhZGVycyAqLywKIAkJCQk1RUJCODkzNTFDNzc3ODI5MDBDNjVE
NDEgLyogTWVkaWFFbmRwb2ludC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNUVCQjg5MzcxQzc3Nzgy
OTAwQzY1RDQxIC8qIE1lZGlhRW5kcG9pbnRDb25maWd1cmF0aW9uLmggaW4gSGVhZGVycyAqLywK
IAkJCQk1RTE2QTJFNDFCRkE2NTBCMDAyOUEyMUUgLyogTWVkaWFFbmRwb2ludFBlZXJDb25uZWN0
aW9uLmggaW4gSGVhZGVycyAqLywKQEAgLTI5NzEyLDcgKzI5ODQ3LDE3IEBACiAJCQkJMTU3MzlC
QkExQjQyMDEyQTAwRDI1OEMxIC8qIEpTTWVkaWFEZXZpY2VzLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCTFCODhERDEzMUQ1QjlFNTAwMEUzQjdBNCAvKiBKU01lZGlhRGV2aWNlc0N1c3RvbS5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQlGRDIzQTEyNTEzRjVGQTU5MDBGNjcwMDEgLyogSlNNZWRpYUVs
ZW1lbnRBdWRpb1NvdXJjZU5vZGUuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMkQ5QkY3MTAxREJG
RDhDRTAwN0E3RDk5IC8qIEpTTWVkaWFFbmNyeXB0ZWRFdmVudC5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQlFNDQ2MTQxODBDRDY4MjY5MDBGQURBNzUgLyogSlNNZWRpYUVycm9yLmNwcCBpbiBTb3Vy
Y2VzICovLAorCQkJCTJEOUJGNzIxMURCRkRBQkEwMDdBN0Q5OSAvKiBKU01lZGlhS2V5TWVzc2Fn
ZUV2ZW50LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTJEOUJGNzIyMURCRkRBQ0IwMDdBN0Q5OSAv
KiBKU01lZGlhS2V5cy5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkyRDlCRjcyMzFEQkZEQUNEMDA3
QTdEOTkgLyogSlNNZWRpYUtleVNlc3Npb24uY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMkQ5QkY3
NEExREJGRERGRjAwN0E3RDk5IC8qIEpTTWVkaWFLZXlTZXNzaW9uQ3VzdG9tLmNwcCBpbiBTb3Vy
Y2VzICovLAorCQkJCTJEOUJGNzI0MURCRkRBRDAwMDdBN0Q5OSAvKiBKU01lZGlhS2V5U3RhdHVz
TWFwLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTJEOUJGNzI1MURCRkRBRDMwMDdBN0Q5OSAvKiBK
U01lZGlhS2V5U3lzdGVtQWNjZXNzLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTJEOUJGNzRCMURC
RkRFMDIwMDdBN0Q5OSAvKiBKU01lZGlhS2V5U3lzdGVtQWNjZXNzQ3VzdG9tLmNwcCBpbiBTb3Vy
Y2VzICovLAorCQkJCTJEOUJGNzI2MURCRkRBRDUwMDdBN0Q5OSAvKiBKU01lZGlhS2V5U3lzdGVt
Q29uZmlndXJhdGlvbi5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkyRDlCRjcyNzFEQkZEQUQ4MDA3
QTdEOTkgLyogSlNNZWRpYUtleVN5c3RlbU1lZGlhQ2FwYWJpbGl0eS5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQlCQzNDMzlCNjBDMEQzRDhEMDA1RjREN0EgLyogSlNNZWRpYUxpc3QuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJRDNBOTRBNDYxMjJEQzQwRjAwQTM3QkJDIC8qIEpTTWVkaWFRdWVyeUxp
c3QuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJN0M1MzQzRkMxN0I3NEI2MzAwNDIzMkYwIC8qIEpT
TWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5jcHAgaW4gU291cmNlcyAqLywKQEAgLTMwMjIyLDEyICsz
MDM2NywxOCBAQAogCQkJCTk3MjA1QUI3MTIzOTI5MTAwMEIxNzM4MCAvKiBNZWRpYURvY3VtZW50
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUZENkYyNTJDMTNGNUVGMEUwMDY1MTY1RiAvKiBNZWRp
YUVsZW1lbnRBdWRpb1NvdXJjZU5vZGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMDdGRTk5REMx
ODgwN0E3RDAwMjU2NjQ4IC8qIE1lZGlhRWxlbWVudFNlc3Npb24uY3BwIGluIFNvdXJjZXMgKi8s
CisJCQkJMkQ5QkY3MDUxREJGQkIyNDAwN0E3RDk5IC8qIE1lZGlhRW5jcnlwdGVkRXZlbnQuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJNUVCQjg5MzQxQzc3NzgyOTAwQzY1RDQxIC8qIE1lZGlhRW5k
cG9pbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNUVCQjg5MzYxQzc3NzgyOTAwQzY1RDQxIC8q
IE1lZGlhRW5kcG9pbnRDb25maWd1cmF0aW9uLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTVFMTZB
MkU1MUJGQTY1MEYwMDI5QTIxRSAvKiBNZWRpYUVuZHBvaW50UGVlckNvbm5lY3Rpb24uY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJNUU0RUFCMDUxRDA3MTY2RTAwMDZBMTg0IC8qIE1lZGlhRW5kcG9p
bnRTZXNzaW9uRGVzY3JpcHRpb24uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNEUxOTU5MjEwQTM5
REFCQTAwMjIwRkU1IC8qIE1lZGlhRmVhdHVyZU5hbWVzLmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CTA3QTZEMUVCMTQ5MTEzNzcwMDA1MUQwQyAvKiBNZWRpYUZyYWdtZW50VVJJUGFyc2VyLmNwcCBp
biBTb3VyY2VzICovLAorCQkJCTJEOUJGNzQ3MURCRkRDNDkwMDdBN0Q5OSAvKiBNZWRpYUtleU1l
c3NhZ2VFdmVudC5jcHAgaW4gU291cmNlcyAqLywKKwkJCQkyRDlCRjc0NjFEQkZEQzQ3MDA3QTdE
OTkgLyogTWVkaWFLZXlzLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTJEOUJGNzQ1MURCRkRDNDQw
MDdBN0Q5OSAvKiBNZWRpYUtleVNlc3Npb24uY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJMkQ5QkY3
NDQxREJGREM0MTAwN0E3RDk5IC8qIE1lZGlhS2V5U3RhdHVzTWFwLmNwcCBpbiBTb3VyY2VzICov
LAorCQkJCTJEOUJGNzQzMURCRkRDM0UwMDdBN0Q5OSAvKiBNZWRpYUtleVN5c3RlbUFjY2Vzcy5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQlBOEVBODAwOTBBMTk1MTZFMDBBOEVGNUYgLyogTWVkaWFM
aXN0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTA3MUU0OTZFMUFENUFBMEQwMDhBNTBCNCAvKiBN
ZWRpYVBsYXliYWNrVGFyZ2V0TWFjLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJMDc3QjY0MTYxQjk1
RjcwMzAwM0U5QUQ1IC8qIE1lZGlhUGxheWJhY2tUYXJnZXRNb2NrLmNwcCBpbiBTb3VyY2VzICov
LApAQCAtMzAzMzMsNiArMzA0ODQsNyBAQAogCQkJCTk3OUY0M0QzMTA3NUU0NEEwMDAwRjgzQiAv
KiBOYXZpZ2F0aW9uU2NoZWR1bGVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE5QzZFNUE1MEQ3
NDY0NTgwMDY0NDJFOSAvKiBOYXZpZ2F0b3IuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRTEyNzE5
Q0EwRUVFQzIxMzAwRjYxMjEzIC8qIE5hdmlnYXRvckJhc2UuY3BwIGluIFNvdXJjZXMgKi8sCisJ
CQkJMkQ5QkY3NDIxREJGREMyNzAwN0E3RDk5IC8qIE5hdmlnYXRvckVNRS5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQk1MUE0QkIxMDE5NTRENjI3MDBGQTVDMkUgLyogTmF2aWdhdG9yR2FtZXBhZC5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQk5NzExNDYwMzE0RUYwMDlBMDA2NzRGRDkgLyogTmF2aWdh
dG9yR2VvbG9jYXRpb24uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNUVBNzI1RDUxQUNBQkQ1NzAw
RUFEMTdCIC8qIE5hdmlnYXRvck1lZGlhRGV2aWNlcy5jcHAgaW4gU291cmNlcyAqLywKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0J1ZmZlclNvdXJjZS5oIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvQnVmZmVyU291cmNlLmgKaW5kZXggNTM5NzczODUyYjM4OGVh
ZDg3ODEwMDQ2ZDY2YTE1YWQ4YmQ1OTcwZC4uMDNiN2NjNmZiOWZiOWM5ZGNmOTI5MTcxMDk3NWEx
NGI4ZTIyMTY0MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvQnVmZmVy
U291cmNlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvQnVmZmVyU291cmNlLmgK
QEAgLTM0LDEwICszNCwxNCBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIEJ1ZmZlclNv
dXJjZSB7CiBwdWJsaWM6Ci0gICAgQnVmZmVyU291cmNlKFdURjo6VmFyaWFudDxSZWZQdHI8SlND
OjpBcnJheUJ1ZmZlclZpZXc+LCBSZWZQdHI8SlNDOjpBcnJheUJ1ZmZlcj4+JiYgdmFyaWFudCkK
KyAgICB1c2luZyBWYXJpYW50VHlwZSA9IFdURjo6VmFyaWFudDxSZWZQdHI8SlNDOjpBcnJheUJ1
ZmZlclZpZXc+LCBSZWZQdHI8SlNDOjpBcnJheUJ1ZmZlcj4+OworCisgICAgQnVmZmVyU291cmNl
KFZhcmlhbnRUeXBlJiYgdmFyaWFudCkKICAgICAgICAgOiBtX3ZhcmlhbnQoV1RGTW92ZSh2YXJp
YW50KSkKICAgICB7IH0KIAorICAgIGNvbnN0IFZhcmlhbnRUeXBlJiB2YXJpYW50KCkgY29uc3Qg
eyByZXR1cm4gbV92YXJpYW50OyB9CisKICAgICBjb25zdCB1aW50OF90KiBkYXRhKCkgY29uc3QK
ICAgICB7CiAgICAgICAgIHJldHVybiBXVEY6OnZpc2l0KFtdKGF1dG8mIGJ1ZmZlcikgLT4gY29u
c3QgdWludDhfdCogewpAQCAtNTMsNyArNTcsNyBAQCBwdWJsaWM6CiAgICAgfQogCiBwcml2YXRl
OgotICAgIFdURjo6VmFyaWFudDxSZWZQdHI8SlNDOjpBcnJheUJ1ZmZlclZpZXc+LCBSZWZQdHI8
SlNDOjpBcnJheUJ1ZmZlcj4+IG1fdmFyaWFudDsKKyAgICBWYXJpYW50VHlwZSBtX3ZhcmlhbnQ7
CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9KU01lZGlhS2V5U2Vzc2lvbkN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9KU01lZGlhS2V5U2Vzc2lvbkN1c3RvbS5jcHAKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTM3
MTUzY2MxNzgxNjk5Yjc2OTk2OWYwYWMzNTY1YmFiOTZmNTYyNQotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTTWVkaWFLZXlTZXNzaW9uQ3VzdG9tLmNwcApA
QCAtMCwwICsxLDQ3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE2IE1ldHJvbG9naWNhbCBH
cm91cCBCLlYuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTYgSWdhbGlhIFMuTC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqCisgKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZQorICogICAgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcKKyAqICAgIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZAorICogICAgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdI
VCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IK
KyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBUSEUgQ09QWVJJR0hUCisgKiBIT0xERVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisg
KiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKworI2lmIEVOQUJMRShF
TkNSWVBURURfTUVESUEpCisKKyNpbmNsdWRlICJKU01lZGlhS2V5U2Vzc2lvbi5oIgorCisjaW5j
bHVkZSAiTm90SW1wbGVtZW50ZWQuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitKU0M6OkpT
VmFsdWUgSlNNZWRpYUtleVNlc3Npb246OmNsb3NlZChKU0M6OkV4ZWNTdGF0ZSYpIGNvbnN0Cit7
CisgICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICByZXR1cm4gSlNDOjpqc1VuZGVmaW5lZCgpOwor
fQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoRU5DUllQVEVE
X01FRElBKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNNZWRpYUtl
eVN5c3RlbUFjY2Vzc0N1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU01l
ZGlhS2V5U3lzdGVtQWNjZXNzQ3VzdG9tLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zYWZkZWIxMGEwYjBjOWU2
ZGQ3NTMxZWQ2OTgxNjAxNTQzZmQ3MTE0Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvSlNNZWRpYUtleVN5c3RlbUFjY2Vzc0N1c3RvbS5jcHAKQEAgLTAsMCAr
MSw0NyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNiBNZXRyb2xvZ2ljYWwgR3JvdXAgQi5W
LgorICogQ29weXJpZ2h0IChDKSAyMDE2IElnYWxpYSBTLkwuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUKKyAqICAgIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nCisgKiAgICBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQKKyAqICAgIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVS
UyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENP
UFlSSUdIVAorICogSE9MREVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisg
KiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisKKyNpZiBFTkFCTEUoRU5DUllQVEVE
X01FRElBKQorCisjaW5jbHVkZSAiSlNNZWRpYUtleVN5c3RlbUFjY2Vzcy5oIgorCisjaW5jbHVk
ZSAiTm90SW1wbGVtZW50ZWQuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitKU0M6OkpTVmFs
dWUgSlNNZWRpYUtleVN5c3RlbUFjY2Vzczo6Z2V0Q29uZmlndXJhdGlvbihKU0M6OkV4ZWNTdGF0
ZSYpCit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICByZXR1cm4gSlNDOjpqc1VuZGVmaW5l
ZCgpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoRU5D
UllQVEVEX01FRElBKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy9Db2RlR2VuZXJhdG9ySlMucG0gYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0Nv
ZGVHZW5lcmF0b3JKUy5wbQppbmRleCBiMzY4NmNiMjA0MzExNTE3NWJmMWM2YjlkOWIyOGQ4NTU0
ZWIwNzE1Li43YzNjMjRkMDMwOTk1NGRlZDQ2NzE1ZjRjNGZlYzkwZDYzN2FlZDgxIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbQor
KysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL0NvZGVHZW5lcmF0b3JKUy5wbQpA
QCAtNTM2Niw2ICs1MzY2LDcgQEAgc3ViIEdldE5hdGl2ZVZlY3RvcklubmVyVHlwZQogICAgIG15
ICRpbm5lclR5cGVOYW1lID0gJGlubmVyVHlwZS0+bmFtZTsKIAogICAgIHJldHVybiAkbmF0aXZl
VHlwZXskaW5uZXJUeXBlTmFtZX0gaWYgZXhpc3RzICRuYXRpdmVUeXBleyRpbm5lclR5cGVOYW1l
fTsKKyAgICByZXR1cm4gR2V0RGljdGlvbmFyeUNsYXNzTmFtZSgkaW5uZXJUeXBlKSBpZiAkY29k
ZUdlbmVyYXRvci0+SXNEaWN0aW9uYXJ5VHlwZSgkaW5uZXJUeXBlKTsKICAgICByZXR1cm4gIlJl
ZlB0cjwkaW5uZXJUeXBlTmFtZT4iOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9k
b20vRXZlbnROYW1lcy5oIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50TmFtZXMuaAppbmRleCA0
OTE0NGUyZDc4YTg4OTg2MGE4YzNiNmVjMDk2OGU3ZjNkNDRlNzQ5Li5lMDdmMWFkM2YzNWM3MTE3
NTM4Y2QwNGI5MGFjOTc0YzJkMTVhMzdmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20v
RXZlbnROYW1lcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmgKQEAgLTEw
Miw2ICsxMDIsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgbWFjcm8oZHJvcCkgXAogICAg
IG1hY3JvKGR1cmF0aW9uY2hhbmdlKSBcCiAgICAgbWFjcm8oZW1wdGllZCkgXAorICAgIG1hY3Jv
KGVuY3J5cHRlZCkgXAogICAgIG1hY3JvKGVuZCkgXAogICAgIG1hY3JvKGVuZEV2ZW50KSBcCiAg
ICAgbWFjcm8oZW5kZWQpIFwKQEAgLTEzMCw2ICsxMzEsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAgICAgbWFjcm8oaW52YWxpZCkgXAogICAgIG1hY3JvKGtleWRvd24pIFwKICAgICBtYWNybyhr
ZXlwcmVzcykgXAorICAgIG1hY3JvKGtleXN0YXR1c2VzY2hhbmdlKSBcCiAgICAgbWFjcm8oa2V5
dXApIFwKICAgICBtYWNybyhsYW5ndWFnZWNoYW5nZSkgXAogICAgIG1hY3JvKGxldmVsY2hhbmdl
KSBcCkBAIC0yMzgsNiArMjQwLDcgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogICAgIG1hY3JvKHZp
c2liaWxpdHljaGFuZ2UpIFwKICAgICBtYWNybyh2b2x1bWVjaGFuZ2UpIFwKICAgICBtYWNybyh3
YWl0aW5nKSBcCisgICAgbWFjcm8od2FpdGluZ2ZvcmtleSkgXAogICAgIG1hY3JvKHdlYmdsY29u
dGV4dGNyZWF0aW9uZXJyb3IpIFwKICAgICBtYWNybyh3ZWJnbGNvbnRleHRsb3N0KSBcCiAgICAg
bWFjcm8od2ViZ2xjb250ZXh0cmVzdG9yZWQpIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9FdmVudE5hbWVzLmluIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50TmFtZXMuaW4KaW5k
ZXggOGI5YmI2N2U3MWEyMmI2ODRlOTA2OTIzNWY4NmY0NTIwNjk3ODk2OS4uOTFhODZmNTI5ODE0
MDc4NjVkMzAwMWMxY2QwMTEwM2IzOTRjYjUxYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
ZG9tL0V2ZW50TmFtZXMuaW4KKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50TmFtZXMuaW4K
QEAgLTcwLDMgKzcwLDUgQEAgR2VzdHVyZUV2ZW50IGNvbmRpdGlvbmFsPUlPU19HRVNUVVJFX0VW
RU5UU3xNQUNfR0VTVFVSRV9FVkVOVFMKIFdlYktpdFBsYXliYWNrVGFyZ2V0QXZhaWxhYmlsaXR5
RXZlbnQgY29uZGl0aW9uYWw9V0lSRUxFU1NfUExBWUJBQ0tfVEFSR0VUCiBHYW1lcGFkRXZlbnQg
Y29uZGl0aW9uYWw9R0FNRVBBRAogT3ZlcmNvbnN0cmFpbmVkRXJyb3JFdmVudCBjb25kaXRpb25h
bD1NRURJQV9TVFJFQU0KK01lZGlhRW5jcnlwdGVkRXZlbnQgY29uZGl0aW9uYWw9RU5DUllQVEVE
X01FRElBCitNZWRpYUtleU1lc3NhZ2VFdmVudCBjb25kaXRpb25hbD1FTkNSWVBURURfTUVESUEK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldEZhY3RvcnkuaW4gYi9T
b3VyY2UvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXRGYWN0b3J5LmluCmluZGV4IGY3NDcyMzBjZmE4
N2JhYjcyZmQ4ZjNlZDkxMzc3OWUzYjk5Y2FlOWEuLjFjNDQxZWM4MzNmMGU5NjcxYWYxNjljM2Qy
OGI1NzM2Y2Q0NTA2ZmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdl
dEZhY3RvcnkuaW4KKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0RmFjdG9yeS5p
bgpAQCAtMTUsNiArMTUsNyBAQCBJREJPcGVuREJSZXF1ZXN0IGNvbmRpdGlvbmFsPUlOREVYRURf
REFUQUJBU0UKIElEQlJlcXVlc3QgY29uZGl0aW9uYWw9SU5ERVhFRF9EQVRBQkFTRQogSURCVHJh
bnNhY3Rpb24gY29uZGl0aW9uYWw9SU5ERVhFRF9EQVRBQkFTRQogTWVkaWFDb250cm9sbGVyIGNv
bmRpdGlvbmFsPVZJREVPCitNZWRpYUtleVNlc3Npb24gY29uZGl0aW9uYWw9RU5DUllQVEVEX01F
RElBCiBNZWRpYVJlbW90ZUNvbnRyb2xzIGNvbmRpdGlvbmFsPU1FRElBX1NFU1NJT04KIE1lZGlh
U291cmNlIGNvbmRpdGlvbmFsPU1FRElBX1NPVVJDRQogTWVkaWFTdHJlYW0gY29uZGl0aW9uYWw9
TUVESUFfU1RSRUFNCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVs
ZW1lbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9IVE1MTWVkaWFFbGVtZW50LmNwcAppbmRl
eCAwZThlOGI4OTAwMzFjOWRkMmQ2MjMzYWUwMDViMWRiN2M5NzczMDU0Li5kYTRlYTNhNTcyY2Jm
MjQzOTFhM2M3YTkwYWRiNmRmNDliNDhhY2U0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9o
dG1sL0hUTUxNZWRpYUVsZW1lbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1l
ZGlhRWxlbWVudC5jcHAKQEAgLTI0MzcsNiArMjQzNywyMCBAQCB2b2lkIEhUTUxNZWRpYUVsZW1l
bnQ6OmtleUFkZGVkKCkKIAogI2VuZGlmCiAKKyNpZiBFTkFCTEUoRU5DUllQVEVEX01FRElBKQor
CitNZWRpYUtleXMqIEhUTUxNZWRpYUVsZW1lbnQ6Om1lZGlhS2V5cygpIGNvbnN0Cit7CisgICAg
cmV0dXJuIG51bGxwdHI7Cit9CisKK3ZvaWQgSFRNTE1lZGlhRWxlbWVudDo6c2V0TWVkaWFLZXlz
KE1lZGlhS2V5cyosIFJlZjxEZWZlcnJlZFByb21pc2U+JiYpCit7CisgICAgbm90SW1wbGVtZW50
ZWQoKTsKK30KKworI2VuZGlmIC8vIEVOQUJMRShFTkNSWVBURURfTUVESUEpCisKIHZvaWQgSFRN
TE1lZGlhRWxlbWVudDo6cHJvZ3Jlc3NFdmVudFRpbWVyRmlyZWQoKQogewogICAgIEFTU0VSVCht
X3BsYXllcik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1l
bnQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5oCmluZGV4IGU1ZTE3
NWI0YWY0ODQ1YzkzYzEyOTZhMDc0NjZlMzEzOWYzNDVlNDguLjFkYWVlOTM4ZDIxNjhmN2ZjNjZi
YTFkMmFjYTdkOWFiMDc5YTNkMzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRN
TE1lZGlhRWxlbWVudC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVu
dC5oCkBAIC02OSw2ICs2OSw5IEBAIGNsYXNzIE1lZGlhQ29udHJvbHM7CiBjbGFzcyBNZWRpYUNv
bnRyb2xzSG9zdDsKIGNsYXNzIE1lZGlhRWxlbWVudEF1ZGlvU291cmNlTm9kZTsKIGNsYXNzIE1l
ZGlhRXJyb3I7CisjaWYgRU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkKK2NsYXNzIE1lZGlhS2V5czsK
KyNlbmRpZgogY2xhc3MgTWVkaWFQbGF5ZXI7CiBjbGFzcyBNZWRpYVNlc3Npb247CiBjbGFzcyBN
ZWRpYVNvdXJjZTsKQEAgLTI1NCw2ICsyNTcsMTIgQEAgcHVibGljOgogICAgIHZvaWQga2V5QWRk
ZWQoKTsKICNlbmRpZgogCisjaWYgRU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkKKyAgICBNZWRpYUtl
eXMqIG1lZGlhS2V5cygpIGNvbnN0OworCisgICAgdm9pZCBzZXRNZWRpYUtleXMoTWVkaWFLZXlz
KiwgUmVmPERlZmVycmVkUHJvbWlzZT4mJik7CisjZW5kaWYKKwogLy8gY29udHJvbHMKICAgICBX
RUJDT1JFX0VYUE9SVCBib29sIGNvbnRyb2xzKCkgY29uc3Q7CiAgICAgV0VCQ09SRV9FWFBPUlQg
dm9pZCBzZXRDb250cm9scyhib29sKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
SFRNTE1lZGlhRWxlbWVudC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL0hUTUxNZWRpYUVsZW1l
bnQuaWRsCmluZGV4IDUxY2UyZWIzYmUwODk1YWRkZDczZjRjZTYzNWM3OGZhMDZmN2Y2Y2IuLmRi
MTQ2MWI3ZTVjY2Y2MDExZTU2YWFiNWE1YWUwYjdiYWQxN2JjMTIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2h0bWwvSFRNTE1lZGlhRWxlbWVudC5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUv
aHRtbC9IVE1MTWVkaWFFbGVtZW50LmlkbApAQCAtOTMsNiArOTMsMTAgQEAKIAogICAgIFtDb25k
aXRpb25hbD1MRUdBQ1lfRU5DUllQVEVEX01FRElBXSByZWFkb25seSBhdHRyaWJ1dGUgV2ViS2l0
TWVkaWFLZXlzIHdlYmtpdEtleXM7CiAgICAgW0NvbmRpdGlvbmFsPUxFR0FDWV9FTkNSWVBURURf
TUVESUFdIHZvaWQgd2Via2l0U2V0TWVkaWFLZXlzKFdlYktpdE1lZGlhS2V5cz8gbWVkaWFLZXlz
KTsKKyAgICBbQ29uZGl0aW9uYWw9RU5DUllQVEVEX01FRElBXSByZWFkb25seSBhdHRyaWJ1dGUg
TWVkaWFLZXlzIG1lZGlhS2V5czsKKyAgICBbQ29uZGl0aW9uYWw9RU5DUllQVEVEX01FRElBXSBh
dHRyaWJ1dGUgRXZlbnRIYW5kbGVyIG9uZW5jcnlwdGVkOworICAgIFtDb25kaXRpb25hbD1FTkNS
WVBURURfTUVESUFdIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgb253YWl0aW5nZm9ya2V5OworICAg
IFtDb25kaXRpb25hbD1FTkNSWVBURURfTUVESUFdIFByb21pc2U8dm9pZD4gc2V0TWVkaWFLZXlz
KE1lZGlhS2V5cz8gbWVkaWFLZXlzKTsKIAogICAgIFtDb25kaXRpb25hbD1WSURFT19UUkFDSywg
TWF5VGhyb3dFeGNlcHRpb25dIFRleHRUcmFjayBhZGRUZXh0VHJhY2soRE9NU3RyaW5nIGtpbmQs
IG9wdGlvbmFsIERPTVN0cmluZyBsYWJlbCA9ICIiLCBvcHRpb25hbCBET01TdHJpbmcgbGFuZ3Vh
Z2UgPSAiIik7CiAgICAgW0NvbmRpdGlvbmFsPVZJREVPX1RSQUNLXSByZWFkb25seSBhdHRyaWJ1
dGUgQXVkaW9UcmFja0xpc3QgYXVkaW9UcmFja3M7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9odG1sL01lZGlhRW5jcnlwdGVkRXZlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRp
YUVuY3J5cHRlZEV2ZW50LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wMTdlMWExMzExYzNjZTE4MmNmMmQxNjMw
YjRiYzEyN2I3ZjhmNTNhCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9N
ZWRpYUVuY3J5cHRlZEV2ZW50LmNwcApAQCAtMCwwICsxLDY0IEBACisvKgorICogQ29weXJpZ2h0
IChDKSAyMDE2IE1ldHJvbG9naWNhbCBHcm91cCBCLlYuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTYg
SWdhbGlhIFMuTC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqCisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogICAgY29weXJpZ2h0IG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcKKyAqICAgIGRpc2Ns
YWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZAorICogICAgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJB
UyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisgKiBIT0xERVIgT1IgQ09O
VFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
CisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJj
b25maWcuaCIKKyNpbmNsdWRlICJNZWRpYUVuY3J5cHRlZEV2ZW50LmgiCisKKyNpZiBFTkFCTEUo
RU5DUllQVEVEX01FRElBKQorCisjaW5jbHVkZSAiTm90SW1wbGVtZW50ZWQuaCIKKworbmFtZXNw
YWNlIFdlYkNvcmUgeworCitNZWRpYUVuY3J5cHRlZEV2ZW50OjpNZWRpYUVuY3J5cHRlZEV2ZW50
KGNvbnN0IEF0b21pY1N0cmluZyYgdHlwZSwgY29uc3QgTWVkaWFFbmNyeXB0ZWRFdmVudEluaXQm
IGluaXRpYWxpemVyLCBJc1RydXN0ZWQgaXNUcnVzdGVkKQorICAgIDogRXZlbnQodHlwZSwgaW5p
dGlhbGl6ZXIsIGlzVHJ1c3RlZCkKK3sKK30KKworTWVkaWFFbmNyeXB0ZWRFdmVudDo6fk1lZGlh
RW5jcnlwdGVkRXZlbnQoKSA9IGRlZmF1bHQ7CisKK0V2ZW50SW50ZXJmYWNlIE1lZGlhRW5jcnlw
dGVkRXZlbnQ6OmV2ZW50SW50ZXJmYWNlKCkgY29uc3QKK3sKKyAgICByZXR1cm4gTWVkaWFFbmNy
eXB0ZWRFdmVudEludGVyZmFjZVR5cGU7Cit9CisKK1N0cmluZyBNZWRpYUVuY3J5cHRlZEV2ZW50
Ojppbml0RGF0YVR5cGUoKQoreworICAgIG5vdEltcGxlbWVudGVkKCk7CisgICAgcmV0dXJuIGVt
cHR5U3RyaW5nKCk7Cit9CisKK0FycmF5QnVmZmVyKiBNZWRpYUVuY3J5cHRlZEV2ZW50Ojppbml0
RGF0YSgpCit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICByZXR1cm4gbnVsbHB0cjsKK30K
KworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKEVOQ1JZUFRFRF9N
RURJQSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFFbmNyeXB0ZWRFdmVu
dC5oIGIvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRpYUVuY3J5cHRlZEV2ZW50LmgKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMGYzMzMzNzEyNDNkMjczMjE0NWI4ODZjNDQyMzViNDBkNGJiNDE2NQotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFFbmNyeXB0ZWRFdmVudC5oCkBAIC0wLDAg
KzEsNjUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTYgTWV0cm9sb2dpY2FsIEdyb3VwIEIu
Vi4KKyAqIENvcHlyaWdodCAoQykgMjAxNiBJZ2FsaWEgUy5MLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlCisgKiAgICBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZworICogICAgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkCisgKiAgICB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERF
UlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQ
QVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBD
T1BZUklHSFQKKyAqIEhPTERFUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAor
ICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoRU5DUllQVEVEX01FRElB
KQorCisjaW5jbHVkZSAiRXZlbnQuaCIKKyNpbmNsdWRlICJNZWRpYUVuY3J5cHRlZEV2ZW50SW5p
dC5oIgorCituYW1lc3BhY2UgSlNDIHsKK2NsYXNzIEFycmF5QnVmZmVyOworfQorCituYW1lc3Bh
Y2UgV2ViQ29yZSB7CisKK2NsYXNzIE1lZGlhRW5jcnlwdGVkRXZlbnQgZmluYWwgOiBwdWJsaWMg
RXZlbnQgeworcHVibGljOgorICAgIHVzaW5nIEluaXQgPSBNZWRpYUVuY3J5cHRlZEV2ZW50SW5p
dDsKKworICAgIHN0YXRpYyBSZWY8TWVkaWFFbmNyeXB0ZWRFdmVudD4gY3JlYXRlKGNvbnN0IEF0
b21pY1N0cmluZyYgdHlwZSwgY29uc3QgTWVkaWFFbmNyeXB0ZWRFdmVudEluaXQmIGluaXRpYWxp
emVyLCBJc1RydXN0ZWQgaXNUcnVzdGVkID0gSXNUcnVzdGVkOjpObykKKyAgICB7CisgICAgICAg
IHJldHVybiBhZG9wdFJlZigqbmV3IE1lZGlhRW5jcnlwdGVkRXZlbnQodHlwZSwgaW5pdGlhbGl6
ZXIsIGlzVHJ1c3RlZCkpOworICAgIH0KKworICAgIHZpcnR1YWwgfk1lZGlhRW5jcnlwdGVkRXZl
bnQoKTsKKworICAgIFN0cmluZyBpbml0RGF0YVR5cGUoKTsKKyAgICBKU0M6OkFycmF5QnVmZmVy
KiBpbml0RGF0YSgpOworCitwcml2YXRlOgorICAgIE1lZGlhRW5jcnlwdGVkRXZlbnQoY29uc3Qg
QXRvbWljU3RyaW5nJiwgY29uc3QgTWVkaWFFbmNyeXB0ZWRFdmVudEluaXQmLCBJc1RydXN0ZWQp
OworCisgICAgLy8gRXZlbnQKKyAgICBFdmVudEludGVyZmFjZSBldmVudEludGVyZmFjZSgpIGNv
bnN0IG92ZXJyaWRlOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8g
RU5BQkxFKEVOQ1JZUFRFRF9NRURJQSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
TWVkaWFFbmNyeXB0ZWRFdmVudC5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRW5jcnlw
dGVkRXZlbnQuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjk3ZGExMjk1NmEyZmM3YWI3ZDRlOTdiN2Q1MDMwNmVj
Zjk5MTQ3ZWIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9odG1sL01lZGlhRW5j
cnlwdGVkRXZlbnQuaWRsCkBAIC0wLDAgKzEsNDAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTYgTWV0cm9sb2dpY2FsIEdyb3VwIEIuVi4KKyAqIENvcHlyaWdodCAoQykgMjAxNiBJZ2FsaWEg
Uy5MLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICoKKyAq
IDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiAgICBjb3B5cmlnaHQgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZworICogICAgZGlzY2xhaW1lciBp
biB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkCisgKiAg
ICB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElTIiBB
TkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QK
KyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIEhPTERFUiBPUiBDT05UUklCVVRP
UlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1Mg
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisg
KiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworZGljdGlvbmFyeSBNZWRpYUVu
Y3J5cHRlZEV2ZW50SW5pdCA6IEV2ZW50SW5pdCB7CisgICAgRE9NU3RyaW5nIGluaXREYXRhVHlw
ZSA9ICIiOworICAgIEFycmF5QnVmZmVyPyBpbml0RGF0YSA9IG51bGw7Cit9OworCitbCisgICAg
Q29uZGl0aW9uYWw9RU5DUllQVEVEX01FRElBLAorICAgIENvbnN0cnVjdG9yKERPTVN0cmluZyB0
eXBlLCBvcHRpb25hbCBNZWRpYUVuY3J5cHRlZEV2ZW50SW5pdCBldmVudEluaXREaWN0KQorXSBp
bnRlcmZhY2UgTWVkaWFFbmNyeXB0ZWRFdmVudCA6IEV2ZW50IHsKKyAgICByZWFkb25seSBhdHRy
aWJ1dGUgRE9NU3RyaW5nIGluaXREYXRhVHlwZTsKKyAgICByZWFkb25seSBhdHRyaWJ1dGUgQXJy
YXlCdWZmZXI/IGluaXREYXRhOworfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2h0bWwv
TWVkaWFFbmNyeXB0ZWRFdmVudEluaXQuaCBiL1NvdXJjZS9XZWJDb3JlL2h0bWwvTWVkaWFFbmNy
eXB0ZWRFdmVudEluaXQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hNGVlYmI4NzBhMTZlMGY3MDdlMTQzZWVmMmU2
MGVlNGViYTU3NTNjCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvaHRtbC9NZWRp
YUVuY3J5cHRlZEV2ZW50SW5pdC5oCkBAIC0wLDAgKzEsNTMgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTYgTWV0cm9sb2dpY2FsIEdyb3VwIEIuVi4KKyAqIENvcHlyaWdodCAoQykgMjAxNiBJ
Z2FsaWEgUy5MLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0Ogor
ICoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiAgICBjb3B5cmlnaHQgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZworICogICAgZGlzY2xh
aW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
CisgKiAgICB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFT
IElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIEhPTERFUiBPUiBDT05U
UklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwK
KyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNl
CisKKyNpZiBFTkFCTEUoRU5DUllQVEVEX01FRElBKQorCisjaW5jbHVkZSAiRXZlbnQuaCIKKyNp
bmNsdWRlIDxydW50aW1lL0FycmF5QnVmZmVyLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKwor
c3RydWN0IE1lZGlhRW5jcnlwdGVkRXZlbnRJbml0IDogRXZlbnRJbml0IHsKKyAgICBNZWRpYUVu
Y3J5cHRlZEV2ZW50SW5pdCgpID0gZGVmYXVsdDsKKworICAgIE1lZGlhRW5jcnlwdGVkRXZlbnRJ
bml0KGNvbnN0IFN0cmluZyYgaW5pdERhdGFUeXBlLCBSZWZQdHI8SlNDOjpBcnJheUJ1ZmZlcj4m
JiBpbml0RGF0YSkKKyAgICAgICAgOiBFdmVudEluaXQoKQorICAgICAgICAsIGluaXREYXRhVHlw
ZShpbml0RGF0YVR5cGUpCisgICAgICAgICwgaW5pdERhdGEoV1RGTW92ZShpbml0RGF0YSkpCisg
ICAgeyB9CisKKyAgICBTdHJpbmcgaW5pdERhdGFUeXBlOworICAgIFJlZlB0cjxKU0M6OkFycmF5
QnVmZmVyPiBpbml0RGF0YTsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlm
IC8vIEVOQUJMRShFTkNSWVBURURfTUVESUEpCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpp
bmRleCAwYTJiNzQyYWI1YTU5NGU1NTA0MGI2ODAzOTBjZTY4OWVkZGY4MWY5Li42NzM3OTY2NWZk
MjkwM2E3MjUwZWM5OWZhMDQzM2EzZThiMjE4YzMzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAxNi0xMS0xMCAgWmFuIERvYmVyc2VrICA8emRvYmVy
c2VrQGlnYWxpYS5jb20+CisKKyAgICAgICAgW0VNRV0gQWRkIG5vLW9wIFdlYi1mYWNpbmcgQVBJ
cworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY0MDI4
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgSmVyIE5vYmxlLgorCisgICAgICAgIEFkZCB0aGUgdGV4
dCBiYXNlbGluZSBmb3IgdGhlIHdlYi1wbGF0Zm9ybS10ZXN0cy9lbmNyeXB0ZWQtbWVkaWEvaWRs
aGFybmVzcy5odG1sCisgICAgICAgIHRlc3QuIEl0J3MgdGhlIG9ubHkgbWVhbmluZ2Z1bCB0ZXN0
IHdlIGNhbiBydW4gYXQgdGhlIG1vbWVudCwgYW5kIGFsbCBidXQgb25lIG9mCisgICAgICAgIHRo
ZSBzdWJ0ZXN0cyBwYXNzLgorCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2VuY3J5cHRl
ZC1tZWRpYS9pZGxoYXJuZXNzLWV4cGVjdGVkLnR4dDogQWRkZWQuCisKIDIwMTYtMTEtMDggIFBo
aWxpcHBlIE5vcm1hbmQgIDxwbm9ybWFuZEBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtXZWJSVENd
IHdoaXRlLWxpc3QgdHVybnMgdXJscyBmcm9tIHRoZSBSVENDb25maWd1cmF0aW9uCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2VuY3J5cHRl
ZC1tZWRpYS9pZGxoYXJuZXNzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvZW5jcnlwdGVkLW1lZGlhL2lkbGhhcm5lc3MtZXhwZWN0ZWQu
dHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjE2ZGMzNDUxNmNjOTVhMTY5NGUxNDMyZjk4OWRhZWJkYzkwMjEzYmMK
LS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2VuY3J5cHRlZC1tZWRpYS9pZGxoYXJuZXNzLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDY2IEBACitEZXNjcmlwdGlvbgorCitUaGlzIHRlc3QgdmVyaWZpZXMgdGhhdCBpbXBsZW1lbnRh
dGlvbnMgb2YgdGhlIEVuY3J5cHRlZCBNZWRpYSBFeHRlbnNpb25zIEFQSSBtYXRjaCBpdHMgV2Vi
SURMIGRlZmluaXRpb24uCisKKworUEFTUyBOYXZpZ2F0b3IgaW50ZXJmYWNlOiBvcGVyYXRpb24g
cmVxdWVzdE1lZGlhS2V5U3lzdGVtQWNjZXNzKERPTVN0cmluZyxbb2JqZWN0IE9iamVjdF0pIAor
UEFTUyBIVE1MTWVkaWFFbGVtZW50IGludGVyZmFjZTogYXR0cmlidXRlIG1lZGlhS2V5cyAKK1BB
U1MgSFRNTE1lZGlhRWxlbWVudCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbmVuY3J5cHRlZCAKK1BB
U1MgSFRNTE1lZGlhRWxlbWVudCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbndhaXRpbmdmb3JrZXkg
CitQQVNTIEhUTUxNZWRpYUVsZW1lbnQgaW50ZXJmYWNlOiBvcGVyYXRpb24gc2V0TWVkaWFLZXlz
KE1lZGlhS2V5cykgCitQQVNTIE1lZGlhS2V5U3lzdGVtQWNjZXNzIGludGVyZmFjZTogZXhpc3Rl
bmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QgCitQQVNTIE1lZGlhS2V5U3lz
dGVtQWNjZXNzIGludGVyZmFjZSBvYmplY3QgbGVuZ3RoIAorUEFTUyBNZWRpYUtleVN5c3RlbUFj
Y2VzcyBpbnRlcmZhY2Ugb2JqZWN0IG5hbWUgCitQQVNTIE1lZGlhS2V5U3lzdGVtQWNjZXNzIGlu
dGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUg
b2JqZWN0IAorUEFTUyBNZWRpYUtleVN5c3RlbUFjY2VzcyBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBh
bmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzICJjb25zdHJ1Y3Rv
ciIgcHJvcGVydHkgCitQQVNTIE1lZGlhS2V5U3lzdGVtQWNjZXNzIGludGVyZmFjZTogYXR0cmli
dXRlIGtleVN5c3RlbSAKK1BBU1MgTWVkaWFLZXlTeXN0ZW1BY2Nlc3MgaW50ZXJmYWNlOiBvcGVy
YXRpb24gZ2V0Q29uZmlndXJhdGlvbigpIAorUEFTUyBNZWRpYUtleVN5c3RlbUFjY2VzcyBpbnRl
cmZhY2U6IG9wZXJhdGlvbiBjcmVhdGVNZWRpYUtleXMoKSAKK1BBU1MgTWVkaWFLZXlzIGludGVy
ZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QgCitQQVNT
IE1lZGlhS2V5cyBpbnRlcmZhY2Ugb2JqZWN0IGxlbmd0aCAKK1BBU1MgTWVkaWFLZXlzIGludGVy
ZmFjZSBvYmplY3QgbmFtZSAKK1BBU1MgTWVkaWFLZXlzIGludGVyZmFjZTogZXhpc3RlbmNlIGFu
ZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0IAorUEFTUyBNZWRpYUtl
eXMgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3Rv
dHlwZSBvYmplY3QncyAiY29uc3RydWN0b3IiIHByb3BlcnR5IAorUEFTUyBNZWRpYUtleXMgaW50
ZXJmYWNlOiBvcGVyYXRpb24gY3JlYXRlU2Vzc2lvbihNZWRpYUtleVNlc3Npb25UeXBlKSAKK1BB
U1MgTWVkaWFLZXlzIGludGVyZmFjZTogb3BlcmF0aW9uIHNldFNlcnZlckNlcnRpZmljYXRlKEJ1
ZmZlclNvdXJjZSkgCitQQVNTIE1lZGlhS2V5U2Vzc2lvbiBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBh
bmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0IAorUEFTUyBNZWRpYUtleVNlc3Npb24g
aW50ZXJmYWNlIG9iamVjdCBsZW5ndGggCitQQVNTIE1lZGlhS2V5U2Vzc2lvbiBpbnRlcmZhY2Ug
b2JqZWN0IG5hbWUgCitQQVNTIE1lZGlhS2V5U2Vzc2lvbiBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBh
bmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCAKK1BBU1MgTWVkaWFL
ZXlTZXNzaW9uIGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFj
ZSBwcm90b3R5cGUgb2JqZWN0J3MgImNvbnN0cnVjdG9yIiBwcm9wZXJ0eSAKK1BBU1MgTWVkaWFL
ZXlTZXNzaW9uIGludGVyZmFjZTogYXR0cmlidXRlIHNlc3Npb25JZCAKK1BBU1MgTWVkaWFLZXlT
ZXNzaW9uIGludGVyZmFjZTogYXR0cmlidXRlIGV4cGlyYXRpb24gCitGQUlMIE1lZGlhS2V5U2Vz
c2lvbiBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBjbG9zZWQgYXNzZXJ0X3Rocm93czogZ2V0dGluZyBw
cm9wZXJ0eSBvbiBwcm90b3R5cGUgb2JqZWN0IG11c3QgdGhyb3cgVHlwZUVycm9yIGZ1bmN0aW9u
ICJmdW5jdGlvbiAoKSB7CisgICAgW25hdGl2ZSBjb2RlXQorfSIgZGlkIG5vdCB0aHJvdworUEFT
UyBNZWRpYUtleVNlc3Npb24gaW50ZXJmYWNlOiBhdHRyaWJ1dGUga2V5U3RhdHVzZXMgCitQQVNT
IE1lZGlhS2V5U2Vzc2lvbiBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbmtleXN0YXR1c2VzY2hhbmdl
IAorUEFTUyBNZWRpYUtleVNlc3Npb24gaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25tZXNzYWdlIAor
UEFTUyBNZWRpYUtleVNlc3Npb24gaW50ZXJmYWNlOiBvcGVyYXRpb24gZ2VuZXJhdGVSZXF1ZXN0
KERPTVN0cmluZyxCdWZmZXJTb3VyY2UpIAorUEFTUyBNZWRpYUtleVNlc3Npb24gaW50ZXJmYWNl
OiBvcGVyYXRpb24gbG9hZChET01TdHJpbmcpIAorUEFTUyBNZWRpYUtleVNlc3Npb24gaW50ZXJm
YWNlOiBvcGVyYXRpb24gdXBkYXRlKEJ1ZmZlclNvdXJjZSkgCitQQVNTIE1lZGlhS2V5U2Vzc2lv
biBpbnRlcmZhY2U6IG9wZXJhdGlvbiBjbG9zZSgpIAorUEFTUyBNZWRpYUtleVNlc3Npb24gaW50
ZXJmYWNlOiBvcGVyYXRpb24gcmVtb3ZlKCkgCitQQVNTIE1lZGlhS2V5U3RhdHVzTWFwIGludGVy
ZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QgCitQQVNT
IE1lZGlhS2V5U3RhdHVzTWFwIGludGVyZmFjZSBvYmplY3QgbGVuZ3RoIAorUEFTUyBNZWRpYUtl
eVN0YXR1c01hcCBpbnRlcmZhY2Ugb2JqZWN0IG5hbWUgCitQQVNTIE1lZGlhS2V5U3RhdHVzTWFw
IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5
cGUgb2JqZWN0IAorUEFTUyBNZWRpYUtleVN0YXR1c01hcCBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBh
bmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzICJjb25zdHJ1Y3Rv
ciIgcHJvcGVydHkgCitQQVNTIE1lZGlhS2V5U3RhdHVzTWFwIGludGVyZmFjZTogYXR0cmlidXRl
IHNpemUgCitQQVNTIE1lZGlhS2V5U3RhdHVzTWFwIGludGVyZmFjZTogb3BlcmF0aW9uIGhhcyhC
dWZmZXJTb3VyY2UpIAorUEFTUyBNZWRpYUtleVN0YXR1c01hcCBpbnRlcmZhY2U6IG9wZXJhdGlv
biBnZXQoQnVmZmVyU291cmNlKSAKK1BBU1MgTWVkaWFLZXlNZXNzYWdlRXZlbnQgaW50ZXJmYWNl
OiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdCAKK1BBU1MgTWVk
aWFLZXlNZXNzYWdlRXZlbnQgaW50ZXJmYWNlIG9iamVjdCBsZW5ndGggCitQQVNTIE1lZGlhS2V5
TWVzc2FnZUV2ZW50IGludGVyZmFjZSBvYmplY3QgbmFtZSAKK1BBU1MgTWVkaWFLZXlNZXNzYWdl
RXZlbnQgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHBy
b3RvdHlwZSBvYmplY3QgCitQQVNTIE1lZGlhS2V5TWVzc2FnZUV2ZW50IGludGVyZmFjZTogZXhp
c3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgImNv
bnN0cnVjdG9yIiBwcm9wZXJ0eSAKK1BBU1MgTWVkaWFLZXlNZXNzYWdlRXZlbnQgaW50ZXJmYWNl
OiBhdHRyaWJ1dGUgbWVzc2FnZVR5cGUgCitQQVNTIE1lZGlhS2V5TWVzc2FnZUV2ZW50IGludGVy
ZmFjZTogYXR0cmlidXRlIG1lc3NhZ2UgCitQQVNTIE1lZGlhRW5jcnlwdGVkRXZlbnQgaW50ZXJm
YWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdCAKK1BBU1Mg
TWVkaWFFbmNyeXB0ZWRFdmVudCBpbnRlcmZhY2Ugb2JqZWN0IGxlbmd0aCAKK1BBU1MgTWVkaWFF
bmNyeXB0ZWRFdmVudCBpbnRlcmZhY2Ugb2JqZWN0IG5hbWUgCitQQVNTIE1lZGlhRW5jcnlwdGVk
RXZlbnQgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHBy
b3RvdHlwZSBvYmplY3QgCitQQVNTIE1lZGlhRW5jcnlwdGVkRXZlbnQgaW50ZXJmYWNlOiBleGlz
dGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyAiY29u
c3RydWN0b3IiIHByb3BlcnR5IAorUEFTUyBNZWRpYUVuY3J5cHRlZEV2ZW50IGludGVyZmFjZTog
YXR0cmlidXRlIGluaXREYXRhVHlwZSAKK1BBU1MgTWVkaWFFbmNyeXB0ZWRFdmVudCBpbnRlcmZh
Y2U6IGF0dHJpYnV0ZSBpbml0RGF0YSAKKwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>