<?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>191192</bug_id>
          
          <creation_ts>2018-11-02 06:53:35 -0700</creation_ts>
          <short_desc>Add support for sender/receiver getCapabilities</short_desc>
          <delta_ts>2018-11-06 20:03:29 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebRTC</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="youenn fablet">youennf</reporter>
          <assigned_to name="youenn fablet">youennf</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1474466</commentid>
    <comment_count>0</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2018-11-02 06:53:35 -0700</bug_when>
    <thetext>Add support for sender/receiver getCapabilities</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1474468</commentid>
    <comment_count>1</comment_count>
      <attachid>353694</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2018-11-02 06:58:46 -0700</bug_when>
    <thetext>Created attachment 353694
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1474531</commentid>
    <comment_count>2</comment_count>
      <attachid>353694</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2018-11-02 10:04:16 -0700</bug_when>
    <thetext>Comment on attachment 353694
Patch

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

&gt; Source/WebCore/ChangeLog:9
&gt; +        Add corresponding IDL and plumbery down to libwebrtc peer connection factory.

Nit: s/plumbery/plumbing/

&gt; Source/WebCore/Modules/mediastream/PeerConnectionBackend.cpp:64
&gt; +    return { };

Nit: ASSERT_NOT_REACHED?

&gt; Source/WebCore/Modules/mediastream/PeerConnectionBackend.cpp:69
&gt; +    return { };

Ditto.

&gt; Source/WebCore/platform/mediastream/libwebrtc/LibWebRTCProvider.cpp:302
&gt; +    return static_cast&lt;uint32_t&gt;(*numChannels);

safeCast&lt;uint32_t&gt;?

&gt; Source/WebCore/platform/mediastream/libwebrtc/LibWebRTCProvider.cpp:311
&gt; +        capabilities.codecs.uncheckedAppend(RTCRtpCapabilities::CodecCapability { fromStdString(codec.mime_type()), static_cast&lt;uint32_t&gt;(codec.clock_rate ? *codec.clock_rate : 0), toChannels(codec.num_channels), { } });

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1474836</commentid>
    <comment_count>3</comment_count>
      <attachid>353789</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2018-11-03 19:05:49 -0700</bug_when>
    <thetext>Created attachment 353789
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1474870</commentid>
    <comment_count>4</comment_count>
      <attachid>353789</attachid>
    <who name="Eric Carlson">eric.carlson</who>
    <bug_when>2018-11-04 06:20:18 -0800</bug_when>
    <thetext>Comment on attachment 353789
Patch

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

&gt; Source/WebCore/ChangeLog:9
&gt; +        Add corresponding IDL and plumbery down to libwebrtc peer connection factory.

Nit: s/plumbery/plumbing/

&gt; Source/WebCore/Modules/mediastream/PeerConnectionBackend.cpp:64
&gt; +    return { };

Nit: ASSERT_NOT_REACHED()?

&gt; Source/WebCore/Modules/mediastream/PeerConnectionBackend.cpp:69
&gt; +    return { };

Ditto.

&gt; Source/WebCore/platform/mediastream/libwebrtc/LibWebRTCProvider.cpp:302
&gt; +    return static_cast&lt;uint32_t&gt;(*numChannels);

Nit: safeCast&lt;uint32_t&gt;?

&gt; Source/WebCore/platform/mediastream/libwebrtc/LibWebRTCProvider.cpp:310
&gt; +    for (auto&amp; codec : rtpCapabilities.codecs)

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1475823</commentid>
    <comment_count>5</comment_count>
      <attachid>354044</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2018-11-06 18:52:44 -0800</bug_when>
    <thetext>Created attachment 354044
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1475847</commentid>
    <comment_count>6</comment_count>
      <attachid>354044</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-11-06 20:01:58 -0800</bug_when>
    <thetext>Comment on attachment 354044
Patch for landing

Clearing flags on attachment: 354044

Committed r237911: &lt;https://trac.webkit.org/changeset/237911&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1475848</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-11-06 20:02:00 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1475849</commentid>
    <comment_count>8</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-11-06 20:03:29 -0800</bug_when>
    <thetext>&lt;rdar://problem/45864599&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>353694</attachid>
            <date>2018-11-02 06:58:46 -0700</date>
            <delta_ts>2018-11-03 19:05:45 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-191192-20181102145844.patch</filename>
            <type>text/plain</type>
            <size>29198</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM3NjI4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYTE3NDZmNjA2Yjg4YTIx
