<?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>229789</bug_id>
          
          <creation_ts>2021-09-01 18:45:28 -0700</creation_ts>
          <short_desc>Introduce PCM::Client for PrivateClickMeasurementManager</short_desc>
          <delta_ts>2021-09-02 11:58:27 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alex Christensen">achristensen</reporter>
          <assigned_to name="Alex Christensen">achristensen</assigned_to>
          <cc>katherine_cheney</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1789583</commentid>
    <comment_count>0</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-09-01 18:45:28 -0700</bug_when>
    <thetext>Introduce PCM::Client for PrivateClickMeasurementManager</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1789584</commentid>
    <comment_count>1</comment_count>
      <attachid>437103</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-09-01 18:46:07 -0700</bug_when>
    <thetext>Created attachment 437103
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1789595</commentid>
    <comment_count>2</comment_count>
      <attachid>437110</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-09-01 19:58:21 -0700</bug_when>
    <thetext>Created attachment 437110
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1789785</commentid>
    <comment_count>3</comment_count>
      <attachid>437110</attachid>
    <who name="Kate Cheney">katherine_cheney</who>
    <bug_when>2021-09-02 11:13:03 -0700</bug_when>
    <thetext>Comment on attachment 437110
Patch

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

&gt; Source/WebKit/NetworkProcess/PrivateClickMeasurement/PrivateClickMeasurementClientImpl.cpp:42
&gt; +    if (!m_networkSession)

We could use if (!featureEnabled()) here instead

&gt; Source/WebKit/NetworkProcess/PrivateClickMeasurement/PrivateClickMeasurementClientImpl.cpp:50
&gt; +    if (!m_networkSession)

ditto</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1789793</commentid>
    <comment_count>4</comment_count>
      <attachid>437171</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2021-09-02 11:21:54 -0700</bug_when>
    <thetext>Created attachment 437171
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1789811</commentid>
    <comment_count>5</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-09-02 11:57:41 -0700</bug_when>
    <thetext>Committed r281944 (241252@main): &lt;https://commits.webkit.org/241252@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 437171.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1789812</commentid>
    <comment_count>6</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-09-02 11:58:27 -0700</bug_when>
    <thetext>&lt;rdar://problem/82686814&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>437103</attachid>
            <date>2021-09-01 18:46:07 -0700</date>
            <delta_ts>2021-09-01 19:58:20 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-229789-20210901184606.patch</filename>
            <type>text/plain</type>
            <size>33701</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgxODg2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGI3ZThlMGVmYTU2ODY2MTcy