ZTFiMTFhMGI4MTFlNDBiZjM5ZDllM2VjYy4uZGFjYzJiM2RkNmM2MWMzZGNhYTNlNzhhMGI4ZGFj
Yzk3NTYzNTMzMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQzIEBACisyMDE4LTExLTAyICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgc3VwcG9ydCBmb3Ig
c2VuZGVyL3JlY2VpdmVyIGdldENhcGFiaWxpdGllcworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkxMTkyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgRXhwb3NlIHNlbmRlci9yZWNlaXZlciBSVENSdHBDYXBh
YmlsaXRpZXMgdG8gSlMuCisgICAgICAgIEFkZCBjb3JyZXNwb25kaW5nIElETCBhbmQgcGx1bWJl
cnkgZG93biB0byBsaWJ3ZWJydGMgcGVlciBjb25uZWN0aW9uIGZhY3RvcnkuCisgICAgICAgIENv
dmVyZWQgYnkgcmViYXNlZCB0ZXN0cy4KKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAg
ICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVh
bS9QZWVyQ29ubmVjdGlvbkJhY2tlbmQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGVlckNvbm5l
Y3Rpb25CYWNrZW5kOjpyZWNlaXZlckNhcGFiaWxpdGllcyk6CisgICAgICAgIChXZWJDb3JlOjpQ
ZWVyQ29ubmVjdGlvbkJhY2tlbmQ6OnNlbmRlckNhcGFiaWxpdGllcyk6CisgICAgICAgICogTW9k
dWxlcy9tZWRpYXN0cmVhbS9QZWVyQ29ubmVjdGlvbkJhY2tlbmQuaDoKKyAgICAgICAgKiBNb2R1
bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFJlY2VpdmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJU
Q1J0cFJlY2VpdmVyOjpnZXRDYXBhYmlsaXRpZXMpOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFz
dHJlYW0vUlRDUnRwUmVjZWl2ZXIuaDoKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL1JU
Q1J0cFJlY2VpdmVyLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFNl
bmRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSVENSdHBTZW5kZXI6OmdldENhcGFiaWxpdGll
cyk6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBTZW5kZXIuaDoKKyAgICAg
ICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFNlbmRlci5pZGw6CisgICAgICAgICogTW9k
dWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDUGVlckNvbm5lY3Rpb25CYWNrZW5k
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBlZXJDb25uZWN0aW9uQmFja2VuZDo6cmVjZWl2ZXJD
YXBhYmlsaXRpZXMpOgorICAgICAgICAoV2ViQ29yZTo6UGVlckNvbm5lY3Rpb25CYWNrZW5kOjpz
ZW5kZXJDYXBhYmlsaXRpZXMpOgorICAgICAgICAqIFNvdXJjZXMudHh0OgorICAgICAgICAqIFdl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRp
YXN0cmVhbS9SVENQTXV4UG9saWN5Lmg6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJlYW0v
bGlid2VicnRjL0xpYldlYlJUQ1Byb3ZpZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnR5cGVG
cm9tS2luZCk6CisgICAgICAgIChXZWJDb3JlOjpmcm9tU3RkU3RyaW5nKToKKyAgICAgICAgKFdl
YkNvcmU6OnRvQ2hhbm5lbHMpOgorICAgICAgICAoV2ViQ29yZTo6dG9SVENSdHBDYXBhYmlsaXRp
ZXMpOgorICAgICAgICAoV2ViQ29yZTo6TGliV2ViUlRDUHJvdmlkZXI6OnJlY2VpdmVyQ2FwYWJp
bGl0aWVzKToKKyAgICAgICAgKFdlYkNvcmU6OkxpYldlYlJUQ1Byb3ZpZGVyOjpzZW5kZXJDYXBh
YmlsaXRpZXMpOgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJX
ZWJSVENQcm92aWRlci5oOgorCiAyMDE4LTExLTAyICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFw
cGxlLmNvbT4KIAogICAgICAgICBBZGQgc3VwcG9ydCBmb3IgUlRDTXV4UG9saWN5CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL0NNYWtl
TGlzdHMudHh0CmluZGV4IDEyOWI2YzU0OTMyZjllNGU4ODQ2NmRjZjkxOGNiZDZlMTc0NjQyZDUu
LjA3NjY4ZDQ3NDYzMmVlZWIzMDkwZTU3ODQ1NjNjNTIzYWRlYzE4N2YgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlz
dHMudHh0CkBAIC0zMzAsNiArMzMwLDcgQEAgc2V0KFdlYkNvcmVfTk9OX1NWR19JRExfRklMRVMK
ICAgICBNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9uSWNlRXZlbnQuaWRsCiAg
ICAgTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvblN0YXRlLmlkbAogICAgIE1v
ZHVsZXMvbWVkaWFzdHJlYW0vUlRDUHJpb3JpdHlUeXBlLmlkbAorICAgIE1vZHVsZXMvbWVkaWFz
dHJlYW0vUlRDUnRwQ2FwYWJpbGl0aWVzLmlkbAogICAgIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRD
UnRwQ29kZWNQYXJhbWV0ZXJzLmlkbAogICAgIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwQ29u
dHJpYnV0aW5nU291cmNlLmlkbAogICAgIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwRW5jb2Rp
bmdQYXJhbWV0ZXJzLmlkbApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJj
ZXMubWFrZSBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5kZXggNjYzOTBk
NDlmYjM5ZDZjNGIyYzQ3NjI2MDVkMjYwNWZiMmI1YjEwZC4uMTZmMjZlNTIwZTc0ZDM3Mjc1NTdi
YmIwYWM3NmU3M2FiMTk0ZjVmYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNv
dXJjZXMubWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCkBAIC0y
NTMsNiArMjUzLDcgQEAgSlNfQklORElOR19JRExTID0gXAogICAgICQoV2ViQ29yZSkvTW9kdWxl
cy9tZWRpYXN0cmVhbS9SVENPZmZlck9wdGlvbnMuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVs
ZXMvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24uaWRsIFwKICAgICAkKFdlYkNvcmUpL01v
ZHVsZXMvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb25TdGF0ZS5pZGwgXAorICAgICQoV2Vi
Q29yZSkvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBDYXBhYmlsaXRpZXMuaWRsIFwKICAgICAk
KFdlYkNvcmUpL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwQ29kZWNQYXJhbWV0ZXJzLmlkbCBc
CiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cENvbnRyaWJ1dGluZ1Nv
dXJjZS5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBFbmNv
ZGluZ1BhcmFtZXRlcnMuaWRsIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMv
bWVkaWFzdHJlYW0vUGVlckNvbm5lY3Rpb25CYWNrZW5kLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvbWVkaWFzdHJlYW0vUGVlckNvbm5lY3Rpb25CYWNrZW5kLmNwcAppbmRleCAyZTY5ZDhl
MTdiZTQzNGNkYTUyNDIwNGUxNmE5ZWQ2N2Y0MjA3MzY2Li4xOGRlMzMyMDIzY2IyZWQ0ZDliNGE2
OTBjZmIzODc4MTZiMjFjNTFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21l
ZGlhc3RyZWFtL1BlZXJDb25uZWN0aW9uQmFja2VuZC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9tZWRpYXN0cmVhbS9QZWVyQ29ubmVjdGlvbkJhY2tlbmQuY3BwCkBAIC00Miw2ICs0
Miw3IEBACiAjaW5jbHVkZSAiUlRDSWNlQ2FuZGlkYXRlLmgiCiAjaW5jbHVkZSAiUlRDUGVlckNv
bm5lY3Rpb24uaCIKICNpbmNsdWRlICJSVENQZWVyQ29ubmVjdGlvbkljZUV2ZW50LmgiCisjaW5j
bHVkZSAiUlRDUnRwQ2FwYWJpbGl0aWVzLmgiCiAjaW5jbHVkZSAiUnVudGltZUVuYWJsZWRGZWF0
dXJlcy5oIgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0J1aWxkZXIuaD4KICNpbmNsdWRlIDx3
dGYvdGV4dC9TdHJpbmdDb25jYXRlbmF0ZU51bWJlcnMuaD4KQEAgLTU3LDYgKzU4LDE2IEBAIHN0
YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8UGVlckNvbm5lY3Rpb25CYWNrZW5kPiBjcmVhdGVOb1BlZXJD
b25uZWN0aW9uQmFja2VuZChSVENQCiB9CiAKIENyZWF0ZVBlZXJDb25uZWN0aW9uQmFja2VuZCBQ
ZWVyQ29ubmVjdGlvbkJhY2tlbmQ6OmNyZWF0ZSA9IGNyZWF0ZU5vUGVlckNvbm5lY3Rpb25CYWNr
ZW5kOworCitSVENSdHBDYXBhYmlsaXRpZXMgUGVlckNvbm5lY3Rpb25CYWNrZW5kOjpyZWNlaXZl
ckNhcGFiaWxpdGllcyhTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgY29uc3QgU3RyaW5nJikKK3sK
KyAgICByZXR1cm4geyB9OworfQorCitSVENSdHBDYXBhYmlsaXRpZXMgUGVlckNvbm5lY3Rpb25C
YWNrZW5kOjpzZW5kZXJDYXBhYmlsaXRpZXMoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIGNvbnN0
IFN0cmluZyYpCit7CisgICAgcmV0dXJuIHsgfTsKK30KICNlbmRpZgogCiBQZWVyQ29ubmVjdGlv
bkJhY2tlbmQ6OlBlZXJDb25uZWN0aW9uQmFja2VuZChSVENQZWVyQ29ubmVjdGlvbiYgcGVlckNv
bm5lY3Rpb24pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFt
L1BlZXJDb25uZWN0aW9uQmFja2VuZC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0
cmVhbS9QZWVyQ29ubmVjdGlvbkJhY2tlbmQuaAppbmRleCA1NmY2ZjA5ZGYzZTU4Njc2ZGY0MTk5
Y2VjYWFhMzRhMGM4MTU5YzRlLi41Y2I4MGJlZjNjY2U4Yzc2ODFhYmJmMjFjZDMxMDFhYTk5NGNm
ZGRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1BlZXJD
b25uZWN0aW9uQmFja2VuZC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJl
YW0vUGVlckNvbm5lY3Rpb25CYWNrZW5kLmgKQEAgLTc5LDYgKzc5LDkgQEAgY2xhc3MgUGVlckNv
bm5lY3Rpb25CYWNrZW5kCiBwdWJsaWM6CiAgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIENyZWF0
ZVBlZXJDb25uZWN0aW9uQmFja2VuZCBjcmVhdGU7CiAKKyAgICBzdGF0aWMgUlRDUnRwQ2FwYWJp
bGl0aWVzIHJlY2VpdmVyQ2FwYWJpbGl0aWVzKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBjb25z
dCBTdHJpbmcmIGtpbmQpOworICAgIHN0YXRpYyBSVENSdHBDYXBhYmlsaXRpZXMgc2VuZGVyQ2Fw
YWJpbGl0aWVzKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBjb25zdCBTdHJpbmcmIGtpbmQpOwor
CiAgICAgZXhwbGljaXQgUGVlckNvbm5lY3Rpb25CYWNrZW5kKFJUQ1BlZXJDb25uZWN0aW9uJik7
CiAgICAgdmlydHVhbCB+UGVlckNvbm5lY3Rpb25CYWNrZW5kKCkgPSBkZWZhdWx0OwogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFJlY2VpdmVy
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwUmVjZWl2ZXIu
Y3BwCmluZGV4IDJlNmRkYzQ5OTU1YzZiZGYyNTRiOGEwY2UwMTZhOTE2YTkzMzBjNmYuLjIyMDQ3
MmVhYzZjNTNkOGU1MWVmZWExNDk1YjYwZjEwNjU3OTAzOTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwUmVjZWl2ZXIuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwUmVjZWl2ZXIuY3BwCkBAIC0zMiw3
ICszMiw5IEBACiAjaW5jbHVkZSAiUlRDUnRwUmVjZWl2ZXIuaCIKIAogI2lmIEVOQUJMRShXRUJf
UlRDKQorCiAjaW5jbHVkZSAiUGVlckNvbm5lY3Rpb25CYWNrZW5kLmgiCisjaW5jbHVkZSAiUlRD
UnRwQ2FwYWJpbGl0aWVzLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtNjEsNiArNjMs
MTEgQEAgdm9pZCBSVENSdHBSZWNlaXZlcjo6Z2V0U3RhdHMoUmVmPERlZmVycmVkUHJvbWlzZT4m
JiBwcm9taXNlKQogICAgIG1fY29ubmVjdGlvbi0+Z2V0U3RhdHMoKnRoaXMsIFdURk1vdmUocHJv
bWlzZSkpOwogfQogCitSVENSdHBDYXBhYmlsaXRpZXMgUlRDUnRwUmVjZWl2ZXI6OmdldENhcGFi
aWxpdGllcyhTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBjb25zdCBTdHJpbmcmIGtp
bmQpCit7CisgICAgcmV0dXJuIFBlZXJDb25uZWN0aW9uQmFja2VuZDo6cmVjZWl2ZXJDYXBhYmls
aXRpZXMoY29udGV4dCwga2luZCk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2Vu
ZGlmIC8vIEVOQUJMRShXRUJfUlRDKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9tZWRpYXN0cmVhbS9SVENSdHBSZWNlaXZlci5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
ZWRpYXN0cmVhbS9SVENSdHBSZWNlaXZlci5oCmluZGV4IGI0ZmVlNjBhZmMxOGJkNTk2ZTE2YzQw
ODBkMGNmNjA4ZTQwNDFjNDIuLjBiYjkxZDg5NTQ0NGZkMDk0M2FhOGVjNzcxNTYxN2NkYmQ2Zjgy
ZDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRw
UmVjZWl2ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0
cFJlY2VpdmVyLmgKQEAgLTQwLDYgKzQwLDcgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xh
c3MgUGVlckNvbm5lY3Rpb25CYWNrZW5kOworc3RydWN0IFJUQ1J0cENhcGFiaWxpdGllczsKIAog
Y2xhc3MgUlRDUnRwUmVjZWl2ZXIgOiBwdWJsaWMgUmVmQ291bnRlZDxSVENSdHBSZWNlaXZlcj4s
IHB1YmxpYyBTY3JpcHRXcmFwcGFibGUgIHsKIHB1YmxpYzoKQEAgLTQ4LDYgKzQ5LDggQEAgcHVi
bGljOgogICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBSVENSdHBSZWNlaXZlcihjb25uZWN0
aW9uLCBXVEZNb3ZlKHRyYWNrKSwgV1RGTW92ZShiYWNrZW5kKSkpOwogICAgIH0KIAorICAgIHN0
YXRpYyBSVENSdHBDYXBhYmlsaXRpZXMgZ2V0Q2FwYWJpbGl0aWVzKFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQmLCBjb25zdCBTdHJpbmcmIGtpbmQpOworCiAgICAgdm9pZCBzdG9wKCk7CiAKICAgICB2
b2lkIHNldEJhY2tlbmQoc3RkOjp1bmlxdWVfcHRyPFJUQ1J0cFJlY2VpdmVyQmFja2VuZD4mJiBi
YWNrZW5kKSB7IG1fYmFja2VuZCA9IFdURk1vdmUoYmFja2VuZCk7IH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwUmVjZWl2ZXIuaWRsIGIvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBSZWNlaXZlci5pZGwKaW5kZXgg
OWQ4NTY1YTc2ZDBkYTkwZDczOGZjYzZkYmU1NGMwZmRhMzc0YzYwOC4uNzc1ZDUzNGNmYmRhNzg1
NDUzNTFmMTQ0OThkMjAzZGNhY2NhZDVhMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9tZWRpYXN0cmVhbS9SVENSdHBSZWNlaXZlci5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBSZWNlaXZlci5pZGwKQEAgLTM1LDEwICszNSwxMCBA
QAogICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUKIF0gaW50ZXJmYWNlIFJUQ1J0cFJlY2Vp
dmVyIHsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgTWVkaWFTdHJlYW1UcmFjayB0cmFjazsKKy8v
IEZJWE1FIDE2OTY2MjogbWlzc2luZyB0cmFuc3BvcnQKKy8vIEZJWE1FIDE2OTY2MjogbWlzc2lu
ZyBydGNwVHJhbnNwb3J0CisgICAgW0NhbGxXaXRoPVNjcmlwdEV4ZWN1dGlvbkNvbnRleHRdIHN0
YXRpYyBSVENSdHBDYXBhYmlsaXRpZXM/IGdldENhcGFiaWxpdGllcyhET01TdHJpbmcga2luZCk7
CiAgICAgUlRDUnRwUGFyYW1ldGVycyBnZXRQYXJhbWV0ZXJzKCk7Ci0gICAgLy8gRklYTUUgMTY5
NjYyOiBtaXNzaW5nIHRyYW5zcG9ydAotICAgIC8vIEZJWE1FIDE2OTY2MjogbWlzc2luZyBydGNw
VHJhbnNwb3J0Ci0gICAgLy8gRklYTUUgMTY5NjYyOiBtaXNzaW5nIGdldENhcGFiaWxpdGllcwog
ICAgIHNlcXVlbmNlPFJUQ1J0cENvbnRyaWJ1dGluZ1NvdXJjZT4gZ2V0Q29udHJpYnV0aW5nU291
cmNlcygpOwogICAgIHNlcXVlbmNlPFJUQ1J0cFN5bmNocm9uaXphdGlvblNvdXJjZT4gZ2V0U3lu
Y2hyb25pemF0aW9uU291cmNlcygpOwogICAgIFByb21pc2U8UlRDU3RhdHNSZXBvcnQ+IGdldFN0
YXRzKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JU
Q1J0cFNlbmRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0
cFNlbmRlci5jcHAKaW5kZXggYzdjYTJiNGYyN2Q5OTU5ZmIzMTE1NTQ0N2IxYTlmNmU1NzUzNzc3
ZC4uM2MyNmYwNmRiODZjMjc4YmYyMGRkNTYyZWUxYzMwMWEyMWIzMmMzNSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBTZW5kZXIuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwU2VuZGVyLmNwcApAQCAt
MzMsNiArMzMsNyBAQAogCiAjaWYgRU5BQkxFKFdFQl9SVEMpCiAKKyNpbmNsdWRlICJSVENSdHBD
YXBhYmlsaXRpZXMuaCIKICNpbmNsdWRlICJSdW50aW1lRW5hYmxlZEZlYXR1cmVzLmgiCiAKIG5h
bWVzcGFjZSBXZWJDb3JlIHsKQEAgLTEyMCw2ICsxMjEsMTEgQEAgdm9pZCBSVENSdHBTZW5kZXI6
OmdldFN0YXRzKFJlZjxEZWZlcnJlZFByb21pc2U+JiYgcHJvbWlzZSkKICAgICBtX2Nvbm5lY3Rp
b24tPmdldFN0YXRzKCp0aGlzLCBXVEZNb3ZlKHByb21pc2UpKTsKIH0KIAorUlRDUnRwQ2FwYWJp
bGl0aWVzIFJUQ1J0cFNlbmRlcjo6Z2V0Q2FwYWJpbGl0aWVzKFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQmIGNvbnRleHQsIGNvbnN0IFN0cmluZyYga2luZCkKK3sKKyAgICByZXR1cm4gUGVlckNvbm5l
Y3Rpb25CYWNrZW5kOjpzZW5kZXJDYXBhYmlsaXRpZXMoY29udGV4dCwga2luZCk7Cit9CisKIH0g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8vIEVOQUJMRShXRUJfUlRDKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBTZW5kZXIuaCBi
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwU2VuZGVyLmgKaW5kZXgg
NDlhYWQzZTMzNDRmZGU2YWNjYTQ2ZWRjOWFhZTY4N2QzMWU3N2Q2Ni4uZTE0NzVlMjA2MDE4MGZk
MWRlODhmNTQzYzY1ZmE1MzA3MjdjODUyNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9tZWRpYXN0cmVhbS9SVENSdHBTZW5kZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFNlbmRlci5oCkBAIC00MCwxMiArNDAsMTUgQEAKIG5hbWVz
cGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgUGVlckNvbm5lY3Rpb25CYWNrZW5kOworc3RydWN0IFJU
Q1J0cENhcGFiaWxpdGllczsKIAogY2xhc3MgUlRDUnRwU2VuZGVyIDogcHVibGljIFJlZkNvdW50
ZWQ8UlRDUnRwU2VuZGVyPiwgcHVibGljIFNjcmlwdFdyYXBwYWJsZSB7CiBwdWJsaWM6CiAgICAg
c3RhdGljIFJlZjxSVENSdHBTZW5kZXI+IGNyZWF0ZShQZWVyQ29ubmVjdGlvbkJhY2tlbmQmLCBS
ZWY8TWVkaWFTdHJlYW1UcmFjaz4mJiwgVmVjdG9yPFN0cmluZz4mJiBtZWRpYVN0cmVhbUlkcywg
c3RkOjp1bmlxdWVfcHRyPFJUQ1J0cFNlbmRlckJhY2tlbmQ+JiYpOwogICAgIHN0YXRpYyBSZWY8
UlRDUnRwU2VuZGVyPiBjcmVhdGUoUGVlckNvbm5lY3Rpb25CYWNrZW5kJiwgU3RyaW5nJiYgdHJh
Y2tLaW5kLCBWZWN0b3I8U3RyaW5nPiYmIG1lZGlhU3RyZWFtSWRzLCBzdGQ6OnVuaXF1ZV9wdHI8
UlRDUnRwU2VuZGVyQmFja2VuZD4mJik7CiAKKyAgICBzdGF0aWMgUlRDUnRwQ2FwYWJpbGl0aWVz
IGdldENhcGFiaWxpdGllcyhTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgY29uc3QgU3RyaW5nJiBr
aW5kKTsKKwogICAgIE1lZGlhU3RyZWFtVHJhY2sqIHRyYWNrKCkgeyByZXR1cm4gbV90cmFjay5n
ZXQoKTsgfQogCiAgICAgY29uc3QgU3RyaW5nJiB0cmFja0lkKCkgY29uc3QgeyByZXR1cm4gbV90
cmFja0lkOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFt
L1JUQ1J0cFNlbmRlci5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JU
Q1J0cFNlbmRlci5pZGwKaW5kZXggMDljZGI4ZTM0NTk5M2NlOThkNmJkMzU5Y2MyYjM2NmM3ZWUy
MTIyZC4uM2MyMDJhNmIyOWY4Nzc3YWJhZWJiMWY2Y2ZmODdmNmI0NmIwMDlhMCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBTZW5kZXIuaWRsCisr
KyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwU2VuZGVyLmlkbApA
QCAtMzcsOCArMzcsOCBAQAogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBNZWRpYVN0cmVhbVRyYWNr
PyB0cmFjazsKICAgICAvLyBGSVhNRSAxNjk2NjI6IG1pc3NpbmcgdHJhbnNwb3J0CiAgICAgLy8g
RklYTUUgMTY5NjYyOiBtaXNzaW5nIHJ0Y3BUcmFuc3BvcnQKLSAgICAvLyBGSVhNRSAxNjk2NjI6
IG1pc3NpbmcgZ2V0Q2FwYWJpbGl0aWVzCiAgICAgLy8gRklYTUUgMTY5NjYyOiBtaXNzaW5nIHNl
dFN0cmVhbXMKKyAgICBbQ2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4dF0gc3RhdGljIFJU
Q1J0cENhcGFiaWxpdGllcz8gZ2V0Q2FwYWJpbGl0aWVzKERPTVN0cmluZyBraW5kKTsKICAgICBS
VENSdHBTZW5kUGFyYW1ldGVycyBnZXRQYXJhbWV0ZXJzKCk7CiAgICAgUHJvbWlzZTx2b2lkPiBz
ZXRQYXJhbWV0ZXJzKFJUQ1J0cFNlbmRQYXJhbWV0ZXJzIHBhcmFtZXRlcnMpOwogICAgIFtDYWxs
V2l0aD1TY3JpcHRFeGVjdXRpb25Db250ZXh0XSBQcm9taXNlPHZvaWQ+IHJlcGxhY2VUcmFjayhN
ZWRpYVN0cmVhbVRyYWNrPyB3aXRoVHJhY2spOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
TW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDUGVlckNvbm5lY3Rpb25CYWNr
ZW5kLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xp
YldlYlJUQ1BlZXJDb25uZWN0aW9uQmFja2VuZC5jcHAKaW5kZXggMmNkOWQzNzIyMzNjYWMyOTIx
ZDc1M2UzNDE0YzMzZjMyYTc3ZWNkOS4uY2ZiMzE1OWE5MmNiODAzYWVlZTIwNWI0ZDllY2VlNmU1
ZjI1NmMwNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9s
aWJ3ZWJydGMvTGliV2ViUlRDUGVlckNvbm5lY3Rpb25CYWNrZW5kLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENQZWVyQ29ubmVj
dGlvbkJhY2tlbmQuY3BwCkBAIC0zOCw2ICszOCw3IEBACiAjaW5jbHVkZSAiUGFnZS5oIgogI2lu
Y2x1ZGUgIlJUQ0ljZUNhbmRpZGF0ZS5oIgogI2luY2x1ZGUgIlJUQ1BlZXJDb25uZWN0aW9uLmgi
CisjaW5jbHVkZSAiUlRDUnRwQ2FwYWJpbGl0aWVzLmgiCiAjaW5jbHVkZSAiUlRDUnRwUmVjZWl2
ZXIuaCIKICNpbmNsdWRlICJSVENTZXNzaW9uRGVzY3JpcHRpb24uaCIKICNpbmNsdWRlICJSZWFs
dGltZUluY29taW5nQXVkaW9Tb3VyY2UuaCIKQEAgLTY1LDYgKzY2LDIyIEBAIHN0YXRpYyBzdGQ6
OnVuaXF1ZV9wdHI8UGVlckNvbm5lY3Rpb25CYWNrZW5kPiBjcmVhdGVMaWJXZWJSVENQZWVyQ29u
bmVjdGlvbkJhY2tlCiAKIENyZWF0ZVBlZXJDb25uZWN0aW9uQmFja2VuZCBQZWVyQ29ubmVjdGlv
bkJhY2tlbmQ6OmNyZWF0ZSA9IGNyZWF0ZUxpYldlYlJUQ1BlZXJDb25uZWN0aW9uQmFja2VuZDsK
IAorUlRDUnRwQ2FwYWJpbGl0aWVzIFBlZXJDb25uZWN0aW9uQmFja2VuZDo6cmVjZWl2ZXJDYXBh
YmlsaXRpZXMoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgY29uc3QgU3RyaW5nJiBr
aW5kKQoreworICAgIGF1dG8qIHBhZ2UgPSBkb3duY2FzdDxEb2N1bWVudD4oY29udGV4dCkucGFn
ZSgpOworICAgIGlmICghcGFnZSkKKyAgICAgICAgcmV0dXJuIHsgfTsKKyAgICByZXR1cm4gcGFn
ZS0+bGliV2ViUlRDUHJvdmlkZXIoKS5yZWNlaXZlckNhcGFiaWxpdGllcyhraW5kKTsKK30KKwor
UlRDUnRwQ2FwYWJpbGl0aWVzIFBlZXJDb25uZWN0aW9uQmFja2VuZDo6c2VuZGVyQ2FwYWJpbGl0
aWVzKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIGNvbnN0IFN0cmluZyYga2luZCkK
K3sKKyAgICBhdXRvKiBwYWdlID0gZG93bmNhc3Q8RG9jdW1lbnQ+KGNvbnRleHQpLnBhZ2UoKTsK
KyAgICBpZiAoIXBhZ2UpCisgICAgICAgIHJldHVybiB7IH07CisgICAgcmV0dXJuIHBhZ2UtPmxp
YldlYlJUQ1Byb3ZpZGVyKCkuc2VuZGVyQ2FwYWJpbGl0aWVzKGtpbmQpOworfQorCiBMaWJXZWJS
VENQZWVyQ29ubmVjdGlvbkJhY2tlbmQ6OkxpYldlYlJUQ1BlZXJDb25uZWN0aW9uQmFja2VuZChS
VENQZWVyQ29ubmVjdGlvbiYgcGVlckNvbm5lY3Rpb24sIExpYldlYlJUQ1Byb3ZpZGVyJiBwcm92
aWRlcikKICAgICA6IFBlZXJDb25uZWN0aW9uQmFja2VuZChwZWVyQ29ubmVjdGlvbikKICAgICAs
IG1fZW5kcG9pbnQoTGliV2ViUlRDTWVkaWFFbmRwb2ludDo6Y3JlYXRlKCp0aGlzLCBwcm92aWRl
cikpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dCBiL1NvdXJjZS9XZWJD
b3JlL1NvdXJjZXMudHh0CmluZGV4IDE0YjRiOWYyOGEwYjMwODdmODEyOTFiZjcwY2FhZDYxZjAy
NDI2YTIuLjliNDdhMmQ2NzUwYjhiMzA4ZDMzYzVlMjI5N2E2ODhiODdmOTk3NWIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL1NvdXJj
ZXMudHh0CkBAIC0yOTI2LDYgKzI5MjYsNyBAQCBKU1JUQ1BlZXJDb25uZWN0aW9uLmNwcAogSlNS
VENQZWVyQ29ubmVjdGlvbkljZUV2ZW50LmNwcAogSlNSVENQZWVyQ29ubmVjdGlvblN0YXRlLmNw
cAogSlNSVENQcmlvcml0eVR5cGUuY3BwCitKU1JUQ1J0cENhcGFiaWxpdGllcy5jcHAKIEpTUlRD
UnRwQ29kZWNQYXJhbWV0ZXJzLmNwcAogSlNSVENSdHBDb250cmlidXRpbmdTb3VyY2UuY3BwCiBK
U1JUQ1J0cEVuY29kaW5nUGFyYW1ldGVycy5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA0NjVkY2VjNDIwNGIzOGZkNDU1MTEw
MGY4MjM5OTA0MWU2MjM0NDZiLi41MTk5MzAwMzYxZDk3NTAwYTc0Nzg4ZTQ1YjRmOTRkNWQ0NThj
N2U2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCkBAIC03MjcxLDYgKzcyNzEsOCBAQAogCQk0MTMxRjNCNDFGOTU1QkMzMDA1OTk5NUEg
LyogRXh0ZW5kYWJsZUV2ZW50SW5pdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBFeHRlbmRhYmxlRXZlbnRJbml0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQx
MzFGM0I1MUY5NTVCQzUwMDU5OTk1QSAvKiBFeHRlbmRhYmxlRXZlbnRJbml0LmlkbCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHRleHQ7IHBhdGggPSBFeHRlbmRhYmxlRXZlbnRJbml0LmlkbDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJNDEzM0NCODkyMEY4MEU4NjAwRTg5QjExIC8qIE1lZGlhU3RyZWFtQXVk
aW9Tb3VyY2VDb2NvYS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBN
ZWRpYVN0cmVhbUF1ZGlvU291cmNlQ29jb2EuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQk0MTM2OUU1NTIxOEM3NkUzMDA3OTJFMjkgLyogUlRDUnRwQ2FwYWJpbGl0aWVzLmlkbCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHRleHQ7IHBhdGggPSBSVENSdHBDYXBhYmlsaXRpZXMuaWRsOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQk0MTM2OUU1NzIxOEM3ODM5MDA3OTJFMjkgLyogUlRDUnRwQ2Fw
YWJpbGl0aWVzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJUQ1J0cENhcGFi
aWxpdGllcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MTM4MEMyMDFGMzQzNjhB
MDAxNTVGREEgLyogRE9NQ2FjaGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gRE9NQ2FjaGUuY3Bw
OyBwYXRoID0gTW9kdWxlcy9jYWNoZS9ET01DYWNoZS5jcHA7IHNvdXJjZVRyZWUgPSBTT1VSQ0Vf
Uk9PVDsgfTsKIAkJNDEzODBDMjExRjM0MzY4RDAwMTU1RkRBIC8qIERPTUNhY2hlU3RvcmFnZS5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBET01DYWNoZVN0b3JhZ2UuY3BwOyBwYXRoID0gTW9kdWxl
cy9jYWNoZS9ET01DYWNoZVN0b3JhZ2UuY3BwOyBzb3VyY2VUcmVlID0gU09VUkNFX1JPT1Q7IH07
CiAJCTQxMzgwQzIyMUYzNDM2OTAwMDE1NUZEQSAvKiBET01DYWNoZVN0b3JhZ2UuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBuYW1lID0gRE9NQ2FjaGVTdG9yYWdlLmg7IHBhdGggPSBNb2R1bGVzL2NhY2hlL0RPTUNhY2hl
U3RvcmFnZS5oOyBzb3VyY2VUcmVlID0gU09VUkNFX1JPT1Q7IH07CkBAIC0xNTQzNyw2ICsxNTQz
OSw3IEBACiAJCQkJNDFBNDhBOUMxRTgzMTI5MTAwRDJBQzJEIC8qIFJUQ1BlZXJDb25uZWN0aW9u
U3RhdGUuaWRsICovLAogCQkJCTQxRkNCNzVDMjE0ODY2RkUwMDM4QURDNiAvKiBSVENQcmlvcml0
eVR5cGUuaCAqLywKIAkJCQk0MUU1OTNGRDIxNDg2NUE5MDBEM0NCNjEgLyogUlRDUHJpb3JpdHlU
eXBlLmlkbCAqLywKKwkJCQk0MTM2OUU1NTIxOEM3NkUzMDA3OTJFMjkgLyogUlRDUnRwQ2FwYWJp
bGl0aWVzLmlkbCAqLywKIAkJCQk0MUZDQjc1RjIxNDg2NkZGMDAzOEFEQzYgLyogUlRDUnRwQ29k
ZWNQYXJhbWV0ZXJzLmggKi8sCiAJCQkJNDFGQ0I3NTkyMTQ4NjVEMzAwMzhBREM2IC8qIFJUQ1J0
cENvZGVjUGFyYW1ldGVycy5pZGwgKi8sCiAJCQkJNDE0QUQzRkYyMTQ5OEQzMDAwNTIxNjc2IC8q
IFJUQ1J0cENvZGluZ1BhcmFtZXRlcnMuaCAqLywKQEAgLTE1NTQ2LDkgKzE1NTQ5LDEwIEBACiAJ
CQkJMzEzNTkxMDExRTdEREM2MDAwRjMwNjMwIC8qIFJUQ0ljZUdhdGhlcmluZ1N0YXRlLmggKi8s
CiAJCQkJMzEzNTkxMDIxRTdEREM2MDAwRjMwNjMwIC8qIFJUQ0ljZVRyYW5zcG9ydFBvbGljeS5o
ICovLAogCQkJCTMxMzU5MTAzMUU3RERDNjAwMEYzMDYzMCAvKiBSVENJY2VUcmFuc3BvcnRTdGF0
ZS5oICovLAotCQkJCTQxMkJBNUZFMjE4QzY1MTgwMDM2NTQ3NCAvKiBSVENQTXV4UG9saWN5Lmgg
Ki8sCiAJCQkJMDcyMjFCQUExN0NGMEFENDAwODQ4RTUxIC8qIFJUQ1BlZXJDb25uZWN0aW9uSGFu
ZGxlckNsaWVudC5oICovLAogCQkJCTQxQTQ4QTlEMUU4MzEyRUIwMEQyQUMyRCAvKiBSVENQZWVy
Q29ubmVjdGlvblN0YXRlLmggKi8sCisJCQkJNDEyQkE1RkUyMThDNjUxODAwMzY1NDc0IC8qIFJU
Q1BNdXhQb2xpY3kuaCAqLywKKwkJCQk0MTM2OUU1NzIxOEM3ODM5MDA3OTJFMjkgLyogUlRDUnRw
Q2FwYWJpbGl0aWVzLmggKi8sCiAJCQkJMzFFQjU0REQxRTdEQzc0NDAwQzE2MjNCIC8qIFJUQ1J0
cFRyYW5zY2VpdmVyRGlyZWN0aW9uLmggKi8sCiAJCQkJMzEzNTkxMDQxRTdEREM2MDAwRjMwNjMw
IC8qIFJUQ1NkcFR5cGUuaCAqLywKIAkJCQkwNzIyMUJBQjE3Q0YwQUQ0MDA4NDhFNTEgLyogUlRD
U2Vzc2lvbkRlc2NyaXB0aW9uRGVzY3JpcHRvci5jcHAgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SVENQTXV4UG9saWN5LmggYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SVENQTXV4UG9saWN5LmgKaW5kZXggMGVlZjk4NGU1
NDI1MGQwMmI5MDc2YmE5ZDMxYzU0ZGRlODliN2Q0Yi4uMmUyZjgyZDNiNmZkMmViZjU0ODA5ZTdj
ODIzZGQwNjQyMmFhNTJjNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVk
aWFzdHJlYW0vUlRDUE11eFBvbGljeS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21l
ZGlhc3RyZWFtL1JUQ1BNdXhQb2xpY3kuaApAQCAtMSw1ICsxLDUgQEAKIC8qCi0gKiBDb3B5cmln
aHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0
IChDKSAyMDE4IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVk
aWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1Byb3ZpZGVyLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENQcm92aWRlci5jcHAKaW5k
ZXggZTk4MTE5NjBjNTdkMGZjZTVmYzYyODc4N2VlYWZkNzgyNmExNDY4MC4uNThmMmZjMjI0ODRl
Zjk3YjIzMGZmZTVjMDc1NGRiN2ZlMGU1NDNjYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGxhdGZvcm0vbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1Byb3ZpZGVyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRD
UHJvdmlkZXIuY3BwCkBAIC0yOSw2ICsyOSw3IEBACiAjaWYgVVNFKExJQldFQlJUQykKICNpbmNs
dWRlICJMaWJXZWJSVENBdWRpb01vZHVsZS5oIgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKKyNpbmNs
dWRlICJSVENSdHBDYXBhYmlsaXRpZXMuaCIKICNpbmNsdWRlIDxkbGZjbi5oPgogCiBBTExPV19V
TlVTRURfUEFSQU1FVEVSU19CRUdJTgpAQCAtMjgwLDYgKzI4MSw2OCBAQCBydGM6OlJUQ0NlcnRp
ZmljYXRlR2VuZXJhdG9yJiBMaWJXZWJSVENQcm92aWRlcjo6Y2VydGlmaWNhdGVHZW5lcmF0b3Io
KQogICAgIHJldHVybiAqZmFjdG9yeUFuZFRocmVhZHMuY2VydGlmaWNhdGVHZW5lcmF0b3I7CiB9
CiAKK3N0YXRpYyBpbmxpbmUgc3RkOjpvcHRpb25hbDxjcmlja2V0OjpNZWRpYVR5cGU+IHR5cGVG
cm9tS2luZChjb25zdCBTdHJpbmcmIGtpbmQpCit7CisgICAgaWYgKGtpbmQgPT0gImF1ZGlvIl9z
KQorICAgICAgICByZXR1cm4gY3JpY2tldDo6TWVkaWFUeXBlOjpNRURJQV9UWVBFX0FVRElPOwor
ICAgIGlmIChraW5kID09ICJ2aWRlbyJfcykKKyAgICAgICAgcmV0dXJuIGNyaWNrZXQ6Ok1lZGlh
VHlwZTo6TUVESUFfVFlQRV9WSURFTzsKKyAgICByZXR1cm4geyB9OworfQorCitzdGF0aWMgaW5s
aW5lIFN0cmluZyBmcm9tU3RkU3RyaW5nKGNvbnN0IHN0ZDo6c3RyaW5nJiB2YWx1ZSkKK3sKKyAg
ICByZXR1cm4gU3RyaW5nOjpmcm9tVVRGOCh2YWx1ZS5kYXRhKCksIHZhbHVlLmxlbmd0aCgpKTsK
K30KKworc3RhdGljIGlubGluZSBzdGQ6Om9wdGlvbmFsPHVpbnQxNl90PiB0b0NoYW5uZWxzKGFi
c2w6Om9wdGlvbmFsPGludD4gbnVtQ2hhbm5lbHMpCit7CisgICAgaWYgKCFudW1DaGFubmVscykK
KyAgICAgICAgcmV0dXJuIHsgfTsKKyAgICByZXR1cm4gc3RhdGljX2Nhc3Q8dWludDMyX3Q+KCpu
dW1DaGFubmVscyk7Cit9CisKK3N0YXRpYyBpbmxpbmUgUlRDUnRwQ2FwYWJpbGl0aWVzIHRvUlRD
UnRwQ2FwYWJpbGl0aWVzKGNvbnN0IHdlYnJ0Yzo6UnRwQ2FwYWJpbGl0aWVzJiBydHBDYXBhYmls
aXRpZXMpCit7CisgICAgUlRDUnRwQ2FwYWJpbGl0aWVzIGNhcGFiaWxpdGllczsKKworICAgIGNh
cGFiaWxpdGllcy5jb2RlY3MucmVzZXJ2ZUluaXRpYWxDYXBhY2l0eShydHBDYXBhYmlsaXRpZXMu
Y29kZWNzLnNpemUoKSk7CisgICAgZm9yIChhdXRvJiBjb2RlYyA6IHJ0cENhcGFiaWxpdGllcy5j
b2RlY3MpCisgICAgICAgIGNhcGFiaWxpdGllcy5jb2RlY3MudW5jaGVja2VkQXBwZW5kKFJUQ1J0
cENhcGFiaWxpdGllczo6Q29kZWNDYXBhYmlsaXR5IHsgZnJvbVN0ZFN0cmluZyhjb2RlYy5taW1l
X3R5cGUoKSksIHN0YXRpY19jYXN0PHVpbnQzMl90Pihjb2RlYy5jbG9ja19yYXRlID8gKmNvZGVj
LmNsb2NrX3JhdGUgOiAwKSwgdG9DaGFubmVscyhjb2RlYy5udW1fY2hhbm5lbHMpLCB7IH0gfSk7
CisKKyAgICBjYXBhYmlsaXRpZXMuaGVhZGVyRXh0ZW5zaW9ucy5yZXNlcnZlSW5pdGlhbENhcGFj
aXR5KHJ0cENhcGFiaWxpdGllcy5oZWFkZXJfZXh0ZW5zaW9ucy5zaXplKCkpOworICAgIGZvciAo
YXV0byYgaGVhZGVyIDogcnRwQ2FwYWJpbGl0aWVzLmhlYWRlcl9leHRlbnNpb25zKQorICAgICAg
ICBjYXBhYmlsaXRpZXMuaGVhZGVyRXh0ZW5zaW9ucy51bmNoZWNrZWRBcHBlbmQoUlRDUnRwQ2Fw
YWJpbGl0aWVzOjpIZWFkZXJFeHRlbnNpb25DYXBhYmlsaXR5IHsgZnJvbVN0ZFN0cmluZyhoZWFk
ZXIudXJpKSB9KTsKKworICAgIHJldHVybiBjYXBhYmlsaXRpZXM7Cit9CisKK1JUQ1J0cENhcGFi
aWxpdGllcyBMaWJXZWJSVENQcm92aWRlcjo6cmVjZWl2ZXJDYXBhYmlsaXRpZXMoY29uc3QgU3Ry
aW5nJiBraW5kKQoreworICAgIGF1dG8gbWVkaWFUeXBlID0gdHlwZUZyb21LaW5kKGtpbmQpOwor
ICAgIGlmICghbWVkaWFUeXBlKQorICAgICAgICByZXR1cm4geyB9OworCisgICAgYXV0byogZmFj
dG9yeSA9IHRoaXMtPmZhY3RvcnkoKTsKKyAgICBpZiAoIWZhY3RvcnkpCisgICAgICAgIHJldHVy
biB7IH07CisKKyAgICByZXR1cm4gdG9SVENSdHBDYXBhYmlsaXRpZXMoZmFjdG9yeS0+R2V0UnRw
UmVjZWl2ZXJDYXBhYmlsaXRpZXMoKm1lZGlhVHlwZSkpOworfQorCitSVENSdHBDYXBhYmlsaXRp
ZXMgTGliV2ViUlRDUHJvdmlkZXI6OnNlbmRlckNhcGFiaWxpdGllcyhjb25zdCBTdHJpbmcmIGtp
bmQpCit7CisgICAgYXV0byBtZWRpYVR5cGUgPSB0eXBlRnJvbUtpbmQoa2luZCk7CisgICAgaWYg
KCFtZWRpYVR5cGUpCisgICAgICAgIHJldHVybiB7IH07CisKKyAgICBhdXRvKiBmYWN0b3J5ID0g
dGhpcy0+ZmFjdG9yeSgpOworICAgIGlmICghZmFjdG9yeSkKKyAgICAgICAgcmV0dXJuIHsgfTsK
KworICAgIHJldHVybiB0b1JUQ1J0cENhcGFiaWxpdGllcyhmYWN0b3J5LT5HZXRSdHBTZW5kZXJD
YXBhYmlsaXRpZXMoKm1lZGlhVHlwZSkpOworfQorCiAjZW5kaWYgLy8gVVNFKExJQldFQlJUQykK
IAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1Byb3ZpZGVyLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDUHJvdmlkZXIu
aAppbmRleCA1ZDEyZTdiOGY2YzdlNjk4ZTk1NmM5ZTQyZjI4OGUzOTdmNTAzNjgyLi43ZGM4Njll
YzczYjAwNGZkNDk4YmRhNzZjMTEyYzc1N2E5ZGU1MmZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDUHJvdmlkZXIuaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2Vi
UlRDUHJvdmlkZXIuaApAQCAtNTksNiArNTksNyBAQCBjbGFzcyBQZWVyQ29ubmVjdGlvbkZhY3Rv
cnlJbnRlcmZhY2U7CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIExpYldlYlJUQ0F1ZGlv
TW9kdWxlOworc3RydWN0IFJUQ1J0cENhcGFiaWxpdGllczsKIAogZW51bSBjbGFzcyBNRE5TUmVn
aXN0ZXJFcnJvciB7IE5vdEltcGxlbWVudGVkLCBCYWRQYXJhbWV0ZXIsIEROU1NELCBJbnRlcm5h
bCwgVGltZW91dCB9OwogCkBAIC0xMDksNiArMTEwLDkgQEAgcHVibGljOgogCiAgICAgcnRjOjpS
VENDZXJ0aWZpY2F0ZUdlbmVyYXRvciYgY2VydGlmaWNhdGVHZW5lcmF0b3IoKTsKIAorICAgIFJU
Q1J0cENhcGFiaWxpdGllcyByZWNlaXZlckNhcGFiaWxpdGllcyhjb25zdCBTdHJpbmcmIGtpbmQp
OworICAgIFJUQ1J0cENhcGFiaWxpdGllcyBzZW5kZXJDYXBhYmlsaXRpZXMoY29uc3QgU3RyaW5n
JiBraW5kKTsKKwogcHJvdGVjdGVkOgogICAgIExpYldlYlJUQ1Byb3ZpZGVyKCkgPSBkZWZhdWx0
OwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwppbmRleCA0YzJhOTM3MzQwMzMyNTNhM2Jl
YzE5NThkZDk4OGNmZDJiZjA5MDg5Li44ZTM1ZDY3YzhlOWM0NmEzNjkzNmZjYTllMDUxZGYxM2Q2
OGY5MmJjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAor
MjAxOC0xMS0wMiAgWW91ZW5uIEZhYmxldCAgPHlvdWVubkBhcHBsZS5jb20+CisKKyAgICAgICAg
QWRkIHN1cHBvcnQgZm9yIHNlbmRlci9yZWNlaXZlciBnZXRDYXBhYmlsaXRpZXMKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5MTE5MgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL3dlYnJ0Yy9SVENSdHBDYXBhYmlsaXRpZXMtaGVscGVyLmpzOgorICAgICAgICAoc3RyaW5n
X2FwcGVhcmVkX2hlcmUudmFsaWRhdGVSdHBDYXBhYmlsaXRpZXMpOiBDaGFuZ2UgYWxyZWFkeSBt
YWRlIHVwc3RyZWFtLgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy93ZWJydGMvUlRDUnRw
UmVjZWl2ZXItZ2V0Q2FwYWJpbGl0aWVzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxh
dGZvcm0tdGVzdHMvd2VicnRjL1JUQ1J0cFNlbmRlci1nZXRDYXBhYmlsaXRpZXMtZXhwZWN0ZWQu
dHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy93ZWJydGMvUlRDUnRwVHJhbnNjZWl2
ZXItc2V0Q29kZWNQcmVmZXJlbmNlcy1leHBlY3RlZC50eHQ6CisKIDIwMTgtMTEtMDIgIFlvdWVu
biBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIEFkZCBzdXBwb3J0IGZvciBS
VENNdXhQb2xpY3kKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvd2VicnRjL1JUQ1J0cENhcGFiaWxpdGllcy1oZWxwZXIuanMgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYnJ0Yy9SVENSdHBDYXBhYmls
aXRpZXMtaGVscGVyLmpzCmluZGV4IDcyZjU0NDA1OWZmOTM0ZWY1MjE3MmU4Njg5ODE2ODkxOTM3
Mzg1M2IuLmZiMjk3YzM1ZmIxMTI2ZTg5ODVmZjJmMmEwZGQxZGQ4MjRjYTVjMWQgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2VicnRjL1JU
Q1J0cENhcGFiaWxpdGllcy1oZWxwZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNj
L3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJydGMvUlRDUnRwQ2FwYWJpbGl0aWVzLWhlbHBlci5qcwpA
QCAtMzEsNyArMzEsNyBAQCBmdW5jdGlvbiB2YWxpZGF0ZVJ0cENhcGFiaWxpdGllcyhjYXBhYmls
aXRpZXMpIHsKICAgICB2YWxpZGF0ZUNvZGVjQ2FwYWJpbGl0eShjb2RlYyk7CiAgIH0KIAotICBh
c3NlcnRfZ3JlYXRlcl90aGFuKGNhcGFiaWxpdGllcy5jb2RlYywgMCwKKyAgYXNzZXJ0X2dyZWF0
ZXJfdGhhbihjYXBhYmlsaXRpZXMuY29kZWNzLmxlbmd0aCwgMCwKICAgICAnRXhwZWN0IGF0IGxl
YXN0IG9uZSBjb2RlYyBjYXBhYmlsaXR5IGF2YWlsYWJsZScpOwogCiAgIGFzc2VydF9hcnJheV9m
aWVsZChjYXBhYmlsaXRpZXMsICdoZWFkZXJFeHRlbnNpb25zJyk7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYnJ0Yy9SVENSdHBSZWNl
aXZlci1nZXRDYXBhYmlsaXRpZXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJydGMvUlRDUnRwUmVjZWl2ZXItZ2V0Q2FwYWJpbGl0
aWVzLWV4cGVjdGVkLnR4dAppbmRleCAwZTU3MmE4NTIxOTU2ZmRjZTMzMGE2NGRkMDQxNjc1Y2Nk
OWZlMzc0Li4wNjgxMmUyOTg5Y2I0MTc3ZTcyOWE4MTcyYWQzZTljMmRmN2UzYmRhIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYnJ0Yy9S
VENSdHBSZWNlaXZlci1nZXRDYXBhYmlsaXRpZXMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2VicnRjL1JUQ1J0cFJlY2VpdmVy
LWdldENhcGFiaWxpdGllcy1leHBlY3RlZC50eHQKQEAgLTEsNCArMSw0IEBACiAKLUZBSUwgUlRD
UnRwU2VuZGVyLmdldENhcGFiaWxpdGllcygnYXVkaW8nKSBzaG91bGQgcmV0dXJuIFJUQ1J0cENh
cGFiaWxpdGllcyBkaWN0aW9uYXJ5IFJUQ1J0cFJlY2VpdmVyLmdldENhcGFiaWxpdGllcyBpcyBu
b3QgYSBmdW5jdGlvbi4gKEluICdSVENSdHBSZWNlaXZlci5nZXRDYXBhYmlsaXRpZXMoJ2F1ZGlv
JyknLCAnUlRDUnRwUmVjZWl2ZXIuZ2V0Q2FwYWJpbGl0aWVzJyBpcyB1bmRlZmluZWQpCi1GQUlM
IFJUQ1J0cFNlbmRlci5nZXRDYXBhYmlsaXRpZXMoJ3ZpZGVvJykgc2hvdWxkIHJldHVybiBSVENS
dHBDYXBhYmlsaXRpZXMgZGljdGlvbmFyeSBSVENSdHBSZWNlaXZlci5nZXRDYXBhYmlsaXRpZXMg
aXMgbm90IGEgZnVuY3Rpb24uIChJbiAnUlRDUnRwUmVjZWl2ZXIuZ2V0Q2FwYWJpbGl0aWVzKCd2
aWRlbycpJywgJ1JUQ1J0cFJlY2VpdmVyLmdldENhcGFiaWxpdGllcycgaXMgdW5kZWZpbmVkKQor
UEFTUyBSVENSdHBTZW5kZXIuZ2V0Q2FwYWJpbGl0aWVzKCdhdWRpbycpIHNob3VsZCByZXR1cm4g
UlRDUnRwQ2FwYWJpbGl0aWVzIGRpY3Rpb25hcnkgCitQQVNTIFJUQ1J0cFNlbmRlci5nZXRDYXBh
YmlsaXRpZXMoJ3ZpZGVvJykgc2hvdWxkIHJldHVybiBSVENSdHBDYXBhYmlsaXRpZXMgZGljdGlv
bmFyeSAKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy93ZWJydGMvUlRDUnRwU2VuZGVyLWdldENhcGFiaWxpdGllcy1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYnJ0Yy9SVENS
dHBTZW5kZXItZ2V0Q2FwYWJpbGl0aWVzLWV4cGVjdGVkLnR4dAppbmRleCA3NDQyOTE0ZGIyYWU0
ZWY2NDI0Y2I3Yzg4ZGFlN2IzM2Q1NzY4MThjLi4wNjgxMmUyOTg5Y2I0MTc3ZTcyOWE4MTcyYWQz
ZTljMmRmN2UzYmRhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3dlYnJ0Yy9SVENSdHBTZW5kZXItZ2V0Q2FwYWJpbGl0aWVzLWV4cGVjdGVk
LnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dl
YnJ0Yy9SVENSdHBTZW5kZXItZ2V0Q2FwYWJpbGl0aWVzLWV4cGVjdGVkLnR4dApAQCAtMSw0ICsx
LDQgQEAKIAotRkFJTCBSVENSdHBTZW5kZXIuZ2V0Q2FwYWJpbGl0aWVzKCdhdWRpbycpIHNob3Vs
ZCByZXR1cm4gUlRDUnRwQ2FwYWJpbGl0aWVzIGRpY3Rpb25hcnkgUlRDUnRwU2VuZGVyLmdldENh
cGFiaWxpdGllcyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdSVENSdHBTZW5kZXIuZ2V0Q2FwYWJp
bGl0aWVzKCdhdWRpbycpJywgJ1JUQ1J0cFNlbmRlci5nZXRDYXBhYmlsaXRpZXMnIGlzIHVuZGVm
aW5lZCkKLUZBSUwgUlRDUnRwU2VuZGVyLmdldENhcGFiaWxpdGllcygndmlkZW8nKSBzaG91bGQg
cmV0dXJuIFJUQ1J0cENhcGFiaWxpdGllcyBkaWN0aW9uYXJ5IFJUQ1J0cFNlbmRlci5nZXRDYXBh
YmlsaXRpZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnUlRDUnRwU2VuZGVyLmdldENhcGFiaWxp
dGllcygndmlkZW8nKScsICdSVENSdHBTZW5kZXIuZ2V0Q2FwYWJpbGl0aWVzJyBpcyB1bmRlZmlu
ZWQpCitQQVNTIFJUQ1J0cFNlbmRlci5nZXRDYXBhYmlsaXRpZXMoJ2F1ZGlvJykgc2hvdWxkIHJl
dHVybiBSVENSdHBDYXBhYmlsaXRpZXMgZGljdGlvbmFyeSAKK1BBU1MgUlRDUnRwU2VuZGVyLmdl
dENhcGFiaWxpdGllcygndmlkZW8nKSBzaG91bGQgcmV0dXJuIFJUQ1J0cENhcGFiaWxpdGllcyBk
aWN0aW9uYXJ5IAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL3dlYnJ0Yy9SVENSdHBUcmFuc2NlaXZlci1zZXRDb2RlY1ByZWZlcmVuY2Vz
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvd2VicnRjL1JUQ1J0cFRyYW5zY2VpdmVyLXNldENvZGVjUHJlZmVyZW5jZXMtZXhwZWN0ZWQu
dHh0CmluZGV4IGQyNTliNDI2Y2RmZmIxODY4MmE1N2FhMzdjYWFiMWIwNmVjYzQxZGMuLmMwNDhl
YzhkNzYxODRmYjNmZjdhZjQxNDEwMTRkYjc4MDYzYjU1MWMgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2VicnRjL1JUQ1J0cFRyYW5zY2Vp
dmVyLXNldENvZGVjUHJlZmVyZW5jZXMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2VicnRjL1JUQ1J0cFRyYW5zY2VpdmVyLXNl
dENvZGVjUHJlZmVyZW5jZXMtZXhwZWN0ZWQudHh0CkBAIC0xLDExICsxLDExIEBACiAKLUZBSUwg
c2V0Q29kZWNQcmVmZXJlbmNlcygpIG9uIGF1ZGlvIHRyYW5zY2VpdmVyIHdpdGggY29kZWNzIHJl
dHVybmVkIGZyb20gUlRDUnRwU2VuZGVyLmdldENhcGFiaWxpdGllcygnYXVkaW8nKSBzaG91bGQg
c3VjY2VlZCBSVENSdHBTZW5kZXIuZ2V0Q2FwYWJpbGl0aWVzIGlzIG5vdCBhIGZ1bmN0aW9uLiAo
SW4gJ1JUQ1J0cFNlbmRlci5nZXRDYXBhYmlsaXRpZXMoJ2F1ZGlvJyknLCAnUlRDUnRwU2VuZGVy
LmdldENhcGFiaWxpdGllcycgaXMgdW5kZWZpbmVkKQotRkFJTCBzZXRDb2RlY1ByZWZlcmVuY2Vz
KCkgb24gdmlkZW8gdHJhbnNjZWl2ZXIgd2l0aCBjb2RlY3MgcmV0dXJuZWQgZnJvbSBSVENSdHBS
ZWNlaXZlci5nZXRDYXBhYmlsaXRpZXMoJ3ZpZGVvJykgc2hvdWxkIHN1Y2NlZWQgUlRDUnRwUmVj
ZWl2ZXIuZ2V0Q2FwYWJpbGl0aWVzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ1JUQ1J0cFJlY2Vp
dmVyLmdldENhcGFiaWxpdGllcygndmlkZW8nKScsICdSVENSdHBSZWNlaXZlci5nZXRDYXBhYmls
aXRpZXMnIGlzIHVuZGVmaW5lZCkKLUZBSUwgc2V0Q29kZWNQcmVmZXJlbmNlcygpIHdpdGggYm90
aCBzZW5kZXIgcmVjZWl2ZXIgY29kZWNzIGNvbWJpbmVkIHNob3VsZCBzdWNjZWVkIFJUQ1J0cFNl
bmRlci5nZXRDYXBhYmlsaXRpZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnUlRDUnRwU2VuZGVy
LmdldENhcGFiaWxpdGllcygnYXVkaW8nKScsICdSVENSdHBTZW5kZXIuZ2V0Q2FwYWJpbGl0aWVz
JyBpcyB1bmRlZmluZWQpCitGQUlMIHNldENvZGVjUHJlZmVyZW5jZXMoKSBvbiBhdWRpbyB0cmFu
c2NlaXZlciB3aXRoIGNvZGVjcyByZXR1cm5lZCBmcm9tIFJUQ1J0cFNlbmRlci5nZXRDYXBhYmls
aXRpZXMoJ2F1ZGlvJykgc2hvdWxkIHN1Y2NlZWQgdHJhbnNjZWl2ZXIuc2V0Q29kZWNQcmVmZXJl
bmNlcyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICd0cmFuc2NlaXZlci5zZXRDb2RlY1ByZWZlcmVu
Y2VzKGNhcGFiaWxpdGllcy5jb2RlY3MpJywgJ3RyYW5zY2VpdmVyLnNldENvZGVjUHJlZmVyZW5j
ZXMnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgc2V0Q29kZWNQcmVmZXJlbmNlcygpIG9uIHZpZGVvIHRy
YW5zY2VpdmVyIHdpdGggY29kZWNzIHJldHVybmVkIGZyb20gUlRDUnRwUmVjZWl2ZXIuZ2V0Q2Fw
YWJpbGl0aWVzKCd2aWRlbycpIHNob3VsZCBzdWNjZWVkIHRyYW5zY2VpdmVyLnNldENvZGVjUHJl
ZmVyZW5jZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAndHJhbnNjZWl2ZXIuc2V0Q29kZWNQcmVm
ZXJlbmNlcyhjYXBhYmlsaXRpZXMuY29kZWNzKScsICd0cmFuc2NlaXZlci5zZXRDb2RlY1ByZWZl
cmVuY2VzJyBpcyB1bmRlZmluZWQpCitGQUlMIHNldENvZGVjUHJlZmVyZW5jZXMoKSB3aXRoIGJv
dGggc2VuZGVyIHJlY2VpdmVyIGNvZGVjcyBjb21iaW5lZCBzaG91bGQgc3VjY2VlZCB0cmFuc2Nl
aXZlci5zZXRDb2RlY1ByZWZlcmVuY2VzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3RyYW5zY2Vp
dmVyLnNldENvZGVjUHJlZmVyZW5jZXMoWy4uLmNhcGFiaWxpdGllczEuY29kZWNzLCAuLi4gY2Fw
YWJpbGl0aWVzMi5jb2RlY3NdKScsICd0cmFuc2NlaXZlci5zZXRDb2RlY1ByZWZlcmVuY2VzJyBp
cyB1bmRlZmluZWQpCiBGQUlMIHNldENvZGVjUHJlZmVyZW5jZXMoW10pIHNob3VsZCBzdWNjZWVk
IHRyYW5zY2VpdmVyLnNldENvZGVjUHJlZmVyZW5jZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAn
dHJhbnNjZWl2ZXIuc2V0Q29kZWNQcmVmZXJlbmNlcyhbXSknLCAndHJhbnNjZWl2ZXIuc2V0Q29k
ZWNQcmVmZXJlbmNlcycgaXMgdW5kZWZpbmVkKQotRkFJTCBzZXRDb2RlY1ByZWZlcmVuY2VzKCkg
d2l0aCByZW9yZGVyZWQgY29kZWNzIHNob3VsZCBzdWNjZWVkIFJUQ1J0cFNlbmRlci5nZXRDYXBh
YmlsaXRpZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnUlRDUnRwU2VuZGVyLmdldENhcGFiaWxp
dGllcygnYXVkaW8nKScsICdSVENSdHBTZW5kZXIuZ2V0Q2FwYWJpbGl0aWVzJyBpcyB1bmRlZmlu
ZWQpCi1GQUlMIHNldENvZGVjUHJlZmVyZW5jZXMoKSBvbiBhdWRpbyB0cmFuc2NlaXZlciB3aXRo
IGNvZGVjcyByZXR1cm5lZCBmcm9tIGdldENhcGFiaWxpdGllcygndmlkZW8nKSBzaG91bGQgdGhy
b3cgSW52YWxpZEFjY2Vzc0Vycm9yIFJUQ1J0cFNlbmRlci5nZXRDYXBhYmlsaXRpZXMgaXMgbm90
IGEgZnVuY3Rpb24uIChJbiAnUlRDUnRwU2VuZGVyLmdldENhcGFiaWxpdGllcygndmlkZW8nKScs
ICdSVENSdHBTZW5kZXIuZ2V0Q2FwYWJpbGl0aWVzJyBpcyB1bmRlZmluZWQpCitGQUlMIHNldENv
ZGVjUHJlZmVyZW5jZXMoKSB3aXRoIHJlb3JkZXJlZCBjb2RlY3Mgc2hvdWxkIHN1Y2NlZWQgdHJh
bnNjZWl2ZXIuc2V0Q29kZWNQcmVmZXJlbmNlcyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICd0cmFu
c2NlaXZlci5zZXRDb2RlY1ByZWZlcmVuY2VzKGNvZGVjcyknLCAndHJhbnNjZWl2ZXIuc2V0Q29k
ZWNQcmVmZXJlbmNlcycgaXMgdW5kZWZpbmVkKQorRkFJTCBzZXRDb2RlY1ByZWZlcmVuY2VzKCkg
b24gYXVkaW8gdHJhbnNjZWl2ZXIgd2l0aCBjb2RlY3MgcmV0dXJuZWQgZnJvbSBnZXRDYXBhYmls
aXRpZXMoJ3ZpZGVvJykgc2hvdWxkIHRocm93IEludmFsaWRBY2Nlc3NFcnJvciBUZXN0IGJ1Zzog
dW5yZWNvZ25pemVkIERPTUV4Y2VwdGlvbiBjb2RlICIoKSA9PiB0cmFuc2NlaXZlci5zZXRDb2Rl
Y1ByZWZlcmVuY2VzKGNhcGFiaWxpdGllcy5jb2RlY3MpIiBwYXNzZWQgdG8gYXNzZXJ0X3Rocm93
cygpCiBGQUlMIHNldENvZGVjUHJlZmVyZW5jZXMoKSB3aXRoIHVzZXIgZGVmaW5lZCBjb2RlYyBz
aG91bGQgdGhyb3cgSW52YWxpZEFjY2Vzc0Vycm9yIFRlc3QgYnVnOiB1bnJlY29nbml6ZWQgRE9N
RXhjZXB0aW9uIGNvZGUgIigpID0+IHRyYW5zY2VpdmVyLnNldENvZGVjUHJlZmVyZW5jZXMoY29k
ZWNzKSIgcGFzc2VkIHRvIGFzc2VydF90aHJvd3MoKQotRkFJTCBzZXRDb2RlY1ByZWZlcmVuY2Vz
KCkgd2l0aCB1c2VyIGRlZmluZWQgY29kZWMgdG9nZXRoZXIgd2l0aCBjb2RlY3MgcmV0dXJuZWQg
ZnJvbSBnZXRDYXBhYmlsaXRpZXMoKSBzaG91bGQgdGhyb3cgSW52YWxpZEFjY2Vzc0Vycm9yIFJU
Q1J0cFNlbmRlci5nZXRDYXBhYmlsaXRpZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnUlRDUnRw
U2VuZGVyLmdldENhcGFiaWxpdGllcygnYXVkaW8nKScsICdSVENSdHBTZW5kZXIuZ2V0Q2FwYWJp
bGl0aWVzJyBpcyB1bmRlZmluZWQpCi1GQUlMIHNldENvZGVjUHJlZmVyZW5jZXMoKSB3aXRoIG1v
ZGlmaWVkIGNvZGVjcyByZXR1cm5lZCBmcm9tIGdldENhcGFiaWxpdGllcygpIHNob3VsZCB0aHJv
dyBJbnZhbGlkQWNjZXNzRXJyb3IgUlRDUnRwU2VuZGVyLmdldENhcGFiaWxpdGllcyBpcyBub3Qg
YSBmdW5jdGlvbi4gKEluICdSVENSdHBTZW5kZXIuZ2V0Q2FwYWJpbGl0aWVzKCdhdWRpbycpJywg
J1JUQ1J0cFNlbmRlci5nZXRDYXBhYmlsaXRpZXMnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgc2V0Q29k
ZWNQcmVmZXJlbmNlcygpIHdpdGggdXNlciBkZWZpbmVkIGNvZGVjIHRvZ2V0aGVyIHdpdGggY29k
ZWNzIHJldHVybmVkIGZyb20gZ2V0Q2FwYWJpbGl0aWVzKCkgc2hvdWxkIHRocm93IEludmFsaWRB
Y2Nlc3NFcnJvciBUZXN0IGJ1ZzogdW5yZWNvZ25pemVkIERPTUV4Y2VwdGlvbiBjb2RlICIoKSA9
PiB0cmFuc2NlaXZlci5zZXRDb2RlY1ByZWZlcmVuY2VzKGNvZGVjcykiIHBhc3NlZCB0byBhc3Nl
cnRfdGhyb3dzKCkKK0ZBSUwgc2V0Q29kZWNQcmVmZXJlbmNlcygpIHdpdGggbW9kaWZpZWQgY29k
ZWNzIHJldHVybmVkIGZyb20gZ2V0Q2FwYWJpbGl0aWVzKCkgc2hvdWxkIHRocm93IEludmFsaWRB
Y2Nlc3NFcnJvciBUZXN0IGJ1ZzogdW5yZWNvZ25pemVkIERPTUV4Y2VwdGlvbiBjb2RlICIoKSA9
PiB0cmFuc2NlaXZlci5zZXRDb2RlY1ByZWZlcmVuY2VzKGNvZGVjcykiIHBhc3NlZCB0byBhc3Nl
cnRfdGhyb3dzKCkKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>353789</attachid>
            <date>2018-11-03 19:05:49 -0700</date>
            <delta_ts>2018-11-06 18:52:40 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-191192-20181104090547.patch</filename>
            <type>text/plain</type>
            <size>33203</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM3NzczCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMWQwYjVlMjRjYWZkYTI4
ZTMwNDM3MDI2ZTgwOWU4NzE3N2M5YmI2MC4uODA0MzZlZGNhNjgyMTc0MmI2M2MxNGNkMTFkNDE3
YzJiYWE4N2RmOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ1IEBACisyMDE4LTExLTAzICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgc3VwcG9ydCBmb3Ig
c2VuZGVyL3JlY2VpdmVyIGdldENhcGFiaWxpdGllcworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkxMTkyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgRXhwb3NlIHNlbmRlci9yZWNlaXZlciBSVENSdHBDYXBh
YmlsaXRpZXMgdG8gSlMuCisgICAgICAgIEFkZCBjb3JyZXNwb25kaW5nIElETCBhbmQgcGx1bWJl
cnkgZG93biB0byBsaWJ3ZWJydGMgcGVlciBjb25uZWN0aW9uIGZhY3RvcnkuCisgICAgICAgIENv
dmVyZWQgYnkgcmViYXNlZCB0ZXN0cy4KKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAg
ICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVh
bS9QZWVyQ29ubmVjdGlvbkJhY2tlbmQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGVlckNvbm5l
Y3Rpb25CYWNrZW5kOjpyZWNlaXZlckNhcGFiaWxpdGllcyk6CisgICAgICAgIChXZWJDb3JlOjpQ
ZWVyQ29ubmVjdGlvbkJhY2tlbmQ6OnNlbmRlckNhcGFiaWxpdGllcyk6CisgICAgICAgICogTW9k
dWxlcy9tZWRpYXN0cmVhbS9QZWVyQ29ubmVjdGlvbkJhY2tlbmQuaDoKKyAgICAgICAgKiBNb2R1
bGVzL21lZGlhc3RyZWFtL1JUQ1J0cENhcGFiaWxpdGllcy5pZGw6IEFkZGVkLgorICAgICAgICAq
IE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwUmVjZWl2ZXIuY3BwOgorICAgICAgICAoV2ViQ29y
ZTo6UlRDUnRwUmVjZWl2ZXI6OmdldENhcGFiaWxpdGllcyk6CisgICAgICAgICogTW9kdWxlcy9t
ZWRpYXN0cmVhbS9SVENSdHBSZWNlaXZlci5oOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJl
YW0vUlRDUnRwUmVjZWl2ZXIuaWRsOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRD
UnRwU2VuZGVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJUQ1J0cFNlbmRlcjo6Z2V0Q2FwYWJp
bGl0aWVzKToKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFNlbmRlci5oOgor
ICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwU2VuZGVyLmlkbDoKKyAgICAgICAg
KiBNb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENQZWVyQ29ubmVjdGlvbkJh
Y2tlbmQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UGVlckNvbm5lY3Rpb25CYWNrZW5kOjpyZWNl
aXZlckNhcGFiaWxpdGllcyk6CisgICAgICAgIChXZWJDb3JlOjpQZWVyQ29ubmVjdGlvbkJhY2tl
bmQ6OnNlbmRlckNhcGFiaWxpdGllcyk6CisgICAgICAgICogU291cmNlcy50eHQ6CisgICAgICAg
ICogV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIHBsYXRmb3Jt
L21lZGlhc3RyZWFtL1JUQ1BNdXhQb2xpY3kuaDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXN0
cmVhbS9SVENSdHBDYXBhYmlsaXRpZXMuaDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vbWVk
aWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1Byb3ZpZGVyLmNwcDoKKyAgICAgICAgKFdlYkNv
cmU6OnR5cGVGcm9tS2luZCk6CisgICAgICAgIChXZWJDb3JlOjpmcm9tU3RkU3RyaW5nKToKKyAg
ICAgICAgKFdlYkNvcmU6OnRvQ2hhbm5lbHMpOgorICAgICAgICAoV2ViQ29yZTo6dG9SVENSdHBD
YXBhYmlsaXRpZXMpOgorICAgICAgICAoV2ViQ29yZTo6TGliV2ViUlRDUHJvdmlkZXI6OnJlY2Vp
dmVyQ2FwYWJpbGl0aWVzKToKKyAgICAgICAgKFdlYkNvcmU6OkxpYldlYlJUQ1Byb3ZpZGVyOjpz
ZW5kZXJDYXBhYmlsaXRpZXMpOgorICAgICAgICAqIHBsYXRmb3JtL21lZGlhc3RyZWFtL2xpYndl
YnJ0Yy9MaWJXZWJSVENQcm92aWRlci5oOgorCiAyMDE4LTExLTAzICBFcmljIENhcmxzb24gIDxl
cmljLmNhcmxzb25AYXBwbGUuY29tPgogCiAgICAgICAgIFtNZWRpYVN0cmVhbV0gZW51bWVyYXRl
RGV2aWNlcyBzaG91bGQgbm90IGV4cG9zZSBkZXZpY2VzIHRoYXQgYXJlIG5vdCBhdmFpbGFibGUg
dG8gZ2V0VXNlck1lZGlhCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4
dCBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CmluZGV4IDlhZWIyZGRjY2Q5YjBhODYy
MjY3NTMzNTc2NjY2N2M1YjdhZmQ2NmMuLjk4MDYzNDEzZjM3NzZmMTg3OGI5Y2Q4N2YwNTE1ZmJj
MWM1M2MwZTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CisrKyBi
L1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC0zMzIsNiArMzMyLDcgQEAgc2V0KFdl
YkNvcmVfTk9OX1NWR19JRExfRklMRVMKICAgICBNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1BlZXJD
b25uZWN0aW9uSWNlRXZlbnQuaWRsCiAgICAgTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENQZWVyQ29u
bmVjdGlvblN0YXRlLmlkbAogICAgIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUHJpb3JpdHlUeXBl
LmlkbAorICAgIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwQ2FwYWJpbGl0aWVzLmlkbAogICAg
IE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwQ29kZWNQYXJhbWV0ZXJzLmlkbAogICAgIE1vZHVs
ZXMvbWVkaWFzdHJlYW0vUlRDUnRwQ29udHJpYnV0aW5nU291cmNlLmlkbAogICAgIE1vZHVsZXMv
bWVkaWFzdHJlYW0vUlRDUnRwRW5jb2RpbmdQYXJhbWV0ZXJzLmlkbApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZSBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRT
b3VyY2VzLm1ha2UKaW5kZXggZGNjNzcyYzY2NmI3ZjlhMDBkOGU3MGRkYWI4Yzg4ZGFjNmM0NDAz
MS4uNmY1NjhmYWFiNmNkYzIwZDZlMjlhYmQ5ZWUzZGFkNmEyZDJkYjA0YyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9E
ZXJpdmVkU291cmNlcy5tYWtlCkBAIC0yNTQsNiArMjU0LDcgQEAgSlNfQklORElOR19JRExTID0g
XAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENPZmZlck9wdGlvbnMuaWRs
IFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rpb24u
aWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rp
b25TdGF0ZS5pZGwgXAorICAgICQoV2ViQ29yZSkvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBD
YXBhYmlsaXRpZXMuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRD
UnRwQ29kZWNQYXJhbWV0ZXJzLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL21lZGlhc3Ry
ZWFtL1JUQ1J0cENvbnRyaWJ1dGluZ1NvdXJjZS5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxl
cy9tZWRpYXN0cmVhbS9SVENSdHBFbmNvZGluZ1BhcmFtZXRlcnMuaWRsIFwKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUGVlckNvbm5lY3Rpb25CYWNrZW5k
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUGVlckNvbm5lY3Rpb25C
YWNrZW5kLmNwcAppbmRleCA2MGUzMzYxNDMyZWU3MmZjZjQxYTg0NDMxZGE2ODJlYjYyYmRmNDU2
Li40ODlkMGIyMWU2YTA5ZTcwOGFlMDgwMWM2OWExNjJlZTZkMzI4ZDc5IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1BlZXJDb25uZWN0aW9uQmFja2VuZC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9QZWVyQ29ubmVjdGlv
bkJhY2tlbmQuY3BwCkBAIC00Miw2ICs0Miw3IEBACiAjaW5jbHVkZSAiUlRDSWNlQ2FuZGlkYXRl
LmgiCiAjaW5jbHVkZSAiUlRDUGVlckNvbm5lY3Rpb24uaCIKICNpbmNsdWRlICJSVENQZWVyQ29u
bmVjdGlvbkljZUV2ZW50LmgiCisjaW5jbHVkZSAiUlRDUnRwQ2FwYWJpbGl0aWVzLmgiCiAjaW5j
bHVkZSAiUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oIgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmlu
Z0J1aWxkZXIuaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdDb25jYXRlbmF0ZU51bWJlcnMu
aD4KQEAgLTU3LDYgKzU4LDE2IEBAIHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8UGVlckNvbm5lY3Rp
b25CYWNrZW5kPiBjcmVhdGVOb1BlZXJDb25uZWN0aW9uQmFja2VuZChSVENQCiB9CiAKIENyZWF0
ZVBlZXJDb25uZWN0aW9uQmFja2VuZCBQZWVyQ29ubmVjdGlvbkJhY2tlbmQ6OmNyZWF0ZSA9IGNy
ZWF0ZU5vUGVlckNvbm5lY3Rpb25CYWNrZW5kOworCitzdGQ6Om9wdGlvbmFsPFJUQ1J0cENhcGFi
aWxpdGllcz4gUGVlckNvbm5lY3Rpb25CYWNrZW5kOjpyZWNlaXZlckNhcGFiaWxpdGllcyhTY3Jp
cHRFeGVjdXRpb25Db250ZXh0JiwgY29uc3QgU3RyaW5nJikKK3sKKyAgICByZXR1cm4geyB9Owor
fQorCitzdGQ6Om9wdGlvbmFsPFJUQ1J0cENhcGFiaWxpdGllcz4gUGVlckNvbm5lY3Rpb25CYWNr
ZW5kOjpzZW5kZXJDYXBhYmlsaXRpZXMoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIGNvbnN0IFN0
cmluZyYpCit7CisgICAgcmV0dXJuIHsgfTsKK30KICNlbmRpZgogCiBQZWVyQ29ubmVjdGlvbkJh
Y2tlbmQ6OlBlZXJDb25uZWN0aW9uQmFja2VuZChSVENQZWVyQ29ubmVjdGlvbiYgcGVlckNvbm5l
Y3Rpb24pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1Bl
ZXJDb25uZWN0aW9uQmFja2VuZC5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVh
bS9QZWVyQ29ubmVjdGlvbkJhY2tlbmQuaAppbmRleCA1NmY2ZjA5ZGYzZTU4Njc2ZGY0MTk5Y2Vj
YWFhMzRhMGM4MTU5YzRlLi5mNjJhN2IyMWM4MjFlNmQwM2QwYzg1Njc4ODNhMWE2Y2QwNDBmNzJl
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1BlZXJDb25u
ZWN0aW9uQmFja2VuZC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0v
UGVlckNvbm5lY3Rpb25CYWNrZW5kLmgKQEAgLTc5LDYgKzc5LDkgQEAgY2xhc3MgUGVlckNvbm5l
Y3Rpb25CYWNrZW5kCiBwdWJsaWM6CiAgICAgV0VCQ09SRV9FWFBPUlQgc3RhdGljIENyZWF0ZVBl
ZXJDb25uZWN0aW9uQmFja2VuZCBjcmVhdGU7CiAKKyAgICBzdGF0aWMgc3RkOjpvcHRpb25hbDxS
VENSdHBDYXBhYmlsaXRpZXM+IHJlY2VpdmVyQ2FwYWJpbGl0aWVzKFNjcmlwdEV4ZWN1dGlvbkNv
bnRleHQmLCBjb25zdCBTdHJpbmcmIGtpbmQpOworICAgIHN0YXRpYyBzdGQ6Om9wdGlvbmFsPFJU
Q1J0cENhcGFiaWxpdGllcz4gc2VuZGVyQ2FwYWJpbGl0aWVzKFNjcmlwdEV4ZWN1dGlvbkNvbnRl
eHQmLCBjb25zdCBTdHJpbmcmIGtpbmQpOworCiAgICAgZXhwbGljaXQgUGVlckNvbm5lY3Rpb25C
YWNrZW5kKFJUQ1BlZXJDb25uZWN0aW9uJik7CiAgICAgdmlydHVhbCB+UGVlckNvbm5lY3Rpb25C
YWNrZW5kKCkgPSBkZWZhdWx0OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhc3RyZWFtL1JUQ1J0cENhcGFiaWxpdGllcy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL21lZGlhc3RyZWFtL1JUQ1J0cENhcGFiaWxpdGllcy5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOGIyMmUy
NmE0NzYwMmMzM2JjNmIyMmQzOWFlOThlNzU0YmJjMGYwZQotLS0gL2Rldi9udWxsCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwQ2FwYWJpbGl0aWVzLmlkbApA
QCAtMCwwICsxLDUxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE4IEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuICBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKyAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5E
IEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICogRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRSBGT1IgQU5ZCisgKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworICogKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OworICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OCisgKiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFIE9GIFRISVMKKyAqIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKK1sKKyAgICBDb25kaXRpb25hbD1XRUJfUlRD
LAorICAgIEVuYWJsZWRBdFJ1bnRpbWU9UGVlckNvbm5lY3Rpb24sCisgICAgSlNHZW5lcmF0ZVRv
SlNPYmplY3QKK10gZGljdGlvbmFyeSBSVENSdHBDb2RlY0NhcGFiaWxpdHkgeworICAgIHJlcXVp
cmVkIERPTVN0cmluZyBtaW1lVHlwZTsKKyAgICByZXF1aXJlZCB1bnNpZ25lZCBsb25nIGNsb2Nr
UmF0ZTsKKyAgICB1bnNpZ25lZCBzaG9ydCBjaGFubmVsczsKKyAgICBET01TdHJpbmcgc2RwRm10
cExpbmU7Cit9OworCitbCisgICAgQ29uZGl0aW9uYWw9V0VCX1JUQywKKyAgICBFbmFibGVkQXRS
dW50aW1lPVBlZXJDb25uZWN0aW9uLAorICAgIEpTR2VuZXJhdGVUb0pTT2JqZWN0CitdIGRpY3Rp
b25hcnkgUlRDUnRwSGVhZGVyRXh0ZW5zaW9uQ2FwYWJpbGl0eSB7CisgICAgRE9NU3RyaW5nIHVy
aTsKK307CisKK1sKKyAgICBDb25kaXRpb25hbD1XRUJfUlRDLAorICAgIEVuYWJsZWRBdFJ1bnRp
bWU9UGVlckNvbm5lY3Rpb24sCisgICAgSlNHZW5lcmF0ZVRvSlNPYmplY3QKK10gZGljdGlvbmFy
eSBSVENSdHBDYXBhYmlsaXRpZXMgeworICAgIHJlcXVpcmVkIHNlcXVlbmNlPFJUQ1J0cENvZGVj
Q2FwYWJpbGl0eT4gY29kZWNzOworICAgIHJlcXVpcmVkIHNlcXVlbmNlPFJUQ1J0cEhlYWRlckV4
dGVuc2lvbkNhcGFiaWxpdHk+IGhlYWRlckV4dGVuc2lvbnM7Cit9OwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBSZWNlaXZlci5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFJlY2VpdmVyLmNwcAppbmRleCAy
ZTZkZGM0OTk1NWM2YmRmMjU0YjhhMGNlMDE2YTkxNmE5MzMwYzZmLi43ZmZiNWM4ZTI5Mjc4MjY1
MzhhZWZiOWNhMDVkMjU0NzdiOWI3NDJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1
bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFJlY2VpdmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9N
b2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFJlY2VpdmVyLmNwcApAQCAtMzIsNyArMzIsOSBAQAog
I2luY2x1ZGUgIlJUQ1J0cFJlY2VpdmVyLmgiCiAKICNpZiBFTkFCTEUoV0VCX1JUQykKKwogI2lu
Y2x1ZGUgIlBlZXJDb25uZWN0aW9uQmFja2VuZC5oIgorI2luY2x1ZGUgIlJUQ1J0cENhcGFiaWxp
dGllcy5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTYxLDYgKzYzLDExIEBAIHZvaWQg
UlRDUnRwUmVjZWl2ZXI6OmdldFN0YXRzKFJlZjxEZWZlcnJlZFByb21pc2U+JiYgcHJvbWlzZSkK
ICAgICBtX2Nvbm5lY3Rpb24tPmdldFN0YXRzKCp0aGlzLCBXVEZNb3ZlKHByb21pc2UpKTsKIH0K
IAorc3RkOjpvcHRpb25hbDxSVENSdHBDYXBhYmlsaXRpZXM+IFJUQ1J0cFJlY2VpdmVyOjpnZXRD
YXBhYmlsaXRpZXMoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgY29uc3QgU3RyaW5n
JiBraW5kKQoreworICAgIHJldHVybiBQZWVyQ29ubmVjdGlvbkJhY2tlbmQ6OnJlY2VpdmVyQ2Fw
YWJpbGl0aWVzKGNvbnRleHQsIGtpbmQpOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAK
ICNlbmRpZiAvLyBFTkFCTEUoV0VCX1JUQykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwUmVjZWl2ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL01vZHVs
ZXMvbWVkaWFzdHJlYW0vUlRDUnRwUmVjZWl2ZXIuaAppbmRleCBiNGZlZTYwYWZjMThiZDU5NmUx
NmM0MDgwZDBjZjYwOGU0MDQxYzQyLi45N2ZlYjgxNWI0ZTBmMzFiYjFiN2ZhODk0Yjk1NDVkMDUy
MTJhY2E0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JU
Q1J0cFJlY2VpdmVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9S
VENSdHBSZWNlaXZlci5oCkBAIC00MCw2ICs0MCw3IEBACiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAK
IGNsYXNzIFBlZXJDb25uZWN0aW9uQmFja2VuZDsKK3N0cnVjdCBSVENSdHBDYXBhYmlsaXRpZXM7
CiAKIGNsYXNzIFJUQ1J0cFJlY2VpdmVyIDogcHVibGljIFJlZkNvdW50ZWQ8UlRDUnRwUmVjZWl2
ZXI+LCBwdWJsaWMgU2NyaXB0V3JhcHBhYmxlICB7CiBwdWJsaWM6CkBAIC00OCw2ICs0OSw4IEBA
IHB1YmxpYzoKICAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgUlRDUnRwUmVjZWl2ZXIoY29u
bmVjdGlvbiwgV1RGTW92ZSh0cmFjayksIFdURk1vdmUoYmFja2VuZCkpKTsKICAgICB9CiAKKyAg
ICBzdGF0aWMgc3RkOjpvcHRpb25hbDxSVENSdHBDYXBhYmlsaXRpZXM+IGdldENhcGFiaWxpdGll
cyhTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgY29uc3QgU3RyaW5nJiBraW5kKTsKKwogICAgIHZv
aWQgc3RvcCgpOwogCiAgICAgdm9pZCBzZXRCYWNrZW5kKHN0ZDo6dW5pcXVlX3B0cjxSVENSdHBS
ZWNlaXZlckJhY2tlbmQ+JiYgYmFja2VuZCkgeyBtX2JhY2tlbmQgPSBXVEZNb3ZlKGJhY2tlbmQp
OyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0
cFJlY2VpdmVyLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRw
UmVjZWl2ZXIuaWRsCmluZGV4IDlkODU2NWE3NmQwZGE5MGQ3MzhmY2M2ZGJlNTRjMGZkYTM3NGM2
MDguLjI4N2RjZWM1ZDNiMWM4YmZhNDEzZWE0Y2FiYzViODJmZDUyOTY2ZWIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwUmVjZWl2ZXIuaWRsCisr
KyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwUmVjZWl2ZXIuaWRs
CkBAIC0zNSwxMCArMzUsMTAgQEAKICAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlCiBdIGlu
dGVyZmFjZSBSVENSdHBSZWNlaXZlciB7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIE1lZGlhU3Ry
ZWFtVHJhY2sgdHJhY2s7Ci0gICAgUlRDUnRwUGFyYW1ldGVycyBnZXRQYXJhbWV0ZXJzKCk7CiAg
ICAgLy8gRklYTUUgMTY5NjYyOiBtaXNzaW5nIHRyYW5zcG9ydAogICAgIC8vIEZJWE1FIDE2OTY2
MjogbWlzc2luZyBydGNwVHJhbnNwb3J0Ci0gICAgLy8gRklYTUUgMTY5NjYyOiBtaXNzaW5nIGdl
dENhcGFiaWxpdGllcworICAgIFtDYWxsV2l0aD1TY3JpcHRFeGVjdXRpb25Db250ZXh0XSBzdGF0
aWMgUlRDUnRwQ2FwYWJpbGl0aWVzPyBnZXRDYXBhYmlsaXRpZXMoRE9NU3RyaW5nIGtpbmQpOwor
ICAgIFJUQ1J0cFBhcmFtZXRlcnMgZ2V0UGFyYW1ldGVycygpOwogICAgIHNlcXVlbmNlPFJUQ1J0
cENvbnRyaWJ1dGluZ1NvdXJjZT4gZ2V0Q29udHJpYnV0aW5nU291cmNlcygpOwogICAgIHNlcXVl
bmNlPFJUQ1J0cFN5bmNocm9uaXphdGlvblNvdXJjZT4gZ2V0U3luY2hyb25pemF0aW9uU291cmNl
cygpOwogICAgIFByb21pc2U8UlRDU3RhdHNSZXBvcnQ+IGdldFN0YXRzKCk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFNlbmRlci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFNlbmRlci5jcHAKaW5kZXgg
YzdjYTJiNGYyN2Q5OTU5ZmIzMTE1NTQ0N2IxYTlmNmU1NzUzNzc3ZC4uMjNiYjA1ZjdiZmZmODZm
MmRjNmMzZWYyMWFmZGIwOWRjYzdmNDUzYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9k
dWxlcy9tZWRpYXN0cmVhbS9SVENSdHBTZW5kZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01v
ZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwU2VuZGVyLmNwcApAQCAtMzMsNiArMzMsNyBAQAogCiAj
aWYgRU5BQkxFKFdFQl9SVEMpCiAKKyNpbmNsdWRlICJSVENSdHBDYXBhYmlsaXRpZXMuaCIKICNp
bmNsdWRlICJSdW50aW1lRW5hYmxlZEZlYXR1cmVzLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsK
QEAgLTEyMCw2ICsxMjEsMTEgQEAgdm9pZCBSVENSdHBTZW5kZXI6OmdldFN0YXRzKFJlZjxEZWZl
cnJlZFByb21pc2U+JiYgcHJvbWlzZSkKICAgICBtX2Nvbm5lY3Rpb24tPmdldFN0YXRzKCp0aGlz
LCBXVEZNb3ZlKHByb21pc2UpKTsKIH0KIAorc3RkOjpvcHRpb25hbDxSVENSdHBDYXBhYmlsaXRp
ZXM+IFJUQ1J0cFNlbmRlcjo6Z2V0Q2FwYWJpbGl0aWVzKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQm
IGNvbnRleHQsIGNvbnN0IFN0cmluZyYga2luZCkKK3sKKyAgICByZXR1cm4gUGVlckNvbm5lY3Rp
b25CYWNrZW5kOjpzZW5kZXJDYXBhYmlsaXRpZXMoY29udGV4dCwga2luZCk7Cit9CisKIH0gLy8g
bmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8vIEVOQUJMRShXRUJfUlRDKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBTZW5kZXIuaCBiL1Nv
dXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwU2VuZGVyLmgKaW5kZXggNDlh
YWQzZTMzNDRmZGU2YWNjYTQ2ZWRjOWFhZTY4N2QzMWU3N2Q2Ni4uNDZjZmE2YWY0YjZjZTYzZDNk
ZTcwNzY2OGFjNjQ1NmFjZGIxNjRkMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxl
cy9tZWRpYXN0cmVhbS9SVENSdHBTZW5kZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhc3RyZWFtL1JUQ1J0cFNlbmRlci5oCkBAIC00MCwxMiArNDAsMTUgQEAKIG5hbWVzcGFj
ZSBXZWJDb3JlIHsKIAogY2xhc3MgUGVlckNvbm5lY3Rpb25CYWNrZW5kOworc3RydWN0IFJUQ1J0
cENhcGFiaWxpdGllczsKIAogY2xhc3MgUlRDUnRwU2VuZGVyIDogcHVibGljIFJlZkNvdW50ZWQ8
UlRDUnRwU2VuZGVyPiwgcHVibGljIFNjcmlwdFdyYXBwYWJsZSB7CiBwdWJsaWM6CiAgICAgc3Rh
dGljIFJlZjxSVENSdHBTZW5kZXI+IGNyZWF0ZShQZWVyQ29ubmVjdGlvbkJhY2tlbmQmLCBSZWY8
TWVkaWFTdHJlYW1UcmFjaz4mJiwgVmVjdG9yPFN0cmluZz4mJiBtZWRpYVN0cmVhbUlkcywgc3Rk
Ojp1bmlxdWVfcHRyPFJUQ1J0cFNlbmRlckJhY2tlbmQ+JiYpOwogICAgIHN0YXRpYyBSZWY8UlRD
UnRwU2VuZGVyPiBjcmVhdGUoUGVlckNvbm5lY3Rpb25CYWNrZW5kJiwgU3RyaW5nJiYgdHJhY2tL
aW5kLCBWZWN0b3I8U3RyaW5nPiYmIG1lZGlhU3RyZWFtSWRzLCBzdGQ6OnVuaXF1ZV9wdHI8UlRD
UnRwU2VuZGVyQmFja2VuZD4mJik7CiAKKyAgICBzdGF0aWMgc3RkOjpvcHRpb25hbDxSVENSdHBD
YXBhYmlsaXRpZXM+IGdldENhcGFiaWxpdGllcyhTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgY29u
c3QgU3RyaW5nJiBraW5kKTsKKwogICAgIE1lZGlhU3RyZWFtVHJhY2sqIHRyYWNrKCkgeyByZXR1
cm4gbV90cmFjay5nZXQoKTsgfQogCiAgICAgY29uc3QgU3RyaW5nJiB0cmFja0lkKCkgY29uc3Qg
eyByZXR1cm4gbV90cmFja0lkOyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVz
L21lZGlhc3RyZWFtL1JUQ1J0cFNlbmRlci5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21l
ZGlhc3RyZWFtL1JUQ1J0cFNlbmRlci5pZGwKaW5kZXggMDljZGI4ZTM0NTk5M2NlOThkNmJkMzU5
Y2MyYjM2NmM3ZWUyMTIyZC4uM2MyMDJhNmIyOWY4Nzc3YWJhZWJiMWY2Y2ZmODdmNmI0NmIwMDlh
MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBT
ZW5kZXIuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRw
U2VuZGVyLmlkbApAQCAtMzcsOCArMzcsOCBAQAogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBNZWRp
YVN0cmVhbVRyYWNrPyB0cmFjazsKICAgICAvLyBGSVhNRSAxNjk2NjI6IG1pc3NpbmcgdHJhbnNw
b3J0CiAgICAgLy8gRklYTUUgMTY5NjYyOiBtaXNzaW5nIHJ0Y3BUcmFuc3BvcnQKLSAgICAvLyBG
SVhNRSAxNjk2NjI6IG1pc3NpbmcgZ2V0Q2FwYWJpbGl0aWVzCiAgICAgLy8gRklYTUUgMTY5NjYy
OiBtaXNzaW5nIHNldFN0cmVhbXMKKyAgICBbQ2FsbFdpdGg9U2NyaXB0RXhlY3V0aW9uQ29udGV4
dF0gc3RhdGljIFJUQ1J0cENhcGFiaWxpdGllcz8gZ2V0Q2FwYWJpbGl0aWVzKERPTVN0cmluZyBr
aW5kKTsKICAgICBSVENSdHBTZW5kUGFyYW1ldGVycyBnZXRQYXJhbWV0ZXJzKCk7CiAgICAgUHJv
bWlzZTx2b2lkPiBzZXRQYXJhbWV0ZXJzKFJUQ1J0cFNlbmRQYXJhbWV0ZXJzIHBhcmFtZXRlcnMp
OwogICAgIFtDYWxsV2l0aD1TY3JpcHRFeGVjdXRpb25Db250ZXh0XSBQcm9taXNlPHZvaWQ+IHJl
cGxhY2VUcmFjayhNZWRpYVN0cmVhbVRyYWNrPyB3aXRoVHJhY2spOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDUGVlckNv
bm5lY3Rpb25CYWNrZW5kLmNwcCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0v
bGlid2VicnRjL0xpYldlYlJUQ1BlZXJDb25uZWN0aW9uQmFja2VuZC5jcHAKaW5kZXggYzNlYjcw
NjFiZDI3N2Y0OTEyNDUwMDVmZjg3ZjNlZWQ1NGUyZjU5Yi4uNGJhZjBiYzg0ZDAyOTE3NDhiNDg5
YTQ4OGFhODM1ZGU1ZjExZDU4NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9t
ZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDUGVlckNvbm5lY3Rpb25CYWNrZW5kLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJS
VENQZWVyQ29ubmVjdGlvbkJhY2tlbmQuY3BwCkBAIC0zOCw2ICszOCw3IEBACiAjaW5jbHVkZSAi
UGFnZS5oIgogI2luY2x1ZGUgIlJUQ0ljZUNhbmRpZGF0ZS5oIgogI2luY2x1ZGUgIlJUQ1BlZXJD
b25uZWN0aW9uLmgiCisjaW5jbHVkZSAiUlRDUnRwQ2FwYWJpbGl0aWVzLmgiCiAjaW5jbHVkZSAi
UlRDUnRwUmVjZWl2ZXIuaCIKICNpbmNsdWRlICJSVENTZXNzaW9uRGVzY3JpcHRpb24uaCIKICNp
bmNsdWRlICJSZWFsdGltZUluY29taW5nQXVkaW9Tb3VyY2UuaCIKQEAgLTY1LDYgKzY2LDIyIEBA
IHN0YXRpYyBzdGQ6OnVuaXF1ZV9wdHI8UGVlckNvbm5lY3Rpb25CYWNrZW5kPiBjcmVhdGVMaWJX
ZWJSVENQZWVyQ29ubmVjdGlvbkJhY2tlCiAKIENyZWF0ZVBlZXJDb25uZWN0aW9uQmFja2VuZCBQ
ZWVyQ29ubmVjdGlvbkJhY2tlbmQ6OmNyZWF0ZSA9IGNyZWF0ZUxpYldlYlJUQ1BlZXJDb25uZWN0
aW9uQmFja2VuZDsKIAorc3RkOjpvcHRpb25hbDxSVENSdHBDYXBhYmlsaXRpZXM+IFBlZXJDb25u
ZWN0aW9uQmFja2VuZDo6cmVjZWl2ZXJDYXBhYmlsaXRpZXMoU2NyaXB0RXhlY3V0aW9uQ29udGV4
dCYgY29udGV4dCwgY29uc3QgU3RyaW5nJiBraW5kKQoreworICAgIGF1dG8qIHBhZ2UgPSBkb3du
Y2FzdDxEb2N1bWVudD4oY29udGV4dCkucGFnZSgpOworICAgIGlmICghcGFnZSkKKyAgICAgICAg
cmV0dXJuIHsgfTsKKyAgICByZXR1cm4gcGFnZS0+bGliV2ViUlRDUHJvdmlkZXIoKS5yZWNlaXZl
ckNhcGFiaWxpdGllcyhraW5kKTsKK30KKworc3RkOjpvcHRpb25hbDxSVENSdHBDYXBhYmlsaXRp
ZXM+IFBlZXJDb25uZWN0aW9uQmFja2VuZDo6c2VuZGVyQ2FwYWJpbGl0aWVzKFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQmIGNvbnRleHQsIGNvbnN0IFN0cmluZyYga2luZCkKK3sKKyAgICBhdXRvKiBw
YWdlID0gZG93bmNhc3Q8RG9jdW1lbnQ+KGNvbnRleHQpLnBhZ2UoKTsKKyAgICBpZiAoIXBhZ2Up
CisgICAgICAgIHJldHVybiB7IH07CisgICAgcmV0dXJuIHBhZ2UtPmxpYldlYlJUQ1Byb3ZpZGVy
KCkuc2VuZGVyQ2FwYWJpbGl0aWVzKGtpbmQpOworfQorCiBMaWJXZWJSVENQZWVyQ29ubmVjdGlv
bkJhY2tlbmQ6OkxpYldlYlJUQ1BlZXJDb25uZWN0aW9uQmFja2VuZChSVENQZWVyQ29ubmVjdGlv
biYgcGVlckNvbm5lY3Rpb24sIExpYldlYlJUQ1Byb3ZpZGVyJiBwcm92aWRlcikKICAgICA6IFBl
ZXJDb25uZWN0aW9uQmFja2VuZChwZWVyQ29ubmVjdGlvbikKICAgICAsIG1fZW5kcG9pbnQoTGli
V2ViUlRDTWVkaWFFbmRwb2ludDo6Y3JlYXRlKCp0aGlzLCBwcm92aWRlcikpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0
CmluZGV4IGQ1MDI3NzcyYjFlNmZhYzZiZjk0OGZlMmY3MDJkOGE1ZDJmMThiOTAuLjY0OThjZDIw
YjZiMWZhNDExYzQwMGJhOWU2OWRhOTQ5NjdmNDU5N2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL1NvdXJjZXMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CkBAIC0yOTM5
LDYgKzI5MzksNyBAQCBKU1JUQ1BlZXJDb25uZWN0aW9uLmNwcAogSlNSVENQZWVyQ29ubmVjdGlv
bkljZUV2ZW50LmNwcAogSlNSVENQZWVyQ29ubmVjdGlvblN0YXRlLmNwcAogSlNSVENQcmlvcml0
eVR5cGUuY3BwCitKU1JUQ1J0cENhcGFiaWxpdGllcy5jcHAKIEpTUlRDUnRwQ29kZWNQYXJhbWV0
ZXJzLmNwcAogSlNSVENSdHBDb250cmlidXRpbmdTb3VyY2UuY3BwCiBKU1JUQ1J0cEVuY29kaW5n
UGFyYW1ldGVycy5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagppbmRleCAxNjEzOTFhM2JmMzEyMDFhMGIyZmQ5ODc1MDE3MTg3OTRkNjI3
ZThkLi5hMmYwZjliNzgzZWUxOGU2YTg2N2Y5MGQ0NTVmZWJlNWVlMmQxNWZjIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC03Mjcw
LDYgKzcyNzAsOCBAQAogCQk0MTMxRjNCNDFGOTU1QkMzMDA1OTk5NUEgLyogRXh0ZW5kYWJsZUV2
ZW50SW5pdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBFeHRlbmRhYmxlRXZl
bnRJbml0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxMzFGM0I1MUY5NTVCQzUw
MDU5OTk1QSAvKiBFeHRlbmRhYmxlRXZlbnRJbml0LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGgg
PSBFeHRlbmRhYmxlRXZlbnRJbml0LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
NDEzM0NCODkyMEY4MEU4NjAwRTg5QjExIC8qIE1lZGlhU3RyZWFtQXVkaW9Tb3VyY2VDb2NvYS5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBNZWRpYVN0cmVhbUF1ZGlv
U291cmNlQ29jb2EuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MTM2OUU1NTIx
OEM3NkUzMDA3OTJFMjkgLyogUlRDUnRwQ2FwYWJpbGl0aWVzLmlkbCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7
IHBhdGggPSBSVENSdHBDYXBhYmlsaXRpZXMuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQk0MTM2OUU1NzIxOEM3ODM5MDA3OTJFMjkgLyogUlRDUnRwQ2FwYWJpbGl0aWVzLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJUQ1J0cENhcGFiaWxpdGllcy5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MTM4MEMyMDFGMzQzNjhBMDAxNTVGREEgLyogRE9N
Q2FjaGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gRE9NQ2FjaGUuY3BwOyBwYXRoID0gTW9kdWxl
cy9jYWNoZS9ET01DYWNoZS5jcHA7IHNvdXJjZVRyZWUgPSBTT1VSQ0VfUk9PVDsgfTsKIAkJNDEz
ODBDMjExRjM0MzY4RDAwMTU1RkRBIC8qIERPTUNhY2hlU3RvcmFnZS5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IG5hbWUgPSBET01DYWNoZVN0b3JhZ2UuY3BwOyBwYXRoID0gTW9kdWxlcy9jYWNoZS9ET01DYWNo
ZVN0b3JhZ2UuY3BwOyBzb3VyY2VUcmVlID0gU09VUkNFX1JPT1Q7IH07CiAJCTQxMzgwQzIyMUYz
NDM2OTAwMDE1NUZEQSAvKiBET01DYWNoZVN0b3JhZ2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gRE9NQ2Fj
aGVTdG9yYWdlLmg7IHBhdGggPSBNb2R1bGVzL2NhY2hlL0RPTUNhY2hlU3RvcmFnZS5oOyBzb3Vy
Y2VUcmVlID0gU09VUkNFX1JPT1Q7IH07CkBAIC0xNTQ2MSw2ICsxNTQ2Myw3IEBACiAJCQkJNDFB
NDhBOUMxRTgzMTI5MTAwRDJBQzJEIC8qIFJUQ1BlZXJDb25uZWN0aW9uU3RhdGUuaWRsICovLAog
CQkJCTQxRkNCNzVDMjE0ODY2RkUwMDM4QURDNiAvKiBSVENQcmlvcml0eVR5cGUuaCAqLywKIAkJ
CQk0MUU1OTNGRDIxNDg2NUE5MDBEM0NCNjEgLyogUlRDUHJpb3JpdHlUeXBlLmlkbCAqLywKKwkJ
CQk0MTM2OUU1NTIxOEM3NkUzMDA3OTJFMjkgLyogUlRDUnRwQ2FwYWJpbGl0aWVzLmlkbCAqLywK
IAkJCQk0MUZDQjc1RjIxNDg2NkZGMDAzOEFEQzYgLyogUlRDUnRwQ29kZWNQYXJhbWV0ZXJzLmgg
Ki8sCiAJCQkJNDFGQ0I3NTkyMTQ4NjVEMzAwMzhBREM2IC8qIFJUQ1J0cENvZGVjUGFyYW1ldGVy
cy5pZGwgKi8sCiAJCQkJNDE0QUQzRkYyMTQ5OEQzMDAwNTIxNjc2IC8qIFJUQ1J0cENvZGluZ1Bh
cmFtZXRlcnMuaCAqLywKQEAgLTE1NTcyLDYgKzE1NTc1LDggQEAKIAkJCQkzMTM1OTEwMzFFN0RE
QzYwMDBGMzA2MzAgLyogUlRDSWNlVHJhbnNwb3J0U3RhdGUuaCAqLywKIAkJCQkwNzIyMUJBQTE3
Q0YwQUQ0MDA4NDhFNTEgLyogUlRDUGVlckNvbm5lY3Rpb25IYW5kbGVyQ2xpZW50LmggKi8sCiAJ
CQkJNDFBNDhBOUQxRTgzMTJFQjAwRDJBQzJEIC8qIFJUQ1BlZXJDb25uZWN0aW9uU3RhdGUuaCAq
LywKKwkJCQk0MTJCQTVGRTIxOEM2NTE4MDAzNjU0NzQgLyogUlRDUE11eFBvbGljeS5oICovLAor
CQkJCTQxMzY5RTU3MjE4Qzc4MzkwMDc5MkUyOSAvKiBSVENSdHBDYXBhYmlsaXRpZXMuaCAqLywK
IAkJCQkzMUVCNTRERDFFN0RDNzQ0MDBDMTYyM0IgLyogUlRDUnRwVHJhbnNjZWl2ZXJEaXJlY3Rp
b24uaCAqLywKIAkJCQkzMTM1OTEwNDFFN0REQzYwMDBGMzA2MzAgLyogUlRDU2RwVHlwZS5oICov
LAogCQkJCTA3MjIxQkFCMTdDRjBBRDQwMDg0OEU1MSAvKiBSVENTZXNzaW9uRGVzY3JpcHRpb25E
ZXNjcmlwdG9yLmNwcCAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21l
ZGlhc3RyZWFtL1JUQ1J0cENhcGFiaWxpdGllcy5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bWVkaWFzdHJlYW0vUlRDUnRwQ2FwYWJpbGl0aWVzLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uM2ZhNjY0NDdlNGE0
Y2I0ZTZmZDRlMDU3N2JiNGI5MWFkNDdjODNhYQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL1JUQ1J0cENhcGFiaWxpdGllcy5oCkBAIC0wLDAg
KzEsNTEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTggQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0Ogor
ICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQgQU5ZCisg
KiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisgKiBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZP
UiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CisgKiBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04KKyAqIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUworICogU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoV0VCX1JU
QykKKworI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJp
bmcuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitzdHJ1Y3QgUlRDUnRwQ2FwYWJpbGl0aWVz
IHsKKyAgICBzdHJ1Y3QgQ29kZWNDYXBhYmlsaXR5IHsKKyAgICAgICAgU3RyaW5nIG1pbWVUeXBl
OworICAgICAgICB1aW50MzJfdCBjbG9ja1JhdGUgeyAwIH07CisgICAgICAgIHN0ZDo6b3B0aW9u
YWw8dWludDE2X3Q+IGNoYW5uZWxzOworICAgICAgICBTdHJpbmcgc2RwRm10cExpbmU7CisgICAg
fTsKKyAgICBzdHJ1Y3QgSGVhZGVyRXh0ZW5zaW9uQ2FwYWJpbGl0eSB7CisgICAgICAgIFN0cmlu
ZyB1cmk7CisgICAgfTsKKworICAgIFZlY3RvcjxDb2RlY0NhcGFiaWxpdHk+IGNvZGVjczsKKyAg
ICBWZWN0b3I8SGVhZGVyRXh0ZW5zaW9uQ2FwYWJpbGl0eT4gaGVhZGVyRXh0ZW5zaW9uczsKK307
CisKK307IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1Byb3ZpZGVy
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJX
ZWJSVENQcm92aWRlci5jcHAKaW5kZXggZTk4MTE5NjBjNTdkMGZjZTVmYzYyODc4N2VlYWZkNzgy
NmExNDY4MC4uZWRjNzBlYjk0NmMzZDgwOGY1ODY0NGE1ZTRjMWNiZjFkNmVmZTM5NiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldl
YlJUQ1Byb3ZpZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVh
bS9saWJ3ZWJydGMvTGliV2ViUlRDUHJvdmlkZXIuY3BwCkBAIC0yOSw2ICsyOSw3IEBACiAjaWYg
VVNFKExJQldFQlJUQykKICNpbmNsdWRlICJMaWJXZWJSVENBdWRpb01vZHVsZS5oIgogI2luY2x1
ZGUgIkxvZ2dpbmcuaCIKKyNpbmNsdWRlICJSVENSdHBDYXBhYmlsaXRpZXMuaCIKICNpbmNsdWRl
IDxkbGZjbi5oPgogCiBBTExPV19VTlVTRURfUEFSQU1FVEVSU19CRUdJTgpAQCAtMjgwLDYgKzI4
MSw2OCBAQCBydGM6OlJUQ0NlcnRpZmljYXRlR2VuZXJhdG9yJiBMaWJXZWJSVENQcm92aWRlcjo6
Y2VydGlmaWNhdGVHZW5lcmF0b3IoKQogICAgIHJldHVybiAqZmFjdG9yeUFuZFRocmVhZHMuY2Vy
dGlmaWNhdGVHZW5lcmF0b3I7CiB9CiAKK3N0YXRpYyBpbmxpbmUgc3RkOjpvcHRpb25hbDxjcmlj
a2V0OjpNZWRpYVR5cGU+IHR5cGVGcm9tS2luZChjb25zdCBTdHJpbmcmIGtpbmQpCit7CisgICAg
aWYgKGtpbmQgPT0gImF1ZGlvIl9zKQorICAgICAgICByZXR1cm4gY3JpY2tldDo6TWVkaWFUeXBl
OjpNRURJQV9UWVBFX0FVRElPOworICAgIGlmIChraW5kID09ICJ2aWRlbyJfcykKKyAgICAgICAg
cmV0dXJuIGNyaWNrZXQ6Ok1lZGlhVHlwZTo6TUVESUFfVFlQRV9WSURFTzsKKyAgICByZXR1cm4g
eyB9OworfQorCitzdGF0aWMgaW5saW5lIFN0cmluZyBmcm9tU3RkU3RyaW5nKGNvbnN0IHN0ZDo6
c3RyaW5nJiB2YWx1ZSkKK3sKKyAgICByZXR1cm4gU3RyaW5nOjpmcm9tVVRGOCh2YWx1ZS5kYXRh
KCksIHZhbHVlLmxlbmd0aCgpKTsKK30KKworc3RhdGljIGlubGluZSBzdGQ6Om9wdGlvbmFsPHVp
bnQxNl90PiB0b0NoYW5uZWxzKGFic2w6Om9wdGlvbmFsPGludD4gbnVtQ2hhbm5lbHMpCit7Cisg
ICAgaWYgKCFudW1DaGFubmVscykKKyAgICAgICAgcmV0dXJuIHsgfTsKKyAgICByZXR1cm4gc3Rh
dGljX2Nhc3Q8dWludDMyX3Q+KCpudW1DaGFubmVscyk7Cit9CisKK3N0YXRpYyBpbmxpbmUgUlRD
UnRwQ2FwYWJpbGl0aWVzIHRvUlRDUnRwQ2FwYWJpbGl0aWVzKGNvbnN0IHdlYnJ0Yzo6UnRwQ2Fw
YWJpbGl0aWVzJiBydHBDYXBhYmlsaXRpZXMpCit7CisgICAgUlRDUnRwQ2FwYWJpbGl0aWVzIGNh
cGFiaWxpdGllczsKKworICAgIGNhcGFiaWxpdGllcy5jb2RlY3MucmVzZXJ2ZUluaXRpYWxDYXBh
Y2l0eShydHBDYXBhYmlsaXRpZXMuY29kZWNzLnNpemUoKSk7CisgICAgZm9yIChhdXRvJiBjb2Rl
YyA6IHJ0cENhcGFiaWxpdGllcy5jb2RlY3MpCisgICAgICAgIGNhcGFiaWxpdGllcy5jb2RlY3Mu
dW5jaGVja2VkQXBwZW5kKFJUQ1J0cENhcGFiaWxpdGllczo6Q29kZWNDYXBhYmlsaXR5IHsgZnJv
bVN0ZFN0cmluZyhjb2RlYy5taW1lX3R5cGUoKSksIHN0YXRpY19jYXN0PHVpbnQzMl90Pihjb2Rl
Yy5jbG9ja19yYXRlID8gKmNvZGVjLmNsb2NrX3JhdGUgOiAwKSwgdG9DaGFubmVscyhjb2RlYy5u
dW1fY2hhbm5lbHMpLCB7IH0gfSk7CisKKyAgICBjYXBhYmlsaXRpZXMuaGVhZGVyRXh0ZW5zaW9u
cy5yZXNlcnZlSW5pdGlhbENhcGFjaXR5KHJ0cENhcGFiaWxpdGllcy5oZWFkZXJfZXh0ZW5zaW9u
cy5zaXplKCkpOworICAgIGZvciAoYXV0byYgaGVhZGVyIDogcnRwQ2FwYWJpbGl0aWVzLmhlYWRl
cl9leHRlbnNpb25zKQorICAgICAgICBjYXBhYmlsaXRpZXMuaGVhZGVyRXh0ZW5zaW9ucy51bmNo
ZWNrZWRBcHBlbmQoUlRDUnRwQ2FwYWJpbGl0aWVzOjpIZWFkZXJFeHRlbnNpb25DYXBhYmlsaXR5
IHsgZnJvbVN0ZFN0cmluZyhoZWFkZXIudXJpKSB9KTsKKworICAgIHJldHVybiBjYXBhYmlsaXRp
ZXM7Cit9CisKK3N0ZDo6b3B0aW9uYWw8UlRDUnRwQ2FwYWJpbGl0aWVzPiBMaWJXZWJSVENQcm92
aWRlcjo6cmVjZWl2ZXJDYXBhYmlsaXRpZXMoY29uc3QgU3RyaW5nJiBraW5kKQoreworICAgIGF1
dG8gbWVkaWFUeXBlID0gdHlwZUZyb21LaW5kKGtpbmQpOworICAgIGlmICghbWVkaWFUeXBlKQor
ICAgICAgICByZXR1cm4geyB9OworCisgICAgYXV0byogZmFjdG9yeSA9IHRoaXMtPmZhY3Rvcnko
KTsKKyAgICBpZiAoIWZhY3RvcnkpCisgICAgICAgIHJldHVybiB7IH07CisKKyAgICByZXR1cm4g
dG9SVENSdHBDYXBhYmlsaXRpZXMoZmFjdG9yeS0+R2V0UnRwUmVjZWl2ZXJDYXBhYmlsaXRpZXMo
Km1lZGlhVHlwZSkpOworfQorCitzdGQ6Om9wdGlvbmFsPFJUQ1J0cENhcGFiaWxpdGllcz4gTGli
V2ViUlRDUHJvdmlkZXI6OnNlbmRlckNhcGFiaWxpdGllcyhjb25zdCBTdHJpbmcmIGtpbmQpCit7
CisgICAgYXV0byBtZWRpYVR5cGUgPSB0eXBlRnJvbUtpbmQoa2luZCk7CisgICAgaWYgKCFtZWRp
YVR5cGUpCisgICAgICAgIHJldHVybiB7IH07CisKKyAgICBhdXRvKiBmYWN0b3J5ID0gdGhpcy0+
ZmFjdG9yeSgpOworICAgIGlmICghZmFjdG9yeSkKKyAgICAgICAgcmV0dXJuIHsgfTsKKworICAg
IHJldHVybiB0b1JUQ1J0cENhcGFiaWxpdGllcyhmYWN0b3J5LT5HZXRSdHBTZW5kZXJDYXBhYmls
aXRpZXMoKm1lZGlhVHlwZSkpOworfQorCiAjZW5kaWYgLy8gVVNFKExJQldFQlJUQykKIAogfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
bWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1Byb3ZpZGVyLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDUHJvdmlkZXIuaAppbmRl
eCA1ZDEyZTdiOGY2YzdlNjk4ZTk1NmM5ZTQyZjI4OGUzOTdmNTAzNjgyLi5jMjQ5NDI3NWRmMjg1
ZmZkNDczNWU3NDg5NzRlYjljZmNiNzk2MGNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDUHJvdmlkZXIuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDUHJv
dmlkZXIuaApAQCAtNTksNiArNTksNyBAQCBjbGFzcyBQZWVyQ29ubmVjdGlvbkZhY3RvcnlJbnRl
cmZhY2U7CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIExpYldlYlJUQ0F1ZGlvTW9kdWxl
Oworc3RydWN0IFJUQ1J0cENhcGFiaWxpdGllczsKIAogZW51bSBjbGFzcyBNRE5TUmVnaXN0ZXJF
cnJvciB7IE5vdEltcGxlbWVudGVkLCBCYWRQYXJhbWV0ZXIsIEROU1NELCBJbnRlcm5hbCwgVGlt
ZW91dCB9OwogCkBAIC0xMDksNiArMTEwLDkgQEAgcHVibGljOgogCiAgICAgcnRjOjpSVENDZXJ0
aWZpY2F0ZUdlbmVyYXRvciYgY2VydGlmaWNhdGVHZW5lcmF0b3IoKTsKIAorICAgIHN0ZDo6b3B0
aW9uYWw8UlRDUnRwQ2FwYWJpbGl0aWVzPiByZWNlaXZlckNhcGFiaWxpdGllcyhjb25zdCBTdHJp
bmcmIGtpbmQpOworICAgIHN0ZDo6b3B0aW9uYWw8UlRDUnRwQ2FwYWJpbGl0aWVzPiBzZW5kZXJD
YXBhYmlsaXRpZXMoY29uc3QgU3RyaW5nJiBraW5kKTsKKwogcHJvdGVjdGVkOgogICAgIExpYldl
YlJUQ1Byb3ZpZGVyKCkgPSBkZWZhdWx0OwogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpp
bmRleCBhMzM2NjZlY2UwZjZkOTEyMDRmYTQwNTA4YWVkMmE4NGQxNjAwNDU5Li43MGNmZDBmZjk3
YTM4NGRjODU5OGUxODM1YzZjMjc5NGQ1NDg2NDRlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAxOC0xMS0wMiAgWW91ZW5uIEZhYmxldCAgPHlvdWVu
bkBhcHBsZS5jb20+CisKKyAgICAgICAgQWRkIHN1cHBvcnQgZm9yIHNlbmRlci9yZWNlaXZlciBn
ZXRDYXBhYmlsaXRpZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTE5MTE5MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3dlYnJ0Yy9SVENSdHBDYXBhYmlsaXRpZXMtaGVs
cGVyLmpzOgorICAgICAgICAoc3RyaW5nX2FwcGVhcmVkX2hlcmUudmFsaWRhdGVSdHBDYXBhYmls
aXRpZXMpOiBDaGFuZ2UgYWxyZWFkeSBtYWRlIHVwc3RyZWFtLgorICAgICAgICAqIHdlYi1wbGF0
Zm9ybS10ZXN0cy93ZWJydGMvUlRDUnRwUmVjZWl2ZXItZ2V0Q2FwYWJpbGl0aWVzLWV4cGVjdGVk
LnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvd2VicnRjL1JUQ1J0cFNlbmRlci1n
ZXRDYXBhYmlsaXRpZXMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0
cy93ZWJydGMvUlRDUnRwVHJhbnNjZWl2ZXItc2V0Q29kZWNQcmVmZXJlbmNlcy1leHBlY3RlZC50
eHQ6CisKIDIwMTgtMTEtMDMgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAg
ICAgICAgIFJlZnJlc2ggV1BUIHdlYnJ0YyB0ZXN0cwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJydGMvUlRDUnRwUmVjZWl2ZXItZ2V0
Q2FwYWJpbGl0aWVzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvd2VicnRjL1JUQ1J0cFJlY2VpdmVyLWdldENhcGFiaWxpdGllcy1leHBl
Y3RlZC50eHQKaW5kZXggYWI5MzE3YTg1ZGY1ZWUxMmVjZWNjYzJiYzUyYjljZmQ5MjRjZGI4Mi4u
OTMzMjFjM2Q0OGJhZjI2ZTZiYTVjMjY5YzQ5OTU3MGYxZWM4MjVkNiAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJydGMvUlRDUnRwUmVj
ZWl2ZXItZ2V0Q2FwYWJpbGl0aWVzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYnJ0Yy9SVENSdHBSZWNlaXZlci1nZXRDYXBh
YmlsaXRpZXMtZXhwZWN0ZWQudHh0CkBAIC0xLDUgKzEsNSBAQAogCi1GQUlMIFJUQ1J0cFNlbmRl
ci5nZXRDYXBhYmlsaXRpZXMoJ2F1ZGlvJykgc2hvdWxkIHJldHVybiBSVENSdHBDYXBhYmlsaXRp
ZXMgZGljdGlvbmFyeSBSVENSdHBSZWNlaXZlci5nZXRDYXBhYmlsaXRpZXMgaXMgbm90IGEgZnVu
Y3Rpb24uIChJbiAnUlRDUnRwUmVjZWl2ZXIuZ2V0Q2FwYWJpbGl0aWVzKCdhdWRpbycpJywgJ1JU
Q1J0cFJlY2VpdmVyLmdldENhcGFiaWxpdGllcycgaXMgdW5kZWZpbmVkKQotRkFJTCBSVENSdHBT
ZW5kZXIuZ2V0Q2FwYWJpbGl0aWVzKCd2aWRlbycpIHNob3VsZCByZXR1cm4gUlRDUnRwQ2FwYWJp
bGl0aWVzIGRpY3Rpb25hcnkgUlRDUnRwUmVjZWl2ZXIuZ2V0Q2FwYWJpbGl0aWVzIGlzIG5vdCBh
IGZ1bmN0aW9uLiAoSW4gJ1JUQ1J0cFJlY2VpdmVyLmdldENhcGFiaWxpdGllcygndmlkZW8nKScs
ICdSVENSdHBSZWNlaXZlci5nZXRDYXBhYmlsaXRpZXMnIGlzIHVuZGVmaW5lZCkKLUZBSUwgUlRD
UnRwU2VuZGVyLmdldENhcGFiaWxpdGllcygnZHVtbXknKSBzaG91bGQgcmV0dXJuIG51bGwgUlRD
UnRwUmVjZWl2ZXIuZ2V0Q2FwYWJpbGl0aWVzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ1JUQ1J0
cFJlY2VpdmVyLmdldENhcGFiaWxpdGllcygnZHVtbXknKScsICdSVENSdHBSZWNlaXZlci5nZXRD
YXBhYmlsaXRpZXMnIGlzIHVuZGVmaW5lZCkKK1BBU1MgUlRDUnRwU2VuZGVyLmdldENhcGFiaWxp
dGllcygnYXVkaW8nKSBzaG91bGQgcmV0dXJuIFJUQ1J0cENhcGFiaWxpdGllcyBkaWN0aW9uYXJ5
IAorUEFTUyBSVENSdHBTZW5kZXIuZ2V0Q2FwYWJpbGl0aWVzKCd2aWRlbycpIHNob3VsZCByZXR1
cm4gUlRDUnRwQ2FwYWJpbGl0aWVzIGRpY3Rpb25hcnkgCitQQVNTIFJUQ1J0cFNlbmRlci5nZXRD
YXBhYmlsaXRpZXMoJ2R1bW15Jykgc2hvdWxkIHJldHVybiBudWxsIAogCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYnJ0Yy9SVENSdHBT
ZW5kZXItZ2V0Q2FwYWJpbGl0aWVzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2VicnRjL1JUQ1J0cFNlbmRlci1nZXRDYXBhYmlsaXRp
ZXMtZXhwZWN0ZWQudHh0CmluZGV4IDQ2MWUwMjg3MWUyZjJhMDRkOTQ3M2VjNmIyZGQyNDE4Nzkw
YmNhNDMuLjkzMzIxYzNkNDhiYWYyNmU2YmE1YzI2OWM0OTk1NzBmMWVjODI1ZDYgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2VicnRjL1JU
Q1J0cFNlbmRlci1nZXRDYXBhYmlsaXRpZXMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2VicnRjL1JUQ1J0cFNlbmRlci1nZXRD
YXBhYmlsaXRpZXMtZXhwZWN0ZWQudHh0CkBAIC0xLDUgKzEsNSBAQAogCi1GQUlMIFJUQ1J0cFNl
bmRlci5nZXRDYXBhYmlsaXRpZXMoJ2F1ZGlvJykgc2hvdWxkIHJldHVybiBSVENSdHBDYXBhYmls
aXRpZXMgZGljdGlvbmFyeSBSVENSdHBTZW5kZXIuZ2V0Q2FwYWJpbGl0aWVzIGlzIG5vdCBhIGZ1
bmN0aW9uLiAoSW4gJ1JUQ1J0cFNlbmRlci5nZXRDYXBhYmlsaXRpZXMoJ2F1ZGlvJyknLCAnUlRD
UnRwU2VuZGVyLmdldENhcGFiaWxpdGllcycgaXMgdW5kZWZpbmVkKQotRkFJTCBSVENSdHBTZW5k
ZXIuZ2V0Q2FwYWJpbGl0aWVzKCd2aWRlbycpIHNob3VsZCByZXR1cm4gUlRDUnRwQ2FwYWJpbGl0
aWVzIGRpY3Rpb25hcnkgUlRDUnRwU2VuZGVyLmdldENhcGFiaWxpdGllcyBpcyBub3QgYSBmdW5j
dGlvbi4gKEluICdSVENSdHBTZW5kZXIuZ2V0Q2FwYWJpbGl0aWVzKCd2aWRlbycpJywgJ1JUQ1J0
cFNlbmRlci5nZXRDYXBhYmlsaXRpZXMnIGlzIHVuZGVmaW5lZCkKLUZBSUwgUlRDUnRwU2VuZGVy
LmdldENhcGFiaWxpdGllcygnZHVtbXknKSBzaG91bGQgcmV0dXJuIG51bGwgUlRDUnRwU2VuZGVy
LmdldENhcGFiaWxpdGllcyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdSVENSdHBTZW5kZXIuZ2V0
Q2FwYWJpbGl0aWVzKCdkdW1teScpJywgJ1JUQ1J0cFNlbmRlci5nZXRDYXBhYmlsaXRpZXMnIGlz
IHVuZGVmaW5lZCkKK1BBU1MgUlRDUnRwU2VuZGVyLmdldENhcGFiaWxpdGllcygnYXVkaW8nKSBz
aG91bGQgcmV0dXJuIFJUQ1J0cENhcGFiaWxpdGllcyBkaWN0aW9uYXJ5IAorUEFTUyBSVENSdHBT
ZW5kZXIuZ2V0Q2FwYWJpbGl0aWVzKCd2aWRlbycpIHNob3VsZCByZXR1cm4gUlRDUnRwQ2FwYWJp
bGl0aWVzIGRpY3Rpb25hcnkgCitQQVNTIFJUQ1J0cFNlbmRlci5nZXRDYXBhYmlsaXRpZXMoJ2R1
bW15Jykgc2hvdWxkIHJldHVybiBudWxsIAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYnJ0Yy9SVENSdHBUcmFuc2NlaXZlci1zZXRD
b2RlY1ByZWZlcmVuY2VzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvd2VicnRjL1JUQ1J0cFRyYW5zY2VpdmVyLXNldENvZGVjUHJlZmVy
ZW5jZXMtZXhwZWN0ZWQudHh0CmluZGV4IGQyNTliNDI2Y2RmZmIxODY4MmE1N2FhMzdjYWFiMWIw
NmVjYzQxZGMuLmMwNDhlYzhkNzYxODRmYjNmZjdhZjQxNDEwMTRkYjc4MDYzYjU1MWMgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2VicnRj
L1JUQ1J0cFRyYW5zY2VpdmVyLXNldENvZGVjUHJlZmVyZW5jZXMtZXhwZWN0ZWQudHh0CisrKyBi
L0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2VicnRjL1JUQ1J0
cFRyYW5zY2VpdmVyLXNldENvZGVjUHJlZmVyZW5jZXMtZXhwZWN0ZWQudHh0CkBAIC0xLDExICsx
LDExIEBACiAKLUZBSUwgc2V0Q29kZWNQcmVmZXJlbmNlcygpIG9uIGF1ZGlvIHRyYW5zY2VpdmVy
IHdpdGggY29kZWNzIHJldHVybmVkIGZyb20gUlRDUnRwU2VuZGVyLmdldENhcGFiaWxpdGllcygn
YXVkaW8nKSBzaG91bGQgc3VjY2VlZCBSVENSdHBTZW5kZXIuZ2V0Q2FwYWJpbGl0aWVzIGlzIG5v
dCBhIGZ1bmN0aW9uLiAoSW4gJ1JUQ1J0cFNlbmRlci5nZXRDYXBhYmlsaXRpZXMoJ2F1ZGlvJykn
LCAnUlRDUnRwU2VuZGVyLmdldENhcGFiaWxpdGllcycgaXMgdW5kZWZpbmVkKQotRkFJTCBzZXRD
b2RlY1ByZWZlcmVuY2VzKCkgb24gdmlkZW8gdHJhbnNjZWl2ZXIgd2l0aCBjb2RlY3MgcmV0dXJu
ZWQgZnJvbSBSVENSdHBSZWNlaXZlci5nZXRDYXBhYmlsaXRpZXMoJ3ZpZGVvJykgc2hvdWxkIHN1
Y2NlZWQgUlRDUnRwUmVjZWl2ZXIuZ2V0Q2FwYWJpbGl0aWVzIGlzIG5vdCBhIGZ1bmN0aW9uLiAo
SW4gJ1JUQ1J0cFJlY2VpdmVyLmdldENhcGFiaWxpdGllcygndmlkZW8nKScsICdSVENSdHBSZWNl
aXZlci5nZXRDYXBhYmlsaXRpZXMnIGlzIHVuZGVmaW5lZCkKLUZBSUwgc2V0Q29kZWNQcmVmZXJl
bmNlcygpIHdpdGggYm90aCBzZW5kZXIgcmVjZWl2ZXIgY29kZWNzIGNvbWJpbmVkIHNob3VsZCBz
dWNjZWVkIFJUQ1J0cFNlbmRlci5nZXRDYXBhYmlsaXRpZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJ
biAnUlRDUnRwU2VuZGVyLmdldENhcGFiaWxpdGllcygnYXVkaW8nKScsICdSVENSdHBTZW5kZXIu
Z2V0Q2FwYWJpbGl0aWVzJyBpcyB1bmRlZmluZWQpCitGQUlMIHNldENvZGVjUHJlZmVyZW5jZXMo
KSBvbiBhdWRpbyB0cmFuc2NlaXZlciB3aXRoIGNvZGVjcyByZXR1cm5lZCBmcm9tIFJUQ1J0cFNl
bmRlci5nZXRDYXBhYmlsaXRpZXMoJ2F1ZGlvJykgc2hvdWxkIHN1Y2NlZWQgdHJhbnNjZWl2ZXIu
c2V0Q29kZWNQcmVmZXJlbmNlcyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICd0cmFuc2NlaXZlci5z
ZXRDb2RlY1ByZWZlcmVuY2VzKGNhcGFiaWxpdGllcy5jb2RlY3MpJywgJ3RyYW5zY2VpdmVyLnNl
dENvZGVjUHJlZmVyZW5jZXMnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgc2V0Q29kZWNQcmVmZXJlbmNl
cygpIG9uIHZpZGVvIHRyYW5zY2VpdmVyIHdpdGggY29kZWNzIHJldHVybmVkIGZyb20gUlRDUnRw
UmVjZWl2ZXIuZ2V0Q2FwYWJpbGl0aWVzKCd2aWRlbycpIHNob3VsZCBzdWNjZWVkIHRyYW5zY2Vp
dmVyLnNldENvZGVjUHJlZmVyZW5jZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAndHJhbnNjZWl2
ZXIuc2V0Q29kZWNQcmVmZXJlbmNlcyhjYXBhYmlsaXRpZXMuY29kZWNzKScsICd0cmFuc2NlaXZl
ci5zZXRDb2RlY1ByZWZlcmVuY2VzJyBpcyB1bmRlZmluZWQpCitGQUlMIHNldENvZGVjUHJlZmVy
ZW5jZXMoKSB3aXRoIGJvdGggc2VuZGVyIHJlY2VpdmVyIGNvZGVjcyBjb21iaW5lZCBzaG91bGQg
c3VjY2VlZCB0cmFuc2NlaXZlci5zZXRDb2RlY1ByZWZlcmVuY2VzIGlzIG5vdCBhIGZ1bmN0aW9u
LiAoSW4gJ3RyYW5zY2VpdmVyLnNldENvZGVjUHJlZmVyZW5jZXMoWy4uLmNhcGFiaWxpdGllczEu
Y29kZWNzLCAuLi4gY2FwYWJpbGl0aWVzMi5jb2RlY3NdKScsICd0cmFuc2NlaXZlci5zZXRDb2Rl
Y1ByZWZlcmVuY2VzJyBpcyB1bmRlZmluZWQpCiBGQUlMIHNldENvZGVjUHJlZmVyZW5jZXMoW10p
IHNob3VsZCBzdWNjZWVkIHRyYW5zY2VpdmVyLnNldENvZGVjUHJlZmVyZW5jZXMgaXMgbm90IGEg
ZnVuY3Rpb24uIChJbiAndHJhbnNjZWl2ZXIuc2V0Q29kZWNQcmVmZXJlbmNlcyhbXSknLCAndHJh
bnNjZWl2ZXIuc2V0Q29kZWNQcmVmZXJlbmNlcycgaXMgdW5kZWZpbmVkKQotRkFJTCBzZXRDb2Rl
Y1ByZWZlcmVuY2VzKCkgd2l0aCByZW9yZGVyZWQgY29kZWNzIHNob3VsZCBzdWNjZWVkIFJUQ1J0
cFNlbmRlci5nZXRDYXBhYmlsaXRpZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnUlRDUnRwU2Vu
ZGVyLmdldENhcGFiaWxpdGllcygnYXVkaW8nKScsICdSVENSdHBTZW5kZXIuZ2V0Q2FwYWJpbGl0
aWVzJyBpcyB1bmRlZmluZWQpCi1GQUlMIHNldENvZGVjUHJlZmVyZW5jZXMoKSBvbiBhdWRpbyB0
cmFuc2NlaXZlciB3aXRoIGNvZGVjcyByZXR1cm5lZCBmcm9tIGdldENhcGFiaWxpdGllcygndmlk
ZW8nKSBzaG91bGQgdGhyb3cgSW52YWxpZEFjY2Vzc0Vycm9yIFJUQ1J0cFNlbmRlci5nZXRDYXBh
YmlsaXRpZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnUlRDUnRwU2VuZGVyLmdldENhcGFiaWxp
dGllcygndmlkZW8nKScsICdSVENSdHBTZW5kZXIuZ2V0Q2FwYWJpbGl0aWVzJyBpcyB1bmRlZmlu
ZWQpCitGQUlMIHNldENvZGVjUHJlZmVyZW5jZXMoKSB3aXRoIHJlb3JkZXJlZCBjb2RlY3Mgc2hv
dWxkIHN1Y2NlZWQgdHJhbnNjZWl2ZXIuc2V0Q29kZWNQcmVmZXJlbmNlcyBpcyBub3QgYSBmdW5j
dGlvbi4gKEluICd0cmFuc2NlaXZlci5zZXRDb2RlY1ByZWZlcmVuY2VzKGNvZGVjcyknLCAndHJh
bnNjZWl2ZXIuc2V0Q29kZWNQcmVmZXJlbmNlcycgaXMgdW5kZWZpbmVkKQorRkFJTCBzZXRDb2Rl
Y1ByZWZlcmVuY2VzKCkgb24gYXVkaW8gdHJhbnNjZWl2ZXIgd2l0aCBjb2RlY3MgcmV0dXJuZWQg
ZnJvbSBnZXRDYXBhYmlsaXRpZXMoJ3ZpZGVvJykgc2hvdWxkIHRocm93IEludmFsaWRBY2Nlc3NF
cnJvciBUZXN0IGJ1ZzogdW5yZWNvZ25pemVkIERPTUV4Y2VwdGlvbiBjb2RlICIoKSA9PiB0cmFu
c2NlaXZlci5zZXRDb2RlY1ByZWZlcmVuY2VzKGNhcGFiaWxpdGllcy5jb2RlY3MpIiBwYXNzZWQg
dG8gYXNzZXJ0X3Rocm93cygpCiBGQUlMIHNldENvZGVjUHJlZmVyZW5jZXMoKSB3aXRoIHVzZXIg
ZGVmaW5lZCBjb2RlYyBzaG91bGQgdGhyb3cgSW52YWxpZEFjY2Vzc0Vycm9yIFRlc3QgYnVnOiB1
bnJlY29nbml6ZWQgRE9NRXhjZXB0aW9uIGNvZGUgIigpID0+IHRyYW5zY2VpdmVyLnNldENvZGVj
UHJlZmVyZW5jZXMoY29kZWNzKSIgcGFzc2VkIHRvIGFzc2VydF90aHJvd3MoKQotRkFJTCBzZXRD
b2RlY1ByZWZlcmVuY2VzKCkgd2l0aCB1c2VyIGRlZmluZWQgY29kZWMgdG9nZXRoZXIgd2l0aCBj
b2RlY3MgcmV0dXJuZWQgZnJvbSBnZXRDYXBhYmlsaXRpZXMoKSBzaG91bGQgdGhyb3cgSW52YWxp
ZEFjY2Vzc0Vycm9yIFJUQ1J0cFNlbmRlci5nZXRDYXBhYmlsaXRpZXMgaXMgbm90IGEgZnVuY3Rp
b24uIChJbiAnUlRDUnRwU2VuZGVyLmdldENhcGFiaWxpdGllcygnYXVkaW8nKScsICdSVENSdHBT
ZW5kZXIuZ2V0Q2FwYWJpbGl0aWVzJyBpcyB1bmRlZmluZWQpCi1GQUlMIHNldENvZGVjUHJlZmVy
ZW5jZXMoKSB3aXRoIG1vZGlmaWVkIGNvZGVjcyByZXR1cm5lZCBmcm9tIGdldENhcGFiaWxpdGll
cygpIHNob3VsZCB0aHJvdyBJbnZhbGlkQWNjZXNzRXJyb3IgUlRDUnRwU2VuZGVyLmdldENhcGFi
aWxpdGllcyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdSVENSdHBTZW5kZXIuZ2V0Q2FwYWJpbGl0
aWVzKCdhdWRpbycpJywgJ1JUQ1J0cFNlbmRlci5nZXRDYXBhYmlsaXRpZXMnIGlzIHVuZGVmaW5l
ZCkKK0ZBSUwgc2V0Q29kZWNQcmVmZXJlbmNlcygpIHdpdGggdXNlciBkZWZpbmVkIGNvZGVjIHRv
Z2V0aGVyIHdpdGggY29kZWNzIHJldHVybmVkIGZyb20gZ2V0Q2FwYWJpbGl0aWVzKCkgc2hvdWxk
IHRocm93IEludmFsaWRBY2Nlc3NFcnJvciBUZXN0IGJ1ZzogdW5yZWNvZ25pemVkIERPTUV4Y2Vw
dGlvbiBjb2RlICIoKSA9PiB0cmFuc2NlaXZlci5zZXRDb2RlY1ByZWZlcmVuY2VzKGNvZGVjcyki
IHBhc3NlZCB0byBhc3NlcnRfdGhyb3dzKCkKK0ZBSUwgc2V0Q29kZWNQcmVmZXJlbmNlcygpIHdp
dGggbW9kaWZpZWQgY29kZWNzIHJldHVybmVkIGZyb20gZ2V0Q2FwYWJpbGl0aWVzKCkgc2hvdWxk
IHRocm93IEludmFsaWRBY2Nlc3NFcnJvciBUZXN0IGJ1ZzogdW5yZWNvZ25pemVkIERPTUV4Y2Vw
dGlvbiBjb2RlICIoKSA9PiB0cmFuc2NlaXZlci5zZXRDb2RlY1ByZWZlcmVuY2VzKGNvZGVjcyki
IHBhc3NlZCB0byBhc3NlcnRfdGhyb3dzKCkKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>354044</attachid>
            <date>2018-11-06 18:52:44 -0800</date>
            <delta_ts>2018-11-06 20:01:58 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-191192-20181107095251.patch</filename>
            <type>text/plain</type>
            <size>36223</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM3ODYwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTI1NmI2OTFlZmM4MWJk