NDU0Nzk1ODJiNGU3YzdmMzFjOThlOTYuLmZiODc2YWEzYTNiNWYwZjU3MDg5ZmE2YjU1ZjdkY2Mw
ZTNmYjI2OGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzcgQEAKKzIwMjEtMDktMDEgIEFsZXggQ2hy
aXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KKworICAgICAgICBJbnRyb2R1Y2Ug
UENNOjpDbGllbnQgZm9yIFByaXZhdGVDbGlja01lYXN1cmVtZW50TWFuYWdlcgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI5Nzg5CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBtYWtlcyBpdCBzbyB0
aGF0IFByaXZhdGVDbGlja01lYXN1cmVtZW50TWFuYWdlciBjYW4gcnVuIGluIGVudmlyb25tZW50
cyBvdGhlciB0aGFuIHRoZSBOZXR3b3JrUHJvY2Vzcy4KKworICAgICAgICAqIE5ldHdvcmtQcm9j
ZXNzL05ldHdvcmtTZXNzaW9uLmNwcDoKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1Nlc3Npb246
Ok5ldHdvcmtTZXNzaW9uKToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9Qcml2YXRlQ2xpY2tN
ZWFzdXJlbWVudC9Qcml2YXRlQ2xpY2tNZWFzdXJlbWVudENsaWVudC5oOiBBZGRlZC4KKyAgICAg
ICAgKFdlYktpdDo6UENNOjpDbGllbnQ6On5DbGllbnQpOgorICAgICAgICAqIE5ldHdvcmtQcm9j
ZXNzL1ByaXZhdGVDbGlja01lYXN1cmVtZW50L1ByaXZhdGVDbGlja01lYXN1cmVtZW50Q2xpZW50
SW1wbC5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViS2l0OjpQQ006OkNsaWVudEltcGw6OkNsaWVu
dEltcGwpOgorICAgICAgICAoV2ViS2l0OjpQQ006OkNsaWVudEltcGw6OmxvYWRGcm9tTmV0d29y
ayk6CisgICAgICAgIChXZWJLaXQ6OlBDTTo6Q2xpZW50SW1wbDo6YnJvYWRjYXN0Q29uc29sZU1l
c3NhZ2UpOgorICAgICAgICAoV2ViS2l0OjpQQ006OkNsaWVudEltcGw6OmZlYXR1cmVFbmFibGVk
IGNvbnN0KToKKyAgICAgICAgKFdlYktpdDo6UENNOjpDbGllbnRJbXBsOjpkZWJ1Z01vZGVFbmFi
bGVkIGNvbnN0KToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9Qcml2YXRlQ2xpY2tNZWFzdXJl
bWVudC9Qcml2YXRlQ2xpY2tNZWFzdXJlbWVudENsaWVudEltcGwuaDogQWRkZWQuCisgICAgICAg
ICogTmV0d29ya1Byb2Nlc3MvUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRNYW5hZ2VyLmNwcDoKKyAg
ICAgICAgKFdlYktpdDo6UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRNYW5hZ2VyOjpQcml2YXRlQ2xp
Y2tNZWFzdXJlbWVudE1hbmFnZXIpOgorICAgICAgICAoV2ViS2l0OjpQcml2YXRlQ2xpY2tNZWFz
dXJlbWVudE1hbmFnZXI6OnN0b3JlVW5hdHRyaWJ1dGVkKToKKyAgICAgICAgKFdlYktpdDo6UHJp
dmF0ZUNsaWNrTWVhc3VyZW1lbnRNYW5hZ2VyOjpnZXRUb2tlblB1YmxpY0tleSk6CisgICAgICAg
IChXZWJLaXQ6OlByaXZhdGVDbGlja01lYXN1cmVtZW50TWFuYWdlcjo6Z2V0U2lnbmVkVW5saW5r
YWJsZVRva2VuKToKKyAgICAgICAgKFdlYktpdDo6UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRNYW5h
Z2VyOjpoYW5kbGVBdHRyaWJ1dGlvbik6CisgICAgICAgIChXZWJLaXQ6OlByaXZhdGVDbGlja01l
YXN1cmVtZW50TWFuYWdlcjo6YXR0cmlidXRlKToKKyAgICAgICAgKFdlYktpdDo6UHJpdmF0ZUNs
aWNrTWVhc3VyZW1lbnRNYW5hZ2VyOjpmaXJlQ29udmVyc2lvblJlcXVlc3RJbXBsKToKKyAgICAg
ICAgKFdlYktpdDo6UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRNYW5hZ2VyOjpmZWF0dXJlRW5hYmxl
ZCBjb25zdCk6CisgICAgICAgIChXZWJLaXQ6OlByaXZhdGVDbGlja01lYXN1cmVtZW50TWFuYWdl
cjo6ZGVidWdNb2RlRW5hYmxlZCBjb25zdCk6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvUHJp
dmF0ZUNsaWNrTWVhc3VyZW1lbnRNYW5hZ2VyLmg6CisgICAgICAgICogU291cmNlcy50eHQ6Cisg
ICAgICAgICogV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisKIDIwMjEtMDktMDEg
IEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KIAogICAgICAgICBN
b3ZlIFBDTTo6U3RvcmUgb3duZXJzaGlwIGZyb20gV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0
b3JlIHRvIFByaXZhdGVDbGlja01lYXN1cmVtZW50TWFuYWdlcgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrU2Vzc2lvbi5jcHAgYi9Tb3VyY2UvV2ViS2l0
L05ldHdvcmtQcm9jZXNzL05ldHdvcmtTZXNzaW9uLmNwcAppbmRleCA4YzgyY2MxMjBlYWYwODc4
OWFmNTA1YmYxODk0MjhkY2JkNGQ0MzQ0Li5kMDZkZDJmOWE4MzVhNGI3ZWE3ZDEzYmRlNWIzMmQ5
NzRiYjI3YzM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdv
cmtTZXNzaW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtT
ZXNzaW9uLmNwcApAQCAtMzUsNiArMzUsNyBAQAogI2luY2x1ZGUgIk5ldHdvcmtSZXNvdXJjZUxv
YWRlci5oIgogI2luY2x1ZGUgIk5ldHdvcmtTZXNzaW9uQ3JlYXRpb25QYXJhbWV0ZXJzLmgiCiAj
aW5jbHVkZSAiUGluZ0xvYWQuaCIKKyNpbmNsdWRlICJQcml2YXRlQ2xpY2tNZWFzdXJlbWVudENs
aWVudEltcGwuaCIKICNpbmNsdWRlICJQcml2YXRlQ2xpY2tNZWFzdXJlbWVudE1hbmFnZXIuaCIK
ICNpbmNsdWRlICJXZWJQYWdlUHJveHkuaCIKICNpbmNsdWRlICJXZWJQYWdlUHJveHlNZXNzYWdl
cy5oIgpAQCAtMTM5LDEzICsxNDAsOCBAQCBOZXR3b3JrU2Vzc2lvbjo6TmV0d29ya1Nlc3Npb24o
TmV0d29ya1Byb2Nlc3MmIG5ldHdvcmtQcm9jZXNzLCBjb25zdCBOZXR3b3JrU2VzcwogCiAjaWYg
RU5BQkxFKFJFU09VUkNFX0xPQURfU1RBVElTVElDUykKICAgICBzZXRSZXNvdXJjZUxvYWRTdGF0
aXN0aWNzRW5hYmxlZChwYXJhbWV0ZXJzLnJlc291cmNlTG9hZFN0YXRpc3RpY3NQYXJhbWV0ZXJz
LmVuYWJsZWQpOwotICAgIG1fcHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQgPSBtYWtlVW5pcXVlPFBy
aXZhdGVDbGlja01lYXN1cmVtZW50TWFuYWdlcj4oKnRoaXMsIG5ldHdvcmtQcm9jZXNzLCBwYXJh
bWV0ZXJzLnNlc3Npb25JRCwgcGNtU3RvcmVEaXJlY3RvcnkoKnRoaXMsIHBhcmFtZXRlcnMucmVz
b3VyY2VMb2FkU3RhdGlzdGljc1BhcmFtZXRlcnMuZGlyZWN0b3J5LCBwYXJhbWV0ZXJzLnJlc291
cmNlTG9hZFN0YXRpc3RpY3NQYXJhbWV0ZXJzLnByaXZhdGVDbGlja01lYXN1cmVtZW50U3RvcmFn
ZURpcmVjdG9yeSksIFt3ZWFrVGhpcyA9IG1ha2VXZWFrUHRyKHRoaXMpXSAoYXV0byYmIGxvYWRQ
YXJhbWV0ZXJzLCBhdXRvJiYgY29tcGxldGlvbkhhbmRsZXIpIHsKLSAgICAgICAgaWYgKCF3ZWFr
VGhpcykKLSAgICAgICAgICAgIHJldHVybiBjb21wbGV0aW9uSGFuZGxlcihSZXNvdXJjZUVycm9y
KFJlc291cmNlRXJyb3I6OlR5cGU6OkNhbmNlbGxhdGlvbiksIHsgfSwgeyB9KTsKLQotICAgICAg
ICBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudE5ldHdvcmtMb2FkZXI6OnN0YXJ0KCp3ZWFrVGhpcywg
V1RGTW92ZShsb2FkUGFyYW1ldGVycyksIFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsKLSAg
ICB9KTsKICNlbmRpZgorICAgIG1fcHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQgPSBtYWtlVW5pcXVl
PFByaXZhdGVDbGlja01lYXN1cmVtZW50TWFuYWdlcj4obWFrZVVuaXF1ZVJlZjxQQ006OkNsaWVu
dEltcGw+KCp0aGlzLCBuZXR3b3JrUHJvY2VzcyksIHBjbVN0b3JlRGlyZWN0b3J5KCp0aGlzLCBw
YXJhbWV0ZXJzLnJlc291cmNlTG9hZFN0YXRpc3RpY3NQYXJhbWV0ZXJzLmRpcmVjdG9yeSwgcGFy
YW1ldGVycy5yZXNvdXJjZUxvYWRTdGF0aXN0aWNzUGFyYW1ldGVycy5wcml2YXRlQ2xpY2tNZWFz
dXJlbWVudFN0b3JhZ2VEaXJlY3RvcnkpKTsKIH0KIAogTmV0d29ya1Nlc3Npb246On5OZXR3b3Jr
U2Vzc2lvbigpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1ByaXZh
dGVDbGlja01lYXN1cmVtZW50L1ByaXZhdGVDbGlja01lYXN1cmVtZW50Q2xpZW50LmggYi9Tb3Vy
Y2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1ByaXZhdGVDbGlja01lYXN1cmVtZW50L1ByaXZhdGVD
bGlja01lYXN1cmVtZW50Q2xpZW50LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzY1NjM0Mjg1MmZhOTQ2Yzg1NGJk
OTgzZjY4Mzk4NmUxMTVlMmU0NwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0
d29ya1Byb2Nlc3MvUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQvUHJpdmF0ZUNsaWNrTWVhc3VyZW1l
bnRDbGllbnQuaApAQCAtMCwwICsxLDU3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJ
UycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9S
UworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwor
ICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisg
KiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisK
KyNpbmNsdWRlIDx3dGYvSlNPTlZhbHVlcy5oPgorCituYW1lc3BhY2UgSlNDIHsKK2VudW0gY2xh
c3MgTWVzc2FnZUxldmVsIDogdWludDhfdDsKK30KKworbmFtZXNwYWNlIFdlYkNvcmUgeworY2xh
c3MgUmVzb3VyY2VFcnJvcjsKK2NsYXNzIFJlc291cmNlUmVzcG9uc2U7Cit9CisKK25hbWVzcGFj
ZSBXZWJLaXQgeworCitjbGFzcyBOZXR3b3JrTG9hZFBhcmFtZXRlcnM7CisKK25hbWVzcGFjZSBQ
Q00geworCitjbGFzcyBDbGllbnQgeworcHVibGljOgorICAgIHZpcnR1YWwgfkNsaWVudCgpIHsg
fQorICAgIHVzaW5nIE5ldHdvcmtMb2FkQ2FsbGJhY2sgPSBDb21wbGV0aW9uSGFuZGxlcjx2b2lk
KGNvbnN0IFdlYkNvcmU6OlJlc291cmNlRXJyb3ImLCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJl
c3BvbnNlJiwgY29uc3QgUmVmUHRyPEpTT046Ok9iamVjdD4mKT47CisgICAgdmlydHVhbCB2b2lk
IGxvYWRGcm9tTmV0d29yayhOZXR3b3JrTG9hZFBhcmFtZXRlcnMmJiwgTmV0d29ya0xvYWRDYWxs
YmFjayYmKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIGJyb2FkY2FzdENvbnNvbGVNZXNzYWdlKEpT
Qzo6TWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcmKSA9IDA7CisgICAgdmlydHVhbCBib29sIGZl
YXR1cmVFbmFibGVkKCkgY29uc3QgPSAwOworICAgIHZpcnR1YWwgYm9vbCBkZWJ1Z01vZGVFbmFi
bGVkKCkgY29uc3QgPSAwOworfTsKKworfSAvLyBuYW1lc3BhY2UgUENNCisKK30gLy8gbmFtZXNw
YWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9Qcml2
YXRlQ2xpY2tNZWFzdXJlbWVudC9Qcml2YXRlQ2xpY2tNZWFzdXJlbWVudENsaWVudEltcGwuY3Bw
IGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9Qcml2YXRlQ2xpY2tNZWFzdXJlbWVudC9Q
cml2YXRlQ2xpY2tNZWFzdXJlbWVudENsaWVudEltcGwuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjk4YzU2MDBi
ZjYwNDkzZDIyNzM5OTMxMDEzODA1N2NlMmEyMTgyMmMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1ByaXZhdGVDbGlja01lYXN1cmVtZW50L1ByaXZhdGVD
bGlja01lYXN1cmVtZW50Q2xpZW50SW1wbC5jcHAKQEAgLTAsMCArMSw2OSBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMg
Q09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
CisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisg
KiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQor
ICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICov
CisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJQcml2YXRlQ2xpY2tNZWFzdXJlbWVu
dENsaWVudEltcGwuaCIKKworbmFtZXNwYWNlIFdlYktpdCB7CisKK25hbWVzcGFjZSBQQ00gewor
CitDbGllbnRJbXBsOjpDbGllbnRJbXBsKE5ldHdvcmtTZXNzaW9uJiBzZXNzaW9uLCBOZXR3b3Jr
UHJvY2VzcyYgbmV0d29ya1Byb2Nlc3MpCisgICAgOiBtX25ldHdvcmtTZXNzaW9uKG1ha2VXZWFr
UHRyKHNlc3Npb24pKQorICAgICwgbV9uZXR3b3JrUHJvY2VzcyhuZXR3b3JrUHJvY2VzcykgeyB9
CisKK3ZvaWQgQ2xpZW50SW1wbDo6bG9hZEZyb21OZXR3b3JrKE5ldHdvcmtMb2FkUGFyYW1ldGVy
cyYmIGxvYWRQYXJhbWV0ZXJzLCBOZXR3b3JrTG9hZENhbGxiYWNrJiYgY29tcGxldGlvbkhhbmRs
ZXIpCit7CisgICAgaWYgKCFtX25ldHdvcmtTZXNzaW9uKQorICAgICAgICByZXR1cm4gY29tcGxl
dGlvbkhhbmRsZXIoUmVzb3VyY2VFcnJvcihSZXNvdXJjZUVycm9yOjpUeXBlOjpDYW5jZWxsYXRp
b24pLCB7IH0sIHsgfSk7CisKKyAgICBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudE5ldHdvcmtMb2Fk
ZXI6OnN0YXJ0KCptX25ldHdvcmtTZXNzaW9uLCBXVEZNb3ZlKGxvYWRQYXJhbWV0ZXJzKSwgV1RG
TW92ZShjb21wbGV0aW9uSGFuZGxlcikpOworfQorCit2b2lkIENsaWVudEltcGw6OmJyb2FkY2Fz
dENvbnNvbGVNZXNzYWdlKEpTQzo6TWVzc2FnZUxldmVsIG1lc3NhZ2VMZXZlbCwgY29uc3QgU3Ry
aW5nJiBtZXNzYWdlKQoreworICAgIGlmICghbV9uZXR3b3JrU2Vzc2lvbikKKyAgICAgICAgcmV0
dXJuOworCisgICAgbV9uZXR3b3JrUHJvY2Vzcy0+YnJvYWRjYXN0Q29uc29sZU1lc3NhZ2UobV9u
ZXR3b3JrU2Vzc2lvbi0+c2Vzc2lvbklEKCksIE1lc3NhZ2VTb3VyY2U6OlByaXZhdGVDbGlja01l
YXN1cmVtZW50LCBtZXNzYWdlTGV2ZWwsIG1lc3NhZ2UpOworfQorCitib29sIENsaWVudEltcGw6
OmZlYXR1cmVFbmFibGVkKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9uZXR3b3JrU2Vzc2lvbgor
ICAgICAgICAmJiBtX25ldHdvcmtQcm9jZXNzLT5wcml2YXRlQ2xpY2tNZWFzdXJlbWVudEVuYWJs
ZWQoKQorICAgICAgICAmJiAhbV9uZXR3b3JrU2Vzc2lvbi0+c2Vzc2lvbklEKCkuaXNFcGhlbWVy
YWwoKTsKK30KKworYm9vbCBDbGllbnRJbXBsOjpkZWJ1Z01vZGVFbmFibGVkKCkgY29uc3QKK3sK
KyAgICByZXR1cm4gbV9uZXR3b3JrU2Vzc2lvbgorICAgICAgICAmJiBtX25ldHdvcmtQcm9jZXNz
LT5wcml2YXRlQ2xpY2tNZWFzdXJlbWVudERlYnVnTW9kZUVuYWJsZWQoKQorICAgICAgICAmJiAh
bV9uZXR3b3JrU2Vzc2lvbi0+c2Vzc2lvbklEKCkuaXNFcGhlbWVyYWwoKTsKK30KKworfSAvLyBu
YW1lc3BhY2UgUENNCisKK30gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9Qcml2YXRlQ2xpY2tNZWFzdXJlbWVudC9Qcml2YXRlQ2xp
Y2tNZWFzdXJlbWVudENsaWVudEltcGwuaCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mv
UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQvUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRDbGllbnRJbXBs
LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjE2NjA4YTM1NGU5M2M5YmVjMzc5ZDY5ZTMyZjI5MjIwMmQxM2Y0Nwot
LS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvUHJpdmF0ZUNs
aWNrTWVhc3VyZW1lbnQvUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRDbGllbnRJbXBsLmgKQEAgLTAs
MCArMSw1NiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6
CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
CisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSAiUHJpdmF0
ZUNsaWNrTWVhc3VyZW1lbnRDbGllbnQuaCIKKyNpbmNsdWRlIDxwYWwvU2Vzc2lvbklELmg+Cisj
aW5jbHVkZSA8d3RmL0Zhc3RNYWxsb2MuaD4KKworbmFtZXNwYWNlIFdlYktpdCB7CisKK2NsYXNz
IE5ldHdvcmtTZXNzaW9uOworY2xhc3MgTmV0d29ya1Byb2Nlc3M7CisKK25hbWVzcGFjZSBQQ00g
eworCitjbGFzcyBDbGllbnRJbXBsIDogcHVibGljIENsaWVudCB7CisgICAgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQ7CitwdWJsaWM6CisgICAgQ2xpZW50SW1wbChOZXR3b3JrU2Vzc2lvbiYsIE5l
dHdvcmtQcm9jZXNzJik7CisKK3ByaXZhdGU6CisgICAgdm9pZCBsb2FkRnJvbU5ldHdvcmsoTmV0
d29ya0xvYWRQYXJhbWV0ZXJzJiYsIE5ldHdvcmtMb2FkQ2FsbGJhY2smJikgZmluYWw7CisgICAg
dm9pZCBicm9hZGNhc3RDb25zb2xlTWVzc2FnZShKU0M6Ok1lc3NhZ2VMZXZlbCwgY29uc3QgU3Ry
aW5nJikgZmluYWw7CisgICAgYm9vbCBmZWF0dXJlRW5hYmxlZCgpIGNvbnN0IGZpbmFsOworICAg
IGJvb2wgZGVidWdNb2RlRW5hYmxlZCgpIGNvbnN0IGZpbmFsOworCisgICAgV2Vha1B0cjxOZXR3
b3JrU2Vzc2lvbj4gbV9uZXR3b3JrU2Vzc2lvbjsKKyAgICBSZWY8TmV0d29ya1Byb2Nlc3M+IG1f
bmV0d29ya1Byb2Nlc3M7Cit9OworCit9IC8vIG5hbWVzcGFjZSBQQ00KKworfSAvLyBuYW1lc3Bh
Y2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1ByaXZh
dGVDbGlja01lYXN1cmVtZW50TWFuYWdlci5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9j
ZXNzL1ByaXZhdGVDbGlja01lYXN1cmVtZW50TWFuYWdlci5jcHAKaW5kZXggNTYzYzUzZTc4NWFk
NWMyNjU5ZTZiYzgwMWNlODJhMzUyODFjNjEwNS4uMDI3MjUzYTY1ZjdmZjEwMDgxYzFhOGUwMmJi
MDdjMjQ2NWRkYmI2MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9Q
cml2YXRlQ2xpY2tNZWFzdXJlbWVudE1hbmFnZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0
d29ya1Byb2Nlc3MvUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRNYW5hZ2VyLmNwcApAQCAtNTMsMTYg
KzUzLDExIEBAIHVzaW5nIEVwaGVtZXJhbFNvdXJjZU5vbmNlID0gUHJpdmF0ZUNsaWNrTWVhc3Vy
ZW1lbnQ6OkVwaGVtZXJhbFNvdXJjZU5vbmNlOwogCiBjb25zdGV4cHIgU2Vjb25kcyBkZWJ1Z01v
ZGVTZWNvbmRzVW50aWxTZW5kIHsgMTBfcyB9OwogCi1Qcml2YXRlQ2xpY2tNZWFzdXJlbWVudE1h
bmFnZXI6OlByaXZhdGVDbGlja01lYXN1cmVtZW50TWFuYWdlcihOZXR3b3JrU2Vzc2lvbiYgbmV0
d29ya1Nlc3Npb24sIE5ldHdvcmtQcm9jZXNzJiBuZXR3b3JrUHJvY2VzcywgUEFMOjpTZXNzaW9u
SUQgc2Vzc2lvbklELCBjb25zdCBTdHJpbmcmIHN0b3JhZ2VEaXJlY3RvcnksIEZ1bmN0aW9uPHZv
aWQoTmV0d29ya0xvYWRQYXJhbWV0ZXJzJiYsIE5ldHdvcmtMb2FkQ2FsbGJhY2smJik+JiYgbmV0
d29ya0xvYWRGdW5jdGlvbikKK1ByaXZhdGVDbGlja01lYXN1cmVtZW50TWFuYWdlcjo6UHJpdmF0
ZUNsaWNrTWVhc3VyZW1lbnRNYW5hZ2VyKFVuaXF1ZVJlZjxQQ006OkNsaWVudD4mJiBjbGllbnQs
IGNvbnN0IFN0cmluZyYgc3RvcmFnZURpcmVjdG9yeSkKICAgICA6IG1fZmlyZVBlbmRpbmdBdHRy
aWJ1dGlvblJlcXVlc3RzVGltZXIoKnRoaXMsICZQcml2YXRlQ2xpY2tNZWFzdXJlbWVudE1hbmFn
ZXI6OmZpcmVQZW5kaW5nQXR0cmlidXRpb25SZXF1ZXN0cykKLSAgICAsIG1fbmV0d29ya1Nlc3Np
b24obWFrZVdlYWtQdHIobmV0d29ya1Nlc3Npb24pKQotICAgICwgbV9uZXR3b3JrUHJvY2Vzcyhu
ZXR3b3JrUHJvY2VzcykKLSAgICAsIG1fc2Vzc2lvbklEKHNlc3Npb25JRCkKICAgICAsIG1fc3Rv
cmFnZURpcmVjdG9yeShzdG9yYWdlRGlyZWN0b3J5KQotICAgICwgbV9uZXR3b3JrTG9hZEZ1bmN0
aW9uKFdURk1vdmUobmV0d29ya0xvYWRGdW5jdGlvbikpCisgICAgLCBtX2NsaWVudChXVEZNb3Zl
KGNsaWVudCkpCiB7Ci0gICAgQVNTRVJUKG1fbmV0d29ya0xvYWRGdW5jdGlvbik7Ci0KICAgICAv
LyBXZSBzaG91bGQgc2VuZCBhbnkgcGVuZGluZyBhdHRyaWJ1dGlvbnMgb24gc2Vzc2lvbi1zdGFy
dCBpbiBjYXNlIHRoZWlyCiAgICAgLy8gc2VuZCBkZWxheSBoYXMgZXhwaXJlZCB3aGlsZSB0aGUg
c2Vzc2lvbiB3YXMgY2xvc2VkLiBXYWl0aW5nIDUgc2Vjb25kcyBhY2NvdW50cyBmb3IgdGhlCiAg
ICAgLy8gZGVsYXkgaW4gZGF0YWJhc2Ugc3RhcnR1cC4KQEAgLTkyLDcgKzg3LDcgQEAgdm9pZCBQ
cml2YXRlQ2xpY2tNZWFzdXJlbWVudE1hbmFnZXI6OnN0b3JlVW5hdHRyaWJ1dGVkKFByaXZhdGVD
bGlja01lYXN1cmVtZW50JiYKICAgICAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgICAgIGlm
IChhdXRvIGVycm9yTWVzc2FnZSA9IG1lYXN1cmVtZW50LmNhbGN1bGF0ZUFuZFVwZGF0ZVNvdXJj
ZVVubGlua2FibGVUb2tlbihwdWJsaWNLZXlCYXNlNjRVUkwpKSB7CiAgICAgICAgICAgICAgICAg
ICAgIFJFTEVBU0VfTE9HX0lORk8oUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQsICJHb3QgdGhlIGZv
bGxvd2luZyBlcnJvciBpbiBjYWxjdWxhdGVBbmRVcGRhdGVTb3VyY2VVbmxpbmthYmxlVG9rZW4o
KTogJyV7cHVibGljfXMiLCBlcnJvck1lc3NhZ2UtPnV0ZjgoKS5kYXRhKCkpOwotICAgICAgICAg
ICAgICAgICAgICBtX25ldHdvcmtQcm9jZXNzLT5icm9hZGNhc3RDb25zb2xlTWVzc2FnZShtX3Nl
c3Npb25JRCwgTWVzc2FnZVNvdXJjZTo6UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQsIE1lc3NhZ2VM
ZXZlbDo6RXJyb3IsIG1ha2VTdHJpbmcoIltQcml2YXRlIENsaWNrIE1lYXN1cmVtZW50XSAiX3Ms
ICplcnJvck1lc3NhZ2UpKTsKKyAgICAgICAgICAgICAgICAgICAgbV9jbGllbnQtPmJyb2FkY2Fz
dENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VMZXZlbDo6RXJyb3IsIG1ha2VTdHJpbmcoIltQcml2YXRl
IENsaWNrIE1lYXN1cmVtZW50XSAiX3MsICplcnJvck1lc3NhZ2UpKTsKICAgICAgICAgICAgICAg
ICAgICAgcmV0dXJuOwogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgIH0KQEAgLTEwMyw3
ICs5OCw3IEBAIHZvaWQgUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRNYW5hZ2VyOjpzdG9yZVVuYXR0
cmlidXRlZChQcml2YXRlQ2xpY2tNZWFzdXJlbWVudCYmCiAgICAgICAgIH0pOwogICAgIH0KIAot
ICAgIG1fbmV0d29ya1Byb2Nlc3MtPmJyb2FkY2FzdENvbnNvbGVNZXNzYWdlKG1fc2Vzc2lvbklE
LCBNZXNzYWdlU291cmNlOjpQcml2YXRlQ2xpY2tNZWFzdXJlbWVudCwgTWVzc2FnZUxldmVsOjpM
b2csICJbUHJpdmF0ZSBDbGljayBNZWFzdXJlbWVudF0gU3RvcmluZyBhIGNsaWNrLiJfcyk7Cisg
ICAgbV9jbGllbnQtPmJyb2FkY2FzdENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VMZXZlbDo6TG9nLCAi
W1ByaXZhdGUgQ2xpY2sgTWVhc3VyZW1lbnRdIFN0b3JpbmcgYSBjbGljay4iX3MpOwogCiAgICAg
aW5zZXJ0UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQoV1RGTW92ZShtZWFzdXJlbWVudCksIFByaXZh
dGVDbGlja01lYXN1cmVtZW50QXR0cmlidXRpb25UeXBlOjpVbmF0dHJpYnV0ZWQpOwogfQpAQCAt
MTU4LDIzICsxNTMsMjMgQEAgdm9pZCBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudE1hbmFnZXI6Omdl
dFRva2VuUHVibGljS2V5KFByaXZhdGVDbGlja01lYXN1cmVtZW50JiYKICAgICBhdXRvIGxvYWRQ
YXJhbWV0ZXJzID0gZ2VuZXJhdGVOZXR3b3JrTG9hZFBhcmFtZXRlcnNGb3JIdHRwR2V0KFdURk1v
dmUodG9rZW5QdWJsaWNLZXlVUkwpLCBwY21EYXRhQ2FycmllZCwgZGVidWdNb2RlRW5hYmxlZCgp
KTsKIAogICAgIFJFTEVBU0VfTE9HX0lORk8oUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQsICJBYm91
dCB0byBmaXJlIGEgdG9rZW4gcHVibGljIGtleSByZXF1ZXN0LiIpOwotICAgIG1fbmV0d29ya1By
b2Nlc3MtPmJyb2FkY2FzdENvbnNvbGVNZXNzYWdlKG1fc2Vzc2lvbklELCBNZXNzYWdlU291cmNl
OjpQcml2YXRlQ2xpY2tNZWFzdXJlbWVudCwgTWVzc2FnZUxldmVsOjpMb2csICJbUHJpdmF0ZSBD
bGljayBNZWFzdXJlbWVudF0gQWJvdXQgdG8gZmlyZSBhIHRva2VuIHB1YmxpYyBrZXkgcmVxdWVz
dC4iX3MpOworICAgIG1fY2xpZW50LT5icm9hZGNhc3RDb25zb2xlTWVzc2FnZShNZXNzYWdlTGV2
ZWw6OkxvZywgIltQcml2YXRlIENsaWNrIE1lYXN1cmVtZW50XSBBYm91dCB0byBmaXJlIGEgdG9r
ZW4gcHVibGljIGtleSByZXF1ZXN0LiJfcyk7CiAKLSAgICBtX25ldHdvcmtMb2FkRnVuY3Rpb24o
V1RGTW92ZShsb2FkUGFyYW1ldGVycyksIFt3ZWFrVGhpcyA9IG1ha2VXZWFrUHRyKCp0aGlzKSwg
dGhpcywgYXR0cmlidXRpb24gPSBXVEZNb3ZlKGF0dHJpYnV0aW9uKSwgY2FsbGJhY2sgPSBXVEZN
b3ZlKGNhbGxiYWNrKV0gKGF1dG8mIGVycm9yLCBhdXRvJiByZXNwb25zZSwgYXV0byYganNvbk9i
amVjdCkgbXV0YWJsZSB7CisgICAgbV9jbGllbnQtPmxvYWRGcm9tTmV0d29yayhXVEZNb3ZlKGxv
YWRQYXJhbWV0ZXJzKSwgW3dlYWtUaGlzID0gbWFrZVdlYWtQdHIoKnRoaXMpLCB0aGlzLCBhdHRy
aWJ1dGlvbiA9IFdURk1vdmUoYXR0cmlidXRpb24pLCBjYWxsYmFjayA9IFdURk1vdmUoY2FsbGJh
Y2spXSAoYXV0byYgZXJyb3IsIGF1dG8mIHJlc3BvbnNlLCBhdXRvJiBqc29uT2JqZWN0KSBtdXRh
YmxlIHsKICAgICAgICAgaWYgKCF3ZWFrVGhpcykKICAgICAgICAgICAgIHJldHVybjsKIAogICAg
ICAgICBpZiAoIWVycm9yLmlzTnVsbCgpKSB7Ci0gICAgICAgICAgICBtX25ldHdvcmtQcm9jZXNz
LT5icm9hZGNhc3RDb25zb2xlTWVzc2FnZShtX3Nlc3Npb25JRCwgTWVzc2FnZVNvdXJjZTo6UHJp
dmF0ZUNsaWNrTWVhc3VyZW1lbnQsIE1lc3NhZ2VMZXZlbDo6RXJyb3IsIG1ha2VTdHJpbmcoIltQ
cml2YXRlIENsaWNrIE1lYXN1cmVtZW50XSBSZWNlaXZlZCBlcnJvcjogJyJfcywgZXJyb3IubG9j
YWxpemVkRGVzY3JpcHRpb24oKSwgIicgZm9yIHRva2VuIHB1YmxpYyBrZXkgcmVxdWVzdC4iX3Mp
KTsKKyAgICAgICAgICAgIG1fY2xpZW50LT5icm9hZGNhc3RDb25zb2xlTWVzc2FnZShNZXNzYWdl
TGV2ZWw6OkVycm9yLCBtYWtlU3RyaW5nKCJbUHJpdmF0ZSBDbGljayBNZWFzdXJlbWVudF0gUmVj
ZWl2ZWQgZXJyb3I6ICciX3MsIGVycm9yLmxvY2FsaXplZERlc2NyaXB0aW9uKCksICInIGZvciB0
b2tlbiBwdWJsaWMga2V5IHJlcXVlc3QuIl9zKSk7CiAgICAgICAgICAgICByZXR1cm47CiAgICAg
ICAgIH0KIAogICAgICAgICBpZiAoIWpzb25PYmplY3QpIHsKLSAgICAgICAgICAgIG1fbmV0d29y
a1Byb2Nlc3MtPmJyb2FkY2FzdENvbnNvbGVNZXNzYWdlKG1fc2Vzc2lvbklELCBNZXNzYWdlU291
cmNlOjpQcml2YXRlQ2xpY2tNZWFzdXJlbWVudCwgTWVzc2FnZUxldmVsOjpFcnJvciwgbWFrZVN0
cmluZygiW1ByaXZhdGUgQ2xpY2sgTWVhc3VyZW1lbnRdIEpTT04gcmVzcG9uc2UgaXMgZW1wdHkg
Zm9yIHRva2VuIHB1YmxpYyBrZXkgcmVxdWVzdC4iX3MpKTsKKyAgICAgICAgICAgIG1fY2xpZW50
LT5icm9hZGNhc3RDb25zb2xlTWVzc2FnZShNZXNzYWdlTGV2ZWw6OkVycm9yLCBtYWtlU3RyaW5n
KCJbUHJpdmF0ZSBDbGljayBNZWFzdXJlbWVudF0gSlNPTiByZXNwb25zZSBpcyBlbXB0eSBmb3Ig
dG9rZW4gcHVibGljIGtleSByZXF1ZXN0LiJfcykpOwogICAgICAgICAgICAgcmV0dXJuOwogICAg
ICAgICB9CiAKLSAgICAgICAgbV9uZXR3b3JrUHJvY2Vzcy0+YnJvYWRjYXN0Q29uc29sZU1lc3Nh
Z2UobV9zZXNzaW9uSUQsIE1lc3NhZ2VTb3VyY2U6OlByaXZhdGVDbGlja01lYXN1cmVtZW50LCBN
ZXNzYWdlTGV2ZWw6OkxvZywgbWFrZVN0cmluZygiW1ByaXZhdGUgQ2xpY2sgTWVhc3VyZW1lbnRd
IEdvdCBKU09OIHJlc3BvbnNlIGZvciB0b2tlbiBwdWJsaWMga2V5IHJlcXVlc3QuIl9zKSk7Cisg
ICAgICAgIG1fY2xpZW50LT5icm9hZGNhc3RDb25zb2xlTWVzc2FnZShNZXNzYWdlTGV2ZWw6Okxv
ZywgbWFrZVN0cmluZygiW1ByaXZhdGUgQ2xpY2sgTWVhc3VyZW1lbnRdIEdvdCBKU09OIHJlc3Bv
bnNlIGZvciB0b2tlbiBwdWJsaWMga2V5IHJlcXVlc3QuIl9zKSk7CiAKICAgICAgICAgY2FsbGJh
Y2soV1RGTW92ZShhdHRyaWJ1dGlvbiksIGpzb25PYmplY3QtPmdldFN0cmluZygidG9rZW5fcHVi
bGljX2tleSJfcykpOwogICAgIH0pOwpAQCAtMjAxLDI1ICsxOTYsMjUgQEAgdm9pZCBQcml2YXRl
Q2xpY2tNZWFzdXJlbWVudE1hbmFnZXI6OmdldFNpZ25lZFVubGlua2FibGVUb2tlbihQcml2YXRl
Q2xpY2tNZWFzdXIKICAgICBhdXRvIGxvYWRQYXJhbWV0ZXJzID0gZ2VuZXJhdGVOZXR3b3JrTG9h
ZFBhcmFtZXRlcnNGb3JIdHRwUG9zdChXVEZNb3ZlKHRva2VuU2lnbmF0dXJlVVJMKSwgbWVhc3Vy
ZW1lbnQudG9rZW5TaWduYXR1cmVKU09OKCksIHBjbURhdGFDYXJyaWVkLCBkZWJ1Z01vZGVFbmFi
bGVkKCkpOwogCiAgICAgUkVMRUFTRV9MT0dfSU5GTyhQcml2YXRlQ2xpY2tNZWFzdXJlbWVudCwg
IkFib3V0IHRvIGZpcmUgYSB1bmxpbmthYmxlIHRva2VuIHNpZ25pbmcgcmVxdWVzdC4iKTsKLSAg
ICBtX25ldHdvcmtQcm9jZXNzLT5icm9hZGNhc3RDb25zb2xlTWVzc2FnZShtX3Nlc3Npb25JRCwg
TWVzc2FnZVNvdXJjZTo6UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQsIE1lc3NhZ2VMZXZlbDo6TG9n
LCAiW1ByaXZhdGUgQ2xpY2sgTWVhc3VyZW1lbnRdIEFib3V0IHRvIGZpcmUgYSB1bmxpbmthYmxl
IHRva2VuIHNpZ25pbmcgcmVxdWVzdC4iX3MpOworICAgIG1fY2xpZW50LT5icm9hZGNhc3RDb25z
b2xlTWVzc2FnZShNZXNzYWdlTGV2ZWw6OkxvZywgIltQcml2YXRlIENsaWNrIE1lYXN1cmVtZW50
XSBBYm91dCB0byBmaXJlIGEgdW5saW5rYWJsZSB0b2tlbiBzaWduaW5nIHJlcXVlc3QuIl9zKTsK
IAotICAgIG1fbmV0d29ya0xvYWRGdW5jdGlvbihXVEZNb3ZlKGxvYWRQYXJhbWV0ZXJzKSwgW3dl
YWtUaGlzID0gbWFrZVdlYWtQdHIoKnRoaXMpLCB0aGlzLCBtZWFzdXJlbWVudCA9IFdURk1vdmUo
bWVhc3VyZW1lbnQpXSAoYXV0byYgZXJyb3IsIGF1dG8mIHJlc3BvbnNlLCBhdXRvJiBqc29uT2Jq
ZWN0KSBtdXRhYmxlIHsKKyAgICBtX2NsaWVudC0+bG9hZEZyb21OZXR3b3JrKFdURk1vdmUobG9h
ZFBhcmFtZXRlcnMpLCBbd2Vha1RoaXMgPSBtYWtlV2Vha1B0cigqdGhpcyksIHRoaXMsIG1lYXN1
cmVtZW50ID0gV1RGTW92ZShtZWFzdXJlbWVudCldIChhdXRvJiBlcnJvciwgYXV0byYgcmVzcG9u
c2UsIGF1dG8mIGpzb25PYmplY3QpIG11dGFibGUgewogICAgICAgICBpZiAoIXdlYWtUaGlzKQog
ICAgICAgICAgICAgcmV0dXJuOwogCiAgICAgICAgIGlmICghZXJyb3IuaXNOdWxsKCkpIHsKLSAg
ICAgICAgICAgIG1fbmV0d29ya1Byb2Nlc3MtPmJyb2FkY2FzdENvbnNvbGVNZXNzYWdlKG1fc2Vz
c2lvbklELCBNZXNzYWdlU291cmNlOjpQcml2YXRlQ2xpY2tNZWFzdXJlbWVudCwgTWVzc2FnZUxl
dmVsOjpFcnJvciwgbWFrZVN0cmluZygiW1ByaXZhdGUgQ2xpY2sgTWVhc3VyZW1lbnRdIFJlY2Vp
dmVkIGVycm9yOiAnIl9zLCBlcnJvci5sb2NhbGl6ZWREZXNjcmlwdGlvbigpLCAiJyBmb3Igc2Vj
cmV0IHRva2VuIHNpZ25pbmcgcmVxdWVzdC4iX3MpKTsKKyAgICAgICAgICAgIG1fY2xpZW50LT5i
cm9hZGNhc3RDb25zb2xlTWVzc2FnZShNZXNzYWdlTGV2ZWw6OkVycm9yLCBtYWtlU3RyaW5nKCJb
UHJpdmF0ZSBDbGljayBNZWFzdXJlbWVudF0gUmVjZWl2ZWQgZXJyb3I6ICciX3MsIGVycm9yLmxv
Y2FsaXplZERlc2NyaXB0aW9uKCksICInIGZvciBzZWNyZXQgdG9rZW4gc2lnbmluZyByZXF1ZXN0
LiJfcykpOwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CiAKICAgICAgICAgaWYgKCFq
c29uT2JqZWN0KSB7Ci0gICAgICAgICAgICBtX25ldHdvcmtQcm9jZXNzLT5icm9hZGNhc3RDb25z
b2xlTWVzc2FnZShtX3Nlc3Npb25JRCwgTWVzc2FnZVNvdXJjZTo6UHJpdmF0ZUNsaWNrTWVhc3Vy
ZW1lbnQsIE1lc3NhZ2VMZXZlbDo6RXJyb3IsIG1ha2VTdHJpbmcoIltQcml2YXRlIENsaWNrIE1l
YXN1cmVtZW50XSBKU09OIHJlc3BvbnNlIGlzIGVtcHR5IGZvciB0b2tlbiBzaWduaW5nIHJlcXVl
c3QuIl9zKSk7CisgICAgICAgICAgICBtX2NsaWVudC0+YnJvYWRjYXN0Q29uc29sZU1lc3NhZ2Uo
TWVzc2FnZUxldmVsOjpFcnJvciwgbWFrZVN0cmluZygiW1ByaXZhdGUgQ2xpY2sgTWVhc3VyZW1l
bnRdIEpTT04gcmVzcG9uc2UgaXMgZW1wdHkgZm9yIHRva2VuIHNpZ25pbmcgcmVxdWVzdC4iX3Mp
KTsKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQogCiAgICAgICAgIGF1dG8gc2lnbmF0
dXJlQmFzZTY0VVJMID0ganNvbk9iamVjdC0+Z2V0U3RyaW5nKCJ1bmxpbmthYmxlX3Rva2VuIl9z
KTsKICAgICAgICAgaWYgKHNpZ25hdHVyZUJhc2U2NFVSTC5pc0VtcHR5KCkpIHsKLSAgICAgICAg
ICAgIG1fbmV0d29ya1Byb2Nlc3MtPmJyb2FkY2FzdENvbnNvbGVNZXNzYWdlKG1fc2Vzc2lvbklE
LCBNZXNzYWdlU291cmNlOjpQcml2YXRlQ2xpY2tNZWFzdXJlbWVudCwgTWVzc2FnZUxldmVsOjpF
cnJvciwgbWFrZVN0cmluZygiW1ByaXZhdGUgQ2xpY2sgTWVhc3VyZW1lbnRdIEpTT04gcmVzcG9u
c2UgZG9lc24ndCBoYXZlIHRoZSBrZXkgJ3VubGlua2FibGVfdG9rZW4nIGZvciB0b2tlbiBzaWdu
aW5nIHJlcXVlc3QuIl9zKSk7CisgICAgICAgICAgICBtX2NsaWVudC0+YnJvYWRjYXN0Q29uc29s
ZU1lc3NhZ2UoTWVzc2FnZUxldmVsOjpFcnJvciwgbWFrZVN0cmluZygiW1ByaXZhdGUgQ2xpY2sg
TWVhc3VyZW1lbnRdIEpTT04gcmVzcG9uc2UgZG9lc24ndCBoYXZlIHRoZSBrZXkgJ3VubGlua2Fi
bGVfdG9rZW4nIGZvciB0b2tlbiBzaWduaW5nIHJlcXVlc3QuIl9zKSk7CiAgICAgICAgICAgICBy
ZXR1cm47CiAgICAgICAgIH0KICAgICAgICAgLy8gRklYIE5PVyEKQEAgLTIyOSwxMyArMjI0LDEz
IEBAIHZvaWQgUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRNYW5hZ2VyOjpnZXRTaWduZWRVbmxpbmth
YmxlVG9rZW4oUHJpdmF0ZUNsaWNrTWVhc3VyCiAgICAgICAgIGVsc2UgewogICAgICAgICAgICAg
aWYgKGF1dG8gZXJyb3JNZXNzYWdlID0gbWVhc3VyZW1lbnQuY2FsY3VsYXRlQW5kVXBkYXRlU291
cmNlU2VjcmV0VG9rZW4oc2lnbmF0dXJlQmFzZTY0VVJMKSkgewogICAgICAgICAgICAgICAgIFJF
TEVBU0VfTE9HX0lORk8oUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQsICJHb3QgdGhlIGZvbGxvd2lu
ZyBlcnJvciBpbiBjYWxjdWxhdGVBbmRVcGRhdGVTb3VyY2VTZWNyZXRUb2tlbigpOiAnJXtwdWJs
aWN9cyIsIGVycm9yTWVzc2FnZS0+dXRmOCgpLmRhdGEoKSk7Ci0gICAgICAgICAgICAgICAgbV9u
ZXR3b3JrUHJvY2Vzcy0+YnJvYWRjYXN0Q29uc29sZU1lc3NhZ2UobV9zZXNzaW9uSUQsIE1lc3Nh
Z2VTb3VyY2U6OlByaXZhdGVDbGlja01lYXN1cmVtZW50LCBNZXNzYWdlTGV2ZWw6OkVycm9yLCBt
YWtlU3RyaW5nKCJbUHJpdmF0ZSBDbGljayBNZWFzdXJlbWVudF0gIl9zLCAqZXJyb3JNZXNzYWdl
KSk7CisgICAgICAgICAgICAgICAgbV9jbGllbnQtPmJyb2FkY2FzdENvbnNvbGVNZXNzYWdlKE1l
c3NhZ2VMZXZlbDo6RXJyb3IsIG1ha2VTdHJpbmcoIltQcml2YXRlIENsaWNrIE1lYXN1cmVtZW50
XSAiX3MsICplcnJvck1lc3NhZ2UpKTsKICAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAg
ICAgICB9CiAgICAgICAgIH0KICNlbmRpZgogCi0gICAgICAgIG1fbmV0d29ya1Byb2Nlc3MtPmJy
b2FkY2FzdENvbnNvbGVNZXNzYWdlKG1fc2Vzc2lvbklELCBNZXNzYWdlU291cmNlOjpQcml2YXRl
Q2xpY2tNZWFzdXJlbWVudCwgTWVzc2FnZUxldmVsOjpMb2csICJbUHJpdmF0ZSBDbGljayBNZWFz
dXJlbWVudF0gU3RvcmluZyBhIHNlY3JldCB0b2tlbi4iX3MpOworICAgICAgICBtX2NsaWVudC0+
YnJvYWRjYXN0Q29uc29sZU1lc3NhZ2UoTWVzc2FnZUxldmVsOjpMb2csICJbUHJpdmF0ZSBDbGlj
ayBNZWFzdXJlbWVudF0gU3RvcmluZyBhIHNlY3JldCB0b2tlbi4iX3MpOwogCiAgICAgICAgIGlu
c2VydFByaXZhdGVDbGlja01lYXN1cmVtZW50KFdURk1vdmUobWVhc3VyZW1lbnQpLCBQcml2YXRl
Q2xpY2tNZWFzdXJlbWVudEF0dHJpYnV0aW9uVHlwZTo6VW5hdHRyaWJ1dGVkKTsKICAgICB9KTsK
QEAgLTI2MiwxNiArMjU3LDE2IEBAIHZvaWQgUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRNYW5hZ2Vy
OjpoYW5kbGVBdHRyaWJ1dGlvbihBdHRyaWJ1dGlvblRyaWdnZXJEYXRhJiYKICAgICBhdXRvJiBm
aXJzdFBhcnR5VVJMID0gcmVkaXJlY3RSZXF1ZXN0LmZpcnN0UGFydHlGb3JDb29raWVzKCk7CiAK
ICAgICBpZiAoIXJlZGlyZWN0RG9tYWluLm1hdGNoZXMocmVxdWVzdFVSTCkpIHsKLSAgICAgICAg
bV9uZXR3b3JrUHJvY2Vzcy0+YnJvYWRjYXN0Q29uc29sZU1lc3NhZ2UobV9zZXNzaW9uSUQsIE1l
c3NhZ2VTb3VyY2U6OlByaXZhdGVDbGlja01lYXN1cmVtZW50LCBNZXNzYWdlTGV2ZWw6Oldhcm5p
bmcsICJbUHJpdmF0ZSBDbGljayBNZWFzdXJlbWVudF0gVHJpZ2dlcmluZyBldmVudCB3YXMgbm90
IGFjY2VwdGVkIGJlY2F1c2UgdGhlIEhUVFAgcmVkaXJlY3Qgd2FzIG5vdCBzYW1lLXNpdGUuIl9z
KTsKKyAgICAgICAgbV9jbGllbnQtPmJyb2FkY2FzdENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VMZXZl
bDo6V2FybmluZywgIltQcml2YXRlIENsaWNrIE1lYXN1cmVtZW50XSBUcmlnZ2VyaW5nIGV2ZW50
IHdhcyBub3QgYWNjZXB0ZWQgYmVjYXVzZSB0aGUgSFRUUCByZWRpcmVjdCB3YXMgbm90IHNhbWUt
c2l0ZS4iX3MpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCiAgICAgaWYgKHJlZGlyZWN0RG9t
YWluLm1hdGNoZXMoZmlyc3RQYXJ0eVVSTCkpIHsKLSAgICAgICAgbV9uZXR3b3JrUHJvY2Vzcy0+
YnJvYWRjYXN0Q29uc29sZU1lc3NhZ2UobV9zZXNzaW9uSUQsIE1lc3NhZ2VTb3VyY2U6OlByaXZh
dGVDbGlja01lYXN1cmVtZW50LCBNZXNzYWdlTGV2ZWw6Oldhcm5pbmcsICJbUHJpdmF0ZSBDbGlj
ayBNZWFzdXJlbWVudF0gVHJpZ2dlcmluZyBldmVudCB3YXMgbm90IGFjY2VwdGVkIGJlY2F1c2Ug
aXQgd2FzIHJlcXVlc3RlZCBpbiBhbiBIVFRQIHJlZGlyZWN0IHRoYXQgaXMgc2FtZS1zaXRlIGFz
IHRoZSBmaXJzdC1wYXJ0eS4iX3MpOworICAgICAgICBtX2NsaWVudC0+YnJvYWRjYXN0Q29uc29s
ZU1lc3NhZ2UoTWVzc2FnZUxldmVsOjpXYXJuaW5nLCAiW1ByaXZhdGUgQ2xpY2sgTWVhc3VyZW1l
bnRdIFRyaWdnZXJpbmcgZXZlbnQgd2FzIG5vdCBhY2NlcHRlZCBiZWNhdXNlIGl0IHdhcyByZXF1
ZXN0ZWQgaW4gYW4gSFRUUCByZWRpcmVjdCB0aGF0IGlzIHNhbWUtc2l0ZSBhcyB0aGUgZmlyc3Qt
cGFydHkuIl9zKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIG1fbmV0d29ya1Byb2Nl
c3MtPmJyb2FkY2FzdENvbnNvbGVNZXNzYWdlKG1fc2Vzc2lvbklELCBNZXNzYWdlU291cmNlOjpQ
cml2YXRlQ2xpY2tNZWFzdXJlbWVudCwgTWVzc2FnZUxldmVsOjpMb2csICJbUHJpdmF0ZSBDbGlj
ayBNZWFzdXJlbWVudF0gVHJpZ2dlcmluZyBldmVudCBhY2NlcHRlZC4iX3MpOworICAgIG1fY2xp
ZW50LT5icm9hZGNhc3RDb25zb2xlTWVzc2FnZShNZXNzYWdlTGV2ZWw6OkxvZywgIltQcml2YXRl
IENsaWNrIE1lYXN1cmVtZW50XSBUcmlnZ2VyaW5nIGV2ZW50IGFjY2VwdGVkLiJfcyk7CiAKICAg
ICBhdHRyaWJ1dGUoU291cmNlU2l0ZSB7IFdURk1vdmUocmVkaXJlY3REb21haW4pIH0sIEF0dHJp
YnV0aW9uRGVzdGluYXRpb25TaXRlIHsgZmlyc3RQYXJ0eVVSTCB9LCBXVEZNb3ZlKGF0dHJpYnV0
aW9uVHJpZ2dlckRhdGEpKTsKIH0KQEAgLTMwMyw3ICsyOTgsNyBAQCB2b2lkIFByaXZhdGVDbGlj
a01lYXN1cmVtZW50TWFuYWdlcjo6YXR0cmlidXRlKGNvbnN0IFNvdXJjZVNpdGUmIHNvdXJjZVNp
dGUsIGNvbgogCiAgICAgICAgIGlmIChVTkxJS0VMWShkZWJ1Z01vZGVFbmFibGVkKCkpKSB7CiAg
ICAgICAgICAgICBmb3IgKGF1dG8mIG1lc3NhZ2UgOiBkZWJ1Z0luZm8ubWVzc2FnZXMpCi0gICAg
ICAgICAgICAgICAgbV9uZXR3b3JrUHJvY2Vzcy0+YnJvYWRjYXN0Q29uc29sZU1lc3NhZ2UobV9z
ZXNzaW9uSUQsIE1lc3NhZ2VTb3VyY2U6OlByaXZhdGVDbGlja01lYXN1cmVtZW50LCBtZXNzYWdl
Lm1lc3NhZ2VMZXZlbCwgbWVzc2FnZS5tZXNzYWdlKTsKKyAgICAgICAgICAgICAgICBtX2NsaWVu
dC0+YnJvYWRjYXN0Q29uc29sZU1lc3NhZ2UobWVzc2FnZS5tZXNzYWdlTGV2ZWwsIG1lc3NhZ2Uu
bWVzc2FnZSk7CiAgICAgICAgIH0KIAogICAgICAgICBpZiAoYXR0cmlidXRpb25TZWNvbmRzVW50
aWxTZW5kRGF0YS52YWx1ZSgpLmhhc1ZhbGlkU2Vjb25kc1VudGlsU2VuZFZhbHVlcygpKSB7CkBA
IC0zMTcsMTAgKzMxMiwxMCBAQCB2b2lkIFByaXZhdGVDbGlja01lYXN1cmVtZW50TWFuYWdlcjo6
YXR0cmlidXRlKGNvbnN0IFNvdXJjZVNpdGUmIHNvdXJjZVNpdGUsIGNvbgogICAgICAgICAgICAg
ICAgIHJldHVybjsKIAogICAgICAgICAgICAgaWYgKFVOTElLRUxZKGRlYnVnTW9kZUVuYWJsZWQo
KSkpIHsKLSAgICAgICAgICAgICAgICBtX25ldHdvcmtQcm9jZXNzLT5icm9hZGNhc3RDb25zb2xl
TWVzc2FnZShtX3Nlc3Npb25JRCwgTWVzc2FnZVNvdXJjZTo6UHJpdmF0ZUNsaWNrTWVhc3VyZW1l
bnQsIE1lc3NhZ2VMZXZlbDo6TG9nLCBtYWtlU3RyaW5nKCJbUHJpdmF0ZSBDbGljayBNZWFzdXJl
bWVudF0gU2V0dGluZyB0aW1lciBmb3IgZmlyaW5nIGF0dHJpYnV0aW9uIHJlcXVlc3QgdG8gdGhl
IGRlYnVnIG1vZGUgdGltZW91dCBvZiAiX3MsIGRlYnVnTW9kZVNlY29uZHNVbnRpbFNlbmQuc2Vj
b25kcygpLCAiIHNlY29uZHMgd2hlcmUgdGhlIHJlZ3VsYXIgdGltZW91dCB3b3VsZCBoYXZlIGJl
ZW4gIl9zLCBtaW5TZWNvbmRzVW50aWxTZW5kLnZhbHVlKCkuc2Vjb25kcygpLCAiIHNlY29uZHMu
Il9zKSk7CisgICAgICAgICAgICAgICAgbV9jbGllbnQtPmJyb2FkY2FzdENvbnNvbGVNZXNzYWdl
KE1lc3NhZ2VMZXZlbDo6TG9nLCBtYWtlU3RyaW5nKCJbUHJpdmF0ZSBDbGljayBNZWFzdXJlbWVu
dF0gU2V0dGluZyB0aW1lciBmb3IgZmlyaW5nIGF0dHJpYnV0aW9uIHJlcXVlc3QgdG8gdGhlIGRl
YnVnIG1vZGUgdGltZW91dCBvZiAiX3MsIGRlYnVnTW9kZVNlY29uZHNVbnRpbFNlbmQuc2Vjb25k
cygpLCAiIHNlY29uZHMgd2hlcmUgdGhlIHJlZ3VsYXIgdGltZW91dCB3b3VsZCBoYXZlIGJlZW4g
Il9zLCBtaW5TZWNvbmRzVW50aWxTZW5kLnZhbHVlKCkuc2Vjb25kcygpLCAiIHNlY29uZHMuIl9z
KSk7CiAgICAgICAgICAgICAgICAgbWluU2Vjb25kc1VudGlsU2VuZCA9IGRlYnVnTW9kZVNlY29u
ZHNVbnRpbFNlbmQ7CiAgICAgICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgICAgICBtX25ldHdv
cmtQcm9jZXNzLT5icm9hZGNhc3RDb25zb2xlTWVzc2FnZShtX3Nlc3Npb25JRCwgTWVzc2FnZVNv
dXJjZTo6UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQsIE1lc3NhZ2VMZXZlbDo6TG9nLCBtYWtlU3Ry
aW5nKCJbUHJpdmF0ZSBDbGljayBNZWFzdXJlbWVudF0gU2V0dGluZyB0aW1lciBmb3IgZmlyaW5n
IGF0dHJpYnV0aW9uIHJlcXVlc3QgdG8gdGhlIHRpbWVvdXQgb2YgIl9zLCBtaW5TZWNvbmRzVW50
aWxTZW5kLnZhbHVlKCkuc2Vjb25kcygpLCAiIHNlY29uZHMuIl9zKSk7CisgICAgICAgICAgICAg
ICAgbV9jbGllbnQtPmJyb2FkY2FzdENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VMZXZlbDo6TG9nLCBt
YWtlU3RyaW5nKCJbUHJpdmF0ZSBDbGljayBNZWFzdXJlbWVudF0gU2V0dGluZyB0aW1lciBmb3Ig
ZmlyaW5nIGF0dHJpYnV0aW9uIHJlcXVlc3QgdG8gdGhlIHRpbWVvdXQgb2YgIl9zLCBtaW5TZWNv
bmRzVW50aWxTZW5kLnZhbHVlKCkuc2Vjb25kcygpLCAiIHNlY29uZHMuIl9zKSk7CiAKICAgICAg
ICAgICAgIHN0YXJ0VGltZXIoKm1pblNlY29uZHNVbnRpbFNlbmQpOwogICAgICAgICB9CkBAIC0z
NzYsMTQgKzM3MSwxNCBAQCB2b2lkIFByaXZhdGVDbGlja01lYXN1cmVtZW50TWFuYWdlcjo6Zmly
ZUNvbnZlcnNpb25SZXF1ZXN0SW1wbChjb25zdCBQcml2YXRlQ2xpYwogICAgIGF1dG8gbG9hZFBh
cmFtZXRlcnMgPSBnZW5lcmF0ZU5ldHdvcmtMb2FkUGFyYW1ldGVyc0Zvckh0dHBQb3N0KFdURk1v
dmUoYXR0cmlidXRpb25VUkwpLCBhdHRyaWJ1dGlvbi5hdHRyaWJ1dGlvblJlcG9ydEpTT04oKSwg
UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ6OlBjbURhdGFDYXJyaWVkOjpOb25QZXJzb25hbGx5SWRl
bnRpZmlhYmxlLCBkZWJ1Z01vZGVFbmFibGVkKCkpOwogCiAgICAgUkVMRUFTRV9MT0dfSU5GTyhQ
cml2YXRlQ2xpY2tNZWFzdXJlbWVudCwgIkFib3V0IHRvIGZpcmUgYW4gYXR0cmlidXRpb24gcmVx
dWVzdC4iKTsKLSAgICBtX25ldHdvcmtQcm9jZXNzLT5icm9hZGNhc3RDb25zb2xlTWVzc2FnZSht
X3Nlc3Npb25JRCwgTWVzc2FnZVNvdXJjZTo6UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQsIE1lc3Nh
Z2VMZXZlbDo6TG9nLCAiW1ByaXZhdGUgQ2xpY2sgTWVhc3VyZW1lbnRdIEFib3V0IHRvIGZpcmUg
YW4gYXR0cmlidXRpb24gcmVxdWVzdC4iX3MpOworICAgIG1fY2xpZW50LT5icm9hZGNhc3RDb25z
b2xlTWVzc2FnZShNZXNzYWdlTGV2ZWw6OkxvZywgIltQcml2YXRlIENsaWNrIE1lYXN1cmVtZW50
XSBBYm91dCB0byBmaXJlIGFuIGF0dHJpYnV0aW9uIHJlcXVlc3QuIl9zKTsKIAotICAgIG1fbmV0
d29ya0xvYWRGdW5jdGlvbihXVEZNb3ZlKGxvYWRQYXJhbWV0ZXJzKSwgW3dlYWtUaGlzID0gbWFr
ZVdlYWtQdHIoKnRoaXMpLCB0aGlzXShhdXRvJiBlcnJvciwgYXV0byYgcmVzcG9uc2UsIGF1dG8m
KSB7CisgICAgbV9jbGllbnQtPmxvYWRGcm9tTmV0d29yayhXVEZNb3ZlKGxvYWRQYXJhbWV0ZXJz
KSwgW3dlYWtUaGlzID0gbWFrZVdlYWtQdHIoKnRoaXMpLCB0aGlzXShhdXRvJiBlcnJvciwgYXV0
byYgcmVzcG9uc2UsIGF1dG8mKSB7CiAgICAgICAgIGlmICghd2Vha1RoaXMpCiAgICAgICAgICAg
ICByZXR1cm47CiAKICAgICAgICAgaWYgKCFlcnJvci5pc051bGwoKSkgewotICAgICAgICAgICAg
bV9uZXR3b3JrUHJvY2Vzcy0+YnJvYWRjYXN0Q29uc29sZU1lc3NhZ2UobV9zZXNzaW9uSUQsIE1l
c3NhZ2VTb3VyY2U6OlByaXZhdGVDbGlja01lYXN1cmVtZW50LCBNZXNzYWdlTGV2ZWw6OkVycm9y
LCBtYWtlU3RyaW5nKCJbUHJpdmF0ZSBDbGljayBNZWFzdXJlbWVudF0gUmVjZWl2ZWQgZXJyb3I6
ICciX3MsIGVycm9yLmxvY2FsaXplZERlc2NyaXB0aW9uKCksICInIGZvciBhZCBjbGljayBhdHRy
aWJ1dGlvbiByZXF1ZXN0LiJfcykpOworICAgICAgICAgICAgbV9jbGllbnQtPmJyb2FkY2FzdENv
bnNvbGVNZXNzYWdlKE1lc3NhZ2VMZXZlbDo6RXJyb3IsIG1ha2VTdHJpbmcoIltQcml2YXRlIENs
aWNrIE1lYXN1cmVtZW50XSBSZWNlaXZlZCBlcnJvcjogJyJfcywgZXJyb3IubG9jYWxpemVkRGVz
Y3JpcHRpb24oKSwgIicgZm9yIGFkIGNsaWNrIGF0dHJpYnV0aW9uIHJlcXVlc3QuIl9zKSk7CiAg
ICAgICAgIH0KICAgICB9KTsKIH0KQEAgLTUyOSwxMiArNTI0LDEyIEBAIHZvaWQgUHJpdmF0ZUNs
aWNrTWVhc3VyZW1lbnRNYW5hZ2VyOjpzZXRQQ01GcmF1ZFByZXZlbnRpb25WYWx1ZXNGb3JUZXN0
aW5nKFN0cmluCiAKIGJvb2wgUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRNYW5hZ2VyOjpmZWF0dXJl
RW5hYmxlZCgpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIG1fbmV0d29ya1Nlc3Npb24gJiYgbV9uZXR3
b3JrUHJvY2Vzcy0+cHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRFbmFibGVkKCkgJiYgIW1fc2Vzc2lv
bklELmlzRXBoZW1lcmFsKCk7CisgICAgcmV0dXJuIG1fY2xpZW50LT5mZWF0dXJlRW5hYmxlZCgp
OwogfQogCiBib29sIFByaXZhdGVDbGlja01lYXN1cmVtZW50TWFuYWdlcjo6ZGVidWdNb2RlRW5h
YmxlZCgpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIG1fbmV0d29ya1Byb2Nlc3MtPnByaXZhdGVDbGlj
a01lYXN1cmVtZW50RGVidWdNb2RlRW5hYmxlZCgpICYmICFtX3Nlc3Npb25JRC5pc0VwaGVtZXJh
bCgpOworICAgIHJldHVybiBtX2NsaWVudC0+ZGVidWdNb2RlRW5hYmxlZCgpOwogfQogCiB2b2lk
IFByaXZhdGVDbGlja01lYXN1cmVtZW50TWFuYWdlcjo6bWFya0F0dHJpYnV0ZWRQcml2YXRlQ2xp
Y2tNZWFzdXJlbWVudHNBc0V4cGlyZWRGb3JUZXN0aW5nKENvbXBsZXRpb25IYW5kbGVyPHZvaWQo
KT4mJiBjb21wbGV0aW9uSGFuZGxlcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29y
a1Byb2Nlc3MvUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRNYW5hZ2VyLmggYi9Tb3VyY2UvV2ViS2l0
L05ldHdvcmtQcm9jZXNzL1ByaXZhdGVDbGlja01lYXN1cmVtZW50TWFuYWdlci5oCmluZGV4IGIy
OWU4MmI4ZTAyOWFmNTVjMzVmZDNjMjA2MzdiYTk1OWUyMjMwNWMuLmNiYTc3ODNkMTc4N2JlNDM2
NDFlNTMyMjFkMjcyMmEyY2QwYjlmZjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29y
a1Byb2Nlc3MvUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRNYW5hZ2VyLmgKKysrIGIvU291cmNlL1dl
YktpdC9OZXR3b3JrUHJvY2Vzcy9Qcml2YXRlQ2xpY2tNZWFzdXJlbWVudE1hbmFnZXIuaApAQCAt
MjcsNiArMjcsNyBAQAogCiAjaW5jbHVkZSAiTmV0d29ya0xvYWRQYXJhbWV0ZXJzLmgiCiAjaW5j
bHVkZSAiTmV0d29ya1Byb2Nlc3MuaCIKKyNpbmNsdWRlICJQcml2YXRlQ2xpY2tNZWFzdXJlbWVu
dENsaWVudC5oIgogI2luY2x1ZGUgIlByaXZhdGVDbGlja01lYXN1cmVtZW50U3RvcmUuaCIKICNp
bmNsdWRlIDxXZWJDb3JlL1ByaXZhdGVDbGlja01lYXN1cmVtZW50Lmg+CiAjaW5jbHVkZSA8V2Vi
Q29yZS9SZWdpc3RyYWJsZURvbWFpbi5oPgpAQCAtNDksMTEgKzUwLDEwIEBAIHB1YmxpYzoKIAog
ICAgIHVzaW5nIEF0dHJpYnV0aW9uRGVzdGluYXRpb25TaXRlID0gV2ViQ29yZTo6UHJpdmF0ZUNs
aWNrTWVhc3VyZW1lbnQ6OkF0dHJpYnV0aW9uRGVzdGluYXRpb25TaXRlOwogICAgIHVzaW5nIEF0
dHJpYnV0aW9uVHJpZ2dlckRhdGEgPSBXZWJDb3JlOjpQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6
QXR0cmlidXRpb25UcmlnZ2VyRGF0YTsKLSAgICB1c2luZyBOZXR3b3JrTG9hZENhbGxiYWNrID0g
Q29tcGxldGlvbkhhbmRsZXI8dm9pZChjb25zdCBXZWJDb3JlOjpSZXNvdXJjZUVycm9yJiwgY29u
c3QgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSYsIGNvbnN0IFJlZlB0cjxKU09OOjpPYmplY3Q+
Jik+OwogICAgIHVzaW5nIFByaXZhdGVDbGlja01lYXN1cmVtZW50ID0gV2ViQ29yZTo6UHJpdmF0
ZUNsaWNrTWVhc3VyZW1lbnQ7CiAgICAgdXNpbmcgUmVnaXN0cmFibGVEb21haW4gPSBXZWJDb3Jl
OjpSZWdpc3RyYWJsZURvbWFpbjsKICAgICB1c2luZyBTb3VyY2VTaXRlID0gV2ViQ29yZTo6UHJp
dmF0ZUNsaWNrTWVhc3VyZW1lbnQ6OlNvdXJjZVNpdGU7Ci0gICAgZXhwbGljaXQgUHJpdmF0ZUNs
aWNrTWVhc3VyZW1lbnRNYW5hZ2VyKE5ldHdvcmtTZXNzaW9uJiwgTmV0d29ya1Byb2Nlc3MmLCBQ
QUw6OlNlc3Npb25JRCwgY29uc3QgU3RyaW5nJiBzdG9yYWdlRGlyZWN0b3J5LCBGdW5jdGlvbjx2
b2lkKE5ldHdvcmtMb2FkUGFyYW1ldGVycyYmLCBOZXR3b3JrTG9hZENhbGxiYWNrJiYpPiYmKTsK
KyAgICBleHBsaWNpdCBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudE1hbmFnZXIoVW5pcXVlUmVmPFBD
TTo6Q2xpZW50PiYmLCBjb25zdCBTdHJpbmcmIHN0b3JhZ2VEaXJlY3RvcnkpOwogCiAgICAgdm9p
ZCBzdG9yZVVuYXR0cmlidXRlZChQcml2YXRlQ2xpY2tNZWFzdXJlbWVudCYmKTsKICAgICB2b2lk
IGhhbmRsZUF0dHJpYnV0aW9uKEF0dHJpYnV0aW9uVHJpZ2dlckRhdGEmJiwgY29uc3QgVVJMJiBy
ZXF1ZXN0VVJMLCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmIHJlZGlyZWN0UmVxdWVz
dCk7CkBAIC05NCwxMiArOTQsOSBAQCBwcml2YXRlOgogICAgIGJvb2wgbV9pc1J1bm5pbmdFcGhl
bWVyYWxNZWFzdXJlbWVudFRlc3QgeyBmYWxzZSB9OwogICAgIHN0ZDo6b3B0aW9uYWw8VVJMPiBt
X3Rva2VuUHVibGljS2V5VVJMRm9yVGVzdGluZzsKICAgICBzdGQ6Om9wdGlvbmFsPFVSTD4gbV90
b2tlblNpZ25hdHVyZVVSTEZvclRlc3Rpbmc7Ci0gICAgV2Vha1B0cjxOZXR3b3JrU2Vzc2lvbj4g
bV9uZXR3b3JrU2Vzc2lvbjsKLSAgICBSZWY8TmV0d29ya1Byb2Nlc3M+IG1fbmV0d29ya1Byb2Nl
c3M7Ci0gICAgUEFMOjpTZXNzaW9uSUQgbV9zZXNzaW9uSUQ7CiAgICAgbXV0YWJsZSBSZWZQdHI8
UENNOjpTdG9yZT4gbV9zdG9yZTsKICAgICBTdHJpbmcgbV9zdG9yYWdlRGlyZWN0b3J5OwotICAg
IEZ1bmN0aW9uPHZvaWQoTmV0d29ya0xvYWRQYXJhbWV0ZXJzJiYsIE5ldHdvcmtMb2FkQ2FsbGJh
Y2smJik+IG1fbmV0d29ya0xvYWRGdW5jdGlvbjsKKyAgICBVbmlxdWVSZWY8UENNOjpDbGllbnQ+
IG1fY2xpZW50OwogCiAgICAgc3RydWN0IEF0dHJpYnV0aW9uUmVwb3J0VGVzdENvbmZpZyB7CiAg
ICAgICAgIFVSTCBhdHRyaWJ1dGlvblJlcG9ydFNvdXJjZVVSTDsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvU291cmNlcy50eHQgYi9Tb3VyY2UvV2ViS2l0L1NvdXJjZXMudHh0CmluZGV4IDdk
YmFjZDE4YzBjMjE4ZjI4ZDhjZDQ0MDUwMjc4ZTQ4OThkZjFjNWMuLjE5Y2Y5NGQwZDU5YzYyZjkw
OTRlOGY5OGEyMDA3MzY3YzlkZjkzMTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU291cmNl
cy50eHQKKysrIGIvU291cmNlL1dlYktpdC9Tb3VyY2VzLnR4dApAQCAtOTksNiArOTksNyBAQCBO
ZXR3b3JrUHJvY2Vzcy9Eb3dubG9hZHMvUGVuZGluZ0Rvd25sb2FkLmNwcAogTmV0d29ya1Byb2Nl
c3MvSW5kZXhlZERCL1dlYklEQkNvbm5lY3Rpb25Ub0NsaWVudC5jcHAKIE5ldHdvcmtQcm9jZXNz
L0luZGV4ZWREQi9XZWJJREJTZXJ2ZXIuY3BwCiAKK05ldHdvcmtQcm9jZXNzL1ByaXZhdGVDbGlj
a01lYXN1cmVtZW50L1ByaXZhdGVDbGlja01lYXN1cmVtZW50Q2xpZW50SW1wbC5jcHAKIE5ldHdv
cmtQcm9jZXNzL1ByaXZhdGVDbGlja01lYXN1cmVtZW50L1ByaXZhdGVDbGlja01lYXN1cmVtZW50
RGF0YWJhc2UuY3BwCiBOZXR3b3JrUHJvY2Vzcy9Qcml2YXRlQ2xpY2tNZWFzdXJlbWVudC9Qcml2
YXRlQ2xpY2tNZWFzdXJlbWVudERlYnVnSW5mby5jcHAKIE5ldHdvcmtQcm9jZXNzL1ByaXZhdGVD
bGlja01lYXN1cmVtZW50L1ByaXZhdGVDbGlja01lYXN1cmVtZW50U3RvcmUuY3BwCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291
cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA5ZTQxNmVm
Mzc0NDRlNDJlYmU2OGMwZTEwMDI0YmNlY2ZmYjI3Zjg4Li40YzRmYmI4YWQxM2VjYmMwYTJiMzhh
OTI1OGMzYjM5NmQ2Nzc5NDNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oKQEAgLTQ1NTMsNiArNDU1Myw5IEBACiAJCTVDQjdBRkU0MjNDNjdE
NjQwMEU0OUNGMyAvKiBBUElSZXNvdXJjZUxvYWRJbmZvLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IEFQSVJlc291cmNlTG9hZEluZm8uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJNUNCN0FGRTUyM0M2N0RGOTAwRTQ5Q0YzIC8qIF9XS1Jlc291cmNlTG9hZEluZm9J
bnRlcm5hbC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBfV0tSZXNvdXJjZUxv
YWRJbmZvSW50ZXJuYWwuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNUNCN0FGRTYy
M0M2ODFCMDAwRTQ5Q0YzIC8qIFJlc291cmNlTG9hZEluZm8uaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gUmVzb3VyY2VMb2FkSW5mby5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQk1Q0I5MzBCRjI2RTA1NDJFMDAzMkIxQzAgLyogUHJpdmF0ZUNsaWNrTWVhc3VyZW1l
bnRDbGllbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUHJpdmF0ZUNsaWNr
TWVhc3VyZW1lbnRDbGllbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNUNCOTMw
QzAyNkUwNTQyRjAwMzJCMUMwIC8qIFByaXZhdGVDbGlja01lYXN1cmVtZW50Q2xpZW50SW1wbC5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBQcml2YXRlQ2xpY2tNZWFz
dXJlbWVudENsaWVudEltcGwuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1Q0I5
MzBDMTI2RTA1NEI4MDAzMkIxQzAgLyogUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRDbGllbnRJbXBs
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFByaXZhdGVDbGlja01lYXN1cmVt
ZW50Q2xpZW50SW1wbC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1Q0JDOUI4OTFD
NjUyNEE1MDBBOEZEQ0YgLyogTmV0d29ya0RhdGFUYXNrLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IE5ldHdvcmtEYXRhVGFzay5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk1Q0JDOUI4QjFDNjUyNTczMDBBOEZEQ0YgLyogTmV0d29ya0RhdGFUYXNrQ29jb2EubW0g
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBOZXR3b3JrRGF0YVRhc2tD
b2NvYS5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNUNCRTkwOEYyNkQ3RkI2MjAw
NUEyRTk1IC8qIFByaXZhdGVDbGlja01lYXN1cmVtZW50RGVidWdJbmZvLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFByaXZhdGVDbGlja01lYXN1cmVtZW50RGVidWdJbmZvLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC05MjYyLDYgKzkyNjUsOSBAQAogCQk1QzAx
QkMzNTI2RDQ2QUQ0MDBGRUI0MkYgLyogUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQgKi8gPSB7CiAJ
CQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAorCQkJCTVDQjkzMEJGMjZFMDU0MkUw
MDMyQjFDMCAvKiBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudENsaWVudC5oICovLAorCQkJCTVDQjkz
MEMwMjZFMDU0MkYwMDMyQjFDMCAvKiBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudENsaWVudEltcGwu
Y3BwICovLAorCQkJCTVDQjkzMEMxMjZFMDU0QjgwMDMyQjFDMCAvKiBQcml2YXRlQ2xpY2tNZWFz
dXJlbWVudENsaWVudEltcGwuaCAqLywKIAkJCQk1QzgyNkQ2QTI2RDQ4MkVBMDA4QUVDOTEgLyog
UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnREYXRhYmFzZS5jcHAgKi8sCiAJCQkJNUM4MjZENjkyNkQ0
ODJFQTAwOEFFQzkxIC8qIFByaXZhdGVDbGlja01lYXN1cmVtZW50RGF0YWJhc2UuaCAqLywKIAkJ
CQk1Q0JFOTA5MDI2RDdGQjdDMDA1QTJFOTUgLyogUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnREZWJ1
Z0luZm8uY3BwICovLAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>437110</attachid>
            <date>2021-09-01 19:58:21 -0700</date>
            <delta_ts>2021-09-02 11:21:53 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-229789-20210901195820.patch</filename>
            <type>text/plain</type>
            <size>33761</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgxODg2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGI3ZThlMGVmYTU2ODY2MTcy
NDU0Nzk1ODJiNGU3YzdmMzFjOThlOTYuLmZiODc2YWEzYTNiNWYwZjU3MDg5ZmE2YjU1ZjdkY2Mw
ZTNmYjI2OGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzcgQEAKKzIwMjEtMDktMDEgIEFsZXggQ2hy
aXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KKworICAgICAgICBJbnRyb2R1Y2Ug
UENNOjpDbGllbnQgZm9yIFByaXZhdGVDbGlja01lYXN1cmVtZW50TWFuYWdlcgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI5Nzg5CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhpcyBtYWtlcyBpdCBzbyB0
aGF0IFByaXZhdGVDbGlja01lYXN1cmVtZW50TWFuYWdlciBjYW4gcnVuIGluIGVudmlyb25tZW50
cyBvdGhlciB0aGFuIHRoZSBOZXR3b3JrUHJvY2Vzcy4KKworICAgICAgICAqIE5ldHdvcmtQcm9j
ZXNzL05ldHdvcmtTZXNzaW9uLmNwcDoKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1Nlc3Npb246
Ok5ldHdvcmtTZXNzaW9uKToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9Qcml2YXRlQ2xpY2tN
ZWFzdXJlbWVudC9Qcml2YXRlQ2xpY2tNZWFzdXJlbWVudENsaWVudC5oOiBBZGRlZC4KKyAgICAg
ICAgKFdlYktpdDo6UENNOjpDbGllbnQ6On5DbGllbnQpOgorICAgICAgICAqIE5ldHdvcmtQcm9j
ZXNzL1ByaXZhdGVDbGlja01lYXN1cmVtZW50L1ByaXZhdGVDbGlja01lYXN1cmVtZW50Q2xpZW50
SW1wbC5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViS2l0OjpQQ006OkNsaWVudEltcGw6OkNsaWVu
dEltcGwpOgorICAgICAgICAoV2ViS2l0OjpQQ006OkNsaWVudEltcGw6OmxvYWRGcm9tTmV0d29y
ayk6CisgICAgICAgIChXZWJLaXQ6OlBDTTo6Q2xpZW50SW1wbDo6YnJvYWRjYXN0Q29uc29sZU1l
c3NhZ2UpOgorICAgICAgICAoV2ViS2l0OjpQQ006OkNsaWVudEltcGw6OmZlYXR1cmVFbmFibGVk
IGNvbnN0KToKKyAgICAgICAgKFdlYktpdDo6UENNOjpDbGllbnRJbXBsOjpkZWJ1Z01vZGVFbmFi
bGVkIGNvbnN0KToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9Qcml2YXRlQ2xpY2tNZWFzdXJl
bWVudC9Qcml2YXRlQ2xpY2tNZWFzdXJlbWVudENsaWVudEltcGwuaDogQWRkZWQuCisgICAgICAg
ICogTmV0d29ya1Byb2Nlc3MvUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRNYW5hZ2VyLmNwcDoKKyAg
ICAgICAgKFdlYktpdDo6UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRNYW5hZ2VyOjpQcml2YXRlQ2xp
Y2tNZWFzdXJlbWVudE1hbmFnZXIpOgorICAgICAgICAoV2ViS2l0OjpQcml2YXRlQ2xpY2tNZWFz
dXJlbWVudE1hbmFnZXI6OnN0b3JlVW5hdHRyaWJ1dGVkKToKKyAgICAgICAgKFdlYktpdDo6UHJp
dmF0ZUNsaWNrTWVhc3VyZW1lbnRNYW5hZ2VyOjpnZXRUb2tlblB1YmxpY0tleSk6CisgICAgICAg
IChXZWJLaXQ6OlByaXZhdGVDbGlja01lYXN1cmVtZW50TWFuYWdlcjo6Z2V0U2lnbmVkVW5saW5r
YWJsZVRva2VuKToKKyAgICAgICAgKFdlYktpdDo6UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRNYW5h
Z2VyOjpoYW5kbGVBdHRyaWJ1dGlvbik6CisgICAgICAgIChXZWJLaXQ6OlByaXZhdGVDbGlja01l
YXN1cmVtZW50TWFuYWdlcjo6YXR0cmlidXRlKToKKyAgICAgICAgKFdlYktpdDo6UHJpdmF0ZUNs
aWNrTWVhc3VyZW1lbnRNYW5hZ2VyOjpmaXJlQ29udmVyc2lvblJlcXVlc3RJbXBsKToKKyAgICAg
ICAgKFdlYktpdDo6UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRNYW5hZ2VyOjpmZWF0dXJlRW5hYmxl
ZCBjb25zdCk6CisgICAgICAgIChXZWJLaXQ6OlByaXZhdGVDbGlja01lYXN1cmVtZW50TWFuYWdl
cjo6ZGVidWdNb2RlRW5hYmxlZCBjb25zdCk6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvUHJp
dmF0ZUNsaWNrTWVhc3VyZW1lbnRNYW5hZ2VyLmg6CisgICAgICAgICogU291cmNlcy50eHQ6Cisg
ICAgICAgICogV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisKIDIwMjEtMDktMDEg
IEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KIAogICAgICAgICBN
b3ZlIFBDTTo6U3RvcmUgb3duZXJzaGlwIGZyb20gV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0
b3JlIHRvIFByaXZhdGVDbGlja01lYXN1cmVtZW50TWFuYWdlcgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrU2Vzc2lvbi5jcHAgYi9Tb3VyY2UvV2ViS2l0
L05ldHdvcmtQcm9jZXNzL05ldHdvcmtTZXNzaW9uLmNwcAppbmRleCA4YzgyY2MxMjBlYWYwODc4
OWFmNTA1YmYxODk0MjhkY2JkNGQ0MzQ0Li5kMDZkZDJmOWE4MzVhNGI3ZWE3ZDEzYmRlNWIzMmQ5
NzRiYjI3YzM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdv
cmtTZXNzaW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtT
ZXNzaW9uLmNwcApAQCAtMzUsNiArMzUsNyBAQAogI2luY2x1ZGUgIk5ldHdvcmtSZXNvdXJjZUxv
YWRlci5oIgogI2luY2x1ZGUgIk5ldHdvcmtTZXNzaW9uQ3JlYXRpb25QYXJhbWV0ZXJzLmgiCiAj
aW5jbHVkZSAiUGluZ0xvYWQuaCIKKyNpbmNsdWRlICJQcml2YXRlQ2xpY2tNZWFzdXJlbWVudENs
aWVudEltcGwuaCIKICNpbmNsdWRlICJQcml2YXRlQ2xpY2tNZWFzdXJlbWVudE1hbmFnZXIuaCIK
ICNpbmNsdWRlICJXZWJQYWdlUHJveHkuaCIKICNpbmNsdWRlICJXZWJQYWdlUHJveHlNZXNzYWdl
cy5oIgpAQCAtMTM5LDEzICsxNDAsOCBAQCBOZXR3b3JrU2Vzc2lvbjo6TmV0d29ya1Nlc3Npb24o
TmV0d29ya1Byb2Nlc3MmIG5ldHdvcmtQcm9jZXNzLCBjb25zdCBOZXR3b3JrU2VzcwogCiAjaWYg
RU5BQkxFKFJFU09VUkNFX0xPQURfU1RBVElTVElDUykKICAgICBzZXRSZXNvdXJjZUxvYWRTdGF0
aXN0aWNzRW5hYmxlZChwYXJhbWV0ZXJzLnJlc291cmNlTG9hZFN0YXRpc3RpY3NQYXJhbWV0ZXJz
LmVuYWJsZWQpOwotICAgIG1fcHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQgPSBtYWtlVW5pcXVlPFBy
aXZhdGVDbGlja01lYXN1cmVtZW50TWFuYWdlcj4oKnRoaXMsIG5ldHdvcmtQcm9jZXNzLCBwYXJh
bWV0ZXJzLnNlc3Npb25JRCwgcGNtU3RvcmVEaXJlY3RvcnkoKnRoaXMsIHBhcmFtZXRlcnMucmVz
b3VyY2VMb2FkU3RhdGlzdGljc1BhcmFtZXRlcnMuZGlyZWN0b3J5LCBwYXJhbWV0ZXJzLnJlc291
cmNlTG9hZFN0YXRpc3RpY3NQYXJhbWV0ZXJzLnByaXZhdGVDbGlja01lYXN1cmVtZW50U3RvcmFn
ZURpcmVjdG9yeSksIFt3ZWFrVGhpcyA9IG1ha2VXZWFrUHRyKHRoaXMpXSAoYXV0byYmIGxvYWRQ
YXJhbWV0ZXJzLCBhdXRvJiYgY29tcGxldGlvbkhhbmRsZXIpIHsKLSAgICAgICAgaWYgKCF3ZWFr
VGhpcykKLSAgICAgICAgICAgIHJldHVybiBjb21wbGV0aW9uSGFuZGxlcihSZXNvdXJjZUVycm9y
KFJlc291cmNlRXJyb3I6OlR5cGU6OkNhbmNlbGxhdGlvbiksIHsgfSwgeyB9KTsKLQotICAgICAg
ICBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudE5ldHdvcmtMb2FkZXI6OnN0YXJ0KCp3ZWFrVGhpcywg
V1RGTW92ZShsb2FkUGFyYW1ldGVycyksIFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsKLSAg
ICB9KTsKICNlbmRpZgorICAgIG1fcHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQgPSBtYWtlVW5pcXVl
PFByaXZhdGVDbGlja01lYXN1cmVtZW50TWFuYWdlcj4obWFrZVVuaXF1ZVJlZjxQQ006OkNsaWVu
dEltcGw+KCp0aGlzLCBuZXR3b3JrUHJvY2VzcyksIHBjbVN0b3JlRGlyZWN0b3J5KCp0aGlzLCBw
YXJhbWV0ZXJzLnJlc291cmNlTG9hZFN0YXRpc3RpY3NQYXJhbWV0ZXJzLmRpcmVjdG9yeSwgcGFy
YW1ldGVycy5yZXNvdXJjZUxvYWRTdGF0aXN0aWNzUGFyYW1ldGVycy5wcml2YXRlQ2xpY2tNZWFz
dXJlbWVudFN0b3JhZ2VEaXJlY3RvcnkpKTsKIH0KIAogTmV0d29ya1Nlc3Npb246On5OZXR3b3Jr
U2Vzc2lvbigpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1ByaXZh
dGVDbGlja01lYXN1cmVtZW50L1ByaXZhdGVDbGlja01lYXN1cmVtZW50Q2xpZW50LmggYi9Tb3Vy
Y2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1ByaXZhdGVDbGlja01lYXN1cmVtZW50L1ByaXZhdGVD
bGlja01lYXN1cmVtZW50Q2xpZW50LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzY1NjM0Mjg1MmZhOTQ2Yzg1NGJk
OTgzZjY4Mzk4NmUxMTVlMmU0NwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0
d29ya1Byb2Nlc3MvUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQvUHJpdmF0ZUNsaWNrTWVhc3VyZW1l
bnRDbGllbnQuaApAQCAtMCwwICsxLDU3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJ
UycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9S
UworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwor
ICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisg
KiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisK
KyNpbmNsdWRlIDx3dGYvSlNPTlZhbHVlcy5oPgorCituYW1lc3BhY2UgSlNDIHsKK2VudW0gY2xh
c3MgTWVzc2FnZUxldmVsIDogdWludDhfdDsKK30KKworbmFtZXNwYWNlIFdlYkNvcmUgeworY2xh
c3MgUmVzb3VyY2VFcnJvcjsKK2NsYXNzIFJlc291cmNlUmVzcG9uc2U7Cit9CisKK25hbWVzcGFj
ZSBXZWJLaXQgeworCitjbGFzcyBOZXR3b3JrTG9hZFBhcmFtZXRlcnM7CisKK25hbWVzcGFjZSBQ
Q00geworCitjbGFzcyBDbGllbnQgeworcHVibGljOgorICAgIHZpcnR1YWwgfkNsaWVudCgpIHsg
fQorICAgIHVzaW5nIE5ldHdvcmtMb2FkQ2FsbGJhY2sgPSBDb21wbGV0aW9uSGFuZGxlcjx2b2lk
KGNvbnN0IFdlYkNvcmU6OlJlc291cmNlRXJyb3ImLCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJl
c3BvbnNlJiwgY29uc3QgUmVmUHRyPEpTT046Ok9iamVjdD4mKT47CisgICAgdmlydHVhbCB2b2lk
IGxvYWRGcm9tTmV0d29yayhOZXR3b3JrTG9hZFBhcmFtZXRlcnMmJiwgTmV0d29ya0xvYWRDYWxs
YmFjayYmKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIGJyb2FkY2FzdENvbnNvbGVNZXNzYWdlKEpT
Qzo6TWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcmKSA9IDA7CisgICAgdmlydHVhbCBib29sIGZl
YXR1cmVFbmFibGVkKCkgY29uc3QgPSAwOworICAgIHZpcnR1YWwgYm9vbCBkZWJ1Z01vZGVFbmFi
bGVkKCkgY29uc3QgPSAwOworfTsKKworfSAvLyBuYW1lc3BhY2UgUENNCisKK30gLy8gbmFtZXNw
YWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9Qcml2
YXRlQ2xpY2tNZWFzdXJlbWVudC9Qcml2YXRlQ2xpY2tNZWFzdXJlbWVudENsaWVudEltcGwuY3Bw
IGIvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9Qcml2YXRlQ2xpY2tNZWFzdXJlbWVudC9Q
cml2YXRlQ2xpY2tNZWFzdXJlbWVudENsaWVudEltcGwuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjZjYWJmZWM1
YmUyOWQ4NTgwYzg3NzZlNGQzZTgyZDcyZjZmNTYxNmUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1ByaXZhdGVDbGlja01lYXN1cmVtZW50L1ByaXZhdGVD
bGlja01lYXN1cmVtZW50Q2xpZW50SW1wbC5jcHAKQEAgLTAsMCArMSw3MiBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMg
Q09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
CisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisg
KiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQor
ICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICov
CisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJQcml2YXRlQ2xpY2tNZWFzdXJlbWVu
dENsaWVudEltcGwuaCIKKworI2luY2x1ZGUgIk5ldHdvcmtQcm9jZXNzLmgiCisjaW5jbHVkZSAi
TmV0d29ya1Nlc3Npb24uaCIKKworbmFtZXNwYWNlIFdlYktpdCB7CisKK25hbWVzcGFjZSBQQ00g
eworCitDbGllbnRJbXBsOjpDbGllbnRJbXBsKE5ldHdvcmtTZXNzaW9uJiBzZXNzaW9uLCBOZXR3
b3JrUHJvY2VzcyYgbmV0d29ya1Byb2Nlc3MpCisgICAgOiBtX25ldHdvcmtTZXNzaW9uKG1ha2VX
ZWFrUHRyKHNlc3Npb24pKQorICAgICwgbV9uZXR3b3JrUHJvY2VzcyhuZXR3b3JrUHJvY2Vzcykg
eyB9CisKK3ZvaWQgQ2xpZW50SW1wbDo6bG9hZEZyb21OZXR3b3JrKE5ldHdvcmtMb2FkUGFyYW1l
dGVycyYmIGxvYWRQYXJhbWV0ZXJzLCBOZXR3b3JrTG9hZENhbGxiYWNrJiYgY29tcGxldGlvbkhh
bmRsZXIpCit7CisgICAgaWYgKCFtX25ldHdvcmtTZXNzaW9uKQorICAgICAgICByZXR1cm4gY29t
cGxldGlvbkhhbmRsZXIoUmVzb3VyY2VFcnJvcihSZXNvdXJjZUVycm9yOjpUeXBlOjpDYW5jZWxs
YXRpb24pLCB7IH0sIHsgfSk7CisKKyAgICBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudE5ldHdvcmtM
b2FkZXI6OnN0YXJ0KCptX25ldHdvcmtTZXNzaW9uLCBXVEZNb3ZlKGxvYWRQYXJhbWV0ZXJzKSwg
V1RGTW92ZShjb21wbGV0aW9uSGFuZGxlcikpOworfQorCit2b2lkIENsaWVudEltcGw6OmJyb2Fk
Y2FzdENvbnNvbGVNZXNzYWdlKEpTQzo6TWVzc2FnZUxldmVsIG1lc3NhZ2VMZXZlbCwgY29uc3Qg
U3RyaW5nJiBtZXNzYWdlKQoreworICAgIGlmICghbV9uZXR3b3JrU2Vzc2lvbikKKyAgICAgICAg
cmV0dXJuOworCisgICAgbV9uZXR3b3JrUHJvY2Vzcy0+YnJvYWRjYXN0Q29uc29sZU1lc3NhZ2Uo
bV9uZXR3b3JrU2Vzc2lvbi0+c2Vzc2lvbklEKCksIE1lc3NhZ2VTb3VyY2U6OlByaXZhdGVDbGlj
a01lYXN1cmVtZW50LCBtZXNzYWdlTGV2ZWwsIG1lc3NhZ2UpOworfQorCitib29sIENsaWVudElt
cGw6OmZlYXR1cmVFbmFibGVkKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9uZXR3b3JrU2Vzc2lv
bgorICAgICAgICAmJiBtX25ldHdvcmtQcm9jZXNzLT5wcml2YXRlQ2xpY2tNZWFzdXJlbWVudEVu
YWJsZWQoKQorICAgICAgICAmJiAhbV9uZXR3b3JrU2Vzc2lvbi0+c2Vzc2lvbklEKCkuaXNFcGhl
bWVyYWwoKTsKK30KKworYm9vbCBDbGllbnRJbXBsOjpkZWJ1Z01vZGVFbmFibGVkKCkgY29uc3QK
K3sKKyAgICByZXR1cm4gbV9uZXR3b3JrU2Vzc2lvbgorICAgICAgICAmJiBtX25ldHdvcmtQcm9j
ZXNzLT5wcml2YXRlQ2xpY2tNZWFzdXJlbWVudERlYnVnTW9kZUVuYWJsZWQoKQorICAgICAgICAm
JiAhbV9uZXR3b3JrU2Vzc2lvbi0+c2Vzc2lvbklEKCkuaXNFcGhlbWVyYWwoKTsKK30KKworfSAv
LyBuYW1lc3BhY2UgUENNCisKK30gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9Qcml2YXRlQ2xpY2tNZWFzdXJlbWVudC9Qcml2YXRl
Q2xpY2tNZWFzdXJlbWVudENsaWVudEltcGwuaCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nl
c3MvUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQvUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRDbGllbnRJ
bXBsLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uZjE2NjA4YTM1NGU5M2M5YmVjMzc5ZDY5ZTMyZjI5MjIwMmQxM2Y0
NwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvUHJpdmF0
ZUNsaWNrTWVhc3VyZW1lbnQvUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRDbGllbnRJbXBsLmgKQEAg
LTAsMCArMSw1NiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBt
ZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSAiUHJp
dmF0ZUNsaWNrTWVhc3VyZW1lbnRDbGllbnQuaCIKKyNpbmNsdWRlIDxwYWwvU2Vzc2lvbklELmg+
CisjaW5jbHVkZSA8d3RmL0Zhc3RNYWxsb2MuaD4KKworbmFtZXNwYWNlIFdlYktpdCB7CisKK2Ns
YXNzIE5ldHdvcmtTZXNzaW9uOworY2xhc3MgTmV0d29ya1Byb2Nlc3M7CisKK25hbWVzcGFjZSBQ
Q00geworCitjbGFzcyBDbGllbnRJbXBsIDogcHVibGljIENsaWVudCB7CisgICAgV1RGX01BS0Vf
RkFTVF9BTExPQ0FURUQ7CitwdWJsaWM6CisgICAgQ2xpZW50SW1wbChOZXR3b3JrU2Vzc2lvbiYs
IE5ldHdvcmtQcm9jZXNzJik7CisKK3ByaXZhdGU6CisgICAgdm9pZCBsb2FkRnJvbU5ldHdvcmso
TmV0d29ya0xvYWRQYXJhbWV0ZXJzJiYsIE5ldHdvcmtMb2FkQ2FsbGJhY2smJikgZmluYWw7Cisg
ICAgdm9pZCBicm9hZGNhc3RDb25zb2xlTWVzc2FnZShKU0M6Ok1lc3NhZ2VMZXZlbCwgY29uc3Qg
U3RyaW5nJikgZmluYWw7CisgICAgYm9vbCBmZWF0dXJlRW5hYmxlZCgpIGNvbnN0IGZpbmFsOwor
ICAgIGJvb2wgZGVidWdNb2RlRW5hYmxlZCgpIGNvbnN0IGZpbmFsOworCisgICAgV2Vha1B0cjxO
ZXR3b3JrU2Vzc2lvbj4gbV9uZXR3b3JrU2Vzc2lvbjsKKyAgICBSZWY8TmV0d29ya1Byb2Nlc3M+
IG1fbmV0d29ya1Byb2Nlc3M7Cit9OworCit9IC8vIG5hbWVzcGFjZSBQQ00KKworfSAvLyBuYW1l
c3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1By
aXZhdGVDbGlja01lYXN1cmVtZW50TWFuYWdlci5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQ
cm9jZXNzL1ByaXZhdGVDbGlja01lYXN1cmVtZW50TWFuYWdlci5jcHAKaW5kZXggNTYzYzUzZTc4
NWFkNWMyNjU5ZTZiYzgwMWNlODJhMzUyODFjNjEwNS4uMDI3MjUzYTY1ZjdmZjEwMDgxYzFhOGUw
MmJiMDdjMjQ2NWRkYmI2MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vz
cy9Qcml2YXRlQ2xpY2tNZWFzdXJlbWVudE1hbmFnZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQv
TmV0d29ya1Byb2Nlc3MvUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRNYW5hZ2VyLmNwcApAQCAtNTMs
MTYgKzUzLDExIEBAIHVzaW5nIEVwaGVtZXJhbFNvdXJjZU5vbmNlID0gUHJpdmF0ZUNsaWNrTWVh
c3VyZW1lbnQ6OkVwaGVtZXJhbFNvdXJjZU5vbmNlOwogCiBjb25zdGV4cHIgU2Vjb25kcyBkZWJ1
Z01vZGVTZWNvbmRzVW50aWxTZW5kIHsgMTBfcyB9OwogCi1Qcml2YXRlQ2xpY2tNZWFzdXJlbWVu
dE1hbmFnZXI6OlByaXZhdGVDbGlja01lYXN1cmVtZW50TWFuYWdlcihOZXR3b3JrU2Vzc2lvbiYg
bmV0d29ya1Nlc3Npb24sIE5ldHdvcmtQcm9jZXNzJiBuZXR3b3JrUHJvY2VzcywgUEFMOjpTZXNz
aW9uSUQgc2Vzc2lvbklELCBjb25zdCBTdHJpbmcmIHN0b3JhZ2VEaXJlY3RvcnksIEZ1bmN0aW9u
PHZvaWQoTmV0d29ya0xvYWRQYXJhbWV0ZXJzJiYsIE5ldHdvcmtMb2FkQ2FsbGJhY2smJik+JiYg
bmV0d29ya0xvYWRGdW5jdGlvbikKK1ByaXZhdGVDbGlja01lYXN1cmVtZW50TWFuYWdlcjo6UHJp
dmF0ZUNsaWNrTWVhc3VyZW1lbnRNYW5hZ2VyKFVuaXF1ZVJlZjxQQ006OkNsaWVudD4mJiBjbGll
bnQsIGNvbnN0IFN0cmluZyYgc3RvcmFnZURpcmVjdG9yeSkKICAgICA6IG1fZmlyZVBlbmRpbmdB
dHRyaWJ1dGlvblJlcXVlc3RzVGltZXIoKnRoaXMsICZQcml2YXRlQ2xpY2tNZWFzdXJlbWVudE1h
bmFnZXI6OmZpcmVQZW5kaW5nQXR0cmlidXRpb25SZXF1ZXN0cykKLSAgICAsIG1fbmV0d29ya1Nl
c3Npb24obWFrZVdlYWtQdHIobmV0d29ya1Nlc3Npb24pKQotICAgICwgbV9uZXR3b3JrUHJvY2Vz
cyhuZXR3b3JrUHJvY2VzcykKLSAgICAsIG1fc2Vzc2lvbklEKHNlc3Npb25JRCkKICAgICAsIG1f
c3RvcmFnZURpcmVjdG9yeShzdG9yYWdlRGlyZWN0b3J5KQotICAgICwgbV9uZXR3b3JrTG9hZEZ1
bmN0aW9uKFdURk1vdmUobmV0d29ya0xvYWRGdW5jdGlvbikpCisgICAgLCBtX2NsaWVudChXVEZN
b3ZlKGNsaWVudCkpCiB7Ci0gICAgQVNTRVJUKG1fbmV0d29ya0xvYWRGdW5jdGlvbik7Ci0KICAg
ICAvLyBXZSBzaG91bGQgc2VuZCBhbnkgcGVuZGluZyBhdHRyaWJ1dGlvbnMgb24gc2Vzc2lvbi1z
dGFydCBpbiBjYXNlIHRoZWlyCiAgICAgLy8gc2VuZCBkZWxheSBoYXMgZXhwaXJlZCB3aGlsZSB0
aGUgc2Vzc2lvbiB3YXMgY2xvc2VkLiBXYWl0aW5nIDUgc2Vjb25kcyBhY2NvdW50cyBmb3IgdGhl
CiAgICAgLy8gZGVsYXkgaW4gZGF0YWJhc2Ugc3RhcnR1cC4KQEAgLTkyLDcgKzg3LDcgQEAgdm9p
ZCBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudE1hbmFnZXI6OnN0b3JlVW5hdHRyaWJ1dGVkKFByaXZh
dGVDbGlja01lYXN1cmVtZW50JiYKICAgICAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgICAg
IGlmIChhdXRvIGVycm9yTWVzc2FnZSA9IG1lYXN1cmVtZW50LmNhbGN1bGF0ZUFuZFVwZGF0ZVNv
dXJjZVVubGlua2FibGVUb2tlbihwdWJsaWNLZXlCYXNlNjRVUkwpKSB7CiAgICAgICAgICAgICAg
ICAgICAgIFJFTEVBU0VfTE9HX0lORk8oUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQsICJHb3QgdGhl
IGZvbGxvd2luZyBlcnJvciBpbiBjYWxjdWxhdGVBbmRVcGRhdGVTb3VyY2VVbmxpbmthYmxlVG9r
ZW4oKTogJyV7cHVibGljfXMiLCBlcnJvck1lc3NhZ2UtPnV0ZjgoKS5kYXRhKCkpOwotICAgICAg
ICAgICAgICAgICAgICBtX25ldHdvcmtQcm9jZXNzLT5icm9hZGNhc3RDb25zb2xlTWVzc2FnZSht
X3Nlc3Npb25JRCwgTWVzc2FnZVNvdXJjZTo6UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQsIE1lc3Nh
Z2VMZXZlbDo6RXJyb3IsIG1ha2VTdHJpbmcoIltQcml2YXRlIENsaWNrIE1lYXN1cmVtZW50XSAi
X3MsICplcnJvck1lc3NhZ2UpKTsKKyAgICAgICAgICAgICAgICAgICAgbV9jbGllbnQtPmJyb2Fk
Y2FzdENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VMZXZlbDo6RXJyb3IsIG1ha2VTdHJpbmcoIltQcml2
YXRlIENsaWNrIE1lYXN1cmVtZW50XSAiX3MsICplcnJvck1lc3NhZ2UpKTsKICAgICAgICAgICAg
ICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgIH0KQEAgLTEw
Myw3ICs5OCw3IEBAIHZvaWQgUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRNYW5hZ2VyOjpzdG9yZVVu
YXR0cmlidXRlZChQcml2YXRlQ2xpY2tNZWFzdXJlbWVudCYmCiAgICAgICAgIH0pOwogICAgIH0K
IAotICAgIG1fbmV0d29ya1Byb2Nlc3MtPmJyb2FkY2FzdENvbnNvbGVNZXNzYWdlKG1fc2Vzc2lv
bklELCBNZXNzYWdlU291cmNlOjpQcml2YXRlQ2xpY2tNZWFzdXJlbWVudCwgTWVzc2FnZUxldmVs
OjpMb2csICJbUHJpdmF0ZSBDbGljayBNZWFzdXJlbWVudF0gU3RvcmluZyBhIGNsaWNrLiJfcyk7
CisgICAgbV9jbGllbnQtPmJyb2FkY2FzdENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VMZXZlbDo6TG9n
LCAiW1ByaXZhdGUgQ2xpY2sgTWVhc3VyZW1lbnRdIFN0b3JpbmcgYSBjbGljay4iX3MpOwogCiAg
ICAgaW5zZXJ0UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQoV1RGTW92ZShtZWFzdXJlbWVudCksIFBy
aXZhdGVDbGlja01lYXN1cmVtZW50QXR0cmlidXRpb25UeXBlOjpVbmF0dHJpYnV0ZWQpOwogfQpA
QCAtMTU4LDIzICsxNTMsMjMgQEAgdm9pZCBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudE1hbmFnZXI6
OmdldFRva2VuUHVibGljS2V5KFByaXZhdGVDbGlja01lYXN1cmVtZW50JiYKICAgICBhdXRvIGxv
YWRQYXJhbWV0ZXJzID0gZ2VuZXJhdGVOZXR3b3JrTG9hZFBhcmFtZXRlcnNGb3JIdHRwR2V0KFdU
Rk1vdmUodG9rZW5QdWJsaWNLZXlVUkwpLCBwY21EYXRhQ2FycmllZCwgZGVidWdNb2RlRW5hYmxl
ZCgpKTsKIAogICAgIFJFTEVBU0VfTE9HX0lORk8oUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQsICJB
Ym91dCB0byBmaXJlIGEgdG9rZW4gcHVibGljIGtleSByZXF1ZXN0LiIpOwotICAgIG1fbmV0d29y
a1Byb2Nlc3MtPmJyb2FkY2FzdENvbnNvbGVNZXNzYWdlKG1fc2Vzc2lvbklELCBNZXNzYWdlU291
cmNlOjpQcml2YXRlQ2xpY2tNZWFzdXJlbWVudCwgTWVzc2FnZUxldmVsOjpMb2csICJbUHJpdmF0
ZSBDbGljayBNZWFzdXJlbWVudF0gQWJvdXQgdG8gZmlyZSBhIHRva2VuIHB1YmxpYyBrZXkgcmVx
dWVzdC4iX3MpOworICAgIG1fY2xpZW50LT5icm9hZGNhc3RDb25zb2xlTWVzc2FnZShNZXNzYWdl
TGV2ZWw6OkxvZywgIltQcml2YXRlIENsaWNrIE1lYXN1cmVtZW50XSBBYm91dCB0byBmaXJlIGEg
dG9rZW4gcHVibGljIGtleSByZXF1ZXN0LiJfcyk7CiAKLSAgICBtX25ldHdvcmtMb2FkRnVuY3Rp
b24oV1RGTW92ZShsb2FkUGFyYW1ldGVycyksIFt3ZWFrVGhpcyA9IG1ha2VXZWFrUHRyKCp0aGlz
KSwgdGhpcywgYXR0cmlidXRpb24gPSBXVEZNb3ZlKGF0dHJpYnV0aW9uKSwgY2FsbGJhY2sgPSBX
VEZNb3ZlKGNhbGxiYWNrKV0gKGF1dG8mIGVycm9yLCBhdXRvJiByZXNwb25zZSwgYXV0byYganNv
bk9iamVjdCkgbXV0YWJsZSB7CisgICAgbV9jbGllbnQtPmxvYWRGcm9tTmV0d29yayhXVEZNb3Zl
KGxvYWRQYXJhbWV0ZXJzKSwgW3dlYWtUaGlzID0gbWFrZVdlYWtQdHIoKnRoaXMpLCB0aGlzLCBh
dHRyaWJ1dGlvbiA9IFdURk1vdmUoYXR0cmlidXRpb24pLCBjYWxsYmFjayA9IFdURk1vdmUoY2Fs
bGJhY2spXSAoYXV0byYgZXJyb3IsIGF1dG8mIHJlc3BvbnNlLCBhdXRvJiBqc29uT2JqZWN0KSBt
dXRhYmxlIHsKICAgICAgICAgaWYgKCF3ZWFrVGhpcykKICAgICAgICAgICAgIHJldHVybjsKIAog
ICAgICAgICBpZiAoIWVycm9yLmlzTnVsbCgpKSB7Ci0gICAgICAgICAgICBtX25ldHdvcmtQcm9j
ZXNzLT5icm9hZGNhc3RDb25zb2xlTWVzc2FnZShtX3Nlc3Npb25JRCwgTWVzc2FnZVNvdXJjZTo6
UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQsIE1lc3NhZ2VMZXZlbDo6RXJyb3IsIG1ha2VTdHJpbmco
IltQcml2YXRlIENsaWNrIE1lYXN1cmVtZW50XSBSZWNlaXZlZCBlcnJvcjogJyJfcywgZXJyb3Iu
bG9jYWxpemVkRGVzY3JpcHRpb24oKSwgIicgZm9yIHRva2VuIHB1YmxpYyBrZXkgcmVxdWVzdC4i
X3MpKTsKKyAgICAgICAgICAgIG1fY2xpZW50LT5icm9hZGNhc3RDb25zb2xlTWVzc2FnZShNZXNz
YWdlTGV2ZWw6OkVycm9yLCBtYWtlU3RyaW5nKCJbUHJpdmF0ZSBDbGljayBNZWFzdXJlbWVudF0g
UmVjZWl2ZWQgZXJyb3I6ICciX3MsIGVycm9yLmxvY2FsaXplZERlc2NyaXB0aW9uKCksICInIGZv
ciB0b2tlbiBwdWJsaWMga2V5IHJlcXVlc3QuIl9zKSk7CiAgICAgICAgICAgICByZXR1cm47CiAg
ICAgICAgIH0KIAogICAgICAgICBpZiAoIWpzb25PYmplY3QpIHsKLSAgICAgICAgICAgIG1fbmV0
d29ya1Byb2Nlc3MtPmJyb2FkY2FzdENvbnNvbGVNZXNzYWdlKG1fc2Vzc2lvbklELCBNZXNzYWdl
U291cmNlOjpQcml2YXRlQ2xpY2tNZWFzdXJlbWVudCwgTWVzc2FnZUxldmVsOjpFcnJvciwgbWFr
ZVN0cmluZygiW1ByaXZhdGUgQ2xpY2sgTWVhc3VyZW1lbnRdIEpTT04gcmVzcG9uc2UgaXMgZW1w
dHkgZm9yIHRva2VuIHB1YmxpYyBrZXkgcmVxdWVzdC4iX3MpKTsKKyAgICAgICAgICAgIG1fY2xp
ZW50LT5icm9hZGNhc3RDb25zb2xlTWVzc2FnZShNZXNzYWdlTGV2ZWw6OkVycm9yLCBtYWtlU3Ry
aW5nKCJbUHJpdmF0ZSBDbGljayBNZWFzdXJlbWVudF0gSlNPTiByZXNwb25zZSBpcyBlbXB0eSBm
b3IgdG9rZW4gcHVibGljIGtleSByZXF1ZXN0LiJfcykpOwogICAgICAgICAgICAgcmV0dXJuOwog
ICAgICAgICB9CiAKLSAgICAgICAgbV9uZXR3b3JrUHJvY2Vzcy0+YnJvYWRjYXN0Q29uc29sZU1l
c3NhZ2UobV9zZXNzaW9uSUQsIE1lc3NhZ2VTb3VyY2U6OlByaXZhdGVDbGlja01lYXN1cmVtZW50
LCBNZXNzYWdlTGV2ZWw6OkxvZywgbWFrZVN0cmluZygiW1ByaXZhdGUgQ2xpY2sgTWVhc3VyZW1l
bnRdIEdvdCBKU09OIHJlc3BvbnNlIGZvciB0b2tlbiBwdWJsaWMga2V5IHJlcXVlc3QuIl9zKSk7
CisgICAgICAgIG1fY2xpZW50LT5icm9hZGNhc3RDb25zb2xlTWVzc2FnZShNZXNzYWdlTGV2ZWw6
OkxvZywgbWFrZVN0cmluZygiW1ByaXZhdGUgQ2xpY2sgTWVhc3VyZW1lbnRdIEdvdCBKU09OIHJl
c3BvbnNlIGZvciB0b2tlbiBwdWJsaWMga2V5IHJlcXVlc3QuIl9zKSk7CiAKICAgICAgICAgY2Fs
bGJhY2soV1RGTW92ZShhdHRyaWJ1dGlvbiksIGpzb25PYmplY3QtPmdldFN0cmluZygidG9rZW5f
cHVibGljX2tleSJfcykpOwogICAgIH0pOwpAQCAtMjAxLDI1ICsxOTYsMjUgQEAgdm9pZCBQcml2
YXRlQ2xpY2tNZWFzdXJlbWVudE1hbmFnZXI6OmdldFNpZ25lZFVubGlua2FibGVUb2tlbihQcml2
YXRlQ2xpY2tNZWFzdXIKICAgICBhdXRvIGxvYWRQYXJhbWV0ZXJzID0gZ2VuZXJhdGVOZXR3b3Jr
TG9hZFBhcmFtZXRlcnNGb3JIdHRwUG9zdChXVEZNb3ZlKHRva2VuU2lnbmF0dXJlVVJMKSwgbWVh
c3VyZW1lbnQudG9rZW5TaWduYXR1cmVKU09OKCksIHBjbURhdGFDYXJyaWVkLCBkZWJ1Z01vZGVF
bmFibGVkKCkpOwogCiAgICAgUkVMRUFTRV9MT0dfSU5GTyhQcml2YXRlQ2xpY2tNZWFzdXJlbWVu
dCwgIkFib3V0IHRvIGZpcmUgYSB1bmxpbmthYmxlIHRva2VuIHNpZ25pbmcgcmVxdWVzdC4iKTsK
LSAgICBtX25ldHdvcmtQcm9jZXNzLT5icm9hZGNhc3RDb25zb2xlTWVzc2FnZShtX3Nlc3Npb25J
RCwgTWVzc2FnZVNvdXJjZTo6UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQsIE1lc3NhZ2VMZXZlbDo6
TG9nLCAiW1ByaXZhdGUgQ2xpY2sgTWVhc3VyZW1lbnRdIEFib3V0IHRvIGZpcmUgYSB1bmxpbmth
YmxlIHRva2VuIHNpZ25pbmcgcmVxdWVzdC4iX3MpOworICAgIG1fY2xpZW50LT5icm9hZGNhc3RD
b25zb2xlTWVzc2FnZShNZXNzYWdlTGV2ZWw6OkxvZywgIltQcml2YXRlIENsaWNrIE1lYXN1cmVt
ZW50XSBBYm91dCB0byBmaXJlIGEgdW5saW5rYWJsZSB0b2tlbiBzaWduaW5nIHJlcXVlc3QuIl9z
KTsKIAotICAgIG1fbmV0d29ya0xvYWRGdW5jdGlvbihXVEZNb3ZlKGxvYWRQYXJhbWV0ZXJzKSwg
W3dlYWtUaGlzID0gbWFrZVdlYWtQdHIoKnRoaXMpLCB0aGlzLCBtZWFzdXJlbWVudCA9IFdURk1v
dmUobWVhc3VyZW1lbnQpXSAoYXV0byYgZXJyb3IsIGF1dG8mIHJlc3BvbnNlLCBhdXRvJiBqc29u
T2JqZWN0KSBtdXRhYmxlIHsKKyAgICBtX2NsaWVudC0+bG9hZEZyb21OZXR3b3JrKFdURk1vdmUo
bG9hZFBhcmFtZXRlcnMpLCBbd2Vha1RoaXMgPSBtYWtlV2Vha1B0cigqdGhpcyksIHRoaXMsIG1l
YXN1cmVtZW50ID0gV1RGTW92ZShtZWFzdXJlbWVudCldIChhdXRvJiBlcnJvciwgYXV0byYgcmVz
cG9uc2UsIGF1dG8mIGpzb25PYmplY3QpIG11dGFibGUgewogICAgICAgICBpZiAoIXdlYWtUaGlz
KQogICAgICAgICAgICAgcmV0dXJuOwogCiAgICAgICAgIGlmICghZXJyb3IuaXNOdWxsKCkpIHsK
LSAgICAgICAgICAgIG1fbmV0d29ya1Byb2Nlc3MtPmJyb2FkY2FzdENvbnNvbGVNZXNzYWdlKG1f
c2Vzc2lvbklELCBNZXNzYWdlU291cmNlOjpQcml2YXRlQ2xpY2tNZWFzdXJlbWVudCwgTWVzc2Fn
ZUxldmVsOjpFcnJvciwgbWFrZVN0cmluZygiW1ByaXZhdGUgQ2xpY2sgTWVhc3VyZW1lbnRdIFJl
Y2VpdmVkIGVycm9yOiAnIl9zLCBlcnJvci5sb2NhbGl6ZWREZXNjcmlwdGlvbigpLCAiJyBmb3Ig
c2VjcmV0IHRva2VuIHNpZ25pbmcgcmVxdWVzdC4iX3MpKTsKKyAgICAgICAgICAgIG1fY2xpZW50
LT5icm9hZGNhc3RDb25zb2xlTWVzc2FnZShNZXNzYWdlTGV2ZWw6OkVycm9yLCBtYWtlU3RyaW5n
KCJbUHJpdmF0ZSBDbGljayBNZWFzdXJlbWVudF0gUmVjZWl2ZWQgZXJyb3I6ICciX3MsIGVycm9y
LmxvY2FsaXplZERlc2NyaXB0aW9uKCksICInIGZvciBzZWNyZXQgdG9rZW4gc2lnbmluZyByZXF1
ZXN0LiJfcykpOwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CiAKICAgICAgICAgaWYg
KCFqc29uT2JqZWN0KSB7Ci0gICAgICAgICAgICBtX25ldHdvcmtQcm9jZXNzLT5icm9hZGNhc3RD
b25zb2xlTWVzc2FnZShtX3Nlc3Npb25JRCwgTWVzc2FnZVNvdXJjZTo6UHJpdmF0ZUNsaWNrTWVh
c3VyZW1lbnQsIE1lc3NhZ2VMZXZlbDo6RXJyb3IsIG1ha2VTdHJpbmcoIltQcml2YXRlIENsaWNr
IE1lYXN1cmVtZW50XSBKU09OIHJlc3BvbnNlIGlzIGVtcHR5IGZvciB0b2tlbiBzaWduaW5nIHJl
cXVlc3QuIl9zKSk7CisgICAgICAgICAgICBtX2NsaWVudC0+YnJvYWRjYXN0Q29uc29sZU1lc3Nh
Z2UoTWVzc2FnZUxldmVsOjpFcnJvciwgbWFrZVN0cmluZygiW1ByaXZhdGUgQ2xpY2sgTWVhc3Vy
ZW1lbnRdIEpTT04gcmVzcG9uc2UgaXMgZW1wdHkgZm9yIHRva2VuIHNpZ25pbmcgcmVxdWVzdC4i
X3MpKTsKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQogCiAgICAgICAgIGF1dG8gc2ln
bmF0dXJlQmFzZTY0VVJMID0ganNvbk9iamVjdC0+Z2V0U3RyaW5nKCJ1bmxpbmthYmxlX3Rva2Vu
Il9zKTsKICAgICAgICAgaWYgKHNpZ25hdHVyZUJhc2U2NFVSTC5pc0VtcHR5KCkpIHsKLSAgICAg
ICAgICAgIG1fbmV0d29ya1Byb2Nlc3MtPmJyb2FkY2FzdENvbnNvbGVNZXNzYWdlKG1fc2Vzc2lv
bklELCBNZXNzYWdlU291cmNlOjpQcml2YXRlQ2xpY2tNZWFzdXJlbWVudCwgTWVzc2FnZUxldmVs
OjpFcnJvciwgbWFrZVN0cmluZygiW1ByaXZhdGUgQ2xpY2sgTWVhc3VyZW1lbnRdIEpTT04gcmVz
cG9uc2UgZG9lc24ndCBoYXZlIHRoZSBrZXkgJ3VubGlua2FibGVfdG9rZW4nIGZvciB0b2tlbiBz
aWduaW5nIHJlcXVlc3QuIl9zKSk7CisgICAgICAgICAgICBtX2NsaWVudC0+YnJvYWRjYXN0Q29u
c29sZU1lc3NhZ2UoTWVzc2FnZUxldmVsOjpFcnJvciwgbWFrZVN0cmluZygiW1ByaXZhdGUgQ2xp
Y2sgTWVhc3VyZW1lbnRdIEpTT04gcmVzcG9uc2UgZG9lc24ndCBoYXZlIHRoZSBrZXkgJ3VubGlu
a2FibGVfdG9rZW4nIGZvciB0b2tlbiBzaWduaW5nIHJlcXVlc3QuIl9zKSk7CiAgICAgICAgICAg
ICByZXR1cm47CiAgICAgICAgIH0KICAgICAgICAgLy8gRklYIE5PVyEKQEAgLTIyOSwxMyArMjI0
LDEzIEBAIHZvaWQgUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRNYW5hZ2VyOjpnZXRTaWduZWRVbmxp
bmthYmxlVG9rZW4oUHJpdmF0ZUNsaWNrTWVhc3VyCiAgICAgICAgIGVsc2UgewogICAgICAgICAg
ICAgaWYgKGF1dG8gZXJyb3JNZXNzYWdlID0gbWVhc3VyZW1lbnQuY2FsY3VsYXRlQW5kVXBkYXRl
U291cmNlU2VjcmV0VG9rZW4oc2lnbmF0dXJlQmFzZTY0VVJMKSkgewogICAgICAgICAgICAgICAg
IFJFTEVBU0VfTE9HX0lORk8oUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQsICJHb3QgdGhlIGZvbGxv
d2luZyBlcnJvciBpbiBjYWxjdWxhdGVBbmRVcGRhdGVTb3VyY2VTZWNyZXRUb2tlbigpOiAnJXtw
dWJsaWN9cyIsIGVycm9yTWVzc2FnZS0+dXRmOCgpLmRhdGEoKSk7Ci0gICAgICAgICAgICAgICAg
bV9uZXR3b3JrUHJvY2Vzcy0+YnJvYWRjYXN0Q29uc29sZU1lc3NhZ2UobV9zZXNzaW9uSUQsIE1l
c3NhZ2VTb3VyY2U6OlByaXZhdGVDbGlja01lYXN1cmVtZW50LCBNZXNzYWdlTGV2ZWw6OkVycm9y
LCBtYWtlU3RyaW5nKCJbUHJpdmF0ZSBDbGljayBNZWFzdXJlbWVudF0gIl9zLCAqZXJyb3JNZXNz
YWdlKSk7CisgICAgICAgICAgICAgICAgbV9jbGllbnQtPmJyb2FkY2FzdENvbnNvbGVNZXNzYWdl
KE1lc3NhZ2VMZXZlbDo6RXJyb3IsIG1ha2VTdHJpbmcoIltQcml2YXRlIENsaWNrIE1lYXN1cmVt
ZW50XSAiX3MsICplcnJvck1lc3NhZ2UpKTsKICAgICAgICAgICAgICAgICByZXR1cm47CiAgICAg
ICAgICAgICB9CiAgICAgICAgIH0KICNlbmRpZgogCi0gICAgICAgIG1fbmV0d29ya1Byb2Nlc3Mt
PmJyb2FkY2FzdENvbnNvbGVNZXNzYWdlKG1fc2Vzc2lvbklELCBNZXNzYWdlU291cmNlOjpQcml2
YXRlQ2xpY2tNZWFzdXJlbWVudCwgTWVzc2FnZUxldmVsOjpMb2csICJbUHJpdmF0ZSBDbGljayBN
ZWFzdXJlbWVudF0gU3RvcmluZyBhIHNlY3JldCB0b2tlbi4iX3MpOworICAgICAgICBtX2NsaWVu
dC0+YnJvYWRjYXN0Q29uc29sZU1lc3NhZ2UoTWVzc2FnZUxldmVsOjpMb2csICJbUHJpdmF0ZSBD
bGljayBNZWFzdXJlbWVudF0gU3RvcmluZyBhIHNlY3JldCB0b2tlbi4iX3MpOwogCiAgICAgICAg
IGluc2VydFByaXZhdGVDbGlja01lYXN1cmVtZW50KFdURk1vdmUobWVhc3VyZW1lbnQpLCBQcml2
YXRlQ2xpY2tNZWFzdXJlbWVudEF0dHJpYnV0aW9uVHlwZTo6VW5hdHRyaWJ1dGVkKTsKICAgICB9
KTsKQEAgLTI2MiwxNiArMjU3LDE2IEBAIHZvaWQgUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRNYW5h
Z2VyOjpoYW5kbGVBdHRyaWJ1dGlvbihBdHRyaWJ1dGlvblRyaWdnZXJEYXRhJiYKICAgICBhdXRv
JiBmaXJzdFBhcnR5VVJMID0gcmVkaXJlY3RSZXF1ZXN0LmZpcnN0UGFydHlGb3JDb29raWVzKCk7
CiAKICAgICBpZiAoIXJlZGlyZWN0RG9tYWluLm1hdGNoZXMocmVxdWVzdFVSTCkpIHsKLSAgICAg
ICAgbV9uZXR3b3JrUHJvY2Vzcy0+YnJvYWRjYXN0Q29uc29sZU1lc3NhZ2UobV9zZXNzaW9uSUQs
IE1lc3NhZ2VTb3VyY2U6OlByaXZhdGVDbGlja01lYXN1cmVtZW50LCBNZXNzYWdlTGV2ZWw6Oldh
cm5pbmcsICJbUHJpdmF0ZSBDbGljayBNZWFzdXJlbWVudF0gVHJpZ2dlcmluZyBldmVudCB3YXMg
bm90IGFjY2VwdGVkIGJlY2F1c2UgdGhlIEhUVFAgcmVkaXJlY3Qgd2FzIG5vdCBzYW1lLXNpdGUu
Il9zKTsKKyAgICAgICAgbV9jbGllbnQtPmJyb2FkY2FzdENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VM
ZXZlbDo6V2FybmluZywgIltQcml2YXRlIENsaWNrIE1lYXN1cmVtZW50XSBUcmlnZ2VyaW5nIGV2
ZW50IHdhcyBub3QgYWNjZXB0ZWQgYmVjYXVzZSB0aGUgSFRUUCByZWRpcmVjdCB3YXMgbm90IHNh
bWUtc2l0ZS4iX3MpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCiAgICAgaWYgKHJlZGlyZWN0
RG9tYWluLm1hdGNoZXMoZmlyc3RQYXJ0eVVSTCkpIHsKLSAgICAgICAgbV9uZXR3b3JrUHJvY2Vz
cy0+YnJvYWRjYXN0Q29uc29sZU1lc3NhZ2UobV9zZXNzaW9uSUQsIE1lc3NhZ2VTb3VyY2U6OlBy
aXZhdGVDbGlja01lYXN1cmVtZW50LCBNZXNzYWdlTGV2ZWw6Oldhcm5pbmcsICJbUHJpdmF0ZSBD
bGljayBNZWFzdXJlbWVudF0gVHJpZ2dlcmluZyBldmVudCB3YXMgbm90IGFjY2VwdGVkIGJlY2F1
c2UgaXQgd2FzIHJlcXVlc3RlZCBpbiBhbiBIVFRQIHJlZGlyZWN0IHRoYXQgaXMgc2FtZS1zaXRl
IGFzIHRoZSBmaXJzdC1wYXJ0eS4iX3MpOworICAgICAgICBtX2NsaWVudC0+YnJvYWRjYXN0Q29u
c29sZU1lc3NhZ2UoTWVzc2FnZUxldmVsOjpXYXJuaW5nLCAiW1ByaXZhdGUgQ2xpY2sgTWVhc3Vy
ZW1lbnRdIFRyaWdnZXJpbmcgZXZlbnQgd2FzIG5vdCBhY2NlcHRlZCBiZWNhdXNlIGl0IHdhcyBy
ZXF1ZXN0ZWQgaW4gYW4gSFRUUCByZWRpcmVjdCB0aGF0IGlzIHNhbWUtc2l0ZSBhcyB0aGUgZmly
c3QtcGFydHkuIl9zKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIG1fbmV0d29ya1By
b2Nlc3MtPmJyb2FkY2FzdENvbnNvbGVNZXNzYWdlKG1fc2Vzc2lvbklELCBNZXNzYWdlU291cmNl
OjpQcml2YXRlQ2xpY2tNZWFzdXJlbWVudCwgTWVzc2FnZUxldmVsOjpMb2csICJbUHJpdmF0ZSBD
bGljayBNZWFzdXJlbWVudF0gVHJpZ2dlcmluZyBldmVudCBhY2NlcHRlZC4iX3MpOworICAgIG1f
Y2xpZW50LT5icm9hZGNhc3RDb25zb2xlTWVzc2FnZShNZXNzYWdlTGV2ZWw6OkxvZywgIltQcml2
YXRlIENsaWNrIE1lYXN1cmVtZW50XSBUcmlnZ2VyaW5nIGV2ZW50IGFjY2VwdGVkLiJfcyk7CiAK
ICAgICBhdHRyaWJ1dGUoU291cmNlU2l0ZSB7IFdURk1vdmUocmVkaXJlY3REb21haW4pIH0sIEF0
dHJpYnV0aW9uRGVzdGluYXRpb25TaXRlIHsgZmlyc3RQYXJ0eVVSTCB9LCBXVEZNb3ZlKGF0dHJp
YnV0aW9uVHJpZ2dlckRhdGEpKTsKIH0KQEAgLTMwMyw3ICsyOTgsNyBAQCB2b2lkIFByaXZhdGVD
bGlja01lYXN1cmVtZW50TWFuYWdlcjo6YXR0cmlidXRlKGNvbnN0IFNvdXJjZVNpdGUmIHNvdXJj
ZVNpdGUsIGNvbgogCiAgICAgICAgIGlmIChVTkxJS0VMWShkZWJ1Z01vZGVFbmFibGVkKCkpKSB7
CiAgICAgICAgICAgICBmb3IgKGF1dG8mIG1lc3NhZ2UgOiBkZWJ1Z0luZm8ubWVzc2FnZXMpCi0g
ICAgICAgICAgICAgICAgbV9uZXR3b3JrUHJvY2Vzcy0+YnJvYWRjYXN0Q29uc29sZU1lc3NhZ2Uo
bV9zZXNzaW9uSUQsIE1lc3NhZ2VTb3VyY2U6OlByaXZhdGVDbGlja01lYXN1cmVtZW50LCBtZXNz
YWdlLm1lc3NhZ2VMZXZlbCwgbWVzc2FnZS5tZXNzYWdlKTsKKyAgICAgICAgICAgICAgICBtX2Ns
aWVudC0+YnJvYWRjYXN0Q29uc29sZU1lc3NhZ2UobWVzc2FnZS5tZXNzYWdlTGV2ZWwsIG1lc3Nh
Z2UubWVzc2FnZSk7CiAgICAgICAgIH0KIAogICAgICAgICBpZiAoYXR0cmlidXRpb25TZWNvbmRz
VW50aWxTZW5kRGF0YS52YWx1ZSgpLmhhc1ZhbGlkU2Vjb25kc1VudGlsU2VuZFZhbHVlcygpKSB7
CkBAIC0zMTcsMTAgKzMxMiwxMCBAQCB2b2lkIFByaXZhdGVDbGlja01lYXN1cmVtZW50TWFuYWdl
cjo6YXR0cmlidXRlKGNvbnN0IFNvdXJjZVNpdGUmIHNvdXJjZVNpdGUsIGNvbgogICAgICAgICAg
ICAgICAgIHJldHVybjsKIAogICAgICAgICAgICAgaWYgKFVOTElLRUxZKGRlYnVnTW9kZUVuYWJs
ZWQoKSkpIHsKLSAgICAgICAgICAgICAgICBtX25ldHdvcmtQcm9jZXNzLT5icm9hZGNhc3RDb25z
b2xlTWVzc2FnZShtX3Nlc3Npb25JRCwgTWVzc2FnZVNvdXJjZTo6UHJpdmF0ZUNsaWNrTWVhc3Vy
ZW1lbnQsIE1lc3NhZ2VMZXZlbDo6TG9nLCBtYWtlU3RyaW5nKCJbUHJpdmF0ZSBDbGljayBNZWFz
dXJlbWVudF0gU2V0dGluZyB0aW1lciBmb3IgZmlyaW5nIGF0dHJpYnV0aW9uIHJlcXVlc3QgdG8g
dGhlIGRlYnVnIG1vZGUgdGltZW91dCBvZiAiX3MsIGRlYnVnTW9kZVNlY29uZHNVbnRpbFNlbmQu
c2Vjb25kcygpLCAiIHNlY29uZHMgd2hlcmUgdGhlIHJlZ3VsYXIgdGltZW91dCB3b3VsZCBoYXZl
IGJlZW4gIl9zLCBtaW5TZWNvbmRzVW50aWxTZW5kLnZhbHVlKCkuc2Vjb25kcygpLCAiIHNlY29u
ZHMuIl9zKSk7CisgICAgICAgICAgICAgICAgbV9jbGllbnQtPmJyb2FkY2FzdENvbnNvbGVNZXNz
YWdlKE1lc3NhZ2VMZXZlbDo6TG9nLCBtYWtlU3RyaW5nKCJbUHJpdmF0ZSBDbGljayBNZWFzdXJl
bWVudF0gU2V0dGluZyB0aW1lciBmb3IgZmlyaW5nIGF0dHJpYnV0aW9uIHJlcXVlc3QgdG8gdGhl
IGRlYnVnIG1vZGUgdGltZW91dCBvZiAiX3MsIGRlYnVnTW9kZVNlY29uZHNVbnRpbFNlbmQuc2Vj
b25kcygpLCAiIHNlY29uZHMgd2hlcmUgdGhlIHJlZ3VsYXIgdGltZW91dCB3b3VsZCBoYXZlIGJl
ZW4gIl9zLCBtaW5TZWNvbmRzVW50aWxTZW5kLnZhbHVlKCkuc2Vjb25kcygpLCAiIHNlY29uZHMu
Il9zKSk7CiAgICAgICAgICAgICAgICAgbWluU2Vjb25kc1VudGlsU2VuZCA9IGRlYnVnTW9kZVNl
Y29uZHNVbnRpbFNlbmQ7CiAgICAgICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgICAgICBtX25l
dHdvcmtQcm9jZXNzLT5icm9hZGNhc3RDb25zb2xlTWVzc2FnZShtX3Nlc3Npb25JRCwgTWVzc2Fn
ZVNvdXJjZTo6UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQsIE1lc3NhZ2VMZXZlbDo6TG9nLCBtYWtl
U3RyaW5nKCJbUHJpdmF0ZSBDbGljayBNZWFzdXJlbWVudF0gU2V0dGluZyB0aW1lciBmb3IgZmly
aW5nIGF0dHJpYnV0aW9uIHJlcXVlc3QgdG8gdGhlIHRpbWVvdXQgb2YgIl9zLCBtaW5TZWNvbmRz
VW50aWxTZW5kLnZhbHVlKCkuc2Vjb25kcygpLCAiIHNlY29uZHMuIl9zKSk7CisgICAgICAgICAg
ICAgICAgbV9jbGllbnQtPmJyb2FkY2FzdENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VMZXZlbDo6TG9n
LCBtYWtlU3RyaW5nKCJbUHJpdmF0ZSBDbGljayBNZWFzdXJlbWVudF0gU2V0dGluZyB0aW1lciBm
b3IgZmlyaW5nIGF0dHJpYnV0aW9uIHJlcXVlc3QgdG8gdGhlIHRpbWVvdXQgb2YgIl9zLCBtaW5T
ZWNvbmRzVW50aWxTZW5kLnZhbHVlKCkuc2Vjb25kcygpLCAiIHNlY29uZHMuIl9zKSk7CiAKICAg
ICAgICAgICAgIHN0YXJ0VGltZXIoKm1pblNlY29uZHNVbnRpbFNlbmQpOwogICAgICAgICB9CkBA
IC0zNzYsMTQgKzM3MSwxNCBAQCB2b2lkIFByaXZhdGVDbGlja01lYXN1cmVtZW50TWFuYWdlcjo6
ZmlyZUNvbnZlcnNpb25SZXF1ZXN0SW1wbChjb25zdCBQcml2YXRlQ2xpYwogICAgIGF1dG8gbG9h
ZFBhcmFtZXRlcnMgPSBnZW5lcmF0ZU5ldHdvcmtMb2FkUGFyYW1ldGVyc0Zvckh0dHBQb3N0KFdU
Rk1vdmUoYXR0cmlidXRpb25VUkwpLCBhdHRyaWJ1dGlvbi5hdHRyaWJ1dGlvblJlcG9ydEpTT04o
KSwgUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ6OlBjbURhdGFDYXJyaWVkOjpOb25QZXJzb25hbGx5
SWRlbnRpZmlhYmxlLCBkZWJ1Z01vZGVFbmFibGVkKCkpOwogCiAgICAgUkVMRUFTRV9MT0dfSU5G
TyhQcml2YXRlQ2xpY2tNZWFzdXJlbWVudCwgIkFib3V0IHRvIGZpcmUgYW4gYXR0cmlidXRpb24g
cmVxdWVzdC4iKTsKLSAgICBtX25ldHdvcmtQcm9jZXNzLT5icm9hZGNhc3RDb25zb2xlTWVzc2Fn
ZShtX3Nlc3Npb25JRCwgTWVzc2FnZVNvdXJjZTo6UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQsIE1l
c3NhZ2VMZXZlbDo6TG9nLCAiW1ByaXZhdGUgQ2xpY2sgTWVhc3VyZW1lbnRdIEFib3V0IHRvIGZp
cmUgYW4gYXR0cmlidXRpb24gcmVxdWVzdC4iX3MpOworICAgIG1fY2xpZW50LT5icm9hZGNhc3RD
b25zb2xlTWVzc2FnZShNZXNzYWdlTGV2ZWw6OkxvZywgIltQcml2YXRlIENsaWNrIE1lYXN1cmVt
ZW50XSBBYm91dCB0byBmaXJlIGFuIGF0dHJpYnV0aW9uIHJlcXVlc3QuIl9zKTsKIAotICAgIG1f
bmV0d29ya0xvYWRGdW5jdGlvbihXVEZNb3ZlKGxvYWRQYXJhbWV0ZXJzKSwgW3dlYWtUaGlzID0g
bWFrZVdlYWtQdHIoKnRoaXMpLCB0aGlzXShhdXRvJiBlcnJvciwgYXV0byYgcmVzcG9uc2UsIGF1
dG8mKSB7CisgICAgbV9jbGllbnQtPmxvYWRGcm9tTmV0d29yayhXVEZNb3ZlKGxvYWRQYXJhbWV0
ZXJzKSwgW3dlYWtUaGlzID0gbWFrZVdlYWtQdHIoKnRoaXMpLCB0aGlzXShhdXRvJiBlcnJvciwg
YXV0byYgcmVzcG9uc2UsIGF1dG8mKSB7CiAgICAgICAgIGlmICghd2Vha1RoaXMpCiAgICAgICAg
ICAgICByZXR1cm47CiAKICAgICAgICAgaWYgKCFlcnJvci5pc051bGwoKSkgewotICAgICAgICAg
ICAgbV9uZXR3b3JrUHJvY2Vzcy0+YnJvYWRjYXN0Q29uc29sZU1lc3NhZ2UobV9zZXNzaW9uSUQs
IE1lc3NhZ2VTb3VyY2U6OlByaXZhdGVDbGlja01lYXN1cmVtZW50LCBNZXNzYWdlTGV2ZWw6OkVy
cm9yLCBtYWtlU3RyaW5nKCJbUHJpdmF0ZSBDbGljayBNZWFzdXJlbWVudF0gUmVjZWl2ZWQgZXJy
b3I6ICciX3MsIGVycm9yLmxvY2FsaXplZERlc2NyaXB0aW9uKCksICInIGZvciBhZCBjbGljayBh
dHRyaWJ1dGlvbiByZXF1ZXN0LiJfcykpOworICAgICAgICAgICAgbV9jbGllbnQtPmJyb2FkY2Fz
dENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VMZXZlbDo6RXJyb3IsIG1ha2VTdHJpbmcoIltQcml2YXRl
IENsaWNrIE1lYXN1cmVtZW50XSBSZWNlaXZlZCBlcnJvcjogJyJfcywgZXJyb3IubG9jYWxpemVk
RGVzY3JpcHRpb24oKSwgIicgZm9yIGFkIGNsaWNrIGF0dHJpYnV0aW9uIHJlcXVlc3QuIl9zKSk7
CiAgICAgICAgIH0KICAgICB9KTsKIH0KQEAgLTUyOSwxMiArNTI0LDEyIEBAIHZvaWQgUHJpdmF0
ZUNsaWNrTWVhc3VyZW1lbnRNYW5hZ2VyOjpzZXRQQ01GcmF1ZFByZXZlbnRpb25WYWx1ZXNGb3JU
ZXN0aW5nKFN0cmluCiAKIGJvb2wgUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRNYW5hZ2VyOjpmZWF0
dXJlRW5hYmxlZCgpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIG1fbmV0d29ya1Nlc3Npb24gJiYgbV9u
ZXR3b3JrUHJvY2Vzcy0+cHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRFbmFibGVkKCkgJiYgIW1fc2Vz
c2lvbklELmlzRXBoZW1lcmFsKCk7CisgICAgcmV0dXJuIG1fY2xpZW50LT5mZWF0dXJlRW5hYmxl
ZCgpOwogfQogCiBib29sIFByaXZhdGVDbGlja01lYXN1cmVtZW50TWFuYWdlcjo6ZGVidWdNb2Rl
RW5hYmxlZCgpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIG1fbmV0d29ya1Byb2Nlc3MtPnByaXZhdGVD
bGlja01lYXN1cmVtZW50RGVidWdNb2RlRW5hYmxlZCgpICYmICFtX3Nlc3Npb25JRC5pc0VwaGVt
ZXJhbCgpOworICAgIHJldHVybiBtX2NsaWVudC0+ZGVidWdNb2RlRW5hYmxlZCgpOwogfQogCiB2
b2lkIFByaXZhdGVDbGlja01lYXN1cmVtZW50TWFuYWdlcjo6bWFya0F0dHJpYnV0ZWRQcml2YXRl
Q2xpY2tNZWFzdXJlbWVudHNBc0V4cGlyZWRGb3JUZXN0aW5nKENvbXBsZXRpb25IYW5kbGVyPHZv
aWQoKT4mJiBjb21wbGV0aW9uSGFuZGxlcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0
d29ya1Byb2Nlc3MvUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRNYW5hZ2VyLmggYi9Tb3VyY2UvV2Vi
S2l0L05ldHdvcmtQcm9jZXNzL1ByaXZhdGVDbGlja01lYXN1cmVtZW50TWFuYWdlci5oCmluZGV4
IGIyOWU4MmI4ZTAyOWFmNTVjMzVmZDNjMjA2MzdiYTk1OWUyMjMwNWMuLmNiYTc3ODNkMTc4N2Jl
NDM2NDFlNTMyMjFkMjcyMmEyY2QwYjlmZjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0
d29ya1Byb2Nlc3MvUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRNYW5hZ2VyLmgKKysrIGIvU291cmNl
L1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9Qcml2YXRlQ2xpY2tNZWFzdXJlbWVudE1hbmFnZXIuaApA
QCAtMjcsNiArMjcsNyBAQAogCiAjaW5jbHVkZSAiTmV0d29ya0xvYWRQYXJhbWV0ZXJzLmgiCiAj
aW5jbHVkZSAiTmV0d29ya1Byb2Nlc3MuaCIKKyNpbmNsdWRlICJQcml2YXRlQ2xpY2tNZWFzdXJl
bWVudENsaWVudC5oIgogI2luY2x1ZGUgIlByaXZhdGVDbGlja01lYXN1cmVtZW50U3RvcmUuaCIK
ICNpbmNsdWRlIDxXZWJDb3JlL1ByaXZhdGVDbGlja01lYXN1cmVtZW50Lmg+CiAjaW5jbHVkZSA8
V2ViQ29yZS9SZWdpc3RyYWJsZURvbWFpbi5oPgpAQCAtNDksMTEgKzUwLDEwIEBAIHB1YmxpYzoK
IAogICAgIHVzaW5nIEF0dHJpYnV0aW9uRGVzdGluYXRpb25TaXRlID0gV2ViQ29yZTo6UHJpdmF0
ZUNsaWNrTWVhc3VyZW1lbnQ6OkF0dHJpYnV0aW9uRGVzdGluYXRpb25TaXRlOwogICAgIHVzaW5n
IEF0dHJpYnV0aW9uVHJpZ2dlckRhdGEgPSBXZWJDb3JlOjpQcml2YXRlQ2xpY2tNZWFzdXJlbWVu
dDo6QXR0cmlidXRpb25UcmlnZ2VyRGF0YTsKLSAgICB1c2luZyBOZXR3b3JrTG9hZENhbGxiYWNr
ID0gQ29tcGxldGlvbkhhbmRsZXI8dm9pZChjb25zdCBXZWJDb3JlOjpSZXNvdXJjZUVycm9yJiwg
Y29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSYsIGNvbnN0IFJlZlB0cjxKU09OOjpPYmpl
Y3Q+Jik+OwogICAgIHVzaW5nIFByaXZhdGVDbGlja01lYXN1cmVtZW50ID0gV2ViQ29yZTo6UHJp
dmF0ZUNsaWNrTWVhc3VyZW1lbnQ7CiAgICAgdXNpbmcgUmVnaXN0cmFibGVEb21haW4gPSBXZWJD
b3JlOjpSZWdpc3RyYWJsZURvbWFpbjsKICAgICB1c2luZyBTb3VyY2VTaXRlID0gV2ViQ29yZTo6
UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ6OlNvdXJjZVNpdGU7Ci0gICAgZXhwbGljaXQgUHJpdmF0
ZUNsaWNrTWVhc3VyZW1lbnRNYW5hZ2VyKE5ldHdvcmtTZXNzaW9uJiwgTmV0d29ya1Byb2Nlc3Mm
LCBQQUw6OlNlc3Npb25JRCwgY29uc3QgU3RyaW5nJiBzdG9yYWdlRGlyZWN0b3J5LCBGdW5jdGlv
bjx2b2lkKE5ldHdvcmtMb2FkUGFyYW1ldGVycyYmLCBOZXR3b3JrTG9hZENhbGxiYWNrJiYpPiYm
KTsKKyAgICBleHBsaWNpdCBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudE1hbmFnZXIoVW5pcXVlUmVm
PFBDTTo6Q2xpZW50PiYmLCBjb25zdCBTdHJpbmcmIHN0b3JhZ2VEaXJlY3RvcnkpOwogCiAgICAg
dm9pZCBzdG9yZVVuYXR0cmlidXRlZChQcml2YXRlQ2xpY2tNZWFzdXJlbWVudCYmKTsKICAgICB2
b2lkIGhhbmRsZUF0dHJpYnV0aW9uKEF0dHJpYnV0aW9uVHJpZ2dlckRhdGEmJiwgY29uc3QgVVJM
JiByZXF1ZXN0VVJMLCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmIHJlZGlyZWN0UmVx
dWVzdCk7CkBAIC05NCwxMiArOTQsOSBAQCBwcml2YXRlOgogICAgIGJvb2wgbV9pc1J1bm5pbmdF
cGhlbWVyYWxNZWFzdXJlbWVudFRlc3QgeyBmYWxzZSB9OwogICAgIHN0ZDo6b3B0aW9uYWw8VVJM
PiBtX3Rva2VuUHVibGljS2V5VVJMRm9yVGVzdGluZzsKICAgICBzdGQ6Om9wdGlvbmFsPFVSTD4g
bV90b2tlblNpZ25hdHVyZVVSTEZvclRlc3Rpbmc7Ci0gICAgV2Vha1B0cjxOZXR3b3JrU2Vzc2lv
bj4gbV9uZXR3b3JrU2Vzc2lvbjsKLSAgICBSZWY8TmV0d29ya1Byb2Nlc3M+IG1fbmV0d29ya1By
b2Nlc3M7Ci0gICAgUEFMOjpTZXNzaW9uSUQgbV9zZXNzaW9uSUQ7CiAgICAgbXV0YWJsZSBSZWZQ
dHI8UENNOjpTdG9yZT4gbV9zdG9yZTsKICAgICBTdHJpbmcgbV9zdG9yYWdlRGlyZWN0b3J5Owot
ICAgIEZ1bmN0aW9uPHZvaWQoTmV0d29ya0xvYWRQYXJhbWV0ZXJzJiYsIE5ldHdvcmtMb2FkQ2Fs
bGJhY2smJik+IG1fbmV0d29ya0xvYWRGdW5jdGlvbjsKKyAgICBVbmlxdWVSZWY8UENNOjpDbGll
bnQ+IG1fY2xpZW50OwogCiAgICAgc3RydWN0IEF0dHJpYnV0aW9uUmVwb3J0VGVzdENvbmZpZyB7
CiAgICAgICAgIFVSTCBhdHRyaWJ1dGlvblJlcG9ydFNvdXJjZVVSTDsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvU291cmNlcy50eHQgYi9Tb3VyY2UvV2ViS2l0L1NvdXJjZXMudHh0CmluZGV4
IDdkYmFjZDE4YzBjMjE4ZjI4ZDhjZDQ0MDUwMjc4ZTQ4OThkZjFjNWMuLjE5Y2Y5NGQwZDU5YzYy
ZjkwOTRlOGY5OGEyMDA3MzY3YzlkZjkzMTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU291
cmNlcy50eHQKKysrIGIvU291cmNlL1dlYktpdC9Tb3VyY2VzLnR4dApAQCAtOTksNiArOTksNyBA
QCBOZXR3b3JrUHJvY2Vzcy9Eb3dubG9hZHMvUGVuZGluZ0Rvd25sb2FkLmNwcAogTmV0d29ya1By
b2Nlc3MvSW5kZXhlZERCL1dlYklEQkNvbm5lY3Rpb25Ub0NsaWVudC5jcHAKIE5ldHdvcmtQcm9j
ZXNzL0luZGV4ZWREQi9XZWJJREJTZXJ2ZXIuY3BwCiAKK05ldHdvcmtQcm9jZXNzL1ByaXZhdGVD
bGlja01lYXN1cmVtZW50L1ByaXZhdGVDbGlja01lYXN1cmVtZW50Q2xpZW50SW1wbC5jcHAKIE5l
dHdvcmtQcm9jZXNzL1ByaXZhdGVDbGlja01lYXN1cmVtZW50L1ByaXZhdGVDbGlja01lYXN1cmVt
ZW50RGF0YWJhc2UuY3BwCiBOZXR3b3JrUHJvY2Vzcy9Qcml2YXRlQ2xpY2tNZWFzdXJlbWVudC9Q
cml2YXRlQ2xpY2tNZWFzdXJlbWVudERlYnVnSW5mby5jcHAKIE5ldHdvcmtQcm9jZXNzL1ByaXZh
dGVDbGlja01lYXN1cmVtZW50L1ByaXZhdGVDbGlja01lYXN1cmVtZW50U3RvcmUuY3BwCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIv
U291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA5ZTQx
NmVmMzc0NDRlNDJlYmU2OGMwZTEwMDI0YmNlY2ZmYjI3Zjg4Li40YzRmYmI4YWQxM2VjYmMwYTJi
MzhhOTI1OGMzYjM5NmQ2Nzc5NDNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYktpdC54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTQ1NTMsNiArNDU1Myw5IEBACiAJCTVDQjdBRkU0MjND
NjdENjQwMEU0OUNGMyAvKiBBUElSZXNvdXJjZUxvYWRJbmZvLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IEFQSVJlc291cmNlTG9hZEluZm8uaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJNUNCN0FGRTUyM0M2N0RGOTAwRTQ5Q0YzIC8qIF9XS1Jlc291cmNlTG9hZElu
Zm9JbnRlcm5hbC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBfV0tSZXNvdXJj
ZUxvYWRJbmZvSW50ZXJuYWwuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNUNCN0FG
RTYyM0M2ODFCMDAwRTQ5Q0YzIC8qIFJlc291cmNlTG9hZEluZm8uaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gUmVzb3VyY2VMb2FkSW5mby5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQk1Q0I5MzBCRjI2RTA1NDJFMDAzMkIxQzAgLyogUHJpdmF0ZUNsaWNrTWVhc3Vy
ZW1lbnRDbGllbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUHJpdmF0ZUNs
aWNrTWVhc3VyZW1lbnRDbGllbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNUNC
OTMwQzAyNkUwNTQyRjAwMzJCMUMwIC8qIFByaXZhdGVDbGlja01lYXN1cmVtZW50Q2xpZW50SW1w
bC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBQcml2YXRlQ2xpY2tN
ZWFzdXJlbWVudENsaWVudEltcGwuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1
Q0I5MzBDMTI2RTA1NEI4MDAzMkIxQzAgLyogUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRDbGllbnRJ
bXBsLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFByaXZhdGVDbGlja01lYXN1
cmVtZW50Q2xpZW50SW1wbC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1Q0JDOUI4
OTFDNjUyNEE1MDBBOEZEQ0YgLyogTmV0d29ya0RhdGFUYXNrLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IE5ldHdvcmtEYXRhVGFzay5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQk1Q0JDOUI4QjFDNjUyNTczMDBBOEZEQ0YgLyogTmV0d29ya0RhdGFUYXNrQ29jb2Eu
bW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBOZXR3b3JrRGF0YVRh
c2tDb2NvYS5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNUNCRTkwOEYyNkQ3RkI2
MjAwNUEyRTk1IC8qIFByaXZhdGVDbGlja01lYXN1cmVtZW50RGVidWdJbmZvLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFByaXZhdGVDbGlja01lYXN1cmVtZW50RGVidWdJbmZv
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC05MjYyLDYgKzkyNjUsOSBAQAogCQk1
QzAxQkMzNTI2RDQ2QUQ0MDBGRUI0MkYgLyogUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQgKi8gPSB7
CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAorCQkJCTVDQjkzMEJGMjZFMDU0
MkUwMDMyQjFDMCAvKiBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudENsaWVudC5oICovLAorCQkJCTVD
QjkzMEMwMjZFMDU0MkYwMDMyQjFDMCAvKiBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudENsaWVudElt
cGwuY3BwICovLAorCQkJCTVDQjkzMEMxMjZFMDU0QjgwMDMyQjFDMCAvKiBQcml2YXRlQ2xpY2tN
ZWFzdXJlbWVudENsaWVudEltcGwuaCAqLywKIAkJCQk1QzgyNkQ2QTI2RDQ4MkVBMDA4QUVDOTEg
LyogUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnREYXRhYmFzZS5jcHAgKi8sCiAJCQkJNUM4MjZENjky
NkQ0ODJFQTAwOEFFQzkxIC8qIFByaXZhdGVDbGlja01lYXN1cmVtZW50RGF0YWJhc2UuaCAqLywK
IAkJCQk1Q0JFOTA5MDI2RDdGQjdDMDA1QTJFOTUgLyogUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRE
ZWJ1Z0luZm8uY3BwICovLAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>437171</attachid>
            <date>2021-09-02 11:21:54 -0700</date>
            <delta_ts>2021-09-02 11:57:41 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-229789-20210902112154.patch</filename>
            <type>text/plain</type>
            <size>33758</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjgxODg2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGI3ZThlMGVmYTU2ODY2MTcy