ZDZhMGY3NDQxZGY2MDkwMjdlMDgzMjA5My4uNmNhNjBjZDg5ODhiODAxMWQ0NWVlZDI3YzY2MDE5
MDczOWM0YWY0OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDQ1IEBACisyMDE4LTExLTA2ICBZb3Vl
bm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNvbT4KKworICAgICAgICBBZGQgc3VwcG9ydCBmb3Ig
c2VuZGVyL3JlY2VpdmVyIGdldENhcGFiaWxpdGllcworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTkxMTkyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRXJp
YyBDYXJsc29uLgorCisgICAgICAgIEV4cG9zZSBzZW5kZXIvcmVjZWl2ZXIgUlRDUnRwQ2FwYWJp
bGl0aWVzIHRvIEpTLgorICAgICAgICBBZGQgY29ycmVzcG9uZGluZyBJREwgYW5kIHBsdW1iaW5n
IGRvd24gdG8gbGlid2VicnRjIHBlZXIgY29ubmVjdGlvbiBmYWN0b3J5LgorICAgICAgICBDb3Zl
cmVkIGJ5IHJlYmFzZWQgdGVzdHMuCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAg
ICAgKiBEZXJpdmVkU291cmNlcy5tYWtlOgorICAgICAgICAqIE1vZHVsZXMvbWVkaWFzdHJlYW0v
UGVlckNvbm5lY3Rpb25CYWNrZW5kLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBlZXJDb25uZWN0
aW9uQmFja2VuZDo6cmVjZWl2ZXJDYXBhYmlsaXRpZXMpOgorICAgICAgICAoV2ViQ29yZTo6UGVl
ckNvbm5lY3Rpb25CYWNrZW5kOjpzZW5kZXJDYXBhYmlsaXRpZXMpOgorICAgICAgICAqIE1vZHVs
ZXMvbWVkaWFzdHJlYW0vUGVlckNvbm5lY3Rpb25CYWNrZW5kLmg6CisgICAgICAgICogTW9kdWxl
cy9tZWRpYXN0cmVhbS9SVENSdHBDYXBhYmlsaXRpZXMuaWRsOiBBZGRlZC4KKyAgICAgICAgKiBN
b2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFJlY2VpdmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OlJUQ1J0cFJlY2VpdmVyOjpnZXRDYXBhYmlsaXRpZXMpOgorICAgICAgICAqIE1vZHVsZXMvbWVk
aWFzdHJlYW0vUlRDUnRwUmVjZWl2ZXIuaDoKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFt
L1JUQ1J0cFJlY2VpdmVyLmlkbDoKKyAgICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0
cFNlbmRlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSVENSdHBTZW5kZXI6OmdldENhcGFiaWxp
dGllcyk6CisgICAgICAgICogTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBTZW5kZXIuaDoKKyAg
ICAgICAgKiBNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFNlbmRlci5pZGw6CisgICAgICAgICog
TW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMvTGliV2ViUlRDUGVlckNvbm5lY3Rpb25CYWNr
ZW5kLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlBlZXJDb25uZWN0aW9uQmFja2VuZDo6cmVjZWl2
ZXJDYXBhYmlsaXRpZXMpOgorICAgICAgICAoV2ViQ29yZTo6UGVlckNvbm5lY3Rpb25CYWNrZW5k
OjpzZW5kZXJDYXBhYmlsaXRpZXMpOgorICAgICAgICAqIFNvdXJjZXMudHh0OgorICAgICAgICAq
IFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBwbGF0Zm9ybS9t
ZWRpYXN0cmVhbS9SVENQTXV4UG9saWN5Lmg6CisgICAgICAgICogcGxhdGZvcm0vbWVkaWFzdHJl
YW0vUlRDUnRwQ2FwYWJpbGl0aWVzLmg6IEFkZGVkLgorICAgICAgICAqIHBsYXRmb3JtL21lZGlh
c3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENQcm92aWRlci5jcHA6CisgICAgICAgIChXZWJDb3Jl
Ojp0eXBlRnJvbUtpbmQpOgorICAgICAgICAoV2ViQ29yZTo6ZnJvbVN0ZFN0cmluZyk6CisgICAg
ICAgIChXZWJDb3JlOjp0b0NoYW5uZWxzKToKKyAgICAgICAgKFdlYkNvcmU6OnRvUlRDUnRwQ2Fw
YWJpbGl0aWVzKToKKyAgICAgICAgKFdlYkNvcmU6OkxpYldlYlJUQ1Byb3ZpZGVyOjpyZWNlaXZl
ckNhcGFiaWxpdGllcyk6CisgICAgICAgIChXZWJDb3JlOjpMaWJXZWJSVENQcm92aWRlcjo6c2Vu
ZGVyQ2FwYWJpbGl0aWVzKToKKyAgICAgICAgKiBwbGF0Zm9ybS9tZWRpYXN0cmVhbS9saWJ3ZWJy
dGMvTGliV2ViUlRDUHJvdmlkZXIuaDoKKwogMjAxOC0xMS0wNiAgWW91ZW5uIEZhYmxldCAgPHlv
dWVubkBhcHBsZS5jb20+CiAKICAgICAgICAgQ2FsbGluZyBzZW5kZXIucmVwbGFjZVRyYWNrKCkg
dHdpY2UgcHJvZHVjZXMgYSBuZXcgdHJhbnNjZWl2ZXIgYW5kIGl0cyBjb3JyZXNwb25kaW5nIG09
IHNlY3Rpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291
cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggM2YxYmZjNTAwOGFmMzFkZWNhOWJlMjI1
ZTAyMTlkMWZmMDBlNjI4ZS4uMjIzMjFkMTIyZmM2NDdkMzBhNDViOGNlMWZkMGI0ZGQ3ZTcwZjIw
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNl
L1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTMzMyw2ICszMzMsNyBAQCBzZXQoV2ViQ29yZV9O
T05fU1ZHX0lETF9GSUxFUwogICAgIE1vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUGVlckNvbm5lY3Rp
b25JY2VFdmVudC5pZGwKICAgICBNb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1BlZXJDb25uZWN0aW9u
U3RhdGUuaWRsCiAgICAgTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENQcmlvcml0eVR5cGUuaWRsCisg
ICAgTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBDYXBhYmlsaXRpZXMuaWRsCiAgICAgTW9kdWxl
cy9tZWRpYXN0cmVhbS9SVENSdHBDb2RlY1BhcmFtZXRlcnMuaWRsCiAgICAgTW9kdWxlcy9tZWRp
YXN0cmVhbS9SVENSdHBDb250cmlidXRpbmdTb3VyY2UuaWRsCiAgICAgTW9kdWxlcy9tZWRpYXN0
cmVhbS9SVENSdHBFbmNvZGluZ1BhcmFtZXRlcnMuaWRsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9EZXJpdmVkU291cmNlcy5tYWtlIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMu
bWFrZQppbmRleCAyNTVjZDNhN2ZhNjIxMGFjY2FmZDE2ODMxZWMxY2I4NDg3YzYwM2VjLi41MjZl
ZDA4MTIxNzQwMWIzNmNmNmYyNGE0YWYyOTRkZTYzNmI5NTI0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRT
b3VyY2VzLm1ha2UKQEAgLTI1NCw2ICsyNTQsNyBAQCBKU19CSU5ESU5HX0lETFMgPSBcCiAgICAg
JChXZWJDb3JlKS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ09mZmVyT3B0aW9ucy5pZGwgXAogICAg
ICQoV2ViQ29yZSkvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvbi5pZGwgXAog
ICAgICQoV2ViQ29yZSkvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENQZWVyQ29ubmVjdGlvblN0YXRl
LmlkbCBcCisgICAgJChXZWJDb3JlKS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cENhcGFiaWxp
dGllcy5pZGwgXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBDb2Rl
Y1BhcmFtZXRlcnMuaWRsIFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRD
UnRwQ29udHJpYnV0aW5nU291cmNlLmlkbCBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL21lZGlh
c3RyZWFtL1JUQ1J0cEVuY29kaW5nUGFyYW1ldGVycy5pZGwgXApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9QZWVyQ29ubmVjdGlvbkJhY2tlbmQuY3BwIGIv
U291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9QZWVyQ29ubmVjdGlvbkJhY2tlbmQu
Y3BwCmluZGV4IDJlNjlkOGUxN2JlNDM0Y2RhNTI0MjA0ZTE2YTllZDY3ZjQyMDczNjYuLmViZWNi
OGUwZDUxNWVlMTliMjVmZjVhODU1ZTJkNTdhYjRjYjdkMTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUGVlckNvbm5lY3Rpb25CYWNrZW5kLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1BlZXJDb25uZWN0aW9uQmFja2Vu
ZC5jcHAKQEAgLTQyLDYgKzQyLDcgQEAKICNpbmNsdWRlICJSVENJY2VDYW5kaWRhdGUuaCIKICNp
bmNsdWRlICJSVENQZWVyQ29ubmVjdGlvbi5oIgogI2luY2x1ZGUgIlJUQ1BlZXJDb25uZWN0aW9u
SWNlRXZlbnQuaCIKKyNpbmNsdWRlICJSVENSdHBDYXBhYmlsaXRpZXMuaCIKICNpbmNsdWRlICJS
dW50aW1lRW5hYmxlZEZlYXR1cmVzLmgiCiAjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nQnVpbGRl
ci5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0NvbmNhdGVuYXRlTnVtYmVycy5oPgpAQCAt
NTcsNiArNTgsMTggQEAgc3RhdGljIHN0ZDo6dW5pcXVlX3B0cjxQZWVyQ29ubmVjdGlvbkJhY2tl
bmQ+IGNyZWF0ZU5vUGVlckNvbm5lY3Rpb25CYWNrZW5kKFJUQ1AKIH0KIAogQ3JlYXRlUGVlckNv
bm5lY3Rpb25CYWNrZW5kIFBlZXJDb25uZWN0aW9uQmFja2VuZDo6Y3JlYXRlID0gY3JlYXRlTm9Q
ZWVyQ29ubmVjdGlvbkJhY2tlbmQ7CisKK3N0ZDo6b3B0aW9uYWw8UlRDUnRwQ2FwYWJpbGl0aWVz
PiBQZWVyQ29ubmVjdGlvbkJhY2tlbmQ6OnJlY2VpdmVyQ2FwYWJpbGl0aWVzKFNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQmLCBjb25zdCBTdHJpbmcmKQoreworICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgp
OworICAgIHJldHVybiB7IH07Cit9CisKK3N0ZDo6b3B0aW9uYWw8UlRDUnRwQ2FwYWJpbGl0aWVz
PiBQZWVyQ29ubmVjdGlvbkJhY2tlbmQ6OnNlbmRlckNhcGFiaWxpdGllcyhTY3JpcHRFeGVjdXRp
b25Db250ZXh0JiwgY29uc3QgU3RyaW5nJikKK3sKKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsK
KyAgICByZXR1cm4geyB9OworfQogI2VuZGlmCiAKIFBlZXJDb25uZWN0aW9uQmFja2VuZDo6UGVl
ckNvbm5lY3Rpb25CYWNrZW5kKFJUQ1BlZXJDb25uZWN0aW9uJiBwZWVyQ29ubmVjdGlvbikKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUGVlckNvbm5lY3Rp
b25CYWNrZW5kLmggYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1BlZXJDb25u
ZWN0aW9uQmFja2VuZC5oCmluZGV4IDU2ZjZmMDlkZjNlNTg2NzZkZjQxOTljZWNhYWEzNGEwYzgx
NTljNGUuLmY2MmE3YjIxYzgyMWU2ZDAzZDBjODU2Nzg4M2ExYTZjZDA0MGY3MmUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUGVlckNvbm5lY3Rpb25CYWNr
ZW5kLmgKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9QZWVyQ29ubmVj
dGlvbkJhY2tlbmQuaApAQCAtNzksNiArNzksOSBAQCBjbGFzcyBQZWVyQ29ubmVjdGlvbkJhY2tl
bmQKIHB1YmxpYzoKICAgICBXRUJDT1JFX0VYUE9SVCBzdGF0aWMgQ3JlYXRlUGVlckNvbm5lY3Rp
b25CYWNrZW5kIGNyZWF0ZTsKIAorICAgIHN0YXRpYyBzdGQ6Om9wdGlvbmFsPFJUQ1J0cENhcGFi
aWxpdGllcz4gcmVjZWl2ZXJDYXBhYmlsaXRpZXMoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIGNv
bnN0IFN0cmluZyYga2luZCk7CisgICAgc3RhdGljIHN0ZDo6b3B0aW9uYWw8UlRDUnRwQ2FwYWJp
bGl0aWVzPiBzZW5kZXJDYXBhYmlsaXRpZXMoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIGNvbnN0
IFN0cmluZyYga2luZCk7CisKICAgICBleHBsaWNpdCBQZWVyQ29ubmVjdGlvbkJhY2tlbmQoUlRD
UGVlckNvbm5lY3Rpb24mKTsKICAgICB2aXJ0dWFsIH5QZWVyQ29ubmVjdGlvbkJhY2tlbmQoKSA9
IGRlZmF1bHQ7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJl
YW0vUlRDUnRwQ2FwYWJpbGl0aWVzLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFz
dHJlYW0vUlRDUnRwQ2FwYWJpbGl0aWVzLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44YjIyZTI2YTQ3NjAyYzMz
YmM2YjIyZDM5YWU5OGU3NTRiYmMwZjBlCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBDYXBhYmlsaXRpZXMuaWRsCkBAIC0wLDAgKzEs
NTEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTggQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICog
MS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisgKiBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBB
TlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7CisgKiBMT1NT
IE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04KKyAqIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0Yg
VEhJUworICogU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCisgKi8KKworWworICAgIENvbmRpdGlvbmFsPVdFQl9SVEMsCisgICAgRW5h
YmxlZEF0UnVudGltZT1QZWVyQ29ubmVjdGlvbiwKKyAgICBKU0dlbmVyYXRlVG9KU09iamVjdAor
XSBkaWN0aW9uYXJ5IFJUQ1J0cENvZGVjQ2FwYWJpbGl0eSB7CisgICAgcmVxdWlyZWQgRE9NU3Ry
aW5nIG1pbWVUeXBlOworICAgIHJlcXVpcmVkIHVuc2lnbmVkIGxvbmcgY2xvY2tSYXRlOworICAg
IHVuc2lnbmVkIHNob3J0IGNoYW5uZWxzOworICAgIERPTVN0cmluZyBzZHBGbXRwTGluZTsKK307
CisKK1sKKyAgICBDb25kaXRpb25hbD1XRUJfUlRDLAorICAgIEVuYWJsZWRBdFJ1bnRpbWU9UGVl
ckNvbm5lY3Rpb24sCisgICAgSlNHZW5lcmF0ZVRvSlNPYmplY3QKK10gZGljdGlvbmFyeSBSVENS
dHBIZWFkZXJFeHRlbnNpb25DYXBhYmlsaXR5IHsKKyAgICBET01TdHJpbmcgdXJpOworfTsKKwor
WworICAgIENvbmRpdGlvbmFsPVdFQl9SVEMsCisgICAgRW5hYmxlZEF0UnVudGltZT1QZWVyQ29u
bmVjdGlvbiwKKyAgICBKU0dlbmVyYXRlVG9KU09iamVjdAorXSBkaWN0aW9uYXJ5IFJUQ1J0cENh
cGFiaWxpdGllcyB7CisgICAgcmVxdWlyZWQgc2VxdWVuY2U8UlRDUnRwQ29kZWNDYXBhYmlsaXR5
PiBjb2RlY3M7CisgICAgcmVxdWlyZWQgc2VxdWVuY2U8UlRDUnRwSGVhZGVyRXh0ZW5zaW9uQ2Fw
YWJpbGl0eT4gaGVhZGVyRXh0ZW5zaW9uczsKK307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFJlY2VpdmVyLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwUmVjZWl2ZXIuY3BwCmluZGV4IDJlNmRkYzQ5OTU1
YzZiZGYyNTRiOGEwY2UwMTZhOTE2YTkzMzBjNmYuLjdmZmI1YzhlMjkyNzgyNjUzOGFlZmI5Y2Ew
NWQyNTQ3N2I5Yjc0MmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFz
dHJlYW0vUlRDUnRwUmVjZWl2ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVk
aWFzdHJlYW0vUlRDUnRwUmVjZWl2ZXIuY3BwCkBAIC0zMiw3ICszMiw5IEBACiAjaW5jbHVkZSAi
UlRDUnRwUmVjZWl2ZXIuaCIKIAogI2lmIEVOQUJMRShXRUJfUlRDKQorCiAjaW5jbHVkZSAiUGVl
ckNvbm5lY3Rpb25CYWNrZW5kLmgiCisjaW5jbHVkZSAiUlRDUnRwQ2FwYWJpbGl0aWVzLmgiCiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtNjEsNiArNjMsMTEgQEAgdm9pZCBSVENSdHBSZWNl
aXZlcjo6Z2V0U3RhdHMoUmVmPERlZmVycmVkUHJvbWlzZT4mJiBwcm9taXNlKQogICAgIG1fY29u
bmVjdGlvbi0+Z2V0U3RhdHMoKnRoaXMsIFdURk1vdmUocHJvbWlzZSkpOwogfQogCitzdGQ6Om9w
dGlvbmFsPFJUQ1J0cENhcGFiaWxpdGllcz4gUlRDUnRwUmVjZWl2ZXI6OmdldENhcGFiaWxpdGll
cyhTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBjb25zdCBTdHJpbmcmIGtpbmQpCit7
CisgICAgcmV0dXJuIFBlZXJDb25uZWN0aW9uQmFja2VuZDo6cmVjZWl2ZXJDYXBhYmlsaXRpZXMo
Y29udGV4dCwga2luZCk7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmIC8v
IEVOQUJMRShXRUJfUlRDKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRp
YXN0cmVhbS9SVENSdHBSZWNlaXZlci5oIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0
cmVhbS9SVENSdHBSZWNlaXZlci5oCmluZGV4IGI0ZmVlNjBhZmMxOGJkNTk2ZTE2YzQwODBkMGNm
NjA4ZTQwNDFjNDIuLjk3ZmViODE1YjRlMGYzMWJiMWI3ZmE4OTRiOTU0NWQwNTIxMmFjYTQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwUmVjZWl2
ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFJlY2Vp
dmVyLmgKQEAgLTQwLDYgKzQwLDcgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgUGVl
ckNvbm5lY3Rpb25CYWNrZW5kOworc3RydWN0IFJUQ1J0cENhcGFiaWxpdGllczsKIAogY2xhc3Mg
UlRDUnRwUmVjZWl2ZXIgOiBwdWJsaWMgUmVmQ291bnRlZDxSVENSdHBSZWNlaXZlcj4sIHB1Ymxp
YyBTY3JpcHRXcmFwcGFibGUgIHsKIHB1YmxpYzoKQEAgLTQ4LDYgKzQ5LDggQEAgcHVibGljOgog
ICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBSVENSdHBSZWNlaXZlcihjb25uZWN0aW9uLCBX
VEZNb3ZlKHRyYWNrKSwgV1RGTW92ZShiYWNrZW5kKSkpOwogICAgIH0KIAorICAgIHN0YXRpYyBz
dGQ6Om9wdGlvbmFsPFJUQ1J0cENhcGFiaWxpdGllcz4gZ2V0Q2FwYWJpbGl0aWVzKFNjcmlwdEV4
ZWN1dGlvbkNvbnRleHQmLCBjb25zdCBTdHJpbmcmIGtpbmQpOworCiAgICAgdm9pZCBzdG9wKCk7
CiAKICAgICB2b2lkIHNldEJhY2tlbmQoc3RkOjp1bmlxdWVfcHRyPFJUQ1J0cFJlY2VpdmVyQmFj
a2VuZD4mJiBiYWNrZW5kKSB7IG1fYmFja2VuZCA9IFdURk1vdmUoYmFja2VuZCk7IH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwUmVjZWl2ZXIu
aWRsIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBSZWNlaXZlci5p
ZGwKaW5kZXggOWQ4NTY1YTc2ZDBkYTkwZDczOGZjYzZkYmU1NGMwZmRhMzc0YzYwOC4uMjg3ZGNl
YzVkM2IxYzhiZmE0MTNlYTRjYWJjNWI4MmZkNTI5NjZlYiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBSZWNlaXZlci5pZGwKKysrIGIvU291cmNl
L1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBSZWNlaXZlci5pZGwKQEAgLTM1LDEw
ICszNSwxMCBAQAogICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFibGUKIF0gaW50ZXJmYWNlIFJU
Q1J0cFJlY2VpdmVyIHsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgTWVkaWFTdHJlYW1UcmFjayB0
cmFjazsKLSAgICBSVENSdHBQYXJhbWV0ZXJzIGdldFBhcmFtZXRlcnMoKTsKICAgICAvLyBGSVhN
RSAxNjk2NjI6IG1pc3NpbmcgdHJhbnNwb3J0CiAgICAgLy8gRklYTUUgMTY5NjYyOiBtaXNzaW5n
IHJ0Y3BUcmFuc3BvcnQKLSAgICAvLyBGSVhNRSAxNjk2NjI6IG1pc3NpbmcgZ2V0Q2FwYWJpbGl0
aWVzCisgICAgW0NhbGxXaXRoPVNjcmlwdEV4ZWN1dGlvbkNvbnRleHRdIHN0YXRpYyBSVENSdHBD
YXBhYmlsaXRpZXM/IGdldENhcGFiaWxpdGllcyhET01TdHJpbmcga2luZCk7CisgICAgUlRDUnRw
UGFyYW1ldGVycyBnZXRQYXJhbWV0ZXJzKCk7CiAgICAgc2VxdWVuY2U8UlRDUnRwQ29udHJpYnV0
aW5nU291cmNlPiBnZXRDb250cmlidXRpbmdTb3VyY2VzKCk7CiAgICAgc2VxdWVuY2U8UlRDUnRw
U3luY2hyb25pemF0aW9uU291cmNlPiBnZXRTeW5jaHJvbml6YXRpb25Tb3VyY2VzKCk7CiAgICAg
UHJvbWlzZTxSVENTdGF0c1JlcG9ydD4gZ2V0U3RhdHMoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwU2VuZGVyLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vUlRDUnRwU2VuZGVyLmNwcAppbmRleCBhMThjMDJmNTg5
Y2FlMjNhZTM1ZTYzZTI5ZTQyZTRiMWVjMzMwY2RkLi5lZjM5NjQ3OGRjY2FkODY1NmRjNTc5NmNm
MDU2MDY2ODIwNGQ0ZGY3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlh
c3RyZWFtL1JUQ1J0cFNlbmRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRp
YXN0cmVhbS9SVENSdHBTZW5kZXIuY3BwCkBAIC0zMyw2ICszMyw3IEBACiAKICNpZiBFTkFCTEUo
V0VCX1JUQykKIAorI2luY2x1ZGUgIlJUQ1J0cENhcGFiaWxpdGllcy5oIgogI2luY2x1ZGUgIlJ1
bnRpbWVFbmFibGVkRmVhdHVyZXMuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtMTIxLDYg
KzEyMiwxMSBAQCB2b2lkIFJUQ1J0cFNlbmRlcjo6Z2V0U3RhdHMoUmVmPERlZmVycmVkUHJvbWlz
ZT4mJiBwcm9taXNlKQogICAgIG1fY29ubmVjdGlvbi0+Z2V0U3RhdHMoKnRoaXMsIFdURk1vdmUo
cHJvbWlzZSkpOwogfQogCitzdGQ6Om9wdGlvbmFsPFJUQ1J0cENhcGFiaWxpdGllcz4gUlRDUnRw
U2VuZGVyOjpnZXRDYXBhYmlsaXRpZXMoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwg
Y29uc3QgU3RyaW5nJiBraW5kKQoreworICAgIHJldHVybiBQZWVyQ29ubmVjdGlvbkJhY2tlbmQ6
OnNlbmRlckNhcGFiaWxpdGllcyhjb250ZXh0LCBraW5kKTsKK30KKwogfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQogCiAjZW5kaWYgLy8gRU5BQkxFKFdFQl9SVEMpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFNlbmRlci5oIGIvU291cmNlL1dlYkNv
cmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBTZW5kZXIuaAppbmRleCA0OWFhZDNlMzM0NGZk
ZTZhY2NhNDZlZGM5YWFlNjg3ZDMxZTc3ZDY2Li40NmNmYTZhZjRiNmNlNjNkM2RlNzA3NjY4YWM2
NDU2YWNkYjE2NGQzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3Ry
ZWFtL1JUQ1J0cFNlbmRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJl
YW0vUlRDUnRwU2VuZGVyLmgKQEAgLTQwLDEyICs0MCwxNSBAQAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCiBjbGFzcyBQZWVyQ29ubmVjdGlvbkJhY2tlbmQ7CitzdHJ1Y3QgUlRDUnRwQ2FwYWJpbGl0
aWVzOwogCiBjbGFzcyBSVENSdHBTZW5kZXIgOiBwdWJsaWMgUmVmQ291bnRlZDxSVENSdHBTZW5k
ZXI+LCBwdWJsaWMgU2NyaXB0V3JhcHBhYmxlIHsKIHB1YmxpYzoKICAgICBzdGF0aWMgUmVmPFJU
Q1J0cFNlbmRlcj4gY3JlYXRlKFBlZXJDb25uZWN0aW9uQmFja2VuZCYsIFJlZjxNZWRpYVN0cmVh
bVRyYWNrPiYmLCBWZWN0b3I8U3RyaW5nPiYmIG1lZGlhU3RyZWFtSWRzLCBzdGQ6OnVuaXF1ZV9w
dHI8UlRDUnRwU2VuZGVyQmFja2VuZD4mJik7CiAgICAgc3RhdGljIFJlZjxSVENSdHBTZW5kZXI+
IGNyZWF0ZShQZWVyQ29ubmVjdGlvbkJhY2tlbmQmLCBTdHJpbmcmJiB0cmFja0tpbmQsIFZlY3Rv
cjxTdHJpbmc+JiYgbWVkaWFTdHJlYW1JZHMsIHN0ZDo6dW5pcXVlX3B0cjxSVENSdHBTZW5kZXJC
YWNrZW5kPiYmKTsKIAorICAgIHN0YXRpYyBzdGQ6Om9wdGlvbmFsPFJUQ1J0cENhcGFiaWxpdGll
cz4gZ2V0Q2FwYWJpbGl0aWVzKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBjb25zdCBTdHJpbmcm
IGtpbmQpOworCiAgICAgTWVkaWFTdHJlYW1UcmFjayogdHJhY2soKSB7IHJldHVybiBtX3RyYWNr
LmdldCgpOyB9CiAKICAgICBjb25zdCBTdHJpbmcmIHRyYWNrSWQoKSBjb25zdCB7IHJldHVybiBt
X3RyYWNrSWQ7IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJl
YW0vUlRDUnRwU2VuZGVyLmlkbCBiL1NvdXJjZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0v
UlRDUnRwU2VuZGVyLmlkbAppbmRleCAwOWNkYjhlMzQ1OTkzY2U5OGQ2YmQzNTljYzJiMzY2Yzdl
ZTIxMjJkLi4zYzIwMmE2YjI5Zjg3NzdhYmFlYmIxZjZjZmY4N2Y2YjQ2YjAwOWEwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFtL1JUQ1J0cFNlbmRlci5pZGwK
KysrIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9SVENSdHBTZW5kZXIuaWRs
CkBAIC0zNyw4ICszNyw4IEBACiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIE1lZGlhU3RyZWFtVHJh
Y2s/IHRyYWNrOwogICAgIC8vIEZJWE1FIDE2OTY2MjogbWlzc2luZyB0cmFuc3BvcnQKICAgICAv
LyBGSVhNRSAxNjk2NjI6IG1pc3NpbmcgcnRjcFRyYW5zcG9ydAotICAgIC8vIEZJWE1FIDE2OTY2
MjogbWlzc2luZyBnZXRDYXBhYmlsaXRpZXMKICAgICAvLyBGSVhNRSAxNjk2NjI6IG1pc3Npbmcg
c2V0U3RyZWFtcworICAgIFtDYWxsV2l0aD1TY3JpcHRFeGVjdXRpb25Db250ZXh0XSBzdGF0aWMg
UlRDUnRwQ2FwYWJpbGl0aWVzPyBnZXRDYXBhYmlsaXRpZXMoRE9NU3RyaW5nIGtpbmQpOwogICAg
IFJUQ1J0cFNlbmRQYXJhbWV0ZXJzIGdldFBhcmFtZXRlcnMoKTsKICAgICBQcm9taXNlPHZvaWQ+
IHNldFBhcmFtZXRlcnMoUlRDUnRwU2VuZFBhcmFtZXRlcnMgcGFyYW1ldGVycyk7CiAgICAgW0Nh
bGxXaXRoPVNjcmlwdEV4ZWN1dGlvbkNvbnRleHRdIFByb21pc2U8dm9pZD4gcmVwbGFjZVRyYWNr
KE1lZGlhU3RyZWFtVHJhY2s/IHdpdGhUcmFjayk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9Nb2R1bGVzL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENQZWVyQ29ubmVjdGlvbkJh
Y2tlbmQuY3BwIGIvU291cmNlL1dlYkNvcmUvTW9kdWxlcy9tZWRpYXN0cmVhbS9saWJ3ZWJydGMv
TGliV2ViUlRDUGVlckNvbm5lY3Rpb25CYWNrZW5kLmNwcAppbmRleCA2OTc5Y2ViZDFjNTRjMmFh
Yzc5YjRkZDczNzk0MzVjZWE5YTZlMzg2Li5mYmFkZjY4ZjU5MGFlOGE4MWRjMjk1MmFmYmY2ZDgx
ZjgyNmNhOTMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Nb2R1bGVzL21lZGlhc3RyZWFt
L2xpYndlYnJ0Yy9MaWJXZWJSVENQZWVyQ29ubmVjdGlvbkJhY2tlbmQuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL01vZHVsZXMvbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1BlZXJDb25u
ZWN0aW9uQmFja2VuZC5jcHAKQEAgLTM4LDYgKzM4LDcgQEAKICNpbmNsdWRlICJQYWdlLmgiCiAj
aW5jbHVkZSAiUlRDSWNlQ2FuZGlkYXRlLmgiCiAjaW5jbHVkZSAiUlRDUGVlckNvbm5lY3Rpb24u
aCIKKyNpbmNsdWRlICJSVENSdHBDYXBhYmlsaXRpZXMuaCIKICNpbmNsdWRlICJSVENSdHBSZWNl
aXZlci5oIgogI2luY2x1ZGUgIlJUQ1Nlc3Npb25EZXNjcmlwdGlvbi5oIgogI2luY2x1ZGUgIlJl
YWx0aW1lSW5jb21pbmdBdWRpb1NvdXJjZS5oIgpAQCAtNjUsNiArNjYsMjIgQEAgc3RhdGljIHN0
ZDo6dW5pcXVlX3B0cjxQZWVyQ29ubmVjdGlvbkJhY2tlbmQ+IGNyZWF0ZUxpYldlYlJUQ1BlZXJD
b25uZWN0aW9uQmFja2UKIAogQ3JlYXRlUGVlckNvbm5lY3Rpb25CYWNrZW5kIFBlZXJDb25uZWN0
aW9uQmFja2VuZDo6Y3JlYXRlID0gY3JlYXRlTGliV2ViUlRDUGVlckNvbm5lY3Rpb25CYWNrZW5k
OwogCitzdGQ6Om9wdGlvbmFsPFJUQ1J0cENhcGFiaWxpdGllcz4gUGVlckNvbm5lY3Rpb25CYWNr
ZW5kOjpyZWNlaXZlckNhcGFiaWxpdGllcyhTY3JpcHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0
LCBjb25zdCBTdHJpbmcmIGtpbmQpCit7CisgICAgYXV0byogcGFnZSA9IGRvd25jYXN0PERvY3Vt
ZW50Pihjb250ZXh0KS5wYWdlKCk7CisgICAgaWYgKCFwYWdlKQorICAgICAgICByZXR1cm4geyB9
OworICAgIHJldHVybiBwYWdlLT5saWJXZWJSVENQcm92aWRlcigpLnJlY2VpdmVyQ2FwYWJpbGl0
aWVzKGtpbmQpOworfQorCitzdGQ6Om9wdGlvbmFsPFJUQ1J0cENhcGFiaWxpdGllcz4gUGVlckNv
bm5lY3Rpb25CYWNrZW5kOjpzZW5kZXJDYXBhYmlsaXRpZXMoU2NyaXB0RXhlY3V0aW9uQ29udGV4
dCYgY29udGV4dCwgY29uc3QgU3RyaW5nJiBraW5kKQoreworICAgIGF1dG8qIHBhZ2UgPSBkb3du
Y2FzdDxEb2N1bWVudD4oY29udGV4dCkucGFnZSgpOworICAgIGlmICghcGFnZSkKKyAgICAgICAg
cmV0dXJuIHsgfTsKKyAgICByZXR1cm4gcGFnZS0+bGliV2ViUlRDUHJvdmlkZXIoKS5zZW5kZXJD
YXBhYmlsaXRpZXMoa2luZCk7Cit9CisKIExpYldlYlJUQ1BlZXJDb25uZWN0aW9uQmFja2VuZDo6
TGliV2ViUlRDUGVlckNvbm5lY3Rpb25CYWNrZW5kKFJUQ1BlZXJDb25uZWN0aW9uJiBwZWVyQ29u
bmVjdGlvbiwgTGliV2ViUlRDUHJvdmlkZXImIHByb3ZpZGVyKQogICAgIDogUGVlckNvbm5lY3Rp
b25CYWNrZW5kKHBlZXJDb25uZWN0aW9uKQogICAgICwgbV9lbmRwb2ludChMaWJXZWJSVENNZWRp
YUVuZHBvaW50OjpjcmVhdGUoKnRoaXMsIHByb3ZpZGVyKSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL1NvdXJjZXMudHh0IGIvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKaW5kZXggMzYw
MWFlZDY2ZDFiMGY1MzJmYzRlNzM1MmIwMGU5MzdmZTViNmYwMi4uZGFkNTI4NTljMjk1YzQ2NTEy
MzY1Yjg5MDNjMWQ2N2MzZmY1ZGRkOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvU291cmNl
cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKQEAgLTI5MzQsNiArMjkzNCw3
IEBAIEpTUlRDUGVlckNvbm5lY3Rpb24uY3BwCiBKU1JUQ1BlZXJDb25uZWN0aW9uSWNlRXZlbnQu
Y3BwCiBKU1JUQ1BlZXJDb25uZWN0aW9uU3RhdGUuY3BwCiBKU1JUQ1ByaW9yaXR5VHlwZS5jcHAK
K0pTUlRDUnRwQ2FwYWJpbGl0aWVzLmNwcAogSlNSVENSdHBDb2RlY1BhcmFtZXRlcnMuY3BwCiBK
U1JUQ1J0cENvbnRyaWJ1dGluZ1NvdXJjZS5jcHAKIEpTUlRDUnRwRW5jb2RpbmdQYXJhbWV0ZXJz
LmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCmluZGV4IDFjMjRmMTRlNTY2MDgzZThjM2FkZGVjMDUyMWI5YWZjOWM4NmYzZWMuLjAyODYy
NTVlY2YzZGY5ZTVhNmQzNGY5ZGQ3NGVjMmYxMTBhZDRhNDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTEwNTYsNiArMTA1Niw3
IEBACiAJCTQxMjlDOUFCMUY1OUM1NzMwMDlENzQwMyAvKiBSZWFkYWJsZVN0cmVhbVNvdXJjZS5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDE4QzM5NUIx
QzhGMEE2MTAwNTFDOEEzIC8qIFJlYWRhYmxlU3RyZWFtU291cmNlLmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNDEyOUM5QUYxRjU5Q0Y1QjAwOUQ3
NDAzIC8qIFJlYWRhYmxlU3RyZWFtU2luay5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNDEyOUM5ODAxRjU4NjFDNzAwOUQ3NDAzIC8qIFJlYWRhYmxlU3Ry
ZWFtU2luay5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CiAJCTQxMjlERjg2MUJCNUI4MEMwMDMyMkExNiAvKiBKU1JlYWRhYmxlU3RyZWFtUHJpdmF0ZUNv
bnN0cnVjdG9ycy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNDEyOURGODQxQkI1QjdGNzAwMzIyQTE2IC8qIEpTUmVhZGFibGVTdHJlYW1Qcml2YXRlQ29u
c3RydWN0b3JzLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKKwkJNDEyREU0QjgyMTkyODVDMDAwNzVGM0E3IC8qIFJUQ1J0cENhcGFiaWxpdGllcy5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDEyREU0QjYyMTky
ODVCRjAwNzVGM0E3IC8qIFJUQ1J0cENhcGFiaWxpdGllcy5oICovOyB9OwogCQk0MTMzQ0I4QjIw
RjgwRTk5MDBFODlCMTEgLyogTWVkaWFTdHJlYW1BdWRpb1NvdXJjZUNvY29hLmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxMzNDQjg5MjBGODBFODYw
MEU4OUIxMSAvKiBNZWRpYVN0cmVhbUF1ZGlvU291cmNlQ29jb2EuY3BwICovOyB9OwogCQk0MTM4
MEMyNzFGMzQzNkFDMDAxNTVGREEgLyogRE9NQ2FjaGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxMzgwQzI1MUYzNDM2OUEwMDE1NUZEQSAvKiBET01D
YWNoZS5oICovOyB9OwogCQk0MTM4MEMyOTFGMzQzNkFDMDAxNTVGREEgLyogRE9NQ2FjaGVTdG9y
YWdlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTM4
MEMyMjFGMzQzNjkwMDAxNTVGREEgLyogRE9NQ2FjaGVTdG9yYWdlLmggKi87IH07CkBAIC03MjY1
LDYgKzcyNjYsNyBAQAogCQk0MTI5REY4MzFCQjVCN0Y3MDAzMjJBMTYgLyogSlNSZWFkYWJsZVN0
cmVhbVByaXZhdGVDb25zdHJ1Y3RvcnMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gSlNSZWFkYWJsZVN0cmVhbVByaXZhdGVDb25zdHJ1Y3RvcnMuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQk0MTI5REY4NDFCQjVCN0Y3MDAzMjJBMTYgLyogSlNSZWFk
YWJsZVN0cmVhbVByaXZhdGVDb25zdHJ1Y3RvcnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gSlNSZWFkYWJsZVN0cmVhbVByaXZhdGVDb25zdHJ1Y3RvcnMuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDEyQkE1RkUyMThDNjUxODAwMzY1NDc0IC8qIFJUQ1BNdXhQ
b2xpY3kuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUlRDUE11eFBvbGljeS5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MTJERTRCNjIxOTI4NUJGMDA3NUYzQTcg
LyogUlRDUnRwQ2FwYWJpbGl0aWVzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IFJUQ1J0cENhcGFiaWxpdGllcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MTMw
MTVENTFDN0I1NzA0MDAwOTFDNkUgLyogRmV0Y2hSZXNwb25zZS5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBGZXRjaFJlc3BvbnNlLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJNDEzMDE1RDUxQzdCNTcwNDAwMDkxQzZGIC8qIEZldGNoQm9keVNvdXJj
ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBGZXRjaEJvZHlTb3Vy
Y2UuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0MTMwMTVENjFDN0I1NzA0MDAw
OTFDNkUgLyogRmV0Y2hSZXNwb25zZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBGZXRjaFJlc3BvbnNlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC03Mjc0LDYg
KzcyNzYsNyBAQAogCQk0MTMxRjNCNDFGOTU1QkMzMDA1OTk5NUEgLyogRXh0ZW5kYWJsZUV2ZW50
SW5pdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBFeHRlbmRhYmxlRXZlbnRJ
bml0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQxMzFGM0I1MUY5NTVCQzUwMDU5
OTk1QSAvKiBFeHRlbmRhYmxlRXZlbnRJbml0LmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBF
eHRlbmRhYmxlRXZlbnRJbml0LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDEz
M0NCODkyMEY4MEU4NjAwRTg5QjExIC8qIE1lZGlhU3RyZWFtQXVkaW9Tb3VyY2VDb2NvYS5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBNZWRpYVN0cmVhbUF1ZGlvU291
cmNlQ29jb2EuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MTM2OUU1NTIxOEM3
NkUzMDA3OTJFMjkgLyogUlRDUnRwQ2FwYWJpbGl0aWVzLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBh
dGggPSBSVENSdHBDYXBhYmlsaXRpZXMuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQk0MTM4MEMyMDFGMzQzNjhBMDAxNTVGREEgLyogRE9NQ2FjaGUuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBu
YW1lID0gRE9NQ2FjaGUuY3BwOyBwYXRoID0gTW9kdWxlcy9jYWNoZS9ET01DYWNoZS5jcHA7IHNv
dXJjZVRyZWUgPSBTT1VSQ0VfUk9PVDsgfTsKIAkJNDEzODBDMjExRjM0MzY4RDAwMTU1RkRBIC8q
IERPTUNhY2hlU3RvcmFnZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBET01DYWNoZVN0b3JhZ2Uu
Y3BwOyBwYXRoID0gTW9kdWxlcy9jYWNoZS9ET01DYWNoZVN0b3JhZ2UuY3BwOyBzb3VyY2VUcmVl
ID0gU09VUkNFX1JPT1Q7IH07CiAJCTQxMzgwQzIyMUYzNDM2OTAwMDE1NUZEQSAvKiBET01DYWNo
ZVN0b3JhZ2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gRE9NQ2FjaGVTdG9yYWdlLmg7IHBhdGggPSBNb2R1
bGVzL2NhY2hlL0RPTUNhY2hlU3RvcmFnZS5oOyBzb3VyY2VUcmVlID0gU09VUkNFX1JPT1Q7IH07
CkBAIC0xNTQ1Nyw2ICsxNTQ2MCw3IEBACiAJCQkJNDFBNDhBOUMxRTgzMTI5MTAwRDJBQzJEIC8q
IFJUQ1BlZXJDb25uZWN0aW9uU3RhdGUuaWRsICovLAogCQkJCTQxRkNCNzVDMjE0ODY2RkUwMDM4
QURDNiAvKiBSVENQcmlvcml0eVR5cGUuaCAqLywKIAkJCQk0MUU1OTNGRDIxNDg2NUE5MDBEM0NC
NjEgLyogUlRDUHJpb3JpdHlUeXBlLmlkbCAqLywKKwkJCQk0MTM2OUU1NTIxOEM3NkUzMDA3OTJF
MjkgLyogUlRDUnRwQ2FwYWJpbGl0aWVzLmlkbCAqLywKIAkJCQk0MUZDQjc1RjIxNDg2NkZGMDAz
OEFEQzYgLyogUlRDUnRwQ29kZWNQYXJhbWV0ZXJzLmggKi8sCiAJCQkJNDFGQ0I3NTkyMTQ4NjVE
MzAwMzhBREM2IC8qIFJUQ1J0cENvZGVjUGFyYW1ldGVycy5pZGwgKi8sCiAJCQkJNDE0QUQzRkYy
MTQ5OEQzMDAwNTIxNjc2IC8qIFJUQ1J0cENvZGluZ1BhcmFtZXRlcnMuaCAqLywKQEAgLTE1NTY5
LDYgKzE1NTczLDcgQEAKIAkJCQkwNzIyMUJBQTE3Q0YwQUQ0MDA4NDhFNTEgLyogUlRDUGVlckNv
bm5lY3Rpb25IYW5kbGVyQ2xpZW50LmggKi8sCiAJCQkJNDFBNDhBOUQxRTgzMTJFQjAwRDJBQzJE
IC8qIFJUQ1BlZXJDb25uZWN0aW9uU3RhdGUuaCAqLywKIAkJCQk0MTJCQTVGRTIxOEM2NTE4MDAz
NjU0NzQgLyogUlRDUE11eFBvbGljeS5oICovLAorCQkJCTQxMkRFNEI2MjE5Mjg1QkYwMDc1RjNB
NyAvKiBSVENSdHBDYXBhYmlsaXRpZXMuaCAqLywKIAkJCQkzMUVCNTRERDFFN0RDNzQ0MDBDMTYy
M0IgLyogUlRDUnRwVHJhbnNjZWl2ZXJEaXJlY3Rpb24uaCAqLywKIAkJCQkzMTM1OTEwNDFFN0RE
QzYwMDBGMzA2MzAgLyogUlRDU2RwVHlwZS5oICovLAogCQkJCTA3MjIxQkFCMTdDRjBBRDQwMDg0
OEU1MSAvKiBSVENTZXNzaW9uRGVzY3JpcHRpb25EZXNjcmlwdG9yLmNwcCAqLywKQEAgLTI4NTg4
LDYgKzI4NTkzLDcgQEAKIAkJCQk1MUUzOTkwMjFENkU0NzUwMDA5Qzg4MzEgLyogR2FtZUNvbnRy
b2xsZXJHYW1lcGFkUHJvdmlkZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTUxNkM2MjIxMTk1MEQ0
ODcwMDMzN0U3NSAvKiBHYW1lcGFkRXZlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTUxQTlEOUVB
MTk1QjkzMUYwMDFCMkI1QyAvKiBHYW1lcGFkTWFuYWdlci5oIGluIEhlYWRlcnMgKi8sCisJCQkJ
NDEyREU0QjgyMTkyODVDMDAwNzVGM0E3IC8qIFJUQ1J0cENhcGFiaWxpdGllcy5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJNTE1QkUxOTIxRDU0RjVGQjAwREQ3QzY4IC8qIEdhbWVwYWRQcm92aWRlci5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJNTE1QkUxOTMxRDU0RjVGQjAwREQ3QzY4IC8qIEdhbWVwYWRQ
cm92aWRlckNsaWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOEVDNkM5NjMyMDFBMjUxNjAwRkJG
QTUzIC8qIEdhcExlbmd0aC5oIGluIEhlYWRlcnMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SVENSdHBDYXBhYmlsaXRpZXMuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL1JUQ1J0cENhcGFiaWxpdGllcy5oCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjNmYTY2NDQ3ZTRhNGNiNGU2ZmQ0ZTA1NzdiYjRiOTFhZDQ3YzgzYWEKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVhbS9SVENSdHBDYXBhYmls
aXRpZXMuaApAQCAtMCwwICsxLDUxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE4IEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuICBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFT
IElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorICog
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVU
T1JTIEJFIExJQUJMRSBGT1IgQU5ZCisgKiBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUworICogKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOworICogTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OCisgKiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAor
ICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMKKyAqIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisj
aWYgRU5BQkxFKFdFQl9SVEMpCisKKyNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CisjaW5jbHVkZSA8
d3RmL3RleHQvV1RGU3RyaW5nLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworc3RydWN0IFJU
Q1J0cENhcGFiaWxpdGllcyB7CisgICAgc3RydWN0IENvZGVjQ2FwYWJpbGl0eSB7CisgICAgICAg
IFN0cmluZyBtaW1lVHlwZTsKKyAgICAgICAgdWludDMyX3QgY2xvY2tSYXRlIHsgMCB9OworICAg
ICAgICBzdGQ6Om9wdGlvbmFsPHVpbnQxNl90PiBjaGFubmVsczsKKyAgICAgICAgU3RyaW5nIHNk
cEZtdHBMaW5lOworICAgIH07CisgICAgc3RydWN0IEhlYWRlckV4dGVuc2lvbkNhcGFiaWxpdHkg
eworICAgICAgICBTdHJpbmcgdXJpOworICAgIH07CisKKyAgICBWZWN0b3I8Q29kZWNDYXBhYmls
aXR5PiBjb2RlY3M7CisgICAgVmVjdG9yPEhlYWRlckV4dGVuc2lvbkNhcGFiaWxpdHk+IGhlYWRl
ckV4dGVuc2lvbnM7Cit9OworCit9OyAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9M
aWJXZWJSVENQcm92aWRlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tZWRpYXN0cmVh
bS9saWJ3ZWJydGMvTGliV2ViUlRDUHJvdmlkZXIuY3BwCmluZGV4IGU5ODExOTYwYzU3ZDBmY2U1
ZmM2Mjg3ODdlZWFmZDc4MjZhMTQ2ODAuLmVkYzcwZWI5NDZjM2Q4MDhmNTg2NDRhNWU0YzFjYmYx
ZDZlZmUzOTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFt
L2xpYndlYnJ0Yy9MaWJXZWJSVENQcm92aWRlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1Byb3ZpZGVyLmNwcApAQCAtMjks
NiArMjksNyBAQAogI2lmIFVTRShMSUJXRUJSVEMpCiAjaW5jbHVkZSAiTGliV2ViUlRDQXVkaW9N
b2R1bGUuaCIKICNpbmNsdWRlICJMb2dnaW5nLmgiCisjaW5jbHVkZSAiUlRDUnRwQ2FwYWJpbGl0
aWVzLmgiCiAjaW5jbHVkZSA8ZGxmY24uaD4KIAogQUxMT1dfVU5VU0VEX1BBUkFNRVRFUlNfQkVH
SU4KQEAgLTI4MCw2ICsyODEsNjggQEAgcnRjOjpSVENDZXJ0aWZpY2F0ZUdlbmVyYXRvciYgTGli
V2ViUlRDUHJvdmlkZXI6OmNlcnRpZmljYXRlR2VuZXJhdG9yKCkKICAgICByZXR1cm4gKmZhY3Rv
cnlBbmRUaHJlYWRzLmNlcnRpZmljYXRlR2VuZXJhdG9yOwogfQogCitzdGF0aWMgaW5saW5lIHN0
ZDo6b3B0aW9uYWw8Y3JpY2tldDo6TWVkaWFUeXBlPiB0eXBlRnJvbUtpbmQoY29uc3QgU3RyaW5n
JiBraW5kKQoreworICAgIGlmIChraW5kID09ICJhdWRpbyJfcykKKyAgICAgICAgcmV0dXJuIGNy
aWNrZXQ6Ok1lZGlhVHlwZTo6TUVESUFfVFlQRV9BVURJTzsKKyAgICBpZiAoa2luZCA9PSAidmlk
ZW8iX3MpCisgICAgICAgIHJldHVybiBjcmlja2V0OjpNZWRpYVR5cGU6Ok1FRElBX1RZUEVfVklE
RU87CisgICAgcmV0dXJuIHsgfTsKK30KKworc3RhdGljIGlubGluZSBTdHJpbmcgZnJvbVN0ZFN0
cmluZyhjb25zdCBzdGQ6OnN0cmluZyYgdmFsdWUpCit7CisgICAgcmV0dXJuIFN0cmluZzo6ZnJv
bVVURjgodmFsdWUuZGF0YSgpLCB2YWx1ZS5sZW5ndGgoKSk7Cit9CisKK3N0YXRpYyBpbmxpbmUg
c3RkOjpvcHRpb25hbDx1aW50MTZfdD4gdG9DaGFubmVscyhhYnNsOjpvcHRpb25hbDxpbnQ+IG51
bUNoYW5uZWxzKQoreworICAgIGlmICghbnVtQ2hhbm5lbHMpCisgICAgICAgIHJldHVybiB7IH07
CisgICAgcmV0dXJuIHN0YXRpY19jYXN0PHVpbnQzMl90PigqbnVtQ2hhbm5lbHMpOworfQorCitz
dGF0aWMgaW5saW5lIFJUQ1J0cENhcGFiaWxpdGllcyB0b1JUQ1J0cENhcGFiaWxpdGllcyhjb25z
dCB3ZWJydGM6OlJ0cENhcGFiaWxpdGllcyYgcnRwQ2FwYWJpbGl0aWVzKQoreworICAgIFJUQ1J0
cENhcGFiaWxpdGllcyBjYXBhYmlsaXRpZXM7CisKKyAgICBjYXBhYmlsaXRpZXMuY29kZWNzLnJl
c2VydmVJbml0aWFsQ2FwYWNpdHkocnRwQ2FwYWJpbGl0aWVzLmNvZGVjcy5zaXplKCkpOworICAg
IGZvciAoYXV0byYgY29kZWMgOiBydHBDYXBhYmlsaXRpZXMuY29kZWNzKQorICAgICAgICBjYXBh
YmlsaXRpZXMuY29kZWNzLnVuY2hlY2tlZEFwcGVuZChSVENSdHBDYXBhYmlsaXRpZXM6OkNvZGVj
Q2FwYWJpbGl0eSB7IGZyb21TdGRTdHJpbmcoY29kZWMubWltZV90eXBlKCkpLCBzdGF0aWNfY2Fz
dDx1aW50MzJfdD4oY29kZWMuY2xvY2tfcmF0ZSA/ICpjb2RlYy5jbG9ja19yYXRlIDogMCksIHRv
Q2hhbm5lbHMoY29kZWMubnVtX2NoYW5uZWxzKSwgeyB9IH0pOworCisgICAgY2FwYWJpbGl0aWVz
LmhlYWRlckV4dGVuc2lvbnMucmVzZXJ2ZUluaXRpYWxDYXBhY2l0eShydHBDYXBhYmlsaXRpZXMu
aGVhZGVyX2V4dGVuc2lvbnMuc2l6ZSgpKTsKKyAgICBmb3IgKGF1dG8mIGhlYWRlciA6IHJ0cENh
cGFiaWxpdGllcy5oZWFkZXJfZXh0ZW5zaW9ucykKKyAgICAgICAgY2FwYWJpbGl0aWVzLmhlYWRl
ckV4dGVuc2lvbnMudW5jaGVja2VkQXBwZW5kKFJUQ1J0cENhcGFiaWxpdGllczo6SGVhZGVyRXh0
ZW5zaW9uQ2FwYWJpbGl0eSB7IGZyb21TdGRTdHJpbmcoaGVhZGVyLnVyaSkgfSk7CisKKyAgICBy
ZXR1cm4gY2FwYWJpbGl0aWVzOworfQorCitzdGQ6Om9wdGlvbmFsPFJUQ1J0cENhcGFiaWxpdGll
cz4gTGliV2ViUlRDUHJvdmlkZXI6OnJlY2VpdmVyQ2FwYWJpbGl0aWVzKGNvbnN0IFN0cmluZyYg
a2luZCkKK3sKKyAgICBhdXRvIG1lZGlhVHlwZSA9IHR5cGVGcm9tS2luZChraW5kKTsKKyAgICBp
ZiAoIW1lZGlhVHlwZSkKKyAgICAgICAgcmV0dXJuIHsgfTsKKworICAgIGF1dG8qIGZhY3Rvcnkg
PSB0aGlzLT5mYWN0b3J5KCk7CisgICAgaWYgKCFmYWN0b3J5KQorICAgICAgICByZXR1cm4geyB9
OworCisgICAgcmV0dXJuIHRvUlRDUnRwQ2FwYWJpbGl0aWVzKGZhY3RvcnktPkdldFJ0cFJlY2Vp
dmVyQ2FwYWJpbGl0aWVzKCptZWRpYVR5cGUpKTsKK30KKworc3RkOjpvcHRpb25hbDxSVENSdHBD
YXBhYmlsaXRpZXM+IExpYldlYlJUQ1Byb3ZpZGVyOjpzZW5kZXJDYXBhYmlsaXRpZXMoY29uc3Qg
U3RyaW5nJiBraW5kKQoreworICAgIGF1dG8gbWVkaWFUeXBlID0gdHlwZUZyb21LaW5kKGtpbmQp
OworICAgIGlmICghbWVkaWFUeXBlKQorICAgICAgICByZXR1cm4geyB9OworCisgICAgYXV0byog
ZmFjdG9yeSA9IHRoaXMtPmZhY3RvcnkoKTsKKyAgICBpZiAoIWZhY3RvcnkpCisgICAgICAgIHJl
dHVybiB7IH07CisKKyAgICByZXR1cm4gdG9SVENSdHBDYXBhYmlsaXRpZXMoZmFjdG9yeS0+R2V0
UnRwU2VuZGVyQ2FwYWJpbGl0aWVzKCptZWRpYVR5cGUpKTsKK30KKwogI2VuZGlmIC8vIFVTRShM
SUJXRUJSVEMpCiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL21lZGlhc3RyZWFtL2xpYndlYnJ0Yy9MaWJXZWJSVENQcm92aWRlci5o
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJU
Q1Byb3ZpZGVyLmgKaW5kZXggNWQxMmU3YjhmNmM3ZTY5OGU5NTZjOWU0MmYyODhlMzk3ZjUwMzY4
Mi4uYzI0OTQyNzVkZjI4NWZmZDQ3MzVlNzQ4OTc0ZWI5Y2ZjYjc5NjBjYyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbGlid2VicnRjL0xpYldlYlJUQ1By
b3ZpZGVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWVkaWFzdHJlYW0vbGlid2Vi
cnRjL0xpYldlYlJUQ1Byb3ZpZGVyLmgKQEAgLTU5LDYgKzU5LDcgQEAgY2xhc3MgUGVlckNvbm5l
Y3Rpb25GYWN0b3J5SW50ZXJmYWNlOwogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBMaWJX
ZWJSVENBdWRpb01vZHVsZTsKK3N0cnVjdCBSVENSdHBDYXBhYmlsaXRpZXM7CiAKIGVudW0gY2xh
c3MgTUROU1JlZ2lzdGVyRXJyb3IgeyBOb3RJbXBsZW1lbnRlZCwgQmFkUGFyYW1ldGVyLCBETlNT
RCwgSW50ZXJuYWwsIFRpbWVvdXQgfTsKIApAQCAtMTA5LDYgKzExMCw5IEBAIHB1YmxpYzoKIAog
ICAgIHJ0Yzo6UlRDQ2VydGlmaWNhdGVHZW5lcmF0b3ImIGNlcnRpZmljYXRlR2VuZXJhdG9yKCk7
CiAKKyAgICBzdGQ6Om9wdGlvbmFsPFJUQ1J0cENhcGFiaWxpdGllcz4gcmVjZWl2ZXJDYXBhYmls
aXRpZXMoY29uc3QgU3RyaW5nJiBraW5kKTsKKyAgICBzdGQ6Om9wdGlvbmFsPFJUQ1J0cENhcGFi
aWxpdGllcz4gc2VuZGVyQ2FwYWJpbGl0aWVzKGNvbnN0IFN0cmluZyYga2luZCk7CisKIHByb3Rl
Y3RlZDoKICAgICBMaWJXZWJSVENQcm92aWRlcigpID0gZGVmYXVsdDsKIApkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy9DaGFuZ2VMb2cKaW5kZXggMjA4N2Y5YTIwZWQ5MzljYzYxZjkzYTU5YWYwOTk0ZTlmMTcy
ZGI3Yy4uYTU4ZDljZmI5MzVmZDdhMjBjY2M0NGVlYTlhNThjMDQ2NmU3MGE4ZSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTgtMTEtMDYgIFlvdWVu
biBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgorCisgICAgICAgIEFkZCBzdXBwb3J0IGZvciBz
ZW5kZXIvcmVjZWl2ZXIgZ2V0Q2FwYWJpbGl0aWVzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xOTExOTIKKworICAgICAgICBSZXZpZXdlZCBieSBFcmlj
IENhcmxzb24uCisKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvd2VicnRjL1JUQ1J0cENh
cGFiaWxpdGllcy1oZWxwZXIuanM6CisgICAgICAgIChzdHJpbmdfYXBwZWFyZWRfaGVyZS52YWxp
ZGF0ZVJ0cENhcGFiaWxpdGllcyk6IENoYW5nZSBhbHJlYWR5IG1hZGUgdXBzdHJlYW0uCisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL3dlYnJ0Yy9SVENSdHBSZWNlaXZlci1nZXRDYXBhYmls
aXRpZXMtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy93ZWJydGMv
UlRDUnRwU2VuZGVyLWdldENhcGFiaWxpdGllcy1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2Vi
LXBsYXRmb3JtLXRlc3RzL3dlYnJ0Yy9SVENSdHBUcmFuc2NlaXZlci1zZXRDb2RlY1ByZWZlcmVu
Y2VzLWV4cGVjdGVkLnR4dDoKKwogMjAxOC0xMS0wNiAgQW50b2luZSBRdWludCAgPGdyYW91dHNA
YXBwbGUuY29tPgogCiAgICAgICAgIFtXZWIgQW5pbWF0aW9uc10gVXBkYXRlIGFsbCB0ZXN0cyB0
byBtYXRjaCB0aGUgbGF0ZXN0IEFQSSBjaGFuZ2VzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYnJ0Yy9SVENSdHBSZWNlaXZlci1nZXRD
YXBhYmlsaXRpZXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy93ZWJydGMvUlRDUnRwUmVjZWl2ZXItZ2V0Q2FwYWJpbGl0aWVzLWV4cGVj
dGVkLnR4dAppbmRleCBhYjkzMTdhODVkZjVlZTEyZWNlY2NjMmJjNTJiOWNmZDkyNGNkYjgyLi45
MzMyMWMzZDQ4YmFmMjZlNmJhNWMyNjljNDk5NTcwZjFlYzgyNWQ2IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3dlYnJ0Yy9SVENSdHBSZWNl
aXZlci1nZXRDYXBhYmlsaXRpZXMtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2VicnRjL1JUQ1J0cFJlY2VpdmVyLWdldENhcGFi
aWxpdGllcy1leHBlY3RlZC50eHQKQEAgLTEsNSArMSw1IEBACiAKLUZBSUwgUlRDUnRwU2VuZGVy
LmdldENhcGFiaWxpdGllcygnYXVkaW8nKSBzaG91bGQgcmV0dXJuIFJUQ1J0cENhcGFiaWxpdGll
cyBkaWN0aW9uYXJ5IFJUQ1J0cFJlY2VpdmVyLmdldENhcGFiaWxpdGllcyBpcyBub3QgYSBmdW5j
dGlvbi4gKEluICdSVENSdHBSZWNlaXZlci5nZXRDYXBhYmlsaXRpZXMoJ2F1ZGlvJyknLCAnUlRD
UnRwUmVjZWl2ZXIuZ2V0Q2FwYWJpbGl0aWVzJyBpcyB1bmRlZmluZWQpCi1GQUlMIFJUQ1J0cFNl
bmRlci5nZXRDYXBhYmlsaXRpZXMoJ3ZpZGVvJykgc2hvdWxkIHJldHVybiBSVENSdHBDYXBhYmls
aXRpZXMgZGljdGlvbmFyeSBSVENSdHBSZWNlaXZlci5nZXRDYXBhYmlsaXRpZXMgaXMgbm90IGEg
ZnVuY3Rpb24uIChJbiAnUlRDUnRwUmVjZWl2ZXIuZ2V0Q2FwYWJpbGl0aWVzKCd2aWRlbycpJywg
J1JUQ1J0cFJlY2VpdmVyLmdldENhcGFiaWxpdGllcycgaXMgdW5kZWZpbmVkKQotRkFJTCBSVENS
dHBTZW5kZXIuZ2V0Q2FwYWJpbGl0aWVzKCdkdW1teScpIHNob3VsZCByZXR1cm4gbnVsbCBSVENS
dHBSZWNlaXZlci5nZXRDYXBhYmlsaXRpZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnUlRDUnRw
UmVjZWl2ZXIuZ2V0Q2FwYWJpbGl0aWVzKCdkdW1teScpJywgJ1JUQ1J0cFJlY2VpdmVyLmdldENh
cGFiaWxpdGllcycgaXMgdW5kZWZpbmVkKQorUEFTUyBSVENSdHBTZW5kZXIuZ2V0Q2FwYWJpbGl0
aWVzKCdhdWRpbycpIHNob3VsZCByZXR1cm4gUlRDUnRwQ2FwYWJpbGl0aWVzIGRpY3Rpb25hcnkg
CitQQVNTIFJUQ1J0cFNlbmRlci5nZXRDYXBhYmlsaXRpZXMoJ3ZpZGVvJykgc2hvdWxkIHJldHVy
biBSVENSdHBDYXBhYmlsaXRpZXMgZGljdGlvbmFyeSAKK1BBU1MgUlRDUnRwU2VuZGVyLmdldENh
cGFiaWxpdGllcygnZHVtbXknKSBzaG91bGQgcmV0dXJuIG51bGwgCiAKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2VicnRjL1JUQ1J0cFNl
bmRlci1nZXRDYXBhYmlsaXRpZXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJydGMvUlRDUnRwU2VuZGVyLWdldENhcGFiaWxpdGll
cy1leHBlY3RlZC50eHQKaW5kZXggNDYxZTAyODcxZTJmMmEwNGQ5NDczZWM2YjJkZDI0MTg3OTBi
Y2E0My4uOTMzMjFjM2Q0OGJhZjI2ZTZiYTVjMjY5YzQ5OTU3MGYxZWM4MjVkNiAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJydGMvUlRD
UnRwU2VuZGVyLWdldENhcGFiaWxpdGllcy1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMv
aW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJydGMvUlRDUnRwU2VuZGVyLWdldENh
cGFiaWxpdGllcy1leHBlY3RlZC50eHQKQEAgLTEsNSArMSw1IEBACiAKLUZBSUwgUlRDUnRwU2Vu
ZGVyLmdldENhcGFiaWxpdGllcygnYXVkaW8nKSBzaG91bGQgcmV0dXJuIFJUQ1J0cENhcGFiaWxp
dGllcyBkaWN0aW9uYXJ5IFJUQ1J0cFNlbmRlci5nZXRDYXBhYmlsaXRpZXMgaXMgbm90IGEgZnVu
Y3Rpb24uIChJbiAnUlRDUnRwU2VuZGVyLmdldENhcGFiaWxpdGllcygnYXVkaW8nKScsICdSVENS
dHBTZW5kZXIuZ2V0Q2FwYWJpbGl0aWVzJyBpcyB1bmRlZmluZWQpCi1GQUlMIFJUQ1J0cFNlbmRl
ci5nZXRDYXBhYmlsaXRpZXMoJ3ZpZGVvJykgc2hvdWxkIHJldHVybiBSVENSdHBDYXBhYmlsaXRp
ZXMgZGljdGlvbmFyeSBSVENSdHBTZW5kZXIuZ2V0Q2FwYWJpbGl0aWVzIGlzIG5vdCBhIGZ1bmN0
aW9uLiAoSW4gJ1JUQ1J0cFNlbmRlci5nZXRDYXBhYmlsaXRpZXMoJ3ZpZGVvJyknLCAnUlRDUnRw
U2VuZGVyLmdldENhcGFiaWxpdGllcycgaXMgdW5kZWZpbmVkKQotRkFJTCBSVENSdHBTZW5kZXIu
Z2V0Q2FwYWJpbGl0aWVzKCdkdW1teScpIHNob3VsZCByZXR1cm4gbnVsbCBSVENSdHBTZW5kZXIu
Z2V0Q2FwYWJpbGl0aWVzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ1JUQ1J0cFNlbmRlci5nZXRD
YXBhYmlsaXRpZXMoJ2R1bW15JyknLCAnUlRDUnRwU2VuZGVyLmdldENhcGFiaWxpdGllcycgaXMg
dW5kZWZpbmVkKQorUEFTUyBSVENSdHBTZW5kZXIuZ2V0Q2FwYWJpbGl0aWVzKCdhdWRpbycpIHNo
b3VsZCByZXR1cm4gUlRDUnRwQ2FwYWJpbGl0aWVzIGRpY3Rpb25hcnkgCitQQVNTIFJUQ1J0cFNl
bmRlci5nZXRDYXBhYmlsaXRpZXMoJ3ZpZGVvJykgc2hvdWxkIHJldHVybiBSVENSdHBDYXBhYmls
aXRpZXMgZGljdGlvbmFyeSAKK1BBU1MgUlRDUnRwU2VuZGVyLmdldENhcGFiaWxpdGllcygnZHVt
bXknKSBzaG91bGQgcmV0dXJuIG51bGwgCiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvd2VicnRjL1JUQ1J0cFRyYW5zY2VpdmVyLXNldENv
ZGVjUHJlZmVyZW5jZXMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy93ZWJydGMvUlRDUnRwVHJhbnNjZWl2ZXItc2V0Q29kZWNQcmVmZXJl
bmNlcy1leHBlY3RlZC50eHQKaW5kZXggZDI1OWI0MjZjZGZmYjE4NjgyYTU3YWEzN2NhYWIxYjA2
ZWNjNDFkYy4uYzA0OGVjOGQ3NjE4NGZiM2ZmN2FmNDE0MTAxNGRiNzgwNjNiNTUxYyAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJydGMv
UlRDUnRwVHJhbnNjZWl2ZXItc2V0Q29kZWNQcmVmZXJlbmNlcy1leHBlY3RlZC50eHQKKysrIGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy93ZWJydGMvUlRDUnRw
VHJhbnNjZWl2ZXItc2V0Q29kZWNQcmVmZXJlbmNlcy1leHBlY3RlZC50eHQKQEAgLTEsMTEgKzEs
MTEgQEAKIAotRkFJTCBzZXRDb2RlY1ByZWZlcmVuY2VzKCkgb24gYXVkaW8gdHJhbnNjZWl2ZXIg
d2l0aCBjb2RlY3MgcmV0dXJuZWQgZnJvbSBSVENSdHBTZW5kZXIuZ2V0Q2FwYWJpbGl0aWVzKCdh
dWRpbycpIHNob3VsZCBzdWNjZWVkIFJUQ1J0cFNlbmRlci5nZXRDYXBhYmlsaXRpZXMgaXMgbm90
IGEgZnVuY3Rpb24uIChJbiAnUlRDUnRwU2VuZGVyLmdldENhcGFiaWxpdGllcygnYXVkaW8nKScs
ICdSVENSdHBTZW5kZXIuZ2V0Q2FwYWJpbGl0aWVzJyBpcyB1bmRlZmluZWQpCi1GQUlMIHNldENv
ZGVjUHJlZmVyZW5jZXMoKSBvbiB2aWRlbyB0cmFuc2NlaXZlciB3aXRoIGNvZGVjcyByZXR1cm5l
ZCBmcm9tIFJUQ1J0cFJlY2VpdmVyLmdldENhcGFiaWxpdGllcygndmlkZW8nKSBzaG91bGQgc3Vj
Y2VlZCBSVENSdHBSZWNlaXZlci5nZXRDYXBhYmlsaXRpZXMgaXMgbm90IGEgZnVuY3Rpb24uIChJ
biAnUlRDUnRwUmVjZWl2ZXIuZ2V0Q2FwYWJpbGl0aWVzKCd2aWRlbycpJywgJ1JUQ1J0cFJlY2Vp
dmVyLmdldENhcGFiaWxpdGllcycgaXMgdW5kZWZpbmVkKQotRkFJTCBzZXRDb2RlY1ByZWZlcmVu
Y2VzKCkgd2l0aCBib3RoIHNlbmRlciByZWNlaXZlciBjb2RlY3MgY29tYmluZWQgc2hvdWxkIHN1
Y2NlZWQgUlRDUnRwU2VuZGVyLmdldENhcGFiaWxpdGllcyBpcyBub3QgYSBmdW5jdGlvbi4gKElu
ICdSVENSdHBTZW5kZXIuZ2V0Q2FwYWJpbGl0aWVzKCdhdWRpbycpJywgJ1JUQ1J0cFNlbmRlci5n
ZXRDYXBhYmlsaXRpZXMnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgc2V0Q29kZWNQcmVmZXJlbmNlcygp
IG9uIGF1ZGlvIHRyYW5zY2VpdmVyIHdpdGggY29kZWNzIHJldHVybmVkIGZyb20gUlRDUnRwU2Vu
ZGVyLmdldENhcGFiaWxpdGllcygnYXVkaW8nKSBzaG91bGQgc3VjY2VlZCB0cmFuc2NlaXZlci5z
ZXRDb2RlY1ByZWZlcmVuY2VzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ3RyYW5zY2VpdmVyLnNl
dENvZGVjUHJlZmVyZW5jZXMoY2FwYWJpbGl0aWVzLmNvZGVjcyknLCAndHJhbnNjZWl2ZXIuc2V0
Q29kZWNQcmVmZXJlbmNlcycgaXMgdW5kZWZpbmVkKQorRkFJTCBzZXRDb2RlY1ByZWZlcmVuY2Vz
KCkgb24gdmlkZW8gdHJhbnNjZWl2ZXIgd2l0aCBjb2RlY3MgcmV0dXJuZWQgZnJvbSBSVENSdHBS
ZWNlaXZlci5nZXRDYXBhYmlsaXRpZXMoJ3ZpZGVvJykgc2hvdWxkIHN1Y2NlZWQgdHJhbnNjZWl2
ZXIuc2V0Q29kZWNQcmVmZXJlbmNlcyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICd0cmFuc2NlaXZl
ci5zZXRDb2RlY1ByZWZlcmVuY2VzKGNhcGFiaWxpdGllcy5jb2RlY3MpJywgJ3RyYW5zY2VpdmVy
LnNldENvZGVjUHJlZmVyZW5jZXMnIGlzIHVuZGVmaW5lZCkKK0ZBSUwgc2V0Q29kZWNQcmVmZXJl
bmNlcygpIHdpdGggYm90aCBzZW5kZXIgcmVjZWl2ZXIgY29kZWNzIGNvbWJpbmVkIHNob3VsZCBz
dWNjZWVkIHRyYW5zY2VpdmVyLnNldENvZGVjUHJlZmVyZW5jZXMgaXMgbm90IGEgZnVuY3Rpb24u
IChJbiAndHJhbnNjZWl2ZXIuc2V0Q29kZWNQcmVmZXJlbmNlcyhbLi4uY2FwYWJpbGl0aWVzMS5j
b2RlY3MsIC4uLiBjYXBhYmlsaXRpZXMyLmNvZGVjc10pJywgJ3RyYW5zY2VpdmVyLnNldENvZGVj
UHJlZmVyZW5jZXMnIGlzIHVuZGVmaW5lZCkKIEZBSUwgc2V0Q29kZWNQcmVmZXJlbmNlcyhbXSkg
c2hvdWxkIHN1Y2NlZWQgdHJhbnNjZWl2ZXIuc2V0Q29kZWNQcmVmZXJlbmNlcyBpcyBub3QgYSBm
dW5jdGlvbi4gKEluICd0cmFuc2NlaXZlci5zZXRDb2RlY1ByZWZlcmVuY2VzKFtdKScsICd0cmFu
c2NlaXZlci5zZXRDb2RlY1ByZWZlcmVuY2VzJyBpcyB1bmRlZmluZWQpCi1GQUlMIHNldENvZGVj
UHJlZmVyZW5jZXMoKSB3aXRoIHJlb3JkZXJlZCBjb2RlY3Mgc2hvdWxkIHN1Y2NlZWQgUlRDUnRw
U2VuZGVyLmdldENhcGFiaWxpdGllcyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdSVENSdHBTZW5k
ZXIuZ2V0Q2FwYWJpbGl0aWVzKCdhdWRpbycpJywgJ1JUQ1J0cFNlbmRlci5nZXRDYXBhYmlsaXRp
ZXMnIGlzIHVuZGVmaW5lZCkKLUZBSUwgc2V0Q29kZWNQcmVmZXJlbmNlcygpIG9uIGF1ZGlvIHRy
YW5zY2VpdmVyIHdpdGggY29kZWNzIHJldHVybmVkIGZyb20gZ2V0Q2FwYWJpbGl0aWVzKCd2aWRl
bycpIHNob3VsZCB0aHJvdyBJbnZhbGlkQWNjZXNzRXJyb3IgUlRDUnRwU2VuZGVyLmdldENhcGFi
aWxpdGllcyBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdSVENSdHBTZW5kZXIuZ2V0Q2FwYWJpbGl0
aWVzKCd2aWRlbycpJywgJ1JUQ1J0cFNlbmRlci5nZXRDYXBhYmlsaXRpZXMnIGlzIHVuZGVmaW5l
ZCkKK0ZBSUwgc2V0Q29kZWNQcmVmZXJlbmNlcygpIHdpdGggcmVvcmRlcmVkIGNvZGVjcyBzaG91
bGQgc3VjY2VlZCB0cmFuc2NlaXZlci5zZXRDb2RlY1ByZWZlcmVuY2VzIGlzIG5vdCBhIGZ1bmN0
aW9uLiAoSW4gJ3RyYW5zY2VpdmVyLnNldENvZGVjUHJlZmVyZW5jZXMoY29kZWNzKScsICd0cmFu
c2NlaXZlci5zZXRDb2RlY1ByZWZlcmVuY2VzJyBpcyB1bmRlZmluZWQpCitGQUlMIHNldENvZGVj
UHJlZmVyZW5jZXMoKSBvbiBhdWRpbyB0cmFuc2NlaXZlciB3aXRoIGNvZGVjcyByZXR1cm5lZCBm
cm9tIGdldENhcGFiaWxpdGllcygndmlkZW8nKSBzaG91bGQgdGhyb3cgSW52YWxpZEFjY2Vzc0Vy
cm9yIFRlc3QgYnVnOiB1bnJlY29nbml6ZWQgRE9NRXhjZXB0aW9uIGNvZGUgIigpID0+IHRyYW5z
Y2VpdmVyLnNldENvZGVjUHJlZmVyZW5jZXMoY2FwYWJpbGl0aWVzLmNvZGVjcykiIHBhc3NlZCB0
byBhc3NlcnRfdGhyb3dzKCkKIEZBSUwgc2V0Q29kZWNQcmVmZXJlbmNlcygpIHdpdGggdXNlciBk
ZWZpbmVkIGNvZGVjIHNob3VsZCB0aHJvdyBJbnZhbGlkQWNjZXNzRXJyb3IgVGVzdCBidWc6IHVu
cmVjb2duaXplZCBET01FeGNlcHRpb24gY29kZSAiKCkgPT4gdHJhbnNjZWl2ZXIuc2V0Q29kZWNQ
cmVmZXJlbmNlcyhjb2RlY3MpIiBwYXNzZWQgdG8gYXNzZXJ0X3Rocm93cygpCi1GQUlMIHNldENv
ZGVjUHJlZmVyZW5jZXMoKSB3aXRoIHVzZXIgZGVmaW5lZCBjb2RlYyB0b2dldGhlciB3aXRoIGNv
ZGVjcyByZXR1cm5lZCBmcm9tIGdldENhcGFiaWxpdGllcygpIHNob3VsZCB0aHJvdyBJbnZhbGlk
QWNjZXNzRXJyb3IgUlRDUnRwU2VuZGVyLmdldENhcGFiaWxpdGllcyBpcyBub3QgYSBmdW5jdGlv
bi4gKEluICdSVENSdHBTZW5kZXIuZ2V0Q2FwYWJpbGl0aWVzKCdhdWRpbycpJywgJ1JUQ1J0cFNl
bmRlci5nZXRDYXBhYmlsaXRpZXMnIGlzIHVuZGVmaW5lZCkKLUZBSUwgc2V0Q29kZWNQcmVmZXJl
bmNlcygpIHdpdGggbW9kaWZpZWQgY29kZWNzIHJldHVybmVkIGZyb20gZ2V0Q2FwYWJpbGl0aWVz
KCkgc2hvdWxkIHRocm93IEludmFsaWRBY2Nlc3NFcnJvciBSVENSdHBTZW5kZXIuZ2V0Q2FwYWJp
bGl0aWVzIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ1JUQ1J0cFNlbmRlci5nZXRDYXBhYmlsaXRp
ZXMoJ2F1ZGlvJyknLCAnUlRDUnRwU2VuZGVyLmdldENhcGFiaWxpdGllcycgaXMgdW5kZWZpbmVk
KQorRkFJTCBzZXRDb2RlY1ByZWZlcmVuY2VzKCkgd2l0aCB1c2VyIGRlZmluZWQgY29kZWMgdG9n
ZXRoZXIgd2l0aCBjb2RlY3MgcmV0dXJuZWQgZnJvbSBnZXRDYXBhYmlsaXRpZXMoKSBzaG91bGQg
dGhyb3cgSW52YWxpZEFjY2Vzc0Vycm9yIFRlc3QgYnVnOiB1bnJlY29nbml6ZWQgRE9NRXhjZXB0
aW9uIGNvZGUgIigpID0+IHRyYW5zY2VpdmVyLnNldENvZGVjUHJlZmVyZW5jZXMoY29kZWNzKSIg
cGFzc2VkIHRvIGFzc2VydF90aHJvd3MoKQorRkFJTCBzZXRDb2RlY1ByZWZlcmVuY2VzKCkgd2l0
aCBtb2RpZmllZCBjb2RlY3MgcmV0dXJuZWQgZnJvbSBnZXRDYXBhYmlsaXRpZXMoKSBzaG91bGQg
dGhyb3cgSW52YWxpZEFjY2Vzc0Vycm9yIFRlc3QgYnVnOiB1bnJlY29nbml6ZWQgRE9NRXhjZXB0
aW9uIGNvZGUgIigpID0+IHRyYW5zY2VpdmVyLnNldENvZGVjUHJlZmVyZW5jZXMoY29kZWNzKSIg
cGFzc2VkIHRvIGFzc2VydF90aHJvd3MoKQogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>