NDU0Nzk1ODJiNGU3YzdmMzFjOThlOTYuLjQwZDRhZjBiMjhmMzEzMTk4YjY0NGIyYzA1YWZmY2Q1
ZTk2MzMzYWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzcgQEAKKzIwMjEtMDktMDIgIEFsZXggQ2hy
aXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KKworICAgICAgICBJbnRyb2R1Y2Ug
UENNOjpDbGllbnQgZm9yIFByaXZhdGVDbGlja01lYXN1cmVtZW50TWFuYWdlcgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjI5Nzg5CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgS2F0ZSBDaGVuZXkuCisKKyAgICAgICAgVGhpcyBtYWtlcyBpdCBzbyB0aGF0
IFByaXZhdGVDbGlja01lYXN1cmVtZW50TWFuYWdlciBjYW4gcnVuIGluIGVudmlyb25tZW50cyBv
dGhlciB0aGFuIHRoZSBOZXR3b3JrUHJvY2Vzcy4KKworICAgICAgICAqIE5ldHdvcmtQcm9jZXNz
L05ldHdvcmtTZXNzaW9uLmNwcDoKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1Nlc3Npb246Ok5l
dHdvcmtTZXNzaW9uKToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9Qcml2YXRlQ2xpY2tNZWFz
dXJlbWVudC9Qcml2YXRlQ2xpY2tNZWFzdXJlbWVudENsaWVudC5oOiBBZGRlZC4KKyAgICAgICAg
KFdlYktpdDo6UENNOjpDbGllbnQ6On5DbGllbnQpOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNz
L1ByaXZhdGVDbGlja01lYXN1cmVtZW50L1ByaXZhdGVDbGlja01lYXN1cmVtZW50Q2xpZW50SW1w
bC5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViS2l0OjpQQ006OkNsaWVudEltcGw6OkNsaWVudElt
cGwpOgorICAgICAgICAoV2ViS2l0OjpQQ006OkNsaWVudEltcGw6OmxvYWRGcm9tTmV0d29yayk6
CisgICAgICAgIChXZWJLaXQ6OlBDTTo6Q2xpZW50SW1wbDo6YnJvYWRjYXN0Q29uc29sZU1lc3Nh
Z2UpOgorICAgICAgICAoV2ViS2l0OjpQQ006OkNsaWVudEltcGw6OmZlYXR1cmVFbmFibGVkIGNv
bnN0KToKKyAgICAgICAgKFdlYktpdDo6UENNOjpDbGllbnRJbXBsOjpkZWJ1Z01vZGVFbmFibGVk
IGNvbnN0KToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9Qcml2YXRlQ2xpY2tNZWFzdXJlbWVu
dC9Qcml2YXRlQ2xpY2tNZWFzdXJlbWVudENsaWVudEltcGwuaDogQWRkZWQuCisgICAgICAgICog
TmV0d29ya1Byb2Nlc3MvUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRNYW5hZ2VyLmNwcDoKKyAgICAg
ICAgKFdlYktpdDo6UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRNYW5hZ2VyOjpQcml2YXRlQ2xpY2tN
ZWFzdXJlbWVudE1hbmFnZXIpOgorICAgICAgICAoV2ViS2l0OjpQcml2YXRlQ2xpY2tNZWFzdXJl
bWVudE1hbmFnZXI6OnN0b3JlVW5hdHRyaWJ1dGVkKToKKyAgICAgICAgKFdlYktpdDo6UHJpdmF0
ZUNsaWNrTWVhc3VyZW1lbnRNYW5hZ2VyOjpnZXRUb2tlblB1YmxpY0tleSk6CisgICAgICAgIChX
ZWJLaXQ6OlByaXZhdGVDbGlja01lYXN1cmVtZW50TWFuYWdlcjo6Z2V0U2lnbmVkVW5saW5rYWJs
ZVRva2VuKToKKyAgICAgICAgKFdlYktpdDo6UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRNYW5hZ2Vy
OjpoYW5kbGVBdHRyaWJ1dGlvbik6CisgICAgICAgIChXZWJLaXQ6OlByaXZhdGVDbGlja01lYXN1
cmVtZW50TWFuYWdlcjo6YXR0cmlidXRlKToKKyAgICAgICAgKFdlYktpdDo6UHJpdmF0ZUNsaWNr
TWVhc3VyZW1lbnRNYW5hZ2VyOjpmaXJlQ29udmVyc2lvblJlcXVlc3RJbXBsKToKKyAgICAgICAg
KFdlYktpdDo6UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRNYW5hZ2VyOjpmZWF0dXJlRW5hYmxlZCBj
b25zdCk6CisgICAgICAgIChXZWJLaXQ6OlByaXZhdGVDbGlja01lYXN1cmVtZW50TWFuYWdlcjo6
ZGVidWdNb2RlRW5hYmxlZCBjb25zdCk6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvUHJpdmF0
ZUNsaWNrTWVhc3VyZW1lbnRNYW5hZ2VyLmg6CisgICAgICAgICogU291cmNlcy50eHQ6CisgICAg
ICAgICogV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisKIDIwMjEtMDktMDEgIEFs
ZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KIAogICAgICAgICBNb3Zl
IFBDTTo6U3RvcmUgb3duZXJzaGlwIGZyb20gV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3Jl
IHRvIFByaXZhdGVDbGlja01lYXN1cmVtZW50TWFuYWdlcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdC9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrU2Vzc2lvbi5jcHAgYi9Tb3VyY2UvV2ViS2l0L05l
dHdvcmtQcm9jZXNzL05ldHdvcmtTZXNzaW9uLmNwcAppbmRleCA4YzgyY2MxMjBlYWYwODc4OWFm
NTA1YmYxODk0MjhkY2JkNGQ0MzQ0Li5kMDZkZDJmOWE4MzVhNGI3ZWE3ZDEzYmRlNWIzMmQ5NzRi
YjI3YzM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtT
ZXNzaW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL05ldHdvcmtTZXNz
aW9uLmNwcApAQCAtMzUsNiArMzUsNyBAQAogI2luY2x1ZGUgIk5ldHdvcmtSZXNvdXJjZUxvYWRl
ci5oIgogI2luY2x1ZGUgIk5ldHdvcmtTZXNzaW9uQ3JlYXRpb25QYXJhbWV0ZXJzLmgiCiAjaW5j
bHVkZSAiUGluZ0xvYWQuaCIKKyNpbmNsdWRlICJQcml2YXRlQ2xpY2tNZWFzdXJlbWVudENsaWVu
dEltcGwuaCIKICNpbmNsdWRlICJQcml2YXRlQ2xpY2tNZWFzdXJlbWVudE1hbmFnZXIuaCIKICNp
bmNsdWRlICJXZWJQYWdlUHJveHkuaCIKICNpbmNsdWRlICJXZWJQYWdlUHJveHlNZXNzYWdlcy5o
IgpAQCAtMTM5LDEzICsxNDAsOCBAQCBOZXR3b3JrU2Vzc2lvbjo6TmV0d29ya1Nlc3Npb24oTmV0
d29ya1Byb2Nlc3MmIG5ldHdvcmtQcm9jZXNzLCBjb25zdCBOZXR3b3JrU2VzcwogCiAjaWYgRU5B
QkxFKFJFU09VUkNFX0xPQURfU1RBVElTVElDUykKICAgICBzZXRSZXNvdXJjZUxvYWRTdGF0aXN0
aWNzRW5hYmxlZChwYXJhbWV0ZXJzLnJlc291cmNlTG9hZFN0YXRpc3RpY3NQYXJhbWV0ZXJzLmVu
YWJsZWQpOwotICAgIG1fcHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQgPSBtYWtlVW5pcXVlPFByaXZh
dGVDbGlja01lYXN1cmVtZW50TWFuYWdlcj4oKnRoaXMsIG5ldHdvcmtQcm9jZXNzLCBwYXJhbWV0
ZXJzLnNlc3Npb25JRCwgcGNtU3RvcmVEaXJlY3RvcnkoKnRoaXMsIHBhcmFtZXRlcnMucmVzb3Vy
Y2VMb2FkU3RhdGlzdGljc1BhcmFtZXRlcnMuZGlyZWN0b3J5LCBwYXJhbWV0ZXJzLnJlc291cmNl
TG9hZFN0YXRpc3RpY3NQYXJhbWV0ZXJzLnByaXZhdGVDbGlja01lYXN1cmVtZW50U3RvcmFnZURp
cmVjdG9yeSksIFt3ZWFrVGhpcyA9IG1ha2VXZWFrUHRyKHRoaXMpXSAoYXV0byYmIGxvYWRQYXJh
bWV0ZXJzLCBhdXRvJiYgY29tcGxldGlvbkhhbmRsZXIpIHsKLSAgICAgICAgaWYgKCF3ZWFrVGhp
cykKLSAgICAgICAgICAgIHJldHVybiBjb21wbGV0aW9uSGFuZGxlcihSZXNvdXJjZUVycm9yKFJl
c291cmNlRXJyb3I6OlR5cGU6OkNhbmNlbGxhdGlvbiksIHsgfSwgeyB9KTsKLQotICAgICAgICBQ
cml2YXRlQ2xpY2tNZWFzdXJlbWVudE5ldHdvcmtMb2FkZXI6OnN0YXJ0KCp3ZWFrVGhpcywgV1RG
TW92ZShsb2FkUGFyYW1ldGVycyksIFdURk1vdmUoY29tcGxldGlvbkhhbmRsZXIpKTsKLSAgICB9
KTsKICNlbmRpZgorICAgIG1fcHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQgPSBtYWtlVW5pcXVlPFBy
aXZhdGVDbGlja01lYXN1cmVtZW50TWFuYWdlcj4obWFrZVVuaXF1ZVJlZjxQQ006OkNsaWVudElt
cGw+KCp0aGlzLCBuZXR3b3JrUHJvY2VzcyksIHBjbVN0b3JlRGlyZWN0b3J5KCp0aGlzLCBwYXJh
bWV0ZXJzLnJlc291cmNlTG9hZFN0YXRpc3RpY3NQYXJhbWV0ZXJzLmRpcmVjdG9yeSwgcGFyYW1l
dGVycy5yZXNvdXJjZUxvYWRTdGF0aXN0aWNzUGFyYW1ldGVycy5wcml2YXRlQ2xpY2tNZWFzdXJl
bWVudFN0b3JhZ2VEaXJlY3RvcnkpKTsKIH0KIAogTmV0d29ya1Nlc3Npb246On5OZXR3b3JrU2Vz
c2lvbigpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1ByaXZhdGVD
bGlja01lYXN1cmVtZW50L1ByaXZhdGVDbGlja01lYXN1cmVtZW50Q2xpZW50LmggYi9Tb3VyY2Uv
V2ViS2l0L05ldHdvcmtQcm9jZXNzL1ByaXZhdGVDbGlja01lYXN1cmVtZW50L1ByaXZhdGVDbGlj
a01lYXN1cmVtZW50Q2xpZW50LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzY1NjM0Mjg1MmZhOTQ2Yzg1NGJkOTgz
ZjY4Mzk4NmUxMTVlMmU0NwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29y
a1Byb2Nlc3MvUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQvUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRD
bGllbnQuaApAQCAtMCwwICsxLDU3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycn
CisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwor
ICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICog
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNp
bmNsdWRlIDx3dGYvSlNPTlZhbHVlcy5oPgorCituYW1lc3BhY2UgSlNDIHsKK2VudW0gY2xhc3Mg
TWVzc2FnZUxldmVsIDogdWludDhfdDsKK30KKworbmFtZXNwYWNlIFdlYkNvcmUgeworY2xhc3Mg
UmVzb3VyY2VFcnJvcjsKK2NsYXNzIFJlc291cmNlUmVzcG9uc2U7Cit9CisKK25hbWVzcGFjZSBX
ZWJLaXQgeworCitjbGFzcyBOZXR3b3JrTG9hZFBhcmFtZXRlcnM7CisKK25hbWVzcGFjZSBQQ00g
eworCitjbGFzcyBDbGllbnQgeworcHVibGljOgorICAgIHZpcnR1YWwgfkNsaWVudCgpIHsgfQor
ICAgIHVzaW5nIE5ldHdvcmtMb2FkQ2FsbGJhY2sgPSBDb21wbGV0aW9uSGFuZGxlcjx2b2lkKGNv
bnN0IFdlYkNvcmU6OlJlc291cmNlRXJyb3ImLCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlc3Bv
bnNlJiwgY29uc3QgUmVmUHRyPEpTT046Ok9iamVjdD4mKT47CisgICAgdmlydHVhbCB2b2lkIGxv
YWRGcm9tTmV0d29yayhOZXR3b3JrTG9hZFBhcmFtZXRlcnMmJiwgTmV0d29ya0xvYWRDYWxsYmFj
ayYmKSA9IDA7CisgICAgdmlydHVhbCB2b2lkIGJyb2FkY2FzdENvbnNvbGVNZXNzYWdlKEpTQzo6
TWVzc2FnZUxldmVsLCBjb25zdCBTdHJpbmcmKSA9IDA7CisgICAgdmlydHVhbCBib29sIGZlYXR1
cmVFbmFibGVkKCkgY29uc3QgPSAwOworICAgIHZpcnR1YWwgYm9vbCBkZWJ1Z01vZGVFbmFibGVk
KCkgY29uc3QgPSAwOworfTsKKworfSAvLyBuYW1lc3BhY2UgUENNCisKK30gLy8gbmFtZXNwYWNl
IFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9Qcml2YXRl
Q2xpY2tNZWFzdXJlbWVudC9Qcml2YXRlQ2xpY2tNZWFzdXJlbWVudENsaWVudEltcGwuY3BwIGIv
U291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9Qcml2YXRlQ2xpY2tNZWFzdXJlbWVudC9Qcml2
YXRlQ2xpY2tNZWFzdXJlbWVudENsaWVudEltcGwuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmI3N2Y3NmQ0YTM4
MGNjNmZmMGZjMDM3Mzc3NjVlZDU0MGE2YTgxYTUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2Uv
V2ViS2l0L05ldHdvcmtQcm9jZXNzL1ByaXZhdGVDbGlja01lYXN1cmVtZW50L1ByaXZhdGVDbGlj
a01lYXN1cmVtZW50Q2xpZW50SW1wbC5jcHAKQEAgLTAsMCArMSw3MiBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09O
VFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisg
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
IElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICog
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
KyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJQcml2YXRlQ2xpY2tNZWFzdXJlbWVudENs
aWVudEltcGwuaCIKKworI2luY2x1ZGUgIk5ldHdvcmtQcm9jZXNzLmgiCisjaW5jbHVkZSAiTmV0
d29ya1Nlc3Npb24uaCIKKworbmFtZXNwYWNlIFdlYktpdCB7CisKK25hbWVzcGFjZSBQQ00gewor
CitDbGllbnRJbXBsOjpDbGllbnRJbXBsKE5ldHdvcmtTZXNzaW9uJiBzZXNzaW9uLCBOZXR3b3Jr
UHJvY2VzcyYgbmV0d29ya1Byb2Nlc3MpCisgICAgOiBtX25ldHdvcmtTZXNzaW9uKG1ha2VXZWFr
UHRyKHNlc3Npb24pKQorICAgICwgbV9uZXR3b3JrUHJvY2VzcyhuZXR3b3JrUHJvY2VzcykgeyB9
CisKK3ZvaWQgQ2xpZW50SW1wbDo6bG9hZEZyb21OZXR3b3JrKE5ldHdvcmtMb2FkUGFyYW1ldGVy
cyYmIGxvYWRQYXJhbWV0ZXJzLCBOZXR3b3JrTG9hZENhbGxiYWNrJiYgY29tcGxldGlvbkhhbmRs
ZXIpCit7CisgICAgaWYgKCFmZWF0dXJlRW5hYmxlZCgpKQorICAgICAgICByZXR1cm4gY29tcGxl
dGlvbkhhbmRsZXIoUmVzb3VyY2VFcnJvcihSZXNvdXJjZUVycm9yOjpUeXBlOjpDYW5jZWxsYXRp
b24pLCB7IH0sIHsgfSk7CisKKyAgICBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudE5ldHdvcmtMb2Fk
ZXI6OnN0YXJ0KCptX25ldHdvcmtTZXNzaW9uLCBXVEZNb3ZlKGxvYWRQYXJhbWV0ZXJzKSwgV1RG
TW92ZShjb21wbGV0aW9uSGFuZGxlcikpOworfQorCit2b2lkIENsaWVudEltcGw6OmJyb2FkY2Fz
dENvbnNvbGVNZXNzYWdlKEpTQzo6TWVzc2FnZUxldmVsIG1lc3NhZ2VMZXZlbCwgY29uc3QgU3Ry
aW5nJiBtZXNzYWdlKQoreworICAgIGlmICghZmVhdHVyZUVuYWJsZWQoKSkKKyAgICAgICAgcmV0
dXJuOworCisgICAgbV9uZXR3b3JrUHJvY2Vzcy0+YnJvYWRjYXN0Q29uc29sZU1lc3NhZ2UobV9u
ZXR3b3JrU2Vzc2lvbi0+c2Vzc2lvbklEKCksIE1lc3NhZ2VTb3VyY2U6OlByaXZhdGVDbGlja01l
YXN1cmVtZW50LCBtZXNzYWdlTGV2ZWwsIG1lc3NhZ2UpOworfQorCitib29sIENsaWVudEltcGw6
OmZlYXR1cmVFbmFibGVkKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9uZXR3b3JrU2Vzc2lvbgor
ICAgICAgICAmJiBtX25ldHdvcmtQcm9jZXNzLT5wcml2YXRlQ2xpY2tNZWFzdXJlbWVudEVuYWJs
ZWQoKQorICAgICAgICAmJiAhbV9uZXR3b3JrU2Vzc2lvbi0+c2Vzc2lvbklEKCkuaXNFcGhlbWVy
YWwoKTsKK30KKworYm9vbCBDbGllbnRJbXBsOjpkZWJ1Z01vZGVFbmFibGVkKCkgY29uc3QKK3sK
KyAgICByZXR1cm4gbV9uZXR3b3JrU2Vzc2lvbgorICAgICAgICAmJiBtX25ldHdvcmtQcm9jZXNz
LT5wcml2YXRlQ2xpY2tNZWFzdXJlbWVudERlYnVnTW9kZUVuYWJsZWQoKQorICAgICAgICAmJiAh
bV9uZXR3b3JrU2Vzc2lvbi0+c2Vzc2lvbklEKCkuaXNFcGhlbWVyYWwoKTsKK30KKworfSAvLyBu
YW1lc3BhY2UgUENNCisKK30gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9Qcml2YXRlQ2xpY2tNZWFzdXJlbWVudC9Qcml2YXRlQ2xp
Y2tNZWFzdXJlbWVudENsaWVudEltcGwuaCBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3Mv
UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQvUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRDbGllbnRJbXBs
LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uZjE2NjA4YTM1NGU5M2M5YmVjMzc5ZDY5ZTMyZjI5MjIwMmQxM2Y0Nwot
LS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0d29ya1Byb2Nlc3MvUHJpdmF0ZUNs
aWNrTWVhc3VyZW1lbnQvUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRDbGllbnRJbXBsLmgKQEAgLTAs
MCArMSw1NiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6
CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
CisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSAiUHJpdmF0
ZUNsaWNrTWVhc3VyZW1lbnRDbGllbnQuaCIKKyNpbmNsdWRlIDxwYWwvU2Vzc2lvbklELmg+Cisj
aW5jbHVkZSA8d3RmL0Zhc3RNYWxsb2MuaD4KKworbmFtZXNwYWNlIFdlYktpdCB7CisKK2NsYXNz
IE5ldHdvcmtTZXNzaW9uOworY2xhc3MgTmV0d29ya1Byb2Nlc3M7CisKK25hbWVzcGFjZSBQQ00g
eworCitjbGFzcyBDbGllbnRJbXBsIDogcHVibGljIENsaWVudCB7CisgICAgV1RGX01BS0VfRkFT
VF9BTExPQ0FURUQ7CitwdWJsaWM6CisgICAgQ2xpZW50SW1wbChOZXR3b3JrU2Vzc2lvbiYsIE5l
dHdvcmtQcm9jZXNzJik7CisKK3ByaXZhdGU6CisgICAgdm9pZCBsb2FkRnJvbU5ldHdvcmsoTmV0
d29ya0xvYWRQYXJhbWV0ZXJzJiYsIE5ldHdvcmtMb2FkQ2FsbGJhY2smJikgZmluYWw7CisgICAg
dm9pZCBicm9hZGNhc3RDb25zb2xlTWVzc2FnZShKU0M6Ok1lc3NhZ2VMZXZlbCwgY29uc3QgU3Ry
aW5nJikgZmluYWw7CisgICAgYm9vbCBmZWF0dXJlRW5hYmxlZCgpIGNvbnN0IGZpbmFsOworICAg
IGJvb2wgZGVidWdNb2RlRW5hYmxlZCgpIGNvbnN0IGZpbmFsOworCisgICAgV2Vha1B0cjxOZXR3
b3JrU2Vzc2lvbj4gbV9uZXR3b3JrU2Vzc2lvbjsKKyAgICBSZWY8TmV0d29ya1Byb2Nlc3M+IG1f
bmV0d29ya1Byb2Nlc3M7Cit9OworCit9IC8vIG5hbWVzcGFjZSBQQ00KKworfSAvLyBuYW1lc3Bh
Y2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9jZXNzL1ByaXZh
dGVDbGlja01lYXN1cmVtZW50TWFuYWdlci5jcHAgYi9Tb3VyY2UvV2ViS2l0L05ldHdvcmtQcm9j
ZXNzL1ByaXZhdGVDbGlja01lYXN1cmVtZW50TWFuYWdlci5jcHAKaW5kZXggNTYzYzUzZTc4NWFk
NWMyNjU5ZTZiYzgwMWNlODJhMzUyODFjNjEwNS4uMDI3MjUzYTY1ZjdmZjEwMDgxYzFhOGUwMmJi
MDdjMjQ2NWRkYmI2MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9OZXR3b3JrUHJvY2Vzcy9Q
cml2YXRlQ2xpY2tNZWFzdXJlbWVudE1hbmFnZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvTmV0
d29ya1Byb2Nlc3MvUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRNYW5hZ2VyLmNwcApAQCAtNTMsMTYg
KzUzLDExIEBAIHVzaW5nIEVwaGVtZXJhbFNvdXJjZU5vbmNlID0gUHJpdmF0ZUNsaWNrTWVhc3Vy
ZW1lbnQ6OkVwaGVtZXJhbFNvdXJjZU5vbmNlOwogCiBjb25zdGV4cHIgU2Vjb25kcyBkZWJ1Z01v
ZGVTZWNvbmRzVW50aWxTZW5kIHsgMTBfcyB9OwogCi1Qcml2YXRlQ2xpY2tNZWFzdXJlbWVudE1h
bmFnZXI6OlByaXZhdGVDbGlja01lYXN1cmVtZW50TWFuYWdlcihOZXR3b3JrU2Vzc2lvbiYgbmV0
d29ya1Nlc3Npb24sIE5ldHdvcmtQcm9jZXNzJiBuZXR3b3JrUHJvY2VzcywgUEFMOjpTZXNzaW9u
SUQgc2Vzc2lvbklELCBjb25zdCBTdHJpbmcmIHN0b3JhZ2VEaXJlY3RvcnksIEZ1bmN0aW9uPHZv
aWQoTmV0d29ya0xvYWRQYXJhbWV0ZXJzJiYsIE5ldHdvcmtMb2FkQ2FsbGJhY2smJik+JiYgbmV0
d29ya0xvYWRGdW5jdGlvbikKK1ByaXZhdGVDbGlja01lYXN1cmVtZW50TWFuYWdlcjo6UHJpdmF0
ZUNsaWNrTWVhc3VyZW1lbnRNYW5hZ2VyKFVuaXF1ZVJlZjxQQ006OkNsaWVudD4mJiBjbGllbnQs
IGNvbnN0IFN0cmluZyYgc3RvcmFnZURpcmVjdG9yeSkKICAgICA6IG1fZmlyZVBlbmRpbmdBdHRy
aWJ1dGlvblJlcXVlc3RzVGltZXIoKnRoaXMsICZQcml2YXRlQ2xpY2tNZWFzdXJlbWVudE1hbmFn
ZXI6OmZpcmVQZW5kaW5nQXR0cmlidXRpb25SZXF1ZXN0cykKLSAgICAsIG1fbmV0d29ya1Nlc3Np
b24obWFrZVdlYWtQdHIobmV0d29ya1Nlc3Npb24pKQotICAgICwgbV9uZXR3b3JrUHJvY2Vzcyhu
ZXR3b3JrUHJvY2VzcykKLSAgICAsIG1fc2Vzc2lvbklEKHNlc3Npb25JRCkKICAgICAsIG1fc3Rv
cmFnZURpcmVjdG9yeShzdG9yYWdlRGlyZWN0b3J5KQotICAgICwgbV9uZXR3b3JrTG9hZEZ1bmN0
aW9uKFdURk1vdmUobmV0d29ya0xvYWRGdW5jdGlvbikpCisgICAgLCBtX2NsaWVudChXVEZNb3Zl
KGNsaWVudCkpCiB7Ci0gICAgQVNTRVJUKG1fbmV0d29ya0xvYWRGdW5jdGlvbik7Ci0KICAgICAv
LyBXZSBzaG91bGQgc2VuZCBhbnkgcGVuZGluZyBhdHRyaWJ1dGlvbnMgb24gc2Vzc2lvbi1zdGFy
dCBpbiBjYXNlIHRoZWlyCiAgICAgLy8gc2VuZCBkZWxheSBoYXMgZXhwaXJlZCB3aGlsZSB0aGUg
c2Vzc2lvbiB3YXMgY2xvc2VkLiBXYWl0aW5nIDUgc2Vjb25kcyBhY2NvdW50cyBmb3IgdGhlCiAg
ICAgLy8gZGVsYXkgaW4gZGF0YWJhc2Ugc3RhcnR1cC4KQEAgLTkyLDcgKzg3LDcgQEAgdm9pZCBQ
cml2YXRlQ2xpY2tNZWFzdXJlbWVudE1hbmFnZXI6OnN0b3JlVW5hdHRyaWJ1dGVkKFByaXZhdGVD
bGlja01lYXN1cmVtZW50JiYKICAgICAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgICAgIGlm
IChhdXRvIGVycm9yTWVzc2FnZSA9IG1lYXN1cmVtZW50LmNhbGN1bGF0ZUFuZFVwZGF0ZVNvdXJj
ZVVubGlua2FibGVUb2tlbihwdWJsaWNLZXlCYXNlNjRVUkwpKSB7CiAgICAgICAgICAgICAgICAg
ICAgIFJFTEVBU0VfTE9HX0lORk8oUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQsICJHb3QgdGhlIGZv
bGxvd2luZyBlcnJvciBpbiBjYWxjdWxhdGVBbmRVcGRhdGVTb3VyY2VVbmxpbmthYmxlVG9rZW4o
KTogJyV7cHVibGljfXMiLCBlcnJvck1lc3NhZ2UtPnV0ZjgoKS5kYXRhKCkpOwotICAgICAgICAg
ICAgICAgICAgICBtX25ldHdvcmtQcm9jZXNzLT5icm9hZGNhc3RDb25zb2xlTWVzc2FnZShtX3Nl
c3Npb25JRCwgTWVzc2FnZVNvdXJjZTo6UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQsIE1lc3NhZ2VM
ZXZlbDo6RXJyb3IsIG1ha2VTdHJpbmcoIltQcml2YXRlIENsaWNrIE1lYXN1cmVtZW50XSAiX3Ms
ICplcnJvck1lc3NhZ2UpKTsKKyAgICAgICAgICAgICAgICAgICAgbV9jbGllbnQtPmJyb2FkY2Fz
dENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VMZXZlbDo6RXJyb3IsIG1ha2VTdHJpbmcoIltQcml2YXRl
IENsaWNrIE1lYXN1cmVtZW50XSAiX3MsICplcnJvck1lc3NhZ2UpKTsKICAgICAgICAgICAgICAg
ICAgICAgcmV0dXJuOwogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgIH0KQEAgLTEwMyw3
ICs5OCw3IEBAIHZvaWQgUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRNYW5hZ2VyOjpzdG9yZVVuYXR0
cmlidXRlZChQcml2YXRlQ2xpY2tNZWFzdXJlbWVudCYmCiAgICAgICAgIH0pOwogICAgIH0KIAot
ICAgIG1fbmV0d29ya1Byb2Nlc3MtPmJyb2FkY2FzdENvbnNvbGVNZXNzYWdlKG1fc2Vzc2lvbklE
LCBNZXNzYWdlU291cmNlOjpQcml2YXRlQ2xpY2tNZWFzdXJlbWVudCwgTWVzc2FnZUxldmVsOjpM
b2csICJbUHJpdmF0ZSBDbGljayBNZWFzdXJlbWVudF0gU3RvcmluZyBhIGNsaWNrLiJfcyk7Cisg
ICAgbV9jbGllbnQtPmJyb2FkY2FzdENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VMZXZlbDo6TG9nLCAi
W1ByaXZhdGUgQ2xpY2sgTWVhc3VyZW1lbnRdIFN0b3JpbmcgYSBjbGljay4iX3MpOwogCiAgICAg
aW5zZXJ0UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQoV1RGTW92ZShtZWFzdXJlbWVudCksIFByaXZh
dGVDbGlja01lYXN1cmVtZW50QXR0cmlidXRpb25UeXBlOjpVbmF0dHJpYnV0ZWQpOwogfQpAQCAt
MTU4LDIzICsxNTMsMjMgQEAgdm9pZCBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudE1hbmFnZXI6Omdl
dFRva2VuUHVibGljS2V5KFByaXZhdGVDbGlja01lYXN1cmVtZW50JiYKICAgICBhdXRvIGxvYWRQ
YXJhbWV0ZXJzID0gZ2VuZXJhdGVOZXR3b3JrTG9hZFBhcmFtZXRlcnNGb3JIdHRwR2V0KFdURk1v
dmUodG9rZW5QdWJsaWNLZXlVUkwpLCBwY21EYXRhQ2FycmllZCwgZGVidWdNb2RlRW5hYmxlZCgp
KTsKIAogICAgIFJFTEVBU0VfTE9HX0lORk8oUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQsICJBYm91
dCB0byBmaXJlIGEgdG9rZW4gcHVibGljIGtleSByZXF1ZXN0LiIpOwotICAgIG1fbmV0d29ya1By
b2Nlc3MtPmJyb2FkY2FzdENvbnNvbGVNZXNzYWdlKG1fc2Vzc2lvbklELCBNZXNzYWdlU291cmNl
OjpQcml2YXRlQ2xpY2tNZWFzdXJlbWVudCwgTWVzc2FnZUxldmVsOjpMb2csICJbUHJpdmF0ZSBD
bGljayBNZWFzdXJlbWVudF0gQWJvdXQgdG8gZmlyZSBhIHRva2VuIHB1YmxpYyBrZXkgcmVxdWVz
dC4iX3MpOworICAgIG1fY2xpZW50LT5icm9hZGNhc3RDb25zb2xlTWVzc2FnZShNZXNzYWdlTGV2
ZWw6OkxvZywgIltQcml2YXRlIENsaWNrIE1lYXN1cmVtZW50XSBBYm91dCB0byBmaXJlIGEgdG9r
ZW4gcHVibGljIGtleSByZXF1ZXN0LiJfcyk7CiAKLSAgICBtX25ldHdvcmtMb2FkRnVuY3Rpb24o
V1RGTW92ZShsb2FkUGFyYW1ldGVycyksIFt3ZWFrVGhpcyA9IG1ha2VXZWFrUHRyKCp0aGlzKSwg
dGhpcywgYXR0cmlidXRpb24gPSBXVEZNb3ZlKGF0dHJpYnV0aW9uKSwgY2FsbGJhY2sgPSBXVEZN
b3ZlKGNhbGxiYWNrKV0gKGF1dG8mIGVycm9yLCBhdXRvJiByZXNwb25zZSwgYXV0byYganNvbk9i
amVjdCkgbXV0YWJsZSB7CisgICAgbV9jbGllbnQtPmxvYWRGcm9tTmV0d29yayhXVEZNb3ZlKGxv
YWRQYXJhbWV0ZXJzKSwgW3dlYWtUaGlzID0gbWFrZVdlYWtQdHIoKnRoaXMpLCB0aGlzLCBhdHRy
aWJ1dGlvbiA9IFdURk1vdmUoYXR0cmlidXRpb24pLCBjYWxsYmFjayA9IFdURk1vdmUoY2FsbGJh
Y2spXSAoYXV0byYgZXJyb3IsIGF1dG8mIHJlc3BvbnNlLCBhdXRvJiBqc29uT2JqZWN0KSBtdXRh
YmxlIHsKICAgICAgICAgaWYgKCF3ZWFrVGhpcykKICAgICAgICAgICAgIHJldHVybjsKIAogICAg
ICAgICBpZiAoIWVycm9yLmlzTnVsbCgpKSB7Ci0gICAgICAgICAgICBtX25ldHdvcmtQcm9jZXNz
LT5icm9hZGNhc3RDb25zb2xlTWVzc2FnZShtX3Nlc3Npb25JRCwgTWVzc2FnZVNvdXJjZTo6UHJp
dmF0ZUNsaWNrTWVhc3VyZW1lbnQsIE1lc3NhZ2VMZXZlbDo6RXJyb3IsIG1ha2VTdHJpbmcoIltQ
cml2YXRlIENsaWNrIE1lYXN1cmVtZW50XSBSZWNlaXZlZCBlcnJvcjogJyJfcywgZXJyb3IubG9j
YWxpemVkRGVzY3JpcHRpb24oKSwgIicgZm9yIHRva2VuIHB1YmxpYyBrZXkgcmVxdWVzdC4iX3Mp
KTsKKyAgICAgICAgICAgIG1fY2xpZW50LT5icm9hZGNhc3RDb25zb2xlTWVzc2FnZShNZXNzYWdl
TGV2ZWw6OkVycm9yLCBtYWtlU3RyaW5nKCJbUHJpdmF0ZSBDbGljayBNZWFzdXJlbWVudF0gUmVj
ZWl2ZWQgZXJyb3I6ICciX3MsIGVycm9yLmxvY2FsaXplZERlc2NyaXB0aW9uKCksICInIGZvciB0
b2tlbiBwdWJsaWMga2V5IHJlcXVlc3QuIl9zKSk7CiAgICAgICAgICAgICByZXR1cm47CiAgICAg
ICAgIH0KIAogICAgICAgICBpZiAoIWpzb25PYmplY3QpIHsKLSAgICAgICAgICAgIG1fbmV0d29y
a1Byb2Nlc3MtPmJyb2FkY2FzdENvbnNvbGVNZXNzYWdlKG1fc2Vzc2lvbklELCBNZXNzYWdlU291
cmNlOjpQcml2YXRlQ2xpY2tNZWFzdXJlbWVudCwgTWVzc2FnZUxldmVsOjpFcnJvciwgbWFrZVN0
cmluZygiW1ByaXZhdGUgQ2xpY2sgTWVhc3VyZW1lbnRdIEpTT04gcmVzcG9uc2UgaXMgZW1wdHkg
Zm9yIHRva2VuIHB1YmxpYyBrZXkgcmVxdWVzdC4iX3MpKTsKKyAgICAgICAgICAgIG1fY2xpZW50
LT5icm9hZGNhc3RDb25zb2xlTWVzc2FnZShNZXNzYWdlTGV2ZWw6OkVycm9yLCBtYWtlU3RyaW5n
KCJbUHJpdmF0ZSBDbGljayBNZWFzdXJlbWVudF0gSlNPTiByZXNwb25zZSBpcyBlbXB0eSBmb3Ig
dG9rZW4gcHVibGljIGtleSByZXF1ZXN0LiJfcykpOwogICAgICAgICAgICAgcmV0dXJuOwogICAg
ICAgICB9CiAKLSAgICAgICAgbV9uZXR3b3JrUHJvY2Vzcy0+YnJvYWRjYXN0Q29uc29sZU1lc3Nh
Z2UobV9zZXNzaW9uSUQsIE1lc3NhZ2VTb3VyY2U6OlByaXZhdGVDbGlja01lYXN1cmVtZW50LCBN
ZXNzYWdlTGV2ZWw6OkxvZywgbWFrZVN0cmluZygiW1ByaXZhdGUgQ2xpY2sgTWVhc3VyZW1lbnRd
IEdvdCBKU09OIHJlc3BvbnNlIGZvciB0b2tlbiBwdWJsaWMga2V5IHJlcXVlc3QuIl9zKSk7Cisg
ICAgICAgIG1fY2xpZW50LT5icm9hZGNhc3RDb25zb2xlTWVzc2FnZShNZXNzYWdlTGV2ZWw6Okxv
ZywgbWFrZVN0cmluZygiW1ByaXZhdGUgQ2xpY2sgTWVhc3VyZW1lbnRdIEdvdCBKU09OIHJlc3Bv
bnNlIGZvciB0b2tlbiBwdWJsaWMga2V5IHJlcXVlc3QuIl9zKSk7CiAKICAgICAgICAgY2FsbGJh
Y2soV1RGTW92ZShhdHRyaWJ1dGlvbiksIGpzb25PYmplY3QtPmdldFN0cmluZygidG9rZW5fcHVi
bGljX2tleSJfcykpOwogICAgIH0pOwpAQCAtMjAxLDI1ICsxOTYsMjUgQEAgdm9pZCBQcml2YXRl
Q2xpY2tNZWFzdXJlbWVudE1hbmFnZXI6OmdldFNpZ25lZFVubGlua2FibGVUb2tlbihQcml2YXRl
Q2xpY2tNZWFzdXIKICAgICBhdXRvIGxvYWRQYXJhbWV0ZXJzID0gZ2VuZXJhdGVOZXR3b3JrTG9h
ZFBhcmFtZXRlcnNGb3JIdHRwUG9zdChXVEZNb3ZlKHRva2VuU2lnbmF0dXJlVVJMKSwgbWVhc3Vy
ZW1lbnQudG9rZW5TaWduYXR1cmVKU09OKCksIHBjbURhdGFDYXJyaWVkLCBkZWJ1Z01vZGVFbmFi
bGVkKCkpOwogCiAgICAgUkVMRUFTRV9MT0dfSU5GTyhQcml2YXRlQ2xpY2tNZWFzdXJlbWVudCwg
IkFib3V0IHRvIGZpcmUgYSB1bmxpbmthYmxlIHRva2VuIHNpZ25pbmcgcmVxdWVzdC4iKTsKLSAg
ICBtX25ldHdvcmtQcm9jZXNzLT5icm9hZGNhc3RDb25zb2xlTWVzc2FnZShtX3Nlc3Npb25JRCwg
TWVzc2FnZVNvdXJjZTo6UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQsIE1lc3NhZ2VMZXZlbDo6TG9n
LCAiW1ByaXZhdGUgQ2xpY2sgTWVhc3VyZW1lbnRdIEFib3V0IHRvIGZpcmUgYSB1bmxpbmthYmxl
IHRva2VuIHNpZ25pbmcgcmVxdWVzdC4iX3MpOworICAgIG1fY2xpZW50LT5icm9hZGNhc3RDb25z
b2xlTWVzc2FnZShNZXNzYWdlTGV2ZWw6OkxvZywgIltQcml2YXRlIENsaWNrIE1lYXN1cmVtZW50
XSBBYm91dCB0byBmaXJlIGEgdW5saW5rYWJsZSB0b2tlbiBzaWduaW5nIHJlcXVlc3QuIl9zKTsK
IAotICAgIG1fbmV0d29ya0xvYWRGdW5jdGlvbihXVEZNb3ZlKGxvYWRQYXJhbWV0ZXJzKSwgW3dl
YWtUaGlzID0gbWFrZVdlYWtQdHIoKnRoaXMpLCB0aGlzLCBtZWFzdXJlbWVudCA9IFdURk1vdmUo
bWVhc3VyZW1lbnQpXSAoYXV0byYgZXJyb3IsIGF1dG8mIHJlc3BvbnNlLCBhdXRvJiBqc29uT2Jq
ZWN0KSBtdXRhYmxlIHsKKyAgICBtX2NsaWVudC0+bG9hZEZyb21OZXR3b3JrKFdURk1vdmUobG9h
ZFBhcmFtZXRlcnMpLCBbd2Vha1RoaXMgPSBtYWtlV2Vha1B0cigqdGhpcyksIHRoaXMsIG1lYXN1
cmVtZW50ID0gV1RGTW92ZShtZWFzdXJlbWVudCldIChhdXRvJiBlcnJvciwgYXV0byYgcmVzcG9u
c2UsIGF1dG8mIGpzb25PYmplY3QpIG11dGFibGUgewogICAgICAgICBpZiAoIXdlYWtUaGlzKQog
ICAgICAgICAgICAgcmV0dXJuOwogCiAgICAgICAgIGlmICghZXJyb3IuaXNOdWxsKCkpIHsKLSAg
ICAgICAgICAgIG1fbmV0d29ya1Byb2Nlc3MtPmJyb2FkY2FzdENvbnNvbGVNZXNzYWdlKG1fc2Vz
c2lvbklELCBNZXNzYWdlU291cmNlOjpQcml2YXRlQ2xpY2tNZWFzdXJlbWVudCwgTWVzc2FnZUxl
dmVsOjpFcnJvciwgbWFrZVN0cmluZygiW1ByaXZhdGUgQ2xpY2sgTWVhc3VyZW1lbnRdIFJlY2Vp
dmVkIGVycm9yOiAnIl9zLCBlcnJvci5sb2NhbGl6ZWREZXNjcmlwdGlvbigpLCAiJyBmb3Igc2Vj
cmV0IHRva2VuIHNpZ25pbmcgcmVxdWVzdC4iX3MpKTsKKyAgICAgICAgICAgIG1fY2xpZW50LT5i
cm9hZGNhc3RDb25zb2xlTWVzc2FnZShNZXNzYWdlTGV2ZWw6OkVycm9yLCBtYWtlU3RyaW5nKCJb
UHJpdmF0ZSBDbGljayBNZWFzdXJlbWVudF0gUmVjZWl2ZWQgZXJyb3I6ICciX3MsIGVycm9yLmxv
Y2FsaXplZERlc2NyaXB0aW9uKCksICInIGZvciBzZWNyZXQgdG9rZW4gc2lnbmluZyByZXF1ZXN0
LiJfcykpOwogICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICB9CiAKICAgICAgICAgaWYgKCFq
c29uT2JqZWN0KSB7Ci0gICAgICAgICAgICBtX25ldHdvcmtQcm9jZXNzLT5icm9hZGNhc3RDb25z
b2xlTWVzc2FnZShtX3Nlc3Npb25JRCwgTWVzc2FnZVNvdXJjZTo6UHJpdmF0ZUNsaWNrTWVhc3Vy
ZW1lbnQsIE1lc3NhZ2VMZXZlbDo6RXJyb3IsIG1ha2VTdHJpbmcoIltQcml2YXRlIENsaWNrIE1l
YXN1cmVtZW50XSBKU09OIHJlc3BvbnNlIGlzIGVtcHR5IGZvciB0b2tlbiBzaWduaW5nIHJlcXVl
c3QuIl9zKSk7CisgICAgICAgICAgICBtX2NsaWVudC0+YnJvYWRjYXN0Q29uc29sZU1lc3NhZ2Uo
TWVzc2FnZUxldmVsOjpFcnJvciwgbWFrZVN0cmluZygiW1ByaXZhdGUgQ2xpY2sgTWVhc3VyZW1l
bnRdIEpTT04gcmVzcG9uc2UgaXMgZW1wdHkgZm9yIHRva2VuIHNpZ25pbmcgcmVxdWVzdC4iX3Mp
KTsKICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQogCiAgICAgICAgIGF1dG8gc2lnbmF0
dXJlQmFzZTY0VVJMID0ganNvbk9iamVjdC0+Z2V0U3RyaW5nKCJ1bmxpbmthYmxlX3Rva2VuIl9z
KTsKICAgICAgICAgaWYgKHNpZ25hdHVyZUJhc2U2NFVSTC5pc0VtcHR5KCkpIHsKLSAgICAgICAg
ICAgIG1fbmV0d29ya1Byb2Nlc3MtPmJyb2FkY2FzdENvbnNvbGVNZXNzYWdlKG1fc2Vzc2lvbklE
LCBNZXNzYWdlU291cmNlOjpQcml2YXRlQ2xpY2tNZWFzdXJlbWVudCwgTWVzc2FnZUxldmVsOjpF
cnJvciwgbWFrZVN0cmluZygiW1ByaXZhdGUgQ2xpY2sgTWVhc3VyZW1lbnRdIEpTT04gcmVzcG9u
c2UgZG9lc24ndCBoYXZlIHRoZSBrZXkgJ3VubGlua2FibGVfdG9rZW4nIGZvciB0b2tlbiBzaWdu
aW5nIHJlcXVlc3QuIl9zKSk7CisgICAgICAgICAgICBtX2NsaWVudC0+YnJvYWRjYXN0Q29uc29s
ZU1lc3NhZ2UoTWVzc2FnZUxldmVsOjpFcnJvciwgbWFrZVN0cmluZygiW1ByaXZhdGUgQ2xpY2sg
TWVhc3VyZW1lbnRdIEpTT04gcmVzcG9uc2UgZG9lc24ndCBoYXZlIHRoZSBrZXkgJ3VubGlua2Fi
bGVfdG9rZW4nIGZvciB0b2tlbiBzaWduaW5nIHJlcXVlc3QuIl9zKSk7CiAgICAgICAgICAgICBy
ZXR1cm47CiAgICAgICAgIH0KICAgICAgICAgLy8gRklYIE5PVyEKQEAgLTIyOSwxMyArMjI0LDEz
IEBAIHZvaWQgUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRNYW5hZ2VyOjpnZXRTaWduZWRVbmxpbmth
YmxlVG9rZW4oUHJpdmF0ZUNsaWNrTWVhc3VyCiAgICAgICAgIGVsc2UgewogICAgICAgICAgICAg
aWYgKGF1dG8gZXJyb3JNZXNzYWdlID0gbWVhc3VyZW1lbnQuY2FsY3VsYXRlQW5kVXBkYXRlU291
cmNlU2VjcmV0VG9rZW4oc2lnbmF0dXJlQmFzZTY0VVJMKSkgewogICAgICAgICAgICAgICAgIFJF
TEVBU0VfTE9HX0lORk8oUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQsICJHb3QgdGhlIGZvbGxvd2lu
ZyBlcnJvciBpbiBjYWxjdWxhdGVBbmRVcGRhdGVTb3VyY2VTZWNyZXRUb2tlbigpOiAnJXtwdWJs
aWN9cyIsIGVycm9yTWVzc2FnZS0+dXRmOCgpLmRhdGEoKSk7Ci0gICAgICAgICAgICAgICAgbV9u
ZXR3b3JrUHJvY2Vzcy0+YnJvYWRjYXN0Q29uc29sZU1lc3NhZ2UobV9zZXNzaW9uSUQsIE1lc3Nh
Z2VTb3VyY2U6OlByaXZhdGVDbGlja01lYXN1cmVtZW50LCBNZXNzYWdlTGV2ZWw6OkVycm9yLCBt
YWtlU3RyaW5nKCJbUHJpdmF0ZSBDbGljayBNZWFzdXJlbWVudF0gIl9zLCAqZXJyb3JNZXNzYWdl
KSk7CisgICAgICAgICAgICAgICAgbV9jbGllbnQtPmJyb2FkY2FzdENvbnNvbGVNZXNzYWdlKE1l
c3NhZ2VMZXZlbDo6RXJyb3IsIG1ha2VTdHJpbmcoIltQcml2YXRlIENsaWNrIE1lYXN1cmVtZW50
XSAiX3MsICplcnJvck1lc3NhZ2UpKTsKICAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAg
ICAgICB9CiAgICAgICAgIH0KICNlbmRpZgogCi0gICAgICAgIG1fbmV0d29ya1Byb2Nlc3MtPmJy
b2FkY2FzdENvbnNvbGVNZXNzYWdlKG1fc2Vzc2lvbklELCBNZXNzYWdlU291cmNlOjpQcml2YXRl
Q2xpY2tNZWFzdXJlbWVudCwgTWVzc2FnZUxldmVsOjpMb2csICJbUHJpdmF0ZSBDbGljayBNZWFz
dXJlbWVudF0gU3RvcmluZyBhIHNlY3JldCB0b2tlbi4iX3MpOworICAgICAgICBtX2NsaWVudC0+
YnJvYWRjYXN0Q29uc29sZU1lc3NhZ2UoTWVzc2FnZUxldmVsOjpMb2csICJbUHJpdmF0ZSBDbGlj
ayBNZWFzdXJlbWVudF0gU3RvcmluZyBhIHNlY3JldCB0b2tlbi4iX3MpOwogCiAgICAgICAgIGlu
c2VydFByaXZhdGVDbGlja01lYXN1cmVtZW50KFdURk1vdmUobWVhc3VyZW1lbnQpLCBQcml2YXRl
Q2xpY2tNZWFzdXJlbWVudEF0dHJpYnV0aW9uVHlwZTo6VW5hdHRyaWJ1dGVkKTsKICAgICB9KTsK
QEAgLTI2MiwxNiArMjU3LDE2IEBAIHZvaWQgUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRNYW5hZ2Vy
OjpoYW5kbGVBdHRyaWJ1dGlvbihBdHRyaWJ1dGlvblRyaWdnZXJEYXRhJiYKICAgICBhdXRvJiBm
aXJzdFBhcnR5VVJMID0gcmVkaXJlY3RSZXF1ZXN0LmZpcnN0UGFydHlGb3JDb29raWVzKCk7CiAK
ICAgICBpZiAoIXJlZGlyZWN0RG9tYWluLm1hdGNoZXMocmVxdWVzdFVSTCkpIHsKLSAgICAgICAg
bV9uZXR3b3JrUHJvY2Vzcy0+YnJvYWRjYXN0Q29uc29sZU1lc3NhZ2UobV9zZXNzaW9uSUQsIE1l
c3NhZ2VTb3VyY2U6OlByaXZhdGVDbGlja01lYXN1cmVtZW50LCBNZXNzYWdlTGV2ZWw6Oldhcm5p
bmcsICJbUHJpdmF0ZSBDbGljayBNZWFzdXJlbWVudF0gVHJpZ2dlcmluZyBldmVudCB3YXMgbm90
IGFjY2VwdGVkIGJlY2F1c2UgdGhlIEhUVFAgcmVkaXJlY3Qgd2FzIG5vdCBzYW1lLXNpdGUuIl9z
KTsKKyAgICAgICAgbV9jbGllbnQtPmJyb2FkY2FzdENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VMZXZl
bDo6V2FybmluZywgIltQcml2YXRlIENsaWNrIE1lYXN1cmVtZW50XSBUcmlnZ2VyaW5nIGV2ZW50
IHdhcyBub3QgYWNjZXB0ZWQgYmVjYXVzZSB0aGUgSFRUUCByZWRpcmVjdCB3YXMgbm90IHNhbWUt
c2l0ZS4iX3MpOwogICAgICAgICByZXR1cm47CiAgICAgfQogCiAgICAgaWYgKHJlZGlyZWN0RG9t
YWluLm1hdGNoZXMoZmlyc3RQYXJ0eVVSTCkpIHsKLSAgICAgICAgbV9uZXR3b3JrUHJvY2Vzcy0+
YnJvYWRjYXN0Q29uc29sZU1lc3NhZ2UobV9zZXNzaW9uSUQsIE1lc3NhZ2VTb3VyY2U6OlByaXZh
dGVDbGlja01lYXN1cmVtZW50LCBNZXNzYWdlTGV2ZWw6Oldhcm5pbmcsICJbUHJpdmF0ZSBDbGlj
ayBNZWFzdXJlbWVudF0gVHJpZ2dlcmluZyBldmVudCB3YXMgbm90IGFjY2VwdGVkIGJlY2F1c2Ug
aXQgd2FzIHJlcXVlc3RlZCBpbiBhbiBIVFRQIHJlZGlyZWN0IHRoYXQgaXMgc2FtZS1zaXRlIGFz
IHRoZSBmaXJzdC1wYXJ0eS4iX3MpOworICAgICAgICBtX2NsaWVudC0+YnJvYWRjYXN0Q29uc29s
ZU1lc3NhZ2UoTWVzc2FnZUxldmVsOjpXYXJuaW5nLCAiW1ByaXZhdGUgQ2xpY2sgTWVhc3VyZW1l
bnRdIFRyaWdnZXJpbmcgZXZlbnQgd2FzIG5vdCBhY2NlcHRlZCBiZWNhdXNlIGl0IHdhcyByZXF1
ZXN0ZWQgaW4gYW4gSFRUUCByZWRpcmVjdCB0aGF0IGlzIHNhbWUtc2l0ZSBhcyB0aGUgZmlyc3Qt
cGFydHkuIl9zKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIG1fbmV0d29ya1Byb2Nl
c3MtPmJyb2FkY2FzdENvbnNvbGVNZXNzYWdlKG1fc2Vzc2lvbklELCBNZXNzYWdlU291cmNlOjpQ
cml2YXRlQ2xpY2tNZWFzdXJlbWVudCwgTWVzc2FnZUxldmVsOjpMb2csICJbUHJpdmF0ZSBDbGlj
ayBNZWFzdXJlbWVudF0gVHJpZ2dlcmluZyBldmVudCBhY2NlcHRlZC4iX3MpOworICAgIG1fY2xp
ZW50LT5icm9hZGNhc3RDb25zb2xlTWVzc2FnZShNZXNzYWdlTGV2ZWw6OkxvZywgIltQcml2YXRl
IENsaWNrIE1lYXN1cmVtZW50XSBUcmlnZ2VyaW5nIGV2ZW50IGFjY2VwdGVkLiJfcyk7CiAKICAg
ICBhdHRyaWJ1dGUoU291cmNlU2l0ZSB7IFdURk1vdmUocmVkaXJlY3REb21haW4pIH0sIEF0dHJp
YnV0aW9uRGVzdGluYXRpb25TaXRlIHsgZmlyc3RQYXJ0eVVSTCB9LCBXVEZNb3ZlKGF0dHJpYnV0
aW9uVHJpZ2dlckRhdGEpKTsKIH0KQEAgLTMwMyw3ICsyOTgsNyBAQCB2b2lkIFByaXZhdGVDbGlj
a01lYXN1cmVtZW50TWFuYWdlcjo6YXR0cmlidXRlKGNvbnN0IFNvdXJjZVNpdGUmIHNvdXJjZVNp
dGUsIGNvbgogCiAgICAgICAgIGlmIChVTkxJS0VMWShkZWJ1Z01vZGVFbmFibGVkKCkpKSB7CiAg
ICAgICAgICAgICBmb3IgKGF1dG8mIG1lc3NhZ2UgOiBkZWJ1Z0luZm8ubWVzc2FnZXMpCi0gICAg
ICAgICAgICAgICAgbV9uZXR3b3JrUHJvY2Vzcy0+YnJvYWRjYXN0Q29uc29sZU1lc3NhZ2UobV9z
ZXNzaW9uSUQsIE1lc3NhZ2VTb3VyY2U6OlByaXZhdGVDbGlja01lYXN1cmVtZW50LCBtZXNzYWdl
Lm1lc3NhZ2VMZXZlbCwgbWVzc2FnZS5tZXNzYWdlKTsKKyAgICAgICAgICAgICAgICBtX2NsaWVu
dC0+YnJvYWRjYXN0Q29uc29sZU1lc3NhZ2UobWVzc2FnZS5tZXNzYWdlTGV2ZWwsIG1lc3NhZ2Uu
bWVzc2FnZSk7CiAgICAgICAgIH0KIAogICAgICAgICBpZiAoYXR0cmlidXRpb25TZWNvbmRzVW50
aWxTZW5kRGF0YS52YWx1ZSgpLmhhc1ZhbGlkU2Vjb25kc1VudGlsU2VuZFZhbHVlcygpKSB7CkBA
IC0zMTcsMTAgKzMxMiwxMCBAQCB2b2lkIFByaXZhdGVDbGlja01lYXN1cmVtZW50TWFuYWdlcjo6
YXR0cmlidXRlKGNvbnN0IFNvdXJjZVNpdGUmIHNvdXJjZVNpdGUsIGNvbgogICAgICAgICAgICAg
ICAgIHJldHVybjsKIAogICAgICAgICAgICAgaWYgKFVOTElLRUxZKGRlYnVnTW9kZUVuYWJsZWQo
KSkpIHsKLSAgICAgICAgICAgICAgICBtX25ldHdvcmtQcm9jZXNzLT5icm9hZGNhc3RDb25zb2xl
TWVzc2FnZShtX3Nlc3Npb25JRCwgTWVzc2FnZVNvdXJjZTo6UHJpdmF0ZUNsaWNrTWVhc3VyZW1l
bnQsIE1lc3NhZ2VMZXZlbDo6TG9nLCBtYWtlU3RyaW5nKCJbUHJpdmF0ZSBDbGljayBNZWFzdXJl
bWVudF0gU2V0dGluZyB0aW1lciBmb3IgZmlyaW5nIGF0dHJpYnV0aW9uIHJlcXVlc3QgdG8gdGhl
IGRlYnVnIG1vZGUgdGltZW91dCBvZiAiX3MsIGRlYnVnTW9kZVNlY29uZHNVbnRpbFNlbmQuc2Vj
b25kcygpLCAiIHNlY29uZHMgd2hlcmUgdGhlIHJlZ3VsYXIgdGltZW91dCB3b3VsZCBoYXZlIGJl
ZW4gIl9zLCBtaW5TZWNvbmRzVW50aWxTZW5kLnZhbHVlKCkuc2Vjb25kcygpLCAiIHNlY29uZHMu
Il9zKSk7CisgICAgICAgICAgICAgICAgbV9jbGllbnQtPmJyb2FkY2FzdENvbnNvbGVNZXNzYWdl
KE1lc3NhZ2VMZXZlbDo6TG9nLCBtYWtlU3RyaW5nKCJbUHJpdmF0ZSBDbGljayBNZWFzdXJlbWVu
dF0gU2V0dGluZyB0aW1lciBmb3IgZmlyaW5nIGF0dHJpYnV0aW9uIHJlcXVlc3QgdG8gdGhlIGRl
YnVnIG1vZGUgdGltZW91dCBvZiAiX3MsIGRlYnVnTW9kZVNlY29uZHNVbnRpbFNlbmQuc2Vjb25k
cygpLCAiIHNlY29uZHMgd2hlcmUgdGhlIHJlZ3VsYXIgdGltZW91dCB3b3VsZCBoYXZlIGJlZW4g
Il9zLCBtaW5TZWNvbmRzVW50aWxTZW5kLnZhbHVlKCkuc2Vjb25kcygpLCAiIHNlY29uZHMuIl9z
KSk7CiAgICAgICAgICAgICAgICAgbWluU2Vjb25kc1VudGlsU2VuZCA9IGRlYnVnTW9kZVNlY29u
ZHNVbnRpbFNlbmQ7CiAgICAgICAgICAgICB9IGVsc2UKLSAgICAgICAgICAgICAgICBtX25ldHdv
cmtQcm9jZXNzLT5icm9hZGNhc3RDb25zb2xlTWVzc2FnZShtX3Nlc3Npb25JRCwgTWVzc2FnZVNv
dXJjZTo6UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQsIE1lc3NhZ2VMZXZlbDo6TG9nLCBtYWtlU3Ry
aW5nKCJbUHJpdmF0ZSBDbGljayBNZWFzdXJlbWVudF0gU2V0dGluZyB0aW1lciBmb3IgZmlyaW5n
IGF0dHJpYnV0aW9uIHJlcXVlc3QgdG8gdGhlIHRpbWVvdXQgb2YgIl9zLCBtaW5TZWNvbmRzVW50
aWxTZW5kLnZhbHVlKCkuc2Vjb25kcygpLCAiIHNlY29uZHMuIl9zKSk7CisgICAgICAgICAgICAg
ICAgbV9jbGllbnQtPmJyb2FkY2FzdENvbnNvbGVNZXNzYWdlKE1lc3NhZ2VMZXZlbDo6TG9nLCBt
YWtlU3RyaW5nKCJbUHJpdmF0ZSBDbGljayBNZWFzdXJlbWVudF0gU2V0dGluZyB0aW1lciBmb3Ig
ZmlyaW5nIGF0dHJpYnV0aW9uIHJlcXVlc3QgdG8gdGhlIHRpbWVvdXQgb2YgIl9zLCBtaW5TZWNv
bmRzVW50aWxTZW5kLnZhbHVlKCkuc2Vjb25kcygpLCAiIHNlY29uZHMuIl9zKSk7CiAKICAgICAg
ICAgICAgIHN0YXJ0VGltZXIoKm1pblNlY29uZHNVbnRpbFNlbmQpOwogICAgICAgICB9CkBAIC0z
NzYsMTQgKzM3MSwxNCBAQCB2b2lkIFByaXZhdGVDbGlja01lYXN1cmVtZW50TWFuYWdlcjo6Zmly
ZUNvbnZlcnNpb25SZXF1ZXN0SW1wbChjb25zdCBQcml2YXRlQ2xpYwogICAgIGF1dG8gbG9hZFBh
cmFtZXRlcnMgPSBnZW5lcmF0ZU5ldHdvcmtMb2FkUGFyYW1ldGVyc0Zvckh0dHBQb3N0KFdURk1v
dmUoYXR0cmlidXRpb25VUkwpLCBhdHRyaWJ1dGlvbi5hdHRyaWJ1dGlvblJlcG9ydEpTT04oKSwg
UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQ6OlBjbURhdGFDYXJyaWVkOjpOb25QZXJzb25hbGx5SWRl
bnRpZmlhYmxlLCBkZWJ1Z01vZGVFbmFibGVkKCkpOwogCiAgICAgUkVMRUFTRV9MT0dfSU5GTyhQ
cml2YXRlQ2xpY2tNZWFzdXJlbWVudCwgIkFib3V0IHRvIGZpcmUgYW4gYXR0cmlidXRpb24gcmVx
dWVzdC4iKTsKLSAgICBtX25ldHdvcmtQcm9jZXNzLT5icm9hZGNhc3RDb25zb2xlTWVzc2FnZSht
X3Nlc3Npb25JRCwgTWVzc2FnZVNvdXJjZTo6UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQsIE1lc3Nh
Z2VMZXZlbDo6TG9nLCAiW1ByaXZhdGUgQ2xpY2sgTWVhc3VyZW1lbnRdIEFib3V0IHRvIGZpcmUg
YW4gYXR0cmlidXRpb24gcmVxdWVzdC4iX3MpOworICAgIG1fY2xpZW50LT5icm9hZGNhc3RDb25z
b2xlTWVzc2FnZShNZXNzYWdlTGV2ZWw6OkxvZywgIltQcml2YXRlIENsaWNrIE1lYXN1cmVtZW50
XSBBYm91dCB0byBmaXJlIGFuIGF0dHJpYnV0aW9uIHJlcXVlc3QuIl9zKTsKIAotICAgIG1fbmV0
d29ya0xvYWRGdW5jdGlvbihXVEZNb3ZlKGxvYWRQYXJhbWV0ZXJzKSwgW3dlYWtUaGlzID0gbWFr
ZVdlYWtQdHIoKnRoaXMpLCB0aGlzXShhdXRvJiBlcnJvciwgYXV0byYgcmVzcG9uc2UsIGF1dG8m
KSB7CisgICAgbV9jbGllbnQtPmxvYWRGcm9tTmV0d29yayhXVEZNb3ZlKGxvYWRQYXJhbWV0ZXJz
KSwgW3dlYWtUaGlzID0gbWFrZVdlYWtQdHIoKnRoaXMpLCB0aGlzXShhdXRvJiBlcnJvciwgYXV0
byYgcmVzcG9uc2UsIGF1dG8mKSB7CiAgICAgICAgIGlmICghd2Vha1RoaXMpCiAgICAgICAgICAg
ICByZXR1cm47CiAKICAgICAgICAgaWYgKCFlcnJvci5pc051bGwoKSkgewotICAgICAgICAgICAg
bV9uZXR3b3JrUHJvY2Vzcy0+YnJvYWRjYXN0Q29uc29sZU1lc3NhZ2UobV9zZXNzaW9uSUQsIE1l
c3NhZ2VTb3VyY2U6OlByaXZhdGVDbGlja01lYXN1cmVtZW50LCBNZXNzYWdlTGV2ZWw6OkVycm9y
LCBtYWtlU3RyaW5nKCJbUHJpdmF0ZSBDbGljayBNZWFzdXJlbWVudF0gUmVjZWl2ZWQgZXJyb3I6
ICciX3MsIGVycm9yLmxvY2FsaXplZERlc2NyaXB0aW9uKCksICInIGZvciBhZCBjbGljayBhdHRy
aWJ1dGlvbiByZXF1ZXN0LiJfcykpOworICAgICAgICAgICAgbV9jbGllbnQtPmJyb2FkY2FzdENv
bnNvbGVNZXNzYWdlKE1lc3NhZ2VMZXZlbDo6RXJyb3IsIG1ha2VTdHJpbmcoIltQcml2YXRlIENs
aWNrIE1lYXN1cmVtZW50XSBSZWNlaXZlZCBlcnJvcjogJyJfcywgZXJyb3IubG9jYWxpemVkRGVz
Y3JpcHRpb24oKSwgIicgZm9yIGFkIGNsaWNrIGF0dHJpYnV0aW9uIHJlcXVlc3QuIl9zKSk7CiAg
ICAgICAgIH0KICAgICB9KTsKIH0KQEAgLTUyOSwxMiArNTI0LDEyIEBAIHZvaWQgUHJpdmF0ZUNs
aWNrTWVhc3VyZW1lbnRNYW5hZ2VyOjpzZXRQQ01GcmF1ZFByZXZlbnRpb25WYWx1ZXNGb3JUZXN0
aW5nKFN0cmluCiAKIGJvb2wgUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRNYW5hZ2VyOjpmZWF0dXJl
RW5hYmxlZCgpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIG1fbmV0d29ya1Nlc3Npb24gJiYgbV9uZXR3
b3JrUHJvY2Vzcy0+cHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRFbmFibGVkKCkgJiYgIW1fc2Vzc2lv
bklELmlzRXBoZW1lcmFsKCk7CisgICAgcmV0dXJuIG1fY2xpZW50LT5mZWF0dXJlRW5hYmxlZCgp
OwogfQogCiBib29sIFByaXZhdGVDbGlja01lYXN1cmVtZW50TWFuYWdlcjo6ZGVidWdNb2RlRW5h
YmxlZCgpIGNvbnN0CiB7Ci0gICAgcmV0dXJuIG1fbmV0d29ya1Byb2Nlc3MtPnByaXZhdGVDbGlj
a01lYXN1cmVtZW50RGVidWdNb2RlRW5hYmxlZCgpICYmICFtX3Nlc3Npb25JRC5pc0VwaGVtZXJh
bCgpOworICAgIHJldHVybiBtX2NsaWVudC0+ZGVidWdNb2RlRW5hYmxlZCgpOwogfQogCiB2b2lk
IFByaXZhdGVDbGlja01lYXN1cmVtZW50TWFuYWdlcjo6bWFya0F0dHJpYnV0ZWRQcml2YXRlQ2xp
Y2tNZWFzdXJlbWVudHNBc0V4cGlyZWRGb3JUZXN0aW5nKENvbXBsZXRpb25IYW5kbGVyPHZvaWQo
KT4mJiBjb21wbGV0aW9uSGFuZGxlcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvTmV0d29y
a1Byb2Nlc3MvUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRNYW5hZ2VyLmggYi9Tb3VyY2UvV2ViS2l0
L05ldHdvcmtQcm9jZXNzL1ByaXZhdGVDbGlja01lYXN1cmVtZW50TWFuYWdlci5oCmluZGV4IGIy
OWU4MmI4ZTAyOWFmNTVjMzVmZDNjMjA2MzdiYTk1OWUyMjMwNWMuLmNiYTc3ODNkMTc4N2JlNDM2
NDFlNTMyMjFkMjcyMmEyY2QwYjlmZjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvTmV0d29y
a1Byb2Nlc3MvUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRNYW5hZ2VyLmgKKysrIGIvU291cmNlL1dl
YktpdC9OZXR3b3JrUHJvY2Vzcy9Qcml2YXRlQ2xpY2tNZWFzdXJlbWVudE1hbmFnZXIuaApAQCAt
MjcsNiArMjcsNyBAQAogCiAjaW5jbHVkZSAiTmV0d29ya0xvYWRQYXJhbWV0ZXJzLmgiCiAjaW5j
bHVkZSAiTmV0d29ya1Byb2Nlc3MuaCIKKyNpbmNsdWRlICJQcml2YXRlQ2xpY2tNZWFzdXJlbWVu
dENsaWVudC5oIgogI2luY2x1ZGUgIlByaXZhdGVDbGlja01lYXN1cmVtZW50U3RvcmUuaCIKICNp
bmNsdWRlIDxXZWJDb3JlL1ByaXZhdGVDbGlja01lYXN1cmVtZW50Lmg+CiAjaW5jbHVkZSA8V2Vi
Q29yZS9SZWdpc3RyYWJsZURvbWFpbi5oPgpAQCAtNDksMTEgKzUwLDEwIEBAIHB1YmxpYzoKIAog
ICAgIHVzaW5nIEF0dHJpYnV0aW9uRGVzdGluYXRpb25TaXRlID0gV2ViQ29yZTo6UHJpdmF0ZUNs
aWNrTWVhc3VyZW1lbnQ6OkF0dHJpYnV0aW9uRGVzdGluYXRpb25TaXRlOwogICAgIHVzaW5nIEF0
dHJpYnV0aW9uVHJpZ2dlckRhdGEgPSBXZWJDb3JlOjpQcml2YXRlQ2xpY2tNZWFzdXJlbWVudDo6
QXR0cmlidXRpb25UcmlnZ2VyRGF0YTsKLSAgICB1c2luZyBOZXR3b3JrTG9hZENhbGxiYWNrID0g
Q29tcGxldGlvbkhhbmRsZXI8dm9pZChjb25zdCBXZWJDb3JlOjpSZXNvdXJjZUVycm9yJiwgY29u
c3QgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSYsIGNvbnN0IFJlZlB0cjxKU09OOjpPYmplY3Q+
Jik+OwogICAgIHVzaW5nIFByaXZhdGVDbGlja01lYXN1cmVtZW50ID0gV2ViQ29yZTo6UHJpdmF0
ZUNsaWNrTWVhc3VyZW1lbnQ7CiAgICAgdXNpbmcgUmVnaXN0cmFibGVEb21haW4gPSBXZWJDb3Jl
OjpSZWdpc3RyYWJsZURvbWFpbjsKICAgICB1c2luZyBTb3VyY2VTaXRlID0gV2ViQ29yZTo6UHJp
dmF0ZUNsaWNrTWVhc3VyZW1lbnQ6OlNvdXJjZVNpdGU7Ci0gICAgZXhwbGljaXQgUHJpdmF0ZUNs
aWNrTWVhc3VyZW1lbnRNYW5hZ2VyKE5ldHdvcmtTZXNzaW9uJiwgTmV0d29ya1Byb2Nlc3MmLCBQ
QUw6OlNlc3Npb25JRCwgY29uc3QgU3RyaW5nJiBzdG9yYWdlRGlyZWN0b3J5LCBGdW5jdGlvbjx2
b2lkKE5ldHdvcmtMb2FkUGFyYW1ldGVycyYmLCBOZXR3b3JrTG9hZENhbGxiYWNrJiYpPiYmKTsK
KyAgICBleHBsaWNpdCBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudE1hbmFnZXIoVW5pcXVlUmVmPFBD
TTo6Q2xpZW50PiYmLCBjb25zdCBTdHJpbmcmIHN0b3JhZ2VEaXJlY3RvcnkpOwogCiAgICAgdm9p
ZCBzdG9yZVVuYXR0cmlidXRlZChQcml2YXRlQ2xpY2tNZWFzdXJlbWVudCYmKTsKICAgICB2b2lk
IGhhbmRsZUF0dHJpYnV0aW9uKEF0dHJpYnV0aW9uVHJpZ2dlckRhdGEmJiwgY29uc3QgVVJMJiBy
ZXF1ZXN0VVJMLCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmIHJlZGlyZWN0UmVxdWVz
dCk7CkBAIC05NCwxMiArOTQsOSBAQCBwcml2YXRlOgogICAgIGJvb2wgbV9pc1J1bm5pbmdFcGhl
bWVyYWxNZWFzdXJlbWVudFRlc3QgeyBmYWxzZSB9OwogICAgIHN0ZDo6b3B0aW9uYWw8VVJMPiBt
X3Rva2VuUHVibGljS2V5VVJMRm9yVGVzdGluZzsKICAgICBzdGQ6Om9wdGlvbmFsPFVSTD4gbV90
b2tlblNpZ25hdHVyZVVSTEZvclRlc3Rpbmc7Ci0gICAgV2Vha1B0cjxOZXR3b3JrU2Vzc2lvbj4g
bV9uZXR3b3JrU2Vzc2lvbjsKLSAgICBSZWY8TmV0d29ya1Byb2Nlc3M+IG1fbmV0d29ya1Byb2Nl
c3M7Ci0gICAgUEFMOjpTZXNzaW9uSUQgbV9zZXNzaW9uSUQ7CiAgICAgbXV0YWJsZSBSZWZQdHI8
UENNOjpTdG9yZT4gbV9zdG9yZTsKICAgICBTdHJpbmcgbV9zdG9yYWdlRGlyZWN0b3J5OwotICAg
IEZ1bmN0aW9uPHZvaWQoTmV0d29ya0xvYWRQYXJhbWV0ZXJzJiYsIE5ldHdvcmtMb2FkQ2FsbGJh
Y2smJik+IG1fbmV0d29ya0xvYWRGdW5jdGlvbjsKKyAgICBVbmlxdWVSZWY8UENNOjpDbGllbnQ+
IG1fY2xpZW50OwogCiAgICAgc3RydWN0IEF0dHJpYnV0aW9uUmVwb3J0VGVzdENvbmZpZyB7CiAg
ICAgICAgIFVSTCBhdHRyaWJ1dGlvblJlcG9ydFNvdXJjZVVSTDsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvU291cmNlcy50eHQgYi9Tb3VyY2UvV2ViS2l0L1NvdXJjZXMudHh0CmluZGV4IDdk
YmFjZDE4YzBjMjE4ZjI4ZDhjZDQ0MDUwMjc4ZTQ4OThkZjFjNWMuLjE5Y2Y5NGQwZDU5YzYyZjkw
OTRlOGY5OGEyMDA3MzY3YzlkZjkzMTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU291cmNl
cy50eHQKKysrIGIvU291cmNlL1dlYktpdC9Tb3VyY2VzLnR4dApAQCAtOTksNiArOTksNyBAQCBO
ZXR3b3JrUHJvY2Vzcy9Eb3dubG9hZHMvUGVuZGluZ0Rvd25sb2FkLmNwcAogTmV0d29ya1Byb2Nl
c3MvSW5kZXhlZERCL1dlYklEQkNvbm5lY3Rpb25Ub0NsaWVudC5jcHAKIE5ldHdvcmtQcm9jZXNz
L0luZGV4ZWREQi9XZWJJREJTZXJ2ZXIuY3BwCiAKK05ldHdvcmtQcm9jZXNzL1ByaXZhdGVDbGlj
a01lYXN1cmVtZW50L1ByaXZhdGVDbGlja01lYXN1cmVtZW50Q2xpZW50SW1wbC5jcHAKIE5ldHdv
cmtQcm9jZXNzL1ByaXZhdGVDbGlja01lYXN1cmVtZW50L1ByaXZhdGVDbGlja01lYXN1cmVtZW50
RGF0YWJhc2UuY3BwCiBOZXR3b3JrUHJvY2Vzcy9Qcml2YXRlQ2xpY2tNZWFzdXJlbWVudC9Qcml2
YXRlQ2xpY2tNZWFzdXJlbWVudERlYnVnSW5mby5jcHAKIE5ldHdvcmtQcm9jZXNzL1ByaXZhdGVD
bGlja01lYXN1cmVtZW50L1ByaXZhdGVDbGlja01lYXN1cmVtZW50U3RvcmUuY3BwCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291
cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA5ZTQxNmVm
Mzc0NDRlNDJlYmU2OGMwZTEwMDI0YmNlY2ZmYjI3Zjg4Li40YzRmYmI4YWQxM2VjYmMwYTJiMzhh
OTI1OGMzYjM5NmQ2Nzc5NDNkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oKQEAgLTQ1NTMsNiArNDU1Myw5IEBACiAJCTVDQjdBRkU0MjNDNjdE
NjQwMEU0OUNGMyAvKiBBUElSZXNvdXJjZUxvYWRJbmZvLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IEFQSVJlc291cmNlTG9hZEluZm8uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJNUNCN0FGRTUyM0M2N0RGOTAwRTQ5Q0YzIC8qIF9XS1Jlc291cmNlTG9hZEluZm9J
bnRlcm5hbC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBfV0tSZXNvdXJjZUxv
YWRJbmZvSW50ZXJuYWwuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNUNCN0FGRTYy
M0M2ODFCMDAwRTQ5Q0YzIC8qIFJlc291cmNlTG9hZEluZm8uaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gUmVzb3VyY2VMb2FkSW5mby5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQk1Q0I5MzBCRjI2RTA1NDJFMDAzMkIxQzAgLyogUHJpdmF0ZUNsaWNrTWVhc3VyZW1l
bnRDbGllbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUHJpdmF0ZUNsaWNr
TWVhc3VyZW1lbnRDbGllbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNUNCOTMw
QzAyNkUwNTQyRjAwMzJCMUMwIC8qIFByaXZhdGVDbGlja01lYXN1cmVtZW50Q2xpZW50SW1wbC5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBQcml2YXRlQ2xpY2tNZWFz
dXJlbWVudENsaWVudEltcGwuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1Q0I5
MzBDMTI2RTA1NEI4MDAzMkIxQzAgLyogUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnRDbGllbnRJbXBs
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFByaXZhdGVDbGlja01lYXN1cmVt
ZW50Q2xpZW50SW1wbC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1Q0JDOUI4OTFD
NjUyNEE1MDBBOEZEQ0YgLyogTmV0d29ya0RhdGFUYXNrLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IE5ldHdvcmtEYXRhVGFzay5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk1Q0JDOUI4QjFDNjUyNTczMDBBOEZEQ0YgLyogTmV0d29ya0RhdGFUYXNrQ29jb2EubW0g
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBOZXR3b3JrRGF0YVRhc2tD
b2NvYS5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNUNCRTkwOEYyNkQ3RkI2MjAw
NUEyRTk1IC8qIFByaXZhdGVDbGlja01lYXN1cmVtZW50RGVidWdJbmZvLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFByaXZhdGVDbGlja01lYXN1cmVtZW50RGVidWdJbmZvLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC05MjYyLDYgKzkyNjUsOSBAQAogCQk1QzAx
QkMzNTI2RDQ2QUQ0MDBGRUI0MkYgLyogUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnQgKi8gPSB7CiAJ
CQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAorCQkJCTVDQjkzMEJGMjZFMDU0MkUw
MDMyQjFDMCAvKiBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudENsaWVudC5oICovLAorCQkJCTVDQjkz
MEMwMjZFMDU0MkYwMDMyQjFDMCAvKiBQcml2YXRlQ2xpY2tNZWFzdXJlbWVudENsaWVudEltcGwu
Y3BwICovLAorCQkJCTVDQjkzMEMxMjZFMDU0QjgwMDMyQjFDMCAvKiBQcml2YXRlQ2xpY2tNZWFz
dXJlbWVudENsaWVudEltcGwuaCAqLywKIAkJCQk1QzgyNkQ2QTI2RDQ4MkVBMDA4QUVDOTEgLyog
UHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnREYXRhYmFzZS5jcHAgKi8sCiAJCQkJNUM4MjZENjkyNkQ0
ODJFQTAwOEFFQzkxIC8qIFByaXZhdGVDbGlja01lYXN1cmVtZW50RGF0YWJhc2UuaCAqLywKIAkJ
CQk1Q0JFOTA5MDI2RDdGQjdDMDA1QTJFOTUgLyogUHJpdmF0ZUNsaWNrTWVhc3VyZW1lbnREZWJ1
Z0luZm8uY3BwICovLAo=
</data>

          </attachment>
      

    </bug>

</bugzilla